CN114527877A - 虚拟形象驱动方法、装置及服务器 - Google Patents
虚拟形象驱动方法、装置及服务器 Download PDFInfo
- Publication number
- CN114527877A CN114527877A CN202210163257.3A CN202210163257A CN114527877A CN 114527877 A CN114527877 A CN 114527877A CN 202210163257 A CN202210163257 A CN 202210163257A CN 114527877 A CN114527877 A CN 114527877A
- Authority
- CN
- China
- Prior art keywords
- gesture
- finger joint
- base
- hand
- virtual image
- 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 62
- 210000001145 finger joint Anatomy 0.000 claims abstract description 131
- 230000033001 locomotion Effects 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims description 55
- 230000009471 action Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 21
- 238000002372 labelling Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 14
- 238000013135 deep learning Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 abstract description 38
- 230000000694 effects Effects 0.000 abstract description 6
- 210000003811 finger Anatomy 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Images
Classifications
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供的虚拟形象驱动方法、装置及服务器,涉及视频图像处理技术领域。首先,通过对目标人物的手部动作进行识别得到手势基系数,其中,手势基系数包括组成该手部动作的各个标准手势基的权重;接着,基于手势基系数以及虚拟形象的手势基数据得到虚拟形象的手指关节旋转数据;最后,采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部执行相应动作。相对于现有技术中采用对手部动作进行手势识别得到的手指关节旋转数据直接对虚拟形象手部进行驱动的方案,本申请提供的技术方案可以克服因虚拟形象的手部特征与目标人物的手部特征不一致导致的手势驱动效果不佳的问题,可以确保虚拟形象与目标人物同步执行相同的手势动作。
Description
技术领域
本申请涉及视频图像处理技术领域,具体而言,涉及一种虚拟形象驱动方法、装置及服务器。
背景技术
在互联网直播场景中,主播通常采用虚拟形象和观众进行交流互动,手势表达是主播通过虚拟形象与观众进行交流互动的重要方式,如何使虚拟形象准确表达主播的实际动作手势是本领域技术人员急需要解决的技术问题。
发明内容
为了解决上述技术问题,本申请提供一种虚拟形象驱动方法、装置及服务器。
第一方面,本申请实施例提供一种虚拟形象驱动方法,所述方法包括:
获取目标人物的视频帧图像,从所述视频帧图像中得到所述目标人物的手部图像;
将所述目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到所述手部图像中手部动作对应的手势基系数,其中,所述手势基系数包括组成所述手部动作的不同标准手势基的权重;
基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据,其中,所述虚拟形象的手势基与设定的标准手势基具有相同的语义,所述虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据;
采用所述虚拟形象的手指关节旋转数据对所述虚拟形象的手部动作进行驱动。
在一种可能的实现方式中,所述方法还包括预先对所述手势识别模型进行训练的步骤,该步骤包括:
获取手势训练样本集,其中,所述手势训练样本集包括训练手势样本以及对该训练手势样本进行标注得到的手指关节旋转数据;
基于所述手指关节旋转数据对所述训练手势样本中的手部动作重新进行标注,得到所述训练手势样本中的手部动作对应的手势基标准系数,其中,所述训练手势样本中的手部动作由至少一个标准手势基组成;
依次将所述训练手势样本输入到待训练的深度学习网络模型中进行处理,输出训练手势样本的手势基预测系数;
通过所述训练手势样本的手势基标准系数以及手势基预测系数计算所述深度学习网络模型的模型损失函数值,并在模型损失函数值大于等于预设损失函数域值时,对所述深度学习网络模型的模型参数进行调整直到通过所述模型损失函数值小于所述预设损失函数阈值,将得到的深度学习网络模型作为训练好的手势识别模型。
在一种可能的实现方式中,所述基于所述手指关节旋转数据对所述训练手势样本中的手部动作重新进行标注,得到所述训练手势样本中的手部动作对应的手势基标准系数的步骤,包括:
计算所述训练手势样本中的手指关节在不同的标准手势基中的手指关节旋转数据的加权平均值;
计算手指关节的旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值;
将所述损失值与预设损失阈值进行比较,在所述损失值大于所述预设损失阈值时,调整所述不同标准手势基的权重,并回到计算手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的步骤,直到所述损失值小于所述损失阈值,将得到的不同标准手势基的权重作为所述训练手势样本中的手部动作对应的手势基标准系数。
在一种可能的实现方式中,在所述计算所述训练手势样本中的手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的步骤之前,所述方法还包括:
通过调整预设驱动标准的手指关节转角制作标准手势基,并将所述标准手势基以及制作所述标准手势基过程中的手指关节旋转数据进行保存,得到标准手势基数据;其中,所述标准手势基中手势基的数量为32个,在所述标准手势基中手指关节的数量为15个。
在一种可能的实现方式中,计算所述训练手势样本中的手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的公式如下:
计算所述手指关节旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值的公式如下:
在一种可能的实现方式中,在所述基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据的步骤之前,所述方法还包括:
将表征相同手势的虚拟形象的手势基与所述标准手势基进行语义对齐。
在一种可能的实现方式中,在所述将表征相同手势的虚拟形象的手势基与所述标准手势基进行对齐的步骤之前,所述方法还包括:
通过调整虚拟形象的手指关节转角制作虚拟形象的手势基,并将所述虚拟形象的手势基以及制作所述虚拟形象的手势基过程中手指关节旋转数据进行保存,得到虚拟形象的手势基数据;其中,所述虚拟形象的手势基数量为32个,在所述虚拟形象的手势基中手指关节的数量为15个。
在一种可能的实现方式中,所述基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据的步骤,包括:
将所述手部图像中手部动作对应的手势基系数与对应所述虚拟形象的手势基数据进行相乘,计算得到所述虚拟形象的手指关节旋转数据;
所述采用所述虚拟形象的手指关节旋转数据驱动所述虚拟形象的手部执行与所述目标人物的手部相同的动作的步骤,包括:
基于所述虚拟形象的关节旋转数据采用正向运动学方式驱动虚拟形象的手部运动。
第二方面,本申请实施例还提供虚拟形象驱动装置,所述装置包括:
获取模块,用于获取目标人物的视频帧图像,从所述视频帧图像中得到所述目标人物的手部图像;
识别模块,用于将所述目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到所述手部图像中手部动作对应的手势基系数,其中,所述手势基系数包括组成所述手部动作的不同标准手势基的权重;
计算模块,用于基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据,其中,所述虚拟形象的手势基与设定的标准手势基具有相同的语义,所述虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据;
驱动模块,用于采用所述虚拟形象的手指关节旋转数据对所述虚拟形象的手部动作进行驱动。
第三方面,本申请实施例还提供一种服务器,所述服务器包括处理器、通信单元及计算机可读存储介质,所述处理器、所述通信单元及所述计算机可读存储介质之间通过总线系统连接,所述通信单元用于连接电子设备以实现所述服务器与所述电子设备之间的数据交互,所述计算机可读存储介质用于存储程序、指令或代码,所述处理器用于执行所述计算机可读存储介质中的程序、指令或代码,以实现第一方面中任意一个可能的实现方式中的虚拟形象驱动方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其被执行时,使得计算机执行上述第一方面或者第一方面中任意一个可能的实现方式中的虚拟形象驱动方法。
基于上述任意一个方面,本申请实施例提供的虚拟形象驱动方法、装置及服务器,相对于现有技术中采用对手部动作进行手势识别得到的手指关节旋转数据直接对虚拟形象手部进行驱动的方案,本申请提供的技术方案可以克服因虚拟形象的手部特征与目标人物的手部特征不一致导致的手势驱动效果不佳的问题,可以确保虚拟形象与目标人物同步执行相同的手势动作。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要调用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本申请实施例提供的虚拟形象驱动系统的交互场景示意图;
图2为本申请实施例提供的虚拟形象驱动方法的一种流程示意图;
图3为本申请实施例提供的预先对手势识别模型进行训练的流程示意图;
图4为图3中步骤S152的子步骤流程示意图;
图5为本申请实施例提供的标准手势生成程序制作标准手势基的操作界面示意图;
图6为本申请实施例提供的标准手势基示意图;
图7为本申请实施例提供的虚拟形象驱动装置的功能模块示意图;
图8为本申请实施例提供的服务器的可能结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本申请保护的范围。
如前述背景技术中提及的技术问题,为了使虚拟形象对主播的实际动作手势进行准确表达,在一种可能的实现方案中,可以首先将目标人物的手部图像输入手势识别模型中,经由手势识别模型输出手指关节旋转数据;然后基于输出的手指关节旋转数据对虚拟形象的手部进行手势驱动。
在上述方案中,发明人发现,因未考虑目标人物与虚拟形象的手部特征差异(比如,指关节的骨骼长度差异或指关节的大小胖瘦),采用目标人物的手指关节旋转数据驱动虚拟形象的手部动作可能会影响手势驱动的效果,比如OK手势需要两根手指(食指和拇指)触碰才能表达出手势,在基于手指关节旋转数据结合指关节长度进行正向运动学处理之后,很难保证虚拟形象的食指和拇指也能触碰到一起。
为了解决现有技术中存在的上述技术问题,本申请实施例提供一种虚拟形象驱动方案,为了便于理解本申请方案,先对本申请可能应用的虚拟形象驱动系统进行介绍,可以理解下面介绍的虚拟形象驱动系统只是为了说明本申请方案的可能应用场景,本申请方案也可以应用在下述场景之外的其他应用场景中。
请参照图1,图1示出了本申请方案提供的虚拟形象驱动系统的一种可能的交互场景示意图。虚拟形象驱动系统10可以包括通信连接的服务器100、主播端200及观众端300,服务器100可以为主播端200提供视频图像处理支持,如由服务器100进行直播视频的图像分割处理以及手势识别。
在本申请实施例中,主播端200及观众端300可以是,但不限于智能手机、个人数字助理、平板电脑、个人计算机、笔记本电脑、虚拟现实终端设备、增强现实终端设备等。在具体实施过程中,可能有多个主播端200和观众端300接入该服务器100,图1中仅示出一个主播端200和两个观众端300。其中,主播端200和观众端300中可以安装直播类的服务程序,例如,服务程序可以是计算机或智能手机中使用的与互联网直播相关的应用程序APP或小程序等。
在本申请实施例中,服务器100可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器100可以是分布式系统)。在一些可能的实施方式中,如服务器100采用单个物理服务器,可以基于不同业务功能为该物理服务器分配不同的逻辑服务器组件。
可以理解,图1所示的直播场景仅为一种可行的示例,在其它可行的实施例中,该直播场景中也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
下面结合图1所示的应用场景对本申请实施例提供的虚拟形象驱动方法进行示例性说明。请参阅图2,本申请实施例提供的虚拟形象驱动方法可以由前述的服务器100执行,在本申请实施例的虚拟形象驱动方法中的部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除,该服务器100执行的虚拟形象驱动方法的详细步骤介绍如下。
步骤S11,获取目标人物的视频帧图像,从视频帧图像中得到目标人物的手部图像。
在本申请实施例中,目标人物可以是直播场景中的主播,服务器100接收主播端200发送的直播视频帧图像,服务器100在接收到视频帧图像后可以通过图像分割处理,从视频帧图像中得到目标人物的手部图像。例如,在分割之前需要创建手部对应的手部分割掩膜,在进行手部分割时,通过手部分割掩膜在直播视频帧图像中定位出手部位置,并通过手部分割掩膜在直播视频帧图像中得到目标人物的手部图像。
步骤S12,将目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到手部图像中手部动作对应的手势基系数。
在本申请实施例中,手部动作可以由至少一个标准手势基组成,具体地,手部动作可以通过选择不同的标准手势基以及调整其对应的权重实现不同的手势表达。手势基系数包括组成手部动作的不同标准手势基的权重,其中,组成手部动作的不同标准手势基的权重之和可以为1,手势基为组成不同手部动作的基本手势。
步骤S13,基于手部动作对应的手势基系数以及虚拟形象的手势基数据,计算虚拟形象的手指关节旋转数据。
在本申请实施例中,虚拟形象的手势基与设定的标准手势基可以具有相同的语义,虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据。由于虚拟形象的手势基与标准手势基语义相同,通过上述方式计算得到的手指关节旋转数据可以对虚拟形象进行准确驱动,其中语义相同是指虚拟形象的手势基与标准手势基在表达相同含义时的手势是相同。
步骤S14,采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部动作进行驱动。
本申请实施例中,在完成对虚拟形象的手部动作的驱动后,服务器100可以将驱动虚拟形象后形成的视频帧图像发送给观众端300,在观众端300对虚拟形象的动作进行显示。
本申请实施例提供的上述方案,首先,通过对目标人物的手部图像进行识别得到与手部图像中手部动作对应的手势基系数,其中,手势基系数包括组成该手部动作的各个标准手势基的权重;接着,基于手势基系数以及虚拟形象的手势基数据得到虚拟形象的手指关节旋转数据;最后,采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部执行相应动作。如此,相对于现有技术中采用对手部动作进行手势识别得到的手指关节旋转数据直接对虚拟形象手部进行驱动的方案,本申请提供的技术方案可以克服因虚拟形象的手部特征与目标人物的手部特征不一致导致的手势驱动效果不佳的问题,可以确保虚拟形象与目标人物同步执行相同的手势动作。
进一步地,在步骤S12之前,本申请实施例提供的虚拟形象驱动方法还包括预先对手势识别模型进行训练的方案,请参照图3,预先对手势识别模型进行训练的方案可以包括以下步骤。
步骤S151,获取手势训练样本集。
在该步骤中,手势训练样本集可以包括训练手势样本以及对该训练手势样本进行标注的手指关节旋转数据,其中,训练手势样本可以是包括手势动作的图像,手势动作的图像中可以包括手部的2D关键点或3D关键点。
步骤S152,基于标注的手指关节旋转数据对训练手势样本中的手部动作重新进行标注,得到训练手势样本中的手部动作对应的手势基标注系数。
本申请实施例中,训练手势样本中的手部动作可以由至少一个标准手势基组成,手势基标注系数包括组成训练手势样本中的手部动作的各个标准手势基的权重。在该步骤中,通过已标注的手指关节旋转数据可以计算得到训练手势样本的手势基标注系数。
步骤S153,依次将训练手势样本输入到待训练的深度学习网络模型中进行处理,输出训练手势样本的手势基预测系数。
步骤S154,通过训练手势样本的手势基标注系数以及手势基预测系数计算深度学习网络模型的模型损失函数值。
步骤S155,比较模型损失函数值与预设损失函数域值的大小,在模型损失函数值大于等于预设损失函数域值时,进入步骤S156,在模型损失函数值小于预设损失函数域值时,进入步骤S157。
步骤S156,对深度学习网络模型的模型参数进行调整。
并在完成对模型参数的调整后回到步骤S153。
步骤S157,得到训练好的深度学习网络模型,并将得到的深度学习网络模型作为训练好的手势识别模型。
请参照图4,图4为本申请实施例提供的步骤S152的子步骤流程示意图,在本申请实施例中,步骤S152可以通过以下方式实现。
子步骤S1521,计算训练手势样本中的手指关节在不同标准手势基中的手指关节旋转数据的加权平均值。
进一步地,在子步骤S1521之前,本申请实施例提供的虚拟形象驱动方法还包括通过调整预设驱动标准的手指关节转角制作标准手势基,并将所述标准手势基以及制作所述标准手势基过程中的手指关节旋转数据进行保存,得到标准手势基数据。具体地,可以通过图5所示的标准手势生成程序制作其中的标准手势基,通过选择不同的手指对象以及手指关节对象,并通过调整手指关节的旋转数据(比如旋转角度)制作标准手势基。示例性地,请参照图6,以MANO驱动标准为例,标准手势基中手势基的数量可以为32个。例如,标准手势基可以包括1个不伸出手指的手势基(first手势)、5个伸出一根手指的手势基(good手势、one手势、middle手势、ring手势及pinky手势)、10个伸出两根手指的手势基(gun手势、thumb-middle手势、thumb-ring手势、six手势、two手势、Index-ring手势、seven手势、middle-ring手势、middle-pinky手势及ok2手势)、10个伸出三根手指的手势基(ok手势、flip手势、no-thumb-ring手势、three手势、no-index-middle手势、no-index-ring手势、no-index-pinky手势、love手势、no-middle-pinky手势及gun2手势)、5个伸出四根手指的手势基(four手势、no-index手势、no-middle手势、no-ring手势及no-pinky手势)以及1个伸出五根手指的手势基(five手势)。去除手腕,手势基中的手指关节的数量为15个。在本申请实施例中,手指关节旋转数据可以采用四元数进行表示,标准手势基数据可以表示成
子步骤S1522,计算手指关节的旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值。
子步骤S1523,比较损失值是否小于预设损失阈值,若损失值不小于预设损失阈值,进入子步骤S1524;若损失值小于预设损失阈值,进入子步骤S1525。
子步骤S1524,调整不同标准手势基的权重,并在完成权重调整后回到子步骤S1521。
子步骤S1525,将得到的不同标准手势基的权重作为训练手势样本中的手部动作对应的手势基标注系数。
针对步骤S152的上述过程,可以通过以下具体示例进行说明。
假设某个训练手势样本中标注的手指关节旋转数据为Q1×15×4,手势基系数为W1 ×32,手势基系数的模为1,若采用线性组合表示Q=W*M1,如第j个手指关节的旋转数据的加权平均值采用32维手势基中的对应手指关节旋转数据与手势基系数w1,w2,...,w32进行线性加权求和得到(如下式(1)),然由于q与-q表示的是同一旋转姿态,因此对下式中的任一改变其符号不应该影响均值但式(1)明显不具备该性质。
在实际情况中,手势基中的第j个手指关节的旋转数据与第j个手指关节标注的旋转数据qj的数学关系(如下式(2)),根据手指关节的旋转数据(四元数)和其对应的手势基系数构造矩阵cj∈R4×4,则cj最大特征值对应的单位特征向量就是要求的加权平均值 表示求矩阵cj的最大特征值对应的单位特征向量。由此联合公式(3),求解32维手势基系数w1,w2,...,w32,手指关节约束包含15个旋转约束,每个旋转约束包含4维约束,共计60个约束,远大于32维。
在本申请实施例中,可以借助pytorch或其他非线性优化框架,将w1,w2,...,w31作为待优化的参数,则结合标准手势基数据M1根据公式(3),输出第j个手指关节旋转数据的加权平均值计算手指关节旋转数据的加权平均值和标注的手指关节旋转数据qj之间的损失值其中μj为第j个手指关节的手指关节旋转数据的权重且L1表示欧式距离,原则上越靠近手腕的手指关节对手指运动的影响较大,因此靠近手腕的手指关节设置较大的权重μ,通过优化器不断迭代修改权重w1,w2,...,w31的值来降低损失值直到小于损失阈值时停止迭代,最终经过对多个手指关节的约束联合优化得到训练手势样本对应的最佳手势基系数W=[w1,w1,...,w32],并将该最佳手势基系数作为训练手势样本新的手势基标注系数。基于新的手势基标注系数,保持输入不变重新训练深度学习模型,输出手势基预测系数,由于训练手势样本中标注的手指关节旋转数据可以由标准手势基组合表示,因此采用新标注的手势基标注系数训练的深度学习模型在预测精度方面不会受影响,同时输出维度从之前的15x4共60维数据下降到32维,可以降低模型的整体计算量。上述的公式(2)和公式(3)列举如下。
进一步地,在步骤S13之前,在申请实施例提供的虚拟形象驱动方法还包括制作虚拟形象的手势基的步骤。具体地,可以通过调整虚拟形象手指的关节转角制作虚拟形象的手势基,并将所述虚拟形象的手势基以及制作所述虚拟形象的手势基过程中手指关节旋转数据进行保存,得到虚拟形象的手势基数据。所述虚拟形象的手势基数量可以为32个,在所述虚拟形象的手势基中手指关节的数量可以为15个。虚拟形象的手势基的具体制作过程与前面所述的标准手势基的具体过程类似,在此就不再赘述。
再进一步地,在制作完虚拟形象的手势基之后,还可以将表征相同手势的虚拟形象的手势基与标准手势基进行语义对齐,即建立相同手势含义的虚拟形象的手势基与标准手势基之间的映射关系,以确保具有相同手势基系数的目标人物的手部动作与虚拟形象的手部动作一致。
在本申请实施例中,步骤S13中计算得到虚拟形象的手指关节旋转数据的方式可以通过将手部图像中手部动作对应的手势基系数与对应所述虚拟形象的手势基数据进行相乘得到。示例性地,若虚拟形象的手势基数据为虚拟形象的手指关节旋转数据为D1x15x4,手势识别模型输出的手势基系数为W1x32,则通过上面的式2可以计算出最终的手指关节旋转数据D。
在本申请实施例中,步骤S14中驱动虚拟形象的手部运动的方式可以是基于虚拟形象的关节旋转数据采用正向运动学方式驱动虚拟形象的手部运动。
进一步地,请参照图7,图7为本申请实施例提供的虚拟形象驱动装置400的一种功能模块示意图,本申请实施例可以根据服务器执行的方法实施例对虚拟形象驱动装置400进行功能模块的划分,也即该虚拟形象驱动装置400所对应的以下各个功能模块可以用于执行上述各个方法实施例。其中,该基于虚拟形象驱动装置400可以包括获取模块410、识别模块420、计算模块430及驱动模块440,下面分别对该虚拟形象驱动装置400的各个功能模块的功能进行详细阐述。
获取模块410,用于获取目标人物的视频帧图像,从视频帧图像中得到目标人物的手部图像。
在本申请实施例中,目标人物可以是直播场景中的主播,获取模块410接收主播端200发送的直播视频帧图像,并在接收到视频帧图像后可以通过图像分割处理,从视频帧图像中得到目标人物的手部图像,示例性地,在分割之前需要创建手部对应的手部分割掩膜,在进行手部分割时,通过手部分割掩膜在直播视频帧图像中定位出手部位置,并通过手部分割掩膜在直播视频帧图像中得到目标人物的手部图像。
本实施例中,获取模块410可以用于执行上述的步骤S11,关于获取模块410的详细实现方式可以参照上述针对步骤S11的详细描述。
识别模块420,用于将目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到手部图像中手部动作对应的手势基系数。
在本申请实施例中,手部动作可以由至少一个标准手势基组成,具体地,手部动作可以通过选择不同的标准手势基以及调整其对应的权重实现不同的手势表达。手势基系数包括组成手部动作的不同标准手势基的权重,其中,组成手部动作的不同标准手势基的权重之和可以为1,手势基为组成不同手部动作的基本手势。
本实施例中识别模块420可以用于执行上述的步骤S12,关于识别模块420的详细实现方式可以参照上述针对步骤S12的详细描述。
计算模块430,用于基于手部动作对应的手势基系数以及虚拟形象的手势基数据,计算虚拟形象的手指关节旋转数据。
在本申请实施例中,虚拟形象的手势基与设定的标准手势基具有相同的语义,虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据。由于虚拟形象的手势基与标准手势基语义相同,通过上述方式计算得到的手指关节旋转数据可以对虚拟形象进行准确驱动,其中语义相同是指虚拟形象的手势基与标准手势基在表达相同含义时的的手势是相同。
本实施例中计算模块430可以用于执行上述的步骤S13,关于计算模块430的详细实现方式可以参照上述针对步骤S13的详细描述。
驱动模块440,用于采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部动作进行驱动。
本实施例中驱动模块440可以用于执行上述的步骤S14,关于驱动模块440的详细实现方式可以参照上述针对步骤S14的详细描述。
需要说明的是,应理解以上装置或系统中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以在物理上分开。且这些模块可以全部以软件(比如,开源软件)可以通过处理器调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理器调用软件的形式实现,部分模块通过硬件的形式实现。作为一种示例,识别模块420可以由单独处理器运行实现,可以以程序代码的形式存储于上述装置或系统的存储器中,由上述装置或系统的某一个处理器调用并执行以上识别模块420的功能,其它模块的实现与之类似,在此就不再赘述。此外这些模块可以全部或部分集成在一起,也可以独立实现。这里所描述的处理器可以是一种具有信号的处理能力的集成电路,在实现过程中,上述技术方案中的各步骤或各个模块可以通过处理器中的集成逻辑电路或者执行软件程序的形式完成。
请参照图8,图8示出了本公开实施例提供的用于实现上述的虚拟形象驱动方法的服务器100的硬件结构示意图。如图8所示,服务器100可包括处理器110、计算机可读存储介质120、总线130及通信单元140。
在具体实现过程中,处理器110执行计算机可读存储介质120存储的计算机执行指令(例如图7中所示的虚拟形象驱动装置400中的各个模块),使得处理器110可以执行如上方法实施例的视频编码参数组合确定方法,其中,处理器110、计算机可读存储介质120以及通信单元140可以通过总线130连接。
处理器110的具体实现过程可参见上述服务器100执行的各个方法实施例,其实现原理和技术效果类似,本申请实施例此处不再赘述。
计算机可读存储介质120可以是,但不限于,随机存取存储器(RandomAccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable ProgrammableRead-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable ProgrammableRead-OnlyMemory,EEPROM)等。其中,存储器111用于存储程序或者数据。
总线130可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
在本申请实施例提供的交互场景中,通信单元140可用于与主播端200及观众端300通信,以实现服务器100与主播端200及观众端300之间的数据交互。
此外,本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的虚拟形象驱动方法。
综上所述,本申请实施例提供的虚拟形象驱动方法、装置及服务器,首先,通过对目标人物的手部动作进行识别得到手势基系数,其中,手势基系数包括组成该手部动作的各个标准手势基的权重;接着,基于手势基系数以及虚拟形象的手势基数据得到虚拟形象的手指关节旋转数据;最后,采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部执行相应动作。相对于现有技术中采用对手部动作进行手势识别得到的手指关节旋转数据直接对虚拟形象手部进行驱动的方案,本申请提供的技术方案可以克服因虚拟形象的手部特征与目标人物的手部特征不一致导致的手势驱动效果不佳的问题,可以确保虚拟形象与目标人物同步执行相同的手势动作。
以上所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。通常在附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,在附图中提供的本申请的实施例的详细描述并非旨在限制本申请的保护范围,而仅仅是表示本申请的选定实施例。基于此,本申请的保护范围应以权利要求的保护范围为准。此外,基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下可获得的所有其它实施例,都应属于本申请保护的范围。
Claims (10)
1.一种虚拟形象驱动方法,其特征在于,所述方法包括:
获取目标人物的视频帧图像,从所述视频帧图像中得到所述目标人物的手部图像;
将所述目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到所述手部图像中手部动作对应的手势基系数,其中,所述手势基系数包括组成所述手部动作的不同标准手势基的权重;
基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据,其中,所述虚拟形象的手势基与设定的标准手势基具有相同的语义,所述虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据;
采用所述虚拟形象的手指关节旋转数据对所述虚拟形象的手部动作进行驱动。
2.如权利要求1所述的虚拟形象驱动方法,其特征在于,所述方法还包括预先对所述手势识别模型进行训练的步骤,该步骤包括:
获取手势训练样本集,其中,所述手势训练样本集包括训练手势样本以及对该训练手势样本进行标注得到的手指关节旋转数据;
基于所述手指关节旋转数据对所述训练手势样本中的手部动作重新进行标注,得到所述训练手势样本中的手部动作对应的手势基标注系数,其中,所述训练手势样本中的手部动作由至少一个标准手势基组成;
依次将所述训练手势样本输入到待训练的深度学习网络模型中进行处理,输出训练手势样本的手势基预测系数;
通过所述训练手势样本的手势基标注系数以及手势基预测系数计算所述深度学习网络模型的模型损失函数值,并在模型损失函数值大于等于预设损失函数域值时,对所述深度学习网络模型的模型参数进行调整直到通过所述模型损失函数值小于所述预设损失函数阈值,将得到的深度学习网络模型作为训练好的手势识别模型。
3.如权利要求2所述的虚拟形象驱动方法,其特征在于,所述基于所述手指关节旋转数据对所述训练手势样本中的手部动作重新进行标注,得到所述训练手势样本中的手部动作对应的手势基标注系数的步骤,包括:
计算所述训练手势样本中的手指关节在不同的标准手势基中的手指关节旋转数据的加权平均值;
计算手指关节的旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值;
将所述损失值与预设损失阈值进行比较,在所述损失值大于所述预设损失阈值时,调整所述不同标准手势基的权重,并回到计算手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的步骤,直到所述损失值小于所述损失阈值,将得到的不同标准手势基的权重作为所述训练手势样本中的手部动作对应的手势基标注系数。
4.如权利要求3所述的虚拟形象驱动方法,其特征在于,在所述计算所述训练手势样本中的手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的步骤之前,所述方法还包括:
通过调整预设驱动标准的手指关节转角制作标准手势基,并将所述标准手势基以及制作所述标准手势基过程中的手指关节旋转数据进行保存,得到标准手势基数据;其中,所述标准手势基中手势基的数量为32个,在所述标准手势基中手指关节的数量为15个。
6.如权利要求4所述的虚拟形象驱动方法,其特征在于,在所述基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据的步骤之前,所述方法还包括:
将表征相同手势的虚拟形象的手势基与所述标准手势基进行语义对齐。
7.如权利要求6所述的虚拟形象驱动方法,其特征在于,在所述将表征相同手势的虚拟形象的手势基与所述标准手势基进行对齐的步骤之前,所述方法还包括:
通过调整虚拟形象的手指关节转角制作虚拟形象的手势基,并将所述虚拟形象的手势基以及制作所述虚拟形象的手势基过程中手指关节旋转数据进行保存,得到虚拟形象的手势基数据;其中,所述虚拟形象的手势基数量为32个,在所述虚拟形象的手势基中手指关节的数量为15个。
8.如权利要求1-7中任意一项所述的虚拟形象驱动方法,其特征在于,所述基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据的步骤,包括:
将所述手部图像中手部动作对应的手势基系数与对应所述虚拟形象的手势基数据进行相乘,计算得到所述虚拟形象的手指关节旋转数据;
所述采用所述虚拟形象的手指关节旋转数据对所述虚拟形象的手部动作进行驱动的步骤,包括:
基于所述虚拟形象的关节旋转数据采用正向运动学方式驱动虚拟形象的手部运动。
9.一种虚拟形象驱动装置,其特征在于,所述装置包括:
获取模块,用于获取目标人物的视频帧图像,从所述视频帧图像中得到所述目标人物的手部图像;
识别模块,用于将所述目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到所述手部图像中手部动作对应的手势基系数,其中,所述手势基系数包括组成所述手部动作的不同标准手势基的权重;
计算模块,用于基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据,其中,所述虚拟形象的手势基与设定的标准手势基具有相同的语义,所述虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据;
驱动模块,用于采用所述虚拟形象的手指关节旋转数据对所述虚拟形象的手部动作进行驱动。
10.一种服务器,其特征在于,所述服务器包括处理器、通信单元及计算机可读存储介质,所述处理器、所述通信单元及所述计算机可读存储介质之间通过总线系统连接,所述通信单元用于连接电子设备以实现所述服务器与所述电子设备之间的数据交互,所述计算机可读存储介质用于存储程序、指令或代码,所述处理器用于执行所述计算机可读存储介质中的程序、指令或代码,以实现权利要求1-8中任意一项所述的虚拟形象驱动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210163257.3A CN114527877B (zh) | 2022-02-22 | 2022-02-22 | 虚拟形象驱动方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210163257.3A CN114527877B (zh) | 2022-02-22 | 2022-02-22 | 虚拟形象驱动方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114527877A true CN114527877A (zh) | 2022-05-24 |
CN114527877B CN114527877B (zh) | 2024-04-09 |
Family
ID=81624606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210163257.3A Active CN114527877B (zh) | 2022-02-22 | 2022-02-22 | 虚拟形象驱动方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114527877B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167673A (zh) * | 2022-07-06 | 2022-10-11 | 中科传媒科技有限责任公司 | 虚拟手势同步的实现方法、装置、设备及存储介质 |
CN116719416A (zh) * | 2023-08-07 | 2023-09-08 | 海马云(天津)信息技术有限公司 | 虚拟数字人的手势动作修正方法和装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936774A (zh) * | 2019-03-29 | 2019-06-25 | 广州虎牙信息科技有限公司 | 虚拟形象控制方法、装置及电子设备 |
CN113655889A (zh) * | 2021-09-01 | 2021-11-16 | 北京字跳网络技术有限公司 | 一种虚拟角色控制方法、装置以及计算机存储介质 |
-
2022
- 2022-02-22 CN CN202210163257.3A patent/CN114527877B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936774A (zh) * | 2019-03-29 | 2019-06-25 | 广州虎牙信息科技有限公司 | 虚拟形象控制方法、装置及电子设备 |
CN113655889A (zh) * | 2021-09-01 | 2021-11-16 | 北京字跳网络技术有限公司 | 一种虚拟角色控制方法、装置以及计算机存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167673A (zh) * | 2022-07-06 | 2022-10-11 | 中科传媒科技有限责任公司 | 虚拟手势同步的实现方法、装置、设备及存储介质 |
CN116719416A (zh) * | 2023-08-07 | 2023-09-08 | 海马云(天津)信息技术有限公司 | 虚拟数字人的手势动作修正方法和装置、电子设备及存储介质 |
CN116719416B (zh) * | 2023-08-07 | 2023-12-15 | 海马云(天津)信息技术有限公司 | 虚拟数字人的手势动作修正方法和装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114527877B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3852068A1 (en) | Method for training generative network, method for generating near-infrared image and apparatuses | |
CN112330685B (zh) | 图像分割模型训练、图像分割方法、装置及电子设备 | |
CN114527877A (zh) | 虚拟形象驱动方法、装置及服务器 | |
CN111369681A (zh) | 三维模型的重构方法、装置、设备及存储介质 | |
US20230072627A1 (en) | Gaze correction method and apparatus for face image, device, computer-readable storage medium, and computer program product face image | |
WO2020087564A1 (zh) | 三维物体重建方法、计算机设备及存储介质 | |
CN111652974B (zh) | 三维人脸模型的构建方法、装置、设备及存储介质 | |
CN112270711B (zh) | 模型训练以及姿态预测方法、装置、设备以及存储介质 | |
CN114339409B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
US10977549B2 (en) | Object animation using generative neural networks | |
CN111401318B (zh) | 动作识别方法及装置 | |
EP3958207A2 (en) | Method and apparatus for video frame interpolation, and electronic device | |
JP2018116589A (ja) | 対象画像の変更画像群を用いる状態識別装置、プログラム及び方法 | |
CN110852940A (zh) | 一种图像处理方法及相关设备 | |
CN111754622B (zh) | 脸部三维图像生成方法及相关设备 | |
WO2023155434A1 (zh) | 位姿预测方法及装置、设备、介质、计算机程序、计算机程序产品 | |
CN110728319B (zh) | 一种图像生成方法、装置以及计算机存储介质 | |
CN114550313A (zh) | 图像处理方法、神经网络及其训练方法、设备和介质 | |
CN114399424A (zh) | 模型训练方法及相关设备 | |
CN113902848A (zh) | 对象重建方法、装置、电子设备及存储介质 | |
CN112101109B (zh) | 人脸关键点检测模型训练方法、装置、电子设备和介质 | |
CN111833391B (zh) | 图像深度信息的估计方法及装置 | |
CN113516697A (zh) | 图像配准的方法、装置、电子设备及计算机可读存储介质 | |
CN115775300A (zh) | 人体模型的重建方法、人体重建模型的训练方法及装置 | |
CN113610856B (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 |