劉 正, 吳詩豪, 侯 玨,4, 楊 陽
(1.浙江理工大學(xué) 浙江省服裝工程技術(shù)研究中心,浙江 杭州 310018;2.浙江理工大學(xué) 國際時裝技術(shù)學(xué)院,浙江 杭州 310018; 3.浙江理工大學(xué) 服裝學(xué)院,浙江 杭州 310018;4.武漢紡織大學(xué) 武漢紡織服裝數(shù)字化工程技術(shù)研究中心,湖北 武漢 430073)
緯斜是牛仔服以及平紋織物服裝生產(chǎn)中的一種常見疵點,是織造過程中應(yīng)力不平衡導(dǎo)致的緯紗扭曲變形,其對紡織服裝產(chǎn)品的質(zhì)量有著重要影響。利用計算機視覺系統(tǒng)檢測織物疵點是目前紡織行業(yè)控制產(chǎn)品質(zhì)量的主要手段。緯斜不同于破孔、拉絲和起球等疵點,緯斜織物的結(jié)構(gòu)和紋理未受到物理損害,因而很難運用傳統(tǒng)的圖像分割方法進行檢測。
早期的研究通常采用光電法、霍夫變換和傅里葉變換[1-4]來檢測緯斜,但光信號無法穿透較厚的織物,而傳統(tǒng)機器視覺的算法需要采集大量的高分辨率圖像,對設(shè)備和時間要求較高,且分辨率高致使計算量增加,從而導(dǎo)致檢測效率較低。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)因其突出的特征提取能力,逐漸被應(yīng)用于織物疵點檢測。基于CNN的檢測主要分為弱監(jiān)督模型[如多尺度卷積降噪自編碼器(MSCDAE)[5]、生成對抗網(wǎng)絡(luò)(GAN)[6-8]、卷積自動編碼器(CAE)[9]、高效自監(jiān)督缺陷檢測網(wǎng)絡(luò)(SEDD)[10]]和監(jiān)督模型[如YOLO系列算法[11]、區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)[12]]。弱監(jiān)督模型采用無疵點樣本進行訓(xùn)練,通過獲取疵點與背景的殘差區(qū)分織物結(jié)構(gòu)是否受損,但緯斜疵點織物的物理結(jié)構(gòu)并未受損,因此弱監(jiān)督模型無法有效識別緯斜。監(jiān)督模型采用主干網(wǎng)絡(luò)提取特征,利用特征獲得高精度結(jié)果,但無法在未經(jīng)訓(xùn)練的情況下檢測新類型織物的疵點。
盡管卷積網(wǎng)絡(luò)檢測織物疵點有著較大的優(yōu)勢,但對于緯斜的檢測還存在兩個難點:①用于訓(xùn)練的緯斜疵點數(shù)據(jù)不足,很難建立一個詳盡的數(shù)據(jù)集;②針對訓(xùn)練集外的新類型織物,現(xiàn)有模型無法獲得高精度檢測結(jié)果。基于上述的問題,文中提出基于網(wǎng)格變形的可控數(shù)據(jù)增強方法,以解決緯斜檢測中數(shù)據(jù)不足的問題;提出一種具有循環(huán)訓(xùn)練策略的目標識別網(wǎng)絡(luò)——緯斜檢測網(wǎng)絡(luò)(skewing detection network,SDN),以解決緯斜疵點識別效率低的問題。
1.1.1樣本 織物圖像源自天池實驗室[13],共2 000張,包含平紋、緞紋、斜紋、純色以及各種花紋織物,以保證數(shù)據(jù)集織物紋樣的多樣性,增強算法魯棒性。
1.1.2儀器 計算機,自行組裝,內(nèi)存32 G,處理器型號為Intel?CoreTMi7-11700K,圖形卡型號為NVIDIA GeForce RTX 3080Ti;CCD相機,型號為Mars4072S-30uc,配備16 mm工業(yè)鏡頭,相機高度為500 mm,視場大小為180 mm×240 mm,相機拍攝得到圖像分辨率像素為3 000×4 000,為防止因圖像畸變導(dǎo)致圖像中形成緯斜紋樣,通過張正友標定法[14]對相機進行標定。
為測試文中提出的SDN緯斜疵點檢測性能,設(shè)計模擬設(shè)備生成織物緯斜,具體如圖1所示。由圖1可以看出,設(shè)備有兩個輥用來模擬織物傳輸,在設(shè)備頂部安裝了一組相機鏡頭進行圖像采集。在第1個輥的一側(cè)附著一層橡膠,由于輥面和橡膠的摩擦系數(shù)不同,可以模擬左右不平衡的傳輸張力,使織物左右兩端以不同的速度向前移動,產(chǎn)生真實緯斜疵點。

圖1 設(shè)備示意Fig.1 Schematic diagram of the equipment
監(jiān)督模型通常使用大規(guī)模注釋數(shù)據(jù)集進行數(shù)據(jù)增強[15]。為保證緯斜檢測模型生成足夠多的訓(xùn)練樣本,根據(jù)緯斜圖像的幾何特點,對其進行公式化表示。
然而在實際檢測中,織物的緯斜包含斜緯、彎緯、雙弓緯、鉤弓緯、雙鉤弓緯等類別,表現(xiàn)形式為斜緯和各種弓緯的復(fù)合,但在局部圖像內(nèi),緯斜可以看作只存在斜緯,不存在彎曲[16],因此緯斜可以通過微分轉(zhuǎn)化為由多個局部斜緯組成的緯斜疵點。文中基于這一特點生成局部緯斜圖像。
圖2為正常織物和緯斜織物的網(wǎng)格受力分析,圖中格子表示內(nèi)部應(yīng)力的分布。圖2中,受垂直方向張力不平衡的影響,垂直向的緯紗彎曲成曲線,使紋理產(chǎn)生扭曲,其緯斜偏斜度從零逐漸增加到最大值,紋理變形發(fā)生在張力一側(cè)。因此,緯斜疵點圖像可以通過幾何形態(tài)的畸變進行表述。

圖2 織物網(wǎng)格圖應(yīng)力分布Fig.2 Stress distribution of fabric grid diagram
為了模擬緯斜圖像的形變,在無瑕疵織物圖像上構(gòu)建網(wǎng)格G,定義變形場來表示變形的強度和方向,通過變形場F生成變形網(wǎng)格G′,具體如圖3所示。

