admin管理员组

文章数量:1650768


论文:Exact Feature Distribution Matching for Arbitrary Style Transfer and Domain Generalization

论文地址: Exact Feature Distribution Matching for Arbitrary Style Transfer and Domain Generalization

代码地址: https://github/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 x x y y y分别为输入的特征和要匹配的目标特征(风格特征), o o o为匹配的输出特征。

在AdaIn方法中直接使用均值和方差来对特征进行匹配:

o = x − μ ( x ) σ ( x ) σ ( y ) + μ ( y ) \Large o = \frac{x-\mu(x)}{\sigma(x)}\sigma(y)+\mu(y) o=σ(x)xμ(x)σ(y)+μ(y)

其中 μ ( ⋅ ) \mu(\cdot) μ() σ ( ⋅ ) \sigma(\cdot) σ() 分别代表特征的均值和标准差,通过AdaIN后输出特征 o o o中包含了 x x x的内容信息,以及蕴含在 y y y的均值和方差中风格和领域信息。

Histogram matching (HM)

简单来说,HM的做法就是将 x x x与目标特征 y y y的eCDF进行匹配,然后y中相匹配的值作为输出。具体地,首先计算 x x x y y y的经验累积函数eCDFs:

F ^ X ( x ) = 1 n ∑ i = 1 n 1 x i ≤ x , F ^ Y ( y ) = 1 m ∑ i = 1 m 1 y i ≤ y , \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}, F^X(x)=n1i=1n1xix,F^Y(y)=m1i=1m1yiy,

其中 1 A \mathbf{1}_A 1A 是一个示性函数,当 A A A事件满足的时候为1,否则为0。

然后对于 x x x 中的每一个元素 x i x_i xi ,找到满足 F ^ X ( x i ) = F ^ Y ( y i ) \hat{F}_X(x_i)=\hat{F}_Y(y_i) F^X(xi)=F^Y(yi) y i y_i yi 来作为单个元素的一个映射: H ( x i ) = y i H(x_i) = y_i H(xi)=yi

Exact HistogramMatching (EHM)

首先,使用快速排序算法分别对 x x x y y y 进行排序:

其中 { x τ i } i = 1 n \{ x_{\tau_i}\}^n_{i=1} {xτi}i=1n { y k i } i = 1 n \{ y_{k_i}\}^n_{i=1} {yki}i=1n 是分别对 x x x y y y 按照值进行升序排列后的结果。

然后,直接将进行排序后与 x τ i x_{\tau_i} xτi 相对应的 y k i y_{k_i} yki 作为新的输出:

o τ i = y k i \Large o_{\tau_i} =y_{k_i} oτi=yki

相比于HM,EHM通过排序找到 x x x y y y相对应的像素值并使用了一个像素级别的转换,这可以使输出的特征与目标特征拥有相同的高阶统计信息。

下图是作者使用了一个实例来说明AdaIN,HM 和 EHM在计算和结果上的差别。从图中可以看出,在使用了AdaIN,和HM后, o o o y y y 的高阶统计量没有很好地进行匹配,而高阶的统计量中通常蕴含了样本的风格和领域的信息。相反,由于EHM只是改变 y y y 的顺序后作为输出的特征,因此很好地保存了 y y y 中的各种高阶的信息。

在任意风格迁移(AST)和领域泛化(DG)中使用EFDM

为了使深度模型在使用了EFDM后可以反向传播,作者对EFDM的公式进行了修改:

E F D M ( x , y ) : o τ i = x τ i + y k i − ⟨ x τ i ⟩ \large EFDM(x,y):o_{\tau_i}=x_{\tau_i}+y_{k_i}-\langle x_{\tau_i}\rangle EFDM(x,y):oτi=xτi+ykixτi

其中 ⟨ ⋅ ⟩ \langle \cdot \rangle 表示梯度停止操作。这篇论文中提出的EFDM可以在神经网络中仅仅通过几行代码来即插即用,其Pytorch形式的伪代码可以表示为:

在AST中使用EFDM

这一部分使用了一个简单的编码解码结构,作者将一个经过预训练的VGG-19的前几层进行固定后作为编码器 f f f。对于输入的内容图片(content image) X X X 和风格图片(style image) Y Y Y ,首先使用 f f f 来将它们映射到特征空间,然后使用EFDM获得经过风格转换后的特征 S S S:

S = E F D M ( f ( X ) , f ( Y ) ) S = EFDM(f(X),f(Y)) S=EFDM(f(X),f(Y))

然后使用一个经过随机初试化的解码器 g g g 来将 S S S 映射回归图像空间,获得经过风格变换的图片 g ( S ) g(S) g(S)

在论文中,作者将内容损失 L c \mathcal{L}_c Lc和风格损失 L s \mathcal{L}_s Ls进行组合后来对网络进行训练:

L = L c + ω L s \mathcal{L} = \mathcal{L}_c + \omega \mathcal{L}_s L=Lc+ωLs

其中 ω \omega ω 是一个权衡两个损失的超参数。具体地,内容损失函数通过风格变换图像的特征 f ( g ( S ) ) f(g(S)) f(g(S))和经过风格转换后的特征 S S S之间的欧氏距离来计算:

L c = ∥ f ( g ( S ) ) − S ∥ 2 . \mathcal{L}_c = \|f(g(S))-S\|_2. Lc=f(g(S))S2.

风格损失通常用来衡量变换风格后的图像 g ( S ) g(S) g(S) Y Y Y之间的分布散度,本文使用了一种将转换风格图片的特征 ϕ i ( g ( S ) ) \phi_i(g(S)) ϕi(g(S))和它的风格转换特征 E F D M ( ϕ i ( g ( S ) ) , ϕ i ( Y ) ) EFDM(\phi_i(g(S)),\phi_i(Y)) EFDM(ϕi(g(S)),ϕi(Y))的欧氏距离进行求和:

L s = ∑ i = 1 L ∥ ϕ i ( g ( S ) ) − E F D M ( ϕ i ( g ( S ) ) , ϕ i ( Y ) ) ∥ 2 . \mathcal{L}_s = \sum^L_{i=1}\|\phi_i(g(S))-EFDM(\phi_i(g(S)),\phi_i(Y))\|_2. Ls=i=1Lϕi(g(S))EFDM(ϕi(g(S)),ϕi(Y))2.

其中作者将 { ϕ } i = 1 L \{\phi\}^L_{i = 1} {ϕ}i=1L 实例化为VGG-19中的relu1_1,relu2_1,relu3_1和relu4_1层。

在DG中使用EFDM

由于不同域的数据在特征分布上存在较大差异,在面对一些需要跨域的场景时,模型的泛化能力往往是一个不得不考虑的问题。通过使用EFDM,特征中的高阶信息可以很好地进行匹配,因此作者在这篇论文中使用EFDM设计了一种适用于邻域泛化的跨分布特征增强方法。为了生成更多不同风格混合的增强特征,作者将EFDM延伸为对排序后的特征进行差值,得到了精确地特征分布混合(Exact Feature Distribution Mixing (EFDMix)):

E F D M i x ( x , y ) : o τ i = x τ i + ( 1 − λ ) y k i − ( 1 − λ ) ⟨ x τ i ⟩ . EFDMix(x,y):o_{\tau_i}=x_{\tau_i}+(1-\lambda)y_{k_i}-(1-\lambda) \langle x_{\tau_i} \rangle. EFDMix(x,y):oτi=xτi+(1λ)yki(1λ)xτi.

其中 λ \lambda λ不同样本的混合权重,论文中从Beta分布: λ ∼ B e t a ( α , α ) \lambda \sim Beta(\alpha,\alpha) λBeta(α,α)中对 λ \lambda λ进行采样, α ∈ ( 0 , ∞ ) \alpha \in (0,\infty) α(0,)

实验

如下图所示是EFDM同其他方法在风格迁移上的效果对比,可以发现,在使用了EFDM后,图像在经过风格变换后保留了原图更多的结构和细节信息。相反,其他的方法可能会引入许多视觉伪影和图像失真。

下图显示在了特征分布混合EFDMix中改变 λ \lambda λ 时图像风格的变化。

下面是图像在多个不同风格之间进行插值的一个可视化,可以发现,通过这种方式可以得到图像很多新的风格。

在下面的表格中,作者在领域泛化的两种不同的实验设置中同其他方法进行了对比,其中leave-one-domain-out setting 使用多个源域的数据训练网络,然后在一个未知的领域上进行测试,single-source setting 仅仅使用一个源域的数据训练网络,然后在多个未知的领域身上进行测试。从表中可以看出在这两种实验设置下,论文中提出的方法都达到了较好的分类效果。

在行人重识别的两个数据集MarKet1501和GRID上的测试同样达到了较好的效果。

更多关于EFDM的细节,请参考原论文。

本文标签: 论文featureDistributionmatchingExact