我是靠谱客的博主 着急画笔,最近开发中收集的这篇文章主要介绍综述-自动驾驶中基于图像的3D目标检测综述一、准备知识二、分类法三、分类详解,即分类依据分析四、不同分类中具有代表性的工作 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

更新日志:  

22.03.29  完成对论文的粗读
22.04.03  根据综述分类线索,查找对应论文阅读并记录了各自亮点
22.04.07  着手对综述论文和提及方法(3DOP)的解析与记录
22.04.08  详读并记录方法Multi-Fusion、M3D-RPN、Monopair
22.04.09  梳理全文,结束更新

22.06.02  找到万字读懂自动驾驶3D视觉感知算法

目录

 

综述

基于图像的三维物体检测是自动驾驶研究中最基本和最具挑战性的问题之一,近年来受到了工业界和学术界的广泛关注。得益于深度学习技术的快速发展,基于图像的三维检测取得了显著的进步。特别是,从2015年到2021年,已经有200多个工作研究了这个问题,涵盖了广泛的理论、算法和应用。然而,到目前为止,还没有收集和组织这方面知识的最新调查。本文填补了文献中的这一空白,首次对这一新颖且不断发展的研究领域进行了全面的综述,总结了基于图像的3D检测最常用的方法,并深入分析了它们的各个组成部分。此外,还提出了两个新的分类方法,将最先进的方法分成不同的类别,目的是对现有方法进行更系统的审查,并便于与未来的工作进行公平的比较。总之本文回顾了目前所取得的成就,分析了该领域目前面临的挑战,并讨论了基于图像的三维检测研究的未来方向。

本文侧重2D结果提升的方法,直接使用3D特征的方法简单介绍下原理,如读者对后者感兴趣可自行搜索提到的方法去了解。

一、准备知识

1.不适定问题

链接1:​​​​​​计算机视觉中的不适定问题(ill-posed problem)_今 晚 打 老 虎的博客-CSDN博客_适定问题

链接2:计算机视觉中的不适定问题(ill-posed problem)_木盏的博客-CSDN博客_不适定问题 

参考这两个链接可以了解一下为什么3D的目标检测会被视为一种不适定问题。 

2.任务定义

在给定RGB图像和相应的摄像机参数的情况下,基于图像的3D目标检测的目标是对感兴趣的目标进行分类和定位。每个对象都由其在3D世界空间中的类别和边界框box表示。通常,3D边界框通过其位置[x,y,z]、尺寸[h,w,l]和相对于预定义参考坐标系(例如,记录数据的自我车辆的坐标系)的方向[θ,φ,ψ]来参数化。在大多数自动驾驶场景中,只考虑围绕上轴的方向角θ(偏航角)。

Location and orientation are also called translation and rotation in some works.

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_20,color_ffffff,t_70,g_se,x_16

二、分类法

将现有的基于图像的3D检测器分为两类:(1)基于2D特征的方法。这些方法首先估计2D位置(以及其他项目,如方向、深度等)。从2D特征中提取图像平面中的目标对象,然后将2D检测提升到3D空间。因此,这些方法也可以称为基于结果提升的方法。此外,由于这些方法通常与2D检测模型具有相似的体系结构,因此可以根据2D检测中常用的分类方法(即 region-based methods and single-shot methods)进行进一步分类。(2)基于三维特征的方法。这些方法基于3D特征对目标进行预测,从而可以在3D空间中直接定位目标。此外,根据如何获取三维特征,这些方法可以进一步分为基于特征提升的方法基于数据提升(feature lifting-based methods and data lifting-based methods)的方法。顾名思义,前者通过提升2D特征来获得3D特征,而后者直接从2D图像传输的3D数据中提取3D特征。根据前面提到的分类法,展示了图2中的里程碑方法(带有关键基准)。

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_20,color_ffffff,t_70,g_se,x_16

三、分类详解,即分类依据分析

