基于聚类的照片导航的制作方法

文档序号:11336406阅读:269来源:国知局
基于聚类的照片导航的制造方法与工艺



背景技术:

已经使用了组织和导航多个用户捕获的各种场景的图像的许多方法。在一些示例中,可以将由多个用户捕获的相同场景的图像组合到组。这样的组可以包含从与捕获的场景相关的许多角度和距离拍摄的各种数量的捕获的图像。然后,用户可以在单个组内查看图像,而不考虑捕获的图像的位置。因此,当前组织和导航图像的方法导致图像的不可预测的显示,这对用户可能是不直观的并且令人不快的。



技术实现要素:

本公开内容内的实施例一般涉及呈现图像。一个方面包括用于在设备上组织和导航图像聚类的方法。可以由一个或多个处理设备访问捕获的图像集。一个或多个处理设备然后可以检测捕获的图像集内的图像是否满足预定模式;根据所检测到的预定模式将捕获的图像集中的图像分组到一个或多个聚类;接收显示捕获的图像的一个或多个聚类中的第一聚类的请求;以及响应于请求,选择来自第一聚类的第一捕获的图像以显示。可以提供来自第一聚类的第一捕获的图像以显示。

一个实施例提供了用于组织和导航图像聚类的系统。该系统包括一个或多个计算设备;以及存储指令的存储器,指令可由一个或多个计算设备执行。指令包括:由一个或多个计算设备访问捕获的图像集;由一个或多个计算设备检测捕获的图像集内的图像是否满足预定模式;以及由一个或多个计算设备根据所检测到的预定模式将捕获的图像集中的图像分组到一个或多个聚类;由一个或多个计算设备接收显示捕获的图像的一个或多个聚类中的第一聚类的请求;由一个或多个计算设备响应于该请求而选择来自第一聚类的第一捕获的图像以显示;以及提供来自第一聚类的第一捕获的图像以显示。

一个实施例提供了用于组织和导航图像聚类的系统。该系统包括一个或多个计算设备;以及存储指令的存储器,指令可由一个或多个计算设备执行。指令包括:由一个或多个计算设备访问捕获的图像集;由一个或多个计算设备检测捕获的图像集内的图像是否满足预定模式;由一个或多个计算设备根据所检测到的预定模式将捕获的图像集中的图像分组到一个或多个聚类;由一个或多个计算设备接收显示捕获的图像的一个或多个聚类中的第一聚类的请求;由一个或多个计算设备响应于该请求而选择来自第一聚类的第一捕获的图像以显示;提供来自第一聚类的第一捕获的图像以显示;由一个或多个计算设备从第一聚类内的图像确定在第一捕获的图像的预定接近度内的相邻捕获图像集;由一个或多个处理设备从相邻捕获图像集指派第一捕获的图像的一个或多个相邻图像;以及由一个或多个处理设备响应于点击或拖动事件而提供一个或多个相邻图像。

附图说明

图1是根据本公开的方面的示例系统的功能图。

图2是图1的示例系统的示意图。

图3是根据本公开的方面的以全景模式捕获图像的计算设备的示例。

图4是根据本公开的方面的以平移模式捕获图像的计算设备的示例。

图5是根据本公开的方面的以轨道模式捕获图像的计算设备的示例。

图6a是根据本公开的方面的全景模式聚类集合的示例。

图6b是根据本公开的方面的视角阈值的示例。

图7a是根据本公开的方面的捕获的平移图像的初始候选集的示例。

图7b是根据本公开的方面的角度阈值的示例。

图8是根据本公开的方面的轨道模式聚类的示例。

图9是根据本公开的方面的在聚类内导航的计算设备的示例。

图10是根据本公开的方面的视角的示例。

图11是根据本公开的方面的在聚类之间导航的计算设备的示例。

图12是根据本公开的方面的流程图。

具体实施方式

该技术涉及导航在捕获图像时基于展现的公共模式而被组织到聚类的图像。例如,可以由一个或多个计算设备来分析由多个用户捕获的各种场景的图像,以将捕获的图像组织到与相同场景对应的聚类,并且当组合时满足至少一个公共模式。然后,用户可以选择聚类,并且作为响应,所选择的聚类内的捕获的图像可以显示在一个或多个计算设备中的一个上。当用户平移通过聚类内的捕获的图像时,显示器可以根据指派给聚类内的图像的公共模式切换到另一捕获的图像。另外,用户可以在观看不同的聚类之间切换。因此,向用户提供了可以模仿多个用户通常捕获正在显示的场景的方式的平滑导航体验。

来自一个或多个用户的捕获的图像也可以组合到模式。例如,可以由一个或多个计算设备,根据捕获的图像在组合时满足的模式的类型,将给定场景的捕获的图像分组到聚类。在这方面,来自一个或多个用户的捕获的图像集可以被放置在全景模式聚类、平移模式聚类和轨道模式聚类中的一个或多个中。

为了确定全景模式聚类,可以确定表示相机从该处捕获第一捕获的图像的坐标的全景中心。可以通过使用第一全景圆内的每个附加捕获的图像对第一全景中心的坐标迭代地进行平均来找到更新的全景中心。然后可以计算最终的全景圆,以包括尽可能多的在第一全景圆内的捕获的图像。可以通过对不落在确定的最终全景圆内的捕获的图像反复执行上述过程来发现附加的最终全景圆。

为了确定平移模式聚类,可以对于每个捕获的图像计算和关联阈值角度内的最近相邻图像的缩小的候选集。可以扩展缩小的候选集以创建处于相关联的捕获的图像的角度阈值内的捕获的图像的潜在平移模式聚类。可以通过保持满足阈值判据的潜在平移模式聚类来确定平移模式聚类。在这方面,可以忽略包含小于阈值数量的捕获的图像的潜在平移模式聚类。可以使得包含至少阈值数量的捕获的图像的潜在平移模式聚类成为平移模式聚类。

为了确定轨道模式聚类,可以发现或识别针对一个或多个轨道对象中心并且围绕轨道对象中心提供平滑平移的捕获的图像。例如,可以比较捕获的图像以确定具有重叠图像数据的捕获的图像的组。包含重叠图像数据的捕获的图像的组被视为相邻图像。轨道对象中心是通过将每个捕获的图像视为从捕获的图像的位置发出的并且以在捕获的图像被捕获时相机中心指向的方向的射线来确定的。然后可以找到相邻图像的射线之间的交点。然后,聚类算法可以由确定具有足够水平的交叉点的区域来找到轨道对象中心。

对于每个轨道对象中心,包含与位于轨道对象中心的场景的一部分相关联的图像数据的捕获的图像可以与该轨道对象中心相关联。可以分析包含至少阈值数量的捕获的图像的捕获的图像的组,以确定每组图像内的捕获的图像所覆盖的视角是否包含大于阈值角度值的视角。满足设定阈值的所有组图像都可以被视为轨道模式聚类。

可以在计算设备的显示器上观看所确定的聚类内的一个或多个捕获的图像。在这方面,用户可以在不同的聚类之间或在单个聚类内进行导航。例如,可以在显示器上提供表示当前未被查看的聚类的点击目标,以使用户能够在聚类之间切换。此外,可以向用户提供表示当前查看的聚类内的相邻图像的拖动目标,以使用户能够在当前查看的聚类内导航。

可以基于当前选择的聚类来确定点击目标。例如,用户可以选择要查看的初始聚类。初始聚类内的捕获的图像可以显示在计算设备上。在初始聚类之外当前显示的捕获的图像的一个或多个相邻的捕获的图像可以被指派为一个或多个点击目标。

为了使用拖动目标在全景模式聚类内提供导航,可以对于当前聚类内当前显示的捕获的图像最接近的每个捕获的图像计算拖动目标成本。对于每个拖动矢量方向,可以将具有最低拖动目标成本的图像成为沿该拖动矢量方向的拖动目标。因此,当用户沿着拖动矢量方向平移显示器时,可以在计算设备上显示具有最低拖动目标成本的拖动目标。

为了在轨道和平移模式聚类内导航,可以找到或识别当前显示的捕获的图像的右侧和左侧的相邻捕获的图像。可以将相邻图像的视角与当前显示的图像的视角进行比较,以确定图像是否位于当前显示的图像的左侧或右侧。然后可以分别使得左或右的目标拖动距离最接近的相邻图像成为左右拖动目标。因此,当用户将显示器向左或向右平移时,可以分别在计算设备上显示左或右拖动目标。

本文描述的特征可以允许模拟用户通常将如同在那里观看场景的方式的平滑导航体验。通过这样做,用户可以体验可预测的导航体验,其提供场景的自然视图。此外,当导航场景的大组和小组的捕获的图像时,导航体验将是一致的。

示例系统

图1和图2包括其中可以实现上述特征的示例系统100。不应将其视为限制本公开的范围或本文所述特征的有用性。在该示例中,系统100可以包括计算设备110、120、130和140以及存储系统150。每个计算设备110可以包含通常存在于通用计算设备中的一个或多个处理器112、存储器114和其它组件。计算设备110、120、130和140中的每一个的存储器114可以存储由一个或多个处理器112可访问的信息,包括可由一个或多个处理器112执行的指令116。

存储器还可以包括可由处理器检索、操纵或存储的数据118。存储器可以是能够存储处理器可访问的信息的任何非暂时类型,诸如硬盘驱动器、存储卡、rom、ram、dvd、cd-rom、可写入、和只读存储器。

指令116可以是由一个或多个处理器直接(诸如机器代码)或间接地执行(诸如脚本)的任何指令集。在这方面,术语“指令”、“应用”、“步骤”和“程序”在本文中可以互换使用。指令可以以对象代码格式存储以由处理器直接处理,或以任何其它计算设备语言,包括根据需要或预先编译的独立源代码模块的脚本或集合。下面更详细地说明指令的功能、方法和例程。

可以根据指令116由一个或多个处理器112检索、存储或修改数据118。例如,尽管本文描述的主题不受任何特定数据结构限制,但是数据可以存储在计算机寄存器中、作为具有许多不同字段和记录的表存储在关系数据库中、或xml文档。数据还可以以任何计算设备可读格式格式化,例如但不限于二进制值、ascii或unicode。此外,数据可以包括足以识别相关信息的任何信息,诸如数字、描述性文本、专有代码、指针、对存储在诸如在其它网络位置处的其它存储器中的数据的引用,或由函数使用以计算相关数据的信息。

一个或多个处理器112可以是任何常规处理器,诸如市售cpu。或者,处理器可以是专用组件,诸如专用集成电路(“asic”)或其它基于硬件的处理器。尽管不是必需的,但是一个或多个计算设备110可以包括专门的硬件组件来执行特定的计算过程,诸如更快或更有效率地解码视频、匹配视频帧与图像、使视频畸变、编码畸变的视频。

尽管图1功能性地将处理器112、存储器114和计算设备110的其它元件示为在相同的块内,但是处理器、计算机、计算设备或存储器实际上可以包括可能在或不在同一物理外壳内存储的多个处理器、计算机、计算设备或存储器。例如,存储器可以是位于与计算设备110不同的外壳中的硬盘驱动器或其它存储介质。因此,对处理器、计算机、计算设备或存储器的引用将被理解为包括对可能并行操作或不并行操作的处理器、计算机、计算设备或存储器的集合的引用。例如,计算设备110可以包括作为负载平衡的服务器场、分布式系统等操作的服务器计算设备。此外,尽管下面描述的一些功能被指示为在具有单个处理器的单个计算设备上发生,但是各种本文描述的主题的各方面可以由多个计算设备例如通过网络160传送信息来实现。

每个计算设备110可以在网络160的不同节点处,并能够直接和间接地与网络160的其它节点进行通信。尽管图1-2中仅描绘了几个计算设备,但是应当理解,典型的系统可以包括大量连接的计算设备,其中每个不同的计算设备位于网络160的不同节点处。本文描述的网络160和中间节点可以使用各种协议和系统互连,使得网络可以是互联网、万维网、特定内部网、广域网或本地网络的一部分。网络可以利用诸如以太网、wifi和http的标准通信协议、一个或多个公司专有的协议、以及上述各种组合。虽然如上所述发送或接收信息时获得了某些优点,但是本文描述的主题的其它方面不限于任何特定的信息传输方式。

作为示例,每个计算设备110可以包括能够经由网络与存储系统150以及计算设备120、130和140进行通信的web服务器。例如,服务器计算设备110中的一个或多个可以使用网络160来在诸如计算设备120、130和140的显示器122、132或142的显示器上向诸如用户220、230或240的用户传送和呈现信息。在这方面,计算设备120、130和140可以被视为客户端计算设备,并且可以执行本文所描述的全部或一些特征。

使用如上所述的一个或多个处理器、存储器和指令,可以与服务器计算设备110类似地配置每个客户端计算设备120、130和140。每个客户端计算设备120、130或140可以是指期望由用户220、230、240使用的个人计算设备,并且具有通常与个人计算设备结合使用的所有组件,诸如中央处理单元(cpu),存储数据和指令的存储器(例如,ram和内部硬盘驱动器),诸如显示器122、132或142的显示器(例如,具有屏幕的监视器、触摸屏、投影仪、电视机或其它可操作以显示信息的设备),和用户输入设备124(例如,鼠标、键盘、触摸屏或麦克风)。客户端计算设备还可以包括用于记录视频流和/或捕获图像的相机、扬声器、网络接口设备以及用于将这些元件彼此连接的所有组件。

虽然客户端计算设备120、130和140可以各自包括全尺寸的个人计算设备,但是它们也可以替选地包括能够通过诸如互联网的网络与服务器无线地交换数据的移动计算设备。仅作为示例,客户端计算设备120可以是移动电话或能够经由互联网获得信息的诸如启用无线的pda、平板pc或上网本的设备。在另一示例中,客户端计算设备130可以是头戴式计算系统。用户可以例如通过使用小型键盘、小键盘、麦克风,利用照相机使用视觉信号、或触摸屏来输入信息,与客户端计算设备进行交互。

与存储器114一样,存储系统150可以是能够存储服务器计算设备110可访问的信息的任何类型的计算机化存储装置,诸如硬盘驱动器、存储器卡、rom、ram、dvd、cd-rom、可写、和只读存储器。此外,存储系统150可以包括分布式存储系统,其中数据存储在可以物理上位于相同或不同地理位置的多个不同存储设备上。如图1所示,存储系统150可以经由网络160连接到计算设备,和/或可以直接连接到计算设备110、120、130和140中的任何(未示出)。

示例方法

现在将描述根据本公开的各个方面的操作。应当理解,以下操作不必以下面描述的精确顺序执行。相反,各种步骤可以以相反的顺序处理或同时处理或根本不处理。

可以由一个或多个计算设备分析由多个用户捕获的各种场景的图像,以将捕获的图像组织到对应于相同场景的聚类,并且当组合时满足至少一个公共模式。用户可以根据三个公共模式之一捕获图像。用户可以通过执行全景模式、平移模式或轨道模式来捕获具有相机的场景的图像。例如,用户可以在转动照相机时站在单个位置并且捕获场景的多个图像,因此执行全景模式。诸如使用客户端计算设备120的用户220的用户可以在捕获场景的图像时使计算设备以弧线运动进行移动。图3示出了用户通过摇摄配备有相机的客户端计算设备120来捕获场景302的示例。在这方面,计算设备120可以围绕轴线301旋转以旋转配备有相机的客户端计算设备120相对于场景302的视野。随着计算设备120旋转通过不同的视野311至314,可以捕获场景302的不同部分。

用户还可以当在线性方向上移动时捕获场景的多个图像,从而执行平移模式。图4示出了当捕获场景402时诸如用户220的用户可以如何沿着轴线401以线性运动来移动计算设备120的示例。在这方面,计算设备120可以沿轴线401移动以将配备有相机的客户端计算设备120的视野相对于场景402切换。随着计算设备120沿着轴线401移动,可以捕获不同的视场411至414。

此外,用户可以在围绕场景的圆方向上移动时捕获场景的多个图像,因此执行轨道模式。图5示出了诸如用户220的用户可以如何围绕场景521在圆方向上移动计算设备120的示例。在这方面,用户220可以围绕场景521沿着从523到533的路径移动计算设备120。当计算设备120沿着路径移动时,可以捕获不同的视场511至521。

来自一个或多个用户的捕获的图像也可以组合到模式。例如,可以由一个或多个计算设备基于捕获的图像在组合时满足的模式的类型,将给定场景的捕获的图像分组到聚类。在这方面,来自一个或多个用户的一组捕获的图像可以被放置在全景模式聚类、平移模式聚类和/或轨道模式聚类中。在分组捕获的图像时,可能会省略高度维度(海拔),因为可能在小范围高度内获取多组照片。因此,捕获的图像的分组可以基于表示横向和纵向平面的二维平面。

为了确定全景模式聚类,确定表示相机从此处捕获第一捕获的图像的坐标的第一全景中心。在这方面,如图6a所示,可以由计算具有诸如约3米或更多或更小的设定半径的第一全景中心周围的圆距离来围绕第一全景中心找到第一全景圆。在该示例中,可以在其中捕获第一捕获的图像611的(x1,y1)处找到第一全景中心a。可以通过对第一全景中心a的坐标与第一全景圆605内的每个附加捕获的图像613和615迭代地求平均来找到更新的全景中心。第一全景圆605包括来自(x1,y1)处的捕获点a和(x2,y2)处的捕获点c的捕获的图像。可以执行迭代,直到更新的全景中心坐标收敛,或直到已经执行了设定阈值的迭代,诸如30次或更多次或更少次迭代。

然后可以在更新的全景中心坐标周围找到最终的全景圆,以便尽可能包括在第一全景圆内的捕获的图像。在图6a的示例中,可以确定最终的全景圆607以包括在捕获点a处捕获的图像611和615以及在捕获点c处捕获的图像613。可以通过对不落在确定的最终全景圆内的捕获的图像,诸如在(x3,y3)处的点b捕获的图像,迭代地执行上述过程,来发现附加的最终全景圆609。可以执行该过程,直到所有捕获的图像在最终全景圆内。在某些情况下,最终的全景圆可能只包括单个捕获的图像。

可以通过保持满足某些阈值判据的最终全景圆来确定全景模式聚类。在这方面,可以忽略包含小于阈值数量的捕获的图像(例如8个或更多或更少)的最终全景圆。此外,可以分析至少包含阈值数量的捕获的图像的任何最终全景圆,以确定每个最终全景圆内的捕获的图像覆盖的视角即视场的总角度是否包含大于阈值角度值的视角,如图6b所示。在图6b的示例中,可以确定分别在两个最终全景圆607和609内捕获的图像x2和x3之间的视角以看它们是否满足阈值角度值。满足上述判据中的至少一个或两个的所有最终全景圆可以被视为全景模式聚类。

为了确定平移模式聚类,可以确定在彼此的设定角度阈值内的捕获的图像。例如,如图7a所示,对于第一捕获的图像,可以确定相对于场景沿着水平轴线在第一捕获的图像的左侧和右侧最接近的相邻捕获的图像的初始候选集。在图7a的示例中,可以确定第一捕获的图像a以及初始候选集内的捕获的图像(这里图像b至e),当捕获的图像时相机中心指向的方向。如图7b所示,可以丢弃初始候选集内的其方向处于与第一捕获的图像的角度大于例如约36度或更多或更小的阈值角度的每个捕获的图像,使得剩余图像是从大致相同的角度捕获的那些。在这方面,第一捕获的图像a可以处于90度角,x1,而图像c可以处于45度角,x2。因此,由于差大于设定角度阈值,可以从初始候选集中丢弃图像c。然后可以将初始候选集减少为包括预定数量的缩小的候选集,诸如最接近第一捕获的图像的初始候选集的六个或更多或更少的捕获的图像。因此,可以为每个捕获的图像计算和关联缩小的候选集。

可以扩展缩小的候选集以创建潜在的平移模式聚类。例如,从第一捕获的图像开始,可以分析与第一捕获的图像相关联的缩小候选集内的每个捕获的图像。处于设定角度阈值内并且位于相对于场景沿着水平轴线的第一捕获的图像的左侧的捕获的图像可以被组合到潜在平移模式聚类。如果与第一捕获的图像相关联的缩小候选集内的所有捕获的图像满足设定角度阈值或处于设定角度阈值内,则也可以分析与第一捕获的图像的左侧紧邻的捕获的图像相关联的相邻候选集内的捕获的图像。满足角度阈值的相邻候选集的每个捕获的图像可以被放置到潜在平移聚类中。例如,可以迭代地分析与当前分析的捕获的图像的左侧紧邻的捕获的图像相关联的相邻候选集,从最接近当前分析的图像的图像开始,以确定所捕获的图像是否满足角度阈值或者处于当前分析的图像的角度阈值内。这可以继续,直到相邻候选集内的捕获的图像之一不满足或不在当前分析的图像的角度阈值内。然后可以将满足当前分析的图像的角度阈值的所有分析的捕获的图像包括在潜在平移模式聚类中。然后可以执行相同的处理以在第一捕获的图像的右侧找到图像。

可以通过保持满足附加阈值判据的潜在平移模式聚类来确定平移模式聚类。在这方面,可以忽略包含小于阈值数量(诸如8个或更多或更少)的捕获的图像的潜在平移模式聚类。包含至少阈值数量的捕获的图像的潜在平移模式聚类可以被视为平移模式聚类。

为了确定轨道模式聚类,发现指向一个或多个轨道对象中心并且围绕轨道对象中心提供平滑平移的捕获的图像。例如,可以比较捕获的图像以确定具有重叠图像数据的捕获的图像的组。可以使用计算机视觉算法,诸如特征检测算法和来自运动的结构(sfm)算法,找到重叠图像数据。在这方面,可以确定每个捕获的图像的特征点。然后可以使用sfm算法来比较每个捕获的图像的特征点,以确定是否这些点中的任何是公共的,这意味着它们包含重叠图像数据。包含重叠图像数据的捕获的图像的组被视为相邻图像。

如图8所示,可以通过将每个捕获的图像视为从捕获的图像的位置发出的、并且在当捕获的图像被捕获时相机中心指向的方向上的射线,来确定轨道对象中心。在该示例中,然后可以找到相邻图像a到e的射线之间的交点。然后可以通过确定具有足够水平的相交点803的区域,使用聚类算法,以找到轨道对象中心。在一个示例中,可以使用确定用交叉射线密集填充的区域的中心点的k均值聚类算法来确定轨道对象中心坐标。

可以通过将捕获的图像与轨道对象中心相关联来确定轨道模式聚类。例如,如图8所示,对于每个轨道对象中心,可以将包含与位于轨道对象中心803的场景801的一部分相关联的图像数据的捕获的图像与该轨道对象中心相关联。然后可以将与相应轨道对象中心803相关联的捕获的图像a、b、c和d分组在一起。在一个示例中,可以通过使用不相交集数据结构将与相应轨道对象中心相关联的捕获的图像组合在一起,以合并具有平滑变换的捕获的图像。可以通过找到两个捕获的图像中的第一和第二图像到相关联的轨道对象中心之间的距离来确定平滑变换。如果两个捕获的图像之间的距离差不大于更接近轨道中心的捕获的图像的到轨道中心距离的约一半到约四分之三,则两个捕获的图像可以被认为具有平滑变换。在这方面,可以将多组捕获的图像与轨道对象中心相关联。

可以通过保持满足某些阈值判据的捕获的图像的组来确定轨道模式聚类。在这方面,可以忽略包含小于阈值数量(诸如8个或更多或更少)的捕获的图像的捕获的图像的组。可以分析包含至少阈值数量的捕获的图像的捕获的图像的组,以确定每组图像内的捕获的图像所涵盖的视角是否包含大于阈值的视角。满足上述阈值判据中的至少一个或两个的所有图像组可以被视为轨道模式聚类。

可以在计算设备的显示器上观看所确定的聚类内的一个或多个捕获的图像。在这方面,用户可以在不同的聚类之间或在单个聚类内进行导航。例如,可以在显示器上提供表示当前未被查看的聚类的点击目标,以使用户能够在聚类之间切换。可以通过使用鼠标点击目标或在触摸屏上轻拍来激活点击目标。此外,可以向用户提供表示当前查看的聚类内的相邻图像的拖动目标,以使用户能够在当前查看的聚类内导航。可以通过使用鼠标点在目标上拖动或在触摸屏上轻拍来激活拖动目标。

可以基于当前选择的聚类来确定点击目标。例如,用户可以选择要查看的初始聚类。可以在计算设备上显示初始聚类内的捕获的图像。如图11所示,可以将初始聚类之外的当前显示的捕获的图像的一个或多个相邻捕获的图像指派为一个或多个点击目标。在这方面,如果一个或多个相邻捕获的图像是从比当前显示的捕获的图像1140更接近场景的位置捕获的,则可以将该相邻图像指派为点击目标1130。如果一个或多个相邻捕获的图像是从更接近场景的位置捕获的,则可以使捕获的图像1120的一个或多个相邻捕获的图像内的最接近当前显示的捕获的图像成为点击目标1130。因此,当用户选择点击目标1130时,计算设备120的显示器122从当前显示的捕获的图像1120切换到指派的与该点击目标相关联的最近的捕获的图像。每次用户在聚类和/或显示的捕获的图像之间切换时,可以确定新的点击目标。

为了使用拖动目标在全景模式聚类内提供导航,可以对当前聚类内最接近当前显示的捕获的图像的每个捕获的图像计算拖动目标成本。在这方面,拖动目标成本可以包括各种成本项。这些成本项可以与当前显示的捕获的图像和与当前显示的捕获的图像最接近的捕获的图像之间的像素的平移和旋转“流”的流场相关。也可以使用不基于流的其它成本项,例如重叠成本。在一个示例中,目标图像应尽可能与参考图像重叠。因此,重叠成本可以包括两个成本值:(1)参考图像的多少与目标图像重叠,以及(2)目标图像的多少与参考图像重叠。随着重叠的增加,重叠成本可能会降低。因此,该成本值可以是反值。对于每个捕获的图像,可以将这些成本复合以为每个捕获的图像创建拖动目标成本。

在一个示例中,如图9所示,对每个拖动矢量方向,具有最低拖动目标成本的图像可以成为沿着该拖动矢量方向的拖动目标。因此,当用户910沿着拖动矢量方向930摇计算设备120的显示器122时,当前显示的捕获的图像920可以以最低拖动目标成本切换到拖动目标。

为了在轨道和平移模式聚类内导航,找到当前显示的捕获的图像的左侧和左侧的相邻捕获的图像。例如,可以确定当前显示的聚类的中心点。返回到图10,可以通过计算从每个图像到中心点的视角来找到当前显示的捕获的图像a的视角x1和一个或多个相邻捕获的图像b和c。可以丢弃具有大大偏离当前显示图像a的视角x1例如约30度的视角的图像。可以将相邻图像b和c的视角x2和x3与当前显示图像a的视角x1进行比较,以确定图像是否位于当前显示的图像的左侧或右侧。

可以使得轨道和平移模式聚类内的相邻图像相对于当前显示的图像成为左或右拖动目标。在这方面,可以使得最接近目标拖动距离的相邻图像成为左或右拖动目标。目标拖动距离可以在约0和30度之间,或更多或更少。可以分别使得最接近目标拖动距离的相邻图像成为左和右拖动目标,该目标拖动距离被计算为在左或在右的相应的每个相邻图像和当前显示的图像之间的视角差。因此,当用户向左或向右摇显示器时,可以分别在计算设备上显示左或右拖动目标。

图12的流程图1200是可以由诸如客户端计算设备120、130或140的一个或多个计算设备执行的上述某些方面的示例流程图。应当理解,本文讨论的步骤是仅仅是示例;步骤可以以不同的顺序发生,可以添加步骤,并且可以省略步骤。在该示例中,在框1202处,可以访问捕获的图像集。一个或多个计算设备然后可以检测所捕获的图像集内的图像是否满足预定模式,如框1204所示。基于检测到的模式,图像可以被分组到一个或多个聚类,如框1206所示。如框1208所示,正接收显示一个或多个聚类的第一聚类的请求。如框1210所示,可以选择第一捕获的图像以显示。然后如框1212所示,可以提供所选择的第一捕获的图像以显示。

虽然已经参考特定实施例描述了本技术,但是应当理解,这些实施例仅仅是本技术的原理和应用的说明。因此,应当理解,可以对说明性实施例进行许多修改,并且在不脱离由所附权利要求限定的本技术的精神和范围的情况下,可以设计其它布置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1