车道线检测-LSTR-论文学习笔记

article/2025/10/2 22:03:13
  • 论文:《End-to-end Lane Shape Prediction with Transformers》
  • 代码:https://github.com/liuruijin17/LSTR
  • 地址:https://arxiv.org/abs/2011.04233v2
  • 内容:使用 CNN+Transformer,基于三次曲线拟合车道线

整体结构

在这里插入图片描述

模型输出的东西

g t = ( k ′ ′ , f ′ ′ , m ′ ′ , n ′ , b t ′ ′ , b t ′ ′ ′ , α t , β t ) g_t=(k'',f'',m'',n',b''_t,b'''_t,\alpha_t,\beta_t) gt=(k′′,f′′,m′′,n,bt′′,bt′′′,αt,βt) 及对应的存在性

以上各量满足:
u ′ = k ′ ′ ( v ′ − f ′ ′ ) 2 + m ′ ′ v ′ − f ′ ′ + n ′ + b t ′ ′ v ′ − b t ′ ′ ′ u'=\frac{k''}{(v'-f'')^2}+\frac{m''}{v'-f''}+n'+b''_t v'-b'''_t u=(vf′′)2k′′+vf′′m′′+n+bt′′vbt′′′
其中,

  • ( u ′ , v ′ ) (u',v') (u,v) 为图像像素位置;
  • ( k ′ ′ , f ′ ′ , m ′ ′ , n ′ ) (k'',f'',m'',n') (k′′,f′′,m′′,n) 决定了车道线的弯曲程度;
  • ( α t , β t ) (\alpha_t,\beta_t) (αt,βt) 是第 t t t 条车道线的起点;
  • ( b t ′ ′ , b t ′ ′ ′ ) (b''_t,b'''_t) (bt′′,bt′′′) 拟合直线部分。

补充:

  • n ′ n' n b t ′ ′ ′ b'''_t bt′′′ 具有不同的物理背景,所以文中并没有将其合并。
  • 以上公式的各参数具备明确的物理含义,其基于三次曲线,推导过程可参考文中的第 7 节。

预测的车道线与 GT 之间的匹配

使用 Hungarian 算法寻找最佳匹配

  • 优化的损失函数
    L = Σ i = 1 N − ω 1 log ⁡ p z ^ ( i ) ( c ^ i ) + 1 ( c ^ i = 1 ) ω 2 L 1 ( s ^ i , s z ^ ( i ) ) + 1 ( c ^ i = 1 ) ω 3 L 1 ( α ^ i , α z ^ ( i ) , β ^ i , β z ^ ( i ) ) L=\Sigma^N_{i=1}-\omega_1 \log_{p_{\hat{z}(i)}}(\hat{c}_i)+\mathbf{1}(\hat{c}_i=1)\omega_2 L_1(\hat{s}_i,s_{\hat{z}(i)})+\mathbf{1}(\hat{c}_i=1)\omega_3 L_1(\hat{\alpha}_i,\alpha_{\hat{z}(i)},\hat{\beta}_i,\beta_{\hat{z}(i)}) L=Σi=1Nω1logpz^(i)(c^i)+1(c^i=1)ω2L1(s^i,sz^(i))+1(c^i=1)ω3L1(α^i,αz^(i),β^i,βz^(i))

求的是 z ^ = arg ⁡ min ⁡ z L \hat{z}=\mathop{\arg\min}_z L z^=argminzL
其中:

  • ( c i , g i ) (c_i,g_i) (ci,gi) 是预测的第 i i i 条车道线;
  • c i ∈ { 0 , 1 } c_i\in \{0,1\} ci{0,1} 是对 预测的第 i i i 条车道线 属实情况的预测;
  • s ^ = ( u ^ r ′ , v ^ r ′ ) r = 1 R \hat{s}=(\hat{u}'_{r},\hat{v}'_{r})^R_{r=1} s^=(u^r,v^r)r=1R 是车道线 GT(注意这里是对车道线的像素级采样,不是曲线参数 g r g_r gr);
  • z ( i ) z(i) z(i) 是指:与 GT 中第 i i i 条车道线相匹配的第 z z z 条预测结果。
  • N N N 表示在每张图片上预测的车道线的数量,该值大于实际数量,所以在每张图片的 GT 集合中,存在并非车道线的“线”。
  • 1 ( c ^ i = 1 ) \mathbf{1}(\hat{c}_i=1) 1(c^i=1) 是示性函数,当 GT 中第 i i i 条车道线属实时,其值为 1 1 1,否则为 0 0 0

http://chatgpt.dhexx.cn/article/Xpp41Q5i.shtml

相关文章

车道线检测学习总结

之前学习了一个非常酷炫的车道线检测项目:Advanced Lane Finding Project 现在写一个学习笔记,备注一下,方便以后复习: 项目总体流程如下: 第一步,采用棋盘对相机进行校正: 第二步,对…

2D车道线检测算法总结

关于2D车道线检测算法的总结主要分为两类:一类基于语义分割来做,一类基于anchor和关键点来做。还有基于曲线方程来做的,但是落地的话还是上面两种为主。 一、基于语义分割的车道线检测算法 1.LaneNet 论文创新点: 1.将车道线检…

车道线检测-Eigenlanes 论文学习笔记

论文:《Eigenlanes: Data-Driven Lane Descriptors for Structurally Diverse Lanes》 代码:https://github.com/dongkwonjin/Eigenlanes 核心:在 Eigenlane Space 中检测车道线 创新点 Eigenlane:数据驱动的车道描述符&#xff…

OpenCV的车道线检测

资源下载地址:https://download.csdn.net/download/sheziqiong/85604275 资源下载地址:https://download.csdn.net/download/sheziqiong/85604275 final_mark.py是最终,前面的都是一部分一部分测试的功能,用的是霍夫变换拟合&…

动手学无人驾驶(7):车道线检测

最近在研究视觉语义地图,需要进行车道线检测,发现这篇车道线检测论文效果蛮好的 (Ultra Fast Structure-aware Deep Lane Detection)。论文作者在知乎上已经介绍过了:https://zhuanlan.zhihu.com/p/157530787&#xff…

高级车道线检测

基于图像处理相关技术的高级车道线检测(可适用于弯道,车道线颜色不固定,路面阴影,亮光) pipeline: 1.校准摄像头的畸变,使拍摄照片能够较完整的反映3D世界的情况 2.对每一帧图片做透视转换(pers…

传统方法车道线标注及相关知识

目录 一、图像二值化处理 1.Sobel算子绝对值 2.Sobel算子 3.倾斜角度 4.HLS颜色空间 5.二值图结合 二、车道线分割 1.仿射变换 2.车道线直方图 3.滑动窗口寻找车道线 4.车道线拟合 5.车道线区域标注 一、图像二值化处理 主要目的是通过二值化图像,使得车…

学习笔记之车道线相关记录

一. 车道线相关的知识 &&1.标线的分类 以下分类来自于百科: 按照道路交通标线的功能划分为:指示标线、警告标线和禁止标线。 按标划方法可分为:白色虚线、白色实线、黄色虚线、黄色实线、双白虚线、双白实线、双黄虚线和双黄实线…

关于python 最简单封装实例

一、 #定义一个类 class Person: #init是定义类实例初始化函数 ,没有返回return def __init__(self,name,area): self.name name self.area area #类里面定义方法 def run(self): print(self.name) …

Python软件封装打包

作者:Naples 链接:https://www.zhihu.com/question/32703639/answer/165326590 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 Python Tkinter打包封装的方法有:PyInstaller, py…

Python封装、继承和多态

Python 语言在设计之初,就定位为一门面向对象的编程语言,“Python 中一切皆对象”。同时,Python 也支持面向对象的三大特征:封装、继承和多态。 一、封装 封装(Encapsulation),即在设计类时&am…

python程序封装

python程序封装1 报错请执行pip install --upgrade setuptools 和 pip install --upgrade wheel 步骤如下: (1)安装pyinstaller,可以直接在cmd命令行中,输入命令“pip install pyinstaller”,安装pyinsta…

python封装程序

#终端/cmd命令下: 1.安装python Welcome to Python.org 2.安装pip pip PyPI 下载get-pip.py 在cmd窗口下执行,python */*/get-pip.py(*为文件所在位置) *如果安装好后出现 不是内部命令的情况 需要在环境中添加&#xff…

制作python包,封装成可用模块

制作python包,封装成可用模块 首先编写py程序: printtest.py #coding: utf-8 def test():print(print test)if __name__ __main__:test() 将以上.py文件做成python模块,需要在相同目录下创建setup.py文件,setup.py中输入配置信息: #cod…

Python 程序封装-打包成exe程序

Python 程序封装-打包成exe程序 前言一、 Python 打包工具—Pyinstaller二、打包具体过程1. 打包成仅包含一个独立的exe程序2. 打包成包含文件夹的程序,内有相关的依赖库(推荐)3. 其他的打包命令 三、注意事项 欢迎学习交流! 邮箱…

怎么python程序封装?此文详解

python程序封装1 步骤如下: (1)安装pyinstaller,可以直接在cmd命令行中,输入命令“pip install pyinstaller”,安装pyinstaller (2)进入py代码的保存目录,这里py代码放在“E:\python学习\python_work” (3)cmd,输入命令:e:,进入e盘 (4)继续输入:E:\pytho…

Python封装

在用新电脑做python的封装的时候,出现了一系列的问题。在这里简单写一下Python的封装的一些流程以及可能出现的问题和解决方法吧。 封装我选择的是pyinstaller 首先是安装pyinstaller:Python 默认并不包含 PyInstaller 模块,因此需要自行安…

python之类的封装

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞&#xff…

Python入门——函数封装

当工程量比较大时,我们可以采取“函数封装”的方法实现函数的重复使用,避免“重复造轮子”。 步骤 手动创建一个包,只需进行以下 2 步操作: 新建一个文件夹,文件夹的名称就是新建包的包名;在该文件夹中&…

Python学习基础笔记五十八——封装

封装:广义上的面向对象封装。代码的保护。面向对象的思想本身就是一种封装,只让自己的对象能调用自己类中的方法。 狭义的封装概念:面向对象的三大特性之一:让属性和方法都藏起来,不让你看见。 例1: clas…