ManiGaussian项目使用教程
1. 项目介绍
ManiGaussian是一个用于多任务机器人操作的开端到端的模仿学习代理。该项目基于动态高斯散布框架和高斯世界模型,用于建模场景级别的时空动态。动态高斯散布框架在高斯嵌入空间中建模语义特征的传播,以实现操作;而高斯世界模型通过重构未来场景来参数化分布,提供监督。
2. 项目快速启动
安装
在开始之前,请确保你已经安装了必要的依赖项。以下是安装ManiGaussian的基本步骤:
# 克隆项目仓库
git clone https://github.com/GuanxingLu/ManiGaussian.git
# 进入项目目录
cd ManiGaussian
# 安装依赖
pip install -r requirements.txt
生成演示
为了生成项目中所有10个任务的演示,运行以下命令:
bash scripts/gen_demonstrations_all.sh
训练
在训练之前,请先登录wandb以便记录训练曲线和可视化:
wandb login
以下是训练ManiGaussian的不同变体的命令:
- 训练不带语义特征和形变预测器的ManiGaussian(最快版本):
bash scripts/train_and_eval_w_geo.sh ManiGaussian_BC 0,1 12345 ${exp_name}
- 训练不带语义特征的ManiGaussian:
bash scripts/train_and_eval_w_geo_dyna.sh ManiGaussian_BC 0,1 12345 ${exp_name}
- 训练不带形变预测器的ManiGaussian:
bash scripts/train_and_eval_w_geo_sem.sh ManiGaussian_BC 0,1 12345 ${exp_name}
- 训练标准的ManiGaussian:
bash scripts/train_and_eval_w_geo_sem_dyna.sh ManiGaussian_BC 0,1 12345 ${exp_name}
请替换${exp_name}为你喜欢的任何名字。训练通常需要两个NVIDIA RTX 4090 GPU大约2天时间。
评估
为了评估训练后的检查点,运行以下命令:
bash scripts/eval.sh ManiGaussian_BC ${exp_name} 0
请注意,push_buttons和stack_blocks任务的表现可能会因为不同的变体而略有波动。
分析评估结果
评估完成后,可以使用以下命令来计算平均成功率:
python scripts/compute_results.py --file_paths ManiGaussian_results/w_geo/0.csv ManiGaussian_results/w_geo/1.csv ManiGaussian_results/w_geo/2.csv --method last
3. 应用案例和最佳实践
在项目中,你可以找到生成演示、训练模型和评估结果的详细步骤。为了获得最佳实践,建议遵循以下指导:
- 确保你的计算环境满足所有依赖项的要求。
- 在开始训练之前,先生成足够的演示数据。
- 根据你的具体任务需求调整模型配置。
- 使用wandb来监控训练进度,以便及时调整训练策略。
4. 典型生态项目
ManiGaussian项目是基于以下开源项目构建的:
- GNFactor
- LangSplat
- GPS-Gaussian
- splatter-image
- PerAct
- RLBench
- pixelNeRF
- ODISE
- CLIP
我们感谢所有这些项目的作者为开源社区做出的贡献。在尝试ManiGaussian之前,了解这些项目的基础知识可以帮助更好地理解其工作原理。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



