论文阅读笔记-SparseBEV

阅读论文《SparseBEV: High-Performance Sparse 3D Object Detection from Multi-Camera Videos》

可能是没有前置知识的原因,这篇论文读起来有些非常困难。

阅读该论文时参考了王利民老师本人的知乎文章:[ICCV 2023] SparseBEV:高性能、全稀疏的纯视觉3D目标检测器 - 知乎 (zhihu.com)

零、前置知识

BEV: 鸟瞰视角,Bird’s Eye View,是一种从上方观看对象或场景的视角,就像鸟在空中俯视地面一样。在自动驾驶和机器人领域,通过传感器(如 LiDAR 和摄像头)获取的数据通常会被转换成 BEV 表示,以便更好地进行物体检测、路径规划等任务。

优势:

  1. 视角简化: BEV 将三维空间简化为二维,这样可以在计算和存储上节省大量资源。
  2. 视觉效果: BEV 提供了一种独特的视觉效果,使得场景中的物体和空间关系更加清晰可见。
  3. 方便处理: 在 BEV 中处理物体检测、跟踪和分类等任务相较于直接在原始 3D 数据中处理要简单得多。

Sparse 与 Dense: 对应稀疏与稠密

一、概述

对于 BEV 空间在 3D 物体检测应用的研究近几年来相当热门。应用方法可分为两种:Dense 与 Sparse.

Dense detector 需要构建密集 BEV 特征后再在 BEV 空间中执行对象检测,这面临复杂的视图转换和高计算成本的问题。Sparse detector 无需构建特征。通过初始化 3D 空间中的一组稀疏参考点来实现应用。常见的 Sparse detector 如 DETR3D,使用 3D 到 2D 投影将查询链接到图像特征。但 Sparse detector 性能比 Dense detector 差。

本文提出缩小这两种 detector 的关键是提高在 BEV 和图像空间中的适应性。一般来说,检测器应该能够自适应地聚合多尺度特征。

密集编码器通常采用 BEV 编码器来编码多尺度 BEV 特征,如带有 FPN 的残差块堆栈或具有多尺度、可变形注意力的 Transformer 编码器。稀疏检测器通常采用 MHSA(muti-head self attention)机制,但普通的 MHSA 具有全局感受野,缺乏明确的多尺度设计。在图像空间中,检测器应适应不同大小、不同类别的不同物体。这是因为物体在 3D 空间中有相似的尺寸,但它们在图像中可能差异很大。

本文提出了 SparseBEV ,是一种完全稀疏的检测器,但其性能优于一般的 Dense detector。其关键设计如下:

  1. 尺度自适应自注意力(scale-adaptive self attention),聚合具有自适应感受野的特征
  2. 自适应时空采样(adaptive spatio-temporal sampling),在查询指导下生成采样位置
  3. 自适应混合,使用查询中的动态权重对采样特征进行解码。

Sparse 在 nuScenes(自动驾驶数据集)上表现优越,在速度和精度上都超越了以前的所有方法。

二、背景

Transformer 及其注意力模块已广泛应用于计算机视觉任务,在对象检测中,DETR 是第一个基于可学习查询来预测对象并将检测视为集合预测问题的模型,随后的工作提出通过使用采样特征而不是使用全局特征来加速DETR 的收敛、采用动态卷积等一系列方法。本论文的工作遵循 query-based 的检测范例,并将其扩展到具有时间信息的 3D 空间。

单目 3D 检测(Monocular 3D object detection)将一幅图像作为输入,并输出预测的对象 3D 边界框。单目 3D 物体检测的一个重大挑战是如何将 2D 特征转移到 3D 空间。LiDAR 会首先估计输入图像的深度并构建伪点云。然后,伪点云被发送到基于 LiDAR 的检测模块;CaDDN 提出了一种完全可微的端到端网络,它学习像素级分类深度分布以预测 3D 空间中适当的深度间隔。还有的方法将 3D 坐标投影到 2D 图像上,并将它们解耦为 2D 属性(中心和分类)和 3D 属性。

BEV 检测旨在检测给定单视图或多视图 2D 图像的 BEV 空间中的对象。早期的工作基于单视图像,将2D特征转换到 BEV 空间并进行 3D 物体检测。

