半监督目标检测

在这里插入图片描述

  • 有监督目标检测: 拥有大规模带标签的数据,包括完整的实例级别的标注,即包含坐标和类别信息;
  • 弱监督目标检测: 数据集中的标注仅包含类别信息,不包含坐标信息,如图一 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特征聚类,并且修改了分类层为能量模型,比较适合增量训练

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

漫谈大数据 - 数据湖认知篇

导语:数据湖是目前比较热的一个概念,许多企业都在构建或者准备构建自己的数据湖。但是在计划构建数据湖之前,搞清楚什么是数据湖,明确一个数据湖项目的基本组成,进而设计数据湖的基本架构,对于数据湖的构建…

Figma导出源文件的方法,用这个方法快速转换其它格式

市场上设计工具层出不穷,Sketch、AdobeXD、Axure、InVision、Figma、Pixso等都是优秀的设计工具,设计师经常面临如何从设计工具中导出文件的问题。 Figma软件的导出功能非常强大,因为轻量化体验受到很多设计师的喜爱。如何保存导出Figma源文…

【c语言】enum枚举类型的定义格式 | 基本用法

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…

研读Rust圣经解析——Rust learn-16(高级trait,宏)

研读Rust圣经解析——Rust learn-16&#xff08;高级trait&#xff0c;宏&#xff09; 高级trait关联类型Type为什么不用泛型而是Type 运算符重载&#xff08;重要等级不高&#xff09;重名方法消除歧义never typecontinue 的值是 ! 返回闭包 宏自定义宏&#xff08;声明宏&…

(04)基础强化:接口,类型转换cast/convert,异常处理,传参params/ref/out,判断同一对象

一、复习 1、New的截断是指什么&#xff1f; new除了新开空间创建初始化对象外&#xff0c;还有一个隐藏父类同名方法的作用。 当子类想要隐藏父类同名的方法时用new&#xff0c;用了new后父类同名方法将到此为止&#xff0c;后面 继承的…

【Java基础 1】Java 环境搭建

&#x1f34a; 欢迎加入社区&#xff0c;寒冬更应该抱团学习&#xff1a;Java社区 &#x1f4c6; 最近更新&#xff1a;2023年4月22日 文章目录 1 java发展史及特点1.1 发展史1.2 Java 特点1.2.1 可以做什么&#xff1f;1.2.2 特性 2 Java 跨平台原理2.1 两种核心机制2.2 JVM…

阳光开朗孔乙己,会否奔向大泽乡

前言 &#x1f525;学历对职业关系到底有什么影响呢&#xff1f;&#x1f525;学历给我们带来了优势吗&#xff1f;&#x1f525;到底是什么造成了"孔乙己的长衫"&#xff1f; 孔乙己是中国清代作家鲁迅创作的一篇短篇小说&#xff0c;发表于1919年。这部作品被认为是…

跌倒检测和识别2:YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码)

跌倒检测和识别2&#xff1a;YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码) 目录 跌倒检测和识别2&#xff1a;YOLOv5实现跌倒检测(含跌倒检测数据集和训练代码) 1. 前言 2. 跌倒检测数据集说明 &#xff08;1&#xff09;跌倒检测数据集 &#xff08;2&#xff09;自定…

初学Python来用它制作一个简单的界面

前言 很多刚开始学习python的宝子&#xff0c;就想着自己开始琢磨一些界面&#xff0c;但是吧很多都是有点难度的&#xff0c;自己又琢磨不透&#xff0c;只能把代码复制粘贴运行 现在就带你们来了解一个制作简单界面的代码 ttkbootstrap 是一个基于 tkinter 的界面美化库&am…

Spring RabbitMQ 实现消息队列延迟

1.概述 要实现RabbitMQ的消息队列延迟功能&#xff0c;一般采用官方提供的 rabbitmq_delayed_message_exchange插件。但RabbitMQ版本必须是3.5.8以上才支持该插件&#xff0c;否则得用其死信队列功能。 2.安装RabbitMQ延迟插件 检查插件 使用rabbitmq-plugins list命令用于查看…

workerman开发者必须知道的几个问题

1、windows环境限制 windows系统下workerman单个进程仅支持200个连接。 windows系统下无法使用count参数设置多进程。 windows系统下无法使用status、stop、reload、restart等命令。 windows系统下无法守护进程&#xff0c;cmd窗口关掉后服务即停止。 windows系统下无法在一个…

appuploader 常规使用登录方法

转载&#xff1a;登录appuploader 登录appuploader 常规使用登录方法 双击appuploader.exe 启动appuploader 点击底部的未登录&#xff0c;弹出登录框 在登录框内输入apple开发者账号 如果没有apple开发者账号&#xff0c;只是普通的apple账号&#xff0c;请勾选上未支付688…

本地运行 minigpt-4

1.环境部署 参考官方自带的README.MD&#xff0c;如果不想看官方的&#xff0c;也可参考MiniGPT-4&#xff5c;开源免费可本地进行图像对话交互的国产高级大语言增强视觉语言理解模型安装部署教程 - openAI 当然&#xff0c;所有的都要按照作者说明来&#xff0c;特别是版本号…

什么是3D渲染,3D渲染在CG项目中为何如此重要?

随着科技的发展&#xff0c;现如今任何人都可以使用免费软件在个人计算机上创作 3D 图像&#xff0c;当然也有人对于专业 3D 艺术的创作方式及其相关工作流程存在一些误解&#xff0c;认为创建一个模型后&#xff0c;在上面放上材料和纹理&#xff0c;就可以立马得到一个漂亮的…

SpringCloud源码之OpenFeign

OpenFeign 基于 OpenFeign 2.2.6.RELEASE版本进行源码阅读 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.2.6.RELEASE</version> </dependen…

【细读Spring Boot源码】监听器合集-持续更新中

前言 监听器汇总 归属监听器名称作用cloudBootstrapApplicationListenercloudLoggingSystemShutdownListenercloudRestartListenercloudLoggingSystemShutdownListenerspringbootEnvironmentPostProcessorApplicationListener用于触发在spring.factories文件中注册的Environm…

市级大数据中心大数据资源平台概要设计方案(ppt可编辑)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 大数据管理中心发展背景 为建设卓越全球城市&#xff0c;实现政府治理能力现代化目标&#xff0c;由市大数据中心牵头&#xff0c;在政务公共数据管理和互联网政务服务方面…

numpy的下载、数据类型、属性、数组创建

下载numpy 因为numpy不依赖于任何一个包所以numpy可以直接使用pip命令直接下载 下载命令&#xff1a; pip install numpy # 默认从https://pypi.org/simple 下载 pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/ # 从清华大学资源站点下载 pip install nump…

UG NX二次开发(C#)-显示-更改对象颜色

文章目录 1、前言2、UG NX中的更换对象颜色的功能3、采用UG NX二次开发实现颜色修改3.1 采用直接赋值对象颜色不能直接更改对象颜色3.2 采用NewDisplayModification的方法如下:1、前言 当一个三维模型展现在我们面前时,总会有颜色赋予三维模型的对象上,比如红色、蓝色、银灰…

if条件语句

if条件语句 条件测试 test 测试表达式是否成立&#xff0c;若成立返回0&#xff0c;否则返回其他数值 格式1 &#xff1a;test 条件表达式&#xff1b;格式2 &#xff1a;[ 条件表达式 ] echo $?参数作用-d测试是否为目录 (Directory)-e测试目录或文件是否存在(Exist)-f测…