AnimateLCM:高效生成连贯真实的视频

视频扩散模型因其能够生成连贯且高保真的视频而日益受到关注。然而,迭代去噪过程使得这类模型计算密集且耗时,限制了其应用范围。香港中文大学 MMLab、Avolution AI、上海人工智能实验室和商汤科技公司的研究团队提出了AnimateLCM,这是一种允许在最少步骤内生成高保真视频的方法。AnimateLCM采用了一种解耦的一致性学习策略,将图像生成先验和运动生成先验的蒸馏分开处理,从而提高训练效率并增强生成的视觉质量。为了实现稳定扩散社区中即插即用适配器的组合以实现各种功能(例如可控生成),论文提出了一种有效策略,无需特定教师模型即可适配现有适配器或从头开始训练适配器,而不损害采样速度。

AnimateLCM在4个步骤内实现个性化扩散模型和适配器的动画化

方法

AnimateLCM的整体训练范式的高级概述

如Figure 2 所示,AnimateLCM 由三个主要部分组成,分别为训练范式、无教师适配策略和适配器训练设计。

左侧:整体训练范式

这部分展示了如何训练视频生成模型以遵循一致性属性。AnimateLCM 的目标是让模型在生成视频时保持数据的一致性,即使在仅有少量迭代步骤的情况下也能生成高质量的视频。这一过程涉及到以下几个关键组件:

  • 教师扩散模型:作为训练过程中的参考,提供了视频生成的基础。

  • CFG-Augmented ODE Solver:无分类器引导增强的ODE求解器,用于改善生成过程并提高结果的质量。

  • Self-Consistency:自我一致性机制,确保模型生成的数据在整个过程中保持一致。

  • EMA(指数移动平均):用于更新目标一致性模型,以保持模型权重的平滑过渡。

右上角:无教师适配策略

这一部分介绍了如何在没有教师模型的情况下训练适配器。在 AnimateLCM 中,适配器是可插拔的模块,可以为模型提供额外的功能,例如控制视频生成的风格或内容。以下是无教师适配策略的关键点:

  • One-step MCMC Approximation:一步MCMC近似方法,用于在没有教师模型指导的情况下估计得分,从而进行一致性学习。

  • Teacher-Free Adaptation:无需教师模型的适配过程,允许模型自我学习并适应新的生成任务。

右下角:适配器训练设计

这部分描述了从头开始训练图像到视频适配器或调整现有适配器以适应稳定扩散社区的设计。这包括:

  • Multi-Res Encoder:多分辨率编码器,用于处理不同分辨率的输入图像。

  • Image-to-Video Adapters:图像到视频适配器,负责将图像内容转换为视频格式。

  • Community Adapters:社区适配器,如XX-Net或XX-Adapter等,这些是稳定扩散社区中已经存在的适配器,可以被进一步训练或调整以提高与 AnimateLCM 的兼容性。

扩散模型(DMs)通过迭代去噪过程,逐步将高维高斯噪声转化为真实数据。在这类模型中,通常预测的是给定样本上添加的噪声量,即所谓的ϵ-预测型模型。这种模型的优势在于能够生成高质量的图像和视频,但其缺点是生成过程计算量大,速度慢。

为了解决这一问题,作者提出了一致性模型(CMs)。与DMs不同,CMs的目标是直接预测PF-ODE(Probability Flow Ordinary Differential Equation)轨迹的解x0。CMs致力于直接找到从噪声状态到数据状态的最短路径,而不是逐步去噪,从而有望显著提高生成速度。

在实现从DMs到CMs的转换中,作者引入了一种新的参数化方法。这种方法中,函数fθ被重新定义,用以结合文本条件嵌入c。这允许模型在生成过程中考虑文本条件,实现文本引导的图像或视频生成。例如,给定文本描述“穿着礼服的男人的RAW面部特写肖像,专业摄影,刀锋跑者风格”,模型能够根据这些条件生成相应的图像。此外,作者还采用了无分类器引导增强的ODE求解器,这种求解器利用无分类器引导(Classifier-free Guidance,CFG)的概念,通过增强的ODE求解过程来提高生成质量。CFG是一种在扩散模型中广泛使用的技术,它可以帮助模型在生成过程中更好地遵循数据分布,从而提高生成结果的质量和多样性。

为了提高训练效率和生成质量,作者引入了一种解耦的一致性学习策略。这一策略的核心思想是将图像生成的先验知识与运动生成的先验知识分开进行蒸馏处理。

上图显示在一致性训练开始时,如何只将空间LoRA权重插入在线模型中,并逐渐通过指数移动平均(EMA)将LoRA权重传播到目标模型

