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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/521239.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

闪站侠洗护管理系统,洗衣洗鞋小程序软件定制,干洗连锁店软件系统搭建;

闪站侠洗护管理系统,洗衣洗鞋小程序软件定制,干洗连锁店软件系统搭建; 为了让每一个洗衣洗鞋工厂与门店的连接更加高效便捷,送洗流程更加简单轻松,拽牛科技倾心打造洗衣洗鞋管理软件。我们的目标是通过高效和优质的服务…

Rust vs C++:2024,谁更懂错误处理?

讲动人的故事,写懂人的代码 「席双嘉,听说你的C++项目又因为忘了检查返回值导致内存泄漏,又加班了?」 周五中午,在国内某科技巨头熙熙攘攘的员工餐厅,贾克强半开玩笑地戳了戳坐在隔壁的席双嘉,眼神中满是戏谑。 贾克强,一个热衷于Rust的程序员,总是乐于挑战和探索新…

域名应该如何实名?域名应该如何备案?域名如何解析到服务器

大家好欢迎来到易极赞,今天我们来跟大家聊一下“域名应该如何实名以及备案”这个话题。 域名实名认证是验证域名所有者身份的过程,以确保域名的合法性,通常需要登录到域名服务商后台,进行域名的注册,注册后创建域名模…

【PyQt5篇】多线程

文章目录 &#x1f354;使用QtDesigner进行设计&#x1f6f8;实现多线程&#x1f339;效果&#x1f50e;原因 &#x1f354;使用QtDesigner进行设计 对应的代码btn.ui <?xml version"1.0" encoding"UTF-8"?> <ui version"4.0">&l…

虚拟机VMware启动虚拟机刚启动有网之后没网

虚拟机VMware启动虚拟机刚启动有网之后没网 害&#xff0c;感觉这种调试的事情是真的浪费时间 如题&#xff0c;对于这种情况&#xff0c;一句话&#xff0c;就是你本地的DHCP虚拟机服务以及NAT网络服务没启动 本机windowR,输入services.msc 进入服务 然后 喏&#xff0c;…

迷茫下是自我提升

长夜漫漫&#xff0c;无心睡眠。心中所想&#xff0c;心中所感&#xff0c;忧愁当前&#xff0c;就执笔而下&#xff0c;写下这篇文章。 回忆过往 回想当初为啥学前端&#xff0c;走前端这条路&#xff0c;学校要求嘛&#xff0c;兴趣爱好嘛&#xff0c;还是为了钱。 时间带着…

机器学习周报第36期

目录 一、文献阅读1.1 摘要1.2 论文背景1.3 论文背景1.4 视频处理特征传播1.5 论文方法 二、相关代码 一、文献阅读 论文标题&#xff1a;Object Detection in Videos by High Quality Object Linking 1.1 摘要 与静态图像中的目标检测相比&#xff0c;视频中的目标检测由于…

瑞_Redis_商户查询缓存_添加Redis缓存缓存更新策略

文章目录 项目介绍1 短信登录2 商户查询缓存2.1 什么是缓存2.1.1 缓存的应用场景2.1.2 为什么要使用缓存2.1.3 Web应用中缓存的作用2.1.4 Web应用中缓存的成本 2.2 添加Redis缓存2.2.1 背景2.2.2 缓存模型和思路2.2.3 代码实现2.2.4 测试附&#xff1a;IDEA控制台输出自动换行设…

专注项目管理的Mac工具 - Project Office Pro 最新版

Project Office Pro for Mac是一款功能强大的项目管理软件&#xff0c;旨在帮助用户更好地管理和跟踪项目进展&#xff0c;提高工作效率和质量。以下是该软件的主要功能介绍&#xff1a; 项目创建与编辑&#xff1a;用户可以根据自己的需求自定义项目计划&#xff0c;包括设置…

如何在 Ubuntu 上安装和配置 Tomcat 服务器?

