以模型樣版為基礎之建物三維點雲建模演算法
3. 階層式模型樣版建模
本文方法主要分成三大步驟:點雲法向量計算、
點雲分類與模型建置。整體方法流程以圖例方式顯 示在圖3,所處理的資料為空載或地面光達儀器掃 瞄所獲取之建物點雲 (圖 3(a))。首先,利用 k 鄰近 點法或球鄰近點法搜尋鄰近點並求解各點幾何法 向量(圖 3(b)),其計算方式可參考(Hoppe et al., 1992; Chen and Lin, 2009),接著使用 RANSAC 演 算法將附有法向量資訊之點雲資料進行基本幾何 物件分類(圖 3(c),3.1 節),保留屬於建物主體部分 的物件(圖 3(d))並找出模型所對應基本幾何元件樣 版(圖 3(e)),利用階層式架構加入各元件樣版幾何 約制條件,並針對各不同元件進行代數式最小二乘 法計算(圖 3(f),3.3 小節),對計算出的各基本元件 進行合併並組成完整模型(圖 3(g)),最後進行模型 牆面貼圖(圖 3(h))。
3.1 點雲分類與基本幾何元件 萃取
本研究採用 RANSAC 方法(Schnabel et al., 2007)進行點雲分類,此方法主要是從點雲資料中 以隨機方式搜尋最小的點雲群集,並且找出最小點 雲群集所對應之基本元件,此對應之基本幾何元件 稱為形狀候選人,將所有點雲資料帶入形狀候選人 中,判斷出那些點雲是符合形狀候選基本元件。利 用得分函式評估最符合之基本元件並且將剩餘未 萃取之點雲重複進行演算法分類,找出其符合的基 本元件,最終完成萃取工作。目前所設定的基本幾 何元件為平面、圓柱及圓球,分類成果如圖4 所示,
以不同顏色來代表分類出來的幾何物件。
(3) 稱為代數距離(algebraic distance)。為了 簡 單 的 描 述 幾 何 代 數 式 , 定 義 了 兩 個 向 量 : (Lagrange multipliers)以求得最佳解,其推導過程如 下:
min min
N N
賴泓瑞、陳俊元、林昭宏:以模型樣版為基礎之建物三維點雲建模演算法 193
(9) 最後將式(9)以下列式子表示:
,需考慮 (10) 加入拉格朗乘數後可以推導出式(10),其中 為大 小為 的矩陣( ),式(10)可直接利用特 徵值與特徵向量方法計算求解,可以得到五組特徵 值與特徵向量 ,其中最小正數的特徵值所 對應的特徵向量即為最佳解。
3.3 階層式樣版模型
構造實體幾何是三維計算機圖形學與電腦輔 助設計(Computer-aided design, CAD)中經常使用 的一個程序化建模技術,在構造實體幾何中,可以 使用邏輯運算符將不同物體組合成複雜的曲面或 者物體,構造實體幾何呈現非常複雜之模型或者曲 面皆是由非常簡單的物體組合形成,因此,可以利 用點雲建置出一些簡單物體,再組合成複雜模型,
這也是構造實體幾何的優點所在。最簡單的實體表 示叫作基本元件,通常是形狀簡單的物體,如立方
體、圓柱體、稜柱、稜錐、球體、圓錐等。在此研 究中主要是利用立方體、圓柱體以及圓球當作簡單 的基本元件模型,再利用階層式架構組合成最終房 屋模型。階層式架構即為將複雜之建物模型分類成 許多基本元件,以基本元件組成此階層最底層,再 利用最底層架構之基本元件當作模型樣版,組合出 複雜之幾何模型作為此階層第二層架構,依此類推,
將整體複雜建物模型階層架構建構出後,最後可以 得到複雜的建物模型。以大遠東百(台南市遠東百 貨)模型為例(如圖 5)整體大遠百模型分成三個階 層,第一層(最底層)是由兩個方形、兩個圓柱以及 一個平面組成,第二層則是利用階層一之最基本物 件所合併組合成,將兩個方形組合成一個複雜方形 元件、兩個圓柱合併為更複雜的一個圓柱體,最後 第三層則是再將階層二的元件全部合併在一起,建 構出最終大遠百模型。因此階層式架構可以依照建 物的複雜程度作擴充,若建物越複雜,則此階層架 構層級也越多,擴充性十分容易,在建立各種模型 使用此階層架構均非常便利。
圖5 階層式樣版模型示意圖
D DaT Ca
Sa Ca a CaT 1
S
5 5 S D D T
( , )j aj
原始點雲資料
第一層
第二層
第三層 最終成果
(11)
3.4 約制條件
階層式架構除了可建構出複雜模型外,還可利 用不同階層元件之幾何關係建立約制條件。以階層 式架構第一層為例,共有兩個以平面構成的方形,
組合成方形時,利用側面點雲其平面法向量與底面 法向量之垂直關係(如圖 6),將此關係列為約制條 件,並加入平面代數式計算中。在圖6 中,地表平 面法向量以黑色箭頭表示,而其他方形側面法向量 以藍色箭頭表示,圖中可以清楚看出側面法向量與 地表平面法向量為垂直關係,因此將地表平面法向
量設定為 ,並利用平面法向量垂直
關係加入側面點雲平面代數式中求解,求解方程式 就如同式子(5),將幾何約制條件加入設計矩陣 中,因此設計矩陣 (大小為 )改寫為:
其中權重( )的設定為點雲的點數 。最後 將附加有約制條件的設計矩陣 ,利用平面代數 最小二乘法計算,以得到最後擬合結果。
圖6 側面點雲平面法向量與底部點雲平面法向量 垂直示意圖