徐小平,余香佳,劉廣鈞,劉 龍
1(西安理工大學(xué) 理學(xué)院,西安 710054)
2(西安理工大學(xué) 自動(dòng)化與信息工程學(xué)院,西安 710048)
隨著科學(xué)技術(shù)的快速發(fā)展,非金屬礦的各種礦種應(yīng)用日新月異,其戰(zhàn)略意義逐步提高.尤其是石墨被譽(yù)為“二十一世紀(jì)支撐高新技術(shù)發(fā)展的戰(zhàn)略資源”,具有良好的耐高溫性、導(dǎo)電性、化學(xué)穩(wěn)定性和抗熱震性等[1],不僅是新能源、新材料、航天航空等領(lǐng)域關(guān)鍵原材料,還是耐火材料、電極電刷、鉛筆等傳統(tǒng)工業(yè)領(lǐng)域的重要原料[2].在高科技產(chǎn)業(yè)發(fā)展中,石墨所占地位越來(lái)越重要,其獨(dú)特的物理特性使其能夠應(yīng)用于國(guó)計(jì)民生的各個(gè)領(lǐng)域,具有十分重要的工業(yè)價(jià)值[3,4].
以卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)為代表的深度學(xué)習(xí)算法在大數(shù)據(jù)時(shí)代得到快速發(fā)展,在機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺(jué)等研究領(lǐng)域備受關(guān)注[5,6].CNN 作為一種深度前饋神經(jīng)網(wǎng)絡(luò),在圖像識(shí)別領(lǐng)域取得了不小的突破[7].相比于傳統(tǒng)的分類(lèi)方法,基于卷積網(wǎng)絡(luò)的全自動(dòng)分類(lèi)方法脫離了人力識(shí)別的繁瑣,同時(shí)利用反向傳播算法自動(dòng)優(yōu)化模型參數(shù),獲得當(dāng)前條件最優(yōu)模型.深度學(xué)習(xí)的概念是Hinton 等人[8]于2006年提出的,它能更抽象、更深層次描述物體的屬性和特征,并且設(shè)計(jì)出AlexNet 網(wǎng)絡(luò),從此掀起了一波深度學(xué)習(xí)的熱潮.2016年,Ebrghimi 等人[9]提出了一種基于層次分析法和特征映射的圖像視覺(jué)方法,利用圖像識(shí)別辨別出16 種常見(jiàn)礦石;2017年,胡發(fā)煥[10]采用模糊支持向量機(jī)(NP-FSVM)對(duì)礦石圖像進(jìn)行初步識(shí)別;同年,伍云霞[11]將BP 神經(jīng)網(wǎng)絡(luò)與小波變換相結(jié)合,取得較高的識(shí)別率;2019年,呂紅杰[12]使用AlexNet 卷積神經(jīng)網(wǎng)絡(luò)用于煤巖識(shí)別并取得較好的圖像識(shí)別結(jié)果;2020年,王李管等人[13]使用改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于鎢礦分類(lèi)問(wèn)題.
作為圖像識(shí)別領(lǐng)域中的強(qiáng)大算法[6,7],目前鮮有研究者將CNN 應(yīng)用到石墨的圖像識(shí)別任務(wù)中.與GoogLeNet、ResNet 等更先進(jìn)的模型相比,AlexNet 具有更簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)和更少的網(wǎng)絡(luò)參數(shù)[7];相比于現(xiàn)有的輕量級(jí)網(wǎng)絡(luò)深度深,訓(xùn)練難度不會(huì)很大,表征能力強(qiáng),更方便做出不同的改進(jìn),可以節(jié)省大量模型訓(xùn)練時(shí)間,更不易過(guò)擬合[6].因此,本文給出利用AlexNet和深度學(xué)習(xí)的圖像識(shí)別技術(shù)進(jìn)行石墨與非石墨識(shí)別分選.針對(duì)石墨圖像本身特征及數(shù)據(jù)集過(guò)小,通過(guò)對(duì)數(shù)據(jù)集進(jìn)行圖像預(yù)處理達(dá)到數(shù)據(jù)增強(qiáng)的目的,同時(shí)對(duì)激活函數(shù)、歸一化層、卷積核、Dropout 層和優(yōu)化器進(jìn)行替換更新.仿真實(shí)驗(yàn)結(jié)果表明,與相關(guān)算法相比,本文所提方法復(fù)雜度低、參數(shù)量少,提高了網(wǎng)絡(luò)的收斂速度,減低了損失率,有效地實(shí)現(xiàn)了石墨的圖像識(shí)別目標(biāo).
AlexNet 屬于CNN的一種,而CNN 屬于人工神經(jīng)網(wǎng)絡(luò),已經(jīng)廣泛應(yīng)用于圖像識(shí)別等機(jī)器學(xué)習(xí)領(lǐng)域[6].由于它的網(wǎng)絡(luò)結(jié)構(gòu)采用了權(quán)值共享方式,更加類(lèi)似于生物神經(jīng)網(wǎng)絡(luò),其優(yōu)點(diǎn)相對(duì)于一般神經(jīng)網(wǎng)絡(luò),減少了網(wǎng)絡(luò)的權(quán)值數(shù)量.CNN 最大的優(yōu)勢(shì)在于通過(guò)感受野和共享權(quán)重減少網(wǎng)絡(luò)的參數(shù),即參數(shù)減少和權(quán)值共享.該方法使得訓(xùn)練速度更快,而且訓(xùn)練需要的樣本更少.CNN基本網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,分為4 個(gè)部分:輸入層(input),卷積層(convolution,Conv),全連接層(full connected layer,FC)和輸出層(output).
卷積神經(jīng)網(wǎng)絡(luò)與其他神經(jīng)網(wǎng)絡(luò)模型最大的區(qū)別在于,卷積神經(jīng)網(wǎng)絡(luò)在神經(jīng)網(wǎng)絡(luò)的輸入層前面連接了卷積層,這樣卷積層就變成了卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)輸入層.卷積層是卷積神經(jīng)網(wǎng)絡(luò)中獨(dú)特的網(wǎng)絡(luò)結(jié)構(gòu),主要進(jìn)行圖像的特征提取;池化層針對(duì)特征圖進(jìn)行稀疏處理,減少數(shù)據(jù)的運(yùn)算量;全連接層在整個(gè)卷積神經(jīng)網(wǎng)絡(luò)中起到“分類(lèi)器”作用,它將在已學(xué)到的“內(nèi)容”映射到樣本標(biāo)記空間(把前面提取到的特征綜合起來(lái)).CNN的連接過(guò)程如圖2所示.
圖2中,fx表示數(shù)字濾波器;bx表示偏置;Cx表示卷積層的特征圖;Wx+1表示下采樣的權(quán)值;bx+1表示對(duì)應(yīng)的權(quán)重;Sx+1表示下采樣層.
AlexNet 是ISLVRC 2012 (ImageNet large scale visual recognition)競(jìng)賽的冠軍網(wǎng)絡(luò),分類(lèi)準(zhǔn)確率提升到了80%以上,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
該網(wǎng)絡(luò)包含8 層結(jié)構(gòu),其中5 層卷積層、3 層全連接層.在AlexNet 網(wǎng)絡(luò)中還包含3 個(gè)池化層(Pooling),卷積層和池化層交替連接使用.
在AlexNet 網(wǎng)絡(luò)中,5 層卷積層分別使用1 1×11、5×5、3×3、3×3、3×3的卷積核進(jìn)行特征提取.Alex-Net 舍棄此前普遍使用的Sigmoid 或tanh 函數(shù),采用ReLU 作為激活函數(shù);由于經(jīng)過(guò)ReLU 函數(shù)得到的值域沒(méi)有區(qū)間,因此AlexNet 提出了局部響應(yīng)歸一化(local response normalization,LRN),對(duì)ReLU 得到的數(shù)據(jù)進(jìn)行歸一化處理,抑制小的神經(jīng)元,提高模型的泛化能力.
為了提高模型的泛化能力,使用大樣本數(shù)據(jù)集進(jìn)行訓(xùn)練是最好的辦法.對(duì)于小樣本數(shù)據(jù)集,在深度學(xué)習(xí)中可以采用數(shù)據(jù)增強(qiáng)的方法來(lái)解決數(shù)據(jù)不足的問(wèn)題[14].這里利用PyTorch的圖像預(yù)處理包Transform 對(duì)數(shù)據(jù)集中的圖片進(jìn)行如圖4所示的預(yù)處理操作.
首先將測(cè)試集進(jìn)行隨機(jī)裁剪得到圖像像素為224×224,并依概率(設(shè)置p=0.5)對(duì)圖像進(jìn)行水平翻轉(zhuǎn),最后對(duì)處理過(guò)的數(shù)據(jù)集進(jìn)行歸一化處理,達(dá)到數(shù)據(jù)增強(qiáng)的目的.
在AlexNet 網(wǎng)絡(luò)中,雖然將ReLU 函數(shù)作為激活函數(shù)有效克服了Sigmod和tanh 函數(shù)梯度消失、收斂速度慢等缺點(diǎn),但是ReLU 在x>0的區(qū)域使用x進(jìn)行線(xiàn)性激活,有可能造成激活后的值太大,影響模型的穩(wěn)定性,這會(huì)使得網(wǎng)絡(luò)的訓(xùn)練速度下降,甚至可能會(huì)降低網(wǎng)絡(luò)的泛化性能.為抵消ReLU的線(xiàn)性增長(zhǎng)部分,本文使用ReLU6 函數(shù).
相比于ReLU 函數(shù),模型中使用ReLU6 作為非線(xiàn)性層,在低精度計(jì)算時(shí)能壓縮動(dòng)態(tài)范圍,算法更穩(wěn)健.
原始AlexNet 中使用了LRN 對(duì)第一、二層進(jìn)行歸一化操作,以增強(qiáng)模型的泛化性能,但LRN 算法對(duì)模型的實(shí)際改善效果有限,同時(shí)極大增加模型的訓(xùn)練時(shí)間.文獻(xiàn)[15]中提出批量歸一化(batch normalize,BN)算法能夠減小經(jīng)過(guò)激活函數(shù)而導(dǎo)致的數(shù)據(jù)偏移,有效解決訓(xùn)練過(guò)程中數(shù)據(jù)分布不一致的問(wèn)題.BN 算法通過(guò)計(jì)算小批次中的均值和方差達(dá)到特征歸一化的目的.
給定一個(gè)尺寸為n的批量B={x1,x2,···,xm},在訓(xùn)練過(guò)程中,式(2)和(3)記錄各個(gè)批量的均值和方差:
最后在實(shí)際的測(cè)試中求得整個(gè)數(shù)據(jù)集的均值與方差,進(jìn)行歸一化處理,即:
BN 算法的關(guān)鍵之處在于進(jìn)行變換重構(gòu),引入可拉伸參數(shù) γ與偏移參數(shù) β進(jìn)行如式(10)的修正處理.
VGG (visual geometry group)網(wǎng)絡(luò)是牛津大學(xué)計(jì)算機(jī)視覺(jué)組和Google DeepMind 研發(fā)的深度卷積神經(jīng)網(wǎng)絡(luò).該網(wǎng)絡(luò)結(jié)構(gòu)使用 3×3大小的卷積核來(lái)擴(kuò)大通道數(shù),以提取更復(fù)雜和更具有表達(dá)力的特征,且具有擴(kuò)展性強(qiáng)、泛化能力好等特點(diǎn)[16].因此本文借鑒VGG 網(wǎng)絡(luò)的優(yōu)點(diǎn),將AlexNet 網(wǎng)絡(luò)中的卷積核大小均修改為3×3,大大減少參量數(shù)目,提取更為具體的特征.
本文選用Adam 優(yōu)化器,以0.000 2為初始學(xué)習(xí)率;選擇交叉熵作為損失函數(shù),避免均方誤差帶來(lái)的學(xué)習(xí)速率逐漸降低的問(wèn)題.由于在AlexNet 網(wǎng)絡(luò)的全連接層引入了大量的參數(shù),因此在全連接層后加入Dropout,這種技術(shù)減少了神經(jīng)元復(fù)雜的共同適應(yīng),使模型更有效的進(jìn)行融合.改進(jìn)后的AlexNet 網(wǎng)絡(luò)模型如圖5所示.
本文采用改進(jìn)的AlexNet 網(wǎng)絡(luò)模型完成數(shù)據(jù)集的自動(dòng)分類(lèi)任務(wù).模型的總體框架如圖6所示.
本文在Python 語(yǔ)言的編譯環(huán)境下,使用1.5.0 版本PyTorch 框架完成實(shí)驗(yàn)仿真,通過(guò)Transform 實(shí)現(xiàn)圖像數(shù)據(jù)的預(yù)處理.實(shí)驗(yàn)環(huán)境為:Mac OS 10.14.6 版本操作系統(tǒng),處理器為1.6 GHz Intel Core i5,未使用GPU加速,運(yùn)行一次網(wǎng)絡(luò)平均消耗9 000–10 000 s.設(shè)置權(quán)衰量為0.01,用于防止過(guò)擬合;迭代周期epoch為100,一個(gè)batch 大小設(shè)置為32;所有權(quán)重參數(shù)初始化為均值為0、標(biāo)準(zhǔn)差為0.01的高斯分布,同時(shí)將訓(xùn)練集圖片在輸入前隨機(jī)打亂,減少圖片順序?qū)δP偷挠绊?
本文圖像樣本采集自實(shí)驗(yàn)室現(xiàn)有石墨樣品,將其清洗干凈后進(jìn)行干燥操作,利用iPhone 手機(jī)后置攝像頭從不同方向及角度拍攝樣本圖像視頻,隨后對(duì)視頻進(jìn)行分幀處理,共得到166 張樣本圖像.同時(shí)在網(wǎng)絡(luò)上收集非石墨礦石圖像180 張,最終將圖像分為石墨與非石墨兩種類(lèi)別,共346 張彩色圖片.圖7為石墨與非石墨的樣本圖像.
一般的,數(shù)據(jù)集越充足,模型訓(xùn)練的效果越好,其泛化能力得到增強(qiáng).為解決訓(xùn)練樣本不足的問(wèn)題,本文對(duì)以上數(shù)據(jù)集進(jìn)行了數(shù)據(jù)擴(kuò)充,對(duì)收集到的圖像分別做中心裁剪、樣本旋轉(zhuǎn)(180°、90°)、繞X 軸翻轉(zhuǎn)以及均值模糊操作,最終得到1 857 張圖像,按照比例隨機(jī)選取數(shù)據(jù)集中955 張(80%)作為訓(xùn)練集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,902 張(20%)作為測(cè)試集驗(yàn)證網(wǎng)絡(luò)的性能.將訓(xùn)練集與測(cè)試集分開(kāi)處理.數(shù)據(jù)集分類(lèi)情況如表1所示.
表1 石墨數(shù)據(jù)集
為降低樣本的不平衡性和解決數(shù)據(jù)集過(guò)小容易造成的過(guò)擬合現(xiàn)象,本文對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)(data augmentation,DA)操作,提高網(wǎng)絡(luò)分類(lèi)準(zhǔn)確率.在DA操作中,常見(jiàn)方法包括尺度變換、圖像對(duì)比度調(diào)整、圖像裁剪、仿射變換、水平或垂直翻轉(zhuǎn)等,針對(duì)不同的數(shù)據(jù)集可選擇不同的增強(qiáng)方法.基于礦石圖像的特征,將訓(xùn)練集圖片在輸入前隨機(jī)打亂,減少圖片順序?qū)δP偷挠绊?將訓(xùn)練集中的每張圖片進(jìn)行隨機(jī)裁剪,統(tǒng)一圖像像素為224×224,并依概率(設(shè)置p=0.5)對(duì)圖像進(jìn)行水平翻轉(zhuǎn),最后以0.5的均值與0.5的標(biāo)準(zhǔn)差分別對(duì)每個(gè)通道的數(shù)據(jù)正則化處理,達(dá)到數(shù)據(jù)擴(kuò)充與數(shù)據(jù)增強(qiáng)的目的.
本文以準(zhǔn)確率(Accuracy,acc)和損失(Loss)這兩個(gè)指標(biāo)評(píng)估一個(gè)網(wǎng)絡(luò)的訓(xùn)練效果.測(cè)試準(zhǔn)確率是指模型在測(cè)試集上輸出正確結(jié)果的比率,能反映一個(gè)網(wǎng)絡(luò)的使用效果,是很重要的指標(biāo).其定義公式如式(6)所示:
其中,ncorrect表示測(cè)試集中網(wǎng)絡(luò)識(shí)別正確的個(gè)數(shù),n表示測(cè)試集樣本個(gè)數(shù).
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程是最小化損失函數(shù)的過(guò)程,Loss 即為損失函數(shù)的值.實(shí)際上,損失函數(shù)計(jì)算的是模型在測(cè)試集上的均方誤差(MSE,E):
本文使用改進(jìn)的AlexNet 模型與傳統(tǒng)的AlexNet模型分別對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,圖8展示了使用ReLU6函數(shù)與ReLU 函數(shù)的損失與準(zhǔn)確率的變化曲線(xiàn).通過(guò)實(shí)驗(yàn)仿真發(fā)現(xiàn),使用ReLU6 函數(shù)可使得損失值由0.092 5降為0.077 2,達(dá)到相對(duì)較小.
針對(duì)歸一化層,本文對(duì)比使用BN 算法與未使用BN 算法兩種情況進(jìn)行仿真,結(jié)果如圖9所示.
圖9結(jié)果表明,使用BN 算法有效降低模型測(cè)試的損失值,同時(shí)避免了模型陷入過(guò)擬合風(fēng)險(xiǎn).為了進(jìn)一步觀(guān)察卷積層在使用BN 算法前后特征提取的情況,隨機(jī)提取出數(shù)據(jù)集中的一張圖片,如圖10所示,分類(lèi)為石墨.
依次打印出圖10在Conv1,Conv2 與Conv3的前12 個(gè)通道的特征提取圖,如圖11所示.
由圖11可知,傳統(tǒng)的AlexNet 網(wǎng)絡(luò)在第3 卷積層所提取的特征已經(jīng)較為模糊,學(xué)習(xí)能力不是很好;相比使用BN 算法后的模型,特征提取能力增強(qiáng),可保證網(wǎng)絡(luò)進(jìn)行快速、充分的學(xué)習(xí).使用BN 算法前后的圖像識(shí)別損失與準(zhǔn)確率如表2所示.
表2 加入BN 算法的損失與準(zhǔn)確率對(duì)比
除激活函數(shù)與歸一化層的改進(jìn),本文還對(duì)卷積核大小做出修改,如圖12所示.
圖12展示了在以上改進(jìn)的基礎(chǔ)上,使用 3×3小卷積核的損失值與準(zhǔn)確率對(duì)比情況.明顯看出使用小卷核提高了模型的泛化能力,減低了模型在測(cè)試集上的損失值.
為了評(píng)估改進(jìn)的AlexNet 網(wǎng)絡(luò)對(duì)石墨分類(lèi)數(shù)據(jù)集的識(shí)別性能,將傳統(tǒng)的AlexNet 網(wǎng)絡(luò)、文獻(xiàn)[7]、文獻(xiàn)[17]的AlexNet 網(wǎng)絡(luò)作為對(duì)照組,提取出Conv2的情況,如圖13所示.
通過(guò)圖13可以看出,使用改進(jìn)的AlexNet 網(wǎng)絡(luò)在第2 卷積層中的特征情況較其他兩種模型更為清晰,提取學(xué)習(xí)到更多的特征.最后得到模型損失與準(zhǔn)確率的對(duì)比曲線(xiàn)如圖14所示,進(jìn)一步驗(yàn)證本文提出的改進(jìn)AlexNet 網(wǎng)絡(luò)的有效性.
通過(guò)對(duì)測(cè)試集的實(shí)驗(yàn),將傳統(tǒng)的AlexNet 網(wǎng)絡(luò)、文獻(xiàn)[7]、文獻(xiàn)[17]的方法作為對(duì)照組,與本文方法的損失與準(zhǔn)確率對(duì)比如表3所示.
表3 損失率與準(zhǔn)確率對(duì)比
由表3可知,使用本文提出的改進(jìn)的AlexNet 網(wǎng)絡(luò)較其他兩種情況效果更好,有效驗(yàn)證了本文所提出的網(wǎng)絡(luò)模型的可行性與有效性.
石墨數(shù)據(jù)收集難度較大,該領(lǐng)域研究的專(zhuān)業(yè)性較強(qiáng),導(dǎo)致石墨的智能識(shí)別發(fā)展不易.本文使用改進(jìn)的AlexNet 卷積網(wǎng)絡(luò)實(shí)現(xiàn)石墨識(shí)別,此過(guò)程不需要人工提取石墨的圖像特征,智能化程度較高,訓(xùn)練過(guò)程較為簡(jiǎn)單.通過(guò)對(duì)AlexNet的激活函數(shù)、歸一化層和超參數(shù)的優(yōu)化,提高了整體模型的魯棒性,在不增加模型計(jì)算復(fù)雜度的同時(shí)避免了過(guò)擬合問(wèn)題.實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)算法較傳統(tǒng)AlexNet的分類(lèi)平均準(zhǔn)確率得到提高,損失值降低,模型具有較強(qiáng)的泛化性.將改進(jìn)AlexNet模型應(yīng)用于石墨圖像識(shí)別,增加了選礦流程的自動(dòng)化程度,減少了人工揀選的工作量.但本文使用數(shù)據(jù)集為小數(shù)據(jù)集且石墨樣本為塊狀,增加石墨種類(lèi)對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充,對(duì)市面上絕大部分的流動(dòng)石墨進(jìn)行識(shí)別是下一步的研究方向.