王廣楠 劉健辰 張子浩
(山東科技大學(xué) 測(cè)繪與空間信息學(xué)院 山東 青島 266590)
近些年來全國(guó)各地掀起開發(fā)房地產(chǎn)的狂潮,眾多古老的文化遺產(chǎn)淪為工地和樓盤,各種古建筑和文化古跡都遭到不同程度的破壞。傳統(tǒng)的古建筑保護(hù)方法流程復(fù)雜,需進(jìn)行大量實(shí)地考察作業(yè),效率較低,導(dǎo)致基層文物保護(hù)部門任務(wù)繁重,條件艱苦。無人機(jī)傾斜攝影測(cè)量作為獲取地表三維模型的重要途徑具有便捷和高效的優(yōu)勢(shì),并且其技術(shù)和方法是快速發(fā)展的,于麗麗研究了基于無人機(jī)傾斜攝影測(cè)量技術(shù)的城市三維實(shí)景建模方法;丁波主要分析了基于無人機(jī)傾斜攝影三維重建技術(shù)中的精度問題;項(xiàng)志勇等人提出了基于傾斜攝影的快速三維重建方法;周杰研究了三維重建模型二級(jí)評(píng)價(jià)的方法并結(jié)合圖像快速建模系統(tǒng)(DP-Modeler)軟件進(jìn)行模型精修,得到了精細(xì)的三維模型;李策將地面三維激光掃描結(jié)果與傾斜攝影相結(jié)合進(jìn)行三維重建;何原榮等人研究了基于三維激光掃描與傾斜攝影技術(shù)相結(jié)合的古建筑三維重建方法,并將構(gòu)建的模型以不同比例尺進(jìn)行三維(three-dimensional,3D)打印與室內(nèi)外展示。本文研究了利用成本低廉的消費(fèi)級(jí)無人機(jī)影像建立古建筑三維模型以及模型展示與發(fā)布的方法,一定程度上解決了傳統(tǒng)古建筑保護(hù)方法時(shí)間和人力成本高的問題,可為文物保護(hù)部門制定古建筑保護(hù)方案提供參考。
三維重建算法的核心流程,如圖1所示。
圖1 三維重建的流程
受各種因素影響,測(cè)區(qū)航空影像色調(diào)存在差異,直接進(jìn)行三維重建可能影響模型效果。批量處理航空影像,對(duì)航空影像進(jìn)行勻色處理-對(duì)比度增強(qiáng)是尤為必要的。
基于限制對(duì)比度自適應(yīng)直方圖均衡化(contrast limited adaptive histogram equalizatio,CLAHE)解決了傳統(tǒng)的直方圖均衡化(histogram equalization,HE)算法局部失真和噪聲過大的問題,在圖像增強(qiáng)領(lǐng)域具有廣泛應(yīng)用,其基本步驟如下:
(1)劃分圖像為連續(xù)大小相等且不重疊小塊,劃分子塊的數(shù)目與圖像增強(qiáng)程度正相關(guān)。
(2)對(duì)每個(gè)小塊建立直方圖。
(3)直方圖裁剪,將設(shè)置的超出閾值的像素切掉。
(1)
其中,T
為設(shè)置的初始閾值;w
和h
分別是一小塊的像素寬度和高度;N
為小塊內(nèi)像素總值;T
為最終閾值。(4)將切掉的像素點(diǎn)重分配。
其中,h
(x
)為直方圖;E
表示超出閾值的像素個(gè)數(shù);B
表示每個(gè)灰度級(jí)增加的像素個(gè)數(shù)的平均值;K
為灰度級(jí)的個(gè)數(shù)。(5)每個(gè)小塊直方圖均衡化。
(6)線性插值運(yùn)算,一般是雙線性插值。
實(shí)驗(yàn)發(fā)現(xiàn),將航空影像勻化處理之后,模型色彩更加真實(shí)且細(xì)節(jié)更清晰。
稀疏重建使用運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(structure from motion,SFM)算法,其流程如圖2所示。
圖2 SFM算法流程
基于尺度不變特征變換(scale-invariant feature transform,SIFT)提取特征點(diǎn)后進(jìn)行特征點(diǎn)匹配,那么之后任意兩張航空影像上若干點(diǎn)有式(4)的對(duì)應(yīng)關(guān)系,表示任意兩張影像的點(diǎn)的匹配關(guān)系。
(4)
通過上述的數(shù)據(jù)可求解相機(jī)內(nèi)參K
,相機(jī)外參R
、T
,進(jìn)而求解地物的齊次地理坐標(biāo)X
,這便是SFM算法的核心。求解公式如下,這里N
為影像數(shù)x
為影像的齊次像素坐標(biāo)。i
是影像對(duì)的編號(hào),是投影矩陣,和X
的計(jì)算公式如下:為更好地消除特征點(diǎn)匹配錯(cuò)誤以及誤差的影響,可進(jìn)行非線性最小二乘優(yōu)化
(7)
其中,={P
,P
,…,P
};X
={X
,X
,…,X
},這里D
是特征點(diǎn)的數(shù)目。這里區(qū)域網(wǎng)平差方法選擇多核光束法平差(multicore bundle adjustment)算法。多視角聚簇(cluster multi-view stereo,CMVS)算法對(duì)SFM算法輸出的大量重疊點(diǎn)云進(jìn)行聚簇分類,為后續(xù)操作減小了數(shù)據(jù)冗余,降低了時(shí)間成本,如圖3所示。
圖3 CMVS算法流程
基于面片模型的密集匹配算法(patch based multi-view stereo,PMVS)處理聚簇分類后的點(diǎn)云,建立面片模型迭代進(jìn)行擴(kuò)展和過濾操作,最后輸出稠密點(diǎn)云,如圖4所示。
圖4 PMVS算法流程
網(wǎng)格優(yōu)化的核心在于建立以最小化匹配為代價(jià)的能量函數(shù),其構(gòu)建的基本過程如下:
α
為參考影像;β
為鄰域影像;影像αβ
上(r
,c
)處的亮度值為I
(r
,c
);影像α
上(r
,c
)處的亮度值為I
(r
,c
);影像β
上(r
,c
)處的亮度值為I
(r
,c
)。設(shè)X
為物方點(diǎn);x
為像點(diǎn);S
為物方表面。參照文獻(xiàn)中的公式,可依次計(jì)算:像點(diǎn)梯度變化值;像方頂點(diǎn)梯度變化值;物方頂點(diǎn)梯度變化值,以上信息可組成能量函數(shù)的數(shù)據(jù)項(xiàng)E
(x
)=h
(I
,I
)(x
)=1-N
(8)
這里的N
是影像間的相關(guān)系數(shù),能量函數(shù)形式如下:(9)
另外還有平滑項(xiàng)E
,具有確保三角形狀和表面平滑的功能:(10)
(11)
將紋理影像構(gòu)成的紋理空間與表面參數(shù)構(gòu)成的三維模型空間作一一對(duì)應(yīng)的映射叫做紋理映射,也就是將指定的紋理圖像映射到三維模型表面,其基本流程如圖5所示。
圖5 紋理映射基本流程
紋理映射的核心在于構(gòu)建映射關(guān)系,文獻(xiàn)[12]提出了基于深度值的影像可見算法,此算法的核心是求出航空?qǐng)D像中每一個(gè)像素點(diǎn)對(duì)應(yīng)的三角面,建立一張三角面標(biāo)號(hào)圖記錄與本張航空影像最近的面然后確定影像那些像素點(diǎn)不存在遮擋。然后通過構(gòu)建影像與三角面的圖表關(guān)系,將每一個(gè)三角面作為節(jié)點(diǎn),每一個(gè)備選影像作為標(biāo)簽。將問題轉(zhuǎn)化成一個(gè)基于置信傳播理論的求解數(shù)據(jù)場(chǎng)穩(wěn)態(tài)問題,構(gòu)建數(shù)據(jù)場(chǎng)的能量函數(shù)求解。
F
是三角面片;l
是對(duì)應(yīng)的備選航空影像;數(shù)據(jù)項(xiàng)E
(F
,l
)衡量二者之間的相似程度,確定單個(gè)三角面片的紋理映射質(zhì)量。F
是與F
相鄰的三角面片;l
是F
對(duì)應(yīng)的備選航空影像;平滑項(xiàng)E
(F
,F
,l
,L
)衡量紋理的連續(xù)性,使得相鄰三角面片紋理盡可能對(duì)應(yīng)同一張備選航空影像。設(shè)l為待選紋理影像的編號(hào),能量函數(shù)的表達(dá)如下:(12)
求解三角面的能量方程全局最小值,即可得到最佳映射效果。
網(wǎng)格模型(Mesh)構(gòu)建完畢之后,進(jìn)行各項(xiàng)實(shí)驗(yàn),通過建模軟件再建模可以生成3D打印產(chǎn)品,全景圖和虛擬現(xiàn)實(shí)(virtual reality,VR)產(chǎn)品等,實(shí)驗(yàn)的流程如圖6所示。
圖6 實(shí)驗(yàn)的基本流程
2.2.1
調(diào)查測(cè)區(qū)概況光岳樓是四重檐十字脊過街式樓閣,由墩臺(tái)和四層主樓組成,有多處飛檐,欄桿石柱雕刻精美,結(jié)構(gòu)較為復(fù)雜,三維重建有一定的難度。
2.2.2
航線規(guī)劃使用無人機(jī)航測(cè)航線規(guī)劃軟件Altizure進(jìn)行航線規(guī)劃,為保證相鄰航片重疊度,每一層環(huán)繞一周拍攝50張左右五層共計(jì)250張傾斜影像。頂部按照之字形飛行并拍攝,共計(jì)飛行3個(gè)之字形航線,拍攝照片100張從而保證建筑物頂部,屋檐等細(xì)節(jié)的建模質(zhì)量。選取連續(xù)晴朗的三天,前兩天使用無人機(jī)進(jìn)行拍攝,最后一天對(duì)細(xì)節(jié)進(jìn)行補(bǔ)拍尤其是屋檐下等遮擋的部位等。
圖像快速建模系統(tǒng)(DP-Modeler)是一款可對(duì)三維模型精修的單體化軟件,與3D建模專業(yè)軟件3Ds Max可以通過聯(lián)動(dòng)插件方便的聯(lián)動(dòng):通過DPModeler采集模型的輪廓實(shí)時(shí)同步到3Ds Max中進(jìn)行模型精細(xì)化。由于古建筑存在較多細(xì)小而復(fù)雜的結(jié)構(gòu),DPModeler自動(dòng)紋理映射效果較差,需要大量的修改貼圖。Mesh模型使用密集的三角網(wǎng)較真實(shí)地反映了建筑物實(shí)際的幾何外觀,但占用存儲(chǔ)空間較大,不夠輕量化,從而不利于后期宣傳與發(fā)布。在3Ds Max中進(jìn)行模型單體化,操作較為簡(jiǎn)單且效率高,將Mesh模型導(dǎo)入3Ds Max中并凍結(jié),參照Mesh模型在新圖層進(jìn)行重建,見圖7。
單體模型可在DPModeler軟件中進(jìn)行瓦塊壓平。將重建的模型還原到原來的場(chǎng)景中,在這里需要進(jìn)行刪除閃面,補(bǔ)洞和紋理修改。
圖7 場(chǎng)景中的Mesh模型和單體化模型
2.4.1
3D
打印使用3D模型修補(bǔ)軟件Magics軟件對(duì)單體化模型進(jìn)行進(jìn)一步的完善便可生產(chǎn)3D打印產(chǎn)品(圖8):①縮放模型至合適的打印尺寸。②修復(fù)模型的錯(cuò)誤:修復(fù)縫隙、孔洞和干擾殼體;修復(fù)模型的三角面片錯(cuò)誤;修復(fù)模型壁厚錯(cuò)誤消除打印中斷裂的風(fēng)險(xiǎn)。
圖8 3D打印結(jié)果展示
2.4.2
生成全景圖和VR
展示單體化模型導(dǎo)入草圖大師(Sketchup)軟件,基于Sketchup開發(fā)的Dsketchup插件可自動(dòng)生成全景圖和VR場(chǎng)景且自動(dòng)生成分享二維碼便于在移動(dòng)端自由查看。模型全景展示界面有評(píng)論界面和文字介紹欄,可對(duì)古建筑進(jìn)行詳盡的文字介紹,便于宣傳與推廣。
本文主要研究了基于消費(fèi)級(jí)無人機(jī)航空影像進(jìn)行古建筑三維重建的方法,探索了一種低成本、高效率的數(shù)字化古建筑保護(hù)方法;總結(jié)了模型重建方面的改進(jìn)思路,即增強(qiáng)航片對(duì)比度,提高空三質(zhì)量和優(yōu)化三角網(wǎng)格模型;總結(jié)了基于消費(fèi)級(jí)無人機(jī)航空影像快速建模,模型修飾和發(fā)布與宣傳的基本流程。通過較低的成本和較短的時(shí)間,可以完成對(duì)古建筑的逆向重建,生產(chǎn)3D打印實(shí)物、全景圖和VR展示等產(chǎn)品。相比地面測(cè)繪和三維激光掃描,操作流程更簡(jiǎn)易時(shí)間成本更低;相比直接在3D建模軟件手工建模,效率更高且對(duì)模型各處比例有很好的把控,更加接近真實(shí)。技術(shù)通常以一個(gè)超乎想象的速度更新迭代,在古建筑三維建模領(lǐng)域,也不斷涌現(xiàn)新的技術(shù)方案,如通過激光雷達(dá)構(gòu)建三維點(diǎn)云與傾斜影像結(jié)合等。真心希望能夠不斷涌現(xiàn)更多的、更先進(jìn)的技術(shù)方案用于解決古建筑的保護(hù)與維護(hù)問題。