劉夢溪, 巨永鋒, 高煒欣, 王 征, 武曉朦
(1.長安大學 電子與控制工程學院,陜西 西安 710064; 2.西安石油大學 電子工程學院,陜西 西安 710065)
X射線檢測雖應用廣泛但同時也具有其弊端,如圖像噪聲多,缺陷對比度不高,背景起伏較大等[1~3],針對所提取的圖像特征是否有效地描述各類型焊縫缺陷的問題,多種理論及方法被提出[4~8]。近幾年,隨著深度學習特征識別的多方應用,卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)結構解決了傳統(tǒng)神經(jīng)網(wǎng)絡多層次的局部最優(yōu)以及梯度彌散等缺點,能夠對焊縫在復雜背景下的缺陷特征進行有效識別,具有較強的判別能力和泛化能力[9,10],而成為深度學習的主流網(wǎng)絡結構之一[11~13]。
本文針對X射線焊縫缺陷的特點,在 Alex的CUDA-CONVNET經(jīng)典深層CNN基礎上進行了結構改進和優(yōu)化,利用改進網(wǎng)絡的多層學習能力,有效提高了焊縫缺陷分類識別的準確度。
焊縫缺陷一般有幾種類型:裂紋缺陷(橫向裂紋與縱向裂紋)、氣孔、未熔合與未焊透等。
受焊縫缺陷類型、大小、位置等因素的影響,按照一般方式對原始圖像進行處理,存在丟失關鍵信息的可能性。以氣孔缺陷為例,圖1所示的提取方式,由于氣孔所在的幾何位置的不確定性及原始圖像大小的差異,使得圖像提取出現(xiàn)了偏差,遺漏了焊縫缺陷信息。
為避免出現(xiàn)以上情況,本文在圖像預處理階段對長、寬較長的一邊變換成256,較短的一邊進行等比變換[14,15]。將圖像分割為5幅圖像,分別對圖像的4個頂點和中心所截取的227×227圖像塊,如圖2所示。處理后一方面可以實現(xiàn)對圖片的全覆蓋,不遺漏特征信息,另外一方面可以增加樣本數(shù)量,保證識別的正確率。
圖1 圖像特征信息提取不完全
圖2 本文提取圖像特征信息方法
本文圖像分割算法為:
Input InImage
Output OutImage
1)計算圖像長和寬中較大的一邊,記為ma,較小的一邊記為mi;
2)如果mi>256,以256/mi進行等比變換,變換后的圖像記為Tr;
3)Tr從4個頂點和中心分別截取227×227的圖像塊,產(chǎn)生5張訓練圖像,分別記為OutImage[0],OutImage[1] ,OutImage[2],OutImage[3] ,OutImage[4];
4)輸出OutImage
在CNN經(jīng)典結構CUDA-CONVNET的研究基礎上,對焊縫復雜條件下的特征識別進行針對性的改進。
1)卷積計算
卷積的值即為特征圖輸入量,其公式為
(1)
2)卷積梯度計算
(2)
式中β為誤差信號;l為池化層數(shù);α為池化層權值;up(·)為上采樣操作。將l層的誤差信息求和,即得到對應的偏置基梯度
(3)
所有卷積核的梯度計算式為
(4)
3)權值更新計算
卷積神經(jīng)網(wǎng)絡中t~(t+1)時刻的權值更新計算為
W(t+1)=W(t)+μδ(t)x(t)
(5)
式中μ為學習率;δ(t)為神經(jīng)元輸入x(t)的誤差項。
4)全連接層計算
全連接層為分類模塊,兩層之間的計算公式為
(6)
最后一層全連接層元素的激活函數(shù)Softmax為
(7)
式中i=1,2為分類類別。
CNN的結構可以概括為
INPUT->[CONV->ReLU]*N->PooL?]*M->[FC->ReLU]*K->FC
式中 *為可重復;M,N為可重復的次數(shù);POOL?為可選擇的層。
改進結構后的深層CNN如圖3所示。
圖3 深層CNN結構
在深層CNN中,卷積、池化和全連接層的參數(shù)設置如表1所示,最后一層通過 Softmax 函數(shù)連接,輸出每一維圖像所屬的類別概率。Dropout加于全連接之后用于提高網(wǎng)絡的泛化性避免過擬合,取經(jīng)驗值為0.5,并設初始學習率為0.001,動量為0.9,權重衰減為0.000 5[16]。
表1 深層CNN參數(shù)設置
圖4 CNN下的樣本缺陷識別錯誤率
對于池化層,有2種池化方式:最大池化(max pooling)和平均池化(average pooling)。2種方式實驗對比結果如表2所示,可知,最大池化方式識別的焊縫缺損正確率較高。
表2 池化方式對于正確率的影響 %
將CNN與經(jīng)典支持向量機(support vector machine,SVM)進行對比,SVM采用 Liblinear[15]分類器實現(xiàn)分類,圖像的原始樣本大小為 64×64 ,進行梯度特征提取后每個圖像樣本的特征向量轉化為512維,2種方法對于焊縫缺陷的特征識別分別如表3、表4所示。
表3 SVM特征識別正確率 %
表4 CNN 特征識別正確率 %
對比表3 、表4 中的數(shù)據(jù)可以看到:隨著樣本量的增加,2種方法的訓練樣本與測試樣本的分類錯誤識別率呈下降趨勢,相較而言CNN方式下的焊縫缺陷分類識別的錯誤率更低。說明大樣本條件下, CNN 的特征分類性能提升要優(yōu)于SVM。這是由于伴隨著樣本量增加,CNN 能夠進行分布式深度學習,自主學習信息有效特征并加以分類,而SVM卻在梯度特征提取運算中遺失了部分的特征信息,不能進行更為精確的分類,導致最終的輸出分類識別結果正確率較低。
表5為2種算法的運算時間對比,可以看出:SVM較快速 ,這是由于SVM是一種2層的淺層網(wǎng)絡結構,其輸入特征的維數(shù)(512)較CNN輸入的維數(shù)(256×256)低,因此,處理圖像時間較短,而CNN 的處理時間較長是由其深層結構多參數(shù)所決定的,隨著樣本的增大,CNN和SVM的處理時間以不同時間函數(shù)分布規(guī)律增加,而兩者的正確率卻呈現(xiàn)截然相反的趨勢,即CNN的正確率提高而SVM的正確率降低,且樣本越大,該趨勢越明顯,因此,CNN對于大樣本的處理效率顯然高于SVM。
表5 SVM和CNN運算時間對比
本文對經(jīng)典CNN結構進行了改進,CNN的實驗結果較為理想,主要體現(xiàn)為以下幾點:1)CNN可以進行自主學習,排除了人為評定的主觀因素;2)大樣本下CNN對于圖像的分類與識別的正確率較高,且樣本越大,正確識別率越高且未出現(xiàn)過擬合現(xiàn)象;3)對于焊縫缺陷圖像類型的多樣性和復雜性,CNN能夠進行較好的特征識別,能夠進行更為精準的分類,具有較強的判別能力,效率更高,能夠達到較為滿意的效果。
對于深層CNN,層數(shù)越多提取的特征越容易識別,正確率越高,但也存在著參數(shù)增多,訓練過程趨于復雜的問題;此外,對于相同的檢測目標,網(wǎng)絡結構設計的差別也會影響特征識別正確率。如何針對特定目標的檢測識別,實現(xiàn)網(wǎng)絡結構和參數(shù)的最優(yōu)同時又能保證較高的正確率還有待做進一步的研究。
參考文獻:
[1] 田 原,都 東,侯潤石,等.基于X 射線圖像序列的焊縫缺陷自動檢測方法[J].清華大學學報:自然科學版,2007,47(8):1278-1281.
[2] 劉 曦,徐光鋒,費躍農(nóng).用于相貫線焊縫檢測機器人的圖像處理算法[J].傳感器與微系統(tǒng),2017,36(7):142-145.
[3] 趙 存,胡煒薇.一種X射線圖像增強新方法[J].傳感器與微系統(tǒng),2017,36(5):71-73.
[4] Cortes C,Vapnik V.Support vector network[J].Machine Lear-ning,1995,20:273-297.
[5] Zapata J,Vilar R,Ruiz R.An adaptive network based fuzzy infe-rence system for classification of welding defects[J].NDT & E International,2010,43(3):191-199.
[6] 劉 曦,徐光鋒,費躍農(nóng).用于相貫線焊縫檢測機器人的圖像處理算法[J].傳感器與微系統(tǒng),2017, 36(7):146-153.
[7] 李昌興,黃艷虎,支曉斌,等.基于加速k均值的譜聚類圖像分割算法改進[J].傳感器與微系統(tǒng),2016,35(9):137-140.
[8] Wang J,Yang J,Yu K,et al.Locality-constrained linear coding for image classification[C]∥Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2010:3360-3367.
[9] Donahue J,Jia Y,Vinyals O,et al.DeCAF:A deep convolutional activation feature for generic visual recognition[C]∥ICML,2014:647-655.
[10] Sharif Razavian A,Azizpour H,Sullivan J,et al.CNN features off-the-shelf:An astounding baseline for recognition[C]∥Procee-dings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops,2014:806-813.
[11] 王 純,郭春生.基于真實場景圖像下的卷積神經(jīng)網(wǎng)絡去噪算法[J].傳感器與微系統(tǒng),2017,36(10):147-153.
[12] 趙珊珊,何 寧.基于卷積神經(jīng)網(wǎng)絡的路面裂縫檢測[J].傳感器與微系統(tǒng),2017,36(10):147-153.
[13] 宣森炎,龔小謹,劉濟林.基于聯(lián)合卷積和遞歸神經(jīng)網(wǎng)絡的交通標志識別[J].傳感器與微系統(tǒng),2014, 33(8):30-33.
[14] Krizhevsky A,Sutskever I,Hinton G E.Image net classification with deep convolutional neural networks[C]∥Advances in Neural Information Processing Systems,2012:1097-1105.
[15] Jia Y,Shelhamer E,Donahue J,et al.Caffe:Convolutional architecture for fast feature embedding[C]∥Proceedings of the 22nd ACM International Conference on Multimedia,ACM,2014:675-678.
[16] 余永維,殷國富,殷 鷹,等.基于深度學習網(wǎng)絡的射線圖像缺陷識別方法[J].儀器儀表學報,2014,35(9):2012-2019.
[17] Fan R,Chang K,Hsieh C,et al.LIBLINEAR:A library for large linear classification[J].Journal of Machine Learning Research,2008,9:1871-1874.