这样分类可以很清晰地表明检测器是如何对齐2D输入数据和3D结果之间的维度不匹配(即结果提升、特征提升或数据提升),这是本任务的核心问题。

1.基于2D特征的方法

这类基于2D特征的方法也可以称为基于结果提升的方法。

在给定输入图像的情况下,首先从2D特征去估计2D的位置、方向和尺寸,然后借助这些结果(以及其他一些中间结果)去恢复3D的位置。(由2D的结果提升为3D的结果)

想要获得目标对象的3D位置[x, y, z],一个直观且常用的方法是使用CNN估计深度值d,然后使用下列公式提升2D投影到3D空间。

%20f

其中(Cx, Cy)是主点,f是焦距,(u, v)是目标对象的2D位置。还要注意的是,这些方法只需要目标对象中心的深度,这与需要密集深度图的如伪LiDAR等方法不同。

此外,由于这些方法在总体框架上类似于2D检测器,为了更好地呈现,本文将其进一步划分为 Region-based的方法和 Single-Shot 方法。 

1.1.基于区域(Region-based)的方法

基于区域的方法在2D目标检测中基本都遵循了R-CNN系列思想。在该框架中,从输入图像生成与类别无关的区域建议后,通过CNN从这些区域中提取特征。最后,R-CNN使用这些特征来进一步细化提案并确定其类别标签。

Proposal generation

与2D检测领域中常用的提案生成方法不同,生成3D检测的提案的简单方法是平铺地面中的3D锚(提案的形状模板),然后将它们作为提案投影到图像平面。然而,这种设计通常会导致巨大的计算开销。为了减小搜索空间,学者们提出了开创性的Mono3D和3DOP方法,它们是分别针对单目和基于双目的方法,利用特定领域的先验(例如,形状、高度、位置分布等)去除了置信度较低的建议。此外,还有学者提出了一种在2D正视图中估计客观性置信度图的方案,在后续步骤中只考虑具有较高客观性置信度的潜在锚点。综上所述,3DOP和Mono3D使用几何先验来计算提案的置信度,还有些学者使用网络来预测置信度图。

通过区域建议网络(RPN),检测器可以使用最后共享卷积层的特征而不是外部算法来生成2D提议,从而节省了大部分计算成本。

Introducing spatial information

一些工作将RPN和R-CNN相结合的设计扩展到基于立体的3D检测。提出分别从左图像和右图像中提取特征,并使用融合后的特征生成方案并预测最终结果。这种设计允许CNN从Stereo pair隐含地学习视差/深度线索。

出于同样的提供深度信息的目的,一些工作提出了另一种用于单目三维检测的 Multi-Fusion 方法。首先使用现成的深度估计器为输入图像生成深度图,然后为RGB图像和深度图设计具有多种信息融合策略的基于区域的检测器。

Stereo R-CNN和Multi-Fusion在高层范式上其实是相似的,因为它们都采用基于区域的框架并引入另一幅图像(或地图)来提供空间线索。

1.2.基于Single-Shot的方法

Single-Shot通常利用检测器直接预测类别概率,并从特征中直接回归3D box的其他参数。Single-Shot方法重在其较快推理速度,这在自动驾驶领域是很重要的一点。所以最近很多的工作都使用了这种基本框架。大致分为两种。

基于锚(archor)的方法

具体地说这种方法本质上是一种用于单目3D检测的定制RPN,同时在检测图像上生成3D archor和2D archor。与之前的二维方法中生成的与类别无关的2D archor不同,三维方法中生成的3D archor具有很强的语义标签相关性。例如在检测目标是汽车时它的尺寸一般为1.5m x 1.6m x 3.5m,而在目标物体是行人时则为另一种尺寸。

基于archor-free的方法

参照二维中的CenterNet方法并将其扩展到三维中。这类方法将目标对象编码为一个点(通常为物体的中心点)并使用关键点估计去找到它。此外还使用几个平行的分支预测目标的其他属性,包括深度、尺寸、位置和方向。尽管这种框架的结构很简单,但实现了不错的i性能。

