作者: Yansheng Li

发表年代: 2023

使用的方法: 无监督领域自适应(UDA)、GAN、ClassMix、边界增强

来源: IEEE TGRS

方向: 语义分割

期刊层次: CCF B;工程技术1区;IF 8.2

文献链接:

https://doi.org/10.1109/TGRS.2023.3313883

Li Y, Shi T, Zhang Y, et al. SPGAN-DA: Semantic-Preserved Generative Adversarial Network for Domain Adaptive Remote Sensing Image Semantic Segmentation[J]. IEEE Transactions on Geoscience and Remote Sensing, 2023.

SPGAN-DA:用于领域自适应遥感图像语义分割的语义保留生成对抗网络


要解决什么问题?

减少源域和目标域之间的域偏移对语义分割任务的影响,在遥感图像中实现有效的领域自适应语义分割。


背景:

  1. 域偏移的主要挑战

    a. 跨成像模式

    b. 跨地理位置

    c. 跨景观布局

  2. 无监督领域自适应(UDA)方法:通过调整源域和目标域的分布来缓解域偏移问题。

  3. 现有方法可分为三种

    a. 图到图的转换:通过基于生成对抗网络(GAN)的方法转换源域图像,使其在视觉上与目标域相似。有助于训练前减少域差异。

    b. 对抗性学习方法:

    • 判别器网络:最大限度地减少源特征分布与目标特征分布之间的差异。
    • 判别器从语义分割网络中获取特征图,并尝试区分输入的域。同时,对分割网络进行训练,使其能够骗过判别器,并对源域和目标域产生良好的分割效果。

    c. 自学习方法:主要思想是利用集合模型或先前模型的高置信度预测作为未标记数据的伪标签,从而迫使模型以隐含的方式学习领域不变特征。


主要贡献:

  1. SPGAN:它从源域到目标域进行无偏转换(即视觉内容不变转换),以对齐光谱信息或成像模式。这是通过在GAN框架中引入表征不变语义保留的约束来实现的,并以端到端的方式进行优化。

  2. 类别分布对齐(CDA)语义分割模块:进一步缩小不同数据集之间的横向布局差距。

    a. 模型输入层,首先通过ClassMix操作将转换图像中的对象粘贴到目标图像上。

    b. 模型输出层,提出了边界增强来改进对象边界的性能。

    c. 利用这两个方面来协同训练领域自适应语义分割模型。

  3. SPGAN-DA可以在经典的遥感跨域语义分割基准上持续发挥良好作用。


具体结构:

  1. 整体框架

    a. 阶段一:通过SPGAN转移风格,把源域映射到目标域。

    b. 阶段二:转换后的类目标图像和目标域图像协同训练一个鲁棒的分割模型。

  2. 语义保留的生成对抗网络(SPGAN):

    a. 图像一致性损失:让图像在转换过程中更多地保留源内容

    • 源→目标→源,再现原始样本,增强循环一致性

    • \(|| · ||_1\) 表示 \(ℓ1\) 常模,又称曼哈顿常模

    • 在概率论和统计学中,锥形符号 (\(\sim\)) 表示 "从......抽取 "或 "从......采样"。例如,\(E_{x\sim X}\) 表示对整个领域 \(X\) 的期望值,其中 \(x\) 是从 \(X\) 中采样的。

    b. 表征不变损失

    • 考虑了高层次的表征不变信息,确保两个相反生成网络的中间表征具有相同的分布

    • 这使得生成的图像在分布上更接近目标图像,并能很好地保留细节。

    • 可确保表征包含更多的高频抽象信息,从而提高领域自适应语义分割模型的有效性。

    c. 语义保留损失:不需要源域上的预训练模型

    • 确保翻译后的图像保持一致的语义内容

    • \(ℓ(·)\) 表示交叉熵损失函数

    d. SPGAN 整体的损失函数:

    e. \(G_{enc}\) 负责编码图像,\(G_{dec}\) 负责解码图像,\(G_{seg}\) 是一个新引入的分支,用于进行语义分割,以便 \(G\) 能够以监督方式保留语义信息。通过这种方式在转换过程中保留了语义信息,从而有助于减轻转换图像的偏差,并对齐源域和目标域的光谱信息。

    f. 生成器 \(G\) :源域→目标域,生成器 \(F\) :目标域→源域。允许模型在两个方向上学习不同域之间的映射,确保语义信息在两个域中都得到保留并保持一致。

  3. 类别分布对齐(CDA)语义分割模块:

    a. ClassMix:在转换后的图像中随机粘贴一半的类别,然后将相应的像素剪切下来粘贴到目标域的图像上。生成风格与目标域高度相似的混合图像,从而有效缩小翻译图像与目标图像之间的差距。

    • 生成混合图像 \(x_{m}\)

    • 均值教师模型为 \(x_{m}\) 分配伪标签

    b. 利用转换后的图像 \(x_{s}'\) 和混合后的图像 \(x_{m}\) 来训练具有交叉熵损失的语义分割模型

    c. 边缘增强:通过ClassMix遮罩获得边界权重贴图遮罩,并保留离剪切粘贴边缘最近的四个像素。换句话说,只有距离小于4的像素才被考虑来计算边界权重。

    • 混合后的图像的边缘增强损失:

    • 转换后的图像的边缘损失:γ是一个比例因子,用于平衡源域图像和混合图像对边界增强的贡献。

    • 边缘增强模块的总体损失:


实验设置:

  1. 数据集

    a. ISPRS 2D:Potsdam 和 Vaihingen 两个子集

    b. LoveDA:城市和乡村

    b. 3个跨域实验

    • 跨地理位置:Potsdam IR-R-G为源域,Vaihingen IRR-G为目标域

    • 跨成像模式:Potsdam R-G-B为源域,Vaihingen IR-R-G为目标域

    • 跨景观布局:LoveDA的Urban R-GB为源域,LoveDA的Rural R-G-B为目标域

  2. 实施细节

    a. 生成器:8个卷积层,kernel_size = 4, stride = 2, out_channel ∈ {64, 128, 256, 512, 512, 512, 512, 512},镜像的卷积之间还有跳跃连接组成U形结构。(没图没源码)

    b. 判别器:5个卷积层,kernel_size = 4, out_channel ∈ {64, 128, 256, 512, 1}

    c. GAN的优化器:RMSProp

    d. 分割模型:DeepLab-v2

    e. 主干网络:ResNet-101

    f. 分割模型的优化器:SGD

  3. 评价指标:FID,IoU

  4. 优越性评估

    a. SPGAN图像转换质量

    b. 对比实验

    跨地理位置



    跨成像模式



    跨景观布局

  5. 消融实验:只有源域(SO)作为基准,对抗性损失和图像一致性损失(AL + ICL),表征不变损失(RIL),语义保留损失(SPL),边缘增强损失(BEL)

  6. 边缘权重的敏感性(超参数)分析:\(\lambda_{b}\) 指导网络对边界的关注程度


  7. 可视化特征分布:通过t-分布随机邻域嵌入得到二维特征图

  8. 分割方法对比


源码链接:


补充知识:

  1. 生成对抗网络的训练过程是一个博弈过程,生成器和判别器相互竞争,相互提升,直到达到一种动态平衡。生成器努力生成更逼真的样本,而判别器努力提高自己的辨别能力。

  2. 在 SPGAN-DA 框架中,x 代表输入数据点,而 X 代表输入数据点的整个域。在概率论和统计学中,锥形符号 (~) 表示 "从......抽取 "或 "从......采样"。例如,\(E_{x\sim X}\) 表示对整个领域 X 的期望值,其中 x 是从 X 中采样的。

  3. FID(Fréchet Inception Distance)是一种用于评估生成模型生成图像质量的指标。它是由Martin Heusel等人于2017年提出的。FID Score基于两个图像分布之间的Fréchet距离,该距离在统计学中用于度量两个分布的相似性。

【论文笔记#1】SPGAN-DA:用于领域自适应遥感图像语义分割的语义保留生成对抗网络的更多相关文章

  1. 人工智能中小样本问题相关的系列模型演变及学习笔记(二):生成对抗网络 GAN

    [说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] [再啰嗦一下]本文衔接上一个随笔:人工智能中小样本问题相关的系列模型演变及学习 ...

  2. GAN实战笔记——第七章半监督生成对抗网络(SGAN)

    半监督生成对抗网络 一.SGAN简介 半监督学习(semi-supervised learning)是GAN在实际应用中最有前途的领域之一,与监督学习(数据集中的每个样本有一个标签)和无监督学习(不使 ...

  3. 生成对抗网络(Generative Adversarial Network)阅读笔记

    笔记持续更新中,请大家耐心等待 首先需要大概了解什么是生成对抗网络,参考维基百科给出的定义(https://zh.wikipedia.org/wiki/生成对抗网络): 生成对抗网络(英语:Gener ...

  4. 深度学习-生成对抗网络GAN笔记

    生成对抗网络(GAN)由2个重要的部分构成: 生成器G(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器 判别器D(Discriminator):判断这张图像是真实的 ...

  5. GAN实战笔记——第四章深度卷积生成对抗网络(DCGAN)

    深度卷积生成对抗网络(DCGAN) 我们在第3章实现了一个GAN,其生成器和判别器是具有单个隐藏层的简单前馈神经网络.尽管很简单,但GAN的生成器充分训练后得到的手写数字图像的真实性有些还是很具说服力 ...

  6. GAN实战笔记——第六章渐进式增长生成对抗网络(PGGAN)

    渐进式增长生成对抗网络(PGGAN) 使用 TensorFlow和 TensorFlow Hub( TFHUB)构建渐进式增长生成对抗网络( Progressive GAN, PGGAN或 PROGA ...

  7. 【生成对抗网络学习 其三】BiGAN论文阅读笔记及其原理理解

    参考资料: 1.https://github.com/dragen1860/TensorFlow-2.x-Tutorials 2.<Adversarial Feature Learning> ...

  8. 《Generative Adversarial Networks for Hyperspectral Image Classification 》论文笔记

    论文题目:<Generative Adversarial Networks for Hyperspectral Image Classification> 论文作者:Lin Zhu, Yu ...

  9. 论文笔记:Image Smoothing via L0 Gradient Minimization

    今天要分享的这篇论文是我个人最喜欢的论文之一,它的思想简单.巧妙,而且效果还相当不错.这篇论文借助数学上的 \(L_0\) 范数工具对图像进行平滑,同时保留重要的边缘特征,可以实现类似水彩画的效果(见 ...

  10. 【CV论文阅读】生成式对抗网络GAN

    生成式对抗网络GAN 1.  基本GAN 在论文<Generative Adversarial Nets>提出的GAN是最原始的框架,可以看成极大极小博弈的过程,因此称为“对抗网络”.一般 ...

随机推荐

  1. WPF --- TextBox的输入校验

    引言 在WPF应用程序开发中,数据校验是确保用户输入数据的正确性和完整性的重要一环. 之前在做一些参数配置功能时,最是头疼各种参数校验,查阅一些资料后,我总结了数据校验方式有两种: Validatio ...

  2. 大白话说Python+Flask入门(三)

    写在前面 今天状态很不好,我发现学这部分知识的时候,会出现溜号或者注意力无法集中的情况. 我能想到的是,大概率是这部分知识,应该是超出了我现在的水平了,也就是说我存在知识断层了,整体感觉真的是一知半解 ...

  3. Net 高级调试之十一:托管堆布局架构和对象分配机制

    一.简介 今天是<Net 高级调试>的第十一篇文章,这篇文章来的有点晚,因为,最近比较忙,就没时间写文章了.现在终于有点时间,继续开始我们这个系列.这篇文章我们主要介绍托管堆的架构,对象的 ...

  4. Go:条件控制语句

    在 Go 语言中,主要的条件控制语句有 if-else.switch 和 select.以下是对它们的简单介绍: 1. if 语句: if 语句用于根据条件执行不同的代码块.它的基本形式如下: if ...

  5. Django学习(三) 之 模板中标签的使用

    写在前面 最近看到稀土掘金在搞2023年终总结征文活动,一直想尝试投稿试试,周末我就花了近一下午时间写完初稿,然后周一.周二完成精读再改稿,感觉OK,昨晚凌晨第一时间在稀土掘金投稿. 结果,又发生了同 ...

  6. 【软件安装】Web Tours的安装与启动

    1.下载,地址:https://marketplace.microfocus.com/appdelivery/content/web-tours-sample-application#app_rele ...

  7. RV1126 分区教程

    一.前言 期初我是想弄一个分区存放自己的 APP 程序,如果需要更改应用的时候,只需要烧写独立的分区即可,就不需要重新烧写 rootfs.这是一个简单的操作,为啥还需要记录了,因为我在里面遇到了一些坑 ...

  8. 华企盾DSC手机app登录不上常见处理方法

    1.DSC服务器是否正常运行. 2.telnet外网是否通.(需要在程序与功能中添加telnet功能才能在cmd窗口用telnet命令 举例:telnet 172.17.2.20 5558) 3.其它 ...

  9. 【笔记】 springCloud-configServer配置中心

    当然第一步还是得要了解啦! 介绍 做项目, 那么就少不了配置微服务架构中,配置文件众多,各个服务的配置文件也有可能不一样, Spring为我们提供了相应的配置中心组件--Spring Cloud co ...

  10. 15、Flutter 按钮组件

    按钮组件的属性 ButtonStylee里面的常用的参数 ElevatedButton ElevatedButton 即"凸起"按钮,它默认带有阴影和灰色背景.按下后,阴影会变大 ...