鄧世爽 狄 嵐 梁久禎 姜代紅
在紡織生產(chǎn)工藝中,紡織品的質(zhì)量對紡織業(yè)影響很大,紡織品瑕疵會嚴(yán)重影響產(chǎn)品質(zhì)量,造成各種資源的極大浪費[1].傳統(tǒng)的紡織品瑕疵由人工檢測,受人員經(jīng)驗、熟練程度及其它主觀因素的影響,往往導(dǎo)致瑕疵誤檢、漏檢率較高、檢測速度較慢、效率較低等問題.因此,紡織品瑕疵智能檢測是困擾行業(yè)多年的技術(shù)瓶頸.
當(dāng)前,已采用的紡織品瑕疵檢測方法可分為結(jié)構(gòu)類方法、統(tǒng)計類方法、模型類方法和基于神經(jīng)網(wǎng)絡(luò)方法.在結(jié)構(gòu)類方法中,通常以紋理作為基本單元,提取紡織品紋理的結(jié)構(gòu)特征,并結(jié)合位置規(guī)律進(jìn)行分析和檢測.Wang等[2]根據(jù)結(jié)構(gòu)相似性最小原則定位缺陷圖像塊,并使用距離測量和閾值分割定位缺陷,在一定程度上能有效檢測瑕疵,但存在較多漏檢.在統(tǒng)計類方法中,常使用一階統(tǒng)計和二階統(tǒng)計提取和處理圖像紋理特征,通過自相關(guān)函數(shù)和共生矩陣有效檢測有色織物瑕疵.Li等[3]結(jié)合多向二元算子和灰度共生矩陣(Gray-Level Co-occurrence Matrix, GLCM),提出無圖案織物缺陷檢測方法.Liu等[4]通過織物的主要局部二值模式(Local Binary Pattern, LBP)特征檢測織物缺陷,但LBP特征只適用帶有周期性的圖像紋理,在處理復(fù)雜背景缺陷時效果不佳.Zhao等[5]將邊緣方向梯度的金字塔直方圖與支持向量機(Support Vector Machine, SVM)應(yīng)用于織物缺陷檢測.但在實際檢測中,由于不同織物尺寸和紋理變化較大,仍面臨巨大挑戰(zhàn).在模型類方法中,常通過服從特定分布模型的織物紋理解決紡織品缺陷檢測問題.紀(jì)旋等[6]針對周期性紡織品存在的拉伸變形問題,提出結(jié)合模板校正與低秩分解的紡織品瑕疵檢測方法.Shi等[7]提出PG-NLR(Low-Rank Decomposition Model with Noise Regula-rization and Gradient Information).龍涵彬等[8]通過上下文視覺顯著性算法提取卡通層的顯著性特征,分離具有高顯著性特征的瑕疵與低顯著性特征的背景.上述方法大多僅限于簡單紋理,無法解決復(fù)雜的現(xiàn)實世界織物缺陷檢測問題.
近年來,神經(jīng)網(wǎng)絡(luò)方法被研究者用來解決各種復(fù)雜圖像瑕疵,成為檢測紡織品瑕疵的有效方式.Liu等[9]訓(xùn)練基于織物紋理結(jié)構(gòu)的生成對抗網(wǎng)絡(luò)用于檢測缺陷,在現(xiàn)有織物缺陷樣本上訓(xùn)練檢測模型,并在不同應(yīng)用期間自動適應(yīng)不同的紋理.但該方法對大規(guī)模缺陷檢測效果不佳,在訓(xùn)練初期可能會錯誤地將復(fù)雜背景紋理歸類為缺陷.Mei等[10]利用多尺度卷積去噪自編碼器網(wǎng)絡(luò)重建圖像塊,并結(jié)合多個金字塔尺度特征檢測缺陷區(qū)域,但準(zhǔn)確率較低,無法滿足實際應(yīng)用要求.
由于紡織品瑕疵檢測可視為目標(biāo)檢測領(lǐng)域任務(wù),研究人員將深度學(xué)習(xí)技術(shù)應(yīng)用于織物缺陷檢測問題中,并在提高紡織品質(zhì)量和生產(chǎn)效率方面取得較優(yōu)結(jié)果[11-13].目前,基于深度學(xué)習(xí)的目標(biāo)檢測器可分為一級檢測器和二級檢測器[14].一級檢測器檢測速度更快,而二級檢測器精度更高.在紡織行業(yè)的實際應(yīng)用中,一般希望在滿足檢測精度的前提下,提高檢測速度.蔡兆信等[15]使用Faster R-CNN自動檢測紡織品缺陷.Faster R-CNN得益于其強大的特征工程能力,可實現(xiàn)較優(yōu)的檢測性能.然而,Faster R-CNN由于采用兩階段目標(biāo)檢測方案,時空復(fù)雜度較大.為了能更好地適用于工業(yè)實際生產(chǎn),研究人員分別使用SSD(Single Shot MultiBox Detector)[16]、CenterNet[17]、Cascade R-CNN[18]、YOLO(You Only Look Once)系列[19-21]等一階段目標(biāo)檢測網(wǎng)絡(luò)進(jìn)行紡織品瑕疵檢測.
在目標(biāo)檢測領(lǐng)域中,YOLOv5引入CSPNet(Cross Stage Partial Network)[22],將梯度變化集成到特征圖中,減少模型參數(shù)量和計算量,既保證推理速度和準(zhǔn)確率,又減小模型大小.但紡織品瑕疵通常具有種類多、差異大、分布不均等特點,使YOLOv5在特征提取部分并不能充分提取瑕疵特征,并且YOLOv5在特征融合階段產(chǎn)生的混疊效應(yīng)也嚴(yán)重影響瑕疵檢測精度.
為了解決上述問題,本文在YOLOv5基礎(chǔ)上,提出結(jié)合注意力機制與自適應(yīng)記憶性融合網(wǎng)絡(luò)的紡織品瑕疵檢測模型(簡記為SCNet+AMFN).首先,在YOLOv5骨干網(wǎng)絡(luò)中引入改進(jìn)后的SCBAM(Softpool Convolutional Block Attention Module),構(gòu)建骨干網(wǎng)絡(luò)SCNet(Softpool Cbam Network),提升模型對紡織品瑕疵特征的提取能力.然后,為了增強紡織品瑕疵淺層定位信息的傳遞效應(yīng)和有效緩解特征融合時產(chǎn)生的混疊效應(yīng),本文提出自適應(yīng)記憶性融合網(wǎng)絡(luò)(Adaptive Memory Fusion Network, AMFN),引入自適應(yīng)空間特征融合網(wǎng)絡(luò)(Adaptive Spatial Feature Fusion, ASFF)[23],提高瑕疵特征尺度不變性,同時將SCNet中特征信息融入特征融合層,增強目標(biāo)定位信息.最后,引入CDIoU(Control Distance Intersec-tion of Union)[24]損失函數(shù),提高檢測精度.應(yīng)用本文模型在紡織品瑕疵數(shù)據(jù)集上開展訓(xùn)練和測試,結(jié)果表明,SCNet+AMFN是一種精確有效且快速的紡織品瑕疵檢測模型.
在目標(biāo)檢測任務(wù)中,YOLOv5在模型中引入CSPNet[22],通過分割梯度流,使梯度流通過不同的網(wǎng)絡(luò)路徑傳播,進(jìn)而使傳播的梯度信息具有較大相關(guān)性差異.在特征融合部分,添加特征金字塔(Feature Pyramid Networks, FPN)和像素聚合網(wǎng)絡(luò)(Pixel Aggregation Network, PAN)[25]組合結(jié)構(gòu),在進(jìn)行多尺度特征信息融合的同時增強對淺層信息的傳遞效應(yīng).但對于種類多、形態(tài)差異大、邊緣不確定的紡織品瑕疵目標(biāo),YOLOv5對其特征提取能力仍有待提高.同時,YOLOv5在特征融合階段產(chǎn)生的混疊效應(yīng)也降低模型對紡織品瑕疵的檢測效果.因此,本文在此基礎(chǔ)上提出SCNet+AMFN,整體結(jié)構(gòu)如圖1所示.
由圖1可知,本文模型主要分為SCNet和AMFN兩部分.其中,SCNet部分用于提取瑕疵的3個不同尺度的基本特征信息,由Focus層、4個CBL層、4個引入SCBAM注意力模塊的Backbone CSP層、空間金字塔池化(Spatial Pyramid Pooling, SPP)層組成.Focus層將圖像切片后連接,使圖像在下采樣后仍可保留全部信息,CBL層由卷積層(Conv)、歸一化層(Batch Normalization, BN)和LeakyReLu激活函數(shù)構(gòu)成,Backbone CSP層在SCBAM基礎(chǔ)上引入殘差結(jié)構(gòu),增加層與層之間反向傳播的梯度值,防止梯度消失.AMFN部分對SCNet提取的3個基本特征進(jìn)行充分融合,使模型在增強淺層定位信息傳遞效應(yīng)的同時,有效融合高層語義特征,最終輸出3個不同尺度的融合特征圖,分別用于檢測不同大小瑕疵目標(biāo).
圖1 SCNet+AMFN網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 SCNet+AMFN network structure
本文模型整體訓(xùn)練流程如下.首先將瑕疵圖像輸入SCNet,提取3個不同尺度的瑕疵基本特征,再采用AMFN充分融合3種不同尺度的基本特征,得到融合特征后,通過3個檢測頭模塊,分別對不同尺度瑕疵目標(biāo)進(jìn)行定位和分類.
為了有效提高模型對紡織品瑕疵特征的提取能力,本文借助軟池化(SoftPool)[26],在下采樣激活映射中保留更多信息的特點,設(shè)計SCBAM.此外,在YOLOv5骨干網(wǎng)絡(luò)的基礎(chǔ)上,引入SCBAM,構(gòu)成骨干網(wǎng)絡(luò)SCNet.
1.1.1SoftPool下采樣
目前,常用的池化操作(平均值池化和最大值池化)在池化過程中會丟失圖像中的大多數(shù)信息,降低整個網(wǎng)絡(luò)的性能.例如,平均池化操作僅能提取特定區(qū)域中的平均值作為輸出,而最大池化只選擇特定區(qū)域內(nèi)最高的單個激活值.SoftPool通過Soft-max加權(quán)方式,保留輸入的基本屬性,同時放大更大強度的特征激活值,因此可在保持池化層功能的同時,盡可能減少池化過程中帶來的信息損失.
SoftPool以自然指數(shù)e為底數(shù),確保越大的激活值對輸出具有越大影響.同時,得益于其可微的特點,在反向傳播期間,局部鄰域R內(nèi)的所有激活至少被分配一個最小梯度值.在SoftPool池化過程中,每個激活ai都被賦予權(quán)重wi,該權(quán)重為該激活的自然指數(shù)相對于鄰域R內(nèi)所有激活的自然指數(shù)之和的比值:
通過對內(nèi)核鄰域內(nèi)所有激活的加權(quán)求和得到SoftPool輸出值:
1.1.2SCBAM模塊
在計算機視覺領(lǐng)域任務(wù)中,研究人員通過各種注意力機制,增強模型對關(guān)鍵特征信息的提取能力,提高模型檢測效果[27-28].CBAM(Convolutional Block Attention Module)[29]是一種結(jié)合通道和空間兩個維度的注意力機制模塊,結(jié)構(gòu)簡單,可有效提高網(wǎng)絡(luò)的特征提取能力,廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)中.
如圖2(a)所示,F∈RC×H×W表示網(wǎng)絡(luò)中生成的特征圖,其中,C表示特征圖通道數(shù),H、W表示輸入特征圖的高度和寬度.CBAM會按照通道和空間順序計算一維的通道注意力映射Mc∈RC×1×1和二維的空間注意力映射Ms∈R1×H×W,整個過程公式如下:
F′=Mc(F)?F,F″=Ms(F′)?F′,
其中?表示對應(yīng)位置元素相乘.
其中,W0∈R(C/r)×C,W1∈RC×C/r,表示MLP權(quán)重,r表示神經(jīng)元個數(shù)減少率.
(a)CBAM注意力模塊[31](a)CBAM attention module
其中,f7×7表示7×7的卷積層,σ表示Sigmoid激活函數(shù).
由此,CBAM模塊在兩個維度計算注意力映射時,均通過最大值池化和均值池化提取輸入注意力信息.然而對于種類多、邊緣不確定、背景重合度較高的紡織品瑕疵,直接引入CBAM模塊會大量丟失紡織品瑕疵細(xì)節(jié)信息,影響模型檢測效果.鑒于此種情況,本文利用SoftPool,在下采樣中既能最大限度保留細(xì)節(jié)信息又增強重要特征的特點,將其引入CBAM,建立SCBAM.
圖2(c)為SCBAM注意力模塊結(jié)構(gòu),考慮到Soft-Pool池化過程中指數(shù)運算影響模型效率的局限性,因此,本文僅在CBAM通道維度使用SoftPool代替最大值池化和平均值池化,在保留更多瑕疵細(xì)節(jié)特征的同時,增強瑕疵顯著特征的提取.
1.1.3SCNet網(wǎng)絡(luò)
如圖3所示,在YOLOv5骨干網(wǎng)絡(luò)部分,網(wǎng)絡(luò)由Focus層、4個CBL層、4個C3模塊和SPP構(gòu)成.輸入圖像首先通過Focus層進(jìn)行切片,再經(jīng)過4個CBL層下采樣,每個CBL后面接C3模塊,用于提取該層特征信息,同時通過SPP擴(kuò)大感受野,提高目標(biāo)檢測精度.
圖3 YOLOv5骨干網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 YOLOv5 backbone network structure
為了進(jìn)一步增強模型對紡織品瑕疵特征的提取能力,基于SCBAM,加入殘差結(jié)構(gòu),構(gòu)建SCBlock(SCBAM Block)模塊,并引入CSPNet,得到特征提取模塊Backbone CSP,替換原YOLOv5骨干網(wǎng)絡(luò)中C3模塊,構(gòu)成SCNet,整個過程如圖4所示.由圖可知,在SCBlock模塊中,輸入特征經(jīng)過一個1×1的CBL層后,送入SCBAM進(jìn)行特征提取,再通過殘差結(jié)構(gòu)與初始輸入特征相加,以防止網(wǎng)絡(luò)過深產(chǎn)生梯度消失問題.
圖4 SCBlock結(jié)構(gòu)
CSPNet通過分割梯度流,使梯度流通過不同的網(wǎng)絡(luò)路徑傳播,提高卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,保證高精度和輕量級,同時,降低內(nèi)存成本和復(fù)雜度,因此被廣泛用于緩解網(wǎng)絡(luò)優(yōu)化中出現(xiàn)的重復(fù)梯度信息問題.本文也沿用CSP思想,將SCBlock結(jié)構(gòu)CSP化,得到Backbone CSP.Backbone CSP將特征分成兩個支路后進(jìn)行Concat操作,結(jié)果經(jīng)過BN層、Leaky-ReLu層和CBL層.
優(yōu)化后的SCNet由Focus層、4個CBL層、4個引入SCBAM的Backbone CSP層和SPP層組成.Focus層將圖像切片后連接,使圖像在下采樣后仍可保留全部信息.CBL層由卷積層、BN層和LeakyReLu激活函數(shù)構(gòu)成,對輸入特征進(jìn)行下采樣,得到不同尺度特征圖.Backbone CSP層在SCBAM的基礎(chǔ)上,引入殘差結(jié)構(gòu),增加層與層之間反向傳播的梯度值,防止梯度消失.該層主要用于瑕疵特征的提取.SPP層通過不同大小池化操作,進(jìn)行多尺度融合,增大模型感受野,提高模型檢測效果.
在基于深度學(xué)習(xí)的目標(biāo)檢測網(wǎng)絡(luò)中,底層特征語義信息較少,但定位信息豐富;高層特征語義信息豐富,但定位信息不足.因此,為了充分利用高層特征的語義信息和底層特征的細(xì)粒度特征,YOLOv5采用FPN+PAN(Path Aggregation Network)方式輸出多層特征,如圖5所示.FPN采用自頂向下方式,將骨干網(wǎng)絡(luò)提取的特征信息進(jìn)行融合增強,但因骨干網(wǎng)絡(luò)中通常會存在大量卷積操作,導(dǎo)致淺層特征傳到輸出層時丟失嚴(yán)重,影響檢測定位精度,見圖5中虛線.對此,PAN在FPN后面添加一個自底向上的金字塔,對FPN進(jìn)行補充,縮短低層的強定位特征傳遞的路徑,有效增強模型對目標(biāo)檢測效果,見圖5中點虛線.
圖5 FPN+PAN結(jié)構(gòu)Fig.5 FPN+PAN structure
采用FPN+PAN組合方式仍然會產(chǎn)生兩個問題:1)在不同特征信息進(jìn)行融合時,大多采用concatenation或element-wise此類直接銜接或相加的方法,然而此類方式并不能充分利用不同尺度的特征信息,依然會造成對特征信息的丟失;2)盡管PAN添加一條自底向上的通路,增強淺層信息的傳遞,但同時網(wǎng)絡(luò)會對淺層特征進(jìn)行多次融合,產(chǎn)生混疊效應(yīng),降低特征準(zhǔn)確性.針對上述兩個問題,本文設(shè)計AMFN,結(jié)構(gòu)如圖6所示.
圖6 AMFN結(jié)構(gòu)Fig.6 AMFN structure
在圖6中,AMFN首先采用ASFF[23]方式融合骨干網(wǎng)絡(luò)SCNet提取的3個不同尺度基本特征,在融合之前,需要將3個不同尺度特征調(diào)整到統(tǒng)一尺寸,然后再根據(jù)自適應(yīng)學(xué)習(xí)到的權(quán)重進(jìn)行加權(quán)融合,得到融合后的特征:
αij+βij+γij=1,
在得到融合特征Iij后,借鑒PAN思想,增加一條自底向上的通路,同時將SCNet輸出特征引入特征融合層,增強對淺層特征的使用.相比FPN+PAN融合方式,AMFN中間融合模塊更少,模型更小.另外,AMFN通過自適應(yīng)權(quán)重對輸入特征進(jìn)行加權(quán)融合,有效融合多尺度特征,同時增強對淺層信息的利用.因此,AMFN可有效提高檢測效果.
在目標(biāo)檢測任務(wù)中,IoU(Intersection over Union)的計算通常用于評估RP(Region Proposal)和GT(Ground Truth)之間的相似性,IoU計算值的高低通常也是正負(fù)樣本挑選的依據(jù).在評估反饋模塊中,表現(xiàn)較優(yōu)的是CIoU(Complete-IoU),它考慮重疊區(qū)域、中心點距離和長寬比,定義如下:
其中,b表示預(yù)測框的中心點,bgt表示真實框的中心點,ρ2表示兩點之間的歐氏距離,c表示能同時包含預(yù)測框和真實框之間的最小閉包區(qū)域的對角線距離,wgt、hgt表示真實框?qū)捄透?w、h表示預(yù)測框?qū)捄透?
針對紡織品瑕疵形態(tài)差異較大、尺度多變的特點,本文在CIoU基礎(chǔ)上引入CDIoU損失[24],在基本不增加計算開銷的前提下提高紡織品瑕疵檢測精度.CDIoU計算RP和GT四個坐標(biāo)點之間的距離以計算損失,如圖7所示.
圖7 CDIoU示意圖Fig.7 Sketch map of CDIoU
CIoU損失的計算公式如下:
相比CIoU損失,CDIoU多一項diou,在反向傳播之后,傾向于將RP的4個頂點拉向GT的4個頂點,直到重疊為止,如圖8所示.
圖8 CDIoU損失下預(yù)測框變化趨勢Fig.8 Trend of prediction frame with CDIoU loss
實驗采用Ubuntu操作系統(tǒng),處理器為Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50 GHz, NVIDIA-Tesla V100 PCIe顯卡,顯存32 GB.本次研究均基于PyTorch深度學(xué)習(xí)框架構(gòu)建網(wǎng)絡(luò)模型.實驗開發(fā)環(huán)境為PyTorch1.9.1,cuda11.0,python3.7.
ZJU-Leaper紡織品瑕疵數(shù)據(jù)集[30]包括多種場景下的多種瑕疵類型,但并未對瑕疵進(jìn)行標(biāo)注和分類.因此,本文基于該數(shù)據(jù)集,利用Matlab中Image Labeler標(biāo)注工具對數(shù)據(jù)集上紡織品瑕疵依次進(jìn)行標(biāo)注,最終共標(biāo)記1 536幅瑕疵圖像,圖像大小統(tǒng)一為256×256,背景分為素色和花紋兩種類型,瑕疵類型分為4類:污漬、破損、褶皺、油污,各類瑕疵標(biāo)簽數(shù)量如表1所示.
表1 ZJU-Leaper紡織品瑕疵數(shù)據(jù)集標(biāo)簽統(tǒng)計Table 1 Label statistics of ZJU-Leaper textile defect dataset
實驗中將數(shù)據(jù)集分為訓(xùn)練集和測試集,比例為3∶1,即訓(xùn)練集為1 152幅圖像,測試集為384幅圖像.圖9為該數(shù)據(jù)集瑕疵位置和長寬比分布圖,圖中小方塊表示一個瑕疵標(biāo)簽,尺度均進(jìn)行歸一化處理.由圖可知,瑕疵位置分布較均衡,長寬比分布較集中.標(biāo)記后的紡織品瑕疵圖像示例如圖10所示.
(a)中心點坐標(biāo)分布(a)Central point coordinate distribution
圖10 ZJU-Leaper紡織品瑕疵數(shù)據(jù)集圖像示例Fig.10 Examples of ZJU-Leaper textile defect dataset
天池紡織品瑕疵數(shù)據(jù)集采集于佛山南海紡織車間,圖像數(shù)量共706幅,大小為2 560×1 920,瑕疵共分為8種類型:擦洞、缺經(jīng)、扎洞、織稀、跳花、毛洞、吊經(jīng)、毛斑.實驗前使用翻轉(zhuǎn)、旋轉(zhuǎn)、尺度變換、隨機摳取、色彩抖動等數(shù)據(jù)增強方法,將圖像數(shù)量擴(kuò)充到5 520幅,各類瑕疵標(biāo)簽數(shù)量如表2所示.
表2 天池紡織品瑕疵數(shù)據(jù)集標(biāo)簽統(tǒng)計Table 2 Label statistics of Tianchi textile defect dataset
實驗時將數(shù)據(jù)集分為訓(xùn)練集和測試集,比例為3∶1,即訓(xùn)練集為4 140幅圖像,測試集為1 380幅圖像.為了加快模型訓(xùn)練速度,實驗時統(tǒng)一將圖像尺寸調(diào)整為512×512.該數(shù)據(jù)集標(biāo)簽分布情況如圖11所示,尺度均進(jìn)行歸一化處理.
(a)中心點坐標(biāo)分布(a)Central point coordinate distribution
由圖11可知,該數(shù)據(jù)集瑕疵位置分布較集中,長寬比分布較分散,這表明該數(shù)據(jù)集瑕疵尺度變化較大.標(biāo)記后的紡織品瑕疵圖像示例如圖12所示.
圖12 天池紡織品瑕疵數(shù)據(jù)集示例Fig.12 Examples of Tianchi textile defect dataset
本文選擇mAP@0.5和mAP@0.5∶0.95作為評價指標(biāo),mAP@0.5表示IoU閾值設(shè)為0.5時,所有類別的平均AP,mAP@0.5∶0.95表示在不同IoU閾值下的平均mAP,下面實驗中mAP@0.5∶0.95均由mAP表示.因此需要計算模型的精確率(Precision)和召回率(Recall).
方達(dá)生是一個服裝設(shè)計師,夫婦都是香港人,如今他們已經(jīng)結(jié)婚七年了,妻子卻一直沒有懷孕。為了擁有一個自己的孩子,他們可謂費盡了心機,他們幾乎跑遍
具體指標(biāo)值公式如下:
其中:TP(True Positive)為檢測正確的正樣本個數(shù);FP(False Positive)為檢測錯誤的正樣本個數(shù);FN(False Negative)為檢測錯誤的負(fù)樣本個數(shù).
在CDIoU損失函數(shù)中,為了選取最有效的超參數(shù)λ,取λ=1.0,0.1,0.01,0.001,在ZJU-Leaper紡織品瑕疵數(shù)據(jù)集上的實驗結(jié)果如表3所示,表中黑體數(shù)字表示最優(yōu)值.由表可知,當(dāng)λ=0.01時,mAP@0.5和mAP達(dá)到最優(yōu)值,顯著高于取其它參數(shù)值時的精度.分析其原因:當(dāng)λ取值較大時,模型在訓(xùn)練后期,diou項梯度過大,導(dǎo)致模型難以收斂到更高精度;當(dāng)λ取值過小時,diou項權(quán)重過小,難以提高模型收斂效果.因此,本文模型選擇λ=0.01,此時模型對于紡織品瑕疵的檢測效果最佳.
表3 λ不同時的實驗結(jié)果Table 3 Experimental results with different λ
為了驗證本文模型的有效性,在ZJU-Leaper紡織品瑕疵數(shù)據(jù)集上進(jìn)行消融實驗,評估SCBAM、AMFN和CDIoU對紡織品瑕疵檢測的效果.實驗以YOLOv5為基礎(chǔ)模型,檢測結(jié)果對比見圖13.實驗圖像輸入大小統(tǒng)一為256×256.
(a)原始圖像(a)Original images
在YOLOv5s中分別引入CBAM、SCBAM、AMFN、CDIoU,具體消融實驗結(jié)果如表4所示,表中黑體數(shù)字表示最優(yōu)值.
由表4可知,引入CBAM和SCBAM之后,檢測精度均有所提高,但引入SCBAM后,精度提升更明顯,相比YOLOv5s,mAP@0.5提高1%,mAP提高0.5%,這表明SCBAM有效并有助于紡織品瑕疵的檢測.
表4 各模塊消融實驗對比Table 4 Comparison of ablation experiments of different modules
另外,本文測試AMFN的有效性.AMFN由于減少特征融合模塊的數(shù)量,降低模型大小,但需要額外計算自適應(yīng)權(quán)重,這也導(dǎo)致檢測速度略有下降.最后,將CDIoU損失函數(shù)引入模型損失計算中,mAP@0.5和mAP都有所提升.上述實驗表明,本文模型均具有一定效果,有助于提高紡織品瑕疵的檢測精度.
為了進(jìn)一步衡量本文模型對于紡織品瑕疵檢測的性能,在ZJU-Leaper紡織品瑕疵數(shù)據(jù)集、天池紡織品瑕疵數(shù)據(jù)集上將選擇如下對比模型:Faster R-CNN[15]、Cascade R-CNN[18]、YOLOv3[20]、YOLO-v4[21]、YOLOv5[31]、YOLOX[32]、YOLOR(You Only Learn One Representation)[33],其中,YOLOv5選擇YOLOv5s、YOLOv5m和YOLOv5l版本,YOLOX選擇YOLOX-s版本、YOLOR選擇YOLOR-P6和YOLOR-CSP版本.
各模型在ZJU-Leaper數(shù)據(jù)集上的實驗結(jié)果如表5所示,表中黑體數(shù)字表示最優(yōu)值.由表可知,相比基線模型YOLOv5s,本文模型的mAP@0.5提升2.6%,mAP提升1.5%.特別是在褶皺類瑕疵檢測任務(wù)上,本文模型mAP@0.5提升5.2%,mAP值提升2.5%,這得益于AMFN既能有效融合瑕疵特征又能增強對淺層定位信息的傳遞,因此AMFN顯著提高對背景重合度較高、不易區(qū)分的瑕疵檢測精度.雖然本文模型的mAP值未達(dá)到最高,相比YOLOX-s,相差0.5%,但本文模型檢測速度達(dá)到500幀/秒,比YOLOX-s加快65%,并且模型大小僅有13.6M,顯著低于其它模型.另外,對于油污類瑕疵,由于該類瑕疵樣本較少,模型對于該類瑕疵提取到的特征不足,導(dǎo)致精度較差,這也表明本文模型對于小樣本的特征提取能力還有待提高.
表5 各模型在ZJU-Leaper數(shù)據(jù)集上的實驗結(jié)果對比Table 5 Experimental result comparison of different models on ZJU-Leaper dataset
此外,為了進(jìn)一步驗證本文模型的適用性和廣泛性,在天池紡織品瑕疵數(shù)據(jù)集上,進(jìn)行對比實驗,實驗中輸入圖像大小統(tǒng)一為512×512,實驗結(jié)果如表6所示,表中黑體數(shù)字表示最優(yōu)值.由表可知,本文模型在精度和速度上超過大部分現(xiàn)有網(wǎng)絡(luò),而模型大小僅有13.6 M,低于其它模型.YOLOv5l和YOLOR-CSP由于其強大的參數(shù)擬合能力,與本文模型取得相當(dāng)?shù)臋z測精度,但參數(shù)量過多、模型運算量較大,導(dǎo)致檢測速度低于本文模型.另外,在ZJU-Leaper紡織品瑕疵數(shù)據(jù)集上表現(xiàn)優(yōu)異的YOLOX-s,在天池紡織品瑕疵數(shù)據(jù)集上檢測效果卻不佳.原因是天池瑕疵數(shù)據(jù)集上各類瑕疵尺度變化明顯且長寬比差異過大,使該數(shù)據(jù)集對于基于無錨點的YOLOX-s并不友好.
表6 各模型在天池紡織品數(shù)據(jù)集上的實驗結(jié)果對比Table 6 Experimental result comparison of different models on Tianchi textile dataset
本文模型在2個數(shù)據(jù)集上檢測效果較優(yōu),檢測速度較快,模型尺度較小,這表明本文模型具有良好的適用性和廣泛性,能滿足實際應(yīng)用需要.
本文針對紡織品瑕疵檢測任務(wù),提出結(jié)合注意力機制與自適應(yīng)記憶性融合網(wǎng)絡(luò)的紡織品瑕疵檢測模型(SCNet+AMFN).在YOLOv5骨干網(wǎng)絡(luò)中引入改進(jìn)的注意力模塊SCBAM,構(gòu)建骨干網(wǎng)絡(luò)SCNet,獲取更多瑕疵細(xì)節(jié)特征,提高模型對紡織品瑕疵特征的表征能力.然后,設(shè)計自適應(yīng)記憶性融合網(wǎng)絡(luò)(AMFN),學(xué)習(xí)空間濾波沖突信息,抑制特征尺度不一致性,同時利用淺層特征增強對目標(biāo)的定位和檢測效果.此外,引入CDIoU損失函數(shù),在基本不增加計算開銷的前提下提高瑕疵檢測精度.實驗表明,本文模型在紡織品瑕疵數(shù)據(jù)集上取得較優(yōu)檢測效果.下一步工作是解決模型對于小樣本特征提取能力不足的問題,進(jìn)一步優(yōu)化本文模型.同時,擴(kuò)建紡織品瑕疵數(shù)據(jù)集,標(biāo)注更多種類紡織品瑕疵,包括斷緯、粗經(jīng)、粗緯、扭結(jié)等瑕疵類型,提高模型的檢測能力.