一文详解自动驾驶多传感器标定

来源:汽车自动驾驶技术

在自动驾驶系统中,传感器是系统能感知周围环境的决定性因素。在传感器装车后,需要通过传感器标定消除安装误差,让自动驾驶系统准确定位各个传感器被安装在什么位置。传感器标定为后续建图、定位、感知和控制打下坚实基础,是自动驾驶系统稳定运行的核心部分与前置条件。标定的精度会影响传感器的使用上限精度,最终影响车辆的行驶状态。

各路传感器请汇报位置坐标!

——传感器标定

自动驾驶系统中包含各种各样的传感器,传感器是系统能感知周围环境的决定性因素。在传感器装车后,需要对传感器进行标定,获取各个传感器的安装位置,进而让后续算法模块更好地使用传感器数据。

简单来讲,传感器标定需要告诉自动驾驶系统传感器的准确位置。如果说定位是在地图坐标系确定自车的位置,那么标定就是在车身坐标系确定传感器的位置。

从性质上说,传感器标定可以分为内参标定与外参标定。

内参标定主要与传感器有关,它可以通过建立传感器误差模型,获得传感器特性参数、消除传感器本身测量误差。外参标定与安装位置有关,通过各种先验信息获取传感器在车身坐标系下的位姿。外参标定求解的主要问题取决于车辆坐标系的定义。

如果车辆坐标系为车辆上的某一点,将车辆看作刚体,传感器标定解决的问题,即为固定车辆坐标系下传感器的位置确定。进一步,如果车辆坐标系即为车辆上的某个传感器坐标系。传感器外参标定问题即简化为多传感器外参标定问题。

如果车辆坐标系为车辆自车地面上某一点。除了装车后的传感器位姿标定,还包含自车状态、以及环境变化影响下的传感器坐标系与车身坐标系间的外参变化问题。

下面,我们就分别介绍一下自动驾驶中的内参标定与外参标定。

传感器校准第一回

——内参标定

由于与安装位置无关,在自动驾驶系统中,传感器的内参一般在装车前进行。下面,我们就以最常见的相机内参为例,介绍相机内参标定的原理与方法。

1、相机内参标定

相机内参标定主要是为了获取相机本身的性质参数,包括相机的焦距,光心以及畸变参数等:

内参的物理意义与相机模型强相关,常用的相机成像模型为小孔模型,等效焦距与光心用数学可表示为一个矩阵

d0c96f6a12e925ec52b958c7df4848b8.png        

其中 fx、fy 是等效焦距,cx、cy 是光心。

畸变的产生,是由于相机本身不能精确地按照理想的成像模型进行透视投影,即物点在实际的相机成像平面上生成的像与理想成像之间存在一定偏差,这个偏差就是相机畸变造成的。以常见的小孔成像模型为例,畸变误差主要是径向畸变误差(k1、k2、k3)和切向畸变误差(p1、p2)。

目前业界常用的相机标定方法是张正友方法。张正友方法通过多种位姿摆放的标定板,提取棋盘格角点,计算出相机的内参。感兴趣的同学可以查阅相关论文[1],本文不再赘述。

内外兼修

——传感器外参标定

下面介绍传感器外参标定。外参标定的问题核心是求解传感器在车辆坐标系下的位姿。由于涉及到车辆坐标系的确定,传感器外参标定主要分为两部分:

  • 传感器与车身的外参标定,车身的特点在于没有直接测量值,所以需要借助先验信息,如工装信息、环境信息等达到求解自车位姿变换关系的目的,进而完成传感器和车身的标定。

  • 传统意义上的多传感器标定,需要通过传感器的测量信息来求解不同传感器之间的位姿变换。

1、传感器与车身的外参标定

1.1、相机与车身的标定

在以相机为主的自动驾驶传感器配置方案中,车上一般会安装多个相机。相机与车身的外参标定可以通过引入房间坐标系实现:标定间墙面上贴若干标记物,我们称之为靶标。如下图所示:

67fd98c154f7f95894933e99e7732ab6.png

相机通过检测靶标建立与房间坐标系的关系,即可求解相机与房间的外参。在标定阶段保证车身停在房间的固定位置,即得到车身与房间的外参。通过坐标转换即可完成相机与车身的外参标定。这种方法依赖于靶标的角点精度,因此对环境有一定要求,且靶标数量越多,精度越高。

在产线上,方案设计既要考虑传感器标定精度,又要兼顾车辆标定效率和产线环境,考虑到产线环境中,车辆传感器工装位置与车辆停靠位置可以较大程度保证精度。因此,可以减少靶标数量,运用同样的标定原理,实现相机与车身的标定。

1.2、激光雷达与车身的标定

在以激光雷达为主的自动驾驶传感器配置方案中,需要标定激光雷达与车身的外参,类似于相机与车身的标定原理,激光雷达与车身的标定也可借助标定板进行。标定过程中,将多个标定板置于激光雷达可扫描到的区域,通过已知的车身位姿、标定板位姿和激光雷达工装等先验信息,可解算出激光雷达与车身的外参。

2、多传感器联合标定

多传感器联合标定是多传感器融合的必要前提。单一传感器往往会存在覆盖范围不足和观测信息受限等局限与挑战,多传感器融合方案可以做到不同传感器间的取长补短。根据传感器特性与算法原理的不同,多传感器标定可分为基于共视特征信息的标定和基于运动轨迹的标定。

2.1、基于共视特征信息的标定

1)多激光雷达之间的标定

激光雷达可以直接测量周围环境的距离信息,因此多激光雷达间的标定方案较为成熟。对于有共视区域的激光雷达,可以通过场景的特征信息,运用 NDT 或 ICP 等配准方法实现点云特征匹配,从而完成多个激光雷达之间的外参标定。

f00f1076dcf4ef1b9751c09967d48917.png

图来自于网络

2)相机与激光雷达的外参标定

相机与激光雷达的观测信息表达方式是不一致的,那么如何进行二者之间的标定呢?目前业界比较成熟的方案是通过引入统一观测源建立约束。对于有共视区域的相机与激光雷达,可在共视区域内布置靶标作为统一观测源, 分别获取靶标在相机坐标系下和激光雷达坐标系下的特征。通过两种特征匹配,完成相机与激光雷达之间的外参标定。下图便是通过棋盘格靶标作为统一观测源的相机与激光雷达标定流程图。

4adde797acd93bef74fc446784137307.png

图来自于网络   

2.2、基于运动轨迹的标定

对于 IMU 这种直接估计位姿变化的传感器,常见的方案是基于车辆运动轨迹的标定。以激光雷达与 IMU、相机与 IMU 之间的标定为例,可采用最经典的手眼标定方式,基于给定的 IMU 与激光雷达/相机之间的外参初值,通过激光雷达/相机的轨迹与 IMU 的轨迹进行外参优化,从而完成最终的激光雷达/相机和 IMU 的外参标定。下图是激光雷达与 IMU 外参标定的示意图。

27eaef27f8050bbe89f092072e76a6f5.png

 图来自于网络

外参标定有奇招

——在线标定

区别于以上介绍的外参离线标定方法(需要固定的场地、固定的靶标、以及精确的车辆定位、固定的运动轨迹等信息)。在线标定可在自然场景中, 根据离线标定的结果、工装、车辆运动等先验信息,实现对离线标定结果的全部参数或部分参数的修正。由于方案的灵活性,传感器外参的在线标定是近年业内的研究重点。下面我们分别介绍一下传感器与车身、多传感器之间的在线标定。

1、传感器与车身的在线标定

1.1、相机与车身的在线标定

车辆行驶过程中,相机可根据行驶道路信息获取场景中的一些平行或者正交的信息(如车道线、灯杆等)。空间平行线在相机图像平面上的交点被称为消失点。通过这些空间平行线得到的消失点,我们可以实时估计相机与车体的外参。该方案灵活性强,但鲁棒性会有所下降,因此如何兼顾算法的鲁棒性与灵活性是该类方案研究的重点。外参标定前后的效果如下图的(b 纠正前,俯视图内八)和(c 纠正后,俯视图平行)所示,感兴趣的同学可以参考[2]。

424d01d6921e41c345658772f25f8925.png

1.2、激光雷达与车身的在线标定

与相机不同,激光雷达可以直接测量观测点的 3D 距离。因此,激光雷达与车身的在线标定也相对成熟。基于车辆的运动先验与场景先验,在车辆行驶过程中,激光雷达可根据车辆的行驶方向、地平面点云等信息,实时纠正自身与车体的外参。

