李熙尉,孫志鵬,王 鵬,陶虹京
(山西大同大學(xué) 煤炭工程學(xué)院,山西 大同 037003)
智能采礦是我國煤炭行業(yè)的重要發(fā)展方向,計算機(jī)視覺技術(shù)在煤礦智能化建設(shè)中用途廣泛,特別是對煤礦安全智能化發(fā)展的作用較為突出[1]。針對煤礦井下綜采工作面的人員以及安全帽檢測,可以為危險區(qū)域人員闖入以及不安全行為識別奠定基礎(chǔ),對煤礦安全生產(chǎn)具有重大意義。
目前井下人員以及安全帽檢測常用的檢測方法有兩種,一種是基于深度學(xué)習(xí),另一種是基于機(jī)器學(xué)習(xí)?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法相較于后者具有檢測速度快,有利于現(xiàn)場部署的優(yōu)點。單階段算法是深度學(xué)習(xí)領(lǐng)域內(nèi)檢測速度較快的一類,YOLO(You Only Look Once)系列算法是其中的代表算法。趙紅成等[2]在YOLOv3基礎(chǔ)上替換了Focal Loss損失函數(shù),引入專注因子減輕損失,使用金字塔多池化結(jié)構(gòu)提升特征融合能力,除此之外,還引入注意力機(jī)制,使得精確度提高但檢測時間較原始模型增加了9 ms;李若熙等[3]改進(jìn)了YOLOv4算法,通過引入信息熵的k-means聚類來確定目標(biāo)檢測中心點,檢測率得到提升但檢測時間延長;余益鴻等[4]通過加深CSP2層數(shù)、引入形變卷積、加深Retinex圖像優(yōu)化YOLOv5算法,提升了檢測準(zhǔn)確率,但未改善漏檢問題。
為了更好地適應(yīng)煤礦井下生產(chǎn)工作面人員和安全帽檢測需求,本文基于YOLOv5s進(jìn)行優(yōu)化,引入CBAM(Convolutional Block Attention Module)注意力機(jī)制,替換CIOU(Complete Intersection Over Union)損失函數(shù)為αCIOU(Alpha-Complete Intersection Over Union),采用井下工作面監(jiān)控視頻中的圖像構(gòu)建數(shù)據(jù)集進(jìn)行檢測。實驗表明,改進(jìn)后的算法可以提升井下綜采工作面人員和安全帽檢測精度,降低漏檢率。
YOLOv5s算法結(jié)構(gòu)由輸入端、主干網(wǎng)絡(luò)(Backbone)、Neck以及輸出端(Prediction)四部分組成。輸入端由Mosaic數(shù)據(jù)增強(qiáng),自適應(yīng)圖片縮放以及自適應(yīng)錨框計算三部分組成。Mosaic數(shù)據(jù)增強(qiáng)對輸入圖像進(jìn)行剪裁拼接和隨機(jī)排布。自適應(yīng)錨框計算可以計算出最佳錨框值。自適應(yīng)圖片縮放將輸入圖片尺寸統(tǒng)一調(diào)整到同一尺寸。Backbone包含CBS模塊、CSP(Cross Stage Partial)模塊以及SPPF(Spatial Pyramid Pooling-Fast)三個部分。CBS模塊由標(biāo)準(zhǔn)卷積塊Conv,批量歸一化Bn(Batch normalization)以及Silu激活函數(shù)三者組成。CSP模塊將基礎(chǔ)層映射分為兩個部分,通過跨階段層次再合并,減少計算量,提高檢測準(zhǔn)確率。SPPF在SPP(Spatial Pyramid Pooling)基礎(chǔ)上優(yōu)化,增大感受野,增強(qiáng)了神經(jīng)網(wǎng)絡(luò)的非線性表達(dá)能力。Neck網(wǎng)絡(luò)中采用FPN+PAN結(jié)構(gòu),F(xiàn)PN(Feature Pyramid Network)自上而下傳輸強(qiáng)語義元素,PAN(Path Aggregation Network)自下而上傳達(dá)強(qiáng)定位元素,雙塔結(jié)構(gòu),兩兩結(jié)合,使得頂層也可以享受更多底層的位置信息,有利于物體的分類,減少參數(shù)的丟失,加強(qiáng)了網(wǎng)絡(luò)特征的融合能力。輸出端使用CIOU邊界框損失函數(shù),對應(yīng)不同目標(biāo)大小,輸出3種不同尺度的目標(biāo)預(yù)測。
本文改進(jìn)模型在Backbone部分引入了CBAM注意力機(jī)制,并且替換了CIOU損失函數(shù)為αCIOU.本文提出的基于YOLOv5s改進(jìn)的算法模型結(jié)構(gòu)如圖1所示。首先,將井下綜采工作面監(jiān)控視頻采集到的圖像輸入檢測模型中,然后在檢測網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,獲取訓(xùn)練權(quán)重,最后對圖像進(jìn)行測試驗證。
圖1 CBAM-YOLOv5s模型結(jié)構(gòu)
CBAM是基于一種卷積模塊的注意力機(jī)制,它將通道注意力機(jī)制和空間注意力機(jī)制兩者相結(jié)合,以達(dá)到提高物體分類能力和目標(biāo)檢測精準(zhǔn)度的目的[5]。在通道注意力模塊中,特征圖從輸入端輸入,經(jīng)過最大池化和平均池化得到兩個結(jié)果,尺寸由H×W×C變?yōu)?×1×C,之后送入神經(jīng)網(wǎng)絡(luò)中,完成后將得到的兩個結(jié)果相加,使用Sigmoid激活函數(shù)處理后,與原始輸入特征圖相乘,生成通道注意力模塊特征圖[6]。在空間注意力模塊中,輸入端輸入通道注意力模塊特征圖,進(jìn)行最大池化和平均池化,得到大小為H×W×1的兩個結(jié)果,再對兩個結(jié)果進(jìn)行張量拼接操作和卷積操作,最后由Sigmoid激活函數(shù)激活并與上一步輸入的特征圖相乘,使得維度不變,得到最終的特征圖。這樣的機(jī)制可以識別物體更多的特征信息,且目標(biāo)的檢測準(zhǔn)確率也有所提升[7]。CBAM結(jié)構(gòu)圖如圖2所示。
圖2 CBAM結(jié)構(gòu)圖
損失函數(shù)作為神經(jīng)網(wǎng)絡(luò)判斷誤檢樣本的依據(jù),極大程度上影響著模型的收斂效果。YOLO系列算法損失函數(shù)由分類概率損失函數(shù)、邊界框回歸損失函數(shù)和置信度預(yù)測損失函數(shù)組成[8]。目前YOLOv5邊界框回歸損失函數(shù)采用CIOU函數(shù),其計算公式為:
(1)
(2)
(3)
(4)
式中:P為預(yù)測框中心點位置;Pgt為真實框中心點位置;φ為用于平衡比例的參數(shù);β為用來反映高寬比的一致性;γ為計算兩個中心點間的歐式距離;D為同時包含真實框和預(yù)測框的最小閉包區(qū)域的對角線距離;w為預(yù)測框的寬度;wgt為真實框的寬度;h為預(yù)測框的寬度;hgt為真實框的高度[9]。
α-IOU基于IOU(Intersection Over Union)改進(jìn),通過調(diào)節(jié)可以提升不同水平的回歸精度,使小數(shù)據(jù)集和噪聲的魯棒性加強(qiáng)[10]。Lα-IOU公式為:
Lα-IOU=1-IOUα
(5)
αCIOU將原CIOU中的IOU替換為α-IOU,其公式為:
(6)
本文數(shù)據(jù)來自某煤礦井下綜采面的監(jiān)控視頻,在不同時間段收集500張井下工作人員圖像,按照1∶2∶7的比例隨機(jī)選取圖像作為測試集、驗證集以及訓(xùn)練集。不同圖像內(nèi)光照情況、煤塵以及目標(biāo)數(shù)量均不同。
本實驗搭建在Pytorch1.10.0框架下,操作系統(tǒng)為Windows10,處理器為Inter(R)Xeon(R)Silver4210R,主頻為2.40 GHz,GPU為NVIDIA RTX A4000。輸入圖像大小為640 mm×640 mm;輸入通道數(shù)為3;批次樣本數(shù)為12;動量因子設(shè)為0.93;迭代次數(shù)設(shè)置為500 次;權(quán)重衰減系數(shù)取0.0005;學(xué)習(xí)率初始取值0.01,完成一次循環(huán)后取值0.2.本文分類損失函數(shù)為Focal loss函數(shù),采取α=0.25,γ=2進(jìn)行人員和安全帽檢測實驗。
本文采用均值平均準(zhǔn)確率(mean Average Precision,mAP)、參數(shù)量以及計算量的指標(biāo)對井下人員安全帽檢測算法的有效性進(jìn)行評價。YOLOv5s模型與本文改進(jìn)模型分別在人員及安全帽數(shù)據(jù)集上訓(xùn)練500次,兩種模型損失變化曲線如圖3所示。
圖3 損失值變化曲線
圖3顯示,在模型訓(xùn)練的初期,兩條曲線損失是不穩(wěn)定的,隨著迭代次數(shù)的增加,損失值逐漸降低,并趨于穩(wěn)定。訓(xùn)練開始時,YOLOv5s損失值曲線比本文改進(jìn)模型損失值曲線收斂快;當(dāng)?shù)螖?shù)達(dá)到75次時,YOLOv5s損失值與本文改進(jìn)模型損失值均降低至0.01以下,75次迭代之后,本文改進(jìn)模型損失值基本都低于YOLOv5s.從圖3可知,本文改進(jìn)模型在訓(xùn)練中階段損失的收斂性能優(yōu)于YOLOv5s.
為了驗證本文改進(jìn)模型算法的優(yōu)勢,將其與采用CIOU損失函數(shù)的不同注意力模型,以及采用αCIOU損失函數(shù)的其他注意力模型進(jìn)行客觀指標(biāo)對比,檢測結(jié)果如表1所示。
表1 不同模型的檢測結(jié)果
從表1的對比結(jié)果可以看出,損失函數(shù)為CIOU時,采用ECA(Efficient Channel Attention)模塊,準(zhǔn)確率與原始模型相同,mAP@0.5對比原始模型下降了0.9%,mAP@0.5∶0.95對比原始模型下降了1.5%;引入SE(Squeezeand-Excitation)模塊時,準(zhǔn)確率相比原始模型下降了3.4%,mAP@0.5對比原始模型下降了0.9%,mAP@0.5∶0.95對比原始模型下降了2.4%;采用CBAM模塊時,準(zhǔn)確率對比原始模型提高了0.1%,mAP@0.5相較原模型下降0.4%,mAP@0.5∶0.95相較原模型下降了1.8%.
損失函數(shù)采用αCIOU時,引入ECA模塊、SE模塊以及CBAM模塊時準(zhǔn)確率均得到提升,但對比mAP@0.5∶0.95對比YOLOv5s模型有不同程度的下降,其中引入CBAM下降最少,下降0.5%.除此之外,只有引入CBAM模塊mAP@0.5提升0.1%,其他模型均出現(xiàn)不同程度下降。根據(jù)對比實驗結(jié)果,本文選用YOLOv5s-αCIOU-CBAM模型作為最終優(yōu)化模型。
為驗證本文優(yōu)化模型對人員和安全帽檢測的有效性,設(shè)置相同的批處理大小和迭代次數(shù)并使用同一圖像數(shù)據(jù)集在該模型上進(jìn)行訓(xùn)練,在不同光照、粉塵條件下檢測結(jié)果對比如圖4所示。圖4(a)為原圖;圖4(b)為YOLOv5s模型檢測效果圖;圖4(c)為本文改進(jìn)模型檢測效果圖。圖4(b)中前兩組場景環(huán)境光線較為明亮,安全帽的置信度比人員的置信度低。第三組場景有遮擋物不易于目標(biāo)檢測,安全帽置信度低于人員置信度且存在人員漏檢現(xiàn)象。圖4(c)中三組場景下人員和安全帽置信度均高于圖4(b)中檢測框置信度,不存在漏檢現(xiàn)象。YOLOv5s雖然可以定位到人員和安全帽區(qū)域,但是檢測精確度低于本文改進(jìn)模型。從對比圖中可以看出,本文改進(jìn)模型相比于YOLOv5s模型的檢測效果有顯著提高。改進(jìn)后模型基本滿足在井下復(fù)雜環(huán)境對人員以及安全帽檢測精度的要求,檢測準(zhǔn)確率高達(dá)97.6%,具有良好的實時性。
圖4 檢測結(jié)果對比圖
1) 為了提高井下綜采工作面人員以及安全帽的檢測速度和精確度,改進(jìn)了YOLOv5s網(wǎng)絡(luò)模型,加入CBAM輕量化注意力機(jī)制,引入αCIOU損失函數(shù),解決了井下綜采工作面復(fù)雜環(huán)境中人員和安全帽檢測準(zhǔn)確率低、容易漏檢的問題。
2) 通過對比實驗證明,本文改進(jìn)模型,對640 mm×480 mm圖像檢測準(zhǔn)確度達(dá)到97.6%,優(yōu)于YOLOv5s算法。
3) 本實驗樣本數(shù)量有限,后期進(jìn)行樣本擴(kuò)充,本文優(yōu)化后的算法準(zhǔn)確率還會進(jìn)一步提升。