传感器标定是自动驾驶的基本需求,一个车上装了多个/多种传感器,而它们之间的时间和空间关系需要统一,传感器数据的标定主要为了定位的准确性。

1、传感器分类

机器人有多种传感器,每种数据类型不一样,数据精度不一样,要把这些数据融合起来统一处理。传感器主要包括Camera、激光雷达、IMU、毫米波雷达、gps等传感器。

  • 摄像头是RGB图像的像素阵列;
  • 激光雷达是3-D点云距离信息(有可能带反射值的灰度值);
  • GPS-IMU给的是车身位置姿态信息;
  • 雷达是2-D反射图。

    几种传感器的优缺点比较:

1.1、摄像头

摄像头可以分为如下几种:单目、 双目和深度相机。
摄像头的优点是成本低廉,应用广泛。用摄像头做算法开发的人员也比较多,技术相对比较成熟。摄像头的劣势,第一,获取准确三维信息非常难(单目摄像头几乎不可能,也有人提出双目或三目摄像头去做);另一个缺点是受环境光限制比较大;计算量比较大。
有如下几种原因可引起摄像头获取的图像的变化:

摄像头一般获取的是2D图像,获取深度上不方便。

  • 单目:必须通过相机的移动来得到深度,会存在很多问题
  • 双目:可以通过两个角度的视觉得到深度
  • 深度相机:通过结构过或者IO的方式。后者就是类似激光雷达的方式。
    通过视觉进行测距需要大量的计算,并且测量结果容易随着光线变化而发生变化。如果机器人运行在光线较暗的房间内,那么视觉测距方法基本上不能使用。当然随着深度相机的出现,这个情况得到了改观。但最近几年,已经存在一些解决上述问题的方法。一般而言,视觉测距一般使用双目视觉或者三目视觉方法进行测距。使用视觉方法进行测距,机器人可以更好的像人类一样进行思考。另外,通过视觉方法可以获得相对于激光测距和超声波测距更多的信息。但更过的信息也就意味着更高的处理代价,但随着算法的进步和计算能力的提高,上述信息处理的问题正在慢慢得到解决。

1.2、激光雷达

激光雷达的优点在于,其探测距离较远,而且能够准确获取物体的三维信息;激光准确,数据量少,计算量小;另外它的稳定性相当高,鲁棒性好。但目前激光雷达成本较高,而且产品的最终形态也还未确定。激光测距单元的另外一个问题是其穿过玻璃平面的问题。另外激光测距单元不能够应用于水下测量。

1.3、超声波

超生波测距以及声波测距等以及在过去得到十分广泛的应用。相对于激光测距单元,其价格比较便宜;但其测量精度较低。激光测距单元的发射角仅0.25°,因而,激光基本上可以看作直线;相对而言,超声波的发射角达到了30°,因而,其测量精度较差。但在水下,由于其穿透力较强,因而,是最为常用的测距方式。最为常用的超声波测距单元是Polaroid超声波发生器。

1.4、IMU

IMU(惯性测量单元)陀螺仪及加速度计是IMU的主要元件,其精度直接影响到惯性系统的精度。

----------------------------------------------------------------------------------------------------------------------------------------

2、时间标定

多个传感器因为时间不同步、采样频率不同,需要在时间上进行标定。多个传感器因为安装位置和自身旋转角度姿态不同,需要进行空间标定。

2.1、时钟硬同步

所谓的时间硬同步,就是通过唯一的时钟源给各传感器提供相同的基准时间。各传感器根据提供的基准时间校准各自的时钟时间,从硬件上实现时间同步,也就是我们说的统一时钟源,目前自动驾驶中主流时间同步是以GPS时间为基准时间 ,采用PTP/gPTP时钟同步协议来完成各传感器之间的时间同步,PTP 前提是需要交换机支持PTP协议,才能实现高精度同步。 与PTP同时出现的还有一种NTP,即网络时间协议,不同的是PTP是在硬件级实现的,NTP是在应用层级别实现。

2.2、采样频率同步

由于每种传感器的采样频率不一致,如lidar通常为10Hz,camera通常为25/30Hz,不同传感器之间的数据传输还存在一定的延迟,那么可以通过寻找相邻时间戳的方法找到最近邻帧,如果误差很大,可以采用硬同步触发,调整传感器的固有频率来达到一致性。

2.3、时间软同步

