萬怡平,習(xí)曉環(huán),溫 奇,王 成,王方建
(1.中國科學(xué)院遙感與數(shù)字地球研究所 數(shù)字地球重點(diǎn)實(shí)驗(yàn)室,北京 100094;2.中國科學(xué)院大學(xué),北京100049;3.民政部國家減災(zāi)中心,北京100124)
地面三維激光掃描技術(shù)(Terrestrial Laser Scanner,TLS)可以在短時(shí)間內(nèi)獲取目標(biāo)高精度、高密度的三維空間信息,這些海量的離散點(diǎn)云數(shù)據(jù)可很好地描述目標(biāo)的外部輪廓。在利用這些數(shù)據(jù)進(jìn)行地物三維模型重建時(shí),關(guān)鍵是識(shí)別目標(biāo)表面的特征點(diǎn)云,提取邊界點(diǎn)并構(gòu)建幾何模型或輪廓[1],這也是利用海量點(diǎn)云數(shù)據(jù)自動(dòng)或半自動(dòng)重建建筑物三維模型的關(guān)鍵。近年來國內(nèi)外學(xué)者在這方面已經(jīng)開展大量的研究,取得諸多研究成果[2-7],這些方法大多通過對點(diǎn)云數(shù)據(jù)進(jìn)行柵格化以及面片分割,最終實(shí)現(xiàn)建筑模型的重建。
田慶[8]通過對地面點(diǎn)云數(shù)據(jù)格網(wǎng)化,以及分割平面點(diǎn)云并分片保存,然后利用八叉樹網(wǎng)格化、索引方法提取邊界點(diǎn),進(jìn)而建立邊界點(diǎn)云索引,實(shí)現(xiàn)目標(biāo)邊界線的提取。儲(chǔ)珺等[9]為解決海量點(diǎn)云處理復(fù)雜和噪聲影響等問題,利用點(diǎn)云的幾何統(tǒng)計(jì)特征開發(fā)多平面檢測算法。Wang等[10]對地面點(diǎn)云數(shù)據(jù)進(jìn)行分割,得到建筑物不同部位的面片點(diǎn)云,然后進(jìn)行規(guī)則化,提取各面片的邊界進(jìn)而實(shí)現(xiàn)建筑物重建。Peter等[11]根據(jù)屋頂面片的邊緣位置和長度選擇性相交的特點(diǎn)(平行、垂直、斜交等)提取屋頂模型,然后垂直投影到地面得到建筑模型。Pu等[12]提出了基于知識(shí)的(Knowledge based)建筑模型重建方法,依據(jù)建筑物面積、中心點(diǎn)、法向量等信息對地面、墻、窗、屋頂、門等進(jìn)行分類定義,已知的建筑物信息作為約束條件,應(yīng)用最小二乘等方法重建模型。沈蔚[13]等利用α-Shape算法提取建筑輪廓線,再利用管子算法進(jìn)行簡化,進(jìn)而得到建筑物線框模型。劉進(jìn)[14]提出一種自適應(yīng)的點(diǎn)云模型重建方法,目的是解決RANSAC(Rando m Sample Consensus)算法中參數(shù)分割和有效噪聲判斷難的問題,需多次分割和迭代。王茹[15]等首先對獲取的建筑點(diǎn)云數(shù)據(jù)按照建筑物高度進(jìn)行分塊、索引和排序,以期提高層塊中數(shù)據(jù)簡化的速度。
可以看出,以上方法大多需要對海量點(diǎn)云數(shù)據(jù)柵格化、面片分割和規(guī)則化、邊界提取等復(fù)雜的過程,而且這些算法有一定的適應(yīng)范圍和條件,或者只考慮墻體的重建而很少關(guān)注門、窗等建筑物的重要構(gòu)成部分。利用TLS點(diǎn)云數(shù)據(jù)進(jìn)行模型重建的本質(zhì)即從海量點(diǎn)云中提取模型自動(dòng)重建所需的邊界點(diǎn),而這些點(diǎn)相對于全部的建筑物點(diǎn)云數(shù)據(jù)數(shù)量非常少。本研究提出一種分層的方法,從TLS數(shù)據(jù)中快速重建建筑物模型,同時(shí)利用傳統(tǒng)方法對同一建筑物點(diǎn)云數(shù)據(jù)進(jìn)行建模,對兩種方法的效率和結(jié)果進(jìn)行比較,驗(yàn)證本方法的可行性和效果。
研究對象為中國科學(xué)院北京新技術(shù)園區(qū)內(nèi)大門口的傳達(dá)室,長12 m、寬5.5 m、高4 m。所用地面三維激光掃描儀為Riegl-VZ1000,最大脈沖頻率和射程分別為300 k Hz和1400 m(反射率90%的地物),可以水平方向360°、垂直方向100°掃描(無云臺(tái)支持),測距50 m處點(diǎn)云精度可達(dá)2 mm。共架設(shè)4個(gè)掃描站點(diǎn),經(jīng)配準(zhǔn)拼接及去噪后點(diǎn)云數(shù)據(jù)為2 053 617個(gè),點(diǎn)間距為0.004 m,只存儲(chǔ)點(diǎn)的三維坐標(biāo),文件格式為.xyz。由于掃描時(shí)站點(diǎn)架設(shè)高度及垂直掃描角度有限,未能獲取到頂部的點(diǎn)云數(shù)據(jù),但不影響本文方法在模型重建中的應(yīng)用。圖1為獲取建筑物的點(diǎn)云數(shù)據(jù)。
為了驗(yàn)證方法的適用性和效率,同時(shí)對園區(qū)內(nèi)另一大樓進(jìn)行完整掃描,如圖2所示。該建筑物長59 m、寬19 m、高30 m,其特點(diǎn)是窗戶多但相對規(guī)則,共架設(shè)6個(gè)掃描站點(diǎn),經(jīng)過配準(zhǔn)拼接及抽稀去噪后共有點(diǎn)云2 586 455個(gè),點(diǎn)間距0.01 m,文件格式同上。
圖1 試驗(yàn)建筑物地面點(diǎn)云數(shù)據(jù)
圖2 驗(yàn)證大樓地面點(diǎn)云數(shù)據(jù)
對于噪聲點(diǎn)云的去除,現(xiàn)有研究從算法和硬件等方面都進(jìn)行了有益探索,但普遍存在計(jì)算量大的問題,如杜小燕[16]等基于點(diǎn)云模型的雙邊濾波去噪算法、徐波[17]等基于CUDA的點(diǎn)云去噪算法,利用GPU的并行計(jì)算進(jìn)行去噪計(jì)算。本研究考慮到建筑物大多比較規(guī)則,其表面的點(diǎn)云分布在空間上呈現(xiàn)很強(qiáng)的聚集性,即某一空間平面有一定數(shù)量的描述對象表面特征的點(diǎn),在平面的邊緣有少量的無序離散分布的噪聲點(diǎn)。根據(jù)這一特性,為簡化去噪過程,采用基于直方圖統(tǒng)計(jì)的方法將各平面周圍的無序噪聲點(diǎn)去除。
首先根據(jù)點(diǎn)云數(shù)據(jù)生成統(tǒng)計(jì)直方圖,即相對于某個(gè)平面,點(diǎn)云與該平面的距離由小到大進(jìn)行分段統(tǒng)計(jì),其中分段大小(每段的距離跨度大?。┲苯佑绊懭ピ氲男Ч?。經(jīng)過對比試驗(yàn),根據(jù)距離的總跨度將點(diǎn)云數(shù)據(jù)平均分成500等分。依據(jù)點(diǎn)與平面之間距離,統(tǒng)計(jì)其在不同分段區(qū)間內(nèi)的數(shù)量,對相應(yīng)的分段區(qū)間進(jìn)行累加,繼而轉(zhuǎn)化為各分段區(qū)間占總點(diǎn)數(shù)的比例,生成統(tǒng)計(jì)直方圖。由于建筑物的規(guī)則性和點(diǎn)云的聚集性,非噪聲點(diǎn)所在分段區(qū)間的比例必然在一較高范圍內(nèi),噪聲點(diǎn)所在分段區(qū)間的比例接近于0。然后根據(jù)直方圖統(tǒng)計(jì)分布曲線設(shè)置閾值,將占比小于某一距離值范圍內(nèi)的點(diǎn)刪除進(jìn)而達(dá)到去除噪聲的目的,曲線及結(jié)果如圖3和圖4所示。圖4中墻面右上突出部分的噪聲點(diǎn)云(白色框內(nèi))經(jīng)過直方圖統(tǒng)計(jì)去噪而被刪除。針對不同的平面進(jìn)行統(tǒng)計(jì),即可將噪聲點(diǎn)去除。
圖3 統(tǒng)計(jì)分布曲線圖及閾值參考線
圖4 去噪前后對比
基于TLS數(shù)據(jù)進(jìn)行模型重建一般要經(jīng)過面片分割、邊界點(diǎn)云提取、最佳直線擬合、模型生成等步驟,其中面片分割、邊界點(diǎn)云提取是相對復(fù)雜的過程。
本文所研究的建筑物有以下特性:
1)屋頂為平面,且平行于或近似平行于地面;
2)墻面垂直于地面,其在地面的投影為閉合多邊形;
3)門及窗戶呈矩形,且相對墻面有一定外凸或內(nèi)凹。
根據(jù)建筑物具有相對規(guī)則的外形及建筑物建造過程中逐級(jí)增加原理,將建筑物在豎直方向平均分成高差相等的若干層,各層點(diǎn)云投影到本層某一高度上,從而直接得到該層邊界點(diǎn)云,再進(jìn)行各層直線擬合及層間線框模型連接判斷,生成建筑物整體線框模型。本文根據(jù)研究對象的特點(diǎn)將其分成100層(見圖5),然后將每一層的所有點(diǎn)投影到該層高度值最大且垂直于豎直方向的平面上,該層所有點(diǎn)即為某一平面內(nèi)的邊界點(diǎn)。
圖5 分層后效果
利用得到的邊界點(diǎn)云即可構(gòu)建三維模型。首先根據(jù)每層的邊界點(diǎn)云擬合得到最佳直線,本文采用隨機(jī)方法生成線段,即隨機(jī)選取兩個(gè)點(diǎn)連接為一直線,計(jì)算其他點(diǎn)與該直線的垂直距離,小于某一閾值的點(diǎn)認(rèn)為屬于該直線;如有超過一定數(shù)目的點(diǎn)屬于該直線,則該直線為所求的邊界線之一,將其保存于該直線的數(shù)組中,從屬于該直線的所有點(diǎn)中計(jì)算得到線段兩端的端點(diǎn)。如屬于該直線的點(diǎn)的數(shù)目小于某一閾值,則放棄該直線,繼續(xù)搜索下一直線,直到所有點(diǎn)搜索完畢。然后根據(jù)得到的線段及該線段的端點(diǎn)對所有線段進(jìn)行連通性分析,并進(jìn)行閉合操作,即生成單層的線框模型。
最后對相鄰層的線框模型進(jìn)行連接判斷。對各層線框模型的線段端點(diǎn),以某一拐點(diǎn)端點(diǎn)為起始點(diǎn),統(tǒng)一按順時(shí)針或逆時(shí)針方向排序。相鄰層間可以連接的端點(diǎn)必然是在同一豎直線上,因此判斷依據(jù)即本層端點(diǎn)與下層某一端點(diǎn)的連線與豎直方向的夾角(定義為α角)是否在一個(gè)很小的限差內(nèi),如是,則連接兩端點(diǎn),否則按順序搜索下一個(gè)端點(diǎn),最后完成層間的連接。圖6為基于分層方法的線框模型生成流程。
由于建筑物是按豎直方向進(jìn)行分層,限差內(nèi)的端點(diǎn)(即層間可連接端點(diǎn))的α角應(yīng)趨近或接近于0,該端點(diǎn)在豎直方向上投影于同一平面兩點(diǎn)幾乎可重合,即兩點(diǎn)坐標(biāo)的值幾乎不變,僅由于兩點(diǎn)處于不同層而表現(xiàn)在值的變化,值差異很大的兩個(gè)層間端點(diǎn)必然不能相連。因此判斷兩端點(diǎn)能否相連可簡化為判斷兩個(gè)端點(diǎn)在水平面上的歐氏距離,即:
圖6 線框模型生成流程
垂直方向端點(diǎn)連接后,除最高和最低層,對中間各層進(jìn)行判斷:如本層端點(diǎn)與上一層端點(diǎn)都有連接,則刪除本層的線框模型;如本層存在未與上一層端點(diǎn)相連的端點(diǎn),則本層端點(diǎn)間的線段保留,據(jù)此即生成完整的建筑物線框模型,如圖7所示。
圖7 試驗(yàn)建筑物線框模型
基于直方圖統(tǒng)計(jì)去噪方法,由于對點(diǎn)云進(jìn)行的是統(tǒng)計(jì)過程,避免一般去噪方法中點(diǎn)之間相關(guān)性計(jì)算這一計(jì)算量大的步驟,因此能提高去噪效率。對于由環(huán)境而非設(shè)備自身原因產(chǎn)生的離散噪聲,可以有效的將其去除。
從圖7可以看出,所建立的線框模型還不盡完美,如存在線段冗余和缺失的現(xiàn)象。線段缺失主要是由于數(shù)據(jù)缺失,特別是建筑物內(nèi)部的墻和門等部分?jǐn)?shù)據(jù)缺失,導(dǎo)致在連通性判斷時(shí)出現(xiàn)錯(cuò)誤連接、沒有邊界的地方會(huì)出現(xiàn)直線等,這是模型自動(dòng)化重建過程中難以避免的一個(gè)難題。冗余的原因在于邊界點(diǎn)沒有高度的聚合,即沿直線垂直方向的點(diǎn)間距較大,連通性分析過程中端點(diǎn)連接判斷出現(xiàn)錯(cuò)誤。另外,窗戶、門等建筑物構(gòu)件相對于墻面有一定的外凸或內(nèi)凹,否則單層投影后的點(diǎn)云無法形成窗戶、門等的邊界輪廓。
為了進(jìn)一步驗(yàn)證本方法的適用性和效率,利用圖2的點(diǎn)云數(shù)據(jù),分別用一般線框模型重建方法(面片分割、邊界點(diǎn)提取、線框模型生成等過程)及本文方法進(jìn)行對比。本文算法是基于vs2010平臺(tái)利用C++語言編程實(shí)現(xiàn),RANSAC算法和-Shape算法通過PCL庫和CGAL庫來實(shí)現(xiàn);硬件平臺(tái)為OPTIPLEX 390臺(tái)式機(jī),4 G內(nèi)存、3.3 GHz的i3處理器,操作系統(tǒng)為64位windows7。
一般建模方法中,利用RANSAC[10]進(jìn)行面片分割用時(shí)為1 430.365 s,獲得分割面片229個(gè),其中距離閾值為0.2,點(diǎn)數(shù)閾值為500,如圖8所示。在此基礎(chǔ)上,利用-Shape算法進(jìn)行邊界點(diǎn)提取所用時(shí)間為12 411.622 s,邊界線生成即線框模型生成所用時(shí)間為45.331 s。利用本文的分層方法,根據(jù)高程值將點(diǎn)云分為100層所用時(shí)間為14.237 s,通過批處理對所有層分別進(jìn)行投影時(shí)間為8.764 s,此時(shí)即產(chǎn)生各層的邊界點(diǎn),各層線框模型生成及層間端點(diǎn)連接所用時(shí)間為568.398 s,結(jié)果如圖9所示。
圖8 面片分割后驗(yàn)證大樓點(diǎn)云顯示
圖9 本文方法得到的驗(yàn)證大樓線框模型
可以看出,基于分層技術(shù)的建筑物線框模型快速生成方法在模型重建效率方面具有很大的優(yōu)勢。RANSAC算法的原理是隨機(jī)抽樣選取部分點(diǎn)進(jìn)行共面分析,效率不高,而-Shape算法通過設(shè)定的半徑對所有點(diǎn)進(jìn)行域內(nèi)外的判斷。本文方法原理簡單、計(jì)算量小,可以快速提取邊界點(diǎn),提高模型自動(dòng)重建的效率,而且模型重建效果好,并且窗戶等建筑物細(xì)節(jié)結(jié)構(gòu)的識(shí)別也有較好的效果。
本文針對TLS點(diǎn)云數(shù)據(jù),提出基于直方圖統(tǒng)計(jì)的去噪方法和基于分層技術(shù)的建筑物快速重建方法,取得很好的應(yīng)用效果。由于是將各層點(diǎn)云投影到平面得到邊界點(diǎn),因此難點(diǎn)在于準(zhǔn)確提取內(nèi)凹或外凸等不明顯的建筑物構(gòu)件,如窗戶、門等信息。從兩種方法的比較可以看出,在生成最后的線框模型時(shí),本文方法效率高于傳統(tǒng)方法。這在于減少了點(diǎn)云面片的復(fù)雜過程,但分層方法生成的線框太多,在連接時(shí)需要判斷和搜索,最終模型的精度對噪聲去除效果依賴性較強(qiáng),因此下一步工作將對算法進(jìn)一步完善,提高邊界線的提取精度,引進(jìn)更加精確的去噪算法,減少人為因素的影響。同時(shí),分層方法的特點(diǎn)決定其建立在門窗等結(jié)構(gòu)相對于墻面有一定的凹凸關(guān)系上,因此需要進(jìn)一步研究更復(fù)雜的建筑物,如圓形或非矩形等,拓展方法的適用性。
[1] 王小超,劉秀平,李寶軍,等.基于局部重建的點(diǎn)云特征點(diǎn)提?。跩].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2013,25(5):659-665.
[2] 潘建剛.基于激光掃描數(shù)據(jù)的三維重建關(guān)鍵技術(shù)研究[D].北京:首都師范大學(xué),2005.
[3] 浮丹丹,周紹光,徐洋,等.基于主成分分析的點(diǎn)云平面擬合技術(shù)研究[J].測繪工程,2014,23(4):20-23.
[4] 江恒彪.基于實(shí)體化的地面點(diǎn)云建模技術(shù)[J].測繪工程,2014,23(7):30-33.
[5] TAREK M,ZHU Qing,DU Zhiqiang,et al.An i mpr oved segmentation appr oach for planar surfaces fro m unstr uctured 3D point clouds[J].The Photogrammetric Record,2010,25(129):5-23.
[6] PU S VOSSEL MAN G.Automatic extraction of building features fr o m terrestrial laser scanning[J].International Archives of the Photogrammetry,Remote Sensing and Spatial Infor mation Sciences,2006,36(5):5pages.
[7] 鄭鳳嬌.地面Li DAR技術(shù)與移動(dòng)最小二乘法在三維建模中的應(yīng)用[J].測繪科學(xué),2012,37(4):93-95.
[8] 田慶.地面激光雷達(dá)數(shù)據(jù)的分割與輪廓線提?。跠].北京:北京建筑工程學(xué)院,2008.
[9] 儲(chǔ)珺,吳侗,王璐.基于體密度變化率的點(diǎn)云多平面檢測算法[J].計(jì)算機(jī)應(yīng)用,2013,33(5):1411-1419.
[10]WANG Fangjian,XI Xiaohuan,WANG Cheng,et al.Boundary regularization and building reconstruction based on terrestrial laser scanning data[C].IEEE Geosciences and Remote Sensing Sy mposium, Melbour ne,Australia,21-26 July,2013:1509-1512.
[11]PETER D,PFEIFER N.A comprehensive automated 3D approach for building extraction,reconstr uction,and regularization fro m air bor ne laser scanning point clouds[J].Sensors,2008,8(11):7323-7343.
[12]PU S,VOSSEL MAN G.Knowledge based reconstruction of building models from terrestrial laser scanning data[J].ISPRS Jour nal of Photogrammetry and Remote Sensing,2009,64:575-584.
[13]沈蔚,李京,陳云浩,等.基于Li DAR數(shù)據(jù)的建筑物輪廓線提取及規(guī)則化算法研究[J].遙感學(xué)報(bào),2008,12(5):692-698.
[14]劉進(jìn).自適應(yīng)的基于點(diǎn)云的CAD模型重建方法[J].計(jì)算機(jī)應(yīng)用,2013,33(9):2617-2622.
[15]王茹,周明全,邢毓華.基于聚類平面特征的三維點(diǎn)云數(shù)據(jù)精簡算法[J].計(jì)算機(jī)工程,2011,37(10):249-254.
[16]杜小燕,姜曉峰,郝傳剛,等.點(diǎn)云模型的雙邊濾波去噪算法[J].計(jì) 算 機(jī) 應(yīng) 用 與 軟 件,2010,27(7):245-246.
[17]徐波,唐杰,武港山.基于CUDA的點(diǎn)云去噪算法[J].計(jì)算機(jī)工程,2011,37(2):224-226.