2013年3月3日星期日

MYO 的原理是什么?

就像@张泊宁说的那样,官网披露的信息还很少,所以只能做一下大胆的猜测了。

根据官网的描述,MYO的创新点在于利用了肌肉上的生物电来做手势识别。先抛开MYO上的传统运动传感器不说,看看生物电。


图1

据我所知(曾跟一个了解脑波控制的同学聊过几句),一般的设备检测到的生物电信号中有很多噪声,特别是在皮肤表层。如果能够把电极深入皮肤底层,那么监测到的信号质量会好很多,但这对一般的消费电子产品来说显然是不可接受的。大家看MYO官网上的图(图1)也可以看到,肌肉电信号是多么的noisy,只能大致上知道信号的强弱。这就决定了基于肌肉电信号的控制不能做得很精确。一个以肌肉电信号为输入的处理系统,它的输出一般只能是一些离散的值。对MYO来说,基于肌肉电信号得到的只能是几个有限的手势。不过我估计这个手势的数量还是比较大的,下面我们来猜猜MYO大概可以识别多少手势。


图2

先看这张官网给的图(图2),内圈明显地被分为了10个单元,我做一个大胆的猜测:MYO在每个单元中都放了一个电极用于感应肌肉生物电。那么MYO的肌肉电感应器组就可以输出一个10维向量。但是,就像我前面说的那样,肌肉电感应器的输出的精确值没有太大意义,所以这个向量中的每个数值应该都是离散的。最简单的情况就是1和0,即高电位和低电位。为了便于后面的分析,这里我们把每个数值可能的取值数量设为n。那么这个10维向量总的可能取值有n^{10}个,即使n=2,那也有1024种手势,我相信这个数值算是相当巨大了。想想一个电视遥控器上有多少按钮?游戏手柄呢?

当然了,实际可能也没有那么多。因为很可能MYO就没有放那么多感应器。不过这里有另一个比较有意思的问题,就是佩戴的方式是否会影响手势识别的结果。因为这货是圆的呀,如果我把它戴上之后又旋转了一下会怎样呢?MYO当然可以要求用户佩戴时某个标记必须朝内,但我相信精确地让每个电极都对着最佳位置肯定是不可能的,所以如果用户可以随意地旋转的话就好了。在计算机视觉中,也有类似的问题:一些图像特征向量在目标旋转之后仍然是不变的。那么,如果MYO的算法对肌肉电感应器组的输出进行了旋转不变的处理的话,前面说的10维向量的可能取值数量就会大大减少。举个例子,如果我们现在只有3个肌肉电感应器,每个传感器的输出是0或者1,那么100,010,001都应该和100等价,这样一来,把MYO戴在手臂上怎么转都没关系了。其实也就是说,对两个向量,如果通过移位操作可以让它们相等的话,它们就是等价的。感兴趣的同学可以算算,满足这个要求且每一位只能取0或1的10维向量总共有多少种取值。

以上关于手势数量的分析都是基于肌肉电感应器来做的,如果再考虑MYO上的传统运动传感器的话,手势就会更加丰富。不过,由于它是绑在手臂上的,所以手掌的可识别姿势数量还是由肌肉电传感器决定的。而手掌的姿势,恰恰是LeapMotion (LM)的强项。大家都喜欢拿MYO和LM比,那下面我也来说说。

众所周知,LM是用计算机视觉的方法实现的,使用的传感器是摄像头。从LM的demo中我们可以看到它跟踪出来的手势变化是很流畅的,这是它和MYO的一个很大的区别。用LM可以控制一只虚拟的手在虚拟空间中进行各种各样的操作,但MYO只能控制一个虚拟的遥控器,通过各种按钮来实现控制。当然了,MYO的优势也很明显,就像@张泊宁说的那样,它的活动范围更大,不用担心遮挡,而且反应更快。所以我觉得MYO和LM各有千秋啦,不过MYO比Wii要好很多,但离MYO官网说的“WAVE GOODBYE TO CAMERA BASED GESTURE CONTROL”还有一段距离

— 完 —
本文作者:金秉文

知乎是一个真实网络问答社区,在这里可以寻找答案、分享知识,发现一个更大的世界。
下载知乎 iPhone 客户端: http://zhi.hu/ios
此问题还有 3 个回答,查看全部。
延伸阅读:
中国创业公司里最好的 CTO 都有谁?为什么?
想做一个网站,却找不到技术伙伴,怎么办?

没有评论:

发表评论