搜索 分析 新世界 法规 图书 网址导航 更多
高级用户登录 | 登录 | |

基于运动传感器提高智能设备手势识别精度的误差补偿方法
审中-实审

申请号:201510278151.8 申请日:2015-05-27
摘要:本发明公开了一种基于运动传感器提高智能设备手势识别精度的误差补偿方法,通过同时使用加速度传感器和陀螺仪,提高识别准确率和用户体验。在运动检测中,针对现有方案中计算量大,每个手势的测量值由于用户个体的差异而有所区别的问题,本发明采用一种基于自适应阈值的方法来对滤波后的手势信号进行分段,确定手势的起点和终点。在加速度误差补偿阶段,对经过坐标转换的加速度值进行误差补偿,从而减小加速度的零位移偏差对手势识别精度的影响。
申请人: 东南大学
地址: 214135 江苏省无锡市无锡新区菱湖大道99号
发明(设计)人: 徐平平 杨璐纯
主分类号: G06F3/01(2006.01)I
分类号: G06F3/01(2006.01)I G06F3/0346(2013.01)I
  • 法律状态
2015-09-23  实质审查的生效IPC(主分类):G06F 3/01申请日:20150527
2015-08-26  公开
注:本法律状态信息仅供参考,即时准确的法律状态信息须到国家知识产权局办理专利登记簿副本。
  • 其他信息
