基于卷积神经网络和不完整步态周期的步态识别方法*
2018-12-19汤荣山葛万成
汤荣山,葛万成
(同济大学中德学院,上海 200092)
0 引 言
现今以指纹识别与人脸识别为代表的生物识别技术已经被广泛应用于社会安全层面,但这些技术存在一些限制条件。比如,检测摄像头必须靠近被识别的个体;监测到的数据必须具有高的分辨率;个体在识别过程中需要进行配合等。然而,步态识别技术不需要任何主体的配合,能够实现在任意角度下不引起被检测个体注意的非接触性远程识别。本文中所有实验基于一种广泛使用的步态特征表征方式——步态能量图(GEI)[1]。由于人类行走通常是在一定频率下进行的重复性动作,即步态周期,是指在移动过程中一只脚接触地面开始到同一只脚再次触碰地面为止的周期。因此,需要使用一个步态周期内的步态剪影来生成GEI。目前,所有步态识别方法的实施都基于一个前提,即必须获得被检测主体至少一个步态周期的步态数据。因此,在公共场所搜集个体的完整步态数据成为步态识别领域的一大挑战。本文提出的方法主要关注完整步态数据的还原,并使用卷积神经网络把不同类型的不完整GEIs转换为完整GEIs。最后,本文比较了由不同帧数和起始帧组成的不完整GEIs重构的完整GEIs的重构质量和识别率。实验结果表明,还原出的GEIs的重构结果、验证任务和认同任务的步态识别结果都与目标结果相接近。
1 步态能量图
用于寻找一个步态周期内的初始与结束帧的方法,被称为归一化自动相关性(Normalized Auto Correlation,NAC)[2]。该方法可将一个步态周期内的步态数据序列量化。步态周期的起始帧和结束帧可以用于产生不同类型的GEIs。该方法可以表示为:
其中g(x,y,n)是第n帧步态剪影的位置(x,y)的像素值,C(N)是第N帧的自相关函数。Ntotal是步态序列的总帧数。由于步态是对称运动,NAC的峰值会每半个周期Ntotal周期性地出现。
GEI是主体步态周期内的序列均值。Bt(x,y)是位置(x,y)处的二进制像素,t是帧数,N是一个主体步态周期内的总帧数。步态能量图可以由式(3)计算:
2 方法设计
2.1 数据预处理
关于组成不完整GEIs的帧数选择,需要考虑以下几个因素。
(1)实际环境中,步态剪影是从监控录像视频中提取的,通常包含不确定的帧数,可能是5帧、10帧也可能是15帧。
(2)由于人不会在一帧的时间内行走太快,没必要每隔一帧就产生一种新的GEIs。当然,帧的间隔太多也会忽略很多变化。
(3)不同的数据集包含有不同的步态周期,神经网络由固定帧生成的不完整GEIs来训练,训练后的结果不能应用于其他数据集。因此,组成不完整GEIs的帧数在于特定数据集所包含的步态周期的平均帧数,即每个选出的不完整GEIs的帧数必须占有数据集在一个步态周期内的帧数的一定比例,而不是固定值。
本文的选择如下:1 f-GEI、1/10 GC、1/6 GC、1/4 GC、1/3 GC、2/5 GC、1/2 GC、3/5 GC、2/3 GC。具体到本文所用的数据集,划分如下:1 f-GEI、3 f-GEI、5 f-GEI、8 f-GEI、10 f-GEI、13 f-GEI、15 f-GEI、18 f-GEI、20 f-GEI。 其 中,GC 为 一个步态周期内的帧数,1 f-GEI代表由1帧组成的GEI。本文选取2/3步态周期的帧数来作为最大值。通常情况下,帧间隔的选择为2~3帧。该间隔对于本文的情况非常合理。
由于不同起始帧组成的不完整GEIs也是各不相同,本文选择了14个不同的起始帧来组成新类型的不完整GEIs。这些起始帧包括frame 1、frame 2、frame 3、frame 4、…、frame 11、frame 12、frame 13、frame 14。
第一帧为最小起始帧,在这之间每隔一帧就生成一种不完整GEIs。详细原则为:
其中N是组成不完整GEIs的末尾帧,ncycle代表一个步态周期内的帧数,nf表示组成帧数,fstart表示起始帧,fend为结束帧。
总之,生成的不完整GEIs由9种不同的帧数组成,每种又包含14种由不同起始帧组成的GEIs。因此,本文会生成9×14种不完整GEIs。另外,需要将这些GEIs的像素值从x∈[0,255]归一化到x∈[0,1]。
2.2 网络整体结构
由不同帧数和不同起始帧组成的不完整GEIs有明显的不同外形,但完整的GEIs通常只有一种外形。因此,使用唯一的网络直接将1f-GEIs转换成完整GEIs会带来很大误差。本文没有使用由很低帧数组成的不完整GEIs直接去训练卷积神经网络,而是采用了一种逐渐转换的策略。本文首先训练多个独立的卷积神经网络,每一个独立的网络只负责一个小范围的转化,如将1帧GEI转换为由1/10步态周期的帧数组成的GEIs,以此类推。
图1为独立的卷积神经网络的结构。编码器部分包含3层卷积层。多次试验显示,包含2层卷积层的独立的卷积神经网络,不能完整学习到GEI的细节,而当将卷积层数量增加到大于3时,网络的损失也不再进一步下降。在每个卷积层后添加Relu作为激活函数,池化层用来下采样特征图谱。之后添加了组归一化层[3]和dropout技术来避免过拟合并加快收敛。带有字母D的方块代表附加dropout技术,带有H的方块代表隐藏层。在最终的输出层,Relu函数由Sigmoid函数取代,这是因为输出图像应该是像素值为x∈[0,1]的灰度图。
图1 独立的卷积神经网络结构
以这些预训练的独立卷积神经网络作为隐藏层,可以重构一个端到端卷积神经网络,如图2所示。端到端卷积神经网络使用预训练的独立的卷积神经网络的参数,并用所有类型的不完整GEIs来做微调。微调后的端到端卷积神经网络可以实现不同类型的不完整GEIs到完整GEIs的直接转换。其中,输入处的斜杠代表输入可以是第2.1章节部分数据预处理所述类型的不完整GEIs。每个隐藏层下的标注详细标明了该层的转换范围,如1/10 GEI-1/6 GC表示将由1/6步态周期的帧数组成的GEI转换为由1/10步态周期的帧数组成的GEIs。编码器和解码器部分与图1所示一致。
图2 端到端卷积神经网络结构
2.3 工作流程
从数据预处理开始到结果分析的流程,如图3所示。本文首先使用步态剪影生成完整GEIs和不同类型的不完整GEIs,然后将生成的GEIs归一化。这两个步骤是按2.1章节数据预处理部分所示的方法进行的。之后将数据分为训练集、验证集和测试集,这三个步骤属于数据预处理。随后,开始训练9个独立的卷积神经网络,并使用训练好的参数来重组端到端的卷积神经网络。本文动用了所有类型的不完整GEIs来训练端到端的卷积神经网络,并在训练时评估验证集的精度。这两部分属于网络训练部分。训练完成后,评估网络的重构性能,并且比较由网络还原的GEIs、完整GEIs和不完整GEIs三者之间的步态识别性能,最后对得到的结果做了分析和总结。
图3 工作流程
3 结果评估与分析
本文使用OU-ISIR数据库-大量个体步态数据集(OULP)[2]中85°下的步态剪影来训练网络。85°下的个体总数为3 254。先从3 254个个体中随机选取2 254个,使用他们的GEIs作为训练集。剩下的1 000个主体的GEIs中,一半作为验证集,一半作为测试集。该数据分组原则不仅适用于独立的卷积神经网络,而且适用于端到端的卷积神经网络的训练。唯一的区别是不同类型的卷积神经网络的输入和输出不同。端到端的卷积神经网络的输入是所有类型的不完整GEIs,输出是相应的完整GEIs。相比之下,独立的卷积神经网络的输入和输出分别是由固定帧数组成的一种类型的不完整 GEIs。
本文测试分为两部分。第一部分为测试网络性能,即由端到端的卷积神经网络重构的GEIs的质量。第二部分比较了不同GEIs之间的步态识别率。
3.1 网络性能的测试
网络的输出与完整GEIs的对比结果可以作为网络性能评估的标准。本文使用均方误差(Mean Squared Error,MSE)、 结 构 相 似(Structural Similarity Index,SSIM)[4]指数以及重构精度来表示。
表1中的数据来自于使用不同的不完整GEIs通过端到端的卷积神经网络所得的结果。表1中数据反映,由更多帧数组成的不完整GEIs还原的GEIs拥有更高的质量,且更接近于目标GEIs。然而,该上升趋势随着组成不完整GEIs的帧数的增加而渐缓。这是因为18f-GEIs和20f-GEIs本身已经非常接近于完整GEIs。
表1 端到端的卷积神经网络的重构结果
表2展示了一些使用由不同起始帧组成的不完整GEIs的测试结果。本文选取5f-GEIs和8f-GEIs的测试结果,因为5和8帧正好是OULP数据集中大多数个体的步态周期的1/6和1/4。与其他帧相比较,如1帧(很难恢复出高质量的GEIs)或20帧(太接近于完整GEIs),5和8帧更具代表性。
表2 使用端到端的卷积神经网络恢复5f-GEIs和8f-GEIs的重构结果
从表2可以看出,由不同起始帧数组成的不完整GEIs还原的GEIs的质量大致相同。以上结果证明,端到端的卷积神经网络足以应付由不同起始帧组成的不完整GEIs的还原工作。
3.2 步态识别的测试
步态识别有两种测试类型:验证任务和识别任务上的步态识别。
3.2.1 验证任务
在验证任务里,本文首先使用99%的主成分分析(PCA)来减少数据的维度,然后计算每个配对的相似分数,使用L2-距离作为相似分数的计算准则。
L2-距离的表达式为:
选取不同的临界值,比较这些计算的相似系数。决策规则可以表示为:
其中D表示决策结果。如果特定匹配对的相似系数S≤T(T为预设临界值),那么该匹配对可以被判定为正匹配对(Positive),代表该匹配对包含的两个GEIs属于同一个个体;否则,它将会被判定为负匹配对,代表两个GEIs不属于同一个体。
错误接收率(False Acceptance Rate,FAR)代表本该判定为负匹配的配对被判定为正匹配占总匹配失败数的比例。错误识别率(False Rejection Rate,FRR)代表本该判定为正匹配的配对被判定为负匹配占总匹配成功的比例。因为错误接收和错误拒绝都属于误判,所以在步态识别中需要减少两种误判,通常会在FRR和FAR之间寻找到一个平衡点。在该点处FAR和FRR之间的差距最小,该点的值被称为等误差率点(Equal Error Rate,EER)。EER将会成为验证任务的步态识别性能的判断标准。
图4中,不同值的详细信息被标注在图例中,水平轴为不同的不完整GEIs,纵轴为相应的EERs。可以看出,由不同帧数组成的不完整GEIs,在验证任务上的步态识别性能在经过端到端的卷积神经网络还原后被大幅度提升。对于由更多帧组成的不完整GEIs,被还原后它们在验证任务上的识别性能甚至超越了完整GEIs的性能。
图4 不同GEIs计算出的EERs的比较图例
3.2.2 认同任务
认同任务上的步态识别测试原理和验证任务相同,不同的是需要从网络输出组中找到和完整GEIs组中每个个体最相似的GEI,并且根据相似度给予一个排名。例如,假设在网络输出和完整GEIs组中各有5个GEIs,对网络输出组中的5个GEIs从1到5标号。对网络输出组中的样本1,计算完整组中所有可能与之匹配的匹配对之间的相似系数,这样样本1就有5个相似系数。相似系数最小的匹配对被称为排名1匹配,表示在相似系数最小的匹配对中确实存在真值,两个主体确实属于同一个体,然后选出排名2匹配,以此类推。
排名n匹配的认同率可以表示为:
其中n可以是任意实整数,排名n的认同率Ridentification等于成功匹配的对数Nmatching与总对数Nsamples的比值。如果网络输出组的所有样本都能从完整GEIs组中在排名n下找到正确匹配,那么该认同率就为100%。
由图5和图6可以看出,经过端到端的卷积神经网络还原后的排名5匹配的认同率高于排名1匹配的认同率,与排名5匹配的相似系数吻合度较高。另外,端到端的卷积神经网络大幅提升了不完整GEIs的认同率,尤其是对由较少帧组成的不完整GEIs。对于由较多帧构成的不完整GEIs,尽管网络没有明显提升其识别率,但是它们的识别性能在被还原后也几乎与目标GEIs的识别性能一致。可见,认同任务下的识别率提升趋势与验证任务下的趋势完全相同。
4 结 语
本文提出了一个新的步态识别方法,解决了由步态识别时数据的不完整性引起的相关问题。考虑到由不同起始帧或不同帧数组成的不完整GEIs的外形各不相同,相应的完整GEIs却只有一种外形,本文设计了一种端到端的卷积神经网络。网络经过学习大量不完整GEIs的特征后,能从各种不完整GEIs直接恢复出完整的GEIs。所提出的网络结构结合各种不同类型的输入在OULP数据集中测试,还原出的GEIs的重构结果和在验证任务、认同任务上的步态识别结果都与目标结果相接近,甚至OULP数据集中由多帧组成的不完整GEIs还原的完整GEIs在验证任务上的识别率高于目标完整GEIs。
图5 Rank-1(排名1)认同率对比曲线
图6 Rank-5(排名5)认同率对比曲线