用户动作识别方法、装置、电子设备及存储介质与流程

文档序号:26674457发布日期:2021-09-17 23:46阅读:117来源:国知局
用户动作识别方法、装置、电子设备及存储介质与流程

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.图1为本公开实施例提供的一种用户动作识别方法的应用场景图;
35.图2为本公开实施例提供的一种用户动作识别方法的流程图;
36.图3为本公开实施例提供的另一种用户动作识别方法的流程图;
37.图4为本公开实施例提供的一种标准动作记录方法的流程图;
38.图5为本公开实施例中的一种用户动作识别装置的结构示意图;
39.图6为本公开实施例中的一种标准动作记录装置的结构示意图;
40.图7为本公开实施例中的一种电子设备的结构示意图。
具体实施方式
41.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
42.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
43.图1为本公开实施例提供的一种用户动作识别方法的应用场景图。本技术提供的用户动作识别方法,可以应用于如图1所示的应用环境中。该用户动作识别方法应用于用户动作识别系统中。该用户动作识别系统包括终端1与用户所持设备2。
44.可选地,终端1与用户所持设备2可以集成为一体,也可分别设置。若终端1与用户所持设备2分别设置,终端1与用户所持设备2通过网络进行通信。
45.用户所持设备2中安装有可以用于采集其自身运动数据的传感器。用户所持设备2可以但不限于是智能手机、空中鼠标、游戏手柄和可穿戴设备等。
46.终端1用于在人机交互时对用户动作识别。具体地,终端1用于执行获取用户动作突变时刻用户所持设备的运动数据;基于用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列;确定用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度;基于第一相似度,确定用户动作识别结果的步骤。终端1具体可以但不限于是智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备、台式机、笔记本电脑、一体机以及智能家居设备等。
47.图2为本公开实施例提供的一种用户动作识别方法的流程图,参见图2,该方法包括:
48.s110、获取用户动作突变时刻用户所持设备的运动数据。
49.用户动作突变,是指用户在完成某个动作的过程中,用户肢体移动方向发生大幅度改变。示例性地,用户用右手在空中画波浪线,用户右手到达所绘制的波浪线的波峰或波谷的时刻,可视作为用户动作突变时刻。
50.在获取用户所持设备的运动数据时,可以借助安装于用户所持设备中的惯性传感器获取。此种情况下,用户所持设备的运动数据是指惯性传感器所采集的原始数据。
51.本步骤的实现方法有多种,示例性地,本步骤的实现方法可以为:用户所持设备通过安装于其内部的惯性传感器周期性地采集并记录用户所持设备的运动数据;然后用户所持设备从所采集的所有运动数据中挑选出用户动作突变时刻用户所持设备的运动数据;最后将所挑选出的用户动作突变时刻用户所持设备的运动数据上报至终端,使得终端获取用户动作突变时刻用户所持设备的运动数据。
52.进一步地,用户所持设备从所采集的所有运动数据中挑选出用户动作突变时刻用
户所持设备的运动数据,具体可以为,基于所采集的所有运动数据,确定在各采集时刻用户肢体的移动方向;若存在第q采集时刻用户肢体的移动方向与第q

1采集时刻用户肢体的移动方向的夹角大于预设夹角,确定用户动作突变时刻为第q采集时刻;将第q采集时刻用户所持设备的运动数据作为用户动作突变时刻的用户所持设备的运动数据。其中,q为大于或等于2的正整数。
53.或者,本步骤的实现方法还可以包括:用户所持设备首先判断当前时刻是否为用户动作突变时刻;若是,记录当前时刻用户所持设备的运动数据,并将所记录的运动数据上报至终端,使得终端获取用户动作突变时刻用户所持设备的运动数据。
54.本步骤的实质是捕捉用户动作突变时候用户所持设备的运动数据,后续将用户动作突变时刻用户所持设备的运动数据作为基础,进行用户动作识别,而不是周期性地持续采集用户所持设备的运动数据,并将所采集的所有用户所持设备的运动数据全部上报至终端。
55.s120、基于用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列。
56.用户姿态数据是指能够反映用户肢体动作的数据。可选地,可以直接将用户所持设备的运动数据作为用户姿态数据;还可以采用姿态角数据、旋转矩阵数据或旋转向量数据等作为用户姿态数据。姿态角数据、旋转矩阵数据或旋转向量数据可视作为对传感器采集的原始数据(即用户所持设备的运动数据)进行压缩处理后的结果。采用姿态角数据、旋转矩阵数据或旋转向量数据作为用户姿态数据,可以降低后续在计算用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度的复杂度,提高计算效率。
57.相对于旋转矩阵数据或旋转向量数据,选择姿态角数据作为用户姿态数据,其能够更直接地反映用户肢体动作变化情况。
58.进一步地,若将姿态角数据作为用户姿态数据,本步骤的实现方法可以包括:基于用户动作突变时刻用户所持设备的运动数据,确定在用户动作突变时刻用户所持设备的姿态角数据;姿态角包括方位角、俯仰角以及倾侧角中的至少一个;基于连续确定的多个姿态角数据,确定用户姿态角变化量序列。
59.其中,方位角、俯仰角以及倾侧角均为基于世界坐标系定义的角。具体地,方位角(azimuth)即用户所持设备当前指向与地磁北极之间的水平偏角。俯仰角(pitch),即用户所持设备平面与地平面之间的上下俯仰夹角。倾侧角(roll)即设备平面与地平面之间的左右倾侧夹角。
[0060]“基于用户动作突变时刻用户所持设备的运动数据,确定在用户动作突变时刻用户所持设备的姿态角数据”具体可以为,基于卡尔曼滤波器对惯性传感器中内置的加速度计、陀螺仪、磁力计三者采集的原始数据进行数据融合处理,得到在用户动作突变时刻用户所持设备的姿态角数据。
[0061]“基于连续确定的多个姿态角数据,确定用户姿态角变化量序列”具体可以为,在连续确定的多个姿态角数据中,将任意一次用户动作突变时刻的姿态角数据与前一次用户动作突变时刻的姿态角数据做差,得到一系列的姿态角数据变化量;根据用户动作突变时刻的时间先后顺序,将一系列的姿态角数据变化量进行排列,得到用户姿态角变化量序列。
[0062]
示例性地,若用户在完成某一个动作的过程中,包括多个用户动作突变时刻,分别
为t1时刻、t2时刻、t3时刻、t4时刻、
……
、tn时刻。t1时刻的方位角为a1,俯仰角为p1,倾侧角为r1。t2时刻的方位角为a2,俯仰角为p2,倾侧角为r2。t3时刻的方位角为a3,俯仰角为p3,倾侧角为r3。t4时刻的方位角为a4,俯仰角为p4,倾侧角为r4。
……
。tn时刻的方位角为a
n
,俯仰角为p
n
,倾侧角为r
n
。则方位角变化量序列为:a2‑
a1、a3‑
a2、a4‑
a3、
……
、a
n

a
n
‑1。俯仰角变化量序列为:p2‑
p1、p3‑
p2、p4‑
p3、
……
、p
n

p
n
‑1。倾侧角变化量序列为:r2‑
r1、r3‑
r2、r4‑
r3、
……
、r
n

r
n
‑1。
[0063]
s130、确定用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度。
[0064]
其中,预设的标准动作姿态数据变化量序列是指,在执行本公开提供的用户动作识别方法之前,预先存储在终端中的标准动作姿态数据变化量序列。
[0065]
标准动作姿态数据变化量序列通过学习记录得到。可选地,学习记录标准动作姿态数据变化量序列的方法的步骤与上述s110

