CN116932802A - 一种图像检索方法 - Google Patents
一种图像检索方法 Download PDFInfo
- Publication number
- CN116932802A CN116932802A CN202310838810.3A CN202310838810A CN116932802A CN 116932802 A CN116932802 A CN 116932802A CN 202310838810 A CN202310838810 A CN 202310838810A CN 116932802 A CN116932802 A CN 116932802A
- Authority
- CN
- China
- Prior art keywords
- image
- vector
- node
- descriptor
- database
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000013598 vector Substances 0.000 claims abstract description 219
- 238000012545 processing Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 8
- 230000006872 improvement Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 3
- 230000000007 visual effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/5866—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明了公开一种图像检索方法,提供了一种改进型VLAD向量和改进型BoW向量一起作为图像的两种全局图像特征,采用改进型VLAD向量和改进型BoW向量以及HNSW算法的图像检索方法,通过改进型VLAD向量与HNSW数据库进行图像初次搜索,以改进型BoW向量进行图像二次搜索,最终获得相似性极高的目标图像。本发明降低了整个图像检索过程所需耗时的同时,还提高了图像检索的准确性。
Description
技术领域
本发明涉及数字媒体领域,尤其涉及一种图像检索方法。
背景技术
基于内容的图像检索作为计算机视觉领域的一个重要研究问题,在过去的十年里受到国内外学者的广泛关注。基于内容的图像检索是指从图像数据库中查找出与查询图像相似的图像。因为拍摄时角度、距离、环境等因素的不同,会造成相似或相同的拍摄对象在不同图像有着很大的变化,如尺度、视角、布局等变化。因此生成一个对各种图像变化具有高鲁棒性的图像特征,是解决图像检索问题的关键。
目前流行的视觉SLAM中重定位方案主要包括三个阶段,第一阶段是选取候选图像,这一阶段需要在历史图像中找到与查询图像最相似的候选图像。第二阶段是图像特征描述子的匹配,这一阶段需要对查询图像与候选图像进行图像特征描述子的匹配,以方便下一步求解位姿。第三阶段是几何验证,这一阶段需要利用上一步的匹配结果来求解位姿,并判断inliers数量。
现有技术中,选取候选图像的阶段,业内普遍采用的是BoW+InvertedFile算法,该算法利用一个特殊的数据结构InvertedFile记录每个视觉单词,以及包含该单词的图像。在进行图像检索时,对于当前图像包含的每个视觉单词,得到InvertedFile中该单词记录的所有图像。遍历当前图像的所有单词,对包含这些单词的图像进行投票,选取票数最高的几张图像作为查询图像的最相似候选图像。在这一方案中,图像检索时间长,准确率不高。
发明内容
本发明提供的一种图像检索方法,用以解决现有图像检索技术存在的检索时间长、检索结果准确率低、检索速度与准确性难以两全的技术问题。
为了解决上述技术问题,本发明公开了如下技术方案:
本发明提供了一种图像检索方法,具体包括训练步骤,编码步骤,第一图像录入步骤,第二图像录入步骤,数据库建立步骤,检索步骤以及相似性比较步骤。
所述训练步骤是为了离线训练一个向量生成模型,用以根据一图像生成该图像的改进型VLAD向量及改进型BoW向量;所述编码步骤是对一历史图像库中的至少一个历史图像进行ID编码处理;所述第一图像录入步骤是将所述历史图像录入至所述向量生成模型,计算得到所述历史图像的第一改进型VLAD向量及第一改进型BoW向量;所述第二图像录入步骤是将一待检索图像录入至所述向量生成模型,计算得到所述待检索图像的第二改进型VLAD向量及第二改进型BoW向量;将所述历史图像的第一改进型VLAD向量插入至一HNSW数据库中,构建一个第一改进型VLAD向量数据库;所述检索步骤利用所述HNSW数据库对所述待检索图像的第二改进型VLAD向量进行检索,初步得到至少一个最相似的候选图像;当所述候选图像的数量达到一预设阈值时,停止检索;所述相似性比较步骤用以计算至少一候选图像的第一改进型BoW向量与所述第二改进型BoW向量的相似性评分s(v1,v2),其公式为
其中,v1表示第一改进型BoW向量,v2表示第二改进型BoW向量;当相似性评分最大时,与该相似性评分相应的候选图像即为与所述待检索图像相似度最高的历史图像。
进一步地,在所述训练步骤中,所述向量生成模型包括第一节点层与第二节点层;所述第一节点层包括两个以上节点;所所述第二节点层包括nx个节点,每一子节点对应连接至所述第一节点层中的一节点,其中,n为第一节点层的节点数量,x为层数;所述第一节点层用以生成改进型VLAD向量;所述第二节点层以生成改进型BoW向量。
进一步地,所述第一图像录入步骤或所述第二图像录入步骤包括最近节点搜寻步骤,距离累加步骤以及维度压缩步骤。
在所述第一图像录入步骤或所述第二图像录入步骤中,所述图像包括两个以上描述子,将第k个描述子记为Mk。
所述最近节点搜寻步骤用以计算所述图像中每个描述子到所述第一节点层中每个节点的欧式距离,找到与第k个描述子欧式距离最小的节点,记为第k个描述子的最近节点Nk;再将第k个描述子与最近节点Nk做差,记录差值Lk;所述距离累加步骤是将每个描述子的差值分别累加至与该描述子的最近节点对应的第一子向量中,每个描述子的第一子向量组合得到一高维VLAD向量;所述维度压缩步骤是对所述高维VLAD向量进行PCA降维处理,得到一改进型VLAD向量。
进一步地,所述第一图像录入步骤或所述第二图像录入步骤包括最近节点初次搜寻步骤,最近节点再次搜寻步骤以及向量改进步骤。
在所述第一图像录入步骤或所述第二图像录入步骤中,所述图像包括两个以上描述子,将第k个描述子记为Mk。
所述最近节点初次搜寻步骤用以计算所述图像中每个描述子与所述第一节点层中每个节点的距离,找到与第k个描述子的距离最近的节点,记为第k个描述子的最近节点Nk;所述最近节点再次搜寻步骤用以计算第k个描述子与最近节点Nk中每个子节点的距离Sk,找到与第k个描述子距离的最近的子节点,记为第k个描述子的最近子节点Hk;所述向量改进步骤是将每个描述子的最近子节点Hk对应的权重乘以系数【1/(Sk+1)】分别累加至与该描述子的最近子节点对应的第二子向量,每个描述子的第二子向量组合得到一改进型BoW向量。
进一步地,所述数据库建立步骤中,当一历史图像的改进型VLAD向量被插入至HNSW数据库时,所述HNSW数据库随机生成至少一个层;每一个层中的数据层都记录与该历史图像的改进型VLAD向量及与该改进型VLAD向量同层的邻居向量。
进一步地,在所述数据库建立步骤中,当一图像的改进型VLAD向量被插入至一HNSW数据库时,建立该图像的图像ID与数据库ID之间的映射;当一图像的改进型VLAD向量需要从所述HNSW数据库被删除时,该图像对应的数据库ID被隔离;当一图像的改进型VLAD向量被插入至一HNSW数据库时,若有一数据库ID被隔离,将该数据库ID对应的向量替换为该图像的改进型VLAD向量,建立该图像的图像ID与该数据库ID的映射。
进一步地,所述检索步骤具体包括初次搜寻步骤,再次搜寻步骤以及候选图像记录步骤。
所述初次搜寻步骤是在HNSW数据库的最高数据层搜寻与所述待检索图像的第一改进型VLAD向量距离最近的向量,作为该数据层的最近向量;所述再次搜寻步骤是将上一层的最近向量作为入口向量,进入下一层搜寻,搜寻到该数据层与所述待检索图像的第一改进型VLAD向量距离最近的向量,作为该数据层的最近向量;反复执行再次搜寻步骤,依次在每一数据层完成搜寻,直至搜寻至HNSW数据库的最底层;所述候选图像记录步骤用以记录最底层数据层的最近向量所对应的图像ID,该图像ID对应的历史图像即为候选图像。
本发明还提供一种存储介质,所述存储介质包括存储器与处理器,所述存储器用以存储可执行程序代码,所述处理器读取所述可执行程序代码,以运行与所述可执行程序代码对应的计算机程序,以执行所述的图像检索方法中的至少一步骤。
与现有技术相比,本发明至少具备以下技术效果:
本发明提供了一种图像检索方法,将改进型VLAD向量和改进型BoW向量一起作为图像的两种全局图像特征,采用PCA压缩方式使得整个改进型VLAD向量的维度大大减少,有利于降低后续图像检索时计算图像间相似度所用的耗时,同时改进型VLAD向量的鲁棒性没有明显地降低,改进型BoW向量也有着更好的鲁棒性,采用改进型VLAD向量和改进型BoW向量以及HNSW算法的图像检索方法,降低了整个图像检索过程所需耗时的同时,还提高了图像检索的准确性。
附图说明
下面结合附图和具体实施例,对本发明的技术方案进行详细地说明。
图1为本发明实施例所述的图像检索方法的流程图;
图2为本发明实施例所述的向量生成模型的结构图;
图3为本发明实施例所述的生成第一改进型VLAD向量的流程图;
图4为本发明实施例所述的生成第一改进型VLAD向量的示意图;
图5为本发明实施例所述的生成第一改进型BOW向量的流程图;
图6为本发明实施例所述的生成第一改进型BOW向量的示意图;
图7为本发明实施例所述的生成第二改进型VLAD向量的流程图;
图8为本发明实施例所述的生成第二改进型BOW向量的流程图;
图9为本发明实施例所述的映射建立的示意图;
图10为本发明实施例所述的数据层的结构图;
图11为本发明实施例所述的检索步骤的流程图;
图12为本发明实施例所述的存储介质的结构示意图。
图中部件标识如下:
100存储介质,110存储器,120处理器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供了一种图像检索方法,本发明提供了一种图像检索方法,具体包括步骤S1)训练步骤,步骤S2)编码步骤,步骤S3)第一图像录入步骤,步骤S4)第二图像录入步骤,步骤S5)数据库建立步骤,步骤S6)检索步骤以及步骤S7)相似性比较步骤。
如图2所示,步骤S1)训练步骤,离线训练一个向量生成模型,用以根据一图像生成该图像的改进型VLAD向量及改进型BoW向量,在本实施例中,所述向量生成模型为一个辅助生成改进型VLAD向量及改进型BoW向量的视觉词典,所述视觉词典包括两个节点层,即为第一节点层level1与第二节点层level2,第一节点层level1包括两个以上节点,即Node0~Node2,第二节点层level2为第一节点层level1的叶子节点层,第二节点层level2包括两个以上子节点,即leaf0~leaf8,leaf0~leaf8对应连接至所述第一节点层中的节点Node0~Node2,利用level 1生成改进型VLAD向量,改进型VLAD向量由图像中每个描述子的第一子向量组成,利用level 2(最下面一层也被称为叶子节点层)生成改进型BoW向量,改进型VLAD向量由图像中每个描述子的第二子向量组成。
在本实施例中,生成改进型VLAD向量的节点层的数量可以根据需求增加,在所述视觉词典中,保证最下面一层节点层用于生成改进型BoW向量。
步骤S2)编码步骤,对一历史图像库中的n个历史图像进行ID编码处理,将第i个历史图像的图像编码记为Wi,1≤i≤n,每一个历史图像的图像编码ID对应一个HNSW数据ID。
步骤S3)第一图像录入步骤,将所述n个历史图像录入至所述向量生成模型,得到n个第一改进型VLAD向量与n个第一改进型BoW向量,在n个历史图像中有第i个历史图像的第一改进型VLAD向量为Ti,第i个历史图像的第一改进型BoW向量为Vi。
如图3所示,步骤S3)第一图像录入步骤包括步骤S31)最近节点搜寻步骤,步骤S32)距离累加步骤以及步骤S33)维度压缩步骤。
在所述第一图像录入步骤中,所述历史图像包括两个以上描述子,将第k个描述子记为Mk,在本实施例中即为描述子D0。
步骤S31)最近节点搜寻步骤,计算所述历史图像中每个描述子到所述第一节点层中每个节点的欧式距离,找到与第k个描述子欧式距离最小的节点,记为第k个描述子的最近节点Nk;再将第k个描述子与最近节点Nk做差,记录差值Lk,所述差值为一个向量。
步骤S32)距离累加步骤,将每个描述子的差值分别累加至与该描述子的最近节点对应的第一子向量中,每个描述子的第一子向量组合得到一高维VLAD向量。
步骤S33)维度压缩步骤,对所述高维VLAD向量进行PCA降维处理,得到第一改进型VLAD向量Ti。
如图4所示,计算描述子D0与所述第一节点层level1中每个节点的欧式距离,描述子D0在第一节点层level1中的最近节点为Node1,此时描述子D0与节点Node1的欧式距离最小,计算描述子D0与最近节点Node1之间的差值Lk,将差值Lk累加至描述子D0的最近节点对应的Node1的第一子向量V1中;在本实施例中,第一子向量V1,V2以及V3组成了一高维VLAD向量,第一子向量V2以及V3与第一子向量V1处理方式完全一致,在此不再赘述;将所述高维VLAD向量进行PCA降维处理,得到第一改进型VLAD向量。
如图5所示,步骤S3)第一图像录入步骤包括步骤S34)最近节点初次搜寻步骤,步骤S35)最近节点再次搜寻步骤以及步骤S36)向量改进步骤。
在所述第一图像录入步骤中,所述历史图像包括两个以上描述子,将第k个描述子记为Mk,在本实施例中即为描述子D。
步骤S34)最近节点初次搜寻步骤,计算所述历史图像中每个描述子与所述第一节点层中每个节点的距离,在本实施例中,所述距离为汉明距离,找到与第k个描述子的汉明距离最小的节点,记为第k个描述子的最近节点Nk。
步骤S35)最近节点再次搜寻步骤,计算第k个描述子与最近节点Nk中每个子节点的汉明距离Sk,找到与第k个描述子汉明距离最小的子节点,记为第k个描述子的最近子节点Hk。
步骤S36)向量改进步骤,将每个描述子的最近子节点Hk对应的权重乘以系数【1/(Sk+1)】分别累加至与该描述子的最近子节点对应的第二子向量,每个描述子的第二子向量组合得到第一改进型BoW向量Vi。
如图6所示,计算描述子D与所述第一节点层level1中每个节点的汉明距离,找到与描述子D的汉明距离最小的节点Node1,再计算描述子D与最近节点Node1中每个子节点Leaf3~Leaf5的汉明距离,找到与描述子D的汉明距离最小的节点Leaf4,将节点Leaf4对应的权重乘以系数【1/(Sk+1)】累加至与描述子D的最近子节点Leaf4对应的第二子向量B4,第二子向量B0~B8组成了第一改进型BoW向量,第二子向量B0~B3与第二子向量B5~B8与第二子向量B4的处理方式完全一致,在此不再赘述。
步骤S4)第二图像录入步骤,将一待检索图像录入至所述向量生成模型,得到所述待检索图像的第二改进型VLAD向量T0及第二改进型VLAD向量T0。
如图7所示,在本实施例中,步骤S4)第二图像录入步骤具体包括:步骤S41)最近节点搜寻步骤,步骤S42)距离累加步骤以及步骤S43)维度压缩步骤,步骤S4)与步骤S3)的区别在于,步骤S4)录入的图像为待检测图像,其余步骤均与步骤S3)一致。
步骤S41)最近节点搜寻步骤,计算所述待检测图像中每个描述子到所述第一节点层中每个节点的欧式距离,找到与第k个描述子欧式距离最小的节点,记为第k个描述子的最近节点Nk;再将第k个描述子与最近节点Nk做差,记录差值Lk。
步骤S42)距离累加步骤,将每个描述子的差值分别累加至与该描述子的最近节点对应的第一子向量中,每个描述子的第一子向量组合得到一高维VLAD向量。
步骤S43)维度压缩步骤,对所述高维VLAD向量进行PCA降维处理,得到第一改进型VLAD向量T0。
如图8所示,在本实施例中,步骤S4)第二图像录入步骤还包括:步骤S44)最近节点初次搜寻步骤,步骤S45)最近节点再次搜寻步骤以及步骤S46)向量改进步骤,步骤S4)与步骤S3)的区别在于,步骤S4)录入的图像为待检测图像,其余步骤均与步骤S3)一致。
步骤S34)最近节点初次搜寻步骤,计算所述待检测图像中每个描述子与所述第一节点层中每个节点的汉明距离,找到与第k个描述子的汉明距离最小的节点,记为第k个描述子的最近节点Nk。
步骤S35)最近节点再次搜寻步骤,计算第k个描述子与最近节点Nk中每个子节点的汉明距离Sk,找到与第k个描述子汉明距离最小的子节点,记为第k个描述子的最近子节点Hk。
步骤S36)向量改进步骤,将每个描述子的最近子节点Hk对应的权重乘以系数【1/(Sk+1)】分别累加至与该描述子的最近子节点对应的第二子向量,每个描述子的第二子向量组合得到第一改进型BoW向量V0。
如图9所示,步骤S5)数据库建立步骤,将所述历史图像的第一改进型VLAD向量Ti插入至一HNSW数据库中,在HNSW数据库中每一个第一改进型VLAD向量Ti都对应一个历史图像,每一个历史图像都对应一个ID编码,每一个历史图像的ID编码都对应一个HNSW数据ID。
如图9以及图10所示,在本实施例中,在所述数据库建立步骤中,当所述历史图像的第一改进型VLAD向量被插入至HNSW数据库时,所述HNSW数据库随机生成至少一个层,在本实施例中,生成三层Layer0-Layer2;每一层中的数据层都记录与该历史图像的改进型VLAD向量及与该改进型VLAD向量同层的邻居向量;在HNSW数据库的多个数据层中记录有多个历史图像的改进型VLAD向量及与该改进型VLAD向量同层的邻居向量。
当一图像的改进型VLAD向量被插入至一HNSW数据库时,建立该图像的图像ID与数据库ID之间的映射;当一图像的改进型VLAD向量需要从所述HNSW数据库被删除时,该图像对应的数据库ID被隔离;当一图像的改进型VLAD向量被插入至一HNSW数据库时,若有一数据库ID被隔离,将该数据库ID对应的向量替换为该图像的改进型VLAD向量,建立该图像的图像ID与该数据库ID的映射。
具体地,当历史图像14被删除时,HNSW数据库中ID为2的元素不会同步进行剔除,只会进行标记使其与数据库数据隔离,不会被检索到。待再次插入新元素时,将HNSW数据库中ID为2的元素替换为新的元素,同时将新元素的图像ID指向其HNSW ID2,这样即可在不进行元素删除的同时完成了数据的插入。
步骤S6)检索步骤,计算所述待检索图像的第二改进型VLAD向量T0与所述HNSW数据库中的第一改进型VLAD向量的余弦距离值Di;得到若干个候选图像,当候选图像的数量达到一预设阈值时,停止检索,所述预设阈值可以为5个,所述5个候选图像为所述余弦距离值Di最小的5个图像。
如图11所示,步骤S6)检索步骤具体包括:步骤S61)初次搜寻步骤,步骤S62)再次搜寻步骤以及步骤S63)候选图像记录步骤。
步骤S61)初次搜寻步骤,在HNSW数据库的最高数据层搜寻与所述待检索图像的第二改进型VLAD向量T0距离最近的向量,作为该数据层的最近向量。
步骤S62)再次搜寻步骤,将上一层的最近向量作为入口向量,进入下一层搜寻,搜寻到该数据层与所述待检索图像的第二改进型VLAD向量T0距离最近的向量,作为该数据层的最近向量;反复执行再次搜寻步骤,依次在每一数据层完成搜寻,直至搜寻至HNSW数据库的最底层。
步骤S63)候选图像记录步骤,记录最底层数据层的最近向量所对应的图像ID,该图像ID对应的历史图像即为候选图像。
又如图10所示,在本实施例中,HNSW数据库中每一层数据层Layer0-Layer2都包括一个入口向量0,当第二改进型VLAD向量T0进入数据层中的最高层Layer2时,判断最高层数据层Layer2中入口向量0及其邻居向量距离所述第二改进型VLAD向量的距离,得到距离最近的第一向量,此时所述第一向量便为入口向量0,以所述第一向量为起点进入下一层数据层Layer1;当第二改进型VLAD向量T0进入数据层中的数据层Layer1时,判断数据层Layer1入口向量0及其邻居向量1、3、2距离所述第二改进型VLAD向量的距离,得到距离最近的向量2,此时所述向量2便为入口向量,以所述向量2为起点进入下一层数据层Layer0,在数据层Layer0,找到与向量2距离最近的向量5,向量5对应的图像即为候选图像。
步骤S7)相似性比较步骤是为了计算至少一候选图像的第一改进型BoW向量与所述第二改进型BoW向量的相似性评分s(v1,v2),其公式为
其中,v1表示第一改进型BoW向量,v2表示第二改进型BoW向量,|v1|为第一改进型BoW向量的模,|v2|为第二改进型BoW向量的模,为/>的模;当相似性评分最大时,与该相似性评分相应的候选图像即为与所述待检索图像相似度最高的历史图像。
如图12所示,本发明还提供一种存储介质100,一存储器110用于存储可执行程序代码;一处理器120读取所述可执行程序代码,以运行与所述可执行程序代码对应的计算机程序,以执行所述的图像检索方法中的至少一步骤。
本发明的优点在于,本发明提供了一种图像检索方法,将改进型VLAD向量和改进型BoW向量一起作为图像的两种全局图像特征,采用新的压缩方式使得整个改进型VLAD向量的维度大大减少,有利于降低后续图像检索时计算图像间相似度所用的耗时,同时改进型VLAD向量的鲁棒性没有明显地降低,改进型BoW向量也有着更好的鲁棒性,采用改进型VLAD向量和改进型BoW向量以及HNSW算法的图像检索方法,降低了整个图像检索过程所需耗时的同时,还提高了图像检索的准确性。
以上对本发明实施例所提供的图像检索方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。
Claims (8)
1.一种图像检索方法,其特征在于,包括:
训练步骤,离线训练一个向量生成模型,用以根据一图像生成该图像的改进型VLAD向量及改进型BoW向量;
编码步骤,对一历史图像库中的至少一个历史图像进行ID编码处理;
第一图像录入步骤,将所述历史图像录入至所述向量生成模型,计算得到所述历史图像的第一改进型VLAD向量及第一改进型BoW向量;
第二图像录入步骤,将一待检索图像录入至所述向量生成模型,计算得到所述待检索图像的第二改进型VLAD向量及第二改进型BoW向量;
数据库建立步骤,将所述历史图像的第一改进型VLAD向量插入至一HNSW数据库中,构建一个第一改进型VLAD向量数据库;
检索步骤,利用所述HNSW数据库对所述待检索图像的第二改进型VLAD向量进行检索,初步得到最相似的至少一个候选图像;当所述候选图像的数量达到一预设阈值时,停止检索;以及
相似性比较步骤,计算每一个所述候选图像的第一改进型BoW向量与所述待检索图像的第二改进型BoW向量的相似性评分s(v1,v2),其公式为
其中,v1表示第一改进型BoW向量,v2表示第二改进型BoW向量;
当相似性评分最大时,与该相似性评分相应的候选图像即为与所述待检索图像相似度最高的历史图像。
2.如权利要求1所述的图像检索方法,其特征在于,
在所述训练步骤中,
所述向量生成模型包括第一节点层与第二节点层;
所述第一节点层包括两个以上节点;
所述第二节点层包括nx个节点,每一子节点对应连接至所述第一节点层中的一节点,其中,n为第一节点层的节点数量,x为层数;
所述第一节点层用以生成改进型VLAD向量;
所述第二节点层用以生成改进型BoW向量。
3.如权利要求2所述的图像检索方法,其特征在于,
所述第一图像录入步骤或所述第二图像录入步骤包括如下步骤:
最近节点搜寻步骤,所述图像包括两个以上描述子,将第k个描述子记为Mk,计算所述图像中每个描述子到所述第一节点层中每个节点的欧式距离,找到与第k个描述子欧式距离最小的节点,记为第k个描述子的最近节点Nk;再将第k个描述子与最近节点Nk做差,记录差值Lk;
距离累加步骤,将每个描述子与最近节点之间的差值分别累加至与该描述子的最近节点对应的第一子向量中,每个描述子的第一子向量组合得到一高维VLAD向量;以及
维度压缩步骤,对所述高维VLAD向量进行PCA降维处理,得到一改进型VLAD向量。
4.如权利要求2所述的图像检索方法,其特征在于,
所述第一图像录入步骤或所述第二图像录入步骤包括如下步骤:
最近节点初次搜寻步骤,所述图像包括两个以上描述子,将第k个描述子记为Mk;计算所述图像中每个描述子与所述第一节点层中每个节点的距离,找到与第k个描述子的距离最近的节点,记为第k个描述子的最近节点Nk;
最近节点再次搜寻步骤,计算第k个描述子与最近节点Nk中每个子节点的距离Sk,找到与第k个描述子距离的最近的子节点,记为第k个描述子的最近子节点Hk;以及
向量改进步骤,将每个描述子的最近子节点Hk对应的权重乘以系数【1/(Sk+1)】分别累加至与该描述子的最近子节点对应的第二子向量,每个描述子的第二子向量组合得到一改进型BoW向量。
5.如权利要求1所述的图像检索方法,其特征在于,
所述数据库建立步骤中,
当一历史图像的改进型VLAD向量被插入至HNSW数据库时,所述HNSW数据库随机生成至少一个层;每一层中的数据层都记录与该历史图像的改进型VLAD向量及与该改进型VLAD向量同层的邻居向量。
6.如权利要求1所述的图像检索方法,其特征在于,
在所述数据库建立步骤中,
当一图像的改进型VLAD向量被插入至一HNSW数据库时,建立该图像的图像ID与数据库ID之间的映射;
当一图像的改进型VLAD向量需要从所述HNSW数据库被删除时,该图像对应的数据库ID被隔离;当一图像的改进型VLAD向量被插入至一HNSW数据库时,若有一数据库ID被隔离,将该数据库ID对应的向量替换为该图像的改进型VLAD向量,建立该图像的图像ID与该数据库ID的映射。
7.如权利要求1所述的图像检索方法,其特征在于,
所述检索步骤具体包括如下步骤:
初次搜寻步骤,在HNSW数据库的最高数据层搜寻与所述待检索图像的第一改进型VLAD向量距离最近的向量,作为该数据层的最近向量;
再次搜寻步骤,将上一层的最近向量作为入口向量,进入下一层搜寻,搜寻到该数据层与所述待检索图像的第一改进型VLAD向量距离最近的向量,作为该数据层的最近向量;反复执行再次搜寻步骤,依次在每一数据层完成搜寻,直至搜寻至HNSW数据库的最底层;
候选图像记录步骤,记录最底层数据层的至少一个最近向量所对应的图像ID,该图像ID对应的历史图像即为候选图像。
8.一种存储介质,用以存储可执行程序代码,其特征在于,
一处理器读取所述可执行程序代码,以运行与所述可执行程序代码对应的计算机程序,以执行权利要求1-8中任一项所述的图像检索方法中的至少一步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310838810.3A CN116932802B (zh) | 2023-07-10 | 一种图像检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310838810.3A CN116932802B (zh) | 2023-07-10 | 一种图像检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932802A true CN116932802A (zh) | 2023-10-24 |
CN116932802B CN116932802B (zh) | 2024-05-14 |
Family
ID=
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088295A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Co-location visual pattern mining for near-duplicate image retrieval |
CN104216949A (zh) * | 2014-08-13 | 2014-12-17 | 中国科学院计算技术研究所 | 一种融合空间信息的图像特征聚合表示方法及系统 |
CN108334644A (zh) * | 2018-03-30 | 2018-07-27 | 百度在线网络技术(北京)有限公司 | 图像识别方法和装置 |
CN108959567A (zh) * | 2018-07-04 | 2018-12-07 | 武汉大学 | 一种云环境下适用于大规模图像的安全检索方法 |
CN109902190A (zh) * | 2019-03-04 | 2019-06-18 | 京东方科技集团股份有限公司 | 图像检索模型优化方法、检索方法、装置、系统及介质 |
CN110209859A (zh) * | 2019-05-10 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 地点识别及其模型训练的方法和装置以及电子设备 |
CN110222218A (zh) * | 2019-04-18 | 2019-09-10 | 杭州电子科技大学 | 基于多尺度NetVLAD和深度哈希的图像检索方法 |
CN113625774A (zh) * | 2021-09-10 | 2021-11-09 | 天津大学 | 局部地图匹配与端到端测距多无人机协同定位系统和方法 |
CN114817590A (zh) * | 2022-05-09 | 2022-07-29 | 广州博冠信息科技有限公司 | 路径存储方法、路径查询方法及装置、介质及电子设备 |
WO2023124948A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 一种三维地图的创建方法及电子设备 |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088295A1 (en) * | 2008-10-03 | 2010-04-08 | Microsoft Corporation | Co-location visual pattern mining for near-duplicate image retrieval |
CN104216949A (zh) * | 2014-08-13 | 2014-12-17 | 中国科学院计算技术研究所 | 一种融合空间信息的图像特征聚合表示方法及系统 |
CN108334644A (zh) * | 2018-03-30 | 2018-07-27 | 百度在线网络技术(北京)有限公司 | 图像识别方法和装置 |
CN108959567A (zh) * | 2018-07-04 | 2018-12-07 | 武汉大学 | 一种云环境下适用于大规模图像的安全检索方法 |
CN109902190A (zh) * | 2019-03-04 | 2019-06-18 | 京东方科技集团股份有限公司 | 图像检索模型优化方法、检索方法、装置、系统及介质 |
CN110222218A (zh) * | 2019-04-18 | 2019-09-10 | 杭州电子科技大学 | 基于多尺度NetVLAD和深度哈希的图像检索方法 |
CN110209859A (zh) * | 2019-05-10 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 地点识别及其模型训练的方法和装置以及电子设备 |
CN113625774A (zh) * | 2021-09-10 | 2021-11-09 | 天津大学 | 局部地图匹配与端到端测距多无人机协同定位系统和方法 |
WO2023124948A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 一种三维地图的创建方法及电子设备 |
CN114817590A (zh) * | 2022-05-09 | 2022-07-29 | 广州博冠信息科技有限公司 | 路径存储方法、路径查询方法及装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918532B (zh) | 图像检索方法、装置、设备及计算机可读存储介质 | |
US7945576B2 (en) | Location recognition using informative feature vocabulary trees | |
CN109858015B (zh) | 一种基于ctw和km算法的语义相似度计算方法及装置 | |
KR100903961B1 (ko) | 시그니처 파일을 이용한 고차원 데이터 색인 및 검색방법과 그 시스템 | |
CN109271486B (zh) | 一种相似性保留跨模态哈希检索方法 | |
CN111310023B (zh) | 基于记忆网络的个性化搜索方法及系统 | |
CN112395457B (zh) | 一种应用于视频版权保护的视频待检索定位方法 | |
Vidal et al. | The Carabela project and manuscript collection: large-scale probabilistic indexing and content-based classification | |
CN111597371B (zh) | 外观专利的多模态图像检索方法及系统 | |
CN112948601B (zh) | 一种基于受控语义嵌入的跨模态哈希检索方法 | |
CN112256727B (zh) | 基于人工智能技术的数据库查询处理及优化方法 | |
CN108763295A (zh) | 一种基于深度学习的视频近似拷贝检索算法 | |
CN112836008B (zh) | 基于去中心化存储数据的索引建立方法 | |
CN116932802B (zh) | 一种图像检索方法 | |
CN113342922A (zh) | 一种基于标签细粒度自监督的跨模态检索方法 | |
CN111078952A (zh) | 一种基于层次结构的跨模态可变长度哈希检索方法 | |
CN116932802A (zh) | 一种图像检索方法 | |
CN110083732B (zh) | 图片检索方法、装置及计算机存储介质 | |
CN116955650A (zh) | 基于小样本知识图谱补全的信息检索优化方法及其系统 | |
Mondal et al. | Flexible sequence matching technique: Application to word spotting in degraded documents | |
CN114168782B (zh) | 一种基于三元组网络的深度哈希图像检索方法 | |
CN112199461B (zh) | 基于块索引结构的文档检索方法、装置、介质和设备 | |
Avenoso | Spatial vs. Graph-Based Formula Retrieval | |
Abuoda et al. | Accelerating entity lookups in knowledge graphs through embeddings | |
CN112433756B (zh) | 基于加权递归自编码器的快速代码克隆检测方法及装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 201612 Room 501, building 3, No. 1, caosong Road, Xinqiao Town, Songjiang District, Shanghai Applicant after: Play Out Dreams (Shanghai) Technology Co.,Ltd. Address before: 201612 Room 501, building 3, No. 1, caosong Road, Xinqiao Town, Songjiang District, Shanghai Applicant before: Shanghai yuweia Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant |