吳山德
摘要:焊縫缺陷指的是在實(shí)際操作中由于技術(shù)因素或外部環(huán)境因素,導(dǎo)致的焊接過(guò)程中出現(xiàn)的缺陷。焊縫缺陷危害巨大,無(wú)論在哪個(gè)領(lǐng)域,所使用的焊件必須保證其無(wú)缺陷。在保證識(shí)別到缺陷的前提下,需要對(duì)缺陷迸行修補(bǔ),修補(bǔ)的前提是明確得知缺陷的類型。就此,本文分析了焊縫缺陷類型及特點(diǎn),主要針對(duì)靜態(tài)圖像,介紹通過(guò)圖像分析技術(shù),進(jìn)行缺陷檢測(cè)的方法和技術(shù)。
關(guān)鍵詞:鋼管焊縫;缺陷類型;檢測(cè)分析
1焊縫缺陷類型及特點(diǎn)
(1)裂紋,是工件表面發(fā)生斷裂,屬于致命性缺陷,裂紋比較難檢測(cè)到,若未檢測(cè)到投入使用,由于其表面的張力,很容易發(fā)生爆破,必然造成嚴(yán)重的后果。
(2)氣孔,是焊接過(guò)程中由于某些原因使得焊件內(nèi)進(jìn)入一部分氣體。這是常見的焊縫缺陷,且氣孔表現(xiàn)形態(tài)多變,如點(diǎn)狀氣孔,條狀氣孔,蟲狀氣孔,鏈狀氣孔,氣體含量過(guò)高時(shí)還會(huì)出現(xiàn)一連串的氣孔。
(3)夾渣,是在焊接過(guò)程中,焊縫中進(jìn)入了其他的非焊接材料的物質(zhì),夾渣的形態(tài)是無(wú)固定規(guī)律,可以出現(xiàn)點(diǎn)狀、條狀或不規(guī)則形態(tài)。當(dāng)焊接電流很小或者操作速度太快時(shí),容易混入夾渣。
(4)未熔合未焊透,是熔化金屬與焊件之間,有一部分空間并沒有被焊材完全填充而產(chǎn)生的缺陷。此類缺陷在成像系統(tǒng)中表現(xiàn)出來(lái)的是一片黑色的不規(guī)則缺陷,這種缺陷出現(xiàn)的位置很隨機(jī),但出現(xiàn)時(shí)占焊縫中的面積較大,一般人眼也可以識(shí)別到,此類缺陷也是一種常見的缺陷類型。
(5)燒穿,是焊接金屬通過(guò)縫隙從焊件背面流出所造成的缺陷,形成這種缺陷的主要原因是因?yàn)殡娏髟O(shè)置過(guò)大,也有其他原因,比如母材根部的間隙大,下料不夠精準(zhǔn),底部鈍邊太小,電弧如果在同一部位長(zhǎng)時(shí)間停留也會(huì)有燒穿出現(xiàn)。
(6)咬邊,是一種焊縫銜接不良的缺陷,形成原因與燒穿相似,是由電流過(guò)大,電弧過(guò)長(zhǎng)導(dǎo)致,但是咬邊出現(xiàn)的位置都是在焊縫邊緣。
2 基于靜態(tài)圖像分析技術(shù)的缺陷檢測(cè)
2.1靜態(tài)圖像的特點(diǎn)
靜態(tài)圖像的分辨率比視頻幀高(靜態(tài)圖像為1024×1024,視頻幀為512×512),在實(shí)際抓拍過(guò)程中,通過(guò)連續(xù)抓拍100次求平均,這樣靜態(tài)圖像比視頻幀質(zhì)量要好得多,通過(guò)實(shí)際使用可知靜態(tài)圖像更適合于利用圖像分析算法進(jìn)行缺陷檢測(cè)。
2.2缺陷檢測(cè)流程
對(duì)于靜態(tài)圖像,我們按照如下流程對(duì)焊縫缺陷進(jìn)行監(jiān)測(cè):平滑降噪處理:使用均值濾波對(duì)圖像進(jìn)行平滑處理。提取焊縫邊界:用兩條直線近似代表焊縫的兩個(gè)邊界,在焊縫內(nèi)進(jìn)行缺陷檢測(cè)陷。缺陷檢測(cè):使用幀差法和Laplace算子進(jìn)行缺陷監(jiān)測(cè)。檢測(cè)結(jié)果處理:確定缺陷的個(gè)數(shù)及類型。平滑降噪處理比較簡(jiǎn)單,我們直接調(diào)用Open CV中的blur函數(shù)即可,隨后我們主要討論焊縫邊界提取、缺陷檢測(cè)和結(jié)果處理。
2.3焊縫邊界提取
2.3.1算法原理。焊縫邊緣檢測(cè)的基本原理是將圖像中灰度值(梯度)變化較大的點(diǎn)檢測(cè)出來(lái),將這些點(diǎn)連接起來(lái)構(gòu)成若干線條,進(jìn)而得到圖像的邊緣信息。在邊緣檢測(cè)中,Sobel、Roberts、Canny算子是常用的邊緣檢測(cè)算子,Sobel算子具有很好的邊緣檢測(cè)特性,但易檢測(cè)出偽邊緣;Roberts檢測(cè)水平和垂直邊緣具有很好效果,但對(duì)噪聲敏感;Canny算子具有很好的邊緣檢測(cè)性能,本文采用的是Canny邊緣檢測(cè)算子?;贒R成像的焊縫圖像中,焊縫邊緣整體上是規(guī)則的,故可用兩條直線近似表示焊縫的邊界,圖3-1是一個(gè)典型的焊縫圖像,實(shí)際過(guò)程中,焊縫在坐標(biāo)系中近似45度。首先采用Canny算子提取邊緣信息,之后對(duì)提取的邊緣信息進(jìn)行過(guò)濾、擬合等處理,經(jīng)上述步驟,可準(zhǔn)確提取出焊縫邊界,具體檢測(cè)流程:焊縫圖像→Canny檢測(cè)→Hough變換檢測(cè)直線→一次過(guò)濾(垂直水平等)→判斷直線個(gè)數(shù)→估計(jì)中線→二次過(guò)濾→分為左右兩部分→擬合→結(jié)果。
算法步驟為:①對(duì)焊縫圖像F進(jìn)行平滑濾波處理,得到圖像F1;②利用Canny算子對(duì)圖像F1進(jìn)行邊緣檢測(cè),得到圖像F2;③在圖像F2中檢測(cè)直線,將檢測(cè)結(jié)果存放在集合S1中;④對(duì)集合S1中的直線進(jìn)行過(guò)濾,濾除一些可能引起干擾的直線,將過(guò)濾后的結(jié)果存放在集合S2中。為了實(shí)現(xiàn)焊縫邊界的準(zhǔn)確定位,對(duì)S1中的直線進(jìn)行過(guò)濾是必須的,必須過(guò)濾掉那些引起干擾的直線段。根據(jù)實(shí)際情況過(guò)濾掉那些長(zhǎng)度太短的直線段、接近平行或垂直的直線段;⑤在S2中找到最左邊的直線LL和最右邊的直線RL,由此得到近似中線ML,以這個(gè)近似中線為界,對(duì)S2中的直線進(jìn)行第2次過(guò)濾,過(guò)濾掉那些在焊縫范圍內(nèi)與ML相交或距離ML太近的線段,最后結(jié)果存放在S3中;⑥將S3中的直線分為左右兩部分,分別存放在集合SL和SR中;⑦分別對(duì)SL和SR中的直線進(jìn)行最小二乘擬合,最后得到焊縫的左邊EL界和有邊界ER;⑧實(shí)際過(guò)程中焊縫的寬度W是己知的,在焊縫范圍內(nèi)計(jì)算EL和ER之間的距離D,如果D在合理的范圍內(nèi)則最終得到焊縫的左右邊界,小于或大于給定的閡值,否則檢測(cè)失敗。
2.3.2算法實(shí)現(xiàn)
我們調(diào)用Open CV相關(guān)函數(shù)可容易實(shí)現(xiàn)上面的焊縫邊界提取算法。下表列出了在提取焊縫邊界時(shí)調(diào)用的Open CV函數(shù),其中的關(guān)鍵參數(shù)名稱及其意義參見Open CV說(shuō)明文檔中的函數(shù)原型。
我們利用C++編寫一個(gè)函數(shù),實(shí)現(xiàn)焊縫邊界檢測(cè),函數(shù)原型如下所示:
本函數(shù)作為CHanFeng類的成員函數(shù),如果檢測(cè)成功返回true,將結(jié)果存放在兩個(gè)直線類型的數(shù)據(jù)成員中,