鄭松濤,孫志鵬,陶虹京
(山西大同大學 煤炭工程學院, 山西 大同 037003)
近年來隨著深度學習的興起,利用計算機提取煤矸石的高維圖像特征識別煤矸石成為一種新興手段[1-2]. 目前,將深度學習模型作為煤矸石圖像處理的研究已經取得了一定的進展。Dongjun L等[3]提出了將深度學習模型應用于煤矸石分層檢測的方法,通過對比驗證,發現該方法可以有效實現不同體積的煤巖識別,但速度較低。陳彪等[4]提出了將輕量化Ghost-S網絡與注意力模塊HPAM添加到YOLOX-S模型中的煤矸石圖像檢測方法,實驗中煤矸石圖像檢測精度高,但速度仍達不到實時識別的要求。沈科等[5]使用YOLOv5改進后應用于煤矸石目標的檢測,加強煤矸石特征信息處理能力,但輕量化不足。上述將深度學習應用于煤矸石檢測的研究難以做到識別精度與檢測實時性的統一,且在實驗初始時未考慮輸入端圖像分辨率的不同對網絡實時性的影響,未針對煤矸石識別過程中圖像樣本特征差異不明顯,圖像中檢測物體較為接近做出相應優化。
針對上述問題,以YOLOv5模型為基礎,引入Ghost卷積,SE注意力機制[6],刪除了模型中20×20的最大檢測頭,提出GSP-YOLOv5模型的煤矸石圖像檢測算法,并通過實驗證實算法的可行性。
YOLOv5是單階段的目標檢測模型,相對于其他兩階段模型其檢測速度更高,在時間檢測系統中應用廣泛。YOLOv5是目前應用最多的YOLO系列算法,基于YOLOv4的基礎上進行研發,在網絡結構上加入了跨階段局部模塊GSP,相對于之后的版本來說模型參數更少,檢測速度更快。YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x和YOLOv5n是YOLOv5的不同版本[7],但在模型結構和性能方面有所不同。YOLOv5s相對于其他版本的YOLOv5來說,計算參數更少,模型更加輕量,同時采用了端到端訓練,無須預訓練便可使用,達到了檢測時間與精度之間的平衡。考慮運算速率以及精度的情況下,采用YOLOv5s算法的基礎上進一步進行優化。
YOLOv5模型的網絡主要由輸入端、Backbone、Neck及Prediction組成,GSP-YOLOv5模型在YOLOv5s的結構基礎上進行改進,算法模型網絡結構見圖1. 首先,在Backbone網絡中引入Ghost卷積,有效地減少了計算參數,提升了檢測速率;其次,在Backbone網絡中引入SE注意力機制,增強網絡特征提取能力,提升了檢測精度;最后,在Prediction部分刪除了模型中20×20的最大檢測頭,使得模型更加輕量。GSP-YOLOv5網絡程序框見圖1.

圖1 GSP-YOLOv5s網絡程序框
由于基礎模型的Conv(圖2(a))是全局提取特征,會使部分相似特征信息被提取,從而使得網絡中重復信息較多,因此可以刪除相似的特征信息來減少運算量。Ghost卷積則運用卷積核的提取圖像特征,得到少量通道數的特征圖,然后再進行分組卷積,見圖2(b).

圖2 Ghost卷積模塊結構
對于傳統的卷積來說設輸入圖像大小為C×H×W,C為輸入圖像的通道數,H與W為輸入圖像的高和寬,通過任意卷積層中k×k大小的卷積核,輸出n個大小為h×w×n的輸出圖像,必需的計算量為n×w×C×k×k,而在Ghost卷積中,生成m個傳統特征圖的計算量為C×k×k×m×w×h,然后通過少量參數的線性運算得到s-1個特征和1個單位恒等映射,產生m×(s-1)個全新的特征信息,此時新的特征信息計算量為m×k×k×(s-1)×h×w,總計算量為C×k×k×m×h×w+m×k×k×(s-1)×h×w.由于在Ghost卷積的計算過程中參量C?s. 假設將完全相同輸入信息導入卷積核數目與大小一致的傳統卷積與Ghost卷積時,當生成n×(s-1)/s個傳統卷積的特征信息與m×(s-1)個Ghost卷積特征信息個數相等時,兩種卷積的理論速度提升比(rs)與模型壓縮比(rc)如下:
(1)
由式(1)可知,Ghost卷積相對于相同傳統卷積速度更快,體積更小,與MobileNet中的點卷積和ShuffleNet的深層卷積相比,Ghost卷積通過增大卷積核的大小,減少了計算參量的同時保留了更多特征信息,其次Ghost卷積的線性變換過程計算量較少,運算速度更快。
YOLOv5s模型在運算輕量化的同時保持精度下降地較少,對此,引入了SE注意力模塊,增強了對煤塊與矸石圖像中RGB[8]通道信息的合理利用,增大了對巖樣表面紋理特征的提取與圖像信息中灰度的識別能力,網絡結構見圖3.

圖3 SE注意力模塊網絡結構
SE模塊有壓縮與激發兩個操作,如圖3所示,首先,將C×H×W大小的輸入圖像經過壓縮輸出1×1×C的圖像,壓縮計算方式如下:
(2)
式中:Z為輸出的特征向量;Fsq為壓縮函數;uc為輸入特征圖;i與j表示圖像長寬相對坐標。其次,通過Sigmoid激活函數評價各個通道的重要性并獲得相應的權重,再激發計算方式如下:
Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(3)
式中:Fex為激發函數;W為映射矩陣;z為壓縮運算輸出特征;σ和δ分別表示激發函數與Simgoid激活函數。最后,經過權重調節的輸出特征xc計算方式如下:
xc=Fscale(uc,sc)=scuc
(4)
式中:xc為輸出特征圖像;Fscale尺度化函數;函數的激活值大小由0至1;sc表示特征權重;uc在式(4)中代表輸入的特征。
YOLOv5s網絡中有3種檢測頭,其分類與定位功能不同分別輸出80×80、40×40、20×20大小。由于檢測的煤矸石與煤是小目標,且檢測圖像中目標富集程度高,考慮到20×20檢測頭輸出的圖像為最大,針對復雜且目標較小的煤矸石會導致檢測精度不高,運算量較大,刪除20×20檢測頭可以有效減輕模型的運算參量,同時還可以提升對煤塊與矸石的識別精度。
檢測的數據集來源于網絡上開源的某選煤廠的煤矸石圖像,圖像分辨率為640×640,隨機選取1000張圖像,將90%分為訓練集,10%分為驗證集。使用LabelImg進行標注,設置標簽值為2,煤塊標注為Coal,矸石標注為Rock. 處理結果見圖4.

圖4 煤矸石標注
實驗平臺硬件配置見表1.

表1 實驗環境配置
為了評估改進算法性能,采用平均精度均值(mAP)[9],模型每秒檢測的圖像數量(FPS)[10]評價指標。
(5)
(6)

(7)
(8)
以識別矸石為例,式中:TP為矸石被成功檢測數量;FP為非矸石檢測數量;FN為未被識別矸石數量;P為識別的準確度;R為召回精度;AP為平均精度,計算方法為識別準確度與召回精度兩者的曲線所圍成的面積;mAP為AP的均值;n為樣本類別,設置為2,煤塊設置“Coal”,矸石設置“Rock”.
運行GSP-YOLO煤矸石檢測算法,對標注完成的煤矸石數據集進行訓練,模型損失曲線見圖5. 由圖5可知,在前25次訓練中,損失值下降迅速,當訓練次數增加時,損失值緩慢下降,訓練次數接近100次時,算法模型的損失趨近于平穩。與原始的YOLOv5s模型損失相比,改進后的算法模型損失量更小,模型效果更好。

圖5 損失函數對比
3.4.1 消融實驗結果分析
通過消融實驗進行模塊的疊加可以看出各個模塊對整體網絡的影響,引入Ghost卷積模塊、SE注意力模塊、Prediction精簡的操作,算法精度與識別速率見表2.

表2 消融實驗
由表2可知,在煤矸石識別的過程中,YOLOv5s算法的平均精度均值為93.8%,實時檢測性能為102.5 fps. 引入Ghost卷積模塊后,算法的識別精度略有下降,但是實時檢測性能提升到了111.2 fps;在G-YOLOv5s模型的基礎上引入SE注意力機制,檢測精度提升了0.8%,相對YOLOv5s在檢測精度提升0.2%,實時檢測速率提升3.5%;最后簡化了Prediction部分,刪除20×20檢測頭使得算法精度達到94.6%,在提升精度的同時實時檢測性能達到110.3 fps,相對YOLOv5s精度提升0.8%,實時檢測速率提升了7.6%. 這表明了GSP-YOLOv5s模型在檢測精度與實時檢測速率上均有提升,可以作為煤矸石檢測與分類的算法。
3.4.2 對比實驗與推理分析
為檢驗GSP-YOLOv5s算法模型的效果,將模型與YOLOv5s算法模型、YOLOv7算法模型以及YOLOv7-tiny算法模型相比較,所得結果見表3.

表3 對比實驗
可以得出所設計的算法模型對比于YOLOv5s算法模型在精度上提升0.8%,實時檢測性能提升7.6%;對比YOLOv7算法模型在精度上提升0.9%,實時檢測性能提升179%;對比YOLOv7-tiny算法模型在精度上提升0.4%,實時檢測性能提升38.9%.
為了對比GSP-YOLOv5s模型推理能力,通過驗證集數據在YOLOv5s算法模型、YOLOv7算法模型、YOLOv7-tiny算法模型與GSP-YOLOv5s算法模型進行推理,效果見圖6.

圖6 驗證集檢測結果對比
從識別小體積目標上可知,GSP-YOLOv5s算法模型在小目標識別上效果更好,不存在漏檢的現象,而YOLOv5s算法模型與YOLOv7-tiny算法模型針對小體積的煤塊會發生無法識別的現象;從識別精度上看,雖然YOLOv7-tiny模型在矸石檢測精度較GSP-YOLOv5模型高,但是在煤塊上精度低于本文提出的算法模型,且出現較多次數的漏檢現象,此外GSP-YOLOv5s算法模型在煤塊與矸石的檢測精度上優于YOLOv5s算法模型和YOLOv7算法模型。在推理速度方面,GSP-YOLOv5s算法模型單張圖片推理速度為6 ms,與YOLOv7算法模型和YOLOv7-tiny算法模型的推理速度接近,較YOLOv5s算法模型的8 ms更快。
由對比實驗以及驗證集推理分析可得,本文所設計的算法模型與YOLO系列的算法模型相比,具有檢測精度高,小塊煤巖檢測率高,實時速率快的特點。
通過深度學習方法,提出了一種基于GSP-YOLOv5s的煤矸石檢測算法模型。
1) 在YOLOv5s算法模型引入了Ghost卷積模塊,替換了主干網絡中的普通卷積,實現了總體參數減少,在特征信息的提取上完成了輕量化,使實時檢測速率提升8.7 fps.
2) 模型引入SE注意力模塊,強化算法模型對輸入圖像RGB通道特征信息利用,提升對煤塊與矸石紋理與灰度信息處理,消融試驗后得出網絡的檢測精度相較于原始算法模型提升了0.2%.
3) 針對煤塊與矸石目標較小、檢測數目較多的特點,優化網絡中的Prediction部分,刪除20×20檢測頭,使算法模型的精度與檢測速度相對原始模型分別提升了0.8%與7.6%.
通過對比實驗證明了提出的算法模型相對YOLO系列其他算法的優勢,表明GSP-YOLOv5s算法可為后續研究煤矸石識別方法提供幫助。