CN105073210A - 使用深度图像的用户身体角度、曲率和平均末端位置提取 - Google Patents

使用深度图像的用户身体角度、曲率和平均末端位置提取 Download PDF

Info

Publication number
CN105073210A
CN105073210A CN201480013014.5A CN201480013014A CN105073210A CN 105073210 A CN105073210 A CN 105073210A CN 201480013014 A CN201480013014 A CN 201480013014A CN 105073210 A CN105073210 A CN 105073210A
Authority
CN
China
Prior art keywords
user
pixel
depth image
information
angle
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.)
Granted
Application number
CN201480013014.5A
Other languages
English (en)
Other versions
CN105073210B (zh
Inventor
J.胡夫
A.爱哈马德
D.肯尼特
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105073210A publication Critical patent/CN105073210A/zh
Application granted granted Critical
Publication of CN105073210B publication Critical patent/CN105073210B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • 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/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Abstract

本文描述的实施例使用深度图像来提取用户行为,其中每个深度图像指定多个像素与用户相对应。在某些实施例中,从深度图像提取指示用户身体的角度和/或曲率的信息。这可以通过对(深度图像的)与用户相对应的多个像素的部分拟合曲线并基于拟合曲线确定指示用户身体的角度和/或曲率的信息来完成。然后基于指示用户身体的角度和/或曲率的信息来更新应用。在某些实施例中,从深度图像提取用户的一个或多个平均末端位置,其也可以被称作末端团块的平均位置。然后基于末端团块的平均位置来更新应用。

Description

使用深度图像的用户身体角度、曲率和平均末端位置提取
背景技术
许多计算应用,比如计算机游戏或多媒体应用等,使用控制来允许用户操纵应用的游戏人物或其他方面。传统上,这样的控制是使用例如控制器、遥控器、键盘、鼠标等来输入。遗憾的是,这样的控制可能难以学习,因此在用户与这样的游戏和应用之间造成了阻碍。此外,这样的控制可能与该控制所用于的实际游戏动作或其他应用动作不同。例如,使游戏人物挥舞棒球棒的游戏控制可能不对应于挥舞棒球棒的实际运动。近来,摄像机已被用来允许用户操纵应用的游戏人物或其他方面,而无需传统的手持游戏控制器。更具体地,计算系统已适于识别由摄像机捕获的用户并检测用户的运动或其他行为。典型地,这样的计算系统依靠骨骼跟踪(ST)技术来检测运动或其他用户行为。然而,尽管对于检测某些类型的用户行为来说是有用的,但ST技术已被证明对于检测其他类型的用户行为来说是不可靠的。例如,ST技术典型地对于检测在用户躺或坐在地面上或地面附近的情况下的用户行为来说是不可靠的。
发明内容
本文公开了用于从深度图像提取用户行为的系统和方法。这样的系统和方法可以被用来代替或补充常常用于检测诸如用户运动之类的用户行为的骨骼跟踪(ST)技术。
根据实施例,使用位于离用户一定距离处的捕获设备(例如,摄像机)获得的每个深度图像指定该深度图像的多个像素与用户相对应。此外,每个深度图像针对与用户相对应的像素中的每一个像素指定了像素地点和像素深度,其中像素深度指示捕获设备与由像素表示的用户的部分之间的距离。基于深度图像,提取指示用户行为的信息,并且使用这样的信息来更新应用。
在某些实施例中,从深度图像提取指示用户身体的角度和/或曲率的信息。这可以通过对(深度图像的)与用户相对应的多个像素的部分拟合曲线并接着基于拟合曲线确定指示用户身体的角度和/或曲率的信息来完成。在某些实施例中,拟合曲线是通过对与对应于用户的像素相对于平面(例如,支持用户的地面)的上部外围部分相对应的深度图像的像素子集拟合曲线产生的。指示用户身体的角度的信息可以通过确定在拟合曲线的端点之间延伸的直线相对于平面的角度来确定。
拟合曲线可以包括多个直线分段,并且在某些实施例中恰好包括三个直线分段。在一个实施例中,通过确定拟合曲线的直线分段之一相对于在拟合曲线的端点之间延伸的直线的角度来确定指示用户身体的曲率的信息。此外或可替换地,指示用户身体的曲率的信息可以通过确定第一长度与第二长度的比率来确定,其中第一长度是在拟合曲线的端点之间延伸的直线的长度,并且第二长度是从(在拟合曲线的端点之间延伸的)直线向拟合曲线的离(在拟合曲线的端点之间延伸的)直线最远的点正交地延伸的另外直线的长度。
在某些实施例中,从深度图像提取用户的一个或多个平均末端(extremity)位置,其也可以被称作末端团块(blob)的平均位置。这可以通过识别与用户的末端相对应的深度图像的像素来完成,用户的末端比如是最左边是、最右边的、最上边的、最下边的或最前面的末端。此后,存在对与用户相对应并且在被识别为与用户的末端相对应的像素的指定距离内(例如,在指定方向上5个像素内)的深度图像的像素的识别。这样的所识别的像素可以被称作末端团块,或简称为团块。然后通过确定团块的像素的平均位置来识别平均末端位置。换言之,通过确定被识别为与用户相对应并且在与用户的末端相对应的像素的指定距离内的像素的平均位置来确定平均末端位置,其也被称作末端团块的平均位置。对于单个深度图像,可能存在对右末端团块的平均位置、左末端团块的平均位置、顶部末端团块的平均位置、底部末端团块的平均位置和/或前面末端团块的平均位置的识别。右末端团块和左末端团块的平均位置可以更一般地被称作侧团块的平均位置。在一个实施例中,将与用户相对应的像素分成象限,并且针对象限中的一个或多个来确定团块的一个或多个平均位置。
在某些实施例中,从深度图像确定的指示用户身体的角度和/或曲率的信息被用来更新应用。此外或可替换地,也可以使用所识别的末端团块的平均位置来更新应用。例如,这样的角度、曲率和/或位置信息可以用来跟踪执行某些锻炼和/或姿势的用户,从而可以控制用户的化身,可以向用户奖励点数和/或可以向用户提供反馈。对于其中应用是指导用户执行某些锻炼和/或姿势的游戏的更特定的示例,应用可以确定用户是否以正确的形态执行了锻炼或姿势,并且在用户没有以正确的形态执行锻炼或姿势的情况下可以向用户提供关于用户如何可以改善他们的形态的反馈。本发明内容被提供来以简化的形式介绍在下面的具体实施方式中进一步描述的构思的选择。本发明内容不意在标识所要求保护的主题的关键特征或必要特征,也不意在被用作确定所要求保护主题的范围的辅助。此外,所要求保护的主题不限于解决了在本公开的任何部分中记录的任何或所有缺点的实施方式。
附图说明
图1A和图1B图示了跟踪系统的示例实施例,其中用户在玩游戏。
图2A图示了可以被用作跟踪系统的一部分的捕获设备的示例实施例。
图2B图示了图2A中介绍的深度图像处理和对象报告模块的示例实施例。
图3图示了可以用于跟踪用户行为并基于用户行为更新应用的计算系统的示例实施例。
图4图示了可以用于跟踪用户行为并基于所跟踪的用户行为更新应用的计算系统的另一示例实施例。
图5图示了示范性深度图像。
图6描绘了示范性深度图像中的示范性数据。
图7图示了用于概述用于基于深度图像确定指示用户身体的角度和/或曲率的信息的方法的高级流程图。
图8A-8C示出了表示(深度图像的)与执行不同瑜伽姿势或锻炼的用户相对应的多个像素的轮廓,图8A-8C用于解释如何可以基于深度图像确定指示用户身体的角度和/或曲率的信息。
图9是根据一个实施例的用于提供图7中步骤之一的附加细节的高级流程图。
图10图示了用于概述如何可以基于根据参考图7-9描述的实施例确定的信息来更新应用的高级流程图。
图11A-11F示出了表示(深度图像的)与执行瑜伽姿势或其他锻炼的用户相对应的多个像素的轮廓,图11A-11F用于解释如何可以识别用户的末端以及如何可以确定平均末端位置(也称作末端团块的平均位置)。
图12图示了用于概述用于基于深度图像识别用户的平均末端位置的方法的高级流程图。
图13是根据一个实施例的用于提供图12中的步骤中的一些步骤的附加细节的高级流程图。
图14示出了表示(深度图像的)与站立位置的用户相对应的多个像素的轮廓连同基于深度图像确定的平均末端位置。
图15用于解释可以将深度图像内的用户分成象限,并且可以针对每个象限确定平均末端位置。
图16示出了表示(深度图像的)与向前弯曲的用户相对应的多个像素的轮廓,图16用于解释如何可以基于深度图像确定平均前末端位置。
图17图示了用于概述如何可以基于根据参考图11A-16描述的实施例确定的信息来更新应用的高级流程图。
具体实施方式
本文描述的实施例使用深度图像来提取用户行为,其中每个深度图像指定多个像素与用户相对应。在某些实施例中,从深度图像提取指示用户身体的角度和/或曲率的信息。这可以通过对(深度图像的)与用户相对应的多个像素的部分拟合曲线并基于拟合曲线确定指示用户身体的角度和/或曲率的信息来完成。然后基于指示用户身体的角度和/或曲率的信息来更新应用。在某些实施例中,从深度图像提取用户的一个或多个平均末端位置,其也可以被称作末端团块的平均位置。然后基于末端团块的平均位置来更新应用。
图1A和1B图示了跟踪系统100的示例实施例,其中用户118在玩拳击视频游戏。在示例实施例中,跟踪系统100可以用于辨识、分析和/或跟踪在跟踪系统100的范围内的诸如用户118之类的人类目标或其他对象。如图1A所示,跟踪系统100包括计算系统112和捕获设备120。如以下将进一步详细描述的,捕获设备120可以用于获得深度图像和彩色图像(也被称为RGB图像),所述深度图像和彩色图像可以被计算系统112用来识别一个或多个用户或其他对象以及跟踪运动和/或其他用户行为。所跟踪的位置、运动和/或其他用户行为可以被用来更新应用。因此,用户可以通过使用用户身体和/或用户周围对象的移动而非(或除此之外还使用)控制器、遥控器、键盘或鼠标等等来操纵应用的游戏人物或其他方面。例如,视频游戏系统可以基于对象的新位置来更新视频游戏中显示的图像的位置或基于用户的运动来更新化身。
计算系统112可以是计算机或者游戏系统或控制台等。根据一个示例实施例,计算系统112可以包括硬件组件和/或软件组件,使得计算系统112可以被用来执行应用,比如游戏应用或非游戏应用等。在一个实施例中,计算系统112可以包括处理器,比如标准化处理器、专用处理器或微处理器等,其可以执行处理器可读存储设备上存储的指令以用于执行本文描述的过程。
捕获设备120可以是例如摄像机,其可以用于视觉上监视诸如用户118之类的一个或多个用户,使得由所述一个或多个用户执行的手势和/或移动可以被捕获、分析和跟踪以便在应用内执行一个或多个控制或动作和/或使化身或屏幕上人物产生动画效果,如以下将更详细描述的。
根据一个实施例,跟踪系统100可以连接到可以向诸如用户118之类的用户提供游戏或应用视觉和/或音频的视听设备116,比如电视、监视器、高清电视(HDTV)等。例如,计算系统112可以包括可以提供与游戏应用、非游戏应用等相关联的视听信号的诸如图形卡之类的视频适配器和/或诸如声卡之类的音频适配器。视图设备116可以从计算系统112接收视听信号并且可以然后向用户118输出与视听信号相关联的游戏或应用视觉和/或音频。根据一个实施例,视听设备116可以经由例如S-Video(S-视频)线缆、同轴线缆、HDMI线缆、DVI线缆、VGA线缆、组件视频线缆等连接到计算系统112。
如图1A和1B所示,跟踪系统100可以用于辨识、分析和/或跟踪诸如用户118之类的人类目标。例如,可以使用捕获设备120跟踪用户118,使得用户118的手势和/或移动可以被捕获以使化身或屏幕上人物产生动画效果,和/或可以被解释为控制,所述控制可以被用来影响正在由计算系统112执行的应用。因此,根据一个实施例,用户118可以移动他或她的身体来控制应用和/或使化身或屏幕上人物产生动画效果。
在图1A和1B描绘的示例中,在计算系统112上执行的应用可以是用户118正在玩的拳击游戏。例如,计算系统112可以使用视听设备116向用户118提供拳击对手138的视觉表示。计算系统112还可以使用视听设备116提供游戏者化身140的视觉表示,用户118可以用他或她的移动来控制游戏者化身140。例如,如图1B所示,用户118可以在物理空间中出拳以使游戏者化身140在游戏空间中出拳。因此,根据示例实施例,计算系统112和捕获设备120辨识和分析物理空间中用户118的拳,使得该拳可以被解释为在游戏空间中对游戏者化身140的游戏控制和/或该拳的运动可以被用来在游戏空间中使游戏者化身140产生动画效果。
还可以将用户118的其他移动解释为其他控制或动作和/或用于使游戏者化身产生动画效果,比如对摆动、躲闪、擦地移步、阻挡、刺拳或打出多种力量的拳的控制。此外,一些移动可以被解释为与动作相对应的控制,其不同于控制游戏者化身140。例如,在一个实施例中,游戏者可以使用移动来结束、暂停、或保存游戏、选择级别、查看高分、与朋友通信等等。根据另一实施例,游戏者可以使用移动从主用户界面选择游戏或其他应用。因此,在示例实施例中,可以以任何适当的方式来获得、使用和分析用户118的全范围运动以与应用交互。
在示例实施例中,诸如用户118之类的人类目标可以具有对象。在这样的实施例中,电子游戏的用户可能正持有该对象,使得游戏者和对象的运动可以被用来调整和/或控制游戏的参数。例如,拿着球拍的游戏者的运动可以被跟踪并被利用以控制电子竞技游戏中的屏幕上球拍。在另一示例实施例中,持有对象的游戏者的运动可以被跟踪并被利用以控制电子格斗游戏中的屏幕上武器。也可以跟踪没有被用户持有的对象,比如用户(或不同用户)投掷、推动或滚动的对象以及自推进的对象。除了拳击之外,还可以实现其他游戏。
根据其他示例实施例,跟踪系统100还可以用于将目标移动解释为在游戏领域之外的操作系统和/或应用控制。例如,事实上操作系统和/或应用的任何可控方面都可以通过诸如用户118之类的目标的移动来控制。
图2A图示了可以用在跟踪系统100中的捕获设备120的示例实施例。根据示例实施例,捕获设备120可以被配置成经由包括例如渡越时间(time-of-flight)、结构光、立体图像等的任何适当的技术捕获具有深度信息的视频,该深度信息包括可以包括深度值的深度图像。根据一个实施例,捕获设备120可以将深度信息组织成“Z层”或可以与从深度摄像机沿着其视线延伸的Z轴垂直的层。
如图2A所示,捕获设备120可以包括图像摄像机组件222。根据示例实施例,图像摄像机组件222可以是可以捕获场景的深度图像的深度摄像机。深度图像可以包括所捕获的场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素表示深度值,比如所捕获的场景中的对象离摄像机的以例如厘米、毫米等为单位的距离。
如图2A所示,根据示例实施例,图像摄像机组件222可以包括可以用来捕获场景的深度图像的红外(IR)光组件224、三维(3-D)摄像机226以及RGB摄像机228。例如,在渡越时间分析中,捕获设备120的IR光组件224可以将红外光发射到场景上,并且可以然后使用传感器(未被示出)来检测从使用例如3-D摄像机226和/或RGB摄像机228的场景中的一个或多个目标和对象的表面后向散射的光。在一些实施例中,可以使用脉冲红外光,使得外出光脉冲与对应的进入光脉冲之间的时间可以被测量并且用来确定从捕获设备120到场景中目标或对象上特定地点的物理距离。此外,在其他示例实施例中,可以将外出光波的相位与进入光波的相位相比较以确定相移。然后可以使用该相移来确定从捕获设备到目标或对象上特定地点的物理距离。
根据另一示例实施例,渡越时间分析可以用来通过经由包括例如快门光脉冲成像的各种技术随时间分析反射光束的强度来间接地确定从捕获设备120到目标或对象上特定地点的物理距离。
在另一示例实施例中,捕获设备120可以使用结构光捕获深度信息。在这样的分析中,可以经由例如IR光组件224将图案化的光(即,显示为诸如网格图案、条带图案或不同图案之类的已知图案的光)投影到场景上。在打击场景中一个或多个目标或对象的表面后,图案可能作为响应而变得变形。图案的这种变形可以被例如3-D摄像机226和/或RGB摄像机228捕获,并且然后可以被分析以确定从捕获设备到目标或对象上特定位置的物理距离。在一些实施方式中,将IR光组件224从摄像机226和228移位,因而三角测量可以用来确定离摄像机226和228的距离。在一些实施方式中,捕获设备120将包括专用IR传感器以感测IR光。
根据另一实施例,捕获设备120可以包括两个或更多个物理上分离的摄像机,其可以从不同角度观看场景以获得视觉立体数据,该视觉立体数据可以被解析以生成深度信息。其他类型的深度图像传感器也可以用来创建深度图像。
捕获设备120还可以包括麦克风130。麦克风130可以包括可以接收声音并将声音转换成电信号的换能器或传感器。根据一个实施例,麦克风130可以用于在目标辨识、分析和跟踪系统100中减小捕获设备120与计算系统112之间的反馈。此外,麦克风230可以用于接收音频信号,该音频信号也可以由用户来提供以控制可以由计算系统112执行的诸如游戏应用、非游戏应用等等之类的应用。
在示例实施例中,捕获设备120还可以包括可以与图像摄像机组件222可操作通信的处理器232。处理器232可以包括可以执行包括例如用于接收深度图像、生成适当的数据格式(例如,帧)以及向计算系统112传输数据的指令的指令的标准化处理器、专用处理器、微处理器等。
捕获设备120还可以包括存储器组件234,该存储器组件可以存储可以由处理器232执行的指令、由3-D摄像机和/或RGB摄像机捕获的图像或图像帧、或者任何其他合适的信息、图像等。根据示例实施例,存储器组件234可以包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存存储器、硬盘或任何其他合适的存储组件。如图2所示,在一个实施例中,存储器组件234可以是与图像摄像机组件222和处理器232通信的单独组件。根据另一实施例,存储器组件234可以集成到处理器232和/或图像捕获组件222中。
如图2A所示,捕获设备120可以经由通信链路236与计算系统212通信。通信链路236可以是:有线连接,包括例如USB连接、火线连接、以太网线缆连接等;和/或无线连接,比如无线802.11b、802.11g、802.11a或802.11n连接。根据一个实施例,计算系统112可以向捕获设备120提供时钟,该时钟可以被用来确定例如何时经由通信链路236捕获场景。此外,捕获设备120经由通信链路236将由例如3-D摄像机226和/或RGB摄像机228捕获的深度图像和彩色图像提供给计算系统112。在一个实施例中,以每秒30帧来传输深度图像和彩色图像。计算系统112然后可以使用模型、深度信息和捕获的图像例如控制诸如游戏或文字处理器之类的应用和/或使化身或屏幕上人物产生动画效果。
计算系统112包括手势库240、结构数据242、深度图像处理和对象报告模块244以及应用246。深度图像处理和对象报告模块244使用深度图像跟踪诸如用户和其他对象之类的对象的位置和/或运动。为了辅助对象的跟踪,深度图像处理和对象报告模块244使用手势库240和结构数据242。
结构数据242包括关于可以被跟踪的对象的结构信息。例如,可以存储人的骨骼模型以帮助理解用户的移动并辨识身体部分。也可以存储关于无生命的对象的结构信息以帮助辨识这些对象并帮助理解移动。
手势库240可以包括手势过滤器的集合,每个手势过滤器包括关于可以(随着用户移动)由骨骼模型执行的手势的信息。可以将摄像机226、228和捕获设备120以骨骼模型的形式捕获的数据以及与之关联的移动与手势库240中的手势过滤器相比较,以识别用户(如骨骼模型所表示的)何时执行了一个或多个手势。这些手势可以与应用的各种控制相关联。因此,计算系统112可以使用手势库240来解释骨骼模型的移动并基于这些应当来控制应用246。这样,手势库可以被深度图像处理和对象报告模块244和应用246使用。
应用246可以是视频游戏、生产力应用等等。在一个实施例中,深度图像处理和对象报告模块244将会向应用246报告检测到的每个对象的标识以及每一帧的对象的地点。应用246将使用该信息更新显示器中化身或其他图像的位置或移动。
图2B图示了在图2A中介绍的深度图像处理和对象报告模块244的示例实施例。参考图2B,深度图像处理和对象报告模块244被示为包括深度图像分割模块252、基于深度的曲线拟合模块254、基于深度的身体角度模块256、基于深度的身体曲率模块258以及基于深度的平均末端位置模块260。在实施例中,深度图像分割模块252被配置成检测深度图像内的一个或多个用户(例如,人类目标),并将分割值与每个像素相关联。这样的分割值被用来指示哪些像素与用户相对应。例如,分割值1可以被指派给对应于第一用户的所有像素,分割值2可以被指派给对应于第二用户的所有像素,并且任意预定的值(例如255)可以被指派给不对应于用户的像素。还可能的是,分割值可以被指派给在深度图像内识别的除了用户以外的对象,比如但不限于网球拍、跳绳、球、地面等。在实施例中,作为深度图像分割模块252执行的分割过程的结果,深度图像中的每个像素将具有与该像素相关联的四个值,包括:x位置值(即,水平值);y位置值(即,垂直值);z位置值(即,深度值);以及说明刚解释的分割值。换言之,在分割之后,深度图像可以指定多个像素与用户相对应,其中这样的像素也可以被称作用户的基于深度的轮廓或深度图像轮廓。此外,深度图像可以针对与用户相对应的每个像素指定像素地点和像素深度。像素地点可以由x位置值(即,水平值)和y位置值(即,垂直值)指示。像素深度可以由z位置值(也被称作深度值)指示,其指示用于获得深度图像的捕获设备(例如,120)与由该像素表示的用户的部分之间的距离。
仍然参考图2B,在实施例中,基于深度的曲线拟合模块254被用来对与用户相对应的所述多个像素的部分拟合曲线。基于深度的身体角度模块256被用来确定指示用户身体的角度的信息,并且基于深度的身体曲率模块258被用来确定指示用户身体的曲率的信息。以下参考图7-10描述与确定指示用户身体的角度的信息和确定指示用户身体的曲率的信息有关的附加细节。基于深度的平均末端位置模块260被用来确定指示用户身体的末端的信息,其附加细节在下面参考图11A-17进行描述。深度图像处理和对象报告模块244还可以包括本文没有描述的附加模块。
图3图示了计算系统的示例实施例,该计算系统可以是图1A-2B所示的用于跟踪运动和/或使由应用显示的化身或屏幕上对象产生动画效果(或以别的方式更新)的计算系统112。以上关于图1A-2描述的诸如计算系统112之类的计算系统可以是多媒体控制台,比如游戏控制台。如图3所示,多媒体控制台300具有中央处理单元(CPU)301,其具有1级高速缓存102、2级高速缓存304和闪存ROM(只读存储器)306。1级高速缓存302和2级高速缓存304临时存储数据,并因此减少了存储器访问周期的数目,从而提高了处理速度和吞吐量。可以提供具有多于一个核以及因此具有附加的1级和2级高速缓存302和304的CPU301。闪存ROM306可以存储在多媒体控制台300被加电时在引导过程的初始阶段期间加载的可执行代码。
图形处理单元(GPU)308和视频编码器/视频编解码器314形成用于高速和高分辨率图形处理的视频处理管道。经由总线从图形处理单元308向视频编码器/视频编解码器314运送数据。视频处理管道向A/V(音频/视频)端口340输出数据以便传输到电视或其他显示器。存储器控制器310连接到GPU308以促进处理器访问各种类型的存储器312,比如但不限于RAM(随机存取存储器)。
多媒体控制台300包括优选地实现在模块318上的I/O控制器320、系统管理控制器322、音频处理单元323、网络接口324、第一USB宿主(host)控制器326、第二USB控制器328和前面板I/O子配件330。USB控制器326和328充当外围控制器342(1)-342(2)、无线适配器348和外部存储器设备346(例如,闪存存储器、外部CD/DVDROM驱动、可拆卸介质等)的宿主。网络接口324和/或无线适配器348提供对网络(例如,因特网、家庭网络等等)的访问并且可以是包括以太网卡、调制解调器、蓝牙模块、线缆调制解调器等的多种多样的各种有线或无线适配器组件中的任何一种。
系统存储器343被提供以存储在引导过程中加载的应用数据。媒体驱动344被提供并且可以包括DVD/CD驱动、蓝光驱动、硬盘驱动或其他可拆卸媒体驱动等。媒体驱动344可以在多媒体控制台300内部或外部。可以经由媒体驱动344访问应用数据以供多媒体控制台300执行、回放等。媒体驱动344经由诸如串行ATA总线之类的总线或其他高速连接(例如,IEEE1394)连接到I/O控制器320。
系统管理控制器322提供与保证多媒体控制台300的可用性有关的多种多样的服务功能。音频处理单元323和音频编解码器332形成具有高保真度和立体声处理的对应音频处理管线。音频数据经由通信链路在音频处理单元323与音频编解码器332之间运送。音频处理管道向A/V端口340输出数据以供具有音频能力的外部音频播放器或设备再现。
前面板I/O子配件330支持在多媒体控制台300的外表面上暴露的电源按钮350和弹出按钮352以及任何LED(发光二极管)或其他指示器的功能。系统电源模块336向多媒体控制台300的组件提供电力。风扇338冷却多媒体控制台300内的电路系统。
多媒体控制台300内的CPU301、GPU308、存储器控制器310和各种其他组件经由一条或多条总线互连,所述总线包括串行和并行总线、存储器总线、外围总线以及使用各种各样总线架构中的任何总线架构的处理器或局部总线。举例而言,这样的架构可以包括外围组件互连(PCI)总线、PCI-Express总线等等。
当将多媒体控制台300加电时,可以将应用数据从系统存储器343加载到存储器312和/或高速缓存302、304中并在CPU301上执行。该应用可以呈现图形用户界面,该图形用户界面在导航到多媒体控制台300上可用的不同媒体类型时提供一致的用户体验。在操作中,可以从媒体驱动344发起或播放媒体驱动344内包含的应用和/或其他媒体,以向多媒体控制台300提供附加的功能。
多媒体控制台300可以操作为单机系统,其中通过简单地将该系统连接到电视或其他显示器来操作为单机系统。在这种单机模式下,多媒体控制台300允许一个或多个用户与系统交互、看电影或听音乐。然而,在集成了通过网络接口324或无线适配器348而可用的宽带连接性的情况下,多媒体控制台300还可以操作为更大网络社区中的参与者。
当将多媒体控制台300加电时,保留一定量的硬件资源以供多媒体控制台操作系统的系统使用。这些资源可以包括存储器(例如,16MB)、CPU和GPU周期(例如,5%)、联网带宽(例如,8Kbps)等的保留。由于这些资源在系统引导时间被保留,所以这些保留的资源从应用的角度来看并不存在。
特别地,存储器保留优选地大到足以包含发起内核、并发系统应用和驱动器。CPU保留优选地是恒定的,使得如果保留的CPU使用没有被系统应用使用,则空闲线程将消耗任何未使用的周期。
关于GPU保留,通过针对调度代码使用GPU中断以将弹出窗口呈现为覆盖来显示由系统应用(例如,弹出窗口)生成的轻量级消息。覆盖所需要的存储器的量取决于覆盖区域尺寸,并且该覆盖优选地与屏幕分辨率成比例。在并发系统应用使用全用户界面的情况下,优选的是使用独立于应用分辨率的分辨率。可以使用定标器(scaler)来设置该分辨率,使得消除对改变频率和使TV再同步(resynch)的需要。
在多媒体控制台300引导并且系统资源被保留之后,并发系统应用执行以提供系统功能。系统功能被封装在一组在上述保留的系统资源内执行的系统应用中。操作系统内核识别线程,所述线程是系统应用线程对游戏应用线程。优选地系统应用被调度以预定的时间和间隔在CPU301上运行以便向应用提供一致的系统资源视图。该调度最小化了用于运行在控制台上的游戏应用的高速缓存中断。
当并发系统应用需要音频时,由于时间灵敏性,与游戏应用异步地调度音频处理。(下面描述的)多媒体控制台应用管理器在系统应用活跃时控制游戏应用音频水平(例如,静音、减弱)。
输入设备(例如,控制器342(1)和342(2))被游戏应用和系统应用共享。输入设备不是保留的资源,而是将在系统应用和游戏应用之间切换,使得每个将具有该设备的焦点(focus)。应用管理器优选地控制输入流的切换,而不知道游戏应用的知识,并且驱动器维持关于焦点切换的状态信息。摄像机226、228和捕获设备120可以经由USB控制器326或其他接口来限定用于控制台300的附加输入设备。
图4图示了计算系统420的另一个示例实施例,该计算系统可以是图1A-2B所示的用于跟踪运动和/或使由应用显示的化身或屏幕上对象产生动画效果(或以别的方式更新)的计算系统112。计算系统420仅仅是合适的计算系统的一个示例,并且不旨在暗示关于当前公开的主题的用途或功能的范围的任何限制。系统420也不应被解释为具有与示范性计算系统420中图示的组件的任何一个或组合有关的任何依赖性或要求。在一些实施例中,各种所描绘的计算元件可以包括被配置成将本公开的特定方面实例化的电路系统。例如,在本公开中使用的术语电路系统可以包括被配置成通过固件或开关来执行(一个或多个)功能的专用硬件组件。在其他示例实施例中,术语电路系统可以包括例如由软件指令配置的通用处理单元、存储器等等,该软件指令体现了可操作以(一个或多个)功能的逻辑。在其中电路系统包括硬件和软件的组合的示例实施例中,实施者可以写入体现了逻辑的源代码,并且源代码可以被编译成可以被通用处理单元处理的机器可读代码。由于本领域技术人员可以领会到现有技术已发展到这样的地步:其中在硬件、软件或硬件/软件的组合之间没有太大差别,因此为完成特定功能而对于硬件对软件的选择是留给实施者的设计选择。更具体地,本领域技术人员可以领会软件过程可以被变换成等同的硬件结构,并且硬件结构自身可以被变换成等同的软件过程。因此,硬件实施方式对软件实施方式的选择是设计选择之一并被留给实施者。
计算系统420包括计算机441,该计算机441典型地包括各种各样的计算机可读介质。计算机可读介质可以是可以被计算机441访问并且包括易失性和非易失性介质、可拆卸和不可拆卸介质的任何可用的介质。系统存储器422包括易失性和/或非易失性存储器形式的计算机存储介质,比如只读存储器(ROM)423和随机存取存储器(RAM)460。典型地在ROM423中存储基本输入/输出系统424(BIOS),其包含帮助比如在启动期间在计算机441内的元件之间传递信息的基本例程。RAM460典型地包含可被处理单元459立即访问和/或处理单元459当前作用于的数据和/或程序模块。以示例而非限制的方式,图4图示了操作系统425、应用程序426、其他程序模块427和程序数据428。
计算机441还可以包括其他可拆卸/不可拆卸、易失性/非易失性计算机存储介质。仅以示例的方式,图4图示了从不可拆卸非易失性磁介质读取或向其写入的硬盘驱动438、从可拆卸非易失性磁盘454读取或向其写入的磁盘驱动439以及从诸如CDROM或其他光学介质等可拆卸非易失性光盘453读取或向其写入的光盘驱动440。可以在示范性操作环境中使用的其他可拆卸/不可拆卸、易失性/非易失性计算机存储介质包括但不限于盒式磁带、闪存存储卡、数字通用盘、数字视频磁带、固态RAM、固态ROM等。硬盘驱动438典型地通过诸如接口434之类的不可拆卸存储器接口连接到系统总线421,并且磁盘驱动439和光盘驱动440典型地通过诸如接口435之类的可拆卸存储器接口连接到系统总线421。
以上讨论的并且在图4中图示的驱动及其关联的计算机存储介质提供了对用于计算机441的计算机可读指令、数据结构、程序模块和其他数据的存储。在图4中,例如,将硬盘驱动438图示为存储操作系统458、应用程序457、其他程序模块456和程序数据455。注意,这些组件可以与操作系统425、应用程序426、其他程序模块427和程序数据428相同或不同。这里为操作系统458、应用程序457、其他程序模块456和程序数据455给出不同的数字以说明最低限度它们是不同的拷贝。用户可以通过诸如键盘451和指向设备452之类的输入设备向计算机441中输入命令和信息,所述指向设备452通常被称作鼠标、轨迹球或触摸板。其他输入设备(未被示出)可以包括麦克风、操纵杆、游戏垫、卫星天线、扫描器等。这些或其他输入设备常常通过耦合到系统总线的用户输入接口436连接到处理单元459,但是可以通过其他接口和总线结构来连接,比如并行端口、游戏端口或通用串行总线(USB)。摄像机226、228和捕获设备120可以针对经由用户输入接口436连接的计算系统420限定附加的输入设备。监视器442或其他类型的显示设备也可以经由诸如视频接口432之类的接口连接到系统总线421。除了监视器以外,系统还可以包括可以通过输出外围接口433连接的其他外围输出设备,比如扬声器444和打印机443。捕获设备120可以经由输出外围接口433、网络接口437或其他接口连接到计算系统420。
计算机441可以使用到诸如远程计算机446之类的一个或多个远程计算机的逻辑连接在联网环境下操作。远程计算机446可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常用网络节点,并且典型地包括以上关于计算机441描述的元件中的许多或全部,尽管图4中仅图示了存储器存储设备447。所描绘的逻辑连接包括局域网(LAN)445和广域网(WAN)449,但是也可以包括其他网络。这样的联网环境常见于办公室、企业范围计算机网络、内联网和因特网。
当用在LAN联网环境中时,计算机441通过网络接口437连接到LAN445。当用在WAN联网环境中时,计算机441典型地包括调制解调器450或其他装备以在诸如因特网之类的WAN449上建立通信。可以是内部或外部的调制解调器450可以经由用户输入接口436或其他适当的机制连接到系统总线421。在联网环境中,关于计算机441描述的程序模块或其部分可以被存储在远程存储器存储设备中。以示例而非限制的方式,图4将应用程序448图示为驻留在存储器设备447上。将领会的是,所示的网络连接是示范性的,并且可以使用在计算机之间建立通信链路的其他手段。
如以上解释的,捕获设备120向计算系统112提供RGB图像(也称为彩色图像)和深度图像。深度图像可以是多个所观测的像素,其中每个所观测的像素具有所观测的深度值。例如,深度图像可以包括所捕获的场景的二维(2-D)像素区域,其中2-D像素区域中的每个像素可以具有深度值,比如所捕获的场景中的对象离捕获设备的例如以厘米、毫米等为单位的长度或距离。
如以上提到的,常常使用骨骼跟踪(ST)技术来检测用户的运动或其他用户行为。然而,尽管对于检测某些类型的用户行为来说是有用的,但ST技术已被证明对于检测其他类型的用户行为来说是不可靠的。例如,ST技术典型地对于在用户躺或坐在地面上或地面附近的情况下检测用户行为来说是不可靠的。本文描述的某些实施例依靠深度图像来检测用户行为。基于深度基本图像检测到的这样的用户行为可以被用来代替或补充用于检测用户行为的ST技术。因此,在以附加的细节讨论这样的实施例之前,首先有用的是提供深度图像的附加细节。
图5图示了可以在计算系统112处从捕获设备120接收的深度图像的示例实施例。根据示例实施例,深度图像可以是由例如以上关于图2A描述的捕获设备120的3-D摄像机226和/或RGB摄像机228捕获的场景的图像和/或帧。如图5所示,深度图像可以包括与例如以上关于图1A和图1B描述的诸如用户118之类的用户相对应的人类目标以及一个或多个非人类目标,比如所捕获的场景中的墙壁、桌子、监视器等。如上所述,深度图像可以包括多个所观测的像素,每个所观测的像素具有与之相关联的所观测的深度值。例如,深度图像可以包括所捕获的场景的二维(2-D)像素区域,其中2-D像素区域中特定x值和y值处的每个像素可以具有深度值,比如所捕获的场景中的目标或对象离捕获设备的以例如厘米、毫米等为单位的长度或距离。换言之,如以上在图2B的讨论中解释的,深度图像可以针对深度图像中的每个像素指定像素地点和像素深度。在例如由深度图像处理和对象报告模块244执行的分割过程之后,深度图像中的每个像素还可以具有与之关联的分割值。像素地点可以由x位置值(即,水平值)和y位置值(即,垂直值)指示。像素深度可以由z位置值(也被称作深度值)指示,其指示了用于获得深度图像的捕获设备(例如,120)与由像素表示的用户的部分之间的距离。分割值用于指示像素与特定的用户相对应还是不与用户相对应。
在一个实施例中,深度图像可以是彩色的或灰度的,使得深度图像的像素的不同颜色或深浅对应于和/或视觉上描绘了目标离捕获设备120的不同距离。在接收到图像后,可以从深度图像去除和/或平滑一个或多个高方差和/或有噪的深度值;可以填充和/或重构丢失和/或去除的深度信息的部分;和/或可以对接收到的深度图像执行任何其他合适的处理。
图6提供了深度图像的另一视图/表示(不对应于与图5相同的示例)。图6的视图示出了针对每个像素的深度数据(即,z位置值),作为针对该像素表示目标到捕获设备120的距离的整数。图6的示例深度图像示出了24x24像素;然而有可能会使用更高分辨率的深度图像。图6中由z位置值表示的每个像素也可以包括x位置值、y位置值和分割值。例如,在最左上角的像素可以具有x位置值=1和y位置值=1;并且在最左下角的像素可以具有x位置值1和y位置值=24。如上面提到的,分割值用于指示哪些像素与用户相对应。
依赖于正在跟踪什么用户行为,有时候有用的是能够确定指示用户身体的角度的信息和/或指示用户身体的曲率的信息。例如,这样的信息可以被用来分析执行某些锻炼时用户的形态,使得可以控制用户的化身、可以向用户奖励点数和/或可以向用户提供反馈。如本文中使用的术语锻炼可以指的是诸如俯卧撑之类的健美操锻炼以及常常涉及姿势的锻炼类型,比如瑜伽和普拉提,但不限于此。例如,在某些锻炼中,比如俯卧撑和各种平板(plank)锻炼(例如,传统平板,也称为肘平板、侧平板、侧平板抬腿和升降平板),用户的身体或其部分(例如用户的背部)应该笔直。在其他锻炼中,比如下犬式瑜伽、上犬式瑜伽锻炼,用户的身体或其部分应该以特定的方式弯曲。骨骼跟踪(ST)技术典型地对于跟踪执行这样的类型的锻炼的用户来说是不可靠的,特别是在锻炼涉及用户躺或坐在地面上或附近的情况下。以下描述的某些实施例依靠深度图像来确定指示用户身体的角度的信息和/或指示用户身体的曲率的信息。这样的实施例可以被用来代替或补充常常用于基于RGB图像检测用户行为的骨骼跟踪(ST)技术。
现在将使用图7的高级流程图来概述用于基于深度图像确定指示用户身体的角度的信息和/或指示用户身体的曲率的信息的方法。在步骤702,接收深度图像,其中深度图像指定了多个像素与用户相对应。可以使用位于离用户(例如,118)一定距离处的捕获设备(例如,120)来获得深度图像。更一般地,深度图像和彩色图像可以由本文描述的捕获设备120中的传感器中的任何传感器或本领域已知的任何合适的传感器来捕获。在一个实施例中,深度图像与彩色图像分别地被捕获。在一些实施方式中,深度图像和彩色图像同时被捕获,而在其他实施方式中,它们被顺序地或在不同时间被捕获。在其他实施例中,深度图像与彩色图像一起被捕获或与彩色图像结合为一个图像文件,使得每个像素具有R值、G值、B值和Z值(距离)。这样的深度图像和彩色图像可以被传输至计算系统112。在一个实施例中,以每秒30帧传输深度图像和彩色图像。在一些示例中,深度图像与彩色图像分别地被传输。在其他实施例中,深度图像和彩色图像可以一起被传输。由于本文描述的实施例主要(或仅仅)依靠深度图像的使用,所以剩余的讨论主要集中于对深度图像的使用,并且因此不讨论彩色图像。
在步骤702接收到的深度图像还可以针对与用户相对应的每个像素指定像素地点和像素深度。如以上在图2B的讨论提到的,像素地点可以由x位置值(即,水平值)和y位置值(即,垂直值)指示。像素深度可以由z位置值(也被称作深度值)指示,其指示用于获得深度图像的捕获设备(例如,120)与由该像素表示的用户的部分之间的距离。出于本描述的目的,假定在步骤702接收到的深度图像已经历了分割过程,该分割过程确定了哪些像素对应于用户以及哪些像素不对应于用户。可替换地,如果在步骤702接收到的深度图像尚未经过分割过程,则分割过程可以发生在步骤702和704之间。
在步骤704,识别感兴趣的像素的子集,其中将在下面讨论步骤706处对所识别的子集拟合曲线。如上所述,与用户相对应的深度图像的多个像素还可以被称作用户的深度图像轮廓或简称为深度图像轮廓。因此,在步骤704,识别深度图像轮廓的感兴趣部分,其中将在步骤706对所识别的部分拟合曲线。在一个实施例中,感兴趣像素(即,深度图像轮廓的感兴趣部分)是与用户的躯干相对应的像素。在另一实施例中,感兴趣像素是与用户的腿部、躯干和头部相对应的像素。在另外的实施例中,感兴趣像素是与对应于用户的多个像素相对于平面(例如,支撑用户的地面)的上部外围部分相对应的像素。在又一实施例中,感兴趣像素是与对应于用户的所述多个像素相对于平面(例如,支撑用户的地面)的下部外围部分相对应的像素。
在步骤706,对在步骤704识别的像素子集拟合曲线,以由此产生拟合曲线。在某些实施例中,在步骤706产生的拟合曲线包括多个直线分段。在一个实施例中,拟合曲线包括恰好三个直线分段(以及因此包括两个端点和两个中点),其可以例如使用三次多项式方程来确定。图8A-8C示出且下面参考图8A-8C讨论讨论包括恰好三个直线分段的拟合曲线的示例。还可能的是,拟合曲线具有少到两个直线分段。可替换地,拟合曲线可以具有四个或更多个直线分段。在又一实施例中,拟合曲线可以是平滑曲线,即,不由直线分段构成的曲线。可以使用无数公知的曲线拟合技术来执行步骤706,并且因此不需要描述如何对像素组拟合曲线的附加细节。在步骤708,识别拟合曲线的端点。
对于剩余描述中的许多描述,将假定在步骤704中识别的感兴趣像素(即,深度图像轮廓的感兴趣部分)是与对应于用户的多个像素相对于平面(例如,支撑用户的地面)的上部外围部分相对应的像素。该实施例的益处是,基于所识别的像素的确定不受用户的宽松悬挂的衣服的影响。还将假设在步骤706产生的拟合曲线恰好包括三个直线分段。其优点将从步骤714的下述讨论中被领会。
在继续描述图7中的流程图之前,将简要对图8A-8C进行参考。参考图8A,其中示出的暗轮廓表示与执行四肢支撑式瑜伽姿势的用户相对应的(深度图像的)多个像素,其中四肢支撑式瑜伽姿势也称为支撑式(鳄鱼式ChaturangaDandasana)姿势。图8A中还示出了对与对应于用户的所述多个像素相对于平面812(例如,支撑用户的地面)的上部外围部分相对应的像素拟合的曲线802。以另一种方式来解释,对于用户的深度图像轮廓的顶部拟合曲线802。拟合曲线802包括三个直线分段804a、804b和804c,它们可以统称为直线分段804。拟合曲线的端点被标记为806a和806b,并且可以统称为端点806。拟合曲线的中点被标记为808a和808b,并且可以统称为中点808。在两个端点之间延伸的直线被标记为810。
类似于图8A的图8B对应于在用户将他们自己重新定位成另一瑜伽姿势之后的时间点。更具体地,在图8B中,其中示出的暗轮廓表示与执行上犬式瑜伽姿势的用户相对应的(深度图像的)多个像素,上犬式瑜伽姿势还已知为狗伸展式(UrdhvaMukhaSvanasana)姿势。为了一致性,在图8B中按照与图8A中相同的方式来标记拟合曲线802、直线分段804、端点806、中点808以及在端点806之间的直线810。
在图8C中,其中示出的暗轮廓表示与执行平板位置瑜伽姿势或这些俯卧撑锻炼的用户相对应的(深度图像的)多个像素。再次地,在图8C中按照与图8A和8B中相同的方式来标记拟合曲线802、直线分段804、端点806、中点808以及在端点806之间的直线810。
再次参考图7的流程图,在步骤710-714,确定指示用户身体的角度的信息以及指示用户身体的曲率的信息。将这样的信息报告给应用,如在步骤716指示的,这使得该应用能够基于所报告的信息而被更新。以下提供了步骤710-714的附加细节。当讨论这些步骤时,对图8A-8C进行了频繁参考,以提供所讨论的步骤的示例。
在步骤710,存在对拟合曲线的端点之间的直线相对于平面(例如,支撑用户的地面)的角度的确定。在图8A中,角度820是这样的角度的示例。更具体地,角度820是拟合曲线802的端点806之间的直线810相对于平面812的角度。图8B和8C示出了角度820的另外的示例。应用可以使用指示用户身体相对于平面(例如,地面)的总角度的角度820来确定用户的可能位置或姿势,基于用户的位置或姿势来更新正在显示的化身,和/或向用户提供关于该用户是否处于适当位置或姿势的反馈,但不限于此。对于更特定的实施例,这样的信息可以向应用提供有用的信息,在该应用中用户已被指导保持一个姿势,在该姿势中用户的背部和腿部应该尽可能笔直或者应该具有特定的曲率。
图8A中的角度820类似于图8B中的角度820,尽管由像素表示的用户处于非常不同的姿势。出现这种情况是因为,尽管用户身体的主干的位置和曲率显著改变,但是用户的头部和脚部处于相对类似的位置。这对为什么如以下讨论的在步骤712和714中进行的获得指示用户身体的曲率的信息也将是有用的提供了某种洞察。
在步骤712,存在对拟合曲线的端点之间的直线相对于拟合曲线的直线分段之一的角度的确定。在图8A中,角度830是这样的角度的示例。更具体地,角度830是拟合曲线802的端点806之间的直线810相对于(拟合曲线802的)直线分段804a的角度。图8B和8C示出了角度830的另外示例。图8A中的角度830是正角度。相比之下,图8B中的角度830是负角度。因此可以理解应用可以如何使用角度830来区分用户的不同姿势。更一般地,从以上讨论可以理解角度830如何指示用户身体的曲率。在以上示例中,角度830是(在拟合曲线802的端点806之间的)直线810与(拟合曲线802的)直线分段804a之间的角度。可替换地或此外,可以确定(在拟合曲线802的端点806之间的)直线810与(拟合曲线802的)另一直线分段804(比如直线分段804c)之间的角度。
在步骤714,存在对与拟合曲线相对应的曲率比的确定。根据实施例,曲率比是在拟合曲线的端点之间延伸的第一直线的长度与从第一直线向拟合曲线的离第一直线最远(即,偏差最大)的点正交地延伸的第二线的长度的比。例如,参考图8A,曲率比是在拟合曲线802的端点806之间延伸的直线810的长度与从直线810向拟合曲线802的离直线810最远的点正交地延伸的线840的长度的比。实现其中拟合曲线(例如,802)包括恰好三个直线分段的实施例的益处是,第二线的长度非常容易并且快速地被确定,如将参考图9以附加的细节描述的。
现在将使用图9的高级流程图来描述用于确定曲率比的方法,其中拟合曲线的直线分段包括完全笔直的线分段。参考图9,在步骤902,存在对从(在拟合曲线的端点之间延伸的)直线向拟合曲线的第一中点正交地延伸的线的长度的确定。在步骤2104,存在对从(在拟合曲线的端点之间延伸的)直线向拟合曲线的第二中点正交地延伸的线的长度的确定。简要地参考回到图8A,可以通过确定从直线819向拟合曲线802的中点808a正交地延伸的线841的长度来执行步骤902。类似地,可以通过确定从直线819向拟合曲线802的另一中点808b正交地延伸的线840的长度来执行步骤904。返回图9的流程图,在步骤906,存在对于在步骤902和904中确定的长度哪个更长的确定。如在步骤908指示的,当在步骤714确定与拟合曲线相对应的曲率比时,选择使用长度中较长的那个,作为从(在拟合曲线的端点之间延伸的)直线向拟合曲线的离(在拟合曲线的端点之间延伸的)直线最远(即,偏差最大)的点正交地延伸的线的长度。例如,参考回图8A,使用参考图9描述的方法的结果,那么可以通过确定直线840的长度与在拟合曲线802的端点806a和806b之间延伸的直线810的长度的比来确定曲率比。
参考回图2A,深度图像处理和对象报告模块244可以将它的确定报告给应用246。以上参考图7中的步骤716也讨论了这样的报告。更具体地,如图7所示,可以将指示在步骤710确定的角度、在步骤712确定的角度和/或在步骤714确定的曲率比的信息报告给应用。
现在参考图10,在步骤1002,应用接收指示在步骤710确定的角度、在步骤712确定的角度和/或在步骤714确定的曲率比的信息。如在步骤1004所示的,基于这样的信息来更新应用。例如,如以上提到的,这样的信息可以被用来跟踪执行某些锻炼和/或姿势的用户,使得可以控制用户的化身,可以向用户奖励点数和/或可以向用户提供反馈。对于更特定的示例,在应用246是指导用户执行某些锻炼和/或姿势的游戏的情况下,应用246可以确定用户是否以正确的形态执行了锻炼或姿势,并且在用户没有以正确的形态执行锻炼或姿势的情况下可以向用户提供关于用户如何可以改善他们的形态的反馈。
在深度图像中表示了多于一个用户的情况下,可以针对每个用户执行图7的方法的单独实例。例如,假定深度图像中的第一像素组对应于第一用户,并且相同深度图像中的第二像素组对应于第二用户。这会导致指示与第一用户相对应的角度和/或曲率的第一信息以及指示与第二用户相对应的角度和/或曲率的第二信息。
可以针对附加的深度图像重复以上参考图7描述的方法,从而导致指示针对多个深度图像中的每一个而确定的用户身体的角度和/或曲率的信息。这使得用户身体的角度和/或曲率的改变能够被跟踪。在深度图像中表示了多于一个用户的情况下,每当重复该方法时,就可以针对深度图像中表示的每个用户确定指示用户身体的角度和/或曲率的单独信息。
完全基于深度图像确定指示用户身体的角度和/或曲率的信息的优点在于,即使在ST技术失败时,也可以确定指示用户身体的角度和/或曲率的信息。另一优点在于,一旦深度图像在处理管道中可用,就可以确定指示用户身体的角度和/或曲率的信息,从而减少延迟,因为不需要执行ST技术。尽管如此,如果期望的话,也可以使用ST技术来确定指示用户身体的角度和/或曲率的信息。
取决于于正在跟踪什么用户行为,有时候有用的是能够确定指示用户身体的末端的信息。ST技术对于检测用户身体末端来说常常是不可靠的,特别是在用户在地面上或附近躺或坐的情况下(例如,当用户坐着,脚朝着捕获设备向前伸展时)。以下描述的某些实施例依靠深度图像来确定指示用户身体的末端的信息。这样的实施例可以被用来代替或补充常常用于基于RGB图像检测用户行为的骨骼跟踪(ST)技术。
参考图11A,其中示出的暗轮廓表示与处于标准平板位置的变形中但一只手臂和一条腿以相反的方向伸展的用户相对应的(深度图像的)多个像素。图11A中还示出了点1102、1112、1122和1132,其分别对应于与用户相对应的(深度图像的)最左边、最右边、最上边和最下边的像素。尽管基于点1102、1112、1122和/或1132在多个深度图像帧上跟踪用户的一个或多个末端是可能的,然而这样的点已被示为从帧到帧显著改变,造成这些点成为相对有噪的数据点。例如,这样的噪声可可能是由于用户的手、脚和/或头等的轻微移动而造成的。以下描述的某些实施例可以用于通过跟踪末端团块的平均位置来克服这种噪声问题,其中本文使用术语团块来指代深度图像的与用户相对应并且在被识别为与用户的末端相对应的像素的指定距离内的像素组。
现在将使用图12的高级流程图来描述用于确定末端团块的平均位置的方法。参考图12,在步骤1202,接收深度图像,其中该深度图像指定了多个像素与用户相对应。由于步骤1202与以上参考图7描述的步骤702基本相同,所以从以上对步骤702的讨论可以理解步骤702的附加细节。在步骤1204,识别与用户的末端相对应的深度图像的像素。取决于正在考虑哪个末端,步骤1204可以涉及识别深度图像的与用户的最左边、最右边、最上边或最下边的像素相对应的像素。以上参考图11描述了这样的像素的示例。如下面将更详细描述的,步骤1204可以可替换地涉及识别与对应于用户的深度图像的最前面像素相对应的深度图像的像素。在步骤1206,存在对于与用户相对应并且处于在步骤1204中被识别为与用户的末端相对应的像素的指定距离内(例如,在指定方向上5个像素内)的深度图像的像素的识别。在步骤1208,通过确定在步骤1206被识别为与用户相对应并且在与用户的末端相对应的像素的指定距离内的像素的平均位置来确定平均末端位置,其也可以被称作末端团块的平均位置。在步骤1210,存在对于是否存在要针对其确定平均末端位置(即,末端团块的平均位置)的任何感兴趣的附加末端的确定。感兴趣的特定末端可以取决于要使用(一个或多个)平均末端位置的应用。例如,其中仅对左末端和右末端感兴趣,可以针对感兴趣的这两个末端中的每一个执行步骤1204-1208。如在步骤1212指示的,将一个或多个平均末端位置(例如,左末端团块和右末端团块的平均位置)报告给应用,从而使得该应用能够基于这样的位置信息而被更新。
根据实施例,现在将使用图13连同图11A-11F提供图12的步骤1204-1208的附加细节。对于这种讨论,将假定感兴趣的初始末端是左末端。参考图13,根据实施例,步骤1302-1308提供了关于如何在步骤1204识别与用户的最左点相对应的(深度图像的)像素的附加细节。在步骤1302,初始化各种值,这涉及设置X=1,设置Xsum=0以及设置Ysum=0。在步骤1304,通过检查深度图像中具有x值=X的所有像素以确定是否这些像素中的至少一个对应于用户,来搜索用户的最左末端点。这样的确定可以基于与像素相对应的分割值。简要参考图11B,这可以涉及沿着虚线1140检查深度图像的所有像素以确定是否这些像素中的至少一个对应于用户。返回图13,在步骤1306,存在对于是否在步骤1304处检查的像素中的至少一个对应于用户的确定。如果步骤1306的答案为否,则在步骤1308将X递增,并且因此X现在等于2。然后重复步骤1304和1306以确定是否具有x值=2的深度图像的任何像素对应于用户。换言之,参考回图11B,虚线1140将右移一个像素,并且检查沿着移动过的线1140的深度图像的所有像素以确定是否这些像素中的至少一个对应于用户。重复步骤1304-1308,直到与用户相对应的像素被识别,其中所识别的像素将对应于用户的最左末端,其是图11A所示的点1102a。参考图11C,其中的虚线1140示出了识别出用户的最左末端的点。
图13中的步骤1310提供了用于在步骤1206识别深度图像的像素的实施例的附加细节,所述深度图像的像素与用户相对应并且在被识别为与用户的最左末端相对应的像素的指定距离内(例如,在x方向上5个像素内)。此外,图13中的步骤1312-1320将用来提供关于用于在步骤1208识别平均左末端位置的实施例的附加细节。在步骤1310,指定团块边界,这涉及设置第一团款边界(BB1)=X,以及设置第二团块边界(BB2)=X+V,其中V是指定的整数。对于以下示例,将假定V=5,然而V可以可替换地小于或大于5。与用户相对应并且在BB1和BB2(包含BB1和BB2)之间的深度图像的像素是与用户相对应并且在被识别为与用户的末端相对应的像素的指定距离内的深度图像的像素的示例。在图11D中,标记为BB1和BB2的两条虚垂直线是第一团块边界和第二团块边界的示例。在图11E中被虚线1106包围的像素是被识别为与用户相对应并且在与用户的最左末端相对应的像素1102的指定距离内(例如在x方向上5个像素内)的深度图像的像素。这样的被虚线1106包围的像素还可以被称作左末端团块,或更一般地被称作侧团块。
在步骤1312,更新Xsum,使得Xsum=Xsum+X。在步骤1314,通过将与用户相对应并且具有x值=X的深度图像的像素的所有y值添加到Ysum来更新Ysum。在步骤1316,存在对于X是否大于第二团块边界BB2的确定。只要步骤1316的答案为否,就每当更新Xsum和Ysum的值时重复步骤1312和1314。在步骤1318,将平均X团块值(AXBV)确定为等于Xsum除以被求和的x值的总数。在步骤1320,将平均Y团块值(AYBV)确定为等于Ysum除以被求和的y值的总数。在该实施例中,AXBV和AYBV共同地提供了左末端的平均x,y位置,其还可以被称作左末端团块的平均位置。图11F中标记为1108的“X”是所识别的侧团块的平均位置的示例。
可以执行与以上参考图13描述的步骤类似的步骤,以确定右末端团块的平均位置。然而,对于这种确定,X将在步骤1302被设置成其最大值,X将在步骤1308被递减1,在步骤1310指定的第二团块边界(BB2)将等于X-V,并且在步骤1316将存在对于是否X<BB2的确定。
可以执行与以上参考图13描述的步骤类似的步骤,以确定顶部或上部末端团块的平均位置。然而,对于这种确定:Y将在步骤1302被设置成0;Y将在步骤1308被递增;在步骤1310,BB1将被指定为等于Y并且BB2将被指定为等于Y+V;在步骤1312,将通过将与用户相对应并且具有y值=Y的深度图像的像素的所有x值添加到Xsum来更新Xsum;并且在步骤1314将通过将Y添加到Ysum来更新Ysum。
可以执行与以上参考图13描述的步骤类似的步骤,以确定底部末端团块的平均位置。然而,对于这种确定:Y将在步骤1302被设置成其最大值;Y将在步骤1308被递减1;在步骤1310,BB1将被指定为等于Y并且BB2将被指定为等于Y-V;在步骤1312,将通过将与用户相对应并且具有y值=Y的深度图像的像素的所有x值添加到Xsum来更新Xsum;并且在步骤1314将通过将Y添加到Ysum来更新Ysum。术语左和右是相对术语,其取决于位置是从深度图像内表示的用户的视角观看的,还是从用于捕获深度图像的捕获设备的视角观看的。因此,术语侧可以更一般地用于指代左或右末端或团块。
参考图14,其中示出的暗轮廓表示与处于站立位置且一只脚位于另一只脚前面的用户相对应的(深度图像的)多个像素。图14中示出的四个“X”指示可以使用本文描述的实施例来识别的团块的各种平均位置。更具体地,标记为1308的“X”对应于第一侧团块的平均位置,其还可以被称作平均侧末端位置。标记为1318的“X”对应于第二侧团块的平均位置,其还可以被称作平均侧末端位置。标记为1328的“X”对应于顶部团块的平均位置,其还可以被称作平均顶部或上部末端位置。标记为1338的“X”对应于底部团块的平均位置,其还可以被称作平均底部或下部末端位置。
根据某些实施例,与用户相对应的(深度图像的)像素可以被分成象限,并且可以按照与以上讨论的类似的方式针对每个象限来确定一个或多个末端团块的平均位置。这样的实施例可以从图15领会,其中水平和垂直白线将与用户相对应的像素分成象限,并且“X”对应于各种末端团块的平均位置。
如在图16中可以看出的,本文描述的实施例还可以用于确定前面团块的平均位置,其在图16中由“X”指示。在该图中,前面团块对应于弯腰的用户的一部分,其中用户的头部是用户身体中靠近捕获设备的部分。当识别前面团块的平均位置时,在例如执行参考图13描述的步骤时使用深度图像的像素的z值来代替x值或y值。换言之,与贯穿由x轴和y轴限定的平面搜索相反,贯穿由z轴和x轴或者由z轴和y轴限定的平面搜索z末端。
可以将用于获得深度图像的摄像机(例如,226)相对于用户站立的或以别的方式支撑他们自己的地面倾斜。根据特定的实施例,在确定末端团块的平均位置之前引起(accountfor)(也被称作校正)摄像机倾斜。这样的摄像机倾斜校正在确定前面团块的平均位置时是最有益的,因为这样的位置取决于深度图像的像素的z值。为了引起这样的摄像机倾斜,可以从传感器(例如,加速度计)或以某种其他方式获得重力矢量,并将重力矢量考虑在内。例如,在使用与用户相对应的像素来识别前面团块的平均位置之前,这样的引起摄像机倾斜(也被称作倾斜校正)可以在这样的像素上执行。在某些实施例中,通过选择搜索像轴(也可以被称作归一化搜索方向)并将所有像素投影到搜索轴来执行倾斜校正。这可以经由沿归一化搜索方向对每个像素的位置打点来完成。通过寻找具有最大z值的像素,这沿着可以用于搜索与最前面末端相对应的像素的搜索方向产生了距离。最大z值和最大z值-V可以用来识别团块边界BB1和BB2以及因此识别其内的区域以便对像素值求和以确定平均。
在深度图像中表示了多于一个用户的情况下,可以针对每个用户执行图12的方法的单独实例。例如,假定深度图像中的第一像素组对应于第一用户,并且相同深度图像中的第二像素组对应于第二用户。这将导致针对每个用户识别末端团块的平均位置。
可以针对附加的深度图像重复以上参考图12描述的方法,从而导致针对多个深度图像中的每一个而确定末端团块的平均位置。这使的平均末端位置的改变能够被跟踪。在深度图像中表示了多于一个用户的情况下,每当重复该方法时,就可以针对每个用户识别末端团块的平均位置。
参考回图2A,深度图像处理和对象报告模块244可以将它的确定报告给应用246。以上参考图12中的步骤1212也讨论了这样的报告。更具体地,如图12所示,可以将指示所识别的(一个或多个)平均末端位置的信息报告给应用。
现在参考图17,在步骤1702,应用接收指示所识别的(一个或多个)平均末端位置的信息。如在步骤1704所示的,基于这样的信息来更新应用。例如,如以上提到的,这样的信息可以被用来跟踪执行某些锻炼和/或姿势的用户,使得可以控制用户的化身、可以向用户奖励点数和/或可以向用户提供反馈。对于更特定的示例,在应用246是指导用户执行某些锻炼和/或姿势的游戏的情况下,应用246可以确定用户是否以正确的形态执行了锻炼或姿势,并且在用户没有以正确的形态执行锻炼或姿势的情况下可以向用户提供关于用户如何可以改善他们的形态的反馈。
完全基于深度图像来识别末端团块的平均位置的优点是,即使在ST技术失败时,也可以确定指示用户身体的末端的信息。另一优点是,一旦深度图像在处理管道中可用,就可以确定指示用户身体的末端的信息,从而减少延迟,因为不需要执行ST技术。尽管如此,如果期望的话,也可以使用ST技术来确定指示用户身体的末端的信息。
尽管以特定于结构特征和/或方法动作的语言描述了主题,但是将会理解的是,随附的权利要求中限定的主题不必限于以上描述的特定特征或动作。相反,以上描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。其意图在于,技术的范围由随附的权利要求来限定。

Claims (10)

1.一种使用深度图像提取用户行为的方法,包括:
接收深度图像,所述深度图像指定多个像素与用户相对应;
对与用户相对应的所述多个像素的部分拟合曲线;以及
基于拟合曲线来确定指示用户身体的角度的信息或指示用户身体的曲率的信息中的至少一个。
2.权利要求1的方法,其中:
所述深度图像是使用位于离用户一定距离处的捕获设备获得的;
所述深度图像还针对与用户相对应的像素中的每一个像素指定像素地点和像素深度;并且
针对与用户相对应的像素中的每一个像素指定的像素深度指示捕获设备与由像素表示的用户的部分之间的距离。
3.权利要求1或2的方法,还包括:
使用所确定的指示用户身体的角度的信息或指示用户身体的曲率的信息中的至少一个来更新应用。
4.权利要求1或2的方法,其中,所述对与用户相对应的所述多个像素的部分拟合曲线包括:
对与对应于用户的所述多个像素相对于平面的上部外围部分相对应的像素子集拟合曲线。
5.权利要求1的方法,其中,所述确定指示用户身体的角度的信息或指示用户身体的曲率的信息中的至少一个包括:
确定在拟合曲线的端点之间延伸的直线相对于平面的角度;
其中所确定的角度指示用户身体的角度。
6.权利要求1的方法,其中,所述拟合曲线包括多个直线分段,并且其中,所述确定指示用户身体的角度的信息或指示用户身体的曲率的信息中的至少一个包括:
确定在拟合曲线的端点之间延伸的第一直线的长度;
确定从第一直线向拟合曲线的离第一直线最远的点正交地延伸的第二直线的长度;以及
确定第一线的长度与第二线的长度的比值;
其中所述比值指示用户身体的曲率。
7.一种使用深度图像提取用户行为的系统,包括:
捕获设备,其获得接收深度图像;
一个或多个存储设备,其存储深度图像;
显示接口;以及
一个或多个处理器,其与所述一个或多个存储设备和所述显示接口通信,其中所述一个或多个处理器被配置成针对多个深度图像中的每一个识别:
  与用户的末端相对应的深度图像的像素;
  与用户相对应并且在被识别为与用户的末端相对应的像素的指定距离内的深度图像的像素;以及
  平均末端位置,其中通过确定被识别为与用户相对应并且在与用户的末端相对应的像素的指定距离内的像素的平均位置来识别所述平均末端位置。
8.权利要求7的系统,其中所述平均末端位置与用户的第一侧、第二侧、顶部、底部或前面之一相对应。
9.权利要求7或8的系统,其中所述一个或多个处理器使用所述平均末端位置更新运行在系统上的应用并且在显示接口上提供指示对该应用的更新的信号。
10.权利要求7或8的系统,其中,对于多个深度图像中的每一个,所述一个或多个处理器还被配置成:
将与用户相对应的像素分成象限;
针对所述象限中的至少两个识别一个或多个平均末端位置;以及
使用从所述象限中的一个或多个识别的所识别的平均末端位置中的一个或多个来更新运行在系统上的应用并且在显示接口上提供指示对该应用的更新的信号。
CN201480013014.5A 2013-03-08 2014-03-05 使用深度图像的用户身体角度、曲率和平均末端位置提取 Active CN105073210B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/790731 2013-03-08
US13/790,731 US9135516B2 (en) 2013-03-08 2013-03-08 User body angle, curvature and average extremity positions extraction using depth images
PCT/US2014/020835 WO2014138270A2 (en) 2013-03-08 2014-03-05 User body angle, curvature and average extremity positions extraction using depth images

Publications (2)

Publication Number Publication Date
CN105073210A true CN105073210A (zh) 2015-11-18
CN105073210B CN105073210B (zh) 2018-01-02

Family

ID=50439480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480013014.5A Active CN105073210B (zh) 2013-03-08 2014-03-05 使用深度图像的用户身体角度、曲率和平均末端位置提取

Country Status (4)

Country Link
US (3) US9135516B2 (zh)
EP (1) EP2964353B1 (zh)
CN (1) CN105073210B (zh)
WO (1) WO2014138270A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115588006A (zh) * 2022-11-11 2023-01-10 四川大学 一种标准化牙弓形态的提取方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8963829B2 (en) 2009-10-07 2015-02-24 Microsoft Corporation Methods and systems for determining and tracking extremities of a target
US7961910B2 (en) 2009-10-07 2011-06-14 Microsoft Corporation Systems and methods for tracking a model
US8564534B2 (en) * 2009-10-07 2013-10-22 Microsoft Corporation Human tracking system
US9052746B2 (en) * 2013-02-15 2015-06-09 Microsoft Technology Licensing, Llc User center-of-mass and mass distribution extraction using depth images
US20150025790A1 (en) * 2013-07-17 2015-01-22 Vivint, Inc. Geo-location services
CA2947817C (en) * 2014-05-05 2022-05-24 Horticulture Innovation Australia Limited Methods, systems, and devices relating to real-time object identification
US9715620B2 (en) * 2015-05-15 2017-07-25 Itseez 3D, Inc. Method to position a parallelepiped bounded scanning volume around a person
US11263461B2 (en) 2015-10-05 2022-03-01 Pillar Vision, Inc. Systems and methods for monitoring objects at sporting events
US9734405B2 (en) * 2015-10-05 2017-08-15 Pillar Vision, Inc. Systems and methods for monitoring objects in athletic playing spaces
KR102355759B1 (ko) * 2015-11-05 2022-01-26 삼성전자주식회사 사용자의 위치를 결정하는 전자 장치 및 그 제어 방법
US10043279B1 (en) * 2015-12-07 2018-08-07 Apple Inc. Robust detection and classification of body parts in a depth map
WO2018039341A1 (en) * 2016-08-23 2018-03-01 Pillar Vision, Inc. Systems and methods for tracking basketball player performance
US10366278B2 (en) 2016-09-20 2019-07-30 Apple Inc. Curvature-based face detector
US10542245B2 (en) * 2017-05-24 2020-01-21 Lg Electronics Inc. Mobile terminal and method for controlling the same
US10777006B2 (en) * 2017-10-23 2020-09-15 Sony Interactive Entertainment Inc. VR body tracking without external sensors
US10249163B1 (en) 2017-11-10 2019-04-02 Otis Elevator Company Model sensing and activity determination for safety and efficiency
WO2021186938A1 (ja) * 2020-03-18 2021-09-23 Necソリューションイノベータ株式会社 判定装置、判定方法、記録媒体
US20220072381A1 (en) * 2020-09-04 2022-03-10 Rajiv Trehan Method and system for training users to perform activities

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100034457A1 (en) * 2006-05-11 2010-02-11 Tamir Berliner Modeling of humanoid forms from depth maps
US20100303289A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Device for identifying and tracking multiple humans over time
US20110052006A1 (en) * 2009-08-13 2011-03-03 Primesense Ltd. Extraction of skeletons from 3d maps
US20110080336A1 (en) * 2009-10-07 2011-04-07 Microsoft Corporation Human Tracking System

Family Cites Families (187)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695953A (en) 1983-08-25 1987-09-22 Blair Preston E TV animation interactively controlled by the viewer
US4630910A (en) 1984-02-16 1986-12-23 Robotic Vision Systems, Inc. Method of measuring in three-dimensions at high speed
US4627620A (en) 1984-12-26 1986-12-09 Yang John P Electronic athlete trainer for improving skills in reflex, speed and accuracy
US4645458A (en) 1985-04-15 1987-02-24 Harald Phillip Athletic evaluation and training apparatus
US4702475A (en) 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4711543A (en) 1986-04-14 1987-12-08 Blair Preston E TV animation interactively controlled by the viewer
US4796997A (en) 1986-05-27 1989-01-10 Synthetic Vision Systems, Inc. Method and system for high-speed, 3-D imaging of an object at a vision station
US5184295A (en) 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US4751642A (en) 1986-08-29 1988-06-14 Silva John M Interactive sports simulation system with physiological sensing and psychological conditioning
US4809065A (en) 1986-12-01 1989-02-28 Kabushiki Kaisha Toshiba Interactive system and related method for displaying data to produce a three-dimensional image of an object
US4817950A (en) 1987-05-08 1989-04-04 Goo Paul E Video game control unit and attitude sensor
US5239464A (en) 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US5239463A (en) 1988-08-04 1993-08-24 Blair Preston E Method and apparatus for player interaction with animated characters and objects
US4901362A (en) 1988-08-08 1990-02-13 Raytheon Company Method of recognizing patterns
US4893183A (en) 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
JPH02199526A (ja) 1988-10-14 1990-08-07 David G Capper 制御インターフェース装置
US4925189A (en) 1989-01-13 1990-05-15 Braeunig Thomas F Body-mounted video game exercise device
US5229756A (en) 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5469740A (en) 1989-07-14 1995-11-28 Impulse Technology, Inc. Interactive video testing and training system
JPH03103822U (zh) 1990-02-13 1991-10-29
US5101444A (en) 1990-05-18 1992-03-31 Panacea, Inc. Method and apparatus for high speed object location
US5148154A (en) 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
US5534917A (en) 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5417210A (en) 1992-05-27 1995-05-23 International Business Machines Corporation System and method for augmentation of endoscopic surgery
US5295491A (en) 1991-09-26 1994-03-22 Sam Technology, Inc. Non-invasive human neurocognitive performance capability testing method and system
US5359704A (en) 1991-10-30 1994-10-25 International Business Machines Corporation Method for selecting silhouette and visible edges in wire frame images in a computer graphics display system
US6054991A (en) 1991-12-02 2000-04-25 Texas Instruments Incorporated Method of modeling player position and movement in a virtual reality system
DE69229474T2 (de) 1991-12-03 2000-03-02 French Sportech Corp Interaktives videosystem zur beobachtung und zum training der leistungsfähigkeit einer person
US5875108A (en) 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
JPH07325934A (ja) 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5999908A (en) 1992-08-06 1999-12-07 Abelow; Daniel H. Customer-based product design module
US5320538A (en) 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
IT1257294B (it) 1992-11-20 1996-01-12 Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori.
US5495576A (en) 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
US5690582A (en) 1993-02-02 1997-11-25 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
JP2799126B2 (ja) 1993-03-26 1998-09-17 株式会社ナムコ ビデオゲーム装置及びゲーム用入力装置
US5405152A (en) 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5423554A (en) 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
US5980256A (en) 1993-10-29 1999-11-09 Carmein; David E. E. Virtual reality system with enhanced sensory apparatus
JP3419050B2 (ja) 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
US5347306A (en) 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JP2552427B2 (ja) 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
US5577981A (en) 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5580249A (en) 1994-02-14 1996-12-03 Sarcos Group Apparatus for simulating mobility of a human
US5597309A (en) 1994-03-28 1997-01-28 Riess; Thomas Method and apparatus for treatment of gait problems associated with parkinson's disease
US5385519A (en) 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
JPH0844490A (ja) 1994-07-28 1996-02-16 Matsushita Electric Ind Co Ltd インターフェイス装置
US5563988A (en) 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US6714665B1 (en) 1994-09-02 2004-03-30 Sarnoff Corporation Fully automated iris recognition system utilizing wide and narrow fields of view
US5516105A (en) 1994-10-06 1996-05-14 Exergame, Inc. Acceleration activated joystick
US5638300A (en) 1994-12-05 1997-06-10 Johnson; Lee E. Golf swing analysis system
JPH08161292A (ja) 1994-12-09 1996-06-21 Matsushita Electric Ind Co Ltd 混雑度検知方法およびそのシステム
US5594469A (en) 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5682229A (en) 1995-04-14 1997-10-28 Schwartz Electro-Optics, Inc. Laser range camera
US5913727A (en) 1995-06-02 1999-06-22 Ahdoot; Ned Interactive movement and contact simulation game
JP3481631B2 (ja) 1995-06-07 2003-12-22 ザ トラスティース オブ コロンビア ユニヴァーシティー イン ザ シティー オブ ニューヨーク 能動型照明及びデフォーカスに起因する画像中の相対的なぼけを用いる物体の3次元形状を決定する装置及び方法
US5682196A (en) 1995-06-22 1997-10-28 Actv, Inc. Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers
US5702323A (en) 1995-07-26 1997-12-30 Poulton; Craig K. Electronic exercise enhancer
US6430997B1 (en) 1995-11-06 2002-08-13 Trazer Technologies, Inc. System and method for tracking and assessing movement skills in multidimensional space
US6073489A (en) 1995-11-06 2000-06-13 French; Barry J. Testing and training system for assessing the ability of a player to complete a task
US6098458A (en) 1995-11-06 2000-08-08 Impulse Technology, Ltd. Testing and training system for assessing movement and agility skills without a confining field
US6308565B1 (en) 1995-11-06 2001-10-30 Impulse Technology Ltd. System and method for tracking and assessing movement skills in multidimensional space
US6176782B1 (en) 1997-12-22 2001-01-23 Philips Electronics North America Corp. Motion-based command generation technology
US5933125A (en) 1995-11-27 1999-08-03 Cae Electronics, Ltd. Method and apparatus for reducing instability in the display of a virtual environment
US5641288A (en) 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
JP2000510013A (ja) 1996-05-08 2000-08-08 リアル ヴィジョン コーポレイション 位置検出を用いたリアルタイムシミュレーション
US6173066B1 (en) 1996-05-21 2001-01-09 Cybernet Systems Corporation Pose determination and tracking by matching 3D objects to a 2D sensor
US5989157A (en) 1996-08-06 1999-11-23 Walton; Charles A. Exercising system with electronic inertial game playing
JP2001504605A (ja) 1996-08-14 2001-04-03 ラティポフ,ヌラフメド,ヌリスラモビチ 空間内のユーザの位置及び方向性を追跡及び表示するための方法、ユーザに対し仮想環境を提示するための方法及びこれらの方法を実現するためのシステム
JP3064928B2 (ja) 1996-09-20 2000-07-12 日本電気株式会社 被写体抽出方式
DE69626208T2 (de) 1996-12-20 2003-11-13 Hitachi Europ Ltd Verfahren und System zur Erkennung von Handgesten
US6009210A (en) 1997-03-05 1999-12-28 Digital Equipment Corporation Hands-free interface to a virtual reality environment using head tracking
US6100896A (en) 1997-03-24 2000-08-08 Mitsubishi Electric Information Technology Center America, Inc. System for designing graphical multi-participant environments
US5877803A (en) 1997-04-07 1999-03-02 Tritech Mircoelectronics International, Ltd. 3-D image detector
US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
JP3077745B2 (ja) 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
US6188777B1 (en) 1997-08-01 2001-02-13 Interval Research Corporation Method and apparatus for personnel detection and tracking
US6289112B1 (en) 1997-08-22 2001-09-11 International Business Machines Corporation System and method for determining block direction in fingerprint images
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
EP0905644A3 (en) 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US6141463A (en) 1997-10-10 2000-10-31 Electric Planet Interactive Method and system for estimating jointed-figure configurations
AU9808298A (en) 1997-10-15 1999-05-03 Electric Planet, Inc. A system and method for generating an animatable character
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
AU1099899A (en) 1997-10-15 1999-05-03 Electric Planet, Inc. Method and apparatus for performing a clean background subtraction
US6130677A (en) 1997-10-15 2000-10-10 Electric Planet, Inc. Interactive computer vision system
US6101289A (en) 1997-10-15 2000-08-08 Electric Planet, Inc. Method and apparatus for unencumbered capture of an object
US6181343B1 (en) 1997-12-23 2001-01-30 Philips Electronics North America Corp. System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs
JP2002516121A (ja) 1998-03-03 2002-06-04 アリーナ, インコーポレイテッド 多次元空間における運動技術を追跡し、そして評価するためのシステムおよび方法
US6159100A (en) 1998-04-23 2000-12-12 Smith; Michael D. Virtual reality game
US7102633B2 (en) * 1998-05-27 2006-09-05 In-Three, Inc. Method for conforming objects to a common depth perspective for converting two-dimensional images into three-dimensional images
US6077201A (en) 1998-06-12 2000-06-20 Cheng; Chau-Yang Exercise bicycle
US6801637B2 (en) 1999-08-10 2004-10-05 Cybernet Systems Corporation Optical body tracker
US7036094B1 (en) 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
US7121946B2 (en) 1998-08-10 2006-10-17 Cybernet Systems Corporation Real-time head tracking system for computer games and other applications
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6681031B2 (en) 1998-08-10 2004-01-20 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
IL126284A (en) 1998-09-17 2002-12-01 Netmor Ltd System and method for three dimensional positioning and tracking
EP0991011B1 (en) 1998-09-28 2007-07-25 Matsushita Electric Industrial Co., Ltd. Method and device for segmenting hand gestures
WO2000034919A1 (en) 1998-12-04 2000-06-15 Interval Research Corporation Background estimation and segmentation based on range and color
US6147678A (en) 1998-12-09 2000-11-14 Lucent Technologies Inc. Video hand image-three-dimensional computer interface with multiple degrees of freedom
WO2000036372A1 (en) 1998-12-16 2000-06-22 3Dv Systems, Ltd. Self gating photosurface
US6570555B1 (en) 1998-12-30 2003-05-27 Fuji Xerox Co., Ltd. Method and apparatus for embodied conversational characters with multimodal input/output in an interface device
US6363160B1 (en) 1999-01-22 2002-03-26 Intel Corporation Interface using pattern recognition and tracking
US7003134B1 (en) 1999-03-08 2006-02-21 Vulcan Patents Llc Three dimensional object pose estimation which employs dense depth information
US6299308B1 (en) 1999-04-02 2001-10-09 Cybernet Systems Corporation Low-cost non-imaging eye tracker system for computer control
US6503195B1 (en) 1999-05-24 2003-01-07 University Of North Carolina At Chapel Hill Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction
US6476834B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Dynamic creation of selectable items on surfaces
US6873723B1 (en) 1999-06-30 2005-03-29 Intel Corporation Segmenting three-dimensional video images using stereo
US6738066B1 (en) 1999-07-30 2004-05-18 Electric Plant, Inc. System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display
US7113918B1 (en) 1999-08-01 2006-09-26 Electric Planet, Inc. Method for video enabled electronic commerce
US7050606B2 (en) 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
US6663491B2 (en) 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6633294B1 (en) 2000-03-09 2003-10-14 Seth Rosenthal Method and apparatus for using captured high density motion for animation
EP1152261A1 (en) 2000-04-28 2001-11-07 CSEM Centre Suisse d'Electronique et de Microtechnique SA Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves
US6640202B1 (en) 2000-05-25 2003-10-28 International Business Machines Corporation Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications
US6731799B1 (en) 2000-06-01 2004-05-04 University Of Washington Object segmentation with background extraction and moving boundary techniques
US6788809B1 (en) 2000-06-30 2004-09-07 Intel Corporation System and method for gesture recognition in three dimensions using stereo imaging and color vision
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US7039676B1 (en) 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
US8035612B2 (en) 2002-05-28 2011-10-11 Intellectual Ventures Holding 67 Llc Self-contained interactive video display system
US7259747B2 (en) 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
JP3420221B2 (ja) 2001-06-29 2003-06-23 株式会社コナミコンピュータエンタテインメント東京 ゲーム装置及びプログラム
US6940538B2 (en) 2001-08-29 2005-09-06 Sony Corporation Extracting a depth map from known camera and model tracking data
US6937742B2 (en) 2001-09-28 2005-08-30 Bellsouth Intellectual Property Corporation Gesture activated home appliance
US7030877B1 (en) 2002-03-04 2006-04-18 Advanced Micro Devices, Inc. Computer graphics processing system, computer memory, and method of use with computer graphics processing system utilizing hierarchical image depth buffer
US7607509B2 (en) 2002-04-19 2009-10-27 Iee International Electronics & Engineering S.A. Safety device for a vehicle
US7348963B2 (en) 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7710391B2 (en) 2002-05-28 2010-05-04 Matthew Bell Processing an image utilizing a spatially varying pattern
US7170492B2 (en) 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
US7489812B2 (en) 2002-06-07 2009-02-10 Dynamic Digital Depth Research Pty Ltd. Conversion and encoding techniques
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
JP4235729B2 (ja) 2003-02-03 2009-03-11 国立大学法人静岡大学 距離画像センサ
US7257237B1 (en) 2003-03-07 2007-08-14 Sandia Corporation Real time markerless motion tracking using linked kinematic chains
DE602004006190T8 (de) 2003-03-31 2008-04-10 Honda Motor Co., Ltd. Vorrichtung, Verfahren und Programm zur Gestenerkennung
US8072470B2 (en) 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
JP4355341B2 (ja) 2003-05-29 2009-10-28 本田技研工業株式会社 深度データを用いたビジュアルトラッキング
EP3190546A3 (en) 2003-06-12 2017-10-04 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
WO2005041579A2 (en) 2003-10-24 2005-05-06 Reactrix Systems, Inc. Method and system for processing captured image information in an interactive video display system
WO2005104010A2 (en) 2004-04-15 2005-11-03 Gesture Tek, Inc. Tracking bimanual movements
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US7704135B2 (en) 2004-08-23 2010-04-27 Harrison Jr Shelton E Integrated game system, method, and device
KR20060070280A (ko) 2004-12-20 2006-06-23 한국전자통신연구원 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법
EP1849123A2 (en) 2005-01-07 2007-10-31 GestureTek, Inc. Optical flow based tilt sensor
EP2487624B1 (en) 2005-01-07 2020-02-19 Qualcomm Incorporated(1/3) Detecting and tracking objects in images
CN101198964A (zh) 2005-01-07 2008-06-11 格斯图尔泰克股份有限公司 使用红外图案照射创建对象的三维图像
US7598942B2 (en) 2005-02-08 2009-10-06 Oblong Industries, Inc. System and method for gesture based control system
JP4686595B2 (ja) 2005-03-17 2011-05-25 本田技研工業株式会社 クリティカルポイント解析に基づくポーズ推定
BRPI0613165A2 (pt) 2005-05-17 2010-12-21 Gesturetek Inc saìda de sinal sensìvel à orientação
EP1752748B1 (en) 2005-08-12 2008-10-29 MESA Imaging AG Highly sensitive, fast pixel for use in an image sensor
US20080026838A1 (en) 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
US7450736B2 (en) 2005-10-28 2008-11-11 Honda Motor Co., Ltd. Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers
WO2007102537A1 (ja) 2006-03-07 2007-09-13 Osaka University 姿勢推定装置および方法
US7701439B2 (en) 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
WO2008014826A1 (en) * 2006-08-03 2008-02-07 Alterface S.A. Method and device for identifying and extracting images of multiple users, and for recognizing user gestures
JP5395323B2 (ja) 2006-09-29 2014-01-22 ブレインビジョン株式会社 固体撮像素子
US7412077B2 (en) 2006-12-29 2008-08-12 Motorola, Inc. Apparatus and methods for head pose estimation and head gesture detection
US20090265671A1 (en) 2008-04-21 2009-10-22 Invensense Mobile devices with motion gesture recognition
CA2717485A1 (en) 2007-03-02 2008-09-12 Organic Motion System and method for tracking three dimensional objects
US7729530B2 (en) 2007-03-03 2010-06-01 Sergey Antonov Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system
US7852262B2 (en) 2007-08-16 2010-12-14 Cybernet Systems Corporation Wireless mobile indoor/outdoor tracking system
CN101254344B (zh) 2008-04-18 2010-06-16 李刚 场地方位与显示屏点阵按比例相对应的游戏装置和方法
US8113991B2 (en) 2008-06-02 2012-02-14 Omek Interactive, Ltd. Method and system for interactive fitness training program
US8284258B1 (en) 2008-09-18 2012-10-09 Grandeye, Ltd. Unusual event detection in wide-angle video (based on moving object trajectories)
US8340432B2 (en) 2009-05-01 2012-12-25 Microsoft Corporation Systems and methods for detecting a tilt angle from a depth image
US8284157B2 (en) 2010-01-15 2012-10-09 Microsoft Corporation Directed performance in motion capture system
US8659658B2 (en) 2010-02-09 2014-02-25 Microsoft Corporation Physical interaction zone for gesture-based user interfaces
US20120056982A1 (en) 2010-09-08 2012-03-08 Microsoft Corporation Depth camera based on structured light and stereo vision
US9355305B2 (en) * 2010-10-08 2016-05-31 Panasonic Corporation Posture estimation device and posture estimation method
US8629886B2 (en) 2010-12-07 2014-01-14 Microsoft Corporation Layer combination in a surface composition system
US8448056B2 (en) 2010-12-17 2013-05-21 Microsoft Corporation Validation analysis of human target
US8401225B2 (en) 2011-01-31 2013-03-19 Microsoft Corporation Moving object segmentation using depth images
US8761437B2 (en) 2011-02-18 2014-06-24 Microsoft Corporation Motion recognition
TWI419078B (zh) 2011-03-25 2013-12-11 Univ Chung Hua 即時立體影像產生裝置與方法
US8526734B2 (en) * 2011-06-01 2013-09-03 Microsoft Corporation Three-dimensional background removal for vision system
US8929612B2 (en) 2011-06-06 2015-01-06 Microsoft Corporation System for recognizing an open or closed hand
US8897491B2 (en) 2011-06-06 2014-11-25 Microsoft Corporation System for finger recognition and tracking
US9208571B2 (en) 2011-06-06 2015-12-08 Microsoft Technology Licensing, Llc Object digitization
US9047507B2 (en) * 2012-05-02 2015-06-02 Apple Inc. Upper-body skeleton extraction from depth maps
US8813378B2 (en) * 2012-05-17 2014-08-26 Carol S. Grove System and method for drafting garment patterns from photographs and style drawings
US9019267B2 (en) * 2012-10-30 2015-04-28 Apple Inc. Depth mapping with enhanced resolution

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100034457A1 (en) * 2006-05-11 2010-02-11 Tamir Berliner Modeling of humanoid forms from depth maps
CN101657825A (zh) * 2006-05-11 2010-02-24 普莱姆传感有限公司 根据深度图对人形进行建模
US20100303289A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Device for identifying and tracking multiple humans over time
US20110052006A1 (en) * 2009-08-13 2011-03-03 Primesense Ltd. Extraction of skeletons from 3d maps
US20110080336A1 (en) * 2009-10-07 2011-04-07 Microsoft Corporation Human Tracking System

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115588006A (zh) * 2022-11-11 2023-01-10 四川大学 一种标准化牙弓形态的提取方法
CN115588006B (zh) * 2022-11-11 2023-11-21 四川大学 一种标准化牙弓形态的提取方法

Also Published As

Publication number Publication date
US20150347864A1 (en) 2015-12-03
US9135516B2 (en) 2015-09-15
US20160196468A1 (en) 2016-07-07
CN105073210B (zh) 2018-01-02
WO2014138270A3 (en) 2014-12-04
US20140254867A1 (en) 2014-09-11
US9959459B2 (en) 2018-05-01
EP2964353B1 (en) 2016-09-21
WO2014138270A2 (en) 2014-09-12
US9311560B2 (en) 2016-04-12
EP2964353A2 (en) 2016-01-13

Similar Documents

Publication Publication Date Title
CN105073210A (zh) 使用深度图像的用户身体角度、曲率和平均末端位置提取
TWI469813B (zh) 在動作擷取系統中追踪使用者群組
CN102141838B (zh) 基于视觉的身份跟踪
CN102135798B (zh) 仿生学运动
CN102413885B (zh) 用于对运动捕捉应用模型跟踪的系统和方法
CN102549619B (zh) 人类跟踪系统
CN102947777B (zh) 用户跟踪反馈
CN102576466B (zh) 用于跟踪模型的系统和方法
US8660310B2 (en) Systems and methods for tracking a model
CN102665838B (zh) 用于确定和跟踪目标的肢端的方法和系统
US8467574B2 (en) Body scan
US8803889B2 (en) Systems and methods for applying animations or motions to a character
CN102448560B (zh) 经由屏幕上化身进行用户移动反馈的系统和方法
US20110109617A1 (en) Visualizing Depth
CN102221883A (zh) 自然用户界面的主动校准
CN102448563A (zh) 深度图像降噪
CN105144240B (zh) 使用深度图像的用户质心和质量分布提取
CN107077730A (zh) 基于剪影的肢寻找器确定

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant