李曉芳++路佳佳
摘 要隨著計算機技術的快速發展,三維重建技術早已成為計算機視覺研究的熱點和難點之一,它的目標是利用多幅二維圖像來恢復空間三維場景的幾何結構。本文介紹了一種基于兩幅圖像的三維重建方法,即在已知攝像機內參數及對應兩幅圖像的前提下,通過特征檢測、特征提取與匹配、本質矩陣的分解,進而運用三角測量原理得到三維坐標。
【關鍵詞】三維重建 特征檢測 特征提取 特征匹配 三角化原理
計算機視覺是一門融合了數字圖像處理、計算機圖形學、模式識別、神經生物學等研究成果的學科,它的研究目的就是使計算機具有通過二維圖像認知三維環境信息的能力。隨著科學技術的快速發展,計算機視覺的應用越來越受到廣泛的重視。其主要應用領域有:視覺監控;工業應用,如視覺機器人導航;航空應用,如基于視覺的遙控;虛擬現實中的基于視覺的建模;考古中的應用,如古遺址的復原;通訊中的應用,如可視電話中的建模等。
在計算機領域中,根據圖像信息對物體進行三維重建一直是研究的重點和熱點之一。它在視頻游戲、虛擬場景漫游、物體識別等領域都有著廣泛的應用。基于圖像的三維重建技術所需要的成本低,具有很大的靈活性,又能達到簡單的三維建模功能。依據是否已知攝像機內參數,基于二維圖像的三維重建方法可劃分為兩類:基于標定圖像的方法和基于未標定圖像的方法。基于未標定圖像的三維重建方法只依賴圖像間的特征匹配,就可以恢復不同視圖的幾何約束關系。
本文研究的是第一類方法,在已知攝像機內參數及對應的兩幅圖像的條件下進行三維重建,得到一些稀疏點的三維坐標。主要分為七部分:
(1)攝像機內、外參數(即投影矩陣);
(2)特征提取與特征匹配;
(3)基本矩陣和本質矩陣;
(4)本質矩陣的分解;
(5)三角化測量原理;
(6)三維重建的算法流程;
(7)總結。
1 攝像機內、外參數
攝像機成像原理與小孔成像原理一樣,從三維空間到二維空間的映射滿足投影方程:
x=K[R|t]X (1)
其中x—圖像上的點的齊次坐標;X—空間點的齊次坐標;K—攝像機的內參數矩陣; R—攝像機坐標系相于世界坐標系的旋轉矩陣;t—攝像機坐標系相于世界坐標系的平移矩陣。
1.1 攝像機內參數
攝像機內參數矩陣為
(2)
這5個參數與攝像機運動無關,其中(x0,y0)為主點坐標,s為斜性因子,αx為x軸的尺度因子,βy為y軸的尺度因子。
本文是在已知攝像機內參數的情況下進行三維重建,故這里不討論K的求法。
1.2 攝像機外參數
(1)式中的 R和t統稱為攝像機的外參數,即攝像機相對于世界坐標系的相對運動。
1.3 攝像機矩陣
令P=K[R|t] (3)
(3)式中的P稱為投影矩陣或攝像機矩陣。三維重建的過程也就是求攝像機矩陣(或攝像機內、外參數)的過程。
2 特征檢測與特征匹配
用同一個攝像機對同一場景從不同角度、不同位置成兩幅圖像,對這兩幅圖像進行特征提取與匹配,得到的匹配數據將作為后續空間稀疏點重建的輸入,以完成三維重建。
2.1 特征檢測
特征點是圖像中亮度變化劇烈或圖像邊緣曲線上曲率的極大值點,它同周圍的鄰近點有著明顯差異。特征檢測的方法有很多:Harris角點檢測,Harris-Laplace算法,Hessian-Laplace算法,Harris-Affine算法,Hessian-Affine算法,MSER算法,SIFT算法等。
本文運用SIFT算法進行特征檢測,SIFT(尺度不變特征變換)是由Lowe提出的一種局部特征描述算子,具有尺度、旋轉、平移的不變性,而且對光照變化、仿射變換和三維投影變換具有一定的魯棒性。
SIFT算法的主要思想是在尺度空間尋找極值點,然后對極值點進行過濾,找出穩定的特征點。最后在每個穩定的特征點周圍提取圖像的局部特性,形成局部描述子并將其用在以后的匹配中。其主要步驟有:檢測尺度空間的極值點;抽取穩定的關鍵點;為每個關鍵點指定一個或者多個方向;生成特征點描述子。
2.2 特征匹配
一個特征在特征數據庫中匹配可以使用最近鄰的方法,而最近鄰定義為特征向量的歐氏距離。然而會有很多的錯誤匹配出現。所以沒有和數據庫中特征很好的匹配的特征點可以被忽略掉。考慮一種方法是對最近鄰的歐氏距離設定一個全局的閾值,實驗表明這種方法的效果并不是很好,因為有些特征具有很強的區分性,而另一些則要弱一些,所以全局的閾值不合適。另一種方法是利用最近鄰和次最近鄰的相對值。
3 基本矩陣和本質矩陣
3.1 基本矩陣
兩幅圖像之間的基本矩陣是極幾何的代數刻畫。對于兩幅圖像上的一對匹配點xx',滿足:x'T Fx=0 (4)
式中F稱為基本矩陣或基礎矩陣。基本矩陣F由兩幅圖像的攝像機內外參數決定,一般采用八點算法或改進的RANSAC八點算法。
3.2 本質矩陣
本質矩陣E僅與攝像機的運動有關,在相差一個非零因子的意義下可以表示為:
E=[t]×R=R[RT t]× (5)
本質矩陣和基本矩陣之間滿足下述關系:
E=K'T FK (6)
根據給定的攝像機內參數K和已經求出的基本矩陣F,通過式(6)即可求出本質矩陣E。
4 本質矩陣的分解
對前面求得的本質矩陣E進行SVD分解,設 E=UAVT (7)
定義一個正交矩陣W和一個反對稱矩陣Z,
(8)
對E進行因式分解,即E=TRj,其中T=UZUT,而R1=UWVT或R2=UWVT。
令t為U的第三列元素組成的向量,將世界坐標系設在第一個攝像機坐標系下,即設第一幅圖像的攝像機矩陣為 P=C[I|0] (10)
此時,第二個攝像機矩陣P'則有四種可能,即
P'=[R1|t] 或P'=[R1|-t] 或P'=[R2|t] 或 P'=[R2|-t] (11)
這四個P'中只有一個使得三維重建后的點均落在兩個攝像機前方,即滿足
x3X4>0且x'3X4>0 (12)
滿足式(12)的P'即為所求的第二個攝像機矩陣。
通過本質矩陣E的SVD分解恢復了R和t,即兩個攝像機的相對位移和旋轉,進而恢復了兩個攝像機矩陣,即
P=K[I|0]和P'=K[R|t] (13)
5 三角化原理
根據前面求出的攝像機投影矩陣P和P',及兩幅圖像的對應點x和x',可以計算出空間點X的三維坐標。根據三角化原理,對應點x和x'的反投影線與攝像機之間的基線構成一個三角形,兩條反射線必相交于空間中一點,該點處于兩臺攝像機光心和投影點的延長線上,即空間點X。
空間點X的坐標求解如下:
攝像即投影矩陣:
(14)
對應點x=[x,y,1]T,x'=[x',y',1]T (15)
根據λ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)
然后通過最小二乘法即可解得三維坐標X。
6 三維重建的算法流程
(1)給定攝像機的內參K,并用該攝像機生成兩幅同一場景不同角度的圖像;
(2)利用SIFT方法對兩幅圖像進行特征檢測,并對其特征匹配;
(3)利用匹配點,使用RANSAC的八點算法計算基本矩陣F;
(4)利用攝像機內參數K和基本矩陣F求出本質矩陣E;
(5)對E進行SVD分解,從而恢復兩個攝像機矩陣P和P';
(6)依據投影矩陣,用三角化法重建出三維點。
7 總結
本文介紹了一種基于兩幅圖像的空間稀疏點的三維重建的原理,總結了基于兩幅圖像的三維重建算法流程。
參考文獻
[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].計算機工程與設計,2010,31(10):2351-2353.
作者簡介
李曉芳(1987-),女,山西省忻州市人。山西大學研究生碩士,助教。研究方向為計算機視覺、圖像處理。
作者單位
山西工商學院 山西省太原市 030006