一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟对象控制方法、装置、电子设备及存储介质与流程

2022-02-22 04:53:11 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,具体涉及一种虚拟对象控制方法、装置、电子设备及存储介质,该存储介质即为计算机可读存储介质。


背景技术:

2.随着计算机技术的快速发展,人机交互的场景越来越多,通过遥控器实现用户意图的传递和对虚拟对象的控制已经不能满足用户的人机交互需求。因此,市面上出现了通过用户语音对虚拟对象进行控制,进而实现用户与虚拟对象的交互,简化了人机交互的复杂度。
3.但是,语音指令在使用过程中容易受周围环境、噪声等干扰,因此,在通过语音指令进行人机交互的过程中容易出现指令获取不准确,对虚拟对象的控制难以满足用户期望的缺陷。


技术实现要素:

4.本技术实施例提供一种虚拟对象控制方法、装置、电子设备及计算机可读存储介质,可以提高与虚拟对象交互的准确性,实现对虚拟对象的准确控制。
5.本技术实施例提供了一种虚拟对象控制方法,包括:
6.采集至少一张动作图像,所述动作图像中包括至少一个用户针对目标虚拟对象的肢体动作信息;
7.根据每张所述动作图像中的所述肢体动作信息,提取出每个所述用户的肢体动作轨迹信息;
8.根据预置控制策略从所述至少一个肢体动作轨迹信息中选取出目标肢体动作轨迹信息,并确定所述目标肢体动作轨迹信息对应的控制指令;
9.根据所述控制指令对所述目标虚拟对象进行控制。
10.相应的,本技术实施例还提供了一种虚拟对象控制装置,包括:
11.采集模块,用于采集至少一张动作图像,所述动作图像中包括至少一个用户针对目标虚拟对象的肢体动作信息;
12.提取模块,用于根据每张所述动作图像中的所述肢体动作信息,提取出每个所述用户的肢体动作轨迹信息;
13.确定模块,用于根据预置控制策略从所述至少一个肢体动作轨迹信息中选取出目标肢体动作轨迹信息,并确定所述目标肢体动作轨迹信息对应的控制指令;
14.控制模块,用于根据所述控制指令对所述目标虚拟对象进行控制。
15.可选的,在本发明的一些实施例中,提取模块包括:
16.第一确定单元,用于根据所述肢体动作信息,确定每个所述用户在每张所述动作图像中的目标肢体位置信息;
17.第二确定单元,用于根据所述目标肢体位置信息,确定每个所述用户的肢体动作
轨迹信息。
18.可选的,在本发明的一些实施例中,第一确定单元包括:
19.识别子单元,用于根据所述肢体动作信息,识别出每张所述动作图像中的至少一个目标肢体区域;
20.选取子单元,用于从所述目标肢体区域中,选取每个所述用户在每张所述动作图像中的目标肢体实际区域;
21.确定子单元,用于确定每个所述目标肢体实际区域的区域位置信息,得到每个所述用户在每张所述动作图像中的目标肢体位置信息。
22.可选的,在本发明的一些实施例中,动作图像包括第一动作图像和第二动作图像,第二动作图像在第一动作图像之后采集到,选取子单元具体用于:
23.确定每个所述用户在第一动作图像中的第一目标肢体区域;
24.根据所述第一目标肢体区域,确定所述用户在第二动作图像中的第二目标肢体区域,将所述第二目标肢体区域作为目标肢体实际区域。
25.可选的,在本发明的一些实施例中,所述选取子单元还具体用于:
26.确定第二动作图像中的至少一个第二目标肢体区域;
27.计算每个所述第二目标肢体区域与每个所述第一目标肢体区域的相似度值;
28.根据所述相似度值,分别选取与每个所述第一目标肢体区域对应的第二目标肢体区域,得到每个所述用户在所述第二动作图像中的第二目标肢体区域。
29.可选的,在本发明的一些实施例中,识别子单元,具体用于:
30.通过预设图像分类模型对所述肢体动作信息进行特征提取,得到肢体动作特征信息;
31.根据所述肢体动作特征信息,通过所述预设图像分类模型,识别出每张所述动作图像中包含的至少一个目标肢体区域。
32.可选的,在本发明的一些实施例中,该装置还包括:
33.获取单元,用于获取参考控制位置与所述目标虚拟对象的预设位置距离信息,以及获取所述用户所在的实际位置信息;
34.第三确定单元,用于根据所述预设位置距离信息、所述实际位置信息和所述目标肢体动作轨迹信息,确定所述用户针对所述目标虚拟对象的期望动作轨迹信息;
35.所述确定模块包括:
36.第四确定单元,用于根据所述预置控制策略,确定所述期望动作轨迹信息对应的控制指令。
37.本技术实施例通过采集用户针对虚拟对象的多个动作图像,并从采集到的动作图像中提取出用户的肢体动作轨迹信息,根据肢体动作轨迹信息和预置控制策略确定针对虚拟对象的控制指令,然后,根据控制指令对虚拟对象进行控制,实现通过肢体动作对虚拟对象的控制,提高了与虚拟对象交互的准确性;其中,在本技术实施例中,还可以根据用户数量确定出多条肢体动作轨迹信息,然后根据预置控制策略筛选出对虚拟对象有效控制的目标肢体动作轨迹信息,实现对虚拟对象的精准控制。
附图说明
38.为了更清楚地说明本技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本技术实施例提供的虚拟对象控制方法的场景示意图;
40.图2是本技术实施例提供的虚拟对象控制方法的流程示意图;
41.图3是本技术实施例提供的虚拟对象控制方法中轨迹替换更新过程的流程示意图;
42.图4是本技术实施例提供的虚拟对象控制装置的结构示意图;
43.图5是本技术实施例提供的电子设备的结构示意图。
具体实施方式
44.下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.本技术实施例提供一种虚拟对象控制方法、装置、电子设备及计算机可读存储介质。具体地,本技术实施例提供适用于电子设备的虚拟对象控制装置,其中,电子设备可以为终端或服务器等设备。其中,终端可以为摄像头、相机、电视、冰箱、空调或者计算机等等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器,服务器可以通过有线或无线通信方式进行直接或间接地连接。
46.本技术实施例可以单独由终端执行虚拟对象控制方法,或者是单独由服务器执行虚拟对象控制方法,或者是终端和服务器共同执行虚拟对象控制方法,请参阅图1,以终端和服务器共同执行虚拟对象控制方法为例,其中,在终端和服务器的基础上也可以增加其他设备来辅助完成虚拟对象控制方法,在此对其他设备的类型不做限定;终端与服务器之间通过网络连接,比如,通过有线或无线网络连接等,具体执行过程如下:
47.终端设备a采集用户针对虚拟对象的多张动作图像,随后,将多张动作图像发送给服务器b,由服务器b对动作图像进行分析;
48.服务器b接收到由终端设备a发送过来的多张动作图像,并分别根据每张动作图像中的肢体动作信息,提取出用户的肢体动作轨迹信息,并根据预置控制策略,确定肢体动作轨迹信息对应的控制指令;
49.随后,服务器b将控制指令发送给终端设备a,由控制指令对终端设备a中的虚拟对象进行控制。
50.其中,在本技术实施例中,动作图像中可以包含多个用户的肢体动作信息,因此,可以根据多张动作图像,确定出每个用户的肢体动作轨迹信息,然后,从多个肢体动作轨迹信息中,筛选出对虚拟对象控制有效的目标肢体动作轨迹信息,根据目标肢体动作轨迹信
息确定出对虚拟对象的控制指令,进而根据控制指令对虚拟对象进行控制。
51.例如,在本技术实施例中,目标肢体动作轨迹信息可以根据预置控制策略进行筛选,例如,在预置控制策略中预置开启控制虚拟对象的开启动作,根据开启动作,筛选出对虚拟对象控制有效的目标肢体动作轨迹信息。其中,在本技术实施例中,通过该方法获取用户的肢体动作轨迹,可以实现对用户肢体的跟踪和记录,例如,对终端设备a前的多个用户的肢体的跟踪记录。
52.其中,在本技术实施例中,用户针对终端设备a中的虚拟对象进行肢体动作,同时,由终端设备a上的图像采集模块对用户的肢体动作进行图像采集,得到用户的动作图像,其中,在本技术实施例中,可以设置采集动作图像的时间阈值,尽可能多的采集用户的动作图像,以便于形成稳定、连续、准确的肢体动作轨迹。
53.本技术实施例通过采集用户针对虚拟对象的多个动作图像,并从采集到的动作图像中提取出用户的肢体动作轨迹信息,根据肢体动作轨迹信息和预置控制策略确定对虚拟对象的控制指令,然后,根据控制指令对虚拟对象进行控制,实现通过肢体动作对虚拟对象的控制,提高了与虚拟对象交互的准确性;其中,在本技术实施例中,还可以根据用户数量确定出多条肢体动作轨迹信息,然后根据预置控制策略筛选出对虚拟对象有效控制的目标肢体动作轨迹信息,实现对虚拟对象的精准控制。
54.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
55.在本实施例中,将从虚拟对象控制装置的角度进行描述,该虚拟对象控制装置具体可以集成在终端或服务器等计算机设备中。
56.请参阅图2,图2为本技术实施例提供的虚拟对象控制方法的流程示意图。该虚拟对象控制方法的具体流程可以如下:
57.101、采集至少一张动作图像,所述动作图像中包括至少一个用户针对目标虚拟对象的肢体动作信息。
58.其中,动作图像是采集用户针对虚拟对象的肢体动作而形成的图像。肢体动作信息包括肢体的动作状态、位置等信息。
59.其中,通过对用户的多张动作图像的获取,可以根据每张动作图像中的肢体动作信息获取到用户的肢体动作轨迹信息,便于后续根据预置控制策略,确定用户的操作意图。
60.其中,由于可见光在采集用户肢体动作时受光照环境的影响较大,例如,在家庭环境中,光照场景复杂,并且,在清晨、傍晚或者关灯等情形下,容易出现因光照不足而形成肢体动作采集模糊,动作识别率低的问题,影响终端设备(如家电)与视觉相关的人工智能应用的交互体验,因此,在本技术实施例中,可以采用近红外光对用户肢体动作进行采集,获取到用户的红外图像,根据红外图像来确定用户的肢体动作,其中,通过近红外光对用户肢体动作的采集,可以不受周围光照环境的影响,提高用户肢体动作采集的准确性。
61.例如,在本技术实施例中,用户的动作图像可以包括用户肢体的红外图像和深度图像,其中,动作图像可以采用深度(tof)摄像头进行采集,例如,使用tof摄像头配备的激光发射器发射波长为940nm的近红外光,并由tof摄像头上的接收器采集到物体反射回来的近红外光经过处理形成红外图像以及深度图像,其中,从深度图像中可以获取到肢体动作的第三维度的信息,在红外图像与深度图像结合后,可以获取到用户在空间中的推、拉等动
作信息。
62.其中,针对虚拟对象预设有控制区域,用户在控制区域中进行肢体动作,可以相应的对虚拟对象进行控制,其中,当控制区域中包含有多个用户的肢体动作,在采集用户的肢体动作时,形成的动作图像中则包含有多个用户的肢体动作信息。
63.102、根据每张所述动作图像中的所述肢体动作信息,提取出每个所述用户的肢体动作轨迹信息。
64.其中,肢体动作轨迹信息是用户在动作图像采集时间内,肢体的动作轨迹信息,例如一段手的推的轨迹、拉的轨迹或者平移的一段轨迹等。
65.其中,根据每张动作图像中的肢体动作信息,可以提取出用户的肢体动作轨迹信息,由于每张动作图像中可以包含多个用户的肢体动作信息,因此,可以从多张动作图像中提取出多个用户的肢体动作轨迹信息。
66.其中,用户的肢体动作轨迹信息可以根据每张动作图像中肢体的位置信息进行确定,即,可选的,在一些实施例中,步骤“根据每张所述动作图像中的所述肢体动作信息,提取出每个所述用户的肢体动作轨迹信息”,包括:
67.根据所述肢体动作信息,确定每个所述用户在每张所述动作图像中的目标肢体位置信息;
68.根据所述目标肢体位置信息,确定每个所述用户的肢体动作轨迹信息。
69.其中,通过每张动作图像中用户的肢体位置信息的获取,可以根据每个肢体位置信息,确定用户在多个动作图像中对应的肢体动作轨迹信息,因此,每个用户的肢体动作轨迹信息,可根据每个用户的肢体在每张动作图像中的位置信息进行确定。
70.其中,在本技术实施例中,可以对每张动作图像中的肢体区域进行识别,确定每个肢体的实际区域,进而根据实际区域的位置信息来确定肢体的位置信息,即,可选的,在一些实施例中,步骤“根据所述肢体动作信息,确定每个所述用户在每张所述动作图像中的目标肢体位置信息”,包括:
71.根据所述肢体动作信息,识别出每张所述动作图像中的至少一个目标肢体区域;
72.从所述目标肢体区域中,选取每个所述用户在每张所述动作图像中的目标肢体实际区域;
73.确定每个所述目标肢体实际区域的区域位置信息,得到每个所述用户在每张所述动作图像中的目标肢体位置信息。
74.其中,在本技术实施例中,可以预先设置对虚拟对象进行操控的目标肢体,例如,选择手部作为控制虚拟对象的目标肢体,然后,通过对每张动作图像中肢体动作信息的识别,确定每张动作图像中手部肢体的区域信息。
75.其中,在确定了每张动作图像中的多个手部区域后,可以根据手部区域,确定每个手部区域所对应的用户,即确定每个用户在每张动作图像中的手部肢体实际区域,然后,通过确定每个手部肢体实际区域的区域位置信息,可以确定每个用户在每张动作图像中的手部肢体位置信息。
76.其中,可以根据图像识别算法或者神经网络分类模型对图像中的肢体区域进行识别,在本技术实施例中,以采用神经网络分类模型对图像中的肢体区域进行识别为例进行说明,即,可选的,在一些实施例中,步骤“根据所述肢体动作信息,识别出每张所述动作图
像中的至少一个目标肢体区域”,包括:
77.通过预设图像分类模型对所述肢体动作信息进行特征提取,得到肢体动作特征信息;
78.根据所述肢体动作特征信息,通过所述预设图像分类模型,识别出每张所述动作图像中包含的至少一个目标肢体区域。
79.其中,通过图像分类模型对图像中肢体区域的识别,可以提高肢体区域识别的准确性。
80.其中,在本技术实施例中,预设图像分类模型是根据样本图像数据训练后得到的,其中,样本图像数据包括标注有肢体区域的正样本和未标注有肢体区域的负样本,例如,在本技术实施例中,神经网络模型以faster rcnn为主干网络,通过样本图像数据的训练、收敛以及样本图像数据中的校验集对模型进行校正,得到预设图像分类模型。其中,在本技术实施例中,还对faster rcnn网络模型的前处理环节进行了修改,由三通道更改为单通道,最后通过非极大抑制(nms,non-maximum suppression)算法输出当前红外图像中所包含的全部有效人物肢体区域信息,得到每个动作图像中的肢体区域信息。
81.其中,在本技术实施例中,可以选择手部肢体作为控制虚拟对象的目标肢体,因此,在对模型进行训练的过程中,可以对样本图像中的手部肢体进行标注,使训练后得到的预设图像分类模型能够对图像中的手部肢体区域进行识别和获取,得到目标肢体区域(即手部肢体区域)。
82.其中,在本技术实施例中,每个用户在每张动作图像中的目标肢体实际区域可以根据前一张动作图像的肢体区域进行确定,即,可选的,在一些实施例中,步骤“从所述目标肢体区域中,选取每个所述用户在每张所述动作图像中的目标肢体实际区域”,包括:
83.确定每张所述动作图像的采集时间;
84.确定每个所述用户在第一动作图像中的第一目标肢体区域;
85.根据所述第一目标肢体区域,确定所述用户在第二动作图像中的第二目标肢体区域,所述第二动作图像在所述第一动作图像的采集时间之后。
86.其中,相邻两张动作图像中用户的肢体信息较为相似,因此,可以根据前一动作图像的肢体区域信息确定当前动作图像中的肢体区域信息,而每个用户当前动作图像中肢体区域在根据前一动作图像的肢体区域进行确定后,可以实现对每个用户在不同动作图像中肢体区域的确定。
87.其中,在本技术实施例中,针对同一用户的目标肢体区域,可以标定为同一编号(id),以便于根据编号,获取到该用户在各张动作图像中的区域位置信息,进而实现对用户肢体动作轨迹信息的确定。
88.其中,在本技术实施例中,可以根据相邻两张动作图像中各个手部肢体区域的相似度值,来确定同一手部肢体分别在两个动作图像中的区域位置信息,即,可选的,在一些实施例中,步骤“根据所述第一目标肢体区域,确定所述用户在第二动作图像中的第二目标肢体区域”,包括:
89.确定第二动作图像中的至少一个第二目标肢体区域;
90.计算每个所述第二目标肢体区域与每个所述第一目标肢体区域的相似度值;
91.根据所述相似度值,分别选取与每个所述第一目标肢体区域对应的第二目标肢体
区域,得到每个所述用户在所述第二动作图像中的第二目标肢体区域。
92.其中,通过第二动作图像中每个手部肢体区域与第一动作图像中每个手部肢体区域的相似度值的计算,可以得到第一动作图像中每个手部肢体区域与第二动作图像中每个手部肢体区域的相似度值,随后,在本技术实施例中,可以根据相似度值,选择出与每个第一目标肢体区域(第一动作图像中的每个手部肢体区域)相似度值最高的第二目标肢体区域(第二动作图像中的第二目标肢体区域),实现对同一手部肢体在相邻动作图像中的肢体区域的确定。
93.其中,在本技术实施例中,第一目标肢体区域与第二目标肢体区域之间的相似度可以根据两个区域之间的交并比来确定,通过计算两个区域之间的交并比值,可以确定两个区域之间的相似度情况。
94.其中,在本技术实施例中,第一目标肢体区域与第二目标肢体区域之间的相似度还可以根据两个区域之间的特征点的数量进行确定,例如,计算第一动作图像中各个第一目标肢体区域中的特征点数量,然后,根据光流法,计算出第二动作图像中每个第二目标肢体区域与每个第一目标肢体区域对应的特征点的数量,根据特征点数量的比较,可以确定出每个第一目标肢体区域与每个第二目标肢体区域之间的相似度情况。
95.其中,光流法就是利用灰度算出与上一帧特征点匹配的当前帧特征点的像素坐标,因此,利用光流法可以确定出与第一动作图像中特征点匹配的第二动作图像中特征点的像素坐标和数量。
96.其中,在本技术实施例中,可以采用追踪器对每张动作图像中的目标肢体区域进行记录,而各个动作图像中目标肢体区域的记录,可以确定出用户的肢体动作轨迹,因此,需要将每次拍摄的动作图像的目标肢体区域更新到追踪器中。
97.其中,在本技术实施例中,在对追踪器中目标肢体区域进行更新时,可以根据目标肢体区域之间的相似度进行替换更新,例如,追踪器中先保存有第一张动作图像中各个目标肢体区域的区域位置信息,而在第二张动作图像生成后,可以提取出第二张动作图像中的各个目标肢体区域的区域位置信息,然后根据第一张动作图像与第二张动作图像中目标肢体区域的相似度,确定出追踪器中针对同一肢体待更新的区域位置信息,即,将第二张动作图像中的目标肢体区域的区域位置信息替换更新追踪器中再先保存的第一张动作图像的区域位置信息,实现对同一肢体的区域位置信息的更新,实现对肢体的跟踪。
98.例如,在本技术实施例中,请参阅图3,图3是本技术实施例中轨迹替换更新过程的流程示意图,具体包括:
99.111、获取候选区域candidate_bboxi和轨迹区域tracklet_bboxj。
100.其中,候选区域可以是当前动作图像中的目标肢体区域,轨迹区域可以是追踪器中的轨迹区域,即前一动作图像中目标肢体区域。
101.112、计算每个候选区域candidate_bboxi与追踪器中已经存在的轨迹trackletj中的各个轨迹区域tracklet_bboxj的交并比。
102.113、判断交并比是否大于阈值σ1,若是,则执行步骤114,若否,则执行步骤116。
103.114、认为候选区域candidate_bboxi与轨迹trackletj匹配成功,并将轨迹trackletj内的轨迹区域tracklet_bboxj替换为匹配成功的候选区域candidate_bboxi,其中,匹配过程使用贪婪算法,按照交并比降序匹配候选区域candidate_bboxi和轨迹区域
tracklet_bboxj(即确定与前一动作图像中每个目标肢体区域(即轨迹区域)交并比值最大的当前动作图像中的目标肢体区域,并按照交并比降序的方式依次对候选区域和轨迹区域进行匹配),随后执行步骤115。
104.其中,交并比满足阈值要求,则说明在追踪器中找到了该肢体对应的在先存储的区域位置信息,则对该区域位置信息更新即可。
105.其中,在本技术实施例中,在候选区域candidate_bboxi与轨迹区域tracklet_bboxj匹配成功后,还可以根据光流法计算候选区域candidate_bboxi中与轨迹区域tracklet_bboxj中特征点匹配的特征点数量,将候选区域对应的特征点数量和位置信息更新到追踪器中。即保持追踪器中更新后的轨迹区域与该轨迹区域实际对应的特征点数量和位置信息一致,其中,追踪器中更新后的轨迹区域即为匹配成功的候选区域。
106.115、在当前候选区域candidate_bboxi与轨迹区域tracklet_bboxj匹配成功后,如果相匹配的特征点数量小于阈值σ2,时,则认为当前候选区域中特征点数量的计算有误,为避免后续候选区域特征点计算有误(因为采用光流法计算特征点是依赖于前一候选区域的,所以当前候选区域特征点计算有误,必然影响后续候选区域特征点的计算),则执行步骤120,将更新后的轨迹区域添加到特征点待更新列表中。
107.116、认为候选区域candidate_bboxi与轨迹trackletj匹配成功不成功,针对上述匹配不成功的轨迹区域tracklet_bboxj。
108.其中,为了提高用户追踪的准确性,针对交并比不满足阈值要求的候选区域candidate_bboxi,还可以根据特征点数量来判断当前动作图像中是否包含有追踪器中已存储用户的轨迹信息,如果特征点数量满足要求,则认为该用户在追踪器中存在轨迹信息,即该候选区域candidate_bboxi是在先动作图像中某一用户的肢体信息。
109.计算匹配剩余的候选区域candidate_bboxi与轨迹区域tracklet_bboxj之间特征点匹配的数量,若候选区域candidate_bboxi中特征点落在轨迹区域tracklet_bboxj中特征点的个数大于阈值σ2,执行步骤117,反之,则执行步骤118。
110.117、认为候选区域candidate_bboxi与轨迹trackletj匹配成功,将轨迹trackletj内的轨迹区域tracklet_bboxj替换为匹配成功的候选区域candidate_bboxi。
111.118、不根据候选区域candidate_bboxi对轨迹区域tracklet_bboxj进行更新,得到未能成功匹配的轨迹区域列表,针对上述未能成功匹配的候选区域candidate_bboxi,则比较其置信度是否大于阈值γ,若是,则执行步骤119。
112.其中,在本技术实施例中,替换更新的过程可以包括:针对上述未能成功匹配的轨迹区域列表中的轨迹区域tracklet_bboxj,若未能成功匹配的时间大于时间阈值t1,则将该轨迹区域tracklet_bboxj从追踪器中删除,即该用户已离开控制虚拟对象的控制区域,不在对该用户进行肢体跟踪和记录。
113.119、在追踪器中新增一条轨迹,用于对该候选区域进行追踪记录,随后执行步骤120。
114.120、将该轨迹区域加入到待更新列表中,随后执行步骤121。
115.其中,在本技术实施例中,候选区域candidate_bboxi的置信度可以根据模型训练后得到,针对未能成功匹配的候选区域candidate_bboxi,则说明该用户是新出现在控制虚拟对象的控制区域的用户,则为实现对该用户的肢体跟踪,可以新增一条轨迹对该用户的
肢体进行跟踪记录。
116.121、针对待更新列表中的轨迹区域,针对该轨迹区域重新选取特征点数量和位置信息,即不在利用光流法,根据前一轨迹区域与当前轨迹区域来确定当前轨迹区域的特征点数量,而是重新选择确定当前轨迹区域的特征点数量和位置信息,将该重新确定的特征点数量和位置信息更新到当前轨迹区域的特征点属性信息中,即后续候选区域中特征点的数量和位置信息则根据上述更新后的特征点属性信息进行确定,可提高后续候选区域特征点获取的准确性。
117.例如,在本技术实施例中,重新选择确定当前轨迹区域中特征点的数量和位置信息,可以通过提取当前轨迹区域tracklet_bboxj中shi-tomasi角点,实现对当前轨迹区域tracklet_bboxj中特征点数量和位置信息的获取,实现对轨迹区域tracklet_bboxj中特征点的属性进行更新。
118.103、根据预置控制策略从所述至少一个肢体动作轨迹信息中选取出目标肢体动作轨迹信息,并确定所述目标肢体动作轨迹信息对应的控制指令。
119.其中,在本技术实施例中,阈值控制策略包括预设肢体动作轨迹信息与预设控制指令之间的映射关系,根据该映射关系和目标肢体动作轨迹信息,可以确定出对虚拟对象有效控制的控制指令。
120.其中,在本技术实施例中,控制指令还包括开启对虚拟对象控制的开启控制指令,而根据上述映射关系,可以确定出开启控制指令的肢体动作轨迹信息,根据该肢体动作轨迹信息,可以确定出对虚拟对象有效控制的目标用户,然后,确定目标用户的肢体动作轨迹信息,即为对虚拟对象有效控制的目标肢体动作轨迹信息,进而根据有效控制指令对虚拟对象进行控制。
121.其中,在本技术实施例中,开启对虚拟对象控制的肢体动作轨迹信息可以为手掌中心在x,y平面内相对位置移动小于阈值d1并且手掌举起时间超过阈值t1,当检测到用户的手掌处于上述动作轨迹时,则认为用户期望开启对虚拟对象的控制。
122.其中,在本技术实施例中,用户所处的位置不同,肢体动作轨迹所对应的控制指令可以不同,例如,当用户距离虚拟对象的距离较远时,则捕捉到的肢体动作轨迹相对较短,则对应的控制指令可能与用户期望的控制指令不同,因此,在本技术实施例中,还根据用户所处的位置以及所处位置距离虚拟对象的距离来确定用户期望的操作意图,即,可选的,在一些实施例中,该方法还包括:
123.获取参考控制位置与所述目标虚拟对象的预设位置距离信息,以及获取所述用户所在的实际位置信息;
124.根据所述预设位置距离信息、所述实际位置信息和所述目标肢体动作轨迹信息,确定所述用户针对所述目标虚拟对象的期望动作轨迹信息。
125.则步骤“确定所述目标肢体动作轨迹信息对应的控制指令”,包括:
126.根据所述预置控制策略,确定所述期望动作轨迹信息对应的控制指令。
127.其中,在本技术实施例中,为了准确的获得用户的操作意图,还需要根据用户实际所处位置与虚拟对象之间的距离来进行计算确定。其中,预设位置距离信息是参考控制位置距离目标虚拟对象的位置信息,该参考控制位置可以准确定用户的肢体动作轨迹信息,即不需要对肢体动作轨迹信息进行缩放,而由于近大远小的成像原理会导致在移动距离相
同的情况下,距离较近的用户与距离较远的用户手掌移动像素存在差异,因此,需要根据预设位置距离信息和实际位置信息对用户的期望动作轨迹信息进行确定。
128.其中,在本技术实施例中,为了平衡上述差异,使用如下公式:
[0129][0130]
其中,u、v为像素坐标系坐标,s为放大系数,q
x
、qy、qz为手掌原始坐标,p
x
、py、pz为手掌的实时坐标,例如,当处于跟踪状态的手势的深度值pz,在时间阈值t2内减小超过阈值d2,则认为用户使用推的手势完成确认。其中,通过对像素坐标的转化,实现对期望动作轨迹信息的获取,提高对虚拟对象控制的准确性。
[0131]
104、根据所述控制指令对所述目标虚拟对象进行控制。
[0132]
其中,通过控制指令对虚拟对象的控制,实现根据用户的肢体动作轨迹信息对虚拟对象的控制,即实现通过用户的肢体对虚拟对象进行控制,提高了对虚拟对象控制的准确性。
[0133]
其中,在本技术实施例中,目标虚拟对象包括空鼠,例如,游戏中的空鼠,电视中的遥控焦点等。
[0134]
本技术实施例通过采集用户针对虚拟对象的多个动作图像,并从采集到的动作图像中提取出用户的肢体动作轨迹信息,根据肢体动作轨迹信息和预置控制策略确定针对虚拟对象的控制指令,然后,根据控制指令对虚拟对象进行控制,实现通过肢体动作对虚拟对象的控制,提高了与虚拟对象交互的准确性;其中,在本技术实施例中,还可以根据用户数量确定出多条肢体动作轨迹信息,然后根据预置控制策略筛选出对虚拟对象有效控制的目标肢体动作轨迹信息,实现对虚拟对象的精准控制。
[0135]
为便于更好的实施本技术的虚拟对象控制方法,本技术还提供一种基于上述虚拟对象控制方法的虚拟对象控制装置。其中名词的含义与上述虚拟对象控制方法中相同,具体实现细节可以参考方法实施例中的说明。
[0136]
请参阅图4,图4为本技术提供的虚拟对象控制装置的结构示意图,其中该虚拟对象控制装置可以包括采集模块201、提取模块202、确定模块203和控制模块204,具体可以如下:
[0137]
采集模块201,用于采集至少一张动作图像,所述动作图像中包括至少一个用户针对目标虚拟对象的肢体动作信息。
[0138]
提取模块202,用于根据每张所述动作图像中的所述肢体动作信息,提取出每个所述用户的肢体动作轨迹信息。
[0139]
可选的,在本发明的一些实施例中,提取模块202包括:
[0140]
第一确定单元,用于根据所述肢体动作信息,确定每个所述用户在每张所述动作图像中的目标肢体位置信息;
[0141]
第二确定单元,用于根据所述目标肢体位置信息,确定每个所述用户的肢体动作轨迹信息。
[0142]
可选的,在本发明的一些实施例中,第一确定单元包括:
[0143]
识别子单元,用于根据所述肢体动作信息,识别出每张所述动作图像中的至少一
个目标肢体区域;
[0144]
选取子单元,用于从所述目标肢体区域中,选取每个所述用户在每张所述动作图像中的目标肢体实际区域;
[0145]
确定子单元,用于确定每个所述目标肢体实际区域的区域位置信息,得到每个所述用户在每张所述动作图像中的目标肢体位置信息。
[0146]
可选的,在本发明的一些实施例中,动作图像包括第一动作图像和第二动作图像,第二动作图像在第一动作图像之后采集到,选取子单元具体用于:
[0147]
确定每个所述用户在第一动作图像中的第一目标肢体区域;
[0148]
根据所述第一目标肢体区域,确定所述用户在第二动作图像中的第二目标肢体区域,所述第二动作图像在所述第一动作图像的采集时间之后。
[0149]
可选的,在本发明的一些实施例中,选取子单元还具体用于:
[0150]
确定第二动作图像中的至少一个第二目标肢体区域;
[0151]
计算每个所述第二目标肢体区域与每个所述第一目标肢体区域的相似度值;
[0152]
根据所述相似度值,分别选取与每个所述第一目标肢体区域对应的第二目标肢体区域,得到每个所述用户在所述第二动作图像中的第二目标肢体区域。
[0153]
可选的,在本发明的一些实施例中,识别子单元,具体用于:
[0154]
通过预设图像分类模型对所述肢体动作信息进行特征提取,得到肢体动作特征信息;
[0155]
根据所述肢体动作特征信息,通过所述预设图像分类模型,识别出每张所述动作图像中包含的至少一个目标肢体区域。
[0156]
确定模块203,用于根据预置控制策略从所述至少一个肢体动作轨迹信息中选取出目标肢体动作轨迹信息,并确定所述目标肢体动作轨迹信息对应的控制指令。
[0157]
可选的,在本发明的一些实施例中,确定模块203包括:
[0158]
可选的,在本发明的一些实施例中,该装置还包括:
[0159]
获取单元,用于获取参考控制位置与所述目标虚拟对象的预设位置距离信息,以及获取所述用户所在的实际位置信息;
[0160]
第三确定单元,用于根据所述预设位置距离信息、所述实际位置信息和所述目标肢体动作轨迹信息,确定所述用户针对所述目标虚拟对象的期望动作轨迹信息;
[0161]
所述确定模块203,包括:
[0162]
第四确定单元,用于根据所述预置控制策略,确定所述期望动作轨迹信息对应的控制指令。
[0163]
控制模块204,用于根据所述控制指令对所述目标虚拟对象进行控制。
[0164]
本技术实施例由采集模块201采集用户针对虚拟对象的肢体动作的动作图像,其次,由提取模块202根据动作图像中的肢体动作信息提取出用户的肢体动作轨迹信息,接着,由确定模块203根据阈值控制策略从多个肢体动作轨迹信息中选取目标肢体动作轨迹信息,并根据阈值控制策略确定目标肢体动作轨迹信息对应的控制指令,然后,控制模块204根据控制指令对目标虚拟对象进行控制。
[0165]
其中,本技术实施例通过采集用户针对虚拟对象的多个动作图像,并从采集到的动作图像中提取出用户的肢体动作轨迹信息,根据肢体动作轨迹信息和预置控制策略确定
针对虚拟对象的控制指令,然后,根据控制指令对虚拟对象进行控制,实现通过肢体动作对虚拟对象的控制,提高了与虚拟对象交互的准确性;其中,在本技术实施例中,还可以根据用户数量确定出多条肢体动作轨迹信息,然后根据预置控制策略筛选出对虚拟对象有效控制的目标肢体动作轨迹信息,实现对虚拟对象的精准控制。
[0166]
此外,本技术还提供一种电子设备,如图5所示,其示出了本技术所涉及的电子设备的结构示意图,具体来讲:
[0167]
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0168]
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
[0169]
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
[0170]
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0171]
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0172]
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
[0173]
采集至少一张动作图像,动作图像中包括至少一个用户针对目标虚拟对象的肢体动作信息;根据每张动作图像中的肢体动作信息,提取出每个用户的肢体动作轨迹信息;根据预置控制策略从至少一个肢体动作轨迹信息中选取出目标肢体动作轨迹信息,并确定目标肢体动作轨迹信息对应的控制指令;根据控制指令对目标虚拟对象进行控制。
[0174]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0175]
本技术实施例通过采集用户针对虚拟对象的多个动作图像,并从采集到的动作图像中提取出用户的肢体动作轨迹信息,根据肢体动作轨迹信息和预置控制策略确定针对虚拟对象的控制指令,然后,根据控制指令对虚拟对象进行控制,实现通过肢体动作对虚拟对象的控制,提高了与虚拟对象交互的准确性;其中,在本技术实施例中,还可以根据用户数量确定出多条肢体动作轨迹信息,然后根据预置控制策略筛选出对虚拟对象有效控制的目标肢体动作轨迹信息,实现对虚拟对象的精准控制。
[0176]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质(简称为存储介质)中,并由处理器进行加载和执行。
[0177]
为此,本技术提供一种存储介质,其中存储有多条指令(其中,多条指令集合构成计算机程序),该指令能够被处理器进行加载,以执行本技术所提供的任一种虚拟对象控制方法中的步骤。
[0178]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0179]
其中,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
[0180]
由于该存储介质中所存储的指令,可以执行本技术所提供的任一种虚拟对象控制中的步骤,因此,可以实现本技术所提供的任一种虚拟对象控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0181]
以上对本技术所提供的一种虚拟对象控制方法、装置、电子设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献