Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

3D Gaussian Splatting

  • 又稱: 3DGS, Gaussian Splatting, Gaussian splats, Gaussian radiance field
  • 類別: Sensing › 3D maps & reconstruction
  • 標籤: scene-representation, 3d-reconstruction, rendering, slam, computer-vision, simulation

一種場景表示法,把 3D 環境建模為大量帶有顏色、半透明的高斯團塊,可從照片最佳化而得,並能以擬真照片級畫質即時渲染。

定義

3D 高斯潑濺(3D Gaussian Splatting,3DGS)是一種重建與渲染 3D 場景的方法,由 Bernhard Kerbl、Georgios Kopanas、Thomas Leimkühler 與 George Drettakis 於 SIGGRAPH 2023 發表。場景以一群 3D 高斯來表示,每個高斯具有一個位置、一個決定其大小與方向的共變異數、一個不透明度,以及以球諧係數儲存、隨視角而變的顏色。要渲染一張影像時,這些高斯會被投影到影像平面上,依深度排序,再由前往後混合,這個過程稱為潑濺(splatting)。

此表示法是從已知相機姿態的照片中學習而來,相機姿態通常以 COLMAP 這類運動回復結構(structure-from-motion)軟體求得,該軟體也會提供一個稀疏點雲,用來初始化這些高斯。由於光柵化器是可微分的,每個高斯的參數都能以梯度下降進行最佳化,以縮小渲染影像與真實影像之間的差異。訓練期間,會在重建不足的區域加入高斯,在高斯過大之處將其分裂,並在其幾乎變得透明時將其移除。

神經輻射場(NeRF)把場景儲存在一個沿著相機光線查詢的神經網路中;相較之下,高斯潑濺是一種顯式表示法,以快速的分塊(tile-based)光柵化而非光線步進(ray marching)來渲染。這帶來高解析度下的即時渲染與更快的訓練,代價是較高的記憶體用量,因為一個場景可能包含數量極為龐大的高斯。由於高斯是顯式的,它們可以被移動、編輯、附著到物體上或刪除,而這在隱式網路上較難做到。

機器人領域以多種方式使用 3DGS。作為地圖表示法,它支援能在追蹤相機的同時建立擬真照片級地圖的稠密 SLAM 系統。作為模擬素材,重建出的真實場景可與物理模擬器搭配,讓視覺策略能在實際部署環境的逼真影像上進行訓練或測試。其限制包括反光或透明的表面、幾何精度不如渲染外觀所呈現的那麼高,以及需要相機對場景有良好的涵蓋。

為何重要

3DGS 讓真實場所的擬真照片級重建快到足以即時渲染,使機器人能建立逼真的地圖,也讓團隊能把真實房間的掃描轉成視覺訓練資料。它已成為以視覺為基礎的機器人學習中,連接真實環境與模擬的一座廣泛使用的橋樑。

主要應用

  • 擬真照片級模擬 — 渲染逼真的相機視角,用於訓練與測試視覺策略
  • 稠密 SLAM — 在追蹤相機姿態的同時建立擬真照片級地圖
  • 數位孿生 — 重建真實的工作空間、工廠或住家,用於規劃與檢查
  • 無人機導航 — 為以視覺為基礎的飛行提供逼真的視覺環境
  • 場景編輯 — 插入、移動或移除物體,以建立多樣的訓練場景

實際應用

團隊通常會先拍攝機器人工作空間的一段影片或一組照片,用 COLMAP 或類似工具估計相機姿態,再以開源實作(例如原作者的程式碼或 Nerfstudio 的 splatfacto)訓練高斯潑濺模型。訓練好的場景可從任何視角渲染,因此他們會放置與機器人機載相機相符的虛擬相機來產生訓練影像,或將潑濺場景與物理模擬器的碰撞幾何對齊,讓模擬中的機器人在移動時看到逼真的畫面。在建圖方面,團隊會使用搭配 RGB-D 或單眼相機的高斯潑濺 SLAM 系統,並以深度感測器驗證幾何,因為渲染出的影像可能看起來正確,底層的形狀卻不準確。

常見誤解

  • 高斯潑濺是一種神經網路 — 它是一組經過最佳化的顯式基元;渲染它不需要任何神經網路
  • 擬真照片級的渲染代表幾何準確 — 外觀可能正確,但深度與表面並不精確,因此幾何需要另外驗證
  • 3DGS 取代了物理模擬 — 它處理的是外觀與渲染;接觸與動力學仍需要物理引擎與碰撞幾何
  • 它適用於任何一組照片 — 它需要良好的視角涵蓋與準確的相機姿態,且難以處理反光、透明或移動中的內容

誰需要了解

  • 建立地圖與場景表示法的感知工程師
  • 訓練以視覺為基礎之策略的機器人學習研究人員
  • 打造逼真環境的模擬工程師
  • 無人機導航開發者

相關技術

  • 神經輻射場(Neural Radiance Fields,NeRF)
  • 運動回復結構(Structure from Motion,COLMAP)
  • SLAM
  • 可微分渲染(Differentiable Rendering)
  • 點雲(Point Cloud)
  • Nerfstudio

相關術語

  • Neural Radiance Field
  • Point Cloud
  • SLAM
  • Depth Camera

相關專案

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics

影片

  • 3D Gaussian Splatting - Why Graphics Will Never Be The Same: IndividualKex
  • 3D Gaussian Splatting! - Computerphile: Computerphile

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。