深度学习

SAD---Learning Lightweight Lane

2019-11-12  本文已影响0人  逆风g

概括

这篇论文用于检测车道线,作者提出Self Attention Distillation(SAD)模块,可用于现有任何网络结构,提升检测效果但不增加inference time。在模型ENet-SAD上的结果,与现有方法有可比性,但是参数量小于1/20,并且速度快于20倍。

  1. 已验证网络结构有:ENetResNet-18ResNet-34ResNet-101
  2. 测试数据集:TuSimpleCULaneBDD100K

动机

作者发现当网络学习到一定程度,不同特征层都会对车道线附近的区域产生更多兴趣。如图在block2、block3、block4中,车道线附近区域特征已被高亮显示:



给已训练好一半的模型添加SAD模块,让浅层特征来学习(mimic)高层特征的表达,从而加强网络的整体特征表达能力。从图中显示,添加SAD后(after SAD),浅层block的特征表达得到加强,继而高层block的征表达也得到加强。这种底层特征模仿高层特征的学习过程,属于自注意力蒸馏(Self Attention Distillation)。

Self Attention Distillation

  1. 注意力特征图包含两种类型:一种是activation-based attention maps,另一种是gradient-based attention maps,二者区别为是否使用激活函数。
  2. Activation-based attention distillation,主要是把长、宽、通道三维特征转换为长、宽两维特征,其中m代表第m个卷积层:



    通过考虑各通道上激活后的特征值,来确定空间上特征的分布状况,获得attention map。主要方式有三种:



    作者发现第二种方式获取的attention map更好,并设置p的值为2:
  3. 作者基于SAD(Self Attention Distillation),得到AT-
    GEN(attention generator),把它引入到网络的个层级上:



    其中AT-GEN,先把网络中的指定特征经过G得到attention map,再上采样(Bilinear)到目标大小,最后通过softmax激活。


损失函数

  1. 相邻层attention map的损失函数:



    这里使用的是L2函数。

  2. 网络总损失函数:



    segmentation loss由交叉熵函数和IoU组成;existence loss为二分类交叉熵函数。

实验

  1. 是否使用自注意力蒸馏效果图对比:


  2. 可视化结果的后处理:

    对输出的概率图先进行9x9卷积的光滑处理,显示取阈值大于0.5的像素,然后每隔20行取最大响应值,最后连接这些最大响应值。
    具体参考论文X.Pan,J.Shi,P.Luo,X.Wang,andX.Tang.Spatialasdeep: Spatial CNN for traffic scene understanding. In Association for the Advancement of Artificial Intelligence, 2018.
  3. 与其它方法对比:
    三个指标,accuracy、F1-measure、IoU


  1. 消融实验
  1. 可视化结果对比:
上一篇下一篇

猜你喜欢

热点阅读