受 DETR 的启发,相关人员开展了基于稀疏查询的探究。 DETR3D 提出了一个自上而下的框架,从可学习的稀疏参考点集开始,并通过 3D 到 2D 迭代地转换。然而,这种 3D 到 2D 的投影阻碍了查询的感受野。PETR 系列则使用全局注意力来关注查询和图像特征之间的交互,并引入 3D 位置嵌入将 2D 特征编码为 3D 表示而无需显式投影。尽管取得了显着的改进,但全局注意力成本太高,掩盖了稀疏查询的优势,并且难以有效利用长期时间信息。相比之下,我们保留 DETR3D 的完全稀疏设计,并通过增强检测器的适应性来提高性能。

3.SparseBEV介绍

BEV

SparseBEV结构如上图所示。SparseBEV 是基于查询的,有 L 个解码器层。输入的混合型相机视频首先经过图像主干和 FPN 被逐帧处理提取特征,……,后面得到的这些查询通过自适应时空采样和自适应混合与图像特征交互,以进行 3D 对象预测。

3.1 关于查询

每个查询包括的内容有这些:

  1. 平移 $[x,y,z]$
  2. 维度 $[w,l,h]$
  3. 旋转角度 $θ$
  4. 速度 $[v_x,v_y]$

*现有 query-based 方法都用 reference point 作为 query.*每个查询会被初始为 BEV 空间中的 pillar(这是什么?),最初 $z$ 设置为 0,$h$ 设置为 $4$ m,初始速度设置为 $0$,其他参数($x,y,w,l,h$)来自随机高斯分布。同时本文遵循了 Sparse R-CNN,D-dim 查询特征会附加到每个查询,来编码更为丰富的实例特征。

3.2 尺度自适应自注意力

上面提到,密集 Dense BEV 的方法通常使用 BEV 编码器来编码多尺度 BEV 特征。比如 BEVDet 用 ResNet+FPN 组成 BEV Encoder 来提取多尺度的 BEV 特征,BEVFormer 则使用 Multi-scale Deformable Attention 来实现 BEV 空间的多尺度。

论文中的方法中并没有明确构建 BEV 特征,而是采用自注意力机制,使其发挥 BEV 编码器的作用。multi-head self attention 是全局感受野,不具备多尺度能力。因此提出了提出了尺度自适应注意力机制(SASA),在查询的指导下学习适当的感受野。
$$
D_{i,j}=\sqrt{(x_i-x_j)^2+(y_i-y_j)^2} \
Attn(Q,K,V)=softmax(\frac{QK^T}{\sqrt{d}}-\tau D)V
$$
其中,$D_{i,j}$ 表示两个 query 中心点之间的欧式距离,注意力机制要考虑查询特征之间的相似性和它们之间的距离。

$Q,K,V \in R^{N×d}$ 是查询本身,d 是通道维度。$\tau$ 表示感受野的控制系数,随着 $\tau$ 增大,远距离的 query 的注意力权重减小,感受野相应缩小。当 $\tau=0$ 时,SASA 退化为标准的拥有全局感受野的自注意力模块。这里的 $\tau$ 是通过对每个 query feature 使用一层 Linear 自适应生成的,并且每个 head 生成的 $\tau$ 都不同。

实际情况中, $\tau$会适应每个查询并且特定于每个头。假设有 H 个头,作者使用线性变换从给定的查询 $q\in R^d$ 生成特定的 $τ_1, τ_2, …, τ_H$。不同查询之间共享权重。

实验中发现,无论初始化如何,每个 head 生成的 $\tau$ 值在一定范围内呈现均匀分布,且该现象与 $\tau$ 的初始化无关。这表明 SASA 能够在不同 head 里进行不同尺度的特征聚合,与 FPN 的处理方式类似。尺度自适应自注意力 (SASA) 证明了 FPN 的必要性,同时 SASA 从查询中自适应地学习尺度,因此更加灵活。

且不同类别的物体所对应的 query 生成的 $\tau$ 值有着明显差异。大物体(例如公交车)对应 query 的感受野明显大于小物体对应 query(例如行人)的感受野。

3.3 自适应时空采样

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

请我喝杯咖啡吧~

支付宝
微信