限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

阿里达摩院自动驾驶新突破,实现 3D 物体检测精度与速度兼得 | CVPR 2020 论文解读

  • 2020-03-19
  • 本文字数:2537 字

    阅读完需:约 8 分钟

阿里达摩院自动驾驶新突破,实现3D物体检测精度与速度兼得 | CVPR 2020论文解读

近期,阿里巴巴达摩院的一篇论文入选计算机视觉顶会 CVPR 2020,该论文提出了一个通用、高性能的自动驾驶检测器,首次实现 3D 物体检测精度与速度的兼得,有效提升自动驾驶系统安全性能。



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


与普通的 2D 图像识别应用不同,自动驾驶系统对精度和速度的要求更高,检测器不仅需要快速识别周围环境的物体,还要对物体在三维空间中的位置做精准定位。然而,目前主流的单阶段检测器和两阶段检测器均无法平衡检测精度和速度,这极大地限制了自动驾驶安全性能。


此次,达摩院在论文中提出了新的思路即将两阶段检测器中对特征进行细粒度刻画的方法集成到单阶段检测器。具体来说,达摩院在训练中利用一个辅助网络将单阶段检测器中的体素特征转化为点级特征,并施加一定的监督信号,同时在模型推理过程中辅助网络无需参与计算,因此,在保障速度的同时又提高了检测精度。


以下是第一作者 Chenhang He 对该论文做出的解读:

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)使得特征对物体的边界与内部结构不敏感。我们利用分割任务来保证部分卷积特征在下采样时不会被背景特征影响 ©,从而加强对边界的感知。我们利用中心点回归任务来加强卷积特征对物体内部结构的感知能力(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 的检测速度。





作者介绍:


第一作者为达摩院研究实习生 Chenhang He,其他作者分别分别为达摩院高级研究员、IEEE Fellow 华先胜,达摩院高级研究员、香港理工大学电子计算学系讲座教授、IEEE Fellow 张磊,达摩院资深算法专家黄建强及达摩院研究实习生 Hui Zeng。


注:论文地址暂未公开,InfoQ 将持续跟进并更新更多详细内容。


2020-03-19 16:523670
用户头像
赵钰莹 极客邦科技 总编辑

发布了 897 篇内容, 共 682.3 次阅读, 收获喜欢 2695 次。

关注

评论

发布
暂无评论
发现更多内容

架构第十一周作业

Nick~毓

甲方日常 61

句子

工作 随笔杂谈 日常

《华为数据之道》读书笔记:第 10 章 未来已来:数据成为企业核心竞争力

方志

数字化转型 数据治理

Forsage智能合约系统APP开发|Forsage智能合约软件开发(现成)

系统开发 现成系统

漫画:什么是 “智能供应链” ?

京东科技开发者

云计算 供应链 智能供应链

360OS张焰:AI视觉在教育中的应用

ZEGO即构

关于Mysql常用数据类型的小抄

xzy

MySQL

华为工程师又爆一份“架构师宝典”,价值百万薪“史诗级”操作系统,送你备战金三银四要不要?

编程 程序员 计算机网络 操作系统

冰河教你一次性成功安装K8S集群(基于一主两从模式)

冰河

Docker 云原生 k8s

区块链落地开发,区块链版权应用搭建

t13823115967

区块链+ 区块链落地开发 区块链版权应用搭建

智能新时代 安全新未来 首届国网北京电力人工智能数据竞赛正式启动

极客播报

《穿越数据的迷宫》笔记:中文版序二

方志

数据治理

Appium之测试微信小程序

清菡软件测试

App

Gradle doesn't run because it can't find tools.jar in JRE

mengxn

kotlin Gradle

整天都在讨论使用SpringBoot,可你居然连缓存都不清楚

小Q

Java 缓存 学习 面试 springboot

创业项目快速分析框架

boshi

创业 商业

修炼码德系列:简化条件表达式

Silently9527

Java 经验分享 代码重构 代码规范

Spring 源码学习 04:初始化容器与 DefaultListableBeanFactory

程序员小航

spring 源码 源码阅读

EXCEL、图片处理常用技巧

jiangling500

Excel 图片处理

AnyRTC --- Flutter 实现视频通话

anyRTC开发者

flutter 音视频 WebRTC 跨平台 sdk

Linux常用命令速查

jiangling500

linux命令

有奖讨论|作为程序员,女朋友是怎么吐槽你的?

Simon郎

女朋友 话题讨论

GO训练营第2周总结

Glowry

算力 | 手写红黑树

九叔(高翔龙)

数据结构 算法 二叉树 红黑树

深入浅出 Go - sync.Pool 源码分析

helbing

Go 语言

数据结构与算法系列之跳表(GO)

书旅

数据结构 算法 Go 语言

线程池 ForkJoinPool 简介

Java老k

Java 线程池 forkjoinpool 工作窃取

《穿越数据的迷宫》笔记:第1章 数据管理的重要性

方志

数据治理

为什么边缘计算将终止云计算?

VoltDB

数据库 云计算 数据分析 边缘计算

深度剖析github star数15.1k的开源项目redux-thunk

徐小夕

Java GitHub 大前端 React

高速公路二维码定位报警系统搭建解决方案

t13823115967

高速公路二维码定位报警 智慧公安

阿里达摩院自动驾驶新突破,实现3D物体检测精度与速度兼得 | CVPR 2020论文解读_AI&大模型_达摩院_InfoQ精选文章