对车辆中的用户行为进行识别和响应的方法和系统与流程

文档序号:13564663阅读:172来源:国知局

本申请是原案申请号为201280050071.1(国际申请号为pct/il2012/050297,申请日为2012年8月8日、发明名称为“基于手势的接口系统和方法”)的分案申请。

本发明涉及图像分析和对象跟踪。



背景技术:

以下公报被认为与本发明的背景的理解有关:

美国专利no.6,252,598;

马加尔(magal)等人的美国专利8,166421;

wo2005/091125;

wo2010/086866;

viola,p等人,“robustreal-timeobjectdetection”,第二届视觉建模、学习、计算和采样的统计和计算理论国际研讨会(secondinternationalworkshoponstatisticalandcomputationaltheoriesofvision-modeling,learning,computing,andsampling),加拿大温哥华,2001年7月13日。

存在各种类型的计算机控制和接口装置来向计算机输入命令。例如,这些装置可采取计算机鼠标、摇杆或轨迹球的形式,其中,用户操纵接口装置以执行特定操作,例如从选项菜单选择特定条目、执行“点击”或“指点”功能等。这些接口装置需要表面积以放置装置,并且在鼠标的情况下,适应装置移动和操纵。另外,这些接口装置通常通过线缆连接到计算机,所述线缆通常随意搭在用户的桌子上,导致妨碍用户的工作区域。操纵这些接口装置以执行操作与常见交流手势不一致,例如,与操纵鼠标直至光标停驻在期望的菜单条目上相对,使用手指指点手势来选择菜单条目。

已尝试利用光学传感器实现手势识别以用于向装置输入命令。手势识别需要在视频流中的多个图像中的每一个中标识身体部位(通常为手)。

例如,已知在视频流中标识手势。定义帧中的多个区域并对其进行筛选以通过定位与预定义的手位置和手势对应的曲率极值(例如,峰和谷)来在多个区域中的一个中定位手。然后,使用峰和谷的数量来标识预定义的手势并将其与实现特定计算机操作或功能的手图像相关。

还已知有使用三维位置信息来标识由身体部位生成的手势的系统。在一个或更多个间隔实例,基于身体部位的形状及其位置和取向来识别身体部位的姿态。在一个或更多个间隔实例中的每一个期间身体部位的姿态被识别为组合手势。对手势进行分类以确定对相关电子装置的输入。

还已知有用户接口方法,其中随着时间过去捕获受试者(humansubject)的至少一个身体部位的一系列深度图。处理深度图以便检测在身体部位穿过交互表面时身体部位的移动方向和速度。响应于所检测到的方向和速度来控制计算机应用。



技术实现要素:

本发明提供了一种用户接口设备,其用于控制诸如个人计算机(pc)、便携式计算机、pda、膝上型计算机、移动电话、收音机、数码相机、车辆、医疗装置、智能家用电器(例如,电视或家庭娱乐系统)、移动游戏机或家用电器的装置。

本发明的用户接口设备包括图像传感器。图像传感器在与装置相邻的区域所获得的图像被输入至手势识别系统,手势识别系统分析图像传感器所获得的图像,以从由预定义对象(例如,手或手指)执行的待标识的一个或更多个手势当中标识一个或更多个手势。手势的检测被输入至消息决策器,消息决策器基于所标识的手势和手势识别系统的当前识别模式来生成消息。例如,可将所述消息发送给装置、第一装置的操作系统、在第一装置的处理器上运行的一个或更多个应用、在后台运行的软件程序以及在第一装置上运行的一个或更多个服务或者在装置中、在外部网络上运行的进程。

手势识别系统运行手势识别模块,该手势识别模块按照两个或更多个识别模式中的每一个操作。识别模式由手势模式决策器来确定,手势模式决策器被配置为在一个或更多个不同条件下将识别模式从初始识别模式改变为第二识别模式,如下所述。

基于手势识别的初始识别模式、由手势识别系统标识的手势和态势感知(situationalawareness)信息中的任一个或更多个来确定第二识别模式。本文使用术语“态势感知信息”来表示与以下各项中的任一个或更多个有关的信息:第一装置的状态、由与接口系统关联的一个或更多个传感器获得的信息、由与第一装置关联的一个或更多个第一装置传感器获得的信息、与装置上运行的一个或更多个进程有关的信息、与装置上运行的应用有关的信息、与装置的电力状态有关的信息、与装置的通知有关的信息、与装置的移动有关的信息、与装置的空间取向有关的信息、关于与一个或更多个用户的交互的信息、关于用户行为的信息以及关于一个或更多个触发的信息。

因此,本发明提供了一种用于控制第一装置的接口系统,该接口系统是包含指令的计算机程序产品,所述指令使得处理器执行一种包括以下步骤的方法:

(a)接收来自一个或更多个图像传感器的输入;

(b)在所述接口系统的手势识别模块中,所述手势识别模块具有两个或更多个识别模式:

(i)分析由所述图像传感器获得的图像,以检测由预定义对象执行的待检测的一个或更多个手势,所述预定义对象选自一只或更多只手、手的一部分、一根或更多根手指、手指的一个或更多个部分以及一个或更多个指尖;以及

(ii)在任一个或更多个预定义条件下将所述手势识别模块的识别模式从初始识别模式改变为第二识别模式,其中,所述第二识别模式是基于所述手势识别模块的初始识别模式、检测的手势和所述装置的态势感知信息中的任一个或更多个确定的,其中,所述态势感知信息是与所述装置的状态有关的信息、由与所述装置关联的传感器接收到的信息、与所述装置上运行的一个或更多个进程有关的信息、与所述装置上运行的应用有关的信息、与所述装置的电力状态有关的信息、与所述装置的通知有关的信息、与所述装置的移动有关的信息、与所述装置的空间取向有关的信息、关于与一个或更多个用户的交互的信息、关于用户行为的信息以及关于一个或更多个触发的信息中的一个或更多个。

(iii)生成第一消息,其中,所生成的第一消息是基于所述手势识别模块的初始识别模式和检测的手势确定的。

在本发明的接口系统中,所述手势识别模块还可被配置为分析由一个或更多个传感器生成的信号,并且所述手势将根据对传感器信号的分析来检测。所述手势识别模块的多个识别模式中的一个或更多个可由以下项来定义:

(a)待检测的一个或更多个预定义手势、用于待检测的一个或更多个预定义手势中的每一个的消息以及在所述手势识别模块上有效的一个或更多个算法;以及

(b)用于待检测的一个或更多个预定义手势中的每一个的第二识别模式、由所述图像传感器捕获的图像的分辨率以及由所述图像传感器捕获的图像的捕获率中的任一个或更多个。

在本发明的接口中,所述接口系统可具有两个或更多个接口模式,并且各个接口模式取决于所述手势识别模块的识别模式以及来自向所述手势识别模块提供信息感知信息的预定义传感器集合的一个或更多个有效的传感器。各个接口模式可确定来自一个或更多个传感器的将由所述手势识别模块分析的一个或更多个信号。所述接口模式可取决于态势感知信息和第一消息中的一者或二者。所述接口模式的改变可生成针对所述第一装置、在所述第一装置上运行的应用、在所述第一装置上运行的服务以及在所述第一装置上运行的操作系统中的一个或更多个的第三消息。所述第三消息可包括针对所述第一装置、在所述第一装置上运行的应用、在所述第一装置上运行的服务以及在所述第一装置上运行的操作系统中的任一个或更多个的命令,以提供关于接口模式、所述手势识别模块的模式和待检测的手势中的任一个或更多个的指示。

在本发明的接口系统中,所述第一消息可包括针对所述第一装置、在所述第一装置上运行的应用、在所述第一装置上运行的服务以及在所述第一装置上运行的操作系统中的任一个或更多个的命令,以提供手势被识别和/或哪一个手势被识别的指示。所述指示可以是视觉指示、听觉指示、触感指示、超声波指示、触觉指示。所述指示可以是按照选自显示在显示屏幕上的图标、显示屏幕上的图标的改变、显示屏幕上的图标的颜色的改变、指示灯、在显示屏幕上移动的指示符、定向振动指示、空气触感指示的形式的视觉指示。所述指示可通过在显示屏幕上移动的指示符来提供,所述指示符出现在显示屏幕上出现的所有其它图像或视频的上面。所述指示可取决于态势感知信息。

在本发明的接口系统中,所述态势感知信息可以是与一个或更多个触发相关的信息,所述触发选自应用的用户接口的改变、应用的视觉外观的改变、应用的模式的改变、应用的状态的改变、在第一装置上运行的软件中发生的事件、应用的行为的改变、经由网络接收到的通知、在线服务通知、由装置或应用或者由服务从触摸屏上的触摸生成的通知、按下虚拟或真实按钮、通过连接到装置的麦克风接收到的声音、持握第一装置的用户的检测、来自接近传感器的信号、经由蜂窝网络、无线网络、tcpip或有线网络的来电语音或视频呼叫、来电3d视频呼叫、文本消息通知、会议通知、基于社区网络的通信、skype通知、脸书(facebook)通知、推特(twitter)通知、在线服务通知、未接来电通知、电子邮件通知、语音邮件通知、装置通知、播放器上的歌曲的开始或结束、视频的开始或结束。

在本发明的接口系统中,所述态势感知信息可以是与一个或更多个触发有关的信息,所述触发选自手势、使对象在小于预定义距离的距离处越过第一装置、注视第一装置的用户的检测、由图像传感器获得的图像中的脸部的检测、由图像传感器获得的图像中的一只或更多只眼睛的检测、由图像传感器获得的图像中的一只或更多只手或者手的部分的检测以及注视第一装置的预定义的人的检测。

