note
- AnimateDiff框架:核心是一个可插拔的运动模块,它可以从真实世界视频中学习通用的运动先验,并与任何基于相同基础T2I的个性化模型集成,以生成动画。
- 训练策略:AnimateDiff的训练包括三个阶段:
- 领域适配器:微调以适应目标视频数据集的视觉分布。
- 运动模块:在视频上训练以学习运动先验,同时保持基础T2I权重固定。
- MotionLoRA:一种轻量级微调技术,用于适应新的运动模式,如不同的镜头类型。
文章目录
- note
- 一、AnimateDiff模型
- 1. 相关背景
- 2. 模型结构
- (1)第一阶段:训练domain adapter
- (2)第二阶段:训练运动模块 motion module
- (3)第三阶段:训练MotionLoRA
- 3. 相关实验
- 4. 评测效果
- 5. 可以进一步探索的点
- 6. 总结
- 7. 运镜介绍
- Reference
十大问题:
- 论文试图解决什么问题
- 这是否是一个新的问题
- 这篇文章要验证一个什么科学假设
- 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?
- 论文中提到的解决方案之关键是什么?
- 论文中的实验是如何设计的?
- 用于定量评估的数据集是什么?代码有没有开源?
- 论文中的实验及结果有没有很好地支持需要验证的科学假设?
- 这篇论文到底有什么贡献?
- 下一步呢?有什么工作可以持续深入?
一、AnimateDiff模型
论文:AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning
ICLR 2024 paper
1. 相关背景
Q: 有哪些相关研究?
以往的相关研究:
- 文本到图像扩散模型(Text-to-image diffusion models):
- GLIDE (Nichol et al., 2021):引入了文本条件并展示了分类器引导可以产生更令人满意的结果。
- DALL-E2 (Ramesh et al., 2022):通过利用CLIP联合特征空间来改善文本-图像对齐。
- Imagen (Saharia et al., 2022):结合了大型语言模型和级联架构以实现逼真的结果。
- Stable Diffusion (Rombach et al., 2022):将扩散过程移动到自编码器的潜在空间以提高效率。
- eDiff-I (Balaji et al., 2022):为不同生成阶段专门化了一个扩散模型集合。
- 个性化T2I模型(Personalizing T2I models):
- DreamBooth (Ruiz et al., 2023):通过保留损失微调整个网络,并仅使用少量图像。
- Textual Inversion (Gal et al., 2022):为每个新概念优化一个标记嵌入。
- Low-Rank Adaptation (LoRA) (Hu et al., 2021):通过在基础T2I中引入额外的LoRA层并仅优化权重残差来加速微调过程。
- 编码器方法 (Gal et al., 2023; Jia et al., 2023):解决个性化问题的方法。
- 动画化个性化T2I(Animating personalized T2Is):
- Text2Cinemagraph (Mahapatra et al., 2023):提出了通过流预测生成电影摄影的方法。
- Tune-a-Video (Wu et al., 2023):在单个视频上微调少量参数。
- Text2Video-Zero (Khachatryan et al., 2023):介绍了一种无需训练即可通过基于预定义仿射矩阵的潜在包装来动画化预训练T2I的方法。
- 视频生成(Video generation):
- Esser et al. (2023)、Zhou et al. (2022a)、Singer et al. (2022) 等:这些工作通常更新所有参数并修改原始T2I的特征空间,使其与个性化模型不兼容。
- Align-Your-Latents (Blattmann et al., 2023):展示了在一般视频生成器中冻结的图像层可以个性化。
这些研究为AnimateDiff提供了技术背景和方法论基础,尤其是在文本到图像生成、模型个性化以及视频生成方面。AnimateDiff在这些研究的基础上,提出了一种新的方法来生成动画,同时保持个性化T2I模型的视觉质量和领域知识。
Q: 这篇论文试图解决什么问题?
论文试图解决的问题是如何将现有的个性化文本到图像(T2I)扩散模型(如Stable Diffusion)转换为能够生成动画的模型,而无需对每个模型进行特定的调整或微调。论文提出了AnimateDiff框架,它通过一个预训练的运动模块,使得个性化的T2I模型能够生成具有动态效果的动画,同时保持原有的视觉质量和领域知识。这个框架的核心是一个即插即用的模块,它可以从真实世界的视频中学到可转移的运动先验知识,并将其应用于任何源自相同基础T2I的个性化T2I模型中。此外,论文还提出了MotionLoRA技术,这是一种轻量级的微调技术,允许预训练的运动模块适应新的运动模式,如不同的镜头类型,以较低的训练和数据收集成本。
2. 模型结构
A: 论文通过以下步骤解决了将个性化文本到图像(T2I)模型转换为动画生成器的问题:
- 设计AnimateDiff框架:
- 提出了一个即插即用的运动模块,它可以从真实世界的视频数据中学习运动先验知识。
- 该运动模块可以与任何源自相同基础T2I的个性化T2I模型无缝集成,形成个性化的动画生成器。
- 训练策略:
- 通过提出的训练策略,运动模块有效地从真实世界视频中学习到转移的运动先验。
- 训练过程分为三个阶段
(1)第一阶段:训练domain adapter
(1)第一阶段,训练domain adapter:微调一个领域适配器以适应目标视频数据集的视觉分布,确保运动模块专注于学习运动先验。并且通过lora微调训练,在基础T2I模型的自/交叉注意力层中引入低秩矩阵进行微调参数: Q = W Q z + AdapterLayer ( z ) = W Q z + α ⋅ A B T z Q=\mathcal{W}^Q z+\text { AdapterLayer }(z)=\mathcal{W}^Q z+\alpha \cdot A B^T z Q=WQz+ AdapterLayer (z)=WQz+α⋅ABTz
训练数据:目标视频数据集,使用静态帧
训练方式:lora微调
训练目标:和T2I原始目标相同, L = E E ( x 0 ) , y , ϵ ∼ N ( 0 , I ) , t [ ∥ ϵ − ϵ θ ( z t , t , τ θ ( y ) ) ∥ 2 2 ] \mathcal{L}=\mathbb{E}_{\mathcal{E}\left(x_0\right), y, \epsilon \sim \mathcal{N}(0, I), t}\left[\left\|\epsilon-\epsilon_\theta\left(z_t, t, \tau_\theta(y)\right)\right\|_2^2\right] L=EE(x0),y,ϵ∼N(0,I),t[∥ϵ−ϵθ(zt,t,τθ(y))∥22]
其中:
ϵ \epsilon ϵ 是添加的噪声 (从标准正态分布中采样的噪声)
ϵ θ ( z t , t , τ θ ( y ) ) \epsilon_\theta\left(z_t, t, \tau_\theta(y)\right) ϵθ(zt,t,τθ(y)) 是是去噪网络在给定潜在表示 zt 、时间步 t 和文本编码向量下预测的噪声, 其中:
- x 0 x_0 x0 是原始图像, y y y 是对应的文本提示
- τ θ ( ⋅ ) \tau_\theta(\cdot) τθ(⋅) 是文本编码器,将提示映射为emb
3) z t z_t zt 是在时间步 t t t 的潜在表示,包含了原始数据 z 0 z_0 z0 和噪声 ϵ \epsilon ϵ 的信息
z t = α t ‾ z 0 + 1 − α t ‾ ϵ , ϵ ∼ N ( 0 , 1 ) z_t=\sqrt{\overline{\alpha_t}} z_0+\sqrt{1-\overline{\alpha_t}} \epsilon, \epsilon \sim \mathcal{N}(0,1) zt=αtz0+1−αtϵ,ϵ∼N(0,1)
- α ˉ t \bar{\alpha}_t αˉt 是预定的噪声比例,控制每一步噪声的强度
然后和 s d s d sd 一样预测噪声 :
L = E E ( x 0 1 : f ) , y , ϵ 1 ⋅ f ∼ N ( 0 , I ) , t [ ∥ ϵ − ϵ θ ( z t 1 : f , t , τ θ ( y ) ) ∥ 2 2 ] \mathcal{L}=\mathbb{E}_{\mathcal{E}\left(x_0^{1: f}\right), y, \epsilon^{1 \cdot f} \sim \mathcal{N}(0, I), t}\left[\left\|\epsilon-\epsilon_\theta\left(z_t^{1: f}, t, \tau_\theta(y)\right)\right\|_2^2\right] L=EE(x01:f),y,ϵ1⋅f∼N(0,I),t[ ϵ−ϵθ(zt1:f,t,τθ(y)) 22]
(2)第二阶段:训练运动模块 motion module
(2)第二阶段,训练运动模块motion module:将基础T2I与领域适配器一起扩展(放在T2I模型的潜在表示层后),并引入新初始化的运动模块进行运动建模。
训练数据:视频数据集
目的:让T2I模型能生成连贯动画序列
动作:
- 对T2I模型进行网络扩展,使得能够处理5d tensor,b×c×f ×h×w,其中f是frametime,帧时间维度
- 让图像层能独立处理视频帧,所以将 frametime 维度并到 batch_size 维度,使得每帧独立通过图像层处理,之后会将feature map的维度reshape回 bxcxfxhxw
训练方式: - 视频被3D VAE编码向量(这里没像cogvideox训练3d vae,直接使用AutoencoderKL变分自编码器),然后根据扩散过程添加噪声、预测噪声
- 训练目标是最小化预测噪声与实际噪声之间的均方误差(MSE)
- 更新motion module参数,同时保持领域适配器和基础T2I权重参数固定
其他: - 输出投影层会用0初始化;self-attention中后面帧只能看到前面帧信息
- Temporal Transformer在自注意力之前添加了正弦位置编码,确保了模块能够理解动画中帧的顺序(位置信息),从而捕捉到运动动态
(3)第三阶段:训练MotionLoRA
(3)第三阶段(MotionLoRA):使用少量参考视频和训练迭代,通过LoRA微调整个预训练的运动模块以适应新的运动模式。
训练数据:Reference视频数据
训练方式:
- Lora微调,使得学习不同的视频镜头类型(如变焦、平移、滚动等)
- 在motion模块的自注意力层中引入低秩矩阵进行Lora微调
训练目标:motion模块、motionlora训练目标类似,都是先用预训练的sd auto-encoder将视频编码为隐向量,然后使用sd的前向扩散、预测噪声。
提出了MotionLoRA,允许预训练的运动模块适应新的运动模式,如不同的镜头类型,以较低的训练和数据收集成本。
3. 相关实验
A: 论文进行了一系列实验来评估AnimateDiff和MotionLoRA的性能,包括:
- 社区模型评估:
- 使用从Civitai等模型共享平台收集的多种代表性个性化T2I模型进行评估。
- 这些模型涵盖了从2D卡通到真实照片的广泛领域,形成了全面的基准测试。
- 与基线比较:
- 将AnimateDiff与现有的视频生成方法(如Text2Video-Zero和Tune-a-Video)以及商业工具(如Gen-2和Pika Labs)进行比较。
- 通过用户研究和CLIP指标进行定量比较,关注文本对齐、领域相似性和运动平滑性三个方面。
- 用户研究:
- 基于相同的个性化T2I模型,使用所有三种方法生成动画,然后让参与者根据上述三个方面对结果进行排名。
- 使用平均用户排名(AUR)作为偏好度量,其中较高的分数表示更优越的性能。
- CLIP指标:
- 使用CLIP模型评估领域相似性,计算动画帧与使用个性化T2I生成的参考图像之间的相似度。
- 消融研究:
- 研究领域适配器在AnimateDiff中的影响,通过调整适配器层中的缩放因子来观察结果变化。domain adapter的scaler越大,则和目标数据集的分布越接近
- MotionLoRA:当reference video数据越多,视频质量越好
- 可控生成:
- 展示了AnimateDiff与ControlNet结合的能力,使用提取的深度图序列进行可控生成。
- 与最近的视频编辑技术相比,AnimateDiff能够从随机采样的噪声生成动画,展现出精细的运动细节和高视觉质量。
4. 评测效果
和其他模型评测结果的比较:
其他指标:
- AnimateDiff通过用户研究和CLIP指标进行了定量比较。
- 用户研究基于文本对齐、领域相似性(视频和原始T2I模型生成风格的相似性)和运动平滑性三个方面对生成的动画进行排名。
- CLIP指标则用于评估生成动画与参考图像之间的相似性。
5. 可以进一步探索的点
A: 尽管AnimateDiff在将个性化文本到图像模型转换为动画生成器方面取得了显著成果,但仍有一些潜在的研究方向可以进一步探索:
- 提高动画质量:
- 研究更先进的运动建模技术,以进一步提高生成动画的质量和真实感。
- 探索如何更好地结合视觉内容和运动信息,以生成更自然和连贯的动画。
- 优化MotionLoRA:
- 研究如何进一步减少MotionLoRA所需的参考视频数量和训练迭代,以实现更高效的个性化运动模式适应。
- 探索不同的网络架构和训练策略,以提高MotionLoRA的泛化能力和适应性。
- 多模态输入:
- 研究如何将AnimateDiff扩展到处理多模态输入,例如结合文本、音频和图像信息来生成动画。
- 探索如何利用多模态数据来提高动画的表达力和多样性。
- 内容控制和编辑:
- 研究如何进一步提高AnimateDiff在内容控制方面的灵活性,例如允许用户在生成过程中动态调整动画内容。
- 探索结合其他内容编辑技术,如图像和视频编辑工具,以实现更复杂的动画编辑功能。
- 跨领域适应性:
- 研究AnimateDiff在不同领域(如艺术风格、文化背景)的适应性和通用性。
- 探索如何使AnimateDiff更好地理解和适应不同领域的特定需求和约束。
6. 总结
A: 这篇论文介绍了AnimateDiff,这是一个实用的框架,用于在不需要特定调整的情况下,将个性化的文本到图像(T2I)扩散模型转换为动画生成器。
- 问题背景:现有的个性化T2I模型能够生成高质量的静态图像,但在生成动画方面存在挑战。作者提出了AnimateDiff,旨在解决这一问题。
- AnimateDiff框架:核心是一个可插拔的运动模块,它可以从真实世界视频中学习通用的运动先验,并与任何基于相同基础T2I的个性化模型集成,以生成动画。
- 训练策略:AnimateDiff的训练包括三个阶段:
- 领域适配器:微调以适应目标视频数据集的视觉分布。
- 运动模块:在视频上训练以学习运动先验,同时保持基础T2I权重固定。
- MotionLoRA:一种轻量级微调技术,用于适应新的运动模式,如不同的镜头类型。
- 与现有方法的比较:AnimateDiff在用户研究和CLIP指标上与Text2Video-Zero和Tune-a-Video等方法进行了比较,显示出优越的性能。
- 消融研究:研究了领域适配器和运动模块设计对AnimateDiff性能的影响。
7. 运镜介绍
相机运动
- 放大/缩小 (Zooming - in/out)
- 平移 (panning): 水平移动相机
- 倾斜 (tilting): 垂直移动相机
- Dolly: 前后移动整个相机
- Truck: 与小推车一样,只能从左向右移动相机
- 底座 (Pedestal): 将相机固定在一个位置时上下垂直移动相机
Reference
[1] VAE(变分自动编码器)优势在哪里?
[2] AnimateDiff|让文生图动起来
[3] AnimateDiff:一款强大的制作丝滑动画视频插件,轻松让你的图片动起来