当前位置: 首页 > news >正文

经典文献阅读之--Online Monocular Lane Mapping(使用Catmull-Rom样条曲线完成在线单目车道建图)

0. 简介
对于单目摄像头完成SLAM建图这类操作,对于自动驾驶行业非常重要,《Online Monocular Lane Mapping Using Catmull-Rom Spline》介绍了一种仅依靠单个摄像头和里程计生成基于样条的在线单目车道建图方法。我们提出的技术将车道关联过程建模为一个二分图的分配问题,并通过结合Chamfer距离、姿态不确定性和横向序列一致性为边赋予权重。此外,文中还精心设计了控制点初始化、样条参数化和优化,以逐步创建、扩展和精化样条。相关的代码已经在Github上开源了。

1. 主要贡献
基于Catmull-Rom样条表示,设计了一个完整的在线车道建图系统,如图1所示。所提出的系统允许自动驾驶车辆使用时间图像和里程计数据实时构建局部车道地图,这可以用于自我定位、规划和众包更新[4]。总体而言,具体贡献可以总结如下:

  1. 我们提出了一个在线单目车道映射系统,包括车道跟踪和地图优化子系统。该系统可以直接输出由Catmull-Rom样条表示的轻量级实例级车道地图,无需离线矢量化。
  2. 系统的每个部分都经过精心设计,结合了车道标线和样条的特性,包括车道关联、姿态估计、样条初始化、扩展和优化。
  3. 在公开可用的数据集OpenLane上的实验表明,我们提出的方法可以改善车道关联、里程计精度和地图质量。

图1. 在OpenLane数据集上的实验结果。灰色点表示使用里程计进行多帧检测的累积结果。彩色曲线表示地图中不同实例的样本点的样条曲线。红色球体表示样条曲线的控制点。

2. 系统概述
所提出的单目车道映射系统的结构如图2所示。该系统使用仅有的单目摄像头和里程计(例如VIO、LIO)作为输入,无需先验导航地图或航空照片,即可输出紧凑的车道标记地图,以样条表示。具体而言,所提出的框架由两个子系统组成:车道跟踪和地图优化。神经网络在车道跟踪中直接基于输入图像预测3D车道标记。然后,这些预测结果经过进一步处理以满足后续需求,详见第3.1节。随后,处理后的车道标记与地图中的车道标记结合,同时考虑里程计提供的位姿信息(第3.2节)。最后,根据关联结果更新位姿(参见第3.3节)。在地图优化中,样条首先从零开始初始化,或者根据新获得的检测结果进行扩展(第4.1节)。最后,应用增量优化框架iSAM2 [28],通过添加新的观测来逐步更新地图中的样条,而不会丢失过去观测的信息(第4.2节)。 

图2. 该块图示了提出的单目车道映射系统的整个流程。该系统分为两个部分:车道跟踪和地图优化。前者用于车道标记关联和姿态更新,而后者用于样条曲线的初始化、扩展和优化。右侧显示了因子图。与传统的二进制视觉因子不同,优化过程中涉及到了点到样条曲线的因子,用于优化四个控制点地标。 

3. 车道跟踪
3.1 车道表示

在这项研究中,我们使用Persformer [12]来获得车道检测结果,其中包括无序的车道标记点及其相关的实例级标签。此外,我们区分车道的表示方式,包括观测(检测)和地标(地图)。特别地,对于网络预测结果,考虑到其稀疏性和噪声,我们首先将其转换为本地参考框架(LRF),其中车道的主要方向与X轴对齐。随后,我们对X-Y和X-Z坐标进行三次多项式拟合,并以特定分辨率进行采样(在我们的实验中设定为0.5米)。因此,车道观测结果可以表示为:

点击经典文献阅读之--Online Monocular Lane Mapping(使用Catmull-Rom样条曲线完成在线单目车道建图) - 古月居

可查看全文 

相关文章:

经典文献阅读之--Online Monocular Lane Mapping(使用Catmull-Rom样条曲线完成在线单目车道建图)

0. 简介 对于单目摄像头完成SLAM建图这类操作,对于自动驾驶行业非常重要,《Online Monocular Lane Mapping Using Catmull-Rom Spline》介绍了一种仅依靠单个摄像头和里程计生成基于样条的在线单目车道建图方法。我们提出的技术将车道关联过程建模为一个…...

