提供用于姿势识别的机制的方法和装置与流程

文档序号:12008603阅读:227来源:国知局
提供用于姿势识别的机制的方法和装置与流程
本发明的一些示例实施例总体上涉及用户界面技术,尤其涉及一种提供用于姿势识别的机制的方法和装置。

背景技术:
现代的通信时代已经带来了有线和无线网络的巨大发展。在消费者需求的刺激下,计算机网络、电视网络和电话网络正在经历着前所未有的技术发展。无线和移动网络技术已经解决了相关的消费者需求,同时提供了更为灵活且迅捷的信息传输。当前和未来的网络技术继续促使信息易于传输以及带给用户的便利。需要使得信息易于传输以及针对用户的便利有所增强的一个领域涉及简化HCI(人-计算机交互)的人机界面。随着计算设备以及手持或移动设备领域近来的发展让这些设备的能力得到增强,许多人在构思下一代的HCI。此外,假定设备将趋于增强其在收到请求时相对快捷地创建内容、存储内容和/或接收内容的能力,并且还假定诸如移动电话之类的移动电子设备经常面临着显示屏大小、文本输入速度以及用户界面(UI)的物理实施方式的局限,因此在HCI的环境中经常出现有挑战。此外,HCI的改进还会提升用户乐趣并且使得用户与计算设备的界面有可能在某些环境中出现,其中该环境可以其它方式为有效的HCI带来改变。一种这样的改进涉及姿势识别。与例如键盘和鼠标之类的HCI中当前采用的其它交互机制相比,一些人会认为姿势识别提高了通信的自然度和便利性。于是,已经研发出某些应用而使得姿势识别能够用作数字家电中的命令控制器,在文件/web导航中使用或者被用作普遍使用的遥控器的替代。然而,当前用于姿势分析的机制经常是缓慢的或者难以使用。假定下一代HCI的普遍采用,姿势识别的改进是受期待的。

技术实现要素:
提供了一种方法、装置和计算机程序产品以使得能够提供一种采用姿势识别的机制。例如,一些实施例可以采用基本上实时的基于视觉的动态手部姿势识别算法。在一个示例性实施例中,提供了一种提供用于采用姿势识别的机制的方法。该方法可以包括引起对所接收图像数据的下采样以生成多个图像帧的下采样图像分块,引起从下采样图像分块中提取多个特征,基于连续帧中相应特征的数值变化确定下采样图像分块的移动状态,以及基于投影直方图的第一边界和第二边界的移动确定图像数据中的对象的运动方向,该投影直方图基于相应下采样图像分块的移动状态而确定。在另一个实施例中,提供了一种提供用于采用姿势识别的机制的装置。该装置可以包括至少一个处理器和至少一个包括计算机程序代码的存储器。该至少一个存储器和计算机程序代码可以被配置为利用该至少一个处理器而使得该装置至少执行:引起对所接收图像数据的下采样以生成多个图像帧的下采样图像分块,引起下采样图像分块中提取多个特征,基于连续帧中相应特征的数值变化确定下采样图像分块的移动状态,以及基于投影直方图的第一边界和第二边界的移动确定图像数据中的对象的运动方向,该投影直方图基于相应下采样图像分块的移动状态而确定。在一个示例实施例中,提供了另一种提供用于采用姿势识别的机制的装置。该装置可以包括用于引起对所接收图像数据的下采样以生成多个图像帧的下采样图像分块的装置,用于引起从下采样图像分块中提取多个特征的装置,用于基于连续帧中相应特征的数值变化确定下采样图像分块的移动状态的装置,以及用于基于投影直方图的第一边界和第二边界的移动确定图像数据中的对象的运动方向的装置,该投影直方图基于相应下采样图像分块的移动状态而确定。在一个示例实施例中,提供了一种提供用于采用姿势识别的机制的计算机程序产品。该计算机程序产品可以包括至少一个具有存储于其上的计算机可执行程序代码指令的计算机可读存储介质。该计算机可读程序代码指令可以包括用于以下操作的程序代码指令:引起对所接收图像数据的下采样以生成多个图像帧的下采样图像分块,引起从下采样图像分块中提取多个特征,基于连续帧中相应特征的数值变化确定下采样图像分块的移动状态,以及基于投影直方图的第一边界和第二边界的移动确定图像数据中的对象的运动方向,该投影直方图基于相应下采样图像分块的移动状态而确定。本发明的一些实施例可以提供一种用于改善与具有基于视觉的用户界面功能的设备相关的用户体验的方法、装置和计算机程序产品。作为结果,例如,移动终端用户可以享受到关于对可结合移动终端使用的内容和其它服务或应用进行的访问的有所改进的功能。附图说明因此已经对本发明的实施例进行了大致描述,现在讲参考并不一定依比例而绘制的附图其中:图1是根据本发明示例实施例的移动终端的示意性框图;图2是根据本发明示例实施例的提供用于采用姿势识别的机制的装置的示意性框图;图3图示了可以由根据本发明示例实施例所配置的姿势识别管理器所进行的处理的示例;图4图示了根据本发明示例实施例的样本图像序列和相对应的图像结果;和图5是依据根据本发明示例实施例的提供用于采用姿势识别的机制的示例方法的框图。具体实施方式现在将参考附图对本发明的一些实施例进行更为全面地描述,附图中示出了本发明的一些而非全部实施例。实际上,本发明的各个实施例可以以许多不同方式来实现,而并不应当被理解为局限于这里所给出的实施例。相同的附图标记通篇指代相同要素。如这里所使用的,术语“数据”、“内容”、“信息”以及类似术语可以互换使用以指代能够依据本发明的实施例而被传送、接收和/或存储的数据。因此,使用这样的术语并不应当被理解为对本发明实施例的精神和范围进行限制。如这里所使用的,术语“电路”是指(a)仅硬件的电路实施方式实现(例如仅用模拟和/或数字电路的实施方式);(b)电路和(多个)计算机程序产品的组合,其包括存储在一个或多个计算机可读存储器上的、协同工作以使得装置执行这里所描述的一个或多个功能的软件和/或固件指令;和(c)例如(多个)微处理器或(多个)微处理器的一部分的电路,其需要软件或固件以进行操作,即使软件或固件并非物理存在。“电路”的这个定义应用于本申请中使用该术语的所有情况,包括任意权利要求。作为另一个示例,如这里所使用的,术语“电路”还将包括包含一个或多个处理器和/或其(多个)部分并且伴随有软件和/或固件的实施方式。作为另一个示例,这里所使用的术语“电路”例如还包括移动电话中的基带集成电路或应用处理器集成电路,或者蜂窝网络设备、其它网络设备和/或其它计算设备中类似的集成电路。如这里所定义的,指代非瞬时的物理存储介质(例如,易失性或非易失性存储器设备)的“计算机可读存储介质”可以与指代电磁信号的“计算机可读传输介质”区别开来。本发明的一些实施例可以提供一种能够通过其而体验到与姿势分析相关的改进的机制。此外,一些示例实施例可以提供一种通过其准确确定某些姿势的相对快速的机制。例如,可以单独基于计算机视觉准确且快速地检测并识别出从左至右的手部挥动姿势(或者从上至下的手部划过姿势)。虽然一些实施例可以利用例如包括具有能够捕捉高质量图像或以高频率捕捉图像的鲁棒相机设备的固定或移动系统的任何计算机视觉系统来实现,但是一些示例实施例也可以结合从较低质量的相机所捕捉或者以较低频率所捕捉的较低质量的图像来使用。作为一个示例实施例,图1图示了将从本发明实施例中获益的移动终端10的框图。然而,应当理解的是,如所图示并且随后所描述的移动终端10仅是可以从本发明实施例获益的一种设备的说明,并且因此不应当被理解为对本发明实施例的范围进行限制。这样,虽然诸如便携式人数字助理(PDA)、移动电话、传呼机、移动电视、游戏设备、膝上计算机、相机、平板计算机、触摸表面、可佩带设备、视频录影机、音/视频播放器、无线电广播、电子书、定位设备(例如,全球定位系统(GPS)设备),或者以上所提到的任意组合的诸多移动终端类型,以及其它类型的语音和文本通信系统可以轻易采用本发明的实施例,但是包括固定(非移动)电子设备在内的其它设备也可以采用一些示例实施例。移动终端10可以包括可与传送器14和接收器16进行操作通信的天线12(或多个天线)。移动终端10可以进一步包括诸如控制器20或其它处理设备(例如,图2的处理器70)的装置,其分别控制向传送器14提供信号以及从接收器16接收信号。信号可以包括依据可应用蜂窝系统的空中接口标准的信令信息,并且还包括用户话音、接收的数据和/或用户所生成的数据。就此而言,移动终端10能够利用一个或多个空中接口标准、通信协议、调制类型和访问类型进行操作。通过说明,移动终端10能够依据任意数量的第一、第二、第三和/或第四代通信协议或者类似协议等进行操作。例如,移动终端10能够依据第二代(2G)无线通信协议IS-136(时分多址(TDMA))、GSM(全球移动通信系统)和IS-95(码分多址(CDMA))进行操作,或者利用诸如通用移动电信系统(UMTS)、CDMA2000、宽带CDMA(WCDMA)和时分同步CDMA(TD-SCDMA)的第三代(3G)无线通信协议进行操作,利用诸如演进UMTS陆地无线电接入网络(E-UTRAN)的3.9G无线通信协议进行操作,利用第四代(4G)无线通信协议(例如,长期演进(LTE)或LTE-Advanced(LTE-A))或者类似协议进行操作,等等。作为替代(或除此之外),移动终端10能够依据非蜂窝通信机制进行操作。例如,移动终端10能够在无线局域网(WLAN)或其它通信网络中进行通信。在一些实施例中,控制器20可以包括被期望用于实施移动终端10的音频和逻辑功能的电路。例如,控制器20可以由数字信号处理器设备、微处理器设备,以及各种模数转换器、数模转换器和其它支持电路所组成。移动终端10的控制和信号处理功能根据这些设备各自的能力而在它们之间进行分配。控制器20因此还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。控制器20还可以包括内部视频编码器,并且可以包括内部数据调制解调器。另外,控制器20可以包括对可存储在存储器中的一个或多个软件程序进行操作的功能。例如,控制器20能够操作连接程序,诸如常规的Web浏览器。该连接程序随后可以例如根据无线应用协议(WAP)、超文本传输协议(HTTP)和/或类似协议而允许移动终端10传送和接收Web内容,诸如基于位置的内容和/或其它网页内容。移动终端10还可以包括用户接口,其包括诸如常规耳机或扬声器24的输出设备、响铃22、麦克风26、显示器28以及用户输入接口,所有这些都耦合至控制器20。允许移动终端10接收数据的用户输入接口可以包括任意数量的允许移动终端10接收数据的设备,诸如键盘30、触摸显示屏(提供这样的触摸显示屏的示例的显示器28)或者其它输入设备。在包括键盘30的实施例中,键盘30可以包括常规数字(0-9)和相关按键(#,*),以及用于对移动终端10进行操作的其它硬和软按键。可替换地或除此之外,键盘30可以包括常规的QWERTY键盘排列。键盘30还可以包括具有相关联功能的各种软按键。除此之外或可替换地,移动终端10可以包括诸如操控杆或其它用户输入接口之类的接口设备。一些采用触摸显示屏的实施例可以完全省略键盘30以及任意或所有的扬声器24、响铃22和麦克风26。移动终端10进一步包括诸如振动电池背夹之类的电池34,以便对操作移动终端10所需的各种电路进行供电,以及任选地提供作为可检测输出的机械振动。移动终端10可以进一步包括用户身份模块(UIM)38。UIM38通常为具有内置处理器的存储器设备。UIM38例如可以包括订户身份模块(SIM)、通用集成电路卡(UICC)、通用订户身份模块(USIM)、可移动用户身份模块(R-UIM)等。UIM38通常存储与移动订户相关的信息要素。除了UIM38之外,移动终端10可以配备有存储器。例如,移动终端10可以包括易失性存储器40,诸如包括用于临时数据存储的、带有高速缓存区域的易失性随机访问存储器(RAM)。移动终端10还可以包括其它非易失性存储器42,其可以是嵌入式的和/或是可移动的。存储器可以存储移动终端10用来实施其功能的任意数量的信息和数据。在示例性实施中,移动终端10可以包括与控制器20进行通信的诸如一个或多个相机、视频和/或音频模块的媒体捕捉模块。该媒体捕捉模块可以是用于捕捉图像、视频和/或音频以便存储、显示或传输的任意器件。例如,在媒体捕捉模块为相机模块37的示例性实施例中,相机模块37可以包括能够从所捕捉的图像形成数字图像文件的数字相机。因此,相机模块37可以包括用于从所捕捉的图像创建数字图像文件所必需的所有硬件,诸如镜头或其它光学设备,以及软件。虽然并非在所有情况下都是必要的,但是在一些示例性实施例中,相机模块37可以是能够捕捉指示深度和强度的3D图像信息的3D相机。还应当注意的是,一些示例实施例可以结合以其它方式产生或生成但是可用于在移动终端10(或固定终端)进行处理的图像或视频内容(还有其它类型的内容)而采用。现在将参考图2对本发明的示例实施例进行描述,其中显示了提供用于采用姿势识别的机制的装置50的某些部件。图2的装置50例如可以结合图1的移动终端10而得以采用。然而,应当注意的是,图2的装置50也可以结合移动和固定的各种其它设备而采用,因此本发明的实施例并不应当被局限于在诸如图1的移动终端10的设备上应用。例如,装置50可以在个人计算机或其它用户终端上采用。此外,在一些情况下,装置50可以处于诸如服务器或其它服务平台的固定设备上,并且内容可以基于在固定设备处所进行的处理而在诸如用户终端(例如,移动终端10)的远程设备上进行呈现(例如,经由服务器/客户端关系)。还应当注意的是,虽然图2图示了提供用于采用姿势识别的机制的装置的配置示例,但是也可以使用多种其它配置来实施本发明的实施例。因此,在一些实施例中,虽然设备或部件被示为互相进行通信,但是此后这样的设备或部件应当被认为是能够在相同设备或部件内得以体现,并且因此被示为进行通信的设备或部件应当被理解为可替换地是相同设备或部件的一部分。现在参考图2,提供了提供用于采用姿势识别的机制的装置50,并且其可以包括处理器70、用户接口72、通信接口74和存储器设备76或者以其它方式与它们进行通信。在一些实施例中,处理器70(和/或协同处理器或者对处理器70进行辅助或者以其它方式与之相关联的任意其它处理电路)可以经由用于在装置50的组件之间输送信息的总线而与存储器设备76进行通信。存储器设备76可以包括例如一个或多个易失性和/或非易失性存储器。换句话说,例如,存储器设备76可以是电子存储设备(例如,计算机可读存储介质),其包括被配置为存储可由机器(例如,类似处理器70的计算设备)所读取的数据(例如,比特)的门电路。存储器设备76可以被配置为存储信息、数据、应用、指令等以使得该装置能够执行依据本发明示例实施例的各种功能。例如,存储器设备76可以被配置为对输入数据进行缓冲以便由处理器70所处理。除此之外或可替换地,存储器设备76可以被配置为存储指令以便由处理器70所执行。在一些实施例中,装置50可以是移动终端(例如,移动终端10)或者被配置为采用本发明的示例实施例的固定的通信设备或计算设备。然而,在一些实施例中,装置50可以被实现为芯片或芯片组。换句话说,装置50可以包括一个或多个包含结构配件(例如,基板)上的材料、组件和/或连线的物理封装(例如,芯片)。该结构配件可以为被包括于其上的组件电路提供物理强度、尺寸保持和/或电气互连限制。因此,在一些情况下,装置50可以被配置为在单个芯片上实施本发明的实施例或者将其作为单个“片上系统”进行实施。这样,在一些情况下,芯片或芯片组可以构成用于执行提供这里所描述的功能的一个或多个操作的器件。处理器70可以以多种不同方式来实现。例如,处理器70可以被实现为各种硬件处理器件中的一个或多个,诸如协同处理器、微处理器、控制器、数字信号处理器(DSP)、具有或没有所附DSP的处理元件或者,或者包括集成电路的各种其它处理电路,例如ASIC(应用特定集成电路)、FPGA(现场可编程门阵列)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等。这样,在一些实施例中,处理器70可以包括被配置为独立执行的一个或多个处理内核。多核处理器可以在单个物理封装内支持多处理。除此之外或可替换地,处理器70可以包括经由总线以串联配置的一个或多个处理器以使得指令、管道和/或多线程能够独立执行。在示例实施例中,处理器70可以被配置为执行指令,该指令存储在存储器设备76中或者能够以其它方式被处理器70所访问。可替换地或除此之外,处理器70可以被配置为执行硬编码功能。这样,无论是通过硬件还是软件方法还是通过其组合进行配置,处理器70都可以表示当被相应地配置时能够执行根据本发明实施例的操作的实体(例如,以电路物理体现的)。因此,例如,当处理器70被实现为ASIC、FPGA或类似时,处理器70可以是用于进行这里所描述的操作的特殊配置的硬件。可替换地,作为另一个示例,当处理器70被实现为软件指令的执行器时,该指令在其被执行时可以对处理器70进行特殊配置以执行这里所描述的算法和/或操作。然而,在一些情况下,处理器70可以是适于通过用于执行这里所描述的算法和/或操作的指令对处理器70所进行的另外配置而采用本发明实施例的具体设备(例如,移动终端或网络设备)的处理器。处理器70可以包括被配置为支持处理器70的操作的时钟、算术逻辑单元(ALU)和逻辑门,以及其它。与此同时,通信接口74可以是诸如以硬件或者硬件和软件的组合所实现的被配置为往送于网络和/或任意其它与装置50进行通信的其它设备或模块接收和/或传送数据的任意器件。就此而言,通信接口74例如可以包括天线(或多个天线)以及用于使得能够与无线通信网络进行通信的支持硬件和/或软件。在一些实施例中,通信接口74可以可替换地或者另外支持有线网络。这样,例如,通信接口74可以包括用于支持经由线缆、数字用户线路(DSL)、通用串行总线(USB)或其它机制进行的通信的通信调制解调器和/或其它硬件/软件。用户接口72可以与处理器70进行通信以接收用户接口72处的用户输入的指示和/或向用户提供听觉、视觉、机械或其它输出。这样,用户接口72可以包括例如键盘、鼠标、操纵杆、显示器、(多个)触摸屏、触摸区域、软按键、麦克风、扬声器或者其它输入/输出机制。就此而言,例如,处理器70可以包括被配置为对用户接口的一个或多个部件至少一些功能进行控制,上述部件例如扬声器、响铃、麦克风、显示器和/或类似。处理器70和/或包括处理器70的用户接口电路可以被配置为通过可由处理器70所访问的存储器(例如,存储器设备76和/或类似)上的计算机程序指令(例如,软件和/或固件)来控制用户接口的一个或多个部件的一个或多个功能。在示例实施例中,用户接口72还可以包括诸如移动设备(例如,移动设备10)的前面和背面相机的一个或多个视觉系统(例如,相机模块37),其可以被配置为执行如这里所描述的姿势检测和识别。在示例实施例中,处理器70可以被实现为包括或者以其它方式控制姿势识别管理器80。这样,在一些实施例中,处理器70可以被认为导致、指示或控制归属于如这里所描述的姿势识别管理器80的各种功能的执行和发生。姿势识别管理器80可以是诸如依据软件进行操作或者以其它方式以硬件或硬件和软件的组合所实现由此对该设备或电路进行配置以执行如这里所描述的姿势识别管理器80的相对应的功能的设备或电路的任意器件(例如,在软件控制下进行操作的处理器70,被实现为特别配置为以执行这里所描述的操作的ASIC或FPGA的处理器70,或者其组合)。因此,在采用软件的示例中,执行该软件的设备或电路(例如,一个示例中的处理器70)形成与这样的器件相关联的结构。在示例实施例中,姿势识别管理器80通常可以被配置为进行与如这里所描述的姿势检测和识别相关联的各种功能。因此,例如,姿势识别管理器80可以被配置为实施或导致(例如,响应于处理器控制)诸如图像数据的预处理、移动分块估计的执行、运动检测(例如,包括粗糙和精细检测)的执行、结果确认或细化和/或类似活动。图3图示了根据一些实施例的可以由姿势识别管理器80所进行的处理的示例。如图3所示,可以接收数据的输入序列100(例如,由图3中的n至n-3所示)以便在操作110进行预处理。该预处理通常可以包括在操作114的下采样以及在操作118的特征提取(例如,分块级特征提取)的操作。在特征提取之后,可以在操作120关于各个不同特征(例如,特征Fn,Fn-1,Fn-2,Fn-3等)中的每一个进行运动分块估计。此后,在操作130,可以基于投影直方图执行移动检测。在一些实施例中,可以针对各个不同运动方向(例如,完全水平或0度运动,45度运动、135度运动和/或可能遇到的任意其它适当或预期方向)计算直方图。在操作140,可以对结果进行细化以验证检测结果。在示例实施例中,可以在操作150利用颜色直方图分析来辅助结果细化。此后,在操作160,可以识别有效姿势(例如,手部挥动)。在一些实施例中,如以上所指出的,该预处理可以包括下采样,以便减少可能以其它方式由像素级的噪声所导致的影响。在示例实施例中,可以对每个输入图像进行平滑化和下采样,以使得可以向下采样图像的相对应像素分配以预定数量的像素的平均数值(例如,具有4像素高度的斑块(patch))。因此,在一个示例中,工作分辨率可以为输入一的1/16。在一种示例情形中,对于工作图像Fi,j而言,其中1≤i≤H,1≤j≤W,其中W和H分别是图像的宽度和高度,如果给定长度λ(在一个示例中为10),则该图像可以被划分为MN个方块Zi,j的集合,其中1≤i≤M,1≤j≤N,其中M=H/λ且N=W/λ,则针对每个分块,可以关于描述下采样图像内的像素数值的红、绿和蓝通道来计算各种统计特性。随后可以从下采样图像中提取多个特征。在示例实施例中,可以计算以下6个统计特性(或特征),包括:亮度平均值L、亮度方差LV、红色通道平均值R、绿色通道平均值G、蓝色通道平均值B,和规范化红色通道平均值NR。规范化红色数值可以如以下等式1所示进行计算:nr=255*r/(r+g+b)(1)其中,r、g和b分别是原始的三个通道的数值。示例实施例已经示出了规范化红色数值经常可以是可用来近似描述电话照相机环境中的皮肤颜色的最简单数值。正常情况下,对于图像中的典型皮肤区域(例如,手部和/或脸部)而言,与背景对象相比,规范化红色数值将大于1。随后可以关于与以上所描述示例中所提取的6个统计特性(或特征)相对应的数据执行移动分块估计。对于诸如手部挥动检测之类的姿势检测而言,可以通过检查当前帧和之前帧中分块之间的变化来确定分块的移动状态。更具体地,如果在以下情况下,Zi,j,t(其中t表示帧的索引)可以被示为移动分块:(1)|Li,j,t-Li,j,t-1|>θ1或者|NRi,j,t-NRi,j,t-1|>θ2。该条件强调连续帧之间的差异。(2)LVi,j,t<θ3。该条件基于手部区域通常具有统一颜色分布这一事实。(3)Ri,j,t>θ4(4)Ri,j,t>θ5*Gi,j,t且Ri,j,t>θ5*Bi,j,t(5)Ri,j,t>θ6*Gi,j,t或Ri,j,t>θ6*Bi,j,t注意,条件(3-5)示出了红色通道与蓝色和绿色通道相比通常具有相对更大的数值。(6)θ7<Li,j,t<θ8。这是用于丢弃最明显的背景对象的经验性条件。在示例实施例中,以上的θ1-θ8分别可以被设置为15、10、30、10、0.6、0.8、10和240。图4图示了根据示例实施例的样本图像序列和相对应的图像结果。基于(行200上所示出的)样本图像序列,随后可以进行移动分块(例如,行210中每个差异图像中的白色分块)的确定,以使得可以在行220确定一系列直方图以图示出手部从图像右侧向图像左侧的移动。在一些情况下可以对运动检测进行细化,因为手部区域通常可能大于分块大小。就此而言,例如,可以基于移动分块的拓扑对它们进一步细化。在示例实施例中,在其相邻的8个相连分块中没有任何移动分块的分块可以被认为是非移动分块。因此,例如,在针对当前帧存在移动分块Ωi={Zi|Mov(Zi)=1}的情况下,其中Mov(Zi)=1意味着分块Z为移动分块,可以采用直方图分析来确定姿势的不同类型(例如,诸如从左至右、从上至下、从前向后、或反之亦然的不同类型的手部挥动)。以下对从左至右的检测的具体示例进行描述,然而可以基于所示出的示例导出利用其它类型采用的修改形式。对于右手挥动而言,N维垂直投影直方图可以被计算为:该直方图的左侧边界BLt和右侧边界BRt可以通过下式来确定:与此同时,可以对t-2和t-1帧重复该处理。基于来自最后三个帧的数据,能够确定手部挥动的方向。更具体地,如果满足以下两个条件,则可以确定所检测的运动对应于顺序的向右挥动:(1)BRt>BRt-1+1且(2)BRt>BRt-2+1且且|Hi,t-1|>3然而,如果满足以下另两个条件,则可以确定已经发生了顺序的向左挥动:(3)BLt>BLt-1-1且(4)BLt>BLt-2-1且且|Hi,t-1|>3为了应对手部轨迹并不完全水平的情形,也可以计算45度直方图、135度直方图等以进行检测。作为示例,对于45度直方图而言,以上表达式(3)可以被以下表达式(6)所替代:类似地,可以在135度直方图中采用等式(7):以上条件(具有或没有针对除0度之外的角度检测的修改)可以被用于各个不同方位的手部挥动检测。图4的行220中示出了样本序列的垂直直方图的示例。对于从前向后的手部挥动,垂直直方图可以被水平直方图所替代并且可以使用等式(6)和(7)来估计方向。对于上下姿势,可以再次使用垂直直方图来估计方向。如果在一组连续帧中,移动分块的趋势是朝向直方图的两端,则方向必定为向下。否则,方向将为向上。为了消除或降低背景移动所导致的错误警报的可能性(其可能在驾驶环境或者其它用户移动环境中出现),也可以使用区域级的颜色直方图来验证检测(如图3的操作150中所示)。就此而言,可以预计手部挥动将导致大的颜色分布变化。因此,一些示例实施例可以将帧设计为预定数量的区域或子区域(例如,一个实施例中的6个子区域),并且可以针对每个子区域确定关于RGB(红、绿和蓝)数值的三维直方图。为了使得该直方图更为稳定,RGB的每个通道可以从256缩减为8,以提供6个512维的直方图,例如HC1,t、HC2,t、HC3,t、HC4,t、HC5,t、HC6,t。在手部挥动检测之后,可以使用HC1,t-HC6,t进行验证。特别地,例如,如果第i个子区域包含移动分块,则可以计算HC1,t和HC1,t-1之间的平方欧几里得距离。因此,可以提供一些示例实施例而使得用户能够在包括移动环境在内的各种环境中利用快速且准确的姿势检测。一些示例实施例可以被用来检测诸如手部挥动或者甚至指尖移动和其它姿势的姿势。此外,由于一些示例实施例采用类皮肤颜色分析,所以可以降低背景对象的影响,以改善用户体验。一些实施例可以不需要任何具体的手部形状或大小,并且因此可以在实际操作环境中良好工作。示例实施例还避免了使用复杂的统计或几何模型,从而相对于许多采用这样的模型的其它机制可以提高速度。图5是根据本发明的示例实施例的方法和程序产品的流程图。将要理解的是,流程图中的每个框以及流程图中框的组合可以通过各种手段来实施,诸如硬件、固件、处理器、电路和/或与包括一个或多个计算机程序指令的软件的执行相关联的其它设备。例如,以上所描述的一个或多个过程可以由计算机程序指令来实现。就此而言,实现以上所描述过程的计算机程序指令可以由(移动或固定的)用户终端的存储器设备所存储并且由用户终端中的处理器来执行。如将要意识到的,任何这样的计算机程序指令都可以被加载到计算机或其它可编程装置(例如,硬件)上以生产机器,以使得在计算机或其它可编程装置上所执行的指令产生用于实施流程图的(多个)框中所指定的功能的器件。这些计算机程序指令也可以存储在计算机可读存储器中,其可以指示计算机或其它可编程装置以特定方式工作,以使得存储在计算机可读存储器中的指令产生执行实施流程图的(多个)框中所指定的功能的制造商品。计算机程序指令还可以被加载到计算机或其它可编程装置上使得在计算机或者其它可编程装置上执行一系列的操作而产生计算机实施的处理,以使得在计算机或其它可编程装置上执行的指令实施流程图的(多个)框中所指定的功能。因此,流程图中的框支持用于执行指定功能的手段的组合以及用于执行指定功能的操作的组合。还将要理解的是,流程图中的一个或多个框以及流程图中框的组合可以由执行所指定功能的基于专用硬件的计算机系统或者特殊用途的硬件和计算机指令的组合来实施。就此而言,如图5所示的根据本发明一个实施例的方法可以包括在操作300引起对所接收图像数据的下采样以生成多个图像帧的下采样图像分块,在操作310引起从下采样图像分块中提取多个特征,在操作320基于连续帧中相应特征的数值变化确定下采样图像分块的移动状态,并且在操作330基于投影直方图的右边界(作为第一边界的示例)和左边界(作为第二边界的示例)的移动来确定图像数据中的对象的运动方向,该投影直方图基于相应下采样图像分块的移动状态而确定。在一些实施例中,以上的某些操作可以如以下所描述的进行修改或进一步放大。此外,在一些实施例中,还可以包括附加的可选操作(其示例以图5中的虚线示出)。应当意识到的是,可以单独地或者以与这里所描述特征中的任意其它特征相结合地、连同以上操作一起包括以下的修改、可选增加或放大中的每一项。在一些实施例中,该方法可以进一步包括在操作340利用颜色直方图分析来验证对象移动的检测。在示例实施例中,引起提取多个特征可以包括提取平均亮度、亮度方差、平均红色通道数值、平均绿色通道数值、平均蓝色通道数值或者平均规范化红色通道数值。在一些情况下,确定运动方向可以包括将非移动分块确定为在相连接的相邻分块中没有任何移动分块的分块。在一些示例实施例中,确定运动方向可以包括利用对应于对象运动的可检测方向的直方图。在示例实施例中,确定运动方向可以包括利用针对水平移动、垂直移动、基本上四十五度移动和基本上一百三十五度移动中多于一种的移动所计算的相应直方图。在一些情况下,确定移动状态可以包括基于示出关于规范化红色数值在连续帧中变化的运动的分块而确定运动以减少背景对运动检测的干扰。在示例实施例中,一种用于执行以上图5的方法的装置可以包括处理器(例如,处理器70),其被配置为执行以上所描述的操作(300-340)中的一些或每个操作。处理器70例如可以被配置为通过执行硬件实施的逻辑功能,执行所存储的指令,或者执行用于实施每个操作的算法来执行操作(300-340)。可替换地,该装置可以包括用于执行以上所描述的每个操作的装置。就此而言,根据示例实施例,用于执行操作300-340的装置的示例例如可以包括姿势识别管理器80(或者其相应的不同组件)。除此之外或可替换地,至少利用处理器70可以被配置为控制姿势识别管理器80或者甚至被实现为姿势识别管理器80这一事实,处理器70和/或用于执行指令或者执行如以上所描述的处理信息的算法的设备或电路也可以形成用于执行操作300-340的示例装置。根据示例实施例的装置示例可以包括至少一个处理器和至少一个包括计算机程序代码的存储器。该至少一个存储器和计算机程序代码可以被配置为利用该至少一个处理器而使得该装置执行操作300-340(具有或没有以任意组合形式的、以上所描述的修改和放大)。根据示例实施例的计算机程序产品的示例可以包括至少一个具有存储于其中的计算机可执行程序代码部分的计算机可读存储介质。该计算机可执行程序代码部分可以包括用于执行操作300-340的程序代码指令(具有或没有以任意组合形式的、以上所描述的修改和放大)。在一些情况下,以上所描述的操作(300-340)连同任意修改形式可以以一种方法来实施,该方法包括促成对至少一个接口的访问以允许经由至少一个网络访问至少一个服务。在这样的情况下,该至少一个服务可以被称之为至少执行操作300至340。这里所给出的本发明的许多修改和其它实施例将使得本发明所涉及领域的技术人员意识到从以上描述和附图中所给出的教导而获益。因此,所要理解的是,本发明并不局限于所公开的具体实施例,并且修改和其它实施例旨在包括在所附权利要求书的范围之内。此外,虽然以上描述和附图以部件和/或功能的某些示例组合为背景对示例实施例进行了描述,但是应当意识到的是,可以由可替换实施例提供部件和/或功能的不同组合而并不背离所附权利要求的范围。就此而言,例如,不同于以上所明确描述的部件和/或功能的不同组合也预期在一些所附权利要求中被给出。虽然这里采用了具体术语,但是它们仅以一般和描述性含义被使用而并非用于限制的目的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1