开启AI短剧新纪元!SkyReels-V1/A1双剑合璧!昆仑万维开源首个面向AI短剧的视频生成模型

news2025/4/13 15:02:33

论文链接:https://arxiv.org/abs/2502.10841
项目链接:https://skyworkai.github.io/skyreels-a1.github.io/
Demo链接:https://www.skyreels.ai/
开源地址:https://github.com/SkyworkAI/SkyReels-A1
https://github.com/SkyworkAI/SkyReels-V1

亮点直击

  • 提出了SkyReels-A1,一种用于肖像动画的全新框架,采用DiT(扩散Transformer)架构,以提升运动传递精度、身份保留和时间一致性的保真度。该框架结合了基于表情标志点的动态条件模块,以及连接视觉-文本语义空间的跨模态对齐机制。

  • 分阶段的训练方法被设计用于逐步优化运动-表情相关性以及主体特定特征的不变性。

  • 通过一系列全面的实验评估了SkyReels-A1的性能,结果表明其能够生成高效的结果,并展现出对各种组合变化的无缝适应性。最后,为了支持进一步的研究和行业应用,代码和演示材料均已公开提供。

总结速览

解决的问题

  • 身份失真:现有方法在动画生成过程中难以保持人物身份的稳定性,导致身份信息泄露或扭曲。

  • 背景不稳定:动画生成时背景容易出现抖动或不一致的现象。

  • 面部表情不真实:特别是在仅头部动画的场景中,面部表情缺乏真实感。

  • 全身动画的挑战:当动画扩展到全身时,现有方法容易产生视觉伪影或不自然的动作。

  • 身份与运动融合的困难:现有方法难以在保持身份一致性的同时,实现细腻的表情和动作生成。

提出的方案

  • 基于视频扩散Transformer(DiT)的框架:利用DiT的强大生成能力,提升面部运动传递的精度、身份保留和时间一致性。

  • 表情感知条件模块:通过表情引导的标志点输入驱动连续视频生成,增强表情与动作的关联性。

  • 面部图像-文本对齐模块:深度融合面部特征与运动轨迹,强化身份一致性。

  • 多阶段训练策略:逐步优化表情与运动的相关性,同时确保身份稳定再现。

  • 统一潜在空间建模:在单一潜在空间中联合建模面部细节和全身动态,解决身份漂移和背景不一致问题。

应用的技术

  • 视频扩散Transformer(DiT):利用其强大的生成能力和时间一致性建模能力。

  • 表情感知标志点序列:作为条件输入,驱动细腻的表情生成。

  • 图像-文本对齐技术:增强面部特征与运动轨迹的融合。

  • 多阶段训练范式:分阶段优化姿势准确性、身份稳定性和运动真实性。

  • 模块化设计:便于集成到实时视频编辑系统和个性化虚拟化身平台。

达到的效果

  • 高质量动画生成:生成高保真、富有表现力的肖像动画,适应多样化的身体比例。

  • 身份一致性:在动画过程中保持人物身份的完整性,避免身份失真。

  • 自然的表情与动作:实现细腻的面部表情和自然的全身动作,提升动画的真实感。

  • 广泛的适用性:适用于虚拟化身、远程通信、数字媒体生成等多种应用场景。

  • 优于现有方法:在定量评估和用户研究中表现优异,特别是在处理复杂解剖结构和微表情方面。

  • 模块化与易集成性:便于集成到下游应用中,如实时视频编辑和个性化虚拟化身平台。

方法

SkyReels-A1框架概述

给定输入视频序列和参考肖像图像,从视频中提取表情感知的面部标志点,这些标志点作为运动描述符,用于将表情传递到肖像上。本文的方法基于DiT(扩散Transformer)的条件视频生成框架,将这些表情感知的面部标志点直接集成到输入潜在空间中。与先前的研究一致,采用了在VAE(变分自编码器)架构中构建的姿态引导机制。该组件将表情感知的面部标志点编码为DiT框架的条件输入,从而使模型能够捕捉关键的低维视觉属性,同时保持面部特征的语义完整性。

表情感知关键点

本文为肖像动画引入了一种类似的基于面部关键点的运动条件输入。精准的面部表情运动表征是实现富有表现力的肖像动画的基础,它能够捕捉人类情感和微表情的细微变化,从而显著提升动画头像的真实感和情感共鸣。目前的扩散模型方法主要在训练过程中使用 2D 面部关键点 作为运动表征,但这类方法存在关键限制:

  1. 2D 关键点的推理依赖性 —— 由于推理阶段仍然依赖 2D 关键点,目标表情与参考肖像之间容易出现错位,导致 表情不匹配身份泄漏伪影

  2. 3D 关键点提取的精度不足 —— 现有方法使用 MediaPipe 等第三方工具从视频序列中提取 3D 关键点,但这些方法往往缺乏捕捉细粒度表情细节和复杂面部动态的精度,尤其是在 非正面视角极端表情 情况下。

为了解决上述问题,本文提出了 3D Facial Expressions,一个集成神经渲染模块的框架,以提升重建面部表情的精度与真实感。不同于依赖可微分渲染(differentiable rendering)的传统方法,我们用 神经渲染机制 取代这一组件,使得模型能够更高效地学习,并具备更强的泛化能力,适应多样的面部表情。该架构能够提取 高精度 3D 关键点,以更高的保真度捕捉复杂的运动细节和面部动态。借助这一优化的运动表征,本文的方法显著增强了肖像动画的真实感,同时确保 更精准的表情匹配、身份一致性和多场景适应性

3D 关键点引导模块

为了确保驱动信号输入视频潜在表示(latent representations) 之间的时空一致性,我们提出 时空对齐关键点引导模块(Spatio-temporal Alignment Landmark Guide Module)。该模块的核心组件是 3D 因果编码器(3D causal encoder),通过精细调优,该编码器能够更有效地捕捉驱动信号的运动表征,确保运动信号与输入视频潜在特征之间的精准对齐。

该模块通过 3D 因果编码器 直接投影 驱动信号,使其与视频潜在特征共享同一个潜在空间。这种共享表征 弥合了运动信号与生成视频帧之间的鸿沟,确保时空动态的同步性。此外,进一步的 精细调优 强化了编码器对复杂运动模式的捕捉能力,从而提升运动迁移的真实性和细节还原度。

这一方法不仅确保 精准的运动对齐,还能在生成的视频中保持 身份一致性和运动稳定性,从而实现高质量、时序稳定的肖像动画。

面部图像-文本对齐

在现有的肖像动画方法中,在改变面部表情的同时保持身份一致性仍然是一个亟待深入研究的挑战。早期的方法主要通过 跨注意力机制(cross-attention)身份保持适配器(identity-preserving adapters) 来增强身份一致性。然而,我们发现此类方法不仅 训练难度较大,还 引入了大量额外参数,增加了计算开销。

受CogVideoX架构的启发,我们在表情生成过程中,通过在输入阶段拼接面部图像和视频的嵌入(embeddings)来提升身份一致性。这种方法不仅能够增强身份保持能力,还可以无缝继承预训练基础模型的能力。

为此,本文引入了一个 轻量级的可学习映射模块,该模块采用 多层感知机(MLP)P,用于将面部特征映射到文本特征空间。

其中, 是由视觉编码器Evision提取的 身份嵌入(identity embedding),该编码器基于预训练的图像-文本模型。由于 能够捕捉精细的面部特征,而视觉特征(visual)则涵盖更广泛的面部信息,并且对光照、遮挡等外部因素的敏感度较低,因此融合这两类信息能够提升生成结果中面部特征的准确性。

实验

本节首先概述了实验的实施细节,包括数据来源、数据过滤过程、基线模型以及实验中使用的基准。然后展示了与选定基线模型的对比实验结果,以验证所提出模块的有效性。

实验设置

