机器学习小项目(1)图片风格转移

简介

这学期开始上《机器学习》相关的课,老师要求每个组都阅读一篇最近发表的关于机器学习的论文,并做展示,其中有很多有趣的小项目,就在这里分享一下。

嗯…作者所在组比较咸鱼,挑选了一篇相对比较简单的论文,但是实际效果还是挺不错的,如下:
论文中的效果图
自己测试最终效果

两张用到的参考图片如下:


内容参考图
风格参考图

参考

原论文

Image Style Transfer Using Convolutional Neural Networks.pdf

论文分析及代码详解

基本都是参考这篇文章做出来的
知乎 keras示例程序解析(2):图像风格转移

相关知识

深度学习、图像分类入门,从VGG16卷积神经网络开始
如何用简单易懂的例子解释格拉姆矩阵/Gram matrix

VGG网络

先看看网络结构图


VGG16网络

图中这些啥convolution,maxpooling都是啥啊?

卷积核

卷积核

可以通俗理解为特征提取的一个模版,一个图像经过这个卷积核之后便能提取出只包含对应特征的图像。
注意不要忘了后面还接上了一个ReLU函数,用来引入非线性。

Max Pooling

池化

很多翻译把这个称为池化…感觉很不靠谱。在这里起到的是进一步缩小图片尺寸的作用。

结构

VGG16网络

比较令人困惑的一点就是224*224*3到224*224*64,为什么图片数量(厚度)增多了?这是怎么实现的?
这个问题可以追溯到LeNet这个比较早的模型,同样的问题出现在了S2到C3这里,其解释可以参考
卷积神经网络 LeNet-5各层参数详解,C3里的图层是对S2各图层的组合,也就是说,将原有特征图层混合成了新的特征图层。即C3有16个通道,每个通道都和上一步的6个通道相连接,由6个通道的组合构成新的通道。在图中,可以想象这个卷积核是可以穿透各个层的。
LeNet

如图,每个卷积核也是有3个channel的。这里是输出了一个8*8*1的图像,像上面的LeNet一样输出16个channel的话,就用16个5*5*3的卷积核就好啦。

内容处理

本部分建议参考对应代码及解析
Keras:neural_style_transfer.py
知乎 keras示例程序解析(2):图像风格转移

提取

CNN

内容就是采用CNN的某一层或者某几层来表示,层级越高,表示就越抽象。如图,低层的响应是纹理和细节的相应,高层的响应是语义信息的响应。

训练

这里是本论文一个新颖的地方,平常接触到的都是给一堆图片,训练CNN的参数;在这里则是给一个经过ImageNet训练好的CNN(训练好代表它已经可以提取生活中常见的物体的特征),反过来训练出一个图片。训练的是什么参数呢?

内容损失

p: 原始内容图片
x: 生成图片(初始一个白噪声图片)
Pl: 原始图片在CNN中第l层的内容表示(就是某一层网络的输出 详细理解请参考代码)
Fl: 生成图片在CNN中第l层的内容表示
Flij: 第l层第i个filter上位置j处的激活值
其导数为


内容损失的导数

来对比一下:
传统梯度下降:参数=原参数-学习率*(Loss对参数的导数)更新参数 即可实现Loss减小
这篇论文中:对内容损失求导,更新参数F(F由X得到,即更新X)使得内容损失减小,使得X在内容上越来越趋近于P

风格处理

和内容类似,首先看风格是如何描述的,


Gramm矩阵

然后对比每一个生成图片的风格G和参考图片风格A的差异E,加权平均每一层的差异得到总的风格损失Lstyle


风格训练流程

然后训练参数,减小这个损失。

总体流程

总体流程

实验

这些是论文中提到的一些实验现象。

内容层级的选择

选择红框中的哪一个作为内容参考对结果有印象

层级越高,内容越抽象,融合度越好


不同层级的效果

初始化方式的不同

白噪声初始

待生成图片一开始是什么样的?风格图片、内容图片亦或是白噪声,最终效果都差不多,只是白噪声训练时间可能长一些。


白噪声初始化的训练

内容初始化的训练

疑问

这是我在实验过程中遇到的疑问。

图片大小影响

100*100
224*224 VGG网络训练时的输入大小
360*280

可以看出100*100效果最好,然而这个VGG网络不是针对ImageNet 224*224的图片提取特征的吗,效果理应最好啊?


大概是本来应该在第二层被提取的特征在第一层就被提取,相当于深度增加,而层级越深效果越好,所以100*100的反而最好。

后tu记cao

大概是一个月之前搞的展示了…完成这篇论文的阅读加上实验用了两周,很多不太懂的地方看了代码就比较清楚了。最关键的是效果很有趣,所以网上参考资料很多,别的组选了一些高深的题目,比如3D物体空间位置重构这种东西- -,也就需要自己开荒了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容