点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【3D目标检测】技术交流群
后台回复【3D检测综述】获取最新基于点云/BEV/图像的3D检测综述!
论文链接:https://arxiv.org/pdf/2207.10660v1.pdf
代码链接:https://github.com/facebookresearch/omni3d
从单目图像中识别3D场景和物体是计算机视觉的长期目标,在机器人和AR/VR中都有应用。对于2D识别,大型数据集和可扩展解决方案带来了前所未有的进步。在3D中,现有的基准尺寸较小,并且方法专门用于少数目标类别和特定领域,例如城市驾驶场景。由于2D识别的成功,论文引入了一个大型基准,称为OMNI3D,重新审视了3D目标检测的任务。OMNI3D对现有数据集进行了重新利用和组合,生成了234k张图像,标注了300多万个实例和97个类别。由于相机内参的变化以及场景和目标类型的丰富多样性,这种规模的3D检测具有挑战性。论文提出了一个名为Cube R-CNN的模型,旨在通过统一的方法在摄像机和场景类型之间进行泛化。结果表明,在更大的OMNI3D和现有基准上,Cube R-CNN优于先前的工作。最后,论文证明了OMNI3D是一个强大的3D目标识别数据集,表明它提高了单个数据集的性能,并可以通过预训练加速对新的较小数据集的学习。
在过去十年中,2D目标识别[24,37,60,61,67]在借助大规模数据集[22,42]预测和定位2D图像网格上的目标方面取得了巨大进展。然而,世界及其目标是在3D空间中三维布局的。从2D视觉输入中感知3D目标提出了由3D目标检测任务构成的新挑战。这里,目标是以紧密定向的3D边界框的形式估计图像中每个目标的3D位置和3D范围。如今,3D目标检测是在两种不同的镜头下进行研究的:在自动驾驶车辆[6,12,47,49,54]背景下的城市领域或室内场景[29,34,55,68]。尽管问题表述是共享的,但城市和室内场景的方法在领域之间共享的见解很少。通常情况下,这些方法仅适用于相关领域。例如,城市方法对位于地平面上的目标进行假设,并仅对三维旋转的偏航角进行建模。室内技术可使用有限的深度范围(例如高达6米[55])。这些假设通常不适用于现实世界中的目标和场景。此外,基于图像的3D目标检测的最流行基准非常小。室内SUN RBG-D[66]包含10k图像,城市KITTI[19]包含7k图像;相比之下,像COCO[42]这样的2D基准更大20倍。
论文通过引入一个称为OMNI3D的大型和多样的3D基准来解决缺乏用于3D目标检测的通用大型数据集的问题。OMNI3D由公开发布的数据集SUN RBG-D[66]、ARKitScenes[5]、Hypersim[62]、Objectron[2]、KITTI[19]和nuScenes[3]整理而成,包括234k张图像,其中300万个目标用3D框标注,涵盖97个类别,包括椅子、沙发、笔记本电脑、桌子、杯子、鞋子、枕头、书籍、汽车、人等。如图1(a)所示,OMNI3D比用于3D检测的现有流行基准SUN RGB-D和KITTI大20倍。为了在论文的大型数据集上进行有效评估,本文引入了一种新的、快速的、成批的和精确的算法,用于3D box的IoU,该算法比以前的解决方案快450倍[2]。论文证明了OMNI3D作为一个大规模数据集的影响,并表明它在城市和室内基准测试中分别将单数据集AP性能提高了5.3%和3.8%。
在这个新的数据集上,论文设计了一个通用而简单的3D目标检测器,称为Cube R-CNN,灵感来自近年来2D和3D识别领域的关键研究进展[20,49,61,64],它实现了跨领域的最新结果。Cube R-CNN从任何域和许多目标类别的单个图像端到端检测所有目标及其3D属性、旋转和深度。由于OMNI3D的多样性,论文的模型表现出很强的泛化性,并优于室内和城市领域的现有研究,只有一个统一模型,如图1(b)所示。从这些不同的数据中学习会带来挑战,因为OMNI3D包含不同焦距的图像,从而夸大了比例深度模糊性,如图4所示。论文通过对虚拟深度进行操作来弥补这一问题,该虚拟深度在整个数据集中使用相同的虚拟相机内参来转换目标深度。虚拟深度的另一个好处是,它允许在训练期间使用数据增强(例如图像缩放),这是2D检测的关键特征[11,73],如论文所示,也适用于3D。本文采用统一设计的方法优于现有的最先进方法,Total3D[55]在室内SUN RGB-D上的IoU3D为12.4%,GUPNet[49]在城市KITTI上的AP3D为9.5%。
在这项工作中,论文提出了一个用于一般3D目标检测的新基准。设计了一种统一的方法来从单个RGB图像中检测3D目标,方法是扩展2D目标检测,使其能够以内参不变的方式检测3D长方体。
2D目标检测:这里,方法包括两阶段方法[24,61],其使用区域建议网络(RPN)预测目标区域,然后通过MLP对其进行细化。一阶段检测器[41,44,60,67,78]省略了RPN并直接从主干预测区域。
3D目标检测:单目3D目标检测器从单个输入图像预测3D长方体。在城市自动驾驶领域,汽车类别比较核心[12,17,21,23,28,43,46,51,54,59,64,65,71,77],有大量工作。CenterNet[78]根据全卷积中心特征预测3D深度和大小,并扩展了[14,39,45,47–49,52,76,77,80]。M3D-RPN[6]训练具有3D锚的RPN,进一步增强了[7,16,35,70,81]。其他人使用伪深度[3,13,50,56,72,74]并探索基于深度和点云的激光雷达技术[33,57]。与论文类似,[10,64,65]在两阶段Faster R-CNN上添加了一个3D head,专门用于城市场景和目标。[23,65]通过综合生成深度和box-fitted视图(也称为虚拟视图或深度)来增强他们的训练。在论文的工作中,虚拟深度旨在解决不同焦距的问题。
对于室内场景,大量工作涉及房间布局估计[15,26,38,53]。Huang等人[29]预测了室内目标的3D定向边界框。Factored3D[68]和3D RelNet[34]联合预测目标体素形状。Total3D[55]通过对带有标注的3D形状的数据集进行额外训练来预测3D框和网格。论文通过联合处理这两个领域,并使用比先前工作多5倍的目标类别,探索3D目标检测的一般形式。
3D数据集:KITTI[19]和SUN RGB-D[66]分别是用于城市和室内场景的3D目标检测的流行数据集。自2019年以来,出现了更多的数据集,包括室内[2,5,62]和城市[1,8,9,18,27,30,31]。孤立地说,这些数据集具有独特的属性和偏差,例如目标和场景类型、焦距、坐标系等。在这项工作中,论文将现有的代表性数据集[2、5、8、19、62、66]统一起来,形成一个大型基准,称为OMNI3D,它比广泛使用的基准大20倍,而且更为多样。因此,由于目标旋转、大小、布局和相机内参的差异增加,新的挑战也随之出现。
3D目标检测的主要基准较小(KITTI[19]中的7k图像,SUN RGB-D[66]中的10k图像),主要集中在几个类别(例如KITTI上的3个),并且由单个域主导。3D数据集的小尺寸和缺乏多样性是与2D数据集(如COCO[42]和LVIS[22])的一个明显区别,它们开创了2D识别的进步。论文的目标是通过引入OMNI3D来弥补与2D的差距,OMNI3D是一个基于图像的3D目标检测的大型基准,由234k图像、300万个标记的3D边界框和97个目标类别组成。论文重新设计了最近发布的城市[8,19]、室内[5,62,66]和普通[2]场景的3D数据集,以构建适用于基于普通图像的3D目标检测的各种相机内参的大规模数据集。论文分析了OMNI3D,并展示了其丰富的空间和语义特性,证明它在视觉上是多样的,类似于2D数据,并且对3D具有高度的挑战性,如图2所示。
论文从一系列公开可用的数据源(即SUN RGB-D[66]、ARKitScenes[5]、Hypersim[62]、Objectron[2]、KITTI[19]和nuScenes[2])中整理OMNI3D。这些数据集中的每一个都是专门为3D目标检测而设计的,或者包含论文相应重新设计的3D长方体标注。通过手动关联在语义上对齐每个数据源的目标类别,从而生成一组97个类别。关键的是,所有长方体都被转换为统一的3D相机坐标系。总共有234152张图像,标注超过300万。论文将数据集拆分为175k用于训练的图像、19k用于val的图像和39k用于测试的图像,如果可用,则与原始源的拆分一致,否则不存在拆分中重叠的视频序列。OMNI3D具有来自室内和室外域的图像。论文将各自的子集表示为OMNI3D_IN(SUN RGB-D、Hypersim、ARKit)和OMNI3D_OUT(KITTI、nuScenes)。请注意,Objectron主要包括特写对象,仅在完整的OMNI3D设置中使用。
布局统计信息。图2(a)显示了通过在XY平面上投影质心在图像平面上的物体中心分布,以及通过在XZ平面上投影形心在底部一行中的物体深度分布。论文将OMNI3D与3D目标检测(SUN RGB-D和KITTI)和2D目标检测(COCO[42]和LVIS[22])的最流行基准进行了比较。发现OMNI3D的空间分布具有中心偏差,类似于2D数据集。图2(b)描述了相对物体尺寸分布,定义为物体面积除以图像面积的平方根。与LVIS相似,目标更可能较小([22]中的图6c),这表明OMNI3D对于2D检测也具有挑战性,而OMNI3D_OUT中的目标明显较小。
图2(a)的下一行将目标深度归一化为[0,20m]范围,用于可视化,并满足88%的目标实例;OMNI3D深度可达300米。论文观察到,OMNI3D深度分布远比SUN RGB-D和KITTI更为多样,它们分别偏向于附近或路边物体。各数据源图分布见附录。图2(a)展示了OMNI3D在空间分布和深度方面的丰富多样性,与现有的3D基准相比,其偏差明显更小,并且在复杂度上与常见的2D数据集相当。
2D和3D相关性。为了解决城市物体出现在大部分平面地面上的常见假设,论文计算了归一化2D y和3D z深度之间的相关性。发现这些属性在OMNI3D_OUT中的相关性确实相当高,为0.524,但在OMNI3D_IN中的相关性显著低于0.006。类似地,相对2D目标大小之间的相关性(面积的平方根)和z分别为0.543和0.102。这证实了论文的直觉,即城市场景中的常见假设在其他领域不适用,从而使问题整体上更具挑战性。
类别统计。图2(c)描绘了OMNI3D 97个类别的实例分布。长尾表明,2D和3D中的低镜头目标检测对性能至关重要。在这项工作中,论文希望专注于大规模和多样化的3D目标,这是相对未开发的。因此,论文筛选并关注3D中至少有1000个标注的类别。这留下了50个不同的类别,包括椅子、沙发、笔记本电脑、桌子、杯子、鞋子、书籍、窗户、汽车、卡车、行人等等,其中19个常见类别有超过10万个独特的实例。
论文的目标是设计一个简单有效的模型,用于一般的3D目标检测。因此,本文的方法没有特定于域或目标的先验。论文的检测器框架设计为Faster R-CNN的扩展,使用3D检测头来预测每个检测到的2D目标的长方体。方法称为Cube R-CNN,如图3所示。
论文的模型基于Faster R-CNN[61],一个端到端的基于区域的目标检测框架。Faster RCNN由主干网络组成,通常是CNN,它将输入图像嵌入到更高维的特征空间中。区域建议网络(RPN)预测表示图像中的目标候选的感兴趣区域(RoI)。2D box head输入主干特征图并处理每个RoI以预测类别和更准确的2D边界框。Faster R-CNN可以通过添加特定于任务的头部轻松扩展以处理更多任务,例如Mask R-CNN[24]添加了一个mask head以额外输出目标轮廓。
对于3D目标检测任务,论文通过引入3D检测头来扩展Faster R-CNN,该3D检测头为每个检测到的2D目标预测3D长方体。Cube R-CNN以三种方式扩展了更快的R-CNN:
(a)用预测IoUness的回归量替换了RPN中预测区域objectness的二元分类器;
(b)引入了一个cube head,该head估计参数以为每个检测到的目标定义3D立方体(概念上类似于[64])
(c)定义了一个新的训练目标,该目标包含用于3D目标检测任务的虚拟深度。
IoUness。RPN的作用是双重的:(a)它通过从预先计算的锚回归2D框坐标来提出RoI,(b)将区域分类为目标或非目标(objectness)。这在穷尽标记的数据集中是合理的,在那里可以可靠地评估给定区域是否包含目标。然而,OMNI3D结合了许多数据源,并不能保证所有类的所有实例都被标记。论文通过将目标替换为仅应用于前景的IoUness来克服这个问题。与[32]类似,论文用回归量代替RPN中的objectness,以预测RoI和GT之间的IoU。设为RoI的预测IoU,为该区域与其GT之间的2D IoU;论文应用二元交叉熵(CE)损失。对IoU超过0.05的区域进行训练。
Cube Head。论文将Faster R-CNN扩展为一个新的头部,称为Cube Head,以预测每个检测到的2D目标的3D立方体。Cube Head输入从每个预测区域的主干汇集的7×7的特征图,并将它们馈送到具有1024个隐藏维度的2个全连接(FC)层。与Faster R-CNN类似,Cube Head的所有3D估计都是类别特定的。
训练目标。论文的训练目标包括RPN和2D box head的2D损失以及Cube Head的3D损失。Cube R-CNN的整体训练目标如下:
3D目标检测的一个关键部分是以metric units从相机预测目标的深度。仅从视觉线索估计深度需要2D像素到3D距离的隐式映射,如果相机内参发生变化,则这种映射更为模糊。以前的工作可以忽略这一点,因为它们主要是在单个传感器的图像上训练。OMNI3D包含来自许多传感器的图像,因此展示了相机内参的巨大变化。论文通过预测目标的虚拟深度,将度量深度z投影到虚拟不变相机空间,从而将Cube R-CNN设计为对内参具有鲁棒性。如图4所示,虚拟深度使用(已知的)相机内参信息缩放深度,以便有效图像大小和焦距在整个数据集中保持一致。
定义:虚拟深度旨在保持有效的图像高度和焦距,这两个超参数分别称为虚拟高度和虚拟焦距。论文将物体的虚拟深度定义为:
使用虚拟深度对相机内参的不变性也可以在训练期间实现尺度增强,因为H可以变化而不会损害的一致性。图像大小调整产生的数据增强对于2D模型来说是至关重要的,但在3D方法中并不常用[6,47,64],因为如果没有考虑,它们可能会增加尺度深度模糊性。通过虚拟深度,这种模糊性得以减少,从而在训练中实现了强大的数据增强策略。
论文评估了OMNI3D上的单目3D目标检测。通过与现有基准和OMNI3D上的先前最佳模型进行比较,论文使用单一模型设计来展示我们的方法的优越性。最后通过展示全面的跨数据集泛化及其对预训练的影响,证明了OMNI3D作为大规模3D目标检测基准的有效性。
。通过计算两个3D长方体在并集上的交集来比较它们。图像通常具有许多GT,并产生若干预测,因此计算需要快速准确。先前的实现[19,66]通过在地平面上投影3D框来近似,并将top-view 2D交点与框高度相乘以计算3D体积。当物体不在平面地面上或具有任意方向时,这种近似变得非常不准确。论文实现了一种新的、快速且精确的算法,该算法通过将长方体表示为三角形网格来直接找到相交形状,并找到面部相交。论文的算法是自包含的,具有C++和CUDA支持。且实现在C++中比Objectron快90倍,在CUDA中快450倍。因此,对大型OMNI3D的评估只需几秒钟,而不是几小时。
论文首先消融了Cube R-CNN的设计选择。然后Cube R-CNN与现有基准和OMNI3D上的现有最先进方法进行了比较,并表明其性能优于或与通常专门针对各自领域的现有方法不相上下。Cube R-CNN使用单一的统一设计来处理跨域的一般3D目标检测。图5显示了OMNI3D测试集的定性预测。
消融实验:表1消融了论文在OMNI3D上提出的Cube R-CNN的功能。报告了单IoU阈值(0.25和0.50)下的AP3D和其他指标,以及近、中、远目标的性能。论文进一步训练和评估特定域子集OMNI3D_IN和OMNI3D_OUT(分别为APIN 3D和APOUT 3D),以显示单域情况下的消融趋势。从表1中,论文得出了一些突出的观察结果。
虚拟深度是有效的,并将AP3D提高了+6%,最明显的是完整的OMNI3D,它在相机内参的变化最大。在虚拟深度的支持下,训练过程中的尺度增强使AP3D在OMNI3D上增加了+3.1%,在OMNI3D_IN上增加了2.7%,在OMNI3D_OUT上增加了3.8%。论文发现,在没有虚拟深度的情况下的尺度增强是有害的−2.5%(第6-7行)。
3D不确定性使所有OMNI3D子集的性能提高约+6%。直观地说,它可以作为模型3D预测的置信度度量,删除它意味着模型将仅依赖其2D分类来对长方体进行评分。如果不确定性仅用于等式5中的样本缩放,但不用于推理,则AP3D仍会提高,但提高了+1.6%。表1还显示,来自等式5的entangled 损失使AP3D提高了+3.1%,而disentangled损失的贡献较小(+0.6%)。用RPN头中的IoUness替换objectness,OMNI3D上的AP3D提高了+1.1%。
与其他算法对比:论文将Cube R-CNN与最先进的方法进行了比较。选择了为城市和室内领域设计的代表性方法,并对本文提出的OMNI3D基准和单数据集基准KITTI和SUN RGB-D进行了评估。
城市基线的对比如表2所示:
室内基线的对比如表3所示:
OMNI3D作为通用数据集。论文将OMNI3D视为一个数据集,它集成了较小的单个数据集,并显示了OMNI3D对每个数据集的影响。为此,论文在OMNI3D上训练Cube R-CNN,并与单数据集训练进行比较。表4显示了类别交叉上报告的室内(顶部)和城市(底部)域的性能,室内14个,室外3个,以确保AP3D的可比性。与单数据集训练相比,对OMNI3D及其特定域子集OMNI3D_IN和OMNI3D_OUT的训练可获得更高的性能,这表明大规模OMNI3D更易于泛化,应该优先于单数据集训练。值得注意的是,ARKit增长了2.6%,KITTI增长了5.3%。除Hypersim外,特定于域的子集往往在其域上表现更好,鉴于其独特的特性,这并不奇怪(图2)。
OMNI3D作为预训练数据集。接下来,论文展示了OMNI3D在预训练中的实用性。在此设置中,使用从OMNI3D预先训练的Cube R-CNN模型对未显示的数据集进行微调。其动机是确定大规模3D数据集如何在新数据集上以最低成本3D标注的需求加速low-shot学习。论文选择SUN RGB-D和KITTI作为看不见的目标数据集,因为它们很受欢迎,而且体积小。论文在OMNI3D-上预训练Cube R-CNN,它从OMNI3D中删除目标数据集,然后使用可用训练数据的百分比对模型进行微调。图6中的性能曲线显示,与ImageNet相比,即使在OMNI3D上预训练的训练数据很少的情况下,模型也能快速获得最终性能。当在OMNI3D上进行预训练时,从任一目标的5%进行微调的模型达到了其上限性能的70%以上。
论文通过提出一个大型基准OMNI3D,重新审视了基于图像的3D目标检测任务,该基准OMNI3D具有来自不同领域的多种类别和不同的相机内参。对于OMNI3D,论文提出了一个简单而有效的模型Cube R-CNN,以及一个用于快速评估的IoU的精确实现。这个新的、令人兴奋的基准测试的未来工作包括对47类OMNI3D的少样本学习,以及论文没有解决的少量标注。定量分析表明,3D目标检测具有挑战性,尤其是对于远距离物体。伦理:论文探索视觉3D识别的技术进步,从伦理角度看,这些技术表面上是中性的。论文承认,使用过的公共数据集有一个行人类别,这一类别具有道德考虑,但在其他方面更受一般无生命物体、椅子、灯具、汽车、书籍等的支配。然而,论文仍然致力于警惕本文的工作产生的任何有害后果。
[1] OMNI3D: A Large Benchmark and Model for 3D Object Detection in the Wild
往期回顾
纯视觉3D检测综述!一文详解3D检测现状、趋势和未来方向!
【知识星球】干货分享
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;
添加汽车人助理微信邀请入群
备注:学校/公司+方向+昵称
自动驾驶之心【知识星球】
想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!