在本发明的接口系统中,待检测的手势中的一个或更多个可选自挥击运动、两根手指的挤捏运动、指点、左至右手势、右至左手势、向上手势、向下手势、推手势、张开握紧的拳头、张开握紧的拳头并朝着图像传感器移动、轻点(tapping)手势、挥手手势、拍手手势、逆拍手手势、将手握成拳、挤捏手势、逆挤捏手势、张开手上的手指的手势、张开手上的手指的逆手势、指着可激活对象、将激活用对象保持预定义的时间量、点击可激活对象、双击可激活对象、从右侧点击可激活对象、从左侧点击可激活对象、从底侧点击可激活对象、从顶侧点击可激活对象、抓握可激活对象、从右侧朝着可激活对象做手势、从左侧朝着可激活对象做手势、从左侧穿过可激活对象、推对象、拍手、在可激活对象上方挥手、执行冲击手势、执行轻点手势、在可激活对象上方执行顺时针或逆时针手势、用两根手指抓住可激活对象、执行点击-拖曳-释放运动、滑动图标。

在本发明的接口系统中,所述第一消息可被发送至第一装置、第一装置的操作系统、在装置的处理器上运行的一个或更多个应用以及在装置或外部网络上运行的一个或更多个服务中的任一个或更多个。所述第一消息可被发送给第一装置,并且响应于所述第一消息,第一装置生成针对远程装置、在远程装置上运行的操作系统、一个或更多个远程应用以及一个或更多个远程服务中的任一个或更多个的第二消息。

在本发明的接口系统中,所述态势感知信息可与第一装置的状态有关,并且所述第一消息被发送给第一装置,在第一装置处接收所述第一消息导致第一装置的状态的改变。

在本发明的接口系统中,所述第一消息可以是命令。

在本发明的接口系统中,所述第二消息可以是命令。所述第一消息可以是命令,所述命令选自在第一装置上运行应用的命令、停止在第一装置上运行的应用的命令、激活在第一装置上运行的服务的命令、停止在第一装置上运行的服务的命令。所述第一消息可以是针对所述第一装置的命令,该命令选自按下显示在第一装置的显示屏幕上的虚拟键;旋转选择转盘;在桌面之间切换;在第一装置上运行预定义的软件应用;关闭第一装置上的应用;打开或关闭扬声器;增大或减小音量;锁定第一装置、解锁第一装置、在媒体播放器中或在iptv频道之间跳到另一轨道;控制导航应用;发起呼叫、结束呼叫、呈现通知、显示通知;在照片或音乐专辑库中进行导航、滚动网页、呈现电子邮件、呈现一个或更多个文档或地图、控制游戏中的动作、控制交互视频或动画内容、编辑视频或图像、指着地图、放大或缩小地图或图像、在图像上绘画、朝着第一装置上的显示器推图标、抓握图标并将该图标拉离显示装置、使图标旋转、模仿第一装置上的触摸命令、执行一个或更多个多触摸命令、触摸手势命令、打字、点击显示的视频以暂停或播放、编辑视频或音乐命令、对帧加标签或从视频捕获帧、从视频剪切视频子集、呈现来电消息;接听来电呼叫、静音或拒绝来电呼叫、打开来电提醒;呈现从网络社区服务接收的通知;呈现由第一装置生成的通知、打开预定义应用、将第一装置从锁定模式改变并打开最近呼叫应用、将第一装置从锁定模式改变并打开在线服务应用或浏览器、将第一装置从锁定模式改变并打开电子邮件应用、将第一装置从锁定模式改变并打开在线服务应用或浏览器、将第一装置从锁定模式改变并打开日历应用、将第一装置从锁定模式改变并打开提醒应用、将第一装置从锁定模式改变并打开由用户设置、由第一装置的制造商设置或者由服务运营商设置的预定义应用、激活图标、选择菜单项、在显示器上移动指针、操纵无触摸鼠标、显示器上的图标、改变显示器上的信息。

在本发明的接口系统中,本发明的接口系统中的所述手势识别模块还被配置为当所述手势识别模块的模式从初始模式改变为第二模式时生成第四消息。所述第四消息可包括针对第一装置、在第一装置上运行的应用、在第一装置上运行的服务以及在第一装置上运行的操作系统中的任一个或更多个的命令,以提供所述接口系统准备好识别手势、所述接口系统准备好识别一个或更多个预定义手势、所述接口系统未准备好识别手势、环境光条件不允许手势识别、系统未准备好识别手势中的任一个或更多个的指示。所述指示可以是视觉指示、听觉指示、触感指示、触觉指示。所述指示可以是视觉指示,所述视觉指示是选自显示在显示屏幕上的图标、显示屏幕上的图标的改变、显示屏幕上的图标的颜色的改变、指示灯的形式。

在本发明的接口系统中,所述初始模式和所述第二模式可至少通过所述图像传感器所捕获的图像的捕获率来定义,并且所述第二模式的捕获率大于所述初始模式的捕获率。

在本发明的接口系统中,所述初始模式和所述第二模式可至少通过所述图像传感器所捕获的图像的捕获率来定义,并且所述第二模式的捕获率小于所述初始模式的捕获率。

在本发明的接口系统中,所述初始模式和所述第二模式可至少通过所述图像传感器所捕获的图像的分辨率来定义,并且所述第二模式的图像的分辨率大于所述初始模式的图像的分辨率。

在本发明的接口系统中,所述初始模式和所述第二模式可至少通过所述图像传感器所捕获的图像的分辨率来定义,并且所述第二模式的图像的分辨率小于所述初始模式的图像的分辨率。

在本发明的接口系统中,在所述初始模式下,所述手势识别模块可检测手,在所述第二模式下,所述手势识别模块可检测手指,并且预定义条件是在图像中检测到手。

在本发明的接口系统中,所述手势识别模块还可被配置为在预定义时间量过去之后或者在自检测到手势起经过预定义时间量之后,将模式从所述第二模式改变回所述初始模式。

在本发明的接口系统中,所述态势感知信息可以是与所述第一装置的状态有关的信息,所述第一装置的状态是通过传感器的状态、软件应用的操作状态、在装置中运行的进程、在装置中运行的服务、在前台运行的软件程序、在后台运行的一个或更多个软件程序、装置的网络连接状态、装置的功率状态、装置的屏幕的光强度中的任一个或更多个来确定的。

在本发明的接口系统中,所述第二模式和所述第一消息还可取决于来自一个或更多个传感器的输入。

在本发明的接口系统中,所述接口系统可首先作为程序在所述装置的一个或更多个处理器上运行。

在本发明的接口系统中,所述第一装置的一个或更多个处理器可选自专用处理器、通用处理器、dsp(数字信号处理器)处理器、gpu(图形处理单元)处理器、专用硬件或者可在外部装置上运行的处理器。所述传感器中的任一个或更多个可与所述装置集成。所述传感器中的任一个或更多个可选自相机、cmos图像传感器、光传感器、超声波传感器、接近传感器、压力传感器、电导传感器、运动传感器、温度传感器、加速度计、陀螺仪、取向传感器、磁性传感器、重力传感器和反射传感器、电导传感器和电容传感器以及图像传感器。

在本发明的接口系统中,所述图像传感器选自相机、光传感器、ir传感器、超声波传感器、接近传感器和反射传感器。

在本发明的接口系统中,由手势接口系统生成的所述第一消息可被发送给在第一装置上运行的应用或者远程应用,并且所述第一消息由所述装置上的第一运行应用按照第一方式解释,并且第一消息由所述装置上的第二运行应用按照第二方式解释。

在本发明的接口系统中,触发可以是在由所述图像传感器获得的图像中检测到第一对象,并且在第二识别模式下,所述手势识别模块标识由所述图像传感器获得并包括所述第一对象的图像中的第二对象,所述第二对象与所述第一对象具有预定义空间关系,预定义条件是在图像中检测到所述第一对象。所述接口系统还可包括检测由所述第二对象执行的手势。所述第一对象可以是第一身体部位,所述第二对象可以是第二身体部位。所述第一身体部位和所述第二身体部位中的一者或二者可选自脸部、一只或两只眼睛、第一只手或第一只手的一部分、处于第一姿势的第一只手。所述第二身体部位可以是第二只手或第二只手的一部分或者处于第二姿势的第二只手。所述第一对象与第二对象之间的预定义空间布置可通过从所述第一对象的重心到所述第二对象的重心的矢量来指定,所述矢量具有预定义范围内的大小和预定义范围内的方向中的一者或两者。

在本发明的接口系统中,所述第一对象可以是第一身体部位,所述第二对象是第二身体部位,并且在图像中检测所述第二身体部位的步骤可包括以下步骤:

(a)围绕所述第一身体部位构建第一矩形,所述第一矩形具有中心、高度和宽度;

(b)在所述图像中构建关注区域(roi),所述roi是在所述图像中通过所述第一矩形的预定义变换而获得的第二矩形;

(c)构建所述第一矩形中的像素的属性v的直方图f(v),其中f(v)是所述第一矩形中的属性v的值为v的像素的频率;

(d)构建所述roi中的像素的属性v的直方图g(v);

(e)在涉及像素x处的属性v的值v(x)以及所述直方图f(v)和g(v)的计算中计算概率p(x);以及

(f)在涉及所述概率p(x)的计算中在所述图像中检测所述第二身体部位。

