高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据)

本文主要是介绍高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据)

image

附赠自动驾驶学习资料和量产经验:链接

写在前面

在自动驾驶车辆的使用寿命内,传感器外参校准会因振动、温度和碰撞等环境因素而发生变化。即使是看似无害的 camera-lidar 外参校准值有一两度的误差,也可能给高级的 camera-lidar 感知功能引入灾难性的故障。

image

连续在线外部校准(COEC)在自动驾驶车辆的稳健性和安全性中发挥关键作用,在操作系统失效时能够识别故障,触发纠正行为,然后继续无损运行。如图所示,在没有人员车辆服务事件的情况下,重新标定传感器系统是面向车队可扩展的安全关键传感器融合系统的要求。

原文链接:精度0.2度内!无需训练数据,端到端在线校准环视相机和LIDAR

本文提出了一种轻量级无模式在线校准算法,用于使用深度特征互信息(MI)进行鱼眼相机和激光雷达的连续在线外参标定:

  • 使用深度特征互信息的端到端 COEC 流程

  • 用于标定评估的自我诊断置信度度量

  • 在 KITTI-360 数据集上进行的真实实验,使用原始未校正的鱼眼图像

方法

互信息测量了当了解一个变量后对另一个变量的不确定性减少的程度。在相机和激光雷达之间的外部标定的真值处,互信息的值应该是最大的。

当前有方法利用图像强度和激光雷达反射(一种强度特征)共享信息,并且可以用作相机-激光雷达外参标定的成本度量。然而,关于哪些场景共享强度特征信息没有理论和很少的一致性。图像的亮度(强度)与激光雷达测量的强度仅有松散的相关性。例如,一个深蓝色和明亮的白色路标都会返回高强度的激光雷达测量,但图像的强度会有很大的变化。这样的例子,在自动驾驶传感器数据中,显示了图像和激光雷达强度之间的不一致性是很常见的。

image

虚拟一个深度传感器以相机图像作为输入,并返回场景中每个像素的深度,使用单目深度估计网络实现深度估计。虚拟传感器和激光雷达之间的外参标定,也就是相机和激光雷达传感器之间的标定。如图所示,对于点云不使用强度信息,而是欧氏距离作为特征(见图2)。

如何判断优化收敛也至关重要,主要有三个简单的指标:

  • 互信息的值,在外参标定的真实值处被假定为最大值

  • 互信息对外参的一阶导数,在信息函数最大值时应为零

  • 互信息对外参的二阶导数,反映了信息函数的峰值,并应在外参标定的正确值处为最大值。

具体算法

COEC算法的输入是一组时间同步的图像点云对 (�=(�1,�1),(�2,�2),…,(��,��)),其中每对包括在二维相机光学坐标系 ( ��� ) 中记录的RGB图像 ( �� ) 和在LiDAR坐标系 ( �� ) 中记录的包含K个三维点的点云 ( �� )。

在第一步中,使用预训练的单目深度估计网络从每个RGB图像中提取深度图 ( �� )。第二步中,使用由初始值 ( Θ0=[��,��,��,��,��,��]� ) 参数化的刚性变换 ( ���∈�4×4),首先将每个点云转换为三维相机坐标系 (�� ),然后进一步投影到相机光学坐标系 ( ��� )。投影是基于双球相机模型和投影相机矩阵 ( �∈�3×4 ) 完成的。

对于每个深度图点云对 { (��,��)} ,我们得到了一组 ( �≤� ) 个像素,3D LiDAR点被投影到这些像素上。从像素中我们可以直接提取相应的图像深度特征 ( ��=��1,��2,…,��� ),通过从深度图中获取相应的值来实现。匹配的点云深度特征 ( ��=��1,��2,…,��� ) 则使用每个三维点到LiDAR坐标系原点的欧几里得距离来计算。通过归一化直方图表示,我们使用这两组特征近似它们的互信息(MI):

��(��,��,Θ)=�(�Θ�)+�(�Θ�)−�(�Θ�,�Θ�)

MI值直接取决于外部参数 ( Θ )。为了获得更稳健的估计,对整个输入集合的MI值进行平均。最后,使用平均MI作为目标函数,该函数由外参参数化,并将其最大化以获得正确的外参参数。优化使用Powell的BOBYQA算法,用于解决无导数的有界优化问题。

实验

精度表现

image

image

失效检测

展示了三个指标的数值:互信息、数值一阶导数和数值二阶导数。使用了50对图像-点云,这些图像-点云是在三分钟的驾驶片段中获取的,用于计算每个指标。在校准的真实值和1°、3°误差值处的指标数值在图4中展示。

image

image

image

总结一下

提出了一种利用相机单目深度估计和激光雷达深度特征之间的互信息进行连续在线外参校准的算法,其适用于汽车连续在线外参校准应用,未来的工作可以包括:

  • 探索单目深度估计和激光雷达互信息的统计特性

  • 了解与使用数据量的关系

  • 更全面的置信度指标和强大的分类器

  • 扩展到更多的相机和激光雷达模型

参考

[1] Continuous Online Extrinsic Calibration of Fisheye Camera and LiDAR

这篇关于高精度端到端在线校准环视相机和LIDAR(精度0.2度内!无需训练数据)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/882735

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加