一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于一致性学习的跨场景持续学习的行人再识别方法及装置

2022-04-30 18:13:57 来源:中国专利 TAG:


1.本发明涉及行人重识别的技术领域,具体涉及一种基于一致性学习的跨场景持续学习的行人再识别方法及装置。


背景技术:

2.现有的行人重识别方法大部分都基于深度卷积神经网络(cnn)模型,训练cnn模型通常需要在特定的摄像头监控场景下预先在特定场景的监控区域内从多个不同的摄像头采集视频数据,进行行人检测得到行人图像并人工对图像进行跨摄像头标注。并使标注好的训练数据与随机梯度下降(sgd)法对模型进行有监督的预训练,然后再将模型部署到该场景下。由于不同的视频监控系统的拍摄条件通常差别较大,在某个场景下训练过的模型直接迁移到新的场景进行部署时,识别准确率通常会显著下降。现有的解决方法一般需要在新的场景下重新采集和标注数据对模型进行微调训练(fine-tunining),使得模型能够在新的场景下适应。但是进过微调后的模型,由于使用了和旧场景分布不一致的数据进行增量训练,在旧场景下的识别准确度也会明显下降,这种现象通常叫做深度卷积神经网络的“灾难性遗忘”现象,这种现象使得我们很难获得一个同时在多个场景下都具有比较高的识别准确率的模型,而对每一个场景保留一份独立的模型参数需要比较高的维护成本。
3.wu和gong在2021年提出的gwfreid算法,它是一种针对行人重识别特点设计的持续学习算法。gwfreid基于旧数据集的样本回放的策略,对lwf中的知识蒸馏学习进行了改进,提出了分类连贯性学习、分布连贯性学习和表示连贯性学习,即分别对交叉熵损失函数、特征对比损失函数和三元组损失函数使用了知识蒸馏的技术,可以在持续学习的场景下取得更好的行人重识别性能。
4.lwf和gwfreid算法能够一定程度上解决数据存储开销大的问题,但是由于他们只保存了少量旧数据集下的样本,在混合新场景的数据训练时只有少量数据来自于旧的场景,数据的比例并不均衡,容易导致两个现象:(1)模型容易在旧场景的训练数据上过拟合,导致在旧场景的泛化性能变差;(2)模型更容易偏向于新的场景,在旧的场景下性能下降,造成新旧场景识别准确率不平衡。从文献中的实验结果上看,lwf和gwfreid模型的识别精度与理想情况下的多任务联合训练仍有较大的差距。


技术实现要素:

5.本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于一致性学习的跨场景持续学习的行人再识别方法及装置,本发明的的行人重识别技术在进行跨场景持续学习下能够降低数据储存成本,缩短模型训练时间,提高模型的泛化能力(即跨场景下的识别精度),进而能够在先后学习的多个场景下部署我们不断更新迭代的模型,而不需要为每一个场景单独训练一个模型,达到降低训练模型和人工维护的成本的目的。
6.为了达到上述目的,本发明采用以下技术方案:
7.本发明一方面提供了基于一致性学习的跨场景持续学习的行人再识别方法,包括
下述步骤:
8.将旧场景数据和新场景数据混合,随机抽样后分批次依次并行输入预先设立的旧场景模型和新场景模型,同时得到每一个批次的数据的原始特征;
9.将原始特征输入伪任务数据转换模块,分别得到每一个原始特征经过场景风格转换后对应的旧场景特征和新场景特征;所述伪任务数据转换模块是将一个来自于场景(s)的行人图像变换到场景(t)的分布下,而身份保持不变,从而得到同一个行人在不同的场景下的风格的训练数据;
10.在旧场景特征上计算域内和域间跨场景一致性损失函数,进行伪任务身份辨别性学习;所述跨场景一致性损失函数用于最小化同一个输入样本在不同的伪任务特征变换下不一致性;
11.计算旧场景特征样本和新场景特征样本的两两相似度,进行伪任务知识蒸馏;
12.把新场景特征输入新场景的分类器后计算交叉熵损失函数,进行身份辨别性学习;
13.计算每一个样本对应的旧场景特征和新场景特征距离,进行跨场景一致性学习。
14.作为优选的技术方案,所述原始特征包括:旧场景下采集到的数据经过深度卷积神经网络提取的图像特征;以及新场景下采集到的数据经过深度卷积神经网络提取的图像特征。
15.作为优选的技术方案,所述伪任务数据转换模块进行场景转换具体为:
16.对于某个特定场景下采集的数据集,每个卷积核对应的批归一化层中的每一个特征通道都会有两个统计统计量,均值μ
(s)
和方差σ
(s)
,计算公式如下:
[0017][0018]
其中,代表cnn提取的第i个样本样本特征向量,n代表训练一个小批次的样本量,(s)代表当前场景的编号;
[0019]
所述批归一化层是通过滑动平均的方式统计均值和方差以及用反向传播算法更新可学习的缩放系数γ和偏移系数β,将神经网络模型的每一层的所有通道的输出映射到一个高斯分布中,批归一化层的参数反映了一个数据集的样本在各个特征通道上的整体分布特征;
[0020]
对于来自某个场景(s)下的编号为i的样本特征f
i(s)
,使用另一个场景(t)的任务独享批归一化的统计量将其转换到场景(t)下的风格,得到转换后特征f
i(s,t)
,如以下公式所示:
[0021][0022]
其中,γ和β分别代表批归一化层的缩放系数和偏移系数,μ
(t)
和σ
(t)
分别代表场景(t)的任务独享批归一化层的均值统计量和方差统计量;其中,在学习不同的场景时,不同批归一化层使用共享的缩放系数γ和偏移系数β来保持跨域学习中的连续性。
[0023]
作为优选的技术方案,所述跨场景一致性损失函数的表达如下:
[0024][0025]
其中,d是余弦距离度量函数,f
i(s)
是来自场景(s)的编号为i的原始样本特征,n代表训练一个小批次的样本量,pi代表数据集中和当前所选样本身份标签相同的图像集合,s代表当前已经学习过的场景数量,stop-grad代表梯度停止回传标志。该损失函数的作用是使得所有身份标签和当前样本相同的样本经过伪任务数据转换模块得到的特征和原始特征f
i(s)
尽可能接近;使用梯度停止模块stop_grad来防止模型在学习新的数据时更新旧的批归一化层的参数,并通过更新网络卷积层参数的方式来使得特征适应新的场景。
[0026]
作为优选的技术方案,所述相似度的计算方法如下:
[0027]
在训练过程中的每一个小批次内,使用特征提取网络经过全局池化后的高维特征向量作为样本特征,计算小批次内所有样本的两两相似度,得到相似度矩阵,并以这个矩阵和学生模型的输出的相似度的矩阵的差值作为优化目标,使得学生模型提取的相似度矩阵信息接近于教师模型,从而保留在旧场景里的辨别能力。
[0028]
作为优选的技术方案,所述相似度矩阵m的具体计算公式如下:
[0029]
m=[f1,f2,

,fn]
t
[f1,f2,

,fn]∈rd×n[0030]
其中,m是一个样本量为n、特征通道数为d的小批次样本的特征相似度矩阵,f1,f2,

,fn分别是编号从1到n的样本特征,t代表矩阵的转置操作;
[0031]
在使用新场景(s)的数据进行训练时,伪任务知识蒸馏学习的表达式为:
[0032][0033]
其中,m
(s-1,i)
在前(s-1)个场景中训练的模型经过任务数据转换模块后得到的特征计算的相似度矩阵,m
(s,j)
在前(s)个场景中训练的模型经过任务数据转换模块后得到的特征计算的相似度矩阵,s是目前已经学习过的场景的数量。
[0034]
作为优选的技术方案,所述身份辨别性学习具体为:
[0035]
对于传统的三元组损失函数,每一个样本三元组中的所有样本都是从同一个数据集中采样的,所述样本包括锚样本、正样本和负样本,称为域内身份辨别性学习,如以下公式:
[0036][0037]
其中,分别是锚样本、正样本和负样本的特征,n代表训练一个小批次的样本量,s代表当前已经学习过的场景数量,d是余弦距离度量函数,m是三元组损失函数的阈值;
[0038]
利用伪场景数据转换模块对三元组损失函数进行改进,在构造一个样本三元组时,先在数据集a内随机采样一个样本作为锚样本,然后根据锚样本的标签分别采样一个正样本和负样本,所述正样本是标签和锚样本相同的样本,所述负样本是标签和锚样本不同的样本,并使用伪场景数据转换模块分别对正样本和负样本进行转换,使得正样本和负样
本看起来更像是从另一个场景下采集到的和锚样本身份相同和不同的样本,以此来构造跨域的样本三元组,并使用三元组损失函数训练模型,提高模型的跨域泛化能力,将这种优化目称作域间身份辨别性学习,如以下公式:
[0039][0040]
其中,f
i(s)
是锚样本的原始、是正样本和负样本经过数据转换模块后得到的特征,n代表训练一个小批次的样本量,s代表当前已经学习过的场景数量,d是余弦距离度量函数,m是三元组损失函数的阈值;
[0041]
伪任务身份辨别性学习则是由上述的域内身份辨别性学习和域间身份辨别性学习共同组成,具体公式如下:
[0042]
l
pt-id
=l
intra-pt-id
l
inter-pt-id

[0043]
本发明另一方面提供了基于一致性学习的跨场景持续学习的行人再识别系统,应用于所述的基于一致性学习的跨场景持续学习的行人再识别方法,其特征在于,包括数据混合模块、伪任务数据转换模块、伪任务身份辨别性学习模块、伪任务知识蒸馏模块、身份辨别性学习模块以及一致性学习模块;
[0044]
所述数据混合模块,用于将旧场景数据和新场景数据混合,随机抽样后分批次依次并行输入预先设立的旧场景模型和新场景模型,同时得到每一个批次的数据的原始特征;
[0045]
所述伪任务数据转换模块,用于分别得到每一个原始特征经过场景风格转换后对应的旧场景特征和新场景特征;所述伪任务数据转换模块是将一个来自于场景(s)的行人图像变换到场景(t)的分布下,而身份保持不变,从而得到同一个行人在不同的场景下的风格的训练数据;
[0046]
所述伪任务身份辨别性学习模块,用于在旧场景特征上计算域内和域间跨场景一致性损失函数,进行伪任务身份辨别性学习;所述跨场景一致性损失函数用于最小化同一个输入样本在不同的伪任务特征变换下不一致性;
[0047]
所述伪任务知识蒸馏模块,用于计算旧场景特征样本和新场景特征样本的两两相似度,进行伪任务知识蒸馏;
[0048]
所述身份辨别性学习模块,用于把新场景特征输入新场景的分类器后计算交叉熵损失函数,进行身份辨别性学习;
[0049]
所述一致性学习模块,用于计算每一个样本对应的旧场景特征和新场景特征距离,进行跨场景一致性学习。
[0050]
本发明又一方面提供了一种电子设备,所述电子设备包括:
[0051]
至少一个处理器;以及,
[0052]
与所述至少一个处理器通信连接的存储器;其中,
[0053]
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于一致性学习的跨场景持续学习的行人再识别方法。
[0054]
本发明再一方面提供了一种计算机可读存储介质,存储有程序,所述程序被处理
器执行时,实现所述的基于一致性学习的跨场景持续学习的行人再识别方法。
[0055]
本发明与现有技术相比,具有如下优点和有益效果:
[0056]
1、本发明仅需保留少量旧数据集的训练样本,就可以同时在新旧场景取得较好的泛化性能。这事因为采用了伪场景数据转换和伪场景知识蒸馏学习,能够将不同数据集的样本互相进行风格转换,并且使得模型能够保留在旧的场景下的识别准确度。
[0057]
2、本发明在模型训练阶段无需保存旧场景下的分类器参数和数据的身份标签,基于相似度矩阵进行知识蒸馏可以用无监督学习的方式保留模型在旧场景下的识别性能。
[0058]
3、本发明在模型部署阶段无需保留多份模型参数,仅使用单个模型就可以同时在多个场景下取得较高的识别精度,显著降低了模型维护成本。
[0059]
4、本发明具有更好的跨场景泛化性能。通过跨场景一致性学习和伪任务身份辨别性学习,我们发明的方法训练出来的模型能够学到具有跨场景不变性的特征,模型的泛化性能更强。
附图说明
[0060]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061]
图1为目前行人重识别部署时的推理流程图;
[0062]
图2是本发明实施例提供的基于一致性学习的跨场景持续学习的行人再识别方法的流程示意图;
[0063]
图3是本发明实施例基于伪场景一致性学习的持续行人重识别训练过程原理图;
[0064]
图4是本发明实施例基于特征相似度矩阵的伪任务知识蒸馏学习的示意图;
[0065]
图5(a)是本发明实施例基于三元组损失函数的域内身份辨别性学习的流程图;
[0066]
图5(b)是本发明实施例基于三元组损失函数的域间身份辨别性学习的流程图;
[0067]
图6本发明实施例提供的基于一致性学习的跨场景持续学习的行人再识别系统的结构示意图;
[0068]
图7是本发明实施例电子设备的结构示意图。
具体实施方式
[0069]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术中的实施例及附图,对本发明的技术方案进行清楚、完整地描述,应当理解,附图仅用于示例性说明,不能理解为对本专利的限制。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0070]
在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
[0071]
行人重识别(person re-identification缩写reid)是利用计算机视觉技术自动化识别图像或者视频序列中是否存在特定行人的技术,它与人脸识别、指纹识别等需要对象主动配合的身份识别技术不同,可以对不同摄像头拍摄到的姿态、拍摄角度、光照等条件差异较大的行人图像/视频进行检测识别,已经广泛应用于智能视频监控和智慧安防等领域。本发明主要解决的问题是行人重识别技术中在跨场景持续学习时的灾难性遗忘的问题,即行人重识别模型在学习了新场景的数据后在旧场景识别准确率显著下降的问题。
[0072]
如图1所示,为目前行人重识别部署时的推理流程:利用监控摄像头采集视频数据,使用faster r-cnn等行人检测算法进行检测,确定行人在视频中出现的空间和时间位置,并对视频进行抽帧采样和行人图像截取。然后,将行人图像通过特征提取网络进行得到行人特征向量,将查询行人特征向量和行人特征数据库的已知身份的行人特征进行相似度比较后排序,如果查询行人的特征与数据库中与之相似度最高的特征的相似度高于一定的阈值,则将此查询行人的身份判定为对应的已知身份,否则则判定为未知身份。
[0073]
如图2所示,本实施例基于一致性学习的跨场景持续学习的行人再识别方法,具体包括下述步骤:
[0074]
s1、将旧场景数据和新场景数据混合,随机抽样后分批次依次并行输入预先设立的旧场景模型和新场景模型,同时得到每一个批次的数据的原始特征。
[0075]
所述旧场景模型是指:只使用了旧场景下采集的数据训练的模型,加入新场景数据后,旧场景模型参数不会改变。
[0076]
所述新模型场景是指:使用旧场景模型的参数进行初始化,然后加入了新场景下采集的数据进行训练的模型。所述原始特征包括:(1)旧场景下采集到的数据经过深度卷积神经网络提取的图像特征;(2)新场景下采集到的数据经过深度卷积神经网络提取的图像特征。
[0077]
s2、将原始特征输入伪任务数据转换模块,分别得到每一个原始特征经过场景风格转换后对应的旧场景特征和新场景特征;所述伪任务数据转换模块是将一个来自于场景(s)的行人图像变换到场景(t)的分布下,而身份保持不变,从而得到同一个行人在不同的场景下的风格的训练数据。
[0078]
由于在增量学习的情景下,大部分模型学习过的过往数据集中的样本没有被保存下来,模型很难直接在学习新任务的时候直接去学习旧数据集的分布。为了提供更接近于旧数据集中原始分布的训练数据,本实施例采用一种伪任务数据转换模块来对一部分新采集到的样本进行风格转换,使得这些样本的分布更接近于旧任务,从而达到让模型同时学习新旧数据集的特征分布的效果。
[0079]
进一步的,在模型学习每一个数据集的时候,会训练针对每个任务独享批归一化层(task-specific batch normalization layer,简称tsbn),批归一化层将通过滑动平均的方式统计均值和方差以及用反向传播算法更新可学习的缩放系数γ和偏移系数β,将神经网络模型的每一层的所有通道的输出映射到一个高斯分布中。由于每一个数据集(场景)下的样本特征分布是不一致的,所以针对每个任务的批归一化层的学习到的统计量也是不一样的。所述批归一化层的参数反映了一个数据集的样本在各个特征通道上的整体分布特征。
[0080]
一般来说,在模型的推理阶段,如果一个测试样本来自a数据集,那么我们会采用
在a数据集上学习到的批归一化层来对测试样本x的特征进行归一化。而在伪任务数据转换模块中,我们采用a数据集以外的其他数据集上学习到的批归一化层对这个样本进行特征归一化。这样做的目的是我们假设这个样本来自其他的数据集,通过这样的方式来对这个样本进行归一化变换,从而达到一种隐式数据增强的作用。
[0081]
上述步骤s2中,所述伪任务数据转换模块进行数据转换时,具体流程如下:
[0082]
对于每一个场景下采集的数据集,每个卷积核对应的批归一化层中的每一个特征通道都会有两个统计统计量,均值μ
(s)
和方差σ
(s)
,计算公式如下:
[0083][0084]
对于来自某个场景(s)下的编号为i的样本特征f
i(s)
,使用另一个场景(t)的任务独享批归一化的统计量将其转换到场景(t)下的风格,得到转换后特征f
i(s,t)
,如以下公式所示:
[0085][0086]
其中,γ和β分别代表批归一化层的缩放系数和偏移系数,μ
(t)
和σ
(t)
分别代表场景(t)的任务独享批归一化层的均值统计量和方差统计量。其中,在学习不同的场景时,不同批归一化层使用共享的缩放系数γ和偏移系数β来保持跨域学习中的连续性。实验证明这样训练得到的模型比使用任务独享的缩放系数γ和偏移系数β参数性能更加稳定。通过伪场景数据转换,可以将一个来自于场景(s)的行人图像变换到场景(t)的分布下,而身份保持不变,从而得到同一个行人在不同的场景下的风格的训练数据,有助于我们的模型学习具有跨场景泛化性的特征。
[0087]
s3、在旧场景特征上计算域内和域间跨场景一致性损失函数,进行伪任务身份辨别性学习;所述跨场景一致性损失函数用于最小化同一个输入样本在不同的伪任务特征变换下不一致性。
[0088]
跨场景一致性学习(domain consistency learning,简称dcl)。基于上一步骤中产生的伪任务数据样本,希望同一个样本(行人)在不同的数据域特征变换中具有一致性,从而减少模型在不同场景下进行特征提取的差异性。为了解决这个问题,本实施例提出了一种跨场景一致性损失函数来最小化同一个输入样本在不同的伪任务特征变换下不一致性,使得模型在持续学习的过程中学习的特征能够对不同特定任务的特征变换更加鲁棒。
[0089]
进一步的,所述跨场景一致性损失函数的表达式如下:
[0090][0091]
其中d是余弦距离度量函数,f
i(s)
是来自场景(s)的编号为i的原始样本特征,n代表训练一个小批次的样本量,pi代表数据集中和当前所选样本身份标签相同的图像集合,s代表当前已经学习过的场景数量。stop-grad代表梯度停止回传标志。该损失函数的作用是使得所有身份标签和当前样本相同的样本(包括当前样本本身)经过伪任务数据转换模块
得到的特征和原始特征f
i(s)
尽可能接近;使用梯度停止模块stop_grad来防止模型在学习新的数据时更新旧的批归一化层的参数,并通过更新网络卷积层参数的方式来使得特征适应新的场景。
[0092]
在此同时,通过对伪任务数据转换后的样本进行跨场景一致性学习,使得网络提取的特征对不同场景下的变换具有不变性,从而提高模型在跨场景下的泛化性能,使得模型在学习了新的场景后,仍然具有在旧场景下较高的识别准确度。
[0093]
s4、计算旧场景特征样本和新场景特征样本的两两相似度,进行伪任务知识蒸馏。
[0094]
伪任务知识蒸馏学习(pseduo task knowledge distillation,简称pt-kd)。在旧样本储存量有限的持续学习下,由于不同场景下数据分布的固有差异,网络模型对旧知识具有一定的遗忘性是难以避免的。为了减轻网络模型在学习了新场景下的知识后在旧场景下的性能下降,提出了一种基于相似度来进行知识蒸馏的方法。知识蒸馏是一种教师-学生形式的模型训练范式,在持续学习的过程中,把在旧场景下训练好的模型作为教师模型,把在新场景下微调训练的模型作为学生模型,在模型学习新知识的同时,模仿教师模型的输出,从而保持对旧场景的识别能力。典型的知识蒸馏训练是基于分类器完成的,在行人再识别任务中,由于不同场景的行人身份(即图像的类别)完全不一样,因为分类器对应的类别也是不一致的,因此我们很难基于分类器的输出直接进行知识蒸馏。为了解决这个问题,本实施例在训练过程中的每一个小批次内,使用特征提取网络经过全局池化后的高维特征向量作为样本特征,计算小批次内所有样本的两两相似度,得到相似度矩阵,并以这个矩阵和学生模型的输出的相似度的矩阵的差值作为优化目标,使得学生模型提取的相似度矩阵信息接近于教师模型,从而保留在旧场景里的辨别能力。
[0095]
进一步的,计算相似度矩阵m的具体计算公式如下:
[0096]
m=[f1,f2,

,fn]
t
[f1,f2,

,fn]∈rd×n[0097]
上式中的m是一个样本量为n、特征通道数为d的小批次样本的特征相似度矩阵,f1,f2,

