来源:https://github.com/LutingWang/awesome-knowledge-distillation-for-object-detection收录的方法
NeurIPS 2017:Learning Efficient Object Detection Models with Knowledge Distillation
CVPR 2017:Mimicking Very Efficient Network for Object Detection
Feature Distillation
1)Ground Truth Guided
CVPR 2019:Distilling Object Detectors With Fine-Grained Feature Imitation
使用ground truth和预定义anchor对每个空间位置计算mask,基于mask来引导学生特征向教师特征的学习。
CVPR 2021:Distilling Object Detectors via Decoupled Features
将feature-level和classification head-level的特征根据binary mask划分为前景特征和背景特征,对前景特征和背景特征分别使用不同的权重进行解耦蒸馏。
2)Prediction Guided
NeurIPS 2021:Distilling Object Detectors with Feature Richness
首先,定义了一种Feature Richness Score,将特征图中的每个(x,y)坐标的预测最大的classification score定义为这个坐标的richness score,从而得到一层W*H的mask,运用这个mask来优化蒸馏学习。
在此基础上,蒸馏损失分为FPN层面的feature-level Distillation和classification head-level Distillation
ECCV 2022:Prediction-Guided Distillation for Dense Object Detection
首先,对于一个特征图上的坐标(x,y),作者定义了一个quality score
其中b代表一个bounding box,indicator表示如果坐标(x,y)在GT bounding box之内,则为1,如果不属于任何bounding box则为0;
pij(b)表示预测为GT bounding box的正确类别的分类概率,IoU表示预测框与GT框的IoU得分。
然后,作者将每个GT bounding box中quality score排名top-k的pixel取出来,作为集合To,并假设To服从正态分布Tok∼ N(μ,Σ|o),所以可以建模他们的热力图为:
如果一个像素点是多个排名top-k的bounding box像素点的重叠,那么I取多个重叠数值的最大值,再根据每个I求平均,得到mask矩阵
总的蒸馏损失分为cls和reg的feature-level的蒸馏,还有cls和reg的attention-level的蒸馏。
feature-level的蒸馏:classification的分支的特征蒸馏分为前景和背景的蒸馏,regression分支的特征蒸馏只考虑前景的蒸馏。
其中P代表空间注意力,A表示通道注意力,M为前景mask,N为背景mask
Attention-level的蒸馏:classification分支考虑空间注意力和通道注意力的蒸馏,regression分支只考虑前景mask引导的通道注意力的蒸馏
PR 2023:Task-balanced distillation for object detection
首先,作者定义了一种Harmonious predictions
pc是每个像素点的预测分类概率值最大的概率
pr是每个像素点预测的bounding box与GT bounding box的最大IoU得分。
然后作者定义了HS得分,用于平衡两个子任务的预测得分:
并在此基础上,定义了基于Harmonious的Distillation loss:
此外,作者更进一步引入了一种动态变化因子dynamic modulation factor,用于为每个空间像素点施加不同的损失权重
此外,作者提出了Task-decoupled feature distillation
即使用教师模型的pc矩阵和pr矩阵,以及学生模型的pc矩阵和pr矩阵,通过注意力机制学习得到混合的T0矩阵和T1矩阵作为教师模型的pc和pr矩阵特征蒸馏引导的权重矩阵。
3)Attention Guided
ICLR 2021:Improve Object Detection with Feature-based Knowledge Distillation: Towards Accurate and Efficient Detectors
Attention-based:
Relation-based:
TPAMI 2023: Structured Knowledge Distillation for Accurate and Efficient Object Detection
本论文是 ICLR 2021:Improve Object Detection with Feature-based Knowledge Distillation: Towards Accurate and Efficient Detectors的扩充版本
CVPR 2022:Focal and Global Knowledge Distillation for Detectors
### Focal Distillation:包含基于注意力mask和前景mask和尺度mask的feature-level蒸馏,以及通道和空间注意力的蒸馏。
其中,基于feature-level的特征蒸馏是前景与背景分离的
其中,Mij为前景mask,1-Mij为背景mask,Sij为尺度mask,As为空间注意力,Ac为通道注意力
Global Distillation:使用GcBlock对特种inquiry全局处理,得到全局的correlation:
ECCV 2022:GLAMD: Global and Local Attention Mask Distillation for Object Detectors
联合global和local的Attention Mask,global表示全图,local表示将全图切分为多个patch
Mc表示通道注意力机制,Ms表示空间注意力机制
Lc表示local的通道注意力机制,Ls表示local的spatial注意力机制
Gc表示global的通道注意力机制,Gs表示global的空间注意力机制
Tc表示联合local和global的通道注意力机制,Ts表示联合local和global的空间注意力机制
一共三种蒸馏损失:空间和通道注意力蒸馏损失,基于空间和通道注意力mask的特征蒸馏损失,基于空间注意力mask的检测头蒸馏损失
其中,通道注意力蒸馏损失包含global和local两项,空间注意力蒸馏损失只有全局的,因为空间局部注意力与全局注意力等价。
特征蒸馏损失为基于空间注意力mask矩阵Ts和通道注意力mask矩阵Tc的引导蒸馏
检测头的蒸馏损失,基于spatial Attention的mask
4)Miscellaneous Foreground Masks
ICCV 2021:Channel-wise Knowledge Distillation for Dense Prediction
使用1X1卷积,把学生特征图的通道数与教师特征图的通道数对齐,然后使用在channel-wise的softmax函数,和温度参数Temperature,把每个通道的特征变为一个总和为1的概率分布,对于每个通道,使用KL散度进行蒸馏损失
5)Miscellaneous Feature Distillation
IJCAI 2023:Dual Relation Knowledge Distillation for Object Detection
作者首先解释导致检测任务中蒸馏性能不佳主要有两个关键点:一是前景和背景特征之间存在严重的不平衡,另一个是小目标缺乏足够的特征表示。
为解决上述问题,提出了一种名为双重关系知识蒸馏(DRKD)的新蒸馏方法,它包含像素级关系蒸馏和实例级关系蒸馏。像素级关系蒸馏将像素级特征嵌入图空间,并运用图卷积来捕捉全局像素关系。通过对全局像素关系进行蒸馏,学生检测器能够学习到前景和背景特征之间的关系,并且可以避免因特征不平衡问题而难以直接对特征进行蒸馏的情况。
此外,发现对于小目标而言,实例级关系能为独立特征补充有价值的知识。因此,设计了实例级关系蒸馏,它通过计算不同实例的相似度来获取关系矩阵。更为重要的是,还设计了一个关系过滤模块,用以突出有价值的实例关系。
Pixel-wise Relation Distillation:将学生和教师模型的特征输入到图卷积模型GloRe来提取global context pixel relation,蒸馏损失函数表示为:
Instance-wise Relation Distillation:使用RoI Align将每个instance的特征resize到相同的大小。
一共有N个实例,使用公式(6)来计算两个instance实例si和sj之间的relation,其中g表示全连接层,
使用公式(7)来实现instance-wise relation Distillation
此外,作者还直接将instance目标实例的feature进行蒸馏,
总的损失为公式(9)所示:
Instance Distillation
CVPR 2021:General Instance Distillation for Object Detection
首先,作者基于教师模型的instance预测和学生模型的instance预测,设计了一个General Instance Selection Module (GISM),该模块的核心是联合教师和学生网络的instance预测,来选择核心的instance进行蒸馏。
GI表示筛选出的有价值的预测框集合
Feature-based Distillation:使用RoI Align,将每个GI中的预测框resize为相同大小的特征,L2 距离,GI集合中一共K个目标预测框
Relation-based Distillation:计算GI bounding boxes中任意两个instance的relation,L2距离
Response-based Distillation:根据GI bounding box求一个前景mask矩阵M,利用M引导Response-based的蒸馏损失
总的损失函数
ICCV 2021:Deep Structured Instance Graph for Distilling Object Detectors
Structured Instance Graph
将学生模型与教师模型的RoI pooled features构造为Graph结构,其中前景目标的特征和背景目标的特征表示为nodes,目标与目标之间的cosine similarity定义为edges。
Graph Distillation Loss
前景目标的特征蒸馏,背景目标的特征蒸馏,以及边节点之间的特征蒸馏。
NeurIPS 2021:Instance-Conditional Knowledge Distillation for Object Detection
Label Assignment Distillation
WACV 2022:Improving Object Detection by Label Assignment Distillation
把每个anchor或者预测框与教师模型的输出的分类focal loss和1-回归IoU分数之和定义为assignment cost分数。根据这个assignment cost来分配空间的位置坐标来得到一个mask
Balancing between Tasks
arXiv 2020:Distilling Object Detectors with Task Adaptive Regularization
使用Gaussian Mask矩阵Mij来引导feature-level的学习
分类头的蒸馏学习:把教师的yt作为引导,
回归头的蒸馏学习:只蒸馏教师预测与GT的IoU大于学生预测与GT的IoU的情况
ICCV 2023:Bridging Cross-task Protocol Inconsistency for Distillation in Dense Object Detection
Binary Classification Distillation Loss:把每个instance的logits map的每个概率item使用sigmoid激活,然后把每个item和1-item的数值作为二分类的概率,来进行BCE的蒸馏损失。
IoU-based Localization Distillation Loss:w指的是公式(7)中的教师模型与学生模型的预测分类损失的绝对差值,作为1-IoU蒸馏损失的权重,IoU表示教师模型与学生模型的预测框的IoU
Miscellaneous Knowledge Distillation for General Object Detectors
AAAI 2022:Knowledge Distillation for Object Detection via Rank Mimicking and Prediction-Guided Feature Imitation
Rank Mimicking:把每个instance的所有正样本anchor的预测正确类别的分数s使用softmax得到一个分布,对教师和学生的M个instance的分布进行KL散度蒸馏。
Prediction-Guided Feature Imitation:基于教师与学生的prediction的差异矩阵作为过滤mask,来引导特征的蒸馏学习。
NeurIPS 2022:Structural Knowledge Distillation for Object Detection
考虑到特征蒸馏的L2损失的不足之处,引入将局部patch特征建模为均值矩阵u,方差矩阵σ,还有协方差矩阵σST。参照SSIM定义亮度比较函数,对比度比较函数,结构比较函数
基于l,c,s定义SSIM蒸馏损失来引导学生与教师模型的结构化的特征蒸馏
CVPR 2024:CrossKD: Cross-Head Knowledge Distillation for Dense Object Detection
作者发现直接模仿教师模型的预测会面临目标冲突问题,这阻碍了预测模仿取得良好的性能。为缓解这一问题,在本节中我们提出了一种新颖的跨头部知识蒸馏(CrossKD)方法。整体框架如图 4 所示。与许多先前的预测模仿方法一样,我们的跨头部知识蒸馏(CrossKD)也是针对预测进行蒸馏过程。不同的是,跨头部知识蒸馏(CrossKD)将学生模型的中间特征传递到教师模型的检测头部,并生成跨头部预测来进行蒸馏。
给定一个密集型检测器,例如 RetinaNet [39],每个检测头部通常由一系列卷积层构成,用 {Cᵢ} 表示。为简便起见,我们假设每个检测头部共有 n 个卷积层(例如,在具有 4 个隐藏层和 1 个预测层的 RetinaNet 中为 5 个)。我们使用 fᵢ(i∈{1, 2,・・・, n - 1})来表示由 Cᵢ产生的特征图,并用 f₀表示 C₁的输入特征图。预测结果 p 是由最后一个卷积层 Cₙ生成的。因此,对于给定的一对教师模型和学生模型,教师模型和学生模型的预测结果可分别表示为 pₜ和 pₛ。
Knowledge Distillation for Specific Object Detectors
1)Knowledge Distillation for GFL
CVPR 2022:Localization Distillation for Dense Object Detection
在本文中,通过重新构建定位方面的知识蒸馏流程,我们提出了一种新颖的定位蒸馏(LD)方法,该方法能够有效地将定位知识从教师模型传递到学生模型。此外,我们还启发式地引入了 “有价值定位区域” 这一概念,它有助于针对特定区域选择性地提取语义和定位知识。
将这两个新要素相结合,我们首次证明了模仿对数几率(logit)能够超越特征模仿,并且对于目标检测器的蒸馏而言,定位知识蒸馏比语义知识蒸馏更为重要且更高效。我们的蒸馏方案既简单又有效,能够轻松应用于不同的密集目标检测器。
将每个空间特征图的坐标(x,y)预测的bounding box的坐标的预测偏移的四个元素所组成的所有大集合,运用softmax转换为正态分布的四个正态分布,然后对正态分布之后的概率数值使用KL散度进行localization的回归知识蒸馏
提出了有价值的Valuable Localization Region,计算预定义anchor和GT的DIoU,设定一个区间,选择有价值的localization区域。
Overall Distillation Process:第一部分表示目标检测的任务损失;第二部分表示整体特征图的分类logist的KL散度和回归的softmax的正态分布KL散度,第三部分表示有价值区域的分类logist的KL散度和回归的softmax的正态分布KL散度,
2)Knowledge Distillation for DETR
ICCV 2023:DETRDistill: A Universal Knowledge Distillation Framework for DETR-families
基于 Transformer 的检测器(DETR,Detection Transformer)因其架构简洁而日益受到青睐,但其模型体积庞大且耗时较长,这阻碍了它们在现实世界中的部署应用。而知识蒸馏(KD)是一种颇具吸引力的技术,它可将大型检测器压缩为小型检测器,同时能保持相近的检测性能并降低推理成本。由于 DETR 将目标检测构建为一个集合预测问题,现有的为经典的基于卷积的检测器所设计的知识蒸馏方法可能无法直接适用。
在本文中,我们提出了 DETRDistill,这是一种专门针对 DETR 系列的新型知识蒸馏方法**。具体而言,我们首先设计了一种匈牙利匹配对数几率蒸馏方法,以促使学生模型做出与教师 DETR 模型完全相同的预测**。然后,我们提出了一种目标感知特征蒸馏方法,帮助学生模型学习教师模型中以目标为中心的特征。最后,为了提高学生 DETR 模型的收敛速度,我们引入了一种查询先验分配蒸馏方法,以加速学生模型从训练良好的查询以及教师模型稳定的分配中进行学习。在 COCO 数据集上进行的大量实验结果验证了我们所提方法的有效性。值得注意的是,DETRDistill 能使各类 DETR 模型的平均精度(mAP)持续提升 2.0 以上,甚至超过了它们对应的教师模型。
针对于DETR与常见目标检测模型不同的问题,作者提出了基于DETR的知识蒸馏方法。
Target-aware Feature Distillation:对于特征的蒸馏,作者使用教师预测的Query和教师预测的ci and bpredi denote the classification score and the predicted box from the i-th teacher’s query来作为mask优化特征的蒸馏:
Hungarian-matching Logits Distillation:对于prediction的输出,作者使用匈牙利的bipartite match-cost loss来优化positive query和negative query的输出:
Query-prior Assignment Distillation:对于learnable Query的蒸馏,作者使用教师的assignment 参数来生成学生的预测,并于教师的query做匈牙利匹配的match蒸馏损失
arXiv 2022:D3ETR: Decoder Distillation for Detection Transformer
作者对于DETR的transformer decoder部分进行蒸馏。作者设计了两个分支,第一个分支是adaptive分支,第二个辅助分支是fixed分支。fixed分支是将教师的query作为输入到学生模型中得到的输出。对于每一个分支,蒸馏损失分为self-attention矩阵的蒸馏,cross-attention矩阵的蒸馏,以及prediction的蒸馏。
CVPR 2024:KD-DETR: Knowledge Distillation for Detection Transformer with Consistent Distillation Points Sampling
由于不同的基于DETR的目标检测模型自适应学习的object queries是不同的,直接对object query进行一对一的知识蒸馏,会导致inconsistent,并导致图像性能衰减。因此,作者对query进行选择,作者将学生的query固定并在每个iteration中进行重采样,将教师模型的query直接拿过来用于学生模型的specific query。并将query输入教师模型得到最大的分类预测概率输出作为Distillation的weights
Knowledge Distillation for Heterogeneous Object Detector Pairs
ICCV 2021:G-DetKD: Towards General Distillation Framework for Object Detectors via Contrastive and Semantic-guided Feature Imitation
提出了一个general的KD目标检测方法,distilling knowledge for both homogeneous and heterogeneous detectors pairs,核心贡献有两点,包含Semantic Guided Feature Imitation (SGFI)和Exploiting Region Relationship with Contrastive KD (CKD)
Semantic Guided Feature Imitation (SGFI)
考虑到学生网络的FPN特征有多层,教师网络的FPN网络有多层。各层之间的关系都需要被探索。作者提出了一种SGFI来探索多层学生与多层教师特征层的关系。
目标相似性计算是目标proposal或者instance实例级别的RoI特征,首先,作者通过特征拼接把学生模型的FPN所有stage的对应于RoI的特征拼接得到Si属于LxHxWxC, 其中L表示FPN的level层总数。然后通过embed转换为NLxCkey的矩阵,同时教师的RoI分配到FPN特定stage的特征Ti也通过embed编码为1xCkey的矩阵,通过两个矩阵相乘和softmax操作得到一个NLx1的相似性矩阵,然后与学生各层FPN的RoI对应特征加权相加得到学生的聚合特征Sagg,使用MSE loss对Sagg和教师RoI特征Ti进行知识蒸馏,公式表达为:
Exploiting Region Relationship with Contrastive KD (CKD):对比学习,教师和学生模型对于同一个instance的RoI feature为positive samples,教师和学生模型的不同instance的RoI feature属于negative samples,然后视同InfoNCE loss来最小化positive samples的距离,最大化negative samples的距离,定义样本特征的距离为cosine similarity的e指数
由于anchor具有很大的冗余性,空间上会出现特征重叠,所以如果将IoU耦合在一起的重叠的anchor分配为negative samples。如果强行将这些有IoU重叠的proposal拉远他们的距离,会导致 instability during training。因此作者使用IoU阈值来过滤highly overlapping的proposal boxes
proposal with large overlaps may contain similar semantics, thus pushing them away may cause instability during training.
ECCV 2022:HEAD: HEtero-Assists Distillation for Heterogeneous Object Detectors
传统的目标检测知识蒸馏(KD)方法主要聚焦于同构的教师 — 学生检测器。然而,为部署而设计的轻量级检测器往往与大容量检测器存在显著差异。因此,我们针对异构的教师 — 学生对之间的知识蒸馏进行研究,以使其能得到广泛应用。
我们发现异构知识蒸馏(hetero-KD)的核心难点在于,由于优化方式不同,异构检测器的主干特征之间存在显著的语义差异。传统的同构知识蒸馏(homo-KD)方法受此差异影响,很难直接在异构知识蒸馏中获得令人满意的性能。
在本文中,我们提出了异构辅助蒸馏(HEtero-Assists Distillation,HEAD)框架,利用异构检测头作为辅助来引导学生检测器的优化,以缩小这一差异。在 HEAD 框架中,辅助部件是一个附加的检测头,其架构与教师检测头同构,并连接到学生检测器的主干网络上。这样一来,异构知识蒸馏就被转换为同构知识蒸馏,从而能够实现从教师模型到学生模型的高效知识传递。
此外,当没有经过良好训练的教师检测器可用时,我们将 HEAD 框架扩展为无教师 HEAD(Teacher-Free HEAD,TF-HEAD)框架。与当前的检测知识蒸馏方法相比,我们的方法取得了显著的改进
提出了Assistant Head,考虑学生和教师模型的架构是异构的,给学生添加一个和teacher同构的检测头。
对于教师和学生的同类检测头,作者设计了Assistant-based KD,LA损失包含Assistant-Head的学生检测头损失,还有教师head和学生Assistant head的多层级检测头特征的MSE蒸馏loss
对于教师和学生的异构检测头,作者采样每个RoI的特征,与教师和学生对应的anchor features对应的部分进行MSE蒸馏损失。
NeurIPS 2022:PKD: General Distillation Framework for Object Detectors via Pearson Correlation Coefficient
作者使用1-PCC系数分数来考虑教师模型与学生模型之间的correlation作为蒸馏损失
Teacher Free Knowledge Distillation for Object Detectors
ECCV 2020:MimicDet: Bridging the Gap Between One-Stage and Two-Stage Object Detection
在本文中,我们提出了 MimicDet,这是一种新颖且高效的框架,旨在通过直接模仿双阶段特征来训练单阶段检测器,以缩小单阶段和双阶段检测器之间的精度差距。与传统的模仿方法不同,MimicDet 为单阶段和双阶段检测器设置了一个共享主干网络,然后分支为两个检测头,它们经过精心设计,具备可相互模仿的兼容特征。因此,MimicDet 能够进行端到端的训练,无需对教师网络进行预训练。而且成本并没有大幅增加,这使得采用大型网络作为主干网络变得切实可行。
我们还进行了几项专门的设计,比如双路径模仿(conduct mimicking in classification and regression branches individually)和交错式特征金字塔(obtains high-resolution features for T-head and low-resolution features for Shead from different layers of the feature pyramid),以促进模仿过程。在极具挑战性的 COCO 检测基准数据集上进行的实验证明了 MimicDet 的有效性。在 COCO 测试开发集上,采用 ResNeXt-101 作为主干网络时,它实现了 46.1 的平均精度(mAP),显著超越了当前的先进方法。
ECCV 2020:LabelEnc: A New Intermediate Supervision Method for Object Detection
在本文中,我们提出了一种新的中间监督方法,名为标签编码(LabelEnc),旨在促进目标检测系统的训练。其核心思路是引入一种新颖的标签编码函数Anto-Encoder,将真实标签映射到潜在嵌入空间,在训练期间作为对检测主干网络的一种辅助性中间监督手段。
我们的方法主要涉及一个两步式的训练流程。首先,我们通过在标签空间中定义的一个自动编码器来优化标签编码函数,以此来逼近目标目标检测器的 “理想” 中间表示形式。其次,利用已学习到的标签编码函数,我们为检测主干网络引入了一种新的辅助损失,从而提升派生检测器的性能。
实验表明,我们的方法能使多种目标检测系统在 COCO 数据集上的性能提升约 2%,无论是单阶段还是双阶段框架均是如此。而且,这些辅助结构仅在训练期间存在,也就是说,在推理阶段完全不会产生额外成本。
First, to learn the label encoding function, we train an AutoEncoder architecture, embedding the ground-truth labels into the latent space according to the (approximated) optimal detection head
Second, with the help of the learned label encoding function, we optimize Eq. 2 under the auxiliary supervision R(f(I; θf ), y) and detection loss function.
AAAI 2022:LGD: Label-Guided Self-Distillation for Object Detection
Label-appearance Encoder:将一个object instance的label的坐标信息和类别信息使用PointNet编码为一个256维度的intermediate feature dimension,
Appearance Encoder把每个object的特征使用mask矩阵提取出来
Inter-Object Relation Adapter:使用cross-attention,把每个目标的appearance embedding作为query,label embedding作为key和value
最后得到所有object的interacted embeddings
Intra-object Knowledge Mapper:通过非线性变换整合所有object的interacted embeddings为一个整体向量XpI,与原网络自身的输入通过adapt调整之后的特征XpS进行知识蒸馏。
总的损失函数:Xl接入检测头做目标检测损失,原网络的X接入目标检测头做检测损失,加上Ldistill蒸馏损失
ICCV 2023:Spatial Self-Distillation for Object Detection with Inaccurate Bounding Boxes
由于高质量标注数据获取成本高昂,或者偶尔不可避免地会出现标注质量较低(例如微小目标)的情况,通过不精确边界框监督进行目标检测引起了广泛关注。以往的工作通常利用高度依赖类别信息的多示例学习(MIL)来选择并优化低质量的边界框。这些方法由于没有挖掘空间信息,存在目标偏移、群体预测以及局部主导等问题。
在本文中,我们启发式地提出了一种基于空间自蒸馏的目标检测器(Spatial Self-Distillation based Object Detector,SSD-Det),通过挖掘空间信息以自蒸馏的方式来优化不精确的边界框。SSD-Det 利用空间位置自蒸馏(Spatial Position Self-Distillation,SPSD)模块来挖掘空间信息,并采用一种交互结构将空间信息与类别信息相结合,从而构建出一个高质量的候选框集合。为进一步改进选择流程,SSD-Det 中引入了空间一致性自蒸馏(Spatial Identity Self-Distillation,SISD)模块,以获取空间置信度来帮助选出最佳的候选框。在带有噪声边界框标注的 MS-COCO 和 VOC 数据集上进行的实验验证了我们方法的有效性,并且该方法取得了当前最先进的性能。