AVP-SLAM:自动泊车系统中的语义SLAM_
AVP-SLAM:自动泊车系统中的语义SLAM
附赠最强自动驾驶学习资料:直达链接
●论文摘要

在自动代客泊车系统中车辆在狭窄且拥挤且没有GPS信号的停车场中进行导航,具备准确的定位能力是至关重要的。传统的基于视觉的方法由于在停车场中由于缺少纹理,以及重复的结构和场景的变化导致跟踪容易丢失,在这篇文章中,使用了鲁棒的语义特征来建立停车场的地图并在泊车时用语义信息来定位车辆。其中语义的特征包含了地面上的指路标志,停车线,以及减速带等,这些特征通常出来在停车场中。这些语义的特征与传统的特征相比,对视角和光照变化具有一定的稳定性。这里采用了四个全景的摄像头来增加感知范围,以惯导和轮速里程计作为辅助信息,生成了全局的视觉语义地图,这张地图用来定位可以达到厘米级别,文章中分析了该系统的准确性和召回率,并且与实际实验中的其他方法进行了比较,来证明该系统的实用性。
●主要贡献

文章在介绍中分析了自动驾驶需求量越来越大,但是由于,视觉跟踪上的挑战,定位精度上的要求以及各种传感器的成本等限制,以及针对停车场这种场景的特殊限制,文章提出了这种基于语义特征的定位方法,这种定位方法不仅能够针对停车场这种场景有很好的适配,并且语义特征是对视角和光照不敏感的等优势提出了基于语义特征的地图定位系统,这能够使得车辆在停车场中自动的导航。文章的贡献主要有:
(1)提出了一种在视觉slam框架中使用的新型语义特征。
(2)提出了一个完整的停车场内自动驾驶地图构建和定位系统。
(3)基于所提出的系统进行真实的自动泊车应用程序。
●论文图集

总体流程图:该系统从四个全方位车载摄像头、一个IMU和车轮编码器作为输入。在SLAM过程中,构建了具有语义特征的环境地图。基于此先验地图,可以达到厘米级的定位精度。


AVP中常见的环视系统


根据SLAM的两个模块,建图与定位,建图模块根据环视系统的四个相机生成IPM俯视图,再根据四个相机的相互之间的关系拼接成(a)图,利用深度学习将包括车道,停车线引导线以及减速带等信息分割出来,再根据里程计的信息,将这些语义特征映射到全局的坐标系下,由于里程计的累计误差,这里使用了回环检测通过局部地图的匹配减少累计误差。第二部分是定位。与建图部分一样,从鸟瞰图像中提取语义特征。通过将语义特征与先前的构建出来的地图进行匹配来对车辆进行定位。最后,采用扩展卡尔曼滤波器(EKF)将视觉定位结果与里程计融合,保证了能够正在无纹理的停车场环境中,系统能够输出稳定的定位结果。
●内容简介
文章内容对该系统使用到的知识点都有一一的说明:
A 首先是IPM( Inverse Perspective Mapping )逆透视变换

B 语义特征提取:使用了CNN网络进行了语义特征的检测[1], U-Net [2]进行分割。
C 局部地图的构建:根据之前图像IPM的变换关系,可以将这些语义信息映射到三维空间中,并且根据里程计信息,将这些语义特征不断的变换到全局坐标下。
D 回环检测为了解决里程计的漂移的问题,这里使用了语义特征的局部地图不断的ICP全局地图,不断的局部优化。
E:全局优化,优化的残差为:

F 定位:语义地图中的定位。如下图白色、红色和蓝色的圆点是地图上的停车线、减速带、指路标志。绿点是当前的特征。橙色线是估计的轨迹。通过将当前特征与地图匹配来定位车辆。停车位由停车位的角点和停车线拟合自动生成。

G 停车位的检测:由于停车线和停车位角点是从IPM图像中检测出来的,因此很容易自动检测停车位。角点用于预测停车点的位置。如果停车线与预测的停车位匹配良好,则该预测被认为是正确的。
●实验对比





