热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ImagetoImageTranslationwithConditionalAdversarialNetworks论文研究及应用

本文研究了使用条件对抗网络进行图片到图片翻译的方法,并提出了一种通用的解决方案。通过学习输入图像到输出图像的映射和训练相应的损失函数,我们可以解决需要不同损失函数公式的问题。实验证明该方法在合成图片、重构目标和给图片着色等多个问题上都很有效。这项工作的重要发现是不再需要人为构建映射函数和损失函数,同时能够得出合理的结果。本文的研究对于图片处理、计算机图片合成和计算机视觉等领域具有重要意义。

转自:https://blog.csdn.net/m0_37231012/article/details/70331114

论文链接

摘要

我们研究条件对抗网络的目的是将之作为一种图片到图片“翻译”问题的通用的解决方法。这些网络不仅学习了从输入图像到输出图像的映射,还学习了训练这个映射的损失函数。这使得将这个一般方法解决通常需要完全不同的损失函数公式的问题成为了可能。我们证实了这个方法在从标签图来合成图片、从边缘图来重构目标以及给图片着色问题上都很有效。作为一个共同体,我们不再需要人为构建映射函数,而且这项工作发现不用人为构造损失函数,我们也能得出合理的结果。

在图片处理、计算机图片合成和计算机视觉的许多问题都能被视作是一种从输入图片到相对应输出图片的“翻译”问题。正如一个概念能用英语或者法语表示一样,一个场景可能用RGB图像、梯度场、边缘图、一个语义标签图等等来表达。在与语言自动翻译的比喻中,我们将图片到图片的自动转化定义为在已给训练集足够的情况下,将一个场景的可能表示转化成另一个。

内容

a) 目的

:传统的图片到图片的“转化”通常需要人为构造复杂且合理的损失函数,针对不同的问题都必须采用特定的机制,虽然他们的背景都是从像素到像素的映射(pix2pix)。但是,GAN是一个不需要构建复杂损失函数的结构,它会自动学习从输入到输出图片的映射。因此,应用这个到图片“翻译”问题中,就可以实现一个泛化的模型。

b) 结果贡献

:论证了条件GAN能在广泛领域的问题中产生合理的结果;提出了一个能达到很好结果的简单框架,并且分析了重要结构的选择原因。

c) 目标函数

:这一块儿和普通的CGAN大同小异,

G网络目标是最小化目标函数,D网络目标是最大化目标函数。 
这篇论文作者又考虑到将传统的损失函数也应用到整个模型,因为过去的方法证明这个很有效,但是作者没有使用L2范数而是直接使用的L1范数,即是输入输出的差值,炉温提到这样可以对高频结构进行建模。得到最终的目标函数:

d) 网络结构

:与传统的encoder-decoder网络结构不同的是,本论文中,作者用了U-NET结构来作为生成器,与传统结构的不同之处在于,所有的信息流不用全部通过所有的层,而且这样让输入与输出有一个低级的结构类似(不是镜像的)可以得到很好的效果。(不知道为什么)

在判别器上,作者提出了一种PatchGAN的结构,只对小块规模上对结构做出奖惩调整。并且在N×N batch中,当N远小于图片规模时也可以得到很好的结果,但是却具有参数少、训练快且能应用在任意图片上。(有点类似于我毕设中的D网络用CNN结构,也算是对输入的一种高层次特征的学习)

e) 训练过程

:交替训练D网络和G网络,而且步数相同。这个训练的次数问题可以随具体任务的不同而定,每一篇论文都有不同的训练超参数。

f) 实验结果

:作者用了很多数据集进行训练测试,结果都比原来的好~

g) 最后作者用控制变量法分别测试了GAN和CGAN,L1+GAN和GAN的优劣,最终得出L1+CGAN效果最好的结论。分析之下,L1可以让输出的分布比输入更窄,从而得到平均化的结果。而CGAN可以让结果更加锐利不模糊,使得输出更加接近真实,目的达成。

h) 后面的appendix部分暂时没看,而具体的代码也暂时没有实现~

2.心得体会

a) GAN为什么能适用于多个场景?因为对于以前的任务,我们想要生成特定的输出,必须采用专业知识来构造特定的损失函数,结果却不尽如人意,生成的输出很模糊,不能达到生成尖锐的、真实的输出的目的。但是GAN只是明确了一个高等级的目标,即直接对输出做出是否与真实数据可分辨,这样就自动得到了一个满足目标的损失函数。 
b) 作者在目标函数构建的那一部分,提出将传统的损失也作为目标加入进去。这里和我的毕设中,训练之前都用MLE进行预训练的原理相似。D网路部分用PatchGAN也和毕设中D网络用CNN类似。开始不太理解毕设里面模型采用这些机构的作用,现在理解了一些:预训练可以让结果靠近真实分布,用在预训练可以加速训练进程,因为GAN的训练过程太慢,难度太高;而CNN也是学习局部特征,避免参数过多,避免过拟合。


推荐阅读
  • CSS高级技巧:动态高亮当前页面导航
    本文介绍了如何使用CSS实现网站导航栏中当前页面的高亮显示,提升用户体验。通过为每个页面的body元素添加特定ID,并结合导航项的类名,可以轻松实现这一功能。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 如何彻底清除顽固软件如360
    本文详细介绍了如何彻底卸载难以删除的软件,如360安全卫士。这类软件不仅难以卸载,还会在开机时启动多个应用,影响系统性能。我们将提供两种有效的方法来帮助您彻底清理这些顽固软件。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 本次考试于2016年10月25日上午7:50至11:15举行,主要涉及数学专题,特别是斐波那契数列的性质及其在编程中的应用。本文将详细解析考试中的题目,并提供解题思路和代码实现。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 本文详细介绍了如何在 Windows 环境下使用 node-gyp 工具进行 Node.js 本地扩展的编译和配置,涵盖从环境搭建到代码实现的全过程。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
author-avatar
哦是你的嘛_416
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有