本文转载自机器之心。

阿里巴巴达摩院在自动驾驶 3D 物体检测方面又有新成果发布。近日,计算机视觉顶会 CVPR 2020 接收论文结果发布,达摩院一篇名为《Structure Aware Single-Stage 3D Object Detection from Point Cloud》的论文入选。

该论文提出了一个通用、高性能的检测器,首次实现 3D 物体检测精度与速度的兼得,有效提升自动驾驶系统安全性能。目前,该检测器在 KITTI BEV 排行榜上排名第一。

3D 目标检测需输出物体类别及在三维空间中的长宽高、旋转角等信息

和普通 2D 图像识别应用不同,自动驾驶系统对精度和速度的要求更高,不仅需要快速识别周围环境的物体,还要对物体在三维空间中的位置做精准定位,但仅靠传感器和传统算法模型无法平衡视觉识别的精度和速度,因此,全新的检测器成为提升自动驾驶系统安全性的关键因素。

虽然,业界主流的单阶段检测器在检测速度上有不俗的表现,但其检测精度却差强人意。为此,达摩院提出了全新的思路,即将两阶段检测器中对特征进行细粒度刻画的思想移植到单阶段检测中。具体来说,达摩院在训练中利用一个辅助网络将单阶段检测器中的体素特征转化为点级特征,并施加一定的监督信号,同时在模型推理过程中辅助网络无需参与计算,因此,在保障速度的同时又提高了检测精度。

该论文团队表示,「检测器是自动驾驶系统的核心组件之一,但这一领域一直以来缺少创新和突破,此次我们提出的检测器融合了单阶段检测器和两阶段检测器的优势,因此同时实现了 3D 检测精读和速度的提升,未来检测器的创新研究还可以解决自动驾驶产业的更多难题。」

