增强实时视图的计算机实施方法和计算机系统与流程

文档序号:11407199阅读:223来源:国知局
增强实时视图的计算机实施方法和计算机系统与流程

本申请是2013年11月27日进入中国国家阶段的国际申请日为2012年5月25日、国家申请号为201280025710.9(国际申请号为pct/us2012/039521)、名称为“增强实时视图”的发明专利申请的分案申请。

本申请涉及增强实时视图领域,更具体地涉及增强实时视图的计算机实施方法和计算机系统。



背景技术:

各种常规内容传递系统使计算设备用户(例如,智能手机)能够获得与用户(如通过使用计算设备的摄像机采集图像)提供的与图像有关的内容。例如,用户可通过摄像机采集电影海报的图像并且将所采集图像上载到内容传递系统。内容传递系统进而返回与电影海报相关联的电影有关的内容(例如,关于电影、多媒体内容等的信息)。

为了传递与上载图像有关的内容,常规内容传递系统试图将从客户端设备接收的图像与在内容传递系统的图像数据库中存储的图像匹配。图像数据库可以存储来自杂志,海报,报纸,英特网等的成千上万张图像。例如,图像数据库可以存储对应于特定电影“x”的海报墙和广告牌的图像。因此,当内容传递系统从通信设备接收电影“x”的海报图像时,系统试图将接收的图像与在其图像数据库中存储的全部图像匹配。这样一种途径可以是非常耗费资源的,并且当用户以大量必须进行分析的图像向系统提交请求时可以带来显著的延迟时间。



技术实现要素:

一方面,本发明提供一种计算机实施方法,其包括:使用图像采集元件采集项目的图像;将所述图像中呈现的特征与对应于项目库中的项目的所存储的特征进行匹配,以识别匹配的项目;检索与所述匹配的项目相关联的可选择的内容;使用特征提取确定项目的多个角,以从所述图像中提取与所述多个角对应的兴趣点;至少部分地基于所述多个角确定边界框;对于所述边界框,确定满足预定变形阈值的透视变形;以及在显示元件上显示所述可选择的内容作为在边界框上的叠加,其中响应于对所述可选择的内容的选择呈现所述匹配的项目供购买。

优选地,所述可选择的内容包括下列各项中的至少一个:按钮或超链接。

优选地,所述可选择的内容包括与所述项目相关联的项目信息,并且所述项目信息包括下列各项中的至少一个:价格、描述、客户评价、客户评论、特价优惠和促销、或与关联商品有关的关联信息。

优选地,所述项目信息与在图像采集元件相关联的本地库中的存储信息匹配,并且其中所述存储信息限定在项目库中的项目。

优选地,所述项目信息与相对于作为所述图像采集元件的主机的电子设备的远程的存储信息匹配,并且其中所述存储信息限定在项目库中的项目。

优选地,所述方法还包括:响应于在所述项目与所述项目库中的项目之间发现多个匹配,确定到所述项目的附加匹配项目。

优选地,所述方法还包括:用当前位置标识符或时间戳中的至少一个对所述匹配的项目进行标记。

另一方面,本发明还提供一种用于以相关联的内容增强实时采集和显示的产品的图像的计算机系统,其包括:

处理器;和

具有计算机可执行指令的存储器,所述计算机可执行指令当在所述处理器上执行时,促使所述处理器:

使用图像采集元件采集项目的图像;

将所述图像中呈现的特征与对应于项目库中的项目的所存储的特征进行匹配,以识别匹配的项目;

检索与所述匹配的项目相关联的可选择的内容;

使用特征提取确定项目的多个角,以从所述图像中提取与所述多个角对应的兴趣点;

至少部分地基于所述多个角确定边界框;

对于所述边界框,确定满足预定变形阈值的透视变形;以及

在显示元件上显示所述可选择的内容作为在所述边界框上的叠加,其中响应于对所述可选择的内容的选择呈现所述匹配的项目供购买。

优选地,所述可选择的内容包括下列各项中的至少一个:按钮或超链接。

优选地,所述可选择的内容包括与所述项目相关联的项目信息,所述项目信息包括下列各项中的至少一个:价格、描述、客户评价、客户评论、特价优惠和促销、或与关联商品有关的关联信息。

优选地,所述计算机可执行指令还促使所述处理器用当前位置标识符或时间戳中的至少一个对所述匹配的项目进行标记。

优选地,所述计算机可执行指令还促使所述处理器响应于所述用户选择所述可选择的内容而检索并且提供与所述图像叠加的所述可选择的内容相关联的信息。

附图说明

图1图示环境,其中可以实施各种实施方案。

图2图示环境的图形表示,该环境可结合上文中关于图1描述的并且可根据各种实施方案使用的一个或多个组件。

图3图示根据实施方案以(如呈现在电子设备上的)相关联的内容增强实时采集和显示的对象的图像的实例。

图4图示根据实施方案用于以相关联的内容增强实时采集和显示的对象的图像的流程图。

图5图示在根据实施方案以相关联的内容增强实时采集和显示的对象的图像中使用的检测技术的实例的流程图。

图6图示根据实施方案的服务器端对象识别技术的流程图。

图7图示在根据实施方案以相关联的内容增强实时采集和显示的对象的图像中使用的识别技术的实例的流程图。

图8图示在根据实施方案以相关联的内容增强实时采集和显示的对象的图像中使用的叠加技术实例的流程图。

图9图示在根据实施方案以相关联的内容增强实时采集和显示的对象的图像中使用的标记技术的实例的流程图。

图10图示在根据实施方案以相关联的内容增强实时采集和显示的对象的图像中使用的电子设备的示例组件的流程图。

图11图示根据实施方案以(如呈现在电子设备上的)相关联的内容增强实时采集和显示的对象的图像的另一个实例。

具体实施方式

各种实施方案提供用于响应于匹配图像信息而传递内容的方法和/或系统。特别地,响应于从通信设备提供的图像,可以将内容传递到该通信设备,如计算设备或客户端系统。该图像可能包含至少一个兴趣对象,并且可以通过通信设备(如在采集后立即上载图像的地方)基本上实时地采集和上载对象的一个或多个图像。可以将图像信息与在对实时采集的对象进行匹配的图像数据库中的信息进行比较,以便确定关于可以用于确定有关内容的对象的身份或其他信息。可以将检测和识别组件用于分析通过通信设备上载的图像信息以确定图像是否与任何项目、产品或(例如)在内容库中存储的其他类型的内容匹配。可以通过内容提供商以最新内容定期地更新内容库。

各种实施方案还包括叠加服务器,其当检测和识别组件确定与对象相关联的内容时,(例如)检索相关联的内容并且基本上实时地提供相关联的内容到通信设备。在至少一些实施方案中,可以呈现该内容,使得内容增强(例如,叠加)(例如)视频帧中的通过通信设备采集的对象的当前显示图像。内容叠加元素可采取不同的形状和形式,如可包括框,按钮,3d结构,动画等等。内容叠加可以是互动式的,使得叠加可允许用户访问所呈现内容,编辑内容,基于所呈现内容进行研究,与同伴共享内容,导出内容等等。

图1图示根据各种实施方案用于实施各方面的环境100。如将要了解的,尽管出于解释目的使用基于网页的环境,但是仍可将不同的环境用以(视情况而定)实施各种实施方案。环境100包括电子客户端设备102,其可以包括可操作来在适当网络104上发送和接受请求、消息或信息并且将信息传达回设备用户的任何适当设备。这类客户端设备的实例包括个人计算机,手机,手持式消息设备,笔记本电脑,机顶盒,个人数字助理,电子书阅读器等等。该网络可以包括任何适当网络,包括企业内部网,英特网,蜂窝网络,局域网或任何其他这类网络或其组合。用于这样一种系统的组件可以至少部分地取决于所选网络和/或环境的类型。用于经由这样一种网络进行通信的协议和组件是众所周知的,并且将不在本文中详细讨论。可以通过有线或无线连接和其组合实现网络上的通信。在该实例中,网络包括英特网,并且该环境包括用于响应于其接受请求和提供内容的网页服务器106,然而就其他网络而言,可以使用满足相似目的的替换设备,这对于本领域的普通技术人员而言是明了的。

说明性环境包括至少一个应用服务器108和数据存储器110。应理解,可存在若干应用服务器,层或其他元件,进程或组件,其可以链接或以其他方式配置,其可以进行互动以执行任务如从适当数据存储器获得数据。如在本文中所使用的,术语“数据存储器”指能够存储、访问和检索数据的任何设备或设备的组合,其可包括在任何标准、分布和聚集环境中的任何组合和数量的数据服务器,数据库,数据存储设备和数据存储媒介。应用服务器可以包括任何适当硬件和软件,该硬件和软件用于按需与数据存储器整合以执行客户端设备的一个或多个应用方面,处理大部分数据访问和应用的业务逻辑。应用服务器协同数据存储器提供访问控制服务,并且能够生成将被传送到观看者的内容(如文本、图形、音频和/或视频),其在该实例中可以html、xml或其他适当结构化语言的格式通过网页服务器提供给观看者。可以通过网页服务器处理全部请求和响应的处理,以及客户端设备102与应用服务器108之间的内容传递。应理解网页和应用服务器不是必需的并且仅仅是示例组件,因为可以在如在本文其他地方讨论的任何适当设备或主机上执行本文讨论的结构化代码。

数据存储器110可以包括若干单独的数据表,数据库或用于存储与特定方面有关的数据的其他数据存储机构和媒介。例如,所述数据存储器包括用于存储生产数据112和用户信息116的机构,其可以用于提供生产端的内容。还示出了数据存储器包括用于存储日志数据114的机构,其可以用于报告、生成统计数据和其他这类目的。应理解这里可以有可能需要存储在数据存储器中的很多其他方面,如页面图像信息和访问权信息,其可以存储在数据存储器110中的上文中所列机构(视情况而定)中的任何一个中或在额外机构中。数据存储器110通过与其相关联的逻辑可操作来从应用服务器108接收指令并且响应于应用服务器108获得、更新或以其他方式处理数据。在一个实例中,观看者可能提交某一类型项目的搜索请求。在本例中,数据存储器可能访问用户信息以验证观看者的身份,并且可以访问目录详细信息以获得关于该类型项目的信息。随后可将信息返回给观看者,如在观看者经由用户设备102上的浏览器能够观看的网页上的结果列表中。可以在专用页面或浏览器窗口中观看特定兴趣项目的信息。

每个服务器通常将包括提供可执行程序指令以用于该服务器的通用管理和操作的操作系统,并且通常将包括存储指令的计算机可读介质,该指令当通过服务器的处理器执行时,允许服务器执行它的预期功能。用于服务器的操作系统和通用功能的合适实施方式是已知的或可通过市售获得,并且(特别地考虑到本公开)通过本领域的普通技术人员可以轻易地实施。

一个实施方案中的环境是利用若干计算机系统和组件的分布式计算环境,该计算机系统和组件使用一个或多个计算机网络或直接连接经由通信链路互连。然而,本领域的普通技术人员将了解这样一种系统可以在与图1中图示的组件相比具有更少或更多数量组件的系统中同样良好地运行。因此,本质上应将对图1中的系统100进行的描述视为说明性的,并且不限制本公开的范围。

