基于度量学习的行人重识别综述

2023-09-02 06:32黄海新陶文博杜亭亭
沈阳理工大学学报 2023年5期
关键词:度量行人损失

黄海新,陶文博,杜亭亭

(沈阳理工大学自动化与电气工程学院,沈阳 110159)

行人重识别旨在创建不同视觉范围内行人之间的匹配关系,普遍被认为是图像检索的一个子问题[1]。 行人重识别与模式识别、计算机视觉和机器学习等多个研究方向相关,受到工业界和学术界的广泛关注,行人重识别的查询线索可以为图像、视频序列,也可以是文本描述[2]。

2005 年,Zajdel 等[3]在多目标跟踪工作中首次提出术语“行人重识别”。 2014 年,Bedagkar等[4]提出行人重识别的定义以及与此相关的技术难题。 同年,在ImageNet 大赛中Krizhevsky 等提出的深度网络夺冠[5],使采用深度学习技术的行人重识别逐渐成为研究的主流方向。 2019 年,罗浩等[6]对此研究方向的进展进行了细致的论述。

行人重识别是在跨摄像机拍摄的行人图像间建立对应关系的处理过程,不同摄像机之间没有视野重叠或覆盖的区域。 当摄像头拍摄范围之间不存在重叠时,信息的跟踪失去连续性,检索难度随之增大。 行人重识别的要点是在信息不连续的条件下完成对特定行人的检索。

行人重识别系统的一般流程如图1 所示。 首先,获取两个拍摄区域不重叠的摄像头拍摄到的图片或视频,运用行人检测与跟踪技术对采集图片中的行人进行定位以及添加边界框。 行人检测技术与行人跟踪技术[7-8]是近年来图像视觉方向的热点,技术趋于成熟。 然后,对行人进行特征提取,计算行人之间的相似度,通过度量学习判断两行人是否为同一身份,输出识别结果。

图1 行人重识别系统流程图

行人重识别技术仍存在诸多难点与挑战。 由于拍摄地点与时间不同,会导致光照、视角、背景等出现较大差异;摄像头的选型也会导致图像的质量参差不齐;行人在自然状态下被拍摄,遮挡与重叠现象在所难免。

行人重识别的研究按照数据集的标注情况可分为全监督、半监督以及无监督方法,其中全监督方法研究最为深入。 按照提取特征所用方法的不同可分为传统方法以及深度学习方法,其中传统方法一般采用人工方法提取特征,深度学习方法则采用深度卷积神经网络提取特征。 根据研究的侧重点可以分为三类:第一类侧重关注行人重识别的输入数据,如基于GAN 的方法等;第二类侧重研究行人特征的表达,如基于超图的行人重识别方法等;第三类侧重研究目标函数,即信息的反馈,如基于深度度量学习的算法。

近年来,深度学习的蓬勃发展很大程度上提高了行人特征提取的速度和性能,对于特征提取的优化研究层出不穷。 有效度量在提高行人重识别模型的精准度方面起到不可忽视的作用,归纳与分析近年来面向行人重识别的度量学习方法具有重要意义。

基于度量学习的行人重识别框架如图2 所示。 首先,对训练集中的参考图库图片以及待查询图片输入特征提取网络进行特征提取,对提取到的特征进行度量学习,将特征映射到特征嵌入空间进行聚类操作,使不同类别的样本之间距离增大,实现类间分离;然后,使相同类别样本间的距离减小,实现类间紧缩;最后,计算样本间的相似度并排序后输出最终结果。

图2 基于度量学习的行人重识别框架图

本文阐述近年来应用于行人重识别的度量方法的研究进展,将研究方法分为距离度量方法和度量学习算法,并提出基于度量学习的行人重识别技术亟待解决的问题和未来研究方向。

1 度量方法

度量(或距离度量函数)是一个定义集合中元素距离的函数,该集合称为度量空间。 Xing 等[9]在2002 年首次提出度量学习概念,可以分为通过线性变换的度量学习以及通过非线性变换的度量学习两类。 其基本思想是根据不同的任务自主学习出对应的距离度量函数。 度量学习的对象通常是样本特征向量的距离,度量学习的目的是通过训练与学习,使同类样本间的距离更小或受限,使不同类别样本间的距离更大。

在分类以及检索等计算机视觉任务中,常对多个目标间的差异进行对比或对个体的类别等进行判断。 在行人重识别中,模型进行特征提取后,对特征采取合适的度量方法,得到不同行人的差异,以一定标准判定是否为同一行人。 通常采用的度量方法有距离度量和相似性度量。

1.1 距离度量

1.1.1不对称距离度量

在行人重识别任务中,视角的变化非常普遍,会降低行人特征的有效性,降低整体模型的精度。针对该问题,Chen 等[10]提出了非对称距离度量,提取图像中的RGB,HSV 和YCbCr 特征,使用非对称映射将个体的非对应特征映射到公共空间中,较大程度解决了交叉视角导致人物图像变形从而引起的特征丢失问题。

Yu 等[11]提出了不对称度量,通过不对称映射将具有不同视角的行人图像转换为公共空间,减轻了来自不同角度拍摄样本带来的负面影响。该方法克服了有监督行人重识别可扩展性差的缺点。 Feng 等[12]提出了一种基于样本分布特征的交叉视图度量,通过共享映射和不对称特定透视映射结合了人的共享特征和不同特征,提高了交叉视图行人重识别的效果,解决常用度量方法忽略特定特征并导致信息丢失的问题。

1.1.2马哈拉诺比斯距离度量

马哈拉诺比斯距离( Mahalanobis Distance)[13]度量是测量距离或相似性的经典方法,可以有效计算两个未知样本集的相似度。 考虑到小样本情况会导致过拟合的出现,齐美彬等[14]参考平滑正则化算法[15]提出一种带有正则化约束的马氏度量矩阵。 Zhou 等[16]定义了一个新的线性尺度约束。 基于该约束,定义了改进的优化马氏距离度量矩阵,提出并研究了三种不同的基于传输的最优方案,可以自动生成判别参考约束,有效提高了度量学习模型的性能。

1.1.3基于样本集的距离度量

随着行人重识别数据集的不断扩大,样本集之间的关系也愈加复杂。 综合分析并处理样本集之间的关系可以显著提高重识别的有效性。 Li等[17]提出了成对样本集之间的差异,并基于该种差异构建了一个局部度量域,从而形成了一种新的样本集分布,实现了类内紧凑和类间分离。 Tan等[18]使用分组的方法处理成对样本,使用仅组内全连接的方法得到样本集的不同特征,解决了跨视角的样本序列匹配问题。 Cho 等[19]利用成对样本集预测行人的常见姿态,解决了跨摄像头同一行人的信息丢失问题。

总结前文所述三种行人重识别常用的距离度量方法的优缺点,如表1 所示。

表1 行人重识别中距离度量方法的优缺点比较

1.2 基于超图的相似性度量

在相似性度量中,输入样本的成对相似性一直是研究者们优先考虑的对象。 然而行人图像之间的关系具备一定的高阶相关性,忽略高阶相关性会使模型的效果变差。 为解决该问题,An等[20]提出了使用超图应用于重识别任务。 使用超图学习寻找行人图像中的高阶关系,可实现更好的相似度匹配,算法流程如图3 所示。

图3 基于超图的行人匹配方案

训练阶段,先将训练数据输入到公共空间中,再经过投影矩阵将数据映射至公共映射空间中。测试阶段,在图库集中选择一张待查询图片,输入到公共映射空间内,与训练数据一起进行超图学习,学习数据的高阶特征,最后输出测试结果。

Zhao 等[21]利用联合学习的思想提出了一种基于多超图联合学习的框架用于行人重识别。 该方法提取查询图像和参考图库的gBiCov,HLCNL和LOMO 特征,分别构建三个超图,最终使用多超图联合学习算法计算不同特征的高阶相关度,得到最终匹配结果。 算法框架如图4 所示。

图4 用于行人重识别的多超图联合学习框架

基于超图的相似性度量关注数据集之间的高阶相关性,实现图像的成对匹配,使不同特征都得到充分表达,令特征中的复杂信息得以保存,是一种高效的行人多特征相似性度量方法。

对应用于行人重识别的度量方法进行分析,总结如下:

1)针对过拟合问题提出了正则化约束的马氏度量;

2)非对称度量降低交叉视图度量的难度;

3)基于样本集的距离度量缓解了传统度量模型的过拟合问题,有助于提高模型的可辨别性;

4)基于超图的相似性度量,考虑样本间的高阶相关性,提高了行人重识别精度。

