潘 楊 張守京 楊文彬
(西安工程大學(xué),陜西西安,710600)
我國(guó)是棉花生產(chǎn)大國(guó),原棉質(zhì)量直接影響最終棉紡織品質(zhì)量。原棉在采摘、運(yùn)輸、加工過(guò)程中混入的塑料薄膜、丙綸絲、棉稈、羽毛等異纖會(huì)對(duì)棉紡織品質(zhì)量造成嚴(yán)重影響,如紗線斷裂、形成疵點(diǎn)等。因此,尋找一種快速、準(zhǔn)確的棉花異纖檢測(cè)方法十分重要。
目前,國(guó)內(nèi)外在棉花異纖檢測(cè)研究中采用的檢測(cè)方法主要為光學(xué)檢測(cè)與超聲波檢測(cè)。其中,超聲波檢測(cè)[1]通過(guò)超聲波發(fā)生裝置,向通道中的棉花定向發(fā)射超聲波,利用超聲接收裝置,接收反射的超聲波來(lái)檢測(cè)棉花異纖,這種檢測(cè)技術(shù)主要針對(duì)與棉花材質(zhì)、面積差異較大的棉花異纖,對(duì)小尺寸的棉花異纖檢測(cè)效果欠佳且該檢測(cè)技術(shù)受氣溫、濕度、現(xiàn)場(chǎng)振動(dòng)、被測(cè)物運(yùn)行速度等因素的干擾,局限性大,很少被采用。光學(xué)檢測(cè)分為可見(jiàn)光檢測(cè)、紫外線檢測(cè)、偏振光檢測(cè)與紅外光檢測(cè)。其中紫外線檢測(cè)[2]采用兩組紫外線光源作為棉花的照明光源,激發(fā)棉花異纖的熒光效應(yīng),通過(guò)兩臺(tái)高速CCD 相機(jī)拍攝檢測(cè)熒光信號(hào)來(lái)判定棉花異纖,此方法僅針對(duì)帶有熒光效應(yīng)的白色棉花異纖,其他棉花異纖無(wú)法檢測(cè)。偏振光檢測(cè)[3]采用經(jīng)過(guò)偏振調(diào)制的白色光源對(duì)原棉進(jìn)行照射,通過(guò)不同物體表面反射對(duì)偏振角度會(huì)發(fā)生改變這一原理,利用多角度偏振相機(jī)采集光線改變的角度來(lái)檢測(cè)棉花異纖,此方法主要針對(duì)透明或半透明塑料薄膜。紅外光檢測(cè)[4]利用紅外光敏器件采集不同材質(zhì)的物體對(duì)熱能的殘留效應(yīng)或溫升效應(yīng)來(lái)識(shí)別棉花異纖,此方法主要針對(duì)羽毛類棉花異纖,且需要調(diào)節(jié)參數(shù),具有局限性。可見(jiàn)光檢測(cè)采用兩組三基色可見(jiàn)光源作為棉花的照明裝置,左右兩側(cè)兩臺(tái)高速CCD 相機(jī)拍攝棉流圖片之后通過(guò)傳統(tǒng)圖像處理[5-6]、機(jī)器學(xué)習(xí)[7-8]、深度學(xué)習(xí)等方法來(lái)檢測(cè)棉花異纖。一些方法[9-12]使用深度學(xué)習(xí)模型進(jìn)行了棉花異纖檢測(cè),但檢測(cè)速度慢,不能解決小尺寸、背景復(fù)雜的棉花異纖檢測(cè)中出現(xiàn)的誤檢、漏檢問(wèn)題。
本研究針對(duì)棉花異纖檢測(cè)問(wèn)題提出一種基于YOLOv5 的改進(jìn)模型。在主干網(wǎng)絡(luò)中嵌入卷積注意力模塊(CBAM)[13],使模型可以自主學(xué)習(xí)每個(gè)通道的權(quán)重,增強(qiáng)模型分辨棉花異纖的能力,抑制背景信息干擾;嵌入卷積注意力模塊后,模型參數(shù)量增加使得模型檢測(cè)速度降低,故使用深度可分離卷積[14]替換模型中的普通卷積操作,減少模型參數(shù)量,提高模型檢測(cè)速度;基于特征融合[15]思想,設(shè)計(jì)一個(gè)用于檢測(cè)小尺寸棉花異纖的檢測(cè)層,使得模型更適用于棉花異纖檢測(cè)任務(wù)。
YOLO[16-19]是目前最著名的一階段目標(biāo)檢測(cè)算法之一,它將圖片使用網(wǎng)格進(jìn)行劃分,每個(gè)網(wǎng)格負(fù)責(zé)檢測(cè)落在其內(nèi)的目標(biāo),具有速度快、精度高的優(yōu)點(diǎn)。YOLOv5 按模型從小到大可分為YOLOv5S、YOLOv5M、YOLOv5L、YOLOv5X。考慮到后期模型要部署到棉花異纖檢測(cè)系統(tǒng)中,本研究對(duì)輕量級(jí)的YOLOv5S 模型進(jìn)行改進(jìn)。YOLOv5S 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。YOLOv5S 模型主要由4 部分組成,分別為輸入端、Backbone、Neck、Head。