分为帧率具有整数倍数关系的传感器之间和非整数倍关系传感器之间的时间对齐,整数倍的比较好处理,非整数倍的可以用内插外推法,主要利用两个传感器帧上的时间标签,计算出时间差,然后通过包含有运动信息的目标帧与时间差结合,推算出新的帧时各个目标的位置,并于原有的两帧之间建立新的帧。

3、空间标定

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

3.1、内参标定和外参标定

传感器标定分为单传感器的标定和多传感器之间的标定,主要是外参标定和内参标定,目的是为了保证确定不同传感器的空间关系,并统一在整车坐标系下,这样就能获取不同传感器采集的同一障碍物的信息,便于后续融合处理。
内参是决定传感器内部的映射关系,比如摄像头的焦距,偏心和像素横纵比(+畸变系数),而外参是决定传感器和外部某个坐标系的转换关系,比如姿态参数(旋转和平移6自由度)。摄像头的标定曾经是计算机视觉中3-D重建的前提。

3.2、设备标定

一般传感器安装完,需要对车辆进行整车的标定。标定分为基于标定设备的标定和基于自然场景的标定。
基于标定设备的比较容易理解,就是根据传感器的安装位置进行标定。首先要根据厂商提供的传感器尺寸和内参进行标定,把原点之间距离计算出来,这就是平移距离,这个相对简单。而旋转角度比较难于计算,需要特殊方法。
基于自然场景的标定方法,是利用外部场景中静止的路标(如树木、电线杆、路灯杆、交 通标识牌等)和清晰车道线进行标定。让移动车跑几圈,把传感器获得的数据和实际的外部场景的路标进行比较校正。

3.3、坐标系同步

空间同步,也就是不同传感器坐标系下的测量值转换到同一坐标系下,通俗理解为传感器在整车坐标系下的标定参数,其中一部分就是运动补偿,比如纯估计补偿,用括ICP(Iterative Closest Point,迭代最近点算法)以及其相关的变种(VICP)来线性补偿,但这是基于匀速运动假设基础上。

3.4、里程计辅助

运动补偿方法之里程计辅助方法,是利用IMU信息对激光数据中每个激光点对应的传感器位姿进行求解,即求解对应时刻传感器的位姿,然后根据求解的位姿把所有激光点转换到同一坐标系下,然后封装成 一帧激光数据,发布出去(可以理解为激光点云 的去畸变)。
1)通过IMU与点云数据时间对齐,然后对每个点进行速度补偿,通过时间戳进行线性插值,然后将所有点云数据转换到初始点云的IMU坐标下
2)与上一帧的去完畸变的点云数据进行帧间匹配,计算激光姿态。并通过计算的姿态对每个点云进行线性补偿,将所有的点云数据根据时间戳转换到最后一个点云数据时间戳下,即完成了里程计方法的补偿。

4、相机和其他传感器融合

多相机标定主要是长中短焦距标定,相机和Lidar标定,最常见的激光与相机联合标定方法是将激光产生的点云投影到图像内,然后寻找标记物(可能是标定设备,也可能是具有明显边缘的静止物体),查看其边缘轮廓对齐情况,如果在一定距离内(一般选50-60m) 的目标,点云边缘和图像边缘能够重合,则可以证明标定结果的精度很高。

4.1、标定场地

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

4.2、相机到相机

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

  • 良好的相机到相机标定结果,中间部分为融合结果,重叠较好:
  • 错误的相机到相机标定结果,,中间部分为融合结果,有绿色重影:

4.3、相机到激光雷达

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

  • 良好的相机到多线激光雷达标定结果:
  • 错误的相机到多线激光雷达标定结果:

    具体来说,就是先把3D激光雷达2D化,投射到2D的相机图像中,然后看其候选框是否吻合。

    或者反过来,把2D的图像3D化,然后投射到3D的激光雷达中,看其在3D下的候选框是否吻合。

可能出现多个候选框,则需要用NMS(非最大值抑制)去除重叠的候选框。至于判断吻合的方法有多种,这里只说明原理,不详细描述。具体参考下面链接:
无人驾驶中视觉和雷达多传感器如何融合?

4.4、相机到毫米波雷达

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

  • 良好的毫米波雷达到激光雷达投影结果:
  • 错误的毫米波雷达到激光雷达投影结果:

4.4、相机到IMU标定

虽然Apollo中没有, 但这是视觉slam中的常见传感器标定, 利用Kalibr 对 Camera-IMU 进行标定。