图2示出示例环境200,其中可实施各种实施方案。可利用上文中关于图1描述的环境组件中的一个或多个实现环境200。环境200表示“增强现实”环境的实例。增强现实(ar)是物理,真实世界环境(其元素通过计算机生成的感官输入(如语音或图形)增强)的实时直接或间接视图的术语。照惯例,实时地和在有环境元素的语义语境中完成增强。借助先进的ar技术,关于用户周围真实世界的信息变成了互动式和可数码操控式。可以在真实世界中叠加关于环境和其对象的人工信息。

实施方案中的环境200包括多个用户201和203,其利用网络,如英特网206,以使用客户端计算(通信)设备202和204浏览各种内容提供商的内容。环境200可将英特网用作网络;然而,应理解可将其他网络用作英特网的替代物,或者除英特网以外还可以使用其他网络。其他网络的实例包括移动网络,企业内部网和大体上任何合适的通信网络。将了解大量用户和相关联的计算设备可进行变化并且仅仅出于说明性目的示出用户201和203和相关联的计算设备202和204。

如在上文中讨论的,客户端计算设备202或204可是配备有图像采集元件的任何移动通信设备,例如,移动电话,平板电脑,个人数字助理(pda),增强真实(ar)眼镜,头戴式显示器等等。设备202和204还可包括台式计算机,笔记本计算机,电子书阅读器,个人数字助理,视频游戏控制台或控制器,电视机顶盒和便携式媒体播放器等等。通信设备202或204可具有显示屏,其在普通操作下将信息显示给面向显示屏(例如,在计算设备与显示屏的同一侧上,如设备204图示)的用户(或观看者)。通过元件252和262图示客户端计算设备的显示屏的放大版本。

通信设备可以包括一个或多个图像采集元件,例如,包括设备前方的两个图像采集元件和设备后方的两个图像采集元件,然而应理解可以使用额外的或更少的图像采集元件,并且还可以或可替代地放置在设备上的侧、角或其他位置上。图像采集元件还可以是相似或不同的类型。每个图像采集元件可以是(例如)摄像机,电荷耦合设备(ccd),运动检测传感器或红外传感器,或可以利用其他图像采集技术。计算设备还可以包括至少一个麦克风或能够采集音频数据的其他音频采集元件,和一个或多个单星定向元件,如加速度计,陀螺仪,数字罗盘或惯性传感,其可以协助运动和/或定向。将参考图8更加详细描述包括客户端计算(通信)设备的组件。

再次参考图2,在实施方案中,用户201和203可访问通过内容提供商提供的内容以消费内容,搜索信息,购买供应用于消费或销售的项目,参与社交网络等等。如图2中所示,环境200可包括通过叠加服务器供应商244操作的通信服务器242和通过内容提供商248操作的通信服务器246。如在下文中将更加详细描述的,在一些实施方案中可无需后端服务器提供和支持所述功能。如所示的,在服务器之间分布通过服务器242和246提供的功能。大体上,可配置一个或多个服务器以提供在服务器242和246上实施的功能。相应地,在图2中将服务器242和246示作两个单独的元件仅仅用于说明性目的。如将要了解的,单个电子实体(未示出)可操作系统元件242、244、246和248。可替代地,不同的实体可控制元件242、244、246和248。电子实体或(多个)实体可以大量不同的方式操作,附属于供应商248中的一个或多个或与供应商248中的一个或多个相关联。

在实施方案中,环境200包括组件和指令,该组件和指令用于生成在设备屏幕252和262上的叠加元素256和266中呈现的内容。内容提供商248可提供各种类型的内容,如电子游戏,新闻,视频,购物或其他服务,搜索引擎服务,音频,社交网络服务等等。应理解可将任何类型的内容包括在环境200或其变化中。可以各种方式(如通过应用界面或通过可能不适合分类成网站的其他机构)提供内容。在图2图示的实例中,内容提供商248,经由内容服务器246,提供将在屏幕252和262上呈现的内容256和266,连同通过设备202和204分别通过它们的图像采集元件采集的对象208和210的图像254和264。

如图2中所示,用户201将其设备202指向对象208以采集随后在屏幕252上显示(254)的对象的图像。相似地,用户203将其设备204指向对象210以采集随后在屏幕262上显示(264)的对象的图像。在这一点上,启动检测组件218和识别组件220以确定通过与设备202(204)相关联的图像采集元件采集的对象208(210)是否可识别。在实施方案中,可在屏幕252(262)上,例如,在设备202(204)的摄像机(即,图像采集元件)的摄像机视图中显示对象。如果通过检测和识别组件218和220识别到对象,与通信服务器242和/或内容提供商服务器246相关联的叠加服务244从内容库250检索并且以特殊格式(例如,叠加元素256(266))提供与对象相关联的信息以与在屏幕252(262)上的图像对象254(264)叠加。

可以大量不同的方式将检测组件218、识别组件220和叠加服务244与系统200相关联。例如,执行这些元件中的一些或全部的指令可驻留在客户端设备202和204上,并且在客户端设备202和204上执行。可替换地,可使用通信服务器242和/或内容提供商服务器246经由网络206访问上述组件中的一些或全部。在一个实施方案中,叠加服务可驻留在客户端设备上而不是服务器上。此外,可将与库相关联的数据中的一些或全部存储(高速缓存)在驻留在客户端设备202(204)上的本地库270(280)中,如下文将更加详细描述。在下文中将参考图3-7更加全面地讨论检测、识别和叠加功能及其应用。

图3图示根据实施方案以(如呈现在电子设备上的)相关联的内容增强实时采集和显示的对象的图像的实例。如用来自摄像机并且指向兴趣对象的两个箭头示出的,用电子设备306的图像采集元件(例如,摄像机304)采集兴趣对象302(图书《战争与和平》)。电子设备显示器308呈现用图像采集元件304采集的对象302的图像310。如在上文中参考图2描述的,响应于对象识别和向叠加服务的提交,用包含基本上实时呈现的产品信息314的叠加元素312来增强图像310。在实施方案中,在(如在下文中更加详细描述的)计算的边界框316内呈现图像和叠加元素,该边界框316在至少一些实施方案中接近在显示的图像信息中的确定的对象的边界。这该实例中,叠加元素312是部分地与图书302的图像310叠加的并且包含在边界框内的矩形。应理解,在一些实施方案中边界框可以被计算但无需显示给终端用户。

图4是图示用于将摄像机实时视图中的图像与相关内容叠加的方法的流程图400。流程400始于框402,其中将对象放置在设备摄像机视图中。换言之,用户正在将与用户设备相关联的摄像机指向特定对象(例如,书架上的图书)并且有对象的帧出现在摄像机视图中。在决策框406处,确定是否已经以检测算法检测到任何对象特征。如果未检测到特征,流程移动到框422。在决策框410处,如果检测到至少一个对象特征,确定是否识别到与所确定的特征相关联的对象。如果未识别到对象,流程400移动到框422。如果识别到对象,流程移动到框414,其中将对象与在项目库中存储的产品或项目进行比较。在一个实施方案中,可将项目或产品信息高速缓存在与客户端设备相关联的存储器中。如果在决策框414处,未发现匹配,流程移动到框422。在框418处,如果发现匹配,将产品信息呈现给用户。在框422处,将帧和该帧中的选择的特征发送到服务器以用于进一步对象识别。因此,本地客户端对象识别和服务器端对象识别可在两个阶段中发生。在一个实施方案中,当将包含对象的图像的帧发送到服务器时,与对象识别相关联的全部任务在服务器端上发生。随后流程400结束。

图5是图示根据实施方案在服务器端上的对象识别技术的实例的流程图。流程500始于框502,其中从客户端设备接收采样帧。在框506处,将在采样帧中确定的对象特征与存储项目(产品)的对象特征进行比较。在下文中更加详细地描述检测/识别技术。在决策框510处,确定是否发现与任何存储对象的匹配。在框514处,如果发现匹配,将与匹配产品相关联的信息发送到客户端设备用于叠加。随后流程500结束。

图6是图示对象特征检测例程600的实例的流程图。流程600始于框602,其中确定指向对象的设备处于稳定状态以确保所采集图像的足够质量,所采集图像将提供用于成功的对象检测和识别。可使用各种技术(例如,使用与加速度计、固态罗盘、陀螺仪等等相关联的传感器输入)来完成对摄像机是否稳定的判断。在框606处,识别到当前帧中的兴趣点。可通过使用(例如)兴趣点检测算法,如哈里斯兴趣点检测算法(harrisinterestpointsdetectionalgorithm),莫拉维茨角检测算法(moraveccornerdetectionalgorithm),fast等等识别兴趣点。

在框610处,计算与每个兴趣点相对应的特征。特征是与解决与某一应用有关的计算任务有关的一条信息。更具体地而言,特征可以指应用于图像,或图像自身中的具体结构(从简单结构如点或边缘到更复杂的结构如对象)的一般领域运算的结果(特征提取器或特征检测器)。特征的其他实例与图像序列中的运动有关,与根据不同图像区域之间的曲线或边界定义的形状有关,或与这样一种区域的属性有关。可使用,例如,特征计算算法如accumulatedsignedgradient(asg)等等计算在每个兴趣点处的特征。在框616处,计算在当前采样帧与前一采样(例如,最后采样)帧中的特征之间的对应。可将特征之间的对应用于确定单应矩阵,即特征点之间几何学上地一致变换。本领域技术人员已知单应矩阵是将一组特征点从给定位置变换到新变换位置的矩阵。更一般而言,单应矩阵是从真实投影平面到将直线映射到直线的投影平面的可逆变换。在计算机视觉领域,通过单应矩阵使空间中相同平坦表面的任何两个图像有关。在框618处,追踪图像特征。可使用单应矩阵追踪图像特征。可使用,例如,ransac算法计算单应矩阵。如果来自前一追踪帧的单应矩阵足够大,则选择并且准备帧用于下文中参考图7描述的识别阶段。

这里有若干普通类型的信息,其可帮助指明将什么对象显示在帧里。一个这类实例是唯一地识别对象的条形码。相应地,在决策框630处,如果在帧中检测到条形码,在框622处准备条形码图像数据并且将其提交到的识别算法。可帮助识别对象的另一种普通类型的信息是文本信息。因此,如果未检测到条形码,则在框634处确定图像中是否存在任何文本。如果检测到文本,准备文本以用于随后搜索。另一种普通类型的信息是帧内的图像(例如,人的面部)。在决策框638处,如果未检测到文本,确定是否检测到图像内的任何面部。如果未检测到面部,流程结束。如下文中参考图6描述的,如果确实检测到面部,准备包含面部的图像以用于面部识别算法。随后流程600结束。尽管上文中讨论了条形码、文本信息和面部图像,但是仍可将帧内的其他类型的信息用于检测帧内的对象。

图7是描述根据实施方案的对象识别的实例的流程图。流程700始于框702,其中处理了条形码图像数据。在决策框706处,确定条形码是否有效。出于该目的,可使用条形码解码技术解码条形码并且随后根据upc-a、upc-e或其他已知条形码标准确认条形码有效性。如果条形码不是有效的(或是难以辨认的),流程继续进行到框714处。如果条形码是有效的,检索与条形码相关联的产品信息。产品信息可包括关于产品(即对象)的各种数据,包括在实施方案中的产品名称和产品价格。

在决策框714处,如下文中参考图6描述的,确定是否通过检测算法发现了任何追踪特征。如果未发现这类特征,流程移动到决策框742。在框718处,如果发现任何特征,将特征与在与客户端设备有关的本地库中存储的产品特征进行比较。在决策框722处,确定任何追踪特征与在本地库中存储的前一检测产品的产品特征是否匹配。在框726处,如果发现匹配,则从本地库检索高速缓存产品信息。在框730处,如果未发现匹配,随后将图像帧发送到服务器并且服务器将帧中的追踪特征与在远离客户端设备的库中存储的产品特征进行比较。这可有利于检测产品以及从本地库检索相关联的产品信息,因为这是确定所需产品信息的快捷方法。如果未在本地库中发现产品信息,将图像帧发送到服务器以用于进一步检测/识别。在决策框734处,确定是否发现追踪特征与在远程库中存储的产品特征之间的任何匹配(或可接受水平的相关性)。如果未发现匹配(相关性),流程移动到决策框742。如果发现匹配(相关性),在框738处检索与有匹配特征的产品相关联的产品信息并且流程结束。

如上文中讨论的,这里有用于检测对象(包括文本数据、条形码数据或面部数据)的若干普通类型的信息。在决策框742处,确定是否接收到任何文本数据。如果接收到文本数据,可验证文本并且,如果发现是有效的,在框738处可将识别的文本用于检索与该识别的文本相关联的产品信息。在决策框746处,如果未接收到文本数据,确定是否接收到面部数据。在决策框760处,如果未接收到面部数据,确定是否识别到面部。在框768处,如果识别到面部,识别与识别的面部相关联的信息。在一个实施方案中,信息可包括与个人(其面部已被识别)有关的数据。在框764处如果未识别到面部,允许用户使用相关名称对用户摄像机视图中显示的面部作注解以用于未来识别目的。随后流程700结束。

在一个实施方案中,可特定地应用识别算法。具体而言,如果在用户设备上执行识别算法,以优化cpu使用,当该识别算法的部分中的一个在进行中(例如,如条形码识别)时,随后可不执行其他部分(例如,产品封面识别)。

图8是图示叠加例程800实例的流程图。流程800始于框802,其中计算了初始边界框。可通过将在库中发现的对象的图像角映射到使用通过成功图像匹配表明的单应矩阵以查询提交的图像来计算初始边界框。在框806处,更新边界框。可通过应用来自追踪初始边界框的角的单应矩阵计算每个帧的更新的边界框。实际上,计算旨在描绘围绕用户的视图中的图像的边界框。

边界框计算可能并不总是可靠的。例如,可将极少特征点用于追踪,该特征点可覆盖图像的极小一部分,或单应矩阵可是不稳定的。为了限制边界框的不规则变化,可检查单应矩阵的有效性,使得框不具有超越特定(例如,预定)水平的透视变形,并且该边界不会不切实际地变化。可将边界框“快照”到最近的锐边以使边界框看起来更加自然。

在框814,可将叠加内容叠加在用户视图中。仅举例来说,叠加内容可以是可选择的内容(例如,“购买”按钮),使得用户可以单击和用摄像机视图内的最小气力购买在显示屏中显示的产品。可将这个技术描述作“增强现实中的单击”。

在框818处,检索产品信息可在计算的边界框内增强(叠加)在用户视图中的图像。产品信息可进行变化。例如,产品信息可包括(但可不限于)项目价格,客户评价,评论,描述,其他格式的相同产品的特价优惠和促销链接,数字下载的连接,列表,客户讨论,与通过已购买了对象(产品)的客户购买的其他产品有关的信息等等。在框818中叠加的信息是可选的。

在框822处,将叠加内容格式化到边界框上。在实施方案中,这可以3d格式完成以充分显示“房地产”。例如,叠加元素可包括3d结构(如立方体),其可将用户的视图中的对象的图像叠加到设备的显示器上。立方体的每面墙可包含与产品(对象)有关的内容,例如,一面墙可显示产品的价格,另一面墙可显示产品评论等等。除产品信息之外或替代产品信息,还可将可选择的内容元素(例如,“购买”,“添加到购物车”或“选择”按钮)添加叠加元素(例如,上文中描述的3d结构)以使用户能够与显示的内容互动。

其他类型的内容(而不是上文中讨论的内容)可与在用户的视图中显示的图像叠加。例如,如在框826处所示的,可将产品的视频预览显示给对象的图像的边界内的用户。在实施方案中,可提供dvd(将其内容显示在用户的视图中)的电影预览,可提供显示的玩具的游戏预览,可提供解释如何使用特定产品的视频等等。在框830处,还可将与产品有关的3d动画提供给用户。例如,如果对象(其图像已被采集)是图书,可提供示出图书封面开篇并且显示图书中内容的动画。如上文中描述的,可将可选择的(“可点击的”)内容元素添加到动画并且制作为细节和进一步内容链接以如框834所示的使用户能够与内容互动。因此,在上文中实例中,有添加的可选择的内容元素的动画可允许用户“翻转”显示的图书的页面并且示出每个翻转页面的内容。随后流程800结束。

图9是描述用于标记向用户呈现的对象(例如,项目或产品)的方法的流程图。标记项目可允许用户创建产品列表并且从创建的列表抽取信息。可,例如,通过社交网络(例如,通过)与其他用户共享创建的列表和列表内的单个产品。流程900始于框902其中如上文中参考图3-5描述的识别产品。在决策框906处,确定是否识别到产品。在框908处,如果识别到产品,例如,以当前位置和时间戳标记识别的项目。在框912处,如果未识别到产品,将允许用户将标记添加到产品,例如,手动地添加产品定义或描述。

在框916处,向用户提供额外互动能力。例如,将允许用户点击显示的产品,与朋友共享产品,通过位置或关键字搜索产品,将产品示作实时显示视图中的缩略图并且允许用户点击缩略图以查看详情,导出产品列表(例如,如邮件或文件)供用户使用,添加文本标签等等。在上文中讨论的图书实例中,用户可将标签添加到说明将图书借给用户的朋友或图书属于用户的程序库的产品。随后流程900结束。

图10描述通信设备1000(如关于图2描述的设备202)的一组基本组件。在该实例中,设备包括至少一个处理器1002,其用于执行可以存储在存储器设备中的指令或元件1004。指令可包括与上文描述的检测,识别和叠加组件有关的指令。设备可包括很多类型的存储器,数据存储器或计算机可读介质,如用于通过处理器1002执行的程序指令的第一数据存储器,可以用于图像或数据的相同或单独的存储器,可以用于与其他设备共享信息的可移动存储器和可以用于与其他设备共享的任何数量的通信途径。设备通常将包括至少一种类型的显示元件1006,如触摸屏,电子油墨(e-ink),有机发光二极管(oled)或液晶显示器(lcd),然而设备(如便携式媒体播放器)可能经由其他手段(如通过扬声器)传达信息。

如讨论的,很多实施方式中的设备将包括至少两个图像采集元件1008,如安置来确定观看者的相对位置的至少一个图像采集元件和可操作来使邻近设备的用户、人或其他可观看的对象成像的至少一个图像采集元件。图像采集元件可以包括任何适当技术,如具有足够解析度、焦距范围和可观看区域的ccd图像采集元件,以当用户正在操作设备时采集用户的图像。用于使用有计算设备的图像采集元件采集图像或视频的方法是本领域众所周知的并且将不在本文中详细讨论。应理解可以使用单个图像、多个图像、周期成像、连续图像采集、图像流等等执行图像采集。

设备可以包括至少一个定向元件1010,如加速度计,数字罗盘,电子陀螺仪或惯性传感,其可以协助确定设备定向中的运动或其他变化。设备可包括至少一个额外输入设备1012,其能够从用户接收常规输入。这个常规输入可以包括,例如,下压按钮,触摸板,方向盘,操作杆,键盘,鼠标,轨迹球或任何其他这类设备或元件,使得用户可以将命令输入到设备。甚至可以通过无线红外或蓝牙或在一些实施方案中的其他链接连接这些输入输出(i/o)设备。然而,在一些实施方案中,这样一种设备可能根本不包括任何按钮并且可能仅通过视觉和音频命令的组合控制,使得用户可以控制设备而无需与该设备接触。

图11描述(根据上文中参考图6相当详细描述的)实施方案以(如呈现在电子设备上的)相关联的内容增强实时采集和显示的对象的图像的实例1100。如上文中参考图8描述的,电子设备显示器1102包括以电子设备的图像采集元件(例如,摄像机)采集的对象的图像1104。该实例中的叠加元素是立方体1106形状的3d结构,该立方体1106与图像1104叠加。如示出的,立方体的全部侧显示关于图书(《战争与和平》,列夫托尔斯泰)的不同信息。例如,侧1108包括各种版本(精装本和平装本)的图书价格。侧1110包括名为“编辑评论”的可选择的元素,其链接到关于图书的评论。侧1112包括已购买图书(例如,列夫托尔斯泰所著的《安娜·卡列尼娜》)的用户所购买的该图书的描述。如上文中参考图7描述的,可通过用户移动立方体并且不同侧可示出不同的产品信息。因此,在图11中呈现的叠加实例允许用户与叠加的内容互动并且围绕显示屏移动叠加元素(立方体1106),使得立方体的全部侧均可示出和显示与产品的显示的图像相关联的各种产品信息。

如上文讨论的,可在种类繁多的操作环境中实施各种实施方案,其在一些情况下可以包括一个或多个计算机,计算设备或处理设备,其可以用于操作大量应用中的任何一个。客户端设备可以包括大量通用个人计算机中的任何一个,如运行标准操作系统的台式或笔记本电脑,以及运行移动软件并且能够支持大量社交和信息协议的蜂窝,无线或手持式设备。这样一种系统还可以包括运行各种各样可通过市售获得的操作系统和其他用于如开发和数据库管理目的的其他已知应用的大量工作站。这些设备还可以包括其他电子设备,如虚拟终端,瘦客户端,游戏系统和能够经由网络通信的其他设备。

还可以将各种方面实施为至少一个服务或网页服务的部分,如可为服务导向架构的部分。服务如网页服务可以使用任何适当类型的消息通信,如通过使用可扩展标记语言(xml)格式和使用适当的协议如soap(来源于“简单对象访问协议”)交换的消息。可以任何适当语言,如互联网服务定义语言(wsdl)编写这类服务提供或执行的处理。使用如wsdl的语言允许如各种soap框架中的客户端代码的自动生成的功能。

大多数实施方案利用本领域技术人员熟悉的用于使用各种各样的可通过市售获得的协议(如tcp/ip,osi,ftp,upnp,nfs,cifs和appletalk)中的任何一个支持通信的至少一个网络。网络可以是,例如,局域网,广域网,虚拟专用网,英特网,企业内部网,企业外部网,公用交换电话网,红外线网,无线网和任何其组合。

在利用网页服务器的实施方案中,网页服务器可以运行各种各样的服务器或中层应用,包括http服务器,ftp服务器,cgi服务器,数据服务器,java服务器和业务应用服务器。响应于来自客服端设备的请求,服务器还可能够执行程序或脚本,如通过执行可实施为以任何编程语言(如c,c#,或c++或任何脚本语言,如perl,python或tcl,以及其组合)编写的一个或多个脚本或程序的一个或多个网页应用。服务器还可以包括数据库服务器(包括但不限于)那些可从市售获得的数据服务器。

如下文中描述的,环境可以包括各种各种的数据存储器和其他存储器和存储媒介。这些可以驻留在各种各种的位置中,如接近(和/或位于)计算机中的一个或多个或远离整个网络上的计算机中的任何一个或全部的存储媒介上。在一组特定的实施方案中,信息可驻留在本领域技术人员熟悉的存储区域网络(“san”)中。相似地,可(视情况而定)本地和/或远程地存储用于执行计算机,服务器或其他网络设备功能的任何需要的文件。若系统包括计算化设备,每个这类设备可以包括可经由总线电耦合的硬件元件,该元件包括(例如)至少一个中央处理单元(cpu),至少一个输入设备(例如,鼠标,键盘,控制器,触摸屏或触摸板)和至少一个输出设备(例如,显示设备,打印机或扬声器)。这样一种系统还可以包括一个或多个存储设备,如磁盘设备,光学存储设备和固态存储设备如随机访问存储器(“ram”)或只读存储器(“rom”),以及可移动媒介设备,存储卡,闪存卡等等。

如上文中描述的,这类设备还包括计算机可读存储媒介阅读器,通信设备(例如,调制解调器,网卡(有线或无线),红外线通信设备)和工作存储器。可将计算机可读存储介质阅读器与表示用于暂时和/或永久地包含,存储,传送和检索计算机可读信息的远程,本地,固定和/或可移动的存储设备以及存储媒介的计算机可读存储介质连接,或配置计算机可读存储介质阅读器来接收该计算机可读存储介质。通常系统和各种设备还将包括大量软件应用,模块,服务或定位于至少一个工作存储器设备内的其他元件,包括操作系统和应用程序,如客户端应用或网页浏览器。应了解根据上文描述的内容替换实施方案可具有众多变化。例如,还可能使用定制硬件和/或可能在硬件,软件(包括便携式软件,如小应用程序)或二者中实施特定元件。此外,可以运用到其他计算设备如网络输入/输出设备的连接。

用于包含代码或代码部分的存储媒介和计算机可读媒介可以包括本领域已知或使用的任何适当媒介,包括存储媒介和通信媒介(如但不限于)以用于信息(如计算机可读指令,数据结构,程序模块或其他数据)存储和/或传送的任何方法或技术实施的易失性和非易失性,可移动和不可移动媒介,包括ram,rom,eeprom,闪速存储器或其他存储器技术,cd-rom,数字多功能光碟(dvd)或其他光学存储器,磁带盒,磁带,磁碟存储器或其他磁存储设备或可以用于储存所需信息并且可以通过系统设备访问的任何其他介质。

基于本文提供的公开和教导,本领域的普通技术人员将了解实施各种实施方案的其他方式和/或方法。

条款:

1.一种用于以相关联的内容增强基本上实时采集和显示的对象的图像或流的计算机实施方法,其包括:

在以可执行指令配置的一个或多个计算机系统的控制下,

使用通过用户操作的电子设备的图像采集元件采集对象的图像的流中的至少一个图像;

在所述电子设备的显示元件上显示所述所采集的至少一个图像;

确定定义所述对象的一个或多个特征,所述一个或多个特征来源于所述对象的所述至少一个图像;

将定义所述对象的所述确定的一个或多个特征与定义在项目库中存储的多个项目的特征匹配;

当发现匹配时,从所述项目库检索与所述匹配项目相关联的内容,所述内容包括所述用户可选择的内容元素;以及

在所述电子设备的所述显示元件上基本上实时地显示叠加元素中的所述检索内容,使得所述叠加元件增强在所述电子设备的所示显示元件上显示的所述图像,

其中所述用户通过访问所述用户可选择的所述内容元素能够与在叠加元素中显示的所述检索内容互动。

2.根据条款1所述的计算机实施方法,其中所述叠加元素通过与所述图像叠加增强所述图像,其中所述叠加元素选自下列各项中的一个:框,按钮,三维(3d)结构,动画,音频,视频,网页或互动式用户界面。

3.根据条款1所述的计算机实施方法,其中所述电子设备的图像采集元件选自视频摄像机或照片摄像机中的一个。

4.一种用于以相关联的内容增强基本上实时采集和显示的对象的图像的计算机实施方法,其包括:

在以可执行指令配置的一个或多个计算机系统的控制下,

接收定义通过电子设备基本上实时采集的视频的采样帧的信息;

至少部分地基于所述接收的信息确定表示在所述采样帧中采集的对象的信息;

促使所述确定的信息与定义多个项目的存储信息匹配以定位与所述所采集对象匹配的项目;

检索与所述匹配项目相关联的内容;以及

提供所述检索内容用于在所述电子设备上与所述所采集图像一同显示,

其中在叠加元素中呈现所述检索内容,所述叠加元素与在所述电子设备上显示的所述所采集图像叠加。

5.根据条款4所述的计算机实施方法,其中所述内容包括所述用户可选择的内容元素,所述内容元素包括下列各项中的至少一个:按钮或超链接。

6.根据条款4所述的计算机实施方法,其中所述内容包括与所述项目相关联的信息,所述信息包括下列各项中的至少一个:项目价格,所述项目的描述,所述项目的客户评价,所述项目的客户评论,与所述项目有关的特价优惠和促销,与所述项目有关的产品有关的信息,或所述用户可选择的使所述用户能够购买所述项目的至少一个内容元素。

7.根据条款4所述的计算机实施方法,其中将所述确定的信息与在所述电子设备处的存储信息匹配并且其中将定义多个项目的信息存储在与所述电子设备相关联的本地库中。

8.根据条款4所述的计算机实施方法,其中将所述确定的信息与远离所述电子设备的存储信息匹配并且其中将定义多个项目的信息存储在远程库中。

9.根据条款4所述的计算机实施方法,其还包括:

当在一个或多个对象与存储项目之间发现多个匹配时,确定到每个对象的大量匹配项目。

10.根据条款4所述的计算机实施方法,其还包括:以当前位置标识符或时间戳中的至少一个标记所述匹配项目。

11.一种用于以相关联的内容增强实时采集和显示的对象的图像的计算机实施方法,

其包括:

在以可执行指令配置的一个或多个计算机系统的控制下,

以电子设备采集对象的至少一个图像,通过所述电子设备显示所述所采集图像至少部分地基于所述对象的所述至少一个所采集图像确定表示所述对象的信息;

将所述确定的信息与定义多个项目中的每个项目的存储信息匹配;

从所述库检索与所述匹配项目相关联的内容;

将所述所采集图像与在叠加元素中呈现的所述检索内容叠加,所述检索内容包括至少一个可选择的内容元素;以及

响应于用户选择所述至少一个可选择的内容元素,将所述所采集图像与所述内容元素相关联的内容叠加。

12.根据条款11所述的计算机实施方法,其还包括:使所述用户能够输入第二叠加元素并且以所述第二叠加元素内的关于所述对象的额外内容标记所述对象。

13.根据条款11所述的计算机实施方法,其还包括:响应于所述用户在所述叠加元素中输入搜索查询,检索相对应于所述搜索查询的搜索结果。

14.根据条款11所述的计算机实施方法,其中所述叠加元素包括框。

15.一种用于以相关联的内容增强实时采集和显示的对象的图像的计算机系统,其包括:

处理器;和

具有计算机可执行指令的存储器,所述计算机可执行指令当在所述处理器上执行时,促使所述处理器:

接收定义通过电子设备基本上实时采集的视频的采样帧的信息;

至少部分地基于所述接收的信息确定表示在所述采样帧中采集的对象的信息;

促使所述确定的信息与定义多个项目的存储信息匹配以定位与所述所采集对象匹配的项目;

检索与所述匹配项目相关联的内容;

提供所述检索内容用于在所述电子设备上与所述所采集图像一同显示;以及

促使在叠加元素中呈现所述检索内容,所述叠加元素与在所述电子设备上显示的所述所采集图像叠加。

16.根据条款15所述的计算机系统,其中所述内容包括所述用户可选择的内容元素,所述内容元素包括下列各项中的至少一个:按钮或超链接。

17.根据条款15所述的计算机系统,其中所述内容包括与所述项目相关联的信息,所述信息包括下列各项中的至少一个:项目价格,所述项目的描述,所述项目的客户评价,所述项目的客户评论,与所述项目有关的特价优惠和促销,与所述项目有关的产品有关的信息,或所述用户可选择的使所述用户能够购买所述项目的至少一个内容元素。

18.根据条款15所述的计算机系统,其中所述计算机可执行指令还促使所述处理器以当前位置标识符或时间戳中的至少一个标记所述匹配对象。

19.根据条款16所述的计算机系统,其中所述计算机可执行指令还促使所述处理器,响应于所述用户选择内容元素,检索并且提供与所述内容元素相关联的信息,所述信息与所述所采集图像叠加。

20.一种用于以相关联的内容增强实时采集和显示的对象的图像的具有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令当通过计算机执行时,促使所述处理器:

接收定义通过电子设备基本上实时采集的视频的采样帧的信息;

至少部分地基于所述接收的信息确定表示在所述采样帧中采集的对象的信息;

促使所述确定的信息与定义多个项目的存储信息匹配以定位与所述所采集对象匹配的项目;

检索与所述匹配项目相关联的内容;

提供所述检索内容用于在所述电子设备上与所述所采集图像一同显示;以及

促使在叠加元素中呈现所述检索内容,所述叠加元素与在所述电子设备上显示的所述所采集

图像叠加。

21.根据条款20所述的计算机可读存储介质,其中所述内容包括所述用户可选择的内容元素,所述内容元素包括下列各项中的至少一个:按钮或超链接。

22.根据条款20所述的计算机可读存储介质,其中所述内容包括与所述项目相关联的信息,所述信息包括下列各项中的至少一个:项目价格,所述项目的描述,所述项目的客户评价,所述项目的客户评论,与所述项目有关的特价优惠和促销,与所述项目有关的产品有关的信息,或所述用户可选择的使所述用户能够购买所述项目的至少一个内容元素。

23.根据条款20所述的计算机可读存储介质,其中所述叠加元素是框。

24.根据条款21所述的计算机可读存储介质,其中所述计算机可执行指令还促使所述计算机,响应于所述用户选择内容元素,检索并且提供与所述内容元素相关联的信息,所述信息与所述所采集图像叠加。

25.根据条款10所述的计算机实施方法,其还包括:查询所述标记项目以确定所述项目的当前位置。

相应地,将说明书和附图看作是说明性的而非是限制性的。然而,显然在不脱离如权利要求书所述的更广精神和本公开范围的情况下可对其做出各种修改和变化。

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