安装 open-mmlab /OpenPCDet并测试demo

安装 open-mmlab /OpenPCDet 并测试demo

文章目录

  • 安装 open-mmlab /OpenPCDet 并测试demo
  • 前言
  • 一、准备工作
    • 1. 安装spconv:
    • 1.1 克隆安装代码包
    • 1.2更新cmake版本
    • 1.3确认已安装pytorch环境
    • 1.4使用pip安装.whl文件
  • 二、下载安装OpenPCDet
  • 三、使用KITTI数据集进行测试
    • 3.1 安装mayavi
    • 3.2 下载KITTI数据集并测试
  • 四、后记


前言

open-mmlab /OpenPCDet是一个简洁独立开源的适用于激光雷达3D目标检测的平台,支持多种基于深度学习的3D目标检测算法,可以使用开源数据集或者自制数据集进行训练测试。
github网址:https://github.com/open-mmlab/OpenPCDet

一、准备工作

安装步骤:https://github.com/open-mmlab/OpenPCDet/blob/master/docs/INSTALL.md
要求如下图所示:
安装 open-mmlab /OpenPCDet并测试demo_第1张图片

1. 安装spconv:

github网址:https://github.com/traveller59/spconv

1.1 克隆安装代码包

git clone https://github.com/traveller59/spconv.git --recursive
sudo apt-get install libboost-all-dev

1.2更新cmake版本

首先查看自己的cmake版本:

cmake --version

参考:
ubuntu下更新cmake版本

cmake官网下载链接:
https://cmake.org/download/
我下载的是cmake-3.19.8-Linux-x86_64.sh,下载完成后
打开文件所在路径的终端,输入:

sudo cp cmake-3.19.8-Linux-x86_64.sh /opt/
cd /opt/
sudo sh cmake-3.19.8-Linux-x86_64.sh

安装 open-mmlab /OpenPCDet并测试demo_第2张图片
遇到报错说文件已存在,则进入root权限,使用rm命令删除相应的文件:

sudo su
#输入密码
rm /usr/local/bin/cmake
rm /usr/local/bin/cpack
rm /usr/local/bin/ctest
rm /usr/local/bin/ccmake
rm /usr/local/bin/cmake-gui

安装 open-mmlab /OpenPCDet并测试demo_第3张图片
重启后再输入cmake --version查看版本,成功更新到3.19.8,如下图所示:
在这里插入图片描述
还需要把cmake链接进/usr/local/bin内,打开.bashrc文件:

sudo gedit ~/.bashrc

把下面这行代码添加到文档末尾(所用版本与我不一样的话记得调整),保存后退出。

