本发明涉及数据处理技术领域,具体涉及一种凌空手势轨迹重构方法及系统。
背景技术:
普适环境是一种信息空间与物理空间融合的具有计算与通信能力的环境。在普适环境中,计算以人为中心,人机交互类似于人与人之间的自然交流方式,用于计算的设备无处不在,融入到人们生活的环境中,并能够便捷地为人们提供所需要的服务。
凌空手势是一类非接触式的、能够使用户以徒手方式进行操作的空中手势,其本质是一种不给用户手势交互带来任何不便的自然人机交互方式。对于凌空手势轨迹重构,现有技术中,通常采用捷联式惯性导航算法对mpu9250传感器确定的运动轨迹进行重构。该方案存在如下缺点:
捷联式惯性导航算法主要利用mpu6050或mpu9250中的三轴加速计、三轴陀螺仪和三轴磁力计采集的数据来做运算,首先是将载体坐标系(载体即是手上的惯性传感器)下的加速度数据转变为世界坐标系下的加速度数据,参考图1,在世界坐标系下,x轴指向地理东,y轴指向地理北,z轴指向天,三轴相互垂直;接着计算出世界坐标系下x轴、y轴和z轴的加速度数据,通过对加速度数据进行二次积分便可得到凌空手势在空中的位移。然而由于多种因素的影响,使得所测得的位移带有一定噪声,特别是对于精度较低的惯性传感器设备,即使采用多种处理方法也仍然会存在较大的位移偏差,因此,基于该方法对平视视角下的凌空手势轨迹尺寸进行重构具有极大的不稳定性和不可靠性。
因此,亟待提供一种方案,解决捷联式惯性导航算法对基于低精度惯性传感器的凌空手势轨迹重构的不稳定性的问题。
技术实现要素:
本发明目的在于提供一种凌空手势轨迹重构方法及系统,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
为了实现上述目的,本发明提供以下技术方案:
一种凌空手势轨迹重构方法,所述方法包括以下步骤:
获取六轴传感器捕捉手势动作的六轴运动数据,确定所述六轴运动数据是否属于预先设置的手势动作库,所述六轴运动数据包括加速度数据和陀螺仪数据;
当确定所述六轴运动数据属于预先设置的手势动作库时,采用mallat算法对所述六轴运动数据进行降噪和滤波预处理,得到预处理后的六轴运动数据;
对预处理后的六轴运动数据进行特征提取,得到手势运动特征;
根据所述手势运动特征重构所述手势动作的轨迹尺寸。
进一步,所述六轴传感器为低精度传感器mpu6050。
进一步,所述采用mallat算法对所述六轴运动数据进行降噪和滤波预处理,得到预处理后的六轴运动数据,包括:
确定小波基与小波分解级数n,对所述六轴运动数据进行小波分解,得到各级小波系数;
通过阈值选取准则确定各级小波系数的阈值,基于阈值函数将各级小波系数的阈值分别作用到各级小波系数上,得到阈值量化作用后的小波系数;
将阈值量化作用后的小波系数做逆变换,得到预处理后的六轴运动数据。
进一步,所述各级小波系数的阈值通过多次测试而定,所述阈值函数为硬阈值函数,所述阈值函数的计算公式为:
进一步,所述对预处理后的六轴运动数据进行特征提取,得到手势运动特征,包括:
对预处理后的六轴运动数据进行归一化处理,得到归一化数据;
从归一化数据中提取得到手势运动特征,所述手势运动特征包括时域特征和频域特征。
进一步,所述时域特征包括以下特征信息中的至少一项:时域下的最大值、最小值、均值、方差;
所述频域特征包括以下特征信息中的至少一项:频域下的平均频率、均方根频率、峰值频率、总和频率、标准差、方差。
进一步,所述根据所述手势运动特征重构所述手势动作的轨迹尺寸,具体为:
将训练集输入机器学习模型进行训练,得到手势识别模型;其中,所述训练集包含预先获取的手势运动特征样本;
将所述手势运动特征输入所述手势识别模型,根据得到的凌空轨迹尺寸完成轨迹尺寸重构。
一种计算机可读存储介质,所述计算机可读存储介质上存储有凌空手势轨迹重构程序,所述凌空手势轨迹重构程序被处理器执行时实现如上述任意一项所述的凌空手势轨迹重构方法的步骤。
一种凌空手势轨迹重构系统,所述系统包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述任一项所述的凌空手势轨迹重构方法。
本发明的有益效果是:本发明公开一种凌空手势轨迹重构方法及系统,本发明通过低精度惯性传感器的六轴传感器捕捉六轴运动数据,采用mallat算法对所述六轴运动数据进行降噪和滤波预处理,得到预处理后的六轴运动数据;基于mallat算法的小波阈值降噪具有低熵性、多分辨率性、去相关性和灵活性等优点,最后对预处理后的六轴运动数据进行特征提取,得到手势运动特征,根据所述手势运动特征重构手势动作的轨迹尺寸。本发明在粗粒度的凌空手势轨迹尺寸重构中,具有更高的稳定性和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中凌空手势轨迹重构方法的流程示意图;
图2是本发明实施例中基于mallat算法对所述六轴运动数据进行小波分解的示意图。
具体实施方式
以下将结合实施例和附图对本申请的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本申请的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
参考图1,如图1所示为本申请实施例提供的一种凌空手势轨迹重构方法,所述方法包括以下步骤:
步骤s100、获取六轴传感器捕捉手势动作的六轴运动数据,确定所述六轴运动数据是否属于预先设置的手势动作库,所述六轴运动数据包括加速度数据和陀螺仪数据;
步骤s200、当确定所述六轴运动数据属于预先设置的手势动作库时,采用mallat算法对所述六轴运动数据进行降噪和滤波预处理,得到预处理后的六轴运动数据;
步骤s300、对预处理后的六轴运动数据进行特征提取,得到手势运动特征;
步骤s400、根据所述手势运动特征重构所述手势动作的轨迹尺寸。
本发明是对手势在空中的轨迹尺寸进行重构,预先设置的手势动作库是指同一个预先设置的手势但是手势幅度大小不同。在一些示例性的实施例中,将手势动作设置为水平横线运动,分别做幅度大小为10cm、20cm、30cm、40cm、50cm、60cm的水平横线运动(此处展示的手势只是举例,并非该方法只能应用于这类手势),然后在运动过程中,六轴传感器根据捕捉到的手势动作生成运动数据,并以设定频率将该运动数据发送给上位机(具备数据处理功能的终端)做处理,最终重构出手势动作的轨迹尺寸。其中,步骤s400中的手势动作是指根据所述六轴运动数据确定为预先设置的手势动作。
在一个优选的实施例中,所述六轴传感器为低精度传感器mpu6050。
如图2所示,在一个优选的实施例中,步骤s200中,所述采用mallat算法对所述六轴运动数据进行降噪和滤波预处理,得到预处理后的六轴运动数据,包括:
步骤s210、确定小波基与小波分解级数n,对所述六轴运动数据进行小波分解,得到各级小波系数;
本步骤中,小波基优选用多贝西小波基(daubechies-wavelet),多贝西小波基具备有良好的正则性和正交性,且随着分解级数的增加消失矩阶数也随之增加,本实施例选用多贝西小波基极为合适。
通过定性分析和定量分析相结合的方式确定小波基与小波分解级数n,在一些实施例中,采用小波滤波器对所述六轴运动数据进行小波分解,分层数选择四层分解,图2为基于mallat算法对所述六轴运动数据进行三级小波分解的结构图解形式,基于mallat算法将所述六轴运动数据分解为低频系数和高频系数,有s=d1+d2+d3+d4+a4,其中,s表示所述六轴运动数据,a1、a2、a3、a4均表示低频系数,d1、d2、d3、d4均表示高频系数。
步骤s220、通过阈值选取准则确定各级小波系数的阈值,基于阈值函数将各级小波系数的阈值分别作用到各级小波系数上,得到阈值量化作用后的小波系数;
步骤s230、将阈值量化作用后的小波系数做逆变换,得到预处理后的六轴运动数据。
本发明提供的实施例中,需要选取各级小波系数的阈值和阈值函数,通过阈值确定小波基,通过阈值函数确定分解级数。在一个优选的实施例中,所述各级小波系数的阈值通过多次测试而定,所述阈值函数为硬阈值函数,所述阈值函数的计算公式为:
本发明应用mallat算法进行降噪和滤波预处理,mallat算法将小波变换理论统一了起来,使其在计算上变得可行。小波阈值降噪方法能够较好的分离小波系数中的噪声和有用信号,该方法是在小波分解后得到的各级系数中,对小波系数大于或小于某阈值的部分分别处理,然后再进行小波重构从而得到降噪后的信号。由于mems传感器的输出数据是非平稳、非线性的,本发明采取此种降噪方法对六轴运动数据进行降噪处理,相较于传统的滤波与降噪方法,基于mallat算法的小波阈值降噪具有低熵性、多分辨率性、去相关性和灵活性等优点,在mems传感器信号降噪与处理方面具有较大的优势。
在一个优选的实施例中,所述步骤s300包括:
步骤s310、对预处理后的六轴运动数据进行归一化处理,得到归一化数据;
优选的,归一化采用离差标准化(min-max-normalization),归一化处理后数据便会在(0,1)之间,使得后续特征提取容易进行。归一化公式为:
步骤s320、从归一化数据中提取得到手势运动特征,所述手势运动特征包括时域特征和频域特征。
其中,对手势运动特征的提取指的是针对数据的特点来选择特征值,用于接下来的机器学习模型做分类选择。在本发明的实施例中,使用归一化数据的十个特征,如图2所示,分别在时域和频域下对归一化数据进行提取,其中,时域指的是时间序列信号,频域指的是将时域信号通过傅里叶变换得到的频率信号。
在一个优选的实施例中,所述时域特征包括以下特征信息中的至少一项:时域下的最大值、最小值、均值、方差;
所述频域特征包括以下特征信息中的至少一项:频域下的平均频率、均方根频率、峰值频率、总和频率、标准差、方差。
在一个优选的实施例中,所述步骤s400具体为:
将训练集输入机器学习模型进行训练,得到手势识别模型;其中,所述训练集包含预先获取的手势运动特征样本;
将所述手势运动特征输入所述手势识别模型,根据得到的凌空轨迹尺寸完成轨迹尺寸重构。
为了克服现有技术中基于低精度惯性传感器的凌空手势轨迹重构的不稳定性的问题,本发明利用机器学习模型(例如支持向量机、决策树、随机森林等模型)对凌空手势轨迹进行粗粒度轨迹重构,使得轨迹重构更加具备稳定性、可靠性;本实施例中,将多类不同的手势运动特征样本导入机器学习模型进行训练,使得模型可以学习不同凌空手势轨迹尺寸;所述手势运动特征样本的数量根据实际情况设定,可以理解,当所述手势运动特征样本的数量越多时,得到的手势识别模型越精确。
在一些示例性的实施例中,将手势动作设置为水平横线运动,分别做幅度大小为10cm、20cm、30cm、40cm、50cm、60cm的水平横线运动(此处展示的手势只是举例,并非该方法只能应用于这类手势),经试验验证,通过训练好的模型可以有效的分辨10cm、20cm、30cm、40cm、50cm、60cm的水平横线尺寸。通过该方法,可以稳定的识别手势在空中的轨迹尺寸大小,示例性的,假设手势在空中位移18cm,通过本实施例公开的方法识别出该凌空手势的轨迹尺寸为16cm至20cm的任一值,本发明公开的方法属于粗粒度的凌空手势轨迹尺寸重构,该方法具有更高的稳定性、可行性、可靠性。
与图1的方法相对应,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有凌空手势轨迹重构程序,所述凌空手势轨迹重构程序被处理器执行时实现如上述任意一实施例所述的凌空手势轨迹重构方法的步骤。
与图1的方法相对应,本发明实施例还提供一种凌空手势轨迹重构系统,所述系统包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述任一实施例所述的凌空手势轨迹重构方法。
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
所述处理器可以是中央处理单元(central-processing-unit,cpu),还可以是其他通用处理器、数字信号处理器(digital-signal-processor,dsp)、专用集成电路(application-specific-integrated-circuit,asic)、现场可编程门阵列(field-programmable-gate-array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述凌空手势轨迹重构系统的控制中心,利用各种接口和线路连接整个凌空手势轨迹重构系统可运行装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述凌空手势轨迹重构系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart-media-card,smc),安全数字(secure-digital,sd)卡,闪存卡(flash-card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本申请的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求,考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本申请的预定范围。此外,上文以发明人可预见的实施例对本申请进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本申请的非实质性改动仍可代表本申请的等效改动。