之前几章有相应的介绍,一张图片和一个音频,生成一段对嘴视频。
FLOAT: https://www.cnblogs.com/cj8988/p/18984186 (带表情,比较快,但是会裁剪为正方形尺寸)
DICE-Talk:https://www.cnblogs.com/cj8988/p/18957718 (带表情,比较慢)
ComfyUI_Sonic:https://www.cnblogs.com/cj8988/p/18952604 (基础版,效果好)
本章在介绍一个类似的可以项目,我的8GPU电脑没有跑起来~。
这是一个非常先进的 "单样本说话人视频生成" (One-shot Talking Avatar) 项目,在数字人生成领域引起了广泛关注。
GitHub 地址 : https://github.com/Tencent-Hunyuan/HunyuanVideo-Avatar
一、核心概述 (What is it?)
简单来说,HunyuanVideo-Avatar 的核心功能是:仅需一张包含人物全身或半身的照片和一段音频,就能生成一个高质量、动作自然、口型同步的说话视频 。
这里的关键词是 "One-shot" (单样本) ,意味着你不需要为特定人物录制几分钟甚至几小时的视频来进行模型训练,大大降低了生成数字人视频的门槛。它生成的不再是简单的"大头贴"式说话视频,而是包含自然头部姿态和身体动作的 全身 (full-body) 视频。
该项目的技术基于一篇名为 《HunyuanVideo-Avatar: One-shot Talking Avatar with Attentive Cross-modal Diffusion》 的学术论文,代表了腾讯在视频生成和数字人领域的前沿研究成果。
二、主要特点与优势 (Key Features)
-
高质量与高分辨率:
- 能够生成 1024x1024 分辨率的高清视频,细节丰富,人物面部和服装的纹理都非常清晰。
-
单样本驱动 (One-shot):
- 这是其最大的亮点。传统的数字人技术通常需要大量的特定人物数据进行训练,而 HunyuanVideo-Avatar 仅凭一张静态图片就能工作,极大地提升了易用性和效率。
-
全身视频生成 (Full-body Generation):
- 与许多只关注面部区域的 "Talking Head" 项目(如 SadTalker 的早期版本)不同,它能够生成包含上半身甚至全身的视频,并驱动身体产生与说话内容相匹配的、自然的微小动作和姿态变化。
-
精准的音唇同步 (Accurate Lip-sync):
- 生成的视频口型与输入音频高度同步,无论是中文还是英文,都能实现非常逼真的对口型效果。
-
自然的动作与表情 (Natural Motion & Expression):
- 模型不仅能同步口型,还能根据音频的韵律和情感,生成自然的头部转动、眨眼、以及轻微的身体摇摆,让数字人看起来不那么"僵硬",更具生命力。
-
代码和模型开源 (Open Source):
- 腾讯混元团队将项目的完整代码、预训练好的模型以及详细的使用指南都在 GitHub 上开源,供开发者和研究者使用、学习和改进,极大地推动了社区的发展。
三、技术原理解析 (How it Works)
HunyuanVideo-Avatar 的技术框架非常精巧,主要采用了一个 两阶段(Two-stage) 的生成流程:
阶段一:音频到动作序列的生成 (Audio-to-Motion Generation)
- 输入:一段音频。
- 输出 :一系列描述人体姿态的 动作序列(例如,3DMM 面部参数和人体骨骼关键点)。
- 作用:这个阶段将音频中的信息(如语音内容、节奏、停顿)解码为连续的、自然的身体和面部动作指令。它将"说什么"和"怎么动"分离开来,使得动作的生成更加可控和自然。
阶段二:动作到视频的生成 (Motion-to-Video Generation)
- 输入 :
- 源人物图片 (Reference Image)。
- 阶段一生成的动作序列 (Motion Sequence)。
- 核心技术 :注意力交叉模态扩散模型 (Attentive Cross-modal Diffusion Model)。
- 工作流程 :
- 模型首先从源图片中提取人物的外观特征(如相貌、服装、背景)。
- 然后,它利用一个强大的 视频扩散模型,在动作序列的引导下,逐帧生成视频。
- 这里的 "注意力交叉模态 (Attentive Cross-modal)" 是关键,意味着模型在生成每一帧时,会智能地"关注" (attend to) 两个方面的信息:
- 动作模态:当前需要执行的姿态和口型是什么。
- 外观模态:人物原本长什么样,穿什么衣服。
- 通过这种方式,模型能够确保生成的人物既保持了源图片的一致性,又精确地执行了动作序列,最终合成连贯、逼真的视频。
四、如何使用 (How to Use)
对于开发者来说,在本地运行该项目的大致步骤如下:
- 克隆仓库或者直接下载 :
git clone
https://github.com/Tencent-Hunyuan/HunyuanVideo-Avatar.git - 创建环境 :使用 Conda 或 venv 创建一个 Python 环境,并根据
requirements.txt
文件安装所有依赖库。
# 1. Create conda environment
conda create -n HunyuanVideo-Avatar python==3.10
# 2. Activate the environment
conda activate HunyuanVideo-Avatar
# 3. Install PyTorch and other dependencies using conda
# For CUDA 12.4
conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.4 -c pytorch -c nvidia
# 4. Install pip dependencies
python -m pip install -r requirements.txt
# 5. Install flash attention v2 for acceleration (requires CUDA 11.8 or above)
python -m pip install ninja
python -m pip install git+https://github.com/Dao-AILab/flash-attention.git@v2.6.3
- 下载模型 :根据官方指引,下载预训练好的各个模型文件(包括音频到动作的模型、视频生成模型等),并放置到指定目录。地址(请做好心理准备,这个模型非常大):https://huggingface.co/tencent/HunyuanVideo-Avatar/tree/main
模型下载后放到 **HunyuanVideo-Avatar/weights/**文件夹下
- 准备输入 :准备一张你想要驱动的人物图片(最好是高清、正面的全身或半身照)和一段音频文件(如
.wav
或.mp3
)。
运行:
cd HunyuanVideo-Avatar
bash ./scripts/run_gradio.sh
我的电脑8GPU,跑不起来,这里使用的是官方的UI截图。
- 运行推理脚本:执行官方提供的推理命令,传入你的图片和音频路径,等待程序运行结束即可在输出目录找到生成的视频。
您的浏览器不支持 video 标签。
五、应用场景 (Potential Applications)
这项技术有着广阔的应用前景:
- 数字人/虚拟主播:快速、低成本地创建企业或个人的虚拟形象。
- 个性化视频内容:生成个性化的祝福视频、新闻播报、产品介绍等。
- 在线教育:创建虚拟教师,让教学内容更生动有趣。
- 影视配音与制作:为角色进行本地化配音时,可以同步修改口型,提升观感。
- 辅助沟通:为有语言障碍的人士生成可视化的表达。
总结
HunyuanVideo-Avatar 是一个里程碑式的开源项目,它将高质量、全身、单样本的说话人视频生成技术带给了更广泛的开发者社区。它不仅展示了腾讯在 AI 生成内容(AIGC)领域的强大实力,也为数字人技术的普及和应用铺平了道路。如果你对 AI 视频生成、数字人技术感兴趣,这个项目绝对是值得学习和研究的典范。