前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RTM3D:面向自动驾驶场景的首个实时单目三维目标检测方法

RTM3D:面向自动驾驶场景的首个实时单目三维目标检测方法

作者头像
Amusi
发布2020-02-25 15:09:04
1.9K0
发布2020-02-25 15:09:04
举报
文章被收录于专栏:CVerCVer

作者:李培玄 编辑:Amusi(CVer) https://zhuanlan.zhihu.com/p/105554165 本文已由作者授权转载,未经允许,不得二次转载

题目:《RTM3D: Real-time Monocular 3D Detection from Object Keypoints for Autonomous Driving》

论文链接:https://arxiv.org/abs/2001.03343

GitHub:https://github.com/Banconxuan/RTM3D

Introduction

三维检测在自动驾驶中至关重要,目前SOTA方法大多利用激光雷达或者结合图像进行检测。但其激光雷达价格昂贵而且在车顶放着消费者很难接受,相反单目价格便宜并且可以无痛嵌入当前车型。当然单目在三维检测主要评价指标IoU=0.7上还远远落后LiDAR-based的方法。不过三维检测在自动驾驶中毕竟属于较前端的感知部分,后端未必需要如此高的IoU,而且在保证一定精度的情况下,效率更重要。毕竟车是一个高速运动的物体,30码一秒就冲出8米了。然而目前还没有很好的实时(fps>24)单目系统,这是由于大多数三维检测方法基于成熟的二维检测器,在目标的RoI中添加额外的回归分支预测三维参数。当然这种直接回归的方法由于搜索空间过大很难取得好的效果。从Deep3DBox之后,大部分都会将投影几何引入作为一种约束。由于2D BBox只能提供四个约束,这就要求BBox的预测相当精准,因此他们大多利用two-stage的2D detector(Faster-RCNN居多)。这就很难使得整个检测过程实时。另外还有一部分单目方法会利用其它stand-alone网络预测额外的数据如深度图、实例分割、CAD模型等。特别是利用深度图的方法获得了很好的效果。这些方法当然是很难实时,并且训练这些网络大多也需要额外的标注,同时在推理过程中也会耗费更多的资源,不利与单目的落地。

现在面临的问题是,效率和精度怎么样才能同步提升?我们先分析精度,几何融入深度学习的方法一个局限在2D bbox的四条边所能提供的约束实在有限,我们进而考虑特征点的方法,特征点方法对遮挡和截断的物体具有良好的特性。这非常好理解,即使检测出几个特征点,其它的也可以根据物体的表示模型推断出来。目前基于特征点的方法大多采用wire-frame模型的顶点去重新标注,而且大多采用2D detector提供的RoI去回归顶点坐标。仍然使用two-stage的方法速度很难提升,同时human pose estimation已经给出明显信号,即直接回归特征点一般没有heatmap的精度高。因此拟采用one-stage生成heatmap的方法,同时由于有限的wire-frame模型不能穷尽所有的车型,我们考虑只预测3D BBox的八个顶点和一个中心点。在符合我们要求的结构中,我们筛选出cornernet和centernet两种,但是考虑到9个特征点尽管可以提供18个约束,但尺度还没办法确定,所以需要一些额外的先验信息。而centernet这种一个中心若干的基本点的结构更适合我们。至此大致结构已经出来了(图1),下面就是实施的细节。

图 1 整体框架

特征点检测网络

如图2,特征点检测网络的主要结构和centernet相似,分为backbone和检测头。backbone我们因为在速度方面的取舍,只用了ResNet18和DLA-34。其中上采样过程用了跨连接和双线性插值。同时我们也提出了针对keypoint的FPN层(图2),没有采用二维检测器的FPN是因为特征点有很多靠的比较近,这些点在FPN的大多层中会互相重叠,对检测不利。根据速度要求检测头由三个基本单元和6个可选的单元组成。在基本单元中,中枢点负责各数据的association。尽管会增加一点计算量,但仍然用2DBBox的中心点而不用3D中心点的投影。因为截断的物体3Dcenter可能会超出图像范围,对检测不利。其它基本单元还有9个关键点的heatmap和回归坐标,和centernet预测joint一样用来做点之间的grouping。其它可选的部分有量化误差的补偿、物体的大小、方向,中心点的depth和2D bbox的大小。训练方法和loss可以结合原论文和centernet看,在此不做粘贴。

图 2 特征点检测网络

图 3 keypoint FPN

3D Bounding Box Estimate

由特征点检测网络给出9个特征

点、物体尺寸

、方向

和中心点深度

后,3D BBox就容易求了,如下式所示。

其中

是3D BBox的八个顶点和中心点到

的重投影误差。八个顶点和中心点可以通过

得到。

为特征点检测的置信度,这里可以衡量各误差的重要程度。其它两项比较简单,可以参考原论文。重投影误差项的最简单方式可以像stereoRCNN一样在欧式空间中得出,这也是我们python代码的实现形式。另一种就是像论文给出的方法一样,用李代数求,在论文中也给出了雅可比矩阵的形式,所以很容易用g2o实现。

结果

两种验证集上结果:

表 1

测试集上结果:

表 2

ResNet18作为backbone的时候速度最快,精度已经超过大多数甚至某些双目方法。但仍弱于M3D-RPN(目前不利用其它训练数据最好的网络)。当采用DLA-34时速度仍然比别的方法快,而且精度超过M3D-RPN。

可视化结果:

图 4

绿色框为检测的特征点直接连接,蓝色为最终的3D BBox投影到图像上的框。可以看到特征点检测其实已经相当准确。同时BEV图可以看到即使是遮挡和截断区域也能获得很好的效果,这得益于特征点法的优点。这也使得反投影回图像外接的2D BBox也比直接得到2D BBox的效果好(表3)。

表 3

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CVer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Introduction
  • 特征点检测网络
  • 3D Bounding Box Estimate
  • 结果
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档