技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种快速多笔手势识别方法与流程  >  正文

一种快速多笔手势识别方法与流程

  • 国知局
  • 2024-09-05 14:29:06

本发明涉及手势识别领域,具体为一种快速多笔手势识别方法。

背景技术:

1、随着触控技术和手写笔输入设备的普及,手势识别已成为用户界面设计中的一个重要方面。手势识别技术允许用户通过简单的手势来交互,提供了一种直观和自然的方式来控制和导航计算机系统、移动设备、智能家居设备等。

2、现有技术方案主要是通过神经网络识别手势,它利用深度学习技术来实现手势识别。下面是一种基本的神经网络手势识别方法的步骤:

3、1、数据准备:收集手势数据集,包括手势路径或图像以及对应的标签(手势类别)。数据集应具有足够的样本覆盖各种手势类别和变化情况。

4、2、数据预处理:对手势数据进行预处理,如归一化、平滑化或图像处理等,以便于神经网络的训练和识别。

5、3、网络设计:设计适合手势识别任务的神经网络结构。常见的结构包括卷积神经网络(cnn)、循环神经网络(rnn)或其变种,用于提取手势数据中的特征。

6、4、网络训练:使用手势数据集对神经网络进行训练。训练过程中,将手势数据输入网络,通过反向传播算法来优化网络参数,使网络能够准确地学习手势的特征和类别。

7、5、网络评估:使用独立的测试数据集评估训练好的神经网络的性能。可以计算准确率、召回率、f1分数等指标来评估手势识别的效果。

8、6、实时识别:将训练好的神经网络部署到实际应用中,实现实时手势识别。在实时场景中,将手势数据输入网络,通过前向传播算法得到手势的预测类别。

9、神经网络手势识别方法的优点在于其强大的特征学习能力和灵活性。神经网络能够自动学习手势数据中的复杂特征,并且可以通过调整网络结构和参数来适应不同的手势识别任务。然而,神经网络方法也需要大量的标注数据和计算资源进行训练,并且对于小样本或特定手势类别的识别可能存在挑战。

10、因此现有技术的缺点如下:

11、高资源消耗:深度学习模型尤其是复杂的神经网络,往往需要大量的计算资源,包括显著的gpu加速和大量的内存,这在资源有限的移动设备或嵌入式系统中是一个问题。

12、大量训练数据:深度学习模型需要大量的标注训练数据来训练模型,收集和标注这些数据是耗时且昂贵的。

13、泛化能力有限:神经网络模型在训练数据上表现良好,但对于未见过的手势或变化可能会表现不佳,除非进行了充分的训练。

14、可解释性差:深度学习模型通常被认为是黑盒模型,很难理解模型内部的决策过程,这在需要可解释性的应用中是一个缺点。

15、部署和维护复杂:模型一旦部署,对其进行更新和维护需要重新训练并且可能需要专业知识。

16、针对现有技术的这些缺点,本发明的目的包括:

17、简化算法:开发一种算法简单的手势识别器,易于理解和实现,便于快速集成到用户界面原型中。

18、减少数据需求:通过支持基于单个模板自动扩展到所有笔顺序组合的手势识别,减少训练数据的需求量。

19、增强泛化能力:设计能够自动区分一维和二维手势的识别器,以适应多样化的交互需求,并提供泛化能力以适应多种手势。

20、提供方向不变性:支持不同方向的手势输入,使得用户不必担心输入手势的具体方向。

21、优化速度:通过采用两种速度优化方法,确保识别过程的快速性,使得系统可以实时响应用户的手势输入。

22、综上所述,本发明的目的是提供一种轻量级、高效、易于部署和维护,同时具有较好泛化能力和可解释性的多笔手势识别方法,以解决现有技术在快速原型设计和用户界面开发中的应用局限。

技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本发明提供了一种快速多笔手势识别方法,解决了上述的问题。

3、(二)技术方案

4、为实现上述所述目的,本发明提供如下技术方案:一种快速多笔手势识别方法,包括以下步骤:

5、第一步:进行重新采样,得到重采样点集合,随后处理舍入误差,得到点集p;

6、第二步:计算指示角并进行旋转,计算得到旋转后的点集旋转rotateq;

7、第三步:计算边界框,按照点集边界框缩放到特定的大小;

8、第四步:设定一个新的参考点pt,将点集p平移到新的质心位置pt,对于每个点pi,平移后的点qi的坐标(qxi,qyi)可以按以下方式计算:

9、qxi=xi+px-cx,qyi=yi+py-cy;

10、第五步:将点集转换为一个标准化的向量数组;

11、第六步:将多个笔画strokes组合成一个连续的单笔画points;

12、第七步:计算起始单元向量的角度。

13、优选的,所述第一步的具体内容如下:

14、s1:计算路径长度l:

15、

16、其中pi表示路径上的第i个点,pi.x和pi.y分别表示该点的横纵坐标;

17、计算重采样间隔i:

18、给定目标点数n,重采样间隔i是路径长度l除以n-1。

19、

20、s2:重采样点集合:

21、初始化新点集合q并添加第一个点p1,遍历原始点集合p;

22、令d为当前累积距离,初始化为0。对于每一对相邻点,对于每一对相邻点p_{i-1}和和p_i,计算它们之间的距离,计算它们之间的距离d:

23、

24、如果累积距离d+d大于或等于间隔i,插入一个新点qj:

25、

26、

27、将新点qj添加到q中,并将d重置为0,如果d+d小于小于i,则累积距离,则累积距离d增加d;

28、s3:处理舍入误差:

29、如果新点集合q中的点数少于n,则将原始点集合p中的最后一个点pm添加到q中;

30、最终的新点集合q将包含n个点,每个点均匀分布在原始路径上;

31、通过上述计算方法对点集进行重新采样,n和m均为96,将用户的点采用为96个新的点集。

32、优选的,所述第二步的具体内容如下:

33、给定点集p={p1,p2,...,pm},其中每个点pi有坐标(xi,yi),几何中心c的坐标(cx,cy)可以通过以下方式计算:

34、

35、其中m是点集中点的总数;

36、计算指示角:

37、计算从第一个点p1到质心c的向量与水平轴之间的角度θ;

38、θ=arctan2(cy-p1.y,cx-p1.x)

39、用这个指示角度-θ的弧度,将每个点pi关于质心c旋转后的新位置qi的坐标(qxi,qyi)可以通过以下变换计算:

40、gxi=(xi-cx)cos(α)-(yi-cy)sin(α)+cx

41、qyi=(xi-cx)sin(α)+(yi-cy)cos(α)+cy

42、其中(xi,yi)是原始点pi的坐标,(qxi,qyi)是旋转后的新点qi的坐标。

43、优选的,所述第三步的具体内容如下:

44、计算边界框;

45、对于点集p={p1,p2,...,pn},边界框的计算可以表示为:

46、minx=min(xl,x2,...,xn)

47、miny=min(y1,y2,...,yn)

48、maxx=max(x1,x2,...,xn)

49、maxy=max(y1,y2,...,yn);

50、边界框的宽度和高度分别为:

51、width=maxx-minx,height=maxy-miny;

52、通过比较边界框的宽度和高度确定手势是一维还是二维的:

53、

54、如果uniformly为true,则手势被视为一维,否则被视为二维;

55、缩放点集:

56、对于每个点pi,缩放后的点qi的坐标(qxi,qyi)可以按以下方式计算:

57、如果手势是一维的:

58、

59、如果手势是二维的:

60、

61、ratio1d范围是0.20-0.35,默认值是0.25。

62、优选的,所述第五步的具体内容如下:

63、计算向量:

64、设点集p={p0,p1,...,pn},我们要计算从p0到pindex的向量→v,这可以表示为:

65、

66、其中(x0,y0)是点p0的坐标,(xindex,yindex)是点pindex的坐标;

67、计算向量长度:

68、向量→v的长度(或模)可以通过欧几里得距离公式计算:

69、

70、标准化向量:

71、将向量→v标准化为单位向量→u,其长度为1,可以表示为:

72、

73、→u是→v的单位向量版本,保持了→v的方向,但长度为1;

74、index被设定为点数总量的八分之一,即如果总点数是n,那么index=n/8。

75、优选的,所述第六步的具体内容如下:

76、笔画集合s={s1,s2,...,sm},其中每个笔画si包含一系列点p={pi1,pi2,...,pin},那么组合操作可以表示为:

77、

78、其中pcombined是所有笔画点的集合。

79、优选的,所述第七步的具体内容如下:

80、对于候选手势和每个模板中的单笔画,计算它们起始单元向量之间的角度,如果候选手势的起始单元向量是→v1,模板中的单笔画的起始单元向量是→v2,那么角度可以通过向量的点积计算,并用反余弦函数得到:

81、

82、如果θ≤anglesimilaritythreshold(30度的弧度),继续比较;

83、计算距离;

84、更新最佳匹配:

85、然后,算法将计算出的距离d与之前找到的最佳距离b进行比较,如果d更小,就更新最佳距离b和对应的模板索引u:

86、

87、其中i是当前模板手势在模板集合中的索引;

88、算法不断更新最佳匹配模板,直到遍历完所有模板;

89、无匹配的情况:

90、

91、其中,t0是识别开始的时间,t1是识别结束的时间;

92、当找到匹配的模板时,返回模板的名称以及根据使用的算法计算出的匹配分数:

93、

94、其中,b是候选手势与最匹配模板之间的最小距离,halfdiagonal是手势识别空间对角线的一半(用于归一化距离分数),u是最匹配模板的索引。优选的,计算距离采用以下任意一种方式:

95、方式一:

96、计算两个向量之间的最优余弦距离,该距离可以表示为:

97、

98、其中,ai和bi分别是候选手势和模板向量的分量;

99、方式二:如果不使用protractor方法,距离d通过黄金分割搜索计算得出,公式如下:

100、

101、其中distanceatangledistanceatangle是在特定角度下旋转候选手势点后,与模板手势点之间的路径距离。

102、(三)有益效果

103、与现有技术相比,本发明提供了一种快速多笔手势识别方法,具备以下有益效果:

104、1、该快速多笔手势识别方法,轻量级算法:本发明提出了一种轻量级的手势识别算法,相对于深度学习模型,它更简单,计算成本低,易于在资源受限的设备上部署。

105、2、该快速多笔手势识别方法,减少数据需求:通过支持基于单个模板自动扩展到所有笔顺序组合的手势识别,本发明大幅减少了训练数据的需求,降低了数据收集和标注的工作量。

106、3、该快速多笔手势识别方法,增强泛化能力:本发明设计了能够自动区分一维和二维手势的识别器,并通过特定的算法增强了模型对新手势的泛化能力,使得模型能够更好地适应用户的多样化交互需求。

107、4、该快速多笔手势识别方法,方向不变性:本发明支持方向不变性,用户不需要担心手势的输入方向,提高了手势识别的灵活性和用户体验。

108、5、该快速多笔手势识别方法,优化速度:通过采用特定的速度优化方法,本发明确保了手势识别过程的快速性,从而可以实现系统对用户手势输入的实时响应。

109、6、该快速多笔手势识别方法,易于部署和维护:由于算法简单,本发明的手势识别系统更容易部署到各种设备上,同时也便于进行维护和更新。

110、7、该快速多笔手势识别方法,适用于快速原型设计:本发明的手势识别方法适合快速原型设计和用户界面开发,因为它简化了手势识别过程,使得开发者可以快速集成和测试手势控制功能。

本文地址:https://www.jishuxx.com/zhuanli/20240905/286683.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。