关于算法:Google风格迁移Linear名字太长放不下CVPR2019

1次阅读

共计 1668 个字符,预计需要花费 5 分钟才能阅读完成。

1. 前导

依据原论文的思路简略过一遍。

1.1. 出处

论文名称:Learning Linear Transformations for Fast Image and Video Style Transfer
论文收录于 CVPR2019
我的项目地址 Github

1.2. 变量命名

\(F_c\) 示意内容图像的特色图;\(F_s\)示意格调图像的特色图;
\(F_d\) 示意变换后的特征向量;\(\bar{F}\) 示意具备 0 均值的矢量化特色图 \(F\)(也就是 F 减去 F 的均值);
\(\phi_s\) 示意所需格调的“虚构”特色图(\(\phi_s=\phi(F_s)\),在 AdaIN/WCT 中,\(\phi_s=F_s\))
\(T\) 示意学习矩阵;
\(N\) 示意像素量,即 \(N=H\times W\);\(C\) 示意通道数;
阐明:

  1. 为什么这里 \(\bar{F}\)只减去均值不除以方差呢?是因为前面须要用方差计算协方差矩阵。

    2. 推导(Image)

    2.1. 求解指标

    先给出优化指标公式

    $$
    F^*_d = arg\min_{F_d} \frac{1}{NC} \|\bar{F_d}\bar{F_d}^{\top} -\bar{\phi_s}\bar{\phi_s}^{\top} \|^2_F \tag{1} \\
    s.t. \bar{F_d} = T \bar{F_c}.
    $$

指标含意是为了最小化 \(F_d\)和 \(\phi_s\)之间的核心协方差。核心协方差就是将样本均值挪动到原点再计算协方差,这就是为什么 \(\bar{F}\)只减去均值。也就是说咱们 冀望减去均值后的内容特色通过学习矩阵 \(T\)变换后靠近风格特征。留个问题:为什么这里应用的是协方差?

将公式 \(1\)中的约束条件代入可知,当

$$
T\bar{F}_c\bar{F}_c^{\top}T^{\top} = \bar{\phi_s}\bar{\phi_s}^{\top} \tag{2}
$$

时,指标函数最小。

\(\bar{F_c}\)的核心协方差:\(cov(F_c)=\bar{F}_c\bar{F}_c^{\top}=V_cD_cV_c^{\top}\);对应的奇怪值合成(SVD):\(cov(\phi_s)=\bar{\phi_s}\bar{\phi_s}^{\top}=V_sD_sV_s^{\top} \)。所以,依据这两个公式,能够容易失去公式 \(2\)的一组解:

$$
T=(V_sD^{\frac{1}{2}}_sV_s^{\top})U(V_cD^{-\frac{1}{2}}_cV_c^{\top}) \tag{3}
$$

其中,\(U\in R^{C\times C}\)是 \(C\)维正交群。

由此,能够看出 \(T\)仅由内容特色协方差和风格特征协方差确定。

当给定一个 \(T\)时,变换后的特色 \(\bar{F_d}\) 加上 \(mean(F_s)\) 与 指标格调的均值和协方差统计值对齐。(与后面那句加粗的话在肯定水平上等价)

当初的问题是 \(T\)怎么失去,有后面能够晓得 \(T\)仅取决于内容和格调,一种可行的办法是应用网络将两个图片间接输入为 \(C \times C\)的矩阵。
由等式 \(3\)得,内容和格调是拆散的,所以能够应用两个独立的 CNNs 来提取各自的特色。
从等式 \(2\)能够推断出 CNNs 能够有三种输出的形式:1. 图片(c/s)2. 特色图(\(F_c\)/\(F_s\))3. 协方差矩阵(\(cov(F_c)\)/\(cov(F_s)\))。所以选哪种呢?还是每种都行呢?
在这里,作者心愿输入 \(T\)的模块能够灵便适应所有内容图像和任意形态区域(就是大小能够不一样),所以形式 1 和形式 2 不实用,因为容易晓得 \(T=\bar{\phi_s}U\bar{F_c}^{-1}\),那么这就要求内容和格调的维度特色须要雷同;还有另一点,因为 \(T\)形容的是格调变换,侧重于形容全局统计量变动而不是图像空间信息。所以综合以上这两点,抉择形式 3,输出协方差,输入 \(C\times C\)两头矩阵,而后这两个矩阵相乘失去 \(T\)。

正文完
 0