CN105408937B - 用于便于计算机视觉应用程序初始化的方法 - Google Patents

用于便于计算机视觉应用程序初始化的方法 Download PDF

Info

Publication number
CN105408937B
CN105408937B CN201480024026.8A CN201480024026A CN105408937B CN 105408937 B CN105408937 B CN 105408937B CN 201480024026 A CN201480024026 A CN 201480024026A CN 105408937 B CN105408937 B CN 105408937B
Authority
CN
China
Prior art keywords
camera
instruction
image
moving direction
posture
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
CN201480024026.8A
Other languages
English (en)
Other versions
CN105408937A (zh
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105408937A publication Critical patent/CN105408937A/zh
Application granted granted Critical
Publication of CN105408937B publication Critical patent/CN105408937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Manufacturing & Machinery (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Studio Devices (AREA)
  • Television Signal Processing For Recording (AREA)
  • Image Analysis (AREA)
  • Position Input By Displaying (AREA)

Abstract

所揭示的实施例涉及用于在包括相机和显示器的用户装置UD上初始化计算机视觉CV应用程序的***、方法和设备。在一些实施例中,可以基于初始相机姿势和估计的枢转距离来确定用于初始化计算机视觉CV应用程序的最优相机轨迹。举例来说,可以基于所述相机俘获的第一图像来估计所述初始相机姿势。此外,可以用所述相机的期望移动方向的指示来实时地更新所述显示器。在一些实施例中,所述期望移动方向的指示可以部分地基于当前相机姿势和所述最优轨迹,其中可以基于所述相机俘获的当前图像来估计所述当前相机姿势。

Description

用于便于计算机视觉应用程序初始化的方法
相关申请案的交叉引用
本申请案主张2014年5月2日提交的名称为“用于便于计算机视觉应用程序初始化的方法(Methods for Facilitating Computer Vision Application Initialization)”的第14/268,784号美国申请案的益处和优先权,所述申请案主张2013年5月2日提交的“用于便于计算机视觉应用程序初始化的方法(Methods for Facilitating Computer VisionApplication Initialization)”的第61/818,894号美国临时申请案和2013年9月30日提交的“用于便于计算机视觉应用程序初始化的方法(Methods for Facilitating ComputerVision Application Initialization)”的第61/884,845号美国临时申请案的益处和优先权。以上指出的美国专利申请案的全文以引用的方式并入本文中。
技术领域
本文所揭示的主题总体上涉及计算机视觉,并且具体来说,涉及用于初始化计算机视觉应用程序的方法。
背景技术
增强现实***和机器人导航中使用同时定位与绘图(SLAM)从环境或场景中建构目标。视觉SLAM(VSLAM)使用相机或视觉传感器数据或图像作为输入来建构环境的目标或模型。当结合增强现实(AR)***使用VSLAM时,可以将虚拟对象***到用户的现实世界的视图中并且在用户装置上显示。
具有单个相机的利用VSLAM的追踪***可以从单个相机俘获的两个分开的参考图像中初始化3D目标。用于基于两个参考图像对3D目标的VSLAM初始化的传统技术可能要求用户在两个参考图像之间执行特定的非直观相机运动序列,同时维持来自这两个图像的场景之间的充分重叠。3D重构方法使用所述运动序列在环境中找到实际平面并且从这个平面初始化3D目标。
虽然创建准确且高品质的SLAM图谱依赖于稳固的初始化过程,但是SLAM初始化程序对于最终用户的可用性往往被忽略。因此,需要改进VSLAM初始化的用户体验的***、方法和界面。
发明内容
根据一些方面,揭示一种在包括相机和显示器的用户装置(UD)上的方法。在一些实施例中,所述方法可包括:基于初始相机姿势和估计的枢转距离来确定用于初始化计算机视觉(CV)应用程序的最优相机轨迹,所述初始相机姿势是基于所述相机俘获的第一图像估计的;以及用用于所述相机的期望移动方向的指示来实时地更新所述显示器,所述期望移动方向的指示部分地是基于当前相机姿势和所述最优轨迹,所述当前相机姿势是基于所述相机俘获的当前图像估计的。
在另一方面,一种用户装置(UD)可包括:图像传感器,所述图像传感器用以俘获图像序列;显示器;以及处理器,其耦合到所述图像传感器和所述显示器。在一些实施例中,所述处理器可经配置以:基于初始图像传感器姿势和估计的枢转距离来确定用于初始化计算机视觉(CV)应用程序的最优图像传感器轨迹,所述初始图像传感器姿势是基于所述图像传感器俘获的第一图像估计的;以及用用于所述图像传感器的期望移动方向的指示来实时地更新所述显示器,所述期望移动方向的指示部分地是基于当前图像传感器姿势和所述最优轨迹,所述当前图像传感器姿势是基于所述图像传感器俘获的当前图像估计的。
在另一方面,一种设备可包括:图像俘获装置,所述图像俘获装置用以俘获图像序列;显示装置;用于基于所述图像俘获装置的初始姿势和估计枢转距离确定用于初始化计算机视觉(CV)应用程序的所述图像俘获装置的最优轨迹的装置,所述图像俘获装置的所述初始姿势是基于所述图像俘获装置俘获的第一图像估计的;以及用于用所述图像俘获装置的期望移动方向的指示来实时地更新所述显示装置的装置,所述期望移动方向的指示部分地是基于所述图像俘获装置的当前姿势和所述最优轨迹,所述图像俘获装置的所述当前姿势是基于所述图像俘获装置俘获的当前图像估计的。
此外,所揭示实施例还涉及一种包括指令的计算机可读媒体,所述指令在由处理器执行时在包括相机和显示器的用户装置(UD)上执行方法,其中所述方法可包括:基于初始相机姿势和估计的枢转距离来确定用于初始化计算机视觉(CV)应用程序的最优相机轨迹,所述初始相机姿势是基于所述相机俘获的第一图像估计的;以及用用于所述相机的期望移动方向的指示来实时地更新所述显示器,所述期望移动方向的指示部分地是基于当前相机姿势和所述最优轨迹,所述当前相机姿势是基于所述相机俘获的当前图像估计的。
所揭示的实施例还涉及由处理器使用计算机可读媒体或计算机可读存储器创建、存储、存取或修改的软件、固件和程序指令。所描述的方法可在处理器及各种用户装置上执行。
下文关于以下各图进一步解释这些及其它实施例。应理解,对于所属领域的技术人员来说,其它方面将从以下详细描述变得容易显而易见,其中借助于说明展示及描述各个方面。图式及详细描述应被视为本质上是说明性的而不是限制性的。
附图说明
将参看图式仅通过实例方式来描述本发明的实施例。
图1展示示范性用户装置的框图。
图2A和2B展示为了便于SLAM/VSLAM初始化的相机的示范性运动。
图3A-3C展示以与所揭示的实施例一致的方式使用2D屏幕对准UI元素提供SLAM初始化运动序列的指示的示范性GUI的视图。
图4A-4B展示以与所揭示的实施例一致的方式使用3D屏幕对准UI元素提供SLAM初始化运动序列的指示的示范性GUI的视图。
图5A-5C展示以与所揭示的实施例一致的方式使用3D屏幕对准UI元素提供SLAM初始化运动序列的指示的示范性GUI的视图。
图6A和6B展示以与所揭示的实施例一致的方式使用3D屏幕对准UI元素提供SLAM初始化运动序列的指示的示范性GUI的视图。
图7展示以与所揭示的实施例一致的方式使用3D世界对准UI元素提供运动序列的指示的示范性GUI的实施例。
图8A和8B展示以与所揭示的实施例一致的方式使用对准UI元素的2.5-D表示的GUI的示范性实施方案。
图9展示以与所揭示的实施例一致的方式使用2.5-D表示来选择富含特征的位置以便进行初始化和/或防止使用不佳位置进行初始化的GUI的示范性实施方案。
图10A和10B展示用于以与所揭示的实施例一致的方式执行SLAM/VSLAM初始化的示范性方法的流程图。
图11展示用于以与所揭示的实施例一致的方式执行SLAM/VSLAM初始化的示范性方法1100的流程图。
具体实施方式
以下结合附图而陈述的详细描述希望作为对本发明的各个方面的描述,而不希望表示其中可实践本发明的仅有方面。本发明中所描述的每一方面仅作为本发明的实例或说明提供,且不应必需被解释为比其它方面优选或有利。为了提供对本发明的透彻理解,详细描述包含具体细节。然而,所属领域的技术人员将明白,可在没有这些具体细节的情况下实践本发明。在一些例子中,以框图的形式展示众所周知的结构和装置以便避免混淆本发明的概念。首字母缩写词和其它描述性术语可仅出于方便和清楚的目的而使用,且不希望限制本发明的范围。
如本文所使用,用户装置可以采用能够执行追踪初始化和运行AR以及其它计算机视觉(CV)应用程序的示范性用户装置(UD)100和/或其它用户设备的形式。在一些实施例中,UD 100可以采用移动台或移动装置的形式,例如蜂窝式电话、移动电话或其它无线通信装置、个人通信***(PCS)装置、个人导航装置(PND)、个人信息管理器(PIM)、个人数字助理(PDA)、平板计算机、手持式计算装置、膝上型计算机或能够接收无线通信和/或导航信号的其它适合的移动装置。在一些实施例中,UD 100可以采用可穿戴计算装置的形式,所述可穿戴计算装置可以包含与可穿戴头戴装置配对的显示装置和/或相机的形式。举例来说,所述头戴装置可以包含头戴式显示器(HMD),其可以用于显示实况和/或现实世界图像。在一些实施例中,所述实况图像上可以覆盖着一或多个虚拟对象。
“用户装置”这个术语还用于指例如通过短程无线、红外线、有线连接或其它连接与个人导航装置(PND)通信的装置,不管卫星信号接收、辅助数据接收和/或位置相关处理是在装置处还是在PND处发生。并且,“用户装置”希望包含所有能够例如经由因特网、Wi-Fi或其它网络与服务器通信的装置,包含无线通信装置、计算机、膝上型计算机等。上述各者的任何可操作的组合也被视为“用户装置”。本文所揭示的实施例可以用于独立的用户装置中,例如用于不需要与另一装置通信的装置中。
术语“用户装置”还希望包含可未经配置以无线地或经由有线连接而连接到网络或以其它方式与另一装置通信的游戏或其它装置。例如,“用户装置”可省略通信元件和/或联网功能性。例如,本文中描述的实施例可在未被配置成连接以用于与另一装置进行有线或无线联网的独立装置中实施。
如本文所使用的计算机视觉应用程序这个术语是指与图像的采集、处理、分析和理解有关的一类应用程序。CV应用程序包含(但不限于)绘图、建模(包含3D建模)、导航、增强现实应用程序,以及其中处理从图像传感器采集的图像以建构图谱、模型和/或从捕捉的图像推导/表示关于环境的构造信息的多种其它应用程序。在许多CV应用程序中,在初始化步骤中可以使用与捕捉的图像有关的几何信息来建构图谱或模型。因此,模型的质量可以取决于初始化期间的相机移动轨迹和/或捕捉的图像的位置。在一些情况下,CV应用程序可能偏好用户在初始化期间遵循特定的移动或运动序列。
此外,SLAM这个术语用于指一类技术,其中在追踪用户装置相对于图谱的姿势的同时,创建例如正被建模的环境的所述图谱的一个环境的图谱。用户装置的姿势是指用户装置相对于图像或参考帧的位置及定向。SLAM技术包含视觉SLAM(VLSAM),其中由单一(单眼)相机(例如用户装置上的相机)俘获的图像可以用于在创建环境的图谱的同时追踪所述相机相对于所述图谱的姿势。VSLAM因此可以涉及在追踪相机的6DOF姿势的同时还确定周围环境的3-D结构。例如,在一些实施例中,VSLAM技术可检测一或多个所俘获图像帧中的突出特征小片且将所俘获的成像帧存储为关键帧或参考帧。接着可以例如通过将当前俘获的图像帧与一或多个关键帧比较来确定相机的姿势。
在利用SLAM/VSLAM或其它CV应用程序之前,通常执行初始化过程。举例来说,可以在对象追踪和更广泛的图谱建构之前初始化SLAM图谱。有几种执行这个初始化的方式,但是所述方法可以分类成基于目标的初始化技术和无目标的初始化技术。基于目标的技术假设场景中存在已知对象,而无目标的方法可以用任意场景起作用。虽然本文中论述例如SLAM/VSLAM的特定示范性应用程序,但是本文所揭示的实施例总体上涉及CV应用程序、程序和/或功能的初始化。举例来说,可以针对AR应用程序(例如游戏应用程序)执行初始化,这通常取决于稳固且易懂的追踪。
通常,无目标初始化技术是基于执行相机序列以使得初始化过程收敛。举例来说,当相机在从不同视点观测同一场景的轨迹中移动由此产生观测一组共同特征点的两个视图之间的适当基线时,有利于无目标初始化。通常,无目标方法中的相机运动序列有利于从不同视点的场景观测,以便创建观测一组共同点的两个视图之间的适当重叠。然而,因为相机运动序列是不自然的并且对于新用户是不直观的,所以相机可以旋转或移动,而并不持续观测场景对象的任何子组,由此得到视图之间的联合地观测到的点的较小基线,或者得到小于最优数目的具有充分基线的观测到的点。基线是指在计算机视觉(CV)和多视图几何(MVG)算法中创建视差,以便能够在两个视图之间进行三角测量。MVG是指使用几何原理,包含对极、投影和仿射几何,以从环境的图像或视图确定环境的3D结构。
此外,虽然传统的VSLAM初始化需要反直觉的相机运动序列,但是常规方法中并未提供用户反馈。因此,用户对于运动序列的需要和尝试执行相机运动序列感到困惑。在用户接收到任何信息的程度上,在常规方法中,所述信息迄今为止是事后的,并且限于3D场景的简单外向视图和/或迭代重构。例如并行追踪与绘图(PTAM)的一些技术可以显示检测到的特征点的踪迹,但是此反馈是非直观的,并且不可供普通装置用户用来执行初始化相机运动序列。
因此,所揭示实施例(可以与AR应用程序无缝集成)有利于确定相机运动序列和/或最优相机轨迹以便于适合于用户和追踪器两者的初始化。此外,所揭示实施例还可提供当前相机轨迹的质量量度/分数,并且交互式引导用户进行相机运动序列的执行,其引导方式是通过提供关于相机运动执行的反馈,包含对于运动校正的反馈。通过便于稳固且用户友好的初始化,所揭示实施例提高了可接入性、减少了用户的时间和工作量,并且准许更优的AR体验。
图1展示了示范性UD 100的框图。如图1中所示,UD 100可以包含相机110、惯性测量单元(IMU)130、处理器150、存储器160和/或收发器170,其可以通过连接120以操作方式耦合。连接120可包括总线、线路、光纤、链路等或其某一组合。
收发器170可(例如)包含经启用以通过一或多种类型的无线通信网络发射一或多个信号的发射器,及接收通过所述一或多种类型的无线通信网络发射的一或多个信号的接收器。收发器110可便于基于多种技术与无线网络通信,所述技术例如(但不限于)Wi-Fi网络或无线局域网(WLAN)(其可基于IEEE 802.11x族标准);无线个域网(WPAN),例如蓝牙、近场通信(NFC)等(其可基于IEEE 802.15x族标准);和/或无线广域网(WWAN),例如LTE、WiMAX等。
WWAN可为码分多址(CDMA)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、正交频分多址(OFDMA)网络、单载波频分多址(SC-FDMA)网络、长期演进(LTE)、WiMax等等。此外,UD 100还可包含用于经由有线网络进行通信的一或多个端口。在一些实施例中,可省略用户装置100上的收发器170和/或一或多个其它端口。CDMA网络可实施一或多种无线电接入技术(RAT),例如cdma2000、宽带CDMA(W-CDMA)等。Cdma2000包含IS-95、IS-2000和IS-856标准。TDMA网络可以实施全球移动通信***(GSM)、数字高级移动电话***(D-AMPS)或某一其它RAT。GSM、W-CDMA及LTE描述于来自名为“第三代合作伙伴计划”(3GPP)的协会的文献中。Cdma2000描述于来自名为“第三代合作伙伴计划2”(3GPP2)的协会的文献中。3GPP和3GPP2文献是可公开获得的。
UD 100还可从一或多个地球轨道航天器(SV)接收信号,SV可以是卫星定位***(SPS)的一部分。SV例如可以在全球导航卫星***(GNSS)群集中,例如美国全球定位***(GPS)、欧洲伽利略***、俄罗斯格洛纳斯***或中国的指南针或北斗***,和/或区域卫星***和/或基于卫星的增强***。
在一些实施例中,UD 100可包括例如CCD或CMOS传感器等一或多个图像传感器和/或相机110,其在下文称为“相机110”。相机110可将光学图像转换为电子或数字图像且可将所俘获图像发送到处理器150。总的来说,相机110可以是色彩或灰度相机,其提供“色彩信息”。如本文所使用的术语“色彩信息”是指色彩和/或灰度信息。总的来说,如本文所使用,色彩图像或色彩信息可以看作包括1到N个通道,其中N是取决于用于存储图像的色彩空间的某个整数。举例来说,RGB图像包括三个通道,红色、蓝色和绿色信息各一个通道。在一些实施例中,相机110可为可穿戴相机,其可操作性地耦合到UD 100中的其它功能单元但与其分开收容。
在一些实施例中,相机110可包含前置和/或后置相机,并且还可并入有CMOS和其它视觉传感器。在一个实施例中,前置相机在装置的正常用户操作期间可面向用户,而后置相机在装置的正常操作期间可背向用户。在一些实施例中,相机110可能能够俘获静态图像与视频图像两者。举例来说,相机110可以用每秒30帧(fps)的帧速率俘获视频图像。在一个实施例中,由相机110俘获的图像可使用原始的未经压缩格式且可在经处理和/或存储在存储器160中之前压缩。在一些实施例中,可由处理器150使用无损或有损压缩技术来执行图像压缩。
在一些实施例中,UD 100还可包含显示器或屏幕170,其可以用于显示相机110俘获的实况图像、AR图像、图形用户界面(GUI)、程序输出等。在一些实施例中,可以使用液晶显示器(LCD)显示器或其变体、发光二极管(LED)显示器(例如有机LED(OLED)显示器或其变体)或抬头显示器来实施显示器170。在一些实施例中,显示器170可为可穿戴显示器,例如HMD,其可操作性地耦合到UD 100中的其它功能单元但与其分开收容。
图1中并未展示UD 100中所包括的所有模块。还可以各种方式用与本发明一致的方式来修改示范性用户装置100,例如通过添加、组合或省略所展示的功能块中的一或多者。举例来说,在一些配置中,用户装置100可能不包含发射器170。此外,在某些实例实施方案中,用户装置100可以包含多种其它传感器(未图示),例如环境光传感器、超声波传感器等。在一些实施例中,UD 100可以包含有线或无线端口以准许在外部显示器上显示图像。在一些实施例中,UD 100可以包含惯性测量单元(IMU),其可包括3轴加速计、3轴陀螺仪和/或磁力计。IMU 130可将速度、定向和/或其它位置相关信息提供给处理器150。在一些实施例中,IMU 130可与通过相机110俘获每一图像帧同步地输出测量到的信息。在一些实施例中,IMU 130的输出可部分由处理器150使用以确定相机110和/或UD 100的姿势。在一些实施例中,用户装置100的一些部分可采取一或多个芯片组和/或类似物的形式。
可使用硬件、固件及软件的组合来实施处理器150。处理器150可以代表一或多个电路,所述电路可配置以执行与文本检测和追踪相关的计算程序或过程的至少一部分,并且可以从存储器160检索指令和/或数据。处理器150可实施于一或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器、嵌入式处理器核心、电子装置、经设计以执行本文中所描述的功能的其它电子单元,或其组合内。在一些实施例中,处理器150可包括CV应用程序初始化模块155,其可以提供与CV应用程序初始化相关的功能性。
可在处理器150内和/或在处理器150外部实施存储器160。如本文所使用,术语“存储器”是指任何类型的长期、短期、易失性、非易失性或其它存储器,且不应限于任何特定类型的存储器或任何特定数目个存储器或上面存储有存储器的任何特定类型的物理媒体。在一些实施例中,存储器160可以保存代码和/或数据以便于图像处理、执行CV/MVG算法(包含CV应用程序初始化)、SLAM/VSLAM方法和处理器150执行的其它任务。举例来说,存储器160可保存数据、所俘获的静态图像、视频帧、程序结果以及由多个传感器提供的数据。一般来说,存储器160可表示任何数据存储机构。存储器160可包含(例如)主存储器和/或辅助存储器。主存储器可包含(例如)随机存取存储器、只读存储器等。虽然在图1中说明为与处理器150分离,但应理解,主存储器的全部或部分可提供于处理器150内或以其它方式与处理器150位于同一地点和/或耦合到处理器150。
辅助存储器可包含(例如)与主存储器相同或类似类型的存储器和/或一或多个数据存储装置或***,例如闪存/USB存储器驱动器、存储卡驱动器、磁盘驱动器、光盘驱动器、磁带驱动器、固态存储器驱动器等。在某些实施方案中,辅助存储器可操作地接纳非暂时性计算机可读媒体或以其它方式可配置以在耦合到用户装置100的可装卸媒体驱动器(未图示)中耦合到非暂时性计算机可读媒体。在一些实施例中,非暂时性计算机可读媒体可形成存储器160和/或处理器150的一部分。
用户装置100还可包含用以处理通过相机110俘获的图像的软件。举例来说,处理器150可能能够使用相机110俘获的一或多个图像来执行CV/MVG程序、运行程序以检测图像中的特征、执行图像对齐和运行AR程序。在许多增强现实(AR)应用程序中,例如,可以在实况相机视图上叠加一或多个虚拟对象。虚拟对象的准确对齐可以在渲染虚拟对象时确保虚拟对象在实况视频图像中的正确放置。对齐、图像对齐或图像对准是指将不同数据集变换和/或集成到单个坐标系中的过程。
当执行AR应用程序时,例如,处理器150可将虚拟对象放置到实况相机视图中且可在所俘获图像中旋转和/或位移虚拟对象以对应于相机的姿势。相机的姿势是指相机相对于图像或参考帧的位置及定向。在一些实施例中,可以使用图像中的一或多个特征来确定用户装置和/或相机相对于图像的姿势。在一些实施例中,可部分地基于来自IMU130的输入来确定或校正相机110相对于图像的姿势。在一些实施例中,可以使用相机110的已知内部参数和特性(例如镜头的焦距、相机焦距等)结合IMU和/或来自其它传感器的输入以辅助和/或优化相机姿势确定。
在使用单个相机的单眼SLAM***中,可以使用已知相机姿势在两个帧之间对例如点或线的特征进行三角测量。可以追踪初始参考目标和/或通过使用两个帧之间的对极几何来估计相对运动,借此获得相机姿势。对极几何涉及从两个相异的相机位置查看的3D点及其在2D图像上的投影之间的几何关系,可以使用对极几何来确定图像点之间的约束。
为了估计两个帧之间的相对运动,使用一组点对应性或类似特征,并且所述两个帧之间的充分重叠有利于可靠地建立对应性。此外,通过两个相机中心与3D点之间的恰当大的三角测量角,有利于在两个帧中的对应点或特征之间进行准确的三角测量。为了便于获得特征点对应性,使用和/或调用基于SLAM的技术的许多CV应用程序向用户提供显式初始化步骤。在一些实施例中,可以至少部分通过CV应用程序初始化模块155执行CV应用程序初始化。
举例来说,可以手动地选择初始关键帧,同时***可以使用特征追踪算法来追踪当前视频帧中的对应性,所述特征追踪算法例如是Kanade-Lucas-Tomasi(KLT)算法、其变体或任何其它适合的特征对应技术。可以例如在第一适合的所俘获视频帧与当前视频帧之间确定对应性。同时,所述***可以估计对极几何并且对场景中的3D点进行三角测量。如果成功的话,就用这组3D点初始化所述***,并且追踪和绘图使用这个初始图谱继续。其它相关方法使相对运动估计质量的某个量度最大化。在一些实施例中,可以通过硬件、软件和/或固件的某一组合来实施CV应用程序初始化模块155。
图2A和2B展示UD 100上的相机110的用于便于CV应用程序初始化的示范性运动,所述CV应用程序初始化可包括SLAM/VSLAM初始化。
如图2A中所示,当UD 100上的相机110(图2A中未图示)围绕一个目标或对象旋转(称为枢转)时,可以便于SLAM初始化200。如本文所使用的枢转运动序列220是指在一段枢转距离230之***绕对象轴线210的大概圆形的移动。可以例如通过在圆中移动相机同时查看放置在中心的对象来实现枢转移动序列220。以上实例中的枢转距离230是圆的半径。
在枢转运动序列220期间,可以在显示器170上显示相机110俘获的图像。此外,在枢转运动序列期间,所有特征点可以持续保持在视图中,并且可以追踪到所有特征点,并且到枢转运动序列结束为止,通常会达到大基线。
如图2B中所示,当相机110在侧向平移运动序列260中移动时也便于SLAM初始化250,这还便于追踪。在侧向平移运动序列期间,可以在显示器170上显示相机110俘获的图像。此外,在侧向平移运动序列260期间,到侧向平移运动序列结束为止,许多初始特征点将仍然在视图中,尤其是在基线不是太大的时候。
虽然如图2A和2B分别所示的枢转运动序列220和平移运动序列260两者都可用于SLAM初始化,但是枢转运动序列解释起来相对更复杂,而且执行起来可能涉及更大的灵巧性。另一方面,侧向的平移运动序列让用户执行起来更简单,同时给追踪器提供充分的信息。
通常,新用户可能难以遵循上述轨迹中的一或多者,并且可能在移动相机110的时候不在持续地观测任何场景对象子组。初始化SLAM***时,不正确的或执行不当的运动序列可能会导致失败。因此,所描述的实施例可以使得能够确定相机运动序列,以便于对用户和追踪器两者都适合的初始化。在一些实施例中,还可提供当前相机轨迹的质量量度/分数。在一些实施例中,可以进一步交互式引导用户遵循用于初始化的期望轨迹。
在一些实施例中,在初始化过程期间,为了确定装置的当前姿势/轨迹和/或提供关于当前和/或期望轨迹的反馈,CV应用程序初始化模块155可以接收来自追踪***的输入,其在初始化SLAM***之前提供对相机110在初始起始帧和具有6DOF的当前视频帧之间的相对运动(例如3D平移和旋转)的粗略估计。举例来说,在一个实施例中,可至少部分通过处理第一参考图像和使用初始估计深度计算一组提取兴趣点,来使用从第一参考图像(例如第一图像,例如相机110俘获的初始化图像)的即时或快速相机追踪。举例来说,对于3D目标,可以在3D目标的数据集中填满基于估计深度的来自第一单个参考图像的所有兴趣点的深度和位置。在一个实施例中,在第一关键帧中检测的所有点可以设置成与相机中心相距一段单位距离。在相机姿势相对于3D目标变化时,可以校正深度的任何误差。举例来说,追踪***可以自动选择场景(例如3D图谱)的一些部分(例如兴趣点),可以在给定相机110的观测到的运动的情况下更新所述部分。在另一实施例中,相对运动的估计可以部分基于IMU130提供的额外输入。因此,追踪***可以从第一参考图像继续提供对相机110的持续追踪。追踪***和其它方面例如描述于A.穆罗尼(A.Mulloni)、M.拉玛钱德安(M.Ramachandran)、G.雷玛意(G.Reitmayr)、D.瓦格纳(D.Wagner)、R.格拉赛特(R.Grasset)和S.迪亚兹(S.Diaz)的“用户友好的SLAM初始化(User friendly SLAM initialization)”,2013年IEEE混合和增强现实国际研讨会(ISMAR),153-162,2013年10月,该文的全文通过引用并入本文中。
可部分地使用对相机110的持续追踪以计算相机的当前姿势和/或确定相机110遵循的轨迹。举例来说,在一些实施例中,CV应用程序初始化模块155可以至少部分基于初始相机姿势、估计的当前相机轨迹和当前相机姿势来确定相机110要到达的期望的下一位置。此外,在一些实施例中,CV应用程序初始化模块155可以提供用户遵循的当前相机轨迹的质量量度/指标和/或质量分数。此外,在一些实施例中,CV应用程序初始化模块155可以使用显示器170提供交互式视觉显示,以引导用户校正当前轨迹,遵循期望轨迹和提供关于所遵循的轨迹的质量的交互式反馈。
在一些实施例中,CV应用程序初始化模块155(其可执行SLAM初始化)可包括两个组件,所述两个组件在一些情况下可以形成集成式应用程序的一部分。在一个实施例中,两个关键帧之间一形成充分基线就初始化SLAM图谱的追踪***可以形成单个组件。交互式促进相机运动序列的执行以提供一个区域中的充分基线从而为追踪***提供详情(例如富有特征的区域)的用户界面可以形成另一组件。
在一些实施例中,CV应用程序初始化模块155可以在给定UD 100的初始位置、其当前位置的情况下确定UD 100将要到达的期望的下一位置。在一些实施例中,CV应用程序初始化模块155可以进一步确定用户遵循的当前轨迹的质量分数。在一些实施例中,CV应用程序初始化模块155还可提供交互式视觉显示以引导用户校正当前轨迹和/或遵循期望的轨迹。
相机110相对于其初始位置的6自由度(6DOF)相对运动可以通过具有以下结构的4×4矩阵C描述:
其中R是3×3旋转矩阵,并且t=[tx ty tz]T是描述平移的3向量,并且上标“T”表示t的转置。
对于围绕在装置前方枢转距离为d>0的枢轴的旋转,对于最优轨迹的相机110的任何姿势均满足以下约束条件:
其中
基于以上公式,可以通过验证是否满足以下条件来确定姿势C是否为围绕期望枢轴的旋转:
t·(I-R)-1~D (3)
在一些实施例中,可以检验[t·(I-R)-1]-D的值以确定其是否属于一些预定约束内或某个所选值的范围内。
总的来说,可以基于多个准则选择枢转距离d。举例来说,枢转距离d可以选为任意值,前提是使得d>0(例如,d=1)。在一些实施例中,可以基于观测到的特征点离相机110和/或UD 100的平均距离来选择枢转距离d。在一些实施例中,枢转距离d可以选为高于某个固定阈值的任意大的值。当使用枢转距离d的较大值时,轨迹接近侧向平移。因此,可以通过选择枢转距离d的适当大的值来给侧向平移建模。
在给定以上公式的情况下,表示时间i的装置运动Ci的对数(log)的6维向量如下表达:
vi=log(Ci)=[tx ty tz rx ry rz] (4)
其中log(Ci)是表示为变换矩阵的SE(3)的Ci的对数,并且可以作为遵循相同期望轨迹/在相同期望轨迹上继续的递增运动获得轨迹上的期望的下一位置
其中α>0以确保前向运动。SE(3)这个项是指具有6自由度(6DoF)的6个参数的特殊欧几里得群(3),其中,如上所述,三个参数tx ty tz对应于3D平移向量,并且三个参数rxry rz对应于旋转向量。SE(3)群具有对应的李代数se(3),其基数是六个4×4矩阵,每一矩阵对应于沿每一轴线的无穷小旋转或无穷小平移。例如通过以上等式(4)指示的对数映射在李群与其对应的李代数之间变换要素。关于对数图谱的细节请参照乔斯-路易斯布兰克Jose-Luis Blanco的“SE(3)变换参数表示和流形优化教程(A tutorial on SE(3)transformation parameterizations and on-manifold optimization)”(技术报告#012010,2013年5月9日,ETSInformatica,Universidad de Malaga,Campus deTeatinos s/n-29071马拉加,西班牙),该文的全文以引用的方式并入本文中。
遵循当前轨迹将使相机110/UD 100进一步围绕枢轴移动,从而将场景保持在视图中以及将角度延伸到初始位置。因此,等式(5)可以用于确定相机110/UD 100的移动的最优和/或期望方向。
在一些实施例中,通过比较实际用户轨迹与期望轨迹,也可以使用比例因子α来计算最晚的用户执行的运动的质量量度Δvi+1。举例来说,Δvi+1可以由实际装置运动估计,并且将其与到目前为止建立的轨迹比较。
在一个实施例中,对于在相同方向上的运动,可以基于<vi,Δvi+1>的量值来确定质量量度(越大越好),其中<vi,Δvi+1>表示vi和Δvi+1的内积。在另一实施例中,质量量度可以基于向量vi&vi+1,之间的归一化的互相关(NCC)的程度,通过NCC(vi,Δvi+1)表达。在一个实施方案中,可以作为<vi,Δvi+1>的点积除以向量vi&vi+1的std偏差获得NCC(vi,Δvi+1)。举例来说,如果NCC(vi,Δvi+1)更接近1(即NCC值更接近1暗示运动质量更好),则可以考虑运动具有较高质量或者向其指派较好的质量量度。
在一些实施例中,可以通过UD 100上的显示器170交互地呈现基于枢转距离d、时间i的相机运动vi的对数和轨迹上的期望的下一位置Δvi+1的期望轨迹的用户移动的指令。此外,在一些实施例中,所述指令可以提供关于UD 100/相机110的预期或期望移动的持续反馈。在一些实施例中,GUI可以提供视觉显示,其指示UD 100/相机110的当前移动和/或UD100/相机110从初始化过程开始起的移动。在一些实施例中,交互式反馈可以提供关于时间和空间方面(例如,开始、结束、当前进程状态)的信息。在下文描述的实施例中,用于期望轨迹的用户移动的指令可以基于d、vi、Δvi+1,并且可以使用UD 100上的界面交互式地呈现给用户。
视觉引导可能更直观,因为可以在单个统一坐标帧中指示用户指令和运动。另一方面,使用屏幕显示器可能涉及更大的用户灵巧性和协调性,因为可能会在查看屏幕上所显示的图像的同时移动UD 100/相机110/显示器170。因此,在一些实施例中,可使用多种其它模式来提供反馈,例如音频或触觉(例如使用振动触觉致动器)。举例来说,可以使用语音命令和/或音频声音来提供反馈。在一些实施例中,当用户从最优轨迹偏离某一阈值时,UD100可以振动。举例来说,可以基于UD 100/相机110从最优轨迹的偏差程度来改变音量、频率和/或振动程度。在一些实施例中,除了显示器170上的视觉指示之外还可以提供音频和/或触觉反馈。在一些实施例中,所提供的反馈还可包含所执行的运动序列的质量指示,举例来说以文本或图画的形式。
在一些实施例中,可以使用GUI帮助用户交互式地执行侧向平移和/或枢转运动序列。在一些实施例中,可以使用多个GUI实施方案提供引导,例如(但不限于)屏幕对准2D引导、屏幕对准3D引导、世界对准3D引导等,下文进一步予以描述。
在一些实施例中,屏幕对准2D引导可以使用2D屏幕对准UI元素以提供运动序列的指示,同时解释运动序列并且交互式地引导用户。举例来说,在一个实施例中,当执行侧向平移运动序列时,可以使用水平面指示符或人工地平线来指示旋转程度,并且可以便于执行适当的平移运动。当用户向运动引入过多旋转时,水平面指示器发信号向用户表示这一点。
图3A-3C展示使用2D屏幕对准UI元素以提供SLAM初始化运动序列的指示的示范性GUI的视图。如图3A中所示,在一个实施方案中,可以在UD 100上的显示器170上展示2D屏幕对准光标317。在一些实施例中,显示器170可以同时展示相机110俘获的图像,并且光标317、327和337可以重叠在所显示图像上。应注意,在图3-7中,一些元素不是按比例绘制的,并且可能为了清楚起见而经放大。
在图3A中,在UD 100的初始位置310处,光标317可以是水平的,并且基于所确定的期望轨迹指向待执行的侧向平移运动的方向(例如光标的横轴可以与屏幕170的边缘对准)。在一些实施例中,可以通过靶心指示符315提供位置/轨迹的另一指示,靶心指示符315展示为位于圆的中心。在图3B中,在位置320处,如果已在一些容差准则内正确地执行了侧向平移运动,则光标327可以继续指向侧向平移运动的方向,并且靶心指示符325可以位于中心。另一方面,如图3C中所示,如果例如因为用户在位置330处旋转装置而不正确地执行了运动,则可以定向光标337使其指向与用户先前不正确的旋转运动相反的方向,并且靶心指示符335可以移出中心。
可使用多个其它2D屏幕对准UI元素作为光标/靶心的替代或补充。举例来说,可使用虚线、人工地平线等。在一些实施例中,可以在屏幕的一角或在另一不引人注目的位置显示UI元素。在一些实施例中,用户可能能够配置UI元素的类型、其在屏幕上的位置、色彩和一些效果,例如闪烁、音频/触觉效果等。在一些实施例中,可以使用音频语音/多媒体指令提供指令。举例来说,可以向用户提供语音指令以向右(或向左)移动,或者可以警告用户所述轨迹正在偏离期望轨迹和/或提供指令以校正当前轨迹。在一些实施例中,可以结合显示器170上的图形或图画警告来提供语音指令。在一些实施例中,调用初始化程序的初始化或AR应用程序可以在初始化期间具有UI元素的默认设置。
图4A-4B展示使用3D屏幕对准UI元素以提供SLAM初始化运动序列的指示的示范性GUI的视图。在一些实施例中,3D元素可以以便于基线创建的方式推进用户移动。基线在CV/MVG算法中创建视差以便使得两个视图之间能够进行三角测量。视差的结果是,一个视图中的场景的一些部分在另一视图中被遮挡。因此,可以利用视差推进基于参数d、vi、Δvi+1初始化SLAM轨迹所必需的平移或枢转移动。
在一个实施例中,通过以图形方式向用户传达以创建移动相机看到的场景遮挡的方式移动UD 100,可以获得用于SLAM初始化的期望运动。举例来说,在一个实施例中,可以指导用户看遮挡对象的后面,看虚拟钥孔里面,或使用另一将促进侧向平移移动的视差效果。
如图4A所示,可以在用于3D屏幕对准引导的示范性GUI中向用户展示虚线箭头447和钥孔450中的被遮挡对象445。如图4A所示,钥孔450靠近屏幕170的边缘。箭头447可以指示移动方向,并且用户可以使用UD 100执行侧向平移运动序列,使得如图4B所示,先前被遮挡的对象445现在作为钥孔455中的对象460完全可见,对象460现在在屏幕170上位于更中间的位置。
在另一实施例中,显示器170上的图像可以用使用从第一帧获得的近似姿势在不同深度处的两个对象增强。可以使这两个增强对象在第一视图中可供相机看见,并且可以使用3D场景对准GUI元素指示UD 100的移动方向,使得第一增强对象保持在视图中,而第二增强对象逐渐隐藏在第一增强对象后面(因为移动的缘故)。
在另一实施例中,显示器170上的图像可以用使用从第一帧获得的近似姿势在不同深度处的两个对象增强。第二增强对象可以隐藏在第一对象后面,即当初始化应用程序开始时,在初始相机视图中,第一增强对象遮挡着第二增强对象。可以使用3D场景对准GUI元素来指示UD 100的移动方向,使得第二增强对象逐渐可见,而使第一增强对象保持在视图中。
在一些实施例中,可以根据初始化追踪器报告的平均或中值基线角度来动态地增大和/或减小增强对象的比例。因此,取消遮挡或遮挡的程度可以与场景点的基线角度的量值成比例。对增强对象的动态缩放产生的遮挡/取消遮挡产生一种效果,借此如果增强对象在初始附近深度被渲染,而场景点离得更远,则增强对象从用户移开。因此,促进相对于真正场景深度的运动序列。
在另一实施例中,可以基于基线角度量在应用程序内提供刺激或反馈。举例来说,根据角度,可以增加增强对象的生动性(liveliness)。增强对象的交互性可以取决于执行的运动序列的方向。举例来说,通过以使得用户很可能执行枢转运动序列以看见增强对象的面部的方式显示增强对象,可以促进枢转运动序列。
图5A-5C展示使用3D屏幕对准UI元素以提供SLAM初始化运动序列的指示的示范性GUI的视图。如图5A中所示,可以使用显示器170在用于3D屏幕对准引导的另一GUI中向用户展示虚线箭头565。箭头565、575(图5B)和585(图5C)可以指示表示正确运动序列的“阴影”或“重影”迹线的移动方向。在一个实施例中,例如虚线箭头565、575和585的3D图形可以指示用于执行运动序列的方向。在图5B中,在位置520处,已在某个容差参数内正确地执行了运动,在这个位置,指示UD 100的运动的箭头577和指示进一步执行运动序列的正确方向的箭头575差不多是平行的。在图5C中,在位置530处,已不正确地执行运动,在这个位置,指示UD 100的正确运动方向的虚线箭头585和指示UD 100的运动的箭头587是分散的。在一些实施例中,可以基于质量量度用色彩标示箭头577和/或587,以指示用户执行的运动序列的质量。
图6A和6B展示使用3D屏幕对准UI元素以提供SLAM初始化运动序列的指示的示范性GUI的视图。如图6A中所示,展示一群鸟(图6A和6B中展示为三角形)689-1正在沿期望/最优轨迹移动;如果用户从所述轨迹分散,则可以修改这群鸟689-2的运动以引导用户遵循期望/最优轨迹。
图7展示使用3D世界对准UI元素以提供运动序列的指示的示范性GUI的实施例。在一些实施例中,可以展示嵌入在所述环境中的3D元素连同指向执行期望的运动序列的提示。举例来说,在一个实施方案中,如图7中所示,可以在UD 100上的显示器170上展示3D房子,并且有一个“看前门”的提示792和/或另一UI元素。在一些实施例中,所展示的房子的视角、提示792、UI元素793和795可以指示枢转运动序列,其诱导用户枢转UD 100,以便看见主门,同时使房子保持在视图中。
在另一实施例中,可以在桌子的另一侧上显示背朝用户的3D角色,使得为了看到角色的眼睛,调用围绕桌子的枢转运动序列。在另一实施例中,可使用应用程序的交互式菜单,例如可以先使用围绕桌子的枢转运动序列,然后才准许用户选择正确的菜单项。在另一实施例中,可以呈现一个微型游戏,其例如通过要求用户收集位于预先设计的轨迹上的不同的虚拟物品来提示运动。在一些实施例中,可以呈现小游戏,其主题对应于调用初始化例程的AR应用程序。
图8A和8B展示使用对准UI元素的2.5-D表示的GUI的示范性实施方案。2.5-D这个术语用于指在图像序列中模拟3-D外观的图形投影和/或其它技术。2.5-D表示可以便于最终用户的操作简单,同时准许展示合理数量的信息。此外,如图8A中所示,2.5DGUI可以准许水平或侧向平移运动序列和枢转运动序列的视觉显示。
在图8A和8B,GUI视图805中,界面展示表示为亮对象804的装置的初始位置和展示为暗对象807的装置的当前位置。应注意,指示装置的对象的色彩可以从暗变亮(或从第一色彩变成第二色彩)并且反之亦然,这取决于运动序列的执行。动画箭头809指示用户应当移动装置的方向。
在图8A中,GUI视图810、815和817展示了其中已正确地执行运动序列的图像序列,而在图8B中,GUI 850、855和857展示了其中已不正确地执行运动序列的图像序列。如图8A中所示,在GUI视图810中,UD 100的初始位置804通过亮对象展示,而UD 100的当前位置820通过暗对象展示。通过比较GUI视图805、810、815和817可以看出,UD 100/相机110已经在动画箭头809指示的方向上从其初始位置807移动到位置820、825和827。视觉显示中的对象的定向与装置的移动交互式地匹配。因此,在其中已正确地执行运动序列的GUI视图810、815和817中,位置820、825和827处的绿色对象是垂直的。
在图8B中,如其中已不正确地执行运动序列的GUI视图850中所示,在位置860处,展示暗对象以第一定向倾斜,因为旋转可能在一个容差水平内。在GUI视图855中,UD 100的旋转超出准许的容差,因此,在位置865处,对象的色彩已经改变并且倾斜度已经增加。最后,在GUI视图857中,消息870指示由于不正确地执行运动序列所以初始化发生故障。图8A和8B中展示的使用对准UI元素的2.5-D表示的GUI设计在旋转运动的情况下传达完整3自由度警告,并且对用户的运动校正作出交互式反应。
图9展示使用2.5-D表示以选择富含特征的位置进行初始化和/或防止使用不佳位置进行初始化的GUI的示范性实施方案。如图9中所展示,在GUI 970中,当UD 100上的相机110指向对于初始化而言不佳的位置时,增强的圆柱形对象980可以改变色彩(例如变成红色)。在GUI 975中,UD 100上的相机110指向对于初始化而言良好的位置,并且增强的圆柱形对象980可以变成不同色彩(例如变成绿色)。条982的色彩指示初始化完成并且可以运行AR应用程序的时候。在图4B中,展示增强的圆柱形对象以便说明GUI的运作。总的来说,可使用结束应用程序中使用的任何3D对象,例如3D角色或对象。
在一些实施例中,可以结合追踪***使用上述初始化技术,所述追踪***能够在对场景没有任何先验知识的情况下,使用来自单眼相机的图像序列提供即时或快速的实时6DOF追踪。下文提供能够结合以上初始化技术使用的示范性追踪***的额外细节。总的来说,可以配合SLAM/VSLAM或配合其它***使用初始化例程,所述其它***包含AR***或其它计算机视觉***、功能和/或应用程序,其中基础过程会使用用户相机移动。
追踪***可以通过下述方式工作:追踪来自初始关键帧的2D点,并且相对于初始关键帧针对每一连续帧联合地优化3D点位置和相对相机姿势(称为微光束平差法)。追踪***因而可能非常适合从应用程序启动直到SLAM/VSLAM***已经成功地初始化其图谱的姿势追踪。光束平差法是指根据涉及所有点的对应图像投影的优化准则对以下各项的同时改进:(i)描述一组描绘来自不同视点的多个3D点的图像中的场景几何形状的3D坐标,以及(ii)用于采集图像的相机的相对运动的参数。在光束平差法中,可以使观测到的图像点和预测图像点的图像位置之间的重新投影误差最小化。
在追踪***中,在第一关键帧中检测的所有点可以设置成与相机中心相距一段单位距离。随着相机移动,可以持续更新所有点的深度和相对姿势。点沿着源自第一相机中心并且穿过第一关键帧中的相应观测结果的光线前后移动。因此,可以仅仅估计每个点的单个参数,这样例如使得所述方法足够高效以在移动电话或UD 100上实时运行。针对每一相机帧,可以计算所有特征的三角测量角度。当一个特征超过某一角度阈值时,可以将其标记为稳固。一旦足够特征是稳固的,所述方法可以将当前相机帧提升为关键帧,并且使用所述两个关键帧来初始化图谱。
图10A和10B展示用于执行SLAM/VSLAM初始化的示范性方法的流程图1000。在一些实施例中,可以在包括相机110和屏幕170的用户装置(UD)100上执行方法1000。在一些实施例中,可以通过处理器150和/或CV应用程序初始化模块155执行方法1000的一些部分。在起始初始化后,在步骤1010中,即刻可以在UD屏幕170上显示实时交互图形用户界面(GUI)。接下来,在步骤1015中,可以获得相机110俘获的图像。
在步骤1020中,可以例如通过UD 100上的处理器150实时地确定相机俘获的图像对于SLAM初始化是否适合。举例来说,如果所俘获的图像富含特征,则可以确定图像是适合的。如果所俘获的图像缺乏特征,则可以拒绝所述图像因为其不适合。
在步骤1025中,如果所述图像是适合的(步骤1025中的“Y”),则在步骤1035中,显示器可以实时地交互式地更新以提供对适合性的指示。举例来说,图9中展示的圆柱形或另一虚拟对象980的色彩可以改变(例如变成绿色)。在步骤1025中,如果图像不适合(步骤1025中的“N”),则在步骤1030中,显示器可以实时地交互式地更新,以提供对图像不适合的指示,并且可以在步骤1015中开始另一迭代。举例来说,图9中展示的圆柱形或另一虚拟对象980的色彩可以改变(例如变成红色)并且在步骤1015处可以开始另一迭代。因此,可以使用图10A中的方法来确认图像对于SLAM初始化是否适合。在一些实施例中,图10A中的方法可以紧密地集成到用于SLAM初始化的应用程序中。
如果确定图像适合于初始化(步骤1025中的“Y”),则在步骤1040中,可以获得第一所俘获图像,并且在步骤1045中,可以更新枢转距离d的值。在一些实施例中,还可估计或假设初始相机位置。举例来说,可以基于对世界坐标框架的适当选择来选择初始相机位置。作为一实例,初始相机位置可以设置成身份姿势(其可以对应于空间坐标系),和/或可以基于加速计读数来选择(即空间帧的Z轴可以与测量到的垂直方向重合)。总的来说,可以用各种方式假设和/或估计初始相机姿势,而且不会影响到方法1000中的后续步骤。
此外,可以基于任意值更新值d,使得d>0(例如,d=1)。在一些实施例中,可以基于观测到的特征点离相机110和/或UD 100的平均距离来更新d。在一些实施例中,可以将d更新为高于某个固定阈值的任意大的值。当使用较大d值时,轨迹接近侧向平移。在一些实施例中,可以基于对其执行初始化的CV或AR应用程序中的用户设置或设置来选择d的值。举例来说,如果用户已经选择了平移运动序列来进行初始化,则可使用高于平移阈值的大的d值。
在步骤1050中,可以获得下一个相机俘获的图像i。接下来,在步骤1055中,可以针对下一个/当前图像i将vi确定为vi=[tx ty tz rx ry rz]。
在步骤1060中,可以确定值t·(I-R)-1,并且可以确定姿势C是否构成围绕期望枢轴的旋转,方法是通过验证[t·(I-R)-1-D]是否低于某一阈值。在一些实施例中,可以检验[t·(I-R)-1]-D的值以确定其是否属于一些预定约束内或某个所选值的范围内。如果所述值[t·(I-R)-1]-D不属于预定约束内,则可以向用户显示误差指示或适当的校正动作。在一些实施例中,可以作为当前轨迹的质量指示/量度的一部分提供误差指示或校正动作。
此外,在步骤1060中,可以测试其中,与上文一样,vi是基于实际轨迹,可以基于针对当前图像i确定的姿势来计算实际轨迹,并且是基于先前确定的最优轨迹,可以基于紧前一个帧来计算所述先前确定的最优轨迹。
在一些实施例中,在步骤1065中,针对当前轨迹确定质量量度。举例来说,接着将基于当前帧计算的相机姿势与前一帧中对最优轨迹的相机姿势预测比较。在一些实施例中,质量量度可以基于测试和/或测试[t·(I-R)-1]-D。此外,在一些实施例中,在步骤560中,可以基于当前姿势确定
在步骤1070中,可以实时地交互式地更新GUI以提供对下面各项的指示:(i)基于从当前所俘获图像i估计的当前相机姿势的用于CV/MVG应用程序/SLAM初始化的UD的期望移动方向,期望/计算的最优轨迹,其可以基于和/或(ii)当前相机轨迹的质量的指示,其可以基于测试和/或测试[t·(I-R)-1]-D可以部分地基于当前俘获的相机图像通过追踪器确定当前相机姿势。图3到8中展示的技术中的一或多者可以用于提供用于SLAM初始化的UD的期望移动方向的指示。在一些实施例中,可以用色彩标示在屏幕上增强的对象,以提供当前轨迹质量的指示。
在步骤1075中,如果已完成CV/MVG/SLAM初始化(步骤1075中的“Y”),则在步骤1080中,CV/MVG/SLAM过程可以开始。举例来说,如果已获得足够大的基线,则CV/MVG/SLAM过程可以在步骤1080中开始。否则,在步骤1050处开始下一个迭代。
虽然流程图1000说明用于SLAM/VSLAM初始化的程序,但是所述方法可以与其它多个其它绘图或计算机视觉功能、程序和/或应用程序一起使用。因此,SLAM初始化只是一个可能实施例,并且可以实施除了SLAM之外的实施例。类似地,虽然上文已经使用SLAM/VSLAM初始化作为示范性应用程序描述了图3-8,但是图3-8的相关描述中论述的过程和实施例可与其它多个其它绘图和/或计算机视觉功能、程序和/或应用程序一起使用。
图11展示用于以与所揭示的实施例一致的方式执行SLAM/VSLAM初始化的示范性方法1100的流程图。在一些实施例中,可以使用相机110和显示器170在UD 100上执行方法1100。
在步骤1110中,可以确定用于计算机视觉(CV)应用程序的初始化的最优相机轨迹。在一些实施例中,可以基于初始相机姿势和估计枢转距离来确定最优轨迹,其中可以基于相机110俘获的第一图像来估计初始相机姿势。在一些实施例中,可以将枢转距离确定为以下各项中的至少一者:任意正值;第一图像中的观测到的特征点的平均距离;或高于一个阈值的值,所述阈值在一些情况下可以是平移阈值。
在一些实施例中,在确定最优相机轨迹之前,可以部分地基于相机俘获的图像中的特征点的数目来确定相机俘获的图像对于初始化的适合性,并且当确定相机俘获的图像适合于初始化时,可以选择相机俘获的图像作为第一图像。在一些实施例中,在选择第一图像后,可以即刻提供第一图像对于初始化的适合性的指示,方法是通过用第一虚拟对象增强相机俘获的图像的显示。在一些实施例中,可以通过下面的方式来提供相机俘获的图像对于初始化的不适合性的指示:通过用第二虚拟对象增强相机俘获的图像的显示,和/或通过更改与第一虚拟对象相关联的所显示的视觉特性。可以通过在显示器170上显示的交互图形用户界面(GUI)来提供适合性或不适合性的指示。
接下来,在步骤1120中,可以用相机110/UD 100的期望移动方向的指示来实时地更新显示器170,并且期望移动方向的指示可以部分地基于当前相机姿势和最优轨迹,其中当前相机姿势是基于相机110俘获的当前图像估计的。在一些实施例中,可以部分地基于相机的当前轨迹与相机的最优轨迹的比较来获得相机的期望移动方向,相机的当前轨迹是由先前相机姿势序列确定的。在一些实施例中,可以进一步用相机的经更新的期望移动方向的指示序列来实时地更新显示器。举例来说,可以部分地基于与相机的进一步移动相关联的对应相机姿势来更新序列中的每一期望的移动方向。
在一些实施例中,移动方向的指示可以使用以下各项中的至少一者提供:屏幕对准2维(2D)引导方案,其包括2D屏幕对准UI元素以提供移动方向的指示;或屏幕对准3维(3D)引导方案,其包括3D屏幕对准UI元素以提供移动方向的指示;或世界对准3D引导方案,其包括与现实世界对象对准的3D UI元素以提供移动方向的指示;或世界对准2.5维(2.5-D)引导方案,其包括以2.5-D显示的UI元素,所述UI元素与现实世界对象对准以提供移动方向的指示。
在一些实施例中,可以针对侧向平移和枢转初始化运动序列两者提供期望移动方向的指示。在一些实施例中,期望移动方向的指示可包括过去移动的指示和优选的将来移动方向的指示。在一些实施例中,期望移动方向的指示还可指示相机的旋转移动。在一些实施例中,期望移动方向的指示可以指示期望轨迹和当前轨迹的校正两者。此外,在一些实施方案中,可以配合期望移动方向的指示向用户提供听觉和/或触觉反馈中的至少一者。
在一些实施例中,还可提供相机的当前轨迹的质量量度。举例来说,可以部分地基于当前相机姿势和先前相机姿势的序列来确定相机的当前轨迹,并且质量量度可以基于当前轨迹与最优轨迹的比较。
取决于应用,可由各种装置来实施本文中所描述的方法。例如,对于固件和/或软件实施方案,可用执行本文中所描述的功能的模块(例如,程序、功能等)实施所述方法。在实施本文中所描述的方法时,可使用任何有形地体现指令的机器可读媒体。举例来说,软件代码可存储在存储器中,并且由处理器单元来执行。在一些实施例中,可将所述功能作为一或多个指令或代码存储在计算机可读媒体上。实例包含编码有数据结构的计算机可读媒体和编码有计算机程序的计算机可读媒体。计算机可读媒体包含物理计算机存储媒体。
存储媒体可以是可通过计算机存取的任何可用媒体。借助于实例而非限制,此类计算机可读媒体可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置,磁盘存储装置或其它磁性存储装置,或可用于存储呈指令或数据结构的形式的期望程序代码并且可通过计算机存取的任何其它媒体;如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD),软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上内容的组合也应包含在计算机可读媒体的范围内。
除了存储在计算机可读媒体上之外,还可将指令和/或数据提供为通信设备中包含的传输媒体上的信号。举例来说,通信设备可包含具有指示指令和数据的信号的收发器。所述指令和数据经配置以使得一或多个处理器实施权利要求书中概述的功能。也就是说,通信设备包含具有指示用以执行所揭示的功能的信息的信号的传输媒体。在第一时间,通信设备中包含的传输媒体可包含用以执行所揭示功能的信息的第一部分,而在第二时间,通信设备中包含的传输媒体可包含用以执行所揭示功能的信息的第二部分。
提供对所揭示方面的先前描述以使任何所属领域的技术人员能够制造或使用本发明。所属领域的技术人员将容易明白对这些方面的各种修改,且在不脱离本发明的精神或范围的情况下,本文中所界定的一般原理可应用于其它方面。

Claims (30)

1.一种在包括相机和显示器的用户装置UD上的方法,所述方法包括:
基于初始相机姿势和所述相机与枢转位置之间的估计的枢转距离来确定用于无目标初始化计算机视觉CV应用程序的最优相机轨迹,所述初始相机姿势是基于所述相机俘获的第一图像估计的;以及
用所述相机的期望移动方向的指示来实时地更新所述显示器,所述期望移动方向的所述指示部分地是基于当前相机姿势和所述确定的最优相机轨迹,所述当前相机姿势是基于所述相机俘获的当前图像估计的。
2.根据权利要求1所述的方法,其中部分地基于所述相机的当前轨迹与所述确定的最优相机轨迹的比较来获得所述相机的所述期望移动方向,所述相机的所述当前轨迹是由先前相机姿势序列确定的。
3.根据权利要求1所述的方法,其进一步包括:
用所述相机的更新的期望移动方向的一或多个指示的序列实时地更新所述显示器,其中部分地基于与所述相机的进一步移动相关联的对应相机姿势更新所述序列中的期望移动方向的所述一或多个指示中的每一者。
4.根据权利要求1所述的方法,其中将所述枢转距离确定为以下各项中的至少一者:
任意正值;
所述第一图像中的观测到的特征点的子组的平均距离;
高于一个阈值的值。
5.根据权利要求1所述的方法,其进一步包括:
计算所述相机的当前轨迹的质量量度,所述相机的所述当前轨迹部分地是基于所述当前相机姿势和先前相机姿势序列确定的,并且其中所述质量量度是基于所述当前轨迹与所述确定的最优相机轨迹的比较;以及
显示所述相机的所述当前轨迹的所述质量量度的指示。
6.根据权利要求1所述的方法,其中在确定最优相机轨迹之前,所述方法包括:
部分地基于相机俘获的图像中的特征点的数目来确定所述相机俘获的图像对于初始化的适合性;以及
当确定所述相机俘获的图像适合于初始化时,选择所述相机俘获的图像作为所述第一图像。
7.根据权利要求6所述的方法,其进一步包括:
在选择所述第一图像后,即刻通过用第一虚拟对象增强所述相机俘获的图像在所述显示器上的显示,来提供所述第一图像对于初始化的适合性的指示;或
通过用第二虚拟对象增强所述相机俘获的图像在所述显示器上的所述显示,来提供所述相机俘获的图像对于初始化的不适合性的指示。
8.根据权利要求1所述的方法,其中使用以下各项中的至少一者提供所述移动方向的指示:
屏幕对准2维2D引导方案,其包括2D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
屏幕对准3维3D引导方案,其包括3D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
世界对准3D引导方案,其包括与现实世界对象对准的3D UI元素以提供所述期望移动方向的所述指示;或
世界对准2.5-维2.5-D引导方案,其包括以2.5-D显示的UI元素,所述UI元素与现实世界对象对准以提供所述期望移动方向的所述指示。
9.根据权利要求1所述的方法,其中针对所述相机的侧向平移运动序列和所述相机的枢转初始化运动序列两者提供所述期望移动方向的所述指示。
10.根据权利要求1所述的方法,其中所述期望移动方向的所述指示包括过去移动的指示和优选的将来移动方向的指示。
11.根据权利要求1所述的方法,其中所述期望移动方向的所述指示还指示所述相机的旋转移动。
12.根据权利要求1所述的方法,其进一步包括:
配合所述期望移动方向的所述指示向所述用户提供听觉或触觉反馈中的至少一者。
13.一种用户装置UD,其包括:
图像传感器,其用以俘获图像序列;
显示器;以及
处理器,其耦合到所述图像传感器和所述显示器,其中所述处理器经配置以:
基于初始图像传感器姿势和所述图像传感器与枢转位置之间的估计的枢转距离来确定用于无目标初始化计算机视觉CV应用程序的最优图像传感器轨迹,所述初始图像传感器姿势是基于所述图像传感器俘获的第一图像估计的;以及
用所述图像传感器的期望移动方向的指示来实时地更新所述显示器,所述期望移动方向的所述指示部分地是基于当前图像传感器姿势和所述确定的最优图像传感器轨迹,所述当前图像传感器姿势是基于所述图像传感器俘获的当前图像估计的。
14.根据权利要求13所述的UD,其中为了获得所述图像传感器的所述期望移动方向,所述处理器经配置以:
将所述确定的最优图像传感器轨迹与所述图像传感器的当前轨迹比较,所述图像传感器的所述当前轨迹是由先前图像传感器姿势序列确定的。
15.根据权利要求13所述的UD,所述处理器进一步经配置以:
用所述图像传感器的更新的期望移动方向的一或多个指示的序列实时地更新所述显示器,其中部分地基于与所述图像传感器的进一步移动相关联的对应图像传感器姿势来更新所述序列中的期望移动方向的所述一或多个指示中的每一者。
16.根据权利要求13所述的UD,其中所述处理器经配置以:
将所述枢转距离确定为以下各项中的至少一者:
任意正值;
所述第一图像中的观测到的目标特征点的平均距离;
高于一个阈值的值。
17.根据权利要求13所述的UD,其中所述处理器进一步经配置以:
计算当前图像传感器轨迹的质量量度,所述当前图像传感器轨迹部分地是基于所述当前图像传感器姿势和先前图像传感器姿势序列确定的,并且其中所述质量量度是基于所述当前图像传感器轨迹与所述确定的最优图像传感器轨迹的比较;以及
显示所述当前图像传感器轨迹的所述质量量度的指示。
18.根据权利要求13所述的UD,其中在确定最优图像传感器轨迹之前,处理器经配置以:
部分地基于图像传感器俘获的图像中的特征点的数目来确定所述图像传感器俘获的图像对于初始化的适合性;以及
当确定所述图像传感器俘获的图像适合于初始化时,选择所述图像传感器俘获的图像作为所述第一图像。
19.根据权利要求18所述的UD,其中所述处理器进一步经配置以:
在选择所述第一图像后,即刻通过用第一虚拟对象增强所述图像传感器俘获的图像在所述显示器上的显示,来提供所述第一图像对于初始化的适合性的指示;或
通过用第二虚拟对象增强所述图像传感器俘获的图像在所述显示器上的所述显示,来提供所述图像传感器俘获的图像对于初始化的不适合性的指示。
20.根据权利要求13所述的UD,其中使用以下各项中的至少一者提供所述移动方向的指示:
屏幕对准2维2D引导方案,其包括2D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
屏幕对准3维3D引导方案,其包括3D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
世界对准3D引导方案,其包括与现实世界对象对准的3D UI元素以提供所述期望移动方向的所述指示;或
世界对准2.5-维2.5-D引导方案,其包括以2.5-D显示的UI元素,所述UI元素与现实世界对象对准以提供所述期望移动方向的所述指示。
21.根据权利要求13所述的UD,其中针对所述图像传感器的侧向平移运动序列和所述图像传感器的枢转初始化运动序列两者提供所述期望移动方向的所述指示。
22.根据权利要求13所述的UD,其中所述期望移动方向的所述指示包括所述图像传感器的过去移动的指示和所述图像传感器的优选的将来移动方向的指示。
23.根据权利要求13所述的UD,其中所述移动方向的指示还指示所述图像传感器的旋转移动。
24.根据权利要求13所述的UD,其中所述处理器进一步经配置以:
使得配合所述期望移动方向的所述指示向所述用户提供听觉或触觉反馈中的至少一者。
25.一种用于便于计算机视觉应用程序初始化的设备,其包括:
图像俘获装置,所述图像俘获装置用以俘获图像序列;
显示装置;
用于基于所述图像俘获装置的初始姿势和所述图像俘获装置与枢转位置之间的估计枢转距离确定用于无目标初始化计算机视觉CV应用程序的所述图像俘获装置的最优轨迹的装置,所述图像俘获装置的所述初始姿势是基于所述图像俘获装置俘获的第一图像估计的;以及
用于用所述图像俘获装置的期望移动方向的指示来实时地更新所述显示装置的装置,所述期望移动方向的所述指示部分地是基于所述图像俘获装置的当前姿势和所述确定的最优图像俘获装置轨迹,所述图像俘获装置的所述当前姿势是基于所述图像俘获装置俘获的当前图像估计的。
26.根据权利要求25所述的设备,其中用于更新所述显示装置的装置包括:
用于获得所述图像俘获装置的所述期望移动方向的装置,其中所述用于获得所述图像俘获装置的所述期望移动方向的装置包括:
用于将所述图像俘获装置的所述确定的最优轨迹与所述图像俘获装置的当前轨迹比较的装置,所述图像俘获装置的所述当前轨迹是由先前图像俘获装置姿势序列确定的。
27.根据权利要求25所述的设备,其中使用以下各项中的至少一者提供所述期望移动方向的指示:
屏幕对准2维2D引导方案,其包括2D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
屏幕对准3维3D引导方案,其包括3D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
世界对准3D引导方案,其包括与现实世界对象对准的3D UI元素以提供所述期望移动方向的所述指示;或
世界对准2.5-维2.5-D引导方案,其包括以2.5-D显示的UI元素,所述UI元素与现实世界对象对准以提供所述期望移动方向的所述指示。
28.一种包括指令的计算机可读媒体,所述指令在由处理器执行时在包括相机和显示器的用户装置UD上执行方法,所述方法包括:
基于初始相机姿势和所述相机与枢转位置之间的估计的枢转距离来确定用于无目标初始化计算机视觉CV应用程序的最优相机轨迹,所述初始相机姿势是基于所述相机俘获的第一图像估计的;以及
用所述相机的期望移动方向的指示来实时地更新所述显示器,所述期望移动方向的所述指示部分地是基于当前相机姿势和所述确定的最优相机轨迹,所述当前相机姿势是基于所述相机俘获的当前图像估计的。
29.根据权利要求28所述的计算机可读媒体,其中部分地基于所述相机的当前轨迹与所述确定的最优相机轨迹的比较来获得所述相机的所述期望移动方向,所述相机的所述当前轨迹是由先前相机姿势序列确定的。
30.根据权利要求28所述的计算机可读媒体,其中使用以下各项中的至少一者提供所述移动方向的指示:
屏幕对准2维2D引导方案,其包括2D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
屏幕对准3维3D引导方案,其包括3D屏幕对准UI元素以提供所述期望移动方向的所述指示;或
世界对准3D引导方案,其包括与现实世界对象对准的3D UI元素以提供所述期望移动方向的所述指示;或
世界对准2.5-维2.5-D引导方案,其包括以2.5-D显示的UI元素,所述UI元素与现实世界对象对准以提供所述期望移动方向的所述指示。
CN201480024026.8A 2013-05-02 2014-05-02 用于便于计算机视觉应用程序初始化的方法 Active CN105408937B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361818894P 2013-05-02 2013-05-02
US61/818,894 2013-05-02
US201361884845P 2013-09-30 2013-09-30
US61/884,845 2013-09-30
US14/268,784 2014-05-02
US14/268,784 US9667873B2 (en) 2013-05-02 2014-05-02 Methods for facilitating computer vision application initialization
PCT/US2014/036659 WO2014179745A1 (en) 2013-05-02 2014-05-02 Methods for facilitating computer vision application initialization

Publications (2)

Publication Number Publication Date
CN105408937A CN105408937A (zh) 2016-03-16
CN105408937B true CN105408937B (zh) 2018-02-13

Family

ID=51841264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480024026.8A Active CN105408937B (zh) 2013-05-02 2014-05-02 用于便于计算机视觉应用程序初始化的方法

Country Status (6)

Country Link
US (1) US9667873B2 (zh)
EP (1) EP2992507B1 (zh)
JP (1) JP6359644B2 (zh)
KR (1) KR102131477B1 (zh)
CN (1) CN105408937B (zh)
WO (1) WO2014179745A1 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101773116B1 (ko) * 2013-07-26 2017-08-31 삼성전자주식회사 영상 촬영 장치 및 이의 촬영 방법
US9965895B1 (en) * 2014-03-20 2018-05-08 A9.Com, Inc. Augmented reality Camera Lucida
EP3624063B1 (en) * 2014-04-25 2024-06-05 Google Technology Holdings LLC Electronic device localization based on imagery
US9430038B2 (en) * 2014-05-01 2016-08-30 Microsoft Technology Licensing, Llc World-locked display quality feedback
US10198865B2 (en) 2014-07-10 2019-02-05 Seiko Epson Corporation HMD calibration with direct geometric modeling
US9508195B2 (en) * 2014-09-03 2016-11-29 Microsoft Technology Licensing, Llc Management of content in a 3D holographic environment
JP6193195B2 (ja) * 2014-09-17 2017-09-06 株式会社東芝 移動支援装置、方法及びプログラム
US11016302B2 (en) * 2015-03-17 2021-05-25 Raytrx, Llc Wearable image manipulation and control system with high resolution micro-displays and dynamic opacity augmentation in augmented reality glasses
US10950051B2 (en) * 2015-03-27 2021-03-16 Rockwell Automation Technologies, Inc. Systems and methods for presenting an augmented reality
US10475239B1 (en) * 2015-04-14 2019-11-12 ETAK Systems, LLC Systems and methods for obtaining accurate 3D modeling data with a multiple camera apparatus
US10192133B2 (en) 2015-06-22 2019-01-29 Seiko Epson Corporation Marker, method of detecting position and pose of marker, and computer program
US10192361B2 (en) 2015-07-06 2019-01-29 Seiko Epson Corporation Head-mounted display device and computer program
TW201710646A (zh) * 2015-09-02 2017-03-16 湯姆生特許公司 描繪大視場內容一部份時,決定導航資訊之方法和裝置,以及大視場內容描繪器
US10424117B2 (en) * 2015-12-02 2019-09-24 Seiko Epson Corporation Controlling a display of a head-mounted display device
JP6461024B2 (ja) * 2016-02-05 2019-01-30 富士フイルム株式会社 画像位置合せ装置、方法およびプログラム
JP6823403B2 (ja) * 2016-02-15 2021-02-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理方法およびプログラム
JP6701930B2 (ja) * 2016-04-28 2020-05-27 富士通株式会社 オーサリング装置、オーサリング方法およびオーサリングプログラム
WO2017186303A1 (en) * 2016-04-29 2017-11-02 Aurasma Limited Guidance information relating to a target image
KR20190005208A (ko) * 2016-05-07 2019-01-15 스마트 써드-아이 리미티드 핸드헬드 디바이스 내의 에지 카메라 어셈블리를 수반하는 시스템 및 방법
CN105976391B (zh) * 2016-05-27 2018-12-14 西北工业大学 基于orb-slam的多摄像机标定方法
US10217225B2 (en) * 2016-06-01 2019-02-26 International Business Machines Corporation Distributed processing for producing three-dimensional reconstructions
KR102101916B1 (ko) * 2016-06-09 2020-05-29 구글 엘엘씨 시각적 방해물들을 통과하여 사진 찍기
US10488195B2 (en) 2016-10-25 2019-11-26 Microsoft Technology Licensing, Llc Curated photogrammetry
EP3596542B1 (en) * 2017-03-17 2024-01-17 Magic Leap, Inc. Technique for recording augmented reality data
CN108961385B (zh) * 2017-05-22 2023-05-02 中国人民解放军信息工程大学 一种slam构图方法及装置
JP6946087B2 (ja) * 2017-07-14 2021-10-06 キヤノン株式会社 情報処理装置及びその制御方法、並びに、プログラム
US10841486B2 (en) * 2017-07-20 2020-11-17 Eclo, Inc. Augmented reality for three-dimensional model reconstruction
CN111094893A (zh) 2017-07-28 2020-05-01 高通股份有限公司 机器人式运载工具的图像传感器初始化
WO2019078032A1 (ja) * 2017-10-20 2019-04-25 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム、並びに、交換レンズ
US11861898B2 (en) * 2017-10-23 2024-01-02 Koninklijke Philips N.V. Self-expanding augmented reality-based service instructions library
EP3496387A1 (en) * 2017-12-05 2019-06-12 Koninklijke Philips N.V. Apparatus and method of image capture
GB201804195D0 (en) * 2018-03-15 2018-05-02 Blue Vision Labs Uk Ltd Visual vehicle tracking through noise and occlusions using crowd-sourced maps
US11490969B2 (en) * 2018-03-22 2022-11-08 Medtech S.A. Optical camera positioning tool
CN110264509B (zh) * 2018-04-27 2022-10-14 腾讯科技(深圳)有限公司 确定图像捕捉设备的位姿的方法、装置及其存储介质
US10964056B1 (en) 2018-05-18 2021-03-30 Apple Inc. Dense-based object tracking using multiple reference images
CN108804161B (zh) * 2018-06-21 2022-03-04 北京字节跳动网络技术有限公司 应用的初始化方法、装置、终端和存储介质
US11189054B2 (en) * 2018-09-28 2021-11-30 Apple Inc. Localization and mapping using images from multiple devices
CN109658507A (zh) * 2018-11-27 2019-04-19 联想(北京)有限公司 信息处理方法及装置、电子设备
CN109579844B (zh) * 2018-12-04 2023-11-21 电子科技大学 定位方法及***
US20200342610A1 (en) * 2019-04-24 2020-10-29 XRSpace CO., LTD. Method of Pose Change Notification and Related Interactive Image Processing System
WO2020235167A1 (ja) 2019-05-23 2020-11-26 日本電気株式会社 撮像装置、撮像方法及び記憶媒体
CN110348418B (zh) * 2019-07-17 2022-03-11 上海商汤智能科技有限公司 目标跟踪方法及装置、智能移动设备和存储介质
US11373374B2 (en) 2019-11-07 2022-06-28 Volvo Car Corporation Aligning the augmented reality or virtual reality world with the real world using natural position understanding
CN111156997B (zh) * 2020-03-02 2021-11-30 南京航空航天大学 一种基于相机内参在线标定的视觉/惯性组合导航方法
CN111539982B (zh) * 2020-04-17 2023-09-15 北京维盛泰科科技有限公司 一种移动平台中基于非线性优化的视觉惯导初始化方法
WO2021234623A1 (en) * 2020-05-22 2021-11-25 Cron Systems Pvt. Ltd. System and method for transposition of a detected object and its tracking to a different device
CN114245000A (zh) * 2020-09-09 2022-03-25 北京小米移动软件有限公司 拍摄方法和装置、电子设备、存储介质
US20220414988A1 (en) * 2021-06-28 2022-12-29 Microsoft Technology Licensing, Llc Guidance system for the creation of spatial anchors for all users, including those who are blind or low vision
WO2023132269A1 (ja) * 2022-01-06 2023-07-13 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム
CN114257671B (zh) * 2022-02-28 2022-07-19 荣耀终端有限公司 一种图像显示方法及电子设备
CN116026368B (zh) * 2023-03-29 2023-07-04 上海仙工智能科技有限公司 移动机器人的参数联合标定方法及***、设备、存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4976756B2 (ja) * 2006-06-23 2012-07-18 キヤノン株式会社 情報処理方法および装置
JP4757142B2 (ja) * 2006-08-10 2011-08-24 キヤノン株式会社 撮影環境校正方法及び情報処理装置
US8760401B2 (en) * 2008-04-21 2014-06-24 Ron Kimmel System and method for user object selection in geographic relation to a video display
CN101441769A (zh) * 2008-12-11 2009-05-27 上海交通大学 单目摄像机实时视觉定位方法
DE102009049849B4 (de) * 2009-10-19 2020-09-24 Apple Inc. Verfahren zur Bestimmung der Pose einer Kamera, Verfahren zur Erkennung eines Objekts einer realen Umgebung und Verfahren zur Erstellung eines Datenmodells
JP2011199750A (ja) * 2010-03-23 2011-10-06 Olympus Corp 撮像端末、外部端末、撮像システム、及び撮像方法
US20130234926A1 (en) * 2012-03-07 2013-09-12 Qualcomm Incorporated Visually guiding motion to be performed by a user
JP2013225245A (ja) 2012-04-23 2013-10-31 Sony Corp 画像処理装置、画像処理方法及びプログラム
CN102706342A (zh) * 2012-05-31 2012-10-03 重庆邮电大学 一种智能移动机器人的定位与环境建模方法

Also Published As

Publication number Publication date
KR102131477B1 (ko) 2020-07-07
JP2016527583A (ja) 2016-09-08
CN105408937A (zh) 2016-03-16
US20140327792A1 (en) 2014-11-06
WO2014179745A1 (en) 2014-11-06
EP2992507B1 (en) 2018-07-25
US9667873B2 (en) 2017-05-30
JP6359644B2 (ja) 2018-07-18
KR20160003233A (ko) 2016-01-08
EP2992507A1 (en) 2016-03-09

Similar Documents

Publication Publication Date Title
CN105408937B (zh) 用于便于计算机视觉应用程序初始化的方法
US10802578B2 (en) Method for displaying image, storage medium, and electronic device
US10334165B2 (en) Omnistereo capture for mobile devices
CN107431796B (zh) 全景虚拟现实内容的全方位立体式捕捉和渲染
US20200334913A1 (en) In situ creation of planar natural feature targets
CN105164728B (zh) 用于混合实境的设备和方法
EP3350653B1 (en) General spherical capture methods
CN104956404B (zh) 具有功率有效深度传感器使用的实时三维重建
CN103513421B (zh) 影像处理装置、影像处理方法及影像处理***
EP3323109A1 (en) Camera pose estimation for mobile devices
TW200540458A (en) Motion sensor using dual camera inputs
JP2019040610A (ja) 情報処理装置
JP2018033107A (ja) 動画の配信装置及び配信方法
US20130033490A1 (en) Method, System and Computer Program Product for Reorienting a Stereoscopic Image
JP2017046065A (ja) 情報処理装置
US20230252691A1 (en) Passthrough window object locator in an artificial reality system
CN107426522B (zh) 基于虚拟现实设备的视频方法和***
US20240087157A1 (en) Image processing method, recording medium, image processing apparatus, and image processing system
CN117745982A (zh) 录制视频的方法、装置、***、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant