StreamingT2V

下面首先是参考的一些博客 https://blog.csdn.net/qq_44681809/article/details/137081515

qustion

  • SDEdit:就是给图片加一点噪声然后再用模型去噪,来获得一个更好的帧,比如去掉伪影和污点

  • 这里的分割为m个24帧的块,块与块之间已经有8帧重叠了吗?,就是在分割的时候按重叠分d perservation的吗?

  • 由代码可以看出,它是按照每24帧中间重叠8帧的方式,做好分配规划后,提前取原视频的前trim_length帧,然后再喂给模型去做生成

  • 按照这里的采样的新噪声是采了F-O个帧的来看,是在切分为24帧块的时候就已经把重叠做好了,,,,,不一定,噪声是共享的,但不能说明在切分为24帧块的时候是怎么切的,前好的前一块和后一块公共部分一模一样?还是独立的?还是?
    • 猜测从低分辨率视频的切分应该是前一个块和后一个块不关联的切分,没有太大关系,由于生成也是一块一块生的(生成的时候是每次生成都一样的帧数吗?是24吗?),所以在块和块之间会不一致,所以要解决这个问题
  • 所以这做到了共享噪声

  • 这是什么意思

  • 这里的更新整个长视频的重叠帧是什么意思,是从前一个块的重叠区域取一些帧,从后一个块的重叠区域取一些帧,然后凑成8帧,然后用这个新8帧再替换掉前一个块和后一个块的重叠的8帧是吗?还是把两块儿连在一起,只用一个,相当于去掉8帧?如果是前面一种情况,那初始分块的时候是怎么分的呢,按照这个取的规则,如果刚开始随机一个F_thr为1或者8,那就相当于用一个块的部分替换另一个一个块的部分了,所以初始分块的时候是完全切割分的吗,当然这和生成是怎么生成有关
    • 在每一个t的去噪过程中,同一个块内还要做时间时间层面的注意力什么的,这种应该也会让重叠帧和块内其它帧做内容上的对齐

https://blog.csdn.net/v_JULY_v/article/details/136845242

https://blog.csdn.net/qq_29788741/article/details/137077902

  • 这段长达 1200 帧的 2 分钟视频来自一个文生视频(text-to-video)模型,尽管 AI 生成的痕迹依然浓重,但我们必须承认,其中的人物和场景具有相当不错的一致性。这是如何办到的呢?要知道,虽然近些年文生视频技术的生成质量和文本对齐质量都已经相当出色,但大多数现有方法都聚焦于生成短视频(通常是 16 或 24 帧长度)。然而,适用于短视频的现有方法通常无法用于长视频(≥ 64 帧)。即使是生成短序列,通常也需要成本高昂的训练,比如训练步数超过 260K,批大小超过 4500。如果不在更长的视频上进行训练,通过短视频生成器来制作长视频,得到的长视频通常质量不佳。而现有的自回归方法(通过使用短视频后几帧生成新的短视频,进而合成长视频)也存在场景切换不一致等一些问题。
    为了克服现有方法的缺点和局限,Picsart AI Resarch 等多个机构联合提出了一种新的文生视频方法:StreamingT2V。这也是一种自回归方法,并配备了长短期记忆模块,进而可以生成具有时间一致性的长视频。

summary

  • 该团队提出了条件注意力模块(CAM)。得益于其注意力性质,它可以有效地借用之前帧的内容信息来生成新的帧,同时还不会让之前帧的结构 / 形状限制新帧中的运动情况。
  • 而为了解决生成的视频中人与物外观变化的问题,该团队又提出了外观保留模块(APM):其可从一张初始图像(锚帧)提取对象或全局场景的外观信息,并使用该信息调节所有视频块的视频生成过程。
  • 为了进一步提升长视频生成的质量和分辨率,该团队针对自回归生成任务对一个视频增强模型进行了改进。为此,该团队选择了一个高分辨率文生视频模型并使用了 SDEdit 方法来提升连续 24 帧(其中有 8 帧重叠帧)视频块的质量。
  • 为了使视频块增强过渡变得平滑,他们还设计了一种随机混合方法,能以无缝方式混合重叠的增强过的视频块

  • 这两个T2V是同一个模型吗?
    • 根据代码中来看是的
    • 上面的是初始阶段
    • 上面是自回归阶段

StreamingT2V: Consistent, Dynamic, and Extendable Long Video Generation from Text

摘要

  • 现有方法大多集中在生成高质量的短视频(通常为 16 或 24 帧),当简单地扩展到长视频合成时,会出现硬切换(hardcuts)

  • StreamingT2V,是一种用于生成 80、240、600、1200 帧或更多帧具有平滑过渡的长视频的自回归方法

  • 关键组件包括:

    • 一种短期记忆块,称为条件注意力模块(conditional attention module,CAM),它通过注意机制将当前生成与从先前块(chunk)提取的特征相关联,从而实现一致的块过渡
    • 一种长期记忆块,称为外观保持模块(Appearance Preservation Module,APM),它从第一个视频块中提取高级场景和对象特征,以防止模型忘记初始场景
    • 一种随机混合(randomized blending)方法,使得将视频增强器自回归地应用于无限长视频时,不会出现块之间的不一致性
  • StreamingT2V,这是一种高质量的无缝文本到长视频生成器,其在一致性和运动方面优于竞争对手

  • 问题:如果将长期记忆模块的锚帧换为自己的图片,不知道能不能做T+I to V的生成?或者将T2V换的模型换位I2V的模型,不知道能不变成T to V的生成?

相关工作

  • 以前的长视频生成工作
  • DynamiCrafter-XL [43],在每个文本交叉注意力中增加一个图像交叉注意力,这导致更好的质量,但仍然导致块之间频繁的不一致性

Preliminary

  • StreamingT2V,是一个在VQ-GAN自动编码器D(E(·))的潜在空间上操作的扩散模型,其中E和D分别是对应的编码器和解码器
  • 给定一个视频V ∈ R_F×H×W×3,它的潜在代码x0 ∈ R_F×h×w×c是通过逐帧应用编码器获得的

方法

  • 我们首先生成了 256 × 256 分辨率的长视频,时长为 5 秒(16fps),然后将它们提升到更高分辨率(720 × 720),整个流程的概述如下图所示

  • 长视频生成部分包括:

    • (初始化阶段)通过预先训练的文本到视频模型(例如可以使用 Modelscope [39])合成第一个 16 帧块(chunk),
    • 以及(Streaming T2V 阶段)通过自回归方式为后续帧生成新内容。对于自回归(见图 3),我们提出了条件注意力模块(CAM),利用前一块的最后 F_cond = 8 帧的短期信息,实现块之间的无缝过渡。此外,我们利用外观保持模块(APM),从一个固定的锚定帧中提取长期信息,使自回归过程在生成过程中能够稳健地保留对象外观或场景细节
    • 在生成了长视频(80、240、600、1200 帧或更多)之后,我们应用流式细化阶段(Streaming Refinement Stage),通过自回归方式应用高分辨率文本到短视频模型(例如可以使用 MS-Vid2Vid-XL [48]),并配备我们的随机混合方法进行无缝的块处理。后一步骤无需额外训练,因此使我们的方法在较低的计算成本下实现。
  • 问题:先生成80帧,然后进行第三阶段,然后再生成剩下的帧?

  • 每次生成16帧,以及输入生成多少次,自回归完后,再去第三阶段

  • 上面是附录里给的详细参数

条件注意力模块

  • 我们利用了文本到视频模型的预训练能力(例如 Modelscope [39]),作为长视频生成的先验,以自回归的方式进行,在接下来的写作中,我们将这个预训练的文本到(短)视频模型称为 Video-LDM。

  • 为了通过前一块的一些短期信息(见图 2,中)自回归地调节 Video-LDM,受 ControlNet [46] 的启发,我们提出了条件注意力模块(CAM),它由特征提取器和一个注入到 Video-LDM UNet 中的特征注入器组成

    • 特征提取器利用逐帧图像编码器 E_cond,这个用的VQ-GAN的编码器
    • 后跟与 Video-LDM UNet 到其中间层相同编码器层(并使用 UNet 的权重进行初始化),这里CAM的特征注入器应该是直接把Video-LDM的前一半拿过来,然后再可训练
  • 对于特征注入,我们让 UNet 中的每个长距离跳连接通过交叉注意力来关注由 CAM 生成的相应特征。

  • 令 x 表示在零卷积后的 E_cond 的输出

    • 为什么要有零卷积
  • 我们使用加法,将 x 与 CAM 的第一个时间 transformer 块的输出融合

    • 为什么要有个这部分?
      • 时间特征的捕捉:时间变换器模块(temporal transformer block)设计用来处理时间序列数据,它可以捕捉视频帧序列之间的时间动态和关联性
      • 噪声的作用:向数据添加噪声并通过模型去除这些噪声的过程能够帮助模型学习如何在帧之间填充正确的时间动态
      • 数据增强:通过噪声添加和去除的过程也可以被看作是一种数据增强技术,它可以帮助模型变得更加鲁棒,能够处理更多的不确定性
    • 这里的直接相交操作是通道数变多了,还是逐元素值相加
  • 对于将 CAM 的特征注入到 Video-LDM Unet 中,我们考虑 UNet 的跳跃连接特征x_SC ∈ R^(b×F×h×w×c)。

    • 我们对 x_SC 应用时空分组归一化(spatio-temporal group norm),并在 x_SC 上应用线性投影 P_in
      • 空间-时间组归一化会考虑一个视频块(或帧序列)的所有帧,并在整个块中同时对空间和时间维度进行归一化。这有助于网络捕捉到视频中的运动模式和其他时间动态,同时减少内部协变量偏移(internal covariate shift)
      • 在神经网络中使用的空间-时间组归一化(spatio-temporal group norm)通常指的是对数据进行规范化处理,以使得数据的分布具有固定的均值和标准差(例如均值为0,标准差为1),这样的处理有利于模型的训练和泛化
      • 线性投影通常是一个全连接层或者线性层,没有激活函数,作用是将输入数据(这里是归一化后的特征)映射到另一个空间,作用可能是特征转换、降维/升维、数据预处理
    • 让 x′_SC ∈ R^((b·w·h)×F×c) 表示重塑后的张量,我们通过时间多头注意力(T-MHA),即对每个空间位置(和 batch)独立地
      • 对每个batch下的像素都做
    • 令 x′_SC 以相应的 CAM 特征 x_CAM ∈ R^((b·w·h)×F_cond×c) 为条件,其中 F_cond 是条件帧的数量,对于查询、键和值,使用可学习的线性映射 P_Q、P_K、P_V,我们应用 TMHA,其中键和值来自 x_CAM,而查询来自 x′_SC,即
    • 最后,我们使用线性投影 P_out。通过使用适当的重塑操作 R,将 CAM 的输出添加到跳跃连接中(与 ControlNet [46] 中的方式相同)
  • 因此,x′′′ 在 UNet 的解码器层中使用。投影 P_out 是零初始化的,因此在训练开始时,CAM 不会影响基础模型的输出,这有助于提高训练的收敛性。

外观保持模块

  • 自回归视频生成器通常会忘记初始对象和场景特征,导致外观变化严重
  • 为了解决这个问题,我们利用提出的外观保持模块(APM)来结合长期记忆,利用第一个块的固定锚定帧中包含的信息
    • 我们将锚定帧的 CLIP [25] 图像 token 与文本指令中的 CLIP 文本 token 混合,通过使用线性层将 clip 图像 token 扩展为 k = 8 个 token,并在 token 维度上连接文本和图像编码,然后使用投影块,得到 x_mixed ∈ R^(b×77×1024)
    • 对于每个交叉注意力层 l,我们引入一个权重 α_l ∈ R(初始化为 0),通过对 x_mixed 和文本指令的常规 CLIP 文本编码的加权和来执行交叉注意力
    • 第 5.3 节的实验表明,轻量级的 APM 模块有助于在自回归过程中保持场景和身份特征(见图 6)
  • 1D卷积可以沿着时间轴扫描并提取特征,识别序列中的局部模式,例如视频帧之间的运动变化或连续性

