一种基于锚点的密集嵌入生成方法、装置和存储介质
未命名
09-08
阅读:131
评论:0
1.本发明涉及嵌入生成技术,尤其涉及一种基于锚点的密集嵌入生成方法、装置和存储介质。
背景技术:
2.深度度量学习是各种应用的基础,包括面部识别、验证、图像检索、图像聚类、图像分类、少镜头学习、视频表征学习和声音生成等。自提出以来,它在研究领域中引发了相当大的兴趣,学者们提供了各种方法并取得了实质性进展。深度度量学习的目标是学习一个深度模型,能够将语义上相似的数据点映射到嵌入空间中相似的嵌入中。为了实现这一点,大多数现有方法使用损失函数训练深度模型,使来自语义上相似数据点的嵌入靠近彼此。然而,一些嵌入可能对训练深度模型贡献有限或没有改进,或者甚至在训练早期导致不良局部最小值(如模型坍缩)。因此,采样信息丰富且稳定的嵌入对于促进深度模型的训练非常重要。因此,提高样本质量对于实现有效深度度量学习具有重要意义。为实现这一目标有两种常用措施:设计更有效的采样方法或提供更多嵌入。
3.现有工作在设计在嵌入对或完整批嵌入上的有效采样方法方面已经取得了巨大进展。这些方法通常在一批嵌入上执行采样,但由于以下原因通常会导致不准确的采样结果。首先,批处理大小通常受单个gpu内存限制,因为采样过程通常不能跨不同gpu设备;其次,即使具有足够内存支持更大批处理大小的gpu,在由深层模型嵌入的特征空间中仍然可能由于缺少数据点而出现“荒芜”区域,从而导致“缺失嵌入”问题,如图1所示。因此,有限数量的嵌入可能会损害样本质量和深度度量学习性能。
4.最近,一些尝试已经致力于通过伪嵌入生成来克服由缺少数据点带来的不准确采样问题。难嵌入生成方法使用额外的生成对抗网络或自动编码器从简单嵌入中生成难嵌入。嵌入扩展生成方法在嵌入之间进行插值以实现特征空间增强。跨批次内存保留方法保留上一次迭代的嵌入,并认为它们在当前批次中仍然具有采样意义。然而,这些方法要么利用额外的子网络,引入额外的训练成本,要么需要对标准深度度量学习的采样和损失计算过程进行进一步修改,这可能会限制它们在其他任务中的适用性。
技术实现要素:
5.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于锚点的密集嵌入生成方法、装置和存储介质。
6.本发明所采用的技术方案是:
7.一种基于锚点的密集嵌入生成方法,包括以下步骤:
8.获取待检索的目标图像;
9.将所述目标图像输入目标模型中;
10.利用所述目标模型将所述目标图像映射到特征空间中,根据比较特征空间中两两向量间的欧氏距离,获取最为接近的向量所对应的图像作为检索结果;
11.其中,所述目标模型通过利用锚点嵌入生成的密集嵌入来训练深度神经网络模型后获得。
12.进一步地,所述目标模型通过以下方式训练获得:
13.在所述深度神经网络模型的采样层之前,插入伪嵌入生成层;
14.在训练过程中,采样获得的图像在输入所述深度神经网络模型后,首先利用有数据点的嵌入作为锚点,并利用锚点嵌入附近的特征空间来产生没有数据点的伪嵌入;
15.通过结合有数据点的嵌入和没有数据点的伪嵌入,提供更多的嵌入以促进采样过程,使得采样过程能够采样到更加有效的样本对所述深度神经网络模型进行训练,获得目标模型。
16.进一步地,所述伪嵌入通过以下方式生成,包括:
17.使用特征的缩放以及移位,在锚点嵌入周围的特征空间生成伪嵌入。
18.进一步地,所述使用特征的缩放以及移位,在锚点嵌入周围的特征空间生成伪嵌入,包括:
19.利用最具判别特征缩放模块,在单个锚点嵌入周围利用特征空间来生成伪嵌入;
20.利用过往特征变换移位模块,在多个锚点嵌入周围利用特征空间来生成伪嵌入。
21.进一步地,所述利用最具判别特征缩放模块,在单个锚点嵌入周围利用特征空间来生成伪嵌入,包括:
22.利用一个嵌入的有效语义信息往往是高度激活的这一特征,识别具有前k高激活值的通道,作为该锚点嵌入的有效语义特征;
23.将所述有效语义特征进行随机缩放,以产生新的伪嵌入。
24.进一步地,所述利用过往特征变换移位模块,在多个锚点嵌入周围利用特征空间来生成伪嵌入,包括:
25.利用同类嵌入之间语义差异可以添加到其他嵌入中以生成有效嵌入这一特点,对于同类别的锚点嵌入,分别计算两两锚点嵌入之间的特征位移,作为语义特征变换;
26.将所述语义特征变换存入记忆库;
27.从记忆库中获取语义特征变换与锚点嵌入相加,以产生新的伪嵌入。
28.进一步地,在训练过程中还包括以下步骤:
29.随机选择训练样本,在生成伪嵌入后,利用随机梯度下降算法进行优化,以令预设的目标损失函数l收敛。其中,该损失函数l可为任意现有深度度量学习损失函数。
30.本发明所采用的另一技术方案是:
31.一种基于锚点的密集嵌入生成装置,包括:
32.目标图像获取模块,用于获取待检索的目标图像;
33.目标图像输入模块,用于将所述目标图像输入目标模型中;
34.检索模块,用于利用所述目标模型将所述目标图像映射到特征空间中,根据比较特征空间中两两向量间的欧氏距离,获取最为接近的向量所对应的图像作为检索结果;
35.其中,所述目标模型通过利用锚点嵌入生成的密集嵌入来训练深度神经网络模型后获得。
36.本发明所采用的另一技术方案是:
37.一种基于锚点的密集嵌入生成装置,包括:
38.至少一个处理器;
39.至少一个存储器,用于存储至少一个程序;
40.当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
41.本发明所采用的另一技术方案是:
42.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求上所述方法。
43.本发明的有益效果是:本发明利用锚点附近的特征空间来稠密的生成无对应数据点的嵌入特征进行训练,从而实现更加准确的图像检索,解决深度度量学习中由于计算资源限制,从而导致现有采样无法采样到有效样本的问题。此外,本发明还能够直接集成到现有的深度度量学习框架中,无需任何额外的修改,并且具有显著的技术效果。
附图说明
44.为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
45.图1是缺失嵌入问题的示意图;
46.图2是本发明实施例中面向深度度量学习的基于锚点的密集嵌入生成算法的示意图;
47.图3是本发明实施例中最具判别特征缩放模块的示意图;
48.图4是本发明实施例中过往特征变换移位模块的示意图。
具体实施方式
49.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
50.在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
51.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
52.此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,
同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
53.本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
54.为了解决现有的技术问题,本发明提出了一种基于锚点的密集嵌入生成算法,以解决深度度量学习中计算资源限制导致的无法采样到有效样本的问题。为了实现更加准确的图像检索,该算法将具有相应数据点的特征视为“锚点”嵌入,并利用锚点附近的特征空间来稠密地生成无对应数据点的嵌入特征进行训练。
55.本实施例提供一种基于锚点的密集嵌入生成方法,包括以下步骤:
56.s1、获取待检索的目标图像;
57.s2、将所述目标图像输入目标模型中;
58.s3、利用所述目标模型将所述目标图像映射到特征空间中,根据比较特征空间中两两向量间的欧氏距离,获取最为接近的向量所对应的图像作为检索结果;
59.其中,所述目标模型通过利用锚点嵌入生成的密集嵌入来训练深度神经网络模型后获得。
60.作为一种可选的实施方式,该目标模型通过以下方式进行训练获得:
61.a1、对训练的每个类初始化频率记录矩阵p以及记忆库b,这两个结构用于跟踪每个类别的特征分布和历史变换信息。
62.a2、获取当前批次的图像,并输入到深度神经网络中获取当前批次的嵌入v这些嵌入表示每个图像在特征空间中的位置。
63.a3、根据当前批嵌入v更新频率记录矩阵p,这使得算法可以跟踪每个类别在特征空间中的语义分布情况。
64.a4、根据频率记录矩阵p,计算二元通道掩码m,这个掩码用于识别嵌入v中最具判别性的特征。
65.a5、根据当前批内同类别的嵌入之间的变换更新记忆库b,这使得算法能够不受gpu内存限制,获取到跨批次的、不同类别的的特征变换。
66.a6、根据二元通道掩码m对嵌入v的最具判别特征进行缩放,根据记忆库b对嵌入v进行移位,最终生成伪嵌入v
′
,这些伪嵌入提供了一种密集且有效的表示,以用于训练深度度量学习模型。
67.a7、将伪嵌入v
′
与原始嵌入v拼接,同时利用真实的锚点嵌入和本发明所生成的伪嵌入进行训练,共同进行采样并计算损失函数。
68.a8、通过随机梯度下降(sgd)算法对模型参数进行优化,这是一种常用的优化方法,适用于训练深度度量学习模型。
69.a9、训练结束后,获得目标模型。该模型可以用于实现准确的图像检索或人脸识别任务。
70.同时,步骤a1-a9中所述的预训练模型是指任意的深度度量学习神经网络模型,损失函数是指任意深度度量学习损失函数。
71.其中,伪嵌入具体通过以下方式生成:
72.利用最具判别特征缩放模块,在单个锚点嵌入周围利用特征空间来生成伪嵌入;
73.利用过往特征变换移位模块,在多个锚点嵌入周围利用特征空间来生成伪嵌入。
74.作为一种可选的实施方式,参见图3,利用一个嵌入的有效语义信息往往是高度激活的这一特征,在单个锚点嵌入周围利用特征空间来生成伪嵌入,包括:
75.识别具有前k高激活值的通道,作为该锚点嵌入的有效语义特征。
76.将上述有效语义特征进行随机缩放,产生新的伪嵌入。
77.作为一种可选的实施方式,参见图4,利用同类嵌入之间语义差异可以添加到其他嵌入中以生成有效嵌入这一特点,在多个锚点嵌入周围利用特征空间来生成伪嵌入,包括:
78.对于批内同类别的锚点嵌入,分别计算其两两之间的特征位移作为语义特征的变换。
79.将语义特征变换存入记忆库。
80.从记忆库中获取语义变换与锚点嵌入相加,产生新的伪嵌入。
81.以下结合附图及具体实施例对上述方法进行详细说明。
82.如图2所示,本实施例提供一种面向深度度量学习的基于锚点的密集嵌入生成方法,包括以下步骤:
83.(a)符号说明
84.将深度神经网络(如卷积深度神经网络)表示为,令输入图像为i,则经过深度神经网络后产生的嵌入表示为其中d为嵌入的特征维度。本实施例中,v与v
′
都经过归一化处理,即‖v‖2,|‖v
′
‖2=1。c代表训练集中类的数量。
85.(b)对训练集的每个类初始化频率记录矩阵以及记忆库
86.具体而言,对于频率记录矩阵(frm),我们首先将频率记录矩阵初始化为零矩阵。对于每一类c的一组嵌入,表示为{v∣yv=c}。
87.对于记忆库,由于类间差异较大,大多数类间变换通常无法迁移。因此,我们只考虑类内嵌入来获得变换。在深度度量学习中,批处理中每个类只采样两个图像始终获得良好的性能,这导致我们可以在一批(即两个变换)中获得非常有限的变换。为了解决这个问题,我们构建了一个记忆库b来记忆先前迭代的转换,以确保转换的多样性。具体来说,我们构建了一个变换库b∈rc×z×d,其中z是每个类的记忆库容量。
88.需要注意的是,每个记忆库b是一个先进先出队列(fifo),在队列满时,会将队列头部(最早进入队列的变换)出队列。
89.(c)对当前批嵌入更新频率记录矩阵并计算二元通道掩码
90.给定类c的一组嵌入,表示为{v∣yv=c},本发明按照如下方式更新p:
[0091][0092]
其中top(v,k)是一个算子,用于从向量v中选择前k个元素。在训练期间,我们通过从同一类的嵌入中记录高度激活的神经元的位置来不断更新更新频率记录矩阵。通过这种方式,更新的频率记录矩阵可以作为训练类的稳定、准确和有效的语义标识符。给定频率记录矩阵,我们计算每个类的二元通道掩码m∈rc×d:
[0093]
[0094]
(d)对当前批嵌入更新记忆库
[0095]
在训练过程中,一旦我们从类c中获得一组嵌入vc={v|y
v=c
},我们通过下列公式计算它们之间的转换:
[0096]
tz=v
i-vj,vi,vj∈vc,i≠j.
[0097]
然后,根据先进先出原则将语义变换排队到b中,以确保银行中的转换处于相对较新的状态:
[0098]
b[yv,z]=tz,z∈{1,2,
…
,z}.
[0099]
注意,z在队列满时被重置为1。
[0100]
(e)对当前批嵌入,计算语义缩放和移位因子
[0101]
给定一个嵌入v,我们通过一下公式计算语义缩放
[0102]
s=γ
⊙
m[yv]+1d⊙
(1-m[yv])
[0103]
其中γ∈rd,且γ~uniform[1-rs,1+rs]d,其中rs∈(0,1)是一个要设置的超参数。请注意,我们只随机缩放有区别的特征,而保留无区别的特征。为了产生多个比例因子,我们从均匀分布中反复采样γ。
[0104]
最后,在记忆库b的帮助下,给定一个嵌入v,我们检索语义移位因子,如下所示:
[0105]
b=rbt,t~{b[yv,z]∣v=1,2,
…
,z}.
[0106]
wb是超参数。通过重复采样形成多个移位因子。
[0107]
(f)对当前批嵌入,使用语义缩放和移位因子生成伪嵌入
[0108]
具体来说,我们首先建议通过增强或削弱单个嵌入的语义来探索围绕单个嵌入的嵌入空间。我们把这个过程称为语义缩放。
[0109]
第二,我们建议在嵌入中添加(类内差异(语义变换),以利用多个嵌入之间的嵌入空间。我们把这个过程称为语义移位。基于以上分析,伪嵌入r
′
生成公式为:
[0110][0111]
随后,将伪嵌入v
′
和嵌入v一起输入到后续采样步骤。
[0112]
(g)训练模型
[0113]
本发明的总体算法详见上述(a)-(f)。给定锚点标签对{(v,yv)},我们通过本发明体提出的方案生成没有对应数据点的伪嵌入标签对{(v
′
,y
′v)},其中y
′v=yv,因为类别语义被保留。然后,带或不带数据点的嵌入标签对被馈送到采样模块中以获得正嵌入集和负嵌入集(例如对、三元组等由采样和损失函数指定):{(p,n)}=sample({(v,yv)}∪{(v
′
,y
′v)})。最后,给定一个深度学习损失函数l
dml
,注意,本发明兼容现有的深度度量学习采样方法和损失函数。基于本发明的深度度量学习目标函数被制定为:
[0114]
上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于发明的保护范围之内。
[0115]
我们将上述面向深度度量学习的基于锚点的密集嵌入生成算法应用到了经典的三个图像检索数据集上:cub-200(cub),这是一个细粒度的鸟类数据集,前100个类别用于
训练,另外100个类别进行测试。cars-196(cars),一个细粒度的车辆数据集,前98类用于训练,另98类用于测试。sop,一个大型在线产品数据集,训练和测试分区分别为11318个类和11316个类,利用本实施例所提出的基于锚点的密集嵌入生成算法对现有方法进行比较。
[0116]
识别结果如下表1和表2所示:
[0117]
表1:与最新方法的比较结果
[0118][0119]
表2:与基于对的方法的比较结果
[0120]
[0121]
结合上表1、表2,可看出通过计算所得到的结果准确率,证实了本发明实施例所提供的技术方案具备实用性和可行性。
[0122]
综上所述,本实施例方法相对于现有技术,至少具有如下优点及有益效果:
[0123]
(1)本发明引入了最具判别特征缩放模块与过往特征变换移位模块,能够生成更有效的伪嵌入以供采样。
[0124]
(2)本发明不需要对标准深度度量学习的采样和损失计算过程进行进一步修改,可以直接集成到现有的深度度量学习框架中。
[0125]
(3)本发明通过使用伪嵌入v'与原始嵌入v共同进行采样,可以充分利用无对应数据点的特征空间,不需要依赖大量数据,从而提高模型在真实数据上的泛化能力。
[0126]
(4)由于充分利用了锚点嵌入附近的特征空间,并可以通过控制超参数以达到伪嵌入生成的多样性,因此本发明可以更好地捕捉不同类别之间的微小区别,从而提高模型的区分能力。
[0127]
(5)本发明适用于现有的任意深度度量学习框架并能够提升性能。这意味着该算法具有很高的通用性,可以应用于不同类型的深度度量学习任务,从而帮助实现更准确的图像检索或人脸识别等任务。
[0128]
本实施例还提供一种基于锚点的密集嵌入生成装置,包括:
[0129]
至少一个处理器;
[0130]
至少一个存储器,用于存储至少一个程序;
[0131]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图2所示方法。
[0132]
本实施例的一种基于锚点的密集嵌入生成装置,可执行本发明方法实施例所提供的一种基于锚点的密集嵌入生成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0133]
本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图2所示的方法。
[0134]
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种基于锚点的密集嵌入生成方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0135]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0136]
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理
解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0137]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0138]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0139]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0140]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0141]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0142]
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变
型,本发明的范围由权利要求及其等同物限定。
[0143]
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
技术特征:
1.一种基于锚点的密集嵌入生成方法,其特征在于,包括以下步骤:获取待检索的目标图像;将所述目标图像输入目标模型中;利用所述目标模型将所述目标图像映射到特征空间中,根据比较特征空间中两两向量间的欧氏距离,获取最为接近的向量所对应的图像作为检索结果;其中,所述目标模型通过利用锚点嵌入生成的密集嵌入来训练深度神经网络模型后获得。2.根据权利要求1所述的一种基于锚点的密集嵌入生成方法,其特征在于,所述目标模型通过以下方式训练获得:在所述深度神经网络模型的采样层之前,插入伪嵌入生成层;在训练过程中,采样获得的图像在输入所述深度神经网络模型后,首先利用有数据点的嵌入作为锚点,并利用锚点嵌入附近的特征空间来产生没有数据点的伪嵌入;通过结合有数据点的嵌入和没有数据点的伪嵌入,提供更多的嵌入以促进采样过程,使得采样过程能够采样到更加有效的样本对所述深度神经网络模型进行训练,获得目标模型。3.根据权利要求2所述的一种基于锚点的密集嵌入生成方法,其特征在于,所述伪嵌入通过以下方式生成,包括:使用特征的缩放以及移位,在锚点嵌入周围的特征空间生成伪嵌入。4.根据权利要求3所述的一种基于锚点的密集嵌入生成方法,其特征在于,所述使用特征的缩放以及移位,在锚点嵌入周围的特征空间生成伪嵌入,包括:利用最具判别特征缩放模块,在单个锚点嵌入周围利用特征空间来生成伪嵌入;利用过往特征变换移位模块,在多个锚点嵌入周围利用特征空间来生成伪嵌入。5.根据权利要求4所述的一种基于锚点的密集嵌入生成方法,其特征在于,所述利用最具判别特征缩放模块,在单个锚点嵌入周围利用特征空间来生成伪嵌入,包括:识别具有前k高激活值的通道,作为该锚点嵌入的有效语义特征;将所述有效语义特征进行随机缩放,以产生新的伪嵌入。6.根据权利要求4所述的一种基于锚点的密集嵌入生成方法,其特征在于,所述利用过往特征变换移位模块,在多个锚点嵌入周围利用特征空间来生成伪嵌入,包括:对于同类别的锚点嵌入,分别计算两两锚点嵌入之间的特征位移,作为语义特征变换;将所述语义特征变换存入记忆库;从记忆库中获取语义特征变换与锚点嵌入相加,以产生新的伪嵌入。7.根据权利要求2所述的一种基于锚点的密集嵌入生成方法,其特征在于,在训练过程中还包括以下步骤:随机选择训练样本,在生成伪嵌入后,利用随机梯度下降算法进行优化,以令预设的目标损失函数l收敛。8.一种基于锚点的密集嵌入生成装置,其特征在于,包括:目标图像获取模块,用于获取待检索的目标图像;目标图像输入模块,用于将所述目标图像输入目标模型中;检索模块,用于利用所述目标模型将所述目标图像映射到特征空间中,根据比较特征
空间中两两向量间的欧氏距离,获取最为接近的向量所对应的图像作为检索结果;其中,所述目标模型通过利用锚点嵌入生成的密集嵌入来训练深度神经网络模型后获得。9.一种基于锚点的密集嵌入生成装置,其特征在于,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求1-7任一项所述方法。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法。
技术总结
本发明公开了一种基于锚点的密集嵌入生成方法、装置和存储介质,可广泛应用于嵌入生成技术。其中方法包括:获取待检索的目标图像;将所述目标图像输入目标模型中;利用所述目标模型将所述目标图像映射到特征空间中,按照特征空间中的距离进行比较,获得检索结果;其中,所述目标模型通过利用锚点嵌入生成的密集嵌入来训练深度神经网络模型后获得。本发明利用锚点附近的特征空间来稠密的生成无对应数据点的嵌入特征进行训练,从而实现更加准确的图像检索,解决深度度量学习中由于计算资源限制,从而导致现有采样无法采样到有效样本的问题。此外,本发明还能够直接集成到现有的深度度量学习框架中,无需任何额外的修改,并且具有显著的技术效果。有显著的技术效果。有显著的技术效果。
技术研发人员:谭明奎 黄尚昕 刘立钊 庄壮伟 杜卿 吴祥淼
受保护的技术使用者:华南理工大学
技术研发日:2023.05.25
技术公布日:2023/9/6
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种液冷端子结构的制作方法 下一篇:智能燃气表及其生产配置系统的制作方法
