• CLRNet: Cross Layer Refinement Network for Lane Detection——论文简述


    一、简介

    CLRNet充分利用了低层次特征和高层次特征,因为两者是互补的,先基于高层次特征侦测道路,再基于底层次特征进行调优;由于遮挡的存在,使用ROIGather进行全局信息的收集,在ROI道路特征和全局特征图之间建立联系;损失函数使用Line IOU loss,将车道线作为一个整体来进行回归,从而提高定位的准确率。

    如下是车道检测中会出现的问题。
    在这里插入图片描述

    二、模型

    在这里插入图片描述

    2.1 车道表示

    使用Lane Prior(192个)进行标识,每个Lane Prior包含四个信息:
    (1)前景和背景的概率;
    (2)长度;
    (3)路线的起点以及与x轴的角度(x、y、θ);
    (4)N(72个)个偏移量,即预测值和 ground truth 之间的水平距离。

    Lane Prior在空间上是等距的。

    2.2 Cross Layer Refinement

    在神经网络中,高层次的特征能更好的反应包含更多语义信息的目标特征,但低层次的特征具有更多的局部信息。
    在这里插入图片描述
    R 代表refine三个参数(x, y, θ)的过程。

    2.3 ROIGather

    代码定义了两种 lane prior,一种是72个点的 prior,一种是在72个点上间隔采样得到的36个 priors_on_featmap。

    首先用 ROIAlign 取每个lane prior的36个采样点特征,然后在L1(L2)层这里要串联上一次的36个特征(增加特征表征能力),此时特征的维度为 Cx36。接着,过一个kernel=9的一维卷积和全连接层,得到 Cx1 的表达(Xp)。

    为了获得全局信息特征,作者会用 Xp 与全局的 feature map(Xf)做一个attention操作,output直接与原来的Xp向量相加。为了节省memory,作者在L1,L2层做 attention 的 feature map 都是resize到 L0 相同尺寸的。

    在这里插入图片描述
    参考:https://zhuanlan.zhihu.com/p/532815560
    在这里插入图片描述

    2.4 损失函数

    将lane作为一个整体。e=15。
    在这里插入图片描述
    在这里插入图片描述

    总损失如下:第一项是分类loss,第二项是起始点+角度+长度的回归loss,第三项损失如上所示。
    在这里插入图片描述

    三、代码仓库中有用的issue

    (1)https://github.com/Turoad/CLRNet/issues/4
    (2)conf_threshold的设置:
    Higher conf_threshold will keep higher precision, but the recall will be lower. For your own custom images, it is better to turn down the conf_theshold to keep higher recall.

    recall = TP / (TP + FN):所有正样本中被预测为正样本的概率
    precision = TP / (TP + FP):预测正样本中是gt的概率

  • 相关阅读:
    电动汽车变频器
    Python编程——for循环基础语法、range语句以及一些案例
    视频监控/视频汇聚/安防视频监控平台EasyCVR配置集群后有一台显示离线是什么原因?
    GITLAB部署CE社区版
    【HTML5期末大作业】制作一个简单HTML我的班级网页(HTML+CSS+JS)
    第43天:python操作mysql、视图及触发器、事务及索引
    Vue中的混入(mixin)
    126.(前端)上传图片的预览
    Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用
    Chrome Dev Tools
  • 原文地址:https://blog.csdn.net/qq_43680965/article/details/127688379