【论文原文】:Distilling Object Detectors via Decoupled Features
获取地址:https://arxiv.org/abs/2103.14475
博主关键词: 目标检测,知识蒸馏
推荐相关论文:
无
摘要:
知识蒸馏是一种广泛使用的范式,用于将信息从复杂的教师网络继承到紧凑的学生网络并保持强劲的表现。与图像分类不同,目标检测器更加复杂,具有多个损失函数,其中语义信息所依赖的特征是混乱的。在本文中,我们指出,从排除目标的区域获得的特征信息对于提取学生检测器也是必不可少的,这在现有方法中通常被忽略。此外,我们阐明了在蒸馏过程中为来自不同地区的特征分配不同的重要性。为此,我们提出了一种通过解耦特征(DeFeat)的新型蒸馏算法,用于学习更好的学生检测器。具体来说,处理两个级别的解耦特征,以便将有用的信息嵌入到学生中,也就是从颈部分离特征,从分类头分离建议。在具有不同骨干的各种检测器上进行的广泛实验表明,所提出的DeFeat能够超越最先进的蒸馏方法进行目标检测。例如DeFeat将基于ResNet50的Faster R-CNN从37.4%提高到40.9% mAP,并将基于ResNet50的RetinaNet从 COCO 基准测试的36.5%提高到39.7%。我们的工具可在 https://github.com/ggjy/DeFeat.pytorch 获得。
简介:
作为计算机视觉的基本任务之一,目标检测在包括自动驾驶和监控视频分析在内的各种实际应用中越来越受到关注。深度学习的最新进展引入了许多基于卷积神经网络的目标检测解决方案。检测器的骨干通常由繁重的卷积操作组成,以产生对检测精度至关重要的密集特征。但这样做不可避免地会导致计算资源成本急剧增加,检测速度明显下降。已经开发了诸如量化[19,58,31,57,62],剪枝[2,17,20],网络设计[55,49,15,18]和知识蒸馏[56,6]等技术来克服这一困境并实现对检测任务的有效推理。我们对知识蒸馏特别感兴趣[24],因为当有经过性能验证的教师网络可用时,它提供了一种优雅的方式来学习紧凑的学生网络。首先针对分类任务开发经典知识蒸馏方法,以确定图像属于哪个类别。来自软标签输出[24, 28, 38, 13]或优化良好的教师网络的中间特征[1,23,66]的信息已被很好地用于学习学生网络,但这些方法不能直接扩展到需要进一步找出对象位置的检测任务。
在对象检测任务中有一些研究知识蒸馏的尝试。例如,FGFI [56] 要求学生网络在近对象定位点位置上模仿教师网络。TADF [47] 通过颈部特征中的高斯掩蔽物体区域和检测头中的阳性样本来提炼学生。这些工作只是从对象区域提取知识,因为背景区域被认为在检测任务中不感兴趣。直观地说,在蒸馏过程中,背景区域可能会引入大量噪声,并且很少被探索。但是在进行蒸馏时缺乏对背景区域的彻底分析。因此,草率决定丢弃背景区域可能并不明智。最重要的是,背景信息已被证明有助于视觉识别[53,46,9,16]。与其猜测背景区域对蒸馏毫无用处甚至有害,不如对背景进行公平彻底的分析,让事实说话。
我们首先通过比较两种方法来研究目标和背景区域在知识蒸馏中的作用:(i)仅通过目标区域FPN特征进行蒸馏,(ii)仅通过背景区域FPN特征进行蒸馏。人们理所当然地认为,当通过教师检测器的背景区域蒸馏时,学生不会得到显著增强,因为背景信息量较小且嘈杂[56]。然而,在对各种模型和数据集进行大量实验后,我们观察到一个令人惊讶的结果,即仅通过背景区域特征蒸馏学生也可以显著提高学生的能力,甚至可以达到与通过对象区域蒸馏相当的结果(图4)。我们通过提炼背景功能进一步探索性能改进的来源。以COCO的两个类别为例(见图1),我们进行了误差分析[25],发现通过背景区域蒸馏有效地减少了背景误报的数量。
Fig. 1. Error analyses of different distillation methods on COCO minival. KD via background regions alleviates the false positiverate and achieves comparable result with KD via object regions. Cor: correct class (IoU > 0.5). Loc: correct class but misalignedbox (0.1 < IoU < 0.5). Sim: wrong class but correct supercate-gory (oU > 0.1). Oth: wrong class (IoU > 0.1). BG: backgroundfalse positives oU < 0.1). FN: false negatives (remaining errors).
Fig. 4. Comparisons of different distillation regions and various distillation loss coefficients on COCO. Left: ResNet152 basedFPN teacher distills a shallower ResNet50-FPN student. Right: ResNet50-FPN teacher distills a narrower Quartered-ResNet50-FPN student (number of backbone channels is quartered)
上述证据表明,背景区域实际上可以作为对目标区域的补充。除此之外,先前的文献表明物体与背景之间存在很强的关系[53,69]。所有概率都与背景信息有关,背景信息提供了找到物体的可能性的估计(例如,一个人不太可能在房间里找到一辆车)。基于背景的先验因不同的图像而异[69],因此我们需要学习背景特征以获得更好的预测。然而,前面的工作[6,30]将物体和背景区域都考虑在内,未能证明上述有希望的预期是合理的。尽管他们利用了两种类型的区域,但与仅使用对象区域的学生相比,学生并没有显著改善,这似乎与[56]所指示的现象一致。无论是物体还是背景区域,都可以通过蒸馏独立地使物体检测受益,但是一旦它们集成在一起,性能就会意外下降。原因可能是他们的方法直接整合了这两种类型的区域。从梯度的角度来看,我们在图2中说明了对象和背景区域之间的不一致。左列图像是从COCO训练集中随机选择的,右列的图像是学生检测器中颈部特征的对应梯度。我们可以观察到,来自对象区域的梯度大小始终大于来自背景区域的梯度大小。因此,这提醒我们蒸馏过程中物体区域和背景区域的重要性不同。
基于这些富有洞察力的观察,我们建议将用于知识蒸馏的特征解耦,并强调它们在蒸馏过程中的独特重要性。包括两个级别的功能,即FPN功能和RoI对齐功能。使用真实掩膜将FPN特征分割为对象和背景部分,并在教师和学生之间应用均方误差损失。与RoI对齐的特征也使用教师的预测区域建议解耦为正部分和负部分。使用KL散度损失提取基于这些解耦RoI对齐特征生成的分类逻辑。所得的DeFeat算法可以自适应地整合到一级和两级探测器中,以提高检测精度。为了验证我们的方法,我们在各种场景下对Faster R-CNN[43]和RetinaNet[34]进行了广泛的实验,包括在两个常见检测基准PASCAL VOC[12]和COCO[35]上对浅层学生和窄层学生进行蒸馏。特别是,我们的DeFeat将基于ResNet50的FPN从37.4%提高到40.9%的mAP,将基于ResNet50的RetinaNet从36.5%提高到39.7%。
Fig. 3. Overview of the proposed distillation via decoupled features (DeFeat) framework, We decouple the regions in intermediate FPN features and the region proposals from RPN to distill the student detector. The terms "score (pos) and "score (neg)" indicate theclassification scores on positive and negative proposals, respectively.