魏伯陽,潘保芝,殷秋麗,田超國(guó),郭曉雅
(1.吉林大學(xué)地球探測(cè)科學(xué)與技術(shù)學(xué)院,吉林長(zhǎng)春130026;2.冀東油田公司勘探開發(fā)研究院,河北唐山063000;3.鄭州中核巖土工程有限公司,河南鄭州450008)
裂縫由構(gòu)造變形作用或物理成巖作用形成,是在巖石中天然存在的宏觀面狀不連續(xù)[1]。裂縫既是油氣的儲(chǔ)集空間,又是油氣的流動(dòng)通道。裂縫與油氣的儲(chǔ)量和產(chǎn)能息息相關(guān),裂縫識(shí)別是油氣儲(chǔ)量評(píng)價(jià)和產(chǎn)能預(yù)測(cè)的關(guān)鍵。由于地下情況復(fù)雜,盡管目前對(duì)于地層微電阻率掃描成像(formation microscanner image,FMI)圖像中的裂縫已有成熟的識(shí)別技術(shù),但大多是基于人機(jī)交互的方法,人力資源消耗大(耗功耗時(shí))且易受主觀因素影響,因而對(duì)裂縫判斷不夠精確。國(guó)內(nèi)外多位專家和學(xué)者進(jìn)行了裂縫自動(dòng)識(shí)別技術(shù)研究。秦巍等[2]、李雪英等[3]引入圖像處理手段,利用裂縫灰度特性識(shí)別裂縫,實(shí)現(xiàn)了對(duì)地層中簡(jiǎn)單裂縫信息的自動(dòng)識(shí)別。張程恩[4]使用蟻群聚類算法提取成像圖裂縫形態(tài)。唐佳偉[5]使用二維Otsu算法,消除成像圖的噪聲干擾,并且對(duì)提取的裂縫圖像進(jìn)行細(xì)化。張群會(huì)等[6]提出了基于元胞自動(dòng)機(jī)模型的裂縫自動(dòng)識(shí)別算法,確定FMI圖像中裂縫的灰度范圍,利用免疫規(guī)則識(shí)別裂縫。張曉峰等[7]對(duì)FMI圖像進(jìn)行垂直和橫向的小波變換,剔除噪聲的同時(shí)重構(gòu)小波變換圖,最終得到裂縫圖像。潘保芝等[8]提出綜合常規(guī)測(cè)井?dāng)?shù)據(jù)裂縫信息與FMI圖像中裂縫響應(yīng)識(shí)別裂縫區(qū)域。低角度斜交裂縫的形態(tài)在FMI圖像中表現(xiàn)為一個(gè)單周期的正弦曲線,但因?yàn)榈叵陆Y(jié)構(gòu)復(fù)雜(多條裂縫交叉、井壁坍塌等)及儀器自身原因(提升速度變化、壞極板等),造成裂縫面表現(xiàn)為一個(gè)不是完全成正弦曲線的形態(tài),因此給計(jì)算機(jī)自動(dòng)識(shí)別FMI圖像中的裂縫帶來嚴(yán)重干擾。利用成像測(cè)井資料識(shí)別裂縫的方法雖然識(shí)別效果較好,但都存在共同的缺點(diǎn),即裂縫識(shí)別費(fèi)時(shí)費(fèi)力,且識(shí)別的裂縫中包括無效縫[9]。
2006年,HINTON等[10]提出了有效提取數(shù)據(jù)(包括圖像、音頻、文本等)的抽象特征的深度學(xué)習(xí)方法,并對(duì)數(shù)據(jù)進(jìn)行分類與回歸。卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)中的一種重要方法。卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像與圖像間的非線性關(guān)系有良好的表征能力,可以對(duì)圖像抽象出人工難以理解的特征進(jìn)而對(duì)圖像進(jìn)行識(shí)別分類。目前該方法已經(jīng)在基于常規(guī)測(cè)井曲線的測(cè)井?dāng)?shù)據(jù)分類領(lǐng)域取得很高的成功率,如安鵬等[11]應(yīng)用深度學(xué)習(xí)方法劃分9種巖性的準(zhǔn)確率達(dá)90.02%,吳正陽等[12]應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)劃分裂縫性儲(chǔ)層類別與人工解釋結(jié)果也有相當(dāng)高的符合率。由于FMI圖像受井眼、地層等條件的影響,包含的噪聲較多,因此,普通的卷積神經(jīng)網(wǎng)絡(luò)模型難以識(shí)別FMI圖像中的裂縫信息。
2014年,GOODFELLOW等[13]在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上提出生成對(duì)抗網(wǎng)絡(luò)(generative adversarial nets,GAN),通過對(duì)實(shí)際圖片進(jìn)行無監(jiān)督學(xué)習(xí),然后利用噪聲生成與實(shí)際圖片特征相似的圖片。MIRZA等[14]在GAN的基礎(chǔ)上提出條件生成對(duì)抗網(wǎng)絡(luò)(conditional generative adversarial nets,CGAN)。CGAN將條件變量加入到GAN模型的輸入中,將無監(jiān)督的GAN變?yōu)橛斜O(jiān)督模型[14]。本文借助CGAN思想識(shí)別計(jì)算機(jī)模擬的裂縫,介紹了CGAN方法的抗干擾能力,并采用CGAN進(jìn)行了實(shí)際測(cè)井圖像的裂縫識(shí)別。
CGAN是在GAN的基礎(chǔ)上添加條件標(biāo)簽圖像,利用該標(biāo)簽圖像約束生成器從實(shí)際圖像中提取信息,將GAN無監(jiān)督的訓(xùn)練過程變?yōu)橛斜O(jiān)督的訓(xùn)練過程。
GAN由生成器(Generator)和判別器(Discriminator)兩部分組成。GAN損失函數(shù)V(D,G)由生成器最小化損失函數(shù)(minG)和判別器最大化損失函數(shù)(maxD)構(gòu)成:
minGmaxDV(D,G)=Ex~Pdata(x)[log(D(x))]+
Ez~Pz(z)[log(1-D(G(z)))]
(1)
式中:x表示實(shí)際圖像;z表示噪聲圖像;D(x)表示判別器對(duì)實(shí)際圖像的判別值;D(G(z))表示判別器對(duì)生成圖像G(z)的判別值;Pdata(x)表示實(shí)際圖像的分布;Pz(z)表示噪聲圖像分布;Ex~Pdata(x)表示x服從實(shí)際圖像分布取樣的期望;Ez~Pz(z)表示z服從噪聲圖像分布取樣的期望。
生成器是以z作為輸入,對(duì)x通過卷積提取圖像特征信息,將z生成為服從實(shí)際圖像分布的圖像G(z)。生成器的損失函數(shù)V(G)越小,G(z)與x越相似。判別器將G(z)與x同時(shí)作為輸入,判斷G(z)與x是否一致。判別器的損失函數(shù)V(D)在[0,1]之間,當(dāng)V(D)為1時(shí),生成的圖像G(z)與實(shí)際圖像x一致;當(dāng)V(D)為0時(shí),G(z)與x完全不一致。V(D)越大,G(z)與x越相似。判別器使G(z)盡可能相似于x,最終得到D(x)。生成器和判別器不斷博弈,最終使生成器生成的G(z)無限接近于x。
條件生成對(duì)抗網(wǎng)絡(luò)CGAN的損失函數(shù)為:
minGmaxDV(D,G)=Ex~Pdata(x)[log(D(x|y))]+
Ez~Pz(z)[log(1-D(G(z|y)))]
(2)
式中:y表示條件即標(biāo)簽圖像;D(x|y)表示判別器對(duì)實(shí)際圖像x與標(biāo)簽圖像y拼接后的判別值;G(z|y)表示噪聲圖像z與標(biāo)簽圖像y拼接后生成器生成的圖像;D(G(z|y))表示判別器對(duì)于G(z|y)與y拼接后的判別值。從損失函數(shù)((2)式)可以看出,y不僅參與了判別器的輸入,同時(shí)也參與了生成器的輸入。
CGAN也由生成器和判別器兩部分組成(圖1)。生成器以隨機(jī)噪聲圖像z以及裂縫標(biāo)簽圖像y為輸入,生成服從實(shí)際圖像數(shù)據(jù)分布的圖像G(z|y),判別器將G(z|y)與x、y作為輸入,判斷G(z|y)分別與x和y拼接后的判別值是否一致,最終提取出只包含標(biāo)簽特征信息的圖像。
圖2為CGAN單次迭代(單張圖片訓(xùn)練一次)識(shí)別裂縫流程。生成過程首先輸入y和z,將二者數(shù)據(jù)拼接之后變成像素為256*256、層數(shù)為3的圖像(用256*256@3表示)。輸入到生成器,生成器中包含8個(gè)卷積層和8個(gè)反卷積層,輸出通過激發(fā)函數(shù)tanh生成G(z|y)。判別過程將x和y與G(z|y)分別拼接,改變圖像尺寸為256*256@3后輸入到判別器。判別器中包含4個(gè)卷積層,將256*256@3的輸入圖像卷積為32*32@1的特征圖像。通過激發(fā)函數(shù)sigmoid得到D(x|y)。其中輸入x和y到判別器,得到判別器對(duì)實(shí)際圖像的判別結(jié)果,輸入x與G(z|y)到判別器,得到判別器對(duì)生成圖像的判別結(jié)果。
圖1 CGAN識(shí)別裂縫模型
圖2 CGAN單次迭代(單張圖片訓(xùn)練一次)識(shí)別裂縫流程
天然裂縫按角度分為水平縫(傾角<5°)、低角度縫(5°~30°)、中角度縫(30°~75°)、高角度縫(傾角>75°)和豎直縫(傾角=90°)[15]。其中低角度縫、中角度縫及高角度縫在FMI圖像中響應(yīng)為黑色正弦形態(tài),水平縫表現(xiàn)為水平方向黑色直線,豎直縫響應(yīng)為垂向黑色貫穿直線(本文暫不考慮豎直縫)。
使用計(jì)算機(jī)模擬裂縫圖像,模擬不同方位、傾角和寬度的單條裂縫圖片共216張,其中水平縫、低角度縫、中角度縫、高角度縫的圖片分別為36,36,72,72張,如圖3左圖所示。圖3右圖為相應(yīng)的標(biāo)簽圖像。將所有訓(xùn)練圖像訓(xùn)練一次的過程稱為1個(gè)循環(huán)(epoch),本次訓(xùn)練過程經(jīng)過100個(gè)epoch,每個(gè)epoch迭代216次(訓(xùn)練一張圖片視為迭代一次),共迭代21600次,耗時(shí)30min。圖4為CGAN計(jì)算機(jī)模擬裂縫圖像訓(xùn)練結(jié)果,可以看出,訓(xùn)練得到的結(jié)果與標(biāo)簽一致。
利用訓(xùn)練好的CGAN識(shí)別未參與訓(xùn)練的圖像,并觀察CGAN模型的裂縫識(shí)別效果及對(duì)圖像噪聲的抗干擾能力。構(gòu)造的4張裂縫圖像分別為:沿正弦曲線添加了隨機(jī)噪聲、正弦曲線中間斷開、對(duì)整個(gè)圖像添加了隨機(jī)噪聲和2條正弦曲線疊加圖像,如圖5 所示。測(cè)試發(fā)現(xiàn):CGAN對(duì)有噪聲的不規(guī)則正弦曲線(圖5a)和包含脈沖噪聲的圖像(圖5c)有較強(qiáng)的抗干擾能力,識(shí)別結(jié)果和裂縫標(biāo)簽形態(tài)一致;對(duì)疊加裂縫也有良好的識(shí)別結(jié)果(圖5d);在識(shí)別中間斷開的正弦曲線形態(tài)時(shí),得到中間斷開的正弦曲線(圖5b)。分析其原因,認(rèn)為:CGAN強(qiáng)烈依賴訓(xùn)練樣本和標(biāo)簽,而上述訓(xùn)練樣本只包含單條連續(xù)正弦曲線樣本,故不能將中間斷開的正弦曲線識(shí)別為連續(xù)正弦曲線,需要在訓(xùn)練過程中加入斷開的正弦曲線樣本進(jìn)行訓(xùn)練。最后設(shè)置100張各種干擾(沿曲線添加隨機(jī)噪聲、曲線斷開、多條曲線交叉等)下計(jì)算機(jī)模擬裂縫圖像,結(jié)果顯示,CGAN識(shí)別這些圖像中裂縫的準(zhǔn)確率達(dá)93.4%。
圖3 計(jì)算機(jī)模擬裂縫圖像(左)及標(biāo)簽(右)a 水平縫; b 低角度縫; c 中角度縫; d 高角度縫
圖4 CGAN計(jì)算機(jī)模擬裂縫圖像訓(xùn)練結(jié)果a 水平縫; b 低角度縫; c 中角度縫; d 高角度縫
圖5 CGAN計(jì)算機(jī)模擬裂縫識(shí)別結(jié)果a 正弦曲線添加隨機(jī)噪聲; b 正弦曲線中間斷開; c 圖像添加隨機(jī)噪聲; d 多條曲線疊加
將CGAN應(yīng)用于實(shí)際FMI圖像識(shí)別裂縫訓(xùn)練中,并將實(shí)際FMI圖像和相應(yīng)的裂縫標(biāo)簽作為輸入直接進(jìn)行訓(xùn)練。首先利用人機(jī)交互方法提取裂縫標(biāo)簽,共得到162個(gè)訓(xùn)練樣本,其中,單條裂縫圖像124張(水平縫49張,低角度縫62張,中角度縫13張),含兩條及兩條以上裂縫的圖片38張。圖6a、圖6b和圖6c分別代表其水平縫、低角度縫、中角度縫的FMI圖像及標(biāo)簽圖像。
訓(xùn)練過程經(jīng)過500個(gè)epoch,每個(gè)epoch迭代162次,共迭代81000次,耗時(shí)2.5h。圖7展示了其中4張具有代表性的裂縫圖像及其訓(xùn)練結(jié)果,可以看出,CGAN對(duì)水平縫(圖7a)和低角度縫(圖7b)有較好的訓(xùn)練結(jié)果。訓(xùn)練過程中發(fā)現(xiàn)有3處異常,如圖8所示。分析圖8a和圖8c發(fā)現(xiàn),由于裂縫形狀的不規(guī)則或者周圍有微小裂縫與主裂縫連通造成生成的裂縫圖像與標(biāo)簽設(shè)定的裂縫有差異;圖8b中FMI圖像上部分可能存在裂縫但標(biāo)簽中沒有標(biāo)注出該條裂縫。
圖6 FMI裂縫圖像(左)及標(biāo)簽(右)a 水平縫; b 低角度縫; c 中角度縫
圖7 CGAN FMI圖像裂縫訓(xùn)練結(jié)果a 水平縫; b 低角度縫; c 中角度縫; d 多條曲線疊加
圖8 CGAN訓(xùn)練過程判別器異常點(diǎn)a 異常1; b 異常2; c 異常3
可見,設(shè)置標(biāo)簽的準(zhǔn)確性會(huì)影響CGAN的訓(xùn)練結(jié)果和識(shí)別效果。為避免此類異常出現(xiàn),設(shè)置裂縫標(biāo)簽時(shí)應(yīng)盡可能準(zhǔn)確地包含圖像中所有裂縫信息。
用訓(xùn)練好的CGAN識(shí)別10張包含裂縫的圖像,識(shí)別準(zhǔn)確率達(dá)90%,識(shí)別速度為0.19s/張。圖9為訓(xùn)練模型識(shí)別結(jié)果,可見,當(dāng)水平縫與高角度縫交叉時(shí),CGAN對(duì)水平縫也有良好的識(shí)別效果(圖9b);低角度縫周圍的破碎使裂縫變?yōu)椴灰?guī)則的正弦形態(tài),CGAN也可以避開干擾準(zhǔn)確識(shí)別裂縫(圖9c);當(dāng)中角度縫不是正弦形態(tài)的裂縫時(shí),CGAN識(shí)別結(jié)果與標(biāo)簽之間出現(xiàn)一定的差異(圖9d)。分析原因,首先,受客觀條件限制,中角度縫訓(xùn)練樣本相對(duì)較少,其次,中角度縫破碎后裂縫形態(tài)不是正弦形態(tài)且易與其它裂縫形成貫通,因此對(duì)中角度縫的識(shí)別會(huì)有較大誤差。
圖9 FMI圖像CGAN網(wǎng)絡(luò)識(shí)別裂縫結(jié)果a 水平縫; b 水平縫受高角度縫交叉干擾; c 不規(guī)則水平縫; d 不規(guī)則中角度縫
目前采用的FMI圖像資料中截取到的中角度縫圖像較少,因而參與訓(xùn)練的中角度縫圖像較少,使得對(duì)該資料中少量的中角度縫尚不能有良好的識(shí)別效果,需要進(jìn)一步深入研究。由計(jì)算機(jī)模擬裂縫識(shí)別效果可知,在樣本數(shù)據(jù)充足的情況下,采用CGAN對(duì)此類裂縫有良好的識(shí)別效果。
分別采用CGAN和蟻群算法對(duì)FMI圖像進(jìn)行裂縫識(shí)別,結(jié)果如圖10所示。蟻群算法將FMI圖像中黑色區(qū)域在一定范圍內(nèi)聚集為白點(diǎn),然后連接圖像中白點(diǎn)的位置識(shí)別裂縫形態(tài)。CGAN識(shí)別得到的裂縫更連貫,裂縫形態(tài)更直觀。表1為CGAN與蟻群算法識(shí)別單張圖像耗時(shí)對(duì)比結(jié)果(其中,蟻群算法識(shí)別裂縫耗時(shí)研究來自文獻(xiàn)[16],CGAN識(shí)別裂縫耗時(shí)研究來自本文)。蟻群算法識(shí)別裂縫耗時(shí)與螞蟻數(shù)和迭代次數(shù)成正相關(guān)。螞蟻數(shù)和蟻群迭代次數(shù)太少時(shí)不能有效提取裂縫信息,因而限制了有效識(shí)別圖像中裂縫的最短耗時(shí)。在螞蟻數(shù)為3468,迭代次數(shù)為600時(shí),耗時(shí)為28.74s/張。CGAN識(shí)別單張圖像過程耗時(shí)短,平均速度達(dá)到0.19s/張。
圖10 采用本文方法和蟻群算法的裂縫識(shí)別結(jié)果a FMI圖像; b 本文方法識(shí)別裂縫結(jié)果; c 蟻群算法識(shí)別裂縫結(jié)果
表1 CGAN與蟻群算法識(shí)別單張圖像耗時(shí)對(duì)比
本文研究形成了CGAN自動(dòng)識(shí)別裂縫技術(shù),研究結(jié)果表明:
1) CGAN抗噪聲干擾能力強(qiáng)。即使裂縫圖像包含隨機(jī)噪聲,采用CGAN也可以準(zhǔn)確識(shí)別裂縫信息。
2) CGAN識(shí)別FMI圖像低角度縫和水平裂縫準(zhǔn)確率高,實(shí)際成像測(cè)井圖像中裂縫識(shí)別準(zhǔn)確率為90%。識(shí)別圖像速度為0.19s/張,比蟻群算法識(shí)別裂縫速度有大幅度提高,且識(shí)別得到的裂縫形態(tài)更直觀。
3) CGAN的缺點(diǎn)是對(duì)訓(xùn)練樣本和標(biāo)簽的依賴性較高。當(dāng)識(shí)別復(fù)雜形態(tài)裂縫時(shí),設(shè)置的樣本標(biāo)簽對(duì)裂縫識(shí)別的干擾較大。各目標(biāo)訓(xùn)練樣本數(shù)量的均勻程度對(duì)識(shí)別結(jié)果也有影響。
綜合計(jì)算機(jī)模擬裂縫識(shí)別結(jié)果、實(shí)際FMI圖像裂縫識(shí)別結(jié)果及與蟻群算法識(shí)別裂縫結(jié)果對(duì)比可知,CGAN是一種可以自動(dòng)識(shí)別FMI圖像中裂縫的有效方法。目前CGAN只能識(shí)別裂縫,尚不能提取裂縫參數(shù)。下一步要完善訓(xùn)練過程中各形態(tài)的裂縫樣本,再結(jié)合其它深度學(xué)習(xí)方法,提取裂縫各項(xiàng)參數(shù),實(shí)現(xiàn)對(duì)裂縫的自動(dòng)追蹤。