Style transfer系列论文之——Image Style Transfer Using Convolutional Neural Networks,CVPR, 2016

  • Style transfer是什么?
  • 论文解读
  • 思路
  • style transfer技术细节
    • 图像的特征表示
    • content repesentation & distance
    • style representation & distance
    • 优化策略
  • Style transfer整体流程
    • Remark
  • 资源

Style transfer是什么?

Style transfer指的希望产生这样的一幅图像x: x与源图像p的内容相似,而与源图像a的风格相似。p被称之为content image, a被称之为style image
Style transfer是神经网络应用非常火的领域之一,生成的图像往往很有艺术感,由此, 神经网络的能力和潜力可见一斑。

论文解读

这里介绍一篇style transfer领域较早的一篇论文:Image Style Transfer Using Convolutional Neural Networks,发表于CVPR, 2016. 是有另一篇更早的论文:A Neural Algorithm of Artistic Style, 由同一作者书写。

思路

为了达到style transfer的目标,作者定义了两种metrics: style distance和content distance, 然后以监督的方式进行训练, 通过同时最小化content_distance (x, p)和style_distance(x, a)即可。
那么问题来了, 要计算两张图像的content_distance和style_distance, 首先如何表示每张图的content repesentation 和style representation?

style transfer技术细节

图像的特征表示

作者借助了VGG19 预训练模型(pretrained model)作为feature extractor。具体讲, 去掉了VGG19的全连接层层。同时对网络的权重weights进行了缩放。
假设第lll层有NlN_{l}Nl​个卷积核, 记输入x在该层输出的feature map为Fl∈RNl⋅MlF^{l} \in R^{N_{l} \cdot M_{l}}Fl∈RNl​⋅Ml​, 其中Ml=Hl⋅WlM_{l}=H_{l} \cdot W_{l}Ml​=Hl​⋅Wl​, F就是x的特征表示F就是x的特征表示F就是x的特征表示。 下面的content distance 和 style distance就是基于这个定义的。

content repesentation & distance

记x和p分别为生成的iamge和原始的content image,它们在第l层对应的输出分别为FlF^{l}Fl和PlP^{l}Pl, 则x和p在第lll层的content distance定义为逐像素的MSE, 计算如下:

这个简单,很容易想到,那么style representation如何表示和计算呢?

style representation & distance

如何获得图像的style representation? 作者借鉴了这篇论文:Texture Synthesis Using Convolutional Neural Networks,NIPS, 2015.
style representation有不同滤波器输出(featuremaps)的相关关系组成. 具体来说, 不同featuremap之间的相关关系有Gram 矩阵给出,如下:
FlF^{l}Fl的第i个和第j个featuremap的相关性(內积)计算如下:

从而可以得到FlF^{l}Fl对应的style representation: GlG^{l}Gl.

记x和a分别为生成的iamge和原始的style image, 其对应的第l层的style representation分别为: GlG^{l}Gl和AlA^{l}Al, 则 GlG^{l}Gl和AlA^{l}Al的style distance计算如下:

为了将不同层产生的不同尺度的featuremaps之间的correlation考虑进来以获取更加robust的style distance, 将所有的层考虑进来,然后进行平均, 如下:

总的Loss计算如下:

优化策略

通过反向传播, 具体来说,作者使用了L-BFGS优化策略,该策略对于图像的合成最有效。

Style transfer整体流程


如上图所示,
Step 1:分别计算content image—p和style image—a在各层的responses (即feature map), 包括: content representation (最右边)和style representation (最左边), 并保存结果。
Step 2: 将合成图像x初始化为高斯白噪声.
Step 3: 将xfeed进入网络,计算其在各层的输出, 然后就可以计算LtotalL_{total}Ltotal​。
Step 4: 计算LtotalL_{total}Ltotal​关于各个像素点的梯度:

并基于L-BFGS优化算法来更新x:

Step 5: 重复Step 3 ~ Step 4直至收敛。

Remark

1.可以看到与以往的更新模型参数不同, 这里是通过反向传播来更新输入x,因为目标是合成/生成图像, 所以网络参数由pretrained model提供并且在x训练过程中不更新(只是作为feature extractor)。笔者刚开始看到这种感觉挺新奇/ 奇怪的, 后期还有很多文章是利用Generator来生成图像,Generator本身就是一个trainable的神经网络, (例如后面要介绍的AdaIN-Style,链接), 这种反而更容易让人接受。哈哈!
2. 可以看到这种方式生成一张图像需要反复的迭代训练,效率肯定不高。

资源

1.官方开源代码, https://github.com/jcjohnson/neural-style

Style transfer系列论文之——Image Style Transfer Using Convolutional Neural Networks,CVPR, 2016相关推荐

  1. 论文《ImageNet Classification with Deep Convolutional Neural Networks》阅读及AlexNet的Tensorflow2复现

    论文<ImageNet Classification with Deep Convolutional Neural Networks>阅读及AlexNet的Tensorflow2复现 论文 ...

  2. 《每日论文》ImageNet Classification with Deep Convolutional Neural Networks

    这篇论文是剖析 CNN 领域的经典之作,也是入门 CNN 的必读论文.作者训练了一个面向数量为 1.2 百万的高分辨率的图像数据集 ImageNet, 图像的种类为 1000 种的深度卷积神经网络. ...

  3. 论文学习笔记:CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes

    CSRNet是2018年提出来的人群计数模型,其论文发表于CVPR会议. 论文链接:CSRNet Abstract 摘要 我们提出了一个拥挤场景识别网络CSRNet,它提供了一种数据驱动的深度学习方法 ...

  4. 论文 | Credit Card Fraud Detection Using Convolutional Neural Networks

    本篇博客继续为大家介绍一篇论文,也是关于用卷积神经网络 CNN 来进行信用卡欺诈检测的. 论文信息 论文题目:Credit card fraud detection using convolution ...

  5. #论文阅读CTG The Use of Convolutional Neural Networks in Biomedical Data Processing

    DOI 10.1007/978-3-319-64265-9_9 所属期刊 ITBAM 2017 论文发表时间 2017年07月26日 记录时间 2023年01月03日 记录人 Troye Jcan T ...

  6. 【论文翻译】A Survey of Convolutional Neural Networks: Analysis, Applications, and Prospects

    原文地址:https://arxiv.org/ftp/arxiv/papers/2004/2004.02806.pdf 摘要 卷积神经网络(CNN)是深度学习领域最重要的网络之一.由于 CNN 在 许 ...

  7. #论文 《ImageNet Classification with Deep Convolutional Neural Networks》

    这个Alex是第一作者,NN名字叫AlexNet,Hinton是第三作者.是第一个提出CNN的,还有dropout等方法. 1 Intro CNN与之前的标准前馈神经网络对比:连接和参数更少,因此更容 ...

  8. 【读点论文】CMT: Convolutional Neural Networks Meet Vision Transformers

    CMT: Convolutional Neural Networks Meet Vision Transformers Abstract 视觉transformer已经成功地应用于图像识别任务,因为它 ...

  9. 【读点论文】Image Style Transfer Using Convolutional Neural Networks(将卷积特征图提取语义信息,融合内容和风格的做法)

    Image Style Transfer Using Convolutional Neural Networks 以不同风格呈现图像的语义内容是一项困难的图像处理任务.可以说,以前的方法的一个主要限制 ...

  10. 经典论文重读---风格迁移篇(一):Image Style Transfer Using Convolutional Neural Networks

    核心思想 采用深层卷积网络提取图像风格特征与内容,并将其进行融合生成效果很好的艺术图. 引言部分 将一幅图像的风格迁移到另一副图像可以看作是纹理迁移的一个分支.对于纹理迁移,它的目标是从源图合成一种纹 ...

最新文章

  1. 使用VMware VSphere WebService SDK进行开发 (七)——获取数据中心、集群、主机、虚拟机的目录结构
  2. 她发明了可以“喝的饭”,估值已超过10亿美金!从此每天多睡半小时....
  3. 中国新能源汽车供应链白皮书2020
  4. react 轮播组件
  5. 凤凰系统(Phoenix OS)PC版安装,电脑上体验功能丰富的安卓系统
  6. easyUI动态加载combobox
  7. 微信群发助手怎么使用?微信群发助手怎么发?
  8. centos7连接WiFi,并设置开机自动连接WiFi
  9. Linux 平台上的软件包管理
  10. 华为认证云服务工程师(HCIA-Cloud Service)-- 练习题2
  11. 华为S7706升级到S7700-V200R008C00SPC500版本快速配置记录
  12. 华为p10关闭更新_华为P10怎么取消系统更新提醒
  13. 智能云电视机顶盒怎么连接(设备连接方法和注意项)
  14. 异步请求 ajax的使用详解
  15. 014-无条件跳转指令jmp+
  16. ESP32开发(一):搭建windows开发环境--ESP-IDF工具命令提示符操作
  17. 我国最具影响力的25座大中城市每平方米平均房价
  18. python爬取网页小说去除nbsp_python爬虫 爬取内容的时候nbsp 空格内容变成问号‘?’...
  19. WebSplider在线爬虫
  20. 孜孜进宝--菜鸟如何横行网络

热门文章

  1. Win10下Pytorch的安装和使用[斗之力三段]
  2. 实验吧—Web——WP之 Forms
  3. 2017.10.7 QBXT 模拟赛
  4. winform打包项目
  5. Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012
  6. 【 javascript 】.innerHTML属性定义
  7. PHP内置函数parse_str会自动进行urldecode(URL解码)
  8. C#不同操作系统下,界面大小不一的原因
  9. Jquery—对$()的总结
  10. window下 php debug 的安装