基于动态足底压力的步态识别
2018-10-08韩成顺张俊豪
薛 傲 韩成顺 张俊豪
(1 安徽公安职业学院刑事科学技术系 安徽 合肥 230088;2 东辽县公安局交通管理大队吉林 辽源 136600;3 铁道警察学院图像与网络侦查系 河南 郑州 450053)
1 引言
基于动态足底压力的步态识别方法具有易于隐蔽、便于伪装和无需客体配合等优点,在刑事侦查、身份认定、行人追踪等公共安全领域具有广泛的应用前景[1],尤其在公安领域,传统的刑事技术对于足迹的检验经验性过强,没有扎实的理论知识作为支撑,从而导致了足迹这一重要物证在司法鉴定中颇受争议,因此寻找科学理论来支撑足迹鉴定非常必要。随着计算机视觉和模式识别快速发展,有些学者开始研究足底压力分布来进行身份识别,足底压力分布具有特定性和相对稳定性,与人脚的行走方式与脚部生理结构都有着非常高的关联性[2-4],因而能满足身份识别的需求。
基于足底压力分布的生物识别技术出现在20世纪90年代,目前的研究还较少,通常是利用地面的反作用力(Ground Reaction Force,GRF)。人行走过程中作用于地面的压力变化即为足底压力图像。生物医学和法庭科学研究表明,通过人体运动姿势和地面压力分布能够进行人身识别[5]。Gurney[6]等将脚底区域按照解剖学分为10个区域,考察每个区域的4个参数:最大压强、最大压力、冲量和接触时间、计算所有参数的组间相关系数和变异系数,证实每个人的足底压力具有重复性。高毅利用Footscan压力分析系统,定量的研究了不同时期的足底动力形态特征,足底与承受客体间作用方式和相互作用过程[7]。Takeda等运用压力地毯对人行走时足底压力数据进行采集,并将足底的后跟、足弓区、脚掌区和脚趾区分为8个区域进行特征提取[8]。梁栋等对测试者赤脚静止于压力地板的足底压力数据进行采集,并实现自动划分成6个部分,提取不同部分压力中心点与最大压力点的坐标信息,并提取压力值的拉普拉斯谱特征进行人身识别[9]。本文基于动态压力信息,由于足底压力分布变化符合高斯分布,因此采用PCA进行特征提取。
2 预处理
实验中从Footscan步态分析系统导出测试者的动态足底压力数据,得到包含各帧足底压力数据的xls格式的文件,从xls文件中将足底动态变化过程中的每帧数据提取,并存储成txt格式的文件,一个txt文件即对应一帧足底压力数据。将提取的每只足底的各帧压力数据进行重叠,记录每个压力传感器获得的最大压力数据,从而得到峰值压力数据。由于数据采集的过程中,每个人对应的足底尺码不同,获取的不同人峰值压力数据维度各不相同,因此,需对足底压力峰值数据进行维度归一化处理,得到相同维度的压力峰值数据。
图1为预处理后的压力峰值数据,从上至下依次为足跟、足弓、足掌压力数值,矩阵中的每个数值分别表示压力传感器在足底运动过程记录的最大压力值,即压力峰值。
图1 压力峰值数据
3 特征提取
主成分分析法(PCA)(又称KL-变换)[10],是一种常见的运用变量协方差矩阵来对数据进行压缩、处理及提取的方法。该方法是通过将多个变量进行线性变换来提取较少的主要变量的一种基于多元统计分析的理论,其对于先前提出的所有变量,通过变换提取新变量,使提取的这些变量线性无关,并且最大地保存原始信息。
PCA算法进行特征提取过程:
步骤2:计算平均向量:
步骤3:计算差值向量:
用每个压力数据减去平均压力
步骤4:构建协方差矩阵:
步骤5:运用协方差矩阵求特征值与特征向量,建立特征空间。
在求解的过程中,计算量随着协方差矩阵的维数增大也相应增大,因此需要运用奇异值分解定理(Singular Value Decomposition,SVD),先求得的特征向量及特征值,从而求得的特征向量及特征值。
通常a超过95%,就能很好的表达原始数据空间。
特征空间:选择上述求得的 个特征向量构建投影矩阵 ,将选取的训练样本到矩阵获得每个训练样本的特征空间投影通过以上变换,便将 维的原始数据转化成 维的数据。上述过程完成了对足底压力数据的特征提取。
4 分类识别
基于足底压力分布的步态识别涉及多值分类。因此,本文在进行分类识别时,运用多分类支持向量机的方法。
在实际应用中,大多为多分类问题,支持向量机(SVM)基础理论仅适用于二值分类问题[11]。目前,将SVM基础理论扩展到处理多分类问题的方法主要有:一对一、一对多,其主要原理是通过构建多个二分类器来解决多值分类问题。这两种方法中,从构建二分类器网络方面来看,一对多的方法是先建立多个SVM模型,再求解决策函数,给定的模式将会被分到拥有最大决策函数值的一类。一对一方法就是采用两两分类,它的主要原理是用个分类器对所有类别进行两两匹配。通常N分类方法通过建立多个超平面来将每个类别与其他类别分离开来。也就是说,具有N个决策函数满足公式所以可以将N分类问题看做一个判别向量,这样分类的结果就是最大分量的指数。
为了简化计算复杂度,在分类过程中,引入了核函数,在进行非线性问题到线性问题的转换过程中,核函数起着非常大的作用,较为常用的SVM分类核函数包括:线性、多项式、径向基和sigmoid核函数,其中最为常用的是径向基核函数,该函数对于非线性分类问题效果较好,本文在实验中选取的是径向基核函数。
(1)读取实验数据,其中包含训练样本和测试样本,训练样本标签和测试样本标签,分别对训练集和测试集数据进行归一化处理,将数据归一化到(0,1)范围,以便于数据的运算。
(2)设置核函数参数g和惩罚因子C的寻优范围,范围均设定为(-210,210),选取底数为2的对数函数进行网格划分,共20个参数g和20个参数C进行随机组合。识别率初始值设定为0。
(3)每次选取一组参数组合进行分类识别运算,选取一对一多分类识别方法,在任意两类样本之间训练一个SVM分类器,对测试样本进行分类阶段,测试样本通过所有分类器进行判定,当某个分类器将测试样本判定为某一类别时,则表示该类获得一票,最终将测试样本判定为得票数最多的一类。完成所有类别的测试样本分类后,计算分类识别率,并将所获得的分类识别结果与前一次结果进行比较,保留识别率较高的结果。分类识别率计算公式:
其中:M为算法正确识别的测试样本个数;N为测试样本的总个数。
重复(3)中步骤,继续进行运算,直到获得最高分类识别率。
5 实验与分析
步态数据采集由比利时研制的Footscan压力地毯采集,该压力地毯板面积为0.5m×0.5m,厚度为0.8cm,内嵌4096个压力传感器,采样频率为300Hz。将压力地毯放置在水平地面上,通过数据线与电脑上压力数据采集系统连接起来,实验中选取50名健康青年人作为测试者,采集50名测试者赤脚状态自然行走通过压力地毯时的足底压力数据,每次让一只脚踩在地毯上,左右脚分别踩一次为一组,每名测试者采集6组,通过压力采集系统得到动态足底压力数据,从该系统中将数据导出,导出数据为xls格式,其中包含了足底压力变化的所有帧数据,图1的数值即表示传感器在人行走过程中采集到的压力值,单位为N。本实验的数据预处理、特征提取、分类识别运行环境均为MATLAB 2013a。
如图2所示为压力系统中记录左脚的4帧动态压力图像,其中颜色由浅到深表示压力值由小到大,并记录该帧图像发生的时刻。
图2 动态足底压力图像
本实验采集了50个人正常行走状态下的足底压力数据,每人采集6组,共300个样本,实验中选取每个人的5组动态压力数据作为实验数据,命名为1~5,共250组样本。将每个人序号为1、2、3、4的压力数据作为训练样本,序号5的压力数据作为测试样本。首先,分别对每组样本的动态压力数据进行叠加,通过计算机获得足底压力变化中每个传感器达到的最大值,得到压力峰值数据,然后对压力峰值数据进行归一化处理,获得相同维度的数据,最后利用PCA算法进行特征提取,运用一对一支持向量机(SVM)进行分类识别,选取径向基核函数作为SVM核函数。实验中在20人和50人的数据库上分别对左右脚进行测试。如表1所示,运用测试者左脚数据进行实验,通过网格搜索法确定最优的核函数参数,20名和50名测试者的识别率为90%、90%。如表2所示,运用测试者右脚数据进行实验,同样方法获得最优核函数参数,20名和50名测试者的识别率为80%,70%。
表1 左脚压力峰值实验结果
表2 右脚峰值压力实验结果
比较左脚和右脚识别率,运用左脚压力峰值数据进行实验获得的识别率高于右脚,分析原因主要为实验数据的采集,在实验数据的采集过程中由于压力采集板长度为0.5m,每次只能采集一只脚的数据,采集左脚数据过程中关注度高均为正常状态下行走,右脚数据存在少量的非正常行走,没有进行剔除,导致了最终的分类识别率稍低。
6 结束语
本文采集并分析了动态足底压力,用动态足底压力来进行人身识别,通过累加每帧动态足底压力数据获得压力峰值数据,对数据进行归一化处理后,运用PCA提取压力数据特征,采用一对一的SVM多分类方法对样本进行训练。采集50人的足底压力数据作为实验样本,实验中运用足底压力数据进行测试,实验结果表明该方法性能较好,在公安、商业等领域具有很好的应用前景。今后工作将在特征提取上开展更深入的研究,提取更加丰富、多样的特征,使识别效果进一步提升。后续还可能将数据采集扩展到穿鞋行走的压力采集,获得更好的应用价值。