潘少偉,琚澤彬,林師瑤,蔡文斌
(1. 西安石油大學(xué)計(jì)算機(jī)學(xué)院,陜西 西安 710065;2. 中國(guó)石油集團(tuán)川慶鉆探工程有限公司川西鉆探公司,四川 成都 610051;3. 西安石油大學(xué)石油工程學(xué)院,陜西 西安 710065)
巖心是根據(jù)油氣田地質(zhì)工作需要,使用環(huán)狀鉆頭從取心井內(nèi)取出的圓柱狀巖石樣品。巖心的分析化驗(yàn)在油氣田地質(zhì)研究中具有重要的作用,礦物性質(zhì)和多孔介質(zhì)滲流特性多是通過(guò)巖心分析獲得。巖心分類是確定其礦物性質(zhì)和多孔介質(zhì)滲流特性的前提,也是油氣田開(kāi)展基礎(chǔ)地質(zhì)研究工作的開(kāi)始。在傳統(tǒng)的巖心分類工作中,通常是由人工查看巖心鑄體薄片圖像然后對(duì)它們分類[1]。這種依靠油田研究人員知識(shí)和經(jīng)驗(yàn)對(duì)巖心鑄體薄片圖像分類的方法主觀性較強(qiáng)、正確率較低、重復(fù)性較高。
近年來(lái),越來(lái)越多的學(xué)者將機(jī)器學(xué)習(xí)應(yīng)用于圖像分類中[2-6],并且涉及諸多研究領(lǐng)域。具體有:許鑫等利用支持向量機(jī)(Support Vector Machine,SVM)對(duì)剪紙圖像進(jìn)行分類[2];楊學(xué)斌等采用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)對(duì)藏文圖像識(shí)別與分類[3];常政威等通過(guò)梯度方向直方圖和支持向量機(jī)對(duì)闖入警戒區(qū)域的人員進(jìn)行捕獲[4];Okwuashi等在高光譜圖像分類中引入支持向量機(jī)[5];Meher將具有知識(shí)編碼粒度空間的深層自動(dòng)編碼器神經(jīng)網(wǎng)絡(luò)應(yīng)用于遙感圖像的分類[6]。機(jī)器學(xué)習(xí)在當(dāng)前的巖石圖像分類中也得到了廣泛應(yīng)用:張蕊等提出一種對(duì)巖石表面指紋圖譜分析及分類的方法[7];白林等基于深度學(xué)習(xí)方法,建立應(yīng)用于巖心鑄體薄片圖像分類的VGG模型[8];張野等采用Inception-V3深度卷積網(wǎng)絡(luò)模型和遷移學(xué)習(xí)方法,建立巖石巖性的自動(dòng)分類模型[9];張艷等利用貝葉斯分類方法對(duì)巖心鑄體薄片圖像進(jìn)行分析[10]。上述機(jī)器學(xué)習(xí)方法在一定程度上提高了巖石圖像分類的效率與準(zhǔn)確率,但仍存在不足:傳統(tǒng)機(jī)器學(xué)習(xí)方法的分類準(zhǔn)確率較低,而深度學(xué)習(xí)方法又需要大量的數(shù)據(jù)樣本,無(wú)形中增加了構(gòu)建巖石圖像分類模型的難度。
支持向量機(jī)是一種廣泛應(yīng)用于統(tǒng)計(jì)分類與回歸分析的機(jī)器學(xué)習(xí)方法,它具有分類思想簡(jiǎn)單、計(jì)算速度快、所需樣本量少等優(yōu)點(diǎn)。因此,本文在利用方向梯度直方圖(Histogram of Oriented Gradient,HOG)提取巖心鑄體薄片圖像中孔隙輪廓信息和喉道輪廓信息的基礎(chǔ)上,引入支持向量機(jī)作為巖心鑄體薄片圖像的分類器,同時(shí)采用遺傳算法來(lái)優(yōu)化支持向量機(jī)的關(guān)鍵參數(shù),確定它們最優(yōu)的取值組合,最終實(shí)現(xiàn)對(duì)研究區(qū)大孔粗喉、中孔中喉和小孔細(xì)喉3種不同巖心鑄體薄片圖像的識(shí)別分類。
在巖心鑄體薄片圖像分類研究中,主要涉及了方向梯度直方圖、支持向量機(jī)和遺傳算法(Genetic Algorithm,GA)。
方向梯度直方圖是圖像處理領(lǐng)域中一種用于目標(biāo)檢測(cè)的特征描述器,它的基本原理是通過(guò)統(tǒng)計(jì)和計(jì)算待處理圖像局部區(qū)域的梯度方向直方圖來(lái)構(gòu)成描述特征[11]。本文采用方向梯度直方圖提取巖心鑄體薄片圖像中的孔隙輪廓信息和喉道輪廓信息,并把提取到的孔隙輪廓信息和喉道輪廓信息作為不同巖心鑄體薄片圖像分類的主要依據(jù)。
支持向量機(jī)建立在VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理的基礎(chǔ)之上[12]。它的基本原理就是有限的樣本特征值在分類模型的復(fù)雜性和自學(xué)習(xí)能力之間尋找最佳的平衡點(diǎn),使目標(biāo)函數(shù)達(dá)到最佳的泛化能力,最終以結(jié)構(gòu)化風(fēng)險(xiǎn)最小化為原則,得到一個(gè)分類器使得超平面和最近的數(shù)據(jù)點(diǎn)之間的距離最遠(yuǎn)。通常來(lái)說(shuō),該距離越遠(yuǎn),則平面越優(yōu)。
圖1 支持向量機(jī)示意圖
現(xiàn)考慮n維兩類線性可分的情況。給定訓(xùn)練樣本集{(xi,yi),i=1,2,…l},其中xi∈Rn,yi∈(-1,1)。
設(shè)超平面H的方程為
wTx+b=0
(1)
其中,如果yi=1,那么wTx+b>0,否則wTx+b<0。按照超平面的性質(zhì),任意樣本點(diǎn)xi到H的有符號(hào)距離為:
(2)
假定,所有樣本點(diǎn)與超平面之間的幾何距離至少為D,則尋找最大的超平面也就是尋找最大的幾何距離D、相關(guān)的全系數(shù)向量w以及偏置b。將這個(gè)問(wèn)題轉(zhuǎn)化為以下的優(yōu)化問(wèn)題:
(3)
尋找最優(yōu)超平面即在最大化它的寬度準(zhǔn)則情況下,去選擇一個(gè)合適的w和b。
遺傳算法是一種進(jìn)化計(jì)算算法,其基本原理是通過(guò)基因遺傳學(xué)模擬自然界的進(jìn)化過(guò)程[14]。遺傳算法在遺傳操作過(guò)程中采用了3種算子,分別是選擇算子、交叉算子和變異算子,從而使得整個(gè)種群的進(jìn)化發(fā)展在優(yōu)勝劣汰的選擇機(jī)理下進(jìn)行[15],最終趨近于最優(yōu)狀態(tài)。
遺傳算法的具體實(shí)現(xiàn)步驟如下:
1)確定適應(yīng)度函數(shù)。適應(yīng)度函數(shù)是支持向量機(jī)和遺傳算法之間的橋梁,它作為一個(gè)指標(biāo)去判斷群體中個(gè)體的優(yōu)劣程度,并通過(guò)所求問(wèn)題的目標(biāo)函數(shù)來(lái)進(jìn)行評(píng)估。本文適應(yīng)度函數(shù)的表示如下
f=Ac
(4)
(5)
式中,f為適應(yīng)度函數(shù),Ac為預(yù)測(cè)精度,N訓(xùn)練樣本總數(shù),Nf為錯(cuò)誤分類的樣本數(shù)。
2)選擇。選擇操作選出的個(gè)體在舊種群中屬于適應(yīng)性較強(qiáng)的染色體,需將其放入匹配集,以便在染色體交換以及變異運(yùn)算時(shí)產(chǎn)生新種群。個(gè)體被選中的概率為
(6)
式中,Ps為個(gè)體被選中的概率,Fs為個(gè)體適應(yīng)度,N為種群數(shù)量。
(7)
(8)
式中,a為常數(shù),在0到1之間取值。
4)變異。變異運(yùn)算通過(guò)一定的概率去隨機(jī)地改變遺傳基因的值,從而保證相應(yīng)種群的多樣性。其中,對(duì)個(gè)體中每個(gè)基因都以一定的概率將其指定為變異點(diǎn),在每一個(gè)變異點(diǎn),對(duì)基因值進(jìn)行取反運(yùn)算或者代換為它的等位基因,這樣新的個(gè)體就會(huì)隨之產(chǎn)生。
把遺傳算法優(yōu)化的支持向量機(jī)模型簡(jiǎn)記為GA-SVM。
諸多研究表明多項(xiàng)式核函數(shù)、徑向基(Radial Basis Function,RBF)核函數(shù)和Sigmod核函數(shù)是目前應(yīng)用最為廣泛的3種支持向量機(jī)核函數(shù),在圖像分類領(lǐng)域具有較好的應(yīng)用效果。徑向基核函數(shù)可通過(guò)較少的參數(shù)實(shí)現(xiàn)非線性映射[16],故本文采用徑向基核函數(shù)來(lái)構(gòu)建基于支持向量機(jī)的巖心鑄體薄片圖像分類模型。在支持向量機(jī)的核函數(shù)確定后,還需確定核函數(shù)中的核參數(shù)σ和判別函數(shù)中的懲罰因子c。核參數(shù)σ體現(xiàn)訓(xùn)練樣本數(shù)據(jù)的范圍特性,它對(duì)基于支持向量機(jī)的巖心鑄體薄片圖像分類模型的學(xué)習(xí)能力有直接影響;懲罰因子c對(duì)巖心鑄體薄片圖像分類模型的復(fù)雜度和訓(xùn)練誤差有一定影響。
使用遺傳算法對(duì)基于支持向量機(jī)的巖心鑄體薄片圖像分類模型進(jìn)行優(yōu)化,尋找其最優(yōu)的核參數(shù)σ和懲罰因子c的組合?;镜乃惴ú襟E如下:
1)利用二進(jìn)制編碼對(duì)支持向量機(jī)參數(shù)進(jìn)行處理;
2)確定種群數(shù)量N,根據(jù)種群數(shù)量隨機(jī)生成支持向量機(jī)核參數(shù)σ和懲罰參數(shù)c的初始值,進(jìn)而構(gòu)造成初始群體;
3)基于隨機(jī)生成的支持向量機(jī)參數(shù)的初始值,通過(guò)訓(xùn)練數(shù)據(jù)集訓(xùn)練支持向量機(jī)模型,然后依據(jù)其訓(xùn)練精確度確定個(gè)體適應(yīng)度值Fs;
4)應(yīng)用輪盤賭選擇機(jī)制選擇若干適應(yīng)度大的個(gè)體,直接遺傳給下一代;
5)按照一定的交叉概率交換配對(duì)個(gè)體基因,產(chǎn)生新的個(gè)體;
6)按照一定的變異概率改變選中個(gè)體染色體的等位基因,增強(qiáng)種群的多樣性;
7)判斷新種群是否達(dá)到了最大進(jìn)化代數(shù),若沒(méi)有達(dá)到則跳轉(zhuǎn)到步驟2)繼續(xù)進(jìn)行計(jì)算,若達(dá)到了就把當(dāng)前種群中具有最大適應(yīng)度的染色體基因值作為支持向量機(jī)參數(shù)的最優(yōu)取值組合;
8)終止計(jì)算,基于已獲得的核參數(shù)σ和懲罰參數(shù)c的最優(yōu)取值,建立基于支持向量機(jī)的巖心鑄體薄片圖像分類模型。
利用金相顯微鏡對(duì)做好的巖心鑄體薄片掃描拍照,就獲得一系列二維的巖心鑄體薄片圖像。根據(jù)巖心樣品孔隙和喉道的具體發(fā)育特征,把它們劃分為3類,典型結(jié)構(gòu)如圖2所示。圖2中,白色區(qū)域與灰色區(qū)域?yàn)閹r石顆粒;淺紅色區(qū)域和粉紅色區(qū)域?yàn)樽⑷氲綆r心鑄體薄片中的液體,黑色區(qū)域?yàn)閮?chǔ)存于巖心樣品中的原油或油泥,紅色區(qū)域和黑色區(qū)域?qū)?yīng)了巖心樣品的孔隙和喉道,孔隙和喉道構(gòu)成了巖心樣品的微觀孔隙結(jié)構(gòu)。圖2(a)為大孔粗喉型孔喉結(jié)構(gòu)對(duì)應(yīng)的巖心鑄體薄片圖像,具體表現(xiàn)為巖石顆粒較大,孔隙也較大,喉道較粗;圖2(c)為小孔細(xì)喉型孔喉結(jié)構(gòu)對(duì)應(yīng)的巖心鑄體薄片圖像,具體表現(xiàn)為巖石顆粒較小且結(jié)合致密,孔隙較小,喉道較細(xì);圖2(b)為中孔中喉型孔喉結(jié)構(gòu)對(duì)應(yīng)的巖心鑄體薄片圖像,孔隙和喉道的大小介于大孔粗喉型和小孔細(xì)喉型之間。
圖2 3種不同孔喉結(jié)構(gòu)的典型代表圖像
把分成3類的200余幅巖心鑄體薄片圖像再進(jìn)行圖像增強(qiáng)、圖像尺寸統(tǒng)一等預(yù)處理操作,就得到應(yīng)用于構(gòu)建巖心鑄體薄片圖像分類模型的數(shù)據(jù)集。按照7:3的比例,將巖心鑄體薄片圖像數(shù)據(jù)集劃分成訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集。
采用準(zhǔn)確率(Accuracy)和Kappa系數(shù)作為評(píng)價(jià)不同巖心鑄體薄片圖像分類效果的指標(biāo)。
準(zhǔn)確率是衡量分類結(jié)果中被正確分類的樣本所占總樣本的比例,一般用百分?jǐn)?shù)表示,其計(jì)算公式如下
(9)
式(9)中,TP是實(shí)際為正例且被劃分為正例的實(shí)例數(shù)(樣本數(shù)),TN是實(shí)際為負(fù)例且被劃分為負(fù)例的實(shí)例數(shù),FP是實(shí)際為負(fù)例但被劃分為正例的實(shí)例數(shù),FN是實(shí)際為正例但被劃分為負(fù)例的實(shí)例數(shù)。
Kappa分析作為評(píng)價(jià)分類精度的一種多元統(tǒng)計(jì)方法,其Kappa系數(shù)表示被評(píng)價(jià)分類比完全隨機(jī)分類產(chǎn)生錯(cuò)誤減少的比例,通常Kappa系數(shù)是落在0-1之間,越接近1代表分類效果越好,其計(jì)算公式如下
(10)
式(10)中,Kappa就是Kappa系數(shù),r是誤差矩陣的行數(shù),xii是i行i列(主對(duì)角線)上的值,xi+和x+i分別是第i行的和與第i列的和,N是樣本總數(shù)。
基于GA-SVM的巖心鑄體薄片圖像分類實(shí)質(zhì)上是以遺傳算法的最優(yōu)參數(shù)提取為基礎(chǔ),并通過(guò)采用最優(yōu)參數(shù)組合的支持向量機(jī)模型去實(shí)現(xiàn)巖心鑄體薄片圖像的分類。經(jīng)過(guò)多次測(cè)試后,把遺傳算法的參數(shù)設(shè)置為表1所示。
表1 遺傳算法的參數(shù)設(shè)置列表
表1中,適應(yīng)度函數(shù)是進(jìn)行自然選擇的依據(jù),其作用是確定群體中個(gè)體的優(yōu)與劣,把巖心鑄體薄片圖像分類器的準(zhǔn)確率作為適應(yīng)度函數(shù);種群個(gè)體數(shù)目是遺傳算法中的重要控制參數(shù),將其設(shè)置為20;變異操作是遺傳算法中保持種群多樣性的有效手段,將變異率設(shè)置為0.015;交叉率控制著交叉操作的應(yīng)用頻率,一般它的取值范圍為0.6-1.0,將交叉率設(shè)置為0.9;支持向量機(jī)的懲罰參數(shù)c和核參數(shù)σ對(duì)巖心鑄體薄片圖像分類器的容錯(cuò)性具有較大影響,將它們的取值范圍都設(shè)置為[0.001,1]。
采用上述參數(shù)設(shè)置,利用訓(xùn)練數(shù)據(jù)集完成對(duì)遺傳算法優(yōu)化的支持向量機(jī)的訓(xùn)練,建立3種不同巖心鑄體薄片圖像的分類模型;利用測(cè)試數(shù)據(jù)集對(duì)3種不同巖心鑄體薄片圖像的分類模型進(jìn)行測(cè)試,所得結(jié)果如表2所示。
表2 GA-SVM模型與其它模型的測(cè)試結(jié)果表
上述遺傳算法在進(jìn)化過(guò)程中會(huì)獲得一個(gè)最優(yōu)個(gè)體,分解這個(gè)最優(yōu)個(gè)體,即得到應(yīng)用于巖心鑄體薄片圖像分類的支持向量機(jī)懲罰參數(shù)c和核參數(shù)σ的最優(yōu)值,分別是0.911和0.554,這樣就建立起基于GA-SVM的不同巖心鑄體薄片圖像的分類模型。
為檢驗(yàn)基于GA-SVM的不同巖心鑄體薄片圖像分類模型的有效性,在相同的參數(shù)下,利用相同的訓(xùn)練數(shù)據(jù)集分別對(duì)未經(jīng)參數(shù)優(yōu)化的支持向量機(jī)(SVM)、網(wǎng)格搜索法(Grid Search,GS)優(yōu)化的支持向量機(jī)(GS-SVM)和粒子群算法(Practical Swarm Optimization,PSO)優(yōu)化的支持向量機(jī)(PSO-SVM)分別進(jìn)行訓(xùn)練。訓(xùn)練完成后基于相同的測(cè)試數(shù)據(jù)集對(duì)上述3種方法的相應(yīng)模型和基于GA-SVM的不同巖心鑄體薄片圖像分類模型分別進(jìn)行測(cè)試,所得的結(jié)果如下(表2)。
由表2可看出,在對(duì)3種不同巖心鑄體薄片圖像的分類中,GA-SVM的綜合表現(xiàn)最為優(yōu)異。GA-SVM對(duì)大孔粗喉、中孔中喉和小孔細(xì)喉3種不同巖心鑄體薄片圖像的分類準(zhǔn)確率分別達(dá)到了100%、94%和94%;SVM雖然對(duì)中孔中喉型和小孔細(xì)喉型巖心鑄體薄片圖像的分類準(zhǔn)確率均達(dá)到了100%,但它對(duì)大孔粗喉型巖心鑄體薄片圖像的分類準(zhǔn)確率過(guò)低,為71%;同時(shí),在GS-SVM和PSO-SVM對(duì)3種不同巖心鑄體薄片圖像的分類準(zhǔn)確率中均出現(xiàn)了低于90%的情況。并且,GA-SVM、PSO-SVM、GS-SVM和SVM產(chǎn)生的Kappa系數(shù)分別是0.94、0.90、0.87和0.78,這也說(shuō)明GA-SVM和PSO-SVM在3種不同巖心鑄體薄片圖像分類中的綜合表現(xiàn)最好,SVM的綜合表現(xiàn)最差,GS-SVM綜合表現(xiàn)介于上述三者之間。
為進(jìn)一步檢驗(yàn)GA-SVM和PSO-SVM的性能,截取它們?cè)谟?xùn)練過(guò)程中的適應(yīng)度變化曲線,如圖3所示。圖3中,橫坐標(biāo)為進(jìn)化代數(shù),縱坐標(biāo)為適應(yīng)度值,藍(lán)線是PSO-SVM的適應(yīng)度變化曲線,紅線是GA-SVM的適應(yīng)度變化曲線。由圖4可看出,相比PSO-SVM,GA-SVM的適應(yīng)度在迭代尋優(yōu)前期隨迭代次數(shù)的增加而出現(xiàn)較大的波動(dòng),這說(shuō)明它沒(méi)有陷入局部最優(yōu)解;并且隨著進(jìn)化代數(shù)的增加,GA-SVM可通過(guò)上下波動(dòng)逐漸跳出局部最優(yōu)解區(qū)間,迅速收斂至全局最優(yōu)解。由此可見(jiàn),遺傳算法可在訓(xùn)練過(guò)程中幫助支持向量機(jī)迅速獲得最佳參數(shù)組合,以達(dá)到快速提高不同巖心鑄體薄片圖像分類準(zhǔn)確率的目的。
圖3 GA-SVM和PSO-SVM的適應(yīng)度曲線
1)在利用方向梯度直方圖獲取巖心鑄體薄片圖像孔隙與喉道輪廓信息的基礎(chǔ)上,引入支持向量機(jī)作為巖心鑄體薄片圖像的分類器,采用遺傳算法優(yōu)化支持向量機(jī)的關(guān)鍵參數(shù),確定它們的最優(yōu)組合,建立遺傳算法優(yōu)化的、可實(shí)現(xiàn)對(duì)3種不同巖心鑄體薄片圖像分類的支持向量機(jī)模型。
2)為檢驗(yàn)遺傳算法優(yōu)化的支持向量機(jī)的有效性,通過(guò)相同的訓(xùn)練數(shù)據(jù)集分別對(duì)SVM、GS-SVM和PSO-SVM進(jìn)行訓(xùn)練,利用準(zhǔn)確率和Kappa系數(shù)作為評(píng)價(jià)不同巖心鑄體薄片圖像分類效果的指標(biāo),最終結(jié)果發(fā)現(xiàn):GA-SVM在3種不同巖心鑄體薄片圖像分類中的綜合表現(xiàn)最好,SVM的綜合表現(xiàn)最差,GS-SVM和PSO-SVM的綜合表現(xiàn)介于上述二者之間。
3)在油氣田基礎(chǔ)地質(zhì)研究中涉及的巖心鑄體薄片圖像種類繁多,本文僅從孔隙和喉道大小的角度對(duì)它們進(jìn)行分類,所以本文研究帶有一定的局限性。在今后的工作中,要進(jìn)一步利用機(jī)器學(xué)習(xí)和深度學(xué)習(xí),研究針對(duì)更多巖心鑄體薄片圖像種類的識(shí)別與分類方法。