刘晓阳,刘金强,郑昊琳
中国矿业大学(北京)机电与信息工程学院,北京 100083
步态识别是一种新的生物特征识别技术,可以根据走路姿势实现人员身份的识别[1]。步态识别在远距离或低视频质量情况下的识别潜力很大,且步态难以隐藏或伪装,不需要人员进行特意地配合,尤其在黑夜使用红外步态识别技术更能发挥其作用[2]。目前,煤矿井下通常采用人脸和指纹进行人员身份识别,尽管基于人脸和指纹的身份识别在正常环境下识别率很高,但煤矿井下空间受限、光线昏暗、潮湿、巷道中存在煤尘等,使得人脸和指纹比较模糊,严重影响了基于人脸和指纹等身份识别方法的识别率[3]。步态识别方法受照度影响小,对视频质量要求低,也不受距离限制,非常适合矿井下的环境特征。通过对人员步态图像进行识别监测,可以第一时间准确地识别出井下作业人员身份信息[4-6]。这对实现矿井安全监测、人员身份定位和实现智能矿井具有非常重要的意义。
近年来,步态识别迅速发展。赵喜玲等[7]提出了基于静态能量图和动态群体隐马尔可夫模型的步态识别方法,该方法受噪声影响小且对角度变化具有鲁棒性。Liu等[8]提出了一种基于Hough变换和主成分分析(PCA)的步态识别方法,首先在Hough的参数空间中建立步态模板,然后利用PCA进行维数简约实现步态识别。近年来,深度学习也成为了解决步态识别的热门方法之一。Wu等[9]提出的基于深度卷积神经网络的跨视角步态识别方法,可以进行多视角识别,提高了识别精度。Yu等[10]基于GAN提出了GaitGAN步态识别方法,利用GAN将任意视角、任意状态的步态图像转化为90°视角正常行走状态的步态图像,解决了视角转换的问题。Chao等[11]提出了一种基于步态轮廓图的GaitSet算法,将步态轮廓视为无时间序列关系的图像集,不刻意对步态轮廓的时间序列进行建模,而是让深度神经网络自身优化去提取并利用这种关系,精度提升明显,但是模型空间复杂度较高。
针对现有的步态识别方法准确率不高的问题,本文采用提取人行走过程中的动态特征和静态特征的方法,提出了基于残差神经网络[12]和栈式卷积自动编码器[13]的双流神经网络(TS-GAIT)步态识别模型[14],提高了识别准确率。
静态特征(生理特征)包括体型(高矮、胖瘦)、头型、肩宽等;动态特征(时空特征)包括迈步的幅度、步子的频率、身体重心、双腿的协调关系、手臂的摆动幅度等。如果将身体分为4部分,对于步态识别而言,识别的关键区域如图1所示。身体各个部分对于识别的贡献度为:4>1>3>2。
图1 步态识别关键区域
本文将步态能量图(GEI)[15]作为模型的输入,GEI同时包含人的体态等静态信息和行走过程的时空信息,操作简单。将步态图像序列求和取平均融合为一张步态图片,减小了模型的空间复杂度,如图2所示。
图2 步态能量图(GEI)
双流神经网络模型由多尺度特征提取、特征融合和识别3部分组成,如图3所示。
多尺度特征提取由两个并行的网络组成:分别是基于残差神经网络的主流网络和基于栈式卷积自动编码器的辅助流网络。在主流网络中,从步态图像样本中提取动态特征,代表步态图像更宏观、更抽象的时空信息。在辅助流网络中,从步态图像样本中提取静态特征,代表步态图像低维的人的体型、头型等生理信息。
多尺度特征提取过程中,将辅助流网络提取的步态特征融合到主流网络中,实现动态特征和静态特征的融合表征,从而提取得到最终的步态特征。最后,将探测视图和图库视图通过双流神经网络提取得到特征向量输入到欧式距离的最近邻分类器中,实现步态识别。
图3 双流神经网络模型框架
步态图像是高维、复杂多变的非线性数据,要提取到步态图像中具有辨别力的时空信息,需要构建更加深层的网络。研究表明,增加网络层数可以帮助提取更多的层次特征,且网络越深表达能力越好。但在实际应用中,随着层数的增加会导致梯度消失和梯度爆炸等问题[16],虽然可以利用批处理规范化(BN)等方法缓解[17],但网络的整体性能会下降,这一退化不是过拟合问题所导致的,而是网络过深导致难以训练。因此,传统的神经网络模型无法构建足够深的网络。
残差神经网络可以构建更加深层的网络,相比于传统的神经网络,残差神经网络引入一种全新的残差结构单元[18],如图4所示。其基本思想是通过加入捷径连接(Shortcut Connections)支路构成基本残差学习单元来拟合一个残差映射[19]。假设输入为x,期望的输出为H(x),最优的输出就是输入x。对于传统的神经网络,需要将映射函数优化为H(x)=x;而加入捷径连接的残差神经网络H(x)=F(x)+x,只需将映射函数F(x)=H(x)-x优化为0即可,F(x)即为残差。显然,后者的优化要比前者容易得多[20]。这就是残差神经网络可以构建更深层网络的原因。
图4 残差单元
在图4中,F(x)表示第二次Relu激活函数前的输出,H(x)表示残差单元最终的输出,被定义为
H(x)=σ[F(x)+x]
(1)
F(x)=W2σ(W1x)
(2)
式中,x为输入;W1和W2为第一层和第二层网络的权重;σ为Relu激活函数。
主流网络主要提取步态图像中的动态特征,即学习人在行走过程中步幅、膝盖弯曲角度、手臂摆动幅度、身体重心等变化规律。主流网络基于残差神经网络而设计,实验过程中整体框架如图5所示。
网络的输入是128像素×128像素(长×宽)的步态图像。为更好地适应网络,须将原始图片240像素×240像素重新改为128像素×128像素。输入层包含一个步长为1的7×7卷积层和步长为2的3×3最大池化层。输入层的目的是提取多尺度基本视觉特征和减小图片大小,从而减少网络参数。每一个残差单元包含两个步长为1的3×3卷积层,即BN-Conv(3×3)-Relu-BN-Conv(3×3)-Relu。压缩层应用一个步长为2的3×3卷积层将图像缩小1/2。压缩层的目的是进行维度调整,进一步提高模型的紧凑性,减小辅助流网络输入到主流网络的特征图尺寸,并且减少输入到下一个残差单元的特征图数量。输出层利用62维的全接层和滑动窗口为8×8的平均池化层,得到最终的步态图像特征。
在步态识别的训练任务中,将得到的特征向量用Softmax实现人员分类。因此,网络采用交叉熵损失函数计算损失,即
(3)
y(i)∈{0,1,…,k}θ1,θ2,…,θi∈Rn+1
辅助流网络用来提取步态图像的静态特征,包括体型、头型、肩宽等。辅助流网络基于栈式卷积自动编码器(SCAE),整体框架如图6所示。
图6 辅助流网络框架
SCAE是由多个卷积自动编码器(CAE)组成,CAE旨在将输入复制到输出的神经网络。该网络分为编码器和解码器两部分[21]。CAE的目的是抽取最重要、最具代表性的信息表示原图像,即图像压缩和降维的过程。相比于传统的降维方法更具代表性,复原效果好。编码器网络可以用激活函数传递的神经网络函数表示,即
z=σ(Wx+b)
式中,z编码器潜在维度;σ为非线性激活函数;W为编码器网络的权重;b为编码器偏置。
相似地,解码器网络可以用相同的方式表示,但需要使用不同的权重、偏置和潜在的激活函数,即
x′=σ′(W′z+b′)
式中,x′解码器潜在维度;σ′为非线性激活函数;W′为解码器网络的权重;b′为解码器偏置。
输入和输出数据相似度越大,提取的数据就越具有代表性,可通过减少输入和输出数据的差异更新网络。因此,辅助流网络采用均方误差损失函数计算原始步态图像和重构步态图像的损失,即
式中,xij和yij分别为原始步态图像和重构步态图像第i行和第j列所对应的像素值;u和v分别为输入数据的行和列的总数。
本文辅助流网络由3个隐藏层为一层的CAE组成。在训练过程中,每一个CAE都单独训练,上一个CAE的输出作为下一个CAE的输入,达到“全部迭代,跟新单层”的目的。这样,下一个CAE的训练收益会非常高,因其输入是上一个CAE训练的全部映射特征。
辅助流网络从输入的步态图像样本中提取分层特征。随着层数的增加,提取特征图的分辨率由大到小。虽然特征图的模糊性有所增加,但抽象的特征却越来越明显。原始图像与恢复图像对比表明,提取的特征保留了最重要的信息。重构的可视化过程如图7所示。
图7 辅助流网络重构可视化过程
采用一种新颖的特征融合方法将辅助流网络提取的多尺度静态特征分别馈送到主流网络的压缩层,主流网络将自身提取的特征和从辅助流网络得到的特征进行融合,得到最终的步态特征。该特征同时包含人在行走过程中的动态特征和静态特征,并且将辅助流网络每一层提取的不同分辨率的特征都馈送到主流网络中,达到特征重用的目的。实验表明,这种特征融合方法有效可行。
生成多尺度特征向量后,使用欧式距离的最近邻分类器识别步态图像。 换句话说,使用欧式距离度量特征向量X1和X2之间的距离。 给定两个特征向量X1,X2∈Rd,欧式距离的定义为
式中,X1i和X2i分别是特征向量X1和X2的第i个元素。
如果d(X1,X2)越小,那么X1和X2之间的相似度就越高,这两张步态图像属于同一人的可能性就越大。
3.1.1 CASIA-B数据集
使用中科院自动化所2005年创建的公开步态数据集之——CASIA-B数据集[22]测试本文提出的双流神经网络模型的识别表现。该数据库包含124名受试者(93名男性和31名女性)。受试者视角以18°为间隔,将0°~180°分为11个不同的视角。每一名受试者分为3种行走状态,包括6个正常状态行走序列(NM)、2个带包行走序列(BG)和2个穿着外套行走序列(CL),如图8所示。
图8 CASIA-B数据集
3.1.2 CM-GAIT数据集
由于目前没有公开的煤矿井下人员步态数据集,为进一步验证模型针对煤矿工人步态识别的可行性,在位于内蒙古鄂尔多斯市的罐子沟煤矿采集了30位煤矿工人(均为男性)的步态数据,构建CM-GAIT数据集(本实验首次使用,为非公开数据集),如图9所示。煤矿井下工作的步态行为与工作内容、环境、着装有关,数据集中包含3个工种各10名,分别为采煤工、液压支架工和采煤机司机。每位受试者包含3个拍摄角度(18°、54°、90°)和2个行走序列。1个行走序列是煤矿检身房内(光照充足,空间广阔)拍摄,该序列用作图库视图;另1个行走序列是煤矿井下(光照昏暗,空间受限,潮湿,存在煤尘)拍摄,该序列用作探测视图。因此,CM-GAIT数据集一共包含180张GEI(步态能量图),每张GEI由100张步态序列图片构成。
图9 CM-GAIT数据集视角步态能量
在实验中,CASIA-B数据集中的3种行走状态包括“NM”“BG”和“CL”。将数据集中前62个受试者(001—062)的6个“NM”序列、2个“BG”序列和2个“CL”序列作为训练集,剩下的62个受试者(063-124)作为测试集。在测试集中,每名受试者的前4个“NM”序列作为图库视图,剩下的2个“NM”序列、2个“BG”序列和2个“CL”序列作为探测视图,用来测试在不同行走状态的下的模型表现。
在CM-GAIT数据集中,30名煤矿工人全部用来测试模型,其中煤矿检身房内拍摄的步态序列作为图库视图,矿井下拍摄的序列作为探测视图。
设置批量大小为64、使用均值为0、标准差为0.01的高斯分布,初始化每一层网络的权重,所有偏差项都初始化为0。为了让网络更好地收敛,设置学习率为0.002。根据验证集的识别结果决定迭代次数,具体参数见表1。
表1 训练参数
3.3.1 主流网络参数
网络深度太深、特征图数量太多,会导致模型过于复杂,识别消耗时间长;网络深度太浅、特征图数量太少,会导致模型无法很好地学习步态图像中有辨别力的特征,识别效果不佳。通过多次实验得到最佳参数设置见表2。表2中每一个“Conv”在实验中对应的是BN-Conv的模式。
3.3.2 辅助流网络参数
辅助流网络参数分为编码器和解码器两部分。编码器和解码均为3层。具体参数见表3。
表2 主流网络参数
表3 辅助流网络参数
为测试模型的性能,在CASIA-B测试集(共62名受试者)中进行实验。
(1) 测试模型的整体识别性能。即每一张探测视图的特征向量与所有图库视图的特征向量进行比较距离,得到Rank-1人员步态识别率(表4)。
表4 CASIA-B测试集Rank-1步态识别率
(2) 测试模型的多角度识别性能。图库视图和探测视图分别有11个视角,共121对组合,即每一张探测视图的特征向量分别与不同角度的图库视图的特征向量比较距离(Rank-1),实验结果见表5、表6和表7。表中的每一行对应图库视图的角度,每一列对应探测视图的角度。
(3) 在CM-GAIT数据集上进行了实验,身份识别率见表8。步态识别对光照和距离等环境因素影响较小,相比CASIA-B中的受试者,不同点是煤矿井下人员头部佩戴矿工帽、身体携带工具包、脚部穿着防水鞋等特征,如图10所示。但本文模型依然具有较高的识别率,说明提出的步态识别方法对煤矿工人所具有的特征有较好的鲁棒性。实践证明,利用该模型进行煤矿井下人员步态识别是有效可行的。
表5 正常行走状态的多视角识别率(NM05,NM06)
表6 带包行走状态下的多视角识别率(BG01,BG02)
表7 穿着大衣行走状态下的多视角识别率(CL01,CL02)
表8 CM-GAIT测试集Rank-1步态识别率
图10 井下煤矿工人步态
在CASIA-B数据集上将所提出的TS-GAIT模型与最新的步态识别方法进行比较,包括卷积神经网络(CNNs)、主成分分析(GEI+PCA)和生成对抗网络(GaitGAN)。同时,为更全面地比较TS-GAIT模型的性能,将ResNet(只使用残差卷积神经网络的主流网络模型)和SCAE(只使用栈式卷积自动编码器的辅助流网络模型)与本文提出的方法(使用ResNet和SCAE)在相同的参数设置下进行比较实验。
(1) 比较无视角变化的识别率,即探测视图的视角和图库视图的视角相同的情况。通过取表5、表6和表7对角线上的识别率求得平均识别率,同样方式获得CNNs、GaitGAN、GEI+PCA、ResNet和SCAE的平均识别率。比较结果见表9。由表9可见,本文提出的方法具有较高的识别率。在BG、CL情况下识别率分别为85.85%和52.12%,比GaitGAN分别高出13.12%和10.62%。TS-GAIT模型在无视角变化的情况下,明显优于其他方法。
表9 同视角识别率
(2) 比较跨视角的识别率,即探测视图的视角和图库视图的视角不同的情况。选取探测视图为0°、54°、180°、162°时3种行走状态,比较结果如图11所示。由图11可以看出,本文所提出的方法在跨视角情况下优于GEI+PCA和CNNs;无论视角是否变化,也都明显优于单独使用ResNet和SCAE。
本文提出的双流神经网络模型的性能无论是同视角,还是跨视角,都优于其他步态识别方法,这是因为采用了高效的多尺度特征提取和新颖的特征融合技术。同时基于ResNet和SCAE的双流神经网络模型比ResNet方法或SCAE方法在相同的参数设置下有更好的性能,表明融合静态特征和动态特征的多尺度特征比单一静态特征或动态特征更具区分性。
图11 跨视角识别率
(1) 主流网络使用残差神经网络学习动态特征,用于表示步态图像的宏观时空特性;辅助流网络使用栈式卷积自动编码器来学习静态特征,用于提供步态图像低维的生理信息。将像素级动态特征与层次化静态特征融合实现步态识别的方法是非常有效的。
(2) 提出的双流神经网络模型对人员角度变化、携带条件、衣着等有较好的鲁棒性,其识别准确率明显优于现有的步态识别方法,并且用于煤矿井下人员步态识别是有效可行的。
(3) 在煤矿井下,不受复杂环境和距离限制,步态识别将在煤矿井下人员识别起到至关重要的作用。煤矿井下人员步态识别要实时地识别矿井下人员身份,模型要快速高效,简化模型复杂度,提高识别速度是未来研究工作的重点。