紀 娟, 秦 珂, 楊若瑜
(南京大學軟件新技術國家重點實驗室,江蘇 南京 210046)
基于HOG和幾何特征的服裝細節要素識別與分類
紀娟, 秦珂, 楊若瑜
(南京大學軟件新技術國家重點實驗室,江蘇 南京 210046)
隨著人們對服裝產品多元化需求的增強,無論是對于經營者還是消費者,服裝分類都顯得十分必要。現有方法大都基于服裝整體做出處理,而忽略了服裝細節要素的特征。提出針對服裝細節,如衣領類型、袖子和下裝長度等進行識別分類方法。在輪廓提取的基礎上,針對衣領位置不確定、領口形狀受周邊花紋干擾等難點,設計了在多尺度 HOG結果上進行投票的方法,并結合基于角點檢測的幾何特征提取如關鍵尺寸比例計算等,用 SVM完成訓練分類。最后利用多個特征搭配系數矩陣給出服裝搭配建議。實驗表明,該方法能夠有效地完成上述服裝細節要素分類,對自動搭配推薦也有一定實用價值。
服裝細節要素;輪廓提取;HOG特征;幾何特征;服裝搭配
隨著社會文化的不斷進步,人們對服裝產品多元化需求越來越高,使得服裝設計及加工的各種技術不斷改進,品種也隨之越來越多,無論是對服裝經營者還是對購買服裝商品的消費者來說,對服裝進行分類都十分必要。此外,網絡購物逐步興起,滿足了人們對簡單便捷、物美價廉等購物的需求,使各大購物網站、交互式電視購物也得到飛速發展,并潛移默化地改變著人們的生活方式與消費模式。在眾多網購商品中,服裝占了很大比例,并處于逐年穩步增長的態勢,使得網絡上有關服裝的各種信息急增,進而又給消費者帶來了更多地選擇與糾結;給經營者如何更好地展示、銷售服裝帶來了挑戰;也同時帶動了服裝展示、服裝檢索、自動搭配推薦功能的發展。
服裝展示的目的是將不同服裝的復雜、多樣性特點展示出來,供消費者選擇自己喜愛的款式,這是經營者銷售服裝的必要手段之一。服裝檢索可以幫助消費者快速地尋找到自己心儀的服裝,但是由于衣服種類繁多、特點各異,僅僅通過關鍵字檢索得到的結果并不盡人意。而現有的很多軟件,諸如淘淘搜、衣+等網站和各類手機 APP,大都基于服裝整體做出處理,對服裝的細節特征并未做詳細分類。面對復雜多變的各類服裝,僅僅依靠“大體印象”進行分類是不完備的。在理論研究方面,圍繞服裝檢測識別、檢索和搭配技術等方面的研究有了一些成果,如 Smeulders等[1]利用顏色、紋理、形狀特征對基于內容的圖像檢索做出了總結性的研究 ;Cheng和Liu[2]使用邊緣檢測技術提取形狀特征,同時結合顏色特征表示服裝款式信息并進行分類,實現圖像檢索功能。近年來,出現了很多解析人物著裝研究,其使用不同的顏色分割標記出人物穿著的不同區域,為提取穿著在人物身上的服裝信息掃除了障礙[3-4];此外,也有研究使用人臉識別、GrabCut分割算法、Freeman璉碼、PCA主成分分析等不同的方法,提取顏色、紋理、形狀以及空間位置等特征從而完成對服裝圖片的檢索、搭配等[5-6]。可見,上述相關研究主要集中在服裝的顏色、紋理、形狀等整體屬性的提取上,卻很少關注服裝細節。
因此,本文主要針對衣領、袖子等服裝的細節要素特征進行研究。通過邊緣檢測、輪廓提取與篩選得到最外層輪廓圖,并在此基礎上完成HOG特征提取、幾何特征提取如關鍵尺寸比例計算等,提供給SVM進行分類。這有助于服裝款式的分類更為具體多樣,更加符合人類的視覺效果,便于經營者全面具體地展示服裝特征以便吸引消費者,消費者在購物時更有針對性地選擇自己鐘愛的款式,同時,也能適用于更加符合人們喜好的服裝自動搭配等應用。
輪廓檢測與提取是整個研究的基礎,準確獲取輪廓信息將有助于后續工作的展開。由于處理的服裝樣式繁多,出現了衣領大小、款式不同導致衣領位置的不確定,另衣領還受到周邊花紋圖案干擾難以獲取準確的形狀特征,且其各種類間外形相似難以分辨,以及褲腿存在重疊現象等難點,針對這些情況本文提出了相適應的處理方法。
圖1為整個系統流程。經過預處理、邊緣檢測后直接進行輪廓提取得到的輪廓信息十分冗余,為減少無用輪廓的提取次數,需在邊緣檢測后先進行閉運算深度處理,再從獲取的輪廓序列中選出最大的輪廓作為最外層輪廓,并得到此圖;在彩色原圖與最外層輪廓圖的不同尺度范圍內分別提取對局部目標表象與形狀有較好描述能力的HOG特征,使用SVM對衣領種類、下裝種類、有袖無袖進行分類;對分類得到的褲子、裙子、有袖上衣長度,利用各自相應區域內的角點檢測、排序、篩選等方法得到關鍵尺寸比例的幾何特征做出對應的分類。最后,根據分類得到的細節特征,并結合色彩特征,輔以可靈活修改的其他自定義特征,通過特征匹配系數矩陣的計算,給出一系列簡單的上下裝搭配建議。

圖1 工作流程圖
2.1服裝圖片的準備工作
網絡上的服裝圖片千差萬別,本研究只選取純服裝圖片,不考慮穿在身上的情況,且限定為服裝平整、正放、幾乎沒有重疊部分,輪廓清晰、背景較為單一的圖片,以便能排除背景因素的干擾、確定分類區域位置。
由于之前未見類似的研究,網絡上也沒有可供直接使用的圖片集,因此只能人工從各大網站上挑選,加之種種要求限定,最終搜集到的圖片集并不是很多,本文以此為研究對象。
2.2服裝圖像最外層輪廓的提取
服裝輪廓是服裝款式風格的第一視覺要素,也是提取色彩、紋理等特征的主要參考區域。因此準確提取服裝最外層輪廓是最基礎也是關鍵的一步。本文輪廓提取的處理過程如下:
(1) 為了便于對圖片進行更為準確的邊緣檢測與輪廓提取,需對圖片進行平滑濾波預處理,去除噪聲的干擾,保護需要處理的邊緣信息。
(2) 預處理后進行邊緣檢測。在進行了多次實驗分析比較后發現,canny邊緣檢測能夠有效地抑制噪聲干擾并且準確定位邊緣,因此最終選用canny算法進行邊緣檢測。
(3) 獲得邊緣檢測圖后進行輪廓檢測。由于服裝表面圖案、花紋等各種因素干擾,得到的輪廓包含許多無用信息,效果不佳。廉寧和徐艷蕾[7]在定位車牌時采用了改進的數學形態學邊緣檢測方法,獲取了不錯的車牌邊緣信息。本文同樣融合 canny邊緣檢測和形態學方法提取服裝輪廓信息,在邊緣檢測后先使用形態學運算彌合小裂痕,消除內部細小的邊緣,然后使用輪廓檢測算法獲得外層輪廓。雖然處理過的輪廓也仍然存在不少內部區域的輪廓,但經處理后更連續完整。實驗證明,選擇最長的一條輪廓作為最外層輪廓是最佳的方法。圖2展示了獲得的服裝最外層輪廓。
2.3服裝細節特征分類
2.3.1衣領分類
衣領主要分為無領、立領、翻駁領 3類(如圖3)。其最直觀的分類依據是衣領的形狀。周廣君[8]利用領高、領深等量化特征對衣領類型進行分類,該方法適用于由簡單的線條組成的服裝款式圖,而對于處理一般圖片得到的數據不精確。本文處理的圖片樣式繁多、衣領外形相似,直接準確地檢測出衣領形狀特征并獲取領高、領深等幾何數值是十分困難的。圖4中每張圖片的右上方小圖是提取的衣領輪廓,容易看出輪廓中包含了很多除衣領形狀以外的輪廓信息,這些無用的信息聚集在衣領形狀輪廓周邊,要想將其剔除必須明確知道哪些是衣領形狀輪廓,哪些是干擾輪廓信息,而不能簡單地剔除一整塊區域的輪廓信息。

圖2 最外層輪廓的獲取

圖3 不同種類的衣領
HOG梯度方向直方圖特征可以很好地描述局部目標的表象和形狀,通過計算和統計圖片中局部區域各像素點的梯度方向直方圖來構成特征。所以本文嘗試結合HOG特征和SVM對衣領進行分類,并針對上述的衣領位置難確定、形狀難準確提取兩大難題,分別進行了不同的實驗。實驗發現,衣領位置很難一次性準確確定,但多次框定衣領的位置對準確定位衣領區域有很大幫助,因此在獲取服裝最外層輪廓后可得到其外接矩形,選擇外接矩形長寬,一般而言選1/3寬度(矩形水平長度)、0.2高度(矩形豎直長度),1/2寬度、0.2高度等類似的不同尺度來框定衣領位置,如圖5(a)。圖中不同顏色框出的矩形區域就是嘗試確定衣領的準確位置,框定不同衣領范圍后的分類結果各有差別,同一張圖片的分類結果會因框出衣領位置的不同而有所不同,若是將這些分類結果結合并進行投票,選擇次數出現最多的結果作為最終結果,可使分類準確率大大提高。

圖4 衣領形狀特征提取

圖5 圖片中衣領位置的確定
此外,對于衣領形狀難準確提取的情況,本文嘗試提取3 780維、1 764維、756維3種不同維數的HOG特征,最終的分類結果如表1。

表1 不同維數的HOG特征分類準確率比較(%)
從表1可見,1 764維特征分類結果較好,另外兩種稍差。相比較而言3 780維提取的特征太細,衣領周邊包含很多無用信息;而756維提取的特征又過于籠統,獲取的形狀信息少、不具有代表性。
因此,本文最終選用多尺度的衣領 1 764維HOG特征進行分類,其中多尺度的具體數值詳見圖5(b)。
2.3.2袖子長度分類
袖子可分為無袖、有袖兩大類,而有袖又可分為長袖、短袖。由于服裝圖片無法保證拍攝角度、距離都相同,所以單純的根據袖長的長度分類是不可行的,因此本文選擇根據袖長與肩寬的比例來分類;而無袖、有袖在肩部顯示出的形狀是不同的,使用 HOG特征在框定的肩部區域內進行特征提取,可以達到很好的效果。
獲取袖長、肩寬數據時,肩部點、袖口點的準確定位是至關重要的。Xue和Chen[9]在研究服裝款式識別時,使用了Human Annotation Tool獲取人體肩部、手腕、腳踝等重要位置,并確定需重點研究的服裝區域。然而本文不涉及到人體,所以選用角點檢測方法檢測出圖像左半邊區域內梯度值和梯度方向的變化速率都很高的點,并從中篩選出離外接矩形左邊界最近的點作為外層袖口點。
以左肩部點的獲取為例:
步驟1. 選取外接矩形左上方0.4倍水平長度、0.3倍豎直長度區域(如圖 6(b)紅色框框出的區域)進行角點檢測,得到數組A,記錄每個角點的橫坐標x、縱坐標y;
步驟2. 將數組A按照y遞增的順序排列放入新的角點數組B中;
步驟3. 檢測B中所有元素的x是否滿足從大到小的順序,若滿足則轉入步驟4,若不滿足則再調整數組。如圖7中紅圈框出的兩個角點,在按照y從小到大排列后,這兩個點的x不滿足從大到小,即該點x比前后角點的x都大,并將該角點刪除。處理后得到按照最外層輪廓走向排列的角點數組(如圖6(b)紅色框中的角點序列,橫坐標從大到小、縱坐標從小到大);
步驟 4. 分別計算連續兩點之間的斜率,找出相鄰斜率間增加最大的兩條線段,并取其公共點作為左肩部點,如圖6(b)中斜率增加最大的連續兩條線段用粉紅色標出,兩線交點便為左肩部點。
需要注意的是,此時得到的肩部點的坐標是以框出的肩部區域(圖 6(b)中的紅色方框)的坐標系為準,要得到在原圖中的坐標,還需要轉換坐標系,將橫縱坐標分別加上外接矩形左頂點的橫縱坐標的數值,這才是最終的肩部點坐標。
在得到肩部點、袖口點(如圖 6(c))后再近似計算袖長、肩寬距離求出比例大小,最后通過 SVM訓練分類得到結果,如圖7所示。

圖6 獲取左肩部點示意圖

圖7 需要再次調整的角點序列
2.3.3下裝種類及其長度分類
下裝主要分為褲子和裙子兩類,其主要差別在于一種有襠部、有褲縫,另一種沒有襠部信息,雖然可能會有褶皺,但也是完整的一體。這在圖片中主要體現在部分紋理的不同。這里也采用了與衣領種類分類相同的方式,在確定最外層輪廓后得到外接矩形,選取矩形下半部分的不同尺度區域并分別提取1 764維、756維HOG特征(圖8),提供給SVM進行分類,取出現次數最多的結果為最終分類結果。
褲子可分為長、中、短褲,裙子可分為長裙、短裙,其分類方法與袖子長度分類類似。在無法歸一化處理圖片進而直接根據褲長分類時,由于褲腿存在部分重疊較難準確獲取襠部信息,只能間接通過褲長、褲腰寬的長度比例進行分類,獲取褲腰左邊點的過程描述如下:選取最外層輪廓圖左上方0.3水平長度、0.2豎直長度區域,在此區域上采用角點檢測得到角點數組,計算數組中各點與外接矩形左上頂點構成矩形的面積,篩選出構成矩形的最小面積的點作為褲腰左邊點。褲腰右邊點、褲腳點獲取方式類似,獲取結果如圖9。裙子長度分類同樣如此,需要找到裙子腰部的兩點計算出腰寬,而直接選取外接矩形的高度作為裙子的長度,進而計算出比例做出分類。

圖8 裙子、褲子特征提取

圖9 褲子、裙子長度分類特征提取圖
2.4基于特征匹配系數的服裝搭配建議
服裝搭配就是將各種服裝以一種和諧或者人們喜歡的方式組合在一起,使人產生舒適美觀的感覺。本文所有搭配規則通過每對特征之間的匹配系數來體現。如上文所述,通過分類可以得到衣領種類、袖子長短、下裝種類以及長短等一系列細節特征。而通過簡單的基于RGB分量統計方法又可以得到顏色特征。考慮到驗證搭配算法的實用性,本文還添加了一些自定義特征,如性別、上衣類型(襯衫、T恤)等。匹配系數分別存儲在矩陣中,表2為矩陣存儲衣服類型匹配信息。顯而易見,所有搭配規則都可以擴充并隨著當前喜好或歷史穿著偏好進行實時修改。考慮到算法復雜度,暫只考慮單色與單色之間的匹配。

表2 衣服細節特征匹配系數矩陣
服裝搭配完整流程如下:
(1) 對所有服裝圖片的細節特征、顏色識別分類,并融合自定義信息,將衣服特征按照上裝、下裝分別存儲在上裝和下裝特征結構體兩類數組中。
(2) 任選一件上(下)裝,計算其與所有其他下(上)裝的匹配度。按從大到小排序,優先輸出匹配度最高的結果,其他結果供參考。
(3) 若用戶對排序靠后的搭配結果表示更有興趣,則系統將自動提高相應特征對之間的匹配系數,形成該特定用戶的個性化匹配矩陣。而且用戶也可以根據自己喜好自行調整各匹配系數,形成個人獨有的搭配風格。
3.1衣領種類分類
采用隨機的訓練集、測試集做分類,準確率都達到85%左右。圖10展示了分類正確的圖片。這里重點提出一些錯誤分類的樣例,其具有典型性,也是分類過程中又一大難點。如圖11,因為分類過程沒有考慮衣領層次、立體感對結果造成的影響,所以出現了一些錯誤。圖11(a)實為立領,但由于放置角度問題,忽略立體感的影響誤分類為無領,同樣的,圖11(b)由于分辨不出翻折過的衣領的層次感而誤分類為立領。

圖10 衣領正確分類的圖片

圖11 衣領錯誤分類的圖片
3.2袖子長度分類
袖子分類使用與衣領分類同樣的數據集,無袖、有袖正確率達85%。大多數錯誤是將無袖誤分類為有袖。在有袖、無袖分類后只有分類為有袖的圖片才會進入長度分類過程中,長、短袖的分類準確率達90%左右。
3.3下裝種類及其長度分類
下裝分類準確率達到85%左右。一些錯誤分類是由于褲子襠部信息不明確,尤其是一些短褲,容易與裙子混淆,如圖 12所示。而根據褲長、褲腰寬的比例特征來分類褲子長度,分為長、中、短3類時準確率在85%左右,主要由于存在一些褲子僅從圖片上并不能很明確地分辨出是什么類型長度的褲子,如圖 13中左邊的褲子無法分辨出是中褲還是長褲,其余兩條褲子無法分辨出是短褲還是中褲,所以若是將類別減少到僅分為長、短兩類,準確率會有很大提高。類似的方法,裙長分為長裙、短裙類時準確率達到了90%以上。
3.4服裝搭配
本文使用了上衣和下裝各130張圖片對算法進行了測試,系統自動輸出的部分最佳搭配結果如圖14所示,其搭配結果還是比較和諧美觀的。

圖12 襠部信息不明確的褲子圖片

圖13 難以辨別的褲子長度類型

圖14 服裝搭配效果圖
在服裝細節要素特征的識別分類被忽略的研究背景下,本文使用較為簡單的方法對此做出嘗試,對背景干擾較小、服裝平整、正放的圖片的處理過程中,獲得了較為準確的識別分類結果,運算復雜性較低;通過多個矩陣定義服裝特征匹配系數的方法方便且靈活,給出的搭配建議既可以依據時尚習慣又可以遵從個人喜好,也便于按照用戶選擇做出相應的調整。
誠然,本文仍存在很多不足,后續工作中將重點考慮:①搜集更多的數據集;②提高復雜環境下的服裝輪廓提取準確性;③從深層次考慮細節特征分類結果錯誤的原因,改善特征提取方法提高準確率,同時增加諸如口袋、拉鏈等更多細節特征分類。
[1] Smeulders A W M, Worring M, Santini S, et al. Content-based image retrieval at the end of the early years [J]. IEEE Trans on Patt Anal and Mach Intell, 2000, 22(12): 1349-1380.
[2] Cheng C I, Liu D S M. An intelligent clothes search system based on fashion styles [C]//In Proceedings of the 7th International Conference on Machine Learning and Cybernetics. Kunming, China, 2008: 1592-1597.
[3] Simo-Serra E, Fidler S, Moreno-Noguer F, et al. A high performance CRF model for clothing parsing [M]. Computer Vision--ACCV 2014. Springer International Publishing, 2015: 64-81.
[4] Yang W, Luo P, Lin L. Clothing co-parsing by joint image segmentation and labeling [C]//Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on. IEEE, 2014: 3182-3189.
[5] 鄒 娜. 衣服檢測與識別技術研究[D]. 西安: 西安電子科技大學, 2012.
[6] 鄒大海. 人體圖像中周邊物品檢測分類技術研究[D].南京: 南京郵電大學, 2013.
[7] 廉 寧, 徐艷蕾. 基于數學形態學和顏色特征的車牌定位方法[J]. 圖學學報, 2014, 35(5): 774-779.
[8] 周廣君. 圖像特征提取技術在個性化服裝款式系統中的應用研究[D]. 上海: 東華大學, 2009.
[9] Xue B F, Chen J C. A sparse-coding approach for clothing style recognition [C]//Taiwan Academic Network Conference (TANET). Taiwan, China, 2014: SS07-02.
Classification of the Detail Features for Clothes Based on HOG and Geometric Features
Ji Juan,Qin Ke,Yang Ruoyu
(Key Laboratory for Advanced Technology of Software, Nanjing University, Nanjing Jiangsu 210046, China)
Due to the increased demand for the diversification of clothing products, clothes classification is very necessary, no matter for operators or consumers. Existing methods usually solve the problem based on the whole clothes, paying little attention to the detail features on the clothes. Therefore, identifying and classifying the detail features of clothes are emphasized in this paper such as the type of collar, the length of sleeves and the trousers or the dresses. Based on the contour extraction, the paper proposes the voting strategy for the results gained from multi-scale HOG features. Also the geometric features are used based on corner detection, solving problems like collar position uncertainty, neckline shape interference caused by surrounding patterns and so on. Then, SVM classifier is used to get the final results. After that, some advice is also provided on costume matching using multiple coefficient matrixes of features matching. Experiments show that our method is effective for classifying some mentioned detail features. Also, it shows some practical value for the automatic matching recommendation.
detail features of clothes; contour extraction; HOG features; geometric features; costume matching
TP 391.9
10.11996/JG.j.2095-302X.2016010084
A
2095-302X(2016)01-0084-07
2015-09-24;定稿日期:2015-10-10
國家自然科學基金項目(61272218, 61321491)
紀娟(1993–),女,江蘇淮安人,碩士研究生。主要研究方向為圖像處理、模式識別。E-mail:jj12248@163.com
楊若瑜(1977–),女,安徽滁州人,副教授,博士。主要研究方向為計算機視覺、三維重建和仿真。E-mail:yangry@nju.edu.cn