所述第一身体部位可以是脸部,围绕脸部构建脸部矩形的步骤可通过维奥拉-琼斯(vj)方法来执行。所述roi可以是带有中心的矩形,其中,所述roi矩形的中心相对于所述第一矩形的中心偏移了预定义矢量。所述roi矩形的高度可以是所述第一矩形的高度乘以第一预定义因子,宽度是所述第一矩形的宽度乘以第二预定义因子。p(x)可与f(v(x))/g(v(x))成比例。概率p(x)高于预定义阈值的那些像素x可被确定为是属于所述第二身体部位的像素。

在本发明的接口系统中,所述手势识别模块还可被配置为按照以下方法执行图像的放大和缩小,所述方法包括以下步骤:

(a)作为进入缩放模式的命令的指示,检测包括食指与拇指的间距改变的手势、预定义第一手势以及在图像或视频上指点图像或视频中的将用作缩放的中心的点中的一个;

(b)检测手的食指与手的拇指分开第一距离;

(c)检测食指与拇指的间距改变为第二距离,该第二距离小于所述第一距离时指示进入第一缩放模式并根据该第一缩放模式执行缩放的命令,所述第一缩放模式是放大模式或缩小模式,所述第二距离大于所述第一距离时指示进入第二缩放模式并根据该第二缩放模式执行缩放的命令,所述第二缩放模式是放大模式或缩小模式,并且所述第二缩放模式不同于所述第一缩放模式;

(d)检测食指与拇指的间距改变的一个或更多个实例,

(e)在食指与拇指的间距改变的各个实例期间根据缩放模式执行缩放。

所述手势识别模块可被配置为按照以下方法执行放大和缩小,所述方法包括以下步骤:

(a)作为进入缩放模式的命令的指示,检测包括食指与拇指的间距改变的手势、预定义第一手势以及在图像或视频上指点图像或视频中的将用作缩放的中心的点中的一个;

(b)在初始取向下检测伸出的手指;

(c)检测从初始取向到第二取向的在第一方向或第二方向上的食指取向的改变,所述第一方向指示进入第一缩放模式并根据该第一缩放模式执行缩放的命令,所述第一缩放模式是放大模式或缩小模式,并且所述第二方向指示进入第二缩放模式并根据该第二缩放模式执行缩放的命令,所述第二缩放模式是放大模式或缩小模式,所述第二缩放模式不同于所述第一缩放模式;

(d)检测伸出的食指从第一取向改变为第二取向的一个或更多个实例;

(e)在伸出的食指的取向从初始取向改变为第二取向的各个实例期间根据缩放模式执行缩放,或者只要伸出的食指保持为第二取向就根据缩放模式执行缩放,所述缩放具有随着处于初始取向的手指的指尖与处于第二取向的手指的指尖之间的距离增大而增大的缩放比。

所述手势识别模块可被配置为按照以下方法执行放大和缩小,所述方法包括以下步骤:

(a)检测第一手势或第二手势,其中,所述第一手势包括在张开手指的状态下将手朝着成像装置移动,然后在闭合手指的同时将手远离成像装置移动,并且其中,所述第二手势包括在闭合手指的状态下将手朝着成像装置移动,然后在张开手指的同时将手远离成像装置移动;

(b)当检测到第一手势时进入第一缩放模式,当检测到第二手势时进入第二缩放模式,并且根据缩放模式执行缩放,所述第一缩放模式是放大模式或缩小模式,所述第二缩放模式是放大模式或缩小模式,并且所述第二缩放模式不同于所述第一缩放模式;

(c)只要继续检测到第一手势或第二手势,就根据缩放模式执行缩放。

指着屏幕上的点可指示进入缩放模式的命令,并且屏幕上的所述点是缩放模式中的缩放中心。

在本发明的接口系统中,检测由预定义对象执行的手势可包括按照以下方法在由所述图像传感器获得的图像的视频流i1、...、ik、...ιn中跟踪预定义对象,所述方法包括以下步骤:

(a)计算输入视频流的平均图像a和视频流的标准差图像std;

(b)计算视频流中的最后图像in的归一化图像in';

(c)在涉及归一化图像的处理中计算变换的图像t(x);

(d)构建图像t(x)的值的加权直方图;

(e)将索引j的值设置为1;

(f)从图像t(x)计算二值化图像b,其中图像t(x)中的值高于第j阈值的像素在二值化图像b中被指派有值1,图像t(x)中的值低于该阈值的像素在二值化图像b中被指派有值0;

(g)计算二值化图像b的两个特征值;

(h)构建第一半轴长度和第二半轴长度分别等于第一特征值和第二特征值的椭圆;

(i)确定构建的椭圆的形状是否与被跟踪的对象的图像相似;

(j)如果构建的椭圆的形状与被跟踪的对象的图像相似,则断定在图像i(x)n中检测到所述对象并且检测到视频流中的所述对象的运动,并且终止所述方法;

(k)如果构建的椭圆的形状不与所述对象的形状相似,则将索引j的值增加1;

(1)如果j超过预定义的jmax,则断定在图像in中未检测到所述对象并且在视频流中未检测到所述对象的运动,并且终止所述方法;以及

(m)如果j未超过jmax,则返回到步骤(e)。

在本发明的接口系统中,可按照以下方法在由所述图像传感器获得的图像中检测预定义对象,所述方法包括以下步骤:

(a)将所述图像分割成整数n个初始片段,各个片段具有关联的特征矢量;

(b)生成最终片段列表以及所述最终片段列表中的各个片段的特征矢量,所述最终片段列表包括存在于初始片段列表中的片段以及通过将一个或更多个邻近片段组合成公共片段而形成的附加片段;以及

(c)将所述最终片段列表中的片段聚类成m个片段聚类。

生成最终片段列表的步骤可包括以下步骤:

(a)形成当前片段列表,该当前片段列表包括所述图像中的初始片段s1、...、sk、...、sn;

(b)将索引i设置为n,n为所述图像中的片段数;

(c)对于所述图像中的各对邻近片段sk1和sk2,利用预定义的度量来计算这两个片段的特征矢量vk1和vk2之间的距离;

(d)在多对邻近片段当中找到距离||vk1-vk2||最小的一对邻近片段sk1和sk2;

(e)通过将两个片段sk1和sk2组合成单个片段来重新分割所述图像,以使片段数量减少1;

(f)将组合的片段sk1和sk2添加到当前片段列表,以更新当前片段列表;

(g)计算组合的片段的特征矢量;

(h)将索引i减1,

(i)如果i大于1,则返回到步骤(d),以及

(j)如果i=l,则终止所述生成最终片段列表的步骤。

将所述最终片段列表中的片段聚类成m个片段聚类的步骤可包括以下步骤:

(a)形成包括所述最终片段列表s'1、...、s'k、...、s'n'的当前片段列表;

(b)将索引i设置为n',n'为当前片段列表中的片段数量;

(c)对于当前片段列表上的各对片段sk1和sk2,利用预定义的度量来计算这两个片段的特征矢量vk1和vk2之间的距离;

(d)在当前列表上的多对片段当中找到当前片段列表上的距离||vk1-vk2||最小的一对片段sk1和sk2;

(e)将组合的片段sk1和sk2添加到片段列表,以更新片段列表;

(f)计算组合的片段的特征矢量;

(g)将索引i减1;

(h)如果i大于m,则返回到步骤(c);以及

(i)如果i=m,则终止所述将最终片段列表中的片段聚类的步骤。

所述手势识别模块还可被配置为对通过对象检测算法检测出预定义对象的视频序列ι1、i2、...ik、ik+1、in执行对象验证处理,该处理包括以下步骤:

(a)生成对象o1、o2、...ok、ok+1、...on的两个或更多个序列s,其中序列s中的对象ok被对象检测算法检测为预定义对象;

(b)对于生成的各个图像序列,

(i)对于序列中的各对连续对象ok、ok+1,利用第一度量d1计算对象ok与ok+1之间的距离d1(ok,ok+1);

(ii)对于序列中的各个对象ok,利用第二度量d2计算对象ok与所述预定义对象的标准图像o之间的距离d2(ok,o);

(iii)计算序列s的长度l,序列的长度l(s)由下式给出

(c)检测满足预定义标准的序列;以及

(d)检测不满足所述预定义标准的序列作为包含被对象识别算法错误地检测为所述预定义对象的一个或更多个对象的序列。

根据所述预定义标准,长度小于预定义长度的序列可被检测为由所述预定义对象构成,长度大于预定义阈值的序列被检测为是包含被对象识别算法错误地检测为所述预定义对象的一个或更多个对象的序列。另选地,根据所述预定义标准,总序列数当中的预定义部分的最短序列被检测为由所述预定义对象构成。

在本发明的接口系统中,所述手势识别模块还可被配置为:

(a)检测由所述预定义对象执行的一个或更多个第一手势,各个第一手势具有关联的方向;以及

(b)当检测到第一手势时,基于所检测到的第一手势生成第一消息;

(c)检测第二手势,该第二手势的关联方向不同于与检测到的第一手势关联的方向;

(d)生成第二消息,其中,在所述第一手势终止之后的预定义时间间隔之后检测到第二消息时基于所检测到的第二消息确定所述第二消息;并且

(e)在所述第一手势终止之后的所述预定义时间间隔之前检测到第二手势时不生成第二消息。

本发明还提供了一种用于控制第一装置的用户接口设备,该用户接口设备包括:

(a)图像传感器;

(b)手势识别系统,其具有两个或更多个识别模式,并且被配置为:

(i)分析由所述图像传感器获得的图像,以标识由预定义对象执行的待标识的一个或更多个手势,所述预定义对象选自一只或更多只手、手的一部分、一根或更多根手指、手指的一个或更多个部分以及一个或更多个指尖;