2、多传感器的在线标定

多传感器在线标定,尤其是激光雷达与相机的在线标定,是业界公认的难点,在近年已有广泛研究。目前业内主要方法是通过最大化点云与图像的配准信息来估计标定参数。根据信息提取方式的不同,多传感器在线标定的研究方向可分为边缘配准[3]、互信息[4]、分割[5][6]三种方法。

2.1、边缘配准

14cce04b34e74f1b63363c7a88cdf23f.png

边缘配准方法首先提取图像和激光雷达的边缘信息,然后将激光雷达边缘信息通过初值投影到图像上,并采用优化算法,最大化两种边缘信息乘积的值,以此完成激光雷达和相机的外参标定。

此方法原理简单,可操作性强,但由于只能获取激光雷达的垂直边缘信息,对于偏航角的估计效果要明显优于横滚角与俯仰角。

2.2、互信息

互信息方法对激光雷达的强度信息与图像的灰度信息进行互信息操作,使得互信息结果最大,从而完成标定。如下图所示,正确的激光雷达外参角度值(89degree)对应的互相关系数最大。

412edd854df00d9fdc6a6a15ac751611.png

此类方法对于激光雷达的强度值有较强依赖,若激光雷达线束较少,点云稀疏,匹配效果可能无法达到需求。

2.3、分割

分割方法需要对图像/点云进行分割操作,分割后的信息会用于特征匹配。如下图所示,此类方法可以只对图像进行分割(图①),也可以对图像和点云都进行分割(图②)。

a13a24d314abcb58b1abea664c19897f.png

①只对图像分割

177062ecac6f66a7418ce46ca5fa0063.png

②对点云、图像均进行分割

此类方法将激光雷达原始点云或分割后的点云通过初值回投到分割后的图像上,采用局部优化的方式,使得点云与图像作用关系最大化,完成激光雷达与相机的外参标定。

相较于提取边缘的方法,此类方法可获得图像和点云的更多有效信息,且图像分割相较于图像边缘提取,抗干扰能力强。

综上所述,在线标定优势在于可利用自然场景,完成传感器矫正,缺点是需要在满足条件的自然场景下进行,且若场景特性无法达到预期,会导致在线标定结果偏差较大或标定失败。

传感器标定是自动驾驶系统的基础环节,也是自动驾驶系统运行的关键条件。传感器标定结果的准确性与精确性,直接影响自动驾驶各功能模块的运行效果。因此,一个准确的、高精度的标定结果,是传感器标定的目标,也是整个自动驾驶系统的需求与期望。目前传感器标定仍存在诸多挑战,如何实现高精度的标定、如何利用有限的环境完成标定、如何完成不同类型传感器之间的标定,如何感知车辆运动过程中传感器位置的偏差,如何对传感器位置偏差实时纠正等,这些都是我们会不断优化和探索的方向。

本期的干货分享就到这里啦,不得不说,属实把传感器标定给讲明白了!

参考文献

[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”

—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。[三维重建方向]NeRF、colmap、OpenMVS等。除了这些,还有求职、硬件选型、视觉产品落地等交流群。大家可以添加小助理微信: cv3d007,备注:加群+方向+学校|公司, 小助理会拉你入群。

93b227c59ea92d4ed8da9523095d5fb9.jpeg
添加小助理微信:  cv3d007,拉你入群
第二步 加入知识星球,问题及时得到解答

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

学习3D视觉核心技术,扫描查看,3天内无条件退款 87e53d675d10c4f60a7089078a261996.jpeg
高质量教程资料、答疑解惑、助你高效解决问题
第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]如何学习相机模型与标定?(代码+实战)

[3]ROS2从入门到精通:理论与实战

工业3D视觉方向课程:

[1]机械臂抓取从入门到实战课程(理论+源码)

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

[3]三维点云处理:算法与实战汇总

[4]彻底搞懂基于Open3D的点云处理教程!

[5]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]如何高效学习基于LeGo-LOAM框架的激光SLAM?

[1]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[2](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[3]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[4]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[5]ORB-SLAM3理论讲解与代码精析(第2期)

视觉三维重建

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进)

自动驾驶方向课程:

[1]目标检测中的视觉Transformer

[2]单目深度估计方法:算法梳理与代码实现

[3]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[4]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值