基于卷積神經網絡的焊接視覺檢測方法及裝置的制造方法
【專利摘要】一種基于卷積神經網絡的焊接視覺檢測方法,包括如下步驟:第一步,訓練階段,將訓練樣本輸入卷積神經網絡,獲得卷積神經網絡的連接權值和偏置值;第二步,測試階段,讀入焊接圖像,對焊接圖像采用數字圖像處理技術進行預處理,提取出感興趣區域,然后將感興趣區域圖像尺寸進行歸一化處理后作為卷積神經網絡的輸入。以及提供一種基于卷積神經網絡的焊接視覺檢測裝置,包括爬行機構、動力傳動機構、視覺檢測設備和焊縫缺陷檢測分析系統。本發明提供一種提升自動化和智能化水平、有效提高檢測的精度和速度的基于卷積神經網絡的焊接視覺檢測方法及裝置。
【專利說明】
基于卷積神經網絡的焊接視覺檢測方法及裝置
技術領域
[0001]本發明屬于爬行器、全方位視覺傳感器、無線通信、深度學習以及計算機視覺技術 在焊縫缺陷識別檢測中的應用,涉及一種焊接視覺檢測方法及裝置。
【背景技術】
[0002]在制造業中,焊接是許多加工制造方法的基礎,其質量好壞決定了廣品的可靠性。 焊接質量檢測是保證焊接質量的重要手段,目前環節質量檢測方法主要有:破壞性檢測和 非破壞性檢測等。破壞性檢測與非破壞性檢測相比,可靠性更高,但是工件必然受到破壞。 視覺檢測方法作為最廣泛采用的非破壞性檢測方法,能夠實現對焊縫表面形貌、表面幾何 形狀以及表面存在的不連續性或缺陷的質量分析。
[0003] 中國發明專利申請號201310133509.9公開了一種機器人焊接質量視覺檢測裝置 及其檢測方法。該專利機器人焊接質量視覺檢測裝置包括連接于機器人焊接臂上的焊接 頭、視覺槍及視覺系統,其中視覺槍連接于焊接臂上跟隨焊槍頭運動,對焊接點進行檢測并 將掃描的圖片信息傳送到視覺系統,視覺系統將接收的圖片信息與標準配方數據進行比 對,對焊接前焊接拼接誤差、焊接后的焊點質量及焊接過程進行實時檢測和判斷。該裝置提 供了一種不需要設計和安裝額外的伺服隨動裝置,節省了大量的輔助設備投入。這個發明 主要存在的問題是,焊接效果好壞的判斷是通過視覺系統將焊接過程中、焊接后的焊點圖 片信息與焊接過程中、焊接后的焊點標準配方數據進行比對,無法保證精度的要求。
[0004] 中國發明專利申請號201410256520.9公開了一種焊縫焊接質量自動檢測裝置。該 專利包含了視覺檢測器、超聲波檢測頭和驅動部件。該裝置不管焊縫位于任何位置,都可通 過可自動移動的超聲波檢測頭進行檢測,提高了檢測裝置的通用性和自動化程度。但沒有 說明檢測的具體方法。
[0005] Gatera等提出了用于X射線焊縫圖像缺陷提取的兩步法,首先,基于缺陷灰度的變 化特性,快速確定缺陷所在大致區域,然后,運用序列相似性檢測算法或閾值算法完成對缺 陷的識別,該方法能有效提取一些相對明顯的缺陷,但有時存在缺陷漏檢的問題。
[0006] Jacobsen等提出了使用神經網絡檢測數字化底片中裂紋缺陷的方法,方法先對射 線圖像進行形態學濾波、高斯濾波、GWIMV濾波、FFT濾波、小波變換等處理,再對各線灰度 波形在濾波效果中提取特征并采用設計網絡判別該線灰度波形是否包含裂紋缺陷,該方法 對縱向裂紋的檢測效果相對較好,但可靠性還不高。
[0007] 在國內,大連理工大學提出了基于多閾值和支持向量機的裂紋缺陷檢測方法,方 法首先逐塊區域使用多閾值提取特征,并通過支持向量機判斷區域是否包含裂紋缺陷,然 后針對包含缺陷的大致區域,采用Hough變換檢測缺陷,實驗表明該方法能夠較好的分割定 位縱向裂紋缺陷,但方法比較復雜而且并未討論對不規則裂紋缺陷的檢測效果。
[0008] 中國礦業大學劉元祥等提出應用支持向量機(SVM)進行射線檢測焊接缺陷識別的 方法。該方法首先對圖像進行預處理,并根據缺陷特點提取、選擇8個參數作為特征參數,將 焊縫內常見缺陷分為6類,根據有限的學習樣本,建立影響缺陷類別的條件、因素和類別之 間的一種非線性映射,對測試的樣本進行識別。
[0009] 但上述一些視覺檢測的圖像分析主要還是人工評定,其存在有評判結果的不確定 性、操作麻煩等缺點。同時焊縫圖像中缺陷特征和缺陷類別關系比較復雜,也存在著正確識 別率不高的問題。針對焊接缺陷自動提取和識別問題,國內外研究人員已提出了許多方法, 但現在還未達到可以應用的水平。隨著計算機圖像處理技術和人工智能技術的發展,為提 高效率和準確率,減輕檢測人員的勞動強度,保證評判結果的一致性,提高識別穩定性,一 般性地解決該問題還需要結合圖像處理和機器學習的新發展進一步研究。
[0010] 由于焊縫缺陷影像差異和變化較大,每種焊縫缺陷影像不僅與缺陷自身形態有 關,而且與工件厚度、焊接方法、工件焊接位置、透照角度、底片質量等許多因素有關,因此 焊縫缺陷影像不能用簡單的規則和分類器方法進行分類。同時,目前主流的分類方式幾乎 都是基于統計特征的,這就意味著在進行分辨前必須提取某些特征。然而,顯式的特征提取 并不容易,在一些應用問題中也并非總是可靠的。
【發明內容】
[0011] 為了克服已有的焊接檢測方法的自動化和智能化水平低、難以對焊縫的缺陷進行 高精度的自動分析和評估等不足,本發明提供一種提升自動化和智能化水平、有效提高檢 測的精度和速度的基于卷積神經網絡的焊接視覺檢測方法及裝置。
[0012] 本發明解決其技術問題所采用的技術方案是:
[0013] -種基于卷積神經網絡的焊接視覺檢測方法,所述方法包括如下步驟:
[0014] 第一步,訓練階段,將訓練樣本輸入卷積神經網絡,獲得卷積神經網絡的連接權值 和偏置值;
[0015] 第二步,測試階段,讀入焊接圖像,對焊接圖像采用數字圖像處理技術進行預處 理,提取出感興趣區域,然后將感興趣區域圖像尺寸進行歸一化處理后作為卷積神經網絡 的輸入;
[0016] 所述卷積神經網絡的結構為6層,包括依次連接的輸入層,Cl層、S2層、C3層、S4層 和輸出層,Cl層、C3層為卷積層,S2層、S4層為下采樣層,輸入層為大小為28*28像素的圖像, Cl層由6個大小為24*24像素的特征map構成,S2層由6個大小為12*12像素的特征map構成, C3層由12個大小為8*8像素的特征map構成,S4層由12個大小為4*4像素的特征map構成,輸 出層包括6個一維向量,分別表示6類焊縫缺陷:(1)裂紋;(2)未焊透;(3)未熔合;(4)條狀夾 渣;(5)球狀夾渣;(6)氣孔。
[0017] 進一步,所述訓練樣本有1萬張圖片,在這1萬張樣本中,有500張為焊接缺陷圖片, 剩余9500張為前述500張焊接缺陷圖片經加入高斯白噪聲、圖片旋轉、顏色變換、平移、對比 度拉伸、翻轉圖像處理方法得到的焊接缺陷圖片,然后將感興趣區域圖像尺寸進行歸一化 處理后作為卷積神經網絡的輸入;所述的訓練樣本包括輸入向量和理想輸出向量,當輸入 向量輸入CNN中后經過逐層變換,傳送到輸出層,得到實際輸出向量。
[0018] 再進一步,Cl層經過5X5的卷積模板卷積后,6個特征圖的大小均為24*24,特征圖 中每個神經兀與輸入中5 X 5的卷積模板相連,每個濾波器5 X 5共25個兀參數和一個偏置參 數,共6個濾波器,共6 X (5 X 5+1 ) = 156個可訓練參數,共有156 X (24 X 24)= 89856個連接; [0019] S2層經下采樣后得到6個12 X 12的特征圖,特征圖中的每個單元與Cl中對應特征 圖的2 X 2鄰域連接,S2層每個單元的4個輸入相加,乘以一個可訓練參數,再加上一個可訓 練偏置;結果通過S i gmo i d函數計算,函數如下:
[0020]
⑴
[0021] 下采樣相當于模糊圖像,使用2 X2模板時不重疊,因此S2中每個特征圖的大小是 Cl中特征圖大小的1/4(行和列各1/2)。每一個子采樣特征圖需要訓練2個參數,S2共有6X2 =12個參數需要訓練,共有6 X (2 X 2+1) X (12 X 12) =4320個連接;
[0022] C3層也是一個卷積層,它跟Cl有類似的地方,但也有一定的差別。它同樣通過5X5 的卷積核去卷積層S2,然后得到的特征map就只有8X8個神經元,但是它有12種不同的卷積 核,所以就存在12個特征map 了。這里需要注意的一點是:C3中的每一個特征map是連接到S2 中的所有6個或者幾個特征map的,表示每一層的特征map是上一層提取到的特征map的不同 組合。如表1所示,C3層共有12個特征圖,其中5個特征圖抽取S2層中3個相鄰的特征圖子集 信息;4個特征圖抽取S2中4個相鄰特征圖子集信息;2個抽取不相鄰的4個特征圖子集信息, 1個抽取S2中所有特征圖組合信息,最理想的是12個特征圖抽取的特征是互補的;這樣C3層 有(5X5) X45+12 = 1137個可訓練參數和1137X8X8 = 72768個連接;
[0023] S4層是一個下采樣層,由16個4 X 4大小的特征圖構成。特征圖中的每個單元與C3 中相應特征圖的2 X 2鄰域相連接,跟Cl和S2之間的連接一樣。S4層有2 X 12 = 24個可訓練參 數和(2 X 2+1) X 12 X (5 X 5) = 1500個連接;
[0024] 輸出層是與S4的一個全連接層。S4有12 X 4 X 4 = 192個神經元,每一個神經元都與 輸出的一個神經元相連,輸出層共有6個神經元(焊縫缺陷種類),所以共有192X6 = 1152個 連接。
[0025]更進一步,所述第一步中,訓練過程包括4步,這4步被分為兩個階段:
[0026]第一階段,向前傳播階段:
[0027] 1.1.1)從樣本集中取一個樣本(X,YP),將X輸入網絡;
[0028] 1.1.2)計算相應的實際輸出Op;
[0029] 在此階段,信息從輸入層經過逐級的變換,傳送到輸出層,網絡執行的是計算:
[0030]
[0031]在計算過程中,都是用Sigmoid作為激活函數;
[0032]第二階段,向后傳播階段:
[0033] 1.2.1)計算實際輸出Op與相應的理想輸出Yp的差;
[0034] 1.2.2)按極小化誤差的方法反向傳播調整權矩陣;
[0035] 向后傳播階段也是卷積神經網絡中最復雜的地方,基本思想是跟反向傳播算法 (BP算法)一樣,都是通過最小化殘差來調整權重和偏置,但是卷積神經網絡的網絡結構并 不像反向傳播算法那樣單一,對不同的結構處理方式也不一樣,而且因為權重共享,使得計 算殘差變得更加困難。所述的反向傳播算法是一種計算偏導數的有效方法,它的基本原理 是:利用前向傳播最后輸出的結果來計算誤差的偏導數,再用這個偏導數和前面的各層進 行加權求和,如此一層一層的向后傳下去,直到輸入層(不計算輸入層),最后利用每個節點 求出的偏導數來更新權重。
[0036] 輸出層到S4層的殘差=_(輸出值-樣本值)*激活函數的導數,隱藏層的殘差=(右 層每個節點的殘差加權求和)*激活函數;
[0037]其中,殘差全部計算好后,就可以更新權重了 :
[0038] (1)輸入層:權重增加=輸入值*右層對應節點的殘差*學習率;
[0039] (2)隱藏層:權重增加=當前節點的Sigmoid*右層對應節點的殘差*學習率;
[0040] (3)偏移值的權重增加=右層對應節點的殘差*學習率;
[0041] 其中,隱藏層表示除輸入層、輸出層以外的其他各層,學習率是一個預先設置好的 參數,用于控制每次更新的幅度;此后,對全部數據都反復進行這樣的計算,直到輸出的誤 差達到一個很小的值為止;
[0042] 在卷積神經網絡中,輸出層的殘差是輸出值與樣本值的差值,而中間各層的殘差
來源于下一巨的硓荖的加切知H屮.巨的硓荖ff曾加下.
[0043] ⑴
[0044] 其中(第m層表示輸出層)為輸出層的殘差,yi表示輸出值,at(ni)表示前向傳 播中輸出層的輸入值,f 表示激活函數的導數;
[0045] 下一層為采樣層的卷積層的殘差的計算可以對采樣層的殘差與一個2 X 2的全1矩 陣進行克羅內克積進行擴充,因為從卷積神經網絡的結構圖看出,采樣層的map大小是卷積 層的但這兩層的map個數是一樣的,卷積層的某個map中的4個單元與采樣層對應map的 一個單元關聯,擴充之后使得采樣層的殘差的維度與上一層的輸出map的維度一致;
[0046] 下一層為卷積層的采樣層的殘差的計算比較麻煩一點,因為采樣層到卷積層直接 的連接是有權重和偏置參數的,因此不像卷積層到采樣層那樣簡單。當采樣層L的下一層是 卷積層(L+1),并假設我們已經計算出L+1層的殘差,再假設L層第j個map Mj與L+1層的M2j關 聯,按照反向傳播算法的原理,L層的殘差仏是1^1層殘差D 2j的加權和,M2j與的關聯關系采 用將卷積核矩陣進行180度旋轉,使之一一對應;
[0047] 殘差計算出來后,就是更新權重和偏置參數。
[0048] 在完成卷積神經網絡的訓練后,便進入了測試階段,測試階段用來測試所使用的 卷積神經網絡用于焊縫缺陷識別的精度和速度是否可靠,其過程為:讀取檢測圖像,將這些 疑似焊縫缺陷歸一化為同尺寸灰度圖,然后將這些圖像輸入訓練好的卷積神經網絡中進行 測試,利用卷積神經網絡進行分類,分類的結果為上述的6類焊縫缺陷,進而獲取誤差率。
[0049] -種基于卷積神經網絡的焊接視覺檢測裝置,所述裝置包括爬行機構、動力傳動 機構、視覺檢測設備和焊縫缺陷分析系統;
[0050] 所述的爬行機構分為前后兩組,每組由相隔120°的3個輪子構成,前組起導向,后 組為驅動;爬行機構具有足夠摩擦力,防止在內膛打滑,由彈簧剛度保證;爬行腳具有設定 寬度,采用耐磨橡膠輪;
[0051] 所述的動力傳動機構位于爬行裝置的后部;采用步進電機為動力源,經齒輪傳動 后,將動力傳遞給爬行腳,以驅動爬行裝置在鋼管內爬行;
[0052] 所述的視覺檢測設備配置在所述的爬行機構前方,主要包括無線通信單元、主動 式全景視覺傳感器和電源;
[0053] 所述的焊縫缺陷檢測分析系統分為系統軟硬件,系統硬件包括無線通信單元、計 算單元、存儲單元和顯示單元;系統軟件包括全景視頻圖像接收單元、全景視頻圖像展開單 元和卷積神經網絡處理單元。
[0054] 進一步,所述的全景視覺傳感器包括全方位視覺傳感器和LED帶光源;所述的全方 位視覺傳感器包括凹圓弧鏡面、凹圓弧鏡面蓋、透光玻璃、固定螺釘、外罩和攝像單元;
[0055] 所述的凹圓弧鏡面的軸心線上開有一個螺紋孔;所述的透光玻璃的中心開有一個 小孔;所述的外罩由兩個半圓柱型相合而成,半圓柱型上的雌雄扣相配合;裝配時首先將透 光玻璃嵌入到一個半圓柱型的外罩中,然后對準兩半圓柱型的雌雄扣,并在其各自外壁上 施加外力使其合成為一個固定了透光玻璃的外罩;所述的外罩下部開有一個攝像鏡頭孔; 接著用固定螺釘穿過所述的透光玻璃的小孔與凹圓弧鏡面上的螺紋孔進行連接;所述的攝 像單元的鏡頭固定在所述的外罩攝像鏡頭孔中;所述的凹圓弧鏡面蓋中心開有一個小孔;
[0056] 所述的LED帶光源環繞在所述的全方位視覺傳感器的下固定座上。
[0057] 所述的全方位視覺傳感器的設計指標是盡可能大的垂直視場和盡可能短的成像 焦距,并滿足輕量化和低成本設計要求,所述的全方位視覺傳感器的采用塑料模具成型加 工。
[0058] 再進一步,所述的全景視頻圖像展開單元,用于對鋼管內壁全景圖像進行展開處 理得到鋼管內壁全景展開圖;根據全景圖像的中心坐標以及圖像的內外圓半徑,將全景圖 像的中心坐標設定平面坐標系的原點〇** (〇,〇)、X*軸、Y*軸、全景圖像的內徑為r、外徑為R, 用rl = (r+R)/2設定中間圓的半徑,方位角為全景柱狀展開圖像以坐標原 點0#(0,0)、X**軸、Y**軸為平面坐標系,將全景圖像中的內徑為r與X*軸的交點(r,0)作為 坐標原點〇**(〇,〇),以方位角β順時針方向展開;建立全景柱狀展開圖像中任意一點象素坐 標P** (X#,y **)與全景圖像中的象素坐標Q* (X*,y *)的對應關系,其計算式為:
[0059] x* = y7(tan(360x**A(R+r))) (4)
[0060] y*= (y**+r)cosP (5)
[0061]
[0062]式中,X'廣為全景柱狀展開圖像的象素坐標值,x'f為全景圖像的象素坐標值, R為圓形全景圖像的外徑,r為圓形全景圖像的內徑,β為圓形全景圖像坐標的方位角;這里 規定采用時鐘時針位置來描述焊縫缺陷出現在鋼管內壁環向的位置。
[0063]本發明的技術構思為:卷積神經網絡CNN主要用來識別位移、縮放及其他形式扭曲 不變性的二維圖形。由于CNN的特征檢測層通過訓練數據進行學習,所以在使用CNN時,避免 了顯式的特征抽取,而隱式地從訓練數據中進行學習;再者由于同一特征映射面上的神經 元權值相同,所以網絡可以并行學習,這也是卷積網絡相對于神經元彼此相連網絡的一大 優勢。卷積神經網絡以其局部權值共享的特殊結構在語音識別和圖像處理方面有著獨特的 優越性,其布局更接近于實際的生物神經網絡,權值共享降低了網絡的復雜性,特別是多維 輸入向量的圖像可以直接輸入網絡這一特點避免了特征提取和分類過程中數據重建的復 雜度。
[0064]卷積神經網絡避免了顯式的特征取樣,隱式地從訓練數據中進行學習。這使得卷 積神經網絡明顯有別于其他基于神經網絡的分類器,通過結構重組和減少權值將特征提 取功能融合進多層感知器。它可以直接處理灰度圖片,能夠直接用于處理基于圖像的分類。 [0065]卷積網絡較一般神經網絡在圖像處理方面有如下優點:a)輸入圖像和網絡的拓撲 結構能很好的吻合;b)特征提取和模式分類同時進行,并同時在訓練中產生;C)權重共享可 以減少網絡的訓練參數,使神經網絡結構變得更簡單,適應性更強。
[0066] 為了能夠提高焊接視覺檢測的精度和速度,必須要解決幾個核心問題:(1)實現一 種適合鋼管內進行穩定行走的爬行機構;(2)實現一種具有無線視頻圖像傳輸能力、并能快 速且高精度獲得實際焊縫圖像信息的全景視覺傳感器;(3)實現一種含有對焊接缺陷進行 分類功能的卷積神經網絡;(4)實現一批可以用于卷積神經網絡訓練用的焊接缺陷樣本數 據。
[0067] 本發明的有益效果主要表現在:1)提供了一種高性價比的、輕型的、能快速獲取全 景圖像的全方位視覺傳感器;與焊縫缺陷檢測分析系統配合實現了 "采集-識別-判定"全過 程的自動運行,真正實現了焊縫檢測的自動化;2)本發明采用卷積神經網絡作為焊接缺陷 檢測的分類器,由于卷積神經網絡權值共享的網絡結構,降低了網絡結構的復雜度,減少了 權值的數量,所以由它進行分類的速度快,另外,使用帶有疑似缺陷樣本進行訓練,讓卷積 神經網絡自動學習6類樣本復雜的類條件密度,避免了人為假設類條件密度函數所帶來的 問題,提高了檢測精度;3)本發明在測試過程中將測試樣本進行分批處理,加快了測試的速 度,減少了測試時間;4)提供了一種小型化、無線化的鋼管內壁焊縫缺陷自動檢測的手段, 極大的降低了焊縫缺陷檢測的工作負荷,提高了檢測效率;5)本發明采用卷積神經網絡和 分批處理的測試方法,提高了焊接檢測的精度和速度,非常適用于工業生產等實時性要求 高的系統,因此具有巨大前景。
【附圖說明】
[0068] 圖1是本發明卷積神經網絡訓練階段流程圖;
[0069] 圖2是本發明卷積神經網絡測試階段流程圖;
[0070] 圖3是本發明卷積神經網絡結構圖;
[0071] 圖4是本發明卷積神經網絡訓練過程;
[0072]圖5是本發明中歸一化后的同尺寸焊接缺陷圖像;
[0073] 圖6為一種微型無線全景視覺傳感器進行焊縫缺陷檢測的總體宏觀示意圖;
[0074] 圖7為一種全方位視覺傳感器的結構圖。
【具體實施方式】
[0075] 下面結合附圖對本發明作進一步描述。
[0076] 參照圖1~圖7,一種基于卷積神經網絡的焊接視覺檢測方法,包括如下過程:
[0077] 訓練階段,首先需要搜集訓練樣本,在本實施例中,一共搜集1萬張訓練樣本,在這 1萬張樣本中,有500張為焊接缺陷圖片,剩余9500張為前述500張焊接缺陷圖片經加入高斯 白噪聲、圖片旋轉、顏色變換、平移、對比度拉伸、翻轉等圖像處理方法得到的焊接缺陷圖 片。然后將這些樣本輸入卷積神經網絡中進行訓練,獲得卷積神經網絡的連接權值和偏置 值。
[0078] 在本實施例中,卷積神經網絡的結構采用圖3所示的結構,該卷積神經網絡共有6 層,包括依次連接的輸入層、Cl層、S2層、C3層、S4層和輸出層。輸入層為訓練樣本,其大小為 28*28像素。Cl層是一個卷積層,由6個大小為24*24像素的特征map構成,特征map中的每個 神經元與輸入層中5 X 5的鄰域相連接,Cl層共有6 X (5 X 5+1) = 156個參數,即輸入層和Cl 層共有156 X (24X 24) =89856個連接。
[0079] S2層是一個下采樣層,下采樣可以利用圖像局部相關性的原理,對圖像進行子抽 樣,可以減少數據處理量同時保留有用信息。S2層有6個12X12的特征圖。特征圖中的每個 單元與Cl中相對應特征圖的2 X 2鄰域相連接。S2層每個單元的4個輸入相加,乘以一個可訓 練參數,再加上一個可訓練偏置。結果通過Sigmoid函數計算。可訓練系數和偏置控制著 Sigmoid函數的非線性程度。如果系數比較小,那么運算近似于線性運算,下采樣相當于模 糊圖像。如果系數比較大,根據偏置的大小下采樣可以被看成是有噪聲的"或"運算或者有 噪聲的"與"運算。每個單元的2X2感受野并不重疊,因此S2中每個特征圖的大小是Cl中特 征圖大小的1/4(行和列各1/2)。每一個子采樣特征圖需要訓練2個參數,S2共有6X2 = 12個 參數需要訓練,共有6 X (2 X 2+1) X (12 X 12) =4320個連接。表1是S2層與C3層神經元連接 方式表。
[0082]表 1
[0083] C3層也是一個卷積層,它跟Cl有類似的地方,但也有一定的差別。它同樣通過5X5 的卷積核去卷積層S2,然后得到的特征map就只有8X8個神經元,但是它有12種不同的卷積 核,所以就存在12個特征map 了。這里需要注意的一點是:C3中的每一個特征map是連接到S2 中的所有6個或者幾個特征map的,表示每一層的特征map是上一層提取到的特征map的不同 組合。如表1所示,C3層共有12個特征圖,其中5個特征圖抽取S2層中3個相鄰的特征圖子集 信息;4個特征圖抽取S2中4個相鄰特征圖子集信息;2個抽取不相鄰的4個特征圖子集信息, 1個抽取S2中所有特征圖組合信息,最理想的是12個特征圖抽取的特征是互補的。這樣C3層 有(5X5) X45+12 = 1137個可訓練參數和1137X8X8 = 72768個連接。
[0084] S4層是一個下采樣層,由16個4 X 4大小的特征圖構成。特征圖中的每個單元與C3 中相應特征圖的2 X 2鄰域相連接,跟Cl和S2之間的連接一樣。S4層有2 X 12 = 24個可訓練參 數和(2 X 2+1) X 12 X (5 X 5) = 1500個連接。
[0085] 輸出層是與S4的一個全連接層。S4有12X4X4 = 192個神經元,每一個神經元都與 輸出的一個神經元相連,輸出層共有6個神經元(焊縫缺陷種類),所以共有192X6 = 1152個 連接。這里可以將S4看作一個192維的線性向量,而S4到輸出層的映射相當于使用該向量進 行分類,這個分類器共有1152個參數,因此具有很強的描述能力。輸出層包括6個單元,分別 表示6類焊縫缺陷:(1)裂紋;(2)未焊透;(3)未熔合;(4)條狀夾渣;(5)球狀夾渣;(6)氣孔。 [0086]神經網絡用于模式識別的主流是有監督學習,無監督學習更多的是用于聚類分 析。對于有監督的模式識別,由于任一樣本的類別是已知的,樣本在空間的分布不再是依據 其自然分布傾向來劃分,而是要根據同類樣本在空間的分布及不同類樣本之間的分離程度 找一種適當的空間劃分方法,或者找到一個分類邊界,使得不同樣本分別位于不同的區域 內。這就需要一個長時間且復雜的學習過程,不斷調整用以劃分樣本空間的分類邊界的位 置,使盡可能少的樣本被劃分到非同類區域中。
[0087] 卷積神經網絡在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出 之間的映射關系,而不需要任何輸入和輸出之間的精確數學表達式,只要用已知的模式對 卷積神經網絡加以訓練,網絡就具有輸入對輸出之間的映射能力。在開始訓練前,所有的權 值都應該用一些不同的小隨機數進行初始化,比如[0,1]之間分布的隨機數。"小隨機數"用 來保證網絡不會因權值過大而進入飽和狀態,從而導致訓練失敗;"不同"用來保證網絡可 以正常地學習。實際上,如果用相同的數去初始化權矩陣,則具有對稱性,導致每一層的卷 積核都相同,則網絡無能力學習。
[0088] 卷積神經網絡的訓練過程如圖4所示,主要包括4步,這4步被分為兩個階段:
[0089]第一階段,向前傳播階段:
[0090] (1)從樣本集中取一個樣本(X,YP),將X輸入網絡;
[0091] (2)計算相應的實際輸出0Ρ。
[0092] 在此階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完 成訓練后正常運行時執行的過程。在此過程中,網絡執行的是計算(實際上就是輸入與每層 的權值矩陣相點乘,得到最后的輸出結果):
[0093]
[0094]在計算過程中,都是用Sigmoid作為激活函數。
[0095]第二階段,向后傳播階段:
[0096] (1)計算實際輸出Op與相應的理想輸出Yp的差;
[0097] (2)按極小化誤差的方法反向傳播調整權矩陣。
[0098] 向后傳播階段也是卷積神經網絡中最復雜的地方,基本思想是跟反向傳播算法 (BP算法)一樣,都是通過最小化殘差來調整權重和偏置,但是卷積神經網絡的網絡結構并 不像反向傳播算法那樣單一,對不同的結構處理方式也不一樣,而且因為權重共享,使得計 算殘差變得更加困難。所述的反向傳播算法是一種計算偏導數的有效方法,它的基本原理 是:利用前向傳播最后輸出的結果來計算誤差的偏導數,再用這個偏導數和前面的各層進 行加權求和,如此一層一層的向后傳下去,直到輸入層(不計算輸入層),最后利用每個節 點求出的偏導數來更新權重。其中,為了便于理解,后面我們用"殘差"這個詞來表示誤差的 偏導數。
[0099] 其中,輸出層到S4層的殘差=_(輸出值-樣本值)*激活函數的導數,隱藏層的殘差 =(右層每個節點的殘差加權求和)*激活函數。
[0100] 其中,殘差全部計算好后,就可以更新權重:
[0101] (1)輸入層:權重增加=輸入值*右層對應節點的殘差*學習率
[0102] (2)隱藏層:權重增加=當前節點的Sigmoid*右層對應節點的殘差*學習率
[0103] (3)偏移值的權重增加=右層對應節點的殘差*學習率
[0104] 其中,隱藏層表示除輸入層、輸出層以外的其他各層。學習率是一個預先設置好的 參數,用于控制每次更新的幅度。此后,對全部數據都反復進行這樣的計算,直到輸出的誤 差達到一個很小的值為止。
[0105] 在卷積神經網絡中,輸出層的殘差是輸出值與樣本值的差值,而中間各層的殘差 來源于下一層的殘差的加叔和。輸出層的殘差i+筧如下:
[0106]
[0107] 其中
第m層表不輸出層)為輸出層的殘差,yi表不輸出值
表不前向傳 播中輸出層的輸入值:
丨表示激活函數的導數。
[0108] 下一層為采樣層的卷積層的殘差的計算可以對采樣層的殘差與一個2 X 2的全1矩 陣進行克羅內克積進行擴充,因為從卷積神經網絡的結構圖看出,采樣層的map大小是卷積 層的^一,但這兩層的map個數是一樣的,卷積層的某個map中的4個單元與采樣層對應map的 2X2 一個單元關聯,擴充之后使得采樣層的殘差的維度與上一層的輸出map的維度一致。
[0109] 下一層為卷積層的采樣層的殘差的計算比較麻煩一點,因為采樣層到卷積層直接 的連接是有權重和偏置參數的,因此不像卷積層到采樣層那樣簡單。當采樣層L的下一層是 卷積層(L+1),并假設我們已經計算出L+1層的殘差,再假設L層第j個map Mj與L+1層的M2j關 聯,按照反向傳播算法的原理,L層的殘差仏是1^1層殘差D 2j的加權和,M2j與的關聯關系采 用將卷積核矩陣進行180度旋轉,使之一一對應。
[0110] 殘差計算出來后,就是更新權重和偏置參數。
[0111] 在完成卷積神經網絡的訓練后,便進入了測試階段,測試階段用來測試所使用的 卷積神經網絡用于焊縫缺陷識別的精度和速度是否可靠。其過程為:讀取檢測圖像,如圖 5 所示,將這些疑似焊縫缺陷歸一化為同尺寸灰度圖,然后將這些圖像輸入訓練好的卷積神 經網絡中進行測試,利用卷積神經網絡進行分類,分類的結果為上述的6類焊縫缺陷,進而 可以獲取誤差率。
[0112] -種基于全景視覺的焊縫缺陷檢測裝置主要由爬行機構、動力傳動機構、視覺檢 測設備、焊縫缺陷檢測分析系統;爬行機構由動力傳動機構驅動,爬行機構攜帶著視覺檢測 設備在鋼管內(如圖6所示)爬行,視覺檢測設備在爬行過程中采集鋼管內的視頻圖像,采集 后的視頻圖像通過無線通信單元發送給焊縫缺陷檢測分析系統,在焊縫缺陷檢測分析系統 中進行缺陷自動檢測,最后將檢測結果顯示在顯示設備上;
[0113] 所述的爬行機構位于爬行裝置的中部,如圖7所示,分為前后兩組,前組起導向,后 組為驅動;爬行機構具有足夠摩擦力,防止在鋼管內打滑,由彈簧剛度保證;爬行腳具有一 定寬度,確保在鋼管內直線爬行,采用耐磨橡膠輪,以減小對鋼管內壁的磨損;
[0114]所述的動力傳動機構位于爬行裝置的后部;采用步進電機為動力源,經齒輪傳動 后,將動力傳遞給爬行腳,以驅動爬行裝置在鋼管內爬行;
[0115] 所述的視覺檢測設備主要包括無線通信單元、全景視覺傳感器和電源;
[0116] 所述的焊縫缺陷檢測分析系統主要分為系統軟硬件,系統硬件主要包括無線通信 單元、計算單元、存儲單元和顯示單元;系統軟件主要包括全景視頻圖像接收單元、全景視 頻圖像展開單元、卷積神經網絡處理單元;
[0117] 所述的主動式全景視覺傳感器主要包括全方位視覺傳感器、LED帶光源;
[0118] 所述的全方位視覺傳感器包括凹圓弧鏡面2、凹圓弧鏡面蓋1、透光玻璃3、固定螺 釘4、外罩5和攝像單元7;如圖7所示,所述的凹圓弧鏡面的軸心線上開有一個螺紋孔;所述 的透光玻璃的中心開有一個小孔;所述的外罩由兩個半圓柱型相合而成,半圓柱型上的雌 雄扣相配合;裝配時首先將透光玻璃嵌入到一個半圓柱型的外罩中,然后對準兩半圓柱型 的雌雄扣,并在其各自外壁上施加外力使其合成為一個固定了透光玻璃的外罩;所述的外 罩下部開有一個攝像鏡頭孔;接著用固定螺釘穿過所述的透光玻璃的小孔與凹圓弧鏡面上 的螺紋孔進行連接;所述的攝像單元的鏡頭固定在所述的外罩攝像鏡頭孔中;所述的凹圓 弧鏡面蓋中心開有一個小孔8;
[0119] 基于全景視覺的焊縫缺陷檢測原理是:爬行機構由動力傳動機構驅動,爬行機構 攜帶著視覺檢測設備在鋼管內爬行,視覺檢測設備在爬行過程中采集鋼管內的全景視頻圖 像;采集后的全景視頻圖像通過無線通信單元發送給焊縫缺陷檢測分析系統,在焊縫缺陷 檢測分析系統中進行缺陷自動檢測及識別,最后將檢測結果顯示在顯示設備上;
[0120]所述的全景視頻圖像接收單元,用于接收從所述的視覺檢測設備發送過來的鋼管 內壁全景視頻圖像;根據LED帶光源照射得到的是鋼管內壁全景圖像;這里將接收單元接收 到的鋼管內壁全景圖像用爬行距離Z m*文件名保存在存儲單位中;
[0121] 所述的全景視頻圖像展開單元,用于對鋼管內壁全景圖像進行展開處理得到鋼管 內壁全景展開圖;根據全景圖像的中心坐標以及圖像的內外圓半徑,將全景圖像的中心坐 標設定平面坐標系的原點〇** (〇,〇)、X*軸、Y*軸、全景圖像的內徑為r、外徑為R,用r I = (r+ R)/2設定中間圓的半徑,方位角為eitarTHyVVO;全景柱狀展開圖像以坐標原點〇**(〇, 0)、X**軸、Y**軸為平面坐標系,將全景圖像中的內徑為r與X*軸的交點(r,0)作為坐標原點 0**(0,0),以方位角β順時針方向展開;建立全景柱狀展開圖像中任意一點象素坐標P** (x**,y**)與全景圖像中的象素坐標Q*(x*,y*)的對應關系,其計算式為:
[0122] X* = y*/ (tan (360χ**/π (R+r))) (4)
[0123] y*= (y**+r)cosP (5)
[0124] 式中,x#,y#為全景柱狀展開圖像的象素坐標值,為全景圖像的象素坐標值, R為圓形全景圖像的外徑,r為圓形全景圖像的內徑,β為圓形全景圖像坐標的方位角;這里 規定采用時鐘時針位置來描述焊縫缺陷出現在鋼管內壁環向的位置。
【主權項】
1. 一種基于卷積神經網絡的焊接視覺檢測方法,其特征在于:所述方法包括如下步驟: 第一步,訓練階段,將訓練樣本輸入卷積神經網絡,獲得卷積神經網絡的連接權值和偏 置值; 第二步,測試階段,讀入焊接圖像,對焊接圖像采用數字圖像處理技術進行預處理,提 取出感興趣區域,然后將感興趣區域圖像尺寸進行歸一化處理后作為卷積神經網絡的輸 入; 所述卷積神經網絡的結構為6層,包括依次連接的輸入層,Cl層、S2層、C3層、S4層和輸 出層,Cl層、C3層為卷積層,S2層、S4層為下采樣層,輸入層為大小為28*28像素的圖像,Cl層 由6個大小為24*24像素的特征map構成,S2層由6個大小為12*12像素的特征map構成,C3層 由12個大小為8*8像素的特征map構成,S4層由12個大小為4*4像素的特征map構成,輸出層 包括6個一維向量,分別表示6類焊縫缺陷:(1)裂紋;(2)未焊透;(3)未熔合;(4)條狀夾渣; (5)球狀夾渣;(6)氣孔。2. 如權利要求1所述的基于卷積神經網絡的焊接視覺檢測方法,其特征在于:所述訓練 樣本有1萬張圖片,在這1萬張樣本中,有500張為焊接缺陷圖片,剩余9500張為前述500張焊 接缺陷圖片經加入高斯白噪聲、圖片旋轉、顏色變換、平移、對比度拉伸、翻轉圖像處理方法 得到的焊接缺陷圖片,然后將感興趣區域圖像尺寸進行歸一化處理后作為卷積神經網絡的 輸入;所述的訓練樣本包括輸入向量和理想輸出向量,當輸入向量輸入CNN中后經過逐層變 換,傳送到輸出層,得到實際輸出向量。3. 如權利要求1或2所述的基于卷積神經網絡的焊接視覺檢測方法,其特征在于: Cl層經過5X5的卷積模板卷積后,6個特征圖的大小均為24*24,特征圖中每個神經元 與輸入中5X5的卷積模板相連,每個濾波器5X5共25個元參數和一個偏置參數,共6個濾波 器,共6 X (5 X 5+1 ) = 156個可訓練參數,共有156 X (24 X 24)= 89856個連接; S2層經下采樣后得到6個12X12的特征圖,特征圖中的每個單元與Cl中對應特征圖的2 X 2鄰域連接,S2層每個單元的4個輸入相加,乘以一個可訓練參數,再加上一個可訓練偏 置;結果通過Sigmoid函數計算,函數如下:Cl) 下采樣相當于模糊圖像,使用2X 2模板時不重疊,因此S2中每個特征圖的大小是Cl中 特征圖大小的1/4(行和列各1/2),每一個子采樣特征圖需要訓練2個參數,S2共有6X2 = 12 個參數需要訓練,共有6 X (2 X 2+1) X (12 X 12) = 4320個連接; C3層也是一個卷積層,它跟Cl有類似的地方,但也有一定的差別,它同樣通過5X5的卷 積核去卷積層S2,然后得到的特征map就只有8X8個神經元,但是它有12種不同的卷積核, 所以就存在12個特征map,這里需要注意的一點是:C3中的每一個特征map是連接到S2中的 所有6個或者幾個特征map的,表示每一層的特征map是上一層提取到的特征map的不同組 合,C3層共有12個特征圖,其中5個特征圖抽取S2層中3個相鄰的特征圖子集信息;4個特征 圖抽取S2中4個相鄰特征圖子集信息;2個抽取不相鄰的4個特征圖子集信息,1個抽取S2中 所有特征圖組合信息,最理想的是12個特征圖抽取的特征是互補的;這樣C3層有(5X5) X 45+12 = 1137個可訓練參數和1137 X 8 X 8 = 72768個連接; S4層是一個下采樣層,由16個4 X 4大小的特征圖構成,特征圖中的每個單元與C3中相 應特征圖的2 X 2鄰域相連接,跟Cl和S2之間的連接一樣,S4層有2 X 12 = 24個可訓練參數和 (2 X 2+1) X 12 X (5 X 5) = 1500個連接; 輸出層是與S4的一個全連接層,S4有12 X 4 X 4= 192個神經元,每一個神經元都與輸出 的一個神經元相連,輸出層共有6個神經元(焊縫缺陷種類),所以共有192 X 6 = 1152個連 接。4. 如權利要求1或2所述的基于卷積神經網絡的焊接視覺檢測方法,其特征在于:所述 第一步中,訓練過程包括4步,這4步被分為兩個階段: 第一階段,向前傳播階段: 1.1.1) 從樣本集中取一個樣本(X,Yp),將X輸入網絡; 1.1.2) 計算相應的實際輸出Op; 在此階段,信息從輸入層經過逐級的變換,傳送到輸出層,網絡執行的是計算: 〇P = Fn(---(F2(Fi(XPff(1))ff(2))---)ff (n)) (2) 在計算過程中,都是用Sigmoid作為激活函數; 第二階段,向后傳播階段: 1.2.1) 計算實際輸出Op與相應的理想輸出Yp的差; 1.2.2) 按極小化誤差的方法反向傳播調整權矩陣。5. 如權利要求1或2所述的基于卷積神經網絡的焊接視覺檢測方法,其特征在于:輸出 層到S4層的殘差=-(輸出值-樣本值)*激活函數的導數,隱藏層的殘差=(右層每個節點的 殘差加權求和)*激活函數; 其中,殘差全部計算好后,更新權重: (1) 輸入層:權重增加=輸入值*右層對應節點的殘差*學習率; (2) 隱藏層:權重增加=當前節點的Si gmo id*右層對應節點的殘差*學習率; (3) 偏移值的權重增加=右層對應節點的殘差*學習率; 其中,隱藏層表示除輸入層、輸出層以外的其他各層,學習率是一個預先設置好的參 數,用于控制每次更新的幅度;此后,對全部數據都反復進行這樣的計算,直到輸出的誤差 達到一個很小的值為止; 在卷積神經網絡中,輸出層的殘差是輸出值與樣本值的差值,而中間各層的殘差來源f γ-巨的硓荖的加切知.給m巨的硓荖彳+曾加下.其中,δΡ(第m層表示輸出層)為輸出層的殘差,yi表示輸出值,表示前向傳播中輸 (3) 出層的輸入值,Πζ;(η'])表示激活函數的導數; 下一層為采樣層的卷積層的殘差的計算可以對采樣層的殘差與一個2 X 2的全1矩陣進 行克羅內克積進行擴充,因為從卷積神經網絡的結構圖看出,采樣層的map大小是卷積層的 但這兩層的map個數是一樣的,卷積層的某個map中的4個單元與采樣層對應map的一個 單元關聯,擴充之后使得采樣層的殘差的維度與上一層的輸出map的維度一致; 下一層為卷積層的采樣層的殘差的計算比較麻煩一點,因為采樣層到卷積層直接的連 接是有權重和偏置參數的,因此不像卷積層到采樣層那樣簡單,當采樣層L的下一層是卷積 層(L+1),并假設我們已經計算出L+1層的殘差,再假設L層第j個map 與L+1層的M2j關聯, 按照反向傳播算法的原理,L層的殘差仏是1>1層殘差D2j的加權和,M2j與M j的關聯關系采用 將卷積核矩陣進行180度旋轉,使之一一對應; 殘差計算出來后,就是更新權重和偏置參數。6. 如權利要求1或2所述的基于卷積神經網絡的焊接視覺檢測方法,其特征在于:在完 成卷積神經網絡的訓練后,便進入了測試階段,測試階段用來測試所使用的卷積神經網絡 用于焊縫缺陷識別的精度和速度是否可靠,其過程為:讀取檢測圖像,將這些疑似焊縫缺陷 歸一化為同尺寸灰度圖,然后將這些圖像輸入訓練好的卷積神經網絡中進行測試,利用卷 積神經網絡進行分類,分類的結果為上述的6類焊縫缺陷,進而獲取誤差率。7. -種實現如權利要求1所述的基于卷積神經網絡的焊接視覺檢測方法的裝置,其特 征在于:所述裝置包括爬行機構、動力傳動機構、視覺檢測設備和焊縫缺陷分析系統; 所述的爬行機構分為前后兩組,每組由相隔120°的3個輪子構成,前組起導向,后組為 驅動;爬行機構具有足夠摩擦力,防止在內膛打滑,由彈簧剛度保證;爬行腳具有設定寬度, 采用耐磨橡膠輪; 所述的動力傳動機構位于爬行裝置的后部;采用步進電機為動力源,經齒輪傳動后,將 動力傳遞給爬行腳,以驅動爬行裝置在鋼管內爬行; 所述的視覺檢測設備配置在所述的爬行機構前方,主要包括無線通信單元、主動式全 景視覺傳感器和電源; 所述的焊縫缺陷檢測分析系統分為系統軟硬件,系統硬件包括無線通信單元、計算單 元、存儲單元和顯示單元;系統軟件包括全景視頻圖像接收單元、全景視頻圖像展開單元和 卷積神經網絡處理單元。8. 如權利要求7所述的裝置,其特征在于:所述的全景視覺傳感器包括全方位視覺傳感 器和LED帶光源;所述的全方位視覺傳感器包括凹圓弧鏡面、凹圓弧鏡面蓋、透光玻璃、固定 螺釘、外卓和攝像單兀; 所述的凹圓弧鏡面的軸心線上開有一個螺紋孔;所述的透光玻璃的中心開有一個小 孔;所述的外罩由兩個半圓柱型相合而成,半圓柱型上的雌雄扣相配合;裝配時首先將透光 玻璃嵌入到一個半圓柱型的外罩中,然后對準兩半圓柱型的雌雄扣,并在其各自外壁上施 加外力使其合成為一個固定了透光玻璃的外罩;所述的外罩下部開有一個攝像鏡頭孔;接 著用固定螺釘穿過所述的透光玻璃的小孔與凹圓弧鏡面上的螺紋孔進行連接;所述的攝像 單元的鏡頭固定在所述的外罩攝像鏡頭孔中;所述的凹圓弧鏡面蓋中心開有一個小孔; 所述的LED帶光源環繞在所述的全方位視覺傳感器的下固定座上。9. 如權利要求8或9所述的裝置,其特征在于:所述的全景視頻圖像展開單元,用于對鋼 管內壁全景圖像進行展開處理得到鋼管內壁全景展開圖;根據全景圖像的中心坐標以及圖 像的內外圓半徑,將全景圖像的中心坐標設定平面坐標系的原點〇**(〇,〇)、X*軸、Y*軸、全 景圖像的內徑為r、外徑為R,用rl = (r+R)/2設定中間圓的半徑,方位角為I^tarT1W); 全景柱狀展開圖像以坐標原點〇**(〇,〇)、X**軸、Y**軸為平面坐標系,將全景圖像中的內徑 為r與X*軸的交點(r,0)作為坐標原點0#(0,0),以方位角β順時針方向展開;建立全景柱狀 展開圖像中任意一點象素坐標P** (X#,y#)與全景圖像中的象素坐標Q* (X*,y*)的對應關 系,其計算式為: (4)(5) 式中,x#,y#為全景柱狀展開圖像的象素坐標值,為全景圖像的象素坐標值,R為 圓形全景圖像的外徑,r為圓形全景圖像的內徑,β為圓形全景圖像坐標的方位角;這里規定 采用時鐘時針位置來描述焊縫缺陷出現在鋼管內壁環向的位置。10.如權利要求8或9所述的裝置,其特征在于:所述卷積神經網絡處理單元中,卷積神 經網絡的結構為6層,包括依次連接的輸入層、Cl層、S2層、C3層、S4層和輸出層,Cl層、C3層 為卷積層,S2層、S4層為下采樣層,輸入層為大小為28*28像素的圖像,Cl層由6個大小為24* 24像素的特征map構成,S2層由6個大小為12*12像素的特征map構成,C3層由12個大小為8*8 像素的特征map構成,S4層由12個大小為4*4像素的特征map構成,輸出層包括6個一維向量, 分別表示6類焊縫缺陷:(1)裂紋;(2)未焊透;(3)未熔合;(4)條狀夾渣;(5)球狀夾渣;(6)氣 孔。
【文檔編號】G01N21/88GK105891215SQ201610202750
【公開日】2016年8月24日
【申請日】2016年3月31日
【發明人】胡克鋼, 湯平, 湯一平, 吳挺, 魯少輝, 韓國棟, 陳麒, 袁公萍
【申請人】浙江工業大學