参考文献

多传感器信息融合(标定, 数据融合, 任务融合)
自动驾驶系统的传感器标定方法
“多模态”和“多传感器融合”的相同点和不同点都有哪些?
多传感器融合同步标定技术整理
SLAM与多传感器融合定位(专栏文章汇总)
多传感器融合SLAM、导航研究和学习
多传感器融合标定方法汇总
9种自动驾驶传感器融合算法
多视图几何基础——深入理解相机内外参数

SLAM 03.多传感器融合算法相关推荐

  1. 自动驾驶中的9种传感器融合算法

    来源丨AI 修炼之路 在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程.该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性.冗余性以及最终的安全性. 为了更好地理解,让我们考虑一个简单 ...

  2. 组合导航+多传感器融合算法

    1.INS/GPS的组合导航系统可以输出高频率的导航参数信息(位置.速度.姿态),并且在长.短期的导航过程中均能具备较高精度.(输出数据的意义什么,PDR是步长+航向) 2.误差反馈系统 (1)在开环 ...

  3. 9种自动驾驶传感器融合算法你都知道吗?

    作者 | Alan  编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/430323552 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨 ...

  4. ethz的多传感器融合算法msf编译与安装

    ethz的多传感器融合算法msf编译与安装 1.建立工作空间 2.下载安装所有依赖 2.1 下载依赖库 2.2 安装Google的glog 2.3 安装GeographicLib 2.4 编译 3.报 ...

  5. 聊一聊SLAM核心算法之ESKF多传感器融合算法

    作者 | 应知  编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/628074965? 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷 ...

  6. 最新导航综述!SLAM方法/数据集/传感器融合/路径规划与仿真多个主题

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[SLAM]技术交流群 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD ...

  7. 多传感器融合算法,雷视融合算法

    0: 设备选型 Camera选型: 如何选择视场角和焦距: Radar选型 lidar选型 1: Radar毫米波雷达和Camera视觉融合 算法要求: 图像目标检测 Radar目标检测 radar和 ...

  8. 多传感器融合算法,单目测距、基于双目,长焦短焦,图像拼接,环视等

    标定:已知世界坐标系平面内的三维坐标和像素坐标,求解内参和外参: 本质矩阵和基本矩阵:已知内参和两幅图像中对应点的坐标,通过对极约束(八点法,尺度等价性,齐次坐标)求解相机的运动R和t(用到RANSA ...

  9. 解读基于多传感器融合的卡尔曼滤波算法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|3D视觉工坊 卡尔曼滤波器是传感器融合工程师用于自动驾驶 ...

最新文章

  1. laravel实现多数据源配置和读写分离
  2. linux top交叉编译_Linux 系统下ARM Linux交叉编译环境crosstool工具
  3. C#生成安装文件后自动附加数据库的思路跟算法
  4. 谁在告谁?移动专利混战图
  5. Java并行编程–从并行任务集获取反馈
  6. mysql中常用的筛查语句_数据库中常用的一些关键字
  7. geoserver服务发布矢量地图流程
  8. (Word论文插入高清图片)软件设置教程
  9. python爬虫模拟登录之图片验证码
  10. 小程序父子组件间传值(微信/支付宝/钉钉)
  11. 项目管理五大过程组及其详细解释
  12. VirtualBox调试分辨率时遇到的问题
  13. 智能眼镜是头戴式摄像机
  14. 人脸识别考勤 Android 课程设计
  15. 如何获取ffmpeg返回的错误信息
  16. 24Python读取PPT文档内容
  17. 【Docker】Segmentation Fault or Critical Error encountered. Dumping core and abor
  18. 关于软件测试人员绩效考核的讨论
  19. [IDE工具篇]提高办公效率的几款软件(持续更新中)
  20. 夜光遥感(一):夜光遥感数据的介绍和获取

热门文章

  1. Verilog四位全加器
  2. 千兆PHY与RJ45接口线序
  3. 中国宗教场所地理分布数据
  4. AcWing 838. 堆排序
  5. 目标检测:EfficientDet(官方开源版)训练自己的数据
  6. pcl opencv ROS_message三者之间点云和图片类型转换总结
  7. 快来天津科技大学找我玩
  8. 天津专升本机构避雷指南
  9. GBase xdm价值
  10. linux下4g拨号上网问题,解决 Ubuntu 18.04 下无法建立 4G 拨号的问题