从零开始:使用nuscenes-mini数据集运行MapTRv2预测的完整流程
从零开始:使用nuscenes-mini数据集运行MapTRv2预测的完整流程
当你第一次接触MapTRv2这个强大的高精地图构建工具时,可能会被复杂的配置流程吓到。别担心,本文将手把手带你完成从数据集准备到预测可视化的全过程,让你在30分钟内跑通第一个预测demo。
1. 环境配置:避开那些坑
MapTRv2对环境依赖较为敏感,官方文档的安装指引有时会导致版本冲突。经过多次实践,我总结出一套稳定的配置方案:
# 创建并激活虚拟环境 conda create -n maptr python=3.8 -y conda activate maptr关键组件版本选择:
| 组件 | 推荐版本 | 注意事项 |
|---|---|---|
| PyTorch | 1.10.0+cu111 | 必须匹配CUDA 11.x |
| mmcv-full | 1.3.18 | 高于1.4.0会导致兼容性问题 |
| mmdetection | 2.14.0 | 需要与mmcv版本对应 |
安装核心依赖时,这个组合从未让我失望:
pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html pip install mmcv-full==1.3.18 mmdet==2.14.0 mmsegmentation==0.14.1提示:如果遇到"undefined symbol"错误,大概率是mmcv版本不匹配,建议彻底卸载后重装指定版本
2. 数据集准备:nuscenes-mini极速上手
对于快速验证,nuscenes-mini是最佳选择。下载后按以下结构组织:
data/ ├── can_bus/ └── nuscenes/ ├── maps/ │ ├── basemap/ │ └── expansion/ └── v1.0-mini/数据集处理关键步骤:
- 运行数据转换脚本时添加
--version v1.0-mini参数 - 修改
custom_nusc_map_converter.py跳过train/test拆分:
# 注释掉原始的训练/测试集处理代码 nuscenes_data_prep( root_path=args.root_path, version=args.version, # 直接使用传入的版本参数 ...其他参数... )3. 模型推理:从静态预测到动态可视化
获取预训练模型后,运行预测命令需要特别注意两点:
python tools/maptrv2/nusc_vis_pred.py \ projects/configs/maptrv2/maptrv2_nusc_r50_24ep.py \ ckpts/maptrv2_nusc_r50_24e.pth \ --show-dir ./results可视化增强技巧:
- 使用
--fps 10参数调整视频帧率 - 添加
--show-range 50控制显示范围 - 通过
--line-width 2加粗预测线条
4. 常见问题排查指南
遇到问题时,先检查这几个关键点:
模块导入错误
在项目根目录执行:export PYTHONPATH=$PYTHONPATH:`pwd`CUDA内存不足
在config文件中修改测试批大小:test_cfg = dict(max_det=50) # 减少检测数量可视化结果异常
检查nuscenes_map_infos_temporal_val.pkl是否生成成功
最后分享一个实用技巧:使用tmux或screen运行长时间任务,避免SSH断开导致进程终止。我在第一次尝试时因为没有用tmux,白白浪费了三小时的计算结果。
