費(fèi)利斌,徐 洋,余智祺,孫以澤,季誠(chéng)昌
(東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)
目前國(guó)內(nèi)大多數(shù)紡織企業(yè)采取人工進(jìn)行布匹瑕疵檢測(cè)的方式。但近幾年來(lái),部分紡織企業(yè)開(kāi)始開(kāi)發(fā)基于機(jī)器視覺(jué)的布匹瑕疵自動(dòng)檢測(cè)系統(tǒng)。國(guó)內(nèi)紡織行業(yè)中多數(shù)布匹瑕疵檢測(cè)系統(tǒng)存在檢測(cè)精度低、普適性差的問(wèn)題,同時(shí)受限于傳統(tǒng)圖像處理技術(shù)的局限,算法依賴于對(duì)人工設(shè)計(jì)的特征進(jìn)行提取,只適用于在較為簡(jiǎn)單的素色布上進(jìn)行瑕疵檢測(cè)[1]。國(guó)外已有較為成熟的自動(dòng)檢測(cè)設(shè)備[2],但造價(jià)較為昂貴,且只適合素色布的檢測(cè)。但在工廠實(shí)際生產(chǎn)中,大多數(shù)布匹為具有復(fù)雜背景圖案的花色布,受限于傳統(tǒng)圖像處理技術(shù),現(xiàn)有布匹瑕疵檢測(cè)系統(tǒng)難以取得很好的檢測(cè)效果。
新網(wǎng)絡(luò)結(jié)構(gòu)[3]和損失函數(shù)等深度學(xué)習(xí)理論的發(fā)展,給花色布瑕疵檢測(cè)帶來(lái)了新的突破。Jing等[4]通過(guò)將紋理織物圖像分解為局部補(bǔ)丁,并對(duì)標(biāo)記的補(bǔ)丁進(jìn)行網(wǎng)絡(luò)訓(xùn)練,最后利用訓(xùn)練模型在圖像上滑動(dòng)來(lái)檢測(cè)瑕疵。另外,Jing等[5]采用YOLOv3模型加入K-means聚類預(yù)選框尺寸和特征融合的方法進(jìn)行瑕疵檢測(cè)。上述兩種方法都可以用來(lái)檢測(cè)較為規(guī)則的條紋和格子等布匹,但構(gòu)造的網(wǎng)絡(luò)較為簡(jiǎn)單,并不適用于圖案復(fù)雜的花色布。Han等[6]使用無(wú)監(jiān)督學(xué)習(xí)方法,利用堆疊卷積自動(dòng)編碼器來(lái)進(jìn)行瑕疵檢測(cè),可以緩解工業(yè)領(lǐng)域樣本不足的影響,但其檢測(cè)準(zhǔn)確率不高。Xie等[7]使用改進(jìn)的RefineDet網(wǎng)絡(luò),并加入常用的優(yōu)化方法以提高模型的檢測(cè)準(zhǔn)確率,但不可避免因瑕疵形狀和顏色與布匹背景的相似而出現(xiàn)誤判。
為解決花色布瑕疵檢測(cè)的問(wèn)題,本文提出基于改進(jìn)Faster R-CNN[8](faster region with convolutional neural networks)的花色布瑕疵檢測(cè)算法。首先在二階模型Faster R-CNN的基礎(chǔ)上,使用Resnet-50[9]作為主干網(wǎng)絡(luò),并嵌入可變形卷積[10]來(lái)提高瑕疵特征的學(xué)習(xí)能力。設(shè)計(jì)多尺度模型來(lái)提高小瑕疵的檢測(cè)能力,并通過(guò)級(jí)聯(lián)網(wǎng)絡(luò)不斷提高瑕疵定位的準(zhǔn)確度和對(duì)瑕疵的識(shí)別能力。然后使用改進(jìn)的損失函數(shù)減弱難易樣本和正負(fù)樣本不均衡問(wèn)題的影響。最后,通過(guò)對(duì)瑕疵圖片進(jìn)行測(cè)試并與基礎(chǔ)模型進(jìn)行對(duì)比以驗(yàn)證模型的效果。
花色布瑕疵檢測(cè)系統(tǒng)主要由線陣相機(jī)、條形光源、計(jì)算機(jī)、編碼器、檢測(cè)平臺(tái)組成,如圖1所示。
圖1 花色布瑕疵檢測(cè)系統(tǒng)Fig.1 The defect detection system for patterned fabrics
其中線陣相機(jī)為DALSA彩色線掃相機(jī),圖像分辨率為4 096像素×1像素。編碼器的安裝位置需和布匹表面接觸,布匹移動(dòng)時(shí)帶動(dòng)編碼器轉(zhuǎn)動(dòng),從而發(fā)出脈沖信號(hào)控制相機(jī)采集卡進(jìn)行采集。相機(jī)高度可以根據(jù)布匹的幅寬進(jìn)行調(diào)整,當(dāng)前實(shí)驗(yàn)室檢測(cè)平臺(tái)幅寬為1 m。條形光源的亮度可以通過(guò)輸出電壓進(jìn)行調(diào)節(jié),設(shè)置為40V。計(jì)算機(jī)配置為Intel(R)Xeon(R)CPU E5-2650 v2和NVIDIA GeForce GTX 1080Ti GPU。瑕疵檢測(cè)算法使用python 3.6語(yǔ)言,開(kāi)發(fā)框架為Pytorch框架。
本文以Faster R-CNN為網(wǎng)絡(luò)框架,采用融合可變形卷積的Resnet-50作為主干網(wǎng)絡(luò)對(duì)輸入圖像進(jìn)行特征提取,然后經(jīng)過(guò)多尺度模型進(jìn)行特征融合操作得到多個(gè)不同尺度的特征圖,通過(guò)區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)模塊獲得較好的感興趣區(qū)域(regions of interest,RoI),并將RoI對(duì)應(yīng)到相應(yīng)的特征圖進(jìn)行池化,最后通過(guò)級(jí)聯(lián)網(wǎng)絡(luò)對(duì)池化得到的特征進(jìn)行分類和位置的回歸?;ㄉ艰Υ脵z測(cè)改進(jìn)算法整體結(jié)構(gòu)如圖2所示。其中,H表示R-CNN部分網(wǎng)絡(luò),C和B分別表示分類和回歸部分網(wǎng)絡(luò)。
圖2 花色布瑕疵檢測(cè)改進(jìn)算法整體結(jié)構(gòu)Fig.2 The whole structure of defect detection improved algorithm for patterned fabrics
在卷積神經(jīng)網(wǎng)絡(luò)中,卷積具有特征提取的功能。普通的卷積是按照固定的矩形形狀對(duì)輸入的特征圖進(jìn)行采樣,以3×3的卷積為例,其卷積操作和采樣位置為
(1)
S={(x,y)|(-1,-1),(-1,0),…,(1,1)}
(2)
式中:F為輸出特征圖;d0為中心位置;di為采樣位置與中心位置的固定偏移量;ω為卷積核的權(quán)重;f為輸入特征圖;S為偏移量的取值范圍,在3×3卷積中偏移量共有9個(gè)。
在花色布瑕疵檢測(cè)中,部分瑕疵為不規(guī)則的形狀,普通的卷積核無(wú)法根據(jù)瑕疵的形狀自適應(yīng)地調(diào)整采樣的位置,限制了對(duì)瑕疵特征的學(xué)習(xí)能力。
可變形卷積網(wǎng)絡(luò)(deformable convolution network,DCN)通過(guò)引入采樣位置的偏移量來(lái)自適應(yīng)地調(diào)整采樣位置,提高網(wǎng)絡(luò)對(duì)瑕疵特征的提取能力,其原理如圖3所示,其卷積操作為
圖3 可變形卷積網(wǎng)絡(luò)原理Fig.3 Principle of deformable convolution network
(3)
式中:Δdi為可變形卷積網(wǎng)絡(luò)訓(xùn)練得到的偏移量。
Faster R-CNN使用VGG-16來(lái)進(jìn)行特征提取,但VGG-16網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單,特征提取的能力較低,在花色布瑕疵檢測(cè)問(wèn)題上并不能取得很好的效果。Resnet-50有著較深的網(wǎng)絡(luò)結(jié)構(gòu),具有很好的特征提取的能力,且通過(guò)殘差模塊來(lái)消除網(wǎng)絡(luò)退化的影響,可以有效提取瑕疵特征。為提高主干網(wǎng)絡(luò)的瑕疵特征提取能力,在Resnet-50的后面4個(gè)階段的最后一個(gè)殘差模塊中分別融入可變形卷積網(wǎng)絡(luò),殘差模塊結(jié)構(gòu)如圖4所示。
圖4 殘差網(wǎng)絡(luò)Fig.4 Residual network
Faster R-CNN只在特征提取網(wǎng)絡(luò)的最后一個(gè)特征圖上進(jìn)行后續(xù)的檢測(cè),因?yàn)樘卣鲌D是經(jīng)過(guò)原圖多次下采樣得到的,所以在特征圖上的花色布瑕疵,尤其是小瑕疵會(huì)丟失很多有效信息,因此需要設(shè)計(jì)多尺度模型(見(jiàn)圖5)來(lái)提高瑕疵的檢測(cè)效果。特征金字塔網(wǎng)絡(luò) (feature pyramid network,F(xiàn)PN)[11]通過(guò)自底向上和自頂向下兩種方式對(duì)特征圖進(jìn)行特征融合,將深層的語(yǔ)義信息結(jié)合到具有較多位置信息的淺層,提高了小目標(biāo)的檢測(cè)。由圖5可知,在Resnet-50后面4個(gè)階段會(huì)得到4個(gè)特征圖,分別為C2、C3、C4和C5,另外對(duì)C5進(jìn)行2倍下采樣得到C6。先對(duì)每個(gè)特征圖通過(guò)1×1卷積統(tǒng)一通道數(shù)為256,再對(duì)深層的特征圖通過(guò)2倍上采樣得到和前一層相同尺度的特征圖,并和前一層的特征圖相加,最后通過(guò)3×3卷積以減少上采樣過(guò)程的混疊效應(yīng),得到5個(gè)特征圖F2、F3、F4、F5和F6。因?yàn)镽esnet-50在特征提取的同時(shí)會(huì)對(duì)瑕疵周圍的語(yǔ)義信息有一定的破壞,而原圖中包含的全局信息可以為瑕疵特征提供周圍的語(yǔ)義信息,對(duì)分類和定位具有指導(dǎo)意義,因此將全局信息作為一個(gè)RoI進(jìn)行特征提取,將提取的特征加入到RoI在不同特征圖上池化得到的特征中。
圖5 多尺度模型Fig.5 Multi-scale model
通過(guò)多尺度模型可以得到5個(gè)不同尺度的特征圖,后續(xù)根據(jù)RPN網(wǎng)絡(luò)得到的RoI大小選擇尺度合適的特征層分別進(jìn)行預(yù)測(cè)。面積較小的RoI選擇淺層特征圖如F2,面積較大的RoI選擇深層的特征圖如F5。
在二階檢測(cè)器中,當(dāng)?shù)玫絉oI后,通過(guò)選擇RoI和標(biāo)簽框之間合適的交并比(intersection over union,IoU)閾值來(lái)判斷RoI屬于正樣本還是負(fù)樣本。在Faster R-CNN網(wǎng)絡(luò)中,如果閾值過(guò)高,雖然選出的RoI更接近真實(shí)物體,但由于符合該閾值條件的RoI會(huì)變少,使得正負(fù)樣本更加不均衡,導(dǎo)致訓(xùn)練過(guò)擬合;如果閾值過(guò)低,雖然使得正樣本變多,但相應(yīng)的誤檢會(huì)增加,導(dǎo)致分類誤差會(huì)增大。
在閾值問(wèn)題上遵循兩個(gè)原理:一是當(dāng)輸入的RoI與標(biāo)簽的IoU在設(shè)置閾值附近時(shí),檢測(cè)效果會(huì)比基于其他閾值時(shí)好;二是通過(guò)回歸后候選框的IoU會(huì)有所提高?;谶@兩個(gè)原理,通過(guò)設(shè)置級(jí)聯(lián)網(wǎng)絡(luò)來(lái)優(yōu)化檢測(cè)器的效果。級(jí)聯(lián)網(wǎng)絡(luò)通過(guò)級(jí)聯(lián)3個(gè)檢測(cè)器,因?yàn)樵谕ㄟ^(guò)檢測(cè)器回歸后檢測(cè)框的準(zhǔn)確度會(huì)得到提高,所以將上一個(gè)檢測(cè)器的回歸結(jié)果輸入到下一個(gè)檢測(cè)器中后,其檢測(cè)框的定位會(huì)更加準(zhǔn)確,從而使級(jí)聯(lián)的3個(gè)檢測(cè)器的檢測(cè)結(jié)果不斷提高,其中3個(gè)檢測(cè)器的IoU閾值應(yīng)逐步提高,本文模型閾值分別設(shè)置為0.5、0.6和0.7,級(jí)聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中參數(shù)優(yōu)化的穩(wěn)定性在一定程度上取決于損失函數(shù)的選擇。在Faster R-CNN中分類損失使用交叉熵?fù)p失函數(shù),其計(jì)算式為
(4)
式中:p為置信度;y為標(biāo)簽值,取值為0或1。
在花色布瑕疵檢測(cè)問(wèn)題上,因?yàn)閷?shí)際的花色布瑕疵數(shù)量往往較少,因此在訓(xùn)練過(guò)程中存在正樣本數(shù)量遠(yuǎn)少于負(fù)樣本數(shù)量的情況,產(chǎn)生類別間不均衡的問(wèn)題。Focal Loss[12](見(jiàn)式(5))函數(shù)通過(guò)參數(shù)來(lái)調(diào)節(jié)權(quán)重,可以同時(shí)緩解正負(fù)樣本和難易樣本不均衡的問(wèn)題。
(5)
式中:α和γ分別為調(diào)節(jié)正負(fù)樣本和難易樣本的權(quán)重參數(shù),常取α=0.25,γ=2。
因?yàn)镕ocal Loss過(guò)多關(guān)注難分樣本,從置信度p的角度衰減損失值,導(dǎo)致模型整體的準(zhǔn)確度下降。梯度均衡機(jī)制[13](gradient harmonized mechanism,GHM)通過(guò)一定范圍置信度p的樣本數(shù)量的角度衰減損失值。首先定義一個(gè)梯度模長(zhǎng),如式(6)所示。
(6)
式中:g為梯度模長(zhǎng)。
梯度模長(zhǎng)g正比于檢測(cè)的難易程度。其次定義一個(gè)變量梯度密度(G(g))用來(lái)衡量一定梯度范圍內(nèi)的樣本數(shù)量,如式(7)所示。
(7)
式中:δε(gk,g)為樣本中g(shù)分布在(g-ε/2,g+ε/2)內(nèi)的樣本個(gè)數(shù);lε(g)為(g-ε/2,g+ε/2)區(qū)間的長(zhǎng)度。
分類損失函數(shù)LGHM為
(8)
但GHM在正負(fù)樣本不均衡的問(wèn)題上并沒(méi)有很好處理,因此本文模型采用融合損失函數(shù),如式(9)所示。
(9)
式中:μ0和μ1分別為兩個(gè)損失函數(shù)的權(quán)重參數(shù),本文模型中取μ0=0.5,μ1=0.5。
為驗(yàn)證算法改進(jìn)后的檢測(cè)效果,對(duì)花色布瑕疵圖片進(jìn)行檢測(cè)試驗(yàn)。取常見(jiàn)花色布瑕疵5種,分別為破洞、臟污、縫頭、花毛、縫頭印,輸入圖像大小為1 024像素×1 024像素,其中訓(xùn)練集圖片共1 901張,用于檢測(cè)的測(cè)試集圖片共297張,數(shù)據(jù)集樣本分布如表1所示。
表1 數(shù)據(jù)集樣本分布Table 1 Sample distribution of the data set
訓(xùn)練過(guò)程使用隨機(jī)梯度下降,動(dòng)量取0.9,初始學(xué)習(xí)率為0.02,Batch size為48,epoch為20,學(xué)習(xí)率采用常數(shù)衰減方式,分別在第3、8、13、18個(gè)epoch時(shí)減小10倍。
將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型在花色布測(cè)試集上進(jìn)行瑕疵檢測(cè)試驗(yàn),使用Faster R-CNN+Resnet-50作為對(duì)比模型。兩種模型的檢測(cè)效果對(duì)比如圖6所示,其中瑕疵檢測(cè)框上面分別是預(yù)測(cè)瑕疵標(biāo)簽以及瑕疵的置信度,其中,標(biāo)簽1、2、3、4、5分別代表臟污、縫頭、破洞、縫頭印、花毛,置信度越高代表模型對(duì)瑕疵的識(shí)別能力越強(qiáng),瑕疵分類愈加準(zhǔn)確。由圖6可知,相較于對(duì)比模型,本文模型對(duì)瑕疵的識(shí)別和定位更加準(zhǔn)確,能夠準(zhǔn)確地框選出完整的瑕疵。部分破洞和臟污顏色形狀較為相似,對(duì)比模型易出現(xiàn)誤判。同時(shí),本文模型可以檢測(cè)出對(duì)比模型中漏檢的部分瑕疵,主要是面積較小的瑕疵。
圖6 兩種模型的瑕疵檢測(cè)效果對(duì)比Fig.6 Comparison of defect detection effect between the two models
將兩種模型在測(cè)試集上的檢測(cè)結(jié)果進(jìn)行統(tǒng)計(jì),結(jié)果如表2所示。
表2 兩種模型的瑕疵檢測(cè)結(jié)果統(tǒng)計(jì)對(duì)比Table 2 Statistical comparison of defect detection results between the two models %
由表2可知,本文模型瑕疵檢測(cè)的平均準(zhǔn)確率相較于對(duì)比模型提高了8.52個(gè)百分點(diǎn),小瑕疵的檢測(cè)準(zhǔn)確率提高了15.39個(gè)百分點(diǎn),平均精確率也有8.91個(gè)百分點(diǎn)的提升。由此表明,本文模型的瑕疵識(shí)別準(zhǔn)確率更高,定位更加準(zhǔn)確。另外,在模型改進(jìn)的同時(shí),瑕疵檢測(cè)的平均時(shí)間并沒(méi)有增加太多。在實(shí)驗(yàn)室檢測(cè)平臺(tái)下,對(duì)幅寬1 m的花色布進(jìn)行在線檢測(cè),布匹傳送的速度可以設(shè)置為0.5~0.8 m/s,滿足工廠檢測(cè)實(shí)際需求。
本文采用基于卷積神經(jīng)網(wǎng)絡(luò)的花色布瑕疵檢測(cè)算法,在試驗(yàn)的花色布瑕疵數(shù)據(jù)集上取得94.97%的平均準(zhǔn)確率,具有較好的檢測(cè)效果,可以代替人工檢測(cè),具體結(jié)論如下:
(1)通過(guò)使用基于卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)算法,突破傳統(tǒng)機(jī)器視覺(jué)算法的檢測(cè)范圍的限制,可以有效對(duì)具有復(fù)雜背景的花色布進(jìn)行瑕疵檢測(cè)。
(2)通過(guò)在檢測(cè)算法中加入多尺度模型,提高了對(duì)小瑕疵的檢測(cè)效果。
(3)通過(guò)使用融合可變形卷積的Resnet-50,引入級(jí)聯(lián)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行分類和回歸,對(duì)損失函數(shù)進(jìn)行優(yōu)化,提高了檢測(cè)算法的準(zhǔn)確度。
東華大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年2期