赞
踩
论文标题:Adaptive Perspective Distillation for Semantic Segmentation
论文链接:https://ieeexplore.ieee.org/document/9736597
作者单位:香港中文大学(Jiaya Jia,IEEE Fellow)、牛津大学
欢迎关注 @CV顶刊顶会 微信公众号,严肃且认真的计算机视觉论文前沿报道~
强大的语义分割模型需要预训练的backbone才能实现高效的性能,因此很难适应需要有效实时算法的实际应用程序。知识蒸馏技术通过让较小的模型(学生)产生与较大模型(教师)相似的像素级预测来解决这个问题。然而,分类器可以被视为模型对编码特征进行感知并产生一种特定视角,这种视角由所有训练样本共享,符合通用的特征分布。但是这种对整个分布的泛化都良好的情况可能会给一些单个样本带来较差的学习效果,共享的通用视角往往会忽略每个样本中存在的细节,从而导致知识蒸馏的退化。这可以看做是传统蒸馏学习与语义分割相结合的缺陷所在。来自香港中文大学和牛津大学的研究者们针对此问题,提出了一种自适应视角蒸馏方法(Adaptive Perspective Distillation,APD),并发表在人工智能领域顶级期刊(IEEE Transactions on Pattern Analysis and Machine Intelligence,TPAMI)上。APD为每个单独的训练样本创建自适应局部视角,可以专门从每个训练样本中提取详细的上下文信息,以从教师模型中挖掘更多的细节,从而在学生模型上达到更好的知识蒸馏结果。APD对教师和学生模型都没有结构约束,因此可以很好地泛化到不同的语义分割模型中。作者在Cityscapes、ADE20K和PASCAL-Context等标准基线上进行的大量实验证明了APD的有效性。此外,APD还可以在目标检测和实例分割等方面为模型带来性能增益。
在本文中,作者将深度网络对图像进行感知编码和解码的过程比作为光的透视过程。光线从场景出发穿过平面到达观察者眼睛被定为透视过程,深度网络进行语义分割时也可以类比于此,我们可以将最终的分类器视为模型的一种透视形式。换句话说,分割模型的推理可以被视为透视(分类器)投射编码的高级语义信息以产生观察者的观察(预测)的过程,如下图所示。与学生模型相比,教师通常有更好的视角,因为大特征编码器可以产生高质量的特征来学习好的视角。
在蒸馏学习阶段,教师模型的特征编码器和视角是固定的。鉴于教师模型已经在整个训练集上接受了充分的训练,因此其固定的“普适视角”可以泛化到所有测试样本来获得高质量的评价结果,然而,高泛化能力可能会导致较差的模型规范性,因为即使是相同的对象也可能在不同的训练样本中以不同的共现信息出现,如果仅使用固定通用视角对于特殊的样本的学习能力较差。因此本文作者提出了一种基于语义分割视角视角的新知识蒸馏方法APD。APD使模型能够为每个输入图像形成自适应视角,即不同的图像根据其上下文内容由不同的视角处理。由于教师模型可以代表更好的普遍视角,作者也调整了教师和学生的适应性视角,这样使学生可以在教师的指导下形成更好的适应性视角,达到快速蒸馏的目的。
对于语义分割模型,可以分解为两个部分:(1)特征编码器 G \mathcal{G} G 和(2)分类器 C \mathcal{C} C。在蒸馏过程中, G \mathcal{G} G 和 C \mathcal{C} C 都固定在教师模型中,教师模型的分类器 C t \mathcal{C_t} Ct 从 G t \mathcal{G_t} Gt 中提取特征 f t f_t ft 来作为蒸馏损失 L k d \mathcal{L_{kd}} Lkd的soft label。上文提到 C t \mathcal{C_t} Ct 对整个数据集都适用,其为蒸馏学习提供了一个固定的通用视角。
上图为APD方法的整体框架,作者通过形成个体自适应视角 A t \mathcal{A_t} At 来仔细研究每个训练样本,这些视角由从编码特征中获得的语义原型(即个体语义类的代表向量)组成,它作为另一个辅助任务,为提炼知识提供局部视角。此外,辅助视角 p a , t p_{a,t} pa,t 由自适应视角 A t \mathcal{A_t} At 和编码特征 f t f_t ft 生成,用于将知识从教师转移到学生。学生特征编码器 G s \mathcal{G_s} Gs 通过模仿 G t \mathcal{G_t} Gt 以产生类似的自适应视角 A s \mathcal{A_s} As,以及从 A s \mathcal{A_s} As 获得的辅助视角结果 p a , s p_{a,s} pa,s。
为了对训练样本进行自适应视角生成,作者首先设置两个映射层,由多层感知机构成,可以先对教师和学生网络提取的特征进行转换,形式化表示如下:
f a , t = P t ( f t ) , f a , s = P s ( f s ) f_{a, t}=\mathcal{P}_{t}\left(f_{t}\right), \quad f_{a, s}=\mathcal{P}_{s}\left(f_{s}\right) fa,t=Pt(ft),fa,s=Ps(fs)
随后通过每幅图像的二进制类别标签 M i ∈ R [ H × W × 1 ] M_i \in \mathcal{R}^{[H \times W \times 1]} Mi∈R[H×W×1] 来计算每个类别的原型向量 A t i \mathcal{A}_{t}^{i} Ati 和 A s i \mathcal{A}_{s}^{i} Asi,计算公式如下:
A t i = ∑ x = 1 H W f a , t x ⋅ M i x ∑ x = 1 H W M i x , A s i = ∑ x = 1 H W f a , s x ⋅ M i x ∑ x = 1 H W M i x \mathcal{A}_{t}^{i}=\frac{\sum_{x=1}^{H W} \boldsymbol{f}_{a, t}^{x} \cdot \boldsymbol{M}_{i}^{x}}{\sum_{x=1}^{H W} \boldsymbol{M}_{i}^{x}}, \quad \mathcal{A}_{s}^{i}=\frac{\sum_{x=1}^{H W} \boldsymbol{f}_{a, s}^{x} \cdot \boldsymbol{M}_{i}^{x}}{\sum_{x=1}^{H W} \boldsymbol{M}_{i}^{x}} Ati=∑x=1HWMix∑x=1HWfa,tx⋅Mix,Asi=∑x=1HWMix∑x=1HWfa,sx⋅Mix
作者将这些原型特征的集合命名为“自适应视角”,因为它们被放在一起可以构成一个分类器,其语义信息在不同的图像上有所不同,即“自适应”到不同的上下文。借助真实标签提供的语义信息,自适应视角可以更好地描述编码的语义类内和类间分布。
由于教师模型的映射层 P t \mathcal{P_t} Pt 的参数是随机初始化的,因此在没有优化的情况下其会产生崩溃现象。为了确保 P t \mathcal{P_t} Pt 可以在 A t ∈ R [ N × C ] \mathcal{A}_{t} \in \mathcal{R}^{[N \times C]} At∈R[N×C] 处提供具有代表性的视角,从而揭示每个图像的更多上下文细节,显式正则化是必不可少的一项步骤。因此,教师模型适应性视角的损失函数可以定义为:
L t = 1 H × W ∑ x = 1 H × W − log exp ( cos ( f a , t x , A t c ( x ) ) / τ ) ∑ i = 1 N exp ( cos ( f a , t x , A t i ) / τ ) \mathcal{L}_{t}=\frac{1}{H \times W} \sum_{x=1}^{H \times W}-\log \frac{\exp \left(\cos \left(\boldsymbol{f}_{a, t}^{x}, \mathcal{A}_{t}^{c(x)}\right) / \tau\right)}{\sum_{i=1}^{N} \exp \left(\cos \left(\boldsymbol{f}_{a, t}^{x}, \mathcal{A}_{t}^{i}\right) / \tau\right)} Lt=H×W1x=1∑H×W−log∑i=1Nexp(cos(fa,tx,Ati)/τ)exp(cos(fa,tx,Atc(x))/τ)
由于不一致的视角可能会导致不同的观察(预测)结果。因此,学生的特征编码器 G s \mathcal{G_s} Gs 和映射层 P s \mathcal{P_s} Ps 首先需要通过产生相似的视角来模仿教师模型。为了实现这一目标,作者使用 L r e c \mathcal{L_{rec}} Lrec 通过余弦相似测度来完成教师和学生适应性视角的调整。
L rec = 1 − 1 N ∑ i = 1 N cos ( A s i , A t i ) \mathcal{L}_{\text {rec }}=1-\frac{1}{N} \sum_{i=1}^{N} \cos \left(\mathcal{A}_{s}^{i}, \mathcal{A}_{t}^{i}\right) Lrec =1−N1i=1∑Ncos(Asi,Ati)
此外,从学生的角度进行的预测结果也需要模仿教师模型的预测结果,这可以通过最小化他们的观察 p a , t p_{a,t} pa,t 和 p a , s p_{a,s} pa,s 之间的KLD来实现,如:
L o b = 1 H × W ∑ x = 1 H × W K L D ( p a , s x ∥ p a , t x ) \mathcal{L}_{o b}=\frac{1}{H \times W} \sum_{x=1}^{H \times W} K L D\left(\boldsymbol{p}_{a, s}^{x} \| \boldsymbol{p}_{a, t}^{x}\right) Lob=H×W1x=1∑H×WKLD(pa,sx∥pa,tx)
总体的损失函数由上述几种损失函数联合得到,共同优化APD框架。此外,作者还明确列出了APD的优化过程,如下图所示。
作者在Cityscapes、ADE20K、COCO和PASCAL-Context四个数据及上进行了实验,下表展示了以PSPNet[1]作为backbone模型,APD与其他SOTA知识蒸馏方法的性能对比,可以看到APD在三个数据集上均取得了SOTA性能。
下图展示了在PSPNet和DeepLab-V3[2]上的跨模型蒸馏性能对比,作者还在其中尝试了多种不同的backbone网络,例如RN表示ResNet,MN2表示MobileNetV2,EN表示EfficientNet。
下图展示了APD框架在COCO数据集上目标检测和实例分割的可视化效果对比。
本文提出的自适应视角蒸馏(APD)方法整体简单直观。与以往通过固定视角(即分类器)获得的像素级预测来提取知识的蒸馏方法不同,APD旨在为单个样本创建自适应视角,揭示编码特征的更多细节,以帮助学生模型获得更好的性能。APD对基本模型没有结构约束,因此可以很容易地应用于常见的语义分割框架。APD也可以作为一项对现有知识蒸馏方法在语义分割方面的补充工作。与最先进的语义分割知识蒸馏方法的广泛比较证明了APD的有效性和泛化能力。
[1] H. Zhao, J. Shi, X. Qi, X. Wang, and J. Jia, “Pyramid scene parsing network,” in Proc. Conf. Comput. Vis. Pattern Recognit., 2017,
pp. 2881–2890.
[2] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille, “DeepLab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 40, no. 4, pp. 834–848, Apr. 2018.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。