ICCV2021-Soft Teacher-End-to-End Semi-Supervised Object Detection with Soft Teacher

前言:

论文地址:https://arxiv.org/pdf/2106.09018.pdf

Github地址:https://github.com/microsoft/SoftTeacher

SSL(Semi-Supervised Learning)半监督学习,由于其可以合理利用大量无标注数据的属性,一直是CV研究的一个重要方向。最近看到微软在ICCV2021发表的一篇新论文Soft Teacher,在结合sota的检测和实例分割网络之后,直接刷榜相关的LeaderBoard,所以及时跟进一下。

 SSL目前在分类和检测网络上应用的比较广泛,常用多阶段的学习方式,具体来说就是先基于标注好的数据训练一个基准网络;然后对未标注的数据推理输出结果,通过设置较高的阈值得到对应的伪标签(图像类别或者图像中多个box标签);最后使用打上伪标签的数据的重新训练网络,以此进一步提升网络性能。其中图像分类方向的FixMatch,目标检测方向的STAC方法比较经典,这里先介绍一下这两个网络的基本原理:

FixMatch:

preview

 FixMatch提出了一个经典的数据增广方式来做SSL,具体方法如图。

(1)首先基于label好的图像训练一个初始模型。

(2)针对unlabeled的数据先进行弱增强和强增强的得到两种样本,其中弱增强的数据在初始模型中推理得到对应的预测得分,按照阈值限定得到对应图像的伪标签;强增强后的数据会经过模型得到预测得分与伪标签算损失。

总结来说,就是未标注数据使用弱增强图像打伪标签,强增强图像训练网络。

STAC:

preview

受FixMatch启发,STAC的具体实现方式如上图,具体来说:

(1)在标注好的图像上训练teacher模型

(2)通过teacehr模型推理,得到未标注图像的伪标签(即box框和对应的类别标签)

(3)将 strong data augmentations应用于未标注的图像,预测出检测框与伪标签算损失

接下来,正式介绍一下论文:Soft Teacher

Abstract:

 与以往更复杂的多阶段方法相比,本文提出了一种端到端的半监督目标检测方法。端到端的训练可以在训练中逐渐提高伪标签质量,更准确的伪标签反过来会有利于目标检测的训练。我们还在这个框架内提出了两种简单而有效的技术:一种是soft teacher机制,其中每个未标注边界框的分类损失由teacehr网络产生的分类得分加权;一种框抖动方法,用于选择可靠的伪框以进行框回归学习。在 COCO 基准上,本文所提出的方法在各种标注数据比率下(即 1%、5% 和 10%)大大优于以前的方法。此外,当标注数据量相对较大时,我们的方法也证明表现良好。例如,通过利用 COCO 的 123K 未标记图像,它可以将使用完整 COCO 训练集训练的 40.9 mAP 基线检测器提高 3.6 mAP,达到 44.5 mAP。在最先进的基于 Swin Transformer 的目标检测器(test-dev 上为 58.9 mAP)上,它仍然可以将检测精度显着提高 1.5 mAP,达到 60.4 mAP,并将实例分割精度提高 1.2 mAP ,达到 52.4 mAP,达到了新的sota水准

Introduction:

当前半监督学习方法,常用的多阶段训练方式:
1.使用标注数据训练初始检测器
2.使用初始检测旗给未标注数据打伪标签
3.在打过伪标签的数据上再训练模型

缺点:
初始检测器的性能影响伪标签质量,这种打标签方式比较hard,并影响到最终的性能

 本文为了解决这个问题,提出一个端到端的半监督目标检测框架,训练每次迭代中同时对未标注数据打伪标签,使用伪标签数据和少量的标注数据同时训练。具体来说,在一个数据批次,会按照设定的比率随机采样标注数据和未标注数据。训练过程中会使用两个模型,一个负责检测训练,一个负责给未标注数据打伪标签。前者是student模型,后者为teacher模型,是student模型经过EMA得到。这种端到端的方法避免了复杂的多阶段训练方案。此外,它还实现了“飞轮效应”,即伪标记和检测训练过程可以相互加强,从而随着训练的进行而变得越来越好

除了提出一个端到端的半监督目标检测框架以外,本文还提出了两种方法:

1.soft teacher机制,这个是针对分类分支的。通过teacher模型推理得到的所有伪候选框,先将候选框按照检测得分以较高的前景阈值设定为前景/背景,这样可以确保伪标签的高准确度。但是,这样的高阈值会导致很多正候选框的类别被错分为背景,因此在这样直接算分类损失的话,会影响训练精度。因此,本文采用teacher模型预测的检测得分作为类别的可靠性度量标注,对背景候选框的分类损失进行加权计算

2.box jitterf方法,这个是针对回归分支的。通过对teacher模型推理得到的伪候选框坐标进行多次抖动再回归,以框回归的方差作为定位可靠性度量,具有足够高可靠性的候选框才会作为正样本参与训练

总结来说:Teacher模型是Student模型的EMA结果得到,得到伪标签后,Student模型训练时候的分类和回归正负样本的assignment策略不同,soft teacher是对被设定为背景类别中的真背景和前景进行可靠性度量,加权算损失,降低那些错分为背景框的损失;box jitter相当于是用回归方差来确定候选框的正样本。

Methodology:

整体结构如上图所示,标注数据和未标注数据会被以一定比率采样到同一个batch。标注数据会送入student模型进行监督训练,未标注数据借鉴FixMatch做法,强增强的样本用student模型训练,弱增强的样本用teacher模型打伪标签。整体损失由标注数据的监督损失和无标注数据的无监督损失组成:

 接下来详细介绍一下方法采用的soft teacher和box jittering机制:

Soft Teacher:

本文采用前景得分较高的阈值来确定伪标签(这里指伪候选框的类别),实验确定0.9效果最好。但是使用较高的阈值来确定前景和背景样本会造成一些前景框被错分为背景类别,这样可能会影响训练效果。本文为了解决这个问题,提出对所有背景样本评估其真实背景的可靠性,然后用可靠性来加权分类损失,这样让可靠性低的背景样本(即被错分的前景框)损失更低:

wj是对负样本的可靠性度量,会加权到对应分类损失上去。rj是可靠性得分,本文最终采用teacher模型预测得到的背景得分,其他评估方式可以细看论文

Box Jittering:

一般来说,通过teacher模型的预测得分就可以确定伪候选框的类别和坐标。但是如上图b所示,本文发现使用前景得分区分正负样本与最后的回归准确度并无正向关系。因此本文提出测量回归预测的一致性来估计伪候选框的定位可靠性。具体来说,就是针对teacher模型预测得到的框(只选取前景得分>0.5的,大大减少框的数量)进行多次抖动,然后继续送入teacher模型进行回归,计算这些抖动框的回归方差,以此作为定位可靠度,方差越小,可靠度越高,如图c

Experiments:

1.1%,5%,10%COCO标注数据:

 2.vs supervised trained detectors:

 3.Ablation Studies:

猜你喜欢

转载自blog.csdn.net/weixin_42096202/article/details/121500771