目录

  • 论文及代码链接
  • 作者的思考及论文动机
  • 网络结构模型以及主要模块分析
  • 网络性能分析及总结

论文及代码链接

  论文地址:论文地址
  代码链接:代码链接

作者的思考及论文动机

  现阶段的3D目标检测方法主要可以分为两大类,一个是采用pointnet及其变种直接对点云进行处理,即point-based。一种是将点云数据转化成规则的体素,通过三维卷积进行特征提取,即voxel-based。两种方法没有绝对意义上的孰优孰劣,各有各自不同的特点。得益于稀疏卷积,voxel-based方法的显存占用与计算量大大减少,但是体素化带来的信息损失仍然不可避免。而point-based方法虽然利用了完整的,也是最原始的点云信息,但是这类方法都会通过SA操作来提取局部空间信息,SA操作中的近邻搜索过于耗时,大大影响了算法的效率
  文章中,作者认为基于体素的方法计算上更加高效,但是会有不可避免的信息损失,基于点的具有灵活的感受野也没有信息损失,但是计算量较大。因此,作者提出了PV-RCNN,该方法融合了point-based与voxel-based方法各自的优点,曾在Kitii3D目标检测霸榜半年之久。
  PV-RCNN的主要亮点在于,作者提出了VSA结构。我们先复习一下SA,SA是pointnet++的结构,用于提取多尺度的局部空间特征。如下图,在点云中随机采样关键点,然后以距关键点距离小于r的所有点的集合为输入,聚合特征得到关键点的特征。VSA与SA的区别在于,SA是把关键点周围的点的特征聚合到关键点上,而VSA是把关键点周围的体素的特征聚合到关键点上。而我们知道,体素是有序的,所以对于每个关键点,我们都可以很方便通过索引寻找到其周围的体素而不必要去像SA一样去遍历整个点云。VSA也是PV-RCNN的关键,是Voxel与Point联系的桥梁

网络结构模型以及主要模块分析

  接下来,我们主要来分析一下PV-RCNN的网络结构,其网络结构如下图所示:

  我们可以看到,PV-RCNN是一个二阶段的网络,与其他二阶段网络一样,都是第一阶段先提取出ROI,然后第二阶段对ROI进行精调获取更为准确的Bounding Box。
  PV-RCNN的第一阶段没有什么特别的,与SECOND以及Voxel-RCNN几乎一致。具体来说就是先将点云体素化,然后通过稀疏卷积对体素进行8倍下采样,然后在z向进行压缩得到BEV视图,再用2D卷积对特征进行进一步的提取,最后通过RPN网络以及极大值抑制得到一定数量的ROI输入到第二阶段中去。
  PV-RCNN最主要的贡献在于第二阶段中的ROI特征的提取。在讲述ROI特征提取之前,必须先介绍两个模块,一个就是前面提到的VSA模块,另一个是ROI-grid Pooling模块。VSA模块是聚合体素特征到关键点,而ROI-grid Pooling是聚合关键点特征到ROI以进行第二阶段的Proposal Refinement。下面将分别对这两个模块进行分析。
VSA模块
  VSA模块就是把体素特征聚合到关键点上,具体如何实现的呢。
  首先,我们需要得到这些关键点,提取关键点还是用最远点采样(FPS),这样可以使采样点更好地覆盖全部的点云范围。接下来就是如何将体素特征聚合到这些关键点上了。
  在第一阶段中,我们对3D体素进行了3次一共8下采样,这样我们就可以得到四个不同尺度地的体素特征,如下图所示:

在每个尺度,我们都对体素特征进行一次聚合。具体来说,每个尺度的体素网格中就是寻找距关键点在r内的所有体素,通过pointnet的方法进行特征聚合然后将结果作为该关键点的特征,最后四个不同尺度的特征直接concat(连接)成为多尺度特征,具体如下图红框内所示:

  在VSA的基础上,作者又提出了Extend VSA,就是加上了上图红框之外的两个特征,这两个特征一个是原始点云特征,一个是BEV视图特征,作者认为原始点云特征可以一定程度上地弥补体素化带来的位置信息损失,而BEV特征在Z向具有很大的感受野(Z向感受野是整个Z范围)。原始点云特征很好得到,就是采用pointnet++那一套对关键点采用SA就可以得到关键点的原始点云特征。而BEV特征的话是只考虑关键点x,y坐标(因为BEV视图是2D图),然后通过双线性插值得到的。这两个特征也是直接concat到关键点特征上就行。作者通过实验,证明了这种叠BUFF操作的有效性。

