王文善,郭永存,3,4,劉普壯,楊 豚,童佳樂
(1.安徽理工大學 深部煤礦采動響應與災害防控國家重點實驗室,安徽 淮南 232001;2.安徽理工大學 機械工程學院,安徽 淮南 232001;3.礦山智能技術與裝備省部共建協同創新中心,安徽 淮南 232001;4.安徽理工大學 礦山智能裝備與技術安徽省重點實驗室,安徽 淮南 232001)
帶式輸送機是以輸送帶兼作牽引機構和承載機構的一種連續動作式運輸設備,因具有長運距、大運量、連續運輸、運行可靠等優點,已成為煤炭高效開采的關鍵設備[1-3]。在帶式輸送機中,輸送帶是承接物料最關鍵的部分。然而縱向撕裂是輸送帶損傷最為嚴重的形式,主要表現為出現較大裂紋或完全撕裂。輸送帶縱向撕裂主要發生在帶式輸送機的裝載點處,其主要原因是落料口落下的物料時常會夾帶著具有銳利邊口的異物(如大塊矸石和金屬材料等),極易扎傷輸送帶,若沒有及時發現,不但會撕裂整條輸送帶,還將使整個運輸系統停車而影響生產,造成巨大的經濟損失[4-8]。因此,對輸送帶縱向撕裂的實時檢測具有重要意義。
傳統的輸送帶縱向撕裂檢測方法有預填線圈檢測法[9]、接觸檢測法[10]、漏料檢測法[11]等,由于煤礦惡劣環境的影響,這些檢測設備因穩定性和準確性低而逐漸被淘汰。目前已有多位學者將機器視覺技術應用于帶式輸送機的縱向撕裂檢測中。文獻[12]提出了基于激光的輸送帶縱向撕裂在線機器視覺檢測方法,利用可見光CMOS攝像機采集輸送帶圖像,然后分析判斷輸送帶表面是否有裂口;文獻[13]提出了一種基于紅外和可見光融合的輸送帶縱向撕裂雙目視覺檢測方法,該方法相較于文獻[12]方法在一定程度上提高了縱向撕裂的檢測精度;文獻[14]提出了輸送帶縱向撕裂檢測預警的紅外光譜分析方法,與現有的大多數方法不同,該方法通過紅外熱成像技術監測縱向撕裂的紅外輻射場的變化過程,并通過紅外輻射場的頻域特征示數T來判斷輸送帶是否存在縱向撕裂的隱患,進一步提高輸送帶縱向撕裂識別準確度;文獻[15]提出了輸送帶縱向撕裂的多光譜視覺檢測方法,該方法也可分類識別輸送帶的其他狀態;文獻[16]提出基于Hear-AdaBoost和級聯算法的不均勻光照下輸送帶縱向撕裂檢測方法;文獻[17]采用弱磁檢測技術、紅外熱成像技術和視覺檢測技術等研發了一套礦用帶式輸送機智能監測系統,通過將多種檢測技術融合,提高了縱向撕裂檢測性能。文獻[12-16]為輸送帶縱向撕裂檢測提供了新方法,但是這些方法都是基于手工特征的傳統算法,需要對采集的數據進行繁瑣的預處理,且主要檢測點位于輸送帶下表面,易忽略未貫穿的大裂紋形式,存在檢測視角單一、速度慢和精度低等問題。
近些年,深度學習技術的快速發展為輸送帶縱向撕裂提供了快速檢測的新方法。基于深度學習的檢測算法大致可分為2類:一類是two stage方法,主要以R-CNN算法[18-20]為主;另一類是one stage方法,主要以SSD算法[21-23]和YOLO算法[24-26]為主。two stage方法在檢測準確率和定位精度上占優,one stage方法在算法速度上占優。YOLO是第1個在檢測精度、檢測速度上都取得優異效果的單階段目標檢測算法,其第3代YOLOv3算法相較于之前的算法,尤其是針對小目標,檢測精度有顯著提升,在實時目標檢測領域中具有較高的研究和應用價值。然而傳統YOLOv3算法借鑒殘差神經網絡(Resnet)模型搭建出53層神經網絡(Darknet-53),較多的網絡層數雖然對特征提取是有利的,但相應也會產生梯度消失現象以及降低檢測速度,且本文中只需檢測輸送帶縱向撕裂這一類目標,并不需要很復雜的網絡層數。
鑒于此,本文提出一種基于改進YOLOv3算法的輸送帶多視角檢測方法。首先,該方法對原始YOLOv3算法網絡進行改進設計,將Darknet-53簡化為Darknet-29,將原有的3種不同尺度錨點改用為2種不同尺度錨點進行檢測;其次,搭建實驗平臺制作縱向撕裂數據集,選用K-means算法對縱向撕裂標簽進行聚類分析,確定先驗框參數。實驗結果表明:該方法不僅能較好地檢測出輸送帶縱向撕裂,還可以分類識別出大裂紋或完全撕裂情形;改進后的YOLOv3算法對于輸送帶縱向撕裂的檢測效果比改進前有明顯提高。
本文提出一種基于改進YOLOv3算法的輸送帶縱向撕裂多視角檢測方法,該方法通過架設在垂直于輸送帶上、下兩面的工業相機實時采集輸送帶運行圖像。
多視角檢測實驗平臺如圖1所示。
圖1中:上表面檢測相機懸掛在落料口前側無煤處正上方;下表面檢測相機安裝在上、下輸送帶之間;光源為可調節白光,照射角度均為正面照射。

圖1 縱向撕裂檢測實驗裝置
將采集的圖像數據送入改進的YOLOv3網絡中進行檢測,YOLOv3算法檢測分為2步:第1步識別縱向撕裂在輸送帶上的位置,在圖像上對識別出的縱向撕裂區域自動裁剪獲得縱向撕裂圖像;第2步針對縱向撕裂圖像進行分類識別。最后,針對識別出的大裂紋圖像和完全撕裂圖像給出不同圖像處理信號。
實驗平臺中使用的輸送帶是一種常見的煤礦用鋼絲繩輸送帶,該輸送帶帶寬為0.6 m,厚度為15 mm;輸送機總長度為4 m,最大運行速度為4 m/s。
本實驗裝置所用相機型號為??低昅V-CA050-11UM/UC、機器視覺檢測500萬像素USB3.0工業相機;相機鏡頭型號為WL1406-5MP (6 mm焦距);光源型號為KM-BRD36030-白光(2個);光源控制器型號為DSC2.0-2C030W-24PS(60 W),可調節光源亮度;鏡頭濾鏡使用工業濾光片。
本實驗所有的訓練和測試均在同一計算機硬件平臺上進行,訓練和測試模型使用圖形處理器GPU,所有程序在Ubuntu 18.04系統上運行,具體配置見表1所列。

表1 實驗環境
YOLOv3算法中引入了多尺度特征金字塔網絡(feature Pyramid network,FPN),通過上采樣操作使深層特征的尺度變為與淺層特征尺度相同的特征,進而將深層特征和淺層特征進行融合。在圖像特征提取方面,YOLOv3采用Darknet-53的網絡結構(含有53個卷積層),相較于YOLOv2中的特征提取網格Darknet-19引入了殘差網絡結構,加深了網絡的深度[27]。
YOLOv3檢測時,首先將輸入的圖片分割成S×S個網格,然后進行邊界框的預測。預測框示意圖如圖2所示。

圖2 預測框示意圖
YOLOv3沿用YOLO9000預測邊界框的方法,通過尺寸聚類確定先驗框(Anchor box)大小,如圖2中紅色虛線所示。圖2中:tx、ty、tw、th表示網格的預測值,在每個網格中輸出對應于網格的相對中心坐標(σ(tx),σ(ty));pw、ph分別表示先驗框的寬和高;cx和cy表示網格相對于左上角的偏移量。邊界框的值可以表示為:
bx=σ(tx)+cx,by=σ(ty)+cy,
bw=pwetw,bh=pheth,σ(x)=1/(1+e-x)
(1)
預測框的中心點位置、寬、高、置信度以及分類信息是損失函數計算的重要參數值。預測框的置信度可用預測框與標記框之間的交并比(intersection over union,IoU)表示,其計算公式為:
(2)
其中:B1為預測框;B2為標記框。一般設置如下:PIoU>0.7的預測框為正例,即成功預測目標;PIoU<0.3的目標為反例,即背景。計算損失函數時,需盡量保持正、反例之間數量平衡。
損失函數是用來評估模型真實值與預測值不一致程度的非負實值函數,損失值越小,模型的預測能力、魯棒性越好。因此,本文YOLOv3算法在訓練神經網絡時優化的是損失函數,通過反向傳播對模型不斷進行更新,使得Loss逐漸減小,最終趨于穩定狀態。
YOLOv3的損失函數采用誤差的平方并整合了預測框定位誤差、有無目標的IOU誤差以及分類誤差。損失函數的計算公式如下:
(3)

