高 輝,吳振坤,柯 雨,譚松成,何思琪,段隆臣
(1.中國地質(zhì)大學(xué)(武漢)工程學(xué)院,湖北 武漢 430074;2.中國地質(zhì)大學(xué)(武漢)地球深部鉆探與深地資源開發(fā)國際聯(lián)合研究中心,湖北 武漢 430074;3.中國地質(zhì)大學(xué)(武漢)自動化學(xué)院,湖北 武漢 430074;4.中國地質(zhì)大學(xué)(武漢)未來技術(shù)學(xué)院,湖北 武漢 430074)
智能鉆探的研究領(lǐng)域涵蓋鉆速的優(yōu)化、鉆進過程的智能控制、鉆進故障的識別與防控、隨鉆測量、地層識別等。對于地質(zhì)巖心鉆探,采取的巖心是進行地層識別最直接的手段,一般的地層巖性編錄依賴于現(xiàn)場技術(shù)人員的經(jīng)驗,準(zhǔn)確的巖性識別[1]需要將樣本帶回實驗室進行薄片鑒定,試驗周期較長。
隨著人工智能技術(shù)的發(fā)展,基于人工定義的特征提取的機器學(xué)習(xí)算法可以用于巖石薄片圖像的自動識別[2]?;谏疃葘W(xué)習(xí)的巖石薄片礦物自動識別方法,通過卷積神經(jīng)網(wǎng)絡(luò)自動提取圖像特征,進一步提升了識別的準(zhǔn)確率[3]?;谳p量級卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的算法對巖石薄片圖像進行分類,可減少模型參數(shù),提升巖石分類速度,增強模型的可移植性[4]。不過,巖石薄片圖像是在顯微鏡下成像的,并非自然圖像。
自然圖像是采用照相機根據(jù)感光單元拍攝出來的,使用陽光、燈光等普通光源,自然圖像具有易于獲得、成本較低的優(yōu)勢,目前多用于不同狀態(tài)下露頭巖石或巖塊的識別[5],一種無監(jiān)督特征學(xué)習(xí)方法用于巖石的自動分類,可解決大量數(shù)據(jù)集巖石標(biāo)記難的問題[6]。遷移學(xué)習(xí)方法用于對野外露頭巖石圖像進行識別[7],多尺度的方法可對任意尺度的野外露頭巖石進行有效的識別[8],孿生卷積神經(jīng)網(wǎng)絡(luò)方法同時利用巖石的全局特征和局部特征,可提高巖石圖像識別的準(zhǔn)確率[9]。深度學(xué)習(xí)算法用于巖塊圖像的識別[10-12],人工定義的特征和卷積神經(jīng)網(wǎng)絡(luò)自動提取的特征相融合的方法,可實現(xiàn)煤-巖圖像的識別[13]。
不過,用于識別的巖心圖像的獲取目前主要采用360 度巖心掃描[14]、X 射線斷層掃描[15]、高光譜成像[16]等技術(shù)實現(xiàn),這類方法需要使用輔助儀器進行成像,不能直接使用普通光源,與本文的識別目標(biāo)不同,其主要用于研究巖心的結(jié)構(gòu)特征,而且這些成像設(shè)備體積較大、成本較高,無法在現(xiàn)場推廣應(yīng)用。因此,開展了基于自然圖像的巖心識別研究,并開發(fā)了相應(yīng)的手機APP[17-19],以期提高巖心自動識別的現(xiàn)場使用便捷程度。
本文的研究累計搜集巖心220 塊,通過薄片鑒定等方法,共標(biāo)記出3 大類巖中的15 種巖心,分別是泥巖、頁巖、灰?guī)r、白云巖、砂巖、硅質(zhì)巖、凝灰?guī)r、安山巖、正長巖、花崗巖、英安巖、大理巖、板巖、片麻巖、石英巖。為了提高識別的效果,巖心表面應(yīng)盡量保持平整,并放置在白色的背景之上,以免因為背景顏色的不同影響識別的效果。通過手機對每個巖心拍照,盡量選擇側(cè)面或正面的角度進行拍攝,拍攝時保持一定的距離,保證圖像清晰,拍攝訓(xùn)練圖像集、測試圖像集以及現(xiàn)場巖心圖像時均保持上述相同的原則。
光照條件對圖像的識別有一定的影響,拍攝時盡量保證正常的均勻光照,由于拍攝訓(xùn)練集時不能覆蓋更多的光照環(huán)境,將對訓(xùn)練集的數(shù)據(jù)進行人工增強,即對訓(xùn)練集進行各種不同的變換,以模擬更多的拍攝環(huán)境,大幅增加訓(xùn)練集的數(shù)據(jù)量,提高模型的泛化性。
圖1 是15 種巖心代表性的圖像,其拍攝方式有所不同。拍攝距離較遠時,巖心圖像中包含較多的背景,而拍攝距離較近時,則圖像中包含的背景很少或完全不包含背景。此外,巖心照片的拍攝部位包括頂面、底面及側(cè)面,而巖心形狀則主要為圓形或方形。
對于同一個巖心,由于拍攝時的環(huán)境、角度等不同,拍攝出來的圖像有很大的差異,訓(xùn)練圖像集不可能覆蓋所有的情況,因此,常采用數(shù)據(jù)增強(包含圖像增強、圖像變換等)的方式來增加訓(xùn)練集的數(shù)量,通過對圖片進行各種處理,模擬現(xiàn)場環(huán)境的變化,擴大識別模型的適應(yīng)范圍。為了不增加數(shù)據(jù)集的存儲空間,一般采用運行時增強的模式,即在讀入一張原始訓(xùn)練圖像時,根據(jù)一定的概率對該圖像進行某種變換或變換組合,變換之后加入當(dāng)前訓(xùn)練批次的圖像中對模型進行訓(xùn)練,訓(xùn)練結(jié)束之后并不保存該圖像。
根據(jù)巖心圖像的特點,須保證其變換之后依然具有巖心圖像的基本特征,所以只選用部分有效的變換函數(shù)。按照80%的概率對圖像進行變換,首先執(zhí)行水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、旋轉(zhuǎn)等三種幾何變換中的一種或多種變換的組合,然后執(zhí)行模糊變換(隨機選擇高斯濾波、均值濾波或中值濾波中的一種)、銳化變換、浮雕變換、邊緣變換、亮度變換、色相和飽和度變換等六種色彩或紋理變換中的一種或多種變換的組合,各種變換的參數(shù)在一定的范圍內(nèi)隨機選取。
采用卷積神經(jīng)網(wǎng)絡(luò)自動提取巖心圖像特征,實現(xiàn)巖心的識別,卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖2 所示。
圖2 巖心識別卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Convolutional neural network structure for core identification
(1)一張二維的原始巖心圖像輸入網(wǎng)絡(luò)中,首先縮放到固定的大小,然后經(jīng)過一系列的卷積、池化操作后(此時的權(quán)重參數(shù)為缺省值,有待根據(jù)損失函數(shù)進行更新)形成多張二維的巖心特征圖像。
(2)接下來將二維圖像平鋪成一維數(shù)據(jù),經(jīng)過測試,將多張二維特征圖像進行像素平均后平鋪成一維數(shù)據(jù),這樣可以達到降維的目的,同時便于和后面的節(jié)點形成全連接網(wǎng)絡(luò)。
(3)后面直接增加一個全連接網(wǎng)絡(luò),與輸出的15種巖心分類值進行連接,此時產(chǎn)生全連接層的權(quán)重參數(shù),是后續(xù)訓(xùn)練重點更新的值。
(4)在全連接層后面連接一個Softmax 激勵函數(shù),將分類值轉(zhuǎn)換成概率值,在訓(xùn)練時與真值對比并計算損失函數(shù)值,在預(yù)測時輸出巖心分類的結(jié)果。
訓(xùn)練時,根據(jù)預(yù)測值和真實值計算損失函數(shù),根據(jù)損失函數(shù)降低的原則,計算全連接層各權(quán)重參數(shù)的更新梯度值,并向前傳遞,更新和優(yōu)化卷積、池化等操作的權(quán)重參數(shù),最終獲得最優(yōu)的權(quán)重參數(shù),使得模型輸出的預(yù)測值和真實值最接近。
由于卷積神經(jīng)網(wǎng)絡(luò)的深度較大,需要訓(xùn)練的參數(shù)較多,一般的專業(yè)訓(xùn)練數(shù)據(jù)集大小不夠,訓(xùn)練時會出現(xiàn)嚴(yán)重的過擬合現(xiàn)象,因此,一般采用遷移學(xué)習(xí)的方法,首先在卷積、池化層網(wǎng)絡(luò)中直接采用通用數(shù)據(jù)集的訓(xùn)練模型的參數(shù),只訓(xùn)練全連接層網(wǎng)絡(luò)的參數(shù);接下來對卷積、池化層網(wǎng)絡(luò)參數(shù)進行微調(diào),只訓(xùn)練該網(wǎng)絡(luò)中與全連接層接近的部分層,這樣提高訓(xùn)練的效率和質(zhì)量。
數(shù)據(jù)增強雖然是一種有效增加訓(xùn)練數(shù)據(jù)集、提高模型泛化性的方法,但是人工數(shù)據(jù)的加入也有可能改變實際訓(xùn)練集的特征,降低卷積神經(jīng)網(wǎng)絡(luò)表征與實際訓(xùn)練集接近的測試數(shù)據(jù)集圖像特征的能力,從而降低對該數(shù)據(jù)集的識別準(zhǔn)確率。測試發(fā)現(xiàn),經(jīng)過數(shù)據(jù)增強后,確實提高了部分?jǐn)?shù)據(jù)集的識別準(zhǔn)確率,但是也降低了其他數(shù)據(jù)集的識別準(zhǔn)確率。
另外,由于模型的訓(xùn)練是一個隨機過程,因此,每次訓(xùn)練出來的模型是不一樣的,這樣會導(dǎo)致每次訓(xùn)練的模型對不同測試數(shù)據(jù)的識別準(zhǔn)確率會有變化,有的模型對部分?jǐn)?shù)據(jù)集的識別準(zhǔn)確率高,而對另一些數(shù)據(jù)集的識別準(zhǔn)確率低。
為了解決數(shù)據(jù)增強和不同訓(xùn)練批次在不同測試數(shù)據(jù)集上產(chǎn)生的識別準(zhǔn)確率的差異性問題,提出基于多訓(xùn)練模型的巖心聯(lián)合識別方法,同時采用多個模型對圖像進行識別,每個模型的識別結(jié)果是該圖像屬于各類別的概率,比如15 種巖心類別,那么每個模型會給出15 個概率值,對于常規(guī)的單模型識別,則直接取這15 個概率中最高的值所對應(yīng)的類別作為巖心的識別結(jié)果;對于多模型聯(lián)合識別,則將每個模型對各類別的預(yù)測概率值累加,取累加值最高的項所對應(yīng)的類別作為巖心的識別結(jié)果。
采用的訓(xùn)練數(shù)據(jù)集共有2 931 張圖像,15 種巖心類別,遷移學(xué)習(xí)訓(xùn)練階段采用的學(xué)習(xí)率為0.001,訓(xùn)練次數(shù)為150 次,在微調(diào)階段采用的學(xué)習(xí)率為0.000 1,訓(xùn)練次數(shù)為150 次,微調(diào)的層數(shù)量占比為1/3。訓(xùn)練數(shù)據(jù)集中的20%用來進行模型的驗證,剩下80%用作實際的訓(xùn)練,圖3a 為訓(xùn)練準(zhǔn)確率和驗證準(zhǔn)確率的變化趨勢圖,在訓(xùn)練步數(shù)達125 左右時已經(jīng)收斂,同時,圖3b 中的損失值也穩(wěn)定在一個較低位。
圖3 訓(xùn)練過程中的準(zhǔn)確率和損失值曲線Fig.3 Accuracy and loss curve during training
為了測試模型的泛化性,測試數(shù)據(jù)集并不是取自原始的訓(xùn)練數(shù)據(jù)集,而是在多種不同的條件下重新拍攝而成的新數(shù)據(jù)集。選擇8 個新數(shù)據(jù)集進行測試,測試數(shù)據(jù)集的拍攝條件見表1,主要考慮拍攝設(shè)備、巖心背景、干濕狀態(tài)、光照條件等影響成像效果的4 個因素。圖像的狀態(tài)與拍攝者的關(guān)系較大,本測試數(shù)據(jù)集中包含4 名測試員分別采用4 種不同的設(shè)備拍攝的圖像。8 個測試集均覆蓋所有15 類巖心,每個測試集包含300 張左右的圖像。同一個巖心在部分測試集中的圖像如圖4 所示,不同的拍攝條件對圖像的影響較大。
表1 測試數(shù)據(jù)集的拍攝條件Table 1 Shooting conditions for test datasets
圖4 同一個巖心在不同測試集中的圖像Fig.4 Images of the same core from different test sets
通過對比代表性的卷積神經(jīng)網(wǎng)絡(luò)[20-22],本節(jié)選用較適合現(xiàn)場手機APP 使用的輕量級卷積神經(jīng)網(wǎng)絡(luò)MobileNet V2_1.4[23]為例測試。由于卷積神經(jīng)網(wǎng)絡(luò)模型隨機預(yù)設(shè)權(quán)重初始值,所以每次訓(xùn)練的結(jié)果都相近,但不完全相同,表2 列出了在無數(shù)據(jù)增強和有數(shù)據(jù)增強兩種情況下,分別訓(xùn)練4 次的模型在8 個數(shù)據(jù)集上的測試結(jié)果。
表2 不同訓(xùn)練批次的模型得到的巖心識別準(zhǔn)確率Table 2 Core identification accuracy obtained by models in different trained batches %
表3 給出了無數(shù)據(jù)增強和有數(shù)據(jù)增強時4 次訓(xùn)練的模型在單個數(shù)據(jù)集中識別準(zhǔn)確率的平均值以及在所有數(shù)據(jù)集中總的平均值,無數(shù)據(jù)增強時的識別準(zhǔn)確率總的平均值為82.43%,有數(shù)據(jù)增強時的識別準(zhǔn)確率總的平均值為88.81%,高于無數(shù)據(jù)增強時的結(jié)果。不過,使用數(shù)據(jù)增強后,測試集5 和6 的識別準(zhǔn)確率降低了,其他數(shù)據(jù)集的識別準(zhǔn)確率均有所提升,這說明使用數(shù)據(jù)增強后,卷積神經(jīng)網(wǎng)絡(luò)模型降低了對數(shù)據(jù)集5 和6的圖像特征的表征能力。
表3 基于多訓(xùn)練模型的巖心聯(lián)合識別準(zhǔn)確率對比Table 3 Comparison of joint core identification accuracy based on multiple training models %
為了解決部分模型降低識別準(zhǔn)確率的問題,采用前文提出的基于多訓(xùn)練模型的巖心聯(lián)合識別方法,經(jīng)過測試,從8 個模型中選擇4 個模型,即模型①+模型⑤+模型⑥+模型⑧進行聯(lián)合識別效果最佳,其中①來自無數(shù)據(jù)增強時的訓(xùn)練模型,⑤、⑥、⑧來自有數(shù)據(jù)增強時的訓(xùn)練模型。表3 顯示了該多模型聯(lián)合識別的準(zhǔn)確率以及其與無數(shù)據(jù)增強和有數(shù)據(jù)增強時的對比結(jié)果,使用多模型聯(lián)合識別的準(zhǔn)確率有明顯提升,比無數(shù)據(jù)增強時的準(zhǔn)確率最大提升20.34%,平均提升9.13%;比有數(shù)據(jù)增強時的準(zhǔn)確率最大提升4.41%,平均提升2.75%。使用多模型聯(lián)合識別后,對每個測試集的識別準(zhǔn)確率均有所提升,總的識別準(zhǔn)確率達91.56%,有效避免了使用單模型識別時,提升部分?jǐn)?shù)據(jù)集的識別準(zhǔn)確率,而降低其他數(shù)據(jù)集的識別準(zhǔn)確率的問題。
對比各測試集上的識別結(jié)果,總體上可以分為四個區(qū)間,第一個區(qū)間包含數(shù)據(jù)集1 和6 的識別準(zhǔn)確率,均在98%以上,說明這兩個數(shù)據(jù)集和訓(xùn)練數(shù)據(jù)集的拍攝條件最吻合;第二個區(qū)間包含數(shù)據(jù)集2、5 和8 的識別準(zhǔn)確率,均在93%~98%之間,影響這3 個數(shù)據(jù)集的因素較多,包括測試員的拍攝設(shè)備、拍攝方式、巖心所處背景等均對識別結(jié)果可能產(chǎn)生影響;第三個區(qū)間包含數(shù)據(jù)集3 和7 的識別準(zhǔn)確率,為91%~93%,這兩個數(shù)據(jù)集是在陽光下拍攝的,由于陽光的強弱變化比燈光顯著,相比室內(nèi)可控的光照條件,室外的光照條件更復(fù)雜;第四個區(qū)間包含數(shù)據(jù)集4 的識別準(zhǔn)確率,僅為72.99%,該數(shù)據(jù)集是在潮濕條件下拍攝的,潮濕表面的水對光線的反射與干燥表面的反射有較大的差異,所以該數(shù)據(jù)集的識別準(zhǔn)確率較低。
據(jù)上述分析可知,對識別準(zhǔn)確率影響最大的是干濕條件,由于訓(xùn)練數(shù)據(jù)集全部是在干燥情況下拍攝的,所以對于潮濕巖心的識別準(zhǔn)確率不高,建議在識別的時候保持巖心處于干燥狀態(tài);由于陽光的照射條件比較復(fù)雜,建議有條件時,將巖心樣本放在比較均衡的光照下識別;背景對識別的結(jié)果影響也較大,建議識別的時候?qū)r心放在白色背景下。
盡管采用數(shù)據(jù)增強和多模型聯(lián)合識別的方法,一定程度上提高了模型的泛化性,但是在不同條件下巖心的識別準(zhǔn)確率依然不同,為了達到更好的識別效果,建議在相對一致的拍攝條件下進行巖心識別。訓(xùn)練數(shù)據(jù)集雖然不能覆蓋所有的拍攝條件和巖心狀態(tài),不過,不斷擴充訓(xùn)練數(shù)據(jù)集依然是提高模型泛化性的有效手段。
為了在現(xiàn)場便捷使用并快速進行識別,開發(fā)了巖心識別手機APP,采用TensorFlow Lite(TF Lite)框架,將原來生成的大體積模型文件轉(zhuǎn)換成適用于移動終端的模型(TFLite 模型),在不影響準(zhǔn)確率的情況下減小模型的大小并提高其性能,同時具有很好的可移植性。用TFLite 解釋器所提供的接口讀取轉(zhuǎn)換后的模型文件,模型即可被部署到應(yīng)用程序中,APP 的界面如圖5所示,除了巖心類型外,還提供了巖性的基本介紹、推薦使用的鉆探規(guī)程參數(shù)等。
圖5 巖心識別手機APP 界面Fig.5 Mobile APP interface of core identification
選取河北省保定市博野縣地?zé)峥碧骄?JZ04)的巖心進行手機APP 測試。現(xiàn)場得到的巖心表面大多被泥漿材料覆蓋,因此在試驗前需要用清水將巖心上的泥漿及其他碎屑洗凈,用洗凈后的巖心拍照識別。
現(xiàn)場巖心如圖6 所示,其中圖6a 中的數(shù)字為該段巖心的長度(單位為m),圖6b 為硅質(zhì)巖,分布深度為4 013.01~4 013.11 m,圖6c 中的白云巖分布深度為4 009.62~4 010.02 m。取鉆進孔段4 009.62~4 017.50 m進行測試,巖心整體為青灰色或灰白色,以硅質(zhì)含量較高的白云巖為主,白云巖層間分布有厚度不一的深灰色的硅質(zhì)巖層,巖心多含有裂隙,部分巖心破碎程度較大。
圖6 現(xiàn)場應(yīng)用井場的鉆探巖心Fig.6 Drilling cores of the field application well site
開發(fā)的手機APP 搭載輕量級網(wǎng)絡(luò)MobileNet V2_1.4,用該APP 對完整的巖心進行拍照,測試巖心照片共40 張。采用有數(shù)據(jù)增強的單模型可正確識別32 張,準(zhǔn)確率為80%,單張圖像識別平均耗時350 ms;采用多模型聯(lián)合方法(本文取4 個模型)可正確識別34 張,識別的準(zhǔn)確率為85%,單張圖像識別平均耗時1.15 s。雖然采用多模型聯(lián)合方法的識別時間有所增加,但是準(zhǔn)確率提升了5%。最終測試巖心定名結(jié)果見表4,4 張硅質(zhì)巖圖像全部識別成功,36 張白云巖圖像中正確識別30 張,白云巖容易誤判為硅質(zhì)巖、灰?guī)r、砂巖、板巖等類似的沉積巖或淺變質(zhì)巖,它們之間確實具有較多相似性。
表4 巖心定名測試結(jié)果數(shù)量統(tǒng)計Table 4 Quantity statistics of the core naming test results 張
a.提出的基于多訓(xùn)練模型的巖心聯(lián)合識別方法,同時采用多個模型(本文取4 個模型)對圖像進行識別,綜合確定識別結(jié)果,對每個測試集的識別準(zhǔn)確率均有明顯提升,有效避免了使用單模型識別時,提升部分?jǐn)?shù)據(jù)集的識別準(zhǔn)確率,而降低其他數(shù)據(jù)集的識別準(zhǔn)確率的問題,提高了模型的泛化性。
b.本次野外試驗中,手機APP 搭載的是輕量級網(wǎng)絡(luò)MobileNet V2_1.4,使用多模型聯(lián)合識別方法后,該網(wǎng)絡(luò)在實驗室測試的平均準(zhǔn)確率為91.56%,野外測試的準(zhǔn)確率為85%,單張圖像識別平均耗時為1.15 s,該結(jié)果僅反映單次試驗的情況,不同的試驗條件下,測試結(jié)果會有變化。目前手機APP 巖心識別只能給現(xiàn)場技術(shù)人員提供一種巖心類別判定的選項,輔助現(xiàn)場決策,還不能完全替代技術(shù)人員。
c.對基于圖像的巖心識別進行了試驗,試驗結(jié)果依然還有較大的提升空間,通過選用更復(fù)雜的卷積神經(jīng)網(wǎng)絡(luò)、不斷擴大巖心圖像數(shù)據(jù)集、采用更有效的數(shù)據(jù)增強方法和策略、建立某個區(qū)域的專有巖心識別模型等手段,可以進一步提升巖心圖像的識別準(zhǔn)確率,為智能鉆探的決策提供更有效的信息。