自回归视频增强

  • 为了进一步提高我们文本到视频结果的质量和分辨率,我们利用一个高分辨率(1280x720)的文本到(短)视频模型(Refiner Video-LDM,见图 3),自回归地增强生成视频的 24 帧块

  • 使用文本到视频模型作为 24 帧块的精化器/增强器是通过将大量噪声添加到输入视频块中,并使用文本到视频扩散模型(SDEdit [22] 方法)进行去噪来实现的

    • SDEdit:就是给图片加一点噪声然后再用模型去噪,来获得一个更好的帧,比如去掉伪影和污点
  • 更具体地说,

    • 我们采用高分辨率文本到视频模型(例如 MS-Vid2Vid-XL [40, 48]),
      • MS-Vid2Vid-XL是什么分辨率的
    • 以及首先通过双线性上采样 [2] 将 24 帧的低分辨率视频块上采样到目标高分辨率,
    • 然后我们使用图像编码器 E 对帧进行编码,以获得潜在代码 x0
    • 然后,我们应用 T′ < T 个前向扩散步骤,以便 x_T′ 仍包含信号信息(主要是关于视频结构)
    • 并使用高分辨率视频扩散模型进行去噪。
  • 然而,独立增强每个块的简单方法会导致不一致的过渡(见图 4 (a))

  • 我们通过在连续块之间使用共享噪声并利用我们的随机混合方法来解决这个问题

  • 给定我们的低分辨率长视频,我们将其分割成 m 个长度为 F = 24 帧的块 V1,…,Vm,以便每两个连续的块具有 O = 8 帧的重叠

    • 切分的时候就让它重叠8帧切的吗?
      • 是的,上面有代码
  • 从 T′ 开始,我们必须采样噪声来执行一个去噪步骤,我们从第一个块 V1 开始,并采样噪声 ϵ_1 ∼ N(0, I),其中 ϵ_1 ∈ R^(F×h×w×c)。对于每个后续块 V_i,i > 1,我们采样噪声 ˆϵi ∼ N(0, I),其中 ˆϵi ∈ R^((F−O)×h×w×c),并沿帧维度将其与前一个块的 O 个重叠帧的噪声链接


  • 如果直接用 ϵ \epsilon ϵi进行Vi块的加噪去噪,得到X_t-1(i) ,这种方法并不足以消除过渡不一致(见图 4 (b))。

  • 为了显著提高一致性,我们提出了随机混合方法。考虑到连续两个块 V_(i−1)、Vi 在去噪步骤 t−1 时的潜在编码

  • 块 V_(i−1) 的潜在编码 x_(t−1) (i−1) 在其前几帧到重叠帧之间具有平滑过渡,而块 Vi 的潜在编码 x_(t−1) (i) 在重叠帧到其后续帧之间具有平滑过渡。因此,我们通过串联两个潜在编码来组合它们:随机从 {0, . . . ,O} 中采样一个帧索引 f_thr,然后从中取前 f_thr 帧的潜在编码,从中取从 fthr + 1 开始的帧的潜在编码

  • 然后,我们更新整个长视频的潜在编码 x_(t−1) 上的重叠帧,并执行下一个去噪步骤

  • 通过在重叠区域中使用潜在编码的概率混合,我们成功地减少了块之间的不一致性(见图 4©)。

  • 问题:这里的更新重叠帧是指怎么更新?

    • 整个视频序列是连着的,然后把重叠部分替换掉
  • MS-Vid2Vid由达摩院研发和训练,主要用于提升文生视频、图生视频的分辨率和时空连续性,其训练数据包含了精选的海量的高清视频、图像数据(最短边>720),可以将低分辨率的(16:9)的视频提升到更高分辨率(1280 * 720),可以用于任意低分辨率的的超分

  • 最终生成的视频大小是多少?

  • unet的网络最后一维是512,但为什么初始生成的视频是256?
    -可能在unet后面又做了其它处理,这得仔细看代码

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript注释规范

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃 &#xff0c;大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端基础路线”&#xff0c;可获…

