【LLM多模态】Animatediff文生视频大模型

note

  • AnimateDiff框架:核心是一个可插拔的运动模块,它可以从真实世界视频中学习通用的运动先验,并与任何基于相同基础T2I的个性化模型集成,以生成动画。
  • 训练策略:AnimateDiff的训练包括三个阶段:
    • 领域适配器:微调以适应目标视频数据集的视觉分布。
    • 运动模块:在视频上训练以学习运动先验,同时保持基础T2I权重固定。
    • MotionLoRA:一种轻量级微调技术,用于适应新的运动模式,如不同的镜头类型。

文章目录

  • note
  • 一、AnimateDiff模型
    • 1. 相关背景
    • 2. 模型结构
      • (1)第一阶段:训练domain adapter
      • (2)第二阶段:训练运动模块 motion module
      • (3)第三阶段:训练MotionLoRA
    • 3. 相关实验
    • 4. 评测效果
    • 5. 可以进一步探索的点
    • 6. 总结
    • 7. 运镜介绍
  • Reference

十大问题:

  1. 论文试图解决什么问题
  2. 这是否是一个新的问题
  3. 这篇文章要验证一个什么科学假设
  4. 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?
  5. 论文中提到的解决方案之关键是什么?
  6. 论文中的实验是如何设计的?
  7. 用于定量评估的数据集是什么?代码有没有开源?
  8. 论文中的实验及结果有没有很好地支持需要验证的科学假设?
  9. 这篇论文到底有什么贡献?
  10. 下一步呢?有什么工作可以持续深入?

一、AnimateDiff模型

论文:AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning
ICLR 2024 paper

1. 相关背景

Q: 有哪些相关研究?
以往的相关研究:

  1. 文本到图像扩散模型(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):为不同生成阶段专门化了一个扩散模型集合。
  1. 个性化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):解决个性化问题的方法。
  1. 动画化个性化T2I(Animating personalized T2Is):
  • Text2Cinemagraph (Mahapatra et al., 2023):提出了通过流预测生成电影摄影的方法。
  • Tune-a-Video (Wu et al., 2023):在单个视频上微调少量参数。
  • Text2Video-Zero (Khachatryan et al., 2023):介绍了一种无需训练即可通过基于预定义仿射矩阵的潜在包装来动画化预训练T2I的方法。
  1. 视频生成(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)模型转换为动画生成器的问题:

  1. 设计AnimateDiff框架:
  • 提出了一个即插即用的运动模块,它可以从真实世界的视频数据中学习运动先验知识。
  • 该运动模块可以与任何源自相同基础T2I的个性化T2I模型无缝集成,形成个性化的动画生成器。
  1. 训练策略:
  • 通过提出的训练策略,运动模块有效地从真实世界视频中学习到转移的运动先验。
  • 训练过程分为三个阶段

(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 和文本编码向量下预测的噪声, 其中:

  1. x 0 x_0 x0 是原始图像, y y y 是对应的文本提示
  2. τ θ ( ⋅ ) \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=αt z0+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,ϵ1fN(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的性能,包括:

  1. 社区模型评估:
  • 使用从Civitai等模型共享平台收集的多种代表性个性化T2I模型进行评估。
  • 这些模型涵盖了从2D卡通到真实照片的广泛领域,形成了全面的基准测试。
  1. 与基线比较:
  • 将AnimateDiff与现有的视频生成方法(如Text2Video-Zero和Tune-a-Video)以及商业工具(如Gen-2和Pika Labs)进行比较。
  • 通过用户研究和CLIP指标进行定量比较,关注文本对齐、领域相似性和运动平滑性三个方面。
  1. 用户研究:
  • 基于相同的个性化T2I模型,使用所有三种方法生成动画,然后让参与者根据上述三个方面对结果进行排名。
  • 使用平均用户排名(AUR)作为偏好度量,其中较高的分数表示更优越的性能。
  1. CLIP指标:
  • 使用CLIP模型评估领域相似性,计算动画帧与使用个性化T2I生成的参考图像之间的相似度。
  1. 消融研究:
  • 研究领域适配器在AnimateDiff中的影响,通过调整适配器层中的缩放因子来观察结果变化。domain adapter的scaler越大,则和目标数据集的分布越接近
  • MotionLoRA:当reference video数据越多,视频质量越好
  1. 可控生成:
  • 展示了AnimateDiff与ControlNet结合的能力,使用提取的深度图序列进行可控生成。
  • 与最近的视频编辑技术相比,AnimateDiff能够从随机采样的噪声生成动画,展现出精细的运动细节和高视觉质量。

4. 评测效果

和其他模型评测结果的比较:
在这里插入图片描述

其他指标:

  • AnimateDiff通过用户研究和CLIP指标进行了定量比较。
    • 用户研究基于文本对齐、领域相似性(视频和原始T2I模型生成风格的相似性)和运动平滑性三个方面对生成的动画进行排名。
    • CLIP指标则用于评估生成动画与参考图像之间的相似性。

5. 可以进一步探索的点

A: 尽管AnimateDiff在将个性化文本到图像模型转换为动画生成器方面取得了显著成果,但仍有一些潜在的研究方向可以进一步探索:

  1. 提高动画质量:
  • 研究更先进的运动建模技术,以进一步提高生成动画的质量和真实感。
  • 探索如何更好地结合视觉内容和运动信息,以生成更自然和连贯的动画。
  1. 优化MotionLoRA:
  • 研究如何进一步减少MotionLoRA所需的参考视频数量和训练迭代,以实现更高效的个性化运动模式适应。
  • 探索不同的网络架构和训练策略,以提高MotionLoRA的泛化能力和适应性。
  1. 多模态输入:
  • 研究如何将AnimateDiff扩展到处理多模态输入,例如结合文本、音频和图像信息来生成动画。
  • 探索如何利用多模态数据来提高动画的表达力和多样性。
  1. 内容控制和编辑:
  • 研究如何进一步提高AnimateDiff在内容控制方面的灵活性,例如允许用户在生成过程中动态调整动画内容。
  • 探索结合其他内容编辑技术,如图像和视频编辑工具,以实现更复杂的动画编辑功能。
  1. 跨领域适应性:
  • 研究AnimateDiff在不同领域(如艺术风格、文化背景)的适应性和通用性。
  • 探索如何使AnimateDiff更好地理解和适应不同领域的特定需求和约束。

6. 总结

A: 这篇论文介绍了AnimateDiff,这是一个实用的框架,用于在不需要特定调整的情况下,将个性化的文本到图像(T2I)扩散模型转换为动画生成器。

  1. 问题背景:现有的个性化T2I模型能够生成高质量的静态图像,但在生成动画方面存在挑战。作者提出了AnimateDiff,旨在解决这一问题。
  2. AnimateDiff框架:核心是一个可插拔的运动模块,它可以从真实世界视频中学习通用的运动先验,并与任何基于相同基础T2I的个性化模型集成,以生成动画。
  3. 训练策略:AnimateDiff的训练包括三个阶段:
  • 领域适配器:微调以适应目标视频数据集的视觉分布。
  • 运动模块:在视频上训练以学习运动先验,同时保持基础T2I权重固定。
  • MotionLoRA:一种轻量级微调技术,用于适应新的运动模式,如不同的镜头类型。
  1. 与现有方法的比较:AnimateDiff在用户研究和CLIP指标上与Text2Video-Zero和Tune-a-Video等方法进行了比较,显示出优越的性能。
  2. 消融研究:研究了领域适配器和运动模块设计对AnimateDiff性能的影响。

7. 运镜介绍

相机运动

  • 放大/缩小 (Zooming - in/out)
  • 平移 (panning): 水平移动相机
  • 倾斜 (tilting): 垂直移动相机
  • Dolly: 前后移动整个相机
  • Truck: 与小推车一样,只能从左向右移动相机
  • 底座 (Pedestal): 将相机固定在一个位置时上下垂直移动相机

Reference

[1] VAE(变分自动编码器)优势在哪里?
[2] AnimateDiff|让文生图动起来
[3] AnimateDiff:一款强大的制作丝滑动画视频插件,轻松让你的图片动起来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149357.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

56 mysql 用户权限相关的实现

前言 这里讨论 mysql 的权限相关处理 使用如下语句创建 tz_test 用户, 并赋予他 test_02 数据库的查询权限 create user tz_test% identified by tz_test; grant select on test_02.* to tz_test%; 查询目标数据表, 数据如下, tz_test_02 UPDATE command denied to user …

前端——表单和输入

今天我们来学习web前端中的表单和输入 表单 HTML 表单用于收集用户的输入信息,用表单标签来完成服务器的一次交互。 HTML 表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到 Web 服务器。 HTML 表单通常包含各种输入…

Apache Dolphinscheduler:一个开源的分布式工作流调度系统

一个开源的分布式工作流调度系统 Apache Dolphinscheduler概述安装 单机部署准备工作启动DolphinScheduler登录DolphinScheduler启停服务命令配置数据库初始化数据库 DolphinScheduler集群模式准备工作修改install_env.sh文件修改dolphinscheduler_env.sh文件初始化数据库部署访…

【Python】数据可视化之分布图

分布图主要用来展示某些现象或数据在地理空间、时间或其他维度上的分布情况。它可以清晰地反映出数据的空间位置、数量、密度等特征,帮助人们更好地理解数据的内在规律和相互关系。 目录 单变量分布 变量关系组图 双变量关系 核密度估计 山脊分布图 单变量分布…

谷歌网站收录查询,怎么查看网站在谷歌的收录情况

在进行谷歌网站收录查询时,我们需采取一种既专业又系统的方法,以确保能够准确评估网站在谷歌搜索引擎中的可见性和收录状态。这一过程不仅关乎技术细节,还涉及到对搜索引擎优化(SEO)策略的理解与应用。以下是一个基于专…

MobaXterm基本使用 -- 服务器状态、批量操作、显示/切换中文字体、修复zsh按键失灵

监控服务器资源 参考网址:https://www.cnblogs.com/144823836yj/p/12126314.html 显示效果 MobaXterm提供有这项功能,在会话窗口底部,显示服务器资源使用情况 如内存、CPU、网速、磁盘使用等: (完整窗口&#xff0…

QT| “无法粘贴窗口部件”错误以及customplot

“无法粘贴窗口部件”错误以及customplot “无法粘贴窗口部件”错误customplot下载添加到项目中使用QCustomPlot常用的代码 “无法粘贴窗口部件”错误 情景:使用QT设计界面,很多部分比较类似,可以复制另一个界面的ui,但是粘粘的时…

力扣 中等 1901.寻找峰值II

文章目录 题目介绍题解 题目介绍 题解 需要明白一个事实:从任意一个点出发,可以经过一个递增路径,找到一个极大值点。 求出一行的最大值,如果这行最大值比上面的要小,那峰值(之一)就会在上面 …

React-Native 中使用 react-native-image-crop-picker 在华为手机上不能正常使用拍照功能

背景: React-Native 0.66 中使用 react-native-image-crop-picker 在安卓 华为手机上不能正常使用拍照功能, 其他品牌正常 代码如下: import ImagePicker from react-native-image-crop-picker;ImagePicker.openCamera(photoOptions).then(image > {callback(image);}) …

如何释放并重新获得ip地址呢?

如何释放并重新获得ip地址呢? 释放并重新获得一个IP地址的具体步骤如下: 1、要想从DHCP服务器重新获取ip,电脑必须设置成"自动获取ip",设置如下,在电脑桌面"网络"-属性-更改适配器设置为自动获取ip。 2、然…

在CentOS 6上安装Squid代理的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 Status: 已弃用 本文涵盖的 CentOS 版本已不再受支持。如果您目前正在运行 CentOS 6 服务器,我们强烈建议升级或迁移到受支持…

【威领,德新,中达安】9.23复盘

威领这次的底部是4个月 所以这种跳空高开,远离5日均线的,如果不是近期的利好板块,那么第二天可能要回调5日均线。所以按照我的收益准则,吃一个板可以出一半了。 到顶部十字剩下一半也出掉了。 如果做长期,我依旧认为威…

CSS03-CSS的引入方式

一、CSS的三种样式表 1-1、内部样式表 示例: 1-2、行内样式表 1-3、外部样式表 1-4、小结

在Windows系统上安装的 Arrow C++ 库

在Windows系统上安装的 Arrow C 库 正文第一步第二步第三步第四步注: 检查是否安装成功 吐槽 正文 第一步 git clone gitgithub.com:apache/arrow.git第二步 打开powershell (好像cmd也可以,不过我试了powershell中不报错,cmd中报错,不是很清楚为什么) 打开arrow的目录 cd …

统信服务器操作系统【qcow2 镜像空间扩容】方案

使用 qcow2 镜像安装系统,当默认安装系统存储空间不够用时,进行自定义扩容 文章目录 准备环境扩容步骤一、检查环境信息1.查看镜像信息2.查看镜像分区信息3.确认需要扩容的分区名二、扩容1.备份镜像2.创建新的镜像文件,并指定空间3.将系统扩容到新的镜像三、扩容 lvm 分区四…

C++读取txt文件中的句子在终端显示,同时操控鼠标滚轮(涉及:多线程,产生随机数,文件操作等)

文章目录 运行效果功能描述代码mian.cppincludeMouseKeyControl.hTipsManagement.h srcMouseControl.cppTipsManagement.cpp 运行效果 功能描述 线程一:每隔n随机秒,动一下鼠标滚轮,防止屏幕息屏。 线程二:运行时加载txt文件中的…

【RocketMQ入门】

RocketMQ入门 RocketMQ是阿里巴巴开源的分布式消息中间件,现在是Apache的一个顶级项目。在阿里内部使用非常 广泛,已经经过了"双11"这种万亿级的消息流转。 RocketMQ环境搭建 接下来我们先在linux平台下安装一个RocketMQ的服务 环境准备 …

C++ Mean Shift算法

原理 每个样本点最终会移动到核概率密度的峰值&#xff0c;移动到相同峰值的样本点属于同一种颜色 关键代码 template <typename PointType> inline typename MeanShift<PointType>::PointsVector MeanShift<PointType>::meanshift(const PointsVector &am…

解决ArmDS Fast Models 中部分内核无法上电的问题

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决ArmDS Fast Models 中部分内核无法上电的问题。 2、 问题场景 在调用ArmDS的Fast Models中的Cortex-A55的模型&#xff0c;只有Core 0是上电状态&#xff0c;而Core 1处于掉电状态&#xff0c;如图2-1所示&…

Ubuntu 24.04.1 LTS 安装 node 16.20.2环境

目录 step1&#xff1a;确认版本 step2&#xff1a;选择方式 step3&#xff1a;二进制文件安装 step1&#xff1a;确认版本 不同的版本情况可能有稍许不同&#xff0c;尽可能环境安装前版本保持一致&#xff1b; lsb_release -a 或者 cat /etc/os-release 可以查看版本信…