CLRNet: Cross Layer Refinement Network for Lane Detection

news2024/11/20 20:18:51

Paper name

CLRNet: Cross Layer Refinement Network for Lane Detection

Paper Reading Note

URL: https://arxiv.org/pdf/2203.10350.pdf

TL;DR

  • CVPR 2022 文章,自动驾驶公司飞步科技与浙大联合出品。lane anchor-based 方案,在多个数据集上取得 sota 效果

Introduction

背景

  • 车道线检测问题中的难点在这里插入图片描述
    (a) 基于 low-level 特征检测到的错误的车道线
    (b)基于 high-level 检测的车道线定位不准
    (c)被车遮挡
    (d)光照导致的模糊现象
  • 需要结合 high-level 和 low-level 的特征获取准确的车道线检测效果

related works

  • 基于分割的方法:SCNN 等耗时长,CurveLane-NAS 需要较长的训练 GPU hours;因为需要逐像素预测并且没有将车道线看成一个整体单元,分割方法整体耗时较长
  • 基于 anchor 的方法:
    • line anchor-based:采用预先定义的 line anchor 来回归准确的车道线,Line-CNN 是baseline、LaneATT 提出 anchor-based attention 来利用全局信息,SGNet 使用消失点 guided anchor。
    • row anchor-based:在图片的每一行上预测可能是车道线的单元。UFLD 是 baseline;CondLaneNet 基于 conditional convolution 来进行车道线检测,首先检测车道线的起点,然后进行 row anchor-based 车道线检测,不过车道线的起点在复杂场景中较难找到。
  • 基于参数回归的方法:PolyLaneNet 和 LSTR,这类方法一般速度快,但是精度低

本文方案

在这里插入图片描述

  • 提出了 Cross Layer Refinement Network (CLRNet) 来充分利用 lowlevel 和 high-level 特征。
    • 首先在 high-level 特征图上粗略的车道线,然后在 low-level 特征上进行 refinement 来获取到定位更精确的车道线
    • 为了解决一些视觉上不可见的车道线,提出了 ROIGather 来采集更全局的语义信息(建立ROI车道特征与整个特征图之间的关系)
    • 提出了一种 Line IoU loss ,相比于 smooth-L1 提升精度

Dataset/Algorithm/Model/Experiment Detail

实现方式

车道线表示

  • 车道线先验:
    • 和 Line-CNN 和 LaneATT 的定义一样,使用等分的 2D 点作为车道线的先验
      在这里插入图片描述
      其中 y 在图像垂直方向上均匀采样得到,也就是如下
      在这里插入图片描述
      其中 H 是图像高度,N 是分段数目
  • 每个车道线先验经过网络预测以下值:
    • 是车道线的概率
    • 车道线的长度
    • 车道线的起点 (x,y),车道线先验与 x 轴的夹角 ( θ \theta θ
    • N 个水平方向的 offset

跨层精修 (Cross Layer Refinement)

  • 通用目标检测中使用 FPN 利用不同尺度的特征,让 FPN 的不同尺度的特征预测不同尺度的目标,但是车道线这里不同尺度的特征对于车道线预测都很重要,所以借鉴 Cascade-RCNN,在所有特征层上都分配车道线正样本,逐层精修
  • 对于初始的车道线先验 P0(x,y, θ \theta θ ),先结合高层特征 L0 进行预测出 R0,然后将 R0 送入 L1 层进行 refine,即前一层的输出作为下一层的车道线先验

    其中对于第一层的 L0,P0 是在图像中均匀分布;Rt 使用 Pt 作为输入获取 ROI 车道线特征,然后使用两层 fc 回归出refine 后的 Pt

ROIGather

将 lane priors 分配给 feature map 后,使用 ROIGather 提取车道线特征

  • 对于 lane prior 中的点,通过双线性插值提取特征,对于 L1 L2 提取的 ROI 特征,会与上一层的 ROI 特征 concat,然后经过卷积操作来收集附近的特征,提取 lane prior 的特征是 Xp(CxNp),然后经过 fc 生成 Xp (Cx1)
  • 特征图 Xf(Cx1)被 resize 为 Xf(CxHW)
  • 通过车道线特征 Xp 与全局特征图 Xf 的 attention
    在这里插入图片描述
    其中 f 是 softmax,聚合后的特征为
    在这里插入图片描述
    输出的 g 是 Xf 对于 Xp 的 bonus,最后将输出 g 加在原始的输入 Xp 上。

Line IoU loss

在这里插入图片描述
在这里插入图片描述

训练测试细节

  • Positive samples selection:综合类别、平均像素距离、角度偏差等对gt和lane prio 进行排序,将 gt 分配给最接近的 lane prior
    在这里插入图片描述

  • Training Loss
    在这里插入图片描述
    Lcls 是 focal loss,Lxytl 是起始点的 smooth-l1 损失,Liou 是本文提出的损失;另外在训练中也会增加真值的分割损失用于辅助训练

  • 测试

    • 使用分类分数的阈值来过滤 backgrounds lanes,接 nms 得到最终预测结果
    • 如果设置 一对一 的 assignment,可以做到 nms free

实验结果

实施细节

  • 所有图片 resize 到 320x800
  • 数据增广
    • random affine
    • 随机水平翻转
  • 车道线 prior 点数 N=72
  • 车道线特征采样点 Np=36

culane 精度

在这里插入图片描述

llamas 精度

在这里插入图片描述

ablation study

  • 可以看出 refinement 涨点明显
    在这里插入图片描述
  • 需要从高层特征开始往底层特征融合精度最高,符合常规认知
    在这里插入图片描述

可视化

在这里插入图片描述

Thoughts

  • 各方面都有创新的工作,也取得了多个数据集的 sota
  • 比较奇怪的是 llamas 数据集上 resnet18 比 dla34 精度还高

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

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

相关文章

Linux中的哈希表:基于双链表的内核模块

1. 前言Linux内核中选取双向链表作为其基本的数据结构,并将其嵌入到其他的数据结构中,使得其他的数据结构不必再一一实现其各自的双链表结构。实现了双链表结构的统一,同时可以演化出其他复杂数据结构。本文对linux中基于双链表实现的哈希表进…

java springboot+mybatis电影售票网站管理系统前台+后台设计和实现

java springbootmybatis电影售票网站管理系统前台后台设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言…

RS—|遥感数字图像处理编程练习(python)

目录一:模拟计算图像直方图和累计直方图二:计算图像的均值、标准差、相关系数和协方差三:利用模板进行卷积运算四:获取彩色图像的直方图五:图像直方图均衡化一:模拟计算图像直方图和累计直方图 ① 调用的p…

【雷达入门 | FMCW毫米波雷达系统的性能参数分析】

本文编辑:调皮哥的小助理 FMCW毫米波雷达系统的性能参数主要包含: (1)距离估计、距离分辨率、距离精度、最大探测距离; (2)速度估计、速度分辨率、速度精度、最大不模糊速度; (3)角度估计、角度分辨率、角度精度、最大角度范围。 分析以及…

微服务框架SpringCloud从入门到通神(持续更新)

SpringCloud——>SpringBoot——>JavaWeb 微服务技术栈导学1 哔站up黑马程序员主讲老师,一上来就给介绍了SpringCloud出现的背景:微服务是分布式架构的一种,分布式架构就是要把服务做拆分,而SpringCloud只是解决了服务拆分式…

FTP协议原理简析

FTP服务器默认使用TCP协议的20、21端口与客户端进行通信。21端口用于建立控制连接,并传输FTP指令。20端口用于建立数据连接,传输数据流。 一:FTP功能简介 1:FTP服务器能够进行档案的传输与管理功能; 2:可以…

招生简章 | 欢迎报考中科院空天院网络信息体系技术重点实验室(七室)

官方公众号链接:招生简章 | 欢迎报考中科院空天院网络信息体系技术重点实验室(七室) 招生简章 | 欢迎报考中科院空天院网络信息体系技术重点实验室(七室) 中国科学院空天信息创新研究院(简称空天院&#x…

【实战篇】38 # 如何使用数据驱动框架 D3.js 绘制常用数据图表?

说明 【跟月影学可视化】学习笔记。 图表库 vs 数据驱动框架 图表库只要调用 API 就能展现内容,灵活性不高,对数据格式要求也很严格,但方便数据驱动框架需要手动去完成内容的呈现,灵活,不受图表类型对应 API 的制约…

Smart Finance成为火必投票竞选项目,参与投票获海量奖励

最近,Huobi推出了新一期的“投票上币”活动,即用户可以通过HT为候选项目投票,在投票截止后,符合条件的优质项目将直接上线Huobi。而Smart Finance成为了新一期投票上币活动的竞选项目之一,并备受行业关注,与…

C++ 命令模式

什么是命令模式? 将请求转换为一个包含与请求相关的所有信息的独立对象。从而使你可以用不同的请求方法进行参数化,并且能够对请求进行排队、记录请求日志以及撤销请求操作。命令模式属于行为设计模式 如何理解命令模式 命令模式很像我们订外卖&#…

Hudi(10):Hudi集成Spark之并发控制

目录 0. 相关文章链接 1. Hudi支持的并发控制 1.1. MVCC 1.2. OPTIMISTIC CONCURRENCY 2. 使用并发写方式 3. 使用Spark DataFrame并发写入 4. 使用Delta Streamer并发写入 0. 相关文章链接 Hudi文章汇总 1. Hudi支持的并发控制 1.1. MVCC Hudi的表操作,如…

阿里云 EDAS Java服务日志中打印调用链TraceId

最近要搭建阿里云的日志服务SLS,收集服务日志,进行统一的搜索查询。但遇到一个问题如何在日志中打印链路的TraceId,本文章记录一下对EDAS免费的解决方法。 先看一下阿里官方文档 业务日志关联调用链的TraceId信息 从文档上看,想要…

基于SSM的资源发布系统

项目介绍: 该系统基于SSM技术,数据层为MyBatis,数据库使用mysql,MVC模式,B/S架构,具有完整的业务逻辑。系统共分为管理员,用户两种角色,主要功能:登陆注册,用…

数据结构:跳表

文章目录跳表跳表的由来单链表的查找效率太低提高单链表的查找效率跳表的时间复杂度分析跳表的空间复杂度分析跳表的插入操作跳表的删除操作跳表索引动态更新跳表 对链表进行改造,在链表上加多级索引的结构就是跳表,使其可以支持类似“二分”的查找算法。…

Redis查询之RediSearch和RedisJSON讲解

文章目录1 Redis查询1.1 RedisMod介绍1.2 安装Redis1.3 RediSearchRedisJSON安装1.3.1 下载安装1.3.2 修改配置1.4 RedisJSON操作1.4.1 基本操作1.4.1.1 保存操作JSON.SET1.4.1.2 读取操作JSON.GET1.4.1.3 批量读取操作JSON.MGET1.4.1.4 删除操作JSON.DEL1.4.1.5 其他命令1.4.1…

鲲鹏Bigdata pro之Hive的基本操作(创建表、查询表)

1 介绍 本文主要依据《鲲鹏Bigdata pro之Hive集群部署》实验教程上的Hive操作例子讲解,方便大数据学员重用相应的操作语句。同时对实验过程中出现的问题给以解决方法,重现问题解决的过程。以让大家认识到,出现问题很正常;同时&am…

Java设计模式中接口隔离原则是什么?迪米特原则又是什么,啥又是合成复用原则,这些又怎么运用

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 3.5 接口隔离原则 3.5.1 特点 使用的类不应该被迫依赖于不想使用的方法,应该依赖接口方法 3.5.2 案例(安全门) 防火功能代码 public interface Fi…

第一章:统计学习方法概论

大纲1.1统计学习的特点1.2统计学习方法步骤1.3 统计学习的分类基本分类:1.4 监督学习方法的三要素模型:条件概率分布P(Y∣X)P(Y|X)P(Y∣X)或决策分布Yf(X)Yf(X)Yf(X)策略:在所有假设空间中选择一个最优模型注意事项:算法&#xff…

Java设计模式中适配器模式是什么/适配器模式可以干什么/又如何实现

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 5.3 适配器模式 5.3.1 概述 将一个类的接口转换为客户希望的另一种接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作分为类适配器模式和…

一套采用ASP.NET开发的工作通OA协同办公系统源码 流程审批 公文流转 文档管理

分享一套采用ASP.NET基于C#开发,使用桌面式的OA协同办公系统,超好用户体验效果的后台管理界面,集成 资讯、邮件、日程、文档(在线文件档案管理)、流程审批、公文流转、沟通与分享(在线聊天和内部论坛&#…