基于扩散原理的、由音频驱动的、能够生成富有表现力的会话头像生成框架DreamTalk

DreamTalk 是一个基于扩散原理的、由音频驱动的、能够生成富有表现力的会话头像生成框架,由清华大学、阿里巴巴和华中科大共同开发,此生成框架能够根据音频让人物头像照片说话、唱歌并保持嘴唇的同步和模仿表情变化。无论是处理歌曲、多语言演讲、含噪音频,还是处理非常规人像,DreamTalk 都表现出了卓越的性能。

GitHub地址:https://github.com/ali-vilab/dreamtalk

模型地址:https://modelscope.cn/models/damo/dreamtalk/summary

Demo地址:https://huggingface.co/spaces/fffiloni/dreamtalk

工作原理:

  • 该项目在利用扩散模型在生成动态和表情丰富的说话头部方面取得突破,结合了以下几个关键组件来生成表情丰富的说话头部动画:
  • 去噪网络:这是核心组件之一,负责生成音频驱动的面部动作。去噪网络使用扩散模型来逐步去除噪声,从而生成清晰、高质量的面部表情。这个过程涉及从带有噪声的数据中逐步恢复出清晰的面部动作。
  • 风格感知的嘴唇专家:这个组件专注于提高嘴唇动作的表现力和准确性。它通过分析说话风格来引导嘴唇同步,确保生成的动画既自然又符合说话者的风格。
  • 风格预测器:为了消除对表情参考视频或文本的依赖,DreamTalk引入了一个基于扩散的风格预测器。这个预测器可以直接从音频预测目标表情,无需额外的表情参考视频或文本。
  • 音频和视频处理:处理音频输入,提取关键的音频特征,并将这些特征用于驱动面部动画。同时,它还能处理视频输入,以提取和模仿特定的表情和风格。
  • 数据和模型训练:为了实现这些功能,DreamTalk需要大量的数据来训练其模型,包括不同表情和说话风格的面部动画数据。通过这些数据,模型学习如何准确地生成与输入音频匹配的面部动作。

如何安装?

目前官方在GitHub上给出的安装方法是基于Linux,在Windows平台安装的话,最后生成的时候会报错。

1、安装此框架

git clone https://github.com/ali-vilab/dreamtalk.git
conda create -n dreamtalk python=3.7.0
conda activate dreamtalk
pip install -r requirements.txt
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
conda update ffmpeg

pip install urllib3==1.26.6
pip install transformers==4.28.1
pip install dlib

2、下载模型,将下载的模型放到checkpoints 文件夹

3、运行脚本

python inference_for_demo_video.py
--wav_path data/audio/acknowledgement_english.m4a
--style_clip_path data/style_clip/3DMM/M030_front_neutral_level1_001.mat
--pose_path data/pose/RichardShelby_front_neutral_level1_001.mat
--image_path data/src_img/uncropped/male_face.png
--cfg_scale 1.0
--max_gen_len 30
--output_name acknowledgement_english@M030_front_neutral_level1_001@male_face
我们将24小时内回复。
取消