劉成安, 王 寧, 張 華
(1.中國(guó)科學(xué)院地球化學(xué)研究所,貴州貴陽(yáng)550002; 2.西南科技大學(xué)工程技術(shù)中心,四川綿陽(yáng)621010;3.中國(guó)科學(xué)院大學(xué),北京100049)
由于機(jī)器人技術(shù)的快速發(fā)展,使得其在核能利用、工業(yè)制造、航空航天等領(lǐng)域得到了十分廣泛的應(yīng)用[1].攝像機(jī)和激光測(cè)距儀是機(jī)器人最常用的傳感器,激光測(cè)距儀提供的距離信息和攝像機(jī)提供的色彩信息具有很強(qiáng)的互補(bǔ)性,這2種傳感器的融合利用[2]對(duì)于機(jī)器人跟蹤控制、定位與導(dǎo)航、作業(yè)環(huán)境描述與地圖創(chuàng)建和多傳感器集成與信息融合等關(guān)鍵技術(shù)具有重要的作用,因此融合兩者的信息成為現(xiàn)代機(jī)器人技術(shù)研究熱點(diǎn)之一.
為了實(shí)現(xiàn)攝像機(jī)與激光測(cè)距儀的信息融合,精確獲得激光測(cè)距儀坐標(biāo)系與攝像機(jī)坐標(biāo)系之間的對(duì)應(yīng)變換關(guān)系是至關(guān)重要的.獲得這一變換關(guān)系的過(guò)程稱(chēng)為攝像機(jī)與激光測(cè)距儀的外部位置關(guān)系標(biāo)定[3].近年來(lái),國(guó)內(nèi)外學(xué)者做了大量關(guān)于攝像機(jī)與激光測(cè)距儀外部參數(shù)標(biāo)定方法的研究.美國(guó)華盛頓大學(xué)機(jī)器人研究室最先提出了激光測(cè)距儀與攝像機(jī)的標(biāo)定方法[4];G.H.Li等[3]提出了采用直角三角形平板作為靶標(biāo),使用線(xiàn)特征標(biāo)定激光測(cè)距儀與攝像機(jī)外部參數(shù)的方法;D.Scarramuzza等[5]提出將激光測(cè)距儀采集的距離信息圖通過(guò)變換,使場(chǎng)景自然邊緣更清晰突出,再提取邊緣線(xiàn)條與攝像機(jī)拍攝的照片中檢測(cè)出來(lái)的邊緣相匹配來(lái)實(shí)現(xiàn)外部標(biāo)定;I.Bauermann等[6]提出在傳感器平臺(tái)沿任意軌道移動(dòng)過(guò)程中針對(duì)固定靶標(biāo)多次采集數(shù)據(jù),通過(guò)最小化不同視角拍攝的多幀間場(chǎng)景點(diǎn)的歐式投影偏差來(lái)得到標(biāo)定結(jié)果;S.Florian等[7]提出了使用平面模板標(biāo)定攝像機(jī)與激光測(cè)距儀參數(shù)的方法;A.Sergio等[8]采用圓形標(biāo)定靶標(biāo)定攝像機(jī)與激光測(cè)距儀的外部位置關(guān)系,得到激光測(cè)距儀在攝像機(jī)坐標(biāo)系下的姿態(tài)估計(jì).項(xiàng)志宇等[9]提出使用一塊平面靶標(biāo),在不同位置擺放若干次,實(shí)現(xiàn)攝像機(jī)與激光測(cè)距儀的外部標(biāo)定.
這些標(biāo)定算法主要利用標(biāo)定靶建立激光測(cè)距儀與攝像機(jī)的約束條件,通過(guò)標(biāo)定靶(或者激光測(cè)距儀與攝像機(jī))變換不同的位置以提供多個(gè)約束條件,求出激光坐標(biāo)系和攝像機(jī)坐標(biāo)系之間的外部參數(shù).由于標(biāo)定靶(或者激光測(cè)距儀與攝像機(jī))位置變換需要多次采集數(shù)據(jù),特征點(diǎn)或者邊緣提取算法復(fù)雜,標(biāo)定精度也會(huì)因標(biāo)定過(guò)程繁瑣而受到影響.針對(duì)這些不足,提出了一種基于角點(diǎn)提取的攝像機(jī)與3D激光測(cè)距儀外部參數(shù)標(biāo)定的新方法.該方法采用一塊鏤空的棋盤(pán)格作靶標(biāo),攝像機(jī)與3D激光測(cè)距儀一次完成標(biāo)定數(shù)據(jù)采集,無(wú)需變換標(biāo)定靶(或者激光測(cè)距儀與攝像機(jī))的位置.棋盤(pán)格因?yàn)槠浣屈c(diǎn)清晰,容易提取,可以很好的應(yīng)用于攝像機(jī).同時(shí),由于鏤空部分形成距離突變,使得邊緣清晰,也易于從3D激光測(cè)距儀的點(diǎn)云數(shù)據(jù)中提取對(duì)應(yīng)角點(diǎn).
1.1 圖像角點(diǎn)檢測(cè)算法基于灰度圖像的角點(diǎn)檢測(cè)法是從圖像灰度值估計(jì)角點(diǎn)的位置.這種方法的特點(diǎn)是速度快,且獨(dú)立于其他局部特征.2個(gè)具有代表性的算法:一種是Susan角點(diǎn)檢測(cè)算法[10];另一種是Harris角點(diǎn)檢測(cè)算法,由于Harris算法采用了高斯濾波,具有很好的抗噪性[11],是在實(shí)踐中使用最廣泛的角點(diǎn)檢測(cè)算法.
Harris角點(diǎn)檢測(cè)算法是通過(guò)計(jì)算每一個(gè)像素點(diǎn)的梯度實(shí)現(xiàn)的.如果2個(gè)方向上的絕對(duì)梯度值都大,則認(rèn)為這是角點(diǎn).Harris角點(diǎn)檢測(cè)算子通過(guò)(1)式定義
其中,Iu(x,y)和Iv(x,y)是點(diǎn)(x,y)在u和v方向的一階偏導(dǎo)數(shù),Iuv(x,y)是二階混合偏導(dǎo)數(shù),k是經(jīng)驗(yàn)值,h(x,y)是高斯函數(shù),X和Y是一階定向差值,它們可以通過(guò)灰度與在u和v方向的差分算子的卷積來(lái)計(jì)算,高斯函數(shù)用來(lái)減少噪聲的影響,因?yàn)橐浑A差分算子對(duì)噪聲非常的敏感.如果R超過(guò)某一閾值,則認(rèn)為該點(diǎn)是角點(diǎn).
1.2 點(diǎn)云角點(diǎn)檢測(cè)算法點(diǎn)云的曲率計(jì)算方法較多,這些方法都是遵守這樣的原則,那就是以盡量少的計(jì)算量且準(zhǔn)確地反應(yīng)曲線(xiàn)的曲率變化信息.目前應(yīng)用最多的是k-cosine法[12].
設(shè)點(diǎn)的支撐區(qū)域是2k+1,則如圖1所示,曲線(xiàn)上點(diǎn)Pi(xi,yi,zi)和與它相距為k的2點(diǎn)Pi+k(xi+k,yi+k,zi+k),Pi-k(xi-k,yi-k,zi-k),所構(gòu)成的矢量aik和bik為
從圖1可以看出,某點(diǎn)的夾角大小與該點(diǎn)的曲率成正比關(guān)系,即夾角越大,曲率就越大.當(dāng)某點(diǎn)滿(mǎn)足|θk|>T時(shí),將該點(diǎn)劃分為候選角點(diǎn),在候選角點(diǎn)集合中,選取局部區(qū)域內(nèi)曲率的極大值,就獲得該局部區(qū)域的角點(diǎn).
圖1 k-cosine法Fig.1 k-cosine rule
1.3 外部參數(shù)標(biāo)定算法攝像機(jī)與3D激光測(cè)距儀的外部參數(shù)標(biāo)定,實(shí)際上就是獲得攝像機(jī)坐標(biāo)系與3D激光測(cè)距儀坐標(biāo)系之間的變換關(guān)系,如果空間一點(diǎn)P在攝像機(jī)坐標(biāo)系和3D激光測(cè)距儀坐標(biāo)系內(nèi)坐標(biāo)為PC(XC,YC,ZC)和PL(XL,YL,ZL),則它們的關(guān)系可由(2)式表示
其中,R是一個(gè)3×3的旋轉(zhuǎn)矩陣,T是平移矩陣.
設(shè)標(biāo)定PC在攝像機(jī)圖像坐標(biāo)系中的圖像坐標(biāo)為M(u,v),根據(jù)攝像機(jī)的成像模型,2坐標(biāo)之間的關(guān)系可以表示為
其中M1由攝像機(jī)內(nèi)部參數(shù)決定.由(2)~(5)式,可得
圖2為將攝像機(jī)和激光測(cè)距儀固定在一起組成的融合系統(tǒng)實(shí)物圖,其中攝像機(jī)為Bumblebee雙目相機(jī),激光測(cè)距儀為Swiss Ranger 4 000 3D激光測(cè)距相機(jī).圖3為實(shí)驗(yàn)標(biāo)定靶實(shí)物圖,采用鏤空的棋盤(pán)格,格子的尺寸為6 cm×6 cm,標(biāo)靶距3D激光相機(jī)大致為2 m.
圖2 場(chǎng)景感知傳感器Fig.2 Scene perception sensors
圖3 鏤空的棋盤(pán)格Fig.3 The template of hollow checkerboard
實(shí)驗(yàn)中,首先用雙目相機(jī)的左目攝像機(jī)采集標(biāo)定靶的圖像數(shù)據(jù),用Matlab編程實(shí)現(xiàn)Harris角點(diǎn)檢測(cè)算法,對(duì)圖像中鏤空棋盤(pán)格的角點(diǎn)進(jìn)行提取,圖像角點(diǎn)提取的部分結(jié)果如表1所示.
其次,用3D激光測(cè)距相機(jī)采集鏤空棋盤(pán)格的三維點(diǎn)云數(shù)據(jù),并根據(jù)相機(jī)到棋盤(pán)格大致深度,設(shè)定閾值t,對(duì)大于t的深度數(shù)據(jù)予以濾除,然后VC++編程實(shí)現(xiàn)3D點(diǎn)云角點(diǎn)檢測(cè)算法,計(jì)算獲得3D角點(diǎn)的三維信息(x,y,z),鏤空棋盤(pán)格點(diǎn)云數(shù)據(jù)與圖像角點(diǎn)相應(yīng)的角點(diǎn)的三維信息(x,y,z)如表2所示.
最后,將表1和表2的對(duì)應(yīng)數(shù)據(jù)帶入方程(6),并利用最小二乘法求解該超定方程,可計(jì)算得出攝像機(jī)和3D激光測(cè)距相機(jī)之間的旋轉(zhuǎn)矩陣R和平移矩陣T,其結(jié)果如表3所示.根據(jù)標(biāo)定結(jié)果,以 Matlab和VC++編程實(shí)現(xiàn)算法,對(duì)一桌面場(chǎng)景目標(biāo)進(jìn)行空間目標(biāo)的定位實(shí)驗(yàn).實(shí)驗(yàn)流程如下.
1)使用SR 4000 3D激光測(cè)距相機(jī)和Bumblebee雙目相機(jī)的左目攝像機(jī)同時(shí)采集同一桌面場(chǎng)景圖像和點(diǎn)云數(shù)據(jù),圖4a、b分別為桌面場(chǎng)景目標(biāo)的圖像和點(diǎn)云.
2)用閾值法[14]去除深度較大的點(diǎn)云,見(jiàn)圖5a,然后用RANSAC算法[15]對(duì)桌面模型進(jìn)行擬合,提取桌面點(diǎn)云集,見(jiàn)圖5b.
3)分別對(duì)點(diǎn)云和圖像進(jìn)行分割,分割結(jié)果分別如圖5c和圖5d所示.
4)利用點(diǎn)云數(shù)據(jù)計(jì)算目標(biāo)的三維特征,完成3D模型的重構(gòu),如圖5c所示;然后利用圖像與點(diǎn)云的空間映射關(guān)系(由標(biāo)定結(jié)果用R和T表示),估計(jì)空間目標(biāo)位姿、形狀和大小,實(shí)現(xiàn)空間目標(biāo)的定位檢測(cè),如圖5d所示.從圖5d可以看到,由目標(biāo)物體的點(diǎn)云數(shù)據(jù)的三維特征映射到圖像中目標(biāo)物體的輪廓和位置等相當(dāng)準(zhǔn)確,能準(zhǔn)確實(shí)現(xiàn)空間目標(biāo)的定位.
圖5 數(shù)據(jù)處理Fig.5 Data processing
針對(duì)攝像機(jī)和3D激光測(cè)距儀系統(tǒng)外部參數(shù)的標(biāo)定問(wèn)題,提出一種新的標(biāo)定方法.該方法采用一塊鏤空的棋盤(pán)格作靶標(biāo),攝像機(jī)與3D激光測(cè)距儀僅用一次標(biāo)定數(shù)據(jù)采集就完成了外部參數(shù)的標(biāo)定,無(wú)需變換標(biāo)定靶(或者激光測(cè)距儀與攝像機(jī))的位置而進(jìn)行多次數(shù)據(jù)采集,同時(shí)以鏤空的棋盤(pán)格作靶標(biāo)的圖像與點(diǎn)云數(shù)據(jù)易于實(shí)現(xiàn)角點(diǎn)提取,算法也相當(dāng)簡(jiǎn)單,從而消除了因標(biāo)定過(guò)程繁瑣對(duì)標(biāo)定精度的影響,提高了標(biāo)定效率.實(shí)驗(yàn)結(jié)果表明,該方法精度較高而且操作簡(jiǎn)單,具有較高的實(shí)用價(jià)值.
表1 圖像角點(diǎn)Table 1 The feature points of visible image(/pixel)
表2 3D點(diǎn)云角點(diǎn)Table 2 The corner points of 3D point cloud(/cm)
表3 標(biāo)定結(jié)果Table 3 The results of calibration
[1]蔡鶴皋.機(jī)器人將是21世紀(jì)技術(shù)發(fā)展的熱點(diǎn)[J].中國(guó)機(jī)械工程,2000,11(1):58-60.
[2]陸建峰,唐振民,楊靜宇,等.多傳感器的聯(lián)合標(biāo)定方法[J].機(jī)器人,1997,19(5):365-371.
[3]Li G H,Li Y H,Li D.An algorithm for extrinsic parameters calibration of a camera and a laser range finder using line features[C]//Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems,2007,8:3854-3859.
[4]Zhang Q,Pless R.Extrinsic calibration of a camera and laser range finder[C]//IEEE International Conference on intelligent Robots and Systems,2004,3:2301-2306.
[5]Scarramuzza D,Haratia A,Siegwart R.Extrinsic self-calibration of a camera and a 3D laser range finder from natural scenes[C]//Proceedings of the 2007 IEEE RSJ International Conference on Intelligent Robots and Systems,2007:4164-4169.
[6]Bauermann I,Steinbach E.Joint calibration of a range and visual sensor for the acquisition of RGBZ Mosaics Erlangen[C]//Proceedings of VMV 2005,2005:666-672.
[7]Florian S,Lngo B,Eckehard S.Joint calibration of a camera triplet and laser range finder[C]//ICME of IEEE,2008,6:1201-1204.
[8]Sergio A,Rodriguez F,Vicent F.Extrinsic Calibration between a Multi-Layer Radar and a Camera[C]//Proceedings of IEEE International Conference on Multi-sensor Fusion and Integration for Intelligent Systems,2008,2:214-219.
[9]項(xiàng)志宇,鄭路.攝像機(jī)與3D激光雷達(dá)聯(lián)合標(biāo)定的新方法[J].浙江大學(xué)學(xué)報(bào):工學(xué)版,2009,43(8):1041-1045.
[10]Smith S M,Brady J M.SUSAN-a new approach to low level image processing[J].Computer Vision,1997,23(1):45-78.
[11]毛雁明,蘭美輝,王運(yùn)瓊,等.一種改進(jìn)的基于Harris的角點(diǎn)檢測(cè)方法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(5):130-133.
[12]楊雪嬌.點(diǎn)云的邊界提取及角點(diǎn)檢測(cè)算法研究[D].哈爾濱:哈爾濱工程大學(xué),2009.
[13]Schonemann P H.A generalized solution of theorthogonal procrustes problem[J].Psychometrika,1966,31(1):1-10.
[14]楊暉.圖像分割的閾值法研究[J].遼寧大學(xué)學(xué)報(bào):自然科學(xué)版,2006,33(2):135-137.
[15]曲天偉,安波,陳桂蘭.改進(jìn)的RANSAC算法在圖像配準(zhǔn)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2010,30(7):1849-1851.