当前位置: 首页 > news >正文

Adversarial Learning forSemi-Supervised Semantic Segmentation

首先来了解一下对抗学习:

对抗样本:将真实的样本添加扰动而合成的新样本,是由深度神经网络的输入的数据和人工精心设计好的噪声合成得到的,但它不会被人类视觉系统识别错误。然而在对抗数据面前,深度神经网络却是脆弱的,可以轻易迷惑深度神经网络。

对抗训练:想要在模型训练中提升模型的对抗防御能力,识别一些对抗样本

Abstract

本文提出了一种基于对抗网络的半监督语义分割方法,设计了一个全卷积判别器来判断预测值和GT,而且可以通过将对抗损失和交叉熵损失相结合来提高准确率,判别器分析无标签图像的初步预测,识别出其中比较确定或较为可靠的部分,并将这些区域作为监督信号,进一步指导模型进行学习。现有的一些方法可能采用弱标签(如图像级标签或者不完全标注的信息)来进行训练,而这篇方法则不同,它使用无标签图像,通过判别器识别可信区域来帮助模型训练,进一步提升了无标签数据的使用效率。

Introduction

在语义分割方面,有很多方法和数据集已经被提出,但因为物体/场景外观变化、遮挡和缺乏上下文理解,这项任务仍然具有挑战性,基于CNN的全卷积网络在语义分割上表现了良好的效果,许多方法的提出也是基于FCN的。

不同于 图像分类和目标检测,语义分割需要逐像素的标注,所以成本比较高,因此提出了半监督或弱监督来降低成本。

在本论文中,将语义分割网络视为GAN框架中的生成器,并提出一个FCN的判别器。不同于传统的GAN生成器(用于生成图片),语义分割网络的“输出”是输入图像的每个像素的类别概率图(即概率地图),而不是生成图像。因此,语义分割网络的任务是输出每个像素对应的类别概率,表示该像素属于某个语义类别的可能性。通过对抗训练的方式,FCN的判别器强制要求分割网络的输出尽可能接近真实的标签地图。

在本文中结合两个半监督损失,首先,利用判别器生成的置信度给出可信区域,可以作为有效的训练信号,通过信任图作为监督信号来引导交叉熵损失(交叉熵损失一般用于监督学习),信任图可以作为掩码,使得模型只在可信区域内进行训练。在未标记数据上使用对抗损失,可以指导生成器生成逼近GT的mask。

Related Work

基于CNN的最新方法

  • 近年来,卷积神经网络(CNN)的进步使得语义分割方法得到了显著提升。例如,一些经典的分类网络(如AlexNet、VGG、ResNet等)可以通过改造为全卷积网络(FCN)来执行语义分割任务。这种改造过程的核心思想是,将分类网络中的全连接层替换为卷积层,使得网络能够输出与输入图像尺寸相同的像素级预测。
  • 这种方法虽然有效,但需要大量像素级标注的真实数据,这在实际应用中是非常困难和昂贵的。

弱监督方法的不同实现

  • 多实例学习(Multiple Instance Learning, MIL):在[36]和[35]的研究中,使用了多实例学习的方法,利用图像级标签生成潜在的分割标签图。MIL是一种弱监督学习方法,它可以利用图像级标签来推断图像中不同区域(或"实例")的类别,从而生成伪标签进行训练。

  • 图像级标签惩罚:Papandreou等人[33]通过图像级标签来惩罚网络对不存在的类别进行预测。这种方法的核心思想是,如果图像级标签没有标明某个类别,网络就不应该在预测中出现该类别,从而强制模型学习到更加精准的分割边界。

  • 对象定位优化:Qi等人[37]通过对象定位来精细化分割结果,即通过识别物体的大致位置来优化网络的分割精度,从而减少对精确像素级标注的需求。

  • 分类网络作为特征提取器:Hong等人[15]使用有标签的图像训练一个分类网络作为特征提取器,用来进行解卷积操作(即上采样)。这样,分割网络能够利用分类网络提取到的特征进行更精确的分割。

还有利用边界框、点标注、Web视频数据进行训练的。半监督学习通过结合全标注数据和弱标注数据,提升了模型在语义分割任务中的表现。具体来说,半监督学习方法不仅利用图像级标签等弱监督信号来训练网络,还结合了少量的完全标注数据(如像素级标签),从而在保证性能的同时,降低了标注成本。

Algorithm Overview

该模块包含两个模块:分割网络和判别器网络

分割网络用于生成类别概率分布图,可以是任何语义分割的框架,比如FCN、Deeplab等,给定一个输入图像H*W*3,输出一个H*W*C的类别概率分布图。

判别器网络:是一个基于FCN的网络,用于评估分割网络的输出(类别概率图)与真实标签(ground truth label maps)之间的差异。

输入:是类别概率分图(来自分割网络或者真实标签)

输出:输出是 H × W × 1 的空间概率图,表示每个像素是否来自真实标签图p=1,否则来自分割网络的输出p=0.

训练过程:对于有标注的数据,分割网络在训练时会受到两个损失函数(交叉熵损失和对抗损失)的监督;对于无标签数据,我们采用半监督训练的方式,首先,Unlabeled image会进入到分割网络生成一个类别概图,然后将这个类别概率图输入进入判别器网络中,生成一个置信度图,用置信度高的区域指导训练,相当于一个伪标签的作用。判别器训练判别器网络仅使用带标签的数据进行训练,它的任务是区分分割网络输出的类别概率图和真实标签之间的差异。

Semi-Supervised Training with Adversarial Network

Network Architecture

Segmentation network.DeepLab-v2框架with ResNet-101model pre-trained on the ImageNet dataset and MSCOCO。去掉最后一个分类层,并将最后两个卷积的stride从2改为1,从而使输出特征映射的分辨率有效地为输入图像大小的1/8。为了扩大感受野,我们在conv4和conv5层分别应用扩展卷积,stride分别为2和4。在最后一层使用了ASPP方法,最后,应用一个上采样层和softmax输出来匹配输入图像的大小。

Discriminator network.它由5个卷积层组成,其中4×4内核和{64,128,256,512,1}通道,步幅为2。 每个卷积层后面都有一个Leaky-ReLU[30]参数化为0.2,最后一层除外。为了将模型转换为全卷积网络,在最后一层添加上采样层,以将输出重新缩放为输入映射的大小。没有使用任何批处理归一化层,因为它只有在批处理大小足够大时才表现良好。

Loss Function

Discriminator network. 区别真实标签和分割网络的预测标签

第一项是针对来自分割网络的标签yn=0,我们希望它越趋近于0越好,因为想要判别器更能区分生成的标签和真实标签

第二项是针对真实标签yn=1,我们希望它越趋近于1越好,因为这是表示判别器认为该输入来自真实标签。

Yn真实的标注数据,经过 one-hot 编码处理后得到的概率图,因此判别器可以很容易地区分标签是来自真实标签,还是来自分割网络生成的标签,比如:

Yn​=[0,1,0,0,0]

S(Xn​)=[0.1,0.7,0.1,0.05,0.05]

解决办法:

  • 全卷积结构:在判别器中采用 全卷积网络(Fully Convolutional Network),这样判别器的输入不仅仅是一个全局的标签(像是一个标量值),而是包含了空间信息的 置信度图。这种设计使得判别器要根据 空间局部信息 来判断每个像素点的真实性,而不仅仅依赖于标签的全局结构。
  • 扩散方案(Scale scheme):为了增加判别器的难度,论文还尝试了一种扩散方案,将真实标签的 one-hot 编码进行 轻微扩散,让标签在不同的类别通道之间稍微分布,避免判别器依赖于 one-hot 编码的明确结构

Segmentation network.

过最小化多任务损失函数来训练分割网络:

交叉熵损失:使分割网络的预测趋近于真实值

对抗损失:使判别器判断不出来是预测值,最大化判别器的输出,欺骗判别器

Training with unlabeled data.

不使用交叉熵损失,因为没有GT,但是还是使用对抗损失,因为对抗损失仅依赖于判别器。

Self-taught Learning:使用训练好的判别器来处理分割网络的预测结果,得到一个置信度图D(S(Xn​)),表示判别器对于每个像素预测是否可信。通过设置一个阈值 Tsemi​,将置信度图二值化,得到可信区域(即置信度高于阈值的区域)。

半监督损失:

在实验中:阈值 Tsemi通常被设置在 0.1 到 0.3 之间、

Experiment

如果分割网络不试图欺骗鉴别器,由鉴别器生成的置信度图将是无意义的,提供较弱的监督信号。

相关文章:

Adversarial Learning forSemi-Supervised Semantic Segmentation

首先来了解一下对抗学习: 对抗样本:将真实的样本添加扰动而合成的新样本,是由深度神经网络的输入的数据和人工精心设计好的噪声合成得到的,但它不会被人类视觉系统识别错误。然而在对抗数据面前,深度神经网络却是脆弱…...

UCOS-II 自学笔记

摘抄于大学期间记录在QQ空间的一篇自学笔记,当前清理空间,本来想直接删除掉的,但是感觉有些舍不得,因此先搬移过来。 一、UC/OS_II体系结构 二、UC/OS_II中的任务 1、任务的基本概念 在UCOS-II中,通常把一个大型任…...

C++ - 二叉搜索树讲解

二叉搜索树概念和定义 二叉搜索树是一个二叉树,其中每个节点的值都满足以下条件: 节点的左子树只包含小于当前节点值的节点。节点的右子树只包含大于当前节点值的节点。左右子树也必须是二叉搜索树。 二叉树搜索树性质 从上面的二叉搜索树定义中可以了…...

基于开源云原生数据仓库 ByConity 体验多种数据分析场景

基于开源云原生数据仓库 ByConity 体验多种数据分析场景 业务背景什么是 ByConity上手实测环境要求测试操作远程登录 ECS 服务器windows10 自带连接工具 执行查询 ByConity 相对于 ELT 能力的优化提升并行度任务级重试并行写入简化数据链路 业务背景 大家都知道,在…...

RabbitMQ 消息确认机制

