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

news2024/11/26 8:21:31
  • 论文:《PolyLaneNet: Lane Estimation via Deep Polynomial Regression》
  • 代码:https://github.com/lucastabelini/PolyLaneNet
  • 地址:https://arxiv.org/pdf/2004.10924.pdf
  • 参考:https://blog.csdn.net/sinat_17456165/article/details/107171888
  • 利用 CNN,基于三次曲线拟合车道线

模型的输入与输出

输入

单张车辆前向图

输出

曲线参数 P j = { a k , j } k = 0 K \mathcal{P}_j=\{a_{k,j}\}^K_{k=0} Pj={ak,j}k=0K、地平线高度 h h h、车道线的存在性 c j c_j cj、车道线起始高度 s j s_j sj(见下图)

其中,曲线参数确定了车道线的形状:

p j ( y ) = Σ k = 0 K a k , j y k p_j(y)=\Sigma^K_{k=0}a_{k,j}y^k pj(y)=Σk=0Kak,jyk

模型结构

在这里插入图片描述

backbone + fully connected layer

f ( I ; θ ) = ( { P j , s j , c j } j = 1 M m a x , h ) f(I;\theta)=(\{\mathcal{P}_j,s_j,c_j\}^{M_{max}}_{j=1}, h) f(I;θ)=({Pj,sj,cj}j=1Mmax,h)

损失函数

L ( { P j } , h , { s j } , { c j } ) = W p L p ( { P j } , { L j ∗ } ) + W s 1 M Σ j L r e g ( s j , s j ∗ ) + W c 1 M Σ j L c l s ( c j , c j ∗ ) + W h L r e g ( h , h ∗ ) \begin{aligned} L(\{\mathcal{P}_j\},h,\{s_j\},\{c_j\})&=W_p L_p(\{\mathcal{P}_j\},\{\mathcal{L}^*_j\})\\&+W_s\frac{1}{M}\Sigma_j L_{reg}(s_j,s^*_j)\\&+W_c\frac{1}{M}\Sigma_j L_{cls}(c_j,c^*_j)\\&+W_h L_{reg}(h,h^*) \end{aligned} L({Pj},h,{sj},{cj})=WpLp({Pj},{Lj})+WsM1ΣjLreg(sj,sj)+WcM1ΣjLcls(cj,cj)+WhLreg(h,h)

其中,

