[论文阅读]DeepFusion

DeepFusion

Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection
用于多模态 3D 物体检测的激光雷达相机深度融合
论文网址:DeepFusion
论文代码:DeepFusion

摘要

激光雷达和摄像头是关键传感器,可为自动驾驶中的 3D 检测提供补充信息。现在流行的多模态方法只是简单地用相机特征装饰原始激光雷达点云,并将它们直接输入到现有的 3D 检测模型,但本文的研究表明,将相机特征与深度激光雷达特征而不是原始点融合,可以带来更好的效果。然而,由于这些特征经常被增强和聚合,融合的一个关键挑战是如何有效地对齐两种模态的转换后的特征。本文提出了两种新颖的技术:InverseAug,它反转几何相关的增强(例如旋转),以实现激光雷达点和图像像素之间的精确几何对齐;LearnableAlign,它利用交叉注意力来动态捕获图像和激光雷达之间的相关性融合过程中的特征。基于 InverseAug 和 LearnableAlign,本文开发了一系列通用的多模态 3D 检测模型,名为 DeepFusion,它比以前的方法更准确。例如,DeepFusion 将行人检测的 PointPillars、CenterPoint 和 3D-MAN 基线分别改进为 6.7、8.9 和 6.2 LEVEL 2 APH。

引言

激光雷达和摄像头是自动驾驶的两种互补传感器。对于 3D 物体检测,激光雷达提供低分辨率形状和深度信息,而相机提供高分辨率形状和纹理信息。虽然人们期望这两种传感器的组合能够提供最佳的 3D 物体检测器,但事实证明,大多数最先进的 3D 物体检测器仅使用激光雷达作为输入 。这表明如何有效地融合这两个传感器的信号仍然具有挑战性。
在这里插入图片描述
文献中融合激光雷达和相机的现有方法大致遵循两种方法(图 1):它们要么在早期阶段融合特征,例如用相应的相机特征装饰激光雷达点云中的点 ,或者他们使用中级融合,其中特征在特征提取后组合 。这两种方法中最大的挑战之一是找出激光雷达和相机功能之间的对应关系。为了解决这个问题,我们提出了两种方法:InverseAug 和 LearnableAlign,以实现有效的中级融合。 InverseAug 反转几何相关的数据增强(例如,RandomRotation ),然后使用原始相机和激光雷达参数来关联两种模态。 LearnableAlign 利用交叉注意力来动态学习激光雷达特征与其相应的相机特征之间的相关性。这两种提出的技术简单、通用且高效。给定一种流行的 3D 点云检测框架,例如 PointPillars 和 CenterPoint ,InverseAug 和 LearnableAlign 可以帮助相机图像以边际计算成本(即只有一个交叉注意层)有效地与激光雷达点云对齐。当融合对齐的多模态特征时,相机信号具有更高的分辨率,显着提高了模型的识别和定位能力。这些优点对于远距离物体检测特别有利。
本文开发了一系列名为 DeepFusions 的多模态 3D 检测模型,其优点是 (1) 可以进行端到端训练,(2) 是与许多现有的基于体素的 3D 检测方法兼容的通用构建块。 DeepFusion 作为一个插件,可以轻松应用于大多数基于体素的 3D 检测方法,例如 PointPillars 和 CenterPoint。
本文大量实验表明,(1) 有效的深度特征对齐是多模态 3D 目标检测的关键,(2) 通过本文提出的 InverseAug 和 LearnableAlign 提高对齐质量,DeepFusion 显着提高了检测精度,(3) 与单模态基线 DeepFusion 相比,对于输入损坏和分布外数据具有更强的鲁棒性。
在 Waymo 开放数据集上,DeepFusion 将 PointPillars 、CenterPoints 和 3D-MAN 等几种流行的 3D 检测模型分别改进了 6.7、8.9 和 6.2 LEVEL 2 APH。在 Waymo 开放数据集上取得了最先进的结果,在验证集上,DeepFusion 比之前最好的多模态方法 PointAugmenting 提高了 7.4 行人 LEVEL 2 APH。这一结果表明,本文的方法能够有效地结合激光雷达和相机模式,其中最大的改进来自于远程物体的识别和定位。
本文贡献:

  • 本文是第一个系统研究深度特征对齐对 3D 多模态检测器的影响的论文;
  • 本文提出 InverseAug 和 LearnableAlign 来实现深度特征级对齐,从而实现准确且鲁棒的 3D 目标检测器;
  • 本文提出的模型 DeepFusions 在 Waymo 开放数据集上实现了最先进的性能。

