李曉芳++路佳佳
摘 要隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,三維重建技術(shù)早已成為計(jì)算機(jī)視覺(jué)研究的熱點(diǎn)和難點(diǎn)之一,它的目標(biāo)是利用多幅二維圖像來(lái)恢復(fù)空間三維場(chǎng)景的幾何結(jié)構(gòu)。本文介紹了一種基于兩幅圖像的三維重建方法,即在已知攝像機(jī)內(nèi)參數(shù)及對(duì)應(yīng)兩幅圖像的前提下,通過(guò)特征檢測(cè)、特征提取與匹配、本質(zhì)矩陣的分解,進(jìn)而運(yùn)用三角測(cè)量原理得到三維坐標(biāo)。
【關(guān)鍵詞】三維重建 特征檢測(cè) 特征提取 特征匹配 三角化原理
計(jì)算機(jī)視覺(jué)是一門融合了數(shù)字圖像處理、計(jì)算機(jī)圖形學(xué)、模式識(shí)別、神經(jīng)生物學(xué)等研究成果的學(xué)科,它的研究目的就是使計(jì)算機(jī)具有通過(guò)二維圖像認(rèn)知三維環(huán)境信息的能力。隨著科學(xué)技術(shù)的快速發(fā)展,計(jì)算機(jī)視覺(jué)的應(yīng)用越來(lái)越受到廣泛的重視。其主要應(yīng)用領(lǐng)域有:視覺(jué)監(jiān)控;工業(yè)應(yīng)用,如視覺(jué)機(jī)器人導(dǎo)航;航空應(yīng)用,如基于視覺(jué)的遙控;虛擬現(xiàn)實(shí)中的基于視覺(jué)的建模;考古中的應(yīng)用,如古遺址的復(fù)原;通訊中的應(yīng)用,如可視電話中的建模等。
在計(jì)算機(jī)領(lǐng)域中,根據(jù)圖像信息對(duì)物體進(jìn)行三維重建一直是研究的重點(diǎn)和熱點(diǎn)之一。它在視頻游戲、虛擬場(chǎng)景漫游、物體識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用?;趫D像的三維重建技術(shù)所需要的成本低,具有很大的靈活性,又能達(dá)到簡(jiǎn)單的三維建模功能。依據(jù)是否已知攝像機(jī)內(nèi)參數(shù),基于二維圖像的三維重建方法可劃分為兩類:基于標(biāo)定圖像的方法和基于未標(biāo)定圖像的方法。基于未標(biāo)定圖像的三維重建方法只依賴圖像間的特征匹配,就可以恢復(fù)不同視圖的幾何約束關(guān)系。
本文研究的是第一類方法,在已知攝像機(jī)內(nèi)參數(shù)及對(duì)應(yīng)的兩幅圖像的條件下進(jìn)行三維重建,得到一些稀疏點(diǎn)的三維坐標(biāo)。主要分為七部分:
(1)攝像機(jī)內(nèi)、外參數(shù)(即投影矩陣);
(2)特征提取與特征匹配;
(3)基本矩陣和本質(zhì)矩陣;
(4)本質(zhì)矩陣的分解;
(5)三角化測(cè)量原理;
(6)三維重建的算法流程;
(7)總結(jié)。
1 攝像機(jī)內(nèi)、外參數(shù)
攝像機(jī)成像原理與小孔成像原理一樣,從三維空間到二維空間的映射滿足投影方程:
x=K[R|t]X (1)
其中x—圖像上的點(diǎn)的齊次坐標(biāo);X—空間點(diǎn)的齊次坐標(biāo);K—攝像機(jī)的內(nèi)參數(shù)矩陣; R—攝像機(jī)坐標(biāo)系相于世界坐標(biāo)系的旋轉(zhuǎn)矩陣;t—攝像機(jī)坐標(biāo)系相于世界坐標(biāo)系的平移矩陣。
1.1 攝像機(jī)內(nèi)參數(shù)
攝像機(jī)內(nèi)參數(shù)矩陣為
(2)
這5個(gè)參數(shù)與攝像機(jī)運(yùn)動(dòng)無(wú)關(guān),其中(x0,y0)為主點(diǎn)坐標(biāo),s為斜性因子,αx為x軸的尺度因子,βy為y軸的尺度因子。
本文是在已知攝像機(jī)內(nèi)參數(shù)的情況下進(jìn)行三維重建,故這里不討論K的求法。
1.2 攝像機(jī)外參數(shù)
(1)式中的 R和t統(tǒng)稱為攝像機(jī)的外參數(shù),即攝像機(jī)相對(duì)于世界坐標(biāo)系的相對(duì)運(yùn)動(dòng)。
1.3 攝像機(jī)矩陣
令P=K[R|t] (3)
(3)式中的P稱為投影矩陣或攝像機(jī)矩陣。三維重建的過(guò)程也就是求攝像機(jī)矩陣(或攝像機(jī)內(nèi)、外參數(shù))的過(guò)程。
2 特征檢測(cè)與特征匹配
用同一個(gè)攝像機(jī)對(duì)同一場(chǎng)景從不同角度、不同位置成兩幅圖像,對(duì)這兩幅圖像進(jìn)行特征提取與匹配,得到的匹配數(shù)據(jù)將作為后續(xù)空間稀疏點(diǎn)重建的輸入,以完成三維重建。
2.1 特征檢測(cè)
特征點(diǎn)是圖像中亮度變化劇烈或圖像邊緣曲線上曲率的極大值點(diǎn),它同周圍的鄰近點(diǎn)有著明顯差異。特征檢測(cè)的方法有很多:Harris角點(diǎn)檢測(cè),Harris-Laplace算法,Hessian-Laplace算法,Harris-Affine算法,Hessian-Affine算法,MSER算法,SIFT算法等。
本文運(yùn)用SIFT算法進(jìn)行特征檢測(cè),SIFT(尺度不變特征變換)是由Lowe提出的一種局部特征描述算子,具有尺度、旋轉(zhuǎn)、平移的不變性,而且對(duì)光照變化、仿射變換和三維投影變換具有一定的魯棒性。
SIFT算法的主要思想是在尺度空間尋找極值點(diǎn),然后對(duì)極值點(diǎn)進(jìn)行過(guò)濾,找出穩(wěn)定的特征點(diǎn)。最后在每個(gè)穩(wěn)定的特征點(diǎn)周圍提取圖像的局部特性,形成局部描述子并將其用在以后的匹配中。其主要步驟有:檢測(cè)尺度空間的極值點(diǎn);抽取穩(wěn)定的關(guān)鍵點(diǎn);為每個(gè)關(guān)鍵點(diǎn)指定一個(gè)或者多個(gè)方向;生成特征點(diǎn)描述子。
2.2 特征匹配
一個(gè)特征在特征數(shù)據(jù)庫(kù)中匹配可以使用最近鄰的方法,而最近鄰定義為特征向量的歐氏距離。然而會(huì)有很多的錯(cuò)誤匹配出現(xiàn)。所以沒(méi)有和數(shù)據(jù)庫(kù)中特征很好的匹配的特征點(diǎn)可以被忽略掉。考慮一種方法是對(duì)最近鄰的歐氏距離設(shè)定一個(gè)全局的閾值,實(shí)驗(yàn)表明這種方法的效果并不是很好,因?yàn)橛行┨卣骶哂泻軓?qiáng)的區(qū)分性,而另一些則要弱一些,所以全局的閾值不合適。另一種方法是利用最近鄰和次最近鄰的相對(duì)值。
3 基本矩陣和本質(zhì)矩陣
3.1 基本矩陣
兩幅圖像之間的基本矩陣是極幾何的代數(shù)刻畫。對(duì)于兩幅圖像上的一對(duì)匹配點(diǎn)xx',滿足:x'T Fx=0 (4)
式中F稱為基本矩陣或基礎(chǔ)矩陣?;揪仃嘑由兩幅圖像的攝像機(jī)內(nèi)外參數(shù)決定,一般采用八點(diǎn)算法或改進(jìn)的RANSAC八點(diǎn)算法。
3.2 本質(zhì)矩陣
本質(zhì)矩陣E僅與攝像機(jī)的運(yùn)動(dòng)有關(guān),在相差一個(gè)非零因子的意義下可以表示為:
E=[t]×R=R[RT t]× (5)
本質(zhì)矩陣和基本矩陣之間滿足下述關(guān)系:
E=K'T FK (6)
根據(jù)給定的攝像機(jī)內(nèi)參數(shù)K和已經(jīng)求出的基本矩陣F,通過(guò)式(6)即可求出本質(zhì)矩陣E。
4 本質(zhì)矩陣的分解
對(duì)前面求得的本質(zhì)矩陣E進(jìn)行SVD分解,設(shè) E=UAVT (7)
定義一個(gè)正交矩陣W和一個(gè)反對(duì)稱矩陣Z,
(8)
對(duì)E進(jìn)行因式分解,即E=TRj,其中T=UZUT,而R1=UWVT或R2=UWVT。
令t為U的第三列元素組成的向量,將世界坐標(biāo)系設(shè)在第一個(gè)攝像機(jī)坐標(biāo)系下,即設(shè)第一幅圖像的攝像機(jī)矩陣為 P=C[I|0] (10)
此時(shí),第二個(gè)攝像機(jī)矩陣P'則有四種可能,即
P'=[R1|t] 或P'=[R1|-t] 或P'=[R2|t] 或 P'=[R2|-t] (11)
這四個(gè)P'中只有一個(gè)使得三維重建后的點(diǎn)均落在兩個(gè)攝像機(jī)前方,即滿足
x3X4>0且x'3X4>0 (12)
滿足式(12)的P'即為所求的第二個(gè)攝像機(jī)矩陣。
通過(guò)本質(zhì)矩陣E的SVD分解恢復(fù)了R和t,即兩個(gè)攝像機(jī)的相對(duì)位移和旋轉(zhuǎn),進(jìn)而恢復(fù)了兩個(gè)攝像機(jī)矩陣,即
P=K[I|0]和P'=K[R|t] (13)
5 三角化原理
根據(jù)前面求出的攝像機(jī)投影矩陣P和P',及兩幅圖像的對(duì)應(yīng)點(diǎn)x和x',可以計(jì)算出空間點(diǎn)X的三維坐標(biāo)。根據(jù)三角化原理,對(duì)應(yīng)點(diǎn)x和x'的反投影線與攝像機(jī)之間的基線構(gòu)成一個(gè)三角形,兩條反射線必相交于空間中一點(diǎn),該點(diǎn)處于兩臺(tái)攝像機(jī)光心和投影點(diǎn)的延長(zhǎng)線上,即空間點(diǎn)X。
空間點(diǎn)X的坐標(biāo)求解如下:
攝像即投影矩陣:
(14)
對(duì)應(yīng)點(diǎn)x=[x,y,1]T,x'=[x',y',1]T (15)
根據(jù)λx=PX,得(λx)×(PX)=0,即 xP3T X-P1T X=0 (16)
yP3T X-P2T X=0 (17)
xP2T X-yP1T X=0 (18)
這樣就得到一等式Ax=0,其中
(19)
然后通過(guò)最小二乘法即可解得三維坐標(biāo)X。
6 三維重建的算法流程
(1)給定攝像機(jī)的內(nèi)參K,并用該攝像機(jī)生成兩幅同一場(chǎng)景不同角度的圖像;
(2)利用SIFT方法對(duì)兩幅圖像進(jìn)行特征檢測(cè),并對(duì)其特征匹配;
(3)利用匹配點(diǎn),使用RANSAC的八點(diǎn)算法計(jì)算基本矩陣F;
(4)利用攝像機(jī)內(nèi)參數(shù)K和基本矩陣F求出本質(zhì)矩陣E;
(5)對(duì)E進(jìn)行SVD分解,從而恢復(fù)兩個(gè)攝像機(jī)矩陣P和P';
(6)依據(jù)投影矩陣,用三角化法重建出三維點(diǎn)。
7 總結(jié)
本文介紹了一種基于兩幅圖像的空間稀疏點(diǎn)的三維重建的原理,總結(jié)了基于兩幅圖像的三維重建算法流程。
參考文獻(xiàn)
[1]Richard Hartley and Andrew Zisserman. Multiple View Geometry in Computer Vision[M].Second Edition.United Kingdom:Cambridge University Press,2003:237-408.
[2]PoLLEFEYS M,van GooL L.Visual modeling with a hand-held camera[J]. International Journal of Computer Vision,2004,59(03):207-232.
[3]FAUGERAS O,ROBERT L,LAVEAU S.3D reconstruction of urban seenes from image sequences[J].Computer Vision and Image Undersdanding,1998,69(03):292-399.
[4]朱慶生,羅大江等.基于多幅圖像的三維重建[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(10):2351-2353.
作者簡(jiǎn)介
李曉芳(1987-),女,山西省忻州市人。山西大學(xué)研究生碩士,助教。研究方向?yàn)橛?jì)算機(jī)視覺(jué)、圖像處理。
作者單位
山西工商學(xué)院 山西省太原市 030006