2021-4-9 | 城市建筑論文
隨著激光掃描技術的發展,城市建筑的點云數據已經可以被越來越方便地獲得,如圖1所示,但這類數據往往存在嚴重的缺失和噪聲,因此從中提取出高層次的結構是十分困難的.這里的高層次結構指的是建筑中的一些結構單元以及它們之間的相似關系.這些信息是后續的建筑點云補全[1]和建筑重構[2]的重要基礎.
基于建筑結構單元的分布大部分是呈一種級聯或者交錯的形式這一核心觀察,我們在文獻[3]中提出一種城市建筑點云的自適應分割方法,以提取建筑點云數據的層次化結構.目前關于建筑結構分析方面的工作主要集中在圖像上[4-7],并且依賴于建筑結構單元呈全局規則格點分布這一很強的先驗假設[4-5].本文的主要處理對象是三維的建筑點云數據,與以前局限于全局規則格點進行分析的工作不同,本文采用一種自適應的方法進行建筑結構的分析,從而可以獲得更加靈活的建筑結構表示.本文提出的自適應分割的核心思想是使用一系列水平或者豎直的平面對輸入點云數據進行劃分,其流程如圖2所示,分割策略基于建筑的一些先驗的知識.
本文通過定義一個懲罰函數來自動確定初始的分割方向、分割平面的數目和位置;在分割結果的基礎上檢測一些相似的子點云塊;利用這些相似信息進一步優化初始的分割平面數目和位置.這種分割操作可以遞歸地進行下去,從而得到輸入建筑點云的一種層次化的表示.這種自適應分割的思想還可以用于建筑圖像的分析當中.
1 自適應的建筑分割
本文的輸入是無規則的點云數據,在預處理步驟中將該點云數據的位置進行矯正,并檢測其中的一些邊界點.以放置水平分割平面為例,對建筑點云的分割策略如下:水平分割平面要盡量避免經過豎直的線,但可以盡量經過水平的線.基于該分割策略和提取得到的邊界點的信息,定義一個累積函數Cver(P)來考察豎直線和某一平面P的相交程度,以及另一個累積函數Chor(P)來考察水平線和平面的相交程度.對于水平分割平面Pz,其懲罰函數定義為Fz(Pz)=Cver(Pz)-t×Chor(Pz).
以上懲罰函數給予我們如何放置水平分割平面的指導.我們希望在懲罰函數較小的地方放置一些分割的平面,為此,計算該懲罰函數的一些局部極小值點,并把這些點所對應的位置作為初始的水平分割平面的位置,如圖3所示.通過類似的方法可以得到一系列初始的豎直分割平面.為了確定分割方向,通過計算2個方向上懲罰函數極小值點的平均值,并選擇平均值較小的方向作為當前的分割方向.這是一種自適應的選擇方式.這些檢測得到的分割平面將當前的建筑點云數據分割為一系列子點云塊.
在此基礎上,通過幾何注冊的方法將它們對齊,然后用體素化的方法來檢測子點云塊之間的相似性.由于受到噪聲等的影響,初始的分割平面可能會丟失一些理想的分割平面.本文利用上一步得到的相似關系,從相似的子點云塊中借用一些分割平面來補全缺失的分割平面,如圖4所示,并優化其位置.由于檢測相似關系和優化分割平面是相互依賴的,因此這2步迭代進行直到收斂.為了得到輸入點云數據的一種層次化結構,對分割出來的子點云塊再次進行上述的自適應分割的操作.在這種遞歸(recursive)分割的過程中,通過合并相似的子點云塊使得它們能夠被一致地分割.
2 實驗結果
采用本文算法,我們對一些不同類型的建筑點云數據進行了結構分析,結果如圖5所示.本文方法通過簡單的修改就可以用于建筑圖像分析中,結果如圖6所示.