KITTI数据集雷达采样点时间戳属性的思考(Failed to find match for field ‘time‘)

ops/2024/9/24 16:05:14/

        最近在SLAM调研期间,看到了FAST-LIO2以及Point-lio这两个比较新的SLAM建图算法,想着上手编译并且运行一下,选择了自己了解到的比较出名的数据集KITTI,想着在上述两个开源算法上上手跑一下(原论文并没有使用KITTI数据集进行验证),研究了两天最终也没有成功解决,上述两个开源算法都需要支持bag包中含有雷达每个点的采样的时间戳(timestamp)属性,查询了几个方法并实践后发现KITTI貌似本身就不支持雷达采样点的时间戳属性。

        KITTI数据集没有雷达采样点的时间戳属性,这个观点仅代表现阶段我的调研,如果确实有这个属性并且有具体的kitti2bag方法将原始数据转换为bag包,欢迎在评论区指出,贴出链接,我也学习一下。

FAST-LIO和Point-lio官方网站

        FAST-LIO是有雷电点云的后向传播、Point-lio采用的是雷达采样点的直接配准,两者都需要雷达点云具体的时间戳属性,具体可以参考论文以及Github官网展示:

GitHub - hku-mars/FAST_LIO: A computationally efficient and robust LiDAR-inertial odometry (LIO) package

https://github.com/hku-mars/Point-LIO

心路历程

Kitti2bag官方数据包转换工具

        最先尝试的是使用Kitti2bag工具包转换KITTI官方odometry对应的数据,将其转换为bag包,随后播放bag包时显示:

        显示没有time属性,其他两个属性不是很重要,一个intensity问题自己搜索之后已经解决,可以参考我的上一篇博客(官方提供的Kitti2bag转换工具也请参考我的上一篇博客):

kitti2bag原始数据转为bag包工具使用、SLAM精度评估工具evo安装及使用、KITTI原始数据集对应关系-CSDN博客

        随后只解决了intensity问题,网络搜索基本找不到有关time的解决方案。 

LIO-SAM Github网站提供的转换工具以及bag

        随后通过某个Github上的issue了解到LIO-SAM提供的工具包能够对KITTI数据集进行转换,再次尝试:

GitHub - TixiaoShan/LIO-SAM: LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

        数据包转换工具以及提供好的bag包下载链接参考如下:

        进入LIO-SAM官网就可以看到上面图片展示的信息,自己下载LIO-SAM官方提供的数据包(上图Google Drive链接),再次修改lidar_topic以及imu_topic后上面出现的intensity以及ring警告均没有了,但是time的警告仍然存在。

其他三方转换工具

        随后又调研了几个转换工具:

  1. 针对Lego-loam跑Kitti00包的(这个方法转换后的bag包只有雷达话题,没有Imu话题,所以没有尝试,感觉也不行,贴个链接供查看):lego-loam 跑 kitti00包(kitti2bag+lego-loam+evo)详细版_kitti格式转tum-CSDN博客
  2. 一个Github上阿里员工提供的kitti2bag转换工具,但是内容基本和上面一个没有太大差别:KITTI数据集转化为ROS bag包(解决各种类型数据集,实测有效)_kitti数据集转化成rosbag-CSDN博客

写在最后

        暂时写到这里,自己尝试了2天,这个问题仍然没有解决,中间我查到一个Github上的issue也是关于Kitti的时间戳的问题,上面写到目前KITTI不支持雷达每个采样点的时间戳,后续有新的内容我会及时贴出来。


http://www.ppmy.cn/ops/115348.html

相关文章

【Power Compiler手册】13.UPF多电压设计实现(5)

细化供电集 要重新定义供电集的功能,请使用`create_supply_set`命令的`-update`选项。必须同时使用`-update`和`-function`选项,以将功能名称与供电网络或端口关联起来。 以下示例展示了如何使用`-update`选项将供电网络与供电集的功能关联: create_power_domain PD_TOP c…

【人工智能学习笔记】7_智能语音技术基础

智能语音技术概述 智能语音技术通过对语音进行分析、理解和合成,是计算机设备实现“能听会说”、具备自然语音交流的技术能力。其涉及的范围主要有: 语音合成技术语音识别技术语音测评技术语音降噪与增强技术…智能语音技术的研究内容 智能语音技术的研究难点 智能语音技术…

LAMP(Linux、Apache、MySQL、PHP)环境搭建和项目部署 编译安装 全流程!

文章目录 LAMP架构LAMP架构组件LAMP架构的工作流程LAMP组件的安装顺序 编译安装 Apache HTTP 服务器1. 关闭防火墙并准备安装所需软件包2. 安装环境依赖包3. 配置软件模块4. 编译及安装5. 优化配置文件路径6. 添加 httpd 服务到系统服务管理7. 修改 httpd 服务配置文件8. 浏览器…

(Python) Structured Streaming读取Kafka源实时处理图像

Producer.py import cv2 from kafka import KafkaProducer import os import os.path as osp# Kafka 服务器地址 bootstrap_servers [xxx.xxx.xxx.xxx:9092] #terminal运行ifconfig可以查看localhost# 创建 Kafka 生产者 producer KafkaProducer(bootstrap_serversbootstrap…

IR21364的代替品SLM21364CF-DG:带过流保护、使能和故障反馈 高压三相半桥驱动芯片 神秘芯片背后的惊人力量

SLM21364CF-DG是一款高压、高速的三相功率MOSFET和IGBT驱动器。采用专有的高压集成电路和锁存免疫CMOS技术,提供可靠的单芯片驱动方案。逻辑输入电平与标准CMOS或LSTTL输出兼容,最低支持3.3V逻辑。通过检测外部电流电阻上电流,过流保护功能能…

【CTF】Nginx日志注入

Nginx日志注入: 日志包含漏洞的成因还是服务器没有进行严格的过滤 ,导致用户可以进行任意文件读取,但是前提是服务器需要开启了记录日志的功能才可以利用这个漏洞。 对于Apache,日志存放路径:/var/log/apache/access.l…

Python 二次开发金橙子打印软件:开启高效打印新旅程

目录 一、准备工作:搭建系统环境 二、二次开发流程详解 结合一个实例来讲解如何进行二次开发。 三、Python 二次开发关键要素 (一)源码示例与解读 (二)二次开发文档指引 四、问题汇总与解决方案 (一…

【Python报错已解决】AttributeError: ‘Tensor‘ object has no attribute ‘kernel_size‘

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…