3D检测涨点Trick | 2D检测居然可以教BEV进行3D目标检测

简介: 3D检测涨点Trick | 2D检测居然可以教BEV进行3D目标检测

基于Transformer的方法推进了在学术界和工业界多摄像机3D检测的最新发展。在一个普通的Transformer架构中,query是对整个数据集进行随机初始化和优化的,而不考虑输入帧之间的差异。在这项工作中建议利用来自图像模型的预测,这通常是高度优化的2D任务,作为一个3D检测网络的Transformer部分之前。

该方法为用2D先验增强图像特征图;并通过沿着2D box质心的射线对query位置进行采样,以及使用对象级的图像特征初始化query特征。实验结果表明,2D先验不仅有助于模型的快速收敛,而且在平均精度上提高了12%。


1、简介


对于360度3D感知,自动驾驶汽车通常配备多台摄像头,可靠、准确的多摄像头3D检测已成为一个重要的研究挑战和工业努力。传统的方法利用了卷积神经网络(对网络),高度优化的二维任务,通过对图像执行二维场景理解,然后进行二维到三维投影。

相比之下,最近的进展提出,在鸟视图(BEV)表示上运行3D任务之前,将2D图像投影到3D空间。这种新的范式不仅为多模态感知、映射和预测提供了一个通用的场景表示,而且在Transformer架构的帮助下实现了提高的精度。

图1显示了使用Transformer进行多摄像机3D检测的典型管道。首先,从主干网络(通常是convnet)中提取来自多个相机图像的多层次特征图。然后,Transformer解码器迭代地处理query,并通过交叉注意力与图像特征图交互。

最后,每个更新的query都被输入到检测头中,以对目标进行分类并回归其长方体参数(例如质心位置、长方体范围和方向)。在Transformer架构中,例如来自开创性工作detr3d,query特征及其位置信息针对整个数据集进行随机初始化和优化,而不考虑来自不同帧的输入的异质性。作者发现,这种query设计具有缓慢的训练收敛和错误深度估计的强拖尾效应(如图2(a)所示)。

image.png

有几种方法通过改进的query设计扩展了detr3d。例如,PETR生成到图像特征的3D位置嵌入,作为Transformer解码器的输入。SpatialDETR编码相机内部和外部特征的key和query。Graph-detr3d用图神经网络取代自注意力,以更好地进行query交互。最后,BEVFrorter用鸟瞰网格离散三维世界,并将每个网格视为query位置。

由于神经网络通常对二维任务进行高度优化,为什么不在3D检测的Transformer部分之前重复使用这些二维预测呢?在这项工作中,在detr3d管道中验证了这一想法,并将二维目标检测、语义分割和从图像主干到Transformer解码器的深度估计相结合。

本文提出了三种简单的使用策略:增强图像特征图,通过沿二维box质心的射线投射对query位置进行采样,以及使用对象级图像特征初始化query特征。在内部数据集上的实验结果表明,本文的方法在平均精度方面将3d提高了12%,使模型在训练过程中收敛得更快。

与本文的工作并行,MV2D还提出利用2D检测作为多摄像机3D检测器的Transformer部分的先验。与本文的方法不同,MV2D仅研究如何利用2D检测,以及如何通过动态对象query生成器为每个2D框预测一个参考点,该方法从2D框形心生成多个参考点并使用多个2D线索(2D框、语义图和深度图)。实验结果表明,与Transformer模型相比,召回率更高,尤其是对于小而远的物体。

image.png


2、VANILLA DETR3D REVISITED


解码器由6个标准Transformer块。在每个区块中,query通过自注意力相互交互,并通过交叉注意力与多摄像机多级特征图融合。与常见的“全局”交叉注意力机制不同,detr3d只将query与与其query位置(也称为引用点)对应的图像特征关联起来。为此,为每个query计算一个三维坐标系中的位置。该位置被投影到图像平面上,给定相机的内部和外部参数。来自投影像素的图像特征在所有特征级别和摄像机上进行加权和平均,用于以“局部”交叉注意力的方式更新query。

将表示为query的嵌入维数,图2(a)说明了如何构建query 及其参考点。首先,随机初始化一个位置嵌入向量和一个特征嵌入向量(服从均匀分布或正态分布)。然后,通过多层感知器(MLP)映射到参考点,并添加到中,生成最终的位置感知query特征。

通过使用标准匈牙利分配和集合预测损失对网络进行训练,和都学习对整个数据集的目标统计数据进行编码,可以认为是公共目标检测管道中预定义的“Anchor”,如Faster-RCNN。

