王 華,何 航,邢春齊
(1.長春工業(yè)大學(xué) 機(jī)電工程學(xué)院,長春 130012;2.長春工程學(xué)院 研究生部,長春 130012)
在機(jī)械加工中,工件圓孔的中心坐標(biāo)和半徑的精確提取對于零部件的裝配和定位具有非常重要的意義,傳統(tǒng)的圓孔檢測一般通過常規(guī)量具進(jìn)行測量,比如游標(biāo)卡尺等,使用常規(guī)量具不僅會(huì)帶來較大的綜合性誤差和較低的測量效率。而對于一些測量精度要求較高的工件,一般會(huì)使用三坐標(biāo)測量儀來測量[1],但是三坐標(biāo)測量儀價(jià)格昂貴,體積較大,不適合隨現(xiàn)場檢測,測量速度緩慢,靈活性較差。視覺測量技術(shù)是以計(jì)算機(jī)視覺為基礎(chǔ)的一種新技術(shù),具有非接觸、測量過程靈活、速度快、精度高等優(yōu)點(diǎn),在測量領(lǐng)域應(yīng)用日益廣泛。
雙目立體視覺是建立在左右圖像中對應(yīng)點(diǎn)的視差基礎(chǔ)之上[2],如何建立對應(yīng)匹配點(diǎn)之間的聯(lián)系是立體匹配中所要解決的一個(gè)重要問題??臻g三維場景在投影的過程中,由于光照變化、鏡頭畸變、遮擋、干擾噪聲等因素的影響,空間中同一點(diǎn)在圖像上所反映出的特性會(huì)有所不同,尤其對于紋理信息不豐富的工件表面,其中一幅圖像中平滑區(qū)域的像素點(diǎn)在另一幅圖像中可能會(huì)有好幾個(gè)類似的候選匹配點(diǎn),實(shí)際中的立體匹配問題可以說是雙目立體視覺最關(guān)鍵也是最困難的一步。本文提出了把線結(jié)構(gòu)光與圓孔邊緣的交點(diǎn)作為特征點(diǎn)的方法,有效避免了匹配困難的問題。
由于光照角度、測量材質(zhì)、測量環(huán)境等因素的影響,采集的圖像難免會(huì)有很多噪聲,故首先采用中值濾波器對圖像進(jìn)行預(yù)處理,剔除大部分椒鹽噪聲。由于Canny邊緣檢測算子有效平衡了抑制噪聲干擾和邊緣點(diǎn)精確定位之間的關(guān)系,故本文采用Canny邊緣算子對圓孔的邊緣進(jìn)行檢測,邊緣提取的效果圖如圖1所示。
圖1 圓孔邊緣點(diǎn)的提取
由于攝像機(jī)的透視投影畸變,圓孔在相機(jī)圖像平面上的投影往往呈現(xiàn)為橢圓的形狀。如果空間圓所處的平面與圖像平面相交一定角度,空間圓孔中心在圖像平面上的投影點(diǎn)與橢圓擬合出的中心位置會(huì)有一定的偏差。
最小二乘法橢圓擬合是一種常用的橢圓擬合方法[3]。設(shè)橢圓方程的一般形式可表示為:
其均方差和為:
為了防止出現(xiàn)零解,需對參數(shù)加一些限制條件:a+c=1,根據(jù)最小極值原理,對式(2)中的參數(shù)分別求偏導(dǎo),并令每個(gè)導(dǎo)數(shù)值為0,即:
圖2 工件圓孔邊緣的橢圓擬合
如圖3所示,針對粗糙的工件金屬表面,激光條紋發(fā)生了漫反射,背景上的激光條紋比工件上的更寬,由于我們的目的是提取工件邊緣特征點(diǎn),因此我們只需將工件上的那一部分條紋中心提取出來。
圖3 帶有激光條紋的工件圖
求取激光條紋中心的具體步驟如下:
1)從圖像f(i,j)的第一行(i=1)開始,從左到右遍歷圖像像素,搜尋像素灰度值大于閾值T的點(diǎn),記錄其坐標(biāo)值,將該行首個(gè)滿足條件的點(diǎn)的列坐標(biāo)設(shè)為C1。用K(i)代表?xiàng)l紋的寬度,初始化K(i)=0。
2)繼續(xù)向右搜索,若其灰度值仍大于T,則寬度K(i)加1,即K(i)=K(i)+1。
3)當(dāng)搜索完第i行之后,判斷如果寬度K(i)小于3或大于6,則認(rèn)定該點(diǎn)為噪聲或是打在背景上的激光條紋,故將其排除。
4)按梯形法求出激光光強(qiáng)曲線采樣面積:
其中,S(i)代表第i行的激光光強(qiáng)曲線采樣面積。C1(i)代表圖像第i行條紋區(qū)域的起點(diǎn),K(i)代表圖像第i行的激光條紋區(qū)域的寬度。
5)在條紋區(qū)域找出一點(diǎn)(i,j),使得該點(diǎn)左邊條紋區(qū)域的面積SL小于S/2,即:
而該點(diǎn)(i,j)的鄰點(diǎn)(i,j+1)左邊條紋區(qū)域的面積SL+1大于S/2,即:
6)再對條紋中心(x0,y0)進(jìn)行判斷,如果:
根據(jù)上述方法獲取條紋中心,還需要對條紋中心做進(jìn)一步優(yōu)化[4],設(shè)條紋中心初始坐標(biāo)為(x0,y0),光條的寬度為K,則激光條紋中心的精確位置為:
用灰度的平方代替灰度值可以提高光條區(qū)域中像素灰度值對光條中心計(jì)算結(jié)果的權(quán)值,同時(shí)降低了由于背景光照不均勻或則光條不連續(xù)而造成的不利影響。通過以上方法提取出的條紋中心如圖4所示。
圖4 條紋提取的結(jié)果
條紋中心提取之后,采用最小二乘法對條紋中心進(jìn)行直線擬合,得到直線方程,擬合的效果如圖5所示。
圖5 條紋中心的直線擬合放大圖
聯(lián)立條紋直線方程和橢圓方程,便可得到圓孔邊緣特征點(diǎn),然后根據(jù)兩相機(jī)的內(nèi)外參,把特征點(diǎn)的像素坐標(biāo)轉(zhuǎn)變成空間三維坐標(biāo),由于圓孔邊緣特征點(diǎn)都處在同一平面上,首先對這些邊緣點(diǎn)進(jìn)行平面擬合[5,6]。設(shè)空間任一平面方程可以表示為:
將n個(gè)邊緣點(diǎn)的空間三維坐標(biāo)代入式(5)中,可得:
式中:
圖6 空間圓結(jié)構(gòu)圖
上式可簡化為:
式中:
n個(gè)空間圓上的點(diǎn)可獲得n-1個(gè)如式(7)的方程組,再根據(jù)最小二乘法可得誤差方程:
式(8)可簡化為V=B.X=L,權(quán)陣P為單位矩陣,并為式(8)添加一個(gè)約束條件:圓心必在擬合出的空間平面上,即C.X-W=0,然后由附有條件的間接平差進(jìn)行計(jì)算,推導(dǎo)出的法方程為:
式中,KS為約束條件的聯(lián)系數(shù)向量。
求出最小二乘解為:
由此便可求得空間圓的圓心坐標(biāo),然后將各邊緣點(diǎn)到圓心的距離的平均值作為空間圓的半徑:
本文采用兩臺(tái)松下anpvc1210的工業(yè)相機(jī)和一個(gè)激光器來完成對圖像的采集,相機(jī)的分辨率為1200×1600像素,鏡頭采用8mm焦距的日本Computar鏡頭,其中工件保持不動(dòng),通過激光器移動(dòng)向工件上兩個(gè)圓孔打出多條線結(jié)構(gòu)光。
采用Halcon軟件中的標(biāo)定工具箱對兩臺(tái)相機(jī)進(jìn)行標(biāo)定,標(biāo)定結(jié)果如表1所示,標(biāo)定誤差為0.13779個(gè)像素。
表1 相機(jī)標(biāo)定參數(shù)
兩相機(jī)之間的轉(zhuǎn)換矩陣為:
提取每一條激光條紋中心,并擬合為直線方程,然后聯(lián)立橢圓方程(1),求出兩個(gè)圓孔邊緣點(diǎn)的像素坐標(biāo),根據(jù)標(biāo)定出的兩相機(jī)內(nèi)外參,求出邊緣點(diǎn)的空間三維坐標(biāo),這些邊緣點(diǎn)的空間分布如圖7所示。
圖7 空間圓邊緣點(diǎn)的分布
根據(jù)空間圓的幾何特性,對這些邊緣點(diǎn)進(jìn)行空間圓的擬合,通過式(10)求出的圓心坐標(biāo)為:
求出各邊緣點(diǎn)到圓心的距離,圖8分別為大圓孔和小圓孔各邊緣點(diǎn)到圓心的距離。
圖8 大圓孔各邊緣點(diǎn)到圓心的距離
圖9 小圓孔各邊緣點(diǎn)到圓心的距離
取這些距離的平均值作為空間圓的半徑,然后將測量值與三坐標(biāo)測量儀測出的數(shù)據(jù)進(jìn)行比較,由于三坐標(biāo)測量儀的空間探測誤差,故可用三坐標(biāo)測量儀測出的值驗(yàn)證該方法的測量精度。
通過表2可以看出,圓心距的誤差比兩個(gè)圓孔的半徑的誤差要小,這是由于光照環(huán)境的影響,圓孔邊緣周圍往往會(huì)留下陰影,進(jìn)而會(huì)影響到圓孔邊緣點(diǎn)的精確定位,提取出的特征點(diǎn)難以保證恰好處于圓孔邊緣上,故該方法對于圓孔中心的定位精度會(huì)更高。
表2 誤差分析
在雙目立體視覺測量中,針對紋理信息不明顯的圓孔邊緣,特征點(diǎn)難以搜尋,或則是出現(xiàn)很多誤匹配的問題,本文提出了把線結(jié)構(gòu)光與工件邊緣的交點(diǎn)作為特征點(diǎn)的方法,充分利用空間圓的幾何特性擬合出圓孔的中心坐標(biāo)和半徑值,通過驗(yàn)證證明,該方法方便可行,靈活性高,對于圓孔中心的定位精度較高,該方法對于圓孔幾何參數(shù)的測量具有借鑒意義。
[1] 周富強(qiáng),張廣軍,江潔,等.空間圓幾何參數(shù)的非接觸高精度測量方法[J].儀器儀表學(xué)報(bào),2004,25(5):604-607.
[2] 張廣軍.機(jī)器視覺[M].北京:科學(xué)出版社,2005.
[3] 閆蓓,王斌,李媛,等.基于最小二乘法的橢圓擬合改進(jìn)算法[J].北京航空航天大學(xué)學(xué)報(bào),2008,34(3):295-298.
[4] 趙博華,王伯雄,張金,等.粗糙金屬表面光條中心提取方法[J].光學(xué)精密工程,2011,19(9):2138-2145.
[5] 張瑞峰,李士亮.基于線結(jié)構(gòu)光的空間圓高精度測量算法[J].電子測量技術(shù),2011,34(10):76-79,90.
[6] 李英碩,楊帆,袁兆奎,等.空間圓形擬合檢測新方法[J].測繪科學(xué),2013,38(6):147-148.