论文《 CurveLane-NAS: Unifying Lane-Sensitive
Architecture Search and Adaptive Point》-2020-ECCV
**
论文链接
代码链接

论文为机器翻译的,当时只想看个大概,好久以前的笔记

一、摘要及主要贡献

1.1 摘要

摘要:文章解决了曲线车道检测问题,它比传统的车道检测提出了更现实的挑战,以更好地促进现代辅助/自动驾驶系统。由于缺乏对远程背景信息和详细的曲线轨迹的建模,目前手工设计的车道检测方法不够鲁棒,不足以捕捉曲线车道,特别是远程部分。

在本文中,提出了一种新的车道敏感架构搜索框架,称为CurveLane–NAS,以自动捕获长距离相干和准确的短程曲线信息。它由三个搜索模块组成:a)一个特征融合搜索模块,为多层次特征更好地寻找局部和全局上下文的融合;b)一个弹性主链搜索模块,探索具有良好语义和延迟的有效特征提取器;c)一个自适应点混合模块,搜索多层次后处理优化策略,结合多尺度头预测。

此外,还推动发布了一个更具挑战性的基准测试,称为CurveLanes,以解决最困难的曲线车道。它由15万张图像和680万张标签的图像组成。在新的CurveLanes上的3实验表明,SOTA车道检测方法的性能显著下降,而模型仍然可以达到80%的F1-score。在传统车道基准,如CULane上的大量实验也证明了CurveLane-NAS的优越性。在CULane上获得了新的SOTA74.8%的F1-score。

1.2 主要贡献

基于提案的车道检测的三个搜索模块:

1)一个弹性主干搜索模块,跨多尺寸的特征地图分配不同的计算,以探索一个有效的特征提取器,更好地权衡语义和延迟;

2)特征融合搜索模块更好地融合多层次特征;

3)一个自适应点混合模块来搜索一种新的多层次后处理细化策略,结合多层次头预测,允许对形状方差和远距离车道进行更鲁棒的预测。

论文考虑了一种简单而有效的多目标搜索算法和进化算法,为每个特征层次适当地分配具有合理的接受域和空间分辨率的计算,从而达到效率和精度之间的最优权衡。

二、论文相关

2.1 车道检测

如图2(a)所示。这些方法通常采用密集的预测公式,即将车道检测视为一个语义分割任务,即图像中的每个像素都配有一个标签,以表明它是否属于一条车道。
然而,像素级的预测通常需要更多的计算,并且仅限于检测一个预定义的、固定的车道数量。

另一方面,一些工作使用基于提案的方法来进行有效的车道检测,如图2(b)中所示。这些方法会在图像中生成多个锚点或线建议。PointLaneNet通过预测每个锚点的偏移量来查找车道位置。 Line-CNN引入了一个线路提案网络来提出一套旨在捕获实际车道的射线。然而,这些方法在一个单一的特征图上进行预测,忽略了特征层次结构中曲线车道和远程车道的关键语义信息。

2.2 神经体系结构的搜索

NAS的目标是通过自动为某个任务和数据集找到一个有效的神经网络结构来释放专家设计网络的工作量。

大多数工作都在基本的CNN架构中搜索分类模型,而其中一些则专注于更复杂的高级视觉任务,如语义分割和对象检测。

NAS领域的搜索策略通常可以分为三类:

1)基于强化学习的方法训练RNN策略控制器生成一系列动作来指定CNN架构。将强化学习应用于搜索          CNN,而搜索成本超过数百GPU Days。
2)进化算法。
3)基于梯度的方法。

基于梯度的方法通常速度快,但不那么可靠,因为重量共享在搜索和最终训练之间有很大的差距。RL方法通常需要大量的样本来收敛,因此通常需要一个代理任务。

摘要通过考虑实时需求、严重道路退化、车辆遮挡等任务问题,仔细设计了搜索空间和基于样本的多目标搜索算法,为曲线车道检测问题找到有效而准确的结构。

三、 CurveLane-NAS 框架

提出了一个灵活的具有多层次预测头和多层次特征融合的模型搜索空间,同时结合了长距离相干车道信息和准确的短程曲线信息。此外,论文的搜索框架以端到端的方式统一了NAS,并优化了后处理步骤

论文的CurveLane-NAS框架的概述可以见图3。论文设计了三个搜索模块:1)弹性主干搜索模块,以建立跨阶段的有效计算分配,2)特征融合搜索模块,以探索局部和全局上下文的更好组合;3)一个自适应点混合模块来搜索一种新的多层次后处理细化策略,并允许对形状方差和远程车道进行更鲁棒的预测。

3.1弹性骨干网络搜索模块

一个共同的主干网的目的是随着下采样率的增加而产生中间水平的特征,这可以看作是4个阶段。同一阶段的数据块共享相同的空间分辨率。请注意,早期阶段通常具有较高的计算成本,并具有更低的层次特征。后期特征图较小,因此计算成本相对较小,但损失了大量的空间细节。在主干网内部,论文设计了一个灵活的搜索空间来寻找最优的基本信道大小,何时向下采样,何时提高信道,如下:

首先通过几个堆叠的网格网块来构建主干:: Basic residual block 和 Bottleneck residual block。主干网可以选择3个或4个阶段。允许不同的大小的通道数48、64、80、96、128,以及根据不同的计算预算在每个阶段使用不同数量的块。总数据块的数量从10个到45个不等。为了进一步允许灵活的计算分配,论文还搜索了提高信道的位置。请注意,在原始的ResNet18/50中,加倍信道大小块的位置在每个阶段的开始时都是固定的。例如,如图3所示,主干架构编码字符串例如“BB_64_13_[5,9]_[7,12]”,其中第一个占位符编码块设置,64是基本通道大小,13是块的总数,[5,9]是下采样块的位置,[7,12]是加倍信道大小的位置。
主干搜索模块的总搜索空间约有5×10的12次方个可能的选择。在搜索过程中,可以大量训练图像模型从头开始,而无需使用预先训练的图像网络模型。

3.2 特征融合搜索模块

正如在DetNAS中所提到的,主干后期的神经元对整个物体有强烈的反应,而其他神经元更有可能被激活局部的纹理和图案。在车道检测环境中,后期特征可以捕获远程相干车道信息,而早期特征可以通过其局部模式包含更准确的短程曲线信息。为了在多层次特征之间融合不同的信息,论文提出了一个特征融合搜索模块,以更好地找到高级和低级特征的融合。论文也允许对不同的特征图进行预测,因为详细的车道形状通常被一个大的特征图捕获。考虑了一个车道敏感模型的以下搜索空间:

让F1,……,t表示来自主干不同阶段的输出特征图(t根据主干的选择为3或4)。从F1到Ft,空间大小逐渐向下采样,系数为2。特征融合搜索模块由M个融合层组成。对于每个融合层Oi,选择两个输出特征级别与{F1,…作为输入特征和一个目标输出分辨率。这两个输入特性Fi首先通过一个1x1卷积层成为一个输出通道c,然后这两个特性将对目标输出分辨率进行向上采样/向下采样,并连接在一起。每个Oi的输出将通过输出通道c进行另外一个1x1卷积,并连接到最终输出。因此,论文的搜索空间足够灵活,可以融合不同的特征,并选择输出特征层来输入头部。对于特征图的每个级别,论文还决定是否应该添加一个预测头(至少一个)。特征融合搜索模块的总搜索空间相对较小(大约有103种可能的选择)。

3.3 自适应点混合搜索模块

受PointLaneNet的启发,每个头在其特征图上提出了许多锚,并预测其相应的偏移,以生成线建议。在图像中,可以通过直线点和一个终点来确定一条车道线。首先将每个特征图划分为一个宽×高频网格g。如果网格gij的中心接近一个地面真车道,gij负责检测该车道。由于一条车道将穿过几个网格,因此可以为该车道分配多个网格,它们的置信度分数sij反映了网格包含部分车道的自信程度。对于每个位置,该模型将预测一组偏移量∆和一个终点位置,其中∆xijz是地面真相车道与预定义的垂直锚点∆之间的水平距离,如图4所示。利用预测的∆轴和终点位置,每个网格可以预测一个潜在的车道。需要后处理来总结和过滤所有线路建议,并产生最终结果。

在PointLaneNet中,在一个特征图上采用Line-NMS滤波低置信度,采用非最大抑制(NMS)算法根据其置信度滤波遮挡车道。然而,它不能适合论文的多层次情况。首先,不同特征的预测不能平等对待。例如,对低级特征图的预测在短期内更准确,而对高级特征图的预测在长期内更一致,但失去了很多细节。此外,论文发现每个网格只能精确地预测其中心周围的偏移量,而远离锚点的∆xijz是不准确的。使用普通线-NMS不够敏感,无法捕捉曲线或车道的偏远部分。

提出了一种自适应点混合搜索模块,将后处理统一到NAS框架中进行车道敏感检测,如图4(右)所示。为了在多层次预测中允许不同的强调区域,论文对每个特征地图f的原始分数预测使用自适应分数屏蔽mf。让cx和cy表示每个网格gij在某些特征地图f上的中心位置。论文考虑每个地图的一个非常简单的分数屏蔽如下:

在等式中有两个主要的术语(1): 一个项与每个预测的垂直位置线性相关,另一个项与距离[uxf,uyf]的距离有关。论文使用上述掩蔽,因为论文推测低层次特征在车道的偏远部分(靠近图像中心)表现更好,这样的公式允许在特征地图上灵活地掩蔽。

请注意,每个具有良好置信度的网格都有关于网格中心附近的车道的精确局部信息。过滤所有其他被遮挡的车道,仅使用NMS线中置信度最高的车道可能不会捕获远程部分的远程曲率,因为可能会分配低分数。因此,论文进一步使用点混合技术来进行车道敏感性预测。在修改了每个特征图上的原始置信分数后,论文首先通过一个合适的阈值过滤掉这些低分数的车道,并应用NMS将剩余的车道分成几组的距离。在每一组行中,论文迭代地将低分数锚中的良好局部点与最高分数锚中的远程点交换。对于每个高置信度锚,它的一些点然后被好的局部点所取代,成为最终的预测。车道的偏远部分和曲线形状可以通过局部点进行修正,车道的细节也更好。通过在每一组有限的行中添加一个循环,计算开销非常小。详细的算法请见附录。

因此,α1f、β1f、α2f、[uxf、uyf]、NMS中的分数阈值和相互距离阈值构成了该模块的最终搜索空间。

3.4 统一的多目标搜索

论文考虑了一个简单而有效的多目标搜索算法,它可以在精度和不同计算约束之间产生最优权衡的帕累托前沿。非主导排序用于确定一个模型是否在失败和准确性方面主导另一个模型。在搜索过程中,论文通过改变沿着当前帕累托前沿的最佳架构来采样一个候选架构。论文考虑以下突变:对于主干搜索空间,论文随机交换下采样和双通道的位置到相邻位置;对于特征融合搜索空间,论文随机改变每个融合层的输入特征水平;对于自适应点混合搜索模块,论文干扰最好的超参数。请注意,对后处理参数的搜索并不涉及训练,因此在这个模块上的突变可以更频繁。论文的算法可以在多个并行计算节点上运行,并可以同时提升帕累托前面。因此,搜索算法将自动分配具有合理接受场和空间分辨率的计算,以实现有效的和车道敏感的检测。

四、试验部分

架构搜索文献笔记(9):《CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Point》相关推荐

  1. 架构搜索文献笔记(11):《ATOMNAS: FINE-GRAINED END-TO-END NEURAL ARCHITECTURE SEARCH》

    论文< ATOMNAS: FINE-GRAINED END-TO-END NEURAL ARCHITECTURE SEARCH>-2020-ECCV** 论文链接 [代码链接](: htt ...

  2. 架构搜索文献笔记(10):《Fast Hardware-Aware Neural Architecture Search》

    ***论文< Fast Hardware-Aware Neural Architecture Search>-2020-CVPR ***** 论文链接 一.摘要及主要贡献 1.1 摘要 论 ...

  3. 架构搜索文献笔记(8):《FTT-NAS:发现容错神经结构》

    论文< FTT-NAS: Discovering Fault-Tolerant Neural Architecture>-2020-ASP-DAC** 论文链接 论文为机器翻译的,当时只想 ...

  4. CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Poin

    这篇文章是华为诺亚方舟实验室和中山大学开源的弯道车道线检测的工作,主要利用了NAS技术实现,使得车道敏感架构搜索和自适应点混合统一的用于曲线车道检测,解决了曲线车道检测问题.与现有方法相比,搜索网络实 ...

  5. [NAS+Transformer]GLiT: Neural Architecture Search for Global and Local Image Transformer

    GLiT:NAS搜索局部和全局Transformer
 Abstract Section I Introduction Section II Related work Section III Meth ...

  6. 神经架构搜索(NAS)2020最新综述:挑战与解决方案

    终于把这篇NAS最新的综述整理的survey放了上来,文件比较大,内容比较多.这个NAS的survey是A Comprehensive Survey of Neural Architecture Se ...

  7. MnasNet:移动端模型的自动化神经架构搜索方法

      基于AutoML方法,结合强化学习设计一种资源约束的移动端 CNN 模型MnasNet.该系统主要包括三个部分:(1)循环神经网络驱动的控制器,用于学习和采样模型的架构:(2)训练器,用于构建和训 ...

  8. 【读点论文】MnasNet: Platform-Aware Neural Architecture Search for Mobile,用神经网络搜索的方式来设计网络平衡精度与速度

    MnasNet: Platform-Aware Neural Architecture Search for Mobile Abstract 为移动设备设计卷积神经网络(CNN)模型具有挑战性,因为移 ...

  9. 单机玩转神经网络架构搜索(NAS) - Auto-Keras学习笔记

    介绍 AutoML这个topic在机器学习领域越来越火,新的研究成果也是层出不穷.在网络架构(NAS),模型压缩(AMC),数据增强(AutoAugment),优化器设计(Neural Optimiz ...

最新文章

  1. JavaScript值得注意的小知识点
  2. python实现直播服务非rtmp版本(非常简单)
  3. Win10系统下软件UI显示不完整解决方案
  4. 万亿大模型究竟怎么用?达摩院浙大上海人工智能实验室联手推出洛犀平台:大小模型端云协同进化...
  5. python的用途-请问在python中的% 是什么意思, 起到什么作用?
  6. 互斥锁、自旋锁和自适应自旋锁
  7. 淘宝2011.9.21校园招聘会笔试题
  8. android lua sd卡,记Android层执行Lua脚本的一次实践
  9. SQLServer还原 指定的转换无效解决方法
  10. java在dos中如何测试_[求助]怎么在java中模拟dos命令行
  11. HTTP请求的GET与POST方式的区别
  12. 张家口市12320卫生热线呼叫中心预计今年初启动
  13. 推荐两款超实用的 gRPC 客户端调试工具
  14. csdn博客搭建自定义模块
  15. 面向对象程序设计概述(金老师第一讲)
  16. java实现打印菱形(任意输入数字打印任意阶菱形)
  17. 思科2811路由器采购回来首次配置
  18. ARM-Linux 交叉编译工具链安装
  19. 玩转Mixly – 10、Arduino AVR编程 之 传感器,执行器,通信,存储,factory
  20. zebradesginer zpl代码_老司机为您win7系统安装斑马GK888t打印机驱动的操作技巧

热门文章

  1. HTML5期末大作业:商城网站设计——仿天猫商城(9页) HTML+CSS大作业_ 网页制作作业_疫情防控网页设计...
  2. java 判断实体为空_Java 判断实体类属性是否为空工具类
  3. 解决 There is no getter for property named ‘null‘ in ‘class 报错
  4. python中def _init_是什么意思_python中的__init__(self)是什么意思呢
  5. jbox ajax,JBox演示30种不同的调用方法
  6. ANC主动降噪,FFT方案与FxLMS方案比较
  7. python编写木马攻击_Python编写简易木马程序
  8. window10无法访问局域网共享文件夹
  9. cadence——基本操作6
  10. 什么专业要学计算机思维导论,大学计算机:计算思维导论CAP