4. CycleGAN 阅读笔记

192 阅读2分钟

image.png

图1. 基于循环一致对抗网络的不配对图像转译。不需要配对,就可以使两组图像之间的风格互相迁移。

image.png

图2. X → Y;Y → X 原理

损失函数

XXYY:对应图 2. 中的(a)上线、(b),期望将“Mona的印象派油画” 的风格变成 “手机拍摄的风景照”风格。

image.png

image.png

image.png

xx ~ XX:真图,如“Mona的印象派油画”

yy ~ YY:真图,如“手机拍摄的风景照”

GG:生成器

G(x)G(x):生成器 GG 通过源域输入 xx ~ XX 生成的假图 G(x)G(x)~Y^\hat{Y},期望像“手机拍摄的风景照”

DYD_Y:分类器

DY(y)D_Y(y):判断真实图像 yy 为“手机拍摄的风景照”的概率

DY(G(x))D_Y(G(x)):判断假图 G(x)G(x) 为“手机拍摄的风景照”的概率

step 1. 需要训练出强的分类器 DYD_Y。判断 yy 为“手机拍摄的风景照”的概率 DY(y)D_Y(y) 越大越好,同时判断生成器 GG 生成的假图 G(x)G(x) 为“手机拍摄的风景照”的概率 DY(G(x))D_Y(G(x)) 越小越好。此时损失函数越大越好,最大化损失函数 maxDYLGANmax_{D_Y} L_{GAN}

step 2. 在强 DYD_Y 基础下,需要训练出强的生成器 GG。生成器以源域 xx 作为输入,生成假图 G(x)G(x)。期望分类器 DYD_Y 判断生成器 GG 生成的假图 G(x)G(x) 为“手机拍摄的风景照”的概率越大越好。此时损失函数越小越好,最小化损失函数 minGLGANmin_{G} L_{GAN}

step 1.step 2. 的交替训练下,会鼓励 GG 生成越来越像 “手机拍摄的风景照” 的假图。

YYXX:对应图 2. 中的中的(a)下线、(c),意为将 “手机拍摄的风景照” 的风格变成 “Mona的印象派油画”风格。

image.png

image.png

F(y)F(y):生成器 FF 通过源域输入 yy ~ YY 生成的假图 F(y)F(y)~X^\hat{X},期望像“Mona的印象派油画”

DXD_X:分类器

DX(x)D_X(x):判断真实图像 xx 为“Mona的印象派油画”的概率

DX(F(y))D_X(F(y)):判断假图 F(y)F(y) 为“Mona的印象派油画”的概率

对该公式同理 step 1. & step 2.

image.png

image.png

image.png

step 3. 还原原图。对 XXYY 而言,为了使生成器 GG 生成的假图 G(x)G(x) “手机拍摄的风景照” 仍保留源域图像 xx “Mona的印象派油画”的信息。将假图 G(x)G(x) “手机拍摄的风景照” 放入生成器 FF 中生成图像 F(G(x))F(G(x)) “Mona的印象派油画” ,该 F(G(x))F(G(x)) “Mona的印象派油画”应与源域图像 xx “Mona的印象派油画”相近。对 YYXX 同理。

cycle-consistency loss的作用

image.png

  1. 使生成器生成的图像仍保留原始图像的信息

  2. 间接实现了 pix2pix 的 paired image translation 功能

  3. 防止模式崩溃(这里指:总生成相同的图像,找到使生成器能够欺骗判别器的“捷径”,总是生成相同的图像。加入cycle loss后可以监督生成器生成与x近似的,而不会永远生成同一张图)