CN116796021B - 图像检索方法、***、电子设备和介质 - Google Patents
图像检索方法、***、电子设备和介质 Download PDFInfo
- Publication number
- CN116796021B CN116796021B CN202311091625.9A CN202311091625A CN116796021B CN 116796021 B CN116796021 B CN 116796021B CN 202311091625 A CN202311091625 A CN 202311091625A CN 116796021 B CN116796021 B CN 116796021B
- Authority
- CN
- China
- Prior art keywords
- image
- cluster
- clustering
- center
- centers
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 239000013598 vector Substances 0.000 claims abstract description 86
- 238000013139 quantization Methods 0.000 claims abstract description 39
- 238000013507 mapping Methods 0.000 claims abstract description 12
- 238000000605 extraction Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 239000000047 product Substances 0.000 description 27
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及图像检索方法、***、电子设备和介质。该方法包括:检测每个样本图像的N个稳定关键点,并对每个关键点进行特征抽取获得N*D1个局部特征描述子;对N*D1个特征描述子进行乘积量化,包括:将D1维度分成m1个子段,获得每一段的子维度D1/m1及每一段的局部特征描述子N*D1/m1个;对每一段中的D1/m1个特征描述子进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心;将N个关键点中的每一个关键点的特征向量量化成一个D1/m1维的短向量,短向量中的每一个元素是该子段所属的聚类中心ID;通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的局部特征倒排索引表。
Description
技术领域
本公开涉及数据图像处理领域,更具体地涉及图像检索方法、***、电子设备和介质。
背景技术
图像检索技术的发展经历了从手工设计特征到基于深度学习的演进过程,从简单的颜色和纹理特征到学习到更具判别性的特征表示。通过引入词袋模型和基于内容的方法,研究者们开始关注语义信息的提取。而深度学习的崛起进一步推动了图像检索技术的发展,通过使用卷积神经网络提取图像的高层语义特征,并引入端到端的学习方法,实现了更准确和智能的图像检索。未来,图像检索将持续发展,包括多模态检索、增量学习、强化学习和大规模检索等方向,使得图像检索***更加高效、自适应和智能化。
现有技术中常用的图像检索方法有尺度不变特征转换(SIFT:Scale-InvariantFeature Transform)图像检索方法。SIFT图像检索方法具有很多优点:首先,SIFT算法可以在不同尺度和旋转下提取出具有不变性的特征点,使得图像在尺度和旋转变换下具有较好的鲁棒性。其次,SIFT特征描述子能够对局部图像区域进行准确而丰富的描述,捕捉到图像中的关键细节信息。此外,SIFT特征是基于局部特征的,可以有效地处理部分遮挡、变形和光照变化等问题。另外,SIFT算法具备较高的计算效率,适用于处理中小规模的图像数据库。因此,SIFT图像检索方法在许多场景中仍然被广泛使用,尤其是在需要考虑尺度和旋转不变性以及处理复杂场景的情况下,它可以提供可靠而有效的图像匹配和检索能力。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
根据本公开的一个方面,提供了一种图像检索方法,包括:检测每个样本图像的N个稳定关键点,并对每个稳定关键点进行特征抽取获得N*D1个局部特征描述子,其中N为自然数,D1为维度;对N*D1个局部特征描述子进行乘积量化,包括:将D1维度分成m1个子段,获得每一子段的子维度D1/m1以及每一子段的局部特征描述子为N*D1/m1个;对每一子段中的N*D1/m1个局部特征描述子分别进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K1-1,其中K1为五千到十万之间的自然数;将N个关键点中的每一个关键点的特征向量量化成一个D1/m1维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,以建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的局部特征倒排索引表;响应于接收到用户输入的待查询图像,检测待查询图像的M个稳定关键点,并对每个稳定关键点进行特征抽取获得M*D1个局部特征描述子,其中M为自然数;对M*D1个局部特征描述子进行乘积量化,包括:将D1维度分成m1个子段,获得每一子段的子维度D1/m1以及每一子段的局部特征描述子为M* D1/m1个;对每一子段中的M*D1/m1个局部特征描述子分别进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K-1;将M个关键点中的每一个关键点的特征量化成一个D1/m1维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;以短向量中的每一个元素为关键字,从局部特征倒排索引表中检索包含该元素的图像标识符,召回M*m1个聚类中心;根据召回的聚类中心的重复率从高到低对M*m1个聚类中心进行排序。
根据本公开的一些实施例,所述图像检索方法还可以包括:每个样本图像进行全局特征抽取,获得D2个全局特征描述子,其中D2为维度;对D2个全局特征描述子进行乘积量化,包括:将D2维度分成m2个子段,获得每一子段的子维度D2/m2以及每一子段的全局特征描述子为D2/m2个;对每一子段中的D2/m2个全局特征描述子分别进行聚类,并设置聚类数目K2,获得每一子段的K2个D2/m2维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K2-1;将全局特征向量量化成一个D2/m2维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,以建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的全局特征倒排索引表。
根据本公开的一些实施例,所述图像检索方法还可以包括:计算每一个关键点的特征量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的M*m1个聚类中心中欧式距离大于第一预定阈值的聚类中心;以及去除召回的M*m1个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。
根据本公开的一些实施例,所述图像检索方法还可以包括:响应于接收到用户输入的待查询图像,对待查询图像进行全局特征抽取,获得D2个全局特征描述子;对D2个全局特征描述子进行乘积量化,包括:将D2维度分成m2个子段,获得每一子段的子维度D2/m2以及每一子段的全局特征描述子为D2/m2个;对每一子段中的D2/m2个全局特征描述子分别进行聚类,并设置聚类数目K2,获得每一子段的K2个D2/m2维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K2-1;将全局特征向量量化成一个D2/m2维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;以短向量中的每一个元素为索引,从全局特征倒排索引表中检索包含该元素的图像标识符,召回m2个聚类中心;根据召回的聚类中心的重复率从高到低对m2个聚类中心进行排序。
根据本公开的一些实施例,所述图像检索方法还可以包括:计算全局特征向量量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的m2个聚类中心中欧式距离大于第二预定阈值的聚类中心;以及去除召回的m2个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。
根据本公开的一些实施例,所述图像检索方法还可以包括:以短向量中的每一个元素为索引,通过近似扩展从全局特征倒排索引表中检索包含该元素以及与该元素相似的元素的图像标识符,召回m3个聚类中心,其中m3>m2;计算全局特征向量量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的m3个聚类中心中欧式距离大于第二预定阈值的聚类中心;以及去除召回的m3个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。
根据本公开的另一个方面,提供了一种图像检索***,包括被配置为执行本公开中所述的任一实施例的图像检索方法的单元。
根据本公开的一些实施例,提供了一种电子设备,包括:存储器;和耦接至存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行本公开中所述的任一实施例的图像检索方法。
根据本公开的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行本公开中所述的任一实施例的图像检索方法。
根据本公开的再一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时执行本公开中所述的任一实施例的图像检索方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征、方面及其优点将会变得清楚。
附图说明
下面参照附图说明本公开的优选实施例。此处所说明的附图用来提供对本公开的进一步理解,各附图连同下面的具体描述一起包含在本说明书中并形成说明书的一部分,用于解释本公开。应当理解的是,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开构成限制。在附图中:
图1示出了根据本公开的示例性实施例的图像检索方法的检索库建立流程图。
图2示出了根据本公开的示例性实施例的图像检索方法的检索流程图。
图3示出了根据本公开的示例性实施例的图像检索***的示意性框图。
图4示出了根据本公开的示例性实施例的电子设备的示意性框图。
图5示出了根据本公开的示例性实施例中可采用的计算机***的示例结构的框图。
应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不一定是按照实际的比例关系绘制的。在各附图中使用了相同或相似的附图标记来表示相同或者相似的部件。因此,一旦某一项在一个附图中被定义,则在随后的附图中可能不再对其进行进一步讨论。
实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,但是显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对实施例的描述实际上也仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值应被解释为仅仅是示例性的,不限制本公开的范围。
本公开中使用的术语“包括”及其变型意指至少包括后面的元件/特征、但不排除其它元件/特征的开放性术语,即“包括但不限于”。此外,本公开使用的术语“包含”及其变型意指至少包含后面的元件/特征、但不排除其它元件/特征的开放性术语,即“包含但不限于”。因此,包括与包含是同义的。术语“基于”意指“至少部分地基于”。
整个说明书中所称“一个实施例”、“一些实施例”或“实施例”意味着与实施例结合描述的特定的特征、结构或特性被包括在本公开的至少一个实施例中。例如,术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。而且,短语“在一个实施例中”、“在一些实施例中”或“在实施例中”在整个说明书中各个地方的出现不一定全都指的是同一个实施例,但是也可以指同一个实施例。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。除非另有指定,否则“第一”、“第二”等概念并非意图暗示如此描述的对象必须按时间上、空间上、排名上的给定顺序或任何其它方式的给定顺序。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。下面这些具体实施例可以相互结合,对于相同或者相似的概念或过程可能在某些实施例不再赘述。此外,在一个或多个实施例中,特定的特征、结构或特性可以由本领域的普通技术人员从本公开将清楚的任何合适的方式组合。
SIFT特征的维度是固定的,通常为128维。这种固定维度的特征表示可能无法充分捕捉到图像中的所有细节和特征,限制了其对复杂图像的表达能力。其次,SIFT算法的计算复杂性较高,尤其是在处理大规模图像数据库时,需要耗费大量的时间和计算资源,限制了其在实时和大规模应用中的可行性。此外,SIFT特征对光照变化和部分遮挡较为敏感,当图像中存在光照变化或目标物体被遮挡时,SIFT特征的提取和匹配性能可能会下降,影响检索结果的准确性。另外,SIFT算法在处理极端尺度变化和大角度旋转变化时的性能也较为有限。同时,SIFT特征存储大规模图像数据库时需要消耗大量的内存。例如,对于1亿张图像而言,需要使用约2.8T的内存来存储这些特征。这样巨大的内存需求使得***在存储和处理大规模数据时变得不可行和昂贵。最后,局部SIFT特征提取将忽视图像的全局特征表达,使这种检索方式对于相似图像的检索能力缺失。
大规模图像检索***在很多业务中都会用到,并且也有不少开源解决方案。但是现有的很多业务要求大规模向量检索能有较高的准确率和召回率,而开源的解决方案由于只能基于定长的全局图像特征进行相似图检索,有较高的召回,但是准确率不够。为了提高准确率,可以使用变长的局部特征进行相同图检索。为了能够同时保证高准确率和召回率,本发明提出了相同相似图联合检索的大规模图像检索***。
本公开实施例在构建索引库时,首先对图像的特征向量进行抽取。不同于传统的SIFT特征抽取方法,本发明提出一种能够支持定长的全局特征和变长的局部特征的特征抽取方式,达到相同图和相似图能够联合检索的目的。本发明能够解决传统开源方案只能进行相似图检索的技术缺陷。在互联网平台和社交场景中,相同图的检索技术能够提供更高的准确率,满足平台对于图像检索的需求。
同时在图像基数很大时,对于图像实施检索操作将会消耗大量的***内存,经计算,对1亿的图像库进行检索需要2.8T内存。为此本发明使用了优化乘积量化(OPQ:OptimalProduct Quantization)进行特征量化,能将内存使用降低128-256倍。为了支持量化后的变长局部特征进行快速检索,本发明还提出了基于倒排索引的检索方案。定长的全局特征还可以直接拼接到变长的局部特征,所以该***能够直接支持定长和变长特征的联合索引,到达相同相似图联合检索的目的。
本公开实施例首先在图像中进行尺度空间极值检测,通过构建高斯金字塔并利用高斯差分算子来检测稳定的关键点,这些关键点代表了图像中的局部特征区域。对于每个关键点,定义一个局部区域,例如一个固定大小的窗口,用于特征描述子的计算。在局部区域内对图像进行高斯平滑处理,并计算梯度幅值和方向。然后,将局部区域划分为多个子区域,例如4×4或8×8的网格,并计算每个子区域的梯度直方图。最后,将所有子区域的梯度直方图连接起来形成一个变长的局部特征描述子,这样的变长描述子能够捕捉到不同局部特征区域的细微变化。除了局部特征的抽取,本公开实施例还对整个图像进行特征抽取以获取定长的全局特征。将整个图像视为一个特殊的局部区域,采用相同的方法计算其特征描述子,得到一个定长的全局特征描述子。通过同时支持定长的全局特征和变长的局部特征,这种SIFT特征抽取方式能够提供更全面、多样化的特征表示。同时,本发明的变长局部特征能够捕捉到图像中不同区域的细节信息,增强了特征的表达能力和区分度。
OPQ量化的主要思想是通过将数据进行切分,分块进行量化,并在笛卡尔空间内计算各块量化结果的积,实现对整个数据的量化编码。具体来说,首先,将原向量空间进行分解,将其划分为若干个低维向量空间。然后,针对每个低维向量空间,采用适当的量化方法,对其进行独立的量化。这样,每个低维向量空间都获得了自己的量化编码。然后,在笛卡尔空间内,将各个低维向量空间的量化结果进行乘积计算,得到整个数据的量化结果。通过将各个块的量化结果进行乘积,从而达到减小维度和存储空间需求的目的。这种基于分解和量化的特征抽取方法能提供高效的检索性能和资源利用率。
经过上述的步骤,一个图像可以被表示为多个0到K(K为聚类中心的数量,一般取5K到100K之间的数)之间的序号,这些序号构成了一个序列,类似于一篇文章中的多个词。类比到文本搜索中,可以使用倒排索引的思想来构建图像的索引。倒排索引是一种常用的索引结构,用于快速查找包含特定词项的文档或数据记录。在图像索引中,可以将每个序号看作是一个词项,而将图像作为文档。通过将每个词项与对应的图像进行映射,可以构建一个以词项为关键字的倒排索引表。具体而言,对于每个序号(词项),可以记录下包含该序号的图像标识符,从而建立一个词项到图像的映射关系。这样,当进行图像搜索时,只需查找包含目标序号的图像标识符,而不需要遍历整个图像库,大大提高了搜索的效率。倒排索引的优势在于可以快速定位到包含目标序号的图像,实现高效的图像检索。通过倒排索引,可以根据用户查询的序号快速找到相关的图像,并返回给用户。这种基于倒排索引的图像检索方法有效地结合了词项检索和图像索引的思想,为图像检索提供了一种可行的方案。
下面参考图1到图5来详细说明根据本发明的示例性实施例的图像检索方法及***。
根据本发明的实施例,图像检索方法需要先建立图像检索库,然后基于图像检索库对图像进行检索,而对图像检索库的建立包括局部特征检索库的建立和全局特征检索库的建立。
图1示出了根据本发明的示例性实施例的图像检索方法的检索库建立流程图100。
如图1所示,在步骤S101处,检测每个样本图像的N个稳定关键点,并对每个稳定关键点进行特征抽取获得N*D1个局部特征描述子。
根据本发明的实施例,可以采用SIFT算法来进行各个稳定关键点的特征抽取。其中N为自然数,D1为维度。N的选取取决于待检测图像的稳定关键点的数量。根据本发明的优选实施例,在对局部特征进行抽取时,D1优选取128维。
例如,在图像具有8个稳定关键点时,N=8,D1取128维,则进行特征抽取可以获得8*128=1024个局部特征描述子。
在步骤S102处,对N*D1个局部特征描述子进行乘积量化。根据本发明的实施例,步骤S102可以拆分成三个子步骤S1021、S1022和S1023。
如图1所示,在子步骤S1021处,将D1维度分成m1个子段,获得每一子段的子维度D1/m1以及每一子段的局部特征描述子为N*D1/m1个。
根据本发明的实施例,采用最优乘积量化OPQ来对局部特征描述子进行量化。将D1维度分成m1个段,则每个段的子维度为D1/m1,每个段的局部特征描述子数量为N*D1/m1个。应理解,m1为能被维度D1整除的自然数。例如,在D1取128维,m1取2时,每个段的子维度为64维。
在子步骤S1022处,对每一子段中的N*D1/m1个局部特征描述子分别进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心。其中每个聚类中心(也称为簇心)用一个聚类中心ID表示,聚类中心ID范围为0到K1-1,其中K1一般为五千到十万之间的自然数。
在子步骤S1023处,将N个关键点中的每一个关键点的特征向量量化成一个D1/m1维的短向量。应理解,短向量中的每一个元素是该子段所属的聚类中心ID。
经过优化乘积量化后,N个关键点被量化成N个D1/m1维的短向量。
在步骤S103处,通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的局部特征倒排索引表。应理解,图像标识符是用来标识图像的信息。
对全局特征倒排索引表的建立与对局部特征倒排索引表的建立类似。
在步骤S104处,对每个样本图像进行全局特征抽取,获得D2个全局特征描述子。
根据本发明的实施例,可以采用SIFT算法来进行全局特征的抽取。其中D2为维度。根据本发明的优选实施例,在对全局特征进行抽取时,D2优选取768维,则进行特征抽取可以获得768个全局特征描述子。
在步骤S105处,对D2个全局特征描述子进行乘积量化。根据本发明的实施例,步骤S105也可以拆分成三个子步骤S1051、S1052和S1053。
如图1所示,在子步骤S1051处,将D2维度分成m2个子段,获得每一子段的子维度D2/m2以及每一子段的全局特征描述子为D2/m2个。
根据本发明的实施例,采用最优乘积量化OPQ来对全局特征描述子进行量化。将D2维度分成m2个段,则每个段的子维度为D2/m2,每个段的全局特征描述子数量为D2/m2个。应理解,m2为能被维度D2整除的自然数。例如,在D2取768维,m2取4时,每个段的子维度为192维。
在子步骤S1052处,对每一子段中的D2/m2个全局特征描述子分别进行聚类,并设置聚类数目K2,获得每一子段的K2个D2/m2维的聚类中心。其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K2-1,其中K2一般为五千到十万之间的自然数。
应理解,K2可以与K1一致,但不限于此。同时应理解,全局特征描述子进行聚类获得的聚类中心可以从0开始(即从0到K2-1),也可以拼接到局部特征描述子进行聚类获得的聚类中心后面(即从K1到K1+K2-1),本公开中以分别从0开始计算为例进行说明。
在子步骤S1053处,将全局特征向量量化成一个D2/m2维的短向量。应理解,短向量中的每一个元素是该子段所属的聚类中心ID。
经过优化乘积量化后,全局特征向量被量化成一个D2/m2维的短向量。
在步骤S106处,通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的全局特征倒排索引表。
通过建立以聚类中心ID为关键字的局部特征倒排索引表和全局特征倒排索引表,建立了图像检索库。
图2示出了根据本发明的示例性实施例的图像检索方法的检索流程图200。
如图2所示,在接收到用户输入的待查询图像时,在步骤S201处,检测待查询图像的M个稳定关键点,并对每个稳定关键点进行特征抽取获得M*D1个局部特征描述子。应理解,M为可以与N相同或不同的自然数,并且M的选取同样取决于待检测图像的稳定关键点的数量。这里查询时进行特征抽取的维度D1与建库时的维度一致。
在步骤S202处,对M*D1个局部特征描述子进行乘积量化。与建立图像检索库时一样,根据本发明的实施例,步骤S202也可以拆分成三个子步骤S2021、S2022和S2023。
如图2所示,在子步骤S2021处,将D1维度分成m1个子段,获得每一子段的子维度D1/m1以及每一子段的局部特征描述子为M*D1/m1个。
根据本发明的实施例,进行图像检索时取的维度和子维度与建库时取的维度和子维度一致,因此分段数也一致,其最优乘积量化原理与步骤S1021时一样。即将D1维度分成m1个段,则每个段的子维度为D1/m1,每个段的局部特征描述子数量为M*D1/m1个。
在子步骤S2022处,对每一子段中的M*D1/m1个局部特征描述子分别进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心。其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K1-1,其中K1一般为五千到十万之间的自然数。应理解,进行图像检索时设置的聚类数目与建库时设置的聚类数目一致,均为K1。
在子步骤S2023处,将M个关键点中的每一个关键点的特征向量量化成一个D1/m1维的短向量。应理解,短向量中的每一个元素是该子段所属的聚类中心ID。
经过优化乘积量化后,M个关键点被量化成M个D1/m1维的短向量。
如图2所示,在步骤S203处,以短向量中的每一个元素为关键字,从局部特征倒排索引表中检索包含该元素的图像标识符,召回M*m1个聚类中心。
在步骤S204处,根据召回的聚类中心的重复率从高到低对M*m1个聚类中心进行排序。应理解,召回的聚类中心的重复率越高,图像的匹配率越高,而且用户可以根据需要设置希望返回排序后聚类中心的前多少百分比。
根据本发明的实施例,例如在M为10个稳定关键点,D1为128维,m1为2时,召回2*10=20个聚类中心,假设其中召回的聚类中心ID 32的重复率为4,聚类中心ID 89的重复率为3,聚类中心ID 1111的重复率为1,聚类中心ID 12的重复率为5,聚类中心ID 811的重复率为2……,则对这1280个聚类中心进行重复率从高到低的排序,为12, 32, 89, 811,1111……。
在步骤S205处,计算每一个关键点的特征向量量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的M*m1个聚类中心中欧式距离大于第一预定阈值的聚类中心。
根据本发明的实施例,通过计算欧氏距离来计算短向量中的每个元素与召回的对应聚类中心间的相似度,去掉相似度低于预定阈值的聚类中心。应理解,该预定阈值可以根据需要进行设定,在此不做限制。
在步骤S206处,去除召回的M*m1个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。根据本发明的实施例,可以根据召回的聚类中心的位置与每一个关键点的特征量化成的短向量中的每个元素的位置信息来判断是否误匹配,去除位置明显误匹配的聚类中心。召回的聚类中心中剩余的聚类中心所对应的图像即为发送给用户的通过局部特征检索获得的图像。
对全局特征的检索流程与对局部特征的检索流程类似。
如图2所示,在接收到用户输入的待查询图像时,在步骤S207处,对待查询图像进行全局特征抽取,获得D2个全局特征描述子。应理解,查询时进行特征抽取的维度D2与建库时的维度一致。
在步骤S208处,对D2个全局特征描述子进行乘积量化。与建立图像检索库时一样,根据本发明的实施例,步骤S208也可以拆分成三个子步骤S2081、S2082和S2083。
如图2所示,在子步骤S2081处,将D2维度分成m2个子段,获得每一子段的子维度D2/m2以及每一子段的全局特征描述子为D2/m2个。
根据本发明的实施例,进行图像检索时取的维度和子维度与建库时取的维度和子维度一致,因此分段数也一致,其最优乘积量化原理与步骤S1051时一样。即将D2维度分成m2个段,则每个段的子维度为D2/m2,每个段的全局特征描述子数量为D2/m2个。
在子步骤S2082处,对每一子段中的D2/m2个全局特征描述子分别进行聚类,并设置聚类数目K2,获得每一子段的K2个D2/m2维的聚类中心。其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K2-1,其中K2一般为五千到十万之间的自然数。应理解,进行图像检索时设置的聚类数目与建库时设置的聚类数目一致,均为K2。
在子步骤S2023处,将全局特征向量量化成一个D2/m2维的短向量。应理解,短向量中的每一个元素是该子段所属的聚类中心ID。
经过优化乘积量化后,全局特征向量被量化成一个D2/m2维的短向量。
如图2所示,在步骤S209处,以短向量中的每一个元素为关键字,从全局特征倒排索引表中检索包含该元素的图像标识符,召回m2个聚类中心。
在步骤S210处,根据召回的聚类中心的重复率从高到低对m2个聚类中心进行排序。应理解,召回的聚类中心的重复率越高,图像的匹配率越高,而且用户可以根据需要设置希望返回排序后聚类中心的前多少百分比。
根据本发明的实施例,例如在D2为768维,m2取4时,召回4个聚类中心,假设其中召回2次聚类中心ID 35(即,重复率为2),聚类中心ID 92和111各召回一次,则对这4个聚类中心进行重复率从高到低的排序,为35, 92, 111。
在步骤S211处,计算全局特征向量量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的m2个聚类中心中欧式距离大于第二预定阈值的聚类中心。
根据本发明的实施例,通过计算欧氏距离来计算短向量中的每个元素与召回的对应聚类中心间的相似度,去掉相似度低于预定阈值的聚类中心。应理解,该预定阈值可以根据需要进行设定,在此不做限制。
在步骤S212处,去除召回的m2个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。根据本发明的实施例,可以根据召回的聚类中心的位置与全局特征量化成的短向量中的每个元素的位置信息来判断是否误匹配,去除位置明显误匹配的聚类中心。召回的m2个聚类中心中剩余的聚类中心所对应的图像即为发送给用户的通过全局特征检索获得的图像。
应理解,在对图像进行检索时,可以只进行局部特征检索,也可以只进行全局特征检索,还可以同时进行局部特征和全局特征检索。在同时进行局部特征检索和全局特征检索时,局部特征和全部特征的检索是并行进行的。
虽然图中未示出,但图像检索方法还包括对全局特征进行近似扩展。下面对近似扩展进行介绍。
在量化和倒排索引中,全局键(Global Key)的近似扩展是一种用于提高查询效率的技术。这种技术通常用于在查询过程中加速全局键的匹配,以降低计算和存储开销。下面先解释一下两个概念。
全局键(Global Key):在倒排索引中,全局键是指一个在整个索引中唯一标识一个特定数据项的键。它可以是一个单词、短语或其他标识符。全局键是用于建立倒排索引的关键,通过它可以快速找到包含这个全局键的文档或数据项。
近似扩展(Approximate Expansion):近似扩展是一种技术,用于在查询过程中进行模糊匹配或相似性匹配,而不是严格匹配。通过近似扩展,可以在索引中找到与查询项相关的更多候选项,从而提高查询的召回率(能够找到相关项的能力),但可能会引入一定的误差。
在量化和倒排索引中,全局键的近似扩展可以理解为对查询项进行模糊匹配,找到与查询项相似的其他键,从而得到更多的倒排列表。这种方法在某些场景下可以改善查询性能,特别是当查询项拼写错误或存在同义词时,可以增加召回率,提高搜索准确性。
近似扩展通常涉及到使用字符串相似性算法(如编辑距离、余弦相似度等)来度量全局键之间的相似性,然后根据相似度阈值来选择是否将这些相似的全局键加入查询的扩展中。这样,在查询时,不仅会匹配严格匹配的全局键,还会匹配那些相似的全局键,从而获得更多相关的倒排列表。
举例来说,在8192个聚类中心ID中,有些ID具有相似性, 如果一张图像里有聚类中心ID=1, 那么在倒排索引中不光可以找聚类中心1, 还可以找聚类中心101(前提是已知聚类中心1和聚类中心101具有相似性, 可以通过计算两聚类中心表征2*64之间的余弦相似度 )。
具体到本发明中,图像检索方法200还包括以短向量中的每一个元素为关键字,通过近似扩展从全局特征倒排索引表中检索包含该元素以及与该元素相似的元素的图像标识符,以回多于m2个聚类中心。
本公开提出的图像检索方法,通过先分别建立局部特征向量和全局特征向量的倒排索引表来建立图像检索库,然后在进行图像搜索时,只需查找包含目标聚类中心的图像标识符,而不需要遍历整个图像库,大大提高了搜索的效率。
倒排索引的优势在于可以快速定位到包含目标聚类中心的图像,实现高效的图像检索。通过倒排索引,可以根据从用户查询的图像进行特征抽取、量化获得的聚类中心快速找到相关的图像,并返回给用户。这种基于倒排索引的图像检索方法有效地结合了词项检索和图像索引的思想,为图像检索提供了一种可行的方案。
图3示出了根据本公开的示例性实施例的图像检索***300的示意框图。根据本发明的图像检索***300可以实现图1和图2所示出的图像检索方法100和200。
如图3所示,该图像检索***300包括关键点检测单元31,配置为检测图像的稳定关键点。根据本发明的实施例,该关键点检测单元在建立图像检索库(即倒排索引表)时可以检测每个样本图像的N个稳定关键点,在进行图像检索时可以检测待查询图像的M个稳定关键点。这里,M和N均为自然数。
如图3所示,该图像检索***300包括特征抽取单元32,配置为对图像进行特征抽取,获得特征描述子。根据本发明的实施例,在对图像的局部特征进行特征抽取时,是对每个稳定关键点进行特征抽取。参考上面关于图1和图2的描述,应理解,在对图像的局部特征进行特征抽取时所设定的维度与对全局特征进行特征抽取时所设定的维度一般不一致,例如,局部特征抽取的维度优选地取128,而全局特征抽取的维度优选地取768。
如图3所示,该图像检索***300包括乘积量化单元33,配置为对特征描述子进行乘积量化。
参考上面关于图1的描述,在倒排索引表的建立阶段,检测到样本图像的N个稳定关键点,并对N个关键点进行特征抽取获得N*D1个局部特征描述子的情况下,乘积量化单元33被配置为对特征描述子进行乘积量化包括:将D1维度分成m1个子段,获得每一子段的子维度D1/m1以及每一子段的局部特征描述子为N*D1/m1个;对每一子段中的N*D1/m1个局部特征描述子分别进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K1-1,其中K1为五千到十万之间的自然数;以及将N个关键点中的每一个关键点的特征向量量化成一个D1/m1维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID。
在倒排索引表的建立阶段对全局特征描述子进行乘积量化的过程参考步骤S1051-S1053。在图像检索阶段对局部特征描述子进行乘积量化的过程参考步骤S2021-S2023,对全局特征描述子进行乘积量化的过程参考步骤S2081-S2083,在此不赘述。
如图3所示,该图像检索***300包括映射单元34,配置为通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,以建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的局部或全局特征倒排索引表。根据本发明的实施例,通过映射单元建立倒排索引表的过程可参考图1中的步骤S103和S106,在此不赘述。
如图3所示,该图像检索***300包括召回单元35,配置为以乘积量化单元通过乘积量化获得的短向量中的每一个元素为关键字,从局部或全局特征倒排索引表中检索包含该元素的图像标识符,从而召回符合要求的聚类中心。根据本发明的实施例,通过召回单元召回符合要求的聚类中心的过程可参考图2中的步骤S203和S209,在此不赘述。
如图3所示,该图像检索***300包括排序单元36,配置为根据召回的聚类中心的重复率从高到低对召回的聚类中心进行排序。应理解,召回的聚类中心的重复率越高,图像的匹配率越高,而且用户可以根据需要设置希望返回排序后聚类中心的前多少百分比。根据本发明的实施例,通过排序单元根据召回的聚类中心的重复率从高到低对召回的聚类中心进行排序的过程可参考图2中的步骤S204和S210,在此不赘述。
如图3所示,该图像检索***300包括计算单元37,配置为计算短向量中的每个元素与召回的对应聚类中心间的欧式距离,并去除召回的聚类中心中欧氏距离大于预定阈值的距离中心,同时去除召回的聚类中心中误匹配的聚类中心,将剩余的聚类中心所映射到的图像发送给用户。根据本发明的实施例,通过计算单元计算欧氏聚类,根据欧氏距离和误匹配信息去除召回的聚类中心的部分聚类中心并将剩余的聚类中心所映射到的图像发送给用户的过程可参考图2中的步骤S205-S206和S211-S212,在此不赘述。
根据本发明的实施例,所述召回单元35在处理图像的全局特征时还可以被配置为以短向量中的每一个元素为索引,通过近似扩展从全局特征倒排索引表中检索包含该元素以及与该元素相似的元素的图像标识符,召回更多个聚类中心。
本公开的实施例提供的图像检索***可以实现本文中任何实施例提供的图像检索方法。
本申请提出了一种能够同时支持定长的全局特征和变长的局部特征的SIFT特征抽取方式,并结合倒排索引进行快速检索。通过使用OPQ进行特征量化,大大降低了存储需求。同时,本申请提出的图像检索***能够直接支持定长和变长特征的联合索引,实现相同图和相似图的联合检索,弥补了传统开源方案的技术缺陷。在检索场景中,准确率能达到99%,召回率能达到90%,可支持亿级图片检索,且内存下降128倍,亿级图像检索仅需95G内存,单张图像检索耗时仅200ms。
本公开的一些实施例还提供一种电子设备。图4示出了本公开的电子设备4的一些实施例的框图。该电子设备可用来实现根据本公开的任一实施例所述的方法。
例如,在一些实施例中,电子设备4可以为各种类型的设备,例如可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。例如,电子设备4可以包括显示面板,以用于显示根据本公开的方案中所利用的数据和/或执行结果。例如,显示面板可以为各种形状,例如矩形面板、椭圆形面板或多边形面板等。另外,显示面板不仅可以为平面面板,也可以为曲面面板,甚至球面面板。
如图4所示,该实施例的电子设备4包括:存储器41以及耦接至该存储器41的处理器42。应当注意,图4所示的电子设备4的组件只是示例性的,而非限制性的,根据实际应用需要,该电子设备4还可以具有其它组件。处理器42可以控制电子设备4中的其它组件以执行期望的功能。
在一些实施例中,存储器41用于存储一个或多个计算机可读指令。处理器42用于运行计算机可读指令时,计算机可读指令被处理器42运行时实现根据上述任一实施例所述的方法。关于该方法的各个步骤的具体实现以及相关解释内容可以参见上述的实施例,重复之处在此不作赘述。
例如,处理器42和存储器41之间可以直接或间接地互相通信。例如,处理器42和存储器41可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器42和存储器41之间也可以通过***总线实现相互通信,本公开对此不作限制。
例如,处理器42可以体现为各种适当的处理器、处理装置等,诸如中央处理器(CPU)、图形处理器(Graphics Processing Unit,GPU)、网络处理器(NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。中央处理元(CPU)可以为X86或ARM架构等。例如,存储器41可以包括各种形式的计算机可读存储介质的任意组合,例如易失性存储器和/或非易失性存储器。存储器41例如可以包括***存储器,***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)、数据库以及其它程序等。在存储介质中还可以存储各种应用程序和各种数据等。
另外,根据本公开的一些实施例,根据本公开的各种操作/处理在通过软件和/或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的计算机***,例如图5所示的计算机***500安装构成该软件的程序,该计算机***在安装有各种程序时,能够执行各种功能,包括诸如前文所述的功能等等。图5示出了根据本公开的实施例中可采用的计算机***的示例结构的框图。
在图5中,中央处理单元(CPU)501根据只读存储器(ROM)502中存储的程序或从存储部分508加载到随机存取存储器(RAM)503的程序执行各种处理。在RAM 503中,也根据需要存储当CPU 501执行各种处理等时所需的数据。中央处理单元仅仅是示例性的,其也可以是其它类型的处理器,诸如前文所述的各种处理器。ROM 502、RAM 503和存储部分508可以是各种形式的计算机可读存储介质,如下文所述。需要注意的是,虽然图5中分别示出了ROM502、RAM 503和存储部分508,但是它们中的一个或多个可以合并或者位于相同或不同的存储器或存储模块中。
CPU 501、ROM 502和RAM 503经由总线504彼此连接。输入/输出接口505也连接到总线504。
下述部件连接到输入/输出接口505:输入部分506,诸如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等;输出部分507,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD),扬声器,振动器等;存储部分508,包括硬盘,磁带等;和通信部分509,包括网络接口卡比如LAN卡、调制解调器等。通信部分509允许经由网络比如因特网执行通信处理。容易理解的是,虽然图5中示出的计算机***500中的各个装置或模块是通过总线504来通信的,但它们也可以通过网络或其它方式进行通信,其中,网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。
根据需要,驱动器510也连接到输入/输出接口505。可拆卸介质511比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器510上,使得从中读出的计算机程序根据需要被安装到存储部分508中。
在通过软件实现上述系列处理的情况下,可以从网络比如因特网或存储介质比如可拆卸介质511安装构成软件的程序。
根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,或者从存储部分508被安装,或者从ROM 502被安装。在该计算机程序被CPU 501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
在一些实施例中,还提供了一种计算机程序,包括:指令,指令当由处理器执行时使处理器执行上述任一个实施例的方法。例如,指令可以体现为计算机程序代码。
在本公开的实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(,包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块、部件或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块、部件或单元的名称在某种情况下并不构成对该模块、部件或单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示例性的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
在本文提供的描述中,阐述了许多特定细节。然而,理解的是,可以在没有这些特定细节的情况下实施本公开的实施例。在其它情况下,为了不模糊该描述的理解,没有对众所周知的方法、结构和技术进行详细展示。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
Claims (8)
1.一种图像检索方法,包括:
检测每个样本图像的N个稳定关键点,并对每个稳定关键点进行特征抽取获得N*D1个局部特征描述子,其中N为自然数,D1为维度;
对N*D1个局部特征描述子进行乘积量化,包括:
将D1维度分成m1个子段,获得每一子段的子维度D1/m1以及每一子段的局部特征描述子为N*D1/m1个;
对每一子段中的N*D1/m1个局部特征描述子分别进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K1-1,其中K1为五千到十万之间的自然数;
将N个关键点中的每一个关键点的特征向量量化成一个D1/m1维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;
通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,以建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的局部特征倒排索引表;
响应于接收到用户输入的待查询图像,检测待查询图像的M个稳定关键点,并对每个稳定关键点进行特征抽取获得M*D1个局部特征描述子,其中M为自然数;
对M*D1个局部特征描述子进行乘积量化,包括:
将D1维度分成m1个子段,获得每一子段的子维度D1/m1以及每一子段的局部特征描述子为M* D1/m1个;
对每一子段中的M*D1/m1个局部特征描述子分别进行聚类,并设置聚类数目K1,获得每一子段的K1个D1/m1维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K-1;
将M个关键点中的每一个关键点的特征量化成一个D1/m1维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;
以短向量中的每一个元素为关键字,从局部特征倒排索引表中检索包含该元素的图像标识符,召回M*m1个聚类中心;
根据召回的聚类中心的重复率从高到低对M*m1个聚类中心进行排序;
计算每一个关键点的特征量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的M*m1个聚类中心中欧式距离大于第一预定阈值的聚类中心;以及
去除召回的M*m1个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。
2.如权利要求1所述的图像检索方法,还包括:
对每个样本图像进行全局特征抽取,获得D2个全局特征描述子,其中D2为维度;
对D2个全局特征描述子进行乘积量化,包括:
将D2维度分成m2个子段,获得每一子段的子维度D2/m2以及每一子段的全局特征描述子为D2/m2个;
对每一子段中的D2/m2个全局特征描述子分别进行聚类,并设置聚类数目K2,获得每一子段的K2个D2/m2维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K2-1;
将全局特征向量量化成一个D2/m2维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;
通过对于每个聚类中心ID记录包含该聚类中心ID的样本图像的图像标识符,以建立聚类中心ID到样本图像的映射关系,从而建立以聚类中心ID为关键字的全局特征倒排索引表。
3.如权利要求2所述的图像检索方法,还包括:
响应于接收到用户输入的待查询图像,对待查询图像进行全局特征抽取,获得D2个全局特征描述子;
对D2个全局特征描述子进行乘积量化,包括:
将D2维度分成m2个子段,获得每一子段的子维度D2/m2以及每一子段的全局特征描述子为D2/m2个;
对每一子段中的D2/m2个全局特征描述子分别进行聚类,并设置聚类数目K2,获得每一子段的K2个D2/m2维的聚类中心,其中每个聚类中心用一个聚类中心ID表示,聚类中心ID范围为0到K2-1;
将全局特征向量量化成一个D2/m2维的短向量,其中短向量中的每一个元素是该子段所属的聚类中心ID;
以短向量中的每一个元素为索引,从全局特征倒排索引表中检索包含该元素的图像标识符,召回m2个聚类中心;
根据召回的聚类中心的重复率从高到低对m2个聚类中心进行排序。
4.如权利要求3所述的图像检索方法,还包括:
计算全局特征向量量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的m2个聚类中心中欧式距离大于第二预定阈值的聚类中心;以及
去除召回的m2个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。
5.如权利要求3所述的图像检索方法,还包括:
以短向量中的每一个元素为索引,通过近似扩展从全局特征倒排索引表中检索包含该元素以及与该元素相似的元素的图像标识符,召回m3个聚类中心,其中m3 >m2;
计算全局特征向量量化成的短向量中的每个元素与召回的对应聚类中心间的欧式距离,去除召回的m3个聚类中心中欧式距离大于第二预定阈值的聚类中心;以及
去除召回的m3个聚类中心中误匹配的聚类中心,将剩余聚类中心所映射的图像发送给用户。
6.一种图像检索***,包括被配置为执行如权利要求1-5中任一项所述的方法的单元。
7.一种电子设备,包括:
存储器;和
耦接至所述存储器的处理器,所述存储器中存储有指令,所述指令当由所述处理器执行时,使得所述电子设备执行根据权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311091625.9A CN116796021B (zh) | 2023-08-28 | 2023-08-28 | 图像检索方法、***、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311091625.9A CN116796021B (zh) | 2023-08-28 | 2023-08-28 | 图像检索方法、***、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116796021A CN116796021A (zh) | 2023-09-22 |
CN116796021B true CN116796021B (zh) | 2023-12-05 |
Family
ID=88040156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311091625.9A Active CN116796021B (zh) | 2023-08-28 | 2023-08-28 | 图像检索方法、***、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116796021B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254015A (zh) * | 2011-07-21 | 2011-11-23 | 上海交通大学 | 基于视觉词组的图像检索方法 |
WO2012006579A1 (en) * | 2010-07-08 | 2012-01-12 | Qualcomm Incorporated | Object recognition system with database pruning and querying |
US9280560B1 (en) * | 2013-12-18 | 2016-03-08 | A9.Com, Inc. | Scalable image matching |
CN106951551A (zh) * | 2017-03-28 | 2017-07-14 | 西安理工大学 | 联合gist特征的多重索引图像检索方法 |
US10635917B1 (en) * | 2019-01-30 | 2020-04-28 | StradVision, Inc. | Method and device for detecting vehicle occupancy using passenger's keypoint detected through image analysis for humans' status recognition |
WO2020098110A1 (zh) * | 2018-11-12 | 2020-05-22 | 深圳云天励飞技术有限公司 | 图像特征值的搜索方法、装置、电子设备及存储介质 |
CN111400528A (zh) * | 2020-03-16 | 2020-07-10 | 南方科技大学 | 一种图像压缩方法、装置、服务器及存储介质 |
CN111522986A (zh) * | 2020-04-23 | 2020-08-11 | 北京百度网讯科技有限公司 | 图像检索方法、装置、设备和介质 |
CN112765381A (zh) * | 2021-01-18 | 2021-05-07 | 深圳市华尊科技股份有限公司 | 图像检索方法、电子设备及相关产品 |
CA3128562A1 (en) * | 2020-08-17 | 2022-02-17 | 10353744 Canada Ltd. | Image retrieval method, device, computer equipment, and storage medium |
WO2022111069A1 (zh) * | 2020-11-26 | 2022-06-02 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
CN114780780A (zh) * | 2022-04-28 | 2022-07-22 | 北京奇艺世纪科技有限公司 | 图像检索方法、装置、电子设备及存储介质 |
CN114882305A (zh) * | 2022-03-24 | 2022-08-09 | 上海任意门科技有限公司 | 图像关键点检测方法、计算设备和计算机可读存储介质 |
CN116522012A (zh) * | 2023-05-16 | 2023-08-01 | 上海任意门科技有限公司 | 用户兴趣挖掘方法、***、电子设备以及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8144947B2 (en) * | 2008-06-27 | 2012-03-27 | Palo Alto Research Center Incorporated | System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints |
US9495591B2 (en) * | 2012-04-13 | 2016-11-15 | Qualcomm Incorporated | Object recognition using multi-modal matching scheme |
US10796196B2 (en) * | 2015-03-05 | 2020-10-06 | Nant Holdings Ip, Llc | Large scale image recognition using global signatures and local feature information |
US10229347B2 (en) * | 2017-05-14 | 2019-03-12 | International Business Machines Corporation | Systems and methods for identifying a target object in an image |
US11514605B2 (en) * | 2020-09-29 | 2022-11-29 | International Business Machines Corporation | Computer automated interactive activity recognition based on keypoint detection |
-
2023
- 2023-08-28 CN CN202311091625.9A patent/CN116796021B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012006579A1 (en) * | 2010-07-08 | 2012-01-12 | Qualcomm Incorporated | Object recognition system with database pruning and querying |
CN102254015A (zh) * | 2011-07-21 | 2011-11-23 | 上海交通大学 | 基于视觉词组的图像检索方法 |
US9280560B1 (en) * | 2013-12-18 | 2016-03-08 | A9.Com, Inc. | Scalable image matching |
CN106951551A (zh) * | 2017-03-28 | 2017-07-14 | 西安理工大学 | 联合gist特征的多重索引图像检索方法 |
WO2020098110A1 (zh) * | 2018-11-12 | 2020-05-22 | 深圳云天励飞技术有限公司 | 图像特征值的搜索方法、装置、电子设备及存储介质 |
US10635917B1 (en) * | 2019-01-30 | 2020-04-28 | StradVision, Inc. | Method and device for detecting vehicle occupancy using passenger's keypoint detected through image analysis for humans' status recognition |
CN111400528A (zh) * | 2020-03-16 | 2020-07-10 | 南方科技大学 | 一种图像压缩方法、装置、服务器及存储介质 |
KR20210040307A (ko) * | 2020-04-23 | 2021-04-13 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 이미지 검색 방법, 장치, 기기 및 매체 |
CN111522986A (zh) * | 2020-04-23 | 2020-08-11 | 北京百度网讯科技有限公司 | 图像检索方法、装置、设备和介质 |
CA3128562A1 (en) * | 2020-08-17 | 2022-02-17 | 10353744 Canada Ltd. | Image retrieval method, device, computer equipment, and storage medium |
CN114077685A (zh) * | 2020-08-17 | 2022-02-22 | 苏宁云计算有限公司 | 一种图像检索方法、装置、计算机设备和存储介质 |
WO2022111069A1 (zh) * | 2020-11-26 | 2022-06-02 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备以及存储介质 |
CN112765381A (zh) * | 2021-01-18 | 2021-05-07 | 深圳市华尊科技股份有限公司 | 图像检索方法、电子设备及相关产品 |
CN114882305A (zh) * | 2022-03-24 | 2022-08-09 | 上海任意门科技有限公司 | 图像关键点检测方法、计算设备和计算机可读存储介质 |
CN114780780A (zh) * | 2022-04-28 | 2022-07-22 | 北京奇艺世纪科技有限公司 | 图像检索方法、装置、电子设备及存储介质 |
CN116522012A (zh) * | 2023-05-16 | 2023-08-01 | 上海任意门科技有限公司 | 用户兴趣挖掘方法、***、电子设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116796021A (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111274811B (zh) | 地址文本相似度确定方法以及地址搜索方法 | |
CN110532347B (zh) | 一种日志数据处理方法、装置、设备和存储介质 | |
Ghosh et al. | A survey of feature extraction for content-based image retrieval system | |
CN110134965B (zh) | 用于信息处理的方法、装置、设备和计算机可读存储介质 | |
CN104484671A (zh) | 应用于移动平台的目标检索*** | |
CN110198473B (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
CN111368020A (zh) | 一种特征向量的比对方法、装置及存储介质 | |
CN116628049B (zh) | 一种基于大数据的信息***维护管理***及方法 | |
CN116796021B (zh) | 图像检索方法、***、电子设备和介质 | |
CN110852261B (zh) | 目标检测方法、装置、电子设备和可读存储介质 | |
CN114595741B (zh) | 一种基于邻域关系的高维数据快速降维方法以及*** | |
He et al. | MaskSearch: Querying Image Masks at Scale | |
CN116010628A (zh) | 数据处理、数据检索、检索模型训练方法和装置 | |
CN115757844A (zh) | 一种医学图像检索网络训练方法、应用方法及电子设备 | |
CN112836077B (zh) | 特定人物检索方法、***、设备及存储介质 | |
CN113779370B (zh) | 一种地址检索方法和装置 | |
CN111444319B (zh) | 文本匹配方法、装置和电子设备 | |
CN110941730B (zh) | 基于人脸特征数据偏移的检索方法与装置 | |
CN114154006A (zh) | 一种图像搜索方法及相关装置 | |
CN113627161A (zh) | 数据处理方法及装置、存储介质、电子设备 | |
Li et al. | Research and implementation of a fabric printing detection system based on a field programmable gate array and deep neural network | |
CN111949765A (zh) | 基于语义的相似文本搜索方法、***、设备和存储介质 | |
CN111382233A (zh) | 一种相似文本检测方法、装置、电子设备及存储介质 | |
CN112287136B (zh) | 图像特征索引库建立方法、相似图像确定方法 | |
US20220342939A1 (en) | Method for processing data, an electronic device, and a computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |