周宇杰, 徐善永, 黃友銳, 唐超禮
(安徽理工大學(xué) 電氣與信息工程學(xué)院,安徽 淮南 232001)
礦用帶式輸送機(jī)是煤礦主運(yùn)輸設(shè)備,對煤礦運(yùn)輸起著至關(guān)重要的作用[1]。輸送機(jī)功率大,輸送距離遠(yuǎn),設(shè)備長時(shí)間運(yùn)轉(zhuǎn)、持續(xù)受力及運(yùn)輸物料過程中會(huì)遇到重物和異物,導(dǎo)致輸送帶損傷[2-4]發(fā)生事故。因此,對輸送帶損傷進(jìn)行快速準(zhǔn)確的檢測十分重要。
傳統(tǒng)輸送帶損傷檢測方法分為接觸式檢測法和非接觸式檢測法[5-6]。接觸式檢測法包括棒形檢測法、漏料檢測法、測力托輥檢測法等,接觸式檢測法可靠性差、檢測精度低且很難實(shí)現(xiàn)檢測結(jié)果的可視化。非接觸式檢測法包括電磁感應(yīng)檢測法、X光透視檢測法、機(jī)器視覺檢測法等,其中機(jī)器視覺檢測法[7-8]安全性強(qiáng),檢測精度高,具有自動(dòng)化、智能化、可視化的特點(diǎn)。文獻(xiàn)[9]將輸送帶灰度圖像轉(zhuǎn)換成一維向量,分析獲得撕裂特征函數(shù),當(dāng)撕裂故障特征值大于設(shè)置的閾值時(shí)會(huì)產(chǎn)生報(bào)警,但是當(dāng)撕裂故障特征值不明顯時(shí),會(huì)出現(xiàn)故障漏檢問題,導(dǎo)致檢測精度降低。文獻(xiàn)[10]提出一種改進(jìn)SSR(Single Scale Retinex,單尺度Retinex)算法的輸送帶縱向撕裂檢測方法,通過對采集圖像進(jìn)行SSR算法處理,提取面積、寬度、矩形度等特征并設(shè)定三者的閾值,通過對比閾值來判斷輸送帶是否撕裂,但往往輸送帶損傷形態(tài)不規(guī)則,大小不一,該方法難以區(qū)分除撕裂外的其他損傷,容易造成誤檢。文獻(xiàn)[11]利用支持向量機(jī)對輸送帶紅外圖像進(jìn)行分割,根據(jù)撕裂的像素點(diǎn)數(shù)目判斷輸送帶撕裂情況,但該方法抗噪能力不佳,噪聲嚴(yán)重影響紅外圖像的分割效果,降低檢測精度。文獻(xiàn)[12]通過高斯濾波、邊緣檢測和卷積運(yùn)算等算法提取輸送帶撕裂特征,再對特征進(jìn)行閾值分析,判斷是否有撕裂發(fā)生,該方法提取特征這一步驟計(jì)算量較大,導(dǎo)致檢測速度慢。傳統(tǒng)輸送帶損傷檢測方法檢測速度慢、檢測精度低且缺少對面積較小損傷的檢測。
針對上述問題,本文提出了一種基于改進(jìn)YOLOv4[13-14]的輸送帶損傷檢測方法。該方法以YOLOv4為基礎(chǔ),對PANet路徑融合網(wǎng)絡(luò)部分進(jìn)行改進(jìn),增加與淺層特征層的融合,可提高模型對面積較小損傷的特征提取能力,并減少特征層融合后的卷積次數(shù),減少計(jì)算量,實(shí)現(xiàn)對輸送帶撕裂、表面磨損和表面缺陷3種損傷的快速、準(zhǔn)確檢測。
YOLOv4模型從結(jié)構(gòu)上分為主干網(wǎng)絡(luò)、Neck層及預(yù)測層3個(gè)部分,如圖1所示。
圖1 YOLOv4模型結(jié)構(gòu)
YOLOv4的主干網(wǎng)絡(luò)采用CSPDarknet53,CSPDarknet53對輸入圖像(尺度為416×416)進(jìn)行5次下采樣,不斷提取目標(biāo)的特征信息,由淺入深得到5個(gè)尺度逐漸減小的特征層P1—P5,5個(gè)特征層尺度分別為208×208,104×104,52×52,26×26,13×13。YOLOv4主干網(wǎng)絡(luò)使用Mish激活函數(shù)加快訓(xùn)練過程并實(shí)現(xiàn)較強(qiáng)的正則化效果。
Neck層處于主干網(wǎng)絡(luò)和預(yù)測層中間,由SPP(Spatial Pyramid Pooling,空間金字塔池化)[15]模塊和PANet組成,是一種特征金字塔結(jié)構(gòu)。主干網(wǎng)絡(luò)的輸出進(jìn)行3次卷積后作為SPP模塊的輸入,SPP模塊對該輸入進(jìn)行不同尺度的最大池化和融合操作,經(jīng)過該操作后可以擴(kuò)大感受野。PANet是路徑聚合網(wǎng)絡(luò),SPP的輸出進(jìn)入PANet后進(jìn)行2次上采樣,分別與P4和P3層進(jìn)行融合并做5次卷積運(yùn)算,得到特征層N1和N2。N2層再進(jìn)行2次下采樣,分別與N1層和SPP的輸出進(jìn)行融合并做5次卷積運(yùn)算。
預(yù)測層是最終的檢測部分。PANet通過3個(gè)不同尺度的特征層融合,再進(jìn)行卷積運(yùn)算,得到3個(gè)不同尺度的Yolo Head,尺度大小分別為52×52,26×26,13×13,檢測不同大小的目標(biāo)。每個(gè)Yolo Head都包含3個(gè)先驗(yàn)框,預(yù)測層首先對PANet輸出的3個(gè)特征層進(jìn)行預(yù)測,然后對每個(gè)先驗(yàn)框里面的目標(biāo)信息進(jìn)行分析,最后采用非極大值抑制方法并調(diào)整先驗(yàn)框來確定最終的預(yù)測框。
YOLOv4目標(biāo)檢測的損失函數(shù)L由預(yù)測框回歸損失函數(shù)LCIOU、分類損失函數(shù)Lcls及置信度損失函數(shù)Lconf3個(gè)部分組成。
L=LCIOU+Lconf+Lcls
(1)
(2)
(3)
(4)
(5)
(6)
輸送帶很多損傷與背景區(qū)分度不高,特征不明顯,且存在許多較小的損傷,YOLOv4模型存在損傷 漏檢問題,導(dǎo)致檢測精度較低。為此,在YOLOv4 PANet部分的3個(gè)尺度特征層融合的基礎(chǔ)上,與淺層特征層進(jìn)行融合,提高對輸送帶損傷的特征提取能力,同時(shí)減少特征層融合后的卷積次數(shù),減少計(jì)算量。改進(jìn)后的PANet結(jié)構(gòu)如圖2所示。
圖2 改進(jìn)后的PANet結(jié)構(gòu)
特征層N2繼續(xù)上采樣,然后和主干網(wǎng)絡(luò)的P2層進(jìn)行融合并做3次卷積運(yùn)算,得到尺度大小為104×104的特征層N3。N3層進(jìn)行下采樣,再和N2層融合并做3次卷積運(yùn)算,得到尺度大小為52×52的特征層N4,N4的輸出作為改進(jìn)YOLOv4的一個(gè)Yolo Head。將PANet部分每個(gè)特征層融合后的5次卷積運(yùn)算減少到3次,卷積核大小分別為1×1,3×3,1×1。
本文實(shí)驗(yàn)平臺(tái)為Windows 10操作系統(tǒng),CPU為Intel i7-10870H,顯卡為Nvidia Geforce RTX2060,采用Tensorflow深度學(xué)習(xí)框架。
實(shí)驗(yàn)數(shù)據(jù)集來源于現(xiàn)場拍攝,包括輸送帶撕裂、表面磨損和表面缺陷3種常見的損傷圖像。由于數(shù)據(jù)集中圖像大小不一,在訓(xùn)練前通過圖像處理軟件將圖像裁剪成416×416的統(tǒng)一大小。為了提高模型泛化能力,避免網(wǎng)絡(luò)過擬合,通過旋轉(zhuǎn)、翻折、對比度調(diào)節(jié)、亮度調(diào)節(jié)等圖像處理方法對數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),擴(kuò)充數(shù)據(jù)集,擴(kuò)充后數(shù)據(jù)集圖像共3 132張。訓(xùn)練集和測試集按比例8∶2進(jìn)行劃分。采用LabelImg軟件對圖像中輸送帶損傷部位進(jìn)行標(biāo)注,將輸送帶損傷類型及坐標(biāo)信息保存到xml文件中。之后通過程序代碼將xml文件轉(zhuǎn)化成txt文本格式文件,用于網(wǎng)絡(luò)模型訓(xùn)練。
整個(gè)訓(xùn)練迭代次數(shù)為50,學(xué)習(xí)率為0.005,批尺寸為16。
采用檢測精度和檢測速度來衡量模型檢測性能。檢測精度指標(biāo)包括精確率P、召回率R、平均精度PA及平均精度均值PmA;模型檢測速度指標(biāo)采用幀速率fFPS。
(7)
(8)
(9)
(10)
(11)
式中:NTP為正確預(yù)測的正樣本個(gè)數(shù);NFP為錯(cuò)誤預(yù)測的正樣本個(gè)數(shù);NFN為錯(cuò)誤預(yù)測的負(fù)樣本個(gè)數(shù);n為待檢測的目標(biāo)類別數(shù);PAi為第i個(gè)目標(biāo)類別的平均精度;N為待檢測圖像個(gè)數(shù);t為檢測時(shí)間。
通過50次迭代訓(xùn)練,模型訓(xùn)練結(jié)果如圖3所示。可看出在前10次迭代中損失大幅下降,10次迭代后下降幅度變緩,在40次迭代后曲線變化趨于平緩,表明基于改進(jìn)YOLOv4的輸送帶損傷檢測方法損失收斂速度快,模型訓(xùn)練效果好。
圖3 迭代次數(shù)和損失的關(guān)系曲線
為了驗(yàn)證改進(jìn)YOLOv4的優(yōu)越性,將其與YOLOv4,YOLOv3及Faster-RCNN目標(biāo)檢測模型進(jìn)行對比,結(jié)果見表1。
表1 改進(jìn)YOLOv4與其他目標(biāo)檢測模型性能比較結(jié)果
從表1可看出,基于改進(jìn)YOLOv4的輸送帶損傷檢測方法對輸送帶撕裂、表面磨損和表面缺陷檢測的平均精度均值達(dá)96.86%,檢測速度達(dá)20.66幀/s;與YOLOv4,YOLOv3和Faster-RCNN相比,平均精度均值分別提升了1.4%,6.35%,2.16%,檢測速度分別提升了2.39,2.34,15.25幀/s。
3種輸送帶損傷圖像檢測結(jié)果如圖4所示。在撕裂和表面磨損檢測中,改進(jìn)YOLOv4檢測的置信度更高,表明檢測精度更高;在表面缺陷檢測中,YOLOv4有1處損傷漏檢,改進(jìn)YOLOv4能全部檢測出3處表面缺陷,改進(jìn)YOLOv4對面積較小損傷的檢測效果更好。
(a)改進(jìn)YOLOv4撕裂檢測
(1)基于改進(jìn)YOLOv4的輸送帶損傷檢測方法損失收斂速度快,模型訓(xùn)練效果好。
(2)基于改進(jìn)YOLOv4的輸送帶損傷檢測方法對輸送帶撕裂、表面磨損和表面缺陷檢測的平均精度均值達(dá)96.86%,檢測速度達(dá)20.66幀/s;與YOLOv4,YOLOv3和Faster-RCNN相比,對輸送帶撕裂、表面磨損和表面缺陷3種損傷檢測的平均精度均值分別提升了1.4%,6.35%,2.16%,檢測速度分別提升了2.39,2.34,15.25幀/s。
(3)與YOLOv4相比,基于改進(jìn)YOLOv4的輸送帶損傷檢測方法檢測精度更高,對面積較小損傷的檢測效果更好。