这一章来总结一下图像风格迁移相关的内容,风格迁移的任务是将一幅图作为内容图,从另外一幅画中抽取艺术风格,两者一起合成新的艺术画,要求合成的作品即保持内容图的主要结构和主体,又能够具有风格图的风格,如下图:

风格迁移的思想基础

生物学家证明了人脑处理信息具有不同的抽象层次,人的眼睛看事物可以根据尺度调节抽象层次,当仔细在近处观察一幅图时,抽象层次越低,我们看到的是清晰的纹理,而在远处观察时则看到的是大致的轮廓。实际上卷积神经网络就是实现和证明了这样的分层机制的合理性。将各个神经元看做是一个图像滤波器,输出层就是由输入图像的不同滤波器的组合,网络由浅到深,内容越来越抽象。

研究者基于此特点提出图片可以由内容层(content)与风格层(style)两个图层描述,内容层描述图像的整体信息,风格层描述图像的细节信息。

        所谓内容,指得是图像的语义信息,即图里包含的目标及其位置,它属于图像中较为底层的信息,可以使用灰度值,目标轮廓等进行描述。

        而风格,则指代笔触,颜色等信息,是更加抽象和高层的信息。

格拉姆矩阵(Gram matrix)

提到风格迁移,必须要先讲一下格拉姆矩阵,我们知道向量的内积也叫向量的点乘,就是对这两个向量对应位一一相乘之后求和的操作,内积的结果是一个标量,他可以用来判断向量a和向量b之间的夹角和方向关系。

Gram矩阵是两两向量的内积组成,所以Gram矩阵可以反映出该组向量中各个向量之间的某种关系。n维欧式空间中任意k个向量之间两两的内积所组成的矩阵,称为这k个向量的格拉姆矩阵(Gram matrix),很明显,这是一个对称矩阵。如下图:

在深度学习的图像特征中,格拉姆矩阵可以看做feature之间的偏心协方差矩阵(即没有减去均值的协方差矩阵),在feature map中,每个数字都来自于一个特定滤波器在特定位置的卷积,因此每个数字代表一个特征的强度,而Gram计算的实际上是两两特征之间的相关性,哪两个特征是同时出现的,哪两个是此消彼长的等等。因此可以用于度量各个维度自己的特性以及各个维度之间的关系。内积之后得到的多尺度矩阵中,对角线元素提供了不同特征图各自的信息,其余元素提供了不同特征图之间的相关信息。这样一个矩阵,既能体现出有哪些特征,又能体现出不同特征间的紧密程度。

基于在线图像优化的慢速图像重建方法(Slow Image Reconstruction based on Online Image Optimisation)

基于图像优化的方法是在图像像素空间做梯度下降来最小化目标函数,以Gary等人提出的经典算法为例,原理图如下:

        简单说便是输入一张随机噪声构成的底图,通过计算Style Loss和Content Loss,迭代update底图,使其风格纹理上与Style Image相似,内容上与原照片相似。论文用 Gram 矩阵来对图像中的风格进行建模和提取,再利用慢速图像重建方法,让重建后的图像以梯度下降的方式更新像素值,使其 Gram 矩阵接近风格图的 Gram 矩阵(即风格相似),然后,用VGG网络提取的高层feature map来表征图像的内容信息,通过使 VGG 网络对底图的提取的高层feature map接近目标图高层的feature map来达到内容相似。

改方案迁移的图像效果还算不错,缺点就是慢。

基于离线模型优化的快速图像风格化迁移算法(Fast Neural Method Based On Offline Model Optimisation)

该方案为了解决上面慢的问题,它的特点是首先使用数据集对某一种风格的图进行训练得到一个风格化模型,然后在使用的时候只需要将输入图经过一次前向传播就可以得到结果图。根据一个训练好的前向网络能够学习到多少个风格作为分类依据,这里可以将这一类算法再细分为单模型单风格(PSPM)、单模型多风格(MSPM)和单模型任意风格(ASPM)的快速风格化迁移算法

PSPM的快速风格迁移(Per-Style-Per-Model Fast Neural Method)

        这个模型可以分为两部分,Image Transform Net是图像转换网络,VGG16是损失网络。图像转换网络输入x,输出y,它和风格图ys,内容图yc经过同样的网络,分别计算风格损失和内容损失,注意这里的yc实际上就是输入图x。内容损失采用的是感知损失,风格损失与基于图像优化的方法一样采用Gram矩阵来定义

值得一提的是,在最开始的风格迁移研究中都是采用 BN,但后来发现把 BN 替换成 IN (Instance Normalization) 的效果更好。IN 和 BN 的区别在于,IN 是针对每个样本标准化。

MSPM 的快速风格转移(Mutil-Style-Per-Model Fast Neural Method)

上面的方案对于每一个风格都要训练一个模型,因此研究人员很快便开始研究单模型多风格框架。这个思路的解决方案就是发掘不同风格网络之间的共享部分,然后对新的风格只去改变其有差别的部分,并保持共享部分不变

这就是 Google Brain 的众大佬们研究出来的一个 MSPM 算法的基本思路 A Learned Representation for Artistic Style。他们发现在训练好的一个风格化网络基础上,只通过在 Instance Norlization 层上做一个仿射变换(他们起了个名字叫 Conditional Instance Normalization,简称 CIN),就可以得到一个具有完全不同风格的结果。因此把风格化网络中间的几层单独拎出来(文章中起了个名字叫 StyleBank 层),与每个风格进行绑定,对于每个新风格只去训练中间那几层,其余部分保持不变。就得到了MSPM方案。

单模型任意风格(ASPM)

        上面提到IN起到了一种风格标准化的作用,通过改变 IN 公式中的 γ 和 β 值可以实现不同风格的标准化,从而转换到特定风格。基于此作者提出了 AdaIN (Adaptive Instance Normalization),这也是论文最重要的内容。通过 AdaIN 可以实现任意风格迁移,例如给定内容图的特征 x 和风格图的特征 y,AdaIN 可以将 y 的风格迁移到 x 上,公式如下。

公式中的 μ(y) 表示风格图的均值,σ(y) 表示风格图的方差,和 IN 公式中的 γ 和 β 对应,能够把内容图 x 转换成 y 的风格。模型结构如下:

损失包括内容损失和风格损失两部分。内容损失的计算是比较AdaIN层的输出与最终的输出图之间的L2损失,风格损失则使用了VGG不同特征层的均值和方差的L2损失而不是使用基于Gram矩阵的损失,形式更加简单。

基于对抗生成网络的风格迁移

这里主要讲一下StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation,在 starGAN 之前,也有很多 GAN模型 可以用于 image-to-image,比如 pix2pix(训练需要成对的图像输入),UNIT(本质上是coGAN),cycleGAN(单域迁移)和 DiscoGAN。而 starGAN 使用 一个模型 实现 多个域 的迁移,这在其他模型中是没有的,这提高了图像域迁移的可拓展性和鲁棒性。下图展示了在域迁移中 传统GAN 的做法和 starGAN 的做法的区别:

左边是 传统的GAN,右边是 starGAN。传统的域迁移 需要在不同的两个域之间相互进行特征提取,这就导致在有 k 个域的情况下需要 k(k-1) 个生成器。而 starGAN 则解决了这个问题,自始至终只需要一个生成器。网络结构如下:

         对于判别器,它的输入是一张图片,它需要去鉴别出这张图片是真实图片还是生成器产生的图片,同时它还需要分辨出这张输入的图片来自哪种风格的。损失由两部分loss组成:对抗损失和域分类损失;

对于生成器,它有两个输入,分别是目标风格和输入图片,它的输出是一张符合目标风格的图片。生成器损失由三部分构成:对抗损失和域分类损失和重构损失。域分类损失的权重系数设置为1,重构损失的权重系数设置为10

参考资料:

图像风格迁移_Arwin(Haowen Yu)的博客-CSDN博客_图像风格迁移

【计算摄影】浅析图像风格迁移背后的核心技术 - 知乎

格拉姆矩阵(Gram matrix)详细解读_张博208的博客-CSDN博客_格拉姆矩阵

【生成对抗网络】starGAN 详细解读___阿健__的博客-CSDN博客_stargan