主权项  一种基于运动传感器提高智能设备手势识别精度的误差补偿方法,其特征在于:同时使用加速度传感器和陀螺仪进行手势识别,具体包括如下步骤:(1)运动检测阶段:基于自适应阈值的方法对滤波后的手势信号进行分段,以确定手势起点和手势终点,即:当去除重力加速度后的加速度幅值和角速度幅值中任意一个大于起点设置的门限时,确定对应时刻为手势起点;当去除重力加速度后的加速度幅值和角速度幅值均小于终点设置的门限时,确定对应时刻为手势终点;同时,为了有效减少因抖动而造成的误检测,引入超时机制以去除误动作;具体执行过程如下:对于加速度传感器和陀螺仪检测到的原始采样信号,先通过低通滤波器滤除高频分量,接着进行如下计算:使用分别表示加速度传感器在第n个采样点上的X、Y、Z轴上的加速度值,使用分别表示陀螺仪在第n个采样点上的X、Y、Z轴上的角速度值,计算:<mrow><msub><mi>R</mi><mi>a</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><msqrt><msup><mrow><mo>(</mo><msubsup><mi>x</mi><mi>n</mi><mi>a</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>y</mi><mi>n</mi><mi>a</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>z</mi><mi>n</mi><mi>a</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><mi>g</mi><mo>|</mo></mrow><mrow><msub><mi>R</mi><mi>w</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><msqrt><msup><mrow><mo>(</mo><msubsup><mi>x</mi><mi>n</mi><mi>w</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>y</mi><mi>n</mi><mi>w</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>z</mi><mi>n</mi><mi>w</mi></msubsup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>|</mo></mrow>其中,g表示重力加速度,Ra(n)表示第n个采样点上去除重力加速度的加速度幅值,Rw(n)表示第n个采样点上的角速度幅值;进行如下判断:①若Ra(M)>δth1,M=n1,n1+1…,n1+N,则判断采样点n1为加速度起点;若Rw(M)>δth2,M=m1,m1+1…,m1+N,则判断采样点m1为角速度起点;在此引入超时机制,判断在检测到加速度起点/角速度起点后的一定时长t*内,是否检测到角速度起点/加速度起点,若检测到,则确定手势起点的坐标为A=min(n1,m1);其中,N=5;②若Ra(M)<δth1,M=n2,n2+1…,n2+N,则判断采样点n2为加速度终点;若Rw(M)<δth2,M=m2,m2+1…,m2+N,则判断采样点m2为角速度终点;确定手势终点的坐标为B=max(n2,m2);其中,N=5;以t0~t1时段表示运动前的静止时段,计算该静止时段的所有采样点的加速度平均值和角速度平均值同时设定系数Kt,定义加速度阈值δth1和角速度阈值δth2分别为:<mrow><msub><mi>&delta;</mi><mrow><mi>th</mi><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>K</mi><mi>t</mi></msub><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>a</mi></msub></mrow><mrow><msub><mi>&delta;</mi><mrow><mi>th</mi><mn>2</mn></mrow></msub><mo>=</mo><msub><mi>K</mi><mi>t</mi></msub><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>w</mi></msub></mrow>(2)手势的三维空间轨迹重建阶段:对于加速度传感器和陀螺仪检测到的原始采样信号,先通过低通滤波器滤除高频分量,接着进行如下计算:对经过低通滤波器滤波后的原始采样信号先进行坐标转换,然后对坐标转换后的加速度值进行前段补偿和后段补偿,接着对补偿后的加速度值进行积分以得到速度,最后对速度进行后段补偿,最终积分获得手势的三维空间轨迹;具体执行过程如下:以t1~t2时段表示运动时段,以t2~tend时段表示运动后的静止时段,将t时刻的原始加速度值进行坐标转换后得到an(t),以表示t0~t1时段内加速度an(t)的平均值,以表示t2~tend时段内加速度an(t)的平均值;对an(t)进行前段补偿后得到对an(t)进行后段补偿后得到<mrow><msup><mover><mi>a</mi><mo>=</mo></mover><mi>n</mi></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msup><mi>a</mi><mi>n</mi></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mfrac><msub><mover><mi>a</mi><mo>&OverBar;</mo></mover><mrow><msub><mi>t</mi><mn>0</mn></msub><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub></mrow></msub><msub><mi>t</mi><mn>1</mn></msub></mfrac></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mi>end</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow><mrow><msup><mover><mi>a</mi><mo>^</mo></mover><mtext>n</mtext></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msup><mover><mi>a</mi><mo>=</mo></mover><mi>n</mi></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mfrac><mrow><msub><mover><mi>a</mi><mo>&OverBar;</mo></mover><mrow><msub><mi>t</mi><mn>2</mn></msub><mo>-</mo><msub><mi>t</mi><mi>end</mi></msub></mrow></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>t</mi><mn>2</mn></msub><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub></mrow></mfrac></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mi>end</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow>对补偿后的加速度值进行积分后得到速度Vn(t):<mrow><msup><mi>V</mi><mi>n</mi></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msup><mover><mi>a</mi><mo>=</mo></mover><mi>n</mi></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mrow><mo>(</mo><mi>t</mi><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>-</mo><mfrac><mrow><msub><mover><mi>a</mi><mo>&OverBar;</mo></mover><mrow><msub><mi>t</mi><mn>2</mn></msub><mo>-</mo><msub><mi>t</mi><mi>end</mi></msub></mrow></msub><msup><mrow><mo>(</mo><mi>t</mi><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><mn>2</mn><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></mfrac></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mi>end</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow>对速度进行后段补偿得到最终速度<mrow><msup><mover><mi>V</mi><mo>^</mo></mover><mtext>n</mtext></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><mn>0</mn><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msup><mi>V</mi><mi>n</mi></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mfrac><mrow><msup><mi>V</mi><mi>n</mi></msup><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>-</mo><msup><mi>V</mi><mi>n</mi></msup><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>t</mi><mn>2</mn></msub><mo>-</mo><msub><mi>t</mi><mn>1</mn></msub></mrow></mfrac><mrow><mo>(</mo><msub><mrow><mi>t</mi><mo>-</mo><mi>t</mi></mrow><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>&lt;</mo><mi>t</mi><mo>&le;</mo><msub><mi>t</mi><mi>end</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow>对补偿后的速度进行积分从而还原手势的三维空间轨迹。
公开号  104866099A
公开日  2015-08-26
专利代理机构  南京瑞弘专利商标事务所(普通合伙) 32249
代理人  黄成萍
颁证日  
优先权  
国际申请  
国际公布  
进入国家日期