CN117892810A - 生成虚拟数字人的方法、装置、设备及存储介质 - Google Patents

生成虚拟数字人的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117892810A
CN117892810A CN202311774810.8A CN202311774810A CN117892810A CN 117892810 A CN117892810 A CN 117892810A CN 202311774810 A CN202311774810 A CN 202311774810A CN 117892810 A CN117892810 A CN 117892810A
Authority
CN
China
Prior art keywords
object model
appearance
node
models
appearance characteristics
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311774810.8A
Other languages
English (en)
Inventor
于鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing SoundAI Technology Co Ltd
Original Assignee
Beijing SoundAI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing SoundAI Technology Co Ltd filed Critical Beijing SoundAI Technology Co Ltd
Priority to CN202311774810.8A priority Critical patent/CN117892810A/zh
Publication of CN117892810A publication Critical patent/CN117892810A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种生成虚拟数字人的方法、装置、设备及存储介质,属于计算机技术领域。该方法包括:基于多个对象模型的外形特征之间的相似度,构建外形关系图谱;对于外形关系图谱中的任一节点,基于节点的多个邻居节点所表示的外形特征和与节点相连接的多条边的权重,对节点所表示的对象模型的外形特征进行调整;对对象模型进行渲染,将对象模型的动作捕捉数据绑定到对象模型的多个骨骼关键点,得到虚拟数字人。上述技术方案能够生成多个视觉协调一致性的虚拟数字人,以使多个虚拟数字人同屏展示时,多个虚拟数字人的外形特征较为协调,避免了虚拟数字人的身体形状或者身体比例差距过大的现象发生,提高了多个虚拟数字人之间的视觉协调性。

Description

生成虚拟数字人的方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种生成虚拟数字人的方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,虚拟数字人在虚拟现实、增强现实以及电子游戏等领域得到了广泛应用。其中,虚拟数字人是指运用数字技术创造出来的,与人类形象接近的数字化人物形象。虚拟数字人不仅具有人类的外形,还具有与人类相似的面部表情和肢体动作。相关技术中,生成虚拟数字人的过程中,通常会关注单个虚拟数字人的外貌细节和肢体动作协调性等。由于不同的虚拟数字人具有不同的外貌和不同的肢体动作,因此,在生成同屏展示的多个虚拟数字人时,如何保证多个虚拟数字人之间的视觉协调性,是一个需要解决的技术问题。
发明内容
本申请实施例提供了一种生成虚拟数字人的方法、装置、设备及存储介质,能够生成外形特征较为协调的多个虚拟数字人。所述技术方案如下:
一方面,提供了一种生成虚拟数字人的方法,所述方法包括:
基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,所述对象模型为虚拟场景中用于表示虚拟数字人的三维模型,所述外形特征包括对应的对象模型的形状和身体比例,所述外形关系图谱中的节点用于表示对象模型的外形特征,所述外形关系图谱中的边用于表示对象模型的外形特征之间的相似度;
对于所述外形关系图谱中的任一节点,基于所述节点的多个邻居节点所表示的外形特征和与所述节点相连接的多条边的权重,对所述节点所表示的对象模型的外形特征进行调整,所述边的权重与所述边所表示的相似度正相关;
对所述对象模型进行渲染,将所述对象模型的动作捕捉数据绑定到所述对象模型的多个骨骼关键点,得到虚拟数字人,所述动作捕捉数据用于生成所述虚拟数字人的肢体动作。
另一方面,提供了一种生成虚拟数字人的装置,所述装置包括:
构建模块,用于基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,所述对象模型为虚拟场景中用于表示虚拟数字人的三维模型,所述外形特征包括对应的对象模型的形状和身体比例,所述外形关系图谱中的节点用于表示对象模型的外形特征,所述外形关系图谱中的边用于表示对象模型的外形特征之间的相似度;
第一调整模块,用于对于所述外形关系图谱中的任一节点,基于所述节点的多个邻居节点所表示的外形特征和与所述节点相连接的多条边的权重,对所述节点所表示的对象模型的外形特征进行调整,所述边的权重与所述边所表示的相似度正相关;
渲染模块,用于对所述对象模型进行渲染,将所述对象模型的动作捕捉数据绑定到所述对象模型的多个骨骼关键点,得到虚拟数字人,所述动作捕捉数据用于生成所述虚拟数字人的肢体动作。
在一些实施例中,所述第一调整模块,包括:
确定单元,用于对于所述外形关系图谱中的任一节点,基于所述节点所表示的外形特征和所述节点的多个邻居节点所表示的外形特征,确定多个中间调整幅度,所述多个中间调整幅度与所述多个邻居节点一一对应,所述中间调整幅度用于表示将所述节点所表示的外形特征调整为对应的邻居节点所表示的外形特征所需的调整幅度;
求和单元,用于基于所述多条边的权重,对所述多个中间调整幅度进行加权求和,得到所述节点的目标调整幅度;
调整单元,用于按照所述目标调整幅度,对所述节点所表示的对象模型的外形特征进行调整。
在一些实施例中,所述对象模型由多个单位模型组成,所述目标调整幅度用于指示所述多个单位模型的形状调整幅度和形状调整方向;
所述调整单元,用于对于所述对象模型中的任一单位模型,基于所述目标调整幅度确定所述单位模型的形状调整幅度和形状调整方向;按照所述形状调整幅度,沿所述形状调整方向调整所述单位模型。
在一些实施例中,所述装置还包括:
几何分析模块,用于对于任一对象模型,对所述对象模型进行几何分析,得到所述对象模型的外形特征;
特征提取模块,用于对所述对象模型的外形特征进行特征提取,得到所述对象模型的特征向量,所述特征向量包括用于表示所述对象模型的多个骨骼关键点的位置坐标的元素和用于表示所述对象模型的多个部位的尺寸的元素;
相似度确定模块,用于将任意两个对象模型的特征向量之间的相似度,确定为所述两个对象模型的外形特征之间的相似度。
在一些实施例中,所述特征提取模块,用于基于所述对象模型的外形特征,对所述对象模型的多个骨骼关键点进行特征提取,得到位置特征向量,所述位置特征向量中的元素用于表示所述多个骨骼关键点的位置坐标;基于所述对象模型的外形特征,对所述对象模型的多个部位进行特征提取,得到尺寸特征向量,所述尺寸特征向量中的元素用于表示所述多个部位的尺寸;对所述位置特征向量和所述尺寸特征向量进行拼接,得到所述对象模型的特征向量。
在一些实施例中,所述构建模块,用于对于任一对象模型,响应于得到所述对象模型的外形特征,在所述外形关系图谱中添加第一节点,所述第一节点用于表示所述对象模型的外形特征;响应于得到所述对象模型的外形特征和其他对象模型的外形特征之间的相似度,在所述外形关系图谱中连接所述第一节点和第二节点,所述第二节点用于表示所述其他对象模型的外形特征。
在一些实施例中,所述装置还包括:
第二调整模块,用于通过模型编辑器对所述对象模型的外形特征进行参数化,得到一组外形参数,所述模型编辑器用于调整对象模型的外形特征,所述外形参数用于描述所述对象模型的外形特征;对于任一外形参数,在所述外形参数的取值不属于预设范围的情况下,将所述外形参数的取值调整至所述预设范围内;基于调整后的外形参数,通过所述模型编辑器对所述对象模型的外形特征进行调整。
在一些实施例中,所述渲染模块,用于基于所述虚拟场景中所述对象模型和观察位置之间的距离,确定渲染所述对象模型的细节级别,所述观察位置为拍摄所述对象模型的摄像机所在的位置,所述细节级别与所述对象模型中待渲染的单位模型的数量正相关,所述细节级别与所述距离负相关;按照所述细节级别,对所述对象模型中的多个单位模型进行渲染。
在一些实施例中,所述装置还包括:
数据获取模块,用于获取每个对象模型的动作捕捉数据,所述动作捕捉数据记录有对象模型的多个骨骼关键点在不同时刻的位置信息;确定所述多个对象模型的动作捕捉数据之间是否存在相似度大于相似度阈值的相似数据片段;在存在相似数据片段的情况下,对所述多个对象模型的动作捕捉数据中对应的相似数据片段进行融合,得到目标数据片段;将所述多个对象模型的动作捕捉数据中对应的相似数据片段替换为所述目标数据片段。
在一些实施例中,所述装置还包括:
确定模块,用于对于任一对象模型,确定所述对象模型的动作捕捉数据中相邻时刻之间的时间间隔;
插值模块,用于在存在任意相邻的两个时刻之间的时间间隔大于时间间隔阈值的情况下,对所述对象模型的多个骨骼关键点在所述两个时刻的位置信息进行插值,得到所述多个骨骼关键点在至少一个中间时刻的位置信息。
在一些实施例中,所述装置还包括:
第三调整模块,用于对于任一对象模型,通过调整所述对象模型的动作捕捉数据中多个骨骼关键点在至少一个时刻的位置信息,对所述对象模型的肢体动作的速度和力度进行调整。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现本申请实施例中的生成虚拟数字人的方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现本申请实施例中的生成虚拟数字人的方法。
另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行以实现本申请实施例中的生成虚拟数字人的方法。
本申请实施例提供了一种生成虚拟数字人的方案,在生成多个虚拟数字人的过程中,先调整虚拟数字人对应的对象模型的形状和身体比例等外形特征,以使对象模型之间的外形特征较为相似。然后,渲染调整后的对象模型,并为对象模型绑定动作捕捉数据,从而得到动态的虚拟数字人。由于采用上述方法生成的虚拟数字人之间的外形特征较为相似,因此同屏展示多个虚拟数字人时,多个虚拟数字人的外形特征较为协调,避免了虚拟数字人的身体形状或者身体比例差距过大的现象发生,提高了多个虚拟数字人之间的视觉协调性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例提供的一种生成虚拟数字人的方法的实施环境示意图;
图2是根据本申请实施例提供的一种生成虚拟数字人的方法的流程图;
图3是根据本申请实施例提供的另一种生成虚拟数字人的方法的流程图;
图4是根据本申请实施例提供的一种生成虚拟数字人的装置的框图;
图5是根据本申请实施例提供的另一种生成虚拟数字人的装置的框图;
图6是根据本申请实施例提供的一种终端的结构示意图;
图7是根据本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的对象模型和动作捕捉数据都是在充分授权的情况下获取的。
图1是根据本申请实施例提供的一种生成虚拟数字人的方法的实施环境示意图。参见图1,该实施环境包括终端101和服务器102。终端101和服务器102能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一些实施例中,终端101为手机、台式电脑、笔记本电脑、平板电脑等多种类型的终端。终端101安装和运行有支持虚拟场景的应用程序。应用程序可以为模型编辑器。模型编辑器用于对虚拟场景中的对象模型进行编辑。该虚拟场景可以是虚拟游戏场景、虚拟直播间或者虚拟演播室等。相应地,对象模型可以为虚拟游戏场景中的虚拟人物、虚拟直播间中的虚拟主播或者虚拟演播室中的虚拟主持人等多种类型的虚拟数字人。
可选地,应用程序还可以为渲染引擎。渲染引擎用于构建虚拟场景并对虚拟场景中的对象模型进行渲染。例如,应用程序可以为虚幻引擎4(Unreal Engine4,UE4)、Unity3D、狂暴引擎(RAGE Engine)、寒霜引擎(Frostbite Engine)等中的任一种。该应用程序与服务器102关联,由服务器102提供后台服务。
在一些实施例中,服务器102是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。在一些实施例中,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,服务器102和终端101二者之间采用分布式计算架构进行协同计算。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
图2是根据本申请实施例提供的一种生成虚拟数字人的方法的流程图,该方法由终端执行,参见图2,该方法包括以下步骤:
201、终端基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,对象模型为虚拟场景中用于表示虚拟数字人的三维模型,外形特征包括对应的对象模型的形状和身体比例,外形关系图谱中的节点用于表示对象模型的外形特征,外形关系图谱中的边用于表示对象模型的外形特征之间的相似度。
在本申请实施例中,对象模型为虚拟场景中具有人类外形的三维模型。对象模型可以被用于生成虚拟场景中的虚拟主播、虚拟游戏角色、虚拟主持人或者虚拟客服等虚拟数字人。终端通过对象模型生成虚拟数字人的过程中,终端提取每个对象模型的外形特征。然后,终端确定对象模型的外形特征之间的相似度,并以此构建外形关系图谱。其中,外形关系图谱为知识图谱。外形关系图谱中包括节点和边。节点用于表示对象模型的外形特征。节点之间的边用于表示两个对象模型的外形特征之间的相似度。因此,通过构建外形关系图谱,能够清楚直观地展示多个对象模型的外形特征之间的相似程度。
其中,对象模型的外形特征包括对象模型的形状和身体比例。例如,外形特征包括对象模型的身材、身高、肢体长度、头身比以及上半身与下半身的比例等。
202、终端对于外形关系图谱中的任一节点,基于节点的多个邻居节点所表示的外形特征和与节点相连接的多条边的权重,对节点所表示的对象模型的外形特征进行调整,边的权重与边所表示的相似度正相关。
在本申请实施例中,终端构建外形关系图谱之后,根据外形关系图谱中的边所表示的相似度,确定边的权重。其中,边所表示的相似度越高,边的权重越高;边所表示的相似度越低,边的权重越低。对于外形关系图谱中的任一节点,终端根据该节点的多个邻居节点所表示的外形特征和该节点连接的每条边的权重,调整该节点所表示的对象模型的外形特征,以使调整后的外形特征与其他多个对象模型的外形特征更加相似。通过上述方法,对外形关系图谱中的每个节点所表示的外形特征进行调整之后,能够使得多个对象模型的外形特征趋于相似。
203、终端对对象模型进行渲染,将对象模型的动作捕捉数据绑定到对象模型的多个骨骼关键点,得到虚拟数字人,动作捕捉数据用于生成虚拟数字人的肢体动作。
在本申请实施例中,终端对调整后的对象模型进行渲染,以使对象模型的表面具有纹理细节。其中,纹理细节包括对象模型的皮肤的颜色、五官的颜色、头发的颜色以及衣物的颜色等。经过渲染之后的对象模型为静态的虚拟数字人。然后,终端将对象模型的动作捕捉数据绑定到对象模型的多个骨骼关键点,得到动态的虚拟数字人。其中,动作捕捉数据可以通过对真人的多个骨骼关键点进行动作捕捉得到。动作捕捉数据能够指示对象模型的多个骨骼关键点的运动轨迹。通过为对象模型绑定动作捕捉数据,能够指示虚拟数字人的多个骨骼关键点按照运动轨迹进行运动,从而生成虚拟数字人的肢体动作,以使虚拟数字人呈现出动态的效果。由于上述多个对象模型的外形特征较为相似。因此终端根据上述多个对象模型生成的虚拟数字人的外形特征也较为相似,不会出现虚拟数字人的身材或者身体比例差距过大的情况。在虚拟场景中共同展示多个虚拟数字人时,呈现的视觉一致性更高,视觉协调性也更好。
本申请实施例提供了一种生成虚拟数字人的方法,在生成多个虚拟数字人的过程中,先调整虚拟数字人对应的对象模型的形状和身体比例等外形特征,以使对象模型之间的外形特征较为相似。然后,渲染调整后的对象模型,并为对象模型绑定动作捕捉数据,从而得到动态的虚拟数字人。由于采用上述方法生成的虚拟数字人之间的外形特征较为相似,因此同屏展示多个虚拟数字人时,多个虚拟数字人的外形特征较为协调,避免了虚拟数字人的身体形状或者身体比例差距过大的现象发生,提高了多个虚拟数字人之间的视觉协调性。
图3是根据本申请实施例提供的另一种生成虚拟数字人的方法的流程图,该方法由终端执行,参见图3,该方法包括以下步骤:
301、终端确定对象模型的外形特征和多个对象模型的外形特征之间的相似度,对象模型为虚拟场景中用于表示虚拟数字人的三维模型,外形特征包括对象模型的形状和身体比例。
在本申请实施例中,对象模型为虚拟场景中具有人类外形或者与人类外形相似的三维模型。终端通过对象模型可以生成虚拟场景中的虚拟主播、虚拟游戏角色、虚拟主持人或者虚拟客服等多种类型的虚拟数字人。在终端生成虚拟场景中的多个虚拟数字人的过程中,终端先确定每个虚拟数字人所对应的对象模型。然后,终端提取每个对象模型的外形特征,并分析对象模型的外形特征之间的相似度。
其中,对象模型的外形特征包括对象模型的形状和身体比例。例如,外形特征包括对象模型的身材、身高、肢体长度、头身比以及上半身与下半身的比例等。两个对象模型的外形特征之间的相似度越高,两个对象模型的形状和身体比例越相似,终端根据上述两个对象模型生成的虚拟数字人的视觉协调性越高。
在一些实施例中,终端根据特征向量之间的相似度,确定对象模型的外形特征之间的相似度。对于任一对象模型,终端对该对象模型进行几何分析,得到对象模型的外形特征。其中,几何分析用于分析对象模型的多个骨骼关键点的位置、多个身体部位的尺寸以及对象模型的外轮廓线条中的至少一种。然后,终端对对象模型的外形特征进行特征提取,得到对象模型的特征向量。特征向量包括用于表示对象模型的多个骨骼关键点的位置坐标的元素和用于表示对象模型的多个部位的尺寸的元素。然后,终端将任意两个对象模型的特征向量之间的相似度,确定为两个对象模型的外形特征之间的相似度。其中,终端可以根据特征向量之间的距离确定特征向量之间的相似度。特征向量之间的距离越近,特征向量之间的相似度越高;特征向量之间的距离越远,特征向量之间的相似度越低。其中,特征向量之间的距离可以是余弦距离、曼哈顿距离或者欧式距离等距离,本申请实施例对此不进行限制。通过将外形特征转换为特征向量,并将特征向量之间的相似度确定为外形特征之间的相似度,不仅能够较为准确地确定对象模型的外形特征之间的相似度,同时也无需人工观察外形特征来确定相似度,提高了确定相似度的效率。
在一些实施例中,对象模型的外形特征的数据格式可以为图像或者点云。在对象模型的外形特征的数据格式为图像的情况下,终端可以通过神经网络模型对图像进行特征提取,得到对象模型的特征向量。在对象模型的外形特征的数据格式为点云的情况下,终端可以通过计算机视觉算法,对点云进行处理,得到对象模型的特征向量。
在一些实施例中,终端分别对对象模型的骨骼关键点和身体部位的尺寸进行特征提取。终端能够根据对象模型的外形特征,对对象模型的多个骨骼关键点进行特征提取,得到位置特征向量。其中,位置特征向量中的元素用于表示多个骨骼关键点的位置坐标。终端还能够根据对象模型的外形特征,对对象模型的多个部位进行特征提取,得到尺寸特征向量。其中,尺寸特征向量中的元素用于表示多个部位的尺寸。然后,终端对位置特征向量和尺寸特征向量进行拼接,得到对象模型的特征向量。通过分别对骨骼关键点的位置和身体部位的尺寸进行特征提取,能够使得最终得到的特征向量可以准确反映对象模型的身材形状和身体比例等外形特征,进而,对象模型的特征向量之间的相似度,也能够更准确的表示对象模型的身材形状和身体比例之间的相似程度。
例如,终端对对象模型的多个骨骼关键点进行特征提取,得到位置特征向量:[x1,y1,z1,x2,y2,z2,…]。其中,x1,y1,z1表示对象模型的骨骼关键点1在虚拟场景中的位置坐标;x2,y2,z2表示对象模型的骨骼关键点2在虚拟场景中的位置坐标。其中,骨骼关键点可以为头、脖子、左(右)肩、左(右)肘、左(右)手腕、左(右)膝或者左(右)脚踝等,本申请实施例对此不进行限制。终端对对象模型的多个部位进行特征提取,得到尺寸特征向量:[H,L,…,N]。其中,H表示对象模型的头围。L表示对象模型的腰围。N表示对象模型的臀围。然后,终端拼接位置特征向量和尺寸特征向量,得到对象模型的特征向量:[x1,y1,z1,x2,y2,z2,…,H,L,…,N]或者[H,L,…,N,x1,y1,z1,x2,y2,z2,…]。
在一些实施例中,对象模型的外形特征还能够表示对象模型的面部特征,如面部五官的位置坐标,面部五官的形状以及面部五官的尺寸等。相应地,终端通过对对象模型的面部特征进行特征提取,得到对象模型的面部特征向量。然后,终端拼接面部特征向量、位置特征向量以及尺寸特征向量,得到对象模型的特征向量。
302、终端基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,外形关系图谱中的节点用于表示对象模型的外形特征,外形关系图谱中的边用于表示对象模型的外形特征之间的相似度。
在本申请实施例中,终端能够根据多个对象模型的外形特征之间的相似度,构建外形关系图谱。其中,外形关系图谱为知识图谱。外形关系图谱由节点和边组成。外形关系图谱中的节点用于表示对象模型的外形特征。节点之间的边用于表示两个对象模型的外形特征之间的相似度。因此,通过构建外形关系图谱,能够清楚直观地展示多个对象模型的外形特征之间的相似程度。
在一些实施例中,终端可以在确定对象模型的外形特征之间的相似度的过程中,并行构建外形关系图谱。对于任一对象模型,终端得到该对象模型的外形特征之后,终端在外形关系图谱中添加第一节点。第一节点用于表示该对象模型的外形特征。然后,终端分别确定该对象模型的外形特征和多个其他对象模型的外形特征之间的相似度。终端响应于得到该对象模型的外形特征和任一其他对象模型(为便于描述,下面称为目标对象模型)的外形特征之间的相似度,终端在外形关系图谱中连接第一节点和第二节点。其中,第二节点用于表示目标对象模型的外形特征。通过上述方法,终端能够在外形关系图谱中将任意两个节点进行连接,从而使得外形关系图谱能够较为直观的表示任意两个对象模型的外形特征之间的相似度。
需要说明的是,终端也可以先确定多个对象模型的外形特征之间的相似度。响应于得到多个外形特征之间的相似度之后,终端构建外形关系图谱。例如,在终端根据A、B、C三个对象模型生成虚拟场景中的三个虚拟数字人的过程中,终端先确定A和B之间外形特征的相似度、A和C之间外形特征的相似度以及B和C之间外形特征的相似度。然后,终端根据上述确定的相似度,构建外形关系图谱。
303、对于外形关系图谱中的任一节点,终端基于节点的多个邻居节点所表示的外形特征和与节点相连接的多条边的权重,对节点所表示的对象模型的外形特征进行调整,边的权重与边所表示的相似度正相关。
在本申请实施例中,由于外形关系图谱能够表示对象模型的外形特征之间的相似度。因此,对于外形关系图谱中的任一节点,终端能够根据该节点所连接的多条边和该节点的多个邻居节点,确定该节点所表示的对象模型外形特征与邻居节点所表示的外形特征之间的相似程度,进而根据相似程度调整外形特征,以使对象模型之间的相似程度更高。首先,终端根据外形关系图谱中的边所表示的相似度,确定边的权重。其中,边所表示的相似度越高,边的权重越高;边所表示的相似度越低,边的权重越低。然后,对于外形关系图谱中的任一节点,终端根据该节点的多个邻居节点所表示的外形特征和该节点连接的每条边的权重,调整该节点所表示的对象模型的外形特征,以使调整后的外形特征与其他多个对象模型的外形特征更加相似。其中,对于节点连接的任一条边,边的权重越高,该条边所连接邻居节点所表示的外形特征对外形特征调整过程的贡献程度越高;边的权重越低,该条边所连接邻居节点所表示的外形特征对外形特征调整过程的贡献程度越低。通过上述方法,对外形关系图谱中的每个节点所表示的外形特征进行调整之后,能够使得多个对象模型的外形特征趋于相似。
在一些实施例中,终端按照确定的调整幅度调整对象模型的外形特征。对于外形关系图谱中的任一节点,终端根据该节点所表示的外形特征和该节点的多个邻居节点所表示的外形特征,确定多个中间调整幅度。其中,多个中间调整幅度与多个邻居节点一一对应。中间调整幅度用于表示将节点所表示的外形特征调整为对应的邻居节点所表示的外形特征所需的调整幅度。然后,终端根据多条边的权重,对多个中间调整幅度进行加权求和,得到目标调整幅度。其中,目标调整幅度能够指示该节点所表示的外形特征的调整幅度和调整方向。然后,终端按照目标调整幅度,对节点所表示的对象模型的外形特征进行调整,得到调整后的对象模型。通过上述方法调整对象模型的外形特征,在调整任一对象模型的外形特征的过程中,能够综合考虑多个其他对象模型的外形特征对调整该对象模型的外形特征的影响,从而使得多个对象模型调整后的外形特征更加相似。
在一些实施例中,对象模型由多个单位模型组成,目标调整幅度还用于指示多个单位模型的形状调整幅度和形状调整方向。对于对象模型中的任一单位模型,终端根据目标调整幅度确定单位模型的形状调整幅度和形状调整方向。然后,终端按照形状调整幅度,沿形状调整方向调整单位模型。通过对对象模型中的多个单位模型进行调整,能够较为方便的调整对象模型的整体外形特征,从而提高了调整外形特征的效率。
在一些实施例中,目标调整幅度也可以指示对象模型的至少一个骨骼关键点的位置坐标的调整值。相应地,终端按照目标调整幅度,调整对象模型的至少一个骨骼关键点的位置坐标,得到至少一个骨骼关键点调整后的位置坐标。或者,目标调整幅度还可以指示对象模型的至少一个部位的尺寸的调整值。相应地,终端按照目标调整幅度,调整对象模型的至少一个部位的尺寸,得到至少一个部位点调整后的尺寸。
需要说明的是,终端通过执行上述步骤303得到调整后的对象模型之后,终端还能够对对象模型的外形特征进行微调,以使对象模型的外形特征更加合理,更加自然。下面通过下述步骤304-步骤306,对终端微调对象模型的外形特征的过程进行说明。
304、终端通过模型编辑器对对象模型的外形特征进行参数化,得到一组外形参数,模型编辑器用于调整对象模型的外形特征,外形参数用于描述对象模型的外形特征。
在本申请实施例中,终端通过模型编辑器对调整后的对象模型的外形特征进行参数化处理,得到一组用于描述对象模型的外形特征的外形参数。其中,模型编辑器用于构建对象模型的外形特征和外形参数之间的映射关系。外形参数包括用于描述身高、四肢长度、身体比例(头围、胸围、腰围以及臀围等)以及身体形态(如体重分布,骨骼关键点的位置)的参数中的至少一种。
在一些实施例中,终端可以将对象模型的模型文件导入到模型编辑器,由模型编辑器分析对象模型的外形特征,并将对象模型的外形特征映射为一组外形参数。
305、对于任一外形参数,在外形参数的取值不属于预设范围的情况下,终端将外形参数的取值调整至预设范围内。
在本申请实施例中,终端确定外形参数的取值是否在预设范围内。在外形参数的取值不在预设范围内的情况下,终端将外形参数的取值调整为预设范围内与该参数当前的取值最相近的数值。其中,终端可以根据人体测量数据集为不同的外形参数确定合理的预设范围。
例如,在表示头围的外形参数的取值为63厘米,预设取值范围为50厘米-60厘米的情况下,终端将表示头围的外形参数的取值调整为60厘米。
在一些实施例中,终端也可以将多个对象模型的同一外形参数的取值调整为同一数值,从而进一步提高对象模型的外形特征在细节上的相似程度。
306、终端基于调整后的外形参数,通过模型编辑器对对象模型的外形特征进行调整。
在本申请实施例中,模型编辑器还用于根据外形参数调整对象模型的外形特征。因此,终端确定调整后的外形参数之后,终端通过模型编辑器根据调整后的外形参数微调对象模型的外形特征。
需要说明的是,终端可以确定一个外形参数之后,就调用模型编辑器进行外形特征的调整。终端也可以确定一组外形参数之后,再调用模型编辑器进行外形特征的调整,从而减少调用模型编辑器的次数和调整的外形特征次数。
终端通过执行上述步骤304-步骤306,能够通过模型编辑器按照调整的外形参数对对象模型的外形特征进行微调,以进一步调整对象模型的细节特征,保证了多个对象模型的外形特征在细节上较为相似。
307、终端对调整后的对象模型进行渲染。
在本申请实施例中,终端对调整后的对象模型进行渲染,以使对象模型的表面具有纹理细节。其中,纹理细节包括对象模型的皮肤的颜色、五官的颜色、头发的颜色以及衣物的颜色等。纹理细节还可以包括对象模型的材质、皮肤色泽以及反光度中的至少一种。经过渲染之后的对象模型具有虚拟数字人的静态的外观,不具有虚拟数字人动态的肢体动作。因此,渲染得到的对象模型为静态的虚拟数字人。
在一些实施例中,终端还能够调整对象模型渲染的细节级别。终端通过LOD(LevelOf Detail,细节级别)技术,根据虚拟场景中对象模型和观察位置之间的距离,确定渲染对象模型的细节级别。其中,观察位置为拍摄对象模型的摄像机所在的位置。细节级别与对象模型中待渲染的单位模型的数量正相关。细节级别与距离负相关。终端按照细节级别,对对象模型中的多个单位模型进行渲染。采用上述方法,能够根据对象模型和观察位置之间的距离,动态调整渲染对象模型的渲染速度和渲染分辨率。对象模型和观察位置之间的距离越远,观察者越不容易看清虚拟数字人的表面细节,因此终端减少对象模型中所需渲染的单位模型的数量,降低对象模型的渲染分辨率,以提高渲染速度。对象模型和观察位置之间的距离越近,观察者越容易看清虚拟数字人的表面细节,因此终端增加对象模型中所需渲染的单位模型的数量,提高对象模型的渲染分辨率,以提高虚拟数字人的真实感。
在一些实施例中,终端还能够根据观察位置,确定在该观察位置可见的对象模型和不可见的对象模型。然后,终端渲染在该观察位置可见的对象模型,无需渲染在该观察位置不可见的对象模型,从而提高渲染速度。另外,终端还可以批量渲染多个对象模型,以减少终端调用渲染引擎的次数,提高渲染的效率。
308、终端将对象模型的动作捕捉数据绑定到对象模型的多个骨骼关键点,得到虚拟数字人,动作捕捉数据用于生成虚拟数字人的肢体动作。
在本申请实施例中,终端将对象模型的动作捕捉数据绑定到对象模型的多个骨骼关键点,得到动态的虚拟数字人。其中,动作捕捉数据可以通过对真人的多个骨骼关键点进行动作捕捉得到。动作捕捉数据能够指示对象模型的多个骨骼关键点的运动轨迹。通过为对象模型的多个骨骼关键点绑定动作捕捉数据,能够指示虚拟数字人的多个骨骼关键点按照运动轨迹进行运动,从而生成虚拟数字人的肢体动作,呈现出动态的虚拟数字人的效果。
在一些实施例中,终端获取每个对象模型的动作捕捉数据。其中,动作捕捉数据记录有对象模型的多个骨骼关键点在不同时刻的位置信息。然后,终端确定多个对象模型的动作捕捉数据之间是否存在相似度大于相似度阈值的相似数据片段。其中,相似度阈值可以为一个预设的百分比数值,如60%、70%或者80%,本申请实施例对此不进行限制。对于任意两个时刻的动作捕捉数据,终端能够通过每个骨骼关键点在这两个时刻的位置信息之间的距离,确定该两个时刻的动作捕捉数据之间的相似度。在两个对象模型的动作捕捉数据存在多个连续的时刻均较为相似的情况下,可以认为该多个连续的时刻内的动作捕捉数据为一个相似的数据片段。在存在相似数据片段的情况下,终端对多个对象模型的动作捕捉数据中对应的相似数据片段进行融合,得到目标数据片段。然后,终端将多个对象模型的动作捕捉数据中对应的相似数据片段替换为目标数据片段。通过将动作捕捉数据中原本较为相似的动作片段替换为相同的动作片段,能够使得多个虚拟数字人的肢体动作更加一致,从而提高多个虚拟数字人同屏展示时肢体动作的一致性和协调性。
下面以对象模型A和对象模型B均具有12个骨骼关键点为例,对终端确定动作捕捉数据之间的相似度的过程进行说明。终端匹配对象模型A的动作捕捉数据和对象模型B的动作捕捉数据。例如,终端在对象模型A的动作捕捉数据中,确定12个骨骼关键点在第i个时刻的位置坐标;在对象模型B的动作捕捉数据中,确定12个骨骼关键点在第j个时刻的位置坐标。然后,终端分别确定每个骨骼关键点对应的两个位置坐标之间的距离。对于任一骨骼关键点,在该骨骼关键点对应的两个位置坐标之间的距离小于距离阈值的情况下,该骨骼关键点为相似的骨骼关键点。其中,距离阈值可以为预设的距离,如5、10或者15,本申请实施例对此不进行限制。然后,终端将相似的骨骼关键点的数量占骨骼关键点的总数量的百分比,确定为对象模型A的第i个时刻的动作捕捉数据与对象模型B的第j个时刻的动作捕捉数据之间的相似度。例如,在相似的骨骼关键点的数量为6的情况下,上述两个时刻的动作捕捉数据之间的相似度为50%。
在一些实施例中,终端还能够对动作捕捉数据进行插值。对于任一对象模型,终端确定对象模型的动作捕捉数据中相邻时刻之间的时间间隔。在存在任意相邻的两个时刻之间的时间间隔大于时间间隔阈值的情况下,终端对对象模型的多个骨骼关键点在两个时刻的位置信息进行插值,得到多个骨骼关键点在至少一个中间时刻的位置信息。其中,时间间隔阈值可以为一个预设的数值,如0.1秒、0.5秒或者0.7秒,本申请实施例对此不进行限制。通过对动作捕捉数据进行插值,能够得到对象模型的骨骼关键点在更多时刻的位置信息,丰富了动作捕捉数据。另外,通过为对象模型绑定更丰富的动作捕捉数据,能够提高虚拟数字人的肢体动作的流畅性,使得虚拟数字人的肢体动作在视觉上更加平滑。
在一些实施例中,终端还能够调整虚拟数字人的肢体动作的速度和力度。对于任一对象模型,终端通过调整对象模型的动作捕捉数据中多个骨骼关键点在至少一个时刻的位置信息,对对象模型的肢体动作的速度和力度进行调整。通过调整动作捕捉数据,对虚拟数字人的肢体动作的速度和力度进行调整,能够使得不同虚拟数字人的肢体动作的速度和力度更加协调一致,从而进一步提升多个虚拟数字人同屏展示时,不同虚拟数字人的肢体动作的协调性和连贯性。
其中,终端在调整肢体动作的速度的过程中,终端将至少一个骨骼关键点在肢体动作执行的至少一个时刻内的位置信息,均调整到当前时刻的前n个时刻,从而调快肢体动作的速度。或者,终端将至少一个骨骼关键点在肢体动作执行的至少一个时刻内的位置信息,均调整到当前时刻的后n个时刻,从而调慢肢体动作的速度。另外,终端还可以调整肢体动作的力度。例如,终端在调整上述速度的基础上,还可以通过调整至少一个骨骼关键点在肢体动作结束时刻的位置信息,调整肢体动作的运动幅度。肢体动作的速度越快,运动幅度越大,肢体动作的力度越大;肢体动作的速度越慢,运动幅度越小,肢体动作的力度越小。
本申请实施例提供了一种生成虚拟数字人的方法,在生成多个虚拟数字人的过程中,先调整虚拟数字人对应的对象模型的形状和身体比例等外形特征,以使对象模型之间的外形特征较为相似。然后,渲染调整后的对象模型,并为对象模型绑定动作捕捉数据,从而得到动态的虚拟数字人。由于采用上述方法生成的虚拟数字人之间的外形特征较为相似,因此同屏展示多个虚拟数字人时,多个虚拟数字人的外形特征较为协调,避免了虚拟数字人的身体形状或者身体比例差距过大的现象发生,提高了多个虚拟数字人之间的视觉协调性。
图4是根据本申请实施例提供的一种生成虚拟数字人的装置的框图。该装置用于执行上述生成虚拟数字人的方法执行时的步骤,参见图4,该生成虚拟数字人的装置包括:构建模块401、第一调整模块402以及渲染模块403。
构建模块401,用于基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,对象模型为虚拟场景中用于表示虚拟数字人的三维模型,外形特征包括对应的对象模型的形状和身体比例,外形关系图谱中的节点用于表示对象模型的外形特征,外形关系图谱中的边用于表示对象模型的外形特征之间的相似度;
第一调整模块402,用于对于外形关系图谱中的任一节点,基于节点的多个邻居节点所表示的外形特征和与节点相连接的多条边的权重,对节点所表示的对象模型的外形特征进行调整,边的权重与边所表示的相似度正相关;
渲染模块403,用于对对象模型进行渲染,将对象模型的动作捕捉数据绑定到对象模型的多个骨骼关键点,得到虚拟数字人,动作捕捉数据用于生成虚拟数字人的肢体动作。
在一些实施例中,图5是根据本申请实施例提供的另一种生成虚拟数字人的装置的框图,参见图5,第一调整模块402,包括:
确定单元501,用于对于外形关系图谱中的任一节点,基于节点所表示的外形特征和节点的多个邻居节点所表示的外形特征,确定多个中间调整幅度,多个中间调整幅度与多个邻居节点一一对应,中间调整幅度用于表示将节点所表示的外形特征调整为对应的邻居节点所表示的外形特征所需的调整幅度;
求和单元502,用于基于多条边的权重,对多个中间调整幅度进行加权求和,得到节点的目标调整幅度;
调整单元503,用于按照目标调整幅度,对节点所表示的对象模型的外形特征进行调整。
在一些实施例中,对象模型由多个单位模型组成,目标调整幅度用于指示多个单位模型的形状调整幅度和形状调整方向;
调整单元503,用于对于对象模型中的任一单位模型,基于目标调整幅度确定单位模型的形状调整幅度和形状调整方向;按照形状调整幅度,沿形状调整方向调整单位模型。
在一些实施例中,装置还包括:
几何分析模块404,用于对于任一对象模型,对对象模型进行几何分析,得到对象模型的外形特征;
特征提取模块405,用于对对象模型的外形特征进行特征提取,得到对象模型的特征向量,特征向量包括用于表示对象模型的多个骨骼关键点的位置坐标的元素和用于表示对象模型的多个部位的尺寸的元素;
相似度确定模块406,用于将任意两个对象模型的特征向量之间的相似度,确定为两个对象模型的外形特征之间的相似度。
在一些实施例中,特征提取模块405,用于基于对象模型的外形特征,对对象模型的多个骨骼关键点进行特征提取,得到位置特征向量,位置特征向量中的元素用于表示多个骨骼关键点的位置坐标;基于对象模型的外形特征,对对象模型的多个部位进行特征提取,得到尺寸特征向量,尺寸特征向量中的元素用于表示多个部位的尺寸;对位置特征向量和尺寸特征向量进行拼接,得到对象模型的特征向量。
在一些实施例中,构建模块401,用于对于任一对象模型,响应于得到对象模型的外形特征,在外形关系图谱中添加第一节点,第一节点用于表示对象模型的外形特征;响应于得到对象模型的外形特征和其他对象模型的外形特征之间的相似度,在外形关系图谱中连接第一节点和第二节点,第二节点用于表示其他对象模型的外形特征。
在一些实施例中,装置还包括:
第二调整模块407,用于通过模型编辑器对对象模型的外形特征进行参数化,得到一组外形参数,模型编辑器用于调整对象模型的外形特征,外形参数用于描述对象模型的外形特征;对于任一外形参数,在外形参数的取值不属于预设范围的情况下,将外形参数的取值调整至预设范围内;基于调整后的外形参数,通过模型编辑器对对象模型的外形特征进行调整。
在一些实施例中,渲染模块403,用于基于虚拟场景中对象模型和观察位置之间的距离,确定渲染对象模型的细节级别,观察位置为拍摄对象模型的摄像机所在的位置,细节级别与对象模型中待渲染的单位模型的数量正相关,细节级别与距离负相关;按照细节级别,对对象模型中的多个单位模型进行渲染。
在一些实施例中,装置还包括:
数据获取模块408,用于获取每个对象模型的动作捕捉数据,动作捕捉数据记录有对象模型的多个骨骼关键点在不同时刻的位置信息;确定多个对象模型的动作捕捉数据之间是否存在相似度大于相似度阈值的相似数据片段;在存在相似数据片段的情况下,对多个对象模型的动作捕捉数据中对应的相似数据片段进行融合,得到目标数据片段;将多个对象模型的动作捕捉数据中对应的相似数据片段替换为目标数据片段。
在一些实施例中,装置还包括:
确定模块409,用于对于任一对象模型,确定对象模型的动作捕捉数据中相邻时刻之间的时间间隔;
插值模块410,用于在存在任意相邻的两个时刻之间的时间间隔大于时间间隔阈值的情况下,对对象模型的多个骨骼关键点在两个时刻的位置信息进行插值,得到多个骨骼关键点在至少一个中间时刻的位置信息。
在一些实施例中,装置还包括:
第三调整模块411,用于对于任一对象模型,通过调整对象模型的动作捕捉数据中多个骨骼关键点在至少一个时刻的位置信息,对对象模型的肢体动作的速度和力度进行调整。
本申请实施例提供了一种生成虚拟数字人的装置,在生成多个虚拟数字人的过程中,先调整虚拟数字人对应的对象模型的形状和身体比例等外形特征,以使对象模型之间的外形特征较为相似。然后,渲染调整后的对象模型,并为对象模型绑定动作捕捉数据,从而得到动态的虚拟数字人。由于采用上述装置生成的虚拟数字人之间的外形特征较为相似,因此同屏展示多个虚拟数字人时,多个虚拟数字人的外形特征较为协调,避免了虚拟数字人的身体形状或者身体比例差距过大的现象发生,提高了多个虚拟数字人之间的视觉协调性。
需要说明的是:上述实施例提供的生成虚拟数字人的装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的生成虚拟数字人的装置与生成虚拟数字人的方法实施例属于同一构思,其具体实现过程见方法实施例,这里不再赘述。
图6是根据本申请实施例提供的一种终端的结构示意图。该终端600可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器601所执行以实现本申请中方法实施例提供的生成虚拟数字人的方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、显示屏605、摄像头组件606、音频电路607和电源608中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置在终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在另一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。在一些实施例中,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
电源608用于为终端600中的各个组件进行供电。电源608可以是交流电、直流电、一次性电池或可充电电池。当电源608包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器609。该一个或多个传感器609包括但不限于:加速度传感器610、陀螺仪传感器611、压力传感器612、光学传感器613以及接近传感器614。
加速度传感器610可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器610可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器610采集的重力加速度信号,控制显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器610还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器611可以检测终端600的机体方向及转动角度,陀螺仪传感器611可以与加速度传感器610协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器611采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器612可以设置在终端600的侧边框和/或显示屏605的下层。当压力传感器612设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器612采集的握持信号进行左右手识别或快捷操作。当压力传感器612设置在显示屏605的下层时,由处理器601根据用户对显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器613用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器613采集的环境光强度,控制显示屏605的显示亮度。可选地,当环境光强度较高时,调高显示屏605的显示亮度;当环境光强度较低时,调低显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器613采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器614,也称距离传感器,设置在终端600的前面板。接近传感器614用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器614检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制显示屏605从亮屏状态切换为息屏状态;当接近传感器614检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图7是根据本申请实施例提供的一种服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)701和一个或一个以上的存储器702,其中,该存储器702中存储有至少一条计算机程序,该至少一条计算机程序由该处理器701加载并执行以实现上述各个方法实施例提供的生成虚拟数字人的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一段计算机程序,该至少一段计算机程序由处理器加载并执行以实现上述实施例中的生成虚拟数字人的方法。例如,计算机可读存储介质可以是只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(CompactDisc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行以实现本申请实施例中的生成虚拟数字人的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种生成虚拟数字人的方法,其特征在于,所述方法包括:
基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,所述对象模型为虚拟场景中用于表示虚拟数字人的三维模型,所述外形特征包括对应的对象模型的形状和身体比例,所述外形关系图谱中的节点用于表示对象模型的外形特征,所述外形关系图谱中的边用于表示对象模型的外形特征之间的相似度;
对于所述外形关系图谱中的任一节点,基于所述节点的多个邻居节点所表示的外形特征和与所述节点相连接的多条边的权重,对所述节点所表示的对象模型的外形特征进行调整,所述边的权重与所述边所表示的相似度正相关;
对所述对象模型进行渲染,将所述对象模型的动作捕捉数据绑定到所述对象模型的多个骨骼关键点,得到虚拟数字人,所述动作捕捉数据用于生成所述虚拟数字人的肢体动作。
2.根据权利要求1所述的方法,其特征在于,所述对于所述外形关系图谱中的任一节点,基于所述节点的多个邻居节点所表示的外形特征和与所述节点相连接的多条边的权重,对所述节点所表示的对象模型的外形特征进行调整,包括:
对于所述外形关系图谱中的任一节点,基于所述节点所表示的外形特征和所述节点的多个邻居节点所表示的外形特征,确定多个中间调整幅度,所述多个中间调整幅度与所述多个邻居节点一一对应,所述中间调整幅度用于表示将所述节点所表示的外形特征调整为对应的邻居节点所表示的外形特征所需的调整幅度;
基于所述多条边的权重,对所述多个中间调整幅度进行加权求和,得到所述节点的目标调整幅度;
按照所述目标调整幅度,对所述节点所表示的对象模型的外形特征进行调整。
3.根据权利要求2所述的方法,其特征在于,所述对象模型由多个单位模型组成,所述目标调整幅度用于指示所述多个单位模型的形状调整幅度和形状调整方向;
所述按照所述目标调整幅度,对所述节点所表示的对象模型的外形特征进行调整,包括:
对于所述对象模型中的任一单位模型,基于所述目标调整幅度确定所述单位模型的形状调整幅度和形状调整方向;
按照所述形状调整幅度,沿所述形状调整方向调整所述单位模型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于任一对象模型,对所述对象模型进行几何分析,得到所述对象模型的外形特征;
对所述对象模型的外形特征进行特征提取,得到所述对象模型的特征向量,所述特征向量包括用于表示所述对象模型的多个骨骼关键点的位置坐标的元素和用于表示所述对象模型的多个部位的尺寸的元素;
将任意两个对象模型的特征向量之间的相似度,确定为所述两个对象模型的外形特征之间的相似度。
5.根据权利要求4所述的方法,其特征在于,所述对所述对象模型的外形特征进行特征提取,得到所述对象模型的特征向量,包括:
基于所述对象模型的外形特征,对所述对象模型的多个骨骼关键点进行特征提取,得到位置特征向量,所述位置特征向量中的元素用于表示所述多个骨骼关键点的位置坐标;
基于所述对象模型的外形特征,对所述对象模型的多个部位进行特征提取,得到尺寸特征向量,所述尺寸特征向量中的元素用于表示所述多个部位的尺寸;
对所述位置特征向量和所述尺寸特征向量进行拼接,得到所述对象模型的特征向量。
6.根据权利要求1所述的方法,其特征在于,所述基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,包括:
对于任一对象模型,响应于得到所述对象模型的外形特征,在所述外形关系图谱中添加第一节点,所述第一节点用于表示所述对象模型的外形特征;
响应于得到所述对象模型的外形特征和其他对象模型的外形特征之间的相似度,在所述外形关系图谱中连接所述第一节点和第二节点,所述第二节点用于表示所述其他对象模型的外形特征。
7.根据权利要求1所述的方法,其特征在于,所述对所述节点所表示的对象模型的外形特征进行调整之后,所述方法还包括:
通过模型编辑器对所述对象模型的外形特征进行参数化,得到一组外形参数,所述模型编辑器用于调整对象模型的外形特征,所述外形参数用于描述所述对象模型的外形特征;
对于任一外形参数,在所述外形参数的取值不属于预设范围的情况下,将所述外形参数的取值调整至所述预设范围内;
基于调整后的外形参数,通过所述模型编辑器对所述对象模型的外形特征进行调整。
8.根据权利要求1所述的方法,其特征在于,所述对所述对象模型进行渲染,包括:
基于所述虚拟场景中所述对象模型和观察位置之间的距离,确定渲染所述对象模型的细节级别,所述观察位置为拍摄所述对象模型的摄像机所在的位置,所述细节级别与所述对象模型中待渲染的单位模型的数量正相关,所述细节级别与所述距离负相关;
按照所述细节级别,对所述对象模型中的多个单位模型进行渲染。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取每个对象模型的动作捕捉数据,所述动作捕捉数据记录有对象模型的多个骨骼关键点在不同时刻的位置信息;
确定所述多个对象模型的动作捕捉数据之间是否存在相似度大于相似度阈值的相似数据片段;
在存在相似数据片段的情况下,对所述多个对象模型的动作捕捉数据中对应的相似数据片段进行融合,得到目标数据片段;
将所述多个对象模型的动作捕捉数据中对应的相似数据片段替换为所述目标数据片段。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
对于任一对象模型,确定所述对象模型的动作捕捉数据中相邻时刻之间的时间间隔;
在存在任意相邻的两个时刻之间的时间间隔大于时间间隔阈值的情况下,对所述对象模型的多个骨骼关键点在所述两个时刻的位置信息进行插值,得到所述多个骨骼关键点在至少一个中间时刻的位置信息。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
对于任一对象模型,通过调整所述对象模型的动作捕捉数据中多个骨骼关键点在至少一个时刻的位置信息,对所述对象模型的肢体动作的速度和力度进行调整。
12.一种生成虚拟数字人的装置,其特征在于,所述装置包括:
构建模块,用于基于多个对象模型的外形特征之间的相似度,构建外形关系图谱,所述对象模型为虚拟场景中用于表示虚拟数字人的三维模型,所述外形特征包括对应的对象模型的形状和身体比例,所述外形关系图谱中的节点用于表示对象模型的外形特征,所述外形关系图谱中的边用于表示对象模型的外形特征之间的相似度;
第一调整模块,用于对于所述外形关系图谱中的任一节点,基于所述节点的多个邻居节点所表示的外形特征和与所述节点相连接的多条边的权重,对所述节点所表示的对象模型的外形特征进行调整,所述边的权重与所述边所表示的相似度正相关;
渲染模块,用于对所述对象模型进行渲染,将所述对象模型的动作捕捉数据绑定到所述对象模型的多个骨骼关键点,得到虚拟数字人,所述动作捕捉数据用于生成所述虚拟数字人的肢体动作。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行权利要求1至11任一项权利要求所述的生成虚拟数字人的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段计算机程序,所述至少一段计算机程序用于执行权利要求1至11任一项权利要求所述的生成虚拟数字人的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项权利要求所述的生成虚拟数字人的方法。
CN202311774810.8A 2023-12-21 2023-12-21 生成虚拟数字人的方法、装置、设备及存储介质 Pending CN117892810A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311774810.8A CN117892810A (zh) 2023-12-21 2023-12-21 生成虚拟数字人的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311774810.8A CN117892810A (zh) 2023-12-21 2023-12-21 生成虚拟数字人的方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117892810A true CN117892810A (zh) 2024-04-16

Family

ID=90646218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311774810.8A Pending CN117892810A (zh) 2023-12-21 2023-12-21 生成虚拟数字人的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117892810A (zh)

Similar Documents

Publication Publication Date Title
CN109978989B (zh) 三维人脸模型生成方法、装置、计算机设备及存储介质
CN110807361B (zh) 人体识别方法、装置、计算机设备及存储介质
CN109308727B (zh) 虚拟形象模型生成方法、装置及存储介质
CN110276840B (zh) 多虚拟角色的控制方法、装置、设备及存储介质
CN111541907B (zh) 物品显示方法、装置、设备及存储介质
CN112287852B (zh) 人脸图像的处理方法、显示方法、装置及设备
CN112907725B (zh) 图像生成、图像处理模型的训练、图像处理方法和装置
CN109947338B (zh) 图像切换显示方法、装置、电子设备及存储介质
CN109977775B (zh) 关键点检测方法、装置、设备及可读存储介质
CN110263617B (zh) 三维人脸模型获取方法及装置
CN110956580B (zh) 图像换脸的方法、装置、计算机设备以及存储介质
CN112337105B (zh) 虚拟形象生成方法、装置、终端及存储介质
CN111680758B (zh) 图像训练样本生成方法和装置
CN112581358B (zh) 图像处理模型的训练方法、图像处理方法及装置
CN112581571B (zh) 虚拟形象模型的控制方法、装置、电子设备及存储介质
CN110837300B (zh) 虚拟交互的方法、装置、电子设备及存储介质
CN110807769A (zh) 图像显示控制方法及装置
CN112950753B (zh) 虚拟植物显示方法、装置、设备及存储介质
CN110891181B (zh) 直播画面显示方法、装置、存储介质及终端
CN109345636B (zh) 获取虚拟人脸图的方法和装置
CN112967261B (zh) 图像融合方法、装置、设备及存储介质
CN117892810A (zh) 生成虚拟数字人的方法、装置、设备及存储介质
CN110312144B (zh) 进行直播的方法、装置、终端和存储介质
CN111797754A (zh) 图像检测的方法、装置、电子设备及介质
CN111982293A (zh) 体温测量方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination