劉露露,李波 *,何征,姚為
(1 中南民族大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,武漢 430074;2 武漢捷普瑞科技有限公司,武漢 430074)
在當(dāng)前的紡織企業(yè)中,織物的檢驗(yàn)仍以傳統(tǒng)的人工視覺(jué)檢驗(yàn)方式為主,檢測(cè)速度一般在 15-20 m/min[1],無(wú)法滿(mǎn)足在線檢測(cè)的要求.紡織廠中的織物若出現(xiàn)瑕疵,將嚴(yán)重影響其經(jīng)濟(jì)收益.因此,以機(jī)器視覺(jué)和深度學(xué)習(xí)為依托的檢測(cè)方法成為近幾年研究的熱點(diǎn).
一般基于傳統(tǒng)的機(jī)器視覺(jué)處理方法大致可分為統(tǒng)計(jì)法(數(shù)學(xué)形態(tài)學(xué)法[2]、直方圖統(tǒng)計(jì)法[3]、遺傳算法[4]、貝葉斯統(tǒng)計(jì)法[5]),模型法(總變差模型[6]),光譜法(快速傅里葉變換[7]、小波變換[8]、Gabor變換[9]),且由于一種算法很難取得理想的瑕疵輪廓,于是很多學(xué)者將多種算法融合應(yīng)用.但這些傳統(tǒng)算法過(guò)于依賴(lài)圖像本身的淺層特征,圖像的低對(duì)比度、光照不均等因素都會(huì)干擾檢測(cè)結(jié)果,使得檢測(cè)精度較低.
近些年深度學(xué)習(xí)在目標(biāo)檢測(cè)方面發(fā)展迅猛,采用經(jīng)過(guò)驗(yàn)證的兩級(jí)管道,例如Fast R-CNN[10]、Faster R-CNN[11]、Mask R-CNN[12]等框架已成為一種流行范式.首先需生成一些候選框(Proposal),然后對(duì)它們進(jìn)行分類(lèi),能實(shí)現(xiàn)較好的檢測(cè)效果,但由于步驟繁瑣,檢測(cè)速度較慢.另一些框架如SSD[13]、YOLO[14]省去候選框的生成過(guò)程,輸入整張圖像后直接在輸出層回歸出目標(biāo)位置和類(lèi)別,從而得到較快的檢測(cè)速度.吳桐等人[15]基于YOLO網(wǎng)絡(luò)研究了一種數(shù)據(jù)集預(yù)處理的方法進(jìn)行焊縫瑕疵的檢測(cè),以流水線作業(yè)的方式提升網(wǎng)絡(luò)檢測(cè)速度.由于錨框選取的好壞直接影響檢測(cè)精度的高低,故本文在YOLOv3網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行改進(jìn),提出一種棉布瑕疵目標(biāo)檢測(cè)算法FS-YOLOv3(Four Scales YOLOv3),在保證速度的同時(shí),從先驗(yàn)框的選取、尺度的選擇、目標(biāo)框?yàn)V除三個(gè)角度進(jìn)行優(yōu)化,進(jìn)一步提高檢測(cè)精度.
YOLOv3在輸入圖像后,用Darknet-53網(wǎng)絡(luò)[16]提取圖像特征,并將網(wǎng)絡(luò)分為5個(gè)階段,每個(gè)階段通過(guò)設(shè)定步長(zhǎng)為2的卷積完成.在預(yù)測(cè)目標(biāo)類(lèi)別時(shí),用多個(gè)獨(dú)立的邏輯輸出預(yù)測(cè),使其可以支持多標(biāo)簽對(duì)象.經(jīng)典的YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1 經(jīng)典YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 The classic YOLOv3 network structure
運(yùn)用K-Means[17]對(duì)n個(gè)已標(biāo)注的數(shù)據(jù)根據(jù)距離劃分為k個(gè)簇,當(dāng)兩個(gè)對(duì)象的距離越接近時(shí),就認(rèn)為其相似度越大,從而得到盡可能匹配瑕疵對(duì)象的邊框尺寸.若數(shù)據(jù)集中有n個(gè)樣本點(diǎn)xi,k個(gè)簇中心uj,定義指標(biāo)變量rij,聚類(lèi)優(yōu)化目標(biāo)可由式(1)表示.但樣本在某個(gè)維度的數(shù)值特別大時(shí),聚簇中心會(huì)偏向異常點(diǎn),導(dǎo)致聚類(lèi)效果不佳.
(1)
采用非極大值抑制(NMS)[18]算法找到最佳的目標(biāo)檢測(cè)位置,檢測(cè)框分?jǐn)?shù)計(jì)算如下:
(2)
其中,Si表示檢測(cè)框i的得分,M表示當(dāng)前得分最高的檢測(cè)框,IOU(M,bi)為檢測(cè)框bi與M的交并比,Nt表示NMS設(shè)定的閾值.當(dāng)交并比大于設(shè)定的閾值時(shí),檢測(cè)框的得分將設(shè)為0,即相當(dāng)于刪除.但樣本中目標(biāo)出現(xiàn)較為密集時(shí),本身屬于兩個(gè)目標(biāo)的邊框,得分較低的會(huì)被抑制,從而降低模型的召回率.一般的目標(biāo)檢測(cè)流程如圖2所示.
圖3是基于YOLOv3網(wǎng)絡(luò)提出的FS-YOLOv3網(wǎng)絡(luò)流程.輸入圖像后,將樣本進(jìn)行隨機(jī)剪裁、旋轉(zhuǎn)等預(yù)處理工作,以增強(qiáng)模型的魯棒性.假設(shè)輸出特征圖的高度、寬度分別為H、W,相當(dāng)于將圖像劃分為H×W個(gè)網(wǎng)格,圖像的每個(gè)網(wǎng)格對(duì)應(yīng)輸出特征圖平面上的一個(gè)表征點(diǎn).在每個(gè)網(wǎng)格上都放上這些錨框,每個(gè)網(wǎng)格上每個(gè)錨框都對(duì)應(yīng)一個(gè)預(yù)測(cè)框.在過(guò)濾預(yù)測(cè)框階段,設(shè)置分類(lèi)置信度閾值為threshold1,定位置信度閾值為threshold2.用紅色框凸顯先驗(yàn)框的選取、尺度的選擇以及目標(biāo)框的濾除部分.
圖3 FS-YOLOv3瑕疵檢測(cè)方法流程圖Fig.3 Flowchart of FS-YOLOv3 defect detection method
在先驗(yàn)框的選取上,利用錨點(diǎn)機(jī)制預(yù)測(cè)瑕疵邊界框,降低模型訓(xùn)練的復(fù)雜度.隨著對(duì)樣本特征的不斷學(xué)習(xí),根據(jù)真實(shí)框?qū)Τ跏己蜻x框逐步修正,得到逐漸接近真實(shí)框的參數(shù).為減少隨機(jī)初始化對(duì)結(jié)果的影響、得到更好的IOU得分,用K-Means++算法取代K-Means算法,將候選框和真實(shí)框的交并比(IOU)作為位置相似性度量,計(jì)算公式如下:
d(box,centre)=1-IOU(box,centre),
(3)
其中,box為目標(biāo)的真實(shí)框,centre為樣本聚類(lèi)中心,IOU(box,centre)表示目標(biāo)真實(shí)框和聚類(lèi)得到的錨框的交并比,隨著IOU的增大,函數(shù)值d(box,centre)越小,聚類(lèi)得到的錨框與真實(shí)框越接近,效果也越好.
在預(yù)測(cè)階段,對(duì)于輸入的瑕疵圖像,預(yù)測(cè)一個(gè)三維張量,包括對(duì)棉布瑕疵每個(gè)預(yù)測(cè)框的坐標(biāo)信息x、y、w、h,可以根據(jù)式(4)、(5)將錨框的中心點(diǎn)偏移到與真實(shí)框一致,根據(jù)式(6)、(7)對(duì)預(yù)測(cè)框的寬度和高度做拉伸處理,使得預(yù)測(cè)框與真實(shí)框保持一致.
bx=σ(x)+cx,
(4)
by=σ(y)+cy,
(5)
bw=pwew,
(6)
bh=pheh,
(7)
其中,cx、cy表示在特征圖上每個(gè)預(yù)測(cè)單元格的左上角坐標(biāo),σ(x)、σ(y)表示對(duì)網(wǎng)絡(luò)輸出的坐標(biāo)通過(guò)Sigmoid函數(shù)處理后的結(jié)果.通過(guò)聚類(lèi)得到錨框的尺寸pw、ph,對(duì)標(biāo)注信息w、h取ew、eh,使得預(yù)測(cè)框?qū)挾群透叨群銥檎?最終得到的邊界框相對(duì)于特征圖的坐標(biāo)即bx、by、bw、bh.
對(duì)棉布中的瑕疵目標(biāo),神經(jīng)網(wǎng)絡(luò)分別為每種尺寸各預(yù)測(cè)了3個(gè)邊界框,并用二元交叉熵?fù)p失來(lái)進(jìn)行瑕疵類(lèi)別的預(yù)測(cè),二元交叉熵?fù)p失(LMSE)的定義如下:
(8)
用深度殘差網(wǎng)絡(luò)提取圖像特征,隨著網(wǎng)絡(luò)層數(shù)的加深,提取到的特征也越豐富.初始卷積層用32個(gè)3×3的卷積核過(guò)濾416×416大小的棉布瑕疵圖像;隨后將之前卷積層的輸出作為下一層的輸入,并使用64個(gè)3×3的卷積核,用兩個(gè)像素的步長(zhǎng)對(duì)它們?yōu)V波實(shí)現(xiàn)下采樣操作,此時(shí)得到的特征圖尺寸為208×208;執(zhí)行包含1×,2×,8×,8×,4×殘差塊的5組網(wǎng)絡(luò),分別獲得208×208,104×104,52×52,26×26,13×13分辨率的特征圖.FS-YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示.
在主干網(wǎng)絡(luò)后新增加1個(gè)卷積層,對(duì)13×13的特征圖進(jìn)行下采樣獲取淺層的圖像信息,對(duì)26×26,52×52,104×104的特征圖以2倍大小執(zhí)行上采樣獲取復(fù)雜圖像信息.為了獲得更有意義的語(yǔ)義信息,增強(qiáng)特征金字塔的表征能力,將深度殘差網(wǎng)絡(luò)中相對(duì)應(yīng)尺寸的特征圖和預(yù)測(cè)網(wǎng)絡(luò)中的特征圖進(jìn)行級(jí)聯(lián),利用上下文語(yǔ)義信息進(jìn)行棉布瑕疵檢測(cè).4個(gè)檢測(cè)分支共享從殘差網(wǎng)絡(luò)中提取特征.同時(shí),在所有卷積層上均添加批量標(biāo)準(zhǔn)化層以幫助規(guī)范網(wǎng)絡(luò).使用Leaky Relu激活函數(shù)讓梯度更為有效地傳播,既不會(huì)引起過(guò)多的額外計(jì)算成本,也能提高對(duì)神經(jīng)網(wǎng)絡(luò)的自歸一化.
在低對(duì)比度的樣本圖像中,噪聲往往會(huì)被當(dāng)成目標(biāo),得分低的邊框又被強(qiáng)制去除,造成檢測(cè)精度下降.對(duì)此引入Softer NMS算法,使得高分類(lèi)置信度的邊框變得更加準(zhǔn)確.Softer NMS提出了一種基于KL散度的邊框回歸損失函數(shù)KL loss,是最小化預(yù)測(cè)邊框的高斯分布與真實(shí)目標(biāo)的迪克拉分布之間的KL散度,也就是說(shuō)預(yù)測(cè)邊框分布越接近真實(shí)目標(biāo)分布,損失越小.Softer NMS分別對(duì)IOU大于重疊度閾值的預(yù)測(cè)作加權(quán)平均計(jì)算,得到新的4個(gè)坐標(biāo)點(diǎn),第i個(gè)邊框的x1計(jì)算公式如下:
(9)
其中,j表示所求IOU大于重疊閾值的邊框,對(duì)IOU大于設(shè)定閾值的邊框坐標(biāo)進(jìn)行了加權(quán)平均,希望分類(lèi)得分高的邊框能夠利用到周?chē)吙蛐畔?,從而提升?zhǔn)確度.
圖4 FS-YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 FS-YOLOv3 network structure
以下驗(yàn)證FS-YOLOv3網(wǎng)絡(luò)的有效性.實(shí)驗(yàn)硬件環(huán)境主要包括:CPU為Intel(R) Core(TM) i5-4210U,內(nèi)存為12GB,軟件環(huán)境主要包括64位的Windows操作系統(tǒng)以及TensorFlow深度學(xué)習(xí)編程平臺(tái).
數(shù)據(jù)集質(zhì)量的高低直接影響最終檢測(cè)效果的好壞,為了充分學(xué)習(xí)待檢測(cè)目標(biāo)的特征,從企業(yè)現(xiàn)場(chǎng)采集了4360張實(shí)際樣本,對(duì)樣本統(tǒng)一裁剪成416×416大小的圖片.根據(jù)企業(yè)提供的瑕疵坐標(biāo),本文對(duì)80%的圖片使用Labeling工具手工標(biāo)注瑕疵位置后作為訓(xùn)練集,20%作為測(cè)試集,將有瑕疵的圖片作為正樣本,無(wú)瑕疵的圖片作為負(fù)樣本.棉布瑕疵樣可大致分為點(diǎn)狀瑕疵、復(fù)雜背景下瑕疵、弱目標(biāo)瑕疵、低對(duì)比度帶狀瑕疵和大尺度瑕疵5類(lèi),部分棉布瑕疵樣本如圖5所示.
圖5 棉布瑕疵圖像Fig.5 Cotton defect image
圖6分別展示了圖像處理法、Faster R-CNN、YOLOv3、FS-YOLOv3對(duì)棉布樣本瑕疵的檢測(cè)結(jié)果,其中深色的線條即為棉布瑕疵區(qū)域.
(a)點(diǎn)狀瑕疵 (b)復(fù)雜背景下瑕疵 (c)弱目標(biāo)瑕疵 (d)低對(duì)比度帶狀瑕疵(e)大尺度瑕疵 圖6 棉布瑕疵檢測(cè)結(jié)果Fig.6 Cotton fabric defect detection results
用圖像處理法進(jìn)行瑕疵檢測(cè),設(shè)置放大倍數(shù)為1.2,偏置為10,根據(jù)線性變換調(diào)節(jié)圖像的亮度和拉伸度,用限制對(duì)比度自適應(yīng)直方圖均衡化來(lái)抑制噪聲區(qū)域,自適應(yīng)閾值分割后運(yùn)用形態(tài)學(xué)處理方法去噪,利用Sobel算子對(duì)圖像做卷積,獲取圖像橫向和縱向的亮度差分近似值,計(jì)算梯度的估計(jì)值,通過(guò)確定邊界值提取圖像特征,填充輪廓顏色,找到所有瑕疵區(qū)域并標(biāo)記.
用Faster R-CNN網(wǎng)絡(luò)進(jìn)行瑕疵檢測(cè),以ResNet50為骨干網(wǎng)絡(luò)提取特征獲得共享特征層,利用共享特征層獲取anchors,可以得到anchors的左上角和右下角坐標(biāo)為[[-8 -40 99 55][-176 -88 191 90][-330 180 374 190][-56 -56 60 60][-98 -98 110 110][-240 -240 230 230][-33 -80 50 91][-79 -110 90 169][-155 -312 130 320]],對(duì)anchor解碼以獲取需要截取的位置,對(duì)共享特征層進(jìn)行截取并resize后進(jìn)行下一步卷積,獲取最終預(yù)測(cè)結(jié)果并解碼.
用YOLOv3網(wǎng)絡(luò)進(jìn)行瑕疵檢測(cè),基于K-Means算法聚類(lèi)9個(gè)錨框,得到的anchors為[[10 19][26 30][33 23][36 67][68 43][58 138][126 90][144 142][334 311]],在(13×13),(26×26),(52×52)三個(gè)尺度上進(jìn)行預(yù)測(cè).
用FS-YOLOv3網(wǎng)絡(luò)進(jìn)行瑕疵檢測(cè),基于K-Means++算法聚類(lèi)12個(gè)錨框,得到的anchors為[[19 27][22 22][28 29][30 57][215 411][219 310][244 183][298 320][317 414][322 409][350 412][387 412]].候選框數(shù)量對(duì)應(yīng)平均交并比如圖7所示,最終在(13×13),(26×26),(52×52),(104×104)四個(gè)尺度上進(jìn)行預(yù)測(cè).
對(duì)輸入圖片的角度、曝光度、飽和度、色調(diào)、尺寸進(jìn)行調(diào)整以增強(qiáng)模型的魯棒性.設(shè)置網(wǎng)絡(luò)參數(shù):學(xué)習(xí)率為0.001,動(dòng)量為0.9,權(quán)重衰減正則化為0.0005,IOU閾值為0.5,分類(lèi)置信度閾值threshold1為0.5,定位置信度閾值threshold2為0.4,迭代500次.
從圖6可見(jiàn)對(duì)于對(duì)比度較高的點(diǎn)狀瑕疵用圖像法檢測(cè)效果較為明顯,對(duì)于復(fù)雜背景或弱目標(biāo)瑕疵,深度學(xué)習(xí)的方法更為適用.但對(duì)于低對(duì)比度的帶狀瑕疵,F(xiàn)aster R-CNN網(wǎng)絡(luò)未能檢測(cè)出來(lái),且YOLOv3網(wǎng)絡(luò)將噪聲區(qū)域檢測(cè)為目標(biāo)區(qū)域,改進(jìn)后的FS-YOLOv3網(wǎng)絡(luò)可有效檢測(cè)出瑕疵區(qū)域,接近標(biāo)準(zhǔn).
圖7 候選框數(shù)量對(duì)應(yīng)平均交并比Fig.7 The number of candidate boxes corresponds to the average intersection ratio
本文采用召回率(recall)、準(zhǔn)確率(accuracy)、精確度(precision)、時(shí)間四種評(píng)估方法來(lái)衡量檢測(cè)結(jié)果.召回率計(jì)算如式(10)所示,反映了被正確判定的正例占總的正例的比重;準(zhǔn)確率計(jì)算如式(11)所示,其值越大表示分類(lèi)效果越好;精確度計(jì)算如式(12)所示,反映了被分類(lèi)器判定為正例中真正的正例樣本的比重.
(10)
(11)
(12)
其中TP表示預(yù)測(cè)樣本有瑕疵,實(shí)際樣本有瑕疵;TN表示預(yù)測(cè)樣本無(wú)瑕疵,實(shí)際樣本無(wú)瑕疵;FP表示預(yù)測(cè)樣本有瑕疵,實(shí)際樣本無(wú)瑕疵;FN表示預(yù)測(cè)樣本無(wú)瑕疵,實(shí)際樣本有瑕疵.
結(jié)合表1的結(jié)果可見(jiàn),在相同的實(shí)現(xiàn)環(huán)境中,傳統(tǒng)圖像分析法因?qū)崿F(xiàn)較為簡(jiǎn)單,檢測(cè)較快,但計(jì)算機(jī)往往將噪聲當(dāng)做瑕疵進(jìn)行檢測(cè),對(duì)低對(duì)比度的圖像誤檢、漏檢較多,只有76.85%的準(zhǔn)確率,精準(zhǔn)度很低.而Faster R-CNN網(wǎng)絡(luò)、YOLOv3網(wǎng)絡(luò)因?yàn)閷W(xué)習(xí)了圖像深層特征,對(duì)大多數(shù)對(duì)比度較強(qiáng)的樣本效果較好,但對(duì)于條紋狀瑕疵檢測(cè)不敏感,漏檢較多,且Faster R-CNN網(wǎng)絡(luò)時(shí)間開(kāi)銷(xiāo)過(guò)大.改進(jìn)后的FS-YOLOv3網(wǎng)絡(luò),對(duì)規(guī)范整齊的棉布瑕疵檢測(cè)效果較好,但對(duì)于帶狀瑕疵標(biāo)注大小較為敏感,隨著標(biāo)注的精準(zhǔn),準(zhǔn)確率可達(dá)89.66%,精確度明顯優(yōu)于其他方法.
由于棉布瑕疵種類(lèi)繁多,加上機(jī)器振動(dòng)、光照等原因造成的噪聲過(guò)大,圖像的低對(duì)比度使得識(shí)別難度增大,為解決此問(wèn)題,本文提出一種基于FS-YOLOv3的棉布瑕疵檢測(cè)方法.通過(guò)基于IOU的K-Means++聚類(lèi)算法獲得初始錨框,提升錨框分布的準(zhǔn)確率.通過(guò)增加卷積層,多尺度訓(xùn)練樣本,使得小目標(biāo)瑕疵檢測(cè)更為精準(zhǔn).通過(guò)Softer-NMS過(guò)濾重疊檢測(cè)框,將分類(lèi)置信度和定位置信度作為衡量標(biāo)準(zhǔn),降低誤檢率.實(shí)驗(yàn)結(jié)果表明:本文提出的算法檢測(cè)結(jié)果較好(準(zhǔn)確率較YOLOv3網(wǎng)絡(luò)提升了6%,召回率提高8%,精確率提高17%,檢測(cè)速度比Faster R-CNN網(wǎng)絡(luò)快一倍),大大減少人力、物力的同時(shí),還可以通過(guò)自動(dòng)識(shí)別技術(shù)反饋瑕疵情況,可有效提高棉布生產(chǎn)中瑕疵檢測(cè)的精度和速度.
中南民族大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年1期