国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

古建筑視覺三維重建系統(tǒng)設(shè)計與實現(xiàn)

2021-08-12 08:32陳占軍林姚宇龔詠喜王耀武顧照鵬
計算機應(yīng)用與軟件 2021年8期
關(guān)鍵詞:面片三維重建古建筑

陳占軍 林姚宇 龔詠喜 王耀武 顧照鵬

1(哈爾濱工業(yè)大學(深圳)建筑學院 廣東 深圳 518055)2(哈爾濱工業(yè)大學(深圳)深圳市城市規(guī)劃與決策仿真重點實驗室 廣東 深圳 518055)3(騰訊科技(深圳)有限公司 廣東 深圳 518052)

0 引 言

Marr視覺計算理論[1]將計算機視覺分成自上而下三個階段,從最初的原始數(shù)據(jù)即二維圖像到最終對三維環(huán)境的表達經(jīng)歷了三個階段處理,事實上這也是三維重建過程的三個階段。從二維圖像恢復三維物體可見表面的幾何結(jié)構(gòu)即三維重建是計算機視覺研究的主要目的之一。

基于視覺的三維重建[2-3]即結(jié)合多視角幾何理論和視覺算法理論,運用立體匹配[4]、語義目標分割[5]及相關(guān)優(yōu)化算法[6]等從若干幅二維圖像計算物體或場景的位置、形狀等幾何信息,恢復其三維模型。而二維圖像上每一點的位置與空間物體表面相應(yīng)點的幾何位置有關(guān),這些位置的相互關(guān)系則由攝像機成像幾何模型所決定??偟膩碚f,實際意義上的基于圖像特征視覺的三維重建過程包括三個步驟:(1) 二維圖像特征匹配,即從不同視角的圖像中檢測對應(yīng)同一空間點的二維圖像特征點,包括SIFT特征[7]、Harris特征[8]、SURF特征[9]等,并進行特征匹配;(2) 攝像機標定[10]即計算攝像機的位置姿態(tài)包括內(nèi)參數(shù)矩陣和外參數(shù)矩陣;(3) 根據(jù)上述圖像匹配和攝像機標定的結(jié)果,獲取物體可見部分的三維空間結(jié)構(gòu)。

視覺系統(tǒng)的研究是計算機視覺研究發(fā)展的趨勢,針對實際應(yīng)用需求開展三維重建系統(tǒng)的研究具有重要價值。由于古建筑多為木質(zhì)結(jié)構(gòu),并且輔以彩繪和雕刻,通常結(jié)構(gòu)復雜精巧,使得對其保護面臨巨大挑戰(zhàn)。對中國古代建筑進行三維數(shù)字化保護是對中國建筑精髓傳承和文物保護的重要手段。近年來,基于圖像視覺的三維重建技術(shù)在古建筑和文物的數(shù)字化保護方面的應(yīng)用需求越來越多,其中一個主要應(yīng)用是對古建筑的數(shù)字化建模研究。屠大維等[11]提出了一套古建筑中文物的數(shù)字化三維重建系統(tǒng),即結(jié)合攝像機拍攝圖像和線激光掃描的方法,并對系統(tǒng)測量誤差進行標定和補償,實現(xiàn)了文物的三維數(shù)字化。杜國光等[12]結(jié)合了3DSMax和SketchUp人工圖形學建模方法,通過構(gòu)建古建筑的基礎(chǔ)模型,進行三維模型檢索,再結(jié)合三維重建最終獲取古建筑的三維結(jié)構(gòu)??低\姷萚13]采用GIS、三維激光掃描技術(shù)對歷史建筑進行信息采集、表達,不僅獲取了歷史建筑的點云數(shù)據(jù)和三維模型,還制作了歷史建筑的平面、立面、剖面及大樣圖,建立了基于“一張圖”的歷史建筑信息化管理及應(yīng)用體系。

上述針對古建筑的三維重建方法分別應(yīng)用了激光掃描、人工圖形學建模、測繪等復雜技術(shù)或采集手段。由于激光掃描涉及到比較昂貴的設(shè)備成本,測繪手段則受古建筑現(xiàn)場地理環(huán)境的制約,而人工圖形學的預先建模方法更是制約了古建筑三維重建模型的自動生成。以上方法的缺點都或多或少地限制了現(xiàn)實中古建筑的三維數(shù)字化應(yīng)用需求的實現(xiàn)。

本文設(shè)計并實現(xiàn)的古建筑視覺三維重建系統(tǒng)面向古建筑的三維數(shù)字化應(yīng)用需求,應(yīng)用視覺三維重建技術(shù),實現(xiàn)從多幅不同視角的且無序的古建筑圖像序列到三維模型的自動生成,通過初始特征提取和匹配、攝像機位置姿態(tài)計算、圖像面片匹配及紋理映射計算等過程得到最終三維重建結(jié)果,整個過程無須人工干預。與其他古建筑的三維重建或三維數(shù)字化方法相比,本文貢獻在于:(1) 本文系統(tǒng)運行之前無須對攝像機參數(shù)進行預先標定,也無須預先校正原始圖像序列[14];(2) 三維重建過程中對攝像機位置姿態(tài)和稀疏三維點云的計算都進行了優(yōu)化,減少了匹配錯誤和誤差累計,從而提高了三維重建的準確率;(3) 無須預先人工建模,且系統(tǒng)設(shè)計和實現(xiàn)的成本低,操作簡單、可實施性強,只需要一臺單反攝像機采集圖像序列,就能獲得視覺效果較好、場景真實感較強的古建筑三維重建效果,系統(tǒng)應(yīng)用范圍較廣,基本滿足目前古建筑數(shù)字化的需求。

1 系統(tǒng)設(shè)計

1.1 算法框架

與室內(nèi)場景圖像相比,室外的古建筑場景圖像的三維重建系統(tǒng)一直是計算機視覺領(lǐng)域的一個技術(shù)難題。其算法設(shè)計關(guān)鍵是在有效恢復場景深度信息的前提下,實現(xiàn)整個三維重建過程的自動化,同時結(jié)合優(yōu)化過程提高攝像機參數(shù)計算的準確性和三維重建視覺效果。

1.2 算法步驟

本系統(tǒng)設(shè)計運用的算法步驟如下:

步驟1用單個攝像機進行拍攝,采集獲取不同視角的古建筑的多幅圖像;

步驟2對古建筑圖像序列進行特征提取,并進行特征匹配,得到種子匹配點;

步驟3以圖像序列中的種子匹配點為基礎(chǔ),在種子點的鄰域內(nèi)進行擴散,獲取數(shù)量更多的新匹配點;

步驟4根據(jù)上述特征匹配的結(jié)果,計算圖像拍攝時刻的攝像機位置姿態(tài)和古建筑的稀疏三維點云;

步驟5根據(jù)圖像拍攝時刻的攝像機位置姿態(tài)和古建筑的稀疏三維點云,利用多視角立體匹配算法獲取古建筑稠密三維點云;

步驟6根據(jù)古建筑稠密三維點云,生成古建筑三角面片模型;

步驟7利用古建筑三角面片模型,根據(jù)三維點與圖像的匹配關(guān)系,計算紋理映射并生成古建筑三維模型。

步驟1利用定焦攝像機從不同角度采集古建筑的多幅圖像,攝像機的運動方向要保持水平移動,保證每一個圖像細節(jié)至少有兩幅圖像覆蓋。步驟2提取SIFT特征,并進行匹配得到種子匹配點。步驟3采用文獻[15]方法對種子匹配點進行擴散,得到準稠密匹配點。

步驟4包含以下4個子步驟,其中S表示古建筑圖像集合,Ps表示三維點云集合,S1表示已計算的攝像機位置姿態(tài)的圖像集合,Q為攝像機姿態(tài)集合。

(1) 利用文獻[16]的標定法計算定焦攝像機內(nèi)參數(shù)K。

(2) 選取匹配點最多的兩幅圖像I0、I1,令I(lǐng)0的姿態(tài)為T0,T0=[I,0],其中I為三階單位陣,0為三維列向量,利用八點算法[17],計算I0和I1之間的相對剛體變換T1,將I0和I1加入集合S1;利用T0、T1及圖像匹配結(jié)果,應(yīng)用三角測量原理計算立體匹配圖像的深度值,從而得到三維空間點,將三維點加入集合Ps;將T0和T1加入集合Q。

(3) 對于S-S1中的其他圖像Ii,查找Ii與S1中圖像匹配點最多的圖像Ij,獲取Ii與Ij的匹配點集Pij,根據(jù)已重建三維點的位置,計算Ii相對于I0的剛體變換Ti,同時計算Ii與S1中其他圖像的匹配點的三維位置并加入集合Ps,將Ti加入集合Q。

(4) 對于所有計算獲得的攝像機姿態(tài)集合Q及三維點集合Ps,利用Kümmerle等[18]提出的G2o通用圖優(yōu)化算法對非線性重投影誤差函數(shù)進行優(yōu)化,最小化Ps中每個點Pi在對應(yīng)圖像上的重投影誤差,以此減少誤差積累對三維重建結(jié)果的影響,獲取最優(yōu)的攝像機姿態(tài)集和稀疏三維點集。

算法步驟4的具體流程見圖1。

圖1 攝像機位置姿態(tài)和古建筑稀疏三維點云的計算流程

步驟4的子步驟(4)為了提高Bundle Adjustment優(yōu)化算法的效率,采用了G2o圖優(yōu)化算法,對于每一個攝像機姿態(tài)和三維點,建立圖中對應(yīng)的節(jié)點,對每一個三維點與對其可見的攝像機姿態(tài)之間建立對應(yīng)的邊,利用G2o算法對以下目標函數(shù)進行優(yōu)化:

(1)

式中:m和n分別為集合Q和集合Ps的元素個數(shù);aj為第j幅圖像的攝像機姿態(tài),bi為第i個空間三維點;π表示第j幅圖像的投影方程即π(aj,bi)=KTj(bi);xij表示第i個三維點在第j幅圖像上的圖像坐標。

步驟5根據(jù)攝像機的位置姿態(tài)T0,T1,…,Tn和稀疏三維點云,利用PMVS算法[19]計算獲取古建筑的稠密三維點云Pd。步驟5主要包括3個子步驟:(1) 初始化特征匹配,即利用每幅圖像的特征點生成稀疏面片的過程。對于圖像Ii,以及其對應(yīng)的光心O(Ii),其中的特征點f,通過允許有兩個像素誤差的極線約束找到它在其他圖像中的同種類型的特征點f′,構(gòu)成匹配點對(f,f′)。再用這些匹配點對使用三角化的方法生成一系列三維空間點,將這些點按照距離O(Ii)從小到大順序排列,依次嘗試生成面片,直到成功獲得一系列的稀疏面片。(2) 面片生成和擴展,目標是在每個圖像網(wǎng)格中至少重建一個面片,方法是從已有的面片出發(fā),在其附近的空白空間搜索滿足一定條件的鄰域圖像塊集合,不斷進行迭代,生成新的面片,直至面片重建完成。(3) 面片過濾,主要引入了兩個過濾方法以濾除錯誤的面片。第一個過濾方法依賴于可見一致性;第二個方法是正則化操作,即對于每個面片p,首先獲取在其所有可見圖像I(p)中p所在或相鄰的圖像網(wǎng)格中所有的面片。如果獲取的面片中p的鄰域所占比例低于一定值(如25.0),則認為p為外點并將其濾除。通過步驟5可以生成分布較為均勻的古建筑稠密三維點云。

步驟6根據(jù)古建筑的稠密三維點云及其法向量,利用泊松表面重建算法[20]構(gòu)建三角網(wǎng)格,通過對模型的指示函數(shù)進行逼近及提取等值面得到一個閉合的三角化近似表面,生成古建筑三角網(wǎng)格面片模型。

步驟7應(yīng)用了Waechter等[21]的方法,利用攝像機姿態(tài)、三角網(wǎng)格和圖像信息,應(yīng)用一種輕微變形的均值平移算法來檢查視圖的一致性,通過視圖剔除、遮擋物消除等操作優(yōu)化視圖的選擇,合并面片冗余信息,以此減少紋理映射錯誤,從而恢復古建筑的三維紋理模型。

2 系統(tǒng)實現(xiàn)

根據(jù)系統(tǒng)算法步驟將系統(tǒng)分成圖2中的各模塊來實現(xiàn)。系統(tǒng)中各模塊和算法功能使用C++語言編程實現(xiàn)。模塊1輸入不同視角拍攝的古建筑圖像序列,根據(jù)建筑場景規(guī)模大小和建筑復雜度,一般需要攝取采集幾十幅到幾百幅圖像不等;模塊2實現(xiàn)原始二維圖像序列的特征點的檢測和匹配,通過提取SIFT特征點,并建立描述子進行特征匹配,得到圖像序列的初始公共種子匹配點,接著對種子匹配點進行匹配擴散,獲得圖像序列的準稠密匹配點。

圖2 系統(tǒng)設(shè)計各模塊

模塊3根據(jù)模塊2的圖像特征匹配結(jié)果,計算攝像機的位置姿態(tài)即攝像機內(nèi)參數(shù)矩陣,這里采用了文獻[16]的標定方法來實現(xiàn);同時,根據(jù)本系統(tǒng)算法的步驟4,計算得到古建筑的稀疏三維點云;之后,調(diào)用G2o圖優(yōu)化算法的開源框架對攝像機的位置姿態(tài)和稀疏三維點云進行優(yōu)化,以此減少累計誤差帶來的重建錯誤。模塊4利用PMVS多視角立體匹配算法實現(xiàn)古建筑稠密三維點云生成。模塊5根據(jù)模塊4的稠密點云結(jié)果,運用泊松表面重建算法構(gòu)建三角網(wǎng)格,生成三角面片模型。模塊6根據(jù)上一模塊計算結(jié)果,進行紋理映射,實現(xiàn)生成帶紋理的古建筑三維重建模型。

系統(tǒng)各模塊之間的數(shù)據(jù)和接口調(diào)用使用Python語言編程實現(xiàn)。為了呈現(xiàn)直觀且全視角觀看的古建筑三維重建模型,本系統(tǒng)還設(shè)計了三維模型生成的運行界面,使用PyQT5來實現(xiàn),程序運行界面設(shè)計如圖3所示。

圖3 古建筑三維重建系統(tǒng)設(shè)計界面

3 實 驗

根據(jù)古建筑數(shù)字化需求和項目研究目標,對深圳市的三個具有代表性的古建筑進行了現(xiàn)場圖像拍攝,分別為深圳赤灣中華神海、深圳南頭古城牌樓和深圳赤灣天后宮。本節(jié)給出了利用本文設(shè)計的系統(tǒng)而實現(xiàn)的上述三個古建筑場景的三維重建結(jié)果。系統(tǒng)實驗場景運行的PC平臺配置如下:Windows 10操作系統(tǒng),Intel(R) Core(TM) i7-7700HQ 2.80 GHz CPU,8 GB內(nèi)存。圖4是將拍攝的82幅不同角度的深圳赤灣中華神海古建筑圖像(分辨率為5 472×3 648)運用本系統(tǒng)進行三維重建得到的結(jié)果,包括原始圖像、三維重建點云、紋理映射的三維模型、三維重建面片模型。圖5則是根據(jù)不同視角拍攝的162幅深圳南頭古城牌樓的圖像序列(分辨率為4 032×3 024)而重建的三維模型結(jié)果。圖6是本系統(tǒng)輸入287幅深圳赤灣天后宮古建筑圖像序列(分辨率為5 472×3 648)進行三維重建的結(jié)果。

圖4 深圳赤灣中華神海三維重建結(jié)果

圖5 深圳南頭古城牌樓三維重建結(jié)果

圖6 深圳赤灣天后宮三維重建結(jié)果

表1給出了上述三組實驗(深圳南頭古城牌樓、深圳赤灣中華神海、深圳赤灣天后宮)的運行時間和三維重建模型運行的結(jié)果數(shù)據(jù),包括圖像匹配和稀疏點云重建時間、稠密點云重建時間、三維點數(shù)、面片數(shù)及頂點數(shù)等。

表1 三座不同古建筑的三維重建運算時間及重建數(shù)據(jù)

