改进的手势的识别的制作方法_3

文档序号:8269308阅读:来源:国知局
手 的一部分。
[0086] 待比较的皮肤颜色可自视频流中的第一影像确定,其中对象被识别且其颜色被决 定。这使得本文的方式可以用于所有的皮肤颜色且可用于手套或其它硬件或者纹身(指甲 花或其它方式)及珠宝。
[0087] 通过确定追踪的前几个帧中的对象颜色,允许过滤轮廓线,也允许追踪其它的对 象。
[0088] 应当注意到,基于如上面列出的准则组合,控制器可被配置成过滤出不太可能是 要追踪对象的一部分的轮廓线。例如,手不太可能包含圆形的轮廓线和具有尖角的轮廓线。
[0089] 为了进一步减小数据集,控制器被配置成确定在影像中/在轮廓线上的哪些点是 感兴趣要追踪的。为了识别感兴趣的点,控制器被设置成指派描述符至每个点。描述符是 点的特征,可用于识别该点。
[0090] 在一个实施例中,控制器被设置成将三个描述符指派到每个点。图4D绘示轮廓线 的放大图,可以看出指尖的轮廓线CL。三个描述符D1、D2和D3是以图4D中的白色箭头表 示。这三个描述符是:
[0091] D1 =点的正距的角;
[0092] D2=点右侧的曲率;及
[0093] D3=点左侧的曲率。
[0094] 可选地,控制器可配置以附加地或替代地指派描述符,基于点的颜色或该点的轮 廓线的强度。在一个实施例中,控制器被设置成根据下述而仅指派两个描述符D1和D2 :
[0095] D1 =点的正距的角及
[0096] D2 =点附近的曲率。
[0097] 指派较少的(二个)描述符加快处理速度,但降低了精确度,因为这些描述符没有 如使用更多的描述符时那样清楚地识别点。增加的精确度能够有效的过滤,这减少了要处 理的数据集。
[0098] 在一个实施例中,控制器被设置成使用Sobel演算子确定正距的角。Sobel演算子 被用在影像处理中,特别是在边缘检测算法。从技术上讲,它是离散的微分演算子,计算影 像强度函数的梯度的近似值。在影像中的每个点,Sobel演算子的结果是对应的梯度向量 或此向量的正距(normal)。Sobel演算子是以小的、可分离、和整数值的过滤器在水平和垂 直方向上基于卷积影像,因此在计算上相对便宜。Sobel演算子的操作包括从直角到极坐 标的转换。应当指出的是,有确定正距的角度的其它方式存在,并且是本发明范围内的一部 分。在一个实施例中,正距的角是取自在执行边缘检测时已经执行的计算。这是有益的,因 为它减少了需要执行的计算数量。
[0099] 图5绘示如何可在轮廓线CL上的点之间确定角度a 1、a 2、a 3。角度a 1、a 2、 a 3对应点PI和最接近的两个相邻点P12和P3的正距,且在一个实施例中是使用Sobel演 算子确定。两点之间的距离被表示为A step。根据图5中的术语,描述符可以根据以下确 定:
[0100] D 1 = a 1[ = Sobel (P 1)];
[0101] D2= (al - a2)/A step [ = (Sobel (PI) - (Sobel (P2)) / A step];和
[0102] D3 = ( a 1 - a 3) / A step [ = (Sobel (PI) - (Sobel (P3)) / A step]。
[0103] 这提供了一种计算或确定描述符和曲率的简单方式,该方式不要求复杂的操作, 特别是对于确定曲率而言,因为已经确定了相邻点的正距的角度。
[0104] 使用两个描述符,描述符D1、D2可如下确定:
[0105] Dl = a 1 [ = Sobel (P1)];和
[0106] D2 = ( a 2 - a 3)/2 A step [ = (Sobel (P2) - (Sobel (P3))/2 A step]。
[0107] 为了进一步减小数据集,控制器被设置成过滤掉难以追踪的点。图6绘示手的影 像,其中4个点PI、P2、P3和P4已被标记为描述符(以箭头表示)。两个点P3、P4位于食 指一侧,两点PI、P2位于食指的尖端上。如果根据上述确定,两个侧点P3、P4的描述符非 常相似。这一点在图6中通过具有相同角度的对应描述符的箭头绘示。然而,指尖上两点 PI、P2的描述符彼此不同,且不同于侧点P3、P4的描述符。这在图6中是以具有不同的角 度的对应描述符箭头绘示。这种不同于影像中的大部分点的点较容易追踪,控制器被设置 成过滤掉其描述符不异于其它点的描述符的所有点。
[0108] 在一个实施例中,通过计算与该点相比之前一图片中具有类似或相同描述符的其 它点的数目,控制器被设置成过滤掉非描述点。如果比较的点的数量超过一阈值的计数值, 被比较的点会被丢弃或过滤。阈值计数可能代表绝对计数,例如100或500,或者相对计数 (进行比较的点的数量和点的总数量之间的配额),例如1/5、1/10、1/20或1/40。
[0109] 为了分出噪音并进一步减小数据集,控制器被设置成过滤掉移动太多的点。过滤 是通过控制器将影像中轮廓线上的所有点与前一影像中轮廓线上的所有点比较,显现太多 不同的点对会被丢弃而获得。在一个实施例中,如果在描述符A Dl、A D2、A D3中的变化 根据下述式子是低于或在阈值内,则控制器被设置成保留一点对:
[0110] AD1〈 = T1,例如 T1 = 11. 25 度;
[0111] T2L〈 =A D2〈 = T2H,例如描述符值 D2 的 T2L = -50%和 T2H = +100% ;以及
[0112] T3L〈 =A D3〈 = T3H,例如描述符值 D3 的 T3L = -50%和 T3H = +100%,
[0113] 其中T1是描述符D1中所允许变化的阈值,T2L是描述符D2中所允许变化的较低 阈值,T2H是描述符D2中所允许变化的较高阈值,T3L是描述符D3中所允许变化的较低阈 值,T3H是描述符D3中所允许变化的较高阈值。
[0114] 应当注意的是,阈值Tl、T2H、T2L、T3H和T3L愈小或愈窄,如上面所讨论的,用于 比较非描述点的阈值计数愈高。
[0115] 在本实施例中,允许两个曲率描述符D2、D3的变化因子为2。应该指出的是,其它 因子也是可能的,例如3或1. 5。
[0116] 保留的数据集现在已经减少至包括感兴趣的点。
[0117] 要确定被追踪对象的水平和垂直移动,控制器被设置成将数据集中的所有点与数 据集中的所有点比较,以确定移动。在一个实施例中,控制器是经比较以根据描述符中的变 化与保留的像素对比较。
[0118] 图7绘示如何执行移动比较。该图显示了两只手,每只手具有两个点,左手H是 P1、P2,右手H'是P1'、P2'。在图7的例子中,右手H'是当前影像的手,左手H是先前影像 的手。在图7中,手H向右(手H')移动了一定的距离,这是以手H绘示,H'被绘制为彼此 间有一距离。应该指出的是,虽然图7中每一手只显示了两个点P1、P2,但在真实的例子中 是处理更多的一些点。
[0119] 通过计算每个点对之间的距离,控制器将前一影像的数据集PI、P2中的所有点与 当前影像中的数据集P1'、P2'中的所有点进行比较。这样的距离是绘示为一点自前一位置 P1至当前位置P1',且该距离表示为P1-P1'。
[0120] 距离P1-P1'是储存在每个距离的矩阵中。该距离是一两维实体,具有X(水平) 和Y (垂直)分量,且该矩阵被产生以使每个单元格对应于由对应的X和Y坐标或分量所给 定的距离。对于每一发生的对应距离之经计算距离,矩阵中的每个单元格增加一。图8绘 示了图7中所绘示情况的一维范例,其中对于每一距离,绘制每个距离的发生情形。
[0121] 可以看出,有四个距离,其中两者相同,代表真正的移动。这两者是P1和P1'及 P2和P2'之间的距离。另外两个是P1和P2'及P2和P1'之间的距离。真正的移动是由 找出距离矩阵中的最大发生值而确定。在图8中,最大值是在最高棒,在本例中为两个距离 P1-P1' 和 P2-P2' 的栏。
[0122] 图9绘示了实验的二维表示,其中一对象已被追踪。可以看到在X =-12, Y = 0 附近是峰顶中心。最大值表示该对象在负X轴方向已移动了 12点或像素。
[0123] 在一个实施例中,控制器被设置成确定或计算在同一时间的相对距离,因为如果 点对表现出过多的移动,该相对距离是确定的,但在此之后,可以确定的是点对不会表现出 过多的移动。这减少了控制器需要遍历数据集的次数,藉此提高计算效率。
[0124] 使用上述揭示的方式减少数据集,然后确定最大可能的移动,对象的真实的水平 和垂直移动可以只需要极少的计算资源的方式确定。
[0125] 实验显示适合于实现上述揭示方式的智能型手机能够利用低分辨率的摄影机及 在光线不好的条件下(低到20勒克司)满意地追踪对象,藉此使这里的教导适合用于移动 装置,如智能型手机、笔记型计算机、因特网平板等,以及在低于最佳环境中使用的固定式 装置,如游戏机(可携式和固定式)。
[0126] 本文所教示的方法适合追踪用于实现装置之手势控制的对象,例如手。本发明的 一范例实施方式是浏览应用程序,其中一只手从一侧移动到另一侧的手势表示与追踪的移 动方向相同的"翻页"操作。在图9的例子中,对应的操作是翻至下一页面(假设X方向是 往右,由此所确定的移动是向左移动)。
[0127] 本文所教示的方法亦适合追踪用于实现视线追踪的对象,例如眼睛。视线追踪技 术可以用来收集有关阅读行为的数据,确定显示内容上的当前感兴趣的点,也用于以特定 的眼球移动来控制装置(提供残障支持特别有用)。本发明的一范例实施方式是广告应用 程序,其中兴趣点(即是使用者聚焦超过阈值的时点的一点或使用者重复聚焦的点)与特 定主题相关联,且应用程序被设置成提出并显示有关特定主题的广告。在图9的例子中,应 用程序将向左追踪眼睛移动(假设X方向是向右,由此所确定的移动是向左移动)。如果有 一阵子没有检测到进一步的动作,且所检视内容包含左栏上的潜水文章,该应用程序可以 下载和显示潜水装置的广告。
[0128] 图10绘示了根据本文教示的一种概略方法。在1010,于计算装置接收影像串流。 为了减少要处理的数据,计算装置在1020确定轮廓线并在1030过滤掉静止线。可选择地 (如虚线表示),在1035,计算装置过滤掉不可能属于被追踪对象的点。
[0129] 在1040,计算装置确定并指派描述符到每个点。该描述符可以用于识别点。在 1044,为了减少要处理的数据集,计算装置过滤掉其描述符指示该点是非描述的点(很难 与其它点区分)。在1048,为了移除假动作和减少要处理的数据集,计算装置过滤出描述符 指示已经有过大移动的点对。在1050,计算装置确定数据集中各点对之间的相对距离,并在 1060找到相对距离的最大发生值。最大相对距离对应于要被追踪的对象的移动。
[0130] 图11绘示了如何使用本文所揭示的方式追踪多个对象。在图11的范例绘示中, 对
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1