一种抗噪的手部运动轨迹快速识别方法

文档序号:31052384发布日期:2022-08-06 08:08阅读:129来源:国知局
一种抗噪的手部运动轨迹快速识别方法

1.本发明涉及一种抗噪的手部运动轨迹快速识别方法,属于动态手势识别技术领域。


背景技术:

2.动态手势识别是自然人机交互的主要手段之一,在工业控制、游戏娱乐、元宇宙中的人机交互等领域的实际应用越来越广。手部运动轨迹识别是动态手势识别的关键技术之一。由于人的肢体运动特点、环境干扰及手部检测识别技术水平等因素的影响,导致手部运动轨迹中存在大量噪声数据,给手部运动轨迹识别带来了很大的挑战性。现有的轨迹识别算法主要有两类:一是基于传统机器学习方法的轨迹识别,如基于隐markov模型的轨迹识别、基于贝叶斯方法的轨迹识别等;二是基于深度学习的轨迹识别,如基于lstm的轨迹识别、基于gru的轨迹识别等。基于传统机器学习方法的轨迹识别抗噪声能力弱,鲁棒性差。基于深度学习的轨迹识别方法速度慢,对硬件配置要求高(一般要求gpu环境),且需要大量的数据集进行训练。
3.发明目的
4.本发明的目的是在cpu计算环境下实现抗噪的手部运动轨迹快速识别,且无需准备数据集进行训练而提供一种抗噪的手部运动轨迹快速识别方法。
5.本发明的目的是这样实现的:
6.本发明提出了一种抗噪的手部运动轨迹快速识别方法,该方法可以识别上下左右移动和顺逆时针的手部运动轨迹,具有对硬件配置要求低、计算速度快、抗噪声能力强、鲁棒性好等优点。
7.具体步骤如下:
8.s0:利用滑动窗口获取长度为n的轨迹序列坐标数据,清洗掉无意义的轨迹点;
9.s1:使用隔离林算法计算轨迹中的离群点;
10.s2:逐个排查每个离群点p,分别计算p与其在轨迹序列中的前一轨迹点pre和后一轨迹点nxt的距离;如果都没有超过给定距离阈值maxdiserror则不认为p是离群点并保留下来,否则从轨迹序列中删除p,最后判断序列起、终点是否是离群点,如果是,则从轨迹序列中删除;
11.s3:使用卡尔曼滤波方法预测当前轨迹终点后下一个轨迹点的位置;
12.s4:如果存在有效轨迹点则计算有效轨迹点x轴分量的最大差距dx=max(x)-min(x)与y轴分量的最大差距dy=max(y)-min(y),其中x代表轨迹点的x轴分量组成的集合,y代表轨迹点的y轴分量组成的集合,之后计算轨迹的圆度其中s指轨迹包围而成的面积,c指轨迹点相连而成的轨迹周长,圆度的取值范围为[0,1];
[0013]
若dx>2
×
minradius,dy>2
×
minradius,r>minroundness,则认为是圆,执行s5,否则执行s6;minradius代表圆周运动最小识别半径阈值,minroundness代表认为是圆
形的最小圆度阈值;
[0014]
s5:计算圆形轨迹的中心其中yi与xi分别表示第i个轨迹点的纵坐标和横坐标;然后根据轨迹点和轨迹中心点计算轨迹点的方位角,然后计算每个相邻方位角之间的差值delta_anglei,其中i表示第i个相邻方位角差值,之后统计方位角变化的均值其中n为轨迹点个数,若为mean_delta_angle>0则为顺时针转动,mean_delta_angle<0为逆时针转动。delta_anglei的确定公式如下:
[0015]
delta_anglei=θ
i+1-θi+transcend(θi,θ
i+1
)
×

[0016][0017][0018][0019][0020]
s6:若横向运动幅度dx大于纵向运动幅度dy,并且dx>mindist且dy<maxdist,则认为是平动,mindist代表运动平均值阈值,maxdist为与运动方向垂直的方向的波动阈值,这两个变量的设置给轨迹识别以极大的容错空间,利用卡尔曼滤波器对轨迹点的预测位置和当前位置的关系判断运动方向,如果预测点在当前位置右侧则为向右移动,反之为向左移动;
[0021]
若dx<dy,并且dy》mindist且dx《maxdist,则认为是垂直移动,利用卡尔曼滤波器对轨迹点的预测位置和当前位置的关系判断运动方向,如果预测点在当前位置上侧则为向上移动,反之为向下移动;
[0022]
如果dx<mindist且dy<mindist则视为静止。
[0023]
进一步的,所述无意义的轨迹点为轨迹点初始化值、坐标值中有负数的轨迹点。
[0024]
与现有技术相比,本发明的有益效果是:
[0025]
本发明能在轨迹点含有噪声的情况下得到准确的轨迹识别结果,比基于深度学习的轨迹识别方法更快速,能够达到实时识别,不需要太高的硬件需求,能够在更多的设备上使用,与基于机器学习的方法相比更加简单,识别率更高,使手势识别能够有更广泛的应用前景。
附图说明
[0026]
图1为抗噪的手部运动轨迹识别流程图。
具体实施方式
[0027]
下面结合附图对本发明进一步说明:
[0028]
一种抗噪的手部运动轨迹快速识别方法,具体步骤如下:
[0029]
s0:利用滑动窗口获取长度为n的轨迹序列坐标数据,清洗掉无意义的轨迹点,如轨迹点初始化值(一般为坐标原点值)、坐标值中有负数的轨迹点(图像坐标系中,所有轨迹点都在第一象限,均应为正值);
[0030]
s1:使用隔离林算法计算轨迹中的离群点;
[0031]
s2:逐个排查每个离群点p,分别计算p与其在轨迹序列中的前一轨迹点pre和后一轨迹点nxt的距离。如果都没有超过给定距离阈值maxdiserror则不认为p是离群点并保留下来,否则从轨迹序列中删除p。最后判断序列起、终点是否是离群点,如果是,则从轨迹序列中删除;
[0032]
s3:使用卡尔曼滤波方法预测当前轨迹终点后下一个轨迹点的位置;
[0033]
s4:如果存在有效轨迹点则计算有效轨迹点x轴分量的最大差距dx=max(x)-min(x)与y轴分量的最大差距dy=max(y)-min(y),其中x代表轨迹点的x轴分量组成的集合,y代表轨迹点的y轴分量组成的集合。之后计算轨迹的圆度其中s指轨迹包围而成的面积,c指轨迹点相连而成的轨迹周长。圆度的取值范围为[0,1];
[0034]
若dx>2
×
minradius,dy>2
×
minradius,r>minroundness。则认为是圆,执行s5。否则执行s6。minradius代表圆周运动最小识别半径阈值,minroundness代表认为是圆形的最小圆度阈值;
[0035]
s5:计算圆形轨迹的中心其中yi与xi分别表示第i个轨迹点的纵坐标和横坐标。然后根据轨迹点和轨迹中心点计算轨迹点的方位角。然后计算每个相邻方位角之间的差值delta_anglei,其中i表示第i个相邻方位角差值。之后统计方位角变化的均值其中n为轨迹点个数。若为mean_delta_angle>0则为顺时针转动,mean_delta_angle<0为逆时针转动。delta_anglei的确定公式如下,
[0036]
delta_anglei=θ
i+1-θi+transcend(θi,θ
i+1
)
×

[0037][0038]
[0039][0040][0041]
s6:若横向运动幅度dx大于纵向运动幅度dy,并且dx>mindist且dy<maxdist,则认为是平动。mindist代表运动平均值阈值,maxdist为与运动方向垂直的方向的波动阈值。这两个变量的设置给轨迹识别以极大的容错空间。利用卡尔曼滤波器对轨迹点的预测位置和当前位置的关系判断运动方向。如果预测点在当前位置右侧则为向右移动,反之为向左移动。
[0042]
若dx<dy,并且dy》mindist且dx《maxdist。则认为是垂直移动。利用卡尔曼滤波器对轨迹点的预测位置和当前位置的关系判断运动方向。如果预测点在当前位置上侧则为向上移动,反之为向下移动。
[0043]
如果dx<mindist且dy<mindist则视为静止。
[0044]
该方法的实施使用python语言进行实现,使用scikit-learn机器学习库实现的隔离林算法来过滤轨迹点序列中的异常点,利用opencv的卡尔曼滤波实现轨迹的跟踪和圆度相关计算。
[0045]
在步骤s1中,隔离林算法设定森林中树的棵树为10,对轨迹点序列进行拟合,之后再次对该轨迹点序列进行异常点预测,1为正常值,-1为异常值。步骤s2中maxdiserror的实验取值为100。
[0046]
在步骤s3中,卡尔曼滤波参数设置表格如下:
[0047][0048]
卡尔曼滤波器设置手部运动轨迹初始点时需要对滤波器进行8次更正与预测以保
证滤波器预测位置快速移动到初始点。每次更正对当前位置、测量位置和上一测量位置进行更新,每次预测对预测位置进行更新。
[0049]
在步骤s4中,minradius设置为20,minroundness设置为0.4。轨迹点组成的面积和周长通过opencv的contourarea和arclength函数对轨迹点组成的面积和周长近似计算。
[0050]
步骤s5中,通过计算轨迹点序列每个维度的均值来确定圆心,利用numpy的反正切函数对每个点的方位角进行计算。由于返回的取值范围在[-π,π]之间,所以需要对在[-π,0)的计算结果加上2π使返回的范围落在[0,2π]之间。
[0051]
在步骤s6中,mindist设置为50,maxdist设置为100。
[0052]
本发明提供了一种抗噪的手部运动轨迹快速识别方法,使用隔离林算法计算轨迹中的离群点;使用卡尔曼滤波方法预测当前轨迹终点后下一个轨迹点的位置;检测起点是否为离群点;与前后两点距离是否都小于阈值来确定保留点和舍弃点;判断重点是否为离群点,并且行列最大距离都是大于最小直径阈值;确定统计方向角变化均值判断轨迹顺逆时针,或者根据横纵向运动幅度与距离阈值和波动阈值的关系,预测位置和当前位置关系判断移动方向或判断为静止,最后结束;本发明可以识别上下左右移动和顺逆时针的手部运动轨迹,具有对硬件配置要求低、计算速度快、抗噪声能力强、鲁棒性好等优点。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1