文章目录
概要
提示:这里可以添加技术概要
本地Ubuntu部署运行PaddleHub虚拟数字人
整体架构流程
提示:这里可以添加技术整体架构
PaddleSpeech将文字转换成语音,让虚拟数字人有了自己的声音。
PaddleGAN的人脸生成赋予了虚拟数字人一张可爱的脸蛋,表情迁移、唇形合成(同步)模型驱动虚拟数字人的脸部活动
技术原理
实现虚拟数字人生成总共需要调用三个模型,分别是First Order Motion(表情迁移)、Text to Speech(文本转语音)和Wav2Lip(唇形合成)。
具体技术步骤如下:
📌把图像放入First Order Motion模型进行面部表情迁移,让虚拟主播的表情更加逼近真人,既然定位是一个主播,那表情都参考当然是要用“国家级标准”的,所以参考的对象选择了梓萌老师~
📌通过Text to Speech模型,将输入的文字转换成音频输出。
📌得到面部表情迁移的视频和音频之后,通过Wav2Lip模型,将音频和视频合并,并根据音频内容调整唇形,使得虚拟人更加接近真人效果。
表情迁移
通过FOM模型,输入图像和驱动视频,让人像动起来
import paddlehub as hub
FOM_Module = hub.Module(name="first_order_motion")
FOM_Module.generate(source_image="input_data/R-C.jpg", # 输入图像
driving_video="input_data/zimeng.mp4", # 输入驱动视频
ratio=0.4,
image_size=256,
output_dir='./output/', # 输出文件夹
filename='wyz.mp4', # 输出文件名
use_gpu=True)
输入图像、输入驱动视频放在input_data文件夹
视频输出到output
sentences = ['开发者你好,我是吴彦祖,我是你的偶像。'] # 输入说话内容
TTS_Module = hub.Module(
name='fastspeech2_baker',
version='1.0.0')
wav_files = TTS_Module.generate(sentences)
print(f'声音已生成,音频文件输出在{wav_files}')
部署过程细节
链接:https://aistudio.baidu.com/projectdetail/7038238?forkThirdPart=1&sUid=7275299&shared=1&ts=1699495645400
pip install – upgrade paddlehub 时出现 [Error 101]网络不可达
用阿里云镜像下载:
pip install --upgrade paddlehub -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
下载nltk_data文件
!wget https://paddlespeech.bj.bcebos.com/Parakeet/tools/nltk_data.tar.gz
!tar zxvf nltk_data.tar.gz
安装ParaKeet
%cd Parakeet/
!pip install -e.
%cd ..
安装parakeet期间经常断网
多试几次,安装成功
安装依赖
!hub install first_order_motion==1.0.0
!hub install wav2lip
!hub install fastspeech2_baker==1.0.0
出现ModuleNotFoundError: No module named ‘paddle’
这里需要安装paddlepaddle的包
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
运行
提示:这里可以添加总结
例如:
提供先进的推理,复杂的指令,更多的创造力。