一种自监督训练模型及其训练方法以及ReID模型训练方法与流程

未命名 10-08 阅读:82 评论:0

一种自监督训练模型及其训练方法以及reid模型训练方法
技术领域
1.本发明涉及行人重识别技术领域,具体提供一种自监督训练模型及其训练方法以及reid模型训练方法。


背景技术:

2.人重识别(person re-identification,reid),是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术,在学术界和工业界已经得到广泛的关注与应用,同时也在越来越多的应用场景中发挥着重要作用,如行人跟踪、区域寻人等等。
3.现有的行人重识别方法通常是利用深度学习技术,训练深度学习网络提取行人图片的特征,通过特征的比对来判断不同行人图片之间是否匹配,从而达到行人重识别的目的。
4.目前,常用的一种深度学习网络训练方式是:在imagenet数据集上进行分类训练,经过训练之后的权重,再训练reid模型。但是该训练方式存在这样的问题:分类训练时需要对imagenet数据集中所有图像都进行类别的标注,即需要大量的人力,而且存在误标注的风险。
5.相应地,本领域需要一种新的reid模型训练方案来解决上述问题。


技术实现要素:

6.为了克服上述缺陷,提出了本发明,提供一种自监督训练模型及其训练方法以及reid模型训练方法,以解决或至少部分地解决现有技术中因存在误标注而导致训练出的模型识别的准确率低的技术问题。
7.在第一方面,本发明提供一种自监督训练模型,包括:编码器、动量编码器、第一mlp模型、第二mlp模型以及特征缓存库;
8.所述编码器和所述第一mlp模型连接,所述动量编码器和所述第二mlp模型连接,所述第二mlp模型和所述特征缓存库连接;
9.所述编码器和所述动量编码器被配置为获取目标图像的正例对,所述目标图像为无标签数据图像,并对所述正例对的特征向量进行提取,将提取的高维特征向量分别输入至所述第一mlp模型和所述第二mlp模型中;
10.所述第一mlp模型和所述第二mlp模型用于对接收到的高维特征向量进行降维处理,输出低维特征向量,所述第二mlp模型还用于将输出的低维特征向量输入至所述特征缓存库中;
11.所述特征缓存库用于接收所述第二mlp模型输入的低维特征向量,并将低维特征向量替换预存的低维特征向量,预存的低维特征向量为初始预设低维特征向量或所述第二mlp模型在上一次迭代中输入的历史低维特征向量;
12.其中,所述第一mlp模型和所述第二mlp模型所输出的低维特征向量构成正例对,所述第一mlp模型所输出的低维特征向量和所述特征缓存库中的预存的低维特征向量构成
负例对。
13.在第二方面,本发明提供一种自监督训练模型的训练方法,应用于自监督训练模型,包括:
14.获取训练图像集,所述训练图像集包括若干对正例对,其中,每一对正例对包括对应同一原始图像的第一图像和第二图像;
15.将所述第一图像输入至所述编码器中,得到第一高维特征向量,并将第一高维特征向量输入至所述第一mlp模型中,得到第一低维特征向量;
16.将所述第二图像输入至所述动量编码器中,得到第二高维特征向量,并将第二高维特征向量输入至所述第二mlp模型中,得到第二低维特征向量;
17.根据第一低维特征向量、第二低维特征向量以及所述特征缓存库中的预存的低维特征向量,确定损失函数;
18.根据所述损失函数,对所述自监督训练模型进行训练。
19.在上述的自监督训练模型的训练方法一个技术方案中,所述确定损失函数包括根据第一低维特征向量、第二低维特征向量、特征缓存库中的预存的低维特征向量以及以下公式确定损失函数:
[0020][0021]
其中,loss为损失函数,z1为第一低维特征向量,z2为第二低维特征向量,qi为特征缓存库中预存的k个低维特征向量中的第i个低维特征向量,τ为训练参数。
[0022]
在上述的自监督训练模型的训练方法一个技术方案中,所述方法还包括:
[0023]
所述第二mlp模型将当前迭代中输出的第二低维特征向量输入至所述特征缓存库中;
[0024]
所述特征缓存库接收所述第二mlp模型在当前迭代中输入的第二低维特征向量,并将当前迭代中输入的第二低维特征向量替换预存的低维特征向量,预存的低维特征向量为初始预设低维特征向量或所述第二mlp模型在上一次迭代中输入的历史低维特征向量。
[0025]
在上述的自监督训练模型的训练方法一个技术方案中,所述根据所述损失函数,对所述自监督训练模型进行训练,具体包括:
[0026]
根据所述损失函数,更新所述自监督训练模型的权重;
[0027]
其中,所述自监督训练模型的权重至少包括编码器的权重。
[0028]
在上述的自监督训练模型的训练方法一个技术方案中,所述自监督训练模型的权重还包括动量编码器的权重,所述根据所述损失函数,更新所述自监督训练模型的权重,具体包括:
[0029]
通过所述损失函数,更新编码器的权重;
[0030]
根据编码器的权重,更新动量编码器的权重。
[0031]
在第三方面,本发明提供一种reid模型训练方法,所述方法包括如下步骤:
[0032]
获取待训练的所述自监督训练模型,所述自监督训练模型中的编码器和动量编码器的网络结构与待训练的reid模型的主网络结构相同;
[0033]
基于自监督训练模型的训练方法,对所述自监督训练模型进行训练;
[0034]
将训练好的自监督训练模型中的编码器的权重,作为reid模型的权重,完成reid
模型的训练;
[0035]
或,将训练好的自监督训练模型中的编码器的权重,作为reid模型的初始训练权重,基于reid模型的初始训练权重,对reid模型进行训练。
[0036]
在第四方面,本发明提供一种reid行人识别方法,包括:获取待识别图像;
[0037]
基于训练好的reid模型对所述待识别图像进行识别;
[0038]
其中,所述reid模型基于reid模型训练方法进行训练。
[0039]
在第五方面,本发明提供一种电子设备,包括:
[0040]
存储器;
[0041]
处理器;所述存储器适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行上述自监督训练模型的训练方法的技术方案中任一项所述的自监督训练模型的训练方法,或上述reid模型训练方法的技术方案中的reid模型训练方法,或上述reid行人识别方法的技术方案中的reid行人识别方法。
[0042]
在第六方面,本发明提供一种计算机可读存储介质,其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述自监督训练模型的训练方法的技术方案中任一项所述的自监督训练模型的训练方法,或上述reid模型训练方法的技术方案中的reid模型训练方法,或上述reid行人识别方法的技术方案中的reid行人识别方法。
[0043]
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0044]
在实施本发明的技术方案中,通过获取训练图像集,训练图像集包括若干对正例对,其中,每一对正例对包括对应同一原始图像的第一图像和第二图像;将第一图像输入至编码器中,得到第一高维特征向量,并将第一高维特征向量输入至第一mlp模型中,得到第一低维特征向量;将第二图像输入至动量编码器中,得到第二高维特征向量,并将第二高维特征向量输入至第二mlp模型中,得到第二低维特征向量;根据第一低维特征向量、第二低维特征向量以及特征缓存库中的预存的低维特征向量,确定损失函数;根据损失函数,对自监督训练模型进行训练。因此,在自监督训练模型的训练过程中,无须人工进行标注,图像直接进入训练环节,因此,极大的节省了人力和时间成本,同时,还避免了因人工错误标注而导致模型训练效果差的问题。
附图说明
[0045]
参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:
[0046]
图1是本发明的一个实施例的自监督训练模型的结构图;
[0047]
图2是本发明的一个实施例的自监督训练模型的训练方法的主要步骤流程图;
[0048]
图3是本发明对原始图像进行预处理的流程示意图;
[0049]
图4是本发明的一个实施例的自监督训练模型的训练方法的流程图;
[0050]
图5是本发明的一个实施例的reid模型训练方法的步骤流程图;
[0051]
图6是本发明的一个实施例的reid行人识别方法的步骤流程图
[0052]
图7是本发明一个实施例的自监督训练模型的训练方法的步骤流程图;
[0053]
图8是用于执行本发明的自监督训练模型的训练方法、reid模型训练方法的、reid行人识别方法的电子设备的主要结构框图。
具体实施方式
[0054]
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0055]
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
[0056]
请参阅附图1,图1是根据本发明的一个自监督训练模型的结构图。
[0057]
如图1所示,本发明提供了一种自监督训练模型,包括:编码器、动量编码器、第一mlp(multilayer perceptron,多层感知器)模型、第二mlp模型以及特征缓存库;
[0058]
所述编码器和所述第一mlp模型连接,所述动量编码器和所述第二mlp模型连接,所述第二mlp模型和所述特征缓存库连接;
[0059]
所述编码器和所述动量编码器被配置为获取目标图像的正例对,所述目标图像为无标签数据图像,并对所述正例对的特征向量进行提取,将提取的高维特征向量分别输入至所述第一mlp模型和所述第二mlp模型中;
[0060]
所述第一mlp模型和所述第二mlp模型用于对接收到的高维特征向量进行降维处理,输出低维特征向量,所述第二mlp模型还用于将输出的低维特征向量输入至所述特征缓存库中;
[0061]
所述特征缓存库用于接收所述第二mlp模型输入的低维特征向量,并将低维特征向量替换预存的低维特征向量,预存的低维特征向量为初始预设低维特征向量或所述第二mlp模型在上一次迭代中输入的历史低维特征向量;
[0062]
其中,所述第一mlp模型和所述第二mlp模型所输出的低维特征向量构成正例对,所述第一mlp模型所输出的低维特征向量和所述特征缓存库中的预存的低维特征向量构成负例对。
[0063]
本发明还提供了一种自监督训练模型的训练方法,应用于自监督训练模型,包括如下步骤s201-s205:
[0064]
步骤s201、获取训练图像集,所述训练图像集包括若干对正例对,其中,每一对正例对包括对应同一原始图像的第一图像和第二图像;
[0065]
步骤s202、将所述第一图像输入至所述编码器中,得到第一高维特征向量,并将第一高维特征向量输入至所述第一mlp模型中,得到第一低维特征向量;
[0066]
步骤s203、将所述第二图像输入至所述动量编码器中,得到第二高维特征向量,并
将第二高维特征向量输入至所述第二mlp模型中,得到第二低维特征向量;
[0067]
步骤s204、根据第一低维特征向量、第二低维特征向量以及所述特征缓存库中的预存的低维特征向量,确定损失函数;
[0068]
步骤s205、根据所述损失函数,对所述自监督训练模型进行训练。
[0069]
基于上述步骤s201-步骤s205,完成自监督训练模型的训练,训练过程无需人工进行标注,极大的节省了人力和时间成本。
[0070]
此外,由于现有技术中的imagenet数据集包含了1000类以上的各种物品或者物种的图像,并不是完美匹配reid模型只解决行人匹配的训练目标,因此,本发明中的训练图像集可以为行人图像集,只在行人图像上做预处理,以提高reid模型解决行人重识别任务的匹配度。
[0071]
具体地,在步骤s201中,可以通过对原始图像进行预处理,以得到对应同一原始图像的第一图像和第二图像。
[0072]
预处理包括:图像擦除、裁剪、翻转、模糊、改变色调、改变亮度、改变饱和度、扩充、降低分辨率或变成灰度图等。
[0073]
请参阅附图3,图3是本发明对原始图像进行预处理的流程示意图。
[0074]
如图3所示,原始图像会随机通过框内的一种或多种变化得到同一人的不同形态的图像,通过两次不同的随机处理,即得到两个形态不同、身份相同的第一图像和第二图像,并且,第一图像和第二图像构成一正例对。
[0075]
在实际应用时,自监督训练模型可以批量处理训练图像集中的对应同一原始图像的第一图像和第二图像,实现加速训练,缩短训练时间。
[0076]
在本发明一个实施方式中,所述方法还包括:
[0077]
所述第二mlp模型将当前迭代中输出的第二低维特征向量输入至所述特征缓存库中;
[0078]
所述特征缓存库接收所述第二mlp模型在当前迭代中输入的第二低维特征向量,并将当前迭代中输入的第二低维特征向量替换预存的低维特征向量,预存的低维特征向量为初始预设低维特征向量或所述第二mlp模型在上一次迭代中输入的历史低维特征向量。
[0079]
请参阅附图4,图4是本发明自监督训练模型的训练方法的流程图。
[0080]
结合图1、图3和图4,如下将具体说明如何对自监督训练模型进行训练。
[0081]
具体地,对原始图像进行预处理,得到第一图像和第二图像;将第一图像输入至编码器(即,图4中的encoder)中,编码器输出第一高维特征向量,并将第一高维特征向量输入至第一mlp模型中,第一mlp模型输出第一低维特征向量(即,图4中的z1向量);将第二图像输入至动量编码器(即,图4中的momentum encoder)中,动量编码器输出第二高维特征向量,并将第二高维特征向量输入至第二mlp模型中,第二mlp模型输出第二低维特征向量(即,图4中的z2向量);根据第一低维特征向量、第二低维特征向量和特征缓存库中的预存的低维特征向量,其中,特征缓存库中预存的低维特征向量为初始预设低维特征向量或第二mlp模型在上一次迭代中输入的历史低维特征向量,确定损失函数;再根据损失函数,对自监督训练模型进行训练。
[0082]
值得注意的是,在计算损失函数时,对于如何选择特征缓存库中预存的低维特征向量为初始预设低维特征向量或第二mlp模型在上一次迭代中输入的历史低维特征向量,
将在下文进行说明。
[0083]
在本发明一个实施方式中,所述确定损失函数包括根据第一低维特征向量、第二低维特征向量、特征缓存库中的预存的低维特征向量以及以下公式确定损失函数:
[0084][0085]
其中,loss为损失函数,z1为第一低维特征向量,z2为第二低维特征向量,qi为特征缓存库中预存的k个低维特征向量中的第i个低维特征向量,τ为训练参数。
[0086]
示例性的,τ的可以为0.05。
[0087]
但在实际应用中,τ取值可以根据实际情况对数值进行调节,在此并不做具体限定,以满足不同场景的需求。
[0088]
在计算损失函数时,应注意如下:
[0089]
在第一次计算损失函数时,特征缓存库中的预存的低维特征向量为初始预设低维特征向量,其中,初始预设低维特征向量是随机生成的。也就会说,根据第一低维特征向量、第二低维特征向量和初始预设低维特征向量,确定损失函数;
[0090]
在第二次(即,除第一次以外的其他次数)计算损失函数时,特征缓存库中的预存的低维特征向量为第二mlp模型在上一次迭代中输入的历史低维特征向量,也即,第二mlp模型在上一轮输出的第二低维特征向量,因此,根据第一低维特征向量、第二低维特征向量和第二mlp模型在上一次迭代中输入的历史低维特征向量,确定损失函数。
[0091]
在本发明一个实施方式中,所述根据所述损失函数,对所述自监督训练模型进行训练,具体包括:
[0092]
根据所述损失函数,更新所述自监督训练模型的权重;
[0093]
其中,所述自监督训练模型的权重至少包括编码器的权重。
[0094]
进一步地,述自监督训练模型的权重还包括动量编码器的权重;所述根据所述损失函数,更新所述自监督训练模型的权重,具体包括:
[0095]
通过所述损失函数,更新编码器的权重;
[0096]
根据编码器的权重,更新动量编码器的权重。
[0097]
通过表达式w
me
=α*w
me
+(1-α)*we,计算所述动量编码器的权重;
[0098]
其中,w
me
是动量编码器的权重,we是编码器的权重,α为更新系数。
[0099]
示例性的,α取值可以为0.95。
[0100]
但在实际应用中,α取值可以根据实际情况对数值进行调节,在此并不做具体限定,以满足不同场景的需求。
[0101]
请参阅附图5,图5是根据本发明的一种reid模型训练方法的步骤流程图;
[0102]
如图5所示,本发明还提供了一种reid模型训练方法,所述方法包括如下步骤s501-s502:
[0103]
s501、获取待训练的所述自监督训练模型,所述自监督训练模型中的编码器和动量编码器的网络结构与待训练的reid模型的主网络结构相同;
[0104]
s502、基于所述的自监督训练模型的训练方法,对所述自监督训练模型进行训练;
[0105]
s503、将训练好的自监督训练模型中的编码器的权重,作为reid模型的权重,完成reid模型的训练;
[0106]
或,将训练好的自监督训练模型中的编码器的权重,作为reid模型的初始训练权重,基于reid模型的初始训练权重,对reid模型进行训练。
[0107]
综上所述可知,在自监督训练模型完成训练后,自监督训练模型中的编码器的权重可直接作为reid模型的权重,此时,reid模型完成训练,或,自监督训练模型中的编码器的权重作为reid模型的初始训练权重,进一步对reid模型进行训练。
[0108]
如下将具体说明将如何基于reid模型的初始训练权重对reid模型进行训练。
[0109]
例如,以数据集包括多个类别,每个类别包括多个图片为例。
[0110]
按照初始训练权重,数据集中选取p个类别,并在p个类别中选取k个图片;
[0111]
采用选取的p*k个图片,进行当前迭代训练;
[0112]
判断是否完成所有轮的训练;
[0113]
若是,则停止训练;
[0114]
若否,则执行下一次迭代训练,直至完成所有轮的训练,获取到最终的reid模型。
[0115]
当然,基于reid模型的初始训练权重对reid模型进行训练的方法并不限于上述方法,还可以采用本领域技术人员所熟知的任一种基于reid模型的初始训练权重能够对reid模型进行训练的方法,在此并不做具体限定。
[0116]
请参阅附图6,图6是根据本发明的一种reid行人识别方法的步骤流程图;
[0117]
如图6所示,本发明还提供了一种reid行人识别方法,包括如下步骤s601-s602:
[0118]
s601、获取待识别图像;
[0119]
s602、基于训练好的reid模型对所述待识别图像进行识别;
[0120]
其中,所述reid模型基于reid模型训练方法进行训练。
[0121]
为了具体说明上述自监督训练模型的训练方法,本发明提供了一个实施例,请参阅附图7。
[0122]
图7是本发明一个实施例的自监督训练模型的训练方法的步骤流程图。如图7所示,根据本实施例的自监督训练模型的训练方法包括下列步骤:
[0123]
s701、对原始图像进行预处理,得到对应同一原始图像的第一图像和第二图像;
[0124]
s702、将第一图像输入至编码器中,得到第一高维特征向量,并将第一高维特征向量输入至第一mlp模型中,得到第一低维特征向量;
[0125]
s703、将第二图像输入至动量编码器中,得到第二高维特征向量,并将第二高维特征向量输入至第二mlp模型中,得到第二低维特征向量;
[0126]
s704、根据第一低维特征向量、第二低维特征向量、特征缓存库中的预存的低维特征向量,计算损失函数;
[0127]
s705、根据损失函数,更新自监督训练模型的权重;
[0128]
s706、根据编码器的权重,更新动量编码器的权重;
[0129]
s707、判断自监督训练模型是否达到停止训练的条件;若是;执行步骤s708;若否;循环执行步骤s701至s707,直至自监督训练模型达到停止训练的条件;
[0130]
s708、输出自监督训练模型。
[0131]
在上述实施例中,第一次计算损失函数时,特征缓存库中的预存的低维特征向量为初始预设低维特征向量;在第二次(即,除第一次以外的其他次数)计算损失函数时,特征缓存库中的预存的低维特征向量为第二mlp模型在上一次迭代中输入的历史低维特征向
量。
[0132]
并且,上述实施例中,停止训练的条件可以为:自监督训练模型达到设定的轮数。示例性的,设定的轮数为1000轮,那么,当自监督训练模型已完成1000轮后,表明自监督训练模型已训练完成,此时自监督训练模型已具备一定的行人识别能力。
[0133]
通过上述技术方案,在训练自监督训练模型时,无需对训练图像集中的图像进行人工标注,直接进入训练环节,极大的节省了人力和时间成本,即实现自监督的训练模式,还避免了因存在误标注而导致训练出的模型识别的准确率低的问题。
[0134]
需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
[0135]
上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
[0136]
进一步地,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的自监督训练模型的训练的程序,或reid模型训练的程序,或reid行人识别的程序,该程序可以由处理器加载并运行以实现上述自监督训练模型的训练方法,或reid模型训练方法,或reid行人识别方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
[0137]
进一步地,本发明还提供了一种电子设备。请参阅附图8,图8是用于执行本发明的终端控制方法的电子设备的主要结构框图。
[0138]
如图8所示,在根据本发明的一个电子设备实施例中,电子设备800包括处理器801和存储器802,存储器802可以被配置成存储执行上述方法实施例的终端控制方法的程序代码803,处理器801可以被配置成用于执行存储器802中的程序代码803,该程序代码803包括但不限于执行上述方法实施例的终端控制方法的程序代码803。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
[0139]
在一些可能的实施方式中,电子设备可以包括多个处理器和存储器。而执行上述方法实施例的终端控制方法的程序代码803可以被分割成多段子程序,每段子程序分别可以由处理器加载并运行以执行上述方法实施例的终端控制方法的不同步骤。具体地,每段子程序可以分别存储在不同的存储器中,每个处理器可以被配置成用于执行一个或多个存储器中的程序,以共同实现上述方法实施例的终端控制方法,即每个处理器分别执行上述方法实施例的终端控制方法的不同步骤,来共同实现上述方法实施例的终端控制方法。
[0140]
上述多个处理器可以是部署于同一个设备上的处理器,例如上述电子设备可以是由多个处理器组成的高性能设备,上述多个处理器可以是该高性能设备上配置的处理器。此外,上述多个处理器也可以是部署于不同设备上的处理器,例如上述电子设备可以是服务器集群,上述多个处理器可以是服务器集群中不同服务器上的处理器。
[0141]
示例性地,处理器801可以是中央处理单元(centralprocessing unit,cpu),也可
以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specificintegrated circuit,asic)、现场可编程门阵列(field-programmable gatearray,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0142]
存储器802可以是电子设备的内部存储单元,例如,是电子设备的硬盘或内存;存储器也可以是电子设备的外部存储设备,例如,在电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器用于存储计算机程序以及电子设备所需的其它程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0143]
电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备可以包括但不仅限于处理器和存储器。本领域技术人员可以理解,图8仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0144]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0145]
本领域技术人员可以意识到,结合本发明中实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0146]
在本发明所提供的实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0147]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0148]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0149]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、
对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0150]
本技术各实施例中可能涉及的相关用户个人信息,均为严格按照法律法规的要求,遵循合法、正当、必要的原则,基于业务场景的合理目的,处理用户在使用产品/服务过程中主动提供或因使用产品/服务而产生的,以及经用户授权获取的个人信息。
[0151]
申请人处理的用户个人信息会因具体产品/服务场景而有所不同,需以用户使用产品/服务的具体场景为准,可能会涉及用户的账号信息、设备信息、驾驶信息、车辆信息或其他相关信息。申请人会以高度的勤勉义务对待用户的个人信息及其处理。
[0152]
申请人非常重视用户个人信息的安全,已采取符合业界标准、合理可行的安全防护措施保护用户的信息,防止个人信息遭到未经授权访问、公开披露、使用、修改、损坏或丢失。
[0153]
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

技术特征:
1.一种自监督训练模型,其特征在于,包括:编码器、动量编码器、第一mlp模型、第二mlp模型以及特征缓存库;所述编码器和所述第一mlp模型连接,所述动量编码器和所述第二mlp模型连接,所述第二mlp模型和所述特征缓存库连接;所述编码器和所述动量编码器被配置为获取目标图像的正例对,所述目标图像为无标签数据图像,并对所述正例对的特征向量进行提取,将提取的高维特征向量分别输入至所述第一mlp模型和所述第二mlp模型中;所述第一mlp模型和所述第二mlp模型用于对接收到的高维特征向量进行降维处理,输出低维特征向量,所述第二mlp模型还用于将输出的低维特征向量输入至所述特征缓存库中;所述特征缓存库用于接收所述第二mlp模型输入的低维特征向量,并将低维特征向量替换预存的低维特征向量,预存的低维特征向量为初始预设低维特征向量或所述第二mlp模型在上一次迭代中输入的历史低维特征向量;其中,所述第一mlp模型和所述第二mlp模型所输出的低维特征向量构成正例对,所述第一mlp模型所输出的低维特征向量和所述特征缓存库中的预存的低维特征向量构成负例对。2.一种自监督训练模型的训练方法,应用于权利要求1所述的自监督训练模型,其特征在于,包括:获取训练图像集,所述训练图像集包括若干对正例对,其中,每一对正例对包括对应同一原始图像的第一图像和第二图像;将所述第一图像输入至所述编码器中,得到第一高维特征向量,并将第一高维特征向量输入至所述第一mlp模型中,得到第一低维特征向量;将所述第二图像输入至所述动量编码器中,得到第二高维特征向量,并将第二高维特征向量输入至所述第二mlp模型中,得到第二低维特征向量;根据第一低维特征向量、第二低维特征向量以及所述特征缓存库中的预存的低维特征向量,确定损失函数;根据所述损失函数,对所述自监督训练模型进行训练。3.根据权利要求2所述的一种自监督训练模型的训练方法,其特征在于,所述确定损失函数包括根据第一低维特征向量、第二低维特征向量、特征缓存库中的预存的低维特征向量以及以下公式确定损失函数:其中,loss为损失函数,z1为第一低维特征向量,z2为第二低维特征向量,q
i
为特征缓存库中预存的k个低维特征向量中的第i个低维特征向量,τ为训练参数。4.根据权利要求2所述的一种自监督训练模型的训练方法,其特征在于,所述方法还包括:所述第二mlp模型将当前迭代中输出的第二低维特征向量输入至所述特征缓存库中;所述特征缓存库接收所述第二mlp模型在当前迭代中输入的第二低维特征向量,并将
当前迭代中输入的第二低维特征向量替换预存的低维特征向量,预存的低维特征向量为初始预设低维特征向量或所述第二mlp模型在上一次迭代中输入的历史低维特征向量。5.根据权利要求2所述的一种自监督训练模型的训练方法,其特征在于,所述根据所述损失函数,对所述自监督训练模型进行训练,具体包括:根据所述损失函数,更新所述自监督训练模型的权重;其中,所述自监督训练模型的权重至少包括编码器的权重。6.根据权利要求5所述的一种自监督训练模型的训练方法,所述自监督训练模型的权重还包括动量编码器的权重,其特征在于,所述根据所述损失函数,更新所述自监督训练模型的权重,具体包括:通过所述损失函数,更新编码器的权重;根据编码器的权重,更新动量编码器的权重。7.一种reid模型训练方法,其特征在于,所述方法包括如下步骤:获取待训练的如权利要求1所述自监督训练模型,所述自监督训练模型中的编码器和动量编码器的网络结构与待训练的reid模型的主网络结构相同;基于权利要求2至6任一项所述的自监督训练模型的训练方法,对所述自监督训练模型进行训练;将训练好的自监督训练模型中的编码器的权重,作为reid模型的权重,完成reid模型的训练;或,将训练好的自监督训练模型中的编码器的权重,作为reid模型的初始训练权重,基于reid模型的初始训练权重,对reid模型进行训练。8.一种reid行人识别方法,其特征在于,包括:获取待识别图像;基于训练好的reid模型对所述待识别图像进行识别;其中,所述reid模型基于权利要求7所述的reid模型训练方法进行训练。9.一种电子设备,其特征在于,包括:存储器;处理器;所述存储器适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求2-6中任一项所述的自监督训练模型的训练方法,或权利要求7所述的reid模型训练方法,或权利要求8所述的reid行人识别方法。10.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求2-6中任一项所述的自监督训练模型的训练方法,或权利要求7所述的reid模型训练方法,或权利要求8所述的reid行人识别方法。

技术总结
本发明涉及行人重识别技术领域,具体提供一种自监督训练模型及其训练方法以及ReID模型训练方法。本发明的一种自监督训练模型的训练方法,包括:将训练图像集中的第一图像输入至编码器中,得到第一高维特征向量,并将第一高维特征向量输入至第一mlp模型中,得到第一低维特征向量;将训练图像集中的第二图像输入至动量编码器中,得到第二高维特征向量,并将第二高维特征向量输入至第二mlp模型中,得到第二低维特征向量;根据第一低维特征向量、第二低维特征向量以及特征缓存库中的预存的低维特征向量,对自监督训练模型进行训练。采用上述方案,完成了对自监督训练模型的训练,避免了现有技术中因人工错误标注而导致模型训练效果差的问题。练效果差的问题。练效果差的问题。


技术研发人员:袁哲 王仲勋 兰天翼 肖万勇
受保护的技术使用者:四川云从天府人工智能科技有限公司
技术研发日:2023.06.30
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