文章链接:开源地址:
当天和大家一同窗习下EasyAnimate,这是一种用于视频生成的初级方法,应用Transformer架构的弱小功能成功高效成绩。裁减了最后设计用于2D图像分解的DiT框架,经过引入静止模块以顺应3D视频生成的复杂性。该模块用于捕捉期间灵活,从而确保帧的分歧性和静止过渡的平滑性。静止模块可以顺应各种DiT基线方法,以生成不同格调的视频。在训练和推理阶段,它还能够生成具备不同帧速率和分辨率的视频,适用于图像和视频。
此外,还引入了slice VAE,这是一种紧缩期间轴的翻新方法,繁难生生长期间的视频。目前,EasyAnimate能够生成144帧的视频。基于DiT提供了一个片面的视频制造生态系统,涵盖数据预处置、VAE训练、DiT模型训练(包括基线模型和LoRA模型)以及端到端的视频推理。目前仍在始终致力提高咱们方法的功能。
引见
人工自动在文本、图像和声响的创意内容生成方面曾经选择性地裁减了其运行范围。在视觉畛域,分散模型被宽泛用于图像生成和修正。开源名目如Stable Diffusion在文本转图像方面取得了清楚停顿。但是,在视频生成方面,模型仍面临一些应战,如品质欠佳、视频长度有限以及静止不人造,这标明该技术还有很大的提空中间。
一些开创性的钻研在应用Stable Diffusion方法启动视频分解方面取得了停顿,重点是用于去噪环节的UNet架构。最近,Sora 展现了特殊的视频生成才干,能够生生长达一分钟的高保真视频。这一提高清楚优化了事实环球模拟的实在性,相比其晚辈有了很大的提高。此外,这提醒了Transformer架构在视频生成中的关键作用,促使开源社区以新的激情深化讨论Transformer结构的复杂性。
在此背景下,钻研者们推出了EasyAnimate,一个繁难而弱小的视频生成基线。该框架提供了一个易于访问的训练流程,涵盖了VAE、DiT的训练,并促成了文本到图像和文本到视频生成的混合训练。值得留意的是,设计了一种切片机制以支持长期间视频生成。为VAE实施了两阶段训练战略,以增强解码效果。
在DiT方面,经过引入时空静止模块块来探求视频生成的期间消息。此外,从UViT引入的长衔接丰盛了咱们的架构。DiT的训练分为三个阶段:最后启动图像训练以顺应新训练的VAE;随后在大规模数据集上训练静止模块以生成视频;最后,整个DiT网络在高分辨率视频和图像上启动训练。此外,还提出了一套片面的数据预处置协定,旨在筹划高品质的视频内容及其对应的字幕。希冀EasyAnimate能作为未来视频分解钻研的弱小且高效的基线,进一步推进翻新、提高和探求。
模型架构
下图1展现了EasyAnimate的概述。是基于PixArt-α构建了EasyAnimate。它包括一个文本编码器、视频VAE(视频编码器和视频解码器)以及Diffsuion Transformer(DiT)。经常使用T5编码器作为文本编码器。
视频VAE
在早期的钻研中,基于图像的变分自编码器(VAE)被宽泛用于视频帧的编码和解码,例如AnimateDiff、ModelScopeT2V和OpenSora。一种盛行的图像VAE成功(Stability-AI),如在Stable Diffusion中经常使用的那样,将每个视频帧编码为一个独自的潜在特色,大大增加了帧的空间维度至宽度和高度的八分之一。这种编码技术漠视了期间灵活,将视频降解为静态图像示意。传统基于图像的VAE的一个清楚局限是其不可紧缩期间维度。因此,纤细的帧间期间相关未能被充沛捕捉,造成潜在特色较大,CUDA内存需求急剧参与。这些应战清楚阻碍了此类方法在长视频创立中的适用性。因此,关键应战在于如何在视频编码器和解码器中有效紧缩期间维度。
此外,在使VAE能够同时经常使用图像和视频启动训练。先前的钻研(Blattmann)标明,将图像整合到视频训练流程中可以更有效地优化模型架构,从而改良其文本对齐并提高输入品质。
一个驰名的视频VAE例子是MagViT,据信它被用于Sora框架。为了提高期间维度的紧缩效率,在MagViT中引入了切片机制,并提出了Slice VAE。Slice VAE的架构见下图2。
:最后在EasyAnimate中驳回了MagViT。它驳回了因果3D卷积块。该块在运行个别3D卷积之前,在期间轴上引入了一种前置期间填充模式,从而确保帧应用先前消息增强期间因果相关,同时不受后续帧的影响。此外,MagViT还准许模型处置图像和视频。经过将图像训练与视频训练结合,它能够应用丰盛且易失掉的图像,这已被证实在DiT的训练环节中可以增强文本-图像对齐,从而清楚改善视频生成结果。虽然MagViT在视频编码和解码方面有其优雅的处置模式,但在极长视频序列的训练中面临应战,关键是由于内存限度。详细而言,所需内存理论超越A100 GPU的可用内存,使得不可一步解码大视频(如1024x1024x40)。这个应战突显了须要批处置以成功增量解码,而不是尝试在一步中解码整个序列的必要性。
:为了成功批处置,首先在空间维度上试验了切片机制。但是,这造成了不同批次之间的细微照明不分歧。随后,咱们转向在期间维度上启动切片。经过这种方法,一组视频帧被分为若干局部,每局部区分启动编码和解码,如前面图2(a)所示。但是,不同批次之间的消息散布是不平衡的。例如,由于MagViT中的前向填充环节,第一批次蕴含一个实践特色和额外的填充特色,消息量较少。这种不平衡的消息散布是一个清楚的方面,或者会阻碍模型优化。此外,这种批处置战略也会影响视频处置环节中的紧缩率。
另一种方法是成功跨不同批次的特色共享,如前面图2(b)所示。在解码环节中,特色与其前后的特色(假设有的话)启动衔接,从而发生更分歧的特色并成功更高的紧缩率。这触及经过SpatialTemporalDownBlock(在编码器中标志为浅橙色)对特色启动紧缩,指标是空间和期间维度。经过这种模式,编码特色蕴含期间消息,从而节俭计算资源并同时提高生成结果的品质。
视频Diffsuion Transformer
Diffsuion Transformer的架构如下图3所示。该模型基于PixArt-α,并经过引入如图3(b)所示的静止模块,使其从2D图像分解裁减到3D视频生成。此外,还集成了UViT的衔接,如图3(c)所示,以增强训练环节的稳固性。
静止模块 :静止模块专门设计用于应用帧长度中嵌入的期间消息。经过在期间维度上整合留意力机制,模型取得了异化这些期间数据的才干,这关于生成视频静止至关关键。同时,驳回网格重塑操作来参与留意力机制的输入token池,从而增强对图像中空间细节的应用,最终成功更优秀的生成功能。值得留意的是,与AnimateDiff相似,训练好的静止模块可以顺应各种DiT基线模型,以生成不同格调的视频。
:在训练环节中,观察到深层的DITs趋于不稳固,体现为模型的损失急剧参与,从0.05到0.2,最终回升到1.0。为了增强模型优化环节并防止在经过DIT层启动反向流传时的梯度解体,在相应的transformer块之间经常使用了长腾跃衔接,这关于基于UNet框架的Stable Diffusion模型十分有效。为了在现有的Diffsuion Transformer架构中无缝集成这一修正,而无需片面从新训练,初始化了几个权重为零的全衔接层(前面图3(c)中的灰色块)。
数据预处置
EasyAnimate的训练包括图像数据和视频数据。本节详细引见视频数据处置方法,包括三个关键阶段:视频拆分、视频过滤和视频字幕。这些步骤关于挑选出具备详细字幕的高品质视频数据,以便能够概括视频内容的精髓至关关键。
视频拆分
关于较长的视频拆分,首先经常使用PySceneDetect来识别视频中的场景变动,并依据这些过渡启动场景剪切,以确保视频片段的主题分歧性。剪切后,仅保管长度在3到10秒之间的片段用于模型训练。
视频过滤
从三个方面过滤视频数据,即静止评分、文本区域评分和美学评分。
静止过滤 :在训练视频生成模型时,确保视频展现出静止感以区分于静态图像至关关键。同时,坚持静止的必定分歧性也很关键,由于过于不稳固的静止会影响视频的全体连接性。为此,经常使用RAFT (Teed and Deng, 2020) 在指定的每秒帧数(FPS)之间计算帧之间的静止评分,并依据适当的静止评分过滤视频,以微调静止的灵活性。
文本过滤 :视频数据中理论蕴含特定的文本消息(例如字幕),这不利于视频模型的学习环节。为了处置这个疑问,经常使用光学字符识别(OCR)确定视频中文本区域的比例。OCR在采样帧上启动,以示意视频的文本评分。而后,细心过滤掉任何文本区域超越视频帧面积1%的视频片段,确保剩下的视频对模型训练是最优的。
美学过滤 :此外,互联网上有许多低品质的视频。这些视频或者不足主题焦点或因适度含糊而遭到影响。为了提高训练数据集的品质,咱们计算美学评分并保管高评分的视频,从而取得视觉上吸引人的训练集用于视频生成。
视频字幕
视频字幕的品质间接影响生成视频的效果。对几种大型多模态模型启动了片面比拟,掂量了它们的功能和操作效率。经过细心思考和评价,选用了VideoChat2和VILA来启动视频数据的字幕生成,由于它们在咱们的评价中体现杰出,特意是在成功蕴含细节和期间消息的视频字幕方面十分有出路。
训练环节
总共经常使用了大概1200万张图像和视频数据来训练视频VAE模型和DiT模型。咱们首先训练视频VAE,而后经常使用三阶段的粗到细训练战略将DiT模型顺应新的VAE。
视频VAE
:经常使用Adam优化器,beta=(0.5, 0.9),学习率为1e-4启动训练,总共训练了350k步。总批量大小为128。
:从前述的MagViT初始化Slice VAE的权重。如下图4所示,Slice VAE分两阶段训练。首先,咱们在200k步内训练整个VAE,经常使用Adam优化器,beta=(0.5, 0.9),批量大小为96,学习率为1e-4。接上去,依照Stable Diffusion(Rombach et al., 2021)的程序,在第二阶段仅训练解码器100k步,以更好地提高解码视频的保真度。
视频Diffsuion Transformer
如下图5所示,DiT模型的训练分为三个阶段。首先,在引入新的视频VAE后,咱们经过仅经常使用图像数据来对齐DiT参数与该VAE。随后,咱们经常使用大规模视频数据集与图像数据一同预训练静止模块,从而为DiT引入视频生成才干。经常使用桶战略(bucket strategy)来训练不同分辨率的视频。在这个阶段,虽然模型能够生成具备基本静止的视频,但输入往往品质不佳,体现为静止有限和明晰度欠佳。最后,咱们经常使用高品质的视频数据精细调整整个DiT模型,以提高其生成功能。模型从较低分辨率逐渐裁减到较高分辨率启动训练,这是一种有效的战略,可以节俭GPU内存并增加计算期间。
试验
目前曾经在GitHub仓库中颁布了checkpoint。您可以在以下地址检查生成结果并尝试经常使用EasyAnimate:。
论断
本文引见了EasyAnimate,这是一种基于transformer架构的高功能AI视频生成和训练管道。基于DiT框架,EasyAnimate集成了静止模块,以确保分歧的帧生成和流利的静止过渡。该模型能够在训练和推理环节中顺应不同的帧数和分辨率组合,适用于生成图像和视频。
原文链接: