实现代码:https://github.com/yjc567/StyleBank
本文是对文章 StyleBank: An Explicit Representation for Neural Image Style Transfer 的整理,以及自己重现其实验的结果和查阅相关资料的记录。
大纲
本文的大体内容分为以下几点:
- StyleBank的网络结构
- StyleBank的训练策略
- StyleBank的特性与优点
- StyleBank的参数调整对实验结果的影响
- 训练结果分析
- Instance normalization简介
- Total Variation(TV)loss简介
- 将VGG net用于特征抽取,以及Gram Matrix 简介
- 对FRIQA和SSIM两个图像质量评价方法的介绍
- 反思
- 参考文献
因为时间有限,加上自己的实验还没有完全结束。所以本文着重于讲述[1, 2, 6, 7, 8]这几个偏向理论的部分,其余部分留在下一次的实验报告中提交
StyleBank的网络结构
网络结构
- 图片编码器(image encoder) E 。
- StyleBank层(StyleBank layer) K ,其中包括 n 个并行的过滤器(filter,在本文中,使用cnn作为filter)
{Ki},(i=1,2,…,n) ,对应n个不同的风格。 - 图片解码器(image decoder) D 。
![StyleBank网络结构.png](C:\Users\yjc56\iCloudDrive\study\Machine Learing\Project1_StyleBank\elements\StyleBank网络结构.png)
训练分枝
- 自动编码器(auto-encoder)分枝 E→D
- 风格化(stylizing)分枝 E→K→D
训练的目标是使图像的内容(content)经过 E 和 D 后尽可能的不会损失。同时图像的风格信息会被StyleBank加入,以在保持内容的同时将图像用不同风格表现出来。也就是希望网络可以尽可能地将图像的内容和风格分离开。
输入与输出
输入一个图像(content image) I ,编码器
在 E→D 分枝中,直接将 F 传给解码器
在 E→K→D 分枝中, F 还需要通过