neural style源代码阅读
Gram矩阵在风格迁移中的应用
Gram矩阵本身定义
n维欧式空间中任意k个向量之间两两的内积所组成的矩阵
通过网络提取图像局部细节纹理特征向量,组合起来计算Gram矩阵,得到图像特征之间的隐藏联系
数值意义:
Gram计算的是两两特征之间的相关性,哪两个特征是同时出现的,哪两个是此消彼长的等等
Gram的对角线元素,还体现了每个特征在图像中出现的量
Gram矩阵可以度量各个维度自己的特性以及各个维度之间的关系,所以可以反映整个图像的大体风格。只需要比较Gram矩阵就可以比较两个图像的风格差异了。
可以修改的参数
Loss的计算方法:当前为MSE,探究各种方法的区别
更新参数的方法~
调整内容和风格的weight之比
Gatys论文中算法的知乎实现
CNN卷积过后提取了图像的特征图,每个数字是原图像的特征大小,Gram矩阵内积运算后,特征图中越大的数字数字会变得更大,相当于对图像的特性进行缩放,使得特征突出
迁移vgg16模型并剔除全连接部分,加入计算内容和风格loss的部分
优化:使用LBFGS -> 对于多个loss的优化可以取得较好效果