巫明秀, 吳 謹(jǐn)*, 張 晨, 朱 磊
(1. 武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430081; 2. 冶金自動(dòng)化與檢測(cè)技術(shù)教育部工程中心,湖北 武漢 430081)
棉花作為棉紡業(yè)的重要基礎(chǔ)原料,對(duì)促進(jìn)國(guó)民經(jīng)濟(jì)和生產(chǎn)發(fā)展具有重大意義。但是棉花中易摻雜異于棉花的異性纖維(簡(jiǎn)稱(chēng)異纖),會(huì)影響棉紡織品的品質(zhì)和生產(chǎn)效率。因此,棉花異纖檢測(cè)系統(tǒng)作為棉花異纖清除機(jī)的重要組成部分,其檢測(cè)的準(zhǔn)確性和快速性會(huì)影響棉花分揀的質(zhì)量和效率。如何智能、高效且快速地檢測(cè)出棉花中的異纖是棉產(chǎn)品加工需要解決的重要問(wèn)題。
近年來(lái),國(guó)內(nèi)外關(guān)于棉花異纖檢測(cè)的研究取得了一些進(jìn)展。Gamble[1]和Mustafic[2]通過(guò)熒光光譜法實(shí)現(xiàn)了棉花異纖的檢測(cè)。郟東耀和丁天懷[3]提出一種多波段光譜信息融合成像檢測(cè)方法實(shí)現(xiàn)棉花異纖的檢測(cè)。此類(lèi)研究需要使用光譜儀,且增加新樣本時(shí)需要重新尋找合適的光譜范圍來(lái)進(jìn)行檢測(cè)。杜玉紅[4]等人采用聚類(lèi)統(tǒng)計(jì)RGB圖像信息的方法實(shí)現(xiàn)異纖的識(shí)別定位。師紅宇[5-6]等人構(gòu)建圖像的灰度和方向特征差分圖進(jìn)行異纖的檢測(cè)。此類(lèi)研究多基于傳統(tǒng)圖像處理方法進(jìn)行異纖檢測(cè)。楊文柱[7-8]等人提出基于遺傳算法、支持向量機(jī)(SVM)的異纖檢測(cè)方法。
2014年R-CNN[9]的提出,使得基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法受到越來(lái)越多的關(guān)注。卷積神經(jīng)網(wǎng)絡(luò)特征提取方法的泛化性能優(yōu)于傳統(tǒng)人工特征提取方法,在醫(yī)學(xué)[10]、道路檢測(cè)[11]等不同場(chǎng)景的圖像分類(lèi)和檢測(cè)任務(wù)中均得到了廣泛應(yīng)用。但是深層神經(jīng)網(wǎng)絡(luò)存在計(jì)算復(fù)雜度較高的問(wèn)題。2017年Andrew G.Howard[12]提出了可移植于移動(dòng)端或嵌入式設(shè)備的輕量級(jí)MobileNets網(wǎng)絡(luò)進(jìn)行目標(biāo)分類(lèi),采用了深度可分離卷積,減少了計(jì)算量,檢測(cè)速度得到了明顯提升。
目前鮮有研究將深度學(xué)習(xí)網(wǎng)絡(luò)應(yīng)用于棉花異纖檢測(cè),且研究的試驗(yàn)數(shù)據(jù)多為專(zhuān)用實(shí)驗(yàn)室測(cè)試平臺(tái)采集的幾十或百?gòu)垐D像,對(duì)實(shí)際設(shè)備現(xiàn)場(chǎng)采集圖片的檢測(cè)效果尚需進(jìn)一步驗(yàn)證。為此,本文基于YOLOv3[13]多尺度特征融合網(wǎng)絡(luò)架構(gòu),引入MobileNets作為特征提取器,并提出一種分段式學(xué)習(xí)率來(lái)優(yōu)化訓(xùn)練網(wǎng)絡(luò),采集了5 099張現(xiàn)場(chǎng)實(shí)際棉花異纖圖像進(jìn)行網(wǎng)絡(luò)訓(xùn)練,并使用圖像數(shù)據(jù)增廣方法擴(kuò)充數(shù)據(jù)集,以實(shí)現(xiàn)棉花異纖的檢測(cè)。
目前網(wǎng)絡(luò)上尚無(wú)數(shù)量大且類(lèi)型統(tǒng)一的棉花異纖公開(kāi)數(shù)據(jù)集。本文的數(shù)據(jù)集使用棉花異纖清除機(jī)上的CCD攝像機(jī)進(jìn)行圖像采集。獲取的棉流圖視頻數(shù)據(jù)如圖1所示,然后再以132×50分辨率進(jìn)行抽幀裁剪。數(shù)據(jù)集共有5 099張圖像,棉花異纖種類(lèi)分為4種:分別為塊狀異性纖維(死棉、廢紙、塑料薄膜、地膜、雞毛)、塊狀偽異纖(黃棉花、棉葉)、條狀異性纖維(丙綸絲、絨線(xiàn)),以及條狀偽異纖(棉秸稈)。4種棉花異纖圖像示例如圖2所示。
從數(shù)據(jù)集中選取80%的圖像作為訓(xùn)練集(4 079張),20%的圖像作為測(cè)試集(1 020張)。完成數(shù)據(jù)集的采集后,使用LabelImg軟件對(duì)原始數(shù)據(jù)集進(jìn)行手工標(biāo)注,標(biāo)注情況如表1所示。
圖1 CCD攝像機(jī)拍攝棉流圖Fig.1 Cotton flow image taken by CCD camera
圖2 棉花異纖圖像示例Fig.2 Example of foreign fiber images
表1 訓(xùn)練集和測(cè)試集中各類(lèi)別標(biāo)注框的個(gè)數(shù)
圖像增廣可以增加圖像樣本的多樣性,提高訓(xùn)練模型的泛化能力和魯棒性。本文采用了增強(qiáng)對(duì)比度、增加亮度、添加高斯噪聲、水平鏡像、裁剪、平移共6種方法進(jìn)行圖像增廣,同時(shí)對(duì)標(biāo)注框的位置也進(jìn)行相應(yīng)的操作。對(duì)棉花異纖圖像進(jìn)行圖像增廣處理后的結(jié)果示意圖如圖3所示。
圖3 棉花異纖圖像增廣示例Fig.3 Example of foreign fiber image augmentation
YOLOv3是基于回歸的目標(biāo)檢測(cè)算法。該網(wǎng)絡(luò)不需要生成區(qū)域建議框,直接將圖像輸入至網(wǎng)絡(luò)中回歸檢測(cè)目標(biāo),反向傳播可以貫穿整個(gè)網(wǎng)絡(luò)。由于實(shí)驗(yàn)數(shù)據(jù)集的圖像分辨率低,因此將YOLOv3原有的Darknet53特征提取網(wǎng)絡(luò)替換為結(jié)構(gòu)更簡(jiǎn)單、運(yùn)算復(fù)雜度更低的MobileNets網(wǎng)絡(luò),并取消了MobileNets分類(lèi)網(wǎng)絡(luò)最后的池化層和全連接層。MobileNets網(wǎng)絡(luò)共27層,其結(jié)構(gòu)如表2所示,其中conv為標(biāo)準(zhǔn)卷積,conv dw為深度卷積。
表2 MobileNets結(jié)構(gòu)Tab.2 MobileNets structure
續(xù) 表
MobileNets網(wǎng)絡(luò)采用深度可分離卷積來(lái)減少計(jì)算量,將標(biāo)準(zhǔn)3×3卷積分兩步進(jìn)行:(1)深度卷積,按照通道與3×3卷積核進(jìn)行按位相乘計(jì)算。(2)使用1×1的點(diǎn)卷積進(jìn)行標(biāo)準(zhǔn)卷積運(yùn)算。標(biāo)準(zhǔn)卷積的計(jì)算量為DF×DF×DK×DK×M×N,而深度分離卷積的計(jì)算量為DK×DK×M×DF×DF+1×1×M×N×DF×DF。因此,通過(guò)深度可分離卷積,計(jì)算量將會(huì)下降(1/N+1/DK2)倍,其中DF為特征圖尺寸,DK為卷積核尺寸,M為輸入通道數(shù),N為輸出通道數(shù)。
目標(biāo)位置預(yù)測(cè)步驟如下:(1)重置圖像尺寸,將原始圖像劃分為13×13的網(wǎng)格。(2)利用劃分的網(wǎng)格回歸預(yù)測(cè)目標(biāo)的相對(duì)位置,每個(gè)網(wǎng)格預(yù)測(cè)3個(gè)錨點(diǎn)框。(3)采用非極大值抑制法(NMS)過(guò)濾掉置信度和IoU(Intersection over Union)較低的錨點(diǎn)框。對(duì)每個(gè)錨點(diǎn)框預(yù)測(cè)置信度、邊界框的中心坐標(biāo)(x,y)、寬w和高h(yuǎn),分別記為to,tx,ty,tw,th。則修正后的錨點(diǎn)框的中心坐標(biāo)、寬和高分別為:
(1)
式中,(cx,cy)表示錨點(diǎn)框中心所在單元格相對(duì)于圖像左上角在x軸和y軸上的偏移量;pw表示原始錨點(diǎn)框的寬度;ph表示原始錨點(diǎn)框的高度。
圖4 MobileNets-YOLOv3算法框圖 Fig.4 Schematic diagram of MobileNets-YOLOv3 algorithm
改進(jìn)后的YOLOv3算法(簡(jiǎn)稱(chēng)MobileNets-YOLOv3)采用多尺度特征融合的方式,將28×28、14×14、7×7三種不同大小的特征圖進(jìn)行拼接以檢測(cè)目標(biāo)。由于在下采樣過(guò)程中會(huì)丟失部分圖像信息,故結(jié)合多尺度特征圖進(jìn)行檢測(cè)可以提高分類(lèi)準(zhǔn)確率和位置預(yù)測(cè)準(zhǔn)確度。MobileNets-YOLOv3算法結(jié)構(gòu)如圖4所示。其中conv_block為標(biāo)準(zhǔn)卷積加上正則化和Leaky ReLu激活層組成的模塊。
MobileNets-YOLOv3算法使用交叉損失熵方法進(jìn)行置信度損失(confLoss)、分類(lèi)損失(probLoss)和邊界框坐標(biāo)損失(xyLoss)的計(jì)算,使用總方誤差法(Sum-Squared Error)進(jìn)行邊界框?qū)捀邠p失(whLoss)的計(jì)算。各損失函數(shù)的計(jì)算公式如下:
(2)
(3)
(4)
(5)
本文使用TensorFlow深度學(xué)習(xí)框架實(shí)現(xiàn)MobileNets-YOLOv3算法。電腦配置為Inter(R) Core i7-8750H CPU @ 2.20 GHz處理器,16G運(yùn)行內(nèi)存,256GB SSD+1T硬盤(pán)容量,6GB GTX 1060 GPU,操作系統(tǒng)為Windows 10。使用Pycharm 2018.2.3編譯器,并配置了CUDA 9.2.217,cuDNN 7.2.1進(jìn)行GPU加速計(jì)算。采用TensorBoard可視化工具分析訓(xùn)練模型的性能。
棉花異纖檢測(cè)網(wǎng)絡(luò)的訓(xùn)練流程如圖5所示。
圖5 棉花異纖檢測(cè)訓(xùn)練流程Fig.5 Training process of cotton foreign fiber detection
首先對(duì)采集的棉花異纖數(shù)據(jù)集進(jìn)行邊界框的手工標(biāo)注,將數(shù)據(jù)集按8∶2的比例分為訓(xùn)練集和測(cè)試集,然后對(duì)訓(xùn)練集進(jìn)行圖像增廣操作,同時(shí)訓(xùn)練集的標(biāo)注框也進(jìn)行相應(yīng)的操作,最后使用MobileNets-YOLOv3為訓(xùn)練網(wǎng)絡(luò),獲得檢測(cè)模型,并利用測(cè)試集進(jìn)行檢測(cè)驗(yàn)證。
設(shè)置合理的網(wǎng)絡(luò)超參數(shù)能更有效地訓(xùn)練網(wǎng)絡(luò)且能提高檢測(cè)結(jié)果的精確度,具體設(shè)置如表3所示。
表3 超參數(shù)表Tab.3 Hyper parameters
在網(wǎng)絡(luò)訓(xùn)練中,學(xué)習(xí)率通常采用指數(shù)衰減法進(jìn)行網(wǎng)絡(luò)優(yōu)化。指數(shù)衰減法學(xué)習(xí)率(簡(jiǎn)稱(chēng)ED_LR)如式(7)所示,式中step表示當(dāng)前迭代步數(shù),初始學(xué)習(xí)率α0=1×10-4,衰減速度decay_steps=1 020。
(7)
圖6 分段式學(xué)習(xí)率變化曲線(xiàn)Fig.6 Curve of segmented learning rate
為了提高網(wǎng)絡(luò)訓(xùn)練性能,本文對(duì)學(xué)習(xí)率進(jìn)行了改進(jìn),將學(xué)習(xí)率劃分為兩個(gè)階段(如圖6所示):第一個(gè)階段從0開(kāi)始線(xiàn)性增加學(xué)習(xí)率,避免總損失函數(shù)出現(xiàn)無(wú)窮大的現(xiàn)象;第二個(gè)階段采用余弦函數(shù)非線(xiàn)性減小學(xué)習(xí)率,避免出現(xiàn)梯度震蕩,總損失函數(shù)不收斂的現(xiàn)象。改進(jìn)后的分段式學(xué)習(xí)率(簡(jiǎn)稱(chēng)S_LR)如式(8)所示。設(shè)置最大學(xué)習(xí)率為1×10-4,學(xué)習(xí)率最后減小至1×10-6,式中,第一階段截止步數(shù)wsteps=5 099,總訓(xùn)練步數(shù)tsteps=203 950。
(8)
4.3.1 評(píng)價(jià)指標(biāo)
本文選取平均準(zhǔn)確率(mAP)和幀速率作為整個(gè)模型檢測(cè)效果的評(píng)價(jià)指標(biāo)。AP(Average Precision)指的是Precision- Recall曲線(xiàn)與橫軸包圍的面積,mAP為所有類(lèi)的AP值取平均,計(jì)算公式如下:
(9)
(10)
(11)
(12)
4.3.2 試驗(yàn)結(jié)果與分析
采用4.2節(jié)設(shè)置的參數(shù)進(jìn)行棉花異纖檢測(cè)網(wǎng)絡(luò)的訓(xùn)練。訓(xùn)練模型的總損失函數(shù)約8萬(wàn)步時(shí)開(kāi)始收斂,第200輪時(shí),置信度損失為2.5×10-4,邊界框的位置預(yù)測(cè)損失為0.103 3,分類(lèi)損失為0.099 2,總損失為0.202 6。
選擇保存的第200輪訓(xùn)練模型分別對(duì)訓(xùn)練集和測(cè)試集進(jìn)行檢測(cè),得到的結(jié)果如圖7所示。由圖7(a)可知,訓(xùn)練集的預(yù)測(cè)準(zhǔn)確率達(dá)到90%以上,且塊狀偽異纖的誤檢率最低,表明了該訓(xùn)練模型能有效地學(xué)習(xí)訓(xùn)練集樣本數(shù)據(jù)的特征。由圖7(b)可知,測(cè)試集的預(yù)測(cè)準(zhǔn)確率平均為80%,對(duì)塊狀偽異纖的檢測(cè)效果最好,而條狀異纖的誤檢率最高,表明該檢測(cè)模型具有泛化性,對(duì)測(cè)試集的棉花異纖具有較好的檢測(cè)效果。
(a)訓(xùn)練集上的檢測(cè)結(jié)果比較(a) Comparison of the number of detected objects in train dataset
(b)測(cè)試集上的檢測(cè)結(jié)果比較(b) Comparison of the number of detected objects in test dataset圖7 數(shù)據(jù)集檢測(cè)目標(biāo)數(shù)對(duì)比Fig.7 Comparison of the number of detected objects in dataset
圖8給出了6張測(cè)試集圖像檢測(cè)結(jié)果圖。前4張均為預(yù)測(cè)正確的結(jié)果圖,且置信度均高于0.96。圖8(e)為誤檢的結(jié)果圖,將條狀偽異纖檢測(cè)為塊狀異纖(置信度為0.54)和條狀偽異纖(置信度為0.81),圖8(f)為測(cè)試集里唯一一張漏檢的結(jié)果圖。
圖8 檢測(cè)效果Fig.8 Detection results
4.3.3 圖像數(shù)據(jù)增廣對(duì)模型的影響
本文對(duì)數(shù)據(jù)增廣前、后訓(xùn)練的模型檢測(cè)結(jié)果進(jìn)行了對(duì)比試驗(yàn)。試驗(yàn)結(jié)果如表4所示,其中策略A表示未對(duì)原圖像數(shù)據(jù)進(jìn)行增廣處理,策略B表示對(duì)原始數(shù)據(jù)進(jìn)行了增廣處理。由表4可知,經(jīng)過(guò)圖像增廣后訓(xùn)練的檢測(cè)模型mAP提高了3.6%,訓(xùn)練時(shí)長(zhǎng)縮短了0.46 h。表5給出了不同訓(xùn)練集各類(lèi)別異纖的AP值結(jié)果。由表5可知,訓(xùn)練集經(jīng)過(guò)圖像增廣后,塊狀異纖、塊狀偽異纖,條狀異纖和條狀偽異纖的AP值分別提高了1.35%,4.65%,4.72%和3.65%。
表4 不同訓(xùn)練集檢測(cè)指標(biāo)對(duì)比Tab.4 Comparison of results in different training sets
表5 不同訓(xùn)練集各個(gè)類(lèi)別的AP值對(duì)比Tab.5 Comparison of AP in different training sets %
綜上,圖像增廣后,雖然訓(xùn)練模型時(shí)的收斂速度略有減慢,但是改善了模型的過(guò)擬合現(xiàn)象,提高了訓(xùn)練網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確度,且加快了訓(xùn)練速度,是一種有效的數(shù)據(jù)處理方式。
4.3.4 學(xué)習(xí)率的改進(jìn)對(duì)模型的影響
分別使用分段式學(xué)習(xí)率、指數(shù)衰減法學(xué)習(xí)率訓(xùn)練模型,檢測(cè)結(jié)果對(duì)比如表6所示。使用分段式學(xué)習(xí)率訓(xùn)練的模型在測(cè)試集上的mAP比指數(shù)衰減法高了5.64%,除了塊狀異纖的AP值略微下降了0.26%,塊狀偽異纖、條狀異纖和條狀偽異纖的AP值分別提高了8.98%、5.85%和7.99%。綜上,分段式學(xué)習(xí)率能夠加強(qiáng)訓(xùn)練模型的學(xué)習(xí)效果,提高檢測(cè)的泛化能力。
表6 不同學(xué)習(xí)率在測(cè)試集上的AP值對(duì)比Tab.6 Comparison of AP in different learning rate %
4.3.5 與改進(jìn)前網(wǎng)絡(luò)檢測(cè)結(jié)果的對(duì)比
分別以MobileNets和Darknet53為特征提取網(wǎng)絡(luò)的檢測(cè)結(jié)果如表7、表8所示。訓(xùn)練集的檢測(cè)結(jié)果mAP比改進(jìn)前提高了1.85%,測(cè)試集的檢測(cè)結(jié)果mAP比改進(jìn)前提高了2.03%,且?guī)俾始涌熘?倍,訓(xùn)練時(shí)間縮短至1/4倍。MobileNets的網(wǎng)絡(luò)層數(shù)是Darknet53網(wǎng)絡(luò)的1/2倍,針對(duì)數(shù)據(jù)集尺寸較小的特點(diǎn),減少特征提取次數(shù)有利于檢測(cè)結(jié)果精度的提高。同時(shí),MobileNets采用的深度分離卷積減少了大量的計(jì)算量,因此幀速率有大幅度提高。實(shí)驗(yàn)結(jié)果表明改進(jìn)后的檢測(cè)模型具有更高的準(zhǔn)確度和更好的實(shí)時(shí)性,誤檢率和漏檢率明顯降低。
表7 改進(jìn)網(wǎng)絡(luò)前后檢測(cè)結(jié)果對(duì)比
表8 改進(jìn)網(wǎng)絡(luò)前后各個(gè)類(lèi)別的AP對(duì)比
4.3.6 與其他檢測(cè)模型的對(duì)比
將本文算法與另外兩種卷積神經(jīng)網(wǎng)絡(luò)Faster R-CNN[14]、SSD_300[15]的檢測(cè)效果進(jìn)行了對(duì)比,結(jié)果如表9所示。由表9可知,F(xiàn)aster R-CNN的檢測(cè)準(zhǔn)確率最高,比本文的MobileNets-YOLOv3算法高2%,但是其幀速率只有6.58 f·s-1,同時(shí)網(wǎng)絡(luò)訓(xùn)練時(shí)間最長(zhǎng),為116.63 h。主要原因是Faster R-CNN用區(qū)域生成網(wǎng)絡(luò)生成2 000多個(gè)可能包含目標(biāo)的候選區(qū)域,然后用CNN對(duì)每個(gè)候選區(qū)域進(jìn)行分類(lèi),復(fù)雜的框架增加了網(wǎng)絡(luò)的計(jì)算量。Faster R-CNN無(wú)法滿(mǎn)足實(shí)時(shí)性的需求。而SSD_300無(wú)論在檢測(cè)精度和檢測(cè)速度上都差于本文算法,主要原因是SSD_300模型低級(jí)的特征圖存在特征提取不充分問(wèn)題,檢測(cè)異纖這種小目標(biāo)誤檢率較高。
表9 不同檢測(cè)模型的對(duì)比Tab.9 Comparison of different detection models
綜上,本文提出的MobileNets-YOLOv3檢測(cè)模型相較于Faster R-CNN、SSD_300深度學(xué)習(xí)算法,在保證精度的前提下,訓(xùn)練時(shí)間大幅縮減,且?guī)俾蔬_(dá)到了66.67 f·s-1,可以滿(mǎn)足工業(yè)檢測(cè)對(duì)實(shí)時(shí)性的需求。
(1)提出了一種基于MobileNets-YOLOv3的棉花異性纖維檢測(cè)方法,以及一種分段式學(xué)習(xí)率優(yōu)化方式,并采用了圖像數(shù)據(jù)增廣的數(shù)據(jù)處理方式,對(duì)測(cè)試集的準(zhǔn)確率mAP為84.82%,幀速率達(dá)66.67 f·s-1。
(2)與YOLOv3算法相比,采用MobileNets作為特征提取網(wǎng)絡(luò)的改進(jìn)YOLOv3檢測(cè)算法,mAP值提高了2.03%,幀速率加快至3倍,訓(xùn)練時(shí)間縮短至1/4倍,具有更高的識(shí)別準(zhǔn)確度,實(shí)時(shí)性?xún)?yōu)勢(shì)明顯。
(3) 改進(jìn)的分段式學(xué)習(xí)率優(yōu)化方法比常用的指數(shù)衰減法能更好地訓(xùn)練檢測(cè)網(wǎng)絡(luò),在測(cè)試集上的mAP值提高了5.64%。對(duì)原始圖像數(shù)據(jù)進(jìn)行數(shù)據(jù)增廣后,訓(xùn)練模型在測(cè)試集上的mAP值提高了3.6%,可以改善過(guò)擬合現(xiàn)象。
(4)與卷積神經(jīng)網(wǎng)絡(luò)Faster R-CNN和SSD_300相比,本文算法總體性能最佳,既能保證較高的檢測(cè)精度,又能保證檢測(cè)效率,符合棉花異纖檢測(cè)準(zhǔn)確率及實(shí)時(shí)性需求。