Exploiting Images for Video Recognition with Hierarchical Generative Adversarial Networks学习笔记
Abstract
现有的深度学习方法在进行视频识别的时候需要大量的已标注视频,但是对于一个新任务来说标注视频费时费力。于是,通过已标注的图片来帮助进行视频的识别成为一种新的思路。可是由于域偏移以及域间不同的特征表示,分类器在图片上的表现在迁移到视频的识别后急剧下降。于是本文提出 **Hierarchical Generative Adversarial Networks(HiGAN)**模型来增强视频的识别,将源域的知识转移到目标域。
HiGAN模型中包括一个高级别的条件GAN与一个低级别的条件GAN。通过充分进行两个GAN的对抗学习,作者的方法能够学习到源域与目标域拥有域不变性的特征表示。
1.Introduction
视频识别由于其事件识别、动作检索、人物行为分析等方面的广泛应用而兴起,而且由于深度神经网络的兴起,视频识别的方法性能有了质的提高。但是深度视频分类器的训练需要大量的已标注视频,而视频的标注又是一项费时费力的工作。相比之下,图片的收集与标注对于视频而言更方便快捷,而且还有许多现成的已标注图片数据集可以使用。此外,图片的深度分类器的学习成本比视频的低得多,因此将知识从源域的图片数据集转移到目标的视频数据集是一个高效正确的可行方法。
直接将在源域图片数据集训练完的分类器应用到视频的识别会产生域偏移问题,而为了更好地表示视频,通常会提取具有不同特征维数和物理意义的图像来表示完全不同的时空特征。为了解决这个问题,大量现有工作通过一个对称变换和最小化域差异的距离度量来学习浅层特征。
本文作者基于HiGAN模型提出了一种新方法来学习源域图片数据到目标与视频数据的变换,从而完成知识的迁移。该方法的模型架构包括两部分:一个两级条件GAN与一个域适应模型。其中域适应模型用来学习一个源域与目标域之间公共的特征空间表示:图像帧特征(Image-Frame Feature);两级条件GAN模型包括一个低级条件GAN与一个高级条件GAN,低级条件GAN通过学习一个从视频帧特征到目标域视频样本特征的变换函数来连接视频与视频的对应帧,高级条件GAN则通过学习一个视频帧到图像帧的变换函数来连接源域的图像与目标域的视频。之后任何在源域图片数据集训练后的分类器都可以被高效地迁移到目标域视频的识别任务中。⭐⭐⭐
在HiGAN模型中,作者使用了Correlation Alignment (CORAL) 损失来最小化生成的特征和真实特征之间的二阶统计差异。
值得强调的是,通过利用视频与其相关帧之间的对应关系,可以在无监督场景中在没有任何成对的图像-视频训练样本的情况下 保持视频时间移动的同时 学习视频的特征,而无需从视频中提取关键帧。
作者首先训练一个域适应模型来学习特征 H f H_f Hf,之后使用特征 V V V与特征 F F F来学习低级条件GAN并获得特征 V f V_f Vf。之后,作者使用特征 V f V_f Vf与 H f H_f Hf训练高级条件GAN并获得特征 H v H_v Hv。
Hierarchical Generative Adversarial Networks
model
在给定共享类别的源域已标注图片样本与未标注目标域的视频样本,该方法的目标是学习一个源域与目标域的共享特征空间的表示。由于一个视频是由一系列视频帧组成的,则一个短视频与它其中的任何帧都有关系,这提供了帧特征和视频特征之间的自然相关性。另外,视频帧又是由一系列图片组成的,所以视频帧可以轻易适应到源域。于是作者利用源域的图片样本、目标域的视频样本及其对应帧之间的关系来探索图片到视频的适应。
图像帧特征Image-Frame Feature
使用 D s = { x s i , y s i } i = 1 n s D_s=\{x^i_s,y^i_s\}^{n_s}_{i=1} Ds={xsi,ysi}i=1ns表示具有图片样本数量为 n s n_s ns的源域,使用 D t = { x t j } D_t=\{x^j_t\} Dt={xtj}表示具有视频样本数量为 n t n_t nt的目标域。作者将每个视频分成长度相等的片段,生成一个未标注的视频片段域 D v = { x v k } k = 1 n v D_v=\{x^k_v\}^{n_v}_{k=1} Dv={xvk}k=1nv,其中 n v n_v nv表示未标注视频片段的数量。对于每一个视频片段,一个视频帧是随机选择的,而且所有的视频帧组成一个视频帧域 D f = { x f k } k = 1 n v D_f=\{x^k_f\}^{n_v}_{k=1} Df={xfk}k=1nv。由于 D s D_s Ds与 D f D_f Df都是图片的集合,作者使用JAN模型来学习源域图片样本与目标域视频帧样本之间的共同特征:图像帧特征Image-Frame Feature。在图像帧特征空间中,源域的图片与目标域的视频帧分别表示为 H s = [ h s 1 , h s 2 . . . , h s n s ] ∈ R n s × d h H_s=[h^1_s,h^2_s...,h^{n_s}_s]\in \mathbb{R}^{n_s \times d_h} Hs=[hs1,hs2...,hsns]∈Rns×dh与 H f = [ h f 1 , h f 2 . . . , h f n s ] ∈ R n v × d h H_f=[h^1_f,h^2_f...,h^{n_s}_f]\in \mathbb{R}^{n_v\times d_h} Hf=[hf1,hf2...,hfns]∈Rnv×dh。其中的 d h d_h dh表示特征的维度。
视频帧到视频的变换Frame-to-Video Mapping
对于 D v D_v Dv,作者提取C3D特征来表述目标域视频片段: V = [ v 1 , v 2 , . . . v n v ] ∈ R n v × d v V=[v^1,v^2,...v^{n_v}]\in \mathbb{R}^{n_v\times d_v} V=[v1,v2,...vnv]∈Rnv×dv, d v d_v dv表示特征的维度。对于$ D_f 而 言 , 作 者 使 用 R e s N e t 来 提 取 目 标 域 ∗ ∗ 视 频 帧 的 特 征 ∗ ∗ : 而言,作者使用ResNet来提取目标域**视频帧的特征**: 而言,作者使用ResNet来提取目标域∗∗视频帧的特征∗∗:F=[f1,f2,…,f^{n_v}]\in \mathbb{R}^{n_v\times d_f} , , ,d_f 表 示 特 征 的 维 度 。 视 频 帧 的 特 征 与 视 频 片 段 的 特 征 是 两 个 不 同 的 特 征 空 间 , 即 表示特征的维度。视频帧的特征与视频片段的特征是两个不同的特征空间,即 表示特征的维度。视频帧的特征与视频片段的特征是两个不同的特征空间,即d_v\neq d_f 。 考 虑 到 视 频 帧 与 视 频 片 段 的 关 联 性 , 作 者 收 集 了 数 量 为 。考虑到视频帧与视频片段的关联性,作者收集了数量为 。考虑到视频帧与视频片段的关联性,作者收集了数量为n_v 的 ∗ ∗ 视 频 帧 — 视 频 片 段 的 样 本 对 ∗ ∗ , 表 示 为 的**视频帧—视频片段的样本对**,表示为 的∗∗视频帧—视频片段的样本对∗∗,表示为P={p_k}{n_v}_{k=1}$,其中$p_k=(vk,f^k)$.
作者学习从视频帧到相应视频片段的变换函数,即视频帧的特征 F F F将变换到视频片段特征 V V V: V f = G L ( F , θ G l ) V_f=G_L(F,\theta_{G_l}) Vf=GL(F,θGl),其中的 G L ( ⋅ ; θ G L ) G_L(·;\theta_{G_L}) GL(⋅;θGL)表示变换函数,而 V f = [ v f 1 , v f 2 , . . . , v f n v ] ∈ R n v × d v V_f=[v^1_f,v^2_f,...,v^{n_v}_f]\in \mathbb{R}^{n_v\times d_v} Vf=[vf1,vf2,...,vfnv]∈Rnv×dv表示由F生成的特征。
视频到图像的变换 Video-to-Image Mapping
对于每一个视频帧 x f k x^k_f xfk,它可以被两个不同的特征 v f k ∈ V f v^k_f\in V_f vfk∈Vf与 h f k ∈ H f h^k_f \in H_f hfk∈Hf来表示,于是便拥有一个数量为 n v n_v nv的相异特征对: Q = { q k } k = 1 n v Q=\{q_k\}^{n_v}_{k=1} Q={qk}k=1nv,其中 q k = ( h f k , v f k ) q_k=(h^k_f,v^k_f) qk=(hfk,vfk)。给定一个Q,可以学习到一个从 V f V_f Vf到 H f H_f Hf的变换: H f ′ = G h ( V f ; θ G h ) H'_f=G_h(V_f;\theta_{G_h}) Hf′=Gh(Vf;θGh),这里 G h ( ⋅ ; θ G h ) G_h(·;\theta_{G_h}) Gh(⋅;θGh)表示变换函数, H f ′ H'_f Hf′是由 V f V_f Vf生成的图像帧特征Image-Frame Feature。
之前的 H s H_s Hs与 H f H_f Hf由JAN模型共享一个特征空间, V f V_f Vf与 V V V也来自同一个视频特征空间,所以 G h ( ⋅ ; θ G h ) G_h(·;\theta_{G_h}) Gh(⋅;θGh)可以被认为是从视频到图片的变换函数,而 H v = G h ( V ; θ G h ) H_v=G_h(V;\theta_{G_h}) Hv=Gh(V;θGh) ( H v = [ h v 1 , h v 2 , . . . , h v k ] ∈ R n v × d h H_v=[h^1_v,h^2_v,...,h^k_v]\in \mathbb{R}^{n_v \times d_h} Hv=[hv1,hv2,...,hvk]∈Rnv×dh)可以被认为是视频帧特征V变换到图像帧空间的变换函数。通过计算每个视频帧特征的平均值,获得视频的最终特征,表示为 H t = [ h t 1 , h t 2 , . . . h t n t ] ∈ R n t × d h H_t=[h^1_t,h^2_t,...h^{n_t}_t]\in \mathbb{R}^{n_t \times d_h} Ht=[ht1,ht2,...htnt]∈Rnt×dh,而且可以直接与源域的图片特征 H s H_s Hs进行比较。
在模型中,使用低级条件GAN 学习变换 G l G_l Gl,使用高级条件GAN学习变换 G h G_h Gh.模型一方面通过减小对抗损失来完成生成特征的分布与原始域中的数据分布的匹配;另一方面通过减小CORAL损失来最小化合成特征和原始特征之间的二阶统计差异。
loss
对抗损失adversarial loss
对于变换函数 G l G_l Gl以及分类器 D l D_l Dl,数据的分布表示为 V ∼ P d a t a ( V ) V\sim P_{data}(V) V∼Pdata(V)与 F ∼ P d a t a ( F ) F\sim P_{data}(F) F∼Pdata(F),则对抗损失为:
L G A N ( D l , G l , F , V ) = E V ∼ P d a t a ( V ) [ l o g D l ( V ∣ F ) ] + E F ∼ P d a t a ( F ) [ l o g ( 1 − D ( G l ( F ) ∣ F ) ) ] L_{GAN}(D_l,G_l,F,V)=E_{V\sim P_{data}(V)}[logD_l(V|F)]+E_{F \sim P_{data}(F)}[log(1-D(G_l(F)|F))] LGAN(Dl,Gl,F,V)=EV∼Pdata(V)[logDl(V∣F)]+EF∼Pdata(F)[log(1−D(Gl(F)∣F))]
**其中 G l G_l Gl来生成类似于V中的视频特征 G l ( F ) G_l(F) Gl(F),而 D l D_l Dl则尝试区分特征 G l ( F ) G_l(F) Gl(F)与V中的ground-truth特征。**或者说 G l G_l Gl来最小化 L G A N L_{GAN} LGAN而 D l D_l Dl来最大化 L G A N L_{GAN} LGAN:
min G l max D l L G A N ( D l , G l , F , V ) \min\limits_{G_l}\max\limits_{D_l}L_{GAN}(D_l,G_l,F,V) GlminDlmaxLGAN(Dl,Gl,F,V)
而对于 G h G_h Gh与 D h D_h Dh来说也是同理,即
min G h max D h L G A N ( D h , G h , V f , H f ) \min\limits_{G_h}\max\limits_{D_h}L_{GAN}(D_h,G_h,V_f,H_f) GhminDhmaxLGAN(Dh,Gh,Vf,Hf)
CORAL loss
该方法使用CORAL损失来最小化生成的特征与真实样本特征之间的二阶统计差异。
对于 G l G_l Gl与 D l D_l Dl来说,V为真实的特征,而 V f V_f Vf为生成的特征。使用 E v E_v Ev与 E v f E_{v_f} Evf表示特征的协方差矩阵,则作为二阶统计量(协方差)之间距离的CORAL损失表示如下:
L C O R A L ( V , V f ) = 1 4 d v 2 ∣ ∣ E V − E V f ∣ ∣ F 2 L_{CORAL}(V,V_f)=\frac{1}{4d^2_v}||E_V-E_{V_f}||^2_F LCORAL(V,Vf)=4dv21∣∣EV−EVf∣∣F2.
E V = 1 n v − 1 ( V T V − 1 n v ( 1 T V ) T ( 1 T V ) ) E_V=\frac{1}{n_v-1}(V^TV-\frac{1}{n_v}(1^TV)^T(1^TV)) EV=nv−11(VTV−nv1(1TV)T(1TV))
E V f = 1 n v − 1 ( V f T V − 1 n v ( 1 T V f ) T ( 1 T V f ) ) E_{V_f}=\frac{1}{n_v-1}(V^T_fV-\frac{1}{n_v}(1^TV_f)^T(1^TV_f)) EVf=nv−11(VfTV−nv1(1TVf)T(1TVf))
对于 G h G_h Gh与 D h D_h Dh来说,CORAL损失为:
L C O R A L ( H f , H f ′ ) = 1 4 d h 2 ∣ ∣ E H f − E H F ′ ∣ ∣ F 2 L_{CORAL}(H_f,H'_f)=\frac{1}{4d^2_h}||E_{H_f}-E_{H'_F}||^2_F LCORAL(Hf,Hf′)=4dh21∣∣EHf−EHF′∣∣F2
objective
为了防止训练的参数出现过拟合,引入正则化项:
L r e g ( D l , G l ) = ∑ l D = 1 L D ∣ ∣ W D l l D ∣ ∣ F + ∑ l G = 1 L G ∣ ∣ W G l l G ∣ ∣ F L_{reg}(D_l,G_l)=\sum\limits^{L_D}\limits_{l_D=1}||W^{l_D}_{D_l}||_F+\sum\limits^{L_G}\limits_{l_G=1}||W^{l_G}_{G_l}||_F Lreg(Dl,Gl)=lD=1∑LD∣∣WDllD∣∣F+lG=1∑LG∣∣WGllG∣∣F
L r e g ( D h , G h ) = ∑ l D = 1 L D ∣ ∣ W D h l D ∣ ∣ F + ∑ l G = 1 L G ∣ ∣ W G h l G ∣ ∣ F L_{reg}(D_h,G_h)=\sum\limits^{L_D}\limits_{l_D=1}||W^{l_D}_{D_h}||_F+\sum\limits^{L_G}\limits_{l_G=1}||W^{l_G}_{G_h}||_F Lreg(Dh,Gh)=lD=1∑LD∣∣WDhlD∣∣F+lG=1∑LG∣∣WGhlG∣∣F
L D L_D LD、 L G L_G LG表示分类器与特征生成器的网络层的个数。
总的loss即为:
L ( D l , G l ) = λ 1 L G A N ( D l , G l , F , V ) + λ 2 L C O R A L ( V , V f ) + L r e g ( D l , G l ) L(D_l,G_l)=\lambda_1L_{GAN}(D_l,G_l,F,V)+\lambda_2L_{CORAL}(V,V_f)+L_{reg}(D_l,G_l) L(Dl,Gl)=λ1LGAN(Dl,Gl,F,V)+λ2LCORAL(V,Vf)+Lreg(Dl,Gl)
L ( D h , G h ) = λ 3 L G A N ( D h , G h , V f , H f ) + λ 4 L C O R A L ( H f , H f ′ ) + L r e g ( D h , G h ) L(D_h,G_h)=\lambda_3L_{GAN}(D_h,G_h,V_f,H_f)+\lambda_4L_{CORAL}(H_f,H'_f)+L_{reg}(D_h,G_h) L(Dh,Gh)=λ3LGAN(Dh,Gh,Vf,Hf)+λ4LCORAL(Hf,Hf′)+Lreg(Dh,Gh)
其中 λ 1 \lambda_1 λ1、 λ 2 \lambda_2 λ2、 λ 3 \lambda_3 λ3、 λ 4 \lambda_4 λ4表示控制对抗损失与CORAL损失相对比重的权重参数。