一种可穿戴设备应用控制方法和装置与流程

文档序号:14897231发布日期:2018-07-08 08:37阅读:155来源:国知局

本发明涉及人机交互技术领域,具体涉及一种可穿戴设备应用控制方法和装置。



背景技术:

可穿戴设备是可以直接穿在身上或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备通过软件支持以及数据交互、云端交互来实现强大的功能,极大的方便了人们的生活。

目前,可穿戴设备通常都装有应用,而且一般都具有触摸屏,通过触摸屏来实现应用控制等人机交互。由于可穿戴设备往往体积小,使得触摸屏也相对较小,这样,用户触摸操作起来很不方便,用户体验差。



技术实现要素:

本发明提供了一种可穿戴设备应用控制方法和装置,解决现有可穿戴设备应用控制方案导致用户体验较差的技术问题。

为达到上述技术目的,本发明技术方案是这样实现的:

根据本发明的一个方面,提供了一种可穿戴设备应用控制方法,可穿戴设备应用中集成手势交互关联的软件开发工具包sdk,方法包括:

调用预先封装了手势操作函数的动态链接库,获取所述可穿戴设备上传感器采集的可穿戴设备用户的动作数据;

检测识别所述动作数据;

当识别出所述动作数据与预设手势模板中的手势动作相匹配时,将匹配的手势动作的标识信息,经所述动态链接库提供的应用编程接口发送至所述可穿戴设备的上层应用,使所述上层应用根据收到的手势动作标识信息查找手势动作与响应的对应关系后确定并执行对应的操作。

根据本发明的另一个方面,提供了一种可穿戴设备应用控制装置,可穿戴设备应用中集成手势交互关联的软件开发工具包sdk,装置包括:

数据获取单元,用于调用预先封装了手势操作函数的动态链接库,获取所述可穿戴设备上传感器采集的可穿戴设备用户的动作数据;

检测识别单元,用于检测识别所述动作数据;

控制单元,用于当识别出所述动作数据与预设手势模板中的手势动作相匹配时,将匹配的手势动作的标识信息,经应用编程接口发送至所述可穿戴设备的上层应用,使所述上层应用根据收到的手势动作标识信息查找手势动作与响应的对应关系后确定并执行对应的操作。

根据本发明的又一个方面,提供了一种电子设备,电子设备包括:存储器和处理器,所述存储器和所述处理器之间通过内部总线通讯连接,所述存储器存储有能够被所述处理器执行的程序指令,所述程序指令被所述处理器执行时能够实现本发明一个方面的可穿戴设备应用控制方法。

本发明的有益效果是:本发明实施例的可穿戴设备应用控制方法和装置,预先封装了手势操作函数的动态链接库,当需要进行手势控制时,调用该动态链接库,获取可穿戴设备上传感器采集的可穿戴设备用户的动作数据,检测识别动作数据,当识别出动作数据与预设手势模板中的手势动作相匹配时,将匹配的手势动作的标识信息,经动态链接库的应用编程接口发送至上层应用,使上层应用根据收到的手势动作标识信息查找手势动作与响应的对应关系后,确定并执行对应的操作,实现应用控制。由此,当用户佩戴可穿戴设备并有某种手势动作发生时,可以自动检测出来并发送相应的消息给上层应用,控制上层应用进行响应和执行,从而实现方便直观的、智能化的交互操作。

附图说明

图1是本发明一个实施例的一种可穿戴设备应用控制方法的流程图;

图2是本发明一个实施例的一种可穿戴设备应用控制方法的原理图;

图3是本发明一个实施例的创建手势模板和识别手势的流程图;

图4是本发明一个实施例的手势检测和识别的流程图;

图5是本发明一个实施例的一种可穿戴设备应用控制装置的框图;

图6是本发明一个实施例的一种电子设备的结构示意图。

具体实施方式

本发明的设计构思是:随着信息技术的发展,人们对便捷直观的人机交互技术的需求越来越迫切,手势交互控制是比触摸屏还方便和直观的交互方式,能够很好的满足用户需求。目前实现手势识别和交互的方法主要可以分为基于视觉和基于惯性传感器两类。基于视觉的手势识别研究开始较早,识别方法比较成熟,但是存在对环境敏感,系统复杂,计算量大等弊端。相反,基于惯性传感器的手势识别虽然起步较晚,但是灵活可靠,不受环境、光线的影响,系统实现简单,是一种具有很大潜力的方法。

另一方面,智能手表等可穿戴设备发展迅猛,它们有自己的计算能力和资源,而且一般都会嵌入多种mems(micro-electro-mechanicalsystem,微机电系统)传感器(如加速度计、陀螺仪)对数据运算和基于传感器的手势识别提供了软硬件支持。另外,智能手表等可穿戴设备一般都会长期佩戴在用户身上,用户可以随时进行操作。

基于此,本申请的发明人想到:当用户佩戴可穿戴设备期间,通过执行一定的手势动作就可发出不同的指令,控制上层应用根据得到的指令做出不同的响应,实现用户与可穿戴设备之间方便、直观的交互,增强用户体验。

图1是本发明一个实施例的一种可穿戴设备应用控制方法的流程图,参见图1,本实施例的可穿戴设备应用中集成手势交互关联的软件开发工具包sdk,可穿戴设备应用控制方法,包括下列步骤:

步骤s101,调用预先封装了手势操作函数的动态链接库,获取所述可穿戴设备上传感器采集的可穿戴设备用户的动作数据;

步骤s102,检测识别所述动作数据;

步骤s103,当识别出所述动作数据与预设手势模板中的手势动作相匹配时,将匹配的手势动作的标识信息,经所述动态链接库提供的应用编程接口发送至所述可穿戴设备的上层应用,使所述上层应用根据收到的手势动作标识信息查找手势动作与响应的对应关系后确定并执行对应的操作。

由图1所示可知,本实施例的可穿戴设备应用中集成手势交互关联的软件开发工具包sdk(包含手势交互关联的应用编程接口),方便应用集成和调用手势交互控制功能。应用控制方法,调用预先封装了手势操作函数的动态链接库,并通过api(applicationprogramminginterface,应用编程接口)供上层应用调用,从而当需要进行手势控制应用时,执行底层的动态链接库采集用户数据,并检测识别得到相关手势动作后,将手势动作标识信息通过api发送至上层应用,控制上层应用根据手势动作执行对应的操作,例如,打开通讯录,关闭通讯录,拨打电话,挂断电话等。从而避免了在较小的触摸屏上进行交互操作导致的体验不佳的问题,改善了用户体验并提高了可穿戴设备的竞争力,拓展了应用范围。

图2是本发明一个实施例的一种可穿戴设备应用控制方法的原理图,参见图2,本实施例的可穿戴设备应用控制方法所基于原理是:首先,把底层的传感器数据采集、检测、识别等手势操作函数封装为能够进行手势识别的动态链接库202。动态链接库可以看作一种仓库,它提供了一些可以直接用的变量、函数或类。然后,动态链接库提供应用编程接口给上层应用201,方便上层应用的调用以控制上层应用。

另外,动态链接库可以通过api接口接收上层应用访问、创建和修改不同的手势模板的请求。即,api接口实现了上层应用与动态链接库之间的交互。这里的动态链接库例如是后缀为.so(sharedobject)的文件。

通过图2所示可知,本发明实施例针对智能手表、智能手环等可穿戴设备屏幕小触摸操作不方便的问题,封装动态链接库并开放应用编程接口,为上层应用提供了利用手势执行相关操作的平台,实现方便直观的人机交互。而且,这种基于传感器的手势控制方式灵活可靠,不受环境、光线的影响,系统实现简单。可穿戴设备的屏幕一般都较小,直接在触摸屏上操作用户体验差,但如果采用手势动作这种交互方式就可以很好地避免这一点。与传统交互方式相比,大大增强了用户体验。

以下结合图3对可穿戴设备应用控制方法中的重点,即创建手势模板和识别手势的流程进行具体说明。

参见图3,流程开始,先执行步骤s301,采集传感器数据;

需要说明的是,本实施例的可穿戴设备中具有传感器,例如mems惯性传感器,这类传感器可以加速度传感器或陀螺仪。本实施例中以三轴加速度传感器为例进行说明。三轴加速度传感器可以采集用户运动时xyz三个方向上的加速度数据变化。本实施例底层的动态链接库中封装有数据采集函数,可以从传感器中连续采集数据,以用于后续手势检测识别。

