Style transfer系列论文之——Arbitrary Style Transfer in Real-time with Adaptive Instance Normali,ICCV, 2017

  • 文章亮点
  • Adaptive Instance Normalization
    • 背后的动机与思考
      • 核心观点
    • Adaptive Instance Normalization layer
  • 模型整体结构
  • 损失函数
  • 资源
  • Reference

文章亮点

1.Gatys等人链接 提出的style transfer框架在生成新图片时需要迭代优化,过于耗时。尽管已经有人尝试通过乾前馈网络来快速近似来加速style transfer, 然而又带来另一个问题:网络通常与一组固定的style绑定,并不能适应任意新的style. 而这篇文章提出一个简单有效的方法可以进行实时任意style的迁移
2.所提方法的核心是: 提出了一种新的自适应实例归一化层(Adaptive Instance normalization layer)-—用style feature的统计信息(mean和standard deviation)来对齐content feature的统计信息。
3. 所提方法效率高没有预定义style的限制,并且允许灵活的用户控制,例如内容样式权衡、样式插值、颜色和空间控制等。

Adaptive Instance Normalization

背后的动机与思考

Batch Normalization (BN)和Instance Normalization (IN)的介绍可以参考 链接

核心观点

1.IN实际上通过归一化feature的统计量(mean, standard deviation)执行了某种形式的style normalization
为了验证该观点,作者设计了三个实验: (a)基于原始images分别训练 IN model和BN model, (b) 基于对比度归一化后的images分别训练IN model和BN model; ©基于style normalized之后的images分别训练IN model和BN model.

实验结果如下图:(a)和(b)的对比表明 IN优于BN并不是由于对比度归一化引起的,这也否决了另一篇文章[1]的观点(IN由于BN是因为IN对content image对比度具有不变性);(b)和©的结果表明:对image做了style normalization之后, IN与BN效果相当,这表明IN优于BN正是由于IN执行了某种style normalization。

2.IN将每个Sample归一化到单个style, 而BN将一个batch的样本归一化到以某个style为中心
3.CIN成功的背后原因:不同的仿射变换参数可以将feature统计量归一化为不同的值(而不同的值实际上对应不同的style), 从而将输出image归一化为不同的style

Adaptive Instance Normalization layer

CIN虽然很好,但它的缺点也很明显:不能适应任意新的style, 因为model绑定到了预定义的style set上,想适应新的style只能重新训练了。
基于上面的分析,作者提出了Adaptive Instance Normalization, 非常简单, simple yet effective, 如下:

即 先对x进行Instance normalization, 然后将其对齐到目标style的统计量:μ,σ\mu, \sigmaμ,σ,其中x和y分别是content image和style image的特征表示(即pretrained model的相应输出), {μ(x),σ(x)}\{\mu(x), \sigma(x)\}{μ(x),σ(x)}, {μ(y),σ(y)}\{\mu(y),\sigma(y)\}{μ(y),σ(y)}分别为x和y在执行instance normalizaion时的相关统计量。

模型整体结构


如上图所示,该模型整体上采用了Encoder-Encoder结构,具体讲:
(1)Encoder: 用于将content image/style image从image空间映射到feature空间,Encoder完全是作为一个feature exptractor并且不参与训练(fixed),作者采用了VGG19 pretrained模型的前几层作为Encoder。
(2)Decoder: 与Encoder正好相反,用于将Adaptive Instance Normalized之后的输出(feature空间)再映射回image空间,Decoder的结构与Encoder类似,只不过它是需要训练的(trainable)。

形式化定义如下:
首先content image © 与style image (s)经过Encoder (f)分别得到其特征表示:f(c),f(s)f(c), f(s)f(c),f(s), 然后通过 Adaptive Instance Normalization 执行style transfer, 输出记为ttt.

然后t通过Decoder (g)得到生成的图像 T(c,s)T(c,s)T(c,s) :

损失函数

与style transfer work 链接类似,总的损失包括:content loss和style loss, 如下:

具体细节上有差异:
(1) Content loss

注意这里, 目标content representation没有使用 $f(c)$而是使用了$f(c)$和$f(s)$经过Adaptive Instance Normalization之后的输出$t$, 作者给出的解释是: 实验表明这样效果更好,收敛更快,实际上f(g(t))恰好不是t的reflection吗?
(2) Style loss
同样的,Style loss也没有使用传统的基于不同feature channel的Gram矩阵来计算style distance, 而是针对该方法的特点: 该方法是通过Adaptive Instance Normalization来进行style transfer的,而 Adaptive Instance Normalization实际上就是在transfer feature的统计量(mean和standard deviation), 因此利用feature的统计量就可以度量style distance, 定义如下:

其中ϕi(x)\phi_{i}(x)ϕi​(x)表示x feed进Encoder后第i层的输出响应。

注:作者也使用Gram矩阵进行实验,效果类似,为了方法的完整性、一致性,采用了上述方式。

资源

