郭永存,張 勇,2,李 飛,楊 鵬,
(1.安徽理工大學 深部煤礦采動響應(yīng)與災(zāi)害防控國家重點實驗室,安徽 淮南 232001;2.安徽理工大學 電氣與信息工程學院,安徽 淮南 232001; 3.安徽理工大學 機械工程學院,安徽 淮南 232001)
煤炭是我國的主要能源,在能源結(jié)構(gòu)中占據(jù)較大的比重。原煤中往往含有大量的矸石[1],這不僅降低了煤的使用效率,而且矸石的堆放還會對環(huán)境造成一定的污染,因此,有必要對煤和矸石進行分離。傳統(tǒng)的煤、矸石分離技術(shù)有篩網(wǎng)跳汰法、重介質(zhì)法和浮選法等[2],但這些方法帶來的粉塵污染、水污染和土地污染等問題,給環(huán)境和人類健康帶來極大危害。
近年來,國內(nèi)外學者對煤矸分選技術(shù)進行了大量的研究,潘越等[3]利用X射線透射法探測煤和矸石密度,根據(jù)透射信號圖像的不同區(qū)分煤和矸石,但這種方法存在電離輻射,有可能對工作人員身體造成較大傷害,因此,在應(yīng)用上受到了一定的限制;WANG等[4]結(jié)合激光三角測量法和動態(tài)稱重法,通過煤和矸石的密度差來區(qū)分煤和矸石,但該方法誤差較大;余樂等[5]提出一種基于部分灰度壓縮擴階共生矩陣的圖像識別方法,對煤和矸石0~255級灰度圖像進行特征提取,并依據(jù)特征參數(shù)進行分類,該方法穩(wěn)定性有待提高;李曼等[6]采用濾波的方式提取煤和矸石表面灰度和紋理參數(shù),通過最小二乘支持向量機識別判斷煤和矸石,該方法識別準確率有待提高;雷世威等[7]通過對YOLOv3模型結(jié)構(gòu)和損失函數(shù)的改進,提高了網(wǎng)絡(luò)對小目標煤和矸石的檢測識別能力;PU等[8]利用卷積神經(jīng)網(wǎng)絡(luò)和遷移學習技術(shù)訓練、識別煤和矸石圖像,并采用驗證集數(shù)據(jù)去驗證訓練模型的效果,其訓練準確率達到100%,但驗證集數(shù)據(jù)準確率只有82.5%,且模型出現(xiàn)過擬合,模型性能有待提高;徐志強等[9]利用現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)模型對采集的煤和矸石圖像進行訓練和識別判斷,并采用模型剪枝技術(shù)對現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)模型進行優(yōu)化,進一步提高了煤矸識別的準確率。
筆者通過搭建實驗裝置采集、構(gòu)建煤和矸石數(shù)據(jù)集,并利用算法對數(shù)據(jù)集進行增強。在VGGNet16網(wǎng)絡(luò)的基礎(chǔ)上,引入空洞卷積和批歸一化模塊對模型進行改進,增強模型特征提取能力,加快模型訓練收斂速度,提高煤矸識別準確率;并與其他經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)進行浮點運算次數(shù)和F1分數(shù)的對比,進一步說明智能煤矸識別算法的優(yōu)勢。
卷積神經(jīng)網(wǎng)絡(luò)是目前深度學習具有代表性的網(wǎng)絡(luò)之一,在圖像分析和處理領(lǐng)域應(yīng)用廣泛。其中卷積操作用于提取圖像特征,生成特征圖;池化操作用于降低特征圖維度,減少模型參數(shù)量;激活函數(shù)使模型具備非線性映射的能力;全連接操作用于預測,輸出結(jié)果。煤矸識別卷積神經(jīng)網(wǎng)絡(luò)如圖1所示。
圖1 煤矸識別卷積神經(jīng)網(wǎng)絡(luò)模型
卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力主要體現(xiàn)在卷積運算,通過卷積操作,網(wǎng)絡(luò)輸出第m層特征圖的感受野l(fā)m,其計算公式如下:
(1)
式中:lm-1為第m-1層特征圖的感受野;fk為卷積核;si為第i層步長;*表示卷積操作。
卷積操作如圖2所示。將感受野尺寸為5×5的特征圖,通過與3×3的卷積核進行卷積運算,得到感受野為3×3的特征圖。
圖2 卷積操作示意圖
空洞卷積[10-11]通過在卷積層引入空洞系數(shù)Dr,控制卷積核感受野的大小,使網(wǎng)絡(luò)在不增加計算量、不損失特征圖分辨率的同時擴大卷積核的感受野,獲得更豐富的圖像特征,加強網(wǎng)絡(luò)對多尺度目標的檢測效果??斩淳矸e核尺寸fn計算公式如下:
fn=fk+(fk-1)*(Dr-1)
(2)
空洞卷積核尺寸在原卷積核的基礎(chǔ)上增加了(fk-1)*(Dr-1),卷積核的感受野也相應(yīng)增加,通過空洞卷積操作,網(wǎng)絡(luò)第m層特征圖的感受野l(fā)′m計算公式如下:
(3)
式中l(wèi)′m-1為空洞卷積第m-1層特征圖的感受野。
空洞卷積操作如圖3所示。在空洞系數(shù)Dr=1時,卷積核的尺寸由原來的3×3增加到5×5,通過空洞卷積操作,感受野尺寸為5×5的特征圖輸出感受野大小為1×1。
圖3 空洞卷積操作示意圖
在進行機器學習時,為了加速訓練,常常會對數(shù)據(jù)進行預處理。傳統(tǒng)的預處理方法有零均值和白化,但隨著網(wǎng)絡(luò)層數(shù)的加深,參數(shù)對分布的影響不定,導致網(wǎng)絡(luò)層內(nèi)和層間的輸入分布均發(fā)生改變,迫使網(wǎng)絡(luò)需要適應(yīng)新的分布,傳統(tǒng)預處理方法不再適用于深度神經(jīng)網(wǎng)絡(luò)。
批歸一化模塊[12-14]通過網(wǎng)絡(luò)訓練時的一個小批量數(shù)據(jù),計算輸出某個神經(jīng)元的xi的均值和方差,并引入2個參數(shù)γ、β,對網(wǎng)絡(luò)進行變換重構(gòu),學習恢復原始網(wǎng)絡(luò)所需的特征分布,減少網(wǎng)絡(luò)隱藏層數(shù)據(jù)分布改變對網(wǎng)絡(luò)訓練的影響,加快網(wǎng)絡(luò)的訓練收斂速度,提升網(wǎng)絡(luò)穩(wěn)定性。批歸一化算法操作如圖4所示。
圖4 批歸一化算法操作示意圖
批歸一化算法的操作步驟如下:
(4)
(5)
2)對當前批次輸入數(shù)據(jù)進行批歸一化操作:
(6)
3)通過可學習的參數(shù)γ和β對批歸一化后的數(shù)據(jù)進行重構(gòu)變換,輸出最終的數(shù)據(jù):
(7)
式中:xi為當前層的神經(jīng)元,下標i=1,2,…,c;ε為一個接近于0的正值常量,用于表示變換重構(gòu)中數(shù)值的穩(wěn)定性。
VGGNet[15]是牛津大學計算機視覺組研發(fā)的深度卷積神經(jīng)網(wǎng)絡(luò),其通過將5×5的大型卷積核拆分成2個3×3的小型卷積核,并通過多次堆疊的方式,在不增加參數(shù)量的情況下,加深網(wǎng)絡(luò)模型深度,提高模型特征提取能力。筆者提出的智能煤矸識別算法DC&BN(Dilated Convolution & Batch Normalization)是在經(jīng)典VGGNet16網(wǎng)絡(luò)的基礎(chǔ)上嵌入空洞卷積和批歸一化模塊的方法,使模型具備在少量增加運行浮點次數(shù)的情況下,增大模型感受野,加強特征提取能力,加快模型訓練收斂速度,提升分類準確率等。經(jīng)典VGGNet16網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 VGGNet16網(wǎng)絡(luò)結(jié)構(gòu)
VGGNet16網(wǎng)絡(luò)中主要存在CRM、L-CRM等2種基本結(jié)構(gòu),如圖6所示。
圖6 VGGNet16基本結(jié)構(gòu)
CRM結(jié)構(gòu)包括2個3×3卷積模塊,卷積后均采用ReLU函數(shù)激活,并進行最大值池化操作;L-CRM結(jié)構(gòu)則是在CRM結(jié)構(gòu)的3×3卷積后增加一個1×1卷積,用于線性變換。智能煤矸識別算法DC&BN網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。
圖7 智能煤矸識別算法網(wǎng)絡(luò)結(jié)構(gòu)
智能煤矸識別算法基本結(jié)構(gòu)包括DBRM和L-DBRM,如圖8所示。
圖8 智能煤矸識別算法基本結(jié)構(gòu)
DBRM結(jié)構(gòu)將CRM結(jié)構(gòu)中的3×3卷積替換成卷積核尺寸為3×3,空洞系數(shù)Dr=1的空洞卷積,用于擴大卷積核的感受野,增強卷積的特征提取能力,實現(xiàn)對更大范圍目標特征的采樣。通過在空洞卷積和激活函數(shù)之間增加批歸一化模塊,加快模型訓練收斂速度,提高模型穩(wěn)定性和訓練準確率。
在實驗室環(huán)境下搭建實驗裝置,采集煤和矸石圖像,制作數(shù)據(jù)集。實驗裝置如圖9所示。
圖9 煤和矸石數(shù)據(jù)采集實驗裝置
利用搭建的實驗裝置,采集煤和矸石圖片各500張,煤和矸石樣張分別如圖10(a)、圖10(b)所示。數(shù)據(jù)集按照7∶1∶2的比例劃分為訓練集、驗證集和測試集。
(a) 煤 (b) 矸石
實驗基于Windows10 64位操作系統(tǒng),電腦配置為Inter Core i5-9300H, NVIDIA GTX1660Ti 6G顯卡;在深度學習框架Tensorflow2.0中進行模型的訓練、驗證和預測。模型輸入圖像尺寸設(shè)置為224像素×224像素,訓練周期為50輪,模型優(yōu)化器為SGD函數(shù),損失函數(shù)為交叉熵損失函數(shù),并記錄訓練精度和損失函數(shù)曲線。
實驗訓練集樣本僅有700張,在模型訓練時容易陷入過擬合,需要對采集的樣本進行數(shù)據(jù)增強。實驗數(shù)據(jù)增強方式和參數(shù)值如表1所示。
表1 數(shù)據(jù)增強參數(shù)
智能煤矸識別算法DC&BN對采集數(shù)據(jù)集的訓練曲線如圖11所示。
(a) 訓練準確率曲線
(b) 訓練損失函數(shù)曲線
由圖11(a)可知,煤和矸石圖像訓練準確率和驗證準確率在第5個周期后,均達到90%以上,在27個訓練周期以后訓練準確率和驗證準確率均達到98%以上,且波動幅度較小。
由圖11(b)可知,訓練損失函數(shù)在第5個周期后,損失函數(shù)值趨于0,雖有個別點出現(xiàn)較大誤差,但總體趨于穩(wěn)定。模型訓練效果理想,模型各部分超參數(shù)和權(quán)重值訓練較為合理,并且損失函數(shù)曲線間的間隙較小,屬于完美擬合狀態(tài)。
經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型主要有VGGNet、LeNet-5[16]、AlexNet[17]、GoogleNet[18]和ResNet[19]等。利用Tensorflow 2.0分別搭建上述網(wǎng)絡(luò),對采集的煤和矸石圖像數(shù)據(jù)集進行訓練,模型訓練曲線如圖12所示。
(a)模型訓練準確率曲線
(b)模型訓練損失函數(shù)曲線
由圖12可知,智能煤矸識別算法DC&BN收斂速度較快,經(jīng)歷5輪訓練后,模型即收斂,準確率達到97%以上,最終趨于100%,性能與ResNet系列網(wǎng)絡(luò)相當。AlexNet、LeNet-5分別經(jīng)歷約30輪、40輪的訓練,損失函數(shù)才逐漸收斂;而VGGNet和GoogleNet在50個周期的訓練過程中,準確率曲線均處于振蕩狀態(tài),訓練準確率較低,損失函數(shù)也不收斂。
此外,針對上述網(wǎng)絡(luò)模型采用浮點運算次數(shù)FLOPs[20]和F1分數(shù)2個指標進行數(shù)據(jù)對比分析,如表2所示,模型預測結(jié)果示例如圖13所示。
表2 模型評價指標對比
(a)預測正確示例
(b)預測錯誤示例
DC&BN的F1分數(shù)與LeNet-5、AlexNet、ResNet系列網(wǎng)絡(luò)相當,均在0.97以上,模型預測準確率較高。對比浮點運算次數(shù),DC&BN的浮點運算次數(shù)與原VGGNet16網(wǎng)絡(luò)相近,為71 632 538次,雖高于LeNet-5和AlexNet,但遠低于ResNet50和ResNet101;而原VGGNet16、VGGNet19和GoogleNet網(wǎng)絡(luò)不僅浮點運算次數(shù)高,且F1分數(shù)較低,模型復雜度高,參數(shù)訓練效果不理想。
綜上所述,智能煤矸識別算法DC&BN在訓練準確率、收斂速度和F1分數(shù)方面均取得了良好的效果,雖然浮點運算次數(shù)比LeNet-5和AlexNet高,但也在合理的范圍內(nèi),且收斂速度較二者要快。
1)基于空洞卷積和批歸一化算法對經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)VGGNet16進行改進,并搭建實驗裝置,采集、構(gòu)建煤和矸石數(shù)據(jù)集,通過對網(wǎng)絡(luò)的訓練和驗證,結(jié)果表明智能煤矸識別算法DC&BN訓練和驗證準確率均可達97%以上,且從第5個訓練周期后開始收斂,收斂速度較快。
2)利用浮點運算次數(shù)FLOPs和F1分數(shù)對智能煤矸識別算法DC&BN進行評價,其F1分數(shù)可達0.994 3,模型訓練效果較好,能夠?qū)ξ粗愋蜆颖咀龀鲚^高準確率的預測;模型浮點運算次數(shù)為71 632 538次,模型復雜度處于較低水平。
3)利用深度學習框架Tensorflow 2.0,分別對多個網(wǎng)絡(luò)模型進行訓練和驗證,并與DC&BN進行對比分析,結(jié)果表明智能煤矸識別算法DC&BN訓練收斂速度較快,準確率較高,雖浮點運算次數(shù)較大,但在合理的范圍內(nèi)。