CN104937635B - 基于模型的多假设目标追踪器 - Google Patents
基于模型的多假设目标追踪器 Download PDFInfo
- Publication number
- CN104937635B CN104937635B CN201480004938.9A CN201480004938A CN104937635B CN 104937635 B CN104937635 B CN 104937635B CN 201480004938 A CN201480004938 A CN 201480004938A CN 104937635 B CN104937635 B CN 104937635B
- Authority
- CN
- China
- Prior art keywords
- depth image
- hand
- target
- depth
- sequence
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/28—Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/772—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
本公开描述一种目标追踪器,其评估由深度相机所获取的一个或多个目标(诸如身体部分、身体和/或对象)的数据的帧。之前帧中的(多个)目标的关节的位置以及来自当前帧的数据被用于确定当前帧中的(多个)目标的关节的位置。为了执行该任务,追踪器提出若干假设并且然后评估数据以验证相应假设。最佳适配由深度相机生成的数据的假设被选择,并且相应地映射(多个)目标的关节。
Description
背景技术
在很大程度上,人类与诸如计算机、平板和移动电话之类的电子设备的交互要求物理地操纵控件、按压按钮或触摸屏幕。例如,用户经由诸如键盘和鼠标之类的输入设备与计算机交互。尽管键盘和鼠标对于诸如录入文本和滚动文档之类的功能是有效的,但是它们对于用户可能与电子设备交互的许多其它方式并不是有效的。握持鼠标的用户的手被约束到仅沿着平坦的二维(2D)表面移动,并且利用鼠标通过三维虚拟空间的导航是笨拙且非直观的。类似地,触摸屏的平坦接口不允许用户传达任何深度概念。这些设备将整个范围的可能手部和手指移动约束到合乎技术约束的二维移动的有限子集。
与电子设备交互的更自然且直观的方式是通过在用户与设备之间的空间中自由地移动手部和手指。为了实现这种交互,必要的是实时鲁棒地且精确地追踪用户手部及其手指的关节联接的配置。
附图说明
图1是图示了在其中定位两个相机以观看区域的示例环境的图。
图2是图示了在其中使用多个相机以捕获用户交互的示例环境的图。
图3是图示了在其中使用多个相机以捕获多个用户进行的交互的示例环境的图。
图4是图示了通过追踪用户手部和/或手指控制远程设备的示意图。
图5是图示了其中用户可以使用手部姿势与机动车控制台交互的示例环境的图。
图6A-6F示出了可以被追踪的手部姿势的示例的图形图示。图6A示出了手指展开的朝上敞开的手部;图6B示出了食指平行于拇指向外指向并且其它手指被拉向手掌的手部;图6C示出了拇指和中指形成圆、其它手指向外伸展的手部;图6D示出了拇指和食指形成圆且其它手指向外伸展的手部;图6E示出了手指触摸且向上指向的敞开手部;并且图6F示出了食指和中指展开并向上指向,无名指和小拇指朝向手掌弯曲并且拇指触摸无名指。
图7A-7D示出了可以被追踪的手部姿势的示例的附加图形图示。图7A示出了动态波状姿势;图7B示出了松散闭合的手部姿势;图7C示出了拇指和食指触摸的手部姿势;并且图7D示出了动态挥击姿势。
图8是手部追踪系统的示例组件以及各组件之中的信息流的框图。
图9示出了所获取的深度图以及从深度图分割出的手部的示例。
图10是图示了示例分割过程的流程图。
图11示出了结皮手部骨骼模型的示例。
图12是图示了骨骼模型的示例校准过程的流程图。
图13示出了具有可见阴影效果的深度图像的示例。
图14是图示了示例追踪过程的流程图。
图15是图示了示例轮廓匹配过程的流程图。
图16示出了用于追踪器模块的示例性架构。
图17是示出了根据本公开的实施例的可以用于实现追踪技术的处理系统的架构的示例的框图。
具体实施方式
描述了用于实时追踪用户手部和手指的系统和方法。方法处理由深度相机获取并以高交互帧速率捕获的深度数据,并且实现专用算法,其针对数据的每一个帧计算手部配置和手指关节联接(“手部姿态”)。一旦计算了用户手部的移动和配置,它们就可以用于控制设备,要么是通过将用户移动的位置映射到显示屏,要么是通过将移动解释为由用户执行的具体姿势。具体地,用户手部和手指可以以一些表示可视化在屏幕上,诸如鼠标光标,并且用户手部和手指的这种表示可以被操纵以与同样显示在屏幕上的其它可视对象交互。美国专利申请号13/676,017,“System and Method for User Interaction and Controlof Electronic Devices”以及美国专利申请号13/532,609,“System and Method forClose-Range Movement Tracking”描述了这样的交互,并且特此以其整体将其并入。
现在将描述本发明的各个方面和示例。以下描述提供用于透彻理解和实现这些示例的描述的具体细节。然而,本领域技术人员将理解到,本发明可以在没有这些细节中的许多的情况下实践。附加地,可能没有详细描述或示出一些众所周知的结构或功能,以免不必要地模糊相关描述。
在以下所呈现的描述中使用的术语旨在以其最宽的合理方式进行解释,尽管其是与技术的某些具体示例的详细描述结合使用的。某些术语甚至可以在下文强调;然而,旨在以任何受约束的方式解释的任何术语将公开地且具体地如该详细描述部分中这样进行限定。
深度相机以每秒多个帧捕获深度图像——一般是连续深度图像的序列。每一个深度图像包含每像素深度数据,也就是说,图像中的每一个像素具有表示所成像的场景中的对象的对应区域与相机之间的距离的值。深度相机有时被称为三维(3D)相机。深度相机可以包含深度图像传感器、光学透镜和光照源、以及其它组件。深度图像传感器可以依赖于若干不同传感器技术中的一个。在这些传感器技术中有称为“TOF”的飞行时间(time-of-flight)(包括扫描TOF或阵列TOF)、结构化光、激光闪烁图案技术、立体相机、主动式立体相机、来自聚焦技术的深度、以及来自阴影技术的深度。这些技术中的大多数在它们供应其自身的光照源的方面而言依赖于主动式传感器。相比而言,诸如立体相机之类的被动式传感器技术不供应其自身的光照源,而是相反取决于周围环境照明。除深度数据之外,相机还可以以与常规彩色相机所用相同的方式生成颜色数据,并且颜色数据可以与深度数据相组合以用于处理。
由深度相机生成的数据具有由常规二维2D相机所生成的若干优势。具体地,深度数据大大简化从前景中的对象分割出背景的问题,对于照明状况中的改变一般是鲁棒的,并且可以有效地用于解释遮蔽。使用深度相机,可能实时标识和追踪用户手部及其手指二者。
2012年4月6日提交的标题为“System and Method for Enhanced ObjectTracking”的美国专利申请号13/441,271描述了一种使用来自飞行时间(TOF)相机的深度数据和幅度数据的组合标识并追踪用户的(多个)身体部分的方法,并且特此以其整体将其并入本公开中。
出于本公开的目的,术语“姿势识别”是指用于标识由用户执行的具体移动或姿态配置的方法。例如,姿势识别可以是指标识手部在具体方向上以特定速度的挥击、手指在触摸屏上追踪具体形状、或者手部的挥动。姿势识别通过首先追踪深度数据并且标识例如用户手部和手指的特征(诸如关节),并且然后随后分析该追踪数据以标识由用户执行的姿势来完成。
在本公开中描述的方法计算用户手部的关节的3D位置和旋转。该数据随后可以由姿势识别组件处理,该组件决定用户是否已经执行具体姿势。不管是通过所追踪的关节位置还是具体姿势的检测,对用户手部配置的知识可以用于激励自然、直观的用户交互范例。
例如,用户的自然、不受约束的手部和手指移动可以用于控制虚拟环境。这样的用户交互机制相比诸如鼠标和键盘和触摸屏之类的电子设备的用户交互和控制的标准方法而言存在若干优势。首先,用户不必延伸他的手臂以触摸屏幕,这可能引起疲劳并且还阻挡他对屏幕的观看。其次,3D空间中的移动提供更多自由度。再次,取决于相机的视场,相比仅仅屏幕本身,用户可以具有在其中四周移动的更大交互区域。
例如,用户可以朝向监视显示器的中心挥击他的手部以带出菜单。随后,他可以使用手指选择菜单上的项目并且利用他的手指挥击以启动项目。可替换地,在另一方向上的相反挥击可以关闭菜单。在另一示例中,用户可以通过利用他的手指指向监视显示器上的图标或其它对象而选择它,并且通过将他的手指指向显示器的不同区而在监控器四周移动它。他随后可以通过敞开他的手部而启动由图标表示的应用。类似地,用户可以选择显示屏本身,而不是图标或对象。在该情形中,手部或手指的移动可以被映射到显示屏的滚动。可替换地,他可以闭合他的手部,并且因而关闭应用。在另一示例中,用户可以选择监视显示器上的对象并且通过将他的手部的旋转映射到对象来使它沿着一个或多个轴旋转。此外,用户可以以这样的方式同时旋转两个对象,利用每一个手旋转一个对象。我们已经呈现可以利用本公开中所描述的解决方案实现的用户交互的若干示例。然而,存在许多更多的这样的交互,并且这些示例根本不应当理解为是约束性的。
图1是用户以紧密范围与两个监视器交互的图。在一个应用中,可以存在两个监视器中的每一个上的深度相机。在另一应用中,可以是仅单个监视器具有深度相机。用户能够通过移动他的手部和手指与屏幕交互。深度相机捕获他的移动的实况视频,并且应用如本公开中所描述的算法以解释移动并且理解用户的意图。然后将某种形式的反馈显示在屏幕上。
图2是本公开的另一应用的图。在该应用中,独立设备可以包含定位在设备周界四周的单个深度相机或多个深度相机。个体可以经由其手部和手指的移动与其环境交互。移动由相机检测并且由追踪算法解释。
图3是本公开的另外的应用的图,其中多个用户同时与设计为安装件的部分的应用交互。同样在该实施例中,用户手部和手指的移动经由捕获其移动的实况视频的深度相机控制其虚拟环境。追踪算法解释视频以标识其移动。
图4是本公开的再一应用的图,其中用户410移动他的手部和手指430同时持握包含深度相机的手持式设备420。深度相机捕获移动的实况视频,并且追踪算法在视频上运行以解释他的移动。另外的处理将用户手部和/或手指移动翻译成姿势,所述姿势用于控制用户前面的大屏幕440。
图5是本公开的再一应用的图,其中机动车的驾驶员47经由嵌入在汽车控制台中的深度相机48与车内显示器交互。驾驶员(或乘客)可以利用他的手部执行姿势,所述姿势由实现本公开的算法识别,并且根据由用户执行的特定姿势或移动,可以在显示屏上显示反馈。
图6是可以由本公开中所描述的追踪算法检测的若干示例姿势的图。图7A-7D是可以由本公开中所描述的追踪算法检测的四个附加示例姿势的图。图中的箭头是指手指和手部的移动,其中移动限定特定姿势。姿势的这些示例不意为约束性的。还可以由追踪算法检测许多其它类型的移动和姿势。
本公开中所描述的追踪器是整个手部追踪解决方案的部分。图8示出了整个手部追踪系统的示例组件以及系统的组件之中的示例信息流。由诸如深度相机或深度传感器之类的深度图像获取模块110生成深度图像的序列。在该阶段也可以获取附加类型的图像数据,包括RGB(红色、绿色、蓝色)数据和/或红外(IR)数据。最初,处理每一个深度图像映射并且由分割模块120从图像的其余部分分割出和分离出用户的手部。
图9显示了两个样本图像。左边的图像是从深度相机所获得的原始深度图像。图像中的不同灰色阴影指示深度像素的不同值。在该示例中,较亮阴影的像素对应于更远离相机的对象。右边的图像显示从图像的其余部分分割出的手部。在分割模块120中,出现在深度图像中的每一个手部从背景分割出。具体地,如果存在出现于深度图像中的多个手部,则每一个手部从背景分割出,并且从彼此分割出。
分割模块120的结果被转移到追踪模块130。在本公开中详细描述的追踪模块130使用3D手部骨骼模型来针对用户手部的配置构建多个假设,并且然后对照从深度图像获取模块110获得的数据来测试这些假设。随后,追踪模块130的结果可以由姿势识别模块140使用,姿势识别模块140依赖于关节在连续帧之上的位置和旋转来确定用户是否已经执行某些姿势。美国专利号7,970,176“Method and System for Gesture Classification”以及美国专利申请号12/707,340“Method and System for Gesture Recognition”公开了用于基于深度相机的姿势识别的方法,并且特此以其整体将其并入。姿势识别模块140的结果和追踪模块130的结果二者可以由交互式应用或游戏150使用,交互式应用或游戏150基于这些结果显示上下文反馈并且提示用户。
如本文所使用的,“模块”包括通用、专用或共享的处理器,并且典型地包括由处理器执行的固件或软件模块。取决于特定于实现方式或其它的考虑,模块可以是集中式的或者其功能性是分布式的。模块可以包括嵌入在计算机可读(存储)介质中以用于由处理器执行的通用或专用硬件、固件或软件。如本文所使用的,计算机可读介质或计算机存储介质旨在包括所有法定介质(例如在美国是35 U.S.C 101之下),并且在排除对于包括有效的计算机可读(存储)介质的权利要求是必要的程度上特别排除在本质上非法定的所有介质。已知的法定计算机可读介质包括硬件(例如寄存器、随机存取存储器(RAM)、非易失性(NV)存储设备,其仅为示例),但是可以或者可以不限于硬件。
图10是在由深度相机捕获的连续深度图像上执行分割的示例方法的流程图。在阶段310处,由诸如深度相机之类的深度图像捕获模块110捕获的每一个图像被单独地转移到追踪器处理算法。
在决定阶段320,追踪器模块130确定图像数据的之前帧中的手部的位置是否已知。如果之前帧中的手部的位置不已知(320——否),则在阶段340处,深度图像被处理以搜索一个或多个手部。可以使用各种技术来完成该任务。一些非限制性示例包括基于模板匹配和Haar状特征的分类器(以及作为扩展,级联分类器)。可替换地,实现方式可以使用手部的显式特征,诸如个体手指的形状,并且然后组合多个个体的特征以识别图像中的手部。通常,在该阶段有利的是将深度图像数据与RGB数据或IR数据或幅度数据组合,如果它们可用的话。美国专利申请号13/441,271“System and Method for Enhanced Object Tracking”描述了用于组合深度数据与幅度数据以用于这种类型的处理的技术,并且特此以其整体将其并入。
在决定阶段350处,追踪器模块确定在当前帧中是否发现任何手部。如果发现一个或多个手部(350——是),则在阶段360处,执行深度图像像素的阈值化以分割出(多个)所标识的手部,如下文更全面地描述的。如果没有发现手部(350——否),则过程返回到阶段310,其中系统等待来自相机的下一深度图像。
返回到阶段320,如果之前帧中的手部的位置已知(320——是),则在阶段330处,基于之前的位置在当前帧中追踪手部。存在可以实现以追踪手部的各种方法。例如,可以通过匹配之前帧中的手部上的特征,并且在之前帧中的手部的位置四周的区中搜索当前帧中的手部中的相同特征来执行追踪。可以使用诸如尺度不变特征变换(SIFT)和加速鲁棒特征(SALT)或其它变型之类的方法来在该情形中标识和追踪特征。可替换地,也可以使用均值漂移追踪或类似地整体追踪。
不管是因为在阶段330处从之前帧中的已知位置对其追踪还是因为在阶段340处最初对其进行检测而确定手部的位置,在阶段360处都处理深度图像以摒弃手部的三维体积外部的所有像素。这可以通过计算手部的边界框并且利用简单阈值化操作摒弃落在该边界框外部的所有像素来完成。与深度图像中的每一个手部相关联的深度像素的所标识的分组是由分割模块120执行的分割过程300的输出。过程然后返回到阶段310以处理由相机捕获的下一图像。
已经在上文讨论了用于从图像背景分割出深度图像的序列中的每一个手部的一种技术。还可以由分割模块120使用其它技术以从背景分割出(多个)手部。甚至可以手动地标出手部的边界以产生输出。对于该公开的其余部分,假定用户的手部从深度图像的背景正确地分割出。由分割模块120执行的分割过程300的输出是对应于用户手部的像素的分组并且在本文中被称为“手部团点”。
本公开利用手部的结皮骨骼模型。模型包括手部模型的骨骼和网格(“皮肤”)。图11示出结皮手部骨骼模型的示例。手部骨骼模型是分层图,其中图的节点表示骨骼关节,并且边对应于骨骼的骨头。骨骼的每一个骨头具有固定长度并且通过关节连接到其它骨头,并且允许每一个关节在三维中旋转。骨骼模型因而是可配置的并且能够再现人类手部的移动。此外,可以对骨骼关节的旋转强加约束,以将骨骼的移动约束到人类手部的自然移动。
除骨骼之外,模型还包含网格,其是顶点与相关联的边的几何结构,被约束以基于骨骼关节的移动而移动。在一些实施例中,该网格可以包括多边形。在一些实施例中,网格的个体手指可以包括从多边形建模的柱形和球形。然而,基于柱形的模型仅提供对人类手部的实际形状的粗糙近似。在一些实施例中,放松该条件使得3D模型几何结构更紧密地类似于人类手部的几何结构。图11是多边形手部网格的示例,具有覆盖的骨骼模型。
网格的几何结构是“结皮”的,使得网格顶点的移动由相关联的关节控制。存在使3D模型的骨骼结皮的不同方式。在一些实施例中,网格的每一个顶点可以被映射到单个关节。在一些实施例中,采用线性弯曲(或“平缓”)结皮技术,其中网格顶点与多个关节相关联,并且使用权重表示每一个关节对顶点的影响的量。顶点vi在姿态p中的位置由以下给定:
其中顶点v取决于n个关节,是顶点上的每一个关节i的权重,是顶点v的结合姿态位置,是用于关节i的局部关节坐标系统的变换矩阵,并且是用于姿态p中的第i'个关节的转换矩阵(在世界坐标中)。
在追踪组件130中使用骨骼模型之前,应当针对用户的(多个)手部的具体比例对其进行校准。在校准阶段中,调节骨骼的骨头的长度,使得骨骼适于用户手部的数据。在骨骼校准阶段期间,存在两个目标。第一个是调节骨骼参数使得它们适于用户的手部。第二个是精确地计算手部关节的3D位置。一般而言,这两个目标可以同时满足。然而,即便所计算的校准不准确,其对于算法的目的而言也可能是足够的,因为骨骼的骨头的长度可以在算法的随后阶段调节。
图12是图示了由追踪器模块130执行的骨骼模型的示例校准过程的流程图。在阶段510处,获取深度图像,并且在阶段520处,从图像的其余部分分割出对应于手部的像素的分组(“手部团点”)。
然后在决定阶段530处,追踪组件530确定是否针对用户手部校准了骨骼。如果未校准骨骼(530——否),则在阶段540处执行骨骼模型的校准。在一些实施例中,可以显式地提示用户以手指展开的方式将其敞开手部放置于深度相机前面持续至少一个帧,因此可以覆盖骨骼并且针对用户手部的形状和尺寸调节模型参数。在一些实施例中,从深度图像标识手部的特征,并且迭代地调节骨骼模型直到其最佳匹配从深度相机所获得的数据。RGB和IR图像可以与深度图像结合地使用以检测特征。在这两个情形中,手部和手指的姿态,即骨骼关节的关节联接,也被计算为阶段540处的校准阶段的部分。过程返回到阶段510以用于获取附加的深度图像。
如果已经校准手部(530——是),则在阶段550处,通过基于以下三个输入计算手部的姿态来执行骨骼追踪:之前帧中的手部的姿态,如由针对之前帧所导出的3D手部骨骼模型提供的;经校准的骨骼模型;以及当前帧中的手部团点。对于当前帧而言,骨骼追踪过程的输出是3D手部骨骼模型,以及因而是完整的手部姿态。以上所讨论的实施例描述使用仅单个帧的骨骼校准。在一些实施例中,通过针对每一个连续帧而基于在该帧处所检测的特征调节模型参数,骨骼校准发生在多个帧之上。
作为手部追踪过程的部分,追踪器模块130开发多个基于模型的假设。分析来自相机的图像以检测特征。然而,被检测的特征可能是非准确的,或者手部的部分可能被遮蔽(在该情形中,特征是不可访问的)。追踪器模块130形成若干假设以基于从图像所获得的部分数据从之前帧潜在地追踪手部关节的位置,并且然后对照图像数据测试这些假设。为了高效地测试不同假设,追踪器模块130向深度数据连续地应用骨骼模型的更精细近似。最初,计算之前和当前帧之间的刚性变换的粗糙近似。随后,这种刚性变换可以被细化以改进近似。在计算刚性变换之后,计算手指的关节联接的粗糙近似。最后,可以细化手指的关节联接以增加近似的准确度。
图14是如由追踪器模块130所执行的基于模型的多假设手部追踪过程的流程图。语义指向(semantic point)是对应于手部或手指的已知特征的图像中的点。语义指向的示例是对应于手指的具体特征的像素,诸如指尖。在阶段610处,追踪器模块130使用图像处理技术计算深度图像的当前帧中的语义指向。可以使用能够从图像标识手部的区的任何技术。此外,这些特征可以从深度图像或从RGB图像或从IR图像或从其任何组合提取。
在一些实施例中,检测对应于手指的中心轴的边并且使用其以通过粗糙地适配包括多达三个分割的分段连续线而对个体手指进行近似,其中三个分割对应于手指的三个骨头。在一些实施例中,在深度图像手部团点中检测局部最大值并且将其用作指示指尖位置的语义指向。局部最大值是其中周围像素具有相比区的中心更远离相机的值的深度图像的区。局部最大值对应于例如指示指向相机的指尖的特征,因为手指周界处的像素更远离相机,即它们具有均匀地更高深度值。
一旦提取特征,它们就应当与手部的具体区相关联或“被标记”。例如,被标识为指尖的点应当被标记为具体手指——食指、拇指的指尖等。在本公开的一些实施例中,使用机器学习算法来将所检测到的图像特征标记为手部的具体部分。
在一些实施例中,用于标记算法的训练数据包括用户手部的深度图像的大集合。在所有图像中手动地标记出图像的语义特征——关节、指尖等。将语义特征检测算法应用于训练图像的该集合,并且由算法检测的特征与来自训练集合的所标记的语义特征进行匹配。该过程产生与所检测到的语义特征相关联的标记的数据库。随后,创建特征矢量并且将其与每一个手指相关联。特征矢量可以包含信息,诸如帧中所检测到的手指的数目、指向相同方向的手指的数目、指向相反方向的手指的数目、以顺时针顺序或逆时针顺序垂直的手指的数目、手指长度或宽度、以及手掌半径。受监督的学习算法然后被应用于训练数据集以生成分类器,其能够基于所检测到的特征以及从它们和图像数据所构建的特征矢量来对个体手指进行标记。
在阶段610处所计算的语义指向是当前图像手部团点数据中的位置以及其相关联的语义标记的集合。
附加地,手部团点数据中的语义指向可以通过将当前帧的手部团点的轮廓与之前帧的手部团点的轮廓进行匹配来生成。在阶段620处,针对每一个帧计算手部团点的轮廓,并且将其与来自之前帧的手部团点的轮廓进行匹配。轮廓是手部的外形,也就是说手部边界上的像素。因为轮廓是像素的集合,所以其可以在二维或三维中限定,这取决于是仅使用像素的空间(x,y)坐标,还是也使用深度(z)值。在该上下文中,仅使用2D轮廓。存在用于匹配两个轮廓的标准技术,可以使用其中任一个或组合,以确定它们是匹配两个轮廓中的所有像素,还是仅匹配轮廓像素的子集。
在最简单的情形中,之前和当前帧的手部团点的极端处的像素匹配。例如,来自之前帧的手部团点的最左侧像素与来自当前帧的手部团点的最左侧像素匹配;来自之前帧的手部团点的最右侧像素与来自当前帧的手部团点的最右侧像素匹配等。可替换地,之前帧的手部团点的轮廓上的每一个像素与当前帧的手部团点的轮廓上的像素匹配,如下文所描述的。
可以在齐次坐标中将2D点,即提供图像中的像素的空间位置(x,y坐标)的点,写为具有三个元素(其中第三元素为1)的列矢量。然后可以将旋转和平移2D点的操作表示为2*3矩阵。在二维中执行轮廓匹配,其中2D轮廓与连续帧中的2D轮廓匹配。图15是图示了用于阶段620的团点轮廓匹配的示例过程的流程图。
在阶段710处,计算之前帧的手部团点与当前帧的手部团点之间的匹配点对。这些最初匹配点可以基于几何考虑来选择,诸如每一个团点中的最左侧点、每一个团点中的最右侧点等。随后,在阶段720处计算连续帧中的手部团点之间的2D刚性变换。2D刚性变换将第一帧中的每一个像素的x,y坐标映射到第二帧中的另一像素的x,y坐标。
然后在阶段730处,如果点的3D位置在两个帧中落入彼此的阈值内,则匹配之前帧的经变换的团点轮廓上的点与当前帧的轮廓上的那些点。一般而言,在该阶段匹配大多数点。然而,可能存在具有未匹配的点的大连续集合的轮廓的部段。这些未匹配的部段在阶段740处在来自之前帧的经变换的团点和当前帧的团点二者中标识,并且然后在阶段750处轮廓的每一个部段上的点基于其排序而匹配。具体地,第一帧的未匹配的部段中的第一点与第二帧的未匹配的部段中的第一点匹配,第一帧的未匹配的部段中的第二点与第二帧的未匹配的部段中的第二点匹配等。返回到图14,之前帧的手部团点的轮廓与当前帧的手部团点的轮廓之间的匹配同样得出语义指向。因为假定之前帧的精确手臂姿态——以及因而个体关节的位置——是已知的,所以可以以与针对之前帧所计算的距轮廓像素的相对距离相同的相对距离将关节放置在当前帧的手部团点中。
基于阶段610和620的结果,在阶段630处计算匹配语义指向的许多候选对,其中对应对的实际数目取决于阶段610和620的结果(以及一般地,所追踪的手部的具体配置)。
可以在齐次坐标中将三维点表示为长度为四的列矢量,其中前三个元素为x,y和z分量,并且第四个元素为1。3D点的变换是所述点到另一3D位置的映射。在概念上,变换类似于将3D点平移和/或旋转到新的位置,并且其可以在齐次坐标中表示为3*4矩阵。在本公开中,术语“刚性变换”是指应用于对应于单个帧中的手部团点的所有点的3D位置的单个变换。一旦在阶段630处计算了之前帧与当前帧之间的对应点,则目标是找到最佳地解释手部团点从之前帧到当前帧的变换的3D刚性变换。
在上文针对轮廓匹配过程执行2D刚性变换,其中试图匹配成功帧中的像素的2D位置。一旦已经确定由2D变换生成的像素之间的匹配,则下一步骤是找到最佳地适配像素之间的匹配的3D变换(即帧之间的像素的移动)。3D变换在集合中的像素的小分组的独立移动被忽略的意义上是“刚性”的。另外,假定利用单个变换的整个像素集合的移动可以很好地充分解释,即像素集合全部一起移动,这一般不是真的但是对于移动小时的首先近似而言是足够的。在两个阶段中计算3D刚性变换。
首先,在阶段640处对对应点的集合进行采样以得出对应点的三元组,也就是说三对匹配点。对应点的三元组对于计算手部团点从之前帧到当前帧的3D刚性变换是足够的。一般而言,在之前步骤中所计算的对应点的集合包含远多于三对匹配点,因此可以生成许多候选刚性变换或假设。将每一个候选刚性变换(假设)应用于来自之前帧的手部骨骼模型。然后,渲染该模型以产生深度图。这种经渲染的深度图与由深度相机生成的深度图之间的相似性指示正被测试的假设的有效性。然而,由深度相机生成的数据典型地是有噪声的,并且还可能包含数据的系统性失真。为了测量所生成的经渲染的模型与由深度相机生成的数据之间的相似性,使用目标函数,其被设计为最小化相机数据中的系统性误差,并且强调数据的可靠方面。选择得出目标函数的最小值的变换。
一般而言,目标函数应当测量经合成的图像与手部团点的深度数据之间的相似性。可以使用测量该差异的任何函数。在本公开的一些实施例中,目标函数包括测量相机的图像中的经分割出的手部与经合成的图像之间的重叠区的大小的分量。在一些实施例中,目标函数还包括计算经渲染的手部骨骼模型到当前帧中的手部团点数据的适配的分量。适配是指经合成的图像,即经渲染的结皮手部骨骼与相机数据有多精确地匹配。在一些实施例中,目标函数还包括测量经渲染的手部骨骼模型的轮廓与当前帧中的手部团点数据的轮廓之间的距离的分量。在一些实施例中,目标函数还包括测量关节随时间的移动的平缓度的分量。
如果是对应于当前图像中的手部团点的像素的分组,并且是通过渲染结皮手部骨骼模型而生成的合成手部团点,则目标函数可以以下列形式表述为离散度量之和:
其中对于,是离散度量的权重,并且对于,是表示合成数据与来自相机的数据之间的差异的度量。在本公开的一些实施例中,是合成图像与相机图像之间的重叠区的大小,测量经渲染的手部模型到手部团点数据的适配,测量经渲染的手部模型的轮廓到手部团点数据之间的距离,并且测量关节随时间的移动的平缓度。得出目标函数的最小值的假设将被选择为最紧密地适配由相机捕获的数据的手部姿势的计算。
这样,选择如由目标函数所确定的经渲染的合成数据与相机深度数据之间的最佳匹配。然而,由于由相机设计所引起的系统性误差,相机数据的准确度可能降级。例如,包括结构化光和主动式立体技术的基于三角测量的解决方案产生具有对相机的传感器和相机的投影仪二者均不可见的对象的区上的阴影的深度图像。因而,存在场景中的对象的被遮蔽区上的丢失数据。这样的伪影的效果是对应于被遮蔽的对象上的丢失数据的图像中的阴影状区,其具有与前景对象相同的一般形状。尽管阴影效果是基于三角测量系统的特性,但是该效果也可能发生在基于TOF或其它深度计算的技术中,尤其是光照源距传感器相对远的情况下。图13是两个手部朝向深度相机敞开的用户的深度图像的示例。因为较接近相机的左手遮蔽更远离相机的右手,所以存在右手上可见的阴影效果582。类似地,还存在用户身体上的阴影效果584,其由右手的遮蔽引起。
在一些实施例中,在合成深度图像的渲染中对阴影效果进行建模,其中结果是经渲染的(合成)深度图像还包含这些阴影效果,并且因此更紧密地类似于每一个帧处的相机数据。具体地,利用光照源渲染合成手部骨骼模型,该光照源距虚拟相机设置在与深度相机投影仪相对于深度相机的图像传感器所定位的相同的相对位置处。最初,光照源被投影到包含一个或多个手部骨骼模型的场景上,并且随后仅渲染被充分光照的(多个)手部骨骼模型的那些区,以生成合成深度图像。使用用于对阴影效果进行建模的该技术,本公开中所描述的方法能够精确地追踪手部配置,即使是存在这样的阴影效果的情况下也是如此。
返回到图14,在阶段650处,所选刚性变换的参数随机抖动,其目标是改进刚性变换的准确度。如计算机图形领域中众所周知的,在三维中,变换矩阵是旋转矩阵与平移矢量的矩阵乘积的结果,其得出具有12个值的3*4矩阵。因而,变换矩阵的12个值随机抖动以试图改进变换矩阵的准确度。对于应用于手部骨骼模型并被渲染的变换参数的这些随机变化中的每一个,评估目标函数并且再次选择得出目标函数的最小值的变换。
在该点处,假定已经计算描述手部从之前帧到当前帧的全局平移和旋转的单个刚性变换。当应用于之前帧的手部骨骼时,该刚性变换应当得出对当前帧中的手部姿态的良好初始近似。然而,这可能不是最终的刚性变换,因为刚性变换的参数可能在算法的随后阶段处被调节。尽管具有该可能性,但是现在关注点转移到手指关节联接的计算,也就是说手指的关节的局部旋转。为了计算这些手指关节联接,再次使用之前帧与当前帧之间的对应点。此外,刚性变换的计算提供用于计算图像中的语义指向的附加方法,如下文所描述的。
为了计算手指关节联接,追踪器模块130再次提出不同假设以解释如在深度图像数据中所表示的手部配置,并且然后对照图像数据测试不同假设。假设采取候选关节位置的集合的形式。这些候选关节位置中的一些从在阶段610处所检测的语义指向和在阶段620处匹配的轮廓取得。
此外,一旦已经计算最初刚性变换,其被应用于来自之前帧的手部骨骼模型,并且所得配置被渲染为深度图。要么在阶段610处所执行的语义指向检测中要么在阶段620处所执行的轮廓匹配中所计算的语义指向中的一些可能尚未接收标记。如果这些语义指向中的任何语义指向处于经渲染、经变换的手部模型中的关节位置的预限定半径内,则这些点还在阶段660处被指定为候选关节位置或语义指向。
在阶段670处通过将移动模型应用于之前帧的集合中的每一个关节的最后已知位置而获得候选关节位置的另外的源。在一些实施例中,移动模型可以是之前帧的集合中的3D位置的简单线性函数。在一些实施例中,移动模型可以是更高阶的多项式函数,或样条函数,或其它函数。基于之前帧的集合中的其已知位置,将移动模型应用于每一个关节,并且将由移动模型生成的关节位置添加到候选关节位置的集合。
作为总结,本公开的一些实施例组装来自四个源的候选关节位置的列表:在当前帧的团点上所检测到的语义指向,与之前帧中的已知位置匹配的点,要渲染的紧密附近的语义指向,之前帧的经变换的骨骼(使用在阶段650处所计算的刚性变换)以及从个体关节移动模型所获得的点。也可以使用得出用于手部的关节的候选关节位置的任何其它方法。一旦已经组装候选关节位置的列表,则在阶段680处从较大集合对整个手部骨骼的可能关节配置的子集进行采样。对于每一个所采样的子集,计算整个手部骨骼的配置并且渲染深度图像。目标函数然后用于测试不同假设,并且选择最小化目标函数的值的关节位置的集合。
本公开的关键方面是使用语义指向来计算之前与当前帧之间的对应特征。对语义信息的依赖性加速算法到正确手部配置的收敛,并且通过使所计算的手部配置与从每一个帧的相机数据所提取的特征匹配而强加一致性约束。这样,本公开有效地将初始化阶段合并入常规追踪组件,从而使所计算的手部配置与在每一个帧处所提取的数据匹配。将隐式的初始化并入追踪组件的益处在于,其缓解了对显式的初始化的需要,并且防止这样的追踪器的误差漂移特性,所述误差漂移特性由多个连续帧之上的单个帧误差的累积效果引起。
以与阶段650处所执行的刚性变换细化使用的方式类似的方式,在阶段680处所计算的每一个关节的3D位置以及刚性变换的参数可以随机地抖动,并且新位置也可以利用目标函数类似地评估,以在阶段690处找到关节位置的最佳值。最后,从关节的位置生成所得手部骨骼模型姿态,并且其为追踪器模块130的输出。
在一些实施例中,每个关节应用梯度下降算法以找到目标函数的最小值,并且由此进一步改进估计的准确度。类似地,可以使用其它基于梯度的方法以找到目标函数的最小值。
图16是图示了可以分布在不同处理器架构之上以最大化性能的追踪器模块130的示例组件的图。在假设的评估中执行的计算(包括用于不同假设的目标函数的计算)获益于标准流处理范例,诸如图形处理单元(GPU)。具体地,需要将手部骨骼模型的许多配置渲染为深度图,并且然后对照由深度相机捕获的手部团点数据以像素方式对其进行评估。这两个函数由GPU的高度并行架构很好地供给。因此,一旦在中央处理单元(CPU)上计算了候选手部模型配置810,则模型就在GPU上渲染820,并且然后还在GPU上对目标函数进行评估830。目标函数评估的结果被转移回到CPU,其中选择得出目标函数的最小值的配置840。
本公开中所描述的技术可以类似地应用于其中存在同时出现于所捕获的数据流中的多个手部的情形中。甚至更一般地,上文所描述的技术适用于追踪一个或多个人或动物的(多个)任何其它身体部分和/或整个身体的移动。在这些情形中的每一个中,使用用于每一个所追踪的身体或身体部分的适当骨骼模型。这些技术甚至可以适用于追踪对象的移动,其中对象或对象的部分的移动范围是已知的使得对于每一个对象可以生成等同的“骨骼”模型。
图17是示出了可以用于实现本文所描述的技术的系统1700的架构的示例的框图。在图17中,系统1700包括经由互连1330连接的一个或多个处理器1310和存储器1320。互连1330是表示任何一个或多个分离的物理总线、点对点连接、或二者通过适当桥接、适配器或控制器连接的抽象。互连1330因此可以包括例如系统总线、外围组件互连(PCI)总线、超级传输或工业标准架构(ISA)总线、小计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(I2C)总线、或者电气与电子工程师协会(IEEE)标准694总线(有时被称为“火线”)。
(多个)处理器1310可以包括中央处理单元(CPU)和图形处理单元(GPU),其能够执行存储在存储器1320中的软件或固件。(多个)处理器1310可以是或者可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程专用集成电路(ASIC)、可编程逻辑器件(PLD)等或者这样的设备的组合。
存储器1320表示任何形式的存储器,诸如随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器或这样的设备的组合。在使用中,除其他以外,存储器1320可以包含机器指令集,其在由处理器1310执行时使得处理器1310执行操作以实现本发明的实施例。
还通过互连1330连接到(多个)处理器1310的是网络接口设备1340。网络接口设备1340为系统1700提供与远程设备通信的能力,该远程设备诸如要控制的远程深度相机或设备,并且可以例如为以太网适配器或光纤信道适配器。
系统1700还可以包括一个或多个可选的输入设备1352和/或可选的显示设备1350。输入设备1352可以包括键盘。显示设备1350可以包括阴极射线管(CRT)、液晶显示器(LCD)或一些其它适用的已知或方便的显示设备。
结论
除非上下文以其它方式清楚地要求,否则贯穿说明书和权利要求,词语“包括”、“包含”等要以包括性意义来解释(即,也就是说,在包括但不限于的意义上解释),这与排他性或穷举性意义不同。如本文所使用的,术语“连接”、“耦合”或其任何变体意指两个或更多元件之间的任何连接或耦合,要么是直接的要么是间接的。元件之间的这样的耦合或连接可以是物理的、逻辑的或其组合。附加地,词语“本文”、“上文”、“下文”和类似引入词语在本申请中使用时是指作为整体的本申请并且不是指本申请的任何具体部分。在上下文准许的情况下,在上述详细描述中使用单数或复数数目的词语也可以分别包括复数或单数数目。在引用两个或更多项目的列表时,词语“或”覆盖该词语的以下所有解释:列表中的项目中的任一个、列表中的所有项目、以及列表中的项目的任何组合。
本发明的示例的以上详细描述不旨在是穷举性的或者将本发明限制于上文所公开的精确形式。尽管在上文出于说明性目的而描述了本发明的具体示例,但是如本领域技术人员将认识到的,在本发明的范围内,各种等同修改是可能的。尽管以给定顺序在本申请中给出处理或框,但是可替换的实现方式可以执行具有以不同顺序执行的步骤的例程,或者采用具有不同顺序的框的系统。可以删除、移动、添加、细分、组合和/或修改一些处理或框以提供可替换的方案或子组合。同样,尽管有时将处理或框示为串行地执行,但是这些处理或框可以替代地并行执行或实现,或者可以在不同时间执行。另外,本文所指出的任何具体数字仅仅是示例。要理解的是,可替换的实现方式可以采用不同的值或范围。
本文所提供的各种说明和教导也可以应用于除上文所描述的系统之外的系统。上文所描述的各个示例的元件和动作可以组合以提供本发明的另外的实现方式。
上文指出的任何专利和申请以及其它参考文献,包括可能在随附提交文章中所列出的任一个,通过引入以其整体并入本文。如果必要的话,本发明的方面可以被修改以采用这样的参考文献中所包括的系统、功能和概念以提供本发明的另外的实现方式。
可以根据上述详细描述对本发明做出这些和其它改动。尽管上述描述描述了本发明的某些示例,并且描述了预期到的最佳模式,但是不管上文在文本中多么详细地出现,本发明都可以以许多方式实践。系统的细节可以在其具体实现方式方面明显变化,而同时仍是本文所公开的发明所涵盖的。如上文所指出的,在描述本发明的某些特征或方面时所使用的具体术语不应当被视为暗示着该术语在本文中被重新定义以约束于与该术语相关联的本发明的任何具体特性、特征或方面。一般而言,在所附权利要求中所使用的术语不应当被解释为将本发明限于说明书中所公开的具体示例,除非上文详细描述部分明确限定这样的术语。因此,本发明的真实范围不仅涵盖所公开的示例,而且还涵盖实践或实现权利要求之下的本发明的等同方式。
尽管在下文以某些权利要求的形式给出了本发明的某些方面,但是申请人预期到以任何数目的权利要求形式的本发明的各个方面。例如,尽管本发明的仅一个方面被记载为35U.S.C 112,第六段之下的装置加功能的权利要求,但是其它方面也可以类似地体现为装置加功能的权利要求,或以其它形式体现,诸如体现在计算机可读介质中。(意图在35U.S.C 112 之下处置的任何权利要求将以词语“用于……装置”开始)。因此,申请人保留在提交申请之后添加附加权利要求的权利以寻求针对本发明的其它方面的这样的附加权利要求形式。
Claims (24)
1.一种用于追踪深度图像的序列中的目标的方法,该方法包括:
利用深度传感器获取深度图像的序列;
针对深度图像的序列的所选深度图像中的目标配置制定多个假设,其中多个假设中的每一个包括深度图像的序列中的之前深度图像中的已知目标配置与所选深度图像中的目标配置之间的对应点的集合;
使用目标骨骼模型来合成多个假设中的每一个的所选深度图像中的目标配置的深度图;
通过比较相应合成深度图与所选深度图像来测试每一个假设以标识最紧密地适配所选深度图像中的目标配置的最佳假设,
标识所选深度图像中的目标的语义指向,其中语义指向是对应于目标的已知区的特征;
使用至少语义指向的子集来计算目标从之前深度图像到所选深度图像的刚性变换,其中之前深度图像中的目标的位置是已知的;
在计算目标的刚性变换之后,计算目标的更精细关节联接,
使所计算的刚性变换的参数随机抖动以生成用于测试的附加假设;
测试每一个附加假设以标识适配所选深度图像中的目标配置以及至少最佳假设的经改进的最佳假设。
2.如权利要求1所述的方法,其中测试每一个假设包括针对每一个假设评估目标函数,其中目标函数测量给定合成深度图像与所选深度图像中的目标配置的深度图像数据之间的相似性。
3.如权利要求2所述的方法,其中目标函数包括计算给定合成深度图与所选深度图像中的目标配置的深度图像数据之间的重叠区的大小的分量。
4.如权利要求2所述的方法,其中目标函数包括计算合成深度图到所选深度图像中的目标配置的深度图像数据的适配的分量。
5.如权利要求2所述的方法,其中目标函数包括计算合成深度图的轮廓与所选深度图像中的目标配置的深度图像数据的轮廓之间的距离的分量。
6.如权利要求2所述的方法,其中目标函数包括确定目标的关节随时间的平缓度的分量。
7.如权利要求1所述的方法,其中目标是用户手部,并且更精细关节联接是手指关节联接,并且还包括从所计算的刚性变换和手指关节联接标识姿势。
8.如权利要求1所述的方法,其中目标是用户手部,并且更精细关节联接是手指关节联接,并且还包括将所计算的刚性变换和手指关节联接传送到应用,该应用被配置为允许用户与电子设备交互。
9.如权利要求1所述的方法,还包括:
基于所计算的刚性变换,标识用于计算目标的更精细关节联接的目标的附加语义指向。
10.如权利要求1所述的方法,其中所标识的语义指向针对深度图像的序列中的每一个图像隐式地初始化目标骨骼模型。
11.如权利要求1所述的方法,其中所标识的语义指向针对对于深度图像的序列中的每一个图像所计算的目标骨骼模型隐式地实现误差校正。
12.如权利要求1所述的方法,其中合成目标配置的深度图包括:生成配置用于对应点的集合的结皮目标骨骼模型,并且渲染该模型以生成深度图。
13.如权利要求12所述的方法,其中渲染该模型包括使用光照源对阴影效果进行建模。
14.一种用于追踪深度图像的序列中的用户手部的方法,该方法包括:
利用深度传感器获取深度图像的序列,其中深度图像的序列包括在前深度图像和当前深度图像;
针对手部校准手部骨骼模型;
从深度图像的其余部分分割出当前深度图像中的手部;
基于在前深度图像中的手部的已知姿态、经校准的手部骨骼模型以及当前深度图像中分割出的手部来确定当前深度图像的当前手部姿态,
其中确定当前深度图像的当前手部姿态包括:
标识当前深度图像中的手部的语义指向,其中语义指向是对应于手部的已知区的特征;
使用至少语义指向的子集来计算手部从在前深度图像到当前深度图像的候选刚性变换;
将每一个候选刚性变换应用于在前深度图像中的手部的手部骨骼模型,并且确定哪个候选刚性变换最紧密地匹配当前深度图像以标识最佳刚性变换,
使所计算的刚性变换的参数随机抖动以生成用于测试的附加假设;
测试每一个附加假设以标识适配所选深度图像中的目标配置以及至少最佳假设的经改进的最佳假设。
15.如权利要求14所述的方法,其中确定当前深度图像的当前手部姿态还包括:
计算手部的候选手指关节联接;
将每一个候选手指关节联接应用于在前深度图像中的手部的手部骨骼模型,并且确定哪一候选手指关节联接最紧密地匹配当前深度图像以标识最佳手指关节联接。
16.如权利要求14所述的方法,其中手部骨骼模型使用光照源来渲染以对阴影效果进行建模。
17.一种追踪深度图像的序列中的手部的系统,该系统包括:
配置成获取手部的深度图像的序列的深度感测模块;
配置成追踪深度图像的序列中的手部的移动的追踪模块,其中追踪移动包括:
针对当前深度图像中的手部配置标识多个假设;
针对多个假设中的每一个渲染手部的骨骼模型;
应用目标函数,目标函数用于标识最紧密地适配当前深度图像中的手部配置的最佳假设;
标识所选深度图像中的目标的语义指向;
使用至少语义指向的子集来计算目标从之前深度图像到所选深度图像的刚性变换,
使所计算的刚性变换的参数随机抖动以生成用于测试的附加假设;
测试每一个附加假设以标识适配所选深度图像中的目标配置以及至少最佳假设的经改进的最佳假设。
18.如权利要求17所述的系统,其中追踪器模块包括至少一个中央处理单元(CPU),其配置成计算对应于多个假设中的每一个的候选手部模型配置,并且另外其中追踪模块包括至少一个图形处理单元,其配置成渲染骨骼模型并且针对每一个骨骼模型应用目标函数,其中目标函数应用的结果由CPU使用以选择得出目标函数的最佳值的假设和对应手部配置。
19.如权利要求17所述的系统,还包括配置成从当前深度图像的其余部分分割出当前深度图像中的手部的分割模块。
20.如权利要求17所述的系统,还包括配置成从所追踪的手部的移动标识一个或多个姿势的姿势识别模块。
21.如权利要求17所述的系统,其中渲染骨骼模型包括使用光照源以对阴影效果进行建模。
22.一种用于追踪深度图像的序列中的目标的系统,该系统包括:
用于获取深度图像的序列的装置;
配置为追踪深度图像的序列中的目标的移动的追踪模块,其中追踪移动包括:
针对深度图像的序列的所选深度图像中的目标配置制定多个假设,其中多个假设中的每一个包括深度图像的序列中的之前深度图像中的已知目标配置与所选深度图像中的目标配置之间的对应点的集合;
针对多个假设中的每一个合成所选深度图像中的目标配置的深度图;
通过比较相应合成深度图与所选深度图像来测试每一个假设以标识最紧密地适配所选深度图像中的目标配置的最佳假设,
标识所选深度图像中的目标的语义指向,其中语义指向是对应于目标的已知区的特征;
使用至少语义指向的子集来计算目标从之前深度图像到所选深度图像的刚性变换,其中之前深度图像中的目标的位置是已知的;
在计算目标的刚性变换之后,计算目标的更精细关节联接,
使所计算的刚性变换的参数随机抖动以生成用于测试的附加假设;
测试每一个附加假设以标识适配所选深度图像中的目标配置以及至少最佳假设的经改进的最佳假设。
23.如权利要求22所述的系统,其中测试每一个假设包括针对每一个假设评估目标函数,其中目标函数测量给定合成深度图像与所选深度图像中的目标配置的深度图像数据之间的相似性。
24.一种计算机可读介质,所述计算机可读介质具有位于其上的指令,所述指令在被执行时使计算设备执行按照权利要求1-16中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/768835 | 2013-02-15 | ||
US13/768,835 US8994652B2 (en) | 2013-02-15 | 2013-02-15 | Model-based multi-hypothesis target tracker |
PCT/US2014/013618 WO2014126711A1 (en) | 2013-02-15 | 2014-01-29 | Model-based multi-hypothesis target tracker |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104937635A CN104937635A (zh) | 2015-09-23 |
CN104937635B true CN104937635B (zh) | 2019-01-22 |
Family
ID=51350804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480004938.9A Active CN104937635B (zh) | 2013-02-15 | 2014-01-29 | 基于模型的多假设目标追踪器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8994652B2 (zh) |
EP (1) | EP2956908A4 (zh) |
CN (1) | CN104937635B (zh) |
WO (1) | WO2014126711A1 (zh) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9477315B2 (en) * | 2013-03-13 | 2016-10-25 | Honda Motor Co., Ltd. | Information query by pointing |
US9317112B2 (en) * | 2013-11-19 | 2016-04-19 | Microsoft Technology Licensing, Llc | Motion control of a virtual environment |
US9740923B2 (en) * | 2014-01-15 | 2017-08-22 | Lenovo (Singapore) Pte. Ltd. | Image gestures for edge input |
US10380434B2 (en) * | 2014-01-17 | 2019-08-13 | Kpit Technologies Ltd. | Vehicle detection system and method |
RU2014109439A (ru) * | 2014-03-12 | 2015-09-20 | ЭлЭсАй Корпорейшн | Процессор изображений, содержащий систему распознавания жестов с сопоставлением положения руки, основываясь на признаках контура |
CN104978012B (zh) * | 2014-04-03 | 2018-03-16 | 华为技术有限公司 | 一种指向交互方法、装置及系统 |
US9811721B2 (en) | 2014-08-15 | 2017-11-07 | Apple Inc. | Three-dimensional hand tracking using depth sequences |
US9922245B2 (en) * | 2014-08-15 | 2018-03-20 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for recognizing an object |
US10768708B1 (en) * | 2014-08-21 | 2020-09-08 | Ultrahaptics IP Two Limited | Systems and methods of interacting with a robotic tool using free-form gestures |
US20160078289A1 (en) * | 2014-09-16 | 2016-03-17 | Foundation for Research and Technology - Hellas (FORTH) (acting through its Institute of Computer | Gesture Recognition Apparatuses, Methods and Systems for Human-Machine Interaction |
US10110881B2 (en) * | 2014-10-30 | 2018-10-23 | Microsoft Technology Licensing, Llc | Model fitting from raw time-of-flight images |
US9823755B2 (en) * | 2015-02-26 | 2017-11-21 | Konica Minolta Laboratory U.S.A., Inc. | Method and apparatus for interactive user interface with wearable device |
US9690984B2 (en) * | 2015-04-14 | 2017-06-27 | Microsoft Technology Licensing, Llc | Two-dimensional infrared depth sensing |
US9911219B2 (en) | 2015-05-13 | 2018-03-06 | Intel Corporation | Detection, tracking, and pose estimation of an articulated body |
US10048765B2 (en) | 2015-09-25 | 2018-08-14 | Apple Inc. | Multi media computing or entertainment system for responding to user presence and activity |
US10248839B2 (en) * | 2015-11-30 | 2019-04-02 | Intel Corporation | Locating objects within depth images |
US10068385B2 (en) | 2015-12-15 | 2018-09-04 | Intel Corporation | Generation of synthetic 3-dimensional object images for recognition systems |
US10318008B2 (en) | 2015-12-15 | 2019-06-11 | Purdue Research Foundation | Method and system for hand pose detection |
US10565791B2 (en) | 2015-12-29 | 2020-02-18 | Microsoft Technology Licensing, Llc | Tracking rigged polygon-mesh models of articulated objects |
US10037624B2 (en) * | 2015-12-29 | 2018-07-31 | Microsoft Technology Licensing, Llc | Calibrating object shape |
US10186081B2 (en) | 2015-12-29 | 2019-01-22 | Microsoft Technology Licensing, Llc | Tracking rigged smooth-surface models of articulated objects |
US11854308B1 (en) | 2016-02-17 | 2023-12-26 | Ultrahaptics IP Two Limited | Hand initialization for machine learning based gesture recognition |
US11714880B1 (en) * | 2016-02-17 | 2023-08-01 | Ultrahaptics IP Two Limited | Hand pose estimation for machine learning based gesture recognition |
US11841920B1 (en) | 2016-02-17 | 2023-12-12 | Ultrahaptics IP Two Limited | Machine learning based gesture recognition |
CN108369643B (zh) * | 2016-07-20 | 2022-05-13 | 杭州凌感科技有限公司 | 用于3d手部骨架跟踪的方法和系统 |
GB2552648B (en) * | 2016-07-22 | 2020-09-16 | Imperial College Sci Tech & Medicine | Estimating dimensions for an enclosed space using a multi-directional camera |
US11568601B2 (en) * | 2016-08-14 | 2023-01-31 | Uvic Industry Partnerships Inc. | Real-time hand modeling and tracking using convolution models |
CN106327526B (zh) | 2016-08-22 | 2020-07-07 | 杭州保新科技有限公司 | 图像目标跟踪方法与系统 |
US10671843B2 (en) * | 2017-03-31 | 2020-06-02 | Intel Corporation | Technologies for detecting interactions with surfaces from a spherical view of a room |
US10362296B2 (en) | 2017-08-17 | 2019-07-23 | Microsoft Technology Licensing, Llc | Localized depth map generation |
US11003766B2 (en) | 2018-08-20 | 2021-05-11 | Microsoft Technology Licensing, Llc | Enhancing cybersecurity and operational monitoring with alert confidence assignments |
CN112711324B (zh) * | 2019-10-24 | 2024-03-26 | 浙江舜宇智能光学技术有限公司 | 基于tof相机的手势交互方法及其系统 |
CN111062969B (zh) * | 2019-12-06 | 2023-05-30 | Oppo广东移动通信有限公司 | 目标跟踪方法及相关产品 |
EP4086731A4 (en) * | 2020-06-28 | 2023-04-05 | Huawei Technologies Co., Ltd. | METHOD OF INTERACTION AND ELECTRONIC DEVICE |
CN112669362B (zh) * | 2021-01-12 | 2024-03-29 | 四川深瑞视科技有限公司 | 基于散斑的深度信息获取方法、装置及系统 |
CN113238650B (zh) * | 2021-04-15 | 2023-04-07 | 青岛小鸟看看科技有限公司 | 手势识别和控制的方法、装置及虚拟现实设备 |
CN113518180B (zh) * | 2021-05-25 | 2022-08-05 | 宁夏宁电电力设计有限公司 | 一种用于电力作业车的车载摄像头安装方法 |
CN113646736A (zh) * | 2021-07-17 | 2021-11-12 | 华为技术有限公司 | 手势识别方法、装置、系统及车辆 |
US11909950B1 (en) * | 2021-09-21 | 2024-02-20 | Amazon Technologies, Inc. | Three-dimensional (3D) sensor performance evaluation |
US11978539B2 (en) * | 2022-05-24 | 2024-05-07 | Included Health, Inc. | Systems and methods for multi-domain data segmentation, automatic hypotheses generation and outcome optimization |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104379A (en) * | 1996-12-11 | 2000-08-15 | Virtual Technologies, Inc. | Forearm-supported exoskeleton hand-tracking device |
US7538744B1 (en) * | 1999-10-30 | 2009-05-26 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for computer-aided determination of viewer's gaze direction |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1477924B1 (en) * | 2003-03-31 | 2007-05-02 | HONDA MOTOR CO., Ltd. | Gesture recognition apparatus, method and program |
US20120277594A1 (en) * | 2009-01-23 | 2012-11-01 | Pryor Timothy R | Mental health and well-being |
US9696808B2 (en) * | 2006-07-13 | 2017-07-04 | Northrop Grumman Systems Corporation | Hand-gesture recognition method |
US8660303B2 (en) | 2009-05-01 | 2014-02-25 | Microsoft Corporation | Detection of body and props |
FR2955409B1 (fr) * | 2010-01-18 | 2015-07-03 | Fittingbox | Procede d'integration d'un objet virtuel dans des photographies ou video en temps reel |
US20110317871A1 (en) | 2010-06-29 | 2011-12-29 | Microsoft Corporation | Skeletal joint recognition and tracking system |
US9213890B2 (en) * | 2010-09-17 | 2015-12-15 | Sony Corporation | Gesture recognition system for TV control |
WO2012135153A2 (en) | 2011-03-25 | 2012-10-04 | Oblong Industries, Inc. | Fast fingertip detection for initializing a vision-based hand tracker |
US8823639B2 (en) * | 2011-05-27 | 2014-09-02 | Disney Enterprises, Inc. | Elastomeric input device |
US8897491B2 (en) | 2011-06-06 | 2014-11-25 | Microsoft Corporation | System for finger recognition and tracking |
AU2011203028B1 (en) * | 2011-06-22 | 2012-03-08 | Microsoft Technology Licensing, Llc | Fully automatic dynamic articulated model calibration |
JP6074170B2 (ja) | 2011-06-23 | 2017-02-01 | インテル・コーポレーション | 近距離動作のトラッキングのシステムおよび方法 |
-
2013
- 2013-02-15 US US13/768,835 patent/US8994652B2/en active Active
-
2014
- 2014-01-29 WO PCT/US2014/013618 patent/WO2014126711A1/en active Application Filing
- 2014-01-29 EP EP14751122.4A patent/EP2956908A4/en not_active Withdrawn
- 2014-01-29 CN CN201480004938.9A patent/CN104937635B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104379A (en) * | 1996-12-11 | 2000-08-15 | Virtual Technologies, Inc. | Forearm-supported exoskeleton hand-tracking device |
US7538744B1 (en) * | 1999-10-30 | 2009-05-26 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for computer-aided determination of viewer's gaze direction |
Also Published As
Publication number | Publication date |
---|---|
US20140232631A1 (en) | 2014-08-21 |
EP2956908A4 (en) | 2016-12-28 |
EP2956908A1 (en) | 2015-12-23 |
WO2014126711A1 (en) | 2014-08-21 |
CN104937635A (zh) | 2015-09-23 |
US8994652B2 (en) | 2015-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104937635B (zh) | 基于模型的多假设目标追踪器 | |
US20230044664A1 (en) | Method and System for Hand Pose Detection | |
US10740694B2 (en) | System and method for capture and adaptive data generation for training for machine vision | |
Tzionas et al. | Capturing hands in action using discriminative salient points and physics simulation | |
JP5833189B2 (ja) | 被写体の三次元表現を生成する方法およびシステム | |
JP6011102B2 (ja) | 物体姿勢推定方法 | |
US9189855B2 (en) | Three dimensional close interactions | |
CN108875133B (zh) | 确定建筑布局 | |
JP5455167B2 (ja) | リアルタイムハンド追跡、ポーズ分類、及びインタフェース制御 | |
JP5931215B2 (ja) | 姿勢を推定する方法及び装置 | |
US11568601B2 (en) | Real-time hand modeling and tracking using convolution models | |
US20200057778A1 (en) | Depth image pose search with a bootstrapped-created database | |
JP2014235634A (ja) | 手指動作検出装置、手指動作検出方法、手指動作検出プログラム、及び仮想物体処理システム | |
JP2018119833A (ja) | 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体 | |
Ozbay et al. | A hybrid method for skeleton extraction on Kinect sensor data: Combination of L1-Median and Laplacian shrinking algorithms | |
Huang et al. | Network algorithm real-time depth image 3D human recognition for augmented reality | |
JP2010211732A (ja) | 物体認識装置および方法 | |
Taylor et al. | VR props: an end-to-end pipeline for transporting real objects into virtual and augmented environments | |
CN110288714B (zh) | 一种虚拟仿真实验系统 | |
JP2015114762A (ja) | 手指動作検出装置、手指動作検出方法、手指動作検出プログラム、及び仮想物体処理システム | |
Jian et al. | Realistic face animation generation from videos | |
JP3668168B2 (ja) | 動画像処理装置 | |
Ravikumar | Lightweight markerless monocular face capture with 3d spatial priors | |
JP2017103607A (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN115981492A (zh) | 三维笔迹生成方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |