特征级融合_自动驾驶多传感器融合技术浅析
文章转自公众号:计算机视觉之路
原文链接:
头条 | 自动驾驶多传感器融合技术浅析mp.weixin.qq.com
自动驾驶车上使用了多种多样的传感器,不同类型的传感器间在功用上互相补充,提高自动驾驶系统的安全系数。为了发挥不同传感器优势,融合技术起着关键的作用,现对多传感器融合技术(指前融合)按照下图方式进行分类。
按照融合阶段分:
- 单阶段融合:指在整个融合算法流程的数据阶段或者cnn网络中某一个特征提取层进行相关数据或者特征的融合,代表有:PointPainting[1],LaserNet++[2]
- 多阶段融合:指在整个融合算法流程的不同特征提取层进行特征融合,代表有:ContFusion[3]
- Proposal融合:这种融合方式一般在多阶段的检测方法中使用,使用第一阶段proposal得到的候选框,在目标框级别进行相关传感器的特征融合。代表有:AVOD[4],F-PointNets[5],MV3D[6]
按照融合传感器的分类方式相对好理解,比较常见的是Lidar与Camera的融合,当然车上的任何一个传感器理论上都可以融合使用,后面再详细介绍。
在offline融合算法流程设计上,需要解决两个核心问题:如何做数据/特征投影?如何设计融合网络?下面按照融合阶段的分类方式对融合算法的两个核心问题进行总结分析。
一、单阶段融合
这种融合算法最容易理解,也最容易实现。下面用PointPainting[1]和LaserNet++[2]为例说明。
PointPainting[1]
整个算法流程如上图所示,在融合网络结构设计上并非end-to-end训练方式,分成了2个阶段,第一阶段,对camera数据做语义分割,第二阶段,将激光雷达点云与语义信息相结合做3D目标检测。通过特征投影将两个阶段联系起来,也就是图中的第二步:Point Painting。
这个投影过程也分为两步,首先在源数据上建立点云与图像像素间的对应关系,这个对应关系可以通过多传感器的标定参数计算得到:P(camera)=K*T*P(lidar),其中K为相机的内参,T为lidar到camera的标定参数,如下式,由于不同传感器获得数据是有一些时间差,通过自车的定位信息做出补偿即可。第二步则在此对应关系的基础上,将语义分割网络的输出与点云特征concatenate,得到3D目标检测网络的输入。
LaserNet++[2]
LaserNet++[2]设计了一个end-to-end的融合网络,如上图所示,分别用两个网络来提取camera数据与lidar点云的特征,然后通过特征投影,将两种特征通过相加的方式组合成新的特征,再使用lasernet[7]完成3D目标检测。
投影过程也是分为两步,首先在源数据上建立camera/range view图像与图像像素的对应关系,然后再利用对应关系得到两种传感器相对应的特征。Lasernet++[2]在做点云特征提取时,使用了camera/rang view的表达方式,因此,建立点云与图像像素对应关系也分为两步:
- 计算点云与range view图像的对应关系,如下式,其中p为点云坐标,
- 2)计算点云与图像像素的对应关系,如下式,其中(u,v)为图像坐标,p为点云坐标,K为相机内参,R和t为从lidar坐标到camera坐标变换的旋转矩阵和平移矩阵。
大家可以发现单阶段融合都是从源数据出发建立不同传感器的数据对应关系,然后在特征级别融合。为什么说这个方法相对简单,因为这种数据对应关系最少是单向一一对应,如稀疏点云的点可以一一对应到图像的像素点上,因此在做特征融合时不需要很复杂的处理,仅使用数据这种单向一一对应关系便可以融合。
二、多阶段融合
多阶段融合方法以ContFusion[3]为例,相对单阶段融合,这种方法会复杂一些,主要复杂在融合特征的提取上。
融合网络结构设计
整体网络结构如上图所示,比较清晰,是一个end-to-end网络,分成了4个部分:camera特征提取(黄色区域)、特征融合(蓝色区域)、lidar特征提取(粉色区域)、检测输出(浅绿色区域)。这种设计的好处就是可以dense的融合两种信息,但是问题也很明显,效率不怎么高。
特征投影-continuous fusion
这个投影关系的建立整体上来说分成2大步:建立源数据投影关系、提取融合特征。具体如上图所示分成了5步:
- 作者在lidar特征提取时使用了bev表达,我们知道bev上的像素点与点云并不是一一对应的,bev图是很稀疏的,因此作者使用了KNN的方式,获得bev图上每一个像素对应的K个点云
- 将bev图下得到的k个最近邻的点反投影回点云坐标
- 建立点云点与图像像素的对应关系,建立方式和单阶段融合的方式相同
- 由于lidar点投影到图像素坐标为浮点数,因此需要通过插值得到投影点的特征向量
- 通过mlp得到图像特征与几何特征的融合特征,计算方式如下式所示,其中fj为j点的图像特征,x为点云3D坐标,xj-xi为j点与目标点i点距离差。最后hi与lidar点云特征相加得到最终的融合特征。
ContFusion[3]融合方式中KNN的参数选取很关键,k值和d值对最终结果影响较大,k和d都不易太大,太大会融合远处点云点的信息,干扰当前点的特征表达,模型效果变差。Continuous convolution[8]增加了整个模型的复杂度。
三、Proposal融合
这种融合方法主要出现在多阶段检测方法中,在投影方面不再涉及源数据投影,或者特征投影,涉及的是3D框的投影;网络结构设计上,使用常见的two-stage detector的设计方式,这里不做重点介绍。另外这种融合方式有点儿像后融合,如果设计的网络结构不是end-to-end训练方式,也可以作为后融合方法,如F-PointNets[5],这里不介绍后融合方法。AVOD[4]是在MV3D[6]的基础上提出的,框的投影方式是类似的。下面根据MV3D[6]对框的投影方式介绍一下:
如上图所示,为MV3D[6]的网络结构,其中3D proposal由bev网络得到,然后将其分别投影到不同的特征表达图上:bev,range view,camera,计算方式如下式,然后在不同传感器的特征图上roi align得到不同的特征并融合在一起。
T是3D框到不同特征表达图v的投影。
对于AVOD[4]来说,框的投影有两次,如下图所示,一次是使用3D anchor,avod在提取proposal时,仅对含有点云的anchor单独判断是否有目标,在这个地方与常见的two-stage detector不同;第二次是proposal,即3D候选框.。
四、总结
以上针对融合阶段这种分类方式对多传感器融合技术做了简单的分析,重点分析了多传感器融合技术中的两个核心问题:数据/特征投影,融合网络设计。
- 投影方式决定了融合算法能否end-to-end训练,而end-to-end训练能使模型得到更好的结果,如在PointPainting方法中,作者认为由于PointPainting[1]没有使用end-to-end训练,会造成该方法无法得到最好的结果。
- 对于融合网络设计,主要考虑融合特征的提取,或融合方式的设计,是数据/单层特征融合,还是多层特征融合,还是目标级特征融合?正如MV3D[6]中讨论的early fusion、deep fusion、late fusion:deep fusion相对另外两种融合方式在精度上可以提高0.5个百分点,但是在实际应用时,还需要考虑speed vs accuracy平衡的问题。
另外,以上融合方法都是Lidar与Camera的融合,其他传感的融合方法后面会继续介绍。关注公众号:计算机视觉之路,敬请留意。
五、参考文献
- PointPainting: Sequential Fusion for 3D Object Detection
- Sensor Fusion for Joint 3D Object Detection and Semantic Segmentation
- Deep Continuous Fusion for Multi-Sensor 3D Object Detection
- Joint 3D Proposal Generation and Object Detection from View
Aggregation - Frustum PointNets for 3D Object Detection from RGB-D Data
- Multi-View 3D Object Detection Network for Autonomous Driving
- LaserNet: An Efficient Probabilistic 3D Object Detector for Autonomous Driving
- Deep Parametric Continuous Convolutional Neural Networks
最后,本公众号后续会逐步分享以上相关内容。大家可以关注微信公众号:计算机视觉之路,点击“原创干货”,直接获得“自动驾驶”与“cv通用算法”的介绍。其中“cv通用算法”版块主要涉及最新的视觉通用算法,而“自动驾驶”版块则是更贴近环境感知算法应用的相关技术,如下图所示。
特征级融合_自动驾驶多传感器融合技术浅析相关推荐
- 摄像头和激光雷达都被蒙蔽?UCI首次提出针对自动驾驶多传感器融合感知的攻击...
作者丨汪宁非 编辑丨机器之心 来自加州大学尔湾分校(UC Irvine)的研究者发现,L4 自动驾驶里用的最广泛的用来提高系统鲁棒性的多传感器融合感知(Multi-Sensor Fusion base ...
- 万字综述|自动驾驶多传感器融合感知
原文地址:万字综述 | 自动驾驶多传感器融合感知 翻译:种争青 校稿:董亚微 00 摘要 多模态融合是自动驾驶系统感知的一个基本任务,最近引起了许多研究者的兴趣.然而,由于原始数据的噪声.信息的未充分 ...
- 单目摄像头光学图像测距_自动驾驶汽车传感器技术解析——车载摄像头
智能驾驶汽车之眼 车载摄像头是实现众多预警.识别类ADAS功能的基础.在众多ADAS功能中,视觉影像处理系统较为基础,而摄像头又是视觉影像处理系统的输入,因此车载摄像头对于智能驾驶必不可少. 摄像头可 ...
- 红外倒车雷达原理图_自动驾驶汽车传感器技术解析—毫米波雷达
毫米波雷达的优势在全天候工作,即不良天气.夜晚等环境下可以发挥作用,而激光雷达会受雨雪雾霾的影响:并且毫米波雷达测距远,200 米以上都轻易胜任,但是分辨率低.较难成像,无法识别图像. 由于毫米波雷达 ...
- 特征级融合_自动驾驶系统入门(七)- 多传感器信息融合
1.MISF - Multi-sensor Information Fusion 基础解析 1.1 基本概念 利用计算机技术将多传感器或多源的信息和数据,在一定的准则下加以自动分析和综合,以完成所需的 ...
- 自动驾驶多模态传感器融合的综述
作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/470588787 编辑丨3D视觉工坊 arXiv在2022年2月6日上传的综述论文"Multi-modal ...
- 自动驾驶多传感器融合
12月28日,百度Apollo平台携手国内激光雷达公司禾赛科技扔下一颗名为Pandora的重磅炸弹,此举将极大地加快无人驾驶落地的进程,却也会让不少自动驾驶初创公司陷入无比尴尬的境地. 简单地说,Pa ...
- 自动驾驶多传感器融合定位的相机选型建议
目录 0 引言 1 明确研究内容 1.1 课题研究目的 1.2 明确技术领域 1.3 使用环境 2 了解各种相机基本知识 2.1 相机类 ...
- 自动驾驶——多传感器融合的学习笔记
1 多传感器融合算法的选择--使用EKF 因为Apollo使用的是EKF,所以我们也用EKF,(具体的资料可以查看issues_10957) <无人驾驶>课程的贾老师推荐的论文<EK ...
最新文章
- 机械转嵌入式还是it?学嵌入式好还是java好?
- ECCV20 3D目标检测新框架3D-CVF
- 为什么美国程序员工作比中国程序员工作轻松、加班少?
- SpringMVC + Apache POI 实现WEB中Excel下载功能
- 无锁数据结构二-乱序控制(栅栏)
- 探秘react,一文弄懂react的基本使用和高级特性
- 使用LDAP保护Java EE6中的Web应用程序
- python基础知识学习笔记(1)
- linux下搭建博客day3-git安装
- uni-app 行内样式动态背景图 :style 绑定
- 架构师资源汇总 从入门到精通 将近20年的工作经验毫无保留分享
- 【软考软件评测师】2016综合知识历年真题
- Proteus 8.9SP2仿真软件
- 河南省第六届ACM程序设计大赛(共7道,目前只做了三道。待续)
- Pivotal 任命Lionel Lim为Pivotal公司副总裁兼亚太区常务董事
- android svc编解码,SVC(可分层视频编解码)技术详解
- python连接mysql orm_Python通过ORM方式操作MySQL数据库
- android自定义水波纹,Android自定义控件实现水波纹效果
- strick-footer 粘边布局
- 通过CTFShow例题掌握爆破方法
热门文章
- 格式工厂kux转换为mp4软件 工具 怎么转【已解决】
- Basler的pylon安装
- 东北大学金工实习考试及答案
- [bugku]sqlmap部分
- 外汇交易中:什么最重要
- mysql导入csv文件 第一行有问题_mysql 导入 csv文件中数据,只能导入第一行
- mysql 统计历史累计数据,每天的数据需要进行累加
- word打印技巧:几个节省纸张的打印设置方法
- php 预缓存,WordPress太耗资源?WP Super Cache详细设置教程 为WordPress开启全站预缓存...
- 计算机技术竞技活动社会实践,信息与计算机学院暑期社会实践队伍介绍