安装anaconda
conda create -n sadtalker python=3.8
conda activate sadtalker
git clone https://github.com/OpenTalker/SadTalker.git
cd SadTalker
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
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
webui.bat
./webui.sh
名字 | 配置 | 违约 | 解释 |
---|---|---|---|
增强模式 | --enhancer |
None | 使用gfpgan或RestoreFormer面部修复网络增强生成的面部 gfpgan RestoreFormer |
背景增强器 | --background_enhancer |
None | 用于增强完整视频。realesrgan |
静止模式 | --still |
False | 使用与原始图像相同的姿势参数,减少头部运动。 |
表达模式 | --expression_scale |
1.0 | 值越大,表达式运动越强。 |
保存路径 | --result_dir |
./results |
该文件将保存在较新的位置 |
预处理 | --preprocess |
crop |
在裁剪的输入图像中运行并生成结果。其他选择:resize,其中图像的大小将调整为特定分辨率。 full 运行完整的图像动画,使用 with —still 以获得更好的结果。 |
参考模式(眼睛) | --ref_eyeblink |
None | 视频路径,我们借用此参考视频中的眨眼来提供更自然的眉毛运动。 |
参考模式(姿势) | --ref_pose |
None | 视频路径,我们从头部参考视频中借用姿势。 |
3D 模式 | --face3dvis |
False | 需要额外安装。生成3D面部的更多详细信息可以这里建立。 |
自由查看模式 | --input_yaw , --input_pitch , --input_roll |
None | 从单个图像生成新颖视图或自由视图 4D 说话头。更多细节可以在这里 |
#crop模式下,我们仅通过面部关键点生成裁剪的图像并生成面部动漫飞行器。表情和头部姿势的动画都是逼真的。
#still 静止模式将停止眨眼和头部姿势运动。
# resize 模式下,我们调整整个图像的大小以生成完全会说话的头部视频。因此,可以生成类似于ID照片的图像。resize⚠️它将为全人图像产生不良结果。
# full 模式下,我们的模型将自动处理裁剪区域并粘贴回原始图像。记得使用still以保持原来的头部姿势。full--still
为了获得更高的分辨率,我们将 gfpgan 和 real-esrgan 用于不同的目的。只是添加或用于增强面部和完整图像。--enhancer <gfpgan or RestoreFormer> --background_enhancer <realesrgan>
#使用前需要安装插件
pip install gfpgan
pip install realesrgan
此标志表示我们可以生成 3D 渲染的面部及其 3D 面部特征点。更多细节可以在这里找到
https://github.com/OpenTalker/SadTalker/blob/main/docs/face3d.md
—still生成自然的全身视频
python inference.py --driven_audio <audio.wav> --source_image <video.mp4 or picture.png> --enhancer gfpgan
python inference.py --driven_audio temp/aa.wav --source_image temp/aa.jpg --result_dir results/ --still --preprocess full --enhancer gfpgan
#从音频和单个图像生成 4D 自由视图谈话示例
使用input_yaw, input_pitch, input_roll 控制头部姿势
# --input_yaw -20 30 10 头偏向度从-20到30再到10
python inference.py --driven_audio <audio.wav> \
--source_image <video.mp4 or picture.png> \
--result_dir <a file to store results> \
--input_yaw -20 30 10