【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

这篇具有很好参考价值的文章主要介绍了【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

论文:Efficient Teacher: Semi-Supervised Object Detection for YOLOv5

出处:阿里

时间:2023.03

一、背景

目标检测近年来的进展离不开大量的标注数据,但数据标识昂贵且耗时。

故此,半监督方法被提出,通过自动生成伪标签来利用大量的未标注数据。

目前的半监督学习有如下三个最重要的挑战:

  • 第一,半监督目标检测(Semi-supervised Object Detection, SSOD)在 RCNN 和 anchor-free 系列检测器(如 FCOS)上都有了较为成功的应用,但在单阶段 anchor-based 方法上海有些欠缺,主要表现在生成高质量且灵活的伪标签能力较弱。其原因在于单阶段 anchor-based 检测器会产生很多的 anchor 用于密集预测,导致监督训练时正负样本不平衡,半监督训练中伪标签的质量较差
  • 第二,当前主流的 SSOD 方法,主要使用 teacher-student 的方式 [21, 35]。但单阶段 anchor-based 方法由于教师模型生成的伪标签数量和质量都有很大的波动,劣质的伪标签会导致模型效果变差,所以难以训练,[37] 证明了 RetinaNet 在 SSOD 上的效果就没有 Faster RCNN 和 FCOS 好
  • 第三,现有的方法大都为了追求准确性而牺牲了训练效率,所以无法兼顾效果和速度,但效率和速度的平衡也非常重要

本文提出了可扩展的针对 one-stage anchor-based SSOD 的训练框架,同时考虑推理和训练效率。

包括密集检测器、伪标签 assigner、epoch 适配器等等。

作者将 YOLO 系列中的很多高效的思想应用在了 RetinaNet 中,基于 RetinaNet 设计了一个典型的 one-stage anchor-based detector baseline —— Dense Detector。

贡献点:

  • 设计了一个 Dense Detector 作为 baseline
  • 提出了一个高效的 SSOD 训练框架——Efficient Teacher,其中 Pseudo Label Assigner 用于减少伪标签的不一致性, Epoch Adaptor 用于提高端到端的训练效率
  • Efficient Teacher 在 YOLOv5 上获得了 VOC 和 COCO 数据集 SOTA 效果

二、方法

Efficient Teacher 是用于提高 one-stage anchor-based 检测器在半监督目标检测上的效果的方法。

其框架也是 student-teacher 的框架,如图 1 所示。

  • 学生网络:接收两部分数据:

    • 经过 Mosaic 数据增强的带标签数据,使用有监督学习来训练,包括分类 loss、回归 loss、obj loss、域自适应 loss
    • 经过 Mosaic 数据增强和 Strong 数据增强的无标签数据,使用伪标签来训练,包括分类 loss、回归 loss、obj loss
  • 教师网络:接收使用 Mosaic 数据增强的无标签数据,预测的结果用于指导学生模型的训练

  • Pseudo Label Assigner method: 根据 pseudo label 的分类得分将其分为 reliable 和 uncertain

    • reliable 表示可靠的 label,用于有监督学习,参与分类 loss、回归 loss、obj loss 的计算
    • uncertain 表示不确定的 label,使用 soft loss 来 训练 student model,也就是只有 obj>0.99 的参与 obj loss 的计算
  • Epoch Adaptor method: 通过对已标注数据和未标注数据进行域自适应和分布自适应,并且会自主计算每个 epoch 中的 pseudo label 的 PLA 标签划分的阈值,来加速网络收敛

  • 教师模型是学生模型通过 EMA 更新得到的(EMA 在本文中有介绍)

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

2.1 Dense Detector

表 1 展示了 YOLOv5 with/without 在性能和计算量上都优于 RetinaNet

  • 使用 mosaic 增强,YOLOv5 的 AP50:95 从 41.2 提升到了 49%
  • YOLOv7 通过对密集特征流和梯度的改进,进一步提升到了 51.5%
  • 所以,作者认为增加输入密度可以有效提高 one-stage anchor-based 检测器的效果,也构建了 Dense Detector 来证明

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

Dense Detector 的结构:

  • 从 RetinaNet with ResNet-50-FPN 改进而来
  • 将 FPN 的输出层从 5 改成了 3,且不同层级的 head 没有共享权重
  • 训练和推理时的输入分辨率从 1333 变成了 640
  • 有三个输出分支:分类、回归偏移、objectness
  • objectness:预测和 gt 之间的 CIoU,其得分表示预测 box 的质量,可以作为额外的信息来提高检测效果
  • 如图 1 所示,objectness score 能够表示伪标签框的定位质量,所以,相比于 RetinaNet 只使用分类得分来表示框的质量,Dense Detector 能够在训练时使用 objectness score 来表示框的质量(如图 2 所示,Dense Detector 能够在使用小分辨率输入的情况下,基于 objectness 和 cls score 来得到更强的伪标签响应)

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

Dense Detector 和 RetinaNet 的效果比较:

  • Dense Detector 提升了 5.36% 的 AP50:95
  • 推理速度快了 30%

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

2.2 Pseudo Label Assigner

SSOD 还有一个很重要的模块就是正负样本分配

如果简单的使用阈值来分配的话,比如大于 IoU 阈值的伪标签被分为正样本,小于 IoU 阈值的被分为负样本,就会导致错误的分配

如图 3 所示,上半部分中,是使用阈值过滤,保留高于阈值得分的伪标签,在整个训练过程中,伪标签的分数可能会持续增加,导致无法收敛。

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

本文提出了 Pseudo Label Assigner(PLA),是一个更精细的伪标签分配器。

核心在于:

  • 在 NMS 后,使用 低阈值 τ 1 \tau_1 τ1 和 高阈值 τ 2 \tau_2 τ2 (论文中高低貌似写反了),将获得的伪标签分为 reliable 和 uncentain 两个类别
  • uncertain:处于两个阈值中间的 label 认为是不确定的
  • reliable:大于高阈值的 label 认为是可信的

一般的方法对于 uncertain label 的处理方式基本上都是不参与 loss 的计算,来提高模型的效果,如表 5 所示。

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

但 PLA 中使用了一个无监督的损失,有效的利用了 uncertain 的伪标签

下面从 loss 层面来看作者是如何利用 uncertain label 的:

Dense Detector 的 loss 是 labeled data 和 unlabeled data 之和:

  • L s L_s Ls 是 labeled data 的 loss
  • L u L_u Lu 是 unlabeled data 的 loss
  • λ = 3 \lambda=3 λ=3 用于平衡两个 loss。

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

L s L_s Ls 的公式如下:

  • 是所有标签数据的分类、回归、objectness loss 之和:

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

  • X ( h , w ) X_{(h, w)} X(h,w) 是 student model 的输出
  • Y ( h , w ) Y_{(h, w)} Y(h,w) 是 label assigner 的结果
  • 分类损失:使用二值交叉熵损失来计算,计算的是学生网络的输出和教师网络的输出的二值交叉熵损失
  • 回归损失:使用 CIoU loss 来计算
  • objectness 损失:使用二值交叉熵损失来计算

