图像特征提取模型的训练方法、装置及电子设备与流程

文档序号:29087806发布日期:2022-03-02 01:52阅读:178来源:国知局
图像特征提取模型的训练方法、装置及电子设备与流程

1.本公开涉及人工智能技术,具体为深度学习、计算机视觉技术领域,尤其涉及一种图像特征提取模型的训练方法、装置及电子设备。


背景技术:

2.随着深度学习地不断发展,目前深度学习中图像检索也是成为很有重要的任务。在实现图像检索任务的过程中,首先需要利用图像特征提取模型提取待检索图像的图像特征,进而基于所提取的图像特征对待检索图像进行检索。
3.相关技术中,在训练图像特征提取模型时,每一训练批次中样本图像的数量越多,图像特征提取模型的训练准确度越高。


技术实现要素:

4.本公开提供了一种用于降低显存占用的图像特征提取模型的训练方法、装置及电子设备。
5.据本公开的一方面,提供了一种图像特征提取模型的训练方法,包括:
6.获取至少一目标样本图像;
7.利用待训练的图像特征提取模型,提取所述至少一目标样本图像的第一图像特征,并利用指定网络模型,提取所述至少一目标样本图像的第二图像特征;其中,所述指定网络模型与所述图像特征提取模型的模型结构相同,且所述指定网络模型的模型参数为基于所述图像特征提取模型的模型参数所确定的模型参数;
8.基于所述第一图像特征、所提取的第二图像特征以及历史样本特征,计算所述图像特征提取模型的模型损失值;其中,所述历史样本特征包括:所述指定网络模型针对历史样本图像所提取的图像特征,所述历史样本图像为:在获取所述目标样本图像之前已获取的样本图像;
9.基于所述模型损失值,调整所述图像特征提取模型的模型参数。
10.根据本公开的另一方面,提供了一种图像特征提取模型的训练装置,包括:
11.图像获取模块,用于获取至少一目标样本图像;
12.特征提取模块,用于利用待训练的图像特征提取模型,提取所述至少一目标样本图像的第一图像特征,并利用指定网络模型,提取所述至少一目标样本图像的第二图像特征;其中,所述指定网络模型与所述图像特征提取模型的模型结构相同,且所述指定网络模型的模型参数为基于所述图像特征提取模型的模型参数所确定的模型参数;
13.损失值计算模块,用于基于所述第一图像特征、所提取的第二图像特征以及历史样本特征,计算所述图像特征提取模型的模型损失值;其中,所述历史样本特征包括:所述指定网络模型针对历史样本图像所提取的图像特征,所述历史样本图像为:在获取所述目标样本图像之前已获取的样本图像;
14.参数调整模块,用于基于所述模型损失值,调整所述图像特征提取模型的模型参
数。
15.根据本公开的另一方面,提供了一种电子设备,包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行图像特征提取模型的训练方法。
19.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行图像特征提取模型的训练方法。
20.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现图像特征提取模型的训练方法。
21.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.附图用于更好地理解本方案,不构成对本公开的限定。其中:
23.图1是根据本公开第一实施例的示意图;
24.图2是根据本公开第二实施例的示意图;
25.图3是根据本公开第三实施例的示意图;
26.图4是根据本公开第四实施例的示意图;
27.图5是用来实现本公开实施例的特征提取模型的训练的电子设备的框图。
具体实施方式
28.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
29.随着深度学习地不断发展,目前深度学习中图像检索也是成为很有重要的任务,其中,图像检索任务是指:给定一张图片,与指定图像库中的n个图片进行比对,找出最相似的一张或多张图片。图像检索任务可以应用于:商品检索、车辆检索、人脸检索等检索场景中。在实现图像检索任务的过程中,首先需要利用图像特征提取模型提取待检索图像的图像特征,进而基于所提取的图像特征对待检索图像进行检索。
30.相关技术中,在训练用于图像检索的图像特征提取模型时,为了保证图像特征提取模型的准确度,每一训练批次需要包含大量的样本图像。
31.例如,smoothap(smooth average precision,光滑平均准确率)是一种可微分计算的ap(average precision,平均准确率)近似值的训练方法,其基于排序任务对神经网络进行端到端的训练,但是排序队列的样本图像均来自于同一个训练批次数据,训练批次中样本图像的数量越大,排序队列中包含的负样本就越多,从而训练准确度越高。
32.然而,每一训练批次中样本图像数量越大,gpu(graphics processingunit,图形处理器)的显存占用越高。
33.为了解决相关技术中所存在的技术问题,本公开实施例提供一种图像特征提取模型的训练方法。
34.需要说明的,在具体应用中,本公开实施例所提供的图像特征提取模型的训练方法可以应用于各类电子设备,例如,个人电脑、服务器、以及其他具有数据处理能力的设备。另外,可以理解的是,本公开实施例提供的图像特征提取模型的训练方法可以通过软件、硬件或软硬件结合的方式实现。
35.其中,本公开实施例所提供的一种图像特征提取模型的训练方法可以包括:
36.获取至少一目标样本图像;
37.利用待训练的图像特征提取模型,提取至少一目标样本图像的第一图像特征,并利用指定网络模型,提取至少一目标样本图像的第二图像特征;其中,指定网络模型与图像特征提取模型的模型结构相同,且指定网络模型的模型参数为基于图像特征提取模型的模型参数所确定的模型参数;
38.基于第一图像特征、所提取的第二图像特征以及历史样本特征,计算图像特征提取模型的模型损失值;其中,历史样本特征包括:指定网络模型针对历史样本图像所提取的图像特征,历史样本图像为:在获取目标样本图像之前已获取的样本图像;
39.基于模型损失值,调整图像特征提取模型的模型参数。
40.本公开提供的上述方案,可以利用图像特征提取模型提取目标样本图像的第一图像特征,并利用指定网络模型提取目标样本图像的第二图像特征。由于指定网络模型与图像特征提取模型的模型结构相同,且其模型参数基于图像特征提取模型的模型参数所确定,使得指定网络模型的准确度高度可以反映出图像特征提取模型的准确度的高低,且指定网络模型所提取的图像特征与图像特征提取模型所提取的图像特征之间存在相关性,从而在确定图像特征提取模型的模型损失值时,可以结合图像特征提取模型自身所提取的第一图像特征,以及指定网络模型所提取的第二图像特征和关于历史样本图像的图像特征来确定。
41.由于在确定图像特征提取模型的模型损失值时,结合了指定网络模型针对历史样本图像所提取的历史样本特征,其意味着在确定图像特征提取模型的模型损失值时,不仅利用了本训练批次的样本图像,还利用了历史样本图像,即等效增大了每一训练批次包含样本图像的数量,使得仅需利用包含较少样本图像的训练批次,即可实现与包含较多样本图像的训练批次一样的训练效果,从而在保证图像特征提取模型的准确度的同时,降低了训练过程中,gpu显存的占用。
42.下面结合附图对本公开实施例所提供的一种图像特征提取模型的训练方法进行介绍。
43.如图1所示,本公开实施例提供所一种图像特征提取模型的训练方法,可以包括如下步骤:
44.s101,获取至少一目标样本图像;
45.其中,目标样本图像可以为对任意用于对待训练的图像特征提取模型进行训练的样本图像。可选的,上述样本图像可以为用于进行图像检索的图像,例如进行图像检索时的底库图像。
46.每一用于对图像特征提取模型进行训练的样本图像可以为预先收集的,或者还可
以对所收集的样本图像,进行图像增强所得到的,其中,图像增强包括但不限于旋转、剪裁、缩放、扭曲、噪声等方式。
47.示例性的,预先收集到样本图像a,对样本图像a进行图像增强后,得到图像a1、图像a2以及图像a3,该所得到的图像a1、图像a2以及图像a3也可以作为样本图像。
48.一种获取目标样本图像的方式中,可以在每次需要对图像特征提取模型进行训练时,从样本图像集中读取一张样本图像,作为目标样本图像。或者,在另一种实现方式中,可以采用批训练的方式,从样本图像集中获取多张样本图像,所获取的多张样本图像,均为目标样本图像。其中,批训练指一次大批量训练取平均损失来进行模型训练的方式。
49.可选的,每一样本图像可以对应设置有图像类别,图像增强所得到的样本图像的图像类别与原始样本图像的图像类别一致,例如,样本图像a的图像类别为类别1,则图像a1、图像a2以及图像a3的图像类别也均为类别1。
50.上述图像类别可以根据图像所包含的对象、图像的采样方式等任意维度进行划分,例如,依据图像所包含的对象划分图像类别,可以将包含水壶的图像划分为水壶,将包含电饭锅的图像划分为电饭锅。又如,依据图像的采样方式划分图像类别,则可以将图像采样设备所采集的图像划分为原始图像,将对原始图像进行处理后所得到的图像划分为美化图像。
51.需要说明的是,当采用批训练的方式对图像特征提取模型进行训练时,每一训练批次所获取的多张目标样本图像的图像类别可以相同,也可以不同,这都是可以的。
52.示例性的,一种构建每个训练批次中样本图像方式中,训练批次的样本图像的数量设定为256,每一训练批次中,同一图像类别包含4张样本图像(样本图像不足的图像类别,可以重复采样),样本图像的排序方式形如“aaaa bbbb cccc dddd...”,所以每个训练训练批次中包含64个不同样本类别。
53.s102,利用待训练的图像特征提取模型,提取至少一目标样本图像的第一图像特征,并利用指定网络模型,提取至少一目标样本图像的第二图像特征;
54.其中,指定网络模型与图像特征提取模型的模型结构相同,且指定网络模型的模型参数为基于图像特征提取模型的模型参数所确定的模型参数。
55.在获取到至少一目标样本图像之后,可以将所获取的至少一样本图像输入至待训练的图像特征提取模型,从而利用待训练的图像特征提取模型提取至少一目标样本图像的图像特征,作为第一图像特征。
56.可选的,当获取到多张目标样本图像时,可以依次利用图像特征提取模型提取目标样本图像的图像特征,即在图像特征提取模型输出前一张目标样本图像的图像特征之后,再将下一张目标样本图像输入图像特征提取模型,直至所获取的多张目标样本图像均提取出图像特征。
57.上述图像特征可以以特征向量或特征矩阵的形式表现。例如,样本图像a所提取的图像特征为a

={a1,a2,a3,...,an}。
58.在获取到至少一目标样本图像之后,还需要利用指定网络模型,提取至少一目标样本图像的第二图像特征,其中,指定网络模型与图像特征提取模型的模型结构相同,且指定网络模型的模型参数为基于图像特征提取模型的模型参数所确定的模型参数。需要说明的是,图像特征提取模型和指定网络模型的初始参数可以相同,并且,后续指定网络模型的
参数可以基于图像特征提取网络的参数进行调整,具体调整方式参见下文的描述内容。
59.示例性的,图像特征提取模型利用deit(data-efficient image transformers,数据高效的图像变压器)的base patch(基础补丁)16-224作为主干模型,输入为rgb(red green blue,红绿蓝)三通道图像数据,输入图像的尺寸为224x224,输出为512维特征向量,则指定网络模型也是利用deit base patch16-224作为主干模型,输入为rgb三通道图像数据,输入图像的尺寸为224x224,输出为512维特征向量。
60.利用指定网络模型,提取至少一目标样本图像的第二图像特征的实现方式与利用待训练的图像特征提取模型,提取至少一目标样本图像的第一图像特征的过程相同或相似,区别仅在于所使用的模型不同,相关之处不再赘述。
61.需要说明的是,本发明实施例中,在图像特征提取模型训练完成的情况下,利用图像特征提取模型所提取的第一图像特征,可用于进行图像检索。并且,上述的“第一图像特征”中的“第一”以及“第二图像特征”中的“第二”,仅仅用于从命名上区分利用图像特征提取模型所提取的图像特征,以及利用指定网络模型所提取的图像特征。
62.s103,基于第一图像特征、所提取的第二图像特征以及历史样本特征,计算图像特征提取模型的模型损失值;
63.其中,历史样本特征包括:指定网络模型针对历史样本图像所提取的图像特征,历史样本图像为:在获取目标样本图像之前已获取的样本图像。
64.可选的,在每一次利用指定网络模型针对目标样本图像提取出第二图像特征之后,可以将所提取的第二图像特征保存,以在后续的模型训练过程中,将提取出第二图像特征的目标样本图像作为历史样本图像,将所保存的第二图像特征作为历史样本特征。
65.一种实现方式中,可以通过建立动态队列的方式,保存所提取的第二图像特征。可选的,动态队列的队列长度可以根据样本图集中包含的图像类别数量和每个图像类别包含的样本图像的数量来确定。
66.示例性的,动态队列中每个图像类别所包括的样本数量为4,且样本图像的排序方式为“aaaa bbbb cccc dddd...”。在此情况下,动态队列的队列长度需要为每一训练批次中所包含样本图像的数量的倍数,例如,若训练批次所包含的样本图像的数量为256,则动态队列的队列长度可以为65536,其意味着动态队列最大可以存储65536个第二图像特征。
67.动态队列可以按照先入先出原则来更新动态队列中内的图像特征,即在动态队列存满之后,当新的第二图像特征需要存储时,可以先丢弃最先存储的图像特征,再将新的第二图像特征写入动态队列。
68.可选的,针对动态队列中每一第二图像特征,除该第二图像特征外,动态队列还可以记录有该第二图像特征的所属样本图像的图像类别,例如,样本图像a的第二图像特征为a

={a1′
,a2′
,a3′
,...,an′
},图像类别为类别1,则动态队列中可以记录为{a1′
,a2′
,a3′
,...,an′
,类别1}。
69.本公开实施例中,在提取出至少一目标样本图像的第一图像特征和第二图像特征之后,可以结合历史样本特征计算图像特征提取模型的模型损失值。具体计算方式将在后续详细描述,在此不再赘述。
70.s104,基于模型损失值,调整图像特征提取模型的模型参数。
71.其中,对于图像特征提取模型而言,损失越大,所要调整的参数的调整幅度也越
大,因此,可以结合实际情况与需求,基于模型损失值,调整图像特征提取模型的模型参数,并返回执行获取至少一目标样本图像的步骤,直至图像特征提取模型收敛。可选的,在一种实现方式中,在确定出模型损失值之后,可以采用梯度下降法的方式,利用模型损失值调整图像特征提取模型的模型参数。
72.在基于模型损失值,调整图像特征提取模型的模型参数之前,还可以先基于模型损失值判断图像特征提取模型是否收敛,例如,可以判断模型损失值是否小于指定收敛阈值,若小于,则表明模型收敛,否则表明模型未收敛。
73.若确定图像特征提取模型未收敛,则可以执行基于模型损失值,调整图像特征提取模型的模型参数的步骤。
74.在对模型参数进行调整之后,需要对图像特征提取模型继续进行迭代训练,即返回执行步骤s101,直至图像特征提取模型收敛。
75.本公开提供的上述方案,由于在确定图像特征提取模型的模型损失值时,结合了指定网络模型针对历史样本图像所提取的历史样本特征,其意味着在确定图像特征提取模型的模型损失值时,不仅利用了本训练批次的样本图像,也利用了历史样本图像,即等效增大了每一训练批次包含样本图像的数量,使得仅需利用包含较少样本图像的训练批次,即可实现与包含较多样本图像的训练批次一样的训练效果,在保证图像特征提取模型的准确度的同时,降低了训练过程中gpu显存的占用。
76.基于图1的实施例,如图2所示,本公开的另一实施例所提供的图像特征提取模型的训练方法,可以包括如下步骤::
77.s201,获取至少一目标样本图像;
78.s202,利用待训练的图像特征提取模型,提取至少一目标样本图像的第一图像特征,并利用指定网络模型,提取至少一目标样本图像的第二图像特征;
79.本实施例中,s201-s202与上述实施例的s101-s102相同,在此不做赘述。
80.s203,针对每一目标样本图像,计算该图像的第一图像特征与各正样本特征之间的第一相似度;
81.其中,正样本特征为:所提取的第二图像特征中的第一类特征,第一类特征为针对与该图像的图像类别相同的目标样本图像所提取的第二图像特征。
82.示例性的,至少一个目标样本图像包括样本图像a、样本图像b、样本图像c以及样本图像d,其中,样本图像a、样本图像b以及样本图像c属于图像类别1,样本图像d属于图像类别2,则针对样本图像a,其正样本特征包括针对样本图像b以及样本图像c所提取的第二图像特征。
83.示例性的,上述第一相似度可以为第一图像特征与正样本特征之间的余弦相似度。
84.s204,针对每一目标样本图像,计算该图像的第一图像特征与各负样本特征之间的第二相似度;
85.其中,负样本特征为:所提取的第二图像特征中的第二类特征以及历史样本特征中的第三类特征,第二类特征为针对与该图像的图像类别不同的目标样本图像所提取的第二图像特征,第三类特征为针对与该图像的图像类别不同的历史样本图像所提取的图像特征。
86.示例性的,至少一个目标样本图像包括样本图像a、样本图像b、样本图像c以及样本图像d,历史样本特征包含针对样本图像e、样本图像f所提取的第二图像特征。其中,样本图像a、样本图像b以及样本图像c属于图像类别1,样本图像d、样本图像e以及样本图像f属于图像类别2,则针对样本图像a,其负样本特征包括针对样本图像d所提取的第二图像特征,以及针对样本图像f以及样本图像e所提取的图像特征。
87.可选的,在计算该图像的第一图像特征与各负样本特征之间的第二相似度之前,可以先确定该图像的负样本特征,从而提高第二相似度的计算效率。
88.一种确定该图像的负样本特征的实现方式中,在利用动态队列存储历史样本特征的情况下,可以先基于所提取的第二图像特征,更新预先构建的动态队列,进而确定更新之后的动态队列中,与该图像的图像类别不同的样本图像的历史样本特征,作为负样本特征。
89.在基于第二图像特征更新动态队列时,若动态队列的剩余空间充足,则可以直接将所提取的第二图像特征写入动态队列中,若动态队列的剩余空间不足,则可以采用先入先出的策略,剔除动态队列中最先存储的历史样本特征,进而将所提取的第二图像特征写入动态队列中。
90.需要强调的是,在对动态队列更新之后,动态队列所包含的历史样本特征包含本训练批次所提取的第二图像特征,因此,可以在更新之后,将动态队列中,与该目标样本图像的图像类别不同的历史样本特征,作为负样本特征。
91.示例性的,上述第二相似度可以为第一图像特征与负样本特征之间的余弦相似度。
92.s205,基于所计算的第一相似度和所计算的第二相似度,确定图像特征提取模型的模型损失值。
93.对于目标样本图像而言,基于正样本特征所计算的第一相似度理论上应当大于基于负样本特征所计算的第二相似度,因此,第一相似度和第二相似度之间的大小关系与图像特征提取模型的准确率相关,这样,可以基于所计算的第一相似度和所计算的第二相似度,确定图像特征提取模型的模型损失值。
94.例如可以计算各正样本特征的第一相似度的平均值,与各负样本特征的第二相似度的平均值的差值,作为图像特征提取模型的模型损失值。
95.相关技术中,在训练用于图像检索的图像特征提取模型时,存在以arcface、triplet(三个一组)为损失函数的训练方法,其中,arcface是针对人脸识别的一种损失函数。其通过在高维特征空间内,将所有正样本图像之间的距离拉近,同时将负样本图像以一定距离推远的方式对模型进行优化,但是以arcface、triplet为损失函数的训练方法没有关注改变样本图像之间的排序对模型训练准确度的影响。为了提高模型训练的准确度,本发明实施例还可以结合排序确定图像特征提取模型的模型损失值,相关内容将在后续详细介绍,在此不再赘述。
96.s206,基于模型损失值,调整图像特征提取模型的模型参数。
97.本实施例中,s206与上述实施例中的s104相同,在此不做赘述。
98.本公开提供的上述方案,可以降低gpu的显存占用,并提高图像特征提取模型的训练准确度。进一步的,由于结合了第一图像特征与各正样本特征之间的第一相似度,以及第一图像特征与各负样本特征之间的第二相似度,使得确定图像特征提取模型的模型损失值
更准确,从而进一步提高了图像特征提取模型的训练准确度,同时采用第一相似度和第二相似度,为降低gpu的显存占用,以及提高图像特征提取模型的训练准确度提供了实现基础。
99.可选的,本发明的另一实施例中,可以结合排序确定图像特征提取模型的模型损失值,此时,上述步骤s205,可以包括步骤1-步骤3:
100.步骤1:针对每一目标样本图像,按照该图像的第一图像特征与各正样本特征之间的第一相似度,对各正样本特征进行排序,得到该图像对应的第一排序结果;
101.示例性的,针对样本图像a,正样本特征包含样本图像a的第二图像特征a

