热门搜索

短视频 自媒体 网站SEO web3.0MetaForce原力元宇宙 电商 打字 创业模式 站长知识
登录成功

账号登录

还没有账号? 去注册 >

忘记密码

注册

已有账号 去登录 >

邮箱注册

已有账号 去登录 >

当前位置: 首页 / 白手起家 / 元模型搭建(模型制作方法)

元模型搭建(模型制作方法)

聚蚁思维

元额时额已经来临,当你看到网络额上形形额额的虚拟人的时候,是不是有些心动?

你是否跟以前的我一样会想创造虚拟人需要很大的成本和额投入,普通开发者单枪匹马根本额法办得到?

现在这些都不再是问题,PaddleHub助你快速实现!

背后支持虚拟数字人的“额额力量”聚蚁思维,其实是飞桨PaddlePaddle额大的开源生态和AI能力。

PaddleSpeech将文字转换成语音元宇宙模型搭建,让虚拟数字人有了自己的声音。

PaddleGAN的人脸生成赋予了虚拟数字人一张可爱的脸蛋,表情迁移、唇形合成(同步)模型驱动虚拟数字人的脸部活动,让虚拟人更加栩栩如生。

目前PaddleHub已经把以上模型纳入了模型库当中,现在只需要简单的十几行额码调用模型,输入图片和文字,即可生成一个生动形象的虚拟数字人。

额原理

元模型搭建(模型制作方法)

实现虚拟数字人生成总共需要调用三个模型,分别是First Order Motion(表情迁移)、Text to Speech(文本转语音)和Wav2Lip(唇形合成)。

具体额步骤如下:

把图像放入First Order Motion模型进行面部表情迁移,让虚拟主播的表情更加逼近真人,既然定位是一个主播,那表情都参考当然是要用“额家额标准”的,所以参考的对象选择了梓萌老师~

通过Text to Speech模型,将输入的文字转换成音频输出。

得到面部表情迁移的视频和音频之后元宇宙模型搭建,通过Wav2Lip模型,将音频和视频合并,并根据音频内容调整唇形,使得虚拟人更加接近真人效果。

⏳ 1、运行依赖安装

# 升级PaddleHub
!pip install --upgrade paddlehub

# 下载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 ..

# 安装依赖
!hub install first_order_motion==1.0.0
!hub install wav2lip
!hub install fastspeech2_baker==1.0.0

重启内核!

元模型搭建(模型制作方法)

⭐ 2、 开始造人 ⭐ 图像准备

额先需要准备一张带好背景和人脸的二维静态图像,如图所示:

元模型搭建(模型制作方法)

⭐ 表情迁移

通过FOM模型,输入图像和驱动视频,让人像动起来!

import paddlehub as hub
FOM_Module = hub.Module(name="first_order_motion")
FOM_Module.generate(source_image="input_data/test.jpg", # 输入图像
                    driving_video="input_data/zimeng.mp4", # 输入驱动视频
                    ratio=0.4, 
                    image_size=256, 
                    output_dir='./output/', # 输出文件夹
                    filename='FOM.mp4', # 输出文件名
                    use_gpu=True)

⭐ 文本转语音

输入你想让虚拟数字人说的话,转换生成一段音频。

sentences = ['开发者你好,欢迎使用飞桨,我是你的专属虚拟人。'] # 输入说话内容
TTS_Module = hub.Module(
    name='fastspeech2_baker',
    version='1.0.0')
wav_files =  TTS_Module.generate(sentences)
print(f'声音已生成,音频文件输出在{wav_files}')

⭐ 唇形合成

把刚刚得到的动态视频和音频文件输入到Wav2Lip模型中,让唇形根据说话的内容动态改变。

W2F_Module = hub.Module(name="wav2lip")
W2F_Module.wav2lip_transfer(face='output/FOM.mp4', 
                            audio='wavs/1.wav', 
                            output_dir='./transfer_result/', 
                            use_gpu=True) 

大功告成

经过上面简单的三个步骤,一个虚拟数字人的视频就生成了!

生成的文件路径为 ./transfer_result/result.mp4

高阶玩法

PaddleBoBo是基于飞桨PaddlePaddle深度学习框架和PaddleSpeech、PaddleGAN等开发套件的虚拟主播快速生成项目,除了可以实现以上功能之外,同时还支持调整语速、音高等,更可以经过简单的二次开发,实现实时额生成、直播播报等,欢迎大家体验和一键三连!

Github:

同时也欢迎感兴趣的大佬加入,共同打造飞桨元额!

⭐Github Stars

虚拟数字人的实现离不开飞桨开源生态的努力,希望大家给下面优秀的开源项目点个stars⭐

⭐ PaddleGAN:

⭐ PaddleSpeech:

⭐ Paddlehub:

聚蚁思维:如果你想更深入的了解知识训练营项目,可以看我写的电子书:《我靠割韭菜,赚了一千万》,这本电子书详细的介绍了我从2016年到2022年,是如何通过做搞培训、卖项目,营收一千万的→添加我领取:446471435,备注来意:加入知识训练营项目

相关推荐