一种基于单样本的半监督行人重识别方法研究
2022-11-22蔡欢欢李晓伟
蔡欢欢,王 超,李晓伟
(济宁职业技术学院实训中心 山东 济宁 272103)
0 引言
行人重识别的目的是在从不同摄像机拍摄的视频中检索相同身份行人的图像,具有重要的实际应用价值[1]。监督学习的行人重识别方法由于需要标注全部样本会耗费大量的人力成本,因此,出现了一些无监督学习的行人重识别方法[2-3]以及半监督行人重识别方法[4]。本文研究基于单样本半监督行人重识别研究,即每个身份的行人只标注一个样本[5]。基于单样本半监督行人重识别任务由于标注信息少,因此提取有区分力的特征十分关键。基于单样本研究设计了网络结构,但未充分考虑提取细节特征,考虑到提取了有细节特征,但是仅合适有监督学习。因此本文基于单样本的半监督行人重识别任务,设计了多分支网络结构,多分支网络由分支网络和聚合模块组成。多分支网络包括全局分支、水平切块分支、部件分割分支。全局分支用于提取全局特征,关注身体躯干;水平切块分支表示来自整体身体的水平切块的局部信息,没有任何语义信息,用于提取细节特征;部件分割分支用于部件分割约束,有利于行人样本实现部件对齐,减小由于姿势改变导致行人部件不对齐的问题。这是因为全局特征只能捕捉躯干特征,忽略细节信息,而两个局部分支提取细节信息,对全局特征进行补充。而部件分割约束过滤了与部件不相关信息的干扰,帮助水平切块分支提取到的信息更具有鲁棒性,因此两个局部分支相互补充有利于减少姿势不对齐带来的干扰,提取到更好的细节信息。聚合模块将全部分支的损失、水平切块分支、部件分割分支的损失融合,在训练过程中通过不断减小融合后的损失,优化网络模型。由于样本是不同摄像头下选取的,因此对减小跨摄像头下差异具有重要的意义。
1 多分支网络
特征学习的目的是从图像中人的整个身体中捕获最重要的外观特征,以区分不同身份的人。如图1所示,由于姿势变化、背景杂乱、人体较高的复杂性和灵活性以及人形探测器的不完善,导致行人部件未对齐,这是单样本半监督行人重识别的关键挑战之一。我们将行人部件分割约束应用于单样本半监督行人重识别任务,以解决部件错位问题,这种部件约束策略能够减小部件不对齐带来的影响,从而提高了行人重识别准确性。
图1 部分Market-1501和DukeMTMC-reID数据集的样本
由于行人在不同的摄像机中以不同的姿势、视角出现,因此相应的身体部件对齐。
图2 多分支网络结构图
多分支网络体系结构分为三个分支:全局分支、部件分割分支和水平切块分支。表示基于全局特征的分类损失;Lps表示部件分割损失;表示基于水平切块的分类损失;“Horizontal Stripes Branch”表示水平切块分支;“Global Branch”表示全局分支;“Part Segmentation Branch”表示部件分割分支。
本文设计一种多分支网络结构,如图2所示,多分支网络由三个分支网络和一个聚合模块组成,三个分支网络从Conv5特征图中分为全局分支、部件分割分支和水平切块分支,将全局信息、部件分割约束和水平切块相结合。全局分支一般不注重身体的细节,如胳膊、腿、脚等,而是关注身体的主体。在局部分支中,更多的响应集中在局部分支。例如,水平切块的局部分支的响应集中在均匀划分的水平切块中,部件分割分支可以更准确地定位人的不同部件,如图3所示。我们的多分支网络结构的三个分支实际上学会了表示具有不同细节的信息。由于人体结构的特殊性,水平切块和部件分割分支学习可以协同补充全局分支学习的低级判别信息,这是提高全局分支性能的原因。即在我们学习过程中,具有不同偏好的局部特征学习可以很大程度上缓解全局特征学习的弊端,因此多分支网络在一定程度上对姿势改变导致的部件错位问题具有鲁棒性。如图4所示。
图3 来自公共数据集Market-1501的一些样本示例
使用 COCO Densepose 部件信息作为部件分割的标签信息。
图4 部件分割模型
我们利用部件标签在标签样本、伪标签样本和无标签样本的特征图上实施部件分割约束[6-7]。标签和伪标签样本使用卷积神经网络提取特征,通过部件分割模块计算部件分割损失,通过水平切块模块计算基于水平切块的分类损失,并根据全局特征计算分类损失。无标签样本根据提取的特征计算差异性损失,并根据部件分割模块计算部件分割损失,如图5所示。“Labeled set”表示标签样本;“Pseudo-Labeled set”表示伪标签样本;“Unlabeled data”表示无标签样本;“CE loss”表示基于全局特征的分类损失;“P loss”表示基于水平切块的分类损失;“PS loss”表示部件分割损失;不同颜色的箭头表示不同的数据流。
图5 损失函数融合
2 损失函数融合
本文我们设计一个多任务损失函数融合策略,如图5所示。网络训练过程中,标签样本和伪标签样本使用卷积神经网络提取的特征,根据全局特征计算分类损失,利用水平切块模块基于水平切块计算分类损失,通过部件分割模块计算部件分割损失,无标签样本根据提取的特征计算差异性损失,并根据部件分割模块计算部件分割损失[8]。换句话说,网络训练过程中,标签样本和伪标签样本、无标签样本共同参与网络训练过程,标签样本以及伪标签样本在分类损失和部件分割损失的约束下进行训练,无标签样本在差异性损失和部件分割损失的约束下进行训练。总损失定义如下。
如以上公式所示,其中Lall表示所有样本的所有损失的和,所有数据包括标签样本和伪标签样本、无标签样本。Lide表示所有标签样本和伪标签样本的损失,标签样本和伪标签样本的损失包括基于全局特征的分类损失和基于水平切块的分类损失、部件分割损失。Lu表示无标签样本的所有损失,无标签样本的所有损失包括基于无标签样本计算的差异性损失和部件分割损失。LideCE表示基于标签样本和伪标签样本的全局特征的分类损失,Lidep表示基于标签样本和伪标签样本的水平切块的分类损失,Lideps和Lups表示标签样本(以及伪标签样本)的部件分割损失和无标签样本的差异性损失,β是平衡不同任务的损失权重,本文设置为0.8。
在每次迭代的训练过程中,分别对标签样本和伪标签样本进行部件分割训练,并根据全局特征和水平切块特征进行分类训练,对于无标签样本,进行部件分割训练和排他性训练。此外,欧氏距离是根据无标签样本与标签样本的特征距离来测量相似性。欧氏距离越小,图像越相似,为无标签样本分配的伪标签越可靠。“CE loss”表示基于全局特征的分类损失;“PS Loss”表示部件分割损失;“P Loss”表示基于水平切块的分类损失。我们选择一些可靠的无标签样本分配伪标签作为伪标签样本,伪标签被当作标签样本共同参与网络的训练,我们通过分类损失和部件分割损失来优化网络模型,剩余的无标签样本仍然可以通过部件分割损失和差异性损失优化模型。
3 多任务训练
我们以端到端多任务的方式训练多分支网络,标签样本、无标签样本和伪标签样本三个部分的样本数据参与训练过程。由式(1)可以看出,训练过程由标签样本的训练任务和无标签样本的训练任务组成。通过公式可以看出,标签样本和伪标签样本通过基于全局特征的分类任务、基于水平切块的分类任务和式(2)的部件分割任务进行训练,无标签样本通过式(3)进行排他性任务和部件分割任务的训练。此外,欧氏距离是根据特征计算无标签样本与标签样本的相似性。欧氏距离越小,样本越相似,即欧氏距离是为无标签样本分配的防伪标签的依据。如图6所示,伪标签样本St与标签样本L一样进行分类任务和部件分割任务共同优化模型。对于无标签样本Mt,不能进行分类训练,利用部件分割任务和排他性任务来优化模型。综上所述,我们分别对标签样本和伪标签样本利用基于全局特征和水平切块特征的计算分类损失和部件分割约束优化模型,所有无标签样本利用差异性损失、部件分割约束对模型进行优化。我们在每个迭代步骤中对验证集的模型进行评估,并输出最佳模型。
图6 网络迭代训练的框架
4 结论
综上所述,针对单样本行人重识别任务,在数据集中跨摄像头下为每个身份的行人仅标注一个样本。由于标注样本为跨摄像头选取,因此对于跨摄像头差异具有鲁棒性。对于人体姿势改变导致的部件错位的难题,本文设计多分支网络并且是端到端多任务训练的网络结构,而损失函数融合是一种有效的途径。使用部件分割约束来处理部件不对齐问题,部件分割约束结合水平切块的局部特征对全局特征进行补充,显著提高单样本半监督行人重识别的性能。对于模型训练提出的联合训练方法可以有效地利用标签样本、伪标签样本和无标签样本共同参与网络模型的优化。在标签样本和伪标签样本数据集上,我们通过基于水平切块特征、基于全局特征的分类损失和部件分割损失来优化CNN模型。同时,在没有可靠标注信息的无标签样本上,我们用差异性损失和部件分割损失来优化模型,而无需任何标注信息。