pointpillar相关的其它文章链接如下:
- 【论文阅读】CVPR 2019| PointPillars: 基于点云的快速编码目标检测框架(Fast Encoders for Object Detection from Point Clouds)
- OpenPCDet v0.5版本的安装与测试
- openpcdet之pointpillar代码阅读——第一篇:数据增强与数据处理
- openpcdet之pointpillar代码阅读——第二篇:网络结构
- openpcdet之pointpillar代码阅读——第三篇:损失函数的计算
OpenPCDet更新了最新版本v0.5,同时也支持open3d。因为之前也没怎么用过mayavi,本来还想基于openpcdet 0.3版本,自己写一个open3d的显示,看到官方更新了一个最新版,果断安装最新版使用了,效果还不错,于是写一个相关的使用教程吧。
之前openpcdet的v0.3版本最高只支持pytorch1.5版本,现在最高支持到了pytorch1.10版本了!我这里安装的pytorch1.10。v0.5支持的pytorch为:
PyTorch 1.1 or higher (tested on PyTorch 1.1, 1,3, 1,5~1.10)
我这里安装的是1.10版本,安装方式如下:
conda install pytorch==1.9.1 torchvision==0.10.1 torchaudio==0.9.1 cudatoolkit=10.2 -c pytorch
openpcdet对spconv的支持也更加的友好了,最高支持到spconv2.x版本,支持版本如下:
spconv v1.0 (commit 8da6f96) or spconv v1.2 or spconv v2.x
这几个spconv版本都可以安装,但是要提醒注意的是,spconv和pytorch的版本要求对应
,如果安装错误的spconv的版本,则使用openpvdet会报错,别问我怎么知道的。。。这里我使用的是spconv 1.2.1版本。
对于openpcdet v0.5版本,注意pytorch与spconv的版本问题。
在这介绍一下spconv v1.2.1版本的安装,安装步骤如下:
#安装libboost
sudo apt-get install libboost-all-dev
# 下载spconv,并切换分支
git clone https://github.com/traveller59/spconv.git
git checkout -b v1.2 origin/v1.2.1
#下载pybind11,并把pybind11放入spconv项目中的third_party对应的目录中
git clone https://github.com/pybind/pybind11
cd spconv
python3 setup.py bdist_wheel
#如setup.py这一步报错,可能需要你删掉build/ dist/ spconv.egg-info/,这几个文件夹之后再编译
cd ./dist
pip install spconv-1.2.1-cp36-cp36m-linux_x86_64.whl
测试是否安装成功
python3
import spconv
pip和源码的方式都可以安装,安装方式如下:
CPU (Linux Only) | pip install spconv pypi |
---|---|
CUDA 10.2 | pip install spconv-cu102 |
CUDA 11.1 | pip install spconv-cu111 |
CUDA 11.3 (Linux Only) | pip install spconv-cu113 |
CUDA 11.4 | pip install spconv-cu114 |
pip install spconv-cu102 -i https://pypi.tuna.tsinghua.edu.cn/simple
#cumm安装
git clone https://github.com/FindDefinition/cumm
cd ./cumm
pip install -e .
#spconv安装
git clone https://github.com/traveller59/spconv
cd ./spconv
pip install -e .
下面用到了加速!
git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
pip install -r requirements.txt
python setup.py develop
python3
import pcdet
可以在自定义点云数据上测试预训练的模型并可视化预测结果
。
open3d和mayavi都可以使用,个人比较习惯使用open3d,使用国内源(https://pypi.tuna.tsinghua.edu.cn/simple
)安装如下:
pip3 install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple
测试训练的命令如下:
python3 demo.py --cfg_file cfgs / kitti_models / pv_rcnn.yaml \
--ckpt pv_rcnn_8369.pth \
--data_path $ {POINT_CLOUD_DATA}
这${POINT_CLOUD_DATA}可能是以下格式:
- 使用单个numpy文件(如)转换的自定义数据my_data.npy。
- 带有目录的转换后的自定义数据可用于测试多个点云数据。
- 内的原始KITTI.bin数据data/kitti,例如data/kitti/training/velodyne/000008.bin。
python3 demo.py --cfg_file cfgs / kitti_models / pv_rcnn.yaml \
--ckpt pv_rcnn_8369.pth \
../data/kitti/testing/velodyne/000008.bin
python3 demo.py \
--cfg_file cfgs/kitti_models/pointpillar.yaml \
--ext .npy\
--ckpt ../pth/my.pth \
--data_path ../train_data/npy/498.npy
我这里测试的npy格式和pointpillars代码,官方训练的代码只有3类,我个人训练的5类,所以显示的时候需要增加一些颜色配置,不然会报错,效果如下:
参考官方github链接:https://github.com/open-mmlab/OpenPCDet