王殿君
北京石油化工學(xué)院,北京,102617
在計(jì)算機(jī)視覺(jué)領(lǐng)域根據(jù)攝像機(jī)的數(shù)目不同,可以分為單目視覺(jué)、雙目視覺(jué)和多目視覺(jué)。單目視覺(jué)無(wú)法直接得到目標(biāo)的三維信息,只能通過(guò)移動(dòng)獲得環(huán)境中特征點(diǎn)的深度信息,適用于工作任務(wù)比較簡(jiǎn)單且深度信息要求不高的情況[1-2]。如果利用目標(biāo)物體的幾何形狀模型,在目標(biāo)上取3個(gè)以上的特征點(diǎn)也能夠獲取目標(biāo)的位置等信息,但定位精度不高[3]。多目視覺(jué)可觀察到目標(biāo)的不同部位,可以得到更為豐富的信息,但視覺(jué)控制器的設(shè)計(jì)比較復(fù)雜,且相對(duì)于雙目視覺(jué)更加難以保證系統(tǒng)的穩(wěn)定性[4]。
本文簡(jiǎn)要介紹了雙目視覺(jué)定位原理,利用所構(gòu)建的室內(nèi)移動(dòng)機(jī)器人定位平臺(tái),進(jìn)行了機(jī)器人測(cè)距實(shí)驗(yàn)和定位實(shí)驗(yàn)。
雙目立體視覺(jué)三維測(cè)量是基于視差原理的,即左相機(jī)像面上的任意一點(diǎn)只要能在右相機(jī)像面上找到對(duì)應(yīng)的匹配點(diǎn),就可以確定出該點(diǎn)的三維信息,從而獲取其對(duì)應(yīng)點(diǎn)的三維坐標(biāo)[5],工作原理如圖1所示。
圖1 雙目視覺(jué)定位原理圖
實(shí)驗(yàn)平臺(tái)主要包括移動(dòng)機(jī)器人和Micron-Tracker視覺(jué)系統(tǒng)兩部分。移動(dòng)機(jī)器人平臺(tái)主要包括底層的嵌入式控制系統(tǒng)、上層Windows操作系統(tǒng)和機(jī)器人運(yùn)動(dòng)驅(qū)動(dòng)系統(tǒng),主要負(fù)責(zé)根據(jù)視覺(jué)系統(tǒng)提供的環(huán)境信息(目標(biāo)位置或障礙物距離等)對(duì)機(jī)器人的運(yùn)動(dòng)進(jìn)行決策,并控制和驅(qū)動(dòng)機(jī)器人運(yùn)動(dòng);視覺(jué)系統(tǒng)主要包括雙目立體視覺(jué)系統(tǒng)、圖像采集卡等,主要負(fù)責(zé)圖像的實(shí)時(shí)采集、處理、目標(biāo)的匹配和識(shí)別,并輸出必要的環(huán)境信息。
移動(dòng)機(jī)器人包括兩層結(jié)構(gòu):底層的嵌入式控制系統(tǒng)平臺(tái)和上層的Windows操作系統(tǒng)平臺(tái),如圖2所示。
(1)移動(dòng)機(jī)器人底層控制器選用Intel公司的PXA270 ARM微處理器,XScale架構(gòu),主頻為520MHz,可以滿足系統(tǒng)對(duì)計(jì)算能力和處理速度方面的要求,并且該處理器內(nèi)部資源豐富,有利于擴(kuò)展各種常用接口。主處理器外接64M SDRAM、16M NOR Flash和SD卡等存儲(chǔ)設(shè)備,其上運(yùn)行Linux操作系統(tǒng),負(fù)責(zé)簡(jiǎn)單處理移動(dòng)機(jī)器人的內(nèi)外傳感器信息,然后通過(guò)RS-232端口發(fā)送給上層Windows服務(wù)器程序,同時(shí)處理服務(wù)端程序發(fā)來(lái)的控制指令和其他操作請(qǐng)求,具體執(zhí)行機(jī)器人各種硬件設(shè)施的操作。
(2)移動(dòng)機(jī)器人上層控制器為 HP520計(jì)算機(jī)?;赪indows的服務(wù)器程序可以直接利用獲得的信息控制機(jī)器人,特別是實(shí)時(shí)性要求較高的任務(wù),如避障等。上層控制器與底層控制器之間采用串口通信,該結(jié)構(gòu)可以完成一些復(fù)雜的任務(wù),如計(jì)算量大且算法復(fù)雜度較高的圖像處理、模式識(shí)別、目標(biāo)跟蹤、復(fù)雜的路徑規(guī)劃和導(dǎo)航等任務(wù)[7-8]。
圖2 移動(dòng)機(jī)器人
Micron Tracker系統(tǒng)是一個(gè)光學(xué)姿態(tài)跟蹤產(chǎn)品家族的總稱(chēng)。這個(gè)家族的產(chǎn)品使用相同的軟件接口——MTC函數(shù)庫(kù),唯一不同的是每個(gè)家族成員使用不同的攝像機(jī)系統(tǒng)。第三代追蹤器采用全被動(dòng)式設(shè)計(jì),利用可見(jiàn)光立體地探測(cè)物體。被測(cè)物外部被涂上了一層可見(jiàn)花紋,傳感器通過(guò)一條標(biāo)準(zhǔn)的數(shù)字連接線與電腦相連,通過(guò)上位機(jī)控制器上的軟件來(lái)處理圖像并檢測(cè)圖像中的可見(jiàn)目標(biāo)點(diǎn)。Micron Tracker系統(tǒng)如圖3所示。
圖3 MicronTracker系統(tǒng)
Micron Tracker雙目視覺(jué)系統(tǒng)的坐標(biāo)系統(tǒng)有以下三種:
(1)面坐標(biāo)。每一個(gè)面都有自己的坐標(biāo)系統(tǒng),其原點(diǎn)位于較長(zhǎng)向量的中心。X軸從原點(diǎn)指向較長(zhǎng)向量方向;Z軸垂直于兩個(gè)向量方向,指向該面法線相反的方向。當(dāng)該面面向攝像機(jī)時(shí),面的Z軸正好平行于攝像機(jī)的Z軸,Y軸根據(jù)右手坐標(biāo)系規(guī)則定義。
(2)標(biāo)記坐標(biāo)系。標(biāo)記坐標(biāo)系的定義和標(biāo)記模板中第一面定義的坐標(biāo)系相同,即使該面不可見(jiàn)也是如此。
(3)攝像機(jī)坐標(biāo)。原點(diǎn)位于攝像機(jī)中心,Z軸指向攝像機(jī)前方,X軸指向右邊,Y軸指向下方。當(dāng)觀看攝像機(jī)圖像的時(shí)候,攝像機(jī)坐標(biāo)系和屏幕坐標(biāo)系平行[9]。
首先固定雙目視覺(jué)儀器的位置,在儀器正前方沿直線移動(dòng)標(biāo)簽位置,每次X方向移動(dòng)距離為50mm,在同一個(gè)地方取10次測(cè)量結(jié)果,然后求其平均值作為測(cè)量結(jié)果,最后將測(cè)量結(jié)果與標(biāo)簽的實(shí)際位置相比較。通過(guò)實(shí)驗(yàn)可得,Micron-Tracker的可測(cè)距范圍為30~180cm,理論距離與實(shí)測(cè)距離之間的數(shù)據(jù)如表1所示,關(guān)系曲線如圖4所示。由表1可知,測(cè)距最大偏差為8.644mm,最小定位偏差為0.056mm,平均定位偏差為1.773mm。這表明雙目視覺(jué)定位精度較高而且系統(tǒng)穩(wěn)定性好,受環(huán)境因素影響較小,滿足移動(dòng)機(jī)器人定位的需要。
表1 測(cè)距精度實(shí)驗(yàn)數(shù)據(jù) mm
圖4 測(cè)距精度實(shí)驗(yàn)
在室內(nèi)結(jié)構(gòu)化環(huán)境下,采用三邊定位算法進(jìn)行移動(dòng)機(jī)器人雙目視覺(jué)定位實(shí)驗(yàn)。三邊定位算法是基于信號(hào)傳播模型的定位方法,根據(jù)測(cè)得的標(biāo)簽相對(duì)于雙目視覺(jué)系統(tǒng)的坐標(biāo)來(lái)計(jì)算標(biāo)簽和雙目視覺(jué)系統(tǒng)之間的距離。
如圖5所示,點(diǎn)1、2、3、4為設(shè)定的標(biāo)簽坐標(biāo)點(diǎn),中間點(diǎn)T為雙目視覺(jué)系統(tǒng)坐標(biāo)點(diǎn)。假設(shè)標(biāo)簽1、2、3的坐標(biāo)分別為(x1,y1)、(x2,y2)、(x3,y3),3個(gè)標(biāo)簽到移動(dòng)機(jī)器人T的距離分別為d1、d2、d3,三邊公式為
通過(guò)三邊定位算法可求得移動(dòng)機(jī)器人T的當(dāng)前坐標(biāo)(x,y)為
圖5 雙目視覺(jué)定位方法
根據(jù)實(shí)驗(yàn)所得到的理論坐標(biāo)與實(shí)測(cè)坐標(biāo)數(shù)據(jù)如表2所示。
表2 理論坐標(biāo)與實(shí)測(cè)坐標(biāo)值比較 cm
圖6為實(shí)測(cè)坐標(biāo)與理論坐標(biāo)比較曲線圖,由表2可知移動(dòng)機(jī)器人運(yùn)動(dòng)軌跡理論坐標(biāo)值與實(shí)測(cè)坐標(biāo)值最大偏差為3.635cm,最小偏差為0.424cm,平均偏差為1.553cm。
圖6 實(shí)測(cè)坐標(biāo)與理論坐標(biāo)比較
(1)利用雙目視覺(jué)系統(tǒng)進(jìn)行了測(cè)距精度實(shí)驗(yàn),并基于雙目視覺(jué)移動(dòng)機(jī)器人進(jìn)行了定位實(shí)驗(yàn)。
(2)定位實(shí)驗(yàn)結(jié)果表明,采用雙目視覺(jué)的移動(dòng)機(jī)器定位系統(tǒng)工作穩(wěn)定且定位精度較高。
(3)本文構(gòu)建的基于雙目視覺(jué)移動(dòng)機(jī)器人定位系統(tǒng)為移動(dòng)機(jī)器人全自主導(dǎo)航提供了依據(jù)。
[1]張馳,靳伍銀,劉昊,等.基于雙目視覺(jué)系統(tǒng)的三維目標(biāo)識(shí)別研究[J].機(jī)床與液壓,2010,38(1):22-24.
Zhang Chi,Jin Wuyin,Liu Hao,et al.Identification Technique for 3D Target Based on Binocular Visual System[J].Machine with Hydraulic,2010,38(1):22-24.
[2]唐新星,趙丁選.基于圖像疊合的工程機(jī)器人立體視覺(jué)系統(tǒng)[J].武漢理工大學(xué)學(xué)報(bào),2009,33(2):156-159.
Tang Xinxing,Zhao Dingxuan.Research on Stereo Vision System of Construction Robot Based on Image Superposition[J]. Wuhan University of Technology,2009,33(2):156-159.
[3]崔開(kāi)涌,王任杰,林小玲.機(jī)器人雙目視覺(jué)系統(tǒng)的算法研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2008,34(3):237-240.
Cui Kaiyong,Wang Renjie,Lin Xiaoling.Research and Realization on Binocular Stereo Vision System of Robot[J].Computer Engineering,2008,34(3):237-240.
[4]龔志平,王勇,尹治.基于網(wǎng)絡(luò)的嵌入式機(jī)器人視覺(jué)系統(tǒng)研究[J].微計(jì)算機(jī)信息,2009,25(11):262-264.
Gong Zhiping,Wang Yong,Yin Zhi.The Embedded Robot Vision System Based on Network Video Technology[J].Microcomputer Information,2009,25(11):262-264.
[5]鄭志強(qiáng),季秀才,劉斐.COMS的雙目視覺(jué)系統(tǒng)的設(shè)計(jì)[J].國(guó)防科技大學(xué)學(xué)報(bào),2003,25(6):1-4.
Zheng Zhiqiang,Ji Xiucai,Liu Pei.CMOS Binocular Vision System Design[J].Journal of National University of Defense Technology,2003,25(6):1-4.
[6]郝穎明,朱楓,歐錦軍.目標(biāo)位姿測(cè)量中的三維視覺(jué)方法[J].中國(guó)圖像圖形學(xué)報(bào),2002,7(12):1247-1251.
Hao Yingming,Zhu Feng,Ou Jinjun.3D Visual Methods for Object Pose Measurement[J].Image and Graphics,2002,7(12):1247-1251.
[7]Seet B,Liu G,Lee B,et al.A-STAR:A Mobile Adhoc Routing Strategy for Metropolis Vehicular Communications[C]//Lecture Notes in Computer Science.Springer Berlin/Heidelberg,2004:989-999.
[8]Bell M G H.Hyperstar:A Multi-path Astar Algorithm for Risk Averse Vehicle Navigation[J].Transportation Research.Part B,Methodological,2009,43(1):97-107.
[9]Leach A R,Lemon A P.Exploring the Conformational Space of Protein Side Chains Using Dead-End Elimination and the Algorithm[J].Proteins Structure Function and Genetics,1998,33(2):227-239.