汪曉楚 梁棟棟 吳旭


摘要:現代建筑物融合了越來越多的曲面元素,提高了窗戶等細節特征的提取難度。本文提出了一種基于投影變換的曲面窗戶的提取方法,本方法首先對點云曲面進行旋轉變換和距離平移以選取簡單的投影平面,將三維點云投影為平面點云,再利用alpha shapes算法提取點云邊界點后,將邊界點投影逆變換為曲面點云,最后基于特征提取方法進行分類進而提取出窗戶邊界點。本文以安徽師范大學花津校區圖書館圓形報告廳為例進行算法驗證,證實了該算法的有效性。提出了一種基于投影變換的窗戶提取算法,實現了曲面點云的窗戶提取。
關鍵詞:點云曲面;投影變換;平面點云;Alpha shapes算法;窗戶提取
中圖分類號:P232 文獻標識碼:A 文章編號:1009-3044(2019)04-0257-04
Abstract: Modern buildings integrate more and more cambered elements, which make the extraction of windows and other features more difficult. Therefore, this paper proposes a method of cambered window extraction based on projection transformation. First, the point cloud surface is transformed by rotation and distance translation to select a simpler projection plane, and the 3D point cloud is projected as a planar point cloud. Then, after that the alpha shapes algorithm extracts the boundary points of the point cloud, the boundary points are inversely projected into the cambered point cloud. Finally, it classifies and extracts the window boundary points based on the method of feature extraction. In this paper, we use the circular auditorium of Huajin Campus Library of Anhui Normal University as an example to test the algorithm, which proves the validity of the algorithm. A window extraction algorithm based on projection transformation is proposed, which realizes the window extraction of point cloud surface.
Key words: Point cloud surface; Projection transformation; Planar point cloud; Alpha shapes algorithm; Window extraction
建筑物三維可視化是“智慧城市”建設中的熱點。隨著三維激光掃描技術的發展,獲取高精度的建筑物立面及局部細節信息(如窗戶、門框等)成為可能,與以航拍為代表的其他方式獲取的數據融合已經成為獲取建筑物的幾何數據和紋理信息的快速有效手段。
近年來,國內外學者基于三維激光點云數據提取建筑物幾何特征的研究[1-5]已經能夠很好地對建筑物的外部輪廓進行提取。但是,對于建筑物中窗戶這種更高層次的細節特征[6],提取難度大、往往提取效果不佳。究其原因,在于利用激光掃描儀掃描建筑物時,窗戶玻璃對激光的透射率強、反射率低,掃描儀將接收到很少的由窗戶反射回來的激光甚至沒有,導致窗戶的三維點云數據缺失,使得在沒有人機交互的情況下很難恢復可靠真實的窗戶輪廓和位置[7]。但是仍有一些學者致力于從激光點云數據中提取窗戶信息。Haider Ali[8]以窗戶的光學影像信息為輔助,利用形態學方法分割點云,以等值線分析檢測窗戶的位置和形狀,從而對窗戶進行提取。Pu S.和Vosselman G.[9]通過建立不規則三角網(TIN),根據每個點對應的三角形個數來提取邊界點,再利用不同邊界點所表現的不同特征來區分窗戶邊界點、門或者屋頂邊界點等。文獻[10]提出了格網化的窗戶識別方法。
目前已知研究都是提取矩形建筑物平面上的窗戶,對存在于曲面建筑物上的窗戶提取的相關研究較少。越來越多的現代建筑設計不再呈現出傳統的矩形形態,更多地融合了曲面元素,使造型也越來越豐富。建筑物造型的多樣化,在一定程度上增加了窗戶等建筑物細節特征提取的難度。基于此,本文提出一種基于點云曲面的窗戶提取算法。曲面相對于平面而言,幾何特征復雜,窗戶提取難度較大。為簡化問題,本文通過對建筑物曲面點云進行旋轉投影,然后利用alpha shapes算法對投影后的平面點云提取邊界點,再根據窗戶特征對點云進行分類,從而提取出窗戶邊界點。
1 點云投影變換
平面相較于空間曲面,進行邊界提取操作更簡單,已有的Alpha shapes算法研究均應用于平面的邊界提取[11-13]。對于建筑物曲面邊界點的提取,本文考慮先將點云曲面投影為平面,對平面點云進行邊界提取,再通過投影逆變換,得到曲面邊界點。
在對空間點云進行平面轉換過程中,大都采用生成深度圖像的方法。直接將空間曲面點云轉換成深度圖像可能會造成畫面扭曲、幾何失真以及信息丟失的現象。這是由于深度圖像是以掃描儀中心為觀察點,且是基于球面投影的緣故[7]。在對曲面建筑物進行窗戶提取時,若深度圖像與原點云的形狀差距很大,不僅使得深度圖像提取窗戶變得困難,窗戶信息還原到原點云上的難度也會增加。顯然,這樣的深度圖像不能滿足提取建筑物細節如窗戶的要求。因此,本文選擇用投影變換的方法代替生成深度圖像,將三維空間點云經過一系列旋轉和平移,投影到某一特定的平面上,這樣每個空間點云在該平面上便有一個與之對應的二維平面投影點。
1.1 旋轉變換與距離平移
為減少投影平面的選取難度,需先對整個點云做相應的角度旋轉和平移操作。三維空間中的旋轉變換較二維空間中的旋轉變換復雜,除了需要指定旋轉角外,還需指定旋轉軸。點繞某個旋轉軸旋轉,則實際上只在坐標軸的垂直平面上作二維旋轉,此時用二維旋轉公式就可以直接推出三維旋轉變換矩陣。因此本文規定在右手坐標系中,物體旋轉的正方向是右手螺旋方向,即從該軸正半軸向原點看是逆時針方向。本文以z軸(如圖1所示),為例采用4*4矩陣(公式1)來表示點云的坐標變換,相對于3*3矩陣,該矩陣不僅可以表示點云的旋轉變換,還包含了點云沿著相應方向做的距離平移。
由平面方程一般式中系數取值的特殊情況,還可以得到特殊位置的三種投影平面情況:①若D=0,表示平面過原點。②若A、B、C中有一個為零,表示平面平行于相應的坐標軸,如A=0,表示平面平行于x軸;若同時 D=0,則平面過相應的坐標軸。③若A、B、C中有兩個為零,表示平面平行于相應的坐標面,如A=0且B=0 表示平面平行于xoy面;若同時 D=0,則平面與相應的坐標面重合。在上述情況中,最簡單的投影面就是坐標面。
通過對點云進行一定角度的旋轉和合適距離的平移,可直接將坐標面作為投影面,減少了投影面的選取難度,繼而通過投影公式,求出投影后點的坐標。
2 窗戶邊界點提取算法
Alpha shapes 算法最早由 Edelsbrunner等[14]提出。Alpha shapes 算法是一種確定性算法,有著嚴格的數學定義,具有完善的理論和較高的提取效率,能夠處理較復雜的建筑物輪廓提取問題,使用該算法提取的任意一個有限點集 S的形狀是確定的。用戶還可以通過調整算法的唯一參數 α 來控制點集形狀S的精細程度。鑒于Alpha shapes 算法的優良性能,國內外不少學者已經利用 Alpha shapes算法從機載激光點云數據提取建筑物外部輪廓。
本文提取窗戶邊界點分為兩個步驟:首先是利用alpha shapes算法提取點云的所有邊界點,再基于窗戶位于曲面內部等特征來區分窗戶邊界點和其他輪廓邊界點。
2.1 Alpha shapes算法
本文所要提取的窗戶屬于點集內部邊界,凸包(convex hull)算法求取的是覆蓋所有點的凸多邊形,只是點集的外部邊界,并不能解決此類問題,而alpha shapes算法能夠滿足。Alpha shapes算法是利用某些特征點來刻畫點集直觀輪廓的一種算法,利用Alpha shapes算法可以在離散的點云數據中進行幾何外形的重建。Alpha shapes是在凸包基礎上發展而來的,但它增加了一個可以設定的參數α,參數α使得alpha shapes重建形狀的過程中不會像凸包一樣選擇相距過遠的頂點,它的取值會決定alpha shapes的精細程度,參數α若趨于無窮大,則這個alpha shapes會無限接近凸包;而α取小了,則alpha shapes會傾向于在一定位置凹陷進去,以更加貼合點集;α趨于0的時候,則點集的每個點都是邊界點。因此,選擇合理的α值,才能夠提取出符合點集形狀的邊界。
Alpha shapes算法的整個求解過程如下:首先,在點集S中任選兩點P1(x1,y1)、P2(x2,y2),以α為半徑作圓,設圓心為P3,坐標為 (x3,y3),該圓經過點P1、P2,利用距離交會法[15](見公式3)可以求得圓心P3的坐標(如圖3所示),進一步可求得點集S內的其他點到圓心P3距離,若距離大于α,即其他點不在該圓內,則P1、P2即為該點集S的邊界點。以此類推,求得點集S的所有邊界點,圖3為alpha shapes提取點集邊界示意圖。
3 實驗結果
3.1 數據來源及預處理
本次實驗的點云數據為安徽師范大學花津校區圖書館圓形報告廳的曲面部分(如圖4),點云數據通過日本拓普康公司生產的型號為GLS2000三維激光掃描儀實地掃描獲取。
將獲取的點云數據導入Topcon ScanMaster點云處理軟件,對不同測站獲取的掃描數據進行拼接。激光掃描儀獲取的點云數據的范圍較廣,測量時會將待測區周圍地物一同獲取,導致數據冗余。為了減少不必要的點云對實驗造成的干擾,要對點云進行去噪處理,即去除點云數據中對實驗數據造成影響的點云,選出所需的實驗數據。由于本次研究使用的數據量較小,因此本文通過采用Geomagic Studio軟件手動刪除噪聲點來完成點云的去噪過程。
本次研究涉及邊界點提取的所有程序的編碼和調試都是基于VS2010軟件開發平臺,用C++編程語言完成的。
3.2 實驗過程
經過點云拼接及去噪等預處理過程后,數據現有42062個激光點(如圖5(a)),窗戶輪廓清晰可見。至此,便可對點云進行窗戶提取,提取的具體過程如下:
首先,對點云進行一些旋轉和平移操作,但由于建筑物都是垂直于地面,即點云數據構成的曲面垂直于xoy平面,所以只需對點云繞z軸旋轉,并將其整體平移到正半軸位置。
然后,將三維空間點云轉換成平面點云。采用深度圖像(如圖5(b))的轉換方法后,不僅圖像形狀發生變形,點云數量也大大減少,只剩下90個激光點,與原點云差距很大,故選用投影變換的方法將三維點云轉化成平面點云,由于旋轉變換后改變了點云的視角,這也方便了點云的投影面選擇。本文以平面yoz作為投影面,投影變換后的平面點云結果如圖5(c)所示,與深度圖像(圖5(b))相比,完整保留了曲面的整體細節特征。
接著,對平面點云提取邊界點,圖5(d)中的紅色部分即為利用alpha shapes算法,且經過多次實驗決定采用參數α=0.09后得到的點云邊界點提取結果。此時提取的邊界點依然是投影平面上的點,需將它們投影逆變換回原曲面上,利用公式2中的相關關系進行轉換,結果如圖5(e)所示。圖5(f)為基于特征提取后窗戶邊界點的最終結果。
4 結束語
本文提出一種從點云曲面上提取窗戶邊界點的算法,該算法是在alpha shapes算法提取平面邊界點的基礎上,在提取前后分別進行了投影和投影逆變換操作,從而獲得曲面的邊界點云,并進一步基于特征提取方法將窗戶邊界點提取出來。該算法主要有以下優點:
(1) 雖然該算法主要是為了提取曲面上的窗戶點云,但是對于平面窗戶點云的提取依然適用。
(2) 本文采用投影的方法代替深度圖像生成平面點云,不僅算法邏輯簡單,便于理解,而且能較好地保留點云的完整性,獲得較高的幾何精度。
(3) 本文采用alpha shapes算法提取邊界點,相比于本文中提到的其他提取窗戶的算法,因為參數α取值的靈活性,可以通過不斷調整其值,以得到最接近點云形狀的邊界點。
采用實測的地面三維激光點云數據進行實驗,驗證了本文算法的有效性。在點云采集較好的情況下,窗戶的提取正確率較高。在點云去噪環節中,由于本文的數據量較小,采用的是手動刪除噪聲點的方法,對于大范圍建筑物群的自動去噪,本文作者已進行了相關研究,由于不是本文的重點,故沒有具體介紹。本算法仍存在不足之處,比如當窗戶點云缺失嚴重時,可能提取的效果跟實際有一些差別;本文的算法只是提取點云曲面的內部邊界,針對門和窗還不能具體區分,這也正是下一步的研究方向。
參考文獻:
[1] 李云帆, 譚德寶, 高廣,等. 雙閾值Alpha Shapes算法提取點云建筑物輪廓研究[J]. 長江科學院院報, 2016, (11): 1-4.
[2] 秦家鑫, 萬幼川,何培培,等. 一種建筑物點云輪廓線的自動提取方法[J]. 遙感信息, 2015(4): 3-7+13.
[3] 程效軍,方芳.基于形態學的散亂點云輪廓特征線提取[J].同濟大學學報(自然科學版),2014(11):1738-1743.
[4] 蔡湛.機載LiDAR點云數據建筑物檢測和屋頂輪廓線提取算法研究[D].遼寧工程技術大學,2014.
[5] 蔡湛,李如仁,李新科,吳華意.一種基于激光點云數據的房屋輪廓線提取方法[J].地理與地理信息科學,2013(5): 17-21+25.
[6] 楊洋,馬一薇,楊靖宇.基于車載激光掃描數據的窗戶提取與重建技術[J]. 海洋測繪, 2010, 03: 48-51.
[7] 賈凱華,李和志,吳澤敏.一種新的窗戶特征提取方法研究[J]. 測繪工程, 2016, 10: 6-68. [8]Haider Ali, Basheer Ahmed. Robust Window Detection from 3D Laser Scanner Data[J]. Congress on Image and Signal Processing. IEEE, Computer Society.
[9] Pu S., Vosselman G., Extracting windows from terrestrial laser scanning, International Archives of Photogrammetry[J].Remote Sensing and Spatial Information Sciences,2007,6, part 3/W52, Espoo, Finland, Sep. 12-14.
[10] 楊洋.基于車載LIDAR數據的建筑物立面重建技術研究[D].鄭州:信息工程大學,2010.
[11] 唐菲菲,阮志敏,張亞利,等.基于機載LiDAR和GIS數據的建筑物變化信息自動檢測方法[J].國土資源遙感, 2016, (01): 57-62.
[12] 劉士程.基于LiDAR數據提取建筑物頂面輪廓線方法研究[D]. 西南交通大學, 2012.
[13] 周飛.利用Alpha Shapes算法提取離散點輪廓線[J]. 湖北廣播電視大學學報, 2010(2):155-156.
[14] Herbert Edelsbrunner, David G. Kirkpatrick, Raimund Seidel. On the Shape of a Set of Points in the Plane [J]. IEEE Transactions on Information Theory, 1983.
[15] 張宏, 溫永寧, 劉愛利,等. 地理信息系統算法基礎[M].北京:科學出版社, 2006.
【通聯編輯:梁書】