8个细节决定你的活动策划推广成败-华媒舍

活动策划和推广对于一个成功的活动来说至关重要。许多因素会影响活动的成功与否&#xff0c;以下我将介绍8个关键细节&#xff0c;这些细节能够决定活动的策划与推广的成败。 1. 目标定位 活动策划必须明确目标。你需要确定你的活动是为了推广何种产品或服务&#xff0c;吸引什…

245 基于matlab的MEEMD信号分解及重构算法

基于matlab的MEEMD信号分解及重构算法。MEEMD方法的主要步骤包括&#xff1a;1. 定义多元信号集合&#xff0c;将多个信号进行集合&#xff1b;2. 对多元信号集合进行EEMD分解&#xff0c;得到一组IMFs&#xff1b;3. 将相同IMF进行平均&#xff0c;得到改进的IMFs&#xff1b;…

抖音小店如何快速出单?内行人闭口不提的诀窍,一篇全曝光!

哈喽~我是电商月月 新手做抖店不成功&#xff0c;最大的问题就是不懂技巧&#xff0c;不懂规则&#xff0c;不懂玩法&#xff0c;你基础事项&#xff0c;思维方向都没选好&#xff0c;再怎么努力也别想出单 看下去&#xff0c;新手在开店后不要着急选品&#xff0c;先把这些问…

AI热潮开始退去,财务压力迫使多家硅谷明星初创公司选择退出

曾风光无限的Stability AI已重组并削减业务规模&#xff0c;Inflection AI更是关闭业务并基本并入微软。 5月4日消息&#xff0c;国外媒体日前撰文指出&#xff0c;人工智能的热潮已开始逐渐褪去。初创公司想要同微软、谷歌等科技巨头在人工智能领域一决高下&#xff0c;门槛已…

供应链|经典论文解读:(s,S) 策略在动态库存下的最优性

文章考虑了具有订购成本&#xff08;由单位成本加上重新订购成本组成&#xff09;的动态库存问题。具体而言&#xff0c;对于每个时期&#xff0c;系统在中期开始是做出一系列采购决策——这些采购有助于库存的积累&#xff0c;并在随后的周期被需求所消耗。每时期系统会产生各…

04-18 周四 为LLM_inference项目配置GitHub CI过程记录

04-18 周四 为LLM_inference项目配置GitHub CI过程记录 时间版本修改人描述2024年4月18日10:30:13V0.1宋全恒新建文档 简介和相关文档 04-15 周一 GitHub仓库CI服务器配置过程文档actions-runner 是托管与GitHub上的仓库&#xff0c;下载最新的客户端程序即可。self hosted r…

一个年薪30w软件测试员的职业规划,献给还在迷茫中的朋友

先抛出一个观点 &#xff0c; 那些&#xff0c;担心30岁后&#xff0c;35岁后&#xff0c;40岁后&#xff0c;无路可走的&#xff1b;基本属于能力不够、或者思维太局限 。 总之&#xff0c;瞎担心 / 不长进 。 具体&#xff0c;见下面正文 。 曾经&#xff0c;在16年&#xff…

AI技术赋能下的视频监控方案是如何解决新能源汽车充电难问题的?

一、方案背景 刚刚结束的第十八届北京车展异常火爆&#xff0c;其中一组与汽车有关的数字让人格外关注。根据乘联会2024年4月19日公布的最新数据&#xff0c;全国乘用车市场零售达到51.6万辆&#xff0c;其中新能源车的销量约为26万辆&#xff0c;市场渗透率达到50.39%。 这意味…

音视频开发4 FFmpeg windows 环境搭建,QT 安装,动态库的搜索路径

FFmpeg 为了让所有平台的开发者都能够学习到音视频开发的通用技术&#xff0c;本教程主要讲解跨平台的音视频开发库FFmpeg。其实只要你掌握了FFmpeg&#xff0c;也可以很快上手其他音视频开发库&#xff0c;因为底层原理都是一样的&#xff0c;你最终操作的都是一样的数据&…

【第10章】spring-mvc转发和重定向

文章目录 前言一、准备二、转发1. 视图解析器(推荐)2. 关键字(forward)3. request 三、重定向1.关键字(redirect)2. HttpServletResponse 四、区别总结 前言 前面介绍了视图解析器的使用,但是对我们原有转发和重定向有影响,接下来我们通过案例,来使用学习转发和重定向的用法。…

ComfyUI 基础教程(十四):ComfyUI中4种实现局部重绘方法

在ComfyUI中有多种方式可以实现局部重绘,简单的方式是使用VAE内补编码器进行局部重绘,也可以用Fooocus inpaint进行局部重绘,还可以用controlNet的inpaint模型进行局部重绘,以及使用Clip seg蒙版插件! 本篇介绍使用VAE內补编码器进行局部重绘的方法。 1、VAE内补编码器 局…

《架构风清扬-Java面试系列第28讲》聊聊SynchronousQueue的使用及适合场景

SynchronousQueue是BlockingQueue接口的一个实现类之一 这个属于基础性问题&#xff0c;老规矩&#xff0c;我们将从使用场景和代码示例来进行讲解 来&#xff0c;思考片刻&#xff0c;给出你的答案 1&#xff0c;使用场景 实现&#xff1a;特殊的无缓冲队列&#xff0c;每一个…

帆软报表9.0连接达梦数据库

一、将驱动复制到帆软安装目录下 二、配置数据库连接 注意&#xff1a;dm.jdbc.driver.DmDriver是直接在文本框输入的 进行以上两部就能连接达梦数据库了

揭秘!如何利用自动化工具提升抖音推广效果

亲爱的读者朋友们&#xff0c;你是否在为抖音的推广效果而苦恼&#xff1f;看着别人家的视频轻松获得大量曝光&#xff0c;你是否也心生羡慕&#xff1f;今天&#xff0c;我们就来分享一个秘密武器&#xff0c;让你轻松提升抖音推广效果&#xff01; 首先&#xff0c;让我们来了…

开发环境待

一 web开发环境搭建 1 web开发环境概述 所谓web开发,指的就是从网页中向后端程序发送请求.与后端程序进行交互. 流程图: 1,Web服务器是指驻留于因特网上某种类型计算机的程序. 2, 可以向浏览器等Web客户端提供文档&#xff0c;也可以放置网站文件&#xff0c;让全世界 浏览…

微信答题活动怎么做_智慧与惊喜的碰撞

在这个信息爆炸的时代&#xff0c;如何吸引用户的眼球&#xff0c;让他们在众多品牌中驻足停留&#xff1f;答案或许就藏在一次别开生面的微信答题活动中。今天&#xff0c;就让我们一起走进这场以智慧与惊喜为主题的微信答题狂欢夜&#xff0c;感受其带来的独特魅力。 工具/原…

AI预测福彩3D第10套算法实战化赚米验证第2弹2024年5月6日第2次测试

由于今天白天事情比较多&#xff0c;回来比较晚了&#xff0c;趁着还未开奖&#xff0c;赶紧把预测结果发出来吧~今天是第2次测试~ 2024年5月6日福彩3D预测结果 6-7码定位方案如下&#xff1a; 百位&#xff1a;3、4、1、7、8、9 十位&#xff1a;4、5、3、7、8、9 个位&#x…

JS基础:输出信息的5种方式详解

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端基础路线”&#xff0c;可获取完整web基础…

python3+requests+unittest实战系列【一】

1.环境准备 python3 pycharm编辑器 2.框架目录展示 &#xff08;该套代码只是简单入门&#xff0c;有兴趣的可以不断后期完善&#xff09; 1&#xff09;run.py主运行文件&#xff0c;运行之后可以生成相应的测试报告&#xff0c;并以邮件形式发送&#xff1b; &#xff0…