VoxelNet源码是用tensorflow写的,但现在主流的框架是pytorch,github上star最多的voxelnet_pytorch项目使用的pytorch版本较低(0.3.0这种版本),所以如果安装现阶段常用的pytorch1.X或pytorch2.X就会出现很多错误,因此在配置环境时我使用的是pytorch0.4.0版本,环境配置比较简单,只需要三四步

先附上github链接:VoxelNet下载链接

目录

1、安装低版本的pytorch

2、编译所需内容

3、准备KITTI数据集

4、开始训练(mayavi安装注意)


1、创建虚拟环境

创建python=3.6的环境,因为低版本的pytorch对python版本有要求

conda create -n voxelnet python=3.6
2、安装低版本的pytorch

安装很简单,输入下面命令安装0.4.0版本的pytorch

conda install pytorch=0.4.0 -c pytorch
2、编译所需内容

输入下面的命令

python3 setup.py build_ext --inplace
python3 nms/build.py
3、准备KITTI数据集

首先需要准备好KITTI数据集,KITTI结构如下面两张图(和其他项目的数据集结构要求是一样的)

查看pytorch是否为gpu版本 怎样查看pytorch版本_python


查看pytorch是否为gpu版本 怎样查看pytorch版本_查看pytorch是否为gpu版本_02

training文件夹内容

 其中testing和training两个文件夹中的crop是空文件夹且一定要自己先创建好,否则后面会报错。

接着修改data文件夹下crop.py代码中的数据集路径,只需要修改L82-L85行的路径即可,下面是我的路径。

# update the following directories
IMG_ROOT = '/root/autodl-tmp/KITTI/training/image_2/'
PC_ROOT = '/root/autodl-tmp/KITTI/training/velodyne/'
CALIB_ROOT = '/root/autodl-tmp/KITTI/training/calib/'
PC_CROP_ROOT = '/root/autodl-tmp/KITTI/training/crop/'

最后输入下面命令

python3 data/crop.py

此时就会开始处理KITTI数据集(主要是对原始点云做剪切,限制点云的范围)

最后把处理好的KITTI数据集放入VoxelNet/data文件夹下,还需要下载分割数据集的文本文件,下载链接:ImageSet下载链接

把其中的train.txt放入KITTI数据集的training文件夹下。

4、开始训练(mayavi安装注意)

输入下面命令:

python train.py

此时可能会提示有些包没有安装,不过都是一些较为常见的包,逐一添加上即可。

需要提醒的是,在安装mayavi时需要低版本的vtk,可以输入下面命令

pip install vtk==8.1.2
pip install mayavi

低版本的python在安装opencv时会出现一些问题,建议安装低版本的opencv,输入下面命令:

pip install opencv-python==3.4.3.18

至此,VoxelNet的配置环境部分就完成了,接下来就可以开始训练和测试了。