【风格迁移】Adaptive Instance Normalization(AdaIN)
前言
近几年人脸属性迁移的课题不再是单纯地做跨域迁移,还要考虑迁移后的多样性(mutil-modal),因此这个方向开始跟风格迁移相结合。结合我最近看过的几篇论文,发现它们都使用了同一个零部件——AdaIN,而且截止文本发布时间,据谷歌学术显示,该方法的文献被引用量达到517次,说明该方法受到了研究者们一定的关注。因此我觉得有必要记录一下这个思路的起点,以便以后查阅。
AdaIN
文献全称:Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
文献出处:[C]. international conference on computer vision, 2017: 1510-1519.
数据集: MS-COCO、WikiArt
论文贡献(亮点)
- 提出了一种自适应实例归一化(AdaIN)层。
实验效果图
其中红框内为该方法的实验效果图。
模型框架图
回顾IN与CIN
Instance Normailization
假设输入图像的4D tensor 为: x ∈ R N × C × H × W x\in {\Bbb R}^{N×C×H×W} x∈RN×C×H×W,IN会将每个通道的feature map的均值和标准差进行归一化:
I N ( x ) = γ ( x − μ ( x ) σ ( x ) ) + β IN(x)= \gamma(\frac {x-\mu(x)}{\sigma(x)})+\beta IN(x)=γ(σ(x)x−μ(x))+β 其中 γ \gamma γ、 β \beta β是可学习的仿射参数; μ ( x ) \mu(x) μ(x)、 σ ( x ) \sigma(x) σ(x)分别表示均值和标准差,在空间维度上计算得到,独立于通道和批次。
μ n c ( x ) = 1 H W ∑ h = 1 H ∑ w = 1 W x n c h w \mu_{nc}(x)=\frac {1}{HW}\sum_{h=1}^{H}\sum_{w=1}^Wx_{_{nchw}} μnc(x)=HW1h=1∑Hw=1∑Wxnchw σ n c ( x ) = 1 H W ∑ h = 1 H ∑ w = 1 W ( x n c h w − μ n c ( x ) ) 2 + ε \sigma_{nc}(x)=\sqrt{\frac {1}{HW}\sum_{h=1}^{H}\sum_{w=1}^W(x_{_{nchw}}-\mu_{_{nc}}(x))^2+\varepsilon} σnc(x)=HW1h=1∑Hw=1∑W(xnchw−μnc(x))2+ε
Conditional Instance Normalization
IN是学习一个单一的仿射参数集( γ \gamma γ和 β \beta β),而CIN则是为每一种风格都学习一个仿射参数集( γ s \gamma^s γs和 β s \beta^s βs):
C I N ( x ; s ) = γ s ( x − μ ( x ) σ ( x ) ) + β s CIN(x;s)=\gamma^s(\frac {x-\mu(x)}{\sigma(x)})+\beta^s CIN(x;s)=γs(σ(x)x−μ(x))+βs 在生成网络中应用CIN层,使用相同的卷积层参数和不同的IN层仿射参数便可以生成不同风格的图像。
但这种方法存在一个弊端,每一对仿射参数( γ \gamma γ和 β \beta β)对应一层feature map,一种风格则需要2F个参数,F表示整个网络中的feature map总数。因为仿射参数量和风格数成线性关系,这种方法开销较大,很难扩展出大量的风格。
Adaptive Instance Normalization(AdaIN)
与上述方法不同,AdaIN中没有可学习的仿射参数,即仿射参数不是通过学习得到。AdaIN接收两个信息源:内容输入 x \bf x x和风格输入 y \bf y y,将 x \bf x x的通道级(channel-wise)均值和标准差匹配到 y \bf y y的通道级均值和标准差上:
A d a I N ( x , y ) = σ ( y ) ( x − μ ( x ) σ ( x ) ) + μ ( y ) AdaIN({\bf x},{\bf y})=\sigma({\bf y})(\frac {{\bf x}-\mu({\bf x})}{\sigma({\bf x})})+\mu({\bf y}) AdaIN(x,y)=σ(y)(σ(x)x−μ(x))+μ(y) 简单地来讲,AdaIN在feature map层面上通过改变特征的数据分布来实现风格迁移,计算开销和存储开销都较小,且易实现。
网络结构
网络结构只是简单的自编码器结构,没有使用到GAN.
内容图像 c c c和任意风格图像 s s s送入编码器 f f f进行编码,然后通过AdaIN层进行整合:
t = A d a I N ( f ( c ) , f ( s ) ) t=AdaIN(f(c),f(s)) t=AdaIN(f(c),f(s)) 然后通过解码器 g g g将整合编码 t t t映射会图像空间。
T ( c , s ) = g ( t ) T(c,s)=g(t) T(c,s)=g(t) 为了保持AdaIN层风格迁移后的数据分布,解码器中不使用任何的归一化层。
损失函数
1.内容损失
L c = ∣ ∣ f ( g ( t ) ) ∣ ∣ 2 L_c=||f(g(t))||_{_2} Lc=∣∣f(g(t))∣∣2 其中 t t t为AdaIN层的输出,这里计算目标特征和输出图像特征的欧氏距离。
2.风格损失
L s = ∑ i = 1 L ∣ ∣ μ ( ϕ i ( g ( t ) ) ) − μ ( ϕ i ( s ) ) ∣ ∣ 2 + ∑ i = 1 L ∣ ∣ σ ( ϕ i ( g ( t ) ) ) − σ ( ϕ i ( s ) ) ∣ ∣ 2 L_s=\sum_{i=1}^L||\mu(\phi_i(g(t)))-\mu(\phi_i(s))||_{_2}+\sum_{i=1}^L||\sigma(\phi_i(g(t)))-\sigma(\phi_i(s))||_{_2} Ls=i=1∑L∣∣μ(ϕi(g(t)))−μ(ϕi(s))∣∣2+i=1∑L∣∣σ(ϕi(g(t)))−σ(ϕi(s))∣∣2 其中 ϕ i \phi_i ϕi表示编码器网络中的第i层。
总损失函数
L = L c + λ L s L=L_c+\lambda L_s L=Lc+λLs
总结
AdaIN是在feature map层面上改变数据分布,可以通过控制改变AdaIN层中的仿射参数来实现风格迁移的效果。因为AdaIN层与BN、IN类似,都是在网络内部改变feature map的分布,所以可以把风格迁移的任务交给AdaIN,在网络结构上实现其他的任务。
参考文献
1.Huang X, Belongie S. Arbitrary Style Transfer in Real-Time with Adaptive Instance Normalization[C]. international conference on computer vision, 2017: 1510-1519.
【风格迁移】Adaptive Instance Normalization(AdaIN)相关推荐
- AdaIN(Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization)——论文阅读
1. Introduction 在这篇文章中,作者提出了一种简单但是有效的方用来首次实现任意样式的实时风格转换,方法的核心是加入了一个adaptive instance normalization ( ...
- Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记
Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization论文阅读笔记 目录 Arbitrary Style ...
- AdaIN - Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
AdaIN 是一个经典的风格迁移方法,之后在 StyleGAN(v1) 中也以重要的组成模块出现.了解 AdaIN 也有助于了解其他图像生成工作. 原始论文:Arbitrary Style Trans ...
- 《Neural Pose Transfer by Spatially Adaptive Instance Normalization》
概括: 对identity mesh 做pose transfer, 实际上是让提供目标pose的human mesh 学到identity的style.关键在于要让生成的mesh的点的顺序和iden ...
- 风格迁移 I2I 论文阅读笔记——U-GAT-IT,动漫风格生成
U-GAT-IT: UNSUPERVISED GENERATIVE ATTENTIONAL NETWORKS WITH ADAPTIVE LAYER- INSTANCE NORMALIZATION F ...
- 深入理解风格迁移三部曲(三)--FUNIT
FUNIT: Few-Shot Unsupervised Image-to-Image Translation project:https://nvlabs.github.io/FUNIT/ 作者:陈 ...
- 英伟达再出GAN神作!多层次特征的风格迁移人脸生成器
选自arXiv 作者:Tero Karras.Samuli Laine.Timo Aila 机器之心编译 GAN 自 2014 年提出以来得到了广泛应用.前不久效果令人震惊的 ICLR 2019 论文 ...
- 图像风格迁移cvpr2020_浅谈风格迁移(二)任意风格迁移
-- 本文来自于VIP Lab的黄宇杰同学撰稿 (接上篇)AdaIN 在17年ICCV中,AdaIN [10]横空出世,完成了任意风格迁移.AdaIN的思路不同于之前的想法,它致力于从一张图片由VGG ...
- 图像风格迁移-DSTN
样式传输的目的是从参考图像中再现具有样式的内容图像.现有的通用风格转换方法成功地以艺术或照片逼真的方式将任意风格传递给原始图像.然而,现有作品所定义的"任意风格"的范围由于其结构限 ...
最新文章
- linux 线程与CPU绑定
- Django 之ORM操作
- RHEL/CentOS 下安装yum源地址汇集---不定期更新
- 邮箱服务器ip地址白名单,申请SSL证书时如何设置IP地址白名单和邮箱白名单
- 语音对讲软件_三款语音转文字工具,语音输入,高效转换,准确率高
- @transactional可以用在controller层吗_Spring还可以这样用缓存,你知道吗?
- 安装cuda时 提示toolkit installation failed using unsupported compiler解决方法
- 在RedHat/CentOS下安装Docker(不升级内核)
- php 遍历文件夹下的所有文件名以及文件大小
- 如何使用qtp检查网页中显示的文字颜色为指定的颜色
- 高等代数(第四版) 王萼芳、石生明编|高等教育出版社 大学课后习题答案
- mysql id自增 SQL语句_sql语句id自增的问题
- Java中获取当前时间、昨天、三天前、一周前、一月前时间(2)
- php html block,html blockquote怎么用?blockquote标签的用法介绍
- 统计3个班成绩情况,每个班有5名同学 求出各个班的平均分和所有班级的平均分(学生成绩键盘输入) 同级生哪个班及格人数,每个班5名同学
- 【分享笔记】android6.0特性
- 2016年最新苹果开发者账号注册流程详解(公司账号篇)
- 中南大学自动化学院控制博士申请经验贴
- 网约车收费器设计(lunwen+任务书+翻译及原文+答辩PPT+程序+原理图)
- UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
热门文章
- 英语学习(破产姐妹)
- 苹果mac 连接服务器_每日新闻摘要:苹果从Mac移除Zoom的Web服务器
- 基于DeeplabV3+的语义分割实现
- linux系统如何解gz文件,Linux 系统 压缩和解压 gz 格式文件
- 利用Spectre(幽灵)实现Meltdown攻击
- PLA算法实现与展示
- FLUSH+RELOAD技术
- [凡客体]淘小鸡自我写真
- Chrome70的第二版稳定版:Google Chrome 70.0.3538.77 正式版发布
- 1930: [Shoi2003]pacman 吃豆豆