郭攀 杜鴻
摘要:機(jī)器人的研究是當(dāng)今人工智能領(lǐng)域的熱點之一,而雙目視覺又是機(jī)器人研究領(lǐng)域的熱點之.。文章對機(jī)器人雙目視覺測距避障的實現(xiàn)過程和原理進(jìn)行介紹。其中特征的提取與匹配是實現(xiàn)雙目測距的核心和難點,匹配算法的選擇和實現(xiàn)將決定匹配后測距的精確與否。文章提出一種基于特征點的立體匹配算法的融合實現(xiàn)方案,最終證明了該算法的有效性和可行性。
關(guān)鍵詞:雙目視覺;特征提?。浑p目標(biāo)定;立體匹配
隨著人工智能的熱潮再次襲來,人們對于許多行業(yè)再次進(jìn)行了深入的探索。比如汽車的自動駕駛技術(shù)、機(jī)器人的擬人化研究、智能語音交互等。而機(jī)器人的研究是其中的熱點之一,怎樣實現(xiàn)機(jī)器人的擬人化行為如行走避障、負(fù)重搬運等成為研究的熱點。
本文針對機(jī)器人雙目視覺的測距算法進(jìn)行了相應(yīng)的研究,提出了一種融合性的立體匹配測距算法。
1 雙目攝像頭的測距原理
用人的雙眼兩眼球間距稱為眼基線去觀察客觀的三維世界的景物,由于幾何光學(xué)投影,離觀察者不同距離的點在左右兩眼視網(wǎng)膜上的構(gòu)像能產(chǎn)生生理視差,稱為雙目視差。它反映了客觀景物的深度。人能有深度感知,就是因為有了這個視差,再經(jīng)過大腦的加工形成的。基于視差理論的雙目立體視覺,就是運用在基線兩端的兩個攝像機(jī)對同一景物成像,獲得景物的立體圖像對,通過各種算法匹配出同名像點,從而計算出視差,然后采用基于三角測量的方法恢復(fù)深度信息[1]。
雙目攝像頭的測距原理如圖1所示。
其中:Ol和Or分別為左右攝像頭的光心,f為攝像頭的焦距,T為光心間的距離,P為空間中的一點,Xl和Xr分別為P點在左右成像平面上的點;d=Xl-Xr則為視差,最終Z即為所求的距離,從而實現(xiàn)點的三維信息恢復(fù)。
通過三角形相似原理可得距離公式(1)如下:
Z=
Tf
(1)
T-d
其中:T的距離是自己兩個攝像頭之間的距離,可以通過物理測量得到;f是攝像頭的焦距,其值可以通過后續(xù)的攝像頭的標(biāo)定得到;故最重要的是要測出視差d,下面將給出具體的實現(xiàn)方法。
2 攝像頭的標(biāo)定
在攝像瞬間,物點、攝像機(jī)透鏡中心和像點應(yīng)處在一條直線上,但因攝像機(jī)物鏡畸變的影響,物點在像片中的像點位置發(fā)生了位移,偏離了三點共線條件。所以,利用像片對目標(biāo)進(jìn)行識別前應(yīng)進(jìn)行預(yù)處理以消除物鏡畸變的影響。這里利用棋盤進(jìn)行矯正,這是因為棋盤的角點(即特征點)明顯,矯正簡單易行。矯正過程和得出數(shù)據(jù)如圖2所示(上下攝像頭一樣)。
這樣的圖片共14張(不同角度),通過OpenCV和MATLAB處理后得到數(shù)據(jù),處理時注意棋盤的內(nèi)點數(shù),本圖片為6×6共36個內(nèi)角點。左右攝像頭相同,最終一起測量,得到的結(jié)果如圖3所示。
其中內(nèi)部參數(shù):Focal Length為焦距、Principal point為主點、Skew為扭曲因子、Distortion為畸變系數(shù)。
外部參數(shù):Rotation vector為平移向量、Translationvector為轉(zhuǎn)移向量[2]。
到這一步就測出了公式(1)中的焦距f了,而T可以物理測量,相當(dāng)于已知,接下來得出視差d就可以測出距離。
3 特征提取與匹配
特征提取一般分為輪廓和點兩個方面,這里要進(jìn)行點的匹配與距離測算,故選用特征點的提取方式。特征提取的主流算法一般有3種:SIFT,SURF,ORB等特征點提取算法。由于SURF是SIFT的改進(jìn)版,故這里只研究SURF和ORB算法[3]。
3.1 SURF算法
SURF算法在積分圖像上使用了盒子濾波器對二階微分模板進(jìn)行了簡化,從而構(gòu)建了Hessian矩陣元素值,進(jìn)而縮短了特征提取的時間,提高了效率。其中SURF算法在每個尺度上對每個像素點進(jìn)行檢測,其近似構(gòu)建的Hessian矩陣及其行列式的值分別為:
\(H_{approx)=\begin{bmatrix}D_{xx)(\sigma) &D;_{xy)(\sigma)\\D_{xy) (\sigma)&D;_{yy) (\sigma)\end{bmatrix)\)
\(c(X,y,\sigma)=D一{xx)D一{yy)-(0.9D一{xy))^2\)
其中\fD一{xx),D一{xy)\)和\(D一{yy)\)為利用盒子濾波器獲得的近似卷積值。如果\(c(X,y,\sigma)\)大于設(shè)置的門限值,則判定該像素點為關(guān)鍵字。然后與SIFT算法近似,在以關(guān)鍵點為中心的\(3\times3\times3\)像素鄰域內(nèi)進(jìn)行非極大值抑制,最后通過對斑點特征進(jìn)行差值運算,完成了SURF特征點的精確定位。
而SURF特征點的描述,則也是充分利用了積分圖,用兩個方向上的Harr小波模板來計算梯度,然后用一個扇形對鄰域內(nèi)點的梯度方向進(jìn)行統(tǒng)計,求得特征點的主方向。
3.2 0RB算法
ORB特征是將FAST特征點的檢測方法與BRIEF特征描述子結(jié)合起來,并在它們原來的基礎(chǔ)上做了改進(jìn)與優(yōu)化。首先,它利用FAST特征點檢測的方法來檢測特征點,然后利用Harris角點的度量方法,從FAST特征點中挑選出Hams角點響應(yīng)值最大的NN個特征點。其原理如下:
(1)構(gòu)造金字塔,在每層金字塔上采用Fast算法提取特征點,采用Harris角點響應(yīng)函數(shù),按角點響應(yīng)值排序,選取前N個特征點。
(2) oFast:計算每個特征點的主方向,灰度質(zhì)心法,計算特征點半徑為r的圓形鄰域范圍內(nèi)的灰度質(zhì)心位置。從中心位置到質(zhì)心位置的向量,定義為該特征點的主方向。
定義矩的計算公式,x,y∈[-r,r]:
rBrief:為了解決旋轉(zhuǎn)不變性,把特征點的Patch旋轉(zhuǎn)到主方向上(steered Brief)。通過實驗得到,描述子在各個維度上的均值比較離散(偏離0.5),同時維度間相關(guān)性很強(qiáng),說明特征點描述子區(qū)分性不好,影響匹配的效果。論文中提出采取學(xué)習(xí)的方法,采用300 k個訓(xùn)練樣本點。每一個特征點,選取Patch大小為wp=31,Patch內(nèi)每對點都采用wt=5大小的子窗口灰度均值做比較,子窗口的個數(shù)即為N=(wp-wt)×(wp -wt),從Ⅳ個窗口中隨機(jī)選兩個做比較即構(gòu)成描述子的一個bit,論文中采用M-205 590種可能的情況:
(1)對所有樣本點,做M種測試,構(gòu)成M維的描述子,每個維度上非1即0。
(2)按均值對M個維度排序(以0.5為中心),組成向量T。
(3)貪婪搜索:把向量T中第一個元素移動到R中,然后繼續(xù)取T的第二個元素,與R中的所有元素做相關(guān)性比較,如果相關(guān)性大于指定的閾值Threshold,拋棄T的這個元素,否則加入到R中。
(4)重復(fù)第3個步驟,直到R中有256個元素,若檢測完畢,少于256個元素,則降低閾值,重復(fù)上述步驟。
綜上所述:(1)尺度、旋轉(zhuǎn)不變性(ORB算法在尺度方面效果較差)。(2) ORB較快,SURF運行速度大約為SIFT的3倍,ORB是sift的100倍,是surf的10倍。(3) SURF的魯棒性較好;由于測量的實時性較強(qiáng),故對于計算速度要求較高。因此,比較后最終選擇基于ORB的特征點提取與匹配算法。
4 實驗結(jié)果
實驗環(huán)境:在實驗室條件下實驗桌上進(jìn)行。
實驗設(shè)備:攝像頭兩個、計算機(jī)一臺、儀表。
實驗平臺:visual studi02013,OpenCV, MATLAB。
如圖3所示,在基于ORB算法前提下,進(jìn)行提取匹配后如上圖,特征點匹配雜亂不準(zhǔn)確;在用Ransac算法和ORB算法融合優(yōu)化后為下圖,此時匹配準(zhǔn)確,且誤差小。最終能相應(yīng)的測出視差d,最后根據(jù)匹配的特征點測出相應(yīng)的數(shù)據(jù)如表l所示。
通過表1可知,特征點的匹配測距實現(xiàn)誤差允許范圍內(nèi)的準(zhǔn)確測量,只有少數(shù)點會出現(xiàn)較大誤差,證實了ORB和Ransac融合算法的可行性。
5 結(jié)語
本文對于雙目視覺測距的流程進(jìn)行了較為詳細(xì)的描述,通過對幾種不同算法的性能和特點的對比和融合,實現(xiàn)了對于特征點的較為準(zhǔn)確的匹配,從而計算出視差,最終計算出實際距離。后續(xù)研究將對匹配算法進(jìn)行進(jìn)一步融合測試以提高測試的準(zhǔn)確率,減小測量誤差。
[參考文獻(xiàn)]
[l]于仕琪,劉瑞禎.學(xué)習(xí)Open CV(中文版)[M]北京:清華出版社,2009.
[2]馬頌德,張正友計算機(jī)視覺:計算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[3]PAPADAKIS N, CASELLES V.Multi-label depth estimation for graph cuts stereo problems[J].Journal of Mathematical Imaging&Vision;, 2010 (1): 70-82.