圖3 變形場和變形網(wǎng)格表示的變形過程 Fig.3 Distorted process of field and grid
網(wǎng)格與變形場集合定義如下:
G∈{G0,0,G0,1,…,Gi,j} ;
F∈{F0,0,F0,1,…,Fi,j} 。
其中,i和j表示行和列中網(wǎng)格單元的計數(shù)。
由圖3的扭曲網(wǎng)格可以看出,不同網(wǎng)格單元的變形存在著差異,并且變形無法由統(tǒng)一的仿射矩陣表示。為此,變形場估計函數(shù)fi,j(θ)定義為
(1)
式中:m為圖像寬度;h為緯斜的高度;θ為緯斜角度,θ=arctan(h/m);θk=(θ/m)·k。通過計算?k·tanθk」-?(k-1)·tanθk-1」標注出變形場,其中?·」表示向下取整運算。
考慮到實際緯斜角度分布特點,分布函數(shù)定義為
式中:I為變換區(qū)域的高度;θmax為最大偏斜角。式(2)表示大量緯紗偏斜的情況,式(3)表示部分緯紗偏斜的情況。
算法G′生成的計算過程
輸入: 均勻網(wǎng)格G;
輸出: 變形網(wǎng)格G′。
1)while(i 2)計算zθ(i); 4)++i; 5)++j; 6)end while; 7)returnG′。 圖4為不同方法獲得的緯斜。其他仿射變換算法[17]獲取的緯斜接縫尖銳[見圖4(a)],而文中方法將整個圖像分解為小塊,減少了接縫的尖銳程度,并在變形過程中較好地保持了紋理的連續(xù)性[見圖4(b)]。 圖4 不同效果的緯斜Fig.4 Different effects of skewing 由于緯斜在圖像中顯示為不規(guī)則的長條,R-CNN和YOLO模型中的錨點無法覆蓋此類形狀,導(dǎo)致這些監(jiān)督模型在檢測緯斜時效果不佳。因此,文中在CNN網(wǎng)絡(luò)基礎(chǔ)上結(jié)合緯斜的幾何特征提出了緯斜檢測網(wǎng)絡(luò)。 在目標檢測模型中,單階模型的檢測效率通常高于多階模型。為了提高緯斜檢測效率,將緯斜檢測網(wǎng)絡(luò)設(shè)計為單階神經(jīng)網(wǎng)絡(luò),具體結(jié)構(gòu)如圖5所示。SDN包含兩類網(wǎng)絡(luò):①全卷積主干網(wǎng)絡(luò);②多層感知器(MLP),MLP包括分類模塊和邊界框模塊。 圖5 SDN網(wǎng)絡(luò)結(jié)構(gòu) Fig.5 Architecture of the SDN SDN選擇VGG16[18]的卷積層作為主干網(wǎng)絡(luò)。由于VGG16使用了連續(xù)的小卷積核,而不是更大的卷積核,因此其架構(gòu)深入且簡單,有助于增加網(wǎng)絡(luò)的深度,學(xué)習(xí)更多的特征,從而提高模型的準確性。由于在SDN中重新設(shè)計了MLP網(wǎng)絡(luò),因此將VGG16的全連接層移除。 由圖5可以看出,主干網(wǎng)絡(luò)通過VGG中4個階段的卷積,將輸入轉(zhuǎn)換為多尺度輸出,統(tǒng)一提取圖像中宏觀尺度和微觀尺度的特征,加深網(wǎng)絡(luò)對緯斜疵點多尺度特征的學(xué)習(xí);將多尺度特征圖轉(zhuǎn)換為向量并輸入到分類器模塊,計算分類概率;根據(jù)分類結(jié)果,正樣本的特征向量被輸入到邊界框模塊;采用與分類器模塊相同的計算,將從主干分離的多尺度特征轉(zhuǎn)換為向量,在全連接網(wǎng)絡(luò)中計算邊界框的坐標。為了進一步細分優(yōu)化網(wǎng)絡(luò)對正樣本的檢測性能,SDN根據(jù)邊界框提取候選識別區(qū)域(ROI),輸入到第2輪訓(xùn)練的模型。 2.2.1正樣本回歸 YOLO等網(wǎng)絡(luò)通過建立像素網(wǎng)格錨點獲取對象位置。然而,一般方形網(wǎng)格和緯斜在形狀上存在很大的不同,緯斜的邊界框通常寬度相似,高度差異較大,需要計算邊界框的高度和縱向坐標得到水平和垂直維度之間的差異。此外,YOLO等模型中同時進行回歸類別和緯斜位置的回歸方式會使得模型的錨點機制效果降低,邊界框會覆蓋無疵點區(qū)域,從而導(dǎo)致分類錯誤[19]。因此,文中分別預(yù)測緯斜疵點的位置和分類。 為了獨立計算邊界框縱向維度的坐標,將模型的檢測過程設(shè)計成一個新的管道,該管道先預(yù)測正樣本,再異步生成邊界框以及緯斜對應(yīng)的緯斜率,具體公式為 (4) 其中, (5) 式中:X1表示首輪訓(xùn)練輸入;Y表示首輪預(yù)測結(jié)果;X2表示提取ROI后的次輪輸入;x和y為疵點的左上坐標;h和s為邊界框的高度和寬度;c為預(yù)測的概率。g(·)用于預(yù)測類別;F1(·)用于計算邊界框;F2(·)用于提取候選識別的區(qū)域。 由于緯斜的形狀特殊,獲得的邊界框始終包含大部分負樣本區(qū)域,導(dǎo)致模型的損失很難收斂到最小值。利用式(5)在邊界框回歸之前選擇負樣本,分別進行分類預(yù)測與邊界框回歸。通過進行循環(huán)訓(xùn)練,獲取正樣本準確度更高的邊界框。 2.2.2多尺度輸入 感受野對神經(jīng)網(wǎng)絡(luò)的性能影響非常大,大體積對象需要較大的感受野來提取特征。為了獲得更大的感受野,提升SDN檢測緯斜的性能,將高斯金字塔[20]引入SDN,以生成不同尺度的輸入,從而獲得不同尺度的感受野和特征圖。多尺度圖像被輸入到SDN后,分別從小、中、大3個尺度提取全局特征和局部特征,具體如圖6所示。 圖6 使用熱圖繪制的主干特征Fig.6 Backbone feature maps drawn with heat maps 根據(jù)主干網(wǎng)絡(luò)計算得出,最終層的最大感受野像素為212×212。為了獲取足夠的全局信息,輸入圖像對應(yīng)的最終感受野像素應(yīng)該不大于212×212,并且圖像大小至少為原始圖像的1/6。 2.2.3損失函數(shù) 目標檢測模型的損失函數(shù)用于計算分類概率和邊界框位置的損失。然而,此類模型使用的IoU[21]損失通常忽略了預(yù)測模型和目標模型之間重疊區(qū)域的大小,當不存在重疊區(qū)域時,IoU損失會失效。為了保證IoU損失的有效性,文中提出了一種計算坐標變化的新函數(shù),從分類損失、邊界框損失和坐標損失3個方面優(yōu)化網(wǎng)絡(luò),具體公式為 L=LC+LI+LB。 (6) 其中, (7) 3.1.1模型參數(shù)設(shè)置 文中在深度學(xué)習(xí)庫PyTorch中實現(xiàn)SDN模型。通過高斯金字塔將輸入像素調(diào)整為180×240,360×480和720×960,依次將圖像輸入網(wǎng)絡(luò)。采用ImageNet預(yù)訓(xùn)練初始化參數(shù),使用Adam優(yōu)化器優(yōu)化整個網(wǎng)絡(luò)。網(wǎng)絡(luò)在17個訓(xùn)練周期后收斂,驗證集的損失和精度保持不變。同樣,為了比較SDN和其他目標檢測模型的性能,訓(xùn)練在過擬合之前退出。實驗比較了SDN,YOLO v3,Faster R-CNN,Mask-R-CNN和YOLO v5系列網(wǎng)絡(luò)的運行結(jié)果。 3.1.2數(shù)據(jù)集 運用緯斜公式化方法生成1 000個正樣本和1 000個負樣本充當訓(xùn)練數(shù)據(jù)集,所生成圖像的緯斜角度設(shè)置為-13°~13°,與光電整緯器的糾正角度范圍相同。使用圖1中的模擬設(shè)備采集了100張緯斜圖像,樣本包含低支數(shù)紗面料、高支數(shù)紗面料、格子布、純色織物等不同的織物。 IoU是衡量目標邊界框檢測準確性的代表性指標,IoU越高代表實際邊界框與檢測邊界框重疊比例越高。為了消除檢測出的多余邊界框?qū)Y(jié)果的影響,文中將能夠被檢測到的疵點IoU閾值下限設(shè)置為0.5。當IoU超過0.5時,樣本被視為正樣本,并記錄樣本種類和IoU。對于已經(jīng)記錄的數(shù)據(jù),使用一些經(jīng)典指標(如精確度、召回率和F-score)來比較不同網(wǎng)絡(luò)的性能。 SDN與其他緯斜檢測方法比較結(jié)果見表1。在YOLO類模型中,YOLO v5x的檢測準確率最高,其F-score為0.88,檢測的平均IoU為0.95,但處理圖像的速度為每張圖0.08 s,在所有YOLO中速度最慢;YOLO v3的性能介于YOLO v5m和YOLO v5l之間。SDN檢測準確率總體高于YOLO,與YOLO中性能最優(yōu)的YOLO v5x相比,SDN的精度提高2.8%,F-score提高0.09,平均IoU提高0.02。YOLO v5x和SDN是一階模型,其處理速度分別為0.08 s和0.2 s,快于R-CNN這類二階模型。而R-CNN模型由于未能聚類足夠多的預(yù)設(shè)錨點,導(dǎo)致在緯斜檢測中性能不佳。 表1 SDN與其他緯斜檢測方法的比較 Tab.1 Comparisons between SDN and other approaches to skewing detection 同時,文中選取緯斜角度為-13°~13°的不同樣本對緯斜檢測網(wǎng)絡(luò)的緯斜率進行測試,結(jié)果見表2。由表2可知,對于負樣本無緯斜疵點的檢測結(jié)果基本準確,誤差為0;正負角度在緯斜率較大和較小時的檢測效果相近;所有角度的誤差ε都在原緯斜率的±8%以內(nèi),說明緯斜檢測網(wǎng)絡(luò)對緯斜率有良好的檢測精度。 表2 不同角度下SDN緯斜率檢測結(jié)果Tab.2 Detection results of SDN skewing slope at different angles 不同模型在測試集上的檢測結(jié)果如圖7所示。由圖7可以看出,R-CNN類模型無法準確標注出緯斜位置,Faster R-CNN模型只檢測出負樣本的位置并且邊界框標注不準確;YOLO類模型在檢測存在部分正樣本的圖像時較為準確,精準標注出了正樣本和負樣本的區(qū)域,在檢測只包含負樣本的圖像時,其標注的邊界框位置與包含部分正樣本的圖像中標注的位置相似,并有部分負樣本區(qū)域未標注,在只包含正樣本的圖像中標注了與包含部分正樣本的圖像中相似的邊界框,檢測效果較差;SDN在各類型檢測圖像中都標注精確,檢測效果較好。 圖7 不同模型的緯斜檢測結(jié)果Fig.7 Skewing detection results of different models 為了進一步驗證高斯金字塔和訓(xùn)練策略的有效性,文中進行了消融實驗。由表1可知,未進行正樣本回歸和重新提取ROI的模型精度降低了3.2%,F-score降低0.03,表明提取原始圖像中的ROI以生成具有更大疵點比例的新輸入,可提供對網(wǎng)絡(luò)訓(xùn)練影響更小的緯斜疵點。此外,文中將一個尺度的圖像輸入SDN進行訓(xùn)練,結(jié)果顯示精度降低了5.3%,F-score降低了0.07。SDN中的多尺度輸入和正樣本回歸優(yōu)化了模型性能,提升了檢測效果,并且在未進行正樣本回歸的模型和一個尺度圖像輸入訓(xùn)練的模型中,平均IoU僅為0.95和0.87,定位性能比SDN差。 為了檢測SDN在實際應(yīng)用中的性能,應(yīng)用拍攝的緯斜圖像進行模型測試,為保持模型的訓(xùn)練集一致,SDN和YOLO在公式化方法生成的數(shù)據(jù)中進行了預(yù)訓(xùn)練。 各模型的跨數(shù)據(jù)集性能見表3。由表3可以看出,SDN在數(shù)據(jù)集中的精確率為82%,召回率為84%。由于YOLO類模型只檢測出了負樣本,導(dǎo)致此類模型召回率低于40%,精確率低于75%。究其原因,YOLO中正樣本錨點包含關(guān)于背景中的不必要特征,正樣本和負樣本之間不平衡,而SDN由于在模型檢測正樣本邊界框時排除了負樣本特征的影響,從而獲得了更高的精度。結(jié)果表明,SDN模型在跨數(shù)據(jù)集任務(wù)上取得了出色的性能。 表3 各模型的跨數(shù)據(jù)集性能Tab.3 Cross-dataset performances of different models 文中提出了一種針對緯斜圖像生成的數(shù)據(jù)增強方法,其根據(jù)幾何特征將緯斜圖像生成方法公式化,生成了高質(zhì)量的緯斜疵點數(shù)據(jù)集。為了有效檢測緯斜,提出了一個基于卷積神經(jīng)網(wǎng)絡(luò)改進的SDN和對應(yīng)的訓(xùn)練策略。與其他目標檢測模型相比,SDN在緯斜檢測中效果最佳,檢測精度達到98%,F-score為0.97,平均IoU達0.97。在緯斜率檢測中,SDN將緯斜率誤差控制在±8%以內(nèi),達到了良好的檢測效果。消融研究驗證結(jié)果表明,SDN提出的訓(xùn)練策略和多尺度輸入提升了模型的性能。在跨數(shù)據(jù)集的實驗中,發(fā)現(xiàn)SDN擁有良好的跨數(shù)據(jù)集檢測性能,可以高質(zhì)量檢測工業(yè)生產(chǎn)中的緯斜疵點。
2 緯斜檢測網(wǎng)絡(luò)
2.1 網(wǎng)絡(luò)結(jié)構(gòu)

2.2 網(wǎng)絡(luò)細節(jié)


3 實 驗
3.1 實驗設(shè)置
3.2 性能指標
4 結(jié)果與討論
4.1 對比實驗結(jié)果



4.2 消融實驗
4.3 跨數(shù)據(jù)集性能

5 結(jié) 語