1.本技术涉及视频图像处理技术领域,具体而言,涉及一种虚拟形象驱动方法、装置及服务器。
背景技术:
2.在互联网直播场景中,主播通常采用虚拟形象和观众进行交流互动,手势表达是主播通过虚拟形象与观众进行交流互动的重要方式,如何使虚拟形象准确表达主播的实际动作手势是本领域技术人员急需要解决的技术问题。
技术实现要素:
3.为了解决上述技术问题,本技术提供一种虚拟形象驱动方法、装置及服务器。
4.第一方面,本技术实施例提供一种虚拟形象驱动方法,所述方法包括:
5.获取目标人物的视频帧图像,从所述视频帧图像中得到所述目标人物的手部图像;
6.将所述目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到所述手部图像中手部动作对应的手势基系数,其中,所述手势基系数包括组成所述手部动作的不同标准手势基的权重;
7.基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据,其中,所述虚拟形象的手势基与设定的标准手势基具有相同的语义,所述虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据;
8.采用所述虚拟形象的手指关节旋转数据对所述虚拟形象的手部动作进行驱动。
9.在一种可能的实现方式中,所述方法还包括预先对所述手势识别模型进行训练的步骤,该步骤包括:
10.获取手势训练样本集,其中,所述手势训练样本集包括训练手势样本以及对该训练手势样本进行标注得到的手指关节旋转数据;
11.基于所述手指关节旋转数据对所述训练手势样本中的手部动作重新进行标注,得到所述训练手势样本中的手部动作对应的手势基标准系数,其中,所述训练手势样本中的手部动作由至少一个标准手势基组成;
12.依次将所述训练手势样本输入到待训练的深度学习网络模型中进行处理,输出训练手势样本的手势基预测系数;
13.通过所述训练手势样本的手势基标准系数以及手势基预测系数计算所述深度学习网络模型的模型损失函数值,并在模型损失函数值大于等于预设损失函数域值时,对所述深度学习网络模型的模型参数进行调整直到通过所述模型损失函数值小于所述预设损失函数阈值,将得到的深度学习网络模型作为训练好的手势识别模型。
14.在一种可能的实现方式中,所述基于所述手指关节旋转数据对所述训练手势样本中的手部动作重新进行标注,得到所述训练手势样本中的手部动作对应的手势基标准系数
的步骤,包括:
15.计算所述训练手势样本中的手指关节在不同的标准手势基中的手指关节旋转数据的加权平均值;
16.计算手指关节的旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值;
17.将所述损失值与预设损失阈值进行比较,在所述损失值大于所述预设损失阈值时,调整所述不同标准手势基的权重,并回到计算手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的步骤,直到所述损失值小于所述损失阈值,将得到的不同标准手势基的权重作为所述训练手势样本中的手部动作对应的手势基标准系数。
18.在一种可能的实现方式中,在所述计算所述训练手势样本中的手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的步骤之前,所述方法还包括:
19.通过调整预设驱动标准的手指关节转角制作标准手势基,并将所述标准手势基以及制作所述标准手势基过程中的手指关节旋转数据进行保存,得到标准手势基数据;其中,所述标准手势基中手势基的数量为32个,在所述标准手势基中手指关节的数量为15个。
20.在一种可能的实现方式中,计算所述训练手势样本中的手指关节在不同标准手势基中的手指关节旋转数据的加权平均值的公式如下:
[0021][0022][0023]
其中,表示第j个手指关节的旋转数据的加权平均值,wi表示第i个标准手势基的权重,表示第j个手指关节在第i个标准手势基中的关节旋转数据,为的倒置矩阵,表示矩阵的最大特征值对应的单位特征向量;
[0024]
计算所述手指关节旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值的公式如下:
[0025][0026][0027]
其中,loss为损失值,qj为标注的第j个手指关节的手指关节旋转数据,表示第j个手指关节的手指关节旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值。
[0028]
在一种可能的实现方式中,在所述基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据的步骤之前,所述方法还包括:
[0029]
将表征相同手势的虚拟形象的手势基与所述标准手势基进行语义对齐。
[0030]
在一种可能的实现方式中,在所述将表征相同手势的虚拟形象的手势基与所述标准手势基进行对齐的步骤之前,所述方法还包括:
[0031]
通过调整虚拟形象的手指关节转角制作虚拟形象的手势基,并将所述虚拟形象的手势基以及制作所述虚拟形象的手势基过程中手指关节旋转数据进行保存,得到虚拟形象的手势基数据;其中,所述虚拟形象的手势基数量为32个,在所述虚拟形象的手势基中手指关节的数量为15个。
[0032]
在一种可能的实现方式中,所述基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据的步骤,包括:
[0033]
将所述手部图像中手部动作对应的手势基系数与对应所述虚拟形象的手势基数据进行相乘,计算得到所述虚拟形象的手指关节旋转数据;
[0034]
所述采用所述虚拟形象的手指关节旋转数据驱动所述虚拟形象的手部执行与所述目标人物的手部相同的动作的步骤,包括:
[0035]
基于所述虚拟形象的关节旋转数据采用正向运动学方式驱动虚拟形象的手部运动。
[0036]
第二方面,本技术实施例还提供虚拟形象驱动装置,所述装置包括:
[0037]
获取模块,用于获取目标人物的视频帧图像,从所述视频帧图像中得到所述目标人物的手部图像;
[0038]
识别模块,用于将所述目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到所述手部图像中手部动作对应的手势基系数,其中,所述手势基系数包括组成所述手部动作的不同标准手势基的权重;
[0039]
计算模块,用于基于所述手部动作对应的手势基系数以及虚拟形象的手势基数据,计算所述虚拟形象的手指关节旋转数据,其中,所述虚拟形象的手势基与设定的标准手势基具有相同的语义,所述虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据;
[0040]
驱动模块,用于采用所述虚拟形象的手指关节旋转数据对所述虚拟形象的手部动作进行驱动。
[0041]
第三方面,本技术实施例还提供一种服务器,所述服务器包括处理器、通信单元及计算机可读存储介质,所述处理器、所述通信单元及所述计算机可读存储介质之间通过总线系统连接,所述通信单元用于连接电子设备以实现所述服务器与所述电子设备之间的数据交互,所述计算机可读存储介质用于存储程序、指令或代码,所述处理器用于执行所述计算机可读存储介质中的程序、指令或代码,以实现第一方面中任意一个可能的实现方式中的虚拟形象驱动方法。
[0042]
第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其被执行时,使得计算机执行上述第一方面或者第一方面中任意一个可能的实现方式中的虚拟形象驱动方法。
[0043]
基于上述任意一个方面,本技术实施例提供的虚拟形象驱动方法、装置及服务器,相对于现有技术中采用对手部动作进行手势识别得到的手指关节旋转数据直接对虚拟形象手部进行驱动的方案,本技术提供的技术方案可以克服因虚拟形象的手部特征与目标人物的手部特征不一致导致的手势驱动效果不佳的问题,可以确保虚拟形象与目标人物同步
执行相同的手势动作。
附图说明
[0044]
为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要调用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
[0045]
图1为本技术实施例提供的虚拟形象驱动系统的交互场景示意图;
[0046]
图2为本技术实施例提供的虚拟形象驱动方法的一种流程示意图;
[0047]
图3为本技术实施例提供的预先对手势识别模型进行训练的流程示意图;
[0048]
图4为图3中步骤s152的子步骤流程示意图;
[0049]
图5为本技术实施例提供的标准手势生成程序制作标准手势基的操作界面示意图;
[0050]
图6为本技术实施例提供的标准手势基示意图;
[0051]
图7为本技术实施例提供的虚拟形象驱动装置的功能模块示意图;
[0052]
图8为本技术实施例提供的服务器的可能结构示意图。
具体实施方式
[0053]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。
[0054]
另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本技术保护的范围。
[0055]
如前述背景技术中提及的技术问题,为了使虚拟形象对主播的实际动作手势进行准确表达,在一种可能的实现方案中,可以首先将目标人物的手部图像输入手势识别模型中,经由手势识别模型输出手指关节旋转数据;然后基于输出的手指关节旋转数据对虚拟形象的手部进行手势驱动。
[0056]
在上述方案中,发明人发现,因未考虑目标人物与虚拟形象的手部特征差异(比如,指关节的骨骼长度差异或指关节的大小胖瘦),采用目标人物的手指关节旋转数据驱动虚拟形象的手部动作可能会影响手势驱动的效果,比如ok手势需要两根手指(食指和拇指)触碰才能表达出手势,在基于手指关节旋转数据结合指关节长度进行正向运动学处理之后,很难保证虚拟形象的食指和拇指也能触碰到一起。
[0057]
为了解决现有技术中存在的上述技术问题,本技术实施例提供一种虚拟形象驱动方案,为了便于理解本技术方案,先对本技术可能应用的虚拟形象驱动系统进行介绍,可以理解下面介绍的虚拟形象驱动系统只是为了说明本技术方案的可能应用场景,本技术方案也可以应用在下述场景之外的其他应用场景中。
[0058]
请参照图1,图1示出了本技术方案提供的虚拟形象驱动系统的一种可能的交互场景示意图。虚拟形象驱动系统10可以包括通信连接的服务器100、主播端200及观众端300,服务器100可以为主播端200提供视频图像处理支持,如由服务器100进行直播视频的图像分割处理以及手势识别。
[0059]
在本技术实施例中,主播端200及观众端300可以是,但不限于智能手机、个人数字助理、平板电脑、个人计算机、笔记本电脑、虚拟现实终端设备、增强现实终端设备等。在具体实施过程中,可能有多个主播端200和观众端300接入该服务器100,图1中仅示出一个主播端200和两个观众端300。其中,主播端200和观众端300中可以安装直播类的服务程序,例如,服务程序可以是计算机或智能手机中使用的与互联网直播相关的应用程序app或小程序等。
[0060]
在本技术实施例中,服务器100可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器100可以是分布式系统)。在一些可能的实施方式中,如服务器100采用单个物理服务器,可以基于不同业务功能为该物理服务器分配不同的逻辑服务器组件。
[0061]
可以理解,图1所示的直播场景仅为一种可行的示例,在其它可行的实施例中,该直播场景中也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
[0062]
下面结合图1所示的应用场景对本技术实施例提供的虚拟形象驱动方法进行示例性说明。请参阅图2,本技术实施例提供的虚拟形象驱动方法可以由前述的服务器100执行,在本技术实施例的虚拟形象驱动方法中的部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除,该服务器100执行的虚拟形象驱动方法的详细步骤介绍如下。
[0063]
步骤s11,获取目标人物的视频帧图像,从视频帧图像中得到目标人物的手部图像。
[0064]
在本技术实施例中,目标人物可以是直播场景中的主播,服务器100接收主播端200发送的直播视频帧图像,服务器100在接收到视频帧图像后可以通过图像分割处理,从视频帧图像中得到目标人物的手部图像。例如,在分割之前需要创建手部对应的手部分割掩膜,在进行手部分割时,通过手部分割掩膜在直播视频帧图像中定位出手部位置,并通过手部分割掩膜在直播视频帧图像中得到目标人物的手部图像。
[0065]
步骤s12,将目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到手部图像中手部动作对应的手势基系数。
[0066]
在本技术实施例中,手部动作可以由至少一个标准手势基组成,具体地,手部动作可以通过选择不同的标准手势基以及调整其对应的权重实现不同的手势表达。手势基系数包括组成手部动作的不同标准手势基的权重,其中,组成手部动作的不同标准手势基的权
重之和可以为1,手势基为组成不同手部动作的基本手势。
[0067]
步骤s13,基于手部动作对应的手势基系数以及虚拟形象的手势基数据,计算虚拟形象的手指关节旋转数据。
[0068]
在本技术实施例中,虚拟形象的手势基与设定的标准手势基可以具有相同的语义,虚拟形象的手势基数据包括虚拟形象的不同手势基对应的手指关节旋转数据。由于虚拟形象的手势基与标准手势基语义相同,通过上述方式计算得到的手指关节旋转数据可以对虚拟形象进行准确驱动,其中语义相同是指虚拟形象的手势基与标准手势基在表达相同含义时的手势是相同。
[0069]
步骤s14,采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部动作进行驱动。
[0070]
本技术实施例中,在完成对虚拟形象的手部动作的驱动后,服务器100可以将驱动虚拟形象后形成的视频帧图像发送给观众端300,在观众端300对虚拟形象的动作进行显示。
[0071]
本技术实施例提供的上述方案,首先,通过对目标人物的手部图像进行识别得到与手部图像中手部动作对应的手势基系数,其中,手势基系数包括组成该手部动作的各个标准手势基的权重;接着,基于手势基系数以及虚拟形象的手势基数据得到虚拟形象的手指关节旋转数据;最后,采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部执行相应动作。如此,相对于现有技术中采用对手部动作进行手势识别得到的手指关节旋转数据直接对虚拟形象手部进行驱动的方案,本技术提供的技术方案可以克服因虚拟形象的手部特征与目标人物的手部特征不一致导致的手势驱动效果不佳的问题,可以确保虚拟形象与目标人物同步执行相同的手势动作。
[0072]
进一步地,在步骤s12之前,本技术实施例提供的虚拟形象驱动方法还包括预先对手势识别模型进行训练的方案,请参照图3,预先对手势识别模型进行训练的方案可以包括以下步骤。
[0073]
步骤s151,获取手势训练样本集。
[0074]
在该步骤中,手势训练样本集可以包括训练手势样本以及对该训练手势样本进行标注的手指关节旋转数据,其中,训练手势样本可以是包括手势动作的图像,手势动作的图像中可以包括手部的2d关键点或3d关键点。
[0075]
步骤s152,基于标注的手指关节旋转数据对训练手势样本中的手部动作重新进行标注,得到训练手势样本中的手部动作对应的手势基标注系数。
[0076]
本技术实施例中,训练手势样本中的手部动作可以由至少一个标准手势基组成,手势基标注系数包括组成训练手势样本中的手部动作的各个标准手势基的权重。在该步骤中,通过已标注的手指关节旋转数据可以计算得到训练手势样本的手势基标注系数。
[0077]
步骤s153,依次将训练手势样本输入到待训练的深度学习网络模型中进行处理,输出训练手势样本的手势基预测系数。
[0078]
步骤s154,通过训练手势样本的手势基标注系数以及手势基预测系数计算深度学习网络模型的模型损失函数值。
[0079]
步骤s155,比较模型损失函数值与预设损失函数域值的大小,在模型损失函数值大于等于预设损失函数域值时,进入步骤s156,在模型损失函数值小于预设损失函数域值时,进入步骤s157。
[0080]
步骤s156,对深度学习网络模型的模型参数进行调整。
[0081]
并在完成对模型参数的调整后回到步骤s153。
[0082]
步骤s157,得到训练好的深度学习网络模型,并将得到的深度学习网络模型作为训练好的手势识别模型。
[0083]
请参照图4,图4为本技术实施例提供的步骤s152的子步骤流程示意图,在本技术实施例中,步骤s152可以通过以下方式实现。
[0084]
子步骤s1521,计算训练手势样本中的手指关节在不同标准手势基中的手指关节旋转数据的加权平均值。
[0085]
进一步地,在子步骤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个。在本技术实施例中,手指关节旋转数据可以采用四元数进行表示,标准手势基数据可以表示成
[0086]
子步骤s1522,计算手指关节的旋转数据的加权平均值与对应标注的手指关节旋转数据之间的损失值。
[0087]
子步骤s1523,比较损失值是否小于预设损失阈值,若损失值不小于预设损失阈值,进入子步骤s1524;若损失值小于预设损失阈值,进入子步骤s1525。
[0088]
子步骤s1524,调整不同标准手势基的权重,并在完成权重调整后回到子步骤s1521。
[0089]
子步骤s1525,将得到的不同标准手势基的权重作为训练手势样本中的手部动作对应的手势基标注系数。
[0090]
针对步骤s152的上述过程,可以通过以下具体示例进行说明。
[0091]
假设某个训练手势样本中标注的手指关节旋转数据为q1×
15
×4,手势基系数为w1×
32
,手势基系数的模为1,若采用线性组合表示q=w*m1,如第j个手指关节的旋转数据的加权平均值采用32维手势基中的对应手指关节旋转数据与手势基系数w1,w2,...,w
32
进行线性加权求和得到(如下式(1)),然由于q与-q表示的是同一旋转姿
态,因此对下式中的任一改变其符号不应该影响均值但式(1)明显不具备该性质。
[0092][0093]
在实际情况中,手势基中的第j个手指关节的旋转数据与第j个手指关节标注的旋转数据qj的数学关系(如下式(2)),根据手指关节的旋转数据(四元数)和其对应的手势基系数构造矩阵cj∈r4×4,则cj最大特征值对应的单位特征向量就是要求的加权平均值加权平均值表示求矩阵cj的最大特征值对应的单位特征向量。由此联合公式(3),求解32维手势基系数w1,w2,...,w
32
,手指关节约束包含15个旋转约束,每个旋转约束包含4维约束,共计60个约束,远大于32维。
[0094]
在本技术实施例中,可以借助pytorch或其他非线性优化框架,将w1,w2,...,w
31
作为待优化的参数,则结合标准手势基数据m1根据公式(3),输出第j个手指关节旋转数据的加权平均值计算手指关节旋转数据的加权平均值和标注的手指关节旋转数据qj之间的损失值其中μj为第j个手指关节的手指关节旋转数据的权重且l1表示欧式距离,原则上越靠近手腕的手指关节对手指运动的影响较大,因此靠近手腕的手指关节设置较大的权重μ,通过优化器不断迭代修改权重w1,w2,...,w
31
的值来降低损失值直到小于损失阈值时停止迭代,最终经过对多个手指关节的约束联合优化得到训练手势样本对应的最佳手势基系数w=[w1,w1,...,w
32
],并将该最佳手势基系数作为训练手势样本新的手势基标注系数。基于新的手势基标注系数,保持输入不变重新训练深度学习模型,输出手势基预测系数,由于训练手势样本中标注的手指关节旋转数据可以由标准手势基组合表示,因此采用新标注的手势基标注系数训练的深度学习模型在预测精度方面不会受影响,同时输出维度从之前的15x4共60维数据下降到32维,可以降低模型的整体计算量。上述的公式(2)和公式(3)列举如下。
[0095]
[0096][0097]
进一步地,在步骤s13之前,在申请实施例提供的虚拟形象驱动方法还包括制作虚拟形象的手势基的步骤。具体地,可以通过调整虚拟形象手指的关节转角制作虚拟形象的手势基,并将所述虚拟形象的手势基以及制作所述虚拟形象的手势基过程中手指关节旋转数据进行保存,得到虚拟形象的手势基数据。所述虚拟形象的手势基数量可以为32个,在所述虚拟形象的手势基中手指关节的数量可以为15个。虚拟形象的手势基的具体制作过程与前面所述的标准手势基的具体过程类似,在此就不再赘述。
[0098]
再进一步地,在制作完虚拟形象的手势基之后,还可以将表征相同手势的虚拟形象的手势基与标准手势基进行语义对齐,即建立相同手势含义的虚拟形象的手势基与标准手势基之间的映射关系,以确保具有相同手势基系数的目标人物的手部动作与虚拟形象的手部动作一致。
[0099]
在本技术实施例中,步骤s13中计算得到虚拟形象的手指关节旋转数据的方式可以通过将手部图像中手部动作对应的手势基系数与对应所述虚拟形象的手势基数据进行相乘得到。示例性地,若虚拟形象的手势基数据为虚拟形象的手指关节旋转数据为d
1x15x4
,手势识别模型输出的手势基系数为w
1x32
,则通过上面的式2可以计算出最终的手指关节旋转数据d。
[0100]
在本技术实施例中,步骤s14中驱动虚拟形象的手部运动的方式可以是基于虚拟形象的关节旋转数据采用正向运动学方式驱动虚拟形象的手部运动。
[0101]
进一步地,请参照图7,图7为本技术实施例提供的虚拟形象驱动装置400的一种功能模块示意图,本技术实施例可以根据服务器执行的方法实施例对虚拟形象驱动装置400进行功能模块的划分,也即该虚拟形象驱动装置400所对应的以下各个功能模块可以用于执行上述各个方法实施例。其中,该基于虚拟形象驱动装置400可以包括获取模块410、识别模块420、计算模块430及驱动模块440,下面分别对该虚拟形象驱动装置400的各个功能模块的功能进行详细阐述。
[0102]
获取模块410,用于获取目标人物的视频帧图像,从视频帧图像中得到目标人物的手部图像。
[0103]
在本技术实施例中,目标人物可以是直播场景中的主播,获取模块410接收主播端200发送的直播视频帧图像,并在接收到视频帧图像后可以通过图像分割处理,从视频帧图像中得到目标人物的手部图像,示例性地,在分割之前需要创建手部对应的手部分割掩膜,在进行手部分割时,通过手部分割掩膜在直播视频帧图像中定位出手部位置,并通过手部分割掩膜在直播视频帧图像中得到目标人物的手部图像。
[0104]
本实施例中,获取模块410可以用于执行上述的步骤s11,关于获取模块410的详细实现方式可以参照上述针对步骤s11的详细描述。
[0105]
识别模块420,用于将目标人物的手部图像输入到训练好的手势识别模型中进行识别,得到手部图像中手部动作对应的手势基系数。
accessmemory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmableread-only memory,prom),可擦除只读存储器(erasable programmable read-onlymemory,eprom),电可擦除只读存储器(electric erasable programmable read-onlymemory,eeprom)等。其中,存储器111用于存储程序或者数据。
[0118]
总线130可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0119]
在本技术实施例提供的交互场景中,通信单元140可用于与主播端200及观众端300通信,以实现服务器100与主播端200及观众端300之间的数据交互。
[0120]
此外,本技术实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的虚拟形象驱动方法。
[0121]
综上所述,本技术实施例提供的虚拟形象驱动方法、装置及服务器,首先,通过对目标人物的手部动作进行识别得到手势基系数,其中,手势基系数包括组成该手部动作的各个标准手势基的权重;接着,基于手势基系数以及虚拟形象的手势基数据得到虚拟形象的手指关节旋转数据;最后,采用虚拟形象的手指关节旋转数据驱动虚拟形象的手部执行相应动作。相对于现有技术中采用对手部动作进行手势识别得到的手指关节旋转数据直接对虚拟形象手部进行驱动的方案,本技术提供的技术方案可以克服因虚拟形象的手部特征与目标人物的手部特征不一致导致的手势驱动效果不佳的问题,可以确保虚拟形象与目标人物同步执行相同的手势动作。
[0122]
以上所描述的实施例仅仅是本技术的一部分实施例,而不是全部的实施例。通常在附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,在附图中提供的本技术的实施例的详细描述并非旨在限制本技术的保护范围,而仅仅是表示本技术的选定实施例。基于此,本技术的保护范围应以权利要求的保护范围为准。此外,基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下可获得的所有其它实施例,都应属于本技术保护的范围。
转载请注明原文地址:https://tc.8miu.com/read-3462.html