王潤涵,李 兵,滕奇志
(1.四川大學(xué) 電子信息學(xué)院 圖像信息研究所,成都 610065;2.中國石油測井有限公司 技術(shù)中心,西安 710077;3.中國石油天然氣集團(tuán)有限公司測井重點(diǎn)實(shí)驗(yàn)室,西安 710077)
近年來,頁巖氣、致密氣、致密油等非常規(guī)油氣產(chǎn)量快速上升,其勘探開發(fā)受到廣泛關(guān)注[1]。與常規(guī)油氣資源不同,非常規(guī)油氣儲(chǔ)層主要為微納米級孔隙結(jié)構(gòu)。研究巖心微納米級孔隙空間結(jié)構(gòu)對非常規(guī)油氣資源勘探開發(fā)具有重要的指導(dǎo)意義[2-3]。聚焦離子束掃描電鏡(Focused Ion Beam-Scanning Electron Microscope,F(xiàn)IB-SEM)是一種研究非常規(guī)油氣儲(chǔ)層結(jié)構(gòu)的新方法[4],其使用離子束轟擊樣品表面以發(fā)生濺射,再通過電子束觀察表面成像。FIB-SEM 成像技術(shù)可用于恢復(fù)巖心真實(shí)三維孔隙結(jié)構(gòu)圖像[5],但若要進(jìn)一步提取三維孔隙,則需對圖像進(jìn)行物相區(qū)分,使用分割算法提取圖像中的孔隙[6]。受FIBSEM 成像原理影響,目前提取孔隙存在以下問題:由于電子束并非垂直擊中觀察面,樣品觀察面底部接收到的信號比上部弱,因此最終掃描圖像由上至下亮度會(huì)逐漸變暗,導(dǎo)致利用閾值分割等傳統(tǒng)方法進(jìn)行物相分割時(shí)會(huì)產(chǎn)生較大干擾[6];巖心圖像中有機(jī)質(zhì)和黏土礦物等雜質(zhì)的灰度值與孔隙相近,增加了孔隙提取難度;采用FIB-SEM 成像技術(shù)可呈現(xiàn)孔隙內(nèi)部細(xì)節(jié),但電子束作用在孔隙內(nèi)部時(shí)會(huì)使其在圖像上出現(xiàn)局部高亮現(xiàn)象[6],對孔隙的精確提取造成嚴(yán)重干擾。
針對上述問題,研究人員提出眾多解決方案。2012 年,SALZER 等人[7]采用兩階段分割算法提取多孔介質(zhì)的孔隙,對易分割的高光區(qū)域進(jìn)行反向傳播,但要求非孔隙區(qū)域灰度值差異較小,且在巖心FIB-SEM 圖像中存在多種雜質(zhì)干擾的情況下不能有效提取孔隙。2014 年,SALZER 等人[8]又提出一種基于FIB-SEM 圖像在Z方向上灰度值變化情況的孔隙提取方法,但對含有黏土礦物、有機(jī)質(zhì)、巖石等多種雜質(zhì)的巖心圖像,會(huì)錯(cuò)誤提取到雜質(zhì)邊緣,無法精確提取空隙。2016 年,王羽等人[9]分別采用邊緣檢測、流域和手動(dòng)閾值分割方法對頁巖FIB-SEM 圖像進(jìn)行實(shí)驗(yàn),但上述方法具有受孔隙形貌影響較大、無法提取狹縫以及依賴人工選取閾值等缺點(diǎn)。2018 年,戶瑞林等人[10]提出基于主動(dòng)輪廓的巖心FIB-SEM 圖像孔隙提取方法,分割前用人工選擇控制點(diǎn)提取孔隙邊緣,再利用序列圖像的相關(guān)性進(jìn)行形態(tài)學(xué)處理提取圖像孔隙,但需要預(yù)先人工選取輪廓點(diǎn),當(dāng)空隙數(shù)量較多時(shí)人工操作較繁冗,且由于需提取孔隙邊緣,對邊緣不明顯的孔隙無法進(jìn)行精確提取。
近年來,深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在圖像語義分割應(yīng)用方面取得良好的效果[11-13]。為增強(qiáng)有用信息的表達(dá)并優(yōu)化全局特征的依賴關(guān)系,研究人員在深度卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入注意力機(jī)制[14-15]。與傳統(tǒng)圖像語義分割算法相比,基于深度卷積神經(jīng)網(wǎng)絡(luò)的分割算法能更好地提取圖像特征,且采取端到端的分割方式而無需依賴人工處理,目前基于卷積神經(jīng)網(wǎng)絡(luò)的巖心FIBSEM 圖像分割算法較少。
本文提出一種端到端的巖心FIB-SEM 圖像分割算法。建立巖心FIB-SEM 圖像數(shù)據(jù)集,結(jié)合光流法與分水嶺分割法標(biāo)注序列圖像,構(gòu)建基于深度卷積的巖心FIB-SEM 圖像分割網(wǎng)絡(luò),將通道注意力模塊嵌入以殘差網(wǎng)絡(luò)為主干網(wǎng)絡(luò)的編碼器,利用多尺度空間注意力模塊和特征金字塔注意力模塊提取更多特征信息,并使用亞像素卷積模塊通過上采樣恢復(fù)圖像分辨率。
本文為訓(xùn)練巖心FIB-SEM 分割網(wǎng)絡(luò)并對其進(jìn)行定量評價(jià),構(gòu)建巖心FIB-SEM圖像數(shù)據(jù)集,具體流程如下:
1)對巖心FIB-SEM 圖像數(shù)據(jù)庫(包含約15 000張圖像,由多組致密碳酸鹽巖序列圖構(gòu)成)進(jìn)行圖像標(biāo)注,根據(jù)序列圖像的層間相關(guān)性,使用1.2 節(jié)提出的結(jié)合光流與基于標(biāo)記的分水嶺分割的標(biāo)注方法對圖像進(jìn)行標(biāo)注。
2)在上述數(shù)據(jù)庫中隨機(jī)選取質(zhì)量較好的4 264 張圖像,裁剪出含有孔隙結(jié)構(gòu)的區(qū)域,統(tǒng)一尺寸為400 像素×400 像素。
3)從4 264 張圖像中隨機(jī)選取2 602 張圖像和600 張圖像作為訓(xùn)練集與驗(yàn)證集,余下1 062 張圖像作為測試集。
巖心FIB-SEM 圖像示例如圖1(a)所示,實(shí)線圓圈內(nèi)為孔隙區(qū)域,虛線圓圈內(nèi)為有機(jī)質(zhì)或者黏土礦物??梢钥闯觯現(xiàn)IB-SEM 圖像呈現(xiàn)出孔隙內(nèi)部細(xì)節(jié),在電子束的作用下,同一個(gè)孔隙對應(yīng)的區(qū)域灰度值差異明顯,包括灰度值較高的高光部分與灰度值較低的黑洞部分,有機(jī)質(zhì)和黏土礦物呈現(xiàn)出與孔隙相似的灰度分布。該圖像標(biāo)注后所得分割結(jié)果如圖1(b)所示,白色部分代表孔隙區(qū)域,黑色部分代表背景區(qū)域。圖2 為巖心FIB-SEM 圖像數(shù)據(jù)集部分圖像示例,這些圖像中孔隙數(shù)量和灰度分布均不同。
圖1 巖心FIB-SEM 圖像樣本及其分割結(jié)果Fig.1 Sample of core FIB-SEM images and its segmentation result
圖2 部分巖心FIB-SEM 圖像樣本Fig.2 Part of samples of core FIB-SEM images
對于目標(biāo)為語義分割的圖像標(biāo)注任務(wù),常用方法是采用Labelme[16]、Flickr 等圖像標(biāo)注系統(tǒng)手動(dòng)選取目標(biāo)邊界,并對每張圖像進(jìn)行標(biāo)注。上述標(biāo)注系統(tǒng)雖然為手動(dòng)標(biāo)注單張圖像提供便利,但仍需耗費(fèi)較長時(shí)間。
本文所用的巖心FIB-SEM 圖像數(shù)據(jù)集由若干組序列圖構(gòu)成,序列圖之間有較強(qiáng)的層間相關(guān)性,相鄰幀之間的差異不大,孔隙區(qū)域隨幀序列緩慢變化而不會(huì)發(fā)生突變。因此,當(dāng)采用基于標(biāo)記的分水嶺分割方法標(biāo)注第一幀圖像時(shí),可使用光流法跟蹤得到對應(yīng)標(biāo)記點(diǎn)在下一幀中的位置,從而下一幀圖像無需重新選取標(biāo)記點(diǎn),僅調(diào)整不合適的標(biāo)記點(diǎn)位置進(jìn)行分水嶺分割即可,可大量縮短手工標(biāo)注時(shí)間。
光流法的原理是利用序列圖的相關(guān)性及對應(yīng)像素點(diǎn)的變化獲取相鄰兩幀之間關(guān)鍵特征點(diǎn)的對應(yīng)關(guān)系,并由此得到相鄰幀間目標(biāo)物體的運(yùn)動(dòng)信息。Lucas-Kanada 稀疏光流法(以下稱為LK 光流法)是常用的一種光流法,其利用兩幀之間的差分計(jì)算光流[17]。假設(shè)相鄰兩幀中同一個(gè)物體亮度不變,有以下關(guān)系式:
其中,I(x,y,t)為目標(biāo)物體在(x,y)位置和t時(shí)刻的像素值,在t+Δt時(shí)刻該物體位于(x+u,y+v)位置。采用泰勒公式將式(1)展開得到:
簡化式(2)后得到:
將式(3)寫為矩陣形式為:
文獻(xiàn)[19-20]提出基于標(biāo)記的分水嶺分割方法,對圖像中目標(biāo)區(qū)域進(jìn)行標(biāo)記,該標(biāo)記會(huì)將此區(qū)域強(qiáng)制修改為梯度圖像的極小值區(qū)域。通常在目標(biāo)區(qū)域和背景區(qū)域設(shè)置標(biāo)記,再采用分水嶺分割方法分割出目標(biāo)與背景。
本文將光流跟蹤與基于標(biāo)記的分水嶺分割方法相結(jié)合作為圖像標(biāo)注方法,如圖3 所示。
圖3 本文圖像標(biāo)注方法流程Fig.3 Procedure of the proposed image annotation method
該方法具體流程如下:
1)手動(dòng)選擇標(biāo)記點(diǎn)作為改進(jìn)LK 光流法的特征點(diǎn)(見圖4),這些標(biāo)記點(diǎn)同時(shí)作為分水嶺分割方法的標(biāo)記點(diǎn),圖4中實(shí)心標(biāo)記處為孔隙目標(biāo),空心標(biāo)記處為背景。
圖4 手動(dòng)選取的標(biāo)記點(diǎn)Fig.4 Manually selected mark points
2)使用分水嶺分割方法得到分割后的圖像,如圖5所示。若該圖像經(jīng)人工判別可作為標(biāo)注圖像,則進(jìn)行步驟3;否則手動(dòng)修正標(biāo)記點(diǎn),再次重復(fù)步驟2。圖6 為手動(dòng)修正標(biāo)記點(diǎn)前后的情況。其中,分割后的圖像左上角缺少背景標(biāo)記(見圖6(a)),導(dǎo)致左上角被分割為孔隙(見圖6(b)),經(jīng)過手動(dòng)修正標(biāo)記點(diǎn)(見圖6(c)),得到最終分割結(jié)果(見圖6(d))。
圖5 分水嶺分割方法的分割結(jié)果Fig.5 Segmentation result of watershed segmentation method
圖6 手動(dòng)修正標(biāo)記點(diǎn)前后的情況Fig.6 The situation before and after manual correction of mark points
3)若當(dāng)前圖像為最后一幀,則整個(gè)流程結(jié)束;否則使用改進(jìn)LK 光流法跟蹤當(dāng)前圖像標(biāo)記點(diǎn),得到下一幀圖像標(biāo)記點(diǎn)。由于有些標(biāo)記點(diǎn)不滿足改進(jìn)LK光流法的跟蹤要求,在下一幀圖像上這些標(biāo)記點(diǎn)會(huì)消失,因此需重復(fù)步驟2 再次調(diào)整。圖7 為使用改進(jìn)LK 光流法所得連續(xù)5 幀圖像的標(biāo)記點(diǎn),其中半透明線段標(biāo)記處為標(biāo)記點(diǎn)移動(dòng)軌跡。
圖7 連續(xù)5 幀圖像的標(biāo)記點(diǎn)Fig.7 Mark points of five consecutive frames
本文提出一種巖心FIB-SEM 圖像分割算法,其流程如圖8 所示,算法具體如下:
1)利用殘差通道注意力(Residual Channel Attention,Res-CA)模塊提取特征。
2)解碼部分使用多尺度空間注意力(Multiscale Spatial Attention,MSA)模塊以得到更精確的目標(biāo)區(qū)域。
3)利用改進(jìn)的特征金字塔注意力(Feature Pyramid Attention,F(xiàn)PA)模塊提取不同尺度特征信息。
4)采用亞像素卷積(Sub-Pixel Conv)模塊解碼部分的上采樣以準(zhǔn)確獲取分割邊緣。
圖8 本文算法流程Fig.8 Procedure of the proposed algorithm
2.1.1 殘差通道注意力模塊
由于特征圖每個(gè)通道被視為特征檢測器,因此利用通道注意力機(jī)制重點(diǎn)關(guān)注最能代表輸入圖像特征的通道。將通道注意力(Channel Attention,CA)模塊[15](見圖9)嵌入ResNet 50 網(wǎng)絡(luò)得到殘差通道注意力模塊(見圖10),即將ResNet 50 中卷積層(Conv)的輸出作為CA 的輸入特征(Input Feature)圖,并與CA 的輸出相加,其結(jié)果輸入至ReLu 激活函數(shù),即完成通道注意力模塊的嵌入。
圖9 通道注意力模塊Fig.9 Channel attention module
圖10 殘差通道注意力模塊Fig.10 Residual channel attention module
令輸入特征圖F∈RC×H×W,其中C、H和W分別表示特征圖的通道數(shù)、高度和寬度,通道注意力模塊一維特征權(quán)重將輸入的特征圖與權(quán)重向量相乘得到通道注意力模塊輸出為:
通道注意力模塊通過平均池化(AvgPool)和最大池化(MaxPool)獲取特征圖空間信息,生成兩個(gè)不同的空間上下文特征向量:平均池化特征和最大池化特征,將其輸入到共享網(wǎng)絡(luò),具有隱藏層的多層感知機(jī)(Multi-Layer Perceptron,MLP)組成該共享網(wǎng)絡(luò),即共享MLP(Shared MLP)。為減少參數(shù)開銷,隱藏層大小設(shè)置為RC/r×1×1,其中r=8 為縮小因子。將從共享MLP 輸出的兩個(gè)特征向量逐像素相加進(jìn)行合并,計(jì)算公式為:
其中,σ為Sigmoid 激活函數(shù),W0∈RC/r×C和W1∈RC×C/r分別為兩個(gè)輸入特征向量共享MLP 的權(quán)重參數(shù)。
2.1.2 多尺度空間注意力模塊
在解碼階段,將空間注意力(Spatial Attention,SA)模塊[15](見圖11)嵌入多尺度特征融合結(jié)構(gòu)得到多尺度空間注意力模塊(見圖12),以此作為對通道注意力模塊的補(bǔ)充??臻g注意力更重點(diǎn)關(guān)注特征圖中對圖像特征貢獻(xiàn)程度較大的部位。在多尺度特征融合結(jié)構(gòu)中,低、高層卷積特征分別包含較豐富的位置信息與語義信息[21-22]。為得到位置細(xì)節(jié)詳細(xì)且語義信息豐富的魯棒特征,將低層卷積特征信息逐像素的與高層卷積特征信息相加,同時(shí)為防止空間注意力模塊學(xué)習(xí)到的權(quán)重向量值過小,添加與殘差網(wǎng)絡(luò)塊相似的連接結(jié)構(gòu)以得到更多不同尺度的特征信息。
圖11 空間注意力模塊Fig.11 Spatial attention module
圖12 多尺度空間注意力模塊Fig.12 Multi-scale spatial attention module
對于輸入的特征圖F,將平均池化特征和最大池化特征級聯(lián)后經(jīng)過卷積層,并輸入至Sigmoid 激活函數(shù)激活,使空間注意力模塊獲得特征圖權(quán)重向量,表達(dá)式為:
其中,f7×7表示用7×7 的卷積核進(jìn)行卷積。將輸入特征圖與權(quán)重向量相乘后得到空間注意力模塊輸出:
對于多尺度空間注意力模塊,其輸入為低級特征圖(Low Level Feature Map)Flow和高級多尺度空間注意模塊的輸出(High Level MSA Output)兩者尺寸相同均為RC×H×W。多尺度空間注意力模塊最終輸出為C'、H'和W'分別為下一級低級特征圖的通道數(shù)、高度和寬度。將Flow和逐像素相加后輸入空間注意力模塊得到低級特征圖通過跳躍連接與空間注意力模塊相加,再通過大小為2×2、步長(Stride)為2 的反卷積層進(jìn)行通道降維和上采樣,計(jì)算公式為:
值得注意的是,在圖8 中Res-CA-4 對應(yīng)的MSA 模塊內(nèi),由于不改變特征圖大小,因此無需在反卷積層進(jìn)行上采樣。
特征金字塔結(jié)構(gòu)可提取不同尺度的特征信息并進(jìn)行融合,PSPNet[23]、Deeplab[13]等網(wǎng)絡(luò)均采用了該結(jié)構(gòu)。其中,PSPNet 在不同尺度特征上進(jìn)行池化操作會(huì)丟失部分像素位置信息,在Deeplab 的金字塔結(jié)構(gòu)中,若采用空洞卷積則會(huì)丟失部分局部信息并導(dǎo)致出現(xiàn)網(wǎng)格現(xiàn)象。為解決該問題,研究人員提出特征金字塔注意力模塊,如圖13 所示。
圖13 特征金字塔注意力模塊Fig.13 Feature pyramid attention module
在FPA 中的卷積分支中,由于使用較大卷積核進(jìn)行卷積,導(dǎo)致網(wǎng)絡(luò)參數(shù)量過多,計(jì)算負(fù)擔(dān)增大,因此改進(jìn)此模塊以減少參數(shù)量并加快計(jì)算速度。在Inception模塊[24]基礎(chǔ)上改進(jìn)如下:1)對于5×5 卷積塊,采用堆疊兩個(gè)3×3 卷積進(jìn)行替換;2)對于7×7 卷積塊,替換為將輸入特征分別進(jìn)行7×1 卷積和1×7卷積,再級聯(lián)(Concatenate)并采用1×1 卷積進(jìn)行降維,最終得到改進(jìn)的特征金字塔注意力模塊,如圖14 所示。
圖14 改進(jìn)的特征金字塔注意力模塊Fig.14 Improved feature pyramid attention module
亞像素卷積[25]模塊廣泛用于超分辨率重建領(lǐng)域。語義分割網(wǎng)絡(luò)在解碼階段通常使用雙線性插值、反池化以及反卷積等方法進(jìn)行上采樣,但雙線性插值與反池化無法較好地恢復(fù)精細(xì)的目標(biāo)邊界,反卷積方法計(jì)算量大且計(jì)算效率較低。亞像素卷積是對特征圖像的特征通道進(jìn)行重新排列,不包含插值和卷積操作,不會(huì)丟失邊界信息且計(jì)算較簡單。由于巖心FIB-SEM 圖像中孔隙邊緣復(fù)雜,要求提取的邊緣較精細(xì),因此本文采取亞像素卷積模塊進(jìn)行上采樣來恢復(fù)圖像分辨率,具體操作為:輸入低分辨率圖像ILR∈R1×H×W,其中l(wèi)、H、W分別為圖像的通道數(shù)、高度和寬度,采用兩個(gè)步長為1/r的卷積層f1和f2提取ILR的特征,得到特征圖特征通道數(shù)增大為r2,重新排列該特征圖的通道得到恢復(fù)分辨率后的圖像ISR∈R1×rH×rW,表達(dá)式為:
其中,PS為周期性排列算子,其將維數(shù)為C×r2×H×W的向量T重新排列為C×rH×rW的向量,表達(dá)式為:
其中,x、y為所輸出高分辨率圖像的坐標(biāo)索引,c為所輸出高分辨率圖像的通道索引。
為評估本文提出的巖心FIB-SEM 圖像分割算法的分割精度及分割速度,本文進(jìn)行一系列消融實(shí)驗(yàn)分別評估殘差注意力模塊、多尺度空間注意力模塊、特征金字塔注意力模塊和亞像素卷積模塊的性能,并將本文算法與目前主流的分割算法以及傳統(tǒng)FIB-SEM圖像分割算法進(jìn)行對比。
本文構(gòu)建巖心FIB-SEM 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集中2 602 張圖像為訓(xùn)練集,600 張圖像為驗(yàn)證集,1 062 張圖像為測試集。為擴(kuò)充數(shù)據(jù)集并避免過擬合問題,通過旋轉(zhuǎn)變換、投影變換、平移變換和翻轉(zhuǎn)變換對數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)處理,如圖15 所示,采用鏡像填充作為像素填充方式,最終將數(shù)據(jù)集擴(kuò)大8 倍。
圖15 數(shù)據(jù)集擴(kuò)充圖例Fig.15 Legend of extended dataset
本文實(shí)驗(yàn)采用Intel?i7-7700K CPU 4.20 GHz 處理器、16 GB 內(nèi)存、NVDIA GTX 1060 6 GB GPU 以及Ubuntu 16.04 操作系統(tǒng)、Python 3.6 編程語言和Keras 2.2.4 深度學(xué)習(xí)庫。超參數(shù)設(shè)置如下:對于所有網(wǎng)絡(luò)層的權(quán)重值,使用均值為0、標(biāo)準(zhǔn)差為的高斯分布進(jìn)行初始化,其中,N為某一個(gè)神經(jīng)元節(jié)點(diǎn)的輸入節(jié)點(diǎn)個(gè)數(shù);受顯存限制,batch_size 設(shè)置為4,steps_per_epoch 設(shè)置為800。使用Adam 優(yōu)化器進(jìn)行反向傳播更新參數(shù),初始學(xué)習(xí)率為1.0×10-4,該優(yōu)化器其他參數(shù)為默認(rèn)值。
本文選擇交叉熵函數(shù)作為損失函數(shù),先使用Softmax 函數(shù)處理網(wǎng)絡(luò)最后的特征圖層,將Softmax函數(shù)的輸出與真實(shí)標(biāo)注數(shù)據(jù)作為交叉熵函數(shù)的輸入,交叉熵函數(shù)的輸出即為損失值。Softmax 函數(shù)定義為:
交叉熵函數(shù)定義為:
其中,p'j為真實(shí)標(biāo)簽,pj為采用Softmax 函數(shù)得到的屬于類別j的概率。
因?yàn)閿?shù)據(jù)集中存在較多孔隙區(qū)域占比遠(yuǎn)小于背景區(qū)域的圖像,使用像素精度(Pixel Accuracy,PA)無法準(zhǔn)確描述模型性能,會(huì)存在PA 值很高但是少數(shù)類別樣本分錯(cuò)的情況。因此,本文使用平均像素精度(Mean Pixel Accuracy,MPA)、平均交并比(Mean Intersection over Union,MIoU)、精確率(Precision)、召回率(Recall)和F1 值作為分割精度的評價(jià)指標(biāo),計(jì)算公式如下:
其中,ITP表示正確預(yù)測的孔隙處像素點(diǎn)個(gè)數(shù),ITN表示正確預(yù)測的背景處像素點(diǎn)個(gè)數(shù),IFP表示將背景預(yù)測為孔隙部分的像素點(diǎn)個(gè)數(shù),IFN表示將孔隙預(yù)測為背景部分的像素點(diǎn)個(gè)數(shù)。
圖16 給出本文所提算法的網(wǎng)絡(luò)模型在訓(xùn)練過程中訓(xùn)練損失的變化情況。可以看出,采用Adam 優(yōu)化器使損失值迅速降低,并在迭代35 次后趨于穩(wěn)定。驗(yàn)證損失和訓(xùn)練損失曲線下降趨勢相近且收斂趨于平穩(wěn),訓(xùn)練過程無過擬合現(xiàn)象,且泛化能力良好。
圖16 訓(xùn)練損失變化情況Fig.16 The situation of Changes in training losses
為證明本文提出的殘差注意力模塊、多尺度空間注意力模塊、特征金字塔注意力模塊和亞像素卷積模塊對孔隙提取的有效性,進(jìn)行消融實(shí)驗(yàn)比較上述模塊對結(jié)果的影響。其中,ResNet50 作為不加入上述模塊的基本網(wǎng)絡(luò)用Baseline(其結(jié)構(gòu)見圖17)表示,上采樣采用雙線性插值Bilinear。實(shí)驗(yàn)結(jié)果如表1 所示,可以看出本文提出的模型各項(xiàng)指標(biāo)值均最高,各模塊均能有效提升孔隙的提取精度。其中:Res-CA 和MSA 模塊通過使用注意力機(jī)制將網(wǎng)絡(luò)注意力集中在孔隙特征部分;改進(jìn)的FPA 模塊使用金字塔結(jié)構(gòu)進(jìn)一步提取特征信息;亞像素卷積模塊使孔隙邊緣更加精確。
圖17 Baseline 結(jié)構(gòu)Fig.17 Baseline structure
表1 不同模型對實(shí)驗(yàn)結(jié)果的影響Table 1 Effects of different models on experimental results %
將加入不同模塊后模型所需的參數(shù)量、其對每張圖像的運(yùn)行時(shí)間(若運(yùn)行時(shí)間短則分割速度快)以及得到的分割精度進(jìn)行對比,結(jié)果如表2 所示(Deconv 表示使用反卷積進(jìn)行上采樣)。可以看出:Baseline+Res-CA+MSA 所需參數(shù)量和運(yùn)行時(shí)間較Baseline 更多,但其MIoU 值更高;Baseline+改進(jìn)的FPA 所需參數(shù)量和運(yùn)行時(shí)間較Baseline+FPA 更少,且MIoU 值接近,說明使用較小卷積核替代較大卷積核具有一定的效果;Baseline+Sub-Pixel Conv 所需參數(shù)量和運(yùn)行時(shí)間、分割精度都優(yōu)于Baseline 和Baseline+Deconv,其得到的孔隙邊緣更精確。本文模型包含上述各個(gè)模塊,在降低參數(shù)量與運(yùn)行時(shí)間的同時(shí),達(dá)到最佳的分割效果。
表2 不同模型在性能上的對比實(shí)驗(yàn)Table 2 Comparative experiments on the performance of different models
3.7.1 本文算法與傳統(tǒng)分割算法的對比
傳統(tǒng)的巖心FIB-SEM 圖像分割算法包括傳統(tǒng)閾值分割算法和基于主動(dòng)輪廓的巖心FIB-SEM 分割算法[10](以下稱為文獻(xiàn)[10]算法)。將本文算法與上述兩種傳統(tǒng)分割算法的分割精度進(jìn)行對比。由于文獻(xiàn)[10]算法以序列圖像的相關(guān)性為基礎(chǔ)且需要手動(dòng)標(biāo)記輪廓,因此在測試集中選取80 幀序列圖像進(jìn)行實(shí)驗(yàn),手動(dòng)標(biāo)記出第1 幀序列圖像中孔隙區(qū)域的輪廓。該方法每次只能處理1 個(gè)孔隙連通域,若要處理多個(gè)孔隙區(qū)域,則需多次提取再疊加得到最終結(jié)果。
圖18為上述3種算法的分割結(jié)果對比情況。其中:第1 行從左到右分別為第1 幀、第15 幀、第30 幀具有真實(shí)孔隙標(biāo)簽的原圖;第2 行從左到右分別為采用閾值分割算法對第1 幀、第15 幀、第30 幀圖像進(jìn)行分割得到的結(jié)果,該結(jié)果通過手動(dòng)選擇提取灰度值為0~43 和111~255 的區(qū)域獲得;第3 行從左到右分別為采用文獻(xiàn)[10]算法對第1 幀、第15 幀、第30 幀圖像進(jìn)行分割得到的結(jié)果,具體分割過程為:分別手動(dòng)標(biāo)記5 個(gè)孔隙區(qū)域的輪廓(見圖18 第3 行左起第1 張圖),由于每次只能提取1 個(gè)孔隙區(qū)域,將5 次運(yùn)行算法得到的區(qū)域疊加得到最終分割結(jié)果,區(qū)域灰度權(quán)重a=0.5,區(qū)域面積權(quán)重b=1,結(jié)構(gòu)元半徑為5。圖18第4行從左到右分別為采用本文算法對第1 幀、第15 幀、第30 幀圖像進(jìn)行分割得到的結(jié)果。
圖18 本文算法與傳統(tǒng)分割算法分割結(jié)果對比Fig.18 Comparison of segmentation results between the proposed algorithm and traditional segmentation algorithms
由圖18 可以看出:傳統(tǒng)閾值分割算法得到的孔隙有高光現(xiàn)象,孔隙暗部與基質(zhì)灰度相差不大且FIB-SEM圖像整體灰度不均,會(huì)同時(shí)提取孔隙和基質(zhì),無法對孔隙進(jìn)行有效提取;文獻(xiàn)[10]算法對初始幾幀序列圖像分割效果較好,但無法精確分割孔隙邊緣及細(xì)長孔隙區(qū)域,且對序列圖像中逐漸分離為兩部分的孔隙(見圖18 第3 行左起第2 張圖下方2 個(gè)孔隙),無法跟蹤其變化并分割,同時(shí)基于邊緣信息判斷輪廓變化,未考慮目標(biāo)區(qū)域的灰度特征信息,造成在后續(xù)序列圖像中將基質(zhì)邊緣誤判為孔隙邊緣而進(jìn)行過度分割(見圖18第3行左起第3 張圖頂部),且隨著序列圖像的變化,被誤判為孔隙區(qū)域的輪廓會(huì)不斷擴(kuò)大,導(dǎo)致無法正確提取孔隙,因此,文獻(xiàn)[10]算法只能有效提取少量序列圖像中相對變化不大的孔隙;本文算法采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行端到端的孔隙分割,無需手動(dòng)標(biāo)記,可有效分割出孔隙區(qū)域,并實(shí)現(xiàn)較細(xì)小孔隙區(qū)域的完整分割,孔隙分割精度高于傳統(tǒng)分割算法。
表3 為3 種算法對每張圖像的運(yùn)行時(shí)間以及所得MIoU 值的對比情況。其中,文獻(xiàn)[10]算法將提取1 個(gè)孔隙的平均時(shí)間作為分割每張圖像的運(yùn)行時(shí)間??梢钥闯觯何墨I(xiàn)[10]算法由于使用主動(dòng)輪廓算法尋找孔隙邊緣并利用形態(tài)學(xué)進(jìn)行后處理,因此運(yùn)行時(shí)間較長;本文算法使用卷積神經(jīng)網(wǎng)絡(luò)對每個(gè)像素點(diǎn)進(jìn)行分類,在很大程度上縮短了運(yùn)行時(shí)間。
表3 3 種算法的實(shí)驗(yàn)結(jié)果對比Table 3 Comparison of experimental results of three algorithms
3.7.2 本文算法與主流分割算法的對比
將本文算法與PSPNet[23]、SegNet[26]、FCN-8s[11]、U-Net[12]、RefineNet[27]、BiseNet[28]以及DeeplabV3+[13]等主流分割算法的分割精度進(jìn)行對比。其中,F(xiàn)CN-8s和SegNet采用VGG-16 作為主干網(wǎng)絡(luò),PSPNet 和RefineNet 采用ResNet50 作為主干網(wǎng)絡(luò),DeeplabV3+采用xception 作為主干網(wǎng)絡(luò)。
圖19 和圖20 分別為本文算法與上述主流分割算法對巖心FIB-SEM 圖像數(shù)據(jù)集中第30幀和第70幀圖像的分割效果對比(紅色區(qū)域代表真實(shí)標(biāo)簽,黃色區(qū)域代表預(yù)測正確的孔隙區(qū)域,綠色區(qū)域代表預(yù)測為孔隙但實(shí)際為背景的區(qū)域,彩色效果參見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。
圖19 不同算法對第30 幀圖像的分割效果Fig.19 Segmentation effect of different algorithms on the 30th frame image
由圖19 可以看出:PSPNet、SegNet、FCN-8s、RefineNet 和BiseNet 算法對于小目標(biāo)分割效果較差,未提取出圖像中左側(cè)和中部細(xì)長的孔隙;U-Net 算法對大孔隙中與基質(zhì)灰度值接近的區(qū)域分割不準(zhǔn)確;DeeplabV3+算法采用ASPP 模塊對細(xì)節(jié)分割較準(zhǔn)確;本文算法由于采用注意力模塊并在使用亞像素卷積模塊進(jìn)行上采樣,因此對于小目標(biāo)提取精度更高,可獲取更準(zhǔn)確的目標(biāo)邊緣。由圖20 中各分割算法對左側(cè)孔隙下方和中部孔隙下方的分割結(jié)果可以看出,本文算法對細(xì)節(jié)部分的分割精度更高。
圖20 不同算法對第70 幀圖像的分割效果Fig.20 Segmentation effect of different algorithms on the 70th frame image
將本文算法與上述主流分割算法所需的參數(shù)量與運(yùn)行時(shí)間進(jìn)行對比,結(jié)果如表4 所示。本文算法因?yàn)榧尤肓俗⒁饬δK和金字塔模塊,所以參數(shù)量要多于U-Net、PSPNet、SegNet 和BiseNet 算法,而金字塔模塊使用多個(gè)小卷積核級聯(lián)代替原卷積核,因此本文算法參數(shù)量少于FCN-8s 算法。在運(yùn)行時(shí)間上,為得到更精確的結(jié)構(gòu),本文算法運(yùn)行時(shí)間比U-Net、SegNet 和BiseNet 算法更長,但引入亞像素卷積模塊進(jìn)行上采樣,在一定程度上縮短了運(yùn)行時(shí)間。表5 為本文算法與上述主流分割算法的實(shí)驗(yàn)結(jié)果對比??梢钥闯?,本文算法可對孔隙區(qū)域進(jìn)行精確分割,其評價(jià)指標(biāo)值均高于其他主流算法。
表4 不同算法的參數(shù)量與運(yùn)行時(shí)間對比Table 4 Comparison of parameter quantity and running time of different algorithms
表5 不同算法的實(shí)驗(yàn)結(jié)果對比Table 5 Comparison of experimental results of different algorithms %
針對傳統(tǒng)巖心FIB-SEM 圖像分割算法提取孔隙需人工標(biāo)記且分割精度較低的問題,本文提出一種利用卷積神經(jīng)網(wǎng)絡(luò)的端到端圖像分割算法。采用光流法與分水嶺分割圖像標(biāo)注法構(gòu)建巖心FIB-SEM 數(shù)據(jù)集,將殘差通道注意力模塊、多尺度空間注意力模塊以及特征金字塔模塊嵌入分割網(wǎng)絡(luò)并采用亞像素卷積模塊進(jìn)行上采樣。實(shí)驗(yàn)結(jié)果表明,和閾值分割算法、基于主動(dòng)輪廓的巖心FIB-SEM 圖像分割算法相比,該算法分割結(jié)果更精準(zhǔn)且無需人工操作。然而本文算法引入復(fù)雜的注意力模塊與金字塔模塊導(dǎo)致網(wǎng)絡(luò)參數(shù)量較大且計(jì)算效率不高,后續(xù)將引入輕量級卷積網(wǎng)絡(luò),進(jìn)一步提高計(jì)算效率與分割精度。