L u L_u Lu 公式如下:

  • 也包括分类、回归、objectness 损失共三个部分,按伪标签的分类得分和 objectness 得分来决定其是否需要参与 loss 计算

  • 伪标签的可信度是按低阈值 τ 1 \tau_1 τ1 和高阈值 τ 2 \tau_2 τ2 划分的,在 τ 1 \tau_1 τ1 τ 2 \tau_2 τ2 之间为 uncertain label

  • 分类 loss:当伪标签的分类 score >= τ 2 \tau_2 τ2 时,即所有的 reliable label,计算其分类 loss

  • 回归 loss:当伪标签的分类 score >= τ 2 \tau_2 τ2 或 objectness score > 0.99 时,即所有的 reliable label 和所有 objectness 非常高即定位很准的 label,计算其回归 loss

  • objectness loss:

    • 当伪标签的分类 score <= τ 1 \tau_1 τ1 时,按 objectness 真值为 0 来计算预测的 obj 的 loss,也就是期望这些低于高阈值的 uncertain label 的 objectness = 0
    • 当伪标签的分类 score >= τ 2 \tau_2 τ2 时,也就是 reliable label,按 objectness 真值 来计算预测的 obj 的 loss
    • 当伪标签的分类 τ 1 \tau_1 τ1 < score < τ 2 \tau_2 τ2 时,也就是 uncertain label,这种 label 按 soft label o b j h , w ^ \hat{obj_{h,w}} objh,w^ 来计算预测的 obj 的 loss

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

  • Y ^ ( h , w ) c l s \hat{Y}_{(h,w)}^{cls} Y^(h,w)cls 是位置 (h, w) 上经过 PLA 得到的结果的分类得分
  • Y ^ ( h , w ) r e g \hat{Y}_{(h,w)}^{reg} Y^(h,w)reg 是位置 (h, w) 上经过 PLA 得到的结果的回归得分
  • Y ^ ( h , w ) o b j \hat{Y}_{(h,w)}^{obj} Y^(h,w)obj 是位置 (h, w) 上经过 PLA 得到的结果的 objectness 得分
  • o b j ^ h , w \hat{obj}_{h,w} obj^h,w 是位置 (h, w) 上的 pseudo label 的 objectness score,也是 soft label
  • p ( h , w ) p_{(h,w)} p(h,w) 是 pseudo label 的分类 score
  • 1 { . } 1_{\{.\}} 1{.} 是指示函数

PLA 和其他方法的区别在于,作者设计了一个 soft loss 来专门解决 uncertain pseudo label。

PLA 将 uncertain pseudo label 分成了两个类别:

  • 高分类得分的 uncertain pseudo label:只参与计算 objectness loss

    只计算 objectness loss L u o b j L_u^{obj} Luobj,使用 soft label o b j ^ h , w \hat{obj}_{h,w} obj^h,w 来替换 Y ^ ( h , w ) o b j \hat{Y}(h,w)^{obj} Y^(h,w)obj 作为 cross-entropy 的学习目标。

    因为不会参与分类和回归 loss 的计算,所以这些伪标签不会被分为正样本或负样本

  • 高 objectness 得分的 uncertain pseudo label:只参与计算 reg loss

    当 objectness score > 0.99 时,计算回归 loss L u r e g L_u^{reg} Lureg,不计算分类 loss

    因为这些伪标签的回归结果很好,但不一定有很好的分类结果,所以不计算分类 loss。

    PLA 使用 L u r e g L_u^{reg} Lureg 将伪标签转换为 TP,因为在 COCO 上训练 SSOD 时,大于 70% 的 uncertain 伪标签都是 FP,因为它们定位都很不准确。

    所以,PLA 能通过 soft label 的方式一致这些分类和回归效果不一致的伪标签,且没有影响 reliable 伪标签的 loss。

2.3 Epoch Adaptor

SSOD 中还有一个严峻的问题就是在训练时的效率

作者引入 Epoch Adaptor,使用域自适应和分布自适应方法来让 SSOD 的训练更快速更平稳。

Epoch Adaptor 的目的:

  • 域自适应:缩小有标签数据和无标签数据的分布差距
  • 分布自适应:动态的估计每个 epoch 的伪标签的阈值

1、域自适应:缓解模型对带标签数据的过拟合,对带标签数据的 loss 中又引入了一个域自适应 loss

如图 4 所示,EA 能够使得神经网络在 Burn-In 阶段同时接收有标签和无标签的数据,使用带分类器的域自适应放来限制检测器区分这两种类型数据的能力,这能够有效的减轻过拟合,且该方法仅依赖于 Burn-In 阶段的带标签数据。

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

域自适应 loss 函数如下:

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

  • p ( h , w ) p_{(h,w)} p(h,w) 是 domain classifier 的输出
  • 有标签数据的 D=0,无标签数据的 D=1

使用 gradient reverse layer(GRL),普通的梯度下降用于训练 domain classifier,在经过 GRL 时梯度的符号会反转来优化基础网络

在 Burn-In 阶段,一个图像中的有监督 loss 如下:

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

  • λ \lambda λ 是超参数,设置为 0.1

一般情况下,阈值 τ 1 \tau_1 τ1 τ 2 \tau_2 τ2 是需要计算的,来帮助 SSOD 在训练期间更好的获得需要的伪标签

2、分布自适应:在每个 epoch 自适应地计算合适的阈值来区分 reliable 和 uncertain pseudo label

[4] 中需要使用带标签数据的标签分布的先验信息来计算阈值

但是作者前面已经证明了 Mosaic 数据增强的效果,所以,作者使用 Mosaic 数据增加来破坏标签分布比率

提出了一种基于重分布的分布自适应的方法 LabelMatch[4] 的方法

在分布自适应中,第 k 个 epoch 的阈值为:

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

  • reliable reatio α = 60 \alpha=60 α=60
  • P c k P_c^k Pck 是第 c 个类别在第 k 个 epoch 上的伪标签得分
  • N l N_l Nl N u N_u Nu 表示带标签数据量和不带标签数据量
  • n c k n_c^k nck 表示第 k 个 epoch 在第 c 个类别上由 EA 计算得到的 gt 标注的数量

EA 中提出的 domain adaptation 和 distribution adaptation 的效果:

  • 很好的缓解了神经网络对带标签数据的过拟合
  • 在每个 epoch 为伪标签估计合适的阈值,实现快速且高效的训练

三、效果

1、在 COCO-standard 上的效果

  • 本文方法优于 Unbiased Teacher 方法
  • 在 tow-stage anchor-based 和 one-stage anchor-free 的 SSOD 方法中,Efficient Teacher 获得了与 SOTA 方法相当的提升
  • 使用 YOLOv5l 作为 Dense Detector 的 backbone 时,能够在计算开销小的情况下获得好的检测性能

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

2、在 COCP-additional 的效果

  • 提升了 1.45
  • 说明在 YOLOv5l 使用监督训练的情况下,还可以使用 Efficient Teacher 对其提升,因为可以在训练中引入未标记数据和伪标签,能够减轻对标记数据的过拟合,提升模型的泛化性

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

3、在 Pascal VOC 上的效果

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

4、PLA 的效果如表 5 所示:

  • 如果使用 Unbiased Teacher 的方法用于 Dense Teacher,阈值为 0.3 是,AP50:95 会提升 1.65
  • 将 Unbiased Teacher 的方法用于 Faster RCNN 时,AP50:95 会提升 7.6
  • 当忽略 uncertain pseudo label 时,AP50:95 会降低到 35.2
  • 使用 PLA 来处理 uncertain label 时,AP50:95 会提升 7.45,达到 37.9,和在 Faster RCNN 上使用 Unbiased Teacher 能够获得类似的提升

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法
5、EA 的效果

在 EA 中使用 distribution adaptation 的效果如表 6:

  • 提升 τ 2 \tau_2 τ2 会降低 AP50:95,因为提高了后就会产生很多 uncertain label,很少的 reliable label,所以如何保持两种 label 的平衡对模型也很重要
  • 在使用自适应获取阈值的情况下,能够自主计算合适的阈值,就可以产生更合适的 label,帮助模型提升效果
    【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

使用 domain adaptation 能够为无标签数据生成更好的伪标签

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法

EA 的加速效果如下图所示,蓝色线可以直观看出来训练效果更好,收敛更快

【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法文章来源地址https://www.toymoban.com/news/detail-453031.html

