郭殿鵬 柯海森 李孝祿 施庚偉
(中國(guó)計(jì)量大學(xué),浙江杭州,310018)
在紡織品的生產(chǎn)過(guò)程中,織物疵點(diǎn)是難以避免的,而制造過(guò)程中的意外因素是其產(chǎn)生的主要原因之一[1]。這些疵點(diǎn)可能以不同的形狀、顏色和大小出現(xiàn)在織物表面,導(dǎo)致產(chǎn)品價(jià)格縮水一半左右[2],從而直接影響企業(yè)的盈利情況。因此,織物疵點(diǎn)檢測(cè)在紡織行業(yè)中非常重要。目前,較多的紡織車間是通過(guò)人工的方式來(lái)分揀疵點(diǎn)產(chǎn)品。但人工分揀效率低、容易受到主觀因素的干擾,而且長(zhǎng)時(shí)間工作疲勞、眼花容易導(dǎo)致漏檢、誤檢的發(fā)生[3],不能滿足流水線日益增長(zhǎng)的生產(chǎn)需求。為使工藝流程更加自動(dòng)化和智能化,提升檢測(cè)效率與準(zhǔn)確率,基于機(jī)器視覺(jué)的檢測(cè)方法開(kāi)始進(jìn)入大眾的視野[4]。
現(xiàn)階段,傳統(tǒng)視覺(jué)檢測(cè)有統(tǒng)計(jì)法[5]、頻域法[6]、模板法[7]等方式。由于傳統(tǒng)視覺(jué)受制于光照視角的依賴性、疵點(diǎn)形態(tài)的多樣性等因素,其泛化能力和適應(yīng)新場(chǎng)景的能力被嚴(yán)重限制,在檢測(cè)領(lǐng)域中仍存在一定的局限性。隨著檢測(cè)算法的不斷發(fā)展,諸 多 深 度 學(xué) 習(xí) 分 類 網(wǎng) 絡(luò) 如VGG[8]、Inception[9]、ResNet[10]等,憑借其強(qiáng)大的學(xué)習(xí)能力、優(yōu)秀的數(shù)據(jù)處理能力以及較優(yōu)的魯棒性和適應(yīng)性在檢測(cè)領(lǐng)域中大放異彩[11]。
相比于其他算法,YOLO[12]算法因能在保證一定精度的情況下大幅提升檢測(cè)速度,因而在織物疵點(diǎn)的實(shí)時(shí)檢測(cè)中獲得眾多青睞。JIN R 等[13]在YOLOv5 中引入多任務(wù)學(xué)習(xí),通過(guò)優(yōu)化焦點(diǎn)損失函數(shù)和加強(qiáng)中心約束來(lái)提高識(shí)別性能。YUE X 等[14]在YOLOv4 的 主 干 特 征 提 取 網(wǎng) 絡(luò) 中 融 入卷積塊注意力模塊,并創(chuàng)新性地將CIoU 損失函數(shù)替換為CEIoU 損失函數(shù),實(shí)現(xiàn)對(duì)疵點(diǎn)的準(zhǔn)確分類和定位。LIN G J 等[15]提出一種滑動(dòng)窗口多傳感頭自注意力機(jī)制,并引入Swin Transformer模塊代替原YOLOv5 算法中的主模塊,提高對(duì)小目標(biāo)疵點(diǎn)的感知。
由于織物疵點(diǎn)的小尺度性、不規(guī)則性和分散性等特點(diǎn),現(xiàn)階段的YOLO 算法還是存在檢測(cè)精度較低等問(wèn)題。本研究基于YOLOv7[16]算法進(jìn)行改進(jìn),通過(guò)新設(shè)計(jì)的DR-SPD 結(jié)構(gòu)增強(qiáng)模型強(qiáng)化對(duì)復(fù)雜形態(tài)的表征能力;修改網(wǎng)絡(luò)結(jié)構(gòu)并引入注意力機(jī)制,提升對(duì)于小目標(biāo)的檢測(cè)精度,減少背景信息對(duì)識(shí)別帶來(lái)的負(fù)面影響,使改進(jìn)后的模型能夠滿足工業(yè)實(shí)際生產(chǎn)需求。
YOLOv7 是一種單階檢測(cè)算法,相比于其他YOLO 算法,它在檢測(cè)效率與精度之間取得了非常好的平衡。YOLOv7 模型整體結(jié)構(gòu)如圖1 所示,主要由輸入模塊(Input)、主干網(wǎng)絡(luò)(Backbone)和頭部(Head)組成。
圖1 YOLOv7 模型整體結(jié)構(gòu)圖
Input 的主要作用是調(diào)整圖片格式以適應(yīng)后續(xù)流程,主要包括數(shù)據(jù)增強(qiáng)、調(diào)整錨框和放縮圖片等操作。
Backbone 是YOLOv7 的特征提取器,主要由CBS 模塊、ELAN 模塊和MP-1 模塊構(gòu)成。它負(fù)責(zé)從輸入圖像中提取多尺度的特征圖,其特點(diǎn)是具有較大的感受野和較高的特征表達(dá)能力,可以捕獲圖像中的語(yǔ)義信息。
Head由SPPCSPC模塊、ELAN-W模塊、MP-2模塊、Cat 模塊以及后續(xù)輸出的RepConv 模塊組成。Head 通過(guò)利用上述模塊進(jìn)行跨層級(jí)上采樣和特征拼接的方式實(shí)現(xiàn)特征融合,以獲得多尺度的上下文信息。然后根據(jù)融合后的特征圖進(jìn)行目標(biāo)預(yù)測(cè),用于提取目標(biāo)的位置和類別信息。預(yù)測(cè)頭的特點(diǎn)是具有較小的感受野和高分辨率特征圖,能夠準(zhǔn)確地定位和分類目標(biāo)。
對(duì)于織物疵點(diǎn)檢測(cè),當(dāng)前YOLOv7 在特征提取與融合的過(guò)程中還是會(huì)發(fā)生關(guān)鍵信息遺漏,從而導(dǎo)致模型對(duì)疵點(diǎn)位置和類型判斷錯(cuò)誤。下面將會(huì)對(duì)特征提取網(wǎng)絡(luò)與特征融合網(wǎng)絡(luò)進(jìn)行針對(duì)性地改進(jìn)。
2.1.1 DRes 單元
神經(jīng)網(wǎng)絡(luò)強(qiáng)大的表征能力源于不同過(guò)濾器對(duì)不同級(jí)別信息的提取。對(duì)于織物中復(fù)雜不規(guī)則的疵點(diǎn)形狀,如果想要獲取更全面的圖像信息,可以通過(guò)增加卷積的數(shù)量來(lái)實(shí)現(xiàn)。但當(dāng)結(jié)構(gòu)中卷積的數(shù)量已經(jīng)趨近于飽和時(shí),再一味地增加卷積則會(huì)導(dǎo)致參數(shù)量冗雜、收斂性變差、網(wǎng)絡(luò)優(yōu)化困難等負(fù)面問(wèn)題。為解決上述局限性,利用動(dòng)態(tài)區(qū)域感知卷積(DRConv)[17]設(shè)計(jì)DRes 單元,使其能有效處理復(fù)雜多變的圖像信息。
如圖2 所示,DRConv 通過(guò)k×k的標(biāo)準(zhǔn)卷積,從輸入特征圖X中生成具有m個(gè)通道的引導(dǎo)特征,再根據(jù)引導(dǎo)特征將空間維度劃分為相對(duì)應(yīng)的區(qū)域,使引導(dǎo)掩碼中具有相同顏色的像素附著到對(duì)應(yīng)區(qū)域。同時(shí)濾波器生成模塊G(X)會(huì)根據(jù)每個(gè)區(qū)域的圖像特性生成對(duì)應(yīng)的定制濾波器W=[W0,…,Wm-1],進(jìn)行卷積運(yùn)算。最后,將所有區(qū)域融合在一起便得到輸出特征圖Y。由于需要優(yōu)化的參數(shù)主要在G(X)中,所以DRConv 幾乎不會(huì)增加模型的大小。
圖2 動(dòng)態(tài)區(qū)域感知卷積
設(shè)計(jì)的DRes 單元如圖3 所示。該單元使用卷積核為3 的DRConv 和CBS 進(jìn)行特征提取,再加入一條跳躍連接,直接將原輸入與卷積層的輸出相加形成殘差結(jié)構(gòu)。與同等數(shù)量的普通卷積塊相比,DRes 單元能在幾乎不增加模型大小的基礎(chǔ)上增強(qiáng)對(duì)于不規(guī)則疵點(diǎn)的表征能力。
圖3 DRes 單元
2.1.2 SPD 卷積
當(dāng)點(diǎn)狀疵點(diǎn)與織物顏色相近時(shí),同色像素沉淀的特性容易導(dǎo)致DRes 對(duì)該類疵點(diǎn)的檢測(cè)準(zhǔn)確率下降。為降低上述問(wèn)題帶來(lái)的影響,利用SPD[18]卷積充當(dāng)末尾卷積,對(duì)其他卷積層的輸出集合進(jìn)行最終處理,以增強(qiáng)網(wǎng)絡(luò)對(duì)圖像細(xì)節(jié)的提取能力。
SPD 由空間深度層和非跨步卷積層組成,對(duì)于任何尺度為S×S×C1的特征圖X,SPD 可將其切為如下公式的子特征序列。
將這些特征子圖沿著通道維度連接起來(lái)便使特征 圖X(S,S,C1)轉(zhuǎn)換成 中間特征 圖X′(S/scale,S/scale,scale2C2)。如圖4 所示,當(dāng)scale=2時(shí)通過(guò)降采樣得到大小為(S/2,S/2,C1)的4 個(gè)特征 子 圖f0,0、f1,0、f0,1、f1,1。其 中X′的 空 間 維 度 減 少了1/2,通道維度增加了4 倍。
圖4 SPD 特征提取
為盡可能保留所有的判別性特征信息,在SPD 特征轉(zhuǎn)換層之后再添加一個(gè)帶有濾波器的非跨步卷積層,得到最終特征圖X″(S/scale,S/scale,C2),這樣可以有效減少細(xì)粒度信息的丟失。
2.1.3 結(jié)構(gòu)整體設(shè)計(jì)
本研究提出了一種新的聚合網(wǎng)絡(luò)結(jié)構(gòu)DRSPD,該結(jié)構(gòu)將DRes 的動(dòng)態(tài)感知和SPD 卷積的細(xì)節(jié)提取結(jié)合在一起,以增強(qiáng)對(duì)各類型疵點(diǎn)的語(yǔ)義捕捉能力,提升檢測(cè)精度。DR-SPD 結(jié)構(gòu)如圖5所 示,CBS 由1×1 卷 積(Conv)、數(shù) 據(jù) 歸 一 化(Batch Normalization)和激活函數(shù)SiLU 組成,Cat表示連接操作。DR-SPD 通過(guò)控制最長(zhǎng)和最短的梯度路徑使網(wǎng)絡(luò)能夠?qū)W習(xí)更多的特征,最后引入殘差結(jié)構(gòu)的思想將特征信息進(jìn)行疊加后輸送到SPD 卷積中,從而具有更好的泛化能力。
圖5 DR-SPD 結(jié)構(gòu)
在檢測(cè)過(guò)程中,當(dāng)疵點(diǎn)的顏色、形態(tài)與織物紋理相似時(shí)也會(huì)對(duì)檢測(cè)結(jié)果造成較大的影響。GAM[19]能在減少信息丟失的同時(shí)擴(kuò)大全局交互性,在多個(gè)維度獲取特征信息,以達(dá)到提升網(wǎng)絡(luò)性能的目標(biāo)。GAM 在CBAM 注意力的基礎(chǔ)上加以改進(jìn)。如圖6 所示,通道注意力子模塊使用3D 序列來(lái)保存每個(gè)維度上的信息,然后通過(guò)兩層的編碼-解碼器結(jié)構(gòu)(MLP)增強(qiáng)跨維度通道的空間相關(guān)性。為更好地聚焦于空間信息,空間注意力子模塊使用兩個(gè)卷積層進(jìn)行空間信息融合。由于最大池化操作容易造成信息丟失從而影響整體性能,所以省略池化操作以達(dá)到更優(yōu)的映射特性保留。空間注意力子模塊如圖7 所示。
圖6 通道注意力子模塊
圖7 空間注意力子模塊
GAM 整體計(jì)算過(guò)程如圖8 所示。將上述兩個(gè)子模 塊進(jìn)行融合,當(dāng)輸入特征映射F1∈RC×H×W時(shí),中間狀態(tài)F2和輸出結(jié)果F3的計(jì)算公式如下。
圖8 GAM 整體計(jì)算過(guò)程
式中:MC表示通道注意力圖;Ms表示空間注意力圖;?表示按元素進(jìn)行乘法操作。
將GAM 模塊添加到模型Backbone 與Head的連接處,可以有效抑制干擾信息,提升對(duì)于小目標(biāo)的敏感性,使Head 部分能夠進(jìn)行更好的特征融合,以提高檢測(cè)精度。
在原YOLOv7 特征融合過(guò)程中為了能獲得多尺度信息,對(duì)輸入的特征圖進(jìn)行多次上下層采樣。由于檢測(cè)目標(biāo)尺度較小,在不斷上下采樣的過(guò)程中很容易導(dǎo)致圖像細(xì)節(jié)的丟失,影響檢測(cè)精度。所以,本研究在保留其原始融合路徑的同時(shí),加入3 條橫向跳躍路徑,如圖9 所示。將同一層的輸入和輸出節(jié)點(diǎn)跨層連接起來(lái),使模型中各個(gè)檢測(cè)層均多加了一條特征融合通道,縮短深淺層之間信息傳遞的距離,加速模型收斂,強(qiáng)化不同層級(jí)的細(xì)節(jié)特征。
圖9 特征融合網(wǎng)絡(luò)改進(jìn)
改進(jìn)后的YOLOv7 整體網(wǎng)絡(luò)結(jié)構(gòu)如圖10所示。
圖10 改進(jìn)后的YOLOv7 模型
數(shù)據(jù)集采自浙江義烏某紡織車間,共計(jì)3 514張含有疵點(diǎn)的圖片,其中每張圖片中包含1 種及以上的疵點(diǎn)類型。根據(jù)廠家實(shí)際檢測(cè)需求,本研究選取的疵點(diǎn)類型及圖片數(shù)量為臟漬822 張、結(jié)頭738 張、漿 斑537 張、松經(jīng)776 張、三絲641 張。將數(shù)據(jù)集按照8∶2 的比例作為訓(xùn)練集和測(cè)試集。
在實(shí)際應(yīng)用場(chǎng)景中,根據(jù)公式(7)計(jì)算后得出的rs值若小于3%,則稱該疵點(diǎn)為小目標(biāo)。
式中:Sbox表示疵點(diǎn)標(biāo)注框的面積;Simage表示圖像的總面積。
經(jīng)計(jì)算,該數(shù)據(jù)集中的大部分對(duì)象都符合小目標(biāo)的定義。為能清晰展示疵點(diǎn)類型,將圖像中的疵點(diǎn)部分進(jìn)行裁剪并放大處理,如圖11 所示。
圖11 疵點(diǎn)類型
本次試驗(yàn)中的硬件平臺(tái)選用搭載了6×Intel Xeon E5-2680 v4、Nvidia RTX 3080 GPU、內(nèi)存26 GB 的服務(wù)器。環(huán)境配置為PyTorch2.0.0、Python3.8、Cuda11.8。選擇隨機(jī)梯度優(yōu)化器,使用遷移學(xué)習(xí)的方法加載預(yù)訓(xùn)練權(quán)重,使用模型主干凍結(jié)的訓(xùn)練策略,開(kāi)啟多線程訓(xùn)練,并開(kāi)啟Mosaic 圖像增強(qiáng),學(xué)習(xí)率隨著訓(xùn)練世代的增加而減少。為了更好地評(píng)價(jià)模型,選定精確率(Precision,P)和召回率(Recall,R)作為基礎(chǔ)指標(biāo),通過(guò)這兩個(gè)基礎(chǔ)指標(biāo)可以進(jìn)一步整合成更綜合的檢測(cè)指標(biāo):平均精度(Average Precision,AP)和平均精度均值(mean Average Precision,mAP)。
針對(duì)本研究中對(duì)YOLOv7 算法提出的幾處改進(jìn),通過(guò)逐一增加改進(jìn)模塊的方法設(shè)計(jì)了消融試驗(yàn),以驗(yàn)證其有效性,試驗(yàn)結(jié)果如表1 所示。將DR-SPD 結(jié)構(gòu)中的SPD 卷積換為普通卷積即對(duì)應(yīng)表1 中的DR 結(jié)構(gòu)??梢钥闯鯠R 結(jié)構(gòu)對(duì)漿斑、三絲的提升效果最明顯,其AP值分別提升了2.14 個(gè)百分點(diǎn)和1.83 個(gè)百分點(diǎn),但也導(dǎo)致臟漬、結(jié)頭的檢測(cè)精度有所下降。這說(shuō)明設(shè)計(jì)的DRes單元雖然使模型對(duì)不規(guī)則疵點(diǎn)有了更為動(dòng)態(tài)的視野,但同時(shí)也容易對(duì)點(diǎn)狀疵點(diǎn)產(chǎn)生誤判,而加入SPD 卷積后解決了上述問(wèn)題,這也驗(yàn)證了DRSPD 結(jié)構(gòu)的有效性。加入GAM 注意力機(jī)制后,臟漬、結(jié)頭和松經(jīng)的AP值分別提升了1.46 個(gè)百分點(diǎn)、1.23 個(gè)百分點(diǎn)和1.65 個(gè)百分點(diǎn),反映出模型對(duì)于織物紋理的抗干擾能力增強(qiáng),也能對(duì)分散性的疵點(diǎn)給予更多的關(guān)注度。在加入改進(jìn)的特征融合網(wǎng)絡(luò)后,臟漬和結(jié)頭精度的提升最為明顯,而這兩種疵點(diǎn)的尺度相比于其他疵點(diǎn)類型都更小,這表明該網(wǎng)絡(luò)能更好地保留細(xì)節(jié)特征。模型對(duì)小目標(biāo)疵點(diǎn)的檢測(cè)精度得到了有效提升。
表1 消融試驗(yàn)結(jié)果
在目標(biāo)檢測(cè)領(lǐng)域,其他主流算法也占據(jù)著相當(dāng)重要的地位。為了更好地展示改進(jìn)效果,將改進(jìn)的YOLOv7 與其他算法進(jìn)行對(duì)比試驗(yàn),結(jié)果如表2 所示??梢钥闯觯現(xiàn)aster RCNN 在檢測(cè)速度上花費(fèi)時(shí)間較長(zhǎng),不滿足對(duì)實(shí)時(shí)性的要求,而YOLOv5s 在實(shí)時(shí)性上表現(xiàn)良好但精度較低。改進(jìn)的YOLOv7 模型雖然檢測(cè)速度有所下降,但其在滿足實(shí)時(shí)性要求的同時(shí)提升了檢測(cè)精度,在整體表現(xiàn)上相比其他模型更加優(yōu)秀。
表2 主流算法對(duì)比表
YOLOv7 模型改進(jìn)前后檢測(cè)效果對(duì)比如圖12 所示。可以看出,當(dāng)疵點(diǎn)特征與背景相似或疵點(diǎn)尺寸較小時(shí),改進(jìn)YOLOv7 由漏檢、誤檢變?yōu)榭梢詼?zhǔn)確地檢測(cè)出其位置及大小,并給出更高的置信度;對(duì)于不規(guī)則形狀的疵點(diǎn),改進(jìn)YOLOv7模型的預(yù)測(cè)框長(zhǎng)寬都會(huì)更加貼近疵點(diǎn)形狀,并通過(guò)多預(yù)測(cè)框的方式來(lái)精準(zhǔn)表示各部分疵點(diǎn)。
圖12 檢測(cè)效果對(duì)比圖
為驗(yàn)證本研究算法在實(shí)際工業(yè)場(chǎng)景中的有效性,在工廠現(xiàn)有平臺(tái)上搭建一個(gè)視覺(jué)采集模塊后,將改進(jìn)模型部署到設(shè)備中進(jìn)行實(shí)際測(cè)試。測(cè)試環(huán)境如圖13 所示。
圖13 測(cè)試環(huán)境
將130 個(gè)無(wú)疵點(diǎn)與65 個(gè)有疵點(diǎn)的織物作為一組測(cè)試對(duì)象,對(duì)該組對(duì)象進(jìn)行20 次無(wú)序測(cè)試,試驗(yàn)mAP值94.85%,檢測(cè)速度43 幀/s。由于檢測(cè)過(guò)程中受傳送帶、相機(jī)振動(dòng)等環(huán)境因素的影響,導(dǎo)致mAP略有下降。同時(shí),上位機(jī)在檢測(cè)時(shí)也消耗了系統(tǒng)資源,所以檢測(cè)速度下降到43 幀/s,但仍能較好地滿足實(shí)際生產(chǎn)需求。
對(duì)于因織物疵點(diǎn)尺寸小、形狀復(fù)雜而導(dǎo)致檢測(cè)精確率較低等問(wèn)題,本研究在YOLOv7 的基礎(chǔ)上加入新設(shè)計(jì)的DR-SPD 結(jié)構(gòu),并在模型主干網(wǎng)絡(luò)與頭部的連接處添加GAM 注意力模塊;最后,通過(guò)加入3 條橫向跳躍路徑對(duì)特征融合網(wǎng)絡(luò)進(jìn)行改進(jìn)。試驗(yàn)結(jié)果表明:改進(jìn)后YOLOv7 模型相較于 原 始YOLOv7 模 型,mAP值 提 升 了3.97 個(gè) 百分點(diǎn),其特征提取能力和抗干擾能力都得到增強(qiáng),能聚焦于更為關(guān)鍵的圖像細(xì)節(jié),綜合性能也優(yōu)于其他主流算法。將改進(jìn)YOLOv7 模型部署到車間設(shè)備上進(jìn)行測(cè)試,其mAP值達(dá)到94.85%,檢測(cè)速度為43 幀/s,驗(yàn)證了其在實(shí)際工業(yè)場(chǎng)景中的有效性。后續(xù)工作將研究如何使該模型更輕量化,以更大程度降低部署時(shí)對(duì)于硬件設(shè)備的要求。