(ii)将所述手势识别系统的识别模式从初始识别模式改变为第二识别模式,其中,所述第二识别模式是基于所述手势识别系统的初始识别模式、标识的手势和所述装置的态势感知信息中的任一个或更多个确定的,其中,所述态势感知信息是与所述装置的状态有关的信息、通过与所述装置关联的传感器接收的信息、与所述装置上运行的一个或更多个进程有关的信息、与所述装置上运行的应用有关的信息、与所述装置的电力状态有关的信息、与所述装置的通知有关的信息、与所述装置的移动有关的信息、与所述装置的空间取向有关的信息、关于与一个或更多个用户的交互的信息、关于用户行为的信息以及关于一个或更多个触发的信息中的一个或更多个;并且

(iii)生成第一消息,其中,所生成的第一消息是基于所述手势识别系统的初始识别模式和识别的手势确定的。

在本发明的接口系统中,所述接口系统可与第一装置集成。

给定手势可根据上下文(例如,在处理器上运行的软件、检测到的触发或者基于音频或相机输入的态势感知)用作多个功能。因此,当应用改变时,相同的手势可用作不同的功能。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

接收来自与装置关联的图像传感器的输入,该输入指示人的手势;

处理反映装置的条件的态势感知信息,该态势感知信息的处理包括由处理器接收态势感知信息、将态势感知信息存储在与处理器有关的存储器中,处理态势感知信息,并且生成与装置的条件有关的指令;

使装置的状态与接收的输入相关,使得当装置处于第一条件时,所接收到的输入导致以第一方式控制装置,当装置处于第二条件时,所接收到的输入导致以不同于第一方式的第二方式控制装置;

包括由处理器接收态势感知信息,将态势感知信息存储在与处理器有关的存储器中,将态势感知算法应用于态势感知信息以生成经变换的态势感知信息,并将经变换的态势感知提供给处理器,该处理器将装置的条件与所接收到的输入相关。

与装置关联的传感器可包括相机、光传感器、超声波传感器、接近传感器、压力传感器、电导传感器、运动传感器、温度传感器和反射传感器中的一种。

图像传感器可包括相机、光传感器、超声波传感器、接近传感器和反射传感器中的一种。

装置的条件可包括在装置上运行的多个软件程序中的一个的指示;并且其中,在相关期间,当第一软件程序当前在装置上运行时使用输入控制第一软件应用;并且其中,使用输入控制第二软件程序。

所述处理还可包括激活与在装置的前台运行的应用、在装置的后台运行的应用或者当前未在装置上运行的装置的应用中的至少一个相关的装置的状态。

装置的条件可以是经由至少一个传感器确定的环境条件。

环境条件可包括声音、相机输入和温度中的至少一个。

装置的条件可以是软件应用的操作状态。

所述处理还可包括确定第一软件程序和第二软件程序中的哪一个当前在处理器上运行,并且基于所述确定来传送关联的命令。

第一命令和第二命令可以是相同的,并且第一软件程序可被配置为解释命令以便以第一方式控制第一软件程序,第二软件程序可被配置为解释命令以便以第二方式控制第二软件程序。

态势感知信息可以是与装置的状态有关的信息、由与装置关联的传感器接收的信息、与在装置上运行的进程有关的信息、与在装置上运行的应用有关的信息、与装置的电力状态有关的信息以及与装置的通知有关的信息中的一个或更多个。

一些算法在检测靠近相机的手势时效果更好,其它算法在手势更远离相机发生时效果更好。通过基于距相机的距离切换手势识别机制,可优化手势检测的有效性。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

从图像传感器接收图像信息,该图像信息指示手势;

基于手势发生于手势与相机之间的预定义距离内的概率,来将手势分类为短距离手势和长距离手势中的一个;

如果手势被分类为短距离手势,则将第一手势识别处理应用于图像信息;以及

如果手势被分类为长距离手势,则将第二手势识别处理应用于图像信息。

本发明还提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

从图像传感器接收图像信息,该图像信息指示手势;

确定用户与图像传感器之间的近似距离;以及

当近似距离在第一范围内时以第一方式处理图像信息,当近似距离在不同于第一范围的第二范围内时以第二方式处理图像信息。

手势识别算法中的至少一个可标识与解剖结构关联的图案。

参数可基于近似距离的预定义范围。

改变手势识别算法的参数可包括以下步骤:识别在短距离处具有较大运动矢量的手势识别和在长距离处具有较小运动矢量的手势识别。

当预期身体部位不是图像的部分时不考虑疑似为手势的运动往往会使手势识别更加鲁棒。例如,包含手势的图像通常也包含尺寸与手的尺寸成比例的脸部图像。因此,如果图像不包含与手成恰当比例的疑似脸部的图像,则算法不考虑该运动因为不可能是手势。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

从与用户可操作的装置关联的相机接收至少一个图像;

在图像中检测与除了用户的手之外的解剖结构对应的数据;

在至少一个图像中标识与装置的用户的疑似手势对应的信息;以及

如果在至少一个图像中未标识出与除了用户的手之外的解剖结构对应的数据,则不考虑与疑似手势对应的信息。

预定义的疑似身体部位可以是脸部。

预定义的疑似身体部位可包括用户的眼睛。

如果疑似手势的尺寸相对于疑似身体部位的比例在预定义的范围之外,则也可不考虑该疑似手势。

所述处理还可包括在从至少一个2维相机接收到的一系列图像内确定用户的至少两个身体部位的位置。

所述处理还可包括在一系列图像内比较至少两个身体部位的相对尺寸和空间关系。

所述处理还可包括基于至少两个身体部位的相对尺寸和空间关系的比较来调节手势识别算法。

所述调节可包括如果得自所述比较步骤的参数不满足预定义的阈值,则不考虑潜在的手势运动。

所述处理还可包括将手的皮肤颜色与疑似身体部位的皮肤颜色进行比较,并且当确定皮肤颜色匹配不足时不考虑疑似手势。

所述处理还可包括限定解剖结构内的关注区域。

如果在图像中未检测到解剖结构(例如,手),则截断图像的处理往往会提高处理效率并节省电池电力。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,所述方法包括以下步骤:

尝试在至少一个图像中标识与解剖结构对应的信息;

当标识出解剖结构时,处理来自多个图像的图像数据以便标识疑似手势;以及

当在至少一个图像中未标识出解剖结构时,终止与至少一个图像关联的手势识别算法。

尝试标识可包括在图像中标识疑似包含解剖结构的区域,将该区域分割成连接的聚类,并且将连接的聚类与预定义的形状特性进行比较。

所述解剖结构可以是手。

所述解剖结构可以是手指。

疑似图像可在相机的预定义的附近范围内,预定义的形状可以是手指。

利用上下文触发打手势会话(gesturingsession)往往会增加电池寿命并增强用户便利。当触发打手势会话时,装置的采样率增加。通过在没有检测到触发的时间段降低采样率,装置的电池寿命和效率可增加。例如,智能电话装置的手势识别模式可通过来电电话呼叫的触发激活,从而使得用户能够利用手势来接听电话。或者,装置的手势识别模式可在激活闹钟功能并且闹钟响起时触发,从而使得用户能够利用手势关闭闹钟。其它触发可包括特定手势。另外,装置能够触摸控制,并且可通过基于触摸的触发来触发手势识别模式。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

从与用户可操作的装置关联的图像传感器接收图像数据;

使得能够按照至少第一模式和第二模式处理来自图像传感器的图像数据,所述第一模式包括处理比第二模式少的图像数据;

在第一模式下操作处理;

检测基于上下文的触发,该基于上下文的触发指示预期的用户手势的可能性增加;以及

当检测到基于上下文的触发时,将处理从第一模式切换为第二模式。

所述处理还可包括在切换之后,在未检测到疑似手势的情况下经过预定义的时间之后将处理返回到第一模式。

所述图像数据可包括手。

所述图像数据可包括手指。

所述图像数据可包括手的多个图像。

所述触发可以是触摸屏上检测到的触摸。

所述触发可以是按压物理按钮和虚拟按钮中的至少一个。

所述触发可包括手在附近越过相机。

所述触发包括从连接到装置的麦克风接收到的声音。

所述触发可包括在指示注视装置的用户的图案中检测到用户的眼睛和脸部中的至少一个。

所述触发可使得相机增加帧频。

所述触发可包括来自接近传感器的信号。

所述触发可包括在处理器上运行的软件中发生的事件。

所述触发可包括由相机检测到的运动。

所述处理还可包括识别与基于上下文的触发有关的基于上下文的手势。

基于上下文的触发可以是闹钟,基于上下文的手势可选自关闭闹钟、在预定义的时间过去之后将闹钟重置为再次响铃、调节闹钟的音量、进入使得用户能够选择播放的音乐的模式以及改变闹钟的闹铃音。

基于上下文的触发可以是来电电话呼叫,基于上下文的手势可选自接听来电呼叫、将来电呼叫转接为语音邮件以及激活移动电话的视频会议模式。

手势识别模式可在基于上下文的触发之后有效达预定义的时间段。

基于上下文的触发可以是歌曲的开始和结束,所述装置可以是音频播放器。

基于上下文的触发可以是视频节目的开始和结束,所述装置是视频播放器。

在检测到基于上下文的触发之后,第二模式可保持有效达与已知用户行为模式对应的时间段。

在第一模式下接收到的信息的量可大于在第二模式下接收到的信息的量。

在第一模式下,采样率可低于8帧/秒。

在第一模式下,采样率可低于5帧/秒。

在第一模式下,采样率可低于2帧/秒。

在第一模式下,所述装置可被配置为按照通过手势识别之外的方式控制。

在第一模式下,所述装置可被配置为通过触摸屏上检测到的触摸来控制。

帧采样率可变化,照明条件、当前使用的应用以及图像运动程度中的至少一个可确定帧采样率。

对于还允许无触摸控制的触摸屏移动装置,不需要每一个控制均为无触摸的。在这些情况下,用户可受益于当前级别的控制可以按照无触摸方式发生的特定形式的指示。否则,用户可能由于在无触摸控制不可用时尝试无触摸控制而变得沮丧。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

接收来自与触摸屏装置关联的相机的信息,该信息反映手势;

在显示器上显示可经由触摸激活的信息;

在显示器上显示可经由相机检测的手势激活的信息;以及

向用户提供可经由非触摸运动激活第二信息的听觉和视觉提示中的至少一个。

所述信息可以是显示器上的视觉指示符,该视觉指示符向用户指示当前可通过相机识别特定手势命令。

所述处理还可包括在检测到的手势之后,提供检测到手势的反馈信息。

所述处理还可包括当检测到手势并且显示器上的信息不可经由无触摸手势激活时,提醒用户显示器上的信息不可经由无触摸手势激活。

提醒显示器上的信息不可激活可包括音和视觉指示符中的一个。

特别是当基于手势实现命令存在延迟时,有益的是向用户提供指示识别出手势的反馈。如果没有这种反馈,则用户可能不必要地重复手势并且变得沮丧,认为手势识别算法有缺陷。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

利用图像传感器检测指示装置命令的人手势;

在装置上实现装置命令;以及

在所述命令实现之前的时间段期间,向用户提供识别出所述命令的反馈。

所述反馈可包括装置的显示器上的视觉指示符。

所述视觉指示符可包括显示器上的移动指示符。

显示器上的视觉指示符可近似于手势的方向。

所述反馈可包括来自装置的听觉信号。

所述反馈可基于特定使用情况而变化。

所述反馈可包括触觉反馈、定向振动、空气触感反馈、超声波反馈和听觉反馈中的至少一个。

通常,手势之后跟随返回运动,其中手返回到该手势之前手所在的位置。例如,如果手势是手从右向左挥击,则通常该手势之后跟随从左向右的手移动。在这种情况下,手势检测软件可能混淆,将返回运动处理为手势本身,从而取消了期望的第一手势。

因此,本发明提供了一种包含指令的计算机程序产品,该指令用于使得处理器执行一种方法,该方法包括以下步骤:

检测包含第一手势信息的至少一个第一图像数据帧集合;

检测包含第二手势信息的至少一个第二图像数据帧集合,所述第二手势信息与所述手势之后的自反运动对应;以及

将所述自反运动不予考虑。

自反运动可以是放松运动。

确定第二信息包含自反运动可包括评估第二信息是否在第一手势信息之后的预定义时间帧内发生。

确定第二信息包含自反运动可包括评估第二手势是否在基本上与第一手势相反的方向上发生。

附图说明

为了理解本发明并且看出它在实践中可如何实现,现在将参照附图仅通过非限制示例描述实施方式,附图中:

图1示出根据本发明的一个示例性实施方式的用于控制第一装置的用户接口;

图2示出根据本发明的一个示例性实施方式的控制第一装置的方法;

图3示出包括根据本发明的一个实施方式的用户接口系统的装置;

图4示出图3的装置被手持握;

图5示出在图3的装置前方执行手势;

图6示出图3的装置正被用户注视;

图7示出轻点手势;

图8示出点击手势;

图9示出显示在显示装置上的图像;

图10示出放大之后的图9的图像;

图11示出分割图像;

图12示出包括最小生成树模块和聚类模块以用于在分割图像中进行对象检测的方法的概况;

图13更详细地示出图12的最小生成树模块;

图14更详细地示出图12的聚类模块;

图15示出图像序列;

图16示出在图像序列中进行对象检测的方法;

图17更详细地示出图16的对象检测方法;

图18示出对象检测之后的图像序列;以及

图19示出在图像中检测身体部位的方法。

具体实施方式

图1示意性地示出根据本发明的一个实施方式的用于控制第一装置4的用户接口设备2。例如,第一装置可以是任何用户可操作装置,诸如个人计算机(pc)、便携式计算机、pda、膝上型计算机、移动电话、收音机、数码相机、车辆、医疗装置、智能家用电器(例如,电视或家庭娱乐系统)、移动游戏机或家用电器。

用户接口设备2包括图像传感器6,例如,图像传感器6可以是相机、光传感器、ir传感器、超声波传感器、接近传感器、cmos图像传感器、短波红外(swir)图像传感器或反射传感器。与第一装置4相邻的区域中的图像传感器6所获得的图像被输入至手势识别系统8,手势识别系统8分析图像传感器所获得的图像,以从当由预定义的对象在图像传感器6前方执行时被识别的一个或更多个手势当中标识一个或更多个手势。例如,预定义的对象可以是一只或更多只手、手的一部分、一根或更多根手指、手指的一个或更多个部分以及一个或更多个指尖中的任一个或更多个。

待标识的手势的示例包括挥击运动、两根手指的挤捏运动、指点、左至右手势、右至左手势、向上手势、向下手势、推手势、张开握紧的拳头、张开握紧的拳头并朝着图像传感器移动、轻点手势、挥手手势、拍手手势、逆拍手手势、将手握成拳、挤捏手势、逆挤捏手势、张开手上的手指的手势、张开手上的手指的逆手势、指着可激活对象、将激活用对象保持预定义的时间量、点击可激活对象、双击可激活对象、从右侧点击可激活对象、从左侧点击可激活对象、从底侧点击可激活对象、从顶侧点击可激活对象、抓握可激活对象、从右侧朝着可激活对象做手势、从左侧朝着可激活对象做手势、从左侧穿过可激活对象、推对象、拍手、在可激活对象上方挥手、执行冲击手势、执行轻点手势、在可激活对象上方执行顺时针或逆时针手势、用两根手指抓住可激活对象、执行点击-拖曳-释放运动以及滑动图标。

手势识别系统8包括手势检测器9,该手势检测器9在图像传感器6所获得的图像序列中跟踪预定义的对象,以检测待检测的任一手势的出现。手势检测器9对手势的检测被输入至消息决策器17,该消息决策器17基于所标识的手势和手势识别系统的当前识别模式来生成第一消息11。第一消息还可取决于来自一个或更多个设备传感器12的输入。传感器信号分析器15分析来自设备传感器12的信号。来自传感器的信号分析器15的输出可被输入至手势检测器9和消息决策器17中的一者或二者。要由手势识别系统8标识的手势可取决于手势识别系统的模式以及来自传感器12的信号的任何分析。例如,可将第一消息发送给第一装置、第一装置的操作系统、在第一装置的处理器上运行的一个或更多个应用、在后台运行的软件程序以及在第一装置上运行的一个或更多个服务或者在装置中、在外部网络上运行的进程。

用户接口设备2执行图2的流程图所示的方法。在步骤20中,由图像传感器6从图像序列生成的数据被输入至手势识别系统8。然后,手势检测器9运行手势识别模块。在步骤22中,手势识别模块分析由图像传感器6从图像序列生成的图像数据,以检测待标识的一个或更多个预定义的手势。在步骤24中,确定是否检测到待检测的手势中的一个。如果否,则处理返回至步骤20,使得由图像传感器6从图像序列生成的图像数据被输入至手势识别系统8。如果是,则在步骤26中,根据所检测到的手势和手势识别系统8的识别模式来生成第一消息。

手势识别模块在由手势模式决策器21确定的两个或更多个识别模式中的每一个模式下操作,手势模式决策器21被配置为如下所述在一个或更多个不同条件下将识别模式从初始识别模式改变为第二识别模式。在步骤28中,确定是否存在改变手势识别系统的模式的预定义的条件。如果是,则在步骤30中,改变手势识别系统的模式。然后处理返回至步骤20,使得由图像传感器6从图像序列生成的图像数据被输入至手势识别系统。

基于手势识别的初始识别模式、通过手势识别系统8标识的手势和态势感知信息13中的任一个或更多个来确定第二识别模式。本文使用术语“态势感知信息”来表示与第一装置的状态、通过与接口系统2关联的一个或更多个系统传感器12获得的信息、通过与第一装置关联的一个或更多个第一装置传感器10获得的信息、与装置上运行的一个或更多个进程有关的信息、与装置上运行的应用有关的信息、与装置的电力状态有关的信息、与装置的通知有关的信息、与装置的移动有关的信息、与装置的空间取向有关的信息、关于与一个或更多个用户的交互的信息、关于用户行为的信息以及关于一个或更多个触发的信息中的任一个或更多个有关的信息。

态势感知信息13可以是与第一装置的状态有关的信息,通过传感器的状态、软件应用的操作状态、在装置中运行的进程、在装置中运行的服务、在前台运行的软件程序、在后台运行的一个或更多个软件程序、装置的网络连接状态、装置的功率状态、装置的屏幕的光强度中的任一个或更多个来确定第一装置的状态。

态势感知信息13被输入给手势模式决策器21并被输入给消息决策器17。

