Page 133 - 《软件学报》2021年第9期
P. 133
肖进胜 等:面向图像场景转换的改进型生成对抗网络 2757
1 相关工作
图像转换是一个经典的计算机视觉任务,而近些年,以卷积神经网络为代表的深度学习算法的流行,让这一
[5]
任务有了显著的突破.2014 年,Goodfellow 提出了生成对抗网络 ,基于 GAN 的算法在图像转换上表现良好,
Pix2pix,CycleGAN,MUNIT 等模型陆续被提出.参考这些算法,本文提出了一种新型的基于生成对抗网络的图
像场景转换算法.
1.1 生成对抗网络
[5]
生成对抗网络(GAN) 是一种无监督的机器学习方法,有两个网络模型:生成器(generative model)和判决器
(discriminative model),两个网络相互对抗相互牵制.判决器是判定一个样例是来自数据集还是生成器合成的图
像,生成器目的是尽可能使生成图像以假乱真以迷惑判决器难辨真伪.两个网络模型相互对抗来提升各自的算
法能力,直到判决器无法分辨出合成图像与真实图像.在数据集中真实图像中,生成器想要从 y 中学习其分布,定
义输入噪声变量 p z (z),则损失函数定义为
min max ( , )VD G = E yp ( )y [log ( )]D y + E z ~ z p ( )z [log(1 D− ( ( )))]G z (1)
G D ~ data
z 表示输入生成器 G 的噪声,而 G(⋅)表示 G 网络生成的图片.D(⋅)表示判决器 D 网络判断真实图片是否真实
的概率,E 为数学期望.由于其为无监督学习,该方法应用范围十分小,无法实现像素与像素之间的转换.
1.2 CycleGAN
CycleGAN [21] 利用非成对图像进行训练,主要贡献在于提出了循环一致性损失.该损失要同时学习正向和
反向两个映射,设正向映射也即 G:X→Y,反向映射 F:Y→X.并要求图像能够从一个方向转换后,还可以反向转换,
实现一个循环.即 F(G(x))≈x 和 G(F(y))≈y.循环一致性损失可以定义为
L cyc (F,G,X,Y)=E x~pdata(x) [||G(F(x))−x|| 1 ]+E y~pdata(y) [||G(F(y))−y|| 1 ] (2)
同样还引用 GAN 损失.正向映射 G:X→Y,定义其判决器为 D Y ,则其 GAN 损失为
L GAN (G,D Y ,X,Y)=E y~pdata(y) [logD Y (y)]+E x~pdata(x) [log(1−D Y (G(x)))] (3)
由于循环一致性,则定义反向映射的判决器为 D X ,由此可以同样定义 L GAN (G,D X ,X,Y).最终的损失就由 3 部
分组成:
L=L GAN (G,D Y ,X,Y)+L GAN (F,D X ,X,Y)+λL cyc (F,G,X,Y) (4)
该方法在 Pix2pix 基础之上修改损失函数.由于图像的训练集不需要成对的数据进行训练,该方法的应用范
围更加广泛.但是由于训练集不匹配,只能通过训练去猜测真实的映射关系,因此其学习到的映射关系可能会出
现偏差.
1.3 MUNIT模型
MUNIT(multimodal unsupervised image-to-image translation)即多模态非监督图像翻译算法 [22] ,算法中通过
图像编码分别获得图像集 X i 的风格空间 S i 和共同的内容空间 C.实现从图像 x 1 转换到 x 2 ,将输入图像的内容 c
与转换目标的风格 s 2 相结合.不同的风格得到不同的转换结果.该网络的损失函数包括两部分:一是双向重建损
失,二是 GAN 损失.
双向重建损失有两部分——图像重建和潜在重建.生成网络用 G 表示,E 表示 G 的反向操作.图像重建损失
表示为
s
L 1 x = [|| G (E c ( ),x E x x || ] (5)
( )) − E
recon x 1 ~ ( p x 1 ) 1 1 1 1 1 1 1
潜在重建损失表示为
1 c
|| ]
L recon = E c 1 ~( ),s 2 ~ ( q s 2 ) [|| E 2 c (G 2 ( , ))c s 2 − c 1 1 (6)
1 c
1
p
2 s
|| ]
L recon = E c 1 ~ ( ),s 2 ~ ( q s 2 ) [|| E 2 s (G 2 ( , ))c s 2 − s 2 1 (7)
1
1 c
p
GAN 损失表示为