韓曉勇,段錦,董鎖芹
(長春理工大學 電子信息工程學院,長春 130022)
傳統(tǒng)的汽車零件尺寸主要通過專門定做的測量工具進行測量,該方法測量的精度不高,測量的結果受人的主觀因素變化較大,測量耗費時間多,測量方法繁瑣。在一些情況下,測量的工具硬性接觸被測零件,會對被測零件產生很大的磨損,甚至報廢。傳統(tǒng)的測量技術已遠遠不能滿足現代工業(yè)自動化智能控制的需求。
近年來,數字圖像處理技術的飛速發(fā)展推動了機器視覺技術的研究,機器視覺在測量技術中的應用促進了工業(yè)技術生產的智能化,已應用于工業(yè)、軍事、農業(yè)、醫(yī)藥等各個領域。方化攀[1]提出一種基于區(qū)間分割蛋黃圖像的方法,實現了對雞蛋表皮存在缺陷的精確檢測;劉貝[2]提出一種基于機器視覺的檢測方法,對石材磚的尺寸大小進行精準檢測;巢淵[3]提出一種基于機器視覺的檢測系統(tǒng),實現了對芯片表面的缺陷精確快速檢測。伍濟鋼[4]提出一種基于機器視覺的尺寸檢測方法,實現了計算機薄片尺寸的精確快速測量。
本文設計的基于機器視覺的汽車焊縫檢測系統(tǒng),實現對生產線上車輛焊縫工件尺寸的自動、精準檢測。在硬件方案中,結合實際工業(yè)環(huán)境選擇合適的鏡頭、相機、光源和交換機等相關硬件。在軟件方案中,主要包括兩方面功能設計,一是對多個工業(yè)相機聯(lián)網采集顯示、系統(tǒng)參數初始化、相機參數設置以及當前圖像焊縫檢測;二是為了快速、精確檢測焊縫尺寸,提出了標定圓的橢圓檢測算法和焊縫檢測算法。
本文設計的基于機器視覺的汽車焊縫檢測系統(tǒng)主要通過對圖像采集、圖像處理、焊縫檢測等步驟,將測得的焊縫距離輸出到焊縫尺寸表格中。汽車焊縫檢測系統(tǒng)如圖1所示。

圖1 汽車焊縫檢測系統(tǒng)
為了更好地獲得汽車焊縫工件金屬表面的紋理特征,并且使光源具有明亮、穩(wěn)定和均勻的特性,選擇白色環(huán)形LED作為光源。
通過交換機建立局域網,實現對多個工業(yè)相機在線操作,將工業(yè)相機采集的數字圖像信號通過交換機輸入到工業(yè)計算機的圖像處理系統(tǒng)中,實現對焊縫圖像的一系列預處理、焊縫尺寸檢測和結果保存。工業(yè)計算機的自動控制系統(tǒng)接受到圖像處理系統(tǒng)對特定焊縫點的處理消息請求后,通過PLC控制工作平臺上的相機運動,獲取檢測點的焊縫圖像;通過顯示器將工業(yè)計算機處理的焊縫檢測結果進行顯示。工作平臺包括汽車焊縫工件和固定在電動滑軌上的相機。系統(tǒng)中一個相機負責多個焊縫檢測點的測量,通過電動滑軌控制相機在檢測點之間運動,多個相機可以完成對汽車所有焊縫點的測量。
如圖2(a)是工廠提供的待檢焊縫工件,圖2(b)是采集的工件中某點焊縫圖像。
圖2(b)中的標定圓的直徑為5mm,其目的在于求出鏡頭對物像的放大倍數,根據對圖像中已知物件尺寸求出圖像中的標尺(每像素代表的實際距離),根據標尺大小求出待檢焊縫的尺寸d=k×N,其中,k為檢測的標尺大小,N為檢測到的焊縫間隔像素數。因為實際工件的焊縫距離不是完全平行的兩條直線,所以,為了提高檢測精度,焊縫距離計算是按照三線間距的平均值。即:在待檢焊縫點B上下相鄰一定像素數各取A,C一條直線,分別計算A,B,C三條焊縫的距離,取3條焊縫距離的平均值作為檢測B點的焊縫距離;檢測點相隔像素數根據檢測要求可在軟件系統(tǒng)參數設計界面進行修改。

圖2 工件和采集的檢測點圖像
汽車焊縫檢測系統(tǒng)的工作流程如圖3所示。

圖3 汽車焊縫檢測系統(tǒng)流程
第一步,將安裝在支架上的相機固定在電動滑軌上,打開在線的工業(yè)相機,滑軌上的相機自動運行到待檢的工位點,對焊縫圖像進行采集和顯示;
第二步,調整相機參數焦距、曝光、增益等大小使圖像成像明亮清晰;調節(jié)光源系統(tǒng)照射角度和亮度使圖像對比度增強。進行上述調節(jié)后,圖像清晰則將相機和光源固定,否則,重復進行上述的調節(jié)步驟。將調整好的相機參數保存在系統(tǒng)配置文件中。在下一次打開相機時,調用對應的系統(tǒng)配置文件;
第三步,對采集的焊縫圖像進行標尺檢測。當相機不能垂直照射標定圓時,圓變成橢圓,對采集的圖像進行橢圓檢測,按檢測的橢圓長軸進行標尺計算;
第四步,進行焊縫直線檢測。檢測的焊縫結果符合實際要求,則將檢測點的焊縫結果進行保存。否則,重復進行第二、三步進行調節(jié),再進行焊縫直線檢測。
如圖4所示,采集汽車焊縫點的圖像,對其進行一系列預處理,將預處理后的圖像進行標定圓的橢圓檢測,確定圖像的標尺大小;按照檢測的橢圓長軸對采集的整幅圖像進行校正;并對焊縫線距離進行檢測,將檢測的焊縫數據保存。汽車焊縫檢測算法中,最重要的是標定圓的橢圓檢測和改進的Hough變換算法。

圖4 汽車焊縫檢測算法流程圖
在采集圖像過程中,當工件放置傾斜時,工業(yè)相機不能垂直照射被測物,采集的到圖像會發(fā)生形變,標定圓變成橢圓,需要對采集的圖像進行橢圓檢測。
采用中值濾波對采集的汽車焊縫圖像進行處理,保留圖像的邊緣。運用Canny邊緣檢測對圖像中的主要邊緣進行提取處理,再對處理后的圖像進行輪廓提取。輪廓就是提取圖像中的邊界,邊界分為外邊界和孔邊界,根據提取輪廓類型不同,得到的輪廓也不同。系統(tǒng)采用輪廓檢測算法來確定焊縫圖像的外邊界、孔邊界和它們的層次關系[5]。檢測結果如圖5所示。
使用最小二乘擬合方法對檢測出的焊縫圖像輪廓進行橢圓擬合,橢圓曲線方程式如式(1)所示:


其中,F(xi,yj)是點(xi,yi)到F(x,y)的代數距離。

圖5 焊縫圖像輪廓提取
對檢測出的擬合橢圓按大小進行篩選。根據光學成像原理,標定圓到相機鏡頭的物距和相機靶面成像之間的光路近似為相似三角形。根據相似三角形原理,首先,計算采集圖像的橢圓長軸間隔像素數,計算如公式(3);然后,根據計算的橢圓長軸像素數,對(1)(2)式擬合橢圓長軸像素數進行篩選;最后,將待檢測的橢圓長軸控制在一個合理范圍內。這種算法剔除了誤檢的橢圓,準確快速地檢測出標定圓。檢測的結果如圖6所示,物距L可以在系統(tǒng)軟件的系統(tǒng)參數設置界面進行輸入。

其中,N表示物體在相機靶面上成像的像素間隔數,μ表示相機的像元尺寸大小,單位μm,f表示相機的焦距,單位為mm,D表示實際物體的大小,單位為mm。

圖6 標定圓的橢圓檢測
將檢測橢圓的長軸和短軸,用十字的形式畫在焊縫圖像上,用檢測的橢圓長軸來標定實際圓直徑,計算標尺值,公式如式(4)所示:

其中,Scal表示圖像中的標尺大小,單位為μm/pix,D表示標定圓的實際直徑,單位為μm,ΔY表示在圖像中檢測到的橢圓長軸像素間隔,單位為像素(pix)。
一個具有實際應用價值的汽車焊縫檢測系統(tǒng),在滿足快速檢測的基礎上,還需完成精確的檢測。Hough變換檢測算法是工業(yè)檢測的基本方法,隨著參數數量的增加,計算量會急劇增大;而且,由于工件邊緣粗糙和環(huán)境噪聲的影響,會出現偽直線和誤檢的問題,使檢測精度降低。
針對Hough變換的上述缺點。選擇焊縫檢測ROI區(qū)域,將其保存在系統(tǒng)文件中,進行下一次焊縫檢測時,從系統(tǒng)文件中讀取對應檢測點的ROI區(qū)域進行焊縫檢測;采用8領域對邊緣像素進行分類[6],剔除偽直線和誤檢直線;對工件表面出現的斷線進行延長、平行直線間隔過小的直線進行合并和斜率異常的線進行剔除。

圖7 檢測的焊縫結果
圖7(a)是使用傳統(tǒng)Hough變換的檢測結果,圖7(b)是使用改進的Hough變換的檢測結果,圖7(c)是在檢測當前焊縫點的距離。
在VS2010中的調試編寫代碼,生成軟件界面,經過調試,軟件界面功能正確。主界面包括系統(tǒng)參數設置、檢測工位顯示和圖像文件處理功能。軟件界面實現如圖8所示。

圖8 軟件界面實現
打開檢測工位顯示界面,從系統(tǒng)配置文件中讀取系統(tǒng)的參數、相機參數進行初始化,可對在線相機進行實時采集、幀保存、批量保存、當前圖像處理等操作。打開圖像文件處理界面,從系統(tǒng)配置文件中讀取系統(tǒng)參數,對保存的圖像文件進行標尺檢測、焊縫檢測、結果保存等操作。
用游標卡尺多次測量平均A點焊縫的間距為:2.990mm,多次測量平均B點的焊縫間距為3.655mm。用設計的系統(tǒng)軟件對A點、B點各測量10組數據,測量結果如表1所示,測量數據分析如表2所示。

表1 測量結果 單位:mm

表2 測量結果誤差
由表2可得,A點平均誤差為0.008mm,方差為5.629E-05;C點的平均誤差為0.006mm,方差為3.909E-05。測量的精度可達到0.006mm,測量方差可達到3.909E-05,測量結果滿足實際工程要求,比實際人工測量結果更加穩(wěn)定和精確,并且沒有人工誤差的代入。
本文闡述了基于機器視覺的汽車焊縫檢測系統(tǒng)的實現流程和汽車焊縫檢測算法。系統(tǒng)可實現多個相機對焊縫點的自動測量,系統(tǒng)測量精度為0.006 mm,測量方差量級為10-5,提高了焊縫檢測的精度和實時性,避免人工帶來的誤差,可滿足實際工作環(huán)境下汽車焊縫的檢測需求。對于汽車焊縫的精準自動化測量有一定的參考意義。