(笔记杂谈一)图像风格迁移中的Gram矩阵风格监督

前言

我不是做风格迁移的,但是我觉得这个很有意思,所以在matconvnet上简单实践了一把,唉,matconvnet毕竟小众,啥都要自己写

  1. 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矩阵就是一个偏心协方差矩阵,这里的k为特征向量的个数(对应的是Channel的数目),每个特征向量为n维(n=h*w,即特征图长乘宽)。在神经网络中每一个Channel都代表的某一类特征,而对应输出的featuremap则为该特征的响应。 

风格迁移中的Gram矩阵衡量的是不同特征之间的相关关系,计算流程如下:

 

定义风格图片在网络第n层的Gram矩阵为Sn,内容图片(即待迁移图片)的Gram矩阵为Cn,则风格损失可以定义为:

对于需要手写反传算法情况(比如我当初用的matconvnet~~,没有自动求导也没有矩阵乘法的反传),则面临着对一个矩阵乘法求反传公式的问题,我自己简单推导了一下,大致可以表述如下:

2. 一个简单的网络实现框架

风格迁移的损失函数除了上面提到的风格迁移损失外,还有一个内容损失函数,其目的是保证在风格迁移的过程中图像的内容不至于丢失,一般都是用CNN提取到的高层特征来监督内容损失,风格损失用底层特征的Gram loss来监督。

 

 图中Content Im 和Style Im分别为内容图片和风格图片,输入X可以是随机噪声,最终利用反传梯度更新X即可,这种方式无法做到实时的生成,只是一个基本理论的学习demo,实时的风格迁移可以参考《Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization》(https: //github.com/xunhuang1995/AdaIN-style)和《ADJUSTABLE REAL-TIME STYLE TRANSFER》(code:https://goo.gl/PVWQ9K)两篇论文的工作。

                                                                            一个简单的实现效果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

syvge

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值