可以看出,實驗運行時間主要消耗在稠密點云重建這一階段。而系統(tǒng)前面階段如圖像匹配和稀疏點云重建,以及后面階段如三角網(wǎng)格構(gòu)建和三角面片模型生成,都只占運行總時間的一小部分。對于輸入近百幅甚至是幾百幅的圖像序列,由于室外場景物體較多、建筑復雜度較高、原始輸入圖像數(shù)量多、圖像分辨率高等特點,重建得到的三維點云數(shù)、頂點數(shù)以及面片數(shù)量都非常巨大,從而在普通硬件配置的PC機上要進行較長時間的運算,但這是可以理解和接受的??傮w來看,三組古建筑場景實驗的三維重建效果在視覺上和準確性上都是較良好的。

為了將本系統(tǒng)應(yīng)用的G2o圖優(yōu)化算法運行時間與傳統(tǒng)的SBA優(yōu)化算法時間進行對比,實驗還對深圳赤灣中華神海、深圳南頭古城牌樓、深圳赤灣天后宮這三組古建筑場景三維重建的優(yōu)化算法運行時間進行了對比,如圖7所示。兩個優(yōu)化算法的PC平臺配置都與以上實驗相同。從圖7可見,對于深圳赤灣中華神海、深圳南頭古城牌樓、深圳赤灣天后宮三組場景,G2o優(yōu)化算法比SBA優(yōu)化算法的運算時間分別減少了29.5%、25.4%、26.8%。

圖7 三組場景的G2o優(yōu)化算法與SBA優(yōu)化算法運行時間對比

可以看出,系統(tǒng)對于不規(guī)則且復雜的古建筑場景得到的三維重建效果都比較良好。在重建精度方面,由于古建筑場景中的某一個單獨物體或其中某一部分的三維重建精度較高,但對于其他部分卻比較低。因此,當前大量文獻中報道的室外大場景特別是大型古建筑的重建方法均沒有進行定量評價。本系統(tǒng)主要是面向古建筑的三維數(shù)字化應(yīng)用需求,實驗中未給出三維重建的精度定量評價,也未與其他三維重建方法在重建精度方面進行比較。一方面是由于三維重建的場景對象不同,所選取的都是不同的方法;另一方面是由于沒有合適的古建筑的三維重建精度評價體系,所以很難進行定量比較。

4 結(jié) 語

通過單臺攝像機對古建筑二維圖像序列攝取、圖像特征點檢測和匹配、攝像機位置姿態(tài)計算、三維點云計算、紋理映射計算及優(yōu)化算法等步驟實現(xiàn)了基于視覺的古建筑的三維重建系統(tǒng)。通過實驗結(jié)果可以看出,本文系統(tǒng)能夠獲得視覺效果良好、較強真實感的古建筑三維結(jié)構(gòu)模型。

本文系統(tǒng)設(shè)備成本低、操作簡單而可靠、實施性較高,能廣泛應(yīng)用于室外復雜的古建筑場景,對于古建筑數(shù)字化保護的研究和技術(shù)開發(fā)人員具有一定的參考價值。未來工作旨在提高古建筑三維重建系統(tǒng)的運算效率和重建精度,以及從不規(guī)則的古建筑三維重建模型中恢復其規(guī)則的CAD模型。

猜你喜歡
面片三維重建古建筑
古建筑木結(jié)構(gòu)保護技術(shù)在現(xiàn)代園林工程中的應(yīng)用探討
傳統(tǒng)文物古建筑的保護與恢復研究
基于MATLAB的STL模型切片分層算法
中國古建筑
互聯(lián)網(wǎng)全息位置地圖迭加協(xié)議與建模制圖技術(shù)
品析“飛利浦公司”基于單目視覺的三維重建技術(shù)專利
無人機影像在文物建筑保護中的應(yīng)用
光編碼技術(shù)在犯罪現(xiàn)場重建中的應(yīng)用
河沿面片
河沿面片
容城县| 尉氏县| 石景山区| 尚义县| 桃园县| 龙门县| 肇州县| 沅江市| 恭城| 五莲县| 山西省| 莱西市| 浦县| 靖远县| 福海县| 清原| 淮安市| 上思县| 利津县| 景洪市| 四川省| 铅山县| 双城市| 称多县| 三亚市| 孙吴县| 榆林市| 邵阳市| 务川| 上虞市| 安西县| 波密县| 长沙县| 宝鸡市| 分宜县| 贵阳市| 靖宇县| 泗洪县| 海兴县| 北安市| 五寨县|