王佳銳,劉能鋒,曲鵬
(1.廊坊燕京職業技術學院 機電工程系,河北 廊坊 065200;2.哈爾濱工業大學 實驗與創新實踐教育中心,廣東 深圳 518055)
鋼鐵材料是目前工業中應用最廣、用量最大的金屬材料[1]。鋼鐵材料受加熱條件、軋制工藝、冷卻速度、熱處理工藝等因素的影響,其顯微組織類型及形貌特征等呈現出多樣性和復雜性,也決定著材料的性能,因此對鋼鐵材料顯微組織進行正確分類尤其重要[2]。其中鐵素體和馬氏體的結構和性能差別較大。鐵素體[3]顯微組織呈明亮的多邊形晶粒組織,各晶粒位向不同,受腐蝕程度略有差異,因而稍顯明暗不同。鐵素體組織具有良好的塑性和韌性,但強度和硬度很低。鐵素體不銹鋼因性價比高而應用廣泛。430 鐵素體不銹鋼[3]可作為洗衣機滾筒制造材料,洗碗機內壁材料等。439 鐵素體不銹鋼[3]具有焊接性和成型性佳的特點,在制糖和能源產業中作為熱交換管使用。馬氏體[3]的立體組織有片狀和板條狀,在金相中多為針狀組織。相比鐵素體而言馬氏體具有高強度和硬度,但塑性幾乎為零。420 馬氏體不銹鋼[3]用作外殼手術刀具。鐵素體和馬氏體組織對鋼鐵材料的工藝性能和使用性能有著重要影響,區分與辨識二者尤為關鍵。
不同材料元素在一定條件下可以制備出相應的金屬材料,每種金屬材料由于各組份呈現不同的分布狀態和具有特定形態的金相組織圖像。通過金相組織圖像可以觀察該材料的宏觀組織形貌。金相組織主要是通過光學顯微鏡拍攝相應圖像,通過人工觀察與分析金相圖片可獲得材料信息,如通過確定金相組織可推測該材料的力學性能、評判工藝措施是否合理等,是最常規的一種材料表征方法[4]。該表征方法需要技術人員具有較高的專業知識儲備以及豐富的實踐經驗。現實中往往由于從業人員專業水平不高、人工觀察不細致,導致分析的結果不準確,效率較低。因此,利用自動辨識技術對金相組織圖像進行計算機輔助鑒別,將有效提高評判的準確度和效率,對金相組織相關的科研分析、生產檢測以及相關教學工作都具有重要意義。
計算機圖像識別技術是人工智能技術的重要領域之一,在許多領域都有成熟的應用,對金屬材料領域也有一定的應用。張勇等[5]改進BP 神經網絡對AZ91 鎂合金晶粒尺寸進行預測,使誤差降低5%。張鵬等[6]提出了一種預測Gd2O3/6061Al中子屏蔽材料力學性能的卷積神經網絡模型,捕捉晶粒并統計晶粒大小、數目等信息。曹卓等[7]研究發現卷積神經網絡模型中梯度與材料性能之間有一定的關聯性,并進一步驗證了卷積神經網絡具有較好的材料性能預測能力。李維剛等[8]采用掃描電子顯微鏡(scanning electron microscope,SEM)獲得鋼鐵材料微觀組織圖片進行自動辨識,取得了較好的效果,然而訓練樣本數量過小,容易造成模型過擬合現象,對于不同尺度的微觀組織圖并未做深入研究。目前針對金屬表面形貌的自動識別研究主要集中于通過SEM 掃描電鏡得到清晰度較高的某種特定微觀組織圖像,采用傳統的數字圖像處理方法,擬合晶粒邊界,實現晶粒分割[9];獲取晶粒尺寸信息、對晶粒尺寸及性能預測[5-7];采取手動提取圖像特征,利用數據挖掘或機器學習實現圖像分類或結構性能分析等[10-13]。然而利用卷積神經網絡技術對金相組織圖像自動識別的研究卻非常少,有效研究成果更是寥寥無幾。
本文建立金相組織圖像數據集,改進LeNet-5、AlexNet、VGGNet 3 種不同卷積神經網絡模型,實現自動辨識鐵素體與馬氏體的金相組織。通過實驗結果分析改進卷積神經網絡模型特點,使卷積神經網絡算法可在金屬材料組織的自動辨識領域推廣應用。該技術可在工業原材料檢測、材料制備檢測、成本檢測及教學科研等領域實現鐵素體與馬氏體金屬材料組織的自動辨識,不受人為因素影響,有效提高二者的識別率,為后續材料性能分析、工藝研究以及材料的使用等奠定理論依據。
數據集是影響卷積神經網絡準確度的重要因素之一,數據集的整理也是本文需要解決的首要問題。卷積神經網絡等算法模型要得到高的準確度,需要大量的樣本訓練,然而實驗數據有限,很難獲得大量相同材料的金相組織圖像。通過標準金相樣塊,利用奧林巴斯BX 系列正置金相顯微鏡獲取金相圖像。圖1 為收集的金相顯微組織圖像。