L p ( { P j } , { L j ∗ } ) = L r e g ( x j , x j ∗ ) L_p(\{\mathcal{P}_j\},\{\mathcal{L}^*_j\})=L_{reg}(\pmb{x}_j,\pmb{x}^*_j) Lp({Pj},{Lj})=Lreg(xj,xj)
x j = [ x 1 , j ,   . . . ,   x N , j ] \pmb{x}_j=[x_{1,j},\ ...,\ x_{N,j}] xj=[x1,j, ..., xN,j]
x i , j = { p j ( y i , j ∗ ) ,      i f   ∣ p j ( y i , j ∗ ) − x i , j ∗ ∣ > τ l o s s 0 ,                o t h e r w i s e x_{i,j}=\begin{cases}p_j(y^*_{i,j}),\ \ \ \ if\ |p_j(y^*_{i,j})-x^*_{i,j}|>\tau_{loss}\\ 0,\ \ \ \ \ \ \ \ \ \ \ \ \ \ otherwise \end{cases} xi,j={pj(yi,j),    if pj(yi,j)xi,j>τloss0,              otherwise

注意这里的0,可以这样理解:设置0之后,就不用计算对应位置的 grad 了。

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

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

相关文章

Java中的clone方法

注解定义: 注解是一种注释机制,它可以注释包、类、方法、变量、参数,在编译器生成类文件时,标注可以被嵌入到字节码中。注解的分类:内置注解Override :重写方法,引用时没有该方法时会编译错误public class …

使用 ThreeJS 实现第一个三维场景(详)

文章目录参考描述index.html三维场景的基本实现导入 ThreeJS准备工作场景摄像机视锥体正交摄像机透视摄像机渲染器后续处理将摄像机添加至场景中移动摄像机设置画布尺寸将渲染器创建的画布添加到 HTML 元素中渲染物体结构材质合成将物体添加至场景中代码总汇执行效果动画reques…

Python基础及函数解读(深度学习)

一、语句1.加注释单行注释:(1)在代码上面加注释: # 后面跟一个空格(2)在代码后面加注释:和代码相距两个空格, # 后面再跟一个空格多行注释:按住shift 点击三次"&am…

蓝桥杯刷题023——机器人塔(DFS)

2016国赛 题目描述 X 星球的机器人表演拉拉队有两种服装,A 和 B。 他们这次表演的是搭机器人塔。 类似: A B B A B A A A B B B B B A B A B A B B A 队内的组塔规则是: A 只能站在 AA 或 BB 的肩上。 B 只能站在 AB 或 BA 的肩上。 你的任务…

擎创动态 | 定了!建设银行首批生态合作伙伴

1月31日,建设银行以“云行金融之道,建可信未来”为主题在北京举办“建行云”发布会,首批推出三大类10个云服务套餐,为行业提供一站式解决方案。发布会上,建设银行推出“云霄”生态合作计划并公布首批39家“建行云”生态…

基于vue-admin-element开发后台管理系统【技术点整理】

一、Vue点击跳转外部链接 点击重新打开一个页面窗口,不覆盖当前的页面 window.open(https://www.baidu.com,"_blank")"_blank" 新打开一个窗口"_self" 覆盖当前的窗口例如:导入用户模板下载 templateDownload() {wi…

化繁为简|中信建投基于StarRocks构建统一查询服务平台

近年来,在证券服务逐渐互联网化,以及券商牌照红利逐渐消退的行业背景下,中信建投不断加大对数字化的投入,尤其重视数据基础设施的建设,期望在客户服务、经营管理等多方面由经验依赖向数据驱动转变,从而提高…

面试阿里测开岗,面试官说我不配24K,当场拍桌子翻脸....

好家伙,这奇葩事可真是多,前两天和粉丝聊天,他说前段时间面试阿里的测开岗,最后和面试官干起来了。 我问他为什么,他说没啥,就觉得面试官太装了,我说要24K,他说太高了,说…

中国区注册OpenAI账号试用ChatGPT指南

OpenAI最近推出ChatGPT,但国内(包括香港)并不支持OpenAI账号注册,多数会提示: OpenAI’s services are not available in your country. 前期准备 科学上网,最好是美国IP(可以购买v屁n&#xf…

章鱼哥听歌

uboot环境变量 以下所有的命令,都在串口工具进行执行 ubifsmount- mount UBIFS volume ubifsumount- unmount UBIFS volume ums - Use the UMS [USB Mass Storage] usb - USB sub-system usbboot - boot from USB device version - print monit…

EasyX精准帧率控制打气球小游戏

🎆音乐分享 New Boy —— 房东的猫 之前都用Sleep()来控制画面帧率,忽略了绘制画面的时间 如果绘制画面需要很长的时间,那么就不能忽略了。 并且Sleep()函数也不是特别准确,那么就…

day3——有关java运算符的笔记

今天主要学习的内容有java的运算符 赋值运算符算数运算符关系运算符逻辑运算符位运算符(专门写一篇笔记)条件运算符运算符的优先级流程控制 赋值运算符 赋值运算符()主要用于给变量赋值,可以跟算数运算符相结合&…

【✨十五天搞定电工基础】基本放大电路

本章要求1. 理解放大电路的放大作用和共发射极放大电路的性能特点; 2. 掌握静态工作点的估算方法和放大电路的微变等效电路分析法; 3. 了解放大电路输入、输出电阻和电压放大倍数的计算方法,了解放大电路的频率特性、 互补功率放大…

八、STM32串口通信

目录 一、串口通信 1.1串口通信物理层 1.2USB转串口模块 1.3串口通信的其他应用 1.4串口数据包的基本组成 二、串口的结构体与函数讲解 2.1串口讲解 2.2结构体讲解 2.3串口初始化函数讲解 三、串口发送字符 3.1如何配置串口的发送 3.2项目实战 四、串口的中断接收 …

一文搞懂 什么是CPU上下文?为什么要切换?如何减少切换?

最近经常有小伙伴问到的一些问题,比较集中的是关于CPU切换. 实际用C/C,go开发,你会特别注意内存和CPU的使用情况,那些对于CPU使用情况特别关注,或者性能特别关注的朋友可以看看这篇文章,相信看完结尾的示例…

二、Linux文件 - Open函数讲解实战

目录 1.Open函数讲解 2.open函数实战 2.1 man 1 ls 查询Shell命令 2.2 man 2 open 查看系统调用函数 2.3项目实战 2.3.1O_RDWR和O_CREAT 2.3.2O_APPEND的用法 1.Open函数讲解 高频使用的Linux系统调用:open write read close Linux自带的工具&#xf…

C语言实现五子棋(n子棋)

五子棋的历史背景: 五子棋起源于中国,是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。五子棋容易上手&#xff0c…

c/c++开发,无可避免的文件访问开发案例

一、缓存文件系统 ANSI C标准中的C语言库提供了fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, freopen, fseek, ftell, rewind等标准函数,这些函数在不同的操作系统中应该调用不同的内核API,从而支持开发者跨平台实现对文件的访问。 在Lin…

【九宫格坐标排列 Objective-C语言】

一、这个案例做好之后的效果如图: 1.这个下载是可以点击的,当你点击之后,弹出一个框,过一会儿,框框自动消失,这里变成“已安装” 2.那么,我现在先问大家一句话:大家认为在这一个应用里面,它包含几个控件, 3个,哪3个:一个是图片框,一个是Label,一个是按钮, 这…

python学习笔记-查看数据结构、均值、中位数、分位数、众数、离中趋势(标准差、方差、求和、偏态系数、风险系数)正态分布pdf、cdf、ppf

①引入pandas包,命名为pd。 import pandas as pd ②读入HR.csv数据 dfpd.read_csv(“./data/HR.csv”) ③查看是什么结构 type(df) ④查看单个类别satisfaction_level的数据结构 type(df[“satisfaction_level”]) ⑤查看均值的数据结构 type(df.mean()) …