图像检索装置、图像检索方法、程序以及计算机可读取的存储介质的制作方法

文档序号:6533488阅读:186来源:国知局
图像检索装置、图像检索方法、程序以及计算机可读取的存储介质的制作方法
【专利摘要】以比以下情况更高的精度检索类似的图像,其中,所述情况是根据与查询图像的局部特征量对应的局部特征量的出现频度来评价图像的类似性的情况。图像检索装置取得表示成为查询的图像的局部的特征的多个查询特征矢量;基于多个图像特征矢量与所述多个查询特征矢量的接近度,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被存储在存储部件中,且分别表示各检索对象图像的多个局部的特征;基于与所述选择出的多个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成检索对象图像的图像得分;基于所述图像得分,选择所述多个检索对象图像之中的至少一个。
【专利说明】图像检索装置、图像检索方法、程序以及计算机可读取的存 储介质

【技术领域】
[0001] 本发明涉及图像检索装置、图像检索方法、程序以及计算机可读取的存储介质。

【背景技术】
[0002] 由于网络技术等的发达,庞大的量的图像文件被管理。存在以下图像检索技术:从 该大量的图像之中,选出类似于成为查询(query)的图像(查询图像)的图像。作为图像 检索技术之一,使用表示图像的局部的特征的局部特征量,此外,为了从大量的图像中以短 的响应时间检索类似图像,在一般的方法中简略地计算表示与查询图像的类似的程度的得 分(score)〇
[0003] 上述的方法之一被称为BoF (Bag of Features)法。该方法应用了被称为BoW(Bag of Words)法的文档检索的方法。在BoF法中,使得从成为检索对象的图像中提取的局部特 征量(以下记为"图像特征量")的每一个与相当于BoW法中的单词的Visual Word (视觉 单词)对应而存储。具体而言,对图像特征量进行聚类(clustering),使簇(cluster)对应 于Visual Word。并且,在进行检索时从成为查询的图像中提取多个局部特征量(以下记 为"查询特征量"),取得与该局部特征量的每一个对应的Visual Word。并且,将该Visual Word的出现频度统计地进行处理,从而生成表示查询图像与成为检索对象的图像的类似的 程度的得分,检索类似的图像。
[0004] 在专利文献1中,公开了使用Visual Word来检索图像的方法的概要,以及使得从 图像中提取的图像特征量矢量与从关联于该图像的文章中提取的媒体(media)特征量矢 量结合而检索图像的技术。
[0005] 现有技术文献
[0006] 专利文献
[0007] 专利文献1 :特开2011 - 103082号公报


【发明内容】

[0008] 发明要解决的课题
[0009] 在上述那样的得分的计算方法中,存在得不到所需的检索精度的情况。例如,在 BoF法中,由于根据被变换为视觉单词的查询特征量的出现频度来计算得分,所以根据对应 于视觉单词的簇的簇大小和聚类的精度,导致得分的精度降低。对应于视觉单词的图像特 征量的数目越大则该现象变得更显著。另外,并不是对应于视觉单词的图像特征量的数目 减小即可。这是因为易于产生判定视觉单词时的错误。
[0010] 本发明是鉴于上述课题而完成的,其目的在于,提供能够以比以下情况高的精度 检索图像的技术,其中,所述情况是如BoF法那样,根据与查询特征量对应的图像特征量的 出现频度来评价查询图像与成为检索对象的图像的类似的程度的情况。
[0011] 用于解决课题的手段
[0012] 为了解决上述课题,本发明所涉及的图像检索装置的特征在于,包括:查询特征矢 量取得部件,取得分别表示成为查询的图像的局部的特征的多个查询特征矢量;图像特征 矢量选择部件,基于图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储 的多个图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量, 其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储 在所述存储部件中,且分别表示各检索对象图像的多个局部的特征;得分生成部件,基于与 表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、和对应于该 选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成该检索对象 图像的图像得分;以及图像选择部件,基于所述图像得分,选择成为所述检索对象的多个检 索对象图像之中的至少一个。
[0013] 此外,本发明所涉及的程序使计算机执行以下处理:取得分别表示成为查询的图 像的局部的特征的多个查询特征矢量;基于多个图像特征矢量与所述多个查询特征矢量的 接近度,从存储部件中存储的多个图像特征矢量,选择与所述多个查询特征矢量的每一个 对应的多个图像特征矢量,其中,所述多个图像特征矢量按成为检索对象的多个检索对象 图像的每一个而被预先存储在所述存储部件中,且分别表示各检索对象图像的多个局部的 特征;基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢 量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计, 生成该检索对象图像的图像得分;以及基于所述图像得分,选择成为所述检索对象的多个 检索对象图像之中的至少一个。
[0014] 此外,本发明所涉及的图像检索方法的特征在于,包括:取得分别表示成为查询的 图像的局部的特征的多个查询特征矢量的步骤;基于多个图像特征矢量与所述多个查询特 征矢量的接近度,从存储部件中存储的多个图像特征矢量,选择与所述多个查询特征矢量 的每一个对应的多个图像特征矢量的步骤,其中,所述多个图像特征矢量按成为检索对象 的多个检索对象图像的每一个而被预先存储在所述存储部件中,且分别表示各检索对象图 像的多个局部的特征;基于与表示多个检索对象图像的其中一个的特征且所述选择出的多 个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分 要素的合计,生成该检索对象图像的图像得分的步骤;以及基于所述图像得分,选择成为所 述检索对象的多个检索对象图像之中的至少一个的步骤。
[0015] 此外,本发明所涉及的计算机能够读取的存储介质存储使计算机执行以下处理的 程序:取得分别表示成为查询的图像的局部的特征的多个查询特征矢量;基于多个图像特 征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个图像特征矢量,选择 与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所述多个图像特征矢 量按成为检索对象的多个检索对象图像的每一个而被预先存储在所述存储部件中,且分别 表示各检索对象图像的多个局部的特征;基于与表示多个检索对象图像的其中一个的特征 且所述选择出的多个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的 接近度相应的得分要素的合计,生成该检索对象图像的图像得分;以及基于所述图像得分, 选择成为所述检索对象的多个检索对象图像之中的至少一个。
[0016] 根据本发明,能够比仅基于与查询特征量对应的图像特征量的出现频度来评价查 询图像与成为检索对象的图像的类似的程度的情况,以更高的精度检索图像。
[0017] 也可以是在本发明的一个方式中,还包括:簇选择部件,从所述存储部件中存储的 多个图像特征矢量被分类的多个簇中,选择与所述多个查询特征矢量的每一个对应的簇, 所述图像特征矢量选择部件基于所述多个查询特征矢量与属于所述选择的簇的图像特征 矢量的接近度,选择与所述多个查询特征矢量对应的图像特征矢量。
[0018] 根据本方式,能够提高图像的检索速度。
[0019] 在本发明的一个方式中,所述选择出的多个图像特征矢量的每一个与对应于所述 选择出的图像特征矢量的查询特征矢量的接近度也可以是该图像特征矢量与该查询特征 矢量的距离。
[0020] 也可以是在本发明的一个方式中,所述图像特征矢量选择部件从属于所述选择的 簇的图像特征矢量之中,选择与所述多个查询特征矢量的距离比规定的阈值小的图像特征 矢量。
[0021] 根据本方式,能够通过变更阈值来控制检索精度。

