论文分享:[2022 CVPR]Exact Feature Distribution Matching for Arbitrary Style Transfer and Domain Generali
作者:互联网
论文:Exact Feature Distribution Matching for Arbitrary Style Transfer and Domain Generalization
论文地址: Exact Feature Distribution Matching for Arbitrary Style Transfer and Domain Generalization
代码地址: https://github.com/YBZh/EFDM
以往一些领域泛化(Domain generalization)和风格迁移(Arbitrary style transfer)的工作都假设特征符合高斯分布,因此传统特征分布匹配算法通常使用均值和方差来进行匹配。但是现实场景中的数据分布通常要比高斯分布更加复杂,仅仅使用一阶和二阶的统计量不能很好地进行匹配。
在下面这张图是作者统计了四种不同风格的图片的特征分布,可以看出真实场景中特征的分布并不是严格地符合高斯分布。
在这篇论文中,作者提出了一种通过使用精确直方图匹配(Exact HistogramMatching (EHM))来对图片特征的经验累积分布函数(empirical Cumulative Distribution Functions (eCDFs))进行匹配的Exact Feature Distribution Matching (EFDM)。
Exact Feature Distribution Matching (EFDM)
在介绍本文使用的EHM之前,为了进行对比,首先介绍两个比较常用的匹配方法,AdaIn和HM。
Adaptive instance normalization (AdaIN)
假设\(x\)和\(y\)分别为输入的特征和要匹配的目标特征(风格特征),\(o\)为匹配的输出特征。
在AdaIn方法中直接使用均值和方差来对特征进行匹配:
\[\Large o = \frac{x-\mu(x)}{\sigma(x)}\sigma(y)+\mu(y) \]其中 \(\mu(\cdot)\) 和 \(\sigma(\cdot)\) 分别代表特征的均值和标准差,通过AdaIN后输出特征\(o\)中包含了\(x\)的内容信息,以及蕴含在\(y\)的均值和方差中风格和领域信息。
Histogram matching (HM)
简单来说,HM的做法就是将\(x\)与目标特征\(y\)的eCDF进行匹配,然后y中相匹配的值作为输出。具体地,首先计算\(x\)和\(y\)的经验累积函数eCDFs:
\[\large \hat{F}_{X}(x)= \frac{1}{n}\sum^n_{i=1}\mathbf{1}_{x_i \le x},\\ \hat{F}_{Y}(y)= \frac{1}{m}\sum^m_{i=1}\mathbf{1}_{y_i \le y}, \]其中 \(\mathbf{1}_A\) 是一个示性函数,当\(A\)事件满足的时候为1,否则为0。
然后对于 \(x\) 中的每一个元素 \(x_i\) ,找到满足 \(\hat{F}_X(x_i)=\hat{F}_Y(y_i)\) 的 \(y_i\) 来作为单个元素的一个映射:\(H(x_i) = y_i\)。
Exact HistogramMatching (EHM)
首先,使用快速排序算法分别对 \(x\) 和 \(y\) 进行排序:
其中 \(\{ x_{\tau_i}\}^n_{i=1}\) 和 \(\{ y_{k_i}\}^n_{i=1}\) 是分别对 \(x\) 和 \(y\) 按照值进行升序排列后的结果。
然后,直接将进行排序后与 \(x_{\tau_i}\) 相对应的 \(y_{k_i}\) 作为新的输出:
\[\Large o_{\tau_i} =y_{k_i} \]相比于HM,EHM通过排序找到\(x\)和\(y\)相对应的像素值并使用了一个像素级别的转换,这可以使输出的特征与目标特征拥有相同的高阶统计信息。
下图是作者使用了一个实例来说明AdaIN,HM 和 EHM在计算和结果上的差别。从图中可以看出,在使用了AdaIN,和HM后,\(o\) 和 \(y\) 的高阶统计量没有很好地进行匹配,而高阶的统计量中通常蕴含了样本的风格和领域的信息。相反,由于EHM只是改变 \(y\) 的顺序后作为输出的特征,因此很好地保存了 \(y\) 中的各种高阶的信息。
在任意风格迁移(AST)和领域泛化(DG)中使用EFDM
为了使深度模型在使用了EFDM后可以反向传播,作者对EFDM的公式进行了修改:
\[\large EFDM(x,y):o_{\tau_i}=x_{\tau_i}+y_{k_i}-\langle x_{\tau_i}\rangle \]其中\(\langle \cdot \rangle\)表示梯度停止操作。这篇论文中提出的EFDM可以在神经网络中仅仅通过几行代码来即插即用,其Pytorch形式的伪代码可以表示为:
在AST中使用EFDM
这一部分使用了一个简单的编码解码结构,作者将一个经过预训练的VGG-19的前几层进行固定后作为编码器\(f\)。对于输入的内容图片(content image) \(X\) 和风格图片(style image) \(Y\) ,首先使用 \(f\) 来将它们映射到特征空间,然后使用EFDM获得经过风格转换后的特征\(S\):
\[S = EFDM(f(X),f(Y)) \]然后使用一个经过随机初试化的解码器 \(g\) 来将 \(S\) 映射回归图像空间,获得经过风格变换的图片\(g(S)\)。
在论文中,作者将内容损失\(\mathcal{L}_c\)和风格损失\(\mathcal{L}_s\)进行组合后来对网络进行训练:
\[\mathcal{L} = \mathcal{L}_c + \omega \mathcal{L}_s \]其中 \(\omega\) 是一个权衡两个损失的超参数。具体地,内容损失函数通过风格变换图像的特征\(f(g(S))\)和经过风格转换后的特征\(S\)之间的欧氏距离来计算:
\[\mathcal{L}_c = \|f(g(S))-S\|_2. \]风格损失通常用来衡量变换风格后的图像\(g(S)\)与\(Y\)之间的分布散度,本文使用了一种将转换风格图片的特征\(\phi_i(g(S))\)和它的风格转换特征\(EFDM(\phi_i(g(S)),\phi_i(Y))\)的欧氏距离进行求和:
\[\mathcal{L}_s = \sum^L_{i=1}\|\phi_i(g(S))-EFDM(\phi_i(g(S)),\phi_i(Y))\|_2. \]其中作者将 \(\{\phi\}^L_{i = 1}\) 实例化为VGG-19中的relu1_1,relu2_1,relu3_1和relu4_1层。
在DG中使用EFDM
由于不同域的数据在特征分布上存在较大差异,在面对一些需要跨域的场景时,模型的泛化能力往往是一个不得不考虑的问题。通过使用EFDM,特征中的高阶信息可以很好地进行匹配,因此作者在这篇论文中使用EFDM设计了一种适用于邻域泛化的跨分布特征增强方法。为了生成更多不同风格混合的增强特征,作者将EFDM延伸为对排序后的特征进行差值,得到了精确地特征分布混合(Exact Feature Distribution Mixing (EFDMix)):
\[EFDMix(x,y):o_{\tau_i}=x_{\tau_i}+(1-\lambda)y_{k_i}-(1-\lambda) \langle x_{\tau_i} \rangle. \]其中\(\lambda\)不同样本的混合权重,论文中从Beta分布:\(\lambda \sim Beta(\alpha,\alpha)\)中对\(\lambda\)进行采样, \(\alpha \in (0,\infty)\)。
实验
如下图所示是EFDM同其他方法在风格迁移上的效果对比,可以发现,在使用了EFDM后,图像在经过风格变换后保留了原图更多的结构和细节信息。相反,其他的方法可能会引入许多视觉伪影和图像失真。
下图显示在了特征分布混合EFDMix中改变 \(\lambda\) 时图像风格的变化。
下面是图像在多个不同风格之间进行插值的一个可视化,可以发现,通过这种方式可以得到图像很多新的风格。
在下面的表格中,作者在领域泛化的两种不同的实验设置中同其他方法进行了对比,其中leave-one-domain-out setting 使用多个源域的数据训练网络,然后在一个未知的领域上进行测试,single-source setting 仅仅使用一个源域的数据训练网络,然后在多个未知的领域身上进行测试。从表中可以看出在这两种实验设置下,论文中提出的方法都达到了较好的分类效果。
在行人重识别的两个数据集MarKet1501和GRID上的测试同样达到了较好的效果。
更多关于EFDM的细节,请参考原论文。
CSDN地址:[https://blog.csdn.net/qq_38313674/article/details/125900623]
标签:tau,Style,特征,Transfer,Feature,风格,使用,EFDM,Exact 来源: https://www.cnblogs.com/LiuWenChaoNotebook/p/16499641.html