改变手势识别系统8的模式的预定义的条件可取决于提供给手势识别系统2的态势感知信息。例如,这种态势感知信息可包括在第一装置4上运行的特定应用、改变为不需要检测手势的模式的应用、第一装置处于低功率模式、第一装置进入待机模式、自标识手势或呈现通知起已过去了预定义的时间量、发生模式的改变或应用的行为、第一装置从一个位置移动到另一位置、第一装置被解锁、第一装置停止移动、虚拟或真实按钮被按下、第一装置被置于托架上、接收到通知(例如,经由网络接收的通知)、接收到在线服务通知、接收到通过装置或应用或者通过服务生成的通知、接收到经由蜂窝网络、无线网络、tcpip或有线网络的来电语音或视频呼叫、来电3d视频呼叫、文本消息通知、会议通知、基于社区网络的通信、skype通知、脸书通知、推特通知、在线服务通知、未接来电通知、电子邮件通知、语音邮件通知、装置通知、播放器上的歌曲的开始或结束、视频的开始或结束、注视第一装置的用户的检测、通过图像传感器获得的图像中的脸部的检测、通过图像传感器获得的图像中的一只或更多只眼睛的检测、通过图像传感器获得的图像中的一只或更多只手或手的部分的检测、注视第一装置的预定义的人的检测、检测预定义的手势。

改变手势识别系统8的模式的预定义的条件的其它示例包括从来自系统传感器12或第一装置传感器10的信号的分析确定的条件、触摸屏上的触摸、通过连接到第一装置的麦克风接收到的声音、光传感器信号或加速度计信号的分析,以判定是否将第一装置从口袋或包中取出、第一装置的取向是否改变。

改变手势识别系统8的模式的预定义的条件的其它示例包括手势识别模块的模式之间的改变,例如,分析低帧频至高帧频的模式之间的改变和/或分析低分辨率图像至分析高分辨率图像的模式之间的改变。

作为具体示例,手势识别模块的初始模式可以是分析以低捕获帧频从图像传感器输入的视频,第二模式可以是分析以高捕获帧频从图像传感器输入的视频。在这种情况下,例如,将识别模式从初始模式改变为第二模式的先决条件可以是触摸屏上的触摸、通过连接到第一装置的麦克风接收到的声音、光传感器信号或加速度计信号的分析,以判定是否将第一装置从口袋或包中取出、第一装置的取向是否改变。

例如,第一装置传感器10可以是相机、光传感器、超声波传感器、接近传感器、压力传感器、电导传感器、运动传感器、温度传感器、加速度计、陀螺仪、取向传感器、磁性传感器、重力传感器和反射传感器、电导传感器和电容传感器以及图像传感器。第一装置4可与接口系统设备2集成,第一装置传感器10可与第一装置4集成。

手势模式决策器26可被配置为在预定义的时间量过去之后或者在自标识手势起经过预定义的时间量之后或者在自呈现通知起经过预定义的时间量之后,将识别模式从第二模式改变回初始模式。

手势识别模块的识别模式可通过一个或更多个特征来定义或指定,例如待标识的手势、用于一个或更多个预定义的待标识手势中的每一个的第一消息、手势识别系统上有效的算法以及各种待标识手势的第二识别模式、由图像传感器捕获的图像的分辨率或者由图像传感器捕获的图像的捕获率(capturerate)。

用户接口设备2还可在两个或更多个接口模式下操作,其中当前接口模式通过手势识别模块的识别模式以及来自一个或更多个设备传感器12的将由手势识别系统8分析的一个或更多个信号来定义。接口模式可取决于态势感知信息13和第一消息中的一者或二者。

例如,接口模式的改变可生成针对第一装置4、在第一装置上运行的应用、在第一装置上运行的服务、在第一装置上运行的进程或在第一装置上运行的操作系统的第三消息。

第一消息或第三消息可包括命令以提供接口模式、手势识别系统的模式和待标识的手势的指示。例如,所述指示可以是视觉指示、听觉指示、触感(tactile)指示、超声波指示、触觉(haptic)指示。例如,视觉指示可以是诸如显示在显示屏幕上的图标、显示屏幕上的图标的改变、显示屏幕上的图标的颜色的改变、指示灯、在显示屏幕上移动的指示符、定向振动指示、空气触感指示的形式。可通过在显示屏幕上移动的指示符来提供所述指示。所述指示符可出现在显示屏幕上出现的所有其它图像或视频的上面。所述指示可取决于当前态势感知信息。

态势感知信息可以是与一个或更多个触发有关的信息。例如,触发可以是应用的用户接口的改变、应用的视觉外观的改变、应用的模式的改变、应用的状态的改变、在第一装置上运行的软件中发生的事件、应用的行为的改变、经由网络接收到的通知、在线服务通知、由装置或应用或者由服务从触摸屏上的触摸生成的通知、按下虚拟或真实按钮、通过连接到装置的麦克风接收到的声音。触发的其它示例包括手势、使对象在小于预定义距离的距离处越过第一装置、注视第一装置4的用户的检测、通过图像传感器6获得的图像中的脸部的检测、通过图像传感器6获得的图像中的一只或更多只眼睛的检测、通过图像传感器获得的图像中的一只或更多只手或手的部分的检测、以及注视第一装置的预定义的人的检测、持握第一装置的用户的检测、来自接近传感器的信号、闹钟上发出的报警、经由蜂窝网络、无线网络、tcpip或有线网络的来电语音或视频呼叫、来电3d呼叫、文本消息通知、会议通知、基于社区网络的通信、skype通知、脸书通知、推特通知、在线服务通知、未接来电通知、电子邮件通知、语音邮件通知、装置通知、播放器上的歌曲的开始或结束、视频的开始或结束。

态势感知信息可与第一装置4的状态有关,在这种情况下,第一消息可被发送给第一装置,在第一装置处接收到第一消息可导致第一装置的状态的改变。第一装置的状态的改变可包括第一装置上的显示器的光强度的增大或减小、第一装置的状态从锁定模式改变为解锁模式或者反之、打开或关闭一个或更多个传感器、一个或更多个传感器的配置和/或参数的改变、启用/禁用缩放模式、改变为无声模式、启用/禁用通知的呈现、装置改变为静音模式、或者打开或关闭扬声器模式。

第一消息可提供手势被识别、哪一特定手势被识别、被识别的手势的特征中的任一个或更多个指示,例如运动矢量、速度、手势被识别的位置、识别的可靠性。

第一消息可包括命令,例如,针对第一装置4、在第一装置4上运行的应用、在第一装置4上运行的服务以及在第一装置4上运行的操作系统、在第一装置上运行的进程的命令。例如,所述命令可以是在第一装置4上运行应用的命令、停止在第一装置4上运行的应用的命令、激活在第一装置4上运行的服务的命令、停止在第一装置4上运行的服务的命令。

所述命令可以是针对第一装置的命令,例如,按下显示在第一装置的显示屏幕上的虚拟键;旋转选择转盘;在桌面之间切换;在第一装置上运行预定义的软件应用;关闭第一装置上的应用;打开或关闭扬声器;增大或减小音量;锁定第一装置、解锁第一装置、在媒体播放器中或在iptv频道之间跳到另一轨道;控制导航应用;发起呼叫、结束呼叫、呈现通知、显示通知;在照片或音乐专辑库中进行导航、滚动网页、呈现电子邮件、呈现一个或更多个文档或地图、控制游戏中的动作、控制交互视频或动画内容、编辑视频或图像、指着地图、放大或缩小地图或图像、在图像上绘画、朝着第一装置上的显示器推图标、抓握图标并将该图标拉离显示装置、使图标旋转、模仿第一装置上的触摸命令、执行一个或更多个多触摸命令、触摸手势命令、打字、点击显示的视频以暂停或播放、编辑视频或音乐命令、对帧加标签或从视频捕获帧、从视频剪切视频子集、呈现来电消息;接听来电呼叫、静音或拒绝来电呼叫、打开来电提醒;呈现从网络社区服务接收的通知;呈现由第一装置生成的通知、打开预定义的应用、将第一装置从锁定模式改变并打开最近呼叫应用、将第一装置从锁定模式改变并打开在线服务应用或浏览器、将第一装置从锁定模式改变并打开电子邮件应用、将第一装置从锁定模式改变并打开在线服务应用或浏览器、将第一装置从锁定模式改变并打开日历应用、将第一装置从锁定模式改变并打开提醒应用、将第一装置从锁定模式改变并打开由用户设置、由第一装置的制造商设置或者由服务运营商设置的预定义的应用、激活图标、选择菜单项、在显示器上移动指针、操纵无触摸鼠标、显示器上的图标以及改变显示器上的信息。

当第一消息被发送给第一装置4时,第一装置4可响应于第一消息生成(例如)针对远程装置16、在远程装置上运行的操作系统、一个或更多个远程应用或者一个或更多个远程服务的第二消息。第二消息可以是命令。

由手势识别系统8生成的第一消息可被发送给在第一装置4上运行的应用或者远程应用,在这种情况下,第一消息可由第一装置4上的第一运行应用按照第一方式解释,并且同一消息可由第一装置4上的第二运行应用按照第二方式解释。

手势识别系统8可被配置为在手势识别系统的模式从初始模式改变为第二模式时生成第四消息。第四消息可包括命令,例如,针对第一装置4、在第一装置4上运行的应用、在第一装置4上运行的服务以及在第一装置4上运行的操作系统的命令。所述命令可以是提供指示的命令,例如,指示手势识别系统2准备好识别手势、手势识别系统2准备好识别一个或更多个预定义的手势、手势识别系统2未准备好识别手势、环境光条件不允许手势识别或者手势识别系统2未准备好识别手势。例如,所述指示可以是视觉指示、听觉指示、触感指示、触觉指示。例如,视觉指示可以是显示在显示屏幕上的图标、显示屏幕上的图标的改变、显示屏幕上的图标的颜色的改变、指示灯。

