CN108700998B - 用于在移动设备上获得成对极线约束和解决全景姿态的方法和系统 - Google Patents

用于在移动设备上获得成对极线约束和解决全景姿态的方法和系统 Download PDF

Info

Publication number
CN108700998B
CN108700998B CN201680080414.7A CN201680080414A CN108700998B CN 108700998 B CN108700998 B CN 108700998B CN 201680080414 A CN201680080414 A CN 201680080414A CN 108700998 B CN108700998 B CN 108700998B
Authority
CN
China
Prior art keywords
panoramic image
panoramic
image
images
displaying
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
CN201680080414.7A
Other languages
English (en)
Other versions
CN108700998A (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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN108700998A publication Critical patent/CN108700998A/zh
Application granted granted Critical
Publication of CN108700998B publication Critical patent/CN108700998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • 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
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • 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
    • G06T2207/20101Interactive definition of point of interest, landmark or seed

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开的方面一般涉及连接全景图像。一个或多个计算设备(120)可以加载并显示在第一位置处捕获的第一全景图像并且接收对第一全景图像(300)上的区域的选择,所述区域对应于可以做出与其他全景图像的连接的位置(510)。一个或多个计算设备(120)可以识别并显示在第一位置附近捕获的一个或多个附近全景图像,并接收对一个或多个附近全景图像(710)中的一个的选择。一个或多个计算设备可以显示所选择的全景图像和第一全景图像,并且将所选择的全景图像与第一全景图像对准,使得所选择的全景图像在与第一全景图像(610)相同的方向上取向。一个或多个计算设备可以将所选择的全景图像与第一全景图像连接。

Description

用于在移动设备上获得成对极线约束和解决全景姿态的方法 和系统
相关申请的交叉引用
本申请要求于2016年5月3日提交的题为Method And System For ObtainingPair-Wise Epipolar Constraints And Solving For Panorama Pose On A MobileDevice(用于在移动设备上获得成对极线约束和解决全景姿态的方法和系统)的美国临时申请No.62/331,273的申请日的权益,其公开内容通过引用并入在此。
背景技术
对诸如移动设备和数码相机的计算设备的访问导致包括全景图像的数字图像的增加。全景图像可以基于它们的位置和取向数据而彼此连接(例如,链接)。全景图像被捕获的位置通常从捕获图像的计算设备上的全球定位系统(“GPS”)得出。然而,这些系统通常不准确,并且可能提供偏离相当大距离(例如几米或更多)的位置数据。基于不准确的数据,全景图像可能因此不正确地连接在一起。
当在连接的相邻全景图像之间过渡时,这两个图像的取向可能不同;这可能导致用户在全景图像之间过渡时呈现震动和混乱的体验。尽管基于自动计算机视觉的技术可以被用来基于视觉上相似的图像数据相对于彼此取向全景图像,但是这会消耗大量的处理资源,并且结果通常是低质量的。
发明内容
本公开内容中的各种实施例一般涉及将全景图像与准确的取向信息连接,使得当用户从观看一个全景图像切换到观看从附近位置捕获的另一个全景图像时存在一致的自然过渡。
一个方面包括用于连接两个全景图像的方法。在这方面,便携式计算设备可以执行存储第一全景图像和一个或多个另外的全景图像,全景图像中的每一个具有与其相关联的与相应全景图像的捕获位置对应的相应位置,在显示第一全景图像的同时,接收对第一全景图像上的点的用户选择,该点与能够做出到另一个全景图像的连接的位置有关。便携式计算设备还可以执行识别对应于第一图像上的用户选择的点的位置,识别并显示具有接近所识别的位置的相应位置的一个或多个另外的全景图像,并且响应于接收到对所显示的另外的全景图像中的一个的用户选择,显示所选择的全景图像和第一全景图像,并且将所选择的全景图像与第一全景图像对准,使得所选择的全景图像在与第一全景图像相同的方向上取向。便携式计算设备还可以执行存储表示所选择的全景图像与第一全景图像之间的连接并且包括第一全景图像和所选择的全景图像的对准信息的数据。
在一些实施例中,便携式计算设备可以执行在所选择的区域处显示覆盖在第一全景图像上的导航图标,并且响应于接收到对导航图标的选择,从显示第一全景图像过渡到显示所选择的全景图像。
在一些实施例中,便携式计算设备可以执行从显示第一全景图像过渡到在与第一全景图像相同的方向上显示所选择的全景图像。
在一些实施例中,附近图像包括与第一全景图像中的图像数据相似的图像数据。
在一些实施例中,显示所选择的全景图像和第一全景图像包括便携式计算设备在第一全景图像上方显示所选择的全景图像。
在一些实施例中,便携式计算设备可以执行显示覆盖在所选择的全景图像和第一全景图像上的对准指示符。
在一些实施例中,便携式计算设备可以在对准所选择的全景图像和第一全景图像之后执行优化图像的位置和取向。
两个全景图像的对准可以包括在电子显示器上同时显示两个图像,并且接收来自用户的指示全景图像在相同方向上显示的输入。两个全景图像的对准还可以包括识别每个图像中的视觉上相似的特征。
另一个方面包括用于连接两个全景图像的装置。该装置被配置为存储第一全景图像和一个或多个另外的全景图像,全景图像中的每一个具有与其相关联的与相应全景图像的捕获位置对应的相应位置。所述装置可以进一步被配置为在显示第一全景图像的同时,接收对第一全景图像上的点的用户选择,该点与能够做出到另一个全景图像的连接的位置有关,识别对应于第一图像上的用户选择的点的位置,识别并显示具有接近所识别的位置的相应位置的一个或多个另外的全景图像,并且响应于接收到对所显示的另外的全景图像中的一个的用户选择,显示所选择的全景图像和第一全景图像。该装置可以进一步被配置成将所选择的全景图像与第一全景图像对准,使得所选择的全景图像在与第一全景图像相同的方向上取向,并且存储表示所选择的全景图像与第一全景图像之间的连接并且包括第一全景图像和所选择的全景图像的对准信息的数据。
在一些实施例中,该装置可以进一步被配置为在所选择的区域处显示覆盖在第一全景图像上的导航图标,并且响应于接收到对导航图标的选择,从显示第一全景图像过渡到显示所选择的全景图像。
在一些实施例中,该装置可以进一步被配置为从显示第一全景图像过渡到在与第一全景图像相同的方向上显示所选择的全景图像。
在一些实施例中,附近图像包括与第一全景图像中的图像数据相似的图像数据。
在一些实施例中,该装置可以进一步被配置为:显示所述选择的全景图像和第一全景图像包括所述便携式计算设备在第一全景图像上方显示所选择的全景图像。
在一些实施例中,该装置可以进一步被配置为执行显示覆盖在所选择的全景图像和第一全景图像上的对准指示符。
另一个方面包括含机器可读指令的计算机程序,所述机器可读指令在由计算装置执行时控制其执行连接两个全景图像的方法。
另一个方面包括一种用于连接全景图像的方法。在这方面,一个或多个计算设备可以加载并显示在第一位置捕获的第一全景图像。由一个或多个计算设备接收对第一全景图像上的区域的选择,该区域对应于能够做出到其他全景图像的连接的位置。一个或多个计算设备可以识别并显示在第一位置附近捕获的一个或多个附近全景图像,并接收对一个或多个附近全景图像中的一个的选择。一个或多个计算设备可以显示所选择的全景图像和第一全景图像,并且将所选择的全景图像与第一全景图像对准,使得所选择的全景图像在与第一全景图像相同的方向上取向,并且将所选择的全景图像与第一全景图像连接。
在一些实施例中,一个或多个计算设备可以在所选择的区域处显示叠加在第一全景图像上的导航图标,接收对导航图标的选择,并且将显示从第一全景图像过渡到所选择的全景图像。
在一些实施例中,进行过渡,使得所选择的全景图像在与第一全景图像相同的方向上显示。
在一些实施例中,附近图像包括与第一全景图像中的图像数据相似的图像数据。
在一些实施例中,所选择的全景图像被显示在第一全景图像上方。
在一些实施例中,可以在所选择的全景图像和第一全景图像的顶部上覆盖对准指示符。
在一些实施例中,在对准所选择的全景图像和第一全景图像之后,可以优化图像的位置和取向。
在一些实施例中,两个全景图像的对准可以包括在电子显示器上同时显示两个图像,并且接收来自用户的指示全景图像在相同方向上显示的输入。两个全景图像的对准还可以包括识别每个图像中的视觉上相似的特征。
另一个方面包括用于连接全景图像的系统。该系统可以包括具有一个或多个处理器和存储指令的存储器的一个或多个计算设备。指令可以由一个或多个处理器执行,并且可以包括加载并显示在第一位置处捕获的第一全景图像;接收对第一全景图像上的区域的选择,该区域对应于能够做出到其他全景图像的连接的位置;识别并显示在第一位置附近捕获的一个或多个附近全景图像;接收对一个或多个附近全景图像中的一个的选择;显示所选择的全景图像和第一全景图像;将所选择的全景图像与第一全景图像对准,使得所选择的全景图像在与第一全景图像相同的方向上取向;并将所选择的全景图像与第一全景图像连接。
另一个方面包括存储指令的非暂时性计算机可读介质。当由一个或多个处理器执行时,指令使一个或多个处理器加载并显示在第一位置处捕获的第一全景图像,并接收对第一全景图像上的区域的选择,该区域对应于能够做出到其他全景图像的连接的位置;识别并显示在第一位置附近捕获的一个或多个附近全景图像;接收对一个或多个附近全景图像中的一个的选择;显示所选择的全景图像和第一全景图像;将所选择的全景图像与第一全景图像对准,使得所选择的全景图像在与第一全景图像相同的方向上取向;并将所选择的全景图像与第一全景图像连接。
附图说明
在附图中通过示例而非限制的方式示出了本技术,其中相同的附图标记指代相似的元件,包括:
图1是根据本公开的方面的示例系统的功能图。
图2是图1的示例系统的示意图。
图3是根据本公开的方面的一致过渡的示例。
图4是根据本公开的方面的显示在用户设备上的全景图像的示例屏幕截图。
图5是根据本公开的方面的显示在用户设备上的全景图像的所选择的区域的示例屏幕截图。
图6是根据本公开的方面的示例全景图像选择界面。
图7是根据本公开的方面的显示图像选择确认的示例全景图像选择界面。
图8是根据本公开的方面的对准界面的示例屏幕截图。
图9是示出根据本公开的方面的相对取向的创建的图示。
图10是示出根据本公开的方面的相对取向的创建的图示。
图11是根据本公开的方面的最终化界面的示例屏幕截图。
图12a-14a是根据本公开的方面的三个连接的全景图像的示例图示。
图12b-14b是根据本公开的方面的三个优化的连接的全景图像的示例图示。
图15是根据实施例的流程图。
图16是根据实施例的流程图。
具体实施方式
概述
该技术涉及将全景图像与准确的取向信息连接,使得当用户从观看一个全景图像切换到观看从附近位置捕获的另一个全景图像时存在一致的自然过渡。该技术的至少一些方面包括用户界面,其通过以使用户容易提供请求信息的方式从用户请求某些信息,使全景图像与准确的取向信息相关联。该技术的其他方面涉及自动优化,以提供对全景图像的位置、它们的相对取向以及两个全景图像之间的朝向的(由人为错误或技术测量的不准确性引起的)不准确性的校正。尽管该技术是根据全景图像来描述的,但也可以使用其他图像,诸如具有小于180度视野的图像。
例如,用户可以使计算设备加载在第一位置处捕获的第一全景图像。用户然后可以选择第一全景图像中的他们想要创建到在第二位置处捕获的第二全景图像的连接的区域。计算设备可以加载第二全景图像,并且用户可以相对于第一全景图像的取向对准第二全景图像,使得两个图像都在相同的方向上取向。
基于图像的相对取向,计算设备可以优化第一和第二全景图像的位置和取向并且在两个图像之间建立连接。因此,当用户使计算设备从观看第一全景图像切换到观看所连接的第二全景图像时,过渡可以是一致的、平滑的和自然的。
一致过渡可以包括在运动方向一致(例如,几乎没有旋转)的情况下从观看第一全景图像过渡到第二全景图像。例如,图3示出了没有旋转的两种不同类型过渡的示例。全景图像A和B分别由圆圈302和304表示。线306从全景图像A被捕获的位置延伸到全景图像B被捕获的位置。全景图像A被示为具有箭头312,箭头312指示全景图像A相对于圆圈302向用户显示的取向。如果全景图像的视图的取向保持不变,则从全景图像A到全景图像B的过渡将看起来好像用户沿线306侧向移动。可以使用任何类型的静止图像过渡效果(诸如KenBurns效果的平移和缩放)来显示实际过渡。全景图像B示出具有箭头314,该箭头314指示在过渡后全景图像B相对于圆圈304显示给用户的取向。因此,图像之间的相对取向不会改变,并且没有旋转作为过渡的一部分。
类似地,在第二示例中,全景图像C和D分别由圆圈322和324表示。线326从全景图像C被捕获的位置延伸到全景图像D被捕获的位置。全景图像322示出具有箭头324,该箭头324指示全景图像C相对于圆圈322向用户显示的取向。如果全景图像的视图的取向保持不变,则从全景图像C到全景图像D的过渡将看起来好像用户正在沿着线326直线向前移动。在这方面,全景图像D示出具有箭头324,该箭头324指示在过渡之后全景图像D相对于圆圈322向用户显示的取向。因此,图像之间的相对取向不会改变,并且不存在旋转作为过渡的一部分。
计算设备可以创建第一全景图像和另一个全景图像之间的连接。在这方面,用户可以选择第一全景图像上的区域以指示所选择的区域应该被用来创建与另一个全景图像的连接点。
一旦选择了连接点,则可以选择对应的全景图像以与第一全景图像配对。在这方面,计算设备可以显示最接近的捕获的全景图像作为对应的全景图像的选项。选项中的一个可以被用户选择为对应的全景图像。
两个全景图像(即,第一全景图像和对应的全景图像)的取向可以对准。在这方面,计算设备可以同时显示第一全景图像和对应的全景图像。由于第一全景图像和对应的全景图像的取向可能是未知的或不正确的,所以全景图像的视图可能不同。这样,计算设备可以显示对准线,以帮助用户将对应的全景图像的方向对准第一全景图像。
基于两个全景图像的位置数据和相对取向,计算设备可以确定两个全景图像之间的公共矢量的方向。然后可以将两个全景图像之间的相对取向计算为与公共矢量的角距离。类似地,可以从相同的矢量计算对应的全景图像的相对取向之间的角度差。
另外,可以确定从第一全景图像到对应图像的朝向。在这方面,使用第一全景图像和对应图像的位置数据(即,纬度和经度数据),可以计算第一全景图像和对应全景图像之间的朝向。在确定取向和位置数据之后,可以完成第一全景图像和对应全景图像之间的连接。
在已经利用第一全景图像或对应全景图像中的一个或两个创建了其他全景对的情况下,全景对中的所有全景图像的位置以及它们的相对取向和朝向可以被优化。由于两个全景图像的位置数据和相对取向可能是不准确的,诸如来自人为错误或不精确的GPS数据,所以从第一全景图像过渡到对应全景图像可能仍然不一致,并且这样的不一致可能随着附加全景图像与两个全景图像中的一个或多个配对而被复合。如此,计算设备可以根据某些目标来计算对这些值的修改。
优化目标之一可以是确定尽可能接近原始GPS位置的全景图像的新位置。另一个目的可能是全景图像的取向是使得由全景图像对之间的相对角度定义的方向指向彼此。另一个目标可能是全景图像对之间的距离尽可能接近原始距离。全景图像的新位置和取向可以通过最小化目标函数的成本并使用最小二乘解算器求解最小值来确定。总成本可以是所有GPS成本、所有取向成本和所有距离成本的加权总和。在一些方面,全景图像可以具有许多对应的全景图像。如此,通过使每个全景图像对的上述目标函数的成本最小化,可以满足上述目标。
本文描述的特征可以允许用户连接全景图使得实现直观且一致的全景过渡。在这方面,未经训练的个人可以使用可以在移动设备上实现的相对简单和直观的解决方案将全景图像彼此连接。该技术的方面还允许连接不具有大量数据图像重叠并且不需要计算机视觉的全景图像。
示例系统
图1和图2示出了其中可以实施本文描述的特征的示例系统100。不应将其视为限制本文所述特征的公开范围或有用性。在该示例中,系统100可以包括计算设备110、120、130和140以及存储系统150。每个计算设备可以包含一个或多个处理器112、存储器114和通常存在于通用计算设备中的其他组件。计算设备110、120、130和140中的每一个的存储器114可存储可由一个或多个处理器112访问的信息,包括可由一个或多个处理器112执行的指令116。
存储器可以存储可以由一个或多个处理器检索、操纵或存储的数据。存储器可以是能够存储处理器可访问的信息的任何非暂时类型,诸如硬盘驱动器、存储卡、ROM、RAM、DVD、CD-ROM、可写入和只读存储器。
指令116可以是要由一个或多个处理器直接(诸如机器代码)或间接地(诸如脚本)执行的任何指令集。在这方面,术语“指令”、“应用”、“步骤”和“程序”在本文中可以互换使用。指令可以以目标代码格式存储以供处理器直接处理,或以任何其他计算设备语言存储,所述任何其他计算设备语言包括根据需要解释或预先编译的独立源代码模块的脚本或集合。以下将更详细地解释指令的功能、方法和例程。
数据118可以根据指令116被一个或多个处理器112检索、存储和修改。例如,尽管在此描述的主题不受任何特定数据结构的限制,但是可以存储数据在计算机寄存器中、在关系数据库中作为具有许多不同字段和记录的表格或XML文档。数据也可以用任何计算设备可读格式格式化,例如但不限于二进制值、ASCII或Unicode。此外,数据可以包括足以识别相关信息的任何信息,诸如数字、描述性文本、专有代码、指针、存储在其他存储器中的数据的引用(例如其他网络位置)或者函数用于计算相关数据的信息。
一个或多个处理器112可以是任何常规处理器,诸如市售的CPU。或者,处理器可以是专用组件,诸如专用集成电路(“ASIC”)或其他基于硬件的处理器。虽然不是必需的,但是计算设备110、120和130中的一个或多个可以包括专用硬件组件以更快或更有效率执行特定计算过程,诸如解码视频、将视频帧与图像进行匹配、对视频进行失真、对失真视频进行编码等。
虽然图1在功能上将计算设备的处理器、存储器和其他元件示出为在同一块内,但处理器、计算机、计算设备或存储器实际上可以包括可能存储或不存储在同一个物理外壳内的多个处理器、计算机、计算设备或存储器。例如,存储器144可以是位于与计算设备110不同的外壳中的硬盘驱动器或其它存储介质。
对处理器、计算机、计算设备或存储器的引用将被理解为包括对可以并行或可以不并行操作的处理器、计算机、计算设备或存储器的集合的引用。例如,计算设备110可以包括作为负载平衡服务器群、分布式系统等进行操作的服务器计算设备。另外,尽管下面描述的一些功能被指示为发生在具有单个处理器的单个计算设备上,但是这里描述的主题的各个方面可以由多个计算设备来实现,例如通过网络160传送信息。
每个计算设备可以位于网络160的不同节点处,并且能够直接和间接地与网络160的其他节点进行通信。尽管在图1-2中仅描绘了少数几个计算设备110、120、130和140,应该理解的是,典型的系统可以包括大量的连接的计算设备,其中每个不同的计算设备在网络160的不同节点处。本文描述的网络160和中间节点可以使用各种协议和系统互联,使得网络可以是互联网、万维网、特定内联网、广域网或本地网络的一部分。网络可以使用标准通信协议,诸如以太网、WiFi和HTTP,专用于一个或多个公司的协议以及前述的各种组合。尽管当如上所述传输或接收信息时获得了某些优点,但是本文所描述的主题的其他方面不限于信息传输的任何特定方式。
作为示例,计算设备110中的每一个可以包括能够经由网络与存储系统150以及计算设备120、130和140进行通信的web服务器。例如,一个或多个服务器计算设备110可以使用网络160在诸如计算设备120或130的显示器122或132上向用户(诸如用户220或230)发送和呈现信息。在这方面,计算设备120、130和140可以被认为是客户端计算设备,并且可以执行本文描述的全部或部分特征。
客户端计算设备120、130和140中的每一个可以与服务器计算设备110类似地配置,具有如上所述的一个或多个处理器、存储器和指令。每个客户端计算设备120或130可以是旨在供用户220或230使用的个人计算设备,并且具有通常与个人计算设备连接使用的所有组件,诸如中央处理单元(CPU)、存储数据和指令的存储器(诸如RAM和内部硬盘驱动器)、诸如显示器122或132的显示器(例如,具有屏幕、触摸屏、投影仪、电视机或可操作来显示信息的其他设备的显示器)和用户输入设备124(例如,鼠标、键盘、触摸屏或麦克风)。在另一个示例中,客户端计算设备120-140可以是头戴式计算系统和/或虚拟现实系统。在这方面,可以通过客户端计算设备的显示器向用户呈现包括一个或多个全景图像的增强或虚拟环境。客户端计算设备还可以包括用于记录视频流和/或捕获图像的相机、扬声器、网络接口设备以及用于将这些元件彼此连接的所有组件。
尽管客户端计算设备120、130和140每个可以包括全尺寸个人计算设备,但是它们可以可选地包括能够通过网络(诸如互联网)与服务器(诸如服务器计算设备110)交换数据的移动计算设备。仅作为示例,客户端计算设备120可以是移动电话或诸如支持无线的PDA、平板PC或能够经由互联网获取信息的上网本的设备。在另一个示例中,客户端计算设备130可以是平板电脑或膝上型计算机。在另外的示例中,客户端计算设备140可以是数码相机,诸如360度相机或数字单镜头反射相机。作为示例,用户可以使用小键盘、键区、麦克风、通过相机或触摸屏使用视觉信号来输入信息。
与存储器114一样,存储系统150可以是能够存储服务器计算设备110可访问的信息的任何类型的计算机化存储器,诸如硬盘驱动器、存储卡、ROM、RAM、DVD、CD-ROM、可写入和只读存储器。另外,存储系统150可以包括分布式存储系统,其中数据存储在可以物理上位于相同或不同地理位置的多个不同存储设备上。存储系统150可以经由网络160连接到计算设备,如图1所示,和/或可以直接连接到计算设备110、120、130和140中的任何一个(未示出)。
存储器114和存储系统150可以存储各种图像,诸如全景图像,其包括如上所述的具有比人眼的视场大(例如180度或更大)的视场的单个图像或图像集合。这里描述的示例全景图像提供了诸如圆柱形和球形全景图像的位置的360度视图,尽管其他类型的图像(诸如具有小于360度的视图的那些图像以及具有不同观看角度的图像的组合)也可以使用。另外,每个全景图像可以与可以用于检索全景图像的图像标识符、指示全景图像被捕获的位置和取向(例如,纬度经度对,以及全景图像的哪个部分面向诸如北的给定方向的指示)的地理位置信息以及指示全景图像被捕获的日期和时间的时间戳信息相关联。
示例方法
为了将全景图像连接在一起,使得在全景图像之间存在一致的过渡,计算设备可以接收要连接的全景图像的选择。在这方面,第一全景图像可以在计算设备上的应用内显示。例如并且如图4所示,第一全景图像300可以显示在诸如计算设备120的显示器122的计算设备的显示器上。用户可以通过使用设备的用户界面旋转图像来从不同的方向观看图像。用户也可以使用界面放大和缩小全景图像的部分。在一些方面,第一全景图像300可以连接到附加的全景图像和导航图标。例如,导航图标410可以指示到至少一个其他全景图像的过渡是可用的。
计算设备可以用于在第一全景图像和另一个全景图像之间创建连接。在这方面,用户可以选择所显示的第一全景图像上的区域以指示所选择的区域应该被用来创建与另一个全景图像的连接点。例如,如图5所示,用户可以选择区域510作为连接点。这种选择可以通过例如用户用他们的手指或虚拟指示器在区域510上长按或双击来进行。
一旦已经选择了连接点,将可以选择对应的全景图像以与第一全景图像配对。在这方面,计算设备可以基于与存储在其存储器内或存储数据库(诸如数据库150)中的全景图像相关联的位置数据来确定哪些全景图像被捕获为最近连接点。然后可以显示最近捕获的全景图像。例如,如图6所示,与显示的全景图像300的三个最近的全景图像610-630可连同指令640一起显示给用户以“选择附近的图片球(photo sphere)来连接”。在一些实施例中,如果最近捕获的全景图像610-630不令人满意,则可以向用户呈现附加的全景图像。当用户选择附加全景图像中的一个作为对应的全景图像时,可以显示确认。例如,如图7所示,当全景图像610被选择为对应的全景图像时,显示包括复选标记的确认710。
在一些方面,系统可以基于位于所显示的全景图像附近的一个或多个全景图像的位置数据来提供推荐的连接点。例如,处理器可以识别位于显示图像的位置的阈值距离内的第二全景图像。这些推荐的连接点可以自动生成或者在接收到来自用户的请求时生成。
两个全景图像(即,第一全景图像和对应全景图像)的取向可以对准。在这方面,计算设备可以同时显示第一全景图像和对应全景图像。如果第一全景图像和对应全景图像的取向未知或不正确,则全景图像的视图可能不同。这样,计算设备可以显示对准线,以帮助用户将对应全景图像的朝向与第一全景图像对准。例如,如图8所示,可以在第一全景图像300上方呈现所选择的对应全景图像610。对准线810可以覆盖在两个图像的顶部。可以显示指令820以通知用户通过旋转顶部全景图像直到从相同的取向(即,朝向)显示两个全景图像来对准图像。例如,用户可以旋转图像610,直到从相同方向在两个图像中观看到树。
使用相应图像的朝向及其相应的位置数据,可以找到第一全景图像300和对应全景图像610两者的相对取向信息。在这方面,可以确定全景图像300和610之间的相对取向。例如,如图9的图A所示,每个全景图像300和610具有未知的真北矢量910和920。在图9的图B中标记为930的第一全景图像300的相对取向可以按照方向被定义为到达对应的全景图像610。标记为940的对应的全景图像610的相对取向可以定义为到达第一全景图像300的方向。第一全景图像300的相对取向可以通过使用以下公式计算从第一全景图像300到对应的全景图像610的朝向来确定(其中,
Figure BDA0001745866250000151
是第一全景图像的纬度/经度,并且,
Figure BDA0001745866250000152
是对应全景图像的纬度/经度,并且Δλ是第一全景图像和对应全景图像之间的经度差):
Figure BDA0001745866250000153
然后可以通过在第一全景图像的方向上设置对应图像的取向来确定对应全景图像610的相对取向。例如,如图10的图A所示,计算设备可以将第一全景图像300的相对取向930(即,θ)和对应全景图像610的相对取向940设置为彼此相对。然后可以通过从第一全景图像300的相对取向θ减去180°来计算对应图像的相对取向。因此,第一全景图像910的真北和对应的全景图像920的真北可以取向在相同的方向上。
然后可以基于第一全景图像300和对应全景图像610两者的位置数据和相对取向来确定真北矢量。在这方面,真北矢量可以通过确定在0°处第一全景图像和对应的全景图像的朝向来计算。另外,可以使用相同的技术来确定相对于全景图像的相对取向的任何其他矢量方向。
然后可以将两个全景图像之间的相对取向计算为与公共矢量的角距离。例如,如图10的图B所示,第一全景图像930的相对取向之间的角度差可以根据诸如矢量1050的矢量计算。类似地,对应全景图像940的相对取向之间的角度差可以根据相同的矢量1050计算。两个全景图像300和610的位置可以是由位置数据提供的位置,并且它们相应的相对取向可以如图10所示被定义为第一全景图像的角度α°和第二全景图像的角度β°。
当确定取向和位置数据时,可以完成第一全景图像和对应全景图像之间的连接。如图11所示,测试屏幕可以呈现给用户,以允许他们测试创建的连接。测试屏幕可以显示对应全景图像610以及指令1110和导航点1120。如指令1110所解释的,用户可以选择导航点1120以观看从对应的全景图像610到第一全景图像300的过渡。当用户接受创建的连接时,创建的连接可以被存储在存储器或存储设备中。在一些实施例中,可以在创建连接之前优化取向和位置数据,如下文所述。
在已经利用第一全景图像或对应全景图像中的一个或两个创建了其他全景对的情况下,全景对中的所有全景图像的位置以及它们的相对取向和朝向可以进一步优化。由于两个全景图像的位置数据和相对取向可能是不准确的,诸如来自人为错误或不精确的GPS数据,所以从第一全景图像到对应全景图像的过渡可能仍然不一致,并且这样的不一致可能随着附加全景图像与两个全景图像中的一个或多个配对而被复合。
这样,计算设备可以计算所有全景图像的新值,以在保持特定目标的同时确保所有全景配对的一致体验。目标可能包括:(1)确保全景图像的新位置尽可能接近原始GPS位置;(2)全景图像的取向使得由全景图像对之间的相对角度定义的方向指向彼此,即,对于给定的一对全景图像A和B,如果新的取向是azimuth_A和azimuth_B,则(azimuth_A+relative_angle_A)和(azimuth_B+relative_angle_B)应该相隔180度;(3)确保全景图像对之间的距离尽可能接近原始距离。
目标可以作为目标函数的成本来解决,然后使用最小二乘解算器将其最小化。例如,给定一对全景图像A和B,将原始位置分别设为(latitude_A_original,longitude_A_original)和(latitude_B_original,longitude_B_original)。此外,令它们的原始取向分别为azimuth_A和azimuth_B。此外,对于给定的一对全景图像A和B,令更新的位置分别为(latitude_A_new,longitude_A_new)和(latitude_B_new,longitude_B_new)。然后,用于移动全景对(A,B)的全景图像的GPS成本可以被定义如下:
A.GPS_cost(A)=distance((latitude_A_original,longitude_A_original),(latitude_A_new,longitude_A_new))
B.GPS_cost(B)=distance((latitude_B_original,longitude_B_original),(latitude_B_new,longitude_B_new))
另外,可以如下定义全景对(A,B)的取向成本,其中AngleDifference是包括围绕(例如,(0,10)=10和(0,-10)=-10)的两个角度之间的差,HeadingBetween是全景图像的两个位置之间的地图上的朝向,并且constraint_angle由用户给出,全景图像的方位角/真北向其偏移以对准北。
A.orientation_cost(A,B)=AngleDifference[HeadingBetween(latitude_A_new,longitude_A_new),(latitude_B_new,longitude_B_new)),constraint_angle_A_B]
B.orientation_cost(B,A)=AngleDifference[HeadingBetween(latitude_B_new,longitude_B_new),(latitude_A_new,longitude_A_new)),constraint_angle_B_A]
全景对(A,B)的距离成本可以如下定义:
A.distance_cost(A,B)=distance((latitude_A_original,longitude_A_original),(latitude_B_original,longitude_B_original))-distance((latitude_A_new,longitude_A_new),latitude_B_new,longitude_B_new))
总成本则是所有GPS成本和所有取向成本的总和。通过对上述取向成本执行最小二乘分析,最小二乘解可以导致确定两个全景图像的新位置和取向。如此,通过使每个全景图像对的上述目标函数的成本最小化,可以满足上述目标。
例如,如图12a、图13a和图14a所示,相应的全景图像1201-1205、1301-1305和1401-1405可以配对在一起。如箭头所示,相应的全景图像的相对取向可能与成对的全景图像之间的朝向不一致。例如,在图12a中,全景图像1203和1205之间的相对取向可能与全景图像之间的朝向1207偏离。在图13a中,全景图像1303和1301之间的相对取向可能与全景图像之间的朝向1302偏离。在图14a中,全景图像1401和1403之间的相对取向可以与朝向1402偏离,并且全景图像1401和1403之间的取向可以与朝向1403偏离。另外,全景图像1403可以与全景图像1405配对,并且图像之间的相对取向可能与朝向1406偏离。
因此,全景图像1201-1205、1301-1305和1401-1405的位置和取向可以被优化。在这方面,对于每个全景对,通过求解最小值并选择导致最低总成本的值,通过最小化目标函数的成本可以满足目标。
在一些实施例中,全景图像之间的连接可以被移除。例如,用户可以长按或双击诸如图4的导航图标410的导航图标。应用然后可以询问用户是否希望移除连接点。
图15的流程图1500是可以由诸如客户端计算设备120或130的一个或多个计算设备执行的上述方面中的一些方面的示例流程图。将理解的是,本文讨论的步骤仅仅是一个示例;这些步骤可以以不同的顺序发生,可以添加步骤,并且可以省略步骤。在该示例中,在框1501处,一个或多个计算设备可以加载并显示在第一位置处捕获的第一全景图像。如框1503所示,对第一全景图像上的区域的选择(该区域对应于与其他全景图像的连接)可以由该一个或多个计算设备做出和接收。如框1505所示,一个或多个计算设备可以识别并且显示在第一位置附近捕获的一个或多个附近全景图像,以及如框1509所示,接收对于一个或多个附近全景图像中的一个的选择。框1511示出一个或多个计算设备可以显示所选择的全景图像和第一全景图像,框1513示出计算设备可以将所选择的全景图像与第一全景图像对准,使得所选择的全景图像在与第一全景图像相同的方向上取向,并且将所选择的全景图像与第一全景图像附接。
图16的流程图1600是可以由诸如客户端计算设备120或130的一个或多个计算设备执行的上述方面中的一些方面的示例流程图。将理解的是,本文讨论的步骤仅仅是示例;这些步骤可以以不同的顺序发生,可以添加步骤,并且可以省略步骤。在该示例中,在框1601处,一个或多个计算设备可以接收第一全景图像和第二全景图像之间的对准数据以及第一全景图像和第二全景图像的原始位置数据,并且如框1603所示,基于对准数据确定在一对全景图像之间的相对取向。如框1605所示,一个或多个计算设备可以基于原始位置数据计算从第一全景图像到第二全景图像的朝向,并且如框1607所示,基于一对全景图像之间的相对取向以及原始位置数据来优化位置数据和对准数据。如框1607所示,一个或多个计算设备可以用优化的相对取向和优化的位置数据替换原始位置数据和相对取向。
在本说明书中,对GPS的引用将被理解为涉及位置,如可以使用GPS、伽利略、GLONASS或其他卫星定位系统或者通过使用室内定位或其他基于地面的定位系统来确定,无论是位置确定由便携式终端或由支持基础设施执行。
大多数上述替代示例不是相互排斥的,而是可以以各种组合实施以实现独特的优点。由于可以在不脱离权利要求所限定的主题的情况下利用上述特征的这些和其它变型和组合,所以应当以说明的方式而不是通过限制由权利要求所定义的主题的方式来采用实施例的前述描述。作为示例,前面的操作不必按照上述的精确顺序来执行。相反,可以按照不同的顺序(诸如颠倒或同时)处理各个步骤。除非另有说明,步骤也可以省略。此外,本文描述的示例的提供以及表述为“诸如”、“包括”等的条款不应被解释为将权利要求的主题限制于具体示例;相反,示例仅用于说明许多可能实施例中的一个。此外,不同附图中的相同附图标记可以识别相同或相似的要素。

