林 峰,向 忠
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,浙江 杭州 310018)
目前印花廠在制作印花圖樣時(shí),一般由設(shè)計(jì)師將樣布中的循環(huán)圖案基元分割出來(lái),繪制成合適的模板,最終根據(jù)實(shí)際需要排列成各式各樣的印花圖樣。這種成本極其高昂,耗時(shí)較長(zhǎng),極大地增加了印花織物開發(fā)設(shè)計(jì)的時(shí)間。面對(duì)快速發(fā)展的企業(yè)需要,亟需開發(fā)一種自動(dòng)分割織物循環(huán)圖案基元的方法。近年來(lái),隨著深度學(xué)習(xí)技術(shù)的發(fā)展,為業(yè)界提供了一條新的思路。
傳統(tǒng)的分割算法主要可以分為三類,一類是基于空間域的方法,一類是基于頻域的方法,一類是基于顏色域的方法。第一類方法是利用圖像函數(shù)局部峰值之間的距離確定循環(huán)圖案的周期規(guī)律,并由此得到織物循環(huán)圖案基元。最早Terzopoulos等人利用灰度共生矩陣(gray-level co-occurrence matrix,GLCM)尋找出循環(huán)基元的周期規(guī)律[1],但是該方法進(jìn)行周期分析耗費(fèi)的計(jì)算時(shí)間很長(zhǎng),并且穩(wěn)定性較差。為此,Parkkinen等人利用GLCM的統(tǒng)計(jì)量K進(jìn)行計(jì)算,在一定程度上提高了GLCM方法的計(jì)算速度[2]。Lin等人嘗試使用自相關(guān)函數(shù)進(jìn)行峰值計(jì)算[3],這種方法對(duì)局部畸變有一定容忍度,然而這種方法需要對(duì)自相關(guān)函數(shù)進(jìn)行平滑處理,因此計(jì)算時(shí)間同樣比較長(zhǎng)。景軍鋒等人提出一種使用距離匹配函數(shù)(distance matching function,DMF)進(jìn)行循環(huán)圖案基元分割的方法[4-5],這種方法的優(yōu)點(diǎn)在于計(jì)算時(shí)間比較短,然而使用距離匹配函數(shù)的方法對(duì)幾何畸變等噪聲非常敏感。Unser等人提出了和差直方圖(sum and difference histograms,SDH)的方法[6],該方法的分割效果不弱于基于GLCM的方法,大大提高了計(jì)算速度,但是缺點(diǎn)在于只能對(duì)灰度圖進(jìn)行處理,因此會(huì)丟失很多顏色信息。為此Li等人提出了利用HSV顏色空間的H分量進(jìn)行計(jì)算的方法[7],一定程度上提升了分割效果,但是該方法無(wú)法處理包含多種花型的圖案基元的復(fù)雜印花織物。何旋等人提出一種基于自適應(yīng)模板匹配的方法,該方法以邊緣點(diǎn)密度為評(píng)價(jià)標(biāo)準(zhǔn)確定出模板,只適用于簡(jiǎn)單印花織物,對(duì)于包含多種花型的圖案基元的復(fù)雜印花織物,由于循環(huán)圖案基元之間的間距很小,該法依然難以分割[8]。
第二類方法是基于頻域的方法[9-10]。Matsuyama等人采用傅里葉變換進(jìn)行周期分析[11],循環(huán)圖案基元的周期可以通過(guò)傅里葉函數(shù)頻譜圖的脈沖分布來(lái)確定,但是該方法只適用于純色織物。
第三類方法是基于顏色域的方法。Kuo等人提出利用顏色特征對(duì)印花織物循環(huán)圖案基于進(jìn)行分割[12],首先由彩色掃描儀獲得彩色的印花織物圖案,采用模糊均值聚類方法獲得圖案的顏色特征,印花織物循環(huán)圖案基元經(jīng)過(guò)霍夫變換得到,然而這種方法只適用于顏色邊界比較清晰的圖案,對(duì)顏色豐富且復(fù)雜的圖案基元無(wú)法有效分割。
上述的分割方法往往需要人工設(shè)計(jì)一個(gè)特征提取器,適應(yīng)性較差,只對(duì)一些簡(jiǎn)單的循環(huán)圖案基元有效,無(wú)法適應(yīng)具有多種花型的循環(huán)基元的復(fù)雜印花織物圖案,不能滿足實(shí)際的需要。近年來(lái),深度學(xué)習(xí)算法的應(yīng)用日趨廣泛,推動(dòng)了計(jì)算機(jī)視覺(jué)的快速發(fā)展,特別是在圖像分類[13-15]、目標(biāo)檢測(cè)[16-17]、實(shí)例分割[18-19]等方面。類似的,在紡織領(lǐng)域,深度學(xué)習(xí)的方法被應(yīng)用于織物瑕疵檢測(cè)方面[20-21],并且已經(jīng)取得了顯著的檢測(cè)效果,但是如今幾乎沒(méi)有學(xué)者將其應(yīng)用在織物循環(huán)圖案基元分割上。為此,該文提出了一種基于預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)的分割方法。實(shí)驗(yàn)結(jié)果表明,該文算法不僅可以分割具有簡(jiǎn)單花型的織物循環(huán)圖案基元,還可以準(zhǔn)確分割包含多種花型的織物循環(huán)圖案基元,具有較好的魯棒性。
該文算法利用預(yù)訓(xùn)練AlexNet網(wǎng)絡(luò)進(jìn)行特征提取,然后對(duì)特征進(jìn)一步計(jì)算,分割出織物循環(huán)圖案基元。
該文算法先將織物圖像輸入到預(yù)訓(xùn)練AlexNet網(wǎng)絡(luò)中進(jìn)行特征提取,之后對(duì)每張?zhí)卣鲌D在霍夫空間中進(jìn)行投票,得到循環(huán)基元的尺寸,最后在輸入圖像中分割出織物循環(huán)基元,算法流程如圖1所示。
圖1 算法流程
Alex Krizhevsky等人提出了AlexNet網(wǎng)絡(luò)[22],并在當(dāng)年的圖像分類比賽中一舉奪魁,獲得了廣泛的關(guān)注。隨著卷積神經(jīng)網(wǎng)絡(luò)變深,會(huì)產(chǎn)生梯度消失的問(wèn)題。為此,與以往的卷積神經(jīng)網(wǎng)絡(luò)相比,所提出的網(wǎng)絡(luò)中應(yīng)用了ReLU激活函數(shù)進(jìn)行處理,取得了很好的效果,同時(shí)使用了局部響應(yīng)歸一化,大幅度提升了模型的泛化能力。此外,該網(wǎng)絡(luò)還在全連接層中添加Dropout層,對(duì)全連接層的輸出特征隨機(jī)進(jìn)行舍棄,解決過(guò)擬合問(wèn)題。AlexNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 AlexNet網(wǎng)絡(luò)結(jié)構(gòu)
該網(wǎng)絡(luò)一共有5個(gè)卷積層,卷積層通過(guò)卷積運(yùn)算實(shí)現(xiàn)特征提取,每一個(gè)卷積層的輸出進(jìn)行ReLU激活,然后使用最大值池化后的輸出作為下一個(gè)卷積層的輸入。第5個(gè)卷積層經(jīng)過(guò)池化后連接了3個(gè)全連接層,得到1 000個(gè)輸出值,這1 000個(gè)輸出值分別對(duì)應(yīng)類別的概率。該文采用經(jīng)過(guò)預(yù)訓(xùn)練的AlexNet網(wǎng)絡(luò)進(jìn)行特征提取,移除網(wǎng)絡(luò)的全連接層,只留下卷積層。由于去掉了全連接層,輸入的織物圖像可以任意大小,這使得網(wǎng)絡(luò)可以更好地適應(yīng)實(shí)際場(chǎng)景。
如圖3所示,依次分別為AlexNet預(yù)訓(xùn)練網(wǎng)絡(luò)的第1到第5個(gè)卷積層,卷積神經(jīng)網(wǎng)絡(luò)第一層通常學(xué)習(xí)邊緣和其他低層次特征。隨后,隨著層數(shù)變深,網(wǎng)絡(luò)可以學(xué)習(xí)到更深層的特征表示,比如復(fù)雜的顏色和花型。因此,卷積神經(jīng)網(wǎng)絡(luò)可以被認(rèn)為是一組具有不同抽象層次的過(guò)濾器,當(dāng)圖像區(qū)域出現(xiàn)特定特征時(shí),這些過(guò)濾器就會(huì)被激活。該文使用這些過(guò)濾器作為特征提取器,無(wú)需任何人類的先驗(yàn)知識(shí),就可以自主學(xué)習(xí)到復(fù)雜的特征。
圖3 AlexNet網(wǎng)絡(luò)的卷積層
圖4 特征層中的激活峰值
帶有循環(huán)圖案基元的印花織物具有循環(huán)往復(fù)的特點(diǎn),將織物圖像輸入預(yù)訓(xùn)練網(wǎng)絡(luò)后,在不同特征層間會(huì)產(chǎn)生有規(guī)律的激活峰值,該文使用非極大值抑制算法獲得這些峰值,特征層中的激活峰值如圖4所示。每對(duì)峰值對(duì)應(yīng)一組位移向量。因此,不同特征層中出現(xiàn)次數(shù)最多的位移向量的絕對(duì)值,就是循環(huán)圖案基元的尺寸。該文在霍夫空間中對(duì)每一對(duì)位移向量進(jìn)行投票,來(lái)確定循環(huán)圖案基元的尺寸。
如前所述,該文使用的預(yù)訓(xùn)練網(wǎng)絡(luò)一共有5個(gè)卷積層,l表示在第l個(gè)卷積層,其中l(wèi)∈L。f表示特征層,fl∈Fl表示卷積層中所有的特征層。每個(gè)特征層中激活峰值的位置用p表示,則有pm,pn∈Pfl。由每對(duì)激活峰值得到一組位移向量,用sm,n表示。位移向量的計(jì)算公式如式(1)所示。
通過(guò)對(duì)2組患者實(shí)施不同的治療措施,2組患者病情均出現(xiàn)不同程度的好轉(zhuǎn),但是觀察組患者治療有效率97.1%顯著高于對(duì)照組患者62.9%,差異有統(tǒng)計(jì)學(xué)意義(P<0.05)。 見表 1。
Sfl={sm,n:|pm-pn|,m≠n}
(1)
其中,|. |是向量的絕對(duì)值。
接下來(lái)需要從位移向量集合Sfl按照出現(xiàn)次數(shù),將出現(xiàn)次數(shù)最多的位移向量作為循環(huán)基元的尺寸。在這一步將Sfl映射到霍夫空間H中進(jìn)行投票。由于每個(gè)卷積層中的特征層大小不同,投票無(wú)法直接進(jìn)行,需要進(jìn)行權(quán)重歸一化。該文假設(shè)每個(gè)投票服從以sm,n為中心的二維正態(tài)分布,σl為第l個(gè)卷積層的協(xié)方差矩陣,計(jì)算過(guò)程如式(2)所示:
(2)
其中,
(3)
由此,循環(huán)基元尺寸的計(jì)算公式如下:
(4)
在得到循環(huán)圖案基元的尺寸后,需要進(jìn)一步在織物圖像中分割出完整的基元。為此,先對(duì)特征層進(jìn)行挑選,減少計(jì)算量。根據(jù)特征層擁有的位移向量數(shù)量|Sfl|,對(duì)特征層賦予權(quán)重wfl,權(quán)重計(jì)算公式為:
(5)
其中,γ是先驗(yàn)值,該文將其設(shè)置為0.8,β為鄰域半徑。
(6)
然而利用M(x,y)進(jìn)行簡(jiǎn)化會(huì)產(chǎn)生一定的偏移,該文將偏移量記為o*=(ox,oy),偏移量的計(jì)算公式為:
隨后利用IPM算法[23]在優(yōu)化后的特征層的位移向量空間中進(jìn)行計(jì)算,得到循環(huán)圖案基元的質(zhì)心坐標(biāo),最后用質(zhì)心坐標(biāo)和前面確定的循環(huán)基元尺寸分割出最終的循環(huán)圖案基元。
本次實(shí)驗(yàn)使用Pytorch深度學(xué)習(xí)框架中的預(yù)訓(xùn)練AlexNet網(wǎng)絡(luò)模型進(jìn)行。實(shí)驗(yàn)運(yùn)行在Centos7.0系統(tǒng)下,服務(wù)器配置為1張英偉達(dá)GTX 1080Ti顯卡,64G運(yùn)行內(nèi)存及512G的固態(tài)硬盤。
為更好地分析該文算法的性能,與其他算法進(jìn)行了對(duì)比,以驗(yàn)證算法的優(yōu)越性。目前關(guān)于印花織物循環(huán)圖案基元最新的算法是Li等人提出的HSDH算法[7]。HSDH算法首先將RGB彩色圖像轉(zhuǎn)為HSV顏色空間中的圖像,然后提取出圖像的H分量,進(jìn)行去噪和直方圖均衡化處理。隨后利用這個(gè)分量的圖像代替以往研究者采用的灰度圖像,分別計(jì)算水平方向和垂直方向的和差直方圖的能量特征函數(shù),根據(jù)能量特征函數(shù)的峰值間隔得到織物圖案的周期,從而分割出印花織物的循環(huán)圖案基元。
圖5 簡(jiǎn)單織物分割結(jié)果
在實(shí)際生產(chǎn)中,為了滿足消費(fèi)者的需求,企業(yè)生產(chǎn)的印花織物通常具有豐富的紋理特征,每一個(gè)循環(huán)圖案基元中包含多種花型,形成了不同風(fēng)格的織物圖案,因此能夠識(shí)別出具有多種花型循環(huán)圖案基元的復(fù)雜印花織物具有重要的意義。循環(huán)圖案基元包含的花型越多,擁有的特征越復(fù)雜,分割的難度也就越大。該文首先在簡(jiǎn)單的印花織物圖像上進(jìn)行實(shí)驗(yàn),這種織物的循環(huán)圖案基元中只包含少量花型,一般為1~3種,特征較為簡(jiǎn)單。實(shí)驗(yàn)結(jié)果如圖5所示,左列為HSDH算法的分割結(jié)果,右列為該文算法的分割結(jié)果。從圖中可以看出,該文算法與對(duì)比算法都能分割出完整的織物循環(huán)圖案基元。
隨后該文在復(fù)雜的印花織物圖像上進(jìn)行了實(shí)驗(yàn),這類織物的循環(huán)圖案基元包含多個(gè)花型,一般為4種以上,特征較為復(fù)雜,連人眼也無(wú)法快速地分出它們的循環(huán)圖案基元。所有的實(shí)驗(yàn)結(jié)果如圖6所示。結(jié)果表明,在這類復(fù)雜的印花織物上,HSDH算法幾乎不能分割出完整的循環(huán)圖案基元,在能量函數(shù)曲線上是一條直線。而該文算法依然可以準(zhǔn)確地分割出完整的循環(huán)圖案基元。這是因?yàn)樵诰矸e神經(jīng)網(wǎng)絡(luò)中,淺層通??梢垣@得邊緣等低級(jí)特征,而深層可以學(xué)習(xí)到更復(fù)雜的特征信息,例如復(fù)雜形狀,使得該文算法對(duì)復(fù)雜印花織物的循環(huán)圖案基元也具有很好的分割效果。
圖6 復(fù)雜織物分割結(jié)果
該文進(jìn)一步對(duì)兩種算法的效果進(jìn)行了定量評(píng)價(jià),以驗(yàn)證算法的可行性,其中簡(jiǎn)單織物和復(fù)雜織物圖像各18張。該文算法與HSDH算法的準(zhǔn)確率如表1所示。從表中可以看出,對(duì)于簡(jiǎn)單織物,該文算法的準(zhǔn)確率比HSDH算法高出11.1%,在復(fù)雜織物上更是高出77.8%。得益于卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征提取能力,該文算法總體準(zhǔn)確率可達(dá)91.7%,而HSDH算法總體準(zhǔn)確率只有47.2%。雖然HSDH算法被認(rèn)為是一個(gè)好算法,但是僅僅局限于具有簡(jiǎn)單循環(huán)基元的圖案,未考慮到織物具有豐富的紋理特征的影響。對(duì)比HSDH算法,該文算法具有較好的綜合性能,能夠?qū)椢锏难h(huán)圖案基元進(jìn)行準(zhǔn)確的分割。
表1 算法準(zhǔn)確率 %
針對(duì)印花織物循環(huán)圖案基元自動(dòng)分割難度大的問(wèn)題,該文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的織物循環(huán)圖案基元分割算法。實(shí)驗(yàn)結(jié)果表明,對(duì)比HSDH算法,該文算法不僅可以分割出簡(jiǎn)單織物的循環(huán)圖案基元,在復(fù)雜的織物上也有很好的分割效果。該算法具有很好的適應(yīng)性和準(zhǔn)確率。但是該算法在實(shí)際應(yīng)用中還存在一定的局限性,因?yàn)樾枰獙?duì)預(yù)訓(xùn)練網(wǎng)絡(luò)所有的卷積層進(jìn)行計(jì)算,使得計(jì)算時(shí)間相較于傳統(tǒng)方法更長(zhǎng)。未來(lái),會(huì)繼續(xù)考慮計(jì)算效率,對(duì)算法的結(jié)構(gòu)進(jìn)行優(yōu)化以進(jìn)一步提高計(jì)算速度,從而適用于更多的場(chǎng)景。