会员登录 立即注册

搜索

实时智能应答3D数字人搭建2

[复制链接]
崎山小鹿 发表于 2024-3-13 21:22:40 | 显示全部楼层 |阅读模式
崎山小鹿
2024-3-13 21:22:40 346 7 看全部
先看效果:

根据艾媒咨询数据,2021年,中国虚拟人核心产业规模达到62.2亿元,带动市场规模达到1074.9亿元;2025年,这一数据预计将达到480.6亿元与6402.7亿元,同比增长迅猛。
数字人可以用于:电子导游;电子解说员;虚拟老师;售前、售后客服;前台指引。

最终选择UE5作为模型的驱动引擎。主要有以下几点原因:首先UE5不像live2d那样,出来的是假三维的纸片人;其次,UE5里对现实世界的光照、材质、重量等物理属性都存在一一映射,可以非常全面地还原一个真实场景。这里提醒一下,在三维的世界里,有两条工具线:一个是引擎,用于驱动三维模型按照你的逻辑运作;一个是建模工具,比如maya。但通常这两类工具都会互相融合、相互交叉。

UE5虚拟数字人技术的核心是虚拟人物建模与动画技术。 这种技术通过对真实人类的动作、表情、语音等基础数据进行大量采集,将这些数据导入到UE5中,配合UE5强大的引擎和工具集完成数字人物的建模、场景配置、动画制作等一系列工作,最终生成高度逼真的数字人物。

MetaHuman,是由Nvidia公司开发的一种数字人制作技术。metahuman说白了其实就是一个云端版本的ue,优点是集成了大量真人扫描的高精度组件,可以非常方便地调节出一个欧美真人。对,你无看错,是欧美的。官方的解释是,由于疫情原因,还未对亚洲人进行扫描。在虚拟主播这个案例上实际我们就是用metahuman的。

使用MetaHuman技术对数字人进行驱动。首先需要采集目标人物的动捕数据,然后使用这些数据对数字人模型进行驱动。在此过程中,还需要对数字人的表情、声音等进行实时捕捉和模拟。

Omniverse 和 Audio2Face 使用的 USD、JSON 格式与其他软件的可交互性强且易于解析,为数字人制作生产带来了显著的帮助。
这一次我们主要讲如何用虚幻5创造一个可以用facegood驱动的3D数字人

下载虚幻引擎5
下载虚幻5
创建一个metahuman数字人,并配置与Audio2face 的对接。

Audio2face 下载
要注册账号,先安装Omniverse,通过Omniverse安装Audio2face。对显卡的最低要求:GeForce RTX 3070 NVIDIA RTX A4000
NVIDIA 的 Audio2Face 是一套基于 AI 的技术,可生成全脸动作、情感和唇型同步,这些功能完全源自音频源,具有分析音频并自动制作情感动画的 Audio2Emotion 等功能。
全脸神经网络还可以为包括眼睛和舌头在内的所有面部特征进行动画处理。
角色设置功能允许用户在角色重定向过程中设置眼睛、牙齿和舌头,从而实现全脸角色转移。

1, Audio2face免安装版下载:链接:https://pan.baidu.com/s/19F7518OI6iXxtB7h7HkzdQ?pwd=76ki 提取码:76ki
2, 校正鼠标模拟点击位置程序:python clicktest.py

AudioToLipsyncServer  
下载:https://renzhai.net/1083.html
启动AudioToLipsyncServer

下载xuniren-vi
github:https://github.com/xiaobingchan/xuniren-v1
下载


安装阿里云语音合成SDK
详细:https://help.aliyun.com/document ... .0.i0#0196f89028lk2
获取阿里云token:https://nls-portal.console.aliyun.com/applist
git clone https://github.com/aliyun/alibabacloud-nls-python-sdk/
cd alibabacloud-nls-python-sdk/
python -m pip install -r requirements.txt

修改 alitts.py

# 创建AcsClient实例
client = AcsClient(
   "LTAI5tNTZy1HGw7nH1Rio1fg",
   "22ltjZnzTjn6oVFuITDW0z93eIz7k7",
   "cn-shanghai"
);
.....................
appKey = 'pAC8NSFL2DjQSWQr'

Error:SignatureDoesNotMatch Specified signature is not matched with our calculation. server string to sign
错误:SignatureDoesNotMatch 指定的签名与我们的计算不匹配。要签名的服务器字符串为

该错误常出现在用户没有使用官方的SDK来生成请求 ,而是自己手动计算签名构造网络请求进行发送时,签名的计算方式出现问题 。

AccessKey ID:用于标识用户。
AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。
获取阿里云账号的AccessKey Secret
RAM用户的AccessKey Secret只在创建时显示,不支持查看,请妥善保管


安装文心一言SDK
https://yiyan.baidu.com/developer/doc#sllzziq8k
git clone https://github.com/PaddlePaddle/ERNIE-Bot-SDK
cd ERNIE-Bot-SDK
cd erniebot/
conda activate vits
pip install .

{'error_code': 17, 'error_msg': 'Open api daily request limit reached'}
{'error_code': 17, 'error_msg': '达到开放api每日请求限制'}  

开通付费服务

安装ffmpeg
https://www.gyan.dev/ffmpeg/builds/
测试命令:ffmpeg


测试讯飞,语音转文字(耳)
python xunfei_byte.py

讯飞

讯飞


测试文心一言,文本对话(聊)
python wenxin_model.py

文心

文心



测试阿里,文字转语音(嘴)
G:\gitee\xuniren-v1\单元测试>Python aliwav.py

阿里tts

阿里tts


启动程序
python weba2f.py

w2f

w2f


让他念一段文字
http://127.0.0.1:5000/apppost

念


直接对话:
http://127.0.0.1:5000/wenxin

对话

对话




参考:


1、手机绕人物头部三圈拍成视频、
2、导入视频到AE输出成序列贞、
3、导入序列贞到Reality Capture转成点云模型、
4、导入点云模型到blender里面修整、
5、导入修正好的模型到UE5用metahuman插件跑一遍
6、接入chatGPT API、TTS语音插件到UE5
7、写蓝图。

文字对口型编译

●一个虚幻五的工程文件包括:
微信截图_20240313213702.png

某些子目录在引擎目录和游戏项目目录中都能找到:

Binaries - 包含可执行文件或编译期间创建的其他文件。
Build - 包含编译引擎或游戏所需的文件,包括为某些特定平台创建项目版本时所需的文件。
Config - 配置文件,包含的参数可用于控制引擎的行为。你在游戏项目Config文件中设置的值会覆盖 Engine\Config 目录中设置的值。
Content - 保存引擎或游戏中的内容,例如资产包、贴图。
DerivedDataCache - 包含派生数据文件。这类数据专为被引用内容生成,并且在加载时生成。假如被引用内容未生成过缓存文件,则加载时间会显著增加。
Intermediate - 包含编译引擎或游戏时生成的临时文件。在游戏目录中,着色器也保存在Intermediate目录中。
Saved - 包含自动保存文件、配置(.ini)文件和日志文件。此外,Engine > Saved 目录还包含崩溃日志、硬件信息和Swarm选项与数据。

UE5如何驱动面部表情:如何自定义脸型、如何自定义服装、如何自定义头发
1.1在UE5内添加一个matehuman人物

从0开始捏一个自己的虚拟人,手机扫描到MetaHuman做一个自己的虚拟人



1.2在UE5内让数字人讲话(蓝图)
2.1环境部署:文心一言、阿里、Audio2face


2.2.驱动数字人,实时语音驱动交互


https://docs.unrealengine.com/4. ... DirectoryStructure/

UE5数字人+ChatGPT驱动智能文字语音聊天机器人,沉浸式教程

直播数字人解决方案
UE5与MetaHuman:数字人的新标准

Audio2face驱动定制虚拟人,接入文心一言/大模型,实时语音驱动交互

任意模型都可导入 metahuman 的方法

用Audio2Face驱动UE - MetaHuman

文心一言API调用(python)
百度千帆大模型文心一言api调用
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-15 13:59:34 | 显示全部楼层
崎山小鹿
2024-3-15 13:59:34 看全部
1,安装阿里云语音合成SDK:https://help.aliyun.com/document ... .0.i0#0196f89028lk2

获取阿里云token:https://nls-portal.console.aliyun.com/applist

git clone https://github.com/aliyun/alibabacloud-nls-python-sdk/
cd alibabacloud-nls-python-sdk/

python -m pip install -r requirements.txt


2 ,修改变量变成你们自己的

2.1 修改 alitts.py 的

# 创建AcsClient实例
# 创建AcsClient实例
client = AcsClient(
   "LTAI5tNTZy1HGw7nH1Rio1fg",
   "22ltjZnzTjn6oVFuITDW0z93eIz7k7",
   "cn-shanghai"
);
.....................

appKey = 'pAC8NSFL2DjQSWQr'

Error:SignatureDoesNotMatch Specified signature is not matched with our calculation. server string to sign
错误:SignatureDoesNotMatch 指定的签名与我们的计算不匹配。要签名的服务器字符串为

该错误常出现在用户没有使用官方的SDK来生成请求 ,而是自己手动计算签名构造网络请求进行发送时,签名的计算方式出现问题 。

SignatureDoesNotMatch

AccessKey ID:用于标识用户。
AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。
获取阿里云账号的AccessKey Secret
RAM用户的AccessKey Secret只在创建时显示,不支持查看,请妥善保管

回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-15 14:03:20 | 显示全部楼层
崎山小鹿
2024-3-15 14:03:20 看全部
安装文心一言SDK:
https://yiyan.baidu.com/developer/doc#sllzziq8k
git clone https://github.com/PaddlePaddle/ERNIE-Bot-SDK
cd ERNIE-Bot-SDK
cd erniebot/
conda activate vits
pip install .

{'error_code': 17, 'error_msg': 'Open api daily request limit reached'}
{'error_code': 17, 'error_msg': '达到开放api每日请求限制'}  

开通付费服务
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-15 14:04:22 | 显示全部楼层
崎山小鹿
2024-3-15 14:04:22 看全部
安装ffmpeg:https://www.gyan.dev/ffmpeg/builds/ 命令行输入:ffmpeg
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-15 14:04:57 | 显示全部楼层
崎山小鹿
2024-3-15 14:04:57 看全部
启动程序: conda activate vits python weba2f.py

6,apipost调用嘴型说话 ( post 请求 ) http://127.0.0.1:5000/apppost { "message": "德外大街啊我到家我的骄傲为第哦啊我达瓦达瓦大啊哇大碗大碗大碗大碗大碗大碗" }
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-15 14:16:43 | 显示全部楼层
崎山小鹿
2024-3-15 14:16:43 看全部
Audio2face 下载

要注册账号,先安装Omniverse,通过Omniverse安装Audio2face。对显卡的最低要求:GeForce RTX 3070 NVIDIA RTX A4000

NVIDIA 的 Audio2Face 是一套基于 AI 的技术,可生成全脸动作、情感和唇型同步,这些功能完全源自音频源,具有分析音频并自动制作情感动画的 Audio2Emotion 等功能。

全脸神经网络还可以为包括眼睛和舌头在内的所有面部特征进行动画处理。

角色设置功能允许用户在角色重定向过程中设置眼睛、牙齿和舌头,从而实现全脸角色转移。



1, Audio2face免安装版下载:链接:https://pan.baidu.com/s/19F7518OI6iXxtB7h7HkzdQ?pwd=76ki 提取码:76ki

2, 校正鼠标模拟点击位置程序:python clicktest.py
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-31 20:58:55 | 显示全部楼层
崎山小鹿
2024-3-31 20:58:55 看全部
AudioToLipsyncServer  下载

https://renzhai.net/1083.html   
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-4-2 11:52:37 | 显示全部楼层
崎山小鹿
2024-4-2 11:52:37 看全部
错误1:
requests.exceptions.ConnectionError: HTTPConnectionPool(host='127.0.0.1', port=10246): Max retries exceeded with url: /A2F/USD/Load (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000001FA9A82AC50>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))

链接不到嘴型服务器,修改端口。

错误2:
TypeError: object of type 'NoneType' has no len()

解决:
data_message = data.get("message")
if type(data_message) != 'str':
    data_message = str(data_message)
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

查看:346 | 回复:7

金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园5巷6栋405 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2024 Discuz! Team.
快速回复 返回顶部 返回列表