在停车场中使用AVP-SLAM系统建立一张地图。然后利用该地图对到达目标停车点的车辆进行定位和导航。
●总结
论文提出了一个基于视觉的定位解决方案,利用强健的语义特征来辅助车辆在停车场中导航。车辆周围使用了四个摄像头。通过IPM(逆透视变换)将图像变换成鸟瞰图。然后神经网络检测语义视觉特征,包括车道、停车线、路标和减速带。基于这些特征构建了语义视觉地图。通过厘米级的语义特征匹配,可以在地图上对车辆进行定位。通过实验和实际的自主停车应用验证了该系统的有效性。AVP-SLAM实现了1.33%的定位误差和厘米级定位精度。由于所使用的语义特征的特殊性,提出的系统目前只适用于停车场。未来,我们将致力于开发一般语义特征,并将所提出的系统推广到更多的场景中。
参考文献
[1] J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in Proceedings of the IEEE conference on computer vision and pattern recognition, 2015, pp. 3431–3440.
[2] O. Ronneberger, P. Fischer, and T. Brox, “U-net: Convolutional networks for biomedical image segmentation,” in International Conference on Medical image computing and computer-assisted intervention. Springer, 2015, pp. 234–241
附赠最强自动驾驶学习资料:直达链接
相关文章:
AVP-SLAM:自动泊车系统中的语义SLAM_
AVP-SLAM:自动泊车系统中的语义SLAM 附赠最强自动驾驶学习资料:直达链接 ●论文摘要 在自动代客泊车系统中车辆在狭窄且拥挤且没有GPS信号的停车场中进行导航,具备准确的定位能力是至关重要的。传统的基于视觉的方法由于在停车场中由于缺少…...
PHP反序列化--pop链
目录 一、了解pop链 1、pop链: 2、pop链触发规则: (1)通过普通函数触发: (2)通过魔术方法触发: 3、pop链魔术方法例题: 一、了解pop链 1、pop链: pop链…...
单片机中的几种周期(振动/时钟,状态,机械,指令周期)表示的含义(51为例)
几种周期含义及个人理解描述 参考:短文,参考,百度 个人理解简述:对于几个周期性来说,可以认为是小单位的时间组合成了长时间。就像把一个数据赋值,这个是简单的一个机械周期能完成的动作,但需要…...
Spring Boot+Vue前后端分离项目如何部署到服务器
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
【学习总结】Ubuntu中vscode用ROS插件调试C++程序
1、教程 参考博客: 【ROS】 在VScode中 ROS Debug 配置方法非常详细版 关于launch文件的配置: launch.json {"version": "0.2.0","configurations": [{"name": "ROS: Launch","request"…...
html--蝴蝶
<!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>蝴蝶飞舞</title> <link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.cs…...
线程的 sleep()方法和 yield()方法有什么区别?为什么 Thread 类的 sleep()和 yield ()方法是静态的?
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 线程的 sleep()方法和 yield()方法有什么区别 sleep()方法: sleep()方法使当前线程进入休眠状态,即暂停执行一段时间。它是静态方法,属于Thread类,调用…...
Java进阶 Maven基础
资料格式 配置文件 com.itheima Java代码 Statement stat con.createStatement(); 示例 com.itheima 命令 mvn test - Maven简介 传统项目管理状态分析 Maven 是什么 Maven的本质是一个项目管理工具,将项目开发过程抽象成一个项目对象模型(POM&…...
Spring Boot(六十八):SpringBoot 整合Apache tika 实现文档内容解析
1 Apache Tika 介绍 Apache Tika 是一个开源的内容检测和分析框架,由Apache软件基金会开发和维护的顶级项目。它可以从各种格式的文件中提取元数据和文本内容。Tika非常适合处理全文搜索、内容分析、翻译、内容提取等需要大量处理和分析文档内容的任务。Apache Tika提供了多种…...
jQuery+CSS3自动轮播焦点图特效源码
jQueryCSS3自动轮播焦点图特效源码,源码由HTMLCSSJS组成,双击html文件可以本地运行效果,也可以上传到服务器里面 下载地址 jQueryCSS3自动轮播焦点图特效源码...
面试经典150题(114-118)
leetcode 150道题 计划花两个月时候刷完之未完成后转,今天完成了5道(114-118)150 gap 了一周,以后就不记录时间了。。 114.(70. 爬楼梯) 题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不…...
HTML表单标签详解:如何用HTML标签打造互动网页?
在互联网的世界中,表单是用户与网站进行互动的重要桥梁。无论是注册新账号、提交反馈、还是在线购物,表单都扮演着至关重要的角色。在网页中,我们需要跟用户进行交互,收集用户资料,此时就需要用到表单标签。 HTML提供…...
Web 服务器-Tomcat
文章目录 Web服务器一、Tomcat简介二、基本使用三、在IDEA中创建Maven Web项目四、在IDEA中使用Tomcat Web服务器 一、Tomcat简介 二、基本使用 三、在IDEA中创建Maven Web项目 四、在IDEA中使用Tomcat...
(德迅零域)微隔离安全平台是什么,有什么作用?
网络隔离并不是新的概念,而微隔离技术(Micro-Segmentation)是VMware在应对虚拟化隔离技术时提出来的,但真正让微隔离备受大家关注是从2016年起连续3年微隔离技术都进入Gartner年度安全技术榜单开始。在2016年的Gartner安全与风险管…...
这些问题,每年软考报名时都有人问
软考报名实行网上在线报名的方式,每次在报名期间,考生都会遇到各种各样的问题,本文挑选了一些大家问的比较多的问题进行了解答,希望对大家有所帮助。 1、软考报名资格审核要审核多久? 一般来说审核时间在3个工作…...
JavaScript爬虫进阶攻略:从网页采集到数据可视化
在当今数字化世界中,数据是至关重要的资产,而网页则是一个巨大的数据源。JavaScript作为一种强大的前端编程语言,不仅能够为网页增添交互性,还可以用于网页爬取和数据处理。本文将带你深入探索JavaScript爬虫技术的进阶应用&#…...
MATLAB教程
目录 前言一、MATLAB基本操作1.1 界面简介1.2 搜索路径1.3 交互式命令操作1.4 帮助系统 二、MATLAB语言基础2.1 数据类型2.2 MATLAB运算2.2.1 算数运算2.2.2 关系运算2.2.3 逻辑运算 2.3 常用内部函数2.4 结构数据与单元数据 三、MATLAB程序设计3.1 M文件3.2 函数文件3.3 程序控…...
爱恩斯坦棋小游戏使用C语言+ege/easyx实现
目录 1、游戏介绍和规则 2、需要用到的头文件 3、这里我也配上一个ege和easyx的下载链接吧,应该下一个就可以 4、运行结果部分展示 5、需要用到的图片要放在代码同一文件夹下 6、代码地址(里面有需要用到的图片) 1、游戏介绍和规则 规则如…...
png格式怎么转成gif?一个小窍门快速转换
如何将png转换成gif动画?作为新媒体工作者,在日常办公中少不了使用到gif格式图片。那么,当我们遇到需要将png格式转换成gif格式的时候要怎么操作呢?很简单,使用gif动画图片(https://www.gif.cn/)…...
mysql笔记:20. 什么是数据库六大范式
文章目录 简介什么是范式最常用的范式 第一范式 - 1NF第二范式 - 2NF第三范式 - 3NF第四范式 - 4NF第五范式 - 5NF巴斯-科德范式 - BCNF总结 简介 什么是范式 范式(Normal Form,简称NF)是数据库设计时遵循的一种规范,不同的规范…...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
