当前位置:网站首页>洞察——风格注意力网络(SANet)在任意风格迁移中的应用
洞察——风格注意力网络(SANet)在任意风格迁移中的应用
2020-11-08 07:19:00 【人工智能遇见磐创】

作者|dhwani mehta 编译|Flin 来源|medium
图像风格化是近几十年来研究的一种图像处理技术,本文旨在展示一种高效新颖的风格注意力网络(SANet)方法,在平衡全局和局部风格模式的同时,保留内容结构,合成高质量的风格化图像。
风格迁移机制概述

有没有想象过如果由杰出的艺术家来制作照片,照片看起来会怎样?任意风格迁移通过将内容图像(目标图像)与风格图像(其纹理即画笔描边,角度几何形状,图案,颜色过渡等需要绘制到内容图像的图像)混合,从而将其变为现实,以生成第三幅从未见过的图像。
新颖的SANet风格迁移方法
任意风格迁移的最终目标是实现概括性,并保持质量和效率。
在平衡全局和局部风格模式以及由于以下原因而保留内容结构:
-
使用学习的相似性内核而不是固定的内核
-
使用基于软注意力的网络代替硬注意力进行风格装饰
-
在训练过程中避免失去特征,以保持内容结构而又不损失风格的丰富性
使用SANet进行任意风格迁移的构建块
整个风格迁移机制可以总结如下:

让我们逐步了解整个体系结构,最后获得全方位的概览。
全面的SANet架构

让我们尝试解开整个架构,以更好地了解:
-
编码器解码器模块
-
风格注意力模块
-
损失函数的计算
编码器-解码器模块

解决风格迁移问题的最重要步骤是编码器-解码器机制。预训练的VGG-19网络对一个图像进行编码,形成一个表示形式,然后传递给解码器,该解码器尝试将原始输入图像重新构造回去。
风格注意力模块

SANet体系结构将来自VGG-19编码器的内容和风格图像的输入作为特征图,并对其进行规范化后,转换为特征空间,以计算内容和风格特征图之间的关注度。

损失函数的计算
预训练的VGG-19用于计算损失函数,以便按以下方式训练解码器:

完整的损失计算公式
关于内容和风格损失计算的一个构想:
SANet中内容和风格损失组件的计算概述

特征损失的计算
由于具有新颖的特征损失功能,SANet体系结构能够保留内容结构并丰富样式模式。
SANet中特征损失计算的概述 
计算相同输入图像在没有任何风格空白的情况下的损失,使得特征损失同时实现内容结构和风格特征的维护。
结论与结果

实验显然表明,使用SANet进行风格迁移所获得的结果将解析各种风格,
例如全局颜色分布,纹理和局部风格,同时保持内容的结构。同样,SANet在区分内容结构和与每个语义内容相对应的迁移风格方面也很有用。因此可以推断出,SANet不仅在保持内容结构方面很有效,而且在保留风格结构特征方面也很有效,并且可以轻松地融合风格特征,从而丰富了全局风格和局部风格统计信息。

参考文献
[1]朴大英和李光熙。“通过关注风格的网络进行任意风格的迁移。” IEEE计算机视觉与模式识别会议论文集。2019。
[2] Gatys,Leon A.,Alexander S. Ecker和Matthias Bethge。“使用卷积神经网络进行图像风格迁移。” IEEE计算机视觉和模式识别会议论文集。2016。
[3] Huang,Xun和Serge Belongie。“通过自适应实例标准化实时进行任意风格迁移。” IEEE国际计算机视觉会议论文集。2017。
[4]李一军,等。“通过特征转换实现通用风格迁移。” 神经信息处理系统的研究进展。2017。
[5]盛路,等。“头像网:通过特征装饰进行多尺度零镜头风格转移。” IEEE计算机视觉与模式识别会议论文集。2018。
欢迎关注磐创AI博客站: http://panchuang.net/
sklearn机器学习中文官方文档: http://sklearn123.com/
欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/
版权声明
本文为[人工智能遇见磐创]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4253699/blog/4707712
边栏推荐
- Goland 编写含有template的程序
- Littlest jupyterhub| 02 using nbgitpuller to distribute shared files
- C++在C的基础上改进了哪些细节
- Sum up some useful functions
- Data structure and sorting algorithm
- Jingtao project day09
- [original] about the abnormal situation of high version poi autosizecolumn method
- CPP (3) what is cmake
- Ulab 1.0.0 release
- GoLand writes a program with template
猜你喜欢

Lay UI left tree Dtree right list table

Face recognition: attack types and anti spoofing techniques

云计算之路-出海记:整一台 aws 免费云服务器

16. File transfer protocol, vsftpd service

Simple use of future in Scala

面部识别:攻击类型和反欺骗技术

Solve the problem of rabbitmq message loss and repeated consumption

Littlest JupyterHub| 02 使用nbgitpuller分发共享文件

laravel8更新之速率限制改进

use Xunit.DependencyInjection Transformation test project
随机推荐
Experience the latest version of erofs on Ubuntu
Windows subsystem Ubuntu installation
Summary of knowledge points of Jingtao project
Visual Studio 2015 未响应/已停止工作的问题解决
PerconaXtraDBCluster8.0 最详尽用法指南
ts流中的pcr与pts计算与逆运算
高并发,你真的理解透彻了吗?
Learn Scala if Else statement
Wechat nickname Emoji expression, special expression causes the list not to be displayed, export excel error report and other problems solved!
CPP (3) what is cmake
Face recognition: attack types and anti spoofing techniques
Solve the problem of rabbitmq message loss and repeated consumption
C++基础知识篇:C++ 基本语法
Privacy violation and null dereference of fortify vulnerability
VC6 compatibility and open file crash resolution
Oschina plays on Sunday - before that, I always thought I was a
Bili Bili common API
QT hybrid Python development technology: Python introduction, hybrid process and demo
16.文件传输协议、vsftpd服务
swiper 窗口宽度变化,页面宽度高度变化 导致自动滑动 解决方案