ThinkTwice 开源项目使用教程
1. 项目介绍
ThinkTwice 是一个用于端到端自动驾驶的 SOTA(State-of-the-Art)解码器,由 OpenDriveLab 开发并在 CVPR 2023 上发布。该项目基于 PyTorch 实现,旨在通过 BEV(Bird's Eye View)视角下的解码器来提升自动驾驶系统的性能。ThinkTwice 项目不仅提供了高效的解码器实现,还包含了一系列用于数据收集、模型训练和闭环评估的工具。
2. 项目快速启动
2.1 安装环境
首先,确保你已经安装了 Python 和 PyTorch。然后,克隆项目仓库并安装依赖:
git clone https://github.com/OpenDriveLab/ThinkTwice.git
cd ThinkTwice
pip install -r requirements.txt
2.2 下载预训练模型
你可以从以下链接下载预训练模型,并将其放置在 open_loop_training/ckpt 目录下:
- Google Drive
- 百度云盘 提取码:
m5di
2.3 运行闭环评估
在 Carla 模拟器中运行闭环评估:
CUDA_VISIBLE_DEVICES=0 nohup bash leaderboard/scripts/evaluation_town05long.sh 22023 22033 thinktwice_agent False True open_loop_training/ckpt/thinktwice.pth+open_loop_training/configs/thinktwice.py all_towns_traffic_scenarios_no256 thinktwice_town05long 2>&1 > thinktwice_town05long.log &
评估结果将保存在 closed_loop_eval_log/eval_log 文件中。
3. 应用案例和最佳实践
3.1 数据收集
ThinkTwice 项目提供了数据收集工具,可以在 Carla 模拟器中收集训练数据。你可以通过以下命令启动数据收集:
python roach/roach_ap_agent_data_collection.py
3.2 模型训练
如果你希望训练自己的模型,可以使用项目提供的训练脚本:
python open_loop_training/train.py --config open_loop_training/configs/thinktwice.py
3.3 闭环评估
在 Carla 模拟器中进行闭环评估是验证模型性能的重要步骤。你可以通过修改 leaderboard/scripts/evaluation_town05long.sh 脚本来调整评估参数。
4. 典型生态项目
ThinkTwice 项目与其他开源项目和工具紧密结合,形成了强大的自动驾驶生态系统:
- Carla Simulator: 用于模拟自动驾驶场景的开源模拟器。
- Roach: 用于数据收集和预处理的工具集。
- BEVFormer: 与 ThinkTwice 结合使用的 BEV 视角下模型。
- UniAD: 用于多任务学习的自动驾驶模型。
这些项目共同构成了一个完整的自动驾驶解决方案,为开发者提供了丰富的工具和资源。
通过本教程,你应该能够快速上手 ThinkTwice 项目,并在 Carla 模拟器中进行闭环评估。希望你能通过这个项目进一步提升自动驾驶系统的性能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



