窝牛号

SadTalker AI模型使用一张图片与一段音频便可以自动生成视频

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.git cd SadTalker conda create -n sadtalker python=3.8 conda activate sadtalker pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113 conda install ffmpeg pip 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来进行线上模型的运行。模型不仅可以模仿人类说话,还可以进行唱歌。

本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除

窝牛号 wwww.93ysy.com   沪ICP备2021036305号-1