段獻寶,何惠珍,李平平,張志鵬,魏 灝,黃 鐵,徐云濤
(1.武漢工程大學 材料科學與工程學院,湖北 武漢 430205;2.中車戚墅堰機車車輛工藝研究所有限公司,江蘇 常州 213011)
金屬的宏觀性能與其微觀組織之間有著密切的關系,在化學成分一定的情況下,金屬中微觀組織的形貌、分布、組成和類型等因素直接決定了其宏觀性能[1]。金相圖是利用金屬顯微檢測技術對金屬樣品的斷面進行拍照而獲得的顯微照片,它在某種程度上反映了金屬在特定工藝條件下所具有的內部結構[2],對分析微觀組織與宏觀性能之間的關系、改善工藝流程、提高產品性能具有重要意義,因此在試驗室研究及工業生產中得到了廣泛應用。對金相圖所呈現的微觀組織進行準確識別是金相圖研究及應用的重要環節。傳統的微觀組織識別過程是將試驗中所獲得的金相圖與標準的金相圖譜進行比對,進而確定其所屬的微觀組織類型。由于金屬的微觀組織分類較多、特征復雜,這就使得其識別過程難度高、專業性強,因此金相圖的識別通常是由專門從事金屬材料微觀組織分析的人員完成。然而,這樣做也存在以下弊端:(1)人工識別的效率較低;(2)識別過程對從業人員有很強的專業及經驗要求;(3)即便是專業人員,在識別過程中也可能會因為受到外界環境的干擾而帶來識別準確率不穩定的問題[3]。鑒于此,發展一種高效的、高準確率的自動金相微觀組織識別方法十分必要。
在過去的幾十年中,有不少研究者致力于開發金相微觀組織識別方法。早期的識別方法基本上停留在圖像處理的層面,即利用圖像處理算法對金相圖進行例如灰度化、分割、銳化、濾波等操作,使其特征凸顯,然后再由人工完成微觀組織的識別。這種方法仍然存在識別準確率不高、自動化程度較低的問題[4]。隨著計算機視覺理論和機器學習算法的發展,一些研究者嘗試應用機器學習算法來實現金相微觀組織的識別,其中發展較早、識別效果也較好的方法是將圖像形態提取算法與支持向量機算法相結合。2015年,DeCost等人使用視覺特征包提取了圖像特征并結合支持向量機算法對黃銅/青銅、球墨鑄鐵、灰鑄鐵、亞共析鋼、可鍛鑄鐵、高溫合金等7種微觀組織進行分類識別,準確率達80%[5]。2019年,Gola等人將支持向量機與基于像素和形態學的參數相結合,對3種不同鋼材的微觀組織進行分類識別,準確率達97.47%[6]。近年來,隨著神經網絡理論的發展,研究者們嘗試將神經網絡算法應用于金相微觀組織的識別,取得了較好的效果。2016年,Yoshitaka等人利用深度卷積神經網絡對4種鋼材的微觀結構進行分類識別,準確率達94%[7]。2017年,DeCost等人采用類似方法對經過不同熱處理的鋼材的金相微觀組織進行分類識別,準確率超過95%[8]。本文的主要工作是將深度卷積神經網絡作為特征提取的主體框架,再與淺層學習的分類器相組合構造出機器學習模型,最終實現對7類金相微觀組織的分類識別。
對金相微觀組織進行分類識別的第一步是準備用于識別的金相圖數據集。為了構建數據集,研究人員采用了不同牌號的鋼材、經由不同的熱處理工藝制備了一批試樣,然后將試樣進行切片、打磨、拋光,最后用金相顯微鏡對每個試樣進行觀測、照相,從而獲得每個試樣放大500倍的金相圖。根據鋼材牌號及熱處理工藝的不同,將這批試樣的金相圖分為6類,分別用標簽a~f表示,如表1所示。對于不同試樣的金相圖,由于它們是不同牌號的鋼材經由不同的熱處理工藝而獲得,因此它們所對應的微觀組織也不相同,圖1給出了本研究中6種試樣的金相圖示例。經人工辨識,試樣a~f金相圖所對應的微觀組織分別是奧氏體、珠光體、珠光體+鐵素體、鐵素體+馬氏體+貝氏體、馬氏體、回火索氏體。

圖1 本研究中6種試樣的金相圖

表1 本研究中所用到的金相圖相關數據
由于初始金相圖數據集相對較小,在使用深度卷積神經網絡對其進行學習時容易造成過擬合,這會影響到模型的泛化性能。為此,使用圖像處理算法(包括切割、翻轉、旋轉等)對初始金相圖數據集進行增強。此外,為了提高數據集的數據質量、減少或避免數據的不一致性,采用人工方式對增強之后的數據集進行清洗。具體來說,是將那些人工無法辨識的金相圖(即特征不明顯)或經辨識與試樣金相圖不一致的金相圖(可能是因為金相圖的區域差異而造成)從數據集中剔除。另外,為了便于程序處理、提高算法的可靠性和魯棒性,在以上6類金相圖的基礎上增加了第7類,將那些不屬于以上6類的金相圖都列入該類,用標簽g表示。經過數據增強和數據清洗之后,獲得了用于訓練的金相圖數據集,表1列出了每一類金相圖所對應的圖像數量。
在完成金相圖數據集的構建之后,需要構造機器學習模型來對數據集進行學習。圖2展示了本研究中所使用機器學習模型的示意圖。該模型主要由兩部分構成:一部分是深度卷積神經網絡,該部分的主要作用是對金相圖進行特征提取;另一部分是分類器,該部分的主要作用是建立提取到的特征與最終的分類之間的映射關系。就深度卷積神經網絡而言,選擇了3種在圖像識別上表現較為突出的框架,包括VGG-16、Inception-V3和ResNet-50[9-11]。這些框架不僅具有相對確定的網絡結構,也有基于ImageNet數據集訓練出來的參數,即預訓練參數。在使用過程中,保持框架的網絡結構及預訓練參數不變,直接將其遷移到本研究的機器學習模型中,實現對金相圖特征的提取。在完成特征提取后,原始金相圖會被轉變成長度為2 048或4 096維的特征向量。該特征向量就代表了與之相應的金相圖,并輸入給后續的分類器進行分類。在使用分類器進行分類之前,還可以使用卡方檢驗[12]對提取到的特征進行篩選,以實現降低特征維度、減少模型復雜度的目的。就分類器而言,構建了8種不同類型的分類器,包括支持向量機、K近鄰、決策樹、隨機森林、邏輯回歸、樸素貝葉斯、梯度提升和人工神經網絡(ANN)[12]。在將深度卷積神經網絡與分類器組合成機器學習模型的過程中,先保持深度卷積神經網絡中卷積層和池化層的結構不變,移除其中的全連接層,然后在其后連接分類器,形成新的網絡結構。通過將3種深度卷積神經網絡和8種分類器進行組合,得到了24個不同的機器學習模型。

圖2 本研究中所使用機器學習模型的示意圖
在使用金相圖數據集對機器學習模型進行訓練時,保持深度卷積神經網絡中卷積層和池化層的參數不變,只對分類器中的參數進行優化。在使用金相圖數據集作為輸入數據對模型進行訓練時,將70%的數據用于訓練,10%的數據用于驗證,其余20%的數據用于測試。為保證每一類金相圖在訓練集、驗證集及測試集中的均勻性,在劃分數據時采用了留出法,以達到隨機分層取樣的效果。在代碼層面,使用到的機器學習框架有TensorFlow和Scikit-learn。
為了對機器學習模型的性能進行定量評估,以便從中選出在鋼材微觀組織分類識別任務中表現較優的模型,選用分類問題中常用的指標對模型進行評估,包括基于混淆矩陣的精度、查準率、查全率及F1值(查準率和查全率的調和平均值)等。
為了比較上述24個機器學習模型在鋼材微觀組織分類識別上的性能表現,使用統一的金相圖數據集對每一個模型進行訓練,得到每一個模型下的優化參數,最后再使用精度指標對每一個優化后的模型進行性能評估。為避免隨機因素對模型評估造成干擾,對每一個模型都進行了10次不同的訓練,然后計算每一個訓練后的模型在測試集上的精度,得到10個精度值,最后將這些值取平均值作為這一模型的精度,如表2所示。從表2可以看出,本研究中所涉及到的大部分機器學習模型都表現出了較高的精度,識別準確率基本都在93%以上。就深度卷積神經網絡而言,Inception-V3在與任意一種分類器組合時都表現出了最高的精度,這說明該框架在用于鋼材微觀組織的特征提取時表現最佳。就分類器而言,人工神經網絡在每一種深度卷積神經網絡框架下均表現出最高的精度,這說明該分類器在建立特征到分類的映射時表現較好。綜合來看,將Inception-V3與人工神經網絡分類器進行組合而得到的機器學習模型(記為“Inception-V3+ANN”)在本研究所涉及的鋼材微觀組織識別上表現最佳,分類準確率達到99.60%。

表2 各機器學習模型在測試集上的精度 %
為了更清晰地展示“Inception-V3+ANN”這一機器學習模型在各類金相微觀組織分類識別上的效果,使用混淆矩陣、查準率和查全率對識別結果進行分析。表3列出了該模型在測試集上的性能表現,其中混淆矩陣中的字母與表1中不同微觀組織所對應的試樣標簽是一致的,混淆矩陣中的結果則是取自一次隨機的結果,而精度與F1值為10次結果的均值。從混淆矩陣上看,該模型能夠對絕大部分金相圖樣本進行準確分類,只有極少數的樣本被錯誤地分類。由此可以看出,該模型在每一類金相微觀組織上的識別效果都比較理想,沒有出現較大偏倚的情況,說明模型在擬合良好的情況下具有較好的泛化能力。

表3 “Inception-V3+ANN”模型在測試集上的性能表現
在使用“Inception-V3+ANN”模型時,Inception-V3框架會首先對金相圖進行特征提取,并將其轉變成2 048維的特征向量。相比于原始金相圖的維數,提取到的特征向量在維數上已經得到了極大的壓縮。為了對模型作進一步的簡化,使用卡方檢驗對提取到的特征向量作進一步篩選,從中找出少量決定分類結果的關鍵性特征,然后再基于這些關鍵特征完成后續的分類。圖3繪制了分類精度隨特征維數的變化關系。可以看出,當特征維數從1維增加到5維時,模型的分類精度得到了顯著提升。隨著特征維數繼續增加,分類精度也會持續增加。當特征維數達到15維時,分類精度已達到95%。隨后,分類精度出現輕微波動。當特征維數超過25維時,分類精度基本上穩定在96%以上。總結來看,在經卡方檢驗進行特征篩選之后,用于描述原始金相圖的特征維數可以從2 048維降低到20維左右,與之相伴的分類精度只出現了輕微的降低。這表明可以在適當降低模型精度的前提下,通過消除特征向量中的冗余向量來大幅降低模型的復雜度,這一結論為模型的壓縮和簡化提供了依據。
為了探究機器學習模型對金相圖進行準確分類識別的依據,繪制了部分試樣金相圖的熱力圖,如圖4所示,圖4(a)和4(b)所對應的分別是試樣c和試樣e的金相圖(微觀組織分別為珠光體+鐵素體、馬氏體)的熱力圖。在每一幅熱力圖中,對識別結果起到關鍵支撐性作用的區域用顏色較深的暖色標識,而對識別結果貢獻較小的區域用冷色標識。可以看出,暖色覆蓋的區域只占圖像的一小部分,這說明機器學習模型只需要根據金相圖某一個區域的特征就可以實現對其進行準確分類,這與圖3分析所得出的結論是一致的。如果對暖色所覆蓋的區域進行組織特征分析,就會發現這些組織的特征都較為明顯,比如在圖4(a)中,紅色覆蓋區域所對應的組織具有明顯的珠光體特征,即黑白條紋以相間的形式出現。為進一步分析,將圖4(a)和4(b)這2幅金相圖分別進行水平翻轉和垂直翻轉,然后分別繪制熱力圖,結果如圖4(c)和4(d)所示。由圖4(c)和4(d)可以看出,原始金相圖在經過水平或垂直翻轉之后,對應熱力圖中暖色覆蓋的區域也會跟著金相圖一起翻轉,這說明本研究所用機器學習模型在對金相圖進行分類時所依據的關鍵區域是一致的,都是組織特征較為明顯的區域。

圖3 分類精度隨特征維數的變化關系

圖4 部分試樣金相圖的熱力圖
本文通過將3種深度卷積神經網絡框架(VGG-16、Inception-V3、ResNet-50)與多種分類器進行組合構建機器學習模型,然后將這些模型應用于鋼材金相微觀組織的分類識別中。通過性能評估,發現這些模型在鋼材微觀組織的識別上均表現出較優異性能。其中,“Inception-V3+ANN”模型表現出最好的綜合性能,達到了99.60%的精度和99.58%的F1值。同時,使用卡方檢驗對“Inception-V3+ANN”模型所提取的特征進行篩選,發現可以在基本保持高識別精度的前提下顯著降低特征向量的維數。另外,還使用熱力圖對機器學習模型的分類依據進行了分析。
本文的研究為鋼材微觀組織的識別提供了新方法,研究結果顯示深度卷積神經網絡可以實現對鋼材微觀組織的高效率、高精度識別。