在《动手学无人驾驶(4):基于激光雷达点云数据3D目标检测》一文中介绍了3D目标检测网络PointRCNN。今天介绍该作者新提出的3D检测模型:PVRCNN,论文已收录于CVPR2020
作者个人主页为:https://sshaoshuai.github.io/。
知乎ID为:https://www.zhihu.com/people/yilu-kuang-shuai。
PVRCNN论文链接为:https://arxiv.org/pdf/1912.13192.pdf。
代码链接为:https://github.com/open-mmlab/OpenPCDet。

在介绍论文前,大家可以先看看作者此前分享的3D目标检测报告:https://www.bilibili.com/video/av89811975?zw

基于点云场景的三维物体检测算法及应用

文章目录

  • 1. PVRCNN算法
    • 1.1 3D Voxel CNN for Efficient Feature Encoding and Proposal Generation
    • 1.2 Voxel-to-keypoint Scene Encoding via Voxel Set Abstraction
    • 1.3 Keypoint-to-grid RoI Feature Abstraction for Proposal Refinement
  • 2. Experiments

1. PVRCNN算法

在目前的点云目标检测中,3D voxel CNNs可以生成高质量的proposals;而基于PointNet的方法由于其感受野灵活,可以捕获更准确的目标位置信息。

在本文中,作者对这两种检测方法进行集成,首先使用3D voxel CNNs作为主干网来生成高质量的proposalas,然后在每一个proposal中,为了充分有效池化点云特征,作者提出了两种新的池化方式:Voxel-to-keypoint scene encodingkeypoint-to-grid ROI feature abstraction。通过这两种池化方法,能够有效提高预测可信度以及对目标位置进行优化。

1.1 3D Voxel CNN for Efficient Feature Encoding and Proposal Generation

这部分相对比较好理解,使用3D CNNs作为主干网,将输入的点云划分为一个个voxel。作者总共进行了4次下采样,最后投影到鸟瞰图上,生成proposal。从结果可以看出,这种生成proposal的方式有着更高的召回率。


1.2 Voxel-to-keypoint Scene Encoding via Voxel Set Abstraction

PointNet中提出的set abstraction operation显示出了强大的特征提取能力,能够对任意空间尺寸的点云集进行特征抽取。受此启发,作者提出了将多个voxels的特征聚合到keypoints上。

  1. 首先是Keypoints Sampling,和PointRCNN一样,作者使用最远点采样法(FPS)在所有点云中选取出nnn个关键点,在KITTI数据中n=2048n=2048n=2048
  2. 然后是Voxel Set Abstraction Module(VSA),如下图所示,作者在每一次进行下采样时都进行了一次VSA操作,将不同尺度范围的voxel特征汇聚到keypoints

    具体地操作如下,其中lkl_klk表示第kkk层网络,pip_ipi表示为keypointvj(lk)v_{j}^{(l_k)}vj(lk)表示为第kkk层网络中voxel坐标,fj(lk)f_{j}^{(l_k)}fj(lk)表示为voxel队以应地特征向量。这样就组成每个keypoint邻域集SilkS_{i}^{l_k}Silk:包括voxel特征向量及voxelkeypoint之间地相对位置。


然后是对SilkS_{i}^{l_k}Silk进行一次maxmaxmax操作。具体操作如下,其中MMM表示在集合SilkS_{i}^{l_k}Silk中最多选取出TkT_kTkvoxelsGGG表示进行多层感知机操作,最外层是maxmaxmax操作。最终生成地每个keypoint特征为fipvkf_{i}^{{pv}_k}fipvk


对每一层3D CNNs网络都进行上述VSA操作,这样就得到了keypoint结合后地特征fi(pv)f_{i}^{{(pv)}}fi(pv)

  1. 现在将VSA模块进行扩展,我们对原始点云进行公示(2)的操作,得到特征firawf_{i}^{raw}firaw。对鸟瞰图上的keypoint进行二项插值得到特征fi(bev)f_{i}^{(bev)}fi(bev),最终,关键点keypointkeypointkeypoint特征为fi(p)f_{i}^{(p)}fi(p)
  2. 这里作者还设计了一个predicted keypoint weighting模块,如下图所示。在训练时,可以根据annotation来判断选取地关键点是不是属于前景点,这里训练使用地损失函数为focal loss

1.3 Keypoint-to-grid RoI Feature Abstraction for Proposal Refinement

经过上面的处理,得到了一组含有多尺度语义特征的关键点集(keypoints with multi-scale semantic features)

为了进一步优化,作者在这里提出了keypoint-to-grid RoI feature abstraction,如下图4所示。

首先在每一个候选方案(proposal)中,统一采样6×6×66\times6\times66×6×6个gird points。这里的采样公式如下,其中gig_igi表示为grid points,pjp_jpj表示为keypoint,f~j(p)\widetilde f^{(p)}_{j}f

j(p)表示为关键点特征。

然后使用一个PointNet-block得到grid point特征,具体方法如下:

最后通过两层MLP网络,得到256维的特征向量。


2. Experiments

下图是论文作者在KITTI数据集提交的结果(截至2020年11月22日),目前排在第15位,是榜上唯一开源的方案。

总的来说,作者提出的voxel-basedPointNet-based方法还是很创新的,值得借鉴。

详解两阶段3D目标检测网络PVRCNN:Point-Voxel Feature Set Abstraction for 3D Object Detection相关推荐

  1. 详解两阶段3D目标检测网络 Voxel R-CNN:Towards High Performance Voxel-based 3D Object Detection

    本文介绍一篇两阶段的3D目标检测网络:Voxel R-CNN,论文已收录于AAAI 2021. 这里重点是理解本文提出的 Voxel RoI pooling. 论文链接为:https://arxiv. ...

  2. 两阶段3D目标检测网络 SIENet: Spatial Information Enhancement Network for 3D Object Detection from Point Cloud

    本文介绍一篇两阶段的3D目标检测网络:SIENet. 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Informatio ...

  3. 让M3D-RPN的3D目标检测网络初步跑起来!

    让M3D-RPN的3D目标检测网络初步跑起来! @写在前面碎碎念@ 最近被安排研究一下M3D-RPN的目标检测网络,说是<研究>感觉贬低了<研究>这个词语,说成碰运气可能会更好 ...

  4. 3D目标检测(二)—— 直接处理点云的3D目标检测网络VoteNet、H3DNet

    前言 上次介绍了基于Point-Based方法处理点云的模块,3D目标检测(一)-- 基于Point-Based方法的PointNet点云处理系列,其中相关的模块则是构成本次要介绍的,直接在点云的基础 ...

  5. 基于体素的3D目标检测网络:VoxelNet

    VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection 简介 本项目基于PaddlePaddle框架复现了基于体 ...

  6. 【3D 目标检测】PV-RCNN++

    一 核心思路 在开始本博客的阅读时,需先对PVRCNN进行大体的了解,也可参考我的另一篇博客 [3D 目标检测]PVRCNN详解(个人阅读心得并总结其他人的结论得出的文章)_qq_36380978的博 ...

  7. 【3D目标检测】PDV(Point Density-Aware Voxels for LiDAR 3D Object Detection)

    目录 概述 细节 点密度问题 网络结构 3D体素特征提取网络 体素点质心定位 密度感知的RoI Grid Pooling 密度置信度预测 loss 概述 首先,本文是基于点云,并且将点云处理成体素的3 ...

  8. 【3D目标检测】PV-RCNN

    目录 概述 细节 网络结构 voxel-to-keypoint Scene Encoding Keypoint-to-grid RoI Feature Abstraction 损失函数 参考文章 概述 ...

  9. 【详解】计算机视觉之目标检测

    目录 目标检测 1 定义 2 常用数据集 2.1 PASCAL VOC数据集 2.2 MS COCO数据集 3 常用的评价指标 3.1 IOU 3.2 mAP(Mean Average Precisi ...

最新文章

  1. 无法访问本地ip_当金万维异速联无法访问金蝶软件怎么办?
  2. 当当创始人李国庆谈吴秀波事件:呼吁释放陈昱霖 应核查税收
  3. Android binder 框架和学习资料
  4. 学生管理系统分层开发
  5. CFS调度主要代码分析二
  6. 2.5A双路电机驱动模块 正反转 PWM调速 双H桥 步进电机 超L298N
  7. 如何在chrome加载.ctx文件(亲测可用,只需3步)
  8. WS2812B 5050数据整理
  9. 黑色星期五c语言程序,黑色星期五C语言实现
  10. 【TcaplusDB知识库】读取数据示例(TDR表)
  11. kuangbin专题十二 HDU1069 Monkey and Banana
  12. Protein-protein interaction site prediction through combining local and global features 文章梳理
  13. geomtry string 转换_SQL Server数据转换【包括Geometry类型】的技巧总结
  14. MATLAB学习笔记:常用统计量1
  15. `java`学习笔记(十二)`Java`--`String``StringBuffer``StringBuilder`
  16. 计算机通电后 不能正常启动,我的电脑通电后不能马上启动?为什么啊?怎么办
  17. 【小程序】微信小程序重复循环平移动画
  18. linux提交任务执行时间,Linux之任务计划
  19. OUC_SE_Group014_Blog4
  20. 小米路由器3HD内网穿透成功

热门文章

  1. 2017百度之星资格赛 1003 度度熊与邪恶大魔王
  2. win102004优化_win10 2004系统电脑出现玩命运2掉帧的问题
  3. android activity之间传递对象,Android Activity之间的数据传递
  4. python字符串字面量有哪四种定义方式_Python学习笔记(四)字符串型
  5. mysql 字典索引_【大白话mysql】你真的了解 mysql 索引吗?
  6. java创建对象过七夕,想 new 个对象过七夕,她却抛了异常
  7. Sqlite3_prepare
  8. Asterisk权威指南/第五章 用户设备配置
  9. 一个网络资深者发起的思考
  10. Web笔记——Filter过滤器