当前位置:   article > 正文

【3D目标检测】UniMODE: Unified Monocular 3D Object Detection

unimode: unified monocular 3d object detection

论文链接:UniMODE: Unified Monocular 3D Object Detection

代码链接:暂无

作者:Zhuoling Li,Xiaogang Xu,SerNam Lim,Hengshuang Zhao

发表单位:香港大学、浙江大学、University of Central Florida

会议/期刊:CVPR2024

一、研究背景

单目 3D 目标检测是指仅使用相机捕获的单个图像,以达到确定目标的精确 3D 边界框的目标。相比于基于激光雷达等其他模态方法,这种方法在成本效益和全面的语义特征方面具有优势。

目前,已经在这个问题上有很多解决方案了,但是存在着域不适应的问题。比如有的模型专注于室外场景,有的专注于室内检测,这些方法在网络架构上有显著的差异,阻碍了未来的实际应用。

因此,作者希望设计一个统一的检测架构,可以在室内和室外场景都表现出很好的性能。

统一检测中存在的挑战

例如上图中显示的不同几何属性以及异构域分布的问题。

比较(a)和(b)图,会发现室内的物体比较大,一般距离比较近、室外的物体比较小(密集特征),距离也比室内来的远(稀疏特征)。而且数据集中的相机参数差异也很大。

比较(a)、(b)和(c)图,会发现图像的风格不一样,也就是数据分布不同。

比如(c)和(d)图,会发现(c)图中有标注picture类别,结果在(d)图中明明也有这个类别,但是没有标注出来(未标记的对象以红色椭圆突出显示)。说明不同数据集之间存在标签冲突,也就是异构域分布。

综上所述,统一检测设计有2大挑战:

论文链接:UniMODE: Unified Monocular 3D Object Detection

代码链接:暂无

作者:Zhuoling Li,Xiaogang Xu,SerNam Lim,Hengshuang Zhao

发表单位:香港大学、浙江大学、University of Central Florida

会议/期刊:CVPR2024

一、研究背景

单目 3D 目标检测是指仅使用相机捕获的单个图像,以达到确定目标的精确 3D 边界框的目标。相比于基于激光雷达等其他模态方法,这种方法在成本效益和全面的语义特征方面具有优势。

目前,已经在这个问题上有很多解决方案了,但是存在着域不适应的问题。比如有的模型专注于室外场景,有的专注于室内检测,这些方法在网络架构上有显著的差异,阻碍了未来的实际应用。

因此,作者希望设计一个统一的检测架构,可以在室内和室外场景都表现出很好的性能。

统一检测中存在的挑战 

例如上图中显示的不同几何属性以及异构域分布的问题。

比较(a)和(b)图,会发现室内的物体比较大,一般距离比较近、室外的物体比较小(密集特征),距离也比室内来的远(稀疏特征)。而且数据集中的相机参数差异也很大。

比较(a)、(b)和(c)图,会发现图像的风格不一样,也就是数据分布不同。

比如(c)和(d)图,会发现(c)图中有标注picture类别,结果在(d)图中明明也有这个类别,但是没有标注出来(未标记的对象以红色椭圆突出显示)。说明不同数据集之间存在标签冲突,也就是异构域分布。

综上所述,统一检测设计有2大挑战:

(1)不同几何属性:室内和室外场景之间的几何属性(例如感知范围、目标位置)非常不同。具体来说,室内目标通常距离摄像机不过几米,而室外目标距离可能会超过100米。那么既然要做统一,可能是取最大的,BEV特征空间要覆盖最大可能的感知范围。但是由于室内物体又很小,需要更加精准的BEV网格分辨率。这会带来计算负担和收敛不稳定的问题。

(2)异构域分布问题(图像样式、标签定义):有些对象在某些场景被标注,但是在其他场景却没有被标记,这在网络收敛的时候会造成混乱。

本文针对挑战提出解决方案:

(1)针对问题1,开发两阶段检测架构。第一阶段产生初始目标位置估计,第二阶段使用估计作为先验信息来定位物体,这样有助于收敛稳定;

(2)针对问题1,引入不均匀BEV网格划分策略。适当扩大BEV空间范围,同时保持了可管理的分辨率。此外,设计了稀疏的BEV特征投影策略,降低计算成本;

(3)针对问题2,设计统一的域对齐技术,包括用于对齐特征的域自适应层归一化,以及用于缓解标签定义冲突的类对齐损失。

二、整体架构

UniMODE整体检测框架。这项工作中提出的图示模块包括Proposal头、稀疏 BEV 特征投影、不均匀 BEV 特征网格、域自适应层归一化和类对齐损失。

整体如上图所示,从多个场景(例如室内、室外、真实、合成、白天和黑夜等)采样的单目图像 被输入到特征提取模块(包括了BackBone和Neck)得到代表性特征 。

随后,F交给4个全卷积头处理(Domain Head、Proposal Head、Feature Head和Depth Head)。其中,Domain Head的作用是预测输入图像与哪个预定义数据域最相关,并且域头产生的分类置信度随后用于域对齐;Proposal Head旨在估计6个Transformer解码器之前的粗略目标分布,估计的分布作为第二阶段检测的先验信息,输出被编码为M个Proposal queries,这种设计减轻了不同训练域之间的分布不匹配。此外,图像可以看到还有N个随机化的queries,会和M连接,形成M+N个queries。

Feature Head和Depth Head负责将图像特征投影到BEV平面并获得BEV特征。在这个过程中,作者设计不均匀的BEV特征,靠近相机的BEV网格享有更精确的分辨率,而距离相机较远的网格覆盖更广泛的感知区域。该设计很好地平衡了室内检测和室外检测之间的网格大小矛盾,且没有额外的内存负担。此外,还设计了一种删除不必要投影点的技术,降低了大约82.6%的计算负担。

三、核心方法

3.1 两阶段架构

BEV 空间中的室内和室外目标位置分布。点越亮,对应的 BEV 网格包含的目标就越多。感知相机位于坐标 (0,0) 的点。

几何特性差异被认为是导致BEV探测器收敛不稳定的根本原因。例如,目标位置分布差异使得基于 Transformer 的检测器学习如何向相关对象逐渐更新查询参考点具有挑战性。作者通过可视化发现Transformer解码器中的参考点更新是无序的。因此,如果我们采用经典的deformable DETR架构来构建3D目标检测器,由于学习的参考点位置不准确,训练很容易崩溃,导致突然的梯度消失或爆炸。

为了克服这一挑战,提出了两阶段的检测架构UniMODE。设计一个 CenterNet的头(图 2 中的Proposal头)来生成检测Proposal。具体来说,其预测属性包括2D中心高斯热图、2D中心到3D中心的偏移量以及目标的3D中心深度。Proposal的 3D 中心坐标可以从这些预测的属性中导出。然后,MLP 层选择具有最高 M 置信度的Proposal并将其编码为M Proposal queries。为了避免出现可能的错过目标问题,另一个 N 随机初始化的queries与这些M Proposal queries连接起来,以在第二阶段(Transformer阶段)的6个解码器中执行信息交互。这样,自适应地调整第二检测阶段的初始查询参考点。实验表明,这种两阶段架构对于稳定收敛至关重要。

2阶段架构示意图

由于queries不是完全随机初始化的,作者删去了deformable DETR中的迭代更新queries的策略,因为实验发现如果迭代的话,会导致质量变差,收敛崩溃。

3.2 不均衡的BEV网格

要实现统一室内室外的目标检测,其BEV特征空间需要覆盖比较大的感知区域(检测室外的物体),同时要仍然可以利用小型的BEV网格(检测室内的物体,可以理解为要感知更多的细节,那么网格分辨率要高)。然而,这样做面临的主要挑战是GPU内存限制,因为要在有限的内存中维持一个大的感知区域同时又有足够精细的网格分辨率是非常消耗计算资源的。

举个例子,这就像是要制作一个详细的地图,需要在城市中心(室内场景)保持高分辨率以展示复杂的细节,同时又需要地图可以延伸到郊区(室外场景),覆盖更广泛的区域。而且需要这张地图的整体大小适合放在一张标准大小的纸上(即有限的GPU内存)。

为了解决上述问题,作者提出将BEV空间划分为不均匀的网格,如下图所示。

通过在靠近相机的地方使用较小尺寸的网格,在距离相机较远的地方使用较大的网格来实现这一点。这种方法使 UniMODE 能够有效地感知各种物体,同时保持近距离物体的小网格尺寸。重要的是,这不会增加网格总数,从而避免任何额外的计算负担。

假设深度轴有N_{z}个网格,深度范围是( Z_{min}, Z_{max}, ) ,则 i_{th}网格Z_{i} 的深度值计算公式如下:

核心公式

具体解释一下BEV特征空间的概念:

  1. 平面图:BEV是一个二维的地图,就像在纸上画的那样,摄像头在这张图的中心。

  2. 网格划分:想象这张平面图被划分成网格,就像棋盘或图纸上的方格一样。

  3. 深度轴:从摄像头中心向前的方向,就是深度轴。这条轴上的网格代表从车辆到远处的距离。

  4. 的位置:在这个方格系统中,每个网格沿深度轴方向都有一个特定的位置。 就是第i个网格沿深度轴的位置。

在公式中, Z_{min}Z_{max}是深度轴的最小值和最大值,定义了BEV空间在深度方向的范围,比如50m到100m;N_{z}就是在深度方向上划分的网格数量,增加它会增加深度分辨率,但是也会增加复杂度;i就是特定网格的索引,范围是(0, N_{z} - 1)。 i\times (i - 1)是随着i增加的。这样在BEV空间中近处的网格较小,可以提供较高的空间分辨率;而远处的网格较大,可以在保持较低的空间分辨率的同时覆盖更大的区域。

3.3 稀疏BEV特征投影

由于投影点太多了,如果将相机视图特征全部都转换到BEV空间计算很昂贵。

通过前面的特征提取,可以得到图像特征 F_{i}R^{C_{i}\times1\times H_{f}\times W_{f}}和深度特征F_{d}R^{1\times C_{d}\times H_{f}\times W_{f}} 。结合这2个特征,投影点数就是C_{i}\times C_{d}\times H_{f}\times W_{f} ,可以发现大部分的计算还是来源于 C_{d}。作者通过实验发现,很多投影点都没啥必要,因为它们的F_{d}值很小,意味着模型预测这些特定BEV网格中没有目标。

因此,根据预定义的阈值 \gamma删除不必要的投影点。具体来说,消除投影特征中 F_{d}对应深度置信度小于 \gamma 的投影点。这样就消除了大部分无效投影点。例如,当设置阈值为0.001时,大约可以排除82.6%的投影点。

稀疏BEV投影方法

3.4 统一域对齐

异构域分布存在于不同的场景中,作者结合特征和设计损失函数来应对这一挑战。

对于特征视图,初始化特定于域的可学习参数,以解决在不同训练数据域中观察到的变化。然而,这一策略必须遵守两个关键要求。首先,检测器在推理过程中应该表现出鲁棒的性能,即使面对来自训练过程中未遇到的领域的图像。其次,引入这些特定于域的参数应该产生最小的计算开销。

本文提出了DALN(domain adaptive layer normalization, 域自适应层归一化)策略。首先将训练数据拆分为D域,输入序列表示为 X_{l}R^{B\times L\times C},将其索引为(b, l, c)的元素表示为 x_{l}^{(b, l, c)},相应的LN (Layer normalization) 处理x_{l}^{(b, l, c)} ,输出为\tilde{x}_{l}^{(b, l, c)}

LN的经典公式

在DALN中,作者构建了一组可学习的特定于域的参数\{(\alpha_{i}, \beta_{i} )\}_{i=1}^{D} ,其中 (\alpha_{i}, \beta_{i} )是和 i_{th}域对应的参数。 \{\alpha_{i}\}_{i=1}^{D}初始化为1, \{\beta_{i}\}_{i=1}^{D}初始化为0。然后,建立一个由多个卷积层组成的域头,以特征F作为输入,并预测输入图像 I 属于这些 D 域的置信度分数。将 b_{th}图像的置信度表示 \{c_{i}\}_{i=1}^{D} ,输入参数(\alpha, \beta ) 计算如下:

获得 (\alpha, \beta ),使用它们来调整 \dot{x}_{l}^{(b, l, c)}相对于\bar{x}_{l}^{(b, l, c)} = \alpha\cdot{x}_{l}^{(b, l, c)}+\beta 的分布,其中\dot{x}_{l}^{(b, l, c)} 表示更新的分布。UniMODE中的特征分布就可以根据输入图像自适应调整,并且增加的参数可以忽略不计。此外,当输入训练集中未见过的图像时,DALN 仍然可以很好地工作,因为未见过的图像仍然可以被分类为这些D域的加权组合。

