CFT:Multi-Camera Calibration Free BEV Representation for 3D Object Detection——论文笔记

Posted m_buddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CFT:Multi-Camera Calibration Free BEV Representation for 3D Object Detection——论文笔记相关的知识,希望对你有一定的参考价值。

参考代码:暂无

1. 概述

介绍:在相机数据作为输入的BEV感知算法中很多是需要显式或是隐式使用相机内外参数的,但是相机的参数自标定之后并不是一直保持不变的,这就对依赖相机标定参数的算法带来了麻烦。如何提升模型对相机参数鲁棒性,甚至是如何去掉相机参数成为一种趋势。对应的这篇文章完全去除了相机参数依赖,首先通过PA(position-aware enhancement)实现强大BEV空间位置编码,之后BEV空间位置编码与图像特征做cross attention实现BEV特征提取,这里的cross attention是针对特定区域的VA(view-aware attention),这个区域是通过相机空间布置位置作为先验进行划分的。这样通过上述的两个模块构建了一个高效的BEV空间特征提取网络,并且在内存占用和计算效率上有了较大提升。

对于相机参数的使用可以划分为如下几种使用方法:

  • 1)显式使用:通过内外参数建立3D空间和2D空间中的对应关系,并以此对应关系进行特征索引或提取,带来的好处是直观并且收敛速度快,但对相机参数很敏感。
  • 2)隐式使用:将内外参数隐式编码(embedding)并通过query的形式获取最后的特征表达,好处是对相机参数相对鲁棒。但是做query的维度不能太大(CVT的querysize为25),否则计算量和内存扛不住,太小也导致性能会被削减厉害。
  • 3)完全不使用:这类方法中完全抛弃了相机参数,通过构建attention机制实现BEV特征和图像特征的关联,从而得到BEV表达。但是这需要强大的position/content表达和cross attention算力,实际训练和部署中也会存在对应的问题。但是文章通过提出的PA和view-aware attention给出了一个可行方案。

按照以上三种相机使用方法进行划分,文中对现有的一些方法进行划分:

将文章的方法和其它一些方法对比相机参数鲁棒性:

一条近乎直线的变化,稳得一批。

2. 方法设计

2.1 网络pipeline

文章的网络pipeline见下图所示:

在上图中可以看到文章提出的两点改进PA和VA。其中PA是对位置编码进行强化,其使用了BEV 2D和content编码,并通过PA网络实现特征增强。

2.2 Position-aware Attention

PA的网络结构见下图所示:

对于BEV的2D query表示为 Q p ∈ R H b ∗ W b ∗ C p Q_p\\in R^H_b*W_b*C_p QpRHbWbCp,这个2Dquery会经过FFN网络和sigmoid激活之后用于表示BEV的高度信息
z r e f = N o r m ( S i g m o i d ( F F N ( Q r e f ) ) ) z_ref=Norm(Sigmoid(FFN(Q_ref))) zref=Norm(Sigmoid(FFN(Qref)))
自然这个高度信息也是可以添加实际监督约束(如L1 loss)的,不过文中后续实验表明显式添加约束可不需要。之后再经过正弦函数编码与BEV 2D query做融合:
Q e p = a d d ( M ⋅ Q r e f , Q p ) , M = F F N ( Q c ) , Q r e f = S i n u o i d a l ( z r e f ) Q_ep=add(M\\cdot Q_ref,Q_p),M=FFN(Q_c),Q_ref=Sinuoidal(z_ref) Qep=add(MQref,Qp),M=FFN(Qc),Qref=Sinuoidal(zref)
其中,BEV content query Q c ∈ R H b ∗ W b ∗ C s Q_c\\in R^H_b*W_b*C_s QcRHbWbCs,最后整个BEV的query表示为 Q c , Q e p Q_c,Q_ep Qc,Qepconcat的形式:
Q b e v = c a t ( Q c , Q e p ) Q_bev=cat(Q_c,Q_ep) Qbev=cat(Qc,Qep)
对于高度 z z z是否添加显式约束,可以看下图中标注或学习的 z z z和学习到位置编码之间的关系:

可以看到即使没有显式 z z z约束,使用文章的位置编码也能获得与显式约束类似的聚类结果。下表也验证了文中的PA和PA中是否显式约束 z z z带来的性能影响:

2.3 View-aware Attention

对于图像也会使用视图编码 P v P_v Pv、坐标位置编码 P x , P y P_x,P_y Px,Py和原图像特征 F s F_s Fs一同组合得到:
P i m a g e = c a t ( F s , P x , P y , P v ) P_image=cat(F_s,P_x,P_y,P_v) Pimage=cat(Fs,Px,Py,Pv)
将其reshape之后得到 P i m a g e ′ ∈ R N v ∗ H s W s ∗ C , C = C s + C p P_image^'\\in R^N_v*H_sW_s*C,C=C_s+C_p PimageRNvHsWsC,C=Cs+Cp,其会经过一个self-attention模块做特征增强。接下来便是文章减少计算量和内存消耗的步骤了,对 P b e v P_bev Pbev划分为4个小网格,如上面pipeline中所示的那样,得到 P b e v ′ ∈ R N v ∗ H b N H W b N W ∗ C , N H = N W = 2 , N v = N H ∗ N W P_bev^'\\in R^N_v*\\fracH_bN_H\\fracW_bN_W*C,N_H=N_W=2,N_v=N_H*N_W PbevRNvNHHbNWWbC,NH=NW=2,Nv=NHNW。同样对图像特征 P i m a g e ′ P_image^' 以上是关于CFT:Multi-Camera Calibration Free BEV Representation for 3D Object Detection——论文笔记的主要内容,如果未能解决你的问题,请参考以下文章

论文笔记之:Deep Attributes Driven Multi-Camera Person Re-identification

MatrixVT:Efficient Multi-Camera to BEV Transformation for 3D Perception——论文笔记

MatrixVT:Efficient Multi-Camera to BEV Transformation for 3D Perception——论文笔记

区块链快速入门——CFT(非拜占庭容错)共识算法

Features for Multi-Target Multi-Camera Tracking and Re-identification论文解读

CFT 模板错误:Fn::If 中未解决的条件依赖 UseDBSnapshot