初始模式和第二接口模式可通过图像传感器6所捕获的图像的捕获率来定义。第二模式下的捕获率可小于或大于初始模式的捕获率。初始模式和第二模式可通过图像传感器所捕获的图像的分辨率来定义,第二模式的图像的分辨率可大于或小于初始模式的图像的分辨率。

第一装置10可包括诸如专用处理器、通用处理器、dsp(数字信号处理器)处理器、gpu(图形处理单元)处理器、专用硬件或者可在外部装置上运行的处理器之类的处理器。第一装置4可将接口设备2作为程序在第一装置4的一个或更多个处理器上运行。

在本发明的一个实施方式中,在由图像传感器6获得的图像中检测到第一对象用作触发,并且在第二识别模式下,手势识别模块标识通过图像传感器获得并且包括第一对象的图像中的第二对象,其中第二对象与第一对象具有预定义的空间关系。在这种情况下,手势识别系统可被配置为检测由第二对象执行的手势。例如,第一对象和第二对象可分别是第一身体部位和第二身体部位。例如,第一身体部位可以是脸部、一只眼或双眼、第一只手或第一只手的一部分、或者处于第一姿势的第一只手。而第二身体部位可以是第二只手或第二只手的一部分、或者处于第二姿势的第二只手。第一对象和第二对象之间的预定义的空间布置可通过从第一对象的重心到第二对象的重心的矢量来指定。该矢量可具有预定义范围内的大小和预定义范围内的方向中的一者或两者。

图3示出第一装置32,其可以是图1所示的第一装置4。第一装置32包括根据本发明的一个实施方式的用户接口系统2。第一装置32是手持装置,例如,可以是移动电话、平板计算机或便携式媒体/音乐播放器,并且包括显示屏幕36,显示屏幕36可以是触摸屏和/或键区34。第一装置32包括图像传感器46,并且还可包括麦克风38和扬声器40。

第一装置32包括位于第一装置32的表面上的一个或更多个第一装置传感器42,所述第一装置传感器42监测装置的环境中的一个或更多个参数的值。在此示例中,第一装置传感器32可被设置在装置32的表面上的位置处,使得当装置32被持握于手中时,手与一个或更多个传感器接触,如图4所示。当手34(如图4中的虚线所示)接触一个或更多个传感器42时,所监测的参数的值改变。例如,一个或更多个传感器可检测环境温度,在这种情况下,由传感器42检测到的温度的升高指示手与传感器之间的接触。另选地或另外地,一个或更多个传感器可检测环境电导率或电容的改变,其中的任一个指示用户的手44与第一装置传感器42之间的接触,其作为态势感知信息(如上所述)被输入至决策器x。

图像传感器46被设置在第一装置42的表面上,以获得第一装置42前方的三维空间的一部分的视频图像,所述视频图像被输入至手势识别系统,使得当利用用户的手48(图5)在装置42上方做出手势时,该手势被图像传感器记录并被手势识别系统检测。来自传感器42的信号被输入至传感器信号分析器15(图l),来自传感器信号分析器的输出被输出给手势检测决策器17(如上所述)。

本发明的实施方式被配置为执行显示在第一装置4的显示器上的图像的放大或缩小。用户可首先执行预定义的手势以进入缩放模式。例如,如图7所示,进入缩放模式的预定义的手势可以是“轻点”运动,该“轻点”运动包括手的食指与手的拇指的间距的改变。作为另一示例,如图8所示,指示进入缩放模式的命令的预定义手势包括“点击”运动。点击运动包括将手指40的指尖朝着图像传感器6移动,然后将指尖远离图像传感器6移动。当处理器检测到用户的手执行了指示进入缩放模式的命令的预定义手势时,用户接口2使第一装置4进入缩放模式。

一旦第一装置4进入了缩放模式,用户可在不触摸显示器的情况下指着显示器上的图像43中的点。然后,用户接口2可从图像传感器6所获得的图像中的用户的手指42的外观来确定显示屏幕46上的用户所指着的点。处理器可通过在该位置处向图像43中引入小圆点54或任何类型的反馈来向用户指示处理器确定用户指着哪里。

一旦装置4进入缩放模式,处理器分析由图像传感器6获得的视频流,以从显示在显示屏幕46上的图像确定用户的手指是执行了指示放大命令还是缩小命令的手势。

例如,在一个实施方式中,标识手的食指与手的拇指分开第一距离。然后标识食指与拇指的间距改变为第二距离,其中第二距离小于第一距离,从而指示进入第一缩放模式并根据第一缩放模式执行缩放的命令。第一缩放模式不是放大模式就是缩小模式。当第二距离大于第一距离时,这指示进入第二缩放模式并根据第二缩放模式执行缩放的命令。第二缩放模式也不是放大模式就是缩小模式,但是第二缩放模式不同于第一缩放模式。标识食指与拇指的间距改变的一个或更多个实例,并且在食指与拇指的间距改变的各个实例期间根据缩放模式执行缩放。另一示例,只要食指和拇指继续彼此分开直至它们到达最大距离,然后彼此靠近直至它们到达最小距离,改变的实例就可被定义为一个实例。

在另一实施方式中,在初始取向下标识伸出的手指,然后标识在第一方向或第二方向上的手指。取向从初始取向改变为第一方向上的第二取向指示进入第一缩放模式并根据第一缩放模式执行缩放的命令,其中第一缩放模式不是放大模式就是缩小模式。取向从初始取向改变为第二方向上的第二取向指示进入第二缩放模式并根据第二缩放模式执行缩放的命令,其中第二缩放模式也不是放大模式就是缩小模式,其中第二缩放模式不同于第一缩放模式。然后标识伸出的食指从第一取向改变为第二取向的一个或更多个实例。然后在伸出的食指的取向从初始取向改变为第二取向的各个实例期间根据缩放模式执行缩放。另选地,只要伸出的食指保持为第二取向,就可根据缩放模式执行缩放。所述缩放可具有随着处于初始取向的手指的指尖与处于第二取向的手指的指尖之间的距离增大而增大的缩放比。

作为另一实施方式,标识第一手势或第二手势,其中第一手势包括在张开手指的状态下将手朝着成像装置移动,然后在闭合手指的同时将手远离成像装置移动,第二手势包括在闭合手指的状态下将手朝着成像装置移动,然后在张开手指的同时将手远离成像装置移动。当标识出第一手势时,进入第一缩放模式,当标识出第二手势时,进入第二缩放模式。根据缩放模式执行缩放。第一缩放模式不是放大模式就是缩小模式,第二缩放模式也不是放大模式就是缩小模式,但是第二缩放模式不同于第一缩放模式。只要继续标识出第一手势或第二手势,就根据缩放模式执行缩放。

作为另一实施方式,标识第一手势或第二手势,其中第一手势包括在张开手指的状态下将手朝着成像装置移动,然后在闭合手指的同时将手远离成像装置移动,第二手势包括在闭合手指的状态下将手朝着成像装置移动,然后在张开手指的同时将手远离成像装置移动。当标识出第一手势时,进入第一缩放模式,当标识出第二手势时,进入第二缩放模式。根据缩放模式执行缩放。第一缩放模式不是放大模式就是缩小模式,第二缩放模式也不是放大模式就是缩小模式,但是第二缩放模式不同于第一缩放模式。只要继续标识出第一手势或第二手势,就根据缩放模式执行缩放。

当接口系统2确定用户执行了用于放大或缩小的预定义的手势时,处理器将在以用户先前指示的点(由小圆点54指示)为中心缩放的同时放大或缩小图像43。图10示出在处理器对图像43执行放大之后显示图像56的显示屏幕46。只要接口系统2处于缩放模式,用户就可执行一系列的放大和缩小手势。

手势检测器可使用任何方法来在图像传感器6所获得的图像中检测预定义的对象。例如,手势检测器可如wo2005/091125或wo2010/086866中公开的那样检测预定义的对象。

另选地,手势检测器可如下检测预定义的对象。图11示意性地示出分割图像62。分割图像62被分割成片段s1、...、sk、...、sn,其中各个片段是邻接像素集,图像中的各个像素精确地属于一个片段。

对于从1至n的各个k,各个片段sk具有关联的特征矢量vk=(vk1,vk2,vk3,...vkn)。对于n个特征中的每一个,vkj是片段sk中的第j特征的数值。这些特征的示例包括该片段的平均颜色强度、该片段的平均灰度、片段sk的尺寸、形状或质心坐标。

图12示出根据本发明的一个实施方式的用于检测图像2中的预定义的对象的系统64。系统64包括最小生成树模块68和聚类模块72。最小生成树模块68接收图像62的片段s1、...、sk、...、sn的初始列表和对应的特征矢量v1、...、vk、...、vn作为其输入66。最小生成树模块68的输出70是最终片段列表以及最终片段列表中的各个片段的特征矢量。如下所述,最终片段列表包括存在于初始片段列表中的片段以及通过将一个或更多个邻近片段组合成公共片段而形成的附加片段。

最小生成树模块68的输出70被输入给聚类模块72。聚类模块的输出74是最终片段列表中的片段聚类成预定义数量的片段聚类。例如,聚类模块可使用k-means方法。

图13示出根据本发明的一个实施方式的最小生成树模块8所执行的处理的流程图。在步骤88中,形成当前片段列表,该当前片段列表包括图像2中的初始片段s1、...、sk、...、sn。在步骤89,将索引i设置为n,n为图像62中的片段数。然后,在步骤90中,对于图像62中的各对邻近片段sk1和sk2,利用预定义的度量来计算两个片段的特征矢量vk1和vk2之间的距离。例如,所述度量是n维欧几里得度量。在步骤92中,在多对邻近片段当中找到距离||vk1-vk2||最小的一对邻近片段sk1和sk2。然后,通过将两个片段sk1和sk2组合成单个片段来重新分割图像62(步骤94),从而使片段数量减少1,使得当前片段数量为i-1。将组合的片段sk1和sk2添加到片段列表,以更新片段列表。在步骤96中,计算组合的片段的特征矢量。在步骤100中,将索引i减1,并且在步骤102中确定是否i=l。如果i大于1,则处理返回至步骤90,在该步骤针对图像的当前分割计算距离。如果i=l,则处理终止。

图14示出根据本发明的一个实施方式的聚类模块72所执行的处理的流程图。在步骤10中,形成当前片段列表,该当前片段列表包括由最小生成树模块68输出的最终片段列表s'1、...、s'k、...、s'n'。在步骤106中,将索引i设置为n',n'为当前片段列表中的片段数量。然后,在步骤108中,对于当前片段列表上的各对片段sk1和sk2,利用预定义的度量来计算两个片段的特征矢量vk1和vk2之间的距离。例如,所述度量是n维欧几里得度量。在步骤110中,在当前列表上的多对片段当中找到当前片段列表上距离||vk1-vk2||最小的一对片段sk1和sk2。在步骤112中,将片段sk1和sk2从片段列表中删除,并且在步骤114中,将组合的片段sk1和sk2添加到片段列表,以更新片段列表。在步骤42中,计算组合的片段的特征矢量。在步骤44中,将索引i减1,并且在步骤46中确定是否i=m,m为图像中的将被检测的对象的预定义数量。如果i大于m,则处理返回至步骤38,在该步骤针对图像的当前分割计算距离。如果i=m,则处理终止。因此,聚类模块的输出14是图像2分割成预定义数量m个片段。

图15至图17示出根据本发明的另一实施方式的用于对象检测的另选方法。图15示意性地示出视频流122。视频流122包括图像序列i1、...、ik、...ιn。图16示出根据一个实施方式的在视频流122中检测预定义的对象的运动的系统126。系统126包括接收图像的视频流(例如,视频流122)作为输入的自回归模块128。自回归模块128的输出被输入给归一化模块130。来自归一化模块130的输出被输入给变换模块131。来自变换模块的输出被输入给全局阈值模块132,然后该全局阈值模块132的输出被输入给决策模块16,在该决策模块16处确定在输入视频流中是否检测到预定义的对象的运动。

图17示出根据实施方式的在视频流中检测预定义的对象的运动的方法。在步骤140中,将视频流122输入给自回归模块128。在步骤142中,自回归模块128计算输入视频流的平均图像a,并且在步骤144中,计算视频流的标准差图像std。例如,可使用自回归算法来计算图像a和std。然后,将平均图像a和标准差图像std随输入视频流的最近图像in一起输入给归一化模块130。在步骤146中,归一化模块130针对图像中的各个像素x,利用代数式i(x)n'=(i(x)n-a(x))/std(x)计算视频流中的最后图像in的归一化图像in'。

将原始图像i(x)n和归一化图像i(x)n'输入给变换模块136,在步骤147中,从i(x)n和i(x)n'生成修改的图像t(x),然后将该修改的图像输入给全局阈值模块130。

全局阈值模块130在迭代处理中从图像t(x)生成直方图,以确定是否在视频流中检测到预定义的对象的运动。在步骤150中,将索引j的值设置为1,并且在步骤151中,确定第j阈值。然后在步骤152中,全局阈值模块从修改的图像t(x)计算二值化图像b,其中图像t(x)中的值高于第j阈值的像素在二值化图像b中被指派有值1,图像t(x)中的值低于该阈值的像素在二值化图像b中被指派有值0。现在,全局阈值模块12基于二值化图像b来计算一个或更多个椭圆参数(步骤154),然后构建具有计算出的椭圆参数的值的椭圆(步骤156)。例如,全局阈值模块136可计算二值化图像b的两个特征值,并构建第一半轴长度和第二半轴长度分别等于第一特征值和第二特征值的椭圆。

现在将构建的椭圆输入给决策模块136。决策模块136将构建的椭圆与正被跟踪的对象的图像进行比较,并在步骤158中确定构建的椭圆是否与对象的图像相似。如果是,则在步骤160中确定在图像i(x)n中检测到对象并且检测到视频流中的对象的运动。然后处理终止。

如果在步骤158中确定构建的椭圆的形状不与对象的形状相似,则在步骤162中,索引j的值增加1,然后在步骤164中确定j是否超过最大值jmax。如果j超过jmax,则在步骤166中断定在图像in中未检测到对象并且在视频流中未检测到对象的运动。

如果在步骤166中确定j没有超过jmax,则处理返回到步骤151,在该步骤确定第j阈值。所述阈值被选择为使得随着索引j增加,阈值的值减小。

例如,可利用以下处理从i(x)n和i(x)n'计算变换的图像t(x)。

在一个实施方式中,t(x)=i(x)n'。

在另一实施方式中,首先构建图像ic(x),其中ic如下计算:构建图像i(x)n的加权直方图,其中为图像i(x)n中的各个像素x指派等于i(x)n'的权重。然后,通过利用来自加权直方图的像素值的概率取代图像i(x)n中的各个像素值来构建ic(x)。然后,t(x)是ic(x)i(x)n'的函数,例如,ic(x)与i(x)n'之和或乘积。

在另一实施方式中,计算图像isp(x),其中isp(x)中的各个像素的值是像素x处发生运动的概率。在此实施方式中,t(x)是ic(x)、isp(x)和i(x)n'中的任两个或更多个的函数。例如,t(x)可以是ic(x)、isp(x)和i(x)n'的乘积。

当在图像序列中检测到预定义的对象时,该图像序列可经受处理。

图18示出视频序列中的图像序列i1、i2、...ik、ik+1、in。各个图像ι1至in经受了对象检测算法,该算法分析各个图像中是否存在预定义的对象列表当中的一个或更多个对象。预定义的对象列表包括列表上的各个对象的标准图像。在图18中,图像中的圆圈200表示对象识别算法标识出预定义的对象列表当中的对象的位置。一些标识出的对象200可能实际上是预定义的对象列表当中的对象。然而,一些标识出的对象可能被对象检测算法错误地标识为来自预定义的对象列表。

使用对象验证来验证被对象识别算法标识为预定义的对象列表当中的对象的图像的对象200。根据本发明,生成标识出的对象o1、o2、...ok、ok+1、...on的两个或更多个序列s,其中序列s中的对象ok是在图像ik中标识出的对象2。这种序列的示例将是图1中的对象序列200a、200c、...200f、200g、...200j。对于各个序列中的各对连续对象ok、ok+1,利用第一度量d1计算对象ok与ok+1之间的距离d1(ok,ok+1)。另外,对于序列中的各个对象ok,利用第二度量d2计算对象ok与被标识为ok的对象的标准图像o(参见图1)之间的距离d2(ok,o)。

第一度量d1和第二度量d2可以是相同的度量或者可以是不同的度量。例如,第一度量和第二度量中的一者或二者可以是欧几里得度量或马哈拉诺比斯度量。

然后,计算各个序列s的长度l,序列的长度l(s)由下式给出

在一个实施方式中,长度小于预定义长度的序列被标识为由真对象构成,因此这些序列中的对象被验证。长度大于预定义阈值的序列被标识为是包含被对象识别算法错误地标识为预定义对象的一个或更多个对象的序列。

在另一实施方式中,总序列数当中的预定义部分的最短序列被验证。例如,最少10%的序列可被验证。

在一个实施方式中,手势识别系统还被配置为执行预定义的人的脸部图像检测,以在图像中定位用户的脸部,然后在图像中定位用户的其它身体部位,例如用户的手。

图19示出可由手势识别模块执行的在图像中检测身体部位(例如,手)的处理172。在步骤174中,检测图像中的脸部。例如,这可利用维奥拉-琼斯(vj)方法来进行,例如,如viola,p等人在“robustreal-timeobjectdetection”(第二届视觉建模、学习、计算和采样的统计和计算理论国际研讨会,加拿大温哥华,2001年7月13日)中公开的。通过围绕脸部的边缘与图像边缘平行并且具有最小尺寸的脸部矩形来指定脸部(步骤76)。然后,构建搜寻待检测的身体部位的图像中的关注区域(roi)(步骤178)。例如,roi可以是通过脸部矩形的预定义变换而确定中心和尺寸的矩形。例如,脸部矩形的中心可相对于脸部矩形的中心偏移预定义的矢量。例如,roi的高度和宽度可分别被计算为脸部矩形的高度乘以第一因子以及脸部矩形的宽度乘以第二因子。

现在,在步骤180中,构建脸部矩形中的像素的属性v的直方图f(v),其中f(v)是脸部矩形中的属性v的值为v的像素的频率。然后,在步骤182中,构建roi中的像素的属性v的直方图g(v)。在步骤184中,针对roi中的各个像素x,计算像素x属于待检测的身体部位的概率p(x),其中,概率p(x)的计算涉及像素x处的属性v的值v(x)以及直方图f(v)和g(v)。例如,p(x)可与f(v(x))/g(v(x))成比例。

现在处理进行至步骤186,在该步骤使用概率p(x)来在roi中定位手。例如,这可通过将概率p(x)高于预定义的阈值的那些像素x标识为属于手来完成。

然后,处理终止。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1