原始YOLOv3算法借鑒殘差神經網絡模型搭建出53層神經網絡Darknet-53,該網絡結構包含52個卷積層和1個全連接層。較多的網絡層數雖然對特征提取是有利的,但相應也會產生梯度消失現象以及增加檢測時間,而且縱向撕裂只有大裂紋和完全撕裂2種類別,并不需要深層神經網絡提取特征,因此本文運用類似于Darknet-53的網絡模型搭建出29層網絡模型Darknet-29,如圖3所示。

圖3 Darknet-29網絡結構
改進后的YOLOv3網絡結構如圖4所示,其網絡的基本組件Darknet-Conv是卷積層(convolutional,Conv)、批歸一化(batch normalization,BN)以及激活函數層Leaky ReLU的集成。在所有的卷積層后增加批歸一化,有助于加快訓練過程并提高性能,同時可以緩解梯度消失問題。Leaky ReLU是ReLU激活函數的變體,在負值輸入時有很小的坡度,解決了ReLU 函數進入負區間后神經元不學習的問題。YOLOv3的大組件Resn是由Darknet-Conv、Zero padding和n個殘差單元Residual構成,這一結構有助于解決網絡層數增加后梯度爆炸和梯度消失的問題。整個網絡結構可以分為Darknet-29部分和YOLO部分,Darknet-29 由卷積層和殘差網絡組成,每個卷積層包括1×1 的卷標塊CB1 和3×3的卷標塊CB2,用于提取圖像特征;YOLO部分通過借鑒FPN特征網絡的思想進行多尺度特征融合,通過添加上采樣層和連接層,融合了2個不同尺度的特征,在2個尺度的融合特征圖上分別獨立做檢測。

圖4 改進的YOLOv3網絡結構
數據在深度學習中占有著重要地位,數據集的優劣對實際生產環境中輸送帶縱向撕裂的檢測有著重要影響。本文采用圖1所示的實驗裝置制作數據集,共采集大裂紋和完全撕裂的圖片各300張。在深度學習中,樣本數量越豐富,訓練出來的模型效果越好,因此,需對原始數據進行數據增強處理,其中色調的變化范圍為1.0~1.5倍,曝光的變化范圍為1.0~1.5倍,色量的變化范圍為0.9~1.1倍。通過數據增強技術,最終得到1 780張圖片,其中大裂紋850張,完全撕裂930張,將所有圖片按照7∶3分為訓練集和測試集。
使用labelImg工具對數據集進行人工邊框標記,標注信息以PASCAL VOC格式存儲,其中包含大裂紋和完全撕裂的類別和邊框坐標。然后將數據進行預處理歸一化操作,將目標實際標記框數據除以圖像的高度和寬度,使得預處理數據被限制在0~1之間,可使訓練過程更快讀取數據,加速模型收斂。歸一化操作后5個參數組成1組數據,分別包含分類序列(label)、標記框中心的x坐標和y坐標、標記框的寬w、標記框的高h,其表達式[28]如下:
(4)
其中:(xmax,ymax)為標記框右下角坐標;(xmin,ymin)為標記框左上角坐標;wp、hp分別為圖像的高和寬。



圖5 不同K值對應的平均交并比
網絡模型訓練前需設置相應訓練參數,合適的參數值可以訓練出較優的模型,本文設置的參數見表2所列,每次迭代過程加載64張圖片并分16批次完成向前傳播過程,待64張圖片全部完成前向傳播后,再進行一次反向傳播更新參數。引入最優化方法中動量(momentum)參數,影響梯度下降到最優值的速度;引入權重衰減正則項(decay),防止模型訓練過程中出現過擬合現象。模型一共訓練5 000次,共耗時6 h。

表2 網絡訓練參數
本實驗使用精確度(precision)、召回率(recall)、平均精度(average precision,AP)、所有目標類別平均檢測精度的均值(mean average precision,mAP)以及每秒檢測的圖片數量(frame per second,FPS)來評價損失函數訓練出來的模型性能[29]。
精確度Pre、召回率Re、mAP、FPS的計算公式分別如下:
(5)
(6)
(7)
(8)
其中:TP為真實的正樣本數量;FP為虛假的正樣本數量;FN為虛假的負樣本數量;n為類別數;PA(i)為某一類的檢測精度;Nfigure為檢測圖片總數;ttotal為檢測總時間。
輸送帶縱向撕裂檢測結果如圖6所示。其中:圖6a為完全撕裂(L-T)檢測結果,圖6b為大裂紋(L-C)檢測結果。

