CN105518584A - 利用热区识别交互 - Google Patents

利用热区识别交互 Download PDF

Info

Publication number
CN105518584A
CN105518584A CN201480036264.0A CN201480036264A CN105518584A CN 105518584 A CN105518584 A CN 105518584A CN 201480036264 A CN201480036264 A CN 201480036264A CN 105518584 A CN105518584 A CN 105518584A
Authority
CN
China
Prior art keywords
zone
hot
pixel
capture device
depth
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.)
Pending
Application number
CN201480036264.0A
Other languages
English (en)
Inventor
C.怀特
S.W.海尼
J.卡普兰
J.麦奎恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN105518584A publication Critical patent/CN105518584A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • 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/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • 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

Landscapes

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

Abstract

用于限定三维(3D)区的系统和方法,所述三维区在由深度捕获系统检测到的元素进入或退出时引起数字事件。区包括与其的交互通过区中像素的激活来发生的环境中的空间区域。可以向应用提供该事件以执行基于事件的程序任务。事件的生成可以限于具体人员、身体部分或对象或这些的组合的进入或退出。通过使用数字事件,与真实世界对象的交互可以绑定到数字事件。

Description

利用热区识别交互
优先权申明
本申请要求享有2013年6月26日提交的题为RECOGNIZINGINTERACTIONSWITHREALWORLDOBJECTS的美国临时申请序列号61/839,532的权益。
背景技术
在过去,诸如计算机游戏和多媒体应用之类的计算应用已经使用了控制器、遥控、键盘、鼠标等来允许用户操纵游戏角色或应用的其它方面。最近,计算机游戏和多媒体应用已经开始采用相机和运动识别来提供自然用户接口(“NUI”)。利用NUI,用户手势被检测、解译和使用以控制游戏角色或应用的其它方面。
一般地在物理与数字世界之间存在强烈的界线。构建丰富的数字体验是可能的,但是一般不存在对体验所关于的物理对象的回绑(tieback)。存在众多与真实世界对象的应用用户交互将增强应用体验。
发明内容
描述了用于限定三维(3D)区的技术,所述三维区在由深度捕获系统检测到的元素激活时将引起数字事件。每一个区(zone)包括包含经限定的区块(area)的三维空间中的区域(region),与其的交互通过由捕获设备检测到的时间段内的阈值数目的像素的激活来检测。可以向应用提供该事件以执行基于事件的程序任务。阈值可以根据像素的绝对数目或必须激活以便触发事件的三维捕获数据中的像素的百分比来限定。事件的生成可以限于具体人员、身体部分或对象的进入或退出。通过使用数字事件,与真实世界对象的交互可以绑定到数字事件。区可以通过获悉具体像素是否总是“接通”而随时间适配以便从持续信号过滤它们并且可以做出捕获设备到之前记录的场景的自动对准以便自动校准相机和区。
提供本发明内容来以简化的形式引入以下在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识所要求保护的主题的关键特征或必要特征,也不意图用作帮助确定所要求保护的主题的范围。
附图说明
图1图示了其中技术的实施例可以操作的目标识别、分析和追踪系统的示例实施例。
图2图示了包括用于自动生成具有经限定的艺术风格的用户的面部化身的硬件和软件组件的系统的实施例。
图3图示了可以用于体现和实现技术的系统和方法实施例的计算机系统的示例实施例。
图4A图示了示例性深度图像。
图4B描绘了示例性深度图像中的示例性数据。
图5示出由骨骼识别引擎生成的示例身体模型的非限制性视觉表示。
图6示出如从正面查看的骨骼模型。
图7示出如从倾斜视图查看的骨骼模型。
图8和9图示了用户与3-D热区交互的示例实施例。
图10A是图示了依照本技术的方法的流程图。
图10B是图示了依照本技术的追踪与热区的用户交互的方法的流程图。
图11是图示了渲染数字事件的引发事件的使用的流程图。
图12是图示了与热区的交互的检测的方法。
图13和14是图示了用于配置热区的方法的流程图。
图15是图示了用于修正与热区或相机有关的问题的方法的流程图。
图16是热区的示例性XML限定。
图17图示了热区与具体捕获设备的关联。
具体实施方式
描述了用于限定三维(3D)区的技术,所述三维区在深度捕获系统检测到的元素的进入或退出时将引起数字事件。区域的激活通过区域中的阈值数目的像素的数据在阈值时间段内的改变来确定。因而,区域可以由生物和无生命对象激活。可以向应用提供该事件以执行基于事件的程序任务。用于生成区中的事件的阈值可以根据像素的绝对数目或必须激活以便触发事件的三维捕获数据中的像素的百分比来限定。事件的生成可以限于具体人员、身体部分或对象或这些的组合的进入或退出。通过使用数字事件,与真实世界对象的交互可以绑定到数字事件。区可以通过获悉具体像素是否总是“接通”而随时间适配以便从持续信号过滤它们并且可以做出捕获设备到之前记录的场景的自动对准以便自动校准相机和区。
图1图示了其中技术的实施例可以操作的目标识别、分析和追踪系统的示例实施例。在该上下文示例中,用户18在他的起居室中,如椅子和植物的图示性静态、背景对象23所指示的那样。用户18与自然用户接口(NUI)交互,自然用户接口(NUI)将手势识别为控制动作。NUI利用在其视场中用户18站立的3D图像捕获设备20以及计算机系统12实现,以在显示监视器16的显示器14上的计算机系统12上执行的软件的控制之下从所显示的菜单选择多媒体应用,在该示例中高清晰度电视也在起居室中。该示例中的计算机系统12是游戏控制台,例如来自控制台的XBOX?家族的一个。3D图像捕获设备20可以包括提供深度数据的深度传感器,该深度数据也可以与所捕获的图像数据相关。这样的图像捕获设备的示例是相机的Kinect?家族的深度敏感相机。也可以经由麦克风捕获音频数据的捕获设备20与计算机系统12一起可以实现目标识别、分析和追踪系统10,其可以用于识别、分析和/或追踪诸如用户18之类的人类目标,包括用户的头部特征,包括面部特征。
其它系统实施例可以使用其它类型的计算机系统,诸如台式计算机和移动设备,比如膝上型电脑、智能电话和平板电脑,包括用于捕获用户的头部特征的深度敏感相机和用于示出作为结果的个性化化身的显示器或与其通信耦合。在任何事件中,无论哪一个或哪些类型的计算机系统用于生成面部个性化化身,生成面部化身的一个或多个处理器将最可能包括至少一个图形处理单元(GPU)。
系统10及其组件的合适示例在以下共同未决的专利申请中找到:2009年5月29日提交的题为“EnvironmentAnd/OrTargetSegmentation”的美国专利申请序列号12/475,094;2009年7月29日提交的题为“AutoGeneratingaVisualRepresentation”的美国专利申请序列号12/511,850;2009年5月29日提交的题为“GestureTool”的美国专利申请序列号12/474,655;2009年10月21日提交的题为“PoseTrackingPipeline”的美国专利申请序列号12/603,437;2009年5月29日提交的题为“DeviceforIdentifyingandTrackingMultipleHumansOverTime”的美国专利申请序列号12/475,308;2009年10月7日提交的题为“HumanTrackingSystem”的美国专利申请序列号12/575,388;2009年4月13日提交的题为“GestureRecognizerSystemArchitecture”的美国专利申请序列号12/422,661;2009年2月23日提交的题为“StandardGestures”的美国专利申请序列号12/391,150;以及2009年5月29日提交的题为“GestureTool”的美国专利申请序列号12/474,655。
图2图示了包括用于检测相对于三维热区的用户移动和触发数字事件的硬件和软件组件的系统的实施例。捕获设备20的示例实施例被配置成经由任何合适的技术捕获具有可以包括深度值的深度图像的视频,任何合适的技术包括例如飞行时间、结构光、立体相机等等。根据一个实施例,捕获设备20可以将所计算的深度信息组织到“Z层”或可以垂直于从深度相机沿其视线延伸的Z轴的层中。X和Y轴可以限定为垂直于Z轴,或者可以限定在从基于相机本征值的相机原点扩展开的投影空间中。Y轴可以是竖直的并且X轴可以是水平的。在一起,X、Y和Z轴限定由捕获设备20捕获的3D真实世界空间。
在该公开内容的上下文中,对三维笛卡尔坐标系统做出参考。然而,应当理解的是,依照本技术可以使用众多各种类型的坐标系统中的任一个。
如图2中所示,该示例性捕获设备20可以包括图像和深度相机组件22,其捕获像素化传感器阵列26的深度图像。深度值可以与每一个所捕获的像素相关联。深度值的一些示例是所捕获的场景中的对象距相机的以例如厘米、毫米等为单位的长度或距离。传感器阵列像素28是利用对RGB可见光敏感的子像素传感器加上用于确定针对像素28的深度值的IR传感器的像素的代表性示例。可以使用深度敏感和可见光传感器的其它布置。红外(IR)光照组件24可以将红外光发射到场景上,并且IR传感器检测从传感器阵列26的视场中的场景中的一个或多个目标和对象的表面反向散射的光,可以从所述光创建场景的深度图。在一些示例中,基于在传感器处接收到的IR光的强度或相位的飞行时间分析可以用于做出深度确定。
根据另一实施例,捕获设备20可以包括两个或更多物理分离的相机,其可以从不同角度查看场景以获取可以被分解以生成深度信息的视觉立体数据。
捕获设备20还可以包括麦克风30,所述麦克风接收由用户提供的音频信号,以便控制可以在作为自然用户接口的部分的计算环境12上执行的应用。
在示例实施例中,捕获设备20可以包括与图像和深度相机组件22通信并且能够访问可以存储用于供处理器32执行的指令以及由3D相机捕获和可能处理的图像或图像帧的存储器组件34的处理器32。存储器组件34可以包括随机存取存储器(RAM)、只读存储器(ROM)、缓存、闪存、硬盘或任何其它合适的存储组件。处理器32还可以执行图像处理,包括一些对象识别步骤以及所捕获的图像数据的格式化。
如图2的示例中所示,捕获设备20经由可以是有线或无线连接的通信链路36与计算环境12通信耦合。此外,捕获设备20还可以包括网络接口35并且可选地通过一个或多个通信网络50通信耦合至远程计算机系统112以用于向远程计算机系统112发送3D图像数据。在一些实施例中,计算机系统12或远程计算机系统12可以向捕获设备20提供时钟,其可以用于确定何时捕获例如场景。
在所图示的示例中,计算机系统12包括各种软件应用、数据源和接口。在其它示例中,软件可以跨多个计算机系统执行,其中的一个或多个计算机系统可以是远程的。此外,应用、数据和接口还可以由捕获设备20或计算机系统12与其通信的远程计算机系统112远程执行和存储。此外,诸如关于图3A和3B更详细地讨论的规则和限定之类的用于由应用使用的数据可以经由远程存储的数据136存储和可访问。
计算机系统12包括操作系统110、用于与其它计算机系统通信的网络接口136、用于向比如显示器设备16的显示器14那样的显示器传送数据、指令或二者的显示接口124以及用于协调与3D捕获设备20的深度图像数据和指令的交换的相机接口134。图像和音频处理引擎113包括自然用户接口软件122,其可以包括比如手势识别的软件和声音识别软件以用于标识用户身体的动作或嗓音提示,其是命令或推进多媒体应用的动作。此外,3D对象识别引擎114使用诸如边缘检测之类的技术来检测边界并且将边界与所存储的形状数据比较以用于标识对象的类型。也可以在对象识别中使用彩色图像数据。可以标识的对象类型是包括比如人类头部那样的身体部分的人类身体。场景映射引擎118追踪3D捕获设备的视场中的一个或多个对象的位置。此外,可以关于与相机无关的坐标系统随时间追踪对象位置和移动。
3D热区配置引擎116生成3D热区限定以供图2的系统使用。生成热区的方式的实施例在以下图中讨论。3D热区检测引擎120自动检测与所限定的热区的交互,确定是否通过例如API125引发数字事件,并且当发生对热区的改变时对热区做出调节。数据源126可以是本地存储以供图像和音频处理引擎113的应用使用的数据。
应用编程接口(API)125为多媒体应用128提供接口。除了比如包括个人标识图像数据的个人标识信息那样的用户特定数据之外,用户简档数据130还可以存储数据或到用户简档信息、诸如用户标识的骨骼模型之类的用户标识特性的存储位置的数据参考。
包括骨骼识别引擎192以从通过捕获设备20观察到的深度数据创建骨骼模型。以下描述示例性骨骼模型。
应当认识到的是,计算机系统12的全部或部分可以在没有系统与捕获设备之间的直接连接36的情况下通过经由网络50耦合到捕获设备的计算环境实现。任何图像和音频处理引擎113、应用128和用户简档数据130可以存储和实现在集群计算环境中。
图3图示了可以用于体现和实现技术的系统和方法实施例的计算机系统的示例实施例。例如,图3是比如计算机系统12或远程计算机系统112以及诸如移动设备之类的其它类型的计算机系统那样的计算机系统的实施例的框图。以下讨论的不同示例性组件的尺度、数量和复杂度将随计算机系统的复杂度而变化。图3图示了示例性计算机系统900。在其最基本的配置中,计算系统900典型地包括一个或多个处理单元902,其包括一个或多个中央处理单元(CPU)和一个或多个图形处理单元(GPU)。计算机系统900还包括存储器904。取决于计算机系统的确切配置和类型,存储器904可以包括易失性存储器905(诸如RAM)、非易失性存储器907(诸如ROM、闪存等)或二者的某种组合。该最基本的配置在图3中通过虚线906图示。此外,计算机系统900还可以具有附加的特征/功能性。例如,计算机系统900还可以包括附加存储装置(可移除和/或不可移除),包括但不限于磁盘或光盘或磁带。这样的附加存储装置在图3中通过可移除存储装置908和不可移除存储装置910来图示。
计算机系统900还可以包含(多个)通信模块912,其包括一个或多个网络接口和允许设备与其它计算机系统通信的收发器。计算机系统900还可以具有(多个)输入设备914,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括(多个)输出设备916,诸如显示器、扬声器、打印机等。
图中图示的示例计算机系统包括计算机可读存储设备的示例。计算机可读存储设备还是处理器可读存储设备。这样的设备可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除存储器设备。处理器或计算机可读存储设备的一些示例是RAM、ROM、EEPROM、缓存、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储装置、存储器棒或卡、磁盒、磁带、媒体驱动器、硬盘、磁盘存储装置或其它磁性存储设备或可以用于存储信息并且可以由处理器访问的任何其它设备。
图4A图示了可以在计算系统112处从捕获设备120接收的深度图像的示例实施例。根据示例实施例,深度图像可以是通过例如以上关于图2描述的捕获设备120的3D相机226和/或RGB相机228捕获的场景的图像和/或帧。如图4A中所示,深度图像可以包括对应于例如诸如以上关于图1描述的用户118之类的用户的人类目标和诸如所捕获的场景中的墙壁、桌子、监视器等之类的一个或多个非人类目标(即真实世界对象)。如以上所描述的,深度图像可以包括多个所观察到的像素,其中每一个所观察到的像素具有与其相关联的所观察到的深度值。例如,深度图像可以包括所捕获到的场景的二维(2-D)像素区块,其中2-D像素区块中的特定x值和y值处的每一个像素可以具有诸如所捕获到的场景中的目标或对象距捕获设备的以例如厘米、毫米等为单位的长度或距离之类的深度值。换言之,深度图像可以针对深度图像中的每一个像素指定像素位置和像素深度。在分段过程(例如由运行时引擎244执行)之后,深度图像中的每一个像素还可以具有与其相关联的分段值。像素位置可以由x定位值(即水平值)和y定位值(即竖直值)指示。像素深度可以由z定位值(还称为深度值)指示,其指示用于获取深度图像的捕获设备(例如120)与由像素所表示的用户部分之间的距离。分段值用于指示像素是否对应于特定用户,或者不对应于用户。
在一个实施例中,深度图像可以是彩色的或灰度的,以使得深度图像的像素的不同颜色或阴影对应于和/或在视觉上描绘目标距捕获设备120的不同距离。当接收到图像时,可以从深度图像移除和/或平滑一个或多个高方差和/或有噪声的深度值;可以填入和/或重构缺失和/或移除的深度信息的部分;和/或可以在所接收到的深度图像上执行任何其它合适的处理。
图4B提供了深度图像的另一视图/表示(不对应于与图4A相同的示例)。图4B的视图示出针对每一个像素的深度数据,其作为表示针对该像素的目标到捕获设备120的距离的整数。图4B的示例深度图像示出24x24像素;然而,很可能将会使用更大分辨率的深度图像。
图6示出通过骨骼识别引擎192生成的示例身体模型70的非限制性视觉表示。身体模型70是模型化目标(例如来自图1的用户18)的机器表示。身体模型70可以包括一个或多个数据结构,其包括以游戏或其它应用/操作系统的语言共同限定模型化目标的变量集合。
目标的模型可以进行各种配置,而不脱离于本公开内容的范围。在一些示例中,身体模型可以包括将目标表示为包括刚性和/或可变形形状或身体部分的三维模型的一个或多个数据结构。每一个身体部分可以表征为数学原函数,其示例包括但不限于球体、各向异性地缩放的球体、柱体、各向异性的柱体、平滑柱体、框、斜面框、棱柱等。在一个实施例中,身体部分关于身体部分的轴对称。
例如,图5的身体模型70包括身体部分bp1到bp14,其中的每一个表示模型化目标的不同部分。每一个身体部分是三维形状。例如,bp3是表示模型化目标的左手的矩形棱柱,并且bp5是表示模型化目标的左上臂的八边形棱柱。身体模型70是示例性的,因为身体模型70可以包含任何数目的身体部分,其中的每一个可以是模型化目标的对应部分的任何机器可理解的表示。在一个实施例中,身体部分是柱体。
包括两个或更多身体部分的身体模型70还可以包括一个或多个关节。每一个关节可以允许一个或多个身体部分相对于一个或多个其它身体部分移动。例如,表示人类目标的模型可以包括多个刚性和/或可变形身体部分,其中一些身体部分可以表示人类目标的对应解剖学身体部分。另外,模型的每一个身体部分可以包括一个或多个结构构件(即“骨头”或骨骼部分),其具有位于相邻骨头的交叉处的关节。要理解的是,一些骨头可以对应于人类目标中的解剖学骨头和/或一些骨头可能不具有人类目标中的对应解剖学骨头。
骨头和关节可以共同构成骨骼模型,其可以是身体模型的组成元素。在一些实施例中,可以使用骨骼模型而不是另一类型的模型,诸如图5的模型70。骨骼模型可以包括用于每一个身体部分的一个或多个骨骼构件和相邻骨骼构件之间的关节。示例骨骼模型80和示例骨骼模型82分别在图6和7中示出。图6示出如从正面查看的骨骼模型80,具有关节j1到j33。图7示出如从倾斜视图查看的骨骼模型82,同样具有关节j1到j33。骨骼模型可以包括更多或更少的关节,而不脱离于本公开内容的精神。以下解释的本系统的进一步的实施例使用具有31个关节的骨骼模型进行操作。
在一个实施例中,系统100向骨骼模型添加表示身体部分的几何形状以形成身体模型。要指出的是,并非所有关节需要在身体模型中表示。例如,对于手臂,可以存在添加在关节j2与j18之间的柱体以用于上臂,以及添加在关节j18与j20之间的另一柱体以用于下臂。在一个实施例中,柱体的中心轴链接两个关节。然而,可能不存在添加在关节j20与j22之间的任何形状。换言之,可能在身体模型中不表示手部。
在一个实施例中,为以下身体部分向骨骼模型添加几何形状:头部、上部躯干、下部躯干、左上臂、左下臂、右上臂、右下臂、左上腿、左下腿、右上腿、右下腿。在一个实施例中,这些每一个都是柱体,尽管可以使用另一形状。在一个实施例中,形状关于形状的轴对称。
用于身体部分的形状可以与多于两个关节相关联。例如,用于上部躯干身体部分的形状可以与j1、j2、j5、j6等相关联。
以上描述的身体部分模型和骨骼模型是可以用作模型化目标的机器表示的模型类型的非限制性示例。其它模型也在本公开内容的范围内。例如,一些模型可以包括多边形网格、补丁、非均匀有理B样条、子划分表面或其它高阶表面。模型还可以包括更精确地表示模型化目标的衣物、头发和/或其它方面的表面纹理和/或其它信息。模型可以可选地包括关于当前姿势、一个或多个过去姿势和/或模型物理性质的信息。要理解的是,可以做出姿势的各种不同的模型与本文所描述的目标识别、分析和追踪系统相兼容。
用于生成捕获设备120的视场(FOV)内的一个或多个用户的骨骼模型的软件流水线是已知的。一个这样的系统例如公开在2010年9月7日提交的题为“SystemForFast,ProbabilisticSkeletalTracking”的美国专利公开2012/0056800中,该申请通过引用以其整体并入本文。
图8和9图示了依照本技术的用户18与3D热区交互。在图8中,在802、804和806处图示了三个3D热区。应当理解的是,3D热区802、804和806对用户不是可见的,但是向捕获设备20表示用户可以利用其交互和生成数字事件的三维体积。每一个热区可以由限定为像素的三维区块的定界区域而限定,每一个像素在坐标空间中限定。如以上指出的,坐标空间可以由相对于相机、相对于环境中的另一个基准点的笛卡尔坐标或者另一类型的坐标系统来限定。例如,可以使用相对于相机定位的球锥坐标系统。区域可以是任何体积形状,包括例如方形或矩形框、球体、锥体、柱体、角锥或任何多边体积。基准点可以是房间中的已知对象、房间角落或任何物理参考点。
如图8中图示的,3D热区802、804和806与诸如椅子23、桌子26和植物89之类的真实世界对象相关联。3D热区802、804和806中的每一个表示捕获设备120的视场100内的三维体积。在该上下文中,数字事件可以是可以由应用用于生成其自身的事件或者由指令用于使处理器在程序上起反应的任何事件。在一个示例中,当用户触摸椅子时,游戏应用可以相对于游戏渲染的虚拟椅子在游戏中渲染事件。如图9中图示的,当用户18手臂305和手部302接合3D热区802时,引发数字事件并且可以发生作为结果的数字动作,诸如显示器16上的怪兽移动到坐在椅子23的虚拟表示上的显示。可以实现在与3D热区的用户交互时创建的事件的大量其它使用示例。尽管示出三个热区,但是应当理解到的是,可以在环境中限定任何数目的热区。
图10A图示了依照本技术的检测与热区的交互的方法。在步骤402处,捕获设备20的处理器32从图像捕获组件22接收视觉图像和深度图像。在其它示例中,在步骤402处仅接收深度图像。数据包括捕获设备的视场内的深度和视觉数据(或仅深度数据)。深度图像和视觉图像可以由图像捕获组件22中的任何传感器或其它合适的传感器(如本领域中已知的)来捕获。在一个实施例中,与视觉图像分离地捕获深度图像。在一些实现中,深度图像和视觉图像同时捕获,而在其它实现中它们顺序地或者在不同时间捕获。在其它实施例中,深度图像与视觉图像一起捕获或者与视觉图像组合为一个图像文件,使得每一个像素具有R值、G值、B值和Z值(表示距离)。
在步骤404处,确定对应于视觉图像和深度图像的深度信息。可以分析在步骤402处接收的视觉图像和深度图像以确定针对图像内的一个或多个目标的深度值。捕获设备20可以捕获或观察可以包括一个或多个目标的捕获区块。在405处,通过例如处理设备32或计算机系统12输出和分析捕获设备的视场的场景数据。在424处,做出关于对象(生物或无生命对象)是否进入热区的确定。如本文所描述的,该确定通过找到在阈值时间段内与热区相关联的数据中的改变来做出。在一个实施例中,数据中的改变是深度数据中的改变。在可替换的实施例中,视觉数据中的改变可以激活热区。在步骤430处,引发数字事件。图10A的方法可以连续循环以扫描用于与热区交互的环境。
图10B是描述了用于检测相对于三维热区的用户移动和触发数字事件的过程的一个实施例的流程图。在步骤402处,捕获设备20的处理器32从图像捕获组件22接收视觉图像和深度图像。
在步骤404处,确定对应于视觉图像和深度图像的深度信息。在步骤406处,捕获设备确定深度图像是否包括人类目标。在一个示例中,深度图像中的每一个目标可以被泛洪填充并且将其与图案比较以确定深度图像是否包括人类目标。在一个示例中,可以确定深度图像的所捕获到的场景中的每一个目标的边缘。深度图像可以包括针对其2D像素区块中的每一个像素可以表示诸如例如可以从相机测量的长度或距离之类的深度值的所捕获的场景的二维像素区块。可以通过比较与例如深度图像的相邻或附近像素相关联的各种深度值来确定边缘。如果所比较的各种深度值大于预确定的边缘容差,则像素可以限定边缘。捕获设备可以将包括深度图像的所计算的深度信息组织到Z层或可以垂直于从相机沿其视线延伸到观看者的Z轴的层中。Z层的可能的Z值可以基于所确定的边缘泛洪填充。例如,与所确定的边缘相关联的像素和所确定的边缘内的区块的像素可以与彼此相关联以限定捕获区块中的目标或物理对象。
在步骤408处,捕获设备针对一个或多个身体部分而扫描人类目标。可以扫描人类目标以提供与用户的一个或多个身体部分相关联的诸如长度、宽度等之类的测量,使得可以基于这些测量生成用户的精确模型。在一个示例中,隔离人类目标并且创建位掩码以扫描一个或多个身体部分。位掩码可以例如通过泛洪填充人类目标来创建,使得人类目标从捕获区块元素中的其它目标或对象分离。在步骤410处,基于步骤408处执行的扫描来生成人类目标的模型。可以针对一个或多个身体部分分析位掩码以生成诸如人类目标的骨骼模型、网格人类模型等之类的模型。例如,由经扫描的位掩码确定的测量值可以用于限定骨骼模型中的一个或多个关节。位掩码可以包括沿X、Y和Z轴的人类对象的值。一个或多个关节可以用于限定可以对应于人类的身体部分的一个或多个骨头。
根据一个实施例,为了确定人类目标的颈部、肩部等的位置,可以将例如被扫描的定位处的位掩码宽度和与例如颈部、肩部等相关联的典型宽度的阈值进行比较。在可替换的实施例中,距所扫描的并且与位掩码中的身体部分相关联的之前定位的距离可以用于确定颈部、肩部等的位置。
在一个实施例中,为了确定肩部的位置,可以将肩部定位处的位掩码的宽度与阈值肩部值比较。例如,可以将肩部定位处的位掩码的X值处的两个最外Y值之间的距离与例如人类肩部之间的典型距离的阈值肩部值进行比较。因此,根据示例实施例,阈值肩部值可以是与人类的身体模型的肩部相关联的典型宽度或宽度范围。
在另一实施例中,为了确定肩部的位置,可以从头部向下某个距离来解析位掩码。例如,可以与头部顶部相关联的位掩码的顶部可以具有与其相关联的X值。然后可以将与从头部顶部到人类身体的肩部顶部的典型距离相关联的存储值添加到头部顶部的X值以确定肩部的X值。因此,在一个实施例中,可以向与头部顶部相关联的X值添加存储值以确定与肩部相关联的X值。
在一个实施例中,诸如腿部、足部等之类的一些身体部分可以基于例如其他身体部分的位置来计算。例如,如以上所描述的,可以扫描诸如与人类目标相关联的位、像素等之类的信息以确定人类对象的各种身体部分的位置。基于这样的位置,然后可以针对人类目标计算诸如腿部、足部等之类的后续身体部分。
根据一个实施例,当确定例如身体部分的值时,可以创建数据结构,其可以包括诸如与人类目标的位掩码的扫描相关联的身体部分的长度、宽度等之类的测量值。在一个实施例中,数据结构可以包括从多个深度图像平均的扫描结果。例如,捕获设备可以捕获帧中的捕获区块,每一个帧包括深度图像。可以分析每一个帧的深度图像以确定是否可以包括如以上所描述的人类目标。如果帧的深度图像包括人类目标,可以针对一个或多个身体部分扫描与帧相关联的深度图像的人类目标的位掩码。然后可以对针对每一个帧的身体部分的确定值进行平均使得数据结构可以包括诸如与每一个帧的扫描相关联的身体部分的长度、宽度等之类的平均测量值。在一个实施例中,可以诸如放大、缩小等之类地调节所确定的身体部分的测量值,使得数据结构中的测量值更紧密地对应于人类身体的典型模型。在410处,由所扫描的位掩码确定的测量值可以用于限定骨骼模型中的一个或多个关节。
在步骤412处,从接收自捕获设备的深度图像和视觉图像捕获运动。在一个实施例中,步骤414处的捕获运动包括基于如以下更加详细地描述的骨骼映射生成运动捕获文件。在414处,使用骨骼映射来追踪步骤410中创建的模型并且在416处追踪用户运动。例如,当用户在视场内的相机前方的物理空间中移动时可以调节和更新用户18的骨骼模型。来自捕获设备的信息可以用于调节模型使得骨骼模型精确地表示用户。在一个示例中,这通过应用于骨骼模型的一个或多个力接收方面的一个或多个力来完成,以将骨骼模型调节成与人类目标的姿势和物理空间更紧密对应的姿势。
在步骤416处,追踪用户运动并且如循环到步骤412所指示的,步骤412、414和416连续重复以允许后续步骤追踪运动数据并且以连续的方式输出控制信息。
在步骤418处,将运动数据提供给应用,包括在本文所描述的计算系统上可操作的任何应用。在420处还可以评估这样的运动数据,以确定用户是否正在执行预限定的手势。步骤420可以基于UI上下文或其它上下文来执行。例如,当在菜单上下文中操作时,手势的第一集合可以是活跃的,而当在玩游戏上下文中操作时,手势的不同集合可以是活跃的。在步骤420处执行手势识别和控制。将追踪模型和所捕获到的运动传递通过用于活跃手势集合的过滤器以确定是否满足任何活跃手势过滤器。在计算环境内应用任何所检测到的手势以控制计算环境12提供的用户接口。步骤420还可以包括确定是否存在任何手势,并且如果是这样,则修改响应于手势检测而执行的用户接口动作。
在步骤425处,与步骤418和420同时地,做出关于用户或其它对象是否与3D热区交互的确定。以下讨论与热区的交互的确定。如果在步骤425处做出用户已经与热区交互的确定,则在步骤430处,引发数字事件。方法在步骤425处重复,连续监视与所限定的热区的交互。
图11表示可以响应于接收到所引发的事件430而在诸如计算系统12之类的处理设备上发生的过程。在步骤512处,可以通过处理设备检测事件。事件可以通过运行在处理设备上的应用检测,或者指令处理器经由API125响应于事件并且寻求事件的任何代码来检测。在515处,可以响应于热区事件而触发诸如游戏或渲染事件之类的数字事件。渲染事件可以发生诸如游戏或通信应用之类的应用。例如,在图9中将怪兽渲染在椅子上。在步骤516处,接收附加的用户运动数据以供应用或代码在生成游戏内的动作或代码中使用。在步骤518处,可以接收由捕获设备识别的手势。在步骤520处,应用响应于由捕获设备识别的手势和用户运动。
图12图示了用于检测热区中的改变的方法,其在一个实施例中可以包括用于执行图10中的步骤425的方法。在602处,对于捕获设备视图内的每一个区,在606处检测区中的改变。区中的改变可以是与几个像素或某个百分比的像素相关联的深度数据中的改变或来自区的定界区域内的大部分像素的深度数据中的主要改变。在步骤607处,做出关于改变是否在限定与区的交互所要求的阈值水平以上的确定。在607处,改变可以限定为3D热区内的像素的百分比,或者3D热区内的像素的绝对数目。如以下描述的,热区的限定可以基于可能撞击区、占据区体积内的所限定的像素的某个百分比的真实对象的移动而改变或过滤。可选地,在步骤608处,做出关于是否由所允许的人员、对象或人员的附属肢体做出阈值中的改变的确定。
当在以上的步骤406处检测到人类目标时,在步骤410处生成的人类目标的模型可以与各个用户以及被标识和追踪的用户相关联。在一些实施例中,仅在所标识个体与特定热区交互时才引发事件。该交互可以在热区的基础上发生和限定在热区上。也就是说,各个用户可以与各个区或多个区相关联。热区还可以包括限定可以发生与区的什么类型的交互的许可。例如,某些区可能要求人类身体部分交互,其它可能仅允许静态对象交互。应当理解的是,步骤608是可选的。
如果在607处确定区中的改变超过阈值并且在608处确定允许人员或对象改变阈值,则在610处引发数字事件。
图13和14图示了用于限定3D热区的两个不同的方法。在图13中,可以由用户在空间中限定3D热区。在712处,呈现配置接口。配置接口可以呈现在具有用户接口的计算设备上。在步骤714处,确定本地环境中的相机定位。在一方面中,本地坐标系统基于相机定位以及相对于本地坐标系统限定的3D热区。在步骤716处,从配置接口接收针对要限定的每一个3D热区的X、Y和Z坐标。在步骤718处,相对于本地坐标系统存储一个或多个3D热区。
在该上下文中,本地坐标系统可以限定为与相机定位相关或不相关。如果与坐标系统不相关,本地坐标系统可以与本地环境和环境内的基准点相关联。热区可以与环境的场景地图相关联,并且如果相机的定位在环境内移动,从基准点确定坐标。可替换地,可以通过相机定位限定本地坐标系统。在图16中图示了固定到相机定位的热区限定的示例。在又一替换方案中,每一个热区可以与特定真实对象相关联使得如果重定位对象,捕获设备的重新校准将确定对象的重定位并且改变热区的限定以匹配相对于对象的新定位。
在步骤720处,可以执行自动化对准/热区修改过程。如果例如,固体对象开始撞击之前在不受阻碍的空间中限定的热区,或者捕获设备相对于原始位置移动,则对准/修改过程可以补偿这些改变。
图14是图示了以自动化方式执行的热区限定过程的方法。在步骤812处,深度数据由处理设备访问。在814处,在本地空间中确定相机定位。步骤814等同于图13中的相同步骤。步骤816,可以创建场景地图。场景地图可以包括捕获设备定位在其中的本地深度图像。通过使用在步骤816处创建的场景地图,可以标识适合于用户交互的一个或多个真实世界对象,并且在818处确定热区相对于对象的位置。在818处的针对真实世界对象的热区的创建可以取决于将在该上下文中利用热区的应用。可替换地,热区可以针对环境对的数个可标识对象中的全部而创建。在步骤820处,可以在820处使用自动化热区对准/修改过程。步骤818和820等同于以上讨论的步骤718和720。
图15图示了自动化对准热区修改过程。在步骤922处,分析针对特定热区的深度数据。分析将包括相对于热区占据的体积的比较,以及热区中的哪些像素应当具有特定深度值的记录。并且924,做出关于是否一些像素通过具有不同于包含在热区限定中的深度数据而“接通”的确定。像素是否“接通”的确定是相对于在至少阈值量的时间或帧内针对该像素的深度数据中的改变。如果在阈值量的时间内热区的定界区域限定内的像素保持活跃或“接通”,则这可以指示需要解决的物理环境中的改变。如果在步骤924处确定像素在阈值量时间内接通,则在步骤926处,将从限定过滤“接通”像素。在926处从限定中过滤“接通”像素不改变限定,但是在确定是否已经与热区交互中不考虑“接通”像素。可替换地,或者除了过滤像素之外,可以更改热区的X、Y、Z定界限定。如以下关于图16指出的,可以通过X-Y平面中的像素范围和Z方向上的深度范围来创建热区的定界。替换热区限定可以包括更改X-Y平面中的(多个)像素范围和/或距捕获设备(或用于坐标系统的其它参考/基准点)的Z距离。过滤或改变定界限定包括修改热区。在步骤928处,做出关于是否要求相机对准的确定。数个检查可以用于确定相机是否相对于其原始定位而改变。如果是这样,可以在930处执行相机对准算法。可以利用包括例如使用迭代最近点(ICP)或另一类似但更加鲁棒的追踪算法的数个不同的相机对准算法。
在另外的实施例中,诸如KinectFusion之类的系统通过从多个视角随时间对来自捕获设备的深度数据整合来提供环境的单个密集表面模型。当移动传感器时追踪相机姿势(其位置和取向)。对象或环境的这些多个视角可以一起融合(平均)到单个重构体元体积中。该体积可以用于限定环境和这些所映射的环境内的热区。
在一个实施例中,以XML格式限定热区以供计算设备使用解译。在图16中示出热点限定的示例。图16中图示的XML限定示出所限定的三个示例性热区。该上下文中的热区由限定数个像素的X和Y坐标以及限定距相机的距离的Z数据限定。X和Y坐标限定针对捕获设备的视场内的X和Y轴中的每一个的开始和结束像素距离。还示出激活热区所要求的热区内的像素的绝对数目以及由数个帧限定的时间长度,其为必须接合的像素的绝对数目。
图17图示了第一和第二捕获设备20a和20b,每一个具有相应的视场100a和100b。如其中所图示的,一系列热区812、814和822、824可以与每一个视场相关联。每一个捕获设备20a和20b可以连接到提供在处理设备上的中央配置工具以允许特定热点与特定捕获设备的关联。以此方式使用,两个或更多设备可以专用于热区追踪而第三设备可以专用于追踪用户交互。
技术的实施例包括一种渲染数字事件的计算机实现的方法。方法包括在真实世界环境中限定一个或多个三维热区,每一个热区包括空间的体积;
监视真实世界环境以接收深度数据,深度数据包括真实世界环境中的一个或多个三维热区;通过分析深度数据来检测第二真实世界对象与一个或多个热区中的至少一个之间的交互,在热区中的阈值数目的活跃像素基于第二真实世界对象的存在而具有深度距离中的改变时交互发生;以及响应于检测,响应于第二真实世界对象与一个或多个热区之间的交互而向处理设备上的至少一个应用输出信号。
实施例包括任何前述实施例的计算机实现的方法,其中深度数据可以通过参考真实世界环境的三维坐标系统来参考,三维坐标相对于深度捕获设备的定位而限定,每一个热区由坐标系统中的坐标限定。
实施例包括任何前述实施例的计算机实现的方法,其中深度数据可以通过参考真实世界环境的三维坐标系统来参考,三维坐标相对于捕获设备的视场中的基准对象的定位而限定,每一个热区由坐标系统中的坐标限定。
实施例包括任何前述实施例的计算机实现的方法,还包括确定发生定界区域内的连续活跃像素中的改变,并且修改热区。
实施例包括任何前述实施例的计算机实现的方法,其中所述修改包括从热区过滤连续活跃的像素。
实施例包括任何前述实施例的计算机实现的方法,其中所述修改包括改变限定热区的维度坐标中的一个或多个以从而移动热区。
实施例包括任何前述实施例的计算机实现的方法,其中检测包括当热区中的阈值数目的活跃像素在至少阈值时间段内具有深度距离中的改变时发生的交互。
实施例包括任何前述实施例的计算机实现的方法,其中三维坐标相对于深度数据捕获设备而参考,并且还包括确定是否需要热区中的活跃像素中的改变所引起的相机重对准,并且如果需要,使用相机对准算法对准相机。
在另一实施例中,提供了一种生成与真实世界对象的交互的指示的装置,交互被输出到应用以创建数字事件。装置包括具有场景的视场的捕获设备,捕获设备输出相对于坐标系统的视场的深度数据。装置还包括耦合到捕获设备的处理设备,接收深度数据并且响应于代码指令处理设备:接收场景中的一个或多个热区的限定,每一个热区包括与由具有参考点的坐标系统中的多个像素限定的第一真实世界对象相关联的物理空间的体积;通过检测包括通过在阈值时间段内改变一个或多个热区中的多个像素内的深度的阈值数目的像素的激活的交互来检测第二真实世界对象与一个或多个热区之间的交互;并且响应于第二真实世界对象与一个或多个热区之间的交互而输出信号,信号输出到被配置成使用信号来生成应用中的事件的应用。
实施例包括任何前述实施例的装置,其中坐标系统是X、Y和深度坐标系统,其中X和Y坐标包括从捕获设备测量的相对于X和Y轴的最小和最大像素计数,以及限定为距捕获设备的距离的Z坐标,限定包括用于激活的活跃像素的最小数目。
实施例包括任何前述实施例的装置,包括指令处理设备还包括确定是否需要热区中的活跃像素中的改变所引起的相机重对准,并且如果需要的话,使用相机对准算法对准相机。
实施例包括任何前述实施例的装置,其中接收限定包括接收具有在其中针对每一个热区指定的X和Y坐标的数据文件,包括从参考点测量的相对于X和Y轴的最小和最大像素计数,以及限定为距参考点的距离的Z坐标,限定包括用于激活的活跃像素的最小数目。
实施例包括任何前述实施例的装置,还包括代码,其指令处理器确定发生定界区域内的连续活跃像素中的改变,并且修改热区。
实施例包括任何前述实施例的装置,其中装置被配置成通过从热区过滤连续活跃的像素来修改所述热区。
实施例包括任何前述实施例的装置,其中装置被配置成通过改变限定热区的一个或多个坐标以移动区来修改所述热区。
在另一实施例中,提供了一种包括代码的计算机存储介质,所述代码指令能够访问存储介质的处理器执行处理器实现的方法。方法包括在真实世界场景内接收一个或多个热区限定,每一个热区包括与可以由处理器参考的由相对于环境中的参考点确定的像素的三维集合限定的第一真实世界对象相关联的物理空间的体积;确定场景内的交互,交互包括确定在阈值时间段内场景内的所述一个或多个热区的体积内的深度数据中的改变;响应于确定交互,向被配置成使用交互来生成数字事件的应用输出指示交互已经发生的信号;确定对热区限定的调节;以及当确定调节指定需要调节时自动修改热区。
实施例包括任何前述实施例的计算机存储介质,其中参考点包括捕获设备的视场中的基准点并且方法还包括在捕获设备相对于定位移动到新定位之后调节坐标空间。
实施例包括任何前述实施例的计算机存储介质,其中参考点是捕获设备,方法还包括确定提供所述深度数据的捕获设备改变相对于热区的定位并且对准捕获设备。
实施例包括任何前述实施例的计算机存储介质,其中方法还包括确定发生热区内的连续活跃像素中的改变,以及从热区限定过滤热区内的连续活跃的像素。
实施例包括任何前述实施例的计算机存储介质,其中方法还包括确定发生热区内的连续活跃像素中的改变,以及改变限定区定位的至少一个坐标。
已经出于说明和描述的目的呈现了发明系统的前述详细描述。其不意图是穷尽的或者将发明系统限制到所公开的确切形式。鉴于以上教导,许多修改和变化是可能的。选择所描述的实施例以便最佳地解释发明系统的原理及其实际应用以从而使得本领域技术人员能够最佳地利用各种实施例中的并且具有各种修改的发明系统,如针对所设想到的特定使用适合的那样。意图在于发明系统的范围由随附权利要求而限定。

Claims (20)

1.一种渲染数字事件的计算机实现的方法,包括:
在真实世界环境中限定一个或多个三维热区,每一个热区包括空间的体积;
监视真实世界环境以接收深度数据,深度数据包括真实世界环境中的一个或多个三维热区;
通过分析深度数据来检测第二真实世界对象与一个或多个热区中的至少一个之间的交互,交互发生在热区中的阈值数目的活跃像素基于第二真实世界对象的存在而具有深度距离中的改变时;以及
响应于检测,响应于第二真实世界对象与一个或多个热区之间的交互而向处理设备上的至少一个应用输出信号。
2.权利要求1的计算机实现的方法,其中深度数据可以通过参考真实世界环境的三维坐标系统来参考,三维坐标相对于深度捕获设备的定位而限定,每一个热区由坐标系统中的坐标限定。
3.权利要求1的计算机实现的方法,其中深度数据可以通过参考真实世界环境的三维坐标系统来参考,三维坐标相对于捕获设备的视场中的基准对象的定位而限定,每一个热区由坐标系统中的坐标限定。
4.权利要求3的计算机实现的方法,还包括确定发生定界区域内的连续活跃像素中的改变,并且修改热区。
5.权利要求4的计算机实现的方法,其中所述修改包括从热区过滤连续活跃的像素。
6.权利要求4的计算机实现的方法,其中所述修改包括改变限定热区的维度坐标中的一个或多个以从而移动热区。
7.权利要求1的计算机实现的方法,其中检测包括当热区中的阈值数目的活跃像素在至少阈值时间段内具有深度距离中的改变时发生交互。
8.权利要求1的计算机实现的方法,其中三维坐标相对于深度数据捕获设备而参考,并且还包括确定是否需要热区中的活跃像素中的改变所引起的相机重对准,并且如果需要,使用相机对准算法对准相机。
9.一种生成与真实世界对象的交互的指示的装置,交互被输出到应用以创建数字事件,装置包括:
具有场景的视场的捕获设备,捕获设备输出相对于坐标系统的视场的深度数据;以及
耦合到捕获设备的处理设备,接收深度数据并且响应于代码指令处理设备来:
  接收场景中的一个或多个热区的限定,每一个热区包括与由具有参考点的坐标系统中的多个像素限定的第一真实世界对象相关联的物理空间的体积;
  通过检测包括通过在阈值时间段内改变一个或多个热区中的多个像素内的深度的阈值数目的像素的激活的交互,来检测第二真实世界对象与一个或多个热区之间的交互;并且响应于第二真实世界对象与一个或多个热区之间的交互而输出信号,信号输出到被配置成使用信号来生成应用中的事件的应用。
