Efficient Teacher: Semi-Supervised Object Detection for YOLOv5

Abstract
半监督目标检测(SSOD)已经成功地提高了R-CNN系列和无锚定检测器的性能。然而,单级锚固检测器缺乏生成高质量或灵活的伪标签的结构,导致SSOD存在严重的不一致性问题。在本文中,我们提出了可扩展和有效的基于锚的SSOD训练的高效教师框架,包括 密集检测器、伪标签分配器和Epoch适配器。密集检测器是一个基线模型,它利用受YOLOv5启发的密集采样技术扩展了视网膜网。高效教师框架引入了一种 新的伪标签分配机制,即伪标签分配器,它更精细地使用了从密集检测器中获得的伪标签。Epoch适配器是一种为密集检测器提供稳定和有效的端到端SSOD训练计划的方法。伪标签分配人防止偏见的发生造成大量的低质量伪标签可能干扰密集探测器在师生相互学习机制,和Epoch适配器利用域和分布适应允许密集探测器学习全球分布一致的特性,使训练独立的标记数据的比例。我们的实验表明,有效的教师框架在VOC、COCO标准的基础上取得了最先进的结果。据我们所知,这是第一次尝试将SSOD应用于YOLOv5。
1. Introduction
对象检测[3,19,24,31]近年来取得了重大进展,它遵循了传统的监督训练方法,并依赖于昂贵的人工注释工作。为了缓解这一问题,本文提出了许多半监督技术[1,26],通过自动生成伪标签来利用大量的未标记数据,而不引入人工注释。需要尽管SSOD [4,5,21,35]取得了巨大进展,但有三个关键问题仍然具有挑战性:
首先,关于单级锚定型SSOD的研究报道很少。虽然无锚检测器[12,16,31]最近在目标检测领域得到了越来越多的关注,但单级基于锚的检测器[2,14,16,23,33]具有查全率高、数值稳定性高、训练速度快的优点,被广泛应用于召回率要求极高的场景。然而,大多数SSOD方法是在两级锚检测器如更快的R-CNN [24]和一级无锚检测器如FCOS [31]上实现的,由于多级粗到细预测机制或检测头的无锚设计,SSOD输出相对稀疏的边界盒预测。相比之下,经典的单级锚点检测器由于其多锚点机制产生更密集的预测,导致监督训练[36]中正负样本不平衡,半监督训练中伪标签质量较差。
其次,当前主流SSOD方法,遵循师生相互学习方式[21,35],是难以培训的一期锚检测器由于严重的伪标签不一致问题,即在整个培训过程中,教师模型生成的伪标签的数量和质量波动很大,不合格的伪标签会误导模型更新。为了缓解这一问题,两阶段方法[4] [21]对伪标签的细化次数超过单阶段方法,无锚定方法[39]采用特征映射作为软伪标签,以避免非最大抑制造成的偏差。在单级锚检测器中,由于上述多锚机制,伪标记不一致性加剧。[37]的工作报道了视网膜网的SSOD实验结果不如快速R-CNN和FCOS的实验结果好。
第三,如何训练一个具有更高的精度和更高的效率的SSOD模型,已经成为限制SSOD在各种场景中应用的关键问题。前面的SSOD方法[4,17,21,35,40]是主要是为了追求更好的准确性,但通常会牺牲训练效率。此外,以往的大多数工作只关注特定的检测器架构,但现实世界的各种应用程序需要更快的迭代检测器设计,具有较低的计算资源和更高的精度。
在本文中,我们所追求的是在考虑 推理和训练效率的基础上设计一个可扩展和有效的SSOD框架,以确定目标。我们将YOLO系列[2,12,33]中使用的有效技术添加到经典的视网膜网络[19]中,以设计一种新的具有代表性的单级锚基探测器基线,称为致密探测器。我们试图将一个成熟的SSOD方案,即无偏教师[21],移植到密集检测器中,但发现与监督方法相比,只有1.65 AP50:95的改进(见表5),这证实了上面提到的第二个问题。
根据密集检测器的设计范式,我们提出了一个有效的教师框架来克服SSOD中的这些挑战。引入了伪标签分配器(PLA),利用细粒度的目标分支设计上的伪标签分配策略来缓解伪标签不一致性。通过将伪标签区分为可靠区域和不确定区域,分别采用了不同的损失计算方法。此外,我们提出了Epoch适配器(EA),它分别利用领域适应和分布适应来优化老化阶段和SSOD训练阶段的训练过程。
具体来说,在老化阶段,EA利用领域自适应技术对学生模型的输出特征图进行对抗性学习。在SSOD训练阶段,EA通过在线统计每个类标签出现在标签数据中的比例,动态估计伪标签的阈值,以优化学生模型所看到的伪标签的质量和分布。本文的主要贡献如下:
  1. .我们设计了密集检测器作为基线模型来比较YOLOv5和RetinaNet之间的差异,利用密集采样使性能提高了5.36 AP50:95。
  2. 我们提出了一种有效的SSOD训练框架,称为高效教师,它包括一种新的伪标签分配机制,伪标签分配器,减少伪标签的不一致性,以及Epoch适配器,实现了一个快速和高效的端到端SSOD训练计划。
  3. 我们的实验表明,在YOLOv5上使用高效教师可以在VOC、coco标准和coco额外数据集上产生最先进的结果,同时比以前的方法消耗更少的FLOPs。
图1:高效教师框架的概述。高效教师提出了三个模块来实现可扩展有效的SSOD框架,其中密集检测器提高了密集输入的伪标签的质量,同时具有更好的推理效率;伪标签分配者将伪标签分为两种类型来缓解伪标签不一致性问题;Epoch适配器减少了训练时间和特征的不一致性。
2. Related Work
半监督的对象检测。半监督目标检测继承自半监督图像分类方法[1,25,26,30,34],分为基于一致性的方案[13,28]和伪标记方案[21,27,35,40]。后者已成为目前的主流方法。STAC [27]分别利用弱数据增强和强数据增强来处理未标记的数据。无偏教师[21]遵循标准教师互惠学习来生成更准确的伪标签。为了平衡伪标签的效果,软教师[35]使用伪标签的分数作为损失计算的权重。DSL [5]是第一次尝试在无锚检测器(FCOS)[31]上执行半监督训练。为了缓解不一致性问题,LabelMatch [4]利用标签分布动态确定不同类别伪标签的过滤阈值。上述方法在两级和无锚基检测器上具有较好的性能,但在单级锚基检测器上性能不佳。我们的高效教师被提出来弥补半监督训练和一阶段训练之间的差距
标签分配。标签分配是决定对象检测器性能的关键组件。许多工作已经被提出改进标签分配机制,如自动分配,PAA [15]、自动分配[41]和OTA [11]。[4] [22]的一些研究注意到,在监督对象检测中使用的默认标签分配机制不能直接应用于SSOD,从而导致性能下降。在本文中,我们提出了一种新的伪标签分配,可以适应单级锚基检测器的SSOD训练。
对象检测中的领域自适应。域自适应目标检测[6,8,18,32]的任务,旨在解决域移位[7]的问题。工作[10]利用对抗性学习,通过训练一个具有梯度反向层(GRL)的鉴别器来生成域不变特征。工作[8]引入了在平均教师中使用的半监督技术来缓解领域偏差,这表明领域偏移本质上与半监督任务的不一致性有关。这激发了高效教师在领域自适应中引入对抗性学习,以缓解SSOD训练的伪标签不一致性。
3. Efficient Teacher
高效教师是一种新颖而高效的半监督目标检测框架,它显著提高了单级锚定检测器的性能。该框架是基于一种学生-教师相互学习的方法,如图1所示,其灵感来自于之前的作品,[4,5,21,35]。我们提出的伪标签分配者方法根据伪标签的得分将伪标签分为可靠标签和不确定标签,可靠伪标签用于默认监督训练,不确定标签用于指导软损失学生模型的训练。采用Epoch适配器方法,通过对已标记数据和未标记数据进行域自适应,并计算每个历元中伪标签的阈值,来加快收敛速度。在整个培训过程中,教师模型采用了指数移动平均指数(EMA)技术进行更新。
3.1. Dense Detector
YOLOv5 [14]由于其友好部署的支持和快速的训练速度,是业界广泛使用的单级锚基探测器。为了研究YOLOv5上的半监督实验,需要对YOLOv5探测器与其他最先进的探测器,如视网膜网络相比的改进进行全面的分析。表1中的结果表明,YOLOv5 w/o在性能和计算量方面都优于RetinaNet。此外,通过镶嵌增强后的密集图像输入,YOLOv5的AP50:95可以从41.2提高到49.0。YOLOv7在密集输入的基础上进一步改进了AP50:95到51.5。基于以上比较,可以推导出增加输入密度可以有效提高单级锚基检测器性能的假设。为了验证这一假设,我们构建了一种名为密集探测器的新型检测器来定量评估YOLOv5中所使用的技术。
密集检测器采用ResNet-50-FPN主干,同时将FPN输出数从5改变到3,消除了检测头之间的权重共享,并将训练和推理的输入分辨率从1333降低到640。同样,密集检测器有三个输出分支:一个分类分数、一个边界框偏移量和一个目标分数。与RetinaNet相比,密集的数据库实现了5.36%的AP50:95的提升和30%的推断速度,如表1所示。具体来说,密集检测器通过计算预测盒和GT盒之间的Union(CIoU)[38]上的完全交集来获得客观性得分。客观性评分表示预测方盒的位置质量,并作为提高检测性能的额外信息来源。如图1所示,SSOD中的伪标签是未标记数据的预测框,其客观性得分表示伪标签的位置质量。因此,与仅具有分类分支的视网膜网相比,具有额外目标分支的密集检测器可以指示SSOD训练过程中伪标签的位置质量,如图2所示。
图2.来自视网膜网和密度探测器的伪标签评分热图的比较。颜色越深表示分数越高。(a) RetinaNet根据1333×800输入分辨率的未标记数据生成的伪标签计算分类分数,从而产生稀疏响应。(b)密集检测器,输入分辨率为640×640,使用基于客观性和分类评分的加权伪标签评分,从而产生更鲁棒和密集的响应。
为了验证密集检测器在SSOD中的性能,我们将经典的SSOD方法(无偏教师[21])应用于密集检测器,其中包含有标记和未标记的数据,教师和学生模型,以及一个伪标签滤波器来选择伪标签。此外,已标记和未标记的数据分支均采用公式2中的损失定义。然而,与表2中更快的R-CNN上的无偏教师相比,无偏教师的AP50:95对密集检测器的改进从7.64下降到4.3。这促使我们开发以下伪标签分配器,它在伪标签分配中扮演关键角色。
3.2. Pseudo Label Assigner
SSOD的核心问题是如何分配伪标签,因为次优分配会导致伪标签不一致,并导致相互学习机制的性能恶化。伪标签过滤器是一个简单的标签分配实现,它过滤出低于设置阈值的伪标签。得分低于阈值的伪标签被标记为背景,而得分高于阈值的伪标签被标记为可靠的伪标签。然而,这种方法可能会导致次优的分配,如图3所示:在顶部的情况下,伪标签过滤器是一种快速过滤出分数低于设置阈值的伪标签的方法。然而,在整个SSOD训练过程中,伪标签的分数持续增加,这可能导致伪标签过滤器将不正确的伪标签视为可靠的伪标签,并将其纳入训练,导致在SSOD训练中无法收敛的现象。
在这项工作中提出,伪标签分配器(PLA)提供了一个更精细的伪标签生成的密集探测器分配。在PLA中,在非最大抑制(NMS)后获得的伪标签被分为可靠伪标签和不确定伪标签两类。使用伪标签评分的高阈值和低阈值τ1,τ2来确定两种类型的伪标签。得分在τ1、τ2之间的伪标签被认为是不确定的,忽略这些标签的丢失直接导致密集检测器的性能提高,如表5所示。除了解决由伪标签滤波器引起的次优问题外,PLA还包括一个有效利用不确定的伪标签的无监督损失。SSOD中致密检测器的损失定义为一对单个标记图像和单个未标记图像:
其中Ls表示在标记图像上计算的损失函数,Lu表示在未标记图像上计算的损失函数,使用λ来平衡监督损失和半监督损失,本文将其设置为3.0。l遵循[14]中的标准损失函数:
式中,CE表示交叉熵损失函数,X(h,w)为学生模型的输出,Y(h,w)表示由密集检测器的标签分配器生成的采样结果。
图3.不同伪标签选择策略的影响比较。在SSOD [21,35]中广泛使用的伪标签过滤器中,设置阈值过低可能会导致产生不正确的伪标签,而阈值过高可能会排除可靠的伪标签。这可能会导致次优分配,并对网络的训练产生不利影响。为了解决这个问题,我们提出了伪标签分配器方法,该方法分别根据高阈值和低阈值将伪标签分为可靠的和不确定的类别。将不确定的伪标签分配为软标签作为L obj u的目标,以提高SSOD中伪标签的质量。
PLA与其他伪标签选择策略[5,22]的区别在于,我们设计了一个软损失来分别处理不确定的伪标签。PLA区分了两种不确定的伪标签:高分类分数和高客观性得分。对于第一种类型,只计算目标损失项L obj u。交叉熵Yˆ(h,w)obj的目标被替换为软标签ˆobjh,w,这表明这些伪标签不被分为背景样本或阳性样本。对于第二种类型,当客观性得分大于0.99时,PLA计算回归损失项L reg u。这些伪标签具有良好的回归结果,但分类分数不足以确定其标签类别。PLA的目标是使用L reg u将更多不确定的伪标签转换为真阳性。这一点很重要,因为在对COCO的SSOD训练中,超过70%的不确定伪标签由于不准确的预测盒而出现假阳性。因此,PLA通过一种软标签学习机制来抑制伪标签的不一致性,而不影响可靠的伪标签的丢失。有关更多信息,请参考附录。
3.3. Epoch Adaptor
在解决SSOD中伪标签不一致问题的同时,仍然面临着在训练中实现稳定和高效率的挑战。为了克服这一挑战,我们引入了Epoch适配器方法,它利用领域适应和分布适应技术来实现快速和稳定的SSOD训练。我们的方法旨在缩小标记数据和未标记数据之间的分布差距,同时动态估计每个时期伪标签的阈值。
 
图4.主时代表示在训练期间没有任何新的重量。高效教师的训练策略:对标记数据进行(a)监督训练,然后对未标记数据进行SSOD训练;对标记数据进行(b)监督训练,对未标记数据进行SSOD训练;(c)使用结合域和分布适配的Epoch适配器对标记数据进行端到端训练,以改善收敛性和特征分布。

如图4所示,与交替和原始的联合训练方案相比,EA使神经网络在老化阶段接收标记和未标记数据,使用域适应技术与分类器困扰检测器的能力区分两种类型的数据。这有效地减轻了在原始方法中通常观察到的过拟合效应,它仅依赖于燃烧阶段中的标记数据。域自适应损失函数如下:
其中,p(h,w)为域分类器的输出。D = 0为标记数据,D = 1为未标记数据。我们使用梯度反向层(GRL)[10],而普通的梯度下降用于训练域分类器,并且梯度的符号在通过通过GRL层来优化基础网络。在燃烧阶段,一幅图像中的监督损失可以重新表述如下:
其中λ是控制域适应贡献的超参数,在我们的实验中为0.1。通过允许检测器在老化过程中查看未标记的数据,增强了模型的表达能力。
 
此外,目前的方法需要计算PLA的τ1和τ2阈值,以在SSOD训练期间在未标记数据上生成伪标签。在这些方法中,最有效的方法[4]需要利用标记数据标签分布的先验信息来计算上述阈值。然而,这种方法并不能直接适用于密集探测器等探测器,因为我们已经证明了马赛克数据增强在这些探测器中起着不可或缺的作用。此外,使用马赛克数据的增加破坏了标签的分布比率。为了解决这个问题,我们在LabelMatch [4]中实现了一种基于再分配方法的分布自适应方法。在分布适应中,第k期的τ1和τ2阈值确定如下:
所有实验的可靠比值α均设置为60,Pck表示第k时代第c类的伪标签分数列表。同时,Nl和Nu表示已标记和未标记数据的数量,n k c表示EA在第k纪元计算的第c类地面真实注释的数量。通过在每个历元上动态计算适当的阈值,EA使联合训练更能适应动态数据分布。
EA中领域自适应和分布自适应的集成有效地缓解了神经网络对标记数据的过拟合。此外,EA动态在每个时期为伪标签估计适当的阈值,实现快速和高效的SSOD训练。证明这些效应的实验结果见第4节。
4. Experiments
4.1. Experimental Setup
数据集。我们在MS-COCO [20]和VOC [9]基准上验证了我们的方法:(1)COCO标准: 1%、2%、5%、10%的图像在COCO上采样,其余数据作为未标记数据。(2)COCO-附加: train2017数据集设置为标记数据集,COCO2017-未标记数据集设置为未标记数据集。(3) VOC: VOC07训练数据作为标记数据集,VOC12训练数据作为未标记数据集。我们采用平均平均精度AP50:90作为评价度量。
网络为了验证我们提出的方法是可扩展的,我们使用了三种密集检测器结构:第一种在密集检测器中使用ResNet-50-FPN。第二种是用CSPNet取代原来的主干,用PAN取代颈部,这与YOLOv5类似。
实施细节。我们使用8个NVIDIA-V100GPU,每个GPU有16G内存。在每次迭代中,我们从标记数据中随机抽取32张图像,从未标记数据中随机抽取32张图像,比例为1:1。对于训练配置,学习率一直为0.01,τ1和τ2由EA计算。我们同时使用了弱数据增强和强数据增强。马赛克被用于弱数据增强。在强数据增强中,选择了马赛克、左右翻转、大尺度抖动、灰色、高斯模糊、裁剪和颜色空间转换。最大历值是300。EMA中的平滑超参数为0.999。
4.2. Results
COCO标准。在表2中,我们在coco标准上验证了我们提出的方法,有效教师在密集检测器上的表现优于无偏教师。为了确保一个公平的比较,我们禁用了EMA监督密集检测器训练过程中的监督成分。做出这个决定是因为FasterRCNN和FCOS在训练中都没有使用EMA。通过这种方法,我们能够对SSOD训练对检测器性能的影响进行精确的评估,并通过最终的增益进行量化。我们的结果表明,在两阶段基于锚的和一期无锚的SSOD方法中,有效的教师方法获得了与最先进的SSOD方法相当的收益。此外,当我们用标准YOLOv5l替换密集检测器的主干并使用高效教师对其进行训练时,我们观察到一个优越的最终检测性能,降低了计算开销
COCO-额外的。表3的结果显示了我们提出的关于coco-附加的方法,即e有效教师对AP50:95的增益效应增加了1.45。实验结果表明,YOLOv5l模型的性能,即使已经训练到饱和,可以使用高效教师提高。这种改进可以归因于包含了未标记数据和伪标签,这减轻了对标记数据的过拟合,并使模型能够学习一个更广义的表示。
PASCAL-VOC。表4显示了对VOC进行的实验结果,令人信服。我们的方法在AP50:95上达到了58.30。此外,因为所有其他的测试人员tor使用ImageNet预训练骨干进行训练,而我们的是从头训练的,我们也报告使用ImageNet预训练骨干初始化高效教师的结果。具有预训练骨干的高效教师最终与之前的检测器相比,取得了更好的SSOD训练性能,而只利用了一半的计算资源。
4.3. Ablation Studies
在消融研究中,我们使用10%的coco标准数据集(5倍中的一个)进行了实验。我们将主干设置为标准的YOLOv5,因为我们已经在之前针对致密探测器的实验中分析了该探测器的有效设计。现在,我们将重点验证我们提出的有效教师对广泛使用的YOLOv5l的具体影响。
伪标签分配者的效果。所提出的伪标签分配者的影响如表5所示。
我们观察到,将无偏教师方法应用于阈值为0.3的密集检测器,只会导致AP50:95提高1.65,这大大低于无偏教师[21]应用于更快的R-CNN获得的7.6 AP50:95增益。当忽略不确定的伪标签时,AP50:95进一步增加到35.2。然而,通过使用伪标签分配器来处理不确定的伪标签,我们在AP50:95中获得了7.45的显著改进,最终的性能为37.90,与应用于更快的R-CNN的无偏教师相当。
分布自适应在EA中的影响。我们评估了在伪标签分配者方法中改变阈值τ2对COCO 10%标准任务的影响。表6显示,τ2的增加导致AP50:95的减少,这表明产生的可靠的伪标签更少,而不确定的伪标签更多。这一发现强调了在可靠和不确定的伪标签之间保持最佳平衡的重要性。重要的是,我们观察到,使用分布自适应技术来动态计算τ2的值,可以在不需要手动调优的情况下获得最好的性能。我们的研究结果表明,这种方法可以通过在可靠和不确定的伪标签之间取得适当的平衡,并避免人工调优工作的负面影响,从而提高SSOD训练的性能。
域自适应在EA中的影响。表7表明,领域自适应的利用提高了SSOD训练的收敛性。这种改进可以归因于域适应有效地减少了标记和标记之间的分布差异未标记数据,从而能够在未标记数据上更精确地生成伪标签。
EA的最终影响。我们证明了通过结合领域适应和分布适应所实现的加速训练效果。(图5)。我们的结果表明,与完全监督和交替训练相比,使用Epoch适配器的联合训练具有更少的迭代性能。这突出了Epoch适配器作为一种更有效的训练SSOD模型的方法的潜力。
5. Conclusion
在本文中,我们提出了一种有效的教师方法,以弥补SSOD和单级锚定探测器之间的差距,通过建立有效的密集输入处理密集探测器。我们的方法引入了伪标签分配器,以有效地利用可靠和不确定的伪标签,基于他们在SSOD中的分配分析。此外,我们还介绍了Epoch适配器,这是一种训练方案,可以最大限度地提高训练和利用已标记数据和未标记数据的效率。高效的教师已经被证明在各种数据集上取得了良好的SSOD结果,并证明了高效的训练和部署速度。
  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值