一种行人重识别方法、装置、电子设备和可读存储介质与流程

文档序号:23654436发布日期:2021-01-15 13:51阅读:64来源:国知局
一种行人重识别方法、装置、电子设备和可读存储介质与流程

本发明属于图像处理领域,更具体地,涉及一种行人重识别方法、装置、电子设备和可读存储介质。



背景技术:

行人重识别是自动视频监控中的一项基本任务,其目的是完成不同摄像机下,同一个行人表观结果的匹配。通过获取一个行人在一个摄像机中的图像,模型生成对应的特征向量,用于与另一个摄像机视图或者不同时间点观察到的图像的特征向量进行比较。目的在于通过匹配图像,确定一个人过去或现在的位置。

实际的行人重识别研究工作中主要有两部分组成:特征提取(行人的外观特征表示)和距离度量(行人间的相似性比较)。在学习行人表观特征的过程中,需要带标注的数据集。但是因为场景的复杂性,如遮挡,光线和相机的差异,如视角,分辨率等的差异。在数据集上学习的表观特征,会因待部署的现实场景的差异而失效。这一现象被称为领域差异问题。获取大量的监控视频是轻而易举的,但是繁琐的数据标注工作限制了行人重识别模型在新场景的运用。

基于领域适应的方法能够将源域(带标签的数据集)的知识拓展到目标域(待部署场景)。虽然现有方法也从减小领域差异的角度着手,但普遍都过于重视源域知识而忽视了目标域的信息。即便有的方法考虑到目标域信息,但是对该信息的挖掘不够深入,或者引入大量的噪声,从而无法取得良好的识别效果。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种行人重识别方法、装置、电子设备和可读存储介质,其目的在于,不仅能够省去了繁琐的数据标注工作,而且能够提取更加鲁棒和更具判别性的特征,提高识别的准确率。

为实现上述目的,按照本发明的一个方面,提供了一种行人重识别方法,包括:

s1:初始化原始网络模型的网络参数得到更新网络模型,所述更新网络模型包括特征分布对齐模块、聚类模块和噪声标签校正模块;

s2:利用源域样本和目标域样本对所述特征分布对齐模块进行训练得到对齐网络模型,所述特征分布对齐模块包含存储单元、感知器网络、交叉熵损失lce、对比损失lcl、领域混淆损失lg和ld;

s3:基于所述对齐网络模型,利用所述目标域样本对所述聚类模块进行训练,得到聚类结果及各个所述聚类结果对应的噪声标签;

s4:基于所述更新网络模型,利用所述目标域样本和各个所述噪声标签对所述噪声标签校正模块进行训练,得到目标网络模型,所述目标网络模型携带所述噪声标签校正后对应的校正标签;

s5:利用所述目标网络模型对待查询图像进行行人重识别。

在其中一个实施例中,所述步骤s2包括:

s201:将源域数据集中的图片和目标域数据集中的图片进行格式调整分别得到所述源域样本和所述目标域样本;

s202:利用所述源域样本和所述目标域样本对所述特征分布对齐模块进行训练,所述特征分布对齐模块包含存储单元和感知器网络;所述存储单元为尺寸为nt×d的内存空间,用于存储所述目标域样本的特征;nt为所述目标域样本个数,d为所述目标域样本对应的特征向量的维度;所述感知器网络为多层全连接层的神经网络;

s203:在训练过程中,分别计算所述交叉熵损失lce、所述对比损失lcl、所述领域混淆损失lg和ld,训练完成后得到所述对齐网络模型。

在其中一个实施例中,所述步骤s203包括:

s2031:提取所述源域样本的特征并计算所述分类交叉熵损失lce,

fis∈rd表示第i个源域样本的特征向量,d为fi的维度,xi属于第个类别的行人,表示分类层第j列的权重,表示xi样本对应的权重,bj表示第j列的偏执参数,表示xi样本对应的偏执参数,ns和ms分别表示源域的样本个数和类别数目;

s2032:提取所述目标域样本中的特征并计算所述对比损失lcl;

fit表示第i个目标域样本的特征向量,d为fi的维度,表示第j个目标域样本的数据增强变体图像的特征向量,τ表示温度因子,用来平衡分布规模;sij表示余弦相似度,用于衡量样本的相似程度,nt表示目标域样本的个数;

s2033:控制所述感知器网络的参数固定,使用所述领域混淆损失训练所述更新网络模型;控制所述更新网络模型对应的主干网络参数固定,使用领域混淆损失训练所述感知器判别网络,训练完成后得到所述对齐网络模型;其中,lg=ex~t[(d(fs)-1)2],ld=ex~s[(d(fs)-1)2]+ex~t[(d(ft))2],fs和ft分别表示所述源域样本的特征和所述目标域样本的特征,d表示感知器网络,e表示计算期望。

在其中一个实施例中,所述步骤s3包括:

s301:提取所述目标域样本对应的均值池化层的特征,利用聚类算法将所述目标域样本分成若干个集群,每个集群的样本分配相同的初始伪标签;

s302:利用基于所述初始伪标签的三元组损失ltrip对所述噪声标签校正模块进行训练,得到所述聚类结果和各个所述聚类结果对应的噪声标签;

其中,fia,fip,fin分别为固定样本、正样本、负样本的特征,p×k个样本中,p表示每个批量中随机选取的类别数,k表示每个类别随机选择的样本数,||·||2表示欧几里得距离,m为距离阈值。

在其中一个实施例中,所述样本噪声校正模块包含交叉熵损失lcen、kl散度损失lkl、正则化损失lc、熵损失le、交叉熵损失lcec和三元组损失ltripc,所述步骤s4包括:

s401:基于所述更新网络模型通过噪声标签训练分类所述交叉熵损失lcen;

s402:利用所述kl散度损失lkl、所述正则化损失lc和所述熵损失le获取所述目标域样本的校正伪标签;

s403:利用所述校正伪标签、所述交叉熵损失lcec和所述三元组损失ltripc训练所述更新网络模型得到所述目标网络模型,并获取所述噪声标签校正后对应的校正标签。

在其中一个实施例中,所述步骤s402包括:

s4021、利用kl散度损失lkl使所述更新网络模型输出所述校正伪标签;

s4022、利用所述正则化损失lc降低所述校正伪标签的错误概率,为概率标签;

s4023、利用所述熵损失le维持所述更新网络模型的判别能力;其中,

z为分类器的输出结果,zij代表分类器认为样本i属于第j类的概率;c为聚类模块获得的集群数目,为概率软标签;为标签认为样本i属于第j类的概率,概率和为1;nt是目标域样本个数。

在其中一个实施例中,所述步骤s1包括:

s101:获取初始时刻的动量v0和所述初始时刻的网络参数θ0;

s102:利用公式vt=γvt-1+ηgt和θt=θt-1-vt-1获取当前时刻对应的网络更新参数θt;其中,vt表示所述当前时刻的动量,由上一时刻的动量vt-1和所述当前时刻的损失函数梯度gt共同决定,γ表示上一时刻的动量vt-1对当前时刻的动量vt的影响程度,η表示学习率;

s103:利用所述当前时刻的网络更新参数初始化所述原始网络模型得到所述更新网络模型。

按照本发明的另一方面,提供了一种行人重识别装置,包括:

更新模块,用于初始化原始网络模型的网络参数得到更新网络模型,所述更新网络模型包括特征分布对齐模块、聚类模块和噪声标签校正模块;

第一训练模块,用于利用源域样本和目标域样本对所述特征分布对齐模块进行训练得到对齐网络模型,所述特征分布对齐模块包含存储单元、感知器网络、交叉熵损失lce、对比损失lcl、领域混淆损失lg和ld;

第二训练模块,用于基于所述对齐网络模型,利用所述目标域样本对所述聚类模块进行训练,得到聚类结果及各个所述聚类结果对应的噪声标签;

第三训练模块,用于基于所述更新网络模型,利用所述目标域样本和各个所述噪声标签对所述噪声标签校正模块进行训练,得到目标网络模型,所述目标网络模型携带所述噪声标签校正后对应的校正标签;

识别模块,用于利用所述目标网络模型对待查询图像进行行人重识别。

按照本发明的另一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。

按照本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列如下有益效果:

(1)本发明在更新网络模型中引入了特征分布对齐模块,聚类模块和标签噪声校正模块。经过特征层次对齐、迭代聚类的步骤能够提升噪声标签的准确性,进一步地通过噪声校正过程提升噪声标签的精度,能够解决行人重识别系统在部署到新场景时,因为领域差异问题和缺乏有指导力的标签进行指导而性能急剧下降的问题。另外,本申请避免了人为的对数据集进行标记的冗余操作,降低人力成本。

(2)为了获得识别准确性较好的目标网络模型。本申请提出的特征分布对齐模块,通过领域适应兼顾源域样本和目标域样本,在学习源域知识,减小领域差异。特征分布对齐后,同一个行人的特征分布会更加集中,不同行人的特征分布会更加分散,训练得到的目标网络模型够提取出区分目标域样本的判别力更强的特征。

(3)本发明提出的聚类模块,采用基于密度的聚类算法对目标域样本特征进行聚类。利用聚类获得的伪标签指导模型训练。不断重复这个过程,聚类过程能够不断获得更加准确的聚类结果。而伪标签的训练指导能够维持模型的判别力,防止目标网络模型崩溃。

(4)为了更进一步的提高聚类模块获得的伪标签的准确度,本发明提出的标签噪声校正模块,将网络参数训练和噪声标签校正过程在同一个框架中完成,当其中一个在训练时,另一个固定不变。最终噪声标签能够得到校正。以一种自动的方式而不是人为手动标注的方式获得了较为准确的校正标签。

附图说明

图1为本发明一实施例提供的行人重识别方法的流程图;

图2为本发明一实施例提供的行人重识别方法的流程示意图;

图3为本发明一实施例提供的更新网络模型的结构图;

图4为本发明一实施例提供的感知器网络的结构图;

图5为本发明一实施例提供的行人重识别装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本申请提供了一种行人重识别方法,如图1所示,行人重识别方法包括:步骤s1至步骤s5。

s1:初始化原始网络模型的网络参数得到更新网络模型,如图2所示,更新网络模型包括特征分布对齐模块、聚类模块和噪声标签校正模块;

具体的,本申请的原始网络模型可以是resnet50网络,用预训练的resnet50网络参数初始化,以market1501数据集对应的图片作为源域样本,待部署场景下的行人图片作为源域样本。预训练完成后的更新网络模型携带特征分布对齐模块、聚类模块和标签噪声校正模块。依次训练特征分布对齐模块、聚类模块和标签噪声校正模块,完成训练后得到的目标网络模型能够提取出有效的行人表征特征,用于行人重识别。

在其中一个实施例中,步骤s1包括:s101:获取初始时刻的动量v0和初始时刻的网络参数θ0;s102:利用公式vt=γvt-1+ηgt和θt=θt-1-vt-1获取当前时刻对应的网络更新参数θt;其中,vt表示当前时刻的动量,由上一时刻的动量vt-1和当前时刻的损失函数梯度gt共同决定,γ表示上一时刻的动量vt-1对当前时刻的动量vt的影响程度,η表示学习率;s103:利用当前时刻的网络更新参数初始化原始网络模型得到更新网络模型。

具体的,使用imagenet预训练模型初始化原始网络模型的网络参数。训练过程采用带动量的sgd算法,并更新原始网络模型的网络参数,动量sgd算法公式为:vt=γvt-1+ηgt和θt=θt-1-vt-1。预训练得到的更新网络模型具有较好的特征提取能力。

s2:利用源域样本和目标域样本对特征分布对齐模块进行训练得到对齐网络模型,特征分布对齐模块包含存储单元、感知器网络、交叉熵损失lce、对比损失lcl、领域混淆损失lg和ld。

在其中一个实施例中,步骤s2包括:s201:将源域数据集中的图片和目标域数据集中的图片进行格式调整分别得到源域样本和目标域样本;s202:利用源域样本和目标域样本对特征分布对齐模块进行训练,特征分布对齐模块包含存储单元和感知器网络;存储单元为尺寸为nt×d的内存空间,用于存储目标域样本的特征;nt为目标域样本个数,d为目标域样本对应的特征向量的维度;感知器网络为多层全连接层的神经网络;s203:在训练过程中,分别计算交叉熵损失lce、对比损失lcl、领域混淆损失lg和ld,训练完成后得到对齐网络模型。

具体的,将源域样本和目标域样本转换成预设尺寸的图片,如256*128;然后采用水平翻转,随机裁剪和随机擦除等方法扩充增强数据。扩充增强数据的方法可以是:产生一个0~1之间的随机数,如果该随机数大于设置的概率,则对图片进行翻转、裁剪和擦除操作。水平翻转是将图像以中轴线翻转、裁剪操作首先将图像放大,然后在扩展的图像中裁剪出一个和原图大小相同的图像,新生成的图像数据和原始图像数据具有相同的标签(身份)。最终能够分别得到源域样本的变体图像和目标域样本的变体图像。

如图3所示,对于源域样本对应的变体图像,提取全连接层2的特征。通过softmax分类器计算分类交叉熵损失。对于目标域样本对应的变体图像,提取均值池化的特征,并存储在存储单元中,后续计算均从存储单元中提取,能够减少训练时冗余的特征计算过程。在训练过程中,存储单元中存储的特征通过滑动平均的方式进行更新,并计算对比损失。进一步地,提取源域样本和目标域样本的均值池化层的特征,输入到图4所示的感知器网络中,交替的训练更新网络模型的主干网络和感知器网络。在训练更新网络模型的主干网络时,感知器网络的参数固定,使用领域混淆损失lg进行训练;在训练感知器网络时,更新网络模型的主干网络参数固定,使用领域混淆损失ld进行训练。

在其中一个实施例中,步骤s203包括:s2031:提取源域样本的特征并计算分类交叉熵损失lee,fis∈rd表示第i个源域样本的特征向量,d为fi的维度,xi属于第个类别的行人,表示分类层第j列的权重,表示xi样本对应的权重,bj表示第j列的偏执参数,表示xi样本对应的偏执参数,ns和ms分别表示源域的样本个数和类别数目。s2032:提取目标域样本中的特征并计算对比损失lcl;fit表示第i个目标域样本的特征向量,d为fi的维度,表示第j个目标域样本的数据增强变体图伤的特征向量,τ表示温度因子,用来平衡分布规模;sij表示余弦相似度,用于衡量样本的相似程度,nt表示目标域样本的个数。s2033:在训练更新网络模型的主干网络时,感知器网络的参数固定,使用领域混淆损失lg进行训练;在训练感知器网络时,更新网络模型的主干网络参数固定,使用领域混淆损失ld进行训练。lg和ld的计算公式lg=ex~t[(d(fs)-1)2],ld=ex~s[(d(fs)-1)2]+ex~t[(d(ft))2],fs和ft分别表示源域样本的特征和目标域样本的特征,d表示感知器网络,e表示计算期望。

s3:基于对齐网络模型,利用目标域样本对聚类模块进行训练,得到聚类结果及各个聚类结果对应的噪声标签。

具体的,提取目标样本的均值池化层的特征,通过dbscan聚类算法将样本分成若干个集群,每个集群的样本被视为身份相同,被分配相同的标签。此标签称为初始伪标签。获得初始伪标签后,使用三元组损失ltrip训练聚类模块,不断充分上述的聚类获得初始伪标签和基于初始伪标签的三元组损失训练步骤,最终获得较为准确的校正伪标签。

在其中一个实施例中,步骤s3包括:s301:提取目标域样本对应的均值池化层的特征,利用聚类算法将目标域样本分成若干个集群,每个集群的样本分配相同的初始伪标签;s302:利用基于初始伪标签的三元组损失ltrip对噪声标签校正模块进行训练,得到聚类结果和各个聚类结果对应的噪声标签;

其中,fia,fip,fin分别为固定样本、正样本、负样本的特征,正样本为聚类算法判别的和固定样本属于同一类的样本。负样本为聚算法判别的和固定样本不属于同一类的样本。p×k个样本中,p表示每个批量中随机选取的类别数,k表示每个类别随机选择的样本数,||·||2表示欧几里得距离,m为距离阈值,用于约束正样本对距离比负样本对距离小一个距离阈值的量。

s4:基于更新网络模型,利用目标域样本和各个噪声标签对噪声标签校正模块进行训练,得到目标网络模型,目标网络模型携带噪声标签校正后对应的校正标签。

在其中一个实施例中,样本噪声校正模块包含交叉熵损失lcen、kl散度损失lkl、正则化损失lc、熵损失le、交叉熵损失lcec和三元组损失ltripc,步骤s4包括:s401:基于更新网络模型通过噪声标签训练分类交叉熵损失lcen;s402:利用kl散度损失lkl、正则化损失lc和熵损失le获取目标域样本的校正伪标签;s403:利用校正伪标签、交叉熵损失lcec和三元组损失ltripc训练更新网络模型得到目标网络模型,并获取噪声标签校正后对应的校正标签。

具体的,重新使用imagenet预训练模型初始化原始网络模型得到的更新网络模型进行训练。训练标签噪声校正模块,进一步的提高校正伪标签准确度得到校正标签。在校正后标签的指导下学习行人重识别网络。该步骤可细分为3个阶段。

在第一阶段,更新网络模型通过获得的噪声伪标签训练分类交叉熵损失lcen:

在第二阶段,更新网络模型自身输出校正标签,具体涉及,kl散度损失lkl、正则化损失lc和熵损失le,kl散度损失通过网络输出校正标签,正则化损失lc用于减少将原本正确标签校正错误的可能性;熵损失lc用于维持网络的判别能力。

在第三阶段,通过第二阶段校正后的更加干净的校正标签训练得到用于行人重识别的目标网络模型,涉及交叉熵损失lcec和三元组损失ltripc。三元组损失ltripc将原始的噪声标签替换校正标签。其中,校正标签和概率标签一样,为概率分布,但是峰值的位置和峰值的值可能不一致。校正标签是带有噪声的概率标签优化后的标签。

在其中一个实施例中,步骤s402包括:s4021、利用kl散度损失lkl使更新网络模型输出校正伪标签;s4022、利用正则化损失lc降低校正伪标签的错误概率,为概率标签;s4023、利用熵损失le维持更新网络模型的判别能力;其中,

z为分类器的输出结果,zij代表分类器认为样本i属于第j类的概率;c为聚类模块获得的集群数目,为概率软标签;为标签认为样本i属于第j类的概率,概率和为1;nt是目标域样本个数。

s5:利用目标网络模型对待查询图像进行行人重识别。

具体的,利用训练得到的目标网络模型,提取待查询图像的特征和图库图像的特征,计算图库中图像与待查询图像的距离,距离最近的即为与待查询图像相同的目标。距离计算采用欧式距离计算公式:

distance=||q-p||2

其中,q和p表示两个图像的特征。

如图5所示,本发明还提供了一种行人重识别装置,包括:更新模块、第一训练模块、第二训练模块、第三训练模块和识别模块。

更新模块,用于初始化原始网络模型的网络参数得到更新网络模型,更新网络模型包括特征分布对齐模块、聚类模块和噪声标签校正模块;

第一训练模块,用于利用源域样本和目标域样本对特征分布对齐模块进行训练得到对齐网络模型,特征分布对齐模块包含存储单元、感知器网络、交叉熵损失lce、对比损失lcl、领域混淆损失lg和ld;

第二训练模块,用于基于对齐网络模型,利用目标域样本对聚类模块进行训练,得到聚类结果及各个聚类结果对应的噪声标签;

第三训练模块,用于基于更新网络模型,利用目标域样本和各个噪声标签对噪声标签校正模块进行训练,得到目标网络模型,目标网络模型携带噪声标签校正后对应的校正标签;

识别模块,用于利用目标网络模型对待查询图像进行行人重识别。

按照本发明的另一方面,提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的方法的步骤。

按照本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1