【论文阅读】3D-LaneNet

news2024/11/20 6:35:28

【论文阅读】3D-LaneNet

主要要做的事情就是 lane detection。这里提一下 BEV(Bird‘s Eye View) 感知算法,为了将 2D 图像映射到 3D 空间中,能够更准确的检测物体位置,需要 BEV 感知的结果。后续还会继续了解这方面内容。

文章提出的方法就是在图片上预测车道线。

这个方法应该是第一个非启发式的方法,是直接通过图像(单目深度估计)去学习的方法。而且它是一种基于 anchor 做匹配的方法。

首先基于”平地面假设“【假设1】,即假设当前的路面切平面为路面,可以更方便做映射。

在相机和地面的坐标(系)转换中,可以把相机的外参当作是三个——距离地面的垂直高度 H_cam,竖直和水平方向旋转角(pitch,roll)。

在这篇文章中,假设 roll 角的角度为零【假设2】,只用到了pitch角度。

已知相机高度 h 和 pitch 角度,可以求出相机坐标系 C_cam 向路面坐标系 C_road 的转换 T_c2r。这里用到的方法叫做 IPM(Inverse perspective mapping),逆透视变换。

看一下整体的网络框架:

网络是双通道的结构。

  1. image-view 通道,加入了 H_cam 和 pitch 去提取 image 特征,同时最后学习到 h 和 pitch 做逆透视变换。

  2. top-view 通道,这个视图是虚拟的,用来提取 BEV 空间的特征,最后进行车道线的预测。

  3. 连接两个通道的是 Projective transformation layer,将 image feature map 通过 IPM 转换成 BEV 空间俯视图之后,通道数不变直接和 top-view feature map 做 concate。

然后文章还用了一种基于 anchor 的匹配的方法,作为检测子。

首先,因为 车道线是在 top-view 视图下预测的,沿 x 方向均匀划分一些anchors。anchor 和 gt(ground truth)车道线要进行匹配。在这里,我们要预测的车道线 gt 一共有两种,一种是 lane centerlines(车道中心线),另一种是 lane delimiter(车道边界线)

上图中,左边和中间两列是 centerlines 的预测,右边一列是 delimiter 的预测。

然后,对于 y 方向的 Y_ref,求出 gt 与 Y_ref 的交点,将每个 gt 归属于距其最近(交点的 x 方向距离最小)的anchor。使用非极大值抑制的方法。

这里假设 gt 与 Y_ref 是会有交点的【假设3】,这会导致过短的车道线无法被检测到。

对于每个anchor,记录它匹配到的 gt。delimiter 不会相交,但是centerlines 可能会。每个 anchor 最多会匹配到两个 centerlines (即当两条 centerlines 在 Y_ref 上相交时,如图右侧)。因此对每个 anchor 需要记录三个信息*(c1,c2,d)*,其中,匹配到的左边的 gt 作为 c1。

如下图所示:

在这里插入图片描述

最终车道线预测的输出维度是: 在这里插入图片描述

3 是指有三个预测的 type(c1,c2,d);每个anchor 有 K 个点,对于每个点,预测其*(x 横向偏移,z 深度)*;还有一个当前 gt 应该匹配到该 anchor 上的置信度 p^。anchors 的个数为 N。

最后,看一下损失函数的设计:

第一项是分类置信度的 CE 损失,第二项是横向偏移 x^ 和深度 z^ 的 L1 回归损失。后两项是 image-view 预测的相机外参 H_cam 和 pitch 角度的 L1 损失。

训练的流程就是线通过相机外参和已知的相机内参,包括像素和物理距离缩放尺度等计算出 C_road 坐标系,再将 gt 车道线转换到 C_road 的平面上。最后对其最近的 anchor 进行匹配。

总的来说,这篇文章提出的车道线检测的假设条件还是过于理想,泛化性能还有待进一步的提升。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读【17】Dynamic ensemble learning for multi-label classification

论文十问十答: Q1论文试图解决什么问题? Q2这是否是一个新的问题? Q3这篇文章要验证一个什么科学假设? Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员? Q5论文中提到的解决方…

研究LLMs之前,不如先读读这五篇论文!

目标:了解 LMM 背后的主要思想 ▪️ Neural Machine Translation by Jointly Learning to Align and Translate ▪️ Attention Is All You Need ▪️ BERT ▪️ Improving Language Understanding by Generative Pre-Training ▪️ BART Neural Machine Translati…

引导程序、BIOS中断、检测内存容量、实模式切换到保护模式

初始化引导程序 基本概念 BIOS会将磁盘的第0个扇区(大小为512字节),加载到0x7c00处。 引导程序负责操作系统的加载,主要用于为操作系统运行提供初始化环境,并运行加载操作系统。 BIOS只加载磁盘的第0个扇区(512字节)到内存中,次程…

【论文阅读_序列推荐】Intent Contrastive Learning for Sequential Recommendation

【论文阅读_序列推荐】Intent Contrastive Learning for Sequential Recommendation 文章目录【论文阅读_序列推荐】Intent Contrastive Learning for Sequential Recommendation1. 来源2. 介绍3. 准备工作3.1 问题定义3.2 用于下一个项目预测的深度 SR 模型3.3 SR中的对比SSL …

基于springboot和ajax的简单项目 06 日志界面的delete功能(根据选择的checkbox)

01.这次后台开始&#xff1b; 顺序依次是dao->xml->service->serviceimpl->controller->html 02.dao接口 public int doDeleteObjects(Param("ids") Integer... ids);03.xml文件 <update id"doDeleteObjects" >delete from sys_lo…

七项新发布,亚马逊云科技Amazon S3持续进化

