美文网首页
论文阅读:TGANs-C

论文阅读:TGANs-C

作者: LiBiscuit | 来源:发表于2020-04-16 11:46 被阅读0次

    时间很快,一天又一天,一下子月中了,害,没想到整个2020居然已经过了快三分之一。今天依旧是论文阅读。

    论文题目:《To Create What You Tell: Generating Videos from Captions》
    论文地址:https://arxiv.org/pdf/1804.08264.pdf
    论文阅读参考:https://www.jiqizhixin.com/articles/2018-09-25-5

    本篇文章只记录个人阅读论文的笔记,具体翻译、代码等不展开,详细可见上述的连接

    Backgrond

    Task(what to do )
    Generating Videos from Captions,顾名思义,即需要完成的任务是:由描述的标题生成相对应的视频(如下图所示)

    Challenge
    In general, there are two critical issues in video generation employing caption conditioning: temporal coherence across video frames and semantic match between caption and the generated video
    在采用标题调节的视频生成中存在两个关键问题:
    1.跨视频帧的时间一致性
    2.标题描述与生成的视频之间的语义匹配

    第一点,主要是对生成模型的学习的见识,即相邻视频帧通常在视觉和语义上是连贯的,因此应随时间平滑连接。这可以被视为制作视频的内在属性和通用属性。
    第二点,追求的模型能够创建与给定标题描述相关的真实视频。
    补充:(对图像和视频的生成和建模的任务来说,一个基本问题是难以量化图像和视频中的复杂变化和统计结构。 这激发了最近的研究探索生成对抗性网络(GAN)来生成合理图像的方法。然而,视频是一帧帧序列,另外还包含时间依赖性,这使得将GAN扩展到视频域存在一些困难。

    Related work
    a.Image Synthesis
    b.Video Generation
    (我们的工作属于后者, 但和后者主要基于的gan的生成存在一些不同,除了我们针对的是标题字幕上生成视频,还有在判别器和加强跨帧的时间连接等方面有所改进)

    Work

    Do?
    a.we present a novel Temporal GANs conditioning on Captions, namely TGANs-C.
    b.We qualitatively demonstrate the capability of our TGANs-C to generate plausible videos conditioning on the given captions on two synthetic datasets (SBMG and TBMG) and one real-world dataset (MSVD).
    工作(创新)
    1.这是第一个在标题描述下生成视频的工作之一
    2.实现了视频/帧内容与给定标题对齐
    3.通过一系列广泛的定量和定性实验,验证了 TGANs-C 模型的有效性

    Model
    整个模型结构如下所示:

    整体上,整个TGANs-C模型分为左右两块,左边是生成器,右边就是判别器,是以 GAN 为主体框架的模型,接下来分开来分析。

    生成网络

    生成网络下由两块组成,下面是标题描述的文本编码,上面是以随机噪声和文本编码特征作为输入的生成器

    文本编码
    在这里,作者采用的是双向 LSTM 做的编码。
    文字描述的时序和语义结构是紧密相关的,需要保留时序信息,所以 RNN 的思想是处理的关键。对于文本编码过程中采用逐个单词双向处理,双向 LSTM 可以保证文本上更加紧密的时序和语义结构。
    整个过程如下:
    首先,输入句子S, S ={w_1,w_2, ...,w_{N_{s-1}},w_{N_s} }令w_t表示句子S中第t个单词的d_w维“one-hot”向量(词汇中的二进制索引向量),因此文本特征w_t的维数,即d_w,是词汇量。
    双向LSTM分为前向和后向:
    1.前向LSTM按其自然顺序(从w_1w_{N_s})读取输入单词序列,然后计算前向隐藏状态序列{\overrightarrow{h}_{1}, \overrightarrow{h}_{2}, \ldots , \overrightarrow{h}_{N_{s}}}
    2.后向LSTM产生反向隐藏状态序列{\overrightarrow{h}_{1}, \overrightarrow{h}_{2}, \ldots , \overrightarrow{h}_{N_{s}}},其中输入序列的顺序相反(从w_{N_s}w_1)。

    这样之后,前向LSTM和后向LSTM的输出被连接为上下文嵌入的单词序列{h_1,h_2, ...,h_{N_{s-1}},h_{N_s} },其中h_t = \left[ \overrightarrow{h}_{t}^{T}, \overline{h}_{t}^{T} \right]^{T}
    然后,我们将嵌入的单词序列输入到下一个基于LSTM的编码器中,并将最终的LSTM输出视为句子表示S∈R_{d_s}
    请注意,bi-LSTM和基于LSTM的编码器都是在无监督学习方式下使用序列自动编码器进行预学习的。

    生成器
    给定输入语句S和随机噪声变量z∈R^{d_z}〜N(0,1),设计了一个生成器网络G来合成帧序列:{R^{d_s}R^{d_z}}→R^{d_c×d_l×d_h×d_d},
    这里的d_c×d_l×d_h×d_d代表的是通道数、帧、高、宽,高和宽对应的是视频一帧图像的长宽,帧代表反卷积下包括多少视频帧,比如最后的输出文中取的是 16 帧作为视频的输出。
    为了对视频中的时空信息进行建模,最自然的方法是利用带反卷积的3D卷积滤波器,它可以通过2D卷积滤波器同时合成空间信息,并提供跨帧的时间不变性.在这里,生成器网络G首先将随机噪声变量z和输入语句S都封装为固定长度的输入潜变量p,然后对其进行特征变换和级联,然后合成对应的视频v_{syn} = G(z,S)
    总的来说,整个生成器我们可以将标题描述特征作为条件,那么它就是类似于条件生成器,由标题描述特征作为条件生成对应的视频。

    判别网络

    整个判别网络中,有三个判别器,
    a.video discriminator:
    根据生成的视频对现实视频进行分类并优化视频字幕匹配
    b.frame discriminator
    在真实和假帧之间进行区分,并使帧与条件说明字幕对齐
    c.motion discriminator
    强调所生成视频中的相邻帧应像在真实视频中一样平滑连接的理念。

    首先最上面的判别器D_0(视频判别器),D_0首先通过3D卷积层将输入视频v∈R^{d_z}编码为视频级张量。 然后,用调节字幕S增加视频级张量,以判别输入视频是否是真实的并且同时与给定字幕在语义上匹配。
    判别器不仅判断视频的真假还判断视频是否和标题描述对应,有 3 组配对关系:真实视频和正确标题描述(V_{real^+},S)、生成视频和真实标题描述(V_{synl^+},S),真实视频和错误标题描述(V_{real^-},S)。判别器只有在真实视频和正确标题对应上才判断为真,否则为假,即(V_{real^+},S)为真。
    对应的损失函数为
    (Video-level matching-aware loss)

    中间的判别器D_1(帧判别器)
    D_1通过2D卷积层将v中的每个帧f^i∈R^{d_f}转换为帧级张量,(f^i描述视频的第 i 帧对应的图像),然后使用条件说明S扩展帧级张量来识别具有匹配标题的真实帧。
    对应的损失函数为
    (Frame-level matching-aware loss):

    最下面的判别器D_2(运动判别器),它的目的是为了在时序上调整前后帧的关系,一般视频中前后帧之间不会有太大的变动,由此思想文章设计了时序关联损失。它的作用是保证视频的前后帧之间不会有太大的差异,用 D 表示:

    由于决定生成的视频帧的帧之间的关系的是生成器,对于真实视频没必要再做差异优化,所以这部分主要作用的是生成器,
    在这里作者提供了两个损失,第一个可以写为: 这一部分是考虑到生成视频帧之间的关联差异,将为时间相干约束损失命名为 TGANs-C-C
    第二个损失为: 这一部分,从动态差异上实现对抗,是另一种实现时序关联的方法。 这一部分用 Φ2 判断真假,将时间相干性对抗性损失命名为 TGANs-C-A。 故整合一下对于TGANs-C-C 对应的判别器和生成器最终损失为: 对于TGANs-C-A 对应的判别器和生成器最终损失为: 伪代码

    Experiment

    Datasets
    实验的数据集选择了单数字边界 MNIST GIF(SBMG),两位数的弹跳 MNIST GIF(TBMG)和微软研究视频描述语料库(MSVD)
    SBMG 是通过在 64×64 帧内弹出单个手写数字而产生的。它由 12,000 个 GIF 组成,每个 GIF 长 16 帧,包含一个 28×28 左右移动的数字左右或上下。数字的起始位置是随机均匀选择的。每个 GIF 都附有描述数字及其移动方向的单句。
    TBMG 是 SBMG 的扩展合成数据集,包含两个手写数字弹跳,生成过程与 SBMG 相同,每个 GIF 中的两个数字分别左右或上下移动。MSVD 包含从 YouTube 收集的 1,970 个视频片段。每个视频大约有 40 个可用的英文描述。在实验中,手动过滤掉有关烹饪的视频,并生成 518 个烹饪视频的子集

    Evaluation Metric
    1.我们采用生成对抗标准(GAM),可以通过使两个生成对抗模型相互对战来直接比较两个生成对抗模型。给定两个生成对抗模型M1 = { \tilde{G}_{1}, \tilde{D}_{1} ) }和M2 = {\tilde{G}_{2}, \tilde{D}_{2}}两种模型的判别分数之间的两种比率的度量为:

    其中ϵ(•)表示分类错误率,xtest是测试集。测试比率rtest显示哪个模型可以更好地推广测试数据,而样本比率rsample显示哪个模型可以更轻松地欺骗其他模型。最后,GAM评估指标将获胜者判断为
    1. Human Evaluation:
      用户研究三个标准:1)现实-这些生成的视频有多真实? 2)相关性-视频是否与给定的字幕相关? 3)连贯性-判断视频的时间联系和可读性。报告每种方法生成的所有视频的每个标准的平均排名(越低越好)。

    Result
    1.消融研究:TGANs−C1 为仅考虑视频对抗D_0,TGANs−C2 为考虑了D_0,D_1,TGANs-C-C 和 TGANs-C-A 都已经知道了构成,这几个对比结果为:


    2.定性分析不同模型产生的结果如下图,主要对比了 VGAN、Sync-DRAW(基于 VAE 实现的)、GAN-CLS 和 TGANs-C:
    3.定量上以不同人的选择,给分越低效果越好,TGANs-C 也展示了很好的效果:
    4.为了进一步定量地验证我们提出的模型的有效性,我们将我们的TGANs-C与两个生成对抗性基线(即VGAN和GaN-CLS)在GAM评估度量o方面进行了比较。由于Sync-DRAW的方法是通过基于VAES的体系结构而不是生成对抗性方案生成视频,因此在这种比较中排除了它 总体而言,考虑到我们的TGANs-C与其他两个基准之间的“battle”,采样率rsample均小于1,这表明TGANs-C可以制作出更多真实的合成视频,并且更容易欺骗其他两个模型。基本上证明了利用帧级真实性,帧字幕匹配和相邻帧之间的时间相干性来进行视频生成的优势;而且,在比较两个基于3D的基准线时,GAN-CLS可以轻松击败VGAN,这在一定程度上揭示了其弱点VGAN的架构是在蛮力假设的基础上设计的,即背景是静止的,只有前景会移动,因此很难模仿具有动态背景的实词视频
    Future work

    未来的工作将首先着重于改善我们模型的视觉识别能力,即合成更高分辨率的视频。首先,可将问题分解为几个阶段,其中根据给定标题的形状或基本颜色在主要阶段中进行草图绘制,而高级阶段则可以纠正视频的细节。第二,期望如何生成以开放式字幕为条件的视频。最后,将我们的框架扩展到音频领域也应该很有趣。


    Ending~
    latex公式真的是太累了!
    午饭时间~嘻嘻嘻

    相关文章

      网友评论

          本文标题:论文阅读:TGANs-C

          本文链接:https://www.haomeiwen.com/subject/fqvlvhtx.html