謝小娟,楊寧祥
(廣東省特種設備檢測研究院 珠海檢測院,廣東 珠海 519002)
碳鋼由于可加工性良好且性價比較高而廣泛應用在壓力鍋爐、蒸汽管道及高溫高壓機組的有關部件中。在長期服役過程中,碳鋼在一定的溫度和壓力作用下會產生石墨化現象,降低材質的強度與韌性,最終導致脆性爆管等嚴重事故。目前,關于碳鋼石墨化的檢測方法主要依賴金相分析法,即采用人工目測的方法,通過金相顯微鏡觀察試樣的金相組織圖像,然后與標準圖譜相對照進行石墨化評級[1-2]。這種評級結果帶有很強的主觀性,誤差較大,且重復性不好。
隨著計算機視覺技術與神經網絡算法的發展,研究人員開始應用圖像處理技術與機器學習方法進行金相組織分析。例如,樊丁等人[3]采用canny圖像邊緣檢測算法及8-鏈碼目標輪廓跟蹤的方法對鈷基合金金相組織進行了定量分析。吳偉等人[4]以ImageJ軟件為工具,采用圖像增強、分割等技術提取TC4鈦合金金相組織的特征參數。姜博等人[5]基于圖像處理技術結合數學形態學的方法,對鑄造鎂合金 AM50進行金相分析,得到了晶粒尺寸在整個試樣上的分布規律。此外,還有針對AL-Ti-B中間合金[6]、GCr15軸承鋼[7]等材料進行金相圖像識別的研究。總結起來,這類方法大都首先基于圖像處理技術獲取試樣的顏色、紋理、形狀等特征,再根據特征向量利用神經網絡、支持向量機等方法進行圖像分類。雖然圖像識別準確率有了一定的提高,但是由于本質上依然依賴人工設計與選擇特征,難以獲得最接近試樣屬性特征的自然表達,導致訓練時間長且誤差率較高。
卷積神經網絡(CNN, convolutional neural network)通過引入局部連接、權值共享、最大池化、非線性激活等方法,允許神經網絡從圖像中自動學習特征,避免對圖像進行復雜的邊緣檢測、閾值分割等前期預處理,比傳統機器學習方法具有更強大的特征學習和表達能力,因而在圖像分類、目標檢測等方面得到了越來越廣泛應用[8-11]。對于神經網絡模型而言,為獲得更好的精度,需要具有更寬、更深或更高的圖像分辨率,導致模型參數增多,訓練時間增長,在此背景下各種緊湊型CNN被提出,以尋求在模型精度與計算成本之間的最佳平衡點。Tan和Le[12]提出的EfficientNet網絡采用復合縮放方法,通過平衡網絡的深度、寬度和圖像分辨率,已被證實在大幅減少模型參數量的前提下,可以獲得更好的計算性能和模型精度。因此,本研究基于EfficientNet網絡構建碳鋼石墨化金相圖像的自動評級模型,以期實現通過直接輸入原始圖像,便能快速獲得評級結果。同時,為避免碳鋼石墨化金相圖像樣本過少帶來的模型過擬合問題,采用遷移學習及數據增強的方法來提高模型的準確率,以更好地滿足實際檢驗的需要。
根據《碳鋼石墨化檢驗及評級標準》(DL/T786-2001)[13]中的規定,在對試樣進行機械或化學拋光后,利用CCD攝像機通過光學顯微鏡對待檢驗部位進行成像,獲得金相組織圖像,如圖1所示。

圖1 金相圖像采集系統
根據金相組織中石墨面積百分比、石墨鏈長度以及石墨形態將碳鋼材料石墨化程度分為1~4級,分別對應“輕度石墨化”、“明顯石墨化”、“顯著石墨化”和“嚴重石墨化”,如圖2所示。

圖2 碳鋼材料不同石墨化程度圖
圖像樣本的數量和質量直接影響深度神經網絡的檢測精度,為獲得具有更好泛化能力的模型,提高分類的準確率,卷積神經網絡需要大量的訓練樣本,而目前碳鋼石墨化圖像并沒有諸如ImageNet等龐大的公共圖像數據庫,因此對試驗數據集進行圖像增強,以擴充數據樣本。
本研究采用現場檢驗所收集與積累的450張碳鋼金相圖像作為用于模型的訓練和測試的原始數據集,包括正常與不同石墨化程度的圖片。圖像增強的方法為幾何變換(包括旋轉、翻轉和平移等)、像素調整(亮度調節、對比度調節和添加噪聲等),通過增加數據樣本來提高模型的魯棒性與泛化能力,最終樣本圖像被擴充為3 210張。再將這些圖像的尺寸歸一化為224×224×3,完成訓練樣本集的構建。最后按照通用數據集劃分策略,將數據集隨機分配成訓練集(70%)、測試集(25%)和驗證集(5%) 。
根據金相組織圖像的特點以及現場檢驗所需的快速高精度要求,本研究采用EfficientNet網絡用于特征提取,構建碳鋼石墨化圖像評級系統結構如圖3所示。該網絡在ImageNet數據集上獲得了84.4%的Top-1精度和97.1% 的Top-5精度,并且參數量減少了8.4倍,速度快了6.1倍[12]。

圖3 系統結構圖
首先對輸入的金相組織圖像進行降噪、矯正等預處理;然后將圖像映射到EfficientNet主干網絡進行特征提取;最后經Softmax層輸出石墨化等級的標簽。同時,為了優化模型訓練效率,將ImageNet數據集訓練得到的模型參數作為網絡的初始化參數,遷移到金相數據集上進行訓練。
在卷積神網絡中,通過提高網絡深度(depth)、網絡寬度(width)和輸入圖像分辨率 (resolution)大小都可以獲得更好的精度。但是三者的組合空間太大,人力難以窮舉。EfficientNet提出基于復合模型縮放的方法實現三個維度上的平衡,使用復合系數來從深度、寬度和分辨率三個維度統一擴展網絡,在實現較高準確率的同時又充分節省計算資源,如式(1)所示:
(1)
式中,d、w和r分別代表網絡的深度、寬度和分辨率。α、β和γ分別代表網絡深度、寬度和分辨率的分配系數,也是需要求解的參數。φ的大小根據型可用資源進行調節,對應著消耗資源的大小。β和γ在約束上有平方,是因為如果寬度或分辨率增加1倍,其計算量FLOPs增加4倍,而深度增加1倍,其計算量FLOPs只會增加2倍。
α、β和γ可以通過網絡搜索得到最優解。EfficientNet以MobileNetV2[14]中的反向殘差結構和壓縮-激勵優化[15]為基礎構建 MBConv(mobile inverted bottleneck convolution) 作為網絡的基本模塊,在3×3或者5×5卷積網絡前利用1x1卷積升維,之后增加了一個關于SE通道的注意力機制,最后利用1x1卷積降維后增加一個殘差邊,如圖4所示。在限制目標FLOPs和存儲空間的情況下,不同的φ參數可搜索得到一系列網絡EfficientNet B0-B7。

圖4 MBConv 結構圖
本文采用 EfficientNet-B0 作為模型的主干網絡,如圖5所示。該網絡包括16個MBConv層,2個Conv層,1個全局平均池化層(Global average pooling)和1個FC全連接層,各參數如表1所示。考慮到模型對底層特征的依賴,在開始階段只采用步長為2的卷積操作,未使用最大池化,以減少細節特征的丟失。另外,網絡中的多個卷積階段采用了5×5的卷積核,是因為MBConv5×5的浮點運算次數比MBConv3×3要少,計算效率較高。

表1 EfficientNet-B0網絡參數
在全連接層之后,使用Softmax函數將網絡輸出結果映射為分類概率,如式(2)所示。最后選擇概率最大值作為圖像的分類結果。
(2)
zj=wj·x+bj
(3)
式中,yi表示softmax輸出的該圖像屬于第i類的概率,x為全連接層的輸入,bj為偏置項,wj可視為該圖像屬于第j類的特征權重,體現的是每維特征的重要程度,通過加權求和得出計算結果,再經Softmax函數轉換為概率值。
同時,由于在實際檢驗中,獲取大規模金相圖像用于模型訓練并不現實,因此在模型中,為避免圖像樣本數量不足而導致網絡訓練過擬合和不穩定的問題,采用批標準化(BN,batch normalization)和dropout[16]優化方法來減小卷積層之間的依賴,降低部分神經元在訓練過程中的活性,抑制過擬合的發生,進而提高網絡的泛化能力,增強模型分類的魯棒性。
卷積神經網絡的參數訓練需要大量的標記樣本數據,而對于碳鋼石墨化評估來說,缺少大規模的金相組織圖像樣本,本文引入遷移學習[8]的方法,借助已經訓練好的模型權重進一步學習。ImageNet數據集十分龐大,包括120余萬張圖片和1 000個分類,因此本文將在ImageNet數據集上進行訓練得到預訓練(Pre-trained)權重,將其作為EfficientNet網絡的初始參數,然后在此基礎上進行參數微調(Finetune),使得模型一方面繼承了從ImageNet數據集上學習到的特征提取能力,另一方面節省模型訓練時間,提高模型的泛化能力。
碳鋼石墨化評級模型使用Python編程語言及PyTorch深度學習框架實現,模型訓練的硬件環境為Intel i7 CPU,64G RAM,NVIDIA 2080Ti GPU。
模型訓練采用兩種方式進行,一種從零開始直接訓練,另一種采用預訓練權重和微調的方法進行遷移訓練。遷移訓練主要分為兩個階段:首先加載預訓練權重,凍結主干網絡訓練;然后凍結歸一化層,訓練其他的網絡層。設置模型訓練的超參數學習率為0.001,批尺寸為16,最大迭代數(epochs)為10。不同訓練方法的損失值及準確率曲線如圖6、7所示。

圖6 訓練損失值曲線

圖7 不同訓練方法的準確率曲線
從圖中可以看出,相較于直接訓練,利用遷移訓練的損失值在迭代482次之后就已收斂并且毛刺波動較小,經過三輪訓練后準確率也達到了95.7%。這也進一步證明了遷移學習能有效提高模型的訓練效率。
為準確分析評級模型的性能,除使用準確率A(Accuracy)作為評價指標外,針對每一類采用精確率P(Precision)、召回率R(Recall)以及F1值對評價結果進行全面評估,具體計算標準如式(4)~(6)所示,其中F1值是精確率和召回率的調和均值。上述指標的取值范圍均在0~100%之間,并且越大越好。
(4)
(5)
(6)
式中,TPi為樣本實際屬于i類且模型評級為i類;FPi為樣本實際不屬于i類但模型評級為i類;FNi為樣本實際屬于i類但模型評級不為i類。
將測試集樣本輸入評級模型,根據分類結果得到混淆矩陣如圖8所示,進而計算出模型處理金相圖像的性能指標如表2所示。

圖8 金相圖像評級的混淆矩陣

表2 碳鋼石墨化評級模型的精度性能指標
通過表2可以發現,各類石墨化程度的預測精確率在93%以上,召回率在92%之上,整體準確率達到了97.01%,滿足碳鋼石墨化現場檢測的精度要求。
為了進一步評價模型的實用性,對EfficientNet算法處理金相圖像的平均檢測時間T、算法的浮點運算數FLOPs和算法的參數量P及占用內存M進行統計分析,以衡量模型的復雜程度,如表3所示。

表3 碳鋼石墨化評級模型的計算復雜度指標
根據表3中的數據,模型在僅需12 MB內存的情況下,單幅金相圖像的檢測延遲時間為10.27 ms,金相圖像檢測速度滿足現場檢測的實時性需要。
針對碳鋼石墨化的智能評級問題,基于EfficientNet卷積神經網絡設計了應用于碳鋼金相圖像的自動分類模型。通過數據增強的方法,建立了碳鋼石墨化等級的金相圖像數據集。在模型訓練階段,引入遷移學習方法,縮短了訓練時間。采用測試數據集對模型的精度與復雜度進行評價,實驗結果顯示,在僅需12 MB內存的情況下,該模型能夠實現碳鋼石墨化分類的準確率達到97%以上,單幅金相圖像的檢測時間僅為10.27 ms。這說明該模型不僅能夠準確地對碳鋼石墨化金相圖像進行準確評級,還能滿足現場檢驗對實時性的要求。在下一步的工作中,將繼續擴充金相圖像數據集,提高模型識別準確率,同時將探究如何研制基于移動終端的碳鋼石墨化智能評級系統,提升模型的實用價值。