付化勝
摘 要:本文針對單張圖像建筑物三維重建問題,以計算機視覺技術(shù)、圖像處理技術(shù)為依托,利用交互式的方法實現(xiàn)基于單幅圖像的建筑物三維重建。重點解決滅點解算、相機標(biāo)定、三維點重建等關(guān)鍵問題,為建筑物的三維重建提供一個新的方法。
關(guān)鍵詞:單幅圖像;三維重建;建筑物;透視投影
中圖分類號: TB82 文獻標(biāo)識碼: A 文章編號: 1673-1069(2016)20-119-2
1 概述
三維重建(3D Reconstruction),是建立外界物體合適的計算機數(shù)學(xué)模型,并在計算機環(huán)境中對模型進行處理、生成場景和物體的三維模型的方法[1]。目前建筑物三維重建的方法主要有三種:基于幾何造型的方法、基于掃描儀器獲取物體表面三維信息的方法、基于圖像的三維重建方法[2,3]?;趫D像的三維重建技術(shù),采用單幅圖像或多幅圖像,實現(xiàn)對目標(biāo)場景的三維重建。并緊隨著攝影測量與計算機視覺等學(xué)科的發(fā)展而迅速成長[4];基于單幅圖像的三維重建是利用單張圖像中的二維特征,通過逆求解物理或光學(xué)成像過程解算物體可見表面的三維信息[5]。
2 基于單幅圖像建筑物三維重建
本文以單張圖片作為輸入,照片級真實感三維模型作為輸出;單張圖片所能提供的信息較少,拍攝相機的內(nèi)外參數(shù)未知,針對這些問題,本文先依據(jù)圖像質(zhì)量選取直線提取方式(手動或自動方法),保證X、Y、Z三個主方向直線數(shù)量不得少于兩條。然后利用滅點幾何解算相機內(nèi)、外參數(shù);接著根據(jù)平面模型解算三維點坐標(biāo);最后利用二維空間透視關(guān)系矯正紋理、渲染模型,生成照片級真實感的三維模型。
2.1 基于直線分組的滅點解算
滅點是空間平行直線在圖像上的投影線段的交點[4]。理想情況下,僅需任意兩條平行直線即可確定一個滅點。滅點是解算相機參數(shù)的關(guān)鍵,滅點解算精度將直接影響相機標(biāo)定及三維重建的結(jié)果。簡單規(guī)則建筑物具有直線結(jié)構(gòu)化信息,方便于快速直線提取、分組和滅點解算。獲取單幅圖像中的滅點直線有兩種方法:自動法和手動法。當(dāng)圖像具有較高分辨率、較強透視幾何,且圖像的反射強度適中、陰影和非目標(biāo)景物較少時,采用自動方法,反之采用手動法。自動法的滅點解算主要步驟如下:
①利用Canny算子檢測邊緣,提取圖像局部灰度突變的區(qū)域。
②為獲取更高效、準(zhǔn)確的直線提取結(jié)果,采用累計概率霍夫變換(Progressive Probability Houth Transform,PPHT)提取結(jié)構(gòu)化場景中直線端點信息。
③為避免Z軸方向直線干擾X、Y方向,依據(jù)角度性質(zhì)分離出Z軸方向滅點直線。
④采用隨機抽樣一致性算法(Random Sample Consecsus,RANSAC)方法構(gòu)建直線模型,分離X、Y兩個方向的滅點直線,同時剔除每個方向的無效直線。
⑤基于最小二乘算法確定最優(yōu)滅點。由于受鏡頭畸變的影響,X、Y、Z方向直線簇往往不能相交于一點。當(dāng)直線數(shù)量大于兩條時,可采用最小二乘法確定最優(yōu)滅點。假設(shè)某一方向有n條投影直線l1,…,ln,li,的端點為(xi1,yi1)、(xi2,yi2)。則的直線方程為Aix+Biy+Ci=0,其中:
2.2 相機標(biāo)定
三維空間點投影到二維圖像上的相對位置由攝像機成像幾何模型決定,相機成像幾何模型中的參數(shù)稱之為相機參數(shù),求解相機參數(shù)的過程稱為相機標(biāo)定。
依據(jù)文獻[6],可以利用如上解算的滅點坐標(biāo)解算相機參數(shù)(u0,v0,f,R,t)。像主點是透視椎體底面三角形的垂心,利用垂心定理計算u0、v0。投影中心到像主點的距離為焦距,利用勾股定理計算f。世界坐標(biāo)系X、Y、Z坐標(biāo)軸向量分別設(shè)定為主滅點單位向量OVX、OVY、OVZ,利用坐標(biāo)系變換原理,根據(jù)任意兩主滅點向量解算旋轉(zhuǎn)矩陣R。任取兩主滅點向量OVX、OVY,則:
2.3 平面模型重建與三維點結(jié)算
假設(shè)三維空間平面用
表示,其中P為平面位置點,n為平面法向量。本文首先定義了一個位置和法向量都已知的平面(世界坐標(biāo)系XOY平面)為基平面?裝0,通過交互式地確定?裝0與待求平面的幾何關(guān)系依次解算各個待求平面。待求平面與基平面?裝0的幾何關(guān)系分為兩種:平行和相交。
空間直線L3⊥L,A、B是L上兩點,U、A是L3上兩點。U與其圖像點u滿足投影方程:
2.4 紋理映射
常用的紋理幾何校正有多項式扭曲法和內(nèi)插法,這些方法往往需要確定一系列控制點,使得方法計算煩瑣。針對這一問題,結(jié)合單幅圖像重建方法的特點,以計算機視覺中的線性相機模型為基礎(chǔ),依據(jù)透視投影關(guān)系,根據(jù)紋理圖像和三維模型四對控制點,解算紋理校正的投影矩陣。
為獲得真實感的三維模型,需將校正的紋理映射到三維模型上。OpenGL(Open Graphics Library)是獨立于硬件設(shè)備的軟件接口,可以構(gòu)逼真的三維模型,渲染復(fù)雜的三維場景。其本身具有完善的紋理映射機制,能夠逼真的表達物體表面信息。本文利用OpenGL將校正后的紋理映射到建筑物的三維模型上。
3 實驗結(jié)果與分析
為驗證上述方法的可行性,本文選取兩種建筑進行實驗。
實驗一為牛津大學(xué)Wadham學(xué)院,位于市區(qū)的中部。圖像尺寸1024×768 pixel,相機型號未知,焦距未知。該建筑為傳統(tǒng)歐式建筑,建筑中存在大量的平行直線、垂直直線,且建筑主體結(jié)構(gòu)以平面為主。
待重建建筑邊線清晰選擇自動法提取直線。首先利用Canny算子檢測邊緣,高、低閾值分別為230、200,利用累計概率霍夫變換提取目標(biāo)圖像中的長線段。角度間隔為1°,角度范圍為180°,累加閾值為50,直線長度閾值為70,間隔閾值為10。直線檢測及滅點計算結(jié)果、相機標(biāo)定、平面重建、紋理矯正如圖1、圖2分別展示了不同視角下模型的重建效果。
實驗二為福建初溪土樓群集慶樓內(nèi)部建筑、該土樓為閩西典型的土樓建筑,屬于現(xiàn)存國家重點保護物質(zhì)文化遺產(chǎn)。重建圖像由SONY DSC-HX9相機拍攝,圖像尺寸3648×2736 pixel,焦距6mm,由于集慶樓建筑年代久遠,建筑邊緣模糊,實驗采用手動法提取直線。X方向繪制5條直線、Y方向7條直線、Z方向6條直線,各個方向直線分布均勻。
本文方法可以很好地重建具有平面結(jié)構(gòu),且包含三個主滅點的已損或消失建筑的三維模型。
參 考 文 獻
[1]黃榮娟,仲思東,屠禮芬.基于四目立體視覺的三維全自動建模[J].計算機工程與設(shè)計,2015(02): 431-435.
[2]Khoshelham K,Díazvilario L. 3D Modelling of Interior Spaces: Learning the Language of Indoor Architecture[J]. ISPRS - International Archives of the Photogrammetry,Remote Sensing and Spatial Information Sciences, 2014, XL-5(5): 321-326.
[3]Debevec P E,Taylor C J,Malik J, et al. Image-based modeling and rendering of architecture with interactive photogrammetry and view-dependent texture mapping[C]. Circuits and Systems, 1998 ISCAS '98 Proceedings of the 1998 IEEE International Symposium on,1998:514-517.
[4]張祖勛,張劍清. 城市建模的途徑與關(guān)鍵技術(shù)[J]. 世界科技研究與發(fā)展,2003,25(3):23-29.
[5]王茹,周明全,耿國華.基于二維透視圖像的建筑物基本體素三維重建[J].計算機應(yīng)用與軟件,2009,26(9):7-9.
[6]Garcia-Gago J, Gomez-Lahoz J, Rodríguez-Méndez J,et al. Historical single image-based modeling: the case of Gobierna Tower,Zamora (Spain)[J]. Remote Sensing,2014,6(2):1085-1101.