相关工作

点云上的 3D 物体检测. : 激光雷达点云通常表示为无序集,并且许多 3D 目标检测方法倾向于直接处理此类原始无序点。 PointNet 和 PointNet++ 是直接在点云上应用神经网络的早期开创性工作。紧随其后,[Starnet,pointrcnn,Ipod]也通过类似PointNet的层学习特征。激光雷达点云也可以表示为密集范围图像,其中每个像素都包含额外的深度信息。 [Lasernet] 直接处理范围图像来预测 3D 边界框。
另一组 3D 检测方法将激光雷达点转换为体素或pillar,从而产生两种更常用的 3D 检测方法:基于体素的方法和基于pillar的方法。 VoxelNet 提出了一种基于体素的方法,它将点云离散化为 3D 网格,每个子空间称为体素。然后可以将密集的 3D 卷积网络应用于该网格来学习检测特征。 SECOND 基于 VoxelNet 构建,并建议使用稀疏 3D 卷积来提高效率。由于 3D 体素的处理成本通常很高,PointPillars和 PIXOR 进一步将 3D 体素简化为鸟瞰 2D 柱,其中具有相同 z 轴的所有体素都折叠为单个柱。然后可以使用现有的 2D 卷积检测网络处理这些 2D 柱,以生成鸟瞰边界框。由于 2D 柱通常易于处理且快速,因此许多最近的 3D 检测方法都是基于 PointPillars 构建的。本文也选择 PointPillar 作为处理激光雷达点云的基线方法。
激光雷达相机融合. : 单目检测方法不依赖激光雷达点云,而是直接从 2D 图像预测 3D 框。这些方法的一个关键挑战是 2D 图像没有深度信息,因此大多数单目检测器需要隐式或显式预测每个 2D 图像像素的深度,这通常是另一个非常困难的任务。最近,有一种趋势是结合激光雷达和摄像头数据来改进 3D 检测。一些方法首先检测 2D 图像中的对象,然后使用该信息进一步处理点云。之前的工作也使用两阶段框架来执行以对象为中心的模态融合。与这些方法相比,本文的方法更容易插入到大多数现有的基于体素的 3D 检测方法中。
点装饰融合. : PointPainting 提出用相机图像的语义分数来增强每个激光雷达点,这些图像是通过预先训练的语义分割网络提取的。 PointAugmenting 指出了语义分数的局限性,并提出使用从相机图像之上的 2D 对象检测网络提取的深层特征来增强激光雷达点。如图 1 (a) 所示,这些方法依赖于预训练模块(例如 2D 检测或分割模型)从相机图像中提取特征,这些特征用于装饰原始点云,然后输入激光雷达特征体素化器构建鸟瞰伪图像。
中级融合. : Deep Continuous Fusion 、EPNet 和 4D-Net 尝试通过共享 2D 和 3D 主干网之间的信息来融合两种模式。然而,这些工作中一个重要的缺失部分是相机和激光雷达特征之间的有效对齐机制,本文的实验证实这是构建有效的端到端多模态 3D 物体检测器的关键。即使知道特征对齐的重要性,由于以下原因,这样做仍然具有挑战性。首先,为了在现有基准(例如 Waymo 开放数据集)上实现最佳性能,在融合阶段之前将各种数据增强策略应用于激光雷达点和相机图像。例如,沿z轴旋转3D世界的RandomRotation[Voxelnet]通常应用于激光雷达点,但不适用于相机图像,这使得后续的特征对齐变得困难。其次,由于场景中多个激光雷达点聚合成同一个3D立方体,即体素,一个体素对应多个相机特征,而这些相机特征对于3D检测来说并不同等重要。

DeepFusion

在本节中,首先介绍本文的深度特征融合pipeline。然后,进行了一组初步实验来定量说明特征对齐对于深度特征融合的重要性。最后,提出了两种技术,InverseAug 和 LearnableAlign,来提高对齐质量。

Deep Feature Fusion Pipeline

深度特征融合管道
如图 1(a)所示,以前的方法,例如 PointPainting 和 PointAugmenting ,通常使用经过额外训练的检测或分割模型作为相机特征提取器。例如,PointPainting 使用 Deeplabv3+ 生成每像素分割标签作为相机特征。然后,用提取的相机特征装饰原始激光雷达点。最后,将经过相机特征修饰的激光雷达点输入到 3D 点云目标检测框架中。
由于以下原因,上述pipeline是可以改进的。首先,相机功能被输入到几个专门用于处理点云数据的模块中。例如,如果采用PointPillars作为3D检测框架,则需要将相机特征与原始点云一起体素化以构建鸟瞰伪图像。然而,体素化模块并不是为处理相机信息而设计的。其次,相机特征提取器是从其他独立任务(即 2D 检测或分割)中学习的,这可能会导致(1)域间隙,(2)注释工作,(3)额外的计算成本,更重要的是,(4 )次优提取的特征,因为特征是启发式选择的,而不是以端到端的方式学习的。
为了解决上述两个问题,本文提出了一种深度特征融合pipeline。为了解决第一个问题,本文融合深度相机和激光雷达特征,而不是在输入级别装饰原始激光雷达点,以便相机信号不会通过为点云设计的模块。对于第二个问题,本文使用卷积层来提取相机特征,并以端到端的方式与网络的其他组件一起训练这些卷积层。总而言之,本文提出的深度特征融合流程如图 1 (b) 所示:将激光雷达点云输入现有的激光雷达特征提取器(例如,来自 PointPillars 的 Pillar 特征网络)以获得激光雷达特征(例如,来自 PointPillars 的伪图像 );将相机图像输入 2D 图像特征提取器(例如 ResNet )以获得相机特征;然后,将相机特征与激光雷达特征融合;最后,融合的特征由所选激光雷达检测框架的其余组件(例如来自Pointpillars 的Backbone和Detection Head)进行处理以获得检测结果。
与以前的设计相比,本文的方法有两个好处:(1)具有丰富上下文信息的高分辨率相机特征不需要被错误地体素化,然后从透视图转换为鸟瞰图; (2)领域差距和注释问题得到缓解,并且由于端到端训练可以获得更好的相机特征。然而,缺点也很明显:与输入级修饰相比,在深层特征级别上将相机特征与激光雷达信号对齐变得不那么简单。例如,两种模态的异构数据增强导致的不准确对齐可能会给融合阶段带来潜在的挑战。在第 3.2 节中,本文验证了错位确实会损害检测模型,并在第 3.3 节中提供了解决方案。

Impact of Alignment Quality

对齐质量的影响
为了定量评估对齐对深度特征融合的影响,本文禁用所有其他数据增强,但仅在训练期间将 RandomRotation 的幅度扭曲到深度融合pipeline的激光雷达点云。实验设置的更多详细信息可以在补充材料中找到。由于仅增强激光雷达点云但保持相机图像不变,因此更强的几何相关数据增强会导致更差的对齐。如表 1 所示,多模态融合的好处随着旋转角度的增大而减小。例如,当不应用增强时(最大旋转=0°),改进是最显着的(+2.6 AP);当最大旋转为 45° 时,仅观察到 +0.4 AP 增益。基于这些观察,得出结论,对齐对于深度特征融合至关重要,如果对齐不准确,那么相机输入的好处就会变得微乎其微。
在这里插入图片描述

Boosting Alignment Quality

提高对准质量
鉴于对齐深度特征的重要性,本文提出了两种技术,InverseAug 和 LearnableAlign,来有效地对齐两种模态的深度特征。
InverseAug. 为了在现有基准上获得最佳性能,大多数方法都需要强大的数据增强,因为训练通常会陷入过度拟合的情况。从表1中可以看出数据增强的重要性,其中单模态模型的精度最多可以提高5.0。此外,[Improving 3d object detection through progressive population based augmentation] 还提出了数据增强对于训练 3D 目标检测模型的重要性。然而,数据增强的必要性对 DeepFusion pipeline提出了不小的挑战。具体来说,来自两种模式的数据通常采用不同的增强策略进行增强(例如,针对 3D 点云沿 z 轴旋转,结合针对 2D 图像的随机翻转),使得对齐具有挑战性。
为了解决几何相关数据增强引起的对齐问题,本文提出了 InverseAug。如图2所示,将数据增强应用于点云后,给定增强空间中的3D关键点(可以是任意3D坐标,例如激光雷达点、体素中心等),对应的相机特征无法得到只需使用原始激光雷达和相机参数即可在 2D 空间中进行定位。为了使定位可行,InverseAug 在应用几何相关的数据增强时首先保存增强参数(例如 RandomRotate 的旋转度)。在融合阶段,它反转所有这些数据增强以获得3D关键点的原始坐标(图2(c)),然后在相机空间中找到其对应的2D坐标。请注意,本文的方法是通用的,因为它可以对齐不同类型的关键点(例如体素中心),尽管为了简单起见仅采用图 2 中的激光雷达点,并且它还可以处理两种模态都增强的情况。相比之下,现有的融合方法(例如PointAugmenting )只能处理增强之前的数据。最后,在图 3 (b) 中展示了 InverseAug 对齐质量改进的示例。
在这里插入图片描述
在这里插入图片描述
LearnableAlign. 对于输入级装饰方法,例如 PointPainting 和 PointAugmenting ,给定 3D 激光雷达点,由于存在一对一映射,因此可以准确定位唯一对应的相机像素。相比之下,当在 DeepFusion 管道中融合深度特征时,每个激光雷达特征代表一个包含点子集的体素,因此其相应的相机像素位于多边形中。因此,对齐变成了一个体素到多个像素的问题。一种简单的方法是对与给定体素对应的所有像素进行平均。然而,直观地看,正如可视化结果所支持的那样,这些像素并不同样重要,因为来自激光雷达深度特征的信息与每个相机像素的对齐程度不同。例如,某些像素可能包含检测的关键信息,例如要检测的目标对象,而其他像素可能信息量较少,由背景(例如道路、植物、遮挡物等)组成。
为了更好地将来自激光雷达特征的信息与最相关的相机特征对齐,本文引入了 LearnableAlign,它利用交叉注意力机制来动态捕获两种模态之间的相关性,如图 1 所示。具体来说,输入包含一个体素单元,及其所有相应的 N 相机功能。 LearnableAlign 使用三个全连接层分别将体素转换为查询 ql,将相机特征转换为键 kc 和值 vc。对于每个查询(即体素单元),在查询和键之间进行内积以获得注意力亲和度矩阵,该矩阵包含体素与其所有对应的 N 个相机特征之间的 1 × N 相关性。通过 softmax 算子进行归一化,然后使用注意力亲和度矩阵来加权和聚合包含相机信息的 vc 值。然后聚合的相机信息由全连接层处理,最后与原始激光雷达特征连接。输出最终被输入到任何标准 3D 检测框架中,例如用于模型训练的 PointPillars 或 CenterPoint。

结论

本文研究如何有效融合激光雷达和相机数据以进行多模态 3D 物体检测。研究表明,后期的深度特征融合在对齐良好时会更加有效,但是对齐来自不同模态的两个深度特征具有挑战性。为了应对这一挑战,本文提出了两种技术:InverseAug 和 LearnableAlign,以实现多模态特征之间的有效对齐。基于这些技术,开发了一系列简单、通用但有效的多模态 3D 检测器,名为 DeepFusions,它在 Waymo 开放数据集上实现了最先进的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/241585.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式linux_C应用学习之API函数

1.文件IO 1.1 open打开文件 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);pathname&#xff1a;字符串类型&#xff0c;用于标…

Node.js基础知识点(五)- http

一.request 请求事件处理函数 var http require(http)var server http.createServer() request 请求事件处理函数&#xff0c;需要接收两个参数&#xff1a; Request 请求对象 请求对象可以用来获取客户端的一些请求信息&#xff0c;例如请求路径 Response 响应对象 响应对…

泥石流识别摄像机

泥石流是一种自然灾害&#xff0c;经常给人们的生命和财产带来严重威胁。因此&#xff0c;研发泥石流识别摄像机成为一种急迫需求。这类摄像机的主要功能是实时监测泥石流的形成和运动&#xff0c;及早发现泥石流的迹象&#xff0c;从而及时采取应急措施。 泥石流识别摄像机的设…

lenovo联想笔记本电脑拯救者Legion Y7000 2019 PG0(81T0)原装出厂Windows10系统

链接&#xff1a;https://pan.baidu.com/s/1fn0aStc4sfAfgyOKtMiCCA?pwdas1l 提取码&#xff1a;as1l 联想拯救者原厂Win10系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;…

Linux上新部署的项目jar包没有生效

今天公司新安排了一个项目&#xff0c;这里简称项目A&#xff0c;需要新增两个功能&#xff0c;我这边完成之后&#xff0c;跟前端对接好了&#xff0c;调试也没有问题。 然后把项目打包上传到测试服务器上&#xff0c;重新启动项目&#xff0c;发现项目A新增的接口没有生效&a…

【办公类-21-01】20240117育婴员操作题word合并1.0

背景需求&#xff1a; 最近学校组织老师们学习“育婴员”高级&#xff0c;每周学习2题操作&#xff0c;所以我是把每个学习内容单独做在一个word文件里 上周8套保健操作学完了&#xff0c;需要整理&#xff0c;并将8份Word文件合并 第一步&#xff1a;doc装docx 合并时程序报…

QT上位机开发(MFC vs QT)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在qt之前,上位机开发的主要方法就是mfc。后来出现了c#语言之后,上位机的开发就有一部分人转成了c#。这些开发都是在windows平台完成的,而linux上面的界面,则都是通过各种小众库…

深度学习中Numpy的一些注意点(多维数组;数据类型转换、数组扁平化、np.where()、np.argmax()、图像拼接、生成同shape的图片)

文章目录 1多维数组压缩维度扩充维度 2numpy类型转换深度学习常见的float32类型。 3数组扁平化4np.where()的用法5np.argmax()6图像拼接7生成同shape的图片&#xff0c;指定数据类型 1多维数组 a.shape(3,2);既数组h3&#xff0c;w2 a.shape(2,3,2);这里第一个2表示axis0维度上…

C++后端笔记

C后端笔记 资源整理一、高级语言程序设计1.1 进制1.2 程序结构基本知识1.3 数据类型ASCII码命名规则变量间的赋值浮点型变量的作用字符变量常变量 const运算符 二、高级语言程序设计&#xff08;荣&#xff09; 资源整理 C后端开发学习路线及推荐学习时间 C基础知识大全 C那…

SPI 动态服务发现机制

SPI&#xff08;Service Provier Interface&#xff09;是一种服务发现机制&#xff0c;通过ClassPath下的META—INF/services文件查找文件&#xff0c;自动加载文件中定义的类&#xff0c;再调用forName加载&#xff1b; spi可以很灵活的让接口和实现分离&#xff0c; 让API提…

『MySQL快速上手』-⑩-索引特性

文章目录 1.索引的作用2.索引的理解建立测试表插入多条记录查看结果 2.1 MySQL与磁盘交互的基本单位2.1 为何IO交互要是 Page2.3 理解单个Page2.4 理解多个Page2.5 页目录2.6 单页情况2.7 多页情况2.8 B vs B2.9 聚簇索引 vs 非聚簇索引非聚簇索引聚簇索引 3.索引操作3.1 创建主…

冻结Prompt微调LM: T5 PET (a)

T5 paper: 2019.10 Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer Task: Everything Prompt: 前缀式人工prompt Model: Encoder-Decoder Take Away: 加入前缀Prompt&#xff0c;所有NLP任务都可以转化为文本生成任务 T5论文的初衷如…

macOS安装VMware Fusion 13试用版本

1.下载: Download VMware Fusion | VMware 保存到桌面 下载成功: 双击dmg文件运行安装 安装成功 <

选择安全数据交换系统时 要考虑哪些因素?

安全数据交换系统是一种专门设计用于在不同的网络环境&#xff08;如内部不同网络&#xff0c;内部网络和外部网络&#xff09;之间安全传输数据的解决方案。它通常包括一系列的技术和流程&#xff0c;旨在确保数据在传输过程中的完整性、机密性和可用性。 安全数据交换系统可以…

3d模型未响应打不开怎么办---模大狮模型网

在进行3D建模和设计工作时&#xff0c;有时可能会遇到3D模型无法打开的情况&#xff0c;这给工作流程带来了困扰。本文将为您介绍一些常见的原因以及解决3D模型未响应无法打开问题的方法。 一、文件格式检查 首先&#xff0c;确保您使用的文件格式与所使用的软件兼容。不同的3…

小白数学建模 Mathtype 7.7傻瓜式下载安装嵌入Word/WPS以及深度使用教程

数学建模Mathtype的下载安装嵌入Word/WPS以及深度使用教程 一 Mathtype 的下载安装1.1 安装前须知1.2 下载压缩包1.3 安装注册 二 嵌入Word/WPS2.1 嵌入Word2.1.1 加载项嵌入 Word2.1.2 宏录制嵌入 Word 2.2 嵌入 WPS2.2.1 加载项嵌入 WPS2.2.2 宏录制嵌入 WPS 2.3 嵌入时报错解…

论文笔记(三十九)Learning Human-to-Robot Handovers from Point Clouds

Learning Human-to-Robot Handovers from Point Clouds 文章概括摘要1. 介绍2. 相关工作3. 背景3.1. 强化学习3.2. 移交模拟基准 4. 方法4.1. Handover Environment4.2. 感知4.3. 基于视觉的控制4.4. 师生两阶段培训 (Two-Stage Teacher-Student Training) 5. 实验5.1. 模拟评估…

JVM工作原理与实战(二十):直接内存

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、直接内存 1.直接内存作用 二、在直接内存上创建数据 总结 前言 JVM作为Java程序的运行环境&#xff0c;其负责解释和执行字节码&#xff0c;管理内存&#xff0c;确保安全&…

【计算机网络】HTTP协议以及简单的HTTP服务器实现

文章目录 一、HTTP协议1.认识URL2.urlencode和urldecode3.HTTP协议格式4.HTTP的方法5.HTTP的状态码6.HTTP常见Header7.重定向8.长连接9.会话保持10.基本工具 二、简单的HTTP服务器实现1.err.hpp2.log.hpp3.procotol.hpp4.Sock.hpp5.Util.hpp6.httpServer.hpp7.httpServer.cc8.总…

目标文献分析方法

如何正确选题&#xff1f; 不仅仅是题目&#xff0c;而是研究工作的起步选题步骤&#xff1f; 发现问题选择方向调查研究分析论证确定选题 中国知网 深度学习方向词 1检索&#xff1a;深度学习 医疗影像 1 发表时间要最新 2 显示50个&#xff0c;全选 3 导出文献格式Ref 4 导…