Codart Studio

架构设计:高自然度数字人建模及交互平台(节选)


3.4.5 高自然度数字人建模及交互平台

3.4.5.1 功能需求

本平台提供一个高效、高保实、实时编辑同步预览的工具集,能够对接高逼真数字孪生人资产库,实现高自然度数字人的三维建模、表情动作驱动交互、渲染等功能。同时提供了便捷的用户操作界面。

本平台主要包括以下功能:

(1)高自然度数字人建模、蒙皮及渲染。支持导入OBJ、FBX等多种格式的3D人脸重建模型,使用平台内置的骨架做自动权重蒙皮,并设置骨骼的物理约束。平台提供次时代皮肤、头发、眼睛着色模型,以实现高品质的数字人。

(2)动捕面捕数据驱动数字人。支持导入BVH、ABC多种格式的动捕面捕数据,在动画编辑器中混合多个动作片段,在曲线编辑器中平滑优化动作细节。支持对接实时动捕面捕数据流,在可视化窗口中可实时查看数字人的驱动效果,并且可以启动录制功能,本地保存想要的数字人实时驱动片段,从而可以在动画编辑器中优化动作。

(3)基于文本或语音驱动数字人。使用平台的文本语音模块,实现高质量的数字人嘴型与表情匹配。

(4)三维人脸扫描重建。首先需要在设备连接界面中接入摄像头设备,然后在人脸扫描重建界面中进行人脸扫描,扫描完成后点击重建即可完成操作。在人脸数据库管理界面中可以查看或删除平台上所有的人脸数据。

(5)数字人交互。首先需要在设备连接界面中接入麦克风或摄像头设备,然后在人脸数据库管理界面中选择想要的数字人人脸,最后在数字人交互界面中选择接入设备,便可以使用音视频进行人机交互。

3.4.5.2 软件运行环境

下表列出了本平台运行所需最低要求的配置。

项目 配置
硬件配置 CPU:11th Gen Intel(R) Core(TM) i7-11700 @2.50GHz 2.50 GHz 内存:64G 硬盘:1T 显卡:NVIDIA GeForce GTX 2080
操作系统 Windows10

3.4.5.3 系统框架设计

系统框架

平台总体架构分为六层:接入层、核心层、资源层、功能层、工具层以及显示层。

(1)接入层主要负责接入硬件设备、第三方库和中间件。其中硬件设备有全身动捕设备、面捕头盔设备、麦克风和摄像头。市场上提供了很多优秀的第三方库和中间件,例如PhysX物理运算引擎、Wwise音效引擎、Simplygon等等。

(2)核心层主要负责提供整个平台所需的基础函数和数据结构。例如:高时间复杂度的数学运算优化(或近似)为低复杂度的基础函数、高性能内存管理的数据结构。数字人孪生的场景网格数级别一般在百万级别,高质量的实时光线追踪要求平台需要将场景计算和渲染的耗时控制在30ms内。

(3)资源层主要负责人脸重建数据库的读写,以及三维模型、纹理材质、骨骼动画等资源的导入、导出和生命周期维护。在这一层,需要从外部数据文件中提取需要的部分,去掉冗余部分,转换为本平台高效的数据格式,以减少内存使用。并且还要维护各类资源的生命周期,避免GPU引用了CPU中已销毁的资源对象。

(4)功能层主要负责实现平台各个功能模块。其中,渲染器模块实现了着色模型(例如:基于PBR的物理着色模型、次时代皮肤、头发、眼睛着色模型和全局光照模型)、图形设备接口、摄像机系统等功能。骨骼动画模块实现了动画状态树、反向运动学、线性插值混合、物理动画等一系列功能。音视频识别模块调用基于视觉、语音、语言理解等多模态人机交互算法,实现高质量音视频识别功能。文本语音合成模块调用基于文本语音输入合成高自然度虚拟数字人嘴型动画算法,实现实时驱动数字人嘴型与表情动画功能。三维人脸重建模块调用高精度三维人脸重建算法,实现高精度、高逼真度三维人脸重建功能。

(5)工具层主要负责开发实时预览的可视化编辑工具。其中,动画编辑器用来访问数字人骨骼动画相关资源,可以预览动画资源的播放,编辑动画资源,添加或编辑数字人的动画序列。着色器编辑器提供类似Blender软件中那样的可视化节点编辑窗口,组合多个着色节点实现物体的材质。节点编辑器提供自定义事件(函数)的可视化节点编辑窗口,为数字人动画添加自定义交互功能。三维模型编辑器提供可以编辑三维模型、搭建场景的可视化窗口,可以实时预览数字人场景的镜头动画。

(6)显示层负责用户与数字人的人机交互。主要包含四个界面,用户可以通过设备连接界面查看平台中已建立连接的硬件设备,并且通过简单的操作便可接入麦克风、摄像头、全身动捕以及面捕头盔等一系列硬件设备。用户可以通过人脸数据库管理界面管理扫描重建的三维人脸,并且可以设置数字人展示的人脸。用户可以通过人脸扫描重建界面创建高精度还原的人脸数据。用户可以通过数字人交互界面实现人机交互操作。

3.4.5.4 系统详细设计

(1)动画编辑器

动画编辑器界面主要由动画预览窗口、细节面板窗口、动画时间轴窗口和动画曲线窗口这四个子窗口构成。动画预览窗口可以实时查看数字人的动画资源的播放,并且可以更改渲染模式,视口设置自动旋转,以便从各个角度查看。细节面板窗口可查看并修改在动画预览窗口中选中对象的属性。动画时间轴窗口可以查看、添加或删除当前播放的动画资源,查看、添加或删除某个骨骼的关键帧,控制动画的播放、暂停等。动画曲线窗口会显示选定骨骼的动画曲线,使用贝塞尔曲线调整关键帧之间的平滑过渡情况。

(2)着色器编辑器

着色器编辑器界面主要由渲染预览窗口、细节面板窗口、着色器节点编辑窗口、材质浏览器窗口这四个子窗口构成。渲染预览窗口可以实时预览当前三维模型的渲染效果。细节面板窗口可查看并修改在动画预览窗口中选中对象的属性。着色器节点编辑窗口为选中材质更改其着色器的内容,在平台中使用的材质是由着色器节点树组成,当然,可以添加自定义着色器节点,使用HLSL着色器语言编写想要实现的效果。材质浏览器窗口可以查看当前数字人场景中所有材质资产。

(3)节点编辑器

节点编辑器界面由事件浏览器窗口和节点编辑窗口这两个子窗口构成。在这个界面上可以为数字人模型添加事件驱动。事件浏览器窗口可以查看数字人模型的所有事件,并且可以添加、删除指定的事件,也可以添加自定义事件(函数),自定义事件(函数)可以在内置事件中调用。节点编辑窗口为选中事件添加、删除、修改节点,节点类型可以有数学运算、自定义事件(函数)、条件分支等等。例如:添加动捕数据流接入事件,实现实时驱动数字人全身动作;添加文本数据接入事件,实现数字人嘴型动画。

(4)三维模型编辑器

三维模型编辑器界面的可视化窗口有三种模式:物体模式、编辑模式以及姿态模式。物体模式下仅提供搭建场景、移动缩放模型功能。编辑模式下可以修改选中模型的网格,例如:添加、删除或移动顶点。姿态模式下可以移动数字人的骨骼,从而对数字人模型的形变,结合动画编辑器可实现K帧动画。

(5)设备连接界面

设备连接界面中的列表展示了当前平台已连接的设备信息,右击某一条记录弹出操作菜单。使用新建按钮可以添加一个新的设备连接弹窗,在弹窗中选择设备名称、设备类型、端口号等信息后点击连接,成功后提示完成连接。

(6)人脸数据库管理界面

人脸数据库管理界面提供对扫描三维重建人脸数据的增删查改操作,并且可以选择数字人的当前人脸配置。当点击增加人脸数据操作时,会跳转到人脸扫描重建界面。

(7)人脸扫描重建界面

人脸扫描重建界面提供扫描三维重建人脸数据,需要先在设备连接界面完成摄像头设备的连接,可视化子窗口左侧显示当前扫描进度,以及为扫描区域。右侧显示扫描完成重建后的三维人脸模型。

(8)数字人交互界面

数字人交互界面提供数字人交互,是向用户展示平台高质量数字人交互动画的界面。需要在设备连接界面中完成麦克风或摄像头设备的连接,以及在人脸数据库管理界面选择展示的人脸。

3.4.5.5 系统应用

本平台提供了数字人建模、动画、渲染一整套开发流程。

1、线上展厅

由于受到全球疫情影响,线上展厅逐渐成为公司的首选宣传方式。使用本平台可快速搭建一个具有虚拟数字人讲解的线上展厅场景。

本平台支持多种数据格式的场景资源导入,并且通过全局光照系统快速模拟白天、夜晚等预设场景渲染效果。本平台不仅支持导入DCC软件输出的角色模型文件,同时支持导入三维重建的角色模型文件,然后使用渲染器完成超写实渲染。

演员完成动捕面捕设备穿戴,在平台的节点编辑器中配置好信息后便可完成动捕面捕数据流的接入,结合动画编辑器制作动画资源,最终完成数字人动画制作。本平台还支持AR虚拟现实的方式,可在实景拍摄的展厅视频上叠加虚拟数字人,实现虚实融合的视觉冲击。

当从数字人场景资源都准备好之后,便可让用户使用显示层界面实现人机交互。


关注【码上艺术】公众号,第一时间获取更多前沿技术干货!

打赏作者