虽然简单明了,但detr3d中的网络设计在query和参考点生成过程中缺乏先验知识,导致训练收敛缓慢,预测模糊。图3(a)显示了无需后期处理的鸟瞰图(BEV)上的典型detr3d输出。所有query都用圆圈标记,而那些具有高分类分数的query则用红色边界框进一步显示。

在对目标检测中观察到了强烈的长尾效应,即query沿着2D图像上检测到的光线会聚,带来了许多误报。这是由于训练期间错误的深度估计和模糊的目标分配。

image.png


3、THREE WAYS OF ADDING PRIORS


本文提出了三种改进detr3d网络的方法,通过将二维先验合并到Transformer解码器中,如图2(b)所示。为此,选择二维目标检测、语义分割和由卷积Backbone预测的深度估计作为先验,因为它们是常见的、经过良好优化的自动驾驶二维任务(例如来自特斯拉的HydraNet)。深度估计被表示为一个重新调整为[0,1]的单通道深度图。语义分割由带有C通道的语义映射表示,其中每个通道显示一个类别的像素级分类分数。

3.1、Feature Map Priors

这里只是简单地将语义图和深度图与不同尺度上的多相机特征图连接起来。通过这种方式,语义和交叉注意力操作中的深度先验添加到query中。

3.2、Location Priors

只从二维Box预测的质心中沿着射线生成参考点。对于每条射线,进行一个间隔5米的简单均匀采样。这样可以有效地缩小目标的搜索空间,有助于减少误报,限制query的数量,加速模型的收敛。在进行长方体预测时,检测头将偏移量回归到其参考点,用,,表示为长方体质心。它还回归了长方体的高度、长度、宽度和偏航角。

参考点可能不准确地重叠的长方体质心,因为二维Box的中心不同于投影长方体,和5米采样间隔与常见的检测网络离散阈值。然而,作者发现这样一个简单的点生成策略为实际的目标位置提供了粗略和现成的估计,如图3(b)所示。此外,位置误差可以通过迭代query优化来补偿。当为投影长方体中心引入中心度头(类似于CenterNet),或仅在预测深度附近的采样点(类似于CramNet)时,期望有更准确的参考点生成。

受Anchor-DETR的启发,通过一个小MLP将一个参考点投影到一个位置嵌入向量。有趣的是,与普通的detr3d相比,这是一个相反的过程,它将一个位置嵌入向量映射到它的参考点。

3.3、 Query Priors

从一个射线生成的所有query都来自同一个2D目标。因此,建议在这些query之前合并相同的对象级二维query,并通过位置信息进一步区分它们。

遵循5个步骤:

  1. 首先,根据二维框估计来裁剪语义图、深度图和多级多摄像机特征图。
  2. 然后,利用裁剪后的与预测对象类对应的语义图通道,通过像素级点生成对裁剪后的深度图和特征图进行加权。
  3. 然后,根据SENet操作,使用通道级全局平均池化操作为每个query先验生成一个一维向量。
  4. 此外,将query先验向量附加一个对象类索引、一个目标得分和二维边界框参数,输入一个小MLP以生成query嵌入特征。
  5. 最后,将位置嵌入特征作为最终的query特征添加到query嵌入特征中,从而可以区分来自同一条射线的query。

4、实验结果


在预训练的ConvNet主干的基础上,重新实现了detr3dTransformer解码器,并在不同的二维先验下对其检测性能进行了实验。根据原始的detr3d,将初始学习速率设置为,权重衰减为。使用了具有一致衰减的阿当优化器。与detr3d不同,这里没有使用任何数据增强技巧,并且发现使用更多时代的训练可以提高模型的性能。

所有模型,除非另有提到,都是用内部数据集的一小子集训练的,大约60k训练,10k验证,4k测试样本。这些数据记录在美国和欧洲的不同地点,在不同的天气条件下(白天、夜间、多雨、阳光充足等)。以及情景(城市、农村地区等)。报告了车辆和人类类别的鸟视图(BEV)在IoU=0.1阈值下的平均精度(AP)得分,并且只考虑在50米范围内的检测。

4.1、主要结论

表1比较了vanilla detr3d模型与其具有不同2D先验的变体之间的AP得分。

image.png

此外,表2报告了4米阈值的AP得分,这通常用于Nuscenes度量。当评估位置误差时,该阈值不如IoU=0.1阈值严格,因此当在同一模型上评估时,导致AP得分更高。在此设置中观察到具有2D先验的模型大大提高了行人检测30%以上。

image.png

图4(a)和图4(b)分别显示了车辆类和行人类的精确召回曲线。可以观察到,所有2D先验都改善了vanilla detr3d模型,AP得分更高,达到近12%。最大的性能增益来自位置先验,验证了参考点生成设计选择的有效性。

4.2、 Using Lidar Points as Location Priors

通过用激光雷达点云代替位置先验来进行简单的消融研究。为此,训练了一个名为“特征,激光雷达先验”的模型,该模型使用均匀次采样的激光雷达观测值作为参考点。图4(c)显示,当检测VEHICLE类时,纯相机模型“特征,loc先验”实现了与相机激光雷达融合对应物相似的性能,但在行人类中表现得更差。结果表明,定位误差仍然是纯摄像机检测管道的瓶颈,尤其是对于小目标。

4.3、Training with Larger Data

用×20的更多数据对模型进行了实验,并将其与单个相机基线模型进行了比较,该模型分别对每个单相机进行检测,并将所有相机的结果聚合为最终的多相机检测输出(具有非最大抑制)。基线模型遵循类似于FCOS3D的网络架构,其直接从2D图像回归长方体参数。基线和提出的模型使用相同的预训练图像主干。

image.png

表3显示了第IVA节中同一测试子集的推断结果。本文的模型(detr3d+feat、loc、query优先级)在VEHICLE和HUMAN类中的AP分别比基线模型高5.70%和3.74%。此外,当比较表I中所示的小训练数据的结果时,较大的训练数据带来约1.5%的性能增益。这种边际AP改进表明,来自图像主干的2D先验可能会补偿大数据集的好处,从而节省训练成本。

4.4、 Training convergence

在图5中显示了学习曲线,通过过度拟合具有大约300个数据帧的小数据集。与vanilla detr3d模型相比,具有2D先验的模型以更少的时期达到相同的周期损失,这意味着2D先验对于更快的训练收敛的好处。


5、参考


[1].Priors are Powerful: Improving a Transformer for Multi-camera 3D Detection with 2D Priors.

相关文章
|
算法 自动驾驶 数据挖掘
3D检测:DETR3D
3D检测:DETR3D
318 0
3D检测:DETR3D
|
机器学习/深度学习 传感器 编解码
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
以视觉为中心的俯视图(BEV)感知最近受到了广泛的关注,因其可以自然地呈现自然场景且对融合更友好。随着深度学习的快速发展,许多新颖的方法尝试解决以视觉为中心的BEV感知,但是目前还缺乏对该领域的综述类文章。本文对以视觉为中心的BEV感知及其扩展的方法进行了全面的综述调研,并提供了深入的分析和结果比较,进一步思考未来可能的研究方向。如下图所示,目前的工作可以根据视角变换分为两大类,即基于几何变换和基于网络变换。前者利用相机的物理原理,以可解释性的方式转换视图。后者则使用神经网络将透视图(PV)投影到BEV上。
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
|
1月前
|
编解码 算法 自动驾驶
【计算机视觉】基于光流特征的目标跟踪算法LK光流法的讲解(图文解释 超详细)
【计算机视觉】基于光流特征的目标跟踪算法LK光流法的讲解(图文解释 超详细)
234 0
|
11月前
|
算法 计算机视觉 Python
计算机视觉实验:边缘提取与特征检测
计算机视觉实验:边缘提取与特征检测
|
机器学习/深度学习 人工智能 自然语言处理
首个目标检测扩散模型,比Faster R-CNN、DETR好,从随机框中直接检测
首个目标检测扩散模型,比Faster R-CNN、DETR好,从随机框中直接检测
146 0
|
机器学习/深度学习 人工智能 算法
【Pytorch神经网络理论篇】 33 基于图片内容处理的机器视觉:目标检测+图片分割+非极大值抑制+Mask R-CNN模型
目标检测任务的精度相对较高,主要是以检测框的方式,找出图片中目标物体所在的位置。目标检测任务的模型运算量相对较小,速度相对较快。
210 0
|
机器学习/深度学习 监控 算法
YOLOv7姿态估计pose estimation(姿态估计+目标检测+跟踪)
YOLOv7姿态估计pose estimation(姿态估计+目标检测+跟踪)
649 0
|
存储 传感器 编解码
单目3D检测新SOTA!PersDet:透视BEV中进行3D目标检测
目前,在鸟瞰图 (BEV)中检测3D目标要优于其它用于自动驾驶和机器人领域的3D目标检测器。但要将图像特征转化为BEV需要特殊的操作进行特征采样。
单目3D检测新SOTA!PersDet:透视BEV中进行3D目标检测
|
机器学习/深度学习 传感器 算法
【图像检测】基于CNN深度学习实现图像视网膜病变检测附matlab代码
【图像检测】基于CNN深度学习实现图像视网膜病变检测附matlab代码
|
机器学习/深度学习 传感器 算法
【目标检测】基于YOLO神经网络实现人体举重时杠铃的路径和速度跟踪附matlab代码
【目标检测】基于YOLO神经网络实现人体举重时杠铃的路径和速度跟踪附matlab代码