国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于卷積神經網絡X射線環(huán)焊縫缺陷檢測

2022-06-07 07:22:46張龍飛高煒欣馮小星
焊接 2022年3期
關鍵詞:池化直方圖灰度

張龍飛,高煒欣,馮小星

(1.西安石油大學,西安 710065;2.陜西省油氣井測控技術重點實驗室,西安 710065;3.光電油氣測井與檢測教育部重點實驗室,西安 710065)

0 前言

長輸油氣管道多采用焊接技術連接,在焊接過程中由于各種隨機因素的影響,不可避免的存在裂縫、氣孔等缺陷,從而降低焊件的使用壽命,甚至會帶來重大財產損失及人身安全問題?;赬射線焊縫圖像的缺陷檢測是一種應用較廣泛的彌補措施[1-2]。其檢測結果直觀、準確,并可以永久保存,有很多優(yōu)良特性。

在X射線焊縫缺陷檢測領域,方法眾多,文獻[3]提出了模糊識別算法,對缺陷樣本進行了試驗,取得了較好的識別效果。文獻[4]利用計算特征值的方法對分割處理后的圖像進行缺陷分類。文獻[5-6]均采用支持向量機的方法,文獻[5]用支持向量機對已分割的缺陷進行識別;文獻[6]提出了一種可以對焊縫缺陷自動檢測的方法,該方法相比于傳統檢測算法具有更好的適應性和通用性。文獻[7]提出了字典矩陣最優(yōu)數學模型,該模型通過使用Hopfield神經網絡求解最優(yōu)字典矩陣,提高了缺陷分類的準確性。

近些年來,人工智能得到了飛速發(fā)展,“深度學習”[8]的方法在無損檢測領域也得到了廣泛的應用,如文獻[9-12]等。文獻[9-11]均使用基于卷積神經網絡的深度學習網格構建方法,文獻[11]進一步通過數學處理簡化了參數計算,防止過擬合的發(fā)生,提高了缺陷識別率。并驗證了該方法的適用性。而文獻[12]使用了一種相對復雜的神經網絡,識別率也較高。但由于人工智能是個發(fā)展非常迅速的領域,將其應用于焊縫圖像缺陷識別,仍有很多空白領域值得深入探究。比如一些現有的網絡復雜度過高,并不適合焊縫缺缺陷特征的識別,另外識別準確度也有所不足,在識別框架上有待改進,這就是文中研究的重點。

文中針對X射線焊縫圖像特征,設計了相應的卷積神經網絡(Convolutional neural networks, CNN)結構,可以減少內存開銷和網絡參數個數,降低模型復雜度。

1 缺陷樣本選擇

實際工業(yè)生產中X射線焊縫圖像如圖1所示。由圖1可以發(fā)現,缺陷和噪聲對比不明顯,噪聲干擾嚴重,導致缺陷周圍不清晰。利用傳統的大津法對原始圖像進行分割處理,結果如圖2所示。由圖2可知,分割后的圖像,缺陷和噪聲并存,不易直接區(qū)分缺陷和噪聲,且由于缺陷和噪聲面積相對較小,使得特征值求取困難。因此文中提出疑似缺陷區(qū)域(Suspected defect region,SDR)的概念,利用分割結果標定疑似區(qū)域。然后利用CNN直接判定SDR類型,避免了因特征值求取帶來的誤差。疑似局部缺陷區(qū)域定義如圖3所示,分割出的缺陷或噪聲外切矩形外擴展5個像素點后的區(qū)域為疑似缺陷區(qū)域。

圖1 X射線焊縫缺陷原始圖像

圖2 X射線焊縫圖像分割實例

圖3 疑似缺陷區(qū)域定義

通過對某標段管道焊縫的SDR圖像進行標定,文中已建立包含600張SDR圖像的缺陷和噪聲數據庫。從中選取200張SDR圖像作為樣本圖像,其中圓形缺陷和噪聲圖像各100張,如圖4和圖5所示。

圖4 100組圓形缺陷圖像

圖5 100組噪聲圖像

2 卷積神經網絡計算框架

