CN109086747B - 使用肤色检测的视频流的姿势预处理 - Google Patents

使用肤色检测的视频流的姿势预处理 Download PDF

Info

Publication number
CN109086747B
CN109086747B CN201811037818.5A CN201811037818A CN109086747B CN 109086747 B CN109086747 B CN 109086747B CN 201811037818 A CN201811037818 A CN 201811037818A CN 109086747 B CN109086747 B CN 109086747B
Authority
CN
China
Prior art keywords
processing
pixels
region
stage
thresholded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811037818.5A
Other languages
English (en)
Other versions
CN109086747A (zh
Inventor
J·伯尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taihao Research Co ltd
Original Assignee
Taihao Research Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Taihao Research Co ltd filed Critical Taihao Research Co ltd
Publication of CN109086747A publication Critical patent/CN109086747A/zh
Application granted granted Critical
Publication of CN109086747B publication Critical patent/CN109086747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/162Detection; Localisation; Normalisation using pixel segmentation or colour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

公开了用于通过使用阶梯式和分布式管道处理来处理视频流以便降低平台功率的技术,其中,选择性地执行CPU密集型处理。所述技术特别适用于基于手部的导航姿势处理。例如,在一种示例情况中,所述技术实现在计算机系统中,其中,初始阈值检测(图像扰动)以及可选的用户存在(手部图像)处理部件接近于所述系统的相机或者位于所述相机内,并且所述相机位于所述系统的主显示器内或者接近于所述主显示器。在一些情况中,消除了位于标记区域外部的像素信息的图像处理以及在各种处理级之间的通信。在一些实施例中,所述标记区域与鼠标垫、桌面区域或用户输入设备(例如,键盘)对齐。由所述系统评估的像素可以被局限于标记区域的子集。可以使用简化的肤色检测处理。

Description

使用肤色检测的视频流的姿势预处理
本申请是2014年03月12日提交的申请号为201410089933.2的同名专利申请的分案申请。
背景技术
对于终端用户,大多数计算机的使用是将该终端用户连接到互联网,并且经过浏览界面发生。一般的使用和活动例如包括基于搜索引擎的浏览、电子邮件、社交网络、内容消费(例如,新闻文章和视频观看)、内容共享(例如照片、音乐等等)、网络购物和采购以及地图和向导,仅列举一些。这样的一般的互联网使用通常要求一些形式的基于用户的导航,例如典型地利用鼠标或触摸板和键盘来进行。
为了改善用户导航体验,已经兴起基于姿势的导航技术。具体地说,用户的手部移动能够被所谓的网络相机记录并且被翻译为指针移动。典型的结合网络相机操作的基于姿势的导航应用能够模仿利用常规的鼠标或触摸板经常进行的动作:点击、双击、拖动和滚动。用户也可以使用头部移动来控制计算机或者以其它方式影响导航。存在用于使用相机实现人体姿势的两种基本方法:使用具有所谓的标记的对象的姿势(其中,部署在视场中的标记与相机传感器交互)和无标记姿势(例如,无标记的手势)。无标记姿势技术可以使用通常用于大约3到5米(m)范围中的观察距离的三维或3D相机(具有Z-景深)或者通常用于大约0.5m范围中的观察距离的二维或2D相机(根据2D信息解释3D运动)来实现。
诸如台式计算机或工作站、膝上型计算机或平板电脑或者游戏控制台的计算环境中的图形处理通常要求一些复杂的操作。这样的操作例如包括关于确保图像被正确且及时地渲染的操作以及关于姿势识别的操作。在这样的操作的环境中会出现很多重大问题。
附图说明
图1a通过图表说明了根据本文公开技术的实施例用于执行视频流的姿势预处理以便降低平台功耗的阶梯式、分布式处理。
图1b说明了根据实施例的图1a的阶梯式、分布式处理的流程图。
图2a说明了根据本文公开技术的实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的系统的方框图。
图2b说明了根据实施例来自图2a所示系统的不同级的控制和数据流。
图2c示出了根据本文公开技术的实施例在给定特定的计算系统设置的情况下对于每一个过程的典型CPU利用率,并且因而说明了通过使用视频流处理的阶梯式、分布式姿势预处理能够具有的改进的潜力。
图2d示出了根据本文公开技术的实施例用于肤色阈值检测以便降低平台功率的示例方法。
图2e示出了根据本文公开技术的另一实施例用于肤色阈值检测以便降低平台功率的示例方法。
图3a说明了根据本文公开技术的实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的计算系统的示例用例。
图3b-3e分别说明了根据本文公开技术的实施例的相机和GP-电路的示例布置。
图4说明了根据本文公开技术的实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的计算系统的方框图。
图5说明了根据本文公开技术的另一实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的计算系统的方框图。
图6说明了根据本文公开技术的又一实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的计算系统的方框图。
图7说明了根据本文公开技术的又一实施例能够降低多少平台功耗的示例。
图8说明了根据本文公开技术的另一实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的应用程序接口(API)的方框图。
图9a-9b分别说明了根据本文公开技术的实施例能够用于控制计算机系统的手势视频处理系统的视场内的示例标记区域。
图9c说明了根据本文公开技术的实施例的目标存在的标记阈值化的方法。
图10a-10f说明了根据本文公开技术的实施例能够用于控制计算机系统的示例手势。
图11a-11f说明了根据本文公开技术的实施例如何将手势视频处理系统的视场内的给定手势分析为运动的六个轴上的移动。
图12说明了根据本文公开技术的实施例用于分析手势视频的方法。
图13说明了根据本文公开技术的实施例配置的介质系统。
图14说明了根据文本公开技术的实施例配置的移动计算系统。
具体实施方式
公开了用于通过使用阶梯式和分布式的管道处理来处理视频流以便降低平台功耗的技术,其中,选择性地执行CUP密集型处理。根据一些实施例,所述技术特别适用于高效的视频流的基于手部的导航姿势处理。所述处理的阶梯式和分布式本质允许在图像处理之前将图像数据从给定相机转移到存储器所需要的功率的降低。在一种示例情况中,例如,在用户的计算机系统中实现该技术,其中初始阈值检测(图像扰动)以及可选地用户存在(手部图像)处理部件接近于系统的相机或者位于该相机内,并且该相机位于系统的主显示器内或者接近于该主显示器。在一些实施例中,为了进一步帮助降低功耗,位于标记区域外部的像素信息的图像处理以及在各种处理级中的至少一些之间的通信被取消或者被以其它方式抑制。标记区域可以是给定视场的子集,并且在一些示例情况中与鼠标垫或指定的桌面区域或者诸如键盘的用户输入设备对齐,其中该标记区域由该鼠标垫、桌面区域或输入设备的边界限定。为了进一步节约处理功率,能够使由该系统评估的一些像素局限于标记区域的子集。在再一示例情况中,标记区域是给定视场的用户可配置的子集。可以使用简化的肤色检测处理。计算系统可以例如是具有显示器和相机的任何移动或静止计算系统,该显示器和相机位于该系统的内部和/或外部。
概述
如先前解释的,在图形处理的环境中出现很多重大问题,特别是关于姿势识别。例如,执行用于姿势识别的典型的2D和3D视频图像处理的工作量消耗相对大量的输入/输出(IO)功率,并且透支了中央处理单元(CPU)的利用率和平台散热设计功率(有时被称为TDP)预算。这样的问题在相机“常开”并且提供用于处理的图像时更加恶化,并且因此,即使当在视觉图像内没有发生相关事情时也在消耗功率。例如,即使对于简单的姿势或以其它方式计算简单的任务,捕获图像信息并且将其推送到CPU用于处理也会轻松地消耗超过10个瓦特。大多数图像处理工作量通常涉及更加计算复杂的任务并且在或者接近可用的最大视频处理功率处操作,并且内在地受CPU利用率和能量预算限制。这样,图像处理应用会消耗所有可用的CUP周期,没有为其它应用留下CPU处理能力或者以其它方式留下不充分的CPU处理能力。相机功率本身是在图像处理之前将图像数据从相机转移到存储器所需要的视频捕获功率(包括平台控制器集线器、CPU和存储器功率)的相对小的一部分。图像处理算法被这些因素有效地自我限制,并且如果它是可用的,则将消耗更多的功率。例如,当使用较高的帧每秒(FPS)将发生较好的识别时,典型的算法将帧率自我限制到15FPS。因而,即使当不存在感兴趣影像(例如,姿势等)要被分析时,视频图像处理也会消耗最大平台功率。
因而,根据本文公开技术的实施例,公开了用于处理视频流以便降低平台功率的技术。根据一些实施例,尽管可以关于处理任何类型的视频内容来使用所述技术,但是它们尤其适用于高效的视频流的基于手部的导航姿势处理。本文也提供了示例手势。所述技术可以按照阶梯式和分布式的方式实现,以使得极大地降低在图像处理之前将图像数据从给定相机转移到存储器所需要的功率。在一种示例情况中,例如,在用户的计算机系统中实现该技术,其中预处理部件接近于系统的相机或者位于该相机内,并且相机位于系统的主显示器中或者接近于该主显示器。所述计算机系统可以例如是膝上型计算机或上网本(其中,显示器是盖式显示器),或者台式计算机或工作站计算机或游戏控制台(其中,显示器是外部显示器),或者平板电脑或智能电话(其中,显示器是计算机系统的用户界面和壳体的一体部分)。所述显示器可以例如是LCD或CRT,或者触摸屏显示器,并且可以与该计算设备一体(例如,平板电脑、膝上型计算机、移动电话)或者在该计算设备外部(例如,台式计算机、膝上型计算机或平板电脑)。尽管可以使用包括3D相机或所谓的立体相机对的任何合适的相机技术,但是所述相机可以例如是单独的2D相机或网络相机,并且可以与该计算设备和/或显示器一体或者位于其外部。
根据一个示例实施例,预处理部件包括阈值检测级、目标存在级、分割级、手部解析器级和姿势识别级。所述阈值检测级通常配置为确定视频帧是否实际上为空。如果该帧不为空或者从上一帧以有意义的方式发生改变,则处理转换到目标存在级,该级配置为发现目标像素颜色,特别是其颜色与肤色特性相匹配的像素。如果发现足够的肤色像素来表明手指可能存在,则处理转换到分割级,该级配置为使感兴趣像素与不感兴趣像素分离,并且因此能够作为自适应肤色检测级(肤色/非肤色边缘检测)进行操作。在一个示例配置中,这一级将颜色视频帧变换为能够被编码为单色或灰度级图像的斑块的图像。斑块用于表示肤色像素区域。根据一些示例实施例,这一级还配置为校正相机噪声和照明差异,并且使用腐蚀和膨胀变形方法来平滑这些斑块。
手部解析器级配置为执行由分割级产生的斑块数据的空间解释,并且尝试将斑块数据映射到人体解剖几何形状。根据实施例,相关性选择极大地依赖于关于执行导航姿势的人体的相机视角的使用情况和假设。取决于场景,有时仅要求边缘数据,有时要求填充有斑块的数据,并且有时要求关节连接的手部模型。将意识到,取决于被成像的身体部分的复杂性,特定解剖的解析可能难于泛化,并且因而难于加入到固定功能的解决方案。然而,在这一使用情况中,可以例如通过分析手部斑块的边缘来在手部解析器级检测到手指。例如,手部解析器级可以配置用于对边缘的斜率进行比较以便识别峰值(指尖)的位置。根据一些示例实施例,可以根据手部斑块来定位拇指和食指,并且这些能够用作姿势识别任务的目标。根据示例实施例,能够由手部解析器级检测的一个特定示例手势是基于卵形的手势,例如当用户的手部触摸的拇指和食指放到一起或者类似的姿势但是在端部处打开以使得拇指和食指不接触时。姿势识别级配置为执行由手部解析器级生成的解剖/手部数据的时间解释。例如,如果姿势识别级用于检测等同于鼠标的操作,则它可以寻找用户的指尖和/或手部的位置改变。在一种这样的示例情况中,基于卵形的手势可以用于模拟鼠标移动以及点击-和-释放动作(单击、双击等等)。可以在标记区域内分析这样的姿势。
注意到,并不是所有这些五个预处理级都必须接近计算系统的相机或者位于该相机内。它们也不必都位于计算系统的显示器内或者接近该显示器以便实现功率节约。例如,如果仅阈值检测级和目标存在级是在接近显示器的相机传感器中实现的级,并且其余级在CPU中实现(例如,作为将被顺次讨论的姿势API的一部分),则根据本公开能够意识到,这样的实施例将仍然能够实现可观的功率节约。而且,不同的使用模式可以指示不同的实现战略。例如,可以希望具有两种模式操作:用于互联网导航的2D模式(涉及相对低复杂性姿势的较偶尔使用),和用于更密集型应用的3D模式(例如,会涉及相对高复杂性姿势的CAD操控、Photoshop)。在这样的实施例中,2D模式可以完全在相机传感器中执行(以增加的相机成本为代价),而3D模式可以在相机传感器中执行前两个或前三个级并且然后将原始图像数据传送到姿势API用于由计算系统的CPU执行的姿势处理步骤(或者将原始图像数据传送到专用软件应用上)。在2D和3D模式二者中,均实现了功率节省,特别是当在相机的视场(FOV)中没有发生感兴趣的事物时。
在一些实施例中,将各种阶梯式和分布式预处理部件到计算机系统的逻辑连接实现为姿势应用编程接口(以下将其称为姿势API)。根据一些实施例,可以例如将该姿势API表示为扩展的通用串行总线人体接口(USM HID)类型设备。通常,姿势API有效地显示来自各种预处理级(阈值检测、目标存在、分割、手部解析器和姿势识别)的信息,以使得计算系统的其它部分在需要时能够利用这样的信息。在一些实施例中,该API可以进一步被编程或者以其它方式配置为包括安全/隐私策略以便例如防止来自视频流的不安全信息到计算系统的CUP或其它资源的访问。
根据本公开将意识到,本文提供的视频流姿势预处理技术可以用于许多应用,包括改善基于手势的互联网导航以及基于手势的计算机导航。可以应用该技术的一个具体应用是在大约0.5m的距离处使用2D相机的无标记手势识别。然而,如果需要,该技术可以应用于包括基于3D的应用的很多其它应用。根据本公开,多种使用模型将是显而易见的,例如,位于桌面或用户膝上或公园长椅上的笔记本或上网本、在家庭或办公室处具有一个或多个外部显示器的台式计算机或笔记本或上网本、在工作/卧室环境中的台式计算机或笔记本或上网本、在咖啡厅桌子上的笔记本或上网本、在会议室桌子上的笔记本或上网本、在飞机托盘顶部上的笔记本或上网本以及网吧(例如,具有一个或多个外部显示器的台式计算机),仅列举一些。
根据本公开将进一步意识到,计算系统内用于视频处理任务的功耗理想上应该与从计算系统的相机传感器获得的原始图像数据的抽象级别相当。换言之,原始图像数据消耗最小的功率,递增地,消耗更多的功率用于阈值化该图像,进一步消耗更多的功率用于检测存在,等等。为此,根据本发明实施例,预处理部件有效地体现阶梯式或累进式操作序列,其中,在进程中的每一级处递增地消耗更多的功率以便产生视频流的图像内相关信息或含义的更高级别。然而,注意到,一些实施例可能具有一些比后面的级使用更多功率的中间级,并且本公开并不意在局限于表现出功耗的任一特定进程的级。例如,在一些实施例中,分割级比其它四个级的组合更加计算密集。作为总计,预处理部件能够共同而有效地分析原始(未压缩)视频流或者该视频流的子集,以便确定视频流的图像内的意义或相关性。可以例如在硬件(例如,诸如Verilog或VHDL的寄存器传送语言,或者其它门级逻辑或具有特定用途的半导体)或软件/固件(例如,在微控制器上执行的微代码)中实现所述预处理部件。
系统架构
图1a通过图表说明了根据本文公开技术的实施例用于执行视频流的姿势预处理以便降低平台功耗的阶梯式、分布式处理。可以看出,存在能够在分布式执行基元和计算系统的CPU之间进行有效划分的数据抽象的五个不同级别。这些级别包括原始数据、阈值化、存在、命令和识别。可以进一步看出,可以在相机中(或在相机附近),或者在图形处理单元(GPU)硬件加速中,或者在CUP上执行的应用软件中执行与这些数据抽象的级别中的每一个相关联的处理。
原始数据可以例如是编码视频流或原始图像流。原始数据通常指示没有被压缩的图像数据,而编码视频流通常已经被压缩。通常使用压缩算法来适应经过低带宽通信信道的大量数据,并且这典型地在相机传感器硅内完成。数据压缩典型地降低了图像的保真度并且使图像处理更加困难。在阈值化级别,可以进行阈值化来检测图像中的扰动,以便粗略地识别用户活动的存在。例如,这样的粗略识别将检测到从没有用户存在的数据帧的流到有用户存在的数据帧的流的转变,如由用户移动(视频内容)和/或用户语音(音频内容)指示的。如在这一示例实施例中可以看到,可以在相机内或者以其它方式在相机附近处理原始数据和阈值化级别中的每一个。
一旦在阈值化级别进行了这样的粗略识别,然后能够在存在级识别内容中具体用户特征的存在。例如,具体用户特征可以包括用户的面部和/或手部。正如进一步参照图1a中阐释的示例实施例可以看到的,取决于所涉及的图像分析的复杂性(例如,面部分析可能比手部分析更复杂),在一些情况中,这一特定级别的处理可以在相机内或者以其它方式在相机附近执行,或者在其它情况中,由GUP作为加速处理来执行。
一旦做出了具体用户特征存在于内容流中这样的精细识别,就可以通常评估那些用户特征用于在命令级别做姿势。例如,通常评估面部和/或手部活动用于例如运动手部或者转动头部的类似命令的姿势。正如进一步参照图1a中阐释的示例实施例可以看到的,这一特定的处理级别可以由GPU作为加速处理来执行。在一些情况中,GPU可以例如与CPU共置,或者可以经由总线架构可操作地耦接到CUP。在后者的情况中,GPU可以与CPU位于相同的母板上,或者可以位于该母板的外部(例如,在有效地耦接到母板的专用图形处理卡上,或者在经由通信端口有效地耦接到计算系统的外部图形处理设备上)。
一旦识别了类似命令的姿势,接下来就能够在识别级别评估该姿势用于具体的命令。该命令可以例如是用于指导用户正在执行的在线购物处理的用户导航命令。例如,关于视频内容,基于面部的姿势可以经历面部识别和/或基于手部的姿势可以经历识别符合美国手语(ASL)的手势的分析,以便识别给定的命令。正如进一步参照图1a中阐释的示例实施例所看到的,这一特定的处理级别可以由在CUP上执行的应用软件来执行。
图1b说明了根据实施例图1a所示的阶梯式、分布式处理的流程图。在这一示例实施例中可以看出,在给定计算机设置下,视频相机用于生成用户的手部活动的原始图像数据。在其它实施例中,将被处理的视频内容可以包括用户的面部活动。根据本公开将意识到,无论是哪种内容类型,本文提供的用于预处理媒体内容的阶梯式和分布式技术能够按照相似的方式被等同地应用。
该流程开始于接收从可以包括一个或多个相机的传感器流出的原始图像数据流。如本文讨论的,如果使用多于一个相机,则可以相应地处理每一个视频流。在阈值化级别,分析视频流以便检测该视频流中的扰动。在一个示例实施例中,如果当前视频帧超过10%不同于先前视频帧,则可以发出检测信号。从一个实施例到另一实施例,阈值可以不同(例如,5%或更多,或者50%或更多等等),并且可以根据期望的给定因素进行设置,该给定因素例如是对于给定计算系统(用例)设置观察到的特定环境以及对于该环境/系统中的改变的期望敏感度。如果未超过预设置的粗糙阈值,则该处理继续接收并且监控原始图像数据。然而,如果超过该粗糙阈值,则处理在存在级别继续,检测图像中的用户手部。如先前解释的,在一些实施例中,阈值化和存在级别处的预处理可以在相机电路中执行,或者可以在配置为接近于相机布置并且在相对短的距离上(例如,小于0.1m,例如0.05m或更少,或者经由总线结构或其它合适的通信接口直接耦接到相机壳体)与相机可操作地耦接的专用电路中执行,以使得相对于如果将来自相机的所有图像内容都提供到在CPU上执行的应用软件将使用的IO功率,降低了IO功率。可以理解,本公开并不意在局限于专用电路和给定相机传感器之间的距离的任一特定范围;而是能够在任意数量的配置中实现本文提供的使用阶梯式、分布式预处理方案的概念。如果图像不包括可识别为用户手部的任何事物,则该处理继续接收并且监控原始图像数据。
然而,如果图像包括可识别为用户的手部的内容,则该处理在命令级别处继续或者以其它方式朝向命令级别继续,将成像的手部映射到与已知手势相关联的关节连接的手部的模型。在一些这样的示例实施例中,将成像的手部与多个这样的模型进行比较,并且对于每一个模型确定相似性得分。该处理在命令级别处继续确定图像是否包括做出已知手势的手部。在一些这样的情况中,例如,能够将产生最高相似度得分的模型确定为匹配。在其它情况中,能够将遇到的具有超过预设的阈值的相似度得分的第一个模型识别为匹配(以使得不必测试所有模型)。如先前解释的,在一些实施例中,该命令级别预处理可以作为GPU加速处理来执行。如果在命令级别确定图像不包括做出已知手势的手部,则该处理返回到存在级别,以便继续关于图像中是否存在用户手部的视频流的分析。根据本公开将意识到,所述命令级别可以向存在级别通知它的发现(例如,没有斑块数据),以使得在存在级别处的处理按照受过训练的方式继续进行。
然而,如果在命令级别确定图像包括做出已知手势的手部,则该处理继续将姿势数据传送到应用软件用于在识别级别处进行处理。如先前解释的,这一处理级别趋向于是CPU密集型的。进一步注意到,在这一示例情况中,姿势数据经由USB HID API(姿势API)上传到堆栈。将参照图8来顺次讨论这一API。将进一步意识到,注意到,命令级别确定可以足以决定性地识别已知手势,并且将不需要执行在基于CPU的识别级别处的后续处理,从而进一步节省了基于CPU的功耗。
因而,通过在相机内或者在相机附近至少一些程度地执行视频流的姿势预处理,能够实质地降低功耗,这在移动计算设备(例如,膝上型计算机、笔记本、平板电脑、智能电话等等)中尤其有益。这是因为,通常,多数视频处理涉及相对低复杂性的处理,这些处理可以在配置为并且定位为减少IO活动和CPU工作量的分布式电路中执行,并且能够将涉及高复杂性处理的剩余百分比处理作为原始数据发送到GPU用于加速处理和/或发送到GPU中的驱动器(应用软件)用于处理。在这一意义上,本文提供的技术通过使用专用分布式执行基元或在相机和GPU中(或者接近)运行的硬件功能,减少了对于在通用CUP核心中执行的基于软件的算法的需要。
图2a说明了根据本文公开技术的实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的系统的方框图。可以看出,该系统是配置为具有多个分布式部件(在这一示例情况中为5个)的姿势处理管道。在这一示例实施例中,所述部件中的两个,阈值检测级和目标存在级被实现为在相机内或以其它方式接近相机的姿势预处理(GP)电路。根据本公开将意识到,如果该GP电路实际上直接集成在相机电路内或者以其它方式足够接近相机,将可以认为该GP电路与相机共置,只要该GP电路充分接近相机传感器以便降低IO功率和CUP处理时间,或者以其它方式比接近CPU更接近相机。另一部件,分割级,被GPU加速。另两个部件,手部解析器级和姿势识别级,在计算系统的CUP中执行。在这一示例实施例中,这两个级能够用于基于卵形的手势处理,这将参照图9a到12顺次进行讨论。根据本公开,这一阶梯式和分布式架构的变形将是显而易见的,其中任何这样的阶梯式和分布式架构允许关于活动和空闲功率场景的优化。具体地,与相机和GPU共置的视频处理部件实际上是更加固定的功能,从而比解决相同计算问题的传统CPU要求更少的功率。
如本文使用的,‘GP-电路’是配置为执行图2a所示的五个级中的一个或多个的集成电路,该集成电路或者在提供将被分析的视频流的相机内实现,或者被实现为配置为通过如先前解释的相对短的连接与该相机直接耦接的专用电路(例如,以便与将所有视频从相机传送到基于CPU的驱动器的传统技术相比降低IO功率和CPU周期)。共置的GP-电路和相机中的每一个可以集成在显示器内或位于显示器外部或者一些合适的组合。例如,在一些具体的示例实施例中,该GP-电路可以被实现在移动计算设备(例如,膝上型计算机、平板电脑等等)的转轴连接的显示器盖体内并且接近于也嵌入在该盖体内的相机电路。在其它这样的示例基于盖体的显示器情况中,GP-电路可以被直接实现在嵌入式相机本身内。在其它示例情况中,该GP-电路可以被直接实现在外部相机内,所述外部相机配置为例如夹到计算系统(例如,台式计算机、膝上型电脑等等)的基于盖体的显示器或外部显示器或者以其它方式可操作地与该显示器耦接。在再一些示例情况中,可以以离散包装的形式实现该GP-电路,并且该GP-电路配置可操作地与这样的外部相机耦接。在又一些示例实施例中,可以将GP-电路嵌入在外部显示器的壳体中并且接近也嵌入在该显示器内的相机电路。在其它这样的示例外部显示器情况中,可以将该GP-电路直接实现在嵌入式相机内。根据本公开将意识到,GP-电路和相机电路之间的集成或接近的程度越大,在相机和GP-电路图像处理子系统之间的IO功率中能够实现的降低就越大。
阈值检测级是管道中的第一级并且配置为粗略地确定视频帧是否真正为空。如果当前视频帧与先前帧足够相似,则认为该帧为空。根据一个这样的实施例,这可以例如通过使用实现对于每一帧的亮度信道进行加和和比较的简单算法的低功率硅来实现。如果视频使用RGB颜色空间,则绿色分量将在其位置中被替代,因为对于RGB像素,绿色分量包含YUV像素的亮度分量的大多数。如果当前帧和先前帧的差值高于给定阈值,则这将触发移动到下一级。否则,不向下一级发送空帧,这有助于在用户不执行手势时管理功率。在一些实施例中,阈值检测级仅检查作为成像系统的整个FOV的子集的标记区域内的像素,并且关闭或者以其它方式忽略标记区域外部的像素。所述标记区域可以例如通过作为用于用户提供手势的逻辑地点的POV内的用户的键盘或鼠标垫或一些其它可检测区域的边界来限定。在一些这样的实施例中,用户区域可以是用户可配置的(例如,通过利用给定系统的FOV来标定给定区域并且校准/配置相机电路以便在具体的处理级期间通过关闭该区域外部的像素而仅对标定的部分成像)。在再进一步的实施例中,阈值检测级仅分析位于作为标记区域的子集的阈值化事件区域内的像素。根据本公开将意识到,允许阈值检测级仅分析相对小的检测区域节约了处理功率,并且可以作为用户存在的可靠预测器,特别是给定在期望的姿势期间由用户的手部直观敲击的基于键盘的标记区域或者其它这样的区域。也将进一步意识到,使用贯穿用户的基于键盘的标记区域的阈值化事件区域能够用于进一步降低处理功率,并且用于进一步消除假阳性阈值事件(例如,当用户可能敲击基于键盘的标记区域的手掌支撑区域并且并不意在做手势时,用户将不太可能敲击贯穿A-GH-L键的阈值化事件区域或者基于键盘的标记区域,除非意在是手势时段)。
根据实施例,目标存在级配置为实现用于发现目标像素颜色的相对低复杂性方法。在一些情况中,这一级寻找其颜色与肤色特性匹配的像素。与肤色匹配可以例如在配置为将RGB(或YUV)数据流转换为HSV像素的硅中执行。人类肤色在色调中占据相对有限的范围,这允许快速的、低功率的固定功能的转换和比较。注意到,目标存在级不要求对于先前帧的任何数据存储或信息。如果在扫描线中发现足够多的肤色像素来表明手指可能存在,则处理将转换到下一级。否则,不将没有目标存在或者具有不充足的肤色像素的帧发送到下一级,这有助于当用户没有执行做姿势时管理功率。正如先前关于阈值检测级解释的,目标存在级可以配置为仅分析指定的标记区域(例如,基于键盘的标记区域)或者该标记区域的阈值化事件区域(例如A-GH-L键或基于键盘的标记区域)内的像素,并且前述讨论也适用于此。在其它实施例中,可以使用简化的肤色检测处理,如将顺次进行讨论的。
根据实施例,分割级配置为从目标存在级接收目标存在帧并且使感兴趣像素与不感兴趣像素分离。在一种示例情况中,这一级实现将彩色视频帧变换为可以被编码为单色或灰度级图像的斑块图像的自适应肤色检测算法。例如,在灰度级图像的情况下,可以使用非零像素来代表斑块像素,并且黑色像素指示非斑块像素。基本上,斑块用于代表肤色像素的区域。自适应肤色检测以帧数据为基础来调整皮肤色调的下边界和上边界。除了使用腐蚀和膨胀变形方法来平滑对象,这也消除了由于相机噪声和照明产生的分散像素。众所周知,形态学是以形状为基础来处理数字图像的数学方法。膨胀变形通常指代扩充或者填充目标的操作。腐蚀变形涉及相似的方法,但是对图像的背景而非对象进行操作。根据本公开将意识到,很多GPU具有能够调节用于分割级的优化实现的指令。
根据实施例,手部解析器级配置为执行斑块数据的空间解释。在一个特定的示例情况中,该级尝试将斑块数据映射到人体解剖几何形状,例如,取决于要被评估的目标姿势,人类手部的模型或人类身体的模型。根据本公开将意识到,手部解析器级尝试使斑块数据与人体部分/姿势相关的方式极大地取决于相机的人体视角周围的用例和假设。解释斑块的方式也可以不同。在一些示例情形中,仅使用边缘就足以确定人体几何形状。在其它场景中,内部填充的斑块是更合适的。在一些情况中,来自分割级的斑块数据可能需要附加的处理以便去除斑块上不利于对它们进行正确解析的视觉伪迹,并且手部解析器级可以配置为去除这样的伪迹。在相机配置为观看用户的手部的情况中,可以通过分析手部斑块的边缘来检测手指。对边缘上不同采样点上的斜率进行比较可以表明峰值(例如,指尖)的位置。对这些类似峰值的斑块的进一步分析(按照各种像素之间的距离和斜率)可以揭示指尖附属于指干。如果必要,这一级可以尝试用关节连接整个人体手部,包括所有5个指尖的位置。在一些情况中,检测单个手指可能是充分的。在这一含义上,使用模型确定要求的分析的量。如先前指示的,特定解剖学的解析(例如,手部解析)会难于泛化,并且因而难于应用到固定功能的硅中。因而,在一些实施例中,手部解析器级由CPU执行。根据一个示例实施例,能够由手部解析器级检测到的一个特定的示例手势是基于卵形的姿势,例如当用户的手部触摸的拇指和食指放到一起(例如,OK符号,但是其它三个手指在食指后面更加紧凑)或者类似的姿势但是在端部处打开以使得拇指和食指不接触。图10a-10f和图11a-11f示出了这样的封闭和部分封闭的基于卵形的手势的示例,并且将顺次进行讨论。
根据实施例,姿势识别级配置为执行解剖/手部数据(从手部解析器级接收到的斑块数据)的时间解释。例如,如果该级用于分析鼠标或触摸板操作,则它能够寻找一个或多个指尖的位置的改变。在一个这样的示例情况中,基于卵形的手势能够用于模拟鼠标移动以及点击-和-释放动作(单击、双击等等),将参照图10a-10f和图11a-11f顺次进行讨论。可以在标记区域内分析这样的姿势,如图9a或9b所示。在一些情况中,原始相机图像中的运动模糊会使手部解析器级难于用关节连接人体解剖结构。在这样的情况下,姿势识别级能够使用关于用例的假设来改善姿势解释的可靠性。例如,如果手部解析器级在一个帧中成功地检测到整个手指但是可能在下一帧中仅确定了指尖(例如,不能够确认指尖附接到“正确的”手指),则该姿势识别级可以假设在该下一帧中是相同的手指。
通常,分割、手部解析器和姿势识别级可以配置为或者向阈值检测级或者向目标存在级发送反馈。例如,并且也能够在图2a的示例实施例中看到,如果手部解析器级实际上发现了可能是手部的足够大的斑块,则它可以向阈值检测级发送信号以便使先前帧的亮度/绿色计数器重置为零,从而强制下一帧指示它是非空帧。在一个具体的示例实施例中,这一类型的信号发送能够经过GP-电路的阈值检测级硅上的单个针脚/导线实现,例如可以从驱动器控制该单个针脚/导线。根据另一实施例,可选地,也能够经过USB来完成。这有助于防止其中非移动的手部造成阈值检测级认为该手部是静态背景的一部分的场景。当检测到足够大的斑块时(如图2a中阐释的,并且标记为目标存在-数据流),另一示例反馈回路场景将强制系统直接从相机向分割级发送数据,而不将其发送到阈值检测级和目标存在级。这一类型的行为可以通过去除不必要的阈值相关处理来改善功率。然而,注意到,尽管这样的反馈机制可以提供进一步的优化程度,但是它们在所有实施例中不是必要的。如果这些技术的实现例如是代价过高的,则可选解决方案是每1秒或2秒回到目标存在级以便检查该目标是否持续存在。在这样的情况中,对此的惩罚是值得姿势命令数据的一帧的损失。
图2b描述了根据实施例来自图2a的系统的不同级的控制和数据。对于根据一个示例实施例提出的划分,GP-电路能够配置有阈值检测和目标存在级,并且可以进一步配置为控制数据复用并且决定是否向上游发送数据(用于分割)以便唤醒系统。根据一些这样的实施例,利用这样的按需发送数据的解决方案,可以实现平台功率的显著节约,并且计算系统仅在需要唤醒时才唤醒。
可以看出,向配置为对于感兴趣区域检测给定帧与先前帧相比较的改变的阈值状态提供来自开始帧的原始数据。如果未满足改变阈值,则可以降低FPS,并且处理继续监控帧的原始数据。根据一些实施例,如果满足该阈值,则将原始数据传送到配置为在感兴趣的色调范围内寻找目标存在的目标存在状态。可以例如使用通过各种样本收集的经验数据来确定色调范围。在其它实施例中,可以将色调范围确定为测量给定用户的肤色的初始设置或校准处理的一部分。根据本公开,很多其它示例肤色检测处理将是显而易见的(例如,图2d和图2e)。在任何这样的情况中,如果未发现合适的目标,则将控制提供回到阈值状态。在一些实施例中,能够将阈值状态和目标存在状态有效地组合为一个状态。否则,如果在给定的帧率(例如,默认帧率或者如在这一控制环路内改良的)处发现合适的目标,则将控制传递到执行先前解释的自适应肤色检测的分割处理状态。也注意到,如先前解释的,在一些实施例中,在例如当检测到足够大的斑块时(如图2b中阐释的,并且标记为处理状态期间的数据/控制流)的某些情形中,系统可以直接将来自相机的原始数据发送到分割处理状态,而不将其发送到阈值和目标存在状态。
在任何这样的情况中,分割处理状态配置为执行自适应肤色检测以便分割图像。在一些实施例中,可以使用变形方法来去除噪声并且平滑图像。将该自适应皮肤图像信息提供到配置为将斑块数据映射到在这一示例情况中例如是人手模型的人体解剖几何结构的手部解析器状态。如果该手部解析器状态不能够确认给定斑块与手部相关,则将控制传递回到目标存在状态(未检测到斑块)。然而,如果手部解析器状态确认给定斑块与手部相关,则将控制传递到姿势识别状态(发现斑块)。然后,姿势识别状态针对具体的命令来分析该手部数据,例如由用户提供的导航命令。在结束这一分析时,针对那一帧的处理流完成,并且然后可以相应地控制在计算系统上执行的给定应用。
图2c示出了给定包括2-2.66GHz的CPU和提供视频数据的640×480像素帧的USB相机的特定设置下,能够在GP-电路中实现的所述五个处理的每一个的典型CPU利用率。可以看出,分割占用了最大的利用率并且具有最少的迭代改变,因此是能够被加速的良好候选。根据本文公开技术的实施例,GPU加速的自适应肤色检测算法将帮助整体上改善系统的性能和功率效率。由于能够在CPU/GPU之间共享工作量,这也将确保在没有任何帧掉落的情况下来处理数据帧。当发现具有较长的边界长度的较大斑块时,可以看到典型的最差情况的手部解析器使用率。根据一些示例实施例,在如本文描述的对处理进行划分(例如,其中,将阈值检测和目标存在分布在USB相机中或者使其以其它方式接近于USB相机,并且分割是GPU加速的)之后,整体的CPU使用率将小于10%。
简化的肤色阈值检测
根据本公开将意识到,可以使用多个改良来进一步降低功耗。例如,一个示例实施例允许简化的肤色阈值检测以便在目标存在级的预处理期间降低平台功率。通常,肤色检测一般在诸如HSV、YUV或YCbCr的非RGB颜色空间中执行,并且因而要求在这些颜色空间之间的颜色空间转换。根据实施例,人体肤色检测在色调上占据有限的范围,这允许快速的、低功率的、固定功能的转换和比较。通常,如果在扫描线中发现足够多的肤色像素来表明手指或手部可能存在,则处理可以转换到下一级,分割。然而,注意到,初始阈值化级的肤色检测(在阈值检测级检测到扰动之后)根本不要求颜色空间转换或任何像素数据增强。而是,并且根据实施例,相机传感器的原始RGB数据可以经过ADD函数,从而独立地对标记区域内期望的区域/像素扫描线/等等的像素流的R、G和B值进行加和,并且该系统可以进一步配置为随着时间检测加和的颜色值(集成的)的净差异。例如,当在这些加和的值中发生某种百分比改变时,指示肤色与背景-键盘颜色比率的改变,则发生了阈值事件,并且处理能够转换到下一级(分割级)。与先前讨论的使用色调的肤色检测技术类似,使用RGB肤色检测的这一技术不要求来自先前视频图像帧的数据存储或者信息,因为在处理之后可以丢弃视频流数据。可以使用单个寄存器来存储阈值(例如,必须超出以便触发阈值化事件的扫描线上的肤色百分比或比率)。因而,通过对肤色颜色值与背景颜色值(例如,键盘颜色)进行比较,能够实现对于这一阈值评估的简化和功率降低。在它涉及肤色与非肤色的比较而不是非肤色与颜色上的某一任意差异的比较这一意义上,这是简单的。
图2d示出了根据实施例用于肤色阈值检测以便降低平台功率的示例方法。根据本公开将意识到,由于能够在例如相机(或GP-电路)中的RTL或软件内容易地实现该算法,以便不影响CPU处理周期,因此能够实现功率降低。可以看出,在这一示例实施例中,目标存在的阈值化使用在单个像素-扫描线(例如,贯穿键盘的A-GH-L键)内的肤色检测来执行,而目标的评估能够在整个标记区域(例如,键盘)上执行。该方法包括对阈值-事件区域(例如,扫描线或局部扫描线或沿着A-GH-L键或者以其它方式位于其上的像素)内的像素流的R、G和B值进行加和。
该方法继续确定是否检测到阈值化-事件区域内的肤色扰动(通过使加和的R-G-B值与给定阈值进行比较)。如果比较指示没有检测到肤色扰动,则该处理继续寻找每一个随后帧在阈值化-事件区域的有限像素区域内的一个肤色扰动。然而,如果已经检测到在给定帧的阈值化-事件区域内的肤色扰动,则该方法继续发送指示目标存在的中断,并且执行姿势预处理(在一些实施例中可以包括由分割级、手部解析器级和姿势识别级执行的处理)和/或任何其它姿势处理任务。对于每一个下一帧,该方法包括使用先前讨论的基于色调的技术来确定在标记区域中是否具有肤色像素存在,并且如果为是,则继续帧的处理。对在给定帧中没有检测到肤色做出响应,该方法继续发送指示目标不再存在的中断,并且停止任何进一步的姿势预处理和/或姿势处理任务。在这一点上,通过对阈值事件区域中的R-G-B像素值进行加和以便观察在肤色与背景-键盘颜色的比率方面是否已发生了改变,该方法有效地重复并且继续针对肤色扰动来监控随后帧的阈值化-事件区域。
图2e示出了根据另一实施例用于肤色阈值检测以便降低平台功率的示例方法。可以进一步改善利用参照图2d讨论的基于RGB的肤色检测算法实现的功率节省。特别地,肤色的色调(和亮度)由绿色主导。这样,可以使用来自扫描线(或其它合适的阈值化-事件区域)的绿色像素的测试来更加快速并且更加功率有效地提供相同的信息。不需要颜色空间转换或者肤色映射/比较,并且仅对绿色像素进行操作。颜色空间信息因此降低了三分之二(例如,相机可以关闭红色和蓝色像素)。如先前注意到的,可以选择键盘颜色以便突出肤色与键盘的颜色差异。因而,通过对来自单色(绿色)视频流内的原始像素数据进行加和,能够实现简化的肤色阈值检测,以便降低姿势识别预处理期间的平台功率。注意到,在一些情况中,可以将颜色空间信息降低75%,因为每一个像素典型地设计有Rx1、Gx2和Bx1传感器,因此相机供应商能够保留Gx1传感器可操作并且关闭像素Rx1、Gx1、Bx1中的其它颜色传感器。因而,在一些实施例中,能够将阈值检测和肤色检测(阈值检测级和目标存在级)降低到作用于来自阈值化-事件区域(例如,单个/局部扫描线或单个像素)内的像素的有限集合的绿色像素的低带宽视频流的单个加和/检测功能。这一可选实施例由图2e表示,如虚线框所示。当检测到肤色时,相机能够对未使用的像素和像素-颜色-传感器进行功率备份,以使得系统能够转换到下一级或处理(例如,分割级)。根据一些实施例,能够例如将这样的基本肤色检测功能扩展到使用手势提供低功率用户唤醒事件。在一个这样的实施例中,当处于挂起/待机或者其它低功率模式中时,能够关闭整个计算机系统中的所有其它系统,而极度低功率的肤色阈值化算法可以配置为等待来自用户的手势的唤醒事件。给定用户的从待机唤醒的时间预期,能够以非常慢的帧每秒(FPS)图像(例如,1-4FPS,与相机传感器中可用的典型的30+FPS相比较)进行相机(或GP-电路)的阈值化决定,这将更进一步地降低功率。
如先前参照图2d的示例方法解释的,图2e的方法也可以被实现为例如在相机(或GP-电路)中的RTL或者软件内实现的算法。可以看出,在这一示例实施例中,使用单像素扫描线(例如,贯穿键盘的A-GH-L键)内的肤色检测来执行目标存在的阈值化,而能够在整个标记区域(例如,键盘)上执行目标的评估。该方法包括仅对阈值-事件区域(例如,扫描线或局部扫描线或沿A-GH-L键或者以其它方式位于其上的像素)内的像素流的绿色像素值进行加和。该方法继续确定是否检测到阈值化-事件区域内的肤色扰动(通过使加和的绿色像素值与给定阈值进行比较)。如果该比较指示没有检测到肤色扰动,则该处理继续对于每一个随后的帧在阈值化-事件区域的有限像素区域内寻找一个肤色扰动。然而,如果已经检测到在给定帧的阈值化-事件区域内的肤色扰动,则该方法继续发送指示目标存在的中断,并且执行姿势预处理(在一些实施例中可以包括通过分割、手部解析器和姿势识别级的处理)和/或任何其它姿势处理任务。对于每一个下一帧,该方法包括使用先前讨论的基于色调的技术来确定是否具有存在于标记区域中的肤色像素,并且如果为是,则继续帧的处理。对在给定帧中没有检测到肤色做出响应,该方法继续发送指示目标不再存在的中断,并且停止任何进一步的姿势预处理和/或姿势处理任务。在这一点上,通过仅对阈值事件区域中的绿色像素值(排除掉红色和蓝色像素)进行加和以便观察在肤色对背景-键盘颜色的比率方面是否已发生了改变,该方法有效地重复并且继续针对肤色扰动监控随后帧的阈值化-事件区域。
示例用例和系统配置
图3a说明了根据实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的计算系统的示例用例。可以看出,用户正在以普通或者以其它方式典型的方式坐在计算系统的前面。这一示例的计算系统表现为具有外部显示器的台式计算机布置,但将意识到,其可以是任意合适的计算系统,例如使用基于盖体的显示器的膝上型计算机或上网本或其它这样的移动计算设备,或者使用外部显示器的移动计算设备,或者诸如平板电脑或智能电话的触摸屏设备。
在任一这样的情况中,这一示例实施例的系统进一步配置有相机和GP-电路。所述相机可以例如用于捕获诸如手势的用户姿势。在图3a阐释的这一示例情况中,相机和GP-电路嵌入在显示器的顶部中以便提供包括一区域的FOV,在该区域中,用户手部将例如使用计算机系统键盘、鼠标、触摸屏或其它这样的输入设备而活动。然而注意到,给定本文描述的系统的姿势解释能力,用户不需要实际上占用这样的输入设备。而是如本文讨论的,用户能够在位于FOV中的指定的用户输入区域内简单地移动他或她的手部,以便使用基于手部的姿势与计算机系统进行有效的通信。图3b-3e说明了相机和GP-电路的各种示例布置。
图3b说明了其中通过将GP-电路集成或以其它方式归入到相机的成像集成电路(硅或其它)内以便通过消除相机传感器和至少一些图像处理功能之间的IO功率来进一步降低平台功率的示例情况。在这一示例情况(以及图3c-3e所示的示例情况)中,GP-电路至少包括本文提供的姿势预处理电路的阈值检测和目标存在电路,以及如果期望则可能包括其它。图3c说明了另一示例情况,在该示例情况中,相机和GP-电路彼此分离地实现,但是无论如何彼此接近,并且通过相对短的通信总线可操作地耦接,在这一示例实施例中,该通信总线是USB总线。将意识到,可以使用任意数量的其它合适的通信接口和总线结构。图3d说明了另一示例情况,在该情况中,GP-电路集成到或以其它方式归入到相机的成像集成电路内,并且相机嵌入在显示器内。图3e说明了另一示例情况,在该情况中,相机嵌入在显示器内,并且GP-电路配置为单机设备,该单机设备配置为与设备的USB端口可操作地耦接以便提供到嵌入在其中的相机的访问。在图3a-e中所示的任意这样的示例情况中,所述显示器可以例如是外部显示器、触摸屏显示器或者基于盖体的显示器。
图4说明了根据实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的膝上型计算系统的方框图。可以看出,这一示例具有膝上型计算机典型具有的形状因子,并且包括通过转轴可操作地耦接到显示器部分的基板部分。所述显示器可以具有触摸屏能力,但是也可以例如是LED显示器。通常,除了根据本文公开技术的实施例实现并且将顺次进行讨论的与视频内容的阶梯式和分布式姿势预处理相关的结构和功能,所示的多个结构和功能可以根据期望使用传统或定制技术实现。
在这一示例情况中,GP-电路包括在经由相对应的移动产业处理器接口-相机串行接口(MIPI-CSI)可操作地耦接到两个集成相机的显示器电路的传感器数据处理方框中。一个相机聚焦于第一用户输入区域以便捕获用户手势,另一相机聚焦于第二用户输入区域以便捕获用户手部和面部姿势。将意识到,手部GP-电路配置有用于用户手势处理的阈值检测和目标存在级,并且手部-面部GP-电路配置有用于用户头部和/或面部姿势处理的阈值检测和目标存在级。因而,在这一示例情况中,可以将GP-电路有效地分为两个特定姿势方框。在其它示例实施例中,如果期望,可以结合有效地允许单个相机捕获两个目标用户输入区域的机械透镜组件来使用一个相机。在这样的情况中,可以将GP-电路实现为能够处理所涉及的各种姿势类型的每一个的单个方框。
将意识到,可以按照类似的方式针对每一个手部和头部-面部来实现GP-电路。如先前解释的,与解剖目标无关,GP-电路的阈值检测级可以利用门级逻辑或其它具有特定目的的半导体实现,所述门级逻辑或其它具有特定目的的半导体配置为例如对于每一帧的亮度信道进行加和和比较,并且如果当前帧和先前帧的差值大于给定阈值(例如,>3%改变,或者>5%改变,或者>10%改变),则能够生成用户检测信号,从而触发原始数据到目标存在级的传递。否则,未改变的帧或以其它方式为空的帧有效地抑制这样的检测信号,从而在无姿势时间期间保存功率。按照类似的方式并且与解剖目标无关,目标存在级GP-电路可以利用门级逻辑或其它具有特定目的的半导体实现,所述门级逻辑或其它具有特定目的的半导体配置为例如将RGB(或YUV)数据流扫描线转换为HSV像素,并且对其中表示的像素色调值和肤色色调的相对有限范围进行比较。在其它实施例中,目标存在级GP-电路可以利用配置为对像素值进行加和的门级逻辑或其它具有特定目的的半导体实现,如先前参照图2d-e描述的。如果在扫描线中发现表明可能存在手指或面部的肤色像素,则处理转换到分割级。否则,不将不具有目标存在的帧或者具有不足够数量的肤色像素的帧发送到下一级或者以其它方式来抑制这些帧,以便在无姿势时间期间保存功率。在其它实施例中,给定其功能的并行特性(例如,针对给定扫描线内的每一个像素的并行色调分析),目标存在级可以在GPU中实现。然而,在这样的情况中,将意识到,通常存在较高的IO功率成本以便将所述图像数据从相机发送到GPU。无论如何,使用GPU仍然避免了该图像数据处理在驱动级别必需的相关联的CPU周期。
在这一示例实施例中,分割级有时与CPU共置,有时是这样,但是其它实施例可以使用与CPU通信的分离的GPU。根据一个示例实施例,分割级配置为将其接收到的彩色视频的每一帧转换到斑块图像,其中非零像素代表斑块像素并且黑色像素指示非斑块像素。在这样的情况中,例如,斑块可以用于代表肤色像素的区域。在这一意义下,分割级调整或者以其它方式更加清晰地限定给定帧内基于皮肤色调的斑块的界限,从而有效地降低给定图像到二值布置(斑块和非斑块)的复杂性。这样的以扫描线为基础的处理任务到并行处理的可处理性使分割级成为GPU实现的理想候选。
在其它实施例中,按照与目标存在级类似的方式,分割级可以在具有门级逻辑或其它具有特定目的的半导体的GP-电路中实现。然而,限定斑块数据的边缘通常会要求处理更大数量的扫描线,这会增加目标存在级的复杂性。然而,这一复杂性可以例如通过使用符合目标解剖特征的假设和合理的插值程度来抵消。例如,假设做出和平符号的手部是目标解剖特征,并且假设处理手部图像的三条或者四条扫描线。第一扫描线可以例如表示跨越和平符号‘V’部分的上部所提取的非肤色像素(三组)和肤色像素(两组)的交替组。第二扫描线可以类似地表示跨越和平符号‘V’部分的下部所提取的非肤色像素(三组)和肤色像素(两组)的交替组,但是两个肤色像素部分之间的非肤色像素部分的长度将更短。第三扫描线可以例如表示跨越手部的主体部分所提取的非肤色像素(两组)和肤色像素(一组)的交替组,第四扫描线可以例如表示跨越手腕部分所提取的非肤色像素(两组)和肤色像素(一组)的交替组,其中,手部主体部分的肤色像素组长于手腕区域的肤色像素组。因而,如果能够利用使用基于逻辑的比较来确认这些三条或四条扫描线的这样的特性,则可以对与介于其间的扫描线相关联的手部数据进行插值或者以其它方式进行估计,并且可以相应地分配整体肤色斑块的界限。将意识到,可以使用类似的处理来检测如图10a-10c和11a-11f(全封闭)和10d-10f(部分封闭)的示例手势中表示的全封闭卵形和部分封闭卵形。在一些这样的实施例中,并且如将参照图9a-9b讨论的,能够将图像处理约束到诸如用户的键盘(图9a)或鼠标垫(图9b)的标记区域,在计算机/互联网导航场景中可能在该区域上发生这样的手势,其中,由目标存在级处理的用于限定斑块数据界限的一条或多条扫描线可以被设置在横向穿过键盘中间的阈值化-事件区域处。
手部解析器与姿势识别级能够由基板上的CPU执行为应用驱动器的一部分,但是仅在由本文描述的较早级激活时。此外,根据一些实施例,这样的处理能够可选地在GPU中执行,或者甚至在GP-电路中执行。为此,预处理功能到GPU和/或GP-电路中的集成程度能够例如以均衡(一方面)这样的集成的支出/成本与(另一方面)在功耗和CPU周期上的节省的成本收益分析为基础。根据本公开将意识到,通过在GP-电路中实现阈值检测级和目标存在级、在GPU中实现分割级,能够实现相对低成本的有效节约,并且允许手部解析器级和姿势识别级在CPU上执行。到GP-电路的进一步集成的成本可能是不合理或不希望的,但是本公开并不意在如此限制。
进一步参照图4,SRAM高速缓存可以用于存储与视频的有效处理相关联的参数,并且可以利用其它类型的合适存储器技术实现。例如,在一些实施例中,存储器可以用于存储典型地包括由用户提供的手势的帧内坐标。这些坐标可以例如以经验分析为基础随着时间建立和/或细化,或者是用户配置的。这些坐标也可以例如以相机的FOV内的标记区域的相对位置的改变为基础而被周期性地细化或更新。在任一情况中,这样的坐标可以由GP-电路(和其它部件,如果需要)使用以便有效地进一步降低图像处理负载。在这一意义上,可以分析视频流的子集。存储器也可以包括与特定用户设置相关联的肤色的范围。这一数据可以例如以经验分析为基础而随着时间建立或者是用户配置的。将意识到,能够将各种其它类型的信息和数据存储在存储器中。
执行基元是能够被提供以便支持GP-电路的功能的可选部件,并且可以在硬件和/或软件中实现。适用于处理手势视频的示例执行基元可以例如是矩阵乘法或加和模块。另一示例功能可以是将图像从空间域变换到频率域以便方便处理的傅立叶变换模块。在更通常的意义下,将由基于CPU的驱动器处理使用的任何图像处理工具都能够在执行基元中实现以便辅助分布式预处理功能。可选的隐私&安全策略模块可以配置为提供对抗恶意行为的保护,并且可以实现为实施一个或多个安全策略,例如与可信设备处理环境相关联的那些。例如,隐私&安全策略模块可以实施诸如基于用户的策略(例如,一些用户可能不想打开相机)和基于平台的策略(例如,仅可信平台模块(TPM)设备能够经由USB端口连接到平台控制器集线器(PCH))的策略。
可以根据典型操作或需要来实现图4所示的其它显示器和基板组件。图5说明了根据另一实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的上网本计算系统的方框图。可以看出,该系统的显示器部分与图4所示的膝上型系统的显示器类似,并且先前的相关讨论也适用于此。基板部分也类似,但是在给定其是上网本配置的条件下配置稍有不同。因而,CPU可以例如是
Figure BDA0001791329630000241
AtomTMCPU或其它这样的适用于上网本、上网电脑和其它这样的低功率微计算系统的处理器。如先前解释的,GPU可以如图所示与CPU共置或者以其它方式可操作地与CPU耦接。
图6说明了根据另一实施例配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的具有外部显示器的计算系统的方框图。所述计算系统可以例如是台式计算机或膝上型电脑(拆除电池或者未拆除电池地运行)。可以看出,该系统的显示器和基板部分与图4和图5所示的显示器/基板部分类似,并且先前的相关讨论也适用于此。可以使用许多其它计算系统架构和配置,并且本公开并不意在局限于任一特定的架构和配置。
图7指示根据实施例通过将视频预处理移出核心/非核心并且移入相机模块而实现的功率节约。总Δ功率是在平台的待机功率上消耗的功率。根据本公开将意识到,当图像中不存在任何事物时,可以实质上降低用于视频操作的C0%的CUP占用。可以进一步看出,当将图像处理从核心移动到非核心节省了大约1.4瓦特的功率(来自减少的CPU周期),当在相机传感器本身内执行预处理(例如阈值检测和目标存在状态)从而消除I/O功率时可以实现另外的大约3.6瓦特的功率节约。
可以用于互联网导航的示例手势通常依赖于粗糙姿势(例如,向上/向下滚动、下一/前一页、双击等等),单独精细姿势例如通常用于鼠标移动。仅当输入特定文本信息时,才要求在键盘上键入。典型的文本类型包括URL、用户名、密码、搜索词(包括街道名称等)。在许多场景下,不要求或者很少要求鼠标移动。因而,姿势的简化进一步允许将姿势识别实现为相机本身内的分布式处理。
姿势API
图8说明了根据本文公开技术的另一实施例表示配置用于执行视频流的阶梯式、分布式姿势预处理以便降低平台功耗的应用程序接口(API)的方框图。在这一示例情况中,所述姿势API是在这一特定系统上可用的一个或多个API(传感器API、环境API)。经过传感器API来处理原始传感器数据,并且姿势API预处理原始传感器数据且显示来自阈值检测和目标存在级(存在&阈值数据)以及来自分割、手势解析器和/或姿势识别级(姿势数据)的信息,而与是否在相机传感器内/附近或者在运行于CPU/主存储器上的软件驱动器内执行计算无关。可以进一步看出,所述姿势API可以包括诸如基于用户的策略(例如,一些用户可能不想打开相机)和基于平台的策略(例如,仅可信平台模块(TPM)设备能够经由USB端口连接到平台控制器集线器(PCH))的隐私&安全策略。如先前解释的,所述姿势API预处理原始视频数据并且表现为扩展的USB HID类型设备。在这样的情况中,原始数据不受影响并且表现为标准USB视频类型设备。
所述姿势API可以被编程为或以其它方式配置为将状态消息通信到相机中的姿势设备端点,例如包括用户输入区域(如图3a所示的键盘/鼠标区域)的像素。用于外部显示器的相机的过程与用于笔记本的集成显示器的相机相同。在一个示例情况中,该过程包括:定位视频流的FOV中的键盘;以感兴趣像素(虚拟标记)的形式将键盘信息通信到相机/GP-电路;在相机传感器/GP-电路中开始手势预处理任务;根据需要更新键盘位置;并且经由姿势API向平台呈现姿势处理信息。在多显示器或多键盘系统中,用户可以指示哪一个显示器或者键盘是主要的。这里可以使用任意数量的适合的选项。
还如先前解释的,由姿势API解释的手势可以用于增强其它补充输入模态,例如由键盘和/或鼠标接收到的用户输入。多种搜索引擎当前结合了用户能够作为快捷方式使用的各种鼠标/触摸姿势,以便改善他们的浏览体验。用户可以启用/禁用特定的快捷方式,并且根据期望添加新的定制快捷方式。这样的系统的一个缺点(除了缺乏标准化)是所有快捷方式全体地合计达到要使用的潜在过多的姿势数量,导致在不可避免地禁止普遍采用时的精神混乱。根据一个实施例,提供了相对简单和简洁的基于姿势的命令列表,这可以根据期望进行修改/扩展。可能期望一些可编程性,因为大多数勤勉的用户可能希望扩展姿势的列表,并且大多数用户可能想增加例如用于他们收藏夹中列出的网站的个性化姿势。大多数用户通常一再地常去相同的网页(如Google、Gmail、Facebook等等)。将这一系列的键盘/鼠标命令减少到单个姿势(或短的姿势系列)可以改善易用性并且加速用户的页面切换时间。
此外,可以对几个手势要求的“中性返回”给予考虑。“中性位置”是当不执行手势时手部的统计平均位置。例如,当把手掌放在掌托上休息时,手指放置在下面的键上:Q-E-R-G-空格-空格-H-U-I-P。所述中性返回是手部到中性位置的返回(例如,在执行一个手势之后并且在开始下一个手势之前)。在大多数计算系统使用模型中,手部保持在中性位置中。期望最小化总的手势,在手势期间将手掌保持在相同的物理位置中。这简化了图像处理,因为图像处理算法将忽略位于相机的FOV外部的所有视觉活动。
根据本公开将意识到,前面参照图4-6讨论了图8所示的其它部件和特征,或者能够以其它方式实现为被典型地完成。
2D中用于精细姿势识别的标记区域
如先前解释的,姿势识别级可以配置为执行由手部解析器级生成的解剖/手部数据的时间解释。例如,如果姿势识别级用于检测鼠标等同的操作,则它可以寻找用户的指尖和/或手部的位置改变。在一些实施例中,可以使用用于在视频流的FOV内创建虚拟标记以便在姿势预处理期间降低平台功率的技术来执行手势识别。在一个这样的实施例中,标记区域包括视频流的图像内的用户的键盘或者与该键盘对齐。可以消除位于标记区域外部的像素信息的图像处理和计算机系统内通信,以便降低处理负载。在进一步的实施例中,可以将所评估的像素数量减少到该标记区域的子集,该子集可以例如与像素扫描线、局部像素扫描线或单个像素一样小。
为此,如先前解释的,参照阈值检测级和目标存在级,图9a说明了根据一个实施例能够用于控制计算机系统的手势视频处理系统的视场内的示例基于键盘的标记区域。可以看出,相机的视频图像内的标记区域由通常与用户键盘的边界相对应的实线指示,并且这一标记区域内的阈值化事件区域(水平穿过键盘的中心区域的虚线,通常与A-GH-L键相对应)。在这一阈值化事件区域中的一个或多个经过(例如,扫描线或局部扫描线或者甚至是像素)可以在通过阈值检测和目标存在级进行评定时完成。可以忽略目标标记区域外部的像素,并且在一些实施例中,可以在这些初始级期间忽略阈值化事件区域外部的像素。将意识到,所述阈值化事件区域可以位于标记区域内的其它区域中,例如键盘的空格键附近,因为用户的手部通常不可能从最上方的像素(例如,功能键)敲击标记区域的平面。尽管示出了外部键盘单元,但是也可以使用具有集成键盘的实施例,该集成键盘例如与配置为停驻(dock拆除)物理外部键盘或者与该物理外部键盘一起使用的膝上型电脑或笔记本计算机或平板计算机相关联。如先前解释的,用户手部相对于计算系统的键盘的位置是计算机使用活动的良好指示,并且来自这一区域的手势是用户的直觉处理。
一旦启用(例如,在阈值检测级确定视频流的当前帧是否与该视频流的先前帧充分不同并且目标存在级确定当前帧包括肤色像素之后),随后的图像处理级能够容易地识别键盘的标记区域并且搜索这一区域内的手部。可以通过相机的观察到的图像内的标记区域内的手部的存在来确定阈值化事件,并且这一事件能够例如由标记区域内(或者阈值化事件区域内)发生的充分大的视觉扰动来限定。忽略在标记区域外部的图像中反映的活动(包括可能被误解为做手势的错误指示符)。例如,并且根据一些实施例,显示器和键盘倾向于在长的时间段内处在相对于彼此固定的位置中(对于膝上型电脑或笔记本布置尤其如此,但是也可以应用于具有外部键盘的台式计算机设置),因此相机传感器的视觉图像中键盘标记的相对位置也将趋向于相对固定。因而,根据一些实施例,图像处理能够将感兴趣的特定像素(例如,与标记区域或标记区域子集相对应的那些像素、例如与阈值化事件区域相对应的那些像素)下载到相机传感器内的图像处理子系统中(或者本文以其它方式多样化描述的GP-电路中),并且相机传感器可以关闭这一目标标记区域外部的其它像素以便节约功率。类似地,当向CPU通信用于姿势识别任务(手部解析器级和姿势识别级)的像素时,这一标记区域外部的像素信息不相关并且不要求传输到CPU,这进一步节约了功率。注意到,不必在键盘上使用物理“标记”,因为键盘通常利用跨供应商、文化、年龄组的非常一致的工业设计制造,并且能够容易地与人手区分开。例如,键盘通常是单色的,这简化了肤色检测的任务,因为他们是(或者以其它方式能够是)被制造为与肤色高度区分开。
在使用基于键盘的标记区域的一些实施例中,所标记的键盘区域将要求传递到GP-电路(例如,相机传感器)的周期性更新,因为显示器-键盘的相对位置会改变(以用户活动、膝上型电脑盖体角度的移动、外部键盘的移动等等为基础),结果修改了相机的FOV图像中的期望像素区域,从而修改了图像内的键盘标记位置。视频图形阵列(VGA)技术为用于姿势识别的大多数形式的图像处理提供充足的像素分辨率。根据本公开将意识到,尽管平台上高清晰度的相机正变得更加标准,但是额外的图像分辨率对于监控手势不是必要的。而是,根据本文公开技术的一个实施例,通过使感兴趣的目标标记区域窗口化,姿势图像处理系统能够配置为向最小数量的像素提供能量以便精确地捕获手势,同时能够使对于较高清晰度图像分辨率所要求的任何额外像素断电以便节约IO系统的功耗和计算任务。
因而,通过做出关于用户的手部将如何与标记区域进行交互的判断能够显著地降低功耗。为此,根据一个实施例的目标在于在预处理的每一级将被评估像素的数量降到最小,以便保存电池寿命。也可以做出关于哪些像素适合评估的其它判断,例如,当评估例如包括像素的单空格键-对齐的扫描线的阈值化事件区域时。例如,在一些这样的情况中,由于用户将两只手放置在空格键两侧的物理人体测量学,用户的手部不可能敲击空格键本身上方的平面。在更通常的意义下,做出关于用户与标记区域和阈值化事件区域进行交互的判断可以将被评估像素的数量降低到标记区域的子集,可以与像素扫描线、局部像素扫描线或单个像素一样小。当发生阈值化事件时,阈值检测级可以将事件报告给系统和/或将控制传递到图像处理级的下一级(目标存在级的肤色检测)。按照类似的方式,当发生肤色检测时,目标存在级可以将事件报告给系统和/或可以将控制传递到图像处理级的下一级(分割级的自适应肤色检测)。
注意到,根据一些实施例,在操作期间系统可以使用多个标记限定。例如,用于阈值化和/或目标存在检测的标记区域可以小于用于斑块识别或者用于手势识别的标记区域。在一些示例情况中,标记区域可以包括键盘和键盘的掌托。然而,为了初始化手势(即,为了将发生的阈值化事件),手部必须敲击在A-GH-L键的轴上方对齐的水平面,如图9a所示。
在另一示例实施例中,标记区域可以是鼠标垫或者指定的桌面区域,如图9b所示。其它这样的标记区域根据本公开将是显而易见的,例如其它输入设备(例如,轨迹板、触摸屏)或指定区域。在其它实施例中,标记区域可以被内部指定,其中系统配置为自动排除FOV的边界区域。在一些这样的实施例中,排除的FOV边界的厚度是用户可配置的。按照这种方式,用户能够有效地将他/她的系统校准到期望的用户设置。根据本公开将进一步意识到,根据实施例,使用单个2D相机和肤色检测算法,这样的标记的和阈值化事件区域的使用可以用于辅助执行用于计算机或者互联网导航的低成本、低功率、精细姿势识别的技术。在一些实施例中,可以将该技术扩展为能够进行3D对象操控。
用于目标存在的标记阈值化的方法
图9c说明了根据本文公开技术的实施例的目标存在的标记阈值化的方法。这一方法可以在硬件或软件或它们的组合中实现,并且在一个示例实施例中通过可以按照如本文描述的阶梯式和分布式方式执行的五个预处理级执行。标记区域可以例如是用户的键盘和能够贯穿所述键盘的一部分的阈值化事件区域。在一个具体的示例实施例中,目标存在的阈值化使用贯穿A-GH-L键(阈值化事件区域)的像素扫描线执行,而随后的目标评估在整个标记区域上执行。然而,根据这一公开,多个变形和实施例将是显而易见的,并且本文提供的标记分析技术可以按照任何合适的方式实现。
所述方法包括确定是否已经检测到阈值化事件区域内的扰动。如果为否,则过程继续在每一个随后帧的阈值化事件区域内的有限像素区域内寻找一个扰动。然而,如果在给定帧中已经检测到在阈值化事件区域内的扰动,则该方法继续发送指示目标存在的中断,以使得能够将处理传递到下一级,在这一示例中,该级涉及肤色检测。具体地,取决于处理的级,该方法继续确定在标记区域或阈值化事件区域中是否已经检测到肤色。例如,在一个示例情况中,如果处理刚刚从阈值检测级传递到目标存在级,则仅位于阈值化事件区域内的像素被进行肤色分析,并且如果在目标存在级发送用户存在的信号之后处理随后的帧,则能够扫描整个标记区域用于肤色像素。
在任一这样的情况中,如果确定在目标标记区域中不存在肤色像素,则该方法继续发送指示目标不存在的中断,并且停止任何进一步的姿势预处理和/或姿势处理任务。此时,该方法有效地重置并且继续监控随后帧的阈值化事件区域的扰动,如先前描述的。然而,如果确定在标记区域的子集中存在肤色像素,则该方法继续执行可以包括在一些实施例中由分割、手部解析器和姿势识别级进行的处理的姿势预处理,和/或任何其它姿势处理任务。
对于每一个随后帧,将整个标记区域评估用于肤色像素并且姿势预处理/处理对于每一帧继续,直到确定在标记区域中不存在肤色像素为止。此时,该方法继续发送指示目标不存在的中断并且停止任何进一步的姿势预处理和/或姿势处理任务,并且然后继续监控随后帧的阈值化事件区域的扰动,如先前解释的。根据需要,该处理可以重复。
精细的基于卵形的手势
如先前解释的,相对简单的手势能够用于计算机或者互联网导航并且仅具有模拟鼠标移动和活动的单个精细姿势要求。任何数量的合适的姿势能够用于模拟在导航中经常使用的鼠标按钮的按压和释放。例如,根据实施例,能够用于指示鼠标按钮按下的一个手势涉及由拇指和食指形成卵形,如图10a所示。可以看出,在用户的拇指和食指之间,键盘颜色的卵形是可识别的。可以由具有基于键盘的标记FOV的视频姿势处理系统检测到的卵形,可以被用作鼠标按钮被保持按下的指示。根据实施例,如图10b所示,当卵形被破坏(通过分离拇指和食指)时,该指示是鼠标按钮被释放。
利用这两个简单的手势,当关于非肤色键盘背景颜色进行评估时,图像处理算法(例如在姿势识别级的算法)可以被编程或者以其它方式配置为检测肤色形状。例如,对于将鼠标按钮保持按下的时段(卵形存在),由姿势识别级执行的姿势处理能够配置为使用卵形的几何中心来跟踪该卵形的X-Y移动,以便确定X-Y光标移动,从而模仿鼠标的光标移动。在这样的示例情况中,X-Y轴可以由键盘的X-Y轴在视觉图像内限定。在一个具体的示例实施例中,使用+/-1.5个像素的肤色/非肤色边缘检测,并且发现足够精确地沿着本文描述的X-Y轴跟踪卵形的几何中心。根据本公开将意识到,取决于期望的精确度,可以不同地配置其它实施例。
可以使用的另一鼠标功能是鼠标双击,能够将鼠标双击识别为拇指与其它四个手指的快速增加的分离,在拇指+手指的中间位置上方稍微扩展。具体地,这一鼠标双击姿势可以如图10d-f所示来执行,其中,在图10d中示出了初始中间位置,其后是如图10e所示的拇指与其它四个手指的快速增加的分离,其后是图10f所示的返回到中间位置,在从初始中间位置到分离位置的转换中具有1到2秒的延迟,并且然后在从分离位置回到初始中间位置的转换中具有1到2秒的延迟。这些具体示例允许相对手部斑块的中心维持接近完整的卵形(在本文有时被称为部分封闭卵形)的位置。根据本公开将意识到,其它适合的手势也是可能的。
扩展到3D对象操控
大多数当前可用的姿势识别技术集中于由相信这样的解决方案提供放置在相机的FOV内的目标的更好空间分辨率驱动的3D Z-景深相机。然而,这要求大量的计算功率,并且这消耗电池功率。此外,存在尝试将2D相机图像映射到关节连接的手部模型上,并且然后通过解释该手部模型的关节连接点的相对运动来理解手势的多个解决方案。但是这些解决方案是相当复杂的。
因而,根据实施例,能够容易地将本文提供的使用2D相机用于互联网和计算机导航的精细姿势控制的基于卵形的技术扩展到3D空间中对象的操控。如先前参照图10a-10f解释的,用户的手部在相机的图像内创建可以被时域地分析为X-Y光标移动的卵形非肤色元件。根据本公开将意识到,卵形形状的比例按照可预测的方式改变,因为用户经过运动的六个轴(X-Y-Z和俯仰-倾斜-偏航)来移动他/她的手部。
例如,参照图11a-11f,对于倾斜(图11d)和俯仰(11e)手部移动的图像表示在这些具体的手部移动期间第3/第4/第5手指如何更少或更多地可视,而他们的比例在X(图11a)和Y(图11b)和Z(图11c)以及偏航(图11f)手部移动期间相当类似。另一微小但是仍可检测的并且因此可行的区别是,与姿势的向下部分相比较,Z运动姿势倾向于在姿势的向上部分中表示更多的指甲。同样,与姿势的其它部分相比较,在姿势的一个部分中,偏航运动姿势趋向于表示手指的正面视图。与能够使用如本文讨论的几何中心跟踪的2D X-Y光标移动不同,手部的3D跟踪必须也考虑手部和手腕更加复杂的关节连接。例如,简单的横向X运动可以实际上包括垂直Y运动和倾斜运动的分量。在典型的3D处理下,这些必须被校正以便仅给出用户期望的X分量。
基于卵形的手势方法
图12说明了根据本文公开技术的实施例用于分析手势视频的方法。根据一些实施例,该方法可以在硬件或软件或它们的组合中实现,并且在一个示例实施例中由如先前描述的可以在主机计算系统的CPU上执行的手部解析器级和姿势识别级执行。例如,在一些这样的实施例中,手部解析器级能够配置为使用由分割级产生的斑块数据的空间解释来做出关于肤色区域内非肤色的类似卵形的区域是否存在的初始确定。如果为是,则将该处理传递到能够配置为执行斑块数据的时间解释以便观察从视频的一个帧到下一个帧的改变的姿势识别级。然而,根据本公开,多种变形和实施例将是显而易见的,并且本文提供的姿势分析技术可以被实现在任意合适的模块或模块的集合中。
可以看出,该方法包括确定是否已经检测到肤色区域内完全封闭的非肤色区域(卵形)。回想到手部解析器级能够配置为执行斑块数据的空间解释,并且该斑块像素(例如,非零或“灰度”像素)能够被容易地与非斑块像素(例如,黑色像素)区分开。如果没有检测到肤色区域内的非肤色区域卵形,则处理继续寻找一个卵形。如图2a所示,此时可以将处理传递回到目标存在级。
在由手部解析器级进行给定帧的肤色区域内的非肤色卵形的检测时,该方法继续限定卵形的几何中心以及关于X-Y对齐的键盘标记区域参照的相关标记。示例相关标记例如包括皮肤皱纹、关节泛红、关节计数、静脉、毛发以及其它这样的人手的典型可识别特征。将意识到,知道卵形几何中心的位置允许进行其它测量以便评估姿势的进一步细节(包括在运动的6个轴中的任意一个中的移动)。
该方法继续测量围绕在这一初始帧中捕获的卵形的肤色厚度。将意识到,注意到,图12中对第一帧的参考不必意味着视频流的第一帧,而是代表在其中已经检测到肤色区域内的非肤色卵形的视频流的第一帧。在任一情况中,这些厚度测量能够在进一步评估在视频流的一个或多个随后帧中捕获的姿势的特性时使用。例如,在这一特定实施例中,所述方法通过估计卵形几何中心、标记和周围肤色厚度的尺寸和角度关于X-Y平面的变化来继续分析下一帧。这些变化可以例如通过评估在图11a-11f中阐释的特征来进行测量,如先前解释的,这有效地特征化了六个轴上的手部运动。除了在X-Y平面内跟踪卵形几何中心的移动并且测量关于非肤色卵形的肤色的厚度,可以使用任何数量的特征识别技术来进一步增加评估的鲁棒性(例如,在与偏航移动相关联的横向上的关节连接识别和跟踪;在与Z移动相关联的垂直方向上的指甲识别和跟踪)。关于测量肤色厚度,注意到,例如,在倾斜和俯仰移动中卵形左部的肤色厚度随着倾斜开始而显著改变。
参照图12可以进一步看出,该方法可以用于提供2D分析,其中,估计X-Y位移(以估计的在X-Y运动中产生的变化为基础),或者用于提供3D分析,其中,估计6-轴位移(以估计的在X-Y-Z和俯仰-倾斜-偏航运动中产生的变化为基础)。所述方法然后继续将所计算的位移估计通信到主机处理器(例如,图形处理系统的CPU)。给定在这一示例情况中由键盘的标记区域提供的容量,可以按照相对有效的方式计算这样的位移。
该方法继续进行到下一帧并且确定肤色区域内的完全封闭的非肤色卵形是否仍然完整。如果为是,则对于下一帧重复处理,以便进一步评估该手势已经如何从上一帧的手势进行,并且能够以关于两个轴(对于2D处理)或六个轴(对于3D处理)的移动为基础来计算任何相关位移,并且将其传递到主处理器,该主机处理器然后能够按照接收到的导航命令(例如,点击浏览器后退按钮或者收藏夹链接、选择超级链接、打开下拉菜单、最小化窗口、发起浏览器应用等等)来进行动作。
然而,如果确定肤色区域内的全封闭非肤色卵形不再完整(由于用户已经通过分离拇指和食指而打开卵形),则该方法通过停止位移估计到CPU的通信并且针对肤色区域内新的非肤色卵形的存在继续监控随后的帧而继续,并且相应地重复该处理。
根据本公开,多种变形是显而易见的。例如,该方法可以等同地应用到检测肤色区域内的局部非肤色卵形(如图10d-10f所示)用于处理鼠标双击。进一步注意到,假设用户具有两只手,能够在相机图像中解释这两个相对应的不同的卵形非肤色元素(左手、右手)的互动。这样的双手处理可以例如在增益应用和其它高级应用中使用,而基本的计算机和互联网导航姿势可以仅使用一只手来执行。
示例系统
图13说明了根据一些实施例可以执行本文描述的视频内容的阶梯式和分布式姿势预处理的示例系统1300。在一些实施例中,系统1300可以是媒体系统,尽管系统1300并不局限于这一环境。例如,可以将系统1300结合在个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、手持计算机、掌上电脑、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动互联网设备(MID)、消息传送设备、数据通信设备、机顶盒、游戏控制台或其它这样的能够执行图形渲染操作的计算环境。
在一些实施例中,系统1300包括耦接到显示器1320的平台1302。平台1302可以从诸如内容服务设备1330或内容传送设备1340或其它类似内容资源的内容设备接收内容。包括一个或多个导航特征的导航控制器1350可以用于例如与平台1302和/或显示器1320交互,以便补充用户做出的导航姿势(例如,本文描述的基于完整和局部卵形的姿势)。下面更加详细地描述这些示例部件中的每一个。
在一些实施例中,平台1302可以包括芯片集1305、处理器1310、存储器1312、存储1314、图形子系统1315、应用1316和/或无线电1318的任意组合。芯片集1305可以提供处理器1310、存储器1312、存储1314、图形子系统1315、应用1316和/或无线电1318之间的相互通信。例如,芯片集1305可以包括能够提供与存储1314相互通信的存储适配器(未阐释)。
处理器1310可以例如实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容的处理器、多核处理器或任何其它微处理器或中央处理单元(CPU)。在一些实施例中,处理器1310可以包含双核处理器、双核移动处理器等等。存储器1312可以例如实现为易失性存储设备,例如但不局限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。存储1314可以例如实现为非易失性存储设备,例如但不局限于磁盘驱动、光盘驱动、磁带驱动、内部存储设备、附接的存储设备、闪存、电池供电的SDRAM(同步DRAM)和/或网络可存取存储设备。在一些实施例中,存储1314可以包括用于增加对于有价值数字媒体的存储性能增强保护的技术,例如当包括多个硬驱时。
图形子系统1315可以执行诸如静止或者视频的图像的处理用于显示。图形子系统1315可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于可通信地耦接图形子系统1315和显示器1320。例如,该接口可以是高清晰度媒体接口、显示接口、无线HDMI和/或符合无线HD的技术中的任意一种。图形子系统1315可以被集成到处理器1310或芯片集1305中。图形子系统1315可以是可通信地耦接到芯片集1305的单独的卡。本文描述的阶梯式和分布式图形和/或视频处理技术可以在各种硬件架构(例如,在接近相机的相机硅中的GP-电路)中实现。在另一实施例中,包括一些分布式预处理级(例如,手部解析器和姿势识别)的图形和/或视频功能可以由包括多核处理器的通用处理器实现。在另外一些情况中,可以使用共置或离散的GPU处理器(例如,分割级)。
无线电1318可以包括能够使用各种合适的无线通信技术发射和接收信号的一个或多个无线电。这样的技术可以涉及跨越一个或多个无线网络的通信。示例性无线网络包括(但不局限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络以及卫星网络。在跨越这样的网络进行通信时,无线电1318可以根据任意版本的一个或多个可应用标准进行操作。
在一些实施例中,显示器1320可以包括任意电视机或计算机类型的监视器或显示器。显示器1320可以例如包括液晶显示器(LCD)屏幕、电泳显示器(EPD)或液体纸显示器、平板显示器、触摸屏显示器、类似电视机的设备和/或电视机。显示器1320可以是数字和/或模拟的。在一些实施例中,显示器1320可以是全息或三维显示器。并且,显示器1320可以是可以接收视觉投射的透明平面。例如,这样的投射可以是用于移动增强现实(MAR)应用的视觉覆盖层。在一个或多个软件应用1316的控制下,平台1302可以在显示器1320上显示用户界面1322。
在一些实施例中,内容服务设备1330可以由任何国内、国际和/或独立的服务主持并且因而例如经由互联网或其它网络对于平台1302可访问。内容服务设备1330可以耦接到平台1302和/或显示器1320。平台1302和/或内容服务设备1330可以耦接到网络1360以便向并且从网络1360通信(例如,发送和/或接收)媒体信息。内容传送设备1340也可以耦接到平台1302和/或显示器1320。在一些实施例中,内容服务设备1330可以包含有线电视盒、个人计算机、网络、电话、能够传送数字信息和/或内容的互联网使能的设备或装置,以及任何其它能够经由网络1360或直接在内容提供方和平台1302和/或显示器1302之间单向或双向地通信内容的设备。将意识到,可以经由网络1360单向和/或双向地向并且从系统1300和内容提供方中的任一部件通信所述内容。内容的示例可以包括任何媒体信息,例如视频、音乐、图形、文本、医学和游戏内容等等。
内容服务设备1330接收诸如包括媒体信息、数字信息和/或其它内容的有线电视节目的内容。内容提供方的示例可以包括任何有线或卫星电视或无线电或互联网内容提供方。所提供的示例并不意在限制本公开。在一些实施例中,平台1302可以从具有一个或多个导航特征的导航控制器1350接收控制信号。所述控制器1350的导航特征可以例如用于与用户界面1322交互。在一些实施例中,导航控制器1350可以是允许用户向计算机输入空间(例如,连续和多维)数据的计算机硬件部件(特别地,人类接口设备)的指向设备。将意识到,本文描述的导航姿势可以用作这样的导航控制器1350的替代,或者用于增强这样的用户输入模态。因而,根据本公开将意识到,本文关于导航控制器1350的各种公开可以等同地应用于这样的导航姿势(除了控制器1350输入相对于手势输入的处理路径将不同)。诸如图形用户接口(GUI)和电视机以及监视器的许多系统允许用户使用物理姿势来控制计算机或电视机并且向其提供数据。
控制器1350的导航特征的移动可以通过指针、光标、聚焦环或显示在显示器上的其它视觉指示符的移动而被反射到显示器(例如,显示器1320)上。例如,在软件应用1316的控制下,可以例如将位于导航控制器1350上的导航特征映射到在用户界面1322上显示的虚拟导航特征。在一些实施例中,控制器1350可以不是单独的部件而是集成到平台1302和/或显示器1320中。然而,将意识到,实施例并不局限于本文示出或者描述的元件或环境。
在一些实施例中,驱动器(未示出)可以包括例如当被启用时使用户能够立即打开和关闭平台1302的技术,该平台与在初始启动之后具有按钮触摸的电视类似。当平台“关闭”时,程序逻辑可以允许平台1302向媒体适配器或其它内容服务设备1330或内容传送设备1340流入内容。此外,芯片集1305可以例如包括支持5.1环绕立体声音频和/或高清晰度7.1环绕立体声音频的硬件和/或软件。驱动器可以包括用于集成图形平台的图形驱动器。在一些实施例中,所述图形驱动器可以包括外围部件互联(PCI)高速图形卡。
在各种实施例中,可以集成系统1300中示出的任意一个或多个部件。例如,可以集成平台1302和内容服务设备1330,或者可以集成平台1302和内容传送设备1340,或者可以集成平台1302、内容服务设备1330和内容传送设备1340。在各种实施例中,平台1302和显示器1320可以是集成单元。例如,可以集成显示器1320和内容服务设备1330,或者可以集成显示器1320和内容传送设备1340。这些示例并不意在限制本公开。
在各种实施例中,系统1300可以实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统1300可以包括适于在无线共享媒体上进行通信的部件和接口,例如一个或多个天线、发射机、接收机、收发器、放大器、滤波器、控制逻辑等等。无线共享媒体的示例可以包括无线频谱的一部分,例如RF频谱等等。当实现为有线系统时,系统1300可以包括适于在有线通信媒体上进行通信的组件和接口,例如输入/输出(I/O)适配器、使I/O适配器与相对应的有线通信媒体连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等等。有线通信媒体的示例可以包括电线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等等。
平台1302可以建立一个或多个逻辑或物理信道以便通信信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指代代表用于用户的内容的任何数据。内容的示例可以例如包括来自语音会话、视频会议、视频流、电子邮件或文本消息、语音邮件信息、字母数字符号、图形、图像、视频、文本等等的数据。控制信息可以指代代表用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于经过系统路由媒体信息,或者指示节点按照预定的方式(例如,使用本文描述的辅助特权接入违例检查的硬件)来处理媒体信息。然而,所述实施例并不局限于图13示出或描述的元件或环境。
如上所述,系统1300可以体现在不同的物理样式或形状因数中。图14说明了其中可以体现系统1300的小形状因数设备1400的实施例。例如,在一些实施例中,设备1400可以实现为具有无线能力的移动计算设备。移动计算设备可以例如指代具有处理系统和诸如一个或多个电池的移动功率源或电源的任何设备。
如先前描述的,移动计算设备的示例可以包括个人计算机、膝上型计算机、超级膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动互联网设备(MID)、消息传送设备、数据通信设备等等。
移动计算设备的示例也可以包括布置为由人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、夹在腰带上的计算机、绑在手臂上的计算机、鞋式计算机、服装计算机及其它可穿戴计算机。例如,在一些实施例中,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管可以通过示例的方式,利用实现为智能电话的移动计算设备来描述一些实施例,但是可以意识到,也可以使用其它无线移动计算设备实现其它实施例。所述实施例并不局限于这一环境。
如图14所示,设备1400可以包括壳体1402、显示器1402、输入/输出(I/O)设备1406和天线1408。设备1400也可以包括导航特征1412。显示器1404可以包括用于显示适于移动计算设备的信息的任何合适的显示单元。I/O设备1406可以包括用于向移动计算设备输入信息的任何合适的I/O设备。I/O设备1406的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、相机、开关、摇杆式开关、麦克风、扬声器、语音识别设备和软件等等。也可以通过麦克风的形式将信息输入到设备1400中。这样的信息可以由语音识别设备数字化。所述实施例并不局限于这一环境。
可以使用硬件元件、软件元件或者二者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片集等等。软件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。根据例如期望的计算率、功率级别、耐热性、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度以及其它设计或性能约束,使用硬件元件和/或软件元件可以随着一个实施例到下一个实施例而变化。
一些实施例可以例如通过存储指令或指令集的机器可读介质或物品实现,如果由机器执行,这些指令或指令集可以使该机器执行根据实施例的方法和/或操作。这样的机器可以例如包括任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等等,并且可以使用硬件和软件的任意合适的组合来实现。所述机器可读介质或物品可以例如包括任意合适类型的非暂态存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如,存储器、可移除或不可移除介质、可擦除或不可擦除介质、可写入或可重写入介质、数字或模拟介质、硬盘、软盘、压缩盘只读存储器(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、光盘、磁介质、磁-光介质、可移除存储卡或盘、多种类型的数字通用盘(DVD)、磁带、盒式磁带等等。所述指令可以包括使用任意合适的高级、低级、面向对象的、视觉的、编译的和/或解释的编程语言实现的任何合适类型的可执行代码。
进一步示例实施例
下面的示例涉及进一步实施例,根据这些实施例,多个排列和配置是显而易见的。
示例1是用于处理原始视频流的系统,包括:配置为通过仅评估包括在作为给定成像视场的子集的标记区域内的阈值化事件区域中的像素来确定视频流的当前帧是否包括肤色像素的目标存在级,并且对当前帧不包括肤色像素做出响应,所述目标存在级进一步配置为停止由随后级对当前帧的进一步处理;以及配置为针对由目标存在级指示为包括肤色的帧执行标记区域内的图像数据的空间和时间解释中的至少一个;其中,目标存在级或者姿势处理级不处理标记区域外部的像素。
示例2包括示例1的主题,其中,所述阈值化事件区域是单像素扫描线、局部像素扫描线或像素。
示例3包括示例1或示例2的主题,其中,所述目标存在级配置为通过对阈值事件区域内的视频流的R、G和B像素值进行加和来评估仅包括在阈值化事件区域中的像素。
示例4包括示例1-3中的任意一个的主题,其中,所述阈值事件区域是单扫描线或局部扫描线或像素。
示例5包括示例1-4中的任意一个的主题,其中,所述标记区域与键盘对齐并且由键盘的边界限定,并且所述阈值事件区域是沿着键盘的A-GH-L键或者以其它方式位于其上的单扫描线或局部扫描线或像素。
示例6包括示例3-5中的任意一个的主题,其中,目标存在级进一步配置为对加和的R-G-B像素值与给定阈值进行比较以便确定当前帧是否包括肤色像素。
示例7包括示例3-6中的任意一个的主题,其中,对阈值事件区域中的R-G-B像素值进行加和用于确定肤色关于标记区域的背景颜色的比率是否已发生了改变。
示例8包括示例1或示例2的主题,其中,所述目标存在级配置为通过仅对阈值事件区域内的视频流的绿色像素值进行加和来仅评估包括在阈值化事件区域中的像素。
示例9包括示例8的主题,其中,所述阈值事件区域是单扫描线或局部扫描线或像素。
示例10包括示例8或9的主题,其中,所述标记区域与键盘对齐并且由键盘的边界限定,并且所述阈值事件区域是沿着键盘的A-GH-L键或者以其它方式位于其上的单扫描线或局部扫描线或像素。
示例11包括示例8-10中的任意一个的主题,其中,所述目标存在级进一步配置为对加和的绿色像素值与给定阈值进行比较以便确定当前帧是否包括肤色像素。
示例12包括示例8-11中的任意一个的主题,其中,仅对阈值事件区域中的绿色像素值进行加和用于确定肤色关于标记区域的背景颜色的比率是否已发生了改变。
在示例13中,示例1-12中的任意一个的主题可以可选地包括配置为确定视频流的当前帧是否与视频流的先前帧充分不同的阈值检测级,并且对当前帧与视频流的先前帧不充分不同做出响应,所述阈值检测级进一步配置为停止对当前帧的进一步处理。这一阈值检测级可以例如配置为将处理传递到目标存在级或者可以与目标存在级集成。在后者的情况中,在一些实施例中,包括肤色像素的帧的检测可以用于声明当前帧与先前帧充分不同。
示例14包括示例1-4、6-9和11-13中的任意一个的主题,其中,标记区域与用户输入设备或鼠标垫或桌面区域对齐。
示例15包括示例14的主题,其中,标记区域与键盘对齐并且由键盘的边界限定。
示例16包括示例14的主题,其中,标记区域与鼠标垫对齐并且由鼠标垫的边界限定。
示例17包括示例1-16中的任意一个的主题,其中,所述姿势处理级包括配置为使感兴趣像素与不感兴趣像素分离的分割级,其中,将感兴趣像素表示为斑块,并且将不感兴趣像素表示为非斑块。
示例18包括示例17的主题,其中,分割级在图形处理单元(GPU)中实现。
示例19包括示例17或18的主题,其中,姿势处理级进一步包括配置为对从分割级接收到的斑块数据执行空间解释的解析器级。
示例20包括示例19的主题,其中,所述解析器级配置为对斑块数据执行空间解释以便识别肤色区域内非肤色的类似卵形区域的存在,并且其中,所述肤色区域内的非肤色的类似卵形区域是全封闭或部分封闭的。
示例21包括示例19或20的主题,其中,所述姿势处理级进一步包括配置为对从解析器级接收到的斑块数据执行时间解释的姿势识别级。
示例22包括示例21的主题,其中,在可部署在第一位置处并且具有包括用户输入区域的成像视场的相机内或者靠近该相机实现目标存在级,并且所述分割级、解析器级和姿势识别级位于与所述第一位置不同的一个或多个位置处。
示例23包括示例21或22的主题,其中,所述分割级在图形处理单元中实现,并且所述解析器级和姿势识别级由应用软件实现。
示例24包括示例1-23中的任意一个的主题,其中,在可部署在第一位置处并且具有包括用户输入区域的成像视场的相机内或靠近该相机实现目标存在级,并且在与所述第一位置不同的一个或多个位置处实现姿势处理级。
在示例25中,示例1-24中的任意一个的主题可以可选地包括用于将一个或多个级可操作地耦接到计算平台的应用程序接口(API),所述系统配置为在所述计算平台上操作。
示例26包括示例1-25中的任意一个的主题,其中,所述目标存在级进一步配置为对在阈值化事件区域中检测到肤色做出响应而向计算平台(例如在示例25中提及的平台)发送信号以便从低功耗模式唤醒。
示例27包括示例26的主题,其中,所述目标存在级进一步配置为在低功耗模式期间以相对于计算平台的正常模式的帧率至少降低的帧率进行操作。
示例28包括包含权利要求1-27中的任意一项的系统以及可操作地耦接到系统的相机的成像设备,其中,所述目标存在级在相机的传感电路内实现。
示例29包括包含权利要求1到27中的任意一项的系统的显示器,其中,所述目标存在级在集成在显示器内的相机的传感器电路内实现。
示例30包括使用原始视频流的计算机导航方法,所述方法包括:在第一处理级通过仅评估包括在作为给定成像视场的子集的标记区域内的阈值化事件区域内的像素,确定视频流的当前帧是否包括肤色像素,并且对当前帧不包括肤色像素做出响应,停止由随后级对当前帧的进一步处理;并且在一个或多个随后的处理级,针对由第一处理级指示为包括肤色的帧执行所述标记区域内的图像数据的空间和时间解释中的至少一个;其中,所述处理级不处理标记区域外部的像素。
在示例31中,示例30的主题可以可选地包括位于所述第一级之前的处理级,确定视频流的当前帧是否与视频流的先前帧充分不同,并且对当前帧与先前帧不充分不同做出响应,停止对当前帧的进一步处理;
示例32包括示例30或31的主题,其中,所述一个或多个随后的处理级可以包括第二、第三、第四、第五和第六处理级中的一个或多个。在这样的示例中,所述主题可以可选地包括下面项目中的更多或更少:在第二处理级接收来自当前帧的数据并且使感兴趣像素与不感兴趣像素分离,其中,感兴趣像素由斑块表示,并且不感兴趣像素由非斑块表示;在第三处理级通过将斑块数据映射到人手几何特征,执行从第二处理级接收到的斑块数据的空间解释,在第四处理级,执行从第三处理级接收到的斑块数据的时间解释以便识别用户导航姿势;并且以该用户导航姿势为基础来指导计算系统。
示例33包括示例32的主题,其中所述处理级(或者至少它们中的一些)配置在阶梯式和分布式布置中,并且消除位于标记区域外部的像素信息的处理和通信。
示例34包括示例30-33中的任意一个的主题,其中,阈值化事件区域是单像素扫描线或局部像素扫描线。
示例35包括示例30-33中的任意一个的主题,其中,阈值化事件区域是单像素。
示例36包括示例30-35中的任意一个的主题,其中,所述第一处理级配置为通过对阈值事件区域内的视频流的R、G和B像素值进行加和,仅评估包括在阈值化事件区域中的像素。
示例37包括示例36的主题,其中,阈值事件区域是单扫描线或局部扫描线或像素。
示例38包括示例30-37中的任意一个的主题,其中,所述标记区域与键盘对齐并且由键盘的边界限定,并且所述阈值事件区域是沿着键盘的A-GH-L键或者以其它方式位于其上的单扫描线或局部扫描线或像素。在其它示例情况中,所述标记区域和/或阈值事件区域是给定成像视场的用户可配置子集。
示例39包括示例36-38中的任意一个的主题,其中,所述第一处理级进一步配置为对加和的R-G-B像素值与给定阈值进行比较,以便确定当前帧是否包括肤色像素。
示例40包括示例36-39中的任意一个的主题,其中,对阈值事件区域中的R-G-B像素值进行加和用于确定肤色关于标记区域的背景颜色的比率是否已发生了改变。
示例41包括示例30-35中的任意一个的主题,其中,所述第一处理级配置为通过仅对阈值事件区域内的视频流的绿色像素值进行加和,仅评估包括在阈值化事件区域中的像素。
示例42包括示例41的主题,其中,所述阈值事件区域是单扫描线或局部扫描线或像素。
示例43包括示例41或42的主题,其中,所述标记区域与键盘对齐并且由键盘的边界限定,并且所述阈值事件区域是沿着键盘的A-GH-L键或者以其它方式位于其上的单扫描线或局部扫描线或像素。
示例44包括示例41-43中的任意一个的主题,其中,所述第一处理级进一步配置为对加和的绿色像素值与给定阈值进行比较以便确定当前帧是否包括肤色像素。
示例45是编码有指令的非暂态计算机可读介质或计算机程序产品,当由一个或多个处理器执行时,所述指令导致使用原始视频流执行导航方法。所述方法可以例如包括示例30-44中的任意一个的主题,或者如在示例1-30中多样化描述的任意计算机可实现功能。
出于说明和描述的目的呈现了示例实施例的前面描述。并不意在是排它性的或将本公开局限于所公开的精确形式。根据本公开,多种修改和变形是可能的。意在本公开的范围不受该详细描述限制,而是受限于所附的权利要求。要求本申请优先权的未来递交的申请可以按照不同方式来请求保护所公开的主题,并且通常可以包括如本文多样化或者以其它方式列举的一个或多个限制的任意集合。

Claims (29)

1.一种用于处理原始视频流的系统,所述系统包括:
目标存在级,配置为通过评估包括在作为成像视场的子集的标记区域内的阈值化事件区域中的像素来确定所述视频流的当前帧是否包括肤色像素,其中,所述阈值化事件区域是单扫描线、局部扫描线或像素;以及
姿势处理级,配置为针对由所述目标存在级指示为包括肤色像素的帧执行所述标记区域内的图像数据的空间解释和时间解释中的至少一个,
其中,所述阈值化事件区域小于所述标记区域。
2.如权利要求1所述的系统,其中,所述目标存在级响应于所述当前帧不包括所述肤色像素而进行确定,所述目标存在级进一步配置为停止由随后的级对所述当前帧的进一步处理。
3.如权利要求1所述的系统,其中,所述目标存在级或者所述姿势处理级不处理所述标记区域外部的像素。
4.如权利要求1所述的系统,其中,所述目标存在级配置为通过对所述阈值化事件区域内的所述视频流的R、G和B像素值进行加和来评估包括在所述阈值化事件区域中的像素。
5.如权利要求4所述的系统,其中,所述目标存在级进一步配置为对加和的R-G-B像素值与给定阈值进行比较以便确定所述当前帧是否包括所述肤色像素。
6.如权利要求4所述的系统,其中,对所述阈值化事件区域中的所述R-G-B像素值进行加和用于确定肤色相对所述标记区域的背景颜色的比率是否已发生了改变。
7.如权利要求1所述的系统,其中,所述目标存在级配置为通过对所述阈值化事件区域内的所述视频流的绿色像素值进行加和来评估包括在所述阈值化事件区域中的像素。
8.如权利要求7所述的系统,其中,所述目标存在级进一步配置为对加和的绿色像素值与给定阈值进行比较以便确定所述当前帧是否包括肤色像素。
9.如权利要求7所述的系统,其中,对所述阈值化事件区域中的所述绿色像素值进行加和用于确定肤色相对所述标记区域的背景颜色的比率是否已发生了改变。
10.如权利要求1到9中的任意一项所述的系统,进一步包括阈值检测级,配置为确定所述视频流的所述当前帧是否与所述视频流的先前帧充分不同,并且响应于所述当前帧与所述先前帧不充分不同,所述阈值检测级进一步配置为停止对所述当前帧的进一步处理。
11.如权利要求1到9中的任意一项所述的系统,其中,所述标记区域与键盘对齐并且由所述键盘的边界限定。
12.如权利要求1到9中的任意一项所述的系统,其中,在能够部署在第一位置处并且具有包括用户输入区域的成像视场的相机内或接近于所述相机实现所述目标存在级,并且在与所述第一位置不同的一个或多个位置处实现所述姿势处理级。
13.如权利要求1到9中的任意一项所述的系统,进一步包括用于将所述级中的一个或多个可操作地耦接到计算平台的应用程序接口(API),所述系统配置为在所述计算平台中进行操作。
14.如权利要求1到9中的任意一项所述的系统,其中,所述目标存在级进一步配置为响应于在所述阈值化事件区域中检测到肤色像素,而向计算平台发送信号以便从低功耗模式中唤醒。
15.如权利要求1到9中的任意一项所述的系统,其中,所述目标存在级实现在集成在显示器内的相机的传感器电路内。
16.一种使用原始视频流的计算机导航方法,包括:
在第一处理级,通过评估包括在作为给定成像视场的子集的标记区域内的阈值化事件区域中的像素,确定所述视频流的当前帧是否包括肤色像素,其中,所述阈值化事件区域是单扫描线、局部扫描线或像素;并且
在一个或多个随后的处理级,针对由所述第一处理级指示为包括肤色像素的帧,执行所述标记区域内的图像数据的空间解释和时间解释中的至少一个
其中,所述阈值化事件区域小于所述标记区域。
17.如权利要求16所述的方法,其中,响应于所述当前帧不包括肤色像素而执行确定,并且停止由随后的级对所述当前帧的进一步处理。
18.如权利要求16所述的方法,其中,所述处理级不处理所述标记区域外部的像素。
19.如权利要求16所述的方法,其中,所述一个或多个随后的处理级包括第二、第三、第四、第五和第六处理级,所述方法进一步包括:
在所述第一处理级之前的处理级,确定所述视频流的所述当前帧是否与所述视频流的先前帧充分不同,并且响应于所述当前帧与所述先前帧不充分不同,停止对所述当前帧的进一步处理;
在所述第二处理级,接收来自所述当前帧的数据并且使感兴趣像素与不感兴趣像素分离,其中,感兴趣像素由斑块表示,并且不感兴趣像素由非斑块表示;
在所述第三处理级,通过将所述斑块数据映射到人手几何特征,执行从所述第二处理级接收到的斑块数据的空间解释;
在所述第四处理级,执行从所述第三处理级接收到的斑块数据的时间解释以便识别用户导航姿势;并且
以所述用户导航姿势为基础来指导计算系统。
20.如权利要求16所述的方法,其中,所述第一处理级配置为通过对所述阈值化事件区域内的所述视频流的R、G和B像素值进行加和,评估包括在所述阈值化事件区域中的所述像素,以便确定肤色相对所述标记区域的背景颜色的比率是否已发生了改变。
21.如权利要求16所述的方法,其中,所述第一处理级配置为通过对所述阈值化事件区域内的所述视频流的绿色像素值进行加和,评估包括在所述阈值化事件区域中的像素。
22.一种编码有指令的非暂态计算机可读介质,当由一个或多个处理器执行时,所述指令使得执行如权利要求16到21中的任意一项所述的方法。
23.一种使用原始视频流的计算机导航设备,所述设备包括:
存储指令的存储器,以及
耦合到所述存储器的处理器,所述指令被所述处理器执行,以执行如权利要求16到21中的任意一项所述的方法。
24.一种使用原始视频流的计算机导航装置,包括:
用于在第一处理级,通过评估包括在作为给定成像视场的子集的标记区域内的阈值化事件区域中的像素,确定所述视频流的当前帧是否包括肤色像素的单元,其中,所述阈值化事件区域是单扫描线、局部扫描线或像素;以及
用于在一个或多个随后的处理级,针对由所述第一处理级指示为包括肤色像素的帧,执行所述标记区域内的图像数据的空间解释和时间解释中的至少一个的单元,
其中,所述阈值化事件区域小于所述标记区域。
25.如权利要求24所述的装置,其中,用于确定的单元响应于所述当前帧不包括肤色像素,停止由随后的级对所述当前帧的进一步处理。
26.如权利要求24所述的装置,其中,所述处理级不处理所述标记区域外部的像素。
27.如权利要求24所述的装置,其中,所述一个或多个随后的处理级包括第二、第三、第四、第五和第六处理级,所述装置进一步包括:
用于在所述第一处理级之前的处理级,确定所述视频流的所述当前帧是否与所述视频流的先前帧充分不同,并且响应于所述当前帧与所述先前帧不充分不同,停止对所述当前帧的进一步处理的单元;
用于在所述第二处理级,接收来自所述当前帧的数据并且使感兴趣像素与不感兴趣像素分离的单元,其中,感兴趣像素由斑块表示,并且不感兴趣像素由非斑块表示;
用于在所述第三处理级,通过将所述斑块数据映射到人手几何特征,执行从所述第二处理级接收到的斑块数据的空间解释的单元;
用于在所述第四处理级,执行从所述第三处理级接收到的斑块数据的时间解释以便识别用户导航姿势的单元;以及
用于以所述用户导航姿势为基础来指导计算系统的单元。
28.如权利要求24所述的装置,其中,所述第一处理级配置为通过对所述阈值化事件区域内的所述视频流的R、G和B像素值进行加和,评估包括在所述阈值化事件区域中的像素,以便确定肤色相对所述标记区域的背景颜色的比率是否已发生了改变。
29.如权利要求24所述的装置,其中,所述第一处理级配置为通过对所述阈值化事件区域内的所述视频流的绿色像素值进行加和,评估包括在所述阈值化事件区域中的像素。
CN201811037818.5A 2013-03-13 2014-03-12 使用肤色检测的视频流的姿势预处理 Active CN109086747B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/801,111 US9292103B2 (en) 2013-03-13 2013-03-13 Gesture pre-processing of video stream using skintone detection
US13/801,111 2013-03-13
CN201410089933.2A CN104050443B (zh) 2013-03-13 2014-03-12 使用肤色检测的视频流的姿势预处理

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201410089933.2A Division CN104050443B (zh) 2013-03-13 2014-03-12 使用肤色检测的视频流的姿势预处理

Publications (2)

Publication Number Publication Date
CN109086747A CN109086747A (zh) 2018-12-25
CN109086747B true CN109086747B (zh) 2023-01-24

Family

ID=51503256

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201410089933.2A Active CN104050443B (zh) 2013-03-13 2014-03-12 使用肤色检测的视频流的姿势预处理
CN201811037818.5A Active CN109086747B (zh) 2013-03-13 2014-03-12 使用肤色检测的视频流的姿势预处理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201410089933.2A Active CN104050443B (zh) 2013-03-13 2014-03-12 使用肤色检测的视频流的姿势预处理

Country Status (3)

Country Link
US (1) US9292103B2 (zh)
CN (2) CN104050443B (zh)
TW (1) TWI525475B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761448B1 (en) 2012-12-13 2014-06-24 Intel Corporation Gesture pre-processing of video stream using a markered region
US9104240B2 (en) 2013-01-09 2015-08-11 Intel Corporation Gesture pre-processing of video stream with hold-off period to reduce platform power
US20140267598A1 (en) * 2013-03-14 2014-09-18 360Brandvision, Inc. Apparatus and method for holographic poster display
US20140365272A1 (en) * 2013-06-07 2014-12-11 Bby Solutions, Inc. Product display with emotion prediction analytics
US9857971B2 (en) * 2013-12-02 2018-01-02 Industrial Technology Research Institute System and method for receiving user input and program storage medium thereof
KR20160014915A (ko) * 2014-07-30 2016-02-12 삼성전자주식회사 디스플레이장치 및 그 제어방법
US9778750B2 (en) * 2014-09-30 2017-10-03 Xerox Corporation Hand-gesture-based region of interest localization
CN107527051B (zh) * 2016-06-21 2020-05-15 四川大学 一种感知图像内容的oled低功耗显示方法
WO2018082498A1 (en) * 2016-11-01 2018-05-11 The Hong Kong University Of Science And Technology Mid-air finger pointing detection for device interaction
CN108230328B (zh) 2016-12-22 2021-10-22 新沂阿凡达智能科技有限公司 获取目标对象的方法、装置和机器人
CN106875399B (zh) * 2017-01-04 2020-02-18 努比亚技术有限公司 一种实现交互式图像分割的方法、装置及终端
US10496879B2 (en) 2017-08-25 2019-12-03 Qualcomm Incorporated Multiple-detection gesture recognition
US10776102B1 (en) 2019-05-10 2020-09-15 Microsoft Technology Licensing, Llc Securing firmware installation on USB input device
CN110532993B (zh) * 2019-09-04 2022-03-08 深圳市捷顺科技实业股份有限公司 一种人脸防伪方法、装置、电子设备及介质
CN110825524B (zh) * 2019-10-31 2022-04-15 Oppo广东移动通信有限公司 应用运行优化控制方法及相关产品
TWI739203B (zh) * 2019-11-08 2021-09-11 大猩猩科技股份有限公司 一種評估影像有效分析區域之方法與系統
CN111062136B (zh) * 2019-12-20 2024-02-09 南京大学 一种实时的衣物形态确定方法及系统
CN113220114B (zh) * 2021-01-22 2023-06-20 华南理工大学 一种融合人脸识别的可嵌入非接触式电梯按键交互方法
CN117974619B (zh) * 2024-02-26 2024-09-17 江西圣杰市政工程有限公司 基于cctv技术的管道非开挖修复过程中缺陷检测方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091302A2 (en) 2001-05-04 2002-11-14 Legend Films, Llc Image sequence enhancement system and method
GB9019538D0 (en) 1990-09-07 1990-10-24 Philips Electronic Associated Tracking a moving object
WO1993007554A1 (en) 1991-10-07 1993-04-15 Eastman Kodak Company A compositer interface for arranging the components of special effects for a motion picture production
US6067125A (en) 1997-05-15 2000-05-23 Minerva Systems Structure and method for film grain noise reduction
US6301370B1 (en) 1998-04-13 2001-10-09 Eyematic Interfaces, Inc. Face recognition from video images
US7027054B1 (en) * 2002-08-14 2006-04-11 Avaworks, Incorporated Do-it-yourself photo realistic talking head creation system and method
US7665041B2 (en) * 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
JP4401727B2 (ja) * 2003-09-30 2010-01-20 キヤノン株式会社 画像表示装置及び方法
JP4227561B2 (ja) * 2004-06-03 2009-02-18 キヤノン株式会社 画像処理方法、画像処理装置
US7436981B2 (en) 2005-01-28 2008-10-14 Euclid Discoveries, Llc Apparatus and method for processing video data
US7796827B2 (en) 2004-11-30 2010-09-14 Hewlett-Packard Development Company, L.P. Face enhancement in a digital video
US8019170B2 (en) 2005-10-05 2011-09-13 Qualcomm, Incorporated Video frame motion-based automatic region-of-interest detection
CN101317185B (zh) * 2005-10-05 2014-03-19 高通股份有限公司 基于视频传感器的自动关注区检测
CN101346990B (zh) 2005-12-28 2011-07-27 富士通株式会社 电视电话功能的拍摄图像处理切换装置
US7634108B2 (en) 2006-02-14 2009-12-15 Microsoft Corp. Automated face enhancement
KR100776801B1 (ko) * 2006-07-19 2007-11-19 한국전자통신연구원 화상 처리 시스템에서의 제스처 인식 장치 및 방법
TWI377055B (en) 2007-08-10 2012-11-21 Ind Tech Res Inst Interactive rehabilitation method and system for upper and lower extremities
WO2009131539A1 (en) 2008-04-22 2009-10-29 Agency For Science, Technology And Research A method and system for detecting and tracking hands in an image
CN101359367B (zh) * 2008-09-11 2010-09-29 西安理工大学 一种基于四边形骨架结构的静态手势特征描述方法
DE102008052928A1 (de) * 2008-10-23 2010-05-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zur Erkennung einer Geste in einem Bild, sowie Vorrichtung, Verfahren und Computerprogramm zur Steuerung eines Geräts
JP5647155B2 (ja) 2009-02-25 2014-12-24 本田技研工業株式会社 内側距離形状関係を使用する身体特徴検出及び人間姿勢推定
CN101551732A (zh) 2009-03-24 2009-10-07 上海水晶石信息技术有限公司 带有交互功能的增强现实的方法及其系统
US8428368B2 (en) 2009-07-31 2013-04-23 Echostar Technologies L.L.C. Systems and methods for hand gesture control of an electronic device
WO2011066343A2 (en) * 2009-11-24 2011-06-03 Next Holdings Limited Methods and apparatus for gesture recognition mode control
US8405736B2 (en) * 2010-04-07 2013-03-26 Apple Inc. Face detection using orientation sensor data
KR101167784B1 (ko) 2010-07-09 2012-07-25 성균관대학교산학협력단 단말기의 후면부 손가락 움직임에 따른 포인터 인식 방법 및 제어 명령어 인식 방법
HK1149884A2 (en) * 2010-08-26 2011-10-14 Shining Union Ltd An optical keypad based on gesture control
US9213890B2 (en) 2010-09-17 2015-12-15 Sony Corporation Gesture recognition system for TV control
CN102081918B (zh) * 2010-09-28 2013-02-20 北京大学深圳研究生院 一种视频图像显示控制方法及视频图像显示器
US8768006B2 (en) * 2010-10-19 2014-07-01 Hewlett-Packard Development Company, L.P. Hand gesture recognition
US8817087B2 (en) * 2010-11-01 2014-08-26 Robert Bosch Gmbh Robust video-based handwriting and gesture recognition for in-car applications
CN103098079A (zh) 2011-04-11 2013-05-08 英特尔公司 个性化节目选择系统和方法
EP2512141B1 (en) 2011-04-15 2019-07-17 Sony Interactive Entertainment Europe Limited System and method of user interaction in augmented reality
CN102169391A (zh) * 2011-05-13 2011-08-31 汉王科技股份有限公司 触摸设备输入装置和输入方法
CN102184021B (zh) 2011-05-27 2013-06-12 华南理工大学 一种基于手写输入和指尖鼠标的电视人机交互方法
CN102509088B (zh) * 2011-11-28 2014-01-08 Tcl集团股份有限公司 一种手部运动检测的方法、装置及人机交互系统
CN102592113B (zh) * 2011-12-23 2014-07-30 哈尔滨工业大学深圳研究生院 一种基于表观特征的静态手势快速识别法
CN102629314A (zh) * 2012-02-17 2012-08-08 华南理工大学 一种基于红外图像的手势识别系统及方法
CN102801924B (zh) * 2012-07-20 2014-12-03 合肥工业大学 一种基于Kinect的电视节目主持互动系统
US8805017B2 (en) * 2012-12-13 2014-08-12 Intel Corporation Gesture pre-processing of video stream to reduce platform power
US8761448B1 (en) 2012-12-13 2014-06-24 Intel Corporation Gesture pre-processing of video stream using a markered region
US9104240B2 (en) 2013-01-09 2015-08-11 Intel Corporation Gesture pre-processing of video stream with hold-off period to reduce platform power
US9129155B2 (en) * 2013-01-30 2015-09-08 Aquifi, Inc. Systems and methods for initializing motion tracking of human hands using template matching within bounded regions determined using a depth map
CN103440035A (zh) * 2013-08-20 2013-12-11 华南理工大学 一种三维空间中的手势识别系统及其识别方法
CN103616954A (zh) * 2013-12-06 2014-03-05 Tcl通讯(宁波)有限公司 一种虚拟键盘系统、实现方法及移动终端

Also Published As

Publication number Publication date
CN104050443A (zh) 2014-09-17
CN104050443B (zh) 2018-10-12
US20140267042A1 (en) 2014-09-18
TWI525475B (zh) 2016-03-11
US9292103B2 (en) 2016-03-22
TW201506684A (zh) 2015-02-16
CN109086747A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
CN109086747B (zh) 使用肤色检测的视频流的姿势预处理
US10261596B2 (en) Gesture pre-processing of video stream using a markered region
US8805017B2 (en) Gesture pre-processing of video stream to reduce platform power
TWI516099B (zh) 用以降低平台電力之帶有延遲期間的視訊串流之手勢前置處理技術
TWI618409B (zh) 視頻中之局部變化偵測技術
US11169614B2 (en) Gesture detection method, gesture processing device, and computer readable storage medium
Teng et al. A hand gesture recognition system based on local linear embedding
US9223415B1 (en) Managing resource usage for task performance
Lee et al. Real time FPGA implementation of hand gesture recognizer system
An et al. Finger gesture estimation for mobile device user interface using a rear-facing camera
Siriborvornratanakul et al. Multiscale visual object detection for unsupervised ubiquitous projection based on a portable projector-camera system
Brown et al. Faster upper body pose estimation and recognition using cuda
Fan et al. Three Dimensional Gestures Interface Based on Complex Background for Intelligent Internet Systems
Mohammad CSE434 & ETE434: Project
Ungurean Processing image system for user head movement recognition

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20221020

Address after: Irish Dublin

Applicant after: Taihao Research Co.,Ltd.

Address before: California, USA

Applicant before: INTEL Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant