庹 武,王嘵玉,高雅昆,于媛媛,郝瀟瀟,劉永亮,郭 鑫
(1.中原工學(xué)院 服裝學(xué)院,河南 鄭州 451191;2.河南工學(xué)院 電氣工程與自動化學(xué)院,河南 新鄉(xiāng) 453003)
近年來,計算機技術(shù)的快速發(fā)展推動著各行各業(yè)的技術(shù)創(chuàng)新,也給服裝紡織行業(yè)注入了新的生機。利用數(shù)字圖像處理技術(shù)進(jìn)行服裝款式識別,可以對服裝進(jìn)行自動分類,實現(xiàn)線上購物以圖搜圖的目的,也可以幫助版師快速判別服裝款式類型,以快速尋找相似樣板,提高制版效率;此外,服裝款式的自動識別也有利于設(shè)計師收集服裝元素,分析時尚趨勢[1-3]。利用數(shù)字圖像處理與計算機視覺技術(shù)實現(xiàn)對服裝款式的識別對整個服裝行業(yè)大有影響,已成為當(dāng)今服裝數(shù)字化的主流趨勢。
國內(nèi)外學(xué)者對于數(shù)字圖像處理在服裝領(lǐng)域的應(yīng)用做了廣泛而深入的研究。在服裝圖像中,外部輪廓和內(nèi)部細(xì)節(jié)的不同決定服裝的不同屬性。其中,尹光燦等[4]根據(jù)實際情況對卷積神經(jīng)網(wǎng)絡(luò)的超參數(shù)進(jìn)行微調(diào),達(dá)到了對服裝領(lǐng)型分類與識別的功能。但該方法進(jìn)行的預(yù)處理只是對圖片進(jìn)行了邊緣檢測,經(jīng)過邊緣檢測預(yù)處理后的圖像有很多影響識別精度的因素,比如商標(biāo)、面料紋理等,因此魯棒性較低。服裝款式的外輪廓包含大量特征元素,是主要的判別途徑。通過對這些特征元素的有效表征,就可以提取相同類別的共性,從而實現(xiàn)服裝的識別[5]。
Hussain等[6]提出一種款式圖到結(jié)構(gòu)圖轉(zhuǎn)換的算法,通過提取服裝款式圖中的特征參數(shù),自動轉(zhuǎn)化為服裝衣片。該論文中的部位檢測和分割衣片都是手動操作,沒有實現(xiàn)自動化算法。李東等[7]對服裝輪廓曲率進(jìn)行計算,通過曲率的大小提取特征點實現(xiàn)對款式的分類,這種算法計算復(fù)雜,適用性較低。Sun等[8]提出基于視覺的服裝屬性分類方法,通過結(jié)合人體部位檢測技術(shù)進(jìn)行特征選擇,克服了服裝特征噪聲過多的問題,后續(xù)對傳統(tǒng)支持向量機(SVM)的方法進(jìn)行優(yōu)化,對數(shù)據(jù)集進(jìn)行多分類,但由于SVM是線性分類器,因此,對于更加抽象的服裝特征不能實現(xiàn)準(zhǔn)確的分類。丁敏敏等[9]依據(jù)服裝的款式圖對衣領(lǐng)的特征參數(shù)進(jìn)行識別,在款式圖的基礎(chǔ)上創(chuàng)建坐標(biāo)系,通過量取衣領(lǐng)的部分尺寸找到相似性較高的結(jié)構(gòu)圖。這種方法只能實現(xiàn)尺寸識別的功能,不能達(dá)到對服裝實物圖進(jìn)行分類的效果。Sun等[10]通過對特定元素的識別判斷服裝的風(fēng)格,從而用來推斷消費者的喜好,但是,判斷服裝的風(fēng)格屬性有賴于個人的主觀判斷,風(fēng)格元素的種類較少,并不能實現(xiàn)準(zhǔn)確判斷??傊b的款式具備多樣性和復(fù)雜性的特點,目前還沒有一種完全有效提取服裝無噪聲輪廓的方法。
針對目前所面臨的問題,本文提出一種改進(jìn)型邊緣檢測算法,可以有效提取服裝輪廓信息,避免噪聲干擾的影響。利用頻域性質(zhì)提取服裝的外輪廓特征,搭建BP神經(jīng)網(wǎng)絡(luò)模型對服裝款式進(jìn)行了分類與識別。
為方便后續(xù)對服裝款式的特征提取,首先對樣本圖像做預(yù)處理操作[11]。服裝圖像預(yù)處理包含了圖像灰度化、灰度變換、閾值分割、形態(tài)學(xué)處理和邊緣檢測主要步驟。
常見的服裝圖片都是三通道存儲的彩色圖片,色彩中雖然包含了部分款式信息,但色彩并不能作為判斷服裝款式的主要依據(jù),且不同色彩的變化會增加干擾信息,對輪廓識別中的邊緣檢測算法造成干擾,不利于對輪廓的識別。因此首先將三通道的彩色圖片進(jìn)行灰度化,同時,灰度化操作也是為后續(xù)閾值分割做準(zhǔn)備。進(jìn)行灰度化后的圖像如圖1所示。
圖1 灰度化圖像Fig.1 Grayscale image
閾值分割可以有效區(qū)分目標(biāo)圖像與背景圖像。閾值分割有很多方法,其中,Otsu閾值分割算法的原理是按照灰度值大小將圖像分為2部分,自動尋找合適的方法,將相同部分之間的差距縮小,不同部分之間差距擴(kuò)大[12]。Otsu算法因其復(fù)雜度低,魯棒性強而被廣泛應(yīng)用,因此選擇Otsu算法進(jìn)行閾值分割。灰度變換后的圖像如圖2所示,閾值分割后的圖像如圖3所示。
圖2 灰度變換Fig.2 Gray scale transformation
圖3 閾值分割Fig.3 Threshold segmentation
閾值分割后的圖像雖然已經(jīng)與背景分割開,但是還存在一些孤島和凸起噪聲點,形態(tài)學(xué)開運算可以在一定程度上消除這些孤島和噪聲點,但對于部分有圖案的服裝,形態(tài)學(xué)開運算不能填充內(nèi)部較大區(qū)域的孔洞,因此采用孔洞填充算法填充干擾區(qū)域。
形態(tài)學(xué)運算和孔洞填充結(jié)果如圖4所示。
圖4 形態(tài)學(xué)處理后的圖像Fig.4 Morphologically processed images
邊緣檢測算法指的是通過一系列運算,檢測出圖像灰度(亮度)發(fā)生空間突變的像素集合[13]。邊緣檢測的方法多種多樣,較常用的方法有微分方法、擬合方法、統(tǒng)計方法、混合方法以及小波變換方法等。其中,微分算法中的Canny算法在定位、細(xì)節(jié)和抗噪聲方面都明顯優(yōu)于其他的一階微分邊緣檢測算法,被廣泛應(yīng)用[14]。傳統(tǒng)邊緣檢測算法的主要流程,如Canny算法包含了圖5中的5個步驟。
圖5 Canny算法流程圖Fig.5 Canny algorithm flowchart
由于原始的圖像中存在的噪聲影響對圖像邊緣的檢測,因此首先需要消除圖像噪聲。采用高斯濾波器進(jìn)行濾波操作,達(dá)到去除噪聲的目的。高斯濾波器核的函數(shù)表達(dá)式如式(1)所示(高斯核的大小為(2k+1)×(2k+1))。其中:H表示卷積核矩陣;k確定矩陣維度;i和j分別表示矩陣中元素的橫向與縱向位置;σ2表示濾波器的方差。
(1≤i,j≤(2k+1))
(1)
利用梯度計算可以找到圖像中灰度(亮度)發(fā)生跳變的部分,梯度計算如式(2)所示。
θ=arctan(Gy/Gx)
(2)
式中:G表示像素點梯度強度大??;Gx表示像素點橫向梯度強度大小;Gy表示像素點縱向梯度強度大小;θ表示梯度方向。通過梯度計算找到的圖像邊界像素含有大量非真正邊緣像素,非極大值抑制(NMS)和雙閾值檢測可以實現(xiàn)梯度值的比較,從而消除一部分非真正的邊緣[15]。
圖像邊緣檢測是形狀識別領(lǐng)域的重要組成部分,對原始圖像預(yù)處理后,運用邊緣檢測算法將目標(biāo)物體邊緣畫出[16]。傳統(tǒng)的邊緣檢測算法得到的圖像邊緣像素中存在多層邊緣的干擾噪聲點,這對于邊緣輪廓提取和后續(xù)的特征描述有下列不利影響:1)提取的邊緣坐標(biāo)序列包含大量噪聲,干擾后續(xù)特征描述;2)提取坐標(biāo)序列的過程中會出現(xiàn)遺漏甚至無法提取。
針對上述2種問題,對圖像邊緣提取進(jìn)行改進(jìn)。
針對傳統(tǒng)邊緣檢測算法所檢測的邊緣在坐標(biāo)提取和特征描述方面存在的缺陷,引入圖像卷積運算改進(jìn)邊緣提取算法。圖6示出傳統(tǒng)邊緣檢測算法提取的部分像素信息,以對該圖卷積計算為例,分析改進(jìn)算法,卷積運算過程如圖7所示。
圖6 傳統(tǒng)邊緣檢測部分像素Fig.6 Traditional edge detection of some pixels
圖7 卷積運算過程Fig.7 Convolution operation
定義優(yōu)化算法的卷積核L,X1、X2為以邊緣像素所在位置為中心的{(x,y)}矩陣,L與X1、X2卷積結(jié)果Y1、Y2,Yi矩陣中心位置坐標(biāo)為(xi,yi)。
上述卷積運算(*表示卷積運算)可以得到矩陣Yi,提取Yi中所有非零像素值的坐標(biāo)集合{(x,y)},分別對集合內(nèi)的鄰域像素(見圖8黑框內(nèi)的元素為Y2中坐標(biāo)為(0,1)的鄰域像素)進(jìn)行判斷。累計鄰域內(nèi)白點個數(shù)為n,如式(3)所示。
圖8 Y2中坐標(biāo)為(0,1)的鄰域像素Fig.8 Neighborhood pixel with coordinate (0,1)in Y2
(3)
通過上述運算,可將邊緣中的干擾點去除,從而得到圖像真正的邊緣。以部分像素點為例,如圖9所示。
圖9 改進(jìn)后邊緣檢測部分像素Fig.9 Improved pixel of rear edge detection
經(jīng)大量實驗證明,對于不同類別服裝的邊緣提取,該算法都可以起到消除噪聲的作用。
直接Canny邊緣檢測得到的邊緣信息不一定是輪廓信息,存在噪聲邊緣以及重復(fù)邊緣,理想的輪廓線應(yīng)該是一條清晰的邊緣線。圖10示出改進(jìn)前后輪廓信號對比,左側(cè)是傳統(tǒng)邊緣檢測效果,右側(cè)是改進(jìn)邊緣檢測效果。
圖10 改進(jìn)前后輪廓信號對比Fig.10 Profile signals between before(a)and after(b)algorithm improvement
服裝的外輪廓是一個閉合的曲線,經(jīng)過上述改進(jìn)邊緣提取后可以得到準(zhǔn)確的外輪廓,通過坐標(biāo)順時針提取出輪廓坐標(biāo)序列。
z1(k)=F[(x1+iy1)rejβ+(x0+iy0)]=
nejβF(x1+iy1)+F(x0+iy0)=
(4)
(5)
式中:k=1,2,…,N-1;‖‖表示取模。由公式可知,對于旋轉(zhuǎn)和尺度變換,式(5)中的fd(k)不會改變。當(dāng)物體平移時,僅僅改變z[0]分量[17],因此,傅里葉描述子定義如式(6)所示。
(6)
特征向量的長度非常重要,太短會影響識別精度,太長會影響識別速度。為確定特征向量的維數(shù),本文將特征向量長度L取范圍為1~40,以1為檔差進(jìn)行多次實驗,結(jié)果如圖11所示。由結(jié)果可知,當(dāng)特征向量維數(shù)取16時綜合效果最好,因此選取特征向量維數(shù)為16。
圖11 傅里葉描述子特征向量長度與識別精度關(guān)系Fig.11 Relationship between eigenvector length of Fourier descriptor and recognition close reading
對圖像提取特征向量后需要進(jìn)行分類與識別。分類與識別可以借助傳統(tǒng)機器學(xué)習(xí)或神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的方法。傳統(tǒng)的機器學(xué)習(xí)有邏輯回歸、支持向量機和softmax分類器等[18]。由于這些分類模型只能對樣本進(jìn)行線性分類,效果不理想,因而選取BP神經(jīng)網(wǎng)絡(luò)算法達(dá)到款式特征分類與識別的目的。
BP神經(jīng)網(wǎng)絡(luò)是一種通過計算損失值對前層網(wǎng)絡(luò)進(jìn)行反饋的多層網(wǎng)絡(luò)結(jié)構(gòu)。將服裝圖像的傅里葉描述子特征向量作為訓(xùn)練樣本,通過大量特征向量與款式類別之間關(guān)系的訓(xùn)練,BP網(wǎng)絡(luò)可以學(xué)習(xí)出二者的抽象性函數(shù)關(guān)系,從而預(yù)測數(shù)學(xué)模型,實現(xiàn)服裝款式分類與識別的功能[19]。
服裝款式識別系統(tǒng)流程圖如圖12所示。采用python3.7編程實現(xiàn),建立了500張圖片的樣本庫,包含4類服裝,有連衣裙、長褲、短袖、襯衫。其中,選取圖片集中的56%用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,其余44%用來驗證模型的準(zhǔn)確性。圖像集中的各類別數(shù)目如表1所示。
表1 服裝款式圖樣本集Tab.1 Sample collection of clothing style drawings
圖12 服裝款式識別系統(tǒng)流程圖Fig.12 Flow chart of clothing style identification system
為驗證改進(jìn)算法的性能,將算法改進(jìn)前后的所獲得的輪廓序列分為2組,分別進(jìn)行特征提取及識別,識別率對比如表2所示。
表2 測試集樣本識別結(jié)果Tab.2 Test sets sample recognition results
從表2可看出,改進(jìn)后的算法識別率最低提升13.16%,最高提升20.93%,平均提升18.71%,識別率明顯提升。由于改進(jìn)算法增加了剔除噪聲邊緣的步驟,因此為綜合分析該算法的性能,又將改進(jìn)算法與傳統(tǒng)算法的識別時間進(jìn)行了對比,得到綜合對比結(jié)果,見表3所示。
表3 綜合對比結(jié)果Tab.3 Comprehensive comparison results
從表3可看出,改進(jìn)后的輪廓序列提取算法對于識別準(zhǔn)確率有較大提高,并且運行速度幾乎不受影響。
本文提出一種改進(jìn)的邊緣檢測算法,通過圖像卷積運算去除服裝二值圖像中的噪聲,防止提取坐標(biāo)序列的過程中會出現(xiàn)信息遺漏,運用傅里葉描述子中低頻分量作為特征向量提取坐標(biāo)序列,采用深度學(xué)習(xí)中的BP神經(jīng)網(wǎng)絡(luò)模型完成對服裝款式的分類和識別。通過大量的服裝圖像處理實驗,結(jié)果表明,該改進(jìn)算法服裝款式識別率達(dá)到93.48%以上,具有優(yōu)良的服裝款式識別能力,對于提升服裝設(shè)計、服裝制版的生產(chǎn)效率具有較高的實際應(yīng)用價值。