卷積神經網絡是深度學習的一種,通過模擬人腦學習并分析數據,可應用于焊縫缺陷識別領域。其權值共享機制可以有效的降低網絡中訓練參數的數量,簡化計算過程。從缺陷識別的角度出發(fā),卷積神經網絡不但可以降低模型的復雜程度,還可以直接處理焊縫圖像,避免了特征值的求取。

2.1 卷積神經網絡的前向傳播

卷積層將輸入的每一個神經元與上一層的局部感受區(qū)域連接,提取該部分的特征值。卷積的過程可以表示為:

(1)

(2)

卷積后的特征圖像素值可利用式(3)計算:

(3)

式中:ai,j為卷積后第i行第j列的像素值;D為圖像深度;I為卷積核的大小;wd,m,n為第d通道第m行第n列權重;ο為偏置項。

卷積前后圖像的大小可由式(4)和式(5)確定。

(4)

(5)

式中:W1與H1分別為卷積后的特征圖的寬度和高度;W0與H0分別為卷積前的圖像的寬度和高度;F為對應的卷積核的寬度或高度;P為填充數量;S為移動步長。

池化層(Pooling)也叫下采樣層(Sub sampling layer),主要用于特征降維,壓縮數據和參數的數量,減小過擬合情況的出現,同時提高模型的容錯性,提升訓練速度。常見的池化方法有最大池化、平均池化、隨機池化,而最大池化也是采用比較多的方法,主要選取最大值來作為該區(qū)域的池化結果。即有:

(6)

(7)

全連接層是神經網絡的最后一層,全連接層的每一個神經元都與前一層的每個神經元全連接,然后經過分類器的運算,計算得出各缺陷種類的概率。

(8)

在全連接層中,二維圖像的特征圖被拼接為一維特征圖作為全連接層的輸入。全連接層的輸入可通過對輸入加權求和并通過激活函數的響應得到:

ck=f(zk)

(9)

zk=wkck-1+ok

(10)

式中:zk為全連接層k的凈激活;wk為全連接層的權重系數;οk為全連接層的偏置。

2.2 卷積神經網絡的誤差反向傳播

卷積神經網絡通過反向傳播,基于梯度下降算法調整參數。根據鏈式求導法則,反向傳播時將梯度誤差逐層傳遞、逐層優(yōu)化,達到對網絡參數進行整體優(yōu)化的目的。這里針對“卷積層-池化層-全連接層”的順序分別給出向傳播算法。定義網絡k層的靈敏度為:

(11)

式中:ξk為總誤差對凈激活zk的梯度。計算靈敏度實際上是通過所有網絡層總誤差對所有網絡參數求偏導,使得網絡的訓練誤差朝著減小的方向迭代。

為了計算卷積層靈敏度,需要利用損失函數對偏置項求偏導為:

(12)

式中:c,d代表特征圖上的位置,損失函數對偏置項偏導等于各個位置偏置項偏導疊加。式(12)可由式(13)表示:

(13)

式中:m×n為卷積層卷積核大?。?為kronnecker product。由式(12)和式(13)可知,損失函數對卷積核的偏導為:

(14)

對計算池化層求靈敏度,如式(15)和式(16)所示:

(15)

(16)

(17)

全連接層求靈敏度,如式(18)和(19)所示:

ξk=(wk+1)Tξk+1°f′(zk)

(18)

ξγ=f′(zγ)°(yn-tn)

(19)

全連接層的總誤差對偏置和權重求偏導,如式(20)和(21)所示:

(20)

(21)

為確定卷積及池化模板的大小,論文首先對數據庫中缺陷面積進行了統計,如圖6所示。

由圖6可知,缺陷像素點個數分布于6~44之間,平均值約為15。當缺陷面積較小,近有6個像素點時,卷積模板≥5×5時,易發(fā)生漏檢、誤檢等情況,所以本文確定的卷積核大小為3×3。

圖6 缺陷像素點個數統計圖

2.3 激活函數

激活函數是實現神經網絡非線性變換的重要環(huán)節(jié),常用的激活函數有ReLU 函數、Sigmoid 函數等。

ReLU函數的定義為:

f(x)=max(0,x)

(22)

ReLU函數圖像如圖7所示。

圖7 ReLU函數圖

