| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> pix2pix:使用条件对抗网络的图像到图像转换 -> 正文阅读 |
|
[人工智能]pix2pix:使用条件对抗网络的图像到图像转换 |
论文解读:[pix2pix] Image-to-Image Translation with Conditional Adversarial Networks 数据集:CMP Facade Database (cvut.cz) 项目实践:gan-jittor/models/pix2pix at master · islandLZ/gan-jittor (github.com) 目录 ????????图像处理、图形学和视觉中的许多问题都涉及到将输入图像转换成相应的输出图像。这些问题通常使用特定于应用程序的算法来处理,尽管设置总是相同的:将像素映射到像素。条件对抗网是一种通用的解决方案,它似乎可以很好地解决各种各样的这些问题。这里我们展示了该方法在几个方面的结果。在每种情况下,我们都使用相同的架构和目标,只是在不同的数据上训练。 1、摘要????????我们研究条件对抗网络作为图像到图像转换问题的通用解决方案。这些网络不仅学习从输入图像到输出图像的映射,而且学习一个损失函数来训练这种映射。这使得应用同样的通用方法来解决传统上需要非常不同的损失公式的问题成为可能。我们证明了这种方法在从标签地图合成照片、从边缘地图重建对象和彩色图像等任务中是有效的。事实上,自从与本文相关的pix2pix软件发布以来,大量的互联网用户(其中许多是艺术家)已经发布了他们自己对我们的系统的实验,进一步证明了它的广泛适用性和易于采用,而不需要调整参数。作为一个社区,我们不再手工设计我们的映射函数,这项工作表明,我们可以在不手工设计我们的损失函数的情况下获得合理的结果。 意思就是:不需要调参,直接换数据集就可以达到对应的效果。 2、介绍????????图像处理、计算机图形学和计算机视觉中的许多问题都可以归结为将输入图像“翻译”成相应的输出图像。就像一个概念可以用英语或法语表达一样,一个场景可以被渲染为RGB图像、梯度场、边缘地图、语义标签地图等。与自动语言翻译类似,我们将图像到图像的自动翻译定义为,在给定足够的训练数据的情况下,将场景的一种可能表示转换为另一种可能。传统上,每一项任务都是用单独的、特殊用途的机器来处理的,尽管其设置总是相同的:逐像素预测像素。我们在本文中的目标是为所有这些问题开发一个通用的框架。 ????????社区已经在这个方向上迈出了重要的一步,卷积神经网络(CNNs)成为各种图像预测问题背后的常见主力。cnn学习最小化损失函数-一个评分结果质量的目标-虽然学习过程是自动的,大量的手工努力仍然。2018年11月26日开始设计有效损失。换句话说,我们仍然需要告诉CNN我们希望它最小化什么。但是,我们必须小心我们的愿望!如果我们采用一种朴素的方法,要求CNN将预测像素与地面真实像素之间的欧氏距离最小化,则容易产生模糊的结果。这是因为欧氏距离通过平均所有似是而非的输出而最小化,从而导致模糊。提出损失函数,迫使CNN做我们真正想要的-例如,输出尖锐,现实的图像-是一个开放的问题,通常需要专业知识。 ????????如果我们能够指定一个高级目标,如“让输出与现实难以区分”,然后自动学习一个适合于满足这一目标的损失函数,这将是非常可取的。幸运的是,这正是最近提出的生成对抗网络(GANs)所做的。GANs学习一个损失,试图分类输出的图像是真实的或假的,同时训练生成模型,以减少这种损失。模糊的图像是不能容忍的,因为它们看起来明显是假的。因为GANs学习的是与数据相适应的损失,所以它们可以应用于许多传统上需要非常不同种类的损失函数的任务。 ????????在本文中,我们探讨了条件设置下的gan。正如GANs学习数据的生成模型一样,条件GANs (cgan)学习条件生成模型。这使得cga适合于图像到图像的转换任务,在该任务中,我们对输入图像进行条件设置,并生成相应的输出图像。 ????????在过去的两年中,gan得到了大力的研究,我们在本文中探索的许多技术都是以前提出的。尽管如此,早期的论文集中在特定的应用上,而图像条件gan作为图像到图像转换的通用解决方案的有效性仍不清楚。我们的主要贡献是证明在各种各样的问题上,条件gan产生合理的结果。我们的第二个贡献是提供一个简单的框架,它足以实现良好的结果,并分析几个重要架构选择的效果。代码可以在https://github.com/phillipi/pix2pix上找到。 意思就是:使用条件式生成网络根据指定轮廓来生成对应的图像 3、相关工作????????图像到图像的转换问题通常被表述为逐像素分类或回归。这些公式将输出空间视为“非结构化”的,即每个输出像素被认为是有条件地独立于输入图像中的所有其他像素。有条件的GANs学习的是结构性损失。结构性损失惩罚了输出的联合配置。大量文献考虑了这类损失,包括条件随机场、SSIM度量、特征匹配、非参数损失、卷积伪先验和基于匹配协方差统计量的损失。条件GAN的不同之处在于,损失是习得的,理论上,它可以惩罚任何可能的输出和目标之间的差异结构。 ????????我们不是第一个在条件设置中应用GANs的人。先前和同时进行的工作使GANs具有离散标签、文本和图像。图像条件模型已经解决了从法线映射、未来帧预测、产品照片生成和从稀疏注释生成图像的问题。其他几篇论文也使用GAN进行图像到图像的映射,但只是无条件地应用GAN,依赖于其他条款(如L2回归)来迫使输出受输入的制约。这些论文在修复、未来状态预测、用户约束引导的图像处理、样式转移、超分辨率等方面取得了令人印象深刻的成果。每一种方法都是为特定的应用量身定制的。我们的框架的不同之处在于没有任何东西是特定于应用程序的。这使得我们的设置比大多数其他设置要简单得多。 ????????我们的方法在生成器和鉴别器的几个架构选择上也不同于以前的工作。与以往的工作不同,我们的生成器使用了基于“U-Net”的架构,我们的鉴别器使用了卷积“PatchGAN”分类器,它只在图像补丁的尺度上惩罚结构。以前也提出了类似的PatchGAN架构来捕获本地样式的统计信息。在这里,我们表明,这种方法是有效的,在更广泛的问题,我们调查的影响,改变补丁大小。 ?????????训练一个条件GAN映射边→照片。鉴别器D学习区分伪(由生成器合成)和真{边缘, 图片}元组。生成器G学会了欺骗鉴别器D。与无条件GAN不同,生成器和鉴别器都观察输入边映射。 意思就是: 训练生成器:把边缘输入生成器,得到图片,然后把边缘和生成的图片一起输入鉴别器,得到鉴别器的输出,计算损失值,然后反向传播来调整生成器网络的参数。 训练判别器:把边缘和生产的图片一起输入鉴别器,在把边缘和训练集中对应的图片一起输入鉴别器,计算总损失值,然后反向传播来调整判别器网络的参数。 ?4、方法????????GANs是生成模型,它学习从随机噪声向量z到输出图像y的映射,G: z→y。相比之下,条件GANs学习从观测图像x和随机噪声向量z到y, G: {x, z}→y的映射。经过训练的生成器G产生的输出无法与“真实”图像相区分,而经过对抗性训练的鉴别器D则被训练得尽可能好地检测生成器的“伪造”图像。 4.1 目标函数????????条件GAN的目标可以表示为下图,其中G试图最小化这个目标,而敌对的D试图最大化它,即G?= arg minG maxD LcGAN (G, D)。 ????????x:边缘图 ????????y:训练集中边缘图对应的图片 ????????D(x,y):判别器认为输入的真图(边缘,图像)是真实的概率(0假-1真)。 ????????我们希望D(x,y)越大越好。 ????????z:噪音,符合标准正态分布的随机数 ????????G(x,z):生成器根据边缘图和噪音生成的图片 ????????D(x,G(x,z)):判别器认为假图(边缘图,生成的图片)是假的概率(0假-1真)。 ????????我们希望D(x,G(x,z))越小越好。 ????????总结:我们需要这两项的值最大化。 ????????以前的方法已经发现将GAN目标与更传统的损失(如L2距离)混合是有益的。鉴别器的工作保持不变,但生成器的任务不仅是欺骗鉴别器,而且在L2意义上接近地面真值输出。我们也探索了这个选项,使用L1距离而不是L2作为L1来鼓励更少的模糊: ? ? ? ? 意思就是:让生成的图和真实的图像素接近。? ????????我们的最终目标是: ?????????如果没有z,网络仍然可以学习x到y的映射,但会产生确定性的输出,因此不能匹配除delta函数以外的任何分布。过去有条件的GANs已经承认了这一点,并提供了高斯噪声z作为生成器的输入,除了x。在最初的实验中,我们发现这种策略并不有效——发生器只是学会了忽略噪声——这与Mathieu et al.一致。相反,对于我们最终的模型,我们只以dropout的形式提供噪声,并在训练和测试时应用于生成器的几层上。尽管有dropout噪声,我们观察到在我们的网的输出中只有很小的随机性。设计产生高度随机输出的条件gan,从而捕获其模型条件分布的全部熵,是目前工作留下的一个重要问题。???????? ????????生成器的架构有两种选择。“U-Net”是一个编码器-解码器,在编码器和解码器堆栈的镜像层之间具有跳过连接。 4.2?网络体系结构????????我们采用DCGAN中的生成器和鉴别器架构。生成器和鉴别器都使用CBR模块。在线补充材料提供了体系结构的详细信息,下面讨论了关键特性。 4.2.1 生成器????????图像到图像的转换问题的一个定义特征是,它们将高分辨率的输入网格映射到高分辨率的输出网格。此外,对于我们考虑的问题,输入和输出在表面外观上不同,但都是相同的底层结构的渲染。因此,输入中的结构与输出中的结构大致对齐。我们围绕这些考虑来设计生成器架构。 ????????在这一领域,许多以前的解决方案都使用了编码器-解码器网络。在这样的网络中,输入通过一系列层,逐步向下采样,直到瓶颈层,此时过程被逆转。这样的网络要求所有的信息流通过所有的层,包括瓶颈。对于许多图像转换问题,在输入和输出之间有大量的低级信息共享,而将这些信息直接在网络上传输是可取的。例如,在图像着色的情况下,输入和输出共享突出边缘的位置。 ????????为了给生成器提供一种方法来绕过这样的信息瓶颈,我们按照“U-Net”的一般形状添加了跳过连接。具体来说,我们在每个第i层和第n - i层之间添加跳跃连接,其中n为总层数。每个跳跃式连接简单地将第i层的所有通道与第n - i层的通道连接起来。 意思就是:使用U-Net网络结构可以避免图像信息丢失。 4.2.2?马尔可夫链的鉴别器(PatchGAN)????????众所周知,L2损失和L1,在图像生成问题上产生模糊的结果。虽然这些损失不能促进高频的清脆,但在许多情况下,它们仍然能准确地捕捉到低频的声音。对于这种情况下的问题,我们不需要一个全新的框架来强制在低频率的正确性。L1已经可以了。 ????????这就限制了GAN鉴别器只建模高频结构,依赖L1项来强制低频正确。为了建模高频,我们只关注局部图像补丁中的结构就足够了。因此,我们设计了一个鉴别器架构——patchGAN。它只在补丁的规模上惩罚结构。该鉴别器试图区分图像中每个N × N个patch是真还是假。我们在整个图像上运行这个鉴别器,平均所有响应以提供最终的输出D。? ????????在5.4中,我们证明了N可以比图像的全尺寸小得多,但仍然可以产生高质量的结果。这是有利的,因为较小的PatchGAN具有更少的参数,运行更快,并且可以应用于任意大的图像。 ???????这种鉴别器有效地将图像建模为马尔可夫随机场,假设像素之间的独立性大于一个patch直径。这种联系之前有所探讨,也是纹理和风格模型中常见的假设。因此,我们的PatchGAN可以被理解为一种纹理/风格的损失。 意思就是:判别器捕捉高频信息,L1损失函数捕捉低频信息。 4.3?优化和推理????????为了优化我们的网络,我们遵循标准方法:我们在D上交替执行一个梯度下降步,然后在G上执行一个梯度下降步。正如最初GAN论文所建议的,我们不是训练G最小化log(1?D(x, G(x, z)),而是训练最大化log D(x, G(x, z))。此外,我们在优化D时将目标除以2,这降低了D相对于G的学习速度。我们使用小批量SGD并应用Adam优化器,学习率为0.0002,动量参数β1 = 0.5, β2 = 0.999。 ????????在推断时,我们以与训练阶段完全相同的方式运行训练部分。这与通常的协议不同,因为我们在测试时应用dropout,并且我们使用测试批的统计信息应用批归一化,而不是训练批的聚合统计信息。当批大小设置为1时,这种批归一化方法被称为“实例归一化”,并已被证明在映像生成任务中有效。在我们的实验中,根据实验的不同,我们使用1到10之间的批大小。 5 实验????????为了探索条件GANs的普遍性,我们在各种任务和数据集上测试该方法,包括图形任务,如照片生成、视觉任务、语义分割。 6 结论????????本文的结果表明,条件对抗网络是一种很有前途的方法,用于许多图像-图像转换任务,特别是那些涉及高度结构化图形输出的任务。这些网络根据手头的任务和数据学习损失,这使它们适用于各种各样的环境。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 1:57:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |