安装 open-mmlab /OpenPCDet并测试demo

安装 open-mmlab /OpenPCDet 并测试demo


前言

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

一、准备工作

安装步骤:https://github.com/open-mmlab/OpenPCDet/blob/master/docs/INSTALL.md
要求如下图所示:
在这里插入图片描述

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

在这里插入图片描述
遇到报错说文件已存在,则进入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

在这里插入图片描述
重启后再输入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

报错如下:
在这里插入图片描述
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

结果如图所示:
在这里插入图片描述

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 

需要等待一段时间
可能会出现错误,我遇到的错误如图:
在这里插入图片描述
找到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

出现以下报错:
在这里插入图片描述
还是要先解决1.3里那个问题才能继续。

解决上述Bug后再运行:

cd OpenPCDet
sudo python setup.py develop

还是报错,但是错误改变了:
在这里插入图片描述
解决办法:查了一下可能是numba没有安装:

numba --version
sudo apt install python3-numba

在这里插入图片描述
然后再运行:

sudo python setup.py develop

成功界面:
在这里插入图片描述

到此,成功安装了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改成自己的数据集所在的路径。
官网有说明:
在这里插入图片描述

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文件夹新建目录。
在这里插入图片描述
把命令的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

在这里插入图片描述
在文件夹中未找到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

报错提示没有装可视化界面:
在这里插入图片描述
通过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

终于成功啦:
在这里插入图片描述

四、后记

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

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

  • 15
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值