Processing

Please wait...

Settings

Settings

Goto Application

1. CN103180846 - Image search

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ ZH ]
图像搜索


背景技术
用户可以与搜索引擎交互,以获得对于各种各样内容的搜索结果。然而,用于提供搜索结果的传统技术当遇到不同类型的内容时可能变得受限。例如,传统的搜索结果包括至具有简短文本描述的网站的链接。这些搜索结果一般响应于搜索请求中的关键字来提供。然而,这些传统技术的功能相对于其它类型的内容诸如图像可能受到限制。
发明内容
描述图像搜索技术。在一个或多个实现方式中,一个到另一个(one to another)至少部分基于图像的相似性,排序搜索结果中的图像。响应于搜索请求,提供具有排序图像的搜索结果。
在一个或多个实现方式中,接收具有指示至少两种或更多种不同类型的图像的至少一个项的搜索请求。响应于搜索请求,提供搜索结果。搜索结果包括定位于比第二类型的图像更靠近搜索结果的开头的第一类型的图像。第一类型的图像具有比第二类型更大数量的相似图像。
在一个或多个实现方式中,生成多个二进制字,每一个用于描述多个图像之中各自一个图像中的内容。一个或另一个比较多个二进制字,以确定各自图像的相似性。在所确定的这些图像的相似性的比较的基础上形成集群(cluster)。这些图像基于在各自集群中相似图像的数量来排名(rank),以便包括在将响应经由因特网接收的搜索查询而提供的搜索结果中。
提供这个概述部分来以简化的形式介绍下面在具体描述部分中进一步描述的概念的选择。这个概述部分并没有打算标识所请求保护的主题的关键特性或基本特性,也不打算用作辅助手段来确定所请求保护的主题的范围。
附图说明
参考附图来描述具体描述部分。在附图中,参考数字最左边的(一个或多个)数字标识该参考数字第一次出现在其中的附图。在说明书和附图的不同实例中相同参考数字的使用可以指示相似或相同的项。
图1是可操作来执行搜索的示例实现方式中的环境的示意图。
图2是将图1的搜索模块显示为处理图像以获得搜索结果以便提供给客户机的示例实现方式中的系统的示意图。
图3是描绘其中针对指示图像中的两种或更多种不同类型的内容的搜索请求配置搜索结果的示例实现方式中的程序的流程图。
图4是描绘其中在搜索结果中基于相似性来排序图像的示例实现方式中的程序的流程图。
图5是描绘其中二进制字被生成来描述图像中的内容并被用作比较的基础来一个到另一个确定图像的相似性的示例实现方式中的程序的流程图。
具体实施方式
概述
传统的执行搜索的技术在遇到不同类型的内容时可能受到限制。例如,传统的用于搜索网页的技术在被请求搜索特定图像时可能提供难以破译的搜索结果。
描述图像搜索技术。在一个或多个实现方式中,采用可能有助于区分不同类型的图像的搜索技术。例如,可能接收可以与不同的人物、地点或事件有关的搜索查询。传统的图像搜索技术在遇到这样的情形时可能混杂这些结果,以致用户可能难以定位感兴趣的特定图像。然而,在这个示例中,可以采用集群来根据相似性形成图像的分组。这些分组随后可以用作用于排序搜索结果的基础,从而增加用户可以定位感兴趣的特定图像的可能性。这些和其他技术的进一步讨论可以结合下面的章节找到。
在下面的讨论中,首先描述可操作来执行在此描述的图像搜索技术的示例环境。随后描述在示例环境中以及在其它环境中是可操作的示例程序。同样,示例环境并不限于示例程序的执行。进一步,虽然结合针对图像的搜索来描述搜索技术,但是这些技术也可以被采用来搜索各种不同类型的数据,诸如网页、媒体、文档、文件等等。
示例环境
图1是可操作来采用图像搜索技术的示例实现方式中的环境100的示意图。所示的环境100包括搜索服务102、客户机104和图像提供者106,其中每一个通过网络108一个到另一个通信耦合。
虽然客户机104被示意为客户机设备(例如,传统的台式计算机)并且搜索服务102和图像提供者106被示意为利用一个或多个服务器来实现,但是这些实体可以利用各种不同的设备来实现。例如,客户机104可以被配置成能够通过网络108通信的计算机,诸如台式计算机、移动站、娱乐设备、通信耦合到显示设备的机顶盒、无线电话、游戏机、平板计算机、上网本等等。因而,客户机104的范围可以从具有大量的存储器和处理器资源的全资源设备(例如,个人计算机、游戏机)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、掌上游戏机)。客户机104也可以描述逻辑客户机,其包括软件和/或以及用于执行软件的硬件,例如,一个或多个处理器、功能块等等。
因而,客户机可以描述计算设备,其也可以包括导致计算设备的硬件执行操作例如配置处理器、功能块等等的实体(例如,软件)。例如,计算设备可以包括计算机可读介质,其可以被配置来保持导致计算设备并且更特别地导致计算设备的硬件执行操作的指令。因而,这些指令用于配置硬件来执行操作并且以这种方式导致硬件的转换来执行操作。这些指令可以由计算机可读介质通过各种不同的配置提供给计算设备102。
一种这样的计算机可读介质的配置是信号承载介质并因而被配置来诸如经由网络104发送这些指令(例如,作为载波)到计算设备的硬件。计算机可读介质也可以被配置为计算机可读存储介质并因而不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器和其他的可以使用磁、光与其他技术来存储指令与其他数据的存储设备。
虽然网络108被示意为因特网,但是该网络也可以采用各种各样的配置。例如,网路108可以包括广域网(WAN)、局域网(LAN)、无线网、公共电话网、内联网等等。进一步,虽然显示单个网络108,但是该网络108也可以被配置成包括多个网络。
搜索服务102被示意为包括搜索模块110。搜索模块110代表响应于搜索查询来提供搜索结果112的功能。例如,客户机104的用户可以与通信模块114交互,其中通信模块代表客户机104与网络108交互的功能,诸如因特网上的浏览器。
搜索模块110可以采用各种不同的技术来形成搜索结果112。例如,搜索模块110可以采用一个或多个软件机器人(“bot”)来搜索和索引通过因特网可获得的内容。这些索引可以基于关键字和其他信息。进一步,各种不同的技术可以被采用来对索引的各部分应用不同的权重,以致用户具有增加的找到感兴趣内容的可能性。
然而,对于给定的针对图像的查询,使用传统的技术可能难以找到最佳代表该查询的代表性集合的图像。例如,搜索模块110可以索引来自多个不同的图像提供者106的图像116。然而,在一些实例中,单个搜索查询可以涉及图像中不同类型的内容,诸如不同的人物、地点或事件。因此,搜索模块110在这个示例中可以采用可使用来增加用户接收到包括所希望图像的搜索结果112的可能性的技术,其进一步的讨论可以结合图2找到。
虽然结合图1描述了因特网搜索的示例,但是这些技术也可以用于各种其他用途。例如,客户机104也可以采用搜索模块118来搜索对于客户机104 而言是本地的图像120、经由网络108远程可访问的图像116等等。各种其他的示例也被考虑,并因此这个讨论并不限于示例环境100。
通常,在此描述的任何功能能够使用软件、固件、硬件(例如,固定逻辑电路)、人工处理或这些实现方式的组合来实现。如在此使用的术语“模块”、“功能”和“逻辑”通常代表软件、固件、硬件或其组合。在软件实现方式的情况下,模块、功能或逻辑代表当在处理器(例如,一个或多个CPU)上运行时执行指定任务的程序代码。程序代码能够存储在一个或多个计算机可读存储设备中。下面描述的图像搜索技术的特性是平台独立的,这意味着:可以在具有各种处理器的各种商用计算平台上实现这些技术。
图2是将图1的搜索模块110显示为处理图像以获得搜索结果的示例实现方式中的系统200的示意图。搜索模块110在这个示例中访问经由网络108可获得的图像116。搜索模块110随后采用多个桶(bucket)202、204、206、208来一个到另一个基于如使用相似性模块210计算的图像的相似性一起将这些图像集群。这种相似性因而可以用作基础来提供具有增加的给用户提供机会来定位感兴趣的图像116的可能性的搜索结果112。
例如,搜索模块110可以被采用来处理在这个实例中为“Seattle(西雅图)”的关键字的图像。因此,搜索模块110可以使用相似性模块210来扫描图像116以查找相似性。例如,相似性模块210可以检查这些图像来确定在这些图像中包括什么内容。相似性模块210随后可以给这个内容分配标识符并且比较这些标识符来确定哪些图像是相似的。各种不同的技术可以用于确定相似性,其示例结合图5来描述。
相似的图像随后可以被形成为集群。继续前面的示例,包含与Space Needle有关的内容的关键字“Seattle”的图像可以被分配到第一桶202。同样,包含与Mount Rainier有关的内容的关键字“Seattle”的图像可以被分配到第二桶204。进一步,包含与Seattle skyline有关的关键字“Seattle”的图像可以被分配到第三桶206。对于各种不同的包括如针对第四桶208所示的到Seattle的家庭度假的图像的内容,这个处理可以继续。
分配到不同的桶202-208的图像的数量随后可以用作基础来排序搜索结果。在所示的示例中,这些桶202-208以指示被分配到各自桶的图像的数量的顺序来安排,以致桶202被分配比桶204更多的图像,等等。
这种排序随后可以被用作基础来在搜索结果中安排图像,以致来自Space Needle的第一桶202的图像在搜索结果112中的排名可以向上移动。以这种方式,用户更可能响应搜索查询而获得感兴趣的图像。这些技术可以被用来提供各种其他的功能,其进一步的讨论可以结合下面的程序找到。
示例程序
下面的讨论描述可以利用前述的系统和设备实现的图像搜索技术。这些程序之中每个程序的各方面可以在硬件、固件或软件或其组合中实现。这些程序被显示为指定由一个或多个设备执行的操作的一组块并且不一定限于所显示的用于由各自块执行操作的顺序。在下面讨论的各部分中,将参考图1的环境100和图2的系统200。
图3描绘其中针对指示图像中的两种或更多种不同类型的内容的搜索请求配置搜索结果的示例实现方式中的程序300。接收具有指示图像中的至少两种或更多种不同类型的内容的至少一个项的请求(块302)。例如,可以接收具有搜索术语“jaguar(美洲虎)”的请求。然而,术语jaguar可能和汽车以及动物有关。用于提供图像的以前技术时常导致混乱的结果,其中两种类型的图像被混杂。但是如果使用在此描述的技术,搜索结果可以区分不同的类型。
因此,在这个示例中搜索结果被提供以响应搜索请求,该搜索结果具有包括第一类型的内容的图像,其定位于比具有第二类型的内容的图像更靠近搜索结果的开头,第一类型的图像具有比第二类型更大数量的相似图像(块304)。继续前面的示例,搜索模块110可以采用技术来区分“jaguar”的汽车和动物的图像。
例如,搜索模块110可以被配置来提升(promote)更常见的相似图像。以这种方式,在术语(例如,jaguar)的意义方面具有更常见内容的图像在搜索结果112的排名中可以被提升到不太常见的意义之上。各种不同的技术可以被采用来确定相似性,其进一步的讨论可以结合下面的附图找到。虽然在这个示例中请求被描述为被接收并且搜索结果随后被提供以响应该请求,但是搜索结果可以采用各种方式来计算,这应该是显而易见的。例如,可以在请求的接收之前(例如,使用结合图2描述的索引技术)、响应于该请求等等预先计算搜索结果112。
图4描绘其中基于相似性在搜索结果中排序图像的示例实现方式中的程序400。一个到另一个至少部分基于图像的相似性来排序搜索结果中的图像(块402)。例如,相似的图像可以被分组为图像集群(块404)。这种相似性可以采用各种方式诸如通过包括可以用于识别脸或其他对象的识别技术的使用的图像的内容的检查来确定。一种这样的使用二进制字来检查图像中的内容的技术的示例结合图5来描述。
包含较高数量的分组相似图像的第一图像集群在搜索结果中被排名为比包含较少数量的分组相似图像的第二图像集群更高(块406)。因而,各自集群中图像的数量可以用于诸如通过依据在这些图像中包括的内容的遍布程度(pervasiveness)和那个内容在那些图像之间的相似性较高或较低排名这些图像来驱动(导出)在搜索结果112中“在哪里”包括这些图像。因而,搜索结果112更可能包括具有基于利用可获得的那些图像的数量所显示的对那个内容的兴趣度而是感兴趣的内容的图像。
图5描绘其中二进制字被生成来描述图像中的内容并被用作比较的基础来一个到另一个确定图像的相似性的示例实现方式中的程序500。多个二进制字被生成,每一个用于描述在多个图像之中各自一个图像中的内容(块502)。例如,搜索模块110可以通过二进制字的使用来检查图像中的内容和描述内容。例如,二进制字可以描述在图像中包括的汽车、在图像中包括的动物等等。在实现方式中,图像可以具有多个相应的二进制字,其可以用于识别图像中的内容,诸如图像中包含的汽车和标志。
一个到另一个比较多个二进制字,以确定各自图像的相似性(块504)。继续前面的示例,可以利用搜索模块110来彼此比较这些二进制字。以这种方式,搜索模块110可以执行大量图像的有效比较来确定相似性。
基于所确定的这些图像的相似性的比较来形成集群(块506)。如结合图2所述的,搜索模块110可以通过在图像的相似性的基础上将图像分配到桶来形成集群。因而,在特定桶中的图像被确定是相似的并可以给出许多这种类型的图像相对于分配到其它桶的许多其他类型的图像的精确比较。
这些图像基于在各自集群中相似图像的数量来排名,以便包括在将响应经由因特网接收的搜索查询而提供的搜索结果中(块508)。继续前面的示例,通过这些图像的“分桶(bucketing)”而形成的集群可以用于给出这些图像中的内容相对彼此的相对流行的想法。因此,搜索模块110可以利用这个知识来排序搜索结果112以遵循这一流行,从而增加用户将被呈现感兴趣图像的可能性。进一步,在实现方式中,搜索结果可以被集群,以致每个集群利用搜索结果112中的相似图像来代表。以这种方式,用户可以迅速地浏览(navigate through)不同的图像来定位特别感兴趣的图像而无需多次观看相同的非常相似的图像。在实现方式中,这个代表图像可以是可选的,以引起来自该集群的附加图像的输出。
结论
虽然以结构特性和/或方法动作特定的语言描述了本发明,但是将明白:在所附的权利要求书中定义的发明不一定限于所描述的特定特性或动作。相反,特定特性和动作被披露为实现所请求保护的发明的示例形式。