作者 | momo 编辑 | 汽车人
原文链接:https://zhuanlan.zhihu.com/p/672153815
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【模型部署】技术交流群
本文只做学术分享,如有侵权,联系删文
资料:
论文:UniTR: A Unified and Efficient Multi-Modal Transformer for Bird's-Eye-View Representation
代码:https://github.com/Haiyang-W/UniTR.git
UniTR:鸟瞰视角表示的统一和高效多模态 Transformer

部署平台:jetson orin 64G
下载代码:
git clone https://github.com/Haiyang-W/UniTR.git
环境搭建:直接执行,缺啥步啥
# Install extra dependency
pip3 install -r requirements.txt
# Install nuscenes-devkit
pip3 install nuscenes-devkit==1.0.5
pip3 install SharedArray
pip3 install av2
# Develop
python3 setup.py develop
下载数据:(官方说明)
NuScenes 3D object detection dataset
Map expansion (Map expansion pack (v1.3))
OpenPCDet
├── data
│ ├── nuscenes
│ │ │── v1.0-trainval (or v1.0-mini if you use mini)
│ │ │ │── samples
│ │ │ │── sweeps
│ │ │ │── maps
│ │ │ │── v1.0-trainval
├── pcdet
├── tools
//下载地图放到上边的数据目录下/data/nuscenes/v1.0-trainval/maps
OpenPCDet
├── maps
│ ├── ......
│ ├── boston-seaport.json
│ ├── singapore-onenorth.json
│ ├── singapore-queenstown.json
│ ├── singapore-hollandvillage.json
数据预处理:
python -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos \
--cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \
--version v1.0-trainval \
--with_cam \
--with_cam_gt
处理后数据格式:
OpenPCDet
├── data
│ ├── nuscenes
│ │ │── v1.0-trainval (or v1.0-mini if you use mini)
│ │ │ │── samples
│ │ │ │── sweeps
│ │ │ │── maps
│ │ │ │── v1.0-trainval
│ │ │ │── img_gt_database_10sweeps_withvelo
│ │ │ │── gt_database_10sweeps_withvelo
│ │ │ │── nuscenes_10sweeps_withvelo_lidar.npy (optional) # if open share mem
│ │ │ │── nuscenes_10sweeps_withvelo_img.npy (optional) # if open share mem
│ │ │ │── nuscenes_infos_10sweeps_train.pkl
│ │ │ │── nuscenes_infos_10sweeps_val.pkl
│ │ │ │── nuscenes_dbinfos_10sweeps_withvelo.pkl
├── pcdet
├── tools
演示用跑个nuScenes-mini-val 数据集:

数据处理:https://github.com/open-mmlab/OpenPCDet/blob/master/docs/GETTING_STARTED.md
将数据按格式进行组织:

python3 -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos --cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml --version v1.0-mini

处理完后数据形式:

下载前序预训练模型:从谷歌云盘搬运到魔塔了国内方便下载UniTR
unitr.pth
unitr+lss.pth
unitr_mapseg.pth
unitr_mapseg+lss.pth
unitr_pretrain.pth
3D检测训练:
cd tools
bash scripts/dist_train.sh 8 --cfg_file ./cfgs/nuscenes_models/unitr.yaml --sync_bn --pretrained_model ../unitr_pretrain.pth --logger_iter_interval 1000
BEV地图分割任务训练:
cd tools
bash scripts/dist_train.sh 8 --cfg_file ./cfgs/nuscenes_models/unitr_map.yaml --sync_bn --eval_map --logger_iter_interval 1000
模型应用测试:
3D检测任务:
cd tools
bash scripts/dist_test.sh 8 --cfg_file ./cfgs/nuscenes_models/unitr.yaml --ckpt <CHECKPOINT_FILE>
BEV地图分割任务
cd tools
bash scripts/dist_test.sh 8 --cfg_file ./cfgs/nuscenes_models/unitr_map.yaml --ckpt <CHECKPOINT_FILE> --eval_map
遇到问题:
1、python3 setup develop 编译安装问题

解决方案:
cmdclass={'build_ext': BuildExtension,},
改为:
cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False) },
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)

② 国内首个自动驾驶学习社区
近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!