行人再识别中基于无监督学习的粗细粒度特征提取
2022-04-18唐佳敏
唐佳敏,韩 华,黄 丽
(上海工程技术大学电子电气工程学院,上海 201620)
0 概述
视频监控网络作为重要的基础安全公共设施已在全球范围内得到广泛运用。在智能监控普及的同时,需要对摄像头监控区域是否有重叠视域进行区分。在无重叠视域的多摄像机联合监控系统中,行人再识别[1]是关键问题,其定义为在无重叠区域的视频监控网络中判别目标行人是否具有关联性身份。目前,行人再识别已成为研究热点,国内外学者们提出了很多优秀的技术和方法[2-4]。在计算机视觉与机器学习相关的各大顶级国际会议上,也出现了很多关于行人再识别研究的成果[5-7]。
目前,行人再识别方法主要可分为基于人工设计特征和基于深度学习两类。在基于深度学习的方法中,监督学习[8-10]已被证明能够获得很好的性能,但存在需要利用目标行人图像数据标签的不足。因为手动打标签需要消耗很多的人力和时间资源,所以在任务执行过程中存在一定的限制性。无监督学习中常用到的算法有聚类、可视化与降维、关联学习等,与监督学习方法相比,无监督学习方法不需要对数据集的数据手动打标签,因此适用的数据集比较多,此类方法更具有可行性和扩展性。
在无监督学习中,三元组损失函数因能拉近样本和正样本间的距离而得到广泛应用,但其学习的仅仅是样本间的相对距离,只考虑了类间的差异性,没有学习绝对距离,忽视了类内的相似性。同时,不同摄像头下同一个人的不同图片外表特征差异较大,如果聚类合并时使用最大距离准则会放大差异性,导致不能合并来自不同摄像头下的同一人的图片。鉴于此,本文提出一种基于无监督学习的粗细粒度特征提取方法。分别通过相斥函数和相吸函数扩大类间差异和类内相似度,在此基础上进行特征学习和参数更新,同时使用最小距离准则将跨摄像头中差别较大拥有相同身份的人的图片聚类在一起,并对多个聚类进行逐步合并,解决特征差异性问题。
1 相关研究
行人再识别问题定义为在无重叠区域的视频监控网络中判别目标行人是否具有关联性身份的任务,如图1 所示。其中,第1 列给定一个行人图或是行人视频作为查询目标,在大规模数据库中找出与其相近的同一身份的行人图或行人视频,由同一行为同一身份的行人在不同摄像头下所拍摄到的图片不难发现,哪怕是同一身份的行人,在不同摄像头下也会有差异比较大的外观展示,主要影响因素有视角、光照、远近、遮挡等,但是即使有较大差异,仍然要对行人的身份进行正确匹配。行人再识别方法的识别流程如图2 所示。
图1 行人再识别问题示意图Fig.1 Schematic diagram of pedestrian re-identification problem
图2 行人再识别流程Fig.2 Procedure of pedestrian re-identification
在基于深度学习的行人再识别方法中,基于监督学习的方法被证明具有很好的性能。ZHU 等[8]提出CycleGAN 算法,对目标行人的图片进行一系列形变、图片增强等操作后,将其转换到目标行人的数据库候选图片中。WEI 等[9]提出行人重识别生成对抗网络,采用场景分割的思想,先确保图片中的目标行人不改变,再将图片所处的背景风格转变为人为所期望的数据库的风格样式,最后进行一系列操作实现重识别。QIAN 等[10]提出行人姿态归一化生成对抗网络,利用原始目标行人的图形生成含有同一身份并且姿势可以控制的归一化图像,通过目标行人的姿势迁移解决姿势偏差的问题。但监督学习存在需要利用目标行人图像的数据标签这一不足。因为手动打标签需要消耗很多的人力和时间资源,所以在任务执行过程中存在一定的限制性。
如果说监督学习的本质是告诉计算机怎么做的话,那么无监督学习的本质就是让计算机自己去学习怎么做,因此,无监督学习中常用到的算法有聚类、可视化与降维、关联学习等。在行人再识别中,基于无监督学习[11-13]的方法已经有很多。WU 等[11]简化了无监督行人重识别问题,给每个目标行人一张图片作为训练集,通过动态取样的思想为每个身份的行人动态地分配没有标签的候选图片,并利用伪标签对模型进行训练学习。DENG 等[12]提出相似性保留生成对抗网络的思想,将目标行人的图片从源域替换到目标域,之后使用有监督的流程训练算法模型。ZHONG 等[13]提出异质学习的方法,通过三元组损失函数挖掘信息,对于相同相机域的正样本对和不同域的负样本对进行属性加强,增强相机的不变性和域的联结性。无监督的方法不需要对数据集的数据手动打标签,这样对于数据集的要求就不那么严格,扩大了可用数据集的范围,使得研究工作更具可行性和扩展性。
基于全局[14]的粗粒度特征提取是针对每一个目标行人的每一张完整的图片进行特征提取。全局特征的显著优势是便于训练与处理,能对行人的外观有一个完整全面的表达,不会出现“盲人摸象”的问题。但是又存在明显缺点:对于目标行人的图片缺少细节的特征表示,对于艰难样本难以区分,细节特征的判别性不够。对于行人再识别中的遮挡等问题,基于局部[15]的细粒度特征提取是行人再识别中常用的特征提取方法。在一张图片中,位于不同图像区域的特征包含不同的信息。在各个区域中提取细粒度特征可以更精确地提取到可能被忽略的判别性特征。因为相似的图片中很有可能会存在相似的区域,并且区域之中的相似度远大于行人整体间的相似度,但具有相似区域的行人不代表是相似的行人,所以,提取局部特征可以减小判断2 张图片为同一行人的错误率。但是仅仅提取局部特征会造成空间细节特征信息的损失和非完整性。而此时全局特征便于训练,能整体地对行人的外观进行表达,所以,怎样有效地学习具有判别性的粗粒度特征和细粒度特征,在提取特征信息全面的同时又不缺细节,从而提高整个网络算法的判别力精度,是需要研究的问题。
2 本文方法
本文提出一种基于无监督学习的粗细粒度特征提取方法。构建一个基于细粒度和粗粒度特征学习的模型框架,如图3 所示,其中包括局部分支和全局分支,分别用于获取细粒度特征和粗粒度特征。首先,得到每个特征图的U个补丁,利用U个CNN 对U个补丁分别提取其细粒度特征,从而可以得到U个损失,将其求和平均的结果视为细粒度损失。然后,为每张图片分配不同的簇中心,每个形状代表一张图片,相同的形状代表相似的身份。使用聚类算法将同一个身份的相似的样本逐渐合并,通过联合相斥损失函数和相吸损失函数得到总的粗粒度损失,从而将相似的图像特征拉到一起,将不相似的图像特征推远。
图3 基于粗细粒度特征学习的模型框架Fig.3 Model framework based on fine-grained and coarse-grained features learning
2.1 局部分支的细粒度特征学习
局部分支学习主要是为了指导补丁网络在未标记的数据集上学习细粒度特征。在一般的特征学习中,让同一类的特征在特征空间中更靠近,并且远离其他类,能够学习到更具判别性的特征。因此,补丁网络特征学习的作用是将特征空间中相似的补丁块拉近,同时将不相似的补丁块推远。
其中:t是训练的次数;l是训练更新时的更新率表示体量中第i个图像的第u个补丁的特征是当前更新的局部块特征。当t=0 时,在未标记的数据集上先进行初始化,再通过式(1)逐一更新。
基于无监督学习框架,本文使用一种基于补丁块的判别特征损失函数,将相似的特征拉到一起,并推远不相似补丁块,从而学习未标记数据集中的补丁特征。该函数计算公式如下:
2.2 全局分支的粗粒度特征学习
粗粒度特征学习在全局分支上进行。首先,使用这个和交叉熵损失类似的相斥损失函数来优化卷积模型,将不同人之间的特征差异性扩大。然后,根据一些相同身份的图片的相似性,将含有相似特征的行人图片当作是同一个目标人物,使用一个相吸损失函数来减少同一类内的差异性,并将相同类组合起来当作一个聚类,再由卷积网络算法最大化聚类中心的差异性来更新参数,联合相斥和相吸损失函数进行粗粒度特征学习。最后,通过将属于同一个聚类间的特征向中心聚集,使聚类内部的差异性最小化,增加属于同一个身份的图片的特征相似度,利用特征空间中的结构化信息,根据最小距离准则对数据进行聚类合并。
定义一张图片x属于第c个聚类中心的概率为:
其中:C表示当前状态下聚类的个数,在最初状态,C=N,就是给每一个图片赋予一个人聚类身份,让聚类的个数等于图片的数量,当相似的图像被逐渐地进行合并,聚类C的数量就会慢慢减少;用于计算数据xi特征空间中的l2范数,即||νi||=1;V∈是一个查询列表,用于存放每一个聚类的特征;Vj表示V的第j列特征;τ是一个标量参数,其作用是便于对概率的取值区间进行控制。在本文后续的实验中,将τ设置为0.1。在之前的操作中,通过算式VT·νi来计算数据xi和其他数据间的余弦相似度,而现在,使用来计算 表V的第列数据,将原来聚类的特征与新的数据特征进行求和并求平均。在此基础上,使用式(4)所示的损失函数优化卷积模型,将其作为相斥损失函数来放大不同身份图片的差异性:
对式(4)进行最小化操作的结果可以从式(3)的分式上明显显示。分母:计算每个图像特征νi与每一个聚类中心特征之间的余弦距离,然后将其最大化;分子:计算每个图像特征νi与相对应聚类中心特征之间的余弦距离,并将它最小化。在后续优化的步骤中,Vj列举了第j个聚类中心中所包括的全部图片的特征,将其作为该聚类的“中心点”。在模型训练阶段,计算聚类中心的时间复杂度很高,通过查询表格V的方法来节省冗余的计算过程,能够省去多余的反复提取特征并存储的过程。
在此基础上,本文提出在区分聚类中心、放大差异性的同时也可放大相同类间的相似性,将不同摄像头下相差明显但具有同一身份的行人图片聚集在一起。给出对应的相吸损失函数,如式(5)所示:
全局分支的粗粒度特征损失函数公式如下:
其中:β是被用来平衡相斥和相吸这两个损失函数的超参数;m代表行人图片数的总和。通过联合损失函数的操作来对算法模型进行特征学习和参数更新。
在聚类不断生成的过程中,需要聚类合并策略的参与,将相似的样本归于同一类,将相异的样本归于不同的类。进行聚类合并的一个关键点在于每次迭代中形成的聚类之间以及它们和样本之间距离的计算。本文对于计算聚类A和聚类B之间的相似度值D(A,B)使用最小距离准则。合并公式如下:
其中:d(xa,xb)表示行人图片在特征空间中的欧氏距离,即d(xa,xb)=||νa-νb||。
在每一次的聚类合并过程中,定义n=N×γ,通过此公式来计算减少的聚类中心的个数,其中:γ∈(0,1)表示聚类的速度。在合并的过程中,刚开始有N个样本图片,每一个样本图片都被定义成单独的一个聚类,所以,聚类的个数初始化就是C=N,通过每一次合并,所有聚类中距离最小的n个聚类就被合并减少,在经历了t次合并操作后,聚类的个数就会随之减少到C=N-t×n。
2.3 联合特征学习
基于以上无标签数据集框架中所使用的粗粒度特征学习损失函数和细粒度特征学习损失函数,最终每张目标行人图片所形成的总的联合损失函数可以表示如下:
其中:U表示一张图片的补丁块的个数;λ是一个控制权重的参数。
3 实验结果与分析
3.1 参数设置
在Market-1501 和DukeMTMC-reID 这2 个大型数据集上进行实验,使用ResNet-50 卷积网络作为整个算法的骨干网络,并使用ImageNet 数据库预训练权重来初始化模型。在实验操作中删除了最后一个完全连接层,并将最后一个残差块的步幅设置为1,将参数k设置为15,参数s也随不同数据集而设置不同的数值,在Market-1501 中将其设置为15,在DukeMTMC-reID 中将其设置为5,参数β设置为0.5,将参数τ设置为0.1,聚类速度γ设置为0.05,参数λ设置为0.8,训练次数设为60,一次的体量大小设为32,使用动量为0.9 的随机下降梯度方法训练模型。
3.2 与先进方法的比较
在Market-1501 和DukeMTMC-reID 数据集上进行测试,将本文方法与经典的先进方法进行性能对比,表1、表2列出了比较结果。可以看出:在Market-1501数据集上,本文方法Rank-1 的性能结果比所有对比方法的最优结果提高了5.76%,平均精度均值(mean Average Precision,mAP)性能结果也提高了3.2%;在DukeMTMC-reID 数据集上,Rank-1 的性能结果比对比方法的最优结果提高了5.07%,mAP 性能结果也提高了5.6%。
表1 在Market-1501 数据集上各算法的性能比较Table 1 Performance comparison of each algorithm on Market-1501 dataset %
表2 在DukeMTMC-reID 数据集上各算法的性能比较Table 2 Performance comparison of each algorithm on DukeMTMC-reID dataset %
对表1、表2 数据的具体分析如下:
1)与基于手工特征表示模型的对比
与局部最大出现率(LOMO)[16]、无监督多任务词典学习词袋(Bow)[17]、无监督多任务字典学习(UMDL)[18]等手工特征方法相比,本文方法具有性能优势,这是因为对手工特征的研究是在Re-ID 研究的早期开始的,在大部分早期研究中没有太多可参考的学习方法,因此难以学习出色的区分特征。
2)与基于深度学习特征表示模型的对比
(1)伪标签学习。与跨视图非对称度量学习(CAMEL)[19]、渐进无监督学习(PUL)[20]等基于无监督模型的伪标签学习方法相比,本文方法具有性能优势。这是因为对比方法通过比较视觉特征直接分配伪造标签,并且忽略了潜在的歧视性信息,从而导致效果不理想。
(2)无监督域适应。与行人再识别的生成对抗网络GAN(PTGAN)[9]、可转移的属性身份深度学习(TJ-AIDL)[21]、保持相似性的对抗网络(SPGAN)[12]、多任务中级特征对齐(MMFA)[22]、CamStyle[23]、异质学习(HHL)[13]、多标签参考学习(MAR)[24]等基于无监督域自适应的方法相比,本文方法具有性能优势。这是因为多数对比方法都仅仅考虑了源域中有判别性的特征信息,而忽视了在未标记的目标域中的具有有效判别性的潜在信息,并且源域中有判别性的特征信息会随着数据集的改变而有很大不同,所以在目标集中减少其本身的有效性与多样性。同时,由于图像块之间的相似度必定比图像的相似度大,因此本文方法的局部分支基于图像块来学习特征比基于图像的效果好。
3.3 进一步分析
3.3.1 全局分支中相吸损失函数分析
对全局分支中有无相吸损失函数的模型进行对比实验,结果如表3 所示,可以看出,相吸损失函数在2 个数据集上对整体算法性能都有很大的提升作用。
表3 无标签数据集中有无相吸损失函数的对比结果Table 3 Comparison results whether or not have attracted loss on the unlabeled datasets %
为更直观地验证相吸损失的效果,进行可视化效果展示,如图4 所示。在此分支中,如果没有相吸损失函数,那么在特征空间中的学习过程中就会有一个较大的类内差异的情况出现。相反,加入相吸损失函数就会将聚类中心聚拢。同时学习每个聚类中心,即可显著提升深度特征的判别力,来增加每个身份的相似性。
图4 有无相吸损失的可视化效果对比Fig.4 Visual effect comparison of whether or not have attracted loss
3.3.2 局部分支中细粒度损失函数分析
从表4 可以看出,加入细粒度损失函数之后,在2 个数据集上,性能结果都好于未使用的时候,主要原因是该损失函数可以为模型提供有效的指导,其可视化展示如图5 所示,当没有细粒度损失函数时在Rank-5 时,由于衣物与鞋子的相似度就误以为是目标行人,忽略了背包的差异性,导致识别错误,因此对于每一张行人图片,位于不同图像区域的特征具有不同的信息,使用不同的网络分支去细化的学习未标记数据集上不同的局部人体的补丁特征,可以更精确地提取到可能被忽略的特征,最终能够得到对行人不同的局部特征更有判别力的模型。
表4 无标签数据集中有无细粒度损失函数对比结果Table 4 Comparison results whether or not have fine-grained loss on the unlabeled datasets %
图5 有无细粒度损失的可视化对比Fig.5 Visual comparison of whether or not have fine-grain loss
3.3.3 聚类合并准则的有效性分析
观察3 种常见的聚类合并准则,通过比较在Market-1501 数据集中的结果选择最小距离准则,如表5 所示。当使用最小距离准则时,Rank-1 准确率最高,其次是中心距离准则,最低的则是最大距离准则。因为数据集有不同的摄像头的图片,而在不同的摄像头下,相同的人的不同图片会有较大的外表特征的差异,所以,使用最大距离准则会放大差异性,导致不能合并来自不同摄像头下的同一人的图片。
表5 3种常见的聚类合并准则在Market-1501数据集上的结果Table 5 Results of three common clustering and merging criterias on the Market-1501 dataset %
3.3.4 粗粒度损失中参数β的分析
在全局分支上,联合相斥和相吸2 个损失函数,相斥损失放大不同身份的样本之间的差异性,相吸损失拉近相同身份之间的相似性。如图6、图7 所示,评测准则Rank-1 和mAP 直到β的值达到0.5 时结果最优。由此可以得出以下结论:相斥损失相较于吸引损失贡献了相近的能量值。
图6 参数β 对评测准则Rank-1 的性能影响Fig.6 Performance impact of parameter β for the evaluation criteria Rank-1
图7 参数β 对评测准则mAP 的性能影响Fig.7 Performance impact of parameter β for the evaluation criteria mAP
3.3.5 损失函数中权重λ的分析
总损失中参数λ的影响如图8、图9 所示,可以看出,将全局的粗粒度损失和局部的细粒度损失组合起来得到了更好的结果,细粒度损失学习到了具有判别性的细粒度特征,粗粒度损失指导了具有判别性的粗粒度特征学习,其中Rank-1 和mAP 随着权重λ的增加一直持平稳上升的趋势,直到0.8 时达到最高点,所以将设置λ=0.8。可以看出,细粒度损失贡献的性能略多。
图8 权重λ 对评测指标Rank-1 的性能影响Fig.8 Performance impact of parameter λ for the evaluation criteria Rank-1
图9 权重λ 对评测指标mAP 的性能影响Fig.9 Performance impact of parameter λ for the evaluation criteria mAP
4 结束语
本文提出的行人再识别无监督学习框架,通过基于相斥和相吸的特征学习联合损失指导未标记数据集中的粗粒度特征学习,使用最小距离准则增加不同相机下同一目标行人之间的相似性,并从全局和局部2 个方向学习判别性特征,提高算法模型的性能。下一步将对判别特征与损失函数进行优化,提取出全面且极具判别性的特征,同时对损失函数加以改进,使算法模型能够较好地达到收敛状态,减小模型数据结果的误差,从而提高整个网络算法的判别精度。