YoloV8改进策略:蒸馏改进|CWDLoss|使用蒸馏模型实现YoloV8无损涨点|特征蒸馏

摘要

在本文中,我们成功应用蒸馏策略以实现YoloV8小模型的无损性能提升。我们采用了CWDLoss作为蒸馏方法的核心,通过对比在线和离线两种蒸馏方式,我们发现离线蒸馏在效果上更为出色。因此,为了方便广大读者和研究者应用,本文所描述的蒸馏方法仅保留了离线蒸馏方案。此外,我们还提供了相关论文的译文,旨在帮助大家更深入地理解蒸馏方法的原理和应用。

论文翻译:《用于密集预测任务的通道知识蒸馏》

https://arxiv.org/pdf/2011.13256
知识蒸馏(KD)已被证明是训练紧凑密集预测模型的简单有效工具。通过从大型教师网络转移而来的额外监督来训练轻量级学生网络。大多数先前的针对密集预测任务的KD变体都在空间域中对学生网络和教师网络的激活图进行对齐,通常是通过在每个空间位置标准化激活值并最小化逐点和/或成对差异来实现的。与先前的方法不同,我们提出对每个通道的激活图进行标准化以获得软概率图。通过简单地最小化两个网络的通道概率图之间的Kullback-Leibler(KL)散度,蒸馏过程更关注于每个通道的最显著区域,这对于密集预测任务来说是非常有价值的。

我们在一些密集预测任务上进行了实验,包括语义分割和对象检测。实验表明,我们提出的方法在性能上显著优于最先进的蒸馏方法,并且在训练过程中需要的计算成本更低。特别地,我们在COCO数据集上将RetinaNet检测器(ResNet50主干)的mAP提高了3.4%,在Cityscapes数据集上将PSPNet(ResNet 18主干)的mIoU提高了5.81%。代码可在以下网址获取:
https://git.io/Distiller

在这里插入图片描述

1、引言

密集预测任务是计算机视觉中的一组基础任务,包括语义分割[48,6]和对象检测[21,30]。这些任务需要在像素级别上学习强大的特征表示,以实现对复杂场景的理解。因此,最先进的模型通常需要高计算成本,这使得它们难以部署到移动设备上。因此,针对密集预测任务设计的紧凑网络引起了广泛关注。此外,先前的工作已经研究了通过使用知识蒸馏(KD)来有效训练轻量级网络。紧凑网络在大教师网络的监督下进行训练,可以获得更好的性能。对于图像分类任务,已经提出了许多开创性的工作[16,2]并进行了深入研究。

密集预测任务是逐像素预测问题,比图像级分类更具挑战性。先前的研究[25,20]发现,直接将分类中的KD方法[16,2]转移到语义分割可能无法获得令人满意的结果。严格对齐教师和学生网络之间的逐点分类分数或特征图可能会施加过于严格的约束,导致次优解。
在这里插入图片描述

最近的工作[25,24,18]关注于加强不同空间位置之间的相关性。如图2(a)所示,每个空间位置的激活值{}^{1}被标准化。然后,通过聚合不同空间位置的一个子集来执行一些特定于任务的关系,例如成对关系[25,35]和类间关系[18]。这样的方法可能在捕获空间结构信息方面比逐点对齐更好,并提高学生网络的性能。

然而,在激活图中,每个空间位置对知识转移的贡献是相等的,这可能会从教师网络中带来冗余信息。

在这项工作中,我们提出了一种新颖的针对密集预测任务的通道级知识蒸馏方法,通过标准化每个通道的激活图来实现,如图2(b)所示。然后,我们最小化了教师网络和学生网络之间标准化通道激活图的非对称Kullback-Leibler(KL)散度,这些激活图被转换为每个通道的分布。我们在图2©中展示了通道级分布的一个示例。每个通道的激活倾向于编码场景类别的显著性。对于每个通道,学生网络被引导更多地关注于模仿具有显著激活值的区域,从而在密集预测任务中实现更准确的定位。例如,在对象检测中,学生网络更加关注于学习前景对象的激活。

最近的一些工作利用了通道中包含的知识。通道蒸馏[50]提出将每个通道的激活转换为一个聚合的标量,这对于图像级分类可能有所帮助,但空间聚合丢失了所有空间信息,因此不适合密集预测。其他工作,如MGD[41]、通道交换[33]和CSC[26]显示了通道级信息的重要性。MGD将教师通道与学生通道进行匹配,并将其视为一个分配问题来解决。通道交换[33]使用一个融合模块来动态地在不同模态的子网络之间交换通道。

我们展示了针对每个通道的简单标准化操作可以极大地提高基于空间蒸馏的基线性能。所提出的通道级蒸馏方法简单且易于应用于各种任务和网络结构。我们总结我们的主要贡献如下:

  • 与现有的空间蒸馏方法不同,我们为密集预测任务提出了一种新颖的通道级蒸馏范式。我们的方法简单但有效。
  • 所提出的通道级蒸馏在语义分割和对象检测方面显著优于最先进的KD方法。
  • 我们在四个基准数据集上展示了使用不同网络结构在语义分割和对象检测任务上的一致改进,证明了我们的方法是通用的。鉴于其简单性和有效性,我们相信我们的方法可以作为密集预测任务的强大基线KD方法。

2、相关工作

在知识蒸馏领域,大多数工作都集中在分类任务上[11,12,16,27,36,38,45]。然而,这里的工作旨在研究针对密集预测任务的高效和有效的蒸馏方法,而不仅仅是像分类任务中那样简单地应用逐像素蒸馏。

语义分割的知识蒸馏。在[35]中,构建了一个局部相似度图来最小化教师网络和学生网络之间分割边界信息的差异,其中使用中心像素与其8个邻域像素之间的欧几里得距离作为传输的知识。Liu等人[24,25]提出了两种方法来捕捉像素之间的结构化信息,包括像素之间的成对相似性和由判别器捕获的全局相关性。在[34]的工作中,重点在于具有相同标签的像素之间的类内特征变化,其中通过构建每个像素的特征与其对应的类级原型之间的余弦距离集来传输结构知识。He等人[14]则采用了一个特征适配器来减轻教师网络和学生网络之间的特征不匹配问题。

此外,正如您所提到的,通道级的知识蒸馏方法在密集预测任务中也逐渐受到关注。例如,一些方法通过标准化每个通道的激活图并最小化教师网络和学生网络之间标准化通道激活图的非对称KL散度来改进知识蒸馏的效果。这种方法能够让学生网络更加关注于模仿具有显著激活值的区域,从而实现更准确的定位。与现有的空间蒸馏方法相比,通道级蒸馏在语义分割和对象检测方面表现出了显著的性能提升,并证明了其在不同网络结构和基准数据集上的通用性。

目标检测的知识蒸馏。在目标检测任务中,许多方法发现区分前景和背景区域在蒸馏过程中非常重要。例如,MIMIC [20]通过 L 2 L_{2} L2损失强制学生网络的RPN内部特征图与教师网络相似,并发现直接应用逐像素损失可能会损害目标检测的性能。Wang等人 [32] 提出蒸馏对象锚点位置附近的细粒度特征。Zhang和Ma [43] 使用注意力生成的掩码来区分前景和背景,取得了显著的效果。

然而,与这些方法不同,我们的方法通过柔和地对齐通道激活来区分前景和背景区域。具体来说,我们关注每个通道中包含的知识。最近的一些工作 [50] 也开始关注每个通道中包含的知识。例如,Zhou等人计算每个通道中激活的平均值,并在分类任务中对每个通道的加权差异进行对齐。CSC [26] 计算所有空间位置和所有通道之间的成对关系以传输知识。而Channel exchanging [33] 提出每个通道中包含的信息是通用的,可以在不同的模态之间共享。

3、我们的方法

我们首先回顾文献中相关的空间知识蒸馏方法。

3.1、空间蒸馏

现有的KD方法通常采用逐点对齐或对齐空间位置之间的结构化信息,这可以表示为:

ℓ ( y , y S ) + α ⋅ φ ( ϕ ( y T ) , ϕ ( y S ) ) \ell(y, y^{S}) + \alpha \cdot \varphi(\phi(y^{T}), \phi(y^{S})) (y,yS)+αφ(ϕ(yT),ϕ(yS))

在这里,任务损失 ℓ ( ⋅ ) \ell(\cdot) ()仍然被应用,其中 y y y是真实标签。例如,在语义分割中,通常使用交叉熵损失。为了稍微滥用符号,这里 y S y^{S} yS y T y^{T} yT分别代表学生网络和教师网络的logits或内部激活。 α \alpha α是一个超参数,用于平衡损失项。下标 T {}^{T} T S {}^{S} S分别表示教师网络和学生网络。我们在表1中列出了代表性的空间蒸馏方法。

这些方法的简要概述如下。注意力转移(Attention Transfer,AT)[42]使用注意力掩码将特征图压缩为单个通道以进行蒸馏。逐像素损失(Pixel-wise Loss)[17]直接对齐逐点的类别概率。局部亲和力(Local Affinity)[35]通过中心像素与其8个邻域像素之间的距离来计算。成对亲和力(Pairwise Affinity)[25, 14, 24]被用来传递像素对之间的相似性。计算每个像素的特征与其对应的类别原型之间的相似性以传递结构知识[34]。在[25, 24]中的整体损失使用对抗性方案来对齐两个网络特征图之间的高阶关系。请注意,最后四项考虑了像素之间的相关性。如表1所示,现有的KD方法都是空间蒸馏方法。所有这些方法都将空间位置上的 N N N个通道激活值作为特征向量进行操作。
在这里插入图片描述

3.2、通道蒸馏

为了更好地利用每个通道中的知识,我们提出了在教师网络和学生网络之间柔和地对齐对应通道激活的方法。为此,我们首先将一个通道的激活转换为概率分布,这样我们就可以使用概率距离度量(如KL散度)来衡量差异。如图2©所示,不同通道的激活倾向于编码输入图像的场景类别的显著性。此外,经过良好训练的语义分割教师网络显示出每个通道清晰的特定于类别的掩码激活图,如图1右侧所示。在这里,我们提出了一种新颖的通道蒸馏范式,以指导学生从训练有素的教师那里学习知识。

当我们使用LaTeX格式来表示数学符号时,我们会使用$符号来包围LaTeX代码。对于您提供的文本,我们可以将其转化为LaTeX格式,并用$符号包围起来。以下是转化后的结果:

教师网络和学生网络分别表示为 T T T S S S,来自 T T T S S S 的激活图分别为 y T y^{T} yT y S y^{S} yS。通道蒸馏损失可以一般性地表示为:

φ ( ϕ ( y T ) , ϕ ( y S ) ) = φ ( ϕ ( y c T ) , ϕ ( y c S ) ) . \varphi\left(\phi\left(y^{T}\right), \phi\left(y^{S}\right)\right)=\varphi\left(\phi\left(y_{c}^{T}\right), \phi\left(y_{c}^{S}\right)\right) \,. φ(ϕ(yT),ϕ(yS))=φ(ϕ(ycT),ϕ(ycS)).

ϕ ( ⋅ ) \phi(\cdot) ϕ() 用于将激活值转换为概率分布,具体为:

ϕ ( y c ) = exp ⁡ ( y c , i T ) ∑ i = 1 W ⋅ H exp ⁡ ( y c , i T ) , \phi\left(y_{c}\right)=\frac{\exp \left(\frac{y_{c, i}}{T}\right)}{\sum_{i=1}^{W \cdot H} \exp \left(\frac{y_{c, i}}{T}\right)} \,, ϕ(yc)=i=1WHexp(Tyc,i)exp(Tyc,i),

其中 c = 1 , 2 , … , C c=1,2,\ldots,C c=1,2,,C 索引通道; i i i 索引通道中的空间位置。 T T T 是一个超参数(温度)。如果教师和学生之间的通道数不匹配,我们会使用一个 1 × 1 1 \times 1 1×1 的卷积层来上采样学生网络的通道数。 φ ( ⋅ ) \varphi(\cdot) φ() 评估了来自教师网络和学生网络的通道分布之间的差异。我们使用 KL 散度:

φ ( y T , y S ) = T 2 C ∑ c = 1 C ∑ i = 1 W ⋅ H ϕ ( y c , i T ) ⋅ log ⁡ [ ϕ ( y c , i T ) ϕ ( y c , i S ) ] . \varphi\left(y^{T}, y^{S}\right)=\frac{\mathcal{T}^{2}}{C} \sum_{c=1}^{C} \sum_{i=1}^{W \cdot H} \phi\left(y_{c, i}^{T}\right) \cdot \log \left[\frac{\phi\left(y_{c, i}^{T}\right)}{\phi\left(y_{c, i}^{S}\right)}\right] \,. φ(yT,yS)=CT2c=1Ci=1WHϕ(yc,iT)log[ϕ(yc,iS)ϕ(yc,iT)].

KL 散度是一个不对称度量。从上面的方程中我们可以看到,如果 ϕ ( y c , i T ) \phi\left(y_{c, i}^{T}\right) ϕ(yc,iT) 很大, ϕ ( y c , i S ) \phi\left(y_{c, i}^{S}\right) ϕ(yc,iS) 也应该尽可能大以最小化 KL 散度。否则,如果 ϕ ( y c , i T ) \phi\left(y_{c, i}^{T}\right) ϕ(yc,iT) 非常小,KL 散度就不会太关注最小化 ϕ ( y c , i S ) \phi\left(y_{c, i}^{S}\right) ϕ(yc,iS) 的值。

KL散度是一个非对称度量。从方程(4)中我们可以看到,如果 ϕ ( y c , i T ) \phi\left(y_{c, i}^{T}\right) ϕ(yc,iT)很大,为了最小化KL散度, ϕ ( y c , i S ) \phi\left(y_{c, i}^{S}\right) ϕ(yc,iS)也应该尽可能地大,与 ϕ ( y c , i T ) \phi\left(y_{c, i}^{T}\right) ϕ(yc,iT)一样大。否则,如果 ϕ ( y c , i T ) \phi\left(y_{c, i}^{T}\right) ϕ(yc,iT)非常小,KL散度在最小化 ϕ ( y c , i S ) \phi\left(y_{c, i}^{S}\right) ϕ(yc,iS)时就不会太关注。因此,学生网络倾向于在前景显著区域产生类似的激活分布,而教师网络背景区域对应的激活对学习的影响较小。我们假设KL的这种非对称性质有利于密集预测任务的KD学习。

4、实验

在本节中,我们首先描述实现细节和实验设置。然后,我们将我们的通道级蒸馏方法与其他最先进的蒸馏方法进行比较,并在语义分割任务上进行消融研究。最后,我们在语义分割和对象检测任务上展示了使用不同基准和学生网络结构时的一致改进。

4.1、实验设置

数据集。我们在这里使用了三个公开的语义分割基准数据集,分别是Cityscapes [8]、ADE20K [49]和Pascal VOC [10]。此外,我们还将提出的蒸馏方法应用于MS-COCO 2017 [23]上的对象检测任务,这是一个包含超过120k张80个类别的图像的大规模数据集。

Cityscapes 数据集用于城市场景语义理解。它包含5,000张精细标注的图像,其中2,975/500/1,525张图像分别用于训练/验证/测试,提供了30个常见类别,其中19个类别用于评估和测试。每张图像的尺寸为2048x1024像素。这些图像来自50个不同的城市。在我们的实验中,我们没有使用粗略标注的数据。

Pascal VOC 数据集包含 1 , 464 / 1 , 449 / 1 , 456 1,464 / 1,449 / 1,456 1,464/1,449/1,456 张图像用于训练/验证/测试。它包含20个前景对象类别和一个额外的背景类别。此外,该数据集通过额外的粗略标注进行了扩充,其中包含10,582张训练图像。我们使用训练分割进行训练,并在21个类别上通过验证集测量最终性能。

ADE20K 数据集涵盖了150个不同场景的类别。它包含 20 K / 2 K / 3 K 20 \text{K} / 2 \text{K} / 3 \text{K} 20K/2K/3K 张图像用于训练、验证和测试。在我们的实验中,我们报告了验证集上的分割精度。

评估指标。为了评估我们在语义分割上提出的通道分布蒸馏方法的性能和效率,我们遵循先前的工作[18,24],在所有实验中通过单尺度设置下的平均交并比(mIoU)来测试每种策略。每秒浮点运算次数(FLOPs)是在固定输入大小为 512 × 1024 512 \times 1024 512×1024 像素的情况下计算的。此外,对于Pascal VOC和ADE20K,我们列出了平均类别准确率(mAcc)。为了评估在对象检测上的性能,我们报告了平均精度(mAP)、推理速度(FPS)和模型大小(参数),遵循[43]中的工作。

实现细节。对于语义分割,教师网络在所有实验中都是使用ResNet 101(PSPNet-R101)作为骨干网络的PSPNet。我们采用了几种不同的架构,包括PSPNet[48]、使用ResNet18和MobileNetV2作为骨干网络的Deeplab[44]作为学生网络,以验证我们方法的有效性。

在消融研究中,我们基于以ResNet 18为骨干网络的PSPNet(PSPNet-R18)来分析我们方法的有效性。除非另有说明,学生网络的每张训练图像都被随机裁剪为 512 × 512 512 \times 512 512×512像素。批处理大小设置为8,训练步数设置为 40 K 40 \text{K} 40K。在所有实验中,我们设置温度参数 T = 4 \mathcal{T}=4 T=4,对于logits图的损失权重 α = 3 \alpha=3 α=3,对于特征图的损失权重 α = 50 \alpha=50 α=50。对于对象检测,我们采用与[43]中相同的教师网络、学生网络和训练设置。

4.2、与最近的知识蒸馏方法比较

为了验证我们提出的通道蒸馏方法的有效性,我们将我们的方法与以下当前流行的蒸馏方法进行了比较:

  • 注意力转移(Attention Transfer, AT) [42]:Sergey等人计算每个空间位置所有通道的和,以获得单个通道注意力图。他们使用 L 2 L_{2} L2损失来最小化注意力图之间的差异。
  • 局部亲和力(Local Affinity, LOCAL) [35]:对于每个像素,构建一个局部相似度图,该图考虑了该像素与其8个邻域像素之间的相关性。同样,使用 L 2 L_{2} L2损失来最小化局部亲和力图之间的差异。
  • 像素级蒸馏(Pixel-wise Distillation, PI) [25,24,34,7]:使用KL散度来对齐两个网络中每个空间位置的分布。
  • 成对蒸馏(Pair-wise Distillation, PA) [25,14,24]:考虑了所有像素对之间的相关性。
  • 类内特征变化蒸馏(Intra-class Feature Variation Distillation, IFVD) [34]:将每个像素的特征与其对应的类原型之间的相似度集合视为类内特征变化,以传递结构知识。
  • 全局蒸馏(Holistic Distillation, HO) [25,24,34]:通过鉴别器计算特征图的全局嵌入,用于最小化高阶关系之间的差异。

我们在内部特征图和最终logits图上应用了所有这些流行的蒸馏方法。在所有实验中,都应用了传统的交叉熵损失。表2报告了空间蒸馏方法的计算复杂度和性能。

给定的输入特征图(logits图)的大小为 h f × w f × c ( h s × w s × n ) h_{f} \times w_{f} \times c\left(h_{s} \times w_{s} \times n\right) hf×wf×c(hs×ws×n),其中 h f ( h s ) × w f ( w s ) h_{f}\left(h_{s}\right) \times w_{f}\left(w_{s}\right) hf(hs)×wf(ws) 是特征图(logits图)的形状。 c c c 是通道数, n n n 是类别数。

如表2所示,所有蒸馏方法都能提高学生网络的性能。我们的通道蒸馏方法在所有空间蒸馏方法中表现最好。我们的方法比最佳的空间蒸馏方法(AT)高出2.5%。此外,我们的方法更加高效,因为它在训练阶段需要的计算成本比其他方法更少。

此外,我们在表3中列出了我们的方法与两种最近的先进方法PA [25]和IFVD [18]的详细类别IoU(Intersection over Union,交并比)。这些方法旨在在语义分割中转移结构信息。我们的方法显著提高了多个对象的类别准确性,如交通灯、地形、墙壁、卡车、公共汽车和火车,这表明通道分布可以很好地转移结构知识。

4.3、消融研究

在本节中,我们展示了通道蒸馏的有效性,并讨论了语义分割中超参数的选择。基线学生模型是PSPNet-R18,教师模型是PSPNet-R101。所有结果均在Cityscapes验证集上进行评估。

通道蒸馏的有效性。归一化的通道概率图和不对称KL散度在我们的蒸馏方法中起着重要作用。我们通过四种不同的变体进行实验,以展示表4中提出的方法的有效性。

所有蒸馏方法都应用于相同的激活图作为输入,并且我们使用与第4.1节中描述的相同的训练方案。
'PI’代表像素级知识蒸馏,它对每个空间位置的激活进行归一化。' L 2 w / o N O R M L2 w/o NORM L2w/oNORM’表示我们直接最小化来自两个网络的特征图之间的差异,这种方法在所有通道的所有位置都平等地考虑差异。'Bhat’是Bhattacharyya距离[3],它是一个对称分布度量,用于对齐每个通道中的差异。

从表4中我们可以看到,使用不对称KL散度来衡量归一化通道差异的方法取得了最佳性能。请注意,由于KL散度是不对称的,因此学生和教师的输入不能互换。我们尝试在KL散度中改变输入的顺序,但训练并没有收敛。

温度参数和损失权重的影响。我们通过在不同的损失权重α下调整温度参数 T \mathcal{T} T来改变通道概率图。实验在logits图上进行。结果如图3所示。
在这里插入图片描述

所有结果都是三次运行的平均值。损失权重设置为1, 2, 3,而 T ∈ [ 1 , 5 ] \mathcal{T} \in [1,5] T[1,5]。如果我们增加 T \mathcal{T} T,则分布会变得更软。

从图中可以看出,较软的概率图可能有助于知识蒸馏。此外,在一定范围内,性能是稳定的。如果 T \mathcal{T} T设置得太小,性能似乎会下降。在这种情况下,该方法仅关注有限的显著像素。我们在Cityscapes验证集上使用PSPNet 18时,在 T \mathcal{T} T=4和 α = 3 \alpha=3 α=3时取得了最佳性能。

4.4、语义分割

我们展示了所提出的通道蒸馏方法可以与其他先前的语义分割蒸馏方法相结合,即用于分割/密集预测的结构知识蒸馏(SKDS [24] 和 SKDD [25])以及类内特征变化蒸馏(IFVD [34]),并且适用于各种学生网络。

我们在logits图(Ours-logits)和特征图(Ours-feature)上都使用了所提出的通道蒸馏。同时,根据先前的方法[25,18],我们也包括了logits图上的像素级蒸馏(PI)和整体蒸馏(HO)。
在这里插入图片描述

我们首先在Cityscapes数据集上评估了我们方法的性能。使用不同编码器和解码器的各种学生网络来验证我们方法的有效性。编码器包括ResNet18(在ImageNet上预训练权重进行初始化,以及通道减半的ResNet18变体[13]),解码器包括PSPhead [48]和ASPPhead [6]。表5展示了在Cityscapes上的结果。Pascal VOC [10]和ADE20K [49]上的实验结果在补充材料中给出。

我们的方法在五个学生网络和三个基准测试中均优于SKD和IFVD,这进一步表明通道蒸馏在语义分割中是有效的。

对于与教师具有相同架构类型的学生,即 PSPNet-R 1 8 ∘ ( 0.5 ) \text{PSPNet-R} 18^{\circ}(0.5) PSPNet-R18(0.5) PSPNet-R 1 8 ∘ \text{PSPNet-R} 18^{\circ} PSPNet-R18 PSPNet-R18 ⋆ \text{PSPNet-R18}^{\star} PSPNet-R18,改进更为显著。对于与教师架构类型不同的学生,即 Deeplab-R 1 8 ∘ ( 0.5 ) \text{Deeplab-R} 18^{\circ}(0.5) Deeplab-R18(0.5) Deeplab-R18 ⋆ \text{Deeplab-R18}^{\star} Deeplab-R18,我们的方法与SKDS和IFVD相比也实现了一致的改进。因此,我们的方法能够很好地适用于不同的教师和学生网络。