1.3.基于二维特征的方法的总结

a.参数化一个3D box通常是使用中心点坐标(x, y, z)、尺寸也称维度(w, h, l)和方向θ这七个量来表示。这其中(x, y, z)除archor-free方法中使用热图回归外,通常直接进行回归。(w, h, l)通常直接进行回归。方向θ或者说θ角可以直接回归,也可以离散化后回归。

b.二维方法的总体特征是:基于二维特征的方法都是有一个2D检测的主干,然后想办法将三维信息编码成某种条件约束后赋予或融合进二维特征,进行联合预测。

c.三维信息可由HHA图、点云、双目图像获得。

2.基于3D特征的方法

这类方法的主要特点是:首先从图像中生成3D特征,然后直接估计3D box的所有项,包括3D空间中的3D位置。根据如何获取三维特征,进一步可分为基于特征提升的方法feature lifting-based methods 和基于数据提升的方法data lifting-based methods。

2.1.基于特征提升的方法

基于特征提升的方法的基本思想是将图像坐标系中的2D图像特征转换为世界坐标系中的3D体素特征。

单目系统生成特征的方法有retrieval-based方法(左图)和back-projection manner方法(右图)

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_19,color_ffffff,t_70,g_se,x_16

双目系统借助成熟的立体匹配技术,从Stereo pair中构建3D特征比从单目图像中构建要容易得多

2.2.基于数据提升的方法

基于数据提升的方法通常是先将2D图像转换为3D数据(如点云)。然后从结果数据中提取3D特征。包含基于pseudo-LiDAR的方法和基于GAN的提升方案。

基于pseudo-LiDAR的方法及其改进方向

基于pseudo-LiDAR的方法是通过计算密集深度图或者视差图,进而计算深度图,将二维像素点转变为点云,这样,就可以直接使用基于点云的目标检测方法了。
这“打破”了基于图像的方法和基于LiDAR方法之间的障碍。 

视差图的质量决定着这类方法的性能,因此有一类的工作是通过优化深度估计器,改进深度估计和立体匹配的质量。

既然是基于图像生成的pseudo-LiDAR信号,那么RGB的一些信息也可以被用来做一些信息的补充。

也有实验证明了深度计算公式是基于pseudo-LiDAR方法成功的关键而非pseudo-LiDAR的数据表示。

另外,感兴趣的读者可以了解一下特斯拉的自动驾驶解决方案,该方案在构建中没有使用LiDAR传感器,但也使用了pseudo-LiDAR方法,不过却使用了真实的LiDAR数据做了矫正,这也不失为一种有趣的解决方案。

基于GAN的数据提升

这类方法使用生成对抗网(GAN)将正视图像转换为BEV图。

其中生成器网络的目标是生成与给定图像相对应的BEV图,而鉴别器网络用于分类BEV图是否生成。

然后,一般使用修改的MV3D或BirdNet从BEV地图估计3D边界框。请注意,MV3D和BirdNet都是使用Bev图作为输入的基于LiDAR的3D探测器。

比如BirdGan就将源图像转换为BEV图以满足这两个3D探测器的要求。

四、不同分类中具有代表性的工作 

简单说:分为利用二维特征的基于区域提议的方法和单阶段方法;利用三维特征的基于特征提升的方法和基于数据提升的方法。下面分别对这四种分类中具有代表性的论文粗读总结下。

1.Region-based Methods:3DOP,减小搜索空间的典型方法

经典工作的性能可能不如现阶段的方法,但其思考永不过时。

1.1.3D propoals的生成

由双目图像生成的点云为 x

3D box y由元组(x, y, z, θ, c, t)参数化,其中(x, y, z)是3D框中心,θ表示方位角。这里,c∈C是对象类,t∈{1, ..., Tc},t索引了一组3Dbox模板,这些模板从训练数据中学习以表示每个类别c的典型物理尺寸。本文将3D空间离散为用于候选box采样的体素 ,因此每个box y以离散化的形式表示。

通过最小化一个能量函数来生成建议,该能量函数编码了几个潜在的深度信。这种编码基于的事实是,目标物体应该位于被点云高密度占据的空间中。此外,box应该与场景中的自由空间(free space)有最小的重叠。此外还编码了对象的高度先验值,以及box附近的点云应该具有比box更低的对象高度先验值的这一事实。能量函数表示为:

5fadf02d3e1b4c4d82ae5d012debff8e.png

各项的权重通过结构化支持向量机学习。注意上面的公式编码了权重对对象类的依赖性,因此针对每个类来学习权重。但是,也可以学习所有类别的一组权重。

关于点云密度(Fig1的第三图中的部分)、free space(三图紫色部分)、以及高度先验值(四图)等定义,这里不进行详细的解释,可阅读原文了解。 

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_20,color_ffffff,t_70,g_se,x_16

所以3D 提议这部分可以概括为:使用立体图像对计算点云x。然后对3D空间进行离散化,对3D候选 box 采样的道路平面进行估计。使用能量函数对每个候选进行穷尽评分,并使用非最大抑制(NMS)来获得前K个不同的3D方案。

具体地说,使用贪婪算法,在每次迭代中选择具有最低能耗及其与先前选定的提案的借条重叠不超过阈值δ。具体地,第m个方案ym是通过解决以下问题而获得的:

49b7e21566694d1cac99b570199c1e4d.png

1.2.single-stream 2D box检测与位姿估计

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_20,color_ffffff,t_70,g_se,x_16

首先介绍了一个single-stream网络,这个网络的作用是联合(join)2D的目标检测与位姿估计部分,同时完成两个任务。

该网络建立在Fast R-CNN的基础上,共享所有提案的卷积特征,并使用ROI池层来计算特定于提案的特征(box proposal)。通过在最后一卷积层(即卷积5)之后添加上下文分支和方向(Orientation)回归损失来共同学习对象位置和方向Orientation来扩展该基本网络。具体地说,第一个分支对原始box proposal区域中的要素进行编码,而第二个分支通过以1.5倍放大box proposal得到上下文区域(context region)计算特征。
两个分支都由一个ROI池化层和两个全连接层组成。ROI是通过将3D提议投影到图像平面上,然后再投影到Conv5特征图上来获得的。最后将来自FC7层的特征连接起来,并将它们提供给预测层。

上面这种对于网络架构的设计是参考segDeepM方法。

注意Fig的标题,这个网络的输入可以是RGB图像或者是一个6通道的RGB-HHA图像。

1.3.Two-stream 3D box检测与位姿估计

按照这个思路扩展,提出了一个Two-stream 网络,该网络可以完成3D的目标检测和位姿估计,同时该网络支持端到端训练。

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_19,color_ffffff,t_70,g_se,x_16

具体为:使用与图2相同的网络,区别是3D边界框回归变量取代2D边界框回归变量。类似于二维的box回归,使用尺度不变平移的尺寸归一化来参数化3D box的中心,并使用对数空间平移来参数化3D box的大小。参数化步骤为将3D box提议表示为P=(Px,Py,Pz,Psx,Psy,Psz),并且将其对应的标签Ground Truth 3D box表示为G=(Gx,Gy,Gz,Gsx,Gsy,Gsz),分别指定了每个维度中box的中心位置和box 的大小。box中心T_c(P)和box大小T_sc(P)的回归目标被参数化为:

1aa004fda8b74302b8736db4203f0066.png

给定3D box的坐标和估计的方向Orientation,然后计算3D box的方位角θ。

1.4.再论两种网络

