项目实训(十九)A Neural Algorithm of Artistic Style 阅读(二)

接上文A Neural Algorithm of Artistic Style 阅读(一)的损失函数详解。

对于content loss来说,因为VGG结构能够提取图片的高层图片,在generated image 和 content image之间通过已经训练好的VGG网络取CONV4_2层的feature map输出,利用最小平方差来计算二者的距离,

虽然公式里面有一个1/2,是为了之后求导x^2之后形式上的方便。有没有都没有所谓。

而对于style loss来说,Gram矩阵的使用很有研究的必要。重建style,是根据不同filter得到的激活值之间的相关性来重建的,因为style在图像中的表现就是纹理特征,即是像素之间的相关性。所以再把i,j层的feature map转换成向量形式后做内积就可以得到Gram矩阵。

其实Gram矩阵就是协方差矩阵换了个名字,Gatys的几篇论文其实没有解释为什么用Gram矩阵,因为给不了证明。

如果用协方差(也就是Gram矩阵)来进行约束隐藏层特征的话,重建出来的特征虽然有些会保持,但是有些可能位置会打散。比如最右侧的一张图,人还是人,但是重建出来相当于“拼图”效果了。这是因为协方差本身就是去除了位置信息。 那么既然协方差可以用于纹理生成,那么如果我们加上 “让生成图的隐藏层特征与原图尽量一样,另一方面让生成图的打散特征与画的打散特征尽量相似”,这就是用神经网络做风格转换的最初想法。这也比较符合“风格”的定义,毕竟风格不应该具有位置信息,一种风格应该是与位置无关的。

我个人觉得Gram这个矩阵的研究意义还是很大的。

四、文章核心

1、使用现成的识别网络,提取图像的不同层级的特征。如文章中自己提到的那样,这项工作的最关键的一点就是能够把content image,style image在高层次上分开来。说明识别这项任务看似到最后使用一个全连接层做的是分类任务,但是其实在卷积的过程中包括了很多丰富的信息。

2、高层次相应可以描述文章的内容

3、使用梯度下降方法调整输入响应,在特定层次获得特定的相应。

五、实验结果分析

上图是对于同一张街景图下,多个风格的转换。可以看到这篇文章的一个致命缺点,就是速度很慢。因为是对输入图像就进行调整,所以没生成一张图像就要重新进行训练,虽然现在可以多个GPU训练,但是也不可能在几秒中之内得到结果。所以之后会不断地出现文章在速度方面的追求。很直观的理解就是训练好网络以后,通过前馈神经网络直接生成图片。

上图是在不同参数情况下的结果。

从左到右,α/β的比值逐渐增大,从损失函数中可以看出,content loss的权重逐渐增大,而style loss的权重逐渐减小,在生成图像的过程中,会更倾向于保持content image的内容,所以可以看到,每一行的最后一张的原图信息最为明显。

从竖直方向看,风格误差包含较高的卷积层如CONV5_1反而会有更好的视觉效果,更加平滑。我个人人为的原因是,若使用低层次的卷积层提取纹理信息,style image的细节会很突出,边缘等的变化也会非常明显,会给人的视觉上造成较为突出的感觉,自然会感觉不够舒服、不够真实。

最终达到的效果如下图:

 

六、总结

总体而言,文章很厉害,能够敏锐的发觉到这个领域,开山之作。但是还是有不足之处。在arxiv上的文章前半篇都不太有干货,一直在讲虚的东西,稍微也有一些夸大文章的作用。而速度太慢也是这篇文章的一个致命缺点,所以接下来,会对另一篇real-time的文章进行学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值