2024年2月21日发(作者:贝珉)
本技术适用于智能设备交互技术改进领域,提供了一种智能手表的手势识别方法,包括:S1、采集智能手表上的加速度计和陀螺仪传感器的信号;S2、利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;S3、利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;S4、对检测到的手势信号提取相关手势特征并判断手势的合法性。能够在不改动智能手表的软件/硬件的前提下拓展智能手表的功能,实现十种手势的免训练识别。同时,通过与智能家居、电脑以及无人机等的配合,能够实现利用手势来对目标设备进行操控,丰富了智能手表的应用场景。技术要求1.一种基于智能手表的手势识别方法,其特征在于,所述手势识别方法包括以下步骤:S1、采集智能手表上的加速度计和陀螺仪传感器的信号;S2、利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;
S3、利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;S4、对检测到的手势信号提取相关手势特征并判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。2.根据权利要求1所述的基于智能手表的手势识别方法,其特征在于,所述步骤S2中还包括以下步骤:S21、采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;S22、计算合加速度的大小并设置重力加速度大小为9.81m/s2;S23、判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入下一步,若否,则进入下一步;S24、利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。3.根据权利要求1所述的基于智能手表的手势识别方法,其特征在于,所述步骤S3中还包括以下步骤:S31、对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);S32、判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入下一步,若否,则继续检测起始点;S33、判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入下一步,若否,则继续检测结束点;S34、判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。
4.根据权利要求3所述的基于智能手表的手势识别方法,其特征在于,所述步骤S31中还包括以下步骤:S311、对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;S312、判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。5.根据权利要求3或4所述的基于智能手表的手势识别方法,其特征在于,所述步骤S34中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。6.根据权利要求5所述的基于智能手表的手势识别方法,其特征在于,所述步骤S4中还包括以下步骤:S41、对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;S42、判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。7.根据权利要求6所述的基于智能手表的手势识别方法,其特征在于,所述步骤S41中还包括以下步骤:S411、由手势的角速度数据计算执行手势过程中角度的变化;S412、判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。8.根据权利要求1-7任一项所述的基于智能手表的手势识别方法,其特征在于,所述步骤S1中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。
9.一种基于智能手表的手势识别系统,其特征在于,所述手势识别系统包括信号采集模块,用于采集智能手表上的加速度计和陀螺仪传感器的信号;坐标修正模块,用于利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;计算检测模块,用于利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;判断模块,用于对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。10.根据权利要求9所述的基于智能手表的手势识别系统,其特征在于,所述坐标修正模块中还包括数据采集记录单元,用于采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;计算设置参数单元,用于计算合加速度的大小并设置重力加速度大小为9.81m/s2;判断单元,用于判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入下一步,若否,则进入下一步;修正角速度单元,用于利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。技术说明书一种基于智能手表的手势识别方法及系统技术领域
本技术属于智能设备交互技术改进领域,尤其涉及一种基于智能手表的惯性传感器手势识别方法及系统。背景技术目前,可穿戴设备越来越受消费者的欢迎,尤其对于智能手表。同时,各大厂商也推出了各式各样的智能家居设备。然而,智能家居设备的操控方式比较单一,主要以语音识别和手机app为主,存在一定的局限性和不便性。同时,目前的智能手表设备应用场景比较有限,多用于如步数记录、心率测量以及手机消息查看等,智能手表的功能仍有待探索。技术内容本技术的目的在于提供一种基于智能手表的手势识别方法,旨在解决上述的技术问题。本技术是这样实现的,一种基于智能手表的手势识别方法,所述手势识别方法包括以下步骤:S1、采集智能手表上的加速度计和陀螺仪传感器的信号;S2、利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;S3、利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;S4、对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述步骤S2中还包括以下步骤:S21、采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;S22、计算合加速度的大小并设置重力加速度大小为9.81m/s2;
S23、判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入下一步,若否,则进入下一步;S24、利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。本技术的进一步技术方案是:所述步骤S3中还包括以下步骤:S31、对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);S32、判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入下一步,若否,则继续检测起始点;S33、判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入下一步,若否,则继续检测结束点;S34、判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。本技术的进一步技术方案是:所述步骤S31中还包括以下步骤:S311、对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;S312、判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。本技术的进一步技术方案是:所述步骤S34中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。本技术的进一步技术方案是:所述步骤S4中还包括以下步骤:S41、对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;
S42、判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述步骤S41中还包括以下步骤:S411、由手势的角速度数据计算执行手势过程中角度的变化;S412、判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。本技术的进一步技术方案是:所述步骤S1中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。本技术的另一目的在于提供一种基于智能手表的手势识别系统,所述手势识别系统包括信号采集模块,用于采集智能手表上的加速度计和陀螺仪传感器的信号;坐标修正模块,用于利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;计算检测模块,用于利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;判断模块,用于对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述坐标修正模块中还包括数据采集记录单元,用于采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;计算设置参数单元,用于计算合加速度的大小并设置重力加速度大小为9.81m/s2;
判断单元,用于判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入修正角速度单元,若否,则进入修正角速度单元;修正角速度单元,用于利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。本技术的进一步技术方案是:所述计算检测模块中还包括降噪单元,用于对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);起始点判断单元,用于判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入结束点判断单元,若否,则继续检测起始点;结束点判断单元,用于判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入合并判断单元,若否,则继续检测结束点;合并判断单元,用于判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。本技术的进一步技术方案是:所述降噪单元中还包括均值平滑单元,用于对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;噪音阈值判断单元,用于判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。本技术的进一步技术方案是:所述合并判断单元中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。本技术的进一步技术方案是:所述判断模块中还包括
特征提取分类单元,用于对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;匹配判断单元,用于判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述特征提取分类单元中还包括计算角速度变化单元,用于由手势的角速度数据计算执行手势过程中角度的变化;判断波峰波谷存在单元,用于判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。本技术的进一步技术方案是:所述信号采集模块中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。本技术的有益效果是:能够在不改动智能手表的软件/硬件的前提下拓展智能手表的功能,实现十种手势的免训练识别。同时,通过与智能家居、电脑以及无人机等的配合,能够实现利用手势来对目标设备进行操控,丰富了智能手表的应用场景。附图说明图1是本技术实施例提供的基于智能手表的手势识别方法的流程图。图2是本技术实施例提供的陀螺仪坐标修正流程图。具体实施方式如图1所示,本技术提供的基于智能手表的手势识别方法流程图,其详述如下:步骤S1,采集智能手表上的加速度计和陀螺仪传感器的信号;编写程序代码采集智能手表加速度计和陀螺仪的信号;在采集信号的过程中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。
步骤S2,利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;如图2所示,利用加速度计数据对陀螺仪数据进行坐标系修正,具体步骤如下:初始化倾斜角θ为0,此时cosθ、sinθ分别为1、0。采集加速度计X、Y、Z轴数据,分别记为ax、ay、az,采集陀螺仪X、Y、Z轴数据,分别记为gx、gy、gz。计算合加速度的大小取重力加速度大小约为9.81m/s2,若合加速度a与重力加速度之差的绝对值小于重力加速度大小的10%(即0.981)则更新倾斜角度θ信息:利用倾斜角度θ信息,可以修正陀螺仪y轴和z轴角速度信号,具体为::其中为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。至此,完成了陀螺仪数据的坐标系纠正。步骤S3,利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;对用户正在执行的手势信号进行起始点和结束点的自动检测。具体步骤如下:对陀螺仪每个轴的数据均进行降噪:对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒,记t时刻降噪后的数据为p(t)。具体降噪操作为:对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒。同时,对于平滑后的信号,若小于给定的噪音阈值,则将值设置为0,否则保持原值不变。检测起始点阶段,若p(t)≠0且p(t-1)=0,则记手势信号起始点为b,并进入检测结束点阶段,否则继续检测起始点。在检测结束点阶段,若陀螺仪速度方向发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,则记手势信号结束点为e,并进入到合并阶段,否则继续检测结束点。在合并阶段,首先检测是否需要与其他轴的信号检测信息合并,合并操作是为了避免发生同一手势在三个轴同时被检测到的情况。对于其他检测到手势信号的轴,满足以下任意情况时需要合并当前手势信息到其他轴:1)检测到的起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或2)两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度。若发生手势信息合并,则不将当前轴检测到的手势信息传递给分类模块,否则将手势信息传递给分类模块。步骤S4,对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。对检测到的手势信号提取特征,并判断其合法性,将合法信号分类到指定手势类别中。具体步骤如下:
对陀螺仪每个轴分别提取手势特征,包括执行手势过程中角度变化是否出现波峰/波谷,波峰/波谷处的角度值vm、波峰/波谷结束时的角度θe以及绝对值的最大值vabsMax。根据提取到的特征,十种手势会对应有不同的特征,根据特征信息将手势信号分类到特定的手势;若提取的特征与十种手势均不匹配,则认为当前检测到的手势信号为非法信号。具体的,步骤S4中提取手势特征的方法为:首先,由手势的角速度数据计算执行手势过程中角度的变化,记t时刻的旋转角度信息其中ω(i)为i时刻的角速度。对于判断波峰/波谷是否存在,首先查找角度变化的拐点,拐点的判断为(θ(t)-θ(t-1))*(θ(t)-θ(t+1))≥0,当查找到拐点后,确定该拐点的左右边界,左右边界的确定由左边界到拐点/右边界到拐点需要有单调性,如左边界到拐点之间的任意两个点斜率方向相同;确定好边界后,若波峰/波谷的长度大于一个阈值则认为存在波峰/波谷,并将波峰/波谷处的角度值vm设置为拐点处的值,将θe设置为波峰/波谷结束点处的角度值;手势信号的角度信息绝对值最大值vabsMax由vabsMax=MAX(ABS(Θ))求得,其中Θ为手势信号的角度信息。步骤S5,将得到的分类结果发送到连接到本系统的客户端。在系统启动后开始监听使用蓝牙、Wi-Fi等协议连接本系统的请求,并维护处于连接状态的客户端列表;当手势识别系统检测到手势信号后,将手势类别广播给S51中维护的客户端列表。本技术的另一目的在于提供一种基于智能手表的手势识别系统,所述手势识别系统包括信号采集模块,用于采集智能手表上的加速度计和陀螺仪传感器的信号;坐标修正模块,用于利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;计算检测模块,用于利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;判断模块,用于对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。
所述坐标修正模块中还包括数据采集记录单元,用于采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;计算设置参数单元,用于计算合加速度的大小并设置重力加速度大小为9.81m/s2;判断单元,用于判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入修正角速度单元,若否,则进入修正角速度单元;修正角速度单元,用于利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。所述计算检测模块中还包括降噪单元,用于对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);起始点判断单元,用于判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入结束点判断单元,若否,则继续检测起始点;结束点判断单元,用于判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入合并判断单元,若否,则继续检测结束点;合并判断单元,用于判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。所述降噪单元中还包括均值平滑单元,用于对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;噪音阈值判断单元,用于判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。
所述合并判断单元中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。所述判断模块中还包括特征提取分类单元,用于对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;匹配判断单元,用于判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。所述特征提取分类单元中还包括计算角速度变化单元,用于由手势的角速度数据计算执行手势过程中角度的变化;判断波峰波谷存在单元,用于判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。所述信号采集模块中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。本技术的另一目的在于提供一种基于智能手表的手势识别系统,包括:免训练手势识别,用户在使用本系统前无需采集训练样本即可实现十种方向手势的识别;信号采集检测模块,采集智能手表加速度计和陀螺仪的信号,提出基于角速度方向的改变实现对手势信号起始点和结束点的精确检测;识别分类模块,利用手势信号计算执行手势期间用户手部的旋转角度信息,实现手势信号合法性判断以及确定合法手势的手势类别;通信模块,当检测到手势后,将手势识别结果经过蓝牙、Wi-Fi等方式广播给连接到本系统的客户端,实现对不同设备的控制。
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本技术的保护范围之内。
2024年2月21日发(作者:贝珉)
本技术适用于智能设备交互技术改进领域,提供了一种智能手表的手势识别方法,包括:S1、采集智能手表上的加速度计和陀螺仪传感器的信号;S2、利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;S3、利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;S4、对检测到的手势信号提取相关手势特征并判断手势的合法性。能够在不改动智能手表的软件/硬件的前提下拓展智能手表的功能,实现十种手势的免训练识别。同时,通过与智能家居、电脑以及无人机等的配合,能够实现利用手势来对目标设备进行操控,丰富了智能手表的应用场景。技术要求1.一种基于智能手表的手势识别方法,其特征在于,所述手势识别方法包括以下步骤:S1、采集智能手表上的加速度计和陀螺仪传感器的信号;S2、利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;
S3、利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;S4、对检测到的手势信号提取相关手势特征并判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。2.根据权利要求1所述的基于智能手表的手势识别方法,其特征在于,所述步骤S2中还包括以下步骤:S21、采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;S22、计算合加速度的大小并设置重力加速度大小为9.81m/s2;S23、判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入下一步,若否,则进入下一步;S24、利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。3.根据权利要求1所述的基于智能手表的手势识别方法,其特征在于,所述步骤S3中还包括以下步骤:S31、对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);S32、判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入下一步,若否,则继续检测起始点;S33、判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入下一步,若否,则继续检测结束点;S34、判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。
4.根据权利要求3所述的基于智能手表的手势识别方法,其特征在于,所述步骤S31中还包括以下步骤:S311、对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;S312、判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。5.根据权利要求3或4所述的基于智能手表的手势识别方法,其特征在于,所述步骤S34中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。6.根据权利要求5所述的基于智能手表的手势识别方法,其特征在于,所述步骤S4中还包括以下步骤:S41、对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;S42、判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。7.根据权利要求6所述的基于智能手表的手势识别方法,其特征在于,所述步骤S41中还包括以下步骤:S411、由手势的角速度数据计算执行手势过程中角度的变化;S412、判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。8.根据权利要求1-7任一项所述的基于智能手表的手势识别方法,其特征在于,所述步骤S1中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。
9.一种基于智能手表的手势识别系统,其特征在于,所述手势识别系统包括信号采集模块,用于采集智能手表上的加速度计和陀螺仪传感器的信号;坐标修正模块,用于利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;计算检测模块,用于利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;判断模块,用于对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。10.根据权利要求9所述的基于智能手表的手势识别系统,其特征在于,所述坐标修正模块中还包括数据采集记录单元,用于采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;计算设置参数单元,用于计算合加速度的大小并设置重力加速度大小为9.81m/s2;判断单元,用于判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入下一步,若否,则进入下一步;修正角速度单元,用于利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。技术说明书一种基于智能手表的手势识别方法及系统技术领域
本技术属于智能设备交互技术改进领域,尤其涉及一种基于智能手表的惯性传感器手势识别方法及系统。背景技术目前,可穿戴设备越来越受消费者的欢迎,尤其对于智能手表。同时,各大厂商也推出了各式各样的智能家居设备。然而,智能家居设备的操控方式比较单一,主要以语音识别和手机app为主,存在一定的局限性和不便性。同时,目前的智能手表设备应用场景比较有限,多用于如步数记录、心率测量以及手机消息查看等,智能手表的功能仍有待探索。技术内容本技术的目的在于提供一种基于智能手表的手势识别方法,旨在解决上述的技术问题。本技术是这样实现的,一种基于智能手表的手势识别方法,所述手势识别方法包括以下步骤:S1、采集智能手表上的加速度计和陀螺仪传感器的信号;S2、利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;S3、利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;S4、对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述步骤S2中还包括以下步骤:S21、采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;S22、计算合加速度的大小并设置重力加速度大小为9.81m/s2;
S23、判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入下一步,若否,则进入下一步;S24、利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。本技术的进一步技术方案是:所述步骤S3中还包括以下步骤:S31、对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);S32、判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入下一步,若否,则继续检测起始点;S33、判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入下一步,若否,则继续检测结束点;S34、判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。本技术的进一步技术方案是:所述步骤S31中还包括以下步骤:S311、对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;S312、判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。本技术的进一步技术方案是:所述步骤S34中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。本技术的进一步技术方案是:所述步骤S4中还包括以下步骤:S41、对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;
S42、判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述步骤S41中还包括以下步骤:S411、由手势的角速度数据计算执行手势过程中角度的变化;S412、判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。本技术的进一步技术方案是:所述步骤S1中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。本技术的另一目的在于提供一种基于智能手表的手势识别系统,所述手势识别系统包括信号采集模块,用于采集智能手表上的加速度计和陀螺仪传感器的信号;坐标修正模块,用于利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;计算检测模块,用于利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;判断模块,用于对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述坐标修正模块中还包括数据采集记录单元,用于采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;计算设置参数单元,用于计算合加速度的大小并设置重力加速度大小为9.81m/s2;
判断单元,用于判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入修正角速度单元,若否,则进入修正角速度单元;修正角速度单元,用于利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。本技术的进一步技术方案是:所述计算检测模块中还包括降噪单元,用于对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);起始点判断单元,用于判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入结束点判断单元,若否,则继续检测起始点;结束点判断单元,用于判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入合并判断单元,若否,则继续检测结束点;合并判断单元,用于判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。本技术的进一步技术方案是:所述降噪单元中还包括均值平滑单元,用于对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;噪音阈值判断单元,用于判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。本技术的进一步技术方案是:所述合并判断单元中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。本技术的进一步技术方案是:所述判断模块中还包括
特征提取分类单元,用于对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;匹配判断单元,用于判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。本技术的进一步技术方案是:所述特征提取分类单元中还包括计算角速度变化单元,用于由手势的角速度数据计算执行手势过程中角度的变化;判断波峰波谷存在单元,用于判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。本技术的进一步技术方案是:所述信号采集模块中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。本技术的有益效果是:能够在不改动智能手表的软件/硬件的前提下拓展智能手表的功能,实现十种手势的免训练识别。同时,通过与智能家居、电脑以及无人机等的配合,能够实现利用手势来对目标设备进行操控,丰富了智能手表的应用场景。附图说明图1是本技术实施例提供的基于智能手表的手势识别方法的流程图。图2是本技术实施例提供的陀螺仪坐标修正流程图。具体实施方式如图1所示,本技术提供的基于智能手表的手势识别方法流程图,其详述如下:步骤S1,采集智能手表上的加速度计和陀螺仪传感器的信号;编写程序代码采集智能手表加速度计和陀螺仪的信号;在采集信号的过程中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。
步骤S2,利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;如图2所示,利用加速度计数据对陀螺仪数据进行坐标系修正,具体步骤如下:初始化倾斜角θ为0,此时cosθ、sinθ分别为1、0。采集加速度计X、Y、Z轴数据,分别记为ax、ay、az,采集陀螺仪X、Y、Z轴数据,分别记为gx、gy、gz。计算合加速度的大小取重力加速度大小约为9.81m/s2,若合加速度a与重力加速度之差的绝对值小于重力加速度大小的10%(即0.981)则更新倾斜角度θ信息:利用倾斜角度θ信息,可以修正陀螺仪y轴和z轴角速度信号,具体为::其中为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。至此,完成了陀螺仪数据的坐标系纠正。步骤S3,利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;对用户正在执行的手势信号进行起始点和结束点的自动检测。具体步骤如下:对陀螺仪每个轴的数据均进行降噪:对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒,记t时刻降噪后的数据为p(t)。具体降噪操作为:对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒。同时,对于平滑后的信号,若小于给定的噪音阈值,则将值设置为0,否则保持原值不变。检测起始点阶段,若p(t)≠0且p(t-1)=0,则记手势信号起始点为b,并进入检测结束点阶段,否则继续检测起始点。在检测结束点阶段,若陀螺仪速度方向发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,则记手势信号结束点为e,并进入到合并阶段,否则继续检测结束点。在合并阶段,首先检测是否需要与其他轴的信号检测信息合并,合并操作是为了避免发生同一手势在三个轴同时被检测到的情况。对于其他检测到手势信号的轴,满足以下任意情况时需要合并当前手势信息到其他轴:1)检测到的起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或2)两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度。若发生手势信息合并,则不将当前轴检测到的手势信息传递给分类模块,否则将手势信息传递给分类模块。步骤S4,对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。对检测到的手势信号提取特征,并判断其合法性,将合法信号分类到指定手势类别中。具体步骤如下:
对陀螺仪每个轴分别提取手势特征,包括执行手势过程中角度变化是否出现波峰/波谷,波峰/波谷处的角度值vm、波峰/波谷结束时的角度θe以及绝对值的最大值vabsMax。根据提取到的特征,十种手势会对应有不同的特征,根据特征信息将手势信号分类到特定的手势;若提取的特征与十种手势均不匹配,则认为当前检测到的手势信号为非法信号。具体的,步骤S4中提取手势特征的方法为:首先,由手势的角速度数据计算执行手势过程中角度的变化,记t时刻的旋转角度信息其中ω(i)为i时刻的角速度。对于判断波峰/波谷是否存在,首先查找角度变化的拐点,拐点的判断为(θ(t)-θ(t-1))*(θ(t)-θ(t+1))≥0,当查找到拐点后,确定该拐点的左右边界,左右边界的确定由左边界到拐点/右边界到拐点需要有单调性,如左边界到拐点之间的任意两个点斜率方向相同;确定好边界后,若波峰/波谷的长度大于一个阈值则认为存在波峰/波谷,并将波峰/波谷处的角度值vm设置为拐点处的值,将θe设置为波峰/波谷结束点处的角度值;手势信号的角度信息绝对值最大值vabsMax由vabsMax=MAX(ABS(Θ))求得,其中Θ为手势信号的角度信息。步骤S5,将得到的分类结果发送到连接到本系统的客户端。在系统启动后开始监听使用蓝牙、Wi-Fi等协议连接本系统的请求,并维护处于连接状态的客户端列表;当手势识别系统检测到手势信号后,将手势类别广播给S51中维护的客户端列表。本技术的另一目的在于提供一种基于智能手表的手势识别系统,所述手势识别系统包括信号采集模块,用于采集智能手表上的加速度计和陀螺仪传感器的信号;坐标修正模块,用于利用加速度计信号估计设备的倾斜角并对陀螺仪信号进行坐标修正;计算检测模块,用于利用基于角速度方向改变的手势信号检测算法检测用户手势信号的起始点和结束点;判断模块,用于对检测到的手势信号提取相关手势特征,判断手势的合法性,若手势合法,则将其分类到对应的手势类别并将分类结果输出,若手势不合法,则认为当前检测到的手势信号为非法信号。
所述坐标修正模块中还包括数据采集记录单元,用于采集加速度计X、Y、Z轴数据并记为ax、ay、az,采集陀螺仪X、Y、Z轴数据并记为gx、gy、gz;计算设置参数单元,用于计算合加速度的大小并设置重力加速度大小为9.81m/s2;判断单元,用于判断合加速度a与重力加速度之差的绝对值是否小于重力加速度大小的10%,若是,则更新倾斜角度θ信息:并进入修正角速度单元,若否,则进入修正角速度单元;修正角速度单元,用于利用倾斜角度θ信息,修正陀螺仪y轴和z轴角速度信号:其中,为修正后的陀螺仪y轴数据,为修正后的陀螺仪z轴数据。所述计算检测模块中还包括降噪单元,用于对陀螺仪每个轴的数据均进行降噪并记录t时刻降噪后的数据为p(t);起始点判断单元,用于判断检测起始点阶段是否p(t)≠0且p(t-1)=0,若是,则进入结束点判断单元,若否,则继续检测起始点;结束点判断单元,用于判断检测结束点阶段陀螺仪速度方向是否发生变化,即p(t)*p(t-1)≤0且p(t)、p(t-1)不同时为0,若是,则记手势信号结束点为e,并进入合并判断单元,若否,则继续检测结束点;合并判断单元,用于判断检测是否需要与其他轴的信号检测信息合并,若是,则发生手势信息合并,不将当前轴检测到的手势信息传递出去,若否,则将手势信息传递出去。所述降噪单元中还包括均值平滑单元,用于对陀螺仪每个轴分别使用滑动均值窗口平滑信号,滑动均值窗口长度大小设置为0.2秒;噪音阈值判断单元,用于判断平滑信号是否小于设定的噪音阈值,若是,则将该信号值设置为0,若否,保持原值不变。
所述合并判断单元中检测到起始点相同,且当前轴检测到的手势信号绝对值最大值小于其他轴检测到的手势信号绝对值最大值,或者两个轴对手势信号的检测区域重叠率超过一定阈值,重叠率计算方法为其他轴检测到的手势长度除以当前轴检测到的手势长度时合并当前手势信息到其他轴。所述判断模块中还包括特征提取分类单元,用于对陀螺仪每个轴分别提取手势特征并根据特征信息将手势信号分类到特定的手势;匹配判断单元,用于判断手势与设定的十种手势是否匹配,若匹配,则分类结果输出,若不匹配,则认为当前检测到的手势信号为非法信号。所述特征提取分类单元中还包括计算角速度变化单元,用于由手势的角速度数据计算执行手势过程中角度的变化;判断波峰波谷存在单元,用于判断角速度变化中波峰/波谷是否存在,若存在,则手势信号的角度信息绝对值最大值vabsMax=MAX(ABS(Θ)),若不存在,则认为当前手势信号为非法信号,其中,Θ为手势信号的角度信息。所述信号采集模块中分别采集加速度计和陀螺仪的X、Y、Z三轴的信号。本技术的另一目的在于提供一种基于智能手表的手势识别系统,包括:免训练手势识别,用户在使用本系统前无需采集训练样本即可实现十种方向手势的识别;信号采集检测模块,采集智能手表加速度计和陀螺仪的信号,提出基于角速度方向的改变实现对手势信号起始点和结束点的精确检测;识别分类模块,利用手势信号计算执行手势期间用户手部的旋转角度信息,实现手势信号合法性判断以及确定合法手势的手势类别;通信模块,当检测到手势后,将手势识别结果经过蓝牙、Wi-Fi等方式广播给连接到本系统的客户端,实现对不同设备的控制。
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本技术的保护范围之内。