风格迁移重要的两步就是风格图像的风格提取和内容图像的内容提取。
纹理合成
纹理能够描述一个图像的风格,所以风格的提取可以使用纹理合成。
将神经网络的特性应用在纹理合成中,使用VGG19,抽取它们在卷积网络某层的卷积特征。假设我们的卷积特征体积为CxHxW,可以把它看作HxW的空间网格,在网格上每一点都有C维的特征向量来描述图像在这点的外观。我们将通过使用网格中不同点所对应的特征向量,取它们的平均值,然后得到一个1xC的向量,从而得到一个CxC的格拉姆矩阵(是内积的对称矩阵),此格拉姆矩阵就可以看做纹理的统计模型。纹理合成的具体步骤如下:
1、使用随机噪声初始化输出图像。
2、输入一张图像,使它通过卷积神经网络,计算在各层上的格拉姆矩阵和输出图像格拉姆矩阵之间的L2范数加权总和。
3、进行反向传播,计算输出图像的像素梯度。
4、根据梯度上升,一点点更新图像的像素
重复以上步骤
特征提取
内容图像将引导我们的生成图像主题,同样将内容图像通过VGG19物体识别模型,直接把卷积神经网络的局部特征看作是图像的内容。
以上就得到了图像的风格和图像的内容,剩下的就是把一个图片的内容和另一个图片的风格合起来。
风格迁移
选取风格图像和内容图像,然后共同做特征识别,通过最小化内容图像的特征重构损失和风格图像的格拉姆矩阵损失,然后我们就得到了新风格的图像。
网友评论