【Alex专栏】Kinect应用设计4

这一期我们将一起来探讨挥动手势的设计

挥动可以说是手势识别的一大重点

除了第三期说的点击以外,最常用的就是挥动了,常见的有挥手、拖拉等

—我是目录—

动作识别

手势

|- 触碰

|- 挥动

|- 触发机制

|- 双手缩放

姿势

|- 关键知识

|- 设计方案

|- 前景与限制

—目录结束—

 

挥手

我们经常有一种需求,就是希望通过特定的动作“唤醒”设备,让设备登陆用户或者响应用户接下来的动作。

挥手就是一种很好的Say Hi的方式,那么怎么来实现呢?

首先我们知道,微软的Kinect SDK把人的关节点分为20个关节。

图片1

于是一种简单的实现就是通过关节点的X轴位置(如handLeft.X和elbowLeft.X)来判断

利用一个自动生成时间戳的链表,我们就可以知道当它们的X轴在什么时候重合

Alex_一种挥手的检测方法图解

通过在检查在特定时间内,有多少个时间戳,就可以得知手挥动了多少次。

更进一步的,我们希望elbow.Y 在hand.Y上方时才视为一次有效的摆手,这样就避免了下摆手的误触发。

当然,也可以限制elbow.Z比hand.Z 远,这样就避免了背身时的触发。

 

拖拉

有了挥手做基础,拖拉就更好理解了。

之前我们说过,人手臂的活动有一个范围限制。

clipboard

于是我们可以把图中蓝色的空间用二元一次方程(y=ax+b)映射到屏幕上

具体的,针对不同人群,这个空间到底该设多大呢?

如果采用固定的像素点数,考虑到大人/小孩、远/近等差别,显然很难取出合适的宽高值。

美术中有“头身”这个概念,通过这个粗略的估算,程序很快就能截取出适合自己的空间范围。

首先,人体平均的的身高为7个半头身(注:若套用模型时请注意艺术中通常用8头身),即身高约等于7个半头部的高度。

其次,锁骨到腰部为2头,这个距离也等同于上颈部到上臀部。

clipboard[6]clipboard[8]

水平方向上,左右肩宽约为2头

clipboard[10]

据此,我们通过获取用户shoulderLeft到shoulderRight的距离(也可以是其他关节),取2头作为单位,配合关节点做参考点(可采用不容易受手势影响的点,如shoulderCenter),很快就可以根据前面蓝色的图取出大致合适的控件,剩下的就是优化的工作了。

比较常见的做法是选取一个1:1大小的控件,然后映射到1:1或者4:3的屏幕上,具体比例问题可以由方程控制。

此时当我们的手在指定空间内移动时,就充当了“鼠标”的指向作用,有了这个功能,再配合特定的触发机制就可以完成拖拉等手势。

 

小结

由于这些手势的判断多为帧间运算,我们需要时刻注意避免使用过于复杂的算法,否则每秒60次的运算有可能会拖垮CPU,造成严重的延迟。从最简单的方法开始,根据实际情况不断优化是一个很好的发现合适算法的途径。

下一期我们将一起探讨触发机制的问题

谢谢观赏 微笑

转载自http://www.kinectutorial.com/?p=824本人纯粹是收藏,方便以后查看~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值