高一寧,韓燮
(中北大學(xué) 電子與計算機科學(xué)技術(shù)學(xué)院 山西 太原 030051)
基于雙目立體視覺的三維重建是根據(jù)人在大腦中將左右眼圖像融合成立體圖像的原理,使用標(biāo)定后的雙攝像頭進(jìn)行同步拍攝獲得同一物體在相同條件下不同位置的兩幅圖像,然后根據(jù)所獲取的二維圖像的視差和像素點信息進(jìn)行計算,獲取像素點的第三維深度信息。從而利用像素點的三維坐標(biāo)信息對所拍攝物體進(jìn)行建模。
相比其他類的體視方法,如透鏡板三維成像、投影式三維顯示、全息照相術(shù)等,雙目本是直接模擬人類雙眼處理景物的方式,可靠簡便,在許多領(lǐng)域均極具應(yīng)用價值,如微操作系統(tǒng)的位姿檢測與控制、機器人導(dǎo)航與航測、三維測量學(xué)及虛擬現(xiàn)實等。
本文采用的三維重建方法即是利用雙目相機成像并計算獲得圖像的三維點云信息,并將所拍攝物體進(jìn)行三維重建。
雙目立體視覺的三維測量是基于視差原理(如圖1所示),它是由兩個完全相同的攝像機構(gòu)成,兩個圖像平面位于同一個平面上,兩個攝像頭的坐標(biāo)軸互相平行且x軸重合,模仿人眼獲取物體位置信息的原理,通過兩個攝像機同時獲取物體的左右視圖,類似與人的左右眼獲取物體圖像一樣,經(jīng)過計算獲取物體的深度信息,由此得到物體的三維坐標(biāo)確定物體的精確位置。
其中,基線距離是兩個相機的投影中心之間的距離;相機的焦距為f。
設(shè)兩相機在同一時刻拍攝到物體的同一特征點P(xc,yc,zc),并分別獲取了點P的圖像,設(shè)圖像坐標(biāo)分別為 Pleft=(Xleft,Yleft),Pright=(Xright, Yright)。
現(xiàn)兩攝像機的圖像在同一個平面上,則特征點P的圖像坐標(biāo)Y坐標(biāo)相同,即則由三角幾何關(guān)系得到:
則視差為:disparity= Xleft-Xright。由此可計算出特征點P在相機坐標(biāo)系下的三維坐標(biāo)為:
圖1 視差原理圖
因此,左相機像面上的任意一點只要能在右相機像面上找到對應(yīng)的匹配點,就可以確定出該點的三維坐標(biāo)。這種方法是完全的點對點運算,像面上所有點只要存在相應(yīng)的匹配點,就可以參與上述運算,從而獲取其對應(yīng)的三維坐標(biāo)。
本次試驗使用的設(shè)備為雙目相機,相機左右攝像頭在同一平面上,且相機參數(shù)相同位置固定,經(jīng)拍攝獲得同一物體的左右視圖,經(jīng)計算獲取三維坐標(biāo)信息。
首先利用相機獲得原始的ppm格式的圖像,應(yīng)用低通濾波、圖像校正和邊緣檢測的預(yù)處理模塊,得到平滑低噪的圖像;然后將處理過的圖像進(jìn)行立體匹配、計算三維坐標(biāo)信息。最后的處理結(jié)果即是一幅深度圖像。
基于雙目相機的雙目立體視覺系統(tǒng)必須安裝在一個穩(wěn)定的平臺上,由于使用的是雙目相機,因此相機內(nèi)參完全一致且相機間距不會發(fā)生變化。同時應(yīng)該使被測物體盡可能的靠近相機。如果基線長度和物體距相機距離之間的比值過大,圖像對之間的交迭區(qū)域?qū)⒎浅P。@樣將不能夠獲取足夠的物體表面信息。圖2所示為所采用設(shè)備的平面圖。表1所表示的為設(shè)備的內(nèi)部參數(shù)。
本文采用張友正標(biāo)定法得到標(biāo)定信息。
圖2 雙目相機
表1 相機內(nèi)部參數(shù)
HFOV指相機的鏡頭在水平方向上能夠達(dá)到的可拍攝的最大角度。
圖3 左相機獲取的圖像
圖4 右相機獲取的圖像
邊緣是圖像的最基本的特征之一,包含了豐富的信息。二維圖像的特征抽取是三維計算機視覺的第一步,抽取二維圖像上的邊緣、角點、紋理等基本特征是整個系統(tǒng)框架中的第一步。
圖像邊緣檢測必須滿足兩個條件:一能有效地抑制噪聲;二必須盡量精確確定邊緣的位置。由于Canny算子提取的邊緣最為完整,而且邊緣的連續(xù)性很好,定位比較精確,因此本文采用的是Canny算子進(jìn)行邊緣檢測。
Canny邊緣檢測方法如下:
第一步:圖像使用帶有指定標(biāo)準(zhǔn)偏差σ的高斯濾波器來平滑,從而可以減少噪聲;
第三步:第二步中確定的邊緣點會導(dǎo)致梯度幅度圖像中出現(xiàn)脊。算法追蹤所有脊的頂部,并將所有不在脊的頂部的像素設(shè)為零,以便在輸出中給出一條細(xì)線,這就是非最大值抑制處理。脊像素使用兩個閾值T1和T2做閾值處理,其中T1<T2。值大于T2的脊像素稱為強邊緣像素,T1和 T2之間的脊像素稱為弱邊緣像素;
第四步:連接邊緣。
Canny 邊緣檢測的語法為:[g,t]=edge(f,’canny’,T,sigma)
立體匹配由3個基本的步驟組成:
第一步:從圖像對中的一幅圖像如左圖上選擇與實際物理結(jié)構(gòu)相應(yīng)的圖像特征;
第二步:在另一幅圖像如右圖中確定出同一物理結(jié)構(gòu)的對應(yīng)圖像特征;
第三步:確定這兩個特征之間的相對位置,得到視差。通過立體匹配得到視差圖像之后,最終獲得深度圖像,并恢復(fù)場景的三維信息。
特征點的選取本文采用Harris算子提取物體的角點信息并結(jié)合邊緣檢測獲取的邊緣點作為特征點。
Harris檢測的算法思想是:在圖像中設(shè)計一個局部檢測窗口,當(dāng)該窗口沿各個方向作微小移動時,考察窗口的平均能量變化,當(dāng)該能量變化值超過設(shè)定的閾值時,就將窗口的中心像素點提取為角點。其數(shù)學(xué)表達(dá)式為:
將圖像窗口平移[u,v]產(chǎn)生灰度變化E(u,v)。其中w(x,y)為窗口函數(shù),I(x,y)為圖像灰度,I(x+u,y+v)為平移后的圖像灰度。
Harris算法步驟為:
第一步:計算圖像的方向?qū)?shù)即圖像像素在水平和垂直方向上的梯度,以及兩者的乘積,得到M中4個元素的值:第二步:對圖像進(jìn)行高斯濾波,得到新的M。離散二維零均值高斯函數(shù)為
第三步:計算原圖像上對應(yīng)的每個像素點的興趣值,即R值。
第四步:選取局部極值點。Harris方法認(rèn)為,特征點是局部范圍內(nèi)的極大興趣值對應(yīng)的像素點。
第五步:設(shè)定閾值,選取一定量的角點。
匹配結(jié)果如圖5所示。
圖5 邊緣提取和角點匹配結(jié)果
本文采用的設(shè)備為平行光軸模型,攝像機的焦距f和兩個相機光心間的距離B已知。以左相機的坐標(biāo)系為世界坐標(biāo)系,空間點P的世界坐標(biāo)為(X,Y,Z),在左右相機坐標(biāo)系下坐標(biāo)分別為(xl,yl,zl)和(xr,yr,zr),在左右圖上像平面坐標(biāo)為(a1,b1),(a2,b2),視差D=a1-a2。
世界坐標(biāo)系與攝像機坐標(biāo)系的關(guān)系:
由此,根據(jù)雙目視覺原理可知,計算三維空間點的坐標(biāo)方法為:
將所有的匹配點的三維坐標(biāo)計算出來后,為得到真實感的三維模型,即對空間點進(jìn)行三角剖分重建出物體模型。本文采用的為Delaunay三角剖分算法的Bowyer-Watson算法實現(xiàn)重建。
該算法的基本步驟是:
第一步:構(gòu)造一個超級三角形,包含所有散點,放入三角形鏈表。
第二步:將點集中的散點依次插入,在三角形鏈表中找出其外接圓包含插入點的三角形(稱為該店的影響三角形),刪除影響三角形的公共邊,將插入點同影響三角形的全部頂點連接起來,從而完成一個點在Delaunay三角形鏈表中的插入。
第三步:根據(jù)優(yōu)化準(zhǔn)則對局部新形成的三角形進(jìn)行優(yōu)化,將形成的三角形放入Delaunay三角形鏈表。
第四步:循環(huán)執(zhí)行上述第二步,知道所有的散點插入完畢。
立體匹配的對應(yīng)點對如表2所示。其中,B=12cm,f=6mm。根據(jù)式(4)進(jìn)行計算,獲取坐標(biāo)信息進(jìn)行重建。
表2 左右圖像中匹配的特征點的坐標(biāo)
使用Delaunay三角剖分算法進(jìn)行三維重建。建模結(jié)果如圖6所示。
本文介紹了一種基于雙目立體視覺的三維重建的方法,通過雙目相機獲取視差圖像,進(jìn)行圖像處理和特征點的選取,完成特征點的立體匹配,計算得到模型特征點的三維坐標(biāo),并在MATLAB中進(jìn)行了仿真實現(xiàn),得到物體的三維模型。但是,由于立體匹配上存在誤差,所以重建結(jié)果受到特征點提取和匹配的準(zhǔn)確度的影響,物體的重建效果不夠精細(xì),還需不斷進(jìn)行算法改進(jìn),得到具有真實感的三維物體模型。
[1]隋 ,金偉其.雙目立體視覺技術(shù)的實現(xiàn)及其進(jìn)展[J].計算機應(yīng)用,2004(10):4-6,12.
[2]劉金頌,原思聰,張慶陽,等.雙目立體視覺中的攝像機標(biāo)定技術(shù)研究[J].計算機工程與應(yīng)用,2008,44(6):237-239.
[3]李牧, 繼紅,李戈,等.自適應(yīng)Cannya算子邊緣檢測技術(shù)[J].哈爾濱工程大學(xué)學(xué)報,2007,28(9):1002-1007.
[4]伍軍.散亂點云表面重建技術(shù)的研究與開發(fā)[D].上海:上海交通大學(xué),2008.
[5]韓云生,劉國棟,劉光宇.基于Canny算子邊緣特征匹配的雙目深度測量[J].計算機系統(tǒng)應(yīng)用,2009(11):52-55.
[6]李剛,李竹林,趙宗濤.基于邊緣特征點的分級立體匹配算法研究[J].陜西師范大學(xué)學(xué)報,2009,37(5):20-23.
[7]楊恒,王慶.一種高效的圖像局部特征匹配算法[J].西北工業(yè)大學(xué)學(xué)報,2010,28(2):291-297.
[8]Hai Du,Mu-guo Li.The study for particle image velocimetry system based on binocular vision[J].Measurement,2009(42):619-627.
[9]Rui Li,Stan Sclaroff.Multi-scale 3D scene flow from binocular stereo sequences[J].Computer Vision and Image Understanding,2008(110):75-90.