紧凑模型容量的学生网络( PSPNet-R18 ∘ ( 0.5 ) \text{PSPNet-R18}^{\circ}(0.5) PSPNet-R18(0.5))显示出比容量更大的学生( PSPNet-R18 ⋆ \text{PSPNet-R18}^{\star} PSPNet-R18)更差的蒸馏性能( 68.57 % 68.57\% 68.57% vs 75.90 % 75.90\% 75.90%)。这可能是因为小网络的能力与教师网络相比有限,无法充分吸收当前任务的知识。对于 PSPNet-R18 \text{PSPNet-R18} PSPNet-R18,使用在ImageNet上训练的权重进行初始化的学生获得了最好的蒸馏性能(从 70.09 % 70.09\% 70.09%提高到 75.90 % 75.90\% 75.90%),进一步证明了良好的初始化参数有助于蒸馏。因此,更好的学生会带来更好的蒸馏性能,但随着教师和学生网络之间的差距减小,这种改进变得不那么显著。

4.5、目标检测

我们也将我们的通道蒸馏方法应用于目标检测任务。实验在MS COCO2017 [23]上进行。

为了验证我们方法的有效性,我们使用了不同范式下的各种学生网络,即基于锚点的两阶段方法(Faster RCNN [28])、基于锚点的一阶段方法(RetinaNet [21])和无锚点方法(RepPoints [37])。为了进行公平的比较,我们使用了与[43]中相同的教师和相同的超参数进行实验。

唯一的改动是将特征对齐改为了我们的通道蒸馏。表6报告了实验结果。从表中可以看出,我们的方法在强大的基线学生网络上实现了一致的改进(大约提高了 3.4 % 3.4\% 3.4%的mAP)。与先前的最先进蒸馏方法[43]相比,我们简单的通道蒸馏表现得更好,尤其是在无锚点方法上。我们提高了RepPoints的性能 3.4 % 3.4\% 3.4%,而Zhang等人只提高了 2 % 2\% 2%。此外,我们可以看到所提出的蒸馏方法能更显著地提高 A P 75 AP_{75} AP75

5、结论

在本文中,我们为密集预测任务提出了一种新颖的通道蒸馏方法。与先前的空间蒸馏方法不同,我们将每个通道的激活值归一化为概率图。然后,应用非对称KL散度来最小化教师网络和学生网络之间的差异。实验结果表明,所提出的蒸馏方法在四个公共基准数据集上,对于不同网络主干结构的语义分割和目标检测任务,均一致优于现有的最先进蒸馏方法。

此外,我们的消融实验证明了通道蒸馏的有效性和效率,并且它可以进一步补充空间蒸馏方法。我们希望所提出的简单而有效的蒸馏方法能够作为许多其他密集预测任务(包括实例分割、深度估计和全景分割)中有效训练紧凑网络的有力基线。

附录

A、在Pascal VOC和ADE20K上的结果

为了进一步证明所提出的通道分布蒸馏(CD)的有效性,我们仅在Pascal VOC和ADE20K的特征图上应用所提出的CD作为最终结果。实验结果分别在表7和表8中报告。我们使用了具有不同编码器和解码器的多个学生网络变体来验证我们方法的有效性。这里,编码器包括ResNet18和MobileNetV2,解码器包括PSPhead和ASPP-head。

Pascal VOC。我们在Pascal VOC数据集上评估了我们方法的性能。蒸馏结果列在表7中。我们提出的CD提高了无蒸馏的PSPNet-R18性能 3.83 % 3.83\% 3.83%,在SKDS和IFVD的基础上分别提升了 1.51 % 1.51\% 1.51% 1.21 % 1.21\% 1.21%。在使用不同编码器和解码器的其他学生网络上,我们也取得了一致的改进。使用我们的方法,PSPNet-MBV2的增益为 3.55 % 3.55\% 3.55%,在SKDS和IFVD的基础上分别提升了 1.98 % 1.98\% 1.98% 1.20 % 1.20\% 1.20%。对于Deeplab-R18,我们的CD将学生网络从 66.81 % 66.81\% 66.81%提升至 69.97 % 69.97\% 69.97%,在SKDS和IFVD的基础上分别提升了 1.84 % 1.84\% 1.84% 1.55 % 1.55\% 1.55%。此外,使用我们的蒸馏方法,Deeplab-MBV2的性能从 50.80 % 50.80\% 50.80%提升至 54.62 % 54.62\% 54.62%,在SKDS和IFVD的基础上分别提升了 2.51 % 2.51\% 2.51% 1.23 % 1.23\% 1.23%
在这里插入图片描述

ADE20K。我们也在ADE20K数据集上评估了我们的方法,以进一步证明CD比其他结构知识蒸馏方法更有效。结果如表8所示。我们提出的CD将无蒸馏的PSPNetR18提升了 3.83 % 3.83\% 3.83%,并在多个方面分别超越了SKDS和IFVD 1.51 % 1.51\% 1.51% 1.21 % 1.21\% 1.21%。对于具有不同编码器和解码器的其他学生网络,也始终实现了显著的性能提升。对于PSPNetMBV2,我们的方法取得了 27.97 % 27.97\% 27.97%的卓越性能,分别比学生网络、SKDS和IFVD提升了 4.82 % 4.82\% 4.82% 3.18 % 3.18\% 3.18% 2.64 % 2.64\% 2.64%。使用我们的CD,Deeplab-R18的增益为 2.48 % 2.48\% 2.48%,分别超越了SKDS和IFVD 1.85 % 1.85\% 1.85% 0.84 % 0.84\% 0.84%。最后,使用我们的通道蒸馏,Deeplab-MBV2的性能从 24.98 % 24.98\% 24.98%提高到 29.18 % 29.18\% 29.18%,分别比SKDS和IFVD提升了 3.08 % 3.08\% 3.08% 1.93 % 1.93\% 1.93%

B、更多的可视化结果

我们在图6中列出了可视化结果,以直观地展示通道分布蒸馏方法(CD)优于空间蒸馏策略(注意力转移)。此外,为了评估所提出的通道分布蒸馏的有效性,我们在图7和图8中可视化了三种范式下学生网络的通道分布,即原始网络、通过注意力转移(AT)蒸馏和通过通道分布蒸馏分别蒸馏的网络。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

官方结果

蒸馏结果

Validating runs\detect\train6\weights\best.pt...
Ultralytics YOLOv8.2.20 🚀 Python-3.11.5 torch-2.1.2 CUDA:0 (NVIDIA GeForce RTX 3090, 24575MiB)
YOLOv8n summary (fused): 168 layers, 3011888 parameters, 0 gradients, 8.1 GFLOPsClass     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 15/15 [00:02<00:00,  7.24it/s]all        230       1412      0.889       0.76      0.876      0.563c17        230        131      0.933      0.952      0.975      0.758c5        230         68      0.952      0.838      0.952      0.739helicopter        230         43      0.836      0.814      0.842      0.477c130        230         85      0.921      0.828      0.925      0.612f16        230         57      0.859      0.749      0.823       0.49b2        230          2          1          0      0.995      0.201other        230         86        0.6       0.86      0.822      0.393b52        230         70      0.916      0.933      0.967      0.746kc10        230         62      0.968      0.966       0.98       0.77command        230         40      0.909        0.9      0.978      0.768f15        230        123      0.938      0.743      0.924      0.583kc135        230         91      0.801      0.842      0.912      0.603a10        230         27      0.675      0.296      0.616       0.22b1        230         20          1      0.833      0.923      0.441aew        230         25       0.92       0.92      0.971      0.753f22        230         17      0.621       0.77      0.692      0.472p3        230        105      0.995      0.962      0.993      0.784p8        230          1      0.769          1      0.995      0.497f35        230         32      0.897      0.547      0.827      0.373f18        230        125      0.972      0.992      0.991      0.768v22        230         41      0.926      0.909      0.957      0.601su-27        230         31       0.92          1      0.995      0.777il-38        230         27      0.864      0.926       0.95      0.654tu-134        230          1          1          0     0.0711     0.0497su-33        230          2          1          0      0.595      0.303an-70        230          2      0.838          1      0.995      0.721tu-22        230         98      0.969      0.939      0.986      0.653
Speed: 0.1ms preprocess, 1.4ms inference, 0.0ms loss, 1.2ms postprocess per image
Results saved to runs\detect\train6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型PEFT

目录 一、PEFT的关键概念和方法 部分参数微调 概念 方法 优势 适配器&#xff08;Adapters&#xff09; 方法 优势 低秩分解&#xff08;Low-rank Factorization&#xff09; 方法 优势 差分微调&#xff08;Delta Tuning&#xff09; 方法 优势 多任务学习&…

政策及需求多因素驱动下 中国适老化改造市场空间大

政策及需求多因素驱动下 中国适老化改造市场空间大 适老化改造是为了提高老年人居住环境的舒适度和安全性&#xff0c;满足老年人居住需求进行的建筑改造&#xff0c;根据住房和城乡建设部城市建设司发布的《城市居家适老化改造指导手册》可以将适老化改造分为基础性改造和提升…

【linux】新增磁盘的使用

查看硬盘和分区信息 【Linux】lsblk 命令使用-CSDN博客 lsblk 根据您提供的lsblk命令输出&#xff0c;我们可以看到系统中的块设备及其分区信息。以下是对每个设备的解释&#xff1a; vda&#xff1a;这是一个大小为40G的磁盘设备。 vda1&#xff1a;这是vda磁盘的第一个分区…

Python学习---基于TCP协议的网络通信程序案例

TCP简介&#xff1a; ●TCP 面向连接、可靠的、基于字节流的传输控制协议 ●TCP的特点 ○面向连接 ○可靠传输 ■应答机制 ■超时重传 ■错误校验 ■流量管控 ●TCP通信模型 TCP严格区分客户…

智慧展厅设计的难点有哪些

1、运用先进的展示技术 将全息影像、三维投影、虚拟现实、人机互动等技术做做完美衔接&#xff0c;把展厅的内容展示做到丰富多彩&#xff0c;从而让展厅富有科技感和艺术性。 2、内容要生动有趣 从而更好地吸引参观者。展厅设计师要与客户有良好深入的沟通&#xff0c;搜集与整…

TP6 模型批量插入获取插入的自增ID

在TP框架中&#xff0c;数据插入 添加一条数据,返回添加成功的条数 $data [foo > bar, bar > foo]; Db::name(user)->save($data); // 或者 Db::name(user)->insert($data); 批量添加 $data [[foo > bar, bar > foo],[foo > bar1, bar > foo1],[…

无人机的相关基础知识(看不懂了 待定以后继续补充)

视频&#xff1a; 【浙江大学】浙大博导带你从0制作无人机_哔哩哔哩_bilibili 什么是无人飞行器 无人机自主导航构架 IMU&#xff08;加速度计和陀螺仪&#xff09;&#xff0c;可以测出当前的 加速度和角速度 这俩信息再去融合外部传感器 &#xff08;例如视觉传感器或者雷…

YoloV9实战与改进——专栏目录

摘要 &#x1f525;&#x1f680;本专栏教你如何嗨翻Yolov9&#xff01;&#x1f680;&#x1f525; &#x1f680;炸裂升级&#xff1a;嗨&#xff0c;小伙伴们&#xff01;这里有一波Yolov9的升级大招&#xff0c;带你领略最新论文的精华&#xff01;&#x1f4a5; 什么注意…

lenovo联想小新Pro 16 APH8 2023款(83AR)笔记本电脑原装出厂Windows11系统镜像安装包下载

恢复出厂开箱状态OEM预装win11系统&#xff0c;自带恢复重置初始化还原功能 下载链接&#xff1a;https://pan.baidu.com/s/1n_mPM4ZrLPrmXpCTukuyCQ?pwdmnwj 提取码&#xff1a;mnwj 联想原装系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、Office办公软件、联想…

王安石,变革年代的文学巨匠

王安石&#xff0c;字介甫&#xff0c;号半山&#xff0c;生于北宋真宗天禧五年&#xff08;公元1021年&#xff09;&#xff0c;卒于哲宗元佑元年&#xff08;公元1086年&#xff09;&#xff0c;享年66岁。他是中国历史上杰出的政治家、思想家、文学家和改革家&#xff0c;其…

2024年电工杯A题论文首发+摘要分享+问题一代码分享

问题一论文代码链接&#xff1a;https://pan.baidu.com/s/1kDV0DgSK3E4dv8Y6x7LExA 提取码&#xff1a;sxjm --来自百度网盘超级会员V5的分享 园区微电网风光储协调优化配置 摘要&#xff1a;园区微电网由风光发电和主电网联合为负荷供电&#xff0c;为了尽量提高风光电量的…

python ofd转pdf及图片

本文部分内容参考&#xff0c;如有侵权请联系删除&#xff1a;使用 easyofd 解析ofd 文件_python模块easyofd如何使用-CSDN博客 背景需求&#xff1a;需要将邮箱中得ofd格式发票提取出来转换成pdf或者图片。 在网上搜了发现使用pyofd包&#xff0c;安装之后使用各种问题&…

.NET 一款兼容Exchange获取密钥的工具

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

电商平台的消费增值模式革新

在当今的电商市场&#xff0c;用户留存和粘性是各大平台竞相追求的目标。而消费增值模式&#xff0c;以其独特的激励机制&#xff0c;正逐渐成为电商平台吸引和留住用户的新策略。 一、消费即投资&#xff1a;创新的返利机制 在传统的电商消费中&#xff0c;消费者完成交易后&…

小阿轩yx-FTP文件传输服务

小阿轩yx-FTP文件传输服务 协议 用来上传和下载实现远程共享文件统一管理文件 原理 控制文件的双向传输&#xff0c;是一个应用程序工作在TCP/IP协议簇的提高文件传输的共享性和可靠性使用C/S模式的工作方式连接同时处理服务器和客户端的连接命令和数据传输将命令和数据分…

【NumPy】NumPy实战入门:线性代数(dot、linalg)与随机数(numpy.random)详解

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

Modular RPG Hero PBR

-掩码着色着色器提供了无限的颜色变化。(适用于标准/HDRP/URP 11.0.0) -为剑与盾/双剑/双剑姿态提供了简单的角色控制器。(不包括弓和魔杖控制器)(它是用旧的输入系统建造的) -HDRP/URP(11.0.0)SRP 100%支持常规着色器和遮罩着色着色器(基于着色器图形) -具有许多模块…

rtk技术的使用, test ok

1. 什么是gnss 2 rtk定位

五分钟部署开源运维平台Spug结合内网穿透实现远程登录管理

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件…

C语言中的 ?: :三元运算符详解

C语言中的 ?: &#xff1a;三元运算符详解 在C语言的浩瀚代码海洋中&#xff0c;三元运算符&#xff08;?:&#xff09;如同一位优雅的舞者&#xff0c;以简洁的姿态完成条件判断与赋值的双重任务。它以问号&#xff08;?&#xff09;和冒号&#xff08;:&#xff09;这两个…