文章目录

  • 1. 引言
  • 2. 多传感器标定
    • 2.1 标定场地
    • 2.2 相机到相机
    • 2.2 相机到多线激光雷达标定
    • 2.3 相机到毫米波雷达标定
    • 2.4 相机到IMU标定
    • 2.5 论文总结
  • 3. 数据层融合
    • 3.1 融合的传统方法
    • 3.2 深度学习方法
  • 4. 任务层融合
    • 4.1 传统之障碍物检测跟踪
    • 4.2 传统之多传感器定位
    • 4.3 深度学习之障碍物检测跟踪
    • 4.4 深度学习之定位

1. 引言

自动驾驶感知和定位中传感器融合成了无人驾驶领域的趋势,融合按照实现原理分为硬件层的融合, 如禾赛和Mobileye等传感器厂商, 利用传感器的底层数据进行融合;数据层, 利用传感器各种得到的后期数据,即每个传感器各自独立生成目标数据,再由主处理器进行融合这些特征数据来实现感知任务;任务层, 先由各传感器完成感知或定位任务, 如障碍物检测,车道线检测,语义分割和跟踪以及车辆自身定位等, 然后添加置信度进行融合。

2. 多传感器标定

传感器标定是自动驾驶的基本需求,良好的标定是多传感器融合的基础, 一个车上装了多个/多种传感器,而它们之间的坐标关系是需要确定的。

这个工作可分成两部分:内参标定和外参标定,内参是决定传感器内部的映射关系,比如摄像头的焦距,偏心和像素横纵比(+畸变系数),而外参是决定传感器和外部某个坐标系的转换关系,比如姿态参数(旋转和平移6自由度)。

摄像头的标定曾经是计算机视觉中3-D重建的前提,张正友老师著名的的Zhang氏标定法,利用Absolute Conic不变性得到的平面标定算法简化了控制场。

另外在自动驾驶研发中,GPS/IMU和摄像头或者激光雷达的标定,雷达和摄像头之间的标定也是常见的。不同传感器之间标定最大的问题是如何衡量最佳,因为获取的数据类型不一样:

另外,标定方法分targetless和target两种,前者在自然环境中进行,约束条件少,不需要用专门的target;后者则需要专门的控制场,有ground truth的target,比如典型的棋盘格平面板。

这里仅限于targetless方法的讨论,主要利用Apollo中的标定工具对标定各个传感器进行研究

2.1 标定场地

我们的标定方法是基于自然场景的,所以一个理想的标定场地可以显著地提高标定结果的准确度。我们建议选取一个纹理丰富的场地,如有树木,电线杆,路灯,交通标志牌,静止的物体和清晰车道线。下图是一个较好的标定环境示例:

2.2 相机到相机

智能车一般会有多个相机, 长焦距的用来检测远处场景(视野小), 短焦距检测近处(视野大).以Apollo的标定方法为例:
基本方法:根据长焦相机投影到短焦相机的融合图像进行判断,绿色通道为短焦相机图像,红色和蓝色通道是长焦投影后的图像,目视判断检验对齐情况。在融合图像中的融合区域,选择场景中距离较远处(50米以外)的景物进行对齐判断,能够重合则精度高,出现粉色或绿色重影(错位),则存在误差,当误差大于一定范围时(范围依据实际使用情况而定),标定失败,需重新标定(正常情况下,近处物体因受视差影响,在水平方向存在错位,且距离越近错位量越大,此为正常现象。垂直方向不受视差影响)。
结果示例:如下图所示,图2为满足精度要求外参效果,图3为不满足精度要求的现象,请重新进行标定过程。

2.2 相机到多线激光雷达标定

基本方法:在产生的点云投影图像内,可寻找其中具有明显边缘的物体和标志物,查看其边缘轮廓对齐情况。如果50米以内的目标,点云边缘和图像边缘能够重合,则可以证明标定结果的精度很高。反之,若出现错位现象,则说明标定结果存在误差。当误差大于一定范围时(范围依据实际使用情况而定),该外参不可用。

2.3 相机到毫米波雷达标定

基本方法:为了更好地验证毫米波雷达与相机间外参的标定结果,引入激光雷达作为桥梁,通过同一系统中毫米波雷达与相机的外参和相机与激光雷达的外参,计算得到毫米波雷达与激光雷达的外参,将毫米波雷达数据投影到激光雷达坐标系中与激光点云进行融合,并画出相应的鸟瞰图进行辅助验证。在融合图像中,白色点为激光雷达点云,绿色实心圆为毫米波雷达目标,通过图中毫米波雷达目标是否与激光雷达检测目标是否重合匹配进行判断,如果大部分目标均能对应匹配,则满足精度要求,否则不满足,需重新标定。

