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.

相关文章
|
传感器 机器学习/深度学习 自动驾驶
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
5907 1
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
|
移动开发 JavaScript 前端开发
白话 uni-app,细说 uni-app 和传统 H5 的区别
白话uni-app 本文适合对象: 已经通过uni-app官网对产品概念有了了解,看过uni-app的官方视频介绍 熟悉h5,但对小程序、vue不了解 传统的h5只有1端,即浏览器。而uni-app可跨7端,虽仍属前端,与传统h5有不同。
12297 0
|
传感器 机器学习/深度学习 人工智能
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
目前3D目标检测领域方案主要包括基于单目、双目、激光雷达点云、多模态数据融合等方式,本文主要介绍基于单目、双目和伪激光雷达数据的相关算法,下面展开讨论下~
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
|
缓存 运维 安全
2025 年 3 个最佳 WordPress 托管平台推荐
2025年,WordPress托管平台的选择对网站成功至关重要。本文推荐三大优质平台:WebSoft9,以企业级安全和开源优化见长;Hostinger,高性价比且新手友好;Bluehost,官方认证稳定性强。根据用户需求,WebSoft9适合技术要求高的企业,Hostinger适配预算有限的个人,Bluehost则面向追求稳定的中小企业。综合评估网站规模、技术和预算,选择最适合的平台可显著提升效率与安全性。
705 1
|
机器学习/深度学习 监控
在进行多任务学习时,确保模型不会过度拟合单一任务而忽视其他任务
多任务学习(MTL)中,为避免模型过度拟合单一任务,可采取任务权重平衡、损失函数设计、正则化、早停法、交叉验证、任务无关特征学习、模型架构选择、数据增强、任务特定组件、梯度归一化、模型集成、任务选择性训练、性能监控、超参数调整、多任务学习策略、领域适应性和模型解释性分析等策略,以提高模型泛化能力和整体表现。
|
传感器 机器人 测试技术
ROS相机内参标定详细步骤指南
本文是关于ROS相机内参标定的详细步骤指南,包括了标定的目的、原理、所需材料、具体操作流程以及标定结果的分析。文章以Ubuntu20.04和ROS1 Noetic为测试环境,适用于单目RGB相机的内参标定,使用ros-noetic-camera-calibration工具包进行操作,并提供了标定过程中的注意事项和建议。
2686 1
ROS相机内参标定详细步骤指南
|
机器学习/深度学习 算法 计算机视觉
DETR | 基于匈牙利算法的样本分配策略
DETR | 基于匈牙利算法的样本分配策略
1839 0
DETR | 基于匈牙利算法的样本分配策略
|
缓存 算法 内存技术
计算机组成原理(4)-----Cache的原理及相关知识点(2)
计算机组成原理(4)-----Cache的原理及相关知识点
759 1
|
XML Java API
Spring Boot 整合 LiteFlow 规则引擎:概念与实战
【4月更文挑战第30天】在现代软件开发中,规则引擎允许我们以声明式的方式定义业务逻辑和决策路径。LiteFlow 是一个轻量级、易于使用的组件式规则引擎,它可以与 Spring Boot 应用无缝整合。本文将介绍如何在 Spring Boot 项目中引入 LiteFlow,实现灵活的业务流程管理。
1182 0
|
传感器 编解码 自动驾驶
YOLO还真行 | 2D检测教3D检测做事情,YOLOv7让BEVFusion无痛涨6个点,长尾也解决了
YOLO还真行 | 2D检测教3D检测做事情,YOLOv7让BEVFusion无痛涨6个点,长尾也解决了
867 0