简介&#xff1a;最近有粉丝朋友在问如何在 Ubuntu 上安装和配置 Tomcat 服务器&#xff1f;今天特地写这篇文章进行解答&#xff0c;希望能够帮助到大家。 文章目录 Ubuntu上安装和配置Tomcat的详细步骤Tomcat在Linux环境下的安装与配置一、下载并上传Tomcat压缩包二、启动To…

《图解Vue3.0》- 调试

如何对vue3项目进行调试 调试是开发过程中必备的一项技能&#xff0c;掌握了这项技能&#xff0c;可以很好的定义bug所在。一般在开发vue3项目时&#xff0c;有三种方式。 代码中添加debugger;使用浏览器调试&#xff1a;sourcemap需启用vs code 调试&#xff1a;先开启node服…

735.小行星碰撞

题目&#xff1a;给定一个整数数组 asteroids&#xff0c;表示在同一行的小行星。 对于数组中的每一个元素&#xff0c;其绝对值表示小行星的大小&#xff0c;正负表示小行星的移动方向&#xff08;正表示向右移动&#xff0c;负表示向左移动&#xff09;。每一颗小行星以相同…

【智能排班系统】雪花算法生成分布式ID

文章目录 雪花算法介绍起源与命名基本原理与结构优势与特点应用场景 代码实现代码结构自定义机器标识RandomWorkIdChooseLocalRedisWorkIdChooselua脚本 实体类SnowflakeIdInfoWorkCenterInfo 雪花算法类配置类雪花算法工具类 说明 雪花算法介绍 在复杂而庞大的分布式系统中&a…

Pnpm + Turbo 搭建 Web Component Monorepo 组件库

技术选型 使用 Pnpm Turbo 搭建 Web Component Monorepo项目 stencil-component-ui 组件库 pnpm 作为包管理器Turborepo 作为构建系统Vitepress 管理文档 pnpm 技术 什么是 pnpm? 它有哪些优势&#xff1f; pnpm 跟 npm、yarn一样&#xff0c;都是用于管理Node包依赖的管…

构建连接世界的高校海外系统:功能架构解析与思考

随着全球化的深入发展&#xff0c;越来越多的高校开始面向海外拓展&#xff0c;建立起跨国合作与交流的桥梁。而为了更好地管理和服务海外学生、教职员工以及校友&#xff0c;高校海外系统的功能架构显得尤为重要。本文将深入探讨高校海外系统的功能架构设计&#xff0c;以及如…

免注册,ChatGPT可即时访问了!

AI又有啥进展&#xff1f;一起看看吧 Apple进军个人家用机器人 Apple在放弃自动驾驶汽车项目并推出混合现实头显后&#xff0c;正在进军个人机器人领域&#xff0c;处于开发家用环境机器人的早期阶段 报告中提到了两种可能的机器人设计。一种是移动机器人&#xff0c;可以跟…

【STM32】存储器和位带映射(bit band mapping)

文章目录 0 前言1 关于地址和存储器2 STM32内部存储器3 位带映射&#xff08;bit band mapping&#xff09;4 扩展&#xff1a;IAP 0 前言 最近在研究stm32标准库&#xff0c;对使用宏定义实现位操作的函数非常感兴趣&#xff0c;简单的一句PAout(1) 0;就能实现某个引脚电平的…

lua学习笔记7(函数的学习)

print("*****************************函数的学习*******************************") print("*****************************无参数无返回值函数的学习*******************************") function f1()print("f1函数") end f1() f2function()--…

隐私计算实训营学习九:隐语多方安全计算在安全核对的行业实践

文章目录 一、业务背景&#xff1a;安全核对产生的土壤二、产品方案&#xff1a;从试点到规模化的路三、技术共建&#xff1a;与隐语的共同成长 一、业务背景&#xff1a;安全核对产生的土壤 业务背景&#xff1a;很多粗放使用数据的方式被新出台的法律法规所规范&#xff0c;…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(七)- 向量算术指令格式

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容&#xff1a; 这是一份关于向量扩展的详细技术文档&#xff0c;内容覆盖了向量指令集的多个关键方面&#xff0c;如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…