半监督目标检测

news2024/11/18 0:28:33

在这里插入图片描述

  • 有监督目标检测: 拥有大规模带标签的数据,包括完整的实例级别的标注,即包含坐标和类别信息;
  • 弱监督目标检测: 数据集中的标注仅包含类别信息,不包含坐标信息,如图一 b 所示;
  • 弱半监督目标检测: 数据集中拥有部分实例级别的标注,大量弱标注数据,模型希望利用大规模的弱标注数据提升模型的检测能力;
  • 半监督目标检测: 数据集中拥有部分实例级别的标注,大量未标注数据,模型希望利用大规模的无标注的数据提升模型的检测能力;

半监督目标检测

  1. 一致性学习(Consistency based Learning)
  2. 伪标签(Pseudo-label based Learning)
    https://paperswithcode.com/task/semi-supervised-object-detection

一致性学习

论文: Consistency-based Semi-supervised Learning for Object Detection (https://papers.nips.cc/paper/2019/hash/d0f4dae80c3d0277922f8371d5827292-Abstract.html)
代码:https://github.com/soo89/CSD-SSD (pytorch)
概要:
在这里插入图片描述
CSD训练的损失函数主要包括两个部分,labeled sample 的监督损失和 unlabeled samples 的 Consistency loss。针对 unlabeled samples,首先将图像水平翻转,然后分别送入网络当中,得到对应的 Feature map,由于两张翻转的图像的空间位置是可以一一对应的,因此可以在对应的位置计算一致性损失。分类部分,利用 JS 散度作为 consistency loss;定位部分,利用 L2 loss 作为 consistency loss。
通过数据增强计算无标签数据集的一致性损失

伪标签

  1. 论文:A Simple Semi-Supervised Learning Framework for Object Detection (https://arxiv.org/abs/2005.04757)
    代码:https://github.com/google-research/ssl_detection(tensorflow)
    概要:
    在这里插入图片描述
  2. 首先利用 labeled data 训练一个 Teacher 模型;
  3. 生成 pseudo label, 将 unlabeled data 输入进 Teacher 网络中,得到大量的目标框预测结果,利用 NMS 消除大量的冗余框,最后使用阈值来挑选高置信度的 pseudo label;
  4. 应用 strong data augmentation。得到 pseudo label 后与 unlabeled image 图像相结合,包括图像级别的颜色抖动、geometric transformation(平移、旋转、剪切)、box-level transformation(小幅度的平移、旋转、剪切);
  5. 计算无监督 loss (pseudo label)和监督学习 loss
    类似于蒸馏,使用Teacher网络对无标签数据打伪标签,用于训练Student网络
    在这里插入图片描述

2 论文:Instant-Teaching: An End-to-End Semi-Supervised Object Detection Framework (https://arxiv.org/abs/2103.11402)
代码:未开源
概要:
在这里插入图片描述

  • 采用在线伪标注更新的方式。随着模型训练收敛,模型的精度提升的同时,在线生成的pseudo labels的质量也会得到及时的提高,从而反过来进一步促进模型的学习。
  • 为了更有效的对unlabel images 进行数据增强,采用在labeled images 和 unlabeled images 之间进行Mixup和Mosaic增强。
  • 针对confirmation bias 问题,提出了Co-rectify的方案,即同时训练两个模型,两个模型分别为彼此检查和纠正pseudo labels,从而有效抑制错误预测的累积,提高模型精度。值得注意的是,虽然在训练时,需要同时训练两个模型,但是infernece时,只需要使用单个模型即可,因此,不影响模型推理的速度
    主要在SATC的基础上进行修改,Teacher网络在训练中会进行更新
    在这里插入图片描述
    3 论文:Unbiased Teacher for Semi-Supervised Object Detection (https://arxiv.org/abs/2102.09480)
    代码:https://github.com/facebookresearch/unbiased-teacher (pytorch)
    概要:
    在这里插入图片描述

一开始训练用标注数据(burn-in),联合训练包括两步:固定teacher产生伪标注,用以训练student,而基于exponential moving average (EMA),学习的知识迁移给渐渐进步的teacher。半监督目标检测算法生成的标签具有 bias,将原本的 cross entropy loss 替换为 Focal loss 来解决 pseudo label bias 问题,即 class imbalance

主要在SATC的基础上进行修改,Teacher网络在训练中进行更新和Focal loss
在这里插入图片描述

4 论文:End-to-End Semi-Supervised Object Detection with Soft Teacher (https://arxiv.org/abs/2106.09018)
代码:https://github.com/microsoft/SoftTeacher (pytorch mmdetection)
概要:
在这里插入图片描述

  1. 教师模型和学生模型是两个完全相同的结构,因为要进行 EMA 更新,两者都是带有预训练的随机初始化

  2. 有标签图片采用常规的 pipeline 流程,利用学生模型进行预测,计算得到有标签的 loss,包括分类和回归分支 loss

  3. 参考 FixMatch 做法,无标签数据会经过强和弱两种不同的 aug pipeline,其中弱增强线输入到教师模型,而强增强线用于学生模型

  4. 使用可靠性度量来加权每个“背景”候选框的损失,而实测发现教师模型产生的背景检测分数可以很好地作为可靠性度量。这种监督方式实测效果远好于 hard 标签(按阈值筛选)训练方式,所以本文才称为 soft teacher

  5. 通过框抖动 box jittering 选择可靠的边界框来训练学生模型的定位分支,这种方法首先多次抖动伪前景框候选; 然后在利用教师模型对这些抖动框进行回归(实际上是 rcnn 分支进一步 refine ),并将这些回归框的方差用作可靠性度量;最后将具有足够高可靠性的 box 候选用于学生定位分支的训练。

  6. 强增强线学生模型的无标签分类和回归分支的伪标签是不一样的。教师模型采用 Mean teachers 方法进行更新

和论文3类似,对Teacher网络在训练中进行更新,增加了soft teacher 和 box jittering trick来提升效果
在这里插入图片描述

6 论文:Towards Open World Object Detection (https://arxiv.org/abs/2103.02603)
代码:https://github.com/JosephKJ/OWOD (pytorch)
概要:

  1. 在没有提供相关监督的情况下将无法分类的目标检测出来标记为unknown (对RPN中与GT的IOU不高的,但是softmax分数很高的进行排序,取k个作为潜在的未知物体)
  2. 能够在后续提供这些标签时,不忘记之前的类别同时渐进地学得这些unknown的类别

概要

  1. 在没有显式监督的情况下确认未知目标;
  2. 步进地学习这些确认的未知类,这些对应数据的标注渐进地收到,这样能够不会忘记之前学习的类。ORE(Open World Object Detector), 主要是基于一种聚类,即contrastive clustering,和基于能量的模型,即Energy based models (EBMs),对未知目标确认。
    对RPN输出的ROI特征聚类,并且修改了分类层为能量模型,比较适合增量训练

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RHCE-防火墙

目录 一、防火墙介绍 1.1、什么是防火墙 1.2、防火墙的功能: 1.3、linux防火墙的架构 二、iptables 2.1iptables介绍 2.2名词术语: 什么是容器? 什么是Netfilter/Iptables? 什么是表(tables)&#x…

学历到底是敲门砖还是枷锁?—探讨“孔乙己文学”热搜背后的教育话题

序言 最近,“孔乙己文学”一度成为网络热门话题,引起了不少人的讨论。其中,一句“学历不仅是敲门砖,也是我下不来的高台,更是孔乙己脱不下的长衫”引发了广泛共鸣,让人深思。 敲门砖 or 枷锁? 对…

黑盒测试过程中【测试方法】详解4-因果图

在黑盒测试过程中,有9种常用的方法:1.等价类划分 2.边界值分析 3.判定表法 4.正交实验法 5.流程图分析 6.因果图法 7.输入域覆盖法 8.输出域覆盖法 9.猜错法 黑盒测试过程中【测试方法】讲解1-等价类,边界值,判定表_朝一…

大模型竞争加剧,国内外 AI 监管进一步升级

随着人工智能技术的不断发展,大模型已成为当下最热门的话题之一。不仅国内外的科技公司都在积极投入研发,各国政府也在加大监管力度,以确保人工智能技术的安全和可持续发展。本文将从三个层次分别探讨大模型的定义和热度、国内外AI监管的现状…

【STM32】基础知识 第八课 MDK 工程

【STM32】基础知识 第八课 MDK 工程 准备工作新建寄存器版本 MDK 工程步骤新建工程文件夹添加文件魔术棒设置绝对路径和相对路径对比测试程序 新建 HAL 库版本 MDK 工程CMSISHAL 库简介DriversMiddlewaresDevice 和 Include HAL 库文件介绍HAL 库 API 函数和比那辆命名规则HAL …

Fedora 38 正式发布

Fedora Linux 38 正式发布,用户可以访问官网下载安装最新版本。 新网站 如果你点击了上面的官网链接,你应该会注意到 Fedora 的官网看起来与之前有了很大不同。这是 Fedora Websites & Apps 团队与 Design & Infrastructure 团队以及广大社区合作…

HCIA-RS实验-ENSP搭建一个基础的IP网络

HCIA-RS是华为认证网络工程师(Routing & Switching)的缩写。通过考取HCIA-RS证书,可以证明自己有能力设计、实现和维护小型网络。而HCIA-RS实验则是考试的一部分,是考生必须要完成的实践环节。这将是第一篇文章,后…

Qt连接MySQL数据库最详细的教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.直接通过MySQL的驱动加载数据库1)所需代码2)解决QMYSQL driver not loaded 2.通过ODBC连接MySQL数据库1)官方解释2…

如何react中使用redux和react-redux

Redux Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 可以让你构建一致化的应用,运行于不同的环境(客户端、服务器、原生应用),并且易于测试。 不仅于此,它还提供 超爽的开发体验,比…

指针可以这样认知

注:此篇文章仅限初步了解,本小白后续会持续进行详解指针的相关操作。 目录: 认知内存一个内存单元的大小地址的产生 理解指针用途 指针变量的大小💞结尾 了解指针为什么需要了解内存呢? 因为指针是用来管理内存&#x…

【k8s】ruoyi微服务迁移到k8s

书接上回【传统方式部署Ruoyi微服务】,此刻要迁移至k8s。 环境说明 31 master , 32 node1 , 33 node2迁移思路 交付思路: 其实和交付到Linux主机上是一样的,无外乎将这些微服务都做成了Docker镜像; 1、微服务数据层: MySQL、 R…

聊聊 IP packet 的 TTL 与 tcp segment 的 MSL

聊聊 IP packet 的 TTL 与 tcp segment 的 MSL 1 前言 - 网络知识的重要性 近几年在排查解决应用系统在客户现场遇到的复杂问题时,越来越觉得除了扎实的LINUX操作系统知识,对TCP/IP网络知识的深入理解也是至关重要的。 有鉴于此,后续笔者会…

排序算法---插入排序

插入排序是一种简单的排序算法,一般又称为直接插入排序。插入排序的思想与选择排序有些相似,即在原数组上将数组分为两个部分:已排列好的有序数组和待排列数组,选择排序强调的是“选择”,而插入排序强调的是”插入“&a…

【Excel统计分析插件】上海道宁为您提供统计分析、数据可视化和建模软件——Analyse-it

Analyse-it是Microsoft Excel中的 统计分析插件 它为Microsoft Excel带来了 易于使用的统计软件 Analyse-it在软件中 引入了一些新的创新统计分析 Analyse-it与 许多Excel加载项开发人员不同 使用完善的软件开发和QA实践 包括单元/集成/系统测试 敏捷开发、代码审查 …

【JavaScript面向对象】

JavaScript面向对象 1 本节目标2 面向对象编程介绍2.1 两大编程思想2.2 面向过程编程POP2.3 面向对象编程OOP2.4 面向过程和面向对象的对比 3 ES6中的类和对象3.1 对象3.2 类class3.3 创建类3.4 类constructor构造函数3.5 类添加方法3.6 三个注意点 4 类的继承4.1 继承4.2 supe…

matlab 点云采样相关操作-源码复制粘贴即可

1.随机采样一个百分点的随机抽样 clc; clear; close all; % clear everything% Import point cloud pc pointCloud(Lion.xyz);% Plot all points pc.plot; % points are colored by z coordinate title(All Points, Color, w); view(0,0); snapnow;% Select randomly 5 perce…

FL Studio21免费吗?怎么下载最新中文版本?

FL Studio中文版已上线,自20.8版起已支持简体中文。推荐使用Windows 10系统安装, Windows 7系统设置FL Studio语言为中文时若出现乱码,可以将Win10系统中的“微软雅黑”字体复制并安装进Win7系统电脑中!FL Studio支持什么格式的插…

【软考数据库】第四章 操作系统知识

目录 4.1 进程管理 4.1.1 操作系统概述 4.1.2 进程组成和状态 4.1.3 前趋图 4.1.4 进程同步与互斥 4.1.5 进程调度 4.1.6 死锁 4.1.7 线程 4.2 存储管理 4.2.1 分区存储管理 4.2.3 分页存储管理 4.2.…

进程与线程:同步和互斥

进程与线程:同步&互斥 同步&互斥的概念 ​ 进程具有异步性的特征。异步性是指各并发进程执行的进程的以各自独立的,不可预知的速度向前推进 同步 ​ 同步 亦称为直接制约关系,它是指为完成某种任务而建立的两个或多个进程&#xf…

虚拟主机解压/压缩功能说明

使用帮助说明 主机控制面板上点击文件管理,进入目录。 一、解压 windows操作系统: 鼠标移动到压缩文件,点击“解压” Linux操作系统: 压缩文件后点击解压按钮。 注意linux系统不支持rar在线解压,rar改名为zip也不能解压&…