譚兆湛,官振林
(華南理工大學 廣州學院,廣州 510800)
在高校工科機械類各專業的人才培養計劃中,《機械工程材料》是所有學生的必修課。對于這門理論性與實踐性都較強的課程,我校單獨設置了《機械工程材料綜合實驗》課程(32學時,1學分),通過綜合實驗把抽象的理論與生動活潑的實踐教學結合起來,從而讓學生加深對理論和概念的理解,培養獨立獲取知識的自學能力、解決問題的實踐技能和綜合素質[1]。每學年多個專業的學生進行了綜合實驗,金相圖片的拍照量上千張,金相圖片的分類與處理占用教師的大量時間與精力。傳統的金相分析和識別大多是依靠經驗在顯微鏡下觀察來分辨金屬的組織,不僅效率低,而且受人為主觀影響,容易造成視覺誤差。20世紀70年代,隨著計算機的發展,美、日等國率先利用計算機圖像處理技術進行金相的分析與識別,實現金相圖像的快速、準確分析和識別[2]。近年來,隨著人工智能技術的快速發展,以BP神經網絡為基礎的深度學習成為計算機處理圖像問題的一種新方法[3],并在人臉識別、醫學圖像診斷和語音識別等多個領域不斷取得成功[4]。深度學習由Hinton等[5-6]在2006年提出,主要通過BP網絡自動獲取多層次的圖像特征。Lecun等[5-6]提出了卷積神經網絡(Convolutional Neural Network,CNN),CNN是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋范圍內的周圍單元,對于大型圖像處理有出色表現,是近年發展起來,并引起廣泛重視的一種高效識別方法[7]。目前較為常用的深度學習模型有Alexnet、VGG Net、Google Net等[8-13]。在圖像分類領域,使用CNN手寫數字識別率已達99%。
金相圖像的人工識別需要一定的經驗,甚至有部分金相組織形態較為接近,人工識別難度較大,容易出現失誤。對實驗所得的大量金相圖像進行人工識別與分類,所耗費時間也較大。所以本工作采用深度學習模型中的Alexnet對批量的金相圖像進行分類、識別。
為激發學生對機械工程材料綜合實驗的興趣,實驗設計了自行車飛輪、自行車鏈條、軸、軸承、手動鋸條、彈簧、冷作模具、熱作模具、塑料模具、滾動軸承等多種源于實際生活與生產的任務,每個同學任選其中一種任務進行實驗,實驗過程中每位同學會對自己的材料進行預先熱處理和最終熱處理,并分別拍兩張熱處理金相圖片。本文選取其中4種材料進行熱處理后的不同金相組織進行識別,分別是45鋼的正火、GCr15球化退火、Cr12淬火+低溫回火、65Mn淬火+中溫回火。
45鋼的正火工藝是850 ℃加熱30 min,空冷,在顯微鏡下放大500倍所得組織為珠光體和鐵素體(白色),如圖1(a)所示。GCr15球化退火后的組織是鐵素體基體上均勻分布的顆粒狀碳化物和粒狀珠光體,在顯微鏡下放大500倍觀察,如圖1(b)所示。Cr12經980 ℃加熱油淬+低溫回火后,得到基體為回火馬氏體,白色顆粒狀及塊狀的共晶碳化物,如圖1(c)所示。65Mn經過850 ℃油淬+中溫回火的組織為回火托氏體,如圖1(d)所示。

圖1 4種不同材料的金相組織
可以看出,不同的金相組織其形態特征是有區別的。金相組織的組成可能是單一組成物,也可能有兩種或兩種以上組成物。不同的組成物受溶液浸蝕的程度不同,使得其在金相顯微鏡下具有不同的明暗程度或不同的色彩差。而一些特定的組成物具有片狀、針狀、塊狀、顆粒狀、條狀、網狀等顯著的特征,如典型的珠光體具有層片狀(或稱指紋狀)特征;羽毛狀物是上貝氏體;白色的塊狀物可能是鐵素體、奧氏體或碳化物;針狀物不是馬氏體就是下貝氏體等等。
根據不同的金相組織特征,利用Alexnet神經網絡對輸入的金相圖像進行特征提取、選擇和分類,能很好地避免人工提取特征的缺點,減少人工提取的工作量。
基于卷積神經網絡的圖像分類過程包括圖像輸入、提取圖像特征、前向傳播和后向傳播、預測等4個階段。Alexnet神經網絡作為高效的圖像識別網絡,包含8個帶權重的層[14]。圖2為Alexnet神經網絡模型圖,前5層是卷積層,主要進行特征檢測,即對數據執行卷積、池化或修正線性單元(ReLU)等操作。其中前2個卷積層和第5個卷積層包含有池化(Pooling)操作,其它2個卷積層沒有池化操作。后3層是全連接層,主要進行分類。

