CN114972689A - 执行增强现实姿态确定的方法和装置 - Google Patents

执行增强现实姿态确定的方法和装置 Download PDF

Info

Publication number
CN114972689A
CN114972689A CN202110916143.7A CN202110916143A CN114972689A CN 114972689 A CN114972689 A CN 114972689A CN 202110916143 A CN202110916143 A CN 202110916143A CN 114972689 A CN114972689 A CN 114972689A
Authority
CN
China
Prior art keywords
information
pose
computing device
determining
pose information
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
CN202110916143.7A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN114972689A publication Critical patent/CN114972689A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed 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/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/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye 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/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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Image Analysis (AREA)
  • Navigation (AREA)

Abstract

提供了一种进行姿态确定的方法和装置。该方法包括:根据计算装置的运动的运动传感器信息来确定所述计算装置的第一姿态信息;根据针对对象预定义的特征点位置信息和所述对象的从由所述计算装置捕捉的图像中提取的一个或多个特征点,来估计所述计算装置的第二姿态信息;确定所述第一姿态信息和所述第二姿态信息的相应可靠性值;以及基于所述第一姿态信息、所述第二姿态信息和所述相应可靠性值,确定所述计算装置的用于增强现实(AR)内容的姿态。可以基于所确定的姿态来生成AR内容。

Description

执行增强现实姿态确定的方法和装置
相关申请的交叉引用
本申请要求于2021年2月26日提交到韩国知识产权局的韩国专利申请No.10-2021-0026726的权益,该申请的全部内容通过引用合并于此。
技术领域
以下描述涉及增强现实姿态确定的方法和设备。
背景技术
增强现实(AR)可以包括将虚拟对象或信息与现实世界的物理环境(例如与外部物理前景和/或背景)相结合、并将与物理环境相结合的虚拟对象或信息进行显示的显示技术,同时,虚拟现实(VR)可以提供虚拟环境,而混合现实(MR)可以提供虚拟环境和物理环境的混合。
发明内容
提供本概述以简化形式介绍在下面的详细描述中进一步描述的概念的选择。本概述并非意欲确定要求保护的主题的关键特征或基本特征,也并非意欲用作确定要求保护的主题的范围的辅助。
在一个总体方面,一种处理器实现的方法包括:根据计算装置的运动的运动传感器信息来确定计算装置的第一姿态信息;根据针对对象预定义的特征点位置信息和对象的从由计算装置捕捉的图像中提取的一个或多个特征点,来估计计算装置的第二姿态信息;确定第一姿态信息和第二姿态信息的相应可靠性值;以及基于第一姿态信息、第二姿态信息和相应可靠性值,确定计算装置的用于增强现实(AR)内容的姿态。
第一姿态信息和第二姿态信息的相应可靠性值可以基于运动传感器信息和所提取的一个或多个特征点的提取信息。
确定相应可靠性值可以包括:基于根据运动传感器信息估计的对象的特征点在当前时间的位置与根据提取信息的对象的特征点在当前时间的另一位置之间的差,确定相应可靠性值。
确定相应可靠性值可以包括:响应于差满足差值条件,确定第一姿态信息的可靠性值高于第二姿态信息的可靠性值。
确定相应可靠性值可以包括:响应于运动传感器信息和提取信息中的至少一个被更新,重新确定第一姿态信息的可靠性值和第二姿态信息的可靠性值中的至少一个。
确定相应可靠性值可以包括:根据运动传感器信息、基于计算装置的运动程度来确定相应可靠性值。
确定相应可靠性值可以包括:响应于运动程度满足运动程度条件,确定第一姿态信息的可靠性值高于第二姿态信息的可靠性值
该方法还可以包括针对对象执行一个或多个特征点的提取,其中确定相应可靠性值包括:响应于确定对象在图像中并且图像的图像质量被确定为满足图像质量条件,来确定第二姿态信息的可靠性值高于第一姿态信息的可靠性值。
确定相应可靠性值可以包括:使用卡尔曼滤波器来确定相应可靠性值。
该方法还可以包括针对对象执行一个或多个特征点的提取以提取对象的多个特征点,其中确定相应可靠性值包括:基于多个特征点中的每一个的运动速度来确定多个特征点中的每一个的可靠性值。
确定计算装置的姿态可以包括:通过基于相应可靠性值组合第一姿态信息和第二姿态信息,来确定计算装置的姿态。
特征点位置信息可以是当对应参考对象处于参考姿态时位于对应参考对象的表面上的参考特征点的三维(3D)坐标信息。
该方法还可以包括针对对象执行一个或多个特征点的提取以提取对象的多个特征点,其中估计第二姿态信息包括:基于所提取的多个特征点与参考特征点中彼此相对应的特征点之间的差来估计第二姿态信息。
确定第一姿态信息可以包括:基于运动传感器信息和从先前图像中提取的对象的特征点来确定第一姿态信息。
确定计算装置的姿态可以包括:确定对计算装置的位置和取向加以表示的特征值。
该方法还可以包括基于对计算装置的位置和取向加以表示的特征值来显示AR内容。
该方法还可以包括使用计算装置的运动传感器来估计计算装置的运动传感器信息。
该方法还可以包括:使用计算装置的图像传感器来获得当前图像帧;以及从当前图像帧中提取对象的一个或多个特征点。
在一个总体方面,一个或多个实施例包括一种存储指令的非暂时性计算机可读存储介质,当由处理器执行时,该指令使处理器执行本文描述的操作或方法中的任意一个、任意组合或全部。
在一个总体方面,一种计算装置包括处理器,该处理器被配置为:根据计算装置的运动的运动传感器信息来确定计算装置的第一姿态信息;根据针对对象预定义的特征点位置信息和对象的从由计算装置捕捉的图像中提取的一个或多个特征点,来估计计算装置的第二姿态信息;基于运动传感器信息和所提取的一个或多个特征点的提取信息,确定第一姿态信息和第二姿态信息的相应可靠性值;以及基于第一姿态信息、第二姿态信息和相应可靠性值,确定计算装置的用于增强现实AR内容的姿态。
为了确定计算装置的姿态,处理器可以被配置为确定对计算装置的位置和取向加以表示的特征值。
该装置还可以包括显示器,其中处理器还可以被配置为基于对计算装置的位置和取向加以表示的特征值来控制AR内容的显示。
该装置还可以包括被配置为估计运动传感器信息的运动传感器。
该装置还可以包括图像传感器,其中为了执行一个或多个特征的提取,处理器可以被配置为使用图像传感器获得当前图像帧,并从当前图像帧提取对象的一个或多个特征点。
为了确定相应可靠性值,处理器可以被配置为:基于根据运动传感器信息估计的对象的特征点在当前时间的位置与根据提取信息的对象的特征点在当前时间的另一位置之间的差,并且基于当该差满足差值条件时,确定第一姿态信息的可靠性值高于第二姿态信息的可靠性值,来确定相应可靠性值。
为了确定相应可靠性值,处理器可以被配置为:基于根据运动传感器信息的计算装置的运动程度,并且基于当运动程度满足运动程度条件时,确定第一姿态信息的可靠性值高于第二姿态信息的可靠性值,来确定相应可靠性值。
处理器还可以被配置为针对对象执行一个或多个特征点的提取,其中为了确定相应可靠性值,处理器可以被配置为:当对象在图像中并且当图像的图像质量满足图像质量条件时,确定第二姿态信息的可靠性值高于第一姿态信息的可靠性值。
在一个总体方面,一种计算装置包括:运动传感器,被配置为测量计算装置的运动信息;图像传感器,被配置为捕捉图像;显示器;以及处理器,被配置为:根据运动信息来确定计算装置的第一姿态信息;根据针对对象预定义的特征点位置信息和对象的从图像中提取的一个或多个特征点,来估计计算装置的第二姿态信息;确定第一姿态信息和第二姿态信息的相应可靠性值;基于第一姿态信息、第二姿态信息和相应可靠性值来估计计算装置的姿态;基于所估计的姿态来产生匹配实际对象的AR内容;以及控制显示器显示所产生的AR内容。
为了确定第一姿态信息和第二姿态信息的相应可靠性值,处理器可以被配置为:基于运动信息和所提取的一个或多个特征点的提取信息来确定第一姿态信息和第二姿态信息的相应可靠性值。
为了估计计算装置的姿态,处理器可以被配置为基于第一姿态信息、第二姿态信息和相应可靠性值来确定对计算装置的位置和取向加以表示的特征值,以及其中处理器可以被配置为基于特征值来执行AR内容的产生。
根据以下详细描述、附图和权利要求,其他特征和方面将变得清楚明白。
附图说明
图1和图2示出了根据一个或多个实施例的由计算装置提供的增强现实(AR)的概览的示例。
图3示出了根据一个或多个实施例的进行姿态确定的计算装置的示例。
图4示出了根据一个或多个实施例的确定计算装置的姿态的示例。
图5示出了根据一个或多个实施例的确定可靠性值的示例。
图6示出了根据一个或多个实施例的确定可靠性值的示例。
图7示出了根据一个或多个实施例的进行姿态确定的计算装置的示例。
图8示出了根据一个或多个实施例的进行AR提供的计算装置的示例。
贯穿附图和详细描述,除非另有说明或提供,否则相同的附图标号将被理解为指代相同或相似的元件、特征和结构。附图可能不是按比例绘制的,并且为了清楚、说明和方便起见,附图中元件的相对大小、比例和描绘可能被夸大。
具体实施方式
提供以下详细描述以帮助读者获得对这里描述的方法、装置和/或系统的全面理解。然而,在理解了本申请的公开内容之后,这里描述的方法、设备和/或系统的各种改变、修改和等效物将是显而易见的。例如,这里描述的操作序列仅仅是示例,并不限于这里阐述的那些,而是除了必须按照一定顺序发生的操作之外可以在理解了本申请的公开内容之后显而易见地改变。此外,为了更清楚和简洁,可以省略在理解本申请的公开之后已知的特征的描述。
在此描述的特征可以以不同的形式体现,并且不应被解释为限于在此描述的示例。相反,提供这里描述的示例仅仅是为了说明在理解了本申请的公开内容之后将显而易见地实现本文描述的方法、设备和/或系统的许多可能方式中的一些。
以下对本公开中公开的示例的结构或操作描述仅用于描述示例的目的,并说明示例可以以各种形式实施。示例并非意欲进行限制,而是本文的描述意味着各种修改、等同物和替代物也涵盖在本公开和权利要求的范围内。
尽管诸如“第一”、“第二”和“第三”之类的术语可在本文中用于描述各种构件、组件、区域、层或部分,但这些构件、组件、区域、层或部分不被这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,在本文描述的示例中提及的第一构件、组件、区域、层或部分也可以称为第二构件、组件、区域、层或部分。
在整个说明书中,当一个组件被描述为“连接到”或“耦合到”另一个组件时,它可以直接“连接到”或“耦合到”另一个组件,或者可以在它们之间存在一个或多个其他组件。相反,当一个元件被描述为“直接连接到”或“直接耦合到”另一个元件时,它们之间不存在其他元件。同样,类似的表述,例如“介于”和“紧紧介于”、“邻近”和“紧邻”等也应以相同方式解释。如本文所用,术语“和/或”包括关联列出的项目中的任何一项和任何两项或更多项的任何组合。
在此使用的术语仅用于描述各种示例,并不用于限制本公开。冠词“一个”也旨在包括复数形式,除非上下文另有明确说明。术语“包括”、“包含”和“具有”指定了所述特征、数量、操作、构件、元件和/或它们的组合的存在,但不排除存在或添加一个或多个其他特征、数量、操作、构件、元件和/或它们的组合。
除非另有定义,本文中使用的包括技术或科学术语在内的所有术语具有与那些在理解了本公开内容之后通常理解的含义相同的含义。诸如常用词典中定义的术语之类的术语应被理解为与相关领域的上下文含义相匹配,更重要的是,与本公开中的上下文相匹配,而不应被理解为理想的或过于形式化的含义,除非另有定义。此处关于示例或实施例使用术语“可以”(例如关于示例或实施例可以包括或实现什么)意味着存在至少一个示例或实施例,其中包括或实现了这样的特征,而所有示例不限于此。
图1和图2示出了根据一个或多个实施例的由计算装置提供的增强现实(AR)的概览的示例。这里,虽然可以参考AR提供装置,例如关于图1和图2的AR提供装置110以及图8的AR提供装置800、或图3展示的姿态确定装置或图7的姿态确定装置700,但是这些不同的参考只是为了便于说明,并且任何AR提供装置和姿态确定装置可以是可以执行姿态确定、可靠性确定和/或AR提供的相同或相应计算装置,注意,这些示例还包括这些计算装置除了执行这样的AR相关操作之外还执行附加操作。
参考图1,AR提供装置110可以是这样的计算装置,其被配置为例如在由计算装置执行的其他操作中向用户100提供AR服务。AR服务可以是将虚拟图像叠加在用户100看到的真实世界的图像或其他视图上的服务。AR提供装置110可以例如使用显示器115,将包括与真实对象120相关的内容的虚拟图像与现实世界的图像一起提供给用户。作为非限制性示例,用户100看到的虚拟图像可以是例如二维(2D)图像、三维(3D)图像、静止图像或动态图像(例如动画)。作为非限制性示例,AR提供装置110可以是例如移动设备或用户100佩戴的可穿戴设备,例如眼镜型设备或头戴式显示器(HMD)。
图2示出了通过AR提供装置110的显示器115提供的AR内容210的示例。可以通过将包括虚拟信息的虚拟图像220和用户100看到的现实世界中的对象120进行匹配来形成AR内容210。作为非限制性示例,AR内容210可以是例如根据现实世界中的对象120复制逼真的虚拟对象,或者在对象120上实现虚拟计算机图形效果(例如,实现例如用户手册的附加信息作为真实机器上的虚拟图像)。
例如,当用户100移动他或她的头部或注视时,用户注视对象120的注视方向可以改变,并且可以基于注视方向的改变精细地调整虚拟图像220以向用户100提供具有高精度的AR内容210。在该示例中,例如,为了对象120和虚拟图像220之间的自然匹配,可以精确地测量注视方向的变化。作为另一示例,为了实现逼真的AR内容,虚拟图像220可以被显示在用户100注视对象120的场景中的准确位置。
AR提供装置110可以是上述计算装置,其被配置用于确定AR提供装置110的姿态,并且在计算装置的操作中控制向用户提供AR内容,或者AR提供装置110可以是这样一种计算装置,其被具体配置为执行姿态确定并且包括在本文描述的另一计算装置中,该计算装置可以使用或依赖所确定的姿态来实现或提供AR内容,并且计算装置也可以执行其他操作。仅为了便于解释和非限制性示例,可以描述后一种示例,例如其中姿态确定装置可以确定姿态确定装置的姿态或AR提供装置的姿态,并且例如在AR提供装置的其他操作和功能中,AR提供装置使用或依赖关于确定的姿态来提供AR内容。因此在这样的示例中,姿态确定装置可以执行AR提供装置110的定位,并且定位结果可以用于估计用户100的头部运动或者估计用户100正在看的方向。由姿态确定装置确定的AR提供装置110的姿态可以包括与AR提供装置110的位置和取向有关的信息,并且例如可以由六自由度(6DoF)表示。AR提供装置110的姿态可以对应于用户100的姿态或AR提供装置110中包括的图像传感器(例如,相机)的姿态。
姿态确定装置可以基于由图像传感器获得的图像数据和由运动传感器获得的运动数据来确定AR提供装置110的姿态。例如,姿态确定装置可以一起使用图像数据和运动数据,以准确有效地估计AR提供装置110的姿态。图像传感器和运动传感器可以包括在AR提供装置110中。图像传感器可以通过捕捉AR提供装置110的周围区域或环境中的至少一部分(例如,用户100的正面视角或区域)来获得图像数据。运动传感器可以测量用户100或者AR提供装置110的运动,并且可以包括例如包括加速度传感器和陀螺仪传感器在内的惯性测量单元(IMU)传感器。
姿态确定装置可以基于运动数据来确定AR提供装置110的第一姿态信息,并且可以基于图像数据来确定AR提供装置110的第二姿态信息。第一姿态信息可以对应于基于运动传感器的姿态测量值,并且第二姿态信息可以对应于基于图像传感器的姿态测量值。
姿态确定装置可以通过将从先前时间到当前时间测量的运动反映到AR提供装置110在先前时间的位置来确定第一姿态信息。姿态确定装置可以基于与对象120有关的预先信息(例如,在姿态确定操作之前预定的信息)来估计姿态以确定第二姿态信息。预先信息可以包括当对象120处于参考姿态时位于对象120的表面上的参考特征点的3D坐标信息。利用预先信息,可以快速准确地确定第二姿态信息。如图2所示,姿态确定装置可以从通过捕捉对象120获得的图像数据中提取对象120的特征点232、233、234、235、236、237和238,可以将所提取的特征点232到238的位置与预先定义为预先信息的对象120的参考特征点的位置进行比较,并且可以确定第二姿态信息。这里,特征点也可以称为“地标”。随后,姿态确定装置可以确定第一姿态信息和第二姿态信息中的每一个的可靠性值,并且可以基于所确定的可靠性值来确定AR提供装置110的最终姿态。
图3示出了根据一个或多个实施例的进行姿态确定的计算装置的示例。
参考图3,姿态确定装置可以包括运动信息确定器330、对象特征点提取器340、可靠性确定器350和姿态确定器360。运动信息确定器330、对象特征点提取器340、可靠性确定器350和姿态确定器确定器360可以分别代表分离的处理器,分别代表这种分离的处理器的任何组合,或者可以代表一个或多个这种处理器的相应操作。图1至图8中示出的姿态确定装置和/或AR提供装置还代表存储指令的各个存储器,当由处理器执行时,这些指令可以配置为实现这里描述的一个或多个或所有姿态确定操作,以及基于确定的姿态提供AR内容,以及AR提供装置的其他操作。因此,姿态确定装置可以基于运动传感器310(例如,IMU传感器)的感测信息和图像传感器320的感测信息来确定AR提供装置(例如,图1的AR提供装置110)的姿态。
运动传感器310可以包括例如加速度传感器和陀螺仪传感器,并且可以包括在姿态确定装置或AR提供装置中。由加速度传感器测量的加速度测量信息和由陀螺仪传感器测量的角速度测量信息可以被传送或提供给运动信息确定器330。运动信息确定器330可以从运动传感器310接收或获得AR提供装置的运动测量值,并且可以基于接收到或获得的运动测量值来估计AR提供装置的运动信息。
运动信息确定器330可以基于运动传感器310的感测信息来估计AR提供装置的运动信息(例如加速度信息、速度信息或角速度信息),并且可以更新运动信息,例如更新存储的运动信息或存储更新的运动信息。运动信息确定器330可以从加速度传感器获得与AR提供装置的平移运动相关联的加速度和/或速度的测量值,并且可以基于所获得的测量值来计算AR提供装置的运动的加速度和速度。运动信息确定器330可以从陀螺仪传感器获得与AR提供装置的旋转运动相关联的角速度的测量值,并且可以基于所获得的测量值来计算AR提供装置的运动的角速度。运动信息确定器330可以将AR提供装置的估计的运动信息传送到姿态确定器360,或者姿态确定器360可以仅仅从姿态确定装置或AR提供装置的存储器中读取该信息。运动信息确定器330可以从姿态确定器360接收或获得校正信息以对所确定的运动信息的误差进行校正,并且可以基于所接收或所获得的校正信息对运动信息的计算进行校正。通过上述校正,例如与没有这种校正的示例相比,可以更准确地确定AR提供装置的运动信息。
图像传感器320可以包括至少一个相机并且可以获得彩色图像或黑白图像的图像数据。由图像传感器320获得的图像数据可以包括在不同时间获得的多个图像帧,例如顺序捕捉的图像帧。由图像传感器320获得的图像数据可以被传送到对象特征点提取器340或以其他方式被对象特征点提取器340获得。
对象特征点提取器340可以从图像数据中提取对象的特征点。对象特征点提取器340可以检测图像数据中预先定义的(例如在姿态确定操作之前预定的)对象的特征点的位置作为2D坐标。对象特征点提取器340可以使用例如哈里斯角(Harris conner)特征点检测算法、尺度不变特征变换(SIFT)特征点检测算法和/或基于神经网络的特征点检测算法来提取特征点。然而,示例不限于上述特征点检测算法,并且各种附加或其他特征点检测算法也可以用于各种示例。
可靠性确定器350可以从运动信息确定器330接收或以其他方式获得运动信息,从对象特征点提取器340接收或以其他方式获得特征点的提取信息以例如实时地确定可靠性值,其中提取信息是与对象中提取的特征点有关的信息。可靠性确定器350可以确定基于运动信息估计的AR提供装置的第一姿态信息和基于特征点提取结果估计的AR提供装置的第二姿态信息中的每一个的可靠性值(或重要性)。第一姿态信息的可靠性值可以是指示第一姿态信息在何种程度上可靠或准确的估计值或概率值,而第二姿态信息的可靠性值可以是指示第二姿态信息在何种程度上可靠或准确的估计值或概率值。另外,可以确定可靠性值以指示第一姿态信息比第二姿态信息可靠或不可靠到什么程度,或者第二姿态信息比第一姿态信息可靠或不可靠到什么程度。在示例中,可靠性值可以例如用作第一姿态信息和第二姿态信息中的一个的权重或两者的相应权重以确定最终姿态确定。
可以通过将基于运动信息的AR提供装置的运动值应用于在先前时间(例如在运动传感器310的刚好前一采样时间)确定的AR提供装置的姿态信息来确定第一姿态信息。可以基于由对象特征点提取器340提取的特征点的位置与针对所匹配对象而预先定义的参考特征点的位置之间的比较结果来确定第二姿态信息。与预定义特征点位置有关的信息可以包括当已知对象处于参考姿态时位于该对象的表面上的参考特征点的3D坐标信息。姿态确定装置可以在基于预先信息确定姿态之前存储对象的形状信息,并且可以认为该对象是静止的。可以通过在姿态确定操作之前预先将对象的特征点定义为参考特征点,并且通过在对象处于参考姿态时记录参考特征点的3D位置信息来生成预先信息。可以通过将从图像数据中提取的特征点的位置与当对象处于参考姿态时参考特征点的位置进行比较来推导第二姿态信息。例如,可以基于具有匹配对应关系的所提取的特征点与参考特征点之间的匹配信息来估计第二姿态信息。
基于运动信息的第一姿态信息和基于提取信息的第二姿态信息可以提供不同的成就或不同的成就等级。例如,当图像数据的质量与例如完整分辨率相比没有降低或略微降低时,和/或当根据相应的阈值将图像质量确定为较高时,第二姿态信息可以帮助实现基于对象特征点的位置对AR提供装置的姿态的精确且准确的估计。即使图像数据的质量可能会降低,例如由于图像传感器320的运动而降低,第一姿态信息也可以帮助减少姿态估计结果的准确性的降低。例如,当对象的一部分或所有部分与图像数据(例如参考图像数据)偏离时,可能会降低第二姿态信息的准确性。然而,可以通过取决于运动信息的第一姿态信息来补充第二姿态信息的准确性的这种降低。此外,与获得运动信息并且根据运动信息来确定第一姿态信息相比,获得图像数据和根据图像数据确定第二姿态信息可能具有相对高的延迟。例如,在图像传感器320对图像信息的单帧采样或捕捉期间,可以对运动传感器310的运动信息进行多次采样或捕捉。使用取决于运动信息的第一姿态信息,可以在可能需要快速姿态确定的情况下快速确定AR提供装置的姿态。
在示例中,可靠性确定器350可以通过实施基于诸如卡尔曼滤波器的滤波器的算法来确定可靠性值。例如,由可靠性确定器350确定的可靠性值可以被确定为在实验中确定的最小值和最大值之间的预定范围内的值,并且可以随时间改变。由可靠性确定器350确定的可靠性值可以被传送到姿态确定器360或以其他方式被姿态确定器360获得。
姿态确定器360可以基于第一姿态信息、第二姿态信息和由可靠性确定器350确定的可靠性值来确定指示AR提供装置的位置和取向的姿态信息,并且可以输出所确定的最终姿态信息。AR提供装置的姿态信息可以对应于图像传感器320的姿态信息或用户的观看姿态。作为非限制性示例,姿态信息可以由分别表示6DoF的变量(例如x、y、z、Rx、Ry、Rz)定义,可以表示为六维(6D)向量或与6D向量对应的矩阵。
从运动传感器310采样/捕捉或输出运动测量值的采样周期与从图像传感器320采样/捕捉或输出图像数据的采样周期可以彼此相同或不同。作为非限制性示例,当采样周期彼此不同时,运动测量值可以由运动传感器310以200赫兹(Hz)的输出频率进行采样/捕捉或提供,并且图像数据可以由图像传感器320以30Hz的输出频率进行采样/捕捉或提供。在该示例中,可以从姿态确定器360以200Hz的输出频率来输出最终姿态信息。例如,姿态确定器360可以以运动传感器310和图像传感器320中采样频率最大的输出频率来输出最终姿态信息。
姿态确定装置可以通过基于可靠性值,自适应地(例如相应地取决于各个采样/捕捉的运动和/或图像数据的相应确定的环境)使用基于运动信息确定的第一姿态信息和基于图像数据确定的第二姿态信息,来提高最终姿态的估计的准确性。由于姿态确定装置不会通过累积随时间的相对运动变化来计算姿态,因此不会随时间累积相应的姿态误差。因此,姿态确定装置可以以高准确度计算姿态。而且,姿态确定装置可以使用针对对象预先定义的参考特征点的位置信息来估计AR提供装置的姿态,从而可以提高姿态估计的准确度。
图4至图6示出了用于确定AR提供装置的姿态的操作的示例,该操作可以由这里描述的任何计算装置执行。
参考图4,在操作410,姿态确定装置可以使用AR提供装置的运动传感器来估计AR提供装置的运动信息。AR提供装置的运动信息可以对应于用户的运动,例如用户的注视方向或头部的运动。例如,运动传感器可以包括被配置为测量加速度值的加速度传感器和被配置为测量角速度值的陀螺仪传感器。姿态确定装置可以基于由运动传感器测量的运动测量值(例如,加速度值或角速度值)来估计AR提供装置的运动的加速度、速度和角速度。
在操作415,姿态确定装置可以基于AR提供装置的运动信息来确定AR提供装置的第一姿态信息。姿态确定装置可以基于从先前时间的先前图像帧中提取的对象的运动信息和特征点来确定第一姿态信息。姿态确定装置可以通过将在先前时间和当前时间之间测量的运动信息反映到从先前图像帧中提取的特征点的位置信息来计算特征点的位置在当前时间如何变化,并且可以基于计算结果来确定当前时间的第一姿态信息。
在操作420,姿态确定装置可以使用AR提供装置的图像传感器获得当前图像帧。图像传感器可以通过捕捉AR提供装置的周围环境的至少一部分区域(例如,在用户头部面向的方向上的区域,或者用户视线所指向的区域)来获得图像数据。图像数据可以按预定时间间隔获取,也可以按每个时间间隔以图像帧的形式获取。
在操作430,姿态确定装置可以从当前图像帧中提取对象的特征点,并且可以基于提取的特征点来确定AR提供装置的第二姿态信息。姿态确定装置可以确定当前图像帧中是否存在预定义对象,并且例如在检测到或匹配预定义对象时可以提取该对象的特征点。为了确定第二姿态信息,与真实(例如非虚拟)空间中存在的对象有关的预先信息是可用的。预先信息可以包括针对对象的特征点而预定义的特征点位置信息。特征点位置信息可以是当对象处于参考姿态时位于对象表面上的参考特征点的3D坐标信息。例如,可以通过在使用3D扫描仪对真实空间中的对象进行扫描而获得的结果中确定参考特征点的位置来获得参考特征点的位置信息。姿态确定装置可以基于从当前图像帧中提取的特征点的2D位置信息与预定义参考特征点的3D位置信息之间的比较结果来确定第二姿态信息。姿态确定装置可以基于从当前图像帧中提取的特征点与参考特征点中彼此对应的特征点的位置之间的差来估计第二姿态信息。用于确定第二姿态信息的参考特征点的数量没有限制。另外,对象的一部分或所有参考特征点可以用于确定第二姿态信息。
在操作440,姿态确定装置可以基于特征点的运动信息和提取信息来确定第一姿态信息和第二姿态信息中的每一个的可靠性值。在示例中,姿态确定装置可以基于通过使用卡尔曼滤波器执行同时定位和映射(SLAM)操作而导出的估计协方差来确定可靠性值。例如,当估计协方差的幅度增大时,可靠性值可以减小,而当估计协方差的幅度减小时,可靠性值可以增大。当运动信息和提取信息中的任何一个或任何组合更新时,例如取决于相应的采样频率而更新时,姿态确定装置可以重新确定相应的第一姿态信息和第二姿态信息中的至少一个的可靠性值。因此,可靠性值可以随着时间而改变。
在示例中,当确定AR提供装置运动幅度大时,例如大于预定运动阈值,姿态确定装置可以将基于运动信息的第一姿态信息的可靠性值设置为高,并且可以将基于提取信息的第二姿态信息的可靠性值设置为低。在另一示例中,当根据预定阈值确定对象的整个区域完全出现或充分出现在当前图像帧上时,以及当确定当前图像帧的图像质量例如相对于图像质量阈值较高时,姿态确定装置可以将第二姿态信息的可靠性值设置为高,并且可以将第一姿态信息的可靠性值设置为低。在另一个示例中,当确定当前图像帧中对象的某个区域被切掉时,或者当确定当前图像帧例如相对于图像质量阈值或低图像质量阈值较低时,姿态确定装置可以将第二姿态信息的可靠性值设置为低,并且可以将第一姿态信息的可靠性值设置为高。
在示例中,姿态确定装置可以基于根据运动信息估计的对象特征点在当前时间的位置与根据提取信息的对象特征点在当前时间的位置之间的所确定的差来确定可靠性值。例如,当差满足条件时(例如,当差大于对应的差阈值时),姿态确定装置可以将基于运动信息的第一姿态信息的可靠性值确定为高于基于提取信息的第二姿态信息的可靠性值。在另一个示例中,当确定对象在当前图像帧中并且当前图像帧的图像质量满足条件时(例如,当图像质量测量值大于对应的图像质量阈值时),姿态确定装置可以将第二姿态信息的可靠性值确定为高于第一姿态信息的可靠性值。在另一示例中,姿态确定装置可以基于根据运动信息的AR提供装置的运动程度来确定可靠性值。当AR提供装置的运动程度满足条件时(例如,当运动程度大于对应的运动程度阈值时),姿态确定装置可以将第一姿态信息的可靠性值确定为大于第二个姿态信息的可靠性值。在另一示例中,姿态确定装置还可以基于对象的多个特征点中的每一个的运动速度来确定对象的多个特征点中的每一个的可靠性值。
参考图5,姿态确定装置可以执行基于特征点来分析可靠性、基于运动速度来分析可靠性以及基于可靠性分析的结果来确定可靠性值的过程,以确定所述可靠性。
在操作510,姿态确定装置可以基于特征点来分析可靠性。姿态确定装置可以将基于由图像传感器获得的图像数据的特征点位置测量值和基于由运动传感器获得的运动信息的特征点位置测量值进行比较,并且可以基于特征点位置测量值之间的差或残差来分析可靠性。当基于运动信息估计出的对象在当前时间的特征点的位置与根据提取信息估计出的对象在当前时间的特征点的位置例如根据相应的差阈值彼此有很大不同时,姿态确定装置可以向基于运动信息的第一姿态信息分配比第二姿态信息更高的可靠性值。这是因为基于图像传感器推导的第二姿态信息的姿态测量值可能受图像帧中对象的特征点检测性能的影响更大。例如,当物体部分或完全偏离图像传感器所捕捉的区域时,物体的特征点的位置准确度可能会急剧下降,从而导致特征点检测性能的显著下降。考虑到上述情况,当确定基于运动信息确定的特征点的位置与从图像帧中提取的每个特征点的位置彼此相差很大时,姿态确定装置可以确定对基于运动信息而确定的特征点的位置更可靠加以表示的可靠性值。
在操作520,姿态确定装置可以基于AR提供装置或用户的运动速度来分析可靠性。当AR提供装置相对于对象的相对运动速度(例如相对于相应的运动速度阈值)较高时,姿态确定装置可以将基于提取信息的第二姿态信息的可靠性值设置为低。在确定高运动速度的情况下,图像数据的图像质量可能由于图像模糊而降低,并且因此特征点的提取信息的准确度可能降低。因此,响应于AR提供装置的较高的相对运动速度,姿态确定装置可以降低第二姿态信息的可靠性值,并且可以将基于运动信息的第一姿态信息的可靠性值设置为高,以防止由于图像质量下降而导致不准确地估计姿态。
在操作530,姿态确定装置可以基于通过操作510和520获得的各个可靠性分析的结果来确定第一姿态信息和第二姿态信息中的每一个的可靠性值。姿态确定装置可以在预定可靠性值的最小值到最大值的范围内实时地确定可靠性值。例如,姿态确定装置可以将可靠性值确定为操作510中使用的特征点位置测量值与操作520中使用的AR提供装置的相对运动速度之间的差的总和或者加权和。用作加权和的权重可以是通过实验确定的值。姿态确定装置也可以使用总和或加权和的累积值或平均值作为可靠性值。
在图5的一个示例中,对象的所有特征点可能具有相同的可靠性值。在另一示例中,姿态确定装置可以确定多个特征点中的每一个的可靠性值。例如,参考图6,姿态确定装置可以按照与上文关于图5所描述的类似的相应方式来执行操作510和520,不同之处在于在操作610中,姿态确定装置还可以基于每个特征点的运动速度来确定对象的多个(或所有)特征点中的每个特征点的可靠性值。因此,还可以为每个特征点分配不同的可靠性值。例如,当假设一个对象具有十个特征点时,这十个特征点可以具有针对每个特征点分别确定的可靠性值,例如R1、R2、R3至R10,而不是具有单个或相同的可靠性值,例如上面关于图5所讨论的R。姿态确定装置可以计算对象的每个特征点的位置处的运动速度,并且可以基于计算出的运动速度的幅度来计算每个特征点的可靠性值。姿态确定装置可以将每个特征点的可靠性值确定为操作510中使用的特征点位置测量值与对应特征点的位置处的运动速度之间的差的总和或加权和。
返回参考图4,在操作450,姿态确定装置可以基于第一姿态信息、第二姿态信息和可靠性值来确定AR提供装置的姿态。姿态确定装置可以确定对AR提供装置的位置和取向加以表示的特征值,并且特征值可以具有6DoF。姿态确定装置可以基于第一姿态信息和第二姿态信息中的每一个的可靠性值对第一姿态信息和第二姿态信息进行组合,以确定AR提供装置的姿态。例如,姿态确定装置可以通过使用第一姿态信息和第二姿态信息中的每一个的可靠性值作为权重,基于具有较高可靠性值的姿态信息,来确定AR提供装置的最终姿态。基于由姿态确定装置确定的最终姿态,AR内容的提供可以包括基于所确定的AR提供装置的最终姿态例如实时地调整虚拟图像的形状和位置的可视化。
图7示出了根据一个或多个实施例的进行姿态确定的示例计算装置。
参考图7,作为非限制性示例,计算装置可以是被配置为确定AR提供装置(例如图1的AR提供装置110或者图8的AR提供装置800)的姿态的姿态确定装置700,并且可以在AR提供装置中操作或与AR提供装置分离。姿态确定装置700可以包括运动传感器710、图像传感器720、处理器730和存储器740。
运动传感器710(例如,图3的运动传感器310)可以测量对AR提供装置的运动加以表示的运动信息。AR提供装置的运动可以对应于用户的头部运动或用户注视方向上的运动。作为示例,运动传感器710可以包括加速度传感器和陀螺仪传感器,并且可以包括在AR提供装置中。
图像传感器720可以获得图像数据。图像传感器720(例如,图3的图像传感器320)可以通过捕捉AR提供装置的周围环境的至少一部分来获得当前图像帧。图像传感器720可以包括至少一个相机并且可以布置在AR提供装置的预定位置处。
存储器740可以存储计算机可读指令以及本文描述的其他存储的信息或数据。当存储在存储器740中的指令由处理器730执行时,处理器730可以被配置为执行本文描述的一个或多个或所有操作。存储器740可以包括非暂时性计算机可读存储介质或非暂时性计算机可读存储设备。存储器740可以包括例如随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或其他形式的非易失性存储器。
处理器730可以控制姿态确定装置700的整体操作。处理器730可以是硬件实现的装置,例如具有物理地构造为执行预定操作的电路。例如,预定操作可以包括执行在存储器中存储的关于姿态确定的指令以及其他程序或应用程序。作为非限制性示例,硬件实现的装置可以包括例如微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理器核、多核处理器、多处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和神经处理单元(NPU)。
处理器730可以被配置为执行本文描述的一个或多个或所有操作。例如,如上所述,处理器730可以代表或被配置为实现图3的运动信息确定器330、对象特征点提取器340、可靠性确定器350和姿态确定器360中的每一个的相应操作。
处理器730可以基于运动传感器710测量的运动信息和图像传感器720获得的当前图像帧来确定AR提供装置的姿态。处理器730可以基于运动信息来确定AR提供装置的第一姿态信息。处理器730可以从当前图像帧中提取对象的特征点,并且可以基于提取的特征点和针对对象预定义的特征点位置信息来估计AR提供装置的第二姿态信息。
处理器730可以基于特征点的运动信息和提取信息分别确定第一姿态信息和第二姿态信息中的每一个的可靠性值。在一个示例中,当基于运动信息估计出的对象的特征点在当前时间的位置与根据提取信息的对象的特征点在当前时间的位置之间的差满足预定条件时(例如,当差大于对应的差阈值时),处理器730可以确定第一姿态信息的可靠性值高于第二姿态信息的可靠性值。在另一示例中,当根据运动信息的AR提供装置的运动程度满足预定义条件时(例如,当加速度或速度的变化大于对应的变化阈值时),处理器730可以确定第一姿态信息的可靠性值高于第二姿态信息的可靠性值。在另一个示例中,当对象在当前图像帧中时以及当确定当前图像帧的图像质量满足预定义条件时(例如,当确定图像质量测量值大于对应的图像质量阈值时),处理器730可以确定第二姿态信息的可靠性值高于第一姿态信息的可靠性值。
处理器730可以基于第一姿态信息、第二姿态信息和可靠性值来确定AR提供装置的最终姿态。在示例中,处理器730可以基于第一姿态信息和第二姿态信息中的每一个的可靠性值来对第一姿态信息和第二姿态信息进行组合,以确定AR提供装置的最终姿态。处理器730可以使用第一姿态信息和第二姿态信息中的每一个的可靠性值作为权重来确定最终姿态。在另一示例中,当第一姿态信息(在另一示例中的第二姿态信息)的可靠性值小于或等于预定值时,处理器730可以基于第二姿态信息(在另一示例中的第一姿态信息)来确定最终姿态。
图8示出了根据一个或多个实施例的进行AR提供的计算装置的示例。
参考图8,AR提供装置800可以是被配置为向用户提供AR内容的装置,并且可以通过基于由上述姿态确定过程确定的AR提供装置800的姿态来匹配真实对象和虚拟内容,从而生成AR内容。AR提供装置800可以被配置为提供AR内容以及AR提供装置800的附加操作,例如可能依赖或可能不依赖所确定的最终姿态的其他应用程序。在变化的示例中,AR提供装置800可以是各个领域的装置,例如,作为非限制性示例,AR提供装置800可以是高级驾驶辅助系统(ADAS)、平视显示器(HUD)、3D数字信息显示器(DID)、导航设备、神经拟态设备、3D移动设备、智能手机、智能电视(TV)、智能汽车、物联网(IoT)设备、医疗设备和测量设备。作为非限制性示例,3D移动设备可以包括例如被配置为显示AR、虚拟现实(VR)和/或混合现实(MR)的显示设备、头戴式显示器(HMD)、面戴式显示器(FMD)和AR眼镜。
AR提供装置800可以包括处理器810、存储器820、传感器830、存储设备840、输入设备850、输出设备860和通信设备870。AR提供装置800的上述组件可以通过通信总线880彼此通信。
处理器810可以控制AR提供装置800的整体操作并且可以执行指令以使AR提供装置800实现这里描述的一个或多个或所有操作。处理器810可以基于由传感器830测量的运动信息来估计AR提供装置800的姿态,并且可以基于估计的姿态俩生成与真实对象匹配的AR内容。作为非限制示例,处理器810可以对应于图7的处理器730。
存储器820可以存储用于执行由处理器810实现的操作的信息和由执行的操作产生的信息。例如,存储器820可以存储指令,当由处理器810执行时,指令将处理器810配置为执行这里描述的一个或多个或所有操作。存储器820可以存储与AR提供装置的附加程序或应用程序相关联的信息。存储器820可以包括例如随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或其他形式的非易失性存储器。作为非限制示例,存储器820和/或存储设备840可以对应于图7的存储器740。
传感器830可以包括被配置为测量AR提供装置800的运动信息的运动传感器、以及被配置为通过捕捉AR提供装置800的周围环境的至少一部分来获得当前图像帧的图像传感器。运动传感器可以包括IMU传感器,并且图像传感器可以包括图像获取设备,例如摄像头。作为非限制示例,运动传感器可以对应于图7的运动传感器710,并且图像传感器可以对应于图7的图像传感器720。
存储设备840可以包括非暂时性计算机可读存储介质或非暂时性计算机可读存储设备。例如,存储设备840可以是存储器、磁硬盘、光盘或闪存。
输入设备850可以从用户接收用户输入。例如,输入设备850可以包括例如键盘、鼠标、触摸屏、麦克风或被配置为检测来自用户的用户输入并将检测到的用户输入发送到AR提供装置800的其他设备。
输出设备860可以通过视觉通道、听觉通道和/或触觉通道向用户提供AR提供装置800的输出。输出设备860可以包括例如显示器、触摸屏、扬声器、振动发生器或配置为向用户提供输出的其他设备。显示器可以可视化和显示AR内容。
通信设备870可以通过有线网络或无线网络与外部设备进行通信。
计算装置、AR提供装置、姿态确定装置、运动信息确定器、对象特征点提取器、可靠性确定器、姿态确定器、运动传感器、图像传感器、处理器、存储器、存储设备、输入设备、输出设备、通信设备、通信总线以及本文描述的其他装置、单元、模块、设备和其他组件是由硬件组件实现的。在适当的情况下可用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行本申请所述的操作的任何其他电子组件。在其他示例中,用于执行本申请中所描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其他设备或设备的组合)来实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如,操作系统(OS)和在OS上运行的一个或多个软件应用,以执行本申请中描述的操作。硬件组件还可以响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简洁起见,在本申请中描述的示例的描述中可以使用单数术语“处理器”或“计算机”,但是在其他示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼有。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,并且一个或多个其他硬件组件可以由一个或多个其他处理器或另一处理器和另一控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可以具有不同的处理配置中的任一种或多种,所述处理配置的示例包括单处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理、和多指令多数据(MIMD)多处理。
执行本申请中所描述的操作的方法由计算硬件执行,例如,由执行指令或软件的如上所述地实现的一个或多个处理器或计算机执行,以执行本申请中所描述的通过这些方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可以由一个或多个其它处理器或者另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可以被编写为计算机程序、代码段、指令或其任何组合,用于单独或共同指示或配置一个或多个处理器或计算机以作为机器或专用计算机操作从而执行由上述硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的更高级的代码。可以基于附图中所示出的框图和流程图以及本文中使用的对应描述(其公开了用于执行由硬件组件执行的操作和如上所述的方法的算法),使用任何编程语言来编写指令或软件。
用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可以被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或其上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、卡类型的存储器(比如,多媒体卡或微型卡(例如,安全数字(SD)或极限数字(XD)))、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘以及任何其他设备,所述任何其他设备被配置为以非暂时性方式存储指令或软件以及任何相关数据、数据文件和数据结构,并且向一个或多个处理器或计算机提供指令或软件以及任何相关数据、数据文件和数据结构,使得一个或多个处理器或计算机可以执行所述指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得一个或多个处理器或计算机以分布方式存储、访问和执行所述指令和软件以及任何相关联的数据、数据文件和数据结构。
尽管本公开包括特定示例,但是在理解了本申请的公开内容之后将显而易见的是,在不脱离权利要求及其等同物的精神和范围的情况下,可以对这些示例进行形式和细节上的各种改变。本文中所描述的示例仅被认为是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述被认为适用于其他示例中的类似特征或方面。如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其他组件或其等同物替换或补充,也可以实现合适的结果。

Claims (30)

1.一种处理器实现的方法,所述方法包括:
根据计算装置的运动的运动传感器信息来确定所述计算装置的第一姿态信息;
根据针对对象预定义的特征点位置信息和所述对象的从由所述计算装置捕捉的图像中提取的一个或多个特征点,来估计所述计算装置的第二姿态信息;
确定所述第一姿态信息和所述第二姿态信息的相应可靠性值;以及
基于所述第一姿态信息、所述第二姿态信息和所述相应可靠性值,确定所述计算装置的用于增强现实AR内容的姿态。
2.根据权利要求1所述的方法,其中所述第一姿态信息和所述第二姿态信息的相应可靠性值基于所述运动传感器信息和所提取的一个或多个特征点的提取信息。
3.根据权利要求2所述的方法,其中,确定所述相应可靠性值包括:基于根据所述运动传感器信息估计的所述对象的特征点在当前时间的位置与根据所述提取信息的所述对象的所述特征点在当前时间的另一位置之间的差,确定所述相应可靠性值。
4.根据权利要求3所述的方法,其中,确定所述相应可靠性值包括:响应于所述差满足差值条件,确定所述第一姿态信息的可靠性值高于所述第二姿态信息的可靠性值。
5.根据权利要求2所述的方法,其中,确定所述相应可靠性值包括:响应于所述运动传感器信息和所述提取信息中的至少一个被更新,重新确定所述第一姿态信息的可靠性值和所述第二姿态信息的可靠性值中的至少一个。
6.根据权利要求1所述的方法,其中,确定所述相应可靠性值包括:根据所述运动传感器信息、基于所述计算装置的运动程度来确定所述相应可靠性值。
7.根据权利要求6所述的方法,其中确定所述相应可靠性值包括:响应于所述运动程度满足运动程度条件,确定所述第一姿态信息的可靠性值高于所述第二姿态信息的可靠性值。
8.根据权利要求1所述的方法,还包括针对所述对象执行所述一个或多个特征点的提取,
其中确定所述相应可靠性值包括:响应于确定所述对象在所述图像中并且所述图像的图像质量被确定为满足图像质量条件,来确定所述第二姿态信息的可靠性值高于所述第一姿态信息的可靠性值。
9.根据权利要求1所述的方法,其中确定所述相应可靠性值包括:使用卡尔曼滤波器来确定所述相应可靠性值。
10.根据权利要求1所述的方法,还包括针对所述对象执行所述一个或多个特征点的提取以提取所述对象的多个特征点,
其中确定所述相应可靠性值包括:基于所述多个特征点中的每一个的运动速度来确定所述多个特征点中的每一个的可靠性值。
11.根据权利要求1所述的方法,其中确定所述计算装置的姿态包括:通过基于所述相应可靠性值组合所述第一姿态信息和所述第二姿态信息,来确定所述计算装置的姿态。
12.根据权利要求1所述的方法,其中所述特征点位置信息是当对应参考对象处于参考姿态时位于所述对应参考对象的表面上的参考特征点的三维3D坐标信息。
13.根据权利要求12所述的方法,还包括针对所述对象执行所述一个或多个特征点的提取以提取所述对象的多个特征点,
其中估计所述第二姿态信息包括:基于所提取的多个特征点和所述参考特征点中彼此相对应的特征点之间的差来估计所述第二姿态信息。
14.根据权利要求1所述的方法,其中确定所述第一姿态信息包括:基于所述运动传感器信息和从先前图像中提取的所述对象的特征点来确定所述第一姿态信息。
15.根据权利要求1所述的方法,其中确定所述计算装置的姿态包括:确定对所述计算装置的位置和取向加以表示的特征值。
16.根据权利要求15所述的方法,还包括:基于对所述计算装置的位置和取向加以表示的特征值来显示所述AR内容。
17.根据权利要求1所述的方法,还包括:使用所述计算装置的运动传感器来估计所述计算装置的运动传感器信息。
18.根权利要求1所述的方法,还包括:
使用所述计算装置的图像传感器来获得当前图像帧;以及
从所述当前图像帧中提取所述对象的所述一个或多个特征点。
19.一种存储指令的非暂时性计算机可读存储介质,当由处理器执行时,所述指令使所述处理器执行根据权利要求1所述的方法。
20.一种计算装置,所述计算装置包括:
处理器,被配置为:
根据所述计算装置的运动的运动传感器信息来确定所述计算装置的第一姿态信息;
根据针对对象预定义的特征点位置信息和所述对象的从由所述计算装置捕捉的图像中提取的一个或多个特征点,来估计所述计算装置的第二姿态信息;
基于所述运动传感器信息和所提取的一个或多个特征点的提取信息,确定所述第一姿态信息和所述第二姿态信息的相应可靠性值;以及
基于所述第一姿态信息、所述第二姿态信息和所述相应可靠性值,确定所述计算装置的用于增强现实AR内容的姿态。
21.根据权利要求20所述的装置,其中为了确定所述计算装置的姿态,所述处理器被配置为确定对所述计算装置的位置和取向加以表示的特征值。
22.根据权利要求21所述的装置,还包括显示器,
其中所述处理器还被配置为基于对所述计算装置的位置和取向加以表示的特征值来控制所述AR内容的显示。
23.根据权利要求20所述的装置,还包括被配置为估计所述运动传感器信息的运动传感器。
24.根据权利要求20所述的装置,还包括图像传感器,
其中为了执行所述一个或多个特征的提取,所述处理器被配置为使用所述图像传感器获得当前图像帧,并从所述当前图像帧提取所述对象的所述一个或多个特征点。
25.根据权利要求20所述的装置,其中为了确定所述相应可靠性值,所述处理器被配置为:基于根据所述运动传感器信息估计的所述对象的特征点在当前时间的位置与根据所述提取信息的所述对象的所述特征点在当前时间的另一位置之间的差,并且基于当所述差满足差值条件时确定所述第一姿态信息的可靠性值高于所述第二姿态信息的可靠性值,来确定所述相应可靠性值。
26.根据权利要求20所述的装置,其中为了确定所述相应可靠性值,所述处理器被配置为:基于根据所述运动传感器信息的所述计算装置的运动程度,并且基于当所述运动程度满足运动程度条件时确定所述第一姿态信息的可靠性值高于所述第二姿态信息的可靠性值,来确定所述相应可靠性值。
27.根据权利要求20所述的装置,
所述处理器还被配置为针对所述对象执行所述一个或多个特征点的提取,并且
其中为了确定所述相应可靠性值,所述处理器被配置为:当所述对象在所述图像中并且当所述图像的图像质量满足图像质量条件时,确定所述第二姿态信息的可靠性值高于所述第一姿态信息的可靠性值。
28.一种计算装置,所述计算装置包括:
运动传感器,被配置为测量所述计算装置的运动信息;
图像传感器,被配置为捕捉图像;
显示器;以及
处理器,被配置为:
根据所述运动信息来确定所述计算装置的第一姿态信息;
根据针对对象预定义的特征点位置信息和所述对象的从所述图像中提取的一个或多个特征点,来估计所述计算装置的第二姿态信息;
确定所述第一姿态信息和所述第二姿态信息的相应可靠性值;
基于所述第一姿态信息、所述第二姿态信息和所述相应可靠性值来估计所述计算装置的姿态;
基于所估计的姿态来产生匹配实际对象的增强现实AR内容;以及
控制所述显示器显示所产生的AR内容。
29.根据权利要求28所述的装置,其中为了确定所述第一姿态信息和所述第二姿态信息的相应可靠性值,所述处理器被配置为:基于所述运动信息和所提取的一个或多个特征点的提取信息来确定所述第一姿态信息和所述第二姿态信息的相应可靠性值。
30.根据权利要求28所述的装置,
其中为了估计所述计算装置的姿态,所述处理器被配置为基于所述第一姿态信息、所述第二姿态信息和所述相应可靠性值来确定对所述计算装置的位置和取向加以表示的特征值,以及
其中所述处理器被配置为基于所述特征值来执行所述AR内容的产生。
CN202110916143.7A 2021-02-26 2021-08-10 执行增强现实姿态确定的方法和装置 Pending CN114972689A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210026726A KR20220122287A (ko) 2021-02-26 2021-02-26 증강 현실 제공 장치의 포즈 결정 방법 및 장치
KR10-2021-0026726 2021-02-26

Publications (1)

Publication Number Publication Date
CN114972689A true CN114972689A (zh) 2022-08-30

Family

ID=78822638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110916143.7A Pending CN114972689A (zh) 2021-02-26 2021-08-10 执行增强现实姿态确定的方法和装置

Country Status (5)

Country Link
US (1) US11915448B2 (zh)
EP (1) EP4050564A1 (zh)
JP (1) JP2022132063A (zh)
KR (1) KR20220122287A (zh)
CN (1) CN114972689A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030147A (ko) * 2019-09-09 2021-03-17 삼성전자주식회사 3d 렌더링 방법 및 장치
CN113262465A (zh) * 2021-04-27 2021-08-17 青岛小鸟看看科技有限公司 一种虚拟现实交互方法、设备及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080048931A1 (en) 2003-11-26 2008-02-28 Rafael - Armament Development Authority Ltd. Helmet System for Information or Weapon Systems
US9024972B1 (en) 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
US8817046B2 (en) 2011-04-21 2014-08-26 Microsoft Corporation Color channels and optical markers
US9430847B2 (en) 2014-06-12 2016-08-30 Mitsubishi Electric Research Laboratories, Inc. Method for stereo visual odometry using points, lines and planes
US10147399B1 (en) 2014-09-02 2018-12-04 A9.Com, Inc. Adaptive fiducials for image match recognition and tracking
US10419655B2 (en) 2015-04-27 2019-09-17 Snap-Aid Patents Ltd. Estimating and using relative head pose and camera field-of-view
EP3377853A4 (en) 2015-11-20 2019-07-17 Magic Leap, Inc. METHOD AND SYSTEMS FOR LARGE DETERMINATION OF RGB CAMERA POSITIONS
US20190346271A1 (en) 2016-03-11 2019-11-14 Kaarta, Inc. Laser scanner with real-time, online ego-motion estimation
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
EP3494447B1 (en) 2016-08-04 2021-05-19 Reification Inc. Methods for simultaneous localization and mapping (slam) and related apparatus and systems
US10510160B2 (en) 2016-12-20 2019-12-17 Samsung Electronics Co., Ltd. Multiscale weighted matching and sensor fusion for dynamic vision sensor tracking
US20180203504A1 (en) 2017-01-16 2018-07-19 Htc Corporation Movement tracking method and movement tracking system
WO2019005999A1 (en) 2017-06-28 2019-01-03 Magic Leap, Inc. METHOD AND SYSTEM FOR PERFORMING SIMULTANEOUS MAPPING AND LOCALIZATION USING CONVOLUTIONAL IMAGE TRANSFORMATION
JP7257737B2 (ja) 2017-09-05 2023-04-14 ソニーグループ株式会社 情報処理装置、自己位置推定方法、及び、プログラム
US10740924B2 (en) 2018-04-16 2020-08-11 Microsoft Technology Licensing, Llc Tracking pose of handheld object
CN110599549B (zh) * 2018-04-27 2023-01-10 腾讯科技(深圳)有限公司 界面显示方法、装置及存储介质
US10854004B2 (en) 2018-08-24 2020-12-01 Facebook, Inc. Multi-device mapping and collaboration in augmented-reality environments

Also Published As

Publication number Publication date
KR20220122287A (ko) 2022-09-02
US11915448B2 (en) 2024-02-27
JP2022132063A (ja) 2022-09-07
US20220277476A1 (en) 2022-09-01
EP4050564A1 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
US11238606B2 (en) Method and system for performing simultaneous localization and mapping using convolutional image transformation
US10964030B2 (en) Device and method with pose estimator based on current predicted motion state array
US10580148B2 (en) Graphical coordinate system transform for video frames
EP3144779A1 (en) Method and apparatus for compensating for movement of head-mounted display
KR102169309B1 (ko) 정보 처리장치 및 그 제어방법
US11842514B1 (en) Determining a pose of an object from rgb-d images
US20160210761A1 (en) 3d reconstruction
EP4050564A1 (en) Method and apparatus with augmented reality pose determination
JP2022529367A (ja) 姿勢付き単眼ビデオからの周囲推定
US20230154134A1 (en) Method and apparatus with pose estimation
CN108028904B (zh) 移动设备上光场增强现实/虚拟现实的方法和系统
US11361455B2 (en) Systems and methods for facilitating the identifying of correspondences between images experiencing motion blur
US20190088027A1 (en) Method for developing augmented reality experiences in low computer power systems and devices
KR20200037502A (ko) 포즈 정보를 출력하는 방법 및 장치
EP4341902A1 (en) Direct scale level selection for multilevel feature tracking
WO2020197655A1 (en) Action classification based on manipulated object movement
US11176678B2 (en) Method and apparatus for applying dynamic effect to image
CN112562087A (zh) 用于估计姿态的方法和装置
JP6818968B2 (ja) オーサリング装置、オーサリング方法、及びオーサリングプログラム
CN115690201A (zh) 姿势估计方法和装置
EP4181066A1 (en) Method and apparatus with pose estimation
EP4181065A2 (en) Method and device with sensing data processing
US11605206B2 (en) Method and apparatus with human body estimation

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