frida timed out

从Android Q(10)开始,Google引入了一种新的机制,加快了app的启动时间 Android USAP 进程启动流程 adb shell su ps -A | grep usaproot 9917 1032 6577052 13676 __skb_wait_for_more_packets 0 S usap64 root 9928 1032 6577052…...

51单片机-独立按键控制灯灯灯

目录 简介: 一. 1个独立按钮控制一个灯例子 二. 在加一个独立按键,控制第二个灯 三. 第一个开关 开灯, 第二个开关关灯 四. 点一下开灯,在点一下关灯 五. 总结 简介: 51 单片机具有强大的控制能力,而独立按键则提供了一种简单的输入方式。 当把独立按键与 …...

【C++】用红黑树封装map、set

用红黑树封装map、set 1. 红黑树1.1 模板参数的控制1.1.1 Value1.1.2 KeyOfValue 1.2 正向迭代器1.2.1 构造函数1.2.2 begin()end()1.2.3 operator()1.2.4 operator--()1.2.5 operator*()1.2.6 operator->()1.2.7 operator()1.2.8 operator!()1.2.9 总代码 1.3 反向迭代器1.…...

【中颖】SH79F9202 串口通信

头文件 uart.h #ifndef UART_H #define UART_H#include "SH79F9202.h" #include "LCD.h" #include "timer2.h" #include "timer5.h" #include "cpu.h" #include "key.h" #include "io.h" #include &qu…...

IDEA创建Maven项目

IDEA创建Maven项目 第一步:创建新项目 或者 第二步:创建maven模块 前提条件: File>>Settings,检查自己的maven是否已经安装配置好 创建maven模块 其中Archetype一般选择如下 点击创建后生成如下 需要在main目录下创…...

[每周一更]-(第100期):介绍 goctl自动生成代码

​ 在自己组件库中,由于部分设计会存在重复引用各个模板的文件,并且基础架构中需要基础模块内容,就想到自动生成代码模板,刚好之前有使用过goctl,以下就简单描述下gozero中goctl场景和逻辑,后续自己借鉴将自…...

碳素钢化学成分分析 螺纹钢材质鉴定 钢材维氏硬度检测

碳素钢的品种主要有圆钢、扁钢、方钢等。经冷、热加工后钢材的表面不得有裂缝、结疤、夹杂、折叠和发纹等缺陷。尺寸和允许公差必须符合相应品种国家标准的要求。 具体分类、按化学成分分类 : 碳素钢按化学成分(即以含碳量)可分为低碳钢、中…...

C++ list链表的使用和简单模拟实现

目录 前言 1. list的简介 2.list讲解和模拟实现 2.1 默认构造函数和push_back函数 2.2 迭代器实现 2.2.1 非const正向迭代器 2.2.2 const正向迭代器 2.2.3 反向迭代器 2.3 插入删除函数 2.3.1 insert和erase 2.3.2 push_back pop_back push_front pop_front 2.4 构…...

dependencies?devDependencies?peerDependencies

之前使用的npm包中,我用到了sass包。我当时没有在packagejson中添加依赖项,而是另外install的。这就引起了我的一个思考 初步想法: 我的npm包需要使用sass,那么我应该放在dependencies中,当使用的时候会直接下载 问题…...

在LUAT中使用MQTT客户端,游戏脚本,办公脚本自动操作

本文将介绍在LUAT中工程化使用MQTT客户端的方法及注意事项。实验平台为合宙AIR724UG,其固件版本为Luat_V4001_RDA8910_FLOAT_TMP。 面向对象 使用middleclass库为脚本提供基础面向对象支持,将此repo中的middleclass.lua文件添加到项目中即可使用。middl…...

如何解决maven中snapshot相关jar无法拉取问题

Maven中的SNAPSHOT版本是指正在开发中的版本,这些版本可能会频繁地更新。在使用Maven构建项目时,有时会遇到无法拉取SNAPSHOT相关jar的问题。以下是几种常见的解决方案: 1. 检查Maven配置文件(settings.xml) 确保你的M…...

