ECCV2020 | 300+FPS!超快的结构感知车道检测新网络

2024-06-21 08:32

本文主要是介绍ECCV2020 | 300+FPS!超快的结构感知车道检测新网络,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方蓝字,获得更多精彩内容

精彩内容

浙大提出:超快速结构感知的车道线检测网络 ,在速度和准确性方面综合表现出色!
轻量级版本速度高达300+ FPS!
论文链接:
https://arxiv.org/abs/2004.11757
代码刚开源:
https://github.com/cfzd/Ultra-Fast-Lane-Detection
作者团队:浙江大学(李玺团队)

1

摘要


从上图可以看出,车道线检测要面临很多的难题,比如车辆的遮挡、各种复杂光线的影响,甚至有时候根本看不到车道线。

车道线检测方法通常被视为像素分割的问题。受人类感知的启发,在严重遮挡和极端光照条件下对车道线的识别主要基于上下文和全局信息。基于这种观察,本文提出了一种新颖,简单而有效的方法,我们将车道线检测过程视为使用全局特征的基于行(row-based)的选择问题,使用全局特征在图像的预定义行中选择车道的位置,而不是基于局部接受域分割车道的每个像素,这大大降低了计算成本。在全局特征上使用较大的感受野,还可以处理具有挑战性的场景。

此外,基于该公式,还提出了结构损失,以对通道结构进行显式建模。在两个车道线检测基准数据集上的大量实验表明,这种方法可以在速度和准确性方面达到最先进的性能。轻量级版本甚至可以以相同的分辨率每秒获得300+帧,这至少比以前的最新方法快4倍。

2

创新及贡献


本文的主要贡献是提出一个车道线识别的新公式,根据该公式有了以下几方面的贡献:

  • 提出了一种新颖、简单、有效的车道检测算法,该算法主要针对快速行驶和无视觉线索的问题。与深度分割方法相比,本文方法是选择车道的位置,而不是分割每个像素,并在不同的维度上工作,速度飞快。此外,使用全局特征进行预测,比分割公式具有更大的接受域。通过这种方式,没有视觉线索的问题也可以被广告掩盖。(参下图)

  • 在此基础上,提出了一种利用车道先验信息的结构损失。据知,这是首次尝试在深车道检测方法中明确优化这类信息。

  • 所提出的方法在具有挑战性的CU Lane数据集上,在准确性和速度方面都达到了最先进的性能。我们的方法的轻量级版本甚至可以达到300+ FPS,在相同的分辨率下,性能也相当,这至少比以前最先进的方法快4倍。

在右边的部分,详细显示了一行的选择。行锚是预定义的行位置,我们的公式定义为水平地选择每个行锚。在图像的右侧,引入了一个背景网格单元来表示该行中没有车道。

3

具体思路

3.1 车道检测新公式

本文提出将车道检测问题转化为基于全局图像特征的行选择方法。换句话说,是使用全局特性在每个预定义行上选择车道的正确位置。在本文构建的公式中,车道被描述为一系列位于预先定义的行上的水平位置,即,行锚。

为了表示位置,第一步是网格化。在每个行锚上,位置被划分为许多单元格。通过这种方式,车道的检测可以描述为在预定义的行锚上选择特定的单元格,如图3(a)所示。

假设最大车道数为C,行锚数为h,网格单元数为w,假设X为全局图像特征,fij为用于选择第i车道上车道位置的分类器,第j行锚。则车道预测可表示为:

假设Ti,j是正确位置的一个独热标签。则我们的公式优化为:

由式(1)可以看出,我们的方法是根据全局特征来预测每个行锚上所有位置的概率分布,然后根据概率分布来选择正确的位置。

  • 如何解决高速度的问题

通过图3可以看出,本文的公式比传统的分割要简单。

假设图像大小为H×W。一般来说,预定义的行锚和网格大小的数量远少于一个图像的大小,也就是说,h《h和w《w。这样,原始的分割需要进行h×w、 是C+1维的分类,而我们公式只需要解决C×h分类,是(w+1)维。通过这种方式,可以减少很大的计算规模,例如,使用的常见设置CULanedataset,理想的计算成本的方法是1.7×10^4的flops,一个用于分割的是9.2×10^5flops。计算成本大大降低,因此可以达到非常快的速度。

  • 如何解决无视觉线索的问题

从感受野的角度来看,本文公式具有整个图像的感受野,远远大于分割方法。背景信息和来自图像其他位置的信息可以用来解决无视觉线索的问题。从学习的角度来看,基于我们的公式,利用结构损失也可以学习到车道形状、方向等先验信息,参考3.2节。这样,无视觉线索的问题就可以在我们的公式中得到解决。

另一个显著的优点是,这种公式以基于行的方式对车道位置进行建模,使得有机会明确地建立不同行的关系。原有的由低水平的像素级建模和高水平的车道长线结构造成的语义鸿沟可以得到缓解。

3.2 车道线结构损失 structural-loss

第一个是由车道是连续的事实推导出来的,也就是说,相邻行锚的车道点应该相互靠近。在本文的公式中,车道的位置由一个分类向量表示。通过约束分类向量在相邻行锚上的分布来实现连续特性。这样,相似度损失函数可以为:

另一个结构损失函数关注车道的形状。为了考虑形状,需要计算每排锚上的车道位置。直观的想法是通过寻找最大响应峰,从分类预测中获得位置。在这项工作中,使用二阶差分方程来约束车道的形状,可以写成:

其中:

最终,整体结构损失可以表示为:

3.3 特征聚合 Feature aggregation

损失设计主要关注车道之间的相互关系。在本节中,我们提出了一种辅助的特征聚合方法,该方法主要关注全局上下文和局部特征的聚合。提出了一种利用多尺度特征对局部特征进行建模的辅助分割任务。这里使用交叉熵作为辅助分割损失。这样,我们方法的整体损失可以写成:

整个结构可以参考下图:

辅助分支显示在上半部分,只有在训练时才有效。特征提取器显示在蓝色框中。基于分类的预测和辅助分割任务分别显示在绿色和橙色框中。对每个行锚进行分组分类。

4

实验及结果

4.1 数据集

4.2 消融实验

分别使用25、50、100和200个单元格来分割图像,结果如下所示:

定位方法的有效性:

本文模型的有效性:

TUSimple数据集:

CULane数据集:

可视化效果:

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

这篇关于ECCV2020 | 300+FPS!超快的结构感知车道检测新网络的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080716

相关文章

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c