王志遠(yuǎn),王茂森
(南京理工大學(xué), 南京 210094)
基于雙目視覺的移動機器人測距與定位系統(tǒng)
王志遠(yuǎn),王茂森
(南京理工大學(xué), 南京 210094)
提出了基于雙目視覺的移動機器人測距與定位系統(tǒng)的設(shè)計方案,系統(tǒng)由左右布置的兩個攝像機組成。通過計算目標(biāo)點在左右攝像機成像平面內(nèi)像素點的視差值,利用重映射技術(shù)得到攝像機前方的三維環(huán)境信息。使用張正友標(biāo)定法對系統(tǒng)進(jìn)行標(biāo)定。在圖像預(yù)處理階段使用限制對比度自適應(yīng)直方圖均衡(CLAHE)算法對圖像進(jìn)行均衡化處理,明顯改善了光照不均、霧、煙塵等低質(zhì)圖像的清晰度,提高了系統(tǒng)環(huán)境適應(yīng)性。為確保該系統(tǒng)的可靠性,對測量值進(jìn)行了誤差分析,系統(tǒng)的深度平均測量誤差為1.49%;定位平均測量誤差x方向為3.81%,y方向為2.48%。誤差分析結(jié)果表明,該系統(tǒng)測量精度高且穩(wěn)定性好,可以滿足移動機器人定位、測距等要求。
攝像機標(biāo)定;CLAHE;視差;移動機器人;誤差分析
立體視覺技術(shù)通過對目標(biāo)物的特征點在兩個攝像機成像平面的像素坐標(biāo)進(jìn)行匹配,利用三角測量原理計算該特征點的深度信息進(jìn)而獲取目標(biāo)物的位置信息[1]。當(dāng)獲取目標(biāo)物的特征點足夠多時就可以對目標(biāo)物的空間位置進(jìn)行準(zhǔn)確定位[2]。傳統(tǒng)的超聲波測距、激光測距等方式無法直接得到目標(biāo)的三維信息,只能通過掃描的方式獲得環(huán)境中的深度信息,適用于工作任務(wù)比較簡單且深度信息要求不高的情況,而雙目測量系統(tǒng)沒有這種限制。雙目立體視覺技術(shù)已經(jīng)被應(yīng)用到多個領(lǐng)域,如利用立體視覺獲取動物的形體尺寸,在進(jìn)行放療時對腫瘤進(jìn)行精確定位,移動機器人的定位與測距系統(tǒng)等[3-5]。
本文利用雙目系統(tǒng)采集圖像,然后進(jìn)行預(yù)處理,使其在光照不均,有霧等非常規(guī)條件下仍具有較高的識別效率,提高了系統(tǒng)的魯棒性,之后對左右攝像機進(jìn)行立體匹配并求解環(huán)境三維信息。利用所構(gòu)建的移動機器人平臺,進(jìn)行測距與定位實驗。
移動機器人平臺由上下兩部分組成,下半部為履帶小車,如圖1(a)所示。車體內(nèi)部裝有一個嵌入式系統(tǒng),CPU選用三星4412四核處理器,主頻為1.4GHz,具有很強的任務(wù)處理能力,2G RAM和16G FLASH可以滿足圖像處理以及其他功能對運存及存儲空間的需求,其上運行的Linux操作系統(tǒng)保證了信息采集,信號處理,以及控制命令輸出等功能的順利進(jìn)行。該嵌入式系統(tǒng)完成一次640×480大小的兩幅圖的立體匹配僅需要70~80 ms,即每秒可完成13×2圖像的處理,這樣的處理速度完全可以滿足移動機器人的應(yīng)用要求;平臺上半部為水平安裝的兩臺攝像機,如圖1(b)所示是雙目視覺的圖像采集部分,雙攝像機水平布置基線距離為60 mm,光軸呈前向平行狀態(tài),單個相機可采集640×480大小的圖像,幀率可達(dá)60fps,滿足雙目視覺的要求。上下兩部分通過一個垂直安裝的電機連接在一起,電機旋轉(zhuǎn),帶動雙攝像機360°旋轉(zhuǎn),因此,該移動機器人可以在行進(jìn)或停止?fàn)顟B(tài)下進(jìn)行360°的測量。
在雙目視覺系統(tǒng)中除需要將目標(biāo)特征點與其像素點進(jìn)行位置匹配外,還需要知道左右攝像機之間的相互關(guān)系。因此標(biāo)定的主要目的就是求取與之相關(guān)的攝像機內(nèi)參數(shù)、外參數(shù)[6]。經(jīng)過標(biāo)定的相機采集的圖像還需要經(jīng)過必要的預(yù)處理才可進(jìn)行后續(xù)的計算,這樣做的好處可以保證只有高質(zhì)量的圖像才可以參與后續(xù)的運算。
2.1 攝像機標(biāo)定
建立攝像機的針孔成像模型,如圖2所示。其中P為目標(biāo)物上一點(以下簡稱物點),物點在世界坐標(biāo)系FcXcYcZc中的坐標(biāo)為(X,Y,Z),P點的像素坐標(biāo)為(u,v),(cx,cy)為主點坐標(biāo)。
圖1 移動機器人測距定位系統(tǒng)
圖2 攝像機針孔成像模型
建立針孔攝像機的數(shù)學(xué)模型[7]:
(1)
其中:fx,fy為焦距f沿x軸和y軸上的歸一化焦距;Rc是物點相對于投影面的旋轉(zhuǎn)矩陣;t是物點相對于投影面的平移向量;s為一個標(biāo)量。
由于攝像機還存在徑向畸變與切向畸變,因此,需要對畸變進(jìn)行求解[8],求解公式如下。
(2)
其中:x,y是畸變點像素坐標(biāo);k1,2,3、p1,2分別為徑向和切向畸變系數(shù);r是像點到中心點的距離;xd,yd為校正后像素坐標(biāo);徑向畸變與切向畸變可以用矩陣[k1,k2,p1,p2,k3]表示,記為:D。
對左右攝像機分別進(jìn)行標(biāo)定得到內(nèi)參數(shù)矩陣分別為Mr,Ml,畸變矩陣分別為Dr,Dl,結(jié)果如下。
為保證雙攝像機光軸前向平行需要對右攝像機進(jìn)行旋轉(zhuǎn)與平移。因此,需要求解相關(guān)的旋轉(zhuǎn)與平移矩陣R,T。另外為了求解物點在左右成像平面內(nèi)投影坐標(biāo)的對應(yīng)關(guān)系還需要標(biāo)定出本征矩陣E和基礎(chǔ)矩陣F。
旋轉(zhuǎn)矩陣R與平移矩陣T的標(biāo)定結(jié)果為:
本征矩陣E與基本矩陣F的標(biāo)定結(jié)果如下:
利用標(biāo)定求得的結(jié)果參數(shù)對左右相機進(jìn)行校正,校正結(jié)果如圖3所示。
對比圖3(a)~圖3(b)可以發(fā)現(xiàn),經(jīng)過標(biāo)定-校正后的攝像機畸變得到了消除,并且左右攝像機行像素得到了對齊。
圖3 雙目校正
2.2 圖像預(yù)處理
對圖像的預(yù)處理采用限制對比度自適應(yīng)直方圖均衡(CLAHE)算法,該算法基于自適應(yīng)直方圖均衡(AHE)算法實現(xiàn),并引入對比度閾值對各個區(qū)域進(jìn)行限幅[9]。對超過閾值的直方圖進(jìn)行裁剪,并將裁剪掉的部分均勻分配到直方圖的其他部分,經(jīng)過多次裁剪-重分布操作便可將直方圖的峰值限制在閾值附近。經(jīng)過CLAHE處理后的圖像具有良好的對比度,對光照不均、霧等具有很好的去除作用[10],達(dá)到提升圖像畫質(zhì)的目的,CLAHE對圖像的處理結(jié)果,如圖4所示。上為處理前的圖像,下為經(jīng)過CLAHE處理后的圖像,可以看出,經(jīng)過處理后的圖像極大地改善了圖像的質(zhì)量。
圖4 CLAHE算法對光照不均及霧的濾除
環(huán)境三維信息包括深度(距離)信息和方位信息。經(jīng)過標(biāo)定-校正后的雙攝像機,便可以進(jìn)行立體匹配,對于一個匹配成功的特征點可以得到其視差d。然后根據(jù)求得的視差進(jìn)一步求取該特征點的深度信息。攝像機立體匹配模型如圖5所示,根據(jù)物點P在左右成像平面的投影點pl,pr的對應(yīng)關(guān)系便可以得出深度z與視差d的幾何關(guān)系[11],表達(dá)式為
(7)
式中:b是基線距離;z是物點的坐標(biāo);xl,xr分別為左右成像平面內(nèi)投影點的橫坐標(biāo)。
對于一個成功匹配的特征點,它在攝像機坐標(biāo)系(以左相機投影中心為原點)中的坐標(biāo)是可知的,因此對該坐標(biāo)點進(jìn)行重投影即可得到該物點在世界坐標(biāo)系中的坐標(biāo)。投影關(guān)系可表示為
(8)
其中:Q是重投影矩陣,表示為:
(9)
圖5 左右攝像機立體匹配模型
為了使計算統(tǒng)一而引入了第四維度w,使三維坐標(biāo)(x,y,z)用齊次坐標(biāo)表示時變?yōu)樗木S空間(x,y,z,w),因此求得物點P的三維坐標(biāo)為(x/w,y/w,z/w)。如果對整幅場景圖都進(jìn)行立體匹配,可以得到整個場景的三維信息,如圖6所示,圖6(a)為經(jīng)過CLAHE處理后的場景圖;圖6(b)為場景三維信息借助Matlab顯示后的三維信息圖??梢钥闯霾煌矬w之間的深度、方位明顯不同,如書本與蘭花、書本與杯子之間的層次感都十分明顯。
圖6 三維環(huán)境信息提取
為了確保三維環(huán)境信息采集的準(zhǔn)確與可靠,需要對采集結(jié)果進(jìn)行誤差分析。
4.1 深度信息測試實驗
使用鼠標(biāo)在場景圖中選取不同物體上的若干點,如圖6(a)中選擇的13個點,然后獲取該點的深度值并與實際測量值作對比,然后計算出相對誤差。如表1所示。
表1 特征點深度測量誤差分析
通過對比表1中的系統(tǒng)測量值與實測值,并分析相對誤差可知,該系統(tǒng)的平均測量誤差為1.489%,最小測量誤差僅為0.605%,測量精度可達(dá)毫米級,且誤差波動較小,系統(tǒng)穩(wěn)定性強,可以滿足移動機器人的測距任務(wù)。
4.2 位置信息測試實驗
使用AutoCAD制作一張如圖7所示的測試紙,其中9個點的坐標(biāo)如表2中x、y的理論值所示,圓點的直徑為5 mm,相鄰點的間距隨機不等,選1點為坐標(biāo)原點,其余各點均是相對于原點的坐標(biāo)值。將測試紙粘貼在一個平整的墻面上,將移動機器人平臺擺放在測試紙的正前方,攝像機距測試紙的距離為610 mm,然后啟動測量系統(tǒng),對測試紙中測試點進(jìn)行立體匹配求出各個點的方位坐標(biāo),此時求得的坐標(biāo)為各點的絕對坐標(biāo),因此需要轉(zhuǎn)換成相對于1點的相對坐標(biāo),轉(zhuǎn)換后的結(jié)果如表2中測量值x與測量值y所示。
通過對比表2中各點的理論坐標(biāo)值與系統(tǒng)測量坐標(biāo)值,并分析沿x、y方向的相對誤差可知:該系統(tǒng)沿x軸的定位平均誤差為3.81%,沿y軸的定位誤差為2.48%。具有較高的定位精度??梢詽M足移動機器人的定位需求。
圖7 定位測試紙
表2 系統(tǒng)定位誤差分析
本文研究的移動機器人測距與定位系統(tǒng),利用雙目視覺系統(tǒng)獲取環(huán)境中物體的三維位置信息,具有測量范圍廣獲取信息量大的特點。為確保測量的深度與方位信息可靠與準(zhǔn)確,進(jìn)行了深度信息測試實驗與位置信息測試實驗,通過分析實驗結(jié)果得出該系統(tǒng)測量精度高,穩(wěn)定性強,滿足移動機器人的測距與定位要求。相比于傳統(tǒng)的超聲波、激光等測量方法,該系統(tǒng)僅利用一對水平放置的攝像機便可以獲取前方環(huán)境中物體的三維位置信息,結(jié)構(gòu)簡單成本低廉具有很好的實用價值。
[1] 沈彤,劉文波,王京.基于雙目立體視覺的目標(biāo)測距系統(tǒng)[J].電子測量技術(shù),2015,38(4):52-54.
[2] 于勇,張暉,林茂松.基于雙目立體視覺三維重建系統(tǒng)的研究與設(shè)計[J].計算機技術(shù)與發(fā)展,2009,19(6):127-130.
[3] 郭浩,馬欽,張勝利,等.基于三維重建的動物體尺獲取原型系統(tǒng)[J].農(nóng)業(yè)機械學(xué)報,2014,45(5):127-131.
[4] 董峰,孫立寧,汝長海.基于雙目視覺的醫(yī)療機器人擺位系統(tǒng)測量方法[J].光電子·激光,2014,25(5):1027-1034.
[5] 王殿君.雙目視覺在移動機器人定位中的應(yīng)用[J].中國機械工程,2013,24(9):1155-1158.
[6] 劉俸材,謝明紅,王偉.雙目視覺的立體標(biāo)定方法[J].計算機工程與設(shè),2011,23(4):1509-1512.
[7] 于仕琪,劉瑞禎.學(xué)習(xí) OpenCV[M].北京:清華大學(xué)出版社,2009.
[8] 楊景豪,劉巍,劉陽,等.雙目立體視覺測量系統(tǒng)的標(biāo)定[J].光學(xué)精密工程, 2016,24(2):301-307.
[9] 楊有,李波.CLAHE和細(xì)節(jié)放大相結(jié)合的檔案圖像增強方法[J].中國圖象圖形學(xué)報,2011,16(4):523-527.
[10] 黎秀玉,宋樹祥,夏海英.基于CLAHE和圖像分解的去霧方法[J].廣西大學(xué)學(xué)報(自然科學(xué)版),2016,41(5):1552-1559.
[11] 高宏偉.計算機雙目立體視覺[M].北京:電子工業(yè)出版社, 2012.
(責(zé)任編輯楊繼森)
RangingandPositioningSystemofMobileRobotBasedonBinocularVision
WANG Zhiyuan, WANG Maosen
(Nanjing University of Science and Technology, Nanjing 210094, China)
The system consists of two cameras arranged on the left and right. By remapping technique, the 3D depth information of the camera’s front environment is obtained based on calculating the parallax value of the target points in the cameras imaging plane. In this paper, Zhang Zhengyou’s calibration method is employed to calibrate the system. In the stage of prepossessing image, the contrast adaptive histogram equalization (CLAHE) algorithm is used to equalize the image, which can improve the clarity of low quality images caused by the following factors such as uneven illumination, fog and soot, and then enhance the system environment adaptability. In order to ensure the reliability of the system, the necessary error analysis is made for the measured value. In depth, the average measurement error of the system is 1.49%; Positioning average measurement error ofxdirection is 3.81%,ydirection is 2.48%. The error analysis results show that the system has high measurement accuracy and stability, which can meet the requirements of mobile robot locating and ranging.
camera calibration; CLAHE; parallax; mobile robot; error analysis
2017-07-03;
2017-07-30
王志遠(yuǎn)(1992—),男,碩士研究生,主要從事機械工程研究。
王茂森(1970—),男,碩士生導(dǎo)師,主要從事火炮、自動武器與彈藥工程研究。
光學(xué)工程與電子技術(shù)
10.11809/scbgxb2017.11.038
本文引用格式:王志遠(yuǎn),王茂森.基于雙目視覺的移動機器人測距與定位系統(tǒng)[J].兵器裝備工程學(xué)報,2017(11):173-177.
formatWANG Zhiyuan, WANG Maosen.Ranging and Positioning System of Mobile Robot Based on Binocular Vision[J].Journal of Ordnance Equipment Engineering,2017(11):173-177.
TP242.6
A
2096-2304(2017)11-0173-05