【文献分享】基于线特征的激光雷达和相机外参自动标定

这篇具有很好参考价值的文章主要介绍了【文献分享】基于线特征的激光雷达和相机外参自动标定。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文题目:Line-based Automatic Extrinsic Calibration of LiDAR and Camera

中文题目:基于线特征的激光雷达和相机外参自动标定

作者:Xinyu Zhang, Shifan Zhu, Shichun Guo, Jun Li, and Huaping Liu

作者机构:清华大学汽车安全与能源国家重点实验室

论文链接:https://www.researchgate.net/publication/354877994_Line-based_Automatic_Extrinsic_Calibration_of_LiDAR_and_Camera

为了解决外参逐渐漂移的问题,提出了一种基于线的方法,可以在真实场景中实现激光雷达和相机的自动在线外参标定。首先,从点云和图像中提取和过滤线特征。然后,利用自适应优化方法提供精确的外部参数。然后在KITTI基准上用地面真值对其进行了评估。实验验证了标定方法的准确性。在数百帧的在线实验中,本文提出的方法自动校正了误标定误差,达到了0.2度的精度,验证了它在各种场景下的适用性。

1 引言

本文提出的目的:

  1. 传统的手动校准方法需要专门设计对象,如标定板或手动选择点,这导致校准过程繁琐。
  2. 长时间的运行和不同的载荷会导致外部参数的轻微漂移和累计误差,因此需要自动在线标定对其进行调整。

本文主要贡献:

  • 提出了一种能在线自动估计六自由度(6-DOF)参数的外参标定方法。该方法利用一般的直线特征减少了传感器之间的漂移误差,不需要人工选择点和特殊目标,因此能够适用于任何给定的场景。
  • 提出了一种点云线提取方法,利用点云处理方法过滤噪声数据,准确提取线特征。
  • 引入自适应优化方法和结果置信度估计方法,实现了向正确方向优化和高效计算标定结果。

2 算法概述

提出的方法分为三个步骤:

  1. 在图像和点云的特征提取之前进行一系列的预处理
  2. 从图像和点云中提取线特征,通过特征滤波进行细化
  3. 最后,通过对初始外部参数添加小扰动,将点云线特征投影到像素帧上,并对每个扰动的得分进行计算和优化

本文的算法框架如下:
【文献分享】基于线特征的激光雷达和相机外参自动标定,文献分享,数码相机,计算机视觉,人工智能

3 算法框架

3.1 问题表述

激光雷达与相机的外参标定问题在于确定两者之间正确的变换矩阵。将问题定义为求旋转角向量θ=(θx;θy;θz),平移向量t=(tx,ty,tz);点云记为 P t P_t Pt,图像记为 I i j t I^t_{ij} Iijt,表示点I和像素ij在第t帧的值。通过将LiDAR点投影到图像上计算成本分数,目标函数定义为:
S t = ∑ t = n − w n I i j t [ α ∑ p t p t ∈ F h t T t p t + ( 1 − α ) ∑ p t p t ∈ F v t T t p t ] / w S_t = \sum_{t=n-w}^n I^t_{ij}[\alpha \sum_{p_t}^{p_t \in F_h^t} T_tp_t+(1-\alpha)\sum_{p_t}^{p_t \in F_v^t}T_tp_t]/w St=t=nwnIijt[αptptFhtTtpt+(1α)ptptFvtTtpt]/w

其中每个LiDAR点 p t p_t pt分别迭代水平特征 F h F_h Fh和垂直特征 F v F_v Fv。系数α对水平和垂直线特征赋予不同的权重。本文将α赋值为0.65,以增强对水平误差的约束。另外,w是滑动窗口的大小。考虑之前的w帧,计算第t帧的分数。

通俗的说就是:将激光雷达点检测到的水平线特征和竖直线特征分别通过转换矩阵T,变换到相机坐标系中,然后投影到图像上,然后通过一个在图像上的滑动窗口计算得分。

3.2 图像处理

在图像处理中,首先将RGB图像转换为灰度图像;然后通过[1]中的线特征提取算法进行线特征提取;然后对灰度图像进行距离变换。

下图展示了这个过程。

【文献分享】基于线特征的激光雷达和相机外参自动标定,文献分享,数码相机,计算机视觉,人工智能

图(b)中的白色边缘和图©中的白色线条分别代表聚类的边缘特征和线特征。如图(b)所示,应用距离变换模型后,聚类后的边缘特征更加无序。相反,图©中的线特征组织得更好,产生的灰度变化更小。它可以允许更大的搜索步长,从而防止优化过程进入局部解决方案。

白色像素表示提取的特征,灰度变化表示到边缘或线特征的距离。像素越白,越接近这些线特征的中心

3.3 雷达处理

在激光雷达处理中,其原理是利用距离不连续性来获得更多的边线特征。为了实现这一目标,采用局部映射的方法,将三帧点云合并为一帧,使一帧能呈现更多的点。具体来说,利用NDT方法计算当前帧和前两帧之间的变换矩阵。

在单帧和三合一帧中提取的边界线点对比如下图所示。图(a)显示了通过将三帧点云 P t − 2 : t P_{t−2}:t Pt2:t转换为一帧点云得到的更密集的点云,与图(b)中的另一帧点云相比,可以显示更多的点。这可以提高提取性能,特别是在应用低光束激光雷达时。

【文献分享】基于线特征的激光雷达和相机外参自动标定,文献分享,数码相机,计算机视觉,人工智能

然后将更密集的点云转换成图像,每个像素存储对应雷达点的距离信息。通过比较当前点与相邻点之间的距离,消除离相邻点太远的离群点,提取出更精确的线特征。需要注意的是,本文考虑了多个激光束之间的距离信息。这使得可以提取水平特征,从而使用线特征最小化水平和垂直误差。水平线特征 F h F_h Fh和垂直线特征 F v F_v Fv分别存储在两个不同的点云中。在此设置中,忽略了很少出现的平面相交线特征,有利于提高计算效率。

3.4 特征过滤

在上面的处理之后,得到了无序的线特征。下面采用两步过滤方法来消除异常值。

**第一步:**由于点云已经转换成图像形式,因此设计了一个卷积核来过滤掉距离所有八个相邻点超过一定阈值的点。这种过滤方法可以去除所有的异常点以及与地面对应的点。剩余的特征可以被识别为线特征。

过滤前后的线特征如下图所示。

【文献分享】基于线特征的激光雷达和相机外参自动标定,文献分享,数码相机,计算机视觉,人工智能

**第二步:**使用聚类算法去除相邻点很少的线特征,剔除短于8像素的线特征。

以上两个过滤步骤可以提供更有条理的点云线特征,保证后续步骤的优化效果更好

3.5 自适应优化

在优化之前,已经将LiDAR线特征提取到图像上,并计算投影到灰色区域的LiDAR点的比例。

为了准确地找到解,采用了两个搜索步骤。

  1. 首先,为了防止搜索陷入局部解,采用图像线特征宽、灰度变化小、步长相对较大的粗糙搜索,可以快速发现可能包含最佳解的区域。
  2. 然后,应用更细的图像线特征和更大的灰度变化,以及更小的步长,以获得更精确的校准结果。

当激光雷达点投射到灰色区域的比例超过一定阈值时,就会发生这两步大小和灰度变化之间的切换。

【文献分享】基于线特征的激光雷达和相机外参自动标定,文献分享,数码相机,计算机视觉,人工智能


为了提高计算效率,提出了一种自适应优化方法,使优化向着正确的方向进行。

将当前像素得分与相邻的728个得分进行比较。在此过程中,如果搜索程序发现得分较高的参数,则停止当前搜索过程,并在得分较高的位置开始新的搜索过程。此外,当达到设定的迭代次数或找到最佳分数时,该搜索过程将停止,从而可以提高计算效率。另外,还使用滑动窗口来设置优化过程中需要考虑的帧。在本文中,为了防止从错误的方向进行优化搜索或陷入局部最优解,使用了三帧。因此,最终优化的外部参数应该在滑动窗口的所有帧中都超过其他参数。

4 实验与结果

在KITTI数据集的不同场景下进行了两次实验。

4.1 精度分析

图(a)和(b)给出了实验一的结果,图©和(d)给出了实验二的结果。在这两个实验中,在X、Y、Z轴上增加了1度的旋转偏置,并对地面真值参数增加了0.05米的变换偏置。然后,每10帧添加0.5度的旋转偏差。需要指出的是,1度旋转偏置是正还是负是随机的。实验将标定误差与地面真实值进行了比较。此外,还测试了检测误校准的能力和纠正偏差的速度。

【文献分享】基于线特征的激光雷达和相机外参自动标定,文献分享,数码相机,计算机视觉,人工智能

在不计算人为误差的情况下,横摇、俯仰、偏航的最大误差始终在0.5度以内。由于激光雷达具有较高的水平分辨率,偏航的校准结果最为精确。尽管激光雷达在垂直方向上的分辨率要低得多,并且该方向上的3D特征呈现频率较低,但由于采用了自适应优化算法,并且该方向的权重较高,因此所提出方法仍然可以达到较高的精度。总体而言,在所有维度上的平均旋转误差为0.12度,低于大多数离线校准技术。

4.2 纠错速度分析

在上图(a)和(b)中,黑色箭头1、2、3和4指向添加偏差的框架。对于箭头1和3提出的方法立即纠正了偏差,而没有显示置信度下降,而对于黑色箭头2和4,红色部分在两帧内变为绿色(图(a)),这意味着偏差在两帧内得到了纠正。实验二也出现了同样的情况(图©和(d))。

在KITTI数据集上更多场景下的整体校准结果如下图所示,说明本文方法适用于不同场景。

【文献分享】基于线特征的激光雷达和相机外参自动标定,文献分享,数码相机,计算机视觉,人工智能

5 总结

本文提出了一种在线自动标定激光雷达和相机外部参数的方法。与以前的自动化方法不同,这种新的校准方法不需要在场景中放置标记。作者证明了点云和图像的线特征是校正校准偏差的鲁棒特征。人为添加的偏置可以在一到两帧内得到纠正,比其他方法更快。此外,文中还说明了当前校准结果的置信度可以计算,并进一步用于提高计算效率和精度。

未来的工作希望评估提取的线特征的准确性,以减少特征较少的场景中的校准偏差。利用蒙特卡罗方法可以提供初始参数。

6 参考文献

[1]R. G. Von Gioi, J. Jakubowicz, J.-M. Morel, and G. Randall, “Lsd: a
line segment detector,” Image Processing On Line, vol. 2, pp. 35–55, 2012.文章来源地址https://www.toymoban.com/news/detail-736788.html

到了这里,关于【文献分享】基于线特征的激光雷达和相机外参自动标定的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用lidar_align进行激光雷达与IMU的外参标定(超详细教程)

    1、下载lidar_align源码 ethz-asl/lidar_align: A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose sensor (github.com) https://github.com/ethz-asl/lidar_align 2、解压到ros工作空间目录下的src文件中 不知道如何创建ros工作空间的可以参考我另一篇博客: ubuntu下如何创建ros工作空间

    2024年02月08日
    浏览(46)
  • 相机和雷达外参联合标定

    内容: 关于雷达和相机外参联合标定的踩坑纪录。 Date: 2023/03/19 硬件: 上位机: Jetson ORIN (Ubuntu 20.04, ROS noetic) 雷达: Ouster 32线 相机: Intel D435 一、 标定方案 目前流行的 雷达+相机 标定方案有五种:Autoware, apollo, lidar_camera_calibration, but_velodyne。 Ubuntu20.04安装autoware我看bug比较多,因

    2024年02月11日
    浏览(50)
  • 基于ROS的自动驾驶 激光雷达点云物体检测 项目实战

    前言: 基于Apollo的preception与Autoware的lidar_apollo_cnn_seg_detect模块,并详细记录ROS系统上进行实时检测全部流程和踩坑,文章最后附上rosbag和rosbag的制作方法。参考文章:https://adamshan.blog.csdn.net/article/details/106157761?spm=1001.2014.3001.5502感谢大佬的杰作。 检测效果视频 环境 RTX 2060(

    2024年02月08日
    浏览(40)
  • 【雷达相机外参标定】direct_visual_lidar_calibration安装

    标定雷达和相机时使用direct_visual_lidar_calibration。 https://github.com/koide3/direct_visual_lidar_calibration?tab=readme-ov-file https://koide3.github.io/direct_visual_lidar_calibration/ 主页中有安装指南,但不详细,没有表明依赖包版本。 以下流程仅适用于ubuntu20.04 ros1 。笔者尝试使用ubuntu18.04安装,会遇到

    2024年04月27日
    浏览(41)
  • Bunker_mini多传感器外参标定,雷达相机IMU

    使用Livox Viewer标定外参,具体步骤参考https://github.com/Livox-SDK/Livox-SDK/wiki/Calibrate-extrinsic-and-display-under-ros-cn 需要说明的是,Bunker_mini前面拼了三个AVIA,均安装在定制的支架。 外参标定需要给一个初始的标定数据,由于我们的支架有三维模型,所以可以通过CAD算出来 根据CAD计算

    2024年01月21日
    浏览(45)
  • 激光雷达-相机联合标定

    https://f.daixianiu.cn/csdn/9499401684344864.html imu与lidar标定 https://github.com/PJLab-ADG/SensorsCalibration/blob/master/lidar2imu/README.md 多雷达标定 https://f.daixianiu.cn/csdn/3885826454722603.html ros usb相机内参标定 ROS系统-摄像头标定camera calibration_berry丶的博客-CSDN博客

    2024年02月15日
    浏览(40)
  • 3D激光雷达和相机融合

    主要看重投影误差,cv的标定识别率也太低了。。。原因是找到了,相机给的曝光时间5ms,增大曝光时间成功率大大提升,但曝光时间给打了,影响实时性,头疼。。 主要是3D-2D的标定 采集标定数据 参照以下采集标定数据和处理标定数据,pcd角点选取和图像角点选取: https:

    2024年02月06日
    浏览(57)
  • 激光雷达和相机联合标定

    所有内容仅供个人学习记录 相机内参是相机坐标系转换到图像像素坐标系 相机内参是世界坐标系转换到相机坐标系 相机的成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。 四个坐标系: 1) 世界坐标系(world coordinate system) 现实世界的三维坐

    2024年01月18日
    浏览(49)
  • 镭神激光雷达和相机联合标定

    镭神激光雷达坐标系和相机坐标系都为右手坐标系 镭神激光雷达坐标系:原点为激光雷达光学中心,右为X,前为Y,上为Z 相机坐标系:原点为相机光心,右为X,下为Y,前为Z 同时规定欧拉角:绕X轴为俯仰角(pitch),绕Y轴为翻滚角(roll),绕Z轴为偏航(航向)角(heading、yaw)。 此时

    2024年02月09日
    浏览(63)
  • Autoware实现相机和激光雷达联合标定

    1-编译 2-修改代码 打开CMakeLIsts.txt 将三处该行 if (\\\"${ROS_VERSION}\\\" MATCHES \\\"(indigo|jade|kinetic)\\\") 改为 if (\\\"${ROS_VERSION}\\\" MATCHES \\\"(indigo|jade|kinetic|melodic)\\\") 重新编译: 3-测试启动 输入命令,显示如下,则证明正常: 启动激光雷达: /velodyne_points /rslidar_points 启动相机: /camera/color/image_raw 设

    2024年01月19日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包