傾斜單體化模型技術實現

charlee44發表於2024-01-28

目錄
  • 1 概述
  • 2 詳論
    • 2.1 切割單體化
    • 2.2 向量單體化
    • 2.3 ID單體化
    • 2.4 模型重建單體化
  • 3 總結

1 概述

為了改進傾斜攝影模型資料在實際GIS場景應用中諸多的缺點,一個非常熱門的最佳化方向就是單體化。所謂單體化,是指讓傾斜攝影資料像向量資料那樣,具備要素特徵,進而可以關聯屬性,進行空間查詢和空間分析。換句話說,我們需要給傾斜攝影資料增加一些語義,能夠正確區分建築物、道路、綠地、水系以及城市部件等地物要素,進而很好的關聯業務,產生實際的應用價值。

2 詳論

以筆者的見識來看,傾斜單體化模型的實現可以有以下四種方式:

2.1 切割單體化

既然傾斜攝影模型資料上的地物要素構建的有好有差,那麼我們可以將比較好的地物要素從傾斜攝影模型上裁剪下來,比如建築物。透過建築物向量幫助我們進行空間計算,將建築物向量範圍內的連續的三角面從傾斜攝影模型上擷取出來,從而實現單體化。其實反過來想,傾斜攝影資料上很多內容都可以透過地形+影像的方式替換的,而像道路、綠地、水系這些地物要素也是依據地形的,城市部件這些要素傾斜攝影往往又無能為力。可能真正有價值進行單體化的可能也就是建築物、大型地標或者大型基礎設施了。但說實話,這也算是不錯的技術方案了,至少我們不用看到很多建模錯誤的區域,搭配其他三維模型資料,也能構建出比較出色的三維視覺化場景。

2.2 向量單體化

如果不想透過向量進行真實的物理切割,那麼也可以考慮透過三維圖形技術來實現單體化。其原理是在進行三維渲染時,將向量面的幾何資料傳遞到GPU中,判斷每個頂點是否在其範圍內。如果在範圍內,就高亮該區域顯示的顏色;或者,使用類似陰影體(Shadow Volume,三維圖形中一種常見的生成陰影的演算法)的技術,來使向量的單體化區域高亮。在另一方面,由於向量本身是具有屬性資料的,這個屬性資料也可以作為這個單體化區域的屬性資料。

向量單體化可以有另外一種類似的較為簡單的實現方案:可以繪製包裹住單體化區域的透明帶顏色的幾何體。平時該幾何體隱藏,在選中時就進行顯示。當然,這個幾何體也是基於向量生成的。這種方案比較適合比較規整的建築物三維物體物件。

不過,無論是哪種實現方案,都離不開與向量資料的聚合。這種單體化方式實際上是將二維向量面和三維傾斜攝影模型結合起來了,因此可以充分利用傳統二維GIS向量資料的查詢、計算與分析等能力,從而實現了與GIS場景業務的關聯。而且這種方案主要是採用了計算機圖形技術的實現,在保證了實時性和效率的前提下實現難度也不是很高,因此也算是一種不錯的解決方案。

2.3 ID單體化

所謂ID單體化,是指給傾斜攝影模型的每個想要單體化的區域的連續網格賦予一個特定的ID,這樣在選中的時候我們獲取到這個ID並對其高亮顯示。具體來說,這需要在資料層面和渲染層面的配合。在資料層面,我們需要知道模型上單體化區域的頂點,並對其增加一個自定義的ID屬性。這樣在進入三維渲染時,透過幀快取技術我們可以在渲染畫面之外額外再渲染一幀ID紋理圖。拾取選中實質上就是取樣這個ID紋理圖的值,並將頂點ID是這個值的頂點顏色高亮顯示。

在筆者看來,這個單體化方案比較複雜,需要同時從資料和渲染上兩個維度進行改進才能完全實現。但是這個方案對效能影響最小,不用再聚合一個二維向量資料,是一個完全從三維角度出發提出的解決方案。實際上,Cesium和Cesium開發的3DTiles格式就完全實現了這種思路,在這個資料格式中,每個瓦片資料都定義了一個名為BATCHID的頂點屬性,並將其關聯上一個屬性表BatchTable。

另外,這種單體化方案用在傾斜攝影資料上最大的缺點就是需要進行預處理,而且處理難度還不低。事實上,這個預處理過程往往就是採用向量單體化的原理來實現,既然如此還不如直接使用向量單體化的方案。不過,ID單體化的原理可以用在其他型別的三維模型,因為很多三維模型是按照一個物體要素為單位來建立的,它們是天然的單體化模型。

2.4 模型重建單體化

這種單體化的思路是,既然傾斜攝影重建的模型有各種各樣的缺點,那麼幹脆就加入人工干預,重新構建單體化三維模型。不過這種人工干預並不是像在3D Max那種三維建模軟體那樣,根據人工建模師自己的判斷進行建模,而是基於數字攝影測量的雙像立體測圖的原理,在立體模型中採集單體化的三維模型。雙像立體測圖是傳統航空攝影測量生產4D產品的重要階段,可用於採集DLG和DEM。現在有了傾斜攝影測量方法,使得從立體上採集地物要素成為了可能。

我們應該知道,傾斜攝影模型是使用三維重建技術進行自動化構建的,所以總是會顯得很平滑,對銳利或者突變區域的表現度不夠,或者建模錯誤。使用立體測圖採集單體化的好處是其操作是人工進行的,可以採集出橫平豎直的三維模型,尤其是對於建築物來說。這對於視覺化的效果是非常大的提升。另外,由於這個採集的過程是人工操作的,因此天然就將地物要素單體化出來,不僅僅是建築物,一些比較複雜的基礎設施(例如高架、橋樑),或者城市部件(例如路燈、指示牌)等都可以進行採集,這無疑大大擴充套件了傾斜攝影的技術在GIS場景中應用。

當然,這個單體化方案也是有缺點的。最大的缺點就是專業性太強,即使我們使用專業的軟體普通人也不一定能操作好,還需要專業的採集人員來進行作業。在國內,武漢天際航資訊科技股份有限公司的精細化單體建模以及模型修飾軟體DP-Modeler是業內應用比較廣泛的傾斜攝影模型資料編輯軟體,可以支援在單體化並編輯出地表特定要素的三維模型。

3 總結

上述幾種傾斜攝影模型單體化的方案各有優缺點,並沒有最優解,最好是根據實際的需求採用適合的方案。這幾種方案對比如下表所示:

單體化方法 技術思路 預處理過程 模型效果
切割單體化 三維模型物理切割 思路簡單 配合其他三維模型使用
向量單體化 聚合向量資料+圖形渲染技術 無需處理 與傾斜模型一致
ID單體化 將ID作為頂點屬性資料渲染 過程繁瑣 與傾斜模型一致
模型重建單體化 航測立體採集模型 專業性強 配合其他三維模型使用

相關文章