蔡秀凡,謝金辰
(1.神馬實業(yè)股份有限公司簾子布公司,河南 平頂山 467000;2.西安科技大學(xué) 通信學(xué)院,陜西 西安 710600)
矸石是在成煤過程中與煤層伴生的黑灰色巖石,開采出的煤炭中難免會夾雜有矸石成分。矸石含量過高不僅會使煤炭商品價值降低,還會造成煤炭燃效效率低下,嚴(yán)重污染環(huán)境;同時,矸石在帶式輸送機轉(zhuǎn)載過程中容易造成膠帶破損,產(chǎn)生安全隱患[1]。矸石具有密度大、發(fā)熱量小的特性,主要成分包括:二氧化硅、三氧化二鐵、氧化鈣等氧化物和微量稀有元素[2]。
對于煤矸石檢測方法的研究,國外起步稍早于國內(nèi),目前比較有代表性的方法有:射線法、光譜探測法以及圖像識別等[3]。孔力[4]等提出中、低雙能γ射線透射法煤矸石在線識別與分選系統(tǒng)。光譜探測法的原理是由于煤和矸石的光譜差異大,并以此區(qū)分二者;申利飛[5]等人提出了基于加權(quán)方差的煤矸石X射線圖像分形維數(shù)最優(yōu)估計方法,仿真結(jié)果表明,采用該方法進行煤矸石X射線圖像分形維數(shù)估計的精度較高,提高了煤矸石X射線圖像的識別和檢測能力。宋亮[6]等提出聯(lián)合分析可見-近紅外和熱紅外光譜通過兩次分類實現(xiàn)煤與矸石區(qū)分。Hobson D[7]等人研究發(fā)現(xiàn)在煤矸石圖像中,兩者的灰度和紋理特征存在差異,從而可達到識別的效果。Tripathy D[8]等人提出將灰度共生矩陣運用于提取煤矸石圖像特征,將提取到的5種紋理特征與顏色相結(jié)合,最后通過神經(jīng)網(wǎng)絡(luò)進行識別和分類。丁澤海等人[9]通過計算煤矸石圖像的灰度直方圖,從中提取灰度均值和標(biāo)準(zhǔn)差指標(biāo),研究發(fā)現(xiàn),煤炭的灰度均值明顯小于矸石的灰度均值,因此可以作為煤矸分選的依據(jù)。吳景濤[10]等利用灰度共生矩陣提取煤矸石圖像的角二階矩、相關(guān)性、對比度和熵4種紋理特征,并以此作為支持向量機的識別依據(jù)進行分類。余杰[11]提出將煤巖圖像進行多尺度分解并結(jié)合灰度共生矩陣的方式進行特征抽取,最后通過SVM和改進的BP神經(jīng)網(wǎng)絡(luò)進行分類?;莺槌琜12]在前人對于特征提取的基礎(chǔ)上采用基于權(quán)值剪枝的神經(jīng)網(wǎng)絡(luò)壓縮策略,并運用稀疏矩陣進行存儲和運算,提高了識別網(wǎng)絡(luò)的速度。煤礦實地調(diào)研結(jié)果表明,射線法所需設(shè)備系統(tǒng)昂貴,并且射線對人體有害;光譜探測法的系統(tǒng)復(fù)雜、步驟繁多;傳統(tǒng)的圖像識別法需要人工設(shè)計提取特征,識別的準(zhǔn)確率依賴設(shè)計者的算法和經(jīng)驗[13]。
自2012年以來以卷積神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)算法在圖像識別領(lǐng)域展示出強大的潛力,現(xiàn)在已在各個行業(yè)得到了廣泛應(yīng)用[14],計算機視覺領(lǐng)域的技術(shù)也不斷發(fā)展成熟,大量針對圖像處理方向的學(xué)者將特征提取工作向卷積神經(jīng)網(wǎng)絡(luò)模型轉(zhuǎn)型,抽象特征數(shù)據(jù)通過卷積神經(jīng)網(wǎng)絡(luò)也能夠自主獲取[15],單鵬飛等人[16]提出改進的Faster R-CNN模型、郜亞松[17]提出的將Mobile Net v3與YOLOv3相結(jié)合,以及來文豪[18]等人提出的將多光譜成像與改進的YOLOv4相結(jié)合的目標(biāo)檢測模型均能夠在煤矸石檢測和分類的任務(wù)中均有較好的效果。本文通過在手選膠帶處搭建視頻采集系統(tǒng),對煤矸傳送中圖像大量采集后進行基于深度學(xué)習(xí)的煤矸圖像的識別,通過特征卷積提取的方法,及改進算法克服了小塊物體無法識別的問題,最終將圖像識別系統(tǒng)在手選膠帶上進行系統(tǒng)測試。
在煤礦手選膠帶處實地采集煤矸石圖像作為訓(xùn)練集,初篩后剩余煤炭圖像800張,矸石圖像550張,煤和矸石混合圖像500張。
獲得數(shù)據(jù)集后,需要對其進行標(biāo)準(zhǔn)化處理,包括統(tǒng)一尺寸、圖像增強、格式統(tǒng)一等。其中,圖像增強是為了增強圖中的重要信息,減弱或除去某些不需要的信息,首先采用中值濾波器去噪,然后采用Gamma變換提升暗部細(xì)節(jié),輸出圖像的灰度值:
式中,Vin為輸入圖像的灰度值;A為系數(shù),一般取值為1;γ為Gamma變換值,通過取值不同對圖像達到不同的處理結(jié)果。
不同的圖像采集設(shè)備獲取的圖像格式和尺寸存在差異;當(dāng)圖像尺寸不斷變大時,模型學(xué)習(xí)量增大,但是當(dāng)圖像尺寸過小時,又會丟失掉原圖中的一些細(xì)節(jié)信息,所以需要統(tǒng)一圖像的尺寸和格式。將圖像裁剪到適合的尺寸送入模型訓(xùn)練,并通過Labeling標(biāo)注數(shù)據(jù)集生成VOC格式。經(jīng)過對比,將圖像尺寸固定在512×512能夠保留煤矸石圖像的細(xì)節(jié)信息。原始圖像與經(jīng)過上述處理后的圖像效果如圖1所示??梢钥吹剑幚砗蟮膱D像效果更好,暗部更為清晰。
圖1 煤矸石圖像標(biāo)準(zhǔn)化
由于深度學(xué)習(xí)對于數(shù)據(jù)集數(shù)量要求很大,還需要對標(biāo)準(zhǔn)化處理后的煤矸石數(shù)據(jù)集進行擴充;目前數(shù)據(jù)增強的方法主要有:翻轉(zhuǎn)、旋轉(zhuǎn)、縮放、平移[19]等;本文在傳統(tǒng)數(shù)據(jù)增強手段的基礎(chǔ)上,采用基于深度卷積生成對抗網(wǎng)絡(luò)(DCGAN)的數(shù)據(jù)集擴充方法,最終達到煤矸石數(shù)據(jù)集量大且標(biāo)準(zhǔn)的要求。DCGAN由生成器G、判別器D兩部分組成,其核心思想是通過G和D相互競爭,最終達到納什平衡[20]。DCGAN的訓(xùn)練過程如圖2所示。生成器輸入隨機噪聲,經(jīng)過不斷反卷積(fractional-strided convolution)過程,最終生成圖像;判別器則相反,輸入圖像經(jīng)過不斷卷積提取特征進行判別,經(jīng)過全連接層處理后通過sigmoid函數(shù)輸出圖像的真假概率。
圖2 DCGAN訓(xùn)練過程
DCGAN的損失函數(shù)采用的是交叉熵?fù)p失函數(shù),生成器G與判別器D的優(yōu)化目標(biāo)可以表示為:
Ez~pz(z)[lg(1-D(G(z))]
(2)
式中,Ex~pdata(x)為真實數(shù)據(jù)分布的數(shù)學(xué)期望;Ez~pz(z)為輸入噪聲數(shù)據(jù)分布的數(shù)學(xué)期望;D(G(z))、D(x)為分別為判別器判別生成數(shù)據(jù)與真實數(shù)據(jù)的概率。
由于生成器最終的目的是達到以假亂真的程度,此時D(G(z))應(yīng)盡可能的大(理想值為1),而D的目標(biāo)是鑒別能力達到最強,此時D(G(z))應(yīng)盡可能的小(理想值為0)。由于V(G,D)是連續(xù)的,將其寫成積分形式:
設(shè)生成器G(z)生成的數(shù)據(jù)是x,定義輸入噪聲z的生成分布為pg(x),則:x=G(z)?z=G-1(x)?dz=(G-1)'(x)dx、pg(x)=pz(G-1(x))(G-1)'(x);將其代入(3)式中,同時固定生成器G,對判別器D進行優(yōu)化,整理后可得到判別器D的最優(yōu)解函數(shù):
式中,pdata(x)為真實數(shù)據(jù)的分布;pg(x)為生成數(shù)據(jù)的分布。
此時D已經(jīng)取得最優(yōu)解,即D*(x)=0.5,現(xiàn)對G調(diào)整,尋求G的最優(yōu)解,經(jīng)過化簡和等效代換后,引入JS散度得:
由此可知生成器網(wǎng)絡(luò)的最小值為-lg4,G和D均達到了最佳狀態(tài),證明DCGAN訓(xùn)練方法可行。
DCGAN模型訓(xùn)練過程中的損失函數(shù)變化折線如圖3所示,經(jīng)過前5000次迭代,生成器的損失值較低,此時生成器能夠仿照真實數(shù)據(jù)生成相類似的圖像;鑒別器的損失值也在不斷下降;在5000次迭代后,兩個損失值整體趨于平衡但局部是在不斷震蕩變化,表明生成器的輸出數(shù)據(jù)并不穩(wěn)定,此時生成器與鑒別器在相互制約、競爭,最終為了達到納什平衡。
圖3 基礎(chǔ) DCGAN 模型訓(xùn)練損失函數(shù)變化
圖像擴充基于Pytorch框架,所有的實驗與訓(xùn)練評估是在計算機配置為系統(tǒng):win10 64-bit、處理器:Core i5-9300HF 2.40GHz上進行的,實驗IDE使用的是Pycharm 2020.3;實驗中用到的python庫有:Torch 1.2、numpy 1.19.5、opencv 4.5.1.48。最終生成圖像如圖4所示。經(jīng)過傳統(tǒng)圖像擴充以及DCGAN擴充后,數(shù)據(jù)集共包含5550張煤矸石圖像,其中煤炭圖像2100張,矸石圖像2450張,混合圖像1000張。
圖4 DCGAN生成圖像
在原有的數(shù)據(jù)集基礎(chǔ)上進行擴充標(biāo)準(zhǔn)化后可送入后續(xù)的目標(biāo)檢測模型進行訓(xùn)練;本文采用YOLOv4目標(biāo)檢測模型;YOLO系列以其檢測速度著名,能夠滿足本課題實時檢測的需求,YOLO網(wǎng)絡(luò)結(jié)構(gòu)由24個卷積層與2個全連接層構(gòu)成,YOLOv4是在v3的基礎(chǔ)上從數(shù)據(jù)預(yù)處理、骨干網(wǎng)絡(luò)、特征融合、網(wǎng)絡(luò)訓(xùn)練方法、激活函數(shù)、損失函數(shù)等方面做出一系列改進;YOLOv4首先通過骨干特征提取網(wǎng)絡(luò)提取輸入圖像的特征,然后將圖像劃分為s×s的網(wǎng)格,每個單元格負(fù)責(zé)檢測中心落入網(wǎng)格的目標(biāo),骨干網(wǎng)絡(luò)中選取三個檢測通道進行特征融合操作,分別對應(yīng)大、中、小三個尺寸的目標(biāo)物體。由于YOLO系列對于小目標(biāo)物體檢測存在固有的缺陷,而本課題實驗環(huán)境中經(jīng)常會出現(xiàn)小塊煤矸石,因此提出分別對骨干網(wǎng)絡(luò)結(jié)構(gòu)以及特征融合方法進行改進。
基礎(chǔ)YOLOv4網(wǎng)絡(luò)選取骨干網(wǎng)絡(luò)中3個特征層作為檢測通道,分別對應(yīng)劃分13×13、26×26以及52×52的網(wǎng)格,而在檢測圖像中物體的像素低于小尺寸檢測通道的像素時,就會發(fā)生漏檢的問題。因此,在YOLOv4骨干網(wǎng)絡(luò)的基礎(chǔ)上添加一個檢測通道作為檢測微小物體的特征層。以輸入圖像尺寸416×416為例,最終的4個檢測通道特征層尺寸為(13,13,1024)(26,26,512)(52,52,256)(104,104,128)。添加一個檢測尺度后的實驗對比結(jié)果如圖5所示,其中圖5(a)為基礎(chǔ)YOLOv4檢測結(jié)果,圖5(b)為添加13×13預(yù)測尺度后的檢測結(jié)果。
圖5 改進YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)
由圖5可知,基礎(chǔ)YOLOv4目標(biāo)檢測模型存在小目標(biāo)漏檢的問題,經(jīng)過初次改進,YOLOv4能夠檢測出尺寸更小的煤矸石,但是檢測精度與實際應(yīng)用場景所需精度相差較大,因此,進一步在主干網(wǎng)絡(luò)中不同尺度的公共卷積層后加入SE(Squeeze-and-Excitation)注意力機制,SE模塊用于增加通道維度上的注意力機制,輔助網(wǎng)絡(luò)為輸入特征圖的不同通道分配不同的權(quán)重,并有效地融合輸入特征圖的不同通道信息,使網(wǎng)絡(luò)學(xué)習(xí)到不同通道特征的重要程度,進一步增強網(wǎng)絡(luò)的特征提取能力。SE模塊是通用的,可以很便捷的嵌入到現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中。SE機制模塊的流程如圖6所示。
圖6 SE模塊結(jié)構(gòu)
式中,H,W分別表示特征圖的高度和寬度;uc表示特征圖的第c個通道;zc為Squeeze的特征向量;Excitation操作的公式:
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1×z))
(7)
式中,W1,W2表示區(qū)分兩次全連接操作;z表示Squeeze操作的輸出;δ,σ分別代表ReLU激活函數(shù)與Sigmoid激活函數(shù)。改進后的YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
圖7 改進YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)
其次,先驗框的大小對于YOLOv4目標(biāo)檢測非常重要,原始先驗框是通過對VOC數(shù)據(jù)集進行聚類得到的。由于原始VOC數(shù)據(jù)集中的類別數(shù)量較多,大小差異較大,聚類得到的初始錨框也存在較大差異。為了提高實驗的準(zhǔn)確性,采用k-means算法對自制數(shù)據(jù)集進行聚類,并不斷增加聚類中心的數(shù)量。經(jīng)過多次迭代,得到聚類中心。對煤矸石數(shù)據(jù)集在圖像中長寬歸一化處理后的分布,結(jié)果如圖8所示,顏色的深度對應(yīng)煤矸石的數(shù)量,由圖8可知,數(shù)據(jù)集中小塊煤矸石所占比重較大,根據(jù)此特點,采用K-means聚類算法對初始錨框進行處理,設(shè)置4個聚類中心,生成針對本課題煤矸石數(shù)據(jù)集的初始錨框參數(shù),用以提高目標(biāo)檢測模型的精度與速度。經(jīng)過K-means聚類算法處理后得到的12組初始錨框參數(shù)見表1。
圖8 煤矸石長寬歸一化分布
表1 K-means聚類算法處理后初始錨框參數(shù)
測試環(huán)境為煤礦場的手選膠帶處,目標(biāo)檢測模型的訓(xùn)練及調(diào)試在Win 10操作系統(tǒng)下完成,采用的開發(fā)框架為Pytorch。配件配置為:中央處理器(CPU);圖形處理器(GPU):NVIDIA GTX1660Ti。數(shù)據(jù)集共5550張圖像,按照9∶1劃分為訓(xùn)練集與驗證集,同時采用YOLOv4的Mosaic數(shù)據(jù)增強方法增加數(shù)據(jù)集的豐富性。模型訓(xùn)練參數(shù)參考其他采用YOLOv4算法的參數(shù)設(shè)定,共設(shè)定100個epoch,權(quán)重衰減系數(shù)為5×10-4,批處理大小為16,lr=1×10-3。
使用基礎(chǔ)YOLOv4對訓(xùn)練集數(shù)據(jù)完成訓(xùn)練后,對本實驗煤矸石檢測結(jié)果的準(zhǔn)確率(Precision)、召回率(Recall)進行檢驗:
準(zhǔn)確率=正確檢測煤矸石的數(shù)量/(正確檢測煤矸石的數(shù)量+錯誤檢測煤矸石的數(shù)量)
召回率=正確檢測煤矸石的數(shù)量/(正確檢測煤矸石的數(shù)量+漏檢的煤矸石數(shù)量)
共檢測550張煤矸石圖像,其中共包含840塊煤矸石,檢驗結(jié)果如下:正確檢測煤矸石數(shù)量750,錯誤檢測煤矸石數(shù)量47,漏檢煤矸石數(shù)量43,準(zhǔn)確率94.1%,召回率94.5%。
通過對基礎(chǔ)YOLOv4的實驗可以發(fā)現(xiàn),漏檢的基本上都是小塊的煤矸石,與是采用針對此問題的改進YOLOv4算法進行實驗,實驗過程中的各項損失曲線如圖9所示,橫坐標(biāo)表示迭代epoch次數(shù),縱坐標(biāo)分別表示錨框回歸、置信度、分類概率損失值,其值越接近0,表明訓(xùn)練收斂效果越好。
圖9 改進YOLOv4的各項損失曲線
圖10 改進YOLOv4實驗結(jié)果對比圖
同樣使用改進的YOLOv4算法對550張煤矸石圖像進行檢測,檢驗結(jié)果如下:正確檢測煤矸石數(shù)量791,錯誤檢測煤矸石數(shù)量39,漏檢煤矸石數(shù)量10,準(zhǔn)確率95.3%,召回率98.7%。改進后的目標(biāo)檢測算法克服了基礎(chǔ)算法針對小塊煤矸石檢測漏檢的缺陷,在提高小目標(biāo)檢測精度的同時也提高了整體的檢測精度。為了更加清晰地展現(xiàn)添加SE注意力機制后的改進效果,實驗截取兩組結(jié)果進行對比,如圖10所示,圖10(a)為未添加SE注意力模塊檢測結(jié)果,圖10(b)為添加SE注意力模塊后的檢測結(jié)果。最終測試結(jié)果如圖11所示。
圖11 改進YOLOv4檢測結(jié)果
1)針對煤矸石圖像數(shù)據(jù)集樣本不足,煤和矸石數(shù)量不成比例的問題,提出通過DCGAN模型對數(shù)據(jù)集進行擴充,提高煤矸石圖像識別模型的質(zhì)量與多樣性。
2)針對YOLOv4目標(biāo)檢測模型存在對于小塊煤矸石漏檢的缺陷,提出在主干網(wǎng)絡(luò)中添加一個檢測通道用于針對小目標(biāo)檢測,以及在主干網(wǎng)絡(luò)中不同尺度的公共卷積層后加入SE(Squeeze-and-Excitation)注意力機制,同時采用K-means聚類算法生成針對本文煤矸石圖像的初始錨框參數(shù),最終通過實驗表明,改進的YOLOv4算法能夠克服較小煤矸石目標(biāo)漏檢的問題,有效提升了小塊矸石的檢測精度。
3)通過深層卷積神經(jīng)網(wǎng)絡(luò)對煤和矸石進行了特征提取,并能較準(zhǔn)確的分類,在光線良好的情況下,排序后的煤矸石檢測準(zhǔn)確率可以達到95%以上?;诰矸e神經(jīng)網(wǎng)絡(luò)的圖像分類模型,存在對圖片質(zhì)量,標(biāo)注準(zhǔn)確性的嚴(yán)重依賴,需要隨著訓(xùn)練集的更新不斷更新,否則會大大降低準(zhǔn)確率,如何形成有效的通用學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),使網(wǎng)絡(luò)能夠自主更新,自適應(yīng)環(huán)境變化,是煤矸分類檢測下一階段研究重點。