只使用外观特征(即RGB图像),上述基本网络在实践中已经可以运行得很好。为了在CNN评分过程中利用深度信息,本文进一步计算了用HHA特征编码的深度图像。HHA有三个通道,表示视差图、离地面的高度和每个像素上的法线相对于重力方向的角度。本文探索了以RGB和深度图像作为输入来学习特征表示的两种方法。第一种方法是单流网络,它直接组合RGB通道和HHA通道形成6通道图像,并将其馈送到网络。这种结构与图2中的基本模型完全相同,只是它的输入是6通道图像。第二种方法是双流网络,它分别从RGB和HHA图像中学习特征,如图3所示。请注意,双流网络的参数几乎是单流模型的两倍,因此在训练时需要更多的GPU内存。

可以将这两种网络看做是Fast R-CNN从2D到3D的简单扩展,不同的是本文提出了一种生成3D的提议的方法并应用在Two-stream网络的3Dbox检测与位姿估计任务中,作者也考虑到HHA图像带来的性能提升收益,所以也可以将3DOP描述为一种借助点云训练一个svm去做3D box的提议,然后以RGB+HHA为输入,以Fast R-CNN架构为基础,利用构建的3D提议直接对三维标签的回归过程

2.Region-based Methods:Stereo R-CNN,通过另一幅图像引入空间信息

见我之前写的文章:Stereo R-CNN解析

3.Region-based Methods:Multi-Fusion,通过map引入空间信息

本文提出了一种基于端到端多层融合的单目图像三维目标检测框架。整个网络由两部分组成:一部分用于2D区域提议方案的生成,另一部分用于同时预测目标对象的2D位置、方向、尺寸以及3D位置。在独立的视差估计模块和三维点云计算模块的帮助下,实现了一种多层次融合方案。首先,利用前视(front view)特征表示对视差信息进行编码,并将其与RGB图像融合以增强输入。其次,将从原始输入中提取的特征与点云相结合,以提高目标检测的效率。对于三维定位,引入了一个额外的流(stream,分支)来直接从点云中预测位置信息,并将其添加到前面的位置预测中。该算法只需输入一幅RGB图像,就可以端到端的方式直接输出2D和3D目标检测结果。

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_20,color_ffffff,t_70,g_se,x_16

3.1.框架概述

a.对于3D尺寸,目标对象典型的长、宽、高尺寸可以由训练标签索引得到,之后从网络中估计实际尺寸与典型尺寸之间的偏移量。
b.物体中心的三维坐标(X, Y, Z)的估计过程要复杂得多,因为仅靠图像外观不能确定绝对的物理位置。为了解决这一问题,需要将全局上下文信息作为每个区域候选的先验信息。对于输入的单目图像,通过全卷积网络(FCN,sub-net)估计每个像素的视差(disparity)信息,从而借助摄像机标定文件获得近似的深度(depth)和点云(point cloud)。然后分多步叠加估计信息进行三维定位。
c.引入ROI均值池化层(RoI Mean Pooling),通过均值(Average)池化将方案内部的点云转化为固定长度的特征向量。利用来自点云的特征和原始卷积特征来估计对象中心的3D位置。
d.此外,估计的深度也被编码为前视特征图,并与RGB图像进行融合以提高性能。
因此,可以同时预测所有2D和3D描述。

对涉及到的细节解析下

3.2.方向估计

本文认为,不能能从区域提议的内容中估计相机参考帧中的全局方向。因此,参考MultiBin框架将一个角度离散化,将其分割为n个重叠的面元。利用输入特征,估计每个面元的置信度面元中心的残差部分。这两个部分分别被认为是角度置信度和角度定位。

3.3.3D尺寸估计

不直接回归绝对维度。取而代之的是首先计算训练数据集上每个类的平均长度、高度和宽度,以获得典型尺寸。然后使用相同的共享特征估计到典型大小的偏移。

3.4.多级融合与3D定位

估计3D对象的3D位置要复杂得多。以前只有区域方案中的特征被用于角度和尺寸回归。然而,由于存在ROI最大值合并,以同样的方式估计3D位置是困难的。从RoI Max Pooling中生成的特征有几个缺点。首先,将感兴趣区域内不同尺度的特征转换为固定大小的特征张量。因此,它部分消除了一个基本的摄影限制,即具有更大尺寸的RoI应该位于离相机更近的位置。此外,每个RoI的图像坐标仅用于提取特征地图上对应的区域。这意味着RoI的不同空间位置在RoI Max Pooling后可能具有相似的输出,而实际的3D位置可能会有很大差异。

在二维边界盒回归中,绝对坐标是通过估计相对于提议方案的偏移量来获得的。然而,对于3D定位,2D方案不包含坐标的3D信息。另一个事实是,如果我们以前看到过场景,我们人类可以在单目图像中分辨出任何物体的大致3D位置。通过我们过去的视觉体验,我们可以丰富地了解世界。这种理解可以作为整个图像的先验知识,可以用于定位任何对象,甚至其中的任何像素。为了帮助在我们的框架中定位3D对象,可以对对象的近似布局或像素的3D位置进行建模。

3.5.视差图估计和点云生成

视差图直接使用MonoDepth生成,点云由视差图计算。

501bf636e94f496aa862cc4e3fe16bec.png

MonoDepth是一种无监督方法。

3.6.三维定位操作

以估计出的全幅图像中的点云作为先验知识,利用先前生成的感兴趣区,引入RoI mean Pooling层进行三维定位。在点云上采用RoI mean Pooling得到固定大小的点云特征图,该特征图图同时考虑了关于位置的全局先验知识和区域建议。在这里,点云被编码为3通道XYZ贴图,其大小与RGB图像相同。有了这种表示,就可以在XYZ地图上使用RoI池化操作,类似于卷积特征地图上的RoI池化操作。图像中外观相同的对象在三维空间中的位置不同时,可能具有不同的点云要素。因此,点云特征是外观特征的补充,是三维定位的关键。

注意这段描述是在回答如何解答3.4中提到的两个问题。

3.7.融合前视特征图编码后的输入

属于增强输入信息的一种方法。简单说就是新编码一个三通道的图像(称为前视特征图),并与原始RGB图像叠加后输入网络。编码规则为:

b52f3c60f8fe4b1f86944f7b7bb2690b.png

 可以简单地认为FV1表示深度信息,FV2表示高度信息,FV3表示相机坐标系中的距离信息。

3.8.全文融合思想的体现

全文中存在三个级别的融合。

最早的融合是前视特征图与相应的RGB图像之间的拼接。将三维信息编码以进行输入增强

第二种是融合原始输入的特征图和每个区域方案内部的估计点云,并使用不同类型的RoI Pooling。本质上也是将三维信息编码,使二维信息与三维信息融合

最后一种融合是从两种不同类型的数据中进行联合估计,以实现最终的三维定位。再次融合各种特征以提升性能

一般来说,最后一次融合是框架所必需的,而另外两次融合可以在一定程度上提高整体性能。

3.9.论Multi-Fusion的启示

首先应该学习到MF内将三维信息编码的这三种方法,很好的将三维信息融合进了一个完整的框架中。

其次是学习MF中对于角度的离散化表示,这比直接回归角度肯定要稳妥和合理些。

4.Single-Shot Methods:M3D-RPN,archor-base方法中RPN是主要改进点

如题目所说,M3D-RPN的亮点在于一个为3D量身打造的RPN

4.1.参数定义

为了同时预测2D和3D boxes,使用两个空间的参数定义每个锚定模板:[w,h]2D、Zp和[w, h, l, θ]3D。要放置锚点并定义整个2D/3D box,必须指定共享的中心像素位置[x, y]p。然后通过将相机坐标中的3D中心位置[x,y,z]3D投影到给定已知投影矩阵P∈R3×4的图像中来编码深度参数Zp。

