基于相位感知步态周期重建网络的单幅图像步态识别
ECCV 2020 南京理工大学
摘要:我们首次提出了一种仅从单个图像进行步态识别的方法,该方法实现了无延迟的步态识别。为了缓解匹配的一对输入单帧图像之间的相位(步态姿势)差异导致的受试者内部的巨大变化,我们首先使用自动编码器框架从单帧图像重建完整的图像序列步态周期,然后将它们输入先进的步态识别网络进行匹配。具体来说,为输入的单个图像引入相位估计网络,步态周期重建网络利用估计的相位来减轻编码特征对该单个图像相位的依赖。这被称为相位感知步态周期重建器(PA-GCR)。在训练阶段,PA-GCR和识别网络同时优化,以在重建和识别精度之间实现良好的折衷。在三个步态数据集上的实验证明了该方法的显著性改进。
步态是一种常用的生物识别方式,用于识别人。与DNA、指纹、虹膜和人脸等其他生物特征相比,步态具有独特的优势。例如,即使没有目标的合作,它也可以在远距离进行身份验证。因此,步态识别在监控、取证和刑事调查等应用中受到了广泛关注。
关于步态识别的广泛研究主要使用轮廓序列本身[41,40,7]或从轮廓序列步态周期中提取的步态特征[47,37,42,38,45,48,14]。 然而,捕获包含特定时间长度或完整步态周期的视频通常需要等待一段时间(例如,完整步态周期约1秒),这对于实时在线应用程序来说是不可取的。减少拍摄延迟的一个极端方法是尝试仅使用一张图像来识别一个subject主题,而在我们所知的之前的工作中,这并不是特别针对的。除了潜伏期外,来自单个图像的步态识别也适用于时间部分遮挡的情况,这是现实世界中另一个具有挑战性的因素。例如,在拥挤的场景中,主体可能会在大多数帧中被严重遮挡,而这些帧是无用的,而一旦获得没有遮挡的单个帧,单图像步态识别仍然可以工作。
然而,从一张图像中识别步态是相当困难的,因为步态相位差(例如,single与double-support)会导致受试者内部的巨大变化,如图1(a)所示。这在很大程度上降低了现有步态识别方法(如最先进的网络GaitSet[7])和使用步态特征(如步态能量图像(GEI)[13](即整个步态周期的平均轮廓)的传统技术的性能。
步态识别不同场景的示例。(a) 来自同一subject的不同问题设置的匹配对(G和P)。左(I):使用完整步态周期的步态识别;右(II):从单个图像进行步态识别。由于相位差(single与double-support),这对单图像之间存在显著差异。(b) 来自不同subject的配对。(I) 和(II)是半个步态周期的真实轮廓图像(即ground truth)。(III) 和(IV)是使用我们的方法从单个输入图像中重建的相应半周期。在真实周期(I)和(II)以及重建(III)和(IV)之间观察到明显的运动差异(例如,绿色圆圈弯腰和红色圆圈迈步),这意味着我们的方法可以在一定程度上成功地重建个体步态运动模式。
另一方面,事实证明,动作视频中的快照暗示了可以预测过去/未来运动的动态信息(即隐含运动)[21],这已应用于视频合成和动作识别[9,33]。类似地,从步态序列中捕获的单个步态图像也会在帧之前或之后显示姿势序列,同时由于时间上的连续变量(例如膝关节和背部弯曲角度)而保持其步态的个性[16],因此提供了从单个图像识别步态的可能性。例如,在单支撑中弯曲背部的受试者可能也会在双支撑中弯曲背部(见图1(b)(I)),而膝盖弯曲较大的单支撑阶段可能会导致步幅较大的双支撑(见图1(b)(II))。基于这些事实,我们首先从包含所有相位的单幅图像重建轮廓序列的步态周期,然后再利用后续匹配器来处理单幅图像步态识别问题。
实际上,从视频中提取完整步态周期的轮廓序列或低帧率提取的步态特征也是步态识别中常用的方法[1,2,4]。然而,这些方法大多不能很好地适用于数量非常有限的输入帧(即单个帧),而且这些方法仅优化步态周期重建质量,因此无法从本质上保证最佳识别精度。
因此,我们提出了一个统一的相位感知步态周期重建网络(PA GCRNet)框架,用于从单个图像进行步态识别。它由相位感知步态周期重建(PA-GCR)模块和后续识别网络组成。与简单地最小化步态周期重建误差不同,所提出的PA GCRNet学习一个合适的步态周期重建,在保证最佳识别性能的同时,重建质量得到很好的保持。这项工作的贡献有三个方面:
1.第一项工作是针对单个图像的步态识别。据我们所知,这是第一项专门针对单个图像的步态识别的工作。与大多数现有的步态识别研究相比,单图像步态识别更适合于实时在线应用,因为单图像步态识别的结果可以在捕获一张图像后获得(即无延迟)。
2.从任意输入阶段重建步态周期。虽然大多数现有的工作集中在从初始帧生成未来动作帧[9,33],但拟议的PA-GCR可以从任意输入阶段重建包括未来帧和过去帧的步态周期。为了减少由输入相位差引起的重建步态周期中的受试者内变化,引入了相位估计网络以减轻编码特征对输入相位的依赖。提出的PA-GCR进一步与最先进的基于序列的步态识别网络GaitSet[7]以端到端的训练方式相结合,以在步态周期重建性能和识别精度之间实现良好的折衷,与传统的低帧率步态识别方法不同,该方法只关注重建质量而不是识别性能。
3.在三个公开的数据集上进行最先进的表演。提出的方法在三个公开的步态数据集上进行了评估:OU-ISIR步态数据库、多视图大群体数据集(OU-MVLP)[39]、CASIA步态数据库、数据集B(CASIA-B)[46]和OU-ISIR跑步机数据集D(OUTD-D)[26]。与基于纯序列的GaitSet[7]和其他用于低帧率步态识别的最新方法相比,所提出的方法在所有三个数据集上都显著提高了识别性能。
图2。概述所提议的方法。GT表示ground-truth。(a) 显示了PA-GCRNet的整个框架,其中包含用于完整步态周期重建的PA-GCR和作为识别学习的后续识别网络的GaitSet[7]。在训练阶段,三组样本(probe, genuine, and imposter探测、真实和冒名顶替)被馈送到PA GCRNet,其中网络参数在每个流之间共享。(b) 说明了PA-GCR模块的细节,该模块由四个组件组成:编码器、相位估计器、特征变换器和解码器。这里省略冒名顶替者,因为相似性损失Lsim仅为真对定义。
3.使用PA GCRNet进行步态识别
图2(a)显示了PA GCRNet的概述。给定捕获的步态图像,首先可以使用基于背景减法的图切割分割[30]或基于深度学习的最新语义分割方法(如RefineNet[24])提取轮廓。然后,通过高度标准化和使用重心进行配准[28]获得标准化轮廓,然后将其用作所提出方法的输入。
PA-GCRNet由两部分组成:PA-GCR和识别网络(我们实现中的GaitSet)。与GaitSet[7]类似,拟议的PA GCRNet在训练阶段采用三组输入,其中网络参数在三个输入之间共享。PA-GCR通过考虑单个输入轮廓的相位,尝试完全重建轮廓序列的步态周期,该轮廓序列包含具有相应相位的固定帧数(例如,第一帧中的左腿向前双支撑)。然后将重建的完整步态轮廓输入后续的识别网络,以学习更多用于步态识别的鉴别特征。在测试阶段,匹配对之间的相异度被计算为识别网络学习的鉴别特征之间的L2距离 。
3.2 PA-GCR
PA-GCR有四个组件:编码器、相位估计器、特征变换器和解码器,如图2(b)所示。一个潜在的问题是,输入轮廓之间的相位差可能会影响步态周期重建结果。例如,从single-support 输入轮廓重建的double-support 轮廓可能不同于从双double-support 轮廓重建的double-support 轮廓,因为在single-support阶段没有观察到double-support 阶段的腿部和手臂等动态部分的姿势。如果我们直接使用来自不同相位的输入轮廓的编码特征(各种相位相关编码特征),那么在轮廓的重建步态周期中,可能会有很大的受试者内部变化。因此,我们引入特征变换器,将相位相关的编码特征转化为更多相位无关的特征,方法是在后续解码器中考虑估计的相位信息。这更有利,因为它减少了轮廓重建步态周期中受试者内部的变化。
相位表示 考虑到人类步态的周期性,有必要使用周期性连续标签来表示相位(步态姿态)。相位可以通过域的循环角度表示来定义[0,2π)类似于一般的周期变量。然而,循环角度表示从2π到0是不连续的;因此我们使用了一个不间断的冗余二维向量表示,由正弦和余弦函数组成。假设步态周期有T帧,并且相位在帧上线性演化相位矢量pt∈R2 第t帧处的表示为
Phase shift 相位
训练轮廓序列的步态周期
我们需要来自多个训练对象(ground truth)的轮廓序列的完整步态周期来训练所提出的网络,并且这些周期应该在训练对象之间相位同步,以减轻训练数据中相位不一致对重建性能的影响。然而,真实步态周期需要首先被内插到共同步态周期中(如 每周期100帧),因为真实周期的帧数在训练对象之间可能不同(例如 对象A每周期25帧,对象B每周期32帧)。因此,应用基于*变形free-form deformation(FFD)的几何变换,在原始帧之间插入中间帧,并生成具有共同步态周期的轮廓序列,因为FFD适合于表达非刚性人体的变换,并有助于在变换图像中保持步态个性[8,44]。
在获得具有共同步态周期的轮廓序列后,我们使用基线算法在训练对象中同步它们[35]。更具体地说,我们首先选择一个受试者作为标准,然后计算另一个受试者和该标准之间在共同步态周期上的轮廓差异的总和。我们计算起始帧的每个偏移量的总和,并且我们采用具有最小化总和差的偏移量的轮廓序列作为重建器的训练数据。
网络1)编码器。编码器E首先从输入轮廓中提取低维特征,这在某种程度上取决于输入轮廓的相位。给定输入轮廓I,从编码器获得的低维特征表示为
其中,pI是输入I的相位。
编码器设计为CNN,输入大小为1 × 64 × 64。使用四个卷积层,滤波器大小为4 × 4,步幅为2,滤波器数量在连续加倍步骤中从64增加到512。我们在每个卷积层之后应用批量标准化层[18]和校正线性单元(ReLU)激活函数[31]。最后通过全连通层得到一个100维的特征。
2)相位估计器。相位估计器P用于估计输入轮廓的相位标记,以使相位相关的编码特征在下一步中更加相位无关。相位估计器表示为
相位估计器具有类似于编码器的结构,但是具有一个更完全连接的层来回归2D相位标签。归一化层用于确保||ˇpi||2 = 1,这是正弦和余弦函数的特性。将输出相位标记与地面真实标记pI进行比较,以计算估计损失,如下所示
3)特征转换器。在编码器和解码器之间插入特征变换器T,以减小由同一对象的输入相位差引起的重建差异。特征变换器将相位相关的编码特征f I变换成相位无关的特征fi,其公式为
其中cat表示连接。
我们使用全连接的层来实现特征变换,以从编码的特征fI∈ R100和估计的相位π∈R2的100D级联向量中获得变换的100D特征fi∈R100。我们期望变换后的特征f I比编码后的特征fi更独立于输入相位,即,相同对象的特征更相似在输入轮廓的不同阶段之间相互比较。因此,我们通过以下方法最小化相位无关特征的相似性损失
其中Ip和Ig分别表示训练三元组样本中的probe and genuine 。
4)解码器。然后,特征变换器的输出特征被馈送到解码器D,以完全重建具有预定数量的帧M的步态周期,并且解码过程被公式化为
其中RI表示从输入轮廓I重建的M个轮廓的步态周期
解码器的结构与编码器的结构是对称的。首先使用全连接层和整形将输入的100D特征转换成与编码器中最后一个卷积层输出的特征相同的大小,然后使用四个去卷积层进行上采样。在输出M × 64 × 64大小的重建的最后一个去卷积层之后应用sigmoid激活函数,其中每个通道指示所有对象共有的特定相位的重建图像。计算重建损失以确保重建的步态周期类似于相应的基础事实(训练数据)GTI,其定义为
3.3 Combining PA-GCR with GaitSet
接下来,从PA-GCR重建的步态周期被馈送到GaitSet中,以获得更具鉴别性的特征。
GaitSet [7]是一个基于集合的步态识别网络,它将一组轮廓作为输入。在使用CNN独立地从每个输入轮廓获得特征之后,集合池被应用来将帧上的特征聚集到集合级特征中。然后,通过水平金字塔映射将集合级特征用于辨别学习,该映射在不同尺度上提取不同空间位置的特征。轮廓RI的重建步态周期的GaitSet G的特征输出被公式化为
对于训练阶段的批量大小S × K,其中S是受试者数量,K是每个受试者的样本数量,批量所有三联体损失为[15]
3.4 Unified loss function
因为相位估计器直接作用于输入图像,所以我们将其与主要pipeline(即编码器、特征变换器、解码器和GaitSet)分开训练。因此,我们定义一个统一的损失函数来共同优化整个主管道,以实现重建和识别精度之间的折衷。统一损失函数计算为上述三个损失函数的加权和:
其中wsim、wrecon和wtrip分别是三种损失的权重。
4 Experiments
4.1 Datasets
在三个公开可用的数据集上评估了所提出的方法:OUMVLP [39]、CASIA-B [46]和OUTD-D [26]。
OU-MVLP包含以25 fps的帧速率从14个视图捕获的10,307个对象的图像序列,是世界上最大的具有宽视图变化的步态数据集。我们只关注侧视图(90°)来研究在没有其他协变量的情况下使用单帧的识别性能。根据原始方案[39],5153名受试者用于训练,其他不相交的5154名受试者用于测试,每个受试者一个探针序列和一个图库序列。我们使用它作为下面实验的主要数据集,因为它有很高的统计可靠性。
CASIA-B是使用最广泛的步态数据集之一,由124名受试者以25 fps捕捉的步态序列组成。对于11个视图中的每一个,每个对象都有6个正常行走序列。与欧-MVLP实验相似,只有90°的序列用于我们的评估(第4.4节)。我们采用了与[4]中相同的挑战性方案,其中前24名受试者用于训练,后100名受试者用于测试,使用一个文库序列(NM #01)和五个探针序列(NM #02-06)。
OUTD-D是一个数据集,它专注于几个时期内的步态波动(即同一阶段的轮廓差异)。因此,它包括大量的帧,每个序列中有360帧。185名受试者,每个受试者有两个序列(探针和图库),从该数据集中的侧视图以60 fps拍摄。使用与[1,2]中相同的方案,我们使用85名受试者进行训练,另外100名受试者进行测试(第4.4节)。
我们从序列中随机选择单个帧作为所有数据集评估的输入。
4.2 Implementation details
我们使用Adam optimizer[20]以S×K = 8×16的批量大小来训练建议的网络。我们在GaitSet中使用了相同数量的通道如[7]中的OU-MVLP和CASIA-B,并使用与CASIA-B相同的OUTD-D数。对于所有三个数据集,10被设置为0.2。我们首先为3.2节中介绍的相位同步准备了包含100帧的完整步态周期的基本事实。考虑到训练网络所需的计算复杂度和存储器大小,我们将重建中的帧数设置为M=25,并且从原始的100帧中均匀地下采样25帧,以对应于训练ground truth情况。
等式11中的权重被设置为wsim = 0.0005,wrecon = wtrip = 1。为了首先获得稳定的重建结果,对于OU-MVLP的初始学习率为104的前30K次训练迭代,以及对于CASIA-B和OUTD-D的初始学习率为105的前20K次迭代,Ltrip被排除在外(即,仅包括PA-GCR)。然后,我们以104的学习率对GaitSet使用Ltrip,同时将PA-GCR的学习率降低0.1。对于CASIA-B和OUTD-D,整个网络被训练了50K次以上的迭代,对于OU-MVLP,被训练了250K次以上的迭代,其中对于最后100K次迭代,PA-GCR和GaitSet的学习率再次降低了0.1。使用秩1识别率和等错误率(EER)评估识别性能[32]。
4.3 Visualizing gait cycle reconstruction
我们首先可视化步态周期重建的PA-GCRNet使用一个真正的一对测试示例。我们选择匹配对之间的大相位差的挑战性情况,其中输入探头和图库图像分别处于单支持和双支持阶段。图3示出了重建结果类似于相应的地面实况。我们还给出均方误差(MSE ),作为重建结果和真实情况之间差异的度量[2]:
其中W和H分别是图像宽度和高度,M是步态周期中的图像数量(在这种情况下为25)。该图还示出了基础真实对和重建对之间的均方L2距离,以说明匹配对之间的差异。
使用单个输入轮廓,所提出的方法成功地重建了具有连续相位变化的自然步态周期。虽然仍然存在重建误差,但重建中的体形和姿态与ground-truth中的相似。重建的图库和探针对也非常相似(见图3(d)和(e)),这表明PA-GCRNet重建在某种程度上独立于输入轮廓的相位。
图3。步态周期重建实例。(a)输入剪影;左:probe;右图:gallery。(b)probe步态周期的基本原理。(c)gallery步态周期的基本事实。(d)重建的probe步态周期。(e)重建的画廊步态周期。蓝色数字表示重建和相应地面实况之间的误差,橙色数字表示相应探头和图库对之间的均方L2距离。
另一方面,图3(b)和(c)中的ground-truth对具有更大的差异,因为即使对于相同的相位也可能存在姿态变化。这意味着所提出的网络不仅迫使重建结果与ground-truth情况相似,而且减少了重建的相同对象对之间的对象内变化,这更有利于匹配。这是因为端到端的训练既包括重建又包括识别,这使得PA-GCRNet在重建质量和识别性能之间实现了良好的权衡。补充资料中有更多的重建实例。
此外,考虑到一对输入处于相同相位但来自不同测试对象的情况(见图1(b)(III)和(IV)),在重建的步态周期对之间连续观察到姿态差异(例如,不同的后弯和步幅),这表明所提出的网络可以在某种程度上保持步态姿态的个体性。也就是说,能够通过网络从单个步态图像中重建个体步态姿态序列,这提供了特定对象的更多步态特征,因此可能有助于提高识别精度。
4.4 Comparison with state-of-the-art methods
表1。所提出方法的等级1识别率[%](表示为等级1)和EER [%],以及OU-MVLP的其他基准。粗体和粗斜体分别表示最佳和次佳结果。在本文中,这种字体约定用于表示性能。
表二。所提出方法的秩-1识别率[%](表示为秩-1)和EER [%]以及CASIA-B和OUTD-D的其他基准。请注意,ITCNet [4]、NoTSR [2]、Morph [3]、TSR [1]和Unified TSR [2]使用的协议与我们的不同。
4.5 Ablation study
表3。在OU-MVLP使用等级1识别率[%](表示为等级1)评估消融实验。ground-truth表示为GT。“×”表示未使用相位信息。
5结论
提出了一种基于单幅图像的步态识别方法。给定单个输入图像,PA-GCR结合相位估计器完全重建轮廓的步态周期,然后将重建输入后续识别网络,如GaitSet,以进行匹配。该方法在三个公开的步态数据集上取得了显著更高的识别性能。
一个未来的研究目标是扩展提出的PA-GCR,以接受低帧率步态识别的多个输入图像。此外,所提出的方法还可以潜在地扩展到一般的动作,以从任意帧生成未来和过去的帧,这对于视频合成和动作识别是有益的,这仍然是未来的工作。