、样本图像b的第二图像特征b

以及样本图像c的第二图像特征c


102.针对样本图像a,样本图像a的第一图像特征a

与第二图像特征a

的第一相似度为相似度1,与第二图像特征b

的第一相似度为相似度2,与第二图像特征c

的第一相似度为相似度3,则可以按照相似度1、相似度2以及相似度3进行排序,得到第一排序结果,例如(1)第二图像特征a
″‑
(2)第二图像特征c
″‑
(3)第二图像特征b


103.步骤2:针对每一目标样本图像,按照该图像的第一图像特征与各正样本特征之间的第一相似度,以及该图像的第一图像特征与各负样本特征的第二相似度,对各正样本特征和各负样本特征进行排序,得到该图像对应的第二排序结果;
104.示例性的,仍以上述示例举例说明,针对样本图像a,负样本特征包含样本图像d的第二图像特征d

、样本图像e的第二图像特征e

以及样本图像f的第二图像特征f


105.针对样本图像a,样本图像a的第一图像特征a

与第二图像特征d

的第一相似度为相似度4,与第二图像特征e的第一相似度为相似度5,与第二图像特征f

的第一相似度为相似度6,则可以按照相似度1、相似度2、相似度3、相似度4、相似度5以及相似度6进行排序,得到第二排序结果,例如(1)第二图像特征a
″‑
(2)第二图像特征d
″‑
(3)第二图像特征c
″‑
(4)第二图像特征e
″‑
(5)第二图像特征b
″‑
(6)第二图像特征f


106.步骤3:基于各目标样本图像对应的第一排序结果和第二排序结果,确定图像特征提取模型的模型损失值。
107.本步骤中,在得到各目标样本图像对应的第一排序结果和第二排序结果,可以进一步的确定图像特征提取模型的模型损失值。
108.可选的,一种实现方式中,可以针对每一目标样本图像,基于该图像对应的第一排序结果,以及该图像对应的第二排序结果,计算该图像的排序损失,并基于各目标样本图像的排序损失,计算图像特征提取模型的模型损失值。
109.其中,针对每一目标样本图像,可以计算每一正样本特征在该图像的第一排序结果中的第一位置,与在该图像的第二排序结果中的第二位置的比值,作为排序差参数,进而计算各正样本特征的排序差参数的均值,作为该目标样本图像的排序损失。
110.示例性的,仍以上述示例举例说明,针对样本图像a,第一排序结果为:(1)第二图像特征a
″‑
(2)第二图像特征c
″‑
(3)第二图像特征b

,第二排序结果为:(1)第二图像特征a
″‑
(2)第二图像特征d
″‑
(3)第二图像特征c
″‑
(4)第二图像特征e
″‑
(5)第二图像特征b
″‑
(6)第二图像特征f


111.则第二图像特征a

的排序差参数为1/1=1,第二图像特征b

的排序差参数为3/6=1/2,第二图像特征c

的排序差参数为2/3。
112.则有,样本图像a的
113.示例性的,在一种实现方式中,在计算出每一目标样本图像的排序损失之后,可以计算各目标样本图像的排序损失的均值,作为该图像特征提取模型的模型损失值。当然,示例性的,在另一种实现方式中,在计算出每一目标样本图像的排序损失之后,可以计算各目标样本图像的排序损失之和,作为该图像特征提取模型的模型损失值。
114.本公开提供的上述方案,可以降低gpu的显存占用,并提高图像特征提取模型的训练准确度。进一步的,可以结合排序确定图像特征提取模型的模型损失值,由于考虑了排序对图像特征提取模型准确度的影响,从而进一步提高了图像特征提取模型的训练准确度。
115.可选的,在本公开的另一实施例中,为了维持图像特征提取模型与指定网络模型之间的相关性,初始时,图像特征提取模型与指定网络模型的模型参数可以相同,进而在后续迭代训练的过程中,在每一次更新图像特征提取模型的模型参数之后,可以基于图像特征提取模型所更新的模型参数对指定网络模型中的网络参数进行更新。
116.此时,本公开实施例所提供的图像特征提取模型的训练方法中,在利用图像特征提取模型的指定网络模型,提取至少一目标样本图像的第二图像特征之前,还可以利用图像特征提取模型的模型参数,对指定网络模型的模型参数进行更新,从而使得指定网络模型的准确度高度可以反映出图像特征提取模型的准确度的高低,且指定网络模型所提取的图像特征与图像特征提取模型所提取的图像特征之间存在相关性,为实现降低gpu的显存占用,并提高图像特征提取模型的训练准确度提供了实现基础。
117.一种更新的实现方式中,可以将指定网络模型的模型参数设置为图像特征提取模型更新后的模型参数。
118.另一种更新的实现方式中,针对指定网络模型中每一待更新的第一模型参数,可以按照以下方式更新该第一模型参数,包括步骤a-步骤c:
119.步骤a:确定图像特征提取模型中与该第一模型参数对应的第二模型参数;
120.其中,由于图像特征提取模型与指定网络模型的模型结构相同,因此,指定网络模型中每一待更新的第一模型参数,在图像特征提取模型中,均存在与其一一对应的第二模型参数,第一模型参数在指定网络模型中所起到的作用与其所对应的第二模型参数在图像特征提取模型中所起到的作用相同。
121.步骤b:基于该第一模型参数的当前参数值和第二模型参数的参数值,计算第一模型参数的更新后参数值;
122.一种实现方式中,可以对该第一模型参数的当前参数值和第二模型参数的参数值进行加权求和,得到第一模型参数的更新后参数值。
123.为了避免每次更新模型参数的变化太大,导致指定网络模型不稳定,进而导致历史样本特征中属于不同训练批次所提取的图像特征之间的不一致性,可以采用动量更新的方式,缓慢对指定网络模型的模型参数进行更新,可选的,该第一模型参数的权重大于第二模型参数的权重。例如第一模型参数的权重为0.999,第二模型参数的权重为0.001,则每次更新第一模型参数时,模型参数更新前后差距较小,从而确保指定网络模型的稳定性,维持了历史样本特征中属于不同训练批次所提取的第二图像特征之间的一致性。
124.需要说明的是,相关技术中,存在一种使用一个队列来保存之前训练批次的特征
数据的特征抽取模型的训练方法,然而该训练方法中,只有在特征抽取模型训练稳定之后才能够入队列,并且其队列加入的时机需要人工设定,过早地加入队列将造成队列内不同训练批次的特征数据一致性较差。
125.而本发明实施例中,通过动量更新的方式,缓慢对指定网络模型的模型参数进行更新,可以确保历史样本特征中属于不同训练批次所提取的图像特征之间的一致性,相较于相关技术而言,可以在训练的起始阶段即引入动态队列,对图像特征提取模型进行训练,不需要等到图像特征提取模型训练稳定,也不需要人工设定队列的加入时机,从而适用范围更广,且训练效率以及训练准确度更好。
126.步骤c:将该第一模型参数的参数值变更为更新后参数值。
127.本步骤中,在计算出更新后的参数值之后,即可将历史样本特征中属于不同训练批次所提取的图像特征之间的不一致性。
128.本实现方式中,可以基于第一模型参数的当前参数值和第二模型参数的参数值,计算第一模型参数的更新后参数值,进而将第一模型参数的参数值变更为更新后参数值,这样,提供了一种指定网络模型参数更新的方式,为维持图像特征提取模型与指定网络模型之间的相关性提供了实现基础。
129.为了更好的理解本公开所提供的方案,如图3所示,结合实际使用场景,介绍下本公开所提供的方案。
130.定义样本图像集合ω={ii,i=0,...,m},对于某个目标样本图像iq,根据样本图像集合中图像的图像类别,将与目标样本图像iq的图像类别相同的样本图像划分为正样本集合pq,将与目标样本图像iq的图像类别不同的样本图像划分为负样本集合nq,正样本集合pq和负样本集合nq可以组成检索样本集合。
131.图像特征提取模型的训练过程中,每一训练批次的目标样本图像中至少包含1个图像类别的样本图像。可选的,每个图像类别包含k张不同的目标样本图像。如图3所示,本实施例中以k=4为例。
132.图3中,查询编码器为所要训练的图像特征提取模型,字典编码器为指定网络模型。k张目标样本图像通过图像特征提取模型计算得到k个第一图像特征vq,得到特征集合vq,作为第一图像特征集合。k张目标样本图像通过指定网络模型计算得到k个第二图像特征,得到特征集合v
ζ
,由于目标样本图像为同类别,因此可以将特征集合v
ζ
作为正样本特征集合。
133.动态队列中存储着之前训练批次中通过指定网络模型计算得到的第二图像特征,取其中与目标样本图像的图像类别不同的图像样本对应的第二图像特征,组成特征集合v
ξ
,作为负样本特征集合,并定义v
ω
=v
ζ
∪v
ξ
,其中,v
ω
为检索特征集合。
134.计算针对每一目标样本图像iq的第一图像特征vq和检索特征集合v
ω
中每个第二图像特征vi的余弦相似度矩阵:
[0135][0136]
其中,s
ω
=s
p
usn,s
p
为目标样本图像iq与所有正样本特征对应的相似度集合,该pq为正样本特征集合v
ζ
对应的正样本集合。sn为目标样本图像iq与
所有负样本特征对应的相似度集合所有负样本特征对应的相似度集合该nq为负样本特征集合v
ξ
对应的负样本集合。
[0137]
每一训练批次中,k张目标样本图片iq与检索特征集合v
ω
的相似度矩阵通过计算。
[0138]
进而,通过相似度矩阵s
ω
,以相似度大小进行排序,确定每一正样本ii∈pq在正样本集合pq和检索特征集合v
ω
中的排序位置r(i,s
p
)和r(i,s
ω
)。
[0139]
可选的,可以采用如下公式对每一正样本ii进行排序,包括:
[0140][0141]
其中,为指示函数,其输入大于0,则函数值为1,输入小于等于0,则函数值为0,s为相似度集合s
p
或相似度集合sn,si表示检索特征集合v
ω
中第i个第二图像特征与目标样本图像iq的第一图像特征vq的相似度,sj表示检索特征集合v
ω
中其余的第二图像特征与目标样本图像iq的第一图像特征vq的相似度。
[0142]
进而,计算每一目标样本图像iq的排序ap,作为目标样本图像的排序损失:
[0143][0144]
其中,apq为目标样本图像iq的排序ap。
[0145]
可选的,目标样本图像iq的排序ap可以通过差值矩阵d得出,其中:
[0146][0147]
其中,m是目标样本图像iq对应的正样本特征集合中的第二图像特征数量,n是目标样本图像iq对应的检索特征集合中包含第二图像特征数量,si表示检索特征集合中第i个第二图像特征与目标样本图像iq的第一图像特征vq的相似度。
[0148]
由于在构建检索特征集合的时候,m个正样本特征会放置在负样本特征之前,故而差值矩阵d计算的是,对于前m个正样本特征,每个正样本特征与检索特征集合中每个第二图像特征的相似度的差值,进而后续可以利用该差值的大小(是否大于0)进行排序。
[0149]
此时,目标样本图像iq排序ap为:
[0150][0151]
其中,d
ij
>0表示第i个第二图像特征比第j各第二图像特征的排序靠前。
[0152]
由于指示函数不可微,不能被基于梯度的方法优化,本发明采用sigmoid函数近似替代指示函数。其中,sigmoid函数是一种激活函数,其函数形状为s形。
[0153]
其中,sigmoid函数为:
[0154][0155]
其中,τ为平滑系数,可选的,τ为0.01。在本发明实施例中,x为s
i-sj或d
ij

