接上篇文章:毫米波雷达视觉融合3D目标检测论文综述一
paper | 发表地方 | 融合方法 | 代码链接 | backbone | NDS | mAP |
---|---|---|---|---|---|---|
RCBEV4d | TIV2023 | 特征级融合 | - | Swin-T | 0.497 | 0.381 |
MVFusion | ICRA2023 | 特征级融合 | - | R101 | 0.455 | 0.380 |
CRN | ICCV2023 | 特征级融合 | pytorch | R50 | 0.560 | 0.490 |
上篇主要介绍的基于关联方法的图像和雷达融合的3d目标检测算法,这里介绍剩下的自适应融合的方法。
一、RCBEV: Bridging the View Disparity Between Radar and Camera Features for Multi-Modal Fusion 3D Object Detection
出发点: 之前的基于特征融合的方法大都将雷达点投影到图像平面,之后进行特征提取后融合,但是这种将3D空间的雷达点投影到图像平面会导致感知信息的丢失,作者针对这个问题设计了一个针对3D目标检测的Radar和Vision融合网络。
文章主要分为四部分: 雷达点处理,图像处理,融合模块以及分类头的设计
-
雷达点处理:如上图所示,首先将 t − n t-n t−n时刻的雷达帧通过变换矩阵转换到 t t t时刻,之后利用过滤核过滤掉一些雷达噪声点,接着利用点云特征提取网络(VoxelNet或者Pointpillars)来提取BEV特征,考虑到不同时刻物体的偏差,作者利用时序模型来融合不同时刻的BEV特征。具体公式如下:
-
图像处理:如上图所示,首先利用Backbone和FPN提取图像特征,之后利用LSS转换到BEV空间形成BEV特征
-
融合模块:如上图所示,分别对 B E V r a d a r BEV_{radar} BEVradar和 B E V i m g BEV_{img} BEVimg特征进行上采用和下采样处理,得到相同尺度的特征,之后将两个模态特征进行拼接后送入到卷积层来得到融合特征,最后通过一层卷积来得到所预测的热力图;
同时利用初始雷达信息,通过高斯核生成雷达相关的热力图,将两个热力图相乘经过卷积层来的到最后的热力图。 -
3D检测头:该部分将上述得到的热力图通过卷积得到预测热力图(预测结果)用于之后的损失计算。分类损失和回归损失如下:
二、MVFusion: Multi-View 3D Object Detection with Semantic-aligned Radar and Camera Fusion
出发点: 目前大多数融合方法只是将雷达特征和图像特征进行拼接,没有考虑图像和雷达在语义关系上的对齐同时也忽略了两个模态数据之间的相关性。
文章主要包括五个部分:雷达点处理,图像特征提取,语义对齐与雷达编码模块,模态融合模块以及3D检测头
-
雷达点处理:首先利用3D框过滤掉框之外的点(认为该部分点为噪声点),之后为了减弱雷达回波不准确的问题,在垂直方法将雷达点进行扩展生成radar pillar,之后将radar pillar投影到图像平面,如上图右上角部分。
-
图像特征提取:利用Backbone+FPN结构来提取多帧图像的特征
-
语义对齐与雷达编码模块:语义对齐部分作者将生成的雷达特征上采样和图像本身进行拼接后,利用1*1卷积将特征通道映射到1通道新城语义鉴别器,之后和上述所生成的雷达图像进行拼接之后送入到雷达特征提取网络(如上图所示),在提取完雷达特征后输入到多头自注意力模型中来获取雷达特征间的关系(如下图所示)。
-
模态融合模块:为了更好的将雷达信息融合到图像中,作者设计了Cross-Attention模块,将radar和image特征拼接作为Q,图像特征作为K,V。(如上图所示,开始不理解为什么用Radar和Image拼接起来作为Key,感觉应该利用Radar作为Key,后来在消融实验部分作者发现直接将Radar作为Key模型很难收敛。)
-
3D检测头:和之前一样,分别进行分类和回归。
三、CRN: Camera Radar Net for Accurate, Robust, Efficient 3D Perception
出发点:由于目前从透视视角转换到BEV空间下的时候深度信息是估计出来的,会导致转换得到的BEV上的位置不准确,因此作者通过引入毫米波雷达准确的深度信息来减缓该问题,同时考虑到转换到BEV空间后图像特征和毫米波雷达特征不对齐的问题,作者引入了Deformable Transformer来处理该问题。
作者首先回顾了从图像空间转换到BEV空间的方法:自下而上,自上而下
自下而上的方式:
- 为每个像素预测深度信息
- 利用该深度信息从像素空间转换到视锥空间
- 利用相机内外参转换到BEV空间
可以通过公式表示: F 3 D ( x , y , z ) = M ( F 2 D ( u , v ) ⊗ D ( u , v ) ) F_{3D}(x,y,z)=M(F_{2D}(u,v)\otimes D(u,v)) F3D(x,y,z)=M(F2D(u,v)⊗D(u,v)),M表示相机的内外参矩阵的乘积
自上而下:通过利用Cross attention的方式自上而下的学习BEV空间的特征: F 3 D ( x , y , z ) = f ( P x y z , F 2 D ( u , v ) ) F_{3D}(x,y,z)=f(P_{xyz},F_{2D}(u,v)) F3D(x,y,z)=f(Pxyz,F2D(u,v))
该文中作者通过利用雷达信息改进第一种方式来处理深度信息不准确的问题。
论文主要包括两个部分:雷达辅助的视角转换,多模态特征聚合
- 雷达辅助的视角转换: 首先将雷达点投影到图像上,雷达点在投影的过程中会产生深度,所以在转换到视锥视角的时候在深度方向的值是较为准确的,也就是作者所说的(d,u,v)其中d不是估计出来的,而是再转换过程中得到的,但是由于雷达本身没有高度信息,因此转换到图像平面后在高度上信息不准确,继而转到视锥空间值也不是准确的,因此将v(高度方向)设置为1,只考虑深度和宽度,这里可以理解成将视锥体从上往下压扁。这里得到的特征是ND1W,我理解的是,对于雷达点可以获取到相对准确的D和W,所以此时这个矩阵是稀疏的,只有包含有雷达点的位置才有数值。这里相当于获取到了雷达对应的视锥体。
之后利用PointNet以及稀疏卷积来提取特征 F p F_p Fp,之后与LSS方法类似,分别利用该特征获取到雷达特征以及深度概率分布(Radar Occupancy),这里的深度概率矩阵就不像图像预测出来随机性那么高,应该比较准确。公式如下
之后与LSS相似,通过将特征与深度概率相乘获取到每个像素应该更加注重那个深度值,由于雷达所预测的深度概率为ND1W因此将图像特征在V方向上求和得到和雷达深度概率特征相同大小的特征,之后用相同的方法获取到相机视角的特征。之后将图像在相机视角的特征在v方向上求和后与雷达在相机视角的特征进行拼接,最后得到的特征大小为NCDHW(我感觉这里是N2CD1W)。雷达也做相同的处理,只是不和图像进行融合。
最后将雷达特征和图像特征利用Voxel Pooling转换到BEV空间。 - 多模态特征聚合 利用Deformable Cross Attention来进行模态的特征融合,为了减少计算量,只是利用前K个特征来产生query。
- 实验结果
最近出现的一些工作: 毫米波雷达视觉融合3D目标检测论文综述(三)