LSTR: 基于Transformer的车道形状预测

LSTR: 基于Transformer的车道形状预测

    • 项目背景与意义
    • LSTR的特性和功能
    • 最新更新
    • 即将推出的功能
    • 模型资源库
    • 数据准备
    • 设置环境
    • 训练和评估
    • 引用
    • 许可证
    • 贡献
    • 致谢

在计算机视觉领域,车道检测是自动驾驶和智能交通系统中的关键技术之一。我们推出了一种名为LSTR的车道形状预测模型,它基于Transformer架构,实现了端到端的车道形状参数输出。本文将介绍LSTR模型的设计思想、功能特性以及应用场景。

项目背景与意义

传统的车道检测方法通常分为多个阶段,包括特征提取、车道线识别和拟合等,这些阶段需要大量的人工设计和调整,而且容易受到环境光照、路面情况等因素的影响。LSTR的出现将车道检测简化为单阶段任务,极大地提高了检测的准确性和效率。

LSTR模型的特点包括模型参数少、计算复杂度低、训练友好等,不仅在理论上具有吸引力,而且在实际应用中也表现出色。其在TuSimple数据集上达到了96.18%的准确率,为自动驾驶和智能交通领域的应用提供了可靠的技术支持。
在这里插入图片描述

LSTR的特性和功能

  • 😎 端到端架构: 直接输出车道形状参数,简化车道检测流程。
  • 超轻量级: 模型参数仅有765,787个,适用于资源受限的环境。
  • 超低复杂度: 计算复杂度仅为574.280M个乘加操作(MACs)。
  • 😎 训练友好: GPU内存消耗低,使用大小为(360, 640, 3)的输入图像,批量大小为16时,仅占用1245MiB的GPU内存。

最新更新

  • 【2021/12/03】🔥 我们的新作品《从单张图像学习预测3D车道形状和相机姿态:基于几何约束》已被AAAI2022接受!预印本论文和代码即将发布!
  • 【2021/11/23】: 我们现在支持自定义数据的训练和测试。
  • 【2021/11/16】: 修复了多GPU训练的问题。
  • 【2020/12/06】: 现在我们支持CULane数据集。

即将推出的功能

  • LSTR-nano(新的骨干网络):在只使用LSTR 40%的MACs(229.419M)和40%的参数(302,546)的情况下,达到96.33%的TuSimple准确率。
  • 马赛克增强。
  • 基于Loguru的日志记录模块。
  • 基于几何的损失函数。
  • 分割先验。

模型资源库

我们提供了基线LSTR模型文件(在TuSimple训练和验证集上进行了500,000次迭代训练):

  • ./cache/nnet/LSTR/LSTR_500000.pkl(约3.1MB)。

数据准备

请从TuSimple下载并提取带有注释的TuSimple训练、验证和测试集。

我们期望目录结构如下所示:

TuSimple/LaneDetection/clips/label_data_0313.jsonlabel_data_0531.jsonlabel_data_0601.jsontest_label.jsonLSTR/

设置环境

  • Linux Ubuntu 16.04
conda env create --name lstr --file environment.txt

创建环境后,请激活它:

conda activate lstr

然后安装依赖:

pip install -r requirements.txt

训练和评估

  • 若要训练模型:

(如果您只想使用训练集,请查看./config/LSTR.json并设置"train_split": “train”)

python train.py LSTR
  • 训练期间可视化图像存储在./results中。
  • 训练期间保存的模型文件(每5000次迭代)存储在./cache中。

要从快照模型文件训练模型:

python train.py LSTR --iter 500000
  • 若要评估(在评估单个图像时GPU占用603MiB),然后您将看到论文的结果:
python test.py LSTR --testiter 500000 --modality eval --split testing
  • 若要评估FPS(将–batch设置为最大以提高FPS,如果您每个图像重复16次,则GPU占用877MiB):
python test.py LSTR --testiter 500000 --modality eval --split testing --batch 16
  • 要评估并将检测到的图像保存在./results/LSTR/500000/testing/lane_debug中:
python test.py LSTR --testiter 500000 --modality eval --split testing --debug
  • 若要评估并保存解码器注意力图(存储–debugEnc以可视化编码器注意力图):
python test.py LSTR --testiter 500000 --modality eval --split testing --debug --debugDec

若要在一组图像上评估(将您的图像存储在./images中,然后检测结果将保存在./detections中):

python test.py LSTR --testiter 500000 --modality images --image_root ./ --debug

在这里插入图片描述

引用

@InProceedings{LSTR,
author = {Ruijin Liu and Zejian Yuan and Tie Liu and Zhiliang Xiong},
title = {End-to-end Lane Shape Prediction with Transformers},
booktitle = {WACV},
year = {2021}
}

许可证

LSTR采用BSD 3-Clause许可证发布。更多信息请参阅LICENSE文件。

贡献

我们积极欢迎您的Pull请求!

致谢

  • DETR
  • PolyLaneNet
  • CornerNet

通过LSTR,我们致力于推动车道检测技术的进步,为智能交通系统的发展贡献力量!

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

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

相关文章

DNS 服务器类型比较:如何选择合适的 DNS 配置

介绍 DNS,即域名系统,是系统在互联网上进行通信时连接的一个重要部分。没有了DNS,计算机和使用它们的人将只能使用称为IP地址的数字地址进行连接。 除了需要记住大量复杂数字地址的明显问题外,通过IP地址进行通信还会引发一些额…

mysql 锁知识汇总

目录 一、锁1.1 什么是锁?1.2 全局锁1.2.1 定义1.2.2 应用场景1.2.3 会出现的问题1.2.4 解决方法 1.3 表级锁1.3.1 表锁1.3.2 元数据锁(MDL)1.3.3 意向锁1.3.4 AUTO-INC锁 1.4 行级锁1.4.1 记录锁(Record Lock)1.4.2 间隙锁(Gap Lock)1.4.3 N…

【C++11】包装器

包装器 一、function包装器1、function包装器介绍2、包装示例3、function包装器统一类型4、function包装器简化代码5、function包装器的意义 二、bind包装器1、bind包装器介绍(1)bind包装器(2)调用bind的一般形式 2、bind包装器绑…

vite和vue-cli实现原理和优化及区别

Vite: 1. 实现原理: Vite 是一个基于 ESModule 的构建工具。它利用原生 ESModule 的特性,将每个文件作为一个模块,通过浏览器去解析和执行,而不需要提前将文件打包成一个单独的 bundle。Vite 利用浏览器的原生 ESMod…

LeetCode 热题 100 | 链表(中上)

目录 1 141. 环形链表 1.1 哈希表 1.2 快慢指针 2 142. 环形链表 II 2.1 哈希表 2.2 快慢指针 3 21. 合并两个有序链表 4 2. 两数相加 菜鸟做题第三周,语言是 C 1 141. 环形链表 1.1 哈希表 解题思路:遍历链表,在哈希表中…

Linux下grep命令详解

grep #文件内容过滤显示 #在指定的普通文件中查找并显示含有指定字符串的行,也可与管道符一起使用格式: grep-参数 查找条件 文件名 参数: 示例: [rootnode1 ~]# grep -n "root" /etc/passwd # -n&a…

Flink 添加 / 部署 Jar 包的若干注意事项

Flink 添加 / 部署 Jar 包可根据 Jar 包的声明周期、作用范围选择不同的附属方式,从实际应用上来看,可以分成以下几种场景: 普遍使用的框架或基础设施级别的 Jar 包,例如 Kafka、Hive、Hudi 等 Connector 的Jar 包,应…

Vue3学习记录(一)--- 组合式API之基础概念和变量声明