实施细节:基于先进的视频扩散Transformer模型CogVideoX-5B进行训练,使用收集的数据集与公开数据集的组合。在多阶段训练过程中,第一阶段训练2K步,第二阶段训练2K步,最后阶段训练1K步,批量大小为512。前两个阶段的学习率设置为1e-5,最后阶段降至1e-6,使用AdamW优化器。实验在32台NVIDIA A800 GPU上进行。在推理过程中,使用DDIM采样器,并将无分类器引导的尺度设置为3。实验中使用的静态参考图像由Flux生成,并来源于Pexels。

数据集来源:训练视频片段来源于NeRSemble数据集、HDTF、DFEW、RAVDESS、Panda70M以及从互联网上收集的约1W个角色视频片段。

数据过滤:在数据预处理阶段,实施了一系列细致的过滤步骤,以确保视频-文本数据集的质量和适用性。工作流程包括三个阶段:单角色提取、运动过滤和后处理。首先,选择单角色视频,并使用现有工具清理视频内容,解决相机捕捉伪影和背景噪声等问题。然后使用MediaPipe检测的面部关键点提取头部姿态信息和嘴部标志点。通过计算头部角度和嘴部变化,筛选出具有显著面部表情和头部运动的样本。最后,基于前几步检测到的面部位置,我们将视频裁剪或填充至固定分辨率480×720,以满足模型的输入要求。从每个视频中随机选择一帧,并使用clip编码器将面部编码为嵌入向量,为模型提供必要的面部特征信息。

基线模型:为了全面评估SkyReels-A1在不同场景下的性能,将其与多个肖像动画基线模型进行比较,包括开源解决方案LivePortrait、Follow-Your-Emoji以及闭源商业产品Runway Act One。

评估指标

为了衡量肖像动画结果的泛化质量和运动准确性,本文采用了三个指标分别评估身份相似性、图像质量以及表情和头部姿态的准确性。具体来说:

  1. 身份保留:使用FaceSim-Arc和FaceSim-Cur分数,计算源图像与生成图像之间的余弦相似度。

  2. 图像质量:使用预训练网络结合FID(Fréchet Inception Distance)进行评估。

  3. 运动准确性:通过比较驱动帧和生成帧之间提取的面部混合形状(blendshapes)和头部姿态的L1差异,使用FaceAnalysis3和OpenPose4工具进行评估。

与基线模型的比较

定量结果:本文进行了跨身份运动传递的实验,其中参考肖像从100张野外图像中随机选择,驱动序列则来自我们的测试数据集。下表1展示了定量评估结果。本文提出的模型在生成保真度和运动精度方面均优于基于扩散和非扩散的方法。通过引入视频扩散Transformer作为先验,SkyReels-A1在图像质量上取得了显著提升,超越了现有方法(闭源商业模型Act-One除外)。

定性结果:下图4展示了肖像动画的定性比较,补充了自动化评估指标的结果。前两个示例突出了模型在驱动或源肖像存在显著姿态变化时仍能准确传递运动的鲁棒性。第三和第四个案例中,模型有效地捕捉并传递了细腻的面部表情(如嘴唇运动和眼神),同时保持了原始肖像的视觉一致性。此外,最后一个案例表明,通过集成拼接技术,模型在动画全身图像时表现出更高的稳定性,即使参考肖像的面部区域较小。

用户研究

为了进一步验证SkyReels-A1模型在运动准确性和表现力方面的优越性,进行了用户研究,招募了来自不同地理区域的20名参与者对合成视频进行评估。每位参与者回答了一系列比较问题,评估两个关键方面:运动准确性和人类相似性。评估过程中明确告知模型名称,参与者被要求选择最能准确复制驱动序列表情和运动的视频。在收集的100份反馈中,63%的参与者更倾向于选择SkyReels-A1,证实了其在保留面部表情和姿态保真度方面的增强能力优于现有基线模型。

使用

clone代码&准备环境:

git clone https://github.com/SkyworkAI/SkyReels-A1.git
cd SkyReels-A1

# create env using conda
conda create -n skyreels-a1 python=3.10
conda activate skyreels-a1

下载依赖:

pip install -r requirements.txt

下载预训练weights

# !pip install -U "huggingface_hub[cli]"
huggingface-cli download SkyReels-A1 --local-dir local_path --exclude "*.git*" "README.md" "docs"

推理

执行脚本

python inference.py

如果脚本运行成功,可以得到一个输出 mp4 文件。该文件包含以下结果:视频、输入图像或视频以及生成的结果。

结论

本研究提出了 SkyReels-A1,一种基于视频扩散Transformer的创新肖像动画框架。通过融合运动与身份表征,本文的方法在细微和夸张的面部表情生成方面均实现了高保真度。通过广泛的自动评估和用户评测,我们验证了模型在不同定制场景下的鲁棒性和适应性。我们期待这些具有前景的结果能够推动肖像动画应用的发展。

参考文献

[1] SkyReels-A1: Expressive Portrait Animation in Video Diffusion Transformers

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

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

相关文章

【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt

在移动应用开发中,数据存储是一个至关重要的环节。对于使用UniApp开发的Android应用来说,缓存(Cache)是一种常见的数据存储方式,它能够提高应用的性能和用户体验。然而,缓存数据在用户清除缓存或清除应用数…

使用IDEA如何隐藏文件或文件夹

选择file -> settings 选择Editor -> File Types ->Ignored Files and Folders (忽略文件和目录) 点击号就可以指定想要隐藏的文件或文件夹

git从零学起

从事了多年java开发,一直在用svn进行版本控制,如今更换了公司,使用的是git进行版本控制,所以打算记录一下git学习的点滴,和大家一起分享。 百度百科: Git(读音为/gɪt/)是一个开源…

汽车低频发射天线介绍

汽车低频PKE天线是基于RFID技术的深度研究及产品开发应用的一种天线,在汽车的智能系统中发挥着重要作用,以下是关于它的详细介绍: 移动管家PKE低频天线结构与原理 结构:产品一般由一个高Q值磁棒天线和一个高压电容组成&#xff…

【Java分布式】Nacos注册中心

Nacos注册中心 SpringCloudAlibaba 也推出了一个名为 Nacos 的注册中心,相比 Eureka 功能更加丰富,在国内受欢迎程度较高。 官网:https://nacos.io/zh-cn/ 集群 Nacos就将同一机房内的实例划分为一个集群,一个服务可以包含多个集…

5G学习笔记之BWP

我们只会经历一种人生,我们选择的人生。 参考:《5G NR标准》、《5G无线系统指南:如微见著,赋能数字化时代》 目录 1. 概述2. BWP频域位置3. 初始与专用BWP4. 默认BWP5. 切换BWP 1. 概述 在LTE的设计中,默认所有终端均能处理最大2…

(十一)基于vue3+mapbox-GL实现模拟高德实时导航轨迹播放

要在 Vue 3 项目中结合 Mapbox GL 实现类似高德地图的实时导航轨迹功能,您可以按照以下步骤进行: 安装依赖: 首先,安装 mapbox-gl 和 @turf/turf 这两个必要的库: npm install mapbox-gl @turf/turf引入 Mapbox GL: 在组件中引入 mapbox-gl 并初始化地图实例: <templ…

【Transformer模型学习】第三篇:位置编码

文章目录 0. 前言1. 为什么需要位置编码&#xff1f;2. 如何进行位置编码&#xff1f;3. 正弦和余弦位置编码4. 举个例子4.1 参数设置4.2 计算分母项4.3 计算位置编码4.4 位置编码矩阵 5. 相对位置信息6. 改进的位置编码方式——RoPE6.1 RoPE的核心思想6.2 RoPE的优势 7. 总结 …

(十 六)趣学设计模式 之 责任链模式!

目录 一、 啥是责任链模式&#xff1f;二、 为什么要用责任链模式&#xff1f;三、 责任链模式的实现方式四、 责任链模式的优缺点五、 责任链模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;…

20250225-代码笔记03-class CVRPModel AND other class

文章目录 前言一、class CVRPModel(nn.Module):__init__(self, **model_params)函数功能函数代码 二、class CVRPModel(nn.Module):pre_forward(self, reset_state)函数功能函数代码 三、class CVRPModel(nn.Module):forward(self, state)函数功能函数代码 四、def _get_encodi…

