張向良
(沈陽飛機(jī)工業(yè)(集團(tuán))有限公司,遼寧 沈陽 110850)
在航空制造中,鈦合金常用于飛機(jī)的主要承力構(gòu)件,需要對其組織形態(tài)進(jìn)行檢測,及時發(fā)現(xiàn)缺陷,保證材料的力學(xué)性能。顯微組織檢測是金相檢測的一個重要項目,通過使用金相顯微鏡對樣品進(jìn)行觀察,確定材料的結(jié)構(gòu)、組織形態(tài)和元素分布。長期以來,鈦合金的顯微組織檢測都是靠人工觀測顯微鏡下的金相圖像,然后與標(biāo)準(zhǔn)圖樣、尺寸要求對比進(jìn)行的,效率低,對人員經(jīng)驗依賴嚴(yán)重。
試圖解決該問題的方法中,傳統(tǒng)圖像識別算法需要計算輪廓矩作為識別特征,而金相圖片很難提取到輪廓;傳統(tǒng)機(jī)器學(xué)習(xí)在面對像素形式的圖像數(shù)據(jù)時,無法克服平移不變性問題;近年來興起的深度學(xué)習(xí)可以通過卷積和池化學(xué)習(xí)到具有平移不變性的特征,為解決問題帶來了希望,但在實際應(yīng)用中仍面臨著一些困難。本文將以TA15 鈦合金為突破口,討論使用深度學(xué)習(xí)技術(shù)進(jìn)行鈦合金顯微組織檢測的方法。
將需要檢測的各顯微組織形態(tài)的鈦合金試樣磨制到鏡面程度,熱鑲嵌到酚醛樹脂模具中,并使用金相顯微鏡拍取多個位置的組織圖片。由于深度學(xué)習(xí)本質(zhì)上是對像素值進(jìn)行數(shù)學(xué)運算,所以需要考慮清晰度與視野的問題,即圖片的像素數(shù)與其表達(dá)的物理距離之間的關(guān)系。理論上,只要多張原始圖片之間像素數(shù)與物理距離的比一定,即可通過簡單的裁剪獲得訓(xùn)練圖片,本文所用的顯微鏡在500x 的視野下20μm 對應(yīng)的像素數(shù)為143 左右,該值因設(shè)備的拍攝像素密度而異。圖片應(yīng)紋理清晰、亮度均勻(如圖1 左),不應(yīng)有黑邊、標(biāo)尺等其它內(nèi)容(如圖1 右)。
圖1 合格TA15 顯微組織原始圖片(左)與不合格圖片(右)
拍攝完成后,依照航標(biāo)11-CL-059D 對圖片進(jìn)行人工鑒定,并按鑒定結(jié)果分類保存。注意原始圖片中的組織形態(tài)應(yīng)盡量典型,避免將紋理介于兩個類別之間的圖片用于訓(xùn)練。
原始圖片如果直接用于訓(xùn)練,會存在以下問題:
(1)旋轉(zhuǎn)/翻轉(zhuǎn)不變性,與一般圖像識別(如手寫數(shù)字)不同,鈦合金顯微組織圖像具有旋轉(zhuǎn)和翻轉(zhuǎn)不變性,如將一張TA15 合金A1 組織的圖片旋轉(zhuǎn)180°或水平鏡像,得到的仍是A1 組織,原始圖片的數(shù)量一般不足以覆蓋這么多種情況。
(2)圖片尺寸太大,以本文采集的原始圖片尺寸1008×768 輸入的話,要經(jīng)過非常多的層才能收縮到一個尺寸合適的特征圖,而這么多信息又不都是必要的。
這些問題可以由數(shù)據(jù)增強(qiáng)解決。需要注意的是,圖片直接繞中心旋轉(zhuǎn)會導(dǎo)致四角處沒有像素值,即使使用反射填充也會留下一條明顯的“分界線”(如圖2 左下角),當(dāng)旋轉(zhuǎn)接近45°的奇數(shù)倍時,這一現(xiàn)象將非常明顯。這對于一般圖像識別問題不大,但鈦合金顯微組織本身就像一種紋理,圖像變換后紋理不一致是不可接受的。
圖2 圖片旋轉(zhuǎn)后產(chǎn)生的紋理不一致
為解決上述問題,可以使用根據(jù)旋轉(zhuǎn)角與目標(biāo)尺寸回推裁切尺寸的方法。即對于隨機(jī)的旋轉(zhuǎn)角α∈[0,360)deg,求其對90 的余數(shù)α',計算:
式中d 為目標(biāo)尺寸,本文取512,ε 由下式確定:
將原始圖片灰度化后,在隨機(jī)位置裁切出形狀為(D,D)的正方形圖片,繞中心旋轉(zhuǎn)α,再從中心位置裁切出形狀為(d,d)的小正方形,對小正方形做隨機(jī)水平、垂直翻轉(zhuǎn),然后在樣本(圖片)范圍內(nèi)對像素值進(jìn)行標(biāo)準(zhǔn)化,得到增強(qiáng)后的圖片。對每一張原始圖片重復(fù)上述步驟以生成數(shù)據(jù)集。本文通過數(shù)據(jù)增強(qiáng)生成訓(xùn)練圖片3018 張,驗證、測試圖片各626 張,以A1 類別為例,如圖3。
圖3 數(shù)據(jù)增強(qiáng)所得的圖片
由于缺乏明確可靠的理論指導(dǎo),神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計一直是深度學(xué)習(xí)中的一大問題。結(jié)合金相檢測專業(yè)知識,本文的思路是:TA15 合金的顯微組織評級(分類)需要關(guān)注初生α、次生α、β 組織的大小和數(shù)量,注意到初生α 面積較大,而次生α、β 區(qū)圖像較細(xì),所以神經(jīng)網(wǎng)絡(luò)在輸入后分成兩條路徑處理。其中一條支路使用了4×4 最大池化層,并在隨后使用了帶孔卷積塊,加速特征圖收縮且減少了池化的使用;另一支路則使用了傳統(tǒng)的卷積、池化層堆疊結(jié)構(gòu)。整個網(wǎng)絡(luò)在適當(dāng)?shù)奈恢檬褂昧伺鷺?biāo)準(zhǔn)化,最后兩條支路的張量展平合并,輸入全連接層進(jìn)行分類。
經(jīng)過了大量的嘗試與迭代優(yōu)化后,本文得出了一種性能較好的網(wǎng)絡(luò)結(jié)構(gòu),如圖4。
圖4 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
確定模型結(jié)構(gòu)后,使用categorical_crossentropy 損失函數(shù)、adam 優(yōu)化器,使用準(zhǔn)確率作為性能指標(biāo),訓(xùn)練30個輪次。本文第28 輪時模型的驗證準(zhǔn)確率達(dá)到了98.52%,測試發(fā)現(xiàn)模型存在輕度過擬合,但性能已經(jīng)滿足要求,于是使用這個模型。
檢測新的試樣時,首先讀取待測試樣的顯微組織圖片,與訓(xùn)練時一樣將其轉(zhuǎn)換為灰度圖片。由于網(wǎng)路的輸入比原圖小,需要對原圖進(jìn)行裁切,為避免裁切隨機(jī)性導(dǎo)致的結(jié)果波動,可以在圖片內(nèi)隨機(jī)位置裁出10 個形狀為(d,d)的子圖,并在之后綜合考慮它們的結(jié)果。將數(shù)據(jù)進(jìn)行張量化與樣本范圍的標(biāo)準(zhǔn)化,輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測,對輸出張量沿0 軸求均值,得到的結(jié)果可以視為該試樣屬于各個類別的概率。
考慮到模型驗證準(zhǔn)確率約98.5%,意味著每100 次檢測預(yù)期會錯1-2 次,此時需要對于合格類別(A-C 類)有高置信度,否則就需要對全部預(yù)測結(jié)果進(jìn)行人工復(fù)核,自動檢測將失去意義。所以對于合并后的softmax 輸出,不使用argmax 得出類別索引,而是規(guī)定一個較大的閾值t(如0.8),僅當(dāng)模型的自信程度大于t 時才輸出這個類別,否則輸出“待定”,提醒操作人員人工檢查。
至此構(gòu)建了從原始圖片到顯微組織類別的預(yù)測管線,部署至合適的使用場景(如web 應(yīng)用)后即可使用。
本文介紹了一種基于深度學(xué)習(xí)的TA15 鈦合金顯微組織檢測方法,詳細(xì)說明了實現(xiàn)步驟與過程中的主要問題,包括原始數(shù)據(jù)采集需要注意的事項、數(shù)據(jù)增強(qiáng)方法、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以及后處理/管線構(gòu)建方法,最終實現(xiàn)了從原始圖片到顯微組織類別的端到端預(yù)測。本文方法的整體流程,如圖5。
圖5 本文檢測方法流程
最后,由于水平和精力有限,本文在模型結(jié)構(gòu)的嘗試上仍以傳統(tǒng)卷積層為主,諸如Inception 系列的膠囊網(wǎng)絡(luò)、ResNet 系列的殘差連接等熱門方法并未考慮,可能遺漏性能更好的網(wǎng)絡(luò)結(jié)構(gòu);另外,其他的圖像預(yù)處理方法,如將灰度圖像二值化以突出有用信息,都值得進(jìn)一步研究。