Claims (35)

1.一种连接两个全景图像的方法,所述方法包括便携式计算设备执行:
存储第一全景图像和一个或多个另外的全景图像,所述全景图像中的每一个具有与其相关联的与相应全景图像的捕获位置对应的相应位置;
在显示所述第一全景图像的同时,接收对所述第一全景图像上的点的用户选择,所述点与能够做出到另一个全景图像的连接的位置有关;
识别对应于所述第一全景图像上的用户选择的点的位置;
识别并显示具有接近所识别的位置的相应位置的一个或多个另外的全景图像;
响应于接收到对所显示的另外的全景图像中的一个的用户选择,显示所选择的全景图像和所述第一全景图像;
将所选择的全景图像与所述第一全景图像对准,使得所选择的全景图像在与所述第一全景图像相同的方向上取向;
存储表示所选择的全景图像与所述第一全景图像之间的连接并且包括所述第一全景图像和所选择的全景图像的对准信息的数据。
2.根据权利要求1所述的方法,还包括所述便携式计算设备执行:
在所选择的区域处显示叠加在所述第一全景图像上的导航图标;以及
响应于接收到对所述导航图标的选择,从显示所述第一全景图像过渡到显示所选择的全景图像。
3.根据权利要求2所述的方法,包括所述便携式计算设备执行从显示所述第一全景图像过渡到在与所述第一全景图像相同的方向上显示所选择的全景图像。
4.根据权利要求2或权利要求3所述的方法,其中,附近图像包括与所述第一全景图像中的图像数据相似的图像数据。
5.根据权利要求1至3中的任一项所述的方法,其中,显示所选择的全景图像和所述第一全景图像包括:所述便携式计算设备在所述第一全景图像上方显示所选择的全景图像。
6.根据权利要求1至3中的任一项所述的方法,还包括:所述便携式计算设备执行显示覆盖在所选择的全景图像和所述第一全景图像上的对准指示符。
7.根据权利要求1至3中的任一项所述的方法,还包括:所述便携式计算设备在对准所选择的全景图像和所述第一全景图像之后执行优化图像的位置和取向。
8.一种用于连接两个全景图像的装置,所述装置被配置为:
存储第一全景图像和一个或多个另外的全景图像,所述全景图像中的每一个具有与其相关联的与相应全景图像的捕获位置对应的相应位置;
在显示所述第一全景图像的同时,接收对所述第一全景图像上的点的用户选择,所述点与能够做出到另一个全景图像的连接的位置有关;
识别对应于所述第一全景图像上的用户选择的点的位置;
识别并显示具有接近所识别的位置的相应位置的一个或多个另外的全景图像;
响应于接收到对所显示的另外的全景图像中的一个的用户选择,显示所选择的全景图像和所述第一全景图像;
将所选择的全景图像与所述第一全景图像对准,使得所选择的全景图像在与所述第一全景图像相同的方向上取向;以及
存储表示所选择的全景图像与所述第一全景图像之间的连接并且包括所述第一全景图像和所选择的全景图像的对准信息的数据。
9.根据权利要求8所述的装置,被配置为:
在所选择的区域处显示覆盖在所述第一全景图像上的导航图标;以及
响应于接收到对所述导航图标的选择,从显示所述第一全景图像过渡到显示所选择的全景图像。
10.根据权利要求9所述的装置,被配置为:从显示所述第一全景图像过渡到在与所述第一全景图像相同的方向上显示所选择的全景图像。
11.根据权利要求9或权利要求10所述的装置,其中,附近图像包括与所述第一全景图像中的图像数据相似的图像数据。
12.根据权利要求8至10中的任一项所述的装置,被配置为:通过在所述第一全景图像上方显示所选择的全景图像来显示所选择的全景图像和所述第一全景图像。
13.根据权利要求8至10中的任一项所述的装置,被配置为:显示覆盖在所选择的全景图像和所述第一全景图像上的对准指示符。
14.根据权利要求8至10中的任一项所述的装置,被配置为:在对准所选择的全景图像和所述第一全景图像之后,优化图像的位置和取向。
15.一种包括机器可读指令的非暂时性计算机可读介质,所述机器可读指令在由计算装置执行时控制其执行权利要求1至7中的任一项所述的方法。
16.一种用于连接全景图像的计算机实现的方法,所述方法包括:
利用一个或多个计算设备在显示器上显示在第一地理位置处捕获的第一全景图像;
由所述一个或多个计算设备接收对所述第一全景图像上的区域的选择,所述区域对应于能够做出到其他全景图像的连接的位置;
由所述一个或多个计算设备识别在所述第一地理位置附近捕获的两个或更多个附近全景图像,其中所述两个或更多个附近全景图像不同于所述第一全景图像;
由所述一个或多个计算设备在显示器上同时显示所述两个或更多个附近全景图像;
由所述一个或多个计算设备接收对所述两个或更多个附近全景图像中的一个的选择;
由所述一个或多个计算设备在所述显示器上显示所选择的全景图像和所述第一全景图像,其中所述第一全景图像覆盖在所选择的图像的至少一部分上;
在所述显示器上在所选择的全景图像和所述第一全景图像的顶部覆盖对准指示符;
由所述一个或多个计算设备将所选择的全景图像与所述第一全景图像对准,使得所选择的全景图像在所述显示器上在与所述第一全景图像相同的方向上取向,其中,所述对准包括基于所接收的输入在所述显示器上旋转所选择的全景图像,同时将所述第一全景图像保持在所述显示器上的固定位置处,使得所选择的全景图像和所述第一全景图像中的类似图像被显示在相对于所述对准指示符的相同显示位置中;以及
由所述一个或多个计算设备将所选择的全景图像与所述第一全景图像连接。
17.根据权利要求16所述的方法,还包括:
在所选择的区域处显示叠加在所述第一全景图像上的导航图标;
接收对所述导航图标的选择;以及
将显示从所述第一全景图像过渡到所选择的全景图像。
18.根据权利要求17所述的方法,其中,进行所述过渡,使得所选择的全景图像在与所述第一全景图像相同的方向上显示。
19.根据权利要求17所述的方法,其中,所述附近图像包括与所述第一全景图像中的图像数据相似的图像数据。
20.根据权利要求16所述的方法,其中,显示所选择的全景图像和所述第一全景图像包括在所述第一全景图像上方显示所选择的全景图像。
21.根据权利要求16所述的方法,还包括:
响应于所述对准指示符的交互部分而接收输入,所述输入指示何时所述第一全景图像与所选择的全景图像对准。
22.根据权利要求16所述的方法,还包括:
在对准所选择的全景图像和所述第一全景图像之后,优化图像的位置和取向。
23.一种用于连接全景图像的系统,所述系统包括:
一个或多个计算设备,所述一个或多个计算设备具有耦合到存储器的一个或多个处理器,所述一个或多个处理器被配置为:
在显示器上显示第一全景图像;
接收对所述第一全景图像上的区域的选择,所述区域对应于能够做出到其他全景图像的连接的位置;
识别在第一位置附近捕获的两个或更多个附近全景图像,所述两个或更多个附近全景图像不同于所述第一全景图像;
由所述一个或多个计算设备在显示器上同时显示所述两个或更多个附近全景图像;
接收对所述两个或更多个附近全景图像中的一个的选择;
在所述显示器上同时显示所选择的全景图像和所述第一全景图像,其中所述第一全景图像覆盖在所选择的图像的至少一部分上;
在所述显示器上在所选择的全景图像和所述第一全景图像的顶部覆盖对准指示符;
将所选择的全景图像与所述第一全景图像对准,使得所选择的全景图像在所述显示器上在与所述第一全景图像相同的方向上取向,其中,所述对准包括基于所接收的输入在所述显示器上旋转所选择的全景图像,同时将所述第一全景图像保持在所述显示器上的固定位置处,使得所选择的全景图像和所述第一全景图像中的类似图像被显示在相对于所述对准指示符的相同显示位置中;以及
将所选择的全景图像与所述第一全景图像连接。
24.根据权利要求23所述的系统,其中,所述处理器还被配置为:
在所选择的区域处显示覆盖在所述第一全景图像上的导航图标;
接收对所述导航图标的选择;以及
将显示从所述第一全景图像过渡到所选择的全景图像。
25.根据权利要求24所述的系统,其中,进行所述过渡,使得所选择的全景图像在与所述第一全景图像相同的方向上显示。
26.根据权利要求24所述的系统,其中,所述附近图像包括与所述第一全景图像中的图像数据相似的图像数据。
27.根据权利要求23所述的系统,其中,显示所选择的全景图像和所述第一全景图像包括在所述第一全景图像上方显示所选择的全景图像。
28.根据权利要求23所述的系统,其中,所述处理器还被配置为:
响应于所述对准指示符的交互部分而接收输入,所述输入指示何时所述第一全景图像与所选择的全景图像对准。
29.根据权利要求23所述的系统,其中,所述处理器还被配置为:
在对准所选择的全景图像和所述第一全景图像之后,优化图像的位置和取向。
30.一种存储指令的非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器:
在显示器上显示第一全景图像;
接收对所述第一全景图像上的区域的选择,所述区域对应于能够做出到其他全景图像的连接的位置;
识别在第一位置附近捕获的两个或更多个附近全景图像,所述两个或更多个附近全景图像不同于所述第一全景图像;
由所述一个或多个计算设备在显示器上同时显示所述两个或更多个附近全景图像;
接收对所述两个或更多个附近全景图像中的一个的选择;
在所述显示器上同时显示所选择的全景图像和所述第一全景图像,其中所述第一全景图像覆盖在所选择的图像的至少一部分上;
在所述显示器上在所选择的全景图像和所述第一全景图像的顶部覆盖对准指示符;
将所选择的全景图像与所述第一全景图像对准,使得所选择的全景图像在所述显示器上在与所述第一全景图像相同的方向上取向,其中,所述对准包括基于所接收的输入在所述显示器上旋转所选择的全景图像,同时将所述第一全景图像保持在所述显示器上的固定位置处,使得所选择的全景图像和所述第一全景图像中的类似图像被显示在相对于所述对准指示符的相同显示位置中;以及
将所选择的全景图像与所述第一全景图像连接。
31.根据权利要求30所述的非暂时性计算机可读介质,其中,所述指令还致使所述一个或多个处理器:
在所选择的区域处显示覆盖在所述第一全景图像上的导航图标;
接收对所述导航图标的选择;以及
将显示从所述第一全景图像过渡到所选择的全景图像。
32.根据权利要求31所述的非暂时性计算机可读介质,其中,进行所述过渡,使得所选择的全景图像在与所述第一全景图像相同的方向上显示。
33.根据权利要求31所述的非暂时性计算机可读介质,其中,所述附近图像包括与所述第一全景图像中的图像数据相似的图像数据。
34.根据权利要求30所述的非暂时性计算机可读介质,其中,显示所选择的全景图像和所述第一全景图像包括在所述第一全景图像上方显示所选择的全景图像。
35.根据权利要求30所述的非暂时性计算机可读介质,其中,所述指令还致使所述一个或多个处理器:
在对准所选择的全景图像和所述第一全景图像之后,优化图像的位置和取向。
CN201680080414.7A 2016-05-03 2016-10-27 用于在移动设备上获得成对极线约束和解决全景姿态的方法和系统 Active CN108700998B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662331273P 2016-05-03 2016-05-03
US62/331,273 2016-05-03
PCT/US2016/059109 WO2017192165A1 (en) 2016-05-03 2016-10-27 Method and system for obtaining pair-wise epipolar constraints and solving for panorama pose on a mobile device

Publications (2)

Publication Number Publication Date
CN108700998A CN108700998A (zh) 2018-10-23
CN108700998B true CN108700998B (zh) 2021-12-07

Family

ID=57321419

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680080414.7A Active CN108700998B (zh) 2016-05-03 2016-10-27 用于在移动设备上获得成对极线约束和解决全景姿态的方法和系统
CN201680080385.4A Active CN108604380B (zh) 2016-05-03 2016-10-28 用于在移动设备上获得成对极线约束和解决全景姿态的方法和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680080385.4A Active CN108604380B (zh) 2016-05-03 2016-10-28 用于在移动设备上获得成对极线约束和解决全景姿态的方法和系统

Country Status (4)

Country Link
US (3) US11080871B2 (zh)
EP (2) EP3387622B1 (zh)
CN (2) CN108700998B (zh)
WO (2) WO2017192165A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10102611B1 (en) * 2017-10-16 2018-10-16 Xplorit Llc Interconnected 360 video virtual travel
CN109377513B (zh) * 2018-09-20 2021-04-27 浙江大学 一种针对两视图的全局三维人体姿态可信估计方法
US11294538B2 (en) * 2020-06-03 2022-04-05 Snap Inc. Timeline media content navigation system
US11443443B2 (en) 2020-07-16 2022-09-13 Siemens Industry Software Inc Method and a data processing system for aligning a first panoramic image and a second panoramic image in a navigation procedure
CN112559887B (zh) * 2020-12-25 2023-09-05 北京百度网讯科技有限公司 全景图与兴趣点挂接的方法及构建全景图推荐模型的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244940B1 (en) * 2013-09-27 2016-01-26 Google Inc. Navigation paths for panorama

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6486908B1 (en) 1998-05-27 2002-11-26 Industrial Technology Research Institute Image-based method and system for building spherical panoramas
US7289138B2 (en) 2002-07-02 2007-10-30 Fuji Xerox Co., Ltd. Intersection detection in panoramic video
US7929800B2 (en) 2007-02-06 2011-04-19 Meadow William D Methods and apparatus for generating a continuum of image data
US20060132482A1 (en) * 2004-11-12 2006-06-22 Oh Byong M Method for inter-scene transitions
US7990394B2 (en) * 2007-05-25 2011-08-02 Google Inc. Viewing and navigating within panoramic images, and applications thereof
EP3471053B1 (en) 2007-05-25 2020-07-08 Google LLC Rendering, viewing and annotating panoramic images, and applications thereof
CA2699621A1 (en) 2007-06-08 2008-12-11 Tele Atlas N.V. Method of and apparatus for producing a multi-viewpoint panorama
CN100576907C (zh) 2007-12-25 2009-12-30 谢维信 利用单摄像机实时生成360°无缝全景视频图像的方法
US8525825B2 (en) 2008-02-27 2013-09-03 Google Inc. Using image content to facilitate navigation in panoramic image data
US8068652B2 (en) * 2008-08-29 2011-11-29 General Electric Company Semi-automated registration of data based on a hierarchical mesh
US8493408B2 (en) 2008-11-19 2013-07-23 Apple Inc. Techniques for manipulating panoramas
US9762795B2 (en) 2013-09-04 2017-09-12 Gyeongil Kweon Method and apparatus for obtaining rectilinear images using rotationally symmetric wide-angle lens
US9582166B2 (en) 2010-05-16 2017-02-28 Nokia Technologies Oy Method and apparatus for rendering user interface for location-based service having main view portion and preview portion
US20120300020A1 (en) 2011-05-27 2012-11-29 Qualcomm Incorporated Real-time self-localization from panoramic images
CN102231806B (zh) 2011-06-13 2013-01-30 山东大学 基于视频的双参数管道内壁全景图像模型与生成方法
US8787700B1 (en) 2011-11-30 2014-07-22 Google Inc. Automatic pose estimation from uncalibrated unordered spherical panoramas
CN102519435B (zh) 2011-12-21 2013-12-25 上海杰图软件技术有限公司 全景影像采集测量系统和全景影像空间测量方法
US10163261B2 (en) * 2014-03-19 2018-12-25 Matterport, Inc. Selecting two-dimensional imagery data for display within a three-dimensional model
US9185289B2 (en) 2013-06-10 2015-11-10 International Business Machines Corporation Generating a composite field of view using a plurality of oblique panoramic images of a geographic area
US8798451B1 (en) 2013-06-15 2014-08-05 Gyeongil Kweon Methods of obtaining panoramic images using rotationally symmetric wide-angle lenses and devices thereof
US9972121B2 (en) 2014-04-22 2018-05-15 Google Llc Selecting time-distributed panoramic images for display
US9589354B2 (en) 2014-06-17 2017-03-07 Chief Architect Inc. Virtual model viewing methods and apparatus
CN104408689B (zh) 2014-12-10 2017-10-24 武汉大学 基于全景影像的街景面片优化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244940B1 (en) * 2013-09-27 2016-01-26 Google Inc. Navigation paths for panorama

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Have a look around with Panoramio;Henrik Stewenius;《https://maps.googleblog.com/2008/06/have-look-around-with-panoramio.html》;20080603;第1-3页 *