而且,DALN 使所有层共享相同的域头,因此计算负担要小得多。此外,DALN 引入了特定于领域的参数,训练起来更加稳定。

DALN这个过程可以归纳如下:

(1)根据数据来源或者属性,将训练数据分为D个不同域;

(2)对于每个域,初始化一组可学习的参数(\alpha_{i}, \beta_{i} ) ,从数学来看,前者是控制缩放,后者控制平移,那就可以帮助模型调整特定域中的数据分布;

(3)通过一个domain head,模型根据图像特征预测输入图像属于每个域的置信度c_{i}

(4)使用置信度c_{i} 和每个域参数 (\alpha_{i}, \beta_{i} ),计算输入图像以来的动态参数(\alpha, \beta ) ,就是各种权重了;

(5)最后,使用计算得到的动态参数调整特征的分布,具体来说就是对LN的输出\tilde{x} 应用缩放平移操作,得到更新后的分布 \bar{x}

整个DALN的实现流程

类对齐损失:在损失函数中,作者的目标是解决组合多个数据源时的异构标签冲突。具体来说,Omni3D中有6个独立标记的子数据集,它们的标签空间不同。如下图所示,虽然 Window 类在 ARKitScenes 中进行了注释,但在 Hypersim 中没有进行标记。由于Omni3D的标签空间是所有子集中所有类的并集,因此图中的未标记窗口成为损害收敛稳定性的缺失目标。

Omni3D 中子数据集之间的异构标签冲突示例。如图所示,“Window”在 ARKitScenes 中没有被标记,而在 Hypersim 中被标记,因此(a)中未标记的窗口可能会损害检测器的收敛稳定性。

为了解决上述问题,作者设计了下面的方法。

看起来很抽象,但其实很好解释:假设第i个数据集的标签空间为 \Omega_{i},那么在第i个数据集上计算损失,如果一个标签y发现它没在 \Omega_{i}上,而且y不属于背景类,那么损失函数就会乘以一个因子 \gamma(实验中设置为0.2),这样就减少了这些不包括在当前标签空间样本类别的惩罚,使得模型更好地处理标签空间的不一致性,改善模型训练的稳定性和泛化能力。

四、实验结果

所提出的 UniMODE 和其他 3D 物体检测器之间的性能比较

UniMODE 在 Omni3D 中各个子数据集上的详细性能

消融实验,验证了提案头(PH)、不均匀BEV网格(UBG)、稀疏BEV特征投影(SBFP)和统一域对齐(UDA)的效果。虽然 SBFP 没有提高检测精度,但它使 BEV 特征投影的计算成本降低了 82.6%。

不均匀 BEV 网格中网格尺寸和BEV特征分割策略的消融研究。

Omni3D 中各种子数据集的检测结果可视化

稀疏 BEV 特征投影中超参数阈值的消融研究。

DALN 的有效性。在这个实验中,通过比较没有任何域自适应策略的朴素基线、使用直接回归(DR)预测动态参数的基线和使用DALN的基线的性能来验证DALN的有效性。

室内子数据集的跨域评估。在此实验中,检测器首先在一个域中进行训练,并在零样本和 tune(测试域中 1%训练集数据用于微调 UniMODE 中的查询 FFN 1 个周期) 两种设置下在其他域上进行测试。

UniMODE 和 PETR 的训练损失曲线。可以发现,PETR的训练中存在突然的损失提升和连续的梯度崩溃,而UniMODE顺利收敛。

五、未来展望

在这项工作中,提出了一种名为 UniMODE 的统一单目 3D 物体检测器,其中包含多种精心设计的技术,可以解决统一 3D 物体检测中观察到的许多挑战。所提出的检测器在 Omni3D 基准上实现了 SOTA 性能并呈现出高效率。进行了大量的实验来验证所提出的技术的有效性。然而,该检测器的局限性在于其对未见数据场景的零样本泛化能力仍然有限。未来,作者希望继续研究如何通过扩大训练数据等策略来提高UniMODE的零样本泛化能力。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/373316
推荐阅读
相关标签
  

闽ICP备14008679号