17年前的3月14日&#xff0c;亚马逊云科技推出了一项“非常简单的”对象存储服务&#xff08;Amazon Simple Storage Service&#xff09;。该服务允许开发人员创建、列出和删除私有存储空间&#xff08;称为存储桶&#xff09;、上传和下载文件以及管理其访问权限。当时&#…

C++刷题--选择题1

文章目录选择题选择题 1&#xff0c; 以下for循环的执行次数是&#xff08;&#xff09; for(int x 0, y 0; (y 123) && (x < 4); x);A 是无限循环 B 循环次数不定 C 4次 D 3次 解析 &#xff1a; C&#xff0c;for循环y 123 是赋值语句&#xff0c; 也就是一…

PSO算法

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; 目录1.PSO算法主要步骤&#x1f331;2.PSO更新方法&#x1f33e;3.PSO求解TSP问题&#x1f334;粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;简称PSO&#xff09;是一种优化算法&#xff0c;模拟…

美国全力打击币圈 “一套花式组合拳”,打得从业者透不过气

银行危机“平息”过后&#xff0c;美国监管机构对币圈接连出手&#xff0c;一套花式组合拳打得从业者透不过气&#xff0c;也使得加密行业在政府的拳头之下风声鹤唳。 首先&#xff0c;切断加密货币与传统金融机构的联系。美国金融体系陷入混乱之际&#xff0c;一系列历史性的银…

顺序表(数据结构)

目录 线性表 顺序表 1、顺序表创建 2、初始化 3、扩容 4、尾插 5、尾删 6、头插 7、头删 8、指定位置插入 9、指定位置删除 10、查询 11、打印 12、销毁 顺序表总代码 Leetcode编程题 1、移除元素 题目链接&#xff1a; 题目描述&#xff1a; 题目解析&#xff1a; 2、删除有序…

游戏内嵌社区服务开放,助力开发者提升玩家互动与留存

华为 HMS Core 游戏内嵌社区服务提供快速访问华为游戏中心论坛能力&#xff0c;支持玩家直接在游戏内浏览帖子和交流互动&#xff0c;助力开发者扩展内容生产和触达的场景。 一、为什么要游戏内嵌社区&#xff1f; 二、游戏内嵌社区的典型使用场景 1、游戏内打开论坛 您可以在…

[Linux]环境变量

目录 基本概念 常见的环境变量 PATH测试 HOME测试 SHELL测试 和环境变量相关的命令 main函数的三个参数 环境变量的组织方式 通过代码如何获取环境变量 通过系统调用获取或设置环境变量 基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系…

FreeRTOS 系统内核控制函数

FreeRTOS 中有一些函数只供系统内核使用&#xff0c;用户应用程序一般不允许使用&#xff0c;这些 API 函数就是系统内核控制函数。 内核控制函数 顾名思义&#xff0c;内核控制函数就是 FreeRTOS 内核所使用的函数&#xff0c;一般情况下应用层程序不使用这些函数&#xff0…

6基于二阶锥规划的主动配电网最优潮流求解

matlab代码&#xff1a;基于二阶锥规划的主动配电网最优潮流求解 参考文献&#xff1a;主动配电网多源协同运行优化研究_乔珊 摘要&#xff1a;最优潮流研究在配 电网规划运行 中不可或缺 &#xff0c; 且在大量分布式能源接入 的主动配 电网环境下尤 为重要 。传统的启发式算…

设计师一定要知道这5个免费样机素材网

本期推荐5个设计师必备的样机素材网站&#xff0c;免费下载&#xff0c;建议收藏~ 1、菜鸟图库 https://www.sucai999.com/searchlist/3217----all-0-1.html?vNTYxMjky 网站有多种类型的设计素材&#xff0c;像平面、电商、UI、办公等素材这里面都能找到。样机素材分类清晰&…

GitHub“疯狂”求阿里内部开源这份10W字Java面试手册,竟遭拒绝

行业风向标&#xff0c;猎聘发布的数据报告显示&#xff1a; 相比以往&#xff0c;2023年企业招聘两大变化体现在&#xff1a;对人才各方面能力要求更高、对人岗的匹配性要求更细。不同规模的企业用人各有侧重&#xff0c;大中型企业更注重人的全面能力&#xff0c;小型企业更…

我写系列博客的缘由

我写系列博客的缘由 每个经历不是一帆风顺的人&#xff0c;都将深刻地体会到&#xff0c;少走弯路对一个人来说是多么重要。人的生存不是浪漫的幻想&#xff0c;而是建立在能立足于现实社会上&#xff0c;教育的真正意义&#xff0c;是培养你的认识水平、提升智慧&#xff0c;借…

JAVA语言-比较器Comparator

目录 一、什么是Comparator 二、Java compare方法和compareTo方法 三、java中Comparable和Comparator的区别 Comparator的例子 一、什么是Comparator Comparator 是javase中的接口&#xff0c;位于java.util包下。 数组工具类和集合工具类中提供的工具方法sort方法都给出…

Vector - CAPL - CAN x 总线信息获取

在CAN&CANFD测试中&#xff0c;我们经常需要获取到CAN总线的负载、错误帧、过载帧、发送错误等等CAN总线上面的信息&#xff0c;这些信息如此重要&#xff0c;但是如果真的要写代码去实现也是相当不易的&#xff0c;那我们该如何去获取到的呢&#xff1f;下面我们就来一起看…

系统集成作业——公司网络系统集成设计,总公司、分公司地跨两个不同城市。

一 实验需求 完成公司网络系统集成设计&#xff08;2000台电脑&#xff09;&#xff0c;总公司、分公司地跨两个不同城市 二实验分析 本次实验继续建立在实验三的基础之上&#xff0c;对其升级改造为地跨不同城市的总公司和分公司的大型局域网网建设。 实验三配置点击链接&…