Alex Blog

PETR Docker环境搭建与对应的BEV Demo运行指南

 

1. 准备PETR Docker环境

a. 利用Dockerfile建议docker image

运行如下命令建立Docker image:

docker build --build-arg timezone='cat /etc/timezone' \
--build-arg user=$USER --build-arg uid=$(id -u) --build-arg gid=$(id -g) \
--build-arg group=<group-name> -t petr:v2 .

b. 利用Docker创建容器

参考命令如下:

docker run --gpus all --name <docker-name> -it --user $USER --shm-size 32gb -p 5000:5000 \
'[ -d $HOME/.ssh ] && echo -v $HOME/.ssh:/home/$USER/.ssh' \
'[ -f $HOME/.gitconfig ] && echo -v $HOME/.gitconfig:/home/$USER/.gitconfig' \
'[ -f $HOME/.bash_aliases ] && echo -v $HOME/.bash_aliases:/home/$USER/.bash_aliases' \
petr:v2 /bin/bash --login

c. 安装mmdetection3d 并将NuScenes数据集link到容器内

参考以下命令:

cd /workspace/mmdetection3d
python3 setup.py develop
cd /workspace/PETR/data
ln -s /path/to/nuscenes/dataset/ nuscenes
cd ../
git checkout petrv2-repvgg

2. 准备BEV DEMO输入的数据

a. 下载NuScenes数据集

请到nuscenes的官网下载数据集:nuscenes

我们这边使用的是v1.0的数据集,下载后最终文件结构类似:

建议将文件link到Docker里面的目录:“/workspace/PETR/data/nuscenes”

b. 使用mmdetection3d & PETR对数据集进行预处理

进入之前准备的Docker环境中,并将下载好的数据集软链接到Docker环境的对应目录。

运行如下命令进行预处理:

cd /workspace/mmdetection3d
python tools/create_data.py nuscenes --root-path /workspace/PETR/data/nuscenes \
--out-dir /workspace/PETR/data/nuscenes --extra-tag nuscenes

接着,利用PETR的repo对处理后的数据进行二次处理:

cd /workspace/PETR
python tools/generate_sweep_pkl.py

最后,将BEV Demo中的数据处理脚本下载并进行BEV Demo的数据预处理:

将文件 data_preparation.py 拷贝至目录“/workspace/PETR/”
拷贝 config_file.py至“/workspace/PETR/projects/configs/petrv2/”
mkdir data/nuscenes/input
python data_preparation.py projects/configs/petrv2/config_file.py

这样,我们就有了预处理出来的数据文件夹 data/nuscenes/inputdata/nuscenes

3. 运行BEV Demo

根据GitHub中的建议,运行如下命令:

git clone https://github.com/hailo-ai/hailo-BEV.git
cd BEV_Demo
pip install -r requirements.txt
./download_resources.sh
./src/bev.py -m <model_path> -i <input_path> -d <data_path> -f <wanted_FPS> --infinite-loop -n <number_of_scenes>

 


已发布

分类

,

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注