“弥合闭源与开源视频基础模型之间的差距,加速社区探索。”
- 混元基础模型团队
摘要
视频生成技术的最新进展极大地改变了个人与行业日常生活的面貌。然而,主流的视频生成模型仍为闭源,导致行业与公众社区在视频生成能力上存在显著的性能差异。在本报告中,我们提出了HunyuanVideo,这是一种新型开源视频基础模型,其视频生成性能可与主流闭源模型相媲美,甚至更优。HunyuanVideo具有一个综合框架,整合了多项关键贡献,包括数据整理、先进架构设计、渐进式模型缩放与训练,以及为大规模模型训练和推理设计的高效基础设施。凭借这些,我们成功训练了一个参数超过130亿的视频生成模型,成为所有开源模型中的最大模型。我们进行了广泛的实验并实施了一系列有针对性的设计,以确保高视觉质量、运动动态、文本-视频对齐和先进的拍摄技术。根据专业人工评价结果,HunyuanVideo的性能优于先前的最先进模型,包括Runway Gen-3、Luma 1.6和3个表现最佳的中国视频生成模型。通过发布基础模型及其应用的代码,我们旨在弥合闭源与开源社区之间的鸿沟。这一举措将使社区中的每个人都能够对自己的想法进行实验,从而培育一个更具活力和动态的视频生成生态系统。代码已公开发布在https://github.com/Tencent/HunyuanVideo。
1 引言
凭借广泛的预训练和先进的架构,扩散模型[51, 65, 21, 72, 5, 25, 67, 47]在生成高质量图像和视频方面相较于之前的生成对抗网络(GAN)方法[6]展现出了卓越的性能。然而,与图像生成领域在各种开放平台上涌现出大量新颖算法和应用的情况不同,基于扩散的视频生成模型仍相对沉寂。我们认为,这种停滞不前的主要原因之一是缺乏像文本到图像(T2I)领域[47]那样的稳健开源基础模型。与图像生成模型社区相比,开源与闭源视频生成模型之间出现了显著差距。闭源模型往往掩盖了公开可用的开源替代品,严重限制了公众社区进行算法创新的潜力。尽管最近最先进的模型MovieGen[67]已经展现出了令人瞩目的性能,但其开源发布的里程碑尚未确立。
为弥补现有差距并提升公众社区的能力,本报告提出了我们的开源基础视频生成模型——HunyuanVideo。该系统框架涵盖了训练基础设施、数据整理、模型架构优化和模型训练。通过实验,我们发现,仅通过随机扩展使用流匹配(Flow Matching)[52]训练的基于Transformer的简单生成模型[65]的训练数据、计算资源和模型参数,并不足够高效。因此,我们探索了一种有效的扩展策略,可以在实现所需模型性能的同时,将计算资源需求降低多达 5 5 5倍。凭借这一最佳扩展方法和专用基础设施,我们成功训练了一个包含130亿参数的大型视频模型,并在互联网规模的图像和视频上进行了预训练。经过专门的渐进式微调策略后,HunyuanVideo在视频生成的四个关键方面表现出色:视觉质量、运动动态、视频-文本对齐和语义场景切换。我们使用60人小组获取的1500多个代表性文本提示,对HunyuanVideo与全球领先的视频生成模型(包括Gen-3和Luma 1.6)以及中国表现最好的3个商业模型进行了全面比较。结果表明,HunyuanVideo的整体满意度最高,特别是在运动动态方面表现尤为突出。
2 概述
HunyuanVideo是一个全面的视频训练系统,涵盖了从数据处理到模型部署的各个方面。本技术报告的结构如下:
- 第3节介绍了我们的数据预处理技术,包括过滤和重新标注模型。
- 第4节详细介绍了HunyuanVideo所有组件的架构,以及我们的训练和推理策略。
- 第5节讨论了加速模型训练和推理的方法,从而能够开发出包含130亿参数的大型模型。
- 第6节评估了我们的文本到视频基础模型的性能,并将其与最先进的开源和专有视频生成模型进行了比较。
- 最后,第7节展示了基于预训练基础模型构建的各种应用,并附有相关可视化以及一些与视频相关的功能模型,如视频到音频生成模型。
3 数据预处理
我们采用图像-视频联合训练策略。视频被精心分为五个不同的组,而图像被分为两个组,每个组都根据其各自训练过程的特定要求进行定制。本节将主要深入探讨视频数据整理的复杂性。
我们的数据采集过程严格遵循《通用数据保护条例》(GDPR)[39]框架中概述的原则。此外,我们还采用数据合成和隐私计算等先进技术,以确保符合这些严格标准。
我们的原始数据池最初包含涵盖广泛领域的视频,包括人物、动物、植物、风景、车辆、物体、建筑和动画。每个视频的采集都设定了一套基本阈值,包括最低时长要求。此外,还根据更严格的标准(如空间质量、特定宽高比的要求以及构图、色彩和曝光方面的专业标准)收集了一部分数据子集。这些严格的标准确保了我们的视频具有技术质量和审美吸引力。我们通过实验验证,高质量数据的融入对于显著提升模型性能至关重要。
3.1 数据过滤
我们来自不同来源的原始数据在时长和质量上各不相同。为解决这一问题,我们采用了一系列技术对原始数据进行预处理。首先,我们使用PySceneDetect[19]将原始视频分割成单镜头视频片段。接下来,我们利用OpenCV[18]中的拉普拉斯算子来识别一个清晰的帧,作为每个视频片段的起始帧。我们使用内部VideoCLIP模型为这些视频片段计算嵌入向量。这些嵌入向量有两个用途:(i)我们根据嵌入向量的余弦距离去重相似片段;(ii)我们应用k-means[59]来获得约10K个概念质心,用于概念重采样和平衡。
为持续提升视频的美学、运动和概念范围,我们实现了一个层次化的数据过滤管道来构建训练数据集,如图4所示。该管道融入了多种过滤器,有助于我们从不同角度过滤数据,下文将对此进行介绍。
我们采用Dover[85]从美学和技术两个角度评估视频片段的视觉美学。此外,我们还训练了一个模型来确定清晰度,并剔除视觉模糊的视频片段。通过利用估计的光流[18]预测视频的运动速度,我们过滤掉静态或慢动作视频。我们将PySceneDetect[19]和Transnet v2[76]的结果相结合,以获取场景边界信息。我们利用内部OCR模型去除文本过多的视频片段,以及定位和裁剪字幕。我们还开发了类似YOLOX[24]的视觉模型,用于检测和去除一些遮挡或敏感信息,如水印、边框和标志。为评估这些过滤器的有效性,我们使用较小的HunyuanVideo模型进行了简单实验,并观察性能变化。这些实验所得结果对指导我们构建下文将介绍的数据过滤管道发挥了重要作用。
我们针对视频数据的层次化数据过滤管道产生了五个训练数据集,对应于五个训练阶段(第4.5节)。这些数据集(最后一个微调数据集除外)是通过逐步提高上述过滤器的阈值来整理的。视频的空间分辨率从 256 × 256 × 65 256 \times 256 \times 65 256×256×65逐步提高到 720 × 1280 × 129 720 \times 1280 \times 129 720×1280×129。我们在不同阶段调整阈值的过程中,对过滤器应用了不同程度的严格性(见图4)。接下来将介绍用于微调的最后一个数据集。
为提高模型在最终阶段(第4.7节)的性能,我们构建了一个包含约1M个样本的微调数据集。该数据集经过精心的人工标注整理。标注者的任务是识别出具有高视觉美学和引人入胜的内容运动的视频片段。每个视频片段都会从两个角度进行评估:(i)分解的美学观点,包括色彩和谐、照明、物体强调和空间布局;(ii)分解的运动观点,包括运动速度、动作完整性和运动模糊。最终,我们的微调数据集由具有复杂运动细节的视觉吸引力强的视频片段组成。
我们还通过重用大多数过滤器(排除与运动相关的过滤器)为图像建立了一个层次化的数据过滤管道。同样,我们通过逐步提高应用于数十亿个图像-文本对组成的图像池的过滤阈值,构建了两个图像训练数据集。第一个数据集包含数十亿个样本,用于文本到图像的预训练初始阶段。第二个数据集包含数亿个样本,用于文本到图像的预训练第二阶段。
3.2 数据标注
结构化描述。研究表明[7, 4],描述的精确性和全面性在提高生成模型的即时跟随能力和输出质量方面起着至关重要的作用。以往的大部分工作都集中在提供简短描述[14, 50]或密集描述[93, 9, 10]上。然而,这些方法并非没有缺点,存在信息不完整、话语冗余和不准确等问题。为了获得更全面、信息密度更高且更准确的描述,我们开发并实现了一个内部视觉语言模型(Vision Language Model,VLM),旨在为图像和视频生成结构化描述。这些以JSON格式编写的结构化描述从不同角度提供了多维度的描述性信息,包括:1)简短描述:捕捉场景的主要内容。
2)密集描述:详细阐述场景内容,特别包括与视觉内容相结合的场景转换和摄像机运动,例如摄像机跟随某个主体。3)背景:描述主体所处的环境。4)风格:描述视频的风格,如纪录片式、电影式、写实或科幻。5)镜头类型:识别突出或强调特定视觉内容的视频镜头类型,如航拍镜头、特写镜头、中景镜头或远景镜头。6)照明:描述视频的照明条件。7)氛围:传达视频的氛围,如温馨、紧张或神秘。
此外,我们还扩展了JSON结构,以纳入额外的从元数据派生的元素,包括源标签、质量标签以及来自图像和视频元信息的其他相关标签。通过实施精心设计的丢弃机制,并结合排列和组合策略,我们为每张图像和视频组合这些多维描述,从而合成长度和模式各异的描述,旨在提高生成模型的泛化能力并防止过拟合。我们利用此描述器为训练数据集中的所有图像和视频提供结构化描述。
摄像机运动类型。我们还训练了一个能够预测14种不同摄像机运动类型的摄像机运动分类器,包括拉近、拉远、上摇、下摇、左摇、右摇、上倾、下倾、左倾、右倾、绕左旋转、绕右旋转、静态镜头和手持镜头。将高置信度的摄像机运动类型预测结果融入JSON格式的结构化描述中,从而使生成模型具备摄像机运动控制能力。
4 模型架构设计
我们的混元视频(HunyuanVideo)模型的概览如图5所示。本节描述了因果三维变分自编码器(Causal 3D VAE)、扩散主干网络以及缩放定律实验。
4.1 三维变分自编码器设计
与以往的工作[67, 93]类似,我们训练了一个三维变分自编码器(3DVAE),以将像素空间的视频和图像压缩到紧凑的潜在空间。为了处理视频和图像,我们采用了因果三维卷积(CausalConv3D)[95]。对于形状为 ( T + 1 ) × 3 × H × W (T+1) \times 3 \times H \times W (T+1)×3×H×W的视频,我们的3DVAE将其压缩为形状为 ( T c t + 1 ) × C × ( H c s ) × ( W c s ) \left(\frac{T}{c_{t}}+1\right) \times C \times\left(\frac{H}{c_{s}}\right) \times\left(\frac{W}{c_{s}}\right) (ctT+1)×C×(csH)×(csW)的潜在特征。在我们的实现中, c t = 4 c_{t}=4 ct=4, c s = 8 c_{s}=8 cs=8,且 C = 16 C=16 C=16。这种压缩显著减少了后续扩散Transformer模型的标记数量,使我们能够在原始分辨率和帧率下训练视频。模型结构如图6所示。
4.1.1 训练
与大多数先前的工作[67, 11, 104]不同,我们不依赖于预训练的图像变分自编码器(VAE)进行参数初始化;相反,我们从零开始训练我们的模型。为了平衡视频和图像的重建质量,我们以4:1的比例混合视频和图像数据。除了常规使用的 L 1 L_{1} L1重建损失和KL损失 L k l L_{kl} Lkl外,我们还结合了感知损失 L l p i p s L_{lpips} Llpips和生成对抗网络(GAN)对抗损失 L a d v L_{adv} Ladv[22]来提高重建质量。完整的损失函数如公式1所示。
Loss = L 1 + 0.1 L l p i p s + 0.05 L a d v + 1 0 − 6 L k l \text{Loss} = L_{1} + 0.1L_{lpips} + 0.05L_{adv} + 10^{-6}L_{kl} Loss=L1+0.1Llpips+0.05Ladv+10−6Lkl
在训练过程中,我们采用课程学习策略,从低分辨率的短视频逐渐过渡到高分辨率的长视频。为了提高高运动视频的重建质量,我们随机选择1到8之间的采样间隔,以在视频片段中均匀采样帧。
4.1.2 推理
在单个GPU上对高分辨率长视频进行编码和解码可能会导致内存不足(OOM)错误。为了解决这一问题,我们采用时空切片策略,将输入视频沿空间和时间维度分割成重叠的切片。每个切片分别进行编码/解码,然后将输出拼接在一起。对于重叠区域,我们使用线性组合进行融合。这种切片策略使我们能够在单个GPU上以任意分辨率和时长对视频进行编码/解码。
我们观察到,在推理过程中直接使用切片策略可能会由于训练和推理之间的不一致而导致可见伪影。为了解决这个问题,我们引入了一个额外的微调阶段,在该阶段中,训练过程中随机启用/禁用切片策略。这确保了模型既适用于切片策略也适用于非切片策略,从而保持了训练和推理之间的一致性。
表1将我们的VAE与开源的最先进VAE进行了比较。在视频数据上,我们的VAE与其他视频VAE相比,PSNR显著提高。在图像上,我们的性能超过了视频VAE和图像VAE。图7显示了几个 256 × 256 256 \times 256 256×256分辨率的示例。我们的VAE在文字、小人脸和复杂纹理方面表现出显著优势。
4.2 统一的图像和视频生成架构
在本节中,我们介绍了混元视频(HunyuanVideo)中的Transformer设计,它采用统一的完全注意力(Full Attention)机制,主要原因有三:首先,与分割的时空注意力[7, 67, 93, 79]相比,它已展现出更优的性能。其次,它支持图像和视频的统一生成,简化了训练过程,提高了模型的可扩展性。最后,它更有效地利用了现有的大型语言模型(LLM)相关的加速能力,提升了训练和推理效率。模型结构如图8所示。
输入。对于给定的视频-文本对,模型在4.1节中描述的3D潜在空间内运行。具体而言,对于视频分支,输入首先被压缩成形状为 T × C × H × W T \times C \times H \times W T×C×H×W的潜在表示。为了统一输入处理,我们将图像视为单帧视频。然后,使用大小为 k t × k h × k w k_{t} \times k_{h} \times k_{w} kt×kh×kw的3D卷积,将这些潜在表示分割并展开成长度为 T k t ⋅ H k h ⋅ W k w \frac{T}{k_{t}} \cdot \frac{H}{k_{h}} \cdot \frac{W}{k_{w}} ktT⋅khH⋅kwW的1D令牌序列。对于文本分支,我们首先使用先进的大型语言模型(LLM)将文本编码成捕捉细粒度语义信息的嵌入序列。同时,我们采用CLIP模型提取包含全局信息的池化文本表示。然后,将该表示在维度上进行扩展,并添加到时间步嵌入中,再输入到模型中。
模型设计。为了有效地整合文本和视觉信息,我们遵循[47]中介绍的“双流到单流”混合模型设计策略,用于视频生成。在双流阶段,视频和文本令牌分别通过多个Transformer块进行处理,使每种模态能够在不受干扰的情况下学习其自己的适当调制机制。在单流阶段,我们将视频和文本令牌连接起来,并输入到后续的Transformer块中,以实现有效的多模态信息融合。这种设计捕捉了视觉和语义信息之间的复杂交互,提高了模型的整体性能。
位置嵌入。为了支持多分辨率、多纵横比和不同持续时间的生成,我们在每个Transformer块中使用旋转位置嵌入(Rotary Position Embedding,RoPE)[77]。RoPE将旋转频率矩阵应用于嵌入,增强了模型捕捉绝对和相对位置关系的能力,并在大型语言模型中表现出一定的外推能力。考虑到视频数据中时间维度的复杂性增加,我们将RoPE扩展到三维。具体而言,我们分别为时间( T T T)、高度( H H H)和宽度( W W W)的坐标计算旋转频率矩阵。然后,将查询(query)和键(key)的特征通道划分为三个段 ( d t , d h , d w ) \left(d_{t}, d_{h}, d_{w}\right) (dt,dh,dw),每个段乘以对应的坐标频率,并将段连接起来。此过程生成位置感知的查询和键嵌入,用于注意力计算。
详细的模型设置请参考表2。
4.3 文本编码器
在文本到图像和文本到视频等生成任务中,文本编码器通过在潜在空间中提供指导信息而发挥关键作用。一些代表性工作[66,21,51]通常使用预训练的CLIP[69]和T5-XXL[71]作为文本编码器,其中CLIP使用Transformer编码器,而T5使用编码器-解码器结构。相比之下,我们利用具有仅解码器结构的预训练多模态大型语言模型(Multimodal Large Language Model,MLLM)作为文本编码器,具有以下优势:(i)与T5相比,经过视觉指令微调后的MLLM在特征空间中具有更好的图像-文本对齐性,这减轻了扩散模型中指令跟随的难度;(ii)与CLIP相比,MLLM在图像细节描述和复杂推理方面已表现出更优的能力[53];(iii)MLLM可以通过遵循用户提示前附加的系统指令来作为零样本学习者[8],帮助文本特征更加关注关键信息。此外,如图9所示,MLLM基于因果注意力,而T5-XXL使用双向注意力,为扩散模型提供更好的文本指导。因此,我们遵循[55]引入额外的双向令牌精炼器来增强文本特征。我们为不同目的为混元视频配置了一系列MLLM[78, 17, 26]。在每个设置下,MLLM都表现出优于传统文本编码器的性能。
此外,CLIP文本特征作为文本信息的摘要也很有价值。如图8所示,我们采用CLIP-Large文本特征的最终非填充令牌作为全局指导,融入到双流和单流DiT块中。
4.4 模型扩展
语言模型训练中的神经扩展定律[41,36]为理解和优化机器学习模型的性能提供了有力工具。通过阐明模型大小( N N N)、数据集大小( D D D)和计算资源( C C C)之间的关系,这些定律有助于推动开发更有效和高效的模型,最终促进大型模型训练的成功。
与先前的大型语言模型[41,36,81,1,2]和图像生成模型[49, 42]的扩展定律相比,视频生成模型通常依赖于预训练的图像模型。因此,我们的初步工作是建立与文本到图像相关的基本扩展定律。在这些基本扩展定律的基础上,我们随后推导出了适用于文本到视频模型的扩展定律。通过整合这两组扩展定律,我们能够系统地确定视频生成任务中适当的模型和数据配置。
4.4.1 图像模型缩放定律
Kaplan等人[41]和Hoffmann等人[36]探索了语言模型在交叉熵损失上的经验缩放定律。在基于扩散的视觉生成领域,Li等人[49]研究了UNet的缩放特性,而基于Transformer的工作,如DiT[65]、U-ViT[3]、Lumina-T2X[23]和SD3[21]仅研究了样本质量与网络复杂性之间的缩放行为,却未探索扩散模型所使用的计算资源和均方误差(MSE)损失方面的幂律。
为了填补这一空白,我们开发了一系列类似于DiT的模型,命名为DiT-T2X,以区别于原始的DiT,其中X可以是图像(I)或视频(V)。DiT-T2X采用T5-XXL[71]作为文本编码器,上述的3D VAE作为图像编码器。文本信息通过交叉注意力层注入到模型中。DiT-T2X系列有七种尺寸,从92M到6.6B不等。这些模型使用DDPM[34]和v-prediction[73]进行训练,采用一致的超参数和具有256像素分辨率的相同数据集。我们遵循[36]中介绍的实验方法,并构建神经缩放定律进行拟合:
N opt = a 1 C b 1 , D opt = a 2 C b 2 N_{\text {opt }}=a_{1} C^{b_{1}}, \quad D_{\text {opt }}=a_{2} C^{b_{2}} Nopt =a1Cb1,Dopt =a2Cb2。
如图10(a)所示,每个模型的损失曲线从左上角到右下角递减,并且总是穿过其旁边更大尺寸模型的损失曲线。这意味着每条曲线都会与更大和更小模型的曲线形成两个交点。在两个交点对应的计算资源下,中等尺寸的模型是最优的(损失最低)。在获得所有x轴值下的最低损失包络后,我们代入方程(2)得出:
a
1
=
5.48
×
1
0
−
4
a_{1}=5.48 \times 10^{-4}
a1=5.48×10−4,
b
1
=
0.5634
b_{1}=0.5634
b1=0.5634,
a
2
=
0.324
a_{2}=0.324
a2=0.324,
b
2
=
0.4325
b_{2}=0.4325
b2=0.4325,其中
a
1
a_{1}
a1、
a
2
a_{2}
a2、
N
opt
N_{\text {opt }}
Nopt 、
D
opt
D_{\text {opt }}
Dopt 的单位为十亿,而
C
C
C的单位为千万亿次浮点运算(Peta FLOPs)。图10(b)和图10(c)表明,DiT-T2X(I)系列很好地符合幂律。最后,给定计算预算,我们可以计算出最优的模型大小和数据集大小。
4.4.2 视频模型缩放定律
基于T2X(I)模型的缩放定律,我们选择每个尺寸模型对应的最佳图像检查点(即包络上的模型)作为视频缩放定律实验的初始化模型。图10(d)、图10(e)和图10(f)展示了T2X(V)模型的缩放定律结果,其中 a 1 = 0.0189 a_{1}=0.0189 a1=0.0189, b 1 = 0.3618 b_{1}=0.3618 b1=0.3618, a 2 = 0.0108 a_{2}=0.0108 a2=0.0108, b 2 = 0.6289 b_{2}=0.6289 b2=0.6289。基于图10(b)和图10(e)的结果,并考虑到训练消耗和推理成本,我们最终将模型大小设置为13B。然后可以计算出图像和视频训练所需的标记数量,如图10(c)和图10(f)所示。值得注意的是,通过图像和视频缩放定律计算出的训练标记数量仅分别与图像和视频训练的第一阶段相关。从低分辨率到高分辨率的渐进训练缩放特性将在未来的工作中进行探索。
4.5 模型预训练
我们使用Flow Matching[52]进行模型训练,并将训练过程分为多个阶段。我们首先在256px和512px的图像上对模型进行预训练,然后对256px到960px的图像和视频进行联合训练。
4.5.1 训练目标
在本工作中,我们采用Flow Matching框架[52,21,13]来训练我们的图像和视频生成模型。Flow Matching通过一系列概率密度函数的变量变换,将一个复杂的概率分布转换为一个简单的概率分布,并通过逆变换生成新的数据样本。
在训练过程中,给定训练集中的图像或视频潜在表示 x 1 \mathbf{x}_{1} x1。我们首先从逻辑正态分布[21]中采样 t ∈ [ 0 , 1 ] t \in[0,1] t∈[0,1],并按照高斯分布初始化噪声 x 0 ∼ N ( 0 , I ) \mathbf{x}_{0} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) x0∼N(0,I)。然后使用线性插值方法[52]构造训练样本 x t \mathbf{x}_{t} xt。模型被训练来预测速度 u t = d x t / d t \mathbf{u}_{t}=d \mathbf{x}_{t} / d t ut=dxt/dt,该速度引导样本 x t \mathbf{x}_{t} xt向样本 x 1 \mathbf{x}_{1} x1移动。通过最小化预测速度 v t \mathbf{v}_{t} vt与真实速度 u t \mathbf{u}_{t} ut之间的均方误差来优化模型参数,该均方误差表示为损失函数
L generation = E t , x 0 , x 1 ∥ v t − u t ∥ 2 \mathcal{L}_{\text {generation }}=\mathbb{E}_{t, \mathbf{x}_{0}, \mathbf{x}_{1}}\left\|\mathbf{v}_{t}-\mathbf{u}_{t}\right\|^{2} Lgeneration =Et,x0,x1∥vt−ut∥2。
在推理过程中,首先抽取一个噪声样本 x 0 ∼ N ( 0 , I ) \mathbf{x}_{0} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) x0∼N(0,I)。然后使用一阶欧拉常微分方程(ODE)求解器,通过对模型估计的 d x t / d t d \mathbf{x}_{t} / d t dxt/dt值进行积分来计算 x 1 \mathbf{x}_{1} x1。此过程最终生成最终样本 x 1 \mathbf{x}_{1} x1。
4.5.2 图像预训练
在我们的早期实验中,我们发现一个经过良好预训练的模型可以显著加速视频训练的收敛速度,并提高视频生成性能。因此,我们引入了一个两阶段渐进式图像预训练策略,作为视频训练的热身。
图像阶段1(256px训练)。模型首先使用低分辨率的256px图像进行预训练。具体而言,我们遵循先前的工作[66],基于256px启用多方面训练,这有助于模型学习生成具有广泛纵横比的图像,同时避免图像预处理中的裁剪操作引起的文本图像不对齐。同时,使用低分辨率样本进行预训练可以使模型从更多样本中学习更多的低频概念。
图像阶段2(混合尺度训练)。我们引入第二个图像预训练阶段,以进一步增强模型在更高分辨率(如512px)上的能力。一个简单的解决方案是直接基于512px的图像进行微调。然而,我们发现,在512px图像上微调后的模型在256px图像生成上的性能会严重下降,这可能会影响后续在256px视频上的预训练。因此,我们提出了混合尺度训练,其中每个训练全局批次包含两个或更多尺度的多方面桶。每个尺度都有一个锚定大小,然后基于锚定大小构建多方面桶。我们在具有锚定大小256px和512px的两尺度数据集上训练模型,以学习更高分辨率的图像,同时保持低分辨率上的能力。我们还为不同图像尺度的微批次引入了动态批次大小,以最大化GPU内存和计算利用率。
4.5.3 视频-图像联合训练
多种纵横比和时长分桶。在3.1节描述的数据过滤过程之后,视频具有不同的纵横比和时长。为了有效利用数据,我们根据时长和纵横比将训练数据分类到桶中。我们创建了 B T B_{T} BT个时长桶和 B A R B_{AR} BAR个纵横比桶,总共得到 B T × B A R B_{T} \times B_{AR} BT×BAR个桶。由于不同桶中的标记数量不同,我们为每个桶分配一个最大批次大小,以防止出现内存溢出(OOM)错误,从而优化GPU资源利用率。在训练之前,所有数据都被分配到最近的桶中。在训练期间,每个排名随机从一个桶中预取批次数据。这种随机选择确保模型在每个步骤上都在不同大小的数据上进行训练,这有助于通过避免在单一大小上训练的局限性来保持模型的泛化能力。
渐进式视频-图像联合训练。直接从文本生成高质量、长时长的视频序列通常会导致模型收敛困难和次优结果。因此,渐进式课程学习已成为训练文本到视频模型的广泛采用策略。在HunyuanVideo中,我们设计了一个全面的课程学习策略,首先使用T2I参数进行模型初始化,并逐步增加视频时长和分辨率。
- 低分辨率、短视频阶段。模型建立文本与视觉内容之间的基本映射,确保短期动作的一致性和连贯性。
- 低分辨率、长视频阶段。模型学习更复杂的时间动态和场景变化,确保在更长的时间段内保持时间和空间的一致性。
- 高分辨率、长视频阶段。模型提高视频分辨率和细节质量,同时保持时间连贯性并管理复杂的时间动态。
此外,在每个阶段,我们都以不同比例结合图像进行视频-图像联合训练。这种方法解决了高质量视频数据的稀缺性问题,使模型能够学习更广泛和多样的世界知识。它还有效防止了由于视频和图像数据之间的分布差异而导致的图像空间语义的灾难性遗忘。
4.6 提示重写
为解决用户提供的提示在语言风格和长度上的可变性问题,我们采用Hunyuan-Large模型[78]作为提示重写模型,将原始用户提示调整为模型偏好的提示。该提示重写模型在无训练框架内使用,利用详细的提示指令和上下文学习示例来提高其性能。此提示重写模块的关键功能如下:
- 多语言输入适应:该模块旨在处理和理解各种语言的用户提示,确保意义和上下文得以保留。
- 提示结构标准化:该模块将提示重新表述为符合标准化信息架构的形式,类似于训练字幕。
- 复杂术语简化:该模块将用户复杂的措辞简化为更直接的表述,同时保持用户的原始意图。
此外,我们实施了自我修正技术[43]来完善最终提示。这涉及对原始提示和重写版本进行比较分析,确保输出既准确又与模型的能力相匹配。
为加速和简化应用过程,我们还使用LoRA对Hunyuan-Large模型进行了微调,用于提示重写。此LoRA微调的训练数据来源于通过无训练方法收集的高质量重写对。
4.7 高性能模型微调
在预训练阶段,我们使用了大型数据集进行模型训练。虽然该数据集信息丰富,但数据质量存在相当大的差异性。为创建一个能够生成高质量、动态视频,并在连续运动控制和角色动画方面提高熟练度的稳健生成模型,我们从完整数据集中精心挑选了四个特定子集进行微调。这些子集首先使用自动化数据过滤技术进行初步筛选,然后进行人工审核。此外,我们还实施了各种模型优化策略,以最大限度地提高生成性能。
5. 模型加速
5.1 推理步骤减少
为提高推理效率,我们首先考虑减少推理步骤的数量。与图像生成相比,在推理步骤较少的情况下保持生成视频的空间和时间质量更具挑战性。受先前观察结果的启发,即生成过程中的大部分变化发生在初始时间步[101,67,98,99],我们利用时间步平移来处理推理步骤较少的情况。具体而言,给定推理步骤 q ∈ { 1 , 2 , … , Q } q \in\{1,2, \ldots, Q\} q∈{1,2,…,Q}, t = 1 − q Q t=1-\frac{q}{Q} t=1−Qq 是生成模型的输入时间条件,其中噪声在 t = 1 t=1 t=1 时初始化,生成过程在 t = 0 t=0 t=0 时停止。我们不直接使用 t t t,而是通过平移函数 t ′ = s ∗ t 1 + ( s − 1 ) ∗ t t^{\prime}=\frac{s * t}{1+(s-1) * t} t′=1+(s−1)∗ts∗t 将 t t t 映射到 t ′ t^{\prime} t′,其中 t ′ t^{\prime} t′ 是输入时间条件, s s s 是平移因子。如果 s > 1 s>1 s>1,则流模型更多地依赖于早期时间步。一个关键观察结果是,推理步骤较少时需要更大的平移因子 s s s。根据经验,当推理步骤为50步时, s s s 设置为7,而当推理步骤数小于20时, s s s 应增加到17。时间步平移策略使生成模型能够以较少的步骤匹配大量推理步骤的结果。
MovieGen[67]应用线性二次调度器来实现类似目标。调度器如图11a所示。然而,我们发现,在推理步骤极少(例如10步)的情况下,我们的时间步平移比线性二次调度器更有效。如图11b所示,线性二次调度器导致视觉质量较差。
5.2 文本引导蒸馏
无分类器指导(CFG)[35]显著提高了文本条件扩散模型的样本质量和运动稳定性。然而,由于它需要在每个推理步骤中对无条件输入进行额外输出,因此增加了计算成本和推理延迟。特别是对于大型视频模型和高分辨率视频生成,同时生成文本条件和无文本条件视频时的推理负担极为昂贵。为解决这一局限性,我们将无条件输入和条件输入的合并输出蒸馏到单个学生模型[60]中。具体而言,学生模型基于引导尺度进行条件设置,并与教师模型具有相同的结构和超参数。我们使用与教师模型相同的参数初始化学生模型,并使用从1到8随机采样的引导尺度进行训练。我们通过实验发现,文本引导蒸馏大约带来了1.9倍的加速。
5.3 高效且可扩展的训练
为了实现可扩展性和高效训练,我们在腾讯Angel机器学习团队的AngelPTM[62]大规模预训练框架上训练HunyuanVideo。在本部分中,我们首先概述了用于训练的硬件和基础设施,然后详细介绍了模型并行方法及其优化方法,最后是自动容错机制。
5.3.1 硬件基础设施
为确保大规模分布式训练中的高效通信,我们搭建了一个专用的分布式训练框架,即腾讯星脉网络[48],用于实现服务器间的高效通信。所有训练任务的GPU调度均通过腾讯Angel机器学习平台完成,该平台提供了强大的资源管理和调度能力。
5.3.2 并行策略
HunyuanVideo训练采用了5D并行策略,包括张量并行(TP)[74]、序列并行(SP)[45]、上下文并行(CP)[63],以及结合Zero优化的数据并行(DP + ZeroCache[62])。张量并行(TP)基于矩阵的分块计算原理。模型参数(张量)被分配到不同的GPU上,以减少GPU内存的使用并加速计算。每个GPU负责层中不同部分张量的计算。
序列并行(SP)基于TP。输入序列维度被切片,以减少LayerNorm和Dropout等算子的重复计算,并减少相同激活的存储,从而有效减少了计算资源和GPU内存的浪费。此外,对于不满足SP要求的输入数据,支持工程等价的SP填充功能。
上下文并行(CP)在序列维度上进行切片,以支持长序列训练。每个GPU负责计算不同序列切片的注意力。具体来说,使用环形注意力[30]通过多个GPU实现长序列的高效训练,突破了单个GPU的GPU内存限制。
此外,利用数据并行+ZeroCache来支持通过数据并行进行水平扩展,以满足训练数据集不断增加的需求。然后,在数据并行的基础上,使用ZeroCache优化策略进一步减少模型状态(模型参数、梯度和优化器状态)的冗余,并统一使用GPU内存,以最大化GPU内存的使用效率。
5.3.3 优化
注意力优化。随着序列长度的增加,注意力计算成为训练的主要瓶颈。我们使用FusedAttention加速了注意力计算。
重计算和激活卸载优化。重计算是一种用计算换取存储的技术。它主要由三部分组成:a) 指定某些层或块进行重新计算,b) 在前向计算中释放激活,c) 在后向计算中通过重新计算获得依赖的激活,这显著减少了训练过程中GPU内存的使用。此外,考虑到PCIe带宽和主机内存大小,采用了基于层的激活卸载策略。在不降低训练性能的情况下,将GPU内存中的激活卸载到主机内存中,进一步节省了GPU内存。
5.3.4 自动容错
在HunyuanVideo的大规模训练稳定性方面,使用自动容错机制可以快速恢复因常见硬件故障而中断的训练。这避免了频繁手动恢复训练任务的情况。通过自动检测错误并迅速用健康节点替换以拉起训练任务,训练稳定性达到了99.5%。
6 基础模型性能
文本对齐 视频生成模型的关键指标之一是它们准确遵循文本提示的能力。这种能力对于这些模型的有效性至关重要。然而,一些开源模型往往难以捕获所有主体或准确表示多个主体之间的关系,特别是在输入文本提示复杂时。HunyuanVideo在生成紧密遵循提供的文本提示的视频方面展示了强大的能力。如图12所示,它有效地管理了场景中的多个主体。
高质量 我们还进行了微调过程,以增强生成视频的空间质量。如图13所示,HunyuanVideo能够生成具有超详细内容的视频。
高动态运动 在本部分中,我们展示了HunyuanVideo根据给定提示生成高动态视频的能力。如图14所示,我们的模型在生成涵盖广泛场景和各种运动的视频方面表现出色。
概念泛化 生成模型最理想的特征之一是其概念泛化能力。如图15所示,文本提示描述了一个场景:“在一个遥远的星系中,一名宇航员漂浮在一个闪闪发光的粉红色宝石般的湖面上,湖面映出了周围天空鲜艳的色彩,创造出一幅令人惊叹的景象。宇航员轻轻地漂浮在湖面上,而水轻柔的声音低语着这个星球的秘密。他伸出手,指尖滑过凉爽而平静的水面。”值得注意的是,这个特定场景在训练数据集中没有出现。此外,显而易见的是,所描绘的场景结合了几个也未在训练数据中出现的概念。
动作推理和规划 利用大型语言模型的能力,HunyuanVideo可以根据提供的文本提示生成连续动作。如图16所示,HunyuanVideo以逼真的风格有效地捕捉了所有动作。
字符理解和书写 HunyuanVideo能够生成场景文本和逐渐出现的手写文本,如图17所示。
6.1 与SOTA模型的比较
为了评估混元视频(HunyuanVideo)的性能,我们从闭源视频生成模型中选择了五个强大的基线模型。总共使用了1,533个文本提示,在一次运行中利用混元视频生成了相同数量的视频样本。为了公平比较,我们只进行了一次推理,避免了任何对结果的精挑细选。在与基线方法进行比较时,我们保持了所有选定模型的默认设置,确保了视频分辨率的一致性。60名专业评估人员进行了评估,结果如表3所示。视频根据三个标准进行评估:文本一致性、运动质量和视觉质量。值得注意的是,混元视频整体表现最佳,特别是在运动质量方面尤为突出。我们随机抽取了1533个视频中的600个供公众访问{ }^{1} 。
7 应用
7.1 基于视频的音频生成
我们的视频转音频(V2A)模块旨在通过加入同步音效和上下文合适的背景音乐来增强生成的视频内容。在传统的电影制作流程中,拟音设计是不可或缺的一部分,极大地提升了视觉媒体的听觉真实感和情感深度。然而,拟音的制作既耗时又需要高度的专业知识。随着越来越多的文本转视频(T2V)模型的出现,其中大多数缺乏相应的拟音生成能力,从而限制了它们制作完全沉浸式内容的能力。我们的V2A模块通过自主生成与输入视频和文本提示相匹配的影院级拟音,弥补了这一关键差距,从而能够合成连贯且整体引人入胜的多媒体体验。
7.1.1 数据
与文本转视频(T2V)模型不同,视频转音频(V2A)模型对数据有不同的要求。如上所述,我们构建了一个包含视频-文本对的视频数据集。然而,该数据集中的所有数据并不都适合用于训练V2A模型。例如,一些视频缺少音频流,另一些则包含大量的旁白内容或其环境音频轨道已被删除并替换为不相关的元素。为了解决这些挑战并确保数据质量,我们设计了一个专门为V2A训练量身定制的稳健数据过滤流程。
首先,我们过滤掉没有音频流或静音比例超过80%的视频。接下来,我们使用像[38]这样的帧级音频检测模型来检测音频流中的语音、音乐和一般声音。基于此分析,我们将数据分为四个不同的类别:纯声音、带语音的声音、带音乐的声音和纯音乐。随后,为了优先考虑高质量数据,我们训练了一个受CAVP[54]启发的模型来计算视听一致性得分,该得分量化了每个视频的视觉和听觉组件之间的一致性。结合音频类别标签,我们使用此评分系统从每个类别中有系统地抽样数据,从原始数据集中保留了约250,000小时的数据用于预训练。在监督微调阶段,我们进一步精炼了选择,精选了数百万个高质量片段(80,000小时)的子集。
对于特征提取,我们使用CLIP[70]以4 fps的时间分辨率获得视觉特征,并随后对这些特征进行重新采样以与音频帧率对齐。为了生成字幕,我们使用[29]作为声音字幕模型,[20]作为音乐字幕模型。当声音和音乐字幕都可用时,我们按照[67]中详细描述的方法将它们合并成结构化的字幕格式。
7.1.2 模型
与上述文本转视频模型一样,我们的视频转音频生成模型也采用了基于流匹配的扩散变换器(DiT)作为其架构主干。模型的详细设计如图18所示,展示了从三流结构到单流DiT框架的过渡。
该模型在由在梅尔频谱图上训练的变分自编码器(VAE)编码的潜在空间中运行。具体来说,音频波形首先转换为二维梅尔频谱图表示。然后,使用预训练的VAE将此频谱图编码到潜在空间中。对于特征提取,我们利用预训练的CLIP[70]和T5[71]编码器分别独立提取视觉和文本特征。这些特征随后使用独立的线性投影后跟SwiGLU激活函数投影到与DiT兼容的潜在空间中,如图18所示。
为了有效整合多模态信息,我们引入了堆叠的三流Transformer模块,这些模块分别处理视觉、音频和文本模态。随后是单流Transformer模块,以确保跨模态的无缝融合和对齐。这种设计增强了音视频和音文本表征之间的对齐,有助于提高多模态的一致性。
一旦扩散Transformer生成了潜在表征,变分自编码器(VAE)解码器就会重构相应的梅尔频谱图。最后,使用预训练的HifiGAN声码器[44]将梅尔频谱图转换回音频波形。该框架确保了音频信号的高保真重构,同时保持了强大的多模态对齐。
7.2 混元图像到视频
7.2.1 预训练
图像到视频(I2V)任务是视频生成任务中的常见应用。它通常意味着给定一张图像和一个字幕,模型使用该图像作为第一帧来生成与字幕匹配的视频。尽管朴素的混元视频(HunyuanVideo)是一个文本到视频(T2V)模型,但它可以很容易地扩展到I2V模型。具体来说,如4.2节所述,T2V模型的输入是一个形状为
T
×
C
×
H
×
W
T \times C \times H \times W
T×C×H×W 的潜在表征X,其中T、C、H和W分别代表压缩视频的帧、通道、高度和宽度。类似于Emu[25],为了引入图像条件I,我们将I视为视频的第一帧,并应用零填充来创建一个
T
×
C
×
H
×
W
T \times C \times H \times W
T×C×H×W 的张量
I
o
I_{o}
Io,如图19所示。此外,我们使用一个尺寸为
T
×
1
×
H
×
W
T \times 1 \times H \times W
T×1×H×W 的二进制掩码m,其中第一个时间位置设置为1,所有其他位置设置为0。然后,将潜在表征X、张量
I
o
I_{o}
Io 和掩码m沿通道维度拼接起来,形成模型的输入。请注意,由于输入张量的通道已从C变为
2
C
+
1
2C+1
2C+1,如图19所示,我们需要将模型第一个卷积模块的参数从
ϕ
=
(
C
in
(
=
C
)
,
C
out
,
s
h
,
s
w
)
\phi=\left(C_{\text {in }}(=C), C_{\text {out }}, s_{h}, s_{w}\right)
ϕ=(Cin (=C),Cout ,sh,sw) 调整为
ϕ
′
=
(
C
in
′
(
=
2
C
+
1
)
,
C
out
,
s
h
,
s
w
)
\phi^{\prime}=\left(C_{\text {in }}^{\prime}(=2C+1), C_{\text {out }}, s_{h}, s_{w}\right)
ϕ′=(Cin ′(=2C+1),Cout ,sh,sw),其中每个组件分别对应输入通道
C
i
n
/
C
i
n
′
C_{i n} / C_{i n}^{\prime}
Cin/Cin′、输出通道
C
out
C_{\text {out }}
Cout 、卷积核的高度
s
h
s_{h}
sh 和卷积核的宽度
s
w
s_{w}
sw。为了保留T2V模型的表征能力,
ϕ
′
\phi^{\prime}
ϕ′ 的前C个输入通道直接复制到
ϕ
\phi
ϕ,其余通道初始化为零。我们在与T2V模型相同的数据上对I2V模型进行预训练,结果如图20所示。
7.2.2 下游任务微调:人像图像到视频生成
我们对两百万个人像视频进行监督微调,以增强人物的动作和整体美感。除了第3节中描述的标准数据过滤流程外,我们还使用人脸和身体检测器来过滤掉包含超过五个人的训练视频。我们还移除了主要目标较小的视频。最后,对剩余视频进行人工检查,以获得最终的高质量人像训练数据集。
在训练方面,我们采用渐进式微调策略,在微调过程中逐渐解冻各层的模型参数,同时保持其他参数冻结。这种方法使模型能够在人像领域实现高性能,同时不会过多牺牲其固有的泛化能力,从而保证在自然景观、动物和植物领域也能取得令人称道的性能。此外,我们的模型还支持使用第一帧和最后一帧作为条件进行视频插值。在训练过程中,我们以一定的概率随机丢弃文本条件,以提高模型的性能。一些演示结果如图21所示。
7.3 虚拟形象动画
混元视频在多个方面实现了可控的虚拟形象动画。它能够使用明确的驱动信号(如语音信号、表情模板和姿态模板)来动画化角色。此外,它还集成了使用文本提示的隐式驱动范式。图22展示了如何利用混元视频的力量从多模态条件中动画化角色。为了保持严格的外观一致性,我们通过插入参考图像的潜在表征作为强指导来修改混元视频架构。如图22(b,c)所示,我们使用3DVAE对参考图像进行编码,获得
z
ref
∈
R
1
×
c
×
h
×
w
z_{\text {ref }} \in \mathbb{R}^{1 \times c \times h \times w}
zref ∈R1×c×h×w,其中
c
=
16
c=16
c=16。然后,我们将其在时间维度上重复t次,并与
z
t
z_{t}
zt 在通道维度上拼接,得到修改后的噪声输入
z
^
t
∈
R
t
×
2
c
×
h
×
w
\hat{z}_{t} \in \mathbb{R}^{t \times 2 c \times h \times w}
z^t∈Rt×2c×h×w。为了实现可控动画,我们采用了各种适配器。以下是对它们的描述。
7.3.1 上半身说话虚拟形象生成
近年来,音频驱动的数字化人物算法取得了显著进展,尤其是在说话头部表现方面。早期的算法,如loopy[94]、emo[80]和hallo[87],主要关注头部区域,通过分析音频信号来驱动数字化人物的面部表情和唇形。甚至更早的算法,如wav2lip[68]和DINet[97],则专注于修改输入视频中的嘴部区域,以实现唇形与音频的一致性。然而,这些算法通常局限于头部区域,忽略了身体的其他部分。为了实现更自然、更生动的数字化人物表现,我们提出了一种扩展到上半身的音频驱动算法。在该算法中,数字化人物不仅在说话时使面部表情和唇形与音频同步,还会随着音频节奏性地移动身体。
基于音频驱动,我们的模型可以根据输入的音频信号自适应地预测数字化人物的面部表情和姿态动作信息。这使得被驱动的角色能够以情感和表情说话,增强了数字化人物的表现力和真实感。如图22(b)所示,对于单个音频信号驱动的部分,音频通过低语特征提取模块获得音频特征,然后以交叉注意的方式注入到主网络中。值得注意的是,注入过程将与面部遮罩相乘,以控制音频的作用区域。在增强头部和肩部控制能力的同时,也将大大降低身体变形的概率。为了获得更生动的头部运动,引入了头部姿态运动参数和表情运动参数,并以嵌入的方式添加到时间步中。在训练过程中,头部运动参数由鼻尖关键点序列的方差给出,而表情参数由面部关键点的方差给出。
7.3.2 全控全身虚拟形象生成
在学术界和工业界,明确控制数字化角色的运动和表情一直是一个长期存在的问题,而最近扩散模型的进步为逼真的虚拟形象动画迈出了第一步。然而,由于基础视频生成模型的能力有限,当前的虚拟形象动画解决方案在可控性方面存在不足。我们证明了一个更强大的T2V模型可以将虚拟形象视频生成提升到完全可控的阶段。在图22(c)中,我们展示了HunyuanVideo如何作为强大的基础,通过有限的修改将通用的T2V模型扩展到完全可控的虚拟形象生成模型。
姿态驱动:我们可以使用姿态模板明确控制数字化角色的身体运动。我们使用Dwpose[92]从任何源视频中检测骨骼视频,并使用3DVAE将其转换为潜在空间中的 z pose z_{\text {pose }} zpose 。我们认为这简化了微调过程,因为输入视频和驱动视频都以图像表示,并且使用共享的VAE进行编码,从而具有相同的潜在空间。然后,我们通过逐元素相加的方式将驱动信号注入到模型中,即 z ^ t + z pose \hat{z}_{t}+z_{\text {pose }} z^t+zpose 。请注意, z ^ t \hat{z}_{t} z^t包含参考图像的外观信息。我们使用全参数微调,并以预训练的T2V权重作为初始化。
表情驱动:我们还可以使用隐式表情表示来控制数字化角色的面部表情。尽管面部特征点在这一领域被广泛应用[58, 16],但我们认为使用特征点会导致跨身份不对齐引起的身份泄露。相反,我们使用隐式表示作为驱动信号,因为它们具有身份和表情分离的能力。在这项工作中,我们使用VASA[88]作为表情提取器。如图22(c)所示,我们采用轻量级表情编码器将表情表示转换为潜在空间中的令牌序列,即 z exp ∈ R t × n × c z_{\exp } \in \mathbb{R}^{t \times n \times c} zexp∈Rt×n×c,其中 n n n是每帧的令牌数。通常,我们设置 n = 16 n=16 n=16。与姿态条件不同,我们使用交叉注意来注入 z exp z_{\exp } zexp,因为 z ^ t \hat{z}_{t} z^t和 z exp z_{\exp } zexp在空间方面不是自然对齐的。我们每 K K K个双流和单流DiT层添加一个交叉注意层 Attn exp ( q , k , v ) \operatorname{Attn}_{\exp }(q, k, v) Attnexp(q,k,v)来注入表情潜在。设第 i i i个DiT层后的隐藏状态为 h i h_{i} hi,则表情 z exp z_{\exp } zexp注入到 h i h_{i} hi中可以表示为: h i + Attn exp ( h i , z exp , z exp ) ∗ M face h_{i}+\operatorname{Attn}_{\exp }\left(h_{i}, z_{\exp }, z_{\exp }\right) * \mathcal{M}_{\text {face }} hi+Attnexp(hi,zexp,zexp)∗Mface ,其中 M face \mathcal{M}_{\text {face }} Mface 是面部区域遮罩,用于指导 z exp z_{\exp } zexp应该应用在哪里, ∗ * ∗表示逐元素相乘。同样,也采用了全参数调优策略。
混合条件驱动 结合姿态和表情驱动策略,推导出混合控制方法。在此场景中,身体运动由明确的骨骼姿态序列控制,而面部表情则由隐式表情表示确定。我们以端到端的方式联合微调T2V模块和添加的模块。在推理过程中,身体运动和面部运动可以由不同的驱动信号控制,从而赋予更强的可编辑性。
7.4 应用演示
我们展示了丰富的虚拟形象动画结果,以表明将HunyuanVideo赋能的虚拟形象动画带给下一代的优越性和潜力。
音频驱动 图23显示,HunyuanVideo作为音频驱动的虚拟形象动画的强大基础模型,能够合成生动且高保真度的视频。我们总结了我们方法的三方面优势:
- 上半身动画。我们的方法不仅能够驱动肖像角色,还能驱动上半身虚拟形象图像,扩大了其应用场景范围。
- 动态场景建模。我们的方法可以生成具有生动逼真背景运动的视频,如波浪起伏、人群移动和微风拂动树叶。
- 生动的虚拟形象动作。我们的方法能够仅通过音频让角色在说话时做出生动的手势动作。
姿态驱动 我们还在图24中展示了HunyuanVideo在多个方面极大提升了姿态驱动动画的性能:
- 高身份一致性。我们的方法即使在姿态幅度大的情况下也能很好地保持帧间的身份一致性,无需进行人脸替换,因此可作为真正的端到端动画解决方案。
- 准确跟随复杂姿态。我们的方法能够处理非常复杂的姿态,如转身和双手交叉。
- 高运动质量。我们的方法在动态建模方面具有显著能力。例如,结果显示在服装动态和纹理一致性方面表现良好。
- 泛化能力。我们的方法表现出惊人的高泛化能力。它可以为各种虚拟形象图像制作动画,如真实人物、动漫角色、陶俑甚至动物。
表情驱动 图25展示了HunyuanVideo如何在三个方面增强肖像表情动画:
- 夸张表情。我们的方法能够为给定的肖像制作动画,模仿任何面部动作,即使动作幅度大和表情夸张。
- 准确模仿眼神注视。给定任何表情模板,我们可以精确控制肖像的眼神运动,即使眼球运动极端且幅度大。
- 泛化能力。我们的方法具有高泛化能力。它不仅能为真实人物肖像制作动画,还能为动漫或CGI角色制作动画。
混合驱动 最后,我们在图26中展示了混合条件控制揭示了完全可控和可编辑虚拟形象的潜力。我们强调以下优势:
- 混合条件控制。我们的方法首次能够使用独立或多个信号对身体和面部运动进行完全控制,为虚拟形象动画从演示到应用铺平了道路。
- 半身动画。我们的方法支持上半身完全控制,在保持高质量和保真度的同时,提供了丰富的可编辑性。
- 泛化能力。我们的方法既适用于真实人物图像,也适用于CGI角色。
8 相关工作
由于扩散模型在图像生成领域[72,34]的成功,视频生成领域[28, 40, 75, 84, 91, 96, 58, 12, 90, 57]的探索也变得流行起来。VDM[32]是首批将2D U-Net从图像扩散模型扩展到3D U-Net以实现基于文本的生成的方法之一。后来的工作,如MagicVideo[103]和Mindscope[82],引入了1D时间注意力机制,通过在潜在扩散模型的基础上构建来减少计算量。在本报告中,我们没有使用2D+1D时间块方式进行运动学习。相反,我们使用了与FLUX[47]中类似的双流注意力块,用于处理所有视频帧。继Imagen之后,Imagen Video[33]采用级联采样管道,通过多个阶段生成视频。除了传统的端到端文本到视频(T2V)生成外,使用其他条件的视频生成也是一个重要方向。这类方法通过其他辅助控制生成视频,如深度图[27, 31]、姿态图[89, 37, 83, 56]、RGB图像[5, 15, 61]或其他引导运动视频[100, 86]。尽管最近的开源模型如Stable video diffusion[5]、Open-sora[102]、Open-sora-plan[46]、Mochi-1[79]和Allegro[104]在生成性能上表现出色,但其性能仍远远落后于闭源的最先进的视频生成模型,如Sora[7]和MovieGen[67]。