BEVDet:High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View 论文笔记

原文链接:https://arxiv.org/pdf/2112.11790.pdf

1 引言

        如下图所示,本文提出的BEVDet包含4个部分,即图像编码器(提取图像特征)、视图转换器(将图像视图转化为BEV)、BEV编码器(进一步提取BEV特征)和检测头(BEV下检测3D物体)。

        由于BEVDet在BEV空间的过度拟合能力,以及使用多视图数据导致的数据不足,训练时出现了过拟合。仅对图像进行数据增广时,仅在移除BEV编码器后能带来性能提升,这是因为视图转换器以像素对像素的方式将图像与BEV连接,而导致了数据增广的解耦。故文章在图像和视图转化器输出的BEV特征图上均进行数据增广操作。

        此外,本文改进了非最大抑制(NMS)策略,并通过移除顺序操作加快推断过程。由此,BEVDet实现了精度和速度的平衡。

3 方法

3.1 网络结构

        图像编码器:为了利用多分辨率特征,图像编码器包含高级特征提取主干和多分辨率特征融合的颈部。

        视图转换器:类似Lift-Splat-Shoot的方法,即先从图像以分类的方式预测密集的深度,从而得到点云,然后通过z轴方向上的池化操作生成BEV特征。

        BEV编码器:结构与图像编码器类似,包含主干和颈部。但其需要感知高精度的线索如尺寸、朝向和速度。

        检测头:直接使用CenterPoint的检测头,而不使用第二阶段的细化。

3.2 数据增广策略

        独立视图空间:设图像像素坐标p_{\textup{image}}=[x_i,y_i,1]^T对应深度d,相机内参为I,则相应的3D坐标为

p_{\textup{camera}}=I^{-1}(p_{\textup{image}}\ast d)

        常规数据增广操作如翻转、裁剪、旋转可表达为3\times3的变换矩阵A,即{p}'_{\textup{image}}=Ap_{\textup{image}}。注意在视图转换时,为保证空间一致性,需要进行逆变换,即{p}'_{\textup{camera}}=I^{-1}(A^{-1}{p}'_{\textup{image}}\ast d)=p_{\textup{camera}}。因此对图像进行数据增广操作,不会对BEV特征的空间分布产生影响。

        BEV空间数据增广:由于多视图图像在BEV进行了特征融合,BEV编码器的学习数据比图像编码器的学习数据少。翻转、缩放和旋转被应用于BEV特征图的数据增广(同时对视图转换器的输出以及检测目标进行操作以保证空间一致性)。注意该增广方法需要视图转换解耦的条件,因此其余方法可能不适用。

3.3 尺度NMS

        在图像平面进行2D检测时,物体的边界框可能有较大交叉;但在BEV平面上,实例边界框之间的重叠应该接近0。且小型物体的边界框尺寸可能小于BEV分辨率,常规方法会产生不相交的冗余检测,如下图所示。

        为解决上述问题,本文提出尺度NMS方法,首先根据预测类别放缩物体,再进行NMS操作。合适的放缩率通过验证集上的超参数搜索选取。

4 实验

4.1 实验设置

        本文使用nuScenes数据集及其标准评价指标。

        本文通过将视图转换器的累加和操作替换为其等价实现,从而加速推断(见4.3节最后)。

4.2 实验结果

        本文方法若使用低分辨率图像输入,可以达到其余方法(使用高分辨率图像)相近的性能,但速度快上许多;若使用相同的高分辨率图像输入,可以以相近的速度达到好很多的性能。

        在nuScenes验证集上,BEVDet在位置、尺寸、朝向和速度的估计上准确率高,但在属性的估计上相比于基于图像的3D检测准确率较低。这可能是由于属性判断依赖于外观线索,更容易在图像中感知。结合两种视图可能是一个有前途的方法。

        在nuScenes测试集上,BEVDet能达到使用激光雷达预训练视觉检测模型的相当性能,且与基于激光雷达的经典3D检测方法PointPillars性能相当。

4.3 消融研究

        数据增广:仅使用BEV编码器而不适用任何数据增广的方法(A)性能最差,且很早就开始过拟合。如果仅加上图像数据增广(B),能延缓过拟合出现时间,但未过拟合时的最优性能甚至不如A方法。若仅加上BEV数据增广(C),能更有效地减轻过拟合,且最优性能超过A方法。这说明BEV数据增广比图像数据增广更加有效。同时使用两种数据增广(D)的过拟合时间和性能均最大,且过拟合现象很弱。

        若上面四种方法(A~D)均移除BEV编码器(对应方法E~H):D和H比较可得BEV编码器能提高性能;比较E和F可知,图像数据增广仅在无BEV编码器时有正面效果。这表明BEV编码器有强感知能力,仅在BEV数据增广下才能避免过拟合。

        尺度NMS:与普通的NMS以及CenterPoint中提出的环形NMS比较,尺度NMS在小物体的检测精度上有很大提升,其余物体也有一定提升。

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

        加速:该加速是基于Lift-Splat-Shoot用图像产生的点云形状是固定的,因此每个点可以预先分配一个体素索引,用于指示其属于哪一个体素。

        本文的改进如下图所示,除了点的体素索引,还建立辅助索引,用于统计每个体素索引的出现次数。然后将点分配到2D矩阵上,沿辅助轴求和。

        如果推断时相机的内外参不变,每个点的体素索引和辅助索引均是固定的,在初始化阶段即可预先计算;但此方法会带来额外空间需求,且该空间与体素数量和最大辅助索引值有关。本文设定一个辅助索引最大值N,辅助索引值超过N的点被丢弃,而几乎不会对性能产生影响。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
bytegraph是字节跳动开发的一款高性能分布式图数据库。图数据库是一种使用图结构存储和处理数据数据库管理系统,适用于处理大量相互关联的数据和复杂的数据查询。 bytegraph具有以下特点: 1. 高性能:bytegraph使用分布式架构,可以水平扩展以应对更大规模的数据和负载。它采用了一系列的优化技术,如基于图模型的数据划分和存储方式、高效的图查询算法等,以实现快速的数据访问和处理。 2. 分布式:bytegraph采用了分布式存储和计算的架构,可以将数据分布在多台机器上,实现数据的并行处理和高可用性。通过数据的分区和复制,bytegraph可以提供良好的数据可靠性和容错能力。 3. 灵活的数据模型:bytegraph支持灵活的图数据模型,可以存储和处理复杂的数据结构和关系。它基于标签-属性模型,标签表示数据的类型,属性表示数据的属性值。用户可以根据自己的需求定义和使用不同的标签和属性,以适应各种数据场景。 4. 大数据处理:bytegraph适用于处理大规模的数据集。它具有高效的图遍历和查询算法,可以快速地进行复杂的数据查询和分析。同时,bytegraph支持图计算框架,并与字节跳动的分布式计算平台进行了紧密集成,可以更好地支持大规模图计算任务。 5. 应用广泛:bytegraph可以应用于各种领域,如社交网络分析、推荐系统、知识图谱构建等。它能够帮助用户从海量的图数据中提取有价值的信息,支持复杂的数据挖掘和分析任务。 综上所述,bytegraph是一款高性能的分布式图数据库,具备分布式、灵活的数据模型和大数据处理能力,应用广泛于各种领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值