楊建偉,涂興子,梅峰漳,李亞寧,范鑫杰
(1.平頂山天安煤業(yè)股份有限公司煤礦機(jī)電運(yùn)輸,河南 平頂山 467000;2.山西戴德測控技術(shù)有限公司研發(fā)部,山西 太原 030000)
芳綸帶在煤炭、運(yùn)輸和工礦等能源行業(yè)以及物流行業(yè)中廣泛應(yīng)用。在煤礦生產(chǎn)和運(yùn)輸過程中,通過芳綸帶傳送,可以有效減少人力和物力,從而節(jié)省時(shí)間,使生產(chǎn)利益最大化。在使用過程中,由于異物損傷、生產(chǎn)磨損和煤塊砸落等原因,皮帶會(huì)出現(xiàn)損傷、劃傷等問題。如果沒有及時(shí)預(yù)防和解決,會(huì)產(chǎn)生經(jīng)濟(jì)損失和人員傷亡。針對(duì)輸送帶的損傷檢測,國內(nèi)外研究者做了很多相關(guān)的研究。國內(nèi)方面:劉尹霞等[1]通過圖像增強(qiáng),增加了6個(gè)方向的模板,優(yōu)化了傳統(tǒng)的Sobel圖像邊緣提取算法,準(zhǔn)確定位到皮帶邊緣損傷部位;劉波[2]運(yùn)用X光的穿透特性,采集到鋼絲繩芯的傳送帶圖像,運(yùn)用紋理濾波和LBP算法使檢測精度可以達(dá)到90%。國外方面:KIRJANOW-BLAZEJ等[3]以DiagBelt移動(dòng)系統(tǒng)采集的數(shù)據(jù)為基礎(chǔ),對(duì)鋼繩芯輸送帶進(jìn)行非侵入性診斷,基于損傷分析的回歸方法對(duì)鋼繩輸送帶剩余壽命進(jìn)行預(yù)測,并通過后續(xù)的圖帶掃描進(jìn)行識(shí)別。
隨著計(jì)算機(jī)GPU性能的提升、深度學(xué)習(xí)以及神經(jīng)網(wǎng)絡(luò)的發(fā)展,相比于傳統(tǒng)的視覺檢測需要預(yù)處理,對(duì)光照條件要求比較嚴(yán)格,需要人為提取感興趣區(qū)域,神經(jīng)網(wǎng)絡(luò)可以通過卷積層提取出圖像特征,實(shí)現(xiàn)端到端的輸入輸出模式,并且檢測時(shí)效性強(qiáng)。唐士宇等[4]基于卷積神經(jīng)網(wǎng)絡(luò)Faster R-CNN,可以監(jiān)測井下工人的安全問題,識(shí)別準(zhǔn)確率達(dá)到87.6%。
在芳綸帶的損傷檢測方面,國內(nèi)研究較少。目前的芳綸帶檢測更多依靠人工皮尺測量寬度來判斷,但這種檢測方式看不到芳綸帶內(nèi)部結(jié)構(gòu),對(duì)于內(nèi)部的結(jié)構(gòu)損傷和破損無法準(zhǔn)確判定。在測試初期,嘗試傳統(tǒng)的視覺檢測系統(tǒng)檢測芳綸帶缺陷,是基于頻域?yàn)V波和紋理濾波來提取圖像的紋理特征,但是現(xiàn)場的圖像白噪聲較多,并且現(xiàn)場的圖像一致性不好,所以傳統(tǒng)的視覺檢測魯棒性較差,精度較低。嘗試未改進(jìn)的YOLOV3算法,在實(shí)際現(xiàn)場測試中發(fā)現(xiàn),YOLOV3算法對(duì)小物體檢測精度不足。本文提出了優(yōu)化的YOLOV3算法,借鑒了DenseNet的傳輸過程,并運(yùn)用卷積降維來減少檢測時(shí)間,改善了以上兩種檢測方法的弊端,以改善目前檢測方法對(duì)小目標(biāo)的敏感度不足,提升檢測精度。
ROSS等[5]在CNN深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,設(shè)計(jì)了RCNN網(wǎng)絡(luò),將分類問題轉(zhuǎn)化為回歸問題,實(shí)現(xiàn)了檢測算法的轉(zhuǎn)化。隨后又優(yōu)化了檢測算法,設(shè)計(jì)了Fast R-CNN網(wǎng)絡(luò)[6]和Faster R-CNN網(wǎng)絡(luò)[7],F(xiàn)aster R-CNN網(wǎng)絡(luò)要先提出候選區(qū),再識(shí)別候選區(qū)中的對(duì)象。JOSEPH等[8]提出了YOLOV1算法,創(chuàng)造性地將候選區(qū)和對(duì)象識(shí)別兩個(gè)階段合二為一,識(shí)別檢測速度大幅提升。隨后在YOLOV1算法的基礎(chǔ)上,從預(yù)測更準(zhǔn)確(better)、速度更快(faster)、識(shí)別對(duì)象更多(stronger)三方面進(jìn)行了改進(jìn),設(shè)計(jì)了YOLOV2算法[9]。
YOLOV3算法是JOSEPH等[10]在YOLOV2算法基礎(chǔ)上設(shè)計(jì)和優(yōu)化的深度神經(jīng)網(wǎng)絡(luò)。YOLOV3算法主要的改進(jìn)有:調(diào)整了網(wǎng)絡(luò)結(jié)構(gòu)、利用多尺度特征進(jìn)行對(duì)象檢測、對(duì)象分類用Logistic模型取代了Softmax模型,在圖像基本特征提取方面,YOLOV3算法采用Darknet-53框架的網(wǎng)絡(luò)結(jié)構(gòu)(含有53個(gè)卷積層),它借鑒了殘差網(wǎng)絡(luò)[11]的做法,在一些層之間設(shè)置了快捷鏈路。Darknet-53框架的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。圖1由53個(gè)卷積層、1個(gè)池化層、1個(gè)全連接層構(gòu)成[12],網(wǎng)絡(luò)結(jié)構(gòu)中,輸入尺寸為256×256×3,每個(gè)殘差組件有2個(gè)卷積層和1個(gè)快捷鏈路,殘差組件示意圖見圖2。
圖1 Darknet-53框架的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of Darknet-53 framework
圖2 殘差組件Fig.2 Residual components
利用多尺度特征進(jìn)行對(duì)象檢測,YOLOV2算法采用Passthrough結(jié)構(gòu)來檢測細(xì)粒度特征,YOLOV3算法在此基礎(chǔ)上采用了3個(gè)不同尺度的特征圖來進(jìn)行對(duì)象檢測。圖3為YOLOV3算法網(wǎng)絡(luò)結(jié)構(gòu)。由圖3可知,YOLOV3算法在79層之后,經(jīng)過檢測層得到尺度的檢測結(jié)果,對(duì)比輸入圖像,特征圖做了32倍的下采樣。由于下采樣倍數(shù)高,特征圖的感受野比較大,適合檢測尺寸比較大的對(duì)象。第79層的特征圖開始做上采樣,然后與第61層的特征圖融合,得到了第91層較細(xì)粒度的特征圖。經(jīng)過檢測層得到16倍輸入圖像的下采樣特征圖,感受野為中等尺度,對(duì)于檢測中等尺度的對(duì)象有較好的效果。第91層的特征圖進(jìn)行上采樣,并與第36層的特征圖融合,得到輸入圖像的8倍下采樣特征圖,感受野最小[13],適合檢測小尺寸的對(duì)象。對(duì)象分類Softmax模型[14]改成Logistic模型[15],預(yù)測對(duì)象類別時(shí)不使用Softmax模型,改為Logistic模型的輸出進(jìn)行預(yù)測,以支持多標(biāo)簽對(duì)象。
DenseNet是一種具有密集連接的卷積神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)每一層的輸入都是前面所有層輸出的并集,而該層所學(xué)習(xí)的特征圖也會(huì)被直接傳給其后面所有層作為輸入。這樣的設(shè)計(jì)可以有效地減少隨著網(wǎng)絡(luò)深度加深出現(xiàn)的梯度消失現(xiàn)象。DenseNet網(wǎng)絡(luò)提出了dense block的結(jié)構(gòu),來解決網(wǎng)絡(luò)深度和梯度消失問題,圖4為DenseNet示意圖。
圖3 YOLOV3算法網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 YOLOV3 algorithm network structure
圖4 DenseNet示意圖Fig.4 Schematic of DenseNet
由圖4可知,如果記第1層的變換函數(shù)為Hl(通常對(duì)應(yīng)于一組或兩組Batch-Normalization,ReLU和Convolution的操作),輸出為xl,其輸出為:xl=Hl([X0,X1,…,xl-1])xl=Hl([X0,X1,…,xl-1])。該算法設(shè)計(jì)使DenseNet網(wǎng)絡(luò)更窄,參數(shù)更少,梯度消失主要是因?yàn)楫?dāng)前面隱藏層的學(xué)習(xí)速率低于后面隱藏層的學(xué)習(xí)速率,即隨著隱藏層數(shù)目增加,分類準(zhǔn)確率下降。而DenseNet的連接結(jié)構(gòu)每一層都連接著輸入值和損失值,這樣可以緩解梯度消失的問題。由于DenseNet用bottleneck和transition layer[16]操作,所以網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)大大減小,使網(wǎng)絡(luò)具有正則化的效果,對(duì)過擬合有很好的抑制作用。圖5為DenseNet的數(shù)據(jù)圖。
圖5 DenseNet數(shù)據(jù)圖Fig.5 Data graph of DenseNet
在YOLOV3算法中,為了減少梯度消失[17],訓(xùn)練更深層次的網(wǎng)絡(luò),每個(gè)殘差組件有2個(gè)卷積層[18]和1個(gè)快捷鏈路。由于殘差網(wǎng)絡(luò)參數(shù)比較多,在訓(xùn)練時(shí),容易出現(xiàn)過擬合問題,所以選用DenseNet神經(jīng)網(wǎng)絡(luò)替換原來的快捷鏈路。在實(shí)際現(xiàn)場的檢測中,檢測精度偏低主要是因?yàn)閷?duì)小物體的魯棒性較差,所以優(yōu)化后的殘差組件主要組用于YOLOV3算法的第36層,優(yōu)化后的殘差組件如圖6所示。
圖6 優(yōu)化后的殘差組件Fig.6 Optimized residual components
優(yōu)化后的神經(jīng)網(wǎng)絡(luò),融合了DenseNet的網(wǎng)絡(luò)特征,為了減少參數(shù),使得網(wǎng)絡(luò)更窄,簡化了DenseNet神經(jīng)網(wǎng)絡(luò),將YOLOV3算法的第4層、第8層、第11層、第15層、第18層、第21層、第24層、第27層、第30層和第33層輸出。經(jīng)過卷積操作傳入到第36層神經(jīng)網(wǎng)絡(luò),為減少檢測時(shí)間,在每個(gè)殘差組件添加了1×1的卷積操作,即Translation layer。卷積層數(shù)和卷積核大小設(shè)計(jì)見表1。
表1 優(yōu)化的神經(jīng)網(wǎng)絡(luò)卷積層Table 1 Optimized convolutional layer of neural network
與第91層特征圖進(jìn)行融合,使圖像信息更完整,對(duì)小目標(biāo)的檢測更準(zhǔn)確。最終誤差損失包括邊框位置誤差、置信度誤差、對(duì)象分類誤差,見式(1)。
(1)
優(yōu)化的YOLOV3算法,實(shí)驗(yàn)環(huán)境為RTX2070顯卡和Caffe框架,本文選用COCO數(shù)據(jù)集作為訓(xùn)練和數(shù)據(jù)預(yù)測的預(yù)處理,保存后,配置訓(xùn)練模型,本文權(quán)重衰減率0.000 2,動(dòng)量0.76,初始學(xué)習(xí)率0.000 15。訓(xùn)練樣本為600張圖片,迭代6萬次,類別為瑕疵,背景。整體的實(shí)驗(yàn)流程如圖7所示。最后的損失值由式(1)計(jì)算得出,損失值見圖8。由圖8可知,在訓(xùn)練階段,迭代到4萬次左右時(shí)收斂。
圖7 整體流程圖Fig.7 Overall flowchart
圖8 損失值圖Fig.8 Loss value figure
表2 三種方法實(shí)驗(yàn)數(shù)據(jù)Table 2 Three methods of experimental data network
圖9 測試結(jié)果圖Fig.9 Test results diagram
在實(shí)際測試集中,正負(fù)樣品的比例為1∶1,訓(xùn)練樣本均為200張,傳統(tǒng)的基于機(jī)器視覺的方法、基于YOLOV3算法和基于改進(jìn)的YOLOV3算法,對(duì)測試集檢測數(shù)據(jù)見表2。由表2可知,傳統(tǒng)的基于OTSU和紋理濾波的檢測方法,相較于其他兩種算法,檢測準(zhǔn)確率差,達(dá)不到實(shí)時(shí)性,誤檢率和漏檢率數(shù)據(jù)都很差。未優(yōu)化的YOLOV3算法,相比于改進(jìn)的YOLOV3算法,檢測準(zhǔn)確率低0.15,誤檢率高0.19,漏檢率高0.1,檢測時(shí)間基本一致,這是因?yàn)楸疚牟捎昧司矸e降維的設(shè)計(jì),使得檢測時(shí)間沒有加長,檢測精度有明顯改善。
圖9為測試集部分檢測結(jié)果。由圖9可知,在檢測接頭抽動(dòng)斷裂時(shí),傳統(tǒng)的機(jī)器視覺檢測方法,依靠OTSU和紋理濾波的方式,對(duì)于背景復(fù)雜的檢測效果很差,未改進(jìn)的YOLOV3算法,對(duì)于小目標(biāo)的敏感度不佳,本文的檢測方法,由于利用多尺度特征進(jìn)行對(duì)象檢測,并且優(yōu)化了神經(jīng)網(wǎng)絡(luò),使得對(duì)小目標(biāo)的檢測更加準(zhǔn)確,并且對(duì)物體的表征能力也比較好。
本文基于YOLOV3算法的做了優(yōu)化,借鑒了DenseNet網(wǎng)絡(luò)的dense block模塊,替代了YOLOV3算法中的殘差模塊,從而使得芳綸帶檢測對(duì)小瑕疵魯棒性更好,可以應(yīng)對(duì)復(fù)雜背景的檢測。實(shí)驗(yàn)數(shù)據(jù)表明,優(yōu)化后的YOLOV3算法準(zhǔn)確性更高,證明優(yōu)化的YOLOV3算法是有效的。但是,本文的算法對(duì)小目標(biāo)的表征能力比較強(qiáng),對(duì)于背景特別復(fù)雜的瑕疵檢測,效果不是很好,所以,下一步要解決的是應(yīng)對(duì)復(fù)雜背景的瑕疵檢測,優(yōu)化神經(jīng)網(wǎng)絡(luò)。