open-mmlab /OpenPCDet是一个简洁独立开源的适用于激光雷达3D目标检测的平台,支持多种基于深度学习的3D目标检测算法,可以使用开源数据集或者自制数据集进行训练测试。
github网址:https://github.com/open-mmlab/OpenPCDet
安装步骤:https://github.com/open-mmlab/OpenPCDet/blob/master/docs/INSTALL.md
要求如下图所示:
github网址:https://github.com/traveller59/spconv
git clone https://github.com/traveller59/spconv.git --recursive
sudo apt-get install libboost-all-dev
首先查看自己的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功能包进行编译,不再报错。
把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
在spconv目录下打开终端:
cd ./dist
pip3 install spconv-1.2.1-cp36-cp36m-linux_x86_64.whl
打开终端,克隆代码包:
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
解决上述Bug后再运行:
cd OpenPCDet
sudo python setup.py develop
还是报错,但是错误改变了:
解决办法:查了一下可能是numba没有安装:
numba --version
sudo apt install python3-numba
sudo python setup.py develop
到此,成功安装了open-mmlab /OpenPCDet!
确定是否安装了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改成自己的数据集所在的路径。
官网有说明:
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 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里找一找,大部分问题前人都遇到过并且解决了。
如果觉得对您有帮助,记得点个赞哦!