【专利附图】

【附图说明】
[0022] 图1是表示第一实施方式所涉及的图像检索系统的结构的一例的图。
[0023] 图2是表示第一实施方式所涉及的图像检索装置的结构的一例的图。
[0024] 图3是表示并行计算装置的结构的一例的图。
[0025] 图4是表示第一实施方式所涉及的图像检索装置的功能的功能框图。
[0026] 图5是表示第一实施方式所涉及的索引生成部的功能结构的功能框图。
[0027] 图6是表示成为检索对象的图像的一例的图。
[0028] 图7是表示从图像中提取的图像特征矢量的概念的图。
[0029] 图8是表示代表矢量的树结构的一例的图。
[0030] 图9是表示第一实施方式所涉及的图像检索部的功能结构的功能框图。
[0031] 图10是表示第一实施方式所涉及的图像检索部的处理的概略的处理流程的一例 的图。
[0032] 图11是表示装置内存储器中的数据配置的一例的图。
[0033] 图12是表示装置内存储器中的代表矢量的配置的一例的图。
[0034] 图13是表示输入成为查询的图像的画面的一例的图。
[0035] 图14是表示距离计算的处理流程的一例的图。
[0036] 图15是表示从查询图像中提取的查询特征矢量与从成为检索对象的多个图像中 提取的图像特征矢量之间的对应的一例的图。
[0037] 图16是表示图像特征矢量选择部的处理流程的一例的图。
[0038] 图17是表示对查询特征矢量选择图像特征矢量的情况的例子的图。
[0039] 图18是表示查询图像中的局部的特征与成为检索对象的图像中的局部的特征之 间的对应的一例的图。
[0040] 图19是表示查询图像中的局部的特征与成为检索对象的图像中的局部的特征之 间的对应的比较例的图。
[0041] 图20是表示查询特征矢量与图像特征矢量的距离的偏差的一例的图。
[0042] 图21是表示对对应于查询特征矢量的图像进行统计处理的结果的一例的图。
[0043] 图22是表示簇图像特征量存储部中存储的数据的一例的图。
[0044] 图23是表示第二实施方式所涉及的图像检索部的功能结构的功能框图。
[0045] 图24是示出表示第二实施方式所涉及的图像检索部的处理的概要的处理流程的 一例的图。
[0046] 图25是说明第3个图像特征簇中的图像特征矢量的分布和基于查询特征矢量的 选择的图。
[0047] 图26是表示为了生成图像得分而使用的转置矩阵的一例的图。
[0048] 图27是示出表示第三实施方式所涉及的图像检索部的处理的概要的处理流程的 一例的图。

【具体实施方式】
[0049] 以下,基于【专利附图】
附图
【附图说明】本发明的实施方式。对所出现的结构要素之中具有相同功能 的结构要素赋予相同的符号,省略其说明。
[0050] [第一实施方式]
[0051] 图1是表示本发明的第一实施方式所涉及的图像检索系统的结构的一例的图。图 像检索系统包含图像检索装置l、Web服务器2、客户端装置3。Web服务器2例如是Web服 务器程序工作的服务器硬件,客户端装置3例如是Web浏览器的程序工作的个人计算机或 智能手机。图像检索系统进行图像检索时的工作的概要如以下。首先,Web服务器2经由 互联网等网络从客户端装置3取得成为用于图像检索的查询的图像(以下,记述为"查询图 像"),将该查询图像输入至图像检索装置1。接着,图像检索装置1检索类似于所输入的图 像的一个或多个图像,输出至Web服务器2。Web服务器2输出使客户端装置3显示图像检 索装置1检索到的图像的数据。
[0052] 图2是表示第一实施方式所涉及的图像检索装置1的结构的一例的图。图像检索 装置1包含CPU11、存储部12、通信部13、并行计算装置14、以及总线15。
[0053] CPU11按照存储部12中存储的程序而工作。此外,CPU11控制通信部13、并行计 算装置14。另外,上述程序也可以是经由互联网等网络而被提供的程序,也可以是被存储在 DVD - ROM或USB存储器等能够通过计算机读取的信息存储介质中而提供的程序。
[0054] 存储部12由RAM、ROM等存储器元件和硬盘驱动等构成。存储部12存储上述程 序。此外,存储部12存储从各部输入的信息和运算结果。
[0055] 通信部13是实现与Web服务器2等的其他装置进行通信的功能的部件,例如由网 卡那样的通信部件构成。网卡包含通信用的集成电路和通信端子。通信部13基于CPU11 的控制,将从其他装置接收到的信息输入至CPU11和存储部12,向其他装置发送信息。
[0056] 总线15构成与在CPU11、存储部12、通信部13以及并行计算装置14之间交换数 据的路径。例如,CPU11、存储部12与并行计算装置14经由总线15中的扩展总线而连接。 [0057] 并行计算装置14是擅长通过并行计算来大量进行同种的计算的硬件。并行计算 装置14例如是GPU (图形处理单元,Graphics Processing Unit)。图3是表示并行计算装 置14的结构的一例的图。并行计算装置14包含多个并行执行部40、装置内存储器45。此 夕卜,各并行执行部40包含多个处理器41、命令单元42、高速存储器43。
[0058] 多个处理器41的每一个进行浮动小数点计算、以及与装置内存储器45和高速存 储器43之间的数据的读入和写入等的处理。命令单元42基于装置内存储器45等中存储 的程序,使得包含该命令单元42的并行执行部40中包含的多个处理器41进行处理。某并 行执行部40中包含的多个处理器41根据来自该并行执行部40中包含的一个命令单元42 的指示而处理相同的命令。这样,由于能够将多个处理器41以一个命令单元42来控制,所 以能够抑制命令单元42的电路的规模的增加。相比于CPU11,能够增加并行计算装置14中 包含的处理器41的数目,在后述那样的特定的计算处理中,比使用多个独立性高的处理器 的情况更容易进行高速化。
[0059] 装置内存储器45由DRAM构成,该DRAM能够比存储部12中使用的RAM更高速地 进行存取。装置内存储器45经由总线15而连接到CPU11和存储部12。另外,并行计算装 置14还具有通过DMA转发而在装置内存储器45和存储部12之间转发数据的电路。高速 存储器43由能够比装置内存储器45更高速地进行存取的SRAM等构成。处理器41对高速 存储器43进行存取时的等待时间(latency)与处理器41对其内部寄存器进行存取时的等 待时间基本不变。在此,装置内存储器45和高速存储器43都是能够从多个处理器41公共 地进行存取的公共存储器。
[0060] 图4是表示第一实施方式所涉及的图像检索装置1的功能的功能框图。图像检索 装置1在功能上包含索引生成部51、以及图像检索部52。这些功能通过CPU11执行存储部 12中存储的程序,控制通信部13和并行计算装置14,并且并行计算装置14执行面向该并 行计算装置14的程序而实现。
[0061] [索引的生成]
[0062] 以下,说明将图像特征矢量22分类为簇,生成索引的处理。
[0063] 索引生成部51根据成为检索对象的多个图像,生成在图像检索时使用的图像特 征矢量22、和使得该图像特征矢量22的选择变得容易的索引。图像检索部52使用索引和 图像特征矢量22,检索类似于查询图像的图像。
[0064] 图5是表示索引生成部51的功能结构的功能框图。索引生成部51在功能上包含 图像特征矢量提取部61、簇生成部62。簇生成部62生成成为簇的索引的代表矢量的树结 构,在树结构代表矢量存储部72中存储与索引关联的信息。此外,簇矢量存储部71存储属 于成为该树结构的叶的簇(代表矢量代表的簇)的图像特征矢量22的信息。簇矢量存储 部71、树结构代表矢量存储部72具体而言由存储部12构成。
[0065] 图像特征矢量提取部61主要通过CPU11、存储部12、以及并行计算装置14来实 现。图像特征矢量提取部61从存储部12中存储的、成为检索对象的多个图像的每一个中, 提取一个或多个图像特征矢量22。此外,图像特征矢量提取部61将所提取到的图像特征矢 量22与提取到该图像特征矢量22的图像建立关联而存储至存储部12。
[0066] 图6是表不成为检索对象的图像的一例的图。图7是表不从图像中提取的图像特 征矢量22的概念的图。从图像中提取的图像特征矢量22的每一个是表示该图像的局部的 特征的局部特征量。图像特征矢量22的每一个例如是具有128个要素(维)的矢量。为 了从图像中提取图像特征矢量22,也可以使用SIFT (尺度不变特征转换,Scale-Invariant Feature transform)、SURF(加速鲁棒特征,Speeded Up Robust Features)等的公知的方 法。图像特征矢量22的每一个具有的要素的数目也可以根据从图像提取的方法等而变化。 此外,从一个图像中提取的图像特征矢量22的数目也可以是预先决定的数目(例如300), 从单纯的图像中提取的图像特征矢量22的数目也可以比该预先决定的数目少。
[0067] 簇生成部62主要通过CPU11、存储部12以及并行计算装置14来实现。簇生成部 62通过聚类,将由图像特征矢量提取部61提取到的多个图像特征矢量22的至少一部分分 类为多个簇。换言之,生成所提取到的图像特征矢量22的至少一部分被分类的多个簇。此 夕卜,生成代表这些簇的每一个的代表矢量。图像特征矢量22被分类的簇也可以是多级。对 应于此,分类为簇的处理不限于1级的处理,也可以是多级的处理。以下,说明通过递归调 用该多级的处理而实现的处理的例子。另外,在具体的例子中进行2级的处理,在第1级中 将由图像特征矢量提取部61提取到的多个图像特征矢量22分类为1024个簇,进而在第2 级中将该1024个簇的每一个分类为512个簇。
[0068] 在簇生成部62的各级的处理中,通过聚类而将被给予的多个图像特征矢量22分 类为被给予的个数的簇,生成多个簇,进而生成该生成的簇的代表矢量,将所生成的代表矢 量作为该级的代表矢量而存储至树结构代表矢量存储部72。在处理中的级不是最下级的情 况下,簇生成部62将属于处理中的级中生成的簇的每一个的多个图像特征矢量22作为输 入信息,递归调用下一级的处理。代表矢量例如是属于该被分类的簇的图像特征矢量22的 重心,是代表该簇的矢量。此外,簇生成部62按最下级的处理中生成的每个簇,将属于该簇 的图像特征矢量22存储至簇矢量存储部71。
[0069] 在上述的例子的情况下,在第1级的处理中,簇生成部62将被给予的图像特征矢 量22分类为1024个簇,生成该被分类的第1级的各簇的代表矢量,将所生成的第1级的代 表矢量存储至树结构代表矢量存储部72。在第2级的处理中,簇生成部62将属于第1级中 生成的1024个簇的每一个的多个图像特征矢量22作为输入信息,进而分类为512个簇,生 成该被分类的第2级的各簇的代表矢量,将所生成的下位的级的代表矢量存储至树结构代 表矢量存储部72。若生成全部第2级的簇,则该第2级的簇的总数成为(1024X512)个。 进而簇生成部62按照第2级中生成的每个簇,将属于该簇的图像特征矢量22存储至簇矢 量存储部71。以下,为了易于说明,将代表第1级的簇的代表矢量记为上位代表矢量,将代 表最下级(在上述的例子中为第2级)的簇的代表矢量记为代表特征矢量。此外,将最终 生成的簇(在上述的例子中为第2级的簇)也记为图像特征簇。
[0070] 在将图像特征矢量22分类为簇时,使用k 一 means法等的公知的聚类方法即可。 簇的数目由于与后述的图像检索部52的处理的关系,优选2的幂,但也可以不是2的幂。此 夕卜,若分类全部图像中包含的图像特征矢量22,则多个图像特征矢量22属于各自的图像特 征簇。通过2级地进行簇生成部62的递归处理,能够在树结构代表矢量存储部72中存储2 层的信息。另外,图像特征矢量提取部61和簇生成部62的计算也可以不使用并行计算装 置14而进行。但是优选这些计算使用并行计算装置14。这是因为根据比较实验,在使用并 行计算装置14的情况下的计算速度成为不使用的情况的20至200倍。
[0071] 图8是表示代表矢量的树结构的一例的图。在簇生成部62进行上述的2级的处 理的情况下,与2级的簇对应的2级的代表矢量构成树结构。上位代表矢量的数目为1024 个,上位代表矢量的每一个成为512个代表特征矢量的父。在这样使用基于多级的簇的树 结构的情况下,图像检索部52能够利用与该树结构相应的代表矢量中存在父子关系的情 况而进行检索。
[0072][检索图像的处理]
[0073] 图9是表示图像检索部52的功能结构的功能框图。图像检索部52在功能上包含 代表矢量转发部81、查询特征矢量取得部82、上位代表矢量距离计算部83、代表簇选择部 84、代表特征矢量距离计算部85、图像特征簇选择部86、图像特征矢量转发部87、图像特征 矢量距离计算部88、图像特征矢量选择部89、图像得分生成部90、以及检索结果图像选择 部91。
[0074] 图10是表示第一实施方式所涉及的图像检索部52的处理的概要的图。以下,按 照图10所示的处理流程,说明图像检索部52中包含的各功能。
[0075][并行计算装置的初始化]
[0076] 代表矢量转发部81主要通过并行计算装置14、存储部12来实现。代表矢量转发 部81作为初始化并行计算装置14的处理(步骤S101),将树结构代表矢量存储部72中存 储的、多个上位代表矢量以及多个代表特征矢量,转发至能够从多个处理器41公共地进行 存取的装置内存储器45。
[0077] 在代表矢量转发部81将上述数据从存储部12转发至装置内存储器45时,使用并 行计算装置14和总线15的DMA(直接存储器存取,Direct Memory Access)功能。
[0078] 图11是表示装置内存储器45中的数据配置的一例的图。在装置内存储器45中, 设置存储代表特征矢量的区域、存储上位代表矢量的区域、存储一个图像特征簇中包含的 图像特征矢量22的区域。代表矢量转发部81将存储部12中存储的多个代表矢量的信息 存储至预先分配的装置内存储器45的存储器区域。向存储图像特征簇的区域的数据的存 储在后面叙述。
[0079] 在此,若设为代表特征矢量的要素数为128维,代表特征矢量的数目为与图像特 征簇的数目相同的(1024X512)个,各要素为1字节的整数型,则该多个代表特征矢量的全 部数据量成为(1024X512X128)字节(B)、即64MB。此外,此时,由于多个上位代表矢量的 数目为1024,所以同样地,多个上位代表矢量的数据量成为(1024X128)字节、S卩128KB。若 例如被搭载在现行的GPU的装置内存储器45的存储器容量为1GB左右,且装置内存储器45 的容量也为1GB,则多个代表矢量的数据量比装置内存储器45的容量小。
[0080] 另一方面,若设为图像的数目为100万,从一个图像中提取的图像特征矢 量22的数目为300,则多个图像特征簇中包含的图像特征矢量22的数据量成为(100 万X300X128)字节、即约36GB,不能存储至装置内存储器45。另一方面,由于每一个图像 特征簇的平均的图像特征矢量22的数目为(100万X300+(1024X512))、即约600,所以 数据量为75KB左右。即使通过聚类而图像特征簇中包含的图像特征矢量22的数目稍微变 动,多个代表特征矢量的数据量、多个上位代表矢量的数据量、一个图像特征簇中包含的图 像特征矢量22的数据量之和也比装置内存储器45的容量小。
[0081] 图12是表示装置内存储器45中的代表矢量的配置的一例的图。装置内存储器45 中存储的代表矢量的各要素的大小为4字节,按要素的顺序排列。此外,某代表矢量的数据 的开头地址成为能够从装置内存储器45-并读出的数据的字节数(例如32或64)的倍 数。该数据结构是用于在后述的距离计算的处理中,将装置内存储器45中存储的数据一并 读入多个处理器41的数据结构。即使代表矢量的各要素的大小为1字节,为了一并读入, 代表矢量转发部81也对装置内存储器45转发将各要素的大小变换为4字节后的数据。另 夕卜,上位代表矢量、一个图像特征簇内的图像特征矢量22也以同样的数据结构而存储至装 置内存储器45。装置内存储器45内的多个代表特征矢量、多个上位代表矢量、以及一个图 像特征簇中包含的图像特征矢量22的数据量成为4倍,但在该例中,这些数据量之和比装 置内存储器45的容量小的点不变。在本实施方式中,调整图像特征簇或代表矢量的数目, 以使至少装置内存储器45内的多个代表特征矢量、以及多个上位代表矢量的数据量之和 收纳于装置内存储器45的容量即可。
[0082] [查询特征矢量的取得]
[0083] 查询特征矢量取得部82主要通过CPU11、存储部12、以及并行计算装置14来实 现。查询特征矢量取得部82在并行计算装置14的初始化之后,从查询图像中取得一个或 多个查询特征矢量(步骤S102)。此外,查询特征矢量取得部82将从查询图像中提取的一 个或多个查询特征矢量存储至作为公共存储器的装置内存储器45。
[0084] 查询特征矢量取得部82首先从客户端装置3经由Web服务器2取得查询图像。图 13是表示输入查询图像的画面的一例的图。客户端装置3通过Web服务器2所生成的数据 来显示本画面。查询图像也可以通过用户上传客户端装置3内的图像文件而取得,也可以 通过发送某些Web页面中显示的图像的URL而取得,也可以通过从照片共享服务等中存储 的图像中选择查询图像而取得。接着,查询特征矢量取得部82从Web服务器2取得所取得 的查询图像,从该查询图像中提取并取得一个或多个查询特征矢量。查询特征矢量使用与 图像特征矢量提取部61提取图像特征矢量22的方法相同的方法而生成。接着,查询特征 矢量取得部82将查询特征矢量存储至装置内存储器45。在此,也可以是CPU11提取查询特 征矢量,并行计算装置14将查询特征矢量加载至装置内存储器45,也可以是将查询图像加 载至并行计算装置14,并行计算装置14提取查询特征矢量而存储至装置内存储器45。
[0085] [图像特征簇的选择]
[0086] 接着,图像检索部52选择与多个查询特征矢量的每一个对应的图像特征簇(步骤 S103)。该处理由上位代表矢量距离计算部83、代表簇选择部84、代表特征矢量距离计算部 85、以及图像特征簇选择部86进行。
[0087] 上位代表矢量距离计算部83以并行计算装置14为中心而实现。上位代表矢量距 离计算部83使用多个并行的处理器41,计算多个上位代表矢量的每一个与查询特征矢量 的距离。以下,说明上位代表矢量距离计算部83中的距离计算的细节。另外,上位代表矢 量距离计算部83、代表簇选择部84、代表特征矢量距离计算部85、图像特征簇选择部86、图 像特征矢量距离计算部88、以及图像特征矢量选择部89的处理关于从查询图像中提取到 的查询特征矢量的每一个而进行。
[0088] 图14是表示距离计算的处理流程的一例的图。首先,上位代表矢量距离计算部83 将查询特征矢量从装置内存储器45加载到进行距离计算的并行执行部40的高速存储器 43(步骤S201)。接着,将成为计算对象的矢量(在此为上位代表矢量)的各要素从装置内 存储器45加载到进行该要素的计算的处理器41的寄存器(步骤S202)。此时,多个处理器 41从装置内存储器45 -并读入计算对象矢量的数据。由于成为计算对象的矢量的数据通 过代表矢量转发部81等预先以能够进行该一并的读入的方式被存储至装置内存储器45, 所以多个处理器41能够进行该读入。接着,上位代表矢量距离计算部83对寄存器中存储 的成为计算对象的矢量的要素、和对应于该要素的查询特征矢量的要素进行减法,进而将 该减法结果平方(步骤S203)。在距离计算中,也可以代替将减法结果平方而使用利用减法 结果的绝对值等的其他距离函数。距离函数所使用的距离不限于如步骤S203那样的欧几 里得(Euclid)距离(L2),也可以是余弦(Cosine)、曼哈顿(Manhattan)距离(L1)等。
[0089] 接着,合计关于成为计算对象的矢量的各要素的步骤S103的计算结果(步骤 S204)。并且,上位代表矢量距离计算部83将合计结果存储至装置内存储器45 (步骤S205)。 另外,若某并行执行部40中包含的、执行相同的命令的处理器41的数目比查询特征矢量或 成为计算对象的矢量的要素的数目少,则步骤S202至步骤S204的处理配合处理器41的数 目而被分割,多次被执行。此外,在存在多个并行执行部40的情况下,上位代表矢量距离计 算部83使其他的并行执行部40关于其他的成为计算对象的矢量执行步骤S201至S205的 处理。此外,关于从查询图像中提取到的其他查询特征矢量,也可以并行地进行计算。通过 这样,查询特征矢量与其他多个计算对象的矢量的距离计算配合GPU那样的并行计算装置 14的并行计算能力而并行地被计算。由该距离计算的处理内容可知,被适当地配置在装置 内存储器45中的多个矢量与查询特征矢量的距离计算与GPU那样的硬件兼容性高,非常高 速地被处理。
[0090] 代表簇选择部84以并行计算装置14为中心而实现。代表簇选择部84基于上位 代表矢量距离计算部83中计算出的查询特征矢量与多个上位代表矢量的每一个的距离, 从多个代表特征矢量的集合中选择一个集合。更详细地说,例如选择成为与查询特征矢量 的距离最短的上位代表矢量的子的多个代表特征矢量的集合。该代表特征矢量的集合的每 一个对应于第1级的簇(代表簇)。代表特征矢量的集合的选择也相当于与此对应的代表 簇的选择。另外,能够看作上位代表矢量的每一个代表多个代表特征矢量。更具体而言,代 表簇选择部84通过计算存储该代表矢量的集合的存储器内的区域的开头地址来选择该集 合。例如,若成为某上位代表矢量的子的代表特征矢量的数目与上位代表矢量无关而为一 定,则若知道距离最短的上位代表矢量是第几个,则能够以乘法等单纯的计算来求得开头 地址。这样,不使用需要分支或追加的存储器存取的运算即可,所以能够进行将GPU那样的 硬件的性能更活用的处理。
[0091] 代表特征矢量距离计算部85以并行计算装置14为中心而实现。代表特征矢量距 离计算部85使用多个并行的处理器41计算多个代表特征矢量的至少一部分的每一个与查 询特征矢量的距离。在此,成为计算对象的代表特征矢量是属于由代表簇选择部84选择出 的集合的代表特征矢量。代表特征矢量距离计算部85与上位代表矢量距离计算部83计算 距离相同地,按照图14的流程计算距离。其中,计算对象矢量是上述的代表特征矢量。与 上位代表矢量距离计算部83相同地,该处理内容与GPU那样的硬件兼容性高,非常高速地 被处理。
[0092] 图像特征簇选择部86以并行计算装置14为中心而实现。图像特征簇选择部86 基于由代表特征矢量距离计算部85计算出的查询特征矢量与多个代表特征矢量的每一个 的距离,从多个图像特征簇中选择图像特征簇。更详细地说,例如选择与查询特征矢量的距 离最短的代表特征矢量代表的图像特征簇。
[0093] 另外,在本实施方式中,如上位代表矢量和代表特征矢量那样,代表矢量成为2级 的树结构的结构,但也可以是不设置上位代表矢量的1级的结构。此时,不需要上位代表矢 量距离计算部83以及代表簇选择部84的处理,代表特征矢量距离计算部85关于全部代表 特征矢量进行距离计算。此外,也可以是3级以上的结构。
[0094] [图像特征矢量的选择]
[0095] 在选择出图像特征簇后,图像检索部52计算多个查询特征矢量的每一个与属于 所选择出的图像特征簇的图像特征矢量22的距离,基于该距离选择与该查询特征矢量对 应的一个或多个图像特征矢量22 (步骤S104)。该处理由图像特征矢量转发部87、图像特 征矢量距离计算部88、以及图像特征矢量选择部89进行。
[0096] 图像特征矢量转发部87以存储部12以及并行计算装置14为中心而实现。图像 特征矢量转发部87将属于由图像特征簇选择部86选择出的图像特征簇的多个图像特征 矢量22,从簇矢量存储部71转发至能够从多个处理器41公共地进行存取的装置内存储器 45。图像特征矢量转发部87与代表矢量转发部81转发代表特征矢量等相同地,配置图像 特征矢量22的数据,以便将装置内存储器45中存储的数据一并读入多个处理器41。
[0097] 图像特征矢量距离计算部88以并行计算装置14为中心而实现。图像特征矢量距 离计算部88使用多个并行的处理器41,计算多个图像特征矢量22的每一个与查询特征矢 量的距离。在此,用于计算的图像特征矢量22是属于由图像特征簇选择部86选择出的图 像特征簇的图像特征矢量22。该数据通过图像特征矢量转发部87被转发至装置内存储器 45。图像特征矢量距离计算部88与上位代表矢量距离计算部83计算距离相同地,关于查 询特征矢量的每一个,按照图14的流程而计算距离。其中,计算对象矢量是图像特征矢量 22。与上位代表矢量距离计算部83相同,该处理内容与GPU那样的硬件兼容性高,非常高 速地被处理。
[0098] 图像特征矢量选择部89以并行计算装置14为中心而实现。图像特征矢量选择 部89基于多个查询特征矢量与属于所选择出的图像特征簇的多个图像特征矢量22的接近 度,选择与多个查询特征矢量的每一个对应的多个图像特征矢量22。作为接近度,在该例 中使用距离。在此,图像特征矢量选择部89选择满足以下的条件的多个图像特征矢量22。 该条件是对于某查询特征量,对成为检索对象的多个图像的每一个选择一个图像特征矢量 22。通过该条件,防止从某一个图像中提取到的多个图像特征矢量22对应于一个查询特征 矢量。
[0099] 图15是表示从查询图像中提取的查询特征矢量与从成为检索对象的多个图像中 提取的图像特征矢量22之间的对应的一例的图。处于图15的左侧的一个矩形表示查询图 像,在其中的X标记表示从该查询图像中提取到的查询特征矢量。在图15的右侧在上下 方向上排列的矩形分别表示成为检索对象的图像,在该矩形的各自之中的X标记表示从 该图像中提取的图像特征矢量22。如图15所示,在某查询图像和成为检索对象的图像之中 的一个之间,一个查询特征矢量仅对应于一个图像特征矢量22。另一方面,对于该查询特征 矢量,可存在从成为检索对象的其他图像中提取的图像特征矢量22。当然,还可存在一部分 的图像不包含对应于该查询特征矢量的图像特征矢量22的情况,所以对应于某查询特征 矢量而从某一个图像中提取的图像特征矢量22的数目成为1或者0。
[0100] 图16是表示图像特征矢量选择部89的处理流程的一例的图。图像特征矢量选择 部89对每个查询特征矢量进行如图16所示的处理。此外,后述的已选择特征列表在对于 某查询图像的全部查询特征矢量之间公共使用,已选择特征列表在对第1个查询特征矢量 开始处理前被初始化。以下说明关于某查询特征矢量的处理。
[0101] 首先,图像特征矢量选择部89从属于所选择出的簇的图像特征矢量22中,取得与 查询特征矢量的距离比预先决定的阈值小的图像特征矢量,通过距离拣选(sort)这些图 像特征矢量(步骤S301)。
[0102] 图17是表示对查询特征矢量选择图像特征矢量22的情况下的例子的图。本图的 实线的圆表示所选择出的簇,处于该圆的中心的黑点表示该簇的代表矢量241 (准确地说 为矢量的坐标),白点表示该簇中包含的图像特征矢量22。加号记号表示查询特征矢量。在 图17的例子中,对应于查询特征矢量321而取得并拣选离查询特征矢量321的距离成为阈 值的范围内的、处于以查询特征矢量321的白点为中心的虚线内的图像特征矢量221、223。 此外,对于查询特征矢量322,取得并拣选图像特征矢量222、223。在此,能够通过使阈值变 化,从而控制检索精度。具体而言,阈值越小则能够将少数的图像特征矢量22作为检索结 果而输出,阈值越大则能够将宽范围的图像特征矢量22作为检索结果而输出。另外,在将 阈值设为最大的情况下,选择簇中包含的全部图像特征矢量。另外,也可以按距离近的顺序 而不是距离是否处于范围内来取得预先决定的数目的查询特征矢量。另外,在图17中,为 了易于理解,使用2维附图图示了簇的代表矢量、该簇中包含的图像特征矢量、以及查询特 征矢量,但实际上,这些矢量不是2维而是128维。
[0103] 接着,图像特征矢量选择部89清除并初始化属于已选择图像列表的图像(步骤 S302)。接着,将所拣选出的图像特征矢量22之中的第1个图像特征矢量22作为处理对 象而取得(步骤S303)。并且,在该处理对象的图像特征矢量22没有从处于已选择图像 列表的图像中被提取(步骤S304的"否"),且在已选择特征列表中不存在(步骤S305的 "否")的情况下,将成为处理对象的图像特征矢量22选择为对应于该查询特征矢量的图像 特征矢量(步骤S306)。并且,将所选择出的图像特征矢量22追加到已选择特征列表(步 骤S307),此外,将提取到所选择出的图像特征矢量22的图像追加到已选择图像列表(步骤 S308)。处理对象的图像特征矢量22从处于已选择图像列表的图像中被提取(步骤S304 的"是"),或者,在已选择特征列表中存在(步骤S305的"是")的情况下,跳过步骤S306 至步骤S308的处理。
[0104] 并且,若成为处理对象的图像特征矢量22是最后的图像特征矢量22 (步骤S309 的"是"),则对于该查询特征矢量的处理结束,若成为处理对象的图像特征矢量22不是最 后的图像特征矢量22 (步骤S309的"否"),则将下一个图像特征矢量22作为处理对象而 取得(步骤S310),从步骤S304起重复。
[0105] 通过步骤S304等的处理,抑制对于某查询特征矢量选择从一个图像提取到的多 个图像特征矢量22的现象。通过步骤S305等的处理,抑制例如图17中的图像特征矢量 223通过多个查询特征矢量多次被选择的现象。换言之,对某查询特征矢量选择的图像特征 矢量22与对其他查询特征矢量选择的图像特征矢量22不重复。其结果,从查询图像中提 取的查询特征矢量与从成为检索对象的图像的其中一个中提取到的图像特征矢量22之中 所选择的图像特征矢量以1对1的方式对应。
[0106] 图18是表示查询图像中的局部的特征(对应于查询特征矢量)与成为检索对象 的图像中的局部的特征(对应于图像特征矢量22)之间的对应的一例的图。在图18之中 上侧的矩形表示查询图像,下侧的矩形表示成为检索对象的图像。这些图像中包含的多个 三角形表示相互类似的局部的特征。像这样,查询图像中的局部的特征与成为检索对象的 图像中的局部的特征以1对1的方式对应。
[0107] 图19是表示查询图像中的局部的特征与成为检索对象的图像中的局部的特征之 间的对应的比较例的图。本图是在不进行步骤S304以及S305的处理的情况下的例子。此 时,成为多对多的对应关系,导致所选择的图像特征矢量22的数目飞跃性地增大。
[0108] 比较图18和图19也可知,通过上述的处理,能够防止在查询图像和成为检索对象 的图像之一中,局部的特征量的数目不同的图像提取比数目相同的图像更多的图像特征矢 量22。由此,通过后述的得分生成处理,能够抑制成为检索对象的图像具有的局部的特征的 数目与查询图像具有的局部的特征的数目大不相同的图像被选择为检索结果的可能性。
[0109] [每个图像的得分的生成]
[0110] 若图像特征矢量22被选择,则图像检索部52中包含的图像得分生成部90按成为 检索对象的每个图像生成得分(步骤S105)。图像得分生成部90以并行计算装置14为中 心而实现。图像得分生成部90关于多个图像的每一个,基于表示该图像的特征且所选择出 的多个图像特征矢量22与对应于该选择出的图像特征矢量22的查询特征矢量的接近度来 计算得分要素,进而基于该得分要素的合计,生成该图像的图像得分。
[0111] 图像得分生成部90使用以下的式,关于所选择出的图像特征矢量22的每一个,计 算得分要素 se。
[0112] [数 1]
[0113]

【权利要求】
1. 一种图像检索装置,其特征在于,包括: 查询特征矢量取得部件,取得分别表示成为查询的图像的局部的特征的多个查询特征 矢量; 图像特征矢量选择部件,基于多个图像特征矢量与所述多个查询特征矢量的接近度, 从存储部件中存储的多个图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多 个图像特征矢量,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每 一个而被预先存储在所述存储部件中,且分别表示各检索对象图像的多个局部的特征; 得分生成部件,基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个 图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要 素的合计,生成该检索对象图像的图像得分;以及 图像选择部件,基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中 的至少一个。
2. 如权利要求1所述的图像检索装置,其特征在于,还包括: 簇选择部件,从所述存储部件中存储的多个图像特征矢量被分类的多个簇中,选择与 所述多个查询特征矢量的每一个对应的簇, 所述图像特征矢量选择部件基于所述多个查询特征矢量与属于所述选择的簇的图像 特征矢量的接近度,选择与所述多个查询特征矢量对应的图像特征矢量。
3. 如权利要求1或2所述的图像检索装置,其特征在于, 所述选择出的多个图像特征矢量的每一个与对应于所述选择出的图像特征矢量的查 询特征矢量的接近度是该图像特征矢量与该查询特征矢量的距离。
4. 如权利要求3所述的图像检索装置,其特征在于, 所述图像特征矢量选择部件从属于所述选择的簇的图像特征矢量之中,选择与所述多 个查询特征矢量的距离比规定的阈值小的图像特征矢量。
5. -种程序,使计算机执行以下处理: 取得分别表示成为查询的图像的局部的特征的多个查询特征矢量; 基于多个图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个 图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所 述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在所述 存储部件中,且分别表示各检索对象图像的多个局部的特征; 基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、 和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成 该检索对象图像的图像得分;以及 基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个。
6. -种图像检索方法,其特征在于,包括: 取得分别表示成为查询的图像的局部的特征的多个查询特征矢量的步骤; 基于多个图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个 图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量的步骤, 其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储 在所述存储部件中,且分别表示各检索对象图像的多个局部的特征; 基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、 和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成 该检索对象图像的图像得分的步骤;以及 基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个的步 骤。
7. -种计算机能够读取的存储介质,存储使计算机执行以下处理的程序: 取得分别表示成为查询的图像的局部的特征的多个查询特征矢量; 基于多个图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个 图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所 述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在所述 存储部件中,且分别表示各检索对象图像的多个局部的特征; 基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、 和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成 该检索对象图像的图像得分;以及 基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个。
【文档编号】G06T1/00GK104221015SQ201380018098
【公开日】2014年12月17日 申请日期:2013年3月29日 优先权日:2012年3月29日
【发明者】A.赛瓦希尔, 鸟居顺次 申请人:乐天株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1