算法环境配置(007)_车道线检测Ultra-Fast-Lane-Detection

Ultra-Fast-Lane-Detection代码解析 现代方法主要将车道检测视为像素分割问题,难以解决具有挑战性的场景和速度问题。受到人类感知的启发,在严重遮挡和极端光照条件下的车道识别主要基于上下文信息和全局信息。基于这一观察结果,论文提出了一种新颖、简单但有效的公式,旨在实现极快的速度和具有挑战性的场景。具体地说,论文将车道检测的过程视为一个利用全局特征的基于行的选择问题。在基于行选择的帮助下,论文提出的公式可以显著降低计算成本。在全局特征上使用一个大的接受域,也可以处理具有挑战性的场景。此外,在此基础上,论文还提出了一个结构损失来明确地模拟车道的结构。 阅读详情

前言

算法名称:Ultra-Fast-Lane-Detection
论文地址:https://arxiv.org/abs/2004.11757
开源代码:https://gitcode.net/mirrors/cfzd/Ultra-Fast-Lane-Detection?utm_source=csdn_github_accelerator

一、 算法介绍

1.车道检测现状和难点

1.现状

对于车道线检测任务,目前主流的两种方法有:
• 传统图像处理的方法
• 深度分割的方法
  早期已有很多基于传统图像处理实现的车道线检测算法,但随着大家研究的深入,车道线检测任务所应对的场景越来越多样化,逐步已经脱离了对于“白、黄色线条”这种低阶理解。
  目前更多的方式是寻求对于语义上车道线存在位置的检测。深度分割方法自然比传统的图像处理方法具有更强的语义表示能力,所以现代车道线检测最主要的方法是将其视为像素级分割的问题。但深度分割处理车道线检测也具有一定的局限性。

2.局限性

速度慢
  因为分割是逐像素分类的,要对图像中每一个像素点进行分类。为了分割车道线要进行非常密集的计算,导致的结果就是速度比较慢。
局部感受野
  分割的另一个问题是感受野问题。因为分割一般是全卷积得到分割结果,而卷积基本上是比较局部的,所以每个像素的感受野有限。在其他分割问题中可能问题不大,但在车道线检测中,问题就很大了。

3.难点

为什么局部感受野的问题对于车道线检测任务中,影响较大呢?这也是目前车道线检测的一大难点。因为车道线检测目前的一大难点就是寻找语义上的线,而不是局限于表观存在的线。如下图所示:
在这里插入图片描述

图中车道线受光照影响和周围车辆的遮挡,已经完全识别不出车道线所在位置。而在这种严重遮挡和极端光照条件下,车道线识别主要是基于背景信息和全局信息。故对于上图这种语义线的检测,需要对全局有很好的感知才能实现良好的定位。也就是需要我们对车道线有更高级别的语义分析。

2.超快速车道线检测算法

1.算法结构

在这里插入图片描述

蓝线上是辅助分支,蓝线下是主要分支。特征提取器显示在蓝框中,分类预测显示在绿色框中,辅助分割任务显示在橙色框中。
  需要注意的是,为了获取全局的上下文信息,作者在网络训练过程中加入了一个语义分割的分支,从而实现全局和局部信息的聚合,在测试阶段删除。这样,即使我们增加了额外的分割任务,该算法的运行速度也不会受到影响。
  最终的total loss是:
在这里插入图片描述

2.算法定义

将车道线检测定义为寻找车道线在图中某些行位置的集合,即基于行方向上的位置选择、分类。如下图所示:

图中可以看出,Row
anchors我们称之为行锚,它是预定的行位置,在每个行锚上,位置被划分为许多单元格。车道线检测就被描述为在预定义的行锚上选择某些单元格。

3. 创新点

为了解决深度分割的两个问题,也为了简单建模车道线,提出了一个全新的车道线检测算法。该论文的创新点:
1.增加先验条件,增加几何约束
利用车道线先验,设计structural loss给网络输出增加几何约束,解决上面提到的问题
首先,我们要明确对于没有视觉线索的问题就是意味着在目标位置没有信息。如下图所示:
在这里插入图片描述

从图中我们可以看出,一条车道被一辆车挡住了,但该算法仍然可以通过其他车道、道路形状甚至汽车方向的信息确定该车道的位置。所以解决无视觉线索问题的关键就是利用其他地点的信息。
  本论文通过两个角度去解释该算法是如何解决“没有视觉线索”这个问题的。
• 感受野的角度
  由于该算法不是分割的全卷积形式,是一般的基于全连接层的分类,所以它使用的特征是全局特征。所以,该方法在检测某一行的车道线位置时,感受野就是全图大小。那么来自图像其他位置的上下文信息可以用来解决无视觉线索的问题。
• 学习的角度
  使用平滑性和刚性

Ultra-Fast-Lane-Detection代码复现(车道线检测) Ultra-Fast-Lane-Detection code: https://github.com/cfzd/Ultra-Fast-Lane-Detection 环境准备 Clone the project git clone https://github.com/cfzd/Ultra-Fast-Lane-Detection cd Ultra-Fast-Lane-Detection Create a conda virtual environment and activate it con 阅读详情

相关推荐

【Lane】 Ultra-Fast-Lane-Detection 复现

引言 车道线检测源码复现以及训练自己的数据集 1 环境搭建 conda create -n lane python=3.7 conda activate lane # 激活环境 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch pip install -r requirements.txt 2 下载项目源码 若在服务器上可以用指令下载,否则直接在网址中下载 git clone https://github.com/cfzd/U

qq_44703886的博客 2万+

车道线检测实现Ultra-Fast-Lane-Detection

车道线检测实现Ultra-Fast-Lane-Detection 原始仓库代码使用resnet系列作为骨干网络,网络输入分辨率为288*800,在板卡上运行7-8FPS,有点低,个人对原始仓库添加了些东西,具体如下: 1.添加配置文件,去除原仓库复杂参数配置 2.添加骨干网络mobilenetv2 3.跟换了网络训练分辨率 4.在训练脚本中添加验证脚本,选取best model 5.添加onnx转换代码 修改后仓库代码:https://github.com/ycdhqzhiai/Ultra-Fast-La

ycdhqzhiai的专栏 6330

车道线检测论文Ultra-Fast-Lane-Detection-master代码复现过程

Ultra-Fast-Lane-Detection-master 摘要: 现代的车道检测方法主要将车道检测视为像素分割问题, 难以解决具有挑战性的场景和速度问题。受人类感知的启发, 严重遮挡和极端光照条件下的车道识别主要基于上下文信息和全局信息。 基于这一观察结果,我们提出了一种新颖、简单但有效的方案, 旨在极快的速度和极具挑战性的场景。 具体来说,我们将车道检测过程视为一个使用全局特征的基于行的选择问题。 在行选择的帮助下,我们的公式可以显著降低计算成本。 在全局特征上使用一个大的接收域,我们也可以处理

weixin_46716951的博客 1万+

Ultra-Fast-Lane-Detection训练自己的车道线数据集(一)(以tusimple为数据格式)

接下来是针对自己的数据集,可能存在多条车道线的问题进行数据集的标注、训练、测试等任务。

chenghan_的博客 3134

UFAST车道线检测 Ultra-Fast-Lane-Detection 从环境搭建到复现完成(一)

UFAST车道线检测 Ultra-Fast-Lane-Detection 从环境搭建到复现完成(一)

m0_46364958的博客 4342

Ultra-Fast-Lane-Detection车道线学习心得

其实使用原图的标注数据其实也可以,不用分割图也可以,按照原图标注出来的数据进行求差,得出loss,求极小值,修改权重。其中分割的图其实是用来进行和模型推理出来的数据进行比较,然后通过求loss的最小值来进行修改参数权重。分割出来的去除了杂乱的背景,更好看,更好识别。

pvmsmfchcs的博客 1498

Ultra-Fast-Lane-Detection:超快速的结构感知深路检测(ECCV 2020)

超快速通道检测 PyTorch实施的论文“”。 更新:我们的论文已被ECCV2020接受。 评估代码是从改性和。 Caffe模型和原型可以在找到。 演示版 安装 请参阅 开始吧 首先,请根据您的环境在configs/culane.py或configs/tusimple.py配置中修改data_root和log_path 。 data_root是您的CULane数据集或Tusimple数据集的路径。 log_path是tensorboard日志,训练有素的模型和代码备份的存储位置。它应该放置在该项目之外。 对于单GPU训练,运行 python train.py configs/path_to_your_config 对于多GPU训练,请运行 sh launch_training.sh 或者 python -m torch.distributed.launch --nproc_per_n

基于Vector 的AUTOSAR NvM 模块使用

本文主要讲述Vector的两款工具configurator和Developer关于NvM的配置流程,包括如何新建NvM SWC以及添加和修改NvM block,Developer主要涉及NvM SWC的新建、添加新NvM Block以及修改原有的NvM Block;Configurator主要涉及三个模块NvM、Fee以及Fls,以下将分为两个模块对该部分进行介绍。 一、Developer 使用 1.1 新建NvM SWC并实例化 如下图,为Developer左列列表 图 1.1...

Fly_To_Skyhehe的博客 4948

嵌入式Linux开发:手把手教你调试OV9281摄像头Sensor(基于全志平台DTS配置)

本文详细解析了嵌入式Linux开发中OV9281摄像头Sensor的调试全流程,重点介绍了基于全志平台的DTS配置指南。从硬件信号检测到软件驱动配置,包括设备树关键参数设置、内核驱动适配实战及图像质量调优技巧,为开发者提供了一套完整的调试方案,助力工业视觉和边缘计算设备的开发。

weixin_28716769的博客 365

HDMI设计2----EDID and E-EDID

1,EDID是什么?有什么用? 图1 应用场景 如图1所示的应用场景,PC将视频信号发送 到我们的设备上,经过一系列的传输和切换,设备将视频信号发送到显示器或者投影机上,也就是说,我们的设备位于PC和显示器之间。首先,在输入端,设备需要让PC知道自己是能够接受输入视频信号的,让PC认为自己是一台显示器。如果不这样做的话,PC可能会拒绝输出任何视频信号的(VGA接口不需要EDID也能输出)。除此之外,设备还要告诉PC自己支持的显示时序。而在输出端,当设备需要自建输出时序而不是简单的复制...

Archar_Saber的博客 7979

磁传感器技术解析:从霍尔效应到车规级应用,纳芯微的本土第一之路

磁传感器是现代工业与汽车电子中的关键感知元件,其技术演进经历了从分立器件到高集成度SoC的跨越。霍尔效应与磁阻效应构成两大物理基础,其中硅基霍尔方案凭借高性价比与成熟供应链,在车规级应用中占据主流。高精度电流检测、角度与位置感知、磁开关等场景,对传感器的温漂抑制、共模瞬态抗扰与批量一致性提出严苛要求。车规级可靠性体系与系统级集成能力,成为衡量供应商的核心标尺。随着新能源主驱、光伏逆变、工业伺服等应用爆发,具备完整信号链与隔离技术积累的厂商正逐步构建护城河。本文以纳芯微为样本,剖析其从隔离技术延伸至磁传感器平

weixin_34387468的博客 362

1篇1章3节:R 语言的产生与发展轨迹(更新2024/08/14)

药物的研究阶段包括靶标确定、生物学模型建立、新化学实体的发现和优化新化学实体四个关键环节。每个环节都在药物研发过程中发挥着至关重要的作用。通过科学严谨的方法和技术手段,研究人员能够在药物研发过程中不断探索和优化,从而发现和开发出具有高效、安全性的候选药物,为疾病治疗提供更多的选择和希望。

MD Code 2651

STM32实现简单的智能电梯控制

上述代码实现了一个简单的智能电梯控制器。电梯的状态包括IDLE(停止)、UP(向上移动)和DOWN(向下移动)三种状态。通过向上和向下按钮的按下,可以控制电梯移动到指定的楼层。在主循环中,不断读取当前楼层的按钮状态,并根据电梯状态决定执行的动作。具体的楼层数量和按钮的GPIO引脚可以根据实际情况进行调整。要实现简单的智能电梯控制,我们可以使用STM32微控制器来实现。

2401_85258012的博客 332

【一看就会】autoware universe项目结构解析——从一层一层直到control源码

下载安装autoware universe花了一天。下载好之后,按照网上说的跑了一下仿真是能跑的,证明下的代码没问题。然后就得看一下各模块实现的源码了。但是当我打开这些文件的时候。我勒个豆。这么多是个玩意儿。我连该启动哪个launch文件,哪个文件夹是干啥的都不知道。在我慢慢弄懂之后,我也记录这个庞大的项目的各个文件夹和里面的文件以及项目,以及自己使用时应该启动哪些launch文件。这篇文章目的就是通过找到control部分的源码,来帮助我们梳理这个庞大项目的各个文件的功能。

weixin_48386130的博客 2033

【Claude Code 源码解析教程】总体大纲

本教程旨在深入解析 Anthropic Claude Code 项目的源码架构和实现细节。Claude Code 是一个基于 TypeScript + Bun 构建的 AI 编程助手 CLI 工具,代号 "Tengu",具有复杂的多模块架构和丰富的功能特性。本教程基于Claude Code 的源码分析来生成,将帮助您全面掌握 Claude Code 的源码架构和实现细节,为开发类似 AI 编程助手工具奠定坚实基础。

rengang66的博客 378

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 算法环境配置(006)_BEV系列之Fast-Bev
下一篇: 算法环境配置(008)_车道线检测HybirdNets
德卡先生的信箱
博客等级 码龄8年 39粉丝 32原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

德卡先生的信箱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值