手势识别方法、装置、设备及存储介质制造方法及图纸

技术编号:21831768 阅读:30 留言:0更新日期:2019-08-10 17:40
一种手势识别的方法,应用于可穿戴设备技术领域,包括:S1,初始化惯性传感器的姿态四元数、惯性传感器在地理坐标系下的三轴加速度矢量、惯性传感器在机体坐标系下的三轴陀螺仪矢量及手势特征码,S2,获取三轴加速度矢量和三轴陀螺仪矢量,S3,基于三轴加速度矢量和三轴陀螺仪矢量,判断惯性传感器的状态是否为非静止状态,S4,基于三轴加速度矢量,计算并记录运动矢量角,S5,基于运动矢量角,判定手势识别码,S6,基于手势识别码,更新手势特征码,S7,在预置的手势特征码库中,查找手势特征码,以识别用户的手势。本公开还提供了一种手势识别的装置、设备及存储介质。本公开有效解决了现有技术对手势动作要求较高导致的识别精度不高的问题。

Gesture Recognition Method, Device, Equipment and Storage Media

【技术实现步骤摘要】
手势识别方法、装置、设备及存储介质
本公开涉及可穿戴设备
,尤其涉及一种手势识别方法、装置及存储介质。
技术介绍
智能穿戴设备是目前消费电子领域的热点方向之一。利用可穿戴设备上的惯性传感器,如加速度计、陀螺仪等,可以对佩戴者的手势进行检测和识别。与基于视觉的手势识别方法相比,基于惯性传感器的手势识别方法具有不受环境光线影响、识别速度快、成本低等优点。现阶段基于惯性传感器的手势识别方法会建立手势动作库,手势动作库包含大量手势动作特征,通过将惯性传感器感应到的动作特征与手势动作库中的手势动作特征对比来识别手势。这种方法对用户的手势动作要求相对较高,若用户的手势动作与标准动作有差异,很容易会导致无法识别该用户的手势动作,因此识别精度不高。
技术实现思路
本公开提出了一种手势识别方法、装置及存储介质,以至少解决上述技术问题。本公开的一个方面提供了一种手势识别的方法,包括:S1,初始化惯性传感器的姿态四元数、所述惯性传感器在地理坐标系下的三轴加速度矢量、所述惯性传感器在机体坐标系下的三轴陀螺仪矢量及手势特征码,所述惯性传感器用于感知用户的手势;S2,获取所述三轴加速度矢量和三轴陀螺仪矢量;S3,基于所述三轴加速度矢量和所述三轴陀螺仪矢量,判断所述惯性传感器的状态是否为非静止状态,若所述惯性传感器为静止状态,则再次执行S2,若所述惯性传感器为非静止状态,则执行S4;S4,基于所述三轴加速度矢量,计算并记录运动矢量角;S5,基于所述运动矢量角,判定手势识别码;S6,基于所述手势识别码,更新所述手势特征码;S7,在预置的手势特征码库中,查找所述手势特征码,以识别所述用户的手势。可选的,所述基于所述三轴加速度矢量和所述三轴陀螺仪矢量,判断所述惯性传感器的状态是否为非静止状态包括:基于所述三轴加速度矢量和所述三轴陀螺仪矢量,更新所述姿态四元数;基于所述姿态四元数,计算三轴加速度运动矢量;计算所述三轴加速度运动矢量的模,包括:令所述三轴加速度运动矢量为[EarthAccX,EarthAccY,EarthAccZ],所述三轴加速度运动矢量的模为normAcc,则:判断所述三轴运动矢量的模是否大于预设的阈值,当所述三轴运动矢量的模大于预设的阈值时,则所述惯性传感器为非静止状态。可选的,所述基于所述三轴加速度矢量和所述三轴陀螺仪矢量,更新所述姿态四元数包括:令所述三轴加速度矢量为[ax,ay,az],所述三轴陀螺仪矢量为[gx,gy,gz],所述姿态四元数为[q0,q1,q2,q3],则:q0=q0+(-q1*gx-q2*gy-q3*gz)*DeltaTime/2;q1=q1+(q0*gx+q2*gz-q3*gy)*DeltaTime/2;q2=q2+(q0*gy-q1*gz+q3*gx)*DeltaTime/2;q3=q3+(q0*gz+q1*gy-q2*gx)*DeltaTime/2;其中,DeltaTime为更新所述姿态四元数的时间差。可选的,所述基于所述姿态四元数,计算三轴加速度运动矢量包括:令所述姿态四元数为[q0,q1,q2,q3],所述三轴加速度矢量为[ax,ay,az],所述三轴加速度运动矢量为[EarthAccX,EarthAccY,,EarthAccZ],则:EarthAccX=2*ax*(0.5-q2*q2-q3*q3)+2*ay*(q1*q2-q0*q3)+2*az*(q1*q3+q0*q2);EarthAccY=2*ax*(q1*q2+q0*q3)+2*ay*(0.5-q1*q1-q3*q3)+2*az*(q2*q3-q0*q1);EarthAccZ=2*ax*(q1*q3-q0*q2)+2*ay*(q2*q3+q0*q1)+2*az*(0.5-q1*q1-q2*q2)-1。可选的,所述基于所述三轴加速度矢量,计算并记录运动矢量角包括:基于所述三轴加速度矢量分别在所述地理坐标系的三个轴上的分量的时域图,选取所述分量的峰值较大的两个轴,令所述两个轴组成的平面为运动主平面;计算所述惯性传感器在所述运动主平面中的运动矢量角。可选的,所述基于所述运动矢量角,判定手势识别码包括:定义一个四象限图,所述四象限图第一象限与第二象限之间的轴为1轴,第二象限与第三象限之间的轴为2轴,第三象限与第四象限之间的轴为3轴,第一象限与第四象限之间的轴为4轴;令所述运动矢量角为CurAngle,所述惯性传感器中记录的上一次执行步骤S2~S4得到的所述运动矢量角为PreAngle,在所述四象限图中分别表示出CurAngle和PreAngle,则:若PreAngle<90°,且CurAngle>90°,则说明角度从PreAngle变为CurAngle在所述四象限图中逆时针跨越了1轴,记手势识别码为-1;若PreAngle<180°,且CurAngle>180°,则说明角度从PreAngle变为CurAngle在所述四象限图中逆时针跨越了2轴,记手势识别码为-2;若PreAngle<270°,且CurAngle>270°,则说明角度从PreAngle变为CurAngle在所述四象限图中逆时针跨越了坐标轴3,记手势识别码为-3;若PreAngle<0°,且CurAngle>0°,则说明角度从PreAngle变为CurAngle在所述四象限图中逆时针跨越了坐标轴4,记手势识别码为-4;若PreAngle>90°,且CurAngle<90°,则说明角度从PreAngle变为CurAngle在所述四象限图中顺时针跨越了1轴,记手势识别码为1;若PreAngle>180°,且CurAngle<180°,则说明角度从PreAngle变为CurAngle在所述四象限图中顺时针跨越了2轴,记手势识别码为2;若PreAngle>270°,且CurAngle<270°,则说明角度从PreAngle变为CurAngle在所述四象限图中顺时针跨越了3轴,记手势识别码为3;若PreAngle>0°,且CurAngle<0°,则说明角度从PreAngle变为CurAngle在所述四象限图中顺时针跨越了4轴,记手势识别码为4。可选的,所述基于所述手势识别码,更新所述手势特征码包括:令所述手势特征码为GesCode,所述手势识别码为code,更新得到所述手势特征码为newGesCode,则:newGesCode=GesCode*10+code。本公开的另一个方面提供了一种手势识别的装置,包括:第一处理模块,初始化惯性传感器的姿态四元数、所述惯性传感器在地理坐标系下的三轴加速度矢量、所述惯性传感器在机体坐标系下的三轴陀螺仪矢量及手势特征码;第二处理模块,用于获取所述三轴加速度矢量和三轴陀螺仪矢量;第三处理模块,用于基于所述三轴加速度矢量和所述三轴陀螺仪矢量,判断所述惯性传感器的状态是否为非静止状态;第四处理模块,用于基于所述三轴加速度矢量,计算并记录运动矢量角;第五处理模块,用于基于所述运动矢量角,判定手势识别码;第六处理模块,用于基于所述手势识别码,更新所述手势特征码;第七处理模块,用于在预置的手势特征码库中,查找所述手势特征码,以识别所述用户的手势。本公开的另一个方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程本文档来自技高网...

