PPGeo 开源项目使用教程
1. 项目介绍
PPGeo 是一个完全自监督的驾驶策略预训练框架,旨在从未标记的驾驶视频中学习。该项目由 OpenDriveLab 开发,并在 ICLR 2023 上发表。PPGeo 通过自监督的几何建模方法,为自动驾驶策略提供预训练模型,从而提高自动驾驶系统的性能和鲁棒性。
2. 项目快速启动
2.1 环境搭建
首先,克隆 PPGeo 仓库并构建环境:
git clone https://github.com/OpenDriveLab/PPGeo.git
cd PPGeo
conda env create -f environment.yml --name PPGeo
conda activate PPGeo
2.2 数据准备
根据 ACO 的说明下载驾驶视频数据集,并创建数据集的符号链接:
ln -s DATA_ROOT data
2.3 数据预处理
运行以下命令进行数据预处理:
python ytb_data_preprocess.py
2.4 模型训练
2.4.1 第一阶段训练
python train.py --id ppgeo_stage1_log --stage 1 --epochs 30
2.4.2 第二阶段训练
python train.py --id ppgeo_stage2_log --stage 2 --epochs 20 --ckpt PATH_TO_STAGE1_CKPT
3. 应用案例和最佳实践
3.1 Nuscenes 规划任务
首先下载 nuScenes 数据集,并创建符号链接:
cd nuscenes_planning
cd data
ln -s nuScenes_data_root nuscenes
然后训练规划模型:
python train_planning.py --pretrained_ckpt PATH_TO_STAGE2_CKPT
3.2 导航与动态强化学习
使用 DI-drive 引擎进行数据收集、训练和评估。具体细节可以参考 ACO 的文档。
4. 典型生态项目
4.1 DI-drive
DI-drive 是一个用于自动驾驶数据收集和训练的引擎,与 PPGeo 结合使用可以进一步提升自动驾驶系统的性能。
4.2 nuScenes
nuScenes 是一个广泛使用的自动驾驶数据集,PPGeo 通过预训练模型在 nuScenes 数据集上进行规划任务,展示了其在实际应用中的潜力。
通过以上步骤,您可以快速上手 PPGeo 项目,并将其应用于自动驾驶的各个任务中。