本文主要是介绍跟李沐学AI:样式迁移,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
样式迁移需要两张输入图像:一张是内容图像,另一张是样式图像。 我们将使用神经网络修改内容图像,使其在样式上接近样式图像,得到合成图片。类似手机相册中的滤镜效果。
奠基性工作:基于CNN的样式迁移
任务:训练一个合成图片,融合另外两张图片的样式和内容。
首先,我们初始化合成图像,例如将其初始化为内容图像。合成图像是风格迁移过程中唯一需要更新的变量,即样式迁移所需迭代的模型参数。
然后,我们选择一个预训练的卷积神经网络来抽取图像的特征,其中的模型参数在训练中无须更新,我们可以选择其中某些层的输出作为内容特征或风格特征。如图中所示,以一个含有三个卷积层的与训练神经网络抽取内容图像和样式图像的特征,其中预训练模型的第二层输出为内容特征,第一层与第三层的输入为风格特征。
随后,通过前向传播计算样式迁移的两类损失函数(样式、风格),通过反向传播迭代模型参数,即不断更新合成图像。样式迁移常用的损失函数又三部分组成:1. 内容损失使合成图像与内容图像再内容特征上相近;2. 样式损失使合成图像与样式图像在样式特征中相近;3. 总变差损失以减少合成图像中的噪点
这篇关于跟李沐学AI:样式迁移的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!