山東科技大學(xué)電氣與自動(dòng)化工程學(xué)院 孔維維 隋 濤
?
基于圖像滅點(diǎn)的NAO機(jī)器人攝像頭參數(shù)分析與標(biāo)定
山東科技大學(xué)電氣與自動(dòng)化工程學(xué)院孔維維隋濤
【摘要】本文以NAO機(jī)器人為硬件基礎(chǔ),分析了其攝像過(guò)程,并獲得三維空間的單張圖片。對(duì)該圖像進(jìn)行處理,尋找三維空間中映射到圖像場(chǎng)景的平行線。最后,計(jì)算圖像中的滅點(diǎn),并進(jìn)行相應(yīng)的三維坐標(biāo)變換,標(biāo)定NAO機(jī)器人攝像頭的內(nèi)、外參數(shù),確定NAO機(jī)器人的空間位置。論文最后進(jìn)行了實(shí)際的測(cè)試,驗(yàn)證了方法的準(zhǔn)確性。
【關(guān)鍵詞】攝像頭標(biāo)定;NAO機(jī)器人;滅點(diǎn)
如今,虛擬現(xiàn)實(shí)技術(shù)在移動(dòng)機(jī)器人中的應(yīng)用也越來(lái)越多。大到戰(zhàn)場(chǎng)上的作戰(zhàn)機(jī)器人、公路上的無(wú)人駕駛汽車(chē),小到家庭使用的家政機(jī)器人,這些機(jī)器人都有一個(gè)共性,即配備有攝像頭,可以對(duì)周?chē)h(huán)境進(jìn)行監(jiān)測(cè)和判斷??梢?jiàn),機(jī)器人與虛擬現(xiàn)實(shí)技術(shù)結(jié)合的應(yīng)用變得越來(lái)越重要,對(duì)機(jī)器人的攝像頭進(jìn)行標(biāo)定也就變得必不可少。
NAO機(jī)器人是一款非常智能的人形機(jī)器人,而且它具備比較高的人工智能水平,曾被機(jī)器人世界杯RoboCup組委會(huì)選定為標(biāo)準(zhǔn)平臺(tái)。其頭部有兩個(gè)攝像頭,上下垂直排列,但兩個(gè)攝像頭不能同時(shí)開(kāi)啟。以此為基礎(chǔ),使用NAO機(jī)器人的單攝像頭拍攝場(chǎng)景照片,通過(guò)計(jì)算圖像中的滅點(diǎn),計(jì)算NAO機(jī)器人攝像頭的焦距f、旋轉(zhuǎn)矩陣R、平移向量t。
國(guó)內(nèi)外有許多學(xué)者進(jìn)行了攝像機(jī)標(biāo)定的研究,針對(duì)不同的應(yīng)用和要求有不同的方法。B.CAPRILE 和V.TORRE首次提出了利用滅點(diǎn)性質(zhì)進(jìn)行攝像機(jī)參數(shù)的求解,根據(jù)圖像中的立方體計(jì)算內(nèi)參數(shù),另外通過(guò)特定的標(biāo)定板估算攝像機(jī)的外參數(shù)。國(guó)內(nèi)學(xué)者張正友等人提出,通過(guò)攝像機(jī)在不同方向?qū)ζ矫姘袠?biāo)拍攝兩幅或以上圖片,進(jìn)行攝像機(jī)標(biāo)定的方法。移動(dòng)機(jī)器人對(duì)攝像頭標(biāo)定的要求講究實(shí)時(shí)性,在精度要求不是很高的前提下,需要盡量簡(jiǎn)化標(biāo)定過(guò)程。
在同一局域網(wǎng)內(nèi),NAO機(jī)器人可自動(dòng)獲取IP地址與電腦連接。NAO機(jī)器人獲取圖片需要使用NAOqiVision里的ALVideoDevice模塊,通過(guò)ALProxy申請(qǐng)一個(gè)視覺(jué)模塊的代理,使電腦通過(guò)IP地址和端口號(hào)與NAO機(jī)器人的視覺(jué)設(shè)備進(jìn)行連接。之后一個(gè)非常重要的操作就是訂閱,這一步驟決定了NAO機(jī)器人的攝像頭獲取圖像時(shí)的顏色空間、圖片的尺寸大小等信息。完成此步驟以后,可以使用getImageRemote函數(shù)讀取NAO機(jī)器人視野內(nèi)的圖片。提取完圖片,需要退訂,解除對(duì)視覺(jué)模塊的控制,將使用權(quán)交給其他需要攝像頭的進(jìn)程。
2.1滅點(diǎn)性質(zhì)
空間多條相互平行的直線,在成像平面上相交于一點(diǎn),此點(diǎn)稱(chēng)為該方向上的滅點(diǎn)。
滅點(diǎn)具有以下幾條性質(zhì):1)攝像中心與消失點(diǎn)的連線,與形成消失點(diǎn)的空間平行線平行。2)空間三對(duì)兩兩正交的直線形成的消失點(diǎn)在成像圖像上組成的三角形,其垂心即為攝像機(jī)的光心在圖像上的投影點(diǎn)。3)消失點(diǎn)的坐標(biāo)變換僅與旋轉(zhuǎn)矩陣R有關(guān),所以三個(gè)正交方向上的消失點(diǎn)在世界坐標(biāo)系下組成的矩陣V與該消失點(diǎn)矩陣在攝像機(jī)坐標(biāo)系下的坐標(biāo)矩陣Vˊ有公式Vˊ=RV。
2.2NAO機(jī)器人攝像頭內(nèi)參數(shù)計(jì)算
NAO機(jī)器人配備的高清攝像頭采用的是OV7670圖像傳感器,最高可以提供30fps的分辨率為640×480的圖像,在對(duì)NAO機(jī)器人攝像頭參數(shù)計(jì)算時(shí),可以采用針孔攝像機(jī)模型。在圖1中,以O(shè)為攝像中心,忽略攝像頭的畸變,并假設(shè)圖像的中心點(diǎn)就是圖像主點(diǎn)(u0,v0),像平面中的Pu、Pv為空間中兩個(gè)相互垂直方向上的平行線形成的滅點(diǎn),另一滅點(diǎn)為Pw。O為攝像中心,P為圖像中心(主點(diǎn)),OP的距離即為焦距f。點(diǎn)Puv為點(diǎn)P在滅直線上的投影點(diǎn)[4]。OPPuv為直角三角形,有:
圖1 焦距計(jì)算Fig. 1 calculation of focal length
在?PPuPv中,PPuv⊥PuPv,根據(jù)向量PuPv與向量PuP內(nèi)積的計(jì)算公式及三角關(guān)系運(yùn)算,由公式1、2可以得出點(diǎn)Puv的坐標(biāo),進(jìn)而求出PPuv的距離:
根據(jù)滅點(diǎn)的性質(zhì)1,光心O與兩個(gè)滅點(diǎn)Pu、Pv的連線分別與形成這兩個(gè)滅點(diǎn)的空間平行線平行,所以有向量OPu與向量OPv的內(nèi)積等于零,即OPu⊥OPv。同時(shí)有OP垂直于PuPv,即:
得到結(jié)論?OPuPv、?OPuPuv、?OPuvPv均為直角三角形,α=θ,β=γ。?OPuPuv與?OPuvPv相似,所以有:
結(jié)合公式2、3及焦距計(jì)算公式,可計(jì)算出NAO機(jī)器人攝像頭的焦距f。
2.3NAO機(jī)器人空間位置的確定
設(shè)定一個(gè)世界坐標(biāo)系,對(duì)于NAO機(jī)器人在三維歐式空間中所處的位置,可以相對(duì)世界坐標(biāo)系進(jìn)行描述。建立NAO機(jī)器人攝像機(jī)坐標(biāo)系后,相對(duì)于世界坐標(biāo)系有兩種變換關(guān)系,即兩個(gè)坐標(biāo)系各坐標(biāo)軸之間的旋轉(zhuǎn)關(guān)系和兩坐標(biāo)系間的平移關(guān)系,分別對(duì)應(yīng)了旋轉(zhuǎn)矩陣和平移向量。
2.3.1旋轉(zhuǎn)矩陣
設(shè)u、v、w分別為世界坐標(biāo)系下與三個(gè)滅點(diǎn)相關(guān)的單位向量,V為以u(píng)、v、w為列向量組成的3×3矩陣,uˊ、vˊ、wˊ分別為攝像機(jī)坐標(biāo)系下與三個(gè)滅點(diǎn)相關(guān)的單位向量,Vˊ為以u(píng)ˊ、vˊ、wˊ為列向量組成的3×3矩陣[3]。根據(jù)滅點(diǎn)性質(zhì)3,有Vˊ=RV。令向量u、v、w的方向?yàn)槭澜缱鴺?biāo)系的三個(gè)坐標(biāo)軸方向,有u=(1,0,0),v=(0,1,0),w=(0,0,1)。根據(jù)滅點(diǎn)性質(zhì)3,可以得到旋轉(zhuǎn)矩陣R:
其中,Pu_i、Pu_j、f為滅點(diǎn)Pu在相機(jī)坐標(biāo)系下的坐標(biāo),滅點(diǎn)Pv、Pw的相機(jī)坐標(biāo)類(lèi)似。
2.3.2平移向量
平移向量是世界坐標(biāo)系與相機(jī)坐標(biāo)系間的平移關(guān)系,需要先確定世界坐標(biāo)系的位置。指定一點(diǎn)為世界坐標(biāo)系的參考原點(diǎn),假設(shè)該點(diǎn)對(duì)應(yīng)的圖片像素坐標(biāo)為(u1,v1)。根據(jù)針孔相機(jī)成像模型公式:
在相差一個(gè)比例因子的情況下,將世界坐標(biāo)系原點(diǎn)代入公式4:
設(shè)定比例因子λ1,即可求出平移向量t。
2.4實(shí)驗(yàn)
NAO機(jī)器人獲取圖片,設(shè)定好圖像獲取函數(shù)的參數(shù),設(shè)置圖像顏色空間為RGB,大小為640× 480。建立世界坐標(biāo)系O-XYZ,如圖2所示:
圖2 世界坐標(biāo)系圖片F(xiàn)ig.2 calculation of focal length
根據(jù)上述方法,圖像主點(diǎn)即圖像中心(320,240)。三個(gè)滅點(diǎn)坐標(biāo)分別為(1725.65432098,-195.419753086)、(-39.51572327,-99.10062893)、(289.6359,1628.87379)。計(jì)算得焦距f=598.08337024,旋轉(zhuǎn)矩陣和平移向量分別為:
通過(guò)對(duì)空間中的點(diǎn)進(jìn)行反投影,可以驗(yàn)證以上求得的攝像機(jī)內(nèi)、外參數(shù)可以在精度要求不是很高的情況下,滿足標(biāo)定要求。
本文在分析了移動(dòng)機(jī)器人對(duì)攝像頭標(biāo)定的要求后,選擇了使用以單幅圖像中的滅點(diǎn)為基礎(chǔ)的方法作為NAO機(jī)器人攝像頭的標(biāo)定方法。利用滅點(diǎn)性質(zhì),計(jì)算出NAO機(jī)器人的內(nèi)、外參數(shù)。在精度要求不高的情況下,該方法能夠適應(yīng)移動(dòng)機(jī)器人對(duì)于實(shí)時(shí)性和便利性的要求。今后可以結(jié)合NAO機(jī)器人本身的智能化及其豐富的API接口,開(kāi)發(fā)機(jī)器人的更多應(yīng)用(如對(duì)場(chǎng)景的三維恢復(fù))。
參考文獻(xiàn)
[1]B.CAPRILE,V.TORRE.Using Vanishing Points for Camera Calibration[J].International Journal of Computer Vision(S0920-5691),1990,4(2):127-140.
[2]馬頌德,張正友.計(jì)算機(jī)視覺(jué)-計(jì)算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[3]余燁,劉曉平.基于滅點(diǎn)的三維重建[J].系統(tǒng)仿真學(xué)報(bào),2008,20(15):4069-4072.
[4]崔燦,張國(guó)華.一種基于單幅圖像雙消失點(diǎn)的攝像機(jī)標(biāo)定方法[J].科學(xué)技術(shù)與工程,2012,12(34):9186-9190.
[5]張廣軍.機(jī)器視覺(jué)[M].北京:科學(xué)出版社,2005.
[6]鄭逢節(jié),余濤,袁國(guó)體等.相機(jī)幾何標(biāo)定方法綜述[J].太原科技,2010,2:72-73.
[7]齊全.基于單幅圖像的交互式建模技術(shù)研究[D].青島:青島大學(xué),2008.
[8]Ayache N,et al.Trinocular stereo vision for robotics[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1991,13(1):73-85.
[9]Ying Liu,Yuanxin Wu,Meiping Wu,et al.Planar Vanishing Points Based Camera Calibration[J].Proceedings of the International Conference on Image and Graphics, HongKong,China,2004:460-463.
[10]鄧剛,張志強(qiáng),孫濟(jì)洲.用未標(biāo)定相機(jī)構(gòu)造三維模型[J].系統(tǒng)仿真學(xué)報(bào),2001,13(S):42-44.