圖1 YOLOv5S 網(wǎng)絡(luò)結(jié)構(gòu)
輸入端主要包括圖片的自動(dòng)填充、圖片的數(shù)據(jù)增強(qiáng)以及錨框計(jì)算3 部分。圖片的自動(dòng)填充對(duì)原始特征圖的尺寸進(jìn)行調(diào)整,將輸入統(tǒng)一為標(biāo)準(zhǔn)尺寸;圖片的數(shù)據(jù)增強(qiáng)采用Mosaic 技術(shù),Mosaic將4 張?zhí)卣鲌D以隨機(jī)排布、隨機(jī)裁剪的方式進(jìn)行拼接,豐富特征圖背景;錨框計(jì)算通過(guò)計(jì)算反向傳播輸出的預(yù)測(cè)框與真實(shí)框之間的大小誤差,迭代獲取大小最合適的錨框。
Backbone 是網(wǎng)絡(luò)的特征提取部分,主要包括Focus、Conv、C3、SPP 模塊。Focus 模塊將輸入特征圖做切片處理,切片后的特征圖進(jìn)行通道維度的堆疊,輸出特征圖大小為原來(lái)的1/4,通道數(shù)為原來(lái)的4 倍,再經(jīng)過(guò)一次Conv(標(biāo)準(zhǔn)卷積),同時(shí)實(shí)現(xiàn)了下采樣與特征提取,原理如圖2 所示。SPP 模塊可以將任意大小的輸入特征圖轉(zhuǎn)換為固定大小的輸出特征圖,且只需進(jìn)行一次標(biāo)準(zhǔn)卷積操作,減少了模型計(jì)算量。Conv 和C3 模塊為主要的特征提取模塊,SPP、C3、Conv 結(jié)構(gòu)如圖3所示。

圖2 Focus 原理示意圖

圖3 SPP、C3、Conv 結(jié)構(gòu)圖
YOLOv5 中,隨著網(wǎng)絡(luò)深度的增加,大量的卷積操作會(huì)造成小目標(biāo)的特征信息丟失甚至消失。因此,在Neck 部分進(jìn)行特征融合,使特征圖既包含細(xì)節(jié)信息,也包含語(yǔ)義信息,提升檢測(cè)精度。Head 部分輸出目標(biāo)的類別概率與邊框位置信息,本部分共由3 個(gè)檢測(cè)層組成,分別用來(lái)檢測(cè)大小不同的目標(biāo),最后在圖像中標(biāo)出預(yù)測(cè)框與目標(biāo)類別。
為了解決棉花異纖檢測(cè)中透明塑料薄膜、丙綸絲與棉稈等背景復(fù)雜、小尺寸棉花異纖的漏檢、誤檢問(wèn)題,在原YOLOv5S 模型中的普通卷積Conv 之后嵌入CBAM,以增強(qiáng)網(wǎng)絡(luò)的特征提取能力,使網(wǎng)絡(luò)在檢測(cè)過(guò)程中更好地關(guān)注棉花異纖目標(biāo),抑制背景信息干擾。CBAM 結(jié)構(gòu)如圖4所示。

圖4 CBAM 結(jié)構(gòu)圖
圖4 中,CBAM 模塊的輸入特征圖先后經(jīng)過(guò)通道注意力模塊、空間注意力模塊加權(quán)后得到CBAM 的輸出特征圖。通道注意力模塊、空間注意力模塊結(jié)構(gòu)如圖5 所示。

圖5 通道注意力模塊、空間注意力模塊結(jié)構(gòu)圖
圖5 中,輸入特征圖分別經(jīng)過(guò)MaxPool、Avg-Pool 操作后得到最大池化向量與平均池化向量,這兩個(gè)向量分別經(jīng)共享全連接層后得到兩個(gè)維度相同的向量,將這兩個(gè)維度相同的向量做加和操作后再經(jīng)過(guò)sigmoid 激活函數(shù)得到通道注意力權(quán)值。通道注意力權(quán)值與輸入特征圖做乘法操作后得到通道注意力模塊的輸出特征圖。通道注意力模塊表達(dá)式如公式(1)所示。

式中:Fc表示通道注意力權(quán)值;F表示C×H×W的輸入特征圖,其中C為輸入特征圖通道數(shù),H為輸入特征圖高度,W為輸入特征圖寬度;MaxPool 為全局最大池化;AvgPool 為全局平均池化;MLP 為共享全連接層;W0與W1為全連接層權(quán)重;Favg與Fmax分別代表平均池化向量與最大池化向量。
將通道注意力模塊的輸出特征圖作為空間注意力模塊的輸入特征圖,該特征圖分別進(jìn)行Max-Pool 與AvgPool 操作后得到兩個(gè)1×H×W特征圖,將它們?cè)谕ǖ谰S度進(jìn)行拼接后得到一個(gè)2×H×W的特征圖,該特征圖經(jīng)過(guò)一個(gè)卷積核大小為7×7 的卷積層后再通過(guò)sigmoid 函數(shù)得到空間注意力權(quán)值。空間注意力權(quán)值與空間注意力模塊的輸入特征圖做乘法操作后得到CBAM 的輸出特征圖。空間注意力模塊的表達(dá)式如公式(2)所示。

式中:Ms表示空間注意力權(quán)值;f7×7表示卷積核大為7×7 的卷積操作。
在YOLOv5 模型中嵌入CBAM 后雖然提高了模型的檢測(cè)精度,減少了漏檢、誤檢問(wèn)題,但是同時(shí)也增加了模型的參數(shù)量,降低了模型的檢測(cè)速度。為了使模型既具有較高的檢測(cè)精度也具有較高的檢測(cè)速度,本研究使用深度可分離卷積(DWConv)替換YOLOv5 模型中的普通卷積(Conv)操作。深度可分離卷積原理如圖6 所示。

圖6 深度可分離卷積
圖6 中,深度可分離卷積分為兩步。第1 步使用C個(gè)卷積核大小為K×K的卷積核對(duì)輸入特征圖做逐通道卷積,其中一個(gè)卷積核只對(duì)輸入特征圖的一個(gè)通道做卷積操作,得到C個(gè)H×W的特征圖。第2 步使用N個(gè)過(guò)濾器(每個(gè)過(guò)濾器由C個(gè)1×1 的卷積核組成)分別對(duì)第1 步的輸出特征圖做逐點(diǎn)卷積操作,得到輸出特征圖。給定任意輸入特征圖Fi∈RC×H×W,要得到輸出特征圖FO∈RN×P×Q。其中,C為輸入特征圖的通道數(shù),H為輸入特征圖的高度,W為輸入特征圖的寬度,卷積核大小為K×K,N為輸出特征圖的通道數(shù),P為輸出特征圖的高度,Q為輸出特征圖的寬度。若使用深度可分離卷積,其卷積核參數(shù)量為C×K2+C×N×1×1。而使用普通卷積,其卷積核參數(shù)量為C×K2×N。所以,使用深度可分離卷積可以減少模型中卷積核參數(shù)量,從而減少計(jì)算量,提高模型的檢測(cè)速度。
棉花在采摘過(guò)程中除了混入如廢紙、丙綸絲、塑料薄膜等異纖外,還會(huì)混入如棉稈類的偽異纖。此類棉花異纖體積較小,而在YOLOv5 模型中,通過(guò)卷積核提取的底層特征圖具有較高的分辨率,顏色、紋理清晰,目標(biāo)位置準(zhǔn)確。但隨著網(wǎng)絡(luò)加深,底層特征圖經(jīng)過(guò)多次卷積操作后,雖然提取的特征圖語(yǔ)義信息逐漸豐富,含有更多概念層信息,更易于人類理解,但是圖片的分辨率低,目標(biāo)位置較為粗略,隨著網(wǎng)絡(luò)逐步加深,甚至?xí)?dǎo)致小尺寸棉花異纖目標(biāo)丟失,從而導(dǎo)致漏檢、誤檢問(wèn)題。
在原YOLOv5 模型中,第17 層、第20 層、第23 層輸出的特征圖分別用于對(duì)小型、中型、大型目標(biāo)檢測(cè),但由于小尺寸棉花異纖在數(shù)據(jù)圖片中所占面積很小,經(jīng)過(guò)多次卷積后會(huì)丟失目標(biāo),造成漏檢。因此,為了提高小尺寸棉花異纖的檢測(cè)精度,解決高層特征圖分辨率低、目標(biāo)位置粗略甚至丟失的問(wèn)題,在原模型的基礎(chǔ)上,增加了一層融合底層特征的小尺寸棉花異纖檢測(cè)層。將第19 層提取的棉花異纖特征圖與第2 層提取的棉花異纖特征圖進(jìn)行通道維度的拼接,融合其細(xì)節(jié)信息和語(yǔ)義信息,從而使模型在檢測(cè)小尺寸棉花異纖時(shí)具有更高的精度。改進(jìn)后網(wǎng)絡(luò)結(jié)構(gòu)如圖7 所示。

圖7 改進(jìn)的YOLOv5 網(wǎng)絡(luò)結(jié)構(gòu)
本研究的試驗(yàn)環(huán)境為Windows10 企業(yè)版操作系統(tǒng),Intel(R)Core(TM)i9-10900X CPU @3.70 GHz 處理器,NVIDIA GeForce RTX 2080Ti 顯卡兩塊,深度學(xué)習(xí)框架為Pytorch-1.10.0、CUDA 版本為CUDA-10.2。訓(xùn)練參數(shù):初始學(xué)習(xí)率為0.01,動(dòng)量值為0.937,每批次包含16 張圖片,最大迭代次數(shù)300 次。
本研究數(shù)據(jù)是對(duì)紡織實(shí)驗(yàn)室的異纖機(jī)棉流進(jìn)行拍攝,采集到3 659 張平均尺寸為4 000 pixel×3 000 pixel 含有不同類型棉花異纖的棉花圖片作為樣本集。樣本集包含棉花異纖共6 大類:廢紙、塑料薄膜、丙綸絲、棉稈、棉線、羽毛。將采集的樣本集使用LabelImg 標(biāo)記出棉花異纖在圖中的位置,得到最終數(shù)據(jù)集。數(shù)據(jù)集以8∶2 的比例劃分為訓(xùn)練集與測(cè)試集。數(shù)據(jù)集可視化結(jié)果如圖8 所示。其中異纖尺寸分布以及中心坐標(biāo)分布是歸一化處理結(jié)果。

圖8 數(shù)據(jù)集可視化結(jié)果
本研究使用平均精度均值mAP、模型檢測(cè)速度作為模型評(píng)價(jià)指標(biāo),mAP∈[0,1],其值越大表示模型檢測(cè)效果越好。其中mAP分為mAP@0.5和mAP@0.5∶0.95。mAP@0.5 為真實(shí)框與預(yù)測(cè)框的交并比IoU=0.5 時(shí)的mAP,mAP@0.5∶0.95為IoU在0.5 到0.95(步長(zhǎng)0.05)上的平均mAP。模型檢測(cè)速度由在本研究GPU 環(huán)境下,檢測(cè)1 000張棉花圖片的檢測(cè)時(shí)長(zhǎng)得到。mAP計(jì)算公式如下。

式中:P表示檢測(cè)精度,即被正確檢測(cè)的棉花異纖數(shù)量占檢測(cè)出的棉花異纖數(shù)量的比值;R表示召回率,即被正確檢測(cè)的棉花異纖數(shù)量占數(shù)據(jù)集棉花異纖數(shù)量的比值;TP為被正確檢測(cè)的棉花異纖數(shù)量;FP為被誤檢的棉花異纖數(shù)量;FN為被誤檢的非棉花異纖數(shù)量;n為總類別數(shù);i為當(dāng)前類別的序號(hào)。
為了驗(yàn)證模型改進(jìn)后的效果,將改進(jìn)后的模型與原YOLOv5 模型進(jìn)行各項(xiàng)指標(biāo)的對(duì)比,如圖9 和圖10 所示。

圖9 mAP 值結(jié)果對(duì)比

