作者丨花椒壳壳@知乎

来源丨https://zhuanlan.zhihu.com/p/485587275

编辑丨3D视觉工坊

论文标题:DeepFusion: Lidar-Camera Deep Fusion for Multi-Modal 3D Object Detection

作者单位:约翰霍普金斯大学,谷歌

论文:https://arxiv.org/abs/2203.08195v1

代码:https://github.com/tensorflow/lingvo/tree/master/lingvo

动机:目前多模态方法只是简单地用相机特征装饰原始激光雷达点云(图像特征提取后拼到对应的原始点云上),并将它们直接输入现有的3D检测模型,但我们的研究表明,融合相机特征与深激光雷达特征,而不是原始点,可以获得更好的性能。融合特征的话就要考虑到特征对齐的问题,还有多模态中普遍存在的数据增广问题。分别提出了LearnableAlign和InverseAug解决特征融合时候对齐(权重)和数据增广后的物理对齐。

1. DeepFusion

1.1. Deep Feature Fusion Pipeline

如上图所示,PointPainting等工作使用一个训练好的检测器或者分割模型作为Img的特征提取器。比如PointPainting采用的Deeplabv3+,生成逐像素分割标签作为相机特征。然后,利用提取的相机特征装饰原始激光雷达点。最后,将相机特征装饰的激光雷达点输入到三维点云目标检测框架中。

由于以下原因,上述架构是可以改进的。首先,相机的特征被输入到几个专门设计用于处理点云数据的模块中。例如,如果采用PointPillars作为3D检测框架,则需要将相机特征与原始点云一起进行体素化,构建鸟瞰图伪图像。然而,体素化模块并不是为处理相机信息而设计的。其次,相机特征提取器是从其他独立任务(如二维检测或分割)中学习来的,这可能会导致(1)域间隙,(2)标注工作,(3)额外的计算成本,更重要的是,(4)次优特征提取,因为特征是启发式选择的,而不是端到端学习的方式。

为了解决上述两个问题,我们提出了一个深度特征融合管道。为了解决第一个问题,我们融合了相机和激光雷达更深维度特征,而不是在输入级装饰原始激光雷达点,这样相机信号就不会经过为点云设计的模块。对于第二个问题,我们使用卷积层提取相机特征,并将这些卷积层与网络的其他组件端到端进行训练。综上所述,我们提出的深度特征融合管道如下图所示。

激光雷达点云被输入现有的激光雷达特征提取器(例如,Pillar Feature Net from PointPillars)获取激光雷达特征(例如,来自PointPillars[16]的pseudo image);将摄像机图像送入2D图像特征提取器(如ResNet)获取摄像机特征;然后,将摄像机特征与激光雷达特征融合;最后,将所选激光雷达检测框架的剩余分量(如Pointpillars中的Backbone和detection Head)进行融合特征处理,得到检测结果。

与之前的设计相比,我们的方法有两个优点:(1)高分辨率的相机功能,具有丰富的上下文信息,不需要错误的体素化,然后从透视视图转换为鸟瞰视图。(2)通过端到端训练,减轻了域差距和标注问题,可以获得更好的相机特征。然而,其缺点也很明显:与输入级装饰相比,将相机功能与激光雷达信号对齐在深层次特征层面上变得不那么直接。例如,两种模式的异质数据增强导致的不准确对齐可能会对融合阶段构成潜在的挑战。在1.2节中,我们验证了不对准确实会损害检测模型,并在1.3节提供了我们的解决方案。

1.2. Impact of Alignment Quality

为了定量评估特征对齐对深度特征融合的影响,我们在训练期间禁用所有其他数据增强,但只将RandomRotation的量级扭曲到我们深度融合管道的激光雷达点云上。更多实验设置的细节可以在补充材料中找到。增加激光雷达点云,但保持相机图像不变,转角越大,对齐效果越差。如表1所示,多模态融合的提高随着旋转角度的增大而减小。例如,当不应用增强时(最大旋转度= 0◦),改进是最显著的(+2.6 AP);当最大旋转45◦,只有观察到+0.4 AP增益。基于这些观察,我们得出结论,对齐是关键的深度特征融合,如果对齐不准确,从相机输入的好处变得很小。

