风格转换模型学习记录

论文名称:A Neural Algorithm of Artistic Style

主要结果:将一副图片中的风格与另一幅图片中的内容相转换。如下图:

原理:深度学习时一个连续函数模型f(x)=y。其中y是特征,而x是原图,现在假设知道了特征和f,那么如何求原图?

可以将x作为变量,其他参数都固定。具体为:设x1是空白图片,f(x1)=y1,最小化|y-y1|这个代价函数,如此做即可得到原图x。

当然光得到原图还是不够的,还要加上风格,风格如何获取?首先找一个风格图片,然后将图片输给一个训练好的深度模型,如论文中采用了VGG模型,VGG与resnet类似,都是分成了5个block,论文中采用5个block的输出作为求风格的位置。具体求风格的方法是首先每一层(layer)的输出都是类似于【batch_size,h,w,filters_num】,论文从采用gram矩阵来作为风格的一个量化,gram矩阵是利用特征之间的协方差来得到的。而为什么论文中是两个矩阵直接相乘呢?因为加入均值为0,那么两个向量直接相乘就是两个向量的协方差,如下公式:

比如在'block1_conv1'这个位置,空白图片的gram矩阵是A,风格图片是B,那么sum(|A-B|)即是loss。于content中说的一样的方法可以得到风格图片。

最后讲loss乘以系数相加:

 ratio α/β was either 1×10 −3 (Fig 2 B,C,D)or 1 × 10 −4。

可调参数:

loss函数中的比例可以调,调了就是风格和内容比例的多少。

风格采用哪些层也可以调,文中采用了好几种组合方式,具体见论文。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章