摘要

LiDAR和相机对于多模态感知系统是关键的传感器。然而外参变换矩阵会随时间而发生漂移。为了解决这个问题,本文提出一个基于线特征的方法来进行在线相机LiDAR自标定。线特征因为无处不在,所以被选来约束外参矩阵。首先在点云和图片中提取线特征。然后自适应优化方法被用来获取精确的外参矩阵。论文表明线特征是可以从点云和图片中提取的鲁棒几何特征,然后用于外参标定。本文在KITTI数据集上评估本文的算法,实验表明其标定精度的优秀。在在线的几百帧实验中,本文的方法达到0.2°的精度,本文也展示了其不同场景下的适应性较强。

主要贡献

1)提出一个在线标定六自由度外参的方法,其使用一般的线特征来降低漂移误差,而不需要人工选点和特殊的targets,因此可以适用于任意给定场景。

2)提出从点云中在线获取线特征的点云线提取方法。

3)引入自适应优化方法和结果置信度评估方法来确保优化朝着正确方向,以及更有效地计算标定结果。

方法

算法分为三步。首先对点云和图片数据进行前处理。然后从图片和点云中提取线特征,以及通过特征滤除进行refine操作。最后将点云线特征通过在初始外参上增加扰动后投影到像素帧中,然后计算和优化每次得到的分数。

A 问题构建和假设

本文使用欧拉角和平移来表示LiDAR和相机的相对外参。本文将点云记为,图像像素值记为(灰度图像素0-255,白色为255,黑色为0,所以离边缘点越近,则其值越大,则下面的分数越高),它表示第t帧数据的点i和像素ij值。本文通过将每个点投影到像素坐标下,然后给每个像素增加灰度值计算当前参数的分数,进而优化6-DOF外参。目标函数如下

其中表示水平特征,表示垂直特征,点就是这两种特征中的点。系数代表两种特征的权重,本文设定的是0.65,以便增加水平约束的作用。表示滑窗的大小,第t帧的score是由前面帧平均得到的。(这里可以图像的权重就是对应像素的灰度值,灰度值越大,则越可能是边缘;而LiDAR点云的权重可以是其作为边缘的置信度,比如此边缘点与最近点的距离,距离越大,则越可能是边缘,则相应权重越大)

本文的基本假设就是当标定参数正确时点云的线特征会对应图像线特征有更高的响应。而且本文也假设LiDAR和相机的内参已经正确标定,数据也进行了同步。

B 图片处理

首先将RGB转为灰度图,使用[Lsd: a line segment detector ]提取线特征。然后将距离变换模型应用到这些灰度图中。Fig3(c)中的线特征更加有序,灰度值变化要求(边缘提取需要的超参)更小,可以容忍更大的搜索步长,即可以避免优化陷入局部极值。

C LiDAR处理

LiDAR主要利用距离连续性来获取边缘线特征。本文是引用局部建图方法将三帧点云拼在一起,可以在一帧中得到更多点。使用NDT方法来计算三帧的相对运动。Fig4展示了多帧点云和单帧点云的边缘点提取效果,说明多帧点云可以提升线特征提取的效果,尤其当LiDAR线束较低时。

然后将稠密点云转换到图像格式,每个像素保存对应点云的距离信息(Range Image)。通过比较当前点和相邻点的距离,更精确的线特征可以提取出来,并且剔除了与相邻点很近的外点。与[Automatic online calibration of cameras and lasers]不同的是,我们使用了多条线束,而不是一条线束(beam)。这就可以提取水平特征,可以用线特征最小化水平和垂直误差。水平和垂直线特征保存在不同点云中。平面的侥幸因为很少出现,所以这里被忽略了,这样也可以减少计算量。

D 特征滤波

上述方法提取的线特征是无序的,因此这里采用两种方法来提取外点。因为点云被转为range image,所以使用卷积核来滤除与八个相邻点距离大于某个阈值的点。这种方法可以滤除外点和地面点。剩余的点可以视作线特征。

然后使用聚类方法来滤除只有很少相邻点的线特征点。

这两步可以提取更有序的点云线特征,可以在接下来的优化中获得更优的结果。

图片中的线特征会滤除少于8个像素的特征。

E 自适应优化

优化时要考虑计算量和计算精度。优化前将LiDAR的线特征投影到图片中,然后LiDAR点投影到灰度区域的比例(???)会被计算出来。

如Fig6所示,为了计算精度,采取两个搜索步骤来得到更精确的结果。首先,为了避免搜索陷入局部最优解,一个更宽图像线,更小灰度变化,和相对更大的补偿的粗糙搜索方法被采用,以快速发现包含最优解的区域。然后更细的图像线特征,更大的灰度变化,更小的搜索步长被采用来获取更精确的标定结果。两部中的尺度和灰度变化的切换会在投影到灰度区域的点云的比例(proportion,怎么计算???)超过某个阈值后发生。

为了计算效率,本文采取了一个自适应方法来让优化朝着正确的方向进行。[Automatic online calibration of cameras and laser]中,他们在729个不同值中做运算以获取函数分数,这种方法效率不高,因为有的步骤是冗余的。本文采用搜索方法来优化目标函数。他会将当前分数与相邻728个分数进行比较。这个过程中,日和平搜索程序发现外参有更高的分数,就会暂停当前搜索步骤,然后在更高分数位置开始一个新的搜索。搜索过程会在达到最大迭代次数或者找到最有分数后停止,这样可以增加计算效率。同时使用滑窗方法。本文中三帧点云用来防止优化搜索朝着错误的方向进行或者陷入局部最优解。因此,最终的优化参数应该在滑窗的所有帧中是最优的。

总的来说,两个步骤可以得到更加鲁棒和精确的结果,终止的策略也可以加速标定。算法如Algorithm1.

Line-based Automatic Extrinsic Calibration of LiDAR and Camera论文阅读相关推荐

  1. Automatic Extrinsic Calibration for Lidar-Stereo Vehicle Sensor Setups阅读笔记

    Automatic Extrinsic Calibration for Lidar-Stereo Vehicle Sensor Setups paper ros_code 特点: 1.用于低分辨率的传 ...

  2. Automatic extrinsic calibration between a camera and a 3D Lidar using 3D point and plane corresponde

    Automatic extrinsic calibration between a camera and a 3D Lidar using 3D point and plane corresponde ...

  3. Motion Based Multi-Sensor Extrinsic Calibration源码配置与学习记录

    Motion Based Multi-Sensor Extrinsic Calibration源码配置与学习记录 1论文及源码地址 2环境配置 2.1 CppAD库 2.2 pycppad库 2.2. ...

  4. 【论文阅读】An Extrinsic Calibration Tool for Radar, Camera and Lidar

    目录 An Extrinsic Calibration Tool for Radar, Camera and Lidar Abstract I. INTRODUCTION II. RELATED WO ...

  5. CalibNet:Geometrically Supervised Extrinsic Calibration using 3D Spatial Transformer Networks阅读理解

    CalibNet:Geometrically Supervised Extrinsic Calibration using 3D Spatial Transformer Networks 无目标标定的 ...

  6. Point-to-Voxel Knowledge Distillation for LiDAR Semantic Segmentation 论文阅读CVPR2022

    动机 本篇文章旨在将点云语义分割的复杂模型中的知识蒸馏到较轻量级的模型中.具体的实现方式为将原有的3Dbackbone网络的每一层进行裁剪,对每一层只保留原有通道数的一半,通过自监督蒸馏学习的方式,使 ...

  7. 论文阅读06——《CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network for Clustering》

    欢迎到我的个人博客看原文 论文阅读06--<CaEGCN: Cross-Attention Fusion based Enhanced Graph Convolutional Network f ...

  8. 论文阅读:Pixel-level Extrinsic Self Calibration of High Resolution LiDAR and Camera

    论文题目:Pixel-level Extrinsic Self Calibration of High Resolution LiDAR and Camera in Targetless Enviro ...

  9. 对于Automatic Multi-Sensor Extrinsic Calibration for Mobile Robots的标定方案分析总结

    对于Automatic Multi-Sensor Extrinsic Calibration for Mobile Robots的标定方案分析总结 方案标定流程: 标定与地面的z,pitch,roll ...

最新文章

  1. php获取http头信息,php如何获取http头信息
  2. windows下mysql解压包安装
  3. 半天的成果,已经很快了,还有方案实现过程
  4. 报错 The CUDA compiler identification is unknown;No CMAKE_CUDA_COMPILER could be found.
  5. python修改txt里面的内容_python修改txt部分内容,并保存。
  6. 一些著名的大公司面试题目-java
  7. Android的cangoback方法,Android应用开发Android8.0 WebView返回上一层失效(canGoBack返回false问题)解决办法...
  8. matlab中极点留数法,用MATLAB求留数.pdf
  9. linux不解压情况下查看压缩包内文件的总行数、文件列表的数目
  10. 苹果计算机使用方法,苹果电脑系统使用教程_初次使用苹果电脑教程-win7之家
  11. vue+echarts 地图实现三级下钻
  12. arm汇编语言中bne 1b的意思
  13. python爬虫:抓取道指成分股数据
  14. 计算机云计算论文范文,云计算环境下计算机管理系统论文
  15. 【AIX】AIX中级试题
  16. 程序和进程和线程的区别是什么?
  17. Qt连接MySql数据库(本地和远程数据库均可)
  18. oracle错误代码大全(超详细)
  19. 计算机cpu频率时钟周期,关于cpu:什么是时钟周期和时钟速度?
  20. 最大熵模型及GIS算法

热门文章

  1. css中的单位换算_css 长度单位转换器
  2. 使用python爬取天气信息(包括历史天气数据)
  3. 视觉3D感知(二):单目3D物体检测
  4. PADS(二)更多使用和实战总结
  5. 面向协议与面向对象的区别
  6. Java 生鲜电商平台 - API 接口设计之 token、timestamp、sign 具体架构与实现
  7. 机械臂颜色识别案例 | 路上捡到一台机械臂,给它点颜色瞧瞧?
  8. 程序员应该如何读好书?
  9. Profibus-Dp 工作过程介绍
  10. 让“数据库审计”服务保卫你的数据库