超越fast style transfer----任意风格图和内容图0.1秒出结果

本文介绍了风格转换技术的三个发展阶段,重点解析了style-swap方法,它能在0.1秒内将任意风格应用到内容图上。style-swap通过高效的风格匹配和交换过程,实现了快速的风格转移,且不局限于特定风格。
摘要由CSDN通过智能技术生成

如果不知道风格转换的,移步 http://blog.csdn.net/hungryof/article/details/53981959 ,瞄上一眼再回来。

1. 以前风格转换速度之尴尬

如果从得到效果图速度来分的话,可以分为三个阶段。

阶段一

最初的用神经网络实现的风格转换是需要不断迭代的,不仅速度慢,而且我要在A图加上B图的风格,就需要分别根据这两幅图进行不断前反向传播,更新输入,效率实在太低。称之为style transfer

阶段二

后来人们就想能不能直接一个前向传播搞定啊~,然后他们想出了,先训练一个 G , 这个 G 可以让输入 I 通过 G 后得到的 G(I) 是A图加上B图的风格。这个方法还是有很大的问题,那就是我训练的G必须是同一种风格,一般就用一幅风格图B,然后用很多的内容图,不断优化训练G, 最终G有啥用啊,只是“B风格的滤镜”罢了。那我要很多种风格呢?我就要训练很多很多的G,那挺尴尬的。. 代表论文是是 http://blog.csdn.net/hungryof/article/details/53981959 中提到的 Texture Networks: Feed-forward Synthesis of Textures and Stylized ImagesPerceptual Losses for Real-Time Style Transfer and Super-Resolution . 这也就是网上经常说的 fast style transfer.

阶段三

大家就想,我怎么直接输入任意A和B,一次前向出来呢?如果能成功,那么速度就不需要考虑了,因为已经到达顶峰了。
style-swap 就是第三阶段的开始。
0.1秒出结果。
这里写图片描述

2. Style-swap的魅力


这里写图片描述

效果还是挺不错的嘛~~再放几张。。

图片名称

图片名称

用上面素描画形成的效果:

这里写图片描述

这里写图片描述
别问这人是谁,一个好友的qq头像,有较多的纹理,就直接拿过来试了试效果。。

3. style-swap浅谈

论文分为2个部分,第一部分就是常规的迭代方式,第二个是将常规的改成一次前向的方法。

3.1 style-swap的新方法

以前不都是认为Gram操作就是相当于“风格”的一种表示嘛,他们认为,如果我要得到C图的内容加上S图的风格,那么我希望我的网络输入 I 在高维度特征 ϕ(I) (一般用VGG19的某一层的相应的输出,作为 I 的高维特征)与C图的高维特征 ϕ(C) 尽量一样,同时希望 ϕ(I) 进行Gram计算后得到的 G(ϕ(I)) G(ϕ(S)) 尽量一样。为什么要用Gram矩阵呢?是否有必要?这些都不知道。
后来Chuan Li的 Combining Markov Random Fields and Convolutional Neural Networks for
Image Synthesis将Style loss改成了MRFs Loss Function,依旧保留content loss。这篇论文第一部分工作其实就单纯用第一种loss了,舍弃了content loss。 这篇论文的详细讲了计算这种Loss的高效方法。这篇论文的主要贡献还是第二部分工作,引入了Inverse Net,这使得一次前向传播得到的特征图成为可能。

3.2 实现方法

C S 分别代表内容图和风格图, ϕ() 代表预训练网络(一般VGG19)的前部分网络。 ϕ(C) 就是 C 传入网络中在某一层出来的特征。

  1. 先提取一系列块 ϕi(C) ϕj(S) 。其中 inc , jns ,其中 nc ns 分别是能从 ϕi(C) ϕj(S) 抽取的块数。

    • 对于每块 ϕi(C) ,我们希望选择其最近的style 块 ϕj(S) , 称之为 ϕssi(C,S) .
      ϕssi(C,S):=ARGMAXϕj(S),j=1,,ns<ϕi(C),ϕj(S)>||ϕi(C)||||ϕj(S)||
    • 这步称之为重建 Φss(C,S) 。这时候我们只需要平均一下那些重叠区域的值就行了。这样就可以得到 Φss(C,S) ,称之为 Φss(C,S) 的重建。
    • 因此总的优化目标是:

      Istylized(C,S)=ARGMINIRh×w×d||Φ(I)Φss(C,S)||2F+λTV(I)

      3.3 高效方法

      这里可能会写的比较啰嗦。。因为要讲的很明白,确实需要啰嗦点。。为了简便,提取的块spatial size就3x3吧, relu3_1层是256个通道。下面的三步统称为style-swap.

      3.3.1 实现方法的第一二步解释

      先看看3.2节实现方法的第一二步干啥:

      ϕssi(C,S):=ARGMAXϕj(S),j=1,,ns
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值