CN105765488A - 虚拟环境的运动控制 - Google Patents

虚拟环境的运动控制 Download PDF

Info

Publication number
CN105765488A
CN105765488A CN201480063253.1A CN201480063253A CN105765488A CN 105765488 A CN105765488 A CN 105765488A CN 201480063253 A CN201480063253 A CN 201480063253A CN 105765488 A CN105765488 A CN 105765488A
Authority
CN
China
Prior art keywords
energy
motion
virtual environment
virtual
energy field
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
CN201480063253.1A
Other languages
English (en)
Other versions
CN105765488B (zh
Inventor
X·曹
T·希拉托里
X·童
F·徐
T·格斯滕
T·雷凡德
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 CN105765488A publication Critical patent/CN105765488A/zh
Application granted granted Critical
Publication of CN105765488B publication Critical patent/CN105765488B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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/0304Detection arrangements using opto-electronic means
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0085Motion estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

对人类主体成像的深度相机的深度视频的光流被识别。由人类主体的运动创建的能量场根据该光流以及虚拟环境的物理模拟的指定规则来生成。能量场被映射到虚拟环境中的虚拟位置。响应于虚拟环境中的虚拟对象与能量场的虚拟位置的交互,基于能量场的多个能量元素来调节该虚拟环境中的该虚拟对象的属性。

Description

虚拟环境的运动控制
背景
自然用户输入(NUI)技术目的在于在计算系统和人类之间提供直观的交互模式。例如,人类主体的运动输入可被识别为离散的姿势。该离散的姿势可被翻译为用于控制计算系统的命令。例如,该命令可调节虚拟环境的属性,诸如在视频游戏或其他虚拟模拟中。在一些情况下,基于离散姿势的控制可缺乏粒度和细微差别,这是因为在执行离散姿势时,对应的命令无法基于运动方面的变化来改变。例如,控制命令无法基于人类主体是快速地还是缓慢地执行离散姿势来改变。此外,没有严密地符合特定姿势的运动无法在虚拟环境中产生用户期望的结果。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
提供了涉及基于人类主体的运动来控制虚拟环境的各种实施例。在一个实施例中,对人类主体成像的深度相机的深度视频的光流可被识别。由人类主体的运动创建的能量场可根据光流以及虚拟环境的物理模拟的指定规则来生成。能量场可被映射到虚拟环境中的虚拟位置。可响应于虚拟环境中的虚拟对象与能量场的虚拟位置的交互,基于能量场的多个能量元素来调节该虚拟环境中的该虚拟对象的属性。
在另一实施例中,用由三维位置表征的多个虚拟关节来对人类主体进行建模的虚拟骨架可被识别。该虚拟骨架可从对人类主体成像的深度相机的深度视频中导出。虚拟骨架可被用于标识由人类主体执行的姿势。深度视频的光流可被识别。光流可被用于将量级分配到人类主体执行的姿势。虚拟环境的属性可根据姿势和量级来被控制。
附图说明
图1显示根据本公开的一实施例的在其中NUI被用于控制计算或游戏系统的环境。
图2显示根据本公开的一实施例的NUI流水线(pipeline)。
图3显示根据本公开的一实施例的用于控制虚拟环境的方法。
图4显示根据本公开的另一实施例的用于控制虚拟环境的方法。
图5显示根据本公开的一实施例的其中指示人类主体的运动的能量场将伤害的量分配到虚拟对象的场景。
图6显示根据本公开的一实施例的其中虚拟对象的属性可基于所感兴趣的能量场的区域来被调节的场景。
图7显示根据本公开的一实施例的计算系统和NUI接口系统。
具体实施方式
本说明书涉及基于人类主体的运动来控制虚拟环境中(诸如视频游戏或其它虚拟模拟中)的属性。更为具体地,本说明书涉及识别人类主体的运动来扩展用于控制虚拟环境的属性的中间机制。例如,光流可从从对人类主体成像的NUI接口系统中接收到的视频(例如,深度/IR/RGB)中识别。尤其,光流可从被映射到视频的多个单元中导出。每个单元可包括运动值,该运动值指示在视频的连续图像帧之间识别的在该单元内的运动的量级、方向和/或另一属性。作为可由人类主体的特定身体部位执行的离散姿势的对比,光流可全盘地定义跨完整的图像帧的移动。换言之,光流可被用于测量人类主体的运动的总体特征,不管人类主体是否正确地执行该系统被训练识别的特定姿势。
光流可被用于生成被映射到虚拟环境来控制该虚拟环境的一个或多个属性的动态能量场。此外,能量场可对虚拟环境中与该能量场进行交互的虚拟对象的属性产生影响。人类主体的被识别为具有光流形式的运动提供了可被用于扩展中间机制(诸如姿势或能量场)以便增强虚拟环境的控制的稳健输入。相比于仅仅使用离散的姿势,这样的控制可具有提升的响应度、粒度和/或细微差别等级。
图1显示了示例环境100的各方面。所示出的环境是个人住处的起居室或家庭活动室。然而,在此描述的办法可等同地应用在其他环境中,诸如零售店和售货亭、餐馆、信息站、公共服务环境等。在环境100中,家庭娱乐系统102被安装。家庭娱乐系统包括大画幅的显示器104和NUI接口系统106,两者均被操作地耦合到计算系统108。计算和NUI接口系统可通过有线链路、无线链路或以另一合适的方式来被耦合。在示出的实施例中,显示器呈现计算机生成的影像(静止图像、视频、图形用户界面元素等)。计算系统可以是视频游戏系统;被配置成播放音乐和/或视频的多媒体系统;被用于因特网浏览和生产力应用的通用计算系统;和/或实质上任何其他类型的计算系统,包括移动计算系统,而不背离本公开的范围。
计算系统108可被配置成接受各种形式的用户输入。如此,诸如键盘、鼠标、触摸屏、游戏垫或操纵杆控制器等传统的用户输入设备可被操作地耦合到计算系统。不管是否支持传统的用户输入模态,计算系统108都接受来自至少一个人类主体110所谓的自然用户输入(NUI)。在图1表示的场景中,人类主体是站立的;在其他场景中,人类主体可以躺下或坐下,而不背离本公开的范围。
NUI接口系统106可包括用于跟踪人类主体的各种传感器。例如,NUI接口系统可包括深度相机、可见光(例如,RGB颜色)相机以及话筒。然而,在一些实施例中,可使用附加的和/或不同的传感器。
在示出的示例中,虚拟环境被呈现在显示器104上。虚拟环境包括虚拟气球112,该虚拟气球112可经由人类主体110的运动来通过虚拟环114被导向。尤其,NUI接口系统106可对人类主体成像。视频输入可被发送到计算系统108,该计算系统108可从视频中识别人类主体运动的光流。此外,计算系统可基于人类主体运动的光流和虚拟环境的物理模拟的指定规则来生成能量场116。尤其,光流的每个单元都可具有对应的动态能量元素,该动态能量元素具有多个可基于物理模拟的指定规则来被设定和调节的能量属性。能量元素可被积聚来创建能量场,并且能量场可被映射到虚拟环境来操纵虚拟气球。
例如,人类主体可用推运动来将他的手向虚拟气球移动。该推运动可产生具有指示对能量场贡献的量级的运动值的光流单元,并且该量级可通过物理模拟的指定规则来调节。能量场对虚拟气球的影响可通过计算能量场对虚拟气球的通量(flux)或其他物理属性来捕捉。例如,能量场可更改虚拟气球的方向、速度、取向、轨迹、形状或其他适当的属性。换言之,能量场可作为围绕在虚拟气球周围的“风”并且人类主体的运动可将导致风吹向气球的能量贡献到能量场。人类主体可变化推运动的速度和方向来影响风作用到虚拟气球的方向和力度以便通过虚拟环来操纵虚拟气球。注意的是,在该非限制示例中,所示出的推运动产生足够的能量来使得除了移动虚拟气球之外还使虚拟气球的形状变形。这样的变形可基于虚拟环境的物理模拟的物理属性来确定。
在一些实施例中,能量场可被表示为除了风以外的媒介。例如,在一些实施例中,能量场可以是流体(例如,水)并且物理模拟可将流体动力学应用到能量场来控制流体如何在虚拟环境中互相作用。在另一示例中,能量场可被表示为不基于现实的超自然现象。具有实质上任意现实的和/或不现实的特征的能量场可被使用。此外,能量场可以可视地和/或可听地来表达给用户,或者能量场可以是看不见的和/或无声的。
能量场提供控制的中间机制,该控制的中间机制考虑管控虚拟环境的物理属性(或伪物理属性)的指定规则。因此,人类主体的运动可通过调节用于生成能量场的指定规则来高度地对特定的虚拟环境定制。不同的视频游戏或虚拟模拟可具有不同的指定规则来不同地生成并使用能量场。换言之,物理模拟的指定规则可规定运动如何被转换成施加到能量场的能量。此外,物理模拟的指定规则可规定能量场可被映射到虚拟环境中的哪些影响。
可以理解的是,所示出的虚拟气球场景被提供来说明一般概念,而对场景内一个或多个人类主体和或一个或多个对象的成像以及后续的建模可在各种不同的应用中使用,而不背离本公开的范围。尤其,可以理解的是,由光流识别的人类主体的运动可被用于扩展任何适当的中间机制以控制实质上任意类型的虚拟环境的一个或多个属性。
图2在图形上示出了可被用于跟踪人类主体的运动并控制虚拟环境的各方面的简化的NUI流水线200。可以理解的是,NUI流水线可通过任何适当的计算系统来实现,而不背离本公开的范围。例如,NUI接口系统106和/或计算系统108可实现NUI流水线。可以理解的是,相比于所示出的处理步骤,NUI流水线可包括更多的和/或不同的处理步骤,而不背离本公开的范围。
NUI接口系统可输出与NUI接口系统的不同传感器相关联的各种信息信息流。例如,NUI系统可输出来自一个或多个深度相机的深度图像信息,来自一个或多个深度相机的IR图像信息以及来自一个或多个可见光相机的彩色图像信息。
深度图202可由一个或多个深度相机输出和/或从由一个或多个深度相机输出的深度图信息中生成。深度图可由深度像素组成,深度像素指示在观察到的环境中对应表面相对于深度相机的深度。可以理解的是,深度图可通过任何适当的机制或机制的组合来确定,并可进一步地根据任何适当的坐标系统来定义,而不背离本公开的范围。
附加地或替换地,NUI流水线可包括由色彩像素组成的彩色图像。色彩像素可指示对应表面在观察到的环境中的相对光强度。光强度可针对一个或多个光通道(例如,红色、绿色、蓝色、灰度级等)来记录。例如,红/绿/蓝色彩值可针对彩色图像的每个色彩像素来记录。彩色图像可从一个或多个可见光相机输出的彩色图像信息中生成。类似地,NUI流水线可包括IR图像,IR图像包括针对IR图像中每个像素的IR值。IR图像可从一个或多个深度相机输出的IR图像信息中生成。
对人类主体进行建模的虚拟骨架204可基于对深度图202、彩色图像和/或IR图像的像素的分析来被识别或生成。根据一示例建模方式,深度图的像素可被分配身体部位索引。身体部位索引可包括离散标识符、置信度值和/或指示像素可能对应该一个或多个身体部位的身体部位概率分布。身体部位索引可用任何适当的方式来被确定、分配和保存。在一些实施例中,身体部位索引可通过经由机器学习训练的分类器来分配。
虚拟骨架204用多个枢转地耦合到由三维位置表征的多个关节的骨骼部分来对人类主体进行建模。在一些实施例中,身体部位指定可被分配给每个骨骼部分和/或每个关节。符合本公开的虚拟骨架可包括实质上任何类型和数量的骨骼部分和关节。
在各种骨骼关节和/或部分中的位置改变可被分析来标识由人类主体执行的姿势206。可以理解,姿势可根据任何适当的姿势识别技术来被标识,而不背离本公开的范围。一个或多个关节相对于一个或多个其它关节的相对位置、速度和/或加速度可被用于识别姿势。
可独立于骨架建模的光流208可基于对深度图202(或另一图像流)的分析来被识别或生成。例如,深度图可针对对人类主体成像的深度视频的每个图像帧来生成。每个深度图可被划分成多个单元。在所示出的示例中,多个单元可被组织成网格。深度视频的连续图像帧(例如,先前图像帧210和当前图像帧212)的深度图可被比较来标识具有运动的单元。每个被标识的单元可具有指示针对该单元的运动量级的运动值。在该情况下,在深度图被分析时,运动值可从单元中改变的深度值中导出。在一个示例中,针对单元的深度值可以是在该单元中所有像素的深度值的平均。光流的Z轴分量可从连续图像帧之间该单元内深度值的不同中识别。换言之,单元内光流的量级可以至少部分地通过从当前图像帧的该单元内的深度值中减去先前图像帧的该单元内的深度值来计算。光流的X轴和/或Y轴分量可任选地通过跟踪边、相邻单元分析和/或其它适当的技术来估算。
可以理解的是,网格可被划分成任何适当数量的单元,而不背离本公开的范围。在一些实施例中,网格可被映射到一完整的图像帧。在其它实施例中,网格可被映射到图像帧的指定的部分。在一些情况下,随着人类主体在帧内移动,指定的部分可逐帧改变。
在一些实施例中,运动的方向可以与每个单元的运动量级相关联。方向和量级可提供描述单元内运动的运动向量。在一些实施例中,量级和运动可由向量分量来表示。
可以理解的是,光流可附加地表征人类主体持有或使用的一个或多个道具的运动。由于光流全盘地表征跨完整的图像帧的移动,除了人类主体的运动之外,道具的运动可被表征。因此,人类主体能够使用任何适当的道具来生成可被用于控制虚拟环境的运动。这种方式相比于仅依赖于基于机器学习的骨架建模的方式而言提供了潜在的优势,因为机器学习分类器没有被针对其训练的道具可被无缝地集成到游戏/计算体验中。
能量场214可根据光流208以及虚拟环境216的物理模拟的指定规则来生成。能量场可包括从光流的多个单元中导出的多个能量元素。每个能量元素可包括从对应单元的运动值以及物理模拟的指定规则中导出的多个能量属性。在一个示例中,指定规则可由生成虚拟环境的视频游戏的游戏引擎来定义。例如,指定规则可被应用到运动值以初始地设定能量属性的值并在稍后调节这些值。例如,能量属性的值可在逐帧的基础上来调节。在一个示例中,能量场的多个能量元素可被安排成能量值的三维阵列。能量属性的非限制示例包括位置、量级、形状、尺寸、分布、速度和使用寿命。例如,位置可随着时间移动,量级可随着时间退化,尺寸、形状和/或分布可随着时间变形,速度可以是随着时间线性的和/或倾斜的并且可随着时间减速,并且一旦使用寿命已经达到,能量元素可消逝。可以理解的是,描述能量元素的行为的其它属性可被实现。
对于每个图像帧,从从针对该图像帧的光流中检测到的运动中创建的新能量元素可被添加到能量场。能量场可以是图像帧中所有现存能量元素的积聚。尤其,能量元素可具有允许该能量元素在能量场中跨多个帧保持“存活”的使用寿命。一旦能量元素达到了使用寿命,则该能量元素“消逝”并且不再是能量场的一部分。换言之,对于深度视频的任何给定图像帧,能量场可包括在该图像帧内有效地贡献运动的能量的能量元素的积聚。
在示出的实施例中,能量场可被可视化为3D热图,该3D热图具有能量场的具有指示运动能量的不同量级(或其它能量属性的不同值)的不同模式的不同部分。可以理解的是,能量场的可视效果可通过虚拟环境的物理模拟的指定规则(例如,游戏引擎)来定义。在一些情况下,能量场可不在虚拟环境中被可视化。
任选地,当生成能量场时,来自指示指定运动的单元的运动值可被滤除,使得指定运动不对能量场贡献能量。例如,游戏引擎的指定规则可指定哪些运动可从能量场计算中被滤除。不同的视频游戏可滤除不同的运动。此外,同一视频游戏内的不同场景可滤除不同的运动。可由游戏引擎应用的不同运动过滤器的非限制示例可包括无过滤器、保持向前运动、忽略向后运动、保持平滑运动以及保持不连贯运动。无过滤器保持所有运动。保持向前运动保持具有一般向前趋势(例如,在具有负的z深度分量的半球体中的运动向量)的运动。忽略向后运动类似于保持向前运动,但是还允许向侧面的运动。保持平滑运动保持具有低的加速/减速或低的急拉(加速的导数)的运动。保持不连贯运动可以是保持平滑运动的逆。平滑和不连贯过滤器可跨>=3图像帧(针对急拉>=4图像帧)来跟踪运动。
可以理解的是,人类主体使用的道具的运动可对能量场具有贡献,这是因为能量场是从表征道具和人类主体的运动的光流中导出的。
替换地或附加地,在一些实施例中,能量场214可以至少部分地基于虚拟骨架204。例如,可在图像帧之间采样沿着虚拟骨架的每根骨头和/或每个关节的一组点并且位置上的不同可产生针对该骨头或关节的运动值。组成能量场的能量元素可从虚拟骨架的骨头或关节的运动值中导出。此外,在一些实施例中,能量场可基于虚拟骨架204和光流208来生成。
在不同的实施例中,虚拟环境216的一个或多个属性可由在NUI流水线中生成的运动控制的不同中间机制来控制。在一个实施例中,姿势206可由光流208扩展。尤其,光流可被用于将量级分配到姿势206。在一个示例中,与虚拟骨架的执行姿势的各部分相对应的单元的运动值可被求平均以提供针对该姿势的量级。此外,虚拟环境216的属性可根据姿势和量级被控制。例如,姿势可被映射到可对虚拟环境内的虚拟对象产生影响的作用。当姿势由人类主体执行时,该作用可根据量级来对虚拟对象的属性产生影响。
在所示出的虚拟气球的场景中,以特定方向来推虚拟气球的推姿势可被识别。姿势的量级可基于从光流中导出的推姿势的运动的维度和速度来确定。量级可对作为推姿势的结果、虚拟气球在特定方向上移动多少产生影响。通过用从光流中导出的量级来扩展推姿势,推姿势对虚拟气球的属性的影响可随着人类主体的运动在执行姿势时的变化(例如,快对慢)而变化。
可以理解的是,不同的姿势可被映射到虚拟环境中不同的影响。此外,同一姿势可在不同的虚拟环境(例如,不同的视频游戏)中或虚拟环境的不同部分(例如,同一视频游戏的不同场景)中被映射到不同的影响。
在一些实施例中,权重可以与虚拟骨架204的各部分相关联。例如,不同的部分可具有针对不同姿势的不同权重。被分配到姿势的量级可以至少部分地基于对执行该姿势做出贡献的各部分的权重。在示出的推姿势的示例中,与前臂相关联的权重可大于肩膀的权重,这是因为当执行推姿势时,前臂产生更多的运动。
在另一实施例中,能量场214可被映射到虚拟环境216中的虚拟位置,使得能量场可与虚拟环境中的虚拟对象进行交互。换言之,能量场位置可从物理输入空间映射到虚拟游戏空间。尤其,映射过程创建虚拟环境内的体积能量场。例如,映射过程可包括各种根据游戏引擎提供的虚拟环境的物理模拟的指定规则应用的缩放/转换/旋转变换。
此外,能量场可被映射到虚拟环境中的一个或多个影响。例如,能量场对虚拟环境中虚拟对象的影响可通过计算与该虚拟对象交互的影响的通量或其它物理模拟来确定。例如,能量场的能量元素的一个或多个指定的能量属性可被积聚或求平均来确定对虚拟对象产生的能量场的通量。在示出的虚拟气球场景中,虚拟气球可具有基于与能量场的交互而被改变的方向、速度、取向、轨迹等。作为另一示例,能量场可被映射到虚拟环境中的损害影响,使得当虚拟对象与能量场交互时,能量场的通量导致对虚拟对象的损害。例如,损害可通过积聚能量场中能量元素的一个或多个能量属性值来计算。可以理解的是,能量场可被映射到任何适当的游戏影响,而不背离本公开的范围。
在一些实施例中,虚拟对象的属性可基于与虚拟对象进行交互的能量场的感兴趣的区域中的能量元素来调节。例如,能量场的与虚拟环境中的虚拟对象重叠或相交的部分可被确定为是感兴趣的区域。更具体地,能量场可占据虚拟环境中的体积(volume)。当虚拟对象与该体积的一部分进行交互时,该部分可被确定为是感兴趣的区域。在一些情况下,感兴趣的区域可以小于能量场的总体积。在其它情况下,感兴趣的区域可以是能量场的全部体积。
此外,虚拟环境中虚拟对象的属性可基于感兴趣的区域中能量元素的一个或多个能量属性的值的积聚来调节。换言之,在这种情况下,只有感兴趣的区域中的能量元素对调节虚拟对象的属性做出贡献,而在感兴趣的区域外部的能量元素无法对调节虚拟对象的属性做出贡献。在一个示例中,能量属性可包括感兴趣的区域中能量元素的运动量级以及速度,并且能量元素的量级和速度可被积聚来生成施加到虚拟对象的动量。
通过基于感兴趣的区域中的能量元素来调节虚拟对象的属性,相对于经由离散姿势的控制,控制的细微差别可被增加。此外,这样的细微差别提供在游戏技巧发展(例如,提升运动准确度)方面可增强游戏体验的机会。
NUI流水线的以上描述不应该被解释成限制可被用于构建虚拟骨架、光流或能量场的方式的范围,因为此类运动模型可用任何适当的方式来导出,而不背离本公开的范围。
图3显示根据本公开的一实施例的用于控制虚拟环境的方法300。例如,该方法可由图1中示出的计算系统108来执行。
在302,方法300可包括接收对人类主体成像的视频的运动信息。例如,运动信息可指示从深度相机接收到的深度视频、从可见光相机接收到的彩色视频和/或从深度相机接收到的IR视频。
在304,方法300可包括识别对人类主体进行建模的虚拟骨架。该虚拟骨架可包括由三维位置表征的多个虚拟关节。该虚拟骨架可从对人类主体成像的视频的运动信息中导出。
在306,方法300可包括使用虚拟骨架来标识由人类主体执行的姿势。
在308,方法300可包括识别视频的光流。光流可从被映射到视频的多个单元中导出。在一个示例中,多个单元可被安排到被映射到视频的图像帧的单元的网格中。每个单元可具有运动值,该运动值指示在视频的连续图像帧之间识别的在该单元内的运动的量级。
任选地,在310,方法300可包括从光流中滤除指定的运动。指定的运动可以是不感兴趣的或可以是不可应用到虚拟环境的。在一个示例中,运动过滤器偏好可由定义虚拟环境的游戏引擎来确定。例如,向后运动和/或向侧面的运动可从光流中滤除。作为另一示例,抖动运动可被滤除以便减少噪音。
任选地,在312,方法300可包括确定与虚拟骨架的执行姿势的各部分相关联的权重。
在314,方法300可包括使用光流将量级分配到姿势。例如,光流的与虚拟骨架相对应的单元的运动值可被积聚来确定量级。此外,如果针对虚拟骨架的执行姿势的各部分的权重被确定,那么量级可基于光流和权重来确定。
任选地,在316,方法300可包括根据光流和虚拟环境的物理模拟的指定规则来生成由人类主体的运动创建的能量场。能量场可包括从光流的多个单元中导出的多个能量元素。每个能量元素可包括从对应单元的运动值以及物理模拟的指定规则中导出的多个能量属性。
在318,方法300可包括根据姿势和量级来控制虚拟环境的属性。在一个示例中,控制虚拟环境的属性可包括调节虚拟环境中姿势所针对的虚拟对象的属性。
姿势可被映射到虚拟环境中的各种影响。例如,姿势可指示攻击,并且虚拟环境的属性可以是由对虚拟环境中的虚拟对象的攻击所导致的损害的量。作为另一示例,属性可包括施加到虚拟环境中的虚拟对象的虚拟力。作为姿势结果所施加的力可导致虚拟对象改变它的方向、速度、取向、轨迹等。
此外,如果能量场被生成,那么虚拟环境的属性可根据姿势、量级以及能量场来被控制。例如,能量场的与虚拟骨架的执行姿势的各部分相对应的能量元素的一个或多个能量属性可对虚拟环境的控制产生影响。
图4显示根据本公开的另一实施例的用于控制虚拟环境的方法400。例如,该方法可由图1中示出的计算系统108来执行。
在402,方法400可包括接收对人类主体成像的视频的运动信息。
在404,方法400可包括识别视频的光流。
任选地,在406,方法400可包括从光流中滤除指定的运动。
在408,方法400可包括根据光流和虚拟环境的物理模拟的指定规则来生成由人类主体的运动创建的能量场。
在410,方法400可包括将能量场映射到虚拟环境中的虚拟位置。
任选地,在412,方法400可包括确定与虚拟环境中的虚拟对象进行交互的能量场的感兴趣的区域。
在414,方法400可包括响应于虚拟环境中虚拟对象与能量场的虚拟位置进行交互,基于能量场的多个能量元素的一个或多个能量属性来调节虚拟环境中的该虚拟对象的属性。例如,能量场中所有能量元素的能量属性可被积聚来确定施加到虚拟对象的虚拟力(或另一影响)的量级。
任选地,如果感兴趣的区域被确定,在416,方法400可包括基于感兴趣的区域内能量元素的一个或多个能量属性的值的积聚,调节虚拟环境中虚拟对象的属性。可以理解的是,能量属性的值可用任何适当的方式来积聚或采样,以调节虚拟对象的属性。例如,各值的平均可被用于调节虚拟对象的属性。
图5显示根据本公开的一实施例的其中指示人类主体的运动的能量场将伤害的量分配给虚拟对象的场景500。人类主体110被描绘为在玩拳击视频游戏,其中人类主体的运动控制在与虚拟对手504进行拳击比赛的虚拟化身502的动作。虚拟对手可具有由健康仪表表示的损害容限水平506。
可根据光流以及拳击视频游戏的游戏引擎的指定规则来由人类主体的运动创建能量场508。光流可从对人类主体成像的NUI接口系统106的深度视频中导出。能量场可被映射到虚拟环境中的虚拟位置,在该情景中是拳击台。此外,人类主体的运动可被映射到拳击台中虚拟化身502的运动,并且能量场可表现为从虚拟化身发出。能量场可被映射到拳击视频游戏的损害影响,使得能量场可响应于能量场与虚拟对手进行交互来分配减少虚拟对手的损害容限水平的损害的量。
在一个示例中,当人类主体做出重拳运动时,能量场根据该重拳运动以及游戏引擎的指定规则来移动。尤其,能量场可在重拳被挥出时沿着虚拟化身的手臂并通过该虚拟化身的拳套移动。如果重拳落在虚拟对手上使得能量场与虚拟对手进行交互,那么与能量场的能量元素相关联的量级可被积聚来生成被分配到虚拟对手的减少损害容限水平的损害的量。
在一些实施例中,与虚拟对手进行交互的能量场的感兴趣的区域可被确定。在这种情况下,感兴趣的区域中能量元素的量级可被积聚来生成被分配到虚拟对手的减少损害容限水平的损害的量。
在一些实施例中,人类主体的运动可被识别为指示攻击的姿势,而被分配到该姿势的量级可被映射到由该攻击引起的并被分配到虚拟对手的损害的量。
可以理解的是,尽管以上提供的拳击比赛示例描绘了用户重拳并且对手受到损害的情形,但是看不见的能量场处理对从先前仅使用骨骼跟踪已经实现的用户体验进行区别。例如,尽管常规的骨骼跟踪可使用经由机器学习被训练的分类器来识别特定类型的重拳,但是一些玩家可发现使用更好地表达他们战斗技巧的艺术性和个性的用户自由形态攻击是更为理想的。例如,玩家110可希望做出回转旋转踢(whirlingspinkicks)、双手的耳朵霹雳(twohandedearclaps)、头撞、挥棒、枕掷(pillowthrows)和/或分类器没有被训练来识别的其它移动。经由光流分析,这些未被分类的运动的强度可被识别和量化,由此允许当不能明确地辨别或以其它方式对玩家的姿势进行分类时,游戏将损害应用到虚拟对手。
图6显示了场景600,其中根据本公开的一实施例,在能量场的感兴趣区域内能量元素的能量属性值的积聚调节与该感兴趣区域进行交互的虚拟对象的属性。人类主体110产生运动,该运动根据虚拟环境的物理模拟的指定规则来生成虚拟环境内的能量场602。能量场可被描绘为热图,该热图包括能量场的能量元素的不同量级。能量场可与具有球体形状的虚拟对象604进行交互。能量场与该球体进行交互的一部分可被确定为感兴趣的区域606。为了便于理解,该感兴趣的区域被描绘为包括该球体的边界框。然而,在实际中,该边界框不需要对人类主体可见,并且可采取能量场内虚拟对象或虚拟对象的一部分的形式。
该球体的属性可基于感兴趣的区域中能量元素的一个或多个能量属性的值的积聚来调节。例如,感兴趣的区域中的能量元素可基于该感兴趣的区域中能量元素的能量属性的值的积聚来将损害的量分配给该球体。作为另一示例,感兴趣的区域中的能量元素可导致虚拟力被施加到该球体。该虚拟力可基于感兴趣的区域内能量元素的能量属性的值的积聚。可以理解的是,能量元素的任何适当的能量属性可调节虚拟环境中的该球体的属性。
在某些实施例中,在此所述的方法和过程可以与一个或多个计算设备的计算系统绑定。尤其地,这样的方法和过程可被实现为计算机应用程序或服务、应用编程接口(API)、库和/或其他计算机程序产品。
图7示意性地示出了可以执行上述方法和过程之中的一个或多个的计算系统108的非限制性实施例。以简化形式示出了计算系统108。计算系统108可采取以下形式:一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其他计算设备。
计算系统108包括逻辑机702和存储机704。计算系统108可以任选地包括显示子系统706、通信子系统708和/或在图7中未示出的其他组件。
逻辑机702包括被配置成执行指令的一个或多个物理设备。例如,逻辑机可被配置为执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其它逻辑构造。这些指令可被实现为执行任务、实现数据类型、变换一个或多个组件的状态、取得技术效果或以其他方式得到所期望的结果。
逻辑机可包括被配置成执行软件指令的一个或多个处理器。作为补充或替换,逻辑机可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑机的处理器可以是单核或多核,且在其上执行的指令可被配置为串行、并行和/或分布式处理。逻辑机的各个组件可任选地分布在两个或更多单独设备上,这些设备可以位于远程和/或被配置成进行协同处理。逻辑机的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。
存储机704包括被配置成保存可由逻辑机执行以实现此处所述的方法和过程的指令的一个或多个物理设备。在实现这些方法和过程时,可以变换存储机704的状态(例如,保存不同的数据)。
存储机704可以包括可移动和/或内置设备。存储机704可包括光学存储器(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如,RAM、EPROM、EEPROM等)和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等等。存储机704可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址设备。
可以理解,存储机704包括一个或多个物理设备。然而,本文描述的指令的各方面可另选地通过不由物理设备在有限时长内持有的通信介质(例如,电磁信号、光信号等)来传播。
逻辑机702和存储机704的各方面可被一起集成到一个或多个硬件逻辑组件中。这些硬件逻辑组件可包括例如现场可编程门阵列(FPGA)、程序和应用专用的集成电路(PASIC/ASIC)、程序和应用专用的标准产品(PSSP/ASSP)、片上系统(SOC)以及复杂可编程逻辑器件(CPLD)。
术语“模块”、“程序”和“引擎”可用于描述被实现为执行一个特定功能的计算系统108的一方面。在某些情况下,可以通过执行由存储机704所保持的指令的逻辑机702来实例化模块、程序或引擎。应当理解,可以从同一应用、服务、代码块、对象、库、例程、API、函数等来实例化不同的模块、程序和/或引擎。同样,可以由不同的应用程序、服务、代码块、对象、例程、API、函数等来实例化同一模块、程序和/或引擎。术语“模块”、“程序”和“引擎”可涵盖单个或成组的可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
在被包括时,显示子系统706可用于呈现由存储机704保存的数据的视觉表示。该视觉表示可采取图形用户界面(GUI)的形式。由于此处所描述的方法和过程改变了由存储机保持的数据,并由此变换了存储机的状态,因此同样可以转变显示子系统706的状态以视觉地表示底层数据的改变。显示子系统706可以包括使用实际上任何类型的技术的一个或多个显示设备。可将此类显示设备与逻辑机702和/或存储机704组合在共享封装中,或者此类显示设备可以是外围显示设备。
当包括通信子系统708时,通信子系统708可以被配置成将计算系统108与一个或多个其他计算设备可通信地耦合。通信子系统708可包括与一个或多个不同的通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些实施例中,该通信子系统可允许计算系统108经由网络(比如因特网)向其他设备发送消息和/或从其他设备接收消息。
如上所述的,NUI接口系统106可被配置成将用户输入提供到计算系统108。为此,NUI接口系统包括逻辑机710和存储机712。为了检测用户输入,NUI接口系统接收来自传感器组件阵列的低级输入(例如,信号),该传感器组件阵列可包括一个或多个可见光相机714、深度相机716和话筒718。其它示例NUI组件可包括一个或多个红外或立体相机;用于运动检测和/或意图识别的头部跟踪器、眼部跟踪器、加速计和/或陀螺仪;以及用于估算脑部活动的电场感测组件。在一些实施例中,NUI接口系统可包括诸如键盘、鼠标、触摸屏或游戏控制器等一个或多个用户输入设备或者与这些用户输入设备对接。
NUI接口系统处理来自传感器组件的低级输入以产生到计算系统108的可操作的高级输入。这样的动作可生成对应的基于文本的用户输入或在计算系统108中接收到的其它高级命令。在一些实施例中,NUI接口系统和传感器组件可被至少部分地集成在一起。在其它实施例中,NUI接口系统可与计算系统集成并接收来自外围传感器组件的低级输入。
应该理解,此处所述的配置和/或方法在本质上示例性的,且这些具体实施例或示例不是局限性的,因为众多变体是可能。此处所述的具体例程或方法可表示任何数量的处理策略中的一个或多个。由此,所示出和/或描述的各个动作可以按所示出和/或描述的顺序、按其他顺序、并行执行或者被忽略。同样,可以改变上述过程的次序。
本公开的主题包括各种过程、系统和配置、此处所公开的其他特征、功能、动作、和/或特性、以及其任何和全部等效物的所有新颖和非显而易见的组合和子组合。

Claims (9)

1.一种用于控制虚拟环境的计算机实现的方法,包括:
识别用由三维位置表征的多个虚拟关节来对人类主体进行建模的虚拟骨架,所述虚拟骨架从对所述人类主体成像的深度相机的深度视频中导出;
使用所述虚拟骨架来标识由所述人类主体执行的姿势;
识别所述深度视频的光流,所述光流从被映射到所述深度视频的多个单元中导出,每个单元具有指示在所述深度视频的连续图像帧之间识别的该单元中的运动的量级的运动值;
使用所述光流来将一量级分配到由所述人类主体执行的所述姿势;以及
根据所述姿势和所述量级来控制所述虚拟环境的属性。
2.如权利要求1所述的方法,其特征在于,所述多个单元被安排在被映射到所述深度视频的图像帧的单元网格中。
3.如权利要求1所述的方法,其特征在于,进一步包括:
根据所述光流和所述虚拟环境的物理模拟的指定规则来生成由所述人类主体的运动创建的能量场,所述能量场包括从所述光流的所述多个单元中导出的多个能量元素,每个能量元素包括从对应单元的运动值以及所述物理模拟的所述指定规则中导出的多个能量属性,并且其中所述虚拟环境的属性进一步根据所述能量场来控制。
4.如权利要求3所述的方法,其特征在于,所述能量场的所述多个能量元素被安排在三维阵列中。
5.如权利要求3所述的方法,其特征在于,生成所述能量场包括滤除来自指示指定运动的单元的运动值。
6.如权利要求3所述的方法,其特征在于,所述能量元素的所述多个能量属性包括位置、量级、形状、速度和使用寿命。
7.如权利要求1所述的方法,其特征在于,所述姿势指示攻击,并且所述虚拟环境的属性是由对所述虚拟环境中的虚拟对象的攻击所导致的损害的量。
8.如权利要求1所述的方法,其特征在于,所述属性包括被施加到所述虚拟环境中的虚拟对象的虚拟力。
9.如权利要求1所述的方法,其特征在于,所述虚拟骨架包括多个部分,每个部分包括对应的权重,使得不同部分的运动根据运动的量级被不同地加权,并且所述量级还基于与所述姿势相关联的所述部分的权重。
CN201480063253.1A 2013-11-19 2014-11-18 虚拟环境的运动控制 Active CN105765488B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/084,481 2013-11-19
US14/084,481 US9317112B2 (en) 2013-11-19 2013-11-19 Motion control of a virtual environment
PCT/US2014/066018 WO2015077187A1 (en) 2013-11-19 2014-11-18 Motion control of a virtual environment

Publications (2)

Publication Number Publication Date
CN105765488A true CN105765488A (zh) 2016-07-13
CN105765488B CN105765488B (zh) 2018-12-11

Family

ID=52146676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480063253.1A Active CN105765488B (zh) 2013-11-19 2014-11-18 虚拟环境的运动控制

Country Status (4)

Country Link
US (1) US9317112B2 (zh)
EP (1) EP3072033B1 (zh)
CN (1) CN105765488B (zh)
WO (1) WO2015077187A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6724582B2 (ja) * 2016-06-15 2020-07-15 富士通株式会社 画像生成装置、画像生成プログラム及び画像生成方法
CN106599770A (zh) * 2016-10-20 2017-04-26 江苏清投视讯科技有限公司 一种基于体感动作识别及抠像的滑雪场景显示方法
US20180158243A1 (en) * 2016-12-02 2018-06-07 Google Inc. Collaborative manipulation of objects in virtual reality
US10437342B2 (en) 2016-12-05 2019-10-08 Youspace, Inc. Calibration systems and methods for depth-based interfaces with disparate fields of view
US10303259B2 (en) 2017-04-03 2019-05-28 Youspace, Inc. Systems and methods for gesture-based interaction
CN110545886A (zh) * 2016-12-05 2019-12-06 优史佩斯公司 用于基于手势的交互的系统和方法
US10303417B2 (en) 2017-04-03 2019-05-28 Youspace, Inc. Interactive systems for depth-based input
US10579869B1 (en) 2017-07-18 2020-03-03 Snap Inc. Virtual object machine learning
US10672188B2 (en) * 2018-04-19 2020-06-02 Microsoft Technology Licensing, Llc Surface reconstruction for environments with moving objects
US10762219B2 (en) * 2018-05-18 2020-09-01 Microsoft Technology Licensing, Llc Automatic permissions for virtual objects
US10762340B2 (en) * 2018-11-26 2020-09-01 Accenture Global Solutions Limited Real-time gesture detection and recognition
CN112218136B (zh) * 2020-10-10 2021-08-10 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机设备及存储介质
CN114529589B (zh) * 2020-11-05 2024-05-24 北京航空航天大学 全景视频浏览交互方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101636745A (zh) * 2006-12-29 2010-01-27 格斯图尔泰克股份有限公司 使用增强型交互系统操纵虚拟对象
CN101751678A (zh) * 2009-12-16 2010-06-23 北京智安邦科技有限公司 一种人群剧烈运动的检测方法及装置
CN102129292A (zh) * 2010-01-15 2011-07-20 微软公司 在运动捕捉系统中识别用户意图
US20110317871A1 (en) * 2010-06-29 2011-12-29 Microsoft Corporation Skeletal joint recognition and tracking system
US8232990B2 (en) * 2010-01-05 2012-07-31 Apple Inc. Working with 3D objects
WO2012112402A2 (en) * 2011-02-18 2012-08-23 Microsoft Corporation Motion recognition

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739479B2 (en) 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
WO2009062153A1 (en) 2007-11-09 2009-05-14 Wms Gaming Inc. Interaction with 3d space in a gaming system
US8154524B2 (en) 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US8576171B2 (en) * 2010-08-13 2013-11-05 Immersion Corporation Systems and methods for providing haptic feedback to touch-sensitive input devices
JP6074170B2 (ja) * 2011-06-23 2017-02-01 インテル・コーポレーション 近距離動作のトラッキングのシステムおよび方法
KR101978967B1 (ko) * 2012-08-01 2019-05-17 삼성전자주식회사 제스처의 방향에 기초하여 상기 제스처를 인식하는 제스처 인식 장치와 제스처 인식 방법
US8994652B2 (en) * 2013-02-15 2015-03-31 Intel Corporation Model-based multi-hypothesis target tracker

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101636745A (zh) * 2006-12-29 2010-01-27 格斯图尔泰克股份有限公司 使用增强型交互系统操纵虚拟对象
CN101751678A (zh) * 2009-12-16 2010-06-23 北京智安邦科技有限公司 一种人群剧烈运动的检测方法及装置
US8232990B2 (en) * 2010-01-05 2012-07-31 Apple Inc. Working with 3D objects
CN102129292A (zh) * 2010-01-15 2011-07-20 微软公司 在运动捕捉系统中识别用户意图
US20110317871A1 (en) * 2010-06-29 2011-12-29 Microsoft Corporation Skeletal joint recognition and tracking system
WO2012112402A2 (en) * 2011-02-18 2012-08-23 Microsoft Corporation Motion recognition

Also Published As

Publication number Publication date
WO2015077187A1 (en) 2015-05-28
EP3072033A1 (en) 2016-09-28
EP3072033B1 (en) 2018-06-20
CN105765488B (zh) 2018-12-11
US20150138063A1 (en) 2015-05-21
US9317112B2 (en) 2016-04-19

Similar Documents

Publication Publication Date Title
CN105765488B (zh) 虚拟环境的运动控制
US11176731B2 (en) Field of view (FOV) throttling of virtual reality (VR) content in a head mounted display
JP7164630B2 (ja) 予測サッカード着地点に基づく動的グラフィックスレンダリング
US20230414899A1 (en) Classifying a discomfort level of a user when interacting with virtual reality (vr) content
CN102184009B (zh) 跟踪系统中的手位置后处理精炼
US9821224B2 (en) Driving simulator control with virtual skeleton
CN102193624B (zh) 用于基于姿势的用户界面的物理交互区
CN105229571B (zh) 自然用户接口滚动和瞄准
TWI469813B (zh) 在動作擷取系統中追踪使用者群組
JP2021524061A (ja) Hmd環境での高速中心窩レンダリングのための予測及びgpuに対する最新の更新を伴う視線追跡
US20170216675A1 (en) Fitness-based game mechanics
US10317988B2 (en) Combination gesture game mechanics using multiple devices
CN108027653A (zh) 虚拟环境中的触觉交互
CN106104423A (zh) 姿势参数调节
CN102135798A (zh) 仿生学运动
CN102947777A (zh) 用户跟踪反馈
WO2013059751A1 (en) Calculating metabolic equivalence with a computing device
CN102929507A (zh) 运动控制的列表滚动
CN105144240A (zh) 使用深度图像的用户质心和质量分布提取
US20120309530A1 (en) Rein-controlling gestures
CN107077730A (zh) 基于剪影的肢寻找器确定
US8842120B2 (en) Physics rules based animation engine

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