国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

雙目立體視覺在人形機器人三維重建中的應(yīng)用

2016-05-14 00:24孫新領(lǐng)譚志偉楊觀賜
現(xiàn)代電子技術(shù) 2016年8期
關(guān)鍵詞:立體匹配雙目畸變

孫新領(lǐng) 譚志偉 楊觀賜

摘 要: 提出一種基于雙目視覺的機器人三維(3D)重建方案,將兩個LifeCam VX6000攝像機安裝在NAO人形機器人臉部,分別采集目標的左右圖像。在3D重建過程中,利用棋盤格的角點定位對攝像機進行標定,對圖像進行校正去除畸變,利用Canny檢測算子來提取圖像的邊緣特征,進行立體匹配,利用Delaunay三角剖分算法對二維圖像進行三角剖分,并將圖像紋理映射到三維空間,同時對立體目標圖像進行渲染,獲得最終的3D重建圖像。實驗結(jié)果表明,該方案能夠精確的進行深度測量,實現(xiàn)場景的3D重建,能夠很好的用于人形機器人應(yīng)用場景。

關(guān)鍵詞: 雙目立體視覺; NAO機器人; 三維重建; Delaunay三角剖分

中圖分類號: TN911.73?34; TP391 文獻標識碼: A 文章編號: 1004?373X(2016)08?0080?05

Application of binocular stereo vision in 3D reconstruction of humanoid robot

SUN Xinling1, TAN Zhiwei 1, YANG Guanci2

(1. Department of Computer Science, Henan Institute of Technology, Xinxiang 453003, China;

2. MOE Key Laboratory of Advanced Manufacturing Technology, Guizhou University, Guiyang 550025, China)

Abstract: A three?dimensional (3D) reconstruction scheme based on binocular vision is proposed. Two VX6000 LifeCam cameras are installed in the NAO humanoid robot's face to collect the left and right images of the target. In the process of 3D reconstruction, the camera is calibrated by utilizing the tessellated corner point positioning, the image is corrected to remove its distortion, and then the edge features of the image are extracted by Canny edge detector for stereo matching. Finally, the 2D image is triangulated by Delaunay triangulation, the image texture is mapped to the three?dimensional space, and then 3D target image is rendered to obtain the final 3D image. The experimental results show that the proposed scheme can accurately measure the depth of the scene, and can be used in the 3D reconstruction of the humanoid robot scene.

Keywords: binocular stereo vision; NAO robot; three?dimensional reconstruction; Delaunay triangulation

0 引 言

三維(Three?Dimensional,3D)重建在機器視覺領(lǐng)域具有很好的應(yīng)用前景,能夠使機器人完成許多高危險性任務(wù),如礦井救援等[1]。相比于傳統(tǒng)的聲納和紅外感知系統(tǒng)的感知質(zhì)量較差且易受環(huán)境影響,與人類類似的視覺系統(tǒng)具有較強距離評估和模式識別能力,因此,立體視覺3D重建技術(shù)成為未來研究熱點[2]。然而,目前大多研究者只提出一些理論,很少對立體視覺3D重建技術(shù)的實際應(yīng)用進行研究。

文獻[3]提出了一種面向移動機器人的低成本3D感知系統(tǒng),利用一個普通2D激光測距儀,一個步進電機和一個攝像機完成3D重建過程,然而,在測試過程中作者假設(shè)了很多限制條件。2010年,微軟推出一種智能識別設(shè)備:Kinect,其集成了RGB攝像機、麥克風和深度傳感器,具有3D運動捕捉、人臉識別等功能。文獻[4]利用微軟的Kinect設(shè)備提供的深度數(shù)據(jù),提出了一種室內(nèi)3D重建方法,然而其重建精度不高。文獻[5]中提出了一種面向移動機器人的3D感知系統(tǒng),利用雙目立體視覺系統(tǒng)構(gòu)建3D模型,但其在立體匹配過程中采用的是簡單的特征點匹配,匹配精度較低。本文將基于雙目立體視覺進行3D重建置于機器人上,選取應(yīng)用廣泛的Aldebaran Robotics公司的NAO人形機器人作為載體。在機器人臉部安裝兩個微軟LifeCam VX6000攝像機用來采集目標的左右圖像。在3D重建過程中,利用棋盤格的角點定位對攝像機進行標定;利用Canny算子來提取特征進行立體匹配;利用Delaunay三角剖分算法對圖像進行三角剖分,并映射到三維空間,同時對立體目標圖像進行渲染,獲得3D重建圖像。實驗結(jié)果表明,本文方案能精確的進行場景的3D重建,深度測量誤差能夠達到1%,在移動人形機器人領(lǐng)域具有很好的應(yīng)用前景。

1 機器人雙目視覺模型

1.1 NAO機器人雙目攝像機裝置

雙目攝像機是模擬人眼,將兩個攝像機的孔徑平面設(shè)定為特定的距離(約為6.5 cm)。由于NAO機器人內(nèi)置的兩個攝像機的視覺場景沒有發(fā)生重疊,因此不能用于構(gòu)建雙目立體視覺[6]。所以,本文在機器人頭部前方安裝兩個微軟LifeCam VX6000攝像機,如圖1所示。

1.2 雙目立體視覺原理

雙目立體視覺主要是利用目標點在左右兩幅視圖上成像的橫向坐標差異來構(gòu)建立體圖像。本文使用2臺相同屬性的VX6000攝像機,成像平面垂直于系統(tǒng)光軸,理論上2臺攝像機在X軸方向重合,在T軸方向平行,2臺攝像機光心沿X軸方向的距離為T。雙目立體視覺原理如圖2所示。

目標點B在左右2幅圖像上成像時,橫向坐標存在直接差異(即視差),與目標到成像平面的距離Z存在反比例關(guān)系[7]:

[Z=fTd] (1)

為了得到目標點的3D空間距離Z,則需要獲知攝像機焦距[f],視差d,光軸距離T;若要獲得x和y的坐標,還需獲知攝像機成像平面坐標系與立體坐標系原點的偏移量[Cu]和[Cv],其中一些參數(shù)可通過攝像機的標定獲得[8]。

2 本文雙目立體視覺3D重建方法

本文提出一種用于人形機器人的基于雙目立體視覺的3D重建方法,其流程圖如圖3所示。第一步,為攝像機標定,提取立體攝像機的內(nèi)部和外部參數(shù);第二步,執(zhí)行圖像處理程序,首先從攝像機獲取立體圖像對,然后執(zhí)行圖像校正過程;第三步,利用Canny檢測算子提取圖像的邊緣特征,進行立體匹配;第四步,進行深度估計,獲得三維坐標,利用Delaunary算法將三維坐標關(guān)聯(lián)到二維平面,并對表面進行三角形剖分;最后,更新3D模型,將圖像紋理映射到三維空間。

2.1 攝像機標定

攝像機標定過程實際上是獲得攝像機的內(nèi)部參數(shù)和外部參數(shù)過程。本文利用投影變換矩陣(PTM)[9]對攝像機進行標定。PTM為一個正交矩陣,將3D坐標系中的場景點[[X,Y,Z]T]與2D坐標系中的圖像點[[x,y]T]進行關(guān)聯(lián),如下所示[10]:

[s?us?v s=PTM?XYZ 1] (2)

式(2)中:[PTM=m11…m14???m31…m34;][s]為比例因子。

攝像機模型的坐標系統(tǒng)如圖4所示。其中,場景[(X,Y,Z)]的全局坐標系和攝像機[(Xc,Yc,Zc)]的局部坐標系的單位都為mm,圖像[(u,v)]的坐標系單位為像素,O為攝像機的光軸中心,f為焦距。

圖4 攝像機坐標系模型

[PTM(mij)]中的元素是攝像機內(nèi)部和外部參數(shù)的線性組合。內(nèi)部參數(shù)包含攝像機和透鏡的屬性(像素大小、焦距[f]、圖像光軸中心的坐標[(u,v)]、[Cu]和[Cv]),外部參數(shù)為旋轉(zhuǎn)角度和平移距離[11]。理想的針孔模型不需要任何透鏡就能夠投影成像,但在實際操作中,需要一個透鏡才能正常工作,然而,這個透鏡通常會引起3D點投影到圖像平面的過程發(fā)生畸變。透鏡畸變可以分為徑向畸變和切向畸變[12],這兩種畸變的建模如下所示:

[xcorrycorr=(1+k1?r2+k2?r4+k3?r6)?xy+ 2?p1?x?y+p2(r2+2?x2)p1(r2+2?y2)+2?p2?x?y] (3)

式中:[(x,y)]為圖像中畸變點的初始位置;[(xcorr,ycorr)]為校正后畸變點的新位置;[k1],[k2]和[k3]為徑向畸變系數(shù);[p1]和[p2]為切向畸變系數(shù)。

通過攝像機標定可獲取畸變參數(shù)和PTM中的元素。由PTM的外部參數(shù)可在立體視覺標定過程中將攝像機的位置進行關(guān)聯(lián)。本文利用棋盤格模板,通過編寫的自標定程序,采集棋盤格左右立體圖像,提取棋盤角點來對攝像機進行標定,求出PTM中的元素。在標定開始階段,加載每一張圖像,并檢測棋盤角點(8×6=48),然后在每個角點處利用亞像素定位算法[13]提高角點的定位精度。該算法是使用角點附近灰度梯度特征進行迭代求解的方法,角點定位見圖5。標定過程能夠去除圖像中畸變,圖像中每個角點的外極線可在其他圖像中計算出來,但也存在一定的標定誤差(平均誤差為0.63個像素)。

圖5 攝像機標定過程中棋盤格的角點定位

2.2 圖像校正

在3D重建中,需要兩個攝像機的焦距、主焦點具有相同坐標([Cleftx=Crightx])且圖像行對齊。另外,需要攝像機拍攝的圖像不失真;兩個攝像機對齊,且圖像平面都平行于光軸;兩個圖像平面恰好共面等條件。

通過攝像機標定,可固定攝像機的主焦點坐標為相同的值。但是,兩個攝像機的主光軸并不平行,傳感器平面并不共面,所以需要利用圖像校正來解決該問題。圖像校正處理過程中,考慮攝像機間的相對位置,將圖像點的坐標轉(zhuǎn)換為一個滿足上述條件的框架中的坐標。

本文利用每個攝像機在標定過程中獲取的畸變系數(shù)(即徑向和切向)計算出無畸變的圖像。在圖像校正中,使用了攝像機參考系統(tǒng)(攝像機標定過程中計算出的旋轉(zhuǎn)角度和平移大?。┲g的空間關(guān)系。通過確保兩個攝像機的圖像平面相同,從而使所有的外極線平行,這樣,每個圖像的校正變換就可以簡化立體匹配問題。

圖像校正中,圖像會擴展到角落,使兩個圖像外圍產(chǎn)生寬度達20個像素的無用灰色區(qū)域。為了去除這些灰色區(qū)域,本文設(shè)定ROI的起點坐標為(20,20),寬度和高度分別為600和400(如圖6(a)所示)。

重建過程中,兩幅圖片的非重疊區(qū)域也是無用的,且會增加提取特征和匹配過程中的計算量。通過計算重疊區(qū)域大小,本文裁減掉兩個圖像兩側(cè)寬度為75個像素的非重疊區(qū)域(如圖6(b)所示)。

2.3 特征提取及立體匹配

在立體匹配之前,首先要進行特征提取,本文采用Canny算子[14]來提取圖像的邊緣特征。邊緣特征是圖像周圍像素灰度有階躍變化的像素集合,是圖像的基本特征。為精確定位邊緣,利用非極大值抑制,只保留幅值局部變化的最大值,Canny算法在3×3領(lǐng)域內(nèi)對梯度幅值陣列中的所有像素沿梯度方向進行梯度幅值插值,利用雙閾值法分割得到兩個閾值邊緣圖像,并把邊緣連接成輪廓。立體匹配的實質(zhì)是尋找同一場景的2幅圖像序列中的共軛對點,將一幅圖中的像素點映射到另一幅圖像中相應(yīng)位置,并求出對應(yīng)點的視差值,生成深度圖。

針對傳統(tǒng)基于特征的立體匹配只能獲得稀疏匹配點和基于區(qū)域的立體匹配的深度不連續(xù)問題,本文利用一種基于邊緣約束的立體匹配算法[15]。首先對圖像邊緣采用特征匹配,使邊緣特征點得到準確匹配;然后在邊緣特征點匹配結(jié)果的約束下,對非邊緣特征點采用區(qū)域匹配;匹配流程圖如圖7所示。

2.4 3D重建和紋理映射

根據(jù)立體攝像機標定、特征提取和立體匹配所獲取的信息,通過式(4)~式(6)即可計算獲得特征點的3D坐標。然后,利用Delaunay三角剖分算法[16]將3D坐標與2D空間中的坐標相關(guān)聯(lián),Delaunay三角剖分算法在2D空間中創(chuàng)建一個三角形的點集合,并確保單個三角形的外接球(在本文中為圓形)中沒有節(jié)點(空球面屬性),以此將每個點連接到其自然領(lǐng)域。

深度估計計算表達式如下:

[Z=f?Txl-xr] (4)

式中:[Z]表示攝像機框架中的深度;[f]表示焦距;[T]表示校正處理后兩個攝像機主軸間的距離;[xl]和[xr]表示圖像幀中同一個3D點在[x]軸的投影坐標。在獲取[Z]之后,可利用下式計算[x]和[y]的坐標值,從而獲得物體的3D點坐標[(X,Y,Z)]。

[X=Z?x-Cxf] (5)

[Y=Z?y-Cyf] (6)

根據(jù)圖像中的三角剖分,實現(xiàn)對3D模型的更新并結(jié)合圖像紋理一起映射到3D空間,實現(xiàn)3D重建。利用OpenGL(開放圖形庫)來渲染立體目標,并根據(jù)視角位置對目標視圖進行更新。

3 實驗結(jié)果及分析

3.1 深度測量實驗

本文利用圖像處理庫OpenCV(開放資源機器視覺)和OpenGL編寫軟件,采用一個具有藍色滑動帶的鋁桿作為實驗對象,進行深度測量實驗。實驗環(huán)境為一個大小240 cm×240 cm的矩形區(qū)域,為了減少圖像處理階段的計算量,將矩形區(qū)域的四周涂成白色,高度為35 cm的墻,如圖8所示。

實驗中共測量40次,每次移動鋁桿10 cm直到雙目所看到兩點間的讀數(shù)為230 cm為止,測量獲得深度數(shù)據(jù)如圖9所示。

圖10(a)中給出了深度與視差的關(guān)系圖,可以看出,深度與視差成反比例函數(shù)。圖10(b)給出了深度測量誤差,可以看出,在一個較小范圍內(nèi)(小于50 cm),本文方法的測量誤差保持在1 cm以內(nèi),當深度增加時,誤差值最大達到3 cm。圖10(c)給出了測量視差誤差,可以看出,需要利用較大的視差(大于150個像素)來確保誤差在1 cm以下。對于NAO機器人導航來說,誤差值在1~3 cm之間是可行的,若誤差值超過3 cm,那么與障礙物發(fā)生碰撞的幾率就會增大。深度測量的平均百分比誤差(APE)和平均誤差(AE)采用下式計算:

[APE=1NDi計算-Di測量Di測量×100%=1.06%] (7)

[AE=1NDi計算-Di測量=-0.907] (8)

3.2 3D重建實驗

在場景3D重建實驗中,本文以一個盒子作為目標,利用本文方法對其幾何外形進行測量并將測量結(jié)果與實際尺寸進行比較,從而獲得模型的重建精度,如圖11所示。

實驗結(jié)果表明,盒子的高度(20 cm)和長度(45 cm)的計算結(jié)果誤差小于0.3 cm,且位于盒子相同垂直邊緣的點P1和P2的Z坐標差值小于0.9 cm。另外,計算得出P1,P2與P1,P5連線之間的角度為90°,如圖12所示。

另外,構(gòu)建了不同場景(不同形狀的盒子和散落分布的圓形元素),并對場景的3D模型進行提取和渲染,如圖13和圖14所示。結(jié)果表明,重建精度與先前測試獲取的精度相似。

4 結(jié) 語

本文提出一種基于雙目視覺的機器人3D重建方案,能夠用于機器人避開障礙物或感知目標物體。將兩個LifeCam VX6000攝像機模擬人眼間距安裝在NAO機器人臉部,利用棋盤格的角點定位對攝像機進行標定。在重建過程中,利用2個攝像機采集圖像,并對圖像進行校正去除畸變。利用Canny檢測算子來提取圖像的邊緣特征,進行立體匹配。利用Delaunay三角剖分算法對二維圖像進行三角剖分,并映射到三維空間,同時對立體目標圖像進行渲染獲得最終的3D重建圖像。實驗表明,該方案能夠精確地進行深度測量,實現(xiàn)場景的3D重建。然而,當機器人距離目標的距離較遠時,本文模型精度就會下降。所以在今后,將進一步提升本文方案的性能,使NAO機器人能夠遠距離感知目標。

參考文獻

[1] 李丹程,劉景明,姜琳穎,等.基于柵格模型的雙目移動機器人三維場景重建[J].小型微型計算機系統(tǒng),2012,33(4):873?877.

[2] CAULI N, GASPAR J A, BERNARDINO A, et al. An expected perception architecture using visual 3D reconstruction for a humanoid robot [J]. Intelligent robots & systems, 2011, 10(1): 4826?4831.

[3] DAN?CHENG L I, LIU J M, JIANG L Y, et al. Binocular mobile robot 3D scene reconstruction based on evidence grid model [J]. Journal of chinese computer systems, 2012, 33(4):873?877.

[4] 夏文玲,顧照鵬,楊唐勝.實時三維重建算法的實現(xiàn):基于Kinect與單目視覺SLAM的三維重建[J].計算機工程與應(yīng)用, 2014,50(24):199?203.

[5] TAMAS L, GORON L C. 3D semantic interpretation for robot perception inside office environments [J]. Engineering applications of artificial intelligence, 2014, 32(6): 76?87.

[6] 袁麗,田國會,李國棟.NAO機器人的視覺伺服物品抓取操作[J].山東大學學報(工學版),2014,44(3):57?63.

[7] 殷小舟,淮永建,黃冬輝.基于雙目立體視覺的花卉三維重建[J].揚州大學學報(農(nóng)業(yè)與生命科學版),2012,33(3):91?94.

[8] HOU R, JEONG K S, HOU R, et al. 3D Reconstruction and self?calibration based on binocular stereo vision [J]. The Journal of Korean Institute of Information and Communication Engineering, 2012, 13(9): 3856?3863.

[9] ZHANG B L, YANG J C, LEE H R. Image space coordinates extraction algorithm based on the perspective projection transformation matrix [J]. Applied mechanics & materials, 2014, 644: 4368?4371.

[10] 王乘,武建剛,管濤,等.基于投影重建的增強現(xiàn)實虛實注冊方法研究[J].工程圖學學報,2008,29(1):67?71.

[11] XU P H, DING X, WANG R, et al. Feature?based 3D reconstruction of fabric by binocular stereo?vision [J]. Journal of the textile institute, 2015, 107(1): 1?11.

[12] WANG C, SHEN Y, ZHANG W, et al. Constrained high accuracy stereo reconstruction method for surgical instruments positioning [J]. Ksii transactions on internet & information systems, 2012, 6(10): 2679?2691.

[13] 何海清,黃聲享.改進的Harris亞像素角點快速定位[J].中國圖象圖形學報,2012,17(7):853?857.

[14] SONG T, TANG B, ZHAO M, et al. An accurate 3?D fire location method based on sub?pixel edge detection and non?parametric stereo matching [J]. Measurement, 2014, 50(4): 160?171.

[15] 何袱,達飛鵬.置信度傳播和區(qū)域邊緣構(gòu)建的立體匹配算法[J].中國圖象圖形學報,2011,16(11):2060?2066.

[16] 羅小華,付文超,管培祥,等.簡單多邊形的動態(tài)Delaunay三角剖分算法[J].暨南大學學報(自然科學與醫(yī)學版),2011, 32(1):26?30.

猜你喜歡
立體匹配雙目畸變
基于雙目測距的卡爾曼濾波船舶軌跡跟蹤
在Lightroom中校正鏡頭與透視畸變
影像立體匹配中的凸優(yōu)化理論研究
基于互補不變特征的傾斜影像高精度立體匹配
改進導向濾波器立體匹配算法
基于雙目視覺圖像的長度測量方法
一種基于圖像分割的立體匹配算法
輻射誘導染色體畸變的快速FISH方法的建立
基于雙目視覺的接觸線幾何參數(shù)測量方法
《癌變·畸變·突變》2014年第26卷索引
若尔盖县| 晋州市| 龙川县| 漠河县| 萍乡市| 灯塔市| 山东| 双牌县| 黑山县| 石泉县| 苏尼特右旗| 泽州县| 南阳市| 马龙县| 时尚| 肇东市| 雅江县| 克什克腾旗| 隆子县| 贵南县| 巴林左旗| 广西| 敦煌市| 永胜县| 略阳县| 香格里拉县| 聂拉木县| 寿光市| 祁阳县| 青岛市| 根河市| 罗江县| 射阳县| 贵州省| 卢湾区| 宜良县| 镶黄旗| 铅山县| 湖南省| 南江县| 小金县|