DriveStudio 使用教程
1. 项目介绍
DriveStudio 是一个开源的3DGS(三维高斯表示)框架,用于城市场景的重建和模拟。该框架能够处理多种数据类型,包括车辆、行人、骑行者等,并支持多种流行的驾驶数据集,如Waymo、PandaSet、Argoverse2、KITTI、NuScenes 和 NuPlan。它通过使用多种高斯表示方法,如静态高斯、可变形高斯、周期振动高斯等,实现对城市场景的精细重建。
2. 项目快速启动
在开始之前,确保已经安装了Python 3.9和conda环境。
克隆仓库
git clone --recursive https://github.com/ziyc/drivestudio.git
cd drivestudio
创建虚拟环境并安装依赖
conda create -n drivestudio python=3.9 -y
conda activate drivestudio
pip install -r requirements.txt
pip install git+https://github.com/nerfstudio-project/gsplat.git@v1.3.0
pip install git+https://github.com/facebookresearch/pytorch3d.git
pip install git+https://github.com/NVlabs/nvdiffrast
准备数据
根据所需的数据集,按照以下说明下载并处理数据:
- Waymo: 按照数据处理说明
- NuScenes: 按照数据处理说明
- NuPlan: 按照数据处理说明
- Argoverse: 按照数据处理说明
- PandaSet: 按照数据处理说明
- KITTI: 按照数据处理说明
训练模型
export PYTHONPATH=$(pwd)
start_timestep=0
end_timestep=-1
python tools/train.py \
--config_file configs/omnire.yaml \
--output_root $output_root \
--project $project \
--run_name $expname \
dataset=waymo/3cams \
data.scene_idx=$scene_idx \
data.start_timestep=$start_timestep \
data.end_timestep=$end_timestep
调整 --config_file
和 dataset
参数来使用不同的配置和数据集。
评估模型
python tools/eval.py --resume_from $ckpt_path
3. 应用案例和最佳实践
多摄像头训练
DriveStudio 允许灵活地选择任意组合的摄像头进行训练。只需在配置文件中设置摄像头选择即可。
相机位姿优化
为了提高重建质量,框架提供了一种方法来优化相机位姿。
目标真实框优化
为了减少标注噪声,添加了优化目标真实框的特性。
仿射变换
处理相机曝光和其他相关问题,提高场景重建质量。
4. 典型生态项目
- gsplat: 提供了高级的栅格化功能,如绝对梯度、抗锯齿等。
- pytorch3d: 用于3D视觉的PyTorch库。
- nvdiffrast: 用于快速差异化渲染的库。
以上是DriveStudio的基本使用教程,更多高级功能和细节,请参考项目官方文档和源代码。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考