AI学习者 · 2023年04月26日

车道线模型落地技巧 | LGAD注意力蒸馏让模型更鲁棒

image.png

当前的分割方法通常基于深度全卷积网络(FCN)。然而,具有不断增长的感受野的逐层卷积不善于捕捉远程上下文,例如场景中的车道线标记。

在本文中通过设计一种在训练分割网络时利用标签结构的蒸馏方法来解决这个问题。直觉是,GT车道注释本身表现出内部结构。在整个教师网络中广播结构提示,即,训练一个教师网络,该网络使用车道标签图作为输入,并试图将其复制为输出。然后,采用教师网络的注意力图作为学生分割网络的监督者。嵌入了标签结构信息的教师网络能够清楚地知道卷积层应该在视觉上关注的地方。所提出的方法被命名为标签引导注意力蒸馏(LGAD)。

事实证明,与单独学习相比,使用LGAD的学生网络学习效果明显更好。由于教师网络在训练后被弃用,因此本文的方法不会增加推理时间。注意,LGAD可以很容易地结合到任何车道分割网络中。

为了验证所提出的LGAD方法的有效性,已经在两个流行的车道检测基准上进行了广泛的实验:TuSimple和CULane。结果表明,在各种卷积神经网络架构中都有一致的改进。

具体来说,本文展示了LGAD在轻量级模型ENet上的准确性提升。事实证明,ENet LGAD超越了现有的车道分割算法。

1、简介

车道线分割由于其在驾驶辅助系统和自动驾驶车辆中的应用,近年来越来越受到关注。此视觉任务旨在定位道路场景图像中的车道。车道的精确位置有利于下游任务,如在车道内定位汽车、车道偏离检测和轨迹规划。

image.png
当代的车道分割方法通常基于使用全卷积网络(FCN)的深度学习,旨在为图像中的每个像素分配一个二进制标签,以指示其是否属于车道标记。车道分割的一个固有挑战是,基于CNN的分割方法对于长距离窄宽度对象仍然表现不佳,因为线性增长的感受野不善于精确捕捉长连续形状的上下文。如图1中的红色边界框所示,传统的FCN会出现车道边界模糊和闭塞导致的断开。

已经进行了多次尝试来解决车道分割中的上述问题。例如,Pan等人提出了一种SCNN方案,其中逐片卷积用于实现神经元之间跨行和列的消息传递,并更好地学习车道标记的连续结构先验。Neven等人使用额外的H-Net来学习透视变换,条件是输入图像。然后,通过变换矩阵对车道实例分割网络的输出进行变换,得到拟合结果。所有这些方法都通过在训练阶段和推理阶段增加神经网络的复杂性来提高准确性。

本文的目标是在不牺牲推理速度的情况下增强深度神经网络的长结构上下文捕获能力。本文方法能够更有效地利用车道标签。作者认为,车道线标注不仅可以用于监督网络输出的损失,还可以为中间卷积层提供结构提示。因此,本文作者设计了一种新的蒸馏过程,在训练分割网络时利用标签结构。

具体来说,为了在整个网络架构中广播结构信息,将GT标签映射转换为图像,然后从这些图像中训练教师来复制图像本身。然后,采用教师的注意力图来监督学生车道分割网络。直觉是,从标签接收输入以预测标签的教师网络本身清楚地知道其卷积层应该在视觉上关注的地方。学生网络通过模仿教师网络的精细注意力图而受益。作者将这种蒸馏机制命名为标签引导注意力蒸馏(LGAD)。

与传统的蒸馏不同,传统的蒸馏从一个强大的大教师模型开始,并向一个小的学生模型进行知识转移,LGAD从一个网络结构与学生模型保持不变的教师模型开始。这种结构保证了信息的准确传输。事实证明,在这种蒸馏机制中的学生比在传统的监督学习场景中单独学习的学生学习得更好。

image.png

PSPNet在LGAD之前和之后的注意力图之间的比较如图2所示。让PSPNet中主干的第二阶段输出模拟教师的注意力图。LGAD机制能够帮助学生网络更好地捕捉长时间连续的上下文。如图2d所示,在LGAD机制下,学生网络在车道位置表现出明显的注意力。注意,PSPNet中的所有四个阶段都得益于LGAD机制,视觉注意力图捕捉到了更丰富的场景上下文。

此外,LGAD策略通常是适用的,例如,它可以很容易地结合到任何车道线分割网络中。由于教师模型在训练后被弃用,因此本文的方法不会增加推理时间,性能改进基本上是免费的。

