郜亞松,張步勤,郎利影
(1.河北工程大學(xué) 信息與電氣工程學(xué)院,河北 邯鄲 075000;2.冀中能源峰峰集團(tuán)有限公司,河北 邯鄲 056200;3.河北工業(yè)大學(xué) 先進(jìn)激光技術(shù)研究中心, 天津 300401)
高速精準(zhǔn)的煤矸識別是實現(xiàn)煤炭行業(yè)智能化發(fā)展的關(guān)鍵,對提高采煤和選煤的生產(chǎn)效率至關(guān)重要。因此,煤矸識別研究一直是煤炭智能化技術(shù)領(lǐng)域的研究重點和熱點,關(guān)系到煤炭開采技術(shù)水平的進(jìn)一步提升和安全綠色開采的發(fā)展[1-2]。
目前煤矸識別技術(shù)的研究方向逐漸從煤和矸石的物理性質(zhì)差異[3-4]轉(zhuǎn)向更簡單、直觀的視覺差異,其中包括煤和矸石的紋理、灰度差異等手動提取的圖像特征[5-9],然后結(jié)合機(jī)器學(xué)習(xí)方法進(jìn)行分類識別的傳統(tǒng)圖像識別技術(shù),此類方法在實驗室的環(huán)境中有較高的準(zhǔn)確率。由于傳統(tǒng)機(jī)器學(xué)習(xí)圖像識別方法基于的是手動提取的圖像特征,所生成模型的泛化能力較弱。此外,傳統(tǒng)機(jī)器學(xué)習(xí)方法的識別速度低,不能滿足實際生產(chǎn)需求。后來有學(xué)者提出基于遷移學(xué)習(xí)的深度學(xué)習(xí)方法進(jìn)行煤矸識別,能很好地解決傳統(tǒng)機(jī)器學(xué)習(xí)泛化能力差的缺點,也相對提高了識別精度[10-11],但是此類方法使用的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,訓(xùn)練所產(chǎn)生的網(wǎng)絡(luò)模型參數(shù)體積龐大,實際運行時所要求的設(shè)備較為昂貴,所以投入到實際生產(chǎn)環(huán)境中仍存在很多困難。
針對以上問題,提出一種識別精度高、速度快且易嵌入到實際生產(chǎn)設(shè)備中的輕量型煤矸識別網(wǎng)絡(luò)模型。深度計算模型輕量化的概念是近些年才逐漸地在深度學(xué)習(xí)領(lǐng)域中被提出來,深度學(xué)習(xí)的概念剛開始盛行時,研究人員為了訓(xùn)練出精度更高的模型,使網(wǎng)絡(luò)模型從開始的只具有簡單卷積的LeNet[12]結(jié)構(gòu),到采用并聯(lián)卷積模塊化的Inception[13-15],最后研究出可使得網(wǎng)絡(luò)深度大幅度提升的ResNet[16-17]模塊,而對應(yīng)的深度學(xué)習(xí)網(wǎng)絡(luò)從開始只含有8層卷積計算的LeNet[12]到如今有269層ResNetSt_269[18]的深度網(wǎng)絡(luò)模型。伴隨著網(wǎng)絡(luò)深度和復(fù)雜度的遞增,對應(yīng)的模型精度也得到了很大的提升,尤其在圖像識別方面,一些網(wǎng)絡(luò)的識別效果已經(jīng)超過了人類的識別能力。雖然深度網(wǎng)絡(luò)的表征能力隨著深度和復(fù)雜度提升得到了很大的加強(qiáng),但是隨之也帶來了諸多的實際應(yīng)用問題。例如采用常規(guī)深度網(wǎng)絡(luò)訓(xùn)練所得的網(wǎng)絡(luò)參數(shù)體積通常會占用幾百兆甚至上千兆的內(nèi)存,這對于嵌入到內(nèi)存只有幾十兆的嵌入式設(shè)備中是非常困難的,這也是基于Inception模塊遷移學(xué)習(xí)的煤矸識別分類網(wǎng)絡(luò)沒有很好地應(yīng)用到實際生產(chǎn)環(huán)境中的主要原因[10]。為應(yīng)對深度計算模型高復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)體積龐大所帶來的實際應(yīng)用問題,Google公司于2017年針對邊緣計算中的嵌入式設(shè)備和移動設(shè)備所提出的MobileNet[19-20]網(wǎng)絡(luò)模型很好地解決了常規(guī)深度網(wǎng)絡(luò)結(jié)構(gòu)無法嵌入到實際生產(chǎn)環(huán)境中的這一問題。該網(wǎng)絡(luò)通過使用深度可分離卷積來替代常規(guī)的卷積運算,在損失很小精度的前提下,使得整個網(wǎng)絡(luò)的參數(shù)大幅度下降。MobileNet從2017年提出到現(xiàn)在已經(jīng)發(fā)展到了第3個版本,得益于注意力機(jī)制模塊對網(wǎng)絡(luò)表征能力的提升,使得MobileNetV3相比前2個版本的網(wǎng)絡(luò)結(jié)構(gòu)更加簡單,識別精度同時也得到較大的提升。通過對文獻(xiàn)的查閱得知目前尚未有針對煤和矸石實際應(yīng)用所進(jìn)行研究的深度識別模型,所以考慮使用輕量級的MobileNet模型對煤和矸石的圖像識別進(jìn)行研究。但當(dāng)直接將MobileNetV3應(yīng)用于煤矸識別時,發(fā)現(xiàn)該模型不能很好地應(yīng)對實際生產(chǎn)的復(fù)雜環(huán)境。因此,筆者將以MobileNetV3-large為基礎(chǔ)特征網(wǎng)絡(luò)骨架,將原MobileNetV3中的SE(Squeeze and excited block)[21]模塊替換為CBAM(Convolutional Block Attention Module)模塊[22]。該模塊在原SE注意力機(jī)制的基礎(chǔ)上對通道信息提取操作添加了全局最大池化,彌補(bǔ)了僅使用全局平均池化操作所帶來的部分信息丟失的問題。除對模型結(jié)構(gòu)進(jìn)行改進(jìn)之外,還對圖像增強(qiáng)技術(shù)進(jìn)行了調(diào)整,不同于以往研究人員對煤和矸石采用圖像增強(qiáng)技術(shù)使得圖像特征信息更加清晰化,對參與訓(xùn)練的數(shù)據(jù)集采用了較為復(fù)雜的圖像變換增強(qiáng)技術(shù)以及背景噪聲增強(qiáng),以此提升深度網(wǎng)絡(luò)的學(xué)習(xí)難度,達(dá)到提升網(wǎng)絡(luò)對煤和矸石復(fù)雜圖像信息表征能力的目的,進(jìn)而實現(xiàn)提升網(wǎng)絡(luò)模型的魯棒性。
MobileNetV3網(wǎng)絡(luò)也是一種CNN網(wǎng)絡(luò),但其結(jié)構(gòu)完全打破了傳統(tǒng)卷積的計算方式,該網(wǎng)絡(luò)主要由MobileNetV3模塊所組成,包括深度可分離卷積層、點卷積層、逆殘差塊和通道注意力SE[21]模塊,結(jié)構(gòu)如圖1所示。
圖1 MobileNetV3結(jié)構(gòu)
由圖1可知,MobileNetV3模塊能夠大幅降低計算量以及參數(shù)體積,主要依靠深度卷積層(Depthwise Convolution Layer)和點卷積層(Pointwise Convolution Layer)組成的深度可分離卷積運算。此外,V3中將一個點卷積層放置在整個MobileNetV3模塊最前端,即Linear bottleneck結(jié)構(gòu),該結(jié)構(gòu)能夠解決鄰近模塊輸入位置相鄰的深度卷積核個數(shù)受限的問題。假設(shè)MobilenetV3模塊輸入特征圖為Finput∈RHin×Win×Cin,其中Hin,Win,Cin分別為特征圖的高,寬以及通道數(shù)量,傳統(tǒng)卷積運算中的卷積核可表示為K∈RHk×Wk×Cin×N,其中Hk,Wk,Cin分別為卷積核的寬,高以及通道數(shù)量,而N為卷積核的數(shù)量,即輸出特征圖的高和寬分別為Hout,Wout,通道數(shù)量為N的特征圖Foutput∈RHout×Wout×N。另外假設(shè)結(jié)構(gòu)中的點卷積核為KPC∈R1×1×Cin×N,其中N同樣為輸出Foutput通道數(shù),這就是解決輸入層相鄰的深度可分離卷積核個數(shù)受限的關(guān)鍵操作。然后深度卷積計算的卷積核為KDC∈RHk×Wk×Cin,其中卷積核的維度大小與傳統(tǒng)卷積相同,不同的是深度卷積的輸出通道大小與輸入相同,即將輸入特征圖拆分后,在各個通道維度進(jìn)行卷積計算。最后就可以得到傳統(tǒng)卷積運算中的計算量C和S參數(shù)大小,以及使用深度卷積與點卷積的計算量Cd和參數(shù)容積Sd,可用式(1)—式(4)表示。
(1)
(2)
(3)
(4)
由上可知,在計算量上減少了CdC-1=N-1+(Hk+Wk)-1,而在參數(shù)大小上來說SdS-1=N-1+(HkWk)-1,因此每一次進(jìn)行深度可分離卷積運算相對傳統(tǒng)卷積運算節(jié)約出(N-1+(HkWk)-1)的計算量和參數(shù)體積,那么對于整個網(wǎng)絡(luò)來說計算量和參數(shù)容量將會被極大地縮減,這也是MobileNetV3被廣泛作為嵌入實際生產(chǎn)應(yīng)用中的深度學(xué)習(xí)網(wǎng)絡(luò)框架的主要原因。
雖然經(jīng)過以上的卷積操作可以極大地縮減計算量和參數(shù)大小,但在一定程度上損失了識別的精度,所以MobileNetV3中引入了SE模塊,該模塊的主要作用是增強(qiáng)通道信息量,提高網(wǎng)絡(luò)的表征能力,雖然相對來說精度有一定的提高,但是難以應(yīng)對煤矸識別的復(fù)雜環(huán)境。為此,在SE的基礎(chǔ)上改進(jìn)并加入改進(jìn)后的注意力機(jī)制,進(jìn)一步提升網(wǎng)絡(luò)在特征提取的表征能力,提升其應(yīng)對煤矸復(fù)雜工作環(huán)境的能力。
最后是引入反殘差模塊(Inverted Residual)結(jié)構(gòu),反殘差結(jié)構(gòu)與傳統(tǒng)殘差網(wǎng)絡(luò)不同的地方在于使用殘差模塊的深度網(wǎng)絡(luò)結(jié)構(gòu)模塊輸出特征圖的尺寸,使用反殘差網(wǎng)絡(luò)的輸出特征圖大小與輸入特征圖尺寸相同,整個MobileNetV3網(wǎng)絡(luò)結(jié)構(gòu)如紡錘狀,中間大兩邊小。反殘差網(wǎng)絡(luò)結(jié)果的好處是可以讓深度網(wǎng)絡(luò)在保證特征提取過程中參數(shù)計算量的前提下,充分利用殘差網(wǎng)結(jié)構(gòu)對網(wǎng)絡(luò)的搜索能力提升的優(yōu)點,從而有效地提升深度網(wǎng)絡(luò)的可訓(xùn)練性。
為了進(jìn)一步提高M(jìn)obileNetV3對煤和矸石圖像的表征能力,進(jìn)而提升識別精度,在原MobileNetV3模塊的注意力機(jī)制模塊上進(jìn)一步完善。由于原SE模塊中只對通道信息進(jìn)行全局平均池化的操作,會導(dǎo)致一些顯著信息的丟失,因此,本文引入了通道信息的全局最大池化操作。同時將原框架中SE模塊更換為CBAM(Convolutional Block Attention Module)模塊,因為除通道信息外,空間信息同樣可以對卷積網(wǎng)絡(luò)的表征能力有很大的提升[23],最終形成MobileNetV3-CBAM結(jié)構(gòu)如圖2所示。
圖2 CBAM結(jié)構(gòu)
由圖2可知,假設(shè)輸入到通道注意力模塊的特征圖為Finput∈RH×W×C,其中H,W,C分別為特征圖的高,寬和通道數(shù)量;uc∈RH×W×1為特征圖的第c∈RC個通道中的二維特征圖像,uh,w∈R1×1×C為任意1個(h,w)(h∈RH,h∈RW)坐標(biāo)在通道維度上的向量值;Fc∈RH×W×C為通道注意力模塊的輸出,F(xiàn)s∈RH×W×C為空間注意力模塊的輸出,F(xiàn)output∈RH×W×C為整個注意力模塊的輸出;那么模塊對輸入的特征圖數(shù)據(jù)的處理過程總結(jié)如所示:
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
本次試驗圖像數(shù)據(jù)的采集樣品均來自河北省峰峰集團(tuán)萬年礦區(qū),所選擇的樣本共含有煤和矸石各200個,另外圖像采集設(shè)備使用的是Gopro hero 7 Black和大疆靈眸action運動相機(jī)。
能否訓(xùn)練出一個穩(wěn)定高效的深度識別網(wǎng)絡(luò)模型取決于訓(xùn)練數(shù)據(jù)規(guī)模的大小,而煤或矸石在不同角度的視覺差異特點使得試驗時可采集到大量優(yōu)質(zhì)的圖像訓(xùn)練數(shù)據(jù)。即使如此也要防止在拍攝過程中因旋轉(zhuǎn)過度或重復(fù)翻轉(zhuǎn)所導(dǎo)致采集到相同視覺效果的圖像,為避免上述問題采用2種方式:①在樣品選擇方面選擇形狀差異較大的樣品,盡量避免因樣品本身的視覺相似所導(dǎo)致的圖像相似;②在圖像采集過程中對樣品旋轉(zhuǎn)起始角度和已翻轉(zhuǎn)面進(jìn)行標(biāo)記,除此之外還會通過調(diào)整背景中的煤粉分布的量來控制樣品背景信息的差異。通過上述方式進(jìn)行圖像數(shù)據(jù)采集,可以從400個煤和矸石樣品采集出約26 000張質(zhì)量較好的圖像數(shù)據(jù)。其中煤的圖像數(shù)據(jù)為15 000張,矸石的為11 000張,最后將全部數(shù)據(jù)進(jìn)行隨機(jī)劃分,其中包括19 000張訓(xùn)練集數(shù)據(jù),3 000張驗證集數(shù)據(jù)以及3 000張測試集數(shù)據(jù),至此完成所有圖像數(shù)據(jù)的采集。相對較多的圖像數(shù)據(jù),但在煤和矸石的復(fù)雜生產(chǎn)環(huán)境中所采集的圖像數(shù)據(jù),無法很好地包含所有煤和矸石在所處環(huán)境中導(dǎo)致的復(fù)雜像素信息,所以需要采用圖像增強(qiáng)技術(shù)對圖像中的顏色、位置等進(jìn)行調(diào)整,也可以達(dá)到對數(shù)據(jù)集進(jìn)一步擴(kuò)增的目的。
在進(jìn)行網(wǎng)絡(luò)訓(xùn)練之前,針對煤和矸石圖像的位置或色彩信息進(jìn)行圖像增強(qiáng)操作,來減少識別模型對目標(biāo)對象的位置和環(huán)境色彩等因素的敏感度,使得網(wǎng)絡(luò)能夠訓(xùn)練出更加適應(yīng)復(fù)雜生產(chǎn)環(huán)境中煤和矸石識別的深度識別模型。試驗中所采取的圖像增強(qiáng)方式包括隨機(jī)翻轉(zhuǎn)、灰度增強(qiáng),對比度以及飽和度增強(qiáng)等,增強(qiáng)效果如圖3所示。
圖3 圖像增強(qiáng)效果
本次試驗對改進(jìn)后的模型訓(xùn)練所采用的平臺為Ubuntu18.04,計算環(huán)境為內(nèi)存16 GB的Tesla V100 GPU,所使用的深度學(xué)習(xí)框架為MxNet。模型訓(xùn)練的參數(shù)初始化設(shè)定如下,其中輸入圖像大小固定為224,迭代周期為100次,通過理論及試驗分析,最終確定了學(xué)習(xí)率初始值為0.1,學(xué)習(xí)率衰減周期為4,衰減率為0.5,而權(quán)重衰減率為0.000 5,最后網(wǎng)絡(luò)的初始化方式采用了MSRA,該方法可以更好配合網(wǎng)絡(luò)中的PRelu激活函數(shù),可以有效抵抗網(wǎng)絡(luò)訓(xùn)練過程中出現(xiàn)的梯度消失的情況。
學(xué)習(xí)率0.1學(xué)習(xí)率衰減比例0.5學(xué)習(xí)率衰減周期4權(quán)重衰減率5×10-4網(wǎng)絡(luò)初始化參數(shù)方法MSRA輸入圖像大小224
通過將訓(xùn)練完成的模型參數(shù)載入網(wǎng)絡(luò)中對含有2 600張圖像的測試數(shù)據(jù)集進(jìn)行預(yù)測,查看預(yù)測結(jié)果來判斷模識別模型的效果,下面列舉出預(yù)測結(jié)果的前10個圖像,如圖4所示,其中預(yù)測輸出中包括2個類別煤(coal)和矸石(gangue),位于圖像上部的標(biāo)簽中第1行是真實標(biāo)簽,第2行為預(yù)測標(biāo)簽。從識別數(shù)據(jù)和結(jié)果中可以看到,模型的識別效果是比較好的,對于一些人眼都難以識別的圖像依舊可以準(zhǔn)確地識別出圖像屬于煤還是矸石。
圖4 模型預(yù)測結(jié)果
為探究MobileNet模型改進(jìn)的效果,試驗中同時對原模型中的MobileNetV3結(jié)構(gòu)在訓(xùn)練集上進(jìn)行訓(xùn)練,通過對比MobileNetV3-large網(wǎng)絡(luò)模型和改進(jìn)后模型MobileNet-large-CBAM的訓(xùn)練過程中訓(xùn)練準(zhǔn)確率和驗證準(zhǔn)確率的變化曲線,以及2個網(wǎng)絡(luò)框架訓(xùn)練產(chǎn)生的模型的準(zhǔn)確率、召回率、參數(shù)體積大小以及識別速度等方面來分析,對應(yīng)的2種變化曲線如圖5和圖6所示。
圖5 MobileNet-large-SE模型的訓(xùn)練準(zhǔn)確率和驗證準(zhǔn)確率訓(xùn)練變化曲線
圖6 MobileNet-large-CBAM模型的訓(xùn)練準(zhǔn)確率和驗證準(zhǔn)確率訓(xùn)練變化曲線
其中圖5為采用了SE注意力模塊的原模型,圖6為改進(jìn)后采用CBAM注意力模塊的分類模型。
從圖5、圖6中可以清晰地看到2個模型在隨著訓(xùn)練輪次的推進(jìn)不斷地變化,從變化趨勢上來看,前期的驗證準(zhǔn)確度波動都較為劇烈,這是由于2個模型沒有采用預(yù)訓(xùn)練權(quán)重,同時前期的學(xué)習(xí)率較高所引起的。但是由圖5、圖6中可以看到在經(jīng)過50次迭代之后,2個模型的驗證精度曲線都逐漸地趨向于平穩(wěn),所以從訓(xùn)練過程來說,CBAM模塊的引入沒有增加新網(wǎng)絡(luò)模型的訓(xùn)練難度。另外從訓(xùn)練結(jié)果可以看到,圖6所顯示引入了CBAM改進(jìn)后的模型的驗證精度相比圖5中原模型的95.4%提升了2.3%,達(dá)到了97.7%。最后從2種模型對應(yīng)的驗證準(zhǔn)確率和訓(xùn)練準(zhǔn)確率曲線的相對位置可以看到,當(dāng)訓(xùn)練輪次進(jìn)入平穩(wěn)期之后,改進(jìn)后模型中的驗證準(zhǔn)確率曲線,即圖6中的紅色曲線一直位于訓(xùn)練準(zhǔn)確率的上方,而圖5中的訓(xùn)練精度位于驗證精度上面,由此可以得知,對于同樣采用了人工噪聲增強(qiáng)的訓(xùn)練集,改進(jìn)后的模型具有更好的特征學(xué)習(xí)能力,對驗證集中未知數(shù)據(jù)分布的泛化效果更好。
由表1中可以看到,CBAM注意力機(jī)制模塊引入之后所形成的新網(wǎng)絡(luò)模型的參數(shù)體積相比原模型只有幾百字節(jié)的增大,所帶來的識別精度和召回率提升卻是明顯有效的,而從識別速度角度觀察,排除因試驗設(shè)備所帶來的數(shù)據(jù)讀取所消耗的時間分析,新模型和原始模型識別速度相比沒有發(fā)生明顯的變化。另外對于煤和矸石識別的應(yīng)用場景來說,模型精度直接反映了模型識別的準(zhǔn)確度,而召回率則是反映模型識別的結(jié)果中被正確分類的樣本比例,所以從實際應(yīng)用角度出發(fā),模型應(yīng)具有“查得準(zhǔn),查得全”的優(yōu)點。綜合以上所有試驗結(jié)果數(shù)據(jù)可得知,改進(jìn)后的模型相比原模型更能夠適應(yīng)煤和矸石的實際生產(chǎn)環(huán)境。
表1 煤矸石識別模型性能對比
1)提出一種輕量級深度識別網(wǎng)絡(luò)進(jìn)行研究,目的是為了有效避免傳統(tǒng)機(jī)器學(xué)習(xí)方法在煤矸識別中的泛化能力差的問題,以及一般深度學(xué)習(xí)框架因參數(shù)體積過大難以嵌入使用的實際問題。
2)通過對輕量型網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),并且在訓(xùn)練過程中采用多種圖像相關(guān)的增強(qiáng)技術(shù),從而實現(xiàn)了網(wǎng)絡(luò)性能的提升。通過試驗結(jié)果數(shù)據(jù)對比可知,改進(jìn)后的模型相比原模型在識別精度和召回率都有較大的提升,對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度和參數(shù)體積只有較小的增加,并且改進(jìn)后的網(wǎng)絡(luò)訓(xùn)練難度和識別速度與原輕量型網(wǎng)絡(luò)基本持平。
3)綜合以上對比結(jié)果,可以得知新模型更適合在未來作為煤和矸石的智能化選揀和開采任務(wù)識別算法。此外,未來可進(jìn)一步細(xì)分煤和矸石的類別,將MobileNetV3-CBAM模型擴(kuò)展到對含有多目標(biāo)煤和矸石圖像的在線檢測模型,以實際生產(chǎn)為設(shè)計目標(biāo),實現(xiàn)可嵌入使用的輕量型深度目標(biāo)檢測模型,進(jìn)一步地推進(jìn)自動化選煤技術(shù)的發(fā)展。