胡歡歡,俞文昌,王梓洋,李海濤
(池州學院大數(shù)據(jù)與人工智能學院,安徽 池州 247100)
金屬材料因其優(yōu)異的性能,被使用在各行各業(yè)中,而腐蝕伴隨著金屬材料的使用過程,導致使用性能降低。有數(shù)據(jù)表明,2014年,我國腐蝕成本為21278.2億元人民幣,約占當年國內(nèi)生產(chǎn)總值的3.34%[1]。因此,對金屬腐蝕檢測的研究具有非常重要的意義。
隨著計算機技術的發(fā)展,近年來神經(jīng)網(wǎng)絡在腐蝕檢測領域得到了廣泛的研究與應用。Bastian等[2]提出了一種基于卷積神經(jīng)網(wǎng)絡的管道腐蝕分類和定位的檢測方法,研究結(jié)果表明該方法可與無人機相結(jié)合,實現(xiàn)管道外部腐蝕的實時無損檢測。吳凱等[3]以鋼板的腐蝕圖像為研究對象,以卷積神經(jīng)網(wǎng)絡為分類算法,對不同腐蝕程度的鋼板腐蝕圖像進行分類。Liu等[4]開發(fā)了一種基于卷積神經(jīng)網(wǎng)絡的鋼板圖層破損與腐蝕檢測系統(tǒng),該方法采用Faster R-CNN結(jié)構(gòu)和VGG-19結(jié)構(gòu),實現(xiàn)了基于實例分割的鋼板涂層破損與腐蝕檢測,準確地識別了圖層失效的主要類型。Cha等[5]使用快速區(qū)域卷積經(jīng)網(wǎng)絡實現(xiàn)了多類型損傷的準實時檢測,結(jié)果表明,該方法具有較快的檢測速度,可用于生成基于卷積神經(jīng)網(wǎng)絡的視頻損傷準實時檢測框架。Tian等[6]提出了一種基于快速RCNN和HIS顏色空間特征的腐蝕檢測算法,提高了神經(jīng)網(wǎng)絡的特征提取能力和效率。以上研究對金屬腐蝕的檢測做出了大量的貢獻,但目前針對多種金屬材料在不同環(huán)境中的腐蝕檢測研究較少。本文收集了多種金屬材料在淡水湖、海洋、大氣環(huán)境中的腐蝕形貌圖,基于卷積神經(jīng)網(wǎng)絡提取腐蝕圖片的高維特征實現(xiàn)腐蝕等級的分類。
以金屬腐蝕為識別對象,對采集的圖像進行人工處理,構(gòu)建本次試驗的數(shù)據(jù)集。根據(jù)金屬腐蝕的程度,分為3個等級,腐蝕初級階段(C1)、腐蝕中期(C2)和金屬被腐蝕層完全覆蓋(C3)。為了提高模型的特征學習能力和抗干擾,對原始圖像進行隨機旋轉(zhuǎn)(逆時針90°至順時針90°)、隨機亮度變換及隨機對比度等數(shù)據(jù)擴充處理處理,擴充后C1、C2和C3樣本數(shù)量分別為500張。設置卷積神經(jīng)網(wǎng)絡的訓練樣本和測試樣本的比例為4:1,則最終訓練樣本有1200張,測試樣本有320張。
為了保證投入神經(jīng)網(wǎng)絡的圖片大小和格式統(tǒng)一,需對圖像進行預處理,包括圖片裁切、縮放和圖像標準化。首先對輸入圖像進行裁切,裁切為高度相等的正方形圖片,然后對圖像進行縮放為224像素×224像素大小,最后對圖像進行歸標準化。圖像標準化是指逐通道、逐像素進行如式1操作。
(1)
式中:mean和std為整個數(shù)據(jù)集中各通道圖像的均值和標準差,input為某通道某像素的輸入像素值,output為該像素的輸出值。
卷積神經(jīng)網(wǎng)絡是一類典型的具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡,是深度學習的代表算法之一[7]。與傳統(tǒng)的BP神經(jīng)網(wǎng)絡相比,卷積神經(jīng)網(wǎng)絡算法具有顯著優(yōu)勢,能夠有效應對傳統(tǒng)神經(jīng)網(wǎng)絡訓練中存在的梯級稀疏、局部最小值及數(shù)據(jù)標簽化等缺陷。且不需要手動提取圖像特征,也不需要使用尺度不變特征轉(zhuǎn)換(SIFT)之類特征提取算法。卷積神經(jīng)網(wǎng)絡可以完全基于訓練數(shù)據(jù)驅(qū)動自動完成特征的提取和抽象,大大降低圖像識別難度?;诖?,本文提出利用卷積神經(jīng)網(wǎng)絡對金屬腐蝕圖像進行腐蝕等級分類。
卷積神經(jīng)網(wǎng)絡主要包括卷積層和池化層(取樣層)。卷積層是卷積神經(jīng)網(wǎng)絡中最為重要的部分,主要作用是通過卷積核的卷積運算對圖像的主要本質(zhì)特征進行學習,提取目標圖像中的一個局部區(qū)域特征,并且通過激活函數(shù)將卷積運算的結(jié)果進行激活后產(chǎn)生相應的輸出,每個卷積核可以提取一類圖像特征,對應于使用卷積操作提取到的一個特征映射。如圖1所示,圖像識別中的卷積運算,通過卷積核在圖像上從左到右,自上而下滑動提取原始圖像特征得到新的特征圖層。在卷積操作中還有加入偏移量、非線性激活函數(shù)例如ReLU、tanh等增強模型的表達能力。通過卷積層卷積核尺寸的設置和卷積運算操作,無論圖片的大小,都能通過局部特征的學習得到不同特征的激活值,從而實現(xiàn)整個圖像特征的學習。

圖1 卷積計算圖
池化層的運算將卷積運算得到的特征圖分成若干小區(qū)域,從而大大減小圖像的空間尺寸,便于后續(xù)的卷積運算。池化層使特征圖圖像尺寸大大減小,而圖像的基本特征保持不變,從而達到提高卷積神經(jīng)網(wǎng)絡運行速率和防止過擬合。常用的池化類型有最大池化、平均池化等。本實驗中神經(jīng)卷積網(wǎng)絡的池化類型均為最大池化。圖2是一個窗口為2×2的最大池化操作示意圖。

圖2 池化方式圖
ILSVRC圖像分類比賽中有很多優(yōu)秀的卷積神經(jīng)網(wǎng)絡結(jié)構(gòu),Gao等[8]提出DenseNet。Szegedy等[9]提出使用Inception V1結(jié)構(gòu)的GoogleNet模型,實現(xiàn)了更豐富的特征圖提取效果。He等[10]提出的ResNet,通過殘差模塊解決了梯度消失問題。這些網(wǎng)絡在提取圖像高維特征實現(xiàn)圖像正確分類取得了卓越的成效。基于金屬腐蝕分類是一個圖像分類問題,本實驗設計中選擇ResNet18、ResNet50、GoogleNet和DenseNet121四種卷積神經(jīng)網(wǎng)絡來驗證方法的可行性。
本研究的數(shù)據(jù)來源是中國科技部的國家材料環(huán)境腐蝕野外科學觀測研究平臺(http://www.ecorr.org/)。這是我國科技部批準建設的23家國家科技基礎條件平臺之一,是長期從事材料環(huán)境腐蝕數(shù)據(jù)積累和試驗研究的基地,是材料腐蝕試驗、檢測分析的權(quán)威機構(gòu),也是材料腐蝕基礎科學研究和人才培養(yǎng)的平臺。本論文使用不同金屬材料在淡水、海水、大氣中的腐蝕圖譜,根據(jù)腐蝕程度分為3個等級(如表1所示)。

表1 腐蝕等級信息表
金屬腐蝕圖像數(shù)據(jù)以及相應標簽如圖3所示,統(tǒng)計了全部腐蝕圖片R、G、B三個通道的均值和標準差如表2所示。

圖3 腐蝕圖像數(shù)據(jù)

表2 均值標準差統(tǒng)計
試驗過程中將全量試驗圖片按照4:1的比例分為訓練集和測試集。各腐蝕等級在訓練集和測試集分布如表3所示。

表3 訓練集、測試集數(shù)據(jù)分布
實驗選擇ResNet18、ResNet50、GoogleNet和DenseNet121四種常用卷積神經(jīng)網(wǎng)絡,損失函數(shù)選擇交叉熵損失函數(shù),優(yōu)化器選擇SGD優(yōu)化器。將訓練數(shù)據(jù)經(jīng)過預處理后輸入型進行訓練,模型訓練采用批量訓練的方法,每個批次訓練的樣本數(shù)為64。每完成一輪訓練后使用測試集數(shù)據(jù)測試當前模型的識別準確率和Loss值,結(jié)果如表4所示。模型訓練和測試均在GPU上完成,GPU型號為GTX1080Ti,顯存11Gb,訓練和測試中Batch大小為64。準確率是判斷分類模型中常見的一個評估指標,將分類正確的樣本除以樣本總數(shù)(如下式所示),便可得到準確率[11]。

表4 各模型訓練指標
(2)
經(jīng)過64輪訓練四種模型的準確率變化如圖4所示。交叉熵是判斷一個輸出向量和期望的向量之間的接近程度常用的評判方法之一,它刻畫的是兩個概率分布之間的距離,也是分類問題中使用比較廣的一種損失函數(shù)[12-14],本實驗中交叉熵損失值如圖5所示。各模型每輪測試耗時變化如圖6所示。

圖4 準確率變化圖

圖5 Loss值變化圖

圖6 各模型測試耗時圖
可以看出64輪訓練后4種模型均能較好的識別不同腐蝕程度的金屬圖片。本數(shù)據(jù)集中,金屬的種類多,顏色差異較大,給圖像識別增加了難度,但從表4可知,卷積神經(jīng)網(wǎng)絡在腐蝕等級識別準確率上可以保持較高的水平,ResNet18準確率為94.26%,ResNet50準確率為94.52%,GoogleNet準確率為95.04%,DenseNet121準確率為96.08%。從訓練過程的穩(wěn)定性上看(圖4),DenseNet121在前60訓練回合出現(xiàn)較大波動,其他三個模型在前30個訓練回合內(nèi)呈現(xiàn)快速提升的特征,在之后的訓練回合準確率基本維持在一個水平。從收斂速度上看,GoogleNet相對于DenseNet能夠更快的收斂,并且收斂后比較穩(wěn)定。但準確率不平穩(wěn)性并不影響驗證集準確率在第65個訓練合會時達到高位,多次實驗證明測試集準確率能夠保持在90%以上。識別效率上,四種模型在Batch大小為64的情況下識別測試集300張測試集圖片耗時約為8 s,每個Batch識別時間約為1.71 s,沒有明顯差異且在可接受范圍內(nèi)。
本文基于卷積神經(jīng)網(wǎng)絡提出了一種檢測多種金屬腐蝕的方法,可為金屬在不同環(huán)境中腐蝕狀態(tài)做分類。通過人工標注的1500個腐蝕圖譜樣本分別對ResNet18、ResNet50、GoogleNet和DenseNet121四種神經(jīng)網(wǎng)絡進行訓練。
(1)多種不同的金屬雖有較大的干擾性,但四種網(wǎng)絡在驗證集上的最終精確度都達到了94%以上,故可說明四個網(wǎng)絡在識別性能上均較好,對不同金屬腐蝕等級識別是可行的。
(2)訓練時,GoogleNet、ResNet18和ResNet50比DenseNet121網(wǎng)絡收斂速度快、損失函數(shù)曲線下降更加平滑,同時腐蝕等級識別準確率上升更快,綜合考慮,GoogleNet在樣本訓練利用率上更高效。