图像风气迁徙简介

2周前 (02-13 08:06)阅读1回复0
丸子
丸子
  • 管理员
  • 注册排名9
  • 经验值131185
  • 级别管理员
  • 主题26237
  • 回复0
楼主

来源:我不爱机器进修公家号

1 风气迁徙开山之做1.1 思惟简介

2015年,Gatys等人颁发了文章《 A Neural Algorithm of Artistic Style》,初次利用深度进修停止艺术画风气进修。

做者的目标是想把艺术巨匠的名画的 画风迁徙到通俗的图片上,使机器也能够画名画。那就涉及到两方面的图片:画风图片(一般是名画)、内容图片(我们想画的内容)。

输进是:内容图像、style和合成图像。

因为 合成图像未知,因而能够将其 设置为白噪声,同时将合成图像的 梯度设置为True,那一步来看合成图像就是 待求的参数,能够理解为权重。

简单理解:

现实操做:

通过 不带全毗连层的vgg收集别离 抽取内容图、画风图以及生成图(就是最初你画的“名画”) 的特征图。

然后别离用 内容特征和生成特征图计算 内容缺失,用 画风图和生成图计算 风气缺失,将两个缺失合起来,做为总体缺失。

最初用 总体缺失来计算生成图的 梯度然后 更重生成图。

通过 不带全毗连层的vgg收集别离 抽取内容图、画风图以及生成图(就是最初你画的“名画”) 的特征图。

然后别离用 内容特征和生成特征图计算 内容缺失,用 画风图和生成图计算 风气缺失,将两个缺失合起来,做为总体缺失。

最初用 总体缺失来计算生成图的 梯度然后 更重生成图。

展开全文

此中:

生成图最后初始化为白噪声图。

vgg用imagenet 预操练模子。

生成图最后初始化为白噪声图。

vgg用imagenet 预操练模子。

做者的企图是想 通过CNN别离抽取内容图的特征图、名画的特征图。

然后用 内容特征图做出目标内容;用 画风特征图做出目标画风。

根据生成图的内容与目标内容的 差别来“画”(优化)内容;用生成图与目标画风的 差别来“画”(优化)风气。

如许一来,上面框图中 最上面的收集和最下面的收集现实 只跑一次,但 中间收集要跑N次,但那N次跑前向和后向,后向 不会优化收集参数, 只会优化生成图。

特征图能够抉择vgg 5个卷积模块中任何一个模块的卷积层的输出,现实画风提取了多个卷积层的输出。 内容间接用特征图表达; 画风摘用每个特征图 本身与本身的格拉姆矩阵表达,凡是将多个卷积层提取的多个特征图做格拉姆矩阵后叠加。

格拉姆矩阵是计算相关关系的,计算特征图本身的格拉姆矩阵是提取像素与像素之间的联系关系,以那种联系关系性来表达风气。

1.1 构建缺失函数

缺失函数的详细形式:

内容的缺失(Content Loss)和基于生成图的梯度

内容的缺失(Content Loss)和基于生成图的梯度

在CNN收集中,一般认为 较低层的特征描述了图像的 详细视觉特征(即纹理、颜色等), 较高层的特征则是较为 笼统的图像内容描述。

所以要比力两幅图像的内容类似性,能够比力两幅图像在CNN收集中 高层特征的类似性(欧式间隔)。

此中 和 别离表达生成图像和原始内容图像中的像素值。

画风缺失(Style Loss)和基于生成图的梯度

画风缺失(Style Loss)和基于生成图的梯度

而要比力两幅图像的风气类似性,则能够比力它们在CNN收集中 较低层特征的类似性。

不外值得重视的是, 不克不及像内容类似性计算一样,简单的摘用欧式间隔度量,因为 低层特征包罗较多的图像部分特征(即空间信息过于显著),好比两幅风气类似但内容完全差别的图像,若间接计算它们的欧式间隔,则可能会产生较大的误差,认为它们风气不类似。

论文中利用了 Gram矩阵,用于 计算差别响应层之间的联络,即在 保留低层特征的同时往除图像内容的影响,只比力风气的类似性:

总缺失(otal Loss)

总缺失(otal Loss)

利用 VGG19收集停止操练(包罗16个卷积层和5个池化层,但现实操练中 未利用任何全毗连层,并利用均匀池化average- pooling替代更大池化max-pooling)。

内容层和风气层的抉择:将内容图像和风气图像别离输进到VGG19收集中,并将收集各个层的特征图(feature map)停止可视化(重构)。

内容重构五组比照尝试:

1.conv1_1 (a)

2.conv2_1 (b)

3.conv3_1 (c)

4.conv4_1 (d)

5.conv5_1 (e)

风气重构五组比照尝试:

1.conv1_1 (a)

2.conv1_1 andconv2_1 (b)

3.conv1_1, conv2_1 andconv3_1 (c)

4.conv1_1, conv2_1, conv3_1 andconv4_1 (d)

5.conv1_1, conv2_1, conv3_1, conv4_1 andconv5_1 (e)

通过尝试发现:

关于内容重构,(d)和(e)较好地保留了图像的高阶内容(high-level content)而丢弃了过于细节的像素信息;

关于风气重构,(e)则较好地描述了艺术画的风气。

关于内容重构,(d)和(e)较好地保留了图像的高阶内容(high-level content)而丢弃了过于细节的像素信息;

关于风气重构,(e)则较好地描述了艺术画的风气。

如下图红色方框标识表记标帜:

在现实尝试中, 内容层和风气层抉择如下:

内容层:conv4_2

风气层:conv11, conv2_1, conv3__1_, _conv4_1, conv5_1

内容层:conv4_2

风气层:conv11, conv2_1, conv3__1_, _conv4_1, conv5_1

操练过程:

以白噪声图像做为输进(x)到VGG19收集,

conv4_2层的响应与原始内容图像计算出内容缺失(Content Loss),

“conv1_1, conv2_1, conv3_1, conv4_1, conv5_1”那5层的响应别离与风气图像计算出风气缺失,然后它们相加得到总的风气缺失(Style Loss),最初Content Loss + Style Loss = Total Loss得到总的缺失。

摘用梯度下降的优化办法求解Total Loss函数的最小值,不竭更新x,最末得到一幅“合成画”。

以白噪声图像做为输进(x)到VGG19收集,

conv4_2层的响应与原始内容图像计算出内容缺失(Content Loss),

“conv1_1, conv2_1, conv3_1, conv4_1, conv5_1”那5层的响应别离与风气图像计算出风气缺失,然后它们相加得到总的风气缺失(Style Loss),最初Content Loss + Style Loss = Total Loss得到总的缺失。

摘用梯度下降的优化办法求解Total Loss函数的最小值,不竭更新x,最末得到一幅“合成画”。

每次操练迭代, 更新的参数并不是VGG19收集自己,而是 随机初始化的输进x;

因为 输进x是 随机初始化的,最末得到的“合成画”会有 差别;

每生成一幅“合成画”, 都要从头操练一次, 速度较 慢,难以做到实时。

每次操练迭代, 更新的参数并不是VGG19收集自己,而是 随机初始化的输进x;

因为 输进x是 随机初始化的,最末得到的“合成画”会有 差别;

每生成一幅“合成画”, 都要从头操练一次, 速度较 慢,难以做到实时。

2016年Johnson等人提出了一种更为快速的风气迁徙办法《 Perceptual losses for real-time style transfer and super- resolution》。

它们设想了一个 变更收集(Image Transform Net),并用 VGG16 收集做为 缺失收集(Loss Net)。

输进图像经由变更收集后,会得到一个输出,此输出与风气图像、内容图像别离输进到VGG16缺失收集,类似于开山之做的构想,利用VGG16差别层的响应成果计算出内容缺失和风气缺失,最末求得总缺失。

然后利用梯度下降的优化办法不竭更新变更收集的参数。

其 次要思惟是 白噪声由收集生成( 转换收集),该收集一旦生成就能够实时运行。

内容层:relu3_3

风气层:relu12, relu2_2, relu3_3, _relu4_3

内容层:relu3_3

风气层:relu12, relu2_2, relu3_3, _relu4_3

此中变更收集(Image Transform Net)的详细构造如下图所示:

3 格拉姆矩阵(Gram matrix)

Gram矩阵是 两两向量的 内积构成,所以Gram矩阵能够反映出该组向量中 各个向量之间的某种关系。 输进图像的 feature map为 [ ch, h, w] 。颠末 flatten(便是将 h*w 停止平坦成一维向量)和矩阵转置操做,能够变形为 [ ch, h*w] 和 [ h*w, ch] 的矩阵。

再对两个做内积得到Gram Matrices。(蓝色条表达每个通道flatten后特征点,最初得到 [ch *ch ] 的G矩阵):

画风在差别层的特征的Gram Matrices:

现实上Gram Matrix可看做是feature之间的 偏疼协方差矩阵(即没有减往均值的协方差矩阵):

在feature map中,每一个数字都来自于一个特定滤波器在特定位置的卷积,因而每个数字就代表一个特征的强度,而Gram计算的现实上是两两特征之间的相关性,哪两个特征是同时呈现的,哪两个是此消彼长的等等。

同时,Gram的对角线元素,还表现了每个特征在图像中呈现的量,因而,Gram有助于掌握整个图像的大致风气。

在feature map中,每一个数字都来自于一个特定滤波器在特定位置的卷积,因而每个数字就代表一个特征的强度,而Gram计算的现实上是两两特征之间的相关性,哪两个特征是同时呈现的,哪两个是此消彼长的等等。

同时,Gram的对角线元素,还表现了每个特征在图像中呈现的量,因而,Gram有助于掌握整个图像的大致风气。

有了表达风气的Gram Matrix,要度量两个图像风气的差别,只需比力他们Gram Matrix的差别即可。

4 AnimeGANv2

在给各人选举一个 人脸转漫画脸的风气迁徙收集( AnimeGANv2)。该收集是Ahsen Khaliq等工程基于styleGNA和神经收集等手艺培养的人脸造造动画面目面貌的算法。

StyleGAN中的“Style” 是指数据集中人脸的次要属性,好比人物的姿势等信息,而不是风气转换中的图像风气,那里Style是指人脸的风气,包罗了脸型上面的脸色、人脸朝向、发型等等,还包罗纹理细节上的人脸肤色、人脸光照等方方面面。

每个图像都有两种处置形式,就像第一组照片,第一个曲线愈加温和,第二个曲线愈加粗旷。

间接在网页上测验考试:

5 Tensorflow版

现实操做过程中,能够分红以下几步:

A. 图像预处置(内容图、画风图)、生成图占位符定义

B. 预操练模子加载

C. 三张图跑收集

D. 内容缺失计算

E.格拉姆矩阵计算

F. 风气缺失计算

G. 缺失和梯度汇总

H. 设置迭代计算图

I.抉择生成图优化办法

J. 起头迭代

法式如下:

参考:

一键三连,一路进修⬇️

0
回帖

图像风气迁徙简介 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息