参考代码:LD
1. 概述
导读:这篇文章研究的是检测场景下的知识蒸馏方案。在该场景下的蒸馏有采取直接将对应特征图匹配到对应维度之后做特征图差异最小化,也有使用Teacher输出的GT作为引导排除大量背景等无关信息的。在这篇文章中参考和借鉴了在原分类网络中做蒸馏的思想,也就是在网络输出概率分布软化之后做蒸馏。因而这篇文章就使用到GFocal的边界框回归方案,这样就可以直接在输出的概率分布上做蒸馏,从而避免了Teacher和Student网络结构不对应带来的匹配问题,因此更加灵活。在实际进行蒸馏的时候文章指出直接将大小模型进行蒸馏其实是次优的策略,因而提出了一种渐进蒸馏的方案。除了传统上将大小模型进行蒸馏,文章也指出可以使用Self-Distillation的方法实现更加稳定的训练和达到更好的结果。
在检测场景下会遇到一些边界模糊的场景,如下图中红色的虚线圈处:
直接使用传统的只是蒸馏策略是很难显式捕获到这些信息的,需要对其进行建模,而GFocal正是完成此项任务的,因而这篇文章就是在GFocal输出概率分布基础上实现蒸馏。
2. 方法设计
2.1 Localization Distillation(LD)
在GFocal中边界框的输出是区间上概率分布,每条边的回归值可以描述为离散积分的形式(具体请参考GFocal论文):
e ^ = e T p = ∑ i = 1 n e i P r ( e i ) , e ∈ { l , r , b , t } \hat{e}=e^Tp=\sum_{i=1}^ne_iPr(e_i),\ e\in\{l,r,b,t\} e^=eTp=i=1∑neiPr(ei), e∈{
l,