当前位置:  开发笔记 > 编程语言 > 正文

手势识别如何工作?

如何解决《手势识别如何工作?》经验,为你挑选了2个好方法。

在多点触控环境中,手势识别如何工作?使用哪些数学方法或算法来识别或拒绝可能的手势数据?

我创造了一些反光手套和一个红外LED阵列,再加上一个Wii遥控器.Wii遥控器进行内部斑点检测并跟踪4点红外线,并通过蓝牙适配器将此信息传输到我的计算机.

这是基于Johnny Chung Lee的Wii Research.我的精确设置就像在这里展示的荷兰研究生一样.我可以轻松地在2d空间中跟踪4个点的位置,并且我已经编写了我的基本软件来接收和可视化这些点.

替代文字http://i40.tinypic.com/x517yg.png 替代文字http://i42.tinypic.com/nao9x.png 替代文字http://i43.tinypic.com/65d1zp.png

荷兰学生通过基本的捏合点击识别获得了很多功能.如果可以的话,我想更进一步,并实施其他一些手势.

手势识别通常如何实施?除了任何微不足道的事情,我怎么能编写软件来识别和识别各种手势:各种滑动,圆周运动,字母跟踪等.



1> dustyburwell..:

正如我所见,手势识别通常使用类似于图像识别软件的机器学习技术来实现. 这是关于在c#中进行鼠标手势识别的codeproject的一个很酷的项目.我确信这些概念非常相似,因为您可以将问题缩小到2D空间.如果你对此有所了解,我很乐意看到它.伟大的项目理念!



2> MarkusQ..:

查看它的一种方法是作为压缩/识别问题.基本上,您想要获取大量数据,丢弃大部分数据,并对其余数据进行分类.如果我这样做(从头开始),我可能会按如下方式进行:

使用滚动历史记录窗口

获取起始帧中四个点的重心,保存它,并将其从所有帧中的所有位置中减去.

将每个帧分为两个部分:星座的形状和它的CofG相对于最后一帧的移动.

保存最后一帧的绝对CofG

CofG系列更改为您提供滑动,波浪等.

星座变形系列为你提供捏合等.

看到你的照片后(每只手上有两个点,一个上面没有四个点,doh!)我会修改上面的内容如下:

做成对的CofG计算,注意事项:

如果有四个点可见,则选择对以最小化内对距离的乘积

如果有三个点可见,最近的两个是一对,另一个是另一个

在需要时使用先前/后续帧来覆盖

你有一个嵌套的距离/方向对结构(即手之间有一个D/O,每只手有一个D/O),而不是一个星座.

将完整的简化数据传递给每个手势的识别器,让他们理清他们关心的内容.

如果你想变得可爱,可以做一点DSL来识别模式,并写下如下内容:

fire when
    in frame.final: rectangle(points) 
  and
    over frames.final(5): points.all (p => p.jerk)

要么

fire when
    over frames.final(3): hands.all (h => h.click)

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有