[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN116261706A - 用于使用融合数据进行对象跟踪的系统和方法 - Google Patents

用于使用融合数据进行对象跟踪的系统和方法 Download PDF

Info

Publication number
CN116261706A
CN116261706A CN202180068110.XA CN202180068110A CN116261706A CN 116261706 A CN116261706 A CN 116261706A CN 202180068110 A CN202180068110 A CN 202180068110A CN 116261706 A CN116261706 A CN 116261706A
Authority
CN
China
Prior art keywords
pose
controller
hand
user
image
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
CN202180068110.XA
Other languages
English (en)
Inventor
克里斯蒂安·福斯特
闫程远
俞梓浩
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.)
Meta Platforms Technologies LLC
Original Assignee
Meta Platforms Technologies 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 Meta Platforms Technologies LLC filed Critical Meta Platforms Technologies LLC
Publication of CN116261706A publication Critical patent/CN116261706A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • 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
    • G06F3/012Head tracking input arrangements
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Position Input By Displaying (AREA)

Abstract

在一个实施例中,一种方法包括:使用在用户所穿戴的可穿戴设备中实现的一个或多个摄像头来捕获第一图像,该第一图像描绘了在环境中该用户的正握持控制器的手的至少一部分;从第一图像中识别一个或多个特征,以估计用户的手的姿势;基于用户的手的姿势和所估计的抓握,来估计控制器的第一姿态,该所估计的抓握限定了用户的手与控制器之间的相对姿势;接收控制器的IMU数据;以及,通过使用控制器的IMU数据对控制器的第一姿态进行更新,来估计控制器的第二姿态。该方法利用多个数据源来在环境的各种条件下跟踪控制器,以一致地提供精确的控制器跟踪。

Description

用于使用融合数据进行对象跟踪的系统和方法
技术领域
本公开总体上涉及对象跟踪,并且更具体地涉及用于基于对特征估计和传感器数据的融合来进行对象跟踪的方法、装置和系统。
背景技术
提供给增强现实(AR)/虚拟现实(VR)设备的输入指令通常基于控制器跟踪或手跟踪。可以使用由控制器上的红外(infrared,IR)发光二极管(light emitting diode,LED)形成的已知图案来跟踪控制器,并且控制器可以经由控制器上的按钮来将指令输入到环境中的特定位置。也可以通过跟踪手的特征通过手势来作出输入指令。例如,用户可以通过跟踪手的轻扫(swipe)手势来翻转虚拟书的页面。但是,控制器跟踪由于需要附加硬件(例如,控制器上的IR摄像头和IR LED灯,其有时可能会受到遮挡或其他光源的干扰)而因此更昂贵,并且手跟踪不太准确。
发明内容
为了解决前述问题,所公开的是用于通过如下方式来跟踪控制器的方法、装置和系统:估计手的抓握、以及基于来自于控制器的惯性测量单元(inertial measurementunit,IMU)数据而调整手的抓握。本公开提供了一种用于在未在控制器中实现LED的情况下(例如,在不跟踪LED灯的图案的情况下)跟踪控制器的方法,使得本申请中所公开的方法提供了一种经济高效、准确的方式来跟踪控制器。本申请中所公开的方法可以基于从捕获到的用户手图像中识别出的特征跟踪来估计用户的手的抓握,然后可以使用所估计的用户的手的抓握来估计控制器的姿态。此外,本申请的方法可以接收控制器的IMU数据以调整控制器的所估计的姿态,并且本申请的方法可以以更快的频率提供控制器的最终姿态。
本文中所公开的实施例仅为示例,且本公开的范围不限于此。特定实施例可以包括本文所公开的实施例中的部件、元件、特征、功能、操作或步骤中的全部、一些或不包括这些部件、元件、特征、功能、操作或步骤。
根据本发明的一个方面,提供了一种方法,该方法包括:通过计算系统:使用在用户所穿戴的可穿戴设备中实现的一个或多个摄像头来捕获第一图像,该第一图像描绘在环境中用户的正握持控制器的手的至少一部分;从第一图像中识别一个或多个特征,以估计用户的手的姿势;基于用户的手的姿势和所估计的抓握,来估计控制器的第一姿态,所估计的抓握限定用户的手与控制器之间的相对姿势;接收控制器的IMU数据;以及,通过使用控制器的IMU数据对控制器的第一姿态进行更新,来估计控制器的第二姿态。
第一图像可以是以第一频率捕获的,并且控制器的IMU数据是以第二频率接收的,其中,第二频率高于第一频率。
该方法还可以包括:接收可穿戴设备的IMU数据,以估计可穿戴设备的姿态;以及,基于可穿戴设备的姿态,来更新用户的手的姿势。
可穿戴设备的姿态可以是基于可穿戴设备的IMU数据和用户的第一图像来估计的。
该方法还可以包括:基于控制器的更新后的第一姿态和控制器的IMU数据,来估计手的IMU预测的姿势;以及,基于手的IMU预测的姿势,来估计手的第二姿势。
该方法还可以包括:使用该一个或多个摄像头捕获用户的第二图像,该用户的第二图像描绘在环境中握持控制器的用户的手的至少一部分;从用户的第二图像中识别该一个或多个特征;以及,基于从用户的第二图像中识别出的该一个或多个特征,来估计手的第三姿势。
估计手的第二姿势的频率可以高于估计手的第三姿势的频率。
可穿戴设备可以包括:该一个或多个摄像头,其被配置为捕获用户的图像;手跟踪单元,其被配置为估计用户的手的姿势;以及,控制器跟踪单元,其被配置为估计控制器的第二姿态。
估计控制器的第二姿态可以包括:基于所估计的抓握和用户的手相对于环境的所估计的姿势,来估计控制器相对于环境的姿态;基于控制器的IMU数据,来调整控制器相对于环境的姿态;基于控制器相对于环境的调整后的姿态和控制器的IMU,来估计控制器相对于手的姿态;以及,基于控制器相对于环境的调整后的姿态和控制器相对于手的所估计的姿态,来估计控制器的第二姿态。
根据本公开的一个方面,提供了一种或多种包含软件的计算机可读非暂态存储介质,该软件在被执行时能被操作以:使用在用户所穿戴的可穿戴设备中实现的一个或多个摄像头来捕获第一图像,该第一图像描绘了在环境中用户的正握持控制器的手的至少一部分;从第一图像中识别一个或多个特征,以估计用户的手的姿势;基于用户的手的姿势和所估计的抓握,来估计控制器的第一姿态,所估计的抓握限定用户的手与控制器之间的相对姿势;接收控制器的惯性测量单元(IMU)数据;以及,通过使用控制器的IMU数据对控制器的第一姿态进行更新,来估计控制器的第二姿态。
第一图像可以是以第一频率捕获的,并且控制器的IMU数据是以第二频率接收的,其中,第二频率高于第一频率。
该软件还可以在被执行时能被操作以:接收可穿戴设备的IMU数据,以估计可穿戴设备的姿态;以及,基于可穿戴设备的姿态,来更新用户的手的姿势。
可穿戴设备的姿态可以是基于可穿戴设备的IMU数据和用户的第一图像来估计的。
该软件还可以在被执行时能被操作以:基于控制器的更新后的第一姿态和控制器的IMU数据,来估计手的IMU预测的姿势;以及,基于手的IMU预测的姿势,来估计手的第二姿势。
该软件还可以在被执行时能被操作以:使用该一个或多个摄像头捕获用户的第二图像,该用户的第二图像描绘了在环境中用户的正握持控制器的手的至少一部分;从用户的第二图像中识别该一个或多个特征;以及,基于从用户的第二图像中识别出的该一个或多个特征,来估计手的第三姿势。
估计手的第二姿势的频率可以高于估计手的第三姿势的频率。
可穿戴设备可以包括:该一个或多个摄像头,其被配置为捕获用户的图像;手跟踪单元,其被配置为估计用户的手的姿势;以及,控制器跟踪单元,其被配置为估计控制器的第二姿态。
估计控制器的第二姿态可以包括:基于所估计的抓握和用户的手相对于环境的所估计的姿势,来估计控制器相对于环境的姿态;基于控制器的IMU数据,来调整控制器相对于环境的姿态;基于控制器相对于环境的调整后的姿态和控制器的IMU,来估计控制器相对于手的姿态;以及,基于控制器相对于环境的调整后的姿态和控制器相对于手的所估计的姿态,来估计控制器的第二姿态。
根据本发明的一个方面,提供了一种系统,该系统包括:一个或多个处理器;以及一个或多个计算机可读非暂态存储介质,该一个或多个计算机可读非暂态存储介质被耦接到该一个或多个处理器中的一个或多个,并且包括指令,所述指令在被该一个或多个处理器中的该一个或多个执行时能被操作以使得系统:使用在用户所穿戴的可穿戴设备中实现的一个或多个摄像头来捕获第一图像,该第一图像描绘了在环境中用户的正握持控制器的手的至少一部分;从第一图像中识别一个或多个特征,以估计用户的手的姿势;基于用户的手的姿势和所估计的抓握,来估计控制器的第一姿态,所估计的抓握限定用户的手与控制器之间的相对姿势;接收控制器的惯性测量单元(IMU)数据;以及,通过使用控制器的IMU数据对控制器的第一姿态进行更新,来估计控制器的第二姿态。
所述指令还可以在被执行时能被操作以:接收可穿戴设备的IMU数据,以估计可穿戴设备的姿态;以及,基于可穿戴设备的姿态,来更新用户的手的姿势。
根据本发明的实施例特别地在针对方法、存储介质、系统和计算机程序产品的所附权利要求中被公开,其中,在一个权利要求类别(例如,方法)中提及的任何特征也可以在另一个权利要求类别(例如,系统)中被要求保护。所附权利要求中的从属项或引用是仅出于形式原因而选择的。但是,由于故意引用任何先前权利要求(特别是多项从属关系)而产生的任何主题也可以被要求保护,使得权利要求及其特征的任何组合被公开,并且可以被要求保护,而不管所附权利要求中所选择的从属关系如何。可以被要求保护的主题不仅包括在所附权利要求中阐述的特征的组合,还包括权利要求中的特征的任何其他组合,其中权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的任何实施例和特征可以以单独的权利要求来要求保护,和/或可以以与本文描述或描绘的任何实施例或特征的任何组合或与所附权利要求的任何特征的任何组合来要求保护。
本公开的某些方面及其实施例可以提供对这些或其他挑战的解决方案。本文提出了解决本文所公开的一个或多个问题的各种实施例。本公开中所公开的方法可以提供用于控制器的跟踪方法,该方法基于估计的抓握和控制器的IMU数据来估计和调整控制器的姿态。此外,本申请中所公开的方法基于控制器相对于环境的姿态和控制器相对于用户的手的姿态,也可以提供用户的手的IMU预测的姿势,以减少用户的手在下一帧中的搜索范围。因此,本申请中所公开的特定实施例可以经济高效地跟踪控制器(例如,不需要安装LED),并且可以改进执行跟踪任务的处理时间。
本公开的特定实施例可以包括人工现实系统,或者可以结合人工现实系统来实现。人工现实是在呈现给用户之前已经以某种方式调整的现实形式,人工现实可以包括例如虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、混合现实(mixedreality,MR)、混合现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或通过与捕获到的内容(例如,现实世界照片)结合而生成的内容。人工现实内容可以包括视频、音频、触觉反馈或其某种组合,并且其中的任何一个可以在单个通道中或在多个通道(例如,向观看者产生三维效果的立体视频)中呈现。另外,在一些实施例中,人工现实可以与例如被用于在人工现实中创建内容和/或被用于在人工现实中使用(例如,执行活动)的应用、产品、附件、服务或其某种组合相关联。提供人工现实内容的人工现实系统可以在各种平台上实现,该各种平台包括连接到主计算机系统的头戴式显示器(head-mounted display,HMD)、独立HMD、移动设备或计算系统、或者能够向一位或多位观看者提供人工现实内容的任何其它硬件平台。
本文中所揭示的实施例仅为示例,且本公开的范围不限于此。特定实施例包括上面公开的实施例中的部件、元件、特征、功能、操作或步骤中的全部、一些,或不包括这些部件、元件、特征、功能、操作或步骤。根据本发明的实施例特别地在针对方法、存储介质、系统和计算机程序产品的所附权利要求中被公开,其中,在一个权利要求类别(例如,方法)中提及的任何特征也可以在另一个权利要求类别(例如,系统)中被要求保护。所附权利要求中的从属项或引用是仅出于形式原因而选择的。但是,于故意引用任何先前权利要求(特别是多项从属关系)而产生的任何主题也可以被要求保护,使得权利要求及其特征的任何组合被公开,并且可以被要求保护,而不管所附权利要求中所选择的从属关系是如何的。可以被要求保护的主题不仅包括在所附权利要求中阐述的特征的组合,还包括在权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的任何实施例和特征可以以单独的权利要求来要求保护,和/或可以以与本文描述或描绘的任何实施例或特征的任何组合或与所附权利要求的任何特征的任何组合来要求保护。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本公开的若干方面,并且与说明书一起用于解释本公开的原理。
图1A和图1B示出了用于控制器的跟踪系统的示例图。
图2示出了使用融合传感器数据的跟踪系统架构的示例图。
图3示出了跟踪系统的示例图,该跟踪系统包括用于跟踪控制器的中央模块和控制器模块。
图4示出了跟踪系统的示例图,该跟踪系统包括用于局部或全局地跟踪控制器的中央模块、控制器模块和远程服务器。
图5示出了用于通过对用户的手的特征跟踪与控制器的IMU数据进行融合来跟踪调整控制器的姿态的方法的实施例。
图6示出了示例计算机系统。
具体实施方式
当前虚拟现实(VR)/增强现实(AR)设备通常与便携式/可穿戴设备(例如,控制器)配对,以向用户提供一种向AR/VR设备输入指令的容易的、直观的方式。控制器通常配备有用于AR/VR设备的至少一个惯性测量单元(IMU)和红外(IR)发光二极管(LED),以估计控制器的姿态和/或跟踪控制器的位置,使得用户经由控制器执行某些功能。例如,用户可以使用控制器在房间的角落中显示视觉对象。但是,配备LED增加了制造控制器的成本,并且,在某些环境条件下,通过确定LED灯的图案来跟踪控制器可能会受到干扰。而且,完全依赖于特征跟踪来跟踪控制器可能是不准确的。本公开中所公开的特定实施例提供了一种用于通过对用户手的特征跟踪数据和控制器的IMU数据进行融合来估计控制器的姿态的方法。
此外,本公开所公开的特定实施例可以基于对所估计的手的抓握与控制器的IMU数据进行的融合来提供用户的手的IMU预测的姿势,以促进下一帧中的手跟踪。利用控制器的IMU数据来调整手的抓握,可以更频繁地更新控制器的姿态以保持高效、准确的跟踪。本公开所公开的特定实施例可应用于任何类型的跟踪系统,例如基于视觉惯性测距(visualinertial odometry,VIO)的即时定位与地图构建(simultaneous localization andmapping,SLAM)跟踪系统,其具有高效率及低成本。
图1A和图1B示出了根据某些实施例的用于跟踪控制器的示例跟踪系统。在图1A中,跟踪系统100包括中央模块(未示出)和控制器模块110(例如,控制器)。中央模块包括摄像头和至少一个处理器,以在环境中跟踪控制器模块110。在特定实施例中,中央模块可以在诸如头戴式设备等可穿戴设备中实现,以捕获要被跟踪的对象(例如,利用控制器模块110实现的控制器)的图像。例如,具有摄像头的可穿戴设备可以对对象执行内向外跟踪(例如,SLAM)。在特定实施例中,要被跟踪的对象也可以由在环境中实现/固定的一个或多个摄像头来跟踪,例如,外向内跟踪。
中央模块的摄像头可以捕获第一帧120,该第一帧120描绘了用户的手的至少一部分。更具体地,第一帧120描绘了用户的正握持控制器模块110的手的至少一部分。中央模块可以从第一帧120中识别用户的手的至少一部分的一个或多个特征122、124、126。在特定实施例中,第一帧120可以包括至少描绘了用户的正握持控制器模块110的手的一个或多个特征。在图1B中,控制器模块110包括供用户握持的手柄112。中央模块识别用户的手的特征122、124、126,这些特征可以用于估计用户的手的姿势。例如,手的食指与拇指间的空隙(purlicue)与控制器110重叠的区域122、表示用户的正握持控制器110的手的手尺侧边界(ulnar border)124、以及包括指尖和控制器110的区域126。从第一帧120中识别出的特征122、124、126可以用于估计用户的手的姿势/位置。此外,用户的手的姿势可以用于估计用户的手的抓握。例如,用户的手的姿势可以是用户的手的骨架/主要几何形状,该骨架/主要几何形状表示用户的手的姿势。用户的手的所估计的抓握可用于基于用户的手的所估计的抓握来估计控制器模块110的姿态,该所估计的抓握限定了用户的手与控制器模块110之间的相对姿势。
控制器模块110包括至少一个IMU,使得控制器模块110可以向中央模块提供IMU数据,以对控制器模块110的所估计的姿态进行更新/调整。控制器模块110可以以如下的频率来提供IMU数据:该频率比中央模块采集用户和控制器模块110的帧的频率更快。例如,中央模块可以捕获正握持控制器模块110的用户的第二帧130,并且可以从第二帧130中识别可用于估计用户的手的姿势的特征122、124、126或任何其他潜在特征。在中央模块基于从第二帧130中识别出的特征来估计用户手的更新后的姿势之前,中央模块可以使用接收到的控制器模块110的IMU数据来对控制器模块110的所估计的姿态进行调整,该所估计的姿态是基于从第一帧120中所估计的手的抓握而估计的。在特定实施例中,中央模块可以(例如,基于捕获到的帧)以30Hz的频率提供/更新用户的手的姿势,以用于估计控制器模块110的姿态,并且控制器模块110可以以500Hz的频率向中央模块提供IMU数据,以用于对控制器模块110的所估计的姿态进行更新,使得可以基于控制器模块110的IMU数据以更快的频率对控制器模块110的姿态进行跟踪/调整,以保持跟踪控制器模块110的准确性和效率。在特定实施例中,中央模块可以根据需要基于任一个跟踪结果(例如,特征跟踪或IMU跟踪)来输出控制器的姿态。
在特定实施例中,捕获到的帧可以是可见光图像,该可见光图像被识别为包括可用于估计用户的手的姿势的至少一个特征。可见光图像可以是RGB图像、CMYK图像、灰度图像或用于估计用户的手的姿势的任何合适的图像。在特定实施例中,从捕获到的帧120、130中识别出的特征122、124、126被配置为被中央模块的摄像头准确地跟踪,以确定控制器模块110的运动、取向和/或空间位置(例如,控制器模块110的对应数据),以便在虚拟/增强环境中再现。在特定实施例中,可以通过基于各帧(例如,第一帧120和第二帧130)之间的所识别出的特征122、124、126确定的空间移动(X-Y-Z定位移动),来调整控制器模块110的所估计的姿态。例如,中央模块可确定用户的手在第k+1帧(例如,在操作期间捕获到的帧)中的更新后的空间位置,且将该更新后的空间位置与用户的手在第k帧(例如,先前捕获的或存储于存储装置(storage)中的帧)中的先前的空间位置进行比较,以重新调整用户的手的姿势。在图2至图5中,可以进一步描述在中央模块处执行的用于跟踪控制器模块的详细操作和动作。
图2示出了根据某些实施例的示例跟踪系统200,该跟踪系统包括中央模块和控制器模块。跟踪系统200包括中央模块和控制器模块,该中央模块在由用户佩戴的头戴式视图器(headset)中实现,该控制器模块在由用户握持的控制器中实现。在特定实施例中,针对各个手,用户可以具有与头戴式视图器配对的两个控制器。该头戴式视图器包括至少一个摄像头、至少一个IMU和至少一个处理器,该至少一个处理器被配置为处理用于跟踪控制器的指令。此外,控制器包括至少一个IMU和至少一个处理器,该至少一个IMU被配置为向头戴式视图器的中央模块提供控制器的IMU数据,该至少一个处理器被配置为处理从头戴式视图器发送的指令/校准。
头戴式视图器的摄像头在环境中捕获用户和控制器的一幅或多幅图像202,并且经由机器学习或深度学习从图像202中识别用户的手的、用于手跟踪204的一个或多个特征。基于可用于估计/确定用户的手的姿势的、所识别出的特征,头戴式视图器的处理器可以基于所识别出的特征,来估计用户的手的姿势和/或用户的手的位置。在特定实施例中,基于在一系列图像中识别出的重复特征,来估计用户的手的姿势。在特定实施例中,头戴式视图器的处理器可以基于手跟踪204的结果,来估计用户的手相对于环境的姿势206。
在特定实施例中,头戴式视图器的IMU 208还可以向头戴式视图器的处理器提供头戴式视图器的IMU数据,并且头戴式视图器的处理器可以基于头戴式视图器的IMU数据、通过内向外跟踪210来估计头戴式视图器相对于环境的姿态212。在特定实施例中,头戴式视图器的处理器可以基于头戴式视图器的IMU数据和摄像头图像202、通过内向外跟踪210,来估计头戴式视图器相对于环境的姿态212。例如,头戴式视图器的IMU数据可以提供头戴式视图器的角速度、加速度和运动的信息,以计算头戴式视图器在环境中的姿态。此外,头戴式视图器的处理器可以利用头戴式视图器相对于环境的姿态212来促进手跟踪204。例如,可以馈送头戴式视图器相对于环境的姿态212,以通过将头戴式视图器相对于环境的姿态212/位置与环境中的用户和控制器的图像202进行比较来促进手跟踪204,从而调整/估计用户的手的姿势。
然后,头戴式视图器的处理器可以基于所估计的用户的手的姿势206来估计用户的手的抓握214,并且可以基于所估计的用户的手的抓握214来估计控制器相对于环境的姿态216。例如,头戴式视图器的处理器可以使用用户的手的姿势(包括从用户的手识别出的特征)来估计表示握持控制器的手势的用户的手,使得基于用户的手的手势/姿势的反向(inverse),头戴式视图器的处理器可生成控制器的姿态。
此外,控制器的IMU向用于数据融合218的头戴式视图器提供控制器的IMU数据220,以对基于用户的手的抓握而所估计的控制器的姿态进行调整。数据融合单元218可以利用IMU数据来计算控制器单元的IMU预测的姿态222。抓握估计器单元214可以利用控制器单元的IMU预测的姿态222,来对控制器相对于环境的姿态进行调整以及估计用户的手的反向抓握214,其中,所述反向抓握基于控制器的经调整姿态的姿态,来推断用户的手的姿势214。在特定实施例中,可以基于头戴式视图器的操作/需要,来提供控制器的最终姿态224。例如,可以在两个捕获到的帧之间(例如,在抓握的下一次估计之前)估计控制器的最终姿态224。另一方面,也可以基于IMU调整的抓握(例如,根据所接收到的控制器的IMU数据而调整的所估计的抓握),来估计控制器的最终姿态224。头戴式视图器的处理器可基于对节省电力的请求或需求,以某一频率估计控制器的最终姿态224。
另外,基于由数据融合218提供的数据,头戴式视图器的处理器可以基于控制器的IMU预测的姿态222来提供手的IMU预测的姿势226,并且可以使用手的IMU预测的姿势226来促进手跟踪204。例如,可以以更快的频率(例如500Hz至1kHz)提供控制器的IMU预测的姿态222,以填充两个帧之间的间隙。通过将反向抓握估计应用于控制器的IMU预测的姿态222,头戴式视图器可以生成手的IMU预测的姿势226。手的IMU预测的姿势226可用于减少手在下一帧中的搜索范围,以改善手跟踪204的处理时间。
图3示出了根据某些实施例的跟踪系统300的示例图,该跟踪系统包括中央模块310和控制器模块340。中央模块310包括摄像头312、IMU 314、手和头戴式视图器跟踪单元316以及控制器跟踪单元318,以在环境中对控制器模块340执行跟踪/调整。中央模块310与控制器模块340进行配对,以经由控制器模块340执行某些功能。控制器模块340包括至少一个IMU 342,该至少一个IMU被配置为提供IMU数据344,以供中央模块310跟踪控制器模块340。在特定实施例中,控制器模块340将IMU数据344发送到控制器跟踪单元318,以用于计算对对应模块的预测(例如,控制器模块340的对应数据)。在特定实施例中,中央模块340基于控制器模块340的IMU数据344,以从500Hz到1kHz的频率来测量控制器模块340的姿态。
为了在操作期间生成/估计控制器模块340的姿态,当控制器模块340位于用于跟踪控制器模块340的摄像头的视场(field of view,FOV)范围内时,中央模块310的摄像头312可以捕获图像或一系列图像320。在特定实施例中,图像320描绘了用户的正握持控制器模块340的手的至少一部分。中央模块310的摄像头312将图像320发送到手/头戴式视图器跟踪单元316,以基于从图像320中识别出的特征来估计用户的手的姿势。
手/头戴式视图器跟踪单元316经由机器学习、深度学习或任何合适的计算方法,从图像320中识别用户的手的一个或多个特征。基于可用于估计/确定用户的手的姿势324的所识别出的特征,中央模块310的手/头戴式视图器跟踪单元316基于所识别出的用户的手的特征,来估计用户的手的姿势324和/或用户的手在环境中的位置。在特定实施例中,可以基于在一系列图像中识别出的重复特征,来估计用户的手的姿势324。中央模块310的手/头戴式视图器跟踪单元316基于处理能力或要求,以一频率估计用户的手的姿势324。在特定实施例中,中央模块310的手/头戴式视图器跟踪单元316以30Hz的频率估计用户的手的姿势324。
在特定实施例中,中央模块310的IMU 314还将IMU数据322发送到手/头戴式视图器跟踪单元316以促进对头戴式视图器的姿态的估计。例如,手/头戴式视图器跟踪单元316执行内向外跟踪,以估计中央模块310的姿态。基于图像320(其包括环境中的控制器模块340)和中央模块316的IMU数据322,中央模块310的手/头戴式视图器跟踪单元316可以估计中央模块310的姿态,使得可以通过中央模块310的姿态(例如,在环境中,中央模块310相对于用户的手的位置)来调整用户的手的所估计出(基于图像320所估计出)的姿势324。
中央单元310的手/头戴式视图器跟踪单元316将用户的手的姿势324发送到控制器跟踪单元318,以用于控制器跟踪。控制器跟踪单元318包括抓握估计单元326和数据融合单元328,该抓握估计单元被配置为估计用户的手的抓握,该数据融合单元被配置为对从抓握估计单元326发送的数据和从控制器模块340发送的数据进行融合/整合。
控制器跟踪单元318的抓握估计单元326从手/头戴式视图器跟踪单元316接收用户的手的姿势324,并且基于用户的手的姿势324估计用户的手的抓握。此外,抓握估计单元326基于用户的手的抓握,来估计控制器模块340的姿态。例如,用户的手的姿势324可以揭示用户的正握持控制器模块340的手势。因此,基于用户的手的姿势324,抓握估计单元326可以估计用户的手的抓握,然后可以基于用户的手的抓握来估计控制器模块相对于环境的姿态330,该抓握限定了用户的手与控制器模块340之间的相对姿势。此外,抓握估计单元326将控制器相对于环境的姿态330发送到数据融合单元328。
控制器跟踪单元318的数据融合单元328从中央模块310中的控制器跟踪模块318的抓握估计单元326接收控制器相对于环境的姿态330,还从控制器模块340接收IMU数据344。数据融合单元328可以将控制器模块相对于环境的姿态330与控制器模块340的IMU数据344整合,以输出控制器模块的调整后的/最终姿态,以供中央模块310通过控制器模块340准确地执行对应的指令。在特定实施例中,数据融合单元328可以基于中央模块310的请求或处理速度,以一频率输出控制器模块的调整后的姿态。在特定实施例中,因为数据融合单元328可以在其从控制器模块340接收到IMU数据344时,对从抓握估计单元326发送的控制器模块的姿态330进行更新,所以数据融合单元328可以以比估计用户的手的姿势的频率(例如30Hz)更快的频率,来输出控制器模块的调整后的姿态。
此外,数据融合单元328还可以基于控制器模块340的IMU数据344,向抓握估计单元326提供控制器单元的IMU预测的姿态332,使得抓握估计单元326可以调整基于捕获到的帧而估计的控制器模块340的姿态。抓握估计单元326可以基于控制器模块340的IMU数据344,来向手跟踪单元316提供用户的手的IMU预测的姿势346,以促进手跟踪的处理。利用用户的手的IMU预测的姿势346,手跟踪单元316可以在下一个捕获到的帧中的预测范围内识别用户的手的特征,使得手跟踪单元316可以以较少的处理时间完成手跟踪。
此外,中央模块310还可以利用这些捕获到的图像320(其包括识别出的特征),来进行广泛的服务和功能,例如生成用户/控制器模块340的状态,局部或全局地定位用户/控制器模块340,和/或经由控制器模块340在环境中渲染虚拟标签/对象。在特定实施例中,中央模块310还可以使用IMU数据322来帮助生成用户的状态。在特定实施例中,中央模块310可以基于捕获到的图像320,使用环境中用户相对于控制器模块340的状态信息,以经由控制器模块340在环境中投影虚拟对象或在地图中设置虚拟标签。
在特定实施例中,跟踪系统300可以在任何合适的计算设备中实现,该计算设备例如为个人计算机、膝上型计算机、蜂窝电话、智能手机、平板计算机、增强/虚拟现实设备、头戴式设备、便携式智能设备、可穿戴智能设备、或与跟踪系统300可兼容的任何合适的设备。在本公开中,正被跟踪设备跟踪和定位的用户可以参考安装在可移动对象(例如车辆)上的设备或被附接到人的设备。在本公开中,用户可以是与跟踪系统300交互或通信的个体(人类用户)、实体(例如,企业、商业或第三方应用)或(例如,个体或实体的)组。在特定实施例中,中央模块310可以在头戴式设备中实现,且控制器模块340可以在与头戴式设备分离的远程控制器中实现。头戴式设备包括一个或多个处理器,该一个或多个处理器被配置为实现中央模块310的摄像头312、IMU 314、手/头戴式视图器跟踪单元316和控制器单元318。在一个实施例中,上述处理器中的各个被配置为分别实现摄像头312、IMU 314、手/头戴式视图器跟踪单元316和控制器单元318。远程控制器包括一个或多个处理器,该一个或多个处理器被配置为实现控制器模块340的IMU 342。在一个实施例中,上述处理器中的每一个被配置为单独地实现IMU 342。
本公开考虑了用于连接跟踪系统300中的各个元件的任何合适的网络,或用于将跟踪系统300与其他系统连接的任何合适的网络。作为示例而非通过限制的方式,网络的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(virtual privatenetwork,VPN)、局域网(local area network,LAN)、无线LAN(wireless LAN,WLAN)、广域网(wide area network,WAN)、无线WAN(wireless WAN,WWAN)、城域网(metropolitan areanetwork,MAN)、互联网的一部分、公共交换电话网络(Public Switched TelephoneNetwork,PSTN)的一部分、蜂窝电话网络、或这些中的两个或更多个的组合。网络可以包括一个或多个网络。
图4示出了根据某些实施例的具有地图构建服务(mapping service)的跟踪系统400的示例图。跟踪系统400包括控制器模块410、中央模块420和云430。控制器模块410包括至少一个IMU 412和处理器414。控制器模块410从中央模块420接收一个或多个指令442以执行特定功能。控制器模块410被配置为在操作期间向中央模块420发送IMU数据440以进行姿势估计,使得中央模块420可以经由控制器模块410在地图中或在环境中准确地执行指令442。
中央模块420包括摄像头422、至少一个IMU 424、手跟踪单元426和控制器跟踪单元428。中央模块420被配置为基于各种方法(例如,图1A至图3所公开的方法)来跟踪控制器模块410。中央模块420的摄像头422可以捕获正由用户握持的控制器模块410的一个或多个帧,中央模块420的IMU 424可以向手跟踪单元426提供中央模块420的IMU数据。手跟踪单元426可以经由机器学习从捕获到的帧中识别特征,以估计用户的手的姿势,并且可以基于中央模块420的IMU数据来调整用户的手的姿势。此外,手跟踪单元426将用户的手的姿势发送到控制器跟踪单元428,以估计控制器模块410的姿态。控制器跟踪单元428接收用户的手的姿势和控制器模块410的IMU数据440,并且通过对接收到的数据进行融合来估计控制器模块410的姿态。
在特定实施例中,控制器跟踪单元428可以基于在不同帧中识别出的特征,来确定对应数据。对应数据可以包括特征的观察和测量结果(例如,控制器模块410的特征在环境中的位置)。此外,控制器跟踪单元428还可以执行在预定特征附近收集的立体计算,以提供用于中央模块420对控制器模块410进行跟踪的附加信息。另外,中央模块420的控制器跟踪单元428从云430请求与对应数据相对应的实时地图。在特定实施例中,实时地图可以包括地图数据444。中央模块420的控制器跟踪单元428还可以请求远程重新定位服务444,以使控制器模块410局部地或全局地定位在实时地图中。在特定实施例中,可以基于由摄像头422捕获到的帧(例如,局部构建的地图),来构建控制器模块410相对于环境的姿态。在特定实施例中,中央模块420的控制器跟踪单元428还可以将控制器模块410的对应数据发送到云430,以更新被存储在云430中的地图(例如,具有局部构建的环境)。
图5示出了根据某些实施例的用于跟踪控制器的示例方法500。跟踪系统的控制器模块可以在便携式设备(例如,具有输入按钮的远程控制器、具有触摸板的定位器(puck)等)中实现。跟踪系统的中央模块可以在可穿戴设备(例如,头戴式设备等)中实现,或可以被提供给任何计算系统(例如终端用户的设备,例如智能手机、虚拟现实系统、游戏系统等)或被展示在上述任何计算系统上,并可以与控制器模块配对。方法500可以在步骤510处开始,其中使用摄像头来捕获第一图像,该第一图像描绘了环境中用户的正握持控制器的手的至少一部分。在特定实施例中,摄像头可以是在由用户穿戴的可穿戴设备中实现的一个或多个摄像头。在特定实施例中,可穿戴设备可以是控制器。在特定实施例中,可穿戴设备可以配备有一个或多个IMU。
在步骤520处,方法500可以从第一图像中识别一个或多个特征,以估计用户的手的姿势。在特定实施例中,方法500还可以接收可穿戴设备的IMU数据,以估计可穿戴设备的姿态;以及,可以基于可穿戴设备的姿态,来更新用户的手的姿势。此外,可穿戴设备的姿态是基于可穿戴设备的IMU数据和用户的第一图像来估计的。
在步骤530处,方法500可以基于用户的手的姿势和所估计的抓握来估计控制器的第一姿态,所估计的抓握限定了用户的手与控制器之间的相对姿势。
在步骤540处,方法500可以接收控制器的IMU数据。在特定实施例中,可以以比捕获第一图像的频率更快的频率接收控制器的IMU数据。例如,第一图像可以是以第一频率捕获的,并且控制器的IMU数据可以是以第二频率接收的。第二频率(例如500Hz)高于第一频率(例如30Hz)。
在步骤550处,方法500可以通过使用控制器的IMU数据对控制器的第一姿态进行更新,来估计控制器的第二姿态。在特定实施例中,方法500可以基于控制器的更新后的第一姿态和控制器的IMU数据,来估计手的IMU预测的姿势,并且可以基于手的IMU预测的姿势,来估计手的第二姿势。在特定实施例中,方法500通过以下操作来估计控制器的第二姿态:基于所估计的抓握,来估计控制器相对于环境的姿态;基于控制器的IMU数据,来调整控制器相对于环境的姿态;基于控制器相对于环境的调整后的姿态和控制器的IMU,来估计控制器相对于手的姿态;以及,基于控制器相对于环境的调整后的姿态和控制器相对于手的所估计的姿态,来估计控制器的第二姿态。
在特定实施例中,方法500还可以:使用摄像头捕获用户的第二图像,该用户的第二图像描绘了环境中用户的正握持控制器的手的至少一部分;从用户的第二图像中识别所述一个或多个特征;以及,基于从用户的第二图像中识别出的一个或多个特征,来估计手的第三姿势。此外,估计手的第二姿势的频率(例如500Hz)高于估计手的第三姿势的频率(例如30Hz)。
在特定实施例中,可穿戴设备可以包括摄像头、手跟踪单元和控制器跟踪单元,摄像头被配置为捕获用户的图像,手跟踪单元被配置为估计用户的手的姿势,控制器跟踪单元被配置为估计控制器的第二姿态。
在适当的情况下,特定实施例可以重复图5的方法中的一个或多个步骤。尽管本公开将图5的方法的特定步骤描述和示出为以特定顺序发生,但是本公开考虑了图5的方法的任何合适的步骤以任何合适的顺序发生。此外,尽管本公开描述和示出了用于局部定位的、包括图5的方法的特定步骤的示例方法,但是本公开考虑了用于局部定位的包括任何合适步骤的任何合适的方法,在适当的情况下,上述任何合适的步骤可以包括图5的方法的所有步骤、一些步骤或可以不包括图5的方法的步骤中的任何步骤。此外,尽管本公开描述和示出了执行图5的方法的特定步骤的特定部件、设备或系统,但是本公开考虑了执行图5的方法的任何合适的步骤的任何合适的部件、设备或系统的任何合适的组合。
图6示出了示例计算机系统600。在特定实施例中,一个或多个计算机系统600执行本文所描述或示出的一种或多种方法中的一个或多个步骤。在特定实施例中,一个或多个计算机系统600提供本文所描述或示出的功能。在特定实施例中,在一个或多个计算机系统600上运行的软件执行本文所描述或示出的一种或多种方法的一个或多个步骤,或提供本文所描述或示出的功能。特定实施例包括一个或多个计算机系统600的一个或多个部分。本文中,在适当的情况下,对计算机系统的引用可以涵盖计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以涵盖一个或多个计算机系统。
本公开考虑了任何合适数量的计算机系统600。本公开考虑了采用任何合适的物理形式的计算机系统600。作为示例而非通过限制的方式,计算机系统600可以是嵌入式计算机系统、片上系统(system-on-chip,SOC)、单片计算机系统(single-board computersystem,SBC)(例如,模块上计算机(computer-on-module,COM)或模块上系统(system-on-module,SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务站、大型机、计算机系统的网格、移动手机、个人数字助理(personal digital assistant,PDA)、服务器、平板计算机系统、增强/虚拟现实设备、或这些中的两个或更多个的组合。在适当的情况下,计算机系统600可以包括一个或多个计算机系统600;可以是单一的或分布式的;可以跨多个位置;可以跨多个机器;可以跨多个数据中心;或者可以驻留在云中,所述云包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统600可以在没有实质空间或时间限制的情况下执行本文所描述或示出的一种或多种方法中的一个或多个步骤。作为示例而非通过限制的方式,一个或多个计算机系统600可以实时地或以批处理模式执行本文所描述或示出的一种或多种方法中的一个或多个步骤。在适当的情况下,一个或多个计算机系统600可以在不同的时间或在不同的位置执行本文所描述或示出的一种或多种方法中的一个或多个步骤。
在特定实施例中,计算机系统600包括处理器602、存储器(memory)604、存储装置(storage)606、输入/输出(input/output,I/O)接口608、通信接口610和总线612。尽管本公开描述并示出了具有特定布置的特定数量的特定部件的特定计算机系统,但本公开考虑了具有任何合适布置的任何合适数量的任何合适部件的任何合适计算机系统。
在特定实施例中,处理器602包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而非通过限制的方式,为了执行指令,处理器602可以从内部寄存器、内部高速缓冲存储器、存储器604或存储装置606检索(或提取)指令;解码并执行这些指令;然后将一个或多个结果写入到内部寄存器、内部高速缓冲存储器、存储器604或存储装置606。在特定实施例中,处理器602可以包括用于数据、指令或地址的一个或多个内部高速缓冲存储器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适内部高速缓冲存储器的处理器602。作为示例而非通过限制的方式,处理器602可以包括一个或多个指令高速缓冲存储器、一个或多个数据高速缓冲存储器、以及一个或多个转换后备缓冲器(translation lookaside buffer,TLB)。指令高速缓冲存储器中的指令可以是存储器604或存储装置606中的指令的副本,并且指令高速缓冲存储器可以加速处理器602对这些指令的检索。数据高速缓冲存储器中的数据可以是存储器604或存储装置606中用于在处理器602处执行以在其上操作的数据的副本;可以是在处理器602处执行的先前指令的结果,以用于在处理器602处执行的后续指令访问,或用于写入到存储器604或存储装置606中;或可以是其他合适的数据。数据高速缓冲存储器可以加速由处理器602进行的读取或写入操作。TLB可以加速处理器602的虚拟地址转换。在特定实施例中,处理器602可以包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑了包括任何合适数量的任何合适内部寄存器的处理器602。在适当的情况下,处理器602可以包括一个或多个算术逻辑单元(arithmetic logic unit,ALU);可以是多核处理器;或者可以包括一个或多个处理器602。尽管本公开描述并示出了特定的处理器,但本公开考虑了任何合适的处理器。
在特定实施例中,存储器604包括主存储器,该主存储器用于存储供处理器602执行的指令或供处理器602在其上操作的数据。作为示例而非通过限制的方式,计算机系统600可以将指令从存储器606或另一个源(例如,另一个计算机系统600)加载到存储器604。然后,处理器602可以将指令从存储器604加载到内部寄存器或内部高速缓冲存储器。为了执行指令,处理器602可以从内部寄存器或内部高速缓冲存储器检索指令,并对这些指令进行解码。在执行指令期间或之后,处理器602可以将一个或多个结果(其可以是中间结果或最终结果)写入到内部寄存器或内部高速缓冲存储器。然后,处理器602可以将这些结果中的一个或多个写入存储器604。在特定实施例中,处理器602仅执行一个或多个内部寄存器中或一个或多个内部高速缓冲存储器中或存储器604(与存储装置606或其他地方相对)中的指令,并且仅对一个或多个内部寄存器中或一个或多个内部高速缓冲存储器中或存储器604(与存储装置606或其他地方相对)中的数据进行操作。一个或多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器602耦接到存储器604。总线612可以包括如下所述的一条或多条存储器总线。在特定实施例中,一个或多个存储器管理单元(memorymanagement unit,MMU)驻留在处理器602与存储器604之间,并且促进由处理器602请求的对存储器604的访问。在特定实施例中,存储器604包括随机存取存储器(random accessmemory,RAM)。在适当的情况下,该RAM是易失性存储器。在适当的情况下,该RAM是动态RAM(dynamic RAM,DRAM)或静态RAM(static RAM,SRAM)。此外,在适当的情况下,该RAM是单端口RAM或多端口RAM。本公开考虑了任何合适的RAM。在适当的情况下,存储器604包括一个或多个存储器604。尽管本公开描述并示出了特定存储器,但本公开考虑了任何合适的存储器。
在特定实施例中,存储装置606包括用于数据或指令的大容量存储装置。作为示例而非通过限制的方式,存储装置606可以包括硬盘驱动器(hard disk drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置606可以包括可移动介质或不可移动(或固定)介质。在适当的情况下,存储装置606可以在计算机系统600的内部或外部。在特定实施例中,存储装置606是非易失性固态存储器。在特定实施例中,存储装置606包括只读存储器(read-only memory,ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、电可改写ROM(electrically alterable ROM,EAROM)或闪存、或这些中的两个或更多个的组合。本公开考虑了采用任何合适的物理形式的大容量存储装置606。在适当的情况下,存储装置606可以包括一个或多个存储控制单元,该一个或多个存储控制单元促进处理器602与存储装置606之间的通信。在适当的情况下,存储装置606可以包括一个或多个存储装置606。尽管本公开描述并示出了特定存储装置,但是本公开考虑了任何合适的存储装置。
在特定实施例中,I/O接口608包括硬件、软件或这两者,该硬件、软件或这两者提供了用于在计算机系统600与一个或多个I/O设备之间进行通信的一个或多个接口。在适当的情况下,计算机系统600可以包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个可以实现个人与计算机系统600之间的通信。作为示例而非通过限制的方式,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像头、触笔、平板、触摸屏、轨迹球、视频摄像机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或多个传感器。本公开考虑了任何合适的I/O设备和用于该I/O设备的任何合适的I/O接口608。在适当的情况下,I/O接口608可以包括使处理器602能够驱动这些I/O设备中的一个或多个的一个或多个设备驱动器或软件驱动器。在适当的情况下,I/O接口608可以包括一个或多个I/O接口608。尽管本公开描述并示出了特定的I/O接口,但是本公开考虑了任何合适的I/O接口。
在特定实施例中,通信接口610包括硬件、软件或这两者,该硬件、软件或这两者提供了用于在计算机系统600与一个或多个其它计算机系统600或一个或多个网络之间进行通信(例如,基于分组的通信)的一个或多个接口。作为示例而非通过限制的方式,通信接口610可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(networkinterface controller,NIC)或网络适配器,或者用于与诸如WI-FI网络等无线网络进行通信的无线NIC(wireless NIC,WNIC)或无线适配器。本公开考虑了任何合适的网络和用于该网络的任何合适的通信接口610。作为示例而非通过限制的方式,计算机系统600可以与自组织网络、个域网(personal area network,PAN)、局域网(local area network,LAN)、广域网(wide area network,WAN)、城域网(metropolitan area network,MAN)或互联网的一个或多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或多个网络的一个或多个部分可以是有线的或无线的。作为示例,计算机系统600可以与无线PAN(wireless PAN,WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(Global System for Mobile Communications,GSM)网络)或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统600可以包括用于这些网络中的任何网络的任何合适的通信接口610。在适当的情况下,通信接口610可以包括一个或多个通信接口610。尽管本公开描述并示出了特定的通信接口,但是本公开考虑了任何合适的通信接口。
在特定实施例中,总线612包括硬件、软件或这两者,该硬件、软件或这两者将计算机系统600的各部件彼此耦接。作为示例而非通过限制的方式,总线612可以包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(EnhancedIndustry Standard Architecture,EISA)总线、前侧总线(front-side bus,FSB)、超传输(HYPERTRANSPORT,HT)互连、工业标准架构(Industry Standard Architecture,ISA)总线、无限带宽(INFINIBAND)互连、低引脚数(low-pin-count,LPC)总线、存储器总线、微通道架构(Micro Channel Architecture,MCA)总线、外围部件互连(Peripheral ComponentInterconnect,PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(serial advancedtechnology attachment,SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association local,VLB)总线或另一条合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线612可以包括一条或多条总线612。尽管本公开描述并示出了特定的总线,但是本公开考虑了任何合适的总线或互连。
本文中,在适当的情况下,计算机可读非暂态存储介质或介质可包括一个或多个基于半导体的或其他集成电路(integrated circuit,IC)(例如,现场可编程门阵列(field-programmable gate array,FPGA)或专用IC(application-specific IC,ASIC))、硬盘驱动器(hard disk drive,HDD)、混合硬盘驱动器(hybrid hard drive,HHD)、光盘、光盘驱动器(optical disc drive,ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(floppydisk drive,FDD)、磁带、固态驱动器(solid-state drive,SSD)、RAM驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂态存储介质、或这些中的两个或更多个的任何合适的组合。在适当的情况下,计算机可读非暂态存储介质可以是易失性的、非易失性的、或者易失性和非易失性的组合。
在本文中,除非另有明确说明或上下文另有说明,否则“或”是包含性的而不是排他性的。因此,本文中,除非另有明确说明或上下文另有说明,否则“A或B”意指“A、B或两者”。此外,除非另有明确说明或上下文另有说明,否则“和”是共同的和各自的。因此,本文中,除非另有明确说明或上下文另有说明,否则“A和B”意指“A和B,共同地或各自地”。
本公开的范围涵盖所属领域的技术人员将理解的对本文中所描述或示出的示例实施例的所有改变、替代、变化、更改和修改。本公开的范围不限于本文所描述或示出的示例实施例。此外,尽管本公开将本文中的相应实施例描述并示出为包括特定部件、元件、特征、功能、操作或步骤,但是这些实施例中的任何实施例可以包括本领域普通技术人员将理解的本文任何地方所描述或示出的部件、元件、特征、功能、操作或步骤中的任何的任何组合或排列。此外,所附权利要求中对适于、布置为、能够、被配置为、被启用以、能被操作或可被操作以执行特定功能的装置、或系统、或装置或系统中的部件的引用,包含该装置、系统、部件,无论它或该特定功能是否被激活、打开或解锁,只要该装置、系统或部件被如此适于、布置、能够、配置、启用、能被操作或可被操作。另外,尽管本公开将特定实施例描述或示出为提供特定优点,但是特定实施例可以不提供这些优点,或可以提供这些优点中的一些或全部。
根据各种实施例,本文中的特征的优点在于,本申请可提供不需要对配备有LED的控制器进行配对的跟踪方法,并且仍保持准确的且具有成本效益的跟踪。跟踪方法基于从捕获到的图像中识别出的特征,来估计用户的手的姿势;然后基于用户的手的姿势来估计用户的手的抓握,使得跟踪方法可以基于抓握来估计控制器的姿态。此外,跟踪方法可以基于控制器的IMU数据,来调整/校准控制器的姿态。另外,还可以通过由IMU数据提供的预测,来改进跟踪方法的处理时间。本公开的特定实施例还使得能够在没有LED的情况下或当设置在控制器上的LED发生故障时跟踪控制器。因此,本公开所公开的特定实施例可以提供用于控制器的改进的、具有成本效益的跟踪方法。
虽然附图中的过程可展示由本发明的某些实施例执行的操作的特定次序,但应理解,此类次序是示例性的(例如,替代实施例可按不同次序执行操作、组合某些操作、同时执行某些操作等)。
虽然已经根据若干实施例描述了本发明,但是本领域技术人员将认识到,本发明不限于所描述的实施例,而是可以在所附权利要求的范围内通过修改和改变来实践本发明。因此,该描述被认为是说明性的而不是限制性的。

Claims (15)

1.一种方法,包括:通过计算系统:
使用在用户所穿戴的可穿戴设备中实现的一个或多个摄像头来捕获第一图像,所述第一图像描绘了在环境中所述用户的正握持控制器的手的至少一部分;
从所述第一图像中识别一个或多个特征,以估计所述用户的所述手的姿势;
基于所述用户的所述手的所述姿势和所估计的抓握,来估计所述控制器的第一姿态,所述所估计的抓握限定了所述用户的所述手与所述控制器之间的相对姿势;
接收所述控制器的惯性测量单元(IMU)数据;以及
通过使用所述控制器的所述IMU数据对所述控制器的所述第一姿态进行更新,来估计所述控制器的第二姿态。
2.根据权利要求1所述的方法,其中,所述第一图像是以第一频率捕获的,并且所述控制器的所述IMU数据是以第二频率接收的,其中,所述第二频率高于所述第一频率。
3.根据权利要求1或权利要求2所述的方法,还包括:
接收所述可穿戴设备的IMU数据,以估计所述可穿戴设备的姿态;
基于所述可穿戴设备的所述姿态,来更新所述用户的所述手的所述姿势;以及可选地,
其中,所述可穿戴设备的所述姿态是基于所述可穿戴设备的所述IMU数据和所述用户的所述第一图像来估计的。
4.根据权利要求1、权利要求2或权利要求3所述的方法,还包括:
基于所述控制器的更新后的第一姿态和所述控制器的所述IMU数据,来估计所述手的IMU预测的姿势;
基于所述手的所述IMU预测的姿势,来估计所述手的第二姿势;
以及可选地,使用所述一个或多个摄像头捕获所述用户的第二图像,所述用户的所述第二图像描绘了在所述环境中所述用户的正握持所述控制器的所述手的至少一部分;
从所述用户的所述第二图像中识别所述一个或多个特征;以及
基于从所述用户的所述第二图像中识别出的所述一个或多个特征,来估计所述手的第三姿势,以及进一步可选地,
其中,估计所述手的所述第二姿势的频率高于估计所述手的所述第三姿势的频率。
5.根据前述权利要求中任一项所述的方法,其中,所述可穿戴设备包括:
所述一个或多个摄像头,所述一个或多个摄像头被配置为捕获所述用户的图像;
手跟踪单元,所述手跟踪单元被配置为估计所述用户的所述手的所述姿势;以及
控制器跟踪单元,所述控制器跟踪单元被配置为估计所述控制器的所述第二姿态。
6.根据前述权利要求中任一项所述的方法,其中,估计所述控制器的所述第二姿态包括:
基于所述所估计的抓握和所述用户的所述手相对于所述环境的所估计的姿势,来估计所述控制器相对于所述环境的姿态;
基于所述控制器的所述IMU数据,来调整所述控制器相对于所述环境的所述姿态;
基于所述控制器相对于所述环境的调整后的姿态和所述控制器的所述IMU,来估计所述控制器相对于所述手的姿态;以及
基于所述控制器相对于所述环境的调整后的姿态和所述控制器相对于所述手的所估计的姿态,来估计所述控制器的所述第二姿态。
7.一种或多种计算机可读非暂态存储介质,所述一种或多种计算机可读非暂态存储介质存储有指令,所述指令在被计算系统执行时使得所述计算系统:
使用在用户所穿戴的可穿戴设备中实现的一个或多个摄像头来捕获第一图像,所述第一图像描绘了在环境中所述用户的正握持控制器的手的至少一部分;
从所述第一图像中识别一个或多个特征,以估计所述用户的所述手的姿势;
基于所述用户的所述手的所述姿势和所估计的抓握,来估计所述控制器的第一姿态,所述所估计的抓握限定了所述用户的所述手与所述控制器之间的相对姿势;
接收所述控制器的惯性测量单元(IMU)数据;以及
通过使用所述控制器的所述IMU数据对所述控制器的所述第一姿态进行更新,来估计所述控制器的第二姿态。
8.根据权利要求7所述的介质,其中,所述第一图像是以第一频率捕获的,并且所述控制器的所述IMU数据是以第二频率接收的,其中,所述第二频率高于所述第一频率。
9.根据权利要求7或权利要求8所述的介质,其中,所述软件在被计算系统执行时还能被操作以使所述计算系统:
接收所述可穿戴设备的IMU数据,以估计所述可穿戴设备的姿态;
基于所述可穿戴设备的所述姿态,来更新所述用户的所述手的所述姿势;以及可选地,
其中,所述可穿戴设备的所述姿态是基于所述可穿戴设备的所述IMU数据和所述用户的所述第一图像来估计的。
10.根据权利要求7、权利要求8或权利要求9所述的介质,其中,所述软件在被计算系统执行时还能被操作以使所述计算系统:
基于所述控制器的更新后的第一姿态和所述控制器的所述IMU数据,来估计所述手的IMU预测的姿势;
基于所述手的所述IMU预测的姿势,来估计所述手的第二姿势;
使用所述一个或多个摄像头捕获所述用户的第二图像,所述用户的所述第二图像描绘了在所述环境中所述用户的正握持所述控制器的所述手的至少一部分;
从所述用户的所述第二图像中识别所述一个或多个特征;以及可选地,
基于从所述用户的所述第二图像中识别出的所述一个或多个特征,来估计所述手的第三姿势。
11.根据权利要求10所述的介质,其中,估计所述手的所述第二姿势的频率高于估计所述手的所述第三姿势的频率。
12.根据权利要求7至11中任一项所述的介质,其中,所述可穿戴设备包括:
所述一个或多个摄像头,所述一个或多个摄像头被配置为捕获所述用户的图像;
手跟踪单元,所述手跟踪单元被配置为估计所述用户的所述手的所述姿势;以及
控制器跟踪单元,控制器跟踪单元被配置为估计所述控制器的所述第二姿态。
13.根据权利要求7至11中任一项所述的介质,其中,估计所述控制器的所述第二姿态包括:
基于所估计的抓握和所述用户的所述手相对于所述环境的所估计的姿势,来估计所述控制器相对于所述环境的姿态;
基于所述控制器的所述IMU数据,来调整所述控制器相对于所述环境的所述姿态;
基于所述控制器相对于所述环境的调整后的姿态和所述控制器的所述IMU,来估计所述控制器相对于所述手的姿态;以及
基于所述控制器相对于所述环境的调整后的姿态和所述控制器相对于所述手的所估计的姿态,来估计所述控制器的所述第二姿态。
14.一种系统,所述系统包括:一个或多个处理器;以及一个或多个计算机可读非暂态存储介质,所述一个或多个计算机可读非暂态存储介质被耦接到所述一个或多个处理器中的一个或多个,并且包括指令,所述指令在被所述一个或多个处理器中的所述一个或多个执行时能被操作以使得所述系统:
使用在用户所穿戴的可穿戴设备中实现的一个或多个摄像头来捕获第一图像,所述第一图像描绘了在环境中所述用户的正握持控制器的手的至少一部分;
从所述第一图像中识别一个或多个特征,以估计所述用户的所述手的姿势;
基于所述用户的所述手的所述姿势和所估计的抓握,来估计所述控制器的第一姿态,所述所估计的抓握限定了所述用户的所述手与所述控制器之间的相对姿势;
接收所述控制器的惯性测量单元(IMU)数据;以及
通过使用所述控制器的所述IMU数据对所述控制器的所述第一姿态进行更新,来估计所述控制器的第二姿态。
15.根据权利要求14所述的系统,其中,所述指令在被执行时还能被操作以:
接收所述可穿戴设备的IMU数据,以估计所述可穿戴设备的姿态;以及基于所述可穿戴设备的所述姿态,来更新所述用户的所述手的所述姿势。
CN202180068110.XA 2020-08-03 2021-07-27 用于使用融合数据进行对象跟踪的系统和方法 Pending CN116261706A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/983,958 US11320896B2 (en) 2020-08-03 2020-08-03 Systems and methods for object tracking using fused data
US16/983,958 2020-08-03
PCT/US2021/043345 WO2022031478A1 (en) 2020-08-03 2021-07-27 Systems and methods for object tracking using fused data

Publications (1)

Publication Number Publication Date
CN116261706A true CN116261706A (zh) 2023-06-13

Family

ID=77412353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180068110.XA Pending CN116261706A (zh) 2020-08-03 2021-07-27 用于使用融合数据进行对象跟踪的系统和方法

Country Status (6)

Country Link
US (2) US11320896B2 (zh)
EP (1) EP4189526A1 (zh)
JP (1) JP2023536434A (zh)
KR (1) KR20230043215A (zh)
CN (1) CN116261706A (zh)
WO (1) WO2022031478A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11320896B2 (en) * 2020-08-03 2022-05-03 Facebook Technologies, Llc. Systems and methods for object tracking using fused data
CN112949512B (zh) * 2021-03-08 2022-07-08 豪威芯仑传感器(上海)有限公司 一种动态手势识别方法、手势交互方法及交互系统
TWI814208B (zh) * 2021-09-28 2023-09-01 宏達國際電子股份有限公司 虛擬影像顯示裝置及其虛擬影像的物件的選取方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002069272A2 (en) * 2001-01-26 2002-09-06 Zaxel Systems, Inc. Real-time virtual viewpoint in simulated reality environment
WO2007130791A2 (en) 2006-05-04 2007-11-15 Sony Computer Entertainment America Inc. Multi-input game control mixer
US9613298B2 (en) * 2014-06-02 2017-04-04 Microsoft Technology Licensing, Llc Tracking using sensor data
WO2016079774A1 (en) * 2014-11-21 2016-05-26 Johri Abhishek System and method for data and command input
US9665174B2 (en) * 2015-02-20 2017-05-30 Sony Interactive Entertainment Inc. Magnetic tracking of glove fingertips with peripheral devices
US9652038B2 (en) * 2015-02-20 2017-05-16 Sony Interactive Entertainment Inc. Magnetic tracking of glove fingertips
EP3265895B1 (en) * 2015-03-01 2020-04-08 Tactical Haptics Embedded grasp sensing devices, systems, and methods
JP6786792B2 (ja) * 2015-12-03 2020-11-18 セイコーエプソン株式会社 情報処理装置、表示装置、情報処理方法、及び、プログラム
US10078377B2 (en) 2016-06-09 2018-09-18 Microsoft Technology Licensing, Llc Six DOF mixed reality input by fusing inertial handheld controller with hand tracking
WO2018039269A1 (en) * 2016-08-22 2018-03-01 Magic Leap, Inc. Augmented reality display device with deep learning sensors
US10712835B2 (en) * 2016-10-06 2020-07-14 Htc Corporation System and method for detecting hand gesture
US10691233B2 (en) * 2016-10-11 2020-06-23 Valve Corporation Sensor fusion algorithms for a handheld controller that includes a force sensing resistor (FSR)
US10987573B2 (en) * 2016-10-11 2021-04-27 Valve Corporation Virtual reality hand gesture generation
US10792561B2 (en) * 2016-10-28 2020-10-06 Sony Interactive Entertainment Inc. Information processing system, information processing apparatus, control method, and program
KR102630774B1 (ko) * 2016-12-29 2024-01-30 매직 립, 인코포레이티드 외부 조건들에 기초한 웨어러블 디스플레이 디바이스의자동 제어
US10650552B2 (en) * 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
US11740690B2 (en) * 2017-01-27 2023-08-29 Qualcomm Incorporated Systems and methods for tracking a controller
US10664993B1 (en) * 2017-03-13 2020-05-26 Occipital, Inc. System for determining a pose of an object
IL310727A (en) * 2017-04-27 2024-04-01 Magic Leap Inc Light emitting user output device
US10852847B2 (en) * 2017-07-26 2020-12-01 Google Llc Controller tracking for multiple degrees of freedom
US10521947B2 (en) * 2017-09-29 2019-12-31 Sony Interactive Entertainment Inc. Rendering of virtual hand pose based on detected hand input
US10996742B2 (en) * 2017-10-17 2021-05-04 Logitech Europe S.A. Input device for AR/VR applications
US10705606B1 (en) * 2017-10-23 2020-07-07 Facebook Technologies, Llc Tracking sensor integration system and method for recursive estimation of pose of user's body part
US10866652B2 (en) * 2017-11-13 2020-12-15 Samsung Electronics Co., Ltd. System and method for distributed device tracking
US11481029B2 (en) * 2018-02-09 2022-10-25 Samsung Electronics Co., Ltd. Method for tracking hand pose and electronic device thereof
US10964030B2 (en) * 2018-02-12 2021-03-30 Samsung Electronics Co., Ltd. Device and method with pose estimator based on current predicted motion state array
US10740924B2 (en) * 2018-04-16 2020-08-11 Microsoft Technology Licensing, Llc Tracking pose of handheld object
US10628711B2 (en) * 2018-04-24 2020-04-21 Microsoft Technology Licensing, Llc Determining pose of handheld object in environment
CN112424727A (zh) * 2018-05-22 2021-02-26 奇跃公司 用于可穿戴系统的跨模态输入融合
US11009941B2 (en) * 2018-07-25 2021-05-18 Finch Technologies Ltd. Calibration of measurement units in alignment with a skeleton model to control a computer system
JP7455121B2 (ja) * 2018-10-26 2024-03-25 マジック リープ, インコーポレイテッド 電磁追跡のための周囲電磁歪み補正
US11016305B2 (en) * 2019-04-15 2021-05-25 Magic Leap, Inc. Sensor fusion for electromagnetic tracking
US11010921B2 (en) * 2019-05-16 2021-05-18 Qualcomm Incorporated Distributed pose estimation
US10853991B1 (en) * 2019-05-20 2020-12-01 Facebook Technologies, Llc Multi-layered artificial reality controller pose tracking architecture having prioritized motion models
US11029753B2 (en) * 2019-11-05 2021-06-08 XRSpace CO., LTD. Human computer interaction system and human computer interaction method
US11475639B2 (en) * 2020-01-03 2022-10-18 Meta Platforms Technologies, Llc Self presence in artificial reality
US12061743B2 (en) * 2020-02-26 2024-08-13 Magic Leap, Inc. Hand and totem input fusion for wearable systems
US11320896B2 (en) * 2020-08-03 2022-05-03 Facebook Technologies, Llc. Systems and methods for object tracking using fused data

Also Published As

Publication number Publication date
WO2022031478A1 (en) 2022-02-10
US20220035441A1 (en) 2022-02-03
US11320896B2 (en) 2022-05-03
EP4189526A1 (en) 2023-06-07
JP2023536434A (ja) 2023-08-25
KR20230043215A (ko) 2023-03-30
US20220253131A1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
US11527011B2 (en) Localization and mapping utilizing visual odometry
CN116897326A (zh) 人工现实中虚拟对象的手部锁定渲染
US11954805B2 (en) Occlusion of virtual objects in augmented reality by physical objects
US20220253131A1 (en) Systems and methods for object tracking using fused data
US20240353920A1 (en) Joint infrared and visible light visual-inertial object tracking
US11507203B1 (en) Body pose estimation using self-tracked controllers
US20230132644A1 (en) Tracking a handheld device
WO2022174594A1 (zh) 基于多相机的裸手追踪显示方法、装置及系统
US11182647B2 (en) Distributed sensor module for tracking
US20240104744A1 (en) Real-time multi-view detection of objects in multi-camera environments
JP7477596B2 (ja) 深度推定のための方法、深度推定システム、およびコンピュータプログラム
US11030820B1 (en) Systems and methods for surface detection
US20240126381A1 (en) Tracking a handheld device
US20230245322A1 (en) Reconstructing A Three-Dimensional Scene
US11321838B2 (en) Distributed sensor module for eye-tracking
US20220122285A1 (en) Visual inertial odometry localization using sparse sensors
KR20230162927A (ko) 인간의 시야 범위로부터의 자기중심적 포즈 추정
CN117121057A (zh) 基于人类视觉范围的以自我为中心的姿态估计

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination