多模态融合 2022|DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection阅读笔记

论文题目:DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection(前融合)
单位:google
注:4D-Net和3D-CVF也研究了lidar和相机两个模态特征的对齐问题

1.摘要+intro
前融合的方法有pointpainting(用相机特征装饰点云)和EPNet(融合特征提取后的中层特征)两大流派。但这两类方法融合深度lidar特征和相机特征带来一个问题,由于这些特征通常是增强和聚集的,不能很有效地对齐来自两个模态的特征(对齐即是要找到激光雷达和摄像机特征的对应关系)。作者认为通过Pointpainting的方法进行融合会存在"voxelization对相机特征不适用;domain gap;额外计算代价;额外标签问题;特征是启发式(根据经验发现的方法)选择的而不是通过端到端学习得到的“等问题,问题产生的原因是由于camera的特征提取器是从其他任务中单独学到的如这里就是用的deeplab分割。为了实现有效的中层特征融合解决提到的问题,作者提出了名为Deepfusion的模型,主要基于InverseAug(为了解决几何相关数据增强带来的图像和LIDAR特征对齐问题)和LearnableAlign(为了动态捕获图像和LIDAR特征之间的相关性)这两个方法。

2.特征对齐的难点
作者提出对齐特征是有挑战性的,首先第一个挑战是在融合前一般方法都会对两个模态的数据进行数据增强。如采用沿z轴旋转3D世界坐标系的RandomRotation 数据增强方法,通常对激光雷达点使用,但不适用于相机图像,对lidar点做完这个数据增强后就会使得两个模态的特征更加难以对齐。第二个挑战是因为一个体素包含了很多lidar点,造成了一个体素对应多个相机特征,但这么多的相机特征有些并不是很重要,所以得挑选重要的相机特征。

3.method
3.1 深度特征融合pipeline
为了解决Pointpainting存在的”voxelization对相机特征不适用“的问题,作者融合了相机和激光雷达的深度特征而不是在输入层的那一步装饰raw lidar points,这样就使得相机信号不会经过专门为点云设计的模块(voxelization)。为了解决Pointpainting存在的”domain gap;额外计算代价;额外标签问题;特征是启发式(根据经验发现的方法)选择的而不是通过端到端学习得到的“的问题,作者使用卷积层来提取相机特征,然后以端到端的方式将这些卷积层与网络的其他组件一起训练。这个pipeline解决了之前提到的问题,不过作者觉得自己的这个方法还是存在一定的缺点:与输入级装饰方法相比,将camera与激光雷达信号在深层特征级别上对齐变得不那么直接了,所以提出了后续对齐的改进方案。
在这里插入图片描述
3.2 对齐质量对结果的影响
作者通过几何相关的数据增强(这里用的是 RandomRotation)来调整对齐的难易程度,因为越强的几何相关数据增强会导致越差的对齐。通过实验发现对齐对于深度特征融合至关重要,如果对齐不准确,则从camera输入中获得的好处将变得微乎其微。

3.3 增强对齐的质量
作者提出了两种技术,InverseAug和LearnableAlign来有效地对两个模态的深度特征进行对齐。
1)InverseAug
数据增强是多模态融合中一定要有的,因为从前人的研究发现可以带来模型的效果提升。但因为使用原始的激光雷达和相机参数不能在2D空间中定位数据增强后的lidar对应的相机特征。作者为了使得定位可以实现,当应用几何相关数据增强时,InverseAug首先保存增强参数(例如,RandomRotate数据增强方法的旋转度)。然后在融合阶段,反转所有这些数据增强来获得最原始的3d关键点(注意只反转关键点,如体素中心点)坐标。然后找到和3d点坐标对应的2d相机坐标。
在这里插入图片描述
2)LearnableAlign
对于PointPainting的输入级装饰方法来说,给定一个3d的lidar点,只会对应唯一的那一个相机像素。但因为在作者提出的pipeline是融合的两个模态的深度特征,每个激光雷达特征代表一个包含点的子集的体素,因此其对应的相机像素是多边形的(即会对应很多个像素)。所以就有了one-voxel-to-many-pixels的问题。有一个naive的想法就是对给定体素相对应的那些所有相机像素求平均,这样就会得到一个one-voxel-to-one-pixel的结果,但存在一个问题就是这些像素并不是同等重要的,很显然求平均不是一个很好的解决方法。所以作者最后利用交叉注意机制来动态捕获两个模态之间的相关性,更好地将来自激光雷达特征的信息与最相关的相机特征对齐(最后也是变成one-voxel-to-one-pixel)。LearnableAlign使用三个全连接的层来分别将体素变换为query Q1,并将相机特征变换为keys Kc和values Vc。最后经过交叉注意力聚合的camera的values,再经过全连接的层进行处理,最后与原始激光雷达特征concat起来。最后将输出送入任何标准的3D检测框架,如PointPillars或CenterPoint进行模型训练。

4.结果
在这里插入图片描述
Ens:model ensemble

猜你喜欢

转载自blog.csdn.net/Rolandxxx/article/details/123629129#comments_26022977