Neural Style Transfer解读与实现
论文 [Gatys et al., 2015. A Neural Algorithm of Artistic Style]
给出一张content image(比如照片),再给出一个style image,可以把照片画风转换成style image的风格
主要原理是取一个在content image和style image间的balance
用一张白噪声图像不断学习,生成兼顾content和style的新图像
content image:
在CNN的layer中,低层layer主要关注pixel级别的特征,而高层layer更关注image的content,因此论文中考虑用CNN高层layer的feature map来reconstruct图像的content
style image:
论文中说用所有layer的feature map的correlation来表示style
有一种特征同时又有另一种特征就是相关,比如一个feature map表示它有条纹,另一个feature map表示有橙色,取correlation就会兼顾这些特征,如果取较低层的layer,就会包含比较local的style
由于CNN表示的content和style是分开的,所以可以从一个图像中提取content,另一个图像中提取style,然后mix可以生成新的图像,这样既保持了原来图像中的content,又会有art图像的style。
用object recognition的feature map来获得content和style,模型用VGG-19
既然要保持content和style的balance,就需要学习一个loss function
L=αLcontent+βLstyleL = \alpha L_{content} + \beta L_{style}L=αLcontent+βLstyle
接下来就是如何计算LcontentL_{content}Lcontent和LstyleL_{style}Lstyle
LcontentL_{content}Lcontent:
lll层layer的content image的feature map用FijlF_{ij}^{l}Fijl表示,generated image的feature map用PijlP_{ij}^lPijl表示
这个是VGG-19 model
然后,这里i代表i层的feature map,generated image刚开始是白噪声图像
因为relu的关系,back propagation如下
LstyleL_{style}Lstyle:
前面说了style image是各个layer的correlation,即各个layer feature map的inner product
这里k是location,也就是遍历feature map,i,j是layer lll中的各feature map
G称为Gram matrix
layer lll的style distance也就是content image的Gram matrix和generated image的Gram matrix的mean squared distance
公式中NlN_{l}Nl代表layer lll中的filter数,MlM_{l}Ml代表layer lll中feature map的size
可以写成nC2×nH2×nW2n_{C}^{2} \times n_{H}^{2} \times n_{W}^{2}nC2×nH2×nW2
C: channels H: height W: width
总结出来是这样
对下面这幅照片进行风格转换:
使用两种不同的style image和不同的iteration
2个style一个纹理复杂一些,一个偏抽象派
5000次的iteration和1000次差别已经不大,分析cost可以看出在500次前后的时候就已经差不多收敛了
而且可以看出纹理较复杂的style image会对原图中的噪声较为敏感,抽象派的效果就看不出太多噪声
Neural Style Transfer解读与实现相关推荐
- 吴恩达老师深度学习视频课笔记:神经风格迁移(neural style transfer)
什么是神经风格迁移(neural style transfer):如下图,Content为原始拍摄的图像,Style为一种风格图像.如果用Style来重新创造Content照片,神经风 ...
- 神经风格迁移(Neural Style Transfer)程序实现(Caffe)
前言 上次的博客写了神经风格迁移(Neural Style Transfer)程序实现(Keras),使用keras的一个好处就是api简单,能够快速部署模型,使用很方便.出于学习目的,这次又使用ca ...
- 神经风格迁移(Neural Style Transfer)程序实现(Keras)
前言 以前翻译了神经风格迁移的论文:一个艺术风格化的神经网络算法(A Neural Algorithm of Artistic Style)(译),这篇文章中会给出其基于Keras的实现.github ...
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 4 Art Generation with Neural Style Transfer
吴恩达deeplearning.ai课程作业,自己写的答案. 补充说明: 1. 评论中总有人问为什么直接复制这些notebook运行不了?请不要直接复制粘贴,不可能运行通过的,这个只是notebook ...
- 15.深度学习练习:Deep Learning Art: Neural Style Transfer
本文节选自吴恩达老师<深度学习专项课程>编程作业,在此表示感谢. 课程链接:https://www.deeplearning.ai/deep-learning-specialization ...
- 吴恩达深度学习4.4练习_Convolutional Neural Networks_Art Generation with Neural Style Transfer
转载自吴恩达老师深度学习课程作业notebook Deep Learning & Art: Neural Style Transfer Welcome to the second assign ...
- Neural Style Transfer 神经风格迁移详解
Neural Style Transfer 神经风格迁移详解 今天和大家分享一个比较有意思的东西,Neural Style Transfer,神经风格迁移,简单说就是我们将一张普通的照片赋予它艺术作品 ...
- Neural Style Transfer: A Review
这篇是风格转移方面的综述,文中总结了多种风格转移的方法.因为18年看过很多风格转移方面的论文,因此翻译这篇综述. Gatys等人的开创性工作.通过分离和重新组合图像内容和风格,展示了卷积神经网络(CN ...
- Towards Ultra-Resolution Neural Style Transfer via Thumbnail Instance Normalization
碎碎念:毕设打算做风格迁移的,然而没有接触过这方面,记录一下qwq Abstract 基于现有的风格迁移框架处理高分辨率有以下缺点: 内存成本 笔触过小 针对上述两点问题,本文提出Ultra-Reso ...
最新文章
- ES6深拷贝与浅拷贝
- 第十四章 梁山好汉中谁最惹人爱
- Java序列化(Serialization)的理解
- react开发_我如何在#100DaysOfCode挑战期间找到React开发人员的工作
- DTC精彩回顾—黄东旭《TiDB数据驱动的企业智能化转型新方向》丨PPT视频
- 淘宝特价版注册“1元更香”商标,又一个新“节日”诞生了
- pythonos文件目录方法_python12-OS模块(文件/目录方法)
- LeetCode 08.04 幂集
- win7文件夹加密软件_winRAR去广告版软件安装教程
- html5的文件操作系统,目录 - 基本操作 - DirectoryEntry《 HTML5:文件系统 》
- 美国大学计算机科学分支,美国大学计算机专业四大分支介绍
- 建筑工程测量与测绘毕业论文范文
- 【SpringMVC】编程式事务控制,基于 XML 的声明式事务控制,基于注解的声明式事务控制
- 自建数据库MySQL和云数据库Rds MySQL的优缺点
- 3、核对单《数据收集工具与技术》
- 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
- 三国杀 官方 游戏规则
- 计算机xp桌面没有下面的图标不见了,电脑图标不见了,下面的任务栏也不见了,怎么处理?XP系统...
- PNAS:快速脑电波振荡识别并定位癫痫患者的大脑
- 应用卸载后依然存在的文件目录