圖2 Alexnet神經網絡模型圖
根據圖片的局部關聯性質,卷積層利用局部區域通過卷積計算出特征映射神經元并組合成特征圖,卷積核是算法自己學習得到的,n個特征圖就提取了這個圖片的n維特征。同時,圖像的某個特征出現的位置并不是固定的,通過池化合并圖像特征相似的局部區域,既降低了各個特征圖的維度,又保持了大部分重要信息。全連接層相鄰2個層中的輸入與輸出的所有神經元都有權重連接,最后一層全連接層輸出各類的概率,依據概率大小來判斷圖像的種類。Alexnet的輸入圖像為227×227像素的3通道RGB圖像,經過卷積層中卷積、池化或修正線性單元等操作,特征圖像尺寸逐層遞減,最后由全連接層輸出1000個特征圖單元。表1為網絡層級結構和特征圖維度變化情況。

表1 特征圖維度變化情況
使用Alexnet對未在原有網絡中訓練的對象分類,可以利用遷移學習重新訓練。遷移學習是將一個類型問題的知識應用于不同類型但相關的問題的學習方法, 通過把已訓練好的模型參數遷移到新的模型來幫助新模型訓練[15]。本研究的金相圖片數據集只有4個分類,修改最后一層全連接層輸出神經元個數為4再進行訓練。
設金相圖片樣本集為{x(1),y(1),…,x(m),y(m)},樣本總數為m,x(i)、y(i)分別對應第i個樣本的預測特征值和分類標簽值。網絡訓練過程由圖像特征信號的前向傳播和誤差的逆向傳播組成[16]。訓練樣本輸入到網絡中,樣本通過神經網絡輸出預測值,整個過程如式(1)所示:

對式(2)的最小值進行求解,采用批梯度下降法更新wl和bl,迭代更新公式如下:

式(3)與式(4)中,α是學習率。根據更新后的wl和bl,通過反向傳播算法反向調整網絡中的參數大小,使誤差值不斷降低,從而使得整個網絡模型達到更好的分類效果。通過重復以上步驟,進行反復迭代,使得網絡模型達到收斂狀態,就可完成分類方法的訓練。圖3是經過多次迭代后,輸出到最后一層全連接層的4種金相組織的特征圖。

圖3 Layer8中4種金相組織的特征圖像
本實驗是在MATLAB R2019a軟件環境下進行的。圖片樣本數據集是4類金相圖片,分別是45鋼、GCr15、Cr12和65Mn在不同熱處理工藝下的不同金相組織,選自多個學年間的學生作品。所有圖片都是通過徠卡顯微鏡DMI3000采集得到,放大倍數是500。經過篩選,每類選出500張,共2000張,并以每一類數量的80%作為訓練集,20%作為測試集。
設置學習率為0.001,金相圖片的訓練迭代次數與識別準確率如圖4所示。可以看出,隨著迭代次數的增加,準確率也不斷增加,迭代次數達到60次時準確率接近99%,往后準確率基本在99%上下小幅波動。

圖4 迭代次數與準確率
圖5為某一次訓練試驗中4類不同材料的金相組織的識別情況,可以看出,45鋼平衡組織與GCr15球化組織有自身的特點,識別準確率達到100%;Cr12與65Mn淬火組織都有一些白色塊狀物且腐蝕后顏色較深,或在對焦不準的情況下拍攝后都有可能被誤判。圖6為同一次訓練中,隨機抽取的4個帶有預測標簽和預測概率的測試圖像。對金相圖片測試集進行10 次無重復訓練驗證,最終平均識別準確率達99.63%,滿足較高識別率的要求。

圖5 實際類別與預測類別

圖6 測試圖像的預測概率
針對《機械工程材料綜合實驗課》課程中的金相圖片人工分類工作量大的問題,本文分析了4種金相組織不同形態特征,提出利用深度學習的方法進行機器分類;分析神經網絡Alexnet結構及其訓練過程,通過遷移學習方法調整了Alexnet訓練模型的網絡結構,并應用該訓練方法在4類金相組織圖像樣本庫上進行深度學習,達到99.63%的識別準確率,可大大提高圖片分揀效率,縮短教學資料的整理時長,減少人工識別的工作量。