基于草图的图像搜索的利记博彩app

文档序号:6432871阅读:132来源:国知局
专利名称:基于草图的图像搜索的利记博彩app
技术领域
本发明涉及图像搜索,尤其涉及基于草图的图像搜索。
背景技术
随着电子成像设备和因特网的日益流行,数十亿数字图像已经变得可公开获得并且可在线搜索。对这样巨大数量的数据进行索引以使用户能够快速找到所需图像是巨大且困难的任务。例如,许多图像是在没有准确描述或标签的情况下张贴的,使得难以使用典型的关键字技术对这些图像进行索引。因此,在用户希望定位具有特定特征的复杂图像时,依赖于短文本查询的常规的基于文本的搜索引擎通常不能够以及时且高效的方式来定位所需图像。另外,尽管已经密集地研究了图像数据库的基于草图的搜索,但在开发实用的大规模的基于草图的搜索技术方面作出的进展很少。在构造大规模的基于草图的搜索系统方面的尝试因各种原因而没有成功。例如,一些所提出的技术缺少有效的边表示并且不能够快速且准确地将输入草图与经索引的图像进行比较。其他所提出的技术不能够实现可伸缩的索引解决方案,从而在被应用于数百万图像时造成具有不可管理的大小或复杂度的索引。

发明内容
提供本“发明内容”是为了以简化的形式介绍将在以下“具体实施方式
”中进一步描述的一些概念。本“发明内容”并不旨在标识出所要求保护的主题的关键特征或必要特征;也不旨在用于确定或限制所要求保护的主题的范围。本文的一些实现提供了用于使用查询曲线作为搜索查询来进行基于草图的图像搜索以准确地定位和检索图像的技术。此外,一些实现提供了用于高效地对巨量自然图像进行索引以便于基于草图的搜索的索引技术。


参考附图来阐明“具体实施方式
”。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。在不同附图中使用同一附图标记指示相似或相同的项或特征。图1是根据一些实现的用于基于草图的搜索的框架的框图。图2A-2C示出了根据一些实现的实时交互式的基于草图的搜索的示例。图3是根据一些实现的用于基于草图的搜索的示例过程的流程图。图4描绘了根据一些实现的距离图的示例。图5是根据一些实现的用于基于草图的搜索的框架的框图。图6是示出出错率和估计的存储器使用与图像分辨率的关系的图表。图7A-7C示出了根据一些实现的边界检测和突出曲线标识的示例。图8示出了根据一些实现的具有不同定向的各曲线部分的二进制图的示例。
图9示出了根据一些实现的结构敏感匹配的效果。图10描绘了根据一些实现的索引结构的示例。图11描绘了根据一些实现的用户界面的示例。图12描绘了根据一些实现的具有文本输入的用户界面的示例。图13描绘了根据一些实现的具有文本轮输入的用户界面的示例。图14描绘了根据一些实现的具有色彩轮输入的用户界面的示例。图15是根据一些实现的索引过程的示例的流程图。图16是根据一些实现的用于基于草图、基于文本和/或基于色彩的搜索的示例过程的流程图。图17是根据一些实现的用于基于草图的图像搜索的示例系统的框图。图18是根据一些实现的示例服务器计算设备的框图。图19是根据一些实现的示例客户机计算设备的框图。
具体实施例方式基于草图的搜索本文描述的技术一般针对用于基于草图的图像搜索的技术。一些实现采用突出曲线发现方案来检测自然图像中的主要或突出曲线以允许高效地对图像进行索引和表示。此外,一些实现应用原始的基于曲线的过程来计算查询草图输入与为自然图像生成的曲线图之间的相似度。此外,可以提供用户界面以允许用户使用草图输入、文本输入、和色彩选择输入的任何组合来灵活地制定查询。为了对数百万图像进行索引并且为了能够对基于草图的查询进行实时响应,一些实现利用了被设计成考虑存储成本、图像检索准确度、以及计算效率的位置敏感曲线索引框架。本文公开的索引技术可被用来创建涵盖数百万图像的可管理和可搜索索引。在一些实现中,在标识图像中的突出曲线期间,图像的分辨率可被降低到最优分辨率以提供出错率与存储器空间之间的平衡。因此,本文的实现能够提供用于按草图查询的图像搜索的大规模索引框架和允许将草图查询与图像进行匹配的搜索引擎。本文的一些实现提供了比常规技术要快得多且准确得多的用于基于草图的搜索的技术。在真实世界情况下,用户的搜索意图通常是复杂的并且可在搜索期间变化。因此, 一些实现提供了交互式用户界面来帮助用户表达他们的意图并通过细化他们的草图查询以逐步的方式来找到所需图像。该用户界面可包括允许用户组成复杂查询的查询面板或窗口,如通过绘制草图、输入一个或多个关键词、以及指定主色。此外,具有触摸屏能力的设备的流行使得人机交互,尤其是草图绘制,比之前更加容易。另外,还可以充分利用具有许多web图像的标签和文本的可用性来提高基于草图的图像搜索的准确度。在一些实现中,在草图本身不足以描述用户的查询意图时,可以结合草图查询来使用文本查询以桥接草图查询与自然图像之间的语义间隙。例如,如果用户绘制了圆圈作为他/她的查询来寻找月亮,则系统可能返回包含许多圆形对象但不一定是月亮的图像。在这种情况下,结合草图查询提交的文本查询可帮助提高搜索结果的相关度。另外,本文的一些实现允许结合草图查询来指定色彩。例如,如果用户期望定位特定颜色的花的图像,则用户可以指定该特定颜色作为结合基于草图的查询和/或基于文本的查询来提交的基于色彩的查询。本文的一些实现提取自然图像的代表性轮廓,该轮廓可被用来将图像与查询草图相匹配。因此,各个实现能够高效地且准确地将查询草图与自然图像中的轮廓相匹配。用户提交草图查询而非仅仅是文本查询指示了所得图像的形状或轮廓结构是优先的。因此, 用户期望所得图像与他们的草图输入紧密匹配。大多数常规的按草图查询的技术具有可伸缩性问题,因为它们不具有加速草图-图像匹配的索引机制。本文的实现包括用于检测表示图像的一条或多条突出曲线的突出曲线标识方法。图像的突出曲线具有更紧密地匹配用户的草图输入的可能性。本文的实现还提供了用于计算查询草图与自然图像之间的相似度的基于原始曲线的算法。这一匹配算法适用于本文公开的索引策略并可被优化来改进用户体验。为了可伸缩到数百万图像,可以使用考虑索引大小、检索精度、以及检索效率的位置敏感曲线索引策略。在这一索引方案下,图像由一组视觉字(visual-word)来表示。每一视觉字可以表示一个像素,并且可被表示成定向(direction-oriented)点{x,y,Θ},其指示曲线从方向θ穿过图像的位置{x,y}。因此,θ提供到位置{x,y}的定向,这减少了可能的匹配的数量而同时提高了准确度。各个实现使用本文公开的索引和匹配框架来提供实时的基于草图的图像搜索系统。此外,为了提高检索精度和用户搜索体验,各个实现提供允许用户灵活地制定并交互式地细化他们的查询的交互式用户友好界面。除基于草图输入的搜索之外,一些实现包括以补充性方式执行的基于色彩或文本输入的搜索,如在其中一些视觉元素或语义意义不能由草图方便地呈现的情况下。用于基于草图的搜索的示例框架图1是根据本文的一些实现的用于交互式的基于草图的图像搜索框架100的示例的框图。框架100能够作为用于索引和搜索数百万图像的实时的基于草图的交互式图像搜索系统来执行。框架100可以允许输入草图查询与诸如数据库、因特网等图像源中的一个或多个图像之间的精确匹配。框架100包括离线或索引阶段102和在线或搜索阶段104。 索引阶段102包括图像106的一个或多个数据库或源。例如,图像106可以从任何合适的源获得,如通过爬行因特网网站、通过下载或上传图像数据库、通过将来自成像设备的图像存储到计算机存储介质,等等。在一些实现中,图像106可以是可在万维网上获得的数百万或甚至数十亿自然图像、照片等。索引阶段102还包括用于生成图像106的图像索引110 的索引组件108。图像索引110可以是用于基于查询曲线输入来标识一个或多个图像的草图匹配图像索引。在一些实现中,索引组件108标识每一图像106中的一条或多条主要或突出曲线112,并基于这些突出曲线112来生成图像索引110。例如,每一突出曲线112可被表示成一群或一组定向点,并且可以基于不同的定向点来创建倒排索引结构。这些定向点用作组成索引的索引项或视觉字,并且基于它们是否具有包含特定视觉字的突出曲线来将图像标识符与特定视觉字相关联。可以使得在索引阶段102期间生成的图像索引110可供搜索引擎114在搜索阶段 104期间使用。搜索引擎114可以提供能够接收作为查询提交的草图输入118的用户界面组件116。在所示实现中,用户界面组件116与搜索引擎114 一起提供。例如,该用户界面可以在web浏览器窗口中作为网页来呈现给用户。在其他实现中,用户界面组件116可被合并到用户计算机上的web浏览器或其他应用程序,可以是web浏览器的插件或升级,等等。搜索引擎114还包括被配置成接收草图输入118并执行匹配和排名功能以定位与草图输入118相对应的一个或多个图像106的匹配组件120。在一些实现中,匹配组件120至少使用基于草图输入118中标识的一条或多条曲线的单向数据库-查询匹配方案。此外,在其他实现中,匹配组件120可以使用包括数据库-查询匹配和查询-数据库匹配两者的双向索引和匹配方案或近似双向索引和匹配方案。匹配组件120标识与草图输入118相对应的一个或多个图像,并且用户界面组件116输出所标识的图像中的一个或多个来作为结果 122。结果122可以作为反馈IM来实时地显示给或以其他方式提供给用户。如果用户对结果122不满意,则该用户可以交互式地修改草图输入118,如通过向草图添加附加曲线、 删除或擦除曲线或曲线的一部分,等等。图2A-2C示出了根据本文的一些实现的可以使用框架100来执行的实时交互式搜索的示例。如图2A所示,用户可以在用户界面204中绘制第一草图202作为提交给框架 100的草图输入118。提交第一草图202并且框架100可以显示多个图像206作为搜索结果的反馈。如图2B所示,如果响应于第一草图202所返回的图像206不满足用户的搜索意图,则该用户可以交互式地添加一条或多条附加直线或曲线和/或删除现有直线或曲线中的一些或全部。在所示示例中,用户在用户界面204中添加第二草图208,并且框架100作为响应基于作为草图输入查询的第一草图202和第二草图208来返回第二多个图像210。 如果第二多个图像210仍然不满足用户的搜索意图,则该用户可以添加或删除附加草图线来进一步细化草图输入。如图2C所示,在该示例中,用户添加附加草图曲线212、214、216, 并且框架100基于作为当作查询提交的草图输入的草图曲线202、208、212、214和216来返回第三多个图像218。因此,从以上示例可以看到,用户可以使用用户界面来实时地交互式地细化草图输入以定位与搜索意图相匹配的一个或多个图像。图3是根据本文的一些实现的用于执行基于草图的搜索的示例过程300的流程图。在该流程图中,操作被概括成单独的框。操作可以用硬件或作为可由一个或多个处理器执行的处理器可执行指令(软件或固件)来执行。此外,过程300可以但不必使用图1 的框架100来实现。在框302,框架100生成多个图像的基于曲线的图像索引。例如,框架100可以检测每一图像中的一个或多个主要或突出曲线并基于每一检测到的突出曲线中所包含的各点的位置和定向来生成索引。在框304,框架100接收草图作为草图查询输入。例如,用户可以向该框架所提供的或者由web浏览器或其他应用程序所提供的用户界面提交草图来作为草图查询输入。在框306,该框架标识作为草图查询输入来提交的草图中的一条或多条曲线。在框308,该框架定位具有与该一条或多条草图曲线相对应的曲线的一个或多个图像。例如,该框架可以使用图像索引来标识具有带有与在草图查询输入中提交的草图曲线的定向点相类似的定向点的突出曲线的一个或多个图像。该框架还可采用各种排名方案,如以下针对对所标识的图像进行排名而进一步讨论的。在框310,返回定位的图像并将其作为反馈显示给用户。如果用户对搜索结果不满意,则该用户可以进一步交互式地实时地细化草图并且该过程返回到框304以处理作为查询输入的经细化的草图。用户可以继续交互式地细化草图,直至达到所需结果为止。匹配技术
通过采用本文公开的基于草图的图像搜索技术的各个实现,用户可以在用户界面中简单地草拟一个或多个笔画来表示对象或场景的轮廓,并且该框架向用户返回一个或多个“匹配”图像。这些“匹配”图像是基于与草图输入的至少两个相似性条件来标识的,即相似形状和相似位置。因此,希望所得图像中的对象或场景的形状与用户的草图输入的形状相似。此外,希望匹配的对象或场景在所得图像中的位置定位在与输入草图中相类似的位置。此处的草图可以由一条或多条曲线来表示,并且每一条曲线可被分解成多个相邻地定位的像素。类似地,为数据库中的图像所标识的突出曲线也可以由多个相邻地定位的像素来表示。为了实现相似性匹配,可采用许多相似性度量来供本文的各个实现使用。本文的一些实现利用斜面匹配(Chamfer Matching)技术,该技术例如由J. Shotton、A. Blake、 以及 R. Cipolla 在 2008 年 PAMI "Multiscale categorical object recognition using contour fragments (使用轮廓片段的多尺度分类对象识别)”中描述,但本文的其他实现可以使用替换匹配技术。根据斜面匹配技术,可以使用一组点D来表示图像的曲线,其中点ρ e D的位置由 Xp = (xp, yp)来表示。从查询草图Q到数据库图像D的基本斜面距离如下给出
权利要求
1.一种方法,包括接收查询曲线作为草图查询输入(304);至少部分地基于所述查询曲线来标识第一多个定向点(306);以及由处理器使用所述第一多个定向点来定位具有包括与所述第一多个定向点中的至少一些相匹配的第二多个定向点的曲线的至少一个图像(308)。
2.如权利要求1所述的方法,其特征在于,基于所述第一多个定向点来定位多个图像, 所述方法还包括生成所述多个图像中的每一图像中的各图像曲线的一个或多个距离图;计算所述查询曲线与所生成的距离图之间的相似度;以及至少部分地基于计算得到的相似度来对所述多个图像中的图像进行排名。
3.如权利要求1所述的方法,其特征在于,基于所述第一多个定向点来在图像数据库中定位第一多个图像,所述方法还包括将所述查询曲线与为所述图像数据库中的每一图像中标识的各图像曲线所生成的距离图进行匹配以获取第二多个图像;以及从所述第一多个图像和所述第二多个图像中标识第三多个图像作为响应于所述草图查询输入的结果。
4.如权利要求1所述的方法,其特征在于,基于所述查询曲线来标识第一多个定向点还包括生成所述查询曲线的一个或多个距离图,每一距离图表示具有确定方向的曲线部分,所述距离图标识所述第一多个定向点中具有所述确定方向的子集,所述距离图包括所述曲线部分周围的区域中的用于标识所述曲线附近的包括在所述第一子集中的一组定向点的容限半径。
5.如权利要求1所述的方法,其特征在于,将所述查询曲线划分成多条子查询曲线,所述多条子查询曲线中的每一条被当作所述草图查询输入。
6.如权利要求5所述的方法,其特征在于,所述划分是至少部分地基于在绘制所述查询曲线时作出的可区分笔画的。
7.如权利要求5所述的方法,其特征在于,所述划分是至少部分地基于连续曲线长度的,使得超过预定长度的连续曲线被划分成子查询。
8.如权利要求1所述的方法,其特征在于,使用所述第一多个定向点来定位至少一个图像还包括使用包括作为索引项的所述第二多个定向点的索引,所述索引项基于图像包含具有对应定向点的曲线而与多个图像相关联。
9.如权利要求8所述的方法,其特征在于,还包括生成所述索引以包括所述第二多个定向点作为索引项,其中所述第二多个定向点与被配置成接收草图曲线作为所述曲线查询的用户界面的输入面板的分辨率的各点相对应。
10.如权利要求1所述的方法,其特征在于,还包括响应于所述草图查询输入,提供所述至少一个图像作为反馈;接收对所述查询曲线的修改;响应于对所述查询曲线的修改来提供至少一个不同的图像作为反馈。
11.一种系统,包括与计算机可读存储介质(1804)通信的处理器(1802);在所述计算机可读存储介质中维护的索引(1710),所述索引包括与检测到的多个图像 (106)的图像曲线(806)相关联的定向点(1002)的第一集合,每一定向点指定一位置(x, y)和该位置处的曲线方向(Θ);用于接收查询曲线(1130)作为搜索查询输入(516)的用户界面组件(116);以及用于至少部分地基于所述查询曲线来将定向点(1008)的第二集合与所述索引进行匹配的匹配组件(120),所述匹配组件在所述计算机可读存储介质中维护并且在所述处理器上执行,所述匹配组件至少部分地基于所述匹配来标识所述多个图像中的至少一个图像 (122)。
12.如权利要求11所述的系统,其特征在于,所述匹配组件生成所述查询曲线的至少一个距离图,所述距离图将所述查询曲线表示成定向点的所述第二集合。
13.如权利要求11所述的系统,其特征在于,为所述查询曲线所生成的距离图包括指定在匹配中要使用的、所述查询曲线周围区域中的定向点的预定范围的容限值。
14.如权利要求11所述的系统,其特征在于所述用户界面组件被配置成结合所述查询曲线作为搜索查询输入来接收基于文本的查询或基于色彩的查询中的至少一个;所述匹配组件被配置成基于所述基于文本的查询或所述基于色彩的查询中的至少一个来标识一个或多个附加图像,并且将所述一个或多个附加图像的排名分数与基于所述查询曲线来标识出的多个图像的排名分数进行组合以标识多个经排名的图像作为搜索结果。
15.一种方法,包括访问多个图像(1502);标识每一图像中的至少一条曲线(1504);将每一图像中的所述至少一条曲线表达成一组点,每一个点具有至少部分地基于所述曲线在该点处的方向的定向(1506);以及由处理器生成包括作为索引项的多个定向点的图像索引,所述索引项至少部分地基于为所述图像中的曲线所标识的各组点来与所述多个图像相关联(1508)。
全文摘要
基于草图的图像搜索可包括接收查询曲线作为草图查询输入以及基于该查询曲线来标识第一多个定向点。该第一多个定向点可被用来定位具有包括与该第一多个定向点中的至少一些相匹配的第二多个定向点的曲线的至少一个图像。各实现还包括通过标识每一图像中的至少一条曲线并生成包括作为索引项的多个定向点的索引来对多个图像进行索引。这些索引项基于图像中的所标识的曲线中的对应的定向点来与多个图像相关联。
文档编号G06F17/30GK102339306SQ201110266398
公开日2012年2月1日 申请日期2011年8月30日 优先权日2010年8月31日
发明者张磊, 李志伟, 王长虎 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1