研究结果显示,该检测器在 KITTI BEV(bird`s eye view)排行榜上排名第一, 检测速度达到 25FPS,同时精度也超过其他的单阶段检测器。

KITTI BEV 排行榜,达摩院位居第一

据了解,该论文共有 5 位作者,第一作者为达摩院研究实习生 Chenhang He,另外四位作者也为达摩院科学家,包括达摩院高级研究员、IEEE Fellow 华先胜,达摩院高级研究员、香港理工大学电子计算学系讲座教授、IEEE Fellow 张磊,达摩院资深算法专家黄建强。

以下是论文一作对该论文做出的解读:

1. 背景

目标检测是计算机视觉领域的传统任务,与图像识别不同,目标检测不仅需要识别出图像上存在的物体,给出对应的类别,还需要将该物体通过 Bounding box 进行定位。根据目标检测需要输出结果的不同,一般将使用 RGB 图像进行目标检测,输出物体类别和在图像上 2D bounding box 的方式称为 2D 目标检测。而将使用 RGB 图像、RGB-D 深度图像和激光点云,输出物体类别及在三维空间中的长宽高、旋转角等信息的检测称为 3D 目标检测。

从点云数据进行 3D 目标检测是自动驾驶(AV)系统中的的关键组件。与仅从图像平面估计 2D 边界框的普通 2D 目标检测不同,AV 需要从现实世界估计更具信息量的 3D 边界框,以完成诸如路径规划和避免碰撞之类的高级任务。这激发了最近出现的 3D 目标检测方法,该方法应用卷积神经网络(CNN)处理来自高端 LiDAR 传感器的点云数据。

目前基于点云的 3D 物体检测主要有两种架构:

1) 单阶段检测器 (single-stage): 将点云编码成体素特征 (voxel feature), 并用 3D CNN 直接预测物体框, 速度快但是由于点云在 CNN 中被解构, 对物体的结构感知能力差, 所以精度略低.

2) 两阶段检测器 (two-stage): 首先用 PointNet 提取点级特征, 并利用候选区域池化点云 (Pooling from point cloud) 以获得精细特征. 通常能达到很高的精度但速度很慢.

2. 方法

目前业界主要以单阶段检测器为主,这样能保证检测器能高效地在实时系统上进行。我们提出的方案将两阶段检测器中对特征进行细粒度刻画的思想移植到单阶段检测中,通过在训练中利用一个辅助网络将单阶段检测器中的体素特征转化为点级特征,并施加一定的监督信号,从而使得卷积特征也具有结构感知能力,进而提高检测精度。而在做模型推断时,辅助网络并不参与计算(detached), 进而保证了单阶段检测器的检测效率。另外我们提出一个工程上的改进,Part-sensitive Warping (PSWarp), 用于处理单阶段检测器中存在的「框-置信度-不匹配」问题。

主体网络

用于部署的检测器,即推断网络,由一个骨干网络和检测头组成。骨干网络用 3D 的稀疏网络实现,用于提取含有高语义的体素特征。检测头将体素特征压缩成鸟瞰图表示,并在上面运行 2D 全卷积网络来预测 3D 物体框。

辅助网络

在训练阶段,我们提出一个辅助网络来抽取骨干网络中间层的卷积特征,并将这些特征转化成点级特征 (point-wise feature)。在实现上,我们将卷积特征中的非零信号映射到原始的点云空间中,然后在每个点上进行插值,这样我们就能获取卷积特征的点级表示。令 {():j=0,…,M} 为卷积特征在空间中的表示, {:i=0,…,N} 为原始点云, 则卷积特征在原始点上的表示等于

辅助任务

我们提出两种基于点级特征的监督策略来帮助卷积特征获得很好的结构感知力,一个前景分割任务,一个中心点回归任务。

具体来说,相比于 PointNet 特征提取器 (a),卷积网络中的卷积操作和下采样会造成点云结构的破坏(b)使得特征对物体的边界与内部结构不敏感。我们利用分割任务来保证部分卷积特征在下采样时不会被背景特征影响 (c),从而加强对边界的感知。我们利用中心点回归任务来加强卷积特征对物体内部结构的感知能力 (d),使得在少量点的情况下也能合理的推断出物体的潜在大小,形状。我们使用 focal loss 和 smooth-l1 对分割任务与中心回归任务分辨进行优化。

3. 工程上的改进

在单阶段检测中,feature map 和 anchor 的对齐问题是普遍存在的问题,这样会导致预测出来的边界框的定位质量与置信度不匹配,这会影响在后处理阶段(NMS)时,高置信度但低定位质量的框被保留,而定位质量高却置信度低的框被丢弃。在 two-stage 的目标检测算法中,RPN 提取 proposal,然后会在 feature map 上对应的的位置提取特征(roi-pooling 或者 roi-align),这个时候新的特征和对应的 proposal 是对齐的。我们提出了一个基于 PSRoIAlign 的改进,Part-sensitive Warping (PSWarp), 用来对预测框进行重打分。

如上图,我们首先修改最后的分类层以生成 K 个部分敏感的特征图,用 {X_k:k = 1,2,...,K} 表示,每个图都编码对象的特定部分的信息。例如,在 K = 4 的情况下,会生成 {左上,右上,左下,右下} 四个局部敏感的特征图。同时,我们将每个预测边界框划分为 K 个子窗口,然后选择每个子窗口的中心位置作为采样点。这样,我们可以生成 K 个采样网格 {S^k:k = 1,2,...,K},每个采样网格都与该局部对应的特征图相关联。如图所示,我们利用采样器,用生成的采样网格在对应的局部敏感特征图上进行采样,生成对齐好的特征图。最终能反映置信度的特征图则是 K 个对齐好特征图的平均。

4. 效果

我们提出的方法 (黑色) 在 KITTI 数据库上的 PR Curve,其中实线为两阶段方法,虚线为单阶段方法。可以看到我们作为单阶段方法能够达到两阶段方法才能达到的精度。

在 KITTI 鸟瞰 (BEV) 和 3D 测试集的效果。优点是在保持精度的同时,不增加额外的计算量,能达到 25FPS 的检测速度。

END

备注:目标检测

目标检测交流群

2D、3D目标检测等最新资讯,若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

CVPR2020 | 阿里结构感知3D目标检测,KITTI BEV 排行榜第一!相关推荐

  1. CVPR2020论文介绍: 3D 目标检测高效算法

    CVPR2020论文介绍: 3D 目标检测高效算法 CVPR 2020: Structure Aware Single-Stage 3D Object Detection from Point Clo ...

  2. IDA-3D:基于立体视觉的深度感知3D目标检测网络(CVPR2020)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:IDA-3D: Instance-Depth-Aware 3D Object Detection ...

  3. 3d 自动生成物体_CVPR2020论文介绍: 3D 目标检测高效算法

    CVPR2020论文介绍: 3D 目标检测高效算法 CVPR 2020: Structure Aware Single-Stage 3D Object Detection from Point Clo ...

  4. 【单目3D目标检测】SMOKE论文解析与代码复现

    文章目录 yacs Introduction Usage SMOKE Preface Abstract Contributions Pipeline Backbone Head Branch Orie ...

  5. BEV蒸馏来了!BEVDistill:用于多目3D目标检测的跨模态BEV蒸馏

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[3D目标检测]技术交流群 后台回复[3D检测综述]获取最新基于点云/BEV/图像的3D ...

  6. 最新!OMNI3D:3D目标检测的大型基准和模型(Meta AI)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[3D目标检测]技术交流群 后台回复[3D检测综述]获取最新基于点云/BEV/图像的3D ...

  7. 视觉3D目标检测 | 从视觉几何到BEV检测

    作者 | Black  编辑 | 汽车人 原文链接:https://www.zhihu.com/people/youseeblack 点击下方卡片,关注"自动驾驶之心"公众号 AD ...

  8. 通过形状先验引导的3D目标检测方法(Disp R-CNN解读)

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

  9. 经典回顾 | 第一个Anchor-Free、NMS-Free 3D目标检测算法!

    作者 | 小书童  编辑 | 集智书童 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[3D目标检测]技术交流群 后台回复[3D检测综 ...

最新文章

  1. Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了
  2. C++基础之指向成员的指针
  3. tableau实战系列(二十八)-以可视化的方式打开关联分析算法购物篮分析(Market Basket Analysis)
  4. 单纯形 c语言 程序,单纯形法完全c语言程序
  5. 大学阶段总结——大一
  6. OS X 平台的 8 个终端实用工具
  7. 10 人,2 个月 | 虾米音乐的监控体系升级之路
  8. JAVA语言运算符(算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算)
  9. FileZilla Pro32位64位官方安装版 v3.50.0
  10. 一步一步学VBScript(4)之WSH对象三
  11. (四)通用定时器的定时功能(使用中断)
  12. [机器学习笔记]奇异值分解SVD简介及其在推荐系统中的简单应用
  13. javascript 图像二值化处理
  14. 遇见phpDesigner我笑了 PHP开发利器
  15. 【C语言基础学习笔记】一、初始C语言(2)
  16. 【韧性设计】节流模式
  17. mysql中两根竖线什么意思_五线谱中两根竖线是什么意思?
  18. 《Java程序设计》第二周学习总结
  19. Qt QTableWidget的使用方式
  20. js在浏览器中对cookie进行增删改查

热门文章

  1. Spring表达式语言使用
  2. Bootstrap学习笔记
  3. Linux常用命令—文件处理命令格式与目录处理命令ls
  4. STM32 - 定时器的设定 - 基础- 02 - Capture/compare channels 和相关设置寄存器 - 和STM32缩写词条解释
  5. 主机甲采用停等协议向主机乙_习题
  6. srcnn 双三次插值_用于数字成像的双三次插值技术
  7. 大数据建设意义_大数据一体化平台打造政府智能数据库,助力智慧政务建设
  8. java不同进程的相互唤醒_JAVA多线程之线程间的通信方式
  9. python路径规划算法可视化_路径规划问题:DIJKSTRA算法 以及Python实现
  10. zabbix监控redis