劉凌云,羅 敏,吳岳敏,李慧玲,馬 彬
(湖北汽車(chē)工業(yè)學(xué)院 電氣工程系,湖北 十堰 442002)
空間圓弧在圖像處理中是一種特征明顯且容易識(shí)別的形狀,而機(jī)械零部件的基本特征孔、平面正交即可形成空間圓或圓弧,因此通過(guò)對(duì)機(jī)械零部件上空間圓弧的視覺(jué)位姿檢測(cè),間接獲取機(jī)械零部件的空間位置和姿態(tài),在機(jī)器人視覺(jué)定位、目標(biāo)跟蹤、視覺(jué)避障中具有廣泛的應(yīng)用。目前針對(duì)空間圓弧的視覺(jué)位姿檢測(cè)的研究,主要可以分為兩類(lèi),一類(lèi)是對(duì)空間圓弧上特征點(diǎn)在不同圖像中圖像點(diǎn)進(jìn)行匹配的立體匹配算法[1-3],通常計(jì)算復(fù)雜度較大且所需硬件成本較高;另一類(lèi)是針對(duì)單個(gè)圓特征,利用其它約束條件進(jìn)行空間圓姿態(tài)信息計(jì)算并消除二義性[4-8],如邢德奎等[5]提出使用同心圓目標(biāo)快速、準(zhǔn)確地獲取圓心點(diǎn)在圖像中的準(zhǔn)確的投影點(diǎn)位置;魏振忠[6]提出了一種基于空間角度約束以消除空間圓姿態(tài)二義性的方法。
而對(duì)于大多數(shù)機(jī)械零部件而言,其特征平面與特征孔正交所形成的為一個(gè)或多個(gè)單一的空間圓或圓弧,而非同心圓,且空間圓或圓弧的半徑為確定值。因此對(duì)同一平面內(nèi)半徑已知的多個(gè)空間圓或圓弧進(jìn)行視覺(jué)位姿測(cè)量具有一定的工程實(shí)用價(jià)值。這里提出一種以位于同一平面內(nèi)不同心的兩個(gè)半徑已知的圓互為約束,并借助于空間圓弧到虛擬像機(jī)中影像的映射數(shù)學(xué)模型,通過(guò)參數(shù)交叉迭代、分層搜索的優(yōu)化算法求取空間圓弧位姿的檢測(cè)方法。
(1)
圖1 空間圓弧在虛擬像機(jī)中成像數(shù)學(xué)模型
(2)
(3)
由射影幾何原理[9]可知,虛擬映射點(diǎn)pc1i也是實(shí)際空間圓弧Arc上的點(diǎn)在虛擬攝像機(jī){C1}中的影像,且當(dāng)虛擬成像平面Γ1與空間圓弧Arc所在平面Γ平行(令此時(shí)α=αb、β=βb)時(shí),虛擬映射點(diǎn)序列pc1i正好位于同一圓弧上。此時(shí)虛擬成像平面Γ1的法向量在坐標(biāo)系{C}中的描述Cl即為圓弧Arc的姿態(tài)描述,虛擬映射點(diǎn)序列pc1i所構(gòu)成圓的圓心即為實(shí)際空間圓圓心的圖像點(diǎn)。
為了借助于虛擬成像平面Γ1與空間平面Γ平行關(guān)系求取空間圓弧Arc的位姿,本文提出了對(duì)虛擬映射序列點(diǎn)pc1i進(jìn)行圓擬合,并構(gòu)造擬合圓的圓度誤差函數(shù)[10],以圓度誤差最小為目標(biāo),在有效搜索范圍內(nèi)對(duì)姿態(tài)參數(shù)α、β進(jìn)行優(yōu)化,從而得到虛擬攝像機(jī)姿態(tài)的最佳值αb、βb。
圖2 α角度極限范圍的確定
當(dāng)虛擬成像平面分別平行于過(guò)P3或P4的射線時(shí)對(duì)應(yīng)的α轉(zhuǎn)角即為其極限角度αmin、αmax,即滿(mǎn)足關(guān)系式(4):
(4)
同理可以求出姿態(tài)參數(shù)β的極限角度βmin、βmax滿(mǎn)足關(guān)系式(5):
(5)
對(duì)于單峰值范圍內(nèi)α、β最佳值的搜索,為了提高尋優(yōu)速度,減小計(jì)算負(fù)荷,文中提出了一種采用α、β交叉迭代的分層搜索策略。假設(shè)初始步距為S0,每層步距成等比減小,等比系數(shù)0 (6) 再根據(jù)公式(4)、公式(5)計(jì)算姿態(tài)參數(shù)α、β的初始搜索范圍(αmin,αmax)、(βmin,βmax)后,則取初始最佳姿態(tài)βb=βmin或βmax,依次完成步驟①~⑤,迭代求取位姿參數(shù)α、β的最佳值。 ①令β=βb,當(dāng)α在(αmin,αmax)范圍內(nèi)以S0為步距進(jìn)行等間距取樣的過(guò)程中,根據(jù)公式(3)依次求取虛擬映射點(diǎn)pc1i的坐標(biāo)(Xc1i,Yc1i,Zc1i);對(duì)虛擬映射點(diǎn)pc1i進(jìn)行圓擬合,并求取圓度ej(其中j=1,2,3…M;M為α的取樣數(shù)),將圓度ej中的極大值e1所對(duì)應(yīng)的α值設(shè)為αb; ②令α=αb,當(dāng)β在(βmin,βmax)范圍內(nèi)以初始步距S0進(jìn)行等間距取樣的過(guò)程中,重復(fù)步驟①,并將系列擬合圓中圓度極大值e2所對(duì)應(yīng)的β值設(shè)為βb; ③當(dāng)|e2-e1|>ε(ε為某一極小值)時(shí)返回步驟①; ④分層搜索次數(shù)m++;當(dāng)m>N2時(shí),跳到步驟⑤,否則取步距Sm=qm·S0,搜索范圍αmin=αb-S0*q(m-1),αmax=αb+S0*q(m-1),βmin=βb-S0*q(m-1),βmax=βb+S0*q(m-1),返回步驟①; ⑤獲取最佳姿態(tài)參數(shù)αb、βb,并將該姿態(tài)下所對(duì)應(yīng)的擬合圓半徑rk設(shè)置為rb、圓心ock的坐標(biāo)設(shè)為(c1Xob,c1Yob,f)T。 當(dāng)α、β姿態(tài)參數(shù)分別取最佳姿態(tài)參數(shù)αb、βb時(shí),即空間圓弧Arc所在平面Γ與虛擬成像平面Γ1處于平行狀態(tài)時(shí),圓弧Arc的姿態(tài)可由虛擬攝像機(jī)坐標(biāo)系{C1}的Z軸單位主矢量在攝像機(jī)坐標(biāo)系{C}中的描述Cl來(lái)比表示。由公式(1)可知: (7) (8) 圖3 遍歷搜索時(shí)圓弧影像圓度與姿態(tài)參數(shù)的關(guān)系曲線 采用α、β交叉迭代運(yùn)算前,首先利用分層搜索算法[11]將圓度函數(shù)的兩個(gè)峰值區(qū)域分割開(kāi)來(lái),然后在圓度函數(shù)單峰值區(qū)域1、2內(nèi)分別采用交叉迭代搜索,圓度極大值Fm、最佳姿態(tài)參數(shù)αb、βb與迭代次數(shù)的關(guān)系曲線如圖4所示(步距S=0.16°時(shí)),由關(guān)系曲線可知該交叉迭代算法具有較強(qiáng)的收斂性,經(jīng)過(guò)少量幾次交叉迭代,圓度最大值、最佳姿態(tài)參數(shù)αb、βb即達(dá)到穩(wěn)定值,從而有效的縮少了搜索范圍。 (a) 區(qū)域1內(nèi)迭代搜索時(shí) (b) 區(qū)域2內(nèi)迭代搜索時(shí)圖4 圓度最大值與交叉迭代參數(shù)的關(guān)系曲線 取初始步距S=4°、步距等比系數(shù)q=0.2,在圓度函數(shù)的兩個(gè)單峰值區(qū)域?qū)ψ藨B(tài)參數(shù)α、β分別采用交叉迭代分層搜索,獲得的實(shí)驗(yàn)數(shù)據(jù)如表1中所示。 即經(jīng)過(guò)三次分層,縮小范圍進(jìn)行搜索,姿態(tài)參數(shù)α、β的檢測(cè)精度可達(dá)到±0.16°,耗時(shí)僅為46.6s。若采用全范圍遍歷搜索或交叉迭代搜索算法達(dá)到同樣的測(cè)量精度,計(jì)算機(jī)CPU所需的時(shí)間開(kāi)銷(xiāo)分別為184.5s和72.8s。 將兩組最佳姿態(tài)參數(shù)Arfa_b、Beita_b分別代入公式(7)、公式(8)可獲得圓弧Arc的姿態(tài)描述及圓心位置坐標(biāo)的兩種解,如表2所示。 由表2可知,解2所求位姿數(shù)據(jù)與理論值相比,位置度誤差為0.0227mm,角度誤差為0.0683°,誤差來(lái)源主要為搜索過(guò)程中步距誤差和計(jì)算舍入誤差。 表1 α、β交叉迭代分層搜索實(shí)驗(yàn)數(shù)據(jù) 續(xù)表 表2 求取的圓弧Arc最佳位姿信息數(shù)據(jù)表 為了消除空間圓姿態(tài)檢測(cè)的二義性問(wèn)題,可充分利用待檢測(cè)對(duì)象同一表面多孔的特點(diǎn),以?xún)蓚€(gè)不同心的圓或圓弧互為約束,應(yīng)用上述算法正確獲取空間圓或圓弧所在平面的正確姿態(tài)。如某汽車(chē)零件上平面的兩孔A、B直徑均為φ8.246mm,孔間距19.023mm,圖5為實(shí)際采集的該零件圖像。 (a) 實(shí)際采集圖像 (b) A、B圓弧輪廓上特征點(diǎn)提取圖5 圓弧位姿檢測(cè)實(shí)測(cè)圖像及處理 分別對(duì)A、B兩孔進(jìn)行子像素輪廓提取后等間距采樣獲取圓弧上圖像點(diǎn)序列。采用與仿真實(shí)驗(yàn)中相同的攝像機(jī)內(nèi)參進(jìn)行實(shí)物驗(yàn)證。針對(duì)兩組圖像點(diǎn)序列分別應(yīng)用文中所述圓弧位姿視覺(jué)檢測(cè)算法(取檢測(cè)精度Acc<0.1°),求取A、B兩孔姿態(tài)信息,并針對(duì)姿態(tài)公共解求取兩孔圓心的位置信息,如表3中所示。 另外改變工件的位置和姿態(tài)進(jìn)行多次測(cè)量,所獲得的A、B孔孔間距測(cè)量誤差均小于0.08mm,姿態(tài)公共解的相對(duì)誤差均小于0.2°。 表3 孔A、B位姿檢測(cè)數(shù)據(jù)表 由此可見(jiàn),采用上述算法求取空間圓的位姿信息具有較好的精度,也證實(shí)了該算法對(duì)于消除空間圓姿態(tài)二義性是切實(shí)可行的。另外,除了包括攝像機(jī)內(nèi)部參數(shù)的標(biāo)定誤差、特征輪廓提取誤差及計(jì)算誤差外,位姿檢測(cè)誤差主要來(lái)源還包括分層搜索時(shí)最終采用的步距。步距越小,檢測(cè)精度越高,CPU時(shí)間開(kāi)銷(xiāo)也越大。 本文提出了一種在已知攝像機(jī)內(nèi)部參數(shù)的情況下,僅通過(guò)對(duì)同一平面內(nèi)不同心的多個(gè)圓或圓弧的一次成像,實(shí)現(xiàn)空間圓所在平面的姿態(tài)檢測(cè),若空間圓的半徑已知,可實(shí)現(xiàn)空間圓圓心位置的檢測(cè)。和傳統(tǒng)的空間圓弧位姿檢測(cè)算法相比,本文提出的空間圓弧位姿檢測(cè)算法不需要復(fù)雜的數(shù)學(xué)計(jì)算,收斂性強(qiáng),且在圓弧識(shí)別、抗遮擋等方面具有明顯優(yōu)勢(shì),并能準(zhǔn)確獲取空間圓弧在攝像機(jī)坐標(biāo)系中的位姿信息。該檢測(cè)算法特別適合于同一表面具有多孔特征的對(duì)象的位姿檢測(cè)或孔間距檢測(cè)。 [1] HEIKKIL A J, SILVEN O. A four-step camera calibration procedure with implicit image correction[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1997:1106-1112. [2]周富強(qiáng),張廣軍,江潔.空間圓幾何參數(shù)的非接觸高精度測(cè)量方法[J].儀器儀表學(xué)報(bào),2004,25(5):604-607. [3]單寶華,袁文廳,劉洋.一種基于實(shí)心圓靶標(biāo)的立體視覺(jué)系統(tǒng)標(biāo)定方法[J].光學(xué)學(xué)報(bào),2016,36(9):0915001. [4]KIM J S,GURDJOS P.Geometric and algebraic constraints of projected concentric circles and their applications to camera calibration[J].IEEE Trans Pattern Analysis and Machine Intelligence, 2005,27(4):637-642. [5]邢德奎,達(dá)飛鵬,張虎. 圓形目標(biāo)精密定位方法的研究與應(yīng)用[J].儀器儀表學(xué)報(bào),2009,30(12):2593-2598. [6]魏振忠,趙征,張廣軍. 空間圓姿態(tài)識(shí)別二義性的角度約束消除[J]. 光學(xué)精密工程,2010, 18(3) :685-691. [7]陳新禹,馬孜,胡英,等.視覺(jué)測(cè)量中圓形標(biāo)記點(diǎn)的高精度定位[J]. 光電子.激光, 2013,24(8):1524-1528. [8]劉子騰,白瑞林,王秀平.視覺(jué)標(biāo)定中圓心投影點(diǎn)精確定位[J].激光與光電子學(xué)進(jìn)展,2015,52(9):091001. [9]何春華,張雪飛,胡迎春.基于改進(jìn)Sobel算子的邊緣檢測(cè)算法的研究[J]. 光學(xué)技術(shù),2012,38(3):323-327. [10]陳天飛,趙吉賓,王銀靈,等.基于射影變換圓陣靶標(biāo)中心像點(diǎn)的計(jì)算[J].儀器儀表學(xué)報(bào),2015,36(4): 895-902. [11]鄭靜娜,李紅玉,鄭斯文,等. 利用回溯搜索優(yōu)化算法(BSA) 測(cè)量圓度誤差[J].遼寧大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,42(4):320-324. [12]劉凌云,錢(qián)新恩,羅敏.確定對(duì)象單目視覺(jué)位姿檢測(cè)算法的研究[J].中國(guó)機(jī)械工程,2010,21(23):2825-2829. [13] 夏仁波,劉偉軍,趙吉賓,等.基于圓形標(biāo)志點(diǎn)的全自動(dòng)相機(jī)標(biāo)定方法[J].儀器儀表學(xué)報(bào),2009,30(2):368-373. [14]徐鵬,汪建業(yè),王燕儒.攝像機(jī)標(biāo)定中靶標(biāo)圓心像點(diǎn)坐標(biāo)的精確計(jì)算[J].紅外與激光工程,2011,40(7): 1342-1346. [15]韓建棟,楊紅菊.三維視覺(jué)測(cè)量中圓中心投影誤差分析方法[J].計(jì)算機(jī)科學(xué),2010,37(12):247-249. [16]李占利,劉梅,孫瑜.攝影測(cè)量中圓形目標(biāo)中心像點(diǎn)計(jì)算方法研究[J].儀器儀表學(xué)報(bào),2011,32(10):2235-2241.3 空間幾何圓位姿參數(shù)的求取
4 仿真驗(yàn)證實(shí)驗(yàn)
4.1 交叉迭代次數(shù)對(duì)檢測(cè)精度影響的仿真實(shí)驗(yàn)
4.2 交叉迭代分層搜索效果的仿真實(shí)驗(yàn)
4.3 實(shí)物實(shí)驗(yàn)
5 結(jié)論