【技术保护点】
1.一种手势识别的方法,其特征在于,包括:S1,初始化惯性传感器的姿态四元数、所述惯性传感器在地理坐标系下的三轴加速度矢量、所述惯性传感器在机体坐标系下的三轴陀螺仪矢量及手势特征码,所述惯性传感器用于感知用户的手势;S2,获取所述三轴加速度矢量和三轴陀螺仪矢量;S3,基于所述三轴加速度矢量和所述三轴陀螺仪矢量,判断所述惯性传感器的状态是否为非静止状态,若所述惯性传感器为静止状态,则再次执行S2,若所述惯性传感器为非静止状态,则执行S4;S4,基于所述三轴加速度矢量,计算并记录运动矢量角;S5,基于所述运动矢量角,判定手势识别码;S6,基于所述手势识别码,更新所述手势特征码;S7,在预置的手势特征码库中,查找所述手势特征码,以识别所述用户的手势。

【技术特征摘要】
1.一种手势识别的方法,其特征在于,包括:S1,初始化惯性传感器的姿态四元数、所述惯性传感器在地理坐标系下的三轴加速度矢量、所述惯性传感器在机体坐标系下的三轴陀螺仪矢量及手势特征码,所述惯性传感器用于感知用户的手势;S2,获取所述三轴加速度矢量和三轴陀螺仪矢量;S3,基于所述三轴加速度矢量和所述三轴陀螺仪矢量,判断所述惯性传感器的状态是否为非静止状态,若所述惯性传感器为静止状态,则再次执行S2,若所述惯性传感器为非静止状态,则执行S4;S4,基于所述三轴加速度矢量,计算并记录运动矢量角;S5,基于所述运动矢量角,判定手势识别码;S6,基于所述手势识别码,更新所述手势特征码;S7,在预置的手势特征码库中,查找所述手势特征码,以识别所述用户的手势。2.根据权利要求1中所述的方法,其特征在于,所述基于所述三轴加速度矢量和所述三轴陀螺仪矢量,判断所述惯性传感器的状态是否为非静止状态包括:基于所述三轴加速度矢量和所述三轴陀螺仪矢量,更新所述姿态四元数;基于所述姿态四元数,计算三轴加速度运动矢量;计算所述三轴加速度运动矢量的模,包括:令所述三轴加速度运动矢量为[EarthAccX,EarthAccY,EarthAccZ],所述三轴加速度运动矢量的模为normAcc,则:判断所述三轴运动矢量的模是否大于预设的阈值,当所述三轴运动矢量的模大于预设的阈值时,则所述惯性传感器为非静止状态。3.根据权利要求2所述的方法,其特征在于,所述基于所述三轴加速度矢量和所述三轴陀螺仪矢量,更新所述姿态四元数包括:令所述三轴加速度矢量为[ax,ay,az],所述三轴陀螺仪矢量为[gx,gy,gz],所述姿态四元数为[q0,q1,q2,q3],则:q0=q0+(-q1*gx-q2*gy-q3*gz)*DeltaTime/2;q1=q1+(q0*gx+q2*gz-q3*gy)*DeltaTime/2;q2=q2+(q0*gy-q1*gz+q3*gx)*DeltaTime/2;q3=q3+(q0*gz+q1*gy-q2*gx)*DeltaTime/2;其中,DeltaTime为更新所述姿态四元数的时间差。4.根据权利要求2或3所述的方法,其特征在于,所述基于所述姿态四元数,计算三轴加速度运动矢量包括:令所述姿态四元数为[q0,q1,q2,q3],所述三轴加速度矢量为[ax,ay,az],所述三轴加速度运动矢量为[EarthAccX,EarthAccY,,EarthAccZ],则:EarthAccX=2*ax*(0.5-q2*q2-q3*q3)+2*ay*(q1*q2-q0*q3)+2*az*(q1*q3+q0*q2);EarthAccY=2*ax*(q1*q2+q0*q3)+2*ay*(0.5-q1*q1-q3*q3)+2*az*(q2*q3-q0*q1);EarthAccZ=2*ax*(q1*q3-q0*q2)+2*ay*(q2*q3+q0*q1)+2*az*(0.5-q1*q1-q2*q2)-1。5.根据权利要求1所述的方法,其特征在于,所述基于所述三轴加速度矢量,计算并记录运动矢量角包括:基于所述三轴加速度矢量分别在所述地理坐标系的三个轴上的分量的时域图,选取所述分量的峰值较大的两个轴,令所述两个轴组成的平面为运动主平面;计算所述惯性传感器在所述运动主平面中的运动矢量角。6.根据权利要求1或5中任意一项所述的方法,其特征在于,所述基于所述运动矢量角,判定手...

【专利技术属性】
技术研发人员:蔡浩原李文宽赵晟霖杨磊刘春秀
申请(专利权)人:中国科学院电子学研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1