自动驾驶制图中的深度学习

2023-11-08

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

深度学习在整个自动驾驶技术的各个部分中进行了应用,例如在感知,预测和计划中都有应用。同时,深度学习也可以用于制图,这是高级自动驾驶的关键组成部分。

 

拥有准确的地图对于自动驾驶至关重要,可自动进行路线选择,本地化以及简化感知。但是,在没有地图的地区,自动驾驶汽车需要依靠自己的地图构建能力来确保自动驾驶的功能性和安全性。

 

离线映射与在线映射

在离线映射方案中,传感器数据被聚集在一个集中的位置。数据可以是卫星图像,也可以是机载传感器(例如相机或激光雷达)收集的数据。它可能来自同一辆车经过同一地点的多次通行,也可能来自众多车辆。地图的渲染是离线构建的,并且需要人工注释者来注释地图上的语义结构并查看最终结果。传统的地图服务以这种离线方式工作,然后将带注释和精选的地图提供给道路上的车辆。

在线地图是在车上进行的,典型示例是用于同时定位和映射的SLAM系统。最近,重点研究道路上表面标记的几何形状和语义含义的语义SLAM作为一种轻量级的制图解决方案。另外,单语义在线映射(monoSOM)是一个研究趋势,其中使用神经网络将来自多台摄像机的单目图像的时间序列融合到语义鸟瞰图中。

SD Maps与HD Maps

根据输入分辨率,大约有两种类型的深度学习在地图中的应用。一种类型工作重点是地图拓扑的发现,例如道路网络,通常不包含车道级别信息。他们只需要一个相对低分辨率的图像,并具有大约米级的精度。另一种类型的应用程序侧重于提取车道级别信息,例如车道线,路面箭头和其他语义标记。这需要具有厘米级精度的高分辨率图像。相应地,在本文的其余部分中,这两类地图将被简称为SD映射和HD映射。

SD映射(道路拓扑发现)

深度学习在地图上的早期应用着重于从相对低分辨率的航空图像中提取道路拓扑。深度学习创建了一个合适的解决方案,涵盖了SD映射的大量内容。SD地图中生成的道路拓扑主要用于在自动驾驶(用于路线选择和导航)的环境中相对受限的情况下。然而,其中一些研究提出的方法与高清地图的后续工作高度相关,因此在此进行了综述。

 

DeepRoadMapper(ICCV2017)吸收从卫星获得的航拍图像并创建结构化的道路网络。它首先执行语义分割,然后对生成的路线图运行细化和修剪算法。由于语义分割的不准确(树木,建筑物等遮挡),许多道路都保持断开状态。为了解决这个问题,DeepRoadMapper使用A *搜索算法来生成连接假设以弥合差距。

 

RoadTracer(CVPR2018)也注意到了不可靠的语义分割结果,并将其作为中间表示消除了。它使用迭代图构造直接获取道路拓扑。该算法需要做出决定,朝特定方向迈进一定距离,类似于增强学习设置中的主体。

PolyMapper(ICCV2019)可能受到RoadTracer的启发,并且也消除了中间表示形式。它明确统一了不同类型的对象(包括道路和建筑物的街区)的特定形状,并将其表示为封闭的多边形。遵循迷宫墙追随者算法,算法极其巧妙和简洁。

PolyMapper使用MaskRCNN架构提取建筑物和道路的边界蒙版。基于蒙版,它提取顶点,找到起始顶点,然后使用RNN对所有顶点进行自回归迭代以形成封闭的多边形。

高清映射(车道信息提取)

SD地图缺少自动驾驶汽车的安全定位和运动计划所需的精细细节和准确性。带有车道等级信息的高清地图对于自动驾驶是必不可少的。

HD地图的生成通常采用高分辨率的鸟瞰图(BEV)图像,该图像是通过拼接车载摄像机图像和/或激光雷达扫描生成的。

 

HRAN (用于结构化在线地图的分层递归注意网络,CVPR 2018)接受道路的稀疏点云扫描,并输出包含车道边界实例的道路网络的结构化表示。它首先迭代找到每条车道线的起点,然后针对每条车道线,迭代地绘制沿该线的下一个顶点。这两个RNN以分层方式进行组织,因此名称为HRAN-分层递归注意网络。

它提出了折线损失的想法,以帮助神经网络输出结构化折线。折线损失测量的是地面真线折线边缘及其预测的偏差。这比在顶点上的距离更合适,因为存在许多绘制等效折线的方法。

HRAN每像素使用5 cm的分辨率,在20 cm的精度范围内可实现0.91的召回率。主要的故障模式来自错过或多余的车道线。请注意,100%的准确性并不一定是最终目标,因为注释者仍然需要手动查看并修复这些图像。这些故障案例可以相对容易地解决。在以后的工作“深边界提取器”中使用的高度梯度图可能能够修复FP护栏被误认为车道线的情况。

深度结构人行横道 (用于绘制人行横道的端到端深度结构模型,ECCV 2018)从激光雷达点产生的BEV图像和相机图像(激光雷达+ RGB = 4通道)中提取结构化人行横道。该网络生成三个独特的特征图-语义分割,轮廓检测以及从直接监督定义人行横道方向的角度。

深边界提取器 (CVPR 2019,CVPR2019,用于道路边界提取的卷积循环网络)使用折线提取道路边界。它受深度结构人行横道的启发,并使用卷积RNN(卷积Snake或cSnake)以自回归方式进行预测。输入通过添加一个额外的激光雷达高度梯度通道扩展了“深层结构人行横道”的输入范围,该通道是通过获取Sobel滤波的激光雷达BEV图的大小而生成的。

 

cSnake网络迭代处理旋转的ROI,并输出对应于道路边界的折线的顶点。它首先预测端点。基于每个端点,它会裁剪并旋转以端点为中心的特征图的面片,并找到下一个点的位置。上面的过程是自动回归的。

DAGMapper (通过发现车道拓扑学习地图,ICCV 2019)将HRAN的结构化车道线提取工作进一步向前迈进了一步,专注于诸如分叉和合并之类的较难案例。它接受激光雷达强度图并输出DAG(有向无环图),而不是HRAN中的简单折线。

DAGMapper的核心也是一个循环卷积头,它迭代地关注以最后一个预测点为中心的裁剪特征图补丁,并预测下一个点的位置。所做的更改是,它还预测了点的状态为合并,派生或继续。

注意

1. 深度学习的结果需要构造成易于由自动驾驶堆栈使用,并易于人工注释者修改。

2. 当前的高清制图应用程序专注于道路边界,车道线(包括合并和岔路拓扑)和人行横道边界的提取。

3. 所有高清制图研究的核心组成部分是循环卷积网络,该网络以迭代方式获取以当前注释点为中心的裁剪特征图,并预测下一个注释点。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动驾驶制图中的深度学习 的相关文章

随机推荐

  • 数据结构:力扣OJ题(每日一练)

    题一 有效的括号 给定一个只包括 的字符串 s 判断字符串是否有效 有效字符串需满足 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 每个右括号都有一个对应的相同类型的左括号 示例 2 输入 s 输出 true 思路一 第一步
  • spring如何开启允许循环依赖

    如何解决spring循环依赖 在Spring框架中 allowCircularReferences属性是用于控制Bean之间的循环依赖的 循环依赖是指两个或多个Bean之间相互依赖的情况 其中一个Bean依赖于另一个Bean 同时另一个Be
  • 人工智能用哪个版本linux,Linux各个版本应用在哪些场景?你都了解吗?

    Linux是非常热门的技术 随着应用领域不断拓展 越来越多的人都想要加入Linux行业中 当我们进入行业确定好自己发展路线之后 就是选择一个合适的Linux版本 但是对于很多人都是比较头疼的问题 Linux各个版本应用在哪些场景 为大家介绍
  • Gof23设计模式之命令模式

    1 概述 将一个请求封装为一个对象 使发出请求的责任和执行请求的责任分割开 这样两者之间通过命令对象进行沟通 这样方便将命令对象进行存储 传递 调用 增加与管理 2 结构 命令模式包含以下主要角色 抽象命令类 Command 角色 定义命令
  • 解决导入torchvision(import torchvision)库执行时报错,但是导入torch库(import torchvision)执行却正常的问题。

    参考了网上各种说法 最终采用了torchvision和torch库版本不兼容的说法 完美运行 解决办法如下 1 卸载原torchvision pip uninstall torchvision 2 重新安装低版本的torchvision p
  • C++ Pat甲级1007 Maximum Subsequence Sum (25 分)(dp)

    1007 Maximum Subsequence Sum 25 分 Given a sequence of K integers N 1 N 2 N K A continuous subsequence is defined to be N
  • 什么是Web3 ?它是如何工作的?

    Web3提供了一种潜在的解决方案 可以更容易地在万维网上找到内容的原始来源 我们将讨论Web 3是什么以及它是如何工作的 万维网一直以来都是一个不受限制地创造和分享信息和思想的平台 虽然这让世界感觉更小 但它也有它的缺点 即难以确定内容的原
  • 计算机图形系统相关的输入设备,计算机图形学题目及答案

    5 20 边标志填充算法是用什么作为标志 如何实施填充的 边标志填充算法利用边界色作为标志来进行填充 当扫描线从左到右扫描时碰到边界色 立刻改变标志的状态 再根据标志的状态决定某象素点是否填充 21 将扫描线种子填充算法由实面积填充改为图案
  • 【VMware/Linux】虚拟机根目录扩容

    大家好 我是好学的小师弟 最近IT给配的虚拟机 目录容量太小了 不符合环境部署条件 所以想让IT扩下容 IT给我加了一块磁盘 然后让我自己lvm扩容去 这里记录下扩容方法 1 先添加一块磁盘 这里添加了一块磁盘sdr fdisk l 查看新
  • 数据结构与算法分析--Java语言描述(第二章(2))

    习题2 23 不用递归 写出快速求幂的程序 递归方法 param x param n return public long pow long x int n if n 0 return 1 if isEven n return pow x
  • VSCODE-版本控制工具SVN

    1 在SVN中安装插件 SVN svn简介 安装完成后 重新启动SVN或者点击SVN 重新加载 本人SVN不是默认安装位置 但是无需修改vscode 用户设置 中的任何选项 2 引入项目 直接打开通过SVN下载的项目的文件夹 3 查看SVN
  • eclipse指定jdk版本启动,解决Version XXXX of the JVM is not suitable

    可以解决Version XXXX of the JVM is not suitable for this product Version XXXXXX or greater is required 例如 Verson1 7 0 79 of
  • 【Vue】同一模板 多个样式 统一实现

    文章目录 一 背景 二 具体代码 一 背景 项目中多个页面的页脚都包含版权信息 并且各自有一个 Copyright vue 的组件 经过对比 template 的内容一模一样 只是样式有些不同 这里准备抽取出来 用一个公共组件 CopyRi
  • 你的电脑上的应用需要使用以下window功能.NET Framework3.5(包括.NET2.0和3.0)

    我自己下载了 net 3 5来安装他也提示这玩意 然后点自动安装后又错误码0x800f081f 奶奶滴 于是去百度 解决流程 1 首先 按Windows R调出 运行 对话框 2 接下来 键入gpedit msc并按Enter 3 该命令将
  • pytorch将Tensor转为list

    import torch value torch Tensor 1 2 3 print list value tolist 得到 list 1 0 2 0 3 0
  • promise与async和await的使用

    基础回顾 阻塞代码实例 首先 我们新建一个 test txt 文件 内容如下 111 然后 我们来编写一个 main js 文件 代码如下 var fs require fs var str fs readFileSync test txt
  • css button自动调整位置_(Vue动效)1.Vue的CSS过渡动效

    关键词
  • JAVA个推----将信息推送至手机端

    个推功能简介 将信息推送至手机端 手机端人员可以看到收到的信息 个推功能需要借助第三方平台的接口 需要申请账号 单独开发很难完成 这里就是用到了第三方接口 完成个推需要完成三步 获取token 调用个推接口需要获取用于验证的token 获取
  • 前端歌谣的刷题之路-第二十二题-基本数据类型检测

    前言 我是歌谣 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 本题目源自于牛客网 微信公众号前端小歌谣 题目 请补全JavaScript函数 要求以字符串的形式返回参数的类型 注意 只需检测基本数据类型 编辑 核心代码
  • 自动驾驶制图中的深度学习

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 深度学习在整个自动驾驶技术的各个部分中进行了应用 例如在感知 预测和计划中都有应用 同时 深度学习也可以用于制图 这是高级自动驾驶的关键组成部分 拥有准确的地图对于自动驾