为了将风格图的风格和内容图的内容进行融合,所生成的图片,在内容上应当尽可能接近内容图,在风格上应当尽可能接近风格图
因此需要定义内容损失函数和风格损失函数,经过加权后作为总的损失函数
实现步骤如下
Gram矩阵的计算、风格损失及反传求导公式
以下内容转自: (笔记杂谈一)图像风格迁移中的Gram矩阵风格监督 - 知乎
定义n 维特征空间中有k 个特征向量
,则它们的Gram矩阵就是由这些特征计算得来的偏心协方差矩阵(因为没有减均值),对角线元素的值则表征这些特征的强度(也就是幅值),其他元素则是特征之间的相关系数,图像的纹理特征可以看作不同底层特征之间的组合关系,所以用Gram 矩阵来衡量作为损失函数,便可以监督图像风格的迁移。下面三个论文便是用Gram矩阵来监督的。
[1]. Ghiasi G, Lee H, Kudlur M, et al. Exploring the structure of a real-time, arbitrary neural artistic stylization network[J]. arXiv preprint arXiv:1705.06830, 2017.
[2]. Yang S, Wang Z, Wang Z, et al. Controllable artistic text style transfer via shape-matching gan[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 4442-4451.
[3].ADJUSTABLE REAL-TIME STYLE TRANSFER,ICLR2020
风格迁移中的Gram矩阵衡量的是不同特征之间的相关关系,计算流程如下:
定义风格图片在网络第n层的Gram矩阵为Sn,内容图片(即待迁移图片)的Gram矩阵为Cn,则风格损失可以定义为:
对于需要手写反传算法情况(比如我当初用的matconvnet~~,没有自动求导也没有矩阵乘法的反传),则面临着对一个矩阵乘法求反传公式的问题,我自己简单推导了一下,大致可以表述如下:
图中的L loss即上面的风格损失,是一个MSE形式的loss,GroudTruth为风格图片的Gram矩阵
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/jacke121/article/details/123975659
内容来源于网络,如有侵权,请联系作者删除!