2.2 损失函数
卡通图像具有锐利边缘,顺滑的色彩偏差,纹理也相对简单,所以作者定义了新的loss来完成这个需求。
作者提出了损失函数L(G,D),由两部分组成,第一部分为普通的GAN损失,第二部分为保证原真实图像内容的内容损失,如公式所示:
可以看到公式②中比普通GAN损失多加了一个,也就多了一个数据集。那这个数据集怎么来的,它是通过对原始卡通图像进行边缘模糊后得到的(边缘模糊图片见图2-2,左边为原图,右边位边缘模糊图),目的是为了让生成网络G生成边缘清晰的图片,所以判别为假数据。而公式③中的就是Neural Style(风格迁移)里面的内容损失,只不过把L2损失改为L1损失,在这里我们可以看成是一个正则化。
图2-2清晰动漫图(左)、边缘模糊图(右)
2.3 初始化技巧
作者引入一个初始化技巧,用公式③中的损失先来单独训练G,大概训练10个epoch。这样做的目的是为了生成的图片初始后就能保证原真实场景的内容,因为普通的单向GAN要是没有加入一些限制很难稳定保证原始图片的内容,大多会出现扭曲或更严重的情况。
3.总结
经过上述的技术细节来训练CartoonGAN,就可以将现实的场景完美的转换成漫画风格。
最后,我们就来欣赏一些漂亮的转换结果。