1. 环境搭建
本人使用的环境版本
ubuntu20.04
python = 3.7
torch = 1.2
torchvision = 0.4
cudatoolkit = 10.0
cudnn = 7.6.5
2.下载源代码
可以直接下载zip然后解压。也可以使用git clone直接克隆到本地。
https://github.com/sshaoshuai/PointRCNN/archive/refs/heads/master.zip
或者克隆
git clone --recursive https://github.com/sshaoshuai/PointRCNN.git
3.安装相应的包和编译环境
conda install easydict tqdm tensorboardx scipy pyymal==5.1
sh build_and_install.sh
4.数据集准备,先去KITTI官网下载数据集并组织如下。
注意我们没有下载与road有关的数据集,运行代码时需要把关于road的代码注释掉。
接下来生成gt_datebase。需要生成使用的三个类别的gt_database。
python generate_gt_database.py --class_name 'Car' --split train
#--class_name 'Car‘
#--class_name 'Cyclist'
#--class_name 'Pedstrian'
5. 下载预训练模型,从这里下载模型 并放在tools/下面。
运行quick demo
python eval_rcnn.py --cfg_file cfgs/default.yaml --ckpt PointRCNN.pth --batch_size 1 --eval_mode rcnn --set RPN.LOC_XZ_FINE False
6.训练
训练RPN
python train_rcnn.py --cfg_file cfgs/default.yaml --batch_size 16 --train_mode rpn --epochs 200
训练RCNN
python train_rcnn.py --cfg_file cfgs/default.yaml --batch_size 10 --train_mode rpn --epochs 20 --gt_database gt_database/train_gt_database_3level_Cyclist.pkl
#注意 cfgs/default.yaml文件的CLASSES需要和--gt_database gt_database/train_gt_database_3level_Cyclist.pkl中的train_gt_database_3level_Cyclist.pkl相对应
7.评估
python eval_rcnn.py --cfg_file cfgs/default.yaml --ckpt PointRCNN.pth --batch_size 4 --eval_mode rcnn --set RPN.LOC_XZ_FINE false