Exploiting Images for Video Recognition Heterogeneous Feature Augmentation via Symmetric Adversarial
SymGAN—Exploiting Images for Video Recognition: Heterogeneous Feature Augmentation via Symmetric Adversarial Learning学习笔记
abstract
本文提出了一种新颖的对称对抗学习方法,通过学习源域图像样本和目标域视频样本的域不变性特征来增强深度图像和视频的特征。主要针对训练阶段中已标注的源域图像以及未标注的目标域视频的无监督场景,作者提出了一种数据驱动的方法来分别
学习图像和视频的增强特征,具有更好的可变换性和可区分性。从学习图像和视频帧之间的公共特征空间(称为图像帧特征空间)开始,作者构建了新的对称生成对抗网络(Sym-GANs),其中一个GAN将图像帧特征变换到视频特征,另一个将视频特征变换到图像帧特征。使用Sym-GANs,源域图像特征用生成的视频特定表示来捕捉运动动态,而目标视频特征用图像特定表示以获取静态外观信息。最后,来自源域的增强特征被馈送到全连接层的网络中用于分类。
introduce
作者主要关注从图像到视频的异构域自适应,其中视频由时空特征
表示,而时空特征在特征维度
和物理意义
上都与图像特征完全不同。受生成对抗式学习的启发,作者提出了一种新的对称生成对抗式学习方法,通过学习图像和视频之间的域不变特征表示来将知识从图像转移到视频。该方法是在无监督的场景下,所有的源域图像都已标注,而所有的目标域视频都未标注。为了学习源域图像特征和目标域视频特征之间的双向变换
,建立了两个对称结构的生成对抗网络。然后,来自源域的图像特征用由图像到视频变换生成的视频特定特征来增强,来自目标域的视频特征用由视频到图像映射生成的图像特定特征来增强。通过捕捉空间外观和时间运动信息,源域图像或目标域视频的新增强特征可以被视为具有优异的可传递性和可表示性的域不变特征。
由于源域图像和目标域视频之间没有对应关系,因此利用视频帧及其对应的视频来训练Sym-GANs模型。由于源域图像和视频帧之间的数据分布差异,我们采用JAN模型来学习它们之间的一个公共特征空间,称为图像帧特征空间。因此,图像和视频特征之间的双向变换实际上是图像帧和视频特征之间的变换
。因此,增强特征的特定图像部分由图像帧特征表示。
最后,作者设计了一个具有全连接层的分类网络,该网络以增强特征为输入,输出类别标签。并提出了一种联合训练方法来同时学习Sym-GANs模型和分类网络,以增强增强特征的区分能力。三种损失,即对抗损失
、相关对齐损失
(CORAL)和交叉熵损失
,被有效地组合用于训练。对抗损失将生成特征的分布与原始域中的数据分布相匹配。在二阶统计中,CORAL损失最小化了合成特征和原始特征之间的差异。交叉熵损失负责分类。
作者的主要贡献为:
提出了一种新的对称生成对抗学习方法来学习域不变的增强特征,该特征具有很好的可移植性和可区分性,适用于异构的图像-视频自适应。值得强调的是,增强特征保留了静态外观和时间运动信息,具有优越的描述能力,在无监督的情况下无需任何成对的图像-视频训练数据就可以学习。
构建了两个对称结构的生成性对抗网络(Sym-GANs)来学习异构两个域之间的双向变换,并以联合学习的方式制定Sym-GANs和分类网络的训练,以进一步增强增强特征的区分能力。
SYMMETRIC GANS FOR HETEROGENEOUS FEATURE AUGMENTATION
Problem Formulation
解决从图像到视频的异构域自适应的核心思想是学习一种在两个域之间具有卓越可迁移性的共同特征表示。作者分别用原始图像和视频特征的对应互补特征来扩充原始图像和视频特征,以生成域不变特征
。在Sym-GANs中,一个GAN负责图像到视频的映射,另一个负责视频到图像的变换。下面给出了一个正式的问题陈述:
X S = { x s i ∣ i = 1 n s } X_S=\{x^i_s|^{n_s}_{i=1}\} XS={xsi∣i=1ns}表示拥有 n s n_s ns张图像样本的源域, x s i ∈ R d s × 1 x^i_s\in \mathbb{R}^{d_s\times1} xsi∈Rds×1表示第i张图像的特征向量。 Y S = { y t i ∣ i = 1 n s } Y_S=\{y^i_t|^{n_s}_{i=1}\} YS={yti∣i=1ns}表示 X S X_S XS的类别标签,其中 y t i ∈ { 1 , 2 , . . . , C } y^i_t\in \{1,2,...,C\} yti∈{1,2,...,C}是 x s i x^i_s xsi的标签,C表示类别的数量。
对于目标域的每一个视频样本,作者将其分为相同大小的若干片段, X T = { x t i ∣ i = 1 n t } X_T=\{x^i_t|^{n_t}_{i=1}\} XT={xti∣i=1nt}表示具有 n t n_t nt个未标注的视频片段,其中 x t i ∈ R d t × 1 x^i_t\in \mathbb{R^{d_t\times 1}} xti∈Rdt×1表示第i个视频片段的特征向量。在异构域适应中, d s ≠ d t d_s\neq d_t ds=dt。
要学习 X S X_S XS与 X T X_T XT之间的双向变换,即 G T : x s → x t G_T:x_s\rightarrow x_t GT:xs→xt以及 G S : x t → x s G_S:x_t\rightarrow x_s GS:xt→xs。
源域样本增强后的特征 x ^ s \hat{x}_s x^s表示为 x ^ s = [ x s ; G T ( x s ) ] ∈ R ( d s + d t ) × 1 \hat{x}_s=[x_s;G_T(x_s)]\in \mathbb{R}^{(d_s+d_t)\times 1} x^s=[xs;GT(xs)]∈R(ds+dt)×1
目标域样本增强后的特征表示为 x ^ t = [ G S ( x t ) ; x t ] ∈ R ( d s + d t ) × 1 \hat{x}_t=[G_S(x_t);x_t]\in \mathbb{R}^{(d_s+d_t)\times 1} x^t=[GS(xt);xt]∈R(ds+dt)×1
视频帧由若干张图片组成,所以针对每张视频片段,作者随机选择一个帧,所有选择到的帧组成了未标注的视频帧样本,表示为 X F = { x f i ∣ i = 1 n t } X_F=\{x^i_f|^{n_t}_{i=1}\} XF={xfi∣i=1nt},其中 x f i ∈ R d s × 1 x^i_f\in \mathbb{R}^{d_s\times 1} xfi∈Rds×1表示来自第i个视频的帧的特征向量。于是,从视频到图像的变换为 G s : x t → x f G_s:x_t\rightarrow x_f Gs:xt→xf,图像到视频的变换为 G T : x f → x t G_T:x_f\rightarrow x_t GT:xf→xt。
Proposed Architecture
方法主要由三部分组成:特征提取器、对称GANs以及分类器。
Feature Extractor
图像和视频片段由不同的特征表示。我们提取C3D特征,通过捕捉时空信息来描述视频剪辑。考虑到源域图像和目标域视频帧之间的域间差异,我们采用最先进的深度域自适应方法(即JAN模型)来学习对源图像和视频帧都不变的共同CNN特征,使用
X
S
X_S
XS和
X
F
X_F
XF作为训练数据。在本文的其余部分中,这种学习到的域不变特征被称为图像帧特征
。因此,
x
s
x_s
xs和
x
f
x_f
xf都由图像帧特征表示。与视频特征相比,图像帧特征倾向于突出静态信息
,例如人体姿势和外观。因此,将互补的图像帧特征和视频特征结合起来用于视频识别将是有益的。
Symmetric GANs:
传统的GAN由两个相互竞争的网络组成:一个生成器G和一个鉴别器D。G和D在一个two-player minmax game中相互竞争。生成器G试图产生尽可能真实的样本,以混淆鉴别器D,而鉴别器D旨在尽可能正确地区分生成的样本和真实的样本。即G和D可以通过求解下式联合训练:
min G max D E x [ l o g ( D ( x ) ] + E z [ l o g ( 1 − D ( G ( z ) ) ) ] ( 1 ) \min\limits_{G}\max\limits_{D}\mathbb{E}_x[log(D(x)]+\mathbb{E}_z[log(1-D(G(z)))](1) GminDmaxEx[log(D(x)]+Ez[log(1−D(G(z)))](1)
其中 D ( x ) D(x) D(x)表示样本x来自真实数据分布的概率。
本文建立了两个对称结构的GANs来学习图像帧特征空间和视频特征空间之间的双向变换。让 G T G_T GT表示从图像帧特征到视频特征的变换,与分类器 D T D_T DT相关联。给定成对的训练数据 X F X_F XF和 X T X_T XT,为了训练 G T G_T GT和 D T D_T DT,损失函数公式为:
L G A N ( G T , D T , X F , X T ) = E x t ∼ P T ( x t ) [ l o g ( D T ( x t ) ) ] + E x f ∼ P F ( x f ) [ l o g ( 1 − D T ( G T ( x f ) ) ) ] ( 2 ) \mathcal{L}_{GAN}(G_T,D_T,X_F,X_T)=\mathbb{E}_{x_t\sim P_T(x_t)}[log(D_T(x_t))]+\mathbb{E}_{x_f\sim P_F(x_f)}[log(1-D_T(G_T(x_f)))](2) LGAN(GT,DT,XF,XT)=Ext∼PT(xt)[log(DT(xt))]+Exf∼PF(xf)[log(1−DT(GT(xf)))](2)
G T G_T GT试图生成类似于真实视频特征 X T X_T XT的视频特征 G T ( X F ) G_T (X_F) GT(XF),而 D T D_T DT试图区分 G T ( X F ) G_T(X_F) GT(XF)和 X T X_T XT。换句话说, G T G_T GT旨在最大限度地减少损失 L G A N \mathcal{L}_{GAN} LGAN,而 D T D_T DT旨在最大限度地增大损失 L G A N \mathcal{L}_{GAN} LGAN:
min G T max D T L G A N ( G T , D T , X F , X T ) ( 3 ) \min\limits_{G_T}\max\limits_{D_T}\mathcal{L}_{GAN}(G_T,D_T,X_F,X_T)(3) GTminDTmaxLGAN(GT,DT,XF,XT)(3)
类似地,从视频特征到图像帧特征的变换函数 G S G_S GS及其相关分类器 D S D_S DS由以下损失共同训练:
L G A N ( G S , D S , X T , X F ) = E x f ∼ P F ( x f ) [ l o g ( D S ( x f ) ) ] + E x t ∼ P T ( x t ) [ l o g ( 1 − D F ( G S ( x t ) ) ) ] ( 4 ) \mathcal{L}_{GAN}(G_S,D_S,X_T,X_F)=\mathbb{E}_{x_f\sim P_F(x_f)}[log(D_S(x_f))]+\mathbb{E}_{x_t\sim P_T(x_t)}[log(1-D_F(G_S(x_t)))](4) LGAN(GS,DS,XT,XF)=Exf∼PF(xf)[log(DS(xf))]+Ext∼PT(xt)[log(1−DF(GS(xt)))](4)
而且优化目标为:
min G S max D S L G A N ( G S , D S , X T , X F ) ( 6 ) \min\limits_{G_S}\max\limits_{D_S}\mathcal{L}_{GAN}(G_S,D_S,X_T,X_F)(6) GSminDSmaxLGAN(GS,DS,XT,XF)(6)
在实验中,作者将负对数似然目标替换最小平方损失,其在训练期间表现更稳定并产生更好的结果:
L G A N ( G T , D T , X F , X T ) = E x t ∼ P T ( x t ) [ D T ( x t ) 2 ] + E x f ∼ P F ( x f ) [ ( 1 − D T ( G T ( x f ) ) ) 2 ] ( 6 ) \mathcal{L}_{GAN}(G_T,D_T,X_F,X_T)=\mathbb{E}_{x_t\sim P_T(x_t)}[D_T(x_t)^2]+\mathbb{E}_{x_f\sim P_F(x_f)}[(1-D_T(G_T(x_f)))^2](6) LGAN(GT,DT,XF,XT)=Ext∼PT(xt)[DT(xt)2]+Exf∼PF(xf)[(1−DT(GT(xf)))2](6)
L G A N ( G S , D S , X T , X F ) = E x f ∼ P F ( x f ) [ D S ( x f ) 2 ] + E x t ∼ P T ( x t ) [ ( 1 − D F ( G S ( x t ) ) ) 2 ] ( 7 ) \mathcal{L}_{GAN}(G_S,D_S,X_T,X_F)=\mathbb{E}_{x_f\sim P_F(x_f)}[D_S(x_f)^2]+\mathbb{E}_{x_t\sim P_T(x_t)}[(1-D_F(G_S(x_t)))^2](7) LGAN(GS,DS,XT,XF)=Exf∼PF(xf)[DS(xf)2]+Ext∼PT(xt)[(1−DF(GS(xt)))2](7)
除了上述生成性对抗损失,我们还引入了CORAL损失,在二阶统计中最小化生成特征和真实特征之间的差异。让 T = [ x t 1 , x t 2 , . . . , x t n t ] ∈ R d t × n t T=[x^1_t,x^2_t,...,x^{n_t}_t]\in \mathbb{R}^{d_t\times n_t} T=[xt1,xt2,...,xtnt]∈Rdt×nt表示视频帧矩阵, F = [ x f 1 , x f 2 , . . . , x f n t ] ∈ R d s × n t F=[x^1_f,x^2_f,...,x^{n_t}_f]\in \mathbb{R}^{d_s\times n_t} F=[xf1,xf2,...,xfnt]∈Rds×nt表示视频帧地图像帧特征矩阵。经过 G T G_T GT后,从视频帧合成的视频特征矩阵为 T f = [ G T ( x f 1 , G T ( x f 2 ) , . . . , G T ( x f n t ) ] ∈ R d t × n t T_f=[G_T(x^1_f,G_T(x^2_f),...,G_T(x^{n_t}_{f})]\in \mathbb{R}^{d_t\times n_t} Tf=[GT(xf1,GT(xf2),...,GT(xfnt)]∈Rdt×nt.经过 G S G_S GS后,从视频中生成的图像帧特征矩阵为 F t = [ G S ( x t 1 ) , G S ( x t 2 ) , . . . , G S ( x t n t ) ] ∈ R d s × n t F_t=[G_S(x^1_t),G_S(x^2_t),...,G_S(x^{n_t}_t)]\in \mathbb{R}^{d_s\times n_t} Ft=[GS(xt1),GS(xt2),...,GS(xtnt)]∈Rds×nt.
对于 G T G_T GT,CORAL损失为:
L C O R A L ( X T , G T ( X F ) ) = 1 4 d t 2 ∣ ∣ C T − C T f ∣ ∣ F 2 \mathcal{L}_{CORAL}(X_T,G_T(X_F))=\frac{1}{4d^2_t}||C_T-C_{T_f}||^2_F LCORAL(XT,GT(XF))=4dt21∣∣CT−CTf∣∣F2
其中 ∣ ∣ ⋅ ∣ ∣ F 2 ||·||^2_F ∣∣⋅∣∣F2表示平方矩阵Frobenius范数,测量 X T X_T XT和 G T ( X F ) G_T(X_F) GT(XF)的二阶统计量(协方差)之间的距离. C T C_T CT和 C T f C_{T_f} CTf分别是 T T T和 T f T_f Tf的特征协方差矩阵,计算方法是:
C T = 1 n t − 1 ( T T T − 1 n t ( 1 T T ) T ( 1 T T ) ) ( 9 ) C_T=\frac{1}{n_t-1}(T^TT-\frac{1}{n_t}(1^TT)^T(1^TT))(9) CT=nt−11(TTT−nt1(1TT)T(1TT))(9)
C T f = 1 n t − 1 ( T f T T f − 1 n t ( 1 T T f ) T ( 1 T T f ) ) ( 10 ) C_{T_f}=\frac{1}{n_t-1}(T^T_fT_f-\frac{1}{n_t}(1^TT_f)^T(1^TT_f))(10) CTf=nt−11(TfTTf−nt1(1TTf)T(1TTf))(10)
对于 G S G_S GS,CORAL损失与之前的相似:
L C O R A L ( X F , G S ( X T ) ) = 1 4 d t 2 ∣ ∣ C F − C F t ∣ ∣ F 2 ( 11 ) \mathcal{L}_{CORAL}(X_F,G_S(X_T))=\frac{1}{4d^2_t}||C_F-C_{F_t}||^2_F(11) LCORAL(XF,GS(XT))=4dt21∣∣CF−CFt∣∣F2(11)
C F = 1 n t − 1 ( F T F − 1 n t ( 1 T F ) T ( 1 T F ) ) ( 12 ) C_F=\frac{1}{n_t-1}(F^TF-\frac{1}{n_t}(1^TF)^T(1^TF))(12) CF=nt−11(FTF−nt1(1TF)T(1TF))(12)
C F t = 1 n t − 1 ( F t T F t − 1 n t ( 1 T F t ) T ( 1 T F t ) ) ( 13 ) C_{F_t}=\frac{1}{n_t-1}(F^T_tF_t-\frac{1}{n_t}(1^TF_t)^T(1^TF_t))(13) CFt=nt−11(FtTFt−nt1(1TFt)T(1TFt))(13)
Classifier
利用学习到的变换 G T G_T GT,可以用源图像 x s x_s xs在视频空间中的特征 G T ( x s ) G_T(x_s) GT(xs)来增强源图像 x s x_s xs的原始图像帧特征。同样,目标域 x t x_t xt中的原始视频特征也可以用其在图像帧空间中的特征 G S ( x t ) G_S(x_t) GS(xt)来增强。
为了进一步提高增强特征的分辨能力,**将视频特征 G T ( x s ) G_T(x_s) GT(xs)和图像帧特征 G S ( x t ) G_S(x_t) GS(xt)分别转换回图像帧空间和视频空间,生成新的特征 G S ( G T ( x s ) ) G_S(G_T(x_s)) GS(GT(xs))和 G T ( G S ( x t ) ) G_T(G_S(x_t)) GT(GS(xt))。**生成的特征 G S ( G T ( x s ) ) G_S(G_T(x_s)) GS(GT(xs))和 G T ( G S ( x t ) ) G_T(G_S(x_t)) GT(GS(xt))分别比它们对应的原始特征 x s x_s xs和 x t x_t xt更具区分性,因为 G S G_S GS和 G T G_T GT是用已标注源域样本的监督信息与分类器联合学习的。
实际上,源域中的增强特征由
x
^
s
=
[
G
S
(
G
T
(
x
s
)
)
;
G
T
(
x
s
)
\hat{x}_s =[G_S(G_T(x_s));G_T(x_s)
x^s=[GS(GT(xs));GT(xs)表示;目标域中的增强特征用
x
^
t
=
[
G
S
(
x
t
)
;
G
T
(
x
t
)
\hat{x}_t=[G_S(x_t);G_T(x_t)
x^t=[GS(xt);GT(xt)表示。这些增强的特征对于不同的领域是不变的
,在这些领域上,用源图像训练的分类器可以很好地适应目标视频。此外,通过捕捉静态外观和动态运动信息,这种混合表示将显著有利于提高识别性能。因此,分类器的输入是增强特征,输出是类别标签的概率分布
。构建一个具有全连接层的网络来构建分类器,用f表示。给定已标注的增强源域数据
X
^
S
=
{
x
^
s
i
∣
i
=
1
n
s
}
\hat{X}_S=\{\hat{x}^i_s|^{n_s}_{i=1}\}
X^S={x^si∣i=1ns}及其相应的类标签
Y
S
=
{
y
s
i
∣
i
=
1
n
s
}
Y_S=\{y^i_s|^{n_s}_{i=1}\}
YS={ysi∣i=1ns},我们使用交叉熵损失来训练f,定义为:
L c l a s s ( f , X ^ S , Y S ) = − E ( x ^ s , y s ) ∼ P d a t a ( x ^ s , y s ) l o g ( f ( x ^ s ) y s ) ( 14 ) \mathcal{L}_{class}(f,\hat{X}_S,Y_S)=-\mathbb{E}_{(\hat{x}_s,y_s)\sim P_{data}(\hat{x}_s,y_s)}log(f(\hat{x}_s)_{y_s})(14) Lclass(f,X^S,YS)=−E(x^s,ys)∼Pdata(x^s,ys)log(f(x^s)ys)(14)
其中 f ( x ^ s ) y s f(\hat{x}_s)_{y_s} f(x^s)ys表示输入 x ^ s \hat{x}_s x^s被分类器分类到类别 y s y_s ys的概率。
Learning
到目前为止已经描述了一种深度域自适应方法,它结合了对抗目标、CORAL约束和交叉熵损失来学习异构域之间的域变体特征表示,具有优异的可迁移、描述和区分能力。综上所述,上述所有损失函数构成了完整的目标:
其中最后三项为正则化项,防止过拟合:
最终目标为:
Prediction
在如图所示的测试阶段,输入视频首先被分成几个视频片段,每个片段的特征由C3D模型提取。然后,通过 G S G_S GS将每个视频片段特征变换到图像帧特征空间,以生成图像帧特征 G S ( x t ) G_S(x_t) GS(xt)。接下来,通过 G T G_T GT将 G S ( x t ) G_S(x_t) GS(xt)变换回视频特征空间,以产生新的区别性视频片段特征 G T ( G S ( x t ) ) G_T (G_S(x_t)) GT(GS(xt))。因此,每个视频片段的增强特征由 [ G S ( G T ( x s ) ) ; G T ( x s ) [G_S(G_T(x_s));G_T(x_s) [GS(GT(xs));GT(xs)。接下来,对所有视频片段的增强特征进行平均,以生成整个视频的最终增强特征。最后,将增强后的视频特征输入分类器网络预测动作类标签。