类似crossover的容器软件有哪些 除了crossover还有什么 Mac虚拟机替代品

CrossOver是Mac用来运行exe文件的一款软件,但是并不是所有的exe文件CrossOver都支持运行。想要在Mac上运行exe文件的方法并不是只有使用CrossOver这一种,那么有没有类似的软件也可以实现exe文件在Mac上运行呢? CrossOver类似软件有哪些 1、Pl…...

以sqlilabs靶场为例,讲解SQL注入攻击原理【54-65关】

【Less-54】 与前面的题目不同是,这里只能提交10次,一旦提交超过十次,数据会重新刷新,所有的步骤需要重来一次。 解题步骤: 根据测试,使用的是单引号闭合。 # 判断字段的数量 ?id1 order by 3 -- aaa# …...

详解 Flink 的时间语义和 watermark

一、Flink 时间语义类型 Event Time:是事件创建的时间。它通常由事件中的时间戳描述,例如采集的日志数据中,每一条日志都会记录自己的生成时间,Flink 通过时间戳分配器访问事件时间戳Ingestion Time :是数据进入 Flink…...

Unreal Engine项目结构与关卡设置详解

引言 Unreal Engine 是一款功能强大的游戏引擎,为开发者提供了丰富的工具来创建和管理游戏项目。本文将详细介绍一个基本的 Unreal Engine 项目结构,并讲解如何在 Unreal 编辑器中进行关卡设置与操作。 Unreal Engine 项目结构 一个基本的 Unreal Eng…...

Access数据中的SQL偏移注入

使用场景: 目标数据表的字段较多,无法一一获取的时候,尝试使用偏移注入的方式实现SQL注入。 原理: 例如:一个表有6个字段,而你想获取的目标表admin的字段不知道,此时可以使用联合查询的方式获…...

Unity 编辑器扩展,获取目录下所有的预制件

先看演示效果 实现方案 1创建几个用于测试的cube 2,创建一个Editor脚本 3,编写脚本内容 附上源码 using UnityEditor; using UnityEngine;public class GetPrefeb : EditorWindow {private string folderPath "Assets/Resources"; // 指定预…...

【Python】解决Python报错:ValueError: not enough values to unpack (expected 2, got 1)

​​​​ 文章目录 引言1. 错误详解2. 常见的出错场景2.1 函数返回值解包2.2 遍历含有不同长度元组的列表 3. 解决方案3.1 检查和调整返回值3.2 安全的解包操作 4. 预防措施4.1 使用异常处理4.2 单元测试 结语 引言 在Python编程中,ValueError 是一个常见的异常类…...

政安晨【零基础玩转各类开源AI项目】解析开源:gradio:改进真实虚拟试穿的扩散模型

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! Gradio 是一个开源 Python 软件包,可以让你…...

深入解读Prometheus Adapter:云原生监控的核心组件

一、引言 Prometheus Adapter的背景与重要性 在现代的云原生架构中,微服务和容器化技术得到了广泛的应用。这些技术带来了系统灵活性和扩展性的提升,但同时也增加了系统监控和管理的复杂度。Prometheus作为一款开源的监控系统,因其强大的指标…...

【计算机视觉】数字图像处理基础:以像素为单位的图像基本运算(点运算、代数运算、逻辑运算、几何运算、插值)

0、前言 在上篇文章中,我们对什么是数字图像、以及数字图像的组成(离散的像素点)进行了讲解🔗【计算机视觉】数字图像处理基础知识:模拟和数字图像、采样量化、像素的基本关系、灰度直方图、图像的分类。 我们知道&a…...

Spring Boot整合WebSocket和Redis实现直播间在线人数统计功能

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…...

uniapp自定义的下面导航

uniapp自定义的下面导航 看看效果图片吧 文章目录 uniapp自定义的下面导航 看看效果图片吧 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6aa0e964741d4dd3a58f4e86c4bf3247.png) 前言一、写组件、我这里就没有写组件了直接写了一个页面?总结 前言 在…...

【Python】selenium使用find_element时解决【StaleElementReferenceException】问题的方法

