TransFusion论文笔记

论文名称:TransFusion: Robust LiDAR-Camera Fusion for 3D Object Detection with Transformers
论文链接:https://arxiv.org/pdf/2203.11496v1.pdf
代码链接:https://github.com/xuyangbai/transfusion

1 引言

TransFusion论文笔记_第1张图片

图1

图1所示,左图是照明较差的例子,右图是由于点云的稀疏性,使得用相机参数进行hard-association的融合方式浪费了许多图像特征,同时对相机参数很敏感,因为投影点可能由于较小的校准误差而落在物体外部。
针对以上问题,论文提出了一种基于注意力的对齐和融合方式,对图像退化和标定矩阵具有鲁棒性。
三个创新点:

  • soft-association mechanism(用注意力机制SMCA对齐和融合)
  • image-guided query initialization strategy(用图像引导object queries初始化)
  • transformer-based LiDAR-camera fusion model

2 方法

TransFusion论文笔记_第2张图片

图2. TransFusion 流程图

TransFusion 的流程如图2所示,重点是融合方法:给定 LiDAR BEV 特征和图像特征,tranformer 检测头利用 LiDAR 信息,结合初始化的object queries进行第一次预测,得到初始预测initial predictions,然后将object queries和对应的图像特征融合,得到融合特征。

2.1 初始化Query

每个object query包含了query positionquery feature,分别包含物体位置信息和边界框信息。

2.1.1 Input-dependent

提出了基于中心热力图初始化object queries的方法,使其与输入相关,从而具有更好的先验信息,只需要 1层 transformer decoder 就能达到好的效果,加快了收敛速度。假设 LiDAR BEV 特征为 F L ∈ R X × Y × d F_L\in \mathbb{R}^{X \times Y\times d} FLRX×Y×d,则初始化步骤如下:

  • 基于 BEV 特征预测中心热力图 S ^ ∈ R X × Y × K \hat{S}\in \mathbb{R}^{X\times Y\times K} S^RX×Y×K,其中 X , Y X,Y X,Y 是 BEV 特征的尺度, K K K 是类别数。
  • 对所有类别,每个8连通区域只保留一个最大值,然后选出前 N 个分数最高的,作为候选位置,表示该位置存在物体,并包含对应的类别,记为 S ^ i , j , k \hat{S}_{i,j,k} S^i,j,k(位置 i , j i,j i,j,属于第 k k k 类),每个候选位置用于初始化位置编码query positions,对应 BEV 特征作为初始query features。因此,初始的 queries 会接近可能存在的物体中心,所以能减少 decoder 层。

2.1.2 Category-aware

与2D平面不同,BEV 平面中同类物体尺度很接近,这个性质有利于进行多类别检测,所以对于每个 S ^ i , j , k \hat{S}_{i,j,k} S^i,j,k,先用 one-hot 类别向量通过线性层映射得到 R d \mathbb{R}^d Rd 向量(category embedding),再把 S ^ i , j , k \hat{S}_{i,j,k} S^i,j,k对应的query featurecategory embedding按元素相加,得到 category-aware query features。

2.2 Transformer Decoder and FFN

TransFusion论文笔记_第3张图片

图3. Transformer decoder

decoder 的设计与 DETR 中一致,如图3所示,左图用于第一次预测,右图用于模态融合。
第一个解码器层:
query position通过MLP 编码为 d d d 维向量,作为位置编码,然后与query feature按元素相加。queries 最终通过解码器和FFN,得到3D边界框和类别。与CenterPoint一样,FFN预测的是相对于queries 的中心偏移量 δ x , δ y \delta_x,\delta_y δx,δy、边界框高 z z z、尺度 l o g ( l ) , l o g ( w ) , l o g ( h ) log(l),log(w),log(h) log(l),log(w),log(h)、航向角 s i n ( α ) , cos ⁡ ( α ) sin(\alpha),\cos(\alpha) sin(α),cos(α)、速度 v x , v y v_x,v_y vx,vy,同时为 K K K 类预测概率 p ^ ∈ [ 0 , 1 ] K \hat{p}\in [0,1]^K p^[0,1]K,每部分的参数都是由1x1卷积计算得到。最终输出: { b ^ t , p ^ t } t N \{\hat{b}_t,\hat{p}_t\}_t^N {b^t,p^t}tN b ^ t \hat{b}_t b^t 是第 i i i 个 query 对应的预测边界框, p ^ t \hat{p}_t p^t 是对应的类别。
在第一个解码器层后加FFN,进行监督学习,是使用了使用了辅助损失函数。注意,除了2.5节的方法,目前为止还没使用到图像。

