武國平, 梁興國, 胡金良, 張秀峰
(1.國家能源集團(tuán)神華準(zhǔn)格爾能源有限責(zé)任公司, 內(nèi)蒙古 鄂爾多斯 010300;2.天津美騰科技有限公司, 天津 300385)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)是機(jī)器學(xué)習(xí)中的重要分支,前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks)涵蓋了卷積計(jì)算,而且具備了深度結(jié)構(gòu),是深度學(xué)習(xí)(Deep Learning,DL)的代表算法之一。卷積神經(jīng)網(wǎng)絡(luò)在分類識別以及預(yù)測算法中,具有結(jié)構(gòu)簡單、訓(xùn)練高效、分類精度高的特點(diǎn),是近年廣泛應(yīng)用于計(jì)算機(jī)視覺(Computer Vision,CV)領(lǐng)域中圖像檢測、物體識別、姿態(tài)估計(jì)等,自然語言處理(NLP),以及自然科學(xué)場域中物理學(xué)、氣象學(xué)、地質(zhì)學(xué)等的經(jīng)典神經(jīng)網(wǎng)絡(luò)[1-6]。
基于圖像的煤矸識別方法,是實(shí)現(xiàn)干法選煤的重要基礎(chǔ)?;诰矸e神經(jīng)網(wǎng)絡(luò)的煤矸識別算法,經(jīng)過實(shí)驗(yàn)、分析、驗(yàn)證,是可以實(shí)現(xiàn)高精度的煤矸識別的可靠性算法,是具備實(shí)際應(yīng)用價(jià)值的。
本研究采用卷積神經(jīng)網(wǎng)絡(luò)模型,以內(nèi)蒙古準(zhǔn)能集團(tuán)哈爾烏素項(xiàng)目廠煤矸圖像為研究樣本,通過圖像處理后,運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)模型ResNet18,將圖像數(shù)據(jù)在網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,并通過該模型將圖像內(nèi)的各種深層特征信息提取出來,從而達(dá)成煤矸分類以及識別的功能??傮w研究框架的諸多流程如圖1所示。
圖1 基于圖像的煤矸識別與分類研究框架流程
本研究針對煤矸進(jìn)行的自動(dòng)分類與識別應(yīng)用監(jiān)督學(xué)習(xí)的相關(guān)策略。首先,相關(guān)人員逐一標(biāo)注工業(yè)相機(jī)采集的煤矸樣本數(shù)據(jù),從中取出一些標(biāo)注圖像數(shù)據(jù)當(dāng)作訓(xùn)練集,另外一些標(biāo)注圖像數(shù)據(jù)被當(dāng)作測試集。訓(xùn)練過程中每迭代一次,則將此次迭代訓(xùn)練過程中用到的圖像樣本當(dāng)作驗(yàn)證集。最后,自動(dòng)識別測試集中諸多類型的煤矸,并進(jìn)行自動(dòng)分類。
準(zhǔn)能的原煤以含低/高灰,低/高熱值的動(dòng)力煤為主,需實(shí)現(xiàn)三分類識別,分別為精煤、中煤、矸石。通過工業(yè)相機(jī)采集的樣本,如圖2所示。
圖2(a)為準(zhǔn)能集團(tuán)的精煤樣本,精煤顏色為黑色,其中部分鏡質(zhì)組在燈光下會(huì)呈現(xiàn)鏡面反光特征,使得整體呈現(xiàn)黑亮,同時(shí)硬度較小導(dǎo)致形狀輪廓較為圓潤;圖2(b)為中煤樣本,中煤為精煤與矸石的混合物,顏色偏灰,總體特征介于精煤和矸石之間;圖2(c)為矸石樣本,矸石根據(jù)成分不同呈現(xiàn)不同的顏色特征,此處為白色,同時(shí)由于硬度偏大,棱角較為分明。
(a) 精煤樣本
(c) 矸石樣本
通過現(xiàn)場樣本采集,共采集80 000張煤矸圖像,后經(jīng)過人工分選(經(jīng)驗(yàn)與化驗(yàn)結(jié)合),對80 000張煤矸圖像進(jìn)行人工標(biāo)注,以指導(dǎo)監(jiān)督式學(xué)習(xí)。
圖像處理是煤矸識別過程中一個(gè)非常重要的環(huán)節(jié)。由于采集的環(huán)境不同,如光線均勻度不夠、亮度變化、分辨率、采集設(shè)備自身變化等引起的煤矸圖像采集存在亮度不一致、對比度不夠、像素不足、圖像噪聲等問題存在。為了確保神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)與推理的圖像具有一致性,需對采集的圖像進(jìn)行處理,避免環(huán)境不同導(dǎo)致的識別分類精度下降。該研究采用直方圖均衡、中值濾波、歸一化進(jìn)行圖像處理,使得輸入給神經(jīng)網(wǎng)絡(luò)模型的圖像質(zhì)量相一致,增加分類以及識別精度。
直方圖屬于點(diǎn)操作,它逐點(diǎn)變更圖像的相應(yīng)灰度值,盡可能讓不同灰度級別均呈現(xiàn)出數(shù)量相同的像素點(diǎn),讓直方圖逐步達(dá)到平衡態(tài)勢。直方圖均衡能夠讓輸入圖像轉(zhuǎn)換為在各個(gè)灰度級上均有像素點(diǎn)數(shù)相同的輸出圖像(也就是說輸出了平的直方圖)。直方圖均衡用于提升全局對比度,這種方法對于背景和前景都太亮或者太暗的圖像非常有用,如圖3、圖4所示。
圖3 直方圖均衡處理前
圖4 直方圖均衡處理后
中值濾波處理信號時(shí)采取了非線性的方法,所以中值濾波器具有非線性的特征。從一定程度上來講,中值濾波能夠消除線性濾波導(dǎo)致的圖像細(xì)節(jié)模糊問題,很有效地濾除圖像掃描噪聲以及脈沖干擾。中值濾波的進(jìn)行,既能夠除掉孤點(diǎn)噪聲,又能夠使圖像保持自身的邊緣特性,圖像不會(huì)出現(xiàn)顯而易見的模糊,更適宜于本科研的煤矸識別,如圖5、圖6所示。
圖5 中值濾波處理前
圖6 中值濾波處理后
圖像的歸一化,歸一化就是將原始數(shù)據(jù)歸一到相同尺寸,目的是使不同成像條件(拍攝距離)下獲取的煤矸圖像尺寸具有一致性。根據(jù)不同的現(xiàn)場應(yīng)用中需要識別的煤矸粒度大小,以及采用全卷積的ResNet18網(wǎng)絡(luò)結(jié)構(gòu),將圖像尺寸歸一至224pixels×224pixels,以適應(yīng)現(xiàn)場應(yīng)用與網(wǎng)絡(luò)模型,如圖7、圖8所示。
圖7 歸一化處理處理前
圖8 歸一化處理處理后
使用上述圖像處理方式,可以將圖像進(jìn)行有效的質(zhì)量提升,對模型識別分類精度有大幅提升。
Residual Block是ResNet18的基本結(jié)構(gòu),每組Block通過ShortCut將其輸入和輸出進(jìn)行Element-Wise疊加。該加法比較簡單,網(wǎng)絡(luò)的計(jì)算量和參數(shù)不會(huì)額外增加,反而能夠提高模型訓(xùn)練的效果以及速度。這個(gè)模型的結(jié)構(gòu)比較簡單,但能夠非常有力地化解模型層數(shù)加深出現(xiàn)的退化現(xiàn)象。具體地,每個(gè)Residual Block中包含兩個(gè)相同輸出通道數(shù)的3×3卷積。假如存在不同的輸出、輸入維度,能夠針對Residual Block進(jìn)行線性映射變換維度,并連接到接下來的層。ResNet18基本結(jié)構(gòu),如圖9所示。
圖9 ResNet18基本結(jié)構(gòu)
設(shè)定輸入圖像尺寸為224×224×3。
第一步經(jīng)過卷積核大小為7×7,步長為2,輸出為64個(gè)通道的卷積層,得到64個(gè)大小為112×112的特征圖。
第二步通過核大小為3×3,步長為2的最大池化后,卷積為64個(gè)56×56的特征圖。
第三步將64個(gè)56×56的特征圖依次輸入8個(gè)Residual Block,每兩組Block的通道數(shù)依次遞增,分別為64、128、256、512,第二、三、四組Block得到的特征圖分辨率依次降低2倍,經(jīng)過四組block后特征圖大小變?yōu)?×7。
最后將512個(gè)7×7大小的特征圖經(jīng)過平均池化后接全連接層,通過SoftMax輸出各類別的概率。
激活函數(shù)可以看作卷積神經(jīng)網(wǎng)絡(luò)模型中一個(gè)特殊的層,即非線性映射層。卷積神經(jīng)網(wǎng)絡(luò)在進(jìn)行完線性變換后,都會(huì)在后邊疊加一個(gè)非線性的激活函數(shù),在非線性激活函數(shù)的作用下數(shù)據(jù)分布進(jìn)行再映射,以增加卷積神經(jīng)網(wǎng)絡(luò)的非線性表達(dá)能力[7]。激活函數(shù)選用Relu函數(shù)。該函數(shù)有兩個(gè)優(yōu)點(diǎn),一是在輸入為正數(shù)的時(shí)候,不存在梯度飽和問題;二是Relu函數(shù)只有線性關(guān)系,不管是前向傳播還是反向傳播,計(jì)算速度都很快,如圖10所示。
圖10 f(x)=max(0,x)
損失函數(shù)借助交叉熵。交叉熵能夠描述期望輸出(概率)以及實(shí)際輸出(概率)的相應(yīng)距離,即交叉熵本身的數(shù)值越低時(shí),兩個(gè)概率分布反而更加接近。假設(shè)概率分布p為期望輸出,概率分布q為實(shí)際輸出,H(p,q)為交叉熵,如式(1)。
(1)
將兩組標(biāo)注后的樣本進(jìn)行拆分,分為訓(xùn)練樣本以及測試樣本,如表1所示。
表1 樣本分類表
其中,訓(xùn)練樣本為50 000張,測試樣本為30 000張。
用于訓(xùn)練的數(shù)據(jù)組成為:數(shù)據(jù)集共50 000張,分為三類。每類數(shù)據(jù)分別為煤樣本20 000張,矸石樣本20 000張,中煤樣本10 000張。
用于測試的數(shù)據(jù)組成為:數(shù)據(jù)集共30 000張,分為三類。每類數(shù)據(jù)分別為煤樣本10 000張,矸石樣本10 000張,中煤樣本10 000張。
ResNet18網(wǎng)絡(luò)訓(xùn)練基于Caffe深度學(xué)習(xí)框架[8],BatchSize為32,Base_LR為0.001,激活函數(shù)借助Relu來強(qiáng)化非線性,損失函數(shù)借助交叉熵?fù)p失函數(shù),采取Poly學(xué)習(xí)策略。訓(xùn)練數(shù)據(jù)包含50 000張圖像,煤、中煤和矸石樣本接近2∶1∶2。
此實(shí)驗(yàn)?zāi)P吞幱跍y試集以及訓(xùn)練集層面的精度,展示了損失函數(shù)的需要變化狀況,如圖11、圖12所示。
圖11 訓(xùn)練精度結(jié)果
圖12 訓(xùn)練損失結(jié)果
由此可知,模型訓(xùn)練時(shí),訓(xùn)練次數(shù)越多其精度也就越大,模型本身的損失函數(shù)隨之持續(xù)降低。
測試集圖像中各煤矸識別精度,如表2所示。
由表2可以看到,測試集的測試精度能夠超過99%,識別分類精度非常高,超過了傳統(tǒng)的煤矸識別工藝,滿足工業(yè)應(yīng)用的要求。
表2 測試精度結(jié)果表
本研究實(shí)驗(yàn)顯示,ResNet18模型可以用來建立煤與矸石的自動(dòng)分類以及識別模型。眾所周知,神經(jīng)網(wǎng)絡(luò)系統(tǒng)的學(xué)習(xí)必須要借助高水平、數(shù)量足的標(biāo)注數(shù)據(jù),用于訓(xùn)練和測試。本研究針對寧夏與內(nèi)蒙古的煤矸圖像設(shè)計(jì)的圖像處理方法與訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)模型,準(zhǔn)確識別煤矸的比例超過99%,模型的分類準(zhǔn)確性能夠滿足工業(yè)應(yīng)用的需要,具備多煤種良好的魯棒性,可以在不同的原煤煤質(zhì)下得到相同的分類精度,具備推廣應(yīng)用條件。