圖10 損失結(jié)果對(duì)比
由圖9 可以看出,改進(jìn)后模型mAP@0.5 值與mAP@0.5∶0.95 值分別為0.981 0、0.773,相較于原模型分別提高0.022 5、0.120,mAP@0.5小幅提升,mAP@0.5∶0.95 大幅提升,且改進(jìn)模型迭代曲線更加平穩(wěn),波動(dòng)較小。
由圖10 可以看出,50 次迭代后,改進(jìn)后模型的定位損失、置信度損失、分類損失曲線均趨于平穩(wěn),各項(xiàng)損失均小于原模型,表明改進(jìn)后的模型收斂速度更快,損失值更小,且置信度損失前20 次迭代損失起始值小于0.15,并快速收斂,表明改進(jìn)后的模型對(duì)棉花背景與棉花異纖的分辨能力更高,檢測(cè)如塑料薄膜、白色丙綸絲的精度更高,漏檢、誤檢問(wèn)題得到解決。
3.3.1 消融試驗(yàn)
改進(jìn)后的YOLOv5 模型嵌入了CBAM 模塊,使用了DWConv,并增加了針對(duì)小尺寸棉花異纖的檢測(cè)層。為了驗(yàn)證各改進(jìn)對(duì)原模型的優(yōu)化作用,設(shè)計(jì)消融試驗(yàn),結(jié)果如表1 所示。

表1 消融試驗(yàn)結(jié)果
從表1 可以看出,模型1 較原模型參數(shù)減少2 454 976,檢測(cè)1 000 張樣本圖時(shí),所用時(shí)間減少約4 s,模型檢測(cè)速度提高,mAP值略有下降。模型2 特征提取能力提升,較原模型參數(shù)量增加43 912,模型的檢測(cè)時(shí)間增加2.35 s,但mAP@0.5、mAP@0.5∶0.95分別提升0.027 5、0.126。模型3 提升了模型對(duì)小尺寸棉花異纖的檢測(cè)能力,較原模型參數(shù)量增加662 689,模型的檢測(cè)時(shí)間增加約11 s,mAP@0.5、mAP@0.5∶0.95分別提升0.024 5、0.117。模型4 的mAP@0.5、mAP@0.5∶0.95較原模型分別提升0.022 5、0.120,雖然檢測(cè)1 000 張圖片所用時(shí)間比原模型多約6 s,但是滿足了棉花異纖檢測(cè)任務(wù)需求,且mAP值提升較大,較原模型更適用于棉花異纖檢測(cè)任務(wù)。
3.3.2 實(shí)際檢測(cè)結(jié)果分析
為了更好地驗(yàn)證改進(jìn)后的模型檢測(cè)效果,選取數(shù)據(jù)集中部分?jǐn)?shù)據(jù)進(jìn)行檢測(cè),結(jié)果如圖11所示。

圖11 效果對(duì)比圖
由圖11 可以看到,YOLOv5 算法中第一幅圖存在白色丙綸絲漏檢,第二幅存在羽毛漏檢,且將棉花背景錯(cuò)誤識(shí)別為白色丙綸絲,第三幅圖存在白色丙綸絲漏檢且將棉花背景錯(cuò)誤識(shí)別為羽毛,第四幅圖存在小塊棉稈漏檢,且將白色丙綸絲錯(cuò)誤識(shí)別為塑料薄膜。本研究改進(jìn)后的模型均準(zhǔn)確識(shí)別棉花異纖目標(biāo),未出現(xiàn)誤檢、漏檢現(xiàn)象,檢測(cè)效果明顯提升。
本研究針對(duì)目前棉花異纖檢測(cè)領(lǐng)域中背景復(fù)雜、棉花異纖種類繁多、尺寸較小,從而使得棉花異纖檢測(cè)存在誤檢、漏檢的問(wèn)題,提出了一種基于改進(jìn)YOLOv5 的棉花異纖檢測(cè)方法。該方法在原YOLOv5 模型的基礎(chǔ)上,通過(guò)嵌入卷積注意力模塊、使用深度可分離卷積、針對(duì)小尺寸棉花異纖增加檢測(cè)層等方法提高模型的檢測(cè)精度。試驗(yàn)結(jié)果表明:該方法對(duì)小尺寸、復(fù)雜背景的棉花異纖檢測(cè)效果優(yōu)于原YOLOv5 模型,滿足棉花異纖檢測(cè)任務(wù)需求且具有更高的精度,更適用于棉花異纖檢測(cè)任務(wù)。下一步將繼續(xù)改進(jìn)模型的結(jié)構(gòu)、減小模型大小,從而實(shí)現(xiàn)移動(dòng)端的棉花異纖實(shí)時(shí)檢測(cè)。