CN103493069A - 响应于视觉查询识别匹配的规范文档 - Google Patents
响应于视觉查询识别匹配的规范文档 Download PDFInfo
- Publication number
- CN103493069A CN103493069A CN201180066494.8A CN201180066494A CN103493069A CN 103493069 A CN103493069 A CN 103493069A CN 201180066494 A CN201180066494 A CN 201180066494A CN 103493069 A CN103493069 A CN 103493069A
- Authority
- CN
- China
- Prior art keywords
- text
- quality
- character
- vision
- inquiry
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5846—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/418—Document matching, e.g. of document images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Character Discrimination (AREA)
Abstract
服务器系统从客户端系统接收视觉查询。该视觉查询是包含文本的图像,诸如文档的图片。在接收服务器或另一个服务器处,对该视觉查询执行光学字符识别(OCR)以产生表示文本字符的文本识别数据。在视觉查询的连续区域中的每一个字符根据其质量被分别评分。各个字符的质量分值受邻近或附近字符的质量分值影响。使用分值,识别一个或多个高质量的字符串。每一个高质量串具有多个高质量字符。识别并检索与视觉查询相匹配的、包含该一个或多个高质量文本串的规范源文档。然后,将该规范文档的至少部分发送给客户端系统。
Description
技术领域
所公开的实施例一般地涉及光学字符识别(OCR)领域,具体地涉及显示包含从视觉查询提取的高质量文本串的规范源文档。
背景技术
基于文本或基于词语的搜索,其中用户将词或短语输入到搜索引擎并且接收多种结果,对搜索来说是有用的工具。基于词语的查询需要用户明确提供以词、短语和/或其他词语形式的搜索词语。有时,用户可能希望定位特定期望的文档,而不是仅仅与一个或多个查询词语有关的信息。在这样的情况下,使用基于词语的查询来定位该期望的文档可能需要键入较长的查询字符串,诸如没有错误的整个句子、或组成用户认为在期望的文档中出现但是在相对很少的其他文档中出现的词语的组合。因此,能够接收诸如文档的图片的视觉查询或文档的部分并且使用其来定位规范源文档的系统将是期望的。
发明内容
根据一些实施例,处理视觉查询的计算机实现的方法在具有一个或多个处理器和存储供该一个或多个处理器执行的一个或多个程序的存储器的服务器系统上来执行。在该方法中,服务器系统从客户端系统接收视觉查询。该视觉查询是包含文本的图像,诸如文档的图片或文档的部分。在接收服务器或另一个服务器处,对该视觉查询执行光学字符识别(OCR)以产生表示文本字符的文本识别数据。在视觉查询的连续区域中的每一个字符根据其质量被分别评分。使用分值,识别一个或多个高质量的字符串。高质量串具有来自在视觉查询的连续区域中的多个文本字符的多个高质量文本字符。根据一个或多个高质量文本串,识别与视觉查询相匹配的规范源文档。检索包含该一个或多个高质量文本串的规范源文档。将规范文档的至少部分发送给客户端系统。在本文还描述了用于执行上述方法的服务器系统和包含程序的计算机可读存储介质。
附图说明
图1是图示包括视觉查询服务器系统的计算机网络的框图。
图2是图示依据一些实施例的、用于对视觉查询作出响应的过程的流程图。
图3是图示依据一些实施例的、用交互式结果文档对视觉查询作出响应的过程的流程图。
图4是图示依据一些实施例的、在客户端和视觉查询服务器系统之间的通信的流程图。
图5是图示依据一些实施例的客户端系统的框图。
图6是图示依据一些实施例的前端视觉查询处理服务器系统的框图。
图7是图示依据一些实施例的、利用来处理视觉查询的并行搜索系统中的通用一个的框图。
图8是图示依据一些实施例的、利用来处理视觉查询的OCR搜索系统的框图。
图9是图示依据一些实施例的、利用来处理视觉查询的面部识别搜索系统的框图。
图10是图示依据一些实施例的、利用来处理视觉查询的图像到词语搜索系统的框图。
图11图示依据一些实施例的、带有示例性视觉查询的截屏的客户端系统。
图12A和12B每一个图示依据一些实施例的、带有具有边界框的交互式结果文档的截屏的客户端系统。
图13图示依据一些实施例的、带有按类型编码的交互式结果文档的截屏的客户端系统。
图14图示依据一些实施例的、带有具有标签的交互式结果文档的截屏的客户端系统。
图15图示依据一些实施例的、交互式结果文档和视觉查询与结果列表同时显示的截屏。
图16是根据一些实施例的、用于将光学字符识别应用到文档的计算环境的框图。
图17是根据一些实施例的、在OCR搜索系统的文本匹配应用内的模块的框图。
图18是根据一些实施例的、用于响应于视觉查询而检索规范文档的过程的流程图。
图19是根据一些实施例的、用于识别视觉查询中的高质量文本串、识别与所识别的高质量文本串相对应的规范文档、以及返回包含这些文本串的规范文档的至少部分的过程的流程图。
图20图示根据一些实施例的、其中显示响应于视觉查询而返回的结果列表和规范文档部分的客户端系统用户界面。
图21A-21B是根据一些实施例的、用于识别视觉查询中的高质量文本串、识别与所识别的高质量文本串相对应的规范文档、以及生成规范文档的至少部分与视觉查询的组合的过程的流程图。
图22图示根据一些实施例的、其中显示响应于视觉查询而返回的结果列表以及规范文档部分和视觉查询的组合的客户端系统用户界面。
图23是图示根据一些实施例的、用于识别视觉查询中的高质量文本串和与文本串相关联的结构信息、识别与在规范文档内与结构信息一致的位置处的所识别的高质量文本串相对应的规范文档、以及生成规范文档的至少部分与视觉查询的组合的过程的流程图。
图24图示根据一些实施例的、具有不同结构信息的规范文档部分。
图25A-25B是图示根据一些实施例的、用于识别视觉查询中的高质量文本串,包括根据客户端系统的地理位置对视觉查询中的文本字符进行评分、以及返回包含文本串的规范文档的至少部分的过程的流程图。
图26图示根据一些实施例的、其中显示根据客户端系统的地理位置,响应于视觉查询而返回的结果列表和规范文档部分的客户端系统用户界面。
在整个附图中,相同的参考数字指代相应的部分。
具体实施方式
现将详细参考实施例,在附图中图示了所述实施例的示例。在下面的详细描述中,阐述了许多具体细节以提供对实施例的全面理解。然而,对本领域技术人员应当是显而易见的是,可以在没有这些具体细节的情况下,实践各种实施例。在其他情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以免不必要地使实施例的方面模糊不清。
还应当理解的是,尽管用语第一、第二等可以在本文用来描述各种元素,然而,这些元素不应当受这些用语限制。这些用语仅仅用来区分不同元素。例如,在不改变描述的含义的情况下,第一联系人可以被称为第二联系人,以及类似地,第二联系人可以被称为第一联系人,只要“第一联系人”的所有出现均被一致地重新命名,并且第二联系人的所有出现均被一致地重新命名。第一联系人和第二联系人都是联系人,并且他们不是同一联系人。
在本文所使用的术语仅出于描述特定实施例的目的,并且并不意在是对权利要求的限制。除非语境另外明确指出,否则,如在实施例的描述和所附权利要求中使用的,单数形式不定冠词和定冠词还意在包括复数形式。还应当理解的是,如在本文所使用的用语“和/或”是指并且包括相关联的列出的项中的一个或多个的任何及所有可能的组合。应当进一步理解的是,用语“包括”和/或“包含”当在本说明书中使用时,指定所述特征、完整物、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其他特征、完整物、步骤、操作、元素、组件和/或其组群的存在或添加。
取决于语境,如在本文所使用的,用语“如果”可以被解释成意为“当……时”或“在……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测到(所述条件或事件)”可以被解释成意为“在确定了……时”或“响应于确定”或“在检测到(所述条件或事件)时”或“响应于检测到(所述条件或事件)”。
图1是图示根据一些实施例的包括视觉查询服务器系统的计算机网络的框图。计算机网络100包括一个或多个客户端系统102和视觉查询服务器系统106。一个或多个通信网络104使这些组件互连。通信网络104是多种网络中的任何网络,包括局域网(LAN)、广域网(WAN)、无线网络、有线网络、因特网或这样的网络的组合。
客户端系统102包括客户端系统所执行的客户端应用108,用于接收视觉查询(例如,图11的视觉查询1102)。视觉查询是作为查询被提交给搜索引擎或搜索系统的图像。视觉查询的示例包括但不限于照片、扫描的文档和图像以及图画。在一些实施例中,客户端应用108从由以下组成的集合中进行选择:搜索应用、用于浏览器应用的搜索引擎插件以及用于浏览器应用的搜索引擎扩展。在一些实施例中,客户端应用108是“无所不包的”搜索框,其允许用户将任何格式的图像拖放入该搜索框以被用作为视觉查询。
客户端系统102将查询发送给视觉查询服务器系统106并且从视觉查询服务器系统106接收数据。客户端系统102可以是能够与视觉查询服务器系统106进行通信的任何计算机或其他设备。示例包括但不限于:台式和笔记本式计算机、大型计算机、服务器计算机、诸如移动电话和个人数字助理的移动设备、网络终端以及机顶盒。
视觉查询服务器系统106包括前端视觉查询处理服务器110。前端服务器110从客户端102接收视觉查询,并且将该视觉查询发送给多个并行搜索系统112以供同时处理。搜索系统112每一个实现不同的视觉查询搜索过程,并且必要时访问其对应的数据库114来通过其不同的搜索过程对视觉查询进行处理。例如,人脸识别搜索系统112-A将访问面部图像数据库114-A来查找针对图像查询的面部匹配。如将参考图9更详细说明的,如果视觉查询包含人脸,则面部识别搜索系统112-A将从面部图像数据库114-A返回一个或多个搜索结果(例如,姓名、匹配的人脸等)。在另一个示例中,光学字符识别(OCR)搜索系统112-B将视觉查询中的任何可识别的文本转换成文本以作为一个或多个搜索结果返回。在一些实施方式中,光学字符识别(OCR)搜索系统112-B访问OCR数据库114-B来识别特定字体或文本模式,如将参考图8更详细说明的。
可以使用任何数量的并行搜索系统112。一些示例包括面部识别搜索系统112-A、OCR搜索系统112-B、图像到词语搜索系统112-C(其可以识别对象或对象类别)、产品识别搜索系统(其被配置成识别诸如书籍封面和CD的二维图像,以及还可选地被配置成识别诸如家具的三维图像)、条形码识别搜索系统(其识别一维和二维式样条形码)、命名实体识别搜索系统、地标识别(其被配置成识别如同埃菲尔铁塔的特定著名地标,以及可选地被配置成识别诸如广告牌的特定图像的语料库)、由客户端系统102或移动电话网络中的GPS接收器提供的地理位置信息辅助的地点识别、颜色识别搜索系统以及类似的图像搜索系统(其搜索并识别与视觉查询类似的图像)。在一些实施例中,并行搜索系统112包括一个或多个另外的搜索系统112-N,诸如响应于文本搜索查询而返回搜索结果(例如,识别web文档、产品等的结果)的搜索引擎系统。除OCR搜索系统112-B外,所有的搜索系统在本文被共同定义为执行图像匹配过程的搜索系统。包括OCR搜索系统的所有搜索系统被统称为按图像查询搜索系统。在一些实施例中,视觉查询服务器系统106包括面部识别搜索系统112-A、OCR搜索系统112-B以及至少一个其他的按图像查询搜索系统112。
并行搜索系统112每一个分别对视觉搜索查询进行处理,并且将其结果返回给前端服务器系统110。在一些实施例中,前端服务器100针对搜索结果执行一个或多个分析,诸如以下的一个或多个:将结果聚合成合成文档、选择结果的子集来显示以及对结果进行排名,如将参考图6更详细说明的。前端服务器110将搜索结果通信给客户端系统102。
客户端系统102向用户呈现一个或多个搜索结果。结果典型地在显示器上、通过音频扬声器或用于向用户通信信息的任何其他装置来呈现。用户可以以多种方式与搜索结果进行交互。在一些实施例中,用户的选择、注释和与搜索结果的其他交互被传送给视觉查询服务器系统106,并且与视觉查询一起被记录在查询和注释数据库116中。查询和注释数据库中的信息可以用于改进视觉查询结果。在一些实施例中,将来自查询和注释数据库116的信息周期性推送给并行搜索系统112,其将信息的任何相关部分合并入其相应的单独数据库114中。
计算机网络100可选地包括用于响应于词语查询而执行搜索的词语查询服务器系统118。相对于包含图像的视觉查询,词语查询是包含一个或多个词语的查询。词语查询服务器系统118用于生成对视觉查询服务器系统106中的各种搜索引擎所产生的信息进行补充的搜索结果。从词语查询服务器系统118返回的结果可以包括以任何格式的结果,诸如文本文档、图像、视频等。虽然词语查询服务器系统118在图1中被示出为独立系统,然而,可选地,视觉查询服务器系统106可以包括词语查询服务器系统118。
在下面参考图2-4中的流程图提供了关于视觉查询服务器系统106的操作的另外信息。
图2是图示根据一些实施例的、用于对视觉查询作出响应的视觉查询服务器系统方法的流程图。在图2中所示的操作中的每一个对应于存储在存储一个或多个程序以供视觉查询服务器系统的一个或多个处理器执行的计算机存储器或非暂时性计算机可读存储介质中的指令。
视觉查询服务器系统从客户端系统接收视觉查询(202)。客户端系统例如可以是台式计算设备、移动设备或另一个类似设备(204),如参考图1所说明的。在图11中示出了在示例客户端系统上的示例视觉查询。
视觉查询是任何适当格式的图像文档。例如,视觉查询可以是照片、截屏、扫描的图像、或视频的帧或多个帧序列(206)。在一些实施例中,视觉查询是内容创作程序(图5,736)所产生的图画。如此,在一些实施例中,用户“绘制”视觉查询,而在其他实施例中,用户扫描或拍摄视觉查询。一些视觉查询使用图像生成应用,诸如Acrobat、照片编辑程序、绘图程序或图像编辑程序来创建。例如,视觉查询可以来自:用户在其移动电话上拍摄其朋友的照片,然后将该照片作为视觉查询提交给服务器系统。视觉查询还可以来自:用户对杂志页面进行扫描、或获得在台式计算机上的网页的截屏,然后将扫描或截屏作为视觉查询提交给服务器系统。在一些实施例中,视觉查询通过浏览器应用的搜索引擎扩展、通过用于浏览器应用的插件或通过客户端系统102执行的搜索应用被提交给服务器系统106。在一些实施方式中,视觉查询还通过(客户端系统执行的)支持或生成可以由客户端系统传送给位于远程的服务器的图像的其他应用程序被提交。
视觉查询可以是文本和非文本元素的组合(208)。例如,查询可以是包含图像和文本——诸如一个人站在路标旁边——的杂志页面的扫描。视觉查询可以包括无论是由嵌入在客户端系统中的相机拍摄还是通过客户端系统扫描或另外接收的文档获得的、人的脸的图像。视觉查询还可以是仅包含文本的文档的扫描。视觉查询还可以是多个不同主题的图像,诸如森林中的数只鸟、人和物体(例如,汽车、公园长凳等)、人和动物(例如,宠物、农场动物、蝴蝶等)。在一些情况下,视觉查询具有两个或多个不同的元素。例如,视觉查询可以包括在产品包装上的条形码和产品图像或产品名称。例如,视觉查询可以是包括书名、封面艺术和条形码的书籍封面的图片。在一些情况下,一个视觉查询将产生与该视觉查询的不同部分相对应的两个或更多个不同的搜索结果,如在下面更详细论述的。
服务器系统如下对视觉查询进行处理。前端服务器系统将视觉查询发送给多个并行搜索系统以供同时处理(210)。每一个搜索系统实现不同的视觉查询搜索过程,即,独立搜索系统通过其自身处理方案对视觉查询进行处理。
在一些实施例中,视觉查询被发送给其以供处理的搜索系统中的一个是光学字符识别(OCR)搜索系统。在一些实施例中,视觉查询被发送给其以供处理的搜索系统中的一个是面部识别搜索系统。在一些实施例中,运行不同的视觉查询搜索过程的多个搜索系统至少包括:光学字符识别(OCR)、面部识别以及不同于OCR和面部识别的另一个按图像查询过程(212)。该另一个按图像查询过程从包括但不限于以下的过程集中进行选择:产品识别、条形码识别、对象或对象类别识别、命名实体识别以及颜色识别(212)。
在一些实施例中,命名实体识别作为OCR搜索系统的后期过程发生,其中为著名的人、场所、对象等对OCR的文本结果进行分析,然后在词语查询服务器系统(图1,118)中搜索被识别为是命名实体的词语。在其他实施例中,著名的地标、标志、人、专辑封面、商标等的图像通过图像到词语搜索系统进行识别。在其他实施例中,利用不同于图像到词语搜索系统的不同命名实体按图像查询过程。对象或对象类别识别系统识别如同“汽车”的通用结果类型。在一些实施例中,该系统还识别产品品牌、特定产品型号等,并且提供更具体的描述,如同“保时捷”。搜索系统中的部分可以是特定于特殊用户的搜索系统。例如,颜色识别和面部识别的特定版本可以是由盲人使用的特殊搜索系统。
前端服务器系统从并行搜索系统接收结果(214)。在一些实施例中,结果附有搜索分值。对于一些视觉查询,搜索系统中的部分不会找到相关结果。例如,如果视觉查询是花的图片,则面部识别搜索系统和条形码搜索系统不会找到任何相关结果。在一些实施例中,如果没有找到相关结果,则从该搜索系统接收空或零搜索分值(216)。在一些实施例中,如果前端服务器在预定义时间段(例如,0.2、0.5、1、2或5秒)之后没有从搜索系统接收到结果,则其将仿佛该超时服务器产生了空搜索分值般对所接收到的结果进行处理,以及将对来自其他搜索系统的接收到的结果进行处理。
可选地,当所接收到的搜索结果中的至少两个满足预定义标准时,对其进行排名(218)。在一些实施例中,预定义标准中的一个排除无效结果。预定义标准是结果不是无效的。在一些实施例中,预定义标准中的一个排除具有落在预定义最小分值之下的(例如,关于相关性因素的)数字分值的结果。可选地,对多个搜索结果进行过滤(220)。在一些实施例中,只有结果的总数超过预定义阈值,才对结果进行过滤。在一些实施例中,除了落在预定义最小分值之下的结果被排除,对所有结果进行排名。对于一些视觉查询,对结果的内容进行过滤。例如,如果结果中的部分包含私有信息或个人保护的信息,则滤除这些结果。
可选地,视觉查询服务器系统创建合成搜索结果(222)。这的一个实施例是:在将多于一个搜索系统结果嵌入在交互式结果文档中的情况下,如参考图3所说明的。词语查询服务器系统(图1,118)用来自词语搜索的结果来扩充来自并行搜索系统中的一个的结果,其中另外结果是到文档或信息源的链接、或包含可能与视觉查询相关的另外信息的文本和/或图像。因此,例如,合成搜索结果可以包含OCR结果和到OCR文档中的命名实体的链接(224)。
在一些实施例中,OCR搜索系统(图1,112-B)或前端视觉查询处理服务器(图1,110)识别文本中的可能相关的词。例如,其可以识别诸如著名的人或地点的命名实体。将命名实体作为查询词语提交给词语查询服务器系统(图1,118)。在一些实施例中,将词语查询服务器系统所产生的词语查询结果作为“链接”嵌入在视觉查询结果中。在一些实施例中,将词语查询结果作为独立链接返回。例如,如果书籍封面的图片是视觉查询,则可能的是,对象识别搜索系统将为该书籍产生较高的评分命中。如此,将在词语查询服务器系统118上运行关于该书籍的名称的词语查询,并且将词语查询结果与视觉查询结果一起返回。在一些实施例中,以加标签的组呈现词语查询结果,以将其与视觉查询结果进行区分。可以分别搜索结果、或可以使用搜索查询中的所有识别的命名实体来执行搜索以产生特别相关的另外搜索结果。例如,如果视觉查询是扫描的关于巴黎的旅游小册子,则返回的结果可以包括到词语查询服务器系统118的用于发起对词语查询“巴黎圣母院”的搜索的链接。类似地,合成搜索结果包括来自对所识别的著名图像的文本搜索的结果。例如,在同一旅游小册子下,还可以示出到关于在小册子中被示出为图片的著名目的地——如同“埃菲尔铁塔”和“卢浮宫”——的词语查询结果的活链接(尽管词语“埃菲尔铁塔”和“卢浮宫”在小册子本身中并没有出现)。
视觉查询服务器系统然后将至少一个结果发送给客户端系统(226)。典型地,如果视觉查询处理服务器从多个搜索系统中的至少部分接收多个搜索结果,则其然后将多个搜索结果中的至少一个发送给客户端系统。对于一些视觉查询,仅仅一个搜索系统会返回相关结果。例如,在仅包含文本的图像的视觉查询中,仅仅OCR服务器的结果可能是相关的。对于一些视觉查询,来自一个搜索系统的仅仅一个结果是相关的。例如,仅仅与扫描的条形码有关的产品可能是相关的。在这些情况下,前端视觉处理服务器将仅仅返回相关的搜索结果。对于一些视觉查询,将多个搜索结果发送给客户端系统,以及该多个搜索结果包括来自并行搜索系统中的多于一个的搜索结果(228)。这可以在多于一个不同图像在视觉查询中时发生。例如,如果视觉查询是人骑马的图片,则可以与关于该马的对象识别结果一起显示关于该人的面部识别的结果。在一些实施例中,使通过图像搜索系统的关于特定查询的所有结果聚组在一起并且一起呈现。例如,在标题“面部识别结果”下显示前N个面部识别结果,以及在标题“对象识别结果”下一起显示前N个对象识别结果。替选地,如下所述,使来自特定图像搜索系统的搜索结果按图像区域聚组。例如,如果视觉查询包括两个人脸,其两者均产生面部识别结果,则将关于每一个人脸的结果作为不同组呈现。对于一些视觉查询(例如,包括文本和一个或多个对象两者的图像的视觉查询),搜索结果包括OCR结果和一个或多个图像匹配结果两者(230)。
在一些情况下,用户可能希望获得更多关于特定搜索结果的信息。例如,如果视觉查询是海豚的图片,并且“图像到词语”搜索系统返回以下词语:“水”、“海豚”、“蓝色”和“鳍状肢”,则用户可能希望运行对“鳍状肢”的基于文本的查询词语搜索。当用户希望运行对词语查询的搜索(例如,如通过用户点击或另外选择搜索结果中的对应链接所指示的)时,对查询词语服务器系统(图1,118)进行访问,并且运行对所选择的词语的搜索。在客户端系统上独立或结合视觉查询结果显示对应的搜索词语结果(232)。在一些实施例中,前端视觉查询处理服务器(图1,110)自动(即除初始视觉查询外,没有接收任何用户命令)为视觉查询选择一个或多个最顶潜在的文本结果,在词语查询服务器系统118上运行那些文本结果,然后将那些词语查询结果与视觉查询结果一起返回给客户端系统,作为将至少一个搜索结果返回给客户端系统的一部分(232)。在上面的示例中,如果“鳍状肢”是海豚的视觉查询图片的第一词语结果,则前端服务器对“鳍状肢”运行词语查询,并且将那些词语查询结果与视觉查询结果一起返回给客户端系统。该实施例,其中在将来自视觉查询的搜索结果发送给用户之前,自动执行认为可能被用户选择的词语结果,节省了用户时间。在一些实施例中,如上所述,将这些结果作为合成搜索结果显示(222)。在其他实施例中,替代合成搜索结果或除合成搜索结果外,结果是搜索结果列表的一部分。
图3是图示用于用交互式结果文档对视觉查询作出响应的过程的流程图。在上面参考图2描述了前三个操作(202、210、214)。从自并行搜索系统接收的搜索结果(214),创建交互式结果文档(302)。
现将详细描述创建交互式结果文档(302)。对于一些视觉查询,交互式结果文档包括视觉查询的各个子部分的一个或多个视觉标识符。每一个视觉标识符具有到搜索结果中的至少一个的至少一个用户可选择的链接。视觉标识符识别视觉查询的相应子部分。对于一些视觉查询,交互式结果文档仅仅具有带有到一个或多个结果的一个用户可选择的链接的一个视觉标识符。在一些实施例中,到搜索结果中的一个或多个的相应用户可选择的链接具有激活区域,并且该激活区域对应于与对应的视觉标识符相关联的视觉查询的子部分。
在一些实施例中,视觉标识符是边界框(304)。在一些实施例中,如图12A中所示,边界框围住视觉查询的子部分。边界框不必是正方形或长方形框形状,而是可以是任何样子的形状,包括圆形的、椭圆形的、(例如,对视觉查询中的对象、实体或视觉查询的区域)保形的、不规则的或任何其他形状,如图12B中所示。对于一些视觉查询,边界框勾勒出视觉查询的子部分中的可识别的实体的边界(306)。在一些实施例中,每一个边界框包括到一个或多个搜索结果的用户可选择的链接,其中用户可选择的链接具有与边界框所环绕的视觉查询的子部分相对应的激活区域。当用户选择在边界框内的空间(用户可选择的链接的激活区域)时,返回与勾勒出的子部分中的图像相对应的搜索结果。
在一些实施例中,如图14中所示,视觉标识符是标签(307)。在一些实施例中,标签包括与视觉查询的相应子部分中的图像相关联的至少一个词语。对每一个标签进行格式化以在交互式结果文档中在相应子部分上或附近呈现。在一些实施例中,标签是彩色编码的。
在一些实施例中,对每一个相应的视觉标识符进行格式化,以按照在视觉查询的相应子部分中的所识别的实体的类型、以在视觉上不同的方式呈现。例如,如图13中所示,围绕产品、人、商标和两个文本区域的边界框每一个用不同的交叉影线图案来呈现,表示不同颜色的透明边界框。在一些实施例中,对视觉标识符进行格式化,来以在视觉上不同的方式呈现,诸如叠加颜色、叠加图案、标签背景颜色、标签背景图案、标签字体颜色以及边界颜色。
在一些实施例中,交互式结果文档中的用户可选择的链接是到包含与视觉查询的对应子部分有关的一个或多个结果的文档或对象的链接(308)。在一些实施例中,至少一个搜索结果包括与视觉查询的对应子部分有关的数据。如此,当用户选择与相应子部分相关联的可选择的链接时,该用户被指引到与视觉查询的相应子部分中的所识别的实体相对应的搜索结果。
例如,当视觉查询是条形码的照片时,典型地存在这样的照片部分:其是条形码附于之上的包装的不相关部分。在一些实施方式中,交互式结果文档包括仅围绕条形码的边界框。当用户在勾勒出的条形码边界框内进行选择时,显示条形码搜索结果。条形码搜索结果可以包括一个结果,与该条形码相对应的产品名称,或条形码结果可以包括数个结果,诸如其中能够购买、评论等该产品的多种地点。
在一些实施例中,当与相应视觉标识符相对应的视觉查询的子部分包含包括一个或多个词语的文本时,与该相应视觉标识符相对应的搜索结果包括来自对文本中的词语的至少一个的词语查询搜索的结果。在一些实施例中,当与相应视觉标识符相对应的视觉查询的子部分包含人的脸,其中为该脸找到满足预定义可靠性(或其他)标准的至少一个匹配(即搜索结果)时,与该相应视觉标识符相对应的搜索结果包括以下的一个或多个:姓名、称呼、联系信息、账户信息、地址信息、与其脸被包含在可选择的子部分中的人相关联的相关移动设备的当前位置、其脸被包含在可选择的子部分中的人的其他图像以及该人的脸的潜在图像匹配。在一些实施例中,当与相应视觉标识符相对应的视觉查询的子部分包含产品,其中为该产品找到满足预定义可靠性(或其他)标准的至少一个匹配(即搜索结果)时,与该相应视觉标识符相对应的搜索结果包括以下的一个或多个:产品信息、产品评论、发起对产品的购买的选项、发起对产品的出价的选项、类似产品列表以及相关产品列表。
可选地,交互式结果文档中的相应用户可选择的链接包括锚文本,其在文档中被显示,而不必激活链接。锚文本提供与当链接被激活时所获取的信息有关的信息,诸如关键词或词语。典型地,将锚文本作为标签(307)的一部分显示、或在边界框(304)的一部分中显示、或作为当用户将光标悬停在用户可选择的链接上达诸如1秒的预确定时间段时所显示的另外信息显示。
可选地,交互式结果文档中的相应用户可选择的链接是到搜索引擎的链接,用于搜索与基于文本的查询(在本文有时被称为词语查询)相对应的信息或文档。该链接的激活促使搜索引擎执行搜索,其中查询和搜索引擎由该链接指定(例如,搜索引擎由该链接中的URL指定,以及基于文本的搜索查询由该链接的URL参数指定),同时结果被返回给客户端系统。可选地,在该示例中的链接包括指定搜索查询中的文本或词语的锚文本。
在一些实施例中,响应于视觉查询而产生的交互式结果文档可以包括与来自同一搜索系统的结果相对应的多个链接。例如,视觉查询可以是一群人的图像或图片。在一些实施方式中,交互式结果文档包括围绕每一个人的边界框,其当被激活时为所选择的边界框中的人脸从面部识别搜索系统返回结果。对于一些视觉查询,交互式结果文档中的多个链接对应于来自多于一个搜索系统的搜索结果(310)。例如,如果人和狗的图片作为视觉查询被提交,则交互式结果文档中的边界框可以分别勾勒出该人和狗。当(在交互式结果文档中)该人被选择时,返回来自面部识别搜索系统的搜索结果,以及当(在交互式结果文档中)该狗被选择时,返回来自图像到词语搜索系统的结果。对于一些视觉查询,交互式结果文档包含OCR结果和图像匹配结果(312)。例如,如果一个人站在标志旁边的图片作为视觉查询被提交,则交互式结果文档可以包括用于该人和用于该标志中的文本的视觉标识符。类似地,如果杂志的扫描被用作为视觉查询,则交互式结果文档可以包括用于页面上的广告中的照片或商标的视觉标识符以及用于同样在该页面上的文章的文本的视觉标识符。
在创建了交互式结果文档之后,将其发送给客户端系统(314)。在一些实施例中,如在上面参考图2所述,结合来自一个或多个并行搜索系统的搜索结果列表发送交互式结果文档(例如,图15,文档1200)。在一些实施例中,如图15中所示,在客户端系统处在来自一个或多个并行搜索系统的搜索结果列表之上或另外附近显示交互式结果文档(315)。
可选地,用户将通过选择结果文档中的视觉标识符来与结果文档进行交互。服务器系统从客户端系统接收关于对交互式结果文档中的视觉标识符的用户选择的信息(316)。如上所述,在一些实施例中,通过选择边界框内的激活区域来激活链接。在其他实施例中,通过对视觉查询的子部分的视觉标识符的用户选择来激活链接,所述视觉标识符不是边界框。在一些实施例中,链接的视觉标识符是热按钮、位于子部分附近的标签、文本中加下划线的词、或视觉查询中的对象或主题的其他表示。
在将搜索结果列表与交互式结果文档一起呈现(315)的实施例中,当用户选择用户可选择的链接(316)时,识别搜索结果列表中的与所选择的链接相对应的搜索结果。在一些实施例中,光标将跳转或自动移动到与所选择的链接相对应的第一结果。在客户端102的显示器太小而不能显示交互式结果文档和整个搜索结果列表两者的一些实施例中,选择交互式结果文档中的链接促使搜索结果列表滚动或跳转,以至少显示与所选择的链接相对应的第一结果。在一些其他实施例中,响应于对交互式结果文档中的链接的用户选择,对结果列表重新排序,使得在结果列表顶部显示与该链接相对应的第一结果。
在一些实施例中,当用户选择用户可选择的链接(316)时,视觉查询服务器系统将与视觉查询的对应子部分有关的结果的至少子集发送给客户端以向用户显示(318)。在一些实施例中,用户可以同时选择多个视觉标识符,并且将同时接收关于所有所选择的视觉标识符的结果子集。在其他实施例中,在对用户可选择的链接中的任何链接的用户选择之前,将对应于用户可选择的链接的搜索结果预载到客户端上,以响应于对交互式结果文档中的一个或多个链接的用户选择而几乎即刻向用户提供搜索结果。
图4是图示在客户端和视觉查询服务器系统之间的通信的流程图。客户端102从用户/查询者接收视觉查询(402)。在一些实施例中,可以仅从已注册或“选择加入”到视觉查询系统的用户接受视觉查询。在一些实施例中,仅为已注册面部识别视觉查询系统的用户执行对面部识别匹配的搜索,而为任何人执行其他类型的视觉查询,不管其是否已“选择加入”到面部识别部分。
如上所述,视觉查询的格式可以采取许多形式。视觉查询将可能包含位于视觉查询文档的子部分中的一个或多个主题。对于一些视觉查询,客户端系统102对视觉查询执行类型识别预处理(404)。在一些实施例中,客户端系统102在该预处理系统中搜索特定可识别的模式。例如,对于一些视觉查询,客户端识别颜色。在另一个示例中,对于一些视觉查询,客户端识别特定子部分可能包含文本(因为该区域由以淡色空间等环绕的较小暗色字符组成)。客户端包含任何数量的预处理类型识别器或类型识别模块。在一些实施例中,客户端具有用于识别条形码的类型识别模块(条形码识别406)。可以通过识别长方形区域中的独特条纹图案来那么做。在一些实施例中,客户端具有用于识别视觉查询的特定主题或子部分可能包含人脸的类型识别模块(人脸检测408)。
在一些实施例中,将所识别的“类型”返回给用户以供验证。例如,客户端系统102可以返回陈述“在你的视觉查询中找到了条形码,你对接收条形码查询结果感兴趣?”的消息。在一些实施例中,消息指示其中已找到类型的视觉查询的子部分。在一些实施例中,该呈现类似于参考图3所述的交互式结果文档。例如,其可以勾勒出视觉查询的子部分,并且指示该子部分可能包含人脸,以及询问用户其是否对接收面部识别结果感兴趣。
在客户端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的词的校正)或独立注释(自由形式或结构化的)。
用户的对一个搜索结果的选择,一般从同一类型的数个结果选择“正确的”结果(例如,选择来自面部识别服务器的正确结果),是被称为在解释中的选择的过程。用户的对特定类型的搜索结果的选择,一般从数个不同类型的所返回的结果选择感兴趣的结果“类型”(例如,选择杂志中的文章的经OCR的文本,而不是关于同样在同一页面上的广告的视觉结果),是被称为对意图的消歧的过程。如参考图8详细说明的,用户可以类似地选择经OCR的文档中的特定链接的词(诸如所识别的命名实体)。
替选地或另外,用户可能希望对特定搜索结果进行注释。可以以自由形式风格或结构化格式完成该注释(422)。注释可以是对结果的描述或可以是对结果的评论。例如,其可以指示结果中的主题的名称、或其可以指示“这是本好书”或“这个产品在购买一年内损坏”。注释的另一个示例是围绕视觉查询的子部分的用户绘制的边界框和识别该边界框内的对象或主题的用户提供的文本。参考图5更详细说明了用户注释。
将搜索结果的用户选择和其他注释发送给服务器系统(424)。前端服务器110接收该选择和注释,并且对其进行进一步处理(426)。如果信息是对交互式结果文档中的对象、子区域或词语的选择,在适当情况下,可以请求关于该选择的进一步信息。例如,如果选择是对一个视觉结果的,则将请求关于该视觉结果的更多信息。如果选择是(来自OCR服务器或来自图像到词语服务器的)词,则将该词的文本搜索发送给词语查询服务器系统118。如果选择是来自面部图像识别搜索系统的人的,则将请求该人的简档。如果选择是关于交互式搜索结果文档的特定部分的,则将请求隐含的视觉查询结果。
参考图5所说明的,如果服务器系统接收注释,则将该注释存储在查询和注释数据库116中。然后,将来自注释数据库116的信息周期性复制到并行服务器系统中的一个或多个的单独注释数据库,如在下面参考图7-10所述。
图5是图示依据一些实施例的客户端系统102的框图。客户端系统102典型地包括一个或多个处理单元(CPU)702、一个或多个网络或其他通信接口704、存储器712以及用于使这些组件互连的一个或多个通信总线714。通信总线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可以可选地包括远离CPU702的一个或多个存储设备。存储器712或替选地在存储器712内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器712或存储器712的计算机可读存储介质存储下述程序、模块和数据结构、或其子集:
·操作系统716,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务的程序;
·网络通信模块718,其被用于通过一个或多个通信网络接口704(有线的或无线的)和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将客户端系统102连接到其他计算机;
·图像捕捉模块720,其用于处理图像捕捉设备/相机710所捕捉到的相应图像,其中该相应图像可以作为视觉查询(例如,由客户端应用模块)发送给视觉查询服务器系统;
·一个或多个客户端应用模块722,其用于处理按图像进行查询的各个方面,包括但不限于:按图像查询提交模块724,其用于将视觉查询提交给视觉查询服务器系统;可选地,感兴趣区域选择模块725,其检测对图像中的感兴趣区域的选择(诸如,在触敏显示器706/709上的手势),并且将该感兴趣区域作为视觉查询准备好;结果浏览器726,其用于显示视觉查询的结果;以及可选地,注释模块728,其带有:用于结构化注释文本输入的可选模块730,其诸如以一种形式进行填充;或用于自由形式注释文本输入的可选模块732,其能够接受来自多种格式的注释;以及图像区域选择模块734(在本文有时被称为结果选择模块),其允许用户选择图像的特定子部分以进行注释;
·可选的内容创作应用736,其允许用户通过创建或编辑图像,而不是仅仅通过图像捕捉设备710捕捉一个图像来创作视觉查询;可选地,一个或这样的应用736可以包括使用户能够选择图像的子部分以用作为视觉查询的指令;
·可选的本地图像分析模块738,其在将视觉查询发送给视觉查询服务器系统之前对该视觉查询进行预处理。本地图像分析可以识别图像或在图像内的子区域的特定类型。可以由这样的模块738识别的图像类型的示例包括以下的一个或多个:面部类型(在视觉查询内识别的面部图像)、条形码类型(在视觉查询内识别的条形码)以及文本类型(在视觉查询内识别的文本);以及
·另外的可选客户端应用740,诸如电子邮件应用、电话应用、浏览器应用、地图应用、即时消息应用、社交网络应用等。在一些实施例中,当选择适当可动作的搜索结果时,可以启动或访问与该可动作搜索结果相对应的应用。
可选地,允许用户选择图像的特定子部分以进行注释的图像区域选择模块734还允许用户选择搜索结果作为“正确的”命中,而不必对其进行进一步注释。例如,用户可以被呈现有前N个的面部识别匹配,并且可以从该结果列表选择正确的人。对于一些搜索查询,将呈现多于一种类型的结果,并且用户将选择一种类型的结果。例如,图像查询可以包括一个人站在树旁边,但是只有关于该人的结果对用户来说才是感兴趣的。因此,图像选择模块734允许用户指示哪种图像类型是“正确的”类型——即,其在接收中感兴趣的类型。用户还可能希望通过使用(用于以一种形式进行填充的)注释文本输入模块730或自由形式注释文本输入模块732来添加个人评注或描述性词,来对搜索结果进行注释。
在一些实施例中,可选的本地图像分析模块738是客户端应用(图1,108)的一部分。此外,在一些实施例中,可选的本地图像分析模块738包括用来执行本地图像分析以对视觉查询或其部分进行预处理或分类的一个或多个程序。例如,客户端应用722可以在将视觉查询提交给搜索引擎之前识别图像包含条形码、人脸或文本。在一些实施例中,当本地图像分析模块738检测到视觉查询包含特定类型的图像时,该模块询问用户他们是否对对应类型的搜索结果感兴趣。例如,本地图像分析模块738可以基于人脸的一般特性(即,不用确定哪个人的脸)来检测人脸,并且在将查询发送给视觉查询服务器系统上之前向用户提供即时反馈。其可以返回如同“检测到人脸,你对获得这张人脸的面部识别匹配感兴趣吗?”的结果。这可以为视觉查询服务器系统(图1,106)节省时间。对于一些视觉查询,前端视觉查询处理服务器(图1,110)仅将视觉查询发送给与本地图像分析模块738所识别的图像类型相对应的搜索系统112。在其他实施例中,视觉查询到搜索系统112可以将视觉查询发送给所有搜索系统112A-N,但是将对来自与本地图像分析模块738所识别的图像类型相对应的搜索系统112的结果进行排名。在一些实施例中,本地图像分析对视觉查询服务器系统的操作产生影响的方式取决于客户端系统的配置、或与用户或客户端系统相关联的配置或处理参数。此外,任何特定视觉查询的实际内容和通过本地图像分析所产生的结果可以使不同视觉查询在客户端系统和视觉查询服务器系统任一或两者处被不同地处理。
在一些实施例中,以两个步骤执行条形码识别,其中对视觉查询是否包括条形码的分析在客户端系统上在本地图像分析模块738处执行。然后,只有在客户端确定视觉查询可能包括条形码时,才将该视觉查询传递给条形码搜索系统。在其他实施例中,条形码搜索系统对每个视觉查询进行处理。
可选地,客户端系统102包括另外的客户端应用740。
图6是图示依据一些实施例的前端视觉查询处理服务器系统110的框图。前端服务器110典型地包括一个或多个处理单元(CPU)802、一个或多个网络或其他通信接口804、存储器812以及用于使这些组件互连的一个或多个通信总线814。通信总线814可选地包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。存储器812包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;以及可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器812可以可选地包括远离CPU802的一个或多个存储设备。存储器812或替选地在存储器812内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器812或存储器812的计算机可读存储介质存储下述程序、模块和数据结构、或其子集:
·操作系统816,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务的程序;
·网络通信模块818,其被用于通过一个或多个通信网络接口804(有线的或无线的)和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将前端服务器系统110连接到其他计算机;
·查询管理器820,其用于处理来自客户端系统102的进入的视觉查询,并且将其发送给两个或更多个并行搜索系统;如在本文档中其他地方所描述的,在一些特殊情况下,视觉查询可以针对搜索系统中的仅仅一个,诸如当视觉查询包括客户端生成的指令(例如,“仅面部识别搜索”)时;
·结果过滤模块822,其用于可选地对来自一个或多个并行搜索系统的结果进行过滤,并且将最顶或“相关”结果发送给客户端系统102以供呈现;
·结果排名和格式化模块824,其用于可选地对来自一个或多个并行搜索系统的结果进行排名,以及用于对结果进行格式化以供呈现;
·结果文档创建模块826,其在适当时被用来创建交互式搜索结果文档;模块826可以包括子模块,包括但不限于:边界框创建模块828和链接创建模块830;
·标签创建模块831,其用于创建为视觉查询的相应子部分的视觉标识符的标签;
·注释模块832,其用于从用户接收注释,并且将其发送给注释数据库116;
·可动作搜索结果模块838,其用于响应于视觉查询,生成一个或多个可动作搜索结果元素,每一个被配置成启动客户端动作;可动作搜索结果元素的示例是用来发起电话呼叫、发起电子邮件消息、在地图上标出地址、进行餐馆预定以及提供购买产品的选项的按钮;以及
·查询和注释数据库116,其包括数据库本身834和对数据库的索引836。
结果排名和格式化模块824对从一个或多个并行搜索系统(图1,112-A-112-N)返回的结果进行排名。如在上面已提到的,对于一些视觉查询,仅仅来自一个搜索系统的结果可能是相关的。在这样的情况下,仅仅对来自该一个搜索系统的相关搜索结果进行排名。对于一些视觉查询,数种类型的搜索结果可能是相关的。在这些情况下,在一些实施例中,结果排名和格式化模块824使来自具有最相关结果(例如,具有最高相关性分值的结果)的搜索系统的所有结果排名高于关于不那么相关的搜索系统的结果。在其他实施例中,结果排名和格式化模块824使来自每一个相关搜索系统的最顶结果排名高于剩余结果。在一些实施例中,结果排名和格式化模块824根据为搜索结果中的每一个计算的相关性分值对结果进行排名。对于一些视觉查询,除在并行视觉搜索系统上的搜索外,执行扩增的文本查询。在一些实施例中,当文本查询同样被执行时,以在视觉上不同于视觉搜索系统结果的方式呈现其结果。
结果排名和格式化模块824还对结果进行格式化。在一些实施例中,以列表格式呈现结果。在一些实施例中,借助于交互式结果文档呈现结果。在一些实施例中,呈现交互式结果文档和结果列表两者。在一些实施例中,查询类型指示结果如何被呈现。例如,如果在视觉查询中检测到多于一个可搜索的主题,则产生交互式结果文档,而如果仅仅检测到一个可搜索的主题,则将仅仅以列表格式显示结果。
结果文档创建模块826用于创建交互式搜索结果文档。交互式搜索结果文档可以具有一个或多个检测和搜索到的主题。边界框创建模块828创建围绕搜索到的主题中的一个或多个的边界框。边界框可以是长方形框、或可以勾勒出主题的形状。链接创建模块830创建到搜索结果的链接,所述搜索结果与其在交互式搜索结果文档中的相应主题相关联。在一些实施例中,在边界框区域内点击激活链接创建模块所插入的对应链接。
查询和注释数据库116包含能够用来改进视觉查询结果的信息。在一些实施例中,用户可以在已呈现视觉查询结果之后对图像进行注释。此外,在一些实施例中,用户可以在将图像发送给视觉查询搜索系统之前对图像进行注释。预注释可以通过与视觉查询搜索并行地使结果聚焦于注释的词、或对注释的词运行基于文本的搜索,来帮助视觉查询处理。在一些实施例中,可以使图片的经注释的版本公开(例如,当用户例如通过将图像和注释指明为不是私有的来准许了公开时),以作为潜在图像匹配命中被返回。例如,如果用户拍摄了花的图片,并且通过给出关于该花的详细属种信息来对该图像进行注释,则该用户可能想要该图像向执行查找该花的视觉查询研究的任何人呈现。在一些实施例中,将来自查询和注释数据库116的信息周期性推送给并行搜索系统112,其将信息的相关部分(如果有的话)合并入其相应的单独数据库114中。
图7是图示利用来处理视觉查询的并行搜索系统中的一个的框图。图7图示了依据一些实施例的“通用”服务器系统112-N。该服务器系统仅仅因为其表示视觉查询搜索服务器112-N中的任何一个而是通用的。通用服务器系统112-N典型地包括一个或多个处理单元(CPU)502、一个或多个网络或其他通信接口504、存储器512以及用于使这些组件互连的一个或多个通信总线514。通信总线514可选地包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。存储器512包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;以及可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器512可以可选地包括远离CPU502的一个或多个存储设备。存储器512或替选地在存储器512内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器512或存储器512的计算机可读存储介质存储下述程序、模块和数据结构、或其子集:
·操作系统516,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务的程序;
·网络通信模块518,其被用于通过一个或多个通信网络接口504(有线的或无线的)和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将通用服务器系统112-N连接到其他计算机;
·特定于特定服务器系统的搜索应用520,其例如可以是条形码搜索应用、颜色识别搜索应用、产品识别搜索应用、对象或对象类别搜索应用等;
·如果特定搜索应用利用索引,则可选的索引522;
·可选的图像数据库524,其用于存储与特定搜索应用相关的图像,其中所存储的图像数据,如果有的话,取决于搜索过程类型;
·可选的结果排名模块526(有时被称为相关性评分模块),其用于对来自搜索应用的结果进行排名,排名模块可以为来自搜索应用的每一个结果分配相关性分值,以及如果没有结果达到预定义的最小分值,则可以向前端视觉查询处理服务器返回指示来自该服务器系统的结果不相关的空或零值分值;以及
·注释模块528,其用于从注释数据库(图1,116)接收注释信息、确定任何注释信息是否与特定搜索应用相关、以及将注释信息的任何确定的相关部分合并入相应的注释数据库530。
图8是图示依据一些实施例的、利用来处理视觉查询的OCR搜索系统112-B的框图。OCR搜索系统112-B典型地包括一个或多个处理单元(CPU)602、一个或多个网络或其他通信接口604、存储器612以及用于使这些组件互连的一个或多个通信总线614。通信总线614可选地包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。存储器612包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;以及可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器612可以可选地包括远离CPU602的一个或多个存储设备。存储器612或替选地在存储器612内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器612或存储器612的计算机可读存储介质存储下述程序、模块和数据结构、或其子集:
·操作系统616,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务的程序;
·网络通信模块618,其被用于通过一个或多个通信网络接口604(有线的或无线的)和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将OCR搜索系统112-B连接到其他计算机;
·光学字符识别(OCR)模块620,其试图识别视觉查询中的文本,并且将字母图像转换成字符;
·可选的OCR数据库114-B,其由OCR模块620利用来识别特定字体、文本模式以及对字母识别特有的其他特性;
·可选的拼写检查模块622,其通过针对词典检查经转换的词,并且对另外匹配词典词的词中的潜在错误转换的字母进行替换,来改进字母图像到字符的转换;
·可选的命名实体识别模块624,其搜索经转换的文本内的命名实体、将所识别的命名实体作为词语查询中的词语发送给词语查询服务器系统(图1,118)、以及将来自词语查询服务器系统的结果作为嵌入在经OCR的文本中的与所识别的命名实体相关联的链接提供;
·可选的文本匹配应用632,其通过针对文本片段数据库检查经转换的片段(诸如经转换的句子和段落),并且对另外匹配文本匹配应用文本片段的经OCR的文本片段中的潜在错误转换的字母进行替换,来改进字母图像到字符的转换,在一些实施例中,将文本匹配应用所找到的文本片段作为链接提供给用户(例如,如果用户扫描了纽约时报的页面或页面的一部分,则文本匹配应用可以提供到纽约时报网站上的整个发表的文章的链接);
·结果排名和格式化模块626,其用于对经OCR的结果进行格式化以供呈现,以及对到命名实体的可选链接进行格式化,以及还可选地对来自文本匹配应用的任何相关结果进行排名;以及
·可选的注释模块628,其用于从注释数据库(图1,116)接收注释信息、确定任何注释信息是否与OCR搜索系统相关、以及将注释信息的任何确定的相关部分合并入相应的注释数据库630。
图9是图示依据一些实施例的、利用来处理视觉查询的面部识别搜索系统112-A的框图。面部识别搜索系统112-A典型地包括一个或多个处理单元(CPU)902、一个或多个网络或其他通信接口904、存储器912以及用于使这些组件互连的一个或多个通信总线914。通信总线914可选地包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。存储器912包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;以及可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器912可以可选地包括远离CPU902的一个或多个存储设备。存储器912或替选地在存储器912内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器912或存储器912的计算机可读存储介质存储下述程序、模块和数据结构、或其子集:
·操作系统916,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务的程序;
·网络通信模块918,其被用于通过一个或多个通信网络接口904(有线的或无线的)和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将面部识别搜索系统112-A连接到其他计算机;
·面部识别搜索应用920,其用于在面部图像数据库114-A中搜索与在视觉查询中呈现的人脸相匹配的面部图像,以及为与在面部图像数据库114-A中找到的每一个匹配有关的信息而搜索社交网络数据库922。
·面部图像数据库114-A,其用于为多个用户存储一个或多个面部图像;可选地,面部图像数据库包括除用户外的人的面部图像,诸如家庭成员以及用户已知的并且已被识别为在包括在面部图像数据库114-A中的图像中存在的其他人。可选地,面部图像数据库包括从外部源获取的面部图像,诸如在公共域合法的面部图像供应商;
·可选地,社交网络数据库922,其包含与社交网络的用户有关的信息,诸如姓名、地址、职业、组成员、社交网络联系、移动设备的当前GPS位置、共享偏好、兴趣、年龄、家乡、个人统计数字、工作信息等,如参考图12A更详细论述的;
·结果排名和格式化模块924,其用于对来自面部图像数据库114-A的潜在面部匹配进行排名(例如,将相关性和/或匹配质量分值分配给所述潜在面部匹配),以及对结果进行格式化以供呈现;在一些实施例中,对结果的排名或评分利用从前述社交网络数据库检索到的相关信息;在一些实施例中,搜索格式化的结果包括潜在图像匹配以及来自社交网络数据库的信息的子集;以及
·注释模块926,其用于从注释数据库(图1,116)接收注释信息、确定任何注释信息是否与面部识别搜索系统相关、以及将注释信息的任何确定的相关部分存储入相应的注释数据库928中。
图10是图示依据一些实施例的、利用来处理视觉查询的图像到词语搜索系统112-C的框图。在一些实施例中,图像到词语搜索系统识别视觉查询中的对象(实例识别)。在其他实施例中,图像到词语搜索系统识别视觉查询中的对象类别(类型识别)。在一些实施例中,图像到词语系统识别对象和对象类别两者。图像到词语搜索系统为视觉查询中的图像返回潜在词语匹配。图像到词语搜索系统112-C典型地包括一个或多个处理单元(CPU)1002、一个或多个网络或其他通信接口1004、存储器1012以及用于使这些组件互连的一个或多个通信总线1014。通信总线1014可选地包括使系统组件互连并且控制系统组件之间的通信的电路(有时被称为芯片集)。存储器1012包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;以及可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1012可以可选地包括远离CPU1002的一个或多个存储设备。存储器1012或替选地在存储器1012内的非易失性存储器设备包括非暂时性计算机可读存储介质。在一些实施例中,存储器1012或存储器1012的计算机可读存储介质存储下述程序、模块和数据结构、或其子集:
·操作系统1016,其包括用于处理各种基本系统服务和用于执行依赖硬件的任务的程序;
·网络通信模块1018,其被用于通过一个或多个通信网络接口1004(有线的或无线的)和诸如因特网、其他广域网、局域网、城域网等的一个或多个通信网络将图像到词语搜索系统112-C连接到其他计算机;
·图像到词语搜索应用1020,其在图像搜索数据库114-C中搜索与视觉查询中的一个或多个主题相匹配的图像;
·图像搜索数据库114-C,其能够由搜索应用1020进行搜索来找到类似于视觉查询的主题的图像;
·词语到图像逆向索引1022,其存储在使用基于文本的查询搜索引擎1006来搜索图像时用户所使用的文本词语;
·结果排名和格式化模块1024,其用于对潜在图像匹配进行排名和/或对在词语到图像逆向索引1022中识别的与潜在图像匹配相关联的词语进行排名;以及
·注释模块1026,其用于从注释数据库(图1,116)接收注释信息、确定任何注释信息是否与图像到词语搜索系统112-C相关、以及将注释信息的任何确定的相关部分存储入相应的注释数据库1028中。
更多地意在将图5-10作为在一组计算机系统中出现的各种特征的功能性描述,而不是作为在本文所述的实施例的结构性示意。实际上,并且如本领域技术人员所认识到的,可以使分离示出的项相组合,并且可以使一些项分离。例如,可以在单个服务器上实现在这些附图中分离示出的一些项,并且可以通过一个或多个服务器来实现单个项。用来实现视觉查询处理的系统的实际数量以及在它们之间如何分配特征因实施方式的不同而不同。
在本文所述的方法中的每一个典型地由存储在非暂时性计算机可读存储介质中并且由一个或多个服务器或客户端的一个或多个处理器执行的指令管控。此外,在上面识别的模块、应用或程序中的每一个对应于客户端系统104的一个或多个处理器可执行的、用于执行上述功能的指令集。在上面识别的模块或程序(即,指令集)不一定被实现为独立软件程序、过程或模块,因此,在各种实施例中,可以组合或另外重新安排这些模块的各种子集。在图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,该前端服务器110将视觉查询1102发送给多个并行搜索系统(112A-N)、接收结果以及创建交互式结果文档。
图12A和12B每一个图示带有交互式结果文档1200的实施例的截屏的客户端系统102。交互式结果文档1200包括视觉查询1102的相应子部分的一个或多个视觉标识符1202,其每一个包括到搜索结果子集的用户可选择的链接。图12A和12B图示了带有为边界框1202(例如,边界框1202-1、1202-2、1202-3)的视觉标识符的交互式结果文档1200。在图12A和12B中所示的实施例中,用户通过轻击在特定子部分的边界框1202所勾勒出的空间内的激活区域,来激活对与该特定子部分相对应的搜索结果的显示。例如,用户将通过轻击环绕人的图像的边界框1306(图13),来激活与该人的图像相对应的搜索结果。在其他实施例中,使用鼠标或键盘而不是触敏显示器来选择可选择的链接。在一些实施例中,当用户预览边界框1202时(即,当用户单击、轻击一次或将指针悬停在边界框上时),显示第一对应的搜索结果。当用户选择边界框时(即,当用户双击、轻击两次或使用另一个机制来指示选择时),用户激活对多个对应的搜索结果的显示。
在图12A和12B中,视觉标识符是环绕视觉查询的子部分的边界框1202。图12A图示了为正方形或长方形的边界框1202。图12B图示了勾勒出视觉查询的子部分中的可识别的实体的边界的边界框1202,诸如用于饮料瓶的边界框1202-3。在一些实施例中,各个边界框1202在其内包括更小的边界框1202。例如,在图12A和12B中,识别包装的边界框1202-1环绕识别商标的边界框1202-2和所有其他边界框1202。在包括文本的一些实施例中,还包括用于文本词语中的部分的活动热链接1204。图12B示出了示例,其中“Active Drink”和“UnitedStates”被显示为热链接1204。与这些词语相对应的搜索结果是从词语查询服务器系统118接收到的结果,而与边界框相对应的结果是来自按图像查询搜索系统的结果。
图13图示带有按视觉查询中的所识别的实体的类型编码的交互式结果文档1200的截屏的客户端系统102。图11的视觉查询包含人的图像1106、商标图像1108、产品图像1110以及多种文本元素1112。如此,在图13中显示的交互式结果文档1200包括围绕人1306、标签1308、产品1310和两个文本区域1312的边界框1202。图13的边界框每一个用不同的交叉影线来呈现,其表示不同颜色的透明边界框1202。在一些实施例中,对边界框的视觉标识符(和/或交互式结果文档1200中的标签或其他视觉标识符)进行格式化来以在视觉上不同的方式呈现,诸如叠加颜色、叠加图案、标签背景颜色、标签背景图案、标签字体颜色以及边界框边界颜色。参考图13中的边界框示出了用于特定识别的实体的类型编码,但是也可以将按类型编码应用于作为标签的视觉标识符。
图14图示带有具有标签1402的交互式结果文档1200的截屏的客户端设备102,标签1402是图11的视觉查询1102的相应子部分的视觉标识符。标签视觉标识符1402每一个包括到对应搜索结果的子集的用户可选择的链接。在一些实施例中,通过在标签1402的区域内所显示的描述性文本来识别可选择的链接。一些实施例包括在一个标签1402内的多个链接。例如,在图14中,悬停在喝水的女人的图像上的标签包括到关于该女人的面部识别结果的链接和到关于该特定图片的图像识别结果(例如,使用相同图片的其他产品或广告的图像)的链接。
在图14中,标签1402被显示为带有文本的部分透明的区域,其位于交互式结果文档的其相应子部分上。在其他实施例中,将相应标签放置在靠近但是并不位于交互式结果文档的其相应子部分上。在一些实施例中,以与参考图13所述的相同的方式按类型对标签进行编码。在一些实施例中,用户通过轻击在标签1402的边缘或外围所勾勒出的空间内的激活区域,来激活对与对应于标签1402的特定子部分相对应的搜索结果的显示。在上面参考图12A和12B的边界框所述的相同预览和选择功能同样适用于为标签1402的视觉标识符。
图15图示交互式结果文档1200和原始视觉查询1102与结果列表1500同时显示的截屏。在一些实施例中,在与相应标签1402或边界框1202相对应的视觉查询的子部分中所识别的文本、或在与相应标签1402或边界框1202相对应的视觉查询的子区域中的产品、人或其他对象的标识符(例如,图1,搜索系统112-A、112-B以及112-C中的一个或多个所产生的文本或标识符)由视觉查询服务器系统106(例如,由在前端服务器110内或通过前端服务器110调用的搜索引擎系统)使用来识别并提供结果列表1500中的结果的至少部分,从而提供可能对用户来说感兴趣的额外信息。
在一些实施例中,如图12-14中所示,交互式结果文档1200独自被显示。在其他实施例中,如图15中所示,交互式结果文档1200与原始视觉查询同时被显示。在一些实施例中,视觉查询结果列表1500与原始视觉查询1102和/或交互式结果文档1200一起同时被显示。客户端系统的类型和在显示器706上的空间量可以确定结果列表1500是否与交互式结果文档1200同时被显示。在一些实施例中,客户端系统102(响应于提交给视觉查询服务器系统的视觉查询)接收结果列表1500和交互式结果文档1200两者,但是当用户滚动到交互式结果文档1200下面时仅显示结果列表1500。在这些实施例中的部分中,客户端系统102在不必再次向服务器进行查询的情况下显示与用户选择的视觉标识符1202/1402相对应的结果,因为结果列表1500由客户端系统102响应于视觉查询而接收,然后被本地存储在客户端系统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中关于面部识别匹配结果所示,与诸如图像中的人的姓名的一些文本描述一起显示了关于“Actress X(女演员X)”和“Social Network Friend Y(社交网络朋友Y)”的面部匹配的图片的较小版本(也被称为缩略图)。
图16是图示用于将印刷出版物转换成经OCR的文本的计算环境1600的框图。如所示,计算环境1600包括图像捕捉设备,诸如扫描仪或其他图像捕捉设备(图5,710)、OCR模块(图8,620)、文本匹配应用(图8,632)以及客户端系统(图5,102)。在该附图中图示了每一个实体的仅仅一个,以简化本描述并使本描述清晰。如图5(客户端系统)和8(OCR搜索系统)中所示,在计算环境1600中还可以存在其他实体。在一些实施例中,将OCR模块620和文本匹配应用632组合成单个实体。
可选地,图像捕捉设备710是扫描仪或被配置成光学地扫描印刷出版物(例如,书籍、报纸)并且将印刷出版物转换成数字文本图像的其他硬件设备。替选地,图像捕捉设备710是关于图5所述的相机或图像捕捉设备。将扫描仪710的输出提供给OCR模块620。
OCR模块620是被配置成将源图像(例如,视觉查询)转换(转化)成可编辑的文本(以下被称为经OCR的文本)的硬件设备和/或软件程序。OCR模块620使用计算机算法来对源图像进行处理,并且生成对应经OCR的文本。
另外,OCR模块620为源图像中包含经OCR的文本的图像片段生成并输出位置信息。例如,对于每一个文本片段(例如,段落、栏、标题),OCR模块620提供描述唯一指定包含文本片段的源图像的片段的边界框的一组值。在一个示例中,描述边界框的值包括在x轴和y轴上长方形的左上角的二维坐标,以及该长方形的宽度和高度。因此,边界框将源图像的区域唯一识别为与文本片段相对应的图像片段。在其他实施例中,边界框可以使用除长方形外的形状来指定图像片段。
可选地,OCR模块620生成测量图像片段中的经OCR的文本的质量或质量水平的置信水平。另外,OCR模块620可选地生成其他信息,诸如图像片段中的经OCR的文本的格式信息(例如,下述中的一个或多个:字体、字体大小、字体类别(例如,衬线字体相对于无衬线字体)、风格)以及结构信息。结构信息包括关于视觉查询中的文本字符的布局、大小确定和/或定位等的信息。在一些实施例中,结构信息包括下述中的一个或多个:视觉查询中的字符关于彼此的相对大小、字符关于彼此和源图像中的一个或多个参考点(例如,在所接收的视觉查询中的非文本对象、页边空白、页面边缘、换行符等)的相对位置、词数、词序以及行间距。在一些实施例中,结构信息包括上述格式信息。将OCR模块620的输出提供给文本匹配应用632。
在一些实施例中,使用众所周知的OCR方法来实现OCR模块620。OCR模块620的示例包括ABBYY FineReader OCR、ADOBE AcrobatCapture以及MICROSOFT Office Document Imaging。可选地,OCR模块包括用于实现在于2009年2月5日提交的专利申请12/366,329,“Methods and Systems for Assessing the Quality of AutomaticallyGenerated Text”和于2009年2月5日提交的专利申请12/366,547,“Selective Display of OCR'ed Text and Corresponding Images fromPublications on a Client Device”中所公开的OCR方法的模块、程序或指令,特此通过引用将其两者整体并入。
文本匹配应用632被配置成向用户提供印刷出版物的电子表示。文本匹配应用632存储从OCR模块620所接收的信息,包括经OCR的文本、源图像、将经OCR的文本片段与源图像的片段联系起来的位置信息、以及置信水平。在一个实施例中,文本匹配应用632使用所接收的信息来为经OCR的文本的每一个文本片段计算“质量分值”;该质量分值测量文本片段的总体质量。
客户端系统102是被配置成向文本匹配应用632请求文档,并且作为响应显示所接收的文档的计算机系统或设备(例如,蜂窝电话、个人数字助理、受一个或多个微处理器控制的其他手持式设备)。
(例如,在客户端系统中的)图像捕捉设备710被通信地连接到OCR模块620;OCR模块620被通信地连接到文本匹配应用632;以及文本匹配应用632被通信地连接到客户端系统102。任何连接可以通过一个或多个有线或无线网络。这样的网络的示例包括因特网、内联网、WiFi网络、WiMAX网络、移动电话网络或其组合。
图17是根据一些实施例的、在(例如,图8中的OCR搜索系统的)文本匹配应用632内的模块的框图。文本匹配应用632的一些实施例具有与在本文所述的模块不同和/或其他的模块。类似地,在其他实施例中,可以与在此所述的不同的方式在模块之间分布文本匹配应用的功能。如所图示,文本匹配应用632包括文本评估引擎1710、代码生成模块1720、文档生成模块1730、输入/输出管理模块(以下被称为I/O模块)1740以及数据存储1750。文本匹配应用632评估并存储规范源文档以及作为视觉查询接收的文档。如此,文本匹配应用632可以输出规范源文档的图像部分或与从视觉查询提取的高质量文本串相关联的规范源文档的经OCR的文本部分。
规范源文档是来自已建立的源——诸如书籍出版商、web主机、或已知用来存储规范文档的其他文档数据库——的文档。许多规范源文档是从与文档的作者相关联的源获取的作者身份的原著。例如,在许多情况下,规范源文档是作者或与作者相关联的实体或受作者授权来发布文档的实体所发布的文档(即,带有文档的内容)。具有与规范文档相同或相似的内容,但是不是由已建立的源发布或不是由作者或与作者相关联的实体或作者授权来发布文档的实体所发布的其他文档不是规范源文档。典型地,相对于仅仅由需要光学分析以恢复文本的图像所表示的文本,规范源文档包括被存储为文本的文本。因此,在规范源文档中的文本权威地表示规范源文档的文本内容。典型地,以便于索引那些文档的内容、以及这些文档中的文本与候选字符串的比较(和/或文档中的图像部分或图像特性与视觉查询的一个或多个图像部分的比较)的多个预定义格式(例如,XML、HTML、RTL等)中的一个来存储规范源文档。
文本评估引擎1710基于OCR模块620所提供的信息来为文本片段生成质量分值。质量分值是测量文本片段的总体质量的数值。在一个实施例中,质量分值范围在0和100之间,其中0指示高文本质量,以及100指示低文本质量。
为了生成质量分值,文本评估引擎1710的实施例为文本片段中的每一个字符生成以语言为条件的字符概率集。每一个以语言为条件的字符概率指示字符和在文本片段中的该字符之前的字符集与特定语言模型一致的程度(例如,在一些实施例中,字符概率是与考虑在文本片段中的字符之前的字符集,如果有的话,的语言模型一致的度量)。典型地,将在字符之前的字符集限制在较小数量(例如,4-8个字符),使得基于模型,给予合成词和其他联合词中的字符强概率值。可选地,将以语言为条件的字符概率与文本质量的其他指示符(例如,OCR模块620所提供的置信水平)相组合来为文本片段中的每一个字符生成文本质量分值。这样的值的计算允许文本质量的特定于位置的分析。
文本评估引擎1710将与文本片段中的字符相关联的文本质量分值集相组合来生成表征该文本片段的质量的质量分值。在一个示例中,文本评估引擎1710对与文本片段中的字符相关联的文本质量分值求平均来生成质量分值。替选地,文本评估引擎以将比文本片段的其他分值(例如,与高质量相关联的分值)或部分更大的权重给予文本片段的部分分值(例如,与低质量相关联的分值)或部分的方式,将与文本片段中的字符相关联的文本质量分值相组合。
代码生成模块1720获取或生成规范源文档以供在客户端系统102上显示。待被显示的规范源文档可以是文档的图像版本或规范源文档的文本版本。
文档生成模块1730生成包括规范源文档的部分的结果文档,并且将其提供给发出请求的客户端系统102。在一个实施例中,所生成的结果文档是使用超文本标记语言(HTML)来形成的网页。其他实施例生成不是网页的结果文档,诸如以可移植文档格式(PDF)的文档或XML文档。
为了生成结果文档以供呈现,文档生成模块1730基于从视觉查询提取并且如上所述被评分的高质量文本字符串,来识别客户端系统102正请求的规范源文档(例如,出版物)以及部分。从数据存储1750检索规范源文档。在一些实施例中,文档生成模块1730从包括来自视觉查询的高质量文本字符串的规范源文档(例如,规范源文档的源图像)检索图像片段。在其他实施例中,文档生成模块1730从包括来自视觉查询的高质量文本字符串的所识别的规范源文档检索文本片段(在本文有时被称为规范文本)。替选地,其可以检索两者。
在一些实施例中,当经OCR的文本变得可用时,文档生成模块1730生成结果文档。替选地,文档生成模块1730根据需求(例如,根据来自客户端系统102的请求)动态生成结果文档。在后一情况下,关于视觉查询的搜索结果包括用于从OCR搜索系统112-B或从另一个服务器获取规范源文档的链接。
在一些实施例中,文档生成模块1730将视觉查询与对应规范源文档的一个或多个相关部分相组合来生成看起来是视觉查询的清理或修复版本的结果。例如,文档生成模块1730可以使规范源文档的文本部分叠加在包括与规范源文档的该文本部分相对应的文本的对应视觉查询的部分上。在一些实施例中,当生成该组合时,使规范源文档部分取向与视觉查询的取向相匹配。例如,如果使视觉查询取向为使得以45度角显示文本,则对应规范源文档部分在与视觉查询相组合时以基本上相同的方式来取向。
I/O模块1740管理文本匹配应用632的输入和输出。例如,I/O模块1740将从OCR模块620接收到的数据存储在数据存储1750中,并且激活文本评估引擎1710来生成对应质量分值。作为另一个示例,I/O模块1740从客户端系统102接收请求,并且激活文档生成模块1730来作为响应,提供所请求的文档。如果I/O模块1740接收对图像片段的请求,则I/O模块1740从数据存储1750检索图像片段,并且将其提供给客户端系统102。在一个实施例中,I/O模块1740在将图像片段返回给客户端系统102之前对其进行处理。例如,I/O模块1740可以基于用于显示文档的客户端系统的显示设备的分辨率,对图像片段的大小和/或分辨率进行调整。
数据存储1750存储文本匹配应用632所使用的数据。这样的数据的示例包括经OCR的文本和相关联的信息(例如,质量分值、位置信息)、源图像以及所生成的文档。数据存储1750可以将前述数据(例如,经OCR的文本和相关联的信息)存储在关系数据库或任何其他类型的数据库中。
图18是根据一些实施例的、用于响应于视觉查询而检索规范源文档(或规范源文档的相关部分)的过程的流程图。向前端服务器(图6,110)提供视觉查询(图12,1200)。前端服务器110将该视觉查询发送给多个搜索系统,其中的一个是OCR搜索系统(图8,112-B)。如上所述,OCR搜索系统112-B的OCR模块620将视觉查询图像转换成可编辑的文本(经OCR的文本)。OCR模块620还生成并输出描述在源图像中的包含经OCR的文本的图像片段的位置信息。然后,文本评估引擎1710对该经OCR的文本进行评分。文本评估引擎1710为每一个字符生成部分基于其邻近字符的质量分值的质量分值。文本评估引擎1710然后为文本片段生成质量分值。将接收(高于设置阈值的)高质量分值的文本片段发送给文档生成模块1730。文档生成模块通过找到与高质量文本片段的匹配,来检索存储在数据存储1750中的规范源文档。文档生成模块可以返回该规范源文档的图像版本、文本版本、或图像和文本版本两者。在一些实施例中,前端服务器或OCR服务器选择与视觉查询相匹配的规范源文档的部分来返回给客户端系统。在其他实施例中,将整个规范源文档返回给发出请求的客户端设备。
图19是图示用于识别视觉查询中的高质量文本串、以及返回包含该文本串的规范源文档的至少部分的过程的流程图。图19中所示的操作中的每一个典型地对应于存储在计算机存储器或非暂时性计算机可读存储介质中的指令。具体地,许多操作对应于用于OCR搜索系统112-B的指令,在本文参考图8、16、17和18论述了其模块。
如参考图2所说明的,前端搜索系统110从客户端系统接收视觉查询1200(图12)。搜索系统将该视觉查询发送给多个搜索系统,包括OCR搜索系统112-B。OCR搜索系统接收该视觉查询(1900)。OCR模块620对该视觉查询执行光学字符识别来产生表示文本字符的文本识别数据(1902)。在一些实施例中,文本字符包括在视觉查询的连续区域内的多个字符。文本评估引擎1710对在该多个文本字符中的每一个文本字符进行评分(1904)。在一些实施例中,文本评估引擎为每一个字符生成以语言为条件的字符概率(1906)。在一些实施方式中,以语言为条件的字符概率基于邻近字符。例如,在一些实施例中,以语言为条件的字符概率指示字符和在该字符之前的字符集与特定语言模型(例如,用于特定语言的语言模型、或用于如在特定地理区域说的或使用的特定语言的语言模型)一致的程度。
在一些实施例中,文本评估引擎1710然后为每一个字符或符号生成文本质量分值(1908)。可选地,为字符单独计算单个字符或符号的文本质量分值。替选地,每一个字符或符号的分值受其邻近字符影响(1910)。在一些实施例中,评分是二进制的(1912)。例如,将每一个字符评分为高质量文本字符或低质量文本字符。在一些实施例中,使转变成本与每一个字符相关联,使得转变成本越高,越可能与字符的邻居类似地对该字符进行评分。例如,给定典型非零转变成本,如果邻近字符被评分为高质量,则当前字符也比如果当前字符不考虑其邻居或不受其邻居影响被孤立地评分更可能被评分为高质量。
文本评估引擎1710还为文本片段生成分值。使用文本片段分值,识别一个或多个高质量文本串(1914)。每一个识别的高质量文本串包括来自视觉查询的连续区域中的多个文本字符之中的多个高质量文本字符。在一些实施例中,根据包括相应词的文本字符的文本字符分值对视觉查询中的词进行评分(产生词分值)(1916)。然后,根据词分值,识别一个或多个高质量文本串,其每一个包括多个高质量文本词(1914)。
文档生成模块1730识别并检索包含一个或多个识别的高质量文本串的规范源文档(1918)。从数据存储1750检索规范源文档。然后,将规范源文档的至少部分发送给客户端系统(1920)。
在一些实施例中,被返回的规范源文档的部分是图像片段(1922)。在其他实施例中,被返回的规范源文档的部分是机器可读文本片段(1924)。用语“机器可读文本”意为编码的文本,诸如Unicode或ASCII编码的文本,其是在不必首先将图像转换成编码的文本字符或符号的情况下,机器可读的。在一些实施例中,所返回的规范源文档的类型取决于一个或多个高质量文本串的质量分值。在一些实施例中,当存在多于一个识别的高质量文本串时,将分值相组合来产生单个质量分值。例如,在一个实施方式中,组合的质量分值是所识别的高质量文本串的最高(即,最好)分值。在另一个实施方式中,组合的质量分值是所识别的高质量串的平均分值。在又另一个实施方式中,组合的质量分值是在移除任何局外者(例如,其分值不同于所识别的高质量串的平均或中间分值超过两个西格玛的串)之后所识别的高质量串的平均分值。在一些实施例中,当质量分值低于预确定值时,返回规范源文档的图像版本,以及当质量分值高于预确定值时,返回规范源文档的文本版本。
在一些实施例中,将原始查询与规范源文档图像片段和规范源文档文本片段两者一起返回给客户端系统。如此,所有三个均被提供以向用户同时呈现。以这种方式,查看者可以确定他更喜欢哪个版本。例如,用户可能希望只阅读在纽约时报中所写的文章、或他可能希望看见文章,如同其出现在出版的报纸的页面上样,包括在该报纸页面上的任何图片、图表以及广告。
图20图示为是书籍中的页面的一部分的视觉查询1200返回的结果列表1500和规范源文档部分的实施例的客户端系统显示。在该实施例中,视觉查询1200是叫做“Charles:Victim or Villain”的书籍的一部分的照片。视觉查询1200是低质量的。实际上,其几乎不可能阅读,因为其模糊不清,并且页面是歪曲的。搜索系统使用将该视觉查询图像转换成了经OCR的文本的OCR搜索系统112-B(图8)来识别了该查询,并且找到了然后被用来检索匹配的规范源文档的高质量文本串,如参考图19所说明的。在该实施例中,以两种格式提供了与视觉查询相匹配的规范源文档的部分。提供了规范源文档的图像片段2002。该图像片段与文本2004和视觉(或非文本)元素2006两者相匹配。还提供了规范源文档的机器可读文本片段2008。在一些实施例中,客户端系统或设备102包括复制和粘贴指令,其用于与在其他文档中的文本可以被复制并粘贴几乎一样的方式,从机器可读文本片段2008复制文本,并且将复制的文本粘贴到客户端设备上的其他文档或应用中。
除以两种格式提供规范源文档外,在一些实施例中,使用规范源文档信息来搜索其他视觉查询搜索系统,并且提供以结果列表1500所示的额外相关结果。在该实施例中,额外搜索结果包括书籍的产品匹配1506、书籍的评论以及数个web结果1514。视觉查询服务器系统106(例如,在前端服务器110内或由前端服务器110调用的搜索引擎系统)使用来自规范源文档的文本来识别并提供这些额外搜索结果,从而提供可能对用户来说感兴趣的额外信息。例如,一旦识别了与经OCR的文本相匹配的规范源文档,将文档的标题和/或从文档提取的其他信息和/或识别文档的引文信息以文本查询形式提供给搜索引擎系统(例如,图1,搜索系统112-N),来获取web结果1514。
图21A-21B是根据一些实施例的、用于识别视觉查询中的高质量文本串、识别与所识别的高质量文本串相对应的规范文档、以及生成规范源文档的至少部分与视觉查询的组合的过程的流程图。图21A-21B中所示的操作中的每一个对应于存储在计算机存储器或非暂时性计算机可读存储介质中的指令。具体地,许多操作对应于用于OCR搜索系统112-B的指令,在本文参考图8、16、17和18论述了其模块。
图21A-21B中所示的部分操作对应于在上面参考图19所述的某些操作(例如,操作1900、1902至1918)。
如参考图2所说明的,前端搜索系统110从客户端系统接收视觉查询1200(图12)。搜索系统将该视觉查询发送给多个搜索系统,包括OCR搜索系统112-B。OCR搜索系统接收该视觉查询(1900)。OCR模块620对该视觉查询执行光学字符识别来产生表示文本字符的文本识别数据(1902)。在一些实施例中,文本字符包括在视觉查询的连续区域内的多个字符。文本评估引擎1710对在该多个文本字符中的每一个文本字符进行评分(1904)。在一些实施例中,文本评估引擎为每一个字符生成以语言为条件的字符概率(1906)。在一些实施方式中,以语言为条件的字符概率基于邻近字符。例如,在一些实施例中,以语言为条件的字符概率指示字符和在该字符之前的字符集与特定语言模型一致的程度。
在一些实施例中,文本评估引擎1710然后为每一个字符或符号生成文本质量分值(1908)。可选地,为字符单独计算单个字符或符号的文本质量分值。替选地,每一个字符或符号的分值受其邻近字符影响(1910)。在一些实施例中,评分是二进制的(1912)。例如,将每一个字符评分为高质量文本字符或低质量文本字符。在一些实施例中,使转变成本与每一个字符相关联,使得转变成本越高,越可能与字符的邻居类似地对该字符进行评分。例如,给定典型非零转变成本,如果邻近字符被评分为高质量,则当前字符也比如果当前字符不考虑其邻居或不受其邻居影响被孤立地评分更可能被评分为高质量。
文本评估引擎1710还为文本片段生成分值。使用文本片段分值,识别一个或多个高质量文本串(1914)。每一个识别的高质量文本串包括来自视觉查询的连续区域中的多个文本字符之中的多个高质量文本字符。在一些实施例中,根据包括相应词的文本字符的文本字符分值对视觉查询中的词进行评分(产生词分值)(1916)。然后,根据词分值,识别一个或多个高质量文本串,其每一个包括多个高质量文本词(1914)。
文档生成模块1730识别并检索包含一个或多个高质量文本串的规范源文档(1918)。从数据存储1750检索所识别的规范源文档。
生成视觉查询和所识别的规范源文档的至少部分的组合(2102)。在一些实施方式中,文档生成模块1730将视觉查询与规范源文档的相关部分相组合来生成给出视觉查询的清理或修复版本的外观的结果。在一些实施例中,通过将规范源文档的部分叠加到视觉查询上来生成组合(2108)。在一个示例中,将规范源文档的文本部分叠加到包括规范源文档的该文本部分的视觉查询的部分上。
在一些实施例中,与视觉查询相组合的规范源文档的部分是图像片段(2104)。在一些实施例中,图像片段与视觉查询的文本和视觉(或非文本)元素两者相匹配。在一些其他实施例中,与视觉查询相组合的规范源文档的部分是机器可读文本片段(2106)。用语“机器可读文本”意为编码的文本,诸如Unicode或ASCII编码的文本,其是在不必首先将图像转换成编码的文本字符或符号的情况下,机器可读的。在一些实施例中,用于组合的规范源文档的类型取决于高质量文本串的质量分值。如在上面参考图19更详细说明的,在一些实施例中,当存在多于一个识别的高质量文本串时,将分值相组合来产生单个分值。在一些实施例中,当质量分值低于预确定值时,返回规范源文档的图像版本,以及当质量分值高于预确定值时,返回规范源文档的文本版本。
在一些实施例中,在组合中使规范源文档的部分根据视觉查询的取向来取向(2110)。规范源文档部分当与视觉查询相组合时被取向来与视觉查询的取向基本上匹配。例如,如果使视觉查询以45度角取向,使得文本以相同角度取向,则使规范源文档部分取向来与视觉查询的取向相匹配。
将组合发送给客户端系统(2112)以作为视觉查询的OCR结果显示。在一些实施例中,将原始视觉查询与视觉查询和规范源文档部分的组合一起返回给客户端系统。如此,两者均被提供以向用户同时呈现。
图22图示为视觉查询1200返回的结果列表1500(在上面参考图15和20所述)以及视觉查询1200和规范源文档部分的组合2102的实施例的客户端系统显示。在该示例中,规范源文档部分是书籍中的页面的一部分。在该实施例中,视觉查询1200是叫做“Charles:Victim orVillain”的书籍的一部分的照片。视觉查询1200是低质量的;视觉查询1200模糊不清,并且在视觉查询1200中捕捉的页面是歪曲的。搜索系统使用将该视觉查询图像转换成了经OCR的文本的OCR搜索系统112-B(图8)来识别了该查询,并且找到了然后被用来识别并检索匹配的规范源文档的高质量文本串,如参考图19和21A-21B所说明的。在该实施例中,提供了视觉查询1200和规范源文档的部分的组合2102。将规范源文档部分2104叠加在视觉查询1200上,其中作为结果的组合2102具有仍然可见的视觉查询的部分2106以及规范源文档部分2104。在一些实施方式中,规范源文档部分2104是规范源文档的图像片段或规范源文档的机器可读文本片段,例如文本片段2008。在一些实施例中,客户端系统或设备102包括复制和粘贴指令,其用于与在其他文档中的文本可以被复制并粘贴几乎一样的方式,从机器可读文本片段2008复制文本,并且将复制的文本粘贴到客户端设备上的其他文档或应用中。
除提供视觉查询和规范源文档部分的组合外,在一些实施例中,使用规范源文档信息来搜索其他视觉查询搜索系统,并且提供与视觉查询相关的额外搜索结果,如在结果列表1500中所示的。在该实施例中,额外搜索结果包括书籍的产品匹配1506、书籍的评论以及数个web结果1514。如在上面参考图15所述,在一些实施例中,视觉查询服务器系统106使用来自规范源文档的文本来识别并提供这些额外搜索结果,从而提供可能对用户来说感兴趣的额外信息。
图23是图示根据一些实施例的、用于识别视觉查询中的高质量文本串和与在视觉查询中的文本串相关联的结构信息、识别与在规范源文档内与结构信息一致的位置处的所识别的高质量文本串相对应的规范源文档、以及生成规范源文档的至少部分与视觉查询的组合的过程的流程图。图23中所示的操作中的每一个对应于存储在计算机存储器或计算机可读存储介质中的指令。具体地,许多操作对应于用于OCR搜索系统112-B的指令,在本文参考图8、16、17和18论述了其模块。
图23中所示的部分操作对应于在上面参考图19所述的某些操作(例如,操作1900、1904-1916以及1920-1924等)。
如参考图2所说明的,前端搜索系统110从客户端系统接收视觉查询1200(图12)。搜索系统将该视觉查询发送给多个搜索系统,包括OCR搜索系统112-B。OCR搜索系统接收该视觉查询(1900)。OCR模块620对该视觉查询执行光学字符识别来产生表示文本字符的文本识别数据和与文本字符相关联的结构信息(2302)。在一些实施例中,文本字符包括在视觉查询的连续区域内的多个字符。在一些实施例中,结构信息包括下述中的一个或多个:文本字符在视觉查询中的相对位置、文本字符在视觉查询中的相对大小、文本字符在视觉查询中的排序、文本字符在视觉查询中的计数、以及文本字符的字体类别(2304)。字符的相对位置包括字符相对于彼此的位置和字符相对于视觉查询中的参考点元素(例如,页边空白、页面边缘、非文本对象、换行符等)的位置。在一些实施方式中,文本字符的排序包括词顺序。在一些实施方式中,文本字符的计数包括每行词计数。
文本评估引擎1710对在该多个文本字符中的每一个文本字符进行评分(1904)。在一些实施例中,文本评估引擎为每一个字符生成以语言为条件的字符概率(1906)。在一些实施方式中,以语言为条件的字符概率基于邻近字符。例如,在一些实施例中,以语言为条件的字符概率指示字符和在该字符之前的字符集与特定语言模型一致的程度。
在一些实施例中,文本评估引擎1710然后为每一个字符或符号生成文本质量分值(1908)。可选地,为字符单独计算单个字符或符号的文本质量分值。替选地,每一个字符或符号的分值受其邻近字符影响(1910)。在一些实施例中,评分是二进制的(1912)。例如,将每一个字符评分为高质量文本字符或低质量文本字符。在一些实施例中,使转变成本与每一个字符相关联,使得转变成本越高,越可能与字符的邻居类似地对该字符进行评分。例如,给定典型非零转变成本,如果邻近字符被评分为高质量,则当前字符也比如果当前字符不考虑其邻居或不受其邻居影响被孤立地评分更可能被评分为高质量。
文本评估引擎1710还为文本片段生成分值。使用文本片段分值,识别一个或多个高质量文本串(1914)。每一个识别的高质量文本串包括来自视觉查询的连续区域中的多个文本字符之中的多个高质量文本字符。在一些实施例中,根据包括相应词的文本字符的文本字符分值对视觉查询中的词进行评分(产生词分值)(1916)。然后,根据词分值,识别一个或多个高质量文本串,其每一个包括多个高质量文本词(1914)。
文档生成模块1730识别并检索包含所识别的高质量文本串中的一个或多个并且与结构信息一致(例如,在规范源文档内的与结构信息一致的位置处包含所识别的高质量文本串)的规范源文档(2306)。从数据存储1750检索规范源文档。然后,将规范源文档的至少部分发送给客户端系统(1920)。文本中的结构方面可以跨相同书籍的不同版本而不同(例如,不同的词在行中作为第一词、换行符在句子中的不同位置处等),因此,产生不同的结构信息。当文档生成模块1730查找规范源文档来检索时,其查找以与视觉查询中所识别的结构信息最一致的方式包括所识别的一个或多个高质量文本串的规范源文档,即,其结构信息是与视觉查询的结构信息最接近的匹配的规范源文档。
当至少一个匹配的规范源文档在数据存储1750中存在并可用时,文档生成模块1730识别数据存储1750中的、其结构信息与视觉查询一致高于预定义阈值的规范源文档(如果有的话),并且检索该规范源文档。如果在数据存储1750中不存在这样的规范源文档,则文档生成模块1730识别其结构信息与视觉查询最一致而不管阈值的规范源文档,并且检索该规范源文档。在一些其他实施例中,如果在数据存储1750中不存在其结构信息一致高于阈值的规范源文档,则文档生成模块1730在不考虑结构信息的情况下,检索规范源文档。
在一些实施例中,被返回的规范源文档的部分是图像片段(1922)。在其他实施例中,被返回的规范源文档的部分是机器可读文本片段(1924)。用语“机器可读文本”意为编码的文本,诸如Unicode或ASCII编码的文本,其是在不必首先将图像转换成编码的文本字符或符号的情况下,机器可读的。在一些实施例中,所返回的规范源文档的类型取决于高质量文本串的质量分值。如在上面参考图19更详细说明的,在一些实施例中,当存在多于一个识别的高质量文本串时,将分值相组合来产生单个质量分值。在一些实施例中,当质量分值低于预确定值时,返回规范源文档的图像版本,以及当质量分值高于预确定值时,返回规范源文档的文本版本。
在一些实施例中,将原始查询与规范源文档图像片段和规范源文档文本片段两者一起返回给客户端系统。如此,所有三个均被提供以向用户同时呈现。以这种方式,查看者可以确定他更喜欢哪个版本。例如,用户可能希望只阅读在纽约时报中所写的文章、或他可能希望看见文章如同其出现在出版的报纸的页面上样,包括在该报纸页面上的任何图片、图表以及广告。
图24图示具有不同结构信息的规范源文档部分。图24示出了视觉查询1200以及关于视觉查询1200中的文本的两个规范源文档部分2402和2404。规范源文档部分2402和2404具有不同的结构信息。例如,行包括不同的词集,以及词相对于彼此的位置在两个规范源文档部分之间不同。在图24中,规范源文档部分2402具有与视觉查询1200的结构信息最一致的结构信息,因此,将是文本匹配应用632(或,更一般地,视觉查询服务器系统106)所识别、从数据存储1750所检索并且被发送给提交了该视觉查询的客户端系统的规范源文档。
图25A-25B是图示根据一些实施例的、用于识别视觉查询中的高质量文本串,包括根据从之接收视觉查询的相应客户端系统的地理位置对视觉查询中的文本字符进行评分、以及返回包含匹配的文本串的规范源文档的至少部分的过程的流程图。图25A-25B中所示的操作中的每一个对应于存储在计算机存储器或非暂时性计算机可读存储介质中的指令。具体地,许多操作对应于用于OCR搜索系统112-B的指令,在本文参考图8、16、17和18论述了其模块。
图25A-25B中所示的部分操作对应于在上面参考图19所述的某些操作(例如,操作1902、1908-1924)。
如参考图2所说明的,前端搜索系统110从相应客户端系统接收视觉查询1200(图12)。在一些实施例中,前端搜索系统110还接收客户端系统的地理位置(例如,如由如图5中所示的、相应客户端系统中的GPS接收器或其他位置检测装置707所确定的地理位置)。搜索系统将该视觉查询和地理位置发送给多个搜索系统,包括OCR搜索系统112-B。OCR搜索系统接收该视觉查询和客户端系统的地理位置(2500)。
OCR模块620对该视觉查询执行光学字符识别来产生表示文本字符的文本识别数据(1902)。在一些实施例中,文本字符包括在视觉查询的连续区域内的多个字符。文本评估引擎1710对在该多个文本字符中的每一个文本字符进行评分,包括根据客户端系统的地理位置对该多个文本字符中的每一个文本字符进行评分(2502)。在一些实施例中,文本评估引擎为每一个字符生成以语言为条件的字符概率(2504)。在一些实施例中,以语言为条件的字符概率基于邻近字符。以语言为条件的字符概率指示字符和在该字符之前的字符集与根据客户端系统的地理位置所选择的语言模型一致的程度。通过使用基于从之接收视觉查询的客户端系统的地理位置(例如,根据所述地理位置选择)的语言模型,对各个字符的评分根据客户端系统的地理位置,并且可以说明在地区之间的语言的地区变化。例如,对相同词的拼写在地区之间可能不同(例如,美式英语相对于英式英语的拼写),以及部分词可能在一个地区比另一个地区更流行(例如,某些词在美国的东海岸地区比在美国的别的地方更流行)。
在一些实施例中,OCR搜索系统112-B,当对视觉查询中的文本执行字符识别时,对其字符识别算法进行调整来查找在客户端系统的地理位置更流行的词或以特定于客户端系统的地理位置的方式拼写的词。
在一些实施例中,文本评估引擎1710然后为每一个字符或符号生成文本质量分值(1908)。可选地,为字符单独计算单个字符或符号的文本质量分值。替选地,每一个字符或符号的分值受其邻近字符影响(1910)。在一些实施例中,评分是二进制的(1912)。例如,将每一个字符评分为高质量文本字符或低质量文本字符。在一些实施例中,使转变成本与每一个字符相关联,使得转变成本越高,越可能与字符的邻居类似地对该字符进行评分。例如,给定典型非零转变成本,如果邻近字符被评分为高质量,则当前字符也比如果当前字符不考虑其邻居或不受其邻居影响被孤立地评分更可能被评分为高质量。
文本评估引擎1710还为文本片段生成分值。使用文本片段分值,识别一个或多个高质量文本串(1914)。每一个文本串包括来自视觉查询的连续区域中的多个文本字符之中的多个高质量文本字符。在一些实施例中,根据包括相应词的文本字符的文本字符分值对视觉查询中的词进行评分(产生词分值)(1916)。然后,根据词分值,识别一个或多个高质量文本串,其每一个包括多个高质量文本词(1914)。
文档生成模块1730(或更一般地,文本匹配应用632或视觉查询服务器系统106)识别并检索包含一个或多个高质量文本串的规范源文档(1918)。从数据存储1750检索规范源文档。然后,将规范源文档的至少部分发送给客户端系统(1920)。
在一些实施例中,被返回的规范源文档的部分是图像片段(1922)。在其他实施例中,被返回的规范源文档的部分是机器可读文本片段(1924)。用语“机器可读文本”意为编码的文本,诸如Unicode或ASCII编码的文本,其是在不必首先将图像转换成编码的文本字符或符号的情况下,机器可读的。在一些实施例中,所返回的规范源文档的类型取决于高质量文本串的质量分值。如在上面参考图19更详细说明的,在一些实施例中,当存在多于一个识别的高质量文本串时,将分值相组合来产生单个质量分值。在一些实施例中,当质量分值低于预确定值时,返回规范源文档的图像版本,以及当质量分值高于预确定值时,返回规范源文档的文本版本。
在一些实施例中,将原始查询与规范源文档图像片段和规范源文档文本片段两者一起返回给客户端系统。如此,所有三个均被提供以向用户同时呈现。以这种方式,查看者可以确定他更喜欢哪个版本。例如,用户可能希望只阅读在纽约时报中所写的文章、或他可能希望看见文章如同其出现在出版的报纸的页面上样,包括在该报纸页面上的任何图片、图表以及广告。
在一些实施例中,服务器系统识别与视觉查询和客户端系统的地理位置相关的一个或多个万维网结果(2506),并且将web结果发送给客户端系统(2512)。在一些实施方式中,将web结果与原始查询和规范源文档片段一起发送。这些web结果与web结果1514(图20)相似,但是还与客户端系统的地理位置相关,也与视觉查询和规范源文档相关。
在一些实施例中和/或在一些情况下,服务器系统识别在一个或多个高质量文本串内的地理词语(2508),并且识别与(在高质量文本串的一个或多个中的)所识别的地理词语和客户端系统的地理位置两者相关联的一个或多个web结果(2510)。例如,如果视觉查询是剪报的图像,剪报中的文本包括城市或自治市名“斯普林菲尔德(Springfield)”,但是没有任何另外的消歧文本,以及客户端系统在伊利诺伊州(Illinois),则服务器系统识别与伊利诺伊州的斯普林菲尔德相关的web结果,而不是名为斯普林菲尔德的其他城市或自治市(例如,马萨诸塞州的斯普林菲尔德;俄亥俄州的斯普林菲尔德等)。换句话说,使用客户端系统的地理位置来对在经OCR的文本中的有歧义的位置名称进行消歧。
图26图示依据一些实施例的、响应于视觉查询2600而返回的结果列表2606和规范文档部分的客户端系统显示。在该示例中,视觉查询2600是报纸文章的一部分的照片(例如,嵌入在移动电话中的相机或图像传感器710所拍摄的照片或其他图像),其有时被称为剪报。客户端设备位于加拿大,如通过客户端系统中的GPS接收器或其他位置检测装置707(图5)所确定的。视觉查询2600是低质量的;该视觉查询图像模糊不清,并且页面是歪曲的。视觉查询服务器系统使用将该视觉查询图像转换成了经OCR的文本的OCR搜索系统112-B(图8)来对该查询进行了处理,并且找到了然后被用来检索匹配的规范源文档的高质量文本串,如参考图25A-25B所说明的。根据客户端系统的地理位置(加拿大),经OCR的文本包括根据加拿大英语拼写的词(例如,centre、honour)。在该实施例中,以两种格式提供了与视觉查询相匹配的规范源文档的部分。提供了规范源文档的图像片段2602。该图像片段与视觉查询的文本和如果有的话,视觉(或非文本)元素两者相匹配。还提供了规范源文档的机器可读文本片段(在本文有时被称为规范文本)2604。在一些实施例中,客户端系统或设备102包括复制和粘贴指令,其用于与在其他文档中的文本可以被复制并粘贴几乎一样的方式,从机器可读文本片段2604复制文本,并且将复制的文本粘贴到客户端设备上的其他文档或应用中。
除以两种格式提供规范源文档外,在一些实施例中,图1,一个或多个另外搜索系统112-N还使用规范源文档信息来提供结果列表2606中所示的另外相关结果中的一个或多个。在该实施例中,另外搜索结果包括数个web结果2608。Web结果包括与在规范源文档文本中的位置名称(伦敦)和客户端系统的地理位置(加拿大)相关的结果。因此,web结果2608包括与加拿大安大略省的伦敦相关的web结果,而不是比方说英格兰的伦敦或肯塔基州的伦敦。规范文本在提供可能对用户来说感兴趣的这些另外搜索结果时是有用的。
出于说明目的,参考具体实施例描述了前面的描述。然而,在上面的说明性论述并不意在是穷尽的或将本发明限制在所公开的精确形式。鉴于上面的教导,许多修改和变化是可能的。为了最佳说明本发明的原理及其实际应用,选择并描述了实施例,从而使本领域技术人员能够以适于预期的特定用途的各种修改最佳利用本发明和各种实施例。
Claims (22)
1.一种处理视觉查询的计算机实现的方法,包括:
在具有一个或多个处理器和存储一个或多个程序以供所述一个或多个处理器执行的存储器的服务器系统上:
从客户端系统接收视觉查询;
对所述视觉查询执行光学字符识别(OCR)来产生表示文本字符的文本识别数据,所述文本字符包括在所述视觉查询的连续区域中的多个文本字符;
对在所述多个文本字符中的每一个文本字符进行评分;
根据所述评分,识别一个或多个高质量文本串,每一个高质量文本串包括来自在所述视觉查询的所述连续区域中的所述多个文本字符之中的多个高质量文本字符;
根据所述一个或多个高质量文本串,识别与所述视觉查询相匹配的规范源文档;
检索包含所述一个或多个高质量文本串的所述规范源文档;以及
将所述规范源文档的至少部分发送给所述客户端系统。
2.根据权利要求1所述的方法,其中所述规范源文档的所述部分是所述规范源文档的图像片段。
3.根据权利要求1所述的方法,其中所述规范源文档的所述部分是所述规范源文档的机器可读文本片段。
4.根据权利要求1所述的方法,其中所述识别高质量串包括:
根据包括相应词的所述文本字符的文本字符分值对多个词中的每一个进行评分;以及
根据所述词分值,识别一个或多个高质量文本串,每一个高质量文本串包括多个高质量词。
5.根据权利要求1所述的方法,其中对相应文本字符进行评分包括将所述相应文本字符评分为高质量文本字符或低质量文本字符。
6.根据权利要求1所述的方法,其中对相应文本字符进行评分包括为所述相应文本字符生成以语言为条件的字符概率,其指示所述相应文本字符和文本片段中在所述相应文本字符之前的字符集与语言模型一致的程度。
7.根据权利要求1所述的方法,其中对相应文本字符的所述评分基于所述相应文本字符独自的OCR质量分值和一个或多个邻近文本字符的评分两者。
8.根据权利要求1所述的方法,其中所述发送包括发送所述视觉查询、规范源文档图像片段以及规范源文档机器可读文本片段以供同时呈现。
9.根据权利要求2所述的方法,其中呈现的所述图像片段视觉上与所述视觉查询的文本和非文本元素相匹配。
10.根据权利要求1所述的方法,其中所述检索规范源文档进一步包括:
计算所述一个或多个高质量文本串中的相应高质量文本串的质量分值;
如果所述质量分值低于预确定值,则检索所述规范源文档的图像版本;以及
如果所述质量分值在或高于预确定值,则检索所述规范源文档的机器可读文本版本。
11.一种用于处理视觉查询的服务器系统,包括:
一个或多个中央处理单元,用于执行程序;
存储器,存储由所述一个或多个中央处理单元执行的一个或多个程序;
所述一个或多个程序包括用于下述的指令:
从客户端系统接收视觉查询;
对所述视觉查询执行光学字符识别(OCR)来产生表示文本字符的文本识别数据,所述文本字符包括在所述视觉查询的连续区域中的多个文本字符;
对在所述多个文本字符中的每一个文本字符进行评分;
根据所述评分,识别一个或多个高质量文本串,每一个高质量文本串包括来自在所述视觉查询的所述连续区域中的所述多个文本字符之中的多个高质量文本字符;
根据所述一个或多个高质量文本串,识别与所述视觉查询相匹配的规范源文档;
检索包含所述一个或多个高质量文本串的所述规范源文档;以及
将所述规范源文档的至少部分发送给所述客户端系统。
12.根据权利要求11所述的系统,其中用于识别高质量串的所述指令包括用于下述步骤的指令:
根据包括相应词的所述文本字符的文本字符分值对多个词中的每一个进行评分;以及
根据所述词分值,识别一个或多个高质量文本串,每一个高质量文本串包括多个高质量词。
13.根据权利要求11所述的系统,其中用于对相应文本字符进行评分的所述指令包括用于下述步骤的指令:
将所述相应文本字符评分为高质量文本字符或低质量文本字符。
14.根据权利要求11所述的系统,其中用于对相应文本字符进行评分的所述指令包括用于下述步骤的指令:
为所述相应文本字符生成以语言为条件的字符概率,所述以语言为条件的字符概率指示所述相应文本字符和文本片段中在所述相应文本字符之前的字符集与语言模型一致的程度。
15.根据权利要求11所述的系统,其中用于对相应文本字符进行评分的所述指令基于所述相应文本字符独自的OCR质量分值和一个或多个邻近文本字符的评分两者。
16.根据权利要求11所述的系统,其中用于检索规范源文档的所述指令进一步包括用于下述步骤的指令:
计算所述一个或多个高质量文本串中的相应高质量文本串的质量分值;
如果所述质量分值低于预确定值,则检索所述规范源文档的图像版本;以及
如果所述质量分值在或高于预确定值,则检索所述规范源文档的机器可读文本版本。
17.一种存储被配置成供计算机执行的一个或多个程序的非暂时性计算机可读存储介质,所述一个或多个程序包括用于下述的指令:
从客户端系统接收视觉查询;
对所述视觉查询执行光学字符识别(OCR)来产生表示文本字符的文本识别数据,包括在所述视觉查询的连续区域中的多个文本字符;
对在所述多个文本字符中的每一个文本字符进行评分;
根据所述评分,识别一个或多个高质量文本串,每一个高质量文本串包括来自在所述视觉查询的所述连续区域中的所述多个文本字符之中的多个高质量文本字符;
根据所述一个或多个高质量文本串,识别与所述视觉查询相匹配的规范源文档;
检索包含所述一个或多个高质量文本串的所述规范源文档;以及
将所述规范源文档的至少部分发送给所述客户端系统。
18.根据权利要求17所述的计算机可读存储介质,其中用于识别高质量串的所述指令包括用于下述的指令:
根据包括相应词的所述文本字符的文本字符分值对多个词中的每一个进行评分;以及
根据所述词分值,识别一个或多个高质量文本串,每一个高质量文本串包括多个高质量词。
19.根据权利要求17所述的计算机可读存储介质,其中用于对相应文本字符进行评分的所述指令包括用于下述步骤的指令:
将所述相应文本字符评分为高质量文本字符或低质量文本字符。
20.根据权利要求17所述的计算机可读存储介质,其中用于对相应文本字符进行评分的所述指令包括用于下述步骤的指令:
为所述相应文本字符生成以语言为条件的字符概率,其指示所述相应文本字符和文本片段中在所述相应文本字符之前的字符集与语言模型一致的程度。
21.根据权利要求17所述的计算机可读存储介质,其中用于对相应文本字符进行评分的所述指令基于所述相应文本字符独自的OCR质量分值和一个或多个邻近文本字符的评分两者。
22.根据权利要求17所述的计算机可读存储介质,其中用于检索规范源文档的所述指令进一步包括用于下述的指令:
计算所述一个或多个高质量文本串中的相应高质量文本串的质量分值;
如果所述质量分值低于预确定值,则检索所述规范源文档的图像版本;以及
如果所述质量分值在或高于预确定值,则检索所述规范源文档的机器可读文本版本。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41884210P | 2010-12-01 | 2010-12-01 | |
US61/418,842 | 2010-12-01 | ||
PCT/US2011/062930 WO2012075315A1 (en) | 2010-12-01 | 2011-12-01 | Identifying matching canonical documents in response to a visual query |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103493069A true CN103493069A (zh) | 2014-01-01 |
Family
ID=45420952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180066494.8A Pending CN103493069A (zh) | 2010-12-01 | 2011-12-01 | 响应于视觉查询识别匹配的规范文档 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2646949B1 (zh) |
CN (1) | CN103493069A (zh) |
AU (3) | AU2011336445B2 (zh) |
CA (1) | CA2819369C (zh) |
WO (1) | WO2012075315A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021174A (zh) * | 2014-05-30 | 2014-09-03 | 北京合辉信息技术有限公司 | 根据片段图像获取完整资源的方法、系统与应用 |
CN104615640A (zh) * | 2014-11-28 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 一种用于提供搜索关键词及进行搜索的方法与装置 |
CN105518678A (zh) * | 2015-06-29 | 2016-04-20 | 北京旷视科技有限公司 | 搜索方法、搜索装置、用户设备和计算机程序产品 |
CN108229518A (zh) * | 2017-02-15 | 2018-06-29 | 北京市商汤科技开发有限公司 | 基于语句的图像检测方法、装置和系统 |
CN110795910A (zh) * | 2019-10-10 | 2020-02-14 | 北京字节跳动网络技术有限公司 | 一种文本信息处理方法、装置、服务器及存储介质 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9170714B2 (en) | 2012-10-31 | 2015-10-27 | Google Technology Holdings LLC | Mixed type text extraction and distribution |
WO2014159998A1 (en) * | 2013-03-14 | 2014-10-02 | Motorola Mobility Llc | Text display and selection system |
WO2014154457A1 (en) * | 2013-03-29 | 2014-10-02 | Alcatel Lucent | Systems and methods for context based scanning |
US9767101B2 (en) * | 2014-06-20 | 2017-09-19 | Google Inc. | Media store with a canonical layer for content |
US9811352B1 (en) | 2014-07-11 | 2017-11-07 | Google Inc. | Replaying user input actions using screen capture images |
US9965559B2 (en) | 2014-08-21 | 2018-05-08 | Google Llc | Providing automatic actions for mobile onscreen content |
US10152540B2 (en) | 2014-10-10 | 2018-12-11 | Qualcomm Incorporated | Linking thumbnail of image to web page |
US9703541B2 (en) | 2015-04-28 | 2017-07-11 | Google Inc. | Entity action suggestion on a mobile device |
US10078803B2 (en) | 2015-06-15 | 2018-09-18 | Google Llc | Screen-analysis based device security |
US10970646B2 (en) | 2015-10-01 | 2021-04-06 | Google Llc | Action suggestions for user-selected content |
US10178527B2 (en) | 2015-10-22 | 2019-01-08 | Google Llc | Personalized entity repository |
US10055390B2 (en) | 2015-11-18 | 2018-08-21 | Google Llc | Simulated hyperlinks on a mobile device based on user intent and a centered selection of text |
US10535005B1 (en) | 2016-10-26 | 2020-01-14 | Google Llc | Providing contextual actions for mobile onscreen content |
US11237696B2 (en) | 2016-12-19 | 2022-02-01 | Google Llc | Smart assist for repeated actions |
US11030205B2 (en) * | 2017-12-13 | 2021-06-08 | Microsoft Technology Licensing, Llc | Contextual data transformation of image content |
CN112766269B (zh) * | 2021-03-04 | 2024-03-12 | 深圳康佳电子科技有限公司 | 一种图片文本检索方法、智能终端及存储介质 |
WO2023203388A1 (en) * | 2022-04-21 | 2023-10-26 | Bevvy Limited | System for identifying an item in a captured image |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0942389A2 (en) * | 1998-03-12 | 1999-09-15 | Canon Kabushiki Kaisha | Word grouping accuracy value generation |
WO2002017166A2 (en) * | 2000-08-24 | 2002-02-28 | Olive Software Inc. | System and method for automatic preparation and searching of scanned documents |
CN1369970A (zh) * | 2001-02-09 | 2002-09-18 | 胡笑平 | 使用前缀预测的位自适应编码方法 |
US20060085477A1 (en) * | 2004-10-01 | 2006-04-20 | Ricoh Company, Ltd. | Techniques for retrieving documents using an image capture device |
CN101310277A (zh) * | 2005-11-15 | 2008-11-19 | 皇家飞利浦电子股份有限公司 | 获得文本的表示的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6823084B2 (en) * | 2000-09-22 | 2004-11-23 | Sri International | Method and apparatus for portably recognizing text in an image sequence of scene imagery |
US20050083413A1 (en) * | 2003-10-20 | 2005-04-21 | Logicalis | Method, system, apparatus, and machine-readable medium for use in connection with a server that uses images or audio for initiating remote function calls |
-
2011
- 2011-12-01 CN CN201180066494.8A patent/CN103493069A/zh active Pending
- 2011-12-01 AU AU2011336445A patent/AU2011336445B2/en active Active
- 2011-12-01 WO PCT/US2011/062930 patent/WO2012075315A1/en active Search and Examination
- 2011-12-01 CA CA2819369A patent/CA2819369C/en active Active
- 2011-12-01 EP EP11802573.3A patent/EP2646949B1/en active Active
-
2017
- 2017-06-28 AU AU2017204419A patent/AU2017204419B2/en active Active
- 2017-12-04 AU AU2017272149A patent/AU2017272149B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0942389A2 (en) * | 1998-03-12 | 1999-09-15 | Canon Kabushiki Kaisha | Word grouping accuracy value generation |
WO2002017166A2 (en) * | 2000-08-24 | 2002-02-28 | Olive Software Inc. | System and method for automatic preparation and searching of scanned documents |
CN1369970A (zh) * | 2001-02-09 | 2002-09-18 | 胡笑平 | 使用前缀预测的位自适应编码方法 |
US20060085477A1 (en) * | 2004-10-01 | 2006-04-20 | Ricoh Company, Ltd. | Techniques for retrieving documents using an image capture device |
CN101310277A (zh) * | 2005-11-15 | 2008-11-19 | 皇家飞利浦电子股份有限公司 | 获得文本的表示的方法 |
Non-Patent Citations (1)
Title |
---|
何浩智: "字符识别中笔段及特征提取方法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021174A (zh) * | 2014-05-30 | 2014-09-03 | 北京合辉信息技术有限公司 | 根据片段图像获取完整资源的方法、系统与应用 |
CN104615640A (zh) * | 2014-11-28 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 一种用于提供搜索关键词及进行搜索的方法与装置 |
CN105518678A (zh) * | 2015-06-29 | 2016-04-20 | 北京旷视科技有限公司 | 搜索方法、搜索装置、用户设备和计算机程序产品 |
WO2017000109A1 (zh) * | 2015-06-29 | 2017-01-05 | 北京旷视科技有限公司 | 搜索方法、搜索装置、用户设备和计算机程序产品 |
CN108229518A (zh) * | 2017-02-15 | 2018-06-29 | 北京市商汤科技开发有限公司 | 基于语句的图像检测方法、装置和系统 |
CN110795910A (zh) * | 2019-10-10 | 2020-02-14 | 北京字节跳动网络技术有限公司 | 一种文本信息处理方法、装置、服务器及存储介质 |
CN110795910B (zh) * | 2019-10-10 | 2023-10-17 | 北京字节跳动网络技术有限公司 | 一种文本信息处理方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CA2819369C (en) | 2020-02-25 |
AU2011336445A1 (en) | 2013-07-11 |
AU2011336445B2 (en) | 2017-04-13 |
AU2017272149A1 (en) | 2017-12-21 |
CA2819369A1 (en) | 2012-06-07 |
AU2017272149B2 (en) | 2019-01-24 |
WO2012075315A1 (en) | 2012-06-07 |
EP2646949B1 (en) | 2018-10-03 |
AU2017204419A1 (en) | 2017-07-20 |
AU2017204419B2 (en) | 2017-09-07 |
EP2646949A1 (en) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017272149B2 (en) | Identifying matching canonical documents in response to a visual query | |
CN102625937B (zh) | 用于对视觉查询作出响应的体系结构 | |
US9087235B2 (en) | Identifying matching canonical documents consistent with visual query structural information | |
US8805079B2 (en) | Identifying matching canonical documents in response to a visual query and in accordance with geographic information | |
US9176986B2 (en) | Generating a combination of a visual query and matching canonical document | |
US9183224B2 (en) | Identifying matching canonical documents in response to a visual query | |
CN102822817B (zh) | 用于视觉查询的可采取动作的搜索结果 | |
CA2770186C (en) | User interface for presenting search results for multiple regions of a visual query | |
CN104021150B (zh) | 带有社交网络辅助的面部识别 | |
US9087059B2 (en) | User interface for presenting search results for multiple regions of a visual query |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140101 |
|
RJ01 | Rejection of invention patent application after publication |