CN112581571A - 虚拟形象模型的控制方法、装置、电子设备及存储介质 - Google Patents
虚拟形象模型的控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112581571A CN112581571A CN202011407201.5A CN202011407201A CN112581571A CN 112581571 A CN112581571 A CN 112581571A CN 202011407201 A CN202011407201 A CN 202011407201A CN 112581571 A CN112581571 A CN 112581571A
- Authority
- CN
- China
- Prior art keywords
- vertex
- key points
- bone
- key point
- model
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000004088 simulation Methods 0.000 claims abstract description 86
- 210000000988 bone and bone Anatomy 0.000 claims description 243
- 230000008859 change Effects 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 abstract description 21
- 230000003993 interaction Effects 0.000 abstract description 8
- 230000000875 corresponding effect Effects 0.000 description 111
- 238000001514 detection method Methods 0.000 description 53
- 230000001815 facial effect Effects 0.000 description 36
- 238000012545 processing Methods 0.000 description 32
- 239000011159 matrix material Substances 0.000 description 18
- 230000009466 transformation Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000001133 acceleration Effects 0.000 description 11
- 230000001276 controlling effect Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 239000003550 marker Substances 0.000 description 9
- 230000008676 import Effects 0.000 description 8
- 230000001131 transforming effect Effects 0.000 description 8
- 238000013145 classification model Methods 0.000 description 7
- 238000002372 labelling Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 210000002310 elbow joint Anatomy 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 210000003857 wrist joint Anatomy 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000001145 finger joint Anatomy 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
Abstract
本公开关于一种虚拟形象模型的控制方法、装置、电子设备及存储介质,属于计算机技术领域。在本申请实施例中,能够通过物理模拟系统来根据三维模型的模型参数得到三维模型的骨骼关键点,并根据三维模型的骨骼关键点来驱动三维模型的运动。通过本公开实施例提供的技术方案,能够通过物理模拟系统快捷的确定出虚拟形象的多个骨骼关键点,基于骨骼关键点就能够方便的对虚拟形象的模型进行驱动。在直播过程中,主播也就能够根据自己的想法对虚拟形象进行控制,提高了人机交互的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种虚拟形象模型的控制方法、装置、电子设备及存储介质。
背景技术
随着网络技术的发展,越来越多的用户会通过观看直播的方式进行娱乐。为了提升直播效果,很多直播平台都为提供了虚拟偶像来辅助主播进行直播。虚拟偶像能够在主播的直播间内进行表演,通过虚拟偶像的表演就也能够提高直播效果。
相关技术中,主播只能通过点击按钮,控制虚拟偶像执行一些预设的动作,比如在直播间中演唱固定的歌曲,或者在直播间中做出固定的动作。但是,采用相关技术中提供的方式后,主播只能在预设的选项中挑选与虚拟偶像的互动方式,无法按照自己的想法对虚拟偶像进行控制,导致人机交互的效率较低。
发明内容
本公开提供一种虚拟形象模型的控制方法、装置、电子设备及存储介质,以提高人机交互的效率。本公开的技术方案如下:
一方面,提供了一种虚拟形象模型的控制方法,包括:
将虚拟形象的三维模型的模型参数输入物理模拟系统,所述模型参数至少包括所述三维模型中多个顶点的位置,所述物理模拟系统用于控制所述三维模型进行运动;
通过所述物理模拟系统,根据所述多个顶点的位置,获取多个第一骨骼关键点,所述第一骨骼关键点对应于所述三维模型中的至少一个所述顶点;
响应于所述三维模型的任一所述第一骨骼关键点的位置发生变化,通过所述物理模拟系统,基于所述任一所述第一骨骼关键点变化后的位置,对所述三维模型中对应的第一顶点的位置进行调整。
在一种可选的实现方式中,所述根据所述多个顶点的位置,得到多个第一骨骼关键点包括:
对所述多个顶点进行聚类,得到多个类别,每个所述类别对应于至少一个顶点;
基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的所述多个第一骨骼关键点,每个所述类别对应于至少一个所述第一骨骼关键点。
在一种可选的实现方式中,所述基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的所述多个第一骨骼关键点包括:
基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的虚拟骨骼,所述虚拟骨骼为与每个所述类别中顶点之间的距离之和最小的线段;
将所述虚拟骨骼的端点坐标确定为与所述多个类别分别对应的所述第一骨骼关键点的位置。
在一种可选的实现方式中,所述基于所述任一所述第一骨骼关键点变化后的位置,对所述三维模型中对应的第一顶点的位置进行调整包括:
根据所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,以及所述任一所述第一骨骼关键点变化后的位置,对所述第一顶点的位置进行调整,所述第一蒙皮权重用于表示所述任一所述第一骨骼关键点对所述第一顶点位置的影响程度。
在一种可选的实现方式中,所述根据所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,以及所述任一所述第一骨骼关键点变化后的位置,对所述第一顶点的位置进行调整之前,所述方法还包括:
根据所述任一所述第一骨骼关键点与所述第一顶点之间的相对位置关系,确定所述任一所述第一骨骼关键点与所述第一顶点之间的所述第一蒙皮权重,所述第一蒙皮权重与所述任一所述第一骨骼关键点与所述第一顶点之间的距离呈反比。
在一种可选的实现方式中,所述第一顶点的位置分别与所述三维模型的至少两个所述第一骨骼关键点的位置相关联,所述根据所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,以及所述任一所述第一骨骼关键点变化后的位置,对所述第一顶点的位置进行调整通过下述公式来实现:
P=W1×P1+W2×P2+……+Wn×Pn;
其中,P为所述第一顶点调整后的位置坐标,W1为所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,P1为所述任一所述第一骨骼关键点变化后的位置坐标,W2和Wn为其他所述第一骨骼关键点与所述第一顶点之间的第二蒙皮权重,P2和Pn为所述其他所述第一骨骼关键点的位置坐标,所述其他所述第一骨骼关键点为除所述任一所述第一骨骼关键点之外,位置与所述第一顶点相关联的第一骨骼关键点。
在一种可选的实现方式中,所述虚拟形象包括多个子虚拟形象,所述方法还包括:
获取所述多个子虚拟形象的变形程度参数和运动速度参数,所述变形程度参数用于表示所述子虚拟形象的最大变形幅度,所述运动速度参数用于表示所述子虚拟形象改变当前运动状态的速度;
响应于与任一所述子虚拟形象连接的任一所述顶点的位置发生变化,基于所述变形程度参数、所述运动速度参数以及所述任一所述顶点变化后的位置,对所述任一所述子虚拟形象的位置进行调整,所述任一所述顶点为与所述任一所述子虚拟形象相连的其他部位的顶点。
在一种可选的实现方式中,所述响应于所述三维模型的任一骨骼关键点的位置发生变化之前,所述方法还包括:
将包括目标对象的视频流输入所述物理模拟系统,通过所述物理模拟系统,从所述视频流中获取所述目标对象中与所述多个第一骨骼关键点分别对应的多个第二骨骼关键点;
响应于在所述视频流中任一所述第二骨骼关键点的位置发生变化,基于所述任一所述第二骨骼关键点变化后的位置,对与所述任一所述第二骨骼关键点对应的所述任一所述第一骨骼关键点的位置进行调整。
在一种可选的实现方式中,所述响应于在所述视频流中任一所述第二骨骼关键点的位置发生变化,对与所述任一所述第二骨骼关键点对应的所述任一所述第一骨骼关键点的位置进行调整包括:
响应于在所述视频流中所述任一所述第二骨骼关键点的位置发生变化,将第一坐标系中的第一坐标变换到第二坐标系中的第二坐标,所述第一坐标系为所述视频流对应的坐标系,所述第一坐标用于表示所述任一所述第二骨骼关键点变化后的位置,所述第二坐标系为所述三维模型对应的坐标系;
将所述任一所述第一骨骼关键点移动至所述第二坐标所指示的位置。
在一种可选的实现方式中,所述将包括目标对象的视频流输入所述物理模拟系统之后,所述方法还包括:
从所述视频流中,获取所述目标对象的多个面部关键点;
响应于在所述视频流中,所述目标对象的任一面部关键点的位置发生变化,基于所述任一面部关键点变化后的位置,对所述虚拟形象的第二顶点的位置进行调整,所述第二顶点为位置与所述任一面部关键点的位置对应的顶点。
在一种可选的实现方式中,所述基于所述任一面部关键点变化后的位置,对所述虚拟形象的第二顶点的位置进行调整包括:
将第一坐标系中的第三坐标变换到第二坐标系中的第四坐标,所述第一坐标系为所述视频流对应的坐标系,所述第三坐标用于表示所述任一面部关键点变化后的位置,所述第二坐标系为所述三维模型对应的坐标系;
将所述第二顶点移动至所述第四坐标所指示的位置。
在一种可选的实现方式中,所述模型参数还包括所述三维模型对应的纹理参数,所述方法还包括:
基于所述纹理参数以及所述纹理参数与所述多个顶点之间的对应关系,对所述三维模型进行渲染。
一方面,提供了一种虚拟形象模型的控制装置,包括:
模型参数输入单元,被配置为执行将虚拟形象的三维模型的模型参数输入物理模拟系统,所述模型参数至少包括所述三维模型中多个顶点的位置,所述物理模拟系统用于控制所述三维模型进行运动;
骨骼关键点获取单元,被配置为执行通过所述物理模拟系统,根据所述多个顶点的位置,获取多个第一骨骼关键点,所述第一骨骼关键点对应于所述三维模型中的至少一个所述顶点;
调整单元,被配置为执行响应于所述三维模型的任一所述第一骨骼关键点的位置发生变化,通过所述物理模拟系统,基于所述任一所述第一骨骼关键点变化后的位置,对所述三维模型中对应的第一顶点的位置进行调整。
在一种可选的实现方式中,所述骨骼关键点获取单元,被配置为执行对所述多个顶点进行聚类,得到多个类别,每个所述类别对应于至少一个顶点;基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的所述多个第一骨骼关键点,每个所述类别对应于至少一个所述第一骨骼关键点。
在一种可选的实现方式中,所述骨骼关键点获取单元,被配置为执行基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的虚拟骨骼,所述虚拟骨骼为与每个所述类别中顶点之间的距离之和最小的线段;将所述虚拟骨骼的端点坐标确定为与所述多个类别分别对应的所述第一骨骼关键点的位置。
在一种可选的实现方式中,所述调整单元,被配置为执行根据所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,以及所述任一所述第一骨骼关键点变化后的位置,对所述第一顶点的位置进行调整,所述第一蒙皮权重用于表示所述任一所述第一骨骼关键点对所述第一顶点位置的影响程度。
在一种可选的实现方式中,所述装置还包括:
蒙皮权重确定单元,被配置为执行根据所述任一所述第一骨骼关键点与所述第一顶点之间的相对位置关系,确定所述任一所述第一骨骼关键点与所述第一顶点之间的所述第一蒙皮权重,所述第一蒙皮权重与所述任一所述第一骨骼关键点与所述第一顶点之间的距离呈反比。
在一种可选的实现方式中,所述第一顶点的位置分别与所述三维模型的至少两个所述第一骨骼关键点的位置相关联,所述调整单元,被配置为执行基于下述公式来对所述第一顶点的位置进行调整:
P=W1×P1+W2×P2+……+Wn×Pn;
其中,P为所述第一顶点调整后的位置坐标,W1为所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,P1为所述任一所述第一骨骼关键点变化后的位置坐标,W2和Wn为其他所述第一骨骼关键点与所述第一顶点之间的第二蒙皮权重,P2和Pn为所述其他所述第一骨骼关键点的位置坐标,所述其他所述第一骨骼关键点为除所述任一所述第一骨骼关键点之外,位置与所述第一顶点相关联的第一骨骼关键点。
在一种可选的实现方式中,所述虚拟形象包括多个子虚拟形象,所述装置还包括:
参数获取单元,被配置为执行获取所述多个子虚拟形象的变形程度参数和运动速度参数,所述变形程度参数用于表示所述子虚拟形象的最大变形幅度,所述运动速度参数用于表示所述子虚拟形象改变当前运动状态的速度;
所述调整单元还被配置为执行响应于与任一所述子虚拟形象连接的任一所述顶点的位置发生变化,基于所述变形程度参数、所述运动速度参数以及所述任一所述顶点变化后的位置,对所述任一所述子虚拟形象的位置进行调整,所述任一所述顶点为与所述任一所述子虚拟形象相连的其他部位的顶点。
在一种可选的实现方式中,所述装置还包括:
视频流输入单元,被配置为执行将包括目标对象的视频流输入所述物理模拟系统,通过所述物理模拟系统,从所述视频流中获取所述目标对象中与所述多个第一骨骼关键点分别对应的多个第二骨骼关键点;
所述调整单元,还被配置为执行响应于在所述视频流中任一所述第二骨骼关键点的位置发生变化,基于所述任一所述第二骨骼关键点变化后的位置,对与所述任一所述第二骨骼关键点对应的所述任一所述第一骨骼关键点的位置进行调整。
在一种可选的实现方式中,所述调整单元,还被配置为执行响应于在所述视频流中所述任一所述第二骨骼关键点的位置发生变化,将第一坐标系中的第一坐标变换到第二坐标系中的第二坐标,所述第一坐标系为所述视频流对应的坐标系,所述第一坐标用于表示所述任一所述第二骨骼关键点变化后的位置,所述第二坐标系为所述三维模型对应的坐标系;将所述任一所述第一骨骼关键点移动至所述第二坐标所指示的位置。
在一种可选的实现方式中,所述装置还包括:
面部关键点获取单元,被配置为执行从所述视频流中,获取所述目标对象的多个面部关键点;
所述调整单元,还被配置为执行响应于在所述视频流中,所述目标对象的任一面部关键点的位置发生变化,基于所述任一面部关键点变化后的位置,对所述虚拟形象的第二顶点的位置进行调整,所述第二顶点为位置与所述任一面部关键点的位置对应的顶点。
在一种可选的实现方式中,所述调整单元,还被配置为执行将第一坐标系中的第三坐标变换到第二坐标系中的第四坐标,所述第一坐标系为所述视频流对应的坐标系,所述第三坐标用于表示所述任一面部关键点变化后的位置,所述第二坐标系为所述三维模型对应的坐标系;将所述第二顶点移动至所述第四坐标所指示的位置。
在一种可选的实现方式中,所述模型参数还包括所述三维模型对应的纹理参数,所述装置还包括:
渲染单元,被配置为执行基于所述纹理参数以及所述纹理参数与所述多个顶点之间的对应关系,对所述三维模型进行渲染。
一方面,提供一种电子设备,该电子设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述虚拟形象模型的控制方法。
一方面,提供一种存储介质,当该存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述虚拟形象模型的控制方法。
一方面,提供一种计算机程序产品,该计算机程序产品存储有一条或多条程序代码,该一条或多条程序代码可以由电子设备的处理器执行,以完成上述虚拟形象模型的控制方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
通过本公开实施例提供的技术方案,能够通过物理模拟系统快捷的确定出虚拟形象的多个骨骼关键点,基于骨骼关键点就能够方便的对虚拟形象的模型进行驱动。在直播过程中,主播也就能够根据自己的想法对虚拟形象进行控制,提高了人机交互的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种虚拟偶像的示意图;
图2是根据一示例性实施例示出的一种虚拟形象模型的控制方法的实施环境示意图;
图3是根据一示例性实施例示出的一种虚拟形象模型的控制方法的流程图;
图4是根据一示例性实施例示出的一种虚拟形象模型的控制方法的流程图;
图5是根据一示例性实施例示出的一种界面示意图;
图6是根据一示例性实施例示出的一种虚拟形象的头发的示意图;
图7是根据一示例性实施例示出的一种虚拟形象的骨骼关键点的示意图;
图8是根据一示例性实施例示出的一种虚拟偶像的示意图;
图9是根据一示例性实施例示出的一种虚拟形象模型的控制装置的框图;
图10是根据一示例性实施例示出的一种终端的框图;
图11是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
首先对本公开实施例涉及的名词进行介绍。
虚拟形象:也可以称为虚拟偶像,是通过绘画、动画、计算机动画(ComputerGraphics,CG)等形式制作,在因特网等虚拟场景进行活动,但本身并不以实体形式存在的人物对象,虚拟形象的一个示例参见附图1。
图2是根据一示例性实施例示出的一种虚拟形象模型的控制方法的实施环境示意图,如图2所示,包括终端201和服务器202。
可选的,终端201为智能手机、智能手表、台式电脑、手提电脑和膝上型便携计算机等设备中的至少一种。终端201上可以安装并运行有支持在线直播的应用程序,用户可以通过终端201登录该应用程序来进行直播。终端201可以通过无线网络或有线网络与服务器202相连。
可选的,终端201为多个终端中的一个,本实施例仅以终端201来举例说明。本领域技术人员可以知晓,上述终端的数量能够更多或更少。比如上述终端201能够仅为几个,或者上述终端201为几十个或几百个,或者更多数量,本公开实施例对终端201的数量和设备类别均不加以限定。
可选的,服务器202为一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器202能够用于进行直播,还可以用于训练模型。
可选的,上述服务器202的数量为更多或更少,本公开实施例对此不加以限定。当然,可选的,服务器202还包括其他功能服务器,以便提供更全面且多样化的服务。
本公开实施例提供的虚拟形象模型的控制方法能够应用在多种场景下,下面将对这些场景进行介绍。
本公开实施例提供的技术方案能够应用在主播进行直播的场景下。在直播场景下,终端通过摄像头来采集主播的直播视频,终端对采集到的直播视频进行编码,将编码后的直播视频发送给服务器。服务器对编码后的直播视频进行解码和二次编码,将不同码率的直播视频发送给观众使用的终端,观众使用的终端将服务器发送的直播视频进行解码,将解码后的直播视频呈现给观众。为了提升直播效果,一些直播平台为主播提供的采用虚拟形象进行直播的方式,在这种方式下,主播像往常一样进行直播,但是观众在直播视频中看到的不是主播的对象,而是虚拟形象的对象。举例来说,若主播想要采用虚拟形象来进行直播,那么主播在直播软件上调用虚拟形象的模型,终端采集主播的直播视频,对直播视频进行图像识别,得到直播视频中主播的多个骨骼关键点。终端根据主播的多个骨骼关键点与虚拟形象的多个骨骼关键点的对应关系,控制虚拟形象按照主播的行为进行活动。从观众的角度来看,也就是主播以虚拟形象的对象进行直播。
本公开实施例提供的技术方案还能够应用在动画制作的过程中。在动画制作的过程中,动画制作人员先制作虚拟形象的模型,模型制作完毕之后,在模型上增加贴图,也就完成了虚拟形象或者说动画人物的制作。制作虚拟形象之后,终端生成虚拟形象的骨骼,骨骼包括多个骨骼关键点。终端将虚拟形象的骨骼关键点与顶点进行绑定,可选的,骨骼关键点也可以称为关节点。完成上述过程之后,终端通过摄像头来采集演员的视频,终端从采集到的的视频中获取演员的多个骨骼关键点,根据演员的骨骼关键点与虚拟形象的骨骼关键点之间的对应关系,驱动虚拟形象进行活动。通过这样的动画制作方式,动画制作人员只需完成动画人物模型的制作,就能够由演员来驱动动画人物运动,提高了动画制作的效率。
介绍完本公开的实施环境和应用场景之后,下面对本公开实施例提供的技术方案进行说明。
图3是根据一示例性实施例示出的一种虚拟形象模型的控制方法的流程图,如图3所示,包括以下步骤。
在步骤S301中,将虚拟形象的三维模型的模型参数输入物理模拟系统,模型参数至少包括三维模型中多个顶点的位置,物理模拟系统用于控制三维模型进行运动。
在步骤S302中,通过物理模拟系统,根据多个顶点的位置,获取多个第一骨骼关键点,第一骨骼关键点对应于三维模型中的至少一个顶点。
在步骤S303中,响应于三维模型的任一第一骨骼关键点的位置发生变化,通过物理模拟系统,基于任一第一骨骼关键点变化后的位置,对三维模型中对应的第一顶点的位置进行调整。
通过本公开实施例提供的技术方案,能够通过物理模拟系统快捷的确定出虚拟形象的多个骨骼关键点,基于骨骼关键点就能够方便的对虚拟形象的模型进行驱动。在直播过程中,主播也就能够根据自己的想法对虚拟形象进行控制,提高了人机交互的效率。
在一种可选的实现方式中,根据多个顶点的位置,得到多个第一骨骼关键点包括:
对多个顶点进行聚类,得到多个类别,每个类别对应于至少一个顶点。
基于多个类别中顶点的位置,得到与多个类别分别对应的多个第一骨骼关键点,每个类别对应于至少一个第一骨骼关键点。
在一种可选的实现方式中,基于多个类别中顶点的位置,得到与多个类别分别对应的多个第一骨骼关键点包括:
基于多个类别中顶点的位置,得到与多个类别分别对应的虚拟骨骼,虚拟骨骼为与每个类别中顶点之间的距离之和最小的线段。
将虚拟骨骼的端点坐标确定为与多个类别分别对应的第一骨骼关键点的位置。
在一种可选的实现方式中,基于任一第一骨骼关键点变化后的位置,对三维模型中对应的第一顶点的位置进行调整包括:
根据任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,以及任一第一骨骼关键点变化后的位置,对第一顶点的位置进行调整,第一蒙皮权重用于表示任一第一骨骼关键点对第一顶点位置的影响程度。
在一种可选的实现方式中,根据任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,以及任一第一骨骼关键点变化后的位置,对第一顶点的位置进行调整之前,方法还包括:
根据任一第一骨骼关键点与第一顶点之间的相对位置关系,确定任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,第一蒙皮权重与任一第一骨骼关键点与第一顶点之间的距离呈反比。
在一种可选的实现方式中,第一顶点的位置分别与三维模型的至少两个第一骨骼关键点的位置相关联,根据任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,以及任一第一骨骼关键点变化后的位置,对第一顶点的位置进行调整通过下述公式来实现:
P=W1×P1+W2×P2+……+Wn×Pn。
其中,P为第一顶点调整后的位置坐标,W1为任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,P1为任一第一骨骼关键点变化后的位置坐标,W2和Wn为其他第一骨骼关键点与第一顶点之间的第二蒙皮权重,P2和Pn为其他第一骨骼关键点的位置坐标,其他第一骨骼关键点为除任一第一骨骼关键点之外,位置与第一顶点相关联的第一骨骼关键点。
在一种可选的实现方式中,虚拟形象包括多个子虚拟形象,方法还包括:
获取多个子虚拟形象的变形程度参数和运动速度参数,变形程度参数用于表示子虚拟形象的最大变形幅度,运动速度参数用于表示子虚拟形象改变当前运动状态的速度。
响应于与任一子虚拟形象连接的任一顶点的位置发生变化,基于变形程度参数、运动速度参数以及任一顶点变化后的位置,对任一子虚拟形象的位置进行调整,任一顶点为与任一子虚拟形象相连的其他部位的顶点。
在一种可选的实现方式中,响应于三维模型的任一骨骼关键点的位置发生变化之前,方法还包括:
将包括目标对象的视频流输入物理模拟系统,通过物理模拟系统,从视频流中获取目标对象中与多个第一骨骼关键点分别对应的多个第二骨骼关键点。
响应于在视频流中任一第二骨骼关键点的位置发生变化,基于任一第二骨骼关键点变化后的位置,对与任一第二骨骼关键点对应的任一第一骨骼关键点的位置进行调整。
在一种可选的实现方式中,响应于在视频流中任一第二骨骼关键点的位置发生变化,对与任一第二骨骼关键点对应的任一第一骨骼关键点的位置进行调整包括:
响应于在视频流中任一第二骨骼关键点的位置发生变化,将第一坐标系中的第一坐标变换到第二坐标系中的第二坐标,第一坐标系为视频流对应的坐标系,第一坐标用于表示任一第二骨骼关键点变化后的位置,第二坐标系为三维模型对应的坐标系。
将任一第一骨骼关键点移动至第二坐标所指示的位置。
在一种可选的实现方式中,将包括目标对象的视频流输入物理模拟系统之后,方法还包括:
从视频流中,获取目标对象的多个面部关键点。
响应于在视频流中,目标对象的任一面部关键点的位置发生变化,基于任一面部关键点变化后的位置,对虚拟形象的第二顶点的位置进行调整,第二顶点为位置与任一面部关键点的位置对应的顶点。
在一种可选的实现方式中,基于任一面部关键点变化后的位置,对虚拟形象的第二顶点的位置进行调整包括:
将第一坐标系中的第三坐标变换到第二坐标系中的第四坐标,第一坐标系为视频流对应的坐标系,第三坐标用于表示任一面部关键点变化后的位置,第二坐标系为三维模型对应的坐标系。
将第二顶点移动至第四坐标所指示的位置。
在一种可选的实现方式中,模型参数还包括三维模型对应的纹理参数,方法还包括:
基于纹理参数以及纹理参数与多个顶点之间的对应关系,对三维模型进行渲染。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
上述图3所示仅为本公开的基本流程,下面基于一种具体实现方式,来对本公开提供的方案进行进一步阐述,图4是根据一示例性实施例示出的一种虚拟形象模型的控制方法的流程图。参见图4,方法包括:
在步骤S401中,电子设备将虚拟形象的三维模型的模型参数输入物理模拟系统,模型参数至少包括三维模型中多个顶点的位置,物理模拟系统用于控制三维模型进行运动。
其中,虚拟形象为已经制作完毕的虚拟形象,在直播场景下,虚拟形象也即是直播软件为主播提供的虚拟形象;在动画制作场景下,虚拟形象也即是制作完毕的动画人物。可选地,物理模拟系统为一个集成了多种功能的应用程序,在电子设备运行该应用程序时,主播或者动画制作人员能够通过物理模拟系统,方便快捷控制三维模型进行运动。
在一种可选的实现方式中,物理模拟系统能够提供一个接口,电子设备能够通过该接口将虚拟形象的三维模型的模型参数输入物理模拟系统。
举例来说,参见图5,电子设备显示界面501,界面501上显示有模型参数导入按钮502,用户通过该按钮502就能够将存储有模型参数的文件导入物理模拟系统。
下面将分直播场景和动画制作场景对该举例进行说明。
在直播场景下,直播软件为物理模拟系统提供调用接口,电子设备通过该调用接口就能够直接将直播软件中的虚拟形象的三维模型导入物理模拟系统。在一些实施例中,调用接口与按钮502绑定,响应于检测到对按钮502的点击操作,电子设备触发模型参数导入指令。响应于模型参数导入指令,电子设备通过该调用接口从直播软件中将虚拟形象的三维模型的模型参数导入物理模拟系统。
在动画制作场景下,动画制作人员点击按钮502之后,电子设备触发模型参数导入指令。响应于模型参数导入指令,电子设备显示模型文件选择界面,动画制作人员能够通过文件选择界面选择动画人物的三维模型文件。电子设备能够将动画制作人员选择的文件导入物理模拟系统。
在步骤S402中,电子设备通过物理模拟系统,根据多个顶点的位置,获取多个第一骨骼关键点,第一骨骼关键点对应于三维模型中的至少一个顶点。
为了更加清楚的对步骤S402进行说明,下面对虚拟形象的顶点和虚拟形象的骨骼关键点进行说明。
在制作虚拟形象时,设计人员会先创建虚拟形象的三维模型,虚拟形象的三维模型是由多个三角形的平面构成的,每个三角形平面具有三个顶点,三角形平面的顶点也即是虚拟形象的顶点。电子设备控制虚拟形象进行移动,或者动作变换的过程,实际上也就是控制虚拟形象的顶点进行移动的过程。当然,由于虚拟形象的顶点数量众多,一一调整每个顶点的位置,容易导致电子设备计算量过大,计算效率较低的现象。为了减少电子设备的计算量,提高计算效率,在本公开实施例中,向物理模拟系统输入虚拟形象的三维模型的模型参数之后,电子设备能够通过物理模拟系统在虚拟形象的三维模型中设置虚拟形象的虚拟骨骼,每根虚拟骨骼包括两个骨骼关键点,在一些实施例中,虚拟形象的骨骼关键点也可以称为关节点。设置虚拟形象的骨骼关键点之后,电子设备将虚拟形象的骨骼关键点和虚拟形象的顶点进行绑定,即可实现通过控制骨骼关键点的移动,来控制虚拟形象的顶点的移动。由于虚拟形象的骨骼关键点的数量远远小于虚拟形象的顶点的数量,通过这种实现方式能够显著减少电子设备的计算量,提高计算效率。
在一种可选的实现方式中,电子设备通过物理模拟系统,对多个顶点进行聚类,得到多个类别,每个类别对应于至少一个顶点。物理模拟系统基于多个类别中顶点的位置,得到与多个类别分别对应的多个第一骨骼关键点,每个类别对应于至少一个第一骨骼关键点。
在这种实现方式下,电子设备通过对顶点进行聚类,进而自动确定出每个类别对应的骨骼关键点,无需设计人员手动确定骨骼关键点,提高了骨骼关键点确定的效率。
下面对物理模拟系统基于多个类别中顶点的位置,得到与多个类别分别对应的多个第一骨骼关键点的方法进行说明:
物理模拟系统基于多个类别中顶点的位置,得到与多个类别分别对应的虚拟骨骼,虚拟骨骼为与每个类别中顶点之间的距离之和最小的线段。物理模拟系统将虚拟骨骼的端点坐标确定为与多个类别分别对应的第一骨骼关键点的位置。
举例来说,对于三维模型来说,每个顶点包括三个坐标x,y和z,其中x为顶点的横坐标,y为顶点的纵坐标,z为顶点的高度坐标。电子设备通过最小二乘法对一个类别对应的多个顶点进行线性拟合,得到该类别对应的虚拟骨骼,该虚拟骨骼的两个端点也就为该类别对应的第一骨骼关键点,在这种情况下,采用两个第一骨骼关键点就能够表示虚拟形象的一根骨骼,减少了对电子设备存储空间的占用。
在一种可选的实现方式中,物理模拟系统集成有一个顶点分类模型,电子设备将多个顶点输入顶点分类模型,通过顶点分类模型输出多个顶点分别对应的多个类别,每个类别对应于至少一个顶点。物理模拟系统基于多个类别中顶点的位置,得到与多个类别分别对应的多个第一骨骼关键点,每个类别对应于至少一个第一骨骼关键点。
在这种实现方式下,电子设备通过对顶点进行分类,进而自动确定出每个类别对应的骨骼关键点,无需设计人员手动确定骨骼关键点,提高了骨骼关键点确定的效率。
举例来说,如前所述,虚拟形象具有多个顶点,不同顶点对应于不同的部位,比如,若虚拟形象为人类对象,那么一个顶点可能对应于虚拟形象的前臂,另一个顶点可能对应于虚拟形象的躯干。电子设备通过顶点分类模型,根据不同顶点之间的相对位置关系,对虚拟形象的多个顶点进行分类,得到多个顶点对应的类别。电子设备分别将多个类别对应的顶点的坐标进行融合,得到在虚拟形象中,与多个类别分别对应的第一骨骼关键点的坐标。其中,顶点分类模型是具有多个标注了类别的样本顶点训练得到的,具有对顶点进行分类的能力。
另外,在一种可选的实现方式中,虚拟形象包括多个虚拟形象,子虚拟形象能够随着虚拟形象其他部位的运动而运动。可选的,附属虚拟形象为虚拟形象的头发以及配饰等虚拟形象。对于附属虚拟形象来说,其顶点对应的骨骼关键点的位置可以由设计人员根据需要来确定。比如,将虚拟形象的头发上确定5个骨骼关键点,其中,第1个骨骼关键点为头发的顶部,第5个骨骼关键点为头发的尾部,第2个骨骼关键点为头发的中点,第3个第4个骨骼关键点平分第2个骨骼关键点到第5个骨骼关键点之间的头发。通过控制上述5个骨骼关键点,就能够控制虚拟形象头发的移动,在一个实施例中,参见图6,头发601上存在5个骨骼关键点a、b、c、d和e。
在上述实现方式的基础上,电子设备能够通过物理模拟系统对目标对象的附属虚拟形象的运动方式进行设置。
在一种可选的实现方式中,物理模拟系统获取多个子虚拟形象的变形程度参数和运动速度参数,变形程度参数用于表示子虚拟形象的最大变形幅度,运动速度参数用于表示子虚拟形象改变当前运动状态的速度。响应于与任一子虚拟形象连接的任一顶点的位置发生变化,物理模拟系统基于变形程度参数、运动速度参数以及任一顶点变化后的位置,对任一子虚拟形象的位置进行调整,任一顶点为与任一子虚拟形象相连的其他部位的顶点。
举例来说,若附属虚拟形象为虚拟形象的头发,那么设计人员可以为头发设置变形参数和运动参数。对于变形参数来说,若变形参数被设置的较大,那么头发的变形也就更加容易,在虚拟形象进行运动的过程中,头发容易发生弯折等变形,从观众的角度来看,也就是虚拟形象的头发较“软”。相应的,若变形参数设置的较小,那么头发的变形也就更加困难,在虚拟形象进行移动的过程中,头发不易发生弯折,从观众的角度来看,也就是虚拟形象的头发较“硬”。对于运动参数来说,若运动参数设置的较大,那么在虚拟形象进行运动的过程中,头发的加速度也就越大。以头发的尾部为例,当虚拟形象的头部向右边移动时,右侧头发的尾部也能够以与头部移动速度相同或者更快的速度向右移动。若运动参数设置的较小,那么在虚拟形象进行运动的过程中,头发的加速度也就越小。还是以头发的尾部为例,当虚拟形象的头部向右边移动时,左侧头发的尾部以与头部移动速度更慢的速度向右移动。
当然,虚拟形象的设计人员也能够将调整变形参数和运动参数的接口开放给主播,主播可以在直播过程中根据实际情况对变形参数和运动参数进行调整,从而达到更加真实的直播效果。
需要说明的是,电子设备在执行步骤S402之后,既能够通过执行下述步骤S403-S405来确定移动的第一骨骼关键点,也能够直接执行步骤S406,本公开实施例对此不做限定。
在步骤S403中,电子设备将包括目标对象的视频流输入物理模拟系统。
可选的,目标对象为上述应用场景中介绍的主播或者演员,本公开实施例对此不作限定。
在一种可选的实现方式中,若目标对象为主播,那么主播可以使用智能手机或者台式电脑来进行直播。若主播使用智能手机进行直播,那么智能手机能够通过自带的摄像头来采集主播的直播视频,智能手机实时获取的直播视频也即是包括目标对象的视频流。若主播使用台式电脑来进行直播,那么台式电脑能够通过外接的摄像头来采集主播的直播视频,摄像头实时获取的直播视频也即是包括目标对象的视频流。电子设备能够将包括目标对象的视频流输入物理模拟系统。
在一种可选的实现方式中,若目标对象为演员,那么动画制作人员能够架设好摄像机,演员在摄像机能够采集图形的范围内进行表演即可。电子设备与摄像机建立连接之后,摄像机将视频流实时发送电子设备,电子设备接收视频流,将视频流输入物理模拟系统。
当然,动画制作人员除了通过架设摄像机的方式来进行拍摄之外,还能够通过移动摄像机的方式来进行拍摄,也即是在演员表演的过程中,动画制作人员将摄像机放置在可移动的机架上,在拍摄过程中根据演员的位置调整摄像机的位置,从而对演员进行拍摄。电子设备能够从拍摄的视频流输入物理模拟系统。在这种实现方式下,演员在进行表演的过程中具有更大的自由度,提高动画制作的效果。
在一种可选的的实现方式中,电子设备能够从网络上获取包括目标对象的视频流,将该视频输入物理模拟系统。
在这种实现方式下,不仅可以基于主播直播和演员表演来对虚拟形象进行控制,还能够以及已经拍摄完毕的视频来控制虚拟形象,提高了本公开实施例提供的技术方案的应用范围。
举例来说,网络上存在视频流A,视频流A中包括目标对象B,若想控制虚拟形象执行与目标对象B在视频流A中相同的动作,那么电子设备能够从网络上获取视频流A,将视频流A输入物理模拟系统。
在步骤S404中,电子设备通过物理模拟系统,从视频流中获取目标对象中与多个第一骨骼关键点分别对应的多个第二骨骼关键点。
可选的,第二骨骼关键点为目标对象的多个关节点。举例来说,若目标对象为主播,那么主播的第二骨骼关键点也就为主播的关节点,比如为主播的肘关节、指关节、腕关节以及肩关节等关节。其中,主播的不同关节之间的连接部分,也就为主播的骨骼,比如,主播的手腕关节和手肘关节之间的连接部分也就为主播的小臂,主播的手肘关节和肩关节之间的连接部分为主播的大臂。视频流包括多个视频帧,为了便于理解,在下述说明过程中,以视频流包括第一视频帧和第二视频帧为例,进行说明。
在一种可选的实现方式中,物理模拟系统中集成有一个骨骼关键点检测模型,骨骼关键点检测模型是基于多个标注有骨骼关键点的样本视频流训练得到的,具有从视频流中确定骨骼关键点的能力。电子设备将视频流输入骨骼关键点检测模型,通过骨骼关键点检测模型对视频流的第一视频帧进行卷积处理和全连接处理,得到目标对象的多个第二骨骼关键点。
下面通过两个例子对上述实现方式进行说明。
例1、电子设备将第一视频帧输入骨骼关键点检测模型之后,骨骼关键点检测模型对第一视频帧进行卷积处理,得到第一视频帧的第一特征图。电子设备对第一特征图进行全连接处理,得到第一视频帧中多个像素点的类别。电子设备从多个像素点中获取类别为骨骼关键点的第一目标像素点,对第一目标像素点进行聚类,得到目标对象的多个第二骨骼关键点。电子设备能够根据不同骨骼关键点的类别,对得到的多个第二骨骼关键点进行标注,便于后续对于虚拟形象模型的控制。比如,电子设备将与目标对象左手肘对应的骨骼关键点标注为“left elbow”,将与目标对象右手肘对应的骨骼关键点标注为“rightelbow”。当然,上述标注方法的说明仅仅是为了便于理解而进行的,在其他可选的实现方式中,电子设备也能够通过其他方式来对骨骼关键点进行标注,本公开实施例对此不作限定。通过骨骼关键点检测模型检测第一视频帧中的第二骨骼关键点,能够利用骨骼关键点检测模型的泛化能力,提高骨骼关键点检测的效率。
例2、骨骼关键点检测模型包括区域检测子模型和骨骼关键点检测子模型,其中,区域子模型用于从视频流的第一视频帧中确定出目标对象所在的第一目标区域,骨骼关键点检测子模型用于从第一目标区域中确定出目标对象的第二骨骼关键点。
在一种可选的的实现方式中,区域检测子模型为一个二分类模型,在处理过程中,电子设备将第一视频帧输入区域检测子模型,通过区域检测子模型对第一视频帧中的多个像素点进行分类,得到属于目标对象的像素点和不属于目标对象的像素点。电子设备将属于目标对象的像素点进行聚类,得到目标对象在第一视频帧中所在的第一目标区域。电子设备将第一目标区域对应的第一目标图像输入骨骼关键点检测子模型,通过骨骼关键点检测子模型对第一目标图像进行卷积处理和全连接处理,得到第一目标图像中多个像素点的类别。电子设备从第一目标图像的多个像素点中获取类别为骨骼关键点的第一目标像素点,对第一目标像素点进行聚类,得到目标对象的多个第二骨骼关键点。电子设备能够根据不同骨骼关键点的类别,对得到的多个第二骨骼关键点进行标注。
在一种可选的实现方式中,区域检测子模型为一个目标检测模型,比如为YOLO(You Only Look Once)模型或者Faster-RCNN(Faster Region-CNN)模型等,本公开实施例对此不进行限制。电子设备将视频流的第一视频帧输入区域检测子模型之后,区域检测子模型能够对第一视频帧进行多次卷积处理和多次全连接处理,得到目标对象在第一视频帧中所在的第一目标区域,区域检测子模型能够采用标注框的形式,将第一目标区域在第一视频帧中的位置进行标注。电子设备将带有标注框的第一视频帧输入关键点检测子模型,通过关键点检测子模型对标注框内的区域进行卷积处理和全连接处理,得到第一目标图像中多个像素点的类别。电子设备从第一目标图像的多个像素点中获取类别为骨骼关键点的第一目标像素点,对第一目标像素点进行聚类,得到目标对象的多个第二骨骼关键点。电子设备能够根据不同骨骼关键点的类别,对得到的多个第二骨骼关键点进行标注。
通过区域检测子模型,电子设备能够从第一视频帧中分割出目标对象所在的第一目标区域,骨骼关键点检测子模型对第一目标区域进行检测,能够显著提高骨骼关键点检测的效率。
在一种可选的实现方式中,视频流中的目标对象的第二骨骼关键点上贴有目标标志或者发光点,目标标志或者发光点也可以称为标记“Marker”。电子设备将视频流的第一视频帧中的目标标志或者发光点识别为目标对象的第二骨骼关键点。
举例来说,为了提高电子设备对关键点检测的效率,目标对象能够在第二骨骼关键点所在的位置贴上Marker,Marker也就能够将目标对象的第二骨骼关键点与目标对象的其他部分进行区分。体现在第一视频帧上,目标对象的第二骨骼关键点所在的位置与第一视频帧中其他位置存在显著区别,电子设备在第一视频帧中识别出Marker所在的位置,也就识别出了目标对象的第二骨骼关键点所在的位置。
若Marker为目标标志,目标对象将目标标志贴在第二骨骼关键点之后,电子设备对视频流的第一视频帧中目标标志的位置进行识别,识别出目标标志在第一视频帧中的位置,也即是目标对象的第二骨骼关键点所在的位置。在对目标标志进行识别的过程中,电子设备可以通过一个图像识别模型来进行,该图像识别模型具有从视频帧中识别出目标标志的能力,该图像识别模型是基于样本视频帧训练得到的,样本视频帧中包括佩戴有目标标志的样本对象。若Marker为带有字母的标志,那么目标对象在第二骨骼关键点上贴Marker之前,可以根据不同的骨骼关键点选择不同的字母或字母组合,比如将字母组合LW贴在左手腕上,将字母组合RE贴在右手肘上。电子设备通过图像识别模型除了能够识别出目标对象的骨第二骼关键点之外,还能够基于识别出的字母组合,确定第二骨骼关键点的类别。
若Marker为发光点,比如为发出红光的发光点,体现在视频流的第一视频帧上,目标对象所在区域也就存在多个红色的光点。电子设备对第一视频帧进行颜色检测,将第一视频帧中多个红色的光点所在的位置获取为目标对象的第二骨骼关键点所在的位置。在动画制作的场景下,为了进一步提高电子设备检测发光点的准确性,演员可以穿着纯色的衣服,背景也为纯色的背景,在一种可选的实现方式中,演员穿着白色的衣服,背景为纯黑色,这样能够排除演员衣服以及背景对电子设备确定光点位置的影响,从而提高电子设备检测光点的准确性。
在步骤S405中,响应于在视频流中任一第二骨骼关键点的位置发生变化,电子设备通过物理模拟系统,基于该第二骨骼关键点变化后的位置,对与该第二骨骼关键点对应的第一骨骼关键点的位置进行调整。
其中,视频流包括多个视频帧,以视频流包括第一视频帧和第二视频帧为例,任一第二骨骼关键点的位置发生变化是指,该第二骨骼关键点在第一视频帧和第二视频帧中的位置不同。为了便于理解,在下述说明过程中,以第二视频帧为视频流中排列在第一视频帧之后的视频帧为例进行说明。
在一种可选的实现方式中,响应于在视频流中任一第二骨骼关键点的位置发生变化,电子设备通过物理模拟系统,将第一坐标系中的第一坐标变换到第二坐标系中的第二坐标,第一坐标系为视频流对应的坐标系,第一坐标用于表示该第二骨骼关键点变化后的位置,第二坐标系为三维模型对应的坐标系。电子设备通过物理模拟系统,将该第二骨骼关键点对应的第一骨骼关键点移动至第二坐标所指示的位置。
在这种实现方式下,电子设备能够基于坐标变换来快速调整对应第一骨骼关键点的位置,关键点位置调整的效率较高。
以直播场景为例进行说明,在直播场景下,目标对象为主播,为了取得更好的直播效果,主播的摄像头往往是固定的,在这种情况下,电子设备在视频帧中以目标原点建立坐标系,得到第一视频帧中主播的多个第二骨骼关键点的坐标,其中,目标原点为视频帧的中心点或者四个顶点中的任一个,本公开实施例对此不作限定。响应于第二视频帧中,主播的任一第二骨骼关键点的位置发生变化,电子设备对该第二骨骼关键点变化后的第一坐标进行坐标系转换,也即是将第一坐标由第一坐标系转化到第二坐标系,得到第二坐标,第二坐标也即是该第二骨骼关键点对应的第一骨骼关键点需要移动的目的地,进而后续通过调整第一骨骼关键点的位置,来调整三维模型的顶点的位置。
比如,在直播过程中主播的左手抬起,电子设备能够检测到与主播的左手关联的至少一个第二骨骼关键点的位置发生变化,若其中一个第二骨骼关键点位置变化后的第一坐标为(1,2,3),那么电子设备将该第一坐标(1,2,3)与坐标变换矩阵相乘,得到第二坐标,其中,坐标变换矩阵用于将第一坐标系下的坐标变换到第二坐标系下,坐标变换矩阵包括一个平移变换子矩阵和一个旋转变换子矩阵,通过平移变换子矩阵电子设备能够将第一坐标系和第二坐标系的原点对齐至同一位置,通过旋转变换子矩阵电子设备能够将第一坐标系和第二坐标系对应数轴变换到同一直线上。也就是说,若第一坐标系和第二坐标系均为二维坐标系,第一坐标系的两条数轴为x和y,原点为(x0,y0),第二坐标系的两条数轴为x’和y’,原点为(x0’,y0’),那么通过变换矩阵处理之后,(x0,y0)和(x0’,y0’)重合、x和x’重合,y和y’重合。若第二坐标为(2,4,6),电子设备将该第二骨骼关键点对应的第一骨骼关键点移动至第二坐标(2,4,6)。
需要说明的是,上述说明是以主播的一个第二骨骼关键点发生位置变化为例进行说明的,在其他可选的实现方式中,主播的多个第二骨骼关键点可能同时发生变化,那么电子设备能够基于多个第二骨骼关键点在第一坐标系下的坐标生成第一矩阵,将第一矩阵与坐标变换矩阵相乘,得到第二矩阵,第二矩阵中的坐标也就是多个第二骨骼关键点对应的第二坐标。
对电子设备根据目标对象的第二骨骼关键点的位置变化,来调整对应的第一骨骼关键点的位置进行调整的方法之后,下面对电子设备确定目标对象和虚拟形象的骨骼关键点之间对应关系的方法进行说明。
在一种可选的实现方式中,电子设备从视频流中获取目标对象的第二骨骼关键点时,还能够对目标对象的第二骨骼关键点进行标注,比如像步骤402中的方法,将目标对象左手肘对应的第二骨骼关键点标注为“left elbow”。同时,电子设备根据虚拟形象的顶点的位置确定虚拟形象的第一骨骼关键点的位置时,也能够对虚拟形象的第一骨骼关键点的位置进行标注,比如,将虚拟形象的手肘对应的第一骨骼关键点标注为“virtual leftelbow”,电子设备将目标对象的标注为“left elbow”的第二骨骼关键点和虚拟形象的标注为“virtual left elbow”的第一骨骼关键点进行绑定。经过对多个骨骼关键点的绑定,电子设备也就能够建立目标对象的第二骨骼关键与虚拟形象的第一骨骼关键点的对应关系。
在步骤S406中,响应于三维模型的任一第一骨骼关键点的位置发生变化,电子设备通过物理模拟系统,基于该第一骨骼关键点变化后的位置,对三维模型中对应的第一顶点的位置进行调整。
在一种可选的实现方式中,响应于三维模型的任一第一骨骼关键点的位置发生变化,电子设备通过物理模拟系统,根据该第一骨骼关键点与第一顶点之间的第一蒙皮权重,以及该第一骨骼关键点变化后的位置,对第一顶点的位置进行调整,第一蒙皮权重用于表示该第一骨骼关键点对第一顶点位置的影响程度。
在这种实现方式下,在对三维模型进行控制的过程中,电子设备能够基于第一蒙皮权重来量化不同骨骼关键点对对应顶点位置的影响程度,减少了电子设备的计算量。
举例来说,若第一顶点的位置分别与三维模型的至少两个第一骨骼关键点的位置相关联,电子设备能够通过下述公式(1)来对第一顶点的位置进行调整。
P=W1×P1+W2×P2+……+Wn×Pn (1)
其中,P为第一顶点调整后的位置坐标,W1为任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,P1为任一第一骨骼关键点变化后的位置坐标,W2和Wn为其他第一骨骼关键点与第一顶点之间的第二蒙皮权重,P2和Pn为其他第一骨骼关键点的位置坐标,其他第一骨骼关键点为除任一第一骨骼关键点之外,位置与第一顶点相关联的第一骨骼关键点。
比如,对于虚拟形象的第一顶点A来说,存在与第一顶点A相关联的虚拟形象的第一骨骼关键点A和其他第一骨骼关键点B,若第一骨骼关键点A位置调整后的坐标为(1,1,1),其他第一骨骼关键点B位置调整后的坐标为(1,3,5),第一骨骼关键点对应的第一蒙皮权重为0.6,其他第一骨骼关键点B对应的第二蒙皮权重为0.4,那么目标坐标也即是0.6×(1,1,1)+0.4×(1,3,5)=(1,1.8,2.6),电子设备通过物理模拟系统将第一顶点移动至目标坐标(1,1.8,2.6)。
上述举例是以第一顶点与虚拟形象的两个第一骨骼关键点关联为例进行说明的,为了更加清楚的进行说明,下面将以第一顶点与虚拟形象的三个第一骨骼关键点关联为例进行说明。
对于虚拟形象的第一顶点B来说,存在与第一顶点B相关联的虚拟形象的第一骨骼关键点C、其他第一骨骼关键点D以及其他第一骨骼关键点E。若第一骨骼关键点C位置调整后的坐标为(1,2,4),其他第一骨骼关键点D位置调整后的坐标为(1,1,3),其他第一骨骼关键点E位置调整后的坐标为(2,2,1),第一骨骼关键点C对应的第一蒙皮权重为0.3,第一骨骼关键点C对应的第二蒙皮权重为0.4,其他第一骨骼关键点E对应的第二蒙皮权重为0.3,那么电子设备能够得到第一蒙皮权重0.3与第一骨骼关键点C的坐标(1,2,4)之间的乘积(0.3,0.6,1.2),得到两个其他第一骨骼关键点与对应第二蒙皮权重的乘积和0.4×(1,1,3)+0.3×(2,2,1)=(1,1,1.5)。电子设备将乘积(0.3,0.6,1.2)与乘积和(1,1,1.5)相加,得到目标坐标(1.3,1.6,2.7)。电子设备通过物理模拟系统将第一顶点移动至目标坐标(1.3,1.6,2.7)。
下面对电子设备确定虚拟形象的第一骨骼关键点与第一顶点之间的蒙皮权重的方法进行说明。
在一种可选的实现方式中,电子设备根据该第一骨骼关键点与第一顶点之间的相对位置关系,确定该第一骨骼关键点与第一顶点之间的第一蒙皮权重,第一蒙皮权重与该第一骨骼关键点与第一顶点之间的距离呈反比。
在这种实现方式下,通过骨骼关键点与顶点之间的相对位置关系来确定对应的蒙皮权重,使得基于骨骼关键点调整顶点的过程更加真实,虚拟形象的显示效果更好。
举例来说,参见图7,若虚拟形象包括5个第一骨骼关键点1-5,两个第一骨骼关键点之间为一根虚拟骨骼,图7中也就包括4根虚拟骨骼。另外,图7中还包括虚拟形象的6个第一顶点a-f,其中,第一顶点a位于第一骨骼关键点1的上方,第一顶点b位于第一骨骼关键点1和2之间,第一顶点c位于第一骨骼关键点2和3之间,第一顶点d位于第一骨骼关键点3和4之间,第一顶点e位于第一骨骼关键点4和5之间,第一顶点f位于第一骨骼关键点5的下方。对于第一骨骼关键点1来说,电子设备将位于第一骨骼关键点1上方的第一顶点a与第一骨骼关键点1之间的蒙皮权重设置为1,将第一骨骼关键点2-5与第一顶点a之间的蒙皮权重设置为0,在这种设置方式下,第一顶点a的移动仅仅与第一骨骼关键点1有关。对于其他第一顶点来说,电子设备将第一顶点b与第一骨骼关键点1的蒙皮权重设置为0.4,将第一顶点b与第一骨骼关键点2的蒙皮权重设置为0.6,在这种设置方式下,第一顶点b的移动由第一骨骼关键点1和第一骨骼关键点2共同控制,其他第一顶点c-e与第一顶点b的设置方法属于同一发明构思,在此不再赘述。对于第一顶点f来说,电子设备将第一顶点f与第一骨骼关键点5的蒙皮权重设置为1,在这种设置方式下,第一顶点f的移动仅仅与第一骨骼关键点5有关。
在上述举例的基础上,进一步电子设备设置蒙皮权重的方法进行说明。
在一种可选的实现方式中,电子设备根据第一顶点与第一骨骼关键点之间的距离,确定第一顶点与第一骨骼关键点之间的蒙皮权重。
比如,还是以上述举例中的5个第一骨骼关键点1-5以及6个第一顶点a-f为例,对于第一顶点b来说,若电子设备确定第一骨骼关键点1与第一顶点b之间的距离为S1,第一骨骼关键点2与第一顶点b之间的距离为S2,那么电子设备根据距离S1和S2,将第一骨骼关键点1与第一顶点b之间的蒙皮权重设置为W1=S1/(S1+S2),将第一骨骼关键点2与第一顶点b之间的蒙皮权重设置为W2=S2/(S1+S2)。电子设备其他第一骨骼关键点与第一顶点之间蒙皮权重的方法与上述方法属于同一构思,在此不再赘述。
当然,在上述举例过程中,虚拟形象的第一骨骼关键点数量、第一顶点的数量以及蒙皮权重的大小仅仅是为了便于理解而设置的,在其他可选的实现方式中,也能够设置为其他数值,本公开实施例对此不作限定。
可选地,在步骤S406之后,电子设备还能够通过物理模拟系统执行下述步骤。
在一种可选的实现方式中,模型参数还包括三维模型对应的纹理参数,电子设备通过物理模拟系统,基于纹理参数以及纹理参数与多个顶点之间的对应关系,对三维模型进行渲染。
在这种实现方式下,电子设备能够通过物理模拟系统,基于纹理参数对三维模型进行上色,使得虚拟形象的三维模型更加真实生动,显示效果更好。
在一种可选的实现方式中,在步骤S403之后,电子设备还能够执行下述步骤S407。
在步骤S407中,电子设备通过物理模拟系统,从视频流中,获取目标对象的多个面部关键点。
在一种可选的实现方式中,物理模拟系统集成有面部关键点检测模型,电子设备将视频流的第一视频帧输入面部关键点检测模型,通过面部关键点检测模型对第一视频帧进行卷积处理和全连接处理,得到目标对象的多个面部关键点,面部关键点检测模型是基于多个标注有面部关键点的样本视频帧训练得到的。
下面通过两个例子对上述实现方式进行说明。
例1、电子设备将第一视频帧输入面部关键点检测模型之后,面部关键点检测模型对第一视频帧进行卷积处理,得到第一视频帧的第一特征图。电子设备对第一特征图进行全连接处理,得到第一视频帧中多个像素点的类别。电子设备从多个像素点中获取类别为面部关键点的第二目标像素点,对第二目标像素点进行聚类,得到目标对象的多个面部关键点。电子设备能够根据不同面部关键点的类别,对得到的多个面部关键点进行标注,便于后续对于虚拟形象模型的控制。比如,电子设备将与目标对象鼻子对应的面部关键点标注为“nose”,将与目标对象右眼对应的面部关键点标注为“right eye”。当然,上述标注方法的说明仅仅是为了便于理解而进行的,在其他可选的实现方式中,电子设备也能够通过其他方式来对面部关键点进行标注,本公开实施例对此不作限定。
例2、面部关键点检测模型包括面部区域检测子模型和面部关键点检测子模型,其中,面部区域子模型用于从第一视频帧中确定出目标对象面部所在的第二目标区域,面部关键点检测子模型用于从第二目标区域中确定出目标对象的面部关键点。
在一种可选的的实现方式中,面部区域检测子模型为一个二分类模型,在处理过程中,电子设备将第一视频帧输入面部区域检测子模型,通过面部区域检测子模型对第一视频帧中的多个像素点进行分类,得到属于目标对象面部的像素点和不属于目标对象面部的像素点。电子设备将属于目标对象面部的像素点进行聚类,得到目标对象的面部在第一视频帧中所在的第二目标区域。电子设备将第二目标区域对应的第二目标图像输入面部关键点检测子模型,通过面部关键点检测子模型对第二目标图像进行卷积处理和全连接处理,得到第二目标图像中多个像素点的类别。电子设备从第二目标图像的多个像素点中获取类别为面部关键点的第二目标像素点,对第二目标像素点进行聚类,得到目标对象的多个面部关键点。电子设备能够根据不同面部关键点的类别,对得到的多个面部关键点进行标注。
在一种可选的实现方式中,面部区域检测子模型为一个目标检测模型,比如为YOLO(You Only Look Once)模型或者Faster-RCNN(Faster Region-CNN)模型等,本公开实施例对此不进行限制。电子设备将第一视频帧输入面部区域检测子模型之后,面部区域检测子模型能够对第一视频帧进行多次卷积处理和多次全连接处理,得到目标对象的面部在第一视频帧中所在的第二目标区域,面部区域检测子模型能够采用标注框的形式,将第二目标区域在第一视频帧中的位置进行标注。电子设备将带有标注框的第一视频帧输入关键点检测子模型,通过关键点检测子模型对标注框内的区域进行卷积处理和全连接处理,得到第二目标图像中多个像素点的类别。电子设备从第二目标图像的多个像素点中获取类别为面部关键点的第二目标像素点,对第二目标像素点进行聚类,得到目标对象的多个面部关键点。电子设备能够根据不同面部关键点的类别,对得到的多个面部关键点进行标注。
通过区域检测子模型,电子设备能够从第一视频帧中分割出目标对象的面部所在的第二目标区域,面部关键点检测子模型对第二目标区域进行检测,能够显著提高面部关键点检测的效率。
在步骤S408中,响应于在视频流中,目标对象的任一面部关键点的位置发生变化,电子设备基于该面部关键点变化后的位置,对虚拟形象的第二顶点的位置进行调整,第二顶点为与该面部关键点对应的顶点。
在一种可选的实现方式中,电子设备通过物理模拟系统,将第一坐标系中的第三坐标变换到第二坐标系中的第四坐标,第一坐标系为视频流对应的坐标系,第三坐标用于表示该面部关键点变化后的位置,第二坐标系为三维模型对应的坐标系。电子设备通过物理模拟系统,将第二顶点移动至第四坐标所指示的位置。
以直播场景为例进行说明,在直播场景下,目标对象为主播,为了取得更好的直播效果,主播的摄像头往往是固定的,在这种情况下,电子设备在视频帧中以目标原点建立坐标系,得到第一视频帧中主播的多个面部关键点的坐标,其中,目标原点为视频帧的中心点或者四个顶点中的任一个,本公开实施例对此不作限定。响应于视频流的第二视频帧中,主播的任一面部关键点的位置发生变化,电子设备对该面部关键点变化后的第三坐标进行坐标系转换,也即是将第三坐标由第一坐标系转化到第二坐标系,得到第四坐标,第四坐标也即是与面部关键点对应的第二顶点需要移动的目的地。
比如,在直播过程中主播的右侧嘴角上扬,电子设备能够检测到与主播的右侧嘴角关联的至少一个面部关键点的位置发生变化,若其中一个面部关键点位置变化后的第三坐标为(3,2,4),那么电子设备将该第三坐标(3,2,4)与坐标变换矩阵相乘,得到第四坐标,其中,坐标变换矩阵用于将第一坐标系下的坐标变换到第二坐标系下,坐标变换矩阵包括一个平移变换子矩阵和一个旋转变换子矩阵,通过平移变换子矩阵电子设备能够将第一坐标系和第二坐标系的原点对齐至同一位置,通过旋转变换子矩阵电子设备能够将第一坐标系和第二坐标系对应数轴变换到同一直线上。
电子设备通过执行步骤S407和S408,能够在目标对象的面部发生变化时,控制虚拟形象的面部也发生对应的变化,虚拟形象更加真实。
参见图8,采用本公开实施例提供的技术方案之后,虚拟形象能够根据目标对象的动作而执行相应的动作,若目标对象为主播,那么当主播向右侧歪头时,虚拟形象也能够如801所示的向右侧歪头。当主播向左侧歪头时,虚拟形象也能够如802所示的向左侧歪头。
通过本公开实施例提供的技术方案,能够通过物理模拟系统快捷的确定出虚拟形象的多个骨骼关键点,基于骨骼关键点就能够方便的对虚拟形象的模型进行驱动。在直播过程中,主播也就能够根据自己的想法对虚拟形象进行控制,提高了人机交互的效率。
图9是根据一示例性实施例示出的一种虚拟形象模型的控制装置的框图。参照图9,该装置包括模型参数输入单元901、骨骼关键点获取单元902和调整单元903。
模型参数输入单元901,被配置为执行将虚拟形象的三维模型的模型参数输入物理模拟系统,模型参数至少包括三维模型中多个顶点的位置,物理模拟系统用于控制三维模型进行运动。
骨骼关键点获取单元902,被配置为执行通过物理模拟系统,根据多个顶点的位置,获取多个第一骨骼关键点,第一骨骼关键点对应于三维模型中的至少一个顶点。
调整单元903,被配置为执行响应于三维模型的任一第一骨骼关键点的位置发生变化,通过物理模拟系统,基于任一第一骨骼关键点变化后的位置,对三维模型中对应的第一顶点的位置进行调整。
在一种可选的实现方式中,骨骼关键点获取单元,被配置为执行对多个顶点进行聚类,得到多个类别,每个类别对应于至少一个顶点。基于多个类别中顶点的位置,得到与多个类别分别对应的多个第一骨骼关键点,每个类别对应于至少一个第一骨骼关键点。
在一种可选的实现方式中,骨骼关键点获取单元,被配置为执行基于多个类别中顶点的位置,得到与多个类别分别对应的虚拟骨骼,虚拟骨骼为与每个类别中顶点之间的距离之和最小的线段。将虚拟骨骼的端点坐标确定为与多个类别分别对应的第一骨骼关键点的位置。
在一种可选的实现方式中,调整单元,被配置为执行根据任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,以及任一第一骨骼关键点变化后的位置,对第一顶点的位置进行调整,第一蒙皮权重用于表示任一第一骨骼关键点对第一顶点位置的影响程度。
在一种可选的实现方式中,装置还包括:
蒙皮权重确定单元,被配置为执行根据任一第一骨骼关键点与第一顶点之间的相对位置关系,确定任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,第一蒙皮权重与任一第一骨骼关键点与第一顶点之间的距离呈反比。
在一种可选的实现方式中,第一顶点的位置分别与三维模型的至少两个第一骨骼关键点的位置相关联,调整单元,被配置为执行基于下述公式来对第一顶点的位置进行调整:
P=W1×P1+W2×P2+……+Wn×Pn。
其中,P为第一顶点调整后的位置坐标,W1为任一第一骨骼关键点与第一顶点之间的第一蒙皮权重,P1为任一第一骨骼关键点变化后的位置坐标,W2和Wn为其他第一骨骼关键点与第一顶点之间的第二蒙皮权重,P2和Pn为其他第一骨骼关键点的位置坐标,其他第一骨骼关键点为除任一第一骨骼关键点之外,位置与第一顶点相关联的第一骨骼关键点。
在一种可选的实现方式中,虚拟形象包括多个子虚拟形象,装置还包括:
参数获取单元,被配置为执行获取多个子虚拟形象的变形程度参数和运动速度参数,变形程度参数用于表示子虚拟形象的最大变形幅度,运动速度参数用于表示子虚拟形象改变当前运动状态的速度。
调整单元还被配置为执行响应于与任一子虚拟形象连接的任一顶点的位置发生变化,基于变形程度参数、运动速度参数以及任一顶点变化后的位置,对任一子虚拟形象的位置进行调整,任一顶点为与任一子虚拟形象相连的其他部位的顶点。
在一种可选的实现方式中,装置还包括:
视频流输入单元,被配置为执行将包括目标对象的视频流输入物理模拟系统,通过物理模拟系统,从视频流中获取目标对象中与多个第一骨骼关键点分别对应的多个第二骨骼关键点。
调整单元,还被配置为执行响应于在视频流中任一第二骨骼关键点的位置发生变化,基于任一第二骨骼关键点变化后的位置,对与任一第二骨骼关键点对应的任一第一骨骼关键点的位置进行调整。
在一种可选的实现方式中,调整单元,还被配置为执行响应于在视频流中任一第二骨骼关键点的位置发生变化,将第一坐标系中的第一坐标变换到第二坐标系中的第二坐标,第一坐标系为视频流对应的坐标系,第一坐标用于表示任一第二骨骼关键点变化后的位置,第二坐标系为三维模型对应的坐标系。将任一第一骨骼关键点移动至第二坐标所指示的位置。
在一种可选的实现方式中,装置还包括:
面部关键点获取单元,被配置为执行从视频流中,获取目标对象的多个面部关键点。
调整单元,还被配置为执行响应于在视频流中,目标对象的任一面部关键点的位置发生变化,基于任一面部关键点变化后的位置,对虚拟形象的第二顶点的位置进行调整,第二顶点为位置与任一面部关键点的位置对应的顶点。
在一种可选的实现方式中,调整单元,还被配置为执行将第一坐标系中的第三坐标变换到第二坐标系中的第四坐标,第一坐标系为视频流对应的坐标系,第三坐标用于表示任一面部关键点变化后的位置,第二坐标系为三维模型对应的坐标系。将第二顶点移动至第四坐标所指示的位置。
在一种可选的实现方式中,模型参数还包括三维模型对应的纹理参数,装置还包括:
渲染单元,被配置为执行基于纹理参数以及纹理参数与多个顶点之间的对应关系,对三维模型进行渲染。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例提供的技术方案,能够通过物理模拟系统快捷的确定出虚拟形象的多个骨骼关键点,基于骨骼关键点就能够方便的对虚拟形象的模型进行驱动。在直播过程中,主播也就能够根据自己的想法对虚拟形象进行控制,提高了人机交互的效率。
在本公开实施例中,电子设备可以实现为终端,首先对终端的结构进行说明:
图10是根据一示例性实施例示出的一种终端框图。该终端图10示出了本公开一个示例性实施例提供的终端1000的结构框图,该终端1000可以为用户所使用的终端。该终端1000可以是:智能手机、智能手表、台式电脑、手提电脑和膝上型便携计算机等设备中的至少一种。终端1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。
在一些实施例中,终端1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005、摄像头组件1006、音频电路1007、定位组件1008和电源1009中的至少一种。
外围设备接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选的,射频电路1004包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏1005用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置终端1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在终端1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。可选的,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
定位组件1008用于定位终端1000的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1008可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1009用于为终端1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。
加速度传感器1011可以检测以终端1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1012可以检测终端1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对终端1000的3D动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1013可以设置在终端1000的侧边框和/或显示屏1005的下层。当压力传感器1013设置在终端1000的侧边框时,可以检测用户对终端1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在显示屏1005的下层时,由处理器1001根据用户对显示屏1005的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1014用于采集用户的指纹,由处理器1001根据指纹传感器1014采集到的指纹识别用户的身份,或者,由指纹传感器1014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1014可以被设置终端1000的正面、背面或侧面。当终端1000上设置有物理按键或厂商Logo时,指纹传感器1014可以与物理按键或厂商Logo集成在一起。
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制显示屏1005的显示亮度。具体地,当环境光强度较高时,调高显示屏1005的显示亮度;当环境光强度较低时,调低显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1016,也称距离传感器,通常设置在终端1000的前面板。接近传感器1016用于采集用户与终端1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变小时,由处理器1001控制显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变大时,由处理器1001控制显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在本公开实施例中,电子设备可以实现为服务器,下面对服务器的结构进行说明:
图11是根据一示例性实施例示出的一种服务器1100的框图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)1101和一个或一个以上的存储器1102。该存储器1102中存储有至少一条指令,该至少一条指令由该处理器1101加载并执行以实现上述各个方法实施例提供的虚拟形象模型的控制方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1002,上述指令可由服务器1000的处理器1001执行以完成上述虚拟形象模型的控制方法。可选的,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行,以完成上述各个实施例提供的虚拟形象模型的控制方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种虚拟形象模型的控制方法,其特征在于,包括:
将虚拟形象的三维模型的模型参数输入物理模拟系统,所述模型参数至少包括所述三维模型中多个顶点的位置,所述物理模拟系统用于控制所述三维模型进行运动;
通过所述物理模拟系统,根据所述多个顶点的位置,获取多个第一骨骼关键点,所述第一骨骼关键点对应于所述三维模型中的至少一个所述顶点;
响应于所述三维模型的任一所述第一骨骼关键点的位置发生变化,通过所述物理模拟系统,基于所述任一所述第一骨骼关键点变化后的位置,对所述三维模型中对应的第一顶点的位置进行调整。
2.根据权利要求1所述的虚拟形象模型的控制方法,其特征在于,所述根据所述多个顶点的位置,得到多个第一骨骼关键点包括:
对所述多个顶点进行聚类,得到多个类别,每个所述类别对应于至少一个顶点;
基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的所述多个第一骨骼关键点,每个所述类别对应于至少一个所述第一骨骼关键点。
3.根据权利要求2所述的虚拟形象模型的控制方法,其特征在于,所述基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的所述多个第一骨骼关键点包括:
基于所述多个类别中顶点的位置,得到与所述多个类别分别对应的虚拟骨骼,所述虚拟骨骼为与每个所述类别中顶点之间的距离之和最小的线段;
将所述虚拟骨骼的端点坐标确定为与所述多个类别分别对应的所述第一骨骼关键点的位置。
4.根据权利要求1所述的虚拟形象模型的控制方法,其特征在于,所述基于所述任一所述第一骨骼关键点变化后的位置,对所述三维模型中对应的第一顶点的位置进行调整包括:
根据所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,以及所述任一所述第一骨骼关键点变化后的位置,对所述第一顶点的位置进行调整,所述第一蒙皮权重用于表示所述任一所述第一骨骼关键点对所述第一顶点位置的影响程度。
5.根据权利要求4所述的虚拟形象模型的控制方法,其特征在于,所述根据所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,以及所述任一所述第一骨骼关键点变化后的位置,对所述第一顶点的位置进行调整之前,所述方法还包括:
根据所述任一所述第一骨骼关键点与所述第一顶点之间的相对位置关系,确定所述任一所述第一骨骼关键点与所述第一顶点之间的所述第一蒙皮权重,所述第一蒙皮权重与所述任一所述第一骨骼关键点与所述第一顶点之间的距离呈反比。
6.根据权利要求4所述的虚拟形象模型的控制方法,其特征在于,所述第一顶点的位置分别与所述三维模型的至少两个所述第一骨骼关键点的位置相关联,所述根据所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,以及所述任一所述第一骨骼关键点变化后的位置,对所述第一顶点的位置进行调整通过下述公式来实现:
P=W1×P1+W2×P2+……+Wn×Pn;
其中,P为所述第一顶点调整后的位置坐标,W1为所述任一所述第一骨骼关键点与所述第一顶点之间的第一蒙皮权重,P1为所述任一所述第一骨骼关键点变化后的位置坐标,W2和Wn为其他所述第一骨骼关键点与所述第一顶点之间的第二蒙皮权重,P2和Pn为所述其他所述第一骨骼关键点的位置坐标,所述其他所述第一骨骼关键点为除所述任一所述第一骨骼关键点之外,位置与所述第一顶点相关联的第一骨骼关键点。
7.根据权利要求1所述的虚拟形象模型的控制方法,其特征在于,所述虚拟形象包括多个子虚拟形象,所述方法还包括:
获取所述多个子虚拟形象的变形程度参数和运动速度参数,所述变形程度参数用于表示所述子虚拟形象的最大变形幅度,所述运动速度参数用于表示所述子虚拟形象改变当前运动状态的速度;
响应于与任一所述子虚拟形象连接的任一所述顶点的位置发生变化,基于所述变形程度参数、所述运动速度参数以及所述任一所述顶点变化后的位置,对所述任一所述子虚拟形象的位置进行调整,所述任一所述顶点为与所述任一所述子虚拟形象相连的其他部位的顶点。
8.一种虚拟形象模型的控制装置,其特征在于,包括:
模型参数输入单元,被配置为执行将虚拟形象的三维模型的模型参数输入物理模拟系统,所述模型参数至少包括所述三维模型中多个顶点的位置,所述物理模拟系统用于控制所述三维模型进行运动;
骨骼关键点获取单元,被配置为执行通过所述物理模拟系统,根据所述多个顶点的位置,获取多个第一骨骼关键点,所述第一骨骼关键点对应于所述三维模型中的至少一个所述顶点;
调整单元,被配置为执行响应于所述三维模型的任一所述第一骨骼关键点的位置发生变化,通过所述物理模拟系统,基于所述任一所述第一骨骼关键点变化后的位置,对所述三维模型中对应的第一顶点的位置进行调整。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行程序代码的存储器;
其中,所述处理器被配置为执行所述程序代码,以实现如权利要求1至7中任一项所述的虚拟形象模型的控制方法。
10.一种存储介质,当所述存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的虚拟形象模型的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011407201.5A CN112581571B (zh) | 2020-12-02 | 2020-12-02 | 虚拟形象模型的控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011407201.5A CN112581571B (zh) | 2020-12-02 | 2020-12-02 | 虚拟形象模型的控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112581571A true CN112581571A (zh) | 2021-03-30 |
CN112581571B CN112581571B (zh) | 2024-03-12 |
Family
ID=75127816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011407201.5A Active CN112581571B (zh) | 2020-12-02 | 2020-12-02 | 虚拟形象模型的控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112581571B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501102A (zh) * | 2022-01-25 | 2022-05-13 | 广州繁星互娱信息科技有限公司 | 直播对象展示方法和装置、存储介质及电子装置 |
WO2022223029A1 (zh) * | 2021-04-22 | 2022-10-27 | 北京字节跳动网络技术有限公司 | 虚拟形象的互动方法、装置和设备 |
CN115359171A (zh) * | 2022-10-21 | 2022-11-18 | 北京百度网讯科技有限公司 | 虚拟形象处理方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105551072A (zh) * | 2015-12-11 | 2016-05-04 | 网易(杭州)网络有限公司 | 实现角色模型局部实时运动的方法及系统 |
CN106296778A (zh) * | 2016-07-29 | 2017-01-04 | 网易(杭州)网络有限公司 | 虚拟对象运动控制方法与装置 |
US20180357747A1 (en) * | 2017-06-09 | 2018-12-13 | Sony Interactive Entertainment Inc. | Adaptive mesh skinning in a foveated rendering system |
CN109993819A (zh) * | 2019-04-09 | 2019-07-09 | 网易(杭州)网络有限公司 | 虚拟角色的蒙皮方法及装置、电子设备 |
CN110766777A (zh) * | 2019-10-31 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 虚拟形象的生成方法、装置、电子设备及存储介质 |
CN111210495A (zh) * | 2019-12-31 | 2020-05-29 | 深圳市商汤科技有限公司 | 三维模型驱动方法、装置、终端及计算机可读存储介质 |
-
2020
- 2020-12-02 CN CN202011407201.5A patent/CN112581571B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105551072A (zh) * | 2015-12-11 | 2016-05-04 | 网易(杭州)网络有限公司 | 实现角色模型局部实时运动的方法及系统 |
CN106296778A (zh) * | 2016-07-29 | 2017-01-04 | 网易(杭州)网络有限公司 | 虚拟对象运动控制方法与装置 |
US20180357747A1 (en) * | 2017-06-09 | 2018-12-13 | Sony Interactive Entertainment Inc. | Adaptive mesh skinning in a foveated rendering system |
CN109993819A (zh) * | 2019-04-09 | 2019-07-09 | 网易(杭州)网络有限公司 | 虚拟角色的蒙皮方法及装置、电子设备 |
CN110766777A (zh) * | 2019-10-31 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 虚拟形象的生成方法、装置、电子设备及存储介质 |
CN111210495A (zh) * | 2019-12-31 | 2020-05-29 | 深圳市商汤科技有限公司 | 三维模型驱动方法、装置、终端及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022223029A1 (zh) * | 2021-04-22 | 2022-10-27 | 北京字节跳动网络技术有限公司 | 虚拟形象的互动方法、装置和设备 |
CN114501102A (zh) * | 2022-01-25 | 2022-05-13 | 广州繁星互娱信息科技有限公司 | 直播对象展示方法和装置、存储介质及电子装置 |
CN115359171A (zh) * | 2022-10-21 | 2022-11-18 | 北京百度网讯科技有限公司 | 虚拟形象处理方法、装置、电子设备和存储介质 |
CN115359171B (zh) * | 2022-10-21 | 2023-04-07 | 北京百度网讯科技有限公司 | 虚拟形象处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112581571B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109978989B (zh) | 三维人脸模型生成方法、装置、计算机设备及存储介质 | |
CN108734736B (zh) | 相机姿态追踪方法、装置、设备及存储介质 | |
KR102595150B1 (ko) | 다수의 가상 캐릭터를 제어하는 방법, 기기, 장치 및 저장 매체 | |
CN110427110B (zh) | 一种直播方法、装置以及直播服务器 | |
CN111726536A (zh) | 视频生成方法、装置、存储介质及计算机设备 | |
CN111464749B (zh) | 进行图像合成的方法、装置、设备及存储介质 | |
CN111541907B (zh) | 物品显示方法、装置、设备及存储介质 | |
CN112581571B (zh) | 虚拟形象模型的控制方法、装置、电子设备及存储介质 | |
CN112533017B (zh) | 直播方法、装置、终端及存储介质 | |
CN112634416B (zh) | 虚拟形象模型的生成方法、装置、电子设备及存储介质 | |
CN111701238A (zh) | 虚拟画卷的显示方法、装置、设备及存储介质 | |
CN110599593B (zh) | 数据合成的方法、装置、设备及存储介质 | |
CN112907725B (zh) | 图像生成、图像处理模型的训练、图像处理方法和装置 | |
CN109947338B (zh) | 图像切换显示方法、装置、电子设备及存储介质 | |
CN111880888B (zh) | 预览封面生成方法、装置、电子设备及存储介质 | |
CN112581358A (zh) | 图像处理模型的训练方法、图像处理方法及装置 | |
CN110662105A (zh) | 动画文件的生成方法、装置及存储介质 | |
CN110807769B (zh) | 图像显示控制方法及装置 | |
CN110837300B (zh) | 虚拟交互的方法、装置、电子设备及存储介质 | |
CN112308103A (zh) | 生成训练样本的方法和装置 | |
CN112257594A (zh) | 多媒体数据的显示方法、装置、计算机设备及存储介质 | |
CN113194329B (zh) | 直播互动方法、装置、终端及存储介质 | |
CN111982293B (zh) | 体温测量方法、装置、电子设备及存储介质 | |
CN110312144B (zh) | 进行直播的方法、装置、终端和存储介质 | |
CN114415907A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |