逆天了!CVPR2024 | UniMODE:首篇统一户外+室内3D检测框架

点击下方卡片,关注“自动驾驶Daily”公众号

戳我-> 领取近15个自动驾驶方向路线

今天自动驾驶Daily为大家分享一篇户外+室内统一3D目标检测框架UniMODE,已被CVPR2024收录,如果您有相关工作需要分享,请在文末联系我们!


>>点击进入→自动驾驶Daily【3D目标检测】技术交流群

写在前面&笔者的个人理解

目前,在自动驾驶的视觉感知任务当中,基于单目相机的3D目标检测方案因其在相机的成本效益和综合语义特征表达方面的优势,吸引众多研究者们的广泛关注,并且各种新颖的解决方案不断地涌现出来。但是,如何在同时包括室内和室外场景的前提下,实现基于单目相机的统一3D目标检测依旧是非常具有挑战性的研究课题。一般而言,自动驾驶任务中设计的各类视觉感知算法通常只应用在某一类环境场景下:

  • 常见的室外城市道路下的自动驾驶:设计的3D视觉感知算法主要与室外的开放场景进行交互,得出待检测目标对应的空间位置信息和语义类别结果
  • 常见的室内地库场景下的自动泊车:设计的感知算法主要与室内的封闭场景进行交互,得到相应的停车位角点,感知停车场立柱、泊车牌子等环境元素

但如果想要设计的检测算法需要同时实现对室外和室内场景整体检测的鲁棒性,这其中最重要的就是解决室内和室外场景各自包含的独特特征。具体而言,两者场景包含的关键区别如下:

  • 室内场景中所包含的目标主要集中在一个较为狭小的密闭空间。通常来说,这类目标的几何形状结构一般比较小,并且在狭小密闭的空间上排列也相对比较密集,物体与物体之间的缝隙比较小。
  • 室外场景中所包含的目标相比于室内场景而言,通常来说分布在一个更加广阔的3D空间当中,并且其中的目标距离采集相机的深度距离也更加的广泛,远距离的目标甚至可以达到100米以上的距离。

基于上述提到的室内场景和室外场景中各自独特的环境表达特点,同时考虑到目前基于BEV空间的3D检测范式在自动驾驶感知领域的大放异彩。我们认为基于BEV空间的感知范式可以显式的将图像中包含的语义特征投影到BEV空间,实现和3D真实世界的空间特征对齐,从而缓解单目3D目标检测器在检测过程中的学习模糊问题。但是,直接采用基于BEV空间的3D感知范式,并没有得到我们所认为的检测性能的提升,我们把相关原因归结于以下几点:

  • 室内场景和室外场景的几何属性(待检测目标的位置,感知算法需要感知的范围)差异是非常大的,具体细节见图一的(a)和(b)两幅子图所示。通过可视化的结果可以看出,对于室内场景的物体而言,通常其距离相机的位置都比较近(距离差不多几米左右)。但是,对于室外场景而言,目标距离相机的距离有时会非常远,比如100米以上的距离。因为我们想要实现一个基于室内室外统一场景的BEV空间3D目标检测器来感知所有场景中的目标,所以算法构建的BEV特征必须覆盖到最大可能的感知范围。前文也有提到,由于室内场景中的目标通常来说空间尺寸比较小,这就要求在进行室内场景检测时,生成的BEV空间网格粒度要很小,从而得到精确的检测结果。但这样就会造成模型计算量的显著增加,以及训练过程中的收敛不稳定。
  • 室内场景和室外场景的目标域分布(不同场景下的图片风格,不同场景下标签的定义)是有一定差异的,具体细节见图一的(a)、(b)和(c)三幅子图所示。数据集中的图片有的是从真实场景中收集的,有的是直接虚拟合成的。除此之外,通过比较图一的(c)和(d)子图可以发现,有的类别(picture类别)在某个场景当中进行了标注,但在另外一个场景当中没有进行标注,这就会造成网络模型在训练过程中出现学习混淆的问题。
图一 室内和室外场景中不同类别的3D真值标注展示

根据上述发现的两点问题出发,本文提出了名为UniMODE的室内室外场景统一检测的单目3D目标检测器,论文的arxiv链接:https://arxiv.org/pdf/2402.18573.pdf

网络模型的整体架构&细节梳理

