0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

车道线检测Ultra Fast Deep Lane Detection V2讲解

jf_pmFSk4VX 来源:GiantPandaCV 2023-01-05 11:29 次阅读

Ultra Fast Deep Lane Detection V2

【GiantPandaCV 导语】Ultra Fast Deep Lane Detection 是个比较有特点的车道线检测模型,把检测转化成分类来实现。现在出了 V2,有了几个创新点,于是又来研究一下。之前参考 Ultra Fast Deep Lane Detection V1 设计了一个全新的车道线检测网络,把模型压缩了80%,并部署使用了。另外还把 v1 和 yolov4 合并实现了多任务:https://github.com/Huangdebo/YOLOv4-MultiTask

1 介绍

这篇文章提出了一个超快车道线检测,区别于之前基于分割和回归的模型,该模型把车道线检测看车是分类问题,而且使用了全连接层,加强了模型的全局感知能力。另外,本文还设计了一个混合锚点机制,对不同的车道使用不用的锚点,很好地解决了两侧车道检测性能不佳的问题。该模型在兼顾了速度的前提下,还很好地处理了遮挡和暗光等情况,取得了不错的性能。

7cbfdda8-8c5d-11ed-bfe3-dac502259ad0.png

2 模型设计

2.1 使用锚点来表示车道线

7cd0bf74-8c5d-11ed-bfe3-dac502259ad0.png

为了表示车道线,首先引入了横向锚点,把车道线看车横向锚点的一组关键点。但当两侧的车道线的水平角度比较小时,便会引起定位问题,也就是一定宽度的车道线会覆盖到多个关键点,导致定位错乱,而且角度越小,问题越严重:

7cda8f18-8c5d-11ed-bfe3-dac502259ad0.png

为了解决上述的定位错误问题,文章便提出一种混合锚点机制,中间水平角度大的车道线使用横向锚点来表达,两侧水平角度小的车道线用纵向锚点来表达。每条车道线都用一组归一化坐标来表示

7ce13160-8c5d-11ed-bfe3-dac502259ad0.png

2.2 基于锚点的网络设计

因为每条车道线都用一组归一化坐标来表示,而且是把车道线检测看成分类任务,于是可以通过类别数目来映射出每个车道线关键点的类别:

7ce75c7a-8c5d-11ed-bfe3-dac502259ad0.png

另外,网络还添加了一个分支,用来判别车道线在该处是否存在。该分支的目标就只有两个值:1和0,分别代表存在和不存在:

7cf11918-8c5d-11ed-bfe3-dac502259ad0.png

7cfaf08c-8c5d-11ed-bfe3-dac502259ad0.png

2.3 序列分类的损失函数

既然是分类任务,那自然就会想到使用基本的分类损失函数,相当于把关键点的不同位置看成不同的类别,直接用 CE loss 来表达:

7d038f76-8c5d-11ed-bfe3-dac502259ad0.png

于基本的分类不一样的是,这个位置的类别是有序的,也就是可以把这个位置的预测值看成是各个位置的投票 均值,越靠近 groundtruth 的地方投票值越大,可以缓解预测偏移的问题:

7d0bca2e-8c5d-11ed-bfe3-dac502259ad0.png

7d149f46-8c5d-11ed-bfe3-dac502259ad0.png于是,可以这个期望损失可以表达成:

7d1ff9a4-8c5d-11ed-bfe3-dac502259ad0.png

另外,对于网络另一个用以判别车道线是否存在的分支,就是一个二分类问题,其损失函数可以表达成:

7d282106-8c5d-11ed-bfe3-dac502259ad0.png

所以整个模型的损失函数便可以组成:7d31e3a8-8c5d-11ed-bfe3-dac502259ad0.png

3 消融实验

3.1 混合锚点机制的作用

混合锚点机制中包含了横向锚点策略和纵向锚点策略,针对不同的车道线,使用不同的策略。为了对比混合锚点机制的作用,作者分别单独使用横向锚点策略和纵向锚点策略以及混合锚点来进行对比:

7d37de2a-8c5d-11ed-bfe3-dac502259ad0.png

3.2 序列分类的作用

相比于基本的分类任务,文章中所用的序列分类还利用了车道线关键点位置的有序性。为了对比序列分类的作用,作者还使用了传统分类和回归的方式来比对。对于回归方式,则是把网络的分类头换成回归头,并用 smooth L1 los 来训练。实验表明,利用了关键点有序性的序列分类的性能明显优于一般的分类和回归方式:

7d3ec15e-8c5d-11ed-bfe3-dac502259ad0.png

3.3 序列分类损失的消融

序列分类的损失函数包含了两部分,一个是基本的分类损失和一个期望损失。作者也进行了消融实验来对比它们的作用:

7d47b7fa-8c5d-11ed-bfe3-dac502259ad0.png

3.4 类别的个数和锚点数量的影响

因为是把车道线的位置检测看成是关键点位置的分类,那久必须要设定一个类别数目,作者通过调整类别数目来做对比实验,发现随着类别数目的增加,模型的性能显示提升然后再下降,说明类别数目并不是越多越好。同样,锚点的数量也需要预先设定,原则上讲,锚点数量越多,对车道线的检测就越精细,但也意味着计算量也更大,所以必须要在模型速度和性能上做一个权衡。

7d579cce-8c5d-11ed-bfe3-dac502259ad0.png

4 结论

使用了混合锚点机制和序列分类损失,缓解了 V1 中两侧车道线检测性能不足的问题,而且还能保持一样的高效率。但锚点的数目和序列分类的数目丢等参数都需要手动设定,可能存在一定的数据相关性。而且网络最后一层使用的是全连接层来提升网络的感知能力,导致参数比较大,对工程部署不太友好,这些都是可优化的点。

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测
    +关注

    关注

    5

    文章

    4086

    浏览量

    90752
  • 模型
    +关注

    关注

    1

    文章

    2707

    浏览量

    47709
  • 机制
    +关注

    关注

    0

    文章

    24

    浏览量

    9721

原文标题:车道线检测 Ultra Fast Deep Lane Detection V2 讲解

文章出处:【微信号:GiantPandaCV,微信公众号:GiantPandaCV】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CMSIS-RTOS V1与V2的区别是什么?

    最近的学习FreeRTOS,看到STM32CubeMX分别用CMSIS-RTOS V1,V2进行封装,请教CMSIS-RTOS V1与V2的有什么区别?如果用在产品项目,哪个版本合适?
    发表于 04-11 06:06

    LT8228从V1到V2是BUCK模式,从V2V1是BOOST模式,请问这个模式是固定的吗?

    看LT8228的示例,从V1到V2是BUCK模式,从V2V1是BOOST模式,请问,这个模式是固定的吗? 假如我输入V1是48
    发表于 01-05 07:10

    求助,如何自制ST-LINK V2

    如何自制ST-link V2
    发表于 11-02 08:21

    MAX30003: Ultra-Low Power, Single-Channel Integrated Biopotential (ECG, R to R Detection) AFE Data Sheet MAX30003: Ultra-Low Power, Single-C

    , R to R Detection) AFE Data Sheet相关产品参数、数据手册,更有MAX30003: Ultra-Low Power, Single-Channel Integrated
    发表于 10-16 19:01
    MAX30003: <b class='flag-5'>Ultra</b>-Low Power, Single-Channel Integrated Biopotential (ECG, R to R <b class='flag-5'>Detection</b>) AFE Data Sheet MAX30003: <b class='flag-5'>Ultra</b>-Low Power, Single-C

    ST-LINK V2 WIN10驱动安装

    在上一篇中,我们讲解了st-link v2 stm8/stm32仿真器的基本结构和功能,为了能够更好地使用st-link v2 stm8/stm32仿真器,我们需要安装一个配套的驱动程式,首先,我们
    发表于 10-10 08:01

    ST-LINK V2使用说明

    ST-LINK/V2是STM8 和STM32微控制器系列的在线调试器和编程器。单线接口模块(SWIM)和串行线调试(SWD)接口用于与应用板上的STM8和STM32微控制器通讯。 STM8
    发表于 10-10 06:42

    Arm Neoverse™ V2核心软件优化指南

    本文档描述了影响软件性能的Neoverse V2核心微体系结构的各个方面。 微体系结构细节仅限于对软件优化有用的细节。 文档仅涉及Neoverse V2核心的软件可见行为,而不涉及该行为背后的硬件原理
    发表于 08-24 06:29

    RJU36B2WDPF 数据表(360V-40A-Dual Diode / Ultra Fast Recovery Diode)

    RJU36B2WDPF 数据表 (360V - 40A - Dual Diode / Ultra Fast Recovery Diode)
    发表于 07-13 19:27 0次下载
    RJU36B2WDPF 数据表(360V-40A-Dual Diode / <b class='flag-5'>Ultra</b> <b class='flag-5'>Fast</b> Recovery Diode)

    RJU36B1WDPF 数据表(360V-20A-Dual Diode / Ultra Fast Recovery Diode)

    RJU36B1WDPF 数据表 (360V - 20A - Dual Diode / Ultra Fast Recovery Diode)
    发表于 07-13 19:27 0次下载
    RJU36B1WDPF 数据表(360V-20A-Dual Diode / <b class='flag-5'>Ultra</b> <b class='flag-5'>Fast</b> Recovery Diode)

    RJU3051TDPP-EJ 数据表(360V-10A-Single Diode Ultra Fast Recovery Diode)

    RJU3051TDPP-EJ 数据表(360V - 10A - Single Diode Ultra Fast Recovery Diode)
    发表于 07-11 20:10 0次下载
    RJU3051TDPP-EJ 数据表(360V-10A-Single Diode <b class='flag-5'>Ultra</b> <b class='flag-5'>Fast</b> Recovery Diode)

    RJU4352SDPD-E0 数据表(430V-20A-Single Diode Ultra Fast Recovery Diode)

    RJU4352SDPD-E0 数据表(430V - 20A - Single Diode Ultra Fast Recovery Diode)
    发表于 07-11 20:09 0次下载
    RJU4352SDPD-E0 数据表(430V-20A-Single Diode <b class='flag-5'>Ultra</b> <b class='flag-5'>Fast</b> Recovery Diode)

    Ultra96 V2平台上用Python实现人脸检测和人脸跟踪

    电子发烧友网站提供《在Ultra96 V2平台上用Python实现人脸检测和人脸跟踪.zip》资料免费下载
    发表于 06-16 09:22 0次下载
    在<b class='flag-5'>Ultra</b>96 <b class='flag-5'>V2</b>平台上用Python实现人脸<b class='flag-5'>检测</b>和人脸跟踪

    RJU3051TDPP-EJ 数据表(360V-10A-Single Diode Ultra Fast Recovery Diode)

    RJU3051TDPP-EJ 数据表(360V - 10A - Single Diode Ultra Fast Recovery Diode)
    发表于 05-15 18:59 0次下载
    RJU3051TDPP-EJ 数据表(360V-10A-Single Diode <b class='flag-5'>Ultra</b> <b class='flag-5'>Fast</b> Recovery Diode)

    RJU4352SDPD-E0 数据表(430V-20A-Single Diode Ultra Fast Recovery Diode)

    RJU4352SDPD-E0 数据表(430V - 20A - Single Diode Ultra Fast Recovery Diode)
    发表于 05-15 18:58 0次下载
    RJU4352SDPD-E0 数据表(430V-20A-Single Diode <b class='flag-5'>Ultra</b> <b class='flag-5'>Fast</b> Recovery Diode)

    正点原子STM32系列——精英V2开发板评测报告聚合帖

    华仔stm32 【正点原子STM32精英V2开发板体验】初识精英V2开发板【正点原子STM32精英V2开发板体验】资料获取方式 【正点原子STM32精英V2开发板体验《精英
    发表于 05-10 11:17