孫友森,陳傳海,楊志龍,王新欣
(1.棗礦集團(tuán)煤質(zhì)管理處,山東 棗莊 277000;2.山東山控信息科技有限公司,山東 濟(jì)南 250000)
計(jì)算機(jī)視覺技術(shù)是利用相機(jī)與電腦連接成的一個(gè)系統(tǒng),通過對(duì)目標(biāo)的檢測(cè)、追蹤、測(cè)量和進(jìn)一步預(yù)處理得到能夠代表圖像特征的信息,再對(duì)這些特征信息通過計(jì)算機(jī)算法進(jìn)行識(shí)別[1-2]。在選煤行業(yè),隨著選煤廠智能化水平的提高,對(duì)各個(gè)生產(chǎn)崗位的要求也更加嚴(yán)格,同樣浮選車間的控制也要求精煤灰分盡可能穩(wěn)定[3]。前人在浮選泡沫圖像的識(shí)別問題上已經(jīng)做了大量的研究,例如,Kaartinen[4]在鋅粗選浮選槽中進(jìn)行基于機(jī)器視覺的浮選控制實(shí)驗(yàn),在監(jiān)控系統(tǒng)中,使用的泡沫圖像特征主要包括泡沫顏色、泡沫坍塌率、氣泡尺寸和一些主要藥劑的添加量,基于這些泡沫圖像特征對(duì)生產(chǎn)工況進(jìn)行分類。Brown[5]等設(shè)計(jì)了一個(gè)基于泡沫表面視覺特征的浮選過程控制器來控制浮選泡沬流速和液位、起泡劑添加量、通風(fēng)量3個(gè)浮選操作變量。結(jié)果表明,當(dāng)浮選流速能夠很好地控制時(shí),浮選性能也能穩(wěn)定下來。中南大學(xué)的桂衛(wèi)華、楊春華等[6]根據(jù)大量的樣本和實(shí)驗(yàn),利用機(jī)器視覺技術(shù)和圖像處理技術(shù),設(shè)計(jì)了一套銅浮選泡沬圖像監(jiān)控系統(tǒng)。利用BP神經(jīng)網(wǎng)絡(luò)建立相關(guān)指標(biāo)的預(yù)測(cè)模型,指導(dǎo)銅浮選生產(chǎn)過程。洪升[7]研究建立了選礦過程中在線監(jiān)控系統(tǒng),采用了支持向量機(jī)(SVM)的預(yù)測(cè)方法,進(jìn)行浮選回收率預(yù)測(cè),此方法顯著提高了浮選指標(biāo)的預(yù)測(cè)精度和模型的泛化能力,使其具有更好的應(yīng)用性??梢钥闯觯∵x車間的自動(dòng)化發(fā)展是當(dāng)前研究的熱點(diǎn)問題。
由于浮選車間工況復(fù)雜[8-9],精礦的品位常常受入料性質(zhì)、加藥量和工人操作等多方面條件的影響,應(yīng)用在現(xiàn)場(chǎng)的識(shí)別精度并不是很高。因此,一種準(zhǔn)確可靠的預(yù)測(cè)算法成為當(dāng)前研究的重點(diǎn)。傳統(tǒng)的圖像識(shí)別技術(shù)更加適應(yīng)于有明顯特征、背景簡(jiǎn)單的情況[10-11],而選煤廠浮選車間工況復(fù)雜,煤泥浮選泡沫圖像特征單一,并且捕捉到的圖像由于現(xiàn)場(chǎng)特殊環(huán)境的干擾往往帶有較大的噪聲,這樣給浮選車間智能化的進(jìn)程帶來嚴(yán)重阻礙。
將卷積神經(jīng)網(wǎng)絡(luò)(CNN)[12]和支持向量機(jī)(SVM)[13]結(jié)合,提出一種混合的煤泥浮選泡沫圖像識(shí)別算法,通過CNN自動(dòng)提取圖像特征,再將提取到的特征作為SVM的輸入預(yù)測(cè)浮選實(shí)時(shí)灰分,通過調(diào)整網(wǎng)絡(luò)參數(shù)和結(jié)構(gòu),取得了不錯(cuò)的分選結(jié)果。同時(shí)面對(duì)現(xiàn)場(chǎng)復(fù)雜的的環(huán)境,該混合算法具有較高的識(shí)別精度和較強(qiáng)的魯棒性(即算法對(duì)數(shù)據(jù)變化的容忍度)。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種包含多層的深度卷積神經(jīng)網(wǎng)絡(luò)模型,它由自動(dòng)特征提取部分和全連接層組成,特征提取部分包括卷積層和池化層兩部分,通過卷積和池化2種過程的迭代從煤泥浮選泡沫圖像上提取特征信息[14]。支持向量基(SVM)將特征數(shù)據(jù)投影到特征空間中尋找最優(yōu)的分離面,根據(jù)其核函數(shù)的不同,它可以用來處理線性和非線性問題[15]。卷積神經(jīng)網(wǎng)絡(luò)的神經(jīng)元由權(quán)重和偏置項(xiàng)組成,每一個(gè)神經(jīng)元接受輸入并執(zhí)行卷積計(jì)算,每個(gè)神經(jīng)元接受來自前端的輸入并執(zhí)行一次點(diǎn)積運(yùn)算,然后整個(gè)神經(jīng)網(wǎng)絡(luò)表達(dá)出一個(gè)評(píng)分函數(shù),對(duì)網(wǎng)絡(luò)的輸入到輸出進(jìn)行評(píng)分[16]。在CNN中通常用一個(gè)損失函數(shù)對(duì)網(wǎng)絡(luò)中的參數(shù)進(jìn)行估計(jì),這就形成了一個(gè)將原始圖像變?yōu)樘卣飨蛄康奶卣魈崛∑鱗17]。另一部分就是全連接層,將提取到的特征向量按照前向傳播網(wǎng)絡(luò)進(jìn)行分類。
混合的CNN—SVM模型是將CNN最后的全連接網(wǎng)絡(luò)層替換為SVM分類器。CNN網(wǎng)絡(luò)的最外層實(shí)際上是指每個(gè)樣本標(biāo)簽所對(duì)應(yīng)的可能出現(xiàn)的概率估計(jì)值,每一個(gè)概率估計(jì)值對(duì)應(yīng)一個(gè)激活函數(shù),單查看隱含層的輸出對(duì)于分類結(jié)果是沒有任何意義的,它僅僅對(duì)CNN網(wǎng)絡(luò)模型本身有意義,但是這些值可以作為SVM分類器的特征輸入。圖1為CNN—SVM模型的網(wǎng)絡(luò)結(jié)構(gòu)圖。首先,將煤泥浮選泡沫圖像通過多次卷積和池化,對(duì)原始帶有輸出層的CNN進(jìn)行預(yù)訓(xùn)練直到收斂,然后SVM將隱含層的輸出作為特征輸入進(jìn)行訓(xùn)練,一旦SVM訓(xùn)練合格,就會(huì)對(duì)自動(dòng)提取特征的煤泥圖像做出預(yù)測(cè)?;旌系腃NN—SVM模型的優(yōu)點(diǎn)彌補(bǔ)了兩類分類器的局限性,提高了單一模型的泛化能力和模型精度。
圖1 CNN—SVM混合模型結(jié)構(gòu)
實(shí)驗(yàn)采用CCD工業(yè)相機(jī)對(duì)浮選泡沫拍照,選取更加可靠LED背光源為泡沫的補(bǔ)光光源,這樣可以最大程度的減小浮選泡沫表面的反光現(xiàn)象。為了避免外界光源的干擾,對(duì)現(xiàn)場(chǎng)對(duì)采集系統(tǒng)進(jìn)行遮光處理。針對(duì)浮選工況的不同,分散取樣化驗(yàn)實(shí)時(shí)灰分作為圖像標(biāo)簽,設(shè)置圖像大小為1024×1024像素,對(duì)每個(gè)灰分標(biāo)簽連續(xù)采集30張照片,擇優(yōu)選取20張作為該標(biāo)簽對(duì)應(yīng)的數(shù)據(jù)集。最終取得山東某選煤廠浮選車間的30 000張浮選泡沫圖像,按照灰分區(qū)間不同將其標(biāo)簽劃分為小于7、7~7.99、8~8.99、9~9.99、10~10.99、11~11.99、12~12.99、大于13共8個(gè)類別,其中20 000張作為訓(xùn)練集,7 000張作為驗(yàn)證集,最后3 000張作為測(cè)試集。
選煤廠浮選車間的實(shí)際環(huán)境比較特殊,因此在圖像采集、傳輸?shù)冗^程中,難免受到周圍特殊環(huán)境和磁場(chǎng)等的影響,經(jīng)過工業(yè)相機(jī)采集的圖像最終傳到計(jì)算機(jī)上時(shí)難免會(huì)帶有較大的噪聲和微小的失真現(xiàn)象,這樣的圖像喂入神經(jīng)網(wǎng)絡(luò)就會(huì)出現(xiàn)過擬合或者準(zhǔn)確率較低,無法達(dá)到較好的的分類效果,為了解決這類問題必須對(duì)采集到的圖像做去燥、增強(qiáng)等預(yù)處理。根據(jù)實(shí)際驗(yàn)證對(duì)采集到的數(shù)據(jù)集進(jìn)行了高斯椒鹽去燥和圖像增強(qiáng)預(yù)處理,處理前后的圖像如圖2所示。
圖2 預(yù)處理浮選泡沫圖像
3.3.1 CNN特征提取
CNN被用來提取煤泥浮選泡沫圖像特征被認(rèn)為是有效的,本文在全連接層之前添加一個(gè)額外的卷積層,其中包含8個(gè)神經(jīng)元的200個(gè)特征圖。最大池化層進(jìn)行全零填充和歸一化操作。卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)圖如表1所示。
表1 CNN模型參數(shù)設(shè)計(jì)
3.3.2 SVM分類
在SVM中首先將數(shù)據(jù)投影到特征空間中,然后確定最優(yōu)分離超平面,利用不同的核函數(shù)將線性問題轉(zhuǎn)化為非線性問題。該方法最初是為了解決兩類問題而提出的,然而現(xiàn)在這項(xiàng)技術(shù)已經(jīng)被用來解決多分類問題。
首先將訓(xùn)練集S定義如下:
其中:yi∈{1,2,3,4,5,6,7,8}代表灰分標(biāo)簽的8個(gè)類別(小于7、7~7.99、8~8.99、9~9.99、10~10.99、11~11.99、12~12.99、大于13),并且i=2500。目前有2種方法用來解決多分類問題:一種是構(gòu)件多個(gè)二分類SVM并將它們以一對(duì)一或一對(duì)多的方式聯(lián)合起來,另一種是將所有多分類數(shù)據(jù)集考慮在一個(gè)最優(yōu)化問題中用SVM分類。Hsu[18]等人通過使用不同的數(shù)據(jù)集驗(yàn)證得出一對(duì)一的方法更加合適實(shí)際應(yīng)用。LIBSVM[19]是一種開源的SVM分類工具,本文將使用它來做分類處理,一對(duì)一的分類方法構(gòu)建了一個(gè)k/(k-1)/2(k為分類數(shù))分類器,其中每個(gè)分類器從k個(gè)類別中挑選出的2類作為訓(xùn)練數(shù)據(jù)。下式主要計(jì)算如何獲取從第i和第j個(gè)類別的訓(xùn)練數(shù)據(jù):
其中αi是拉格朗日乘子,核函數(shù)K用來計(jì)算高維空間未完成分類映射的點(diǎn)積,C是控制最大分類誤差和最小分類誤差的一個(gè)懲罰因子。在分類決定的過程中,LIBSVM采用“max Wins”算法[20],即每個(gè)分類器對(duì)上一次的分類結(jié)果評(píng)分,來獲取最佳的分類結(jié)果。
3.3.3 實(shí)驗(yàn)結(jié)果與分析
在CNN—SVM混合訓(xùn)練模型中,使用SVM代替CNN最后的全連接層。為了構(gòu)造混合模型中的SVM,通過對(duì)數(shù)據(jù)集采用10倍交叉驗(yàn)證的方法,采用徑向基函數(shù)來確定最佳的核參數(shù)S和懲罰因子C。各參數(shù)的范圍為C=[0.8,0.9,1.0,1.1,1.2],γ=[0.01,0.03,0.05,0.07,0.09],應(yīng)用不同的組合最終選定C=1.0,γ=0.05。將這些參數(shù)代入混合模型,如圖3所示,設(shè)置樣本量大小為400,學(xué)習(xí)率為0.001,過擬合為0.75,50個(gè)訓(xùn)練樣本之后模型的準(zhǔn)確率達(dá)到了87.66%。
圖3 CNN-SVM模型識(shí)別度準(zhǔn)確率
模型中各個(gè)灰分類別的準(zhǔn)確率如圖4所示,從圖中可以看出,CNN—SVM模型對(duì)每個(gè)灰分類別的泡沫識(shí)別準(zhǔn)確率都在80%以上,其中灰分小于7%和大于13%的泡沫識(shí)別精度最高,達(dá)到90%以上,這也與浮選現(xiàn)場(chǎng)這2種泡沫的形態(tài)差距明顯有一定關(guān)系。由于煤泥浮選泡沫圖像差異小,分別難度高,所以識(shí)別精度不如其他的特征明顯的圖像高。但在未來的應(yīng)用中,隨著數(shù)據(jù)集的擴(kuò)大和計(jì)算機(jī)計(jì)算能力的增強(qiáng),相信可以取得不錯(cuò)的分類結(jié)果。
圖4 各灰分等級(jí)的泡沫識(shí)別精度
以選煤廠煤泥浮選泡沫為分類對(duì)象,提出一種CNN—SVM混合的網(wǎng)絡(luò)模型。先對(duì)輸入網(wǎng)絡(luò)前對(duì)所有圖像做了增強(qiáng)去噪的預(yù)處理,該模型結(jié)合了支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),利用CNN部分對(duì)預(yù)處理后的圖像自動(dòng)提取特征,之后將提取到的特征輸給SVM預(yù)測(cè)分類,最終在本次煤泥浮選泡沫分類中取得了87.66%的準(zhǔn)確率。在未來的研究中,通過繼續(xù)增加網(wǎng)絡(luò)的深度和獲取更多的數(shù)據(jù)集有可能獲得更高的準(zhǔn)確率。