馮輔周,姬龍鑫,朱俊臻,萬 安
(1.南昌航空大學無損檢測技術教育部重點實驗室, 南昌 330063;2.陸軍裝甲兵學院車輛工程系, 北京 100072; 3.中國人民解放軍32272部隊31分隊, 甘肅 武威 733009)
裝備關鍵結構長期運行中,易產生疲勞裂紋、沖擊損傷等缺陷,影響裝備使用性能。因此,定期對關鍵結構進行檢測,對于掌握裝備健康狀態意義重大。紅外熱像檢測具有快速、直觀、效率高的優勢,已經在工業中得到應用[1]。
國內外對紅外檢測圖像的分類識別方法進行了大量研究,主要包括兩大類,即:傳統的圖像處理后人工觀察識別和基于淺層學習的機器學習方法。傳統的圖像處理方法利用圖像的局部異常來檢測和分割缺陷,可以進一步分為結構方法、閾值方法、頻譜方法[2]。結構方法包括邊緣[3]、骨架[4]、形態學操作[5]等;閾值方法包括迭代最優閾值[6]、OTSU閾值[5]、分水嶺方法[7]等;頻譜方法包括傅里葉變換、小波變換、Gabor變換等[8]。基于機器學習的方法通常包括特征提取和圖像分類兩個階段,通過分析紅外檢測圖像的特征,設計描述缺陷信息的特征向量,然后將特征向量放入預先訓練的分類器模型中,以確定輸入圖像是否有缺陷[9]。傳統的圖像處理方法勞動強度大、準確率低,人工依賴性強;而基于機器學習的分類方法需要人工提取特征,難以全面反映缺陷類別,缺乏適應性和魯棒性[10]。
近年來,隨著人工智能的發展,深度學習方法在缺陷檢測領域得到初步應用,只需要將預處理后的數據輸入到深度學習模型中,特征提取過程由模型自動完成,具有更好的識別效果[11]。卷積神經網絡源于對視覺模型的研究,在2012年的ImageNet圖像分類競賽中獲得冠軍,從此在計算機視覺方面得到廣泛應用[12]。
本文將卷積神經網絡應用到金屬結構缺陷檢測中,采集紅外熱波檢測圖像,將金屬結構缺陷檢測建模為紅外熱波圖像的分類問題。通過構建小型結構的CNN網絡,實現圖像特征的自動提取,在經過紅外熱波檢測專業人員識別后的數據集上訓練和測試,測試合格的模型能夠對紅外熱波圖像自動分類識別[13]。
卷積神經網絡是由哺乳動物視覺皮層細胞感受野啟發而建立的一種前饋神經網絡,能夠提取圖像的局部特征,具有網絡參數量較少、不易過擬合等優點,已經在圖像相關任務中得到廣泛應用。
卷積神經網絡主要由卷積層、池化層和全連接層組成,其一般結構如圖1所示,其中M是卷積層數量,N是池化層數量,K是全連接層數量,P是CNN層組數量。各層之間通過相互連接形成網絡結構,將圖像特征提取、特征降維和分類識別集成到一個學習框架中。由于卷積神經網絡具有局部連接和權值共享的特點,相比較其他深度學習模型具有更加高效提取特征的能力,減少了訓練及分類識別消耗的時間,也使得訓練出的模型具有更強的泛化能力。

圖1 卷積神經網絡的一般結構框圖
卷積層用于提取輸入圖像的特征,卷積核沿著該層輸入圖像以固定的步長移動,在每個位置與圖像對應位置作卷積運算,運算結果放置在卷積核中央位置對應的輸出特征圖上。卷積運算是一種線性運算,將卷積核與輸入圖像對應位置的值相乘之后求和:
(1)

卷積運算只具有線性映射能力,無法滿足特征提取需求,常在卷積運算之后加入非線性函數運算,稱為激活函數。常見的激活函數主要有圖2所示的Sigmoid函數、Tanh函數、ReLU函數,其中,應用最廣泛的是ReLU函數:

圖2 非線性函數曲線

(2)
ReLU函數的主要優點有:① 當x>0時,梯度為1,不存在梯度飽和問題,收斂速度快;② 當x<0時,輸出為0,增加網絡稀疏性,提高了泛化能力[14]。
池化層也稱下采樣層,可以在保留有用信息的基礎上減少數據量,從而減少訓練參數量和加快訓練速度。池化操作是將池化核沿特征圖像滑動,每移動一次即在對應位置進行一次池化運算。常用的池化方式有最大池化和平均池化,最大池化是取對應區域的最大值作為輸出值,平均池化是取對應區域的平均值作為輸出值[14]。
全連接層起到分類器的作用,位于卷積層和池化層之后,用于對提取的特征進行組織綜合。其中,第一個全連接層的輸入是經過卷積和池化進行特征提取得到的特征圖像;最后一層輸出層是一個分類器,可以采用邏輯回歸、Softmax回歸甚至支持向量機對樣本進行分類,輸出需要的最終結果。
在圖像分類問題中,全連接層的輸出值范圍不確定,但樣本數據的真實標簽是離散值,最后由Softmax回歸層將網絡輸出值映射到(0,1)區間內,使得網絡輸出轉化為關于類別的概率分布,通過概率值的大小判斷圖像類別。假設有類的分類問題,Softmax回歸的輸出[15]:
(3)
式中:W是權重矩陣;b是偏置值;O是最終輸出。
卷積神經網絡通過卷積、池化、激活函數等一系列操作,將高層語義信息逐層由輸入圖像抽取出來,然后經過全連接層得到圖片類別信息,該過程稱為前向傳播。在網絡訓練階段,計算預測值與真實值之間的誤差,利用反向傳播算法將誤差由最后一層逐層向前反饋,并更新每一層的參數使誤差減小。隨后,重復前饋運算和反向傳播直到網絡模型收斂。
基于卷積神經網絡的結構缺陷檢測流程如圖3所示,主要包括3個階段:紅外圖像采集、圖像預處理、圖像分類。這里先對前兩部分作簡要介紹,之后重點研究基于卷積神經網絡的紅外圖像分類。

圖3 基于CNN的缺陷檢測流程框圖
為了獲取足夠的金屬結構紅外熱波圖像樣本,實驗搭建了紅外熱像檢測系統,采集紅外熱波檢測圖像,并進行預處理后作為樣本數據。
3.1.1紅外熱波圖像的采集
紅外熱像檢測技術是通過施加主動式受控激勵源,引起被測結構件缺陷區域表面溫度場變化的差異,并使用紅外熱像儀采集記錄溫度場變化,然后利用紅外圖像來識別被測結構中缺陷信息[16]。該技術具有快速、直觀、效率高等優勢。
為了滿足實驗需求,設計如圖4所示的超聲紅外熱像檢測裝置,主要部件包括超聲電源、超聲槍、紅外熱像儀等。其中,超聲電源將220 V/50 Hz的交流電調制為高頻直流脈沖;超聲槍將高頻直流脈沖轉換為高頻振動并輸出,缺陷區域因界面摩擦、塑性變形等產生熱量;熱量向試件表面傳導,缺陷區域溫度明顯升高。紅外熱像儀型號為FLIR SC7000,采樣頻率為30 Hz,像素為256×320,用于采集被測對象表面溫度場信息。

圖4 超聲紅外熱像檢測裝置示意圖
為了獲得實際應用中常見的缺陷裂紋,以200 mm×100 mm×3.95 mm的金屬平板為對象,如圖5所示。在其一側預制一個貫穿裂紋;固定夾具通過螺栓夾持被測平板四角實現固定;激勵位置偏離中心20 mm,在被測平板和固定支架之間放置100 mm×20 mm×2 mm的硬紙板作為隔振材料。實驗時,采用雙層遮光布料構建一個紅外暗室,以屏蔽外界輻射源和空氣流動的影響,并在被測平板的表面噴涂黑色啞光漆以提高表面發射率[17]。

圖5 被測平板示意圖
研究中充分考慮了數據的多樣性,共設計10個試件,并在不同的激勵時間、預緊力、激勵強度條件下采集紅外圖像序列,之后利用熱像儀配套的FLIR Research軟件將圖像序列每間隔10幀輸出一張圖像,最終獲得像素為256×320的單幀紅外圖像。
3.1.2紅外圖像的預處理
紅外圖像的預處理包括灰度化和減背景。紅外圖像包含的是每個像素點的溫度信息,本質是一個二維矩陣。將其轉換為灰度圖像,可以在保留信息量的基礎上顯著縮小存儲空間,減小計算量。
減背景的目的主要是為了消除環境噪聲、儀器設備系統自身誤差的影響。選擇初始幀為背景圖像,而圖像序列中的任意幀為目標圖像,用目標圖像減去背景圖像得到的就是減背景圖像,預處理效果如圖6所示。

圖6 預處理效果圖
3.1.3紅外圖像樣本集
在不同檢測條件下,共采集3 600幅金屬平板的紅外圖像,按照有裂紋和無裂紋2種情況對樣本圖像進行分類并設置標簽,樣本示例如圖7所示。

圖7 樣本示例
其中,圖像(a)、圖像(b)、圖像(c)分別為3個含裂紋試件在主動激勵施加1 s時的圖像,圖像(e)、圖像(f)、圖像(g)分別為一個無裂紋試件在主動激勵施加0 s、0.5 s、1 s時的圖像。將3 600幅圖像按比例將樣本圖像分為訓練集、驗證集和測試集,最終得到訓練集2 268幅圖像,驗證集252幅圖像,測試集1 080幅圖像,具體數量分配如表1所示。

表1 圖像樣本情況(張)
3.2.1環境介紹
實驗的硬件環境為:Intel Core i5-7300 CPU,NVIDIA GeForce GTX 1050 GPU;軟件環境為:Windows 10操作系統,Python 3.6,深度學習開源框架Keras,以及圖像相關的第三方庫。
3.2.2CNN模型建立
本文采用的卷積神經網絡結構如圖8所示,主要包括輸入層、卷積層、池化層、全連接層以及Softmax層。輸入圖像為預處理后圖像,所有圖像尺寸相同;圖像經過卷積層提取特征,得到一定數量的特征圖,然后將特征圖輸入池化層進行下采樣,使特征圖泛化;每個卷積層的后面都采用ReLU函數作為激活函數,使得函數具有非線性。

圖8 卷積神經網絡結構示意圖
第1層卷積層選用32個3×3卷積核卷積,步長為1;池化層采用2×2卷積核池化,步長為2。
第2層卷積層選用64個3×3卷積核卷積,步長為1;池化層采用2×2卷積核池化,步長為2。
第3層卷積層選用128個3×3卷積核卷積,步長為1;池化層采用2×2卷積核池化,步長為2。
經過卷積之后維度為15×15×128,轉化成28 800個結點作為全連接層的輸入,全連接層一共兩層,均采用512個神經元。
輸出層為2個神經元,使用Softmax函數將所有單元完全連接到各類的輸出概率。
此外,在全連接層中采用Droput技術以防止模型過擬合,即在每次循環中按照一定比例隨機選擇一定比例的單元將其暫時隱藏,然后再進行網絡的訓練和優化。
卷積神經網絡訓練的目的是為了使最終的損失達到最小,模型最終采用的損失函數是交叉熵函數,函數表達式為:
(4)
實驗采用分批次進行訓練,最終選取參數如下:batch size的大小設置為32; Dropout神經元的隨即失活概率設置為0.3;優化算法選取學習率自適應的Adam算法;采用學習率衰減策略進行學習,當驗證準確率不再提升時,減少2倍的學習率,學習率下限設置為0.000 01。
訓練迭代次數100次,訓練過程中模型損失值隨迭代次數變化曲線如圖9所示,訓練集和測試集的預測準確率隨迭代次數變化曲線如圖10所示。

圖9 損失值變化曲線

圖10 準確率變化曲線
實驗結果表明,在訓練前20次,模型的損失值迅速下降,準確率迅速上升;在訓練35次左右,模型開始收斂;最終訓練到40次時,模型損失值已經趨于穩定??梢钥闯?,最終選取的參數設置比較合適,準確率和損失值變化趨勢表現良好。
通過在測試集上做預測來評估訓練得到的神經網絡模型的性能,首先要定義兩個評價指標:
1) 召回率:正確檢測出某一類別的數量占測試集中該類別總數的比例,反映模型尋找缺陷的能力;
2) 準確率:在檢測結果為某一類別的樣本中,有多大比例預測結果正確,反映出檢測的準確性。
本文測試集中有568幅含裂紋圖片,512幅無裂紋圖像,利用經過訓練的模型對測試樣本作出預測,測試結果如表2所示。

表2 模型測試結果
測試結果表明,該模型能夠較準確的識別出含裂紋紅外熱波檢測圖像,對含裂紋圖像的分類識別準確率能夠達到99.46%,綜合分類識別準確率達到97.22%。存在小部分分類錯誤的主要原因是含微小裂紋金屬試件的紅外圖像特征不明顯,被誤識別為無裂紋。
為提高識別準確率,可以從兩方面作出改進,一是增加含裂紋試件的多樣性,使樣本集中包含更多微小裂紋試件的紅外圖像;二是構建更大型的卷積神經網絡,會在訓練和測試效果上表現更加優異。
本文紅外熱像檢測與深度學習結合,驗證了基于卷積神經網絡的金屬結構缺陷檢測的可行性和有效性。使用超聲紅外熱像檢測系統采集金屬平板的紅外圖像并作預處理;通過搭建卷積神經網絡對圖片進行訓練,實現金屬缺陷的自動識別。測試結果表明樣本識別準確率達97.22%,驗證了方法的有效性。下一步將研究使用神經網絡模型實現對缺陷大小、形狀、位置的檢測識別,提高紅外熱像檢測水平。