2.3 LiDAR-Camera Fusion

2.3.1 图像特征

point-fusion 的方法中,由于点云的稀疏,融合时会导致损失大量图像语义信息,所以论文在图像像素和点云之间使用soft association,保留了所有图像特征 F C ∈ R N v × H × W × d F_C\in R^{N_v\times H\times W\times d} FCRNv×H×W×d,作为memory bank N v N_v Nv 是视角个数。

2.3.2 用SMCA进行融合

使用cross-attention机制,建立soft association,使得网络能够自适应地决定需要从图像中获取哪些信息。首先用第一次预测结果和相机矩阵找到 object queries 所在的图像,然后在对应的图像特征和 object queries 做cross attention。由于点云和图像特征来自不同的domain,要使得queries 落在与3D边界框相关的图像区域,需要很长的收敛时间,所以论文设计了spatially modulated cross attention (SMCA)模块。
实现方法是通过生成一个weight mask M M M,按元素乘以 cross-attention map,使得每个query 只关注3D投影在图像平面的2D边界框区域。 M M M生成方法如下:
M i j = e x p ( − ( i − c x ) 2 + ( j − c y ) 2 σ r 2 ) M_{ij}=exp(-\frac{(i-c_x)^2+(j-c_y)^2}{\sigma r^2}) Mij=exp(σr2(icx)2+(jcy)2)
其中 ( i , j ) (i,j) (i,j) 是位置索引, ( c x , c y ) (c_x,c_y) (cx,cy) 是2D中心,由3D中心投影到图像平面得到, r r r 是3D边界框投影的最小外切圆的半径, σ \sigma σ 是调整高斯分布宽度的超参数。

2.4 标签分配和损失函数

与DETR 中相同,使用二分图匹配进行正样本匹配,匹配损失如下:
C m a t c h = λ 1 L c l s ( p , p ^ ) + λ 2 L r e g ( b , b ) ^ + λ 3 L i o u ( b , b ^ ) C_{match}=\lambda_1L_{cls}(p,\hat{p})+\lambda_2L_{reg}(b,\hat{b)}+\lambda_3L_{iou}(b,\hat{b}) Cmatch=λ1Lcls(p,p^)+λ2Lreg(b,b)^+λ3Liou(b,b^)
其中 L c l s L_{cls} Lcls 用二元交叉熵损失, L r e g L_{reg} Lreg 在预测的BEV中心和 ground truth 中心用L1损失(都归一化到 [ 0 , 1 ] [0,1] [0,1]), L i o u L_{iou} Liou 是预测框和真实框的IoU损失。未匹配到的预测框则为负样本。
给定所有样本,分类损失用 focal loss,回归损失用 L1 loss(只对正样本),热力图损失用 CenterPoint 中的 penalty-reduced focal loss,总损失是三部分的加权和,两个解码器层的标签分配策略和损失函数一致。

2.5 Image-Guided Query Initialization

TransFusion论文笔记_第4张图片

图4. 用两种模态信息初始化query

加入图像信息初始化query,能进一步提高检测小物体的能力。 首先将图像特征 F C ∈ R N v × H × W × d F_C\in R^{N_v\times H\times W\times d} FCRNv×H×W×d 映射到 BEV 平面,再与 BEV 特征 F L F_L FL 做 cross-attention,得到 LiDAR-camera BEV 特征 F L C F_{LC} FLC。具体如下:
图4所示,将多视角的图像特征(图中只画了一个)在高度维度压缩,作为 K , V K,V K,V序列,与 LiDAR BEV 特征做 cross-attention,得到 F L C F_{LC} FLC,之后与2.1节类似,预测热力图,再与只用 LiDAR 得到的热力图 S ^ \hat{S} S^ 取平均,得到最终的热力图 S ^ L C \hat{S}_{LC} S^LC,用 S ^ L C \hat{S}_{LC} S^LC 选择和初始化 object queries使用更先进的将图像特征映射到BEV平面的方法可能可以提高性能。

3 实验

2D骨干网络用 DLA34,3D骨干网络用 VoxelNet。

你可能感兴趣的:(论文阅读)