北京航空航天大學計算機學院 林連慶 楊志剛
一種基于圖像集合的三維重建方法
北京航空航天大學計算機學院林連慶楊志剛
設計并實現(xiàn)了一整套基于圖像集合的三維重建技術。首先對輸入的多幅圖像提取特征點,然后將這些特征點進行匹配,接著迭代運行從運動恢復結構的優(yōu)化算法,得到相機參數(shù)以及稀疏的空間點云信息,最后利用多視圖立體重建方法得到稠密的空間點云模型,完成對目標的三維重建。實驗結果表明,本文采用的方法不需要特定的設備,無需人工干預即可自動重建出正確的被觀測目標的三維模型。
三維重建;特征點提取與匹配;從運動恢復結構SFM;多視圖立體重建PMVS
眾所周知,在我們生活的現(xiàn)實世界中,周圍環(huán)境和物體都是三維的客觀存在,這是人類通過雙眼獲得的視覺信息。如何讓機器像人一樣感知、分析、理解、記憶以及再現(xiàn)外界的三維場景,是計算機視覺[1]研究的熱點課題之一,即通過運用計算機和數(shù)字傳感設備來模擬人類視覺功能,獲取被觀測目標的三維幾何信息,這個過程就是三維重建。
基于計算機視覺的光學三維重建方法可以分為主動式和被動式兩大類[2]。主動法需要人為對目標場景施加特定的照射光源,根據(jù)光束模式和物體表面的反射特性,利用光學原理及相關特性獲取待重建目標高精度的三維信息,主要包括結構光和激光掃描等方法。由于需要比較復雜且造價高昂的專用設備,不適合室外大型場景,使得其應用受到限制。被動法只利用在自然光照條件下拍攝的圖像,就可恢復出相機的運動和場景的結構,具有簡單易行、成本低廉、適應性強、靈活度高等特點,近年來越來越受到研究重視。隨著數(shù)碼相機、攝像機、手機等硬件成像設備的普及,人們可以隨時隨地拍攝得到想要的圖片,再利用基于圖像的三維重建技術,直接根據(jù)這些圖片恢復物體的三維幾何結構,甚至構建出非常逼真的三維模型,在日常的生產(chǎn)生活中具有廣泛的應用價值跟前景。
基于圖像的三維重建是攝像機成像過程的逆過程,主要原理基于光學中的針孔成像模型,即:三維世界空間的點與二維成像平面上的投影點滿足中心射影的數(shù)學模型,如公式(1)所示,
本文基于圖像集合進行三維重建的具體流程如圖1所示。主要步驟為特征提取與匹配、稀疏3D重建和稠密3D重建,本文將在后續(xù)內(nèi)容進行詳細介紹。
本文采用SIFT特征描述子結合Harris算法來進行特征點提取,在SIFT特征點的基礎上加入了物體的角點特征,二者取長補短,使得重建結果在細節(jié)上更加突出,更加接近真實物體。
圖1 基于圖像集合的三維重建流程圖
3.1SIFT算法
SIFT算法通過建立圖像的多尺度空間,在不同尺度下檢測到同一個特征點,確定特征點位置的同時確定其所在尺度,以達到尺度抗縮放的目的,剔出一些對比度較低的點以及邊緣響應點,并提取旋轉不變特征描述子以達到抗仿射變換的目的。主要計算步驟如下:1)尺度空間極值檢測;2)關鍵點的定位;3)確定關鍵點的方向;4)生成特征點描述子。
由于SIFT特征描述子是一個128維的向量,可以采用基于歐式距離的最近鄰匹配算法(Nearest Neighbor-NN)完成粗匹配,其過程是:對圖像I1中的每個特征向量a,在圖像I2中利用kd-tree進行搜索,查找I2所有特征點中與a對應的最近鄰特征向量b以及次近鄰特征向量b’,如果最近鄰除以次近鄰的距離比值小于某個給定的比例閾值,即,則b為a的匹配,否則認為a在I2中沒有匹配。實驗中T的取值為0.6。
3.2Harris算法
Harris角點提取是一種基于圖像灰度梯度的檢測方法,由于自相關函數(shù)描述了局部圖像灰度的變化程度,將自相關函數(shù)的近似Hessian矩陣作為Harris算子,表達式如下:
Harris角點探測器的響應函數(shù)為:
最后以每個特征點為中心,選取大小為(2n-1)×(2n-1)的灰度窗口稱為特征點的鄰域窗(實驗中n=7),利用歸一化互相關匹配算法(Normalized Cross Correlation, NCC)完成角點的初始匹配,設m1、m2分別為圖像I1和I2中待匹配的兩個角點,本文采用的相似度計算公式如下:
公式中,I(x,y)代表圖像I在像素(x,y)處的灰度值,為鄰域窗內(nèi)的灰度平均值。
3.3基于RANSAC算法優(yōu)化匹配
優(yōu)化過程利用基礎矩陣計算特征點到對應極線的垂直距離作為約束(小于1.5個像素),將只有一個方向或者兩個方向都不滿足約束關系的匹配,視為虛假匹配,予以剔除。求解基礎矩陣采用的是改進的8點法[3]。本文基于RANSAC算法實現(xiàn)對基礎矩陣的魯棒估計,通過對外點(outlier)加以限制,從數(shù)據(jù)中找到內(nèi)點(inlier),根據(jù)最大內(nèi)點數(shù)和最小誤差方差,選擇最優(yōu)的參數(shù)模型。
為了提高計算效率,本文采用改進的RANSAC算法:在對每個模型參數(shù)檢驗前,先隨機抽取少量的數(shù)據(jù)對模型進行預檢驗,如果預檢驗通過,則繼續(xù)在全部數(shù)據(jù)中進行模型評估,如果沒有通過預檢驗,則放棄后面的評估過程。
圖2 兩幅圖像間三維重建流程圖
本文采用從運動恢復結構(Structure From Motion, SFM)[4]的方法基于圖像集合重建目標的三維模型。SFM方法從兩幅圖像的匹配和重建開始,通過迭代逐漸增加新的圖像,直至重建整個圖像集合。通過兩幅圖像進行三維重建的大體步驟如下:在獲得兩幅圖像間的匹配點對后,根據(jù)基本矩陣F求解Kruppa方程[5],得到攝像機內(nèi)參數(shù)K;同時根據(jù)基本矩陣計算本質(zhì)矩陣E,對本質(zhì)矩陣進行SVD分解得到攝像機的運動參數(shù)[6]——旋轉矩陣R和平移向量t;然后由內(nèi)外參數(shù)得到投影矩陣P;最后按照公式(1),由每對匹配點聯(lián)立方程,求解出空間離散點在相差一個尺度因子下的三維坐標,生成空間稀疏3D點云。流程圖如圖2所示。
SFM將前兩幅圖像的重建結果作為一個初始結構,利用光束法平差[7]對其進行優(yōu)化,然后在此基礎上每次從圖像序列中選擇一副新的圖像加入此結構,重復如下的迭代過程:
1)在新增圖像中找到已存在于當前結構的特征點,根據(jù)其與前面已重建三維點的對應關系,采用RANSAC算法求出新增圖像的投影矩陣;
2)根據(jù)計算出的投影矩陣對新增圖像進行重投影,去除誤差過大的特征點;
3)重建新增圖像與前一幅圖像的匹配點對中未被重建的特征點對;
4)對現(xiàn)有的結構進行更新;
5)通過光束法平差優(yōu)化,同時對重建結果的三維結構和相機參數(shù)提供整體最優(yōu)解。
為了得到更加真實、準確的目標重建模型,本文在稀疏重建的基礎上,采用基于面片的PMVS(Patch-based Multi-view Stereo)準稠密算法[8],該算法利用區(qū)域增長原理,輸出具有方向的小矩形面片密集集合,由此產(chǎn)生稠密的三維點云模型。PMVS算法主要包括匹配-擴展-過濾三個步驟:
1)匹配。首先進行初始特征匹配,本文利用前面稀疏重建生成的結構作為潛在面片的初始值建立面片模型,通過光照一致性約束進行優(yōu)化,得到一系列稀疏面片以及對應的圖像區(qū)域,以此作為種子;
2)擴展。利用相鄰面片具有相似的法向和位置的特性,擴展初始匹配到已經(jīng)存在面片的鄰近空擋區(qū)域,并進行優(yōu)化更新,得到比較稠密的面片序列;
3)過濾。利用視覺一致性約束構建濾波器,去除位于觀察物體實際表面之前或之后的錯誤匹配。
本文實驗通過迭代將上述擴展和過濾步重復執(zhí)行3次,并在擴散過程中加入幾何空間約束,即同時考慮到四周相鄰面片對于擴展面片的影響,沿著NCC增大的方向進行匹配傳播。由于通過前面算法得到的初始種子匹配點對比較穩(wěn)定和可靠,并加入了上述對PMVS算法的改進,使得用較少的圖像序列即可生成魯棒、精確的幾何估計,得到高稠密的三維點云模型,實現(xiàn)對目標的三維重建。
實驗使用iPhone6(焦距長度4.15mm)手機圍繞實驗的人體頭部雕塑拍攝了20幅圖像,其中一幅如圖3(a)所示,圖像像素為2448 ×2448,通過自標定實際算得相機的焦距為2669.368像素。采用C++ 與MATLAB混合編程對上述算法進行實現(xiàn),實驗結果如下:圖3(b)為SFM重建出的3D稀疏點云,共計得到5174個稀疏點;圖3(c)為利用改進的PMVS算法重建出的稠密3D點云,共計1409503個稠密點;圖3(d)為根據(jù)稠密3D點云重建的三角網(wǎng)格曲面模型。
圖3 頭部雕塑模型重建實例
本文設計并實現(xiàn)了一整套基于圖像集合的三維重建技術,通過對輸入的多幅圖像進行特征點提取、匹配和優(yōu)化,根據(jù)計算出的基礎矩陣,迭代運行從運動恢復結構的優(yōu)化算法,得到相機參數(shù)以及稀疏的空間點云信息,最后利用多視圖立體重建方法得到稠密的空間點云模型,完成了對目標的三維重建。實驗結果表明,本文采用的方法不需要特定的設備,無需人工干預即可自動重建出正確的被觀測目標的三維模型。后續(xù)還要對算法進行相關改進,例如增加圖像預處理、輸入更多先驗信息、加入魯棒性策略等等,進一步減低算法的計算開銷,同時減輕誤差累積效應,使重建結果更加完整逼真。
[1]馬頌德,張正友.計算機視覺——計算理論與算法基礎[M].北京:科學出版社,1998.
[2]Maxime Lhuillier,Long Quan.A Quasi-Dense Approach to Surface Reconstruction from Uncalibrated Images.IEEE Transactions on Pattern Analysis and Machine Intelligence,2005.
[3]Richard I.Hartley.In defense of the8-point Algorithm. IEEE Transactions on Pattern Analysis and Machine Intelligence,1997,19( 6):580~593.
[4]Goesele M,Curless B,Seitz S M.Multi-View Stereo Revisited[C]. CVPR,New York,NY,2006.
[5]Lourakis M I A,Deriche R.Camera Self-Calibration Using the Kruppa Equations and the SVD of the Fundamental Matrix: The Case of Varying Intrinsic Parameters[R].INRIA Tech Report,RR-3911,2000.
[6]Sonka M,Hlavac V,Boyle R.Image Processing,Analysis and Machine Vision(2nd Edition)[M].New York:Thomson Press,2002:460-469.
[7]B.Triggs,P.McLauchlan,R.Hartley,et al.Bundle adjustment- a modern synthesis[J].Vision algorithms: theory and practice,2000,1883: 298-372.
[8]Y.Furukawa,J.Ponce.Accurate, dense,and robust multiview stereopsis[J].IEEE Transactions on PatternAnalysis and Machine Intelligen ce,2010,32(8):1362-1376
林連慶(1985-),女,碩士研究生,現(xiàn)就讀于北京航空航天大學計算機學院,研究方向:計算機圖形學、圖像處理。