劉 晨 趙曉暉 梁乃川 張永新
(1.山東師范大學數(shù)學與統(tǒng)計學院 濟南 250358)(2.聊城高級財經(jīng)職業(yè)學校 聊城 252000)
巖石樣本的巖性識別與分類問題是地質(zhì)分析中的重要研究方向,是固體金屬礦產(chǎn)資源勘探和油藏描述中的關(guān)鍵步驟。傳統(tǒng)的巖性識別方法主要有重磁、遙感、電磁、巖石薄片分析等,這些方法往往受限于實驗設(shè)備的專業(yè)性和研究人員的地質(zhì)經(jīng)驗,存在識別準確率低、分類結(jié)果受主觀因素影響較大等問題。目前,地質(zhì)數(shù)據(jù)呈指數(shù)式增長,基礎(chǔ)地質(zhì)、礦產(chǎn)地質(zhì)、災(zāi)害地質(zhì)的調(diào)查、勘查產(chǎn)生了大量的數(shù)據(jù)。在巖石樣本巖性識別方面面臨著專業(yè)知識不足和數(shù)據(jù)量巨大的問題。
近年來,隨著計算機技術(shù)和圖像處理技術(shù)的發(fā)展,深度學習被廣泛應(yīng)用于各種圖像分類問題上。采用深度學習的方法建立巖石圖像智能識別與分類模型是一條新的途徑,可以減少對于專業(yè)知識和設(shè)備的依賴,快速且準確的識別。此前不少學者嘗試將深度學習技術(shù)應(yīng)用到巖性識別與分類問題上。程國建等[1]使用來自鄂爾多斯盆地的3類共4800個樣品對卷積神經(jīng)網(wǎng)絡(luò)進行訓練,實現(xiàn)了對顯微鏡下巖石薄片樣本的分類,在測試數(shù)據(jù)上表現(xiàn)出98.5%的分類準確率。其圖像數(shù)據(jù)是在偏光顯微鏡下拍攝的巖石鑄體薄片,數(shù)據(jù)集的制作相對復雜,不容易獲取。張野等[2]基于Inception-v3網(wǎng)絡(luò)模型,利用遷移學習建立了巖石圖像的分類模型,可對花崗巖、角礫巖、千枚巖三類特征明顯的巖石進行識別分類,測試數(shù)據(jù)準確率達到85%以上。白林、姚鈺等[3]基于卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建巖石識別深度學習模型,在網(wǎng)絡(luò)上搜集或?qū)嵨锱恼盏脕淼?000張巖石圖片上訓練,達到了63%的識別準確率。其證明了卷積神經(jīng)網(wǎng)絡(luò)可以有效提取礦物成分特征。白林、魏昕等[4]使用VGG網(wǎng)絡(luò)模型建立了巖石薄片圖像識別模型,可對花崗巖、白云巖等6種常見巖石的巖石薄片圖像進行分類,識別準確率達到了82%。綜上,雖然深度學習技術(shù)在巖石的巖性識別與分類問題中取得了一些成果,但仍存在一些不足之處:1)識別準確率較低,若巖性識別與分類模型的識別準確率低將導致其無法應(yīng)用到實際工作中去。2)用于分類的數(shù)據(jù)大多為標準的巖石薄片圖像,而非更復雜直接的巖屑、巖心圖像。巖石薄片的制作過程較為復雜,導致數(shù)據(jù)集不容易獲取。對此,本文提出了一種基于深度學習的巖性識別與分類方法,通過卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)自動對巖石圖像進行特征提取并改進了原網(wǎng)絡(luò)的分類器。同時利用了遷移學習加快模型的訓練速度。利用錄井現(xiàn)場拍攝的巖屑和巖心圖像對網(wǎng)絡(luò)進行訓練,建立了巖石樣本的智能識別與分類模型,克服了傳統(tǒng)方法受主觀因素影響較大等問題。經(jīng)測試,模型擁有較高的識別準確率且具有較好的泛化能力和魯棒性。
本文所提方法的技術(shù)路線如圖1所示。方法分為以下幾個步驟。
圖1 技術(shù)路線
1)數(shù)據(jù)預處理:為了擴充和平衡數(shù)據(jù)集,需要將原始巖石圖片進行切分和數(shù)據(jù)增強。
2)特征提取與分類:通過ResNet50殘差網(wǎng)絡(luò)進行特征提取,并引入了一個全連接網(wǎng)絡(luò)以增強分類性能。
3)模型訓練:使用預處理后的數(shù)據(jù)集對網(wǎng)絡(luò)進行訓練,建立巖性識別與分類模型。
2.2.1 基于ResNet50的特征提取
更深層的網(wǎng)絡(luò)可以提取更高層次的特征。加深網(wǎng)絡(luò)層數(shù)可以提高網(wǎng)絡(luò)性能,但是隨著網(wǎng)絡(luò)層數(shù)的增加,會出現(xiàn)梯度彌散、梯度爆炸以及網(wǎng)絡(luò)的退化等問題。He等[5]提出的殘差網(wǎng)絡(luò)(Residual Network),在卷積層之間添加了跳躍連接,允許信息可以跨越多個隱含層傳播[6],有效緩解了深度神經(jīng)網(wǎng)絡(luò)出現(xiàn)的梯度消失和網(wǎng)絡(luò)退化問題,使得網(wǎng)絡(luò)深度可以達到幾十層甚至上百層。
殘差網(wǎng)絡(luò)的主要結(jié)構(gòu)是殘差單元,其結(jié)構(gòu)如圖2所示。殘差單元中有一個恒等映射,使得輸入特征圖可以不經(jīng)過卷積直接傳遞到輸出,即使增加網(wǎng)絡(luò)深度,誤差也不會增加。由網(wǎng)絡(luò)自行學習并選擇梯度如何傳播,文獻[7]通過實驗驗證101層殘差網(wǎng)絡(luò)中大部分梯度來自淺層網(wǎng)絡(luò)。文獻[8]指出了在殘差網(wǎng)絡(luò)的反向傳播中通過擺脫偏導數(shù)連乘有效解決了梯度彌散和梯度爆炸問題。
圖2 殘差單元
ResNet廣泛應(yīng)用于人臉識別、自動駕駛等領(lǐng)域。常 用 的ResNet網(wǎng) 絡(luò) 模 型 有ResNet18、ResNet50、ResNet101等,網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。本文綜合考量模型的參數(shù)量以及訓練效果,選擇使用ResNet50作為特征提取網(wǎng)絡(luò)。
表1 ResNet體系結(jié)構(gòu)
2.2.2 分類模塊的改進
特征提取模型使用ResNet50殘差網(wǎng)絡(luò),原網(wǎng)絡(luò)的分類模塊是經(jīng)過特征提取后利用全局平均池化(Global Average Pooling)將最后一個卷積層輸出的特征圖轉(zhuǎn)化為2048維向量,最后經(jīng)過輸出層并通過SoftMax回歸輸出各個類別的概率值。
使用全局平均池化代替全連接層可以有效減少網(wǎng)絡(luò)的參數(shù)量,同時可以顯著提高小樣本學習的效果。但是全局平均池化代替全連接層的方法在遷移學習上的效果不佳,考慮是因為在遷移學習中,卷積層的參數(shù)大多被凍結(jié)不進行訓練或只訓練最后幾層。若使用全局平均池化遷移到不同的任務(wù)中,相當一部分卷積層參數(shù)要重新調(diào)整,而使用全連接網(wǎng)絡(luò)進行分類,參數(shù)大多調(diào)整在全連接層。所以在遷移學習中使用全連接層搭建分類模塊往往有更好的效果。
本文對原網(wǎng)絡(luò)的分類器進行了改進,在全局平均池化層后加入了一個全連接網(wǎng)絡(luò),其由兩個全連接層組成,使用ReLU函數(shù)作為激活函數(shù)并加入了BN層。BN層可以加速網(wǎng)絡(luò)訓練和收斂速度,抑制過擬合。ReLU函數(shù)具有單邊抑制特性,有計算簡單、不存在梯度飽和的優(yōu)點[9]。網(wǎng)絡(luò)第一層的輸出節(jié)點數(shù)為2048,第二層的輸出節(jié)點數(shù)為120,最后通過SoftMax回歸輸出各個類別的概率。改進后的網(wǎng)絡(luò)模型如圖3所示。
圖3 網(wǎng)絡(luò)結(jié)構(gòu)
2.2.3 遷移學習
從零開始訓練一個深度神經(jīng)網(wǎng)絡(luò)是一項極其耗時的任務(wù)。模型的訓練需要大量已標注的樣本,而且網(wǎng)絡(luò)要從紋理細節(jié)、邊緣輪廓開始學習,隨著網(wǎng)絡(luò)層數(shù)加深不斷提取更加抽象的特征,學習的過程漫長且復雜。這里引入遷移學習(Transfer Learning)[10]的概念,遷移學習的目標是利用模型在某個領(lǐng)域上學習到的知識,應(yīng)用到不同但是相關(guān)的領(lǐng)域中。從先前任務(wù)中學到的知識,僅需要進行微小的改動即可應(yīng)用到相關(guān)的任務(wù)中,對于一些基本的規(guī)則,模型無需重新學習,大大降低了時間成本。ImageNet數(shù)據(jù)集[11]包含1000類約120萬張圖片,使用在如此大的數(shù)據(jù)集上預訓練好的網(wǎng)絡(luò)模型,可以有效的遷移到各種不同的圖像分類任務(wù)中[12]。本研究使用在ImageNet數(shù)據(jù)集上訓練好的ResNet50殘差網(wǎng)絡(luò)進行巖石圖像的特征提取。
研究使用的公開數(shù)據(jù)集來源于第九屆“泰迪杯”數(shù)據(jù)挖掘挑戰(zhàn)賽B題。圖片為使用工業(yè)相機在錄井現(xiàn)場拍攝的巖屑或巖心照片,部分樣本如圖4所示。
數(shù)據(jù)集包含7類共315張巖石圖片,圖片初始尺寸多為4096像素×3000像素,少量含有背景的圖片尺寸為2448像素×2048像素。巖石圖像的類別與數(shù)量分布如表2所示。
表2 巖石圖像數(shù)量分布
由于原始圖像分辨率過大,若將圖片直接縮放到網(wǎng)絡(luò)模型的輸入尺寸會造成圖片失真,喪失部分信息,影響最終分類效果。因此,本文首先對圖片進行切分以達到縮小圖片尺寸和擴充數(shù)據(jù)集兩個目的。
數(shù)據(jù)集中有部分含有背景的巖石圖片,如果直接切分會產(chǎn)生大量只含背景的圖片。為防止神經(jīng)網(wǎng)絡(luò)學習到背景特征,決定先使用等長寬比裁剪的方式將部分背景去除,再將圖片尺寸縮放到4096像素×3000像素,將處理后的圖片進行等分切割。
本文將4096像素×3000像素大小的原始圖片切分成3×3份,切分后圖片尺寸為1365像素×1000像素。切分效果如圖5所示。
圖5 圖片切分
由于過小的樣本不足以捕捉到足夠的數(shù)據(jù)模式[13],本文還對樣本數(shù)據(jù)進行了數(shù)據(jù)增強以提高模型的泛化能力和減少網(wǎng)絡(luò)的過擬合現(xiàn)象。數(shù)據(jù)增強(Data Augmentation)[14]是指在數(shù)據(jù)集樣本不足的情況下通過對其中部分圖片進行變換并加入到數(shù)據(jù)集中,使得數(shù)據(jù)集更加健壯。一般數(shù)據(jù)增強的方法有隨機旋轉(zhuǎn)圖像、隨機平移、改變圖像亮度、改變色度、改變銳度、鏡像翻轉(zhuǎn)、添加高斯噪聲或椒鹽噪聲等[15]。
原始數(shù)據(jù)集中每類巖石圖像的數(shù)量不同,例如淺灰色細砂巖圖像有85張,而灰色細砂巖圖像只有18張。本文進行數(shù)據(jù)增強既可以擴充數(shù)據(jù)集又可以使得7類圖片數(shù)量分布更加均勻。本文采取隨機平移、隨機旋轉(zhuǎn)、改變亮度、鏡像翻轉(zhuǎn)等方法對巖石圖片進行數(shù)據(jù)增強,部分效果如圖6所示。經(jīng)過上述的數(shù)據(jù)預處理步驟,并按照8.5∶1∶0.5的比例劃分為訓練集、驗證集、測試集。
圖6 數(shù)據(jù)增強示例
本文所構(gòu)建模型使用交叉熵作為損失函數(shù),其計算公式為
其中M為類別總數(shù),yic為指示變量,若該類別與樣本i的類別相同則為1,否則為0;pic為樣本i屬于類別c的預測概率。交叉熵損失函數(shù)是凸函數(shù),可求導得到全局最優(yōu)值。
實驗的評價指標為準確率(Accuracy),即正確預測的樣本個數(shù)所占的比例,計算公式為
本文進行的實驗基于Python3.7及Tensor-Flow2.4.1實驗的部分超參數(shù)設(shè)置如表3所示。
表3 部分超參數(shù)設(shè)置
實驗設(shè)置初始學習率為0.001,訓練迭代50次后模型收斂,若繼續(xù)訓練將導致驗證集準確率下降,判斷為網(wǎng)絡(luò)過擬合。模型訓練過程的損失和準確率曲線如圖7所示。最終模型在測試集上的準確率達到93.93%。
圖7 網(wǎng)絡(luò)訓練過程損失曲線和準確率曲線
本文還設(shè)計實驗比較了1)直接將特征圖打平后經(jīng)過全連接層分類(FC)。2)全局平均池化后直接到輸出層進行分類(GAP)。3)全局平均池化后再使用全連接層進行分類(GAP+FC)。以驗證本文分類模型的效果。三種分類方式驗證數(shù)據(jù)準確率的變化曲線如圖8所示??梢?,直接將輸出特征圖打平后使用全連接網(wǎng)絡(luò)進行分類的效果最差,驗證集準確率為85.95%。全局平均池化后直接到輸出層進行分類的效果略有提升,準確率為86.86%,但相比前者只提升了0.91%,意義不大。本文所用的分類模型結(jié)合了全局平均池化參數(shù)量少和全連接網(wǎng)絡(luò)表達能力強的特點,使得驗證數(shù)據(jù)準確率相比前兩種方法得到一定提升,準確率達到了92.87%,顯著的提升了模型的性能。
圖8 三種分類器的準確率曲線
綜上,本文提出了一種基于ResNet50網(wǎng)絡(luò)模型和遷移學習的巖性識別與分類方法,首先對數(shù)據(jù)集進行圖片切分和數(shù)據(jù)增強,再利用ResNet50殘差網(wǎng)絡(luò)進行特征提取并在原網(wǎng)絡(luò)模型的基礎(chǔ)上引入了一個全連接網(wǎng)絡(luò),準確率對比原模型提高了6.01%。經(jīng)實驗驗證,模型在測試集上的識別準確率可達93.93%,具有較好的泛化能力和魯棒性,實現(xiàn)了巖石樣本的巖性智能識別與分類。另外,由于巖屑的顆粒較小而ResNet50網(wǎng)絡(luò)中部分卷積層的感受野較大,無法提取較為細微的特征,下一步研究將從縮小部分卷積層的感受野入手,并加入通道注意力機制進一步提高識別準確率。