无监督问题,不存在结果,生成问题:图像风格转换
图像分类是有监督问题
不断调整I‘的值,使得f – f’越来越小,当f – f’足够小的时候,认为I与I‘足够相近。
结论:越低层的内容特征,越能得到精细的内容特征效果,越高层的风格特征越能得到越抽象的风格特质结果。
损失函数:某一层的特征值的平方差。
F:图像输入到卷积神经网络中去得到的某一层的激活值。对应位置上和待生成的图像的特征相减做平方。
风格特征基于关联性进行计算
Gram矩阵:图像在某一层上的激活值有很多个feature map,多个神经元图的输出两两之间做相似度计算(内积)。
因为慢,所以V1并不实用。
V2,V3则可以用一次转换的方式实现图像风格转换。
TF1.0实战:
http://localhost:8888/notebooks/tensorflow1_14_0-style_transfer.ipynb
使用VGG16网络结构预训练
图像风格转换V2算法
V1算法缺点:每次需要随机初始化图像,使用梯度下降的方式进行图像求解。这样就需要运行多次梯度下降的方法,使得效率低。
提升效率—V2算法
输入图像可以变,但风格图片是固定的。
在V1算法中,y~是随机初始化的,在V2算法中,y~并不是随机初始化的,而是由把内容图像输入到trandform net中去,得到的y~,所以相当于train trandform net网络。而不是train y。
区别:y~的来源
在V2的训练过程中,只能一次给一个风格train一个网络。则image trandform net对应的是一种风格。在训练过程中保持风格图像不变,可以切换内容图像。
相同点:后半部分
还可以应用于图像超清化,此时输入的x为模糊的图片,yc是输入的与x对应的超清图片
strided为步长为2的卷积层,fractionally strided为 strided的逆操作,步长为0.5
V1,V2都存在风格损失无法定义的缺点(gram矩阵无法解释)