深度学习与图神经网络核心技术实践应用高级研修班-Day4图像风格迁移(Neural_sytle_transfer)
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习与图神经网络核心技术实践应用高级研修班-Day4图像风格迁移(Neural_sytle_transfer)相关的知识,希望对你有一定的参考价值。
图像风格迁移(Neural_sytle_transfer)
1. 图像风格迁移原理
一般的图像风格迁移,根据内容图像和风格图像优化输入图像,使内容损失函数和风格损失函数尽可能小。
问题:根据损失函数调整输入数据,每生成一个图像相当训练一个模型,需要很长时间。
快速图像风格迁移
模型组成:转换网络和损失网络
转换网络:训练参数,将内容图像转换成迁移图像
损失网络:计算迁移图像和风格图像的风格损失,以及迁移图像和原图像的内容损失
2. 图像风格迁移实现
数据集
MSCOCO数据集:http://cocodataset.org/#download
实现
-
库的加载
-
内容图像的加载:处理成指定大小
-
VGG16模型的加载:同时定义函数,对于给定输入,返回VGG16各层的输出值
-
选择一个风格图,减去通道颜色均值,得到风格图在VGG16各个层的输出,计算四个风格层对应的Gram矩阵
-
定义转换网络,卷积、残差、逆卷积结构,内容图像输入之前也需要减去通道颜色均值
-
将转换网络的输出(迁移图像),以及原图像输入到VGG19,得到各自对应层输出,计算内容损失函数。
-
根据迁移图和风格图在指定风格层的输出,计算风格损失函数
-
计算全变差正则,得到总的损失函数
-
定义优化器,通过调整转换网络中的参数降低总损失
-
训练模型,每轮结束后,用一张测试图进行测试,将tensor值写入events文件,便于tensorboard查看
-
保存模型
3. 图像风格迁移实验结果
实验结果
训练中,可以使用tensorboard查看训练历史数据
以上是关于深度学习与图神经网络核心技术实践应用高级研修班-Day4图像风格迁移(Neural_sytle_transfer)的主要内容,如果未能解决你的问题,请参考以下文章
深度学习与图神经网络核心技术实践应用高级研修班-Day3迁移学习(Transfer Learning)
深度学习与图神经网络核心技术实践应用高级研修班-Day1典型深度神经网络模型
深度学习与图神经网络核心技术实践应用高级研修班-Day1Tensorflow和Pytorch
深度学习与图神经网络核心技术实践应用高级研修班-Day2基于Keras的深度学习程序开发