一种基于多块分叉字典树索引结构的图像检索方法技术

技术编号:33541656 阅读:22 留言:0更新日期:2022-05-21 09:51
本发明专利技术提供了一种基于多块分叉字典树索引结构的图像检索方法,步骤包括:S1、获取预先构建的图像特征底库;其中,所述图像特征底库中包含图像库中各图像的二值特征向量;S2、对所述特征底库中的每个二值特征向量进行划分得到特征子串集合,并根据预设的字典树参数对各特征子串集合构建多块分叉字典树索引结构;S3、提取待检索图像的查询二值特征向量,并根据所述查询二值特征向量在多块分叉字典树索引结构中进行近邻检索,得到图像检索结果。本发明专利技术方案设计了一种高效的多块分叉字典树索引结构和检索方法,解决汉明空间下近邻搜索问题,减少海量图像特征数据带来的存储开销,提高检索速度。高检索速度。高检索速度。

【技术实现步骤摘要】
一种基于多块分叉字典树索引结构的图像检索方法


[0001]本专利技术涉及海量图像检索
,尤其涉及一种基于多块分叉字典树索引结构的图像检索方法。

技术介绍

[0002]面向复杂场景的大规模目标检索任务中的一大挑战是如何在海量的图像底库下实现快速高效的目标图像检索。针对海量图像检索问题,大量的研究工作主要致力于提取图像中的区别特征并进行特征表达。早期的实现方式大多是基于尺度不变性和旋转不变性的特征描述子(例如SIFT,SURF)来实现的,与此同时,实现有效的特征压缩和特征降维对后续减小特征比对过程中的计算开销和响应时间具有重要意义,因此大量的研究工作主要围绕哈希算法来展开。哈希算法的目的是将特征向量从高维空间映射到低维空间,且能够最大程度的保持特征之间的近邻结构。哈希算法主要包括两大类别,数据无关算法和数据相关算法。数据无关算法不需要依赖任何训练数据,具有较高的灵活性,但往往需要较高的特征维度才能获取满足需求的性能。常见的算法包括Kernelized Locality

Sensitive Hashing(KLSH),Locality Sensitive Hashing(LSH)和Shift

Invariant Kernels Hashing(SIKH)等。数据相关算法则是通过训练数据的方式来学习哈希函数,其性能要优于数据无关算法,大大推动了快速近邻检索算法的发展。例如,Gong和Lazebnik提出了Iterative Quantization(ITQ)特征量化算法,通过训练数据来学习正交旋转矩阵,从而优化原始的投影矩阵,降低量化损失。
[0003]近年来随着深度学习和神经网络的发展,大大促进了特征提取和特征表达的研究。人们通过将CNN提取的特征和局部特征相结合的方式来不断改善图像的特征性能,进一步提高了特征比对的精准度。因此,从检索速度和存储开销的角度出发,如何设计一种高效的特征索引结构和检索方法来减少海量图像特征数据带来的存储开销,提高检索速度成为一个亟待解决的问题。

技术实现思路

[0004]为了克服现有技术存在的缺点与不足,本专利技术提供一种基于多块分叉字典树索引结构的图像检索方法,通过把每个图像生成的二值特征向量分割为m个互斥子串,针对每个子串设计了一种高效的分块多叉字典树索引结构来解决汉明空间下近邻搜索问题。
[0005]本专利技术提供一种基于多块分叉字典树索引结构的图像检索方法,包括以下步骤:
[0006]S1、获取预先构建的图像特征底库;其中,所述图像特征底库中包含图像库中各图像的二值特征向量;
[0007]S2、对所述特征底库中的每个二值特征向量进行划分得到特征子串集合,并根据预设的字典树参数对各特征子串集合构建多块分叉字典树索引结构;
[0008]S3、提取待检索图像的查询二值特征向量,并根据所述查询二值特征向量在多块分叉字典树索引结构中进行近邻检索,得到图像检索结果。
[0009]进一步地,所述字典树参数包括每个二值特征向量需要划分成的互斥特征子串数量m、每个特征子串划分成的快单元的比特数c以及建立多块分叉字典树所需要的比特数b;
[0010]相应的,所述步骤S2包括以下子步骤:
[0011]S21、从所述图像特征底库中获取所有图像的二值特征向量集合
[0012]S22、将所述二值特征向量集合中的每个二值特征向量划分为m个互斥的二进制特征子串,并将相同位置的二进制特征子串合并成特征子串集合
[0013]S23、对每个特征子串集合构建多块分叉字典树采用如下规则:
[0014]针对特征子串集合中的每个特征子串取所述特征子串中连续c个比特组成一个快单元并判断该快单元是否存在,若不存在则在多块分叉字典树上新建一个分支用于存储所述快单元,判断构建多块分叉字典树的比特数是否等于b,若等于b则该多块分叉字典树已经达到最大深度,此时创建叶子结点并在叶子节点上建立哈希表,将满足前缀条件的所有特征子串都存储在该哈希表内,若不等于b则该多块分叉字典树还未达到最大深度,取所述特征子串中的下c个比特组成一个新的快单元继续构建多块分叉字典树,直至多块分叉字典树的比特数等于b,则该多块分叉字典树已经达到最大深度,得到所述特征子串对应的多块分叉字典树;
[0015]S24、对m个特征子串集合采用步骤S23所述的规则构建多块分叉字典树,得到多块分叉字典树索引结构。
[0016]进一步地,S31、利用预先训练好的特征提取模型提取待检索图像的查询二值特征向量q;
[0017]S32、将所述查询二值特征向量q划分为m个互斥的查询特征子串,得到查询特征子串集合
[0018]S33、根据预设的近邻检索半径r在多块分叉字典树索引结构中筛选小于近邻检索半径r的多块分叉字典树索引结构,得到满足条件的多块分叉字典树索引结构;
[0019]S34、在所述满足条件的多块分叉字典树索引结构中检索目标二值特征向量采用如下规则:
[0020]判断当前遍历的节点所在的字典树深度h是否大于近邻检索半径r,若h大于r,则返回空结果,若h小于r且当前遍历的节点为叶子节点则从该叶子节点所存放的哈希表中获取二值特征字符串作为目标二值特征向量,若h小于r且当前遍历的节点为非叶子节点则计算当前遍历的节点存储的二值特征字符串与所述查询特征子串q
(j)
对应位置的汉明距离h

,并更新检索半径h=h+h

,继续遍历下一个深度的节点,直至h小于r且当前遍历的节点为叶子节点,得到图像检索结果。
[0021]采用上述技术方案后,本专利技术至少具有如下有益效果:
[0022]1、本专利技术将底库图像的二值特征向量划分为多个特征子串,将每个特征子串的多个比特合并为一个块单元作为索引单位,用特征子串前边的比特来建立多块分叉字典树索引结构,对每一个叶子节点建立一个容器来存储该节点相关联的所有拥有相同前缀的特征
字符串,实现了内存开销和访问速度的最佳平衡。
[0023]2、本专利技术获取待检索图像的查询二值特征向量,并将查询二值特征向量按照与底库图像的二值特征向量同样的方式进行划分,并采用汉明空间近邻搜索方法在构建的多块分叉字典树索引结构中检索目标二值特征向量,以确定底库中的目标图像,提高了检索效率。
附图说明
[0024]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025]图1为近邻搜索和精确搜索的流程示意图;
[0026]图2为本公开实施例提供的一种基于多块分叉字典树索引结构的图像检索方法的流程示意图;
[0027]图3为常规二值字典树结构示意图;
[0028]图4为多块分叉字典树结构示意图;
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多块分叉字典树索引结构的图像检索方法,其特征在于,包括以下步骤:S1、获取预先构建的图像特征底库;其中,所述图像特征底库中包含图像库中各图像的二值特征向量;S2、对所述特征底库中的每个二值特征向量进行划分得到特征子串集合,并根据预设的字典树参数对各特征子串集合构建多块分叉字典树索引结构;S3、提取待检索图像的查询二值特征向量,并根据所述查询二值特征向量在多块分叉字典树索引结构中进行近邻检索,得到图像检索结果。2.根据权利要求1所述的基于多块分叉字典树索引结构的图像检索方法,其特征在于,所述字典树参数包括每个二值特征向量需要划分成的互斥特征子串数量m、每个特征子串划分成的快单元的比特数c以及建立多块分叉字典树所需要的比特数b;相应的,所述步骤S2包括以下子步骤:S21、从所述图像特征底库中获取所有图像的二值特征向量集合S22、将所述二值特征向量集合中的每个二值特征向量划分为m个互斥的二进制特征子串,并将相同位置的二进制特征子串合并成特征子串集合S23、对每个特征子串集合构建多块分叉字典树采用如下规则:针对特征子串集合中的每个特征子串取所述特征子串中连续c个比特组成一个快单元并判断该快单元是否存在,若不存在则在多块分叉字典树上新建一个分支用于存储所述快单元,判断构建多块分叉字典树的比特数是否等于b,若等于b则该多块分叉字典树已经达到最大深度,此时创建叶子结点并在叶子节点上建立哈希表,将满足前缀条件的所有特征子串都存储在该哈希表内,若不等于b则该多块分叉字典树还未达到最大深度,...

【专利技术属性】
技术研发人员:冯栋刘治宇刘浩陈洪伟张永范超
申请(专利权)人:青岛图灵科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1