,fn分别是编号从1到n的样本特征,t代表矩阵的转置操作;
[0098]
在使用新场景(s)的数据进行训练时,伪任务知识蒸馏学习的表达式为:
[0099][0100]
其中m
(s-1,i)
在前(s-1)个场景中训练的模型经过任务数据转换模块后得到的特征计算的相似度矩阵,m
(s,j)
在前(s)个场景中训练的模型经过任务数据转换模块后得到的特征计算的相似度矩阵。s是目前已经学习过的场景的数量。
[0101]
进一步的,在进行行人图像检索时,会计算希望模型学习到的特征能是具有判别性的,即计算特征相似度时,相同身份的行人图像相似度较高,不同身份的行人图像相似度较低。一个在某个特定场景下采集和标注的数据训练好的模型具有在该场景下较强的辨别能力,因此使用这个模型提取的该场景下的样本相似度信息是我们希望保留的。本技术希望在新的场景下更新迭代模型的同时,可以同时保留模型在旧场景下的的判别能力,因此提出了一种基于样本相似度的知识蒸馏方法。旧数据采用随机反转、随机擦除、随机色相扰动等常用图像数据增广方法来进行数据量扩充,新数据采用上述提到的批归一化层变换实现数据变换,如图4所示。
[0102]
s5、把新场景特征输入新场景的分类器后计算交叉熵损失函数,进行身份辨别性学习。
[0103]
伪任务身份辨别性学习(pseudo task identity discriminative learning,简称pt-id)。为了增强行人重识别模型在不同场景下的跨域泛化能力,本实施例结合了伪场景数据转换模块,对行人重识别模型训练中常用的三元组损失函数的样本三元组构造方式进行了改进,我们称作域间身份辨别性学习。
[0104]
传统的三元组损失函数:(域内身份辨别性学习)。本实申请希望身份不同的样本对的特征距离大于身份相同的样本对的特征距离,三元组损失函数的优化目标是使得身份不同的样本对(即锚样本和负样本)的特征距离和身份相同的样本对(即锚样本和正样本)的特征距离的差要大于一个阈值,来提高模型对行人数据集中的身份辨别能力。通常对于传统的三元组损失函数,每一个样本三元组中的所有样本(包括锚样本、正样本和负样本)都是从同一个数据集中采样的,称为域内身份辨别性学习,如图5(a)所示,如以下公式:
[0105][0106]
其中分别是锚样本、正样本和负样本的特征,n代表训练一个小批次的样本量,s代表当前已经学习过的场景数量,d是余弦距离度量函数,m是三元组损失函数的阈值。
[0107]
利用伪场景数据转换模块对三元组损失函数进行改进,在构造一个样本三元组时,先在数据集a内随机采样一个样本作为锚样本,然后根据锚样本的标签分别采样一个正样本(标签和锚样本相同的样本)和负样本(标签和锚样本不同的样本),并使用伪场景数据转换模块分别对正样本和负样本进行转换,使得正样本和负样本看起来更像是从另一个场景下采集到的和锚样本身份相同和不同的样本,以此来构造跨域的样本三元组,并使用三元组损失函数训练模型,提高模型的跨域泛化能力,把这种优化目称作域间身份辨别性学习,如图5(b)所示,如以下公式
[0108][0109]
其中f
i(s)
是锚样本的原始、是正样本和负样本经过数据转换模块后得到的特征,n代表训练一个小批次的样本量,s代表当前已经学习过的场景数量,d是余弦距离度量函数,m是三元组损失函数的阈值。
[0110]
伪任务身份辨别性学习则是由上述的域内身份辨别性学习和域间身份辨别性学习共同组成,具体公式如下:
[0111]
l
pt-id
=l
intra-pt-id
l
inter-pt-id
[0112]
s6、计算每一个样本对应的旧场景特征和新场景特征距离,进行跨场景一致性学习。
[0113]
基于上述处理过程,本实施例的总体优化目标由四个部分组成:交叉熵损失函数、跨场景一致性损失函数、伪场景知识蒸馏损失函数和跨场景身份辨别性学习(三元组损失
函数)。他们的作用分别是:(1)交叉熵损失函数:提高模型利用特征进行分类的能力。(2)跨场景一致性损失函数:提高模型的特征在不同场景的变换下的一致性。(3)伪场景知识蒸馏:减少模型对旧场景下辨别性特征的知识遗忘。(4)伪任务身份辨别性学习:提高模型的跨场景泛化能力。
[0114]
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
[0115]
基于与上述实施例中的基于一致性学习的跨场景持续学习的行人再识别方法相同的思想,本发明还提供了基于一致性学习的跨场景持续学习的行人再识别系统,该系统可用于执行上述基于一致性学习的跨场景持续学习的行人再识别方法。为了便于说明,基于一致性学习的跨场景持续学习的行人再识别系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0116]
如图6所示,在本技术的另一个实施例中,提供了一种基于一致性学习的跨场景持续学习的行人再识别系统100,包括数据混合模块101、伪任务数据转换模块102、伪任务身份辨别性学习模块103、伪任务知识蒸馏模块104、身份辨别性学习模块105以及一致性学习模块106。
[0117]
所述数据混合模块101,用于将旧场景数据和新场景数据混合,随机抽样后分批次依次并行输入预先设立的旧场景模型和新场景模型,同时得到每一个批次的数据的原始特征;
[0118]
所述伪任务数据转换模块102,用于分别得到每一个原始特征经过场景风格转换后对应的旧场景特征和新场景特征;所述伪任务数据转换模块是将一个来自于场景(s)的行人图像变换到场景(t)的分布下,而身份保持不变,从而得到同一个行人在不同的场景下的风格的训练数据;
[0119]
所述伪任务身份辨别性学习模块103,用于在旧场景特征上计算域内和域间跨场景一致性损失函数,进行伪任务身份辨别性学习;所述跨场景一致性损失函数用于最小化同一个输入样本在不同的伪任务特征变换下不一致性;
[0120]
所述伪任务知识蒸馏模块104,用于计算旧场景特征样本和新场景特征样本的两两相似度,进行伪任务知识蒸馏;
[0121]
所述身份辨别性学习模块105,用于把新场景特征输入新场景的分类器后计算交叉熵损失函数,进行身份辨别性学习;
[0122]
所述一致性学习模块106,用于计算每一个样本对应的旧场景特征和新场景特征距离,进行跨场景一致性学习。
[0123]
需要说明的是,本发明的基于一致性学习的跨场景持续学习的行人再识别系统与本发明的基于一致性学习的跨场景持续学习的行人再识别方法一一对应,在上述基于一致性学习的跨场景持续学习的行人再识别方法的实施例阐述的技术特征及其有益效果均适用于基于一致性学习的跨场景持续学习的行人再识别的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
[0124]
此外,上述实施例的基于一致性学习的跨场景持续学习的行人再识别系统的实施
方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述基于一致性学习的跨场景持续学习的行人再识别系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
[0125]
如图7所示,在一个实施例中,提供了一种实现基于一致性学习的跨场景持续学习的行人再识别方法的电子设备,所述电子设备200可以包括第一处理器201、第一存储器202和总线,还可以包括存储在所述第一存储器202中并可在所述第一处理器201上运行的计算机程序,如行人再识别程序203。
[0126]
其中,所述第一存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器202在一些实施例中可以是电子设备200的内部存储单元,例如该电子设备200的移动硬盘。所述第一存储器202在另一些实施例中也可以是电子设备200的外部存储设备,例如电子设备200上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(securedigital,sd)卡、闪存卡(flash card)等。进一步地,所述第一存储器202还可以既包括电子设备200的内部存储单元也包括外部存储设备。所述第一存储器202不仅可以用于存储安装于电子设备200的应用软件及各类数据,例如行人再识别程序203的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0127]
所述第一处理器201在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器201是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器202内的程序或者模块(例如联邦学习防御程序等),以及调用存储在所述第一存储器202内的数据,以执行电子设备200的各种功能和处理数据。
[0128]
图7仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对所述电子设备200的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0129]
所述电子设备200中的所述第一存储器202存储的行人再识别程序203是多个指令的组合,在所述第一处理器201中运行时,可以实现:
[0130]
将旧场景数据和新场景数据混合,随机抽样后分批次依次并行输入预先设立的旧场景模型和新场景模型,同时得到每一个批次的数据的原始特征;
[0131]
将原始特征输入伪任务数据转换模块,分别得到每一个原始特征经过场景风格转换后对应的旧场景特征和新场景特征;所述伪任务数据转换模块是将一个来自于场景(s)的行人图像变换到场景(t)的分布下,而身份保持不变,从而得到同一个行人在不同的场景下的风格的训练数据;
[0132]
在旧场景特征上计算域内和域间跨场景一致性损失函数,进行伪任务身份辨别性学习;所述跨场景一致性损失函数用于最小化同一个输入样本在不同的伪任务特征变换下不一致性;
[0133]
计算旧场景特征样本和新场景特征样本的两两相似度,进行伪任务知识蒸馏;
[0134]
把新场景特征输入新场景的分类器后计算交叉熵损失函数,进行身份辨别性学习;
[0135]
计算每一个样本对应的旧场景特征和新场景特征距离,进行跨场景一致性学习。
[0136]
进一步地,所述电子设备200集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
[0137]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0138]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0139]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献