TPAMI 2023:When Object Detection Meets Knowledge Distillation: A Survey
摘要
目标检测(Object Detection,OD)是计算机视觉中的一项关键任务,多年来涌现出了众多算法和模型。尽管当前 OD 模型的性能有所提升,但它们也变得更加复杂,由于参数规模庞大,在工业应用中并不实用。为解决这一问题,2015 年知识蒸馏(Knowledge Distillation,KD)技术被提出用于图像分类,随后因其能够将复杂教师模型所学知识转移到轻量级学生模型中,而被扩展到其他视觉任务。**本文对近年来基于 KD 的 OD 模型进行了全面综述,旨在为研究人员提供该领域近期进展的概述。**我们深入分析了现有工作,强调其优势和局限性,并探索未来研究方向,以启发相关任务模型的设计。我们总结了设计基于 KD 的 OD 模型的基本原理,描述了相关的基于 KD 的 OD 任务,包括轻量级模型的性能提升、增量式 OD 中的灾难性遗忘、小目标检测以及弱 / 半监督 OD。我们还分析了新颖的蒸馏技术,即不同类型的蒸馏损失、教师和学生模型之间的特征交互等。此外,我们概述了基于 KD 的 OD 模型在特定数据集(如遥感图像和 3D 点云数据集)上的扩展应用。我们比较和分析了不同模型在几个常见数据集上的性能,并讨论了解决特定 OD 问题的有前景的方向。
Section II:The Categorization of KD-based Object Detection (OD) Methods
A. KD-based OD Methods Based on Different OD Tasks
(1) Novel KD-based OD Models for Conventional OD Tasks
传统的目标检测模型主要用于检测自然图像中大量常见的目标,引入知识蒸馏是为了获得性能更优的轻量级学生模型。然而,人们也设计出了许多使用基于知识蒸馏的传统目标检测模型的新方法。例如,一些方法采用基于对抗学习的策略,使学生模型能更精准地从教师模型中学习知识,而其他方法则设计了相关的损失函数来缩小学生模型与教师模型之间的差距。
(2) KD-Based OD Models to Solve Specific Problems
学术界已经提出了几种基于知识蒸馏(KD)的目标检测(OD)模型来解决特定的 OD 问题。例如,为了解决小目标检测(S - OD)问题,使用高分辨率图像在教师模型中进行知识蒸馏(跨分辨率知识蒸馏);为提高学生模型在低光照条件下的 OD 性能,将多模态信息引入教师模型(跨模态知识蒸馏)。此外,利用注意力机制的 KD 分支,结合不同网络层之间的高分辨率图像和特征蒸馏模块,来解决遥感图像中的多尺度 OD 问题。而且,出现了新的类别,模型更新过程中的灾难性遗忘问题也得到了考虑;通过引入金字塔网络和先验知识,还额外提出了相关的基于增量式 KD 的 OD 方法。
KD 也被引入到三维 OD 和基于视频的 OD 任务中,取得了更好的性能。此外,基于 KD 的弱监督 OD 也是一项特定的 OD 任务。虽然现有的相关工作主要关注如何使用不同的 KD 策略来提高模型性能,但对模型压缩的关注较少。因此,我们回顾了相关工作,包括如何引入语义信息、利用未标记图像以及设计相关策略来提高相应的 OD 模型性能。除了上述基于 KD 的 OD 模型,还有许多其他基于 KD 技术的扩展 OD 任务,包括关系检测、人 - 物交互(HOI)检测、车道检测、人脸检测、人物搜索、对象分割等。
B. KD-Based OD Methods Based on Different KD Strategies
视觉任务中使用的知识蒸馏(KD)策略多种多样。新颖且优化的 KD 策略能够显著提升知识转移和知识学习的效果。在这些基于 KD 的目标检测(OD)方法中,已经提出了多种先进的 KD 策略来提高 OD 模型的性能。例如,一些方法通过在教师模型和学生模型的不同网络层进行特征蒸馏来转移知识,并且设计了各种网络结构,使教师模型和学生模型能够从多模态数据中学习特征。此外,类似于人类教学活动,通过设计多个教师模型共同或逐步训练一个学生模型,可以提高学生模型的性能。教师模型和学生模型也可以相互学习视觉特征,或者使用各种损失函数进行自特征蒸馏。最后,不同类型的先验知识(对象掩码、语义上下文、文本信息等)可以用作训练轻量级学生模型的指导。
Section III:KD-Based Methodologies
A. The Basic Principles
知识蒸馏(KD)已被引入基于深度学习的目标检测(OD)模型中,用于改进模型压缩和模型性能。一种常见的知识蒸馏方式是使用不同类型的蒸馏损失来引导学生模型学习教师模型的知识。基于知识蒸馏的目标检测模型的一般损失函数可以表示如下:
其中Ldet是目标检测损失函数,Ldis是KD知识蒸馏损失函数,gamma是知识蒸馏的损失权重。
图2展示了基于目标检测(OD)的模型图。
在此,教师网络的输出被用作学生网络的软标签。针对特定的 OD 任务,人们已经提出了各种各样的特征蒸馏模块。然而,对许多现有相关工作中所采用的模型或算法进行综述后发现,基本网络框架依旧是基于 OD 模型来设计的 [49][50][51][52]。因此,我们通过分析将知识蒸馏(KD)技术引入传统两阶段和一阶段 OD 模型所提出的方法,推导出了基于 KD 的 OD 模型的基本原理。
目前,两阶段 OD 模型以 Faster R - CNN 作为主流网络框架,而 YOLO 和 SSD 是经典且应用广泛的一阶段 OD 模型 [16]。因此,当前公开的基于 KD 的 OD 模型是在这些基础的 OD 网络上进行探索的。如公式(1)所示,这些早期基于 KD 的 OD 模型的基本原理在于蒸馏损失函数。基于 KD 的 OD 模型在两阶段和一阶段 OD 网络上的总损失函数可总结如下:
其中Lclass是分类子任务损失函数,Lreg是回归子任务损失函数,Lhint是特征蒸馏损失函数。
值得注意的是,公式(2)仅呈现了蒸馏损失函数的基本形式;为了解决现有基于知识蒸馏(KD)的目标检测(OD)模型所遇到的问题,人们已经提出了众多不同类型的蒸馏损失函数。
此外,为了提高基于 KD 的 OD 模型的性能,人们还探索了各种类型的蒸馏模块、机制和策略。例如,存在多种先验信息引导模块 [21]、多教师网络 [37][53][54]、多模态数据蒸馏网络 [14][35][55]、自蒸馏网络 [38][56][57][58]、弱监督 OD 网络 [28][29][59][60] 等等。本文后续将对这些内容进行更详细的阐述和讨论。
B. Challenges
(1) The Balance Between Model Compression and Performance
知识蒸馏(KD)是一种有效的模型压缩技术,有效的知识转移有助于构建轻量级网络模型;这种轻量级模型更适合具有特定模型效率要求和设备性能限制的实际应用场景 [4][61][62]。复杂网络具有大规模的网络参数和较长的运行时间,这使其不适合此类实际应用 [63]。然而,轻量级网络从大规模复杂数据集中学习有效的视觉特征也具有挑战性 [4]。因此,必须在模型压缩和模型性能提升之间取得平衡。
(2) The Imbalance Between Multi-Modal Data Features
目前,大多数基于知识蒸馏(KD)的目标检测(OD)模型侧重于在图像领域内进行知识转移;只有少数工作尝试从其他模态数据(红外图像、深度图像、文本、指标数据等)中提取额外特征 [19][35][55]。多模态特征的引入对知识蒸馏是有益的。然而,一个更具挑战性的问题是如何处理多模态数据特征之间的不平衡问题。这里的 “不平衡” 是指不同模态的特征维度和语义信息存在显著差异。例如,从视觉数据和指标数据中提取的特征维度就存在明显不同。此外,RGB 图像的文本特征和视觉特征之间的语义特征差距,也使得利用文本信息来指导学生模型的视觉特征学习变得困难。因此,另一个挑战在于如何结合不平衡的多模态特征来引导学生模型进行特征学习 [19][64];需要为学生模型的学习设计新的特征融合机制或多模态信息引导机制。
(3) Designing or Selecting Superior Teacher and Student Models
知识蒸馏(KD)技术被用于将复杂教师模型所学的知识转移到轻量级学生模型中。一个最优的教师模型或者模型组合对引导学生模型的特征学习有着非常有利的影响。因此,教师模型和学生模型的选择对最终学生模型的性能有着非常重要的贡献 [53][65]。然而,由于存在许多用于目标检测(OD)的复杂模型和轻量级模型,针对特定的 OD 问题选择合适的教师模型和学生模型是很困难的。
C. Novel KD-Based OD Models for Conventional OD Tasks
对于传统的目标检测任务,研究人员试图设计出性能更优、模型结构更优化的目标检测方法 / 模型。因此,知识蒸馏(KD)被用于简化传统的目标检测模型(这些模型通常具有大量的网络参数),同时仍确保高检测准确率。此外,通过 KD 技术从多模态数据中提取各种类型的特征和先验知识,以不断提高目标检测模型的性能。
1) Traditional OD Model Compression Using KD
目前,基于卷积神经网络(CNN)的目标检测(OD)模型取得了卓越的性能,并且为了提高检测性能,设计出了越来越复杂、网络参数更多的网络模型。然而,由于性能限制,这些模型并不适合实际应用或在嵌入式设备上运行。因此,知识蒸馏(KD)技术和能够实现可靠性能的轻量级 OD 模型是解决这些问题的不错选择。在 KD 最初被引入时,很少有作品将其应用于 OD [66]。大约在 2017 年,许多基于 KD 的 OD 模型开始被提出,其主要动机是开发轻量级网络模型。Li等人提出了一种特征模仿架构feature mimic architecture,这可以被视为基于 KD 的 OD 框架的一种特殊情况 [49]。这些早期方法中的大多数旨在通过教师模型和学生模型之间的特征蒸馏或软标签蒸馏来获得压缩模型 [44][63][67][68],而其他一些应用则使用 KD 进行网络预训练 [69]。
一些方法还设计了一些基于知识蒸馏(KD)的目标检测(OD)方法,通过设计不同的类别平衡焦点损失函数来解决类别不平衡问题 [50]。此外,还提出了多尺度特征蒸馏损失函数来处理多尺度 OD 任务 [16],并且也探索了多重 KD,以使学生模型能够从多级特征图中学习特征,从而同时提取低级细节和高级抽象 [70]。2017 年,Chen 等人 [4] 提出了一种基于 KD 的检测模型,这可能是首次尝试将 KD 引入多类别 OD 任务。使用了两种类型的损失函数(加权交叉熵损失和教师边界损失)分别解决类别不平衡和回归组件问题。此外,KD 也可应用于多目标跟踪。例如,在 [71] 中,一个端到端的 KD 框架通过具有共享骨干网络的多任务网络实现多目标跟踪。
此外,这些模型的网络结构有许多相似之处。例如,使用教师模型的软标签进行知识蒸馏是最常见的方法,几乎在所有基于知识蒸馏(KD)的目标检测(OD)模型中都有采用。教师模型和学生模型卷积层之间的特征蒸馏也已被引入,用以提升目标检测性能。
与图像分类不同,目标检测(OD)不仅涉及对象的类别,还涉及对象的位置标签。因此,人们探索了标签分配蒸馏(Label Assignment Distillation,LAD)[72] 和定位蒸馏(Localization Distillation,LD)[73],以进一步提高对象定位的准确性。LAD [72] 是一种简单有效的知识蒸馏(KD)方法,可应用于大多数目标检测器。LAD 让学生模型使用教师网络间接从教师模型中学习知识,以生成和分配软标签,这与传统 KD 方法采用的途径有很大不同。值得注意的是,定位模糊在 OD 任务中普遍存在;因此,Zheng 等人 [73] 将蒸馏学习引入到 OD 网络的定位分支中,利用 LD 来改进对象定位。为了利用对象的位置信息,将教师网络生成的边界框分布蒸馏到学生网络中。因此,为了实现位置信息蒸馏,Zheng 等人 [74] 提出了有价值定位区域(Valuable Localization Region,VLR)的概念,它不同于由标签分配确定的主要蒸馏区域。这些作者设计了一种算法来获取这些 VLR,然后通过区域加权进行定位蒸馏。同样,为了解决由于忽视教师模型和 1 比特学生模型之间的信息差异,传统 KD 在蒸馏 1 比特检测器时效果较差的问题,提出了一种信息差异感知策略(Information Discrepancy - Aware Strategy,IDa - Det)[75]。IDa - Det 可用于根据信息差异选择代表性的候选框对,有利于蒸馏 1 比特检测器。此外,Yang 等人 [76] 考虑了焦点区域和全局区域特征之间的差异,然后将这些不同的特征不均衡地蒸馏到学生模型中。焦点特征图和全局特征图是从教师模型的颈部获得的,并且仅使用在特征图上计算的蒸馏损失进行特征蒸馏。同样使用软标签,Umer 等人 [77] 提出了一种用于显著预测的伪知识蒸馏(Pseudo - KD,PKD)训练方法。PKD 采用经典的 KD 架构,并且教师网络提供的伪标签用于将预测的显著图蒸馏到学生网络中。
上述方法使用单个教师模型对单个学生模型进行知识蒸馏(KD)。随后,引入了使用多个教师模型或学生模型来实现相互 KD 的基于 KD 的目标检测(OD)模型。例如,使用协同学习在多个学生模型之间进行相互 KD [78]。这种方法可以不断提高不同学生网络的泛化能力。它还可以进一步扩展到其他视觉任务,并用于优化多个相关任务的协同学习。
2) Personalized KD-Based OD Models
近年来,为提高目标检测(OD)的性能,研究人员构建了多个计算成本高昂的深度网络,这些网络需要大量存储空间,且运行耗时较长。这些网络复杂的设计也使得它们难以应用于现实场景中,例如在资源有限的设备上执行目标检测任务。解决这些问题的一种有效方法是通过模型压缩将大规模网络整合成轻量级网络 [51]。轻量级的学生模型学习多个教师模型的知识,并利用知识蒸馏(KD)策略对模型进行压缩,以缓解内存问题。值得注意的是,从多个教师模型中整合隐含知识所花费的时间也少得多。特别是,所谓的基于对抗学习策略监督的组装式轻量级网络 [51],提高了推理速度。文献 [79]、[80] 中提出的方法分别将教师模型和学生模型生成的特征图作为正样本和负样本,在教师模型和学生模型之间进行对抗模型训练,以提高学生模型在单阶段目标检测中的性能。还有另一种进行单阶段目标检测并通过对抗训练提升性能的方法 [79]、[81]。有时,如果用于教师模型训练的数据不可用,就会导致数据缺失问题。深度反演是一种从神经网络合成数据以解决该问题的方法。文献 [81] 中提出的方法是一种基于知识蒸馏(KD)的目标检测网络,旨在解决数据缺失问题。该方法通过一种名为 “DIODE” 的模型反演过程从预训练模型中合成图像,然后在这些合成图像上针对目标检测开展知识蒸馏操作。
此外,为了实现快速目标检测(OD),可以应用知识蒸馏(KD)策略将大规模且运行缓慢的教师模型所获取的知识转移到规模更小、运行速度更快的学生模型中 [82]。为了解决有用知识在复杂网络中分布不均的问题,提出了实例条件知识蒸馏(Instance - Conditional KD)[83],它用于定位有用知识,并通过对知识检索的辅助优化来解码知识检索的网络描述。
为了进一步优化目标检测(OD)网络,我们可以从师生关系的角度入手。从教师网络训练的严谨性角度来看,严格训练的教师网络具有更高的准确率。而且,研究人员认为教师应该更具包容性(峰值置信度分布更低)。因此,通过在教师网络中添加额外的损失,学生网络能够更好地学习类别之间的相似性,这有助于防止过拟合 [84]。
此外,众所周知,神经网络的预测结果往往缺乏可解释性;然而,我们有时需要这些解释来理解并能够信任某些系统(如驾驶辅助系统)的决策。目前,研究人员已经尝试参照语义概念来解释神经网络的预测结果。不过,这些方法会改变基础网络,进而影响模型的性能。因此,我们需要在不修改底层网络的情况下提供有意义的解释。为实现这一目标,一种事后可解释的黑箱模型 [85] 被开发出来,它可能是首个不会影响原始性能的生成式知识蒸馏(KD)可解释方法。
此外,李(Lee)等人 [86] 发现了教师模型和学生模型之间的特征不平衡问题,而传统的基于知识蒸馏(KD)的目标检测(OD)模型往往会忽视这一问题。这促使了共享知识编码器(Shared Knowledge Encoder,SKE)的诞生。在此方法下,教师模型和学生模型的多层特征被输入到共享知识编码器中进行统一编码,之后采用辅助解码器进行特征解码,以便利用平衡的特征进行知识蒸馏。
D. KD-Based OD Models for Solving Specific Problems
除了常规的目标检测(OD)任务外,还存在更多特定的检测任务及相关工作,例如小目标检测(S - OD)、遥感图像中的目标检测、增量式目标检测、三维目标检测、基于视频的目标检测、弱监督目标检测以及其他扩展的目标检测任务。在本小节中,我们将对这些特定的检测任务进行概述,并将它们分类整理。
1) Small Object Detection and Light-Limited OD
小目标检测(S - OD)作为目标检测(OD)研究的一个重要分支,有着独特的困难之处,因为待检测目标在图像中所占像素极少,这使得精准检测颇具挑战性。传统的小目标检测模型包括基于图像金字塔的方法、增加小目标数量的方法、多尺度特征融合的方法等等。然而,在基于知识蒸馏(KD)的目标检测模型中,小目标检测问题是通过特征金字塔方法来解决的。蒸馏模型将从高分辨率目标中学到的特征转移到小目标检测模型中,以提升小目标检测的性能。
例如,邓(Deng)等人 [21] 提出了一种扩展特征金字塔网络(Extended Feature Pyramid Network,EFPN),其带有一个专门针对小目标检测的额外高分辨率金字塔层级,并且进一步设计了一个基于关键特征参考的超分辨率(Super - Resolution,SR)模块,名为特征纹理转移(Feature Texture Transfer,FTT),旨在为扩展后的特征金字塔赋予可靠的细节,以便实现更精准的小目标检测。FTT 使 EFPN 能够学习到更可靠的细节,而引入的跨分辨率蒸馏策略有助于学生模型学习教师模型对目标细节的感知。
另一种助力小目标检测的策略是增加检测样本的数量 [87]。此外,赵(Zhao)等人 [87] 通过引入轻量级特征金字塔网络(FPNLite)进一步提升了小目标检测的性能,该网络能够确保网络始终聚焦于小目标底部更详细的信息。不过,他们所采用的知识蒸馏方法主要是用于优化模型性能,而且这些方法大多使用常规的蒸馏策略。然而,较少有方法考虑教师模型和学生模型之间的特征蒸馏;这可能会导致模型轻量化后学生模型的性能出现显著下降。
在目标检测(OD)任务的情境下,另一个问题是在物体处于弱光或恶劣条件下被拍摄时执行目标检测任务。为解决这些问题,基于知识蒸馏(KD)的目标检测方法引入了其他模态的数据(例如光照充足的图像 [22]、红外图像 [14] 以及深度图像 [55] 等等),这样模型就能学习到更多辅助检测信息,从而提高检测性能。
一种新的非局部特征聚合方法被引入到基于知识蒸馏的目标检测中,以助力弱光图像的目标检测 [22]。该方法将光照充足的图像作为教师模型的输入,并通过师生模型的知识蒸馏对特征进行正则化。学生网络能够模仿预训练的教师模型,学习到更有效的非局部特征信息。
此外,热成像图像 [14] 和深度图像 [55] 也被引入到基于知识蒸馏的目标检测模型中。深度图像的获取不受光线影响,这意味着在弱光图像的目标检测中,深度图像能够辅助网络从深度图像的模态数据中获取有效信息 [55],进而提升目标检测性能。
不同类型的模态数据被引入基于知识蒸馏的目标检测框架中,多模态数据可用于学习关于待检测对象更全面且有效的信息。例如,在 [35] 中,四种多模态数据(RGB 图像、热图、深度图像和音频)被同时引入基于音频数据的目标检测框架。随后引入了一个自监督的多模态蒸馏网络(MM - DistillNet)框架;该框架包含多个教师模型,它们利用不同的图像模态同时挖掘互补线索,并将知识蒸馏到单个音频学生网络中,而音频学生网络仅以声音作为输入来检测和跟踪视觉框架中的对象。因此,[35] 中的工作提出了基于音频信号而非图像的蒸馏学习目标检测,使其独具特色。
2) KD-Based OD in Remote Sensing Images
到目前为止,已经开发出了一系列针对遥感图像设计的目标检测(OD)方法。知识蒸馏(KD)也已被引入到这一领域,用于解决多尺度、多分辨率以及多方向目标检测的相关问题。
首先,在对遥感图像进行目标检测(OD)时遇到的一个常见问题与多尺度目标的特性有关。为解决这一问题,相关的基于知识蒸馏(KD)的目标检测模型将包含清晰或高分辨率目标的大规模遥感图像用作教师模型的训练数据,而将包含小规模或低分辨率目标的遥感图像用作学生模型的训练数据。
一些相关的基于 KD 的目标检测模型在不同层进行特征蒸馏 [16][24][88],针对不同卷积层的多尺度特征蒸馏设计了相应的损失函数,以助力基于 KD 的多尺度目标检测 [24],还设计了一些特征蒸馏模块及相应的损失函数,用于在教师模型和学生模型的多个卷积层之间进行知识转移 [89]。
此外,基于特征金字塔网络的目标检测蒸馏模型也是解决遥感图像中目标尺度不一致问题的一种好方法。例如,陈(Chen)等人 [23] 提出的方法处理了增量式目标检测问题(该问题需要应对遥感图像中新对象的出现 [90]),并且还设计了一个特征金字塔网络来解决遥感图像中存在的多尺度对象问题。该金字塔网络也被应用于检测无人机(Unmanned Aerial Vehicle,UAV)图像中的多尺度对象 [91]。
一般来说,大尺寸对象在网络中能获得更好的激活值。因此,刘(Liu)等人 [91] 在教师模型和学生模型之间进行了不同尺度的交互特征学习,并设计了一个位置感知的 L2 损失函数,以促进教师模型和学生模型的联合训练。通过这种方式,大尺寸对象的跨尺度特征能够被引入到学生模型中。此外,还设计了特征蒸馏模块及相应的损失函数,用于在教师模型和学生模型的多个卷积层之间进行知识转移 [89]。这些蒸馏模块全面考虑了教师模型中多个卷积层的多尺度特征,并将它们蒸馏到学生模型的某一层,从而实现多尺度特征蒸馏。
遥感目标检测的第二个相关问题是多方向的目标检测(OD)。例如,文献 [92] 中的研究致力于解决学生模型能够检测多个方向和角度的目标这一问题。使用了一种辅助损失函数来帮助学生模型学习教师模型中处理过的多方向目标的视觉特征。
此外,陈(Chen)等人 [9] 尝试通过将非对称卷积模块(Asymmetric Convolution Module,ACM)引入 YOLOV3 来解决这一问题,并提出了 Tiny Yolo - Lite 模型。Tiny Yolo - Lite 是通过网络剪枝和知识蒸馏(KD)对 YOLO 进行压缩得到的;在这里,知识蒸馏旨在补偿由网络剪枝导致的性能下降,并提高模型的泛化性能。与文献 [9] 中采用的模型压缩方法类似,文献 [6] 中的方法同样使用模型剪枝进行模型压缩,并用知识蒸馏进行知识转移以提升模型性能。这两种方法针对模型剪枝采用了相似的自适应剪枝策略,但网络剪枝的策略有所不同。对于文献 [93]、[94] 中的方法,相关网络的设计旨在解决遥感图像中多方向目标检测的问题。它们使用常见的知识蒸馏技术,通过利用特征和预测蒸馏损失函数来获得轻量级的目标检测模型。
此外,自注意力机制被引入到蒸馏学习模型中。例如,柴(Chai)等人设计了一种名为**双向自注意力(Bidirectional Self - Attention,Bi - SAD)**的新方法 [18],用于处理遥感图像中的自动云检测问题。Bi - SAD 在不同层级进行特征蒸馏,能够通过自蒸馏学习提取云的纹理和语义信息,从而提高遥感图像中云检测的性能。
为优化轻量级遥感目标检测器,有人提出了两个蒸馏模块,用于对多尺度特征进行蒸馏,并为学生模型提供更精确的回归结果 [95]。
然而,尽管遥感图像中有时可能会出现跨域目标检测(OD)的情况,但现有的方法中很少考虑如何利用知识蒸馏(KD)技术来解决这一问题 [90]。此外,增量式目标检测任务常在遥感图像的背景下出现,而大多数用于执行这些增量任务的现有方法的检测性能在很大程度上取决于旧任务样本和新添加任务样本之间视觉特征的相似性。最后,现有的知识蒸馏算法很少考虑回归分支。如果提出更多的知识蒸馏策略来优化回归分支,轻量级学生模型的性能将会得到提升 [6]。
3) KD-Based Incremental OD
近年来,随着深度学习方法应用的日益增多,目标检测(OD)的性能得到了显著提升。然而,传统的目标检测方法需要对大量图像数据进行标注;因此,当出现一个新的对象类别时,由于没有可用的标注信息,原模型无法检测到这个新类别 。
解决这种新对象类别检测问题的一种简单方法是对该新类别的相关数据进行标注,然后在添加标注数据后使用整个数据集对整个网络进行训练;不过,这种方法的计算成本非常高。还有另一种对原模型进行微调的方法,即应用增量学习,这被称为增量式目标检测。
然而,存在一个名为 “灾难性遗忘” 的问题,即模型学习新类别对象的特征后,在模型微调后旧对象类别的检测效果会急剧下降。原因在于网络权重、网络参数以及网络提取的相关特征倾向于检测新类别对象,却 “忘记” 了旧对象类别的特征信息。我们可以相应地通过使用知识蒸馏(KD)策略来缓解灾难性遗忘问题,该策略能将知识从初始网络迁移到增量网络 [96][97]。
图 3 展示了基于知识蒸馏(KD)的增量式目标检测(OD)的基本模型结构。为缓解增量式目标检测中的遗忘现象,文献 [98][26] 中提出了基于快速区域卷积神经网络(Faster R - CNN)的增量式目标检测模型。
为通过防止旧类别对象的预测发生变化来减少特征遗忘,刘(Liu)等人 [47] 使用了一种连续通用检测器,它能够在不同区域持续学习而不会遗忘。通过设计若干损失函数以及置信度损失,还实现了一个端到端的增量学习目标检测模型,以便最大程度地保留旧数据信息。
随后还提出了类别增量式快速区域卷积神经网络(Class - Incremental Faster R - CNN,CIFRCN)模型 [98],该模型能够利用少量带标注图像动态添加新类别。在 CIFRCN 中,区域生成网络(RPN)的前景域得以扩展,以生成精确的边界框候选区域。快速区域卷积神经网络(Fast R - CNN)中的分类器通过知识蒸馏进行扩展,以提高候选区域分类的准确性。
同样,董(Dong)等人 [99] 也引入了常用的知识蒸馏策略来解决增量式目标检测模型中的灾难性遗忘问题。
注意力特征蒸馏(Attentional Characteristic Distillation,AFD),旨在利用注意力蒸馏的优势,同时避免两种方法的缺点,即同时使用自上而下(Top - Down,TD)和自下而上(Bottom - Up,BU)的注意力映射来过滤噪声信息。自下而上的注意力能够捕捉输入图像的关键上下文信息,可用于引导当前模型模仿先前模型的注意力特征。
此外,文献 [26] 中提出了一种基于快速区域卷积神经网络(Faster R - CNN)的新型增量目标检测器,它能够在不使用旧数据的情况下持续学习新类别对象的特征。在该方法中,借助旧模型和残差模型,设计了一个三分支网络结构,以帮助增量模型在新阶段学习对象的视觉特征,同时不会遗忘现有知识。
同样,杨(Yang)等人 [100] 提出了一个由旧模型和增量模型组成的双网络结构,并尝试将从旧类别对象中学到的知识转移到新模型中,以便检测新的对象类别。
增量学习与知识蒸馏(KD)相结合的策略也可应用于遥感图像中的目标检测(OD)[101]。基于遥感图像尺寸各异且类别丰富这一特点,文献 [23] 中提出了一种基于特征金字塔网络(Feature Pyramid Network,FPN)和知识蒸馏(KD)的增量式目标检测架构;这可能是遥感领域中关于增量式目标检测的首项研究工作。该方法利用特征金字塔网络来检测不同尺度的目标,在特征金字塔网络的最后一层添加一个新分支用于检测新类别,并对旧分支的输出进行知识蒸馏。通过实施这些操作,模型能够保持学习旧类别特征的能力。
此外,自动售货机也是一个重要的应用场景。例如,在 [102] 中,构建并公开了一个用于增量式目标检测的大型零售图像数据集,还提出了一种基于 ftP - RCNN 的增量目标检测器(FCIOD)。引入了一种图像级示例管理策略,以防止增量学习中的遗忘问题。样本集的大小是固定的:模型最多可以访问之前训练数据中的 K 张图像。
知识蒸馏(KD)有助于模型减少遗忘,但也会减缓对新类别的适应速度。为解决这一问题,约瑟夫(Joseph)等人 [27] 提出了一种用于目标检测(OD)的元学习方法。在该方法中,在模型学习期间通过先决prerequisite梯度更新自动在增量任务间共享特征信息。所提出的方法不仅有助于模型保留旧知识,而且具备适应新类别的灵活性。元学习增量目标检测器的性能优于当前其他方法。它制定了一个新的损失函数,通过学习一组通用的梯度方向来对抗因知识蒸馏导致的顽固性,从而缓解 “灾难性遗忘” 问题并提高模型的适应性。
此外,文献 [103] 中利用了更多相关的目标检测任务来共享它们有效的视觉特征。这些共享特征是通过在不同目标检测任务间使用任务感知门针对特定任务进行选择的。
因此,上述讨论的这些方法本质上是试图利用教师模型提取的知识来避免学生模型严重遗忘之前的对象。然而,这些模型(除了文献 [104] 中的方法)很少考虑教师模型出现过度自信的可能性;结果,教师模型的一些错误预测结果可能会对学生模型产生错误引导。韦尔温普(Verwimp)等人 [104] 利用当前的真实标签来判断教师模型的预测结果,然后有选择性地引导向学生模型进行知识转移。
尽管知识蒸馏(KD)技术在很大程度上能够缓解增量式目标检测(OD)任务中检测新类别对象的问题,但现有相关方法仍存在一些局限性。
首先,随着新类别数量的增加,知识蒸馏避免 “灾难性遗忘” 的能力会显著减弱 [97]。其次,如果新类别中的对象数量很少,那么要以最优性能水平检测这些新对象将会是一项颇具挑战性的任务 [23]。最后,现有的方法中很少有考虑同时处理模型的 “灾难性遗忘” 问题以及提高已知类别对象检测性能的。
4) KD-Based 3D OD
近年来,知识蒸馏(KD)在三维目标检测(3D OD)中也得到了广泛应用。大多数基于知识蒸馏的三维目标检测模型旨在利用知识蒸馏获得轻量级的三维模型 [105]。
例如,费利克斯(Felix)等人 [30] 提出了一种在保持精度的同时降低六自由度检测网络复杂度的方法。这些作者利用知识蒸馏来指导一个轻量级卷积神经网络(Convolutional Neural Network,CNN)向一个实时的六自由度检测 CNN 学习。该方法使得实时应用仅使用 RGB 图像的同时降低了硬件要求。
此外,为压缩学生模型的网络参数,有人设计了一种共享自动编码器,将教师模型和学生模型的整体网络参数作为输入参数 [106]。随后,结合压缩表示损失,提取教师模型和学生模型共享的压缩特征参数。
知识蒸馏不仅应用于基于图像的三维目标检测,还应用于基于三维目标检测方法的点云优化。王(Wang)等人 [107] 为点云目标检测设计了一种两阶段训练方法。首先,他们在密集点云上训练一个目标检测模型,该密集点云由多个帧生成,并使用仅在训练期间可用的额外信息。然后,他们在稀疏的单帧点云上训练该模型的对应部分,并对这两个模型的特征进行统一正则化。事实证明,这一过程在不引入额外开销的情况下提高了低质量数据的性能。
在三维目标检测任务中,我们常常需要解决对象尺度不一致的问题。同样,这个问题在三维目标检测任务中也存在。因此,基于知识蒸馏的三维目标检测方法旨在将具有高分辨率体素的三维视觉特征蒸馏到处理低分辨率体素三维对象的学生模型中。例如,在激光雷达蒸馏(LiDAR Distillation)方法 [108] 中,包含不同分辨率体素的三维点云数据被划分为波束;低波束点云可通过对高波束点云进行下采样获得。然后使用多个具有三维网络主干的教师模型,将高波束点云的知识蒸馏到处理低波束点云的学生模型中。
在三维目标检测(3D OD)中,点云被用作检测数据。如果同时考虑相应的二维图像,检测效果会得到提升,而且多模态数据将有助于改进模型。秦(Qin)等人 [31] 考虑使用二维图像进行知识蒸馏(KD),并提出了一种在弱监督条件下检测三维对象点云的方法。尽管该方法在训练时不需要真实的三维边界框,但需要充分利用常见的数据格式(配对图像和点云)来实现弱监督。此外,在从二维图像向三维点云进行知识蒸馏的过程中,秦等人提出了一种跨模态迁移学习方法。这种方法将基于点云的检测网络视为学生网络,从现有的预训练图像识别网络中学习知识,然后以教师网络为媒介,将知识从二维图像转移到3D点云领域,这样可以降低在未标注数据集上进行三维目标检测的标注成本。
同样,索蒂耶(Sautier)等人 [46] 利用基于自监督学习的二维图像中的对象分割和检测结果来获取二维图像表达,之后设计了超像素驱动的对比蒸馏方法,并将其应用于从二维图像到三维点云的三维目标检测任务中。该方法不需要对三维点云数据进行标注,极大地降低了数据标注成本。文献 [31]、[46] 中的方法采用了二维 - 三维这种基于知识蒸馏的三维目标检测模式。文献 [45]、[109] 中提出的其他方法则尝试基于三维点云数据(激光雷达)生成所需的二维图像,然后利用这些生成的二维图像来训练网络模型。接着通过特征级和对象级蒸馏将对象的二维视觉表示蒸馏到三维特征空间中,从而有助于实现更高效的三维目标检测。
现有的大多数基于知识蒸馏(KD)的三维目标检测(3D OD)方法利用知识蒸馏技术来解决三维模型压缩问题,同时也引入了其他模态数据以降低对三维对象进行标注的高昂成本。然而,在三维目标检测任务中(尤其是针对自动驾驶领域),复杂多变的三维场景一直是三维目标检测面临的重大挑战。因此,利用多模态数据并设计优化的知识蒸馏策略,以获取轻量级且高性能的三维目标检测模型,在未来仍将是一个极具挑战性的研究领域。
5) Video-Based OD by Introducing KD
视频比图像更为复杂。截至目前,在该领域开展的研究工作为数不多,在基于视频的目标检测(OD)及相关任务中引入知识蒸馏(KD)有着很大的探索空间。
因为视频数据包含空间视觉信息和时间信息,所以获取视频中包含的时间信息尤为关键。一些研究人员借鉴人类视觉系统(HVS)的特点,人类视觉系统在很大程度上依赖视觉输入帧之间的时间关联性来有效识别视频中的对象。
2019 年,法哈迪(Farhadi)等人 [110] 提出了一个名为时间知识蒸馏(Temporal Knowledge Distillation,TKD)的新框架,该框架可将从选定视频帧上的重型神经网络中提取的时间知识蒸馏到一个轻量级模型里。
当提及人类视觉系统时,难免会让人联想到显著目标检测(Salient OD,SOD),它模拟人类视觉感知系统来定位场景中最吸引人的对象。这种方法已在各类计算机视觉任务中得到广泛应用,但大多应用于图像层面 [111]。
2020 年,朴(Piao)等人将知识蒸馏(KD)应用于显著目标检测,并提出了一种深度蒸馏器(A2dele)[34],其主要灵感源于知识蒸馏和特权信息 [112]。通过 A2dele,**缺失的特权Depth知识能够被传递到 RGB 流中。**传递的知识分为两部分:(1)第一部分旨在实现对传递到 RGB 流预测的像素深度知识的预期控制;(2)第二部分旨在将显著对象的位置知识转换为 RGB 特征。因此,通过在训练期间嵌入 A2dele,就可以实现一个无需深度流的轻量级架构 [34]。
在最新的研究工作中,基于视频数据的独特特性,唐(Tang)等人提出了一种用于视频显著目标检测(SOD)的轻量级网络 [113],在该网络中分别针对空间和时间维度进行知识蒸馏(KD)。
具体而言,在空间维度方面,结合显著度引导的特征嵌入结构与空间知识蒸馏来细化空间特征。在时间维度上,通过引入基于注意力的推断帧特征编码模块,提出了一种时间知识蒸馏策略。结合时间蒸馏,序列信息能够从相邻帧充分传播到当前帧。这一策略使得网络能够通过推断帧特征编码来学习鲁棒的时间特征,并且可以从相邻帧中提取特征。
6) KD-Based Weakly Supervised OD
在传统的目标检测(OD)任务中,数据标注成本非常高,这推动了弱监督目标检测(Weakly Supervised OD,WSOD)的发展。近年来,一些研究人员将知识蒸馏(KD)策略应用于弱监督目标检测和半监督目标检测中,通过提高提取特征的质量来进一步提升模型的准确性。
典型应用包括张(Zhang)等人在 2021 年提出的类别感知目标检测网络(Class - Aware Object Detection Network,CADN),用于解决表面缺陷检测问题 [28]。该网络仅使用图像标记进行训练,同时实现图像分类和缺陷定位。为协调实时性能与准确性,采用了知识蒸馏策略,以确保更轻量化的 CADN 具备与规模更大的 CADN 相似的特性,这意味着轻量化的 CADN 在提高准确性的同时能够保持较高的实时性能。
文献 [114] 中提出的一种新的半监督目标检测公式,使用少量的种子框级标注以及大量的图像级标注来训练检测器。曹(Cao)等人 [115] 也发现教师模型和学生模型学习到的微小异常对象的特征呈现出很大的相似性。随后将半监督学习引入基于弱监督学习的微小目标检测中,并利用少量异常样本的真实标签来增大异常对象与正常对象之间的特征差异,从而提升了异常微小目标检测的性能。
值得注意的是,在数据挖掘过程中会引入大量的标注噪声,这对测试结果有着严重的负面影响。因此,有人提出了一种新的抗噪声集成区域卷积神经网络(Anti - Noise Integrated RCNN,Note - RCNN)目标检测器来应对噪声问题。使用两个分类头和一组蒸馏头来避免过拟合噪声标签以及假阴性标签带来的危害。训练时的框回归头只标记种子,消除了挖掘框边界不准确带来的危害。
此外,文献 [59][60] 也开展了相关研究。通过将教师数据与真实数据分离,研究人员解决了之前目标检测细化策略过于依赖教师模型和真实标签可用性的问题。这种方法的关键在于,基于观测对象的检测涉及非极大值抑制(Non - Maximum Suppression,NMS)步骤。
然而,弱监督目标检测(Weakly Supervised OD)的准确性仍有待提高,存在以下问题:首先,由于仅有图像级标签可用,弱监督目标检测(WSOD)检测器往往会检测到更显著的对象以及对象的不同部分;其次,WSOD 中的对象位置信息严重不足。
文献 [29] 解决了第一个问题,其中利用对 WSOD2 框架进行对象级细化,并结合自下而上的对象证据以及自上而下的分类可靠性评分,设计了自适应训练策略和边界框回归器。
同样,一个同样关注组合对象局部特征的弱监督目标检测模型,采用常见的知识蒸馏(KD)策略来获取用于组合目标检测的轻量级学生网络 [116]。文献 [117] 中提出的综合注意力自蒸馏(Comprehensive Attention Self - Distillation,CASD)机制也可用于此情境。为平衡所有对象实例的特征学习,CASD 会计算从同一图像的多个变换和特征层聚合而来的组合注意力。为保持对所有对象一致的空间监测,CASD 对弱监督目标检测网络进行自提取,以确保对同一图像的不同变换结果给予一致关注。通过这种方式,弱监督目标检测的检测性能能够得到进一步提升。文献 [118] 中提出的一个名为空间似然投票与自知识蒸馏网络(Spatial Likelihood Voting and Self - KD Network)的弱监督目标检测框架也可用于该目的。
此外,还提出了一种基于空间似然投票(Spatial Likelihood Voting,SLV)的自知识蒸馏(Self - Knowledge Distillation,SKD)模块,用于细化给定图像的特征表示。在此方法下,由空间似然投票生成的似然图被用于监督主干网络的特征学习。这样一来,主干网络能够聚焦更广泛的区域,进而提升检测模型的性能。
针对第二个问题(即弱监督目标检测中对象位置信息严重不足的问题),近年来的解决办法是使用多实例检测网络(Multi - Instance Detection Network,MIDN),它从候选实例中选出最佳实例,然后基于相似性对其他实例进行聚合。文献 [119] 中的研究发现,通过选择更好的聚合标准能够极大地提高检测器的准确性。于是,泽尼(Zeni)等人在 2020 年提出了一种改进的知识蒸馏方法,通过对现有方法进行额外改进来提升基于在线实例分类与回归(Online Instance Classification and Regression,OICR)的性能,该方法被命名为增强型在线实例分类与回归(Boosting - OICR,BOICR)。
这种将知识蒸馏(KD)策略与弱监督学习相结合的方法常常与多标签图像分类 [120]、短语定位 [19] 以及三维目标检测(3D OD)[31] 联合使用。
文献 [120] 率先将知识蒸馏应用于多标签图像分类。随后提出了一个基于多知识标签的深度图像分类框架。首先设计了一个弱监督检测(Weakly Supervised Detection,WSD)模型,之后利用弱监督检测知识引导教师分类模型构建一个基于预测和对象级视觉特征的图像分类框架及校正模块,以此提升了分类效果。
对于基于短语的问题,需要从图像 - 语句对中学习区域 - 短语对。文献 [19] 设计了一个对比学习框架并实现了一个目标检测器,该检测器能够提取图像区域中弱监督的短语定位信息。其新颖之处在于学习了一个区域短语评分函数和图像语句评分函数,该函数通过将图像中的每个区域与候选短语进行比较来发挥作用,而无需检测对象。
基于此,文献 [31] 利用配对图像和点云实现了三维目标检测。它提出了一个基于标准化点云密度的无监督三维对象候选框生成模块(Unsupervised 3D Object Proposal Module,UPM)来生成对象候选框,在这种情况下,只识别对象,不区分类别。学生模型将三维候选框向前投影(到二维),经过裁剪后,对候选框进行分类和优化,并利用在图像数据集上训练的教师模型生成最终预测。学生模型还利用感兴趣区域对齐(RoIAlign)层和全连接层生成预测。
尽管知识蒸馏(KD)通过运用各种技术提升了现有弱监督目标检测(OD)模型的性能,但这些目标检测模型实现高检测精度的一个阻碍依旧是样本中对象(尤其是难以检测的对象)的弱标注信息 [29][118]。因此,基于知识蒸馏开展弱监督目标检测的未来研究是很值得探索的。
此外,知识蒸馏技术也应当考虑如何缩小对象的弱标注信息与实际准确标注之间的差距,因为这将有助于提升弱监督目标检测模型的性能 [19]。
7) Extended OD Tasks Using KD
在计算机视觉领域,存在大量相关任务以及扩展的目标检测(OD)任务。例如,车道检测、人脸检测以及行人搜索也都与目标检测任务相关;此外,关系检测和人 - 物交互(HOI)检测也可被视作扩展的目标检测任务。表 II 列出了针对这些任务的相关方法和数据集。当然,可能还存在其他相关的目标检测任务。就目前我们的调研情况来看,知识蒸馏(KD)技术也已成功应用于这些扩展的目标检测任务中。因此,在本节中,我们会对这些相关工作进行简要概述。
车道检测的核心难点在于需要大量成本高昂的标注数据。虽然现有的众多工作已经利用基于主动学习的方法来解决这一问题,但它们的性能并不理想。彭(Peng)等人 [121] 尝试将知识蒸馏(KD)策略引入主动学习中,并相应地设计了一种基于知识蒸馏的主动学习模型来评估数据的不确定性。这种新方法能够有效解决由噪声标签和不恰当的熵所导致的问题。
此外,尽管人脸检测的发展已经较为成熟,但也面临着模型复杂度不断增加的问题。为了在实现轻量化模型的同时保持合理的人脸检测精度,可以利用知识蒸馏。例如,金(Jin)等人 [122] 使用了一种基于知识蒸馏的损失函数来处理类别不平衡的问题,从而提高了轻量级人脸检测器的竞争力。
行人搜索包含行人检测和再识别这两部分,并且还涉及目标查找过程。为了更好地优化行人搜索模型的检测和再识别方面,蒙贾尔(Munjal)等人 [123] 提出了一种基于知识蒸馏的端到端行人搜索模型,该模型将知识蒸馏应用于监督模型训练。
视觉关系检测旨在检测对象之间的关系,以便更深入地理解图像。关系检测需要先定位图像中的对象,然后识别它们之间的关系。然而,对象之间复杂的相互作用以及缺乏充足可用数据导致关系检测结果不尽如人意。
为改善这些结果,知识蒸馏(KD)策略被引入到视觉关系检测中。例如,为解决对象关系语义空间大以及可用的模型训练数据量较少的问题,于(Yu)等人 [15] 使用一种数据挖掘方法从训练标注和公开可用文本中提取语言知识,然后将提取的语言知识蒸馏到学生模型(一个端到端的深度神经网络)中,以便从视觉和语义表示来预测视觉关系。
同样,由于图像中对象交互复杂,常用的视觉模型在学习每个谓词的知识时表现不佳。随后,一种基于空间特征统计的知识蒸馏方法被用于从预计算模型和训练标注中蒸馏语义知识,这有助于视觉模型评估对象对的相关性。因此,基于知识蒸馏的方法主要用于从多模态数据中提取语义信息,随后我们可以将这些语义信息蒸馏到对象关系检测模型中,以提高这些视觉模型理解对象间语义关系的能力。
与人 - 物交互(HOI)检测类似,它也需要先定位视频中的人和对象,然后检测它们之间的相互作用。为获得更好的人 - 物交互检测结果,在考虑人与对象之间的相互作用时,也应当考虑场景信息。穆蒂克(Moutik)等人 [125] 使用深度神经网络(如 AlexNet、VGG 或 ResNet)进行场景识别以提取场景信息,然后通过知识图谱神经网络将该场景信息转移到人 - 物关系检测任务中。知识蒸馏技术引入的场景信息显著提高了人 - 物交互检测模型的性能。
此外,语言知识也被蒸馏到人 - 物交互检测模型中 [126]。一个预训练的视觉和文本模型被用作教师模型,从视觉和文本数据中提取交互关系知识,以引导基于 Transformer 的学生人 - 物交互模型更好地检测所提供图像中潜在的(未见过的)关系。
总体而言,无论是常规的、特定的还是扩展的目标检测(OD)任务,知识蒸馏(KD)技术 / 策略都可用于提升目标检测模型的性能,或者通过知识转移来获取轻量级的目标检测模型。因此,我们认为在未来,知识蒸馏可能会成为解决目标检测模型局限性的一种主流趋势。
E. OD methods/models Based on Different KD Strategies
在第三章节的 D 节中,我们已经基于不同类型的目标检测(OD)任务对基于知识蒸馏(KD)的目标检测方法 / 模型进行了综述。然而,我们也可以认为这些相关工作是依据不同的知识蒸馏策略来设计的:其中包括使用软标签和蒸馏损失的常规方法,以及其他一些基于特征蒸馏、多教师蒸馏、自特征蒸馏、特定信息引导等的方法。在本节中,我们将从不同知识蒸馏策略的角度来分析和综述相关的基于知识蒸馏的目标检测模型。
1) Methods Using Distillation Loss and Soft Labels
目前,运用不同类型的蒸馏损失和软标签是常见的基础知识蒸馏(KD)策略 [127][128][129]。经典的知识蒸馏损失可分为两部分:目标类知识蒸馏(Target - Class Knowledge Distillation,TCKD)和非目标类知识蒸馏(Non - Target Class Knowledge Distillation,NCKD)。此外,目标类知识蒸馏和非目标类知识蒸馏的耦合限制了平衡这两部分的灵活性,并抑制了知识转移的有效性,因此在知识蒸馏过程中需要进行解耦知识蒸馏(Decoupling Knowledge Distillation,DKD)[130]。
另外,教师模型输出的软化概率被称为软标签 [122][131],相较于硬标签,软标签能为学生模型提供更丰富的信息,使轻量化的学生模型能够取得更好的性能。
在本节中,我们整理了采用基于蒸馏损失和基于软标签的知识蒸馏策略的相关工作,分析了这些方法的基本原理,并指出了其缺点与面临的挑战。图 4 展示了基于知识蒸馏的目标检测(OD)模型的详细结构以及不同类型损失的运用情况,同时为解决特定的目标检测问题还设计了更复杂的网络结构。
1.1 Distillation Loss-Based KD for OD
在传统的基于知识蒸馏(KD)的视觉任务中,合理运用蒸馏损失能够显著提升学生模型的性能 [44][126][133][132]。在常用的基于知识蒸馏的目标检测(OD)模型中,可使用传统的交叉熵损失来优化学生模型 [102][134]。
由于目标检测模型在追求高性能的过程中会引入大量计算,刘(Liu)等人提出了一种基于互信息的损失函数,其目的是使学生模型学习到的特征更接近教师模型学习到的特征 [135]。
此外,阿米克(Amik)等人 [136] 针对目标检测提出了动态校正知识蒸馏(Dynamic Corrective Knowledge Distillation,DR - KD)方法。动态校正知识蒸馏将学生模型转变为其自身的教师模型。如果教师模型(也就是学生模型)在引导过程中做出了错误预测,那么在知识学习之前会对该错误进行校正。因此,会不断将逻辑值(logit)与标签进行交叉核对,以确定在蒸馏过程中教师模型所预测的最高逻辑值是否映射到了标签上。动态校正知识蒸馏具备与现有最先进的无教师知识蒸馏框架相当的性能。
此外,人们还设计并优化了新型的蒸馏损失,以提高目标检测(OD)模型的准确性 [99][137]。
例如,引入focal损失及其变体来解决标签不平衡的问题 [63],而类别平衡焦点损失则被用于解决类别不平衡以及正负样本之间不平衡的问题 [50]。同样,加权交叉熵损失被设计用于解决类别不平衡的问题 [4]。
也可以通过引入注意力机制来设计蒸馏损失 [138]。比如,设计一种带有注意力机制的损失函数,使目标检测器能够从少量样本中学习到强映射关系,进而提升目标检测器检测前景的能力 [139]。
这些方法通常通过最小化与任务相关的损失和知识蒸馏损失来指导学生模型的训练,这就需要损失权重来平衡这些损失函数的两项。然而,选择合适的权重是非常困难的。因此,有人提出了一种逐步知识蒸馏(Step - wise Knowledge Distillation,SSKD)策略,它通过将教师模型中的有用知识转移到学生模型中进行操作,而非使用真实标签。这种知识蒸馏训练策略避免了对损失权重选择的需求 [140]。
改进损失函数的另一种方式是联合优化旧分支的蒸馏损失和新分支的检测损失 [23]。例如,为避免基于知识蒸馏(KD)的增量目标检测(OD)模型中出现灾难性遗忘,使用改进后的交叉熵损失来替代硬真实标签;此外,对旧类别上的蒸馏损失和新类别上的交叉熵损失进行联合优化,使得模型能够对新旧类别都实现良好的预测 [141]。
而且,组合多种蒸馏损失函数是提高基于知识蒸馏的目标检测模型性能的另一种好方法 [25][65][81]。例如,在基于三重残差网络的增量目标检测器中 [26],将两级残差蒸馏损失和联合分层蒸馏损失相结合,这使得能够区分新旧类别之间的特征,同时也分别保留了从新旧类别中学到的知识。
1.2 Soft Label-Based KD for OD
为提高学生模型的性能并降低其对真实标签的依赖,相关工作通常利用教师模型输出的软标签或伪标签来引导学生模型 [16][19][78]。
此外,若要成功地将教师模型的预测用作学生模型的软标签,我们还应当知道如何合理分配教师模型的标签,甚至是硬标签。例如,文献 [72] 中的 LAD 方法能够利用轻量化的教师模型显著提升学生模型的性能,而且事实上学生模型的性能会优于其教师模型。LAD 需要一个经过训练的教师为其学生提供指导(软标签和硬标签)。但在实际操作中,很难获得能够提供有效指导信息的优秀教师模型。
因此,张(Zhang)等人 [57] 提出了一种针对目标检测(OD)的自蒸馏框架,名为标签引导自蒸馏(Label - Guided Self - Distillation,LGD),它仅利用对象之间的内部关系就能生成所需的指导信息。
而且,还有一些其他方法尝试通过结合软标签和硬标签来获得更好的目标检测结果 [39][71]。在基于标签引导知识蒸馏的目标检测模型中,伪标签在学生模型的训练中也能发挥重要作用。例如,冯(Feng)等人 [97] 提出了一种自适应伪标签选择策略,利用伪标签有选择性地计算蒸馏损失。学生模型首先利用教师模型的伪标签进行特征学习,然后根据真实标签对网络进行微调。这种知识蒸馏策略不仅能够减少对标注样本的需求 [59][60],而且相较于基于单阶段知识蒸馏策略的传统方法,能实现更高的目标检测性能 [142]。
另外,对于基于知识蒸馏的三维目标检测(3D OD)模型而言,使用带有伪标签的高线束点云来训练学生模型是解决三维样本数据标注成本高昂问题的一种好方法;因此,需要通过对高线束点云进行下采样来生成低线束伪激光雷达(伪 LiDAR)数据 [108]。
2) Feature Distillation for OD
另一种针对中间特征层进行特征蒸馏的知识蒸馏(KD)策略,也能够有效提升目标检测(OD)模型的性能。在本小节中,我们将对嵌入目标检测模型中的不同特征蒸馏策略进行概述,内容涵盖特征蒸馏的基本思路、完全信任特征蒸馏、选择性信任特征蒸馏等等。
一般来说,基于特征蒸馏的方法利用教师模型中间层输出的特征来监督学生模型的训练,以便学生模型能够最大程度地模仿教师模型输出的特征。其思路的本质在于持续优化由教师模型和学生模型特征层的激活函数共同构成的损失函数。因此,是通过使用损失函数训练学生模型来开展特征蒸馏的。郭(Gou)等人 [10] 已经给出了特征蒸馏损失函数的一般表达式:
其中ft(x)和fs(x)分别表示教师和学生模型的中间层输出特征,x表示输入样本。考虑到教师模型和学生模型不同的网络结构可能会导致它们中间层输出特征的尺寸有所不同,会使用一个变换函数 Φ(.) 来对这些特征进行匹配。LF (.) 表示教师模型和学生模型特征之间的损失函数。
根据近年来发表的有关特征蒸馏的相关研究成果,针对目标检测(OD)模型进行特征蒸馏主要采用了两种蒸馏策略:完全信任特征蒸馏和选择性信任特征蒸馏。下面,我们将对这些方法进行详细描述。
2.1 Full Trust Feature Distillation
完全信任特征蒸馏意味着学生模型无条件地从教师模型学习所有知识,而不考虑所要学习的知识是否正确。基于完全信任特征蒸馏的方法可进一步分为全局特征蒸馏和局部特征蒸馏。
全局特征蒸馏是一种学生模型模仿教师模型中间层整个特征图的方法。例如,快速场景文本检测器利用教师模型的所有特征图来指导学生模型的训练 [92]。此外,文献 [115]、[116] 和 [93] 中的相关工作也通过完全信任特征蒸馏策略来设计它们的模型。这些方法本质上是最基本的特征蒸馏策略的应用,它们不对特征图做任何改进,而是简单地引导学生模型直接从教师模型学习所有特征信息。
然而,不加选择地学习教师模型的全局特征对于提升学生模型性能的能力是有限的。因此,研究人员逐渐探索对输出特征图进行优化,以进一步提升学生模型的性能。例如,齐(Qi)等人 [24] 利用特征金字塔对不同分辨率的特征图进行对齐,动态融合这些特征,最后从教师模型中提取这些融合特征,以便为学生模型提供更好的指导。何(He)等人 [88] 通过计算教师模型和学生模型中这些特征图的通道强度来对特征图进行排序,进而开展特征蒸馏。文献 [24] 和 [88] 中提出的特征蒸馏策略在教师模型和学生模型的相同层之间进行知识学习,而且教师模型的多层特征图也可用于指导学生模型的单层特征学习 [28][89]。
局部特征蒸馏指的是学生模型模拟学习那些对最终预测更有帮助的局部特征,而非教师模型的整个特征图。近年来,越来越多的相关工作探索了适用于局部特征学习的相应蒸馏策略,这些方法主要尝试学习特征图中关键位置处的视觉特征。
陈(Chen)等人 [70] 采用区域蒸馏策略来训练一个轻量化的行人检测器,该策略会裁剪出与感兴趣区域(RoI)相对应的特征,之后将裁剪后的局部特征图用作学生模型的引导信息。此外,目标检测器中的锚点被广泛用于定位关键局部特征以训练学生模型 [17][91][95],这些锚点也可进行排序,使学生模型能够学习具有不同重要性的特征图 [143]。可以很容易看出,上述方法中的局部特征蒸馏是直接围绕特征图来进行的。
注意力机制也可被用来使学生模型更加关注关键的局部视觉特征。例如,在局部特征蒸馏中引入了针对特征图的空间注意力机制 [144],而用于突出前景区域以及上下文信息的注意力机制对目标检测(OD)也很有帮助 [47]。
此外,杨(Yang)等人 [76] 认为教师模型和学生模型对前景和背景的关注程度不同,而特征图中这种不均衡的差异反过来又会影响知识蒸馏的效果。因此,这些作者提出了一种结合focal蒸馏和global蒸馏的策略,在模型训练期间,通过使用空间和通道注意力掩码将焦点蒸馏引导至学生模型。这样做的目的是让学生模型只聚焦于特征图上的关键像素和通道,从而提升学生模型的性能。
还有一些其他的局部特征蒸馏策略,比如针对局部特征蒸馏生成学生模型和教师模型的关键提议 [75]。
上述这些基于全局特征蒸馏或局部特征蒸馏的目标检测(OD)方法,都对教师模型的引导信息给予了完全信任。然而,需要注意的是,教师模型用于监督学生模型训练的引导特征信息可能是不完整的,甚至是不正确的,这会对学生模型性能的提升产生负面影响。
2.2 Selective Trust Feature Distillation
为解决教师模型提供的错误信息对学生模型产生的不利影响,在基于知识蒸馏(KD)的目标检测(OD)模型中引入了选择性信任特征蒸馏策略。选择性信任特征蒸馏意味着教师模型提供给学生模型的引导信息首先需要进行筛选:简而言之,有必要去除错误信息,只留下对检测性能有积极影响的特征信息。例如,许(Heo)等人 [145] 提出了一种边缘修正线性单元(Margin ReLu)来抑制来自教师模型的不利特征信息,以便学生模型只学习有利特征,进而实现性能提升。
总之,无论是采用完全信任特征蒸馏还是选择性信任特征蒸馏,最终都是通过损失函数来进行优化的。然而,要从教师模型提供的大量先验引导信息中快速且准确地挑选出重要且有益的特征是颇具挑战性的。因此,基于选择性信任知识蒸馏的目标检测模型存在许多值得进一步研究的科学问题。
3) Various Network Structures of Teacher-Student Models
本节将从一个新的视角来探讨知识蒸馏(KD)策略。具体而言,我们发现可以分别为教师模型和学生模型设计不同的网络结构,而且从多模态数据中提取的知识能够助力学生模型在性能方面取得显著提升。因此,本节将对师生模型的网络结构以及从多模态数据中进行特征学习的相关内容加以总结和分析。
3.1 Similar Teacher-Student Network Structures
教师模型和学生模型采用相似的网络结构是一种常见的知识蒸馏(KD)策略。教师模型和学生模型采用了许多不同的骨干网络,例如残差网络(ResNet)[18][58]、ResNext [146]、单阶段多框探测器(SSD)[80]、视觉几何组网络(VGG)[146] 等等。此外,一些研究并非直接使用经典网络模型作为骨干网络,而是对现有网络进行调整 [32][138]。然而,无论是直接使用典型网络,还是采用调整后的网络作为教师模型和学生模型的骨干网络,这些方法都是运用传统蒸馏策略的基于知识蒸馏的目标检测(OD)模型。
大多数具有相似师生网络结构的基于知识蒸馏的目标检测模型是从单模态数据(RGB 图像)中提取知识的,尽管也有一些方法尝试从其他模态中学习知识以指导轻量化的学生模型。例如,学生模型可以学习教师模型提供的语义知识 [111],学习教师模型从文本信息中提取的文本和视觉特征 [147],或者在经过训练的教师模型对 RGB 图像和类热图这两种数据模式的指导下,联合学习这两种图像的视觉特征 [14]。
此外,对于三维目标检测(3D OD)而言,也存在教师模型和学生模型使用相似网络结构作为其骨干网络的常见方法。例如,魏(Wei)等人 [108] 选择使用知识蒸馏(KD)策略来生成一个轻量化的三维探测器,在该蒸馏框架中,教师模型和学生模型的网络结构是相同的三维卷积神经网络。另外,由赵(Cho)等人 [106] 设计的 ItKD 方法,将自动编码器与知识蒸馏相结合,以提升三维目标检测器的性能。ItKD 中的教师模型和学生模型由相同的骨干网络 CenterPoint 和自动编码器构成,并且使用相同的点云数据来训练教师网络和学生网络。
在基于知识蒸馏的三维目标检测任务中,多模态数据也被用作蒸馏模型的输入。在采用这种策略的方法中,学生模型使用三维点云数据进行训练,而教师模型则使用其他模态的数据进行训练。例如,秦(Qin)等人 [31] 提出了一种跨模态知识蒸馏方法,该方法使用 RGB 图像来训练教师模型,使用点云来训练学生模型,旨在将知识从 RGB 领域转移到点云领域,从而降低三维目标检测的标注成本。而且,使用多模态数据来训练教师模型对学生模型的性能更有益处 [45][109]。在文献 [45][109] 中,多模态数据(激光雷达 - 图像,由分割后的点云和 RGB 图像组成)被用于训练教师模型,期望学生模型能够学习教师模型的知识,并仅使用激光雷达数据就能获得与教师模型相似的输出。
3.2 Different Network Structures of Teacher and Student Models
另一种知识蒸馏(KD)策略是教师模型和学生模型采用不同的网络结构作为其骨干网络。例如,文献 [82] 中的方法使用基于 DarkNet - 53 的单阶段多框探测器(SSD)作为教师模型的骨干网络,而将 MobileNet v2 或 ShuffleNet v1 作为学生模型的骨干网络。苏(Su)等人 [55] 使用基于残差网络(ResNet)的网络作为教师模型的骨干网络,并将自建的 3 层卷积神经网络(CNN)作为学生模型的骨干网络。文献 [5] 也采用了类似的策略。除了上述列举的这些,还有许多采用不同师生模型组合的类似方法。
值得注意的是,虽然教师模型和学生模型可以选择各种各样的网络作为各自的骨干网络,但有必要根据要解决的具体问题来选择合适的网络,特别是考虑到学生模型的能力有限这一点。
同样,对于基于知识蒸馏的三维目标检测(3D OD)任务,也可以使用不同的网络结构。索蒂耶(Sautier)等人 [46] 采用一种从二维到三维的蒸馏策略,在自动驾驶场景下提升三维目标检测的性能。教师模型的骨干网络是使用 RGB 图像训练的 ResNet50,而学生模型使用 U - Net 作为其骨干网络,并用激光雷达(LiDAR)数据进行训练。最终的实验表明,采用这种策略的模型性能优于现有的先进方法。
本节列举了几个使用不同师生模型网络结构的基于知识蒸馏(KD)的目标检测(OD)模型。相似或不同的网络被用作教师模型和学生模型的骨干网络,以便从多模态数据中提取特征。通过对现有相关方法的分析,我们确定在引导学生模型的特征学习方面,使用不同网络结构作为教师模型的骨干网络从多模态数据中提取知识的方法具有相对更多的优势。然而,并不存在将师生模型结构与多模态数据相结合的固定知识蒸馏策略,我们应当根据具体任务来设计或选择合适的网络用于知识蒸馏。
4) Multiple Teacher Models
知识蒸馏(KD)与人类的学习过程相类似。传统的知识蒸馏技术是由教师模型引导学生模型学习知识。然而值得注意的是,人类的教学活动所涉及的模式比传统知识蒸馏更多。因此,人们已经提出了几种基于人类教学模式的知识蒸馏模型。
4.1 Multiple Teachers Guiding One Student
如前文所述,第一种常用的人类教学模式是多位教师教导一名学生的模式。例如,如果不同专业领域的教师都来教导一名学生,那么这名学生就能获取更高质量的知识。同样地,我们可以使用不同类型的教师模型从大规模数据集中学习不同的知识,然后尝试将所学知识传递给一个学生模型,以便该学生模型能够学习到更全面且重要的视觉特征,如图 5 所示。
例如,在文献 [37]、[53]、[54] 中,都使用了多个教师模型来引导一个学生模型,以提升其目标检测(OD)性能。这三项研究之间存在一些关键差异:匡(Kuang)等人 [53] 对不同的教师模型进行加权融合,以提高目标检测网络的准确率;陈(Chen)等人 [54] 使用了两个采用不同策略训练的教师网络,以确保知识能够充分传递到学生网络;李(Li)等人 [54] 设计了一个非对称的双路径学习框架来训练学生模型。
4.2 One Teacher Guiding Multiple Students
第二种常用的教学模式是一位教师教导多名学生。例如,多个学生模型由一个教师模型引导,之后从所有学生模型中选出性能最佳的那个学生模型。文献 [65] 中所采用的知识蒸馏(KD)框架便是由一个教师模型引导多个学生模型,以此来解决孪生跟踪器受高成本限制的问题。
4.3 Students Guiding Each Other
显而易见,在现实世界的场景中,学生们也可以相互学习。相应地,文献 [36]、[65] 将这种方法应用到知识蒸馏(KD)中,以提升目标检测(OD)中学生模型的性能。康(Kang)等人 [36] 提出了一种基于神经结构搜索的神谕知识提取框架,用以解决集成模型的能力及复杂性问题。
此外,师生知识蒸馏 [65] 不仅包含教师模型对多个学生模型的引导,还涉及学生模型之间的相互引导。对于两个学生之间的知识蒸馏,最终的目标函数如下:
其中S1和S2分别表示学生1 学生2
5) Self-Feature Distillation
传统的知识蒸馏(KD)方法通常需要一个预先训练好的教师模型来训练学生模型。为降低学生模型对教师模型的依赖,许多学者设计出了所谓的无教师知识蒸馏模型。现有的无教师知识蒸馏方法包括自蒸馏、合作学习以及标签正则化等等。
此外,还有另一种知识蒸馏类型,即特征蒸馏,它与逻辑值方法(目标蒸馏)有所不同。逻辑值方法中的学生模型仅将教师模型的逻辑值作为最终知识来学习,而非中间层特征。许多学者已将特征蒸馏应用于自特征蒸馏,从而能够设计出一种无需教师的知识蒸馏方案。
自特征蒸馏不需要教师网络,这降低了训练成本。而且,这些方法在各层之间开展一对一的特征变换学习。
例如,局部引导蒸馏(LGD)[57] 是一种用于目标检测(OD)的自蒸馏模型。网络所学的知识能够通过自上而下的蒸馏 [38] 在不同层之间传递,并且利用注意力图来捕捉更有效的特征信息,进而推动目标检测的发展。在中间特征层添加辅助分类器可以强化自监督,使学生模型能够学习到更有效的特征表示 [56]。渐进式自知识蒸馏(PS - KD)[39] 通过逐步从模型所获取的特征中提取知识来开展特征学习。值得注意的是,由于所有的下层都模仿上层的注意力图,下层的注意力信息可能会丢失。因此,双向自注意力蒸馏(Bi - SAD)[18] 被提出来解决这个问题。此外,在 YOLOv6 [148] 中,引入了一种简单的自蒸馏技术,该技术将预先训练好的学生模型当作教师模型,以此来最小化教师模型和学生模型预测结果之间的数据分布差异。
为解决在小样本目标检测(few-shot OD)中由于样本数量有限导致模型容易陷入过拟合的问题,李(Li)等人 [139] 利用自特征知识蒸馏(KD)策略,通过设计一种注意力损失来提升学生模型的泛化能力,该注意力损失涵盖了少量样本中的分类、回归以及类别特定特征。其核心概念在于,学生模型能够通过位置和类别特征转换学习特征映射函数,以逼近原始模型。
而且,为提升目标检测(OD)模型的泛化能力,吴(Wu)等人借助自蒸馏技术实现了基于单域的跨域目标检测 [58]。提出了循环解耦自蒸馏方法,在模型训练期间持续剥离目标的场景信息,并提取适用于不同域目标检测的共享特征表示。具体而言,利用教师模型多个卷积层中包含的细粒度位置和分类信息来引导骨干网络(学生模型)学习跨域特征,从而提高目标检测模型的泛化能力,实现跨域目标检测。
同样地,何(He)等人也将自蒸馏技术用于跨域目标检测 [149]。这些作者设计了两个自蒸馏分支,以学习来自源域和目标域的共享提议特征。
此外,也有一些蒸馏框架将自蒸馏作为其模型的一部分,例如文献 [129] 和 [118] 中的方法,它们成功地将自特征蒸馏模式整合到各自模型中,实现了性能提升。
6) Specific Information Guidance for OD
基于知识蒸馏(KD)的通用目标检测(OD)模型充分利用重量级的教师模型,将从特定数据集中学习到的复杂知识转移到轻量化的学生模型中。在本节,我们将介绍几个模型,在这些模型中,教师模型提取的某些特定知识信息会被转移到学生模型里。
其中包括聚焦图像局部特征的掩码引导目标检测模型,还有引入文本先验知识信息以提升学生模型学习视觉特征能力的文本引导模型;此外,也存在一些其他模型,它们通过语义引导等方式关注图像中不同物体关系的语义信息。
6.1 Mask-Guided KD-Based OD
掩码引导网络 [32] 是基于两阶段目标检测(OD)模型结构设计的。在此,掩码信息被用于引导学生模型关注全局和局部特征,并且通过结合全局损失和局部损失给出知识蒸馏(KD)的损失函数。
同样地,王(Wang)等人 [17] 提出的方法将初始生成模型中的真实标注(ground truth)用作掩码,引导学生模型学习感兴趣目标及相邻目标的特征。为了实现精细特征模仿,适配层与生成的掩码相结合,使得学生模型能够模拟教师模型对局部特征及附近目标的关注。还提出了限制损失与测试损失相结合的方式来训练学生模型。
在当前基于知识蒸馏的目标检测模型中,学生模型在很大程度上依赖教师模型的输出,或者说是过度信任教师模型。然而,在现实世界的场景中,教师模型可能无法提供非常可靠的输出特征或预测结果。因此,学生模型应当有选择性地从教师模型学习知识。
目前已经开发出了几种方法,这些方法基于自身的质量度量来对教师模型的输出(包括特征图、提议或预测结果)进行排序,然后选择一些关键的预测区域或可靠的预测结果来引导学生目标检测模型 [128]、[143]、[150]。
6.2 Attention-Guided KD-Based OD
在传统的基于知识蒸馏(KD)的目标检测(OD)模型中,有两个问题未被考虑到:(1)前景像素和背景像素之间存在不平衡;(2)不同像素之间的关系缺乏蒸馏 [146]。
因此,为了针对图像中的关键区域开展注意力特征学习,一些方法选择引入注意力机制来引导学生模型学习局部视觉特征。在知识蒸馏中引入注意力机制,可自动定位感兴趣区域(ROIs),这些区域的特征往往容易被学生模型忽视 [138][146]。
例如,文献 [146] 基于两阶段目标检测模型(快速区域卷积神经网络,Faster RCNN)提出了一个带有注意力引导机制的知识蒸馏框架。该注意力机制用于引导蒸馏模型从整个特征图中找出关键像素和通道,使得学生模型能够更多地关注这些关键像素和通道,而非整个特征图,这在一定程度上也抑制了学生模型对背景视觉特征的学习。
此外,注意力引导机制也可被引入到单阶段目标检测模型(单阶段多框探测器,SSD [151])中。文献 [138] 设计了一种端到端的注意力引导的知识蒸馏方法。与文献 [146] 中在感兴趣区域使用用于局部特征蒸馏的掩码 L2 损失类似,文献 [138] 使用一种注意力引导的蒸馏损失(加权欧几里得损失)来缩小教师模型和学生模型所提取特征之间的差距。
而褚(Chu)等人 [144] 基于教师网络和学生网络之间空间注意力信息以及预测结果的差异设计了一种蒸馏损失,其中空间注意力信息是从特征图中提取出来作为知识蒸馏给学生模型的。这种基于知识蒸馏的目标检测方法被用于恢复模型剪枝后学生模型的性能。
然而,与文献 [138]、[146] 不同的是,带有注意力机制的基于知识蒸馏的目标检测模型还可在模型训练期间用于特征融合 [33]。为了让学生模型既能学习抽象知识又能学习简单知识,该模型可以在后续的模型训练过程中侧重于学习抽象知识。
上述基于知识蒸馏(KD)的目标检测(OD)模型使用注意力引导模块,以便让学生模型更多地关注目标的局部细节。基于掩码的方法最初是为老式的探测器(如普通的快速区域卷积神经网络,vanilla Faster - RCNN)开发的,这类方法未能扩展应用到配备特征金字塔网络(FPN)的现代探测器上。
具体而言,这些方法在师生模型对的金字塔层级之间进行直接的一对一匹配,这会导致两个问题:(1)在所有层级上不加区分地应用相同掩码,可能会从无响应的特征层级引入噪声;(2)基于掩码的方法无法扩展到异构探测器对,因为它们的特征层级可能无法严格对齐。
6.3 Semantics-Guided KD-Based OD
为了更充分地利用与目标检测(OD)相关的各类信息,除了充分利用单个目标或区域的信息外,语义上下文信息 [17]、[52]、[135] 以及其他外界先验知识(比如文本信息 [19]、[64]、[111])也可以被引入到基于知识蒸馏(KD)的目标检测模型中。
图像的上下文信息有助于计算机视觉任务中有效特征的获取。教师模型能够充分学习上下文信息,进而引导学生模型关注待检测目标周围的其他相关事物 [17]、[52]、[135]、[152] 等等。利用上下文特征的一种简单方式是让模型聚焦于相关目标之间的相对位置,然后利用这些相关目标的视觉特征来辅助当前的视觉任务。因此,人们开发了不同的机制来支持教师模型引导学生模型对目标及其周边位置进行估计。值得注意的是,这些模型并不依赖教师模型的软支持输出 [17]、[152]。
利用图像上下文信息的另一种方式是不同网络层之间的特征交互学习。由于目标及其周边区域有着相似的模式,知识蒸馏应当在多个网络层(而非网络的某一层或最后一层)进行。例如,姚(Yao)等人 [52] 提出了一种语义引导特征模仿的知识蒸馏策略,用于提取不同区域之间的关系特征。同样地,刘(Liu)等人 [135] 也观察了教师模型和学生模型在不同网络层所提取特征之间的关系(即语义上下文信息)。于是,在蒸馏网络中引入了互信息损失,以使学生模型尽可能多地提取与教师模型所提供信息相似的信息。
此外,从生成的图像字幕中包含的语义信息也会被蒸馏,以引导显著目标检测的学生模型 [111]。语义特征通过 Transformer 解码器从文本中提取出来,并用于引导不同卷积层中的视觉编码器,使其聚焦于多个显著目标。
另外,实例之间的关系也可被视作目标的语义特征。VS 等人 [153] 利用教师模型提供的提议构建了一个实例关系图神经网络,并设计了图蒸馏损失和图对比损失,以便将实例关系信息蒸馏给学生模型。通过这种方式,学生跨域目标检测模型能够更好地避免因教师模型不可靠预测所引入的噪声而过拟合。
6.4 Text-Guided KD-Based OD
文本信息是可用于目标检测(OD)的另一种先验知识。然而,要准确匹配文本和视觉这两种模态的特征是比较困难的;而且,引导网络更好地提取视觉特征并进行更多间接推断也颇具挑战性。因此,教师模型从文本数据中学习有效的先验知识,并进一步引导学生模型有效提取视觉特征是很有益处的。
例如,为降低目标检测模型的扩展成本并提高其推理速度,一种名为视觉与语言知识蒸馏(ViLD)[64] 的方法被提出,该方法用于将从开放词汇数据集中提取的先验知识转移到学生模型中。ViLD 可能是首个将预训练图像分类模型(教师模型)从 LVIS 数据集中提取的文本知识转移到两阶段目标检测模型(学生模型)的方法。具体而言,目标所提示类别的文本和图像区域由教师模型进行编码,之后学生检测器生成的检测框的区域嵌入会与教师模型推断出的文本和图像嵌入进行对齐。
就利用文本信息而言,王(Wang)等人 [19] 将图像与句子之间的匹配关系作为监督信息,以提升整个目标检测模型的视觉特征提取能力。这种方法通过将相关文本陈述信息作为输入信息来检测相关目标,这是一项难度更高的弱监督目标检测任务。
这两种方法利用文本特征引导学生模型检测此前已观测到类别的目标。然而,马(Ma)等人 [132] 尝试使用文本(图像字幕)引导学生模型关注未见过的目标。在该方法中,提出了一种弱监督的全局层面语言到视觉知识蒸馏方法(GKD),旨在利用从新类别视觉字幕中蒸馏知识。GKD 基于多层交叉注意力的对比学习来学习视觉和文本特征的匹配对,并将字幕表示蒸馏到全局图像表示中,以用于对未见过目标的检测。
6.5 Lipschitz Continuity-Guided KD-Based OD
上述模型利用特定的信息或机制来引导学生模型学习特定的视觉特征。然而,它们忽略了神经网络的功能特性,这使得这些技术在应用于新任务时并不可靠。
为缓解这一问题,可以利用利普希茨(Lipschitz)连续性更好地刻画神经网络的功能特征,并指导知识提取过程 [133]。通过最小化两个神经网络的利普希茨常数之间的距离,教师网络能够更好地对学生网络进行正则化,进而提升目标检测(OD)的性能。
Section IV. Experimental Analysis
两种常见的目标检测(OD)数据集(微软 COCO 数据集 [154] 和 PASCAL VOC 数据集 [155])被用于验证基于知识蒸馏(KD)的目标检测模型的有效性。平均精度(AP)、准确率(ACC)、交并比(IoU)以及其他常见的模型性能评估参数被用来评估基于知识蒸馏的目标检测模型的性能,并且还应用了较为少见的评估指标定位准确率(CorLoc)。
在本节中,我们将简要描述在实验中所使用的基于知识蒸馏的目标检测常用数据集,然后对不同的模型进行性能对比分析。
A. Commonly Used Image Datasets and Evaluation Parameters
PASCAL VOC 2007 [155] 包含 20 类目标,其中有一个含 5000 张图像的训练子集以及一个含 5000 张图像的测试子集。
MS COCO 2017 [154] 同样是一个用于目标检测、目标分割、图像字幕及其他视觉任务的大型图像数据集。MS COCO 中的图像采集自复杂的日常场景,且这些图像中的目标都通过精确的分割进行了标注。在 32.8 万张图像中有 91 类目标,标记了 250 万个目标标签。
APS 是小尺寸目标(区域面积大小 <32² 像素)的平均精度值。APM 是中尺寸目标(32² 像素 < 区域面积大小 < 96² 像素)的平均精度值。APL 是大尺寸目标(区域面积大小> 96² 像素)的平均精度值。mAP 是平均精度均值,即所有类别平均精度的平均值。mAP0.5 是交并比阈值为 0.5 时的平均精度均值。CorLoc 是定位准确率,也就是训练集中目标的定位精度,代表至少正确检测出一个目标的图像所占的比例,它常用于弱监督目标检测。
B. Comparison of Different Models
表三与表四列出了近期经典模型在 PASCAL VOC 2007 数据集和 MS COCO 2017 数据集上的性能表现。在此我们提供一些网络的缩写形式:R152/R101/R50/R34/R18 分别代表残差网络 152(ResNet - 152)/ 残差网络 101(ResNet101)/ 残差网络 50(ResNet50)/ 残差网络 34(ResNet34)/ 残差网络 18(ResNet18);MV1/MV2 分别代表移动网络 V1(MobileNetV1)/ 移动网络 V2(MobileNetV2);FR 代表快速区域卷积神经网络(Faster R - CNN);CTN 代表中心网络(CenterNet);RNX 代表残差网络扩展(ResNeXt)。
表三列出了各模型在 PASCAL VOC 2007 上的性能对比情况。从列出的这些评估参数中可以看出,传统的基于知识蒸馏(KD)的目标检测(OD)模型中最终学生模型的性能在很大程度上与网络参数成正比。
例如,大多数学生模型以残差网络 50(R50)作为自身的骨干网络,并以残差网络 101(R101)作为教师模型的骨干网络时,能够实现交并比阈值为 0.5 时的平均精度均值(mAP0.5)超过 80%,而采用视觉几何组网络 11(VGG11)/ 视觉几何组网络 16(VGG16)作为学生模型和教师模型骨干网络的方法,其 mAP0.5 的值则更低。就平均精度均值(mAP)而言,这些传统模型的性能较为相似 [49]、[156]、[157]。
表四中列出的大多数传统模型以残差网络 50(R50)作为学生模型的骨干网络,不过依然可以明显看出,对于这些模型来说,模型性能与模型复杂度成正比 [33]、[72]、[86]、[140]。
当然,设计基于知识蒸馏(KD)的目标检测(OD)模型的最终目标是获得更轻量化的学生模型。因此,先进的知识蒸馏技术被提出并应用到目标检测模型中。这类基于对抗学习的模型试图在实现与传统模型相当的目标检测性能的同时,做到更为轻量化 [51]、[79]、[82]。不过,这些方法需要设计合理的策略来控制教师模型和学生模型之间的对抗学习。
为了进一步提升轻量化学生模型的性能,相关方法引入外部信息或多模态数据来引导学生模型的特征学习。这些方法通过引入辅助信息,能够帮助轻量化学生模型取得更优的性能 [32]、[64]、[133]、[152]。在表四中的情况与之类似 [17]、[52]、[64]、[143]、[150]。
表三中也有相关方法通过引入注意力机制来获取轻量化学生模型,但与其他相关方法相比,它们的性能是最差的。原因可能在于这些方法所使用的教师模型和学生模型的网络结构都相对比较简单。
对于 MS COCO 2017 数据集(如表四所示),除了表三中提及的方法外,也存在一些方法通过在知识蒸馏(KD)过程中选择有价值的特征来引导学生模型的特征学习,并取得了相对较优的性能 [73]、[76]、[83]。
而且,基于自蒸馏策略的方法如果选择残差网络 50(R50)或其他复杂度相近的网络作为学生模型的骨干网络,能够获得可观的目标检测(OD)性能 [57]、[129]。然而,一旦学生模型的网络结构被大幅简化,其性能就会迅速下降 [38]、[118]。
在本节中,表三和表四仅列出了在 PASCAL VOC 2007 和 MS COCO 2017 上采用常见评估指标的部分方法。还有许多其他基于知识蒸馏的目标检测方法或模型,它们针对特定的目标检测任务和视觉问题,在不同的数据集上都取得了可观的成果。
Section V. Future Research Works
总而言之,多种知识蒸馏(KD)策略已被应用于目标检测(OD)领域,并且在模型压缩和检测精度方面都取得了显著的提升。然而,仍有诸多问题有待进一步研究和解决。基于前文所述内容,在此我们指出当前相关工作中存在的一些问题,并对基于知识蒸馏的目标检测的未来研究方向进行探讨。
(1) KD-Based Incremental Learning for OD
在实际的目标检测(OD)应用中,常常需要在目标检测任务中添加一些新的目标类别(即增量目标检测)。为解决这一问题,传统方法会使用全部已标注数据重新训练模型,不过这样做成本极高;而且,使用少量数据对模型进行微调会导致灾难性遗忘 [97]、[98]。
基于知识蒸馏(KD)的目标检测框架能够将教师模型中的历史目标信息转移到学生模型中,如此一来,学生模型不仅能学习到新类别目标的视觉特征,还能保持检测历史目标的能力。通常,基于知识蒸馏的增量目标检测方法是通过设计相应的损失函数 [25]、逐步补充新目标的数据 [26]、[98]、[100] 或者提出一些新的蒸馏机制 [47] 来构建的,这些方法在诸多方面都取得了不错的成果。
然而,对于增量目标检测而言,仍存在一些有待解决的问题,比如新类别目标的标注问题、因添加与历史目标相似的新类别目标而导致的模型性能下降问题、如何识别新目标的出现以及模型的实时更新问题。因此,应当在整个模型框架中添加能够及时识别新目标出现的辅助网络;需要进一步考虑具有更强目标判别能力的学生模型,以提升其目标识别性能;并且可以考虑基于弱监督或半监督学习的模型来解决新目标标注的问题。
(2) Weakly Supervised or Semi-Supervised Learning OD Models Based on KD
与其他计算机视觉任务类似,数据标注成本高昂也是目标检测(OD)任务中面临的一个问题;对于增量目标检测来说尤其如此,因为不断增加新类别目标的标注成本很高。因此,弱监督、半监督或无监督学习在未来或许是解决这一问题的有效途径。
目前,也已经存在基于知识蒸馏(KD)的弱监督和半监督学习目标检测模型。这些方法旨在通过使用标注较弱的数据 [28]、多标签标注数据 [120] 或者少量带有精确标注的图像 [114] 来实现精准的目标检测。此外,还提出了一些视觉特征提取机制 [117]、[118]、[120] 以提升目标检测的性能。
所以,未来的研究可以探究如何设计并将相关机制或网络模块引入目标检测框架中,用于分析图像区域特征等,或者如何引入相关先验知识,以进一步提升采用弱监督或半监督学习的基于知识蒸馏的目标检测模型的性能。
(3) Interactive Distillation Between Multi-Teacher and Multi-Student Models for OD
蒸馏学习与人类学习模式类似。因此,就像在现实世界场景中那样,一个学生模型可以由多个教师模型引导进行特征学习。同时,一项任务也可由多个学生模型共同完成,并且学生模型之间还能相互学习。
在现有的方法中,一个教师模型可以引导多个学生模型开展特征学习,然后从中选出性能更优的学生模型 [65]。多个教师模型也能够分两个阶段联合训练学生模型 [37];或者,通过权重融合的方式将多个教师模型结合起来训练学生模型 [53]。这些方法充分利用了多个教师模型的优势来训练出更优的学生模型,并取得了良好的效果。
然而,关于如何将知识从多个教师模型无缝地转移到学生模型中,值得进一步深入研究。此外,探究在联合模型训练期间教师模型和学生模型如何通过特定机制或技术相互作用也很重要,这或许也是提升教师模型和学生模型性能的有效途径。最后,由于多个教师模型能够训练多个不同类型的学生模型,所以在未来应当关注如何为目标检测(OD)选择最优的学生模型或者如何组合多个学生模型这一问题。
(4) New Knowledge and Multiple Modal Features Distillation for OD
引入新知识是提升目标检测(OD)模型性能的一种非常有效的方式,而从其他模态中提取新知识的能力是知识蒸馏(KD)的一大优势。
现有的此类方法将多种多模态数据(如 RGB 图像 [35]、热成像图像 [55]、深度图像 [14]、[35]、文本信息 [19]、[64] 等)作为教师模型的输入,然后利用教师模型从这些多模态数据中提取相关特征,以引导学生模型从二维 RGB 图像中学习视觉特征。
然而,一个值得未来探索的问题是,如何将教师模型从多模态数据中学到的不同类型特征与用于目标检测的视觉特征之间的差距最小化。此外,在设计基于知识蒸馏的弱监督目标检测模型时,也可以考虑将其他模态数据的特征作为弱监督目标检测的先验知识。
(5) Model Compression for 3D OD
三维目标检测(3D OD)大多应用于自动驾驶等领域。处理三维图像数据的目标检测模型要比处理二维数据的模型更为复杂。因此,利用知识蒸馏(KD)技术对三维目标检测模型进行压缩具有重大的现实意义,并且在这一主题上有许多值得探索的创新性成果。
首先,由于三维目标检测模型中存在大规模的网络参数,基于知识蒸馏的模型压缩是一个需要重点考虑的重要研究领域。例如,我们可以使用一个复杂的深度神经网络作为教师模型,来引导一个精心设计的轻量化学生模型。
然而,另一个关键问题在于如何提高目标检测模型的准确性。未来基于知识蒸馏的三维目标检测研究可以聚焦于图像数据和模型这两方面。对于三维图像数据而言,以点云数据作为输入的模型可以采用自蒸馏的方式来提高三维目标检测的准确性。对于采用多种形式数据作为输入的模型,可以先从简单的二维图像中获取初始检测结果,然后将其作为弱监督标签,利用复杂的三维数据对三维目标检测模型进行优化。
此外,我们可以使用更复杂精密的模型来优化三维目标检测模型,比如将分割模型与检测模型相结合的知识蒸馏方法。设计一个专门针对三维目标检测独特背景的合适的知识蒸馏框架也会大有裨益。
最后,知识蒸馏(KD)在模型压缩和模型性能提升方面有着巨大优势,并且已在多个计算机视觉任务中得到广泛应用。近年来,将知识蒸馏技术应用于目标检测(OD)相关任务吸引了越来越多的研究关注;与此同时,基于知识蒸馏的目标检测也遇到了诸多挑战。
在未来,知识蒸馏应当拓展到广泛的视觉检测任务中,例如三维目标检测、弱监督 / 无监督目标检测、视觉关系检测、社会关系检测等等。此外,基于知识蒸馏的目标检测还可进一步应用于其他特定类型的数据,比如多源遥感图像、多模态图像、文本数据、音频数据等。
Section VI. Conclusion
本综述回顾了基于知识蒸馏(KD)的目标检测(OD)模型。首先,我们详细阐述了基于知识蒸馏设计目标检测模型的基本原理。接着,我们从基于知识蒸馏的目标检测任务、目标检测模型中采用的知识蒸馏策略、有待解决的相关问题以及与模型应用相关的数据集等方面,对以往的工作进行了总结和分析。最后,我们探讨了未来有待进一步探索的、具有前景的可能研究方向。
正如上述对当前基于知识蒸馏的目标检测模型的全面分析所示,知识蒸馏在模型压缩和性能提升方面为传统目标检测模型带来了巨大潜力。因此,在这一研究领域存在许多新颖的思路和技术,值得进一步深入探究。
原文地址:https://blog.csdn.net/practical_sharp/article/details/144319122
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!