由圖像可以知道函數取值范圍是[0,∞],則其導數如下式所示:

(23)

Sigmoid函數定義為:

f(x)=1/(1+e-x)

(24)

Sigmoid函數圖像如圖8所示。

圖8 Sigmoid函數圖

通過對比ReLU函數和Sigmoid函數,可以發(fā)現ReLU函數收斂于無窮大,在測試中易發(fā)生浮點溢出現象。在圖像中待檢測物體結構相對簡單時,從計算的穩(wěn)定性角度考慮,Sigmoid函數激活函數更不易產生溢出且易于實現,因此文中選取Sigmoid函數作為激活函數。

2.4 損失函數

一般而言,交叉熵代價函數多與Sigmonid激活函數搭配使用,在確定激活函數的前提下,文中采用交叉熵代價函數作為神經網絡代價函數,如式(25)所示:

(25)

式中:γ為目標函數;n為樣本總數;m為樣本;u為實際值;c為輸出值。

3 卷積神經網絡模型

3.1 CNN結構設計

由于焊縫SDR圖像尺寸相對較小,CNN深度較高時易產生數據缺失導致誤識別,因此文中設計卷積層為2層,其結構如圖9所示。其中:C1,C3為卷積層;S2,S4為池化層;F5,F6為全連接層。

圖9 卷積神經網絡結構

C1的卷積核尺寸設定為3×3,深度為4;C3的卷積核尺寸也設定為3×3,深度為16;S2,S4均為池化層,其卷積核尺寸設定為3×3,移動步長為1。在CNN模型中,卷積層采取了補零操作,保持輸入的樣本長和寬不變,深度增加;而池化層不采取補零,發(fā)生池化后,樣本的深度不變,長和寬減小了。

3.2 算法訓練

文中所確定的CNN訓練步驟如下:①樣本輸入;②設置CNN初始參數;③選擇Sigmonid的激活函數;④開始訓練;⑤缺陷識別。

文中模型采用C++編程實現,具體流程如圖10所示。卷積神經網絡模型訓練樣本為樣本總數的20%,在CNN模型的訓練中,整體學習率(α)設置為0.000 1。

圖10 CNN網絡模型訓練流程圖

4 試驗結果分析

以某標段管道焊縫為例,條形缺陷如圖11所示。

圖11 12組條形缺陷圖像

在實際生產中,條形缺陷比圓形缺陷危害性大,其數量遠小于圓形缺陷數量,用傳統方法檢測,易于識別。雖然圓形缺陷危害性小,但是識別難度大,因此條形缺陷不是作為文中研究的重點,而圓形缺陷識別是文中重點研究對象。

文中分別采用20張缺陷和噪聲作為訓練樣本,訓練完成后另選200張圓形缺陷和噪聲圖像作為SDR測試樣本,試驗結果的混淆矩陣見表1,其中:TP為真正;FN為假負;FP為假正;TN為真負。

表1 SDR圖像識別混淆矩陣

根據表1所示的混淆矩陣,再根據敏感度(Se)和特異度(Sp)

(26)

(27)

可以得到樣本的敏感度和特異度對比,見表2。

表2 樣本敏感度/特異度

為進一步驗證CNN結構的魯棒性,文中多次進行重復試驗,每次選擇不同缺陷及噪聲SDR各20張進行訓練。測試樣本為與訓練樣本不同的SDR圖像。10次試驗結果見表3。

表3 樣本模板試驗結果

文中提及的噪聲是指影像中一種形似于缺陷的偽缺陷類型。從表3可知,CNN對圓形缺陷和噪聲都具有較高的識別率。

利用文中所提卷積神經網絡結構對條形缺陷和圓形缺陷進行檢測,試驗結果見表4。從表4可知,文中所提方法對條形缺陷依然有較好的識別率。

表4 缺陷檢測結果

分析未成功識別和成功識別的SDR圖像及其灰度直方圖如圖12~圖19所示。從視覺效果可以發(fā)現未識別成功的圖像灰度直方圖跨度小,視覺效果差,沒有層次感,卷積神經網絡不能進行分割處理。而已識別成功圖像灰度直方圖跨度大,視覺效果好,層次感強。因此卷積神經網絡對于圖像是否能夠識別,可以用圖像灰度跨度來鑒定。

圖12 識別失敗的圓形缺陷圖像

圖13 識別失敗的噪聲圖像

圖14 識別失敗的圓形缺陷灰度直方圖

圖15 識別失敗的噪聲灰度直方圖

圖16 識別成功的圓形缺陷圖像

圖17 識別成功的噪聲圖像

圖18 識別成功的圓形缺陷灰度直方圖

圖19 識別成功的噪聲灰度直方圖

為了驗證卷積神經網絡對圖像識別是否與圖像灰度直方圖跨度有關。文中取10組已識別成功和6組未識別成功圖像灰度直方圖跨度進行了對比,如圖20所示。

圖20 灰度圖跨度對比

由圖20可知,當灰度圖跨度低于50時,圖像檢測目標與背景之間的對比度相對較低,卷積神經網絡中卷積層難以提取目標特征,此時神經網絡的識別失效,無法判定缺陷。當局部圖像灰度直方圖跨度高于50時,識別目標較背景突出,圖像整體對比度較高,卷積層可以提取識別目標的特征,此時的卷積神經網絡對焊縫圖像有較好的識別效果。

為了充分探究文中神經網絡的復雜度和準確率,與以往公開文獻的情況之間的優(yōu)劣,這里做了比對,見表5。由表5可知,文中使用的卷積神經網絡結構雖然簡單但是對本領域有效,十分適合本領域的應用。從公開的文獻資料中,查到了用其它的人工智能深度網絡算法,在該領域的應用情況。在表中,通過對比可以看出,文中網絡結構更加簡單實用,雖然準確率并不是最高的,但比最高的98%只低1%。而誤報率僅僅是3%。表中沒有誤報率數值的,是在該文獻中沒有提及,無法比較。

表5 卷積神經網絡算法對比

5 結論

文中選取的卷積神經網絡算法與傳統方法相比較,可以避免圖像特征值提取,能夠有效區(qū)分噪聲和圓形缺陷。通過構建網絡模型,設定網絡參數,可以直接將SDR圖像作為輸入樣本進行訓練與識別。試驗結果表明CNN網絡結構模型訓練速度快,識別率高,適合于X射線焊縫缺陷圖像的檢測與識別,準確率可達97%。文中通比對識別成功和識別失敗圖像的灰度圖跨度,發(fā)現灰度跨度在一定范圍內,卷積神經網絡會有很好的識別效果,否則卷積神經網絡會失效。因此在后續(xù)的研究中,對圖像進行預處理,擴大圖像的灰度跨度,進一步提高識別率。

猜你喜歡
池化直方圖灰度
基于緊湊型雙線性網絡的野生茵識別方法研究
無線電工程(2024年8期)2024-09-16 00:00:00
統計頻率分布直方圖的備考全攻略
高中數理化(2024年1期)2024-03-02 17:52:40
基于Sobel算子的池化算法設計
符合差分隱私的流數據統計直方圖發(fā)布
采用改進導重法的拓撲結構灰度單元過濾技術
卷積神經網絡中的自適應加權池化
軟件導刊(2022年3期)2022-03-25 04:45:04
基于灰度拉伸的圖像水位識別方法研究
高技術通訊(2021年3期)2021-06-09 06:57:48
用直方圖控制畫面影調
基于卷積神經網絡和池化算法的表情識別研究
基于最大加權投影求解的彩色圖像灰度化對比度保留算法
自動化學報(2017年5期)2017-05-14 06:20:56
奉节县| 磴口县| 韶山市| 龙井市| 南江县| 类乌齐县| 荥经县| 长沙县| 东丽区| 米脂县| 乐安县| 赤城县| 珠海市| 靖州| 天峨县| 河津市| 株洲县| 新乡县| 梁河县| 宁夏| 临武县| 花莲市| 乐安县| 东海县| 大宁县| 山阳县| 师宗县| 祁东县| 海伦市| 和静县| 高州市| 航空| 南安市| 岗巴县| 寻乌县| 醴陵市| 乌恰县| 新巴尔虎右旗| 丰台区| 应用必备| 隆尧县|