曾文治,王疆瑛,蔡晉輝
(1.中國(guó)計(jì)量大學(xué) 材料與化學(xué)學(xué)院,浙江 杭州 310018;2.中國(guó)計(jì)量大學(xué) 計(jì)量測(cè)試工程學(xué)院,浙江 杭州 310018)
車燈燈座是汽車大燈、內(nèi)照明燈、尾燈等汽車燈具中的重要零件組成部分,是固定燈位置和使燈觸點(diǎn)與電源相連接的器件,其尺寸問(wèn)題影響汽車車燈的裝配、導(dǎo)通以及照明。
隨著汽車行業(yè)的迅猛發(fā)展,對(duì)燈座的加工精度要求隨之提高,而目前大多數(shù)企業(yè)采用的都是人工檢測(cè)方法,這種受人的主觀因素的檢驗(yàn)方法很難保證產(chǎn)品的質(zhì)量,速度也慢,無(wú)法與自動(dòng)化的機(jī)器相比較。機(jī)器視覺(jué)自動(dòng)檢測(cè)不僅提高了產(chǎn)品的檢測(cè)精度和速度,而且避免了人工檢測(cè)帶來(lái)的偏差和誤差[1]。文獻(xiàn)[2]通過(guò)機(jī)器視覺(jué)技術(shù)設(shè)計(jì)了一套檢測(cè)塑料表面的檢測(cè)系統(tǒng);文獻(xiàn)[3]通過(guò)機(jī)器視覺(jué)和有限元的方法對(duì)局部的應(yīng)變進(jìn)行了測(cè)量,評(píng)估了有限元方法的結(jié)果;文獻(xiàn)[4]也通過(guò)機(jī)器視覺(jué)技術(shù)開(kāi)發(fā)了一種直徑測(cè)量模型,對(duì)軸直徑進(jìn)行了在線測(cè)量。本文通過(guò)了解國(guó)內(nèi)外機(jī)器視覺(jué)檢測(cè)技術(shù)的研究現(xiàn)狀,以車燈燈座的尺寸測(cè)量為對(duì)象,設(shè)計(jì)了一套視覺(jué)檢測(cè)系統(tǒng),對(duì)車燈燈座進(jìn)行在線實(shí)時(shí)檢測(cè)。
本視覺(jué)檢測(cè)系統(tǒng)是在超聲波焊接機(jī)的基礎(chǔ)上設(shè)計(jì)的,其完整結(jié)構(gòu)實(shí)物圖和結(jié)構(gòu)簡(jiǎn)圖如圖1所示,通過(guò)測(cè)試焊頭下壓位置,將模具固定在焊頭正下方即可,通過(guò)員工每次按壓?jiǎn)?dòng)按鈕壓接產(chǎn)品后,相機(jī)收到傳感器觸發(fā)拍照完成取圖,整個(gè)流程僅需2 s~3 s。
圖1 視覺(jué)系統(tǒng)實(shí)物圖和結(jié)構(gòu)簡(jiǎn)圖
待測(cè)產(chǎn)品的實(shí)際大小為30 mm×10 mm,通過(guò)下文選用的500萬(wàn)像素工業(yè)相機(jī)和精度公式:
可以算出單像素精度為0.015 mm,本產(chǎn)品的檢測(cè)需求部位如圖2所示,產(chǎn)品合格范圍為4.9 mm~5.1 mm,完全滿足需求方的檢測(cè)需求。
圖2 待測(cè)產(chǎn)品檢測(cè)需求尺寸
本文根據(jù)該車燈燈座的尺寸和結(jié)構(gòu)圖設(shè)計(jì)了一套滿足該視覺(jué)系統(tǒng)成像的硬件。相機(jī)選自邁德威視旗下的MV-GE502M-T型號(hào)工業(yè)相機(jī),鏡頭選自??低暤男吞?hào)為MVL-HV1050M-6MP的工業(yè)變焦鏡頭,光源選自上海匯林圖像科技有限公司的型號(hào)為HL-LWD-50的光源,通過(guò)硬件方面的選型后,對(duì)產(chǎn)品進(jìn)行打光得到的效果圖如圖3所示。
圖3 光源打光圖
本文通過(guò)機(jī)器視覺(jué)技術(shù)的算法完成圖像的獲取、采集、分析處理,并得出結(jié)果,從而將結(jié)果輸入給下位機(jī)完成操作。
本系統(tǒng)采用模塊化設(shè)計(jì),主要功能包括圖像采集模塊、算法處理模塊、通訊控制模塊和輔助模塊[5]。通過(guò)對(duì)圖像采集,框選感興趣區(qū)域(Region Of Interest, ROI),邊緣檢測(cè),直線檢測(cè),間距檢測(cè)等處理,將結(jié)果返回用戶界面。
相機(jī)收到傳感器的信號(hào)觸發(fā)拍照后,因?yàn)楸粶y(cè)工件是放在已經(jīng)做好的工裝模具內(nèi),所以很容易框選到ROI。通過(guò)對(duì)ROI的特征提取,可以適當(dāng)進(jìn)行一些預(yù)處理,包括圖像濾波和二值化。再通過(guò)改進(jìn)的Canny算提取產(chǎn)品圖像邊緣,使用直線段檢測(cè)(Line Segment Detector, LSD)算法拿到ROI內(nèi)的直線,算出其平均距離為多少個(gè)像素點(diǎn)。最后用像素點(diǎn)與實(shí)際距離的轉(zhuǎn)換得到測(cè)量實(shí)際目標(biāo)的尺寸,通過(guò)給定的目標(biāo)尺寸區(qū)間與所測(cè)量的目標(biāo)尺寸比較,尺寸合格,打點(diǎn)機(jī)打點(diǎn)標(biāo)記合格產(chǎn)品,尺寸不合格,報(bào)警燈閃爍并蜂鳴。燈座檢測(cè)算法流程圖如圖4所示。
圖4 檢測(cè)算法流程
使用本文中提到的兩種直線檢測(cè)算法之前,需要對(duì)物體進(jìn)行邊緣檢測(cè),下面介紹本文提出的改進(jìn)Canny算子邊緣檢測(cè)算法。
3.3.1 算法流程
(1)首先用非線性雙邊濾波代替高斯濾波。雙邊濾波如式(2)所示,式中,i、j分別是當(dāng)前被卷積像素的坐標(biāo)點(diǎn),k、l是領(lǐng)域像素的坐標(biāo)點(diǎn)。
加權(quán)系數(shù)ω由空間臨近高斯函數(shù)和像素值相似度高斯函數(shù)決定,如式(3)—式(5)所示。
所以雙邊濾波是在高斯濾波的基礎(chǔ)上,根據(jù)各個(gè)點(diǎn)到中心點(diǎn)的空間鄰近度計(jì)算各個(gè)權(quán)值,然后進(jìn)行優(yōu)化從而達(dá)到更好的保存圖像邊緣信息的效果。
(2) 選用Sobel算子模板計(jì)算梯度幅度和方向。在計(jì)算梯度幅值時(shí)可以選用Soble算子、Prewitt算子、Roberts算子模板等,本文利用3×3的Sobel算子進(jìn)行計(jì)算,如式(6)—式(9)所示。
從而得到圖像的梯度幅值和方向,如式(10)、式(11)所示。
(3)改進(jìn)非極大值抑制。雖然Sobel算子得到的邊緣比較粗大明亮,但是其梯度仍然是很模糊的[9]。所以本文在增加原有梯度方向的方法上再對(duì)梯度方向進(jìn)一步劃分,增加22.5°、67.5°,并通過(guò)歐式距離式(12)計(jì)算增加的梯度方向最近的像素點(diǎn)把它們歸為一個(gè)梯度方向,式中D是像素點(diǎn)p到像素點(diǎn)q的歐式距離[10]。
(4)用Otsu算法替代雙閾值邊緣二值化的高低閾值。Otsu大津法是在判別最小二乘法的基礎(chǔ)上推導(dǎo)出來(lái)的,是一種對(duì)圖像分割處理的自動(dòng)選擇閾值的方法[10-11],Otsu方法可以將圖像按照灰度分為前景和背景兩部分,然后通過(guò)遍歷圖像內(nèi)的像素點(diǎn),計(jì)算方差并不斷比較,獲得最大類間方差和最優(yōu)的閾值。
3.3.2 與傳統(tǒng)Canny算子的流程和效果對(duì)比
與傳統(tǒng)Canny算子的流程對(duì)比圖如圖5所示。
圖5 兩種邊緣提取算法流程圖對(duì)比
通過(guò)兩種算法所得到的圖片如圖6所示。
圖6 兩種邊緣提取算法效果對(duì)比
從圖6(a)可以直觀地看出,傳統(tǒng)的Canny邊緣提取算法的邊緣比較粗糙且噪聲較多,而圖6(b)中改進(jìn)后的Canny算法檢測(cè)的邊緣明顯比較細(xì)化,毛刺也相對(duì)較少,而且能比較好地抑制噪聲,而從客觀的評(píng)價(jià)指標(biāo)來(lái)看,均方誤差(Mean Square Error, MSE)[12]和峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)[13]是評(píng)價(jià)圖像質(zhì)量的很好指標(biāo)。
圖像的均方誤差計(jì)算公式為
式(13)、式(14)中,M、N分別為圖像的長(zhǎng)寬像素點(diǎn)個(gè)數(shù),f(i,j)和g(i,j)分別為去噪后的圖像和原圖像在(i,j)處的灰度值,由上面兩個(gè)式子可知,MSE越小,PSNR就越大,其圖像質(zhì)量效果就越高。兩種算法的客觀評(píng)價(jià)如表1所示。
表1 兩種算法的客觀評(píng)價(jià)因子
通過(guò)表1可知,改進(jìn)過(guò)后的Canny算法比傳統(tǒng)的Canny算法的MES降低了54%,PSNR提高了36%??梢钥闯霰疚牡母倪M(jìn)Canny算法更優(yōu)于傳統(tǒng)的Canny算法,對(duì)后續(xù)的直線檢測(cè)算法也起著極大作用。
3.4.1 基于改進(jìn)Canny算子的LSD直線檢測(cè)算法
LSD是一種線段檢測(cè)算法[14],該算法能在短時(shí)間內(nèi)獲得較高精度的直線段檢測(cè)結(jié)果。LSD直線檢測(cè)算法原理主要由三部分組成:
(1)生成直線支持區(qū)域。計(jì)算每個(gè)像素點(diǎn)的梯度生成對(duì)應(yīng)的梯度場(chǎng),將閾值內(nèi)具有相同梯度的像素連成直線支持區(qū)域。
(2)直線支持區(qū)域的矩形擬合。每個(gè)直線支持區(qū)域都能觀察到它的最小外接矩形,矩形的主軸表示矩形的主軸方向,外接矩形表示直線信息。
(3)直線確認(rèn)。判斷是否為直線需要在直線支持域中驗(yàn)證其是否能作為直線被提取,通過(guò)直線錯(cuò)誤報(bào)警數(shù)QNFA公式定義為
ε為判定閾值,如果QNFA<ε,判定該直線支持域?yàn)橐粭l直線,由于原算法中判定閾值取1效果比較好,所以本文也取1。
將改進(jìn)的Canny算子放入LSD直線檢測(cè)算法中,實(shí)現(xiàn)改進(jìn)Canny算子的LSD直線檢測(cè)算法。
3.4.2 與Hough_Line直線檢測(cè)對(duì)比
圖7是基于改進(jìn)Canny算法的LSD直線檢測(cè)算法與Hough_Line直線檢測(cè)算法的對(duì)比圖。
圖7 兩種改進(jìn)的直線檢測(cè)算法的對(duì)比
從圖7(a)可以直觀看出,改進(jìn)的Hough_Line直線檢測(cè)算法找出的直線干擾線比較多,邊緣密集處容易產(chǎn)生錯(cuò)誤檢測(cè)且部分直線未找到,且在相同配置計(jì)算機(jī)上的運(yùn)行速度較改進(jìn)的LSD直線檢測(cè)算法慢,而圖7(b)中改進(jìn)的LSD算法能清晰地找到每條直線,因?yàn)楫a(chǎn)品對(duì)直線的連續(xù)性要求不高,所以改進(jìn)的LSD算法雖然線段連續(xù)性不高但是能滿足實(shí)際的應(yīng)用場(chǎng)景。
3.4.3 后續(xù)檢測(cè)流程
在拿到ROI區(qū)域的直線后,可以計(jì)算出這兩條直線的平均直線距離,計(jì)算出來(lái)的是像素點(diǎn)的個(gè)數(shù),在通過(guò)基本的相機(jī)標(biāo)定后,以棋盤格的實(shí)際每格尺寸代表的像素點(diǎn)個(gè)數(shù)計(jì)算出平均每個(gè)像素點(diǎn)的實(shí)際尺寸為0.018 158 mm/pixel,設(shè)定好像素與實(shí)際距離的標(biāo)準(zhǔn)值后,檢測(cè)的即為產(chǎn)品實(shí)際尺寸。通過(guò)實(shí)驗(yàn)室高精度尺寸測(cè)量?jī)x測(cè)量出標(biāo)準(zhǔn)的產(chǎn)品尺寸為4.9 mm~5.1 mm,軟件檢測(cè)得到的尺寸與之對(duì)比得到檢測(cè)結(jié)果為OK或者NG,減少了人工目檢的高耗時(shí)、高誤差。
使用本文的檢測(cè)系統(tǒng)進(jìn)行車燈產(chǎn)品檢測(cè),通過(guò)1 000個(gè)燈座產(chǎn)品測(cè)試,其中次品100個(gè),人工檢測(cè)誤檢數(shù)為80個(gè),檢測(cè)速度3個(gè)/分,準(zhǔn)確率為92%,本文中燈座檢測(cè)系統(tǒng)測(cè)量同樣的產(chǎn)品,檢測(cè)中誤檢數(shù)為10個(gè),速度為6個(gè)/分,檢測(cè)準(zhǔn)確率達(dá)99%,表2是本檢測(cè)系統(tǒng)與人工檢測(cè)的對(duì)比。
表2 燈座檢測(cè)系統(tǒng)與人工檢測(cè)對(duì)比
從表中可以看出,本文燈座檢測(cè)系統(tǒng)的檢測(cè)速度是人工檢測(cè)的速度一倍,準(zhǔn)確率較人工檢測(cè)提升了7%,達(dá)到了99%,滿足了工業(yè)生產(chǎn)檢測(cè)需求,檢測(cè)中軟件界面如圖8所示。
圖8 軟件檢測(cè)界面
本文通過(guò)分析車燈產(chǎn)品的檢測(cè)需求、硬件選型和軟件算法設(shè)計(jì),設(shè)計(jì)了一套視覺(jué)檢測(cè)系統(tǒng)用于車燈產(chǎn)品測(cè)試。提出了一種改進(jìn)的Canny算法來(lái)提取產(chǎn)品圖像邊緣,運(yùn)用于Hough直線檢測(cè)算法和LSD算法,通過(guò)對(duì)比檢測(cè)效果選取適合本產(chǎn)品直線檢測(cè)算法。改進(jìn)算法的視覺(jué)檢測(cè)系統(tǒng)應(yīng)用于車燈產(chǎn)品的在線測(cè)試,檢測(cè)準(zhǔn)確率提升到99%,檢測(cè)速度比人工高一倍,實(shí)現(xiàn)了車燈產(chǎn)品檢測(cè)的自動(dòng)化,有效提高了檢測(cè)精度和效率。