用神经网络做风格迁移

关于

风格迁移就是将图片变成某种风格的图片,例如为你的照片加上梵高的画的风格。

神经网络风格迁移

用神经网络做风格迁移的方法最早由 Leon A. Gatys 提出: Image Style Transfer Using Convolutional Neural Networks,2016

风格迁移

基本思想是用一个神经网络,对于原始照片 p ,用神经网络中的某一层特征 $(F_{ij}^l)$ (这里第一个下标表示特征通道,第二个下标表示空间维度,将二维空间压缩为一维便于表述,下同)作为内容的表达,
对于生成的照片 x,用神经网络中的同一层特征表达生成的图片的内容 $(P_{ij}^l)$,要求新生成的照片内容和原始照片内容接近,
即损失函数

$$
L_{content}(p, x, l) = \frac{1}{2} \sum_{ij}(F_{ij}^l P_{ij}^l)^2
$$

较小。

另一方面,需要生成的照片的风格和图片 a 相似,风格可以通过特征空间的 Gram 矩阵来表达。

$$
G_{ij}^l = \sum_{k} F_{ik}^l F_{jk}^l
$$

通过图片x不同层的Gram矩阵和图片 a 相似,实现风格的相似。

$$
E_l = \frac{1}{4N_l^2M_l^2} \sum_{ij} (G_{ij}^l - A_{ij}^l)^2 \\
L_{style}(a, x) = \sum_{l=1}^L w_l E_l.
$$

$(N_l, M_l)$分别是第l层特征数目和空间维度!

通过内容和风格损失函数最小化,实现内容和风格的 tradeoff。

$$
L = \alpha L_{content}(p, x) + \beta L_{style}(a, x)
$$

注意上述两个损失函数的特征都是做了max-pooling后的特征。

风格迁移

实时风格迁移

论文:Perceptual Losses for Real-Time Style Transfer and Super-Resolution,Justin Johnson, Alexandre Alahi, and Li Fei-Fei,2016.

特点: perceptual loss functions, three orders of magnitude faster,real-time

实时风格迁移模型架构

$$
W^* = \arg \min _ W \mathbf{E} _ {x, { y_i }} \sum_{i} \lambda _ i l _ i (f_W (x), y_i)
$$

损失函数和 Gatys 一样! TV 范数正则化!