RabbitMQ 消息确认机制 本文总结了RabbitMQ消息发送过程中的一些代码片段,详细分析了回调函数和发布确认机制的实现,以提高消息传递的可靠性。 返回回调机制的代码分析 主要用途 这个代码主要用于设置RabbitMQ消息发送过程中的回调函数,即…...

Node.js:开发和生产之间的区别

Node.js 中的开发和生产没有区别,即,你无需应用任何特定设置即可使 Node.js 在生产配置中工作。但是,npm 注册表中的一些库会识别使用 NODE_ENV 变量并将其默认为 development 设置。始终在设置了 NODE_ENVproduction 的情况下运行 Node.js。…...

【QT】背景,安装和介绍

TOC 目录 背景 GUI技术 QT的安装 使用流程 QT程序介绍 main.cpp​编辑 Wiget.h Widget.cpp form file .pro文件 临时文件 C作为一门比较古老的语言,在人们的认知里始终是以底层,复杂和高性能著称,所以在很多高性能需求的场景之下…...

从0到1搭建webpack

好,上一篇文章我们说了一下在react中怎么弄这个webpack,那么现在在说一下不用react我们又该怎么配置,这些呢也都是我自己通弄过看视频自己总结的,拿来给大家分享一下。 前期准备条件 1、nvm(可以快速切换node版本&am…...

针对解决conda环境BUG的个人笔记

1-conda学习&安装 安装视频: 零基础教程:基于Anaconda和PyCharm配置Pytorch环境_哔哩哔哩_bilibili 安装过程: MX250笔记本安装Pytorch、CUDA和cuDNN-CSDN博客 Win10MX250CUDA10.1cuDNNPytorch1.4安装测试全过程(吐血)_nvidia geforc…...

读《Effective Java》笔记 - 条目13

条目13:谨慎重写clone方法 浅拷贝和深拷贝 浅拷贝(Shallow Copy) 浅拷贝 只复制对象本身,而不复制对象引用的成员。 对于引用类型的字段,浅拷贝会将原对象的引用复制到新对象中,而不会创建新对象实例。因…...

SQL 之连接查询

SQL 连接查询:深入理解 JOIN 操作 在数据库管理中,连接查询(JOIN)是一种基本而强大的操作,它允许我们从两个或多个表中检索数据。SQL 中的 JOIN 操作使得数据整合变得简单,这对于数据分析和报告至关重要。…...

vscode切换anaconda虚拟环境解释器不成功

问题: 切换解释器之后运行代码还是使用的原来的解释器 可以看到,我已经切换了“nlp”解释器,我的nltk包只在“nlp”环境下安装了,但是运行代码依然是"torch"解释器,所以找不到“nltk”包。 在网上找了各种…...

一个实用的 Maven localRepository 工具

目录 1 现状2 当前解决3 更好的解决3.1 下载 Maven localRepository 工具包3.2 上传本地 localRepository 包3.3 清理 localRepository 中指定后缀的文件 1 现状 在使用 Maven 时,我们可能会经常与本地仓库和私服仓库打交道。 例如对于本地仓库,因为某…...

目标检测,图像分割,超分辨率重建

目标检测和图像分割 目标检测和图像分割是计算机视觉中的两个不同任务,它们的输出形式也有所不同。下面我将分别介绍这两个任务的输出。图像分割又可以分为:语义分割、实例分割、全景分割。 语义分割(Semantic Segmentation)&…...

微信小程序 城市点击后跳转 并首页显示被点击城市

在微信小程序中,渲染出城市列表后,如何点击城市,就跳转回到首页,并在首页显示所点击的城市呢? 目录 一、定义点击城市的事件 二、首页的处理 首页:点击成都市会跳转到城市列表 城市列表:点击…...

Linux - nfs服务器

五、nfs服务器 1、基础 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统 中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。 由于NFS支持的功能比较多,而不同的功能都会使用不同的程…...

uniapp图片上传预览uni.chooseImage、uni.previewImage

文章目录 1.上传图片2.预览图片 1.上传图片 uni.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照。 App端如需要更丰富的相机拍照API(如直接调用前置摄像头),参考plus.camera 微信小程序从基础库 2.21.0 开始, wx.choos…...

C++ 字符串中数字识别

【问题描述】 输入一个字符串,含有数字和非数字字符,如“sumabc234;while(abc700)tab{ass346;bssabc267;}”,将其中连续的数字作为一个整数,依次存放到一个数组nums中。例如,234放在nums[0],700放在nums[1…...

学术中常见理论归纳总结-不定期更新

1.信息传播类 1.1 扩散创新理论 创新扩散理论是传播效果研究的经典理论之一,是由美国学者埃弗雷特罗杰斯(E.M.Rogers)于20世纪60年代提出的一个关于通过媒介劝服人们接受新观念、新事物、新产品的理论,侧重大众传播对社会和文化的影响。 1927-1941年进行的“艾奥瓦杂交玉…...

ModelSim怎么修改字体及大小

点击TOOLS 选择PERFERENCES选择下一级菜单的TEXTFONT/CHOOSE/选择字体和大小最后不要忘记点apply再退出...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析

1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...