Also Published As

Publication number Publication date
EP3387622B1 (en) 2020-09-23
US20190051000A1 (en) 2019-02-14
CN108604380B (zh) 2022-04-12
EP3387622A1 (en) 2018-10-17
CN108604380A (zh) 2018-09-28
US10510151B2 (en) 2019-12-17
US20190051001A1 (en) 2019-02-14
CN108700998A (zh) 2018-10-23
EP3387621A1 (en) 2018-10-17
US11568551B2 (en) 2023-01-31
WO2017192165A1 (en) 2017-11-09
US20220044429A1 (en) 2022-02-10
EP3387621B1 (en) 2023-09-27
US11080871B2 (en) 2021-08-03
WO2017192166A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
US11568551B2 (en) Method and system for obtaining pair-wise epipolar constraints and solving for panorama pose on a mobile device
CN106233371B (zh) 选择用于显示的时间分布的全景图像
CN111174799A (zh) 地图构建方法及装置、计算机可读介质、终端设备
US9940716B2 (en) Method for processing local information
US10089762B2 (en) Methods for navigating through a set of images
US10242280B2 (en) Determining regions of interest based on user interaction
US9046996B2 (en) Techniques for navigation among multiple images
US9756260B1 (en) Synthetic camera lenses
US20150052475A1 (en) Projections to fix pose of panoramic photos
WO2018214778A1 (zh) 一种虚拟对象的展示方法及装置
US20170038212A1 (en) Automatic connection of images using visual features
CN111698422B (zh) 一种全景图像的采集方法、装置、电子设备及存储介质
US20150109328A1 (en) Techniques for navigation among multiple images
KR20170132134A (ko) 클러스터 기반의 포토 네비게이션
Abrams et al. Webcams in context: Web interfaces to create live 3D environments
EP3177005A1 (en) Display control system, display control device, display control method, and program
US10326933B2 (en) Pose estimation of 360-degree photos using annotations
Porzi et al. An automatic image-to-DEM alignment approach for annotating mountains pictures on a smartphone
JPH10153949A (ja) 地理情報システム
US10027887B1 (en) Dynamic 3D panoramas
Hemayed et al. A lightweight approach to in-place authoring for mobile world browsers
CN110188585A (zh) 一种基于人脸图像的视觉定位方法、装置及电子设备

Legal Events

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