10.权利要求9的装置,其中坐标系统是X、Y和深度坐标系统,其中X和Y坐标包括从捕获设备测量的相对于X和Y轴的最小和最大像素计数,以及限定为距捕获设备的距离的Z坐标,限定包括用于激活的活跃像素的最小数目。
11.权利要求9的装置,包括指令处理设备还包括确定是否需要热区中的活跃像素中的改变所引起的相机重对准,并且如果需要的话,使用相机对准算法对准相机。
12.权利要求10的装置,其中接收限定包括接收具有在其中针对每一个热区指定的X和Y坐标的数据文件,包括从参考点测量的相对于X和Y轴的最小和最大像素计数,以及限定为距参考点的距离的Z坐标,限定包括用于激活的活跃像素的最小数目。
13.权利要求9的装置,还包括代码,其指令处理器确定发生定界区域内的连续活跃像素中的改变,并且修改热区。
14.权利要求13的装置,其中装置被配置成通过从热区过滤连续活跃的像素来修改所述热区。
15.权利要求13的装置,其中装置被配置成通过改变限定热区的坐标的一个或多个以移动区来修改所述热区。
16.一种计算机存储介质,计算机存储介质包括代码,所述代码指令能够访问存储介质的处理器执行处理器实现的方法,包括:
在真实世界场景内接收一个或多个热区限定,每一个热区包括与可以由处理器参考的由相对于环境中的参考点确定的像素的三维集合限定的第一真实世界对象相关联的物理空间的体积;
确定场景内的交互,交互包括确定在阈值时间段内场景内的所述一个或多个热区的体积内的深度数据中的改变;
响应于确定交互,向被配置成使用交互来生成数字事件的应用输出指示交互已经发生的信号;
确定对热区限定的调节;以及
当确定调节指定需要调节时自动修改热区。
17.权利要求16的计算机存储介质,其中参考点包括捕获设备的视场中的基准点并且方法还包括在捕获设备相对于定位移动到新定位之后调节坐标空间。
18.权利要求16的计算机存储介质,其中参考点是捕获设备,方法还包括确定提供所述深度数据的捕获设备改变相对于热区的定位并且对准捕获设备。
19.权利要求16的计算机存储介质,其中方法还包括确定发生热区内的连续活跃像素中的改变,以及从热区限定过滤热区内的连续活跃的像素。
20.权利要求16的计算机存储介质,其中方法还包括确定发生热区内的连续活跃像素中的改变,以及改变限定区定位的坐标的至少一个。
CN201480036264.0A 2013-06-26 2014-06-19 利用热区识别交互 Pending CN105518584A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361839532P 2013-06-26 2013-06-26
US61/839532 2013-06-26
US14/307,339 US20150002419A1 (en) 2013-06-26 2014-06-17 Recognizing interactions with hot zones
US14/307339 2014-06-17
PCT/US2014/043250 WO2014209762A1 (en) 2013-06-26 2014-06-19 Recognizing interactions with hot zones