2.4 相机到IMU标定

虽然Apollo中没有, 但这是视觉slam中的常见传感器标定, 本人在近期会写一个相关的博客。
利用Kalibr 对 Camera-IMU 进行标定

2.5 论文总结

最近相关的标定方面的论文也出现了不少, 奇点的黄裕博士的知乎专栏有总结

3. 数据层融合

有些传感器之间很难在硬件层融合,比如摄像头或者激光雷达和毫米波雷达之间,因为毫米波雷达的目标分辨率很低(无法确定目标大小和轮廓),但可以在数据层层上探索融合,比如目标速度估计,跟踪的轨迹等等。
这里主要介绍一下激光雷达和摄像头的数据融合,实际是激光雷达点云投影在摄像头图像平面形成的深度和图像估计的深度进行结合,理论上可以将图像估计的深度反投到3-D空间形成点云和激光雷达的点云融合,但很少人用。原因是,深度图的误差在3-D空间会放大,另外是3-D空间的点云分析手段不如图像的深度图成熟,毕竟2.5-D还是研究的历史长,比如以前的RGB-D传感器,Kinect或者RealSense。

相机和激光雷达的数据层融合原因:
在无人驾驶环境感知设备中,激光雷达和摄像头分别有各自的优缺点。
摄像头的优点是成本低廉,用摄像头做算法开发的人员也比较多,技术相对比较成熟。摄像头的劣势,第一,获取准确三维信息非常难(单目摄像头几乎不可能,也有人提出双目或三目摄像头去做);另一个缺点是受环境光限制比较大。
激光雷达的优点在于,其探测距离较远,而且能够准确获取物体的三维信息;另外它的稳定性相当高,鲁棒性好。但目前激光雷达成本较高,而且产品的最终形态也还未确定。

3.1 融合的传统方法


3.2 深度学习方法

(1) “Propagating Confidences through CNNs for Sparse Data Regression“, 提出normalized convolution (NConv)layer的改进思路,训练的时候NConv layer通过估计的confidence score最大化地融合 multi scale 的 feature map, 算法如下图:


(2)ICRA的论文High-precision Depth Estimation with the 3D LiDAR and Stereo Fusion
只是在合并RGB image和depth map之前先通过几个convolution layer提取feature map:

(3)法国INRIA的工作,“Sparse and Dense Data with CNNs: Depth Completion and Semantic Segmentation“
作者发现CNN方法在早期层将RGB和深度图直接合并输入性能不如晚一些合并(这个和任务层的融合比还是early fusion),这也是它的第二个发现,这一点和上个论文观点一致。算法流程:

前后两种合并方式的结果示意:

4. 任务层融合

对于摄像头和激光雷达摄像头的感知任务来说, 都可用于进行车道线检测。除此之外,激光雷达还可用于路牙检测。对于车牌识别以及道路两边,比如限速牌和红绿灯的识别,主要还是用摄像头来完成。如果对障碍物的识别,摄像头可以很容易通过深度学习把障碍物进行细致分类。但对激光雷达而言,它对障碍物只能分一些大类,但对物体运动状态的判断主要靠激光雷达完成。任务级融合:障碍物检测/分类,跟踪,分割和定位。有时候融合可能在某一级的特征空间进行,这个也会随任务不同而变化。

4.1 传统之障碍物检测跟踪

法国INRIA利用做十字路口安全驾驶系统的障碍物检测[1]。

双目算法:

4.2 传统之多传感器定位

百度Apollo传感器融合用于车辆定位, 传感器配置有激光雷达64线,雷达,摄像头,GPS-IMU(RTK),还有HD Map。整个融合框架是基于EKF(扩展卡尔曼滤波器):估计最优的position, velocity, attitude (PVA)[5]。

-视觉里程计和激光里程计
该方法是在VO的基础上增加激光雷达点云信息[6]。这是系统框架:

4.3 深度学习之障碍物检测跟踪

采用激光雷达点云的鸟瞰图和前视图像两个方向的投影和RGB图像共同构成目标检测的输入,检测器类似两步法,其中region proposal被3D proposal导出的bird view/frontal view proposal和2D image proposal结合所取代[7]。

4.4 深度学习之定位

引用文献
[1] Intersection Safety using Lidar and Stereo sensors.
[2] LiDAR and Camera-based Pedestrian and Vehicle Detection.
[3] 2D/3D Sensor Exploitation and Fusion for Detection.
[4] Multiple Sensor Fusion and Classification for Moving Object Detection and Tracking.
[5] Robust and Precise Vehicle Localization based on Multi-sensor Fusion in Diverse City Scenes.
[6] Real-time Depth Enhanced Monocular Odometry.
[7] Multi-View 3D Object Detection Network for Autonomous Driving.
[8] End-to-end Learning of Multi-sensor 3D Tracking by Detection.
[9] Learning to Localize Using a LiDAR Intensity Map.

多传感器信息融合(标定, 数据融合, 任务融合)相关推荐

  1. 自动驾驶算法学习:多传感器信息融合(标定, 数据融合, 任务融合)

    版权声明:本文为博主转载文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 原文链接:https://blog.csdn.net/orange_littlegirl/ar ...

  2. 特征级融合_自动驾驶系统入门(七)- 多传感器信息融合

    1.MISF - Multi-sensor Information Fusion 基础解析 1.1 基本概念 利用计算机技术将多传感器或多源的信息和数据,在一定的准则下加以自动分析和综合,以完成所需的 ...

  3. 多传感器融合感知:传感器外参标定及在线标定算法详解

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[全栈算法]技术交流群 后台回复[相机标定]获取超详细的单目双目相机模型介绍.内外参标定 ...

  4. 自动驾驶入门技术(7)—— 多传感器信息融合(MSIF)

    1.MISF - Multi-sensor Information Fusion 基础解析 1.1 基本概念 利用计算机技术将多传感器或多源的信息和数据,在一定的准则下加以自动分析和综合,以完成所需的 ...

  5. d-s 多传感器信息融合 matlab实现_自动驾驶中的多传感器融合

    一.多传感器融合多传感器信息融合(Multi-sensor Information Fusion,MSIF),就是利用计算机技术将来自多传感器或多源的信息和数据,在一定的准则下加以自动分析和综合,以完 ...

  6. matlab 信息融合,MSDF,matlab,多传感器信息融合

    MSDF,matlab,多传感器信息融合 关注次数: 164 下载次数: 15 文件大小: 7.52M 下载需要积分: 1 代码分类: 开发平台: matlab 上传会员: yhcpp 下载代码 预览 ...

  7. 多传感器融合标定方法汇总

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 本文汇总了常见的一些单传感器.多传感器的标定融 ...

  8. 【多传感器融合理论】03多传感器信息融合理论(上)

    目录 概述 信息融合基本原理 估计方法 (加权平均法.最小二乘法.卡尔曼滤波及其变种) 加权平均法: 最小二乘法 卡尔曼滤波机及其变种 分类方法(聚类分析) 推理方法(贝叶斯方法.D-S方法) 贝叶斯 ...

  9. 【数据结构与算法学习笔记005】多传感器信息融合

    目录 1.多传感器融合几个概念 2.基本原理 后融合算法: 前融合算法: 转自地址https://blog.csdn.net/xingdou520/article/details/84103987 多 ...

最新文章

  1. node.js之path模块的使用
  2. Atitit apache 和guava的反射工具
  3. 2.5亿个整数中找出不重复的整数
  4. Xshell更改命令提示符以及背景配色
  5. web developer tips (70):使用命令脚本安装IIS7
  6. mybatis判断集合为空或者元素个数为零
  7. JSP调用request方法获取请求相关信息
  8. Eclipce Luna 离线安装ADT23
  9. 企业或将借助OA走出经济危机
  10. 网卡不兼容linux系统,CentOS与Broadcom 5709兼容性问题导致业务网络中断
  11. Word转换成PDF文档怎么转换
  12. 开始学习英语的七个步骤。
  13. spss标准差与标准偏差不一样
  14. VMware Workstation创建Windows 8.1虚拟机
  15. 周鸿祎谈产品:像怀胎一样怀产品,要厚着脸皮听批评
  16. Win7 64位重装系统之后,IE11安装失败、升级失败之解决办法
  17. #3,Android Studio Android开发APP的开发语言和APP连接的数据库 总结
  18. golang通过onvif协议控制云台
  19. java砍价源码_(JAVA)仿拼多多砍价算法
  20. Java-根据IP统计访问次数

热门文章

  1. 循环语句在c语言中的作用是什么,C语言循环命令运用
  2. 华南理工大学计算机与科学毕业难不,华南理工大学计算机学院的什么专业最好?录取分数是多少?...
  3. Python使用redis中文乱码问题
  4. Mac OS X上的不同字体位置及功能
  5. 充电桩与后台服务器通迅协议,充电桩平台通讯协议.pdf
  6. oracle定时器定时删除30天前的数据_使用 TDengine 存储能耗数据并通过钉钉机器人接收报警信息...
  7. 【数据库学习笔记】Day06 - 关系数据库规范化理论
  8. 立体相机标定数据集_超全的3D视觉数据集汇总
  9. Ajax 数据异步交互
  10. 生命周期和钩子函数解析