Task-balanced distillation for object detection用于

Task-balanced distillation for object detection用于目标检测的任务平衡蒸馏

摘要

主流的目标检测器通常由分类和回归两个子任务组成,由两个并行头部实现。这种经典的设计范式不可避免的导致分类得分和定位质量(IOU)之间的空间分布不一致。因此,本文从知识蒸馏的角度缓解了这种偏差。首先,我们观察到,与轻量级学生相比,大的教师实现了更高比例的和谐预测基于这一有趣的观察,设计了一个新的和谐分数来估计分数和回归质量的一致性HS对两个子任务之间的关系进行建模,并被视为促进学生和谐预测的先验知识。其次,这种空间错位会导致特征提取时区域选择不协调。为了解决这一问题,通过灵活地平衡分类和回归任务的共线,提出了一种任务解耦特征蒸馏(TFD)方法。其中,HD和TFD构成了所提出的方法,称为任务平衡蒸馏(TBD)。大量的实验证明了该方法的巨大潜力和推广价值。

介绍

为了生成目标的位置坐标和相应的标签,现代目标检测通常采用多任务管道,该管道由两个并行头实现的分类和回归分支组成。然而,这种并行实现可能导致分类分数和回归质量(IOU)的分布不一致。如图1最上面的子图显示,vanilla RetinaNet输出人与摩托车重叠的不一致预测。

image-20240314190638226

具体来说,绿色候选包含高分但低IOU,而橙色候选具有准确的bbox但得分低。当执行后处理(比如NMS)时,由于分类分数是NMS排名的一般标准,因此将保留得分较高的绿色分数(IOU低的)。因此具有准确bbox(橙色)的预测可能被错误地过滤掉。一般来说,这种不正确地过滤可以归结为分类精度和定位精度之间的分布不一致

先前的研究试图通过三种方式来克服这一问题,包括通过添加额外的头部(即IOUNet.Centerness)来重新组合NMS分数,关注一致区域,以及增强分类和回归任务之间的依赖关系以输出更和谐的预测。虽然这些研究在减轻空间分布不一致的影响方面取得了显著进展,但其动机和解决办法都来源于探测器本身。为了引出所提出的方法,我们仔细比较了教师和学生模型在处理这种情况时的行为不和谐分布。有价值的观察结果如下。一般来说,教师比学生更倾向于做出和谐的预测。我们计算易分类预测的IOU分布,如表1所示。

image-20240314192421216

总的来说,教师模型在实现高度一致的预测方面表现优异,同时保持较少的不协调预测。这一观察表明由于分类和回归质量的不同分布,一些容易分类的样本可能会对学生产生不准确的位置(例如,图1中出现的摩托车)。因此,一个有意义的问题是,在教师模型的帮助下,学生是否可以产生更和谐的预测。

此外,我们观察到两个子任务的不协调分布将影响提取特征时实质性区域的选择。由于在目标检测中,前景像素远小于背景像素,因此在将中间特征从教师传递给学生时,如何选择重要区域是一条有意义的路线先前的工作试图通过使用分类分支的预测来生成空间掩模来表示有意义的区域。该分类感知掩码用作空间权重,在传递中间特征时调整每个位置的贡献,如图(1)所示:
L o s s f e a t = ∑ i = 1 W ∑ j = 1 H M i , j c l s × ( F i , j t − F i , j s ) 2 Loss_{feat} = \sum _{i=1}^W \sum _{j=1}^H M_{i,j}^{cls} \times (F_{i,j}^t - F_{i,j}^s)^2 Lossfeat=i=1Wj=1HMi,jcls×(Fi,jtFi,js)2
image-20240314194425136表示分类感知掩码 ,image-20240314194435929表示教师和学生的特征。考虑到分类和定位之间的不协调分布,单纯利用分类信息可能会导致次优的区域选择。因此,另一个关键问题是,能否充分利用分类和定位信息来指导特征模仿是另一个关键问题

设计了一个新的和谐蒸馏(HD)组件来实现和谐预测的转换。首先定义和谐分数(HS),定量描述分类分值的偏差和相应的回归质量。特别是,HS越大意味着分类得分与回归质量正相关,反之亦然。其次,通过对师生模型的HS进行比对,推导出HD。**提出的HD提供了先验知识,对分类和回归之间的关系进行建模,以帮助为学生生成高质量的预测。**如表1所示,与以往基于蒸馏的方法不同,本文提出的HD的和谐预测比例显著提高,甚至超过了教师。

为了实现有效的特征模仿,一个新的任务解耦特征蒸馏(TFD)来整合分类和回归任务的信息首先利用相应的预测得到分类感知掩码和定位感知掩码此外,我们提出了一个任务协同权重生成(TWG)模块来平衡分类和回归任务的贡献,而不是讲这些掩码与启发式权重方案相结合。具体来说,TWG根据教师和学生的预测动态分配任务感知权重。

提出的TBD由上述HD和TFD组成,共同考虑了分类和定位的特性。

贡献

首先定义了一个新的和谐分数(HS)来捕捉分类质量和回归质量之间的关系。然后提出了一种新的和谐蒸馏(HD)来帮助学生生成和谐预测。

设计了一种新的任务解耦特征蒸馏(TFD)来模拟中间特征。通过平衡这两个任务的贡献,将分类掩模和回归掩模综合起来。

相关工作

和谐预测

不和谐预测的内容最初来源于文献[8],即分类和定位精度不一致的预测边界框。这种偏差使非最大值抑制(NMS)过程不可靠,因为NMS只只使用分类分数作为对proposal进行排序的度量,从而导致不准确的抑制。为了缓解这一问题,之前的研究[3,5,8-11]试图使预测更加和谐。解决这一问题的途径可以分为三类,包括重新制定排名指标,关注和谐区域,以及增强分类和定位任务的依赖关系。IOUNet利用额外的头部预测本地化感知分数,并重新定制NMS得分,以更加关注本地化任务。这一范式在FCOS和DIR等后续研究中得到推广。此外,FCOS基于观察到GT的中心区域通常具有较高的分类和回归精度,提出了一种定心采样策略。与这些方法不同,GFL将IOU纳入分类标签。TOOD提出了一种新的带有任务对齐学习的(TAL)的T-head,以增强分类任务和回归任务之间的交互性。HarmonicDet从损失函数提取的角度提高了预测一致性。

与以前的工作不同,本文提出的方法从知识蒸馏的角度产生和谐预测。我们首先定义和谐分数(HS)来捕捉分类分数和定位IOU之间的和谐关系。然后。教师模型的HS被视为先验知识,并最终在拟议的HD的监督下转移学生。

面向检测的知识蒸馏

知识蒸馏最初被Hinton等人提出,对繁琐的模型进行压缩,在图像分类方面取得了显著进展。现有的基于KD的方法大致可以分为基于响应的方法、基于特征的方法和基于关系的方法。此后,KD越来越多的应用于目标检测任务,取得了显著的改进。与图像分类任务相比,由于用于目标检测的图像通常包含大量背景像素,因此基于检测的知识蒸馏的技术路线之一是选择合适的蒸馏区域。Mimicking模拟了教师和学生proposal之间的特征差异。FGFI生成,靠近ground truth的区域应被视为关键的蒸馏区域。GID基于预测定义地理信息系统,并以实例方式提出蒸馏。Defeat 证实前景和北京区域都是有价值的,然后提出了一种空间解耦的蒸馏来实现特征模仿。PFI和FRS利用分类分数提出了一种预测导向的蒸馏方法。FGD进一步将空间和通道维度上的特征模仿解耦。PGD利用一级检测器的蒸馏头设计了一种预测导向的蒸馏管道。MGD试图将特征模仿修改为特征生成范式,并取得了令人印象深刻的效果。HEAD通过设计辅助模型致力于异构目标检测器的蒸馏。

TFD与上述的主要区别如下。我们从不和谐任务分布的角度重新审视有价值特征区域的选择。特别是,分类感知区域和定位感知区域都被认为是有价值的区域。此外,还提出了TWG模块来动态分配权重以平衡这两个任务的贡献。

所提出的方法

本节系统地阐述了TBD的总体架构。如图2所示,多提出的TBD由和谐蒸馏(HD)和任务解耦特征蒸馏(TFD)组成。

image-20240316143630655

和谐蒸馏

在本节中,我们逐步阐述了HD的推导过程。如上所述,分类分数和定位质量之间的差异会导致不正确的NMS抑制。因此,最重要的一点是量化这种差异,称为和谐分数(HS)。一般来说,HS的推导包括两个步骤:将预测结果转化为分类概率和回归概率,然后根据任务概率设计HS的表达式。

对于每个预测的边界框,image-20240316150616849分别表示分类分支和回归分支的输出。具体来说,image-20240316150702411是一个C维的分数向量,C表示类的数量。类似地,image-20240316150941501对从锚点(锚框或锚点)到实际预测的正则化偏移量进行编码。

任务特定概率的定义原则包括两个部分。首先,将概率幅值归一化为[0,1]。第二,概率越大,预测越准确。对于分类任务,通过使用归一化最大激活值简洁地优雅生成概率image-20240316155600872
P c = s o f t m a x ( m a x 1 < = K < = C P c l s K ) P_c = softmax(max_{1<= K <= C}P^K_{cls}) Pc=softmax(max1<=K<=CPclsK)
为分类预测的初始第K个元素,不传递sigmoid算子,softmax为空间方向的softmax函数,用于将保留的分类分数归一化为[0,1].

对于回归任务,实现与上面类似。具体来说,首先将归一化预测转换为实际的边界框。然后,我们评估每个边界框中的IOU得分和总体ground truth(gt)。对于每个预测框,仅保留最大的IOU作为回归概率image-20240316161255994
p r = m a x 1 < = g < = G I O U ( d e c o d e ( P r e g , G T g ) ) p_r = max_{1<= g <= G}IOU(decode(P_{reg},GT_g)) pr=max1<=g<=GIOU(decode(Preg,GTg))
式中,G为每幅图像中的gt个数,G定义为对应的索引。decode表示变换函数,得到实际预测。

根据等式(2)和(3),给定预测的边界框,分类和定位质量直接用二元元组image-20240316161802867表示。基于这一定义,可以毫不含糊地推导出HS的公式。理论上,HS的定义应该满足两个条件。首先,公式是单调递减。例如,分类概率和定位概率之间的微小差异表明鼓励一致性:因此,应实现高HS。其次,定义应该是有界的,这有利于避免不要的学习困境。基于上述准则,HS通过激活函数tanh进行排列。
Δ = ∣ p r − p c ∣ \Delta = |p_r - p_c| Δ=prpc

H S = 1 − t a n h ( Δ p ) = 2 × e − Δ p e − Δ p + e Δ p HS = 1-tanh(\Delta p) = 2 \times \frac{e^{-\Delta p}}{e^{-\Delta p}+e^{\Delta p}} HS=1tanh(Δp)=2×eΔp+eΔpeΔp

由于教师模式在处理不和谐预测方面比学生模式表现的更好,自然的想法是将教师的HS作为新知识来指导学生的学习阶段。为区分,上标t,s分别表示教师和学生的HS。另外,通过L1 损失进行知识转换。HD的表达示意图如下:
L H D = ∑ l = 1 L 1 H × W ∑ i = 1 W ∑ j = 1 ∣ H S i , j , l t − H S i , j , l s ∣ L_{HD} = \sum ^L _{l=1} \frac{1}{H \times W}\sum _{i=1}^W \sum _{j=1}|HS_{i,j,l} ^t - HS_{i,j,l} ^ s| LHD=l=1LH×W1i=1Wj=1HSi,j,ltHSi,j,ls
l为第l层FPN。i,j为空间位置,W和H分别对应预测的空间宽度和高度。此外,我们注意到等式6是在前景和背景预测的贡献相等的情况下计算的。为了突出前景预测的贡献,建立了IOU引导的和谐损失。利用教师模型生成的image-20240316164606357作为空间蒙版来提升重要前景位置的权重。此外,引入了动态调制因子image-20240316165007287,以放大与教师有较大性能差距的不忠实预测的损失。考虑以上两点,可将空间掩模image-20240316165248324和式(6)修正为:
ψ = p r , i , j , l t × 1 + ∣ p c , i , j , l t − p c , i , j , l s ∣ \psi = p_{r,i,j,l} ^ t \times \sqrt{1 + |p_{c,i,j,l} ^t - p_{c,i,j,l}^s| } ψ=pr,i,j,lt×1+pc,i,j,ltpc,i,j,ls

L H D = ∑ l = 1 L ∑ i = 1 W ∑ j = 1 H ψ i , j , l ∣ p c , i , j , l t − p c , i , j , l s ∣ ∑ m = 1 W ∑ j = 1 H ψ m , n , l L_{HD} = \sum _{l=1} ^L \frac{\sum _{i=1} ^W \sum_{j=1}^H \psi _{i,j,l}|p_{c,i,j,l}^t - p_{c,i,j,l} ^s|}{\sum _{m=1}^W\sum_{j=1}^H \psi_{m,n,l}} LHD=l=1Lm=1Wj=1Hψm,n,li=1Wj=1Hψi,j,lpc,i,j,ltpc,i,j,ls

任务解耦特征蒸馏

基于FPN特征image-20240316170607007构造任务解耦特征蒸馏(TFD)。原因可以从两个方面解释:一方面,蒸馏FPN特征可以方便地同时模仿骨干和FPN特征。另一当面,由于最近的大多数研究都是对FPN特征进行蒸馏,因此选择FPN特征来完成公平的比较是很自然的,经典的特征模仿可以表示为:
L F P N = ∑ l = 1 L ∑ i = 1 W ∑ j = 1 H ( F i , j , l t − ) L_{FPN} = \sum _{l=1}^L \sum _{i=1}^W \sum{j=1}^H (F_{i,j,l}^t - ) LFPN=l=1Li=1Wj=1H(Fi,j,lt)
表示用于对齐教师和学生特征的自适应层。由上式中的定义可以看出,在目标检测中,由于背景像素远远大于前景像素,因此损失将以背景区域为主。因此,如何确定蒸馏区域是一个有价值的课题。

与之前的研究不同,我们从任务感知空间分布的角度重新审视了关键区域的选择。下面列出了分类感知和定位感知区域结合的理论原因。一方面,FPN特征是后续分类和回归头的支柱,因此将它们结合起来是一个自然的选择。另一方面,由于之前的工作揭示了两个不和谐分布,只使用分类掩码可能会遗漏一些定位感知区域。基于以上分析,本文提出的TFD完全利用了教师的预测概率image-20240316192217845来生成任务感知掩码。数学公式如下:
L T F D = ∑ l = 1 L ω c × ∑ i = 1 W ∑ j = 1 H p c , i , j , l t − ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p c , m , n , l t + ∑ l = 1 L ω r × ∑ i = 1 W ∑ j = 1 H p c , i , j , l t − ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p c , m , n , l t L_{TFD} = \sum_{l=1}^L \frac{\omega _c \times \sum_{i=1} ^ W \sum_{j=1}^Hp_{c,i,j,l}^t - (F_{i,j,l}^t - \phi (F_{i,j,l} ^s))^2}{\sum _{m=1}^ W \sum_{n=1}^H p_{c,m,n,l}^t} + \sum _{l=1}^L \frac{\omega _r \times \sum_{i=1} ^ W \sum_{j=1}^Hp_{c,i,j,l}^t - (F_{i,j,l}^t - \phi (F_{i,j,l} ^s))^2}{\sum _{m=1}^ W \sum_{n=1}^H p_{c,m,n,l}^t} LTFD=l=1Lm=1Wn=1Hpc,m,n,ltωc×i=1Wj=1Hpc,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2+l=1Lm=1Wn=1Hpc,m,n,ltωr×i=1Wj=1Hpc,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2
image-20240316193010321是控制分类感知损失和定位感知损失权重的超参数。然而,在等式(10)中使用的固定权重可能会受到一些限制。例如,固定权重难以全面适应动态输入。此外,与仅使用分类掩码的方法相比,还引入了额外的超参数优化开销。因此,我们提出了一个任务协同权值生成(TWG)模块,以动态分配权值来克服这些限制。在SENet的激励下,TWG由两个完全连接(FC)层和一个softmax层组成,以生成任务感知权值。理论上,学习权重应该由教师的的预测和学生当前的学习状态共同决定。基于这一点,在实现TWG时,首先在通道维度上连接预测掩码image-20240316200624009
P = c o n c a t ( p c t , p r t , p c s , p r s ) P = concat(p_c^t,p_r^t,p_c^s,p_r^s) P=concat(pct,prt,pcs,prs)
然后,由平均池化操作符压缩连接的P。随后添加两个轻量级FC层来生成任务感知权重。最后,softmax函数输出归一化的权重,以保证这些权重之和为1。请注意,我们使用最直接的方式来完成TWG的实现,以避免陷入繁琐的网络构建。因此,学习到的权重可以在数学上表示为:
T 0 , T 1 = s o f t m a x ( F C ( F C ( A v g P o o l ( P ) ) ) ) T^0,T^1 = softmax(FC(FC(AvgPool(P)))) T0,T1=softmax(FC(FC(AvgPool(P))))
因此,给定任务感知权重image-20240316201719605,等式(10)可以改写为:
L T F D − c = ∑ l = 1 L T l 0 × ∑ i = 1 W ∑ j = 1 H p c , i , j , l t ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p c , m , n , l t L_{TFD-c} = \sum _{l=1}^L \frac{T^0_l \times \sum _{i=1} ^W \sum_{j=1}^H p_{c,i,j,l}^t(F_{i,j,l}^t - \phi (F_{i,j,l}^s))^2}{\sum _{m=1} ^W \sum_{n=1}^H p_{c,m,n,l}^t} LTFDc=l=1Lm=1Wn=1Hpc,m,n,ltTl0×i=1Wj=1Hpc,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2

L T F D − r = ∑ l = 1 L T l 0 × ∑ i = 1 W ∑ j = 1 H p r , i , j , l t ( F i , j , l t − ϕ ( F i , j , l s ) ) 2 ∑ m = 1 W ∑ n = 1 H p r , m , n , l t L_{TFD-r} = \sum _{l=1}^L \frac{T^0_l \times \sum _{i=1} ^W \sum_{j=1}^H p_{r,i,j,l}^t(F_{i,j,l}^t - \phi (F_{i,j,l}^s))^2}{\sum _{m=1} ^W \sum_{n=1}^H p_{r,m,n,l}^t} LTFDr=l=1Lm=1Wn=1Hpr,m,n,ltTl0×i=1Wj=1Hpr,i,j,lt(Fi,j,ltϕ(Fi,j,ls))2

L T F D = L T F D − c + L T F D − r L_{TFD} = L_{TFD-c} + L_{TFD-r} LTFD=LTFDc+LTFDr

总损失

上述的工作流程和TBD的推导都是基于一级检测器,当该方法与Faster RCNN等两阶段方法结合起来时,由于区域建议网络(RPN)可以看做是一个特定的单阶段模块,因此的生成来源于区域建议网络(RPN)的输出。其余部分与学生模型一致。本文的整体损失包括原始损失和定制蒸馏的损失:
L = L d e t e c t o r + α L H D + β L T F D L = L_{detector} + \alpha L_{HD} + \beta L_{TFD} L=Ldetector+αLHD+βLTFD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/544420.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 前一篇&#xff1a;OpenCV4.9.0在windows系统下的安装 后一篇&#xff1a; 警告&#xff1a; 本教程可以包含过时的信息。 我在这里描述的所有内容都将适用于 OpenCV 的C\C接口。我首先假…

Jmeter---分布式

分布式&#xff1a;多台机协作&#xff0c;以集群的方式完成测试任务&#xff0c;可以提高测试效率。 分布式架构&#xff1a;控制机&#xff08;分发任务&#xff09;与多台执行机&#xff08;执行任务&#xff09; 环境搭建&#xff1a; 不同的测试机上安装 Jmeter 配置基…

Vue+SpringBoot打造教学过程管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2.3.1 教师功能如下2.3.2 学生功能如下 三、系统展示 四、核心代码4.1 查询签到4.2 签到4.3 查询任务4.4 查询课程4.5 生成课程成绩 六、免责说明 一、摘要 1.1 项目介绍 基于JAVAVu…

C++之类(持续更新)

1、类的基础知识点 1.1、类和对象 和C中的结构体不同&#xff0c;在C类中不仅可以定义变量&#xff0c;也可以定义函数。【在C结构体中也可以定义变量和函数&#xff0c;但是一般情况下都使用类】。 类的成员属性默认都是private&#xff1b;结构体的成员属性默认都是public。…

VLC抓取m3u8视频

前言 最近想看一些网络视频&#xff0c;但是很多时候网页上是m3u8推流的&#xff0c;如果在线看&#xff0c;速度又慢&#xff0c;所以就想下载下来&#xff0c;就想到了VLC的推流&#xff0c;转换能力&#xff0c;查阅资料&#xff0c;加上实践&#xff0c;总结心得。 设置中…

用 Visual Studio 调试器中查看内存中图像

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 前一篇&#xff1a;OpenCV4.9.0在windows系统下的安装 后一篇&#xff1a; ​警告 本教程可以包含过时的信息。 Image Watch 是 Microsoft Visual Studio 的插件&#xff0c;可用于在调…

简易版 RPC 框架实现 2.0 -netty实现

这一篇理解如果有难度&#xff0c;可能对netty不是很理解&#xff0c; 可以关注我netty专栏&#xff0c;还有另外一篇&#xff1a; 用 Netty 自己实现简单的RPC&#xff0c; 这一篇是学习netty的时候写的&#xff0c;更倾向于分析netty相关的知识&#xff0c; 今天我是学习dubb…

物联网 3.15日 | 2024年中国七大 IoT 物联网云平台价格对比

随着 中国电信天翼 CTWing 物联网平台正式开始收费&#xff0c;国内物联网平台云产品发展进入成熟期&#xff0c;越来越多企业选择云厂商提供的物联网PaaS服务&#xff0c;以降低运营成本&#xff0c;缩短业务上线周期&#xff0c;释放运维的人力&#xff0c;按需付费动态扩容。…

MyBatis plus自动生成代码

1.pom文件配置 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3</version> </dependency> <dependency><groupId>com.baomidou</groupId>…

HarmonyOS NEXT应用开发—组件堆叠

介绍 本示例介绍运用Stack组件以构建多层次堆叠的视觉效果。通过绑定Scroll组件的onScroll滚动事件回调函数&#xff0c;精准捕获滚动动作的发生。当滚动时&#xff0c;实时地调节组件的透明度、高度等属性&#xff0c;从而成功实现了嵌套滚动效果、透明度动态变化以及平滑的组…

layui table列表重载后保持进度条位置不变

使用layui的table表格组件时&#xff0c;当我们操作了某行的修改后&#xff0c;刷新了页面&#xff0c;进度条则跳回到最上面。 除了layui高版本应该内置有方法解决了此问题&#xff0c;但是低版本需要另外想办法解决。 具体解决方式如下&#xff1a; 1.在编辑操作成功前&am…

Artemis Finance引领Metis流动性质押,并启动积分空投活动

在以太坊可扩展性解决方案中&#xff0c; Optimism、Arbitrum等Layer2链主要面临两个问题&#xff1a;欺诈/有效性证明以及去中心化排序器Sequencers。在实际的发展过程中&#xff0c;Optimism或Arbitrum等Layer2链仍然侧重于在欺诈证明和有效性证明方面进行努力&#xff0c;在…