沈科, 季亮, 張袁浩, 鄒盛
(1.中煤科工集團常州研究院有限公司,江蘇 常州 213015;2.天地(常州)自動化股份有限公司,江蘇 常州 213015)
我國已將煤炭清潔高效開發利用作為能源轉型發展的立足點和首要任務[1],煤矸分選作為現代化煤礦清潔生產的重要環節,為推動煤炭清潔利用貢獻了力量。隨著智能檢測和機器人技術的發展,煤矸自動化分選逐漸成為可行及具有前景的方案,其中,煤矸識別是煤矸自動化分選方案的基礎環節。傳統的煤矸識別方法有射線識別法[2]、重介法[3]、硬度識別法[4]等,射線識別法的射線輻射強度大,重介法增加了重介質的凈化回收工序,工藝流程相對復雜,硬度識別法對破碎力大小要求高且應用理論研究少。
近年來,機器視覺技術在煤矸識別領域應用廣泛,主要分為圖像處理算法與深度學習算法2種。圖像處理算法[5-7]通過設計特定的卷積濾波器對煤矸的顏色、灰度、邊緣、輪廓等特征進行提取,然后通過圖像分割算法檢測出煤矸目標,但實際應用中需根據不同場景人為調整參數,且算法魯棒性較差、實用性不強。深度學習算法識別率較高且魯棒性強,在煤矸識別方面得到快速推廣[8-10]。在煤矸目標檢測應用中,王中舉等[11]提出了一種基于深度學習網絡的煤矸圖像分類方法,識別率較高,但沒有進行準確的煤矸目標位置和尺寸檢測。來文豪等[12]利用多光譜系統采集3個波段構成偽RGB圖像數據集,再利用改進后的YOLOv4[13]模型進行煤矸目標檢測,但單幀檢測時間長達4.18 s,無法實現煤矸實時檢測。本文在YOLOv5s[14]模型的基礎上,將自校正卷積網絡(Self-Calibrated Convolutions,SCConv)[15]嵌入到YOLOv5s模型的Backbone區域中,刪除Neck和Prediction區域的19×19特征圖分支,對K-means算法聚類得到的錨框進行線性縮放,提出了一種改進YOLOv5s模型,并將其應用于煤矸目標檢測,在檢測速度和檢測精度上都有一定的提升。
基于改進YOLOv5s模型的煤矸目標檢測流程如圖1所示。具體步驟:在煤矸分選處進行相機參數配置和啟動,采集實時圖像;采用改進YOLOv5s煤矸目標檢測算法讀取實時圖像并檢測;將檢測到的所有矸石的坐標信息傳給機械臂,機械臂執行矸石分揀動作;若相機終止采集,流程結束;反之,則繼續圖像采集。

圖1 基于改進YOLOv5s模型的煤矸目標檢測流程
YOLOv5s模型在YOLOv4模型的基礎上,主要實現了對模型大小和性能的靈活配置,同時引入最新的網絡模塊和訓練技巧,如馬賽克數據增強、DropBlock機制、Hardswish激活函數、GIoU邊界框回歸損失等。YOLOv5s模型主要由輸入、Backbone、Neck、Prediction等區域組成,每個區域由CBL(Conv+BN+Leaky_Relu)、CSP(CBL+Res unit+Concat+BN+Leaky_Relu)、Focus、SPP等模塊構成,如圖2所示。

圖2 YOLOv5s模型架構
YOLOv5s的Backbone區域主要采用多組殘差模塊堆疊而成。然而,殘差模塊無法充分融合多尺度特征信息,因此,引入SCConv,SCConv是一種在不改變模型架構的前提下,通過加強特征圖內在通信,達到擴增感受野效果的網絡組件。SCConv結構如圖3所示,其中,C×H×W為輸入特征圖X的維度,X1,X2為被拆分后的特征圖,K1—K4為卷積核,F1—F4為處理后的特征圖,r為平均池化降采樣倍數,Y1,Y2分別為分支1和分支2輸出的特征圖維度,Y為輸出的特征圖。SCConv按照通道維度分為2個分支,分支1利用下采樣來增大特征圖感受野,分支2用于常規的卷積操作,合并2個分支通道信息,從而增加模型的特征提取和表達能力。

圖3 SCConv結構
本文將SCConv結構嵌入YOLOv5s模型的Backbone區域,如圖4所示,在不明顯增加YOLOv5s模型復雜度的情況下,改善Backbone區域的特征提取能力。

圖4 改進的Backbone結構
YOLOv5s模型中的Neck區域采用多路徑結構聚合特征,增強網絡特征融合能力。由于煤塊和矸石的尺寸相對整張圖像過小,使得Neck區域進行大目標檢測變得冗余。為提高模型檢測速度,對YOLOv5s模型Neck區域進行適當精簡,將其中擁有最大感受野、適合檢測較大尺寸對象的19×19特征圖分支進行刪除,如圖5所示,從而降低模型復雜度并提高檢測實時性。

圖5 改進的Neck和Prediction結構
在YOLOv5s模型訓練過程中,錨框集合是對數據集中的目標邊界框進行K-means算法聚類生成的。由于Neck區域中刪除了預測大目標的19×19特征圖分支,所以將聚類的錨框數量由9組降低為6組。經過標準K-means算法聚類后獲得的6組錨框尺寸分別為(41,63),(47,94),(54,69),(54,51),(64,84),(64,120)。
通過K-means算法聚類生成的錨框尺寸相對比較集中,有相當一部分物體真實標記框尺寸與K-means算法聚類得到的錨框尺寸存在較大差異,聚類得到的錨框尺寸無法很好地覆蓋數據集中絕大部分標記框的真實尺寸,致使模型收斂較慢且很難達到最優狀態。因此,將K-means算法聚類生成的6組錨框進行線性尺度縮放,縮放公式為
(1)
(2)
(3)
(4)

經過縮放后的錨框尺寸分別為(20,31),(39,79),(62,80),(62,59),(96,126),(96,180)。
模型訓練平臺為NVIDIA GeForce GTX 2080Ti,推理平臺為礦用本安型邊緣計算設備,該設備具有14TOPS算力。模型輸入圖像尺寸為608×608,通道為3。模型訓練時設置動量系數為0.937,權重衰減系數為0.000 5,學習率為0.01,學習率更新采用warm-up方法,批尺寸為16,訓練迭代次數為300。
采集原始分辨率為1 280×960的圖像樣本526張,每張圖像包括的煤矸數量在4個以上,且含有煤矸堆疊和遮擋等情況,總計約3 000個煤矸目標。為了降低人工標注成本,使用輔助標注工具對煤矸數據集進行初步標注,之后通過開源工具LabelImg進行可視化,完成煤矸數據集制作。實驗過程中訓練集和驗證集分別包含373和77張圖像樣本,測試集包含76張圖像樣本。
為驗證本文改進YOLOv5s模型的檢測效果,在YOLOv5s模型基礎上進行不同改進來做對比實驗,結果見表1(FPS為每秒傳輸幀數,mAP為平均精度均值)。可看出YOLOv5s模型大小為6.74 MB,測試集上的mAP為87.5%,FPS為30.5幀/s;YOLOv5s-SCC模型在Backbone區域嵌入SCConv網絡作為主干特征提取網絡,在模型大小增加0.26 MB、FPS降低0.9 幀/s的前提下,mAP相較于YOLOv5s模型提高了0.7%,表明SCConv網絡能夠改善模型檢測精度;YOLOv5s-TA模型在Neck和Prediction區域刪除19×19特征圖分支,在模型大小降低1.69 MB、FPS增加3.2幀/s的前提下,mAP相較于YOLOv5s模型僅降低了0.7%,表明YOLOv5s-TA模型能夠提高模型檢測速度;YOLOv5s-DS模型對K-means算法聚類生成的錨框進行線性尺度縮放,在模型大小降低1.69 MB、FPS增加3.1幀/s的前提下,mAP相較于YOLOv5s模型僅降低了0.1%,表明YOLOv5s-DS模型在檢測精度趨于穩定的前提下能夠提高模型檢測速度;改進的YOLOv5s模型大小相較于YOLOv5s模型降低1.57 MB,FPS增加了2.1幀/s,且mAP提高了1.7%,表明改進的YOLOv5s模型在檢測速度和檢測精度上均有提升。

表1 不同改進YOLOv5s模型檢測結果對比
以精確率P為橫軸、召回率R為縱軸繪制YOLOv5s及4種改進模型的P-R曲線(圖6),P-R曲線與橫縱坐標圍成的面積即為平均檢測精度。由圖6可知,改進YOLOv5s模型檢測精度最高,性能最優。

圖6 各模型在煤矸識別測試集上的P-R曲線
煤矸目標檢測結果如圖7所示。可看出改進YOLOv5s模型能準確檢測出相應的煤塊和矸石,且檢測精度相較于YOLOv5s模型有所提升。

(a)YOLOv5s模型檢測結果
(1)在YOLOv5s模型的Backbone區域嵌入SCConv作為特征提取網絡,解決了模型多尺度特征提取不充分問題;刪除YOLOv5s模型的Neck和Prediction區域的19×19特征圖分支,有效降低了模型大小;對通過K-means算法聚類得到的錨框進行線性縮放操作,提高了模型檢測精度。
(2)相較于YOLOv5s模型,改進YOLOv5s模型大小降低了1.57 MB,減少了模型參數,FPS增加了2.1幀/s,mAP提高了1.7%,表明改進YOLOv5s模型在檢測速度和檢測精度上均有提升。