计算摄影——风格迁移相关推荐

  1. 基于感知损失的实时风格迁移与超分辨率重建

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 方法概述 许多经典的图像问题都可以被看成是图像变换任务,算法接受一 ...

  2. 如何对计算属性进行修改_「计算摄影」计算机如何学会自动地进行图像美学增强?...

    大家好,这是专栏<计算摄影>的第四篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科.今天我们讨论的问题是如何学会做图像增强. 作者&编辑 | 言有三 1 图像美学增强基础 1 ...

  3. 风格迁移相关论文阅读笔记

    <图像和视频油画风格化研究> 西安交通大学 2011年 论文网址: http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CJFQ& ...

  4. 深度学习框架PyTorch入门与实践:第八章 AI艺术家:神经网络风格迁移

    本章我们将介绍一个酷炫的深度学习应用--风格迁移(Style Transfer).近年来,由深度学习引领的人工智能技术浪潮越来越广泛地应用到社会各个领域.这其中,手机应用Prisma,尝试为用户的照片 ...

  5. 【完结】重磅!深度学习计算摄影的12篇干货文章

    文/编辑 | 言有三 计算摄影是指使用数字计算而不是光学处理的数字图像捕获和处理技术.计算摄影可以提高照相机的能力,或者引入基于胶片的摄影根本不可能的特征,或者降低照相机元件的成本或尺寸(本段来自维基 ...

  6. AAAI2020/风格迁移:Ultrafast Photorealistic Style Transfer via Neural Architecture基于神经结构搜索的超快逼真风格转移

    AAAI2020/风格迁移:Ultrafast Photorealistic Style Transfer via Neural Architecture基于神经结构搜索的超快逼真风格转移 0.摘要 ...

  7. 【计算摄影】浅析图像修复背后的核心技术

    大家好,这是专栏<计算摄影>的第十篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科. 作者&编辑 | 言有三 今天要介绍的一个问题是计算机视觉领域中的非常经典的问题,即图像修 ...

  8. 吴恩达老师深度学习视频课笔记:神经风格迁移(neural style transfer)

            什么是神经风格迁移(neural style transfer):如下图,Content为原始拍摄的图像,Style为一种风格图像.如果用Style来重新创造Content照片,神经风 ...

  9. 华人团队用Transformer做风格迁移,速度快、可试玩,网友却不买账

    视学算法报道 编辑:杜伟 利用神经网络进行风格迁移是一项非常常见的任务,方法也很多,比如基于优化和基于 RL 的方法.最近,来自百度 VIS 团队的研究者提出了一种基于 Transformer 的风格 ...

最新文章

  1. FPGA的设计艺术(14)使用函数和任务提升逻辑的可重用性
  2. ajax返回一直进入error_解决ajax返回验证的时候总是弹出error错误的方法
  3. Bootstrap Metronic 学习记录(一)简介
  4. 华人“军火专家”——黄仁勋 1
  5. 转【FullPage.js 应用参数参考与简单调用】
  6. LeetCode443-压缩字符串(双索引)
  7. python单词的含义-python
  8. 3.php基础(控制语句,函数,数组遍历)
  9. BootDo平台免密登陆
  10. ShuffleNet 系列(1): ShuffleNet v1 理论讲解
  11. 【网络基础】通俗易懂的搞明白什么是IP地址(小白向)
  12. hrbust 1864人类希望——kokoⅠ【数学+快速幂】
  13. 叒一次算法作业hhhhhhhh
  14. phalapi可以依赖注入么_[2.11]-核心思想:DI依赖注入-让资源更可控 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...
  15. Windows常用Dos命令详解_被迫流浪者的博客
  16. 三星S7 Edge怎么打开usb调试呢
  17. 仿小米商城页面和简单效果
  18. 【空间描述与位姿变换】(台大林沛群课程学习笔记)持续更新~
  19. 探讨BFT的关键细节及Libra的Consensus组件
  20. API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架

热门文章

  1. CS反制-CS服务器新特征
  2. 张钹院士:场景是当前AI产业化最大问题
  3. 三相六脉波整流电路(三相桥式全控整流电路)简单的matlab仿真详细步骤
  4. 地理信息系统入门基础篇(二)---地图投影
  5. 改变MacBook Pro的鼠标响应速度
  6. 《小说朗读器》又增新功能
  7. 运维面试必看的20个短问答
  8. iOS 状态栏点击事件
  9. 关于C语言中逆序数的计算
  10. 翻译mos文章 scn headroom ID 1376995.1