论文阅读:Correcting Motion Distortion for LIDAR HD-Map Localization

目录

概要

Motivation

整体架构流程

技术细节

小结


论文地址:http://arxiv.org/pdf/2308.13694.pdf

代码地址:https://github.com/mcdermatt/VICET

概要

激光雷达的畸变矫正是一个非常重要的工作。由于扫描式激光雷达传感器需要有限的时间来创建点云,所以一次扫描过程中传感器的运动会导致点云发生畸变,这种现象被称为运动畸变或者卷帘快门。运动畸变校正方法已经存在,但是它们依赖于外部测量或者多次激光雷达扫描上的贝叶斯滤波。本文提出了一种新型算法,其执行快照处理以实现运动畸变校正。

Motivation

  • 传统的运动畸变校正方法存在一些局限性,比如依赖于外部测量设备或者贝叶斯滤波器,这些方法可能不够实时或者成本较高。而本文提出的VICET算法通过快照处理技术,直接从当前LIDAR扫描中提取信息,校正运动畸变,不需要额外的设备,因此更具实用性和经济性。
  • 提出了一种能够对测量不确定性进行有意义预测的新方法,鲁棒误差边界的计算是自动驾驶乘用车等安全关键导航系统的一个重要方面。
  • 通过加入运动畸变补偿来改进NDT算法,以提高配准精度。

整体架构流程

该算法的整体架构流程包括快照处理、初始配准、扩展NDT匹配和优化、校正等关键步骤。首先,通过快照处理技术将当前LIDAR扫描与参考图像进行配准,得到初始的刚性变换估计。然后,利用扩展的NDT算法,同时优化刚性变换和运动失真参数。最后,根据优化后的参数对LIDAR扫描进行校正,以获得准确的校正结果。

考虑放置在矩形房间内的 机械旋转 LIDAR 单元,如图 所示。每次 LIDAR 绕 LIDAR 垂直 (z) 轴旋转 360 ° 时,都会生成 ALIDAR 图像(或扫描)。定义当旋转光束与连接 到 LIDAR 定子的坐标系统中的正 x 方向对齐时开始 LIDAR 扫描,我们将其标记为车身框架。在图中, 激光雷达的起始和结束位置由向量基表示,其中旋转 轴以蓝色显示,扫描起始轴以红色显示。现在考虑三 种情况,一种情况是传感器在扫描期间保持静止(以 标记为 a 的姿势开始和结束),第二种情况其中传感器进行纯平移(从 a 开始并在 b 结束), 第三种情况是传感器同时进行平移和旋转(从 a 开 始并在 c 结束)。这三种情况中的每一种都会创建 一个不同的 LIDAR 点云,如下所示:鸟瞰图,位于 标有"原始点云"(红色)的列中。在所有情况 下,点云中间都会出现一个圆圈,反映高程截止 点,模拟 LIDAR 单元无法生成地平线以下 30 ° 以 下的样本。点云是假设起点和终点之间的运动速率 一致而生成的。重要的是,原始图像是扭曲的(静 止情况除外),因此房间的墙壁不会形成完美的正 方形。然而,考虑到平台运动,点可以从主体坐标 系坐标转移到世界坐标系坐标。未扭曲的点云如图 2 所示。 1 作为标记为"失真校正"的一列图像 (蓝色)。重要的是,这些畸变校正图像都恢复了 正确的房间形状,以方形墙为界。在最后一种情况 (a → c)中,出现了缺失数据的楔形,因为 LIDAR 定子顺时针旋转,与 LIDAR 转子逆时针旋 转相反,这样在单次扫描期间无法看到整个房间。对于地图匹配应用,姿态是相对于参考图像进行估 计的。例如,可以通过记录移动激光雷达的一系列 顺序扫描来构建参考图像,以创建马赛克图像或高 清 (HD) 地图。如果在配准到地图之前可以对当前 扫描(在激光雷达的框架中捕获)进行反扭曲(转 换为世界框架),则该配准操作的性能将大大提 高。在图(1)的矩形房间的情况下,地图看起来非 常像静态情况下的扫描 (a → a)。如果在平移 (a → b) 或组合平移和旋转 (a → c) 过程中生成新的 LIDAR 图像,则生成的原始图像(红色)将与相应 的失真校正图像(蓝色)相比,更难与房间地图对 齐。本文的主要焦点是仅使用当前的激光雷达扫描和地 图就可以进行畸变校正。如果 LIDAR 运动未知,那 么我们可以通过将当前图像配准到地图来推断运 动,同时还测试各种反扭曲变换,以确定导致最佳 对准的配准和反扭曲的组合。

用于研究运动畸变校正的简单测试场景。等距房间视图显示了三个可能的激光雷达位置,标记为a、b和c。
在每个位置上,激光雷达单元的方向由一组正交基向量描述。对于每种配置,假设激光雷达束从红色箭头开始与垂直(蓝色)轴逆时针旋转。在扫描过程中,激光雷达单元可以保持静止(a → a),前向线性运动(a → b),或进行复合平移和旋转(a → c)。在每种情况下,激光雷达束在激光雷达定子的参考系中旋转360度,而定子本身也在移动,导致畸变的原始点云(从上方视角看,用红色表示)。通过补偿定子运动,可以将原始图像转换为固定于房间的坐标系(用蓝色表示),从而恢复出房间的正方形形状。

技术细节

LIDAR 定子(或主体)B 的框架相对于地图框架 M 移 动。出于说明目的,底座以 2D 形式显示(从上方观察)。时 间的进展由灰色阴影箭头表示,激光雷达光束在时间 t = 0 和时 间 t = T 之间扫过一整圈时记录测量结果(红点)。

200 次扫描中每一次的地面实况,叠加在高清地图上

时间戳:可以通过使用光束角度𝜓来近似激光雷达点的时间戳。重要的是不要将记录在不同时间(例如在扫描开始和结束时)的点分组在一起。通过在0°(扫描开始)处定义一个体素边界,然后移除𝜓<0°或𝜓≥360°的偶发异常点来解决混叠问题。

初始化:VICET假设对初始姿态有一个合理的估计。通过首先运行标准的扫描匹配算法(具体为NDT)来获得初始姿态,然后VICET通过补偿运动畸变来改进这个估计。

扩展表面:NDT无法识别墙壁(以及跨越体素边界的其他平面表面)仅在表面法线方向上提供有用信息;为了增强收敛可靠性和准确性,采用ICET 的扩展表面抑制方法。

小结

在静态高清地图上注册 200 个原始 LIDAR 扫描时的平移误差(顶部)和偏航误 差(底部)

在本文中,引入了VICET,这是一种求解单帧激光雷达点云的扫描到地图匹配问题的新型算法。VICET求解了12种状态,其中6种状态描述了将扫描与地图对齐的刚体变换,另外6种状态考虑了在创建点云过程中平台运动所造成的畸变。与其它运动畸变方法相比,本文方法仅需要单帧激光雷达扫描,并且不需要外部传感器数据。

通过在现实世界数据上进行实验,本文证明了VICET比传统的NDT和ICP提高了精度,降低了地图匹配的平移偏差(从6.9cm降低到0.27cm,降低了一个数量级),同时减少了一个sigma变化(从5.4cm到2.6cm)。VICET还降低了姿态估计的偏差和方差。这些改进与精密汽车和城市空中交通应用相关。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 算法:找到字符串中所有字母异位词c++

原题链接&#x1f517;&#xff1a;找到字符串中所有字母异位词 难度&#xff1a;中等⭐️⭐️ 题目 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符…

Nginx实战:防盗链

防盗链的概念 内容不在自己的服务器上&#xff0c;通过技术手段将其他网站的内容&#xff08;比如 一些音乐、图片、软件的下载地址&#xff09;放置在自己的网站中&#xff0c;通过这 种方法盗取其他网站的空间和流量 防盗链技术背景 防止第三方引用链接访问我们的图片&#x…

mysql面试之分库分表总结

文章目录 1.为什么要分库分表2.分库分表有哪些中间件&#xff0c;不同的中间件都有什么优点和缺点&#xff1f;3.分库分表的方式(水平分库,垂直分库,水平分表,垂直分表)3.1 水平分库3.2 垂直分库3.3 水平分表3.4 垂直分表 4.分库分表带来的问题4.1 事务一致性问题4.2 跨节点关联…

UE_地编教程_创建地形洞材质

个人学习笔记&#xff0c;不喜勿喷。侵权立删&#xff01; 使用地形洞材质来遮罩地形上特定位置的可视性和碰撞。如要在山脉侧面创建进入洞穴的入口&#xff0c;此操作将非常有用。可使用地形材质和地形洞材质的相同材质&#xff0c;但注意&#xff1a;对比不使用不透明蒙版的…

【Linux】Linux工具——yum,vim

1.Linux 软件包管理器——yum Linux安装软件&#xff1a; 源代码安装&#xff08;不建议&#xff09;rpm安装&#xff08;类似Linux安装包&#xff0c;版本可能不兼容&#xff0c;不推荐&#xff0c;容易报错&#xff09;yum安装&#xff08;解决了安装源&#xff0c;安装版本&…

即时通讯平台及门户系统WorkPlus打造移动应用管理平台

在全球化和数字化时代&#xff0c;企业管理和沟通的方式正发生着巨大的变化。为了实现高效的协作和资源共享&#xff0c;企业越来越倾向于使用即时通讯及门户系统。这两种系统结合起来&#xff0c;可以提供一套完整的沟通和信息发布平台&#xff0c;促进内部协作和信息管理。 …

【Python内功心法】:深挖内置函数,释放语言潜能

文章目录 &#x1f680;一、常见内置函数&#x1f308;二、高级内置函数⭐1. enumerate函数&#x1f44a;2. eval函数❤️3. exec函数&#x1f4a5;4. eval与exec 中 globals与locals如何用☔4-1 globals 参数&#x1f3ac;4-2 locals 参数 ❤️5. filter函数&#x1f44a;6. z…

【Leetcode笔记】40.组合总和II

1. 题目要求 这道题目和39.组合总和不一样的地方在于&#xff1a;数组中含有相同的元素。同样地&#xff0c;结果不能含有重复组合。 拿第一个示例来看&#xff0c; candidates [1, 1, 2, 5, 6, 7, 10]问题在于&#xff1a;第一个path[1(index 0), 2]&#xff0c;绝不能出现…

0、机器学习知识点

机器学习知识点 知识点汇总 知识点汇总 https://blog.csdn.net/seagal890/article/details/105352987 https://blog.csdn.net/fengdu78/article/details/115878843

[数据集][目标检测]脑溢血检测数据集VOC+YOLO格式767张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;767 标注数量(xml文件个数)&#xff1a;767 标注数量(txt文件个数)&#xff1a;767 标注类别…

unity2D跑酷游戏

项目成果 项目网盘 导入资源包 放入Assets文件Assets资源文件 游戏流程分析 摄像机size调小&#xff0c;让图片占满屏幕 人跑本质&#xff0c;相对运动&#xff0c;图片无限向右滚动 图片720&#xff0c;缩小100倍第二个图片x为7.2每unit px100两张图片刚好挨着连贯 空对象Bg…

友善RK3399v2平台利用rkmpp实现硬件编解码加速

测试VPU 编译mpp sudo apt update sudo apt install gcc g cmake make cd ~ git clone https://github.com/rockchip-linux/mpp.git cd mpp/build/linux/aarch64/ sed -i s/aarch64-linux-gnu-gcc/gcc/g ./arm.linux.cross.cmake sed -i s/aarch64-linux-gnu-g/g/g ./arm.lin…

Python 入门教程详细版全集(两周速成)

一、初始Python 打开CMD&#xff08;命令提示符&#xff09;程序&#xff0c;输入Python并回车。然后&#xff0c;在里面输入代码回车即可立即执行。 Tip1:找不到“命令提示符”程序在哪里&#xff1f; 使用快捷键&#xff1a;win r;打开运行框&#xff0c;输入cmd后回车即可…

942. 增减字符串匹配 - 力扣

1. 题目 由范围 [0,n] 内所有整数组成的 n 1 个整数的排列序列可以表示为长度为 n 的字符串 s &#xff0c;其中: 如果 perm[i] < perm[i 1] &#xff0c;那么 s[i] I 如果 perm[i] > perm[i 1] &#xff0c;那么 s[i] D 给定一个字符串 s &#xff0c;重构排列 pe…

【LeetCode算法】第111题:二叉树的最小深度

目录 一、题目描述 二、初次解答 三、官方解法 四、总结 一、题目描述 二、初次解答 1. 思路&#xff1a;二叉树的先序遍历。求出左子树的最小高度&#xff0c;求出右子树的最小高度&#xff0c;最终返回左子树和右子树的最小高度1。关键&#xff1a;若左子树的高度为0&…

springboot发送短信验证码,结合redis 实现限制,验证码有效期2分钟,有效期内禁止再次发送,一天内发送超3次限制

springboot结合redis发送短信验证码,实现限制发送操作 前言(可忽略)实现思路正题效果图示例手机号不符合规则校验图成功发送验证码示例图redis中缓存随机数字验证码&#xff0c;2分钟后失效删除redis缓存图验证码有效期内 返回禁止重复发送图验证码24小时内发送达到3次&#xf…

[深度学习]使用python部署yolov10的onnx模型

测试环境&#xff1a; onnxruntime1.15.1 opencv-python4.8.0.76 部分实现代码&#xff1a; parser argparse.ArgumentParser()parser.add_argument("--model", typestr, default"yolov10n.onnx", help"Input your ONNX model.")parser.add_arg…

ChatGPT AI专题资料合集【65GB】

介绍 ChatGPT & AI专题资料合集【65GB】 &#x1f381;【七七云享】资源仓库&#xff0c;海量资源&#xff0c;无偿分享√

网络监听技术

网络监听技术 网络监听概述网络监听环境 流量劫持网络环境共享式网络监听原理交换式网络监听交换机的工作方式交换网络监听&#xff1a;交换机集线器交换网络监听&#xff1a;端口镜像交换网络监听&#xff1a;MAC洪泛交换网络监听&#xff1a;MAC洪泛交换网络监听&#xff1a;…

7-15 位模式(dump_bits)---PTA实验C++

一、题目描述 为方便调试位运算相关程序&#xff0c;先做个展现位模式的小工具。 建议参照以下接口实现&#xff1a; // 利用函数重载特性&#xff1a;string dump_bits(char x);string dump_bits(short x);string dump_bits(int x);string dump_bits(long long x);// 或用函…