[论文解读] Learning Lightweight Lane Detection CNNs by Self Attention Distillation
本文提出 Self Attention Distillation (SAD),一种训练阶段的技术,使用网络自身的注意力图作为软目标以提升表征学习,使轻量级车道检测 CNN(如 ENet-SAD)能够在无需额外标签或降低推理速度的情况下达到或超过更重模型的性能。
Training deep models for lane detection is challenging due to the very subtle and sparse supervisory signals inherent in lane annotations. Without learning from much richer context, these models often fail in challenging scenarios, e.g., severe occlusion, ambiguous lanes, and poor lighting conditions. In this paper, we present a novel knowledge distillation approach, i.e., Self Attention Distillation (SAD), which allows a model to learn from itself and gains substantial improvement without any additional supervision or labels. Specifically, we observe that attention maps extracted from a model trained to a reasonable level would encode rich contextual information. The valuable contextual information can be used as a form of 'free' supervision for further representation learning through performing topdown and layer-wise attention distillation within the network itself. SAD can be easily incorporated in any feedforward convolutional neural networks (CNN) and does not increase the inference time. We validate SAD on three popular lane detection benchmarks (TuSimple, CULane and BDD100K) using lightweight models such as ENet, ResNet-18 and ResNet-34. The lightest model, ENet-SAD, performs comparatively or even surpasses existing algorithms. Notably, ENet-SAD has 20 x fewer parameters and runs 10 x faster compared to the state-of-the-art SCNN, while still achieving compelling performance in all benchmarks. Our code is available at https://github.com/cardwing/Codes-for-Lane-Detection.
研究动机与目标
- 在稀疏的监督信号和具有挑战性的条件(遮挡、光线不足)下,推动鲁棒的车道检测。
- 开发一种自监督蒸馏机制(SAD),在训练中利用内部注意力图。
- 证明 SAD 在不增加推理时间的前提下提升轻量级网络的性能。
- 展示 SAD 在主要车道检测基准上达到最先进或具竞争力的性能。
- 提供对 ENet 的架构改进,以最大化 SAD 的收益。
提出的方法
- 从层 m 的激活 A_m 定义注意力图,并使用通道统计量通过 G(A_m) 构造注意力(优选 G_sum^2)。
- 引入一个注意力生成器 Ψ,为层 m+1 产生蒸馏目标 Ψ(A_m);必要时使用空间 softmax 和双线性上采样。
- 给出分层的自顶向下蒸馏损失 L_distill(A_m, A_{m+1}) = sum_m L_d(Ψ(A_m), Ψ(A_{m+1})),其中 L_d 通常为 L2 损失。
- 将标准分割损失(交叉熵)与 IoU 损失以及车道存在性损失相结合,加上蒸馏损失: L = L_seg + α L_IoU + β L_exist + γ L_distill。
- 通过在编码器块之后插入 AT-GEN,将 SAD 应用于基于 ENet 的架构,并在训练期间探索不同的蒸馏路径和时点。
- 消融蒸馏路径,并将 SAD 与深度监督进行比较以评估效果。
实验结果
研究问题
- RQ1模型是否可以通过跨层蒸馏自身的注意力图(自蒸馏)来学习有用的车道上下文表示,而无需外部标签?
- RQ2哪些分层模仿路径(哪些模块蒸馏给哪些模块)能最大化收益,以及在训练中的哪一阶段应引入 SAD?
- RQ3SAD 是否在传统深度监督之上带来额外收益,并且在轻量网络中是否保持快速推理?
- RQ4SAD 如何影响注意力图及在不同基准(TuSimple、CULane、BDD100K)上的车道检测性能?
主要发现
- SAD 在三个基准(TuSimple、CULane、BDD100K)上始终提升轻量级网络的性能。
- ENet-SAD 在轻量模型中达到接近最先进的结果,参数数量比 SCNN 少 20 倍,运行时也快 10 倍(在 CULane 上,同时保持较高准确度)。
- 在 TuSimple 上,ENet-SAD 获得 96.64% 的准确率(ENet 基线为 93.02%);在 CULane 的对比中达到更高的 F1;在 BDD100K,ENet-SAD 实现 36.56% IoU 和 16.02% IoU 的相应指标。
- 更深层网络也受益于 SAD(例如,ResNet-101 结合 SAD 将 CULane 的 F1 从 70.8 提升到 71.8,BDD100K 的准确率从 34.45% 提升至 35.56%)。
- 消融研究显示中高层目标和相邻层模仿能取得最佳收益;自上而下的蒸馏(从高层到低层)会降低性能。
- SAD 提供超越深度监督的收益,带来更柔和、上下文丰富的目标以及自顶向下的反馈机制,提升浅层与深层表征。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。