文章目录

  • ​​环境配置​​
  • ​​Python依赖​​
  • ​​数据集下载​​
  • ​​1. Mini dataset​​
  • ​​2. Full dataset​​
  • ​​运行​​
  • ​​Eval​​
  • ​​Visualize​​

项目地址:https://github.com/nv-tlabs/lift-splat-shoot
数据集下载地址:https://www.nuscenes.org/download

环境配置

Python依赖

conda create -n bev python=3.7
conda activate bev
  • 安装torch:
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
  • 安装工具:
pip install nuscenes-devkit tensorboardX efficientnet_pytorch==0.7.0

数据集下载

1. Mini dataset

  • 下载mini即可:
  • 解压数据集,并将根目录下的v1.0-mini改成mini:

Map

  • 下载最新的Map expansion
  • 解压到maps文件下:

Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_数据集

2. Full dataset

依然是从网上下载得到,整理成如下格式,根目录为​​SAVE_PATH/nuscense/trainval​​:

  • ​samples​​​和​​sweeps​​为所有图像的数据;
  • ​v1.0-trainval​​为所有数据集的json文件。

运行

  • 拉取项目文件:
git clone https://github.com/nv-tlabs/lift-splat-shoot.git
  • 下载模型文件:
https://github.com/lukemelas/EfficientNet-PyTorch/releases/download/1.0/efficientnet-b0-355c32eb.pth

Eval

这里的dataroot改成你自己的路径位置,GPU如果是默认一块则为0:

python main.py eval_model_iou mini --modelf=./efficientnet-b0-355c32eb.pth --dataroot=/home/pc/Dataset/nuScenes --gpuid=0
  • 报错
    如果在模型读取时报如下错误
  • Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_数据集_02

  • 解决方法
    将报错位置的python代码改为:
  • Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_ubuntu_03

model.load_state_dict(torch.load(modelf), False)

即可解决。

  • 运行成功如下:

Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_数据集_04

Visualize

和上一步配置相同:

python main.py viz_model_preds mini --modelf=./efficientnet-b0-355c32eb.pth --dataroot=/home/pc/Dataset/nuScenes --map_folder=/home/pc/Dataset/nuScenes/mini --gpuid=0
  • 报错
    如果在模型运行时报如下错误:(因为本机GPU卡编号和定义的不同导致报错)
  • Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_数据集_05

  • 解决方法
    将报错位置的python代码改为:
  • Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_ubuntu_06

device = torch.device('cpu') if gpuid >= 0 else torch.device(f'cuda:{gpuid}')
  • 运行成功:

Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_数据集_07

Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_paper_08