步骤s302,预处理;

在采集得到三轴加速度数据后,分别对所述三轴加速度数据进行时域加窗处理,并对滑动窗内的加速度数据进行预处理。这里的预处理主要是利用滤波算法对数据进行滤波处理以滤除干扰和噪声,可以采用的滤波算法有:均值滤波、butterworth滤波等。时域加窗处理,是对三轴加速度数据中每个轴向的数据,用预设长度的滑动窗获取数据,即,沿时间轴移动窗函数,这里的预设长度例如为n,n为50,一个实施例中窗函数可以采用矩形窗、三角窗或汉明窗等。

步骤s303,手势检测;

手势检测是根据步骤202中的预处理后的数据进行检测和计算,以确定当前采集的数据中是否有手势动作数据。

需要说明的是,手势检测是本实施例为了降低功耗而采取的技术手段,这是因为,对经过预处理后的传感器数据,在当前的时间窗口内进行检测,判断是否存在可能的手势动作,如果可能有手势存在,则根据情况进一步执行手势识别或创建模板的操作;否则,直接返回继续获取可穿戴设备上传感器采集的可穿戴设备用户的动作数据传感器数据,这样,就不必对每次采集的传感器数据执行一遍手势识别,能够减少执行步骤,降低功耗。

由上可知,本实施例基于mems传感器获取的三维加速度(或陀螺仪)数据,检测当前时间窗口内是否有可能的手势动作发生,如果可能有手势动作,则进一步执行识别操作(或创建为模板),如果没有手势,则直接返回,大大降低了计算量。

步骤s304,判断是否存在手势动作;是则,执行步骤s306或者执行步骤s305;否则,执行步骤s301;

本步骤中具体的是否存在手势动作判断方式是:

在长度为n的每个滑动窗内,对预处理后的三轴加速度数据,计算各个轴上的标准差σx、σy、σz,并计算平均标准差σ:

σ=(σx+σy+σz)/3

如果σ小于给定的阈值std_th,则认为不存在手势动作,不做进一步处理而直接返回。这样在不存在手势的期间,可以大大降低计算量。

其中,σx表示x轴上的滑动窗内数据的标准差,σy表示y轴上的滑动窗内数据的标准差,σz表示z轴上的滑动窗内数据的标准差。

步骤s305,创建手势模板;

创建手势模板就是将检测出的用户手势动作作为一个手势模板保存到手势模板库中,如此,当后续用户再做出同样的手势动作时,通过查找手势模板库即可识别出该手势动作,并方便基于该手势动作对应用进行控制。

可见,本实施例中支持用户自定义手势模板。例如,在初次使用手势控制应用并调用动态链接库时,通过调用底层api接口接收用户通过上层应用供显示界面输入的自定义指令,创建或修改手势模板。具体实现时,上层应用可以首先调用底层api接口获得当前的手势模板列表,并根据接收的用户自定指令创建新的手势模板,或修改当前的手势模板后保存到底层的手势模板库中。

步骤s306,手势识别。

手势识别是手势控制应用的前提和基础,因此,准确的手势识别对手势控制至关重要。手势识别的过程实际是模板匹配的过程,根据上一步骤的说明可知,本实施例中会维护一个手势模板库,该手势模板库中保存了用户自定义的手势模板或系统默认的手势模板,当在步骤s304中确定存在手势动作后,将在本步骤中对手势动作识别,以确定具体是哪一个手势动作,即得到手势识别结果。

具体实现时,可以计算待识别的手势动作的测试特征序列以及各手势模板的模板特征序列,并将测试特征序列与各模板特征序列进行一一匹配,采用模板匹配(如dtw算法)或机器学习方法进行识别。dtw(dynamictimewarping,动态时间归整)算法是比较两个时间序列的相似度的方法,通过计算相似度可以得出手势识别结果。机器学习的方法通常基于统计和概率来预测属于某个手势动作的可能性。

在手势动作模板中识别出匹配的手势动作后,将匹配的手势动作的唯一标识信息(例如id信息)通过api接口发送至上层应用,使上层应用根据收到的id信息查找手势动作以及手势动作和响应的对应关系,然后执行对应的操作。

