趙國鑫 閆旺 于灝



關(guān)鍵詞:機(jī)器視覺;圖像處理;焊接檢測;風(fēng)電塔筒;焊縫寬度
0 引言
近年來,酒泉市風(fēng)力發(fā)電產(chǎn)業(yè)得到了快速發(fā)展,風(fēng)電塔筒是風(fēng)力發(fā)電重要的設(shè)備之一,在風(fēng)力發(fā)電機(jī)組中主要起支撐作用,同時(shí)吸收機(jī)組震動(dòng),保證風(fēng)電設(shè)備的穩(wěn)定性。風(fēng)電塔高度高,需要有足夠的強(qiáng)度、剛度和抗疲勞性能,以保證在大風(fēng)或暴風(fēng)襲擊時(shí),不會(huì)發(fā)生整機(jī)傾倒等事故。塔筒整體結(jié)構(gòu)采用焊接技術(shù)制造,焊縫長度長,焊接工程量大,焊接質(zhì)量要求高。在焊縫的外觀檢驗(yàn)中,寬度及寬度差檢測是焊縫外觀檢測的一個(gè)重要指標(biāo)。
目前,塔筒焊縫的外觀檢測使用的是人工檢測法,即工人利用焊縫檢測尺測量焊縫的不同位置進(jìn)行數(shù)據(jù)分析,由于焊縫較長,檢測過程費(fèi)時(shí)費(fèi)力,過度依靠檢測者的經(jīng)驗(yàn),且具有較大的主觀性,不利于智能化推廣;而且會(huì)因工作時(shí)間的延長、出現(xiàn)測量者的疲勞和檢測水平的問題,出現(xiàn)誤測、漏測,測試結(jié)果不夠穩(wěn)定等問題。
通過與圖像處理和人工智能相結(jié)合的辦法來檢測焊縫的表面成型質(zhì)量,已經(jīng)有了豐碩的成果。褚慧慧[1]做了基于視覺的焊縫質(zhì)量檢測技術(shù)研究,將機(jī)器視覺技術(shù)應(yīng)用到焊縫質(zhì)量檢測中,實(shí)現(xiàn)了非接觸的高靈敏度與高精度測量,提高了檢測效率,降低了檢測成本。王立偉等人[2]對(duì)基于視覺信息的鋼板連續(xù)生產(chǎn)線激光焊接關(guān)鍵技術(shù)進(jìn)行了研究,將機(jī)器視覺融入鋼板激光連續(xù)焊接技術(shù)中,實(shí)現(xiàn)了焊縫、焦點(diǎn)的位置以及焊接速度的精確控制。王振民等人[3]利用機(jī)器視覺的方法,獲取了焊接過程中的熔池相關(guān)參數(shù),并以此為依據(jù)對(duì)焊接過程進(jìn)行控制。但是,大部分的檢測系統(tǒng)是基于機(jī)構(gòu)光或者激光的[4-6],需要專門的硬件設(shè)備,檢測過程相對(duì)比較復(fù)雜;且關(guān)于風(fēng)電塔筒焊縫質(zhì)量的研究相對(duì)較少。針對(duì)這些問題,本文提出一種基于視覺技術(shù)的風(fēng)電塔筒焊縫寬度檢測方法。
1 方法簡述
通過攝像設(shè)備獲取焊接件圖像,讀入圖像并采用人機(jī)交互的方式對(duì)圖像進(jìn)行選區(qū);提取其亮度信息對(duì)圖像進(jìn)行灰度化獲得灰度圖像,采用直方圖均衡化和中值濾波對(duì)圖像進(jìn)行增強(qiáng),中值濾波可以有效地降低噪聲,并更好地保護(hù)圖像的邊緣信息。基于視覺的焊縫寬度檢測系統(tǒng)流程如圖1所示。
使用區(qū)域生長法對(duì)圖像進(jìn)行分割獲得焊縫的二值圖,區(qū)域生長方法是根據(jù)同一物體區(qū)域內(nèi)像素的相似性質(zhì)來聚集像素點(diǎn)的方法,從初始區(qū)域(如小鄰域甚至于每個(gè)像素)開始,將相鄰的具有同樣性質(zhì)的像素或其他區(qū)域歸并到目前的區(qū)域中,從而逐步增長區(qū)域,直至沒有可以歸并的點(diǎn)或其他小區(qū)域?yàn)橹埂^(qū)域內(nèi)像素的相似性度量可以包括平均灰度值、紋理、顏色等信息。在沒有先驗(yàn)知識(shí)可以利用時(shí),可以取得最佳的性能,可以用來分割比較復(fù)雜的圖像。
依靠形態(tài)學(xué)處理修補(bǔ)過分割區(qū)域得到焊縫區(qū)域,形態(tài)學(xué)是圖像處理中應(yīng)用最為廣泛的技術(shù)之一,主要用于從圖像中提取對(duì)表達(dá)和描繪區(qū)域形狀有意義的圖像分量,使后續(xù)的識(shí)別工作能夠抓住目標(biāo)對(duì)象最為本質(zhì)的形狀特征,如邊界和連通區(qū)域等;最后依據(jù)像素?cái)?shù)來計(jì)算焊縫寬度的各個(gè)參數(shù)。
2 仿真系統(tǒng)設(shè)計(jì)
2.1 界面設(shè)計(jì)
焊縫寬度檢測系統(tǒng)是基于Windows系統(tǒng)和Matlab 軟件開發(fā)的。軟件的界面主要包含4個(gè)區(qū)域,即命令窗口、處理結(jié)果預(yù)覽窗口、焊縫寬度曲線顯示區(qū)域與參數(shù)計(jì)算窗口。在命令窗口中集成了6個(gè)命令,分別為選擇圖片、選區(qū)、濾波、區(qū)域生長分割、形態(tài)學(xué)處理與焊縫寬度曲線命令。在執(zhí)行區(qū)域生長分割時(shí)需要人機(jī)交互確定多種子的生長位置,從而實(shí)現(xiàn)了對(duì)復(fù)雜圖像的分割。在執(zhí)行形態(tài)學(xué)處理命令時(shí),可以認(rèn)為修正形態(tài)學(xué)處理的參數(shù),從而進(jìn)一步優(yōu)化分割效果。
在處理預(yù)覽窗口中,可以實(shí)時(shí)查看每一步運(yùn)算的結(jié)果,在焊縫寬度曲線區(qū)域可以查看焊縫寬度的曲線,更加直觀地看到焊縫寬度的變化情況。在參數(shù)計(jì)算窗口中可以計(jì)算并查看焊縫寬度信號(hào)的各種信息,包括最大值、最小值、均值、方差等。
2.2 直方圖均衡化
對(duì)不同灰度的像素進(jìn)行統(tǒng)計(jì),可以獲得灰度直方圖,通過改變灰度直方圖可以改變像素的灰度,進(jìn)而增強(qiáng)動(dòng)態(tài)范圍偏小的圖像對(duì)比度,直方均衡化是簡單且有效的圖像增強(qiáng)方法。
圖像的灰度直方圖是一個(gè)一維的離散函數(shù):
2.3 中值濾波
雖然期望得到高質(zhì)量的圖像,但是由于焊接件本身或是拍攝設(shè)備與工藝等問題,得到的圖像往往會(huì)存在一些噪聲(noise) 可用公式(3) 表示圖像噪聲。
由于中值濾波屬于非線性濾波,不需要處理圖像的統(tǒng)計(jì)信息,所以運(yùn)算速度快、易于實(shí)現(xiàn),中值濾波在一定情況下可以克服線性濾波器的細(xì)節(jié)丟失問題。算法對(duì)窗口中像素的灰度值進(jìn)行排序并采用中間灰度值來代替窗口中心像素的灰度值,如圖7和圖8所示,以此方法遍歷整個(gè)圖像,實(shí)現(xiàn)對(duì)整個(gè)圖像的降噪。
2.4 區(qū)域生長法
區(qū)域生長法是根據(jù)一定準(zhǔn)則要求將像素或(種子)聚合形成更大連通域的圖像分割方法,其基本過程是從生長點(diǎn)開始(可以為像素或區(qū)域),將符合要求的相鄰像素或者區(qū)域與生長點(diǎn)聚合從而形成新的生長點(diǎn),然后重復(fù)此過程,直到找出所有符合要求的像素為止,算法的判斷依據(jù)可以是灰度值、紋理、顏色等圖像信息。區(qū)域生長算法關(guān)鍵有三個(gè),即種子的選擇、要求的確定和中終止條件的確定。
如圖9所示,每個(gè)方格代表一個(gè)像素,其中數(shù)字表示該像素的灰度。以灰度值為130的像素為初始的生長點(diǎn),記為f (i,j )。在8鄰域內(nèi),生長準(zhǔn)則是待測點(diǎn)灰度值與生長點(diǎn)灰度值相差小于或等于10,圖10為區(qū)域生長后的圖,然后繼續(xù)迭代,直到?jīng)]有符合生長條件的像素后停止。
2.5 形態(tài)學(xué)處理
圖像的膨脹(Dilation) 和腐蝕(Erosion) 是兩種基本的形態(tài)學(xué)運(yùn)算;如圖11所示,白色為背景區(qū)域,橙色為目標(biāo)區(qū)域,以3×3的模板遍歷整個(gè)圖像,當(dāng)中心像素8鄰域中存在背景像素時(shí),則把其賦值為背景值;膨脹原理與腐蝕相反,當(dāng)中心像素8鄰域中存在目標(biāo)像素時(shí),則把其賦值為目標(biāo)值,如圖11所示。
對(duì)圖像腐蝕后膨脹,可以消除圖像間的黏連平滑形狀邊界,且不改變目標(biāo)區(qū)域的面積,即為開運(yùn)算;先對(duì)圖像膨脹后腐蝕,可以閉合目標(biāo)區(qū)域內(nèi)的孔洞,連接相鄰目標(biāo)區(qū)域,修補(bǔ)間斷的輪廓等,稱之為閉運(yùn)算,如圖12所示。
3 系統(tǒng)測試
3.1 測試條件
所做實(shí)驗(yàn)采用的是Windows 11系統(tǒng),處理器為11th Gen Intel(R) Core(TM) i5-11300H@3.10GHz,內(nèi)存(RAM) 為16.00GB,系統(tǒng)類 型為64 位,所用軟件為MATLAB 2022b。
3.2 圖像增強(qiáng)模塊測試
運(yùn)行軟件,在圖像選取窗口選擇要檢測的圖像,如13所示;在圖像選區(qū)窗口通過鼠標(biāo)選取要檢測的焊縫區(qū)域,該區(qū)域?yàn)榫匦螀^(qū)域,邊長為鼠標(biāo)左鍵按住與松開時(shí)兩點(diǎn)間水平距離與豎直距離,選區(qū)如圖14所示。采用加權(quán)平均法對(duì)圖像進(jìn)行灰度化,由于人眼對(duì)三種顏色分量方的敏感度不同,紅色、綠色和藍(lán)色較為常用的權(quán)值分別為0.3、0.59和0.11,然后對(duì)圖像進(jìn)行中值濾波,濾波后的圖像如圖15所示。
3.3 圖像分割模塊測試
運(yùn)行區(qū)域生長分割命令,在彈出的窗口選擇種子點(diǎn),系統(tǒng)采用的是多種子區(qū)域增長法,可以一次選取多個(gè)種子,如圖16所示,選取的種子數(shù)目、位置對(duì)圖像分割的效果有較大影響,分割后的圖像如圖17所示。
3.4 形態(tài)學(xué)處理模塊測試
系統(tǒng)采用的形態(tài)學(xué)處理的結(jié)構(gòu)元素為disk,默認(rèn)大小為5個(gè)像素。用戶可以在形態(tài)學(xué)參數(shù)值輸入框中自定義結(jié)構(gòu)元素的大小,參數(shù)值的大小關(guān)系到計(jì)算結(jié)果的準(zhǔn)確程度。如果參數(shù)值選擇過大,則會(huì)造成欠分割,即會(huì)使得背景中的像素被誤分到目標(biāo)區(qū)域內(nèi);如果選擇的參數(shù)值較小,則會(huì)造成過分割,即把目標(biāo)中的像素誤分到背景中。在本次測試環(huán)節(jié)中,結(jié)構(gòu)元素的大小為23,其處理結(jié)果如圖18所示。
3.5 焊縫參數(shù)計(jì)算模塊測試
運(yùn)行焊接寬度曲線可以獲得焊縫寬度的曲線,曲線的縱坐標(biāo)為焊縫的長度,曲線的橫坐標(biāo)為焊縫在某一位置的像素?cái)?shù),即焊縫的寬度,如圖19所示。運(yùn)行參數(shù)計(jì)算命令,即可對(duì)焊縫寬度的相關(guān)參數(shù)進(jìn)行計(jì)算,例如最大值、最小值、均值和方差等,可以定量的描述焊縫的寬度,便于用于評(píng)價(jià)焊縫的質(zhì)量,參數(shù)計(jì)算窗口如圖20所示。
4 結(jié)論
針對(duì)目前風(fēng)電塔筒焊縫寬度檢測過程中存在的問題,設(shè)計(jì)和開發(fā)了一種基于視覺的焊縫寬度檢測系統(tǒng)。采用相機(jī)采集焊縫圖像,通過圖像處理,代替人工測量焊縫的寬度,實(shí)現(xiàn)了風(fēng)電塔筒焊縫寬度檢測的自動(dòng)化、智能化;系統(tǒng)對(duì)硬件的要求低,限制少;不依賴測量者的經(jīng)驗(yàn)與技術(shù),實(shí)現(xiàn)了焊縫寬度的精確、穩(wěn)定測量,大大減小了人工處理過程所帶來的誤差,提高了效率。