共视档位分类网络的训练方法、图像排序方法及相关设备转让专利

申请号 : CN202211038622.4

文献号 : CN115170893B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曹鹏蕊

申请人 : 荣耀终端有限公司

摘要 :

本申请提供了一种共视档位分类网络的训练方法、图像排序方法及相关设备,涉及图像处理领域;该共视档位分类网络的训练方法包括:获取查询训练图像和图像数据库;提取查询训练图像和对比图像的局部特征;根据局部特征,确定查询训练图像和对比图像中的有效图像块和有效共视图像块;根据有效图像块和有效共视图像块,确定查询训练图像和对比图像之间的真值档位;利用共视档位分类网络确定根据查询训练图像和对比图像之间的预测档位;基于真值档位和预测档位对共视档位分类网络进行训练,得到已训练的共视档位分类网络。基于本申请的技术方案,能够提高检索到的图像结果的准确性。

权利要求 :

1.一种共视档位分类网络的训练方法,其特征在于,包括:获取查询训练图像和图像数据库,所述图像数据库包括多帧对比图像;

提取所述查询训练图像和所述对比图像的局部特征,所述局部特征包括局部特征点和局部特征点描述子;

根据所述局部特征,确定所述查询训练图像和所述对比图像中的有效图像块和有效共视图像块,所述有效图像块为包括所述局部特征点的图像块,所述有效共视图像块为包括所述查询训练图像和所述对比图像之间匹配上的局部特征点对中的局部特征点的图像块;

根据所述查询训练图像中的有效共视图像块和有效图像块,确定第一共视占比;

根据所述对比图像中的有效共视图像块和有效图像块,确定第二共视占比;

确定所述第一共视占比和所述第二共视占比中的较小值为所述查询训练图像和所述对比图像之间的共视得分;

根据所述共视得分,利用预设的共视档位阈值与档位之间的映射关系,确定所述查询训练图像和对比图像之间对应的档位,并作为真值档位;

利用共视档位分类网络确定所述查询训练图像和所述对比图像之间的预测档位;

基于所述真值档位和所述预测档位对所述共视档位分类网络进行训练,得到已训练的共视档位分类网络。

2.根据权利要求1所述的训练方法,其特征在于,提取所述查询训练图像和所述对比图像的局部特征,包括:利用局部特征提取网络提取所述查询训练图像和所述对比图像的局部特征;

其中,所述局部特征提取网络包括编码网络、关键点检测网络和描述子解码网络,所述编码网络用于提取基础特征,所述关键点检测网络用于基于所述基础特征提取所述局部特征点,所述描述子解码网络用于基于所述基础特征提取所述局部特征点描述子。

3.根据权利要求1或2所述的训练方法,其特征在于,根据所述局部特征,确定所述查询训练图像和所述对比图像中的有效图像块,包括:将所述查询训练图像和所述对比图像划分成尺寸一致的多个图像块;

确定包括所述局部特征点的图像块为所述有效图像块。

4.根据权利要求3所述的训练方法,其特征在于,根据所述局部特征,确定所述查询训练图像和所述对比图像中的有效共视图像块,包括:将所述查询训练图像和所述对比图像中的所述局部特征点进行匹配,确定所述匹配上的局部特征点对;

确定包括所述匹配上的局部特征点对中的局部特征点的图像块为所述有效共视图像块。

5.一种图像排序方法,其特征在于,应用于电子设备,包括:显示第一界面,所述第一界面包括第一控件;

检测到对所述第一控件的第一操作;

响应于所述第一操作,获取查询图像;

确定所述查询图像和图像数据库中每帧对比图像之间的全局特征相似度,所述图像数据库包括多帧对比图像;

从所述图像数据库中获取与所述查询图像全局特征相似度高的M帧对比图像,作为M帧候选图像;

提取所述查询图像和M帧所述候选图像中每帧所述候选图像的局部特征;

根据所述查询图像和M帧所述候选图像的局部特征,利用如权利要求1至4中任一项所述的共视档位分类网络的训练方法得到的已训练的共视档位分类网络,确定档位;

从M帧所述候选图像中,按照所述档位从大到小的顺序,确定前N帧候选图像为N帧目标图像,1≤N<M,N和M均为整数;

显示N帧所述目标图像。

6.根据权利要求5所述的图像排序方法,其特征在于,从所述图像数据库中获取与所述查询图像全局特征相似度高的M帧对比图像,作为M帧候选图像,包括:按照所述全局特征相似度从大到小的顺序对多帧所述对比图像进行排序,确定前M帧对比图像为所述M帧候选图像;

或者,将所述全局特征相似度大于预设的全局特征相似度阈值的M帧对比图像,作为所述M帧候选图像。

7.根据权利要求6所述的图像排序方法,其特征在于,提取所述查询图像和M帧所述候选图像的局部特征,包括:利用局部特征提取网络提取所述查询图像和M帧所述候选图像的局部特征。

8.根据权利要求7所述的图像排序方法,其特征在于,所述已训练的共视档位分类网络包括:解码网络、注意力机制网络和分类网络;

根据所述查询图像和M帧所述候选图像的局部特征,利用所述已训练的共视档位分类网络,确定档位,包括:将所述查询图像的局部特征输入解码网络,得到第一特征图;

将所述第一特征图输入所述注意力机制网络,得到注意力特征向量;

将所述注意力特征向量与M帧所述候选图像的局部特征进行点乘,得到第二特征图;

将所述第一特征图、所述第二特征图输入所述分类网络,得到所述档位。

9.如权利要求5所述的图像排序方法,其特征在于,所述第一界面是指拍照界面,所述第一控件是指用于指示拍照的控件。

10.一种电子设备,其特征在于,应用于,所述电子设备包括:一个或多个处理器和存储器;

所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1至4中任一项所述的方法,和/或,如权利要求5至9中任一项所述的方法。

11.一种芯片系统,其特征在于,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行如权利要求1至4中任一项所述的方法,和/或,如权利要求5至9中任一项所述的方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至4中任一项所述的方法和/或,如权利要求5至9中任一项所述的方法。

说明书 :

共视档位分类网络的训练方法、图像排序方法及相关设备

技术领域

[0001] 本申请涉及图像处理领域,具体地,涉及一种共视档位分类网络的训练方法、图像排序方法及相关设备。

背景技术

[0002] 随着硬件技术、视觉算法的快速发展,增强现实(augmented reality,AR)技术也被越来越多地应用于人们生活中。视觉重定位技术(visual positioning service,VPS)作为AR技术中的重要一环,也成为近年来该领域的研究热点。
[0003] 其中,VPS是指通过机器视觉来完成定位任务的技术,例如在进行实景导航的过程中,将实时采集的图像与云端存储的地图进行匹配,以得到精确的定位。在该匹配过程中,VPS对图像的准确度要求非常高,但相关技术并未对检索出的图像结果进行处理,或者由于本身提供的算法逻辑简单、耗时长,导致检索出的图像结果并不准确,甚至出现错误,进而影响定位的准确性。因此,如何对匹配时检索出的图像结果进行排序处理,提高检索结果的准确性成为一个亟需解决的问题。

发明内容

