本发明专利技术公开了一种基于球面嵌入的图像度量学习方法,用于输出细粒度图像间的相似度,如输入两张商品图像,该算法会输出它们的相似程度,用位于[0,1]的浮点数表示。具体包括如下步骤:获取用于训练深度度量学习模型的图像数据集;利用图像数据集训练预先定义好的深度神经网络,优化目标是度量学习损失和球面嵌入约束;利用训练好的模型输出给定图像对的相似度。本发明专利技术适用于真实图像场景的深度度量学习,面对各种不同种类的细粒度图像(如商品、汽车、时装、人脸),以及图像中可能存在的光照、姿态、尺度变化都能得到较为鲁棒的结果。尺度变化都能得到较为鲁棒的结果。尺度变化都能得到较为鲁棒的结果。
【技术实现步骤摘要】
一种基于球面嵌入的图像度量学习方法
[0001]本专利技术属于计算机视觉领域,特别地涉及一种基于球面嵌入的图像度量学习方法。
技术介绍
[0002]度量学习的目标是学习一个特征(嵌入)空间,使得不同图像映射到这个空间后,语义相近的图像在其中的距离较近,而语义不同的图像在其中的距离较远。近年来,随着深度学习的发展,深度度量学习应运而生,这种方法采用一个深度神经网络作为图像到特征(嵌入)的映射函数,极大的提高了度量学习的效果。当我们得到一个合适的映射函数后,便可以很方便的衡量两张给定图像的相似度,从而处理很多视觉理解任务,例如细粒度图像检索和人脸识别。在深度度量学习任务中,一个热点方向是设计一个效果更优的损失函数,使得训练得到的深度度量学习模型对不同图像具有更好的鉴别力。一系列基于图像样本对的损失函数被提出,如对比损失、三元组损失、N对损失、多相似度损失,它们的构成元素都是一个批量中不同图像样本对之间的相似度。
[0003]理论上,我们可以采用欧式距离或角度距离(归一化欧式距离或余弦距离都可以称为角度距离)来衡量两个特征(嵌入)在特征(嵌入)空间中的相似度。然而,在现有的深度度量学习损失函数中,我们通常采用角度距离,这样做一方面是为了解耦特征(嵌入)的L2范数和方向信息,以便于在损失函数中只优化方向信息,另一方面是为了保持训练和测试度量的一致性。但是,这一种做法也有它固有的缺点,即忽视了特征(嵌入)的L2范数在梯度计算中的重要性。例如,我们考虑两个特征(嵌入)f
i
和f
j
之间的余弦距离cosθ
ij
对其中一个特征(嵌入)f
i
的梯度
[0004][0005]我们可以看到f
i
的L2范数||f
i
||2对梯度大小起着重要的缩放作用。当我们使用损失函数优化角度距离时,我们希望不同特征(嵌入)的L2范数大小相似,以使得不同特征(嵌入)的方向都能得到较为均衡的更新。但是,现有的损失函数无法在训练过程中保证这一点,不同特征(嵌入)的L2范数分布仍然具有较大的方差。于是,在深度神经网络的训练中,梯度更新的过程将变得不稳定,模型的快速收敛也会受其影响,例如,如果一个特征(嵌入)的L2范数较大,那么它的方向更新速度将会减慢。
技术实现思路
[0006]为解决上述问题,本专利技术的目的在于提供一种基于球面嵌入的图像度量学习方法,来为各种图像学习一个更有鉴别力的特征(嵌入)空间。本方法自适应地调节不同特征(嵌入)的L2范数,使得不同特征(嵌入)大致位于同一个超球面的表面,来得到更为均衡的方向更新。对于调节方式,本方法灵活地逐步减小不同特征(嵌入)的L2范数分布的方差,而不是简单地将它们的L2范数都约束到一个固定值,减少了一个需要调节的超参数,提高了
方法的易用性。此外,本方法能很好地与批量训练方式结合使用,增加的额外计算量可以忽略不计,能与各种现有的度量学习损失函数联合使用,可以有效地提升现有损失函数的效果,并带来更快的模型收敛速度。
[0007]为实现上述目的,本专利技术的技术方案为:
[0008]一种基于球面嵌入的图像度量学习方法,包括以下步骤:
[0009]S1、获取用于训练深度度量学习模型的图像数据集;
[0010]S2、利用图像数据集训练预先定义好的深度神经网络,优化目标是度量学习损失和球面嵌入约束;
[0011]S3、利用训练好的深度神经网络模型输出给定图像对的相似度。
[0012]进一步的,步骤S1中,所述的图像数据集为{(x1,y1),(x2,y2),
…
,(x
N
,y
N
)},其中N为数据集中的图像总数,x
i
和y
i
分别表示第i张图像及其对应的类标签,y
i
∈{1,...,C},C表示类别总数,每一类都包含多张图像。
[0013]进一步的,步骤S2具体包括:
[0014]S21、在训练深度神经网络时采用批量处理的方式,首先从图像数据集中随机采样一个批量的图像样本其中批量大小N
bs
预先给定;
[0015]S22、将B中的图像输入深度神经网络M得到对应的特征(嵌入)f,然后组成正负样本对集合{(f
i
,f
j
,l
ij
),...},其中f
i
和f
j
分别表示B中两张不同图像x
i
和x
j
对应的特征(嵌入),l
ij
用于指示两张图像x
i
和y
i
是否属于同一个类,当y
i
=y
j
时l
ij
=1,当y
i
≠y
j
时l
ij
=0;
[0016]S23、使用所述正负样本对集合构成度量学习损失函数L
metric
,同时使用一个批量中的所有特征(嵌入)构成球面嵌入约束
[0017][0018]其中μ为超球面半径超参数;
[0019]S24、基于所述度量学习损失函数和球面嵌入约束得到总的损失函数为
[0020]L=L
metric
+η*L
sec
[0021]其中η是预先设置的权重参数,用来平衡两种损失函数的贡献;
[0022]S25、根据得到的总的损失函数,使用Adam优化器或带动量的随机梯度下降优化器,以及反向传播算法训练深度神经网络;
[0023]S26、重复步骤S21至S25直至模型收敛。
[0024]可选的,步骤S23中,所述度量学习损失函数L
metric
为
[0025][0026]其中λ为给定的间隔超参数;或者为
[0027][0028]其中λ为给定的间隔超参数;或者为
[0029][0030]其中s是给定的缩放超参数;或者为
[0031][0032]其中α和β是给定的缩放超参数,λ是给定的间隔超参数。
[0033]可选的,步骤S23中,所述超球面半径超参数μ的计算方式为当前批量中所有特征(嵌入)的L2范数平均值
[0034][0035]可选的,步骤S23中,所述超球面半径超参数μ的计算方式为维持一个全局记录,并使用指数滑动平均方法来综合历史批量中特征(嵌入)的L2范数平均值
[0036][0037]其中ρ∈[0,1]是预先设置的更新动量。
[0038]进一步的,步骤S3中,计算给定的两张图像x
a
和x
b
相似度的方法为:将x
a
和x
b
分别输入训练好的深度神经网络M,得到与它们相对应的特征(嵌入)f
a
和f
b
,然后计算两个特征(嵌入)间的余弦相似本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于球面嵌入的图像度量学习方法,其特征在于,包括以下步骤:S1、获取用于训练深度度量学习模型的图像数据集;S2、利用图像数据集训练预先定义好的深度神经网络,优化目标是度量学习损失和球面嵌入约束;S3、利用训练好的深度神经网络模型输出给定图像对的相似度。2.如权利要求1所述的基于球面嵌入的图像度量学习方法,其特征在于,步骤S1中,所述的图像数据集为{(x1,y1),(x2,y2),
…
,(x
N
,y
N
)},其中N为数据集中的图像总数,x
i
和y
i
分别表示第i张图像及其对应的类标签,y
i
∈{1,
…
,C},C表示类别总数,每一类都包含多张图像。3.如权利要求2所述的基于球面嵌入的图像度量学习方法,其特征在于,步骤S2具体包括:S21、在训练深度神经网络时采用批量处理的方式,首先从图像数据集中随机采样一个批量的图像样本其中批量大小N
bs
预先给定;S22、将B中的图像输入深度神经网络M得到对应的特征(嵌入)f,然后组成正负样本对集合{(f
i
,f
j
,l
ij
),
…
},其中f
i
和f
j
分别表示B中两张不同图像x
i
和x
j
对应的特征(嵌入),l
ij
用于指示两张图像x
i
和y
i
是否属于同一个类,当y
i
=y
j
时l
ij
=1,当y
i
≠y
j
时l
ij...
【专利技术属性】
技术研发人员:张鼎懿,李英明,张仲非,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。