Abstract

相比于图像分类而言,目标检测器更加复杂,具有多个损失函数。而目前的的检测中,其主要将注意力集中在对象的区域中,但本文指出,从背景中提取的特征信息对于学生模型的学习也是必不可少的。且由于目标区域和背景区域包含的信息不同,所以所授予的权重也应该时不同的。在此基础上,本文提出了一种新的基于解耦特征的蒸馏算法DeFeat,性能有所提升,

1. Introduction

先介绍了为了提升目标检测的准确性,计算资源成本的增加和检测速度的明显降低。解决方法有:量化、剪枝、网络设计和知识蒸馏等。接下来介绍了几个基于知识蒸馏的目标检测算法,FGFI让学生网络学习教师网络目标的附近锚定位置;TADF通过颈部特征中的高斯mask对对象区域和检测头中的正样本作为学生网络学习对象。但这些方法仅从目标区域提取知识,忽略背景。

通过实验可知,即仅通过背景区域特征提取学生也可以显著提高学生的学习能力,甚至可以获得与通过目标区域提取学生相类似的结果(如下图)。

之前的文献也有表明,物体和背景之间有很强的关系,对象可能性P(O∣Vo,Vb)=P(O∣Vb)P(Vo∣O,Vb)P(Vo∣Vb)P (O|V_o, V_b)=P (O|V_b)\frac{P (V_o|O,V_b)}{P (V_o|V_b)}P(O∣Vo​,Vb​)=P(O∣Vb​)P(Vo​∣Vb​)P(Vo​∣O,Vb​)​ 。其中,Vo,VbV_o, V_bVo​,Vb​表示目标特征和背景特征,通过公式可知,所有的概率都与背景信息有关。同时,通过观察以前的论文可知:目标区域和背景区域都可以通过蒸馏独立地受益于目标检测,但一旦集成在一起,性能会下降。

基于上述分析,提出将知识蒸馏的特征解耦,并分别赋予不同的重要性,包含两个阶段的特征:即FPN特征和ROI-Aligned特征。使用 ground-truth mask将FPN特征分割成目标和背景,并在教师和学生之间使用均方误差损失:ROI-Aligned特征也被分为pos和neg部分,基于这些解耦的RoI-Aligned特征生成的分类分数是使用KL散度损失来得到的。

2. Related Work

综上所述,现有的目标检测提取框架忽略了背景区域在中间特征中的重要作用和分类头中的负区域proposal(但对整个特征映射的模拟和分类头中的提取都忽略了前景和背景的不平衡,这可能导致次优结果)。

3. Distillation via Decoupled Features

一般来说,目标检测器由三到四个部分组成:1)backbone-用于提取特征 2)neck-融合多层特征 3)RPN-用于生成proposals 4)开始对象分类和边界看回归。蒸馏的目的是让学生网络学习教师网络的知识,可以是中间层特征或分类头中的propos的软预测。

定义S∈RH×W×C和T∈RH×W×CS ∈ R^{H×W ×C} 和 T ∈ R^{H×W ×C}S∈RH×W×C和T∈RH×W×C分别为学生和教师的中间特征。通过中间特征进行蒸馏的表述为:
Lfea=γ2N∑h=1H∑w=1W∑c=1CI(ϕ(Sh,w,c)−Th,w,c)2L_{fea} = \frac{\gamma}{2N}\sum_{h=1}^{H}\sum_{w=1}^{W}\sum_{c=1}^{C}{I(\phi(S_{h,w,c}) − T_{h,w,c})^2} Lfea​=2Nγ​h=1∑H​w=1∑W​c=1∑C​I(ϕ(Sh,w,c​)−Th,w,c​)2
其中N=HWCN=HWCN=HWC是元素总数 , γ\gammaγ为蒸馏损失的调节系数, ϕ\phiϕ表示适应层, III表示掩膜。

对RPN输出的K个区域的proposals, 分类头需要计算所有proposals的软标签。通过软标签预测的蒸馏可表述为:
Lcls=1K∑i=1KLCE(yis,Yi)+λK∑i=1KLKL(yis,yit)L_{cls} = \frac{1}{K}\sum_{i=1}^{K}L_{CE}(y^s_i , Y_i)+\frac{\lambda}{K}\sum_{i=1}^{K}L_{KL}(y^s_i , y^t_i) Lcls​=K1​i=1∑K​LCE​(yis​,Yi​)+Kλ​i=1∑K​LKL​(yis​,yit​)
超参数λ\lambdaλ用来平衡不同的损失,LCEL_{CE}LCE​和LKLL_{KL}LKL​分别表示交叉熵损失和KL散度损失,YiY_iYi​表示真实值,yis,yity^s_i , y^t_iyis​,yit​分别表示

学生预测标签和老师预测标签。学生网络的整体损失为:
L=Lfea+Lcls+Lreg+LrpnL = L_{fea} + L_{cls} + L_{reg} + L_{rpn} L=Lfea​+Lcls​+Lreg​+Lrpn​
LregL_{reg}Lreg​ 是边界盒回归损失, LrpnL_{rpn}Lrpn​是RPN损失

3.1 Decouple Intermediate Features in Distillation

如下图所示。,仅通过背景区域的蒸馏仍然可以获得与仅通过对象区域的蒸馏相当的结果, 因此中间特征中的背景区域可以补充目标区域,进一步帮助学生检测器的训练。问题是如何在蒸馏过程中适当的整合这两类区域。

基于以上观察,通过解耦特征提取学生。对于尺寸为H×WH × WH×W的特征, 首先我们根据ground-truth生成一个二值掩码M:
Mi,j=1[(i,j)∈B]M_{i,j} = 1\quad[(i, j) ∈ B] Mi,j​=1[(i,j)∈B]
其中M∈{0,1}H×WM ∈ \{0, 1\}^{H×W}M∈{0,1}H×W,如果(i,j)(i,j)(i,j)属于对象,则M=1M=1M=1,否则为0。如果detector包含可以输出多层特征的FPN,就将每个ground-truth分配到相应级别,然后分别生成掩码M。最后使用生成的二进制掩码来解耦颈部特征。

中间特征的蒸馏损失为:
Lfea=αobj2Nobj∑h=1H∑w=1W∑c=1CMh,w(ϕ(Sh,w,c)−Th,w,c)2+αbg2Nbg∑h=1H∑w=1W∑c=1C(1−Mh,w)(ϕ(Sh,w,c)−Th,w,c)2L_{fea} = \frac{α_{obj}}{2N_{obj}}\sum_{h=1}^{H}\sum_{w=1}^{W}\sum_{c=1}^{C}M_{h,w}(\phi(S_{h,w,c}) − T_{h,w,c})^2+\frac{α_{bg}}{2N_{bg}}\sum_{h=1}^{H}\sum_{w=1}^{W}\sum_{c=1}^{C}(1-M_{h,w})(\phi(S_{h,w,c}) − T_{h,w,c})^2 Lfea​=2Nobj​αobj​​h=1∑H​w=1∑W​c=1∑C​Mh,w​(ϕ(Sh,w,c​)−Th,w,c​)2+2Nbg​αbg​​h=1∑H​w=1∑W​c=1∑C​(1−Mh,w​)(ϕ(Sh,w,c​)−Th,w,c​)2
其中, Nobj=C∑h=1H∑w=1WMw,hN_{obj} = C\sum_{h=1}^{H}\sum_{w=1}^{W}M_{w, h}Nobj​=C∑h=1H​∑w=1W​Mw,h​,,表示目标区域的元素数, Nobj=C∑h=1H∑w=1W(1−Mw,h)N_{obj} = C\sum_{h=1}^{H}\sum_{w=1}^{W}(1-M_{w, h})Nobj​=C∑h=1H​∑w=1W​(1−Mw,h​),表示背景元素的个数。αobj,αbg\alpha_{obj}, \alpha_{bg}αobj​,αbg​分别表示目标区域和背景区域的系数

3.2. Decouple Region Proposals in Distillation

目标对象(positive)的蒸馏损失始终大于背景(negative)的蒸馏损失.如果不平衡两者,则背景proposals产生的小梯度会淹没在positive proposas的大梯度中,从而限制进一步细化。因此,我们建议在提取分类头时,将区域建议解耦为正(对象)propoals和负(背景)proposals,以达到最佳收敛。我们将教师检测器生成的区域建议输入教师和学生的头部,以生成类别预测ptp_tpt​和psp_sps​,positive proposal和negative proposal分别处理,如下图所示:

对于positive proposals的概率zzz,使用温度TobjT_{obj}Tobj​来软化(这是温度为T的softmax):
ps,Tobj(c∣θs)=exp(zcs/Tobj)∑j=1Cexp(zjs/Tobj)c∈Yp^{s,T_{obj}} (c | θ^s) = \frac {exp(z^s_c/T_{obj})}{\sum_{j=1}^{C}exp(z^s_j /T_{obj})}\;c ∈ Y ps,Tobj​(c∣θs)=∑j=1C​exp(zjs​/Tobj​)exp(zcs​/Tobj​)​c∈Y

pt,Tobj(c∣θt)=exp(zct/Tobj)∑j=1Cexp(zjt/Tobj)c∈Yp^{t,T_{obj}} (c | θ^t) = \frac {exp(z^t_c/T_{obj})}{\sum_{j=1}^{C}exp(z^t_j /T_{obj})}\;c ∈ Y pt,Tobj​(c∣θt)=∑j=1C​exp(zjt​/Tobj​)exp(zct​/Tobj​)​c∈Y

其中,θs\theta^{s}θs和θt\theta^tθt分别表示教师学生网络和教师网络的参数,Y={1,2,...,C}Y = \{1, 2, ..., C\}Y={1,2,...,C}是类别。

为了从教师中提取学生的知识,使用了KL散度:
Lcls=βobjKobj∑i=1KbiLKL(pis,Tobj,pit,Tobj)+βbgKbg∑i=1K(1−bi)LKL(pis,Tbg,pit,Tbg)L_{cls} = \frac{β_{obj}}{K_{obj}}\sum_{i=1}^{K}b_iL_{KL}(p_i^{s, T_{obj}}, p_i^{t, T_{obj}}) +\frac{β_{bg}}{K_{bg}}\sum_{i=1}^{K}(1-b_i)L_{KL}(p_i^{s, T_{bg}}, p_i^{t, T_{bg}}) Lcls​=Kobj​βobj​​i=1∑K​bi​LKL​(pis,Tobj​​,pit,Tobj​​)+Kbg​βbg​​i=1∑K​(1−bi​)LKL​(pis,Tbg​​,pit,Tbg​​)

LKL(ps,T,pt,T)=T2∑c=1Cpt,T(c∣θt)logpt,T(c∣θt)ps,T(c∣θs)L_{KL}(p^{s,T} , p^{t,T} ) = T^2\sum_{c=1}^{C}p^{t,T}(c|θ^t)log\frac{p^{t,T}(c | θ_t)}{p^{s,T}(c|θ^s)} LKL​(ps,T,pt,T)=T2c=1∑C​pt,T(c∣θt)logps,T(c∣θs)pt,T(c∣θt​)​

其中,bib_ibi​表示真实对象的第i个标签,βobj\beta_{obj}βobj​和βbg\beta_{bg}βbg​表示阳性和阴性的系数,Kobj=∑ibiK_{obj}=\sum_{i}b_iKobj​=∑i​bi​和Kbg=∑i(1−bi)K_{bg}=\sum_{i}(1-b_i)Kbg​=∑i​(1−bi​)表示positive proposals和negative proposals的数量。T2T^2T2用来保证梯度大小的比例。

4. Experiments

Distilling Object Detectors via Decoupled Features相关推荐

  1. 【CVPR 2021】基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features

    [CVPR 2021]基于解耦特征的目标检测知识蒸馏:Distilling Object Detectors via Decoupled Features 论文地址: 主要问题: 主要思路: 具体实现 ...

  2. Distilling Object Detectors with Fine-grained Feature Imitation(2019 CVPR KD)

    @[TOC](Distilling Object Detectors with Fine-grained Feature Imitation(2019 CVPR KD)) Abstract 我们表明, ...

  3. [目标检测知识蒸馏2] [CVPR19] Distilling Object Detectors with Fine-grained Feature Imitation

    [CVPR19] Distilling Object Detectors with Fine-grained Feature Imitation Introduction: 在 Faster RCNN ...

  4. 【没有哪个港口是永远的停留~ 论文简读】2019 Distilling Object Detectors with Fine-grained Feature Imitation

    链接:2019 Distilling Object Detectors with Fine-grained Feature Imitation 代码:https://github.com/twangn ...

  5. 【Distill 系列:二】CVPR 2019 Distilling Object Detectors with Fine-grained Feature Imitation

    cvpr 2019 detectors care more about local near object regions motivation Fitnets: Hints for thin dee ...

  6. Distilling Object Detectors with Fine-grained Feature Imitation

    Motivation 检测起更focus在物体出现的区域 Detectors care more about local near object regions. 物体出现的周围特征变化其实包含了更多 ...

  7. Distilling Object Detectors with Fine-grained Feature Imitation论文解读

    论文链接 文章目录 1.简介 2.方法 2.1 模仿区域的估计 2.2 细粒度特征模仿 1.简介 对于以往应用于知识蒸馏的目标检测存在两种方法.第一种来自于论文FitNets: Hints for T ...

  8. 【论文总结】Incremental Learning of Object Detectors without Catastrophic Forgetting(附翻译)

    Incremental Learning of Object Detectors without Catastrophic Forgetting 无灾难性遗忘的增量学习目标检测器 论文地址:https ...

  9. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

    来源:https://arxiv.org/abs/2207.02696 代码:https://github.com/WongKinYiu/yolov7 0. Abstract YOLOv7 surpa ...

最新文章

  1. 2021年传感器行业的机遇与风险 | 深度思考
  2. 中国小孩为何普遍爱吃洋快餐?[转]
  3. 裕民银行 x mPaaS | 移动应用“适老化”改造,可不止是字体变大
  4. C++ 流体效果的实现
  5. 个人成长:拉开你和同龄人差距的100个顶级认知
  6. java 文件缓冲区_Java开发笔记(八十六)通过缓冲区读写文件
  7. 武义机器人_喜报!武义县壶山小学获评浙江省中小学新型教学空间优秀案例
  8. AndroidStudio_安卓原生开发_AsyncTask异步处理使用_AsyncTaskLoader---Android原生开发工作笔记139
  9. JAVA开发类似冒险岛的游戏Part1
  10. 洛谷 P2372 yyy2015c01挑战算周长
  11. 电源大师课笔记 2.5
  12. 谷粒商城学习笔记(一)
  13. 使用nginx + uwsgi部署自己的django项目
  14. 解压文件时,系统找不到指定路径
  15. python实验总结与反思_近期总结与反思
  16. RFID仓库管理系统解决方案有哪些功能模块
  17. 初创企业适用的邮件群发软件
  18. 小红书商品详情API接口(商品详情页面数据接口)
  19. 龙迅LT7911D Type-C/DP/eDP to MIPI DSI/CSI/LVDS 信号转换芯片
  20. 解耦java_工厂模式实现解耦

热门文章

  1. Cordova进阶:插件开发
  2. 【读论文-笔记】——1.沐神读Alexnet
  3. postgresql: pg_ctl -D data start 出现 postgres aaaaaaaaaaaaaaaaaaaaaaaaa C:/Users/huang zhen yang/dat
  4. 图像分类算法优化技巧
  5. PLC学习笔记(一):概述
  6. QQ拼音输入法 该到放弃的时候了
  7. react-native Error installing Flipper-Glog
  8. Geometry Processing 几何处理 7
  9. 两个不规则四边形IOU计算方法
  10. 推荐 15 款编程游戏,从此谁都可以学编程!