社群計算機視覺課程文件

3D 資料表示

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

3D 資料表示

根據應用的不同,可能會使用多種 3D 資料表示形式中的一種。這裡我們將概述其中一些更常見的形式。

點雲

點雲透過三維空間中的點列表來表示資料,其中包含點的座標以及可能存在的其他相關特徵。這些點可以分佈在物體的表面,也可以散佈在物體的內部。點雲通常透過 3D 掃描技術(例如 LIDAR)生成。它們缺乏連線資訊,這使得確定物體的表面及其拓撲結構變得困難。

網格

網格常用於計算機圖形學,將物體的表面表示為由三維空間中的(通常是)三角形面片連線頂點組成的集合。法線、顏色或紋理座標等額外資訊可以與頂點或面片相關聯。特別是在使用紋理時,這些提供了儲存實體物件的非常有效的方法,並且常用於遊戲和其他計算機圖形應用中。

Python 中的 trimesh 包包含許多用於處理網格資料的有用函式,特別是載入和儲存常見資料格式的功能。

體素資料

體素資料通常用於編碼透明物體的資訊,例如雲和火焰。從根本上說,它以函式的形式呈現:f(x,y,z) f(x,y,z) 將空間中的位置對映到密度、顏色以及其他可能的屬性。表示此類資料的一種簡單方法是使用體素網格,其中每個點的資料透過三線性插值從其包含的體素的八個角獲得。

正如將在 NeRF 一章中看到的那樣,體素表示也可以有效地用於表示實體物件。更復雜的表示形式也可以使用,例如小型 MLP,或複雜的雜湊網格,例如在 InstantNGP 中。

隱式表面

有時需要體素表示的靈活性,但更關心物體本身的表面。隱式表面類似於體素資料,但函式f(x,y,z) f(x,y,z) 將空間中的每個點對映到一個數字,其中表面是此函式的零點。為了計算效率,要求此函式實際上是一個有符號距離函式 (SDF) 會很有用,其中函式f(x,y,z) f(x,y,z) 表示到表面的最短距離,物體外部為正值,內部為負值(此符號是一種約定,可能會有所不同)。維持此約束比較困難,但它允許使用稱為球體追蹤的演算法更快地計算直線與表面之間的交點。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.