Publications (1)

Publication Number Publication Date
CN105518584A true CN105518584A (zh) 2016-04-20

Family

ID=52115090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480036264.0A Pending CN105518584A (zh) 2013-06-26 2014-06-19 利用热区识别交互

Country Status (4)

Country Link
US (1) US20150002419A1 (zh)
EP (1) EP3014398A1 (zh)
CN (1) CN105518584A (zh)
WO (1) WO2014209762A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647222A (zh) * 2018-03-22 2018-10-12 中国互联网络信息中心 一种线路三维漫游热点图标定位方法及系统
CN110178101A (zh) * 2016-12-02 2019-08-27 Fogale纳米技术公司 虚拟传感器配置
CN111417983A (zh) * 2017-11-14 2020-07-14 苹果公司 基于事件相机的可变形对象跟踪
CN111913577A (zh) * 2020-07-31 2020-11-10 武汉木子弓数字科技有限公司 一种基于Kinect的三维空间交互方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3136314B1 (en) * 2015-08-27 2020-08-05 Arkite NV Quality control system for a working area of an operational process
KR102355759B1 (ko) * 2015-11-05 2022-01-26 삼성전자주식회사 사용자의 위치를 결정하는 전자 장치 및 그 제어 방법
DE102016201373A1 (de) * 2016-01-29 2017-08-03 Robert Bosch Gmbh Verfahren zu einer Erkennung von Objekten, insbesondere von dreidimensionalen Objekten
EP3525662A1 (en) * 2016-10-12 2019-08-21 Koninklijke Philips N.V. An intelligent model based patient positioning system for magnetic resonance imaging
CN108211360B (zh) * 2016-12-14 2021-08-10 盛趣信息技术(上海)有限公司 多人在线网络游戏的跨地图寻路方法
CN107025442B (zh) * 2017-03-31 2020-05-01 北京大学深圳研究生院 一种基于颜色和深度信息的多模态融合手势识别方法
US10592007B2 (en) * 2017-07-26 2020-03-17 Logitech Europe S.A. Dual-mode optical input device
DK3610358T3 (da) 2017-12-13 2021-09-20 Sz Dji Technology Co Ltd Dybdeinformationsbaseret positurbestemmelse til mobile platforme, og associerede systemer og fremgangsmåder
US10452947B1 (en) * 2018-06-08 2019-10-22 Microsoft Technology Licensing, Llc Object recognition using depth and multi-spectral camera
CN109803228B (zh) * 2018-12-28 2020-10-27 中国联合网络通信集团有限公司 业务热点区域定位方法、装置、设备和可读介质
US11245875B2 (en) 2019-01-15 2022-02-08 Microsoft Technology Licensing, Llc Monitoring activity with depth and multi-spectral camera
CN111784588A (zh) * 2019-04-04 2020-10-16 长沙智能驾驶研究院有限公司 图像数据增强方法、装置、计算机设备和存储介质
US11335060B2 (en) * 2019-04-04 2022-05-17 Snap Inc. Location based augmented-reality system
CN112835446B (zh) * 2021-01-22 2023-08-08 杭州海康威视数字技术股份有限公司 一种安装高度指示信息的确定方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128003A (en) * 1996-12-20 2000-10-03 Hitachi, Ltd. Hand gesture recognition system and method
US20030138130A1 (en) * 1998-08-10 2003-07-24 Charles J. Cohen Gesture-controlled interfaces for self-service machines and other applications
US20030169339A1 (en) * 2001-10-01 2003-09-11 Digeo. Inc. System and method for tracking an object during video communication
US20050059488A1 (en) * 2003-09-15 2005-03-17 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
CN102193624A (zh) * 2010-02-09 2011-09-21 微软公司 用于基于姿势的用户界面的物理交互区
CN102436301A (zh) * 2011-08-20 2012-05-02 Tcl集团股份有限公司 一种基于参考区域和时域信息的人机交互方法及系统
US20130024819A1 (en) * 2011-07-18 2013-01-24 Fuji Xerox Co., Ltd. Systems and methods for gesture-based creation of interactive hotspots in a real world environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8437506B2 (en) 2010-09-07 2013-05-07 Microsoft Corporation System for fast, probabilistic skeletal tracking

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128003A (en) * 1996-12-20 2000-10-03 Hitachi, Ltd. Hand gesture recognition system and method
US20030138130A1 (en) * 1998-08-10 2003-07-24 Charles J. Cohen Gesture-controlled interfaces for self-service machines and other applications
US20030169339A1 (en) * 2001-10-01 2003-09-11 Digeo. Inc. System and method for tracking an object during video communication
US20050059488A1 (en) * 2003-09-15 2005-03-17 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
CN102193624A (zh) * 2010-02-09 2011-09-21 微软公司 用于基于姿势的用户界面的物理交互区
US20130024819A1 (en) * 2011-07-18 2013-01-24 Fuji Xerox Co., Ltd. Systems and methods for gesture-based creation of interactive hotspots in a real world environment
CN102436301A (zh) * 2011-08-20 2012-05-02 Tcl集团股份有限公司 一种基于参考区域和时域信息的人机交互方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110178101A (zh) * 2016-12-02 2019-08-27 Fogale纳米技术公司 虚拟传感器配置
CN111417983A (zh) * 2017-11-14 2020-07-14 苹果公司 基于事件相机的可变形对象跟踪
CN111417983B (zh) * 2017-11-14 2023-11-24 苹果公司 基于事件相机的可变形对象跟踪
CN108647222A (zh) * 2018-03-22 2018-10-12 中国互联网络信息中心 一种线路三维漫游热点图标定位方法及系统
CN111913577A (zh) * 2020-07-31 2020-11-10 武汉木子弓数字科技有限公司 一种基于Kinect的三维空间交互方法

Also Published As

Publication number Publication date
EP3014398A1 (en) 2016-05-04
WO2014209762A1 (en) 2014-12-31
US20150002419A1 (en) 2015-01-01

Similar Documents

Publication Publication Date Title
CN105518584A (zh) 利用热区识别交互
CN102262725B (zh) 三维场景的分析
US11189078B2 (en) Automated understanding of three dimensional (3D) scenes for augmented reality applications
KR102212209B1 (ko) 시선 추적 방법, 장치 및 컴퓨터 판독가능한 기록 매체
CN105981076B (zh) 合成增强现实环境的构造
CN102681661B (zh) 在玩游戏中使用三维环境模型
US20190139297A1 (en) 3d skeletonization using truncated epipolar lines
US9075434B2 (en) Translating user motion into multiple object responses
KR102365730B1 (ko) 인터랙티브 콘텐츠 제어 장치 및 방법
JP5773944B2 (ja) 情報処理装置および情報処理方法
WO2019123729A1 (ja) 画像処理装置、画像処理方法、およびプログラム
US20110292036A1 (en) Depth sensor with application interface
US20140160162A1 (en) Surface projection device for augmented reality
CN108369742A (zh) 使用传感器融合的经优化对象扫描
CN104050859A (zh) 可交互数字化立体沙盘系统
CN102693006A (zh) 用户界面呈现和交互
JP7073481B2 (ja) 画像表示システム
KR20140019765A (ko) 구조광 및 스테레오 비전에 기초한 깊이 카메라
CN102449577A (zh) 虚拟桌面坐标变换
CN105279795A (zh) 基于3d标记的增强现实系统
CN109255749A (zh) 自主和非自主平台中的地图构建优化
KR20150039252A (ko) 행동 인식 기반의 응용 서비스 제공 장치 및 그 방법
US11263813B2 (en) Information processing device, information processing system, and information processing method
CN109407824B (zh) 人体模型的同步运动方法与装置
JP6682624B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160420

WD01 Invention patent application deemed withdrawn after publication