这里是「毫有引力」技术栏目,本栏目由毫末智行供稿,未来将持续进行自动驾驶相关技术分享
干货分享停不下来~
想知道自动驾驶中
传感器是如何进行校准的吗?
本期就带你一起研究研究!
在自动驾驶系统中,传感器是系统能感知周围环境的决定性因素。在传感器装车后,需要通过传感器标定消除安装误差,让自动驾驶系统准确定位各个传感器被安装在什么位置。传感器标定为后续建图、定位、感知和控制打下坚实基础,是自动驾驶系统稳定运行的核心部分与前置条件。标定的精度会影响传感器的使用上限精度,最终影响车辆的行驶状态。
各路传感器请汇报位置坐标!
——传感器标定
自动驾驶系统中包含各种各样的传感器,传感器是系统能感知周围环境的决定性因素。在传感器装车后,需要对传感器进行标定,获取各个传感器的安装位置,进而让后续算法模块更好地使用传感器数据。
简单来讲,传感器标定需要告诉自动驾驶系统传感器的准确位置。如果说定位是在地图坐标系确定自车的位置,那么标定就是在车身坐标系确定传感器的位置。
从性质上说,传感器标定可以分为内参标定与外参标定。
内参标定主要与传感器有关,它可以通过建立传感器误差模型,获得传感器特性参数、消除传感器本身测量误差。外参标定与安装位置有关,通过各种先验信息获取传感器在车身坐标系下的位姿。外参标定求解的主要问题取决于车辆坐标系的定义。
如果车辆坐标系为车辆上的某一点,将车辆看作刚体,传感器标定解决的问题,即为固定车辆坐标系下传感器的位置确定。进一步,如果车辆坐标系即为车辆上的某个传感器坐标系。传感器外参标定问题即简化为多传感器外参标定问题。
如果车辆坐标系为车辆自车地面上某一点。除了装车后的传感器位姿标定,还包含自车状态、以及环境变化影响下的传感器坐标系与车身坐标系间的外参变化问题。
下面,我们就分别介绍一下自动驾驶中的内参标定与外参标定。
传感器校准第一回
——内参标定
由于与安装位置无关,在自动驾驶系统中,传感器的内参一般在装车前进行。下面,我们就以最常见的相机内参为例,介绍相机内参标定的原理与方法。
1、相机内参标定
相机内参标定主要是为了获取相机本身的性质参数,包括相机的焦距,光心以及畸变参数等:
内参的物理意义与相机模型强相关,常用的相机成像模型为小孔模型,等效焦距与光心用数学可表示为一个矩阵
其中 fx、fy 是等效焦距,cx、cy 是光心。
畸变的产生,是由于相机本身不能精确地按照理想的成像模型进行透视投影,即物点在实际的相机成像平面上生成的像与理想成像之间存在一定偏差,这个偏差就是相机畸变造成的。以常见的小孔成像模型为例,畸变误差主要是径向畸变误差(k1、k2、k3)和切向畸变误差(p1、p2)。
内外兼修
——传感器外参标定
目前业界常用的相机标定方法是张正友方法。张正友方法通过多种位姿摆放的标定板,提取棋盘格角点,计算出相机的内参。感兴趣的同学可以查阅相关论文[1],本文不再赘述。
下面介绍传感器外参标定。外参标定的问题核心是求解传感器在车辆坐标系下的位姿。由于涉及到车辆坐标系的确定,传感器外参标定主要分为两部分:
- 传感器与车身的外参标定,车身的特点在于没有直接测量值,所以需要借助先验信息,如工装信息、环境信息等达到求解自车位姿变换关系的目的,进而完成传感器和车身的标定。
- 传统意义上的多传感器标定,需要通过传感器的测量信息来求解不同传感器之间的位姿变换。
1、传感器与车身的外参标定
1.1、相机与车身的标定
在以相机为主的自动驾驶传感器配置方案中,车上一般会安装多个相机。相机与车身的外参标定可以通过引入房间坐标系实现:标定间墙面上贴若干标记物,我们称之为靶标。如下图所示:
相机通过检测靶标建立与房间坐标系的关系,即可求解相机与房间的外参。在标定阶段保证车身停在房间的固定位置,即得到车身与房间的外参。通过坐标转换即可完成相机与车身的外参标定。这种方法依赖于靶标的角点精度,因此对环境有一定要求,且靶标数量越多,精度越高。
在产线上,方案设计既要考虑传感器标定精度,又要兼顾车辆标定效率和产线环境,考虑到产线环境中,车辆传感器工装位置与车辆停靠位置可以较大程度保证精度。因此,可以减少靶标数量,运用同样的标定原理,实现相机与车身的标定。
1.2、激光雷达与车身的标定
在以激光雷达为主的自动驾驶传感器配置方案中,需要标定激光雷达与车身的外参,类似于相机与车身的标定原理,激光雷达与车身的标定也可借助标定板进行。标定过程中,将多个标定板置于激光雷达可扫描到的区域,通过已知的车身位姿、标定板位姿和激光雷达工装等先验信息,可解算出激光雷达与车身的外参。
2、多传感器联合标定
多传感器联合标定是多传感器融合的必要前提。单一传感器往往会存在覆盖范围不足和观测信息受限等局限与挑战,多传感器融合方案可以做到不同传感器间的取长补短。根据传感器特性与算法原理的不同,多传感器标定可分为基于共视特征信息的标定和基于运动轨迹的标定。
2.1、基于共视特征信息的标定
1)多激光雷达之间的标定
激光雷达可以直接测量周围环境的距离信息,因此多激光雷达间的标定方案较为成熟。对于有共视区域的激光雷达,可以通过场景的特征信息,运用 NDT 或 ICP 等配准方法实现点云特征匹配,从而完成多个激光雷达之间的外参标定。
图来自于网络
2)相机与激光雷达的外参标定
相机与激光雷达的观测信息表达方式是不一致的,那么如何进行二者之间的标定呢?目前业界比较成熟的方案是通过引入统一观测源建立约束。对于有共视区域的相机与激光雷达,可在共视区域内布置靶标作为统一观测源, 分别获取靶标在相机坐标系下和激光雷达坐标系下的特征。通过两种特征匹配,完成相机与激光雷达之间的外参标定。下图便是通过棋盘格靶标作为统一观测源的相机与激光雷达标定流程图。
图来自于网络
2.2、基于运动轨迹的标定
对于 IMU 这种直接估计位姿变化的传感器,常见的方案是基于车辆运动轨迹的标定。以激光雷达与 IMU、相机与 IMU 之间的标定为例,可采用最经典的手眼标定方式,基于给定的 IMU 与激光雷达/相机之间的外参初值,通过激光雷达/相机的轨迹与 IMU 的轨迹进行外参优化,从而完成最终的激光雷达/相机和 IMU 的外参标定。下图是激光雷达与 IMU 外参标定的示意图。
图来自于网络
外参标定有奇招
——在线标定
区别于以上介绍的外参离线标定方法(需要固定的场地、固定的靶标、以及精确的车辆定位、固定的运动轨迹等信息)。在线标定可在自然场景中, 根据离线标定的结果、工装、车辆运动等先验信息,实现对离线标定结果的全部参数或部分参数的修正。由于方案的灵活性,传感器外参的在线标定是近年业内的研究重点。下面我们分别介绍一下传感器与车身、多传感器之间的在线标定。
1、传感器与车身的在线标定
1.1、相机与车身的在线标定
车辆行驶过程中,相机可根据行驶道路信息获取场景中的一些平行或者正交的信息(如车道线、灯杆等)。空间平行线在相机图像平面上的交点被称为消失点。通过这些空间平行线得到的消失点,我们可以实时估计相机与车体的外参。该方案灵活性强,但鲁棒性会有所下降,因此如何兼顾算法的鲁棒性与灵活性是该类方案研究的重点。外参标定前后的效果如下图的(b 纠正前,俯视图内八)和(c 纠正后,俯视图平行)所示,感兴趣的同学可以参考[2]。
1.2、激光雷达与车身的在线标定
与相机不同,激光雷达可以直接测量观测点的 3D 距离。因此,激光雷达与车身的在线标定也相对成熟。基于车辆的运动先验与场景先验,在车辆行驶过程中,激光雷达可根据车辆的行驶方向、地平面点云等信息,实时纠正自身与车体的外参。
2、多传感器的在线标定
多传感器在线标定,尤其是激光雷达与相机的在线标定,是业界公认的难点,在近年已有广泛研究。目前业内主要方法是通过最大化点云与图像的配准信息来估计标定参数。根据信息提取方式的不同,多传感器在线标定的研究方向可分为边缘配准[3]、互信息[4]、分割[5][6]三种方法。
2.1、边缘配准
边缘配准方法首先提取图像和激光雷达的边缘信息,然后将激光雷达边缘信息通过初值投影到图像上,并采用优化算法,最大化两种边缘信息乘积的值,以此完成激光雷达和相机的外参标定。
此方法原理简单,可操作性强,但由于只能获取激光雷达的垂直边缘信息,对于偏航角的估计效果要明显优于横滚角与俯仰角。
2.2、互信息
互信息方法对激光雷达的强度信息与图像的灰度信息进行互信息操作,使得互信息结果最大,从而完成标定。如下图所示,正确的激光雷达外参角度值(89degree)对应的互相关系数最大。
此类方法对于激光雷达的强度值有较强依赖,若激光雷达线束较少,点云稀疏,匹配效果可能无法达到需求。
2.3、分割
分割方法需要对图像/点云进行分割操作,分割后的信息会用于特征匹配。如下图所示,此类方法可以只对图像进行分割(图①),也可以对图像和点云都进行分割(图②)。
①只对图像分割
②对点云、图像均进行分割
此类方法将激光雷达原始点云或分割后的点云通过初值回投到分割后的图像上,采用局部优化的方式,使得点云与图像作用关系最大化,完成激光雷达与相机的外参标定。
相较于提取边缘的方法,此类方法可获得图像和点云的更多有效信息,且图像分割相较于图像边缘提取,抗干扰能力强。
综上所述,在线标定优势在于可利用自然场景,完成传感器矫正,缺点是需要在满足条件的自然场景下进行,且若场景特性无法达到预期,会导致在线标定结果偏差较大或标定失败。
传感器标定是自动驾驶系统的基础环节,也是自动驾驶系统运行的关键条件。传感器标定结果的准确性与精确性,直接影响自动驾驶各功能模块的运行效果。因此,一个准确的、高精度的标定结果,是传感器标定的目标,也是整个自动驾驶系统的需求与期望。目前传感器标定仍存在诸多挑战,如何实现高精度的标定、如何利用有限的环境完成标定、如何完成不同类型传感器之间的标定,如何感知车辆运动过程中传感器位置的偏差,如何对传感器位置偏差实时纠正等,这些都是我们会不断优化和探索的方向。
本期的干货分享就到这里啦,不得不说,属实把传感器标定给讲明白了!下期我们会继续为大家带来更精彩的自动驾驶干货分享,请继续锁定「毫有引力」呦~
参考文献
[1] Z. Zhang, “A Flexible New Technique for Camera Calibration”
[2] J. Lee, Y. Baik, H. Cho, and S. Yoo,“Online Extrinsic Camera Calibration for Temporally Consistent IPM Using Lane Boundary Observations with a Lane Width Prior”
[3] J. Levinson and S. Thrun, “Automatic Online Calibration of Cameras and Lasers”
[4] G. Pandey and J. R. McBride and S. Savarese and R. M. Eustice, ”Automatic Targetless Extrinsic Calibration of a 3D Lidar and Camera by Maximizing Mutual Information”
[5] Y. Zhu, C. Li, Y. Zhang, “Online Camera-LiDAR Calibration with Sensor Semantic Information”
[6] T. Ma , Z. Liu , G. Yan, and Y. Li,”CRLF: Automatic Calibration and Refinement based on Line Feature for LiDAR and Camera in Road Scenes”