BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View阅读小结

news/2025/1/26 15:26:11/文章来源:https://www.cnblogs.com/giperx/p/18508945

BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View

BEVDet 高性能多相机鸟瞰视图3D目标检测

论文概述

BEVDet是一种模块化设计的3D目标检测框架,以鸟瞰视图 (Bird-Eye-View, BEV) 执行3D目标检测,通过现有模块构建其框架,并通过定制数据增强策略和优化非极大值抑制策略,大幅提升检测性能。BEVDet在nuScenes验证集上表现出色,BEVDet-Tiny版本仅占用215.3 GFLOPs,速度比FCOS3D快9.2倍。BEVDet-Base版本则在精确度上大幅领先。

相关工作

  1. 2D感知

    1. 图像分类
    • 深度学习尤其以AlexNet为起点推动了图像分类任务的发展。
    • 后续的研究引入了多种结构,如残差网络、高分辨率网络、注意力机制等,这些进步不仅提升了图像编码能力,还促进了对象检测、语义分割等任务的性能提升。
    • Softmax及其衍生方法在图像分类中占据主导地位,网络结构的容量是关键研究焦点。
    1. 目标检测
    • 介绍两阶段方法(如Faster R-CNN)和一阶段方法(如RetinaNet)的对比,以及它们的衍生工作。
    • 强调多任务学习,特别是通过共享骨干网络和联合训练,对于提高效率和任务性能的重要性。
    • 指出在自动驾驶场景中,寻找更高效的多任务处理方法的必要性。
  2. BEV中的语义分割

    • 自动驾驶中,通过在BEV空间语义分割用于环境的矢量重建。
    • 基于视觉的方法通常包括图像视图编码、视图变换到BEV、BEV中的进一步编码和像素级分类(image-view encoder, a view transformer, a BEV encoder and a head)。
    • 这一框架的成功促使研究者探索其在3D目标检测中的应用潜力。
  3. 基于视觉的3D目标检测

    • 从单目3D检测到基于多摄像头系统的转变,以及相关基准(如KITTI、其他大规模数据集)对研究的推动。
    • 强调了现有方法的局限性,特别是在计算效率和精度的权衡上。
      • FCOS3D:得益于目标与图像外观之间强大的空间相关性,它在预测该方面表现良好,但在感知目标的平移、速度和方向方面相对较差。
      • DETR3D:预算只需FCOS3D一半,推理速度和FCOS3D相同。
      • PGD:通过搜索和解决突出的缺点(即目标的深度预测)进一步发展FCOS3D范式,提升精读,但计算成本增加推理速度变慢。
      • 一些方法如基于Lift-Splat-Shoot的改进,特别是本文提出的改进策略,通过不依赖LiDAR而基于视图转换器解耦效应的专有数据增强策略,优化BEV中的3D对象检测。

主要贡献

  1. 模块化设计:包括图像视图编码器、视图转换器、BEV编码器及任务特定的检测头。
  2. 定制的数据增强策略:在图像视图和BEV空间中应用不同的增强策略,应对过拟合问题。
  3. 改进的非极大值抑制策略 (Scale-NMS):移除顺序执行的运算符sequentially executed operators,加快推理过程。
  4. 实验验证:在nuScenes数据集上取得了领先的性能,并展开消融实验验证数据增强策略和不同分辨率对模型性能的影响。

在验证可行性时,BEVDet数据处理策略和参数数量被设置为接近image-view-based 3D object detector(FCOS3D, PGD),但在训练时出现过拟合问题。BEVDet在BEV空间中过拟合的部分原因是训练数据的不足。

在没有BEV encoder的情况下,对image view space使用LSS的数据增强策略实现正则化效果有积极作用;而在有BEV encoder的情况反而会降低性能(因为view transformer以像素级的方式将图像视图空间与 BEV 空间连接,从数据增强的角度将它们解耦,image view space的数据增强策略对BEV encoder and the 3D object detection head没有正则化效果)。因此在 BEV Space中进行了翻转、缩放和旋转(flipping, scaling, and rotating)等额外数据增强操作,以提高模型在这些方面的鲁棒性,有助于防止 BEVDet 过度拟合。

方法论

网络结构

  • 图像视图编码器Image-view Encoder:采用ResNet(或SwinTransformer)作为主干进行high-level特征提取;颈部FPN(FPN-LSS)用于多分辨率特征融合,将具有 1/32 输入分辨率的特征upsamples 上采样到 1/16 输入分辨率,并将其与主干生成的特征进行concatenates连接。
  • 视图转换器View Transformer:将图像视图特征作为输入(LSS,通过分类方式密集预测深度),将分类分数和导出特征用于渲染预定义点云。最后通过Z轴反向(垂直)进行池化来生成BEV特征。
  • BEV编码器BEV Encoder:在BEV空间进一步编码特征(ResNet + FPN-LSS),感知目标的尺度、方向和速度等信息(定义在BEV空间)。
  • 检测头Head:基于BEV特征执行3D目标检测,使用CenterPoint的第一阶段的3D目标检测头进行原型验证。

数据增强策略

因为View Transformer能够将Image-view Encoder与后续模块进行解耦,在图像视图空间image view space进行数据增强操作不会改变BEV空间中的特征空间分布。由于多视图图像在BEV进行了特征融合,BEV编码器的学习数据比图像编码器的学习数据少容易过拟合。翻转、缩放和旋转被应用于BEV特征图的数据增广(同时对视图转换器的输出以及检测目标进行操作以保证空间一致性)。

Scale-NMS

BEV空间中不同类别的空间分布与图像视图空间中的空间分布截然不同。在图像视图空间中,由于相机透视成像机制,所有类别共享相似的空间分布。因此,对于经典的NMS策略对于不同的类别都采用相同的阈值来来筛选预测结果。(例如在2D目标检测中,任何两个实例的bounding box的IOU值总是低于0.5)

然而在BEV空间中各个类的占用面积本质上是不同的,实例之间的重叠应接近于零。因此,预测结果之间的IOU分布因类别而异。

比如行人和锥型交通路标在接地面上占用很小的面积,总是小于算法的输出分辨率。常见的对象检测范式冗余地生成预测。每个物体的占地面积小,可能使冗余结果与真正结果没有交集。这将使依赖正样本和负样本之间空间关系(IOU)的经典NMS失效

而通过缩放不同类别对象的大小(缩放因子根据类别各异,通过对验证集进行超参数搜索生成),再进行NMS,使经典NMS策略适用BEV空间,显著提升小目标检测性能。

实验结果

  • 数据集:使用nuScenes数据集进行训练和验证。
  • 性能指标:报告mAP、ATE、ASE、AOE、AVE、AAE和NDS。
  • 训练参数:使用AdamW优化器,批次大小64,20周期内结束。
  • 数据处理:在训练和测试时应用不同的数据增强。

消融实验

数据增强

在研究BEVDet-Tiny的过程中,作者分析了定制数据增强策略对性能的影响,使用了20个训练周期,比较了训练过程中的最佳性能与最后一个周期的最终性能。关键数据增强方法包括图像视图空间数据增强(IDA)和BEV空间数据增强(BDA)。

  • Baseline配置(Tab. 4 A):采用CenterPoint方法,没有数据增强,训练早期即饱和(mAP为23.0%),最终性能仅为17.4%,远低于FCOS3D的29.5%。
  • IDA表现(Tab. 4 B):引入IDA后,饱和时间推迟至第10个周期,最佳结果为20.5%,最终性能为17.8%,仍低于Baseline。
  • BDA效果(Tab. 4 C):BDA单独使用时,性能在第15个周期达到26.2%,最终为23.6%,比Baseline高3.2%。
  • 组合使用IDA与BDA(Tab. 4 D):两者结合,性能在第17个周期达到31.6%,最终为31.2%,较Baseline提升8.6%。增益有限(-0.4%)的性能退化现象表明IDA在没有BDA时对性能有负面影响,但有助于与BDA结合时的提升。
  • BEV编码器的作用(Tab. 4 E-H):去除BEV编码器时,性能下降1.7%,显示其对BEVDet准确度的关键作用。与BDA一同考虑时,IDA表现出不同的影响,证明BDA在构建性能方面的重要性。

总之,研究显示BDA优于IDA,并在组合策略下,BEVDet的性能有显著提升。

Scale-NMS

与普通的NMS以及CenterPoint中提出的Circular-NMS(来自CenterPoint,具体就是在鸟瞰中,只有当某中心半径r内没有具有更高置信度的中心时,该对象才被视为正,作者将该方法称为Circular NMS。)比较,Scale-NMS在小物体的检测精度上有很大提升,其余物体也有一定提升。

分辨率

增大输入图像和BEV特征图的分辨率均能带来性能提升,但会带来额外的推断时间

Backbone Type in the Image-view Encoder

研究分析了不同主干结构对BEVDet性能的影响,构建了三种参数量相似的衍生版本。根据Tab. 7,采用了两种输入分辨率。当将图像视图编码器的主干从ResNet-R50替换为SwinTransformer-Tiny(输入分辨率704×256)时,性能提升了+1.4% mAP和+1.3% NDS(BEVDet-R50:29.8% mAP和37.9% NDS;BEVDet-Tiny:31.2% mAP和39.2% NDS)。

  • 性能差异:BEVDet-R50在预测目标速度方面更强,而BEVDet-Tiny在目标平移和方向预测上表现更佳。
  • 其他变体表现:在采用704×256的小输入尺寸时,BEVDet-R101仅相较于BEVDet-R50提升了+0.4% mAP和+0.2% NDS;但在分辨率提升至1056×384时,性能提升为+1.2% mAP和+0.7% NDS。

研究推测,更大的感受野在增大输入尺寸时发挥重要作用

加速

