用于视觉查询的可采取动作的搜索结果的制作方法

文档序号:6351884阅读:167来源:国知局
专利名称:用于视觉查询的可采取动作的搜索结果的制作方法
技术领域
所公开的实施例一般地涉及创建与视觉查询中的实体相对应的一个或多个可采取动作(actionable)的搜索结果元素。
背景技术
其中用户向搜索引擎中输入词或短语并且接收各种结果的基于文本或基于词语的捜索是ー种用于搜索的有用工具。然而,基于词语的查询需要用户能够输入相关词语。有时用户会希望了解与图像相关的信息。例如,用户可能想要知道照片中人物的名字,或者用户可能想要知道杂志中的图片中的花或鸟的名称。个人可能还会希望与图像中的人联系或者购买图像中的项目。因此,将需要一种能够接收图像,将其转换为视觉查询,并且提供与在视觉查询中所识别的实体相对应的可采取动作的捜索结果元素的系统。

发明内容
通过提供以下所描述的方法、系统、计算机可读存储介质和图形用户界面(GUI)来对以上所描述的ー些局限和缺点进行描述。一些实施例提供了提供以下内容的方法、系统、计算机可读存储介质和图形用户界面(GUI)。根据ー些实施例,一种计算机实现的处理视觉查询的方法包括在服务器系统上执行以下操作,所述服务器系统具有一个或多个处理器以及存储供所述ー个或多个处理器执行的一个或多个程序的存储器。由所述服务器系统从客户端系统接收视觉查询。在ー些实施例中,通过将视觉查询发送到实现视觉查询捜索处理的至少ー个捜索系统,并且从搜索系统中的一个或多个接收多个搜索结果,来对所述视觉查询进行处理。无论服务器系统是否将视觉查询发送至捜索系统,所述服务器系统都对所述视觉查询中的实体进行识别。其还识别与所识别实体相对应的一个或多个客户端侧动作。接着,其创建被配置为启动所述客户端侧动作中的一个的可采取动作的搜索结果元素。在一些实施例中,其创建被配置为启动多个客户端侧动作的多个可采取动作的捜索結果。最后,所述服务器系统将(多个)可采取动作的捜索结果元素以及所述多个捜索结果中的至少ー个发送到所述客户端系统。在一些实施例中,所述可采取动作的捜索结果元素不同于所述多个搜索結果。一些实施例提供了创建多个可采取动作的搜索结果按钮并且将它们发送到客户端系统,所述多个可采取动作的搜索结果按钮中的每ー个被配置为启动唯一的客户端动作。在一些实施例中,所述方法还包括识别与所识别实体相对应的多个不同的客户端侧动作。接着,所述服务器系统创建两个或更多可采取动作的捜索结果元素,所述两个或更多可采取动作的搜索结果元素中的每ー个被配置为启动所识别的多个客户端侧动作中的相应客户端侧动作。所述服务器系统接着将所述两个或更多可采取动作的捜索结果元素发送到所述客户端系统。在一些实施例中,识别实体包括使用非OCR图像匹配过程来识别视觉查询中的实体。
在一些实施例中,相应客户端侧动作是以下的ー个或多个对电话号码发起呼叫、即时消息发送、传呼、传真、发送电子邮件、社交网络通信,以及通过另ー种通信机制进行通ィ目。在一些实施例中,视觉查询中所识别的实体可以是人、与人相关联的姓名或其它标识符、条形码、标志、企业、组织、建筑物、建筑物或物理结构群组、邮政地址、地标、地理实体、产品或服务。以上所提到的方法可选地还包括向客户端系统发送具有可采取动作的捜索结果元素的视觉查询的表示,所述可采取动作的捜索结果元素覆盖所述视觉查询的表示的至少一部分。在其它实施例中,所述发送包括向客户端系统发送用于视觉呈现覆盖所述视觉查询的至少一部分的可采取动作的捜索结果元素的信息。可选地,当所识别的实体是电话号码时,所述可采取动作的捜索结果元素是用于对所述电话号码发起电话呼叫的按钮(即,可以看上去类似或不类似按钮的独立用户界面 元素)。当所识别的实体是电子邮件地址时,所述可采取动作的捜索结果元素是用于发起到所述电子邮件地址的电子邮件消息的编写的按钮。当所识别的实体是邮政地址时,所述可采取动作的捜索结果元素是用于对该地址绘制地图的按钮。在一些实施例中,绘制地图包括以下至少ー个提供识别邮政地址的位置的地图,提供到邮政地址的行车路线指引,提供始于邮政地址的行车路线指引、提供包括邮政地址的航空照片,以及提供对应于邮政地址的街景图像。可选地,所述可采取动作的捜索结果元素被配置为向联系人列表添加信息。所述信息可以包括以下的ー个或多个姓名、电子邮件地址、电话号码、传真号码、邮政地址、即时消息地址、公司名称、组织名称、URL和社交网络联系人。在一些实施例中,当实体是产品时,所述可采取动作的捜索结果元素被配置为提供以下的ー个或多个产品评论、发起产品购买的选项,以及发起对产品出价的选项,类似广品的列表和相关广品的列表。一些实施例提供了在所识别实体是人或者与人相关联的标识符时,所述多个捜索结果包括与所述人相关联的通信地址,并且所述可采取动作的捜索结果元素被配置为使用所述通信地址启动通信。在一些实施例中,所述可采取动作的捜索结果包括与人相关联的标识符,并且所述标识符是人的姓名、人的面部图像、与人相关联的标识号码、与人相关联的电话号码、与人相关联的传真号码、与人相关联的社交网络标识符和/或与人相关联的电子邮件地址中的ー个。在一些实施例中,除了可采取动作的搜索结果元素之外,还提供被配置为共享或上传视觉查询的至少一部分的可采取动作的元素。一些实施例提供了提供以下内容的方法、系统、计算机可读存储介质和图形用户界面(GUI)。根据ー些实施例,一种计算机实现的处理视觉查询的方法包括在客户端系统上执行以下步骤,所述客户端系统具有一个或多个处理器、显示器以及存储供所述ー个或多个处理器执行的一个或多个程序的存储器。从诸如图像捕捉应用的应用接收视觉查询。所述客户端系统从所述图像创建视觉查询。接着,所述客户端系统将视觉查询发送到视觉查询搜索系统。所述视觉查询搜索系统如以上所讨论的对所述视觉查询进行处理。所述客户端系统从所述视觉查询搜索系统接收可采取动作的捜索结果元素,所述可采取动作的捜索结果元素被配置为启动客户端侧动作。所述可采取动作的捜索结果元素对应于视觉查询中的实体。所述客户端系统使用视觉查询客户端应用在显示器上显示所述可采取动作的捜索结果元素。所述客户端系统接着接收对所述可采取动作的捜索结果元素的用户选择,并且启动与所选择的可采取动作的搜索结果元素相对应的客户端侧动作。所述客户端侧动作在不同于所述视觉查询客户端应用的客户端应用中启动。在一些实施例中,所述不同于视觉查询客户端应用的客户端侧应用是电子邮件应用、浏览器应用、电话应用、即时消息应用、社交网络应用或地图应用。在一些实施例中,提供了一种服务器系统,所述服务器系统包括用于执行程序的ー个或多个中央处理单元以及存储由所述ー个或多个中央处理单元执行的ー个或多个程序的存储器。所述程序包括用于执行以下内容的指令。从客户端系统接收视觉查询。在一些实施例中,通过将视觉查询发送到实现视觉查询搜索过程的至少ー个捜索系统,并且接着服务器从捜索系统中的一个或多个接收多个搜索结果来对所述视觉查询进行处理。无论服务器系统是否将视觉查询发送至捜索系统,所述服务器系统都对所述视觉查询中的实体进行识别。其还识别与所识别实体相对应的一个或多个客户端侧动作。接着,其创建配被 置为启动所述客户端侧动作中的一个的可采取动作的捜索结果元素。在一些实施例中,其创建被配置为启动多个客户端侧动作的多个可采取动作的捜索結果。最后,所述服务器系统将(多个)可采取动作的捜索结果元素以及所述多个捜索结果中的至少ー个发送到所述客户端系统。这样的服务器系统还可以包括用于执行以上所讨论的额外选项的程序指令。在一些实施例中,提供了一种客户端系统,其包括用于执行程序的ー个或多个中央处理単元、显示器以及存储由所述ー个或多个中央处理单元执行的ー个或多个程序的存储器。所述程序包括用于执行以下内容的指令。从诸如图像捕捉应用的应用接收视觉查询。所述客户端系统从所述图像创建视觉查询。接着,所述客户端系统将视觉查询发送到视觉查询搜索系统。所述视觉查询搜索系统如以上所讨论的对所述视觉查询进行处理。所述客户端系统从所述视觉查询搜索系统接收可采取动作的捜索结果元素,所述可采取动作的搜索结果元素被配置为启动客户端侧动作。所述可采取动作的捜索结果元素对应于视觉查询中的实体。所述客户端系统使用视觉查询客户端应用在显示器上显示所述可采取动作的搜索结果元素。所述客户端系统接着接收对所述可采取动作的捜索结果元素的用户选择,并且启动与所选择的可采取动作的搜索结果元素相对应的客户端侧动作。所述客户端侧动作在不同于所述视觉查询客户端应用的客户端侧应用中启动。这样的客户端系统还可以包括用于执行以上所讨论的额外选项的程序指令。一些实施例提供了一种存储被配置为供计算机实现的ー个或多个程序的计算机可读存储介质。所述程序包括用于执行以下内容的指令。从客户端系统接收视觉查询。在一些实施例中,通过将视觉查询发送到实现视觉查询搜索过程的至少ー个捜索系统,并且服务器然后从ー个或多个搜索系统接收多个搜索结果来对所述视觉查询进行处理。无论服务器系统是否将视觉查询发送至捜索系统,所述服务器系统都对所述视觉查询中的实体进行识别。其还识别与所识别实体相对应的一个或多个客户端侧动作。接着,其创建配被置为启动所述客户端侧动作之一的可采取动作的搜索结果元素。在一些实施例中,其创建被配置为启动多个客户端侧动作的多个可采取动作的捜索結果。最后,所述服务器系统将可采取动作的捜索结果元素以及所述多个捜索结果中的至少ー个发送到所述客户端系统。这样的计算机可读存储介质还可以包括用于执行以上所讨论的额外选项的程序指令。一些实施例提供了一种存储被配置为供计算机实现的ー个或多个程序的计算机可读存储介质。所述程序包括用于执行以下内容的指令。从诸如图像捕捉应用的应用接收视觉查询。所述客户端系统从所述图像创建视觉查询。接着,所述客户端系统将视觉查询发送到视觉查询搜索系统。所述视觉查询搜索系统如以上所讨论的对所述视觉查询进行处理。所述客户端系统从所述视觉查询搜索系统接收可采取动作的捜索结果元素,所述可采取动作的捜索结果元素被配置为启动客户端侧动作。所述可采取动作的捜索结果元素对应于视觉查询中的实体。所述客户端系统使用视觉查询客户端应用在客户端显示器上显示所述可采取动作的捜索结果元素。所述客户端系统接着接收对所述可采取动作的捜索结果元素的用户选择,并且启动与所选择的可采取动作的捜索结果元素相对应的客户端侧动作。所述客户端侧动作在不同于所述视觉查询客户端应用的客户端侧应用中启动。这样的计算机可读存储介质还可以包括用于执行以上所讨论的额外选项的程序指令。
在另ー个方面,一种计算机实现的处理视觉查询的方法包括在服务器系统上执行以下操作,所述服务器系统具有一个或多个处理器以及存储供所述ー个或多个处理器执行的一个或多个程序的存储器。从客户端系统接收视觉查询。还从客户端系统接收位置信息。在一些实施例中,所述客户端系统从GPS信息、小区塔台信息和/或无线局域网信息获得位置信息。所述服务器系统将视觉查询和位置信息发送到视觉查询搜索系统。其接着从所述视觉查询搜索系统接收依据视觉查询和位置信息两者的ー个或多个搜索结果。所述服务器系统从所述ー个或多个搜索结果识别视觉查询中的实体。其还识别与所识别实体相对应的一个或多个客户端侧动作。接着,所述服务器系统创建可采取动作的捜索结果元素,所述可采取动作的搜索结果元素被配置为启动所识别的一个或多个客户端侧动作中的相应客户端侧动作。最后,所述服务器系统将所述可采取动作的捜索结果元素发送到客户端系统。一些实施例进ー步包含将ー个或多个搜索结果中的至少ー个连同可采取动作的捜索结果元素一起发送到客户端系统。在一些实施例中,所述搜索结果包括在距位置信息指定距离内的捜索結果。在其它实施例中,所述搜索结果包括与所识别实体类似的搜索结果。在一些实施例中,所述ー个或多个搜索结果中的至少ー个包括被配置为启动与搜索结果中的实体相对应的客户端侧动作的可采取动作的搜索结果元素。在一些实施例中,当所识别实体是餐厅时,相应的客户端侧动作是以下的ー个或多个发起电话呼叫、提供评论;发起预订请求,提供地图信息、启动餐厅网站、提供附加信息以及分享以上任意内容。一些实施例进ー步包括从视觉查询搜索系统接收基于视觉查询和位置信息的增强位置信息。所述服务器系统接着向基于位置的捜索系统发送捜索查询。所述搜索查询包括所述增强位置信息。所述搜索系统接收依据所述增强位置信息的一个或多个搜索结果并且将其提供至客户端。在一些实施例中,视觉查询中的所识别实体可以是人、与人相关联的姓名或其它标识符、条形码、标志、企业、组织、建筑物、建筑物或物理结构群组、邮政地址、地标、地理实体、产品或服务。在一些实施例中,所述可采取动作的搜索结果元素被配置为向联系人列表添加信息,其中所述信息选自由以下一个或多个所构成的群组电子邮件地址、电话号码、传真号码、邮政地址、公司名称、组织名称和URL。可选地,当所识别实体是与诸如企业、组织或协会之类的实体相关联的标识符吋,所述ー个或多个搜索结果包括与所述实体相关联的通信地址,并且所述可采取动作的捜索结果元素被配置为使用所述通信地址启动通信。一些实施例提供了提供以下内容的方法、系统、计算机可读存储介质和图形用户界面(GUI)。根据ー些实施例,一种计算机实现的处理视觉查询的方法包括在客户端系统上执行以下步骤,所述客户端系统具有一个或多个处理器、显示器以及存储供所述ー个或多个处理器执行的一个或多个程序的存储器。所述客户端系统接收图像。所述图像可以从图像捕捉应用接收。所述客户端系统还接收位置信息。在一些实施例中,所述客户端系统从GPS信息、小区塔台信息和/或无线局域网信息接收位置信息。所述客户端系统从所述图像 创建视觉查询。其将所述视觉查询和位置信息发送到视觉查询搜索系统。所述视觉查询搜索系统执行如以上所讨论的操作。所述客户端系统从所述视觉查询搜索系统接收被配置为启动客户端侧动作的可采取动作的捜索结果元素。所述可采取动作的捜索结果元素对应于视觉查询中的实体。所述客户端系统使用视觉查询客户端应用在显示器上显示所述可采取动作的捜索结果元素。随后,所述客户端系统接收对所述可采取动作的捜索结果元素的用户选择,并且在不同于所述视觉查询客户端应用的客户端侧应用中启动与所选择的可采取动作的搜索结果元素相对应的客户端侧动作。在一些实施例中,所述客户端侧应用是电子邮件应用、浏览器应用、电话应用、SP时消息应用、社交网络应用或地图应用。一些实施例进ー步包括从视觉查询搜索系统接收依据所述视觉查询和位置信息两者的ー个或多个搜索结果。所述客户端系统然后在显示器上连同可采取动作的捜索结果元素一起显示ー个或多个搜索結果。在一些实施例中,提供了一种服务器系统,其包括用于执行程序的ー个或多个中央处理单元以及存储由所述ー个或多个中央处理单元执行的一个或多个程序的存储器。所述程序包括执行以下内容的指令。从客户端系统接收视觉查询。还从客户端系统接收位置信息。在一些实施例中,所述客户端系统从GPS信息、小区塔台信息和/或无线局域网信息获得位置信息。所述服务器系统将视觉查询和位置信息发送到视觉查询搜索系统。其接着从所述视觉查询搜索系统接收依据视觉查询和位置信息两者的ー个或多个搜索结果。所述服务器系统从所述ー个或多个搜索结果识别视觉查询中的实体。其还识别与所识别实体相对应的一个或多个客户端侧动作。接着,所述服务器系统创建可采取动作的捜索结果元素,所述可采取动作的捜索结果元素被配置为启动所识别的一个或多个客户端侧动作中的相应客户端侧动作。最后,所述服务器系统将所述可采取动作的捜索结果元素发送到客户端系统。这样的服务器系统还可以包括用于执行以上所讨论的额外选项的程序指令。在一些实施例中,提供了一种客户端系统,其包括用于执行程序的ー个或多个中央处理単元、显示器以及存储由所述ー个或多个中央处理单元执行的ー个或多个程序的存储器。所述程序包括用于执行以下内容的指令。所述客户端系统接收图像。所述图像可以从图像捕捉应用接收。所述客户端系统还接收位置信息。在一些实施例中,所述客户端系统从GPS信息、小区塔台信息和/或无线局域网信息接收位置信息。所述客户端系统从所述图像创建视觉查询。其将所述视觉查询和位置信息发送到视觉查询搜索系统。所述视觉查询搜索系统执行如以上所讨论的操作。所述客户端系统从所述视觉查询搜索系统接收被配置为启动客户端侧动作的可采取动作的捜索结果元素。所述可采取动作的捜索结果元素对应于视觉查询中的实体。所述客户端系统使用视觉查询客户端应用在显示器上显示所述可采取动作的捜索结果元素。随后,所述客户端系统接收对所述可采取动作的捜索结果元素的用户选择。在不同于所述视觉查询客户端应用的客户端侧应用中,所述客户端系统启动与所选择的可采取动作的捜索结果元素相对应的客户端侧动作。这样的客户端系统还可以包括用于执行以上所讨论的额外选项的程序指令。一些实施例提供了一种存储被配置为供计算机执行的一个或多个程序的计算机可读存储介质。所述程序包括用于执行以下内容的指令。从客户端系统接收视觉查询。还从客户端系统接收位置信息。在一些实施例中,所述客户端系统从GPS信息、小区塔台信息和/或无线局域网信息获得位置信息。所述服务器系统将视觉查询和位置信息发送到视觉查询搜索系统。其接着从所述视觉查询搜索系统接收依据视觉查询和位置信息两者的ー个或多个搜索結果。所述服务器系统从所述ー个或多个搜索结果识别视觉查询中的实体。其还识别与所识别实体相对应的一个或多个客户端侧动作。接着,所述服务器系统创建可采 取动作的捜索结果元素,所述可采取动作的捜索结果元素被配置为启动所识别的一个或多个客户端侧动作中的相应客户端侧动作。最后,所述服务器系统将所述可采取动作的捜索结果元素发送到客户端系统。这样的计算机可读存储介质还可以包括用于执行以上所讨论的额外选项的程序指令。一些实施例提供了一种存储被配置为供计算机执行的一个或多个程序的计算机可读存储介质。所述程序包括用于执行以下内容的指令。客户端系统接收图像。所述图像可以从图像捕捉应用接收。所述客户端系统还接收位置信息。在一些实施例中,所述客户端系统从GPS信息、小区塔台信息和/或无线局域网信息接收位置信息。所述客户端系统从所述图像创建视觉查询。其将所述视觉查询和位置信息发送到视觉查询搜索系统。所述视觉查询搜索系统执行如以上所讨论的操作。所述客户端系统从所述视觉查询搜索系统接收被配置为启动客户端侧动作的可采取动作的搜索结果元素。所述可采取动作的搜索结果元素对应于视觉查询中的实体。所述客户端系统使用视觉查询客户端应用在显示器上显示所述可采取动作的捜索结果元素。随后,所述客户端系统接收对所述可采取动作的搜索结果元素的用户选择。在不同于所述视觉查询客户端应用的客户端侧应用中,所述客户端系统启动与所选择的可采取动作的捜索结果元素相对应的客户端侧动作。这样的计算机可读存储介质还可以包括用于执行以上所讨论的额外选项的程序指令。


图I是图示包括视觉查询服务器系统的计算机网络的框图。图2是图示依据ー些实施例的用于对视觉查询进行响应的过程的流程图。图3是图示依据ー些实施例的用于利用交互式结果文档对视觉查询进行响应的过程的流程图。图4是图示依据ー些实施例的客户端和视觉查询服务器系统之间的通信的流程图。
图5是图示依据ー些实施例的客户端系统的框图。图6是图示依据ー些实施例的前端视觉查询处理服务器系统的框图。图7是图示依据ー些实施例的被用来处理视觉查询的并行搜索系统中一般的一个的框图。图8是图示依据ー些实施例的被用来处理视觉查询的OCR搜索系统的框图。图9是图示依据ー些实施例的被用来处理视觉查询的面部识别搜索系统的框图。图10是图示依据ー些实施例的被用来处理视觉查询的图像至词语搜索系统的框图。图11图示了依据ー些实施例的具有示例性视觉查询的截屏的客户端系统。
图12A和12B均图示了依据ー些实施例的具有带分界框的交互式结果文档的截屏的客户端系统。图13图示了依据ー些实施例的具有通过类型编码的交互式结果文档的截屏的客户端系统。图14图示了依据ー些实施例的具有带标签的交互式结果文档的截屏的客户端系统。图15图示了依据ー些实施例的交互式结果文档和与结果列表同时显示的视觉查询的截屏。图16A和16B是图示依据ー些实施例的用于创建可采取动作的搜索结果元素的过程的流程图。图17图示了依据ー些实施例的针对包括商务卡的视觉查询所返回的多个可采取动作的捜索结果元素和结果列表的客户端系统显示。图18图示了依据ー些实施例的针对包括2D条形码的视觉查询所返回的多个可采取动作的捜索结果元素和结果列表的客户端系统显示。图19图示了依据ー些实施例的针对包括图书的视觉查询所返回的多个可采取动作的捜索结果元素和结果列表的客户端系统显示。图20是图示依据ー些实施例的客户端和视觉查询服务器系统之间用于创建具有可选位置信息扩增的可采取动作的捜索结果的通信的流程图。图21图示了依据ー些实施例的针对包括建筑物的街景视觉查询所返回的多个可采取动作的捜索结果元素和结果列表的客户端系统显示。图22图示了依据ー些实施例的针对包括建筑物的街景视觉查询所返回的覆盖视觉查询的多个可采取动作的捜索结果元素的客户端系统显示。图23是图示依据ー些实施例的扩增位置的视觉查询处理器服务器系统的框图。图24是图示依据ー些实施例的基于位置的查询处理服务器系统的框图。相同的附图标记贯穿附图指代相对应的部分。
具体实施例方式现在将对其示例在附图中进行图示的实施例进行详细參考。在以下详细描述中,给出多个具体细节以便提供对本发明的全面理解。然而,对本领域技术人员显而易见的是,本发明可以在没有这些具体细节的情况下进行实践。在其它实例中,没有对已知的方法、过程、组件、电路和网络进行详细描述以免对本发明的方面造成不必要的混淆。还要理解的是,虽然这里可能使用了术语第一、第二等来对各个元素进行描述,但是这些元素并不被这些术语所限制。这些术语仅被用来将ー个元素与另一元素区分开来。例如,第一联系人可以被称之为第二联系人,并且类似地,第二联系人可以被称之为第一联系人,而并不背离本发明的范围。第一联系人和第二联系人均为联系人,但是他们不是相同的联系人。这里的发明描述中所使用的术语仅是为了描述特定实施例而并非意在对本发明进行限制。如发明描述和权利要求中所使用的,除非上下文明确另外指出,否则单数形式“ー个”(“a”、“an”和“ the”)意在也包括复数形式。还要理解的是,如这里所使用的术语“和/或”是指代并包含相关联列举项目中的ー个或多个的任意和所有的可能組合。将要进一歩理解的是,当在该说明书中使用吋,术语“包括”和/或“包含”指定存在所提到的特征、整数、步骤、操作、元素和/或组件,但是并不排除存在或添加ー个或多个其它特征、整数、步骤、操作、元素、组件和/或其群组。
如这里所使用的,根据上下文,术语“如果”可以被理解为表示“当……吋”或“一旦”或“响应于确定了……”或“响应于检测到……”。类似地,根据上下文,短语“如果确定了”或“如果检测到(所提到的条件或事件)”可以被理解为表示“一旦确定了……”或“响应于确定了……”或“一旦检测到(所提到的条件或事件)”或“响应于检测到(所提到的条件或事件)”。图I是图示根据ー些实施例的包括视觉查询服务器系统的计算机网络的框图。计算机网络100包括一个或多个客户端系统102以及视觉查询服务器系统106。ー个或多个通信网络104对这些组件进行互连。通信网络104可以是各种网络中的任意网络,包括局域网(LAN)、广域网(WAN)、无线网络、有线网络、互联网或者这样的网络的组合。客户端系统102包括客户端应用108,其由客户端系统执行用于接收视觉查询(例如,图11的视觉查询1102)。视觉查询是作为查询提交给搜索引擎或搜索系统的图像。视觉查询的示例包括照片、扫描文档以及图像和图,但是并不局限于此。在一些实施例中,客户端应用108从搜索应用、用于浏览器应用的搜索引擎插件和用于浏览器应用的搜索引擎扩展所构成的集合中进行选择。在一些实施例中,客户端应用108是“杂性的(omnivorous)”搜索框,其允许用户将任意格式的图像拖放到捜索框中以作为视觉查询。客户端系统102向视觉查询服务器系统106发送查询并且从其接收数据。客户端系统102可以是能够与视觉查询服务器系统106进行通信的任意计算机或其它设备。示例包括台式和笔记本计算机、大型主机计算机、服务器计算机、诸如移动电话和个人数字助理的移动设备、网络終端和机顶盒,但不限于此。视觉查询服务器系统106包括前端视觉查询处理服务器110。前端服务器110从客户端102接收视觉查询,并且将所述视觉查询发送到多个并行捜索系统112以便同时进行处理。捜索系统112均实施不同的视觉查询搜索过程并且在必要时访问其相应数据库114以通过它们不同的搜索过程来处理所述视觉查询。例如,脸部识别搜索系统112-A将访问面部图像数据库114-A以寻找与图像查询相匹配的面部。如将关于图9更为详细描述的,如果视觉查询包含脸部,则面部识别搜索系统112-A将从面部图像数据库114-A返回ー个或多个搜索结果(例如,名称、匹配脸部等)。在另ー个示例中,光学字符识别(OCR)捜索系统112-B将视觉查询中任意可识别的文本转换为文本以便作为ー个或多个搜索结果返回。如关于图8更为详细解释地,在光学字符识别(OCR)捜索系统112-B中,可以访问OCR数据库114-B来识别特定字体或文本图案。可以使用任意数量的并行搜索系统112。一些示例包括面部识别搜索系统112-A、OCR捜索系统112-B、图像至词语搜索系统112-C (其可以识别对象或对象类别)、产品识别捜索系统(其可以被配置为识别诸如图书封面和CD的2-D图像并且还可以被配置为识别诸如家具的3-D图像)、条形码识别搜索系统(其识别ID和2D样式的条形码)、命名实体识别捜索系统、地标识别(其可以被配置为识别诸如埃菲尔铁塔的特定著名地标,并且还可以被配置为识别诸如广告牌之类的特定图像库集)、通过由客户端系统102中的GPS接收器或移动电话网络所提供的地理位置信息协助的地点识别、顔色识别搜索系统、以及类似的图像捜索系统(其捜索并识别与视觉查询类似的图像)。由图I中系统112-N所表示的,可以添加另外的捜索系统作为附加的并行搜索系统。除了 OCR捜索系统之外,所有捜索系统在这里被共同定义为执行图像匹配过程的捜索系统。包括OCR捜索系统在内的所有捜索系统被共同称作通过图像进行查询(query-by-image)的搜索系统。在一些实施例中,视觉查询服
务器系统106包括面部识别搜索系统112-A、0CR捜索系统112-B以及至少ー个其它的通过图像进行查询的捜索系统112。并行搜索系统112均单独对视觉搜索查询进行处理并且将其结果返回给前端服务器系统110。在一些实施例中,前端服务器100可以对搜索结果执行ー个或多个分析,诸如以下的ー个或多个将结果聚合到复合文档中,选择结果的子集进行显示,并且对结果进行排名,如关于图6更为详细解释的。前端服务器110将搜索结果通信到客户端系统102。客户端系统102将ー个或多个搜索结果呈现给用户。所述结果可以呈现在显示器上,通过音频扬声器或者用来向用户通信信息的任意其它手段来进行呈现。用户可以以各种方式与捜索结果进行交互。在一些实施例中,用户的选择、注释以及与捜索结果的其它交互被传送到视觉查询服务器系统106并且连同视觉查询一起记录在查询和注释数据库116中。查询和注释数据库中的信息可以被用来改善视觉查询結果。在一些实施例中,来自查询和注释数据库116的信息被定期推送至并行搜索系统112,其将任意相关的信息部分合并到其相应的单独数据库114中。计算机网络100可选地包括词语查询服务器系统118,其用于响应于词语查询执行捜索。与包含图像的视觉查询相对,词语查询是包含一个或多个词语的查询。词语查询服务器系统118可以被用来生成捜索结果,该搜索结果对视觉查询服务器系统106中的各个搜索引擎所产生信息进行补充。从词语查询服务器系统118所返回的结果可以包括任意格式。词语查询服务器系统118可以包括文本文档、图像、视频等。虽然词语查询服务器系统118在图I中被示为单独系统,但是可选地,视觉查询服务器系统106可以包括词语查询服务器系统118。以下关于图2-4中的流程图提供与视觉查询服务器系统106的操作相关的附加信
O图2是图示根据本发明某些实施例的用于对视觉查询进行响应的视觉查询服务器系统方法的流程图。图2中所示出的每个操作可以对应于计算机存储器或计算机可读存储介质中所存储的指令。
视觉查询服务器系统从客户端系统接收视觉查询(202)。如关于图I所解释的,客户端系统例如可以为台式计算设备、移动设备或其它类似设备(204)。图11中示出了示例客户端系统上的示例视觉查询。视觉查询是任意适当格式的图像文档。例如,视觉查询可以是照片、截屏、扫描图像,或者是视频的一帧或多个帧的序列(206)。在一些实施例中,视觉查询是内容编写程序(736,图5)所产生的图。这样,在一些实施例中,用户“绘制”视觉查询,而在其它实施例中,用户扫描或拍摄视觉查询。ー些视觉查询使用诸如Acrobat之类的图像生成应用、照片编辑程序、绘画程序或图像编辑程序来创建。例如,视觉查询可以来自于用户在其移动电话上为其朋友拍摄照片并且然后将该照片作为视觉查询提交至服务器系统。视觉查询还可以来自于用户对ー页杂志进行扫描或者在台式计算机上截取网页的截屏并然后将扫描或截屏作为视觉查询提交至服务器系统。在一些实施例中,视觉查询通过浏览器应用的搜索引擎扩展、通过浏览器应用的插件或者通过由客户端系统102所执行的捜索应用提交至服务器系统106。视觉查询还可以由(客户端系统所执行的)支持或生成可以由客户端系统传送至远程服务器的图像的其它应用程序来提交。
视觉查询可以是文本和非文本元素的组合(208)。例如,查询可以是包含图像和文本的杂志页面的扫描,诸如ー个人站在路标旁边。视觉查询可以包括人脸的图像,其或者由嵌入客户端系统的相机所拍摄或者是客户端系统所扫描或以另外方式所接收的文档。视觉查询还可以是仅包含文本的文档的扫描。视觉查询也可以是多个不同主题的图像,诸如森林中的若干只鸟、人和物体(例如,汽车、公园长椅等)、人和动物(例如,宠物、家畜、蝴蝶等)。视觉查询可以具有两个或更多的不同元素。例如,视觉查询可以包括产品的条形码和图像或者产品包装上的产品名称。例如,视觉查询可以是包括图书标题、封面艺术和条形码的图书封面的图片。如以下更为详细讨论的,在一些实例中,一个视觉查询将产生与该视觉查询的不同部分相对应的两个或更多的不同搜索結果。服务器系统如下对视觉查询进行处理。前端服务器系统将视觉查询发送到多个并行捜索系统以便同时进行处理(210)。每个搜索系统实施不同的视觉查询搜索过程,即单独的捜索系统通过其自己的处理方案对视觉查询进行处理。在一些实施例中,对其发送视觉查询以便进行处理的ー个搜索系统是光学字符识另IJ (OCR)捜索系统。在一些实施例中,对其发送视觉查询以便进行处理的ー个搜索系统是面部识别搜索系统。在一些实施例中,运行不同视觉查询搜索过程的多个搜索系统至少包括光学字符识别(OCR)、面部识别,以及不同于OCR和面部识别的其它通过图像进行查询的过程(212)。其它通过图像进行查询的过程选自包括但并不局限于产品识别、条形码识别、对象或对象类别识别、命名实体识别和颜色识别的过程集合(212 )。在一些实施例中,命名实体识别作为OCR捜索系统的后期过程发生,其中针对著名人物、位置、对象等对OCR的文本结果进行分析,并且然后在词语查询服务器系统(图I的118)中对被识别为命名实体的词语进行捜索。在其它实施例中,由图像至词语搜索系统对著名地标、标志、人物、影集封面、商标等的图像进行识别。在其它实施例中,采用与图像至词语搜索系统相分离的不同命名实体的通过图像进行查询的过程。对象或对象类别识别系统识别如“汽车”的一般结果类型。在一些实施例中,该系统还识别产品品牌、特定产品模型等,并且提供如“保时捷”的更为具体的描述。ー些搜索系统可以是特定于特殊用户的搜索系统。例如,特定版本的顔色识别和面部识别可以是盲人所使用的特殊捜索系统。前端服务器系统从并行捜索系统接收结果(214)。在一些实施例中,所述结果伴随有捜索分值。对于ー些视觉查询而言,ー些搜索系统将找不到相关結果。例如,如果视觉查询是花的图片,则面部识别搜索系统和条形码搜索系统将找不到任何相关結果。在ー些实施例中,如果没有找到相关结果,则从该搜索系统接收空或零捜索分值(216)。在一些实施例中,如果前端服务器在预定义的时间段(例如,O. 2,0. 5、1、2或5秒)之后没有从搜索系统接收到結果,则其就将如同超时服务器产生空捜索分值那样来处理所接收结果并且将对来自其它捜索系统的所接收结果进行处理。可选地,当至少两个所接收搜索结果满足预定义标准时,对它们进行排名(218)。在一些实施例中,一种预定义标准排除无效結果。预定义标准是结果并非无效的标准。在一些实施例中,一种预定义标准排除具有低于预定义最低分值的数字分值(例如,对于相关性因素而言)的結果。可选地,对多个捜索结果进行过滤(220)。在一些实施例中,仅在结果总数超过预定义阈值的情况下对结果进行过滤。在一些实施例中,对所有结果进行排名但是排除低于预定义最低分值的結果。对于ー些视觉查询而言,对结果的内容进行过滤。例 如,如果ー些结果包含隐私信息或个人保护信息,则这些结果被过滤棹。可选地,视觉查询服务器系统创建复合搜索结果(222)。一个这样的实施例是如关于图3所解释的在交互式结果文档中嵌入了多于ー个捜索系统结果吋。词语查询服务器系统(图I的118)可以利用来自词语捜索的结果对来自并行捜索系统之ー的结果进行扩增,其中附加结果是到文档或信息源的链接,或者是包含可能与视觉查询相关的附加信息的文本和/或图像。因此,例如,复合搜索结果可以包含OCR结果以及到OCR文档中的命名实体的链接(224)。在一些实施例中,OCR搜索系统(图I的112-B)或前端视觉查询处理服务器(图I的110)识别文本中可能相关的词。例如,其可以识别诸如著名人物或地点的命名实体。命名实体作为查询词语被提交给词语查询服务器系统(图I的118)。在一些实施例中,词语查询服务器系统所产生的词语查询结果被作为“链接”嵌入在视觉查询结果中。在一些实施例中,词语查询结果作为单独的链接返回。例如,如果图书封面的图片是视觉查询,则对象识别搜索系统可能会对图书产生高分值的命中。这样,将在词语查询服务器系统118上运行对图书标题的词语查询并且词语查询结果将连同视觉查询结果一起返回。在一些实施例中,词语查询结果在带标签分组中呈现以将它们与视觉查询结果进行区分。结果可以被单独捜索,或者可以使用捜索查询中的所有所识别的命名实体来执行搜索以产生特别相关的附加搜索结果。例如,如果视觉查询是有关巴黎的扫描旅行册,则所返回的结果可能包括指向词语查询服务器系统118的用于发起对词语查询“巴黎圣母院(Notre Dame)”的捜索的链接。类似地,复合搜索结果包括来自针对所识别著名图像的文本捜索的結果。例如,在相同的旅行册中,还可以示出针对在该册子中作为图片示出的“埃菲尔铁塔”和“卢浮宫”的著名目的地的词语查询结果的活跃(live)链接(即使在册子本身中并没有出现词语“埃菲尔铁塔”和“卢浮宫”)。视觉查询服务器系统接着将至少ー个结果发送到客户端系统(226)。典型地,如果视觉查询处理服务器从多个搜索系统中的至少ー些接收到多个搜索結果,则其将接着将所述多个捜索结果中的至少ー个发送到客户端系统。对于ー些视觉查询而言,仅ー个捜索系统将返回相关結果。例如,在仅包含文本图像的视觉查询中,可能仅有OCR服务器的结果是相关的。对于ー些视觉查询而言,可能仅来自一个搜索系统的ー个结果是相关的。例如,可能仅有与所扫描的条形码相关的产品是相关的。在这些情况下,前端视觉处理服务器将仅返回相关的搜索結果。对于ー些视觉查询而言,多个搜索结果被发送到客户端系统,并且多个搜索结果包括来自多于一个的并行捜索系统的搜索结果(228)。这可能在多于ー个的不同图像出现在视觉查询中时发生。例如,如果视觉查询是骑马的人的图片,则针对该人的面部识别的结果会连同针对马的对象识别结果一起进行显示。在一些实施例中,图像搜索系统对特定查询的的所有结果被分组并一起呈现。例如,前N个面部识别结果被显示在标题“面部识别結果”之下,并且前N个对象识别结果被一起显示在标题“对象识别結果”之下。可替换地,如以下所讨论的,来自特定图像搜索系统的搜索结果可以通过图像区域进行分组。例如,如果视觉查询包括两个脸部,它们都产生面部识别結果,则每张脸的结果将作为不同的分组进行呈现。对于一些视觉查询而言(例如,包括文本以及ー个或多个对象的图像的视觉查询),搜索结果可以包括OCR结果以及一个或多个图像匹配结果(230)。在一些实施例中,用户可能希望对特定捜索结果进行更多了解。例如,如果视觉查询是海豚的图片并且“图像至词语”捜索系统返回了以下词语“水”、“海豚”、“蓝”和“鰭”;则用户可能希望对“鳍”进行基于文本的查询词语搜索。当用户想要对词语查询进行捜索 时(例如,如用户在搜索结果中的相应链接上进行点击或以另外方式选择所述链接所指示的),查询词语服务器系统(图I的118)被访问,并且进行对所选择词语的搜索。相对应的捜索词语结果被单独或者连同视觉查询结果一起显示在客户端系统上(232)。在一些实施例中,前端视觉查询处理服务器(图I的110)自动(即,没有接收除初始的视觉查询之外的任何用户命令)选择视觉查询的ー个或多个最前面的潜在文本结果,在词语查询服务器系统118上运行那些文本結果,并且接着将那些词语查询结果连同视觉查询结果一起向客户端系统进行发送,作为向客户端系统发送至少ー个捜索结果的一部分(232)。在以上的示例中,如果“鳍”是海豚的视觉查询图片的第一个词语结果,则前端服务器进行对“鰭”的词语查询并且将那些词语查询结果连同视觉查询结果一起返回给客户端系统。该实施例节省了用户的时间,其中在将来自视觉查询的捜索结果发送给用户之前,自动执行被认为可能被用户所选择的词语结果。在一些实施例中,如以上所解释的,这些结果作为复合搜索结果进行显示(222)。在其它实施例中,除了复合搜索结果之外或者作为其替代,所述结果是搜索结果列表的一部分。图3是图示利用交互式结果文档对视觉查询进行响应的过程的流程图。前三个操作(202、210、214)以上參考图2进行了描述。从接收于并行捜索系统的搜索结果(214),创建交互式结果文档(302)。现在将对创建交互式结果文档(302)进行详细描述。对于ー些视觉查询而言,交互式结果文档包括该视觉查询的相应子部分的ー个或多个视觉标识符。每个视觉标识符具有到至少ー个捜索结果的至少ー个用户可选择的链接。视觉标识符识别视觉查询的相应子部分。对于ー些视觉查询而言,交互式结果文档仅具有一个视觉标识符,其具有到一个或多个结果的一个用户可选择链接。在一些实施例中,到一个或多个搜索结果的相应用户可选择链接具有激活区域,并且所述激活区域对应于视觉查询与相对应的视觉标识符相关联的子部分。
在一些实施例中,视觉标识符是边界框(304)。在一些实施例中,所述边界框封闭视觉查询的子部分,如图12A所示。边界框无需是正方形或矩形框形状,而是可以为任意类型的形状,包括圆形、椭圆、等角(例如,针对视觉查询中的对象、实体或其区域)、不规则或者如图12B所示的任意其它形状。对于ー些视觉查询而言,边界框包围视觉查询的子部分中可识别实体的边界(306)。在一些实施例中,每个边界框包括到一个或多个搜索结果的用户可选择链接,其中用户可选择链接具有对应于被边界框所包围的视觉查询子部分的激活区域。当边界框内的空间(用户可选择链接的激活区域)被用户选择时,返回与所包围的子部分中的图像相对应的搜索結果。在一些实施例中,如图14所示,视觉标识符是标签(307)。在一些实施例中,标签包括至少ー个与视觉查询的相应子部分中的图像相关联的词语。每个标签被格式化以便在相应子部分之上或附近的交互式结果文档中进行呈现。在一些实施例中,所述标签被顔色编码。在一些实施例中,每个相应的视觉标识符被格式化以便依据视觉查询的相应子部分中所识别实体的类型的以在视觉上有所区别的方式进行呈现。例如,如图13所示,围绕 产品、人、商标的边界框以及两个文本区域均以表示不同着色的透明边界框的不同交叉阴影图案进行呈现。在一些实施例中,视觉标识符被格式化以便以在视觉上有区别的方式进行呈现,诸如覆盖颜色、覆盖图案、标签背景顔色、标签背景图案、标签字体顔色和边框颜色。在一些实施例中,交互式结果文档中的用户可选择链接是到包含与视觉查询的相对应子部分相关的ー个或多个结果的文档或对象的链接(308)。在一些实施例中,至少ー个捜索结果包括与视觉查询的相对应子部分相关的数据。这样,当用户选择与相应子部分相关联的可选择链接吋,该用户被指向与视觉查询的所述相应子部分中所识别的实体相对应的搜索結果。例如,如果视觉查询是条形码的照片,则照片的部分可能是与其上贴有条形码的包装的不相关部分。交互式结果文档可以包括仅围绕条形码的边界框。当用户在包围条形码的边界框内进行选择时,显示条形码捜索結果。条形码搜索结果可以包括一个结果,与该条形码相对应的产品的名称,或者条形码结果可以包括若干结果,诸如能够购买、评论该产品的各种地点等。在一些实施例中,当对应于相应视觉标识符的视觉查询的子部分包含包括ー个或多个词语的文本时,对应于相应视觉标识符的搜索结果包括来自对所述文本中的至少ー个词语进行的词语查询搜索的結果。在一些实施例中,当对应于相应视觉标识符的视觉查询的子部分包含针对其找到至少ー个满足预定可靠性(或其它)标准的匹配(即,捜索結果)的人脸时,对应于相应视觉标识符的捜索结果包括以下的ー个或多个与其脸部包含在可选择子部分中的人相关联的姓名、头衔(handle )、联系信息、账户信息、地址信息、相关移动设备的当前位置,其脸部包含在可选择子部分中的人的其它图像,以及该人脸的潜在图像匹配。在一些实施例中,当视觉查询对应于相应视觉标识符的子部分包含针对其找到至少ー个满足预定可靠性(或其它)标准的匹配(即,捜索結果)的产品时,对应于相应视觉标识符的捜索结果包括以下的ー个或多个产品信息、产品评论、发起产品购买的选项、发起对产品出价的选项、类似产品的列表以及相关产品的列表。
可选地,交互式结果文档中的相应用户可选择链接包括锚文本(anchor text),其在不必激活链接的情况下显示在文档中。锚文本提供诸如与激活链接时所获得的信息相关的关键词或词语之类的信息。锚文本可以作为标签的一部分进行显示(307),或者显示在边界框的一部分中(304),或者作为用户将光标在用户可选择链接上悬停诸如I秒的预定时间段时所显示的附加信息。可选地,交互式结果文档中的相应用户可选择链接是到用于搜索与基于文本的查询(这里有时称作词语查询)相对应的信息或文档的搜索引擎的链接。激活该链接使得由所述搜索引擎执行捜索,其中所述查询和搜索引擎由所述链接所指定(例如,搜索引擎由链接中的URL所指定而基于文本的搜索查询由链接的URL參数所指定),其结果返回到客户端系统。可选地,该示例中的链接可以包括指定捜索查询中的文本或词语的锚文本。在一些实施例中,响应于视觉查询所产生的交互式结果文档可以包括与来自相同的捜索系统的结果相对应的多个链接。例如,视觉查询可以是人群的图像或图片。交互式结果文档可以包括围绕每个人的边界框,其在被激活时返回来自面部识别搜索系统针对群组中的每张脸的結果。对于ー些视觉查询而言,交互式结果文档中的多个链接对应于来自 多于ー个的捜索系统的搜索结果(310)。例如,如果人和狗的图片作为视觉查询被提交,则交互式结果文档中的边界框可以单独包围人和狗。当(交互式结果文档中的)人被选择吋,返回来自面部识别搜索系统的搜索结果,而当(交互式结果文档中的)狗被选择时,则返回来自图像至词语搜索系统的結果。对于ー些视觉查询而言,交互式结果文档包含OCR结果和图像匹配结果(312)。例如,如果人站在标牌旁边的图片作为视觉查询被提交,则交互式结果文档可以包括对人和所述标牌中的文本的视觉标识符。类似地,如果杂志的扫描被用作视觉查询,则交互式结果文档可以包括页面上广告中的照片或商标的视觉标识符以及也处于该页面上的文章文本的视觉标识符。在已经创建了交互式结果文档之后,将其发送到客户端系统(314)。在一些实施例中,如以上參考图2所讨论的,交互式结果文档(例如,文档1200,图15)连同来自一个或多个并行捜索系统的搜索结果列表一起进行发送。在一些实施例中,在客户端系统,交互式结果文档显示在来自ー个或多个并行捜索系统的搜索结果列表上方或以另外方式与之相邻地进行显示(315),如图15所示。可选地,用户将通过选择结果文档中的视觉标识符来与所述结果文档进行交互。服务器系统从客户端系统接收与交互式结果文档中的视觉标识符的用户选择相关的信息(316)。如以上所讨论的,在一些实施例中,通过选择边界框内的激活区域来激活链接。在其它实施例中,通过对视觉查询子部分的并非边界框的视觉标识符的用户选择来激活链接。在一些实施例中,带链接的视觉标识符是热按钮(hot button)、位于子部分附近的标签、文本中的加下划线的词,或者视觉查询中的对象或主题的其它表示。在利用交互式结果文档呈现捜索结果列表的实施例中(315),当用户选择用户可选择链接时(316),搜索结果列表中与所选择链接相对应的搜索结果被识别。在一些实施例中,光标将跳跃或自动移动到与所选择链接相对应的第一結果。在客户端102的显示器太小而无法显示交互式结果文档和整个搜索结果列表的一些实施例中,选择交互式结果文档中的链接使得捜索结果列表滚动或跳跃以便至少显示与所选择链接相对应的第一结果。在一些其它实施例中,响应于交互式结果文档中链接的用户选择,对结果列表进行重新排序以使得对应于所述链接的第一结果被显示在结果列表的顶端。在一些实施例中,当用户选择用户可选择链接时(316),视觉查询服务器系统向客户端发送与视觉查询的相对应子部分相关的结果的至少ー个子集以便向用户进行显示(318)。在一些实施例中,用户能够同时选择多个视觉标识符并且将同时接收到所有所选择视觉标识符的结果子集。在其它实施例中,对应于用户可选择链接的捜索结果在用户选择任意用户可选择链接之前被预先加载到客户端上,以便响应于交互式结果文档中ー个或多个链接的用户选择在视觉上立即向用户提供捜索結果。图4是图示客户端和视觉查询服务器系统之间的通信的流程图。客户端102从用户/查询方接收视觉查询(402)。在一些实施例中,可以仅接受来自己经注册或者“选择加入”到视觉查询系统的用户的视觉查询。在一些实施例中,仅针对已经注册到面部识别视觉查询系统的用户执行面部识别匹配的捜索,而对无论其是否已经“选择加入”到面部识别部分的任何人执行其它类型的视觉查询。如以上所解释的,视觉查询的格式可以采取许多形式。视觉查询将可能包含位于 视觉查询文档的子部分中的ー个或多个主題。对于ー些视觉查询而言,客户端系统102对视觉查询执行类型识别预处理(404)。在一些实施例中,客户端系统102在该预处理系统中捜索特定的可识别模式。例如,对于ー些视觉查询而言,客户端可以识别顔色。对于ー些视觉查询,客户端可以识别出特定子部分可能包含文本(原因在于该区域由被亮空间所包围的小的暗字符所构成,等等)。客户端可以包含任意数量的预处理类型识别器,或者类型识别模块。在一些实施例中,客户端将具有用于识别条形码的类型识别模块(条形码识别406)。其可以通过识别矩形区域中的不同条状图案来完成该功能。在一些实施例中,客户端将具有用于识别视觉查询的特定主题或子部分可能包含脸部的类型识别模块(脸部检测408)。在一些实施例中,所识别的“类型”被返回给用户以便验证。例如,客户端系统102可以返回指出“已经在你的视觉查询中找到条形码,你有兴趣接收条形码查询结果吗?”的消息。在一些实施例中,该消息甚至可以指示已经在视觉查询中找到所述类型的子部分。在一些实施例中,该呈现类似于參考图3所讨论的交互式结果文档。例如,其可以包围视觉查询的子部分并且指示该子部分可能包含脸部,并且询问用户是否有兴趣接收面部识别结果O在客户端102执行了视觉查询的可选预处理之后,客户端向视觉查询服务器系统106特别是前端视觉查询处理服务器110发送视觉查询。在一些实施例中,如果预处理产生了相关结果,即如果类型识别模块之ー产生了高于特定阈值的结果,这指示查询或查询的子部分可能为特定类型(脸部、文本、条形码等),则客户端将传递与预处理结果相关的信息。例如,客户端可以指示脸部识别模块75%确信视觉查询的特定子部分包含脸部。更一般地,如果有的话,预处理结果包括ー个或多个主题类型数值(例如,条形码、脸部、文本等)。可选地,发送到视觉查询服务器系统的预处理结果包括以下的ー个或多个对于预处理结果中的每个主题类型值,识别与主题类型值相对应的视觉查询子部分的信息;以及对于预处理结果中的每个主题类型值,指示视觉查询的相对应子部分的主题类型值和/或识别的确信度水平的确信度值。前端服务器110从客户端系统接收视觉查询(202)。所接收的视觉查询可以包含以上所讨论的预处理信息。如以上所描述的,前端服务器向多个并行捜索系统发送视觉查询(210)。如果前端服务器110接收了与子部分包含某个类型的主题的可能性相关的预处理信息,则前端服务器可以将该信息送至一个或多个并行捜索系统。例如,其可以传递特定子部分可能为脸部的信息以使得面部识别搜索系统112-A能够首先对视觉查询的该子部分进行处理。类似地,发送(特定子部分可能为脸部的)相同信息可以被其它并行捜索系统用来忽略该子部分或首先分析其它子部分。在一些实施例中,前端服务器将不向并行捜索系统传递预处理信息,而是将替代使用该信息来扩增其对从并行捜索系统所接收的结果进行处理的方式。如參考图2所解释的,对于ー些视觉查询,前端服务器110从并行捜索系统接收多个搜索结果(214)。前端服务器接着可以执行各种排序和过滤,并且可以如參考图2和3所解释的创建交互式捜索结果文档。如果前端服务器110接收了与子部分包含某个类型主题的可能性相关的预处理信息,则其可以通过给出针对匹配预处理的所识别主题类型的那些结果的偏好来进行过滤和排序。如果用户指示了请求特定类型的结果,前端服务器将在对结果进行处理时考虑用户的请求。例如,前端服务器可以在用户仅请求了条形码信息的情况下将所有其它结果过滤掉,或者前端服务器将与所请求类型相关的所有结果列出在列出 其它结果之前。如果返回了交互式视觉查询文档,则服务器可以预先捜索与用户指示了对其感兴趣的类型相关联的链接,同时仅提供用于执行针对交互式结果文档中所指示的其它主题的相关搜索的链接。前端服务器110接着将搜索结果发送到客户端系统(226)。客户端102从服务器系统接收结果(412)。当可应用时,这些结果将包括与预处理阶段中所找到的结果类型相匹配的结果。例如,在一些实施例中,它们将包括ー个或多个条形码结果(414)或者ー个或多个面部识别结果(416)。如果客户端的预处理模块已经指示了结果可能为特定类型,并且找到了该结果,则所找到的该类型的结果将被突出列出。可选地,用户将选择或注释ー个或多个结果(418)。用户可以选择ー个搜索結果,可以选择特定类型的捜索结果,和/或可以选择交互式结果文档的一部分(420)。结果的选择是所返回结果与查询相关的隐含反馈。这样的反馈信息可以在未来的查询处理操作中加以利用。注释提供了与所返回结果相关的明确反馈,其也可以在未来的查询处理操作中加以利用。注释采用所返回结果的部分的更正(如对错误OCR化的词的更正)的形式或者为单独注释(自由形式或结构化)。一个搜索结果的用户选择是被称作解释中的选择(selection amonginterpretations)的过程,其通常从若干相同类型中选择“正确”结果(例如,选择来自面部识别服务器的正确结果)。特定类型的捜索结果的用户选择是被称作意图消歧(disambiguation of intent)的过程,其通常从若干不同类型的返回结果中选择感兴趣的結果“类型”(例如,选择杂志中文章的OCR化的文本而不是也处于相同页面上的广告的视觉结果)。如參考图8详细解释的,用户可以类似地选择OCR化的文档中的特定带链接词(诸如所识别的命名实体)。可替换地或除此之外,用户可能希望对特定捜索结果进行注释。该注释可以以自由样式或者结构化格式来进行(422)。注释可以是结果的描述或者可以是结果的评论。例如,它们可以指示结果中主题的名称,或者它们可以指示“这是一本好书”或者“该产品在销售年度内有所突破”。另ー个注释示例是用户绘制的围绕视觉查询子部分的边界框以及用户所提供的识别边界框内的对象或主题的文本。參考图5对用户注释进行更为详细的解释。捜索结果的用户选择以及其它注释被发送到服务器系统(424)。前端服务器110接收所述选择和注释并且进ー步对它们进行处理(426)。如果该信息为交互式结果文档中的对象、子区域或词语的选择,则可以适当地请求关于该选择的进一歩信息。例如,如果选择是ー个视觉结果,则将会请求关于该视觉结果的更多信息。如果选择是(来自OCR服务器或来自图像至词语服务器的)词,则该词的文本捜索将被发送到词语查询服务器系统118。如果选择是来自面部图像识别搜索系统的人,则将会请求该人的简档。如果选择针对交互式搜索结果文档的特定部分,则将会请求潜在的视觉查询結果。如果服务器系统接收到注释,则该注释被存储在參考图5所解释的查询和注释数据库116中。接着,如以下參考图7-10所讨论的,来自注释数据库116的信息被 定期复制到用于ー个或多个并行服务器系统的单独注释数据库。图5是图示依据本发明的一个实施例的客户端系统102的框图。客户端系统102典型地包括ー个或多个处理单元(CPU) 702、一个或多个网络或其它通信接ロ 704、存储器712,以及用于将这些组件进行互连的ー个或多个通信总线714。客户端系统102包括用户接ロ 705。用户接ロ 705包括显示设备706并且可选地包括诸如键盘、鼠标或其它输入按钮的输入装置708。可替换地或除此之外,显示设备706包括触摸敏感表面709,在这种情况下,显示器706/709是触摸敏感显示器。在具有触摸敏感显示器706/709的客户端系统中,物理键盘是可选的(例如,可以在需要键盘输入时显示软键盘)。此外,一些客户端系统使用麦克风和语音识别来补充或替换键盘。可选地,客户端102包括GPS (全球定位卫星)接收器,或者用于确定客户端系统102的位置的其它位置检测装置707。在一些实施例中,提供要求客户端系统102提供视觉查询服务器系统以接收指示客户端系统102的位置的位置信息的视觉查询搜索服务。客户端系统102还包括诸如相机或扫描仪的图像捕捉设备710。存储器712包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器712可以可选地包括与CPU 702远程定位的ー个或多个存储设备。存储器712或者可替换地存储器712内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器712或者存储器712的计算机可读存储介质存储以下程序、模块和数据结构或者其子集 操作系统716,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;·网络通信模块718,其用于将客户端系统102经由ー个或多个通信网络接ロ 704(有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的ー个或多个通信网络连接到其它计算机; 图像捕捉模块720,其用于对图像捕捉设备/相机710所捕捉的相应图像进行处理,其中相应图像可以(例如,被客户端应用模块)作为视觉查询发送到视觉查询服务器系统;· ー个或多个客户端应用模块722,其用于处理通过图像进行查询的各个方面,包括但并不局限干用于向视觉查询服务器系统提交视觉查询的通过图像进行查询的提交模块724 ;可选地,检测图像中的感兴趣区域的选择(诸如触摸敏感显示器706/709上的手势)并且将该感兴趣区域准备为视觉查询的感兴趣区域选择模块725 ;用于显示视觉查询的结果的结果浏览器726 ;以及可选地,具有用于诸如在表单中进行填写的结构化注释文本输入730或者用于能够接受各种格式的注释的自由形式的注释文本输入732的可选模块的注释模块728 ;以及允许用户选择图像的特定子部分以便进行注释的图像区域选择模块734(这里有时称作结果选择模块); 可选的内容编写应用736,其允许用户通过创建或编辑图像而不是仅经由图像捕捉设备710捕捉图像来编写视觉查询;可选地,一个或多个这样的应用736可以包括使得用户能够选择图像的子部分以作为视觉查询的指令; 可选的本地图像分析模块738,其在将视觉查询发送到视觉查询服务器系统之前对其进行预处理。本地图像分析可以识别图像的特定类型,或者图像内的子区域。可以被这样的模块738所识别的图像类型的示例包括以下的ー个或多个面部类型(视觉查询内所识别的面部图像)、条形码类型(视觉查询内所识别的条形码)和文本类型(视觉查询内所 识别的文本);以及·附加的可选客户端应用740,诸如电子邮件应用、电话应用、浏览器应用、地图应用、即时消息应用、社交网络应用等。在一些实施例中,可以在选择了可采取动作的搜索结果时启动或访问对应于适当可采取动作的搜索结果的应用。可选地,允许用户选择图像的特定子部分以便进行注释的图像区域选择模块734还允许用户选择作为“正确”命中的搜索结果而并非必须对其进行进一歩注释。例如,用户可以被呈现以最前面的N个面部识别匹配并且可以从该结果列表中选择正确的人物。对于一些搜索查询而言,将呈现多于ー种类型的结果,并且用户将选择结果的类型。例如,图像查询可以包括站在树旁的人,但是用户仅对与人相关的结果感兴趣。因此,图像选择模块734允许用户指示哪种类型的图像是“正确的”类型ー即其有兴趣接收的类型。用户还可能希望通过使用(用于在表单中填写的)注释文本输入模块730或者自由形式的注释文本输入模型732来添加个人评论或描述性词以对搜索结果进行注释。在一些实施例中,可选的本地图像分析模块738是客户端应用(图I的108)的一部分。此外,在一些实施例中,可选的本地图像分析模块738包括一个或多个用来执行本地图像分析以对视觉查询或其一部分进行预处理或分类的程序。例如,客户端应用722可以在将视觉查询提交至搜索引擎之前识别图像包含条形码、脸部或文本。在一些实施例中,当本地图像分析模块738检测到视觉查询包含特定类型的图像时,该模块询问用户是否对相对应类型的搜索结果感兴趣。例如,本地图像分析模块738可以基于其一般特征来检测脸部(即,没有确定是哪个人的脸)并且在向视觉查询服务器系统发送查询之前向用户提供立即反馈。其可以返回如“已经检测到脸部,你有兴趣得到针对该脸部的面部识别匹配吗? ”的結果。这可以为视觉查询服务器系统(图I的106)节省时间。对于ー些视觉查询,前端视觉查询处理服务器(图I的110)仅向搜索系统112发送与本地图像分析模块738所识别的图像类型相对应的视觉查询。在其它实施例中,针对搜索系统112的视觉查询可以向所有搜索系统112A-N发送视觉查询,但是将对来自搜索系统112的与本地图像分析模块738所识别的图像类型相对应的结果进行排名。在一些实施例中,本地图像分析对视觉查询服务器系统的操作施加影响的方式取决于客户端系统的配置或者与用户或客户端系统相关联的配置或处理參数。此外,任意特定视觉查询的实际内容以及本地图像分析所产生的结果可以使得在客户端系统和视觉查询服务器系统中任一个或其二者对不同视觉查询进行不同处理。在一些实施例中,以两个步骤来执行条形码识别,其中在客户端系统上,在本地图像分析模块738执行视觉查询是否包括条形码的分析。接着,视觉查询仅在客户端确定该视觉查询可能包括条形码的情况下才被送至条形码捜索系统。在其它实施例中,条形码搜索系统对每个视觉查询进行处理。可选地,客户端系统102包括附加客户端应用740。图6是图示依据本发明一个实施例的前端视觉查询处理服务器系统110的框图。前端服务器110典型地包括ー个或多个处理单元(CPU)802、一个或多个网络或其它通信接ロ 804、存储器812,以及用于将这些组件进行互连的ー个或多个通信总线814。存储器812包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机访问固态存储器设备;并 且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器812可以可选地包括与CPU 802远程定位的一个或多个存储设备。存储器812或者可替换地存储器812内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器812或者存储器812的计算机可读存储介质存储以下程序、模块和数据结构或者其子集 操作系统816,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序; 网络通信模块818,其用于将前端服务器系统110经由ー个或多个通信网络接ロ804 (有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的ー个或多个通信网络连接到其它计算机; 查询管理器820,其用于处理来自客户端系统102的进入视觉查询并且将它们发送到两个或更多并行捜索系统;如本文其它地方所描述的,在ー些特殊情况下,诸如在视觉查询包括客户端所生成的指令(例如,“仅面部识别搜索”)时,视觉查询可以仅被指向ー个捜索系统; 结果过滤模块822,其用于可选地对来自一个或多个并行捜索系统的结果进行过滤并且将最前面或“相关”结果发送到客户端系统102以供呈现; 结果排名和格式化模块824,其用于可选地对来自一个或多个并行捜索系统的结果进行排名并且用于对结果进行格式化以供呈现;·结果文档创建模块826,其在适当时被用来创建交互式搜索结果文档;模块826可以包括子模块,包括但并不局限于边界框创建模块828和链接创建模块830 ;·标签创建模块831,其用于创建作为视觉查询的相应子部分的视觉标识符的标签;·注释模块832,其用于接收来自用户的注释并且将它们发送到注释数据库116 ;·可采取动作的搜索结果模块838,其用于响应于视觉查询而产生ー个或多个可采取动作的搜索结果元素,其中每个可采取动作的搜索结果元素被配置为启动客户端侧动作;可采取动作的捜索结果元素的示例是用于发起电话呼叫、发起电子邮件消息、绘制地址地图、进行餐厅预订以及提供购买产品的选项的按钮;和·查询和注释数据库116,其包括数据库本身834以及针对数据库836的索引。结果排名和格式化模块824对从ー个或多个并行搜索系统(112-A-112-N,图I)所返回的结果进行排名。如以上已经指出的,对于ー些视觉查询而言,可能仅有来自一个搜索系统的结果是相关的。在这样的实例中,仅对来自ー个捜索系统的相关搜索结果进行排名。对于ー些视觉查询而言,若干类型的捜索结果可能是相关的。在这些实例中,在一些实施例中,结果排名和格式化模块824对来自具有最相关结果(例如,具有最高相关分值的結果)的捜索系统的所有结果排名为高于较不相关搜索系统的結果。在其它实施例中,结果排名和格式化模块824对来自每个相关搜索系统的顶部结果排名为高于其余結果。在一些实施例中,结果排名和格式化模块824依据对每个搜索结果所结算的相关分值对结果进行排名。对于ー些视觉查询,除了并行视觉搜索系统上的捜索之外,还执行扩增的文本查询。在ー些实施例中,当还执行文本查询吋,以与视觉查询系统结果在视觉上有所不同的方式来呈现它们的結果。
结果排名和格式化模块824还对结果进行格式化。在一些实施例中,结果以列表格式呈现。在一些实施例中,结果利用交互式结果文档来呈现。在一些实施例中,交互式结果文档和结果列表都被呈现。在一些实施例中,查询的类型规定了如何呈现結果。例如,如果在视觉查询中检测到多于ー个的可捜索主題,则产生交互式结果文档,而如果仅检测到一个可搜索主题,则将仅以列表格式来显示結果。结果文档创建模块826被用来创建交互式搜索结果文档。交互式搜索结果文档可以具有一个或多个所检测和搜索的主題。边界框创建模块828创建围绕ー个或多个搜索主题的边界框。边界框可以是矩形框,或者可以包围主题的形状。链接创建模块830创建到与其在交互式搜索结果文档中的相应主题相关联的搜索结果的链接。在一些实施例中,边界框内的点击激活链接创建模块所插入的相对应链接。查询和注释数据库116包含能够被用来改进视觉查询结果的信息。在一些实施例中,用户可以在已经呈现了视觉查询结果之后对图像进行注释。此外,在一些实施例中用户可以在将图像发送到视觉查询搜索系统之前对其进行注释。预先注释可以通过对结果进行聚焦(focusing)或者与视觉查询搜索并行地对所注释的词运行基于文本的捜索来对视觉查询处理提供帮助。在一些实施例中,可以使得经注释的图片版本公开(例如,在用户已经例如通过将图像和注释指定为非私有而允许公开时),以使得其作为潜在的图像匹配命中而返回。例如,如果用户拍摄了花的照片并且通过给出与该花相关的详细种属信息对图像进行了注释,则用户可能想要将该图像呈现给执行寻找该花的视觉查询搜索的任何人。在一些实施例中,来自查询和注释数据库116的信息被定期推送到并行搜索系统112,其将信息的相关部分(如果有)合并到其相应的单独数据库114中。图7是图示被用来处理视觉查询的并行搜索系统之ー的框图。图7图示了依据本发明ー个实施例的“一般”服务器系统112-N。该服务器系统的一般性仅在于其表不视觉查询搜索服务器112-N中的任意ー个。一般服务器系统112-N典型地包括ー个或多个处理单元(CPU) 502、一个或多个网络或其它通信接ロ 504、存储器512,以及用于将这些组件进行互连的ー个或多个通信总线514。存储器512包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器512可以可选地包括与CPU 502远程定位的一个或多个存储设备。存储器512或者可替换地存储器512内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器512或者存储器512的计算机可读存储介质存储以下程序、模块和数据结构或者其子集 操作系统516,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序; 网络通信模块518,其用于将一般服务器系统112-N经由ー个或多个通信网络接ロ 504 (有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的ー个或多个通信网络连接到其它计算机;·特定于特定服务器系统的搜索应用520,其例如可以是条形码搜索应用、颜色识别搜索应用、产品识别搜索应用、对象或对象类别搜索应用等;·可选的索引522,如果特定捜索应用采用索引;
可选的图像数据库524,其用于存储与特定搜索应用相关的图像,其中如果有,则所存储的图像数据取决于搜索过程类型;·可选的结果排名模块526 (有时被称作相关性评分模块),其用于对来自搜索应用的结果进行排名,排名模块可以对来自搜索应用的每个结果分配相关性分值,并且如果没有结果达到预定的最低分值,则可以向前端视觉查询处理服务器返回指示来自该服务器系统的结果不相关的空或零值分值;和 注释模块528,其用于从注释数据库(图I的116)接收确定任意注释信息是否与特定搜索应用相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库530中。图8是图示依据本发明一个实施例的用来处理视觉查询的OCR搜索系统112-B的框图。OCR搜索系统112-B典型地包括ー个或多个处理单元(CPU) 602、一个或多个网络或其它通信接ロ 604、存储器612,以及用于将这些组件进行互连的ー个或多个通信总线614。存储器612包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器612可以可选地包括与CPU 602远程定位的一个或多个存储设备。存储器612或者可替换地存储器612内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器612或者存储器612的计算机可读存储介质存储以下程序、模块和数据结构或者其子集 操作系统616,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序; 网络通信模块618,其用于将OCR搜索系统112-B经由ー个或多个通信网络接ロ604 (有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的ー个或多个通信网络连接到其它计算机;·光学字符识别(OCR)模块620,其试图识别视觉查询中的文本,并且将字母图像转换为字符;·可选的OCR数据库114-B,其被OCR模块620用来识别特定字体、文本图案以及对于字母识别唯一的其它特征;
可选的拼写检查模块622,其通过针对字典检查所转换的词并且替换另外匹配了字典单词的词中潜在错误转换的字母来改善字母图像到字符的转换;·可选的命名实体识别模块624,其捜索转换文本内的命名实体,将所识别的命名实体作为词语查询中的词语发送到词语查询服务器系统(图I的118),并且将来自词语查询服务器系统的结果作为嵌入与所识别命名实体相关联的OCR化文本中的链接进行提供;·可选的文本匹配应用632,其通过针对文本分段的数据库检查所转换分段(诸如所转换的句子和段落)并且替换另外匹配了文本匹配应用文本分段的OCR化文本分段中潜在错误转换的字母来改善字母图像到字符的转换,在一些实施例中,文本匹配应用所找到的文本分段作为链接提供给用户(例如,如果用户扫描了纽约时报的ー页,则文本匹配应用可以提供到纽约时报网站上整篇刊登文章的链接);·结果排序和格式化模块626,其用于对OCR化结果进行格式化以供呈现并且将可选链接格式化为命名实体,并且还可选地对来自文本匹配应用的任意相关结果进行排名;和 可选的注释模块628,其用于从注释数据库(图I的116)接收确定任意注释信息是否与OCR捜索系统相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库630中。图9是图示依据本发明一个实施例的用来处理视觉查询的面部识别搜索系统112-A的框图。面部识别搜索系统112-A典型地包括ー个或多个处理单元(CPU) 902、ー个或多个网络或其它通信接ロ 904、存储器912,以及用于将这些组件进行互连的ー个或多个通信总线914。存储器912包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器912可以可选地包括与CPU902远程定位的一个或多个存储设备。存储器912或者可替换地存储器912内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器912或者存储器912的计算机可读存储介质存储以下程序、模块和数据结构或者其子集 操作系统916,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序; 网络通信模块918,其用于将面部识别搜索系统112-A经由ー个或多个通信网络接ロ 904 (有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的ー个或多个通信网络连接到其它计算机; 面部识别搜索应用920,其用于搜索在面部图像数据库114-A中与视觉查询中所出现的脸部相匹配的面部图像,并且针对与面部图像数据库114-A中所找到的每个匹配相关的信息搜索社交网络数据库922 ;·面部图像数据库114-A,其用于存储多个用户的ー个或多个面部图像;可选地,面部图像数据库包括用户之外的人的面部图像,诸如家庭成员或用户所认识并且已经被识别为出现在面部图像数据库114-A中所包括的图像中的其他人;可选地,面部图像数据库包括从诸如在公众领域合法的面部图像提供商的外部源获得的面部图像;·可选地,社交网络数据库922,如參考图12A更为详细讨论的,其包含与社交网络用户相关的信息,诸如姓名、地址、职业、组成员资格、社交网络连接、移动设备的当前GPS位置、分享偏好、兴趣、年龄、籍贯、个人统计、工作信息等;·结果排名和格式化模块924,其用于对来自面部图像数据库114-A的潜在面部匹配进行排名(例如,对其分配相关性和/或匹配质量分值)并且对结果进行格式化以供呈现;在一些实施例中,结果的排名或评分采用从以上提到的社交网络数据库所获取的相关信息;在一些实施例中,经格式化的捜索结果包括潜在的图像匹配以及来自社交网络数据库的信息的子集;和 注释模块926,其用于从注释数据库(图I的116)接收确定任意注释信息是否与面部识别搜索系统相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库928中。图10是图示依据本发明一个实施例的用来处理视觉查询的图像至词语搜索系统112-C的框图。在一些实施例中,图像至词语搜索系统识别视觉查询中的对象(实例识别)。在其它实施例中,图像至词语搜索系统识别视觉查询中的对象类别(类型识别)。在ー些实施例中,图像至词语搜索系统识别对象和对象类别。图像至词语搜索系统返回针对视觉查 询中的图像的潜在词语匹配。图像至词语搜索系统112-C典型地包括一个或多个处理単元(CPU) 1002、一个或多个网络或其它通信接ロ 1004、存储器1012,以及用于将这些组件进行互连的ー个或多个通信总线1014。存储器1012包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器1012可以可选地包括与CPU 1002远程定位的一个或多个存储设备。存储器1012或者可替换地存储器1012内的非易失性存储设备包括非瞬时计算机可读存储介质。在一些实施例中,存储器1012或者存储器1012的计算机可读存储介质存储以下程序、模块和数据结构或者其子集·操作系统1016,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;·网络通信模块1018,其用于将图像至词语搜索系统112-C经由ー个或多个通信网络接ロ 1004 (有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;·图像至词语搜索应用1020,其在图像搜索数据库114-C中捜索与视觉查询中的一个或多个主题相匹配的图像;·图像搜索数据库114-C,其能够被搜索应用1020所搜索以找出类似于视觉查询的主题的图像; 词语至图像反向索引1022,其存储用户在使用基于文本的查询搜索引擎1006搜索图像时所使用的文本词语;·结果排名和格式化模块1024,其用于对潜在图像匹配进行排名和/或对词语至图像反向索引1022中所标识的与潜在图像匹配相关联的词语进行排名;和·注释模块1026,其用于从注释数据库(图I的116)接收确定任意注释信息是否与图像至词语搜索系统112-C相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库1028中。图5-10更多地是意在作为可以在计算机系统的集合中给出的各种特征的功能描述而不是作为这里所描述的实施例的结构示意。实际上,并且如本领域技术人员所认识到的,単独示出的项目可以进行组合并且ー些项目可以被分离。例如,在这些附图中单独示出的ー些项目可以在单个服务器上实现并且单个项目可以由一个或多个服务器实现。用来实施视觉查询处理的系统的实际数量以及特征如何在它们之间进行分配可以随实施方式而变化。这里所描述的每种方法可以由存储在非瞬时计算机可读存储介质中并且由ー个或多个服务器或客户端的一个或多个处理器所执行的指令进行管理。以上所标识的模块或程序(即,指令集合)无需作为单独的软件程序、过程或模块来实现,并且这些模块的各个子集可以在各个实施例中组合或以另外的方式重新安排。图5-10中所示出的每个操作可以对应于存储在计算机存储器或非瞬时计算机可读存储介质中的指令。图11图示了具有示例性视觉查询1102的截屏的客户端系统102。图11所示的客户端系统102是诸如蜂窝电话、便携式音乐播放器或便携式电子邮件设备的移动设备。客户端系统102包括显示器706以及诸如该图中所示出的按钮的一个或多个输入装置708。在一些实施例中,显示器706是触摸敏感显示器709。在具有触摸敏感显示器709的实施例 中,显示在显示器709上的软按钮可以可选地替换ー些或所有电子机械按钮708。如以下更为详细解释的,触摸敏感显示器还有助于同视觉查询结果进行交互。客户端系统102还包括诸如相机710的图像捕捉机制。图11图示了作为店铺货架上的包装的照片或视频帧的视觉查询1102。在这里所描述的实施例中,视觉查询是ニ维图像,其具有与两个维度中的每ー个中的像素的视觉查询大小相对应的分辨率。在该示例中,视觉查询1102是三维对象的ニ维图像。视觉查询1102包括背景元素、产品包装1104以及包装上各种类型的实体,包括人物图像1106、商标图像1108、产品图像1110以及各种文本元素1112。如參考图3所解释的,视觉查询1102被发送到前端服务器110,其将视觉查询1102发送到多个并行捜索系统(112A-N),接收结果并创建交互式结果文档。图12A和12B均图示了具有交互式结果文档1200的实施例的截屏的客户端系统102。交互式结果文档1200包括视觉查询1102的相应子部分的ー个或多个视觉标识符1202,其均包括到捜索结果子集的用户可选择链接。图12A和12B图示了具有视觉标识符的交互式结果文档1200,所述视觉标识符是分界框1202 (例如,分界框1202-1、1202-2、1202-3)。在图12A和12B所示的实施例中,用户通过在其分界框1202所包围的空间内的激活区域上进行敲击来激活对应于特定子部分的搜索结果的显示。例如,用户将通过在围绕人物图像的分界框1306 (图13)上进行敲击来激活与人物图像相对应的捜索結果。在其它实施例中,使用鼠标或键盘而不是触摸敏感显示器来选择可选择链接。在一些实施例中,在用户预览分界框1202时(即,在用户在分界框上进行单击、一次敲击或悬停指示符时)显示第一对应搜索結果。用户在其选择边界框时(即,当用户进行双击、两次敲击或者使用其它机制来指示选择时)激活多个对应搜索结果的显示。在图12A和12B中,视觉标识符是围绕视觉查询的子部分的分界框1202。图12A图示了为正方形或矩形的分界框。图12B图示了包围视觉查询的子部分中的可识别实体的边界的分界框1202,诸如用于饮料瓶的分界框1202-3。在一些实施例中,相应分界框1202在其内部包括较小的分界框1202。例如,在图12A和12B中,标识包装的分界框1202-1围绕着标识商标的分界框1202-2以及所有其它分界框1202。在包括文本的一些实施例中,还包括ー些文本词语的活跃热链接1204。图12B示出了其中“Active Drink”和“UnitedStates”被显示为热链接1204的示例。对应于这些词语的搜索结果是从词语查询服务器系统118所接收的结果,而对应于分界框的结果则是来自通过图像进行查询的捜索系统的结
果O图13图示了具有交互式结果文档1200的截屏的客户端系统102,所述交互式结果文档1200通过视觉查询中所识别的实体类型进行编码。图11的视觉查询包含人物图像1106、商标图像1108、产品图像1110以及各种文本元素1112。这样,图13中所显示的交互式结果文档1200包括围绕人物1306、商标1308、产品1310以及两个文本区域1312的分界框1202。图13的分界框均利用表示不同着色的透明分界框1202的単独交叉阴影来呈现。在一些实施例中,分界框的视觉标识符(和/或交互式结果文档1200中的标签或其它视觉标识符)被格式化以便以诸如覆盖颜色、覆盖图案、标签背景顔色、标签背景图案、标签字体顔色和分界框边界顔色的视觉上不同的方式进行呈现。用于特定识别实体的类型编码參考 图13中的分界框示出,但是通过类型进行的编码也被应用于作为标签的视觉标识符。图14图示了具有交互式结果文档1200的截屏的客户端系统102,所述交互式结果文档1200具有作为图11的视觉查询1102的相应子部分的视觉标识符的标签1402。标签视觉标识符1402均包括到相对应搜索结果的子集的用户可选择链接。在一些实施例中,可选择链接由标签1402区域内所显示的描述文本所标识。一些实施例包括一个标签1402内的多个链接。例如,在图14中,悬停在喝水女士图像上方的标签包括到针对该女士的面部识别结果的链接以及到针对该特定图片(例如,其它产品的图像或者使用相同图片的广告)的图像识别结果的链接。在图14中,标签1402被显示为部分透明区域,其具有位于交互式结果文档的其相应子部分上的文本。在其它实施例中,相应标签位于交互式结果文档的其相应子部分附近而并非位于其上。在一些实施例中,标签以与參考图13所讨论的相同方式通过类型进行编码。在一些实施例中,用户通过在被标签1302的边缘或外围所包围的空间内的激活区域上进行敲击来激活与对应于标签1302的特定子部分相对应的搜索结果的显示。以上參考图12A和12B的分界框所讨论的相同预览和选择功能也适用于作为标签1402的视觉标识符。图15图示了与结果列表1500同时显示的原始视觉查询1102和交互式结果文档1200的截屏。在一些实施例中,交互式结果文档1200如图12-14所示的自己进行显示。在其它实施例中,如图15所示,交互式结果文档1200与原始视觉查询同时显示。在一些实施例中,视觉查询结果的列表1500连同原始视觉查询1102和/或交互式结果文档1200 —起同时进行显示。客户端系统的类型以及显示器706上的空间量可以确定是否与交互式结果文档1200同时显示结果列表1500。在一些实施例中,客户端系统102 (响应于提交给视觉查询服务器系统的视觉查询)接收结果列表1500和交互式结果文档1200,但是仅在用户向下滚动交互式结果文档1200时才显示结果列表1500。在这些实施例中的ー些中,客户端系统102显示与用户所选择的视觉标识符1202/1402相对应的结果而无需再次对服务器进行查询,这是因为客户端系统102响应于视觉查询接收了结果列表1500并且随后将其本地存储在客户端系统102。在一些实施例中,结果列表1500被组织为类别1502。每个类别包含至少ー个结果1503。在一些实施例中,类别标题被高亮以便将它们与结果1503进行区分。类别1502根据其经计算的类别权重进行排序。在一些实施例中,类别权重是该类别中最高的N个结果的权重组合。这样,具有可能产生最为相关的结果的类别被首先显示。在针对相同的识别实体返回了多于ー个的类别1502 (诸如图15中所示的面部图像识别匹配和图像匹配)的实施例中,首先显示的类别具有较高的类别权重。如參考图3所解释的,在一些实施例中,当客户端系统102的用户选择了交互式结果文档1200中的可选择链接时,光标将自动移动到适当类别1502或该类别中的第一结果1503。可替换地,当交互式结果文档中的可选择链接被客户端系统102的用户所选择时,结果列表1500被重新排序以使得与所选择链接相关的ー个或多个类别被首先显示。例如,这是通过利用标识相对应搜索结果的信息对可选择链接进行编码或者通过对搜索结果进行编码以指示相对应的可选择链接或指示相对应的结果类别来实现的。在一些实施例中,捜索结果的类别对应于产生那些搜索结果的通过图像进行查询的搜索系统。例如,在图15中,一些类别是产品匹配1506、标志匹配1508、面部识别匹配 1510、图像匹配1512。原始视觉查询1102和/或交互式结果文档1200可以与诸如查询1504的类别标题类似地进行显示。类似地,来自词语查询服务器所执行的任意词语搜索的结果也可以被显示为单独类别,诸如web结果1514。在其它实施例中,视觉查询中多于ー个的实体将产生来自相同的通过图像进行查询的搜索系统的結果。例如,视觉查询可以包括两个不同脸部,它们将从面部识别搜索系统返回単独的結果。这样,在一些实施例中,类别1502通过所识别实体而不是通过搜索系统进行划分。在一些实施例中,所识别实体的图像被显示在所识别实体的类别首部1502中,以使得该所识别实体的结果能够与另一个所识别实体的结果区分开来,即使两个结果是由图像捜索系统所进行的相同查询所产生。例如,在图15中,产品匹配类别1506包括两个实体产品实体并且由此作为两个实体类别1502—盒装产品1516和瓶装产品1518,它们中的每ー个具有多个相应搜索结果1503。在ー些实施例中,类别可以通过所识别实体以及通过图像进行查询的系统的类型进行划分。例如,在图15中,存在两个单独实体,它们在产品匹配类别产品下返回了相关結果。在一些实施例中,结果1503包括缩略图。例如,如对于图15中的面部识别匹配结果所示出的,连同诸如图像中人物的姓名之类的ー些文本描述一起显示了“女演员X”和“社交网络好友Y”的面部匹配图片的小型版本(也被称作缩略图)。图16A和16B是图示用于创建可采取动作的搜索结果元素的过程的流程图。图16A和16B中所示的每个操作可以对应于计算机存储器或计算机可读存储介质中所存储的指令。特别地,许多操作对应于用于前端捜索系统110的可采取动作的搜索结果模块838(图6)的指令。如參考图2所解释的,前端捜索系统110从客户端系统接收视觉查询1200 (图12) (202)。捜索系统将所述视觉查询发送到至少ー个实现视觉查询搜索过程的捜索系统(1602)。在一些实施例中,视觉查询将被发送到多个搜索系统(210),如以上參考图2所描述的,其中每个搜索系统执行不同的视觉查询搜索过程。从搜索系统接收至少ー个结果(1604)。在一些实施例中,结果将包括通信地址(1606)。例如,当视觉查询包含若干脸部的图像吋,(从面部识别搜索系统)所返回的搜索结果可以包括ー个或多个通信地址,诸如搜索结果中所识别的ー个或多个人的电话号码、电子邮件地址和物理地址中的ー个或多个。
前端捜索系统识别视觉查询中的实体(1608)。如參考图17所解释的,所述实体可以基于视觉查询中的部分文本来识别。如參考图18所解释的,所述实体可以是条形码(或者可以基于条形码进行识别)。如參考图19所解释的,所述实体可以是产品。如參考图21所解释的,所述实体可以是建筑物。如參考图22所解释的,所述实体可以是(例如,从建筑物图像或者企业或组织所制造产品的图像等所识别的)企业或组织。实体可以是以下的任意一个人、与人相关联的姓名或其它标识符、公司、组织、电话号码、传真号码、电子邮件地址、邮政地址、IM地址、URL、文本、标志、建筑物、建筑物或物理结构群组、邮政地址、地标、社交网络联系人、产品、脸部、条形码或图像(1610)。当实体是诸如姓名、电话号码或电子邮件地址的文本实体时,使用OCR过程来识别所述实体。当实体不是文本实体时,使用非OCR匹配过程来进行实体识别(1612)。前端捜索系统识别与所识别实体相对应的一个或多个客户端侧动作(1614)。在一些实施例中,当所识别实体可以与多于ー个的客户端侧动作相关联时,多于ー个的客户端侧动作与所识别实体相关联。例如,如果所识别实体为公司,则识别出诸如发起电话呼叫、发送电子邮件或者去往该公司网址的各种客户端侧动作(假设所有那些客户端侧动作可以
由捜索系统确定或识别)。针对所识别实体的类型,仅有ー个客户端侧动作与所识别实体相关联。例如,如果传真号码是所识别实体,则发送传真可能是仅有的所识别的客户端侧动作。在一些实施例中,所识别的动作是基于ー个或多个搜索结果中所识别的信息(1616)。当原始查询不直接包括可采取动作的信息吋,这是特别相关的。例如,如果视觉查询1200是如图18所示的条形码,则所识别的动作将基于从条形码匹配所识别的信息,诸如产品信息,或者在图18的情形下是与个人ID上的条形码相关联的个人信息。客户端侧动作可以是以下的任意一个对电话号码发起呼叫、即时消息发送、传真、传呼、电子邮件、通过社交网络系统联系以及通过其它机制进行通信(1618)。例如,如果所识别的实体是电话号码,则客户端侧动作将是对所述电话号码发起电话呼叫。如果所识别的实体是电子邮件地址,则客户端侧动作将是向所述电子邮件地址发起电子消息的编与。当视觉查询中所识别的实体是邮政地址时,客户端侧动作可以是多个地图相关动作中的任意动作。在一些实施例中,地图相关动作包括提供标识邮政地址位置的地图,提供到邮政地址的行车路线指引,提供始于邮政地址的行车路线指引、提供包括邮政地址的航空照片,和/或提供对应于邮政地址的街景图像(1620)。在一些实施例中,客户端侧动作是向联系人列表添加信息(1622)。例如,客户端动作可以是向联系人列表添加姓名、电子邮件地址、电话号码、传真号码、邮政地址、即时消息地址、公司名称、组织名称、URL和/或社交网络联系人。当视觉查询中所识别的实体是能够购买或评论的产品、财产或其它实体时,客户端侧动作可以是以下的ー个或多个发起对产品、财产或其它实体的购买或出价;获取和/或显示产品、资产或其它实体的评论;获取和/或显示类似产品、资产或其它实体的列表;以及获取和/或显示相关产品、资产或其它实体的列表(1624)。前端捜索系统创建可采取动作的捜索结果元素(1626)。可采取动作的捜索结果元素被配置为启动所识别的客户端侧动作。对于至少ー些视觉查询而言,对所处理的视觉查询创建两个或更多可采取动作的捜索结果元素;每个可采取动作的捜索结果元素被配置为启动相应的客户端侧动作(1628)。可选地,两个或更多可采取动作的捜索结果元素被配置为启动不同的客户端应用(1629),并且执行不同的客户端侧动作。不同的客户端应用的示例是经由电子邮件进行通信、观看网页以及通过电话进行通信的客户端应用。由于应用还可以在web浏览器的环境内执行,所以不同的客户端应用可以包括如Gmail (Google公司的商标)、Google Calendar (Google 公司的商标)和 Google Reader (Google 公司的商标)的应用,它们是包括由浏览器应用环境中的虚拟机所执行的客户端应用代码的基于web的应用。在一些实施例中,在存在预定条件时(例如,当所识别的客户端侧动作的数量超过阈值或预定最大值时),仅针对所识别的客户端侧动作的子集形成可采取动作的捜索结果元素。在这些实例中,针对相对应的可采取动作的搜索结果元素所选择的客户端侧动作是被计算为用户最可能感兴趣的那些客户端侧动作。在一些实例中,在决定要向客户端设备发送什么可采取动作的捜索结果元素时使用客户端设备的能力。例如,如果客户端设备不 包括电话应用,则将不会向该客户端设备发送用于启动电话呼叫的可采取动作的捜索结果 元素,或者不会将其选作优选的可采取动作的捜索结果元素。在一些实施例中,基于ー个或多个因素对潜在的可采取动作的捜索结果元素进行评分,诸如相关性、流行度、与视觉查询焦点的关联、先前的用户使用模式以及其它的用户使用模式。然后基于分配给可采取动作的搜索结果的屏幕空间来显示前N个潜在的可采取动作的捜索結果。在一些实施例中,可采取动作的捜索结果作为用户界面上的按钮进行显示(1630)。在本文中,“按钮”是可以包括或不包括看上去像按钮的显示元素的离散用户界面元素。前端捜索系统将ー个或多个可采取动作的捜索结果元素发送到客户端系统以便进行显示(1632)。可选地,若干可采取动作的捜索结果元素被发送到客户端系统。在ー些实施例中,除了可采取动作的捜索结果元素之外,还向客户端系统发送至少ー个捜索结果(1634)。在一些实施例中,可采取动作的搜索结果元素不同于搜索結果。在一些实施例中,它们被配置为在显示设备的単独部分中进行显示。在一些实施例中,ー些可采取动作的搜索结果元素作为链接嵌入在捜索结果显示中。在一些实施例中,可采取动作的搜索结果元素被配置为通过视觉查询的一部分进行显示(1636)。例如,在一些实施例中,发送包括向客户端系统发送具有可采取动作的捜索结果元素的视觉查询的表示,所述可采取动作的捜索结果元素覆盖所述视觉查询的表示的至少一部分。在其它实施例中,发送包括向客户端系统发送用于视觉呈现覆盖视觉查询的至少一部分的可采取动作的捜索结果元素的信息。在一些实施例中,除了创建可采取动作的捜索结果元素之外,创建其它可采取动作的元素并且将其发送到客户端系统(1638)。这些可采取动作的元素由于动作不与特定搜索结果相关而与搜索结果元素相分离。例如,可采取动作的元素可能包括分享或上传视觉查询和/或捜索结果、回顾用户的视觉查询历史和/或启动新的捜索的一个或多个选项(1640)。现在,已经參考图16A和16B对用于创建可采取动作的捜索结果元素的过程进行了描述,现在将对特定示例进行讨论。
在一些实施例中,所识别的实体是具有ー个或多个相关联标识符的人。例如,标识符可以是以下的ー个或多个人的姓名、人的面部图像、与人相关联的标识号码、与人相关联的电话号码、与人相关联的传真号码、与人相关联的社交网络标识符以及与人相关联的电子邮件地址。当所识别的实体是诸如企业、组织、协会或其它实体的不同于人的实体吋,所述实体具有ー个或多个相关联的标识符,诸如以下的ー个或多个图像、标识号码、标志、电话号码、传真号码、电子邮件地址和物理地址。在这些实施例中,多个搜索结果可以包括与不同于人/实体的标识符的人/实体相关联的通信地址。例如,如果标识符是人的姓名,则搜索结果可能包括以下的ー个或多个与人相关联的电话号码、电子邮件地址和即时消息地址。这样,可采取动作的捜索结果元素被配置为使用来自搜索结果的通信地址(以及原始查询中所识别的任意通信地址)启动通信。与此相同的概念适用于个体或个体标识符之外的实体。在一些实施例中,客户端被配置为以类似于以上针对服务器所讨论的方式识别直接存在于视觉查询中的实体。接着,客户端识别与所识别实体相对应的ー个或多个动作并且创建相对应的可采取动作的捜索结果元素。在该实施例中,客户端侧所创建的可采取动作的捜索结果元素可以通过服务器所识别的可采取动作的捜索结果元素扩增,诸如间接对 应于视觉查询中的所识别实体的那些可采取动作的捜索结果元素。将在以下出于说明的目的对查询及其相关联的可采取动作的捜索结果的示例说明进行讨论。这些示例中的捜索查询及其结果不表示所有可能查询和可采取动作的搜索结果,而是被示出以对以上关于图16A和16B所提供的一般性描述进行加強。图17图示了针对包括商业卡图像的视觉查询1200所返回的结果列表1500和多个可采取动作的捜索结果元素1700的实施例的客户端系统显示。该实施例中的视觉查询1200是包括各种元素的商业卡的照片。在该示例中,商业卡的视觉查询1200被发送到搜索系统,所述搜索系统识别视觉查询中的以下实体个体名称1702、标志1704、邮政地址1706、电话号码1708和网站地址1710。搜索系统连同视觉查询1200和其它元素一起返回捜索结果列表1500和可采取动作的捜索结果元素1700。一些可采取动作的捜索结果元素1700对应于捜索系统通过使用OCR过程在商业卡中直接找到的实体。这些包括呼叫按钮的可采取动作的捜索结果1712,这是用于向所识别的电话号码1708发起电话呼叫的按钮,地图按钮的可采取动作的捜索结果1716,这是用于对所识别的地址1706绘制地图的按钮,以及URL按钮的可采取动作的捜索结果1718,这是用于观看所识别的网站1710的按钮。图17中的ー些可采取动作的搜索结果1700被配置为启动间接对应于视觉查询中的所识别实体(或与所识别实体相关联的标识符)的客户端侧动作。例如,电子邮件按钮的可采取动作的捜索结果1714,通过并未包括在视觉查询中的商业卡上的文本中的电子邮件地址发起电子邮件消息编写。启动间接对应于所识别实体的客户端侧动作所需的地址信息从与视觉查询相关联的捜索结果获取。例如,电子邮件地址从与姓名Bob Every相关联的捜索结果信息所获取,这是因为在商业卡上没有列出电子邮件地址。(姓名“Bob Every”是与人“Bob Every”相关联的标识符)。换句话说,所识别的客户端侧动作(发送邮件)对应于所识别实体“Bob Every”,并且电子邮件地址是在视觉查询(商业卡)的捜索结果中所识别的信息的一部分。类似地,“发送社交网络消息-Bob”的可采取动作的搜索结果按钮1722用于发起对其商业卡上也没有列出的Bob的社交网络账户的社交网络消息编写。因此,“发送社交网络消息-Bob”的可采取动作的捜索结果按钮是被配置为启动间接对应于视觉查询中的所识别实体的客户端侧动作的另ー个可采取动作的捜索結果。“将Bob Every添加到联系人”的可采取动作的搜索结果按钮1720用于将ー些所识别信息添加到联系人列表。能够添加的信息是从视觉查询直接获取的信息(诸如商业卡上的姓名、邮政地址、电话号码、网站)以及对应于视觉查询中所识别实体的附加搜索结果信息(诸如电子邮件地址、社交网络联系人和公司名称)。该示例中的捜索结果列表示出了其它相关结果,诸如“任意企业”的web结果1514和标志匹配1508。这些类型的结果与以上參考图15所描述的那些相同。图17还包括若干可采取动作的元素1724。可采取动作的元素1724并不依赖于特定捜索结果,而是用于发起视觉查询系统中的标准动作的可选择元素。图17中所显示的可采取动作的元素是用来发起“新捜索”、与另ー个用户或应用“分享”搜索结果或者其一部分、以及回顾先前的视觉查询搜索(标记为“历史”)的按钮。 图18图示了针对2D条形码的视觉查询1200所返回的结果列表1500和多个可采取动作的搜索结果元素1700的实施例的客户端系统显示。图18中的可采取动作的搜索结果元素1700被配置为启动间接对应于条形码所识别的实体1801的客户端侧动作,这是因为条形码本身不是具有直接对应的客户端侧动作的实体。在图18所示的实施例中,条形码匹配视觉查询搜索结果信息1802显示在可采取动作的捜索结果元素1700纸上。该实施例中所显示的信息与Bob Every相关,这是因为该条形码可能处于其ID或访问卡上。因此,所返回的结果与图17所示的那些相同。然而,条形码被用在各种应用之中,并且与每个条形码相关联的信息将确定所显示的可采取动作的搜索结果的类型。例如,如果条形码与产品相关联,则可采取动作的捜索结果可能与购买产品、获得与产品相关的详细信息或者获得产品评论相关。该实施例还包括结果列表1500和可采取动作的元素1724。图19图示了针对包括产品的视觉查询1200所返回的结果列表1500和多个可采取动作的捜索结果元素1700的视觉查询结果的客户端系统显示。该实施例中的视觉查询1200是书架上的图书1901的照片。图书封面包括文本和图像。捜索系统连同视觉查询1200和其它元素一起返回搜索结果列表1500和可采取动作的搜索结果元素1700。针对该查询所识别的实体是图书1901。在图19中所示的实施例中,图书匹配视觉查询搜索结果信息1902显示在可采取动作的捜索结果元素1700之上。这些图书结果元素包括标题、作者和星级评级。可采取动作的捜索结果元素1700对应于用户可能希望采取的对应于所识别产品的客户端侧动作。在该实施例中,可采取动作的捜索结果元素包括用于购买产品的按钮1904、用于对产品出价的按钮1906,以及用于阅读关于产品的产品评论的按钮1908。搜索结果列表包括web结果1514和图像结果1512。图20是图示客户端系统102和前端视觉查询服务器系统110之间用于创建具有可选位置信息的可采取动作的捜索结果1700的通信的流程图。在一些实施例中,位置信息在使用之前进行增强。在这些实施例中,视觉查询结果至少部分基于用户在查询时的位置。使用位置信息或增强位置信息来改善视觉查询搜索对于“街景视觉查询”是有用的。例如,如果站在街角并且拍摄了建筑物照片作为视觉查询,并且使用当前位置信息(即,识别客户端设备的位置的信息)以及视觉查询对其进行处理,则搜索结果将包括与位于该建筑物中的企业或组织相关的信息。
图20中所示出的每个操作可以对应于计算机存储器或计算机可读存储介质中所存储的指令。。特别地,许多操作对应于前端捜索系统110的可采取动作的搜索结果模块838 (图6)和客户端系统102的结果浏览器736 (图5)中的可执行指令。客户端设备或系统102接收来自用户的图像(2002)。在一些实施例中,所述图像从客户端设备或系统102中的相机710(图5)接收。在一些实施例中,客户端系统还接收指示客户端系统的位置的位置信息(2004)。所述位置信息可以来自于客户端设备或系统102中的GPS设备707 (图5)。可替换地或除此之外,所述位置信息可以来自于小区塔台使用信息或无线局域网信息。为了可用于产生街景辅助结果,所述位置信息通常必须满足精确度标准。在一些实施例中,当位置信息具有不低于A的精确度时,精确度标准得以被满足,其中A是预定义的100米或更近的数值。客户端系统102从所述图像创建视觉查询(2006)并且将所述视觉查询发送到服务器系统(2008)。在一些实施例中,客户端系统102还将位置信息发送到服务器(2010)。前端服务器系统110从客户端系统接收视觉查询(2012)。其还可以接收位置信息(2014)。如參考图16A所解释的,前端服务器系统110向实现视觉查询过程的至少ー个搜索系统发送视觉查询(2016)。在一些实施例中,视觉查询被发送到多个并行捜索系统。搜 索系统返回ー个或多个搜索结果(2024)。在客户端系统102向前端服务器系统110发送位置信息的实施例中,前端服务器系统将所述位置信息发送到至少ー个位置扩增搜索系统(2018)。(在2014)接收的位置信息可能在指定范围内精确定位用户。在一些实施例中,位置信息以75英尺或更好的精确度定位客户端系统;在ー些(如以上所描述的)其它实施例中,位置信息具有不低于A的精确度,其中A是预定义的100米或更近的数值。位置扩增搜索系统(图23所示的112-F)在指定范围内对(之前存储在图像数据库2322中的)街景图像库集执行视觉查询匹配捜索。如果在该库集内找到了图像匹配,则获取与匹配图像相关联的增强位置信息。在一些实施例中,增强位置信息在比原始范围窄的范围内精确定位用户的特定位置,并且可选地(但是通常)还包括姿态(即,用户所面对的方向)。在一些实施例中,增强位置信息所识别的特定位置处于距客户端设备的实际位置的预定距离之内,诸如10或15英尺。在该实施例中,前端服务器系统110从位置扩增搜索系统接收基于视觉查询和位置信息的增强位置信息(2020)。然后,前端服务器系统110将增强位置信息发送到基于位置的查询系统(图24所示的112-G) (2022)。基于位置的查询系统112-G获取并返回被前端服务器系统所接收的ー个或多个搜索结果(2024)。可选地,依据视觉查询和增强位置信息两者获得捜索结果(2026)。可替换地,依据使用原始位置信息和视觉查询所获取的增强位置信息获得搜索结果(2028)。应当注意的是,(在2024接收的)视觉查询结果可以包括所精确定位的位置附近实体的結果,无论这些实体是否能够在视觉查询图像中看到。例如,视觉查询结果可以包括被在原始视觉查询中(例如,被过往车辆或树木)所遮蔽的实体。在一些实施例中,视觉查询结果还将包括诸如精确定位的地址附近的企业或地标之类的临近实体,即使这些实体根本不处于视觉查询图像之中。如參考图16A的元素1602和1604所解释的,在没有接收到位置信息的实施例中,前端捜索系统110仅将视觉查询发送到一个或多个视觉捜索系统(2016),并且前端捜索系统110然后从一个或多个视觉查询搜索系统接收ー个或多个搜索结果(2024)。在具有和没有位置信息的实施例中,前端捜索系统110创建ー个或多个可采取动作的搜索结果元素(2030)。以上參考图16A和16B的元素(1608-1630)讨论了可采取动作的搜索结果元素的创建或生成。至少ー个可采取动作的搜索结果元素被客户端系统所接收(2032)。客户端系统102显示可采取动作的搜索结果元素(2034)。如參考图16B的元素1632所讨论的,在ー些实施例中,一个或多个搜索结果还连同来自前端服务器系统的可采取动作的捜索结果元素一起发送到客户端系统。可选地(并且通常),捜索结果与可采取动作的捜索结果元素一起显示。类似地,在可采取动作的元素被发送到客户端的实施例中(图16B的元素1638),它们也被显示。在一些实施例中,可采取动作的捜索结果元素覆盖视觉查询的一部分进行显示(2036)。如以下更为详细讨论的,这种类型的显示示例在图22中示出。客户端系统102接收相应可采取动作的捜索结果元素的用户选择(2038)。随后,客户端系统在不同于视觉查询应用的应用启动对应于所选择的可采取动作的捜索结果元 素的客户端侧动作,所述视觉查询应用中显示有视觉查询结果和可采取动作的捜索结果元素(2024)。例如,如果用户所选择的可采取动作的捜索结果元素是用于向特定电话号码发起电话呼叫,则在不同于客户端侧视觉查询应用的电话应用中发起所述动作。图21图示了针对建筑物的视觉查询1200所返回的结果列表1500和多个可采取动作的捜索结果元素1700的实施例的客户端系统显示。在该实施例中,视觉查询1200被作为街景视觉查询进行处理,并且因此所接收的搜索结果依据视觉查询和客户端系统102所提供的位置信息两者而获得。针对该查询所识别的实体是旧金山(SF)Ferry大厦2101。在图21中所示的实施例中,“地点匹配”视觉查询搜索结果信息2102被显示在可采取动作的搜索结果元素1700上方。地点匹配结果包括建筑物名称(SF Ferry大厦)、邮政地址(Pier 48)、与该地点相关的描述和星级评级。可采取动作的捜索结果元素1700对应于用户可能希望采取的对应于所识别地点的客户端侧动作。在该实施例中,可采取动作的捜索结果元素包括用于呼叫与地点相关联的电话号码的按钮2104,用于观看与地点相关联的网站的URL按钮2106,以及用于对地址绘制地图的按钮2108。搜索结果列表包括web结果1514和相关地点匹配2110。捜索结果列表包括所述街景地点匹配系统所识别的其它地点。在一些实施例中,地点匹配系统显示其它与被识别为目前处于用户前方的地点相类似的地点和/或其它临近地点。例如,如果处于用户前方的地点被标识为泰式餐厅,则街景地点匹配系统可以显示处于所识别地点一英里范围内的其它泰式餐厅。在图21中所示的实施例中,所显示的相关地点2110是同样为流行的旅途停留地的地点一California Academy ofSciences 2112和Palace ofFine Arts 2114。在其它实施例中,不同于显示类似地点,相关地点匹配可以显示在地理上处于所识别地点旁边的地点,诸如处于视觉查询中的店铺任ー侧或上方的店铺。在一些实施例中,类似和/或临近结果还包括可采取动作的捜索结果元素。例如,在一些实施例中将提供用于对每个类似结果发起电话呼叫的按钮。图22图示了多个可采取动作的搜索结果元素1700覆盖视觉查询1200的实施例的客户端系统显示。在该实施例中,所返回的可采取动作的捜索结果元素是针对街景视觉查询,但是可采取动作的捜索结果元素可以覆盖任意类型的视觉查询。在图22所示的实施例中,前端服务器系统在视觉查询中识别了称为“The City Restaurant”的餐厅实体2201。前端服务器识别对应于“The City Restaurant”实体2201的若干客户端侧动作并且为它们创建了可采取动作的捜索结果元素。可采取动作的捜索结果元素包括用于呼叫与餐厅相关联的电话号码的按钮2204、用于阅读关于餐厅的评论的按钮2206、用于得到与餐厅相关的信息的按钮2208、用于绘制与餐厅相关联的地址的地图的按钮2210、用于在餐厅进行预订的按钮2212,以及用于诸如附近或类似餐厅的更多信息的按钮2214。图22中所示的实施例中的可采取动作的结果元素被显示为在可采取动作的捜索结果元素显示框2216中覆盖视觉查询1200的一部分。在该实施例中,显示框2216是部分透明的,以允许用户看到显示框2216以下的原始查询。在一些实施例中,显示框2216包括诸如红色、蓝色、緑色等的带颜色覆盖。在其它实施例中,显示框2216使原始查询图像变灰(gray out)。显示框2216还提供所识别实体的名称2218,在这种情况下为餐厅的名称“The City Restaurant”。部分透明的显示框2216的实施例是图21所示的结果列表样式的视图的可替换形式。该实施例允许用户直观地将可采取动作的搜索结果按钮与查询中所识别的实体相关联。
图23是图示用于处理视觉查询的ー个位置扩增搜索系统的框图。图23图示了依据ー些实施例的位置扩增搜索系统112-F。位置扩增搜索系统112-F包括ー个或多个处理单元(CPU)2302、一个或多个网络或其它通信接ロ 2304、存储器2312,以及用于将这些组件进行互连的ー个或多个通信总线2314。通信总线2314可以包括互连和控制在系统组件之间的通信的电路(有时称为芯片集)。存储器2312包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器2312可以可选地包括与CPU 2302远程定位的一个或多个存储设备。存储器2312或者可替换地存储器2312内的非易失性存储设备包括计算机可读存储介质。在一些实施例中,存储器2312或者存储器2312的计算机可读存储介质存储以下程序、模块和数据结构或者其子集·操作系统2316,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;·网络通信模块2318,其用于将位置扩增搜索系统112-F经由ー个或多个通信网络接ロ 2304 (有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的ー个或多个通信网络连接到其它计算机;·搜索应用2320,其针对位于客户端系统位置的指定范围内的匹配视觉查询的相关图像捜索街景索引,所述客户端系统位置由与客户端系统相关联的位置信息所指定,并且如果找到了匹配图像,则返回扩增位置信息,其比客户端系统之前的可用位置信息更为准确;·图像数据库2322,其包括街景图像记录2306 ;每个街景图像记录包括图像2308和精确定位位置信息2310 ;·可选索引2324,其用于将街景图像记录2306组织在图像数据库2320中;·可选的结果排名模块2326 (有时称作相关性评分模块),其用于对来自搜索应用的结果进行排名,所述排名模块可以对来自搜索应用的每个结果指定相关性分值,并且如果没有结果达到预定的最低分值,则可以向前端视觉查询处理服务器返回指示来自该服务器系统的结果不相关的空或零值分值;和
·注释模块2328,其用于从注释数据库(图I的116)接收确定任意注释信息是否与特定搜索应用相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库2330中。图24是图示依据ー些实施例的基于位置的搜索系统112-G的框图。被用来处理视觉查询的基于位置的搜索系统112-G包括ー个或多个处理单元(CPU) 2402、ー个或多个网络或其它通信接ロ 2404、存储器2412,以及用于将这些组件进行互连的ー个或多个通信总线2414。通信总线2414可以包括互连和控制在系统组件之间的通信的电路(有时称为芯片集)。存储器2412包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且可以包括非易失性存储器,诸如ー个或多个磁盘存储设备、光盘存储设备、闪存设备或者其它非易失性固态存储设备。存储器2412可以可选地包括与CPU 2402远程定位的一个或多个存储设备。存储器2412或者可替换地存储器2412内的非易失性存储设备包括计算机可读存储介质。在一些实施例中,存储器2412或者存储器2412的计算机可读存储介质存储以下程序、模块和数据结构或者其子集

·操作系统2416,其包括用于处理各种基本系统服务以及用于执行依赖于硬件的任务的程序;·网络通信模块2418,其用于将基于位置的捜索系统112-G经由ー个或多个通信网络接ロ 2404 (有线或无线)以及诸如互联网、其它广域网、局域网、城域网等的一个或多个通信网络连接到其它计算机;·搜索应用2420,其针对处于位置扩增搜索系统(112-F)所提供的增强位置信息的指定范围内的捜索结果搜索基于位置的索引;在ー些实施例中,返回指定范围内的所有捜索结果,而在其它实施例中,所返回的结果是与增强位置最接近的N个結果;在再其它的实施例中,搜索应用返回总体而言类似于与增强位置信息相关联的结果的捜索结果(例如,与增强位置信息相关联的餐厅的某个范围内的所有餐厅); 位置数据库2422,其包括记录2406,每个记录包括位置信息2310,以及相关联的其它彳目息2308 (诸如联系/[目息、评论和图像);·可选索引2424,其用于将记录2406组织在位置数据库2420中;·可选的结果排名模块2426 (有时称作相关性评分模块),其用于对来自搜索应用的结果进行排名,所述排名模块可以对来自搜索应用的每个结果分配相关性,并且如果没有结果达到预定的最低分值,则可以向前端视觉查询处理服务器返回指示来自该服务器系统的结果不相关的空或零值分值;和·注释模块2428,其用于从注释数据库(图I的116)接收确定任意注释信息是否与特定搜索应用相关的注释信息,并且将任意所确定的注释信息相关部分合并到相应注释数据库2430中。图23和24中所示出的每个软件元素可以存储在一个或多个之前所提到的存储器设备中,并且对应于用于执行以上所描述功能的指令集合。以上所标识的模块或程序(即,指令集合)无需作为单独的软件程序、过程或模块来实现,并且因此这些模块的各个子集在各个实施例中可以进行组合或者以另外的方式重新安排。在一些实施例中,相应系统的存储器可以存储以上所标识的模块和数据结构的子集。此外,相应系统的存储器可以存储以上没有描述的附加模块和数据结构。
虽然图23和24示出了捜索系统,但是这些附图更多地是意在作为可以在服务器集合中出现的各种特征的功能描述,而不是作为这里所描述的实施例的结构示意。实际上,并且如本领域技术人员所认识到的,単独示出的项目可以进行组合并且ー些项目可以被分离。例如,在图23和24中单独示出的一些项目可以在单个服务器上实现并且单个项目可以由ー个或多个服务器实现。用来实现基于位置的捜索系统或位置扩增搜索系统的服务器的实际数量以及特征如何在它们之间进行分配可以随实施方式而有所变化,并且可以部分取决于系统在高峰使用期间以及平均使用期间所必须处理的数据业务的数量。出于解释的目的,已经參考特定实施例对以上描述进行了描述。然而,以上的说明性讨论并非意在是穷举的或者意在将权利要求限制为所公开的确切形式。可能基于以上教导进行许多修改和变化。实施例被选择和描述是为了最佳地对发明原则及其实际应用进行解释,由此使得本领域技术人员能够适应于所预期的特定用途而对本发明以及具有各种修 改的各个实施例加以利用。
权利要求
1.一种计算机实现的处理视觉查询的方法,包括在具有一个或多个处理器和存储用于供所述ー个或多个处理器执行的ー个或多个程序的存储器的服务器系统从客户端系统接收视觉查询;通过将所述视觉查询发送到实现视觉查询搜索过程的至少ー个捜索系统对所述视觉查询进行处理;从所述至少ー个捜索系统接收多个搜索结果;识别所述视觉查询中的实体;识别与所识别的实体相对应的一个或多个客户端侧动作;创建被配置为启动所述一个或多个客户端侧动作中的相应客户端侧动作的可采取动作的搜索结果元素;以及将所述可采取动作的捜索结果元素以及所述多个捜索结果中的至少ー个发送到所述客户端系统。
2.根据权利要求I的方法,其中所述可采取动作的捜索结果元素不同于所述多个搜索结果。
3.根据权利要求1-2中任ー项的方法,包括创建多个可采取动作的搜索结果用户界面元素并且将其发送到所述客户端系统,所述多个可采取动作的搜索结果用户界面元素中的姆ー个被配置为启动唯一的客户端动作。
4.一种计算机实现的处理视觉查询的方法,包括在具有一个或多个处理器和存储用于供所述ー个或多个处理器执行的ー个或多个程序的存储器的服务器系统从客户端系统接收视觉查询;识别所述视觉查询中的实体;识别与所识别的实体相对应的一个或多个客户端侧动作;创建被配置为启动所识别的一个或多个客户端侧动作中的相应客户端侧动作的可采取动作的捜索结果元素;以及将所述可采取动作的捜索结果元素发送到所述客户端系统。
5.根据权利要求4的方法,进ー步包括识别与所识别的实体相对应的多个不同的客户端侧动作;创建两个或更多个可采取动作的捜索结果元素,所述两个或更多个可采取动作的捜索结果元素中的每ー个被配置为启动所识别的多个客户端侧动作中的相应客户端侧动作;以及将所述两个或更多个可采取动作的捜索结果元素发送到所述客户端系统。
6.根据权利要求4-5中任ー项的方法,其中所述ー个或多个客户端侧动作中的相应客户端侧动作选自由以下所组成的群组对电话号码发起呼叫、即时消息发送、传呼、传真、发送电子邮件、社交网络通信、以及通过另ー种通信机制进行通信。
7.根据权利要求4-6中任ー项的方法,其中所述发送包括向所述客户端系统发送所述视觉查询的表示,所述可采取动作的捜索结果元素覆盖所述视觉查询的所述表示的至少ー部分。
8.根据权利要求4-6中任ー项的方法,其中所述发送包括向所述客户端系统发送用于视觉呈现覆盖所述视觉查询的至少一部分的所述可采取动作的捜索结果元素的信息。
9.根据权利要求4-8中任ー项的方法,其中所识别的实体是电话号码,并且所述可采取动作的捜索结果元素是用于对所述电话号码发起电话呼叫的按钮。
10.根据权利要求4-8中任ー项的方法,其中所识别的实体是电子邮件地址,并且所述可采取动作的捜索结果元素是用于向所述电子邮件地址发起电子邮件消息编写的按钮。
11.根据权利要求4、5、7和8中任ー项的方法,其中所识别的实体是邮政地址,并且所述可采取动作的捜索结果元素是用于对该地址绘制地图的按钮,其中绘制地图包括以下的至少ー个提供识别所述邮政地址的位置的地图、提供到所述邮政地址的行车路线指引、提供始于所述邮政地址的行车路线指引、提供包括所述邮政地址的航空照片、以及提供对应于所述邮政地址的街景图像。
12.根据权利要求4、5、7和8中任ー项的方法,其中所识别的实体是产品,并且所述可采取动作的捜索结果元素被配置为提供以下的ー个或多个产品评论、发起购买所述产品的选项、发起对所述产品的出价的选项、类似产品的列表和相关产品的列表。
13.根据权利要求4-8中任ー项的方法,其中所识别的实体是人或者与所述人相关联的标识符,并且所述多个捜索结果包括与所述人相关联的通信地址,并且所述可采取动作的捜索结果元素被配置为使用所述通信地址启动通信。
14.根据权利要求13的方法,其中所述可采取动作的捜索结果包括与所述人相关联的标识符,并且所述标识符是所述人的姓名、所述人的面部图像、与所述人相关联的标识号码、与所述人相关联的电话号码、与所述人相关联的传真号码、与所述人相关联的社交网络标识符和与所述人相关联的电子邮件地址中的ー个或多个。
15.根据权利要求4、5、6、7、8、12、13和14中任ー项的方法,其中识别所述实体包括使用非OCR图像匹配过程来识别所述视觉查询中的所述实体。
16.根据权利要求4、5、6、7、8、11、12、13、14和15中任ー项的方法,其中所识别的所述视觉查询中的实体是以下的ー个或多个人、所述人的姓名或其它标识符、条形码、标志、企业、组织、建筑物、建筑物或物理结构群组、邮政地址、地标、地理实体、产品和服务。
17.根据权利要求4-16中任ー项的方法,其中所述可采取动作的搜索结果元素被配置为向联系人列表添加信息,其中所述信息选自由以下的一个或多个所组成的群组姓名、电子邮件地址、电话号码、传真号码、邮政地址、即时消息地址、公司名称、组织名称、URL和社交网络联系人。
18.根据权利要求4-17中任ー项的方法,进ー步包括发送被配置为分享或上传所述视觉查询的至少一部分的可采取动作的元素。
19.一种计算机实现的处理视觉查询的方法,包括在具有一个或多个处理器、显示器以及存储供所述ー个或多个处理器执行的一个或多个程序的存储器的客户端系统接收图像;从所述图像创建视觉查询;将所述视觉查询发送到视觉查询搜索系统;从所述视觉查询搜索系统接收可采取动作的捜索结果元素,所述可采取动作的搜索结果元素被配置为启动客户端侧动作,其中所述可采取动作的捜索结果元素对应于所述视觉查询中的实体;使用视觉查询客户端应用在所述显示器上显示所述可采取动作的捜索结果元素;接收对所述可采取动作的捜索结果元素的用户选择;以及在不同于所述视觉查询客户端应用的客户端侧应用中,启动与所选择的可采取动作的搜索结果元素相对应的客户端侧动作。
20.根据权利要求19的方法,其中不同于所述视觉查询客户端应用的所述客户端侧应用选自由以下所组成的群组电子邮件应用、浏览器应用、电话应用、即时消息应用、社交网络应用和地图应用。
21.一种用于处理视觉查询的服务器系统,包括用于执行程序的ー个或多个中央处理单元;存储由所述ー个或多个中央处理单元执行的一个或多个程序的存储器;所述ー个或多个程序包括用于以下的指令从客户端系统接收视觉查询;通过将所述视觉查询发送到实现视觉查询搜索过程的至少ー个捜索系统对所述视觉查询进行处理;从所述至少ー个捜索系统接收多个搜索结果;识别所述视觉查询中的实体;识别与所识别的实体相对应的一个或多个客户端侧动作;创建被配置为启动所述一个或多个客户端侧动作中的相应客户端侧动作的可采取动作的搜索结果元素;以及将所述可采取动作的捜索结果元素以及所述多个捜索结果中的至少ー个发送到所述客户端系统。
22.一种用于处理视觉查询的服务器系统,包括用于执行程序的ー个或多个中央处理单元;存储由所述ー个或多个中央处理单元执行的一个或多个程序的存储器;所述ー个或多个程序包括用于以下的指令从客户端系统接收视觉查询;识别所述视觉查询中的实体;识别与所识别的实体相对应的一个或多个客户端侧动作;创建被配置为启动所识别的一个或多个客户端侧动作中的相应客户端侧动作的可采取动作的捜索结果元素;以及将所述可采取动作的捜索结果元素发送到所述客户端系统。
23.一种用于处理视觉查询的客户端系统,包括用于执行程序的ー个或多个中央处理单元;显不器;和存储由所述ー个或多个中央处理单元执行的一个或多个程序的存储器;所述ー个或多个程序包括用于以下的指令接收图像;从所述图像创建视觉查询;将所述视觉查询发送到视觉查询搜索系统;从所述视觉查询搜索系统接收可采取动作的捜索结果元素,所述可采取动作的搜索结果元素被配置为启动客户端侧动作,其中所述可采取动作的捜索结果元素对应于所述视觉查询中的实体;使用视觉查询客户端应用在所述显示器上显示所述可采取动作的捜索结果元素;接收对所述可采取动作的捜索结果元素的用户选择;以及在不同于所述视觉查询客户端应用的客户端侧应用中,启动与所选择的可采取动作的搜索结果元素相对应的客户端侧动作。
24.一种存储被配置为供计算机执行的一个或多个程序的非瞬时计算机可读存储介质,所述ー个或多个程序包括用于以下的指令从客户端系统接收视觉查询;通过将所述视觉查询发送到实现视觉查询搜索过程的至少ー个捜索系统对所述视觉查询进行处理;从所述至少ー个捜索系统接收多个搜索结果;识别所述视觉查询中的实体;识别与所识别的实体相对应的一个或多个客户端侧动作;创建被配置为启动所述一个或多个客户端侧动作中的相应客户端侧动作的可采取动作的搜索结果元素;以及将所述可采取动作的捜索结果元素以及所述多个捜索结果中的至少ー个发送到所述客户端系统。
25.一种存储被配置为供计算机执行的一个或多个程序的非瞬时计算机可读存储介质,所述ー个或多个程序包括用于以下的指令从客户端系统接收视觉查询;识别所述视觉查询中的实体;识别与所识别的实体相对应的一个或多个客户端侧动作;创建被配置为启动所识别的一个或多个客户端侧动作中的相应客户端侧动作的可采取动作的捜索结果元素;以及将所述可采取动作的捜索结果元素发送到所述客户端系统。
26.一种存储被配置为供计算机执行的一个或多个程序的非瞬时计算机可读存储介质,所述ー个或多个程序包括用于以下的指令接收图像;从所述图像创建视觉查询;将所述视觉查询发送到视觉查询搜索系统;从所述视觉查询搜索系统接收可采取动作的捜索结果元素,所述可采取动作的搜索结果元素被配置为启动客户端侧动作,其中所述可采取动作的捜索结果元素对应于所述视觉查询中的实体;使用视觉查询客户端应用在显示器上显示所述可采取动作的捜索结果元素;接收对所述可采取动作的捜索结果元素的用户选择;以及在不同于所述视觉查询客户端应用的客户端侧应用中,启动与所选择的可采取动作的搜索结果元素相对应的客户端侧动作。
27.一种用于处理视觉查询的服务器系统,包括用于执行程序的ー个或多个中央处理单元;存储由所述ー个或多个中央处理单元执行的一个或多个程序的存储器;所述ー个或多个程序包括用于执行根据权利要求1-18中任ー项的方法的指令。
28.一种用于处理视觉查询的客户端系统,包括用于执行程序的ー个或多个中央处理单元;显不器;和存储由所述ー个或多个中央处理单元执行的一个或多个程序的存储器;所述ー个或多个程序包括用于执行根据权利要求19-20中任ー项的方法的指令
29.一种存储被配置为供计算机执行的一个或多个程序的非瞬时计算机可读存储介质,所述ー个或多个程序包括用于执行根据权利要求1-18中任ー项的方法的指令。
30.一种存储被配置为供计算机执行的一个或多个程序的非瞬时计算机可读存储介质,所述ー个或多个程序包括用于执行根据权利要求19-20中任ー项的方法的指令。
全文摘要
一种服务器系统接收视觉查询并且识别该视觉查询中的实体。该服务器系统进一步识别与所识别实体相对应的客户端侧动作并且创建被配置为启动客户端侧动作的可采取动作的搜索结果元素。可采取动作的搜索结果元素的示例是用于发起电话呼叫、发起电子邮件消息、对地址绘制地图、进行餐厅预订以及提供购买产品的选项的按钮。在视觉查询中所识别的实体可以间接地与在与所识别实体相关联的搜索结果中找到其联系人地址或适当链接的客户端侧动作相关联。客户端系统接收并显示所述可采取动作的搜索结果元素,并且在用户选择所述可采取动作的搜索结果元素时,启动与视觉查询客户端应用不同的应用中的客户端侧动作。
文档编号G06F17/30GK102822817SQ201080062784
公开日2012年12月12日 申请日期2010年8月12日 优先权日2009年12月2日
发明者戴维·彼得鲁, 阿维·弗拉姆霍尔茨, 马修·R·凯西, 西奥多·鲍尔 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1