[0156]
从而,目标样本图像iq的排序ap可以被近似为:
[0157][0158]
在计算出每一目标样本图像iq与的排序ap之后,可以对同一个训练批次的k张目标样本图像iq的排序ap求平均,得到一个训练批次的map,即优化排序损失函数为:
[0159][0160]
其中,apk为第k个目标样本图像iq的排序ap。
[0161]
最小化排序损失函数即优化所有查询类别的近似map,从而提升图像特征提取模型的准确度。
[0162]
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0163]
根据本公开的实施例,如图4所示,本公开还提供了一种图像特征提取模型的训练装置,包括:
[0164]
图像获取模块401,用于获取至少一目标样本图像;
[0165]
特征提取模块402,用于利用待训练的图像特征提取模型,提取所述至少一目标样本图像的第一图像特征,并利用指定网络模型,提取所述至少一目标样本图像的第二图像特征;其中,所述指定网络模型与所述图像特征提取模型的模型结构相同,且所述指定网络模型的模型参数为基于所述图像特征提取模型的模型参数所确定的模型参数;
[0166]
损失值计算模块403,用于基于所述第一图像特征、所提取的第二图像特征以及历史样本特征,计算所述图像特征提取模型的模型损失值;其中,所述历史样本特征包括:所述指定网络模型针对历史样本图像所提取的图像特征,所述历史样本图像为:在获取所述目标样本图像之前已获取的样本图像;
[0167]
参数调整模块404,用于基于所述模型损失值,调整所述图像特征提取模型的模型参数。
[0168]
可选的,所述损失值计算模块,包括:
[0169]
第一计算子模块,用于针对每一目标样本图像,计算该图像的第一图像特征与各正样本特征之间的第一相似度;其中,所述正样本特征为:所提取的第二图像特征中的第一类特征,第一类特征针对与该图像类别相同的目标样本图像所提取的第二图像特征;
[0170]
第二计算子模块,用于针对每一目标样本图像,计算该图像的第一图像特征与各负样本特征之间的第二相似度;其中,所述负样本特征为:所提取的第二图像特征中的第二类特征以及历史样本特征中的第三类特征,第二类特征为针对与该图像的图像类别不同的目标样本图像所提取的第二图像特征,所述第三类特征为针对与该图像的图像类别不同的历史样本图像所提取的图像特征;
[0171]
损失值计算子模块,用于基于所计算的第一相似度和所计算的第二相似度,确定所述图像特征提取模型的模型损失值。
[0172]
可选的,所述损失值计算子模块,包括:
[0173]
第一排序单元,用于针对每一目标样本图像,按照该图像的第一图像特征与各正样本特征之间的第一相似度,对各正样本特征进行排序,得到该图像对应的第一排序结果;
[0174]
第二排序单元,用于针对每一目标样本图像,按照该图像的第一图像特征与各正样本特征之间的第一相似度,以及该图像的第一图像特征与各负样本特征的第二相似度,对各正样本特征和各负样本特征进行排序,得到该图像对应的第二排序结果;
[0175]
损失值计算单元,用于基于各目标样本图像对应的第一排序结果和第二排序结果,确定所述图像特征提取模型的模型损失值。
[0176]
可选的,所述损失值计算单元,具体用于针对每一目标样本图像,基于该图像对应的第一排序结果,以及该图像对应的第二排序结果,计算该图像的排序损失;基于各目标样本图像的排序损失,计算所述图像特征提取模型的模型损失值。
[0177]
可选的,所述装置还包括:
[0178]
特征确定模块,用于在所述第二计算子模块执行针对每一目标样本图像,计算该图像的第一图像特征与各负样本特征之间的第二相似度之前,基于所提取的第二图像特征更新预先构建的动态队列;其中,所述动态队列中存储有历史样本特征;确定所述动态队列中,与该图像的图像类别不同的样本图像的历史样本特征,作为负样本特征。
[0179]
可选的,所述装置还包括:
[0180]
参数更新模块,用于在所述特征提取模块执行利用所述图像特征提取模型的指定网络模型,提取所述至少一目标样本图像的第二图像特征之前,利用所述图像特征提取模型的模型参数,对所述指定网络模型的模型参数进行更新。
[0181]
可选的,所述参数更新模块,具体用于针对所述指定网络模型中每一待更新的第一模型参数,确定所述图像特征提取模型中与该第一模型参数对应的第二模型参数;基于该第一模型参数的当前参数值和所述第二模型参数的参数值,计算所述第一模型参数的更新后参数值;将该第一模型参数的参数值变更为所述更新后参数值。
[0182]
可选的,所述参数更新模块,具体用于对该第一模型参数的当前参数值和所述第二模型参数的参数值进行加权求和,得到所述第一模型参数的更新后参数值。
[0183]
可选的,该第一模型参数的权重大于所述第二模型参数的权重。
[0184]
本公开提供的上述方案,由于可以利用历史样本特征确定图像特征提取模型的模型损失值,相当于在图像特征提取模型每次迭代训练的过程中,增大了样本图像的数量,从而减少了显存的占用。
[0185]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0186]
本公开实施例提供了一种电子设备,包括:
[0187]
至少一个处理器;以及
[0188]
与至少一个处理器通信连接的存储器;其中,
[0189]
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行图像特征提取模型的训练方法。
[0190]
本公开实施例一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行图像特征提取模型的训练方法。
[0191]
本公开实施例一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现图像特征提取模型的训练方法。
[0192]
图5示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子
设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0193]
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0194]
设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0195]
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如图像特征提取模型的训练方法。例如,在一些实施例中,图像特征提取模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由计算单元501执行时,可以执行上文描述的图像特征提取模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像特征提取模型的训练方法。
[0196]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一输入装置、和至少一输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一输入装置、和该至少一输出装置。
[0197]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0198]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供
指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0199]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0200]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0201]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0202]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0203]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1