首先,作者选择在经过筛选的高质量图像-文本数据集上对稳定的扩散模型进行蒸馏。这样做的目的是获得一个图像一致性模型,该模型能够捕捉到图像生成的内在规律。这一步骤是基础,因为它为后续的视频生成提供了一个坚实的起点。

接下来,为了适应视频数据的三维特性,作者采用了3D膨胀技术。这涉及到将2D卷积核扩展为伪3D卷积核,从而使得模型能够处理时间维度上的信息。通过添加时间层并采用零初始化和块级残差连接,模型能够在训练初期保持输出的稳定性,这有助于加速训练过程。

在这一过程中,作者还特别设计了一种初始化策略。这种策略的目的是减轻在膨胀过程中可能对特征造成的损坏。具体来说,在一致性训练的初期,只有预训练的空间LoRA权重被插入到在线一致性模型中,而目标一致性模型则不包含这些权重。这样的设计使得目标一致性模型在训练过程中不会对在线模型产生负面影响。随着训练的进行,LoRA权重会通过指数移动平均(EMA)逐渐累积到目标一致性模型中,从而在一定迭代次数后达到预期的权重设置。

作者还引入了一个损失函数,用于衡量模型输出与目标之间的差异。这个损失函数不仅考虑了不同时间步长的重要性,还采用了Huber损失作为距离度量,以提供更平滑的梯度并增强对异常值的鲁棒性。

为了适应稳定扩散社区中的即插即用适配器,或者从头开始训练特定适配器,作者提出了一种无需教师模型的适配策略。在稳定扩散社区中,即插即用适配器起着至关重要的作用,它们可以为模型提供额外的控制能力,比如根据文本提示生成图像。然而,直接将这些适配器应用于视频生成时,可能会遇到细节控制丢失或结果闪烁等问题。为了解决这些问题,作者提出了一种有效的策略,通过调整适配器的LoRA(Low-Rank Adaptation)层来优化它们与视频一致性模型的兼容性。LoRA层是一种轻量级的调整方式,可以在不显著增加计算负担的情况下,改善适配器的性能。

作者还提出了一种基于一步MCMC(马尔可夫链蒙特卡洛)近似的方法来估计得分。这种方法可以在没有教师模型的指导下,对视频生成过程中的得分进行无偏估计。通过使用一步MCMC近似,可以在给定的噪声水平下,对模型的输出进行调整,以更好地反映数据的分布。

在实现图像到视频的生成方面,作者比较了不同的图像预处理方法,包括使用预训练的CLIP图像编码器、在像素空间的轻量下采样块以及在潜在空间的轻量块。研究发现,在潜在空间中首先对图像进行编码,然后重复潜在表示以对齐视频生成的帧数,这种方法能够取得最佳结果。这可能是因为在潜在空间中进行生成可以更好地保持图像的一致性。

为了进一步提升生成结果的质量,作者还提出了在HSV(色调、饱和度、亮度)空间中对生成视频与输入图像进行额外对齐的方法。这有助于确保生成的视频在颜色和亮度上与原始输入图像保持一致,从而提高了视觉质量和真实感。

在可控视频生成方面即使是在图像扩散模型上训练的布局控制适配器,也可以直接集成到视频一致性模型中,以实现可控的视频生成。但是,为了减少细节控制的丢失和结果闪烁,作者通过调整现有适配器的LoRA层,显著提高了控制的稳定性和视觉质量。

实验

作者使用了稳定扩散版本1-5作为大多数实验的基础模型,并采用了DDIM ODE求解器进行训练。遵循潜在一致性模型的做法,作者从1000个时间步中均匀采样了50个用于训练。除了可控视频生成的实验外,所有实验都是在公开可用的WebVid2M数据集上进行的,没有使用任何数据增强或额外数据。对于可控视频生成,作者在TikTok数据集上训练模型,并使用BLIP标注的简短文本提示。

定性结果展示了AnimateLCM在文本到视频生成、图像到视频生成以及可控视频生成中的四步生成结果。这些结果包括了现实主义、2D动漫和3D动漫等不同个性化风格模型。所有结果都令人满意,在不同推理步骤下,AnimateLCM方法能够很好地遵循一致性属性,保持相似的风格和运动。即使仅使用两步推理,也能展示出良好的视觉质量和平滑的运动。随着功能评估(NFE)次数的增加,生成质量相应提高,与教师模型在25步和50步推理步骤下的性能具有竞争力。

AnimateLCM在文本到视频、图像到视频和可控视频生成中的生成结果

定量实验部分通过表格形式展示了AnimateLCM与其他强基线方法DDIM和DPM++的定量指标比较。AnimateLCM在低步数区间(1到4步)中显著超越了基线方法。AnimateLCM的所有这些指标都是在没有使用分类器自由引导(CFG)的情况下评估的,而其他基线方法则应用了7.5 CFG强度,因此在推理峰值内存成本和推理时间上节省了一半。通过将空间权重替换为公开可用的个性化现实风格模型,AnimateLCM进一步增强了性能,展示了其与个性化扩散模型的良好兼容性。

在UCF-101数据集上零样本文本到视频生成的性能比较,展示了AnimateLCM与其他基线方法在FVD和CLIPSIM指标上的表现

作者还验证了所提出的解耦学习策略和特定初始化设计的有效性,并通过实验结果展示了这些策略在提高收敛速度方面的优势。图5中,通过比较不同训练策略下的FVD(Fréchet Video Distance)和CLIPSIM分数,可以看出,采用了解耦一致性学习并结合特别初始化方法的AnimateLCM,在训练过程中收敛得更快,并且在较少的推理步骤下就能实现更低的FVD分数和更高的CLIPSIM分数,这表明其生成的视频在视觉质量和与文本描述的匹配度上都有显著提升。与没有使用解耦策略或没有采用特定初始化方法的基线相比,AnimateLCM展现出了更优的性能,从而验证了其方法在加速视频生成同时保持高生成质量方面的有效性。

提出的解耦一致性学习和特定初始化策略的有效性

图6揭示了直接使用现有适配器(如T2I-Adapter)与经过教师自由适应策略调整后的适配器在控制稳定性和视觉质量方面的对比。实验结果表明,经过教师自由适应过程的适配器能够显著减少细节控制的丢失和结果闪烁问题,从而在保持较低推理步骤的同时,生成更高质量且控制更为精确的视频内容。这一结果验证了AnimateLCM框架在无需额外教师模型指导下,通过简单有效的策略,能够提升适配器性能,实现更优的可控视频生成效果。

使用和不使用无教师适配策略的可控生成结果对比

AnimateLCM通过解耦一致性学习策略和无教师适配策略,在训练效率和生成质量之间取得了良好的平衡。尽管在单步生成样本时可能会产生模糊或有缺陷的结果,但实验结果验证了该方法的有效性。

论文链接:https://arxiv.org/abs/2402.00769

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

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

相关文章

电子电气架构 --- 关于DoIP的一些闲思 上

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

JavaDS —— 单链表 与 LinkedList

顺序表和链表区别 ArrayList : 底层使用连续的空间,可以随机访问某下标的元素,时间复杂度为O(1) 但是在插入和删除操作的时候,需要将该位置的后序元素整体往前或者向后移动,时间复杂度为O&…

什么是智能制造?

科技的每一次飞跃都深刻改变着我们的生产生活方式。其中,智能制造作为工业4.0的核心概念,正引领着全球制造业向更加高效、灵活、智能的方向迈进。那么,究竟什么是智能制造?它如何重塑我们的工业版图,又将对未来社会产生…

TTT架构超越Transformer,ML模型替代RNN隐藏状态!

目录 01 算法原理 02 骨干架构 03 实验结果 一种崭新的大语言模型(LLM)架构有望取代当前主导 AI 领域的 Transformer,并在性能上超越 Mamba。 论文地址:https://arxiv.org/abs/2407.04620 本周一,关于 Test-Time Tr…

修复 Ubuntu 24.04 Dock 丢失应用程序图标

找出应用程序窗口的类名 首先,您需要启动应用程序窗口。然后,按 Alt F2 启动“运行 Command”对话框。当对话框打开时,输入 lg 并按 Enter 键。 在该窗口中,单击Windows按钮,然后找出目标应用程序窗口的类名称。 在/…

Flutter——最详细(Table)网格、表格组件使用教程

背景 用于展示表格组件,可指定线宽、列宽、文字方向等属性 属性作用columnWidths列的宽度defaultVerticalAlignment网格内部组件摆放方向border网格样式修改children表格里面的组件textDirection文本排序方向 import package:flutter/material.dart;class CustomTa…

公众号运营秘籍:8 大策略让你的粉丝翻倍!

在当今信息爆炸的时代,微信公众号的运营者们面临着前所未有的挑战:如何在这个充满竞争的红海中脱颖而出,吸引并留住粉丝?事实上,微信公众号的红利期并未完全过去,关键在于我们如何策略性地运营,…

使用PEFT库进行ChatGLM3-6B模型的QLORA高效微调