在View Transformer视角转换模块(LSS)中,对同一体素内特征进行累加,从而影响推理延迟。Lift-Splat-Shoot用图像产生的点云形状是固定的,因此每个点可以预先分配一个体素索引Voxel Index,用于指示其属于哪一个体素。引入辅助索引Auxiliary Index记录每个体素索引出现的次数。利用这个辅助索引和体素索引,将点分配到二维矩阵中,并仅通过辅助轴进行特征汇总。在推理阶段,摄像机内外参数固定,使得辅助索引和体素索引可在初始化阶段计算。

通过这一修改,BEVDet-Tiny的推理延迟减少了53.3%(从137ms降至64ms)。但会增加内存使用量,取决于体素数量和辅助索引的最大值。实际中将辅助索引的最大值限制为300并丢弃剩余点,且此操作对模型准确度几乎没有影响

结论

BEVDet在多相机3D目标检测中展示出色性能,通过模块化设计和改进的数据增强策略,显著提升目标的平移、尺度、方向和速度感知能力。未来研究将集中于提高目标属性预测能力和基于BEVDet的多任务学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/822918.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.2(学号:3025)

import numpy as np import matplotlib.pyplot as plt from scipy.integrate import quad def fun(t, x): return np.exp(-t) * (t ** (x - 1)) x = np.linspace(0, 10, 100) # x 的范围 y = [quad(fun, 0, np.inf, args=i)[0] for i in x] # 计算积分 plt.plot(x, y) plt.xl…

[ACTF新生赛2020]usualCrypt

[ACTF新生赛2020]usualCrypt 总体分析 点进byte_40E0E4函数界面,大概就能猜到解密与base64解密有关了点进sub_401080()函数确实是常见的base64加密 但这里有两个自定义函数 sub_401000() 和sub_401030(a) sub_401000() int sub_401000() {int i; // eaxchar v1; // clfor ( i …

20222303 2024-2025-1 《网络与系统攻防技术》实验三实验报告

一、实验内容 1.正确使用msf编码器,使用msfvenom生成如jar之类的其他文件; 2.能够使用veil,加壳工具; 3.能够使用C + shellcode编程; 4.能够通过组合应用各种技术实现恶意代码免杀; 5.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版…

服务器和操作系统是什么关系

服务器是具有高性能、稳定性和安全性的硬件设备,用于托管网络应用并提供网络服务,而操作系统则是服务器上的软件部分,它管理和协调服务器硬件与软件资源的使用,提供用户和应用程序的接口,使得用户能够有效地使用和控制服务器。服务器硬件通常包括处理器、内存、硬盘等主要…

SaaS层的多租户和PaaS的多租户在实现技术上有什么区别

SaaS层的多租户和PaaS的多租户在实现技术上存在明显的区别。SaaS层多租户主要关注1、应用层的租户隔离,确保各租户的数据和应用逻辑分离;2、用户界面和体验的定制化;3、数据安全与合规性。而PaaS多租户则侧重于1、资源层的隔离和优化,确保平台上各租户的计算和存储资源分配…

2024-2025-1 20241327 《计算机基础与程序设计》第五周学习总结

作业信息 |2024-2025-1-计算机基础与程序设计)| |-- |- |2024-2025-1计算机基础与程序设计第五周作业)| |快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题 |作业正文|https://www.cnblogs.com/shr060414/p/18…

项目管理需要注意哪些要素

项目管理涉及多个关键要素,包括:一、项目目标;二、项目范围;三、项目计划和进度;四、资源分配与管理;五、质量控制;六、风险管理;七、变更管理。其中,项目目标是项目的核心,必须明确、具体且与组织的战略目标相一致。一、项目目标 项目目标是项目存在的意义和预期成果…

充电宝电池容量和额定容量有什么区别

充电宝的电池容量和额定容量是两个经常被混淆的概念,但它们之间存在明显的差异:1.定义不同;2.测试标准与方法有异;3.对用户实际使用的影响;4.标识方式不同;5.如何选择合适的充电宝。了解两者的区别可以帮助消费者更明智地购买和使用充电宝。1、定义不同 电池容量,通常指…

什么是无代码开发平台

无代码开发平台是一种提供了可视化操作和拖拽式组件的软件开发平台,旨在使应用程序的开发变得更加简单和快速,无需编写传统的代码。这类平台的目标是让非技术背景的用户也能够通过简单的操作和配置来创建应用程序,降低了软件开发的门槛,加速了应用开发的速度。一、无代码开…

DRF-Parser解析器组件源码分析和应用

1. 解析器源码分析 注意:以下源码为了方便理解已进行简化,只保留了解析器相关的代码 # 视图函数: class MyView(APIView):def post(self, request):print(self.request.data) # 触发解析流程return Response("ok")解析并获取数据的源码分析:获取解析器的源码分析…

AI之旅-开篇:从云计算之路到AI之旅,从搬上阿里云到留在阿里云

2024年的金秋十月,刚刚被开发者救活的园子在杭州云栖小镇,又写了一篇小学生作文,在经过十一年之痒的纠结之后,做了一个重要决定——继续留在有巨多人使用的阿里云,基于阿里提供的AI服务,建设AI时代的新园子,开启AI之旅2012年的金秋十月,刚刚遭遇服务器硬件故障的园子在…