机器学习笔记——图像风格转换

前言

今天我们一起学习图像风格转化。
在这里插入图片描述
先说一下图像风格转换要做的事情,就是我们有如A的一张图,然后有如剩下图左下角的风格图,可以看到比如梵高著名的星空图,我们把A的风格依照这些图进行转化就得到了BCDEF等风格图。这就是图像风格转化,很简单,我们说一下原理。

原理

在这里插入图片描述
先说一下,做风格转化的原料,一个训练好的卷积神经网络我们这里用VGG16,一张原图,一张风格图,一张用来改变的图(中间的x,理论上什么图都可以,这利用了一张噪声图,其实用原图或者背景图也可以)。我们要做的是分为两部分,优化内容损失和风格损失,使中间的图为最后输出的结果,注意两点,一、我们优化的权重不是神经网络的权重,而是中间图片的像素,二、我们用的神经网络是训练好的直接用它提取特征,不再进行训练。也就是说我们的过程是这样的,我们拿到一张图片(对应中间的x),经过不断训练调整各个点像素值,生成最终结果。那么提到训练我们不得不说损失函数,总的损失分为两种(不考虑实现代码中的正则化损失),一、风格损失,就是让最终结果的风格贴近左面的风格图片(星空),方法是让中间和左边图片同时经过VGG16(有一点忘了说了VGG16要去掉全连接层,因为我们做的是特征提取而不是分类),然后经过格莱姆矩阵变化(可以让风格特征更明显),然后做差得到风格损失。二、内容损失,原图和中间图片同时经过VGG16,得到特征图对应做差,得到内容损失。最后加起来做总损失,然后求的梯度,不断优化,我们就可以让中间这张图片风格上像星空,内容上像原图,因为是对像素调整所以中间输入神魔都行。这里有一点注意:优化方式不再是梯度下降法而是L-BFGS论文是说他效果更好,我反正没试过。

运行效果

代码我会放在我的下载里免费,我改了不好使的部分(一个+=而已),然后有两问题:一、代码太老你的 scipy版本不能太高,高了退一下,因为新版本有的函数被弃用了,所以会报错找不到。二、有可能运行到后面会显示f_outputs找不到,这是个逻辑顺序问题你再把前面的出现他的位置运行一遍就好了,这次就可以运行了。我是A卡,只能用CPU跑运行一个周期要120s左右我就给大家看一下前接个周期效果,这是个渐变的过程。
在这里插入图片描述
Start of iteration 0
Current loss value: 2703217200.0
Image saved as image/output/output_at_iteration_0.png
Iteration 0 completed in 130s
G:\Users\dell-pc\Anaconda3\envs\keras\lib\site-packages\ipykernel_launcher.py:33: DeprecationWarning: imsave is deprecated!
imsave is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
Use imageio.imwrite instead.
在这里插入图片描述
Start of iteration 1
Current loss value: 504444260.0
Image saved as image/output/output_at_iteration_1.png
Iteration 1 completed in 113s
在这里插入图片描述
Start of iteration 2
Current loss value: 239592100.0
Image saved as image/output/output_at_iteration_2.png
Iteration 2 completed in 111s

。。。。。。。。。。。。。。。
在这里插入图片描述
Start of iteration 8
Current loss value: 62772064.0
Image saved as image/output/output_at_iteration_8.png
Iteration 8 completed in 115s
在这里插入图片描述
Start of iteration 9
Current loss value: 57676348.0
Image saved as image/output/output_at_iteration_9.png
Iteration 9 completed in 115s
在这里插入图片描述
Start of iteration 10
Current loss value: 53406292.0
Image saved as image/output/output_at_iteration_10.png
Iteration 10 completed in 111s

。。。。。。
可以看到这是一个渐变的过程,但是后来变换就不大了就不占篇幅了。

最后

这就是图像风格转换了,大家一起学习,我也是个小白希望能用最简单的话讲解机器学习,帮到大家,一起进步,加油!!!!

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值