王紫陽,劉海生,肖光潤(rùn),晏 濤,劉德政,王中任
(湖北文理學(xué)院機(jī)械工程學(xué)院,湖北 襄陽441053)
在工業(yè)生產(chǎn)中,工件的孔距測(cè)量在確保工件裝配精度和裝配精度中有著重要作用,但是傳統(tǒng)的檢測(cè)方法不能直接測(cè)量出孔距,而且檢測(cè)時(shí)間長(zhǎng),檢測(cè)準(zhǔn)確度不高。檢測(cè)孔間距的一般辦法是應(yīng)用三坐標(biāo)測(cè)量?jī)x,但這種精密設(shè)備一般用于恒溫測(cè)量室,不便于在線檢測(cè)。相較于三坐標(biāo)測(cè)量機(jī),視覺測(cè)量速度更快,適合于工業(yè)現(xiàn)場(chǎng)[1]。
在機(jī)器視覺的在線檢測(cè)中,往往因?yàn)楣鈱W(xué)成像系統(tǒng)帶來的誤差使得測(cè)量的精度得不到提高,而且給數(shù)據(jù)的處理帶來了很大的難度,為解決這一問題雙遠(yuǎn)心鏡頭應(yīng)運(yùn)而生,因其具有高分辨率、超寬景深、低畸變等光學(xué)特性而被廣泛使用,所以,遠(yuǎn)心測(cè)量系統(tǒng)在一定程度上解決了使用一般工業(yè)鏡頭在視差和圖像畸變對(duì)測(cè)量精度的影響。同時(shí),它可以在一定的物距范圍內(nèi),使得圖像放大倍率不隨物距變化而變化[2]。因此,適合對(duì)小型零件進(jìn)行精密快速測(cè)量。
如圖1所示,為課題組自主開發(fā)的雙遠(yuǎn)心測(cè)量系統(tǒng)。遠(yuǎn)心鏡頭一般分為物方遠(yuǎn)心鏡頭、像方遠(yuǎn)心鏡頭。雙遠(yuǎn)心鏡頭綜合了物方遠(yuǎn)心鏡頭和像方遠(yuǎn)心鏡頭的優(yōu)點(diǎn),對(duì)微小的物距和像距變化均不敏感[3-4],因此,具有區(qū)別于普通鏡頭的優(yōu)越特性:低畸變、恒大放大倍率、大景深等,因此在機(jī)器視覺非接觸測(cè)量領(lǐng)域中應(yīng)用廣泛常采用特殊設(shè)計(jì)的遠(yuǎn)心鏡頭來避免傳統(tǒng)鏡頭的透視畸變[5]。如表1所示,為相機(jī)和遠(yuǎn)心鏡頭的詳細(xì)參數(shù)。
圖1 雙遠(yuǎn)心測(cè)量系統(tǒng)
表1 相機(jī)和鏡頭詳細(xì)參數(shù)
實(shí)驗(yàn)選用明場(chǎng)漫射背光照明,明場(chǎng)漫射背光照明在光源前面按有漫射板,光源采用LED平板,光源安放在被測(cè)物體的后面,背光方式只顯示不透明物體的輪廓,這樣可以有效避免使用正面照明造成的反射,當(dāng)測(cè)量孔距時(shí)需要通過找到每一個(gè)孔的輪廓確定圓心位置,背光源打光時(shí)工件輪廓邊緣清晰。明場(chǎng)漫射背光原理如圖2所示。因?yàn)樽匀还獠皇菃紊?,圖像處理復(fù)雜,所以光源選用藍(lán)色光源,藍(lán)光的波長(zhǎng)在430~480 nm之間,波長(zhǎng)適中,常用作鋁制品或鋼制品的光源。
圖2 明場(chǎng)漫射背光照明原理
如圖3所示,為二維視覺測(cè)量的一般算法步驟,先進(jìn)行相機(jī)標(biāo)定,把像素值轉(zhuǎn)變?yōu)楣茊挝唬缓螳@取工件圖片,進(jìn)行圖像的濾波和分割等預(yù)處理,進(jìn)而擬合亞像素邊緣,再通過數(shù)據(jù)處理,可以獲得測(cè)量尺寸,通過標(biāo)定結(jié)果把像素值轉(zhuǎn)變?yōu)楣茊挝弧?/p>
圖3 視覺測(cè)量算法步驟
視覺里面常規(guī)的鏡頭都存在著畸變,所以常規(guī)的鏡頭標(biāo)定需要拍若干張標(biāo)定板的圖片通過算法得到相機(jī)的內(nèi)參和外參去矯正畸變的圖像,把像素圖像坐標(biāo)轉(zhuǎn)化到世界坐標(biāo),但是遠(yuǎn)心鏡頭畸變很小可忽略不計(jì),只需得到像素對(duì)應(yīng)的實(shí)際距離即可,選用60*60的高精度標(biāo)定板,相鄰圓心間距為7.5 mm,實(shí)際距離除像素距離得到每個(gè)像素代表的實(shí)際距離。得到的標(biāo)定結(jié)果為Pi=0.058 mm.如圖4所示,為系統(tǒng)采集到的圖像。
圖4 采集的圖像
為保證測(cè)量的精度,對(duì)圖片采用高斯濾波進(jìn)行預(yù)處理,去除圖片中一些小的噪聲點(diǎn)的影響。
使用全局閾值對(duì)圖片進(jìn)行分段,利用threshold()算子閾值取80~255之間對(duì)圖像進(jìn)行二值化定位出所有孔的位置。閾值從輸入圖像中選擇像素,其灰色值g滿足以下條件:
滿足條件的圖像的所有點(diǎn)都作為一個(gè)區(qū)域返回。如果超過一個(gè)灰色值間隔(MinGray和MaxGray的元組),則每個(gè)間隔返回一個(gè)單獨(dú)的區(qū)域。這里MinGray和MaxGray分別賦值為80和255.
但是由于二值化只能較簡(jiǎn)單的得到各個(gè)孔的位置并不能很好的取出孔洞的邊緣位置所以接著運(yùn)用gray_dilation()進(jìn)行灰度膨脹得到精度更高的孔洞邊界?;叶扰蛎洠鶕?jù)圖像區(qū)域的灰度值膨脹區(qū)域,在像素位置x上的一個(gè)結(jié)構(gòu)化元素s的灰色值膨脹被定義為:
灰度膨脹之后為得到精度較高的孔洞輪廓,利用edges_sub_pix()算子提取亞像素邊緣輪廓。亞像素精度輪廓表示圖像兩個(gè)區(qū)域之間的邊界,這兩個(gè)區(qū)域中的一個(gè)區(qū)域的灰度值大于灰度值閾值gsub而另一個(gè)區(qū)域的灰度值小于gsub.
得到完整的孔洞邊緣后進(jìn)行圓擬合,先將輪廓上的所有點(diǎn)到擬合圓的平方距離進(jìn)行連加求和,然后使求得的總合最小化。
圓擬合過后,孔間距等效成為圖像中圓的中心距離通過area_center()算子得到每一個(gè)孔洞圓形區(qū)域的中心點(diǎn)坐標(biāo)。
得到了孔洞之間的中心坐標(biāo)之后,孔距就是中心坐標(biāo)之間的距離,也就是點(diǎn)與點(diǎn)之間的距離,利用distance_pp()算子計(jì)算出最后的孔距。
如圖5所示,為三坐標(biāo)測(cè)量圖。三坐標(biāo)的測(cè)量精度遠(yuǎn)高于人工卡尺測(cè)量,故把三坐標(biāo)的測(cè)量結(jié)果設(shè)定為標(biāo)準(zhǔn)值,人工卡尺測(cè)量和視覺測(cè)量結(jié)果與三坐標(biāo)測(cè)量結(jié)果進(jìn)行比對(duì),計(jì)算出測(cè)量的精度誤差。
圖5 三坐標(biāo)測(cè)量圖
通過area_center()算子得到各個(gè)孔的中心坐標(biāo)之后利用distance_pp算子公式:
如圖6所示,算子求得的是像素距離,像素距離和Pi的乘積就是所求的實(shí)際距離。
圖6 測(cè)量效果圖
如圖7所示,實(shí)際測(cè)量并不能直接求得圓心,可通過游標(biāo)卡尺量取相鄰兩孔的最近端與最遠(yuǎn)端取平均值的方法求得孔間距。每一組孔間距進(jìn)行五組測(cè)量,取平均值,獲得人工測(cè)量值。
表2給出了測(cè)量結(jié)果和誤差比較。把兩種測(cè)量結(jié)果與三坐標(biāo)測(cè)量結(jié)果進(jìn)行對(duì)比,通過計(jì)算比較誤差大小。經(jīng)計(jì)算,視覺的平均誤差為0.004 mm,人工卡尺測(cè)量的平均誤差為0.34 mm.另外,采用圖像測(cè)量方法,測(cè)量用時(shí)為0.78 s,遠(yuǎn)遠(yuǎn)快于三坐標(biāo)測(cè)量機(jī)。
表2 測(cè)量數(shù)據(jù)比較
本文提出了一種利用雙遠(yuǎn)心鏡頭進(jìn)行精密測(cè)量孔距的方法。實(shí)驗(yàn)結(jié)果表明,遠(yuǎn)心鏡頭在輪廓測(cè)量時(shí)十分有效,在明場(chǎng)漫射背光照明的條件下,利用雙遠(yuǎn)心視覺測(cè)量系統(tǒng)可以得到比人工接觸式測(cè)量誤差更小的測(cè)量結(jié)果,在工件二維精密測(cè)量方面有有一定的應(yīng)用價(jià)值。