相信很多人都对之前大名鼎鼎的 Prisma 早有耳闻,Prisma 能够将一张普通的图像转换成各种艺术风格的图像,今天,我们将要介绍一下Prisma 这款软件背后的算法原理。就是发表于 2016 CVPR 一篇文章,

“ Image Style Transfer Using Convolutional Neural Networks”

算法的流程图主要如下:

总得来说,就是利用一个训练好的卷积神经网络 VGG-19,这个网络在ImageNet 上已经训练过了。

给定一张风格图像 a 和一张普通图像 p,风格图像经过VGG-19 的时候在每个卷积层会得到很多 feature maps, 这些feature maps 组成一个集合 A,同样的,普通图像 p 通过 VGG-19 的时候也会得到很多 feature maps,这些feature maps 组成一个集合 P,然后生成一张随机噪声图像 x, 随机噪声图像 x 通过VGG-19 的时候也会生成很多feature maps,这些 feature maps 构成集合 G 和 F 分别对应集合 A 和 P, 最终的优化函数是希望调整 x 让 随机噪声图像 x 最后看起来既保持普通图像 p 的内容, 又有一定的风格图像 a 的风格。

content representation

在建立目标函数之前,我们需要先给出一些定义: 在CNN 中, 假设某一 layer 含有 Nl 个 filters, 那么将会生成 Nl 个 feature maps,每个 feature map 的维度为 Ml , Ml 是 feature map 的 高与宽的乘积。所以每一层 feature maps 的集合可以表示为 Fl∈RNl×Ml , Flij 表示第 i个 filter在 position j 上的 activation。

所以,我们可以给出 content 的 cost function:

Lcontent(p,x,l)=12∑ij(Flij−Plij)

style representation

为了建立风格的representation,我们先利用 Gram matrix 去表示每一层各个 feature maps 之间的关系,Gl∈RNl×Nl , Glij 是 feature maps i,j 的内积:

Glij=∑kFlikFljk

利用 Gram matrix,我们可以建立每一层的关于 style 的 cost :

El=14N2lM2l∑i,j(Glij−Alij)2

结合所有层,可以得到总的cost

Lstyle(a,x)=∑l=0LwlEl

最后将 content 和 style 的 cost 相结合,最终可以得到:

Ltotal(p,a,x)=αLcontent(p,x)+βLstyle(a,x)

α,β 表示权值,在建立 Lcontent 的时候,用到了 VGG-19 的 conv4_2 层,而在建立 Lstyle 的时候,用到了VGG-19 的 conv1_1, conv2_1, conv3_1, conv4_1 以及 conv5_1。

下一篇博客里,我们将介绍基于 TensorFlow 的代码实现。

转载于:https://www.cnblogs.com/mtcnn/p/9412430.html

机器学习:利用卷积神经网络实现图像风格迁移 (一)相关推荐

  1. cnn风格迁移_机器学习:利用卷积神经网络实现图像风格迁移 (一)

    相信很多人都对之前大名鼎鼎的 Prisma 早有耳闻,Prisma 能够将一张普通的图像转换成各种艺术风格的图像,今天,我们将要介绍一下Prisma 这款软件背后的算法原理.就是发表于 2016 CV ...

  2. 基于神经网络的图像风格迁移解析与实现

    概述 最近对图像风格迁移这种技术突然非常感兴趣,大概是之前读到了一篇关于对抗生成网络生成逼真人脸的论文文献,于是对这种技术很是好奇,大致了解了一下这个领域.我大致将其分为三个研究领域: 基于传统的机器 ...

  3. 深度学习-卷积神经网络实现图像风格转换

    盛夏,闲鱼式的生活也越发充满味道.烈日,在高高的天上散发着火炉的气息.小浪怀念着在海边度假的日子,但是内心的使命感把他拉回了现实. 卷积神经网络可以实现图像风格的转换.小浪也来写个程序,实现下这个功能 ...

  4. 【人工智能专题】基于 GAN 的艺术风格化——图像风格迁移

    原文:https://mp.weixin.qq.com/s?__biz=MzAxMzEwMDM2Mg==&mid=2652847175&idx=3&sn=51dcb41bc5c ...

  5. 基于卷积神经网络实现图片风格的迁移 1

    卷积神经网络详解 一.实验介绍 1.1 实验内容 Prisma 是最近很火的一款APP,它能够将一张普通的图像转换成各种艺术风格的图像.本课程基于卷积神经网络,使用Caffe框架,探讨图片风格迁移背后 ...

  6. 深度学习实战-图像风格迁移

    图像风格迁移 文章目录 图像风格迁移 简介 画风迁移 图像风格捕捉 图像风格迁移 图像风格内插 补充说明 简介 利用卷积神经网络实现图像风格的迁移. 画风迁移 简单来说就是将另一张图像的绘画风格在不改 ...

  7. Pytorch实现图像风格迁移(一)

    图像风格迁移是图像纹理迁移研究的进一步拓展,可以理解为针对一张风格图像和一张内容图像,通过将风格图像的风格添加到内容图像上,从而对内容图像进行进一步创作,获得具有不同风格的目标图像.基于深度学习网络的 ...

  8. 读“基于深度学习的图像风格迁移研究综述”有感

    前言 关于传统非参数的图像风格迁移方法和现如今基于深度学习的图像风格迁移方法. 基于深度学习的图像风格迁移方法:基于图像迭代和模型迭代的两种方法的优缺点. 基于深度学习的图像风格迁移方法的存在问题及其 ...

  9. 《深度学习之pytorch实战计算机视觉》第8章 图像风格迁移实战(代码可跑通)

    上一章<深度学习之pytorch实战计算机视觉>第7章 迁移学习(代码可跑通)介绍了迁移学习.本章将完成一个有趣的应用,基于卷积神经网络实现图像风格迁移(Style Transfer).和 ...

最新文章

  1. ubuntu中安装rabbitmq
  2. java 图片不更新,图片下传页面不能及时更新,求解
  3. Window下启动MariaDB服务启动失败
  4. C语言程序设计 文件操作函数
  5. 从零开始构建MSBuild C#项目文件
  6. vs2010 添加nupkg文件
  7. 信息学竞赛中的直觉与证明 - 刘汝佳
  8. 本科毕业设计——基于C++的棋类游戏自动生成工具的设计与实现
  9. android mp4转mp3格式转换,实现快速将MP4转MP3格式的完美攻略
  10. vue3+ts使用Ant Design实现表格序号自增
  11. 电脑自动出现html文件,当前页面发生脚本错误 电脑总出现当前页面脚本错误怎么办?...
  12. [开发证书] Apple PKI
  13. python怎么读取xls文件
  14. 怎么判断冠词用a还是an_冠词a/an/the:的用法和区别
  15. vue+websocket+nodejs实现聊天室 - 消息已读未读
  16. Vue2项目中使用AntV/X6 分辨率适配
  17. Quasi- likelihood function
  18. iOS 如何让APP 删除后不接受 APNS 推送消息
  19. Win10 配置Java JDK 16 环境变量
  20. 深度学习中的温度参数(temperature parameter)--疑问待解决

热门文章

  1. 基于树的模型的机器学习
  2. 五分钟搞定正则表达式,如果没搞定,再加两分钟
  3. 男子借款70万前后还了1600万仍未还清,如何避免套路贷?
  4. PHP 过滤器(Filter)
  5. 没有眼睛的街头卖艺人
  6. python3手机脚本教学_python+adb命令实现自动刷视频脚本案例
  7. linux 子域dns,linux下搭建DNS子域及相关授权详解
  8. 正则匹配问号_爬虫之正则表达式
  9. 停车场管理系统代码_jsp19109商场商铺停车场服务系统-SSM-Mysql
  10. mysql脚本模式创建索引_mysql创建脚本索引范例