一种视觉搜索重排序方法和系统与流程

文档序号:30267942发布日期:2022-06-02 05:42阅读:181来源:国知局
一种视觉搜索重排序方法和系统与流程

1.本技术实施例涉及图像检索技术领域,具体涉及一种视觉搜索重排序方法和系统。


背景技术:

2.在基于内容的图像检索中,第一轮检索结果通过简单的视觉特征对比可能不尽如人意,可以通过视觉重排序来技术来得到更好的检索结果。
3.现有技术中的视觉检索是通过对查询图像和数据库中的图像进行特征提取后,计算特征之间的相似度,并根据相似度的大小进行最后的排序操作,但是这种排序没有考虑到查询返回的top-k排序列表中的丰富的信息,往往查询的准确率比较低。
4.现有的视觉重排序方法有以下缺点:a.重排序模型的输入就是原始特征,这样原始特征的好坏直接影响到后续排序模型的性能,并且灵活性不高;b.计算复杂度高,需要采用局部特征描述子的方式或者通过构建相似度矩阵的方式进行迭代计算。


技术实现要素:

5.为此,本技术实施例提供一种视觉搜索重排序方法和系统,采用两阶段的搜索方式提升视觉搜索的准确率。
6.为了实现上述目的,本技术实施例提供如下技术方案:
7.根据本技术实施例的第一方面,提供了一种视觉搜索重排序方法,所述方法包括:
8.基于待查询图像的特征向量和数据库中的图像数据集的每一张图像的特征向量分别进行相似度计算并排序,得到第一排序列表;
9.根据所述第一排序列表的图像,构建基底图像特征集;
10.根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征;根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征;
11.根据所述第一排序列表中每个图像的矫正特征和所述待查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表。
12.可选地,所述根据所述第一排序列表的图像,构建基底图像特征集,包括:
13.筛选出所述第一排序列表中与所述待查询图像的相似度最大的设定数目的图像,作为基底图像;
14.对所述基底图像分别进行特征提取,得到基底图像特征集。
15.可选地,所述根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征,包括:
16.根据所述基底图像特征集中的每个基底图像的特征向量和所述第一排序列表中的图像的特征向量,通过如下公式计算所述第一排序列表中的图像的矫正特征:
17.mi=[f
ritfb1
,f
ritfb2
,

,f
ritfba
],1≤i≤k
[0018]
其中,ri表示基底图像i在所述第一排序列表中的排序位置序号,k为所述第一排序列表的图像数,[f
b1
,f
b2
,

,f
ba
]为所述基底图像特征集。
[0019]
可选地,所述根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征,包括:
[0020]
根据所述基底图像特征集和所述待查询图像的特征向量,通过如下公式计算所述待查询图像矫正特征:
[0021]
mq=[f
qtfb1
,f
qtfb2
,

,f
qtfba
]
[0022]
其中,q为待查询图像,fq为待查询图像的特征向量。
[0023]
可选地,所述根据所述第一排序列表中每个图像的矫正特征和所述待查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表,包括:
[0024]
计算所述待查询图像矫正特征和所述第一排序列表中每个图像的矫正特征的相似度;
[0025]
根据所述相似度对所述第一排序列表中的图像进行重排序,得到所述第二排序列表。
[0026]
根据本技术实施例的第二方面,提供了一种视觉搜索重排序系统,所述系统包括:
[0027]
第一排序模块,用于基于待查询图像的特征向量和数据库中的图像数据集的每一张图像的特征向量分别进行相似度计算并排序,得到第一排序列表;
[0028]
基底图像特征模块,用于根据所述第一排序列表的图像,构建基底图像特征集;
[0029]
矫正特征模块,用于根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征;根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征;
[0030]
第二排序模块,用于根据所述第一排序列表中每个图像的矫正特征和所述待查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表。
[0031]
可选地,所述基底图像特征模块,具体用于:
[0032]
筛选出所述第一排序列表中与所述待查询图像的相似度最大的设定数目的图像,作为基底图像;
[0033]
对所述基底图像分别进行特征提取,得到基底图像特征集。
[0034]
可选地,所述矫正特征模块具体用于:
[0035]
根据所述基底图像特征集中的每个基底图像的特征向量和所述第一排序列表中的图像的特征向量,通过如下公式计算所述第一排序列表中的图像的矫正特征:
[0036]
mi=[f
ritfb1
,f
ritfb2
,

,f
ritfba
],1≤i≤k
[0037]
其中,ri表示基底图像i在所述第一排序列表中的排序位置序号,k为所述第一排序列表的图像数,[f
b1
,f
b2
,

,f
ba
]为所述基底图像特征集。
[0038]
根据本技术实施例的第三方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现上述第一方面所述的方法。
[0039]
根据本技术实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述第一方面所述的方法。
[0040]
综上所述,本技术实施例提供了一种视觉搜索重排序方法和系统,通过基于待查
询图像的特征向量和数据库中的图像数据集的每一张图像的特征向量分别进行相似度计算并排序,得到第一排序列表;根据所述第一排序列表的图像,构建基底图像特征集;根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征;根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征;根据所述第一排序列表中每个图像的矫正特征和所述待查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表。采用两阶段的搜索方式提升视觉搜索的准确率。
附图说明
[0041]
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
[0042]
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
[0043]
图1为本技术实施例提供的一种视觉搜索重排序方法流程示意图;
[0044]
图2为本技术实施例提供的一种视觉搜索重排序系统框图;
[0045]
图3示出了本技术实施例所提供的一种电子设备的结构示意图;
[0046]
图4示出了本技术实施例所提供的一种计算机可读存储介质的示意图。
具体实施方式
[0047]
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]
视觉检索的目标是与待查询的视觉实体是同一个类别(或者是同一个实体,或者同一个语义等),应该尽可能的在排序列表的前列,尤其是要保证排在最前面的k个的准确率。
[0049]
本技术实施例提出了两阶段的视觉搜索方法,提升视觉搜索的查询准确率。第一阶段采用常用的搜索方式进行搜索,返回top-k查询结果列表;第二阶段采用视觉重新排序方法,对第一阶段返回的查询结果列表对应的图像特征进行重新计算,并通过该重新计算的图像特征对top-k列表进行重新排序。这样考虑了相似图像本身结构的信息,能提高检索的准确性。对于每个top-k排名列表中的图像,将其表示为近邻特征向量,将其与一组基底图像集进行比较。
[0050]
图1示出了本技术实施例提供的一种视觉搜索重排序方法,所述方法包括:
[0051]
步骤101:基于待查询图像的特征向量和数据库中的图像数据集的每一张图像的特征向量分别进行相似度计算并排序,得到第一排序列表;
[0052]
步骤102:根据所述第一排序列表的图像,构建基底图像特征集;
[0053]
步骤103:根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征;根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征;
[0054]
步骤104:根据所述第一排序列表中每个图像的矫正特征和所述待查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表。
[0055]
在一种可能的实施方式中,在步骤102中,所述根据所述第一排序列表的图像,构建基底图像特征集,包括:筛选出所述第一排序列表中与所述待查询图像的相似度最大的设定数目的图像,作为基底图像;对所述基底图像分别进行特征提取,得到基底图像特征集。
[0056]
在一种可能的实施方式中,在步骤103中,所述根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征,包括:
[0057]
根据所述基底图像特征集中的每个基底图像的特征向量和所述第一排序列表中的图像的特征向量,通过如下公式(1)计算所述第一排序列表中的图像的矫正特征:
[0058]
mi=[f
ritfb1
,f
ritfb2
,

,f
ritfba
],1≤i≤k
ꢀꢀ
公式(1)
[0059]
其中,ri表示基底图像i在所述第一排序列表中的排序位置序号,k为所述第一排序列表的图像数,[f
b1
,f
b2
,

,f
ba
]为所述基底图像特征集。
[0060]
在一种可能的实施方式中,在步骤103中,所述根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征,包括:
[0061]
根据所述基底图像特征集和所述待查询图像的特征向量,通过如下公式(2)计算所述待查询图像矫正特征:
[0062]
mq=[f
qtfb1
,f
qtfb2
,

,f
qtfba
]
ꢀꢀ
公式(2)
[0063]
其中,q为待查询图像,fq为待查询图像的特征向量。
[0064]
在一种可能的实施方式中,在步骤104中,所述根据所述第一排序列表中每个图像的矫正特征和所述待查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表,包括:计算所述待查询图像矫正特征和所述第一排序列表中每个图像的矫正特征的相似度;根据所述相似度对所述第一排序列表中的图像进行重排序,得到所述第二排序列表。
[0065]
下面对本技术实施例提供的视觉搜索重排序方法进行进一步解释。
[0066]
数据库中的图像数据集为d={ii,i=1,2,...,n};其中,ii代表第i个图像。采用fi∈rd代表第i个图像对应的特征向量,其特征向量的维度为d。对于待查询图像q,其特征向量为fq。
[0067]
通过上述fq和d中每一张图像的特征向量fi利用相似度函数d计算q和fi之间的相似度,并进行排序,取前k个数据,得到第一阶段的top-k排序列表r=[r1,r2,r3,

,rk]中;rn表示排序在第n位置的图像在上述的图像数据集d中的位置(id号),因此第一阶段的排序列表是由k个id号组成。令fk=[f
r1
,f
r2
,

,f
rk
]∈r
d*k
为查询图像q返回的top-k对应图像的特征向量,d为维度。
[0068]
根据项目的特点和待搜索图像数据集的特点,可以实现定义或者根据查询图像返
回结果进行静态和动态的基底图像的选择。采用根据查询图像返回的top-k列表中的图像进行基底图像的构建,具体是在查询图像q返回的r=[r1,r2,r3,

,rk]列表中选择最前面的a个(a≤k),作为基底图像集。a为基底图像的数量(基底图像可以理解为数学坐标系中的坐标轴,坐标系中的点通过映射到不同的坐标轴,从而得到空间中点的坐标)。
[0069]
在第二阶段重排序中,通过特征提取得到a个基底图像的特征[f
b1
,f
b2
,

,f
ba
]。b为a个元素的集合。
[0070]
通过基底图像的特征变换得到第一阶段top-k列表中每一张图像的经过矫正的特征向量mi∈ra,矫正特征mi=[f
ritfb1
,f
ritfb2
,

,f
ritfba
],1≤i≤k。mi为a个数的向量,每个特征向量有a个维度。
[0071]
也就是对fk=[f
r1
,f
r2
,

,f
rk
]∈r
d*k
进行变换,变换到mk=[m
r1
,m
r2
,

,m
rk
]∈r
a*k
,将d维转换为a维。
[0072]
查询图像q的特征向量按照同样的方式进行变换得到矫正的特征向量:
[0073]
mq=[f
qtfb1
,f
qtfb2
,

,f
qtfba
],1≤i≤k。
[0074]
采用mi作为第二阶段返回列表中对应图像最终的特征,利用经过矫正的查询图像的特征mq和每一个mi(1≤i≤k)利用相似度计算函数d(mq,mi)进行相似度计算。
[0075]
按照相似度大小对第二阶段列表中的图像进行重新排序,并根据需求返回最后排序的结果。
[0076]
可以看出,在第二阶段的视觉搜索重排序中,采用动态的基底图像集的构建过程,并采用基底图像集的方式进行图像特征的改进,显著提高视觉检索准确率;并且易于实现,结构清晰,易于维护、升级;通用性强,可以应用到任何需要提高检索准确性的情况中,并且计算量小,降低了计算成本。
[0077]
综上所述,本技术实施例提供了一种视觉搜索重排序方法,通过基于待查询图像的特征向量和数据库中的图像数据集的每一张图像的特征向量分别进行相似度计算并排序,得到第一排序列表;根据所述第一排序列表的图像,构建基底图像特征集;根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征;根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征;根据所述第一排序列表中每个图像的矫正特征和所述待查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表。采用两阶段的搜索方式提升视觉搜索的准确率。
[0078]
基于相同的技术构思,本技术实施例还提供了一种视觉搜索重排序系统,如图2所示,所述系统包括:
[0079]
第一排序模块201,用于基于待查询图像的特征向量和数据库中的图像数据集的每一张图像的特征向量分别进行相似度计算并排序,得到第一排序列表;
[0080]
基底图像特征模块202,用于根据所述第一排序列表的图像,构建基底图像特征集;
[0081]
矫正特征模块203,用于根据所述基底图像特征集对所述第一排序列表中每个图像的特征向量进行矫正,得到所述第一排序列表中每个图像的矫正特征;根据所述基底图像特征集对所述待查询图像的特征向量进行矫正,得到待查询图像矫正特征;
[0082]
第二排序模块204,用于根据所述第一排序列表中每个图像的矫正特征和所述待
查询图像矫正特征,对所述第一排序列表中的图像进行重排序,得到第二排序列表。
[0083]
在一种可能的实施方式中,所述基底图像特征模块202,具体用于:
[0084]
筛选出所述第一排序列表中与所述待查询图像的相似度最大的设定数目的图像,作为基底图像;对所述基底图像分别进行特征提取,得到基底图像特征集。
[0085]
在一种可能的实施方式中,所述矫正特征模块具体用于:根据所述基底图像特征集中的每个基底图像的特征向量和所述第一排序列表中的图像的特征向量,通过公式(1)计算所述第一排序列表中的图像的矫正特征。
[0086]
本技术实施方式还提供一种与前述实施方式所提供的方法对应的电子设备。请参考图3,其示出了本技术的一些实施方式所提供的一种电子设备的示意图。所述电子设备20可以包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本技术前述任一实施方式所提供的方法。
[0087]
其中,存储器201可能包含高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个物理端口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0088]
总线202可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本技术实施例任一实施方式揭示的所述方法可以应用于处理器200中,或者由处理器200实现。
[0089]
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
[0090]
本技术实施例提供的电子设备与本技术实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0091]
本技术实施方式还提供一种与前述实施方式所提供的方法对应的计算机可读存储介质,请参考图4,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的方法。
[0092]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存
储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0093]
本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0094]
需要说明的是:
[0095]
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本技术也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本技术的内容,并且上面对特定语言所做的描述是为了披露本技术的最佳实施方式。
[0096]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0097]
类似地,应当理解,为了精简本技术并帮助理解各个发明方面中的一个或多个,在上面对本技术的示例性实施例的描述中,本技术的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本技术要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术的单独实施例。
[0098]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0099]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0100]
本技术的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本技术还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提
供。
[0101]
应该注意的是上述实施例对本技术进行说明而不是对本技术进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0102]
以上所述,仅为本技术较佳的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1