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

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

Info

Publication number
CN104221015B
CN104221015B CN201380018098.7A CN201380018098A CN104221015B CN 104221015 B CN104221015 B CN 104221015B CN 201380018098 A CN201380018098 A CN 201380018098A CN 104221015 B CN104221015 B CN 104221015B
Authority
CN
China
Prior art keywords
image
vector
query
cluster
selection
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.)
Active
Application number
CN201380018098.7A
Other languages
English (en)
Other versions
CN104221015A (zh
Inventor
A.赛瓦希尔
鸟居顺次
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lotte Group Co ltd
Original Assignee
Rakuten Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Publication of CN104221015A publication Critical patent/CN104221015A/zh
Application granted granted Critical
Publication of CN104221015B publication Critical patent/CN104221015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

以比以下情况更高的精度检索类似的图像,其中,所述情况是根据与查询图像的局部特征量对应的局部特征量的出现频度来评价图像的类似性的情况。图像检索装置取得表示成为查询的图像的局部的特征的多个查询特征矢量;基于多个图像特征矢量与所述多个查询特征矢量的接近度,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被存储在存储部件中,且分别表示各检索对象图像的多个局部的特征;基于与所述选择出的多个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成检索对象图像的图像得分;基于所述图像得分,选择所述多个检索对象图像之中的至少一个。

Description

图像检索装置、图像检索方法、程序以及计算机可读取的存储 介质
技术领域
本发明涉及图像检索装置、图像检索方法、程序以及计算机可读取的存储介质。
背景技术
由于网络技术等的发达,庞大的量的图像文件被管理。存在以下图像检索技术:从该大量的图像之中,选出类似于成为查询(query)的图像(查询图像)的图像。作为图像检索技术之一,使用表示图像的局部的特征的局部特征量,此外,为了从大量的图像中以短的响应时间检索类似图像,在一般的方法中简略地计算表示与查询图像的类似的程度的得分(score)。
上述的方法之一被称为BoF(Bag of Features)法。该方法应用了被称为BoW(Bagof Words)法的文档检索的方法。在BoF法中,使得从成为检索对象的图像中提取的局部特征量(以下记为“图像特征量”)的每一个与相当于BoW法中的单词的Visual Word(视觉单词)对应而存储。具体而言,对图像特征量进行聚类(clustering),使簇(cluster)对应于Visual Word。并且,在进行检索时从成为查询的图像中提取多个局部特征量(以下记为“查询特征量”),取得与该局部特征量的每一个对应的Visual Word。并且,将该Visual Word的出现频度统计地进行处理,从而生成表示查询图像与成为检索对象的图像的类似的程度的得分,检索类似的图像。
在专利文献1中,公开了使用Visual Word来检索图像的方法的概要,以及使得从图像中提取的图像特征量矢量与从关联于该图像的文章中提取的媒体(media)特征量矢量结合而检索图像的技术。
现有技术文献
专利文献
专利文献1:特开2011-103082号公报
发明内容
发明要解决的课题
在上述那样的得分的计算方法中,存在得不到所需的检索精度的情况。例如,在BoF法中,由于根据被变换为视觉单词的查询特征量的出现频度来计算得分,所以根据对应于视觉单词的簇的簇大小和聚类的精度,导致得分的精度降低。对应于视觉单词的图像特征量的数目越大则该现象变得更显著。另外,并不是对应于视觉单词的图像特征量的数目减小即可。这是因为易于产生判定视觉单词时的错误。
本发明是鉴于上述课题而完成的,其目的在于,提供能够以比以下情况高的精度检索图像的技术,其中,所述情况是如BoF法那样,根据与查询特征量对应的图像特征量的出现频度来评价查询图像与成为检索对象的图像的类似的程度的情况。
用于解决课题的手段
为了解决上述课题,本发明所涉及的图像检索装置的特征在于,包括:查询特征矢量取得部件,取得分别表示成为查询的图像的局部的特征的多个查询特征矢量;图像特征矢量选择部件,基于图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在所述存储部件中,且分别表示各检索对象图像的多个局部的特征;得分生成部件,基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成该检索对象图像的图像得分;以及图像选择部件,基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个。
此外,本发明所涉及的程序使计算机执行以下处理:取得分别表示成为查询的图像的局部的特征的多个查询特征矢量;基于多个图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在所述存储部件中,且分别表示各检索对象图像的多个局部的特征;基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成该检索对象图像的图像得分;以及基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个。
此外,本发明所涉及的图像检索方法的特征在于,包括:取得分别表示成为查询的图像的局部的特征的多个查询特征矢量的步骤;基于多个图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量的步骤,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在所述存储部件中,且分别表示各检索对象图像的多个局部的特征;基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成该检索对象图像的图像得分的步骤;以及基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个的步骤。
此外,本发明所涉及的计算机能够读取的存储介质存储使计算机执行以下处理的程序:取得分别表示成为查询的图像的局部的特征的多个查询特征矢量;基于多个图像特征矢量与所述多个查询特征矢量的接近度,从存储部件中存储的多个图像特征矢量,选择与所述多个查询特征矢量的每一个对应的多个图像特征矢量,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在所述存储部件中,且分别表示各检索对象图像的多个局部的特征;基于与表示多个检索对象图像的其中一个的特征且所述选择出的多个图像特征矢量、和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成该检索对象图像的图像得分;以及基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个。
根据本发明,能够比仅基于与查询特征量对应的图像特征量的出现频度来评价查询图像与成为检索对象的图像的类似的程度的情况,以更高的精度检索图像。
也可以是在本发明的一个方式中,还包括:簇选择部件,从所述存储部件中存储的多个图像特征矢量被分类的多个簇中,选择与所述多个查询特征矢量的每一个对应的簇,所述图像特征矢量选择部件基于所述多个查询特征矢量与属于所述选择的簇的图像特征矢量的接近度,选择与所述多个查询特征矢量对应的图像特征矢量。
根据本方式,能够提高图像的检索速度。
在本发明的一个方式中,所述选择出的多个图像特征矢量的每一个与对应于所述选择出的图像特征矢量的查询特征矢量的接近度也可以是该图像特征矢量与该查询特征矢量的距离。
也可以是在本发明的一个方式中,所述图像特征矢量选择部件从属于所述选择的簇的图像特征矢量之中,选择与所述多个查询特征矢量的距离比规定的阈值小的图像特征矢量。
根据本方式,能够通过变更阈值来控制检索精度。
附图说明
图1是表示第一实施方式所涉及的图像检索系统的结构的一例的图。
图2是表示第一实施方式所涉及的图像检索装置的结构的一例的图。
图3是表示并行计算装置的结构的一例的图。
图4是表示第一实施方式所涉及的图像检索装置的功能的功能框图。
图5是表示第一实施方式所涉及的索引生成部的功能结构的功能框图。
图6是表示成为检索对象的图像的一例的图。
图7是表示从图像中提取的图像特征矢量的概念的图。
图8是表示代表矢量的树结构的一例的图。
图9是表示第一实施方式所涉及的图像检索部的功能结构的功能框图。
图10是表示第一实施方式所涉及的图像检索部的处理的概略的处理流程的一例的图。
图11是表示装置内存储器中的数据配置的一例的图。
图12是表示装置内存储器中的代表矢量的配置的一例的图。
图13是表示输入成为查询的图像的画面的一例的图。
图14是表示距离计算的处理流程的一例的图。
图15是表示从查询图像中提取的查询特征矢量与从成为检索对象的多个图像中提取的图像特征矢量之间的对应的一例的图。
图16是表示图像特征矢量选择部的处理流程的一例的图。
图17是表示对查询特征矢量选择图像特征矢量的情况的例子的图。
图18是表示查询图像中的局部的特征与成为检索对象的图像中的局部的特征之间的对应的一例的图。
图19是表示查询图像中的局部的特征与成为检索对象的图像中的局部的特征之间的对应的比较例的图。
图20是表示查询特征矢量与图像特征矢量的距离的偏差的一例的图。
图21是表示对对应于查询特征矢量的图像进行统计处理的结果的一例的图。
图22是表示簇图像特征量存储部中存储的数据的一例的图。
图23是表示第二实施方式所涉及的图像检索部的功能结构的功能框图。
图24是示出表示第二实施方式所涉及的图像检索部的处理的概要的处理流程的一例的图。
图25是说明第3个图像特征簇中的图像特征矢量的分布和基于查询特征矢量的选择的图。
图26是表示为了生成图像得分而使用的转置矩阵的一例的图。
图27是示出表示第三实施方式所涉及的图像检索部的处理的概要的处理流程的一例的图。
具体实施方式
以下,基于附图说明本发明的实施方式。对所出现的结构要素之中具有相同功能的结构要素赋予相同的符号,省略其说明。
[第一实施方式]
图1是表示本发明的第一实施方式所涉及的图像检索系统的结构的一例的图。图像检索系统包含图像检索装置1、Web服务器2、客户端装置3。Web服务器2例如是Web服务器程序工作的服务器硬件,客户端装置3例如是Web浏览器的程序工作的个人计算机或智能手机。图像检索系统进行图像检索时的工作的概要如以下。首先,Web服务器2经由互联网等网络从客户端装置3取得成为用于图像检索的查询的图像(以下,记述为“查询图像”),将该查询图像输入至图像检索装置1。接着,图像检索装置1检索类似于所输入的图像的一个或多个图像,输出至Web服务器2。Web服务器2输出使客户端装置3显示图像检索装置1检索到的图像的数据。
图2是表示第一实施方式所涉及的图像检索装置1的结构的一例的图。图像检索装置1包含CPU11、存储部12、通信部13、并行计算装置14、以及总线15。
CPU11按照存储部12中存储的程序而工作。此外,CPU11控制通信部13、并行计算装置14。另外,上述程序也可以是经由互联网等网络而被提供的程序,也可以是被存储在DVD-ROM或USB存储器等能够通过计算机读取的信息存储介质中而提供的程序。
存储部12由RAM、ROM等存储器元件和硬盘驱动等构成。存储部12存储上述程序。此外,存储部12存储从各部输入的信息和运算结果。
通信部13是实现与Web服务器2等的其他装置进行通信的功能的部件,例如由网卡那样的通信部件构成。网卡包含通信用的集成电路和通信端子。通信部13基于CPU11的控制,将从其他装置接收到的信息输入至CPU11和存储部12,向其他装置发送信息。
总线15构成与在CPU11、存储部12、通信部13以及并行计算装置14之间交换数据的路径。例如,CPU11、存储部12与并行计算装置14经由总线15中的扩展总线而连接。
并行计算装置14是擅长通过并行计算来大量进行同种的计算的硬件。并行计算装置14例如是GPU(图形处理单元,Graphics Processing Unit)。图3是表示并行计算装置14的结构的一例的图。并行计算装置14包含多个并行执行部40、装置内存储器45。此外,各并行执行部40包含多个处理器41、命令单元42、高速存储器43。
多个处理器41的每一个进行浮动小数点计算、以及与装置内存储器45和高速存储器43之间的数据的读入和写入等的处理。命令单元42基于装置内存储器45等中存储的程序,使得包含该命令单元42的并行执行部40中包含的多个处理器41进行处理。某并行执行部40中包含的多个处理器41根据来自该并行执行部40中包含的一个命令单元42的指示而处理相同的命令。这样,由于能够将多个处理器41以一个命令单元42来控制,所以能够抑制命令单元42的电路的规模的增加。相比于CPU11,能够增加并行计算装置14中包含的处理器41的数目,在后述那样的特定的计算处理中,比使用多个独立性高的处理器的情况更容易进行高速化。
装置内存储器45由DRAM构成,该DRAM能够比存储部12中使用的RAM更高速地进行存取。装置内存储器45经由总线15而连接到CPU11和存储部12。另外,并行计算装置14还具有通过DMA转发而在装置内存储器45和存储部12之间转发数据的电路。高速存储器43由能够比装置内存储器45更高速地进行存取的SRAM等构成。处理器41对高速存储器43进行存取时的等待时间(latency)与处理器41对其内部寄存器进行存取时的等待时间基本不变。在此,装置内存储器45和高速存储器43都是能够从多个处理器41公共地进行存取的公共存储器。
图4是表示第一实施方式所涉及的图像检索装置1的功能的功能框图。图像检索装置1在功能上包含索引生成部51、以及图像检索部52。这些功能通过CPU11执行存储部12中存储的程序,控制通信部13和并行计算装置14,并且并行计算装置14执行面向该并行计算装置14的程序而实现。
[索引的生成]
以下,说明将图像特征矢量22分类为簇,生成索引的处理。
索引生成部51根据成为检索对象的多个图像,生成在图像检索时使用的图像特征矢量22、和使得该图像特征矢量22的选择变得容易的索引。图像检索部52使用索引和图像特征矢量22,检索类似于查询图像的图像。
图5是表示索引生成部51的功能结构的功能框图。索引生成部51在功能上包含图像特征矢量提取部61、簇生成部62。簇生成部62生成成为簇的索引的代表矢量的树结构,在树结构代表矢量存储部72中存储与索引关联的信息。此外,簇矢量存储部71存储属于成为该树结构的叶的簇(代表矢量代表的簇)的图像特征矢量22的信息。簇矢量存储部71、树结构代表矢量存储部72具体而言由存储部12构成。
图像特征矢量提取部61主要通过CPU11、存储部12、以及并行计算装置14来实现。图像特征矢量提取部61从存储部12中存储的、成为检索对象的多个图像的每一个中,提取一个或多个图像特征矢量22。此外,图像特征矢量提取部61将所提取到的图像特征矢量22与提取到该图像特征矢量22的图像建立关联而存储至存储部12。
图6是表示成为检索对象的图像的一例的图。图7是表示从图像中提取的图像特征矢量22的概念的图。从图像中提取的图像特征矢量22的每一个是表示该图像的局部的特征的局部特征量。图像特征矢量22的每一个例如是具有128个要素(维)的矢量。为了从图像中提取图像特征矢量22,也可以使用SIFT(尺度不变特征转换,Scale-Invariant Featuretransform)、SURF(加速鲁棒特征,Speeded Up Robust Features)等的公知的方法。图像特征矢量22的每一个具有的要素的数目也可以根据从图像提取的方法等而变化。此外,从一个图像中提取的图像特征矢量22的数目也可以是预先决定的数目(例如300),从单纯的图像中提取的图像特征矢量22的数目也可以比该预先决定的数目少。
簇生成部62主要通过CPU11、存储部12以及并行计算装置14来实现。簇生成部62通过聚类,将由图像特征矢量提取部61提取到的多个图像特征矢量22的至少一部分分类为多个簇。换言之,生成所提取到的图像特征矢量22的至少一部分被分类的多个簇。此外,生成代表这些簇的每一个的代表矢量。图像特征矢量22被分类的簇也可以是多级。对应于此,分类为簇的处理不限于1级的处理,也可以是多级的处理。以下,说明通过递归调用该多级的处理而实现的处理的例子。另外,在具体的例子中进行2级的处理,在第1级中将由图像特征矢量提取部61提取到的多个图像特征矢量22分类为1024个簇,进而在第2级中将该1024个簇的每一个分类为512个簇。
在簇生成部62的各级的处理中,通过聚类而将被给予的多个图像特征矢量22分类为被给予的个数的簇,生成多个簇,进而生成该生成的簇的代表矢量,将所生成的代表矢量作为该级的代表矢量而存储至树结构代表矢量存储部72。在处理中的级不是最下级的情况下,簇生成部62将属于处理中的级中生成的簇的每一个的多个图像特征矢量22作为输入信息,递归调用下一级的处理。代表矢量例如是属于该被分类的簇的图像特征矢量22的重心,是代表该簇的矢量。此外,簇生成部62按最下级的处理中生成的每个簇,将属于该簇的图像特征矢量22存储至簇矢量存储部71。
在上述的例子的情况下,在第1级的处理中,簇生成部62将被给予的图像特征矢量22分类为1024个簇,生成该被分类的第1级的各簇的代表矢量,将所生成的第1级的代表矢量存储至树结构代表矢量存储部72。在第2级的处理中,簇生成部62将属于第1级中生成的1024个簇的每一个的多个图像特征矢量22作为输入信息,进而分类为512个簇,生成该被分类的第2级的各簇的代表矢量,将所生成的下位的级的代表矢量存储至树结构代表矢量存储部72。若生成全部第2级的簇,则该第2级的簇的总数成为(1024×512)个。进而簇生成部62按照第2级中生成的每个簇,将属于该簇的图像特征矢量22存储至簇矢量存储部71。以下,为了易于说明,将代表第1级的簇的代表矢量记为上位代表矢量,将代表最下级(在上述的例子中为第2级)的簇的代表矢量记为代表特征矢量。此外,将最终生成的簇(在上述的例子中为第2级的簇)也记为图像特征簇。
在将图像特征矢量22分类为簇时,使用k-means法等的公知的聚类方法即可。簇的数目由于与后述的图像检索部52的处理的关系,优选2的幂,但也可以不是2的幂。此外,若分类全部图像中包含的图像特征矢量22,则多个图像特征矢量22属于各自的图像特征簇。通过2级地进行簇生成部62的递归处理,能够在树结构代表矢量存储部72中存储2层的信息。另外,图像特征矢量提取部61和簇生成部62的计算也可以不使用并行计算装置14而进行。但是优选这些计算使用并行计算装置14。这是因为根据比较实验,在使用并行计算装置14的情况下的计算速度成为不使用的情况的20至200倍。
图8是表示代表矢量的树结构的一例的图。在簇生成部62进行上述的2级的处理的情况下,与2级的簇对应的2级的代表矢量构成树结构。上位代表矢量的数目为1024个,上位代表矢量的每一个成为512个代表特征矢量的父。在这样使用基于多级的簇的树结构的情况下,图像检索部52能够利用与该树结构相应的代表矢量中存在父子关系的情况而进行检索。
[检索图像的处理]
图9是表示图像检索部52的功能结构的功能框图。图像检索部52在功能上包含代表矢量转发部81、查询特征矢量取得部82、上位代表矢量距离计算部83、代表簇选择部84、代表特征矢量距离计算部85、图像特征簇选择部86、图像特征矢量转发部87、图像特征矢量距离计算部88、图像特征矢量选择部89、图像得分生成部90、以及检索结果图像选择部91。
图10是表示第一实施方式所涉及的图像检索部52的处理的概要的图。以下,按照图10所示的处理流程,说明图像检索部52中包含的各功能。
[并行计算装置的初始化]
代表矢量转发部81主要通过并行计算装置14、存储部12来实现。代表矢量转发部81作为初始化并行计算装置14的处理(步骤S101),将树结构代表矢量存储部72中存储的、多个上位代表矢量以及多个代表特征矢量,转发至能够从多个处理器41公共地进行存取的装置内存储器45。
在代表矢量转发部81将上述数据从存储部12转发至装置内存储器45时,使用并行计算装置14和总线15的DMA(直接存储器存取,Direct Memory Access)功能。
图11是表示装置内存储器45中的数据配置的一例的图。在装置内存储器45中,设置存储代表特征矢量的区域、存储上位代表矢量的区域、存储一个图像特征簇中包含的图像特征矢量22的区域。代表矢量转发部81将存储部12中存储的多个代表矢量的信息存储至预先分配的装置内存储器45的存储器区域。向存储图像特征簇的区域的数据的存储在后面叙述。
在此,若设为代表特征矢量的要素数为128维,代表特征矢量的数目为与图像特征簇的数目相同的(1024×512)个,各要素为1字节的整数型,则该多个代表特征矢量的全部数据量成为(1024×512×128)字节(B)、即64MB。此外,此时,由于多个上位代表矢量的数目为1024,所以同样地,多个上位代表矢量的数据量成为(1024×128)字节、即128KB。若例如被搭载在现行的GPU的装置内存储器45的存储器容量为1GB左右,且装置内存储器45的容量也为1GB,则多个代表矢量的数据量比装置内存储器45的容量小。
另一方面,若设为图像的数目为100万,从一个图像中提取的图像特征矢量22的数目为300,则多个图像特征簇中包含的图像特征矢量22的数据量成为(100万×300×128)字节、即约36GB,不能存储至装置内存储器45。另一方面,由于每一个图像特征簇的平均的图像特征矢量22的数目为(100万×300÷(1024×512))、即约600,所以数据量为75KB左右。即使通过聚类而图像特征簇中包含的图像特征矢量22的数目稍微变动,多个代表特征矢量的数据量、多个上位代表矢量的数据量、一个图像特征簇中包含的图像特征矢量22的数据量之和也比装置内存储器45的容量小。
图12是表示装置内存储器45中的代表矢量的配置的一例的图。装置内存储器45中存储的代表矢量的各要素的大小为4字节,按要素的顺序排列。此外,某代表矢量的数据的开头地址成为能够从装置内存储器45一并读出的数据的字节数(例如32或64)的倍数。该数据结构是用于在后述的距离计算的处理中,将装置内存储器45中存储的数据一并读入多个处理器41的数据结构。即使代表矢量的各要素的大小为1字节,为了一并读入,代表矢量转发部81也对装置内存储器45转发将各要素的大小变换为4字节后的数据。另外,上位代表矢量、一个图像特征簇内的图像特征矢量22也以同样的数据结构而存储至装置内存储器45。装置内存储器45内的多个代表特征矢量、多个上位代表矢量、以及一个图像特征簇中包含的图像特征矢量22的数据量成为4倍,但在该例中,这些数据量之和比装置内存储器45的容量小的点不变。在本实施方式中,调整图像特征簇或代表矢量的数目,以使至少装置内存储器45内的多个代表特征矢量、以及多个上位代表矢量的数据量之和收纳于装置内存储器45的容量即可。
[查询特征矢量的取得]
查询特征矢量取得部82主要通过CPU11、存储部12、以及并行计算装置14来实现。查询特征矢量取得部82在并行计算装置14的初始化之后,从查询图像中取得一个或多个查询特征矢量(步骤S102)。此外,查询特征矢量取得部82将从查询图像中提取的一个或多个查询特征矢量存储至作为公共存储器的装置内存储器45。
查询特征矢量取得部82首先从客户端装置3经由Web服务器2取得查询图像。图13是表示输入查询图像的画面的一例的图。客户端装置3通过Web服务器2所生成的数据来显示本画面。查询图像也可以通过用户上传客户端装置3内的图像文件而取得,也可以通过发送某些Web页面中显示的图像的URL而取得,也可以通过从照片共享服务等中存储的图像中选择查询图像而取得。接着,查询特征矢量取得部82从Web服务器2取得所取得的查询图像,从该查询图像中提取并取得一个或多个查询特征矢量。查询特征矢量使用与图像特征矢量提取部61提取图像特征矢量22的方法相同的方法而生成。接着,查询特征矢量取得部82将查询特征矢量存储至装置内存储器45。在此,也可以是CPU11提取查询特征矢量,并行计算装置14将查询特征矢量加载至装置内存储器45,也可以是将查询图像加载至并行计算装置14,并行计算装置14提取查询特征矢量而存储至装置内存储器45。
[图像特征簇的选择]
接着,图像检索部52选择与多个查询特征矢量的每一个对应的图像特征簇(步骤S103)。该处理由上位代表矢量距离计算部83、代表簇选择部84、代表特征矢量距离计算部85、以及图像特征簇选择部86进行。
上位代表矢量距离计算部83以并行计算装置14为中心而实现。上位代表矢量距离计算部83使用多个并行的处理器41,计算多个上位代表矢量的每一个与查询特征矢量的距离。以下,说明上位代表矢量距离计算部83中的距离计算的细节。另外,上位代表矢量距离计算部83、代表簇选择部84、代表特征矢量距离计算部85、图像特征簇选择部86、图像特征矢量距离计算部88、以及图像特征矢量选择部89的处理关于从查询图像中提取到的查询特征矢量的每一个而进行。
图14是表示距离计算的处理流程的一例的图。首先,上位代表矢量距离计算部83将查询特征矢量从装置内存储器45加载到进行距离计算的并行执行部40的高速存储器43(步骤S201)。接着,将成为计算对象的矢量(在此为上位代表矢量)的各要素从装置内存储器45加载到进行该要素的计算的处理器41的寄存器(步骤S202)。此时,多个处理器41从装置内存储器45一并读入计算对象矢量的数据。由于成为计算对象的矢量的数据通过代表矢量转发部81等预先以能够进行该一并的读入的方式被存储至装置内存储器45,所以多个处理器41能够进行该读入。接着,上位代表矢量距离计算部83对寄存器中存储的成为计算对象的矢量的要素、和对应于该要素的查询特征矢量的要素进行减法,进而将该减法结果平方(步骤S203)。在距离计算中,也可以代替将减法结果平方而使用利用减法结果的绝对值等的其他距离函数。距离函数所使用的距离不限于如步骤S203那样的欧几里得(Euclid)距离(L2),也可以是余弦(Cosine)、曼哈顿(Manhattan)距离(L1)等。
接着,合计关于成为计算对象的矢量的各要素的步骤S103的计算结果(步骤S204)。并且,上位代表矢量距离计算部83将合计结果存储至装置内存储器45(步骤S205)。另外,若某并行执行部40中包含的、执行相同的命令的处理器41的数目比查询特征矢量或成为计算对象的矢量的要素的数目少,则步骤S202至步骤S204的处理配合处理器41的数目而被分割,多次被执行。此外,在存在多个并行执行部40的情况下,上位代表矢量距离计算部83使其他的并行执行部40关于其他的成为计算对象的矢量执行步骤S201至S205的处理。此外,关于从查询图像中提取到的其他查询特征矢量,也可以并行地进行计算。通过这样,查询特征矢量与其他多个计算对象的矢量的距离计算配合GPU那样的并行计算装置14的并行计算能力而并行地被计算。由该距离计算的处理内容可知,被适当地配置在装置内存储器45中的多个矢量与查询特征矢量的距离计算与GPU那样的硬件兼容性高,非常高速地被处理。
代表簇选择部84以并行计算装置14为中心而实现。代表簇选择部84基于上位代表矢量距离计算部83中计算出的查询特征矢量与多个上位代表矢量的每一个的距离,从多个代表特征矢量的集合中选择一个集合。更详细地说,例如选择成为与查询特征矢量的距离最短的上位代表矢量的子的多个代表特征矢量的集合。该代表特征矢量的集合的每一个对应于第1级的簇(代表簇)。代表特征矢量的集合的选择也相当于与此对应的代表簇的选择。另外,能够看作上位代表矢量的每一个代表多个代表特征矢量。更具体而言,代表簇选择部84通过计算存储该代表矢量的集合的存储器内的区域的开头地址来选择该集合。例如,若成为某上位代表矢量的子的代表特征矢量的数目与上位代表矢量无关而为一定,则若知道距离最短的上位代表矢量是第几个,则能够以乘法等单纯的计算来求得开头地址。这样,不使用需要分支或追加的存储器存取的运算即可,所以能够进行将GPU那样的硬件的性能更活用的处理。
代表特征矢量距离计算部85以并行计算装置14为中心而实现。代表特征矢量距离计算部85使用多个并行的处理器41计算多个代表特征矢量的至少一部分的每一个与查询特征矢量的距离。在此,成为计算对象的代表特征矢量是属于由代表簇选择部84选择出的集合的代表特征矢量。代表特征矢量距离计算部85与上位代表矢量距离计算部83计算距离相同地,按照图14的流程计算距离。其中,计算对象矢量是上述的代表特征矢量。与上位代表矢量距离计算部83相同地,该处理内容与GPU那样的硬件兼容性高,非常高速地被处理。
图像特征簇选择部86以并行计算装置14为中心而实现。图像特征簇选择部86基于由代表特征矢量距离计算部85计算出的查询特征矢量与多个代表特征矢量的每一个的距离,从多个图像特征簇中选择图像特征簇。更详细地说,例如选择与查询特征矢量的距离最短的代表特征矢量代表的图像特征簇。
另外,在本实施方式中,如上位代表矢量和代表特征矢量那样,代表矢量成为2级的树结构的结构,但也可以是不设置上位代表矢量的1级的结构。此时,不需要上位代表矢量距离计算部83以及代表簇选择部84的处理,代表特征矢量距离计算部85关于全部代表特征矢量进行距离计算。此外,也可以是3级以上的结构。
[图像特征矢量的选择]
在选择出图像特征簇后,图像检索部52计算多个查询特征矢量的每一个与属于所选择出的图像特征簇的图像特征矢量22的距离,基于该距离选择与该查询特征矢量对应的一个或多个图像特征矢量22(步骤S104)。该处理由图像特征矢量转发部87、图像特征矢量距离计算部88、以及图像特征矢量选择部89进行。
图像特征矢量转发部87以存储部12以及并行计算装置14为中心而实现。图像特征矢量转发部87将属于由图像特征簇选择部86选择出的图像特征簇的多个图像特征矢量22,从簇矢量存储部71转发至能够从多个处理器41公共地进行存取的装置内存储器45。图像特征矢量转发部87与代表矢量转发部81转发代表特征矢量等相同地,配置图像特征矢量22的数据,以便将装置内存储器45中存储的数据一并读入多个处理器41。
图像特征矢量距离计算部88以并行计算装置14为中心而实现。图像特征矢量距离计算部88使用多个并行的处理器41,计算多个图像特征矢量22的每一个与查询特征矢量的距离。在此,用于计算的图像特征矢量22是属于由图像特征簇选择部86选择出的图像特征簇的图像特征矢量22。该数据通过图像特征矢量转发部87被转发至装置内存储器45。图像特征矢量距离计算部88与上位代表矢量距离计算部83计算距离相同地,关于查询特征矢量的每一个,按照图14的流程而计算距离。其中,计算对象矢量是图像特征矢量22。与上位代表矢量距离计算部83相同,该处理内容与GPU那样的硬件兼容性高,非常高速地被处理。
图像特征矢量选择部89以并行计算装置14为中心而实现。图像特征矢量选择部89基于多个查询特征矢量与属于所选择出的图像特征簇的多个图像特征矢量22的接近度,选择与多个查询特征矢量的每一个对应的多个图像特征矢量22。作为接近度,在该例中使用距离。在此,图像特征矢量选择部89选择满足以下的条件的多个图像特征矢量22。该条件是对于某查询特征量,对成为检索对象的多个图像的每一个选择一个图像特征矢量22。通过该条件,防止从某一个图像中提取到的多个图像特征矢量22对应于一个查询特征矢量。
图15是表示从查询图像中提取的查询特征矢量与从成为检索对象的多个图像中提取的图像特征矢量22之间的对应的一例的图。处于图15的左侧的一个矩形表示查询图像,在其中的×标记表示从该查询图像中提取到的查询特征矢量。在图15的右侧在上下方向上排列的矩形分别表示成为检索对象的图像,在该矩形的各自之中的×标记表示从该图像中提取的图像特征矢量22。如图15所示,在某查询图像和成为检索对象的图像之中的一个之间,一个查询特征矢量仅对应于一个图像特征矢量22。另一方面,对于该查询特征矢量,可存在从成为检索对象的其他图像中提取的图像特征矢量22。当然,还可存在一部分的图像不包含对应于该查询特征矢量的图像特征矢量22的情况,所以对应于某查询特征矢量而从某一个图像中提取的图像特征矢量22的数目成为1或者0。
图16是表示图像特征矢量选择部89的处理流程的一例的图。图像特征矢量选择部89对每个查询特征矢量进行如图16所示的处理。此外,后述的已选择特征列表在对于某查询图像的全部查询特征矢量之间公共使用,已选择特征列表在对第1个查询特征矢量开始处理前被初始化。以下说明关于某查询特征矢量的处理。
首先,图像特征矢量选择部89从属于所选择出的簇的图像特征矢量22中,取得与查询特征矢量的距离比预先决定的阈值小的图像特征矢量,通过距离拣选(sort)这些图像特征矢量(步骤S301)。
图17是表示对查询特征矢量选择图像特征矢量22的情况下的例子的图。本图的实线的圆表示所选择出的簇,处于该圆的中心的黑点表示该簇的代表矢量241(准确地说为矢量的坐标),白点表示该簇中包含的图像特征矢量22。加号记号表示查询特征矢量。在图17的例子中,对应于查询特征矢量321而取得并拣选离查询特征矢量321的距离成为阈值的范围内的、处于以查询特征矢量321的白点为中心的虚线内的图像特征矢量221、223。此外,对于查询特征矢量322,取得并拣选图像特征矢量222、223。在此,能够通过使阈值变化,从而控制检索精度。具体而言,阈值越小则能够将少数的图像特征矢量22作为检索结果而输出,阈值越大则能够将宽范围的图像特征矢量22作为检索结果而输出。另外,在将阈值设为最大的情况下,选择簇中包含的全部图像特征矢量。另外,也可以按距离近的顺序而不是距离是否处于范围内来取得预先决定的数目的查询特征矢量。另外,在图17中,为了易于理解,使用2维附图图示了簇的代表矢量、该簇中包含的图像特征矢量、以及查询特征矢量,但实际上,这些矢量不是2维而是128维。
接着,图像特征矢量选择部89清除并初始化属于已选择图像列表的图像(步骤S302)。接着,将所拣选出的图像特征矢量22之中的第1个图像特征矢量22作为处理对象而取得(步骤S303)。并且,在该处理对象的图像特征矢量22没有从处于已选择图像列表的图像中被提取(步骤S304的“否”),且在已选择特征列表中不存在(步骤S305的“否”)的情况下,将成为处理对象的图像特征矢量22选择为对应于该查询特征矢量的图像特征矢量(步骤S306)。并且,将所选择出的图像特征矢量22追加到已选择特征列表(步骤S307),此外,将提取到所选择出的图像特征矢量22的图像追加到已选择图像列表(步骤S308)。处理对象的图像特征矢量22从处于已选择图像列表的图像中被提取(步骤S304的“是”),或者,在已选择特征列表中存在(步骤S305的“是”)的情况下,跳过步骤S306至步骤S308的处理。
并且,若成为处理对象的图像特征矢量22是最后的图像特征矢量22(步骤S309的“是”),则对于该查询特征矢量的处理结束,若成为处理对象的图像特征矢量22不是最后的图像特征矢量22(步骤S309的“否”),则将下一个图像特征矢量22作为处理对象而取得(步骤S310),从步骤S304起重复。
通过步骤S304等的处理,抑制对于某查询特征矢量选择从一个图像提取到的多个图像特征矢量22的现象。通过步骤S305等的处理,抑制例如图17中的图像特征矢量223通过多个查询特征矢量多次被选择的现象。换言之,对某查询特征矢量选择的图像特征矢量22与对其他查询特征矢量选择的图像特征矢量22不重复。其结果,从查询图像中提取的查询特征矢量与从成为检索对象的图像的其中一个中提取到的图像特征矢量22之中所选择的图像特征矢量以1对1的方式对应。
图18是表示查询图像中的局部的特征(对应于查询特征矢量)与成为检索对象的图像中的局部的特征(对应于图像特征矢量22)之间的对应的一例的图。在图18之中上侧的矩形表示查询图像,下侧的矩形表示成为检索对象的图像。这些图像中包含的多个三角形表示相互类似的局部的特征。像这样,查询图像中的局部的特征与成为检索对象的图像中的局部的特征以1对1的方式对应。
图19是表示查询图像中的局部的特征与成为检索对象的图像中的局部的特征之间的对应的比较例的图。本图是在不进行步骤S304以及S305的处理的情况下的例子。此时,成为多对多的对应关系,导致所选择的图像特征矢量22的数目飞跃性地增大。
比较图18和图19也可知,通过上述的处理,能够防止在查询图像和成为检索对象的图像之一中,局部的特征量的数目不同的图像提取比数目相同的图像更多的图像特征矢量22。由此,通过后述的得分生成处理,能够抑制成为检索对象的图像具有的局部的特征的数目与查询图像具有的局部的特征的数目大不相同的图像被选择为检索结果的可能性。
[每个图像的得分的生成]
若图像特征矢量22被选择,则图像检索部52中包含的图像得分生成部90按成为检索对象的每个图像生成得分(步骤S105)。图像得分生成部90以并行计算装置14为中心而实现。图像得分生成部90关于多个图像的每一个,基于表示该图像的特征且所选择出的多个图像特征矢量22与对应于该选择出的图像特征矢量22的查询特征矢量的接近度来计算得分要素,进而基于该得分要素的合计,生成该图像的图像得分。
图像得分生成部90使用以下的式,关于所选择出的图像特征矢量22的每一个,计算得分要素se。
[数1]
在此,dist是图像特征矢量22与对应于该图像特征矢量22的查询特征矢量的距离,ln表示自然对数,e表示自然对数的底。由此,具有对应的查询特征矢量的图像特征矢量22的得分要素se根据距离而发生变化。接着,图像得分生成部90关于图像的每一个,使用从该图像中提取的、图像特征矢量选择部89选择出的图像特征矢量22的得分要素s的合计,如以下的式那样计算图像得分si。
[数2]
在此,kn是从该图像中提取到的图像特征矢量22的数目。由这些式生成的图像得分si关于图像的每一个,成为不仅考虑图像特征矢量22被选择的频度,还考虑了查询特征矢量的每一个与对应的图像特征矢量22的接近度的得分,所以能够进一步提高检索精度。
图20是表示查询特征矢量与图像特征矢量22的距离的偏差的一例的图。例如,如本图那样,在查询特征矢量324与对应而选择的图像特征矢量224接近,查询特征矢量325与对应而选择的图像特征矢量225接近的情况下,以往以相同的权重计算得分,但通过上述的处理,计算反映了这样的差异的得分,能够进行更反映了局部的特征的类似性的检索。
[图像的选择]
若图像得分被生成,则图像检索部52中包含的检索结果图像选择部91选择成为检索结果的图像(步骤S106)。检索结果图像选择部91以并行计算装置14为中心而实现。检索结果图像选择部91基于图像得分生成部90计算出的图像得分,选择成为检索对象的多个图像之中的至少一个作为检索结果。具体而言,将图像得分根据其值而降序排序,从其图像得分高的图像中选择几个,或选择图像得分比规定的值高的图像。
图21是表示图像得分的排序结果的一例的图。如本图所示,在将包含一个星标记的土耳其国旗设为查询图像的情况下,抑制对于包含大量星标记的美国星条旗的图像的图像得分上升的现象。若检索结果图像选择部91选择图像,则向Web服务器2输出所选择出的图像的信息。Web服务器2输出使客户端装置3显示检索结果的图像的信息。
另外,上位代表矢量距离计算部83至图像特征矢量距离计算部88的处理与GPU等的进行并行计算的硬件的兼容性高,能够完全活用GPU的并行计算能力。此外,这以后的处理也能够在一定程度上进行并行处理,能够通过还使用CPU11而更高速地进行处理。因此,能够充分具有基于GPU的处理时间的缩短效果。此外,也可以使CPU11执行这些处理之中的一部分。
[第二实施方式]
本发明的第二实施方式所涉及的图像检索系统与第一实施方式不同,在选择了图像特征簇后不判断图像特征矢量22与查询特征矢量的距离。该方法是与BoF法一部分类似的检索方法。以下,以与第一实施方式的不同点为中心进行说明。另外,构成图1所示的图像检索系统的设备的结构、图像检索装置1具有索引生成部51以及图像检索部52的点与第一实施方式相同。
[索引的生成]
与第一实施方式相同,索引生成部51包含图像特征矢量提取部61、簇生成部62。图像特征矢量提取部61从成为检索对象的多个图像的每一个中提取多个图像特征矢量22。簇生成部62将该提取到的图像特征矢量22分类为多个图像特征簇。此外,簇生成部62将这些图像特征簇的代表矢量存储至代表矢量存储部172,将与属于图像特征簇的图像特征矢量22相关的信息存储至簇图像特征量存储部171。至图像特征簇的分类使用与第一实施方式相同的方法即可。其中,簇生成部62在簇图像特征量存储部171中,代替图像特征矢量22的各要素而存储相当于该图像特征矢量22的索引的信息,更具体而言存储提取到该图像特征矢量的图像的识别信息。簇图像特征量存储部171、代表矢量存储部172具体而言由存储部12构成。
图22是表示簇图像特征量存储部171中存储的数据的一例的图。在簇图像特征量存储部171中,存储了将作为图像特征簇的识别信息的簇序号和作为图像的识别信息的图像序号设为要素的多个记录。在此,一个记录对应于一个图像特征矢量22。在从某图像提取到的多个图像特征矢量在相同的图像特征簇中存在的情况下,具有相同的簇序号和图像序号的记录的数目成为该图像特征矢量22的数目。
[检索图像的处理]
图23是表示第二实施方式所涉及的图像检索部52的功能结构的功能框图。图像检索部52在功能上包含查询特征矢量取得部181、图像特征簇选择部182、图像特征矢量选择部183、图像得分生成部184、以及检索结果图像选择部185。
图24是表示第二实施方式所涉及的图像检索部52的处理的概要的图。以下,按照图24所示的处理流程,说明图像检索部52中包含的各功能。
[查询特征矢量的取得]
查询特征矢量取得部181主要通过CPU11、存储部12、以及并行计算装置14来实现。首先,查询特征矢量取得部181从查询图像中取得一个或多个查询特征矢量(步骤S1101)。该处理是与第一实施方式中的查询特征矢量取得部82相同的处理。
[图像特征簇的选择]
图像特征簇选择部182主要通过CPU11、存储部12、以及并行计算装置14来实现。若查询特征矢量被取得,则图像特征簇选择部182选择分别对应于多个查询特征矢量的多个图像特征簇(步骤S1102)。更具体而言,关于查询特征矢量的每一个,选择具有与该查询特征矢量最接近的代表矢量的图像特征簇。作为更详细的计算方法,也可以使用CPU11进行距离计算,也可以如第一实施方式所示那样,使用并行计算装置14和代表矢量的树结构来选择图像特征簇。另外,也可以认为所选择出的图像特征簇相当于BoF法中的Visual Word。
[图像特征矢量的选择]
图像特征矢量选择部183以CPU11以及存储部12为中心而实现。图像特征矢量选择部183从属于对查询特征矢量的每一个所选择出的图像特征簇的图像特征矢量22中,选择对应于该查询特征矢量的图像特征矢量22(步骤S1103)。在此,图像特征矢量选择部89选择满足以下的条件的多个图像特征矢量22。一个条件是,关于成为检索对象的多个图像的每一个,从该图像提取到的多个图像特征矢量22之中,对应于某一个查询特征矢量而选择出的图像特征矢量22的数目成为1。另一个条件是,对任一个查询特征矢量选择的图像特征矢量22、与对其他查询特征矢量选择的图像特征矢量22不重复。图像特征矢量选择部183关于查询特征矢量的每一个,将满足上述的条件的全部图像特征矢量22选择为对应于该查询特征矢量的图像特征矢量22。
作为具体的处理方法,例如在第一实施方式中由图16说明的处理之中,将步骤S301的处理变更为取得对应于查询特征矢量而选择出的图像特征簇中包含的全部图像特征矢量22即可。另外,在本实施方式中在簇图像特征量存储部171中不存储图像特征矢量22本身,不进行距离计算和基于距离的拣选。
图25是说明第3个图像特征簇中的图像特征矢量22的分布和基于查询特征矢量的选择的图。图25表示某图像特征簇(在此是簇序号为3的图像特征簇)中的每个图像的图像特征矢量22的数目。图25中横轴是图像序号,纵轴是图像特征矢量22的数目。在通过某查询特征矢量而第1次簇序号3的图像特征簇被选择出的情况下,从图像序号3、4、5、7、16的图像中提取到的图像特征矢量22分别被逐个地选择。此外,在通过其他查询特征矢量第2次簇序号3的图像特征簇被选择出的情况下,从剩余的图像特征矢量22之中,从图像序号4、16的图像中提取到的图像特征矢量22分别被逐个地选择。
[每个图像的得分的生成]
图像得分生成部184以CPU11以及存储部12为中心而实现。图像得分生成部184关于多个图像的至少一部分的每一个,基于该图像中的所选择出的图像特征矢量22的出现频度而生成该图像的图像得分(步骤S1104)。例如,图像得分生成部184按每个图像,对从该图像中被提取且与查询特征矢量对应而选择出的图像特征矢量22的数目进行计数,生成图像得分。
[图像的选择]
检索结果图像选择部185以CPU11以及存储部12为中心而实现。检索结果图像选择部185选择成为检索结果的图像(步骤S1105)。具体而言,检索结果图像选择部185与第一实施方式中的检索结果图像选择部91相同地,基于图像得分而将成为检索对象的多个图像之中的至少一个选择为检索结果。
如上述那样,产生以下效果:即使在选择了图像特征簇后不计算图像特征矢量22与查询特征矢量的距离,也使得从查询图像中提取的查询特征矢量、与从成为检索对象的图像的其中一个中提取到的图像特征矢量22之中所选择出的图像特征矢量22以1对1的方式对应,抑制成为检索对象的图像具有的局部的特征的数目与查询图像具有的局部的特征的数目大不相同的图像被选择为检索结果的可能性。
[第三实施方式]
本发明的第三实施方式所涉及的图像检索系统与第二实施方式相同,在选择了图像特征簇后不判断图像特征矢量22与查询特征矢量的距离。在本实施方式中使用BoF法中使用的已有的全文检索引擎且得到与第二实施方式相同的效果。以下,以与第二实施方式的不同点为中心进行说明。另外,构成图1所示的图像检索系统的设备的结构、图2和图23所示的功能结构与第二实施方式相同。
[索引的生成]
在第三实施方式中,簇生成部62将BoF法中一般使用的转置矩阵存储至簇图像特征量存储部171。BoF法中的转置矩阵是由对应于图像的列和对应于Visual Word的行构成的矩阵。在本实施方式中,将确定矩阵的行的字符串称为视觉单词识别符。在此,视觉单词识别符是对相当于Visual Word的图像特征簇的识别号附加了表示关于该图像特征簇提取到对应于某图像的图像特征矢量22的位次的信息的识别符。
图26是表示为了生成图像得分而使用的转置矩阵的一例的图。没有连字符(hyphen)的视觉单词识别符与图像特征簇的簇序号相同。在基于该视觉单词的行和某图像序号的列而决定的单元有“1”的情况下,表示存在从该图像序号所示的图像中被提取,且属于该图像特征簇的第1个图像特征矢量22。此外,关于有连字符的视觉单词识别符,连字符之前的序号表示图像特征簇的簇序号,连字符之后的序号表示图像中的图像特征矢量22的顺序序号。例如,在由视觉单词识别符为“3-2”的行和图像序号“4”的列决定的单元中有“1”的情况下,表示在第3个图像特征簇中,关于第4个图像存在第2个图像特征矢量22。存在该“1”的单元相当于图像特征矢量22。当然,视觉单词识别符的表现中也可以不使用连字符。只要能够识别属于相同的簇且从相同的图像中提取的图像特征矢量22则视觉单词识别符也可以是任意表现。
此外,视觉单词识别符“3-many”的“many”表示预先决定的簇内阈值(在此为3)以后的顺序序号。在由视觉单词识别符为“3-many”的行和图像序号“4”的列而决定的单元中存在“1”的情况下,表示在第3个图像特征簇中存在规定的位次(第3个)以后的图像特征矢量22。在本实施方式中使得“3-4”以后的视觉单词不存在。这表示删除关于第4个以后的图像特征矢量22的信息。进一步说,与以下情况等价:属于某图像特征簇的图像特征矢量22之中与成为检索对象的多个图像的其中一个对应的图像特征量的数目不超过该簇内阈值。簇生成部62将属于某图像特征簇,且与成为检索对象的多个图像的其中一个对应的图像特征矢量22之中超过簇内阈值的图像特征矢量从图像特征簇中删除,将其结果存储至簇图像特征量存储部171。
[检索图像的处理]
图27是表示第三实施方式所涉及的图像检索部52的处理的概要的图。以下,按照图27所示的处理流程,主要说明与第二实施方式的不同点。
首先,查询特征矢量取得部181从查询图像中取得一个或多个查询特征矢量(步骤S2101)。接着,图像特征簇选择部182选择分别对应于多个查询特征矢量的多个图像特征簇(步骤S2102)。由于这些处理与第二实施方式相同所以省略说明。
接着,图像特征矢量选择部183基于所选择出的图像特征簇的簇序号和选择出该图像特征簇的位次,生成视觉单词识别符(步骤S2103)。该生成规则与转置矩阵中的视觉单词识别符的生成规则相同。具体而言,在选择出图像特征簇的位次为1的情况下将图像特征簇的簇序号设为视觉单词识别符,从该位次为2至(特征阈值-1)为止,将对簇序号附加了连字符和位次后的识别符设为视觉单词识别符,在该位次为特征阈值的情况下,将对簇序号附加了“-many”的识别符设为视觉单词识别符。
接着,图像特征矢量选择部183使用转置矩阵,选择对应于视觉单词识别符的图像特征矢量22(步骤S2104)。具体而言,图像特征矢量22的选择通过取得有“1”的单元和该单元的图像序号而进行。此外,图像特征矢量选择部183使用所选择出的图像序号以及单元的数值,生成图像的得分(步骤S2105)。并且,基于该得分,选择成为检索结果的图像(步骤S2106)。
步骤S2104至步骤S2106的处理也可以通过公知的全文检索引擎来处理。作为该处理引擎的例子,有“Solr”。通过生成上述的转置矩阵,对某查询特征矢量从某图像中选择的单元的值被限定为1。由此,能够使得从查询图像中提取的查询特征矢量、与关于某图像选择的图像特征矢量22以1对1的方式对应。因此,产生以下效果:抑制成为检索对象的图像具有的局部的特征的数目、与查询图像具有的局部的特征的数目大不相同的图像被选择为检索结果的可能性。
标号说明
1 图像检索装置,2 Web服务器,3 客户端装置,11 CPU、12 存储部,13 通信部,14并行计算装置,15 总线,22、221、222、223、224、225 图像特征矢量,40 并行执行部,41 处理器,42 命令单元,43 高速存储器,45 装置内存储器,51 索引生成部,52 图像检索部,61图像特征矢量提取部,62 簇生成部,71 簇矢量存储部,72 树结构代表矢量存储部,81 代表矢量转发部,82、181 查询特征矢量取得部,83 上位代表矢量距离计算部,84 代表簇选择部,85 代表特征矢量距离计算部,86、182 图像特征簇选择部,87 图像特征矢量转发部,88 图像特征矢量距离计算部,89、183 图像特征矢量选择部,90、184 图像得分生成部,91、185 检索结果图像选择部,171 簇图像特征量存储部,172 代表矢量存储部,241 代表矢量,321、322、324、325 查询特征矢量。

Claims (12)

1.一种图像检索装置,其特征在于,包括:
查询特征矢量取得部件,取得分别表示成为查询的图像的局部的特征的多个查询特征矢量;
图像特征矢量选择部件,关于所述多个查询特征矢量的每一个,从多个图像特征矢量之中,选择图像特征矢量,并将选择出的图像特征矢量追加到已选择特征列表中,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在存储部件中,且分别表示各检索对象图像的多个局部的特征;
得分生成部件,基于表示所述多个检索对象图像的其中一个的特征且与选择出的所述多个图像特征矢量和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成该检索对象图像的图像得分;以及
图像选择部件,基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个,
所述图像特征矢量选择部件选择与所述已选择特征列表已经存在的图像特征矢量不同的图像特征矢量。
2.如权利要求1所述的图像检索装置,其特征在于,
所述图像特征矢量选择部件对于所述多个查询特征矢量的每一个,从所述多个图像特征矢量之中,选择离该查询特征矢量的距离成为阈值范围内的图像特征矢量。
3.如权利要求1所述的图像检索装置,其特征在于,
所述图像特征矢量选择部件对于所述多个查询特征矢量的每一个,从所述多个图像特征矢量之中,按离该查询特征矢量的距离从近到远的顺序选择预先决定的数目的图像特征矢量。
4.如权利要求1~3的任一项所述的图像检索装置,其特征在于,
所述图像特征矢量选择部件对于所述多个查询特征矢量的每一个,从多个图像特征矢量之中,对每个所述各检索对象图像最多选择一个图像特征矢量。
5.如权利要求1~3的任一项所述的图像检索装置,其特征在于,还包括:
簇选择部件,从所述存储部件中存储的多个图像特征矢量被分类的多个簇中,选择与所述多个查询特征矢量的每一个对应的簇,
所述图像特征矢量选择部件关于所述多个查询特征矢量的每一个,从属于所述选择出的簇的图像特征矢量之中选择图像特征矢量。
6.如权利要求1~3的任一项所述的图像检索装置,其特征在于,
所述选择出的多个图像特征矢量的每一个与对应于所述选择出的图像特征矢量的查询特征矢量的接近度是该图像特征矢量与该查询特征矢量的距离。
7.一种图像检索方法,其特征在于,包括:
取得分别表示成为查询的图像的局部的特征的多个查询特征矢量的步骤;
关于所述多个查询特征矢量的每一个,从多个图像特征矢量之中,选择图像特征矢量,并将选择出的图像特征矢量追加到已选择特征列表中的步骤,其中,所述多个图像特征矢量按成为检索对象的多个检索对象图像的每一个而被预先存储在存储部件中,且分别表示各检索对象图像的多个局部的特征;
基于表示所述多个检索对象图像的其中一个的特征且与选择出的所述多个图像特征矢量和对应于该选择出的图像特征矢量的查询特征矢量的接近度相应的得分要素的合计,生成该检索对象图像的图像得分的步骤;以及
基于所述图像得分,选择成为所述检索对象的多个检索对象图像之中的至少一个的步骤,
在选择图像特征矢量,并将选择出的图像特征矢量追加到已选择特征列表中的步骤中,选择与所述已选择特征列表已经存在的图像特征矢量不同的图像特征矢量。
8.如权利要求7所述的图像检索方法,其特征在于,
在所述选择图像特征矢量的步骤中,对于所述多个查询特征矢量的每一个,从所述多个图像特征矢量之中,选择离该查询特征矢量的距离成为阈值范围内的图像特征矢量。
9.如权利要求7所述的图像检索方法,其特征在于,
在所述选择图像特征矢量的步骤中,对于所述多个查询特征矢量的每一个,从所述多个图像特征矢量之中,按离该查询特征矢量的距离从近到远的顺序选择预先决定的数目的图像特征矢量。
10.如权利要求7~9的任一项所述的图像检索方法,其特征在于,
在所述选择图像特征矢量的步骤中,对于所述多个查询特征矢量的每一个,从所述多个图像特征矢量之中,对每个所述各检索对象图像最多选择一个图像特征矢量。
11.如权利要求7~9的任一项所述的图像检索方法,其特征在于,还包括:
从所述存储部件中存储的多个图像特征矢量被分类的多个簇中,选择与所述多个查询特征矢量的每一个对应的簇的步骤,
在所述选择图像特征矢量的步骤中,对于所述多个查询特征矢量的每一个,从属于所述选择出的簇的图像特征矢量之中选择图像特征矢量。
12.如权利要求7~9的任一项所述的图像检索方法,其特征在于,
所述选择出的多个图像特征矢量的每一个与对应于所述选择出的图像特征矢量的查询特征矢量的接近度是该图像特征矢量与该查询特征矢量的距离。
CN201380018098.7A 2012-03-29 2013-03-29 图像检索装置、图像检索方法、程序以及计算机可读取的存储介质 Active CN104221015B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012-078343 2012-03-29
JP2012078343A JP5577371B2 (ja) 2012-03-29 2012-03-29 画像検索装置、画像検索方法およびプログラム
PCT/JP2013/059546 WO2013147166A1 (ja) 2012-03-29 2013-03-29 画像検索装置、画像検索方法、プログラムおよびコンピュータ読取り可能な記憶媒体

Publications (2)

Publication Number Publication Date
CN104221015A CN104221015A (zh) 2014-12-17
CN104221015B true CN104221015B (zh) 2018-03-20

Family

ID=49260408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380018098.7A Active CN104221015B (zh) 2012-03-29 2013-03-29 图像检索装置、图像检索方法、程序以及计算机可读取的存储介质

Country Status (6)

Country Link
US (1) US9940366B2 (zh)
EP (1) EP2833275B1 (zh)
JP (1) JP5577371B2 (zh)
CN (1) CN104221015B (zh)
ES (1) ES2665504T3 (zh)
WO (1) WO2013147166A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4976578B1 (ja) * 2011-09-16 2012-07-18 楽天株式会社 画像検索装置およびプログラム
US11157550B2 (en) * 2013-10-02 2021-10-26 Hitachi, Ltd. Image search based on feature values
US20150302036A1 (en) * 2014-04-18 2015-10-22 Inplore Inc. Method, system and computer program for information retrieval using content algebra
US10509800B2 (en) * 2015-01-23 2019-12-17 Hewlett-Packard Development Company, L.P. Visually interactive identification of a cohort of data objects similar to a query based on domain knowledge
CN106021362B (zh) * 2016-05-10 2018-04-13 百度在线网络技术(北京)有限公司 查询式的图片特征表示的生成、图片搜索方法和装置
JP6601965B2 (ja) * 2016-08-25 2019-11-06 Kddi株式会社 探索木を用いて量子化するプログラム、装置及び方法
JP6311000B1 (ja) * 2016-12-19 2018-04-11 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
US10504002B2 (en) * 2017-07-30 2019-12-10 Fuji Xerox Co., Ltd. Systems and methods for clustering of near-duplicate images in very large image collections
JP2019125333A (ja) * 2018-01-12 2019-07-25 富士通株式会社 間取り抽出プログラム、間取り抽出方法及び情報処理装置
WO2020073317A1 (zh) * 2018-10-12 2020-04-16 华为技术有限公司 文件管理方法及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2138957A2 (en) * 2008-06-27 2009-12-30 Palo Alto Research Center Incorporated System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints
WO2011021605A1 (ja) * 2009-08-18 2011-02-24 公立大学法人大阪府立大学 物体検出方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344134A (en) 1980-06-30 1982-08-10 Burroughs Corporation Partitionable parallel processor
US4742552A (en) 1983-09-27 1988-05-03 The Boeing Company Vector image processing system
JPS6432379A (en) 1987-07-29 1989-02-02 Hitachi Ltd Computer
US5253308A (en) 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
JP2609196B2 (ja) 1993-03-22 1997-05-14 株式会社エイ・ティ・アール自動翻訳電話研究所 類似度計算装置
US6134541A (en) 1997-10-31 2000-10-17 International Business Machines Corporation Searching multidimensional indexes using associated clustering and dimension reduction information
US6285995B1 (en) 1998-06-22 2001-09-04 U.S. Philips Corporation Image retrieval system using a query image
US6728752B1 (en) 1999-01-26 2004-04-27 Xerox Corporation System and method for information browsing using multi-modal features
EP1089198A3 (en) 1999-09-30 2003-03-12 Hewlett-Packard Company, A Delaware Corporation Content-based image searching
GB2382886B (en) 2001-10-31 2006-03-15 Alphamosaic Ltd Vector processing system
JP2005234994A (ja) * 2004-02-20 2005-09-02 Fujitsu Ltd 類似度判定プログラム、マルチメディアデータ検索プログラム、類似度判定方法、および類似度判定装置
JPWO2006033257A1 (ja) * 2004-09-24 2008-05-15 松下電器産業株式会社 画像変換方法、画像変換装置、サーバークライアントシステム、携帯機器およびプログラム
US20070244925A1 (en) 2006-04-12 2007-10-18 Jean-Francois Albouze Intelligent image searching
JP5098559B2 (ja) * 2007-10-11 2012-12-12 富士ゼロックス株式会社 類似画像検索装置、及び類似画像検索プログラム
WO2009060722A1 (ja) 2007-11-06 2009-05-14 National University Corporation Hokkaido University 類似画像検索装置
US8195689B2 (en) 2009-06-10 2012-06-05 Zeitera, Llc Media fingerprinting and identification system
US8254697B2 (en) * 2009-02-02 2012-08-28 Microsoft Corporation Scalable near duplicate image search with geometric constraints
JP2010250637A (ja) * 2009-04-17 2010-11-04 Seiko Epson Corp 画像サーバー、画像検索システム、画像検索方法および画像管理方法
US8429173B1 (en) 2009-04-20 2013-04-23 Google Inc. Method, system, and computer readable medium for identifying result images based on an image query
JP5458815B2 (ja) 2009-11-11 2014-04-02 株式会社デンソーアイティーラボラトリ マルチメディア検索システム
JP5337673B2 (ja) 2009-11-13 2013-11-06 株式会社日立製作所 画像検索システム
JP5385105B2 (ja) 2009-11-25 2014-01-08 Kddi株式会社 画像検索方法およびシステム
RU2533441C2 (ru) * 2009-12-30 2014-11-20 Нокиа Корпорейшн Способ и устройство для обеспечения поиска изображения по содержимому
JP2012033022A (ja) * 2010-07-30 2012-02-16 Panasonic Corp 空間における変化領域検出装置及び方法
US9043316B1 (en) * 2011-03-28 2015-05-26 Google Inc. Visual content retrieval

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2138957A2 (en) * 2008-06-27 2009-12-30 Palo Alto Research Center Incorporated System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints
WO2011021605A1 (ja) * 2009-08-18 2011-02-24 公立大学法人大阪府立大学 物体検出方法

Also Published As

Publication number Publication date
EP2833275A1 (en) 2015-02-04
JP5577371B2 (ja) 2014-08-20
WO2013147166A1 (ja) 2013-10-03
EP2833275A4 (en) 2015-04-29
CN104221015A (zh) 2014-12-17
JP2013206436A (ja) 2013-10-07
US9940366B2 (en) 2018-04-10
US20150066957A1 (en) 2015-03-05
EP2833275B1 (en) 2018-01-10
ES2665504T3 (es) 2018-04-26

Similar Documents

Publication Publication Date Title
CN104246765B (zh) 图像检索装置、图像检索方法、程序以及计算机可读取的存储介质
CN104221015B (zh) 图像检索装置、图像检索方法、程序以及计算机可读取的存储介质
CN103797509B (zh) 图像检索装置和图像检索方法
CN106682144B (zh) 页面展示方法和装置
CN109189991A (zh) 重复视频识别方法、装置、终端及计算机可读存储介质
CN103765421B (zh) 内容控制方法、内容控制装置以及程序
CN106708817B (zh) 信息搜索方法及装置
CN110110113A (zh) 图像搜索方法、系统及电子装置
CN107832444A (zh) 基于搜索日志的事件发现方法及装置
CN106919588A (zh) 一种应用程序搜索系统及方法
CN108133058A (zh) 一种视频检索方法
CN110309410A (zh) 一种资讯推荐方法、平台及计算机可读存储介质
CN103186650B (zh) 一种搜索方法和装置
CN102760127B (zh) 基于扩展文本信息来确定资源类型的方法、装置及设备
CN106257449A (zh) 一种信息确定方法和装置
CN110633379B (zh) 一种基于gpu并行运算的以图搜图系统及方法
CN111582967A (zh) 内容搜索方法、装置、设备及存储介质
CN113255610B (zh) 特征底库构建、特征检索方法以及相关装置
CN114385931A (zh) 一种获得推荐表单的方法、装置及电子设备
JP6341843B2 (ja) 画像検索装置、及び画像検索システム
CN112182264A (zh) 地标信息的确定方法、装置、设备及可读存储介质
Rajasegaran et al. A neural embeddings approach for detecting mobile counterfeit apps
CN113407746B (zh) 一种以图搜图的方法及系统
CN116933768A (zh) 一种搜索引擎文档打分方法及系统
CN114443694A (zh) 一种线索多维度关联关系分析方法、终端设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Tokyo, Japan

Patentee after: Lotte Group Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: Rakuten, Inc.