日本語 · English · 简体中文 · 繁體中文 · 한국어 · Deutsch
把 MuJoCo 的模擬場景轉換成 3D Gaussian Splatting,產生可以全方位旋轉觀看的 GIF 以及新視角影像。相機姿態使用模擬的真值,因此不需要 COLMAP。
在 imgevolve 資料夾中:
3dgs go2 --open
只要這一條指令,就會把 go2(四足機器人)轉換成 3DGS,並自動開啟完成的全方位 GIF。
3dgs cassie / 3dgs apollo / 3dgs anymal / 3dgs spot3dgs <本機工作路徑>\path\to\scene.xml3dgs --list3dgs go2 --quality fast :: 128px / 8 千個高斯(數秒完成,適合預覽)
3dgs go2 --quality balanced :: 256px / 2 萬個高斯(預設)
3dgs go2 --quality high :: 384px / 4.5 萬個高斯(最精細)
3dgs go2 --quality high --densify --open
加上 --densify 後,訓練過程中會自動增加高斯數量以提升細節(僅限 native gsplat)。以 go2 為例,會從約 8 千個成長到約 5 萬個,機身與腿部會更加平滑。通常幾秒到十幾秒即可完成。
--backend torch / --backend gsplat 明確指定環境(CUDA / 編譯器)由 launcher 自動設定,不必在意 vcvars 之類的設定。
啟動 spikes/studio_app.py → 在「以 3D 檢視模擬模型 / 轉換為 3DGS」面板中,選擇場景名稱(點選標籤或直接輸入)與品質,按下「3DGS 訓練 🎇」→ 完成後會開啟全方位 GIF。
在 out/3dgs_<scene>/(或 --out 指定的目錄)下會產生:
turntable.gif … 全方位預覽novelview.png … 左 = 真值 / 右 = 新視角渲染gaussians.npz … 訓練完成的高斯(npz)gaussians.ply … 標準 3DGS .ply 格式(native 模式下)。可拖放到 SuperSplat 等網頁檢視器中開啟report.json … PSNR 等指標.venv-gsplat(torch cu128).gsplat-cuda(CUDA 12.8)+ VS BuildTools 的 C++ 工具。詳情與重現步驟請見 docs/GSPLAT_NATIVE_WINDOWS.md誠實說明:
--densify的效果依場景而異。像 go2 這樣的整塊結構會變得很乾淨,但像 cassie 這樣細長的雙足機器人,可能會對訓練視角過度配適,使得 hold-out 稍微變軟。建議先不加這個選項試試看,覺得不夠再加上。
3dgs go2 --motion --open
不再是靜止畫面,而是產生運動中機器人的 3DGS。原理如下:
motion.gif由於機器人是剛性連桿的集合,因此不需要完整的 4D-GS 就能自然運動。可透過 --frames N 變更幀數。
誠實說明:預設的動作是用於示範的正弦波(並非實際的行走策略)。由於模擬姿態是真值,不會發生結構性崩壞,但腳部附近可能出現輕微雜訊(初始化點的 body 歸屬邊界處)。
3dgs go2 --motion --gait trot --open
--gait trot 會自動產生並播放四足的 trot 步態(對角腿同相位交替邁步)。會依關節名稱(FL/FR/RL/RR 或 LF/RF/LH/RH + thigh/calf)自動偵測腿部,因此適用於 go2 與 anymal。無法偵測的模型會回退為正弦波。若要使用實際行走策略的輸出,可用 --motion-file traj.npy(qpos 軌跡 (F,nq))。