zoukankan      html  css  js  c++  java
  • SymGAN—Exploiting Images for Video Recognition: Heterogeneous Feature Augmentation via Symmetric Adversarial Learning学习笔记

    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^i_s|^{n_s}_{i=1}})表示拥有(n_s)张图像样本的源域,(x^i_sin mathbb{R}^{d_s imes1})表示第i张图像的特征向量。(Y_S={y^i_t|^{n_s}_{i=1}})表示(X_S)的类别标签,其中(y^i_tin {1,2,...,C})(x^i_s)的标签,C表示类别的数量。


    对于目标域的每一个视频样本,作者将其分为相同大小的若干片段,(X_T={x^i_t|^{n_t}_{i=1}})表示具有(n_t)个未标注的视频片段,其中(x^i_tin mathbb{R^{d_t imes 1}})表示第i个视频片段的特征向量。在异构域适应中,(d_s eq d_t)


    要学习(X_S)(X_T)之间的双向变换,即(G_T:x_s ightarrow x_t)以及(G_S:x_t ightarrow x_s)


    源域样本增强后的特征(hat{x}_s)表示为(hat{x}_s=[x_s;G_T(x_s)]in mathbb{R}^{(d_s+d_t) imes 1})

    目标域样本增强后的特征表示为(hat{x}_t=[G_S(x_t);x_t]in mathbb{R}^{(d_s+d_t) imes 1})


    视频帧由若干张图片组成,所以针对每张视频片段,作者随机选择一个帧,所有选择到的帧组成了未标注的视频帧样本,表示为(X_F={x^i_f|^{n_t}_{i=1}}),其中(x^i_fin mathbb{R}^{d_s imes 1})表示来自第i个视频的帧的特征向量。于是,从视频到图像的变换为(G_s:x_t ightarrow x_f),图像到视频的变换为(G_T:x_f ightarrow x_t)

    Proposed Architecture

    方法主要由三部分组成:特征提取器、对称GANs以及分类器。

    Feature Extractor

    图像和视频片段由不同的特征表示。我们提取C3D特征,通过捕捉时空信息来描述视频剪辑。考虑到源域图像和目标域视频帧之间的域间差异,我们采用最先进的深度域自适应方法(即JAN模型)来学习对源图像和视频帧都不变的共同CNN特征,使用(X_S)(X_F)作为训练数据。在本文的其余部分中,这种学习到的域不变特征被称为图像帧特征。因此,(x_s)(x_f)都由图像帧特征表示。与视频特征相比,图像帧特征倾向于突出静态信息,例如人体姿势和外观。因此,将互补的图像帧特征和视频特征结合起来用于视频识别将是有益的。

    image-20201117102628548

    Symmetric GANs:

    传统的GAN由两个相互竞争的网络组成:一个生成器G和一个鉴别器D。G和D在一个two-player minmax game中相互竞争。生成器G试图产生尽可能真实的样本,以混淆鉴别器D,而鉴别器D旨在尽可能正确地区分生成的样本和真实的样本。即G和D可以通过求解下式联合训练:

    [minlimits_{G}maxlimits_{D}mathbb{E}_x[log(D(x)]+mathbb{E}_z[log(1-D(G(z)))](1) ]

    其中(D(x))表示样本x来自真实数据分布的概率。

    本文建立了两个对称结构的GANs来学习图像帧特征空间视频特征空间之间的双向变换。让(G_T)表示从图像帧特征到视频特征的变换,与分类器(D_T)相关联。给定成对的训练数据(X_F)(X_T),为了训练(G_T)(D_T),损失函数公式为:

    [mathcal{L}_{GAN}(G_T,D_T,X_F,X_T)=mathbb{E}_{x_tsim P_T(x_t)}[log(D_T(x_t))]+mathbb{E}_{x_fsim P_F(x_f)}[log(1-D_T(G_T(x_f)))](2) ]

    (G_T)试图生成类似于真实视频特征(X_T)的视频特征(G_T (X_F)),而(D_T)试图区分(G_T(X_F))(X_T)。换句话说,(G_T)旨在最大限度地减少损失(mathcal{L}_{GAN}),而(D_T)旨在最大限度地增大损失(mathcal{L}_{GAN})

    [minlimits_{G_T}maxlimits_{D_T}mathcal{L}_{GAN}(G_T,D_T,X_F,X_T)(3) ]

    类似地,从视频特征到图像帧特征的变换函数(G_S)及其相关分类器(D_S)由以下损失共同训练:

    [mathcal{L}_{GAN}(G_S,D_S,X_T,X_F)=mathbb{E}_{x_fsim P_F(x_f)}[log(D_S(x_f))]+mathbb{E}_{x_tsim P_T(x_t)}[log(1-D_F(G_S(x_t)))](4) ]

    而且优化目标为:

    [minlimits_{G_S}maxlimits_{D_S}mathcal{L}_{GAN}(G_S,D_S,X_T,X_F)(6) ]

    在实验中,作者将负对数似然目标替换最小平方损失,其在训练期间表现更稳定并产生更好的结果:

    [mathcal{L}_{GAN}(G_T,D_T,X_F,X_T)=mathbb{E}_{x_tsim P_T(x_t)}[D_T(x_t)^2]+mathbb{E}_{x_fsim P_F(x_f)}[(1-D_T(G_T(x_f)))^2](6) ]

    [mathcal{L}_{GAN}(G_S,D_S,X_T,X_F)=mathbb{E}_{x_fsim P_F(x_f)}[D_S(x_f)^2]+mathbb{E}_{x_tsim P_T(x_t)}[(1-D_F(G_S(x_t)))^2](7) ]

    除了上述生成性对抗损失,我们还引入了CORAL损失,在二阶统计中最小化生成特征和真实特征之间的差异。让(T=[x^1_t,x^2_t,...,x^{n_t}_t]in mathbb{R}^{d_t imes n_t})表示视频帧矩阵,(F=[x^1_f,x^2_f,...,x^{n_t}_f]in mathbb{R}^{d_s imes n_t})表示视频帧地图像帧特征矩阵。经过(G_T)后,从视频帧合成的视频特征矩阵为(T_f=[G_T(x^1_f,G_T(x^2_f),...,G_T(x^{n_t}_{f})]in mathbb{R}^{d_t imes n_t}).经过(G_S)后,从视频中生成的图像帧特征矩阵为(F_t=[G_S(x^1_t),G_S(x^2_t),...,G_S(x^{n_t}_t)]in mathbb{R}^{d_s imes n_t}).

    对于(G_T),CORAL损失为:

    [mathcal{L}_{CORAL}(X_T,G_T(X_F))=frac{1}{4d^2_t}||C_T-C_{T_f}||^2_F ]

    其中(||·||^2_F)表示平方矩阵Frobenius范数,测量(X_T)(G_T(X_F))的二阶统计量(协方差)之间的距离.(C_T)(C_{T_f})分别是(T)(T_f)的特征协方差矩阵,计算方法是:

    [C_T=frac{1}{n_t-1}(T^TT-frac{1}{n_t}(1^TT)^T(1^TT))(9) ]

    [C_{T_f}=frac{1}{n_t-1}(T^T_fT_f-frac{1}{n_t}(1^TT_f)^T(1^TT_f))(10) ]

    对于(G_S),CORAL损失与之前的相似:

    [mathcal{L}_{CORAL}(X_F,G_S(X_T))=frac{1}{4d^2_t}||C_F-C_{F_t}||^2_F(11) ]

    [C_F=frac{1}{n_t-1}(F^TF-frac{1}{n_t}(1^TF)^T(1^TF))(12) ]

    [C_{F_t}=frac{1}{n_t-1}(F^T_tF_t-frac{1}{n_t}(1^TF_t)^T(1^TF_t))(13) ]

    image-20201117102656615

    Classifier

    利用学习到的变换(G_T)可以用源图像(x_s)在视频空间中的特征(G_T(x_s))来增强源图像(x_s)的原始图像帧特征。同样,目标域(x_t)中的原始视频特征也可以用其在图像帧空间中的特征(G_S(x_t))来增强。

    为了进一步提高增强特征的分辨能力,将视频特征(G_T(x_s))和图像帧特征(G_S(x_t))分别转换回图像帧空间和视频空间,生成新的特征(G_S(G_T(x_s)))(G_T(G_S(x_t)))生成的特征(G_S(G_T(x_s)))(G_T(G_S(x_t)))分别比它们对应的原始特征(x_s)(x_t)更具区分性,因为(G_S)(G_T)是用已标注源域样本的监督信息与分类器联合学习的。

    实际上,源域中的增强特征由(hat{x}_s =[G_S(G_T(x_s));G_T(x_s))表示;目标域中的增强特征用(hat{x}_t=[G_S(x_t);G_T(x_t))表示。这些增强的特征对于不同的领域是不变的,在这些领域上,用源图像训练的分类器可以很好地适应目标视频。此外,通过捕捉静态外观和动态运动信息,这种混合表示将显著有利于提高识别性能。因此,分类器的输入是增强特征,输出是类别标签的概率分布。构建一个具有全连接层的网络来构建分类器,用f表示。给定已标注的增强源域数据(hat{X}_S={hat{x}^i_s|^{n_s}_{i=1}})及其相应的类标签(Y_S={y^i_s|^{n_s}_{i=1}}),我们使用交叉熵损失来训练f,定义为:

    [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) ]

    其中(f(hat{x}_s)_{y_s})表示输入(hat{x}_s)被分类器分类到类别(y_s)的概率。

    image-20201117102716705

    Learning

    到目前为止已经描述了一种深度域自适应方法,它结合了对抗目标CORAL约束交叉熵损失来学习异构域之间的域变体特征表示,具有优异的可迁移、描述和区分能力。综上所述,上述所有损失函数构成了完整的目标:

    image-20201117102119040

    其中最后三项为正则化项,防止过拟合:

    image-20201117102220312

    最终目标为:

    image-20201117102315292

    Prediction

    在如图所示的测试阶段,输入视频首先被分成几个视频片段,每个片段的特征由C3D模型提取。然后,通过(G_S)将每个视频片段特征变换到图像帧特征空间,以生成图像帧特征(G_S(x_t))。接下来,通过(G_T)(G_S(x_t))变换回视频特征空间,以产生新的区别性视频片段特征(G_T (G_S(x_t)))。因此,每个视频片段的增强特征由([G_S(G_T(x_s));G_T(x_s))。接下来,对所有视频片段的增强特征进行平均,以生成整个视频的最终增强特征。最后,将增强后的视频特征输入分类器网络预测动作类标签。

    image-20201117102735414

    algorithm

    image-20201117102803248

  • 相关阅读:
    find 以及linux 和windows 文件互传
    27 关于Object类 -- equals()
    26 super关键字
    25 访问修饰符限定词
    24 继承 子类中方法重写
    23 static 关键字
    22 包(package)来解决不同包下同名文件的冲突问题
    21 封装(get,set方法)
    20 带参构造方法(this关键字)
    19 无参构造方法
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/13992954.html
Copyright © 2011-2022 走看看