SadTalker模型是一个利用图片与音频文件自动合成人物说话动画的开源模型,我们自己给模型一张图片以及一段音频文件,模型会根据音频文件把通报的图片进行人脸的相应动作,比如张嘴,眨眼,移动头部等动作。
视频加载中...
SadTalker,它从音频中天生 3DMM 的 3D 运动系数(头部姿势、表情),并隐式调制一种新颖的 3D 感知面部渲染,用于天生说话的头部运动视频。
为了学习真实的运动,SadTalker分别对音频和不同类型的运动系数之间的联系进行显式建模。 准确地说,SadTalker提出 ExpNet模型,通过提取运动系数和3D渲染的面部运动来从音频中学习准确的面部表情。 至于头部姿势,SadTalker通过PoseVAE 以合身分歧风格的头部运动。
视频加载中...
模型不仅支持英文,还支持中文,我们可以直接hugging face上面来体验
https://huggingface.co/spaces/vinthony/SadTalker
当然官方开源了源代码,我们可以直接在自己电脑上面来运行此模型
https://github.com/OpenTalker/SadTalker
当然我们要运行本程序,须要安装python3.8以上版本,并下载预演习模型,然后新建一个虚拟环境,虚拟环境利用anaconda来建立。
git clone https://github.com/Winfredy/SadTalker.gitcd SadTalker conda create -n sadtalker python=3.8conda activate sadtalkerpip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113conda install ffmpegpip install -r requirements.txt### tts is optional for gradio demo. pip install TTS
然后就可以git sadtalker的工程目录,并安装相应的第三方库,这里紧张是torch干系的库,这里为了合成音频的方便,我们同样可以安装TTS来进行音频的合成。
当然下载的预演习模型须要放置在checkpoints目录下,以上所有的操作完成后,我们就可以运行模型了。
python inference.py --driven_audio <audio.wav> \ --source_image <video.mp4 or picture.png> \ --enhancer gfpgan
driven_audio是我们须要通报的一段音频文件地址;
source_image可以供应一段视频,或者一张图片;
enhancer 提高天生视频的质量;
以上代码运行完成后,合成的视频保存在results/$SOME_TIMESTAMP/.mp4。
当然为了保留全体人体图片我们可以在参数中添加still参数,still参数会保留人体图片,并不会进行相应的裁剪。
python inference.py --driven_audio <audio.wav> \ --source_image <video.mp4 or picture.png> \ --result_dir <a file to store results> \ --still \ --preprocess full \ --enhancer gfpgan
若没有这么高的配置,我们也可以利用google colab来进行线上模型的运行。模型不仅可以模拟人类说话,还可以进行唱歌。
视频加载中...