CN117252965A - 虚拟人体模型驱动方法、电子设备及存储介质 - Google Patents
虚拟人体模型驱动方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117252965A CN117252965A CN202311296946.2A CN202311296946A CN117252965A CN 117252965 A CN117252965 A CN 117252965A CN 202311296946 A CN202311296946 A CN 202311296946A CN 117252965 A CN117252965 A CN 117252965A
- Authority
- CN
- China
- Prior art keywords
- vector
- preset
- target
- action
- motion
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000033001 locomotion Effects 0.000 claims abstract description 188
- 239000013598 vector Substances 0.000 claims abstract description 188
- 230000009471 action Effects 0.000 claims abstract description 162
- 239000011159 matrix material Substances 0.000 claims abstract description 61
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 48
- 238000005457 optimization Methods 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 210000000988 bone and bone Anatomy 0.000 description 5
- 238000010276 construction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001098636 Trichogramma alpha Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 210000003127 knee Anatomy 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
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种虚拟人体模型驱动方法、电子设备及存储介质。所述方法包括:获取预设人体动作的动作姿态数据,并获取多个人体动作对应的动作姿态数据库及关节约束向量;从多个人体动作中确定与预设人体动作相似的多个目标人体动作;根据预设人体动作的动作姿态数据构建动作姿态向量,并根据多个目标人体动作的动作姿态数据构建动作姿态矩阵;根据预设阈值、关节约束向量、预设权重向量、动作姿态向量及动作姿态矩阵,构建非负最小二乘模型;通过混合优化算法求解非负最小二乘模型,得到目标权重向量;根据由动作姿态矩阵及目标权重向量计算得到的目标动作姿态数据驱动虚拟人体模型。使用上述方法,能够提高虚拟人体模型的动作连贯性和平滑性。
Description
技术领域
本申请涉及虚拟现实领域,尤其涉及一种虚拟人体模型驱动方法、电子设备及存储介质。
背景技术
随着虚拟现实技术快速发展,虚拟人体模型(比如虚拟主播)的应用逐渐在增加。目前主要使用最小二乘算法对接收到的人体动作数据进行优化,并根据优化后的人体动作数据驱动虚拟人体模型,以使得虚拟人体模型做出相应动作。
然而,在人体动作数据存在较大的噪声时,最小二乘算法难以过滤错误数据,导致优化后的人体动作数据的精度不佳,若通过采集的人体动作数据直接驱动虚拟人体模型或者使用最小二乘算法优化后的人体动作数据驱动虚拟人体模型,将导致虚拟人体模型所生成的动作缺乏连贯性和平滑性,无法给用户带来舒适的感官体验。
发明内容
鉴于以上内容,有必要提供一种虚拟人体模型驱动方法、电子设备及存储介质,能够解决由于人体动作数据的精度不佳导致虚拟人体模型所生成的动作缺乏连贯性和平滑性的技术问题。
一方面,本申请提供一种虚拟人体模型驱动方法,所述方法包括:获取预设人体动作的动作姿态数据,并获取多个人体动作对应的动作姿态数据库及关节约束向量,根据所述动作姿态数据及所述动作姿态数据库,从所述多个人体动作中确定与所述预设人体动作相似的多个目标人体动作,获取所述多个目标人体动作对应的预设权重向量,根据所述预设人体动作的动作姿态数据构建动作姿态向量,并根据所述多个目标人体动作的动作姿态数据构建动作姿态矩阵,根据预设阈值、所述关节约束向量、所述预设权重向量、所述动作姿态向量以及所述动作姿态矩阵,构建非负最小二乘模型,通过混合优化算法对所述非负最小二乘模型进行求解,得到所述预设权重向量对应的目标权重向量,根据所述动作姿态矩阵以及所述目标权重向量,计算所述预设人体动作的目标动作姿态数据,根据所述目标动作姿态数据驱动虚拟人体模型。
在本申请的一些实施例中,所述根据所述动作姿态数据及所述动作姿态数据库,从所述多个人体动作中确定与所述预设人体动作相似的多个目标人体动作包括:计算所述预设人体动作的动作姿态数据与所述动作姿态数据库中的每个动作姿态数据之间的相似度,根据所述相似度,从所述多个人体动作中选取预设数量个人体动作作为所述多个目标人体动作。
在本申请的一些实施例中,所述关节约束向量包括关节约束下限向量以及关节约束上限向量,所述根据预设阈值、所述关节约束向量、所述预设权重向量、所述动作姿态向量以及所述动作姿态矩阵,构建非负最小二乘模型包括:根据所述动作姿态矩阵、所述预设权重矩阵、所述关节约束下限向量、所述关节约束上限向量以及所述动作姿态向量,构建带约束的最小二乘模型,其中,所述带约束的最小二乘模型包括约束条件,根据所述预设阈值及所述约束条件,将所述带约束的最小二乘模型转换为无约束的最小二乘模型,并将所述无约束的最小二乘模型转换为所述非负最小二乘模型。
在本申请的一些实施例中,所述非负最小二乘模型表示为:
min F(X)=‖(EX-F)+‖2;
其中,min F(X)表示所述非负最小二乘模型,(EX-F)+=max(0,EX-F),X表示所述预设权重向量,A表示所述动作姿态矩阵,M表示所述预设阈值,b表示所述动作姿态向量,α表示所述关节约束下限向量,β表示所述关节约束上限向量。
在本申请的一些实施例中,所述混合优化算法包括固定矩阵算法以及牛顿算法,所述通过混合优化算法对所述非负最小二乘模型进行求解,得到所述预设权重向量对应的目标权重向量包括:确定所述动作姿态矩阵的行数和列数,并根据所述行数、所述列数以及预设配置值确定迭代次数,对所述非负最小二乘模型执行初次求解流程,所述求解流程包括:对所述非负最小二乘模型执行迭代更新流程,所述迭代更新流程包括:使用所述固定矩阵算法对所述非负最小二乘模型进行求解,得到所述预设权重向量对应的更新权重向量,根据所述更新权重向量对所述非负最小二乘模型进行更新,得到更新模型;重复执行所述迭代更新流程,直至迭代更新的次数等于所述迭代次数,停止对所述更新模型的迭代更新,得到目标模型,使用所述牛顿算法对所述目标模型进行求解,得到对所述预设权重向量进行优化后的权重向量,确定所述优化后的权重向量是否满足终止条件,若所述优化后的权重向量不满足所述终止条件,重复执行所述通过混合优化算法对所述非负最小二乘模型进行求解的流程,直至求解得到的优化后的权重向量满足所述终止条件,停止求解,得到所述目标权重向量。
在本申请的一些实施例中,根据如下公式确定所述优化后的权重向量满足所述终止条件:
‖ET(EX′-F)+‖2≤δ‖(EX′-F)+‖2;
其中,(EX′-F)+=max(0,EX′-F),ET=[A -A MC],X′表示优化后的权重向量,A表示所述动作姿态矩阵,M表示所述预设阈值,b表示所述动作姿态向量,α表示所述关节约束下限向量,β表示所述关节约束上限向量,δ表示预设常数。
在本申请的一些实施例中,所述根据所述动作姿态矩阵以及所述目标权重向量,计算所述预设人体动作的目标动作姿态数据包括:将所述动作姿态矩阵与所述目标权重向量进行相乘运算,得到所述目标动作姿态数据。
在本申请的一些实施例中,所述方法还包括:根据所述动作姿态数据进行人体建模,得到所述虚拟人体模型。
另一方面,本申请提供一种电子设备,电子设备包括:存储器,存储至少一个指令;及处理器,执行至少一个指令以实现所述的虚拟人体模型驱动方法。
另一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的虚拟人体模型驱动方法。
通过上述实施方式,由于关节约束向量为动作姿态数据的约束条件,通过关节约束向量构建非负最小二乘模型,能够滤除不合理或者错误的动作姿态数据。对非负最小二乘模型进行优化求解,由于限制了目标权重向量为非负值,因此能够避免无意义的负值出现,以及能够减少目标动作姿态数据的噪声,从而提高目标动作姿态数据的精度。根据精度较高的目标动作姿态数据对虚拟人体模型进行驱动,能够提高虚拟人体模型的动作连贯性和平滑性。此外,通过混合优化算法对非负最小二乘模型进行求解,能够综合多种优化算法的优势,从而能够提高收敛速度以及所述目标权重向量的生成速度,从而提高虚拟人体模型的驱动效率。
附图说明
图1是本申请一实施例提供的电子设备的结构图。
图2是本申请一实施例提供的虚拟人体模型驱动方法的流程图。
图3是本申请一实施例提供的虚拟人体模型的骨架三视图。
图4是本申请一实施例提供的虚拟人体模型的多个人体动作的示意图。
图5是本申请一实施例提供的预设人体动作对应的虚拟人体模型的示意图。
图6是本申请另一实施例提供的非负最小二乘模型的构建方法的流程图。
图7是本申请一实施例提供的非负最小二乘模型的求解方法的流程图。
图8是本申请一实施例提供的虚拟人体模型驱动装置的功能模块图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。
需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
随着虚拟现实技术快速发展,虚拟人体模型(比如虚拟主播)的应用逐渐在增加。目前主要使用最小二乘算法对接收到的人体动作数据进行优化,并根据优化后的人体动作数据驱动虚拟人体模型,以使得虚拟人体模型做出相应动作。
然而,在人体动作数据存在较大的噪声时,最小二乘算法难以过滤错误数据,导致优化后的人体动作数据的精度不佳,若通过采集的人体动作数据直接驱动虚拟人体模型或者使用最小二乘算法优化后的人体动作数据驱动虚拟人体模型,将导致虚拟人体模型所生成的动作缺乏连贯性和平滑性,无法给用户带来舒适的感官体验。
为了解决上述技术问题,本申请提供一种虚拟人体模型驱动方法、电子设备及存储介质,能够提高虚拟人体模型的动作连贯性和平滑性。本申请实施例提供的虚拟人体模型驱动方法可应用于一个或者多个电子设备中。
如图1所示,是本申请一实施例提供的电子设备的结构图。该电子设备10可以为手机、平板电脑、笔记本电脑、计算机等电子设备,本申请实施例对电子设备的具体类型不作任何限制。
如图1所示,该电子设备10可以包括通信模块101、存储器102、处理器103、输入/输出(Input/Output,I/O)接口104及总线105。处理器103通过总线105分别耦合于通信模块101、存储器102、输入/输出接口104。
通信模块101可以包括有线通信模块和/或无线通信模块。有线通信模块可以提供通用串行总线(universalserialbus,USB)、控制器局域网总线(CAN,ControllerAreaNetwork)等有线通信的解决方案中的一种或多种。无线通信模块可以提供无线保真(wirelessfidelity,Wi-Fi),蓝牙(Bluetooth,BT),移动通信网络,调频(frequencymodulation,FM),近距离无线通信技术(nearfieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案中的一种或多种。
存储器102可以包括一个或多个随机存取存储器(randomaccessmemory,RAM)和一个或多个非易失性存储器(non-volatilememory,NVM)。随机存取存储器可以由处理器103直接进行读写,可以用于存储或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用的数据等。随机存取存储器可以包括静态随机存储器(staticrandom-accessmemory,SRAM)、动态随机存储器(dynamicrandomaccessmemory,DRAM)、同步动态随机存储器(synchronousdynamicrandomaccessmemory,SDRAM)、双倍资料率同步动态随机存取存储器(doubledataratesynchronousdynamicrandomaccessmemory,DDRSDRAM)等。
非易失性存储器也可以存储可执行程序和存储用户及应用的数据等,可以提前加载到随机存取存储器中,用于处理器110直接进行读写。非易失性存储器可以包括磁盘存储器件、快闪存储器(flashmemory)。
存储器102用于存储一个或多个计算机程序。一个或多个计算机程序被配置为被处理器103执行。该一个或多个计算机程序包括多个指令,多个指令被处理器103执行时,可实现在电子设备10上执行的虚拟人体模型驱动方法。
在其他实施例中,如图1所示的电子设备10还包括外部存储器接口,用于连接外部的存储器,实现扩展电子设备10的存储能力。
处理器103可以包括一个或多个处理单元,例如:处理器103可以包括应用处理器(applicationprocessor,AP),调制解调处理器,图形处理器(graphicsprocessingunit,GPU),图像信号处理器(imagesignalprocessor,ISP),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,DSP),和/或神经网络处理器(neural-networkprocessingunit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器103提供计算和控制能力,例如,处理器103用于执行存储器102内存储的计算机程序,以实现上述的虚拟人体模型驱动方法。
输入/输出接口104用于提供用户输入或输出的通道,例如输入/输出接口104可用于连接各种输入输出设备,例如,鼠标、键盘、触控装置、显示屏等,使得用户可以录入信息,或者使信息可视化。
总线105至少用于提供电子设备10中的通信模块101、存储器102、处理器103、输入/输出接口104之间相互通信的通道。
可以理解的是,本申请实施例示意的结构并不构成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
如图2所示,是本申请一实施例提供的虚拟人体模型驱动方法的流程图。根据不同的需求,该流程图中各个步骤的顺序可以根据实际要求进行调整,某些步骤可以省略。所述方法的执行主体为电子设备,例如图1所示的电子设备10。
S11,获取预设人体动作的动作姿态数据,并获取多个人体动作对应的动作姿态数据库及关节约束向量。
在本申请的一些实施例中,电子设备可以根据动作姿态数据库进行人体建模,得到虚拟人体模型。动作姿态数据库中包括多份动作姿态数据,每份动作姿态数据与一人体动作对应。
在本申请的其它实施例中,电子设备可以通过其它方式(比如通过三维扫描技术)构建虚拟人体模型。例如,电子设备可以通过三维扫描技术获取真实人体数据,并通过真实人体数据构建虚拟人体模型。
如图3所示,是本申请一实施例提供的虚拟人体模型的骨架三视图。图3中的(a)为虚拟人体模型的骨架的主视图,图3中的(b)为虚拟人体模型的骨架的左视图,图3中的(c)为虚拟人体模型的骨架的俯视图。
在本申请的一些实施例中,多个人体动作包括虚拟人体模型的面部(比如眼睛、眉毛、鼻子及嘴巴等面部器官)动作、身体(比如肘部、膝盖、肩部及腰部等)动作以及手部动作等。动作姿态数据为支持每个人体动作的关节(骨骼)的运动学和动力学数据,每个人体动作的动作姿态数据包括,但不限制于:关节(骨骼)的位置、姿态、加速度以及速度等。面部动作的动作姿态数据可以用于实现虚拟人体模型的面部表情(愤怒、微笑及惊讶等),身体动作的动作姿态数据可以用于实现虚拟人体模型的身体运动(比如行走、跳跃及奔跑等),手部动作的动作姿态数据可以用于实现虚拟人体模型的手部精细运动和手势表达(比如比手势、握拳、伸掌及鼓掌等)。
如图4所示,是本申请一实施例提供的虚拟人体模型的多个人体动作的示意图。图4是根据动作姿态数据库或真实人体数据构建的虚拟人体模型,从图4中可以看出,虚拟人体模型的多个人体动作包括面部动作、身体动作以及手指动作。
在本申请的一些实施例中,电子设备可以从连接的动作捕捉设备中获取动作姿态数据库,电子设备可以通过各种方式与动作捕捉设备相连接。例如电子设备通过串行总线(universalserialbus,USB)与动作捕捉设备连接。电子设备可以通过USB等方式接收动作捕捉设备对真实人体的动作进行捕捉后得到的捕捉数据,接收用户对捕捉数据的修正操作(比如更新、删除及新增等操作),并对修正后的捕捉数据进行分类存放,从而得到动作姿态数据库。其中,动作捕捉设备可以为惯性动作捕捉设备、光学动作捕捉设备或者视频捕捉动作捕捉设备,本申请对动作捕捉设备不作限制。多个人体动作可以为根据动作姿态数据库中的每份动作姿态数据对虚拟人体模型进行驱动后,虚拟人体模型所表现出的多个人体动作。
在本申请的一些实施例中,电子设备可以直接将从动作捕捉设备获取的一份动作姿态数据(未经过用户修正的数据)作为预设人体动作的动作姿态数据。预设人体动作可以是根据直接获取的动作姿态数据对虚拟人体模型进行驱动后,虚拟人体模型所表现出的人体动作。
在本申请的一些实施例中,关节约束向量可以为多个,每个关节约束向量为全部或部分关键关节(骨骼)的运动约束条件,用于限制虚拟人体模型中全部或部分关键关节(骨骼)的运动。关节约束向量的获取可以由用户在电子设备上输入。
在本实施例中,关节约束向量包括关节约束下限向量以及关节约束上限向量。关节约束下限向量以及关节约束上限向量均可以包括多个对全部或部分关键关节(骨骼)的旋转进行约束的参数值(比如角度),关节约束下限向量中的每个参数值小于关节约束上限向量中的每个参数值。例如,关节约束下限向量中的多个角度的取值范围可以为[0,50],关节约束上限向量中的多个角度的取值范围可以为[150,270]。
S12,根据动作姿态数据及动作姿态数据库,从多个人体动作中确定与预设人体动作相似的多个目标人体动作。
在本申请的一些实施例中,电子设备根据动作姿态数据及动作姿态数据库,从多个人体动作中确定与预设人体动作相似的多个目标人体动作包括:电子设备计算预设人体动作的动作姿态数据与动作姿态数据库中的每个动作姿态数据之间的相似度,并根据相似度,从多个人体动作中选取预设数量个人体动作作为多个目标人体动作。
具体地,电子设备可以根据预设人体动作的动作姿态数据生成动作姿态向量,根据动作姿态数据库中的每份动作姿态数据生成待选姿态向量,并计算动作姿态向量与每个待选姿态向量之间的余弦相似度或者欧里几德距离(又称“欧氏距离”)作为动作姿态向量与每个待选姿态向量之间的相似度,从自高向低排列的相似度中选取靠前的预设数量个相似度,并将预设数量个相似度对应的人体动作作为多个目标人体动作。其中,动作姿态向量以及待选姿态向量的生成方式基本相同,动作姿态向量的生成过程可参考下文对步骤S13的详细介绍。
其中,预设数量可以自行设置,本申请对此不作限制。例如,预设数量可以为10个。
在本申请的其它实施例中,电子设备还可以通过其它方式计算动作姿态向量与每个待选姿态向量之间的相似度,本申请对相似度的计算方式不作限制。
在本申请的其它实施例中,电子设备还可以将用户在动作姿态数据库中预先指定的多个动作姿态数据对应的人体动作确定为与预设人体动作相似的多个目标人体动作。
在本申请的其它实施例中,电子设备可以通过其它方式确定预设人体动作以及目标人体动作,本申请对预设人体动作以及目标人体动作的确定方式不作限制。
S13,获取多个目标人体动作对应的预设权重向量。
在本申请的一些实施例中,预设权重向量包括每个目标人体动作对应的预设权重。预设权重向量中的预设权重的数量与多个目标人体动作的数量相同。例如,若多个目标人体动作的数量为n个,预设权重向量可以为:其中,X表示预设权重向量,x1表示第一个目标人体动作对应的预设权重,x2表示第二个目标人体动作对应的预设权重,xn表示第n个目标人体动作对应的预设权重。预设权重向量可以由用户自行设置,本申请对此不作限制。每个预设权重的取值范围可以为[0,1]。
S14,根据预设人体动作的动作姿态数据构建动作姿态向量,并根据多个目标人体动作的动作姿态数据构建动作姿态矩阵。
在本申请的一些实施例中,每个人体动作对应的每份动作姿态数据可以为多个,每个人体动作对应的多个动作姿态数据的数量可以相同。因此,电子设备可以根据预设人体动作数据对应的多个动作姿态数据生成动作姿态向量。
例如,若预设人体动作数据对应的多个动作姿态数据为m个,分别为b1、b2…bm,动作姿态向量可以为其中,b表示动作姿态向量,b1表示预设人体动作的第一个动作姿态数据,b2表示预设人体动作的第二个动作姿态数据,bm表示预设人体动作的第m个动作姿态数据。
在本申请的一些实施例中,电子设备可以根据每个目标人体动作的多个动作姿态数据的数量构建空矩阵,根据多个目标人体动作的数量确定列数,并根据行数和列数构建空矩阵。电子设备将每个目标人体动作的多个动作姿态数据写入空矩阵的每一列中,得到动作姿态矩阵。
例如,若每个目标人体动作的多个动作姿态数据的数量为m个,多个目标人体动作的数量为n个,电子设备可以构建行数为m,列数为n的空矩阵。将每个目标人体动作的多个动作姿态数据写入空矩阵的每一列中,得到动作姿态矩阵为其中,A表示动作姿态矩阵,a1 1表示首个目标人体动作的第一个动作姿态数据,a1 m表示首个目标人体动作的第m个动作姿态数据,an 1示第n个目标人体动作的第一个动作姿态数据,a1 m表示第n个目标人体动作的第m个动作姿态数据。
S15,根据预设阈值、关节约束向量、预设权重向量、动作姿态向量以及动作姿态矩阵,构建非负最小二乘模型。
在本申请的一些实施例中,预设阈值可以自行设置,本申请对此不作限制。例如,预设阈值可以为1000或者10000等。
在本申请的一些实施例中,非负最小二乘模型具有非负性,非负最小二乘模型中的所有系数均为正数。
在本实施例中,由于关节约束向量为动作姿态数据的约束条件,通过关节约束向量构建非负最小二乘模型,能够滤除不合理或者错误的动作姿态数据。
S16,通过混合优化算法对非负最小二乘模型进行求解,得到预设权重向量对应的目标权重向量。
在本申请的一些实施例中,混合优化算法包括固定矩阵算法以及牛顿算法。固定矩阵算法和牛顿算法均为求解最小二乘问题的迭代算法,通过不断迭代和修正矩阵,求出逐步逼近最小二乘问题的最优解。
在本实施例中,通过混合优化算法对非负最小二乘模型进行求解,能够综合多种优化算法的优势,从而能够提高收敛速度以及目标权重向量的生成速度,从而提高虚拟人体模型的驱动效率。
S17,根据动作姿态矩阵以及目标权重向量,计算预设人体动作的目标动作姿态数据。
在本申请的一些实施例中,电子设备根据动作姿态矩阵以及目标权重向量,计算预设人体动作的目标动作姿态数据包括:电子设备将动作姿态矩阵与目标权重向量进行相乘运算,得到目标动作姿态数据。
其中,动作姿态矩阵与目标权重向量之间的相乘运算为点乘。
在本实施例中,对非负最小二乘模型进行优化求解,由于限制了目标权重向量为非负值,因此能够避免无意义的负值出现,以及能够减少目标动作姿态数据的噪声,从而提高目标动作姿态数据的精度。
S18,根据目标动作姿态数据驱动虚拟人体模型。
在本申请的一些实施例中,电子设备可以根据虚拟人体模型中的关节(骨骼)结构将目标动作姿态数据转换为虚拟人体模型上的关节(骨骼)的运动信息,电子设备对运动信息进行插值和插帧,得到目标运动信息,电子设备将目标运动信息应用至虚拟人体模型使虚拟人体模型做出预设人体动作,并对虚拟人体模型进行渲染,从而将做出预设人体动作的虚拟人体模型进行可视化显示。
其中,将目标动作姿态数据转换为运动信息以及对运动信息进行插值和插帧的可参考相关技术,本申请对此不再过多描述。
如图5所示,是本申请一实施例提供的预设人体动作对应的虚拟人体模型的示意图。图5中的虚拟人体模型目视前方,并做出双手指尖相接的动作。
在本实施例中,根据精度较高的目标动作姿态数据对虚拟人体模型进行驱动,能够提高虚拟人体模型的动作连贯性和平滑性。
通过上述实施方式,由于关节约束向量为动作姿态数据的约束条件,通过关节约束向量构建非负最小二乘模型,能够过滤不合理或者错误的动作姿态数据。对非负最小二乘模型进行优化求解,由于限制了目标权重向量为非负值,因此能够避免无意义的负值出现,以及能够减少目标动作姿态数据的噪声,从而提高目标动作姿态数据的精度。根据精度较高的目标动作姿态数据对虚拟人体模型进行驱动,能够提高虚拟人体模型所生成的动作缺乏连贯性和平滑性。此外,通过混合优化算法对非负最小二乘模型进行求解,能够综合多种优化算法的优势,从而能够提高收敛速度以及目标权重向量的生成速度,从而提高虚拟人体模型的驱动效率。
在本申请的一些实施例中,关节约束向量包括关节约束下限向量以及关节约束上限向量,如图6所示,是本申请另一实施例提供的非负最小二乘模型的构建方法的流程图,包括以下步骤:
S151,根据动作姿态矩阵、预设权重矩阵、关节约束下限向量、关节约束上限向量以及动作姿态向量,构建带约束的最小二乘模型,其中,带约束的最小二乘模型包括约束条件。
在本申请的一些实施例中,带约束的最小二乘模型的计算方法可参考如下公式(1)-(2):
min f1(X)=‖AX-b‖2; (1)
s.t. α≤AX-b≤β; (2)
其中,min f1(X)表示最小二乘模型,A表示动作姿态矩阵,X表示预设权重向量,b表示动作姿态向量,s.t.α≤AX-b≤β表示约束条件,α表示关节约束下限向量,β表示关节约束上限向量。
S152,根据预设阈值及约束条件,将带约束的最小二乘模型转换为无约束的最小二乘模型。
在本申请的一些实施例中,无约束的最小二乘模型的计算方法可参考公式(3):
min f2(X)=‖AX-b‖2+M‖(CX-d)+‖2; (3)
其中,min f2(X)表示无约束的最小二乘模型,(CX-d)+=max(0,CX-d),A表示动作姿态矩阵,X表示预设权重向量,b表示动作姿态向量,M表示预设阈值,α表示关节约束下限向量,β表示关节约束上限向量。
S153,将无约束的最小二乘模型转换为非负最小二乘模型。
在本申请的一些实施例中,非负最小二乘模型的计算方法可参考公式(4):
min F(X)=‖(EX-F)+‖2; (4)
其中,min F(X)表示非负最小二乘模型,(EX-F)+=max(0,EX-F),X表示预设权重向量,A表示动作姿态矩阵,M表示预设阈值,b表示动作姿态向量,α表示关节约束下限向量,β表示关节约束上限向量。
在本申请的一些实施例中,混合优化算法包括固定矩阵算法以及牛顿算法,如图7所示,是本申请一实施例提供的非负最小二乘模型的求解方法的流程图,包括以下步骤:
S161,确定动作姿态矩阵的行数和列数,并根据行数、列数以及预设配置值确定迭代次数。
在本申请的一些实施例中,预设配置值可以自行设置,本申请对此不作限制。例如,预设配置值可以为33。
在本申请的一些实施例中,迭代次数的确定方法可参考如下公式(5):
其中,μ表示迭代次数,k表示预设配置值,m表示行数,n表示列数,表示取k与/>中的较大值。
S162,使用固定矩阵算法对非负最小二乘模型进行求解,得到预设权重向量对应的更新权重向量。
在本申请的一些实施例中,使用固定矩阵算法对非负最小二乘模型进行求解的流程可参考相关技术中通过计算雅可比矩阵和海森矩阵求解最小二乘问题的过程。
S163,根据更新权重向量对非负最小二乘模型进行更新,得到更新模型。
在本申请的一些实施例中,电子设备将非负最小二乘模型中的预设权重向量替换为更新权重向量,得到更新模型。
S164,电子设备判断迭代更新次数是否等于迭代次数。
在本实施例中,若迭代更新次数等于迭代次数,电子设备执行步骤S165,若迭代更新次数小于迭代次数,流程返回步骤S162,使用固定矩阵算法对非负最小二乘模型进行求解。
S165,停止对更新模型的迭代更新,并将迭代更新后的更新模型确定为目标模型。
在本实施例中,在迭代更新次数等于迭代次数时,确定满足停止迭代更新的条件。
S166,使用牛顿算法对目标模型进行求解,得到对预设权重向量进行优化后的权重向量。
在本申请的一些实施例中,使用牛顿算法对目标模型进行求解的流程可参考相关技术中通过计算雅可比矩阵和海森矩阵求解最小二乘问题的过程。
S167,判断优化后的权重向量是否满足终止条件。
在本申请的一些实施例中,根据如下公式(6)确定优化后的权重向量满足终止条件:
‖ET(EX′-F)+‖2≤δ‖(EX′-F)+‖2; (6)
其中,(EX′-F)+=max(0,EX′-F),ET=[A -A MC],X′表示优化后的权重向量,A表示动作姿态矩阵,M表示预设阈值,b表示动作姿态向量,α表示关节约束下限向量,β表示关节约束上限向量,δ表示预设常数。
在本实施例中,预设常数可以自行设置,本申请对此不作限制。若优化后的权重向量满足终止条件,电子设备执行步骤S168,若优化后的权重向量满足终止条件,流程返回至步骤S162,使用固定矩阵算法对非负最小二乘模型进行求解。
S168,停止求解,并将满足终止条件的优化后的权重向量确定为目标权重向量。
在本实施例中,在优化后的权重向量满足终止条件,电子设备停止使用混合优化算法进行求解,确定优化后的权重向量为最优解。
如图8所示,是本申请一实施例提供的虚拟人体模型驱动装置的功能模块图。虚拟人体模型驱动装置11包括获取单元110、确定单元111、构建单元112、求解单元113、计算单元114及驱动单元115。本申请所称的模块/单元是指一种能够被图1中的处理器103所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在图1中的存储器102中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
获取单元110,用于获取预设人体动作的动作姿态数据,并获取多个人体动作对应的动作姿态数据库及关节约束向量。
确定单元111,用于根据动作姿态数据及动作姿态数据库,从多个人体动作中确定与预设人体动作相似的多个目标人体动作。
获取单元110,还用于获取多个目标人体动作对应的预设权重向量。
构建单元112,用于根据预设人体动作的动作姿态数据构建动作姿态向量,并根据多个目标人体动作的动作姿态数据构建动作姿态矩阵。
构建单元112,还用于根据预设阈值、关节约束向量、预设权重向量、动作姿态向量以及动作姿态矩阵,构建非负最小二乘模型。
求解单元113,用于通过混合优化算法对非负最小二乘模型进行求解,得到预设权重向量对应的目标权重向量。
计算单元114,用于根据动作姿态矩阵以及目标权重向量,计算预设人体动作的目标动作姿态数据。
驱动单元115,用于根据目标动作姿态数据驱动虚拟人体模型。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序中包括程序指令,程序指令被执行时所实现的方法可参照本申请上述各个实施例中的方法。
其中,计算机可读存储介质可以是上述实施例所述的电子设备的内部存储器,例如电子设备的硬盘或内存。计算机可读存储介质也可以是电子设备的外接存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。
在一些实施例中,计算机可读存储介质可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据电子设备的使用所创建的数据等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种虚拟人体模型驱动方法,其特征在于,所述方法包括:
获取预设人体动作的动作姿态数据,并获取多个人体动作对应的动作姿态数据库及关节约束向量;
根据所述动作姿态数据及所述动作姿态数据库,从所述多个人体动作中确定与所述预设人体动作相似的多个目标人体动作;
获取所述多个目标人体动作对应的预设权重向量;
根据所述预设人体动作的动作姿态数据构建动作姿态向量,并根据所述多个目标人体动作的动作姿态数据构建动作姿态矩阵;
根据预设阈值、所述关节约束向量、所述预设权重向量、所述动作姿态向量以及所述动作姿态矩阵,构建非负最小二乘模型;
通过混合优化算法对所述非负最小二乘模型进行求解,得到所述预设权重向量对应的目标权重向量;
根据所述动作姿态矩阵以及所述目标权重向量,计算所述预设人体动作的目标动作姿态数据;
根据所述目标动作姿态数据驱动虚拟人体模型。
2.如权利要求1所述的虚拟人体模型驱动方法,其特征在于,所述根据所述动作姿态数据及所述动作姿态数据库,从所述多个人体动作中确定与所述预设人体动作相似的多个目标人体动作包括:
计算所述预设人体动作的动作姿态数据与所述动作姿态数据库中的每个动作姿态数据之间的相似度;
根据所述相似度,从所述多个人体动作中选取预设数量个人体动作作为所述多个目标人体动作。
3.如权利要求1所述的虚拟人体模型驱动方法,其特征在于,所述关节约束向量包括关节约束下限向量以及关节约束上限向量,所述根据预设阈值、所述关节约束向量、所述预设权重向量、所述动作姿态向量以及所述动作姿态矩阵,构建非负最小二乘模型包括:
根据所述动作姿态矩阵、所述预设权重矩阵、所述关节约束下限向量、所述关节约束上限向量以及所述动作姿态向量,构建带约束的最小二乘模型,其中,所述带约束的最小二乘模型包括约束条件;
根据所述预设阈值及所述约束条件,将所述带约束的最小二乘模型转换为无约束的最小二乘模型,并将所述无约束的最小二乘模型转换为所述非负最小二乘模型。
4.如权利要求3所述的虚拟人体模型驱动方法,其特征在于,所述非负最小二乘模型表示为:
min F(X)=‖(EX-F)+‖2;
其中,min F(X)表示所述非负最小二乘模型,(EX-F)+=max(0,EX-F),X表示所述预设权重向量,A表示所述动作姿态矩阵,M表示所述预设阈值,b表示所述动作姿态向量,α表示所述关节约束下限向量,β表示所述关节约束上限向量。
5.如权利要求3或4所述的虚拟人体模型驱动方法,其特征在于,所述混合优化算法包括固定矩阵算法以及牛顿算法,所述通过混合优化算法对所述非负最小二乘模型进行求解,得到所述预设权重向量对应的目标权重向量包括:
确定所述动作姿态矩阵的行数和列数,并根据所述行数、所述列数以及预设配置值确定迭代次数;
对所述非负最小二乘模型执行初次求解流程,所述求解流程包括:
对所述非负最小二乘模型执行迭代更新流程,所述迭代更新流程包括:使用所述固定矩阵算法对所述非负最小二乘模型进行求解,得到所述预设权重向量对应的更新权重向量,根据所述更新权重向量对所述非负最小二乘模型进行更新,得到更新模型;重复执行所述迭代更新流程,直至迭代更新的次数等于所述迭代次数,停止对所述更新模型的迭代更新,得到目标模型;
使用所述牛顿算法对所述目标模型进行求解,得到对所述预设权重向量进行优化后的权重向量;
确定所述优化后的权重向量是否满足终止条件;
若所述优化后的权重向量不满足所述终止条件,重复执行所述通过混合优化算法对所述非负最小二乘模型进行求解的流程,直至求解得到的优化后的权重向量满足所述终止条件,停止求解,得到所述目标权重向量。
6.如权利要求5所述的虚拟人体模型驱动方法,其特征在于,根据如下公式确定所述优化后的权重向量满足所述终止条件:
‖ET(EX′-F)+‖2≤δ‖(EX′-F)+‖2;
其中,(EX′-F)+=max(0,EX′-F),ET=[A -A MC],X′表示优化后的权重向量,A表示所述动作姿态矩阵,M表示所述预设阈值,b表示所述动作姿态向量,α表示所述关节约束下限向量,β表示所述关节约束上限向量,δ表示预设常数。
7.如权利要求1所述的虚拟人体模型驱动方法,其特征在于,所述根据所述动作姿态矩阵以及所述目标权重向量,计算所述预设人体动作的目标动作姿态数据包括:
将所述动作姿态矩阵与所述目标权重向量进行相乘运算,得到所述目标动作姿态数据。
8.如权利要求1所述的虚拟人体模型驱动方法,其特征在于,所述方法还包括:
根据所述动作姿态数据进行人体建模,得到所述虚拟人体模型。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述至少一个指令以实现如权利要求1至8中任意一项所述的虚拟人体模型驱动方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行时实现如权利要求1至8中任意一项所述的虚拟人体模型驱动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311296946.2A CN117252965A (zh) | 2023-10-08 | 2023-10-08 | 虚拟人体模型驱动方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311296946.2A CN117252965A (zh) | 2023-10-08 | 2023-10-08 | 虚拟人体模型驱动方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117252965A true CN117252965A (zh) | 2023-12-19 |
Family
ID=89131115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311296946.2A Pending CN117252965A (zh) | 2023-10-08 | 2023-10-08 | 虚拟人体模型驱动方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117252965A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893696A (zh) * | 2024-03-15 | 2024-04-16 | 之江实验室 | 一种三维人体数据生成方法、装置、存储介质及电子设备 |
-
2023
- 2023-10-08 CN CN202311296946.2A patent/CN117252965A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117893696A (zh) * | 2024-03-15 | 2024-04-16 | 之江实验室 | 一种三维人体数据生成方法、装置、存储介质及电子设备 |
CN117893696B (zh) * | 2024-03-15 | 2024-05-28 | 之江实验室 | 一种三维人体数据生成方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11682155B2 (en) | Skeletal systems for animating virtual avatars | |
WO2021184933A1 (zh) | 一种人体三维模型重建方法 | |
CN109712234B (zh) | 三维人体模型的生成方法、装置、设备和存储介质 | |
US11055891B1 (en) | Real time styling of motion for virtual environments | |
US20200184204A1 (en) | Detection of hand gestures using gesture language discrete values | |
US11714880B1 (en) | Hand pose estimation for machine learning based gesture recognition | |
JP2014501011A (ja) | 手のジェスチャによるヒューマンマシンインターフェースのための方法、回路、及び、システム | |
JP2014501011A5 (zh) | ||
JP2019096113A (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
CN117252965A (zh) | 虚拟人体模型驱动方法、电子设备及存储介质 | |
KR102250163B1 (ko) | 딥러닝 기술을 이용하여 비디오 영상을 3d 비디오 영상으로 변환하는 방법 및 장치 | |
CN110910479A (zh) | 视频处理方法、装置、电子设备及可读存储介质 | |
CN114926530A (zh) | 用于生成三维姿态估计数据的计算机实现的方法、数据处理装置和计算机程序 | |
JP2020177615A (ja) | アバター用の3d顔モデルを生成する方法及び関連デバイス | |
WO2024198747A1 (zh) | 动作捕捉数据的处理方法、装置、设备及存储介质 | |
CN113066125A (zh) | 一种增强现实方法及其相关设备 | |
Wu et al. | An unsupervised real-time framework of human pose tracking from range image sequences | |
Jia et al. | Non-trajectory-based gesture recognition in human-computer interaction based on hand skeleton data | |
CN116248920A (zh) | 虚拟角色直播处理方法、装置及系统 | |
Li et al. | 3D hand reconstruction from a single image based on biomechanical constraints | |
CN116361512A (zh) | 基于文字的虚拟人模型驱动方法、装置和计算机设备 | |
Liu et al. | COMTIS: Customizable touchless interaction system for large screen visualization | |
CN115578542A (zh) | 三维模型的处理方法、装置、设备及计算机可读存储介质 | |
US20230079478A1 (en) | Face mesh deformation with detailed wrinkles | |
CN114494542A (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 |