高精度端到端在线校准环视相机和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

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr