论文阅读笔记:Mixed Pseudo Labels for Semi-Supervised Object Detection
论文:https://arxiv.org/pdf/2312.07006v1.pdf
代码:https://github.com/czm369/mixpl
1 背景
1.1 动机
以前的半监督目标检测方法通过增强检测器的特定组件来提高伪标签的质量或学习效率。然而这些方法在不同的模型之间缺乏普适性。
1.2 问题
问题1(前后背景样本不均衡):在早期训练中,伪标签的数量明显低于真值。这是因为前后背景样本不均衡导致的,模型更倾向于将样本伪标注成背景,从而放大了漏检问题。
问题2(小目标检测):在整个训练过程中,伪标注中的大物体数量逐渐超过真实值,而中小物体数量始终落后于真实值。如图2。
问题3(长尾问题):训练结束后,头部类别的伪标签数量和真实值相符,而某些尾部类别则面临缺陷,如图3。
2 创新点
-
为了解决前后背景样本不平衡,作者提出了Pseudo Mixup。该技术设计了两个伪标注图像的像素叠加,有效的减轻了假阴性样本的整体负面影响,如图4。
-
为了解决尺寸问题,作者提出了Pseudo Mosaic。结合4幅下采样伪标记图像,为中小物体提供了更多的标签,增强了跨各种尺度的检测能力。
-
为了解决长尾问题,作者提出了标签重采样来对有标签数据中的尾部类别进行过采样。
基于上述模块提出了一个MixPL框架,和普通的检测均值教师框架DetMeanTeacher相比,效果如图1所示。
3 方法
本文旨在探索适用于SSOD不同目标检测器通用的有效方法。因此本文首先对近期SSOD方法共有的核心框架Mean Teacher框架进行分析。如图5所示,MeanTeacher框架包含了结构相同的教师模型和学生模型。在每次训练迭代过程中:
-
标记图像和未标记图像按照给定的比例进行随机抽样,形成一个批次。
-
对于未标注图像进行弱增强和强增强,得到两个输入,教师模型在弱增强图像上预测伪标注。
-
通过置信度阈值过滤伪标注,并将其转换到强视图中,形成具有强增强图像的伪标标注数据。
-
基于标注和伪标注数据,通过优化监督损失 L s L_s Ls 和半监督损失 L u L_u Lu 更新学生网络,利用学生网络的EMA更新教师。
如图5所示。在DetMeanTeacher中获得强增广的伪标注图像后,应用MixPL预处理。由于MixPL需要更多的伪标记图像进行混合,因此在每次迭代过程中,将当前批次中的伪标注图像与伪标注的缓存中采样的图像进行混合,其中缓存存储了最近一次迭代中重的伪标注和其对应图像。例如在每次训练迭代过程中,给定1张已标注图像和4张未标注图像。首先从缓存中采样4张伪标注的图像,然后通过Pseudo Mixup得到4张混合图像,然后使用4张混合图像。再使用Pseudo Mosaic随机组合8张图像中的4张形成1张混合图像,用这5幅混合图像代替原来的4幅伪标注图像。
4 模块
4.1 预处理策略
在处理标签时采用以下策略:
-
过滤空标签数据。一些图像实际上不包含任何伪标注,因为教师模型并不是完美的,它的一些地置信度结果会被过滤掉,由于正负样本之间的差异是单阶段检测器的固有问题,这种问题会被无标注图像显著加剧。为了解决这个问题,作者在训练时过滤掉这些空图像。这个简单的策略给RetinaNet来带了90.5%的相对提升,如表1a。
-
平衡伪标签的精确率和召回率。如表1b所示,RetinaNet和FasterRCNN都具有各自的最佳置信度阈值,偏离最佳置信度阈值会导致性能明显下降。结果表明,合适的置信度阈值对于MeanTeacher的有效性是必要的,并且与具体的分类损失函数有关。
-
对有标签和无标签数据的平衡。如表1c,对于无监督损失的权重 w u w_u wu,最佳权重为2。
关于第2点,文中也没说要怎么去平衡。
4.2 Pseudo Mixup
考虑到漏检归因于前景和背景样本之间的不平衡,作者提出了Pseudo Mixup。利用这种不平衡来叠加两个伪标记图像,并将他们的伪标签联合起来,确保一个正样本更有可能和一个负样本叠加。然后,遗漏的正样本由于叠加了负样本而变得更像负样本,因此这部分样本的总体负面效应会显著降低。 同时可以为准确的正样本引入鲁棒的扰动,并放大其梯度响应,从而有利于模型的训练。
4.3 Pseudo Mosaic
在表2中,作者计算了不同大小的包围框的平均得分,可以看出包围框的平均得分随着尺寸的增大而增大,这种相关性使得伪标注中的物体大小的分布显著偏离真实值。
为了缓解这一问题,作者提出了Pseudo Mosaic。具体来说,Pseudo Mosaic取4幅伪标记图像,并对其进行下采样,然后讲这些图像组合成1幅图像,其中包含了原始图像中所有的伪标签。它不仅使图像中的伪标注数据增加了4倍,而且还从原始图像中生成了更多的小目标和中等目标,因此伪标签中对象的大小分布更加均匀。
4.4 标签重采样
作者结合半监督学习场景提出了标签重采样。从有标签数据中过采样尾部类别,显著提高了尾部类别的准确率,同时检测器从未标注数据中挖掘出足够的头部类别伪标注,以平衡已标注数据中头部类别的欠采样。从而提高了在所有类别上的性能,过程如下:
首先,计算包含每个类别 c c c 的标注数据的占比 f ( c ) f(c) f(c)。计算类别级重复因子 r ( c ) = 1 / f ( c ) p o w e r r(c)=1/f(c)^{power} r(c)=1/f(c)power, p o w e r power power 为超参数,取值在 [0,1]。最后,计算每幅图像 I I I 的图像级重复因子: r ( I ) = m a x c ∈ I r ( c ) r(I)=max_{c∈I}r(c) r(I)=maxc∈Ir(c)。
4.5 分析
通过分析样本的梯度密度,作者分析了MixPL相对于弱增广和强增广的影响。具体来说,给定经过阈值过滤的伪标记数据,通过弱增强,强增强,Pseudo MixUp和Pseudo Mosaic来增强伪标注图像,然后将增广后的伪标注输入到RetinaNet的学生模型中,并计算样本的梯度密度。梯度来自以下4类样本,即真阳性(TP),假阳性(FP),真阴性(TN)和假阴性(FN)。
TP和TN表明基于伪标注和真实值的样本分配是一致的,其梯度是干净的,适合学生模型。相反,FP和FN的样本是由不正确的伪标注引起的,并且会贡献导致错误的优化方向的梯度。作者分析了TP和FN的梯度密度的影响,这意味着伪标注中正确和遗漏对象的影响。
(这个图没看懂)
通过比较图6来分析Pseudo MixUp的有效性:
(1)伪标注中的正样本随着阈值的增大而减少,使得TP的梯度密度逐渐减小。
(2)如果使用弱增广,高阶范数的梯度密度会显著降低,这表明弱增广是不如强增广那样充分训练学生模型。
(3)Pseudo Mixup的梯度密度高于强增广的梯度密度特别是在高范数和高阈值的区域,这一趋势验证了Pseudo Mixup在提供更多正样本方面的有效性以及在提供难正样本方面相对于强增广的优越性,由于插值两幅图最终使得混合图像中的物体难以检测,因此还减少了FN的影响。随着FN的增加,来自FN的Pseudo Mixup的梯度密度明显低于强增广的梯度密度,这表明Pseudo Mixup在减少漏检方面具有优越性。
MixPL将当前迭代中的伪标记图像与缓存中存储的伪标记图像进行融合,隐式地将学生模型在较短的训练迭代窗口内看到同一伪标注图像的不同视图。这种行为对学生模型施加了隐式的一致性正则化。作者通过在baseline的训练迭代中对同一批伪标签施加另一个强增强,并将未标注数据的批次增加一倍,即让学生模型看到每个伪标注图像的两个试图,记为Double view。如图3,双视图比基线还高出0.6%的AP提升。值得注意的是MixPL比double view具有更高的性能和更小的批次,作者认为这得益于更平衡的伪标签分布和更有效的梯度。
5 实验
5.1 和SOTA方法对比
5.2 消融实验
Pseudo Mixup和Pseudo Mosaic的消融实验。
标签重采样的消融实验。