赞
踩
代码链接:GitHub - dvlab-research/VoxelNeXt: VoxelNeXt: Fully Sparse VoxelNet for 3D Object Detection and Tracking (CVPR 2023)
原文地址:https://arxiv.org/abs/2303.11301
我的环境:
Conda虚拟环境配置:
conda create -n voxel_next python=3.8
配置Pytorch:
pip install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0
-f https://download.pytorch.org/whl/cu113/torch_stable.html
-t ./anaconda3/envs/voxel_next/lib/python3.8/site-packages
-i https://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn
测试Pytorch:
>>> import torch
>>> print(torch.__version__)
1.10.0+cu113
配置Spconv-2.x:
pip install spconv-cu113
-t ./anaconda3/envs/voxel_next/lib/python3.8/site-packages
-i https://pypi.mirrors.ustc.edu.cn/simple/
--trusted-host pypi.mirrors.ustc.edu.cn
测试Spconv:
python
>>>import spconv.pytorch as spconv
删掉requirements .txt中的 pytorch 和 torchvision,在终端运行:
pip install -r requirements.txt
-t ./anaconda3/envs/voxel_next/lib/python3.8/site-packages
-i https://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn
输入下面指令来,完成Pcdet的相关库配置
python setup.py develop
更改requirements.txt为以下内容:
numpy
llvmlite
numba
tensorboardX
easydict
pyyaml
scikit-image
tqdm
SharedArray
opencv-python
pyquaternion
kornia==0.5.8 #一定要是这个版本要不后面会报错
av2
opencv-contrib-python
输入下面命令来,完成Pcdet的配置
python setup.py develop
输出下图为配置成功:
安装nuscnenes相关依赖
pip install nuscenes-devkit==1.0.5 -t ./anaconda3/envs/Openpcdet/lib/python3.8/site-packages
-i https://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn
pip install pycocotools -t ./anaconda3/envs/Openpcdet/lib/python3.8/site-packages
-i https://pypi.mirrors.ustc.edu.cn/simple/ --trusted-host pypi.mirrors.ustc.edu.cn
利用脚本配置nuscnenes数据集:
python -m pcdet.datasets.nuscenes.nuscenes_dataset \
--func create_nuscenes_infos \
--cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \
--version v1.0-trainval (or v1.0-mini)
数据集存放格式: 原始格式 VoxelNext ├── data │ ├── nuscenes │ │ │── v1.0-trainval (or v1.0-mini) │ │ │ │── samples # 对keyframes的,各种sensor的数据,包括了相机、毫米波雷达和激光雷达 │ │ │ │── sweeps # intermediate frames(过渡帧或中间帧)的sensor data │ │ │ │── maps # 存放着所有的map files,包括栅格化后的png图片和向量化后的json文件 │ │ │ │── v1.0-trainval (or v1.0-mini) # 存放着所有meta data和annotations的JSON table 处理后的格式 VoxelNext ├── data │ ├── nuscenes │ │ │── v1.0-trainval (or v1.0-mini) │ │ │ │── samples │ │ │ │── sweeps │ │ │ │── maps │ │ │ │── v1.0-trainval (or v1.0-mini) # 存放着所有meta data和annotations的JSON table │ │── gt_database_10sweeps_withvelo # mini版本里没有 │ │── nuscenes_infos_10sweeps_train.pkl │ │── nuscenes_infos_10sweeps_val.pkl │ │── nuscenes_dbinfos_10sweeps_withvelo.pkl
脚本运行结果如图所示
下载预训练模型
nuScenes Detection Set mAP NDS Download
VoxelNeXt val 60.5 66.6 Pre-trained
这个对应的cfg文件是:
VoxelNeXt/tools/cfgs/nuscenes_models/cbgs_voxel0075_voxelnext.yaml
cd tools
bash scripts/dist_test.sh NUM_GPUS --cfg_file PATH_TO_CONFIG_FILE --ckpt PATH_TO_MODEL
#For example,
bash scripts/dist_test.sh 8 --cfg_file PATH_TO_CONFIG_FILE --ckpt PATH_TO_MODEL
H_TO_CONFIG_FILE --ckpt PATH_TO_MODEL
#For example,
bash scripts/dist_test.sh 1 --cfg_file ./cfgs/nuscenes_models/cbgs_voxel0075_voxelnext.yaml
--ckpt ../voxelnext_nuscenes_kernel1.pth
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。