gpt4 book ai didi

c# - 没有神经网络的手机触摸手势识别

转载 作者:行者123 更新时间:2023-11-30 15:42:20 25 4
gpt4 key购买 nike

我正在为手机开发一个手势识别程序。我想要完成的是让用户绘制自己的“图案”,然后让这些图案做不同的事情。

存储模式——我称之为“模式保存”算法

这是在最初绘制和记录手势时。这也是我用来抓取用户绘制的内容并将其用于比较的算法:

  1. 用户开始绘制他的图案。对于每 15 个像素,一个点被放置在称为“列表”的列表中。
  2. 绘制图案后,第一个点和最后一个点将从列表中删除。
  3. 对于现在列表中的每个点,它们的连接被转换为方向枚举(包含 8 个方向),然后也被添加到列表中,现在称为“列表”。
  4. 过滤器 1 开始,一次通过列表中的 3 个方向。如果左方向与右方向相同,则去除中间方向。
  5. 过滤器 2 开始,删除重复的路线。
  6. 过滤器 3 开始,去除假设的噪声。假设噪声是由重复出现的方向对检测到的。 (例如,“left upper-left left upper-left”正在变成“upper-left”或“left”)。
  7. 过滤器 4 开始,去除更多假定的噪音。这次假设噪声是通过(再次)一次比较列表中的 3 个方向来检测的,如步骤 4(过滤器 1)中所示,但是没有检查方向是否完全相等,只是几乎相等(例如,左边是几乎等于“左上”和“左下”)。

方向列表现在存储在一个文件中。方向列表保存为手势本身,用于稍后比较。

比较模式

一旦用户随后绘制了一个图案,“图案保存”算法也会用于该图案(但只是为了过滤掉噪音,而不是实际保存它,因为那是愚蠢的)。

然后将此过滤后的模式与手势列表中的所有当前模式进行比较。这种比较方法描述起来很复杂,而且我的英语也不是很好。

简而言之,它会检查用户输入的手势,并针对此手势的每个方向与所有其他手势方向进行比较。如果一个方向相似(如上面的算法所示),那没关系,它会继续检查下一个方向。如果连续2次不相似,则认为不匹配。

结论

所有这些都是我自己开发的,因为我喜欢做我所做的事情。我很想知道 Internet 上是否有任何地方可以找到与我正在做的事情类似的资源。

我不想要任何神经网络解决方案。可以这么说,我希望它“处于控制之下”,无需任何培训。

如果您有任何方法可以让我更好地完成上述算法,一些反馈也会很好,并且也会起作用。

你看,它在某些情况下工作得很好。但是,例如,当我制作一个“M”和一个倒置的“V”时,它无法识别差异。

帮助将不胜感激。哦,如果您认为我描述的一切都很好,请投票给这个问题!

最佳答案

总体思路

  1. M 和 V 不会因为您舍弃了第一个点和最后一个点而看起来完全相同吗?丢弃第一个和最后一个点似乎有点多余,因为无论如何你都在方向上操作(三个点的列表已经导致只有 2 个方向的列表)。

  2. 此外,我建议只制作类似这样的原型(prototype)。您会发现自己是否容易受到噪音的影响(我预计不会,因为“每 15 个像素”)。

回复:比较阶段

我认为通过阅读 Peter Norvigs 出色的 16 行拼写检查文章,您会获得一些更通用的想法来匹配“密切相关”的 Action 。 here

关于c# - 没有神经网络的手机触摸手势识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7629667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com