圖1 金相組織圖像Fig.1 Metallographic structure images
雖然在同一平面內晶粒大小不同,但金相組織分布相對均勻,整體特征與局部特征相似,分割后的圖像也具有較高的辨識度。訓練卷積神經網絡模型需要大量樣本集,如果輸入的圖像尺寸較大,則訓練過程中會產生較大的計算量和大量的參數,這會影響模型訓練的速度,甚至對計算機硬件提出很高的要求,實驗室無法實現其模型訓練過程。小尺寸圖像樣本有助于提高模型的訓練速度,對計算機的硬件要求相對較低。有些圖像的局部特征不明顯或清晰度不高,影響模型訓練的準確度,采用圖像分割可以將其去除,避免不必要的影響。因此,本文采用金相組織圖像分割的方法增大樣本數量。
圖2 為采集的金相組織圖像經過改變分辨率和分割的方法獲得大小為(32×32) dpi 的對比圖像。


圖2 金相組織圖像分辨率統一及分割圖像對比Fig.2 Resolution unification of metallographic structure images and image segmentation comparison
圖2 中(a)圖為將圖1 中(a)圖鐵素體的金相組織圖像分辨率歸一化為(128×128) dpi,將(a)圖分割成(64×64) dpi 的四分圖像得到圖2 中的(b) 圖,(c) 圖為將(a) 圖分割成16 份(32×32)dpi 的圖像,(d)圖中將(b)圖(64×64) dpi 的圖像縮小成(32×32) dpi 的圖像。由所得圖像可以觀察到,(c)圖中大部分晶粒被分割,圖像中信息無法反映晶粒特征,(d)圖中的晶粒特征被保留下來,本文采用此類圖像建立樣本數據集。
金相組織圖像的清晰度受光線等影響,在參與模型訓練前需進行圖像預處理。本文運用歸一化[14]方法將圖像灰度值范圍擴大以提高圖像的對比度。實驗發現該方法同時會產生一定的干擾點,本文通過高斯平滑處理[15-17]進行降噪,得到較理想的圖像,如圖3 所示。因金相組織圖像放大倍數不同,在分割成相同尺寸的圖像時,放大倍數較大的金相組織晶粒較少,有些圖像甚至只有某個晶粒的一部分,為使模型具有一定的實用性,本文將一些圖像進行縮小處理,從而替代無法反應晶粒真實特征的圖像。


圖3 金相組織圖像灰度值歸一化、平滑處理對比Fig.3 Comparison of normalization and smoothing of gray value of metallographic structure image
圖3 中(a)和(d)分別是鐵素體和馬氏體經過分割后的圖像,(b)和(e)分別是(a)與(d)經過灰度值歸一化后所得的圖像,晶粒特征更加清晰,但同時產生一些噪點,干擾圖像信息,(c)和(f)分別是(b)與(e)經過高斯平滑處理后所得圖像,可看出圖像降噪處理后,其特征信息同時得到保留。本文所建數據集為原圖像經過上述圖像預處理操作。
綜上所述,本文的數據集圖像分為兩類:鐵素體和馬氏體,每類圖像的訓練樣本集有1000 張,測試集為150 張,分辨率為(32×32) dpi,均為1 通道灰度圖像。
人工神經網絡[18-19]是模擬動物神經網絡連接方式處理數據的一種算法模型,它由多個神經元結構連接組成。神經網絡的學習,是通過計算機自主學習找到一組權重,使得神經網絡的輸出與目標越來越接近[18]。
卷積神經網絡(convolutional neural network,CNN)[20-22]的層與層之間通過卷積計算的方式連接。圖4 反應了全連接與卷積連接的區別。

圖4 全連接與卷積連接方式比較Fig.4 Comparison of fully connection and convolutional connection
卷積神經網絡主要包含卷積層、池化層和全連接層。輸入數據經過卷積層的卷積計算后,得到特征圖像,具體計算為

式中:wi j為權重值,xm+i,n+j為輸入值,b為偏置,ymn為特征值。
特征圖像經過池化層[24-25]后可縮小尺度。池化層的采樣方式有均勻采樣、最大下采樣等。最大下采樣(max pooling)是在采樣區域取最大值作為輸出。如果進行S1×S2的均勻采樣,取S1×S2內輸入值x的 平均值為該區域的輸出值y,具體計算為

式中:ymn為S1×S2區域的 輸出值,xm×S1+i,n×S2+j為S1×S2區域內的任意輸入值。
全連接層是一個淺層感知機,起到分類的作用。輸出層采用softmax 分類器,通過計算概率來判別樣本種類,可完成多種類別的分類,具體計算為

式中:k表示某個分類表 示該分類的值,p(y(i)=k|x(i),θ)表 示第k類的概率,θ為權重。
通過訓練集樣本的學習,softmax 分類器學習最優參數,使得損失函數的損失值達到最小,最常用的為交叉熵函數,具體計算為

式中:1 {y(i)=j}表示若樣本i的真實分類為j,則取值為1。
訓練的過程中損失函數的值逐漸減小,準確度逐漸增高,卷積神經網絡模型逐漸收斂,當損失函數小于允許的范圍,即得到訓練模型。
LeNet-5 網絡[26]結構中使用BP 算法訓練模型,采用Sigmoid 作為激活函數,提取原始圖像上的有效表征。Sigmoid 激活函數具體計算為

該函數平滑、易與求導,將輸入值映射到[0,1]。
本文改進LeNet-5 網絡模型記為LeNet-Met-Str,輸入層為(32×32) dpi 的1 通道灰度圖像,第1 層為卷積層,包含6 個5×5 的卷積核,步長為1,與輸入圖像進行卷積計算,得到6 個(28×28) dpi的特征圖像;第2 層為池化層,池化核尺寸為2×2步長為2,采用均值下采樣方式得到6 個(14×14)dpi 特征圖像;第3 層為卷積層,16 個5×5 的卷積核,步長為1,采用局部連接的方式得到16 個(10×10) dpi 的特征圖像;第4 層為池化層,池化核尺寸為2×2,步長為2,采用均值下采樣方法得到16個(5×5) dpi 的特征圖像;第5 層為全連接層,使用120 個神經元做全連接;第6 層為全連接層,含有84 個隱藏單元;最后的輸出層為2 個,用以實現鐵素體和馬氏體的自動識別。圖5 為本文運用LeNet-MetStr 網絡結構訓練金相組織模型示意圖。

圖5 LeNet-MetStr 網絡結構Fig.5 LeNet-MetStr network structure
AlexNet 網絡[27-28]結構采用了Relu 激活函數;池化尺寸比步長大,產生覆蓋的池化操作,使結果更準確;引入Dropout 隨機刪除網絡中的一些隱藏神經元,有效避免過擬合現象,模型訓練時間也相對縮短。
Relu 激活函數[29]的具體計算為

該函數為非零線性函數,有效克服梯度消失,加快訓練速度。
AlexNet 網絡輸入的圖像是能反應顏色特征的三通道彩色圖像,且分辨率是(224×224) dpi。而本文所研究的金相組織圖像并不需要彩色來反應其特征,所以輸入圖像仍為(32×32) dpi 的單通道灰度圖像。
本文將AlexNet 改進網絡記為AlexNet-Met-Str,網絡結構共6 層,其中2 層卷積層,2 層池化層,2 層全連接層。第1 層為卷積層,采用7×7 的96 個卷積核,步長為1,得到(26×26) dpi 的96 個特征圖像;第2 層為池化層,采用3×3 的池化核,步長為2 的最大值下采樣法進行池化;第3 層為卷積層,采用5×5×256 的卷積核,步長為1,得到(9×9) dpi 的256 個特征圖像;第4 層為池化層,采用3×3 的池化核,步長為1 最大值下采樣法進行池化;第5 層和第6 層為全連接層,全連接層采用Dropout (丟棄概率rate=0.5)來隨機刪除一些隱藏神經元以提高效率,降低過擬合現象。
VGGNet[29]通過采用3×3,步長為1 的小卷積核多次掃描的方法,加深了網絡的深度,其優點是有較好的泛化能力,良好的遷移學習能力。
本文根據所研究圖像特性對VGG16 網絡結構進行改進,記為VGG-MetStr。該模型中采用的激活函數為ELU 函數[30],具體計算為

式中:α為可調節的參數。ELU 函數將Sigmoid 函數和Relu 函數相結合,有效解決Relu 函數在負數時不被激活、梯度消失的情況,更具魯棒性,收斂速度更快。
VGG-MetStr 網絡結構共有17 層,分為6 段,前5 段每段由兩層卷積層和一層池化層組成,卷積層采用3×3,步長為1 的卷積核進行卷積,池化層采用大小為2×2,步長為1 的池化核進行池化計算。最后一段為2 層全連接層。
本實驗的硬件支持CPU 為intel i7-9750H,GPU 為NVIDIA GTX1650,內存8 GB,操作系統為Unbuntu18,環境為Pycharm,平臺使用Tensorflow 與keras,語言使用Python。網絡模型的參數采用隨機生成,實驗所得數據結果采用Tensor-Board 可視化。經過預處理后的數據集圖像作為輸入,經過3 種改進網絡結構訓練,得到本文主要統計的2 個指標,準確度(acc)和損失函數(loss)。圖6 為LeNet-MetStr 網絡模型在不同迭代次數訓練樣本模型時所得的準確度。

圖6 LeNet-MetStr 網絡模型在不同迭代次數訓練樣本模型所得的準確度Fig.6 Accuracy of LeNet-Metstr network model in training sample model with different iteration times
圖6(a)為采用LeNet-MetStr 網絡模型在訓練次數為20 時所得訓練樣本準確度,圖6(b)為采用LeNet-MetStr 網絡模型在訓練次數為50 時所得訓練樣本準確度。由圖6 可以看出,隨著訓練次數及迭代次數增多,模型收斂速度加快,準確度也有所增長。后續的模型訓練中,本文均采用訓練次數為50。
本文將3 種改進網絡訓練模型的準確度與損失函數值做對比得出結果如表1 所示,其中LeNet-MetStr 網絡和VGG-MetStr 網絡訓練模型的準確度均可達到最高值100%,AlexNet-MetStr 網絡訓練模型的準確度可達到97%;對比損失函數值,AlexNet-MetStr 網絡訓練模型的損失函數值最大,LeNet-MetStr 網絡訓練模型的損失函數值其次,VGG-MetStr 網絡訓練模型的損失函數值最小。

表1 LeNet-MetStr、AlexNet-MetStr、VGG-MetStr 訓練模型準確度和損失值對比Table 1 Comparison of accuracyand loss value of LeNet-MetStr,AlexNet-MetStr and VGG-MetStr training models
圖7 為3 種改進網絡模型訓練過程所得準確度的變化過程。

圖7 3 種改進網絡模型訓練所得準確度變化過程Fig.7 Change process of accuracy obtained from training of three improved network models
對比圖7 中3 種模型訓練過程中準確度的變化過程,可以觀察到LeNet-MetStr 網絡模型在迭代約300 次后,準確度開始快速上升,迭代次數至500 次左右,準確度達到約0.8,能較快的趨于收斂,隨后準確度緩慢上升;AlexNet-MetStr 網絡模型在迭代次數約500 次之前,訓練過程與LeNet-MetStr 網絡模型訓練過程相似,其后收斂效果較優,準確度提升相對較慢;VGG-MetStr 網絡模型在迭代約600 次后,準確度開始快速上升,迭代次數至500 次左右,準確度達到約0.8,訓練過程稍長,迭代次數在4500 至5000 次左右時,收斂效果更優,準確度更高。該結果與網絡結構設置及相關參數設置相符。
本文將測試集數據傳入3 種網絡訓練好的模型,得到測試集的準確度如表2 所示。

表2 LeNet-MetStr、AlexNet-MetStr、VGG-MetStr 模型測試集準確度Table 2 Test accuracy of LeNet-MetStr,AlexNet-MetStr and VGG-MetStr models
由表2 可以看出,VGG-MetStr 網絡所得訓練模型能夠100%識別測試集的圖像,LeNet-Met-Str 網絡和AlexNet-MetStr 網絡所得的訓練模型識別測試集圖像的準確度均為94.99%。VGG-Met-Str 網絡模型要優于LeNet-MetStr 網絡模型和AlexNet-MetStr 網絡模型。
在實際使用中,會出現未經過預處理的圖像作為輸入,檢測材料類別。為此,將未經預處理的150 張測試集圖像進行測試,所得結果如圖8所示。


圖8 3 種改進網絡模型對未經預處理測試集判斷結果Fig.8 Judgment results of three improved network models on non preprocessed test sets
由結果可見,150 個測試圖像中,LeNet-Met-Str 網絡模型可以準確識別134 個,AlexNet-Met-Str 網絡模型可以準確識別128 個,VGG-MetStr 網絡模型可以準確識別141 個。表3 為3 種模型未經預處理測試集準確度對比。

表3 LeNet-MetStr、AlexNet-MetStr、VGG-MetStr 模型未經預處理測試集準確度Table 3 Unprocessed Test accuracy of LeNet-MetStr,AlexNet-MetStr and VGG-MetStr models
由此可見,對未經預處理的圖像測試,VGGMetStr 網絡模型仍可得到較高的準確度。
本文對3 種改進網絡層級進行比較,如表4所示。可以看出LeNet-MetStr 和AlexNet-Met-Str 的網絡層級相同,AlexNet-MetStr 比LeNet-MetStr 的卷積核和池化尺寸較大,VGG-MetStr 網絡的卷積核小,層級比LeNet-MetStr 和AlexNet-MetStr 兩種網絡模型更深。

表4 LeNet-MetStr、AlexNet-MetStr、VGG-MetStr 網絡層級比較Table 4 Comparison of network levels of LeNet-MetStr,AlexNet-MetStr,VGG-MetStr
經過實驗數據對比可以看出,LeNet-Met-Str 網絡結構簡單,由于卷積核尺寸較小,網絡層級較深,對本文所研究的小尺寸圖像訓練有很好的效果。AlexNet-MetStr 網絡模型卷積核尺寸相對較大,對大數量樣本和大尺寸彩色圖像有很快的計算速度和很高的準確度,而本文由于樣本數量有限,輸入的圖像尺寸相對較小,AlexNet-Met-Str 網絡在訓練過程中會丟失圖像部分細節特征,從而沒有得到較好的準確度。VGG-MetStr 網絡模型采用更深的層和更小的卷積核計算特征圖像,能提取圖像中細小的特征,VGG-MetStr 比Le-Net-MetStr 和AlexNet-MetStr 具有更高的準確度,更好的收斂效果。
本文通過對金相組織圖像特征分析,改進卷積神經網絡實現鐵素體和馬氏體兩種金相組織圖的自動識別,模型訓練及測試準確度最高均可達到100%。結論總結如下:
1)分析鐵素體與馬氏體的金相組織圖像特點,采用圖像增強、圖像裁剪、尺寸縮放等方法進行圖像預處理,得到能夠反映鐵素體和馬氏體金相組織特征的訓練樣本集和測試集。
2)提出金相組織自動識別卷積網絡模型。結合金相組織訓練樣本圖像特征,優化卷積神經網絡模型,對各層網絡結構和參數進行調整,獲得訓練模型準確度優異的LeNet-MetStr、AlexNet-MetStr、VGG-MetStr 3 種改進網絡模型。
3)通過對比3 種改進卷積神經網絡模型,分析其性能,得出VGG-MetStr 網絡模型優于LeNet-MetStr、AlexNet-MetStr 網絡模型的結論,與理論相符。本文驗證了使用卷積神經網絡實現金相組織圖像自動識別的可行性和準確性,為今后更多金相組織種類的自動識別奠定基礎,筆者今后將對雙相金相組織圖像分析及自動辨識做進一步研究。