图像生成之pix2pix

简要介绍

利用GAN做image translation的开山之作:Image-to-Image Translation with Conditional Adversarial Networks

​ 自然语言处理领域有text2text,所以自然而然图像领域也有image2image。作者提出pix2pix,即利用CGAN实现一个解决各种image2image任务(语义分割,边缘检测、风格迁移等等)的通用解决方案和框架(前人工作中只应用于特定领域)。

CGAN的结构化损失

​ 在此之前的单一领域的image2image中的都是逐像素分类或回归(per-pixel classification or regression),每个输出像素被认为有条件地独立于所有其他像素,是非结构化的。

​ 这时就出现了一个问题,通用领域中的image2image任务怎么设计损失函数呢?作者在文中指出:CGAN的不同之处在于损失是可学习的,并且理论上可以惩罚输出和目标之间任何的可能不同的结构(CGAN的损失函数就很适合通用领域嘛!我个人理解是因为他的训练模式是相互博弈,所以损失就是基于全局如果不是像素的损失)。忘记了的可以去看一下这篇CGAN的讲解
L c G A N ( G , D ) = E x , y [ log ⁡ D ( x , y ) ] + E x , z [ log ⁡ ( 1 − D ( x , G ( x , z ) ) ] \begin{aligned} \mathcal{L}_{c G A N}(G, D)= & \mathbb{E}_{x, y}[\log D(x, y)]+ \mathbb{E}_{x, z}[\log (1-D(x, G(x, z))] \end{aligned} LcGAN(G,D)=Ex,y[logD(x,y)]+Ex,z[log(1D(x,G(x,z))]
​ 前人工作表明将GAN目标函数与更传统的损失函数(L1loss:MAE、L2loss:MSE)混合是相得益彰的。作者认为L1 loss 可以恢复图像的低频部分,而GAN loss可以恢复图像的高频部分(图像中的边缘等)。生成器的任务不仅是欺骗鉴别器,而且要在L2意义上接近真值输出。作者指出使用L1而不是L2,因为L1可以减少模糊。
L L 1 ( G ) = E x , y , z [ ∥ y − G ( x , z ) ∥ 1 ] \mathcal{L}_{L 1}(G)=\mathbb{E}_{x, y, z}\left[\|y-G(x, z)\|_1\right] LL1(G)=Ex,y,z[yG(x,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值