请注意,此策略提供了训练具有优异性能的小型网络的机会。在实验中证明了LGAD在轻量级模型上的有效性,如ENet。事实证明,轻量级ENet LGAD超越了现有的车道分割方法。

总的来说,与现有的计算昂贵的技术不同,LGAD是一种简单但有效的训练精确Lane分割网络的方法。实验表明,嵌入LGAD的各种网络架构(例如,BiseNet、ENet和PSPNet)均有所改进,并在Land分割方面得到了一致的改进。

本文主要贡献如下:

  1. 提出了一种新的提取方法LGAD,它使用车道线标签中的结构信息来引导车道线分割网络的注意力,以更好地捕捉长距离的纹理信息。LGAD仅在训练阶段应用,在推理阶段不带来计算成本;
  2. 仔细研究了LGAD的内部机制、在不同层模拟路径之间选择的考虑因素以及优化策略;
  3. 在两个基准数据集上进行的大量实验证明了所提出的LGAD在提高车道线分割网络性能方面的有效性。

2、相关工作

2.1、Semantic segmentation

最近在语义分割方面的工作总是充分利用卷积网络(FCN)。U-Net引入了编码器和解码器的特征图之间的跳过连接。SegNet存储池化索引,并在解码器部分重用它们。RefineNet概括了使用远程残差连接来实现高分辨率预测的多stem细化网络。这些基于FCN的网络的一个局限性是它们的小接受域,这使它们无法将大范围的上下文信息考虑在内。

Deeplab系列方法采用dilated卷积和atrous空间金字塔池化来增加感受野。Deeplabv3+在atrous空间金字塔池化模块之后附加解码器部分,以提取丰富的语义特征。PSPNet通过金字塔池化模块提高了性能,该模块通过聚合不同的基于区域的上下文来提取全局上下文信息。BiSeNet结合了高分辨率空间路径和快速下采样上下文路径,以在效率和分割性能之间取得适当的平衡。这些网络具有对相对较大范围的上下文关系进行建模的能力。然而,生成的特征表示主要由大目标控制,因此,小尺寸目标的性能受到限制。

Mostajabi等人提出增强用于语义分割的标签结构信息。首先在GT标签图上训练自动编码器,目的是将标签信息压缩到瓶颈抽象表示中。然后,将典型的CNN骨干网(例如VGG-16或DenseNet)连接到预训练和冻结的解码器,以形成分割网络。该策略的适用性仅限于编码器-解码器分段结构。然而,LGAD通常是适用的,并且可以用于提高任何类型的车道线分割网络的性能。此外,LGAD专注于转移注意力图,这种注意力图比抽象表示更灵活。

2.2、Lane Segmentation

传统的车道分割方法主要基于手工制作的特征。霍夫变换和卡尔曼滤波器是组装低级特征以形成车道的流行选择。这些方法总是缺乏鲁棒性。

近年来,人们多次尝试将深度学习应用于车道线检测。SCNN将传统的深层逐层卷积推广到特征图中的切片逐层卷积,从而实现一层中跨行和列的像素之间的消息传递。Neven等人使用规则分割网络来获得车道标记预测图,第二个网络进行透视变换,然后使用曲线拟合来获得最终结果。Ghafoorian等人提出了用于车道线分割的嵌入损失GAN(EL-GAN),其中车道由生成器基于输入图像进行预测,并由具有共享权重的鉴别器进行判断。Li等人将道路图像划分为多个连续的切片。然后,使用递归神经网络从CNN提取的图像切片特征中推断车道。虽然上述方法确实提高了车道分割性能,但额外的机制(例如逐层卷积、学习的透视变换、基于GAN的标签相似和RNN过程)缺乏效率。

与上述基于深度学习的方法不同,所提出的LGAD采用蒸馏机制来增强卷积特征图中的车道线信息。同时,LGAD可以无缝集成到任何基于CNN的分割框架中,以提高性能,并且不会增加推理时间。

2.3、Knowledge Distillation

知识蒸馏(KD)将庞大的模型压缩为更简单、更快的模型。在这种情况下,Ba和Caruana首先通过最小化来自两个网络的最后一层的特征之间的L2距离来引入知识提取。后来,Hinton等人表明,教师模型预测的课堂概率对学生模型来说是有信息的,除了训练期间的常规标记训练数据外,还可以用作监督信号。Czarnecki等人将损失的教师和学生导数之间的差异与教师预测的差异结合起来最小化。Heo等人使用激活图探索知识蒸馏。Zagoruyko等人提出将知识蒸馏应用于内部注意力图。他们通过强迫学生CNN网络模仿强大的教师网络的注意力图来提高其性能。所提出的LGAD的不同之处在于,本文的蒸馏机制的目标是传递结构标签信息,而不是强大教师的表示能力。具体而言,LGAD教师与学生共享相同的结构,并以标签对标签的方式进行训练。值得注意的是,重点研究提取标签引导注意力的可能性。

Hou等人遵循同样的想法,使用蒸馏策略来训练轻量级车道线分割模型。他们提出了一种自注意蒸馏(SAD)方法,该方法使用来自高层的注意力图作为下层的蒸馏目标。与SAD相比,LGAD的蒸馏目标更合理、更准确。

传统上,CNN中的较低层和较高层扮演不同的角色,即捕获局部特征和捕获丰富的上下文特征。不同的层次就应该有不同的视觉注意力。在LGAD中,每个教师层都确切地知道特征图在其图片中应该注意的地方。凭借卓越的注意力信息,ENet LGAD在基准测试中超过了ENet SAD(TuSimple的97.65%对96.64%,CULane的72.0%对70.8%)。

3、本文方法

传统上,以端到端的方式训练车道线分割网络,在网络末端附加GT标签来计算损失函数。详细的GT车道注释包含现有的车道分割网络训练方案无法利用的额外信息。通过设计知识蒸馏训练程序,能够获取车道结构信息,从而提高测试阶段的性能。

所提出的标签引导注意力蒸馏(LGAD)方法包含2个不同的网络模块,即教师网络和学生网络。教师网络对标签本身的结构进行建模,并对学生分割网络进行分层注意力蒸馏。

image.png

图3说明了这个方案。在下文中将解释如何进行分层注意力蒸馏。然后,详细阐述了如何将LGAD添加到网络训练中以及优化策略。

3.1、Activation-based Attention

通常,注意力图可以分为两种类型:基于激活的注意力图和基于梯度的注意力图。基于激活的注意力图对网络焦点的哪些空间区域进行编码以生成输出,而基于梯度的注意力图则对输出预测对特征的敏感程度进行编码。

由于LGAD旨在传递标签中的空间结构提示,并教学生层应注意哪些区域,基于激活的注意力比基于梯度的注意力更为合理。此外,在蒸馏方法中,基于激活的注意力转移会持续提高性能,而基于梯度的注意力蒸馏几乎不起作用。因此,只讨论激活库的注意力蒸馏。

image.png

image.png

3.2、Label-guided Attention Distillation

LGAD将注意力从教师网络转移到学生网络。与原始的知识蒸馏方法不同,原始的知识蒸馏方法总是有一个强大的教师模型和一个小的学生模型,在LGAD策略中,教师模型和学生模型有着相同的结构。教师模型通过复制输入标签映射作为输出来捕获标签结构信息。LGAD背后的直觉是,经过标签到标签训练的教师知道在哪里需要注意。学生模型将受益于不仅做出正确的预测,而且拥有与教师模型相似的注意力图。

image.png
image.png

图5显示了PSPNet中有和没有LGAD的3个层的注意力图。可以看出,当使用LGAD进行训练时,PSPNet的注意力图更多地集中在车道线位置上。这将显著提高分割性能,正如在实验中报告的那样。

3.3、Optimization

所提出的LGAD可以通过两种不同的策略进行优化。

  • 一个是教师和学生是协同优化的。通过这种方式,LGAD策略被嵌入到网络和整个训练过程的每个基于小批量的模型更新步骤中。在每次迭代中,两个网络使用相同的批次进行学习,教师使用标准分割损失进行训练,学生使用方程3中定义的损失函数进行训练。
  • 另一种策略是,遵循原始的蒸馏程序,在静态的预训练教师和新生之间进行单向注意力转移。在第4.4节中比较了这两种策略的性能。从经验上发现,这两种策略的性能几乎相当。因此,为了方便起见,只在其他实验中提供基于原始蒸馏优化策略的结果。

    优化过程详见算法1。

image.png

有可能将LGAD置于教师和学生的任何相关层面之间,这可能会影响性能。在LGAD中,蒸馏可以应用于多层或单层。

image.png

4、实验

4.1、与Baseline对比

image.png

4.2、与其他方法比较

image.png

4.3、消融实验

1、「Distillation Position」

image.png

2、优化策略

image.png

3、与深度监督的比较

image.png

4、与深度相互学习的比较

image.png

5、与特征图蒸馏方法的比较

image.png

4.4、可视化对比

image.png

image.png

5、参考

[1].Label-guided Attention Distillation for Lane Segmentation.

作者:小书童
文章来源:集智书童

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
18838
内容数
1371
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息