1.官方开源代码,[https: //github.com/xunhuang1995/AdaIN-style](https: //github.com/xunhuang1995/AdaIN-style)

Reference

1.Improved texture networks: Maximizing quality and diversity in feed-forward stylization and texture synthesis
2.Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization, ICCV,2017
3.A learned represen- tation for artistic style, ICLR, 2017

Style transfer系列论文之——Arbitrary Style Transfer in Real-time with Adaptive Instance Normali,ICCV, 2017相关推荐

  1. 基于Adjustable Parameters的Style Transfer系列论文

    1. Adjustable Real-Time Style Transfer (ICLR 2020) 针对什么问题 ​ 本文指出基于现有风格迁移算法训练得到的模型,只能生成固定内容结构及风格模式的St ...

  2. AdaIN - Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

    AdaIN 是一个经典的风格迁移方法,之后在 StyleGAN(v1) 中也以重要的组成模块出现.了解 AdaIN 也有助于了解其他图像生成工作. 原始论文:Arbitrary Style Trans ...

  3. Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记

    Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记 目录 Arbitrary Style ...

  4. AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读

    1. Introduction 在这篇文章中,作者提出了一种简单但是有效的方用来首次实现任意样式的实时风格转换,方法的核心是加入了一个adaptive instance normalization ( ...

  5. 神经风格迁移综述论文分享(neural style transfer review)

    本文是论文的"神经风格迁移模型综述"简要总结和一丢丢笔者自己的理解,该论文发表于<计算机工程与应用> 当前主流方法主要可分为以下几类方法: 基于图像迭代的慢速神经风格迁 ...

  6. A Survey on Transfer Learning 论文阅读笔记与总结

    一.引入 第一作者:Sinno Jialin Pan,南洋理工大学副教授,中大数学学士.硕士,香港科技大学博士,研究方向:迁移学习 期刊:IEEE TRANSACTIONS ON KNOWLEDGE ...

  7. 【论文笔记】SpotTune: Transfer Learning through Adaptive Fine-tuning

    [CVPR2019]SpotTune: Transfer Learning through Adaptive Fine-tuning 论文链接:SpotTune: Transfer Learning ...

  8. 目标检测系列论文汇总

    这是在github上看到的目标检测论文的汇总,看到了感觉很实用,分享给大家. 原文链接:https://github.com/amusi/awesome-object-detection This i ...

  9. 三维向量变化为角度_物体的三维识别与6D位姿估计:PPF系列论文介绍(四)

    作者:仲夏夜之星 Date:2020-04-14 来源:物体的三维识别与6D位姿估计:PPF系列论文介绍(四) 文章"3D Pose Estimation of Daily ObjectsU ...

  10. 1.1 css style 样式定义:行内 style 属性、单页 <style> 标签、多页 <style> 标签

    1.1 style 样式定义:行内 style 属性.单页 <style> 标签.多页 <style> 标签 文章目录 1.1 style 样式定义:行内 style 属性.单 ...

最新文章

  1. react中试用leaflet简单起步
  2. Hibernate学习(三)
  3. SAP Cloud for Customer的employee创建会自动生成Business partner
  4. 服务器 .err文件,IIS 关闭HTTPERR(IIS日志)的方法
  5. python tk protocol_Python Modbus_tk在树莓派上实现rtu master
  6. 软件测试ipad电池,ipad2020电池有问题是真的吗
  7. (转)Spring Boot 2 (八):Spring Boot 集成 Memcached
  8. Java的string学习笔记 与char数组和bufferstring的比较
  9. 125万像素智能相机收费站解决方案
  10. R语言ggplot2包之画折线图
  11. Nacos教程_2 讲解
  12. 巧用DOS命令上传文件
  13. 《SteamVR2.2.0快速入门》(Yanlz+Unity+XR+OpenVR+OpenXR+SteamVR+Valve+Vive+Oculus+Quickstart+HMD+立钻哥哥++ok++)
  14. matlab在三维人体及服装建模上的应用,Matlab在三维人体及服装建模上的应用
  15. 创业之路 - 人脉关系 VS 人际关系
  16. 实验二十三——RPL协议仿真实验
  17. 关于PhpStorm设置点击编辑文件自动定位源文件
  18. 自研数据分析工具——yandas系列一:分析泰坦尼克号沉船事件中的乘客信息表
  19. 第三人称计算机获奖感言,玄彬获奖感言感谢女友孙艺珍 惹众网友羡慕
  20. 【C 语言小游戏】手打贪吃蛇1,闭关在家37天“吃透”这份345页PDF

热门文章

  1. ECCV 2016 paper list
  2. 《Cocos2d-JS开发之旅》重印在即,感谢大家的支持
  3. centos6安装PHP5.4
  4. hdu 4619 Warm up 2 (二分匹配)
  5. 网页编辑器粘贴word格式的处理
  6. 父窗体与子窗体之间的调用-使用模态窗体之间传递多个值
  7. Java中的for循环和JavaScript中的for循环差别初探(01)
  8. 使用Jenkins打包vue项目丢失静态资源
  9. Java面试题超详细讲解系列之四【Jvm篇】
  10. MySQL 随机获得一条数据的方法