3D Gaussian Splatting (3DGS) 在机器人中的应用
概念速览
- 3DGS:用各向异性 3D 高斯椭球显式表示场景,结合可微光栅化实现高质量新视角合成
- 诞生:2023 年 SIGGRAPH 最佳论文 (Inria / Graphdeco)
- 关键指标:1080p 实时渲染 (>30 FPS),PSNR ~27 dB
核心数据结构
每个 Gaussian 包含: - 位置 μ ∈ R³ - 协方差 Σ (旋转 + 缩放) - 不透明度 α ∈ [0, 1] - 球谐系数 SH (用于视角相关颜色)- 优化过程:SfM 初始点云 → 可微光栅化 → L1 + D-SSIM 损失 → 自适应密度化 (densification)
在机器人中的典型应用
1. 真实场景数字孪生
- 流程:手机 / 机器人摄像头拍摄 → 3DGS 重建 → Isaac Sim / MuJoCo 中训练策略
- 优势:相比 NeRF 训练快 10–100×
2. 动态物体分割
- 方法:将每个 Gaussian 关联一个语义 ID
- 应用:机器人抓取时区分「苹果」与「桌面」
3. 6D 位姿估计
- 方法:渲染多个假设位姿,与观测图像匹配
- 代表:FoundPose、NOPE
4. 视觉定位 (Visual Localization)
- 方法:3DGS 表示场景 + 描述子匹配
- 优势:比传统特征点法对光照变化更鲁棒
主流开源项目
| 项目 | 特点 |
|---|---|
| graphdeco-inria/gaussian-splatting | 原始 CUDA 实现 |
| nerfstudio-project/gsplat | PyTorch 重写,更易扩展 |
| lumaai/LumaAI | 商用云端重建 |
| Polycam | 手机 App 一键 3DGS |
与 Sim-to-Real 联动
📋 复现条件
| 类别 | 必备 | 可选 / 备注 |
|---|---|---|
| 硬件 | NVIDIA RTX 4080+ (16GB) · 64GB RAM · 1TB NVMe | 多 GPU (A100 训练大型场景) |
| 操作系统 | Ubuntu 22.04 · CUDA 12.x | Windows 11 + WSL2 |
| 软件版本 | gaussian-splatting 官方仓库 · Nerfstudio 1.1+ · COLMAP | gsplat (PyTorch) |
| 网络 | 视频素材上传 (GB 级) | — |
| 时间 | 数据采集 1 h · 训练 4 h (标准场景) · 导出 mesh 30 min | 大场景训练 1 天 |
| 难度 | ⭐⭐⭐⭐ 高 | CUDA 错误排查难 |
| 前置知识 | Linux · Python · PyTorch · NeRF / 3D 基础 | 摄影测量 |
⛔ 别这么做 (Anti-patterns)
经验证的坑 —— 跳过 = 至少浪费半天,严重的烧板 / 锁机。
| ❌ 错误做法 | 💥 后果 | ⚠️ 风险 | 范围 |
|---|---|---|---|
| 不要在没装 NVIDIA 驱动 555+ 的情况下跑 Isaac Sim 4.2+ | 驱动不匹配 = 启动黑屏。nvidia-smi 查驱动版本。 | 🔴 | Isaac Sim / Isaac Lab |
| 不要把 OpenVLA / Octo / Pi-0 在没 4-bit 量化的状态下塞进 24GB 4090 | 7B 模型 fp16 = 14GB+KV cache → OOM。先 bitsandbytes 4-bit 加载再 fine-tune。 | 🟡 | OpenVLA / Octo / Pi-0 |
不要在 Isaac Sim 训练 RL 时不设 num_envs 上限 | 贪心 8192 envs = 24GB 显存瞬间爆。RTX 4090 实测 4096 envs 是甜点。 | 🟡 | Isaac Lab / RSL-RL / SkyRL |
| 不要在真机部署 VLA 之前跳过仿真域随机化 | sim-to-real gap 不收敛 = 99% 仿真成功率 + 0% 真机。先 DR 20% (质量 / 摩擦 / 视觉)。 | 🔴 | 任何 VLA 真机部署 |
| 不要把 3DGS 训练数据直接用手机 4K 视频 | 4K 60fps 1 小时 ≈ 100GB,且相机畸变 = 训练出来模糊。先 ffmpeg 1080p + 标定。 | 🟡 | 3D Gaussian Splatting |
| 不要在没 GPU 的 Linux 容器里跑 VLA 微调 | CPU 跑 7B = 1 步 5 分钟,1 epoch = 3 天。最低 1×RTX 4090 或租云。 | 🔴 | OpenVLA / VLA 微调 |
| 不要用 MuJoCo 默认 simulator 跑 Mobile ALOHA 仿真 | 默认 scene 没有双臂 + 移动底盘。要用 aloha_sim 官方 scene 文件。 | 🟡 | MuJoCo / ALOHA |
🚨 风险总览 (Risk Matrix)
| 风险等级 | 含义 | 例子 |
|---|---|---|
| 🟢 低 | 改错可回滚 / 几分钟恢复 | pip 全局装包、DHCP IP 写死 |
| 🟡 中 | 需要重新刷机 / 重装 / 1-2 小时恢复 | 装错 ROS 2 版本、没 OTA 升级看版本 |
| 🔴 高 | 不可逆 / 烧板 / 安全风险 | 电池反接、micro-ROS 没看门狗、刷机中途断电 |