PointRCNN 车辆 行人 自行车识别

代码地址:
https://github.com/sshaoshuai/PointRCNN

项目原始测试环境:
Linux (tested on Ubuntu 14.04/16.04)、Python 3.6+、PyTorch 1.0

自测通过环境:
Ubuntu 16.04、Python 3.7.6 in Anaconda、Pytorch 1.2 + CUDA 9.2

Python 3.7.6 in Anaconda安装

官方指南:https://docs.anaconda.com/anaconda/install/linux/

具体步骤:

  1. 在https://www.anaconda.com/products/individual#linux 网页最下方下载Linux Python 3.7版安装包

  2. 在安装路径,例如Downloads下,执行如下命令进行安装:
    bash ~/Downloads/Anaconda3-2020.02-Linux-x86_64.sh

  3. 后续根据操作提示进行操作即可完成安装

Pytorch 1.2 + CUDA 9.2安装

查看本机的CUDA及cuDNN版本:https://www.cnblogs.com/wuliytTaotao/p/11453265.html#%E6%9F%A5%E7%9C%8B-cudnn-%E7%89%88%E6%9C%AC
最新版Pytorch:https://pytorch.org/get-started/locally/
历史版本Pytorch(1.0.0以上):https://pytorch.org/get-started/previous-versions/

注:我环境所安装的CUDA版本为9.1,cuDNN版本为7602(即7代)。亲测可以运行CUDA 9.2对应的Pytorch 1.2。

具体步骤:

  1. 找到历史版本Pytorch 1.2.0+CUDA 9.2

  2. 在终端执行如下命令安装(需要先完成Anaconda的安装):
    conda install pytorch1.2.0 torchvision0.4.0 cudatoolkit=9.2 -c pytorch

  3. 如果下载安装缓慢,请使用科学上网并在网络压力较小的时间段进行安装

KITTI 3D object detection数据集下载

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

所需数据集:
velodyne:http://www.cvlibs.net/download.php?file=data_object_velodyne.zip
calib:http://www.cvlibs.net/download.php?file=data_object_calib.zip
label_2:http://www.cvlibs.net/download.php?file=data_object_label_2.zip
image_2:http://www.cvlibs.net/download.php?file=data_object_image_2.zip
大文件推荐使用axel下载,如axel -n -4 http://www.cvlibs.net/download.php?file=data_object_image_2.zip

PointRCNN安装及运行

安装及配置依照https://github.com/sshaoshuai/PointRCNN即可
运行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
运行过程开始时如发生以下错误:
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22’ not found

    需使用以下命令升级libstdc++:

sudo apt-get install libstdc++6

    参考https://blog.csdn.net/u011961856/article/details/79644342

运行效果:
eval: 100%|██| 3769/3769 [14:27<00:00, 4.35it/s, mode=EVAL, recall=11972/14385]
2020-07-23 12:20:28,906 INFO final average detections: 6.777
2020-07-23 12:20:28,907 INFO final average rpn_iou refined: 0.000
2020-07-23 12:20:28,907 INFO final average cls acc: 0.000
2020-07-23 12:20:28,907 INFO final average cls acc refined: 0.000
2020-07-23 12:20:28,907 INFO total roi bbox recall(thresh=0.100): 13689 / 14385 = 0.951616
2020-07-23 12:20:28,907 INFO total roi bbox recall(thresh=0.300): 13573 / 14385 = 0.943552
2020-07-23 12:20:28,907 INFO total roi bbox recall(thresh=0.500): 13314 / 14385 = 0.925547
2020-07-23 12:20:28,907 INFO total roi bbox recall(thresh=0.700): 10093 / 14385 = 0.701634
2020-07-23 12:20:28,907 INFO total roi bbox recall(thresh=0.900): 52 / 14385 = 0.003615
2020-07-23 12:20:28,907 INFO total bbox recall(thresh=0.100): 13687 / 14385 = 0.951477
2020-07-23 12:20:28,907 INFO total bbox recall(thresh=0.300): 13582 / 14385 = 0.944178
2020-07-23 12:20:28,907 INFO total bbox recall(thresh=0.500): 13423 / 14385 = 0.933125
2020-07-23 12:20:28,907 INFO total bbox recall(thresh=0.700): 11972 / 14385 = 0.832256
2020-07-23 12:20:28,907 INFO total bbox recall(thresh=0.900): 2340 / 14385 = 0.162669
2020-07-23 12:20:28,908 INFO Averate Precision:
Car AP@0.70, 0.70, 0.70:
bbox AP:96.9105, 89.5363, 88.7473
bev AP:90.2124, 87.8930, 85.5194
3d AP:89.1975, 78.8519, 77.9140
aos AP:96.90, 89.41, 88.54
Car AP@0.70, 0.50, 0.50:
bbox AP:96.9105, 89.5363, 88.7473
bev AP:97.0919, 89.8143, 89.3379
3d AP:97.0522, 89.7723, 89.2525
aos AP:96.90, 89.41, 88.54

用kitti_object_vis对结果可视化

https://github.com/kuixu/kitti_object_vis
https://blog.csdn.net/tiatiatiatia/article/details/97765165 (步骤3.2不需要链接后重命名为obj,直接用kitti的object即可)

注:

无需创建新的conda环境,直接在原始环境安装opencv, pillow, scipy, matplotlib(这部分应该已经预装了)及mayavi(conda install mayavi -c conda-forge)
test installation时若发生cv2.so: undefined symbol: PyCObject_Type错误,可将/opt/ros/kinetic/lib/python2.7/dist-packages/下的cv2.so改名为cv2_ros.so,参考
https://blog.csdn.net/qq_33591712/article/details/84757017
https://stackoverflow.com/questions/43019951/after-install-ros-kinetic-cannot-import-opencv?newreg=1fc9099ecd744c83adf801f027971739

效果评价

  • 运行结果的各项指标与原论文中呈现的结果一致;
  • 对于车辆的识别,PointRCNN常常出现误判,但漏判的情况不算太多;
  • 由于项目提供的pretrained模型仅针对车辆进行训练,目前无法用肉眼确认PointRCNN对行人及自行车的识别率;
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值