鄒紀偉,劉德兒,楊 鵬,劉靖鈺,李瑞雪,冀煒臻
(1.江西理工大學建筑與測繪工程學院,江西 贛州 341000;2.廣州都市圈網(wǎng)絡科技有限公司,廣東 廣州 510000)
在數(shù)字城市的建設中,建筑物的精細建模已成為研究熱點,而激光點云的出現(xiàn)使其成為可能,而如何提取建筑立面的細節(jié)特征(如窗戶、展臺、墻體等)則是實現(xiàn)精細建模的前提。為此許多學者進行了大量研究,Yongzhi Wang等[1]人結(jié)合三維PCD和二維光學圖像的優(yōu)點,提取出連續(xù)的三維PCD建筑立面特征。Sung Chun Lee等[2]人利用窗口分類信息和圖像線特征自動計算提取窗口的深度。Pascal Muller等[3]人從影像出發(fā)讓計算機自動識別重復結(jié)構的區(qū)域,從而構建包含細節(jié)特征的立面三維模型。賈凱華等[4]首先將三維點云轉(zhuǎn)換為二維圖像,對二維圖像進行處理找到窗戶邊界,再通過圖像和點云的映射關系,求得窗戶的外輪廓點云。在地面激光三維掃描數(shù)據(jù)中,建筑立面的幾何特征包含墻面、門窗等幾何輪廓信息,面輪廓的提取決定了建筑物三維立面三維重建的精度[5-8]。建筑物立面數(shù)據(jù)中包含有明顯的深度信息,因此,不僅僅可以從影像角度尋找立面窗戶,還可以通過幾何信息從立面中提取門窗、展臺等點云數(shù)據(jù)。王果等[9]利用α-shape算法對其進行建筑立面提取。林卉等[10]通過統(tǒng)計落在格網(wǎng)內(nèi)的點數(shù),生成二維直方圖并轉(zhuǎn)換為灰度圖,然后對灰度圖進行預處理后采用連通區(qū)域標記方法提取建筑立面數(shù)據(jù)。Sander Oude Elberink等[11]人根據(jù)目標物之間的拓撲關系,采用區(qū)域增長算法對點云數(shù)據(jù)進行面片分割,分析面片的大小、位置、方向等特征自動識別出場景中的立面、包括立面中的門窗、突起等細節(jié)。Schmittwilken,J等[12]人從語義知識庫中獲取立面細節(jié)特征的先驗知識,應用決策樹方法對特征明顯的區(qū)域進行特征提取,進而提取出明顯聚類的特征的點云子集。Pu & Vosselman等[13]首先利用區(qū)域生長的方法對地面點云數(shù)據(jù)進行面片分割,然后采用基于孔洞的特征提取方法,提取更細節(jié)的窗戶結(jié)構。
本文通過對建筑立面點云的細節(jié)分析,提出了根據(jù)點云對偶深度圖像的窗戶邊界提取方法,而對于窗戶上不包含點云的情況,采用構建TIN的方式進行邊界提取,最后通過實驗驗證了該算法的準確性與可行性。
建筑物立面中包含有豐富的細節(jié)信息,如墻面、窗戶、展臺、門洞等,這些細節(jié)結(jié)構的幾何特征主要包括方向、位置、大小、拓撲、深度,不同的細節(jié)結(jié)構幾何特征如表1所示。
表1 建筑立面細節(jié)特征分析
通過分析可以看出,窗戶通常低于墻面,位于墻面內(nèi)部,而展臺陽臺等突出物位于墻面外部,對于生成的建筑物立面點云數(shù)據(jù),可基于墻面點擬合出一個平面,將點集分為三部分,即陽臺等突出物點云、墻面點云、窗戶點云。利用不同點到墻面平面的深度信息,生成立面對偶深度圖像,從而將窗戶提取轉(zhuǎn)換到二維平面,降低操作難度,提高窗戶提取的準確性。
由于窗戶處于不同狀態(tài)時,采集到的數(shù)據(jù)也會不同,如圖1所示,當窗戶玻璃張開時,點云透過窗戶打在室內(nèi),在窗戶上形成空洞,當窗戶閉合且有窗簾遮擋時,點云落在窗戶上。為了降低無效點對對偶深度圖像生成的影響,本文采用統(tǒng)計濾波對其進行去除,去噪前后如圖2所示。
圖1 不同狀態(tài)下窗戶點云圖
圖2 去噪圖
對于建筑立面的點云數(shù)據(jù)Pi(x,y,z),為了方便后續(xù)操作,對生成的對偶深度圖像進行閾值分割,首先將其轉(zhuǎn)換到與XOY平面平行,即建筑立面的法向量方向為Z值指向,生成新的點云數(shù)據(jù)Pi(x′,y′,z′)。具體操作步驟如下:
1)根據(jù)墻面三點P1(X1,Y1,Z1),P2(X2,Y2,Z2),P3(X3,Y3,Z3),求出該平面的法向量n。
=ai+bj+ck=(a,b,c)
(1)
2)分別繞X軸和Y軸旋轉(zhuǎn)α和β角,其旋轉(zhuǎn)矩陣分別為公式(2)和(3),通過旋轉(zhuǎn)最終將其轉(zhuǎn)換到XOY平面。
(2)
(3)
由于點云數(shù)據(jù)量巨大,如果直接根據(jù)幾何信息及深度信息對點云數(shù)據(jù)進行特征提取,則會出現(xiàn)大量冗余計算,并且耗時較長。因此本文結(jié)合文獻[14]的思想,采用距離加權倒數(shù)IDW內(nèi)插方法生成建筑面片的對偶深度圖像,然后對其進行閾值分割、中值平滑濾波及形態(tài)學濾波等方法,確定窗戶的邊界。
該算法首先將點云數(shù)據(jù)投影到XOY平面,確定采樣間隔后得出二維影像的寬度和高度,然后根據(jù)落在每個格網(wǎng)內(nèi)的點云確定像元灰度值,最后得到整個建筑立面的二維深度圖像,具體原理如下:
1)確定二維影像的寬和高。
如公式(4)所示,寬(Width)與高(Height)的確定與采樣間隔密切相關。
(4)
其中,Xmax,Xmin,Ymax,Ymin分別為X和Y坐標的最大值和最小值;GSD為采樣間隔。
2)確定每個格網(wǎng)的特征值
單元格網(wǎng)的特征值主要受點云的空間分布和高程值兩部分影響,因此設定距離格網(wǎng)中心點越近,則權值越大,高程值越大,則權值越大。這兩部分權可用公式(5)表示。
(5)
由平面坐標與高程坐標的重要性可設定不同的α和β值,采用距離加權倒數(shù)IDW內(nèi)插方法(如:公式(6)),最后將特征值歸化到0~255灰度空間,即得到每個單元格的像素值,生成建筑面片的對偶深度圖像。
(6)
其中,Zijk為格網(wǎng)(I,j)中第k個點的高程。
為了適應圖像處理的要求,降低圖像數(shù)字化時所混入的噪聲,同時抽出對象的特征作為圖像識別的特征模式,本文采用中值濾波對生成的對偶深度圖像進行平滑處理。該方法在取出脈沖噪聲、椒鹽噪聲的同時能保留圖像的邊緣細節(jié),這些優(yōu)良特性是線性濾波所不具備的。
由地面激光三維掃描數(shù)據(jù)格式可知,建筑物立面包含了明顯的深度信息,即投影到XOY平面上時,窗戶上的點通常低于墻面上的點,為了圖像的生成及窗戶的閾值分割,本文首先按照公式(7)計算所有點到墻面的距離,將得到的歐式距離di替換經(jīng)坐標轉(zhuǎn)換后的數(shù)據(jù)點Pi′(X′,Y′,Z′)中的Z′值,即得到目標點云數(shù)據(jù)集Oi,點云坐標為Oi(X′,Y′,di)。
(7)
根據(jù)坐標旋轉(zhuǎn)后建筑立面的法向量指向為由里向外,由于數(shù)據(jù)處理時是以墻面為參考面進行的距離計算,因此落在墻面及墻面外的點(如展臺,凸邊)距離大于等于零,而落在窗戶上或窗戶內(nèi)的點距離為負數(shù),基于此可選擇合適的閾值對生成的圖像進行分割,實現(xiàn)對窗戶的有效提取。由于提取的窗戶包含空洞及其他噪聲,因此進行形態(tài)學濾波處理,使空洞被填充及噪點被去除,提取出窗戶的邊界后,然后根據(jù)二維圖像與三維點云的映射關系,確定窗戶內(nèi)的點云。
上述基于對偶深度圖像的窗戶提取方法對窗戶上附有點云信息的效果顯著,而對窗戶無點云覆蓋,為空洞的情況,本文采用構建TIN的方式對含有空洞的窗戶進行邊界提取。TIN是基于的數(shù)字高程模型,由結(jié)點(Node)、邊(Edge)、三角形(Triangle)、包面(Hull)和拓撲(Topology)組成。它是基于矢量的數(shù)字地理數(shù)據(jù)的一種形式,通過將一系列折點(點)組成三角形來構建。由于空洞的存在,對于構建的TIN結(jié)構,空洞周邊生成的三角形的邊長遠遠大于其他點密集的區(qū)域,可基于此特點,提取空洞即窗戶構成的三角網(wǎng),然后通過TIN中結(jié)點與邊長對應的索引關系,找到窗戶邊界點,再進行矩形擬合,提取邊界。提取的主要步驟如下:
1)構建TIN。對包含空洞的建筑物立面構建TIN。
2)提取空洞處三角形的邊。 對TIN中三角形邊長值作頻率分布圖,通過該圖可以看出邊長值的分布狀況,基于窗戶空洞的情況下,較長邊長一定在空洞或墻的邊界原則,選擇合適的邊長閾值即可提取所需的邊。
3)提取邊界點。根據(jù)TIN中結(jié)點與邊對應的關系,提取構成三角形邊所對應的結(jié)點。
4)窗戶矩形擬合。對所提取出來的窗戶邊界點通過OpenGL進行矩形擬合,以構建窗戶線框模型,從而反映窗戶的形狀和大小。
本文采用RANSAC分割算法實現(xiàn)從TLS數(shù)據(jù)中提取的建筑物立面點云數(shù)據(jù),數(shù)據(jù)點個數(shù)為95021。實驗軟硬件環(huán)境為Intel(R)Xeon(R)CPU E3-1231 v3 @3.40GHz、內(nèi)存為8GB;本研究的實驗算法是在MATLAB R2017和Microsoft Visual Studio 2017編譯環(huán)境下,結(jié)合PCL方法庫編程實現(xiàn)。
按照上述步驟,首先對原始點云數(shù)據(jù)進行坐標變換,變換后的點云數(shù)據(jù)如圖3所示。
圖3 點云數(shù)據(jù)
經(jīng)過坐標變換后,求得每個點到墻面的距離,將得到的歐式距離di替換經(jīng)坐標轉(zhuǎn)換后的數(shù)據(jù)點Pi′(X′,Y′,Z′)中的Z′值,得到新的點云坐標為Oi(X′,Y′,di),對生成的新的點云數(shù)據(jù),采用距離加權倒數(shù)IDW內(nèi)插方法生成建筑面片的對偶深度圖像。接著對生成的圖像進行預處理后,按照上述方法,對其進行閾值分割,可提取出窗戶的像素點,如圖4所示。
圖4 窗戶提取結(jié)果
從圖4中可以看出,提取出的窗戶包含有其他噪聲點且部分窗戶還存在空洞,因此對其進行形態(tài)學濾波,然后根據(jù)圖斑的面積,搜索符合窗戶大小的連通性圖斑,根據(jù)圖斑的重心替代窗戶的形心,從而確定窗戶的外邊界,結(jié)果如圖5所示。
(a)提取效果
通過上述方法所求出的重心點與實際拍攝采集的影像疊加圖可看出,重心點都落在45個窗戶內(nèi),由于設站點位于建筑物右側(cè),因此靠近設站點的點云分布密集,而左側(cè)離設站點較遠,因此點比較稀疏。通過圖5(a)可以看出,左側(cè)上方窗戶由于缺少點集,根據(jù)圖斑擬合出來的重心會不同程度發(fā)生偏移,而右方窗戶點云較為完整,因此窗戶重心基本落在實際重心上。為了定量說明與實際的偏差情況,將提取的重心坐標與實際作距離差(如圖6),由偏移量分布圖可以看出,大部分點都集中分布在0~0.1之間,最大值為0.377,最小值為0.001,平均值為0.055,精度較高,且分布比較集中。
圖6 重心點距離偏移量分布
對于包含空洞的情況,本文對上述原數(shù)據(jù)進行了預處理,以進行后續(xù)操作,采用構建TIN的方式對含有空洞的窗戶進行邊界提取,結(jié)果如圖7和圖8所示。
圖8 邊界提取圖
圖7 TIN結(jié)果圖
從原始影像圖可以看出,建筑物立面共有45個窗戶,通過構建TIN的方式能將這45個窗戶準確的識別出來。由于建筑立面的公開點云數(shù)據(jù)集較少,對窗戶的邊界提取精度缺少統(tǒng)一的衡量準則,因此本文通過手動選取7個窗戶邊界特征點和自動提取的對應特征點作對比,如圖9所示,分析其坐標距離差,定量分析其提取的精度。通過數(shù)據(jù)分析可以看出,窗戶特征點距離差多集中在0.02~0.06 m之間,平均值為0.048 m,精度分布較高且較集中,結(jié)果驗證了提取的窗戶邊界準確性較高。
圖9 距離差偏移分布圖
TLS能快速獲取建筑物立面點云數(shù)據(jù),對智慧城市的創(chuàng)建及三維模型的構建具有較大優(yōu)勢,而建筑物立面的細節(jié)提取對精細建模顯得尤為重要。本文針對窗戶不同情況,提出了通過生成點云對偶深度圖像和構建TIN的方式進行邊界提取。其中將三維點云轉(zhuǎn)換為二維圖像,避免了大量的幾何運算,降低了三維的提取難度,而通過構建TIN進行邊界提取,則彌補了窗戶上點云缺失的情況。
實驗結(jié)果表明,本文研究能對建筑物窗戶進行有效提取,當窗戶上點云密集且空洞較少時,效果顯著,而當窗戶上無點云數(shù)據(jù)時,通過構建TIN進行提取,能有效彌補基于對偶深度圖提取方法的不足。該方法目前能對包含點云及空洞的窗戶進行有效提取,在未來的研究中,我們將針對同一建筑物下存在不同語義的窗戶,實現(xiàn)對偶深度圖與TIN的融合,同時考慮借助深度學習自動判別不同語義特征的窗戶。