羅崇興,師明元,王正勇*,滕奇志
(1.四川大學電子信息學院,成都 610065;2.河北省地質(zhì)礦產(chǎn)勘查開發(fā)局第六地質(zhì)大隊,石家莊 050080)
在礦產(chǎn)資源勘探和開發(fā)工作中,巖屑錄井是非常重要的一步工作,對巖屑進行準確識別是地質(zhì)勘探人員研究地層特征和地質(zhì)建模的重要基礎(chǔ)和保障。在巖屑采集現(xiàn)場,多種因素的影響,使得采集過程中獲取到的巖屑并不只是一種巖性,而是混合著多種巖性。為更好地分析巖屑巖性,需要對巖屑圖像進行語義分割。隨著科學技術(shù)的發(fā)展,深度學習開始廣泛應用于巖屑圖像語義分割,深度學習的引入加快了巖屑圖像處理速度,提高了巖屑識別的準確率。
自2012 年,AlexNet 模型[1]在ImageNet 比賽上大放光彩,在那之后,深度學習網(wǎng)絡模型層出不窮。2014年,Simonyan 等[2]提出VGG 網(wǎng)絡,采用連續(xù)的小尺寸卷積核代替了較大卷積核,卻存在需要計算更多的參數(shù),對內(nèi)存和時間要求高的問題。之后,Long 等[3]在VGG?16 網(wǎng)絡原有結(jié)構(gòu)基礎(chǔ)上提出全卷積網(wǎng)絡(fully convolu?tional networks,FCN),采用卷積層代替了傳統(tǒng)卷積中的全連接層,使圖像能進行像素級別的語義分割,但是還存在分割結(jié)果粗糙等問題。Chen 等[4]針對語義分割中存在的池化導致信息丟失,標簽之間的概率關(guān)系未利用的問題,基于FCN 網(wǎng)絡提出了DeepLab V1 網(wǎng)絡,在該網(wǎng)絡中引入了全連接條件隨機場(conditional random field,CRF),以改善原始分割結(jié)果不精細的問題,同時利用空洞卷積使網(wǎng)絡在不改變參數(shù)量和計算量的情況下擴大網(wǎng)絡感受野,獲取圖像更多的信息。在那之后,DeepLab 系列不斷發(fā)展,衍生出DeepLab V2[5],DeepLab V3[6]等網(wǎng)絡模型。2015 年,Ronneberger 等[7]基于對稱的編碼器-解碼器結(jié)構(gòu)提出了U?Net 網(wǎng)絡,以方便融合分辨率相同的特征。2015 年,劍橋大學團隊借鑒FCN 網(wǎng)絡和U?Net 網(wǎng)絡,提出SegNet 模型[8],該模型的編碼結(jié)構(gòu)構(gòu)建了最大池化層索引存儲,以內(nèi)存為代價換取輕微的精度損失,解決邊界信息丟失問題。2017 年,香港大學和商湯科技聯(lián)合提出PSPNet 網(wǎng)絡[9],提出了金字塔池化模型,融合不同尺度和不同區(qū)域之間的信息,通過全局先驗信息有效獲取高質(zhì)量的語義分類結(jié)果。Lu 等[10]首次將圖卷積模型應用于分類,通過卷積特征圖構(gòu)建圖結(jié)構(gòu),并將其轉(zhuǎn)化為圖節(jié)點分類問題,解決了卷積神經(jīng)網(wǎng)絡在提取特征的過程中局部位置信息損失的問題。北京大學聯(lián)合商湯科技基于類的動態(tài)圖卷積自適應提出CDGCNet模型[11],利用構(gòu)造圖的動態(tài)圖卷積結(jié)果學習特征聚集和權(quán)重分配,融合原始特征和精煉特征獲取最終預測。He等[12]提出了一種基于協(xié)作學習的多源領(lǐng)域框架,將多標記源模型適應到無標記源中,并用于語義分類。
在巖屑分割領(lǐng)域,2020年,萬川等[13]對U?Net模型進行了改進,并應用于巖屑圖像分割中,運用金字塔池化模塊聚合不同區(qū)域的上下文特征信息,更好地利用了全局信息。2022年,嚴良平等[14]在VGG16的基礎(chǔ)上提出了一種深度圖像引導的巖石顆粒分割算法,利用深度圖像的三維距離信息,提高了巖石圖像的分割精度。
為更好地對巖屑圖像進行語義分割,本文在DeepLabV3+算法上進行改進,并提出了一種改進DeepLabV3+的巖屑圖像語義分割算法。
DeepLabV3+算法采用編碼器-解碼器結(jié)構(gòu)。編碼器主要用于巖屑圖像特征提取,解碼器是將編碼器提取的特征映射到高維空間,以實現(xiàn)圖像像素級別的語義分類,通過反卷積操作不斷恢復圖像的空間維度,從而實現(xiàn)圖像語義分割。
DeepLabV3+的網(wǎng)絡結(jié)構(gòu)如圖1(a)所示,其編碼器部分由Xception[15]和ASPP 模塊[5]組成,Xception是利用若干個大小不同的卷積提取輸入特征,在減小計算量的同時獲取不同感受野,經(jīng)過Xception 模型,圖像分辨率降低為原始圖像的1/16,之后再送入ASPP 模塊。ASPP 模塊如圖1(b)所示,由不同采樣率的空洞卷積并聯(lián)組成,將結(jié)果融合在一起之后,利用1 × 1 的卷積降低輸出的通道數(shù),以實現(xiàn)用多個比例捕捉圖像上下文信息的目的。DeepLabV3+網(wǎng)絡的解碼部分,首先是將輸出的特征圖進行上采樣操作,將特征圖尺寸擴大四倍,之后將該特征圖和低級特征進行拼接融合,最后再進行上采樣,實現(xiàn)圖像語義分割,得到最終預測結(jié)果。
圖1 DeepLabV3+網(wǎng)絡結(jié)構(gòu)及ASPP模塊圖
原始的DeepLabV3+模型使用Xception 特征提取網(wǎng)絡作為主干網(wǎng)絡,但Xception 對模型的參數(shù)規(guī)模和運算速度控制不佳,使得在進行巖屑圖像語義分割的過程中存在參數(shù)量大、推理速度慢的問題,所以本文采用MobileNetV3[5]代替原網(wǎng)絡中的Xception 模塊來提取巖屑圖像特征,在不降低模型精度的同時提高模型的速度。該模型借鑒了MobileNetV1[16]的深度可分離卷積、MobileNetV2[17]的具有線性瓶頸的逆殘差結(jié)構(gòu),并且引入了Squeeze and excitation[18]的輕量級注意力結(jié)構(gòu),采用了一種新的非線性激活函數(shù)h?swish,計算公式如下:
該函數(shù)能減少運算量并提高模型性能。
MobileNetV3 網(wǎng)絡模型的基本模塊bneck 結(jié)構(gòu)如圖2 所示,首先利用1 × 1 的卷積進行升維操作,之后經(jīng)過5 × 5 的深度可分離卷積提取圖像特征,然后利用注意力機制調(diào)整每個通道的權(quán)重,最后再通過1 × 1的卷積降維。
圖2 bneck結(jié)構(gòu)
在神經(jīng)網(wǎng)絡中,模型學習能力越強,需要存儲的信息也就越大,這會引起信息超載。為了更好地引導模型聚焦于巖屑圖像中的重要信息,本文在ASPP 模塊引入了注意力機制EPSANet[19]。如圖3所示,EPSANet能夠有效捕獲不同尺度特征圖的空間信息,同時豐富特征空間,建立長期依賴關(guān)系,進而學習更豐富的特征表示。
圖3 EPSANet
EPSANet 首先將輸入特征圖X拆分為S個部分(X0,X1,…,XS-1),然后利用多尺度卷積核分組卷積提取不同尺度特征圖的空間信息,計算公式如下:
然后將這些特征圖拼接起來,計算公式如下:
最后對這些擁有不同尺度信息的特征圖進行通道注意力權(quán)重加權(quán),計算公式如下:
為更好地交互多尺度通道信息,利用Softmax進一步標定權(quán)重信息,計算公式如下:
這本書內(nèi)容很豐富,有人體之謎、宇宙之謎、地理之謎、天文之謎、生物之謎、科技之謎、動物之謎、歷史之謎等,讓我知道了很多我想知道的問題。
最后將對應的權(quán)重和特征圖進行通道級別的相乘,計算公式如下:
在ASPP模塊中引入EPSANet得到EPSANet?ASPP 模塊,如圖4 所示,能夠引導模型在融合特征時更好地聚焦于巖屑圖像中的重要信息,降低對無關(guān)信息的關(guān)注。
圖4 EPSANet?ASPP模塊
改進DeepLabV3+的巖屑圖像語義分割算法的網(wǎng)絡結(jié)構(gòu)如圖5(a)所示,該模型的編碼器部分 由MobileNetV3 和EPSANet?ASPP 模 塊 組 成,首先經(jīng)過MobileNetV3 提取巖屑圖像特征,在不降低模型精度的同時提高模型的速度,以得到不同尺度的圖像特征;然后將最小尺寸的圖像特征送入EPSANet?ASPP模塊,EPSANet?ASPP模塊如圖5(b)所示,引入EPSANet機制的EPSANet?ASPP 模塊能夠幫助網(wǎng)絡更好地提取出特征中的重要信息,從而更高效地捕獲巖屑圖像中不同尺度信息。
圖5 改進后的DeepLabV3+模型及ERSANet?ASPP模塊圖
由于在特征提取的過程中,低層次的特征包含較多的細節(jié)信息,更容易反映圖像特征,同時目標位置更加準確,但是缺乏語義特征信息。高層次特征具有更多的語義信息,卻只有較少的細節(jié)信息和位置信息。有效融合低級特征和高級特征能更有助于巖屑圖像語義分割,因此,在解碼器部分,本文借鑒FPN[20]的多尺度特征融合思想,在編碼器和解碼器之間構(gòu)建橫向連接,使模型在對特征圖進行上采樣時能夠融合編碼器中MobileNetV3 提取的不同尺度特征,進而獲取更多的圖像細節(jié)信息和更準確的目標位置信息,得到更精細的巖屑圖像語義分割結(jié)果,實現(xiàn)巖屑圖像語義分割。
為更好地評估本文算法性能,本文介紹了幾種常用的語義分割評價指標,在相同的實驗配置條件下,對比分析了7種不同的語義分割網(wǎng)絡在巖屑圖像語義分割數(shù)據(jù)集上的表現(xiàn),分別為Danet[21]、FCN[3]、DeepLabV3+[22]、PSPNet[9]、UNet[7]、UPerNet[23]、HRNet[24]。實驗證明,本文算法具有更高的語義分割精度,優(yōu)于其他對比網(wǎng)絡。
本實驗在Linux 操作系統(tǒng)下進行,實驗使用顯卡型號為NVIDIA GeForce RTX 2080 Ti,處理器為Inter(R)Core(TM)i7?9700 CPU,使用的編程語言是Python3.8.0,深度學習框架為PyTorch1.8.0,CUDA Version為11.1,內(nèi)存為32 GB。
為驗證本文算法的有效性,首先利用巖屑圖像采集設(shè)備采集巖屑圖像,得到尺寸為4000×3750的原始巖屑圖像,部分原始巖屑圖像如圖6所示,共采集巖屑圖像126張,然后通過圖像裁剪、數(shù)據(jù)增強等方法將原始巖屑圖像制作成512×512 的巖屑圖像語義分割數(shù)據(jù)集共9682 張,其中7746 張用于訓練模型,1936 張用于測試模型。實驗數(shù)據(jù)集共有20個類別,其中包含背景和19種巖屑樣本,巖屑種類分別是油斑粉砂巖、紫紅色安山巖、深灰色安山巖、灰綠色安山巖、褐色流紋巖、灰綠色砂巖、含礫粗砂巖、紫灰色泥質(zhì)粉砂巖、灰色粉砂巖、褐色粉砂巖、灰綠色凝灰?guī)r、方解石、石灰?guī)r、頁巖、石英、灰泥巖、灰黑色泥巖、深灰黑色泥巖、棕紅泥巖,部分巖屑樣本展示如圖7所示。
圖6 原始巖屑圖像
圖7 部分巖屑樣本展示
語義分割是對圖像進行像素級別的分類,常用的評價指標有像素準確率(pixel accuracy,PA)、類別平均像素準確率(mean pixel accuracy,mPA)、交并比(intersection over union,IoU)和平均交并比(mean intersection over union,mIoU)。PA是指類別預測正確的像素數(shù)目占總像素的比例,計算公式如下:
mPA是每個類別的PA的求和再平均的值,計算公式如下:
IoU是類別預測結(jié)果和真實結(jié)果的交集與并集的比值,計算公式如下:
mIoU是每個類別IoU的和再平均的結(jié)果,計算公式如下:
其中,Cij代表在巖屑圖像中預測分類為i類、真實分類為j類的總像素數(shù),如當i=j,代表在巖屑圖像中像素點的預測為i類,同時實際值也是i類,這類結(jié)果表示為真;當i!=j,代表在巖屑圖像中像素點的預測是j類,但是實際分類值為i類,這類結(jié)果為假。
3.3.2 消融實驗結(jié)果與分析
為驗證改進的DeepLabV3+巖屑圖像語義分割模型的有效性,分別對MoblieNetV3 模塊,注意力機制EPSANet 模塊和編解碼聯(lián)系模塊進行消融實驗。選取DeepLabV3+網(wǎng)絡模型作為基線模型。在自制的巖屑數(shù)據(jù)集上性能對比結(jié)果如表1所示。
從表1 可以看出,原始的DeepLabV3+網(wǎng)絡在自制巖屑數(shù)據(jù)集上的評價指標mPA為0.68,mIoU僅有0.57;用MoblieNetV3 替換Xception 進行特征提取后,mPA比基線模型提升了0.05,mIoU比基線模型提升了0.03,參數(shù)量減少了10.17 M,速度提升了1.75 s;在ASPP 中加入注意力機制EPSANet 后,mPA比基線模型提升了0.02,mIoU比基線模型提升了0.04;在改進了編解碼聯(lián)系模塊后,mPA比基線模型提升了0.03,mIoU比基線模型提升了0.06。實驗表明,本文所提出的幾個改進方法在性能上相較于原始的DeepLabV3+網(wǎng)絡均有不同程度的提高。
表1 消融實驗的mPA、mIoU、參數(shù)量、單張圖像處理時間對比
3.3.3 與其他模型的比較
表2是不同算法在自制的巖屑圖像語義分割數(shù)據(jù)集下性能對比結(jié)果,其中加粗數(shù)字是橫向比較最優(yōu)結(jié)果。從表2可以看出本文算法在巖屑圖像數(shù)據(jù)集上的mPA為0.78,mIoU為0.68,分割的整體性能優(yōu)于其他對比網(wǎng)絡,具有更高的分割精度。
表2 不同算法的性能對比
為更直觀地比較不同算法的性能表現(xiàn),圖8展示了不同算法在巖屑圖像上語義分割結(jié)果。對比了7種不同的語義分割算法,圖中左上方框中的巖屑是灰綠色砂巖,從圖中可以看出Deep?LabV3+、UNet、UperNet、HRNet 算法將其錯誤識別為灰綠色安山巖。右下方框中的巖屑是深灰色安山巖,Danet、FCN、DeepLabV3+、UNet、UperNet 算法未能很好地區(qū)分該巖屑和背景。從圖8 可以看出,本文改進的DeepLabV3+算法語義分割結(jié)果優(yōu)于對比算法。
圖8 不同模型的語義分割對比圖組1
圖9展示了不同算法在密集巖屑圖像上的語義分割結(jié)果,圖中方框中的巖屑是灰綠色凝灰?guī)r,Danet、DeepLabV3+、PSPNet、UNet、Uper?Net、HRNet 算法將該巖屑的部分像素錯誤分類為灰綠色安山巖。從圖中可以看出,本文算法性能優(yōu)于其他對比算法。
圖9 不同模型的語義分割對比圖組2
本文針對巖屑圖像語義分割問題,利用巖屑采集設(shè)備采集巖屑圖像制成數(shù)據(jù)集,并提出了基于DeepLabV3+算法的改進方法。本文算法首先采用MobileNetV3 作為主干網(wǎng)絡,以快速提取巖屑圖像不同尺度的特征,接著采用融合了EPSANet 的ASPP 網(wǎng)絡,用于有效獲取巖屑圖像的重要信息并更好地融合圖像特征,最后借鑒FPN 思想,在解碼過程中融合編碼提取的不同尺度特征,從而得到更精準的巖屑圖像語義分割結(jié)果。實驗表明,本文算法在自制的巖屑數(shù)據(jù)集上mPA為0.78,mIoU為0.68,分割的整體效果優(yōu)于其他對比網(wǎng)絡,巖屑顆粒的邊緣分割也更加精確。