我们提出的算法模型的整体框架图如下面的图二所示,在介绍本文提出的UniMODE算法框架各个模块的细节之前,我们先整体概括一下算法框架的运行流程。

  • 多域图像的特征提取:我们首先从多个不同的场景(室内和室外场景、真实和虚拟场景、白天和夜晚等场景)中获取单目图像,然后喂入到Backbone和Neck组成的特征提取网络当中,得到降采样因子=16倍的单尺度特征图
  • 全卷积预测头结构:在这部分结构当中,分别由域检测头、提议检测头、特征检测头和深度检测头构成。
    • 域检测头的主要作用是利用特征提取网络输出的单尺度特征预测该特征和哪个预定义的数据域最相关,并且得到一个Domain Confidence指标用于网络后续的域对齐过程
    • 提议检测头的主要作用是在后续的Decoder解码器输出最终的检测位置和类别信息之前,估计出目标分布的大致位置作为后续第二阶段检测的初始先验信息
    • 特征预测头和深度预测头的主要作用是对提取到的特征图分别预测其语义特征信息和离散深度信息,然后通过坐标位置变换关系实现2D图像特征向BEV空间特征的转换。
  • BEV Encoder和Decoder结构:在获取到映射的BEV空间特征之后,先利用BEV Encoder结构进一步拟合BEV空间特征,然后利用Decoder模块对特征进行解码,输出最终的分类和回归结果
图二 UniMODE算法框架的整体流程图

双阶段检测架构流程

在上文中我们已经提到,室内和室外场景中目标的几何属性信息是非常不同的,从而导致基于Transformer的检测架构中很难学习如何向目标位置更新每轮预测的参考点,可学习参考点不正确的铺设就会导致训练过程中梯度突然的消失或者爆炸使得训练过程不稳定。基于上述的考虑出发,本文提出了一种双阶段的检测方案。在第一个阶段,我们首先采用类似CenterNet模型的预测头结构来生成初始的候选框提议。该提议包括类别属性预测的二维中心热力图,坐标点的偏移量以及目标深度方向上的估计。在第二个阶段当中,我们选择预测属性得分最高的前M个提议作为初始的先验预测框,并利用多层感知机网络对其信息进行编码作为后续检测过程中的Query(图二中展示的Proposal Query)。同时,为了防止初始生成的提议不能将当前图片中的所有目标全都覆盖到,我们也同时随机初始化了N个Query来防止检测器出现漏检的问题。

不规则的BEV网格空间表示

在室内场景和室外场景的的3D检测任务中,比较关键的挑战是区分不同场景下的几何结构特性(比如不同场景下的感知范围以及目标所处的位置)。相对而言,室内场景的检测通常都是小范围、近距离的目标,然而室外场景的检测都是相对广泛的3D空间。图三是室内和室外场景下目标分布的可视化结果图,其中如果一个地方的点越亮,则代表对应的BEV网格处包含的目标数量就越多。通过下图可以看出,室内和室外场景的感知还是非常不同的。进一步而言,室内场景下的目标通常都距离相机很近,并且空间上距离分布也比较小。但与之相反,室外场景下的目标距离相机的距离有近又远,且不桐物体在空间上的分布也更大。

图三 室内和室外场景目标分布可视化图

除了从数据的角度可以看出室内和室外场景检测任务的区别以外,我们从两种场景当中SOTA的3D检测模型以及各类单独的室内和室外开源数据集中也可以看出不同。比如,室内场景的SOTA模型CAGroup3D检测器设置的体素网格大小是0.4m。SUN-RGBD室内数据集中设置的最大感知范围是8m。与之相反,常见的室外检测数据集KITTI设置的最大感知深度可以到100m。一些SOTA的3D感知算法如BEVDepth,其体素网格大小是0.8m。

通过上述的对比则可以看出,目前基于室外场景的检测算法由于考虑到对远距离目标的检测效果,其设置的BEV网格尺寸大小一般都是比较大的。然而对于室内场景的检测器由于其检测较为复杂的近距离场景,这类检测器设置的体素大小都是比较小的。考虑到我们的算法是想实现室内和室外场景的统一检测,所以我们算法当中的BEV网格空间一方面要覆盖到室外场景的远距离目标,同时还要利用到精细的BEV网格实现室内场景目标的检测。基于上述提到的相关对比内容,同时考虑到相机成像过程中的近大远小的特点出发,我们提出了将原有的规则BEV空间网格划分成不规则的BEV空间网格,具体而言是距离相机比较近的BEV网格设置的尺寸更小用于捕捉细小的物体,远离相机的BEV网格设置的大实现计算资源的平衡。我们的实现方式如下:

其中,公式中 代表深度方向上的离散深度个数,深度范围是 ,第 个网格的空间大小设置为 。

稀疏BEV空间特征映射

由于将2D的图像特征向BEV空间映射的过程中会消耗很大一部分的计算量。具体而言,假设图像特征表示为 ,深度特征图 ,则生成的3D视锥特征则是 和 做乘积运算得到 ,通过该过程可以看出该过程的计算量大小是 ,随着估计深度的增加,模型的计算量呈线性增长,严重阻碍了特征图空间的分辨率,使得实现室内和室外场景的统一检测变得困难。

在实验过程中我们发现,在生成的视锥特征 中,大多数的特征值都是非常小的,对于整体BEV空间的贡献很小,从而可以推出相应的在离散深度估计的特征 处也是非常小的,表明模型认为该处并没有相关的目标,所以针对这些区域我们可以不再进行特征映射,缩短从2D向3D特征构建过程中的时间消耗。基于这个想法出发,我们利用设定的一个阈值来移除无关紧要的映射特征点,减少BEV特征构建过程中的计算量。当一个深度估计概率特征图某个位置的特征小于我们设定的阈值时该部分的特征点则不再进行映射。在实验中,当我们的阈值 时,可以移除掉83%左右的特征点。

统一域对齐

根据前文提到的在不同场景当中存在域不对齐问题,在本文中我们从特征和损失两个维度进行解决。首先针对特征维度我们采用了域自适应层归一化操作,损失方面我们采用了类别对齐损失。

域自适应层归一化

我们认为在室内室外场景统一检测的背景下,检测器当面对在训练过程中没有出现过的图片时也应该表现出稳健的检测性能。除此之外,引入一些域指定的相关参数也需要产生最小的计算开销。基于这些考虑,我们提出了域自适应层归一化操作。在实现过程中,我们将输入数据分成D个域。对于原有的层归一化算法而言,其实现方式如下,对于输入的某一个句子 ,其在某个索引 处的值可以表示为 ,相应的层归一化输出结果为 。

在域自适应层归一化中,我们引入了可学习的域指定参数 ,其中 代表第 个域的参数, 被初始化为1, 初始化为0。然后根据域检测头输出的预测得分计算调整特征值的均值和方差如下

在获得到相应根据域指定参数对应的均值和方差之后,我们对分布进行如下调整

通过这种方式,我们实现了根据输入图像预测出来的域得分动态的对特征的分布进行调整,实现自适应的目的。

类别对齐损失

前文已经指出,在统一训练的过程中会存在某些类别在一个场景当中进行了标注,但是在另外一个场景当中就没标注的情况。因此,为了缓解多个数据源融合训练导致的异构标签冲突问题,提出了类别对齐损失。

其中, , , , 分别代表损失函数,类别属性的预测结果,类别属性的真值标注还有背景类别, 是调节因子。

实验结果&评价指标

定量分析部分

在实验部分中,我们先展示了提出的UniMODE检测器和其他检测器在室内、室外以及整体场景下的性能对比情况,具体的细节如下表汇总所示。

表一 各类检测算法在室内、室外以及混和场景下的性能对比情况

通过实验结果可以看出,相对于之前唯一的一个室内室外统一检测的Cube RCNN算法而言,提出的UniMODE算法整体而言是要更优的。在室外检测的情况下,无论是在KITTI数据集还是nuScenes数据集上,提出的算法都要比当前的一些SOTA算法要好,比如在nuScenes数据集上的SOTA算法PETR以及BEVFormer。除此之外,我们还观察到,PETR以及BEVFormer算法在室内和室外场景下进行训练存在收敛不好的现象,导致检测结果不是很理想。我们认为这是由于在Omni3D这种数据集当中,相机的参数变化比较明显,导致模型在学习的过程当中变得更加困难。

接下来我们还分析了提出的不规则BEV空间网格划分策略,具体的实验结果如下表所示 。

表二 不规则BEV空间网格划分消融实验

根据上表的实验结果可以看出,当比较前两行时可以发现采用了不规则的划分方式弱化了模型的检测性能,我们考虑可能是由于这种划分策略导致模型在离相机更近的位置设置了过多的点,而在远处的BEV网格位置设置了更少的点,进一步导致特征特征的不平衡分布。通过第三行的结果也可以看出,当采用了更小的体素网格尺寸时,模型实现了在各个评测指标上更优的检测性能。

下表也展示了提出的稀疏BEV空间特征映射策略的消融实验,

表三 稀疏BEV空间映射策略消融实验

通过实验结果可以看出,随着阈值的增加,可以减少的计算量逐渐增加,但是模型的性能下降非常明显,需要根据实际的计算量和模型的检测性能进行权衡。

定性分析部分

下图是提出的UniMODE检测器在各个室外和室外场景下的检测结果可视化,如下图所示。

图四 UniMODE检测器在各个室内和室外数据集上的检测结果可视化

结论

本文提出了一个基于BEV空间的单目3D目标检测器,并且可以同时在室内和室外场景中展现出很好的检测效果。提出的UniMODE检测器在Omni3D基准上实现了SOTA的检测性能。

投稿作者为 自动驾驶之心知识星球 特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2700人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

③【自动驾驶Daily】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、在线地图、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加自动驾驶之心小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

④科研论文辅导来啦

来源专业技术网站

收藏: