图像、视觉中很多问题都涉及到将一副图像转换为另一幅图像(Image-to-Image Translation Problem),这些问题通常都使用特定的方法来解决,不存在一个通用的方法。但图像转换问题本质上其实就是像素到像素的映射问题,“条件生成对抗网络(CGAN)”能够解决这一问题。
如上图所示,使用CGAN可以实现语义/标签到真实图片、灰度图到彩色图、航空图到地图、白天到黑夜、线稿图到实物图的转换。使用完全一样的网络结构和目标函数,仅更换不同的训练数据集就能分别实现以上的任务。
摘要: 图像到图像转换是一类视觉和图形问题,其目标是使用对齐图像对的训练集来学习输入图像和输出图像之间的映射。但是,对于许多任务,将无法使用配对的培训数据。有一种方法,用于学习在没有配对示例的情况下将图像从源域X转换为目标域Y.目标是学习映射G:X→Y,使得来自G(X)的图像的分布与使用对偶损失的分布无法区分。因为这种映射是高度不足的,将它与逆映射F:Y→X耦合并引入循环一致性损失以强制执行F(G(X))asymp;X(反之亦然)。在不存在配对训练数据的若干任务中呈现定性结果,包括收集样式转移,对象转换,季节转移,照片增强等。
引言:在图像处理、计算机图形学和计算机视觉领域,很多问题都可以认为是将一张输入图片“转换”成相对应的输出图片。一个场景可以被渲染为RGB图像,梯度域,边缘图或语义图等。类比自动语言翻译,将图像到图像的转换问题定义为,在给定足够训练数据的情况下,将场景的一个可能表示转换成另一个。语言翻译之所以困难的一个原因是,语言之间的映射很少是一对一的,一种语言中的概念总是比用其他语言表达来的容易。相似的,绝大多数图像转换问题也是多对一的(计算机视觉)或者一对多的(计算机图形学)。传统上,每个任务都使用一种单独的,专用的机制来解决。但是实际上这些任务本质上都是一样的:从像素点预测新的像素点。
CNNs(卷积神经网络)逐渐成为解决各种图像预测问题的主力。CNNs通过学习使loss函数(损失函数)最小化(评估结果质量的目标),尽管学习过程是自动化的,但仍需要投入大量人力来设计有效的loss函数。如果采用了不成熟的方法,要求CNN最小化预测图像和真值图像之间的欧氏距离,那么这将会产生模糊的结果。这是因为欧式距离是通过将所有输出平均来最小化的,这将会产生模糊的结果。为了得到能够使CNN输出锐利,真实的图像,如何设计loss函数是一个开放性的且需要专业知识的问题。GANs学习的是一个区分真实和伪造图像的loss函数,同时训练一个生成模型来最小化这个loss。模糊的图像将无法被容忍,因为它们看起来像伪造的图像。由于GANs学习的是适应于数据的loss,因此可以将GANs应用到大量的任务中去,而传统方法可能针对不同任务需要不同类型的loss函数。研究有条件的GANs。和GANs从数据中学习一个生成模型一样,条件GANs学习一个条件生成模型。这使cGANs适用于图像转换问题,在输入图片上设置条件,得到相应的输出图像。
相关工作:
1.图像建模的结构loss
图像转换问题通常表述为各像素的分类或回归问题,将输出空间视为“非结构化的”,输出的每个像素酌情视为独立于输入图像的其他所有像素。相反的,条件GANs学习结构化的loss。结构化loss会对输出的节点构造进行惩罚。大多数文献都考虑这种类型的loss,比如条件随机场、SSIM度量、特征匹配、非参数loss、convolutional pseudo-prior以及基于匹配协方差统计的loss。条件GAN(生成式对抗网络)不同于这些学习到的loss,理论上可以对不同于输出和目标的任何可能结构进行惩罚。
GANs是一个学习随机噪声向量z
到输出图像y的映射的生成模型:G:z→y。相反的,条件GANs学习观察到的图像x和随机噪声向量z到y的映射:G:{x,z}→y。训练生成器G产生判别器D无法辨别真伪的图像,训练判别器D尽可能检测出生成器的“伪造”图像。