1.3. Boosting Alignment Quality

鉴于深度特征对齐的重要性,我们提出了两种技术,InverseAug和LearnableAlign,以有效地将两种模式的深度特征对齐。

InverseAug (针对数据增广)

为了在现有的基准上获得最好的性能,大多数方法都需要强大的数据增强,因为训练通常属于过拟合场景。从表1可以看出数据增强的重要性,在表1中,通过数据增广,single-modal中精度可以提高5个点。此外,Cheng et al.[5]也提出了数据增强对训练的重要性三维物体检测模型。然而,数据增强的必要性给我们的深度融合计划带来了不小的挑战。具体来说,来自两种模式的数据通常会使用不同的增强策略进行增强(例如,3D点云沿着z轴旋转,而2D图像则随机翻转),这使得对齐具有挑战性。

为了解决几何相关数据增加引起的对齐问题,我们提出了InverseAug,如下图所示:

InverseAug

应用于点云数据增加之后,给定一个数据增强后的3d关键点(这可以是任意三维坐标,如激光雷达点、体素中心等),增强相应的相机功能不能位于2d空间通过使用原始激光雷达和摄像机参数。仅使用原始的激光雷达和相机参数无法在二维空间中定位相应的相机特性。为了使定位可行,当应用与几何相关的数据增广时,InverseAug首先保存了增强参数(比如旋转角),融合的时候,它会反转所有的数据来得到3D关键点的原始坐标(c),然后在相机空间中找到相应的2D坐标。请注意,我们的方法是通用的,因为它可以对齐不同类型的关键点(例如体素中心),尽管为了简单起见,我们在图2中只采用了激光雷达点,而且它还可以处理两种模式都被增强的情况。而现有的融合方法,如pointaugmentation[36],只能对增强前的数据进行处理。最后,我们在图3 (b)中展示了InverseAug提高对齐质量的一个例子。

LearnableAlign 比如使用体素方法,特征对齐融合的时候,一个体素对应的是一个像素块,这个时候如何进行对齐。一个简单的方法是平均所有像素对应于给定的体素。然而,从直观上看,并由我们的可视化结果支持,这些像素并不同等重要,因为来自激光雷达深度特征的信息不平等地对准每个相机像素。例如,一些像素可能包含检测的关键信息,如要检测的目标对象,而另一些可能信息较少,包括背景,如道路、植物、遮挡器等。

为了更好地将来自激光雷达特征的信息与最相关的相机特征相匹配,我们介绍LearnableAlign,它利用交叉注意机制来动态地捕获两个模式之间的相关性,如图1所示

具体来说,输入包含一个体素,以及它所对应的N个像素特征。LearnableAlign使用三个全连接层分别将体素转换为查询ql,将相机功能转换为键kc和值vc。然后就是注意力机制,通过softmax算子归一化,将注意力矩阵用于对包含摄像机信息的值vc进行加权和聚合。聚合后的相机信息被一个全连接层处理,最后与原始的激光雷达特征连接。输出最终被输入任何标准的3D检测框架。

2. Experiments

总结:感觉做了好多实验。。。。看这篇论文的时候感觉也没什么东西,一个数据增强的方法,很直观,就是记住点云是怎么变得,融合图像特征的时候把点云变回去找相对于的图像特征,激光雷达和相机外参上再乘上一个数据增广变换矩阵。融合特征对齐是一个注意力机制自适应特征融合的方法。看到实验部分我是真的惊了哈哈哈哈,好扎实!学到了!

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近5000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

CVPR 2022 | 室外多模态3D目标检测(DeepFusion)相关推荐

  1. DeepFusion:基于激光雷达和相机深度融合的多模态3D目标检测

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨安全与性能研究室 来源丨 同济智能汽车研究所 点击进入->3D视觉工坊学习交流群 编者按: ...

  2. Multi-Modal 3D Object Detection in Autonomous Driving: a Survey(自动驾驶中的多模态3D目标检测综述)论文笔记

    原文链接:https://arxiv.org/pdf/2106.12735.pdf 1.引言 1.1 单一传感器3D目标检测         基于图像的3D目标检测.低费用换来满意的性能.但存在遮挡. ...

  3. CVPR 2019 | Stereo R-CNN 3D 目标检测

    点击我爱计算机视觉标星,更快获取CVML新技术 本文来自知乎,52CV获作者heryms授权转载. https://zhuanlan.zhihu.com/p/58077936 CVPR 2019的文章 ...

  4. 【CVPR 2022】高分辨率小目标检测:Cascaded Sparse Query for Accelerating High-Resolution Smal Object Detection

    QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection 摘要: 动机: 实现: ...

  5. 史上最全综述:3D目标检测算法汇总!

    来源:自动驾驶之心 本文约16000字,建议阅读10+分钟 本文将演示如何通过阈值调优来提高模型的性能.本文的结构安排如下:首先,第2节中介绍了3D目标检测问题的定义.数据集和评价指标.然后,我们回顾 ...

  6. 自动驾驶中多模态三维目标检测研究综述

    摘要:过去几年,我们见证了自动驾驶的快速发展.然而,由于复杂和动态的驾驶环境,目前实现完全自动驾驶仍然是一项艰巨的任务.因此,自动驾驶汽车配备了一套传感器来进行强大而准确的环境感知.随着传感器的数量和 ...

  7. 最新综述:自动驾驶中的多模态三维目标检测

    ©PaperWeekly 原创 · 作者 | 张一帆 学校 | 华南理工大学本科生 研究方向 | CV,Causality Abstract 在过去几年,自动驾驶取得了蓬勃的发展,但是由于驾驶环境的复 ...

  8. 【利用MMdetection3D框架进行单目3D目标检测(smoke算法】

    利用MMdetection3D框架进行3D目标检测(smoke算法) 1.mmdetection3d 2.mmdetection3d安装 2.1 依赖 3.进行单目3D目标检测 1.mmdetecti ...

  9. 无人驾驶领域的3D目标检测综述

    论文阅读笔记<3D Object Detection for Autonomous Driving: A Review and New Outlooks> github链接:https:/ ...

最新文章

  1. Cisco3560交换机enable密码破解和恢复出厂设置
  2. LINQ简记(1):基本语法
  3. 华为这个事,是不是刷KPI?
  4. 计算机专业3d游戏设计,史塔福郡大学3D计算机游戏设计理学硕士研究生申请要求及申请材料要求清单...
  5. 3_数据分析—数据清洗及特征处理
  6. 大数据之-Hadoop3.x_MapReduce_序列化案例FlowDriver---大数据之hadoop3.x工作笔记0100
  7. [补档]noip2019集训测试赛(八)
  8. EntityFramework 6.x多个上下文迁移实现分布式事务
  9. linux查看默认启动服务
  10. 使用 tftp 无法向服务器上传文件问题解决
  11. PIE Engine系列1 遥感数据下载器的实现(含源码)
  12. AppScan安装使用
  13. UE4(VR)中3D世界内的UI模糊问题解决
  14. Flash:动画实例--球体弹跳
  15. 2022年机修钳工(中级)考试题库及模拟考试
  16. CTS、CTS Verify、GTS测试以及GMS认证介绍
  17. 『Reprint』GRADUAL
  18. SAP中重复制造生产计划编制——生产版本
  19. 一篇文章搞懂「低保真原型与高保真原型」
  20. 【Discuz】原系统进入论坛自动注册并进行登录

热门文章

  1. 第13章代码《跟老男孩学习Linux运维:Shell编程实战》
  2. 利用epoll写一个迷你的网络事件库
  3. php 正确的输出json格式
  4. 再译《A *路径搜索入门》之一
  5. Maven多模块项目中应用maven-tomcat-plugin热部署
  6. 包含多个段的程序01 - 零基础入门学习汇编语言29
  7. Linux下Apache日志分析工具--AWStats安装使用
  8. DDD领域驱动设计 — 贫血模型与充血模型
  9. 最牛逼的核心框架,没有之一!
  10. 计算机网络原理超详解说