趙艷芹, 鄧虎誠
(黑龍江科技大學(xué) 計算機與信息工程學(xué)院, 哈爾濱 150022)
能源問題緊密聯(lián)系著國家的經(jīng)濟社會全局發(fā)展,保障煤炭穩(wěn)定供應(yīng)就是維持社會穩(wěn)定運行。降本增效,就是礦山智能化追求的重要目標(biāo)[1],而煤巖圖像檢測技術(shù)就是制約煤炭智能開采的關(guān)鍵難題。
早期煤巖識別包括超聲波檢測、雷達檢測、紅外線檢測[2-4],這些檢測方法需要額外的物理傳感器,檢測裝置僅能分析出煤炭和巖石不同的物理特征,識別效果不理想。隨著深度學(xué)習(xí)技術(shù)發(fā)展,圖像分析技術(shù)邁入蓬勃發(fā)展時期。司壘等[5]通過改進U-net網(wǎng)絡(luò)模型,有效提升了煤巖圖像分割性能。高峰等[6]提出了一種基于塔式池化架構(gòu)和卷積網(wǎng)絡(luò)的模型,提高了煤巖檢測精度。孫傳猛等[7]針對煤巖界面連續(xù)和貫穿的特點,采用改進YOLOv3算法加快了測試時間。雖然這些深度學(xué)習(xí)方法能夠取得較好的實驗結(jié)果,但是距離真正應(yīng)用還有一定差距。其中最主要的問題就是檢測精度不夠高,模型體量過大。針對以上問題,文中基于YOLOv7模型[8],引入高效卷積模塊ConvNeXt[9]來增強算法對煤巖圖像全局信息的獲取,然后用SimAM[10]機制取代1×1大小的卷積,使算法更加關(guān)注煤炭信息在整個煤巖圖像上的分布,最后將原始算法中的CIoU置換為αIoU[11],分析增強算法不同環(huán)境下煤巖圖像的適用性,通過這些改進,降低模型計算量,實現(xiàn)對煤巖圖像的精準(zhǔn)高效檢測。
YOLOv7是YOLOv4作者團隊提出的最新YOLO系列算法,它在保持高檢測精度的同時,檢測速度也超越相同體量下的YOLO系列算法。YOLOv7結(jié)構(gòu)如圖1所示。YOLOv7模型主要由Backbone、Neck和Head三部分構(gòu)成。三部分分別由CBS卷積模塊、ELAN模塊、MP模塊和RepConv模塊組成。其中,CBS模塊通過不同卷積核完成縮減采樣、特征提取以及更改通道數(shù)的目的。ELAN模塊是創(chuàng)新性的新型高效主干網(wǎng)絡(luò),它通過控制最短最長的梯度路徑使模型網(wǎng)絡(luò)學(xué)習(xí)到更充分的特征信息,有效提升了整個模型的魯棒性。YOLOv7模型的MP模塊使用兩條通道并行思想:一條使用最大池化層;另一條為步長為2的卷積層,有效避免了傳統(tǒng)方法所造成的圖像信息含糊不清問題,達到高效下采樣的效果。RepConv模塊是吸收了RepVGG[12]思想創(chuàng)新后的重卷積模塊,訓(xùn)練網(wǎng)絡(luò)時,多分支模型相比單分支會有更高性能,模型推理時,單分支結(jié)構(gòu)速度更快,更節(jié)省內(nèi)存,RepConv模塊通過重構(gòu)網(wǎng)絡(luò)結(jié)構(gòu),應(yīng)用卷積合并、多分支融合思想,使模型獲得高速高效推理性能。
圖1 YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 YOLOv7 network structure
YOLOv7算法性能的優(yōu)越性有目共睹,特別是針對一些常規(guī)任務(wù),例如行人車輛檢測、動物植物檢測等,但是將YOLOv7直接應(yīng)用到煤巖圖像檢測上卻還是存在一些問題。通過多次實驗發(fā)現(xiàn)YOLOv7對于煤巖圖像中一些淺色煤炭區(qū)域信息提取不夠充分,對于煤炭與深色巖石混合圖像容易造成漏檢現(xiàn)象的情況,因此在網(wǎng)絡(luò)結(jié)構(gòu)上,文中決定通過引入ConvNeXt模塊和改進MP模塊提高模型對于煤巖圖像特征提取效率,與此同時降低模型規(guī)模,實現(xiàn)小巧且精準(zhǔn)。改進后YOLOv7網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。
圖2 改進后YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)Fig. 2 Improved YOLOv7 network structure
煤巖圖像的來源大部分來自井下,受限于缺少自然光照和粉塵飛舞的條件,煤巖圖像的清晰度總是會受到影響,從而降低目標(biāo)檢測算法的準(zhǔn)確性。相比于直接添加多層注意力機制或者加入特征提取網(wǎng)絡(luò)會帶來的模型增大,文中通過ConvNeXt替換YOLOv7網(wǎng)絡(luò)中的一部分CBS結(jié)構(gòu),做到了檢測精度提高的同時縮小了模型大小。
ConvNeXt是一種純卷積神經(jīng)網(wǎng)絡(luò),它對標(biāo)的是Swin Transformer,通過一系列實驗比對,在相同的FLOPs下,ConvNeXt相比Swin Transformer擁有更快的推理速度以及更高的準(zhǔn)確率。ConvNeXt Block如圖3所示。
圖3 ConvNeXt 模塊Fig. 3 ConvNeXt block
ConvNeXt模塊雖然是純卷積結(jié)構(gòu),但是卻與傳統(tǒng)卷積網(wǎng)絡(luò)有很多區(qū)別,這也是它取得高效率的關(guān)鍵所在。在處理同樣的圖像信息時,傳統(tǒng)卷積使用3×3或者1×1大小的卷積核提取信息,而ConvNeXt模塊考慮到注意力模型由于全局信息獲取帶來的高準(zhǔn)確率,使用7×7的大卷積核來提高全局信息獲取能力。
相對于其他經(jīng)典注意力機制的一維、二維注意力,SimAM注意力同等地對待圖像中的位置和通道信息,從而獲得更多目標(biāo)信息。借鑒神經(jīng)科學(xué)中信息豐富的神經(jīng)元通常表現(xiàn)出與周圍神經(jīng)元不同放電模式的特點,賦予具有激活效應(yīng)神經(jīng)元更高的重要性,從而使模型獲知與檢測目標(biāo)更相關(guān)的信息。SimAM原理如圖4所示。
由于煤巖圖像的復(fù)雜性,圖片中煤炭和巖石并不是相互間隔開,反而是相互交融,有時肉眼都難以分辨。為了進一步提高模型識別準(zhǔn)確性,文中引用了SimAM注意力機制,創(chuàng)新出MP_SAM模塊,將原來的1×1大小卷積替換為SimAM注意力,從而讓上分支輸入信息得到特征加強,使輸出后的信息更加專注于煤炭區(qū)域,加強了模型的特征獲取能力。MP_SAM結(jié)構(gòu)如圖5所示。
圖4 SimAM原理Fig. 4 Principle of SimAM
圖5 MP_SAM結(jié)構(gòu)Fig. 5 MP_SAM structure
YOLOv7損失函數(shù)對于常規(guī)任務(wù)有相當(dāng)好的表現(xiàn),但是當(dāng)任務(wù)具體到煤巖圖像檢測時,由于煤巖圖像單調(diào)灰黑的特質(zhì),YOLOv7自帶的CIoU損失函數(shù)并沒有取得很好的效果。文中選取了αIoU來替換原模型的CIoU,從而使新模型更加適配煤巖圖像數(shù)據(jù)集,檢測效果更好。
αIoU將現(xiàn)有的基于IoU 的損失進行了一個推廣,使αIoU可以有著超越現(xiàn)有基于IoU的損失,通過調(diào)節(jié)α,使探測器更靈活地實現(xiàn)不同水平的bbox回歸精度,并且αIoU對小數(shù)據(jù)集和噪聲的魯棒性更強。αIoU計算公式為
式中:a——αIOU的參數(shù);
ρ——兩個矩形框之間的歐氏距離;
b、bgt——兩個矩形框的中心點坐標(biāo);
c——兩個矩形框的閉包區(qū)域的對角線的距離;
β——權(quán)重系數(shù);
ν——兩個矩形框的相對比例。
實驗的硬件配置為:Intel Xeon(R) Gold 6240 CPU,NVIDIA Tesla V100 32 G顯卡,內(nèi)存32 G,軟件配置為CUDA 10.1,Ubuntu 18.04,Python 3.7。數(shù)據(jù)集使用的是從黑龍江科技大學(xué)礦業(yè)工程學(xué)院收集的煤巖圖像數(shù)據(jù),共計3 425張。3 243張用于訓(xùn)練,172張用于測試。訓(xùn)練過程中Epoch值為300,Batch size為16,輸入尺寸為640。
實驗使用算法精度評價指標(biāo)為識別準(zhǔn)確率P、召回率R、平均準(zhǔn)確率AP、平均準(zhǔn)確率均值mAP,一般使用mAP來對整個目標(biāo)檢測網(wǎng)絡(luò)模型的檢測性能進行評價。計算公式分別為
式中:TP——檢測正確樣本數(shù)量;
FP——檢測錯誤樣本數(shù)量;
FN——漏檢樣本數(shù)量;
AP——P-R曲線面積;
c——類別數(shù)量。
為了驗證ConvNeXt模塊,MP_SAM模塊,αIoU 對YOLOv7原版模型的影響,文中設(shè)計了八組消融實驗,采用了相同的數(shù)據(jù)集和軟硬件設(shè)備。所得模型運算規(guī)模、準(zhǔn)確率、召回率和mAP結(jié)果見表1,其中“√”表示使用了該模塊。
第一組為YOLOv7原版結(jié)果,將其作為基準(zhǔn)。第二組單獨引入ConvNeXt模塊雖然準(zhǔn)確率有所下降,但是模型大小降低0.2 G。第三組單獨結(jié)合MP_SAM模塊,模型規(guī)模下降0.5 G,召回率提升2.5%。第四組改進損失函數(shù)后,召回率和mAP提升了2.9%和0.4%。第五組同時引入兩種增加模型信息獲取能力的模塊,各項數(shù)據(jù)都有了提升。第六組在第三組基礎(chǔ)上改進了損失函數(shù),準(zhǔn)確率提升2.3%。第七組引入ConvNeXt模塊,改進了損失函數(shù),召回率提升1.6%。第八組為改進后的YOLOv7模型,與原版YOLOv7模型對比:通過融合高效卷積模塊ConvNeXt,利用7×7大小的卷積核取代了普通大小卷積,一方面減少了卷積運算次數(shù)降低了模型計算量,另一方面大卷積核的全局視野提升了模型的精確度;通過改進后的MP_SAM模塊,將無參注意力機制SimAM替換普通卷積,使該模塊計算量大大降低,同時提升了模型特征提取效果;改進損失函數(shù),提升了模型高效處理信息能力。通過以上改進,文中模型相比YOLOv7模型計算規(guī)模降低了0.7 G,準(zhǔn)確率提升3.9%,mAP增加 1.5%,更好地實現(xiàn)了對煤巖圖像的精準(zhǔn)檢測。常用幾種模型的精度和大小對比結(jié)果見表2。其中,F為運算量。
表1 消融實驗結(jié)果對比
表2 不同模型結(jié)果對比
為了驗證文中改進YOLOv7模型的有效性,在保持配置環(huán)境和訓(xùn)練參數(shù)一致的情況下,與其他模型對比試驗,訓(xùn)練過程如圖6所示。
圖6 訓(xùn)練過程Fig. 6 Training process
從表2可以看出,相比較于其他模型準(zhǔn)確率有所提升導(dǎo)致模型大小增加,或者模型大小下降隨之準(zhǔn)確率下降的情況,改進后的YOLOv7模型保持了精度和模型規(guī)模的平衡,在進行實驗的所有模型中,文中算法平均精度最高,規(guī)模相對較小。改進后的文中模型與原版YOLOv7模型相比雖然召回率降低了0.3 %,但其準(zhǔn)確率提升了3.9 %,mAP提升了1.5%;相對于YOLOv5l模型,召回率提升10.4 %,mAP提升3.8 %,FLOPs下降了13.4 G,模型大小減少了104.8 MB,參數(shù)量減少了10.7 M。結(jié)合訓(xùn)練過程綜合來看,由于文中改進模型增加了高效卷積模塊ConvNeXt和引入注意力機制的MP_SAM,提高了煤炭特征識別區(qū)分能力,使模型在煤巖圖像檢測任務(wù)中表現(xiàn)優(yōu)異。
將測試數(shù)據(jù)輸入三種模型中進行對比,測試結(jié)果如圖7所示。
圖7 不同模型測試結(jié)果Fig. 7 Testing results of different models
由圖7可見,改進后YOLOv7模型由于使用ConvNeXt模塊和MP_SAM模塊,對于煤炭特征信息的獲取更加準(zhǔn)確,對于深色背景融合在一起的煤巖圖像,文中模型不僅準(zhǔn)確識別出了中間的大塊煤炭區(qū)域,而且檢測出原模型和YOLOv5沒有檢測到的上方小型煤炭區(qū)域。從其他三張測試圖中也可以看出,文中算法識別準(zhǔn)確率更高,識別效果優(yōu)于其他算法。
(1)文中針對煤巖圖像識別中精度和模型計算規(guī)模難以平衡的問題,提出了一種通過替換原模型一部分普通卷積模塊從而改進YOLOv7的煤巖圖像檢測算法。
(2)利用高效純卷積模塊ConvNeXt,在降低模型計算規(guī)模同時提高特征提取效果。使用SimAM注意力機制,創(chuàng)新出MP_SAM模塊,使改進后模型提取與煤炭更相關(guān)的圖像信息。對損失函數(shù)進行了優(yōu)化,利用αIoU損失函數(shù)更強泛用性,更高魯棒性的特點,代替了原模型的CIoU損失函數(shù),以此使模型更適用于煤礦中提取的煤巖圖像,增加模型抗干擾能力。實驗結(jié)果表明,文中算法檢測效果優(yōu)于YOLOv7和其他目標(biāo)檢測算法。對比YOLOv7,改進后算法準(zhǔn)確率提升了3.9 %,平均準(zhǔn)確率提升了1.5%,FLOPs下降了0.7 G。