到了这里,关于【半监督学习】5、Efficient Teacher | 专为 one-stage anchor-based 方法设计的半监督目标检测方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AI面试】目标检测中one-stage、two-stage算法的内容和优缺点对比汇总

    在深度学习领域中,图像分类,目标检测和目标分割是三个相对来说较为基础的任务了。再加上图像生成(GAN,VAE,扩散模型),keypoints关键点检测等等,基本上涵盖了图像领域大部分场景了。 尤其是在目标检测,一直是各大比赛 (Pascal VOC, COCO, ImageNet) 的主要任务。与此

    2024年02月12日
    浏览(39)
  • 图像 检测 - FCOS: Fully Convolutional One-Stage Object Detection (ICCV 2019)

    声明:此翻译仅为个人学习记录 文章信息 标题: FCOS: Fully Convolutional One-Stage Object Detection (ICCV 2019) 作者: Zhi Tian, Chunhua Shen*, Hao Chen, Tong He (*Corresponding author) 文章链接:https://openaccess.thecvf.com/content_ICCV_2019/papers/Tian_FCOS_Fully_Convolutional_One-Stage_Object_Detection_ICCV_2019_paper.pdf 文章代

    2024年02月15日
    浏览(48)
  • FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection

    Paper name FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection Paper Reading Note URL: https://arxiv.org/pdf/2104.10956.pdf 基于 Fcos 改进的 3d 检测方案,在 NeurIPS 2020 的 nuScenes 3d 检测比赛上取得了第一名成绩 Fcos3d 方案 将 7-DoF 3D 目标解耦为 2D 和 3D 的属性 考虑对象的二维比例,将对象分布到

    2023年04月08日
    浏览(66)
  • 论文精读:《FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection》

    单目三维目标检测具有成本低的优点,是自动驾驶的一项重要任务。 由于其固有的不适定特性,其主要表现为缺乏深度信息,因而比传统的二维情形更具挑 战性。 二维检测的最新进展为更好地解决这一问题提供了机会。 然而,使一个通用的自适应二维探测器在这种三维任务

    2024年02月06日
    浏览(52)
  • 论文阅读——《Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement》

    本文试图从原理和代码简单介绍低照度增强领域中比较新的一篇论文——Retinexformer,其效果不错,刷新了十三大暗光增强效果榜单。 ❗ 论文名称 :Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement 👀 论文信息 :由清华大学联合维尔兹堡大学和苏黎世联邦理工

    2024年01月18日
    浏览(50)
  • 【半监督学习】2、Soft Teacher | 端到端半监督目标检测器

    论文:End-to-End Semi-Supervised Object Detection with Soft Teacher 代码:https://github.com/microsoft/SoftTeacher 出处:ICCV2021 | 华中科大 微软 大量带标注信息的数据是深度计算机视觉高速发展的基础,但数据标注是耗时且昂贵的,所以催生了一些不需要标注信息或只需要少量标注数据的自监督

    2024年02月09日
    浏览(46)
  • 目标检测-One Stage-YOLOx

    根据前文CenterNet、YOLOv4等可以看出学界和工业界都在积极探索使用各种tricks(anchor-free、各种组件、数据增强技术等等)来改进One Stage网络的表现,2021年旷视科技结合先进的改进技巧,产出了多种改进模型,在多种情况下达到速度和精度的SOTA。 值得一提的是,YOLOx使得YOLO系

    2024年01月23日
    浏览(41)
  • 目标检测-One Stage-YOLOv7

    自YOLOv4之后,其作者提出一些新的trciks,YOLOv7诞生主要贡献分为以下3个方面 设计了几种训练tricks(bag-of-freebies),使得实时目标检测可以在不增加推理成本的情况下大大提高检测精度 针对目标检测领域现有的两个问题提出解决方案:一是模块重参化如何高效合并,二是动态

    2024年01月25日
    浏览(38)
  • 目标检测-One Stage-YOLOv6

    YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。论文题目是《YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications》。 和YOLOv4、YOLOv5等不同的是,YOLOv6对网络结构的改动较大。 除了模型的结构之外,YOLOv6的数据增强和YOLOv5的保持一致;而标签分配

    2024年01月23日
    浏览(39)
  • 目标检测-One Stage-YOLOv5

    前文目标检测-One Stage-YOLOv4提到YOLOv4主要是基于技巧的集成,对于算法落地具有重大意义,YOLOv5则在工程应用方面更近一步,将算法深度集成,使得使用者不用再过多关注算法实现,且提供了多种预训练模型,到目前为止,由ultralytics团队开发的 ultralytics 包,已经支持 YOLOv3

    2024年01月23日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包