s130步骤类似。具体地,终端可以向用户发出完成某个动作的指令,如“请完成右手画圆的动作”的指令,用户在接收到该指令后,使用右手画圆。在用户使用右手画圆的过程中,获取用户动作突变时刻用户所持设备的运动数据;基于用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列;将用户姿态数据变化量序列作为该标准动作姿态数据变化量序列进行记录。如此,完成标准动作姿态数据变化量序列的学习记录。
[0066]
学习记录标准动作姿态数据变化量序列的执行主体与本公开提供的用户动作识别方法的执行主体可以相同,也可以不同。若学习记录标准动作姿态数据变化量序列的执行主体与本公开提供的用户动作识别方法的执行主体不同,可以由学习记录标准动作姿态数据变化量序列的执行主体将所记录的标准动作姿态数据变化量序列发送至本公开提供的用户动作识别方法的执行主体。
[0067]
可以用于确定用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度的算法有多种,示例性地,可以通过豪斯多夫距离(hausdorff distance)算法、动态时间归整(dynamic time warping,dtw)算法、弗雷歇离散距离(fr
é
chet distance)算法以及最长公共子序列(longest common subsequence)算法中的一个或多个确定用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度。
[0068]
相比于其他算法,基于动态时间归整算法所确定的用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度更准确。这是因为,在实际中,不同用户完成同一动作需要的时间不同。动态时间归整算法可以自动扭曲时间序列(即在时间轴上进行局部的缩放),使得两个序列的形态尽可能的一致,得到最大可能的相似度。
[0069]
进一步地,若姿态角变化量序列包括方位角变化量序列、俯仰角变化量序列以及倾侧角变化量序列;本步骤的实现方法包括:确定用户所持设备的方位角变化量序列和预设的标准动作方位角变化量序列的第二相似度;确定用户所持设备的俯仰角变化量序列和预设的标准动作俯仰角变化量序列的第三相似度;确定用户所持设备的倾侧角变化量序列和预设的标准动作倾侧角变化量序列的第四相似度;基于第二相似度、第三相似度以及第四相似度,确定用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度。
[0070]
进一步地,“基于第二相似度、第三相似度以及第四相似度,确定用户姿态数据变
化量序列和预设的标准动作姿态数据变化量序列的第一相似度”具体实现方法有多种,本技术对此不作限制。可选地,取第二相似度、第三相似度以及第四相似度的几何平均数作为第一相似度;或者,取第二相似度、第三相似度以及第四相似度的算术平均数作为第一相似度;或者,首先求取第二相似度、第三相似度以及第四相似度的平方和;然后对该平方和进行开方,将开方结果作为第一相似度。
[0071]
s140、基于第一相似度,确定用户动作识别结果。
[0072]
本步骤的实现方法有多种,本技术对此不做限制。可选地,可以预先设置相似度阈值;若第一相似度大于该相似度阈值,则确定该用户动作为s130中所提及的标准动作;否则,确定该用户动作不是s130中所提及的标准动作。由此达到识别用户动作的目的。
[0073]
进一步地,可以设置数据库中包括预设的多个不同的标准动作的姿态数据变化量序列。在执行本技术提供的技术方案时,将s120得到用户姿态数据变化量序列与各标准动作姿态数据变化量序列进行逐一比对,以确定用户动作究竟对应数据库中哪一个标准动作,进而达到最终识别用户动作的目的。
[0074]
本公开实施例提供的技术方案,在用户动作识别的整个过程中,不需要依赖毫米波芯片和相机进行用户动作识别,并且其整个识别计算过程简单,对计算设备硬件要求较低,可以满足大规模落地及普及的需求。
[0075]
本领域技术人员可以理解,如果不进行用户动作突变时刻识别,周期性地持续采集用户所持设备的运动数据,并将采集的所有运动数据作为基础,进行用户动作识别。这种方式会导致需上报的数据量众多,需要较高的传感器数据上报速率(大于100hz)。对用户所持设备及终端的性能要求较高。且这种方式所形成的数据序列过长,会造成第一相似度计算花费时间长,数据序列存储需要的空间大等问题,加重计算及存储负担。
[0076]
而本公开实施例提供的技术方案通过设置获取用户动作突变时刻用户所持设备的运动数据;基于用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列,实质是捕捉用户动作突变时候用户所持设备的运动数据,后续仅将用户动作突变时刻用户所持设备的运动数据作为基础,进行用户动作识别,其可以充分减少需要上报的数据量,降低传感器数据上报速率,降低对用户所持设备和终端性能要求。本公开实施例提供的技术方案所形成的数据序列较短,有利于缩短第一相似度计算花费时间,减小数据序列存储需要的空间。
[0077]
上述技术方案可以实现对用户在空间中完成的特定动作(如横划、竖划、绘制波浪线、绘制圆形、书写数字以及书写英文字母等)进行识别的目的。
[0078]
该用户动作识别方法可应用于在人机交互过程中,通过用户完成特定动作进行设备控制的场景。
[0079]
例如,用户首先通过在空间中书写“m”,将书写“m”的动作作为解锁动作,录入终端系统中(此过程为标准动作姿态数据变化量序列学习记录过程)。后续,当用户需要对终端进行解锁时,用户再次在空间中书写“m”,若终端识别到用户动作与标准动作一致,终端解锁。
[0080]
又例如,用户在动作与指令对应关系设置环节中,通过在空间中书写“v”,将书写“v”的动作作为“确定指令”对应的动作;在空间中绘制半圆,将绘制半圆的动作作为“返回指令”对应的动作;在空间中向上绘制线段,将向上绘制线段的动作作为“令系统焦点向上
移动指令”对应的动作;在空间中向下绘制线段,将向下绘制线段的动作作为“令系统焦点向下移动指令”对应的动作;在空间中向左绘制线段,将向左绘制线段的动作作为“令系统焦点向左移动指令”对应的动作;在空间中向右绘制线段,将向右绘制线段的动作作为“令系统焦点向右移动指令”对应的动作。如此,在完成动作与指令对应关系设置(即标准动作姿态数据变化量序列学习记录)后,数据库中存储有6个标准动作,分别为书写“v”的动作、绘制半圆的动作、向上绘制线段的动作、向下绘制线段的动作、向左绘制线段的动作以及向右绘制线段的动作。后续,假设终端界面显示某一电子书的某一页,用户再次在空间中向左绘制线段,终端利用本公开提供的用户动作识别方法进行用户动作识别,通过识别,用户动作为向左绘制线段的动作,对应“令系统焦点向左移动指令”,据此,终端所显示的内容切换,显示该电子书的下一页。
[0081]
该用户动作识别方法还可应用于人机交互类游戏中。示例性地,在游戏包中包括多个标准动作姿态数据变化量序列。在游戏的过程中,系统持续给出多个动作(系统所给出的动作为游戏包所包括的标准动作)的提示信息,让用户根据提示信息去完成对应动作,系统对用户完成的动作进行识别,并根据用户完成的动作与所要求完成的动作是否一致,进行评分。
[0082]
该用户动作识别方法还可应用于进行字符输入的场景。但是由于上述技术方案在进行动作识别的过程中,需要借助预设的标准动作姿态数据变化量序列进行识别,其可识别的动作的数量主要取决于数据库中标准动作的数量。因此,此种情况下,需要在学习记录的过程中,学习书写全部字符对应的动作的姿态数据变化量序列。
[0083]
本领域技术人员可以理解,用户所持设备角速度过零点往往意味着用户肢体移动方向发生大幅度改变。其中,“角速度过零点”是指,角速度由正值变为负值,或者由负值变为正值。据此,可以将用户所持设备角速度过零点时刻作为用户动作突变时刻。这样设置的好处是,角速度可以通过惯性传感器中陀螺仪直接采集得到,为陀螺仪的原始测量数据,其不需要进行数据处理,就可以直接判断某一时刻是否为用户动作突变时刻,可以降低该用户动作识别方法的复杂度。
[0084]
进一步地,惯性传感器中的陀螺仪用于采集用户所持设备绕陀螺仪三维坐标系中各坐标轴旋转的角速度;用户所持设备绕陀螺仪三维坐标系中任一坐标轴旋转的角速度过零点时刻均为用户动作突变时刻。相比于仅将用户所持设备绕陀螺仪三维坐标系中三个坐标轴旋转的角速度同时过零点时刻作为用户动作突变时刻的方案,这样设置可以确保重要运动数据无遗漏,可以提高后续用户动作识别的准确性。
[0085]
图3为本公开实施例提供的另一种用户动作识别方法的流程图。图3为图2中的一个具体示例。用户所持设备中安装有惯性传感器。惯性传感器包括加速度计、陀螺仪以及磁力计。参见图3,该方法包括:
[0086]
s210、在用户完成某个动作的过程中,用户所持设备中惯性传感器持续采集运动数据。
[0087]
s220、用户所持设备判断当前时刻陀螺仪所采集的三个角速度中是否存在至少一个角速度过零点,若是,执行s230。
[0088]
s230、用户所持设备将角速度过零点时刻所采集的运动数据上报至终端。
[0089]
s240、终端接收角速度过零点时刻的运动数据,并基于所接收到的角速度过零点
时刻的运动数据,确定在角速度过零点时刻用户所持设备的姿态角数据;姿态角包括方位角、俯仰角以及倾侧角。
[0090]
s250、基于连续确定的多个姿态角数据,确定用户姿态角变化量序列。
[0091]
s260、确定用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度;
[0092]
s270、基于第一相似度,确定用户动作识别结果。
[0093]
上述技术方案以用户所持设备角速度过零点时刻作为用户动作突变时刻,其用户动作突变时刻确定方法简单,有利于缩短用户动作突变时刻判断需要花费的时间,进一步缩短该用户动作识别方法执行的整体耗时。
[0094]
图4为本公开实施例提供的一种标准动作记录方法的流程图。本实施例可适用于终端在进行人机交互之前进行标准动作记录的情况,该方法可以由标准动作记录装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如终端,具体包括但不限于智能手机、掌上电脑、平板电脑、带显示屏的可穿戴设备、台式机、笔记本电脑、一体机、智能家居设备等。
[0095]
如图4所示,该方法具体可以包括:
[0096]
s310、获取用户在完成预设的标准动作的过程中,用户动作突变时刻用户所持设备的运动数据。
[0097]
在本步骤中,预设的标准动作是指预先指定的动作。示例性地,指定用户完成右手画圆的动作。在执行本步骤时,终端向用户发出“请完成右手画圆的动作”的指令,用户在接收到该指令后,使用右手画圆。在用户使用右手画圆的过程中,获取用户动作突变时刻用户所持设备的运动数据。
[0098]
可选地,将用户所持设备角速度过零点时刻作为用户动作突变时刻。
[0099]
可选地,通过惯性传感器获取用户动作突变时刻用户所持设备的运动数据。
[0100]
可选地,惯性传感器中的陀螺仪用于采集用户所持设备绕陀螺仪三维坐标系中各坐标轴旋转的角速度;用户所持设备绕陀螺仪三维坐标系中任一坐标轴旋转的角速度过零点时刻均为用户动作突变时刻。
[0101]
本步骤具体实现方法与s110类似,此处不再赘述。
[0102]
s320、基于用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列。
[0103]
进一步地,基于用户动作突变时刻用户所持设备的运动数据,确定在用户动作突变时刻用户所持设备的姿态角数据;姿态角包括方位角、俯仰角以及倾侧角中的至少一个;基于连续确定的多个姿态角数据,确定用户姿态角变化量序列。
[0104]
本步骤具体实现方法与s120类似,此处不再赘述。
[0105]
s330、将用户姿态数据变化量序列作为该标准动作姿态数据变化量序列进行记录。
[0106]
上述技术方案的实质是,首先指定用户完成预设的标准动作,终端在用户完成预设的标准动作的过程中,进行学习,得到标准动作姿态数据变化量序列。在后续进行人机交互时,将标准动作姿态数据变化量序列作为判断的基准,进行用户动作识别,可以充分减少需要上报的数据量,降低传感器数据上报速率,降低对用户所持设备和终端性能要求。本公
开实施例提供的技术方案所形成的数据序列较短,有利于缩短进行用户动作识别时第一相似度计算花费时间,减小数据序列存储需要的空间。
[0107]
上述技术方案可以实现对用户在空间中完成的特定动作(如横划、竖划、绘制波浪线、绘制圆形、书写数字以及书写英文字母等)进行识别的目的。该用户动作识别方法可应用于在人机交互过程中,通过用户完成特定动作进行设备控制,如控制设备解锁,控制设备切换显示界面、控制游戏中的人物完成某些任务等。
[0108]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0109]
图5为本公开实施例中的一种用户动作识别装置的结构示意图。本公开实施例所提供的用户动作识别装置可以配置于终端中。参见图5,该用户动作识别装置具体包括:
[0110]
第一获取模块410,用于获取用户动作突变时刻用户所持设备的运动数据;
[0111]
第一序列确定模块420,用于基于所述用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列;
[0112]
相似度确定模块430,用于确定所述用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度;
[0113]
识别结果确定模块440,用于基于所述第一相似度,确定用户动作识别结果。
[0114]
进一步地,将用户所持设备角速度过零点时刻作为用户动作突变时刻。
[0115]
进一步地,第一获取模块410,用于通过惯性传感器获取用户动作突变时刻用户所持设备的运动数据。
[0116]
进一步地,所述惯性传感器中的陀螺仪用于采集用户所持设备绕所述陀螺仪三维坐标系中各坐标轴旋转的角速度;
[0117]
所述用户所持设备绕所述陀螺仪三维坐标系中任一所述坐标轴旋转的角速度过零点时刻均为用户动作突变时刻。
[0118]
进一步地,第一序列确定模块420,用于基于所述用户动作突变时刻用户所持设备的运动数据,确定在所述用户动作突变时刻用户所持设备的姿态角数据;所述姿态角包括方位角、俯仰角以及倾侧角中的至少一个;
[0119]
基于连续确定的多个所述姿态角数据,确定用户姿态角变化量序列。
[0120]
进一步地,若所述姿态角变化量序列包括方位角变化量序列、俯仰角变化量序列以及倾侧角变化量序列;相似度确定模块430,用于:
[0121]
确定所述用户所持设备的方位角变化量序列和所述预设的标准动作方位角变化量序列的第二相似度;
[0122]
确定所述用户所持设备的俯仰角变化量序列和所述预设的标准动作俯仰角变化量序列的第三相似度;
[0123]
确定所述用户所持设备的倾侧角变化量序列和所述预设的标准动作倾侧角变化量序列的第四相似度;
[0124]
基于所述第二相似度、所述第三相似度以及所述第四相似度,确定所述用户姿态
数据变化量序列和所述预设的标准动作姿态数据变化量序列的第一相似度。
[0125]
进一步地,相似度确定模块430,用于:
[0126]
基于动态时间归整算法确定所述用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度。
[0127]
本公开实施例提供的用户动作识别装置,可执行本公开方法实施例所提供的用户动作识别方法的步骤,具备执行步骤和有益效果,此处不再赘述。
[0128]
图6为本公开实施例中的一种标准动作记录装置的结构示意图。本公开实施例所提供的标准动作记录装置可以配置于终端中。参见图6,该用标准动作记录装置具体包括:
[0129]
第二获取模块510,用于获取用户在完成预设的标准动作的过程中,用户动作突变时刻用户所持设备的运动数据;
[0130]
第二序列确定模块520,用于基于所述用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列;
[0131]
记录模块530,用于将所述用户姿态数据变化量序列作为所述标准动作姿态数据变化量序列进行记录。
[0132]
进一步地,将用户所持设备角速度过零点时刻作为用户动作突变时刻。
[0133]
进一步地,第二获取模块510,用于通过惯性传感器获取用户动作突变时刻用户所持设备的运动数据。
[0134]
进一步地,所述惯性传感器中的陀螺仪用于采集用户所持设备绕所述陀螺仪三维坐标系中各坐标轴旋转的角速度;
[0135]
所述用户所持设备绕所述陀螺仪三维坐标系中任一所述坐标轴旋转的角速度过零点时刻均为用户动作突变时刻。
[0136]
进一步地,第二序列确定模块520,用于:
[0137]
基于所述用户动作突变时刻用户所持设备的运动数据,确定在所述用户动作突变时刻用户所持设备的姿态角数据;所述姿态角包括方位角、俯仰角以及倾侧角中的至少一个;
[0138]
基于连续确定的多个所述姿态角数据,确定用户姿态角变化量序列。
[0139]
本公开实施例提供的标准动作记录装置,可执行本公开方法实施例所提供的标准动作记录方法的步骤,具备执行步骤和有益效果,此处不再赘述。
[0140]
图7为本公开实施例中的一种电子设备的结构示意图。下面具体参考图7,其示出了适于用来实现本公开实施例中的电子设备1000的结构示意图。本公开实施例中的电子设备1000可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴电子设备等等的移动终端以及诸如数字tv、台式计算机、智能家居设备等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0141]
如图7所示,电子设备1000可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储装置1008加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理以实现如本公开的实施例的用户动作识别方法或标准动作记录方法。在ram 1003中,还存储有电子设备1000操作所需的各种程序和信息。处理装置1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/
输出(i/o)接口1005也连接至总线1004。
[0142]
通常,以下装置可以连接至i/o接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1009。通信装置1009可以允许电子设备1000与其他设备进行无线或有线通信以交换信息。虽然图7示出了具有各种装置的电子设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0143]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码,从而实现如上的用户动作识别方法或标准动作记录方法。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1008被安装,或者从rom 1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的方法中限定的上述功能。
[0144]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的信息信号,其中承载了计算机可读的程序代码。这种传播的信息信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0145]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字信息通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何已知或未来研发的网络。
[0146]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0147]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
[0148]
获取用户动作突变时刻用户所持设备的运动数据;
[0149]
基于所述用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列;
[0150]
确定所述用户姿态数据变化量序列和预设的标准动作姿态数据变化量序列的第一相似度;
[0151]
基于所述第一相似度,确定用户动作识别结果。
[0152]
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
[0153]
获取用户在完成预设的标准动作的过程中,用户动作突变时刻用户所持设备的运动数据;
[0154]
基于所述用户动作突变时刻用户所持设备的运动数据,确定用户姿态数据变化量序列;
[0155]
将所述用户姿态数据变化量序列作为所述标准动作姿态数据变化量序列进行记录。
[0156]
可选的,当上述一个或者多个程序被该电子设备执行时,该电子设备还可以执行上述实施例的其他步骤。
[0157]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0158]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0159]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0160]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0161]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供
指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0162]
根据本公开的一个或多个实施例,本公开提供了一种电子设备,包括:
[0163]
一个或多个处理器;
[0164]
存储器,用于存储一个或多个程序;
[0165]
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本公开提供的任一的用户动作识别方法或标准动作记录方法。
[0166]
根据本公开的一个或多个实施例,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开提供的任一的用户动作识别方法或标准动作记录方法。
[0167]
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上的用户动作识别方法或标准动作记录方法。
[0168]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0169]
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1