













關鍵詞:巖性識別,ConvNeXtV2,全局注意力機制,多尺度特征融合,Lion優化器
0 引言
在油氣勘探領域,通過巖石微觀結構可知油氣資源的賦存狀態。其中,巖性的分類和識別是關鍵。傳統的巖性識別方法主要是利用顯微鏡觀測巖石薄片以判斷巖石的結構和成分,這需要耗費大量的時間和經濟成本,并且結果具主觀性。利用計算機輔助技術提取巖石薄片圖像的特征可以減少對專業人員和儀器的依賴,提高工作效率,并可以發現隱含的地質信息[1‐4]。
近年來,許多學者將機器學習方法用于巖石薄片巖性識別。程國建等[5]采用支持向量機(SupportVectorMachine,SVM)對巖石薄片樣本進行了分類,準確率較高,但在數據種類較多時效果不佳。Zheng等[6]提出了一種基于最小二乘支持向量機(LeastSquaresSupportVectorMachine,LSSVM)的巖體分類方法,提高了圍巖的分類精度。相較于傳統技術,機器學習方法的圖像分類效果有顯著提升,但仍存在不足之處,這主要表現為:需通過人工手段提取巖性特征,且網絡訓練依賴大規模數據集;巖石種類繁多,收集大量巖石薄片圖像的過程不僅耗時而且成本高昂[7]。
現今,巖石薄片巖性識別方法進一步發展,深度學習技術在該領域的應用展現出優越的性能。白林等[8]使用視覺幾何組網絡(VisualGeometryGroupNetwork,VGG)對常見巖石,如花崗巖、白云巖等的巖石薄片圖像進行分類,準確率達82%,但礦物組成相似的巖石薄片容易誤判。Fan等[9]基于ShuffleNet和MobileNet兩個輕量級卷積神經網絡對28種巖石薄片圖像實現了識別和分類。Liu等[10]在更快區域卷積神經網絡(FasterRegionConvolutionalNeuralNetwork,Faster‐RCNN)目標檢測架構中對8類巖石薄片圖像的特征進行提取與學習,成功實現了巖體智能化識別。熊越晗等[11]采用Inception‐V3卷積網絡構建了一個深度學習模型,對泥巖、砂質泥巖、泥質砂巖和砂巖等四種巖樣的細觀圖像進行了分類,但由于訓練集樣本不足導致準確率不高。Liu等[12]利用掩膜區域卷積神經網絡(MaskRegionbasedConvolutionalNeuralNetwork,MaskR‐CNN)模型識別巖石薄片圖像,但識別的巖石薄片圖像種類較少,模型運行速度慢。許振浩等[7]結合ResNet網絡構建巖石圖像深度學習遷移模型,巖性識別準確率最高達到90%以上,但仍存在部分巖石類別的分類誤差較為顯著。馬澤棟等[13]提出了一種多尺度巖性識別方法,但是不能合理結合多尺度模型與傳統識別模型,導致整體識別準確率未能達到更高水平。
隨著視覺模型的不斷發展,Liu等[14]提出了純卷積神經網絡ConvNeXt。在浮點運算次數(FloatingPointOperations,FLOPs)相同的情況下,ConvNeXt具有更快的計算速度和更高的準確率,可在精度與運算量方面取得最好的平衡。并且,其擴展性能與SwinTransformer相當,但設計更加簡單。馬曉等[15]提出了一種改進的ConvNeXt算法,提高了復雜背景下的玉米葉片病害分類精度。李恩澤等[16]在ConvNeXt的基礎上融合了非對稱多分支卷積模塊和特征注意力模塊,使奶牛的動作行為平均識別準確率提升了8.63%。Woo等[17]在ConvNeXt網絡的基礎上提出了一個完全卷積掩碼自動編碼器框架和一個新的全局響應歸一化層,形成了ConvNeXtV2。它顯著提高了傳統純卷積神經網絡在各種視覺基準上的性能,僅使用公共訓練數據準確率就可達88.9%。
ConvNeXtV2在圖像分類任務中性能強大,因此本文選取ConvNeXtV2作為基礎網絡,對6類巖石薄片圖像進行巖性識別,并且進行了三項關鍵改進以進一步提升模型識別效果:在模型中加入全局注意力機制,減少信息彌散和增強全局交互表示以提高性能;設計多尺度特征融合模塊代替下采樣層中的卷積層,使用多個不同尺度的卷積核,可從不同尺度中提取到更豐富和多樣化的特征;采用Lion優化器[18]代替原本的AdamW優化器[19],提高模型訓練的預測精度和收斂速度。最終,改進后的模型在巖石薄片巖性識別任務中擁有更高的識別準確率和更快的收斂速度。
1 方法原理
本文在ConvNeXtV2的基礎上嵌入了全局注意力機制,設計了多尺度特征融合模塊,并改進了優化器,以提高模型訓練的預測精度和收斂速度。
1.1 ConvNeXtV2網絡
ConvNeXt[14]對不同規模模型和數據集變化具適應性,其主要特點包括:調整原ResNet50網絡中各個階段(block)的堆疊次數,將(3,4,6,3)修改為(3,3,9,3);使用深度可分離卷積替代傳統卷積操作;將原Stem模塊替換為4×4卷積核、步幅為4的卷積層;設計了反向瓶頸模塊替代傳統瓶頸模塊等。
ConvNeXtV2[17]在ConvNeXt架構的基礎上,結合自監督學習框架,設計了掩碼自編碼器,并提出了全局響應歸一化層以增強通道間的特征競爭,解決潛在的特征崩潰問題。
ConvNeXtV2結構如圖1所示,輸入的圖像首先經過4×4卷積層并經過層歸一化處理,隨后輸入到堆疊的模塊和下采樣層中,然后經過全局平均池化層、層歸一化及全連接層,最終輸出分類結果。
1.2 全局注意力機制
近年來,為了提升計算機視覺任務的性能,發展了多種注意力機制。然而,由于信息減少和維度分離,這些機制在利用有限感受野進行視覺表征時,往往忽略了全局空間與通道之間的相互作用。
全局注意力機制(GlobalAttentionMechanism,GAM)由通道注意力子模塊和空間注意力子模塊組成,如圖2所示。輸入特征圖通過通道注意力模塊,然后經過空間注意力模塊,最終得到輸出特征圖。該機制通過跨越空間和通道維度,可以有效減少信息的彌散,同時增強全局維度之間的交互特征。
其中,通道注意力模塊結構如圖3a所示。假設給定輸入特征圖F1,首先將特征矩陣由C×W×H轉置為W×H×C,輸入到一個兩層的多層感知機MLP中,對跨維的通道—空間依賴關系進行放大。然后,將得到的特征矩陣轉置為C×H×W,經過非線性激活函數Sigmoid激活得到最終的通道注意力映射Mc(F1)。F1經過通道注意力加權得到特征圖F2,即
式中?表示元素間的乘法。
空間注意力模塊的結構如圖3b所示,采用了兩個卷積層進行空間信息的融合。同時,針對最大池化操作導致信息利用率下降的問題,去除了池化操作以更好地保留特征映射。輸入特征圖F2后,首先經過一個7×7卷積層,由于空間注意力導致參數量的增加,使用縮減比對特征進行降維處理,設置縮減因子值為4;降維后的特征再經過一次7×7的卷積輸出原始通道數的特征,經過Sigmoid激活函數處理后,得到空間注意力映射Ms(F2)。F2經過空間注意力加權得到最后的輸出結果F3,即
本文將GAM模塊引入到ConvNeXtV2網絡(圖1)的第一個卷積層之后(圖4),注意力機制使得模型能夠根據輸入數據進行動態加權,通過在最初階段加權輸入特征,模型能夠更有效地聚焦于有用的信息,從而提高后續層的學習效果。此外,由于GAM模塊跨越空間和通道維度的特性,使卷積網絡在低層次就能夠引入全局信息,這有助于提升對整個圖像上下文的理解,從而提升模型的性能。
1.3 多尺度特征融合
GoogLeNet神經網絡模型[21]的核心組成部分是Inception模塊,其采用了模塊化設計,將多個卷積和池化操作組合為一個網絡模塊,并以模塊為單位構建整個神經網絡。
Inception模塊的結構如圖5所示,包含四個分支,即1×1、3×3、5×5的卷積層和一個3×3的池化層。輸入特征圖并行經過上述四個分支分別得到四個輸出,然后將這四個輸出拼接形成最終結果。但并行執行不同尺度的卷積操作將會導致計算量和參數量的顯著增加。
ConvNeXtV2屬于視覺大模型,本身參數量較大,為了避免進一步增加模型的復雜性,本文使用深度可分離卷積對Inception模塊進行改進。深度可分離卷積(圖6)的基本思想是將傳統卷積操作分解為深度卷積(DepthwiseConvolution,DW卷積)和點卷積(PointwiseConvolution,PW卷積)兩步進行。在深度卷積階段,采用較小的卷積核對輸入的每個通道進行獨立卷積,生成與輸入通道數(N)相同的輸出特征圖通道數。這種方式無法在通道維度上進行特征圖數量的擴展或壓縮,同時也不能有效挖掘不同通道特征在相同空間位置上的相關性。盡管這一設計有效減少了計算量,但導致了通道維度上的信息交互喪失。因此,需要引入點卷積以便更好地組合特征圖,從而增強通道間的信息交流。
點卷積是一種與傳統卷積操作相似的過程,其卷積核的尺寸為1×1×C,其中C代表上一層輸出特征圖的通道數。在逐點卷積中,每個卷積核對上一層輸出的特征圖在通道維度上進行加權組合,從而生成新的特征圖。與常規卷積相比,采用深度可分離卷積能夠顯著減少模型的參數量,從而有效降低模型的復雜性。
本文將Inception模塊改進為不帶殘差短接的線性瓶頸結構,并簡化池化層,采用三條并行分支進行特征提取。首先,所有分支通過逐點卷積進行特征升維;然后,在第二和第三分支分別使用3×3和5×5的深度卷積提取各通道的特征;最后,通過逐點卷積進行降維。這種設計在減少模型參數和計算量的同時,能夠有效保持較高的特征表達能力。將改進后的瓶頸結構命名為MFM(Multi‐scaleFeatureFusionModule),并在下采樣層中用MFM替代常規卷積,改進后的結構如圖7所示。
1.4 Lion優化器
優化器,即優化算法,負責對梯度進行優化和更新,不僅能夠引導模型找到最優解,還能顯著加速模型的收斂過程。本文使用Lion優化器[18]替代了原模型使用的AdamW優化器[19]。
與AdamW優化器相比,Lion優化器在參數緩存方面需求更低,從而有效節省顯存。此外,Lion優化器省略了AdamW優化器更新過程中計算量最大的除法和開根號運算,因此具備更快的運算速度。同時,Lion優化器通過符號函數Sign處理更新量,特別是在動量更新方面,將其置于變量更新之后。
與其他優化器相比,Lion優化器通過高效的搜索技術探索廣泛稀疏的參數空間,并引入了程序選擇和簡化策略,從而縮小了代理模型與目標任務之間的差距,同時提升了模型的泛化能力。與自適應優化器不同,Lion優化器對每個參數采用相同幅度的更新,使其最終的表現和性能優于主流的AdamW優化器。
2 模型測試
2.1 數據集建立及實驗環境
巖石薄片顯微圖像中包含的礦物顆粒形態復雜,語義特征豐富多樣,目前尚無統一的標準數據集。本文所用的巖石薄片圖像數據來源于中國實物地質資料網及網絡公開數據集,經過篩選后構建了實驗所用數據集。如圖8所示,選取花崗巖、石英砂巖、玄武巖、片巖、片麻巖和灰巖等六種巖石薄片作為研究對象。該數據集包含3437幅圖像,其中花崗巖721幅,石英砂巖975幅,玄武巖456幅,片巖384幅,片麻巖400幅,灰巖501幅。數據集按8:2隨機劃分為訓練集和測試集,并采用剪裁、旋轉和中心化等方法進行預處理。在模型訓練過程中,學習率設置為0.0001,批大小設定為32,訓練輪數(epoch)為200。
實驗設備配置CPU為6×XeonE5‐2680v4,GPU為NVIDIARTXA2000,操作系統為Ubuntu18.04。所使用的軟件包括VisualStudiocode1.78.0、Pytorch1.11.0、Python3.9。
2.2 評價指標
為全面評估巖石薄片圖像分類模型的可靠性,本文選取了準確率(Accuracy)、精確率(Precision)、召回率(Recall)、特異度(Specificity)和F1值作為主要的模型評價指標。
準確率指分類正確的樣本占總樣本個數的比例,即
式中:TP為將正樣本正確地分類為正樣本的數量;TN為將負樣本正確地分類為負樣本的數量;FP為將負樣本錯誤地分類為正樣本的數量;FN為將正樣本錯誤地分類為負樣本的數量。
精確率指在識別為正類的樣本中,實際上屬于正類的樣本所占的比例,即
2.3 消融實驗
為驗證本文提出的各項改進措施對模型性能的提升效果,分別對嵌入注意力機制、引入多尺度特征融合結構及改進優化器進行了消融實驗。每次實驗的評價指標數據均被記錄,并繪制了改進前、后的混淆矩陣(圖9)。混淆矩陣提供了模型分類過程中的直觀表現,顯示了模型在分類時可能產生的混淆情況。矩陣中每列的數字之和代表測試集中對應類別巖石薄片的總數量,主對角線上的值表示正確分類為正類的巖石薄片數量,而非對角線的值則表示錯誤分類為其他類別的巖石薄片數量。主對角線方塊顏色越深且數值越大,表明模型的分類效果越好。由圖9可見,每項改進對模型的識別性能均產生了積極影響。以花崗巖分類為例,原始模型Conv‐NeXtV2能夠正確分類84幅花崗巖圖像(圖9a)。引入GAM后,模型正確識別的花崗巖圖像數量增加至86幅(圖9b)。在進一步加入GAM與多尺度融合模塊MFM之后,模型正確分類的花崗巖圖像數量提升至88幅(圖9c)。最終,經過所有改進后,模型正確識別的花崗巖圖像達到了90幅(圖9d)。此外,改進后的模型在總體正確分類圖像數上也達到了最高值。據此表明本文改進的模型在巖石薄片的分類準確性方面表現最佳。
消融實驗結果如表1所示。在模型的第一個卷積層后嵌入GAM全局注意力機制,可使模型跨越空間和通道維度更有效地提取特征,從而使模型的識別準確率提升了0.5%。此外,將ConvNeXtV2中的下采樣層的卷積替換為改進的多尺度特征融合模塊,使網絡能更好地適應不同尺度的信息,導致模型準確率提升了1.1%。同時,由于采用了深度可分離卷積,模型的參數量減少了1.3M。最后,使用Lion優化器替代原有的AdamW優化器,進一步提升了模型的準確率,增幅為1.3%。然而,僅憑準確率不足以全面評估模型的性能,因此本文還計算了模型的精確率、召回率、特異度及F1值。
最終,在巖石薄片巖性識別應用中,經過嵌入注意力機制、引入多尺度特征融合模塊及改進優化器后,本文所提改進算法相較于原模型,準確率提升了2.9%,達到了96.1%;F1值提高了2.9%,均表明了該模型在綜合性能方面優于改進前。
改進后模型對各類巖石薄片的識別效果如表2所示。結合表2與圖9d可知,模型在改進后表現出優異的分類性能,能夠準確預測80幅石英砂巖、200幅片麻巖及80幅玄武巖圖像,召回率達到了100%。這主要是因為三者在顯微鏡下具有明顯特征,即石英砂巖包含均勻分布的大量石英顆粒,通常呈現透明或半透明的外觀,且含有少量黏土等結合物;片麻巖的主要成分為長石,并含有云母等礦物,具有顯著的片麻狀結構;玄武巖中常見的礦物為斜長石和輝石,輝石通常呈棕色或黑色。此外,花崗巖的誤識別率相對較高,召回率最低,為89.1%。在101幅花崗巖圖像中,有8幅被誤分類為片巖,原因在于在光學顯微鏡下,花崗巖薄片與片巖薄片在某些特征上較為相似,例如片巖中的云母片與花崗巖中的石英或長石顆粒在薄片上呈現相似的形態,這導致模型在識別時出現一定程度的混淆。但模型對各類巖石分類的特異度均在95%以上,表明其能夠有效識別負類樣本,這進一步證明了本文提出的模型在巖性識別方面的準確性與可靠性均較高。
為直觀地評估各項改進對模型收斂速度的影響,本文在每次改進后記錄了模型在測試集上的準確率與損失值,以實時監控模型訓練過程,確保每個模型均在收斂狀態下完成訓練。由圖10可見,最終改進的模型在準確率方面達到了最高值,損失值最低,并且收斂速度顯著提升。
2.4 模型對比
為驗證本文模型的有效性,選擇了主流的ResNet50、ResNet101、VGG16和GoogleNet作為對比模型,并在本文研究的巖石薄片數據集上進行訓練。同樣計算了準確率、精確率、召回率、特異度和F1值,結果如表3所示。
從表3可以看出,ConvNeXtV2在巖石薄片巖性識別任務中表現出色,分類效果優于ResNet50、ResNet101和VGG16,并略優于GoogleNet,驗證了ConvNeXtV2網絡的優勢。本文改進了Conv‐NeXtV2網絡,與原網絡相比,準確率、精確率、召回率、特異度和F1值分別提升了2.9%、3%、0.5%、2.9%,證明了本文方法在性能上有顯著提升。
3 實際資料應用
為了更直觀地評估本文模型在巖石薄片圖像巖性識別中的實際應用效果,本文從6類巖石薄片圖像中各隨機選取一幅圖像,采用Grad‐CAM方法[20]對改進模型與原始模型進行巖性識別的可視化對比分析(圖11)。該方法能夠更清晰地呈現模型識別過程中的關注區域,從而有助于更深入地理解模型的決策機制。生成的熱力圖顏色越接近紅色,表示模型越關注該區域;顏色接近藍色則表示模型關注度較低。以石英砂巖圖像為例,由圖11b可見,相較于ConvNeXtV2,改進的本文模型生成的熱力圖覆蓋面積更大,且顏色更深。這表明改進后的模型能夠提取更廣泛的特征,并且在識別巖石薄片的紋理和內部礦物特征時表現出更高的敏感度。因此,本文所提出的模型在巖石薄片巖性識別任務中性能更優異。
4 結論
本文以ConvNeXtV2作為基礎模型進行改進,首先,嵌入全局注意力機制,以便模型能夠跨越空間和通道維度,有效提取圖像中的重要特征;其次,加入改進的多尺度特征融合模塊,旨在捕獲并融合來自多個尺度的信息;最后,采用Lion優化器提升模型的泛化能力并加快訓練過程。通過上述改進,模型在巖性識別任務中表現出更優異的性能,在處理輸入圖像時能夠從多個尺度提取更加豐富的特征,識別精度得到了提升,同時模型收斂速度更快。實驗結果驗證了改進模型在巖石薄片識別中的有效性。
本文主要聚焦于提升模型的分類準確率,對于模型的體積和復雜度優化探討較少。考慮到實際應用場景和需求,未來研究需要探索模型剪枝、知識蒸餾等方法以進一步壓縮模型體積,從而提高其在巖石薄片巖性識別任務中的實用性。