一、组合式API基础 1、简介 ​ 组合式 API (Composition API) 是Vue3和Vue2的v2.7之后版本中的全新特性,是一系列API的的集合(响应式API、生命周期钩子、依赖注入等等),其风格是基于函数的组合,以一种更直观、更灵活…

【Unity3D小技巧】Unity3D中UI控制解决方案

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中总是会控制UI界面,如何优雅的控制UI界面是…

02-Java抽象工厂模式 ( Abstract Factory Pattern )

抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂 该超级工厂又称为其他工厂的工厂 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类 每个生成的工厂都能按照工厂模式提供对象 …

CDS view与替代对象

一,简介 替代对象是指用一个CDS view指派给一个透明表或常规数据库视图,使得透明表或常规数据库视图的访问重定向到该CDS view。 替代有诸多要求: 字段数量一致且同名对应,顺序可以不一致对应的字段数据类型长度等必须一致CDS v…

在Linux下搭建自己的私有maven库并部署和发布自定义jar依赖和自定义maven插件(三)开发和发布自己开发的maven插件

系列文章目录 在Linux下搭建自己的私有maven库并部署和发布自定义jar依赖和自定义maven插件(二)发布自己开发的jar包 文章目录 系列文章目录在Linux下搭建自己的私有maven库并部署和发布自定义jar依赖和自定义maven插件(二)发布自己开发的jar包 前言一、插件需求二、maven自定…

H5调用安卓原生相机API案例

1、在activity_main.xml文件里添加webview标签 <WebViewandroid:id="@+id/webview"android:layout_width="match_parent"android:layout_height="match_parent"> </WebView> 2、AndroidManifest.xml(权限和活动声明) 开启访问…

如何准备明年游戏行业春招

大学校园招聘一般分春招和秋招。对于很多即将毕业的同学来说&#xff0c;如果秋招时没有收获合适的offer&#xff0c;那么春招就是最后的求职机会。此时更应珍惜&#xff0c;全力以赴。 许多游戏大厂通常会在校招开放基础岗位&#xff0c;这是进入游戏公司的捷径。校招时你的主…

前端JavaScript篇之对 rest 参数的理解、ES6中模板语法与字符串处理

目录 对 rest 参数的理解ES6中模板语法与字符串处理 对 rest 参数的理解 rest参数是一种在函数定义中使用的特殊语法&#xff0c;它允许函数接受任意数量的参数&#xff0c;并将它们收集到一个数组中。通俗地说&#xff0c;rest参数就像是一个容器&#xff0c;用来存放函数接收…

2024/2/2

第一章 命名空间 一&#xff0e;选择题 1、编写C程序一般需经过的几个步骤依次是&#xff08; B &#xff09; A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 2、所谓数据封装就是将一组数据和与这组数据有关操…

【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件

RAC 工作原理和相关组件 OracleRAC 是多个单实例在配置意义上的扩展&#xff0c;实现由两个或者多个节点&#xff08;实例&#xff09;使用一个共同的共享数据库&#xff08;例如&#xff0c;一个数据库同时安装多个实例并打开&#xff09;。在这种情况下&#xff0c;每一个单独…

什么是ISO21434网络安全中的信息安全?-亚远景

在ISO 21434标准中&#xff0c;信息安全指的是保护汽车网络、汽车电子系统和与汽车相关的信息免受未经授权的访问、修改、破坏、泄露和干扰的能力。信息安全的目标是确保车辆的电子和通信系统在数字化和互联环境中具备足够的防护&#xff0c;以防范潜在的威胁和攻击。 以下是IS…

帮管客CRM SQL注入漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

2024年美赛B题:寻找潜水器 Searching for Submersibles 思路模型代码解析

2024年美赛B题&#xff1a;寻找潜水器 Searching for Submersibles 思路模型代码解析 【点击最下方群名片&#xff0c;加入群聊&#xff0c;获取更多思路与代码哦~】 问题翻译 海上游轮迷你潜艇&#xff08;MCMS&#xff09;是一家位于希腊的公司&#xff0c;专门制造能够将人…