部署实战 | UniTR算法Orin部署应用

作者 | 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

d106310307d46bcafdd4cfb9fb91867c.png

部署平台: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 数据集:

3fe196c56c9317380bb2cd272ddd70c2.png

数据处理:https://github.com/open-mmlab/OpenPCDet/blob/master/docs/GETTING_STARTED.md

将数据按格式进行组织:

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

处理完后数据形式:

1b0dfa8509f59794e10695cad4800992.png

下载前序预训练模型:从谷歌云盘搬运到魔塔了国内方便下载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

模型应用测试:

  1. 3D检测任务:

cd tools
bash scripts/dist_test.sh 8 --cfg_file ./cfgs/nuscenes_models/unitr.yaml --ckpt <CHECKPOINT_FILE>
  1. 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 编译安装问题

dc98a6ab945c2e079b210a78e9a4acdf.png

解决方案:

cmdclass={'build_ext': BuildExtension,},
改为:
cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False) },

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署协同感知语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

74555a1d21e2467e3ab7d0e03288cc40.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

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

c55ab2cd9dc28e44dbcd8850a568daf8.png

③【自动驾驶之心】技术交流群

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

2d1f2b97ef277d3fae7148e36dd77e11.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

b8b34080fce801fa2002b73023a1904a.jpeg

猜你喜欢

转载自blog.csdn.net/CV_Autobot/article/details/135040859