歐元漢,劉 進(jìn)+,勞冬影
(1.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院,廣西 南寧530004;2.南寧有無(wú)科技有限公司,廣西 南寧530004)
目前,基于點(diǎn)云的三維重建成為城市建筑建模最常用的技術(shù),根據(jù)點(diǎn)云獲取方式的不同分為兩類(lèi)[1]:基于激光雷達(dá) (LiDAR)點(diǎn)云和基于多視圖像MVS點(diǎn)云的重建。激光雷達(dá)點(diǎn)云可以較完整表示建筑物表面信息,但采集過(guò)程需要昂貴的設(shè)備,不適于大型復(fù)雜城市建筑重建;MVS(multi-view-stereo)點(diǎn)云是基于數(shù)碼相機(jī)拍攝的一系列多視圖像,利用SFM 和PMVS方法生成密集三維點(diǎn)云,具有成本低廉,自動(dòng)化程度高等特點(diǎn),且重建的模型紋理信息豐富[2]。本文研究基于MVS 點(diǎn)云的城市建筑三維重建方法,通過(guò)結(jié)合預(yù)處理和平面擬合,完成對(duì)泊松表面模型的改善。
點(diǎn)云三維重建過(guò)程主要包括預(yù)處理、表面重建、紋理映射等步驟,其中難點(diǎn)是表面重建。由于建筑物幾何模型的多樣性和復(fù)雜型,如何在表面重建過(guò)程中生成真實(shí)反映建筑物幾何信息的水密封閉網(wǎng)格成為建模的核心問(wèn)題。
近年來(lái),國(guó)內(nèi)外學(xué)者針對(duì)點(diǎn)云表面重建問(wèn)題進(jìn)行了大量研究:ACztireli等提出了移動(dòng)立方體RIMLS方法[3],能較好的生成三角網(wǎng)格模型,但對(duì)于復(fù)雜建筑物卻不能保證模型封閉,且有許多不連續(xù)部分;Marton等的貪婪投影三角化方法[4]能很快完成重建,但該算法基于點(diǎn)云表面光滑、密度變化均勻,對(duì)噪聲比較敏感,不能在三角化的同時(shí)對(duì)曲面進(jìn)行平滑和孔洞修復(fù);Li等提出的網(wǎng)格投影重建[5]也不能夠有效填充建筑物表面孔洞;Ohtake提出了一種隱函數(shù)模型,多層面單位分割隱函數(shù)曲面 (MPU)[6],用來(lái)滿足從大量收集的點(diǎn)中快速準(zhǔn)確地建立曲面的需求,MPU 表面重建的核心是一系列加權(quán)函數(shù)把這個(gè)范圍的所有點(diǎn)合計(jì)成一個(gè)曲面;QY Zhou提出了一種2.5維雙輪廓的方法[7],對(duì)于2.5維激光點(diǎn)云而言,該算法能同時(shí)優(yōu)化屋頂層表面幾何和邊界,輸出較小擬合誤差的無(wú)裂紋網(wǎng)格模型,但對(duì)三維密集MVS點(diǎn)云不太適用;Kazhdan等[8]提出一種基于隱式函數(shù)的三角網(wǎng)格重建算法,將重建問(wèn)題轉(zhuǎn)化為求空間泊松方程解的問(wèn)題,進(jìn)而產(chǎn)生一個(gè)的水密封閉的網(wǎng)格,該泊松重建算法對(duì)激光點(diǎn)云和MVS點(diǎn)云均有較好的曲面生成效果,能生成水密封閉的網(wǎng)格模型,相對(duì)其它重建方法而言,泊松表面重建更適用于MVS點(diǎn)云,但由于該算法基于對(duì)象是平滑的,因此對(duì)于建筑物的棱邊和尖銳特征會(huì)比較敏感。
為此,本文提出基于MVS點(diǎn)云的表面重建方法,以建筑物密集MVS點(diǎn)云作為輸入,先經(jīng)過(guò)濾波去噪預(yù)處理過(guò)程,再通過(guò)高效RANSAC 擬合平面模型,最后通過(guò)泊松表面重建生成網(wǎng)格模型。通過(guò)實(shí)驗(yàn)對(duì)比,經(jīng)過(guò)本文方法處理后的泊松表面模型較處理前有顯著改善,幾何信息更加完整。該方法可以進(jìn)一步拓展到大場(chǎng)景建筑物自動(dòng)建模工作中去。
首先利用無(wú)人機(jī)拍攝的多角度傾斜航拍照片,通過(guò)Bundler獲得稀疏點(diǎn)云,接著使用PMVS 生成密集三維點(diǎn)云。使用meshlab從生成的城市區(qū)域MVS點(diǎn)云中提取單棟建筑物點(diǎn)云,作為本文實(shí)驗(yàn)的數(shù)據(jù)輸入,如圖1所示。

圖1 單棟建筑初始MVS點(diǎn)云 (426 281個(gè)點(diǎn))
在MVS點(diǎn)云獲取過(guò)程中,由于特征點(diǎn)匹配不準(zhǔn)或數(shù)據(jù)拼接配準(zhǔn)有誤等原因,導(dǎo)致生成的點(diǎn)云不可避免地出現(xiàn)一些噪聲或離群點(diǎn)。目前大多數(shù)的表面重建算法對(duì)帶有噪聲和離群點(diǎn)的點(diǎn)云較為敏感,若不加以處理將導(dǎo)致后續(xù)的重構(gòu)曲面不光滑、表面存在孔洞或裂縫。因此,在表面重建之前,需要對(duì)點(diǎn)云進(jìn)行濾波去噪處理,從而提高重建網(wǎng)格的質(zhì)量和精度。
本文使用基于統(tǒng)計(jì)分析的濾波方法[9]去除MVS點(diǎn)云中噪聲及離群點(diǎn)。該方法基于在輸入數(shù)據(jù)中對(duì)點(diǎn)到鄰近點(diǎn)的距離分布的計(jì)算,通過(guò)對(duì)每個(gè)點(diǎn)的鄰域進(jìn)行統(tǒng)計(jì)分析,修剪掉不符合一定標(biāo)準(zhǔn)的點(diǎn)。對(duì)于每個(gè)點(diǎn),計(jì)算它到它的所有鄰近點(diǎn)的平均距離。假設(shè)得到的結(jié)果是一個(gè)高斯分布,其形狀由均值和標(biāo)準(zhǔn)差決定,平均距離在標(biāo)準(zhǔn)范圍 (由全局距離平均值和方差定義)之外的點(diǎn),即可被定義為異常點(diǎn),并從數(shù)據(jù)集中去除掉。具體算法流程如下:
(1)讀入初始MVS密集點(diǎn)云,記為樣本集S;
(2)搜索點(diǎn)云中任意一點(diǎn)pi∈S的K-近鄰Nb(p);
(3)計(jì)算當(dāng)前點(diǎn)pi與其K-近鄰所有點(diǎn)之間的平均距離Mean(pi),即

(4)假設(shè)所有點(diǎn)的Mean(pi)是一個(gè)高斯分布,其中期望μ為全局距離平均值,標(biāo)準(zhǔn)差σ,定義標(biāo)準(zhǔn)范圍:μ±α·σ。其中α為給定的閾值,取決于點(diǎn)被分析鄰域的大小。
(5)對(duì)任意一點(diǎn)pi,若平均距離Mean(pi)不在μ±α·σ范圍內(nèi),則判斷為離群點(diǎn)或噪聲點(diǎn),從點(diǎn)云中剔除。
圖2為使用該方法處理后結(jié)果,可以看出該算法能有效去除MVS點(diǎn)云邊緣及表面的噪聲和離群點(diǎn),同時(shí)保持了模型的尖銳和邊緣特征。因此,將此方法運(yùn)用到表面重建之前,有助于提高表面重建的質(zhì)量。

圖2 濾波后結(jié)果 (405 284個(gè)點(diǎn))
2.3.1 RANSAC
隨機(jī)采樣一致 (RANSAC)是一種隨機(jī)參數(shù)估計(jì)算法[10],通過(guò)RANSAC可以從點(diǎn)云中估算出平面模型參數(shù),從而檢測(cè)平面模型。由于一般RANSAC平面檢測(cè)在找到點(diǎn)云中的最優(yōu)平面內(nèi)點(diǎn)算法即停止,對(duì)于平面特征豐富的建筑物而言,該方法難以有效檢測(cè)出所有平面段,且對(duì)于大規(guī)模點(diǎn)云執(zhí)行效率不高。
2.3.2 高效RANSAC平面檢測(cè)
本文采用文獻(xiàn) [11]中基于局部采樣策略和評(píng)分函數(shù)的高效RANSAC方法,對(duì)經(jīng)濾波處理后的點(diǎn)云進(jìn)行平面檢測(cè)。在此之前,使用 “點(diǎn)云分塊”來(lái)提高處理海量點(diǎn)云的效率,實(shí)現(xiàn)平面快速擬合。
方法主要思想與RANSAC類(lèi)似,不同的是該算法在檢測(cè)到一個(gè)最優(yōu)平面后保存平面內(nèi)點(diǎn),繼續(xù)對(duì)剩余點(diǎn)進(jìn)行迭代RANSAC處理,最終有效檢測(cè)出模型中所有平面參數(shù),同時(shí)使用得分函數(shù)評(píng)估和局部采樣策略高效檢測(cè)出點(diǎn)云中所有平面模型。算法具體步驟如下:
步驟1 在點(diǎn)云P= {p1,p2..pn}中隨機(jī)選擇 {p1,p2..pn}3個(gè)點(diǎn);
步驟2 根據(jù) {p1,p2..pn}的位置構(gòu)造平面Ψ;
步驟3 計(jì)算平面Ψ的法向量n與 {p1,p2..pn}的法向量 {n1,n2,n3}的夾角,如果存在一個(gè)夾角過(guò)大,丟棄Ψ并重回步驟1,否則繼續(xù);
步驟4 計(jì)算點(diǎn)云P 中其余點(diǎn)pi到Ψ的歐氏距離d(Ψ,pi)以及和法向量n的夾角θi,并統(tǒng)計(jì)d(Ψ,pi)小于閾值ε且θi小于閾值α的點(diǎn)的個(gè)數(shù)作為平面Ψ的得分σ(Ψ),得分函數(shù)σ(Ψ)由以下兩個(gè)公式確定

其中,n(pi)是點(diǎn)pi的法線,n(Ψ,pi)是pi在Ψ上投影的法線,max component(Ψ,)提取了Ψ內(nèi)由投影過(guò)來(lái)的最大連通組件點(diǎn)集;
步驟5 重復(fù)步驟1至步驟4T 次,選擇出最高得分的平面Ψ′,T 由以下公式確定

式中:τ——位于Ψ之外的點(diǎn)所占比例的估計(jì)值,pt——經(jīng)過(guò)T 次采樣之后選中最優(yōu)平面的概率,由統(tǒng)計(jì)學(xué)規(guī)律可以得出;
步驟6 記錄Ψ′,同時(shí)將計(jì)入σ(Ψ′)的點(diǎn)從點(diǎn)云P 中去除;
步驟7 重復(fù)步驟1至步驟6,直到從剩余點(diǎn)中無(wú)法找出一個(gè)得分不小于閾值σ的平面。
通過(guò)以上步驟能有效檢測(cè)出點(diǎn)云中可能存在的平面。對(duì)于大場(chǎng)景城市建筑重建,需要處理海量點(diǎn)云,而計(jì)算機(jī)內(nèi)存有限,直接處理將會(huì)影響平面檢測(cè)的效率。本文采用等格網(wǎng)分割方法[12]對(duì)海量點(diǎn)云數(shù)據(jù)進(jìn)行分塊處理,將點(diǎn)云分割成適合內(nèi)存大小的塊,采用 “分而治之”的思想,分別對(duì)各分塊點(diǎn)云進(jìn)行RANSAC檢測(cè),從而實(shí)現(xiàn)海量點(diǎn)云快速平面擬合。
圖3展示了運(yùn)用點(diǎn)云分塊和高效RANSAC 方法對(duì)點(diǎn)云進(jìn)行平面擬合的結(jié)果。實(shí)驗(yàn)中距離閾值ε設(shè)置為0.008,法向量偏差α閾值缺省值為arccos0.8,約37度。由于對(duì)點(diǎn)云進(jìn)行分塊處理,大大提高了算法執(zhí)行的效率??梢钥闯觯瑪M合后的模型由平面段組成,形狀平整、規(guī)則,真實(shí)反映了建筑物原有特征。

圖3 RANSAC平面擬合結(jié)果
為了驗(yàn)證本文方法重建效果,使用無(wú)人機(jī)航拍141 張6000×4000像素的數(shù)碼照片,通過(guò)Bundler和PMVS獲得密集三維點(diǎn)云。實(shí)驗(yàn)運(yùn)行環(huán)境:CPU Intel E3-1230,主頻3.7GHz,內(nèi)存8 GB,64 位操作系統(tǒng),運(yùn)行平臺(tái)為Microsoft Visual Studio 2010,使用OpenCV 和PCL庫(kù)。
圖4展示了4種常用表面重建方法對(duì)單棟建筑物的重建結(jié)果:泊松重建產(chǎn)生一個(gè)水密封閉的網(wǎng)格模型如圖4 (a)所示,表面平整無(wú)裂縫、墻壁垂直性較好;2.5維雙輪廓方法產(chǎn)生的模型如圖4 (b)所示屋頂面不平整、墻壁畸變嚴(yán)重;Marching cubes RIMLS重建如圖4 (c)所示不能保證封閉且有許多不連續(xù)部分,屋頂缺失嚴(yán)重;多層面單位分割(MPU)表面重建如圖4 (d)所示大體上和泊松模型接近,但垂直墻壁缺失嚴(yán)重,表面凹凸不平。表1 顯示了4種方法重建單棟建筑物的耗時(shí)。通過(guò)以上對(duì)比,泊松重建生成的模型質(zhì)量最好,同時(shí)算法簡(jiǎn)單易執(zhí)行,比較適用于建筑物MVS密集點(diǎn)云的重建工作。
圖5顯示了應(yīng)用本文處理方法前后泊松表面重建結(jié)果對(duì)比。初始泊松網(wǎng)格如圖5 (a)、圖5 (c)所示基本能達(dá)到水密和無(wú)裂縫,但在幾何細(xì)節(jié)方面效果不佳,如表面不夠光滑平整、邊緣不夠鋒利等。通過(guò)對(duì)初始點(diǎn)云進(jìn)行預(yù)處理和快速平面擬合,生成的泊松模型如圖5 (b)、圖5 (d)所示平面及尖銳特征得以恢復(fù),模型質(zhì)量明顯改善。通過(guò)對(duì)比圖5 (a)、圖5 (b),處理后的泊松模型表面更加光滑,尖銳特征明顯,同時(shí)去除了之前生成的一些多余形狀。對(duì)比圖5 (c)、圖5 (d),屋頂面幾何形狀更加明顯,邊緣缺失部分得以修復(fù),邊緣更加鋒利規(guī)則。

圖4 幾種表面重建方法重建結(jié)果

表1 幾種方法重建耗時(shí)對(duì)比

圖5 使用本文方法處理前后泊松重建結(jié)果
為驗(yàn)證本文方法的適用性,將實(shí)驗(yàn)對(duì)象拓展到大場(chǎng)景城市建筑,重建流程如圖6所示,依次是平面擬合和泊松重建的效果。可以看出,本文方法對(duì)大場(chǎng)景城市建筑具有不錯(cuò)的重建能力。

圖6 大場(chǎng)景城市建筑重建過(guò)程
針對(duì)當(dāng)前泊松等表面重建方法對(duì)MVS點(diǎn)云重建效果不佳的問(wèn)題,本文提出了一種結(jié)合點(diǎn)云濾波及平面擬合來(lái)改善泊松重建質(zhì)量的方法。通過(guò)統(tǒng)計(jì)分析濾波方法有效去除點(diǎn)云表面和邊緣的雜點(diǎn),使用點(diǎn)云分塊和高效RANSAC 完成點(diǎn)云平面模型的快速擬合。實(shí)驗(yàn)結(jié)果表明,本文方法具有一定的優(yōu)越性,可以有效恢復(fù)建筑物的平面和尖銳特征,改善了泊松重建模型的質(zhì)量。最后,將本文方法應(yīng)用于大場(chǎng)景建筑物建模中,驗(yàn)證了該方法較好的適用性,對(duì)于虛擬城市三維環(huán)境的構(gòu)建將會(huì)起到一定的作用。后續(xù)的工作將會(huì)圍繞大場(chǎng)景下重建的效率以及某些細(xì)節(jié)特征的恢復(fù)來(lái)展開(kāi),進(jìn)一步提高城市重建的質(zhì)量和完整性。
[1]Musialski P,Wonka P,Aliaga DG,et al.A survey of urban reconstruction [J].Computer Graphics Forum,2013,32(6):146-177.
[2]Vanegas CA,Aliaga DG,Wonka P,et al.Modelling the appearance and behaviour of urban spaces [J].Computer Graphics Forum,2010,29 (1):25-42.
[3]ztireli AC,Guennebaud G,Gross M.Feature preserving point set surfaces based on non-linear kernel regression [J].Computer Graphics Forum,2009,28 (2):493-501.
[4]Marton ZC,Rusu RB,Beetz M.On fast surface reconstruction methods for large and noisy point clouds[C]//IEEE International Conference on Robotics and Automation,2009:3218-3223.
[5]Li R,Liu L,Phan L,et al.Polygonizing extremal surfaces with manifold guarantees[C]//Proceedings of the 14th ACM Symposium on Solid and Physical Modeling.ACM,2010:189-194.
[6]WEN Peizhi,NING Ruhua,HUANG Jinfang.Parameter optimization based mutil-level partition of unity surface reconstruction [J].Computer Application,2011,31 (7):1811-1814(in Chinese).[溫佩芝,寧如花,黃錦芳.基于參數(shù)優(yōu)化的多層次單元?jiǎng)澐智嬷亟?[J].計(jì)算機(jī)應(yīng)用,2011,31 (7):1811-1814.]
[7]Zhou QY.Neumann U.2.5Ddual contouring:A robust approach to creating building models from Aerial LiDAR point clouds[M]//Computer Vision-ECCV.Berlin:Springer Berlin Heidelberg,2010:115-128.
[8]Bolitho M,Kazhdan M,Burns R,et al.Advances in Visual Computing [M].Berlin:Springer Berlin Heidelberg,2009:678-689.
[9]Zhang B,Cao Q.Proceedings of 2013Chinese Intelligent Au-tomation Conference[M].Berlin:Springer Berlin Heidelberg,2013:1-10.
[10]ZHOU Chunlin,ZHU Hehua,LI Xiaojun.Research and application of robust plane fitting algorithm with RANSAC [J].Computer Engineering and Applications,2011,47 (7):177-179 (in Chinese). [周春霖,朱合華,李曉軍.隨機(jī)抽取一致性平面擬合及其應(yīng)用研究 [J].計(jì)算機(jī)工程與應(yīng)用,2011,47 (7):177-179.].
[11]Schnabel R,Wahl R,Klein R.Efficient RANSAC for pointcloud shape detection [J].Computer Graphics Forum,2007,26 (2):214-226.
[12]Johnson-Roberson M,Bohg J,Bjorkman M,et al.Attention-based active 3D point cloud segmentation [C]//IEEE/RSJ International Conference on Intelligent Robots and Systems,2010:1165-1170.