ROI-grid Pooling
  ROI-grid Pooling模块的作用就是利用前面提取到的多尺度关键点特征聚合得到ROI特征,进而进行进一步的Proposal Refinement。具体操作如下:第一阶段已经给我提供了一定数量的ROI区域,对于每个ROI区域,我们将其划分成6x6x6的网格,然后对每一个网格寻找距其网格距离小于r的关键点,采用pointnet结构聚合这些关键点特征作为该网格的特征。其他网格采用同样的操作。最后对所有网格特征再次采用pointnet结构,这样就能得到了ROI的特征。采用这个特征就可以进行Proposal Refinement了。作者认为,这样子相比于Voxel中的直接进行ROI pooling言,具有更大的感受野,这很好理解,毕竟在前面提取的关键点特征的时候,感受野就比较大。
在聚合特征的时候,还有一个注意点。由于关键点是我们随机采样得到的,所以有些关键点是前景,而有些关键点是背景。作者认为前景点应该得到更多的考虑,所以设计了一个网络来判断前背景,并将网络输出直接乘到关键点特征上以使前背景特征有不同的权重。注意这个网络是单独训练的,其采用关键点特征作为输入,依据关键点坐标是否在某个GT作为标签。


  PV-RCNN的LOSS就不分析了,和其他二阶段网络的LOSS一样,都分成了RPN_LOSS与RCNN_LOSS两个部分,然后两个LOSS相加进行端到端的训练。下面是论文中的LOSS组成:

网络性能分析及总结

  通过结合voxel与point的各自的长处,PV-RCNN确实得到了不错的效果。曾经也在KITTI上霸榜半年之久,论文中给出的性能比较如下:

  当然,现在肯定有了更多性能更好的算法,毕竟现在卷是常态…
  个人的一些思考:PV-RCNN虽然检测效果比较好,但感觉其就是通过不断叠BUFF,得到了尽可能详细的特征。这就带来了一个问题,处理速度,也就是实时性可能不太好。但是我感觉,我们的算法最终还是要用于实际场景的,这就对算法的轻量化与实时性提出了一定的要求。所以感觉轻量化实时性也是一个很重要的点,有时候甚至可以为了这两个指标牺牲一部分准确度。在第一阶段得到BEV视图时,我们是直接在Z向压缩,也就是把直接把xy相同的体素的特征进行了拼接。这样肯定会有空间结构信息的损失,这个应该也是可以考虑的,PV-RCNN也主要就是对第二阶段进行了优化,第一阶段并没有进行优化。

文章属于对阅读过的论文进行复盘,如有问题请指出,如果有研究方向相似的朋友想进行交流欢迎联系:qq1981425845

PV-RCNN:Point-based与Voexl-based共同成就的高性能3D目标检测网络相关推荐

  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目标检测方法(Disp R-CNN解读)

    来源丨AI 修炼之路 问题,我们提出在不需要雷达点云的情况下,使用统计形状模型生成密集视差伪真值,这使得我们的系统具有更广泛的适用性.在KITTI数据集上进行的实验表明,即使在训练时不使用雷达数据,D ...

  3. 后 R-CNN时代, Faster R-CNN、SSD、YOLO 各类变体统治下的目标检测综述:Faster R-CNN系列胜了吗?,(知乎ChenJoya大佬,讲的挺好的,记录一下)

    我们检测到你可能使用了 AdBlock 或 Adblock Plus,它的部分策略可能会影响到正常功能的使用(如关注). 你可以设定特殊规则或将知乎加入白名单,以便我们更好地提供服务. (为什么?) ...

  4. CVPR 2019 | Stereo R-CNN 3D 目标检测

    点击我爱计算机视觉标星,更快获取CVML新技术 本文来自知乎,52CV获作者heryms授权转载. https://zhuanlan.zhihu.com/p/58077936 CVPR 2019的文章 ...

  5. R-CNN,Fast R-CNN,Faster R-CNN原理及执行与训练的实例+实现自己的目标检测(转)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37407756/article/details/80810364 一.原理篇 R-CNN的原理 ...

  6. 目标检测网络(RCNN系列,SSD,Yolo系列)

    Table of Contents 深度学习相关的目标检测方法也可以大致分为两派 发展历程 基于区域提名的R-CNN家族对比总括 R-CNN(2014) SPP-Net Fast R-CNN(2015 ...

  7. 开放下载!从RCNN到SSD,这应该是最全的一份目标检测算法盘点

    导读:从简单的图像分类到3D姿势识别,计算机视觉从来不缺乏有趣的问题和挑战.通过肉眼我们可以检测出一张宠物照中的猫和狗,可以识别出梵高作品<星夜>中的星星和月亮,那如何通过算法赋予机器&q ...

  8. 从R-CNN到Faster-RCNN再到YOLOV5,目标检测网络发展概述

    R-CNN R-CNN由Ross Girshick于2014年提出,R-CNN首先通过选择性搜索算法Selective Search从一组对象候选框中选择可能出现的对象框,然后将这些选择出来的对象框中 ...

  9. AAAI2021论文:一个高性能3-D目标两步检测法Voxel R-CNN

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/3453649291 ...

  10. 二阶段目标检测网络-Mask RCNN 详解

    ROI Pooling 和 ROI Align 的区别 Mask R-CNN 网络结构 骨干网络 FPN anchor 锚框生成规则 实验 参考资料 Mask RCNN 是作者 Kaiming He ...

最新文章

  1. 【JAVA小游戏+水果售卖系统】基于GUI界面编程的水果“人生”模拟系统
  2. linux 明文创建密码,linux下抓取内存中明文密码mimipenguin
  3. 快速沃尔什变换(FWT)及K进制异或卷积快速子集变换(FST)讲解
  4. 盘点:2020年最酷的12家机器学习初创公司
  5. 《Shell脚本学习指南》第四章 文本处理工具
  6. postman中 form-data、x-www-form-urlencoded、raw、binary的区别--转
  7. Spring - Java/J2EE Application Framework 应用框架 第 5 章 Spring AOP: Spring之面向方面编程G
  8. day41——多进程的消息队列、消息队列pipe
  9. python计算汽车的平均油耗_用python对汽车油耗进行数据分析
  10. Js Tween 实现
  11. ./configure --prefix
  12. 教育|一位女博士五年的艰难毕业历程
  13. 解决百度富文本框中添加的表格页面获取后不显示表格边框的问题
  14. 统计学习方法读书笔记9-朴素贝叶斯习题
  15. 腾讯微博开放平台发布者分享会(陈思齐)
  16. 第八届ACM程序设计大赛总结
  17. 美国语言教学5c标准,美国外语教学(一)——5C目标
  18. 商业计划书的完整结构
  19. 无线路由器及Wi-Fi组网指南(史上最全)
  20. E. 新旧身份证(继承)

热门文章

  1. 英语四六级网站服务器繁忙,英语四六级成绩公布这些问题很常见
  2. 美国计算机访学,计算机应用专业4天喜获美国加州大学洛杉矶分校访问学者职位...
  3. Small RNA测序
  4. mysql左连接查询举例_mysql左右连接查询(有示例图)
  5. myeclipse配置下面没有Tomcat的解决办法
  6. eleme Html CSS 设置鼠标停靠显示图片
  7. unity检测范围内敌人_怎样获取离自己距离最近的敌人
  8. 制造资源计划与企业资源计划(MRPⅡ)
  9. ipad的正确使用方法视频,ipad的正确使用方法图解
  10. 29-基于单片机的防盗报警系统仿真