PEFT库进行ChatGLM3-6B模型QLORA高效微调 QLORA微调ChatGLM3-6B模型安装相关库使用ChatGLM3-6B模型GPU显存占用准备数据集加载数据集数据处理数据集处理加载量化模型-4bit预处理量化模型配置LoRA适配器训练超参数配置开始训练保存LoRA模型模型推理合并模型使用微调后的模型 QLO…

【Pytorch实用教程】transformer中创建嵌入层的模块nn.Embedding的用法

文章目录 1. nn.Embedding的简单介绍1.1 基本用法1.2 示例代码1.3 注意事项2. 通俗的理解num_embeddings和embedding_dim2.1 num_embeddings2.2 embedding_dim2.3 使用场景举例结合示例1. nn.Embedding的简单介绍 nn.Embedding 是 PyTorch 中的一个模块,用于创建一个嵌入层。…

准大一新生开学千万要带证件照用途大揭秘

1、提前关注好都有哪些考场,以及这些考场大致在网页的哪个位置。比如我选对外经贸大学,我就直接找到第二个点进去。 2、电脑上同时开了谷歌浏览器和IE浏览器,以及手机也登陆了。亲测下来,同一时间刷新,谷歌浏览器能显示…

​cesium、three.js,三维GIS为啥那么热?到底怎么学呢?

​cesium、three.js,三维GIS为啥那么热?他们的应用场景都是什么呢?接下来我们可以一起来看看~ 三维GIS的应用 GIS和3D的应用是趋势,目前已经有很多应用案例,例如BIM,智慧城市,数字孪生等。如下…

汇聚荣拼多多电商实力强吗?

汇聚荣拼多多电商实力强吗?汇聚荣拼多多,作为中国电商领域的后起之秀,已经在市场上占据了一席之地。那么,它的实力究竟如何呢?在回答这个问题之前,我们需要先了解一下拼多多的基本情况。拼多多是一家以社交电商为主要模式的购物…

3个方法教你如果快速绕过Excel工作表保护密码

在日常生活中,我们可能会遇到一些特殊情况,比如不小心忘记了Excel文件中设置的打开密码。别担心!这里为您带来一份详细的Excel文件密码移除教程,助您轻松绕过Excel工作表保护。 方法一:使用备份文件 如果您有文件的备…

深入理解 go map

什么是 map 维基百科里这样定义 map: In computer science, an associative array, map, symbol table, or dictionary is an abstract data type composed of a collection of (key, value) pairs, such that each possible key appears at most once in the collection. 简单…

[nicetomeetyou@onionmail.org].Faust勒索病毒科普知识全解析

引言 随着网络技术的飞速发展,勒索病毒已成为威胁全球网络安全的一大隐患。[nicetomeetyouonionmail.org].Faust作为一种新型勒索病毒,通过其复杂的加密技术和隐蔽的传播手段,给个人、企业及政府机构带来了巨大的损失。本文将从多个维度全面解…

C++的入门——(命名空间, 输入输出 ,缺省参数 ,函数重载 ,引用, 内联函数 ,nullptr)

文章目录 引言c兼容C语⾔c的重要性C在⼯作领域中的应⽤ 一、命名空间namespace的价值namespace的定义命名空间使⽤ 二、 C输⼊&输出三、缺省参数四、函数重载1、参数类型不同2、参数个数不同3、参数类型顺序不同 五、引⽤1、引⽤的概念和定义2、引⽤的特性3、引⽤的使⽤4、…

SCSA第四天

ASPF FTP --- 文件传输协议 Tftp --- 简单文件传输协议 FTP协议相较于Tftp协议 ---- 1,需要进行认证 2,拥有一套完整的命令集 用户认证 防火墙管理员认证 ---- 校验登录者身份合法性 用户认证 --- 上网行为管理中的一环 上网用户认证 --- 三层认证…

Java SQL 连接(初级)

实训Day3 记实 实训第三天,今天是头脑风暴的第二天,课程将SQL与Java(idea)代码结合,这是一项具有挑战性的代码课程。课程将两个应用结合起来,展现了Java代码的跨平台性,展现了Java语言的封装性…

Cesium中实现全球体积云效果的一种方案

原生 Cesium 提供了一种积云的效果,云的物理特征和渲染性能都还不错,这种方案适合表达小范围相对离散的云朵,但是用来实现全球范围下相对连续、柔和渐变的云层比较困难。本文在体渲染的基础上,参考了开源社区中 shadertoy 和 thre…

c#调用c++ dll库报错System.BadImageFormatException

System.BadImageFormatException:“试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)” 1. dll需要选择release模式进行编译 2.选择相同位数,比如x64平台,c#也需要x64 3.不要设置c#不支持的函数供调用 比如: c可以输出到控制台…