sudo ln -s /opt/cmake-3.19.8-Linux-x86_64/bin/* /usr/local/bin

如果更新cmake后ROS功能包编译异常,下面这个参考链接非常有用:
https://www.cnblogs.com/dayspring/p/13792782.html

sudo apt-get install aptitude
sudo aptitude install ros-kinetic-desktop-full

执行完上面两行代码后再对ROS功能包进行编译,不再报错。

1.3确认已安装pytorch环境

把Python版本切换成3.6后,运行:

cd spconv
python setup.py bdist_wheel

报错如下:
安装 open-mmlab /OpenPCDet并测试demo_第4张图片
Found CUDNN: /usr/local/cuda/lib64/libcudnn.so Found cuDNN: v? (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so) CMake Error at /home/xie/.local/lib/python3.6/site-packages/torch/share/cmake/Caffe2/public/cuda.cmake:174 (message): PyTorch requires cuDNN 7 and above.

错误原因应该没有找到cudnn的版本号,上篇博客中说明了查询不到cudnn的版本号,但是官方测试是成功的,两者之间应该有一些关系,需要查询一下cudnn8怎么查版本号。
上篇博客:
https://blog.csdn.net/weixin_43678195/article/details/117320576?spm=1001.2014.3001.5501
发现一篇博客说:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
这个方法对于cudnnv8来说已经没有意义了,因为在cudnn8里面cudnn.h已经没有CUDNN_MAJOR这个信息。当然,对于cudnnv7还是可以用的。
博客链接:
https://zhuanlan.zhihu.com/p/126997172
在命令前加上sudo后:

cd spconv
sudo python setup.py bdist_wheel

结果如图所示:
安装 open-mmlab /OpenPCDet并测试demo_第5张图片

1.4使用pip安装.whl文件

在spconv目录下打开终端:

cd ./dist
pip3 install spconv-1.2.1-cp36-cp36m-linux_x86_64.whl

二、下载安装OpenPCDet

打开终端,克隆代码包:

git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
pip install -r requirements.txt 

需要等待一段时间
可能会出现错误,我遇到的错误如图:
安装 open-mmlab /OpenPCDet并测试demo_第6张图片
找到kornia的官网:
https://github.com/kornia/kornia
下载代码包后进入目录并安装:

git clone https://github.com/kornia/kornia.git
cd kornia
sudo python setup.py install

打开新终端运行以下代码:

cd OpenPCDet
sudo python setup.py develop

出现以下报错:
安装 open-mmlab /OpenPCDet并测试demo_第7张图片
还是要先解决1.3里那个问题才能继续。

解决上述Bug后再运行:

cd OpenPCDet
sudo python setup.py develop

还是报错,但是错误改变了:
安装 open-mmlab /OpenPCDet并测试demo_第8张图片
解决办法:查了一下可能是numba没有安装:

numba --version
sudo apt install python3-numba

安装 open-mmlab /OpenPCDet并测试demo_第9张图片
然后再运行:

sudo python setup.py develop

成功界面:
安装 open-mmlab /OpenPCDet并测试demo_第10张图片

到此,成功安装了open-mmlab /OpenPCDet!

三、使用KITTI数据集进行测试

3.1 安装mayavi

确定是否安装了mayavi,没有的话安装:

pip install mayavi

然后:

cd OpenPCDet/tools
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml     --ckpt pv_rcnn_8369.pth     --data_path ${POINT_CLOUD_DATA}

我遇到了一些报错,主要是少一些功能包:
安装命令如下:

pip install scipy
pip install scikit-image
pip install tqdm
pip install torchvision

再运行:

python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml     --ckpt pv_rcnn_8369.pth     --data_path ${POINT_CLOUD_DATA}

还有错误:
在这里插入图片描述
路径错误,错误原因:直接复制的官网命令,data_path后面的路径是虚拟的,应该把data_path改成自己的数据集所在的路径。
官网有说明:
安装 open-mmlab /OpenPCDet并测试demo_第11张图片

3.2 下载KITTI数据集并测试

KITTI数据集官网:
http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d

选择的是激光雷达的3D点云数据:
Download Velodyne point clouds, if you want to use laser information (29 GB)
下载时间比较久,有需要的回头我把百度云链接放上。
下载完成后解压发现里面有两个文件夹,分为训练集和测试集:training和testing,
每个文件夹里都有大量的点云数据(训练集有七千多个文件)。
把解压后训练集的000008.bin放到data/kitti/training/velodyne目录下(此目录是为了与官网对应,也可以自定义),需要自己在tools文件夹中的data文件夹新建目录。
安装 open-mmlab /OpenPCDet并测试demo_第12张图片
把命令的data_path改成正确的路径再运行:

python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml     --ckpt pv_rcnn_8369.pth     --data_path data/kitti/training/velodyne/000008.bin

报错如下:

 File "demo.py", line 103, in <module>
    main()
  File "demo.py", line 83, in main
 model.load_params_from_file(filename=args.ckpt, logger=logger, to_cpu=True)
  File "/home/xie/OpenPCDet/pcdet/models/detectors/detector3d_template.py", line 325, in load_params_from_file
    raise FileNotFoundError
FileNotFoundError

安装 open-mmlab /OpenPCDet并测试demo_第13张图片
在文件夹中未找到pv_rcnn_8369.pth文件,查了一下issues,发现是要自己下载预训练模型:
https://github.com/open-mmlab/OpenPCDet/issues/269

pv_rcnn_8369.pth模型下载链接如下:
https://drive.google.com/file/d/1lIOq4Hxr0W3qsX83ilQv0nk1Cls6KAr-/view
下载后放到tools文件夹内再运行:

python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml     --ckpt pv_rcnn_8369.pth     --data_path data/kitti/training/velodyne/000008.bin

报错提示没有装可视化界面:
安装 open-mmlab /OpenPCDet并测试demo_第14张图片
通过pip进行安装:

pip install pyqt5

安装完成后再运行:

python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml     --ckpt pv_rcnn_8369.pth     --data_path data/kitti/training/velodyne/000008.bin

终于成功啦:
安装 open-mmlab /OpenPCDet并测试demo_第15张图片

四、后记

遇到问题多在issues里找一找,大部分问题前人都遇到过并且解决了。

如果觉得对您有帮助,记得点个赞哦!

你可能感兴趣的:(深度学习,Lidar,3D点云目标检测,自动驾驶,机器学习,pytorch)