圖6 縱向撕裂檢測結果
相對于傳統單維度檢測方法,本文基于改進YOLOv3算法的輸送帶縱向撕裂多視角檢測方法不僅可以有效解決輸送帶縱向撕裂問題,而且可以進行多目標分類識別,自動識別出大裂紋或者完全撕裂情形。
改進模型的精度對比如圖7所示。從圖7可以看出,使用改進后的YOLOv3算法進行檢測時,輸送帶縱向撕裂所有類別的平均檢測精度AP相較于原始YOLOv3算法均沒有下降,在保證檢測精度的同時,顯著增加了檢測速度。

圖7 改進模型的精度對比
模型分解實驗結果見表3所列。其中:模型A為原始YOLOv3模型;模型B為在模型A的基礎上簡化特征提取網絡,搭建出29層特征提取網絡Darknet-29后的模型;模型C為在模型A的基礎上減少1個特征尺度后的模型;模型D為在模型A的基礎上引入Darknet-29和減少1個特征尺度后的模型。
從表3可以看出,簡化特征提取網絡和減少1個特征尺度,對輸送帶縱向撕裂的檢測精度影響不大,但是會顯著提高檢測速度。這是由于縱向撕裂的類別較少且各種類別尺寸相對集中,特征提取相對簡單,不需要較多的網絡層。

表3 模型分解實驗結果
通過與幾種先進的YOLO檢測算法比較發現,改進后的YOLOv3算法對于輸送帶縱向撕裂檢測效果最好。
不同算法損失值迭代曲線的對比如圖8所示。
從圖8可以看出,在相同的網絡訓練參數和硬件配置下,改進后的YOLOv3算法(YOLOv3-darknet29)損失值最低,模型效果最優;模型在前2 300次訓練中迅速擬合,Loss值快速變小,在3 000次訓練后逐漸趨于穩定,達到理想效果。

圖8 不同算法損失值迭代曲線的對比
不同YOLO算法的檢測性能對比見表4所列。
從表4可以看出:改進后的YOLOv3算法所有目標類別檢測精度的均值PmAP為98.7%,在幾種算法中最高,相較于原始YOLOv3算法、YOLOv2算法和YOLOv3-Tiny算法,分別提高0.4%、8.1%、10.8%;YOLOv3-Tiny算法由于網絡結構簡單,其檢測速度為132 幀/s,在幾種算法中最快,但是其PmAP只有87.9%,難以滿足實際生產環境中的精度要求,故不可取;改進后的YOLOv3算法在保證檢測精度的條件下,具有較高的檢測速度,相較于原始YOLOv3算法提高60.6%,相較于YOLOv2算法提高39.5%。

表4 不同YOLO算法的檢測性能對比
網絡模型在保證精度和速度的前提下所占用的內存越少,與硬件結合越有利。
不同YOLO系列算法網絡模型所占用內存大小如圖9所示。
從圖9可以看出:YOLOv3-Tiny算法占用內存最少,僅為33 Mb,這是由于YOLOv3-Tiny網絡結構比較簡單;其次是改進后的YOLOv3算法,其占用內存大小為141 Mb,相較于原始YOLOv3算法和YOLOv2算法分別減少93 Mb和51 Mb。

圖9 不同YOLO系列算法網絡模型占用內存
從各種算法的檢測速度fFPS、整體檢測精度PmAP和模型占用內存可以看出,改進后的YOLOv3算法在輸送帶縱向撕裂檢測方面優于其他幾種算法,既具有較高的檢測精度,又能保證較快的檢測速度,可以滿足輸送帶運行過程中實時檢測的精度與速度要求。
針對輸送帶縱向撕裂檢測中存在的檢測視角單一、速度慢、精度低等問題,本文提出一種基于改進YOLOv3算法的輸送帶縱向撕裂多視角檢測方法。該方法對輸送帶檢測裝置進行改進設計,利用多個視角布置的工業相機采集輸送帶圖像;對原始YOLOv3網絡進行優化調整,從而獲得一種快速、準確的端到端輸送帶縱向撕裂檢測方法。根據實驗結果得到以下結論:
(1) 輸送帶縱向撕裂多視角檢測方法不僅可有效解決輸送帶縱向撕裂問題,還可以進行多目標分類識別,自動識別出大裂紋或完全撕裂情形。
(2) 相較于原始YOLOv3算法,改進后的YOLOv3算法平均檢測精度均值PmAP在沒有下降的情況下,檢測速度提高了60.6%,達到53 幀/s,模型占用內存減少了93 Mb,僅為141 Mb。
(3) 與其他算法性能的對比結果表明,改進后的YOLOv3算法在輸送帶縱向撕裂檢測方面優于YOLOv2、YOLOv3-Tiny和原始YOLOv3算法,能夠較準確快速地檢測出輸送帶縱向撕裂問題。