深度学习与图神经网络核心技术实践应用高级研修班-Day4图像风格迁移(Neural_sytle_transfer)

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习与图神经网络核心技术实践应用高级研修班-Day4图像风格迁移(Neural_sytle_transfer)相关的知识,希望对你有一定的参考价值。


1. 图像风格迁移原理

一般的图像风格迁移,根据内容图像和风格图像优化输入图像,使内容损失函数和风格损失函数尽可能小。

问题:根据损失函数调整输入数据,每生成一个图像相当训练一个模型,需要很长时间。

快速图像风格迁移

模型组成:转换网络和损失网络


转换网络:训练参数,将内容图像转换成迁移图像

损失网络:计算迁移图像和风格图像的风格损失,以及迁移图像和原图像的内容损失

2. 图像风格迁移实现

数据集

MSCOCO数据集http://cocodataset.org/#download

实现

  1. 库的加载

  2. 内容图像的加载:处理成指定大小

  3. VGG16模型的加载:同时定义函数,对于给定输入,返回VGG16各层的输出值

  4. 选择一个风格图,减去通道颜色均值,得到风格图在VGG16各个层的输出,计算四个风格层对应的Gram矩阵

  5. 定义转换网络,卷积、残差、逆卷积结构,内容图像输入之前也需要减去通道颜色均值

  6. 将转换网络的输出(迁移图像),以及原图像输入到VGG19,得到各自对应层输出,计算内容损失函数。

  7. 根据迁移图和风格图在指定风格层的输出,计算风格损失函数

  8. 计算全变差正则,得到总的损失函数

  9. 定义优化器,通过调整转换网络中的参数降低总损失

  10. 训练模型,每轮结束后,用一张测试图进行测试,将tensor值写入events文件,便于tensorboard查看

  11. 保存模型

3. 图像风格迁移实验结果

实验结果


训练中,可以使用tensorboard查看训练历史数据




以上是关于深度学习与图神经网络核心技术实践应用高级研修班-Day4图像风格迁移(Neural_sytle_transfer)的主要内容,如果未能解决你的问题,请参考以下文章

深度学习与图神经网络核心技术实践应用高级研修班-Day3迁移学习(Transfer Learning)

深度学习与图神经网络核心技术实践应用高级研修班-Day1典型深度神经网络模型

深度学习与图神经网络核心技术实践应用高级研修班-Day1Tensorflow和Pytorch

深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发

深度学习与图神经网络核心技术实践应用高级研修班-Day1受限波尔兹曼机和深度信念网络

深度学习与图神经网络核心技术实践应用高级研修班-Day4深度强化学习(Deep Q-learning)