θ3D表示观察视角。与相机坐标系中的Y轴旋转相比,观察角度考虑了对象相对于相机视角的相对方向,而不是地平面的鸟瞰(BEV)。因此,在处理图像特征时,视角估计在直观上更有意义。我们按照相机坐标系中的给定对剩余的3D尺寸[w,h,l]3D进行编码。

3D的RPN先验使用过统计平均数得到的

预先为每个archor计算Zp和[w,h,l,θ]3D的平均统计量,作为强先验,缓解了3D参数估计的困难。具体地说,对于每个archor,用与相应的[w,h]个2D锚点的box具有≥0.5并集交集(IOU)的所有匹配ground truth的统计数据。因此,archor代表离散化的模板,其中3D先验可以被用作强有力的初始猜测,从而假定场景几何形状相当一致。下图中可视化了archor的公式以及预计算的3D先验。

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_20,color_ffffff,t_70,g_se,x_16

4.2.损失函数的定义

M3D-RPN的损失函数是一个多任务损失函数,由分类损失Lc、2D box损失Lb2D和3D box损失Lb3D三部分组成。

对于每个生成的框检查是否存在至少具有≥0.5IOU的GT,如果存在则使用每个生成的框的最佳匹配GT来定义第τ类、2D框ˆb2D和3D框ˆb3D的目标。否则,会将τ分配给捕获的背景类,并忽略边界框回归。基于Softmax的多项逻辑损失被用于监督Lc,其定义如下:

f14da986475b4b0899fc71d0de1e1370.png

同样使用逻辑回归在2D box的回归中

c7f779b4a6c54d20b54584a51c430505.png

 使用Smooth L1在3D box的回归中

1c21806c2ec04e9f80a72d2bb0480e4e.png

以及加权相加后得到最终的损失函数

5e4ad3270faa4f19835215915ee1918d.png

4.3.对M3D-RPN的思考

首先是验证了第三章中1.2节所说的,在single-shot类的archor-base方法中,主要将精力放在了如何生成一个对三维有效的RPN模块。

其次还可以了解到这种将2d损失和3d损失联合为一个整体的损失函数的操作。我认为这至少有两点好处:2D部分可以作为3D RPN提议筛选的条件;2D特征对2D的回归过程更有效,借此启发或增强3D的回归部分。

5.Single-Shot Methods:Monopair,大道至简的方法

5.1.整体结构

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_20,color_ffffff,t_70,g_se,x_16

可以很清晰的看到网络采用了one-stage结构,是一种archor-free的结构。如图所示由一个主干网络和几个用于特定任务的密集预测分支组成。
主干以一幅大小为(Ws×Hs)的单目图像I为输入,输出大小为(W×H×64)的特征图,其中s为主干的下采样因子。
共有11个输出分支,大小为W×H×m,其中m表示每个输出分支的通道。
11个输出分支分为3个部分:3个用于2D目标检测,6个用于3D目标检测,2个用于成对约束预测。

更概括地可以说:利用2D检测的热图和偏移量来定位3D对象的中心和成对约束关键点。

5.2.2D检测部分

直接由CenterNet派生而来

自然的,2D检测任务转化为了一个关键点检测的任务,进而转变为了一个热图预测任务

2D检测任务预测的输出有三:heatmap、box尺寸以及对中心的偏移

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_18,color_ffffff,t_70,g_se,x_16

5.3.3D检测部分

仍然是以关键点的形式,将三维点Cw根据相机内参矩阵K投影到特征图中为Co,3D检测分支预测了深度z、Cg到Co的偏移u和v,以及尺寸w, h, l。

对于方向的预测仍然使用面元的方式,回归8个参数

不确定性σ稍后我们再聊

5.4.成对空间约束部分

除了常规的2D和3D检测流水线外,此处还提出了一种新的回归目标,即通过特征地图上的关键点来估计相邻对象之间的成对几何约束。(创新点)

训练和推理各自的配对策略如图所示。对于任意样本对,通过将其二维box中心的距离设置为直径来定义范围圆。如果该对包含其他对象中心,则忽略该对。图中显示了具有所有有效样本对的示例图像。

训练时可以直接计算两个中心点之间的绝对距离,绝对距离是图中右侧子图表示的距离

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_15,color_ffffff,t_70,g_se,x_16

该图可有解释为什么要使用这种距离计算

watermark,type_d3f5lxplbmhlaq,shadow_50,text_q1netiba5piv6a2p5bcp55m95zcx,size_18,color_ffffff,t_70,g_se,x_16

推理时,直接由一个分支从特征图中计算

5.5.不确定性参数

有一种称为“异方差不确定性”的方法

64068e08d2db4404a22ee11c5f4c0d53.png  

x为输入数据,θ为回归权重,y为GT标签,y~为与y对应的输出,σ是另一种输出,可看作是数据x的观测误差。通过上面的公式重新设计L。

实验证明这种优化可使回归任务中的损失对于噪声输入更加稳健。本文中一共有三个不确定性,用于深度预测、3D中心偏移量和pair距离。

5.6.本文突出贡献-后优化

从图的角度提出了一个后优化过程。假设在一幅图像中,网络输出N个有效对象,根据第5.4中的策略,它们之间应有M个配对约束。将这些成对对象视为大小为NG的顶点,并将M个成对约束视为图的边。每个顶点可以连接多个邻居。在优化后,不再更新未被其他顶点连接的预测对象。所提出的空间约束优化问题被表示为如下的非线性最小二乘问题。

9b833c99f36d43af96c09baff1790ba7.png

相当于在关键点基础上引入了一个距离的约束,用于筛选box,并将不符合条件的结果剔除

5.7.浅谈Monopair的启发

对于基于CenterNet的工作,肯定是关键点预测相关。2D上是直接从CenterNet的衍生,即回归关键点热图和2D box的尺寸。3D的中心点预测过程是在投影后的特征图上进行,也属于关键点预测,其余的尺寸和方向仍然是直接预测。

到目前为止,没什么特别的点。思路比较简单,所以性能表现大概率是不够的。

于是引入了pair 空间的约束,这种约束是在三维空间下计算的,所以包含的自然是三维信息。

总之,仍然符合二维方法的总体特征,即基于二维特征的方法都是有一个2D检测的主干,然后想办法将三维信息编码成某种条件约束后赋予或融合进二维特征,进行联合预测。

5.8.类似的工作:RTM3D

这是一个直接回归9个关键点的工作(3D box的8个顶点和一个中心点),训练的时候可由3Dbox的投影作为标签,不需要重新标注。将网络直接回归得到的结果作为初始化,借助直接回归的深度性信息和方向角,使用非线性优化直接回归3D box基本参数。

我还是那个想法,这种非线性优化里面可以认为K内参矩阵是作为监督信息存在的。

5.9.类似的工作:IDA3D

在这个工作里,直接预测了2Dbox,真实物理尺寸、方向角和3Dbox的中心坐标x、y在图像上的投影u和v。然后2Dbox并没有直接参与3Dbox的还原过程,被作为筛选区域的工具,向一个3Dbox中心点深度z的估计模块提供初始化。有了这些,x和y可根据z和相机参数换算。从而完成3Dbox检测。

如果将RTM3D和IDA3D两者进行对比的话,单目做深度估计和物体真实物理尺寸估计这件事还是太难了写,准确率不高。而双目因为潜在的信息是包含整个图像的深度信息的,估计中心点位置是不成问题的。

 

最后

以上就是着急画笔为你收集整理的综述-自动驾驶中基于图像的3D目标检测综述一、准备知识二、分类法三、分类详解,即分类依据分析四、不同分类中具有代表性的工作 的全部内容,希望文章能够帮你解决综述-自动驾驶中基于图像的3D目标检测综述一、准备知识二、分类法三、分类详解,即分类依据分析四、不同分类中具有代表性的工作 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部