My App

Conditional Image-to-Video Generation with Latent Flow Diffusion Models

讲任务: cI2V旨在从一张图片和一个条件生成满意的视频. 讲挑战: 同时生成空间外观和时间动态. 讲方法: 提出Latent Flow Diffusion Model(LFDM), 基于条件生成一个optical flow序列, 用这个optical flow扭曲图片. 训练分为两个阶段: 1) 无监督学习, 图片对的训练, 训练一个latent flow的自动编码器; 2) 条件学习阶段, 使用3D-UNet-based Diffusion预测时间latent flow. 讲优势: 之前的条件生成要同时关注时间和空间维度, 它这种方法只需要关注时间维度.

LatentFlow-intro

介绍

I2V任务应用广泛, cI2V的目标是什么, 先前的方法直接生成视频的每一帧, 需要同时保持空间细节和时间协调, 它们的方法有什么优势.

讲方法, 第一阶段训练一个latent flow 自动编码器, 评估同一个视频两帧间的latent flow, 第二阶段根据条件和参考图片, 用一个3D UNet预测latent.

介绍引入了掩码图.

相关工作

image to video 生成

条件生成按照给定不同条件可以分为T2V, I2V, V2V. I2V又分为随机条件和条件.

介绍了一些cI2V方法, 自己的方法和之前flow-based I2V工作的区别.

Diffusion Model 在视频生成

就几个DM方法的陈列.

方法

条件y只考虑有限的label集合.

Diffusion Model

Diffusion前向传播, 去噪过程, 条件生成, classifer-free guidance.

训练

LatentFlow-overview

Latent Flow Auto-Encoder

由一个图片编码器 Φ\Phi, 一个图片解码器Ω\Omega和一个flow 预测器F组成, 编解码就不说了, 预测器会预测一个backword latent flow f和一个遮挡图m. f的shape为(Hz×Wz×2)(H_z \times W_z \times 2), 分别表示帧间横向和纵向的移动, 之前对m的理解有误, 值的范围是0到1, 它实际是表示遮挡程度, 很抽象的话结合公式:

z~=mW(z,f)\tilde{z} = m \odot \mathcal{W}(z, f)

损失函数是感知损失, 引用了16年的一篇文章.

Diffusion Model

模型的输出为f, m, 在channel维度连接, text条件用BERT编码嵌入, 然后讲了一下这种方式的优势, 只预测motion和形状特征, 更容易训练, 收敛更快.

发现一个理解误区, Flow Predictor F是普通的卷积或其他网络, 根据起始帧和中间帧预测f和m, 与Diffusion过程无关, 可以理解为提取真实的f和m, 这里DM才是预测f和m.

实验

数据集和实验部分没什么特别的, 不关心, 一句话总结"证明LFDM在生成质量, 计算效率, 泛化能力和跨域适应性上均优于现有方法".

感受

他的思路是这样的, 我们就假设是某个人的跳舞视频, 首帧和中间的某一帧是有空间关系的, 背景没有变, 仅仅任务动作变了, 简化成latent flow为首帧与尾帧像素相减, 大部分为0, 人物部分会有一些改变, 实际情况要复杂一点, 它训练了一个自动编码器, 但结果是一样的, 希望根据latent flow扭曲首帧图片得到中间某一帧图片. 这么做的一个好处是分开了空间内容和时间内容的生成. 在第二阶段只需要根据条件预测latent flow就行, 此方法有点像现代的视频压缩算法.

方法很新颖, 看似合理, 但是效果并没有做到极致, 肯定是有问题的, 背景不能太大改变, image wrap 难生成高质量图片或是怎样, 不会在实践中考虑这种方法.

On this page