汪子璐, 閆奕名
(哈爾濱工程大學(xué)信息與通信工程學(xué)院,黑龍江 哈爾濱 150001)
隨著虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)的發(fā)展,三維建筑模型在城市規(guī)劃、生態(tài)研究、災(zāi)害監(jiān)測(cè)等領(lǐng)域發(fā)揮著越來越重要的作用。機(jī)載LiDAR可以快速、實(shí)時(shí)地采集地物三維表面信息,因此航空掃描點(diǎn)云被廣泛運(yùn)用于建筑物的三維重建[1-2]。然而,受地物遮擋與掃描路線等因素的影響,機(jī)載LiDAR點(diǎn)云中建筑物的立面通常存在缺失,所以許多研究只著力于重建出建筑物的屋頂結(jié)構(gòu)[3]。同時(shí)大多數(shù)現(xiàn)有的重建方法都以密集三角網(wǎng)格來表征光滑表面,復(fù)雜的網(wǎng)格模型忽略了城市建筑的平面性及立面關(guān)系[4-5]。因此,如何從稀疏、殘缺的建筑點(diǎn)云中重建出完整、水密的簡(jiǎn)化建筑物模型十分具有挑戰(zhàn)性。
近年來,隱式神經(jīng)網(wǎng)絡(luò)被應(yīng)用到目標(biāo)三維形狀重建問題之中[6-8]。隱式表示能使用較小的內(nèi)存消耗將三維信息嵌入到神經(jīng)網(wǎng)絡(luò)中,因此能更好地建模出復(fù)雜建筑。然而,建筑物通常表現(xiàn)為屋頂、墻面等有強(qiáng)先驗(yàn)形狀的結(jié)構(gòu),當(dāng)網(wǎng)絡(luò)應(yīng)用于稀疏、含噪的LiDAR點(diǎn)云時(shí),重建出的網(wǎng)格模型往往具有不規(guī)則曲面,難以體現(xiàn)城市建筑的平面性。網(wǎng)格模型的大量面數(shù)也增加了對(duì)內(nèi)存空間的要求,導(dǎo)致模型的應(yīng)用場(chǎng)景受限。通常,通過對(duì)三角網(wǎng)格進(jìn)行簡(jiǎn)化來解決這個(gè)問題[9-10]。然而迭代刪點(diǎn)、頂點(diǎn)聚類和邊折疊等簡(jiǎn)化方法都致力于去除原始網(wǎng)格中的冗余面來簡(jiǎn)化網(wǎng)格,如何在減少面數(shù)的同時(shí)充分描述出建筑的幾何形狀仍然是一個(gè)有待解決的問題。
本文提出了一種新的框架來從LiDAR點(diǎn)云重建出水密的輕量級(jí)網(wǎng)格模型。首先利用點(diǎn)-體素結(jié)合的特征提取網(wǎng)絡(luò)作為編碼器、占用概率譯碼網(wǎng)絡(luò)作為解碼器進(jìn)行預(yù)訓(xùn)練,從深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的隱式場(chǎng)中獲得建筑物密集網(wǎng)格模型;然后通過優(yōu)化網(wǎng)格模型中的平面分量與拓?fù)潢P(guān)系,生成簡(jiǎn)化的網(wǎng)格模型。本文在蘇黎世建筑數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),利用所提方法既能從稀疏、殘缺的LiDAR點(diǎn)云中生成完整的模型,又能高質(zhì)量地構(gòu)建建筑物的輕量級(jí)網(wǎng)格模型。
如圖1所示,首先對(duì)LiDAR點(diǎn)云進(jìn)行預(yù)處理,人工分離出單體建筑點(diǎn)云后再對(duì)其進(jìn)行重建。本文所提出的方法包括兩個(gè)主要的處理模塊:基于隱式表示的表面信息模塊和基于結(jié)構(gòu)感知的網(wǎng)格優(yōu)化模塊。具體內(nèi)容如下:
與需要離散化的顯示表示不同,隱式表示使用神經(jīng)網(wǎng)絡(luò)來逼近連續(xù)函數(shù),如式(1)所示,隱式表示將三維坐標(biāo)映射到0或者1,表示空間中的某一位置處于物體內(nèi)部還是外部,一旦該函數(shù)確定,那么一個(gè)目標(biāo)形狀就確定了。
f(x,y,z)→{0,1}
(1)
因此,為了更好地提取復(fù)雜建筑物的幾何信息,本文采用基于隱式表示的信息提取網(wǎng)絡(luò)。
圖1 網(wǎng)絡(luò)整體架構(gòu)
通過隱式神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)占用概率函數(shù)fθ(s,x)來擬合建筑表面。占用概率函數(shù)根據(jù)點(diǎn)是否在建筑物內(nèi)部標(biāo)識(shí)占用與否,這使得表面信息提取問題轉(zhuǎn)化為點(diǎn)的二分類問題。在訓(xùn)練過程中建立起點(diǎn)與隱式表示的映射關(guān)系來預(yù)測(cè)該點(diǎn)的占用概率,并以此逼近真值的占用函數(shù):
fθ(s,x)→[0,1]
(2)
其中,s為輸入點(diǎn)云的某一點(diǎn),x為該點(diǎn)的特征向量。
如圖1所示,通過FPS (Farthest Point Sampling)將輸入點(diǎn)云下采樣至固定點(diǎn)數(shù)N,然后基于點(diǎn)-體素結(jié)合的幾何特征提取網(wǎng)絡(luò)提取到R×R×D維特征向量。其中點(diǎn)編碼器采用Res-PointNet,體素編碼器采用3D Unet。然后將該特征向量與查詢點(diǎn)坐標(biāo)共同輸入含有5個(gè)res block的占用譯碼模塊并推斷出各點(diǎn)的占用概率:
fθ(s,x)=g(dλ(s,x)),其中x=eα(s)
(3)
其中,α,λ分別參數(shù)化了編碼器和譯碼器模塊,g(x)是logit函數(shù),計(jì)算點(diǎn)s與建筑物表面的距離置信度作該點(diǎn)的占用概率。
圖2 兩種三維表示方法
如圖2所示,等值面fθ(s,x)=τ即是本文所提取到的建筑物幾何表面。
如圖1所示,幾網(wǎng)格優(yōu)化模塊主要包含3步:(a)通過區(qū)域增長(zhǎng)提取平面區(qū)域;(b)構(gòu)建并優(yōu)化平面區(qū)域的拓?fù)?(c)生成輕量級(jí)模型。
首先,區(qū)域增長(zhǎng)的過程如下:選擇一個(gè)未分組的面作為初始平面,遍歷其k環(huán)鄰域面并比較它們的法線方向θ與距離d,合并方向、距離均相近的兩個(gè)面并使用PCA(Principal Components Analysis)擬合平面,直到不再具有符合條件的面。由此,每個(gè)面都被分配到一個(gè)區(qū)域中,最終得到一組平面區(qū)域。
其次,雖然在區(qū)域增長(zhǎng)的過程中已經(jīng)建立起k環(huán)鄰域關(guān)系,但LiDAR點(diǎn)云中的噪聲會(huì)導(dǎo)致提取到的幾何信息不準(zhǔn)確,因此需要進(jìn)一步優(yōu)化拓?fù)?合并滿足共面條件的平面區(qū)域。合并平面區(qū)域的過程與區(qū)域增長(zhǎng)類似:遍歷所有平面區(qū)域,尋找符合角度、距離關(guān)系的平面區(qū)域進(jìn)行合并。接著,根據(jù)平面區(qū)域的邊界鄰接關(guān)系,得到平面鄰接拓?fù)鋱DG,如式(4)。
G=(v,e)
(4)
式(4)中,節(jié)點(diǎn)v是平面的質(zhì)心,而e是連接兩節(jié)點(diǎn)的邊,節(jié)點(diǎn)相連即兩平面互為相鄰面。
最后,將最優(yōu)平面的選取問題轉(zhuǎn)化為二元線性規(guī)劃問題,把每個(gè)平面表示為二進(jìn)制變量Vi,通過最小化能量函數(shù)E來選擇最優(yōu)平面。目標(biāo)能量函數(shù)E為數(shù)據(jù)成本D、面覆蓋率F與模型復(fù)雜度C這3個(gè)能量項(xiàng)的加權(quán)和:
(5)
式(5)中,Nall是總面數(shù),Nc是候選平面所覆蓋的面的總數(shù),Aall是簡(jiǎn)化后網(wǎng)格的表面積,Ai是該候選面的面積,Ac為該候選面與原始網(wǎng)格的并集面積,M是網(wǎng)格模型中邊總數(shù),當(dāng)邊ei兩側(cè)的面共面時(shí)c(ei)取0,反之取1。
在本節(jié)中,進(jìn)行了兩個(gè)實(shí)驗(yàn)來驗(yàn)證本文所提方法的重建結(jié)果。首先,比較了2種典型重建方法與本文方法在蘇黎世數(shù)據(jù)集上的性能,以驗(yàn)證本文所提框架的可行性。為了驗(yàn)證所提框架可靠性,設(shè)計(jì)并分析了稀疏性與參數(shù)分析2組對(duì)比實(shí)驗(yàn)。具體實(shí)驗(yàn)內(nèi)容如下:
為了訓(xùn)練和評(píng)估網(wǎng)絡(luò)框架,采用來自瑞士蘇黎世的LiDAR點(diǎn)云與相應(yīng)真值模型數(shù)據(jù),通過人工分離出單體建筑點(diǎn)云與真值模型。其中,LiDAR點(diǎn)云的密度為5pts/m2,點(diǎn)的水平和垂直位置精度分別為0.2m和0.1m,模型數(shù)據(jù)則為采用攝影測(cè)量法得到的LoD2模型。數(shù)據(jù)集中共470個(gè)建筑,訓(xùn)練集包含420個(gè)建筑,訓(xùn)練集50個(gè)建筑。這些建筑都具有良好的屋頂結(jié)構(gòu),而由于遮擋和LiDAR掃描角度的原因,建筑的立面只有部分可見,該數(shù)據(jù)集中的點(diǎn)云和真值模型如圖3。
訓(xùn)練的設(shè)備信息如下:Ubuntu18.04系統(tǒng),顯卡為NVIDIA RTX 2080Ti(11GB),CPU為Intel Xeon silver 4210(2.20GHz)。在整個(gè)網(wǎng)絡(luò)框架的參數(shù)設(shè)置上,使用了Adam優(yōu)化器,學(xué)習(xí)率設(shè)為1e-4,batch size為4,固定采樣2048個(gè)點(diǎn),訓(xùn)練150個(gè)epoch,閾值τ設(shè)置為0.2,鄰域數(shù)量k取1,角度閾值設(shè)置為10°,距離閾值根據(jù)模型最小邊寬自適應(yīng)決定,λ1取0.47,λ2取0.23,λ3取0.30。
為全面評(píng)估重建結(jié)果的質(zhì)量,既采用隱式重建常用的三個(gè)指標(biāo)[6]:倒角距離(CD)、推土距離(EMD)、F分?jǐn)?shù)(F-score),又采用網(wǎng)格模型優(yōu)化常用的兩個(gè)指標(biāo)[5]:豪斯多夫距離(HD)、面數(shù)。其中CD,EMD,HD均是數(shù)值越小,表明重建模型越接近于真值,而F-score則相反。面數(shù)則是衡量輕量級(jí)模型質(zhì)量的指標(biāo)。
為評(píng)估所提方法重建模型的質(zhì)量,本文分別與隱式重建網(wǎng)絡(luò)POCO[8]和輕量級(jí)網(wǎng)格重建網(wǎng)絡(luò)Points2Poly(P2P)[5]兩種方法進(jìn)行了對(duì)比。POCO計(jì)算了每個(gè)點(diǎn)的潛在向量并推斷出各點(diǎn)在鄰域中的權(quán)重,來推斷各點(diǎn)的占用概率以完成重建;P2P則首先對(duì)點(diǎn)云進(jìn)行自適應(yīng)空間劃分生成候選集,然后利用隱式網(wǎng)絡(luò)推斷出各空間的占用概率,最后通過組合優(yōu)化提取到建筑物模型的表面。本文根據(jù)官方代碼在蘇黎世數(shù)據(jù)集上重建出建筑物模型,所有基于LiDAR點(diǎn)云的建筑物重建結(jié)果如圖3所示,定量評(píng)估結(jié)果如表1,表2所示。
圖3 POCO,P2P與本文所提方法所建模型的可視化結(jié)果
首先,POCO能從不完整LiDAR點(diǎn)云中重建出建筑物的正確形狀,并得到完整的密集網(wǎng)格模型。但模型存在表面凹凸不平、各面相交處趨于圓潤(rùn)等問題,難以體現(xiàn)出建筑物表面的平面性與建筑物的棱角特征。P2P的重建結(jié)果則更為平滑,建筑物立面的交線也更明顯。
表1 建筑物重建結(jié)果
然而,由于P2P通過空間劃分進(jìn)行面的選擇,建筑物屋頂?shù)拇皯簟焽璧冉Y(jié)構(gòu)因體積小、距離近等因素,易被劃分到同一區(qū)間中,這使得屋頂結(jié)構(gòu)丟失。與這些方法相比,本文所提方法得到了完整、水密的輕量級(jí)模型,重建的形狀、細(xì)節(jié)結(jié)構(gòu)也更加準(zhǔn)確。
表2 圖3中(a)-(e)建筑物的重建結(jié)果,(x, y)中x為HD,y為面數(shù)
2.5.1 點(diǎn)云稀疏程度影響
在本節(jié)實(shí)驗(yàn)中,測(cè)試了本文所提方法對(duì)不同點(diǎn)數(shù)LiDAR點(diǎn)云的可靠性。假設(shè)初始輸入點(diǎn)數(shù)為3000,逐漸減少點(diǎn)數(shù),得到如圖4所示的重建結(jié)果。輸入的LiDAR建筑物點(diǎn)云越密集,得到的重建模型表面越準(zhǔn)確。當(dāng)點(diǎn)數(shù)在70%以上時(shí),基本能重建出建筑物的準(zhǔn)確模型,雖然側(cè)立面的小邊緣丟失,但屋頂部分受到的影響很少;當(dāng)點(diǎn)數(shù)在25%~75%時(shí),屋頂?shù)慕Y(jié)構(gòu)逐漸丟失,建筑物整體結(jié)構(gòu)受屋頂部分的形變影響出現(xiàn)冗余面(增大距離閾值可減小冗余面影響);點(diǎn)數(shù)在25%以下時(shí),雖然至少能粗略地重建出建筑物的形狀,但屋頂細(xì)節(jié)幾乎完全丟失。由此,當(dāng)點(diǎn)數(shù)在25%以上時(shí)均能重建出模型的整體結(jié)構(gòu),這也驗(yàn)證了本文所提方法對(duì)稀疏的LiDAR點(diǎn)云的有效性。
圖4 點(diǎn)云稀疏度研究的可視化結(jié)果
2.5.2 能量函數(shù)參數(shù)分析
對(duì)優(yōu)化過程中能量函數(shù)的參數(shù)而言,在一定范圍內(nèi)不同的值會(huì)產(chǎn)生相同的結(jié)果。如圖5所示,三個(gè)參數(shù)中,λ1的值應(yīng)略高于λ2與λ3,因?yàn)閿?shù)據(jù)擬合程度決定了優(yōu)化結(jié)果與原始網(wǎng)格模型的相似度。但若λ1與λ2的比值大于4,仍會(huì)影響優(yōu)化結(jié)果。
圖5 能量函數(shù)參數(shù)研究的可視化結(jié)果
本文針對(duì)機(jī)載LiDAR點(diǎn)云稀疏、殘缺等問題,提出了一個(gè)從LiDAR點(diǎn)云重建輕量級(jí)網(wǎng)格模型的框架。該架構(gòu)主要包括兩個(gè)模塊:基于隱式表示的表面信息提取模塊和基于結(jié)果感知的網(wǎng)格優(yōu)化模塊。表面提取模塊通過編碼器與譯碼器網(wǎng)絡(luò)學(xué)習(xí)并推斷建筑物目標(biāo)的占用概率函數(shù),并據(jù)預(yù)設(shè)閾值提取到建筑物表面;網(wǎng)格優(yōu)化模塊對(duì)平面區(qū)域的拓?fù)溥M(jìn)行分析和完善,最終重建出輕量級(jí)建筑模型。在蘇黎世建筑物數(shù)據(jù)集上,對(duì)本文提出的架構(gòu)進(jìn)行了驗(yàn)證,實(shí)驗(yàn)結(jié)果充分證明了所提方法既可以從不完整LiDAR點(diǎn)云中重建出完整輕量級(jí)模型,又在充分描述出建筑物幾何形狀與特征的同時(shí)保證了模型的水密性。