车道线检测之LaneNet
论文:Towards End-to-End Lane Detection: an Instance Segmentation Approach
Github:https://github.com/MaybeShewill-CV/lanenet-lane-detection?tab=readme-ov-file
论文提出一种车道线检测网络LaneNet,该网络以enet为主干网络结构,分别输出二分类结果(lane segmentation branch)和像素聚类结果(lane embedding branch),最终输出实例化的道路线分割结果。然后作者训练了一个H-Net,基于该网络可以得到不同图片的变换为鸟撖图的变换矩阵,得到鸟撖图后,基于3次曲线拟合就可以得到相应的车道线,从而得到坐标点,最后通过逆变换矩阵还原回原图,得到最终的车道线关键点坐标。该算法速度可以达到50fps,在tuSimple dataset数据集上取得了不错的结果。
主要贡献:
(1)提出一个多分支多任务的网络结构LaneNet将车道线检测问题转化为实例分割问题处理,该方法可以处理任意数量的车道线。分割分支输出像素级别的2分类结果,聚类分支则将不同车道线的像素区别开。
(2)提出一个获取不同透视变换参数的网络结构H-Net,相比于使用固定参数的鸟撖图变换,有助于使得车道线拟合过程更加鲁棒,同时解决了固定参数对于上下坡的点无法拟合的问题。
网络结构:
LaneNet以Enet作为主干网络结构,使用encoder-decoder的U型设计思路。网络输入图像大小为1*256*512*3。
传统的基于多目标分割的车道线方法,只能训练固定个数的车道线,难以做到自适应不同条数的车道线路面。为了解决这样的问题,论文提出了分割分支(lane segmentation branch),聚类分支(lane embedding branch)双分支输出的网络结构。其中分割分支输出2分类分类结果,车道线为前景,其余为背景。聚类分支负责将同一车道线的像素汇聚,不同车道线的像素拉开,输出聚类图。在实验中,该聚类数目为4,实际使用中,之需要修改该数目的个数,即可适用于不同车道数路面。分割分支的输出维度为1*256*512,聚类分支的输出维度为1*256*512*4。
得到分割分支和聚类分支的结果后,需要进行后处理操作,对分割结果进行几何形态学处理从而去除孔洞,对去除孔洞的图像进行连通域处理,得到不同的连通域,对不同连通域图像基于聚类分支结果进行赋值,然后基于dbsan聚类,得到最终的实例分割结果。
基于实例分割图,通过预先训练好的H-Net转化为鸟撖图,再基于曲线拟合得到车道线的曲线方程,从而得到像素点,将鸟撖图的像素点通过H-Net的逆变换矩阵还原到原图上,最终得到最终的车道线像素点。
binary segmentation:
标签制作过程中,将被车辆遮挡的车道线、看不见的或者褪色的车道线都进行了视觉延伸的标注。训练过程使用加权的交叉熵损失函数。
instance segmentation:
该分支训练过程使用了距离度量学习(distance metric learning),聚类的损失函数为Lvar和Ldist,Lvar负责将一个车道线内的像素距离拉近到距离中心点δv以内,Ldist负责将不同车道线的中心点推开到δd距离外。其中µc表示聚类的中心,Nc表示像素数目。
聚类过程通过dbsan迭代式进行,最终保证δd > 6δv。聚类过程首先使用均值漂移找到每个簇的中心点,然后将中心点附近2δ距离内的像素进行聚类。
CURVE FITTING USING H-NET:
H-Net生成的6自由度矩阵如上图所示。通过该自适应的矩阵,可以获得比固定矩阵更好的效果。
H-Net的损失函数,
H-Net网络结构,
实验结果:
总结:
- LaneNet可以解决任意车道实例分割的问题,运行速度快,达到50FPS。
- H-Net可以解决任意图像鸟撖图变换的问题
相关文章:
车道线检测之LaneNet
论文:Towards End-to-End Lane Detection: an Instance Segmentation Approach Github:https://github.com/MaybeShewill-CV/lanenet-lane-detection?tabreadme-ov-file 论文提出一种车道线检测网络LaneNet,该网络以enet为主干网络结构&…...
MySQL连接数不足导致服务异常GetConnectionTimeoutException
文章目录 场景复现解决方案一、调整连接数二、优化程序 场景复现 已经上线正常运行的项目突然很多功能无法使用,查看程序日志发现MySQL报错,异常信息: Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.Ge…...
软考76-上午题-【面向对象技术3-设计模式】-创建型设计模式01
一、创建型设计模式一览 二、创建型设计模式 2-1、创建型设计模式的概念 一个类创建型模式使用继承改变被实例化的类; 一个对象创建型模式将实例化委托给另一个对象。 对应java的new一个对象。 2-2、简单工厂模式(静态工厂方法) 简单工厂…...
Matlab 双目相机标定(内置函数)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 相机标定的目的就是要找到从世界坐标转换为图像坐标所用到的投影P矩阵各个系数(即相机的内参与外参)。具体过程如下所述: 1、首先我们需要获取一个已知图形的图像(这里我们使用MATLAB所提供的数据)。 2、找到同…...
【博客7.4】缤果Qt5_TWS串口调试助手V2.0 (高级篇)
超级好用的Qt5_TWS耳机串口调试助手 开发工具: qt-opensource-windows-x86-5.14.2 (编程语言C) 目录 前言 一、软件概要: 二、软件界面: 1.App演示 三、获取 >> 源码以及Git记录: 总结 前言 串口调试助手支持常用的50bps - 10M…...
CSS案例-4.padding导航栏练习
效果 相关数据: 上边框:3px,颜色#ff8500 下边框:1px,颜色#edeef0 背景颜色:#fcfcfc 高度:41px 内边距20px 字体颜色#4c4c4c 知识点 盒子边框border 属性 作用 border-width 定义边框粗细,单位px border-style 边框的样式 border-color 边框颜色 边框样式...
5.1.4.2、【AI技术新纪元:Spring AI解码】Llama2 Chat
Llama2 Chat Meta 的 Llama 2 Chat 是 Llama 2 系列大型语言模型的一部分。它在基于对话的应用程序中表现出色,参数规模范围从 70 亿到 700 亿不等。利用公共数据集和超过 100 万次人类注释,Llama Chat 提供了上下文感知的对话。 通过从公共数据源获取的 2 万亿标记进行训练…...
后台发送GET/POST方法
前言: 1,get请求 2,post请求 3,post,get通用方法 4,其他的get,post写法 正文: 1,get请求 import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import or…...
计算机考研|双非一战135上岸,408经验分享+复盘
计算机专业的同学真的别想的太天真! 相比于其他专业,计算机专业的同学其实还是很有优势的 但是现在随着计算机专业的同学越来越多,找工作的困难程度以及学历自然而然被卷起来了 以前的算法岗基本要求在本科以上,现在基本都是非92研…...
低代码与数字化工具:重塑软件开发的新范式
随着信息技术的飞速发展,软件开发已成为推动数字化转型的核心力量。在这个变革的时代,低代码与数字化工具逐渐崭露头角,它们不仅简化了开发过程,还大大提高了开发效率,成为推动软件开发领域变革的重要力量。 低代码&am…...
如何使用 ArcGIS Pro 生成TIN
三角网是一种常用于表示地表地形的数字地球模型(DEM)方式,我们可以通过 ArcGIS Pro 将等高线和高程点转换为TIN,这里为大家介绍一下转换方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的高…...
你真的会做抖音小店吗?你做抖店的方法是正确的吗?教学分享
大家好,我是电商花花。 新的一年,不少做抖店的商家都会产生一个疑问,2024年抖音小店无货源还能继续做吗? 做无货源模式还会被处罚吗? 先说答案,2024年抖音小店无货源能做,不仅能做且仍然是抖音…...
ssh免密登陆更换目标主机后无法连接
在进行hadoop分布式环境搭建时(三台机,master,slave1,slave2),后期slave2系统出现问题,更换新机后,master与slave2文件传输失败: 以为是秘钥过期的问题,更换…...
Java获取视频封面图,利用FFmpegFrameGrabber获取视频封面图
依赖 <dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.9</version></dependency>传入视频流获取图片byte /*** 获取视频截图** param frameNumber 视频的指定帧数* param …...
pycharm @NotNull parameter ‘module‘ of ...
下载了最新pycharm ,无法启动运行 pycharm或者idea中Run/Debug Python项目报错 Argument for NotNull parameter ‘module‘ of … 解决方案 删除项目根目录的 idea 文件夹 随后重启,重新配置即可...
Python使用pynput模块后台监控鼠标及按键
Pynput 是一个 Python 第三方库,它提供了监听和控制键盘和鼠标事件的功能。使用 pynput,我们可以编写自动化脚本,监控输入设备的活动,或者实现一些与键盘和鼠标相关的功能。 一、功能说明 这段代码是运用pynput库实现对鼠标和键盘…...
C语言 扫雷游戏
写了这么长时间的关于C语言的基础知识,相信大家已经学会了使用C语言书写一些基础的代码,上次还编写了三子棋游戏的代码,这次我将编写一个基础版的扫雷游戏。 首先,创建三个文件,两个源文件,一个头文件&…...
HTML学习:图片格式——超链接
一、图片格式 1.jpg格式 概述:扩展名为.jpg 或.jpeg ,是一种有损的压缩格式(把肉眼不容易观察出来的细节丢弃了)。 主要特点:支持的颜色丰富、占用空间较小、不支持透明背景、不支持动态图。 使用场景:对图片细节没有极高要求的场景,例如:网站的产品…...
工业级5g路由器使用案例(5g智慧安防解决方案)
项目背景: 现代化智慧安防需要满足远程可视化监控、设备联网管理、数据加密传输等多重需求,对通信网络的带宽、时延、安全性等提出了很高要求。业内急需一款高可靠、高性能、易管理的通信网关设备,来确保安防系统的顺利运行。 安装部署: SR800-D路由器采用紧凑型全金属机箱…...
sentinel熔断降级
熔断降级 Slot 责任链上的最后一环:熔断降级 DegradeSlot,熔断降级作为保护系统的一种强大手段,可以根据慢调用、异常比例和异常数进行熔断,并自定义持续时间以实现系统保护 规则配置 规则类中属性解析 与控制面板对应 // 其中资源名称在 AbstractRule 里。 pu…...
Redis的安装和部署教程(Windows环境)
一、安装Redis服务 1、下载Redis压缩包 以下这个是我网盘里面的(这个是v8.0版本的,支持导入.rdb数据文件) 链接:百度网盘 请输入提取码 提取码:x0f1 --来自百度网盘超级会员V5的分享 2、解压到文件夹 将下载的压缩…...
MNN Session::resize 之流水线编码(五)
系列文章目录 MNN createFromBuffer(一) MNN createRuntime(二) MNN createSession 之 Schedule(三) MNN createSession 之创建流水线后端(四) MNN Session::resize 之流水线编码&am…...
2. IS-IS 基础实验
2.1 IS-IS 配置实验 2.1.1 实验介绍 2.1.1.1 学习目标 1. 实现 IS-IS 协议基本配置 2. 实现 IS-IS 协议 DIS 优先级修改 3. 实现 IS-IS 协议网络类型修改 4. 实现 IS-IS 协议外部路由引入 5. 实现 IS-IS 接口 cost 修改 6. 实现 IS-IS 路由渗透配置 2.1.1.2 实验组网介…...
Rust 并行库 crossbeam 的 Channel 示例
示例1 一个不完整的示例: let (tx, rx) channel::unbounded::<Task>(); let mut handlers vec![];for _ in 0..number {let rx rx.clone();let handle thread::spawn(move || {while let Some(task) rx.recv() {task.call_box();}});handlers.push(han…...
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解
一:缓存雪崩 我们可以简单的理解为:由于原有缓存失效,新缓存未到期间 (例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了ÿ…...
springcloud gateway
一、 predicate : 就是你定义一些规则,如果满足了这些规则,就去找到对应的路由。 对于strip 二、自定义过略器和全局过滤器 约定大于配置,后缀不变,只改前缀 sentinel持久化 三、sentinel quick-start | Sentinel 信号量虽然简…...
JAVA八股day1
遇到的问题 相比于包装类型(对象类型), 基本数据类型占用的空间往往非常小为什么说是几乎所有对象实例都存在于堆中呢?静态变量和成员变量、成员变量和局部变量的区别为什么浮点数运算的时候会有精度丢失的风险?如何解…...
探索拓展坞的奥秘:提升电脑接口的无限可能
在数字化时代的浪潮中,电脑已成为我们日常生活和工作中不可或缺的一部分。然而,随着外接设备的日益增多,电脑接口的数量和类型往往无法满足我们的需求。这时,拓展坞便应运而生,以其强大的扩展能力和便捷的使用方式&…...
Linux中执行脚本报错(脚本乱码问题)
主要原因是在windows中编译文件格式导致 linux下解决: 方案一: Linux下打开shell文件,用vi/vim命令打开脚本文件,输入“:set fileformatunix”,回车,保存退出。 方案二: yum install -y dos2uni…...
el-table按钮获取当前行元素
el-table按钮获取当前行元素 vue2 <el-table-column label"操作" width"240px"><template slot-scope"scope"><el-button size"mini" click"toItem(scope.row)">用户详情</el-button><el-butto…...
dnf网站上怎么做商人/上海今天最新新闻10条
一、关键字执行顺序1、查询中用到的关键词主要包含六个,并且他们的顺序依次为 :select--from--where--group by--having--order by 其中select和from是必须的,其他关键词是可选的。这六个关键词的执行顺序,与sql语句的书写顺序并不…...
台州网站建设公司/软文推广发稿
zabbixnotifier官方地址:https://github.com/gigatec/zabbixnotifierzabbixnotifier是一个基于Google Chrome的Zabbix扩展通知程序功能:通过此扩展,Zabbix监控系统的当前状态消息可以直接显示在浏览器中。故障和问题检测可以做到迅速和可靠&a…...
wordpress自动水印/中国疫情最新情况
HDFS的设计目标 通过上一篇文章的介绍我们已经了解到HDFS到底是怎样的东西,以及它是怎样通过多副本机制来提供高可靠性的,我们可以发现HDFS设计目标可以总结为以下几点: 非常巨大的分布式文件系统 运行在普通廉价的硬件上 易扩展、为用户提供性能不错的文件存储服务 HDFS的…...
自己做的网站很卡/宁波seo网络推广优化价格
http://blog.csdn.net/hackbuteer1/article/details/11132567 好久没学过C语言了,都块不记得了,这边文章的作者强悍,题目很基础,又体现了基础和c语言字符串的细节问题。...
网页与网站设计nbsp的意思/品牌营销推广要怎么做
SpringBoot集成的Activiti6.0代码(绘制工具界面代码 审批代码) 最近的工作中需要使用到Activiti工作流引擎做二次开发工作,本文主要介绍工作流用户与组绑定及表单申请与审批全流程演示,特此记录便于日后查阅。 一、创建BPMN业务…...
怎么优化网站内容/国际军事新闻今日头条
视频的读取主要利用了OpenCV中的VideoCapture类。视频读入到VideoCapture类对象capture之后,利用一个循环将每一帧图像保存到电脑上。 #include <opencv2/opencv.hpp>#include <tchar.h> #include <stdio.h> #include <iostream> #includ…...