CN102609942B - 使用深度图进行移动相机定位 - Google Patents

使用深度图进行移动相机定位 Download PDF

Info

Publication number
CN102609942B
CN102609942B CN201210021582.2A CN201210021582A CN102609942B CN 102609942 B CN102609942 B CN 102609942B CN 201210021582 A CN201210021582 A CN 201210021582A CN 102609942 B CN102609942 B CN 102609942B
Authority
CN
China
Prior art keywords
depth
camera
depth camera
described mobile
frame
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.)
Active
Application number
CN201210021582.2A
Other languages
English (en)
Other versions
CN102609942A (zh
Inventor
R·纽科姆
S·伊扎迪
D·莫利尼奥克斯
O·希利格斯
D·金
J·D·J·肖顿
P·科利
A·费茨吉本
S·E·豪杰斯
D·A·巴特勒
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 CN102609942A publication Critical patent/CN102609942A/zh
Application granted granted Critical
Publication of CN102609942B publication Critical patent/CN102609942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B35/00Stereoscopic photography
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Processing Or Creating Images (AREA)
  • Studio Devices (AREA)

Abstract

本发明涉及使用深度图进行移动相机定位。针对机器人、沉浸式游戏、增强现实和其他应用描述了使用深度图进行移动相机定位。在一实施例中,在一环境中跟踪移动深度相机,同时使用所感测的深度数据形成该环境的3D模型。在一实施例中,当相机跟踪失败时,通过使用先前收集的关键帧或以其他方式来检测相机跟踪的失败并重新定位相机。在一实施例中,通过实时地将当前深度图与该3D模型的特征进行比较,检测到移动相机重新访问一位置的环闭合(loop?closure)。在一些实施例中,使用所检测到的环闭合来改善该环境的3D模型的一致性和精确度。

Description

使用深度图进行移动相机定位
技术领域
本发明涉及使用深度图进行移动相机定位。
背景技术
移动相机定位涉及找到在其环境中移动的相机的位置和定向,并且对于如机器人、沉浸式游戏、增强现实、架构、规划、机器人、工程原型制作、车辆导航、医学应用和其他问题领域等许多应用是有用的。现有方案在精确度、稳健性和速度上受到限制。对于许多应用,需要实时地进行精确的相机定位,例如以使得机器人可以成功地在其环境中四处移动。
先前的许多移动相机定位方法已经使用了彩色视频相机而不是深度相机。通常彩色视频相机给出高分辨率和精确度,而丰富的色彩信息允许在视频图像中检测到视觉特征。能从深度相机中获得的信息取决于环境的类型和所使用的深度相机的类型可能是有噪声并且不精确的。深度相机捕捉在本文中被称为深度图(depthmap)的图像,其中每个像素和从该深度相机到该相机的环境中的一个点的绝对和相对距离有关。与彩图图像相比,由于可用信息的差异,检测深度图中的特征可能更加困难。
先前的一些移动相机定位方法已经涉及创建移动相机的环境图,同时跟踪相机相对于该图的位置和定向。这被称为同时定位和地图构建(SLAM)。
以下描述的各实施例不限于解决已知的移动相机定位系统的缺点中的任一个或全部的实现。
发明内容
下面呈现了本发明的简要概述,以便向读者提供基本理解。本发明内容不是本发明的详尽概述,并且不标识本发明的关键/重要元素,也不描述本发明的范围。其唯一的目的是以简化形式呈现此处所公开的精选概念,作为稍后呈现的更详细的描述的序言。
针对机器人、沉浸式游戏、增强现实和其他应用描述了使用深度图进行移动相机定位。在一实施例中,在一环境中跟踪移动深度相机,同时使用所感测的深度数据形成该环境的3D模型。在一实施例中,当相机跟踪失败时,通过使用先前收集的关键帧或以其他方式来检测相机跟踪的失败并重新定位相机。在一实施例中,通过实时地将当前深度图与该3D模型的特征进行比较,检测到移动相机重新访问一位置的环闭合(loopclosure)。在一些实施例中,使用所检测到的环闭合来改善该环境的3D模型的一致性和精确度。
通过结合附图参考以下详细描述,可更易于领会并更好地理解许多附带特征。
附图说明
根据附图阅读以下详细描述,将更好地理解本发明,在附图中:
图1是房间中的持有移动深度相机的人的示意图,该移动深度相机被用于实时相机跟踪并且可任选地还产生该房间的3D模型或图;
图2是正由持有移动深度相机的人探测的建筑物某层的平面视图;
图3是连接到实时相机跟踪系统、密集3D模型形成系统、以及游戏系统的移动深度相机的示意图;
图4是实时跟踪器处的方法的流程图;
图5是重新定位引擎的示意图;
图6是不使用关键帧的重新定位方法的流程图;
图7是使用关键帧的重新定位方法的流程图;
图8是环闭合的方法的流程图;
图9是示例帧对齐引擎的示意图;
图10是用于相机跟踪的迭代过程的流程图;
图11是图5的迭代过程中用于计算相应点的对的部分的更多细节的流程图;
图12是用于使用来自密集3D模型的预测来计算相应点的对的过程的流程图;
图13是用于计算和最小化在图10的迭代过程中使用的点-到-平面误差度量的过程的流程图;
图14示出可在其中实现相机定位系统的实施例的示例性的基于计算的设备。
在各个附图中使用相同的附图标记来指代相同的部件。
具体实施方式
下面结合附图提供的具体实施方式旨在作为本发明示例的描述,并不旨在表示可以构建或使用本发明示例的唯一形式。本描述阐述了本发明示例的功能,以及用于构建和操作本发明示例的步骤的序列。然而,可以通过不同的示例来实现相同或等效功能和序列。
尽管本示例在本文中是使用从发出和捕捉红外光的移动深度相机获得的深度图像在实时相机跟踪系统中实现的,然而所描述的系统是作为示例而不是限制而提供的。本领域的技术人员将会理解,本示例适于在各种不同类型的实时相机跟踪系统中应用,包括但不限于使用从立体相机获得的深度信息的系统和使用通过发出和捕捉其他类型的电磁辐射所获得的深度信息的系统。
术语“图像元素”在本文中用于指示像素、像素组、体素、或图像的其他更高级别的分量。
术语“密集3D模型”在本文中用于指示包括物体和表面的三维场景的表示,其中该表示包括关于该场景的图像元素的细节。相反,稀疏3D模型可包括物体的基于帧的表示。可以按照减少存储3D模型所需的冗余和存储器的方式来将密集3D模型转换成诸如多边形网格表示或其他表示等的稀疏3D模型。示例密集3D模型可以是其中来自传入深度图的所有点或许多点被用于描述该环境中的表面的模型。稀疏模型将采用这些点的子集来使计算加速并减少存储器占用量。
图1是站在一房间中并持有移动深度相机102的人100的示意图,在本示例中移动深度相机102还包括有投影仪,该投影仪将猫108的图像投影到该房间中。该房间包含各种物体106,如椅子、门、窗、植物、灯和另一个人104。这些物体106中的许多物体是静态的,但这些物体中的一些物体(诸如人104)可以移动。当人在该房间内四处移动时,该移动深度相机捕捉图像,实时相机跟踪系统112使用所述图像来监视该相机在该房间中的位置和定向。实时相机跟踪系统112可以与移动深度相机102集成,或可以处于另一位置,只要它能够(直接或间接)接收来自移动深度相机102的通信。例如,实时相机跟踪系统112可以在房间中的个人计算机、专用计算机游戏装置、或其他计算设备处提供,并与移动深度相机102进行无线通信。在其他实施例中,实时相机跟踪系统112可以处于建筑物中的别处或处于使用任何合适类型的通信网络与移动深度相机102进行通信的另一远程位置。移动深度相机102还与该环境的密集3D模型110(在此情况下是该房间的3D模型)或该环境的另一类型的图进行通信。例如,当人在房间中四处移动时,移动深度相机102捕捉到的图像被用来形成和构建环境的密集3D模型。实时相机跟踪系统112可跟踪相机相对于环境的3D模型或图110的位置。实时相机跟踪系统112的输出和密集3D模型或图110可由游戏系统或其他应用来使用,但这不是必要的。例如,移动深度相机102处的投影仪可被安排成取决于实时相机跟踪系统112的输出和3D模型110来投影图像。
图2是建筑物的层200的平面图。持有移动深度相机204的人202正如虚线箭头208所示在该层四处移动。此人沿走廊206走过各个房间和家具210。实时相机跟踪系统112能够在移动深度相机204移动时跟踪它的位置,并且该层的3D模型或图被形成。不必由人202来携带移动深度相机204。在其他示例中,移动深度相机204被安装在机器人或运载工具上。这也适用于图1的示例。
图3是与实时相机跟踪器316、密集模型形成系统324和可任选的游戏系统332一起使用的移动环境传感器300的示意图。移动环境传感器300包括被安排成捕捉场景的深度图像序列的深度相机302。每个深度图像或深度图帧314包括二维图像,在该二维图像中每一图像元素包括诸如从相机到所捕捉的场景中的造成了该图像元素的物体的长度或距离等的深度值。这一深度值可以是以指定测量单位(如米或厘米)来提供的绝对值,或可以是相对深度值。在每一捕捉到的深度图像中,存在大约300000或更多个图像元素,每一图像元素具有深度值。帧速率足够高而使得深度图像能够被用于工作机器人、计算机游戏、或其他应用。例如,每秒至少20帧。
深度信息可以使用任何合适的技术来获得,包括但不限于飞行时间、结构化光、立体图像。在一些示例中,深度相机能够将深度信息组织为与沿该深度相机的视线延伸的Z轴垂直的Z层。
移动环境传感器300还可包括被安排成以可由深度相机302查明深度信息的方式来照亮该场景的发射器304。例如,在深度相机302是红外(IR)飞行时间相机的情况下,发射器304将IR光发射到该场景上,并且深度相机302被安排成检测从该场景中的一个或多个物体的表面反向散射的光。在一些示例中,可以从发射器304发出脉冲红外光,使得外出光脉冲与对应的传入光脉冲之间的时间可由深度相机来检测和测量,并被用来确定从环境传感器300到场景中的物体上的位置的物理距离。另外,在一些示例中,可将来自发射器304的出射光波的相位与入射光波的相位在深度相机302处进行比较来确定相移。随后经由包括例如快门式光脉冲成像的各种技术通过分析反射光束随时间的强度来将相移用于确定从移动环境传感器300到各物体上的位置的物理距离。
在另一示例中,移动环境传感器300可使用结构化光来捕捉深度信息。在这种技术中,可使用发射器304将图案化光(例如,显示为诸如网格或条形图案等已知图案的光)投影到场景上。在到达场景中的物体的表面之后,该图案变形。深度相机302捕捉图案的这种变形并对其进行分析来确定从深度相机302到场景中的物体的绝对或相对距离。
在另一示例中,深度相机302包括一对立体相机,以便获得并解析视觉立体数据来生成相对深度信息。在这种情况下,发射器304可被用来照亮场景或可被省略。
在一些示例中,除深度相机302之外,移动环境传感器300包括被称为RGB相机306的彩色视频相机。RGB相机306被安排成在可见光频率处捕捉场景的图像序列。
移动环境传感器300可包括定向传感器308,诸如惯性测量单元(IMU)、加速计、陀螺仪、指南针、或其他定向传感器308。然而,使用定向传感器不是必要的。移动环境传感器300可包括诸如GPS等位置跟踪设备,但这不是必要的。
移动通信传感器可包括上面参考图1提到的投影仪312,但这不是必要的。
移动环境传感器还包括一个或多个处理器、存储器、以及通信基础结构,如下文更详细地描述的。
移动环境传感器可以在外壳中提供,该外壳的形状和大小制定成由用户手持或由用户佩戴。在其他示例中,移动环境传感器的大小和形状被制定成被包括或安装在运载工具、玩具、或其他可移动装置上。
移动环境传感器300连接到实时跟踪器316。这一连接可以是物理有线连接或可以使用无线通信。在一些示例中,移动环境传感器300通过诸如因特网等一个或多个通信网络间接连接到实时跟踪器。
实时跟踪器316是使用控制一个或多个并行计算单元(诸如图形处理单元(GPU)、矢量机、多核处理器或其他并行计算设备)的通用微处理器来计算机实现的。它包括帧对齐引擎318并且可任选地包括环闭合引擎320和重新定位引擎322。实时跟踪器316从深度相机302获得深度图帧314,并还可任选地从移动环境传感器300获得输入,并获得可任选图数据334以及来自游戏系统332的可任选数据。实时跟踪器可用于使深度图帧对齐,以产生深度相机302的六自由度姿势估计的实时系列328。它还可以产生变换参数(也称为对准参数)以用于深度图帧的对之间的转换。在一些示例中,实时跟踪器对来自深度相机的各对深度图帧314进行操作。在其他示例中,实时跟踪器216获取单个深度图帧314并将它与该场景的密集3D模型326对齐而非与另一深度图帧314对齐。
例如,在一些实施例中,实时跟踪器316向密集3D模型形成系统324提供输出,密集3D模型形成系统324使用该信息以及深度图帧314来形成并存储移动环境传感器300正在其中移动的场景或环境的密集3D模型。例如,在图1的情况下,3D模型将是房间中的表面和物体的3D模型。在图2的情况下,3D模型将是建筑物的该层的3D模型。密集3D模型326可被存储在GPU存储器中,或以其他方式存储。
移动环境传感器300可结合游戏系统332来使用,游戏系统332连接到显示器330。例如,游戏可以是高尔夫游戏、拳击游戏、赛车游戏、或其他类型的计算机游戏。来自游戏系统332的数据(如与游戏相关的游戏状态或元数据)也可被提供给实时跟踪器316。而且,来自实时跟踪器的信息可以被游戏系统332用来影响游戏如何进行。来自3D模型的信息也可以被游戏系统332用来影响游戏如何进行。
可任选地,图数据334对实时跟踪器316是可用的。例如,这可以是架构师对该环境(例如,房间或建筑物的层)的绘图、该环境中已知的地标的位置、可从另一源获得的该环境的地图。
实时跟踪器的帧对齐引擎318被安排成将各对深度图帧对齐,或将一深度图帧与来自密集3D模型的一深度图帧的估计对齐。它使用迭代过程,该迭代过程是用一个或多个图形处理单元来实现的,以使帧对齐引擎实时操作。下面参考图9给出关于帧对齐引擎的更多细节。
在一个示例中,实时跟踪器316和/或密集3D模型形成系统324所执行的处理可以离开移动环境捕捉设备300的位置而远程执行。例如,移动环境捕捉设备300可被连接到(或包括)具有相对低处理能力并且通过通信网络将深度图像流传送到服务器的计算设备。该服务器具有相对高的处理能力,并且执行实时跟踪器316和/或密集3D模型形成系统324的在计算上复杂的任务。该服务器可以逐帧返回密集重构(densereconstruction)的已渲染图像以向用户提供交互体验,并且在模型完成时还返回最终密集3D重构以供后续本地使用(例如,在游戏中使用)。这样的安排避免了用户对拥有高能力本地计算设备的需要。
环闭合引擎被安排成检测移动环境传感器何时按照环移动,使得当前深度帧中描绘的场景至少部分与不是紧邻的之前深度帧的先前深度帧的场景相重叠。当环闭合时,该移动环境传感器重新访问它之前访问过的某处。例如,这可在用户在图2中的建筑物的整层四处走动并再次到达起始点时发生。这也可以在用户在房间四处移动至某家具背后并再次出来到原始起始位置或接近该原始起始位置时发生。因此,环的大小将取决于移动环境传感器所处的环境并取决于应用域而改变。例如,在人在建筑物的层四处走动的情况下(如在图2中),该环可能数十米长。在人在单个房间内四处移动的情况下(如在图1中),该环可以小于10米长。在玩具汽车上的机器人在儿童的玩具赛道上四处驾驶的情况下,该环可以小于1米长。检测何时环闭合发生是有用的,因为这使得3D模型中累积的误差能够被标识。例如,移动环境传感器可以使所捕捉的深度和/或彩色视频图像被标识为在环的开始或结束处,但是为那些图像中的每个图像计算的相机位置和定向可能不是一致的。一旦这些误差被标识,则可以减少这些误差以改善该环境的3D模型或图的精确度和一致性。而且,可以从相机跟踪的总误差或误定向(disorientation)中恢复。环闭合误差可以被认为是包括局部化误差和全局误差两者。全局环闭合误差(也被称为漂移)包括随着时间的相机的组合的6自由度姿势估计中的误差。局部化误差可以在来自单个帧或很大程度上重叠的帧序列的相机的6自由度姿势估计中出现。实时地精确检测环闭合何时发生不是简单直接的。一旦环闭合被检测到,任何环闭合误差将被标识并减少,而这难以在实现高质量结果的同时实时地实现。此外,可以以不同于局部环闭合误差的方式来抵消或处置全局环闭合误差。
重新定位引擎322被安排成处理以下情况:实时跟踪器失去移动环境传感器300的当前位置并且重新定位或再次找出当前位置。实时跟踪器可能由于许多原因而失去移动环境传感器300的当前位置。例如,快速相机运动、遮挡和运动模糊。在使用深度图进行实时跟踪的情况下,在该环境具有很少的精细的细节并且包括主要是平面的表面的情况下,跟踪失败也可能发生。在使用结构化光发射器的深度相机的情况下,跟踪失败可能在该环境包括高度反射性表面(诸如计算机屏幕)和产生很差的深度信息的其他反射性表面时发生。如果没有检测到跟踪失败,则误差的跟踪信息有可能被用于递增该环境的3D模型或图。这可能导致该3D模型或图的破坏。快速和精确的跟踪失败检测是有益的,因为它能被用于防止3D模型的损坏以及触发跟踪恢复过程。
图4是图3的实时跟踪器316处的过程的流程图。如下面参考图9到13所述,使用帧对齐引擎318建立(400)实时相机跟踪。使用(402)深度图帧314和帧对齐引擎的输出(对准参数和相机定向和位置)来细化移动环境传感器300在其中移动的环境的密集3D模型326。如果检测(404)到跟踪失败,则移动环境传感器300的重新定位406发生,并且该过程在步骤402,同时随着更多的深度图帧被捕捉而递增该密集3D模型。以此方式,一旦检测到跟踪失败,则暂停正在进行的相机跟踪和正在进行的3D模型的细化,直到重新定位成功。如果检测到(408)环闭合误差,则修改该密集3D模型本身以将该误差计入。在解决该环闭合误差之后,该过程在步骤402继续,同时递增该密集3D模型。以此方式,当跟踪失败发生时保留该环境的密集3D模型,并且其精确度和一致性因为检测环闭合而被改善。
图5是给出图3的重新定位引擎322的更多细节的示意图。它包括实时地操作的跟踪失败检测器500。跟踪失败检测器500可以包括阈值502,该阈值502是取决于所涉及的应用域而被预先配置的。例如,当该帧对齐引擎输出的对准参数改变超过阈值量时,跟踪失败可能发生。在另一示例中,当该帧对齐引擎的SE3矩阵输出在连续输出间的改变超过阈值量时,跟踪失败可能发生。当用于跟踪移动深度相机的位置和定向的迭代过程的收敛中发生失败时,可以检测到跟踪失败。跟踪失败检测器500可以包括作为一个或多个规则、准则、阈值或其他条件存储的运动试探(heuristic)504。例如,该运动试探可以是如下规则:移动环境传感器300正在以具有白噪声加速的恒定速度运动。来自帧对齐引擎的与此运动试探不一致的任何输出可以触发跟踪失败。在另一示例中,该运动试探可以是:移动环境传感器300以随机行走(randomwalk)移动,其具有被设定在普通人的行走速度的最大线性速度(在该移动环境传感器正在由用户佩戴的情况下)且具有任意高的旋转速度。来自帧对齐引擎的与此运动试探不一致的任何输出可以触发跟踪失败。可以使用这些检测跟踪失败方式中的一种或多种的任何组合。在一示例中,使用违反的三个方面的组合来根据以下检测跟踪失败:违反运动试探、违反旋转阈值和/或当用于跟踪移动深度相机的位置和定向的迭代过程的失败由于无法收敛或以太大的残留误差收敛而发生。
跟踪失败检测器500可包括被安排成在该帧对齐引擎检测到退化(degeneracy)(506)时检测到跟踪失败的组件。例如,如同下面描述的,该帧对齐引擎通过使用一迭代过程来寻找各对深度图之间的各对相应点,其中该迭代过程包括对误差度量的优化。在优化误差度量期间,当该优化过程无法给出任何解时,检测到退化。例如,无法给出解可能是由于因环境中的反射性表面而不具有深度值的图像元素、因为该环境高度平坦(如果存在球形或柱形表面的话)、或由于其他原因。
该重新定向引擎还包括重新定向过程508,该重新定向过程可以使用关键帧或可以在没有关键帧的情况下操作。关键帧是先前通过实时跟踪器收集的或人工生成的深度图或彩色视频帧。通过找到是当前相机视图的良好匹配的关键帧来恢复跟踪,并且这提供了初始姿势估计,跟踪可以从该初始姿势估计重新开始。在一些情况下,关键帧被边缘化(marginalize)到SE3矩阵中,并且这减少了存储器要求。在需要时,通过光线投射(raycasting),可以从该密集3D模型恢复关键帧点。
现在参考图6给出重新定位过程508在没有关键帧的情况下操作的一示例。例如,使用移动环境传感器的运动模型,计算(600)相机姿势的路径分布。此运动模型可以预测该移动环境传感器在一稳定延伸的球体内,所述球体的中心在其最后已知位置附近并且具有任何定向。随机地,或以任何其他方式,从所述路径分布中选择(602)样本相机姿势。然后对所采样的相机姿势使用(604)该帧对齐引擎来将当前深度图和先前的深度图对齐以获得对准参数,如下面更详细地描述的。如果达到收敛(606),即,如果这些对准参数与最后已知位置一致,则该相机已被成功地重新定位(608)。否则,获取另一样本(602)并且该过程重复。
现在给出重新定位过程508在没有关键帧的情况下操作的另一示例。
向当前深度图的各小块(patch)和从该环境的3D模型获得的多个先前的深度图的各小块应用快速群集算法(诸如随机决策树林)。通过使用光线投射技术来呈现来自该3D模型的深度图,或以任何其他方式,可以从该环境的3D模型获得这些先前的深度图。该随机决策树林中的每个叶子节点均代表基元(texton)。基元是彩色图像的纹理特征,但是在本示例中使用的是深度图,因此基元是深度图的纹理特征。随机地,或以任何其他方式,选择当前深度图的多个小块。每个小块是多个毗邻的图像元素。还从多个先前深度图中的每一个中选择小块。每个小块被处理到随机决策树林的叶子以标识该小块的基元。然后构筑图像中找到的所有基元的直方图。
重新定位过程根据随机决策树林分类器输出的基元的直方图来选择与当前深度图类似的一先前深度图。然后用与所选的深度图相关联的相机姿势作为当前相机姿势并且重新定位该相机。离线训练该随机决策树林群集算法,或者在使用该实时跟踪器期间使用后台过程来训练该随机决策树林群集算法。
图7是使用关键帧进行重新定位的方法的流程图。在实时跟踪期间收集(702)关键帧并将其与该3D模型相关联地存储。例如,关键帧是由移动环境传感器300处的RGB相机306捕捉的彩色视频帧。在另一示例中,关键帧是由深度相机302捕捉的深度图帧314。每个关键帧均具有相关联的相机姿势,该相机姿势是在实时跟踪期间由帧对齐引擎318计算出来的。根据该相机姿势,将每个关键帧与3D模型326中的位置相关联。例如,通过对于该关键帧在该3D模型中在由该相机姿势所指定的位置处包括参考,将该关键帧与3D模型相关联地存储。在一些示例中,将该3D模型存储在GPU存储器的一小格(cube)中,并且根据由该相机姿势对于所述关键帧所指定的位置来将所述关键帧挂起在存储器的此小格中。在一些情况下,关键帧被存储为其相关联SE3矩阵,并且这减少了存储器要求。在需要时,通过光线投射,可以从该密集3D模型恢复关键帧深度点。
所收集的关键帧的数量取决于可用的存储器和处理能力,还取决于应用域。然而,可以存储数万个关键帧。通过使用随机选择、选择每个第n帧、选择包括先前未看到的视觉特征的帧、使用这些方法的组合、或以任何其他方式,来实现对作为关键帧保存的帧的选择。在一示例中,该系统在各关键帧之间等待最小数量的帧,并且如果一帧与在平移和旋转方面与任一现有关键帧距离至少指定的量的相机姿势相对应,则记录该新的关键帧。
当检测到跟踪失败(702)时,该重新定位引擎选择(704)所述关键帧中与当前相机视图(深度图或RGB图像)类似的关键帧。该关键帧和当前相机视图之间的相似度的测量可以是任何适当类型的。例如,可以比较诸如边缘、角落、团(blob)、线等特征。也可以使用相似度的其他测量,诸如把将物体分段过程(segmentationprocess)应用到该关键帧和当前相机视图的结果进行比较。在所述关键帧是深度图的情况下,可以将人类身体姿势检测器应用到该关键帧和当前视图并比较结果。可以向当前帧和先前帧应用几何估计和/或语义图像标记过程(诸如机器学习分类器)。然后,有可能通过选择与当前帧相比具有类似几何(竖直和水平表面的安排和位置)和/或语义标记(物体的安排)的帧来重新定位。
选择关键帧是复杂且耗时的任务,因为要遍历搜索如此多的关键帧。在一些示例中,所述搜索是对位于最后已知相机位置附近的关键帧进行的,然后可以逐渐加宽搜索空间,直到找到良好匹配。
一旦已选择了关键帧,则可使用(706)该关键帧来提供初始姿势估计,跟踪可以从该初始姿势估计重新开始。
现在参考图8来描述图3的环闭合引擎320处的方法。环闭合检测过程804从该环境的当前深度图800和3D模型802取得输入。在一些情况下,环闭合检测过程804从RGB相机306所捕捉的当前彩色图像获取输入,尽管这不是必要的。环闭合检测过程804使用任何适当的环闭合检测方法,诸如特征匹配过程806、词袋过程808、或其他环闭合检测过程。如同上面提到的,环闭合在移动环境传感器重新访问一位置时发生。词袋过程能够高效地识别两个图像何时示出相同的场景,从而检测到环闭合。词袋过程(动态地或离线地)生成特征描述符(例如,线、边缘、角落、团、SIFT特征、SURF特征)的词典并使用该词典来标记在图像中找到的特征。然后可以非常快速地将这些图像进行比较以查看它们是否具有许多共同的特征,并因此可能是相同物体或位置的。特征匹配过程是在不使用词典的情况下标识两幅图像中相同的特征的任何过程。
一旦检测到环闭合,则任何环闭合误差可被发现并可被计入。例如,环闭合标识该3D模型和当前深度图的部分具有相同的相机位置。然而由于跟踪误差,情况并非如此。此外,可以标识出环闭合误差的类型。例如,该环闭合是全局的(诸如是对相机所估算的组合的6自由度姿势中的漂移的结果),还是该误差是局部的(其是来自单个帧或很大程度上重叠的帧的序列的很差的6自由度姿势估计的结果)。环闭合误差可以是全局和局部环闭合误差的组合。遵循环闭合程序过程812来减少此误差并改善该3D模型的一致性和精确度。可以使用任何适当的环闭合程序,诸如优化能量函数。
图9是图3的帧对齐引擎318的更详细的示意图。帧对齐引擎908是在至少具有CPU和一个或多个GPU的计算设备处实现的计算机。它包括迭代最近点过程912和可任选的平面提取组件910。迭代最近点过程使用投影数据关联和点-到-平面误差度量,如下面更详细地描述的。该帧对齐引擎从深度相机接收当前深度图900。这也被称为目的地深度图。在一些示例中,它还从深度相机接收源深度图902,源深度图902是先前的深度图帧。在其他示例中,该帧对齐引擎获取该源深度图的密集表面模型估计906。帧对齐引擎的输出是变换的一组对准参数,用于将当前帧和源帧(或帧估计)对齐。在一些示例中,这些对准参数是作为SE3矩阵形式的六自由度(6DOF)姿势估计来提供的,该SE3矩阵描述了深度相机302相对于真实世界坐标的旋转和平移。此变换矩阵可以被更加正式地表示为:
T k = R k t k 0 T 1 ∈ SE 3
其中Tk是深度图像帧k的变换矩阵,Rk是帧k的相机旋转,tk是帧k处的相机平移,而欧几里德群可以将相机空间中的坐标(即,来自相机角度)通过乘以这个变换矩阵映射到真实世界坐标。然而,对准参数可以以任何适当的形式提供。这些对准参数被实时跟踪器316用来产生该深度相机的6自由度姿势估计的实时系列。
图10是帧对齐引擎处的示例迭代过程的流程图。形成(1000)对准参数的初始估计。这些是用于将当前帧和源帧对齐的变换的对准参数。这一初始估计是用任何合适的方式形成的。例如,以下信息源中的一个或多个可被用来形成初始估计:游戏状态、游戏元数据、图数据、RGB相机输出、定向传感器输出、以及GPS数据。在另一示例中,通过预测其中该相机正在使用关于该相机的先前运动路径的信息的情况来形成初始估计。例如,可假定该相机具有恒定的速度或恒定的加速度。可以使用相机从时刻0到时刻t-1的运动路径来估计在时刻t相机将在何处,并因此获得对准参数的估计。
使用初始估计,计算(1002)当前帧和源帧(深度图或估计的深度图)之间的各对相应点。一对相应点是来自来自一个深度图的一点和来自另一深度图的一点,其中那些点被估计为产生自场景中的同一真实世界点。术语“点”在此处被用于指示像素、或一组或一小块相邻像素。由于点的可能组合的巨大数量,这个对应性问题是非常困难的。通过标识每个图像中的诸如线、边缘、角落等形状然后尝试在各对图像间匹配那些形状,前面的使用彩色或灰度图像的方法已经解决了这个问题。与之相对,此处描述的实施例标识相应的点而不需要在深度图中寻找形状。下面参考图11给出了关于如何计算相应点的更多细节。计算(1004)对准参数的经更新的估计,其对被应用到所计算的相应点的误差度量进行优化。
进行检查以评估是否达到收敛(1006)。如果达到,则经更新的估计中存在很少的改变或不存在改变,而输出对准参数(1008)。如果没有达到,则该迭代过程重复,如图10中所指示的。
参考图11,现在给出有关如何计算各对相应点的更多细节。在一些实施例中,从当前深度图和源深度图中的任何一个或两个采集(1100)样本点,并且使用那些样本点作为从中寻找各对相应点的候选。采样可以通过随机地选择所述点的指定比例而实现。在另一实施例中,用将这些点的表面法线计入的方式来实现采样。例如,对于每个点计算出表面法线(如下面更详细地描述的)并创建直方图,该直方图具有针对表面法线值的不同范围的多个柱。如此进行采样,以实现跨越各柱的均匀采样。
通过使用采样,实现了减少计算成本的益处。然而,风险是当使用采样时减少该过程的精确度和稳健性。这是因为样本点可能不提供对从其采集样本的深度图的良好指示。例如,样本可能使得该过程找到该过程标识为解但是事实上却表示局部最优解而不是全局最优解的一组相应点。
如上所述,使用任何采样不是必要的。当使用所有可用点时,该过程也是可行的,并且给出了很好的结果。在此情况下,此处描述的GPU实现允许该过程对于每个深度图中的所有点实时地操作,这些点可能多达300000个或更多。在下面参考图11描述的示例中,使用采样描述该过程。然而,图11的过程还能够在不执行采样的情况下应用。
如图11所指示的,计算(1102)样本点(或者在不进行采样的情况下的每个可用点)的表面法线。例如,对于给定点,通过找出深度图中的4个(或更多个)最接近的邻居点并计算包括这些邻居点及该点本身的表面小块来实现这一点。随后计算该表面小块在该点的位置处的法线。
然后接下来是寻找(1104)点的相应对的过程。现在在源深度图和当前深度图可用而不使用密集3D模型的情况下描述这一点。对于每个从源深度图采样的源点,从与该源深度图相关联的相机位置投影(1106)光线,该光线穿过被采样的源点并投影到目的地深度图中的目的地点上。在一些情况下,目的地点可以沿着所投影的光线位于被采样的源点前方。这一投影过程可被称为“投影数据关联”。然后在目的地点周围(且包括目的地点)搜索(1108)候选相应点。例如,搜索是针对具有与被采样的源点的表面法线相兼容的表面法线的点。如果表面法线在彼此的指定范围内并且该指定范围在目的地点的指定欧几里德距离内,则称所述表面法线是兼容的。例如,此指定范围是用户能够配置的。
作为此搜索的结果,找到了一个或多个候选的相应点。从那些候选相应点中选择(1110)单个点来与源点形成一对。这种选择是以距离度量为基础作出的。例如,计算源点和所述候选相应点中的每个点之间的欧几里德距离。然后选择给出最小欧几里德距离的那对点。然后对于所采样的源点中的每一个点,或者在不进行采样的情况下对于源深度图中的可用点中的每一个点,重复框1104的过程。
在一些实施例中,对各对相应点中的每一对赋予(1112)权重。例如,可以使用来自其他源(诸如RGB相机或其他传感器)的信息来赋予权重。在一示例中,对于各对相应点中的每一对,计算与深度相机的测量特征有关的权重并将其存储。在应用误差度量以改善结果的质量的过程期间,可以使用这些权重。
在一些实施例中,拒绝(1114)包括在深度图的边界上或边界附近的点的对。这有助于避免两个深度图间只有部分重叠的情况下的误差。还可以使用其他准则来拒绝对。例如,在一些实施例中,执行如上面参考图9的组件910所提到的平面提取。在该情况下,拒绝在平面上的对。
在一些实施例中,从深度相机所正在捕捉的场景的密集3D模型中估计或预测源深度图。在此情况下遵循图12的方法。该场景的密集3D模型包括存储在GPU存储器中的场景的3D表面表示。也可以使用其他存储3D模型的方式。例如,该密集3D模型可以按照片-行-列的次序被存储为线性阵列(下面给出了关于这一点的更多细节),可任选地具有一些填充(padding)以使得片和行对齐某个存储器块大小。可以使用其他存储该3D模型的方式,诸如八叉树、粗略-精细表示、基于网格的表示(诸如多边形网格)。
现在给出关于密集3D模型被按照“片-行-列”的次序存储在GPU上的情况的更多细节。在此情况下,该模型可以被存储为用于表示3D体的存储器位置的线性阵列。通过使用线性倾斜存储器(linearpitchedmemory)将每个体素映射到存储器阵列索引来实现这一点,该线性倾斜存储器提供对存储在该GPU存储器上的数据的快速并行访问。
如上所述,通过评估(1200)到样本点的相邻点,计算当前深度图的样本点的表面法线。对于所预测的源深度图,对于每个所预测的样本点,从该密集3D模型计算(1202)表面法线预测和表面位置预测。所预测的样本点是来自该密集3D模型的与来自当前深度图的样本点处于同一像素位置处的点。这是通过将光线投影到密集表面模型的体中完成的。该光线是从与当前深度图相关联的所估计的相机位置和定向投影的,并且穿过该3D模型的面上的与当前深度图中的样本点相对应的点而进入该3D模型。这在该3D模型被存储为体表示的3D模型的情况下适用。在使用基于网格的表示存储该3D模型的情形中,则此表示首先被投影以形成虚拟深度图像表示。然后该光线可被投影到该虚拟深度图像表示中。通过沿着该光线前进并评估表面密度函数以找到第一次从正到负的零跨越而找到沿着该光线的第一可见表面。根据沿着该光线从表面密度函数的交叉的估计找到相关联的子像素世界点。在一个示例中,在给出三线性采样的点的情况下,在所检测的零跨越的任一侧上以找到零出现处的子像素世界点,使用简单线性内插可以计算出沿光线的表面交叉点。该子像素世界点被当作所预测的表面位置。为了找到此位置处的所预测的表面法线,使用三线性内插来寻找该表面密度函数梯度的有限差别。计算表面法线预测和表面位置预测的过程可以在GPU处实现,其中每个光线被并行处置。
对于每个所预测的样本点(从该密集3D模型获得),遵循过程1204来标识当前深度图中的相应点。这类似于图11的过程1104。所预测的样本点被投影(1206)到目的地深度图(当前深度图)中的目的地点上。然后在目的地点周围、对与该目的地点具有兼容的表面法线的候选相应点进行搜索(1208)。根据距离度量,从那些候选相应点中选择(1110)一点。例如,如果一对点在彼此的指定欧几里德距离e1内并且该对点的表面法线之间的点积大于指定阈值e2,则该对点是兼容的。参数e1和e2可以是用户能够配置的,或者可以在制造阶段期间设置,由此根据经验校准该设备以在特定设定中使用。
在一些情况下,对各对相应点赋予(1212)权重。在一些实施例中,如果对包括至少一个在深度图边界上或在边界附近的点,则拒绝所述对。在一示例中,对于各对相应点中的每一对,存储与深度相机的测量特征有关的权重。在应用误差度量以改善结果的质量的过程期间,可以使用这些权重。
一旦例如使用图11或图12的过程标识了各对相应点,则计算并最小化误差度量,且图10的迭代过程重复。
在一示例中,对于各对相应点计算(1300)点-到-平面误差度量,并且优化此度量以获得经更新的对准参数。现在参考图13描述此过程的一示例。该过程被设计为使用至少一个并行计算单元(诸如GPU)来实现,以获得如现在所述的实时处理。
计算点-到-平面误差可以被认为是计算(1302)从每个源点到包含该目的地点并且与该目的地点的近似表面法线垂直地定向的平面的平方距离的和。该过程设法优化此度量以寻找一组经更新的对准参数。求解这种类型的优化问题不是简单直接的,而是通常需要大量的计算资源,从而使得这种类型的过程对于实时应用来说难以实现。现在描述允许实时处理的使用并行处理单元(诸如GPU)的一种示例实现。
各对相应点可被缩放和平移(1304)。这可以改善优化过程的稳定性,但是这不是必要的。
对于每一对相应点,在并行计算单元上形成(1306)包括多个联立方程的线性系统,以使用数值最小二乘优化来优化误差度量。每个线性系统可以是6乘6矩阵的形式。在该并行计算单元上多个矩阵可被简化为单个6乘6矩阵。因为帧率很高(例如,每秒20帧或更多),则对于任何两个连续帧之间的角度(相机定向的改变)进行小角度逼近是可能的。即,因为帧率如此高,相机在帧间将只移动了很小的量。通过进行这种逼近,促进了系统的实时操作。
单个6乘6矩阵被传递给CPU1308并被求解以寻找经更新的对准参数。解被缩放并平移(1310)回去以逆转1304的缩放和平移步骤。检查(1312)解的稳定性并且该过程输出经更新的对准参数1314。
在一示例中,使用下面的点-到-平面误差度量,但是这不是必须的;也可以使用其他误差度量。
此误差度量可用于获得新的平移Tk。现在给出关于所使用的符号的更多细节。深度相机Dk的当前帧k提供图像域中的图像像素u=(x,y)处的经校准的深度测量d=Dk(u)。这些测量可以作为vk(u)=(xd,yd,d,1)被重新投影到相机的世界空间中(使用齐次坐标)。因为来自该深度传感器的每一帧是在规则网格上的表面测量,该系统还可以计算相应的法线矢量nk(u),这些法线矢量是通过相邻的重新投影的网格点之间的有限差异来估计的。SE3变换矩阵将时刻k处的相机坐标帧映射到全局帧g中,如(法线矢量的等同映射是)。在全局坐标系中该3D模型在时刻k处的估计被表示为Mk,Mk可被存储在此处所述的体表示中。通过光线投射到先前帧的相机姿势Tk-1中,将传入的深度帧Dk对照完全3D的经重构的模型Mk-1的先前帧的估计来对准。这带来了所预测的图像或者等同地一组全局模型点和模型法线其中是相应索引集。上面用于点到平面误差度量的等式中的符号ρk表示时刻k处的相机和模型点之间的保护性数据关联映射。
在一示例中,被帧对齐引擎908标识的每对相应点可以在并行计算单元(诸如GPU)中被并行处理。因此,对于每对相应点,计算给出点-到-平面约束系统的算术表达式的线性系统。通过作出小角度假定,通过斜对称矩阵R≈[α,β,γ]×以及3元素的平移矢量t,可以使用一3矢量的递增旋转来使该变换T参数化。通过将线性化的误差度量的一阶导数设为0,获得线性系统。该点-到-平面约束系统表达了上面提到的点-到-平面误差度量的优化。本计算在并行计算单元处对于每一对相应点并行进行。以此方式,将该误差度量并行地应用到所标识的相应点中的每一个。使用树简化过程或估算算术表达式的其他适当方法来估算每对点的算术表达式。树简化过程是一种估算策略,通过该估算策略,算术表达式被表示为树结构,树的节点表示算术运算而树的叶节点表示值。通过将估算的结果沿着树的分支传递,按照根据树的结构的次序估算该表达式。来自各并行过程的误差度量优化过程的结果共同使得单个6乘6矩阵能被输出。
图14示出示例性的基于计算的设备1404的各组件,该基于计算的设备1404可以任何形式的计算设备和/或电子设备来实现、并且其中可实现实时相机跟踪器的实施例。
基于计算的设备1404包括被安排成接收并处理来自诸如用户输入设备(例如,捕捉设备1406、游戏控制器1405、键盘1407、鼠标1409)的一个或多个设备的输入的一个或多个输入接口1402。此用户输入可被用于控制软件应用或实时相机跟踪。例如,捕捉设备1406可以是被安排成捕捉场景的深度图的移动深度相机。基于计算的设备1404可以被安排成提供该捕捉设备1406的实时跟踪。
基于计算的设备1404还包括被安排成向可与计算设备1404分开或集成在一起的显示设备1408输出显示信息的输出接口1410。该显示信息可以提供图形用户界面。在一示例中,如果显示设备1408是触敏显示设备,则它还可担当用户输入设备。输出接口1410还向除显示设备之外的设备(例如,本地连接的打印设备)输出数据。
可以使用基于计算的设备1404能够访问的任何计算机可读介质来提供计算机可执行指令。计算机可读介质可以包括例如诸如存储器1412等计算机存储介质和通信介质。诸如存储器1412等计算机存储介质包括以用于存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或者可用于存储信息以供计算设备访问的任何其他非传输介质。
相反,通信介质可以以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或者其他数据。如本文所定义的,计算机存储介质不包括通信介质。虽然在基于计算的设备1404中示出了计算机存储介质(存储器1412),然而应当理解,该存储可以是分布式的或位于远处并经由网络或其他通信链路(例如,使用通信接口1413)来访问。
基于计算的设备1404还包括一个或多个处理器1400,该一个或多个处理器可以是微处理器、图形处理单元(GPU)、控制器、或用于处理计算可执行指令以控制设备的操作以便提供实时相机跟踪的任何其他合适类型的处理器。在一些示例中,例如在使用片上系统架构的示例中,处理器1400可以包括一个或多个固定功能块(亦称加速器),这些块以硬件(而非软件或固件)来实现实时相机跟踪方法的一部分。
可以在基于计算的设备处提供包括操作系统1414或任何其他合适的平台软件的平台软件以使得能够在该设备上执行应用软件1416。可以在计算设备1404上执行的其他软件包括:帧对齐引擎1418(例如,参见图9到图13及上面的描述)、环闭合引擎1420、重新定位引擎1422。提供数据存储1424来存储数据,诸如先前接收的深度图、对准参数、用户可配置参数、其他参数、场景的3D模型、游戏状态信息、游戏元数据、图数据和其他数据。
此处所使用的术语‘计算机’是指带有处理能力使得它可以执行指令的任何设备。本领域的技术人员将认识到,这样的处理能力被集成到许多不同的设备中,因此,术语‘计算机’包括PC、服务器、移动电话、个人数字助理和许多其他设备。
本文描述的方法可由有形存储介质上的机器可读形式的软件来执行,例如计算机程序的形式,该计算机程序包括在该程序在计算机上运行时适用于执行本文描述的任何方法的所有步骤的计算机程序代码装置并且其中该计算机程序可被包括在计算机可读介质上。有形(或非瞬态)存储介质的示例可包括盘(disk)、拇指型驱动器、存储器等,而不包括所传播的信号。软件可以适合于在并行处理器或串行处理器上执行,使得各方法步骤可以以任何适当的顺序实现,或同时实现。
这确认了软件可以是有价值的、可单独交易的商品。它旨在包含运行于或者控制“哑”或标准硬件以实现所需功能的软件。它还旨在包含例如用于设计硅芯片,或者用于配置通用可编程芯片的HDL(硬件描述语言)软件等描述摂或者定义硬件配置以实现期望功能的软件。
本领域的技术人员将认识到,用来存储程序指令的存储设备可以分布在网络上。例如,远程计算机可以存储被描述为软件的进程的示例。本地或终端计算机可以访问远程计算机并下载软件的一部分或全部以运行程序。可另选地,本地计算机可以根据需要下载软件的片段,或在本地终端上执行一些软件指令,并在远程计算机(或计算机网络)上执行另一些软件指令。本领域的技术人员还将认识到,通过利用本领域的技术人员已知的传统技术,软件指令的全部,或一部分可以通过诸如DSP、可编程逻辑阵列等等之类的专用电路来实现。
如本领域技术人员将清楚的,此处给出的任何范围或者设备值都可以被扩展或者改变而不失去所寻求的效果。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
可以理解,上文所描述的优点可以涉及一个实施例或可以涉及多个实施例。各实施例不限于解决所述问题中的任一个或全部的实施例或具有所述好处和优点中的任一个或全部的实施例。进一步可以理解,对‘一个’项目的引用是指那些项目中的一个或多个。
此处所描述的方法的步骤可以在适当的情况下以任何合适的顺序,或同时实现。另外,在不偏离此处所描述的主题的精神和范围的情况下,可以从任何一个方法中删除各单独的框。上文所描述的任何示例的各方面可以与所描述的其他示例中的任何示例的各方面相结合,以构成进一步的示例,而不会丢失寻求的效果。
此处使用了术语“包括”旨在包括已标识的方法的框或元素,但是这样的框或元素不构成排它性的列表,方法或设备可以包含额外的框或元素。
可以理解,上面对一较佳实施例的描述只是作为示例给出并且本领域的技术人员可以做出各种修改。以上说明、示例和数据提供了对本发明的各示例性实施例的结构和使用的全面描述。虽然上文以一定的详细度或参考一个或多个单个实施例描述了本发明的各实施例,但是,在不偏离本发明的精神或范围的情况下,本领域的技术人员可以对所公开的实施例作出很多更改。

Claims (6)

1.一种实时相机重新定位的方法,包括:
从正在移动的移动深度相机接收深度图帧的序列,每个深度图帧包括多个图像元素,每个图像元素具有与从所述移动深度相机到由所述移动深度相机所捕捉的场景中的表面的距离有关的深度值;
使用所述深度图帧跟踪所述移动深度相机的位置和定向,并使用所述深度图帧同时形成所述移动深度相机正在其中移动的环境的3D模型;
检测对所述移动深度相机的位置和定向的跟踪中的失败;以及
通过使用由所述移动深度相机所捕捉的当前深度图重新计算所述移动深度相机的位置和定向来重新定位所述移动深度相机;
重新定位所述移动深度相机包括:在给出所述移动深度相机的已知先前运动的情况下,计算作为姿势的预测分布的所述移动深度相机的姿势的路径分布;从所述路径分布采样姿势并使用所采样的姿势来将所述当前深度图和先前深度图对齐,或者
重新定位所述移动深度相机包括:将随机决策树林应用到来自所述当前深度图和来自从所述环境的3D模型获得的多个先前深度图的小块以获得作为深度图的纹理特征的基元的直方图,并根据所述直方图选择与所述当前深度图类似的先前深度图。
2.如权利要求1所述的方法,其特征在于,检测所述跟踪中的失败包括以下任何项:将所述移动深度相机的当前和先前的跟踪到的位置的改变与阈值进行比较;检测用于跟踪所述移动深度相机的位置和定向的迭代过程的收敛的失败;以及将所述移动深度相机的当前的跟踪到的位置和定向与使用所述移动深度相机的运动的模型预测的位置和定向进行比较。
3.如权利要求1或权利要求2所述的方法,其特征在于,重新定位所述移动深度相机包括从多个关键帧中寻找与所述当前深度图类似的关键帧,所述多个关键帧是由所述移动深度相机在先前收集的、各自具有相关联的相机位置和定向的深度图帧;以及其中寻找关键帧包括以下任何项:使用几何估计过程来选择与当前帧具有类似的竖直和水平表面的安排和位置的关键帧;以及按照与所述移动深度相机的最后已知位置有关的次序来搜索所述多个关键帧。
4.一种实时相机重新定位系统,包括:
被安排为从正在移动的移动深度相机接收深度图帧的序列的输入,每个深度图帧包括多个图像元素,每个图像元素具有与从所述移动深度相机到由所述移动深度相机所捕捉的场景中的表面的距离有关的深度值;
被安排为使用所述深度图帧跟踪所述移动深度相机的位置和定向的帧对齐引擎;
被安排为使用所述深度图帧形成所述移动深度相机正在其中移动的环境的3D模型的3D模型形成系统;
被安排为检测所述移动深度相机的位置和定向的所述跟踪中的失败、并且通过使用由所述移动深度相机所捕捉的当前深度图和从所述3D模型获得的至少一个先前深度图来重新计算所述移动深度相机的位置和定向来重新定位所述移动深度相机的重新定位引擎;
所述重新定位引擎被安排为从多个关键帧中寻找与所述当前深度图类似的关键帧,所述多个关键帧是由所述移动深度相机在先前收集的、各自具有相关联的相机位置和定向的深度图帧;或者
所述重新定位引擎被安排为通过以下任何项来寻找关键帧:使用几何估计过程来选择与当前帧具有类似的竖直和水平表面的安排和位置的关键帧;以及按照与所述移动深度相机的最后已知位置有关的次序来搜索所述多个关键帧。
5.如权利要求4所述的系统,其特征在于,所述重新定位引擎被安排为将随机决策树林应用到来自所述当前深度图和来自从所述环境的3D模型获得的多个先前深度图的小块以获得作为深度图的纹理特征的基元的直方图,并根据所述直方图选择与所述当前深度图类似的先前深度图。
6.一种游戏系统,包括移动深度相机和用于跟踪移动深度相机的如权利要求4所述的实时相机重新定位系统,所述深度相机和所述实时相机重新定位系统被安排为以每秒至少20帧操作,所述游戏系统被安排为与所述移动深度相机的所述跟踪有关地影响游戏的过程。
CN201210021582.2A 2011-01-31 2012-01-31 使用深度图进行移动相机定位 Active CN102609942B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/017,474 US8711206B2 (en) 2011-01-31 2011-01-31 Mobile camera localization using depth maps
US13/017,474 2011-01-31

Publications (2)

Publication Number Publication Date
CN102609942A CN102609942A (zh) 2012-07-25
CN102609942B true CN102609942B (zh) 2015-12-02

Family

ID=46527288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210021582.2A Active CN102609942B (zh) 2011-01-31 2012-01-31 使用深度图进行移动相机定位

Country Status (9)

Country Link
US (1) US8711206B2 (zh)
EP (1) EP2671384B1 (zh)
JP (1) JP5881743B2 (zh)
KR (1) KR101896131B1 (zh)
CN (1) CN102609942B (zh)
AR (1) AR084952A1 (zh)
HK (1) HK1171853A1 (zh)
TW (1) TWI467494B (zh)
WO (1) WO2012106068A2 (zh)

Families Citing this family (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8506404B2 (en) * 2007-05-07 2013-08-13 Samsung Electronics Co., Ltd. Wireless gaming method and wireless gaming-enabled mobile terminal
US8503720B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Human body pose estimation
US9772394B2 (en) 2010-04-21 2017-09-26 Faro Technologies, Inc. Method and apparatus for following an operator and locking onto a retroreflector with a laser tracker
US8942917B2 (en) 2011-02-14 2015-01-27 Microsoft Corporation Change invariant scene recognition by an agent
US10972680B2 (en) * 2011-03-10 2021-04-06 Microsoft Technology Licensing, Llc Theme-based augmentation of photorepresentative view
DE112012001708B4 (de) 2011-04-15 2018-05-09 Faro Technologies, Inc. Koordinatenmessgerät
US9686532B2 (en) 2011-04-15 2017-06-20 Faro Technologies, Inc. System and method of acquiring three-dimensional coordinates using multiple coordinate measurement devices
US9482529B2 (en) 2011-04-15 2016-11-01 Faro Technologies, Inc. Three-dimensional coordinate scanner and method of operation
US8760499B2 (en) * 2011-04-29 2014-06-24 Austin Russell Three-dimensional imager and projection device
US20120293613A1 (en) * 2011-05-17 2012-11-22 Occipital, Inc. System and method for capturing and editing panoramic images
KR101366860B1 (ko) * 2011-09-20 2014-02-21 엘지전자 주식회사 이동 로봇 및 이의 제어 방법
US8831337B2 (en) * 2011-11-11 2014-09-09 Texas Instruments Incorporated Method, system and computer program product for identifying locations of detected objects
US20130155048A1 (en) * 2011-12-14 2013-06-20 Advanced Micro Devices, Inc. Three-dimensional graphics construction and user interface
DE102012201193B3 (de) * 2012-01-27 2013-06-13 Sirona Dental Systems Gmbh Verfahren und Referenzmodell zur Überprüfung eines Vermessungssystems
US10600235B2 (en) 2012-02-23 2020-03-24 Charles D. Huston System and method for capturing and sharing a location based experience
US9536338B2 (en) * 2012-07-31 2017-01-03 Microsoft Technology Licensing, Llc Animating objects using the human body
KR101893788B1 (ko) * 2012-08-27 2018-08-31 삼성전자주식회사 다시점 카메라간 정합 장치 및 방법
US8633970B1 (en) * 2012-08-30 2014-01-21 Google Inc. Augmented reality with earth data
EP4221187A3 (en) 2012-09-10 2023-08-09 Aemass, Inc. Multi-dimensional data capture of an environment using plural devices
US10674135B2 (en) * 2012-10-17 2020-06-02 DotProduct LLC Handheld portable optical scanner and method of using
US9332243B2 (en) 2012-10-17 2016-05-03 DotProduct LLC Handheld portable optical scanner and method of using
DE102012112321B4 (de) 2012-12-14 2015-03-05 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
DE102012112322B4 (de) * 2012-12-14 2015-11-05 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Umgebung
DE202012104890U1 (de) 2012-12-14 2013-03-05 Faro Technologies, Inc. Vorrichtung zum optischen Abtasten und Vermessen einer Umgebung
CN103903219A (zh) * 2012-12-26 2014-07-02 联想(北京)有限公司 一种信息处理方法及系统
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
US9251590B2 (en) * 2013-01-24 2016-02-02 Microsoft Technology Licensing, Llc Camera pose estimation for 3D reconstruction
US9083960B2 (en) * 2013-01-30 2015-07-14 Qualcomm Incorporated Real-time 3D reconstruction with power efficient depth sensor usage
US9940553B2 (en) * 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US9142019B2 (en) * 2013-02-28 2015-09-22 Google Technology Holdings LLC System for 2D/3D spatial feature processing
US9398287B2 (en) * 2013-02-28 2016-07-19 Google Technology Holdings LLC Context-based depth sensor control
US9407837B2 (en) 2013-02-28 2016-08-02 Google Inc. Depth sensor using modulated light projector and image sensor with color and IR sensing
US20150002734A1 (en) 2013-07-01 2015-01-01 Motorola Mobility Llc Electronic Device with Modulated Light Flash Operation for Rolling Shutter Image Sensor
US20140240469A1 (en) * 2013-02-28 2014-08-28 Motorola Mobility Llc Electronic Device with Multiview Image Capture and Depth Sensing
US9025823B2 (en) 2013-03-12 2015-05-05 Qualcomm Incorporated Tracking texture rich objects using rank order filtering
US9041914B2 (en) 2013-03-15 2015-05-26 Faro Technologies, Inc. Three-dimensional coordinate scanner and method of operation
CN104103062A (zh) * 2013-04-08 2014-10-15 富士通株式会社 图像处理设备和图像处理方法
WO2014169238A1 (en) 2013-04-11 2014-10-16 Digimarc Corporation Methods for object recognition and related arrangements
US20140324400A1 (en) * 2013-04-30 2014-10-30 Marquette University Gesture-Based Visualization System for Biomedical Imaging and Scientific Datasets
EP2800055A1 (en) * 2013-04-30 2014-11-05 3DDynamics Bvba Method and system for generating a 3D model
US9674507B2 (en) * 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
US9367960B2 (en) * 2013-05-22 2016-06-14 Microsoft Technology Licensing, Llc Body-locked placement of augmented reality objects
WO2014204330A1 (en) * 2013-06-17 2014-12-24 3Divi Company Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
CN105339981B (zh) * 2013-06-19 2019-04-12 三菱电机株式会社 用于使用一组基元配准数据的方法
US9965893B2 (en) * 2013-06-25 2018-05-08 Google Llc. Curvature-driven normal interpolation for shading applications
KR102137264B1 (ko) * 2013-07-09 2020-07-24 삼성전자주식회사 카메라 포즈 추정 장치 및 방법
US9286717B2 (en) * 2013-07-30 2016-03-15 Hewlett-Packard Development Company, L.P. 3D modeling motion parameters
US9646384B2 (en) 2013-09-11 2017-05-09 Google Technology Holdings LLC 3D feature descriptors with camera pose information
CA2888943C (en) * 2013-10-03 2015-08-18 Sulon Technologies Inc. Augmented reality system and method for positioning and mapping
CN104574349B (zh) * 2013-11-14 2017-04-12 广东朗呈医疗器械科技有限公司 恢复相机位置的方法
US9489765B2 (en) * 2013-11-18 2016-11-08 Nant Holdings Ip, Llc Silhouette-based object and texture alignment, systems and methods
US9336440B2 (en) * 2013-11-25 2016-05-10 Qualcomm Incorporated Power efficient use of a depth sensor on a mobile device
US9432636B2 (en) * 2013-11-26 2016-08-30 Microsoft Technology Licensing, Llc Large-scale surface reconstruction that is robust against tracking and mapping errors
US9747680B2 (en) 2013-11-27 2017-08-29 Industrial Technology Research Institute Inspection apparatus, method, and computer program product for machine vision inspection
CN103677211B (zh) * 2013-12-09 2016-07-06 华为软件技术有限公司 实现增强现实应用的装置及方法
JP6329642B2 (ja) 2013-12-10 2018-05-23 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd センサ融合
US9303999B2 (en) * 2013-12-30 2016-04-05 Google Technology Holdings LLC Methods and systems for determining estimation of motion of a device
TWI530909B (zh) 2013-12-31 2016-04-21 財團法人工業技術研究院 影像合成系統及方法
CN106105192B (zh) * 2014-01-03 2021-05-18 英特尔公司 通过深度相机的实时3d重建
CN103745498B (zh) * 2014-01-16 2017-01-04 中国科学院自动化研究所 一种基于图像的快速定位方法
KR102209008B1 (ko) 2014-02-17 2021-01-28 삼성전자주식회사 카메라 포즈 추정 장치 및 카메라 포즈 추정 방법
US9626766B2 (en) * 2014-02-28 2017-04-18 Microsoft Technology Licensing, Llc Depth sensing using an RGB camera
US9158971B2 (en) * 2014-03-03 2015-10-13 Xerox Corporation Self-learning object detectors for unlabeled videos using multi-task learning
US20150332464A1 (en) * 2014-05-19 2015-11-19 Occipital, Inc. Methods for automatic registration of 3d image data
US9613298B2 (en) 2014-06-02 2017-04-04 Microsoft Technology Licensing, Llc Tracking using sensor data
US9311565B2 (en) * 2014-06-16 2016-04-12 Sony Corporation 3D scanning with depth cameras using mesh sculpting
US9373190B2 (en) 2014-07-09 2016-06-21 Google Inc. High-quality stereo reconstruction featuring depth map alignment and outlier identification
CN105447886A (zh) * 2014-08-26 2016-03-30 上海云罡同汇视觉艺术设计有限公司 动感影院播放控制方法
JP2016045874A (ja) * 2014-08-26 2016-04-04 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
EP3428766B1 (en) * 2014-09-05 2021-04-07 SZ DJI Technology Co., Ltd. Multi-sensor environmental mapping
WO2016033795A1 (en) 2014-09-05 2016-03-10 SZ DJI Technology Co., Ltd. Velocity control for an unmanned aerial vehicle
JP6278539B2 (ja) 2014-09-05 2018-02-14 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 状況に基づく飛行モード選択
JP6220323B2 (ja) * 2014-09-05 2017-10-25 株式会社東芝 オブジェクト検索装置およびその検索方法
US9773155B2 (en) * 2014-10-14 2017-09-26 Microsoft Technology Licensing, Llc Depth from time of flight camera
TWI552597B (zh) * 2014-11-12 2016-10-01 觸動創意股份有限公司 行動無線環物攝影之系統及其方法
US9792521B2 (en) * 2014-12-26 2017-10-17 Here Global B.V. Extracting feature geometries for localization of a device
EP3040941B1 (en) * 2014-12-29 2017-08-02 Dassault Systèmes Method for calibrating a depth camera
WO2016118499A1 (en) 2015-01-19 2016-07-28 The Regents Of The University Of Michigan Visual localization within lidar maps
WO2016118344A1 (en) * 2015-01-20 2016-07-28 Microsoft Technology Licensing, Llc Fixed size augmented reality objects
US9779512B2 (en) * 2015-01-29 2017-10-03 Microsoft Technology Licensing, Llc Automatic generation of virtual materials from real-world materials
US9684831B2 (en) * 2015-02-18 2017-06-20 Qualcomm Incorporated Adaptive edge-like feature selection during object detection
US9852543B2 (en) 2015-03-27 2017-12-26 Snap Inc. Automated three dimensional model generation
EP3198350B1 (en) * 2015-03-31 2021-11-10 SZ DJI Technology Co., Ltd. System and method for mobile platform operation
EP3078935A1 (en) * 2015-04-10 2016-10-12 The European Atomic Energy Community (EURATOM), represented by the European Commission Method and device for real-time mapping and localization
US9984519B2 (en) * 2015-04-10 2018-05-29 Google Llc Method and system for optical user recognition
US9964402B2 (en) * 2015-04-24 2018-05-08 Faro Technologies, Inc. Two-camera triangulation scanner with detachable coupling mechanism
US10529076B2 (en) 2015-05-14 2020-01-07 Sony Corporation Image processing apparatus and image processing method
GB2538751A (en) * 2015-05-27 2016-11-30 Imp College Of Science Tech And Medicine Modelling a three-dimensional space
JP6570327B2 (ja) 2015-06-05 2019-09-04 キヤノン株式会社 制御装置、撮像装置、制御方法、プログラム、および、記憶媒体
KR102114969B1 (ko) 2015-06-08 2020-06-08 삼성전자주식회사 광학 장치 및 깊이 정보 생성 방법
EP3106912A1 (en) * 2015-06-17 2016-12-21 Thomson Licensing An apparatus and a method for obtaining a registration error map representing a level of fuzziness of an image
US20160379405A1 (en) * 2015-06-26 2016-12-29 Jim S Baca Technologies for generating computer models, devices, systems, and methods utilizing the same
KR101835434B1 (ko) 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
WO2017007166A1 (ko) * 2015-07-08 2017-01-12 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US9738399B2 (en) * 2015-07-29 2017-08-22 Hon Hai Precision Industry Co., Ltd. Unmanned aerial vehicle control method and unmanned aerial vehicle using same
EP3998455A1 (en) * 2015-08-03 2022-05-18 TomTom Global Content B.V. Methods and systems for generating and using localisation reference data
CN106528398B (zh) * 2015-09-15 2019-09-06 网易(杭州)网络有限公司 游戏软件性能的可视分析方法
CN105204808B (zh) * 2015-09-25 2018-09-04 小米科技有限责任公司 图片的投射方法、装置及终端设备
CN105352508A (zh) * 2015-10-22 2016-02-24 深圳创想未来机器人有限公司 机器人定位导航方法及装置
US10580198B2 (en) * 2015-11-16 2020-03-03 Nvidia Corporation System and method for optimized sparse volume rendering
US10341633B2 (en) * 2015-11-20 2019-07-02 Qualcomm Incorporated Systems and methods for correcting erroneous depth information
US10220172B2 (en) 2015-11-25 2019-03-05 Resmed Limited Methods and systems for providing interface components for respiratory therapy
US11010956B2 (en) * 2015-12-09 2021-05-18 Imagination Technologies Limited Foveated rendering
US20170171525A1 (en) 2015-12-14 2017-06-15 Sony Corporation Electronic system including image processing unit for reconstructing 3d surfaces and iterative triangulation method
US9996933B2 (en) 2015-12-22 2018-06-12 Qualcomm Incorporated Methods and apparatus for outlier detection and correction of structured light depth maps
US10372968B2 (en) 2016-01-22 2019-08-06 Qualcomm Incorporated Object-focused active three-dimensional reconstruction
CN106997582A (zh) * 2016-01-22 2017-08-01 北京三星通信技术研究有限公司 飞行时间三维传感器的运动模糊消除方法和设备
US10229502B2 (en) 2016-02-03 2019-03-12 Microsoft Technology Licensing, Llc Temporal time-of-flight
US10257505B2 (en) 2016-02-08 2019-04-09 Microsoft Technology Licensing, Llc Optimized object scanning using sensor fusion
US10482681B2 (en) 2016-02-09 2019-11-19 Intel Corporation Recognition-based object segmentation of a 3-dimensional image
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
US11232583B2 (en) * 2016-03-25 2022-01-25 Samsung Electronics Co., Ltd. Device for and method of determining a pose of a camera
US11017610B2 (en) 2016-05-18 2021-05-25 Google Llc System and method for fault detection and recovery for concurrent odometry and mapping
US10802147B2 (en) * 2016-05-18 2020-10-13 Google Llc System and method for concurrent odometry and mapping
US10890600B2 (en) 2016-05-18 2021-01-12 Google Llc Real-time visual-inertial motion tracking fault detection
CN106095773B (zh) * 2016-05-19 2019-04-23 西安电子科技大学 基于最短联合路径的深度图上采样方法
US10237531B2 (en) 2016-06-22 2019-03-19 Microsoft Technology Licensing, Llc Discontinuity-aware reprojection
US10129523B2 (en) 2016-06-22 2018-11-13 Microsoft Technology Licensing, Llc Depth-aware reprojection
US10573018B2 (en) * 2016-07-13 2020-02-25 Intel Corporation Three dimensional scene reconstruction based on contextual analysis
KR102529120B1 (ko) 2016-07-15 2023-05-08 삼성전자주식회사 영상을 획득하는 방법, 디바이스 및 기록매체
JP2018014579A (ja) * 2016-07-20 2018-01-25 株式会社日立製作所 カメラトラッキング装置および方法
CA3032812A1 (en) 2016-08-04 2018-02-08 Reification Inc. Methods for simultaneous localization and mapping (slam) and related apparatus and systems
KR102606785B1 (ko) * 2016-08-30 2023-11-29 스냅 인코포레이티드 동시 로컬화 및 매핑을 위한 시스템 및 방법
US10447998B2 (en) 2016-09-30 2019-10-15 Intel Corporation Power efficient long range depth sensing
US11195132B2 (en) * 2016-10-31 2021-12-07 International Business Machines Corporation System, method and computer program product for characterizing object status and determining a maintenance schedule
US11042161B2 (en) 2016-11-16 2021-06-22 Symbol Technologies, Llc Navigation control method and apparatus in a mobile automation system
EP3343502B1 (en) * 2016-12-28 2019-02-20 Dassault Systèmes Depth sensor noise
US10552981B2 (en) 2017-01-16 2020-02-04 Shapetrace Inc. Depth camera 3D pose estimation using 3D CAD models
US10843068B2 (en) * 2017-01-18 2020-11-24 Xvisio Technology Corp. 6DoF inside-out tracking game controller
US10535156B2 (en) * 2017-02-03 2020-01-14 Microsoft Technology Licensing, Llc Scene reconstruction from bursts of image data
CN106940186B (zh) * 2017-02-16 2019-09-24 华中科技大学 一种机器人自主定位与导航方法及系统
KR102309297B1 (ko) * 2017-03-31 2021-10-06 엘지전자 주식회사 단말기 및 그 제어 방법
CN107440712A (zh) * 2017-04-13 2017-12-08 浙江工业大学 一种基于深度感应器的脑电信号电极采集方法
US11367092B2 (en) * 2017-05-01 2022-06-21 Symbol Technologies, Llc Method and apparatus for extracting and processing price text from an image set
US10949798B2 (en) 2017-05-01 2021-03-16 Symbol Technologies, Llc Multimodal localization and mapping for a mobile automation apparatus
US10726273B2 (en) 2017-05-01 2020-07-28 Symbol Technologies, Llc Method and apparatus for shelf feature and object placement detection from shelf images
US11449059B2 (en) 2017-05-01 2022-09-20 Symbol Technologies, Llc Obstacle detection for a mobile automation apparatus
US11093896B2 (en) 2017-05-01 2021-08-17 Symbol Technologies, Llc Product status detection system
DE112018002314T5 (de) 2017-05-01 2020-01-23 Symbol Technologies, Llc Verfahren und vorrichtung zur erkennung eines objektstatus
US10621737B2 (en) * 2017-05-04 2020-04-14 Mim Software Inc. System and method for predictive fusion
WO2018201423A1 (en) 2017-05-05 2018-11-08 Symbol Technologies, Llc Method and apparatus for detecting and interpreting price label text
CN107123142B (zh) * 2017-05-09 2020-05-01 北京京东尚科信息技术有限公司 位姿估计方法和装置
US10325409B2 (en) 2017-06-16 2019-06-18 Microsoft Technology Licensing, Llc Object holographic augmentation
WO2019006189A1 (en) 2017-06-29 2019-01-03 Open Space Labs, Inc. AUTOMATED SPACE INDEXING OF IMAGES BASED ON MASS PLAN CHARACTERISTICS
CN108605081B (zh) * 2017-07-18 2020-09-01 杭州他若信息科技有限公司 智能目标追踪
US11364637B2 (en) 2017-07-18 2022-06-21 Hangzhou Taro Positioning Technology Co., Ltd. Intelligent object tracking
CN109308678B (zh) * 2017-07-28 2023-10-27 株式会社理光 利用全景图像进行重定位的方法、装置及设备
US20200218279A1 (en) * 2017-08-30 2020-07-09 Qualcomm Incorporated Robust Navigation of a Robotic Vehicle
CN107767417B (zh) * 2017-09-11 2021-06-25 广州慧玥文化传播有限公司 基于特征点确定mr头显设备输出的虚拟景象的方法及系统
US10296798B2 (en) * 2017-09-14 2019-05-21 Ncku Research And Development Foundation System and method of selecting a keyframe for iterative closest point
KR102671902B1 (ko) * 2017-09-22 2024-06-03 에스케이텔레콤 주식회사 지도 생성 장치 및 방법
US10839547B2 (en) * 2017-09-28 2020-11-17 Samsung Electronics Co., Ltd. Camera pose determination and tracking
EP3692336B1 (en) 2017-10-06 2022-05-18 Qualcomm Incorporated Simultaneous relocation and reinitialization of vslam
US10921127B2 (en) 2017-11-02 2021-02-16 Sony Corporation Augmented reality based electronic device to provide location tagging assistance in an indoor or outdoor area
CN107886129B (zh) * 2017-11-13 2021-06-08 湖南大学 一种基于视觉词袋的移动机器人地图闭环检测方法
US11300856B2 (en) 2017-11-29 2022-04-12 Tactacam LLC Camera mount system
CN109328456B (zh) * 2017-11-30 2020-10-16 深圳配天智能技术研究院有限公司 一种拍摄装置及拍摄位置寻优的方法
WO2019126665A1 (en) 2017-12-22 2019-06-27 Magic Leap, Inc. Viewpoint dependent brick selection for fast volumetric reconstruction
US10698413B2 (en) 2017-12-28 2020-06-30 Savioke Inc. Apparatus, system, and method for mobile robot relocalization
US10885659B2 (en) 2018-01-15 2021-01-05 Samsung Electronics Co., Ltd. Object pose estimating method and apparatus
CN108537876B (zh) * 2018-03-05 2020-10-16 清华-伯克利深圳学院筹备办公室 三维重建方法、装置、设备及存储介质
US10572002B2 (en) * 2018-03-13 2020-02-25 Facebook Technologies, Llc Distributed artificial reality system with contextualized hand tracking
US10528133B2 (en) 2018-03-13 2020-01-07 Facebook Technologies, Llc Bracelet in a distributed artificial reality system
CN108398787B (zh) * 2018-03-20 2023-05-16 京东方科技集团股份有限公司 增强现实显示设备、方法和增强现实眼镜
CN110314377B (zh) * 2018-03-28 2022-10-28 苏宁易购集团股份有限公司 三维空间中物体移动路径随机生成方法和装置
US10823572B2 (en) 2018-04-05 2020-11-03 Symbol Technologies, Llc Method, system and apparatus for generating navigational data
US10740911B2 (en) * 2018-04-05 2020-08-11 Symbol Technologies, Llc Method, system and apparatus for correcting translucency artifacts in data representing a support structure
US11327504B2 (en) 2018-04-05 2022-05-10 Symbol Technologies, Llc Method, system and apparatus for mobile automation apparatus localization
US10832436B2 (en) 2018-04-05 2020-11-10 Symbol Technologies, Llc Method, system and apparatus for recovering label positions
US10809078B2 (en) 2018-04-05 2020-10-20 Symbol Technologies, Llc Method, system and apparatus for dynamic path generation
CN110415329B (zh) 2018-04-26 2023-10-13 财团法人工业技术研究院 三维建模装置及应用于其的校准方法
CN109272021B (zh) * 2018-08-22 2022-03-04 广东工业大学 一种基于宽度学习的智能移动机器人导航方法
KR102682524B1 (ko) 2018-09-11 2024-07-08 삼성전자주식회사 증강 현실에서 가상 객체를 표시하기 위한 측위 방법 및 장치
US11506483B2 (en) 2018-10-05 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for support structure depth determination
US11010920B2 (en) 2018-10-05 2021-05-18 Zebra Technologies Corporation Method, system and apparatus for object detection in point clouds
US10944959B2 (en) 2018-11-12 2021-03-09 Open Space Labs, Inc. Automated spatial indexing of images to video
US11090811B2 (en) 2018-11-13 2021-08-17 Zebra Technologies Corporation Method and apparatus for labeling of support structures
US11003188B2 (en) 2018-11-13 2021-05-11 Zebra Technologies Corporation Method, system and apparatus for obstacle handling in navigational path generation
US11416000B2 (en) 2018-12-07 2022-08-16 Zebra Technologies Corporation Method and apparatus for navigational ray tracing
US11079240B2 (en) 2018-12-07 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for adaptive particle filter localization
US11100303B2 (en) 2018-12-10 2021-08-24 Zebra Technologies Corporation Method, system and apparatus for auxiliary label detection and association
US11015938B2 (en) 2018-12-12 2021-05-25 Zebra Technologies Corporation Method, system and apparatus for navigational assistance
US10731970B2 (en) 2018-12-13 2020-08-04 Zebra Technologies Corporation Method, system and apparatus for support structure detection
CN111368860B (zh) * 2018-12-25 2024-04-26 深圳市优必选科技有限公司 重定位方法及终端设备
CA3028708A1 (en) 2018-12-28 2020-06-28 Zih Corp. Method, system and apparatus for dynamic loop closure in mapping trajectories
JP7019731B2 (ja) * 2019-01-30 2022-02-15 バイドゥ ドットコム タイムス テクノロジー (ベイジン) カンパニー リミテッド 自動運転車のためのリアルタイム地図生成システム
WO2020154965A1 (en) 2019-01-30 2020-08-06 Baidu.Com Times Technology (Beijing) Co., Ltd. A real-time map generation system for autonomous vehicles
US11238604B1 (en) 2019-03-05 2022-02-01 Apple Inc. Densifying sparse depth maps
WO2020202163A1 (en) * 2019-04-02 2020-10-08 Buildots Ltd. Determining position of an image capture device
CN110188809B (zh) * 2019-05-22 2021-04-06 浙江大学 一种基于图像分块的回环检测方法
US11402846B2 (en) 2019-06-03 2022-08-02 Zebra Technologies Corporation Method, system and apparatus for mitigating data capture light leakage
US11662739B2 (en) 2019-06-03 2023-05-30 Zebra Technologies Corporation Method, system and apparatus for adaptive ceiling-based localization
US11080566B2 (en) 2019-06-03 2021-08-03 Zebra Technologies Corporation Method, system and apparatus for gap detection in support structures with peg regions
US11200677B2 (en) 2019-06-03 2021-12-14 Zebra Technologies Corporation Method, system and apparatus for shelf edge detection
US11151743B2 (en) 2019-06-03 2021-10-19 Zebra Technologies Corporation Method, system and apparatus for end of aisle detection
US11341663B2 (en) 2019-06-03 2022-05-24 Zebra Technologies Corporation Method, system and apparatus for detecting support structure obstructions
US11960286B2 (en) 2019-06-03 2024-04-16 Zebra Technologies Corporation Method, system and apparatus for dynamic task sequencing
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
FI3795798T3 (fi) * 2019-09-20 2023-12-14 Sandvik Mining & Construction Oy Liikkuvan koneen paikannus maanalaisella työmaalla
US11275453B1 (en) 2019-09-30 2022-03-15 Snap Inc. Smart ring for manipulating virtual objects displayed by a wearable device
CN111724439B (zh) * 2019-11-29 2024-05-17 中国科学院上海微系统与信息技术研究所 一种动态场景下的视觉定位方法及装置
US11507103B2 (en) 2019-12-04 2022-11-22 Zebra Technologies Corporation Method, system and apparatus for localization-based historical obstacle handling
US11107238B2 (en) 2019-12-13 2021-08-31 Zebra Technologies Corporation Method, system and apparatus for detecting item facings
CN111340707B (zh) * 2020-02-27 2023-07-14 创新奇智(重庆)科技有限公司 基于关键帧的图像拼接系统及拼接方法
WO2021173850A1 (en) * 2020-02-27 2021-09-02 Magic Leap, Inc. Cross reality system for large scale environment reconstruction
US11822333B2 (en) 2020-03-30 2023-11-21 Zebra Technologies Corporation Method, system and apparatus for data capture illumination control
US11277597B1 (en) 2020-03-31 2022-03-15 Snap Inc. Marker-based guided AR experience
US11798429B1 (en) 2020-05-04 2023-10-24 Snap Inc. Virtual tutorials for musical instruments with finger tracking in augmented reality
US11520399B2 (en) 2020-05-26 2022-12-06 Snap Inc. Interactive augmented reality experiences using positional tracking
KR102298098B1 (ko) * 2020-05-29 2021-09-03 이화여자대학교 산학협력단 Rgb-d 카메라의 트래킹을 통한 3d 모델의 생성 방법 및 장치
US11436812B2 (en) 2020-05-29 2022-09-06 Open Space Labs, Inc. Machine learning based object identification using scaled diagram and three-dimensional model
US11450024B2 (en) 2020-07-17 2022-09-20 Zebra Technologies Corporation Mixed depth object detection
US11508080B2 (en) 2020-09-15 2022-11-22 Toyota Research Institute, Inc. Systems and methods for generic visual odometry using learned features via neural camera models
US11615544B2 (en) 2020-09-15 2023-03-28 Toyota Research Institute, Inc. Systems and methods for end-to-end map building from a video sequence using neural camera models
US11321862B2 (en) 2020-09-15 2022-05-03 Toyota Research Institute, Inc. Systems and methods for multi-camera modeling with neural camera networks
US11494927B2 (en) 2020-09-15 2022-11-08 Toyota Research Institute, Inc. Systems and methods for self-supervised depth estimation
US11925863B2 (en) 2020-09-18 2024-03-12 Snap Inc. Tracking hand gestures for interactive game control in augmented reality
KR102472568B1 (ko) * 2020-10-15 2022-12-01 한국전자기술연구원 포즈 정보와 뎁스 정보를 기초로 증강 현실을 제공하기 위한 3차원 맵을 구성하기 위한 장치 및 이를 위한 방법
KR102392606B1 (ko) 2020-10-20 2022-04-29 (주)심스리얼리티 실내 혼합현실 매칭 시스템
US11593915B2 (en) 2020-10-21 2023-02-28 Zebra Technologies Corporation Parallax-tolerant panoramic image generation
US11392891B2 (en) 2020-11-03 2022-07-19 Zebra Technologies Corporation Item placement detection and optimization in material handling systems
US11847832B2 (en) 2020-11-11 2023-12-19 Zebra Technologies Corporation Object classification for autonomous navigation systems
CN116724285A (zh) 2020-12-29 2023-09-08 美国斯耐普公司 用于控制虚拟和图形元素的微手势
KR20230124077A (ko) 2020-12-30 2023-08-24 스냅 인코포레이티드 증강 현실 정밀 추적 및 디스플레이
US11740313B2 (en) * 2020-12-30 2023-08-29 Snap Inc. Augmented reality precision tracking and display
US11710272B2 (en) * 2021-03-24 2023-07-25 Disney Enterprises, Inc. Volumetric representation of digital objects from depth renderings
CN115147536B (zh) * 2021-03-31 2024-07-12 四川大学 基于层级位姿图优化的实时室内三维重建方法
KR20230170086A (ko) 2021-04-19 2023-12-18 스냅 인코포레이티드 가상 및 그래픽 엘리먼트들을 애니메이팅하고 제어하기 위한 손 제스처
US11954882B2 (en) 2021-06-17 2024-04-09 Zebra Technologies Corporation Feature-based georegistration for mobile computing devices
WO2024063589A1 (en) * 2022-09-23 2024-03-28 Samsung Electronics Co., Ltd. System and method for intelligent user localization in metaverse
US20240169673A1 (en) * 2022-11-21 2024-05-23 Samsung Electronics Co., Ltd. Mesh transformation with efficient depth reconstruction and filtering in passthrough augmented reality (ar) systems
KR102663992B1 (ko) * 2024-01-22 2024-05-10 주식회사 딥핑소스 비디오 분석을 통해 사람의 행동을 검출하는 딥러닝 기반의 행동 검출 모델을 학습하는 방법 및 테스트하는 방법, 그리고, 이를 이용한 학습 장치 및 테스트 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101305401A (zh) * 2005-11-14 2008-11-12 微软公司 用于游戏的立体视频

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696591A (en) 1996-01-05 1997-12-09 Eastman Kodak Company Apparatus and method for detecting longitudinally oriented flaws in a moving web
US6504569B1 (en) 1998-04-22 2003-01-07 Grass Valley (U.S.), Inc. 2-D extended image generation from 3-D data extracted from a video sequence
US20010008561A1 (en) 1999-08-10 2001-07-19 Paul George V. Real-time object tracking system
JP3593466B2 (ja) * 1999-01-21 2004-11-24 日本電信電話株式会社 仮想視点画像生成方法およびその装置
US20040075738A1 (en) 1999-05-12 2004-04-22 Sean Burke Spherical surveillance system architecture
US6587783B2 (en) 2000-10-05 2003-07-01 Siemens Corporate Research, Inc. Method and system for computer assisted localization, site navigation, and data navigation
US6735387B1 (en) 2001-01-10 2004-05-11 Tim Schnell Motion detector camera
US6940538B2 (en) 2001-08-29 2005-09-06 Sony Corporation Extracting a depth map from known camera and model tracking data
US7023432B2 (en) 2001-09-24 2006-04-04 Geomagic, Inc. Methods, apparatus and computer program products that reconstruct surfaces from data point sets
US7145478B2 (en) 2002-12-17 2006-12-05 Evolution Robotics, Inc. Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system
US7620218B2 (en) * 2006-08-11 2009-11-17 Fotonation Ireland Limited Real-time face tracking with reference images
WO2005036371A2 (en) 2003-10-09 2005-04-21 Honda Motor Co., Ltd. Moving object detection using low illumination depth capable computer vision
US8134637B2 (en) 2004-01-28 2012-03-13 Microsoft Corporation Method and system to increase X-Y resolution in a depth (Z) camera using red, blue, green (RGB) sensing
US7831094B2 (en) 2004-04-27 2010-11-09 Honda Motor Co., Ltd. Simultaneous localization and mapping using multiple view feature descriptors
US7697748B2 (en) 2004-07-06 2010-04-13 Dimsdale Engineering, Llc Method and apparatus for high resolution 3D imaging as a function of camera position, camera trajectory and range
US7944454B2 (en) 2005-09-07 2011-05-17 Fuji Xerox Co., Ltd. System and method for user monitoring interface of 3-D video streams from multiple cameras
JP4777433B2 (ja) 2005-10-27 2011-09-21 エヌイーシー ラボラトリーズ アメリカ インク ビデオ前景の分割方法
US8577538B2 (en) * 2006-07-14 2013-11-05 Irobot Corporation Method and system for controlling a remote vehicle
US7539557B2 (en) 2005-12-30 2009-05-26 Irobot Corporation Autonomous mobile robot
US20070188501A1 (en) * 2006-01-30 2007-08-16 Yee Yangli H Graphical computer simulation system and method
US9348463B2 (en) 2006-08-03 2016-05-24 New York University Retroreflection based multitouch sensor, method and program
US8351646B2 (en) 2006-12-21 2013-01-08 Honda Motor Co., Ltd. Human pose estimation and tracking using label assignment
US7627447B2 (en) 2007-01-23 2009-12-01 The Boeing Company Method and apparatus for localizing and mapping the position of a set of points on a digital model
JP5380789B2 (ja) 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8368753B2 (en) * 2008-03-17 2013-02-05 Sony Computer Entertainment America Llc Controller with an integrated depth camera
US9189886B2 (en) 2008-08-15 2015-11-17 Brown University Method and apparatus for estimating body shape
JP5094663B2 (ja) * 2008-09-24 2012-12-12 キヤノン株式会社 位置姿勢推定用モデル生成装置、位置姿勢算出装置、画像処理装置及びそれらの方法
US9245382B2 (en) 2008-10-04 2016-01-26 Microsoft Technology Licensing, Llc User-guided surface reconstruction
US8610706B2 (en) 2008-10-04 2013-12-17 Microsoft Corporation Parallel surface reconstruction
US8855819B2 (en) 2008-10-09 2014-10-07 Samsung Electronics Co., Ltd. Method and apparatus for simultaneous localization and mapping of robot
US9600067B2 (en) 2008-10-27 2017-03-21 Sri International System and method for generating a mixed reality environment
KR101030317B1 (ko) * 2008-12-10 2011-04-19 재단법인대구경북과학기술원 스테레오 비전을 이용하여 장애물을 추적하는 장치 및 방법
JP5820276B2 (ja) * 2009-02-17 2015-11-24 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 3d画像及びグラフィカル・データの結合
JP5388932B2 (ja) * 2009-04-30 2014-01-15 キヤノン株式会社 情報処理装置およびその制御方法
US9377857B2 (en) 2009-05-01 2016-06-28 Microsoft Technology Licensing, Llc Show body position
US8503720B2 (en) 2009-05-01 2013-08-06 Microsoft Corporation Human body pose estimation
US8379101B2 (en) 2009-05-29 2013-02-19 Microsoft Corporation Environment and/or target segmentation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101305401A (zh) * 2005-11-14 2008-11-12 微软公司 用于游戏的立体视频

Also Published As

Publication number Publication date
US20120194644A1 (en) 2012-08-02
JP2014511591A (ja) 2014-05-15
HK1171853A1 (zh) 2013-04-05
AR084952A1 (es) 2013-07-10
WO2012106068A3 (en) 2012-10-18
JP5881743B2 (ja) 2016-03-09
TWI467494B (zh) 2015-01-01
KR20140000315A (ko) 2014-01-02
CN102609942A (zh) 2012-07-25
WO2012106068A2 (en) 2012-08-09
TW201234278A (en) 2012-08-16
EP2671384A2 (en) 2013-12-11
KR101896131B1 (ko) 2018-09-07
US8711206B2 (en) 2014-04-29
EP2671384A4 (en) 2014-07-30
EP2671384B1 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
CN102609942B (zh) 使用深度图进行移动相机定位
CN102622762B (zh) 使用深度图的实时相机跟踪
US11900536B2 (en) Visual-inertial positional awareness for autonomous and non-autonomous tracking
CN107564012B (zh) 面向未知环境的增强现实方法及装置
CN105164726B (zh) 用于3d重构的相机姿态估计
CN102681661B (zh) 在玩游戏中使用三维环境模型
CN109084746A (zh) 用于具有辅助传感器的自主平台引导系统的单目模式
CN102622776B (zh) 三维环境重构
CN103703758B (zh) 移动增强现实系统
CN109084732A (zh) 定位与导航方法、装置及处理设备
CN108051002A (zh) 基于惯性测量辅助视觉的运输车空间定位方法及系统
CN105378796A (zh) 可伸缩体积3d重构
CN105190703A (zh) 使用光度立体来进行3d环境建模
CN108700946A (zh) 用于并行测距和建图的故障检测和恢复的系统和方法
CN109255749A (zh) 自主和非自主平台中的地图构建优化
KR102540594B1 (ko) 단일 이미지로부터의 횡단 가능 공간 판정
US12047674B2 (en) System for generating a three-dimensional scene of a physical environment
Hokmabadi Shaped-based IMU/Camera Tightly Coupled Object-level SLAM using Rao-Blackwellized Particle Filtering.
Peter Crowd-sourced reconstruction of building interiors

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1171853

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1171853

Country of ref document: HK