[0004] 本申请提供了一种共视档位分类网络的训练方法、图像排序方法及相关设备,通过结合查询图像和图像数据库中对比图像的全局特征和局部特征,来提高检索结果的准确性。
[0005] 第一方面,提供了一种共视档位分类网络的训练方法,包括:
[0006] 获取查询训练图像和图像数据库,所述图像数据库包括多帧对比图像;
[0007] 提取所述查询训练图像和所述对比图像的局部特征,所述局部特征包括局部特征点和局部特征点描述子;
[0008] 根据所述局部特征,确定所述查询训练图像和所述对比图像中的有效图像块和有效共视图像块,所述有效图像块为包括所述局部特征点的图像块,所述有效共视图像块为包括所述查询训练图像和所述对比图像之间匹配上的局部特征点对中的局部特征点的图像块;
[0009] 根据所述有效图像块和有效共视图像块,确定所述查询训练图像和所述对比图像之间的真值档位;
[0010] 利用所述共视档位分类网络确定根据所述查询训练图像和所述对比图像之间的预测档位;
[0011] 基于所述真值档位和所述预测档位对所述共视档位分类网络进行训练,得到已训练的共视档位分类网络。
[0012] 本申请提供了一种共视档位分类网络的训练方法,可以先利用局部特征提取网络对查询训练图像和图像数据库中的对比图像的局部特征进行提取,由于图像部分区域包括局部特征中的局部特征点,因此,可以将查询训练图像和对比图像划分成多个图像块,通过确定每个图像块是否包含局部特征点,来确定该图像块是否为有效图像块。然后,通过将查询训练图像和对比图像的局部特征点进行匹配,来确定包含有匹配上的局部特征点对中的局部特征点的图像块为有效共视图像块。接着,可以利用确定出的查询训练图像和对比图像的有效图像块和有效共视图像块,来确定查询训练图像和对比图像之间的共视得分,并确定共视得分对应的真值档位。最后,再将该查询训练图像和对比图像同时输入共视档位分类网络中,利用共视档位分类网络来确定两者的预测档位,结合真值档位和预测档位来对共视档位分类网络进行训练。这样,通过本申请实施例提供的训练方法训练出的共视档位分类网络后续在应用时,可以直接用来确定两帧图像之间的档位,以准确的通过局部特征来预测两帧图像的相似度。
[0013] 在第一方面一种可能的实现方式中,提取所述查询训练图像和所述对比图像的局部特征,包括:
[0014] 利用局部特征提取网络提取所述查询训练图像和所述对比图像的局部特征;
[0015] 其中,所述局部特征提取网络包括编码网络、关键点检测网络和描述子解码网络,所述编码网络用于提取基础特征,所述关键点检测网络用于基于所述基础特征提取所述局部特征点,所述描述子解码网络用于基于所述基础特征提取所述局部特征点描述子。
[0016] 在该实现方式中,局部特征即为图像局部区域的特征。提取局部特征包括的局部特征点可以将大量的图像信息稀疏化,从而更好地进行信息压缩,而提取局部特征点描述子则是对局部特征点周围信息进行描述,生成特征向量,用于和其他区域进行区分。
[0017] 在第一方面一种可能的实现方式中,根据所述局部特征,确定所述查询训练图像和所述对比图像中的有效图像块,包括:
[0018] 将所述查询训练图像和所述对比图像划分成尺寸一致的多个图像块;
[0019] 确定包括所述局部特征点的图像块为所述有效图像块。
[0020] 在该实现方式中,通过确定有效图像块可以将图像中无用的信息筛除掉,仅包括能表示局部信息的局部特征点的图像块。
[0021] 在第一方面一种可能的实现方式中,根据所述局部特征,确定所述查询训练图像和所述对比图像中的有效共视图像块,包括:
[0022] 将所述查询训练图像和所述对比图像中的所述局部特征点进行匹配,确定所述匹配上的局部特征点对;
[0023] 确定包括所述匹配上的局部特征点对中的局部特征点的图像块为所述有效共视图像块。
[0024] 其中,有效共视图像块指的包括有匹配上的局部特征点对中的局部特征点的有效图像块。
[0025] 在该实现方式中,因为有一些查询训练图像中的有效图像块虽然包括有局部特征点,但是该局部特征点与对比图像没有匹配关系,说明是与对比图像包括的内容不同的,另外,有一些对比图像中的有效图像块虽然包括有局部特征点,但是该局部特征点与查询训练图像也没有匹配关系,说明是与查询训练图像包括的内容不同的。因此,需要将这些包括没有匹配关系的局部特征点的有效图像块筛除掉,仅保留包括有匹配关系的局部特征点的有效图像块。由此,也可以说有效共视图像块,指示的是包括相同内容的图像块。
[0026] 在第一方面一种可能的实现方式中,根据所述有效图像块和有效共视图像块,确定所述查询训练图像和所述对比图像之间的真值档位,包括:
[0027] 根据所述查询训练图像中的有效共视图像块和有效图像块,确定第一共视占比;
[0028] 根据所述对比图像中的有效共视图像块和有效图像块,确定第二共视占比;
[0029] 确定所述第一共视占比和所述第二共视占比中的较小值为所述查询训练图像和所述对比图像之间的共视得分;
[0030] 根据所述共视得分,利用预设的共视档位阈值与档位之间的映射关系,确定所述查询训练图像和对比图像之间对应的档位,并作为所述真值档位。
[0031] 在该实现方式中,确定第一共视占比相当于确定查询训练图像与对比图像相同的内容在查询训练图像中的占比,确定第二共视占比相当于确定查询训练图像与对比图像相同的内容在对比图像中的占比,两者的较小值为更准确一些的相同内容。
[0032] 第二方面,提供了一种图像排序方法,应用于电子设备,包括:
[0033] 显示第一界面,所述第一界面包括第一控件;
[0034] 检测到对所述第一控件的第一操作;
[0035] 响应于所述第一操作,获取查询图像;
[0036] 确定所述查询图像和图像数据库中每帧对比图像之间的全局特征相似度,所述图像数据库包括多帧对比图像;
[0037] 从所述图像数据库中获取与所述查询图像全局特征相似度高的M帧对比图像,作为M帧候选图像;
[0038] 提取所述查询图像和M帧所述候选图像中每帧所述候选图像的局部特征;
[0039] 根据所述查询图像和M帧所述候选图像的局部特征,利用第一方面或第一方面中任一种所述的共视档位分类网络的训练方法得到的已训练的共视档位分类网络,确定档位;
[0040] 从M帧所述候选图像中,按照所述档位从大到小的顺序,确定前N帧候选图像为N帧目标图像,1≤N<M,N和M均为整数;
[0041] 显示N帧所述目标图像。
[0042] 本申请提供了一种图像排序方法,先基于与查询图像的全局相似程度来进行排序,筛选出前M帧全局较为相似的图像作为候选图像,然后,利用已训练的共视档位分类网络来根据局部特征确定该M帧候选图像与查询图像的档位大小,也即结合局部特征确定相似程度,最后,筛选出档位排序前N的图像作为目标图像。该N帧目标图像由于是图像检索全局特征结果后再次结合图像局部特征进行的挑选,从而可以优化单纯依赖于全局特征检索的结果,确定出的目标图像与查询图像相似度更高,更准确。后续应用于VPS定位中的图像检索模块时,可以提升VPS定位效果。
[0043] 在第二方面一种可能的实现方式中,从所述图像数据库中获取与所述查询图像全局特征相似度高的M帧对比图像,作为M帧候选图像,包括:
[0044] 按照所述全局特征相似度从大到小的顺序对多帧所述对比图像进行排序,确定前M帧对比图像为所述M帧候选图像;
[0045] 或者,将所述全局特征相似度大于预设的全局特征相似度阈值的M帧对比图像,作为所述M帧候选图像。
[0046] 在该实现方式中,全局特征相似度越大,说明图像数据库中的对比图像与查询图像整体特性越相似,因此,可以从图像数据库中筛选出全局特征相似度排序前M帧的对比图像作为候选图像,以便于后续在此之中,可以根据其他条件进一步从候选图像中筛选与查询图像相似的图像。
[0047] 在第二方面一种可能的实现方式中,提取所述查询图像和M帧所述候选图像的局部特征,包括:
[0048] 利用局部特征提取网络提取所述查询图像和M帧所述候选图像的局部特征。
[0049] 在该实现方式中,该局部特征提取网络与训练方法中的局部特征提取网络相同。
[0050] 在第二方面一种可能的实现方式中,所述已训练的共视档位分类网络包括:解码网络、注意力机制网络和分类网络;
[0051] 根据所述查询图像和M帧所述候选图像的局部特征,利用所述已训练的共视档位分类网络,确定档位,包括:
[0052] 将所述查询图像的局部特征输入解码网络,得到第一特征图;
[0053] 将所述第一特征图输入所述注意力机制网络,得到注意力特征向量;
[0054] 将所述注意力特征向量与M帧所述候选图像的局部特征进行点乘,得到第二特征图;
[0055] 所述第一特征图、所述第二特征图输入所述分类网络,得到所述档位。
[0056] 在该实现方式中,利用已训练的共视档位分类网络,确定档位,可以快速的根据局部特征将图像相似的情况进行分类。
[0057] 在第二方面一种可能的实现方式中,所述第一界面是指拍照界面,所述第一控件是指用于指示拍照的控件。
[0058] 第三方面,提供了一种共视档位分类网络的训练装置,包括用于执行第一方面或第一方面中任一种方法的模块/单元。
[0059] 第四方面,提供一种电子设备,包括用于执行第二方面或第二方面中任一种方法的模块/单元。
[0060] 第五方面,提供了一种电子设备,一个或多个处理器和存储器;
[0061] 所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行第一方面或第一方面中任一种所述的方法,和/或,第二方面或第二方面中任一种所述的方法。
[0062] 第六方面,提供了一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行第一方面或第二方面中的任一种方法。
[0063] 第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第二方面中的任一种方法。
[0064] 第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面或第二方面中的任一种方法。

附图说明

[0065] 图1是本申请实施例适用的一种场景示意图;
[0066] 图2是本申请实施例适用的另一种场景示意图;
[0067] 图3是本申请实施例提供的一种局部特征提取网络的结构示意图;
[0068] 图4是本申请实施例提供的一种共视档位分类网络的训练示意图;
[0069] 图5是本申请实施例提供一种一种共视档位分类网络的训练方法的流程示意图;
[0070] 图6是本申请实施例提供一种确定有效图像块的流程示意图;
[0071] 图7是图6的确定出的有效图像块的示意图;
[0072] 图8是本申请实施例提供的一种确定匹配上的局部特征点的示意图;
[0073] 图9是图8剔除匹配错误的局部特征点对之后的示意图;
[0074] 图10是另一个确定出的有效图像块的示意图;
[0075] 图11是本申请实施例提供的一种确定共视得分的流程示意图;
[0076] 图12是本申请实施例提供的一种图像排序方法的流程示意图;
[0077] 图13是本申请实施例提供的一种共视档位分类网络的应用示意图;
[0078] 图14是本申请实施例提供的一种电子设备的硬件系统的结构示意图;
[0079] 图15是本申请实施例提供的一种电子设备的软件系统的结构示意图;
[0080] 图16是本申请实施例提供的一种训练装置的结构示意图;
[0081] 图17是本申请实施例提供的一种图像排序装置的结构示意图;
[0082] 图18是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0083] 下面将结合附图,对本申请中的技术方案进行描述。
[0084] 在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0085] 以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
[0086] 首先,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
[0087] 1、扩展现实,是指通过计算机将真实世界与虚拟世界相结合以打造可人机交互的虚拟环境,是增强现实(augmented reality,AR)、虚拟现实(virtual reality,VR)以及混合现实(mixed reality,MR)等多种技术的统称。
[0088] 2、视觉重定位系统(visual positioning service,VPS),是指使用图像信息进行定位的服务,该服务以3D地图为基础,将3D地图与电子设备采集的图像信息相匹配,实现高精度的识别电子设备的方位信息的目的。
[0089] 3、全局特征,以图像(image)整体作为输入提取的特征,一般用于表现图像的整体特性。全局特征包括以下任意一种或多种的组合:预训练深度学习特征,GIST特征,局部二值模式(local binary pattern,LBP)特征,或颜色分布特征等。
[0090] 其中,预训练深度学习特征是利用预先训练的卷积神经网络模型计算得到的图像特征,预训练模型是指在通过数据集中的图像训练得到的模型。数据集,例如ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库,包含1000个类别、上千万张图像。图像被输入到预先训练的卷积神经网络模型后,该模型的任一卷积层内的特征均可以作为该图像的全局特征。GIST特征是一种抽象的场景表征,这种表征可以自然地激发不同分类场景的概念,例如城市、高山等。颜色分布特征是指通过颜色统计分布向量表示图像特征,例如颜色直方图、颜色矩、颜色聚合向量等;颜色直方图指图像颜色空间在不同颜色区间的分布特征,例如红绿蓝(red green blue,RGB)颜色分布空间等;颜色矩包括一阶矩、二阶矩、三阶矩等。
[0091] 4、局部特征,以图像的一部分区域作为输入提取的特征,一般用于表现图像的局部特性。局部特征包括以下任意一种或多种的组合:尺度不变(scale invariant feature transform,SIFT)特征,加速稳健特征 (speeded up robust features,SURF)、仿射 (affine)SIFT特征(又称之为ASIFT特征),基于主成分分析的尺度不变特征(principal component analysis‑scale invariant feature transform,PCA‑SIFT),方向梯度直方图 (histogram of oriented gradient,HOG),定向FAST检测和旋转的BRIEF描述子特征 (oriented FAST and rotated BRIEF,ORB),其中加速分割检测特征(features from accelerated segment test,FAST)  ,二进制鲁棒不变尺度特征  (binary robust independent elementary features,BRIEF),或二值稳健不可变特征(binary robust invariant scalable keypoints,BRISK)等。局部特征一般以图像中的某一像素为中心提取,这类像素也称之为兴趣点,关键点或特征点。特征点的局部范围内提取出的各类描述子一般具有局部尺度不变的特征,也即特征点的局部范围内的内容如果被进行各类处理,例如缩放、旋转、添加噪声、遮挡、变化光照,处理后的局部范围内提取出的描述子和处理前的局部范围内提取出的描述子相同或者相似。因此,如果两个图像中有大量局部特征匹配,也即有大量特征点匹配,一般可以认为这两个图像的相似程度较高。一个图像中针对每种局部特征一般可以提取出多个局部特征。
[0092] 5、相似度,指代两个哈希值、特征或向量之间相似程度。相似度可以为两个哈希值、特征或向量之间的距离,或者为两个哈希值、特征或向量之间的距离归一化后获得的数值。此处的距离可以为欧式距离、余弦距离、编辑(editor)距离、汉明距离等。两个哈希值、特征或向量之间的距离越小,相似度越大。
[0093] 6、反向传播算法
[0094] 神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,用于得到最优的神经网络模型的参数;例如,权重矩阵。
[0095] 以上是对本申请实施例所涉及的名词的简单介绍,以下不再赘述。
[0096] 随着硬件技术、视觉算法的快速发展,增强现实技术也被越来越多地应用于人们生活中。视觉重定位技术作为AR技术中的重要一环,也成为近年来该领域的研究热点。
[0097] 其中,VPS是指通过机器视觉来完成定位任务的技术,例如在进行实景导航的过程中,将实时采集的图像与云端存储的地图进行匹配,以得到精确的定位。在该匹配过程中,VPS对图像的准确度要求非常高,但相关技术并未对检索出的图像结果进行处理,或者虽然进行了处理,但是由于本身提供的处理算法逻辑简单、耗时长,导致检索出的图像结果并不准确,甚至出现错误,进而影响定位的准确性。
[0098] 因此,如何对匹配时检索出的图像结果进行排序处理,提高检索结果的准确性成为一个亟需解决的问题。
[0099] 有鉴于此,本申请实施例提供了一种图像排序方法,通过将查询图像和图像数据库中的对比图像的全局特征和局部特征来进行对比,由于全局特征可以反应图像整体的相似程度,局部特征可以反正图像局部的相似程度,两者结合对比从而可以综合性的提高检索到的图像结果的准确性。
[0100] 下面结合图1和图2对本申请实施例提供的两种应用场景进行举例说明。
[0101] 应用场景一:导航定位
[0102] 图1是本申请实施例适用的一种场景示意图。如图1所示,用户在进入陌生场景区域时,电子设备通过AR技术可以向用户提供实景导航,以使用户准确进行路线识别。在电子设备进行实景导航的过程中,用户可以指示电子设备采集当前拍摄图像,然后,电子设备根据采集的当前拍摄图像,在实景图库中进行搜索,此时,电子设备可以对当前拍摄图像所对应的当前场景进行识别,以根据当前场景实现对电子设备自身的定位。
[0103] 应用场景二:以图搜图
[0104] 图2是本申请实施例适用的另一种场景示意图。如图2中的(a)所示,电子设备的显示界面上显示有多个应用程序。当用户针对“搜图”应用程序执行了一次点击操作后,响应于该第一次点击操作,电子设备打开该应用程序,显示如图2中的(b)所示的搜索界面。该搜索界面包括“相机”图标11,示意用户可以利用拍照方式来获取查询图像,并查找查询图像的相似图像。当用户针对该搜索界面上的“相机”图标11进行一次点击操作后,响应于用户该次的点击操作,电子设备显示如图2中的(c)所示的拍照界面。
[0105] 如图2中的(c)所示,电子设备显示拍照界面,该拍照界面中包括预览图像,还包括拍照键12。当用户对准待拍摄目标(例如图中所示的路由器)后,响应于用户对拍照键12的点击操作,电子设备可以对路由器进行拍照,然后,在存储的图像数据库中的进行查找,并将查找到的包含有与待拍摄目标相似的图像显示在如图2中的(d)所示的界面上,以提供给用户查看。
[0106] 结合上述两种场景,当电子设备根据当前拍摄图像对所对应的当前场景进行识别以进行自身的定位时,或者进行相似图像的搜索时,若对检索结果不进行排序,或者利用相关算法对检索结果进行简单排序时,得到的定位或者检索到的图像结果会非常不准确,影响用户的体验。对此,若该电子设备采用本申请实施例提供的图像排序方进行处理,则能够结合查询图像和图像数据库中的对比图像的全局特征和局部特征来进行比对,从而提高检索到的图像结果的准确性。
[0107] 上述为对应用场景的两种举例说明,并不对本申请的应用场景作任何限定。
[0108] 由于需要针对查询图像和图像数据库中的对比图像的局部特征进行分析和对比,由此,本申请需要通过一个已训练的局部特征提取网络来提取这些图像的局部特征,还需要一个已训练的共视档位分类网络来对这些图像的局部特征进行分析对比。
[0109] 其中,图3为本申请实施例提供的局部特征提取网络的结构示意图,图4为本申请实施例提供的共视档位分类网络的训练示意图。图5为本申请实施例提供的一种共视档位分类网络的训练方法的流程示意图。
[0110] 下面先结合图3至图5对本申请实施例提供的共视档位分类网络的训练过程进行详细描述。
[0111] 图5为本申请实施例提供的共视档位分类网络的训练方法的流程示意图。
[0112] 如图5所示,该方法100可以包括以下S110至S180。
[0113] S110、获取查询训练图像和图像数据库。
[0114] 其中,查询训练图像用于指示进行训练使用的查询图像。图像数据库包括多帧对比图像。应理解,查询训练图像和图像数据库包括的对比图像均为预先拍摄得到的图像。当然,也可以为其他方式采集到的图像,本申请实施例对此不进行任何限制。
[0115] 可选地,可以对查询训练图像进行预处理。
[0116] 在本申请实施例中,预处理可以包括缩放、翻转、裁剪等至少一项处理。也即可以对查询训练图像进行缩放、翻转、裁剪等至少一项处理。此时,可以以对比训练图像为参考,将查询训练图像的最长边和对比图像的最长边长度保持一致,保持一致后可以便于后续对查询训练图像和对比图像进行局部特征的提取。
[0117] 应理解,缩放指的是将查询训练图像的尺寸进行放大或缩小,翻转指的是以查询训练图像的一条边为对称轴将图像翻过来;裁剪指的是将查询训练图像的部分区域去掉。当然,预处理还可以包括其他处理步骤,具体可以根据需要进行增加和修改,本申请实施例对此不进行任何限制。
[0118] S120、提取查询训练图像和图像数据库中的每帧对比图像的局部特征。
[0119] 其中,局部特征包括局部特征点和局部特征点描述子。
[0120] 应理解,局部特征即为图像局部区域的特征。提取局部特征包括的局部特征点可以将大量的图像信息稀疏化,从而更好地进行信息压缩,而提取局部特征点描述子则是对局部特征点周围信息进行描述,生成特征向量,用于和其他区域进行区分。
[0121] 可选地,可以利用局部特征提取网络对查询训练图像和每帧对比图像进行局部特征的提取。
[0122] 示例性的,如图3所示,局部特征提取网络可以包括编码网络、关键点检测网络和描述子解码网络。编码网络用于对图像基础特征进行提取;关键点检测网络用于基于提取的图像基础特征,提取图像的关键点或称为局部特征点;描述子解码网络用于提取图像的关键点描述子或称为局部特征点描述子。
[0123] 在本申请实施例中,局部特征提取网络会预先进行训练,在训练之后,可使得局部特征提取网络中的关键点检测网络具有较好的局部特征点检测性能。基于性能较好的关键点检测网络,可较为准确地检测到能够表达图像局部特征的局部特征点。
[0124] 在本申请实施例中,局部特征提取网络例如可以为SIFT与最近邻匹配(nn)网络结构、Sp(superpoint)网络结构与Sg(supergule)网络结构、Alsfeat(learning local features of accurate shape and localization)网络结构与nn网络结构等组成的网络中的任意一个;或者,局部特征提取网络还可以基于其他网络结构组成,具体可以根据需要进行设置和修改,本申请实施例对此不进行任何限制。
[0125] 当然,在上述过程中,还可以利用其他方法提取查询训练图像和图像数据库中的每帧对比图像的局部特征,本申请实施例对此不进行任何限制。
[0126] S130、根据局部特征,确定查询训练图像和每帧对比图像中分别包括的有效图像块。
[0127] 其中,有效图像块指的是包括局部特征点的图像块。该图像块的大小和尺寸可以根据需要进行确定,本申请实施例对此不进行任何限制。
[0128] 可选地,如图6所示,上述S130可以包括以下S131和S132。
[0129] S141、将查询训练图像和每帧对比图像划分成尺寸一致的多个图像块。
[0130] 其中,针对该图像块的形状不作限定,可以为方形、矩形、圆形或其他形状等,针对图像块的尺寸也不作限定,可以根据需要进行设置和修改。
[0131] S142、确定每个图像块中是否包含局部特征点,若是,则是有效图像块,若否,则不是有效图像块。
[0132] 示例性的,图7示出了一种确定有效图像块的示意图。
[0133] 如图7所示,可以将查询训练图像和对比图像划分成尺寸相同的多个图像块,例如,每个图像块的尺寸为n×n。
[0134] 如图7中的(a)所示,针对查询训练图像来说,将查询训练图像划分成多个图像块后,由于第1行第3列图像块包括局部特征点a1、第1行第4列图像块包括局部特征点a2、第2行第2列图像块包括局部特征点a3、第2行第3列图像块包括局部特征点a4、第3行第3列图像块包括局部特征点a5,第4行第3列图像块包括局部特征点a6和第5行第3列图像块包括局部特征点a7。因此,可以确定第1行第3列图像块、第1行第4列图像块、第2行第2列图像块、第2行第3列图像块、第3行第4列图像块、第4行第3列图像块和第5行第3列图像块均为查询训练图像中的有效图像块。
[0135] 如图7中的(b)所示,同理,针对对比图像来说,将对比图像划分成多个图像块后,由于第3行第4列图像块包括局部特征点b1、第3行第5列图像块包括局部特征点b2、第4行第3列图像块包括局部特征点b3、第3行第4列图像块包括局部特征点b4、第5行第2列图像块包括局部特征点b6、第5行第4列图像块包括局部特征点b5。因此,可以确定第3行第4列图像块、第3行第5列图像块、第4行第3列图像块、第3行第4列图像块、第5行第2列图像块和第5行第4列图像块均为对比图像中的有效图像块。
[0136] S140、将查询训练图像和每帧对比图像的局部特征中的局部特征点进行匹配,确定匹配上的局部特征点对。
[0137] 此处,先针对查询训练图像,利用局部特征提取网络提取查询训练图像的局部特征点和局部特征点描述子;针对对比图像,利用局部特征提取网络可以提取对比图像的局部特征点和局部特征点描述子;然后,根据查询训练图像的局部特征点和对比图像的局部特征点进行匹配,确定匹配上的局部特征点对。其中,匹配上的局部特征点对包括一个查询训练图像的局部特征点和一个对比图像的局部特征点,该两个局部特征点用于指示同一目标。
[0138] 示例性的,图8示出了一种匹配上的局部特征点对的示意图。
[0139] 如图8中的(a)所示,左边图像为查询训练图像,a1至a7为从该查询训练图像中确定出的局部特征点。右边图像为从图像数据库中任意选择的一帧对比图像,b1至b6为从该对比图像中确定出的局部特征点。
[0140] 如图8中的(b)所示,经匹配后,a1与b1相匹配,a1和b1为一对匹配上的局部特征点对;a2与b2相匹配,a2和b2为一对匹配上的局部特征点对;a3和b3相匹配,a3和b3为一对匹配上的局部特征点对;a4和b4相匹配,a4和b4为一对匹配上的局部特征点对;a5和b5为一对匹配上的局部特征点对;a7和b6相匹配,a7和b6为一对匹配上的局部特征点对。除此之外,a6无匹配对象。其中,图8中的虚线仅用于指示匹配关系,并不会在实际处理中产生,也无其他含义。
[0141] 应理解,由于训练过程中,可能需要多次调用图像数据库中的对比图像的局部特征,因此,可以将在第一次提取对比图像的局部特征后将其与对比图像对应存储起来,也即将局部特征更新至图像数据库中。在后续需要获取某一对比图像的局部特征时,可以直接调用图像数据库中存储的该对比图像的局部特征来进行使用,以减小工作量,提高处理效率。而针对其他查询训练图像,仅需要针对其他查询训练图像进行局部特征的提取。
[0142] 可选地,为了提高后续结果的准确性,在进行匹配之后,可以先进行一次纠错,剔除匹配错误的局部特征点对。
[0143] 在本申请实施例中,可以利用对极几何(epipolar geometry)的方法,剔除匹配错误的局部特征点。当然也可以利用其他方法进行剔除,本申请实施例对此不进行任何限制。
[0144] 应理解,对极几何指的是在已知二维的像素点坐标的前提下,根据连续两帧图像之间的多组二维的像素点坐标来估计拍摄该两帧图像时的摄像头的位姿变化情况。当估计出摄像头的位姿变化情况后,若某些匹配出的局部特征点不符合该位姿变化情况,则说明其匹配错误,然后,可以将匹配错误的局部特征点进行剔除。
[0145] 图9为图8剔除匹配错误的局部特征点对之后的示意图。
[0146] 结合图8和图9所示,在匹配过程中,由于错误的将a7和b6相匹配,因此,可以将局部特征点a7和b6剔除,仅保留其他匹配正确的局部特征点对。
[0147] 还应理解,剔除匹配错误的局部特征点对,只是取消这些局部特征点的匹配关系,并不是从图像中去除这些局部特征点。
[0148] S150、基于查询训练图像和每帧对比图像中匹配上的局部特征点对,确定查询训练图像和每帧对比图像分别包括的有效共视图像块。
[0149] 其中,有效共视图像块指的包括有匹配上的局部特征点对中的局部特征点的有效图像块。因为有一些查询训练图像中的有效图像块虽然包括有局部特征点,但是该局部特征点与对比图像没有匹配关系,说明是与对比图像包括的内容不同的,另外,有一些对比图像中的有效图像块虽然包括有局部特征点,但是该局部特征点与查询训练图像也没有匹配关系,说明是与查询训练图像包括的内容不同的。因此,需要将这些包括没有匹配关系的局部特征点的有效图像块筛除掉,仅保留包括有匹配关系的局部特征点的有效图像块。由此,也可以说有效共视图像块,指示的是包括相同内容的图像块。
[0150] 示例性1,结合图9中的(a)所示,针对查询训练图像来说,将查询训练图像划分成多个图像块后,虽然第4行第3列图像块包括有局部特征点a6,第5行第3列图像块包括有局部特征点a7,但是,局部特征点a6在对比图像中没有相应匹配的局部特征点,局部特征点a7也没有匹配关系,说明对比图像中没有包括与该两个局部特征点相同的内容。因此,可以确定第4行第3列图像块、第5行第3列图像块不属于有效共视图像块。除此之外,其他第1行第3列图像块、第1行第4列图像块、第2行第2列图像块、第2行第3列图像块、第3行第3列图像块均为查询训练图像中的有效共视图像块。
[0151] 结合图9中的(b)所示,针对对比图像来说,将对比图像划分成多个图像块后,虽然第5行第2列图像块包括局部特征点b6,但是在查询训练图像中没有相应匹配的局部特征点,说明查询训练图像没有包括与该局部特征点相同的内容。因此,可以确定包括该局部特征点b6的第5行第2列图像块不属于有效共视图像块。除此之外,第3行第4列图像块、第3行第5列图像块、第4行第3列图像块、第4行第4列图像块和第5行第4列图像块均属于对比图像中的有效共视图像块。
[0152] 同理,参考上述,可以确定出每帧对比图像中与查询训练图像包括相同内容的有效共视图像块。
[0153] 示例性2,如图10所示,针对左边的查询训练图像和右边的对比图像来说,图中标识的点为确定出的局部特征点,包含有局部特征点的圆形为有效图像块。
[0154] 然后,将查询训练图像和对比图像的局部特征点进行匹配,确定匹配上的局部特征点对。由此,可以从有效图像块中筛选出包括有匹配关系的局部特征点的有效图像块为有效共视图像块。
[0155] S160、根据查询训练图像和每帧对比图像之间的有效图像块、有效共视图像块,确定查询训练图像和每帧对比图像的共视得分。
[0156] 其中,共视得分用于指示结合局部特征确定出的两帧图像之间内容相似程度,共视得分越高,表示越相似。
[0157] 其中,如图11所示,上述S160可以包括以下S161至S164。
[0158] S161、根据查询训练图像中的有效共视图像块和有效图像块,确定第一共视占比。
[0159] S162、根据对比图像中的有效共视图像块和有效图像块,确定第二共视占比。
[0160] S163、确定第一共视占比和第二共视占比中的较小值为该查询训练图像和该对比图像之间的共视得分。
[0161] S164、重复执行上述S161至S163,确定查询训练图像和每帧对比图像之间对应的共视得分。
[0162] 应理解,确定第一共视占比相当于确定查询训练图像与对比图像相同的内容在查询训练图像中的占比,确定第二共视占比相当于确定查询训练图像与对比图像相同的内容在对比图像中的占比,两者的较小值为更准确一些的相同内容。
[0163] 示例性的,结合图7和图9所示,根据查询训练图像中的有效共视图像块和有效图像块,确定第一共视占比为七分之五;根据对比图像中的有效共视图像块和有效图像块,可以确定第二共视占比为六分之五。第一共视占比小于第二共视占比,由此,可以确定该查询训练图像和该对比图像之间的共视得分为七分之五。
[0164] S170、根据共视得分,利用预设的共视档位阈值与档位之间的映射关系,确定查询训练图像和每帧对比图像之间对应的档位,并作为真值档位。
[0165] 在本申请实施例中,共视档位阈值的数量和大小可以根据需要进行设置,本申请实施例对此不进行任何限制。例如,可以设定三个共视档位阈值,分别为score_th1、score_th2、score_th3。
[0166] 相应地,划分的档位为:
[0167] 档位4,0<score<score_th1;
[0168] 档位3,score_th1≤score<score_th2;
[0169] 档位2,score_th2≤score<score_th3;
[0170] 档位1,score_th3≤score。
[0171] 应理解,设定的共视档位阈值越多,划分的越细,档位就相应越多。
[0172] 示例性的,若设定的档位阈值score_th1为0.2、score_th2为0.6、score_th3为0.8,则上述档位对应的共视档位阈值范围分别为:
[0173] 档位4,0<score<0.2;
[0174] 档位3,0.2≤score<0.6;
[0175] 档位2,0.6≤score<0.8;
[0176] 档位1,0.8≤score。
[0177] 其中,score即为确定出的共视得分,根据共视得分,确定共视得分所属的共视档位阈值范围,则可以找到对应的档位。应理解,档位1表示相似度最高,档位4表示相似度最低。
[0178] 结合上述S160中的共视得分可知,由于查询训练图像和对比图像之间的共视得分为七分之五,约为0.71,位于0.6至0.8的共视档位阈值范围之中,所以可以确定查询训练图像和该对比图像之间对应的真值档位为档位2。
[0179] 可选地,在确定档位之前,还可以根据所有对比图像对应的共视得分从大到小进行对对比图像进行排序。
[0180] S180、基于查询训练图像和每帧对比图像,及查询训练图像和每帧对比图像之间对应的真值档位,对共视档位分类网络进行训练,得到已训练的共视档位分类网络。
[0181] 例如,将查询训练图像和任意一帧对比图像输入共视档位分类网络,利用共视档位分类网络确定查询训练图像和该帧对比图像之间的档位,该档位作为预测档位。然后,将根据预设档位和该查询训练图像与对比图像之间的真值档位进行比较,并通过反向传播算法对共视档位分类网络的参数进行迭代,直至共视档位分类模型的预测档位收敛接近于真值档位,得到训练好的共视档位分类网络,即得到已训练的共视档位分类网络。
[0182] 上述以一帧对比图像为例进行说明,在实际训练过程中,可以将查询训练图像与多帧对比图像输入共视档位分类网络进行训练,本申请实施例对此不进行任何限制。
[0183] 在本申请实施例中,可以先利用局部特征提取网络对查询训练图像和图像数据库中的对比图像的局部特征进行提取,由于图像部分区域包括局部特征中的局部特征点,因此,可以将查询训练图像和对比图像划分成多个图像块,通过确定每个图像块是否包含局部特征点,来确定该图像块是否为有效图像块。然后,通过将查询训练图像和对比图像的局部特征点进行匹配,来确定包含有匹配上的局部特征点对中的局部特征点的图像块为有效共视图像块。接着,可以利用确定出的查询训练图像和对比图像的有效图像块和有效共视图像块,来确定查询训练图像和对比图像之间的共视得分,并确定共视得分对应的真值档位。最后,再将该查询训练图像和对比图像同时输入共视档位分类网络中,利用共视档位分类网络来确定两者的预测档位,结合真值档位和预测档位来对共视档位分类网络进行训练。这样,通过本申请实施例提供的训练方法训练出的共视档位分类网络后续在应用时,可以直接用来确定两帧图像之间的档位,以准确的通过局部特征来预测两帧图像的相似度。
[0184] 通过图3至图11训练出来的共视档位分类网络可以应用于本申请提供的图像排序方法中,接下来,结合图12对本申请实施例提供的图像排序方法进行详细描述。
[0185] 图12是本申请实施例提供的一种图像排序方法的流程示意图。如图12所示,该方法200可以包括以下S210至S270。
[0186] S210、获取查询图像。
[0187] 应理解,查询图像可以为用户利用电子设备拍摄得到的图像,或者是电子设备中存储的图像,或者,还可以为电子设备从云端获取或接收到的图像,当然,也可以为其他方式,本申请实施例对此不进行任何限制。查询图像为用户想要获取其相似图像所输入的图像,对比图像为用户想要从中寻找出与查询图像相似的图像。
[0188] S220、确定查询图像和图像数据库中每帧对比图像之间的全局特征相似度。
[0189] 其中,图像数据库包括多帧对比图像。
[0190] 图像数据库包括的多帧对比图像可以包括预先采集的图像以及用户之前输入的查询图像。图像数据库可以存储于电子设备或云端。当图像数据库存储于云端时,还可以根据云端服务器的更新操作,进行实时更新。此时,电子设备可以响应于用户的查询指示,获取云端的图像数据库。
[0191] 在确定查询图像和图像数据库中每帧对比图像之间的全局特征相似度时,例如,可以利用预先训练的卷积神经网络模型,又称为全局特征提取网络来提取查询图像和图像数据库中每帧对比图像之间的全局特征,然后,再确定两个全局特征之间的相似程度。
[0192] 其中,图像数据库中的每帧对比图像的全局特征可以预先确定并存储,在利用本申请实施例提供的图像排序方法进行处理时,只需调用每帧对比图像的全局特征进行相似程度的计算。这样,针对不同的查询图像,图像数据库中的每帧对比图像的全局特征可以复用,从而可以减小计算量,提高处理效率。
[0193] S230、根据全局特征相似度,从多帧对比图像中确定出M帧候选图像。
[0194] 可选地,作为一种实施例,可以按照全局特征相似度从大到小的顺序,从图像数据库中挑选出前M帧对比图像作为M帧候选图像。M为大于1的整数,同时,M小于图像数据库中对比图像的总数。
[0195] 可选地,作为另一种实施例,可以预先设定全局特征相似度阈值,将对应全局特征相似度大于全局特征相似度阈值的M帧对比图像,确定为M帧候选图像。
[0196] 应理解,上述仅为两种示例,还可以根据其他方式确定M帧候选图像,本申请实施例对此不进行任何限制。
[0197] 应理解,全局特征相似度越大,说明图像数据库中的对比图像与查询图像整体特性越相似,因此,可以从图像数据库中筛选出全局特征相似度排序前M帧的对比图像作为M帧候选图像,以便于后续在此之中,可以根据其他条件进一步从候选图像中筛选与查询图像相似的图像。根据全局特征相似度筛选候选图像的过程相当于是一个初步筛选相似图像的过程,通过该初步筛选过程,可以大量筛除掉与查询图像相似度较低或者说不相似的图像,提升了查询图像的匹配速度和准确度。
[0198] 其中,M例如可以为100,当然,M也可以为其他数量,本申请实施例对此不进行任何限制。需要说明的是,当按照全局特征相似度从大到小的顺序,从图像数据库中挑选出前M帧对比图作为候选图像时,该M的大小可以根据需要进行设定。而将对应全局特征相似度大于全局特征相似度阈值的对比图像,确定为候选图像时,该M的大小可以根据确定出的候选图像的数量进行统计得到。
[0199] 示例性的,预设M为100时,可以将图像数据库中的所有帧图像和查询图像输入全局特征提取网络中,以进行每帧对比图像与查询图像之间的全局特征相似度的计算和排序,然后,输出排序前100帧的对比图像作为候选图像。
[0200] 示例性的,预先定全局特征相似度阈值,将对应全局特征相似度大于全局特征相似度阈值的对比图像,确定为候选图像,若统计出的候选图像为80帧,则此时M的大小为80。
[0201] S240、利用局部特征提取网络,提取查询图像的局部特征。
[0202] 其中,查询图像的局部特征包括局部特征点和局部特征点描述子。
[0203] S250、根据查询图像和M帧候选图像之间的局部特征,利用已训练的共视档位分类网络,确定查询图像和该候选图像对应的档位。
[0204] 其中,由于M帧候选图像是从图像数据库中的对比图像中筛选出来的,在训练过程中,已确定了每帧对比图像的局部特征并进行了存储,此时,在应用时可以根据对应关系,直接调用相关的局部特征进行处理。或者,未预先存储时,也可以利用上述局部特征提取网络来提取候选图像的局部特征,候选图像的局部特征也包括局部特征点和局部特征点描述子。
[0205] 在本申请实施例中,图13示出了一种共视档位分类网络的应用示意图。
[0206] 如图13所示,共视档位分类网络可以包括:解码网络、注意力机制网络和分类网络。
[0207] 其中,解码网络用于对查询图像的局部特征点和局部特征点描述子进行融合,生成第一特征图;注意力机制网络用于根据第一特征图,生成注意力特征向量;然后,将注意力特征向量与候选图像中的局部特征点和局部特征点描述子进行点乘,生成第二特征图。分类网络用于根据第一特征图和第二特征图进行分类,确定对应的档位。
[0208] S260、根据档位从大到小的顺序进行排序,确定前N帧候选图像为目标图像,1≤N<M,N和M均为整数。
[0209] 例如,确定出查询图像和图像数据库中的每帧对比图像之间的全局相似度后,根据全局相似度从大到小排序,可以从筛选出前100帧对比图像作为候选图像,说明该100帧候选图像与查询图像的整体情况比较相似。
[0210] 然后,利用局部特征提取网络提起查询图像的局部特征,利用已训练的共视档位分类网络来确定查询图像和该100帧候选图像之间对应的档位,然后,按照档位从大到小的顺序进行排序,再从该100帧候选图像中确定出前30帧候选图像为30帧目标图像,档位从大到小说明该30目标图像与查询图像在整体相似的情况下,局部情况也比较相似。
[0211] N的大小可以根据需要进行设置和修改,本申请实施例对此不进行任何限制。
[0212] S270、显示该N帧目标图像。
[0213] 可以按照档位排序顺序显示该N帧目标图像,当然也可以按照其他方式进行显示,或者也可以显示该N帧目标图像中的部分目标图像,本申请实施例对此不进行任何限制。
[0214] 本申请实施例提供的图像排序方法,先基于与查询图像的全局相似程度来进行排序,筛选出前M帧全局较为相似的图像作为候选图像,然后,利用已训练的共视档位分类网络来根据局部特征确定该M帧候选图像与查询图像的档位大小,也即结合局部特征确定相似程度,最后,筛选出档位排序前N的图像作为目标图像。该N帧目标图像由于是图像检索全局特征结果后再次结合图像局部特征进行的挑选,从而可以优化单纯依赖于全局特征检索的结果,确定出的目标图像与查询图像相似度更高,更准确。后续应用于VPS定位中的图像检索模块时,可以提升VPS定位效果。
[0215] 下面将结合附图,对本申请实施例中的图像排序方法及其相关设备进行描述。
[0216] 图14示出了一种适用于本申请的电子设备的硬件系统。
[0217] 电子设备100可以是手机、智慧屏、平板电脑、可穿戴电子设备、车载电子设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、投影仪等等,本申请实施例对电子设备100的具体类型不作任何限制。
[0218] 电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器
170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头
193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
[0219] 需要说明的是,图14所示的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图14所示的部件更多或更少的部件,或者,电子设备100可以包括图14所示的部件中某些部件的组合,或者,电子设备100可以包括图14所示的部件中某些部件的子部件。图14示的部件可以以硬件、软件、或软件和硬件的组合实现。
[0220] 处理器110可以包括一个或多个处理单元。例如,处理器110可以包括以下处理单元中的至少一个:应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、神经网络处理器(neural‑network processing unit,NPU)。其中,不同的处理单元可以是独立的器件,也可以是集成的器件。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0221] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0222] 图14所示的各模块间的连接关系只是示意性说明,并不构成对电子设备100的各模块间的连接关系的限定。可选地,电子设备100的各模块也可以采用上述实施例中多种连接方式的组合。
[0223] 电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等器件实现。
[0224] 天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0225] 电子设备100可以通过GPU、显示屏194以及应用处理器实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0226] 显示屏194可以用于显示图像或视频。
[0227] 电子设备100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
[0228] ISP 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP可以对图像的噪点、亮度和色彩进行算法优化,ISP还可以优化拍摄场景的曝光和色温等参数。在一些实施例中,ISP可以设置在摄像头193中。
[0229] 摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal‑oxide‑semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
[0230] 数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0231] 视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3和MPEG4。
[0232] 陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x轴、y轴和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。例如,当快门被按下时,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航和体感游戏等场景。
[0233] 示例性地,在本申请的实施例中陀螺仪传感器180B可以用于采集的抖动信息,抖动信息可以用于表示电子设备在拍摄过程中的位姿变化。
[0234] 加速度传感器180E可检测电子设备100在各个方向上(一般为x轴、y轴和z轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别电子设备100的姿态,作为横竖屏切换和计步器等应用程序的输入参数。
[0235] 距离传感器180F用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,例如在拍摄场景中,电子设备100可以利用距离传感器180F测距以实现快速对焦。
[0236] 环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
[0237] 指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现解锁、访问应用锁、拍照和接听来电等功能。
[0238] 触摸传感器180K,也称为触控器件。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,触摸屏也称为触控屏。触摸传感器180K用于检测作用于其上或其附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,并且与显示屏194设置于不同的位置。
[0239] 上文详细描述了电子设备100的硬件系统,下面介绍图像电子设备100的软件系统。图15是本申请实施例提供的电子设备的软件系统的示意图。
[0240] 如图15所示,系统架构中可以包括应用层210、应用框架层220、硬件抽象层230、驱动层240以及硬件层250。
[0241] 应用层210可以包括相机应用程序、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等应用程序。
[0242] 应用框架层220为应用层的应用程序提供应用程序编程接口(application programming interface,API)和编程框架;应用框架层可以包括一些预定义的函数。
[0243] 例如,应用框架层220可以包括相机访问接口;相机访问接口中可以包括相机管理与相机设备。其中,相机管理可以用于提供管理相机的访问接口;相机设备可以用于提供访问相机的接口。
[0244] 硬件抽象层230用于将硬件抽象化。比如,硬件抽象层可以包相机抽象层以及其他硬件设备抽象层;相机硬件抽象层可以调用相机算法库中的算法。
[0245] 例如,相机算法库中可以包括用于图像处理的软件算法。
[0246] 驱动层240用于为不同硬件设备提供驱动。例如,驱动层可以包括相机设备驱动;数字信号处理器驱动、图形处理器驱动或者中央处理器驱动。
[0247] 硬件层250可以包括相机设备以及其他硬件设备。
[0248] 例如,硬件层250包括相机设备、数字信号处理器、图形处理器或者中央处理器;示例性地,相机设备中可以包括图像信号处理器,图像信号处理器可以用于图像处理。
[0249] 示例性地,本申请实施例提供的共视档位分类网络的训练方法可以在数字信号处理器、图形处理器或者中央处理器中执行;或者电子设备的其他算例硬件中执行。
[0250] 图16是本申请实施例提供用于实现上述训练方法的训练装置300的示意图。
[0251] 如图16所示,训练装置300包括获取单元310和处理单元320。
[0252] 其中,获取单元310用于获取查询训练图像和图像数据库,所述图像数据库包括多帧对比图像。
[0253] 处理单元320用于提取所述查询训练图像和所述对比图像的局部特征,所述局部特征包括局部特征点和局部特征点描述子;
[0254] 根据所述局部特征,确定所述查询训练图像和所述对比图像中的有效图像块和有效共视图像块,所述有效图像块为包括所述局部特征点的图像块,所述有效共视图像块为包括所述查询训练图像和所述对比图像之间匹配上的局部特征点对中的局部特征点的图像块;
[0255] 根据所述有效图像块和有效共视图像块,确定所述查询训练图像和所述对比图像之间的真值档位;
[0256] 利用所述共视档位分类网络确定根据所述查询训练图像和所述对比图像之间的预测档位;
[0257] 基于所述真值档位和所述预测档位对所述共视档位分类网络进行训练,得到已训练的共视档位分类网络。
[0258] 可选地,作为一个实施例,处理单元420还用于:
[0259] 利用局部特征提取网络提取所述查询训练图像和所述对比图像的局部特征;
[0260] 其中,所述局部特征提取网络包括编码网络、关键点检测网络和描述子解码网络,所述编码网络用于提取基础特征,所述关键点检测网络用于基于所述基础特征提取所述局部特征点,所述描述子解码网络用于基于所述基础特征提取所述局部特征点描述子。
[0261] 可选地,作为一个实施例,处理单元420还用于:
[0262] 将所述查询训练图像和所述对比图像划分成尺寸一致的多个图像块;
[0263] 确定包括所述局部特征点的图像块为所述有效图像块。
[0264] 可选地,作为一个实施例,处理单元420还用于:
[0265] 将所述查询训练图像和所述对比图像中的所述局部特征点进行匹配,确定所述匹配上的局部特征点对;
[0266] 确定包括所述匹配上的局部特征点对中的局部特征点的图像块为所述有效共视图像块。可选地,作为一个实施例,处理单元420还用于:
[0267] 根据所述查询训练图像中的有效共视图像块和有效图像块,确定第一共视占比;
[0268] 根据所述对比图像中的有效共视图像块和有效图像块,确定第二共视占比;
[0269] 确定所述第一共视占比和所述第二共视占比中的较小值为所述查询训练图像和所述对比图像之间的共视得分;
[0270] 根据所述共视得分,利用预设的共视档位阈值与档位之间的映射关系,确定所述查询训练图像和对比图像之间对应的档位,并作为所述真值档位。
[0271] 需要说明的是,上述训练装置300以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
[0272] 图17是本申请实施例提供的用于实现上述图像排序方法的图像排序装置400的示意图。
[0273] 如图17所示,图像排序装置400包括显示单元410和处理单元420。
[0274] 其中,显示单元410用于显示第一界面,第一界面包括第一控件。
[0275] 处理单元420用于检测到对所述第一控件的第一操作;响应于所述第一操作,获取查询图像。
[0276] 处理单元420还用于确定所述查询图像和图像数据库中每帧对比图像之间的全局特征相似度,所述图像数据库包括多帧对比图像;
[0277] 从所述图像数据库中获取与所述查询图像全局特征相似度高的M帧对比图像,作为M帧候选图像;
[0278] 提取所述查询图像和M帧所述候选图像中每帧所述候选图像的局部特征;
[0279] 根据所述查询图像和M帧所述候选图像的局部特征,利用上述所述的共视档位分类网络的训练方法得到的已训练的共视档位分类网络,确定档位;
[0280] 从M帧所述候选图像中,按照所述档位从大到小的顺序,确定前N帧候选图像为N帧目标图像,1≤N<M,N和M均为整数;
[0281] 显示N帧所述目标图像。
[0282] 可选地,作为一个实施例,处理单元420还用于:
[0283] 按照所述全局特征相似度从大到小的顺序对多帧所述对比图像进行排序,确定前M帧对比图像为所述M帧候选图像;
[0284] 或者,将所述全局特征相似度大于预设的全局特征相似度阈值的M帧对比图像,作为所述M帧候选图像。
[0285] 可选地,作为一个实施例,处理单元420还用于:
[0286] 利用局部特征提取网络提取所述查询图像和M帧所述候选图像的局部特征。
[0287] 可选地,作为一个实施例,已训练的共视档位分类网络包括:解码网络、注意力机制网络和分类网络。
[0288] 处理单元420还用于:
[0289] 将所述查询图像的局部特征输入解码网络,得到第一特征图;
[0290] 将所述第一特征图输入所述注意力机制网络,得到注意力特征向量;
[0291] 将所述注意力特征向量与M帧所述候选图像的局部特征进行点乘,得到第二特征图;
[0292] 将所述第一特征图、所述第二特征图输入所述分类网络,得到所述档位。
[0293] 可选地,作为一个实施例,所述第一界面是指拍照界面,所述第一控件是指用于指示拍照的控件。
[0294] 需要说明的是,上述图像排序装置400以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
[0295] 例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
[0296] 因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0297] 本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令;当所述计算机可读存储介质在图像排序装置400上运行时,使得该图像排序装置400执行前述所示的图像排序方法。
[0298] 所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
[0299] 本申请实施例还提供了一种包含计算机指令的计算机程序产品,当其在图像排序装置400上运行时,使得图像排序装置400可以执行前述所示的图像排序方法。
[0300] 图18为本申请实施例提供的一种芯片的结构示意图。图18所示的芯片可以为通用处理器,也可以为专用处理器。该芯片包括处理器501。其中,处理器501用于支持图像排序装置400执行前述所示的技术方案。
[0301] 可选的,该芯片还包括收发器502,收发器502用于接受处理器501的控制,用于支持图像排序装置400执行前述所示的技术方案。
[0302] 可选的,图18所示的芯片还可以包括:存储介质503。
[0303] 需要说明的是,图18所示的芯片可以使用下述电路或者器件来实现:一个或多个现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其他适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合。
[0304] 上述本申请实施例提供的电子设备、图像排序装置400、计算机存储介质、计算机程序产品、芯片均用于执行上文所提供的方法,因此,其所能达到的有益效果可参考上文所提供的方法对应的有益效果,在此不再赘述。
[0305] 应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述检测方法的各个实施例中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
[0306] 还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
[0307] 还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0308] 还应理解,本申请实施例中,“预先设定”、“预先定义”可以通过在设备(例如,包括电子设备)中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。
[0309] 还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
[0310] 还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
[0311] 最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。