为更直观比较不同度量方法在重识别中的性能,在VIPeR、iLIDS、CUHK01 数据集上进行对比。 iLIDS 数据集是在人流量较大的机场由多摄像头闭路电视系统拍摄得到,绝大部分行人都有四个或更多来自摄像机不同视角拍摄得到的图片。 该数据集可以用于行人重识别中遮挡问题以及行人姿态变化的研究,包含119 个行人身份、479 张图片。 VIPeR 数据集由两个摄像头采集得到,每个摄像头对每个行人拍摄一张图片。 共有632 个行人身份,1 264 张图片,对基于姿态、视角、光照变化的行人重识别研究提供较大帮助。CUHK01 数据集包含每个摄像头拍摄每个行人的两张图片,两个摄像头拍摄区域不重叠,且成像质量良好。 共包含971 个行人身份,3 884 张图片。几种度量方法的性能比较与分析结果如表2所示。

表2 几种度量方法的性能对比

行人重识别的评价指标一般选用累计匹配特征(CMC)曲线和Rank-N 表格[22],CMC 在模式识别领域使用十分广泛,是生物特征识别系统中的重要评价指标之一,可对算法的性能进行评估。曲线横坐标为Rank,纵坐标为识别率。 在重识别任务中,CMC 曲线的意义是在前k项检测结果中正确结果占全部检索的百分比。 Rank-N 表格是CMC 的另一种表达形式,用数字形式直接给出关键匹配点的累计匹配精度,如Rank-1,Rank-5 等。本文选用更为直观的Rank-N 表格比较不同度量方法的性能。

2 度量学习算法

表征学习和度量学习是行人重识别最基本的两种方法,目前几乎所有行人重识别算法都由上述两种方法扩展得到。 表征学习未像度量学习一样在网络训练过程中考虑图片间的相似度,而是把行人重识别任务当作一个分类或验证任务。 表征学习通过构造网络直接提取鲁棒性良好的行人特征,直接判断拍摄到的行人是否身份相同,而度量学习旨在通过网络学习到两张图片的相似度,通过相似度排序判断行人匹配关系。 表征学习的训练过程中需要额外构造一个全连接层加以辅助,而度量学习不需要。 从效率方面来看,表征学习在验证损失测试时需要输入一对图片,效率比度量学习低。 表征学习的优点是训练比较稳定,而度量学习的训练比较随机,需要一定的训练经验。

近年来,研究人员更加倾向于研究度量学习算法的改进而不是设计新的度量方法,原因是有效的度量学习算法会极大提升重识别的性能。

2.1 经典度量学习算法

经典的度量学习算法是在一定的规则限制下给出一个显式目标函数,使用合适的优化算法求解最优参数,得到强判别性的度量矩阵。 目前,经典的行人重识别度量学习算法包括:大边缘最近邻(LMNN) 距离度量[24]以及改进的快速LMNN[25]和LMNN-R 算法[26];信息理论度量学习(ITML)[27];保持简单直接的度量(KISSME)学习算法[28];概率相对距离比较(PDRC)度量学习[29-30];本地Fisher 歧视分析(LFDA)度量学习[31];交叉视图二次判别分析(XQDA)距离度量学习[32];度量学习加速近端梯度(MLAPG)[33]等。

上述经典度量学习算法已被广泛应用于行人重识别,但算法仍面临过拟合、分类能力弱、抗干扰能力差等问题。

2.2 深度度量学习算法

深度度量学习(Deep Metric Learning,DML)的三大关键点是采样策略的选择、设计合适的深度损失函数以及度量模型的改进。 高效的深度损失函数在深度度量学习优化中起到至关重要的作用。 一般通过深度网络提取样本特征,使用提取到的特征设计或选用合适的深度损失函数,进而通过最优求解损失函数得到网络模型的最优参数配置,达成先深度特征提取再有效分类的目标。对应用于行人重识别中的深度损失函数进行整理和分析,可将深度网络损失概括为:分类损失、对比损失、三元组损失、联合损失和聚类损失。

2.2.1分类损失函数

Softmax 函数[34]在深度学习的多分类任务中起到举足轻重的作用,可以高效分离学习到的深度特征。 然而,在相似性比较中,直接应用Softmax 函数无法实现深层特征的类内紧缩和类间分离,影响了参数学习和重识别的准确性。 为解决该问题,Zhu 等[35]将中心损失和Softmax 损失结合构建了一个新的损失函数,实现了最大的类间分离和类内紧缩,有利于卷积网络学习更多的判别特征。 Borgia 等[36]构建了中心离散项和指导元中心项两种损失,并将二者与Softmax 损失综合考虑,得到一个新的损失函数,实现了深度特征提取,减少了类间干扰。

2.2.2对比损失函数

对比损失[37]可以有效表达样本对的匹配程度,更好地监督深度特征提取模型的训练,广泛应用于行人重识别的相似度比较,其定义为

式中:N为样本对数量;d为两样本间欧氏距离;y为类别匹配标签;margin为距离阈值。

对比损失函数可以直接应用于行人的重识别,但由于不同重识别任务需求不同,且特征的提取容易受到环境的干扰,匹配精度较低,无法获得深度网络的最佳参数配置。 因此,基于原始对比损失函数,研究者提出了许多改进的对比损失函数。

2018 年,Wang 等[38]基于合成深度暹罗网络提取特征,构建了一种自适应区间损失函数,由正则化项和相似度项联合构成。 该方法使类别相同的样本距离最小化,并使类别不同的样本距离最大化。 Zhu 等[39]提出了一种基于卷积神经网络(CNN)的深度混合相似学习方法。 该方法同时提取输入图像对的CNN 学习特征对,然后计算CNN 学习特征对的元素绝对差和乘积,最后设计了一个混合相似度函数度量特征对之间的相似度。 该方法可以有效平衡重识别模型中度量学习和特征学习的复杂关系,提高了行人重识别准确率。

2.2.3三元组损失函数

2015 年,Schroff 等[40]提出了人脸识别和聚类分析中的三元组损失。 其基本思想是:正样本对之间的特征距离与负样本对之间的特征距离的差小于预先定义的阈值[41]。 三元组损失的目标是最小化锚样本与正实例的距离,最大化锚样本与负实例之间的距离,可以实现正负样本对之间的距离始终保持最小。 三元组损失的目标函数定义为

与经典的三元组损失不同,结构三元组损失函数充分利用行人样本之间的结构信息学习更多的判别特征。 在参数更新过程中,考虑了锚点样本与其他负样本之间的关系,从而促进了锚点样本与所有其他类之间的距离,大大加快了模型的收敛速度。 提升结构损失动态地为每个正样本对构建最硬的三元组,同时考虑所有负样本,有效地提高了优化三元组损失网络参数的能力,有助于实现强分类特征提取和鲁棒度量。

Fang 等[42]提出了一个新的“集合-感知”三元组损失。 将序列特征建模为一个集合,通过三元组损失优化集合之间的距离。 He 等[43]提出了一种结构损失函数,改进了深层网络学习的特性,可以解决三元组损失人工选择负样本困难的问题。

Arindam 等[44]提出了一种批量自适应三元组损失函数。 在该策略中,最硬样本的权重根据其与锚的距离自适应调整,较好地克服了尺度对行人重识别的影响。

2.2.4联合损失功能

分类损失、对比损失和三重损失函数在重识别任务中具有各自的优点,同时也具备一定的局限性。 为综合不同损失函数的优点,进一步提高精度,研究人员提出了多任务联合学习和多特征度量等思想。 在不同的特征度量和学习任务中,通常使用不同的损失函数监督深度网络。 因此,多损失函数联合学习应运而生。 Li 等[45]和Zhou等[46]考虑行人具有局部特征以及全局特征,且具有一定的互补关系,在构建深度网络时对应构建局部网络与深度网络。 2017 年,Mclaughlin 等[47]使用暹罗网络提取人物特征,并采用人物验证、人物识别和多属性识别形成多任务学习目标,再对不同任务的学习目标损失进行加权融合,形成联合损失,进而得到验证结果。 多任务联合学习的框架如图5 所示。x1与x2为两张输入图片,G(x1)与G(x2)为网络学习到的对应分布,共享相同的网络参数。 该框架通过联合学习以及多任务损失的融合提高了网络的综合学习能力。

2.2.5聚类损失函数

在重识别样本集规模日益增大的趋势下,随着样本集个体样本不断增加,距离度量的优势愈加明显,在辅助重识别方面发挥着重要作用。 Li等[48]定义了基于邻域结构的正负支持邻域集的概念,据此提出了一种新的支持邻域损失函数,可以使正负样本有效分离,保证正样本邻域稳定。该函数表达式为

式中:σ为比例因子;xi为锚样本;pi为正邻域集;Ki是正样本和负样本邻域的集合;D(xi,xp)为锚样本与正样本邻域集之间的距离集;λ为分离损失Lspr(θ)与聚集损失Lsqz(θ)的控制参数。

Yuan 等[49]提出了一种小型集群聚类损失模型。 该方法将相似的样本作为一个小型集群,将其视作单一样本用于训练。 各个集群内部样本间的最大距离称为内部散度,与自身集群外部样本间的最小距离称为外部散度。 始终令内部散度小于外部散度,可以构建紧凑度更高的聚类结构,大大提升重识别系统的泛化能力。

总结上述五种损失函数分别在Market1501、CUHK03、VIPeR 数据集下的表现,同样使用Rank-N 表作为测量指标比较不同损失函数的性能,结果如表3 所示。 CUHK03 数据集是首个可以用于深度学习训练的数据集,使用可变型部分模型(Deformable Parts Models,DPM)算法[50]生成行人边界框,然后进行手动标记。 该数据集的检测质量优秀,训练效果普遍良好,包含1 467 个行人身份,13 164 张图片。 Market1501 数据集在清华大学校园内采集,采用五个高分辨率摄像头以及一个低分辨率摄像头,使用DPM 算法以及手工标注方法检测行人边界。 此数据集的清晰度较高,且遮挡现象较少,近年来使用频率很高,包含1 501个行人身份以及32 668 张行人图片。

深度度量学习模型的改进同样值得关注,Ermolov 等[52]提出了一种新的基于双曲的度量学习模型。 该方法的核心是一个视觉变压器,其输出嵌入映射到双曲空间。 使用改进的成对交叉熵损失直接优化嵌入。 将视觉变压器、双曲嵌入和成对交叉熵损失联合使用,可以在各类图像检索任务,包括行人重识别中提供更优的性能。

深度网络虽然在很多任务中都体现了卓越的性能,但对精心设计的对抗性攻击十分脆弱,Wang 等[53]提出了一种新的基于注意力引导的知识提取和双向度量学习的对抗训练模型(AGKDBML),通过显式缩短原始图像与其前向对抗示例之间的距离,同时扩大前向对抗示例与另一类后向对抗示例之间的距离,有效约束不同类别在特征空间中的表示,提高了模型的对抗鲁棒性。

深度度量学习算法目前有三个改进方面。

1)采样策略的选择优化。 采样策略也是深度度量学习中不能忽略的一个重要组成部分,合适的采样策略会提升模型的检测效果和速度。

2)深度损失函数的改进。 为度量参数引入一个新的损失项或正则化项是目前主要的研究方向。

3)应对复杂外界干扰能力。 深度度量学习在图像检索任务中体现出卓越的性能,对于近年来行人重识别不断发展起到了关键作用。 但深度度量学习对训练数据集的要求很高,训练集一旦出现异常点、小样本、复杂噪声等问题时,其有效性会大打折扣。 因此,如何增强深度度量学习算法的鲁棒性和适应性是亟待解决的关键问题。

3 总结与展望

行人重识别自面世以来就与度量学习紧密相关,经过多年的发展已经取得了许多相关成果,但仍然面临许多挑战。 在未来的研究中,还有很多内容需要探索和研究。

1)跨域度量学习。 行人重识别的样本背景大都处在复杂的环境条件下,在跨域情况下找到合适的度量方法,提高鲁棒性。

2)小样本或异常样本度量学习。 在现实情况下,行人的图像都是被动拍摄,得到的样本平均质量很低,且数量可能很少,为刑侦等应用方向带来了很大困扰。

3)为不同的重识别任务分配不同的度量方法。 合适的度量方法可以使模型的精度大幅提高。

4)无标签或半标签情况下的度量学习。 目前在研究或实验中一般使用监督学习进行模型的训练,但在实际应用中标签的获取要付出一定的成本,所以提高无监督或半监督学习的模型精度是关注的重点研究方向。

猜你喜欢
度量行人损失
鲍文慧《度量空间之一》
模糊度量空间的强嵌入
胖胖损失了多少元
毒舌出没,行人避让
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
路不为寻找者而设
玉米抽穗前倒伏怎么办?怎么减少损失?
我是行人
地质异常的奇异性度量与隐伏源致矿异常识别
一般自由碰撞的最大动能损失