面试常问的压力测试问题

性能测试作为软件开发中的关键环节&#xff0c;确保系统在高负载下仍能高效运行。压力测试作为性能测试的重要类型&#xff0c;旨在通过施加超出正常负载的压力&#xff0c;观察系统在极端条件下的表现。面试中&#xff0c;相关问题常被问及&#xff0c;包括定义、重要性、与负…

使用Java构建高效的Web服务架构

使用Java构建高效的Web服务架构 随着互联网技术的飞速发展&#xff0c;Web服务在现代应用中扮演着至关重要的角色。尤其是在企业级应用中&#xff0c;如何构建一个高效、可扩展且易维护的Web服务架构&#xff0c;成为了开发者和架构师面临的一项重要挑战。Java作为一种成熟、稳…

《Python实战进阶》No 10:基于Flask案例的Web 安全性:防止 SQL 注入、XSS 和 CSRF 攻击

第10集&#xff1a;Web 安全性&#xff1a;防止 SQL 注入、XSS 和 CSRF 攻击 在现代 Web 开发中&#xff0c;安全性是至关重要的。无论是用户数据的保护&#xff0c;还是系统稳定性的维护&#xff0c;开发者都需要对常见的 Web 安全威胁有深刻的理解&#xff0c;并采取有效的防…

蓝桥备赛(六)- C/C++输入输出

一、OJ题目输入情况汇总 OJ&#xff08;online judge&#xff09; 接下来会有例题 &#xff0c; 根据一下题目 &#xff0c; 对这些情况进行分析 1.1 单组测试用例 单在 --> 程序运行一次 &#xff0c; 就处理一组 练习一&#xff1a;计算 (ab)/c 的值 B2009 计算 (ab)/c …

企微审批中MySQL字段TEXT类型被截断的排查与修复实践

在MySQL中&#xff0c;TEXT类型字段常用于存储较大的文本数据&#xff0c;但在一些应用场景中&#xff0c;当文本内容较大时&#xff0c;TEXT类型字段可能无法满足需求&#xff0c;导致数据截断或插入失败。为了避免这种问题&#xff0c;了解不同文本类型&#xff08;如TEXT、M…

[ISP] AE 自动曝光

相机通过不同曝光参数&#xff08;档位快门时间 x 感光度 x 光圈大小&#xff09;控制进光量来完成恰当的曝光。 自动曝光流程大概分为三部分&#xff1a; 1. 测光&#xff1a;点测光、中心测光、全局测光等&#xff1b;通过调整曝光档位使sensor曝光在合理的阈值内&#xff0…

小程序画带圆角的圆形进度条

老的API <canvas id"{{canvasId}}" canvas-id"{{canvasId}}" style"opacity: 0;" class"canvas"/> startDraw() {const { canvasId } this.dataconst query this.createSelectorQuery()query.select(#${canvasId}).bounding…

16. LangChain实战项目2——易速鲜花内部问答系统

需求简介 易束鲜花企业内部知识库如下&#xff1a; 本实战项目设计一个内部问答系统&#xff0c;基于这些内部知识&#xff0c;回答内部员工的提问。 在前面课程的基础上&#xff0c;需要安装的依赖包如下&#xff1a; pip install docx2txt pip install qdrant-client pip i…

FPGA开发,使用Deepseek V3还是R1(8):FPGA的全流程(简略版)

以下都是Deepseek生成的答案 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;1&#xff09;&#xff1a;应用场景 FPGA开发&#xff0c;使用Deepseek V3还是R1&#xff08;2&#xff09;&#xff1a;V3和R1的区别 FPGA开发&#xff0c;使用Deepseek V3还是R1&#x…

微服务学习(1):RabbitMQ的安装与简单应用

目录 RabbitMQ是什么 为什么要使用RabbitMQ RabbitMQ的安装 RabbitMQ架构及其对应概念 队列的主要作用 交换机的主要作用 RabbitMQ的应用 通过控制面板操作&#xff08;实现收发消息&#xff09; RabbitMQ是什么 RabbitMQ是一个开源的消息队列软件&#xff08;消息代理…