日本語 · 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 等 Web 查看器中打开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))。