这里的应用例如是系统自带的闹钟应用,按照本实施例,用户在佩戴可穿戴设备时,通过执行一个预定的手势动作即可控制闹钟应用。例如,做出顺时针画圆的手势动作打开闹钟,做出顺时针画矩形的手势动作设置闹钟时间等等。

流程结束。

在本发明的实施例中,前述手势识别主要包括主成分分析(pca)处理、特征提取、手势匹配等过程。为了降低计算量,这里采用了pca方法将三维加速度数据降为一维后再进行处理。图4是本发明另一个实施例的手势检测和识别的流程图,参见图4,一次手势检测和识别的流程如下:

需要说明的是,步骤s401至步骤s403分别和前述步骤s301至s303中的实现过程相同,因此可以参见前述对步骤s301至s303的说明,这里不再赘述。

经过上述的步骤s401至s403可以得到模板序列(或测试序列);

步骤s404,判断是否存在手势动作;是则,执行步骤s405或者步骤s406,否则,执行步骤s401。

参见图4,本实施例对建立模板和测试序列处理有不同的执行过程。在建立模板时,对于模板序列,将三维加速度数据序列进行pca((principalcomponentanalysis,主成分分析)处理,得到降维后的一维模板数据,并得到主成分的特征向量空间。在一次测试(即对待识别手势动作进行识别)时,对于测试序列,将三维加速度测试序列投影到模板序列的主成分特征向量空间,得到降维后的一维测试数据。具体的,步骤s405包括:步骤s4051和s4052;

步骤s4051,主成分分析;

以加速度数据进行说明,当采集到三轴加速度数据后,利用主成分分析对三轴加速度数据降低数据维数处理,降至一维,并得到主成分的特征向量空间。通过采用主成分分析,可以根据计算过程中的特征值大小来决定各独立成分的重要性,并选择最重要的成分,以将原始加速度信号降至一维,在降低计算复杂度的同时,去除了一部分噪声,并降低了对用户执行手势时的姿态要求。

步骤s4052,特征提取;

对获得的一维数据提取特征(如,相邻数据点的均值特征、方差特征、快速傅氏变换fft系数特征或直接提取波形变化特征等),得到由这些特征组成的模板特征序列。模板特征序列保存到手势模板库中用于手势识别和匹配。

与前述步骤s405类似,步骤s406包括:步骤s4061和s4062;

步骤s4061,投影到模板主成分空间;

对于测试序列,需要将三维加速度测试数据投影到模板序列的主成分特征向量空间,以得到降维后的一维测试数据。

步骤s4062,特征提取;

与前述步骤s4052相对应,在本步骤中对获得的一维测试数据提取特征(如,相邻数据点的均值特征、方差特征、快速傅氏变换fft系数特征或直接提取波形变化特征等),得到由这些特征组成的测试特征序列。

步骤s407,手势动作识别。

在本步骤中,将得到的测试特征序列与各模板特征序列进行匹配,可以采用模板匹配或机器学习等算法,在降低计算复杂度的同时实现了准确手势识别。

至此,流程结束。

另外,为了支持手势控制本实施例的可穿戴设备的上层应用,可以提供手势配置模块与底层交互。底层动态链接库接收上层应用通过调用应用编程接口发送的模板信息获取请求,将当前的手势模板列表经应用编程接口发送至上层应用;以及,接收上层应用通过调用应用编程接口发送的手势模板配置指令;根据相应的手势模板配置指令执行创建、修改、删除手势模板操作,并保存执行结果到手势模板数据库。从而在使用过程中,方便用户随时通过手势配置模块对相关的控制命令和手势进行修改。

例如,在初次使用该手势控制功能时,上层应用通过调用底层api接口创建或修改手势模板。具体的,手势配置模块首先调用底层api接口获得当前的手势模板列表,可以根据用户需要自定义新的手势模板,或修改当前的手势模板并保存到底层的手势模板库中。

另一方面,上层应用的手势配置模块可以根据用户的指令对手势动作和对应要执行的响应和操作进行关联设置,并将此关联信息保存到手势命令数据库中。配置成功后,在用户执行不同的手势动作时,上层应用在接收到底层识别模块发送的手势id消息后,在数据库中查询出该手势对应的控制命令和参数,然后执行相应的操作或响应,实现便捷直观的人机交互功能。

可穿戴设备是资源受限的设备。而在手势识别过程中,需要对手势动作持续进行感知和识别,会消耗不少的能量,因此,需要尽量降低算法的复杂性,在减少计算量的同时,保证动作识别的可靠性。

为了降低功耗本实施例可以启动和停止底层手势识别的运行,并提供api接口给上层应用,以方便地对底层进行控制。当启动底层手势识别后,才持续检测和识别用户的手势。具体的,接收上层应用通过调用应用编程接口发送的启动或者停止手势控制命令,根据启动手势控制命令,调用态链接库,以获取可穿戴设备用户的动作数据;根据停止手势控制命令,停止获取可穿戴设备用户的动作数据;

本发明实施例还提供了一种可穿戴设备应用控制装置,图5是本发明一个实施例的一种可穿戴设备应用控制装置的框图,可穿戴设备的应用中集成手势交互关联的软件开发工具包sdk,参见图5,可穿戴设备应用控制装置500,包括:

数据获取单元501,用于调用预先封装了手势操作函数的动态链接库,获取所述可穿戴设备上传感器采集的可穿戴设备用户的动作数据;

检测识别单元502,用于检测识别所述动作数据;

控制单元503,用于当识别出所述动作数据与预设手势模板中的手势动作相匹配时,将匹配的手势动作的标识信息,经所述动态链接库提供的应用编程接口发送至所述可穿戴设备的上层应用,使所述上层应用根据收到的手势动作标识信息查找手势动作与响应的对应关系后确定并执行对应的操作。

在本发明的一个实施例中,可穿戴设备应用控制装置500还包括:

开关单元,用于接收所述上层应用通过调用所述应用编程接口发送的启动或者停止手势控制命令,根据启动手势控制命令,调用所述态链接库,以获取所述可穿戴设备用户的动作数据;根据停止手势控制命令,停止获取所述可穿戴设备用户的动作数据。

在本发明的一个实施例中,可穿戴设备应用控制装置500还包括:

模板操作单元,用于接收所述上层应用通过调用所述应用编程接口发送的模板信息获取请求,将当前的手势模板列表经所述应用编程接口发送至所述上层应用;以及,用于接收所述上层应用通过调用所述应用编程接口发送的手势模板配置指令,根据相应的所述手势模板配置指令执行创建、修改、删除手势模板操作,并保存执行结果到手势模板数据库。

在本发明的一个实施例中,数据获取单元501,具体用于获取所述可穿戴设备上加速度传感器采集的可穿戴设备用户当前的三轴加速度数据;

检测识别单元502,用于分别对所述三轴加速度数据进行时域加窗处理,并对滑动窗内的加速度数据进行预处理,对预处理后的加速度数据进行检测以确定当前滑动窗内是否存在手势动作;若存在手势动作,则将手势动作与手势模板中的手势动作进行匹配以对该手势动作进行识别;若不存在手势动作,则返回继续获取所述可穿戴设备上传感器采集的可穿戴设备用户的动作数据。

在本发明的一个实施例中,检测识别单元502,用于对预设长度滑动窗内的加速度数据,分别计算标准差σx、σy、σz后,通过如下公式计算平均标准差:

σ=(σx+σy+σz)/3

比较σ与预设阈值std_th的大小,若σ小于std_th则认为不存在手势动作。

需要说明的是,本实施例的可穿戴设备应用控制装置的工作过程是和前述可穿戴设备应用控制方法的实现步骤对应的,因此,本实施例中未详尽描述的部分可以参见前述实施例中的说明,在此不再赘述。

图6为本发明一个实施例的电子设备的结构示意图。如图6所示,该电子设备包括存储器601和处理器602,存储器601和处理器602之间通过内部总线603通讯连接,存储器601存储有能够被处理器602执行的程序指令,程序指令被处理器602执行时能够实现上述的可穿戴设备应用控制方法。

此外,上述的存储器601中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的另一个实施例提供一种计算机可读存储介质,计算机可读存储介质存储计算机指令,计算机指令使所述计算机执行上述的方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。

需要说明的是术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1