StaleElementReferenceException 是 Selenium WebDriver 中的一种异常,通常在元素与当前页面的状态不同步时抛出,比如页面已经刷新或导航到另一个页面,但是尝试操作的元素引用仍然是旧页面上的元素。 以下是一些解决 StaleElementReferenceE…...

Apache IoTDB 分布式架构三部曲(三)副本与共识算法

IoTDB 首创并应用的共识协议统一框架,为用户提供了灵活选择不同共识算法的可能性。 对于一个分布式集群而言,为了使得海量数据场景下集群能够横向扩展,集群需要按照一定的规则将全部数据分成多个子集存储在不同的节点上,从而能够更…...

数据挖掘--聚类分析:基本概念和方法

数据挖掘--引论 数据挖掘--认识数据 数据挖掘--数据预处理 数据挖掘--数据仓库与联机分析处理 数据挖掘--挖掘频繁模式、关联和相关性:基本概念和方法 数据挖掘--分类 数据挖掘--聚类分析:基本概念和方法 聚类分析 聚类分析是把一个数据对象&…...

APP单页分发源码下载安卓苹果自动识别apk描述文件免签自动安装

下载地址:APP单页分发源码下载安卓苹果自动识别apk描述文件免签自动安装...

golang定时器使用示例

1.定时器创建与停止 //定时器使用t1 : time.NewTimer(2 * time.Second)<-t1.Cfmt.Println("timer1 fired")t2 : time.NewTimer(5 * time.Second)go func() {fmt.Println("go协程处理中,等待5秒后输出...")<-t2.Cfmt.Println("timer2 fired&quo…...

[FSCTF 2023]Tea_apk

得到密文和密钥 import base64 from ctypes import c_uint32import libnumDELTA 0x9E3779B9def decrypt(v, n, k):rounds 6 int(52 / n)sum c_uint32(rounds * DELTA)y v[0].valuewhile rounds > 0:e (sum.value >> 2) & 3p n - 1while p > 0:z v[p …...

建设房地产网站/seo搜索引擎排名优化

1. 实时数仓同步数据 实时数仓数据由Flink源源不断从Kafka当中读数据计算&#xff0c;无需手动同步数据到实时数仓。 2.离线数仓同步数据 2.1 用户行为数据同步 2.1.1 数据通道 用户行为数据由Flume从Kafka直接同步到HDFS&#xff0c;由于离线数仓采用Hive的分区表按天统计&a…...

南京开发门户网站的公司/国内新闻大事20条

版权声明&#xff1a;所有的笔记&#xff0c;可能来自很多不同的网站和说明&#xff0c;在此没法一一列出&#xff0c;如有侵权&#xff0c;请告知&#xff0c;立即删除。欢迎大家转载&#xff0c;但是&#xff0c;如果有人引用或者COPY我的文章&#xff0c;必须在你的文章中注…...

静态网页模板下载后怎么修改/seo赚钱方式

1、websocket概念 WebSocket是一种在客户端和服务器之间建立双向通信的协议&#xff0c;它可以实现实时的数据传输&#xff0c;避免了HTTP协议中频繁的请求和响应&#xff0c;从而提高了Web应用程序的性能和用户体验。 WebSocket最早是在2008年由Hixie提出的&#xff0c;后来…...

电子商务网站建设 名词解释/最好用的手机优化软件

Hello World!你好&#xff01;&#xff01;&#xff01;&#xff01;...

明星做代言的购物网站0/百度购物平台客服电话

女孩子最重要的就是气质嘛&#xff0c;细细长长的脖子&#xff0c;骨感的肩膀真的会让你气质超好。不管你长得再好看&#xff0c;虎背熊腰就是会感觉土土的。这次给大家分享一些瘦身干货&#xff0c; 特别简单的七步&#xff0c;每天就十几分钟&#xff0c;就可以瘦脖子&#x…...

做暖漫画网站/品牌宣传推广文案

1.复杂的迭代计算 假如我们计算的需要100步的计算,但是当我执行到第99步的时候,突然数据消失, 根据血统,从头进行恢复,代价很高 sc.setCheckpointDir("共享存储文件系统的路径") //这些地址存储已经执行过的rdd 2.离线计算和实时计算 storm(实时计算) Flink -> Sc…...