一, 双系统安装及驱动下载,CUDA及CUDNN下载安装
1.Ubuntu20.04下载及安装
Windows 和 Ubuntu 双系统的安装和卸载
记得·Ubuntu安装完后要更新一下,在终端里,先执行sudo apt update,然后sudo apt install build-essential
2.NVIDIA显卡的Ubuntu驱动程序安装方法
我测试下来发现从官网下驱动会有重启黑屏卡登录的问题,而用终端通过代码就没有
3.实测有效:在Ubuntu 20.04上安装NVIDIA驱动程序的方法
4.Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程/ubuntu 安装 Cuda与 Cudnn进化版
4.1
我选的是8.2.1版本
注:对CUDA安装是否成功,需要进入NVIDIA CUDA示例包,其位于**/home/liang/NVIDIA_CUDA-11.0_Samples内,在该文件夹下打开终端,并输入 sudo make。然后进入1_Utilities/deviceQuery文件夹,并在终端执行./deviceQuery**命令,如下result=PASS则表示安装成功。
二。Point RCNN 复现
在已经搭建cuda11.3. cudnn8.2.1 的基础上,选择anaconda 3 python 3.7 作为深度学习虚拟环境的搭建。
1.安装ancinda
ubuntu 20.04 | 安装与卸载 Anaconda3 + CUDA 11.1 + cuDNN 8.0.5 + PyTorch 1.9.0
2. 在anaconda 3 采用 conda 安装torch
2.安装python
conda create -n pointrcnn python=3.7
进入/离开该环境:
1.conda activate pointrcnn
2.conda deactivate
3.安装pytorch 1.10
pip安装(使用清华源):
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch==1.10.0
检查:conda list存在torch即安装完成
打开python,并运行:import torch 载入该模块,未报错则成功。
4.下载源代码
[3D检测系列-PointRCNN]复现PointRCNN代码,并实现PointRCNN3D目标检测可视化,包含预训练权重下载链接(从0开始以及各种报错的解决方法)
https://github.com/sshaoshuai/PointRCNN
Pytorch版本的代码、直接进github下载,这一步应该不需要过多解释。
如果有不会下载的可以直接打开一个终端,输入一下代码
git clone https://github.com/sshaoshuai/PointRCNN
**
pointnet2_lib打开的话是空的,这个时候需要在github中把这个文件夹单独打开,把里面的东西下载下来,然后放在本地代码文件夹里面去。下载源代码后,在该文件下打开终端,输入下面的代码,安装依赖库*
安装pointnet2,iou3d,roipool3d三个依赖。
sh build_and_install.sh
安装其它相关依赖库
pip install easydict
pip install tqdm
pip install tensorboardX
pip install scipy
pip install fire
pip install scikit-image
pip install numba
pip install pyyaml
出警告如下:未理会。
5.数据集下载及放置
6.使用作者预训练模型
利用作者的预训练模型可以直接检测,将下图中这个模型放在tools文件夹下
接下里开始检测:
python eval_rcnn.py --cfg_file cfgs/default.yaml --ckpt PointRCNN.pth --batch_size 1 --eval_mode rcnn --set RPN.LOC_XZ_FINE False
错误1:TypeError: load() missing 1 requered positional argument : ‘Loader’
解决方法:
pip install pyyaml==5.1
等个10分钟
检测结果放在以下路径下:
PointRCNN/output/rcnn/default/eval/epoch_no_number/val/final_result/
三。结果可视化
克隆可视化工具:
git clone 下载或者直接在 GitHub 上下载源码,与 PointRCNN 项目可以不放在同一文件夹下
git clone https://github.com/kuixu/kitti_object_vis.git
pip install opencv-python pillow scipy matplotlib
conda install mayavi -c conda-forge
安装conda install mayavi -c conda-forge有warning,无需理会。
***注意:**在Python3.x环境下在安装mayavi时,想要运行成功,则需要PyQt、PySide或者wxPython。
选择PyQt5组件及依赖安装:
在配置的环境下输入指令 conda install pyqt5==5.12.0 安装PyQt5。
系统环境中安装依赖组件。
输入 sudo apt install pyqt5 安装pyqt5的依赖项。
输入 sudo apt install qt5-default qttools5-dev-tools 安装qtdesigner。
cd 到可视化项目的 data 目录下,原教程中指出需要将链接命名为 obj ,但在可视化显示时无法提示文件无法找到,因此选择直接删除可视化项目中的 object 文件,将 PointRCNN 项目下 KITTI 数据集的 object/ 目录直接链接到 data/ 目录下。
cd kitti_object_vis/data
ln -s /home/Ubuntu/PointRCNN/data/KITTI/object
可视化显示,使用相应的指令进行可视化显示,在终端界面按回车键显示下一张图。
只显示 LiDAR 的真值。
python kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis
显示雷达和 image 的真值。
python kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis --show_image_with_boxes
数据集较大,指定特定某张图的可视化,加 --ind 100 指定图像编号为 000100.txt 。
python kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis --show_image_with_boxes --ind 100
显示 PointRCNN 的预测值和真值对比,在可视化命令后加 -p 。
python kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis --show_image_with_boxes --ind 6 -p
**可视化显示损失函数。
进入到 PointRCNN/output/rpn/default 目录下,打开终端,输入指令 tensorboard --logdir tensorboard 查看 RPN 网络训练的损失函数。进入到 PointRCNN/output/rcnn/default 目录下,打开终端,输入指令 tensorboard --logdir tensorboard 查看 RCNN 网络训练的损失函数。需要先安装 tensorflow-gpu,tensorboard,tensorflow-tensorboard,默认安装最高版本即可。
pip install tensorflow-gpu tensorboard tensorflow-tensorboard
致谢
感谢以上各位博主及其他未提到的博主关于 PointRCNN 文章解读以及复现的分享。