基于列质量向量和SVM的步态识别
2015-04-11王开杰杨天奇
王开杰,杨天奇
暨南大学 信息科学技术学院,广州 510632
1 引言
步态识别是一种新颖的生物特征识别技术,利用人类行走的方式识别每个个体。与指纹识别、人脸识别、虹膜识别等生物识别特征相比,具有远距离、非接触、难伪装、难隐藏[1]的特点,并且对视频质量要求不高,近些年来引起了国内外越来越多学者的关注。它在视觉监控、门禁系统、医疗诊断等方面有广泛的应用前景和经济价值。
步态识别最早来自于医学、心理学方面的研究。伴随着生物识别技术的兴起和计算机运算的发展,步态识别在生物识别领域逐步得到发展和认可。1994年,Niyogi和Adelson[2]等提出利用步态特征进行识别身份的方法。随后步态识别得到快速的发展,提出大量的研究步态的方法,取得了一系列研究成果。步态识别的算法大致非为两类:基于模型和非模型的方法。基于模型的方法依据人体的生理特征对人体进行建模,将这些特征作为步态特征进行分类,如Cunado[3]等的钟摆模型、Lee[4]等的椭圆模型、Yoo[5]等的摆角模型、HaipingLu[6]等的全身分层可变形模型、Urtasun[7]等的3D人体运动模型。基于非模型的方法主要是根据人体目标移动时,所产生时空模式的各类统计值来提取特征,如Kale[8]等人以体轮廓宽度作为特征,Yang[9]等提出步态能量图算法,Sarkar[10]等利用侧影序列作为特征。
本文主要进行了以下研究工作:选择列质量向量作为步态特征、基于支持向量机(SVM)识别方法。
其优点主要有:
(1)横向量[11]虽然考虑到人体每个部分周期性的变化,但步态是人体各个部分协调运作的结果。横向量没有考虑各个部分协调关系,而列质量向量通过对人体区域进行纵向分割,使得在行走过程中各个部分的协调运动反映在列向量周期变化之中。
(2)充分考虑手臂摆动的信息,使特征具有更强的区分能力。
(3)通过平均的方法可减少因背景减除等预处理方法而引起的偶然误差,而且保留了本质的步态特征。
(4)列向量可对背包类携带物引起的人体区域的扩展具有很强的区分能力,该类携带物的列向量不会随行走过程产生周期改变,更易于提取和识别。
2 特征提取和识别
步态识别就是对人体运动系列进行分析处理识别,主要包括预处理、步态周期检测、特征提取和分类识别4个过程。
2.1 预处理
提取步态特征之前需要做一些预处理工作,方便提取步态特征。通常对步态图像序列使用背景分离、空洞检测和去除噪声等预处理动作。预处理结果的好坏直接影响到识别效果,因此需要选择合适的预处理方法。
常见的步态轮廓提取方法有帧间差分法、背景减除法、光流法等。由于步态数据库背景通常是静止的,背景减除法可以获得很好的分割效果,因此采用此方法。背景减除法的关键是背景建模,常用的背景建模有中值滤波法、均值滤波法、邻帧差法、最小方差均值法等。创建背景图像之后,使用当前图像与背景图像相减,根据选定的方法即可提取人体轮廓,得到人体轮廓图像。提取步态轮廓的过程,基本的方法参照文献[12]使用的背景减除法来提取人体步态侧影。
得到步态轮廓提取之后,在轮廓图片中会出现一些阴影。常见的阴影检测与消除方法:通过像素点的颜色属性或建立模型来检测和消除阴影;然后利用形态学算法消除小噪声;最后对图像作连通性分析,选择像素点最多的连通域作为人体目标区域。
2.2 步态周期
步态的视频往往包括人体的多个走路,并且分析可知具有一定的周期性。若能发现和识别,就能减少运算量和时间的开销,也能减少一些误差。通常一个步态周期由两步构成,可以定义为一条腿向前跨出最远的位置到下次一条腿向前跨出最远的位置所需要的时间。常见的周期检测方法有:Kale等人[8]使用人体宽度向量的泛数的变化曲线;Sarkar等人[10]使用人体的下半身部分像素点的数目大小随时间变化的曲线;Wang Liang等人[12]使用大腿角度的变化提取周期。
通过分析人体运动轮廓的高度和宽度信息来实现步态周期检测。从人体侧面步态序列看出,人在走路过程中,人的走路方式呈现一定的周期规律,即轮廓宽度从最大值变成最小值再到最大值这样的周期变化,同时人体的高度变化不明显。对人体轮廓进行分析容易识别人体最小外接矩阵。从中提取出人体的宽度和高度,得到宽高比如公式(1)所示,利用宽高比的周期变化分析人体运动中的步态周期。
然后在步态序列中根据宽高比提取轮廓周期,如图1所示。由于左脚在前和右脚在前对称,实际中只需要计算半个周期,即从一个最大值到下一个最大值,记为一个周期。根据图1,所得周期范围为(ti,tj),步态的周期T=tj-ti。
图1 步态周期
2.3 列质量向量特征提取
识别的关键在于提取有效描述步态的特征。步态特征提取与识别方法可以分为基于模型的方法与无模型方法两种,前面引言部分已经对基于这两大类方法的国内外研究成果作了简单的介绍。对于无模型方法,步态特征提取与识别方法,并不需要建立模型,只需要通过对图像序列中运动人体生成的时空模式做统计分析,从中观察到步态特性并从中对步态进行特征提取和识别。基于无模型的步态特征提取与识别的方法有很多。
本文提出一种新的使用人体轮廓列质量向量作为步态特征的步态识别方法。其中质量列向量可以表示为:
对步态图片序列提取人体轮廓列质量向量步骤过程如下:
(1)首先从图像序列中求出步态周期,假设Im(m=1,2,…,n)表示一个含有n帧图像的序列,根据上节所说的宽高比求出周期,从中选取一个周期范围(I1,I2),步态的周期T=I2-I1。
(2)然后从图像序列中求出人体质心,质心公式如式(3):
式中(xc,yc)为质心坐标,N为轮廓的像素点总和,xk、yk分别为第k个点的横、纵坐标。
(3)其次依次求出周期内第i张序列图片的列质量向量,公示如式(4):
(4)最后求出周期内列质量向量的平均值:
2.4 SVM分类识别
支持向量机是以统计学习理论为基础的一种新型机器学习方法,具备很强的泛化能力,在模式识别领域取得大量的研究成果[13-14]。对于非线性问题,将低维输入空间中的数据通过非线性函数映射到高维属性空间(也称为特征空间),将分类问题转化到特征空间进行。SVM进行模式分类的计算如公式(6)所示,最后由得出的结果(+1或 -1)来决定类别分类。
但在低维输人空间向高维属性空间映射的过程中,由于空间维数急速增长,可能导致“维数灾难”问题,使得大部分情况下难以直接在属性空间上直接计算最优分类面。SVM通过定义输入空间的核函数(Kernel Function),核函数计算高维空间中的公式:
本文用到的SVM核函数公式主要有线性、多项式和径向基3类。
(1)线性核函数(Linear Kernel):K(x,y)=x·y。
(2)多项式核函数(Polynomial Kernel):K(x,y)=(x·y+1)d,d=1,2,…。
SVM主要是解决二类别模式识别问题,但步态识别是一个多类模式识别,如何将二类识别扩展到多类识别是SVM的技术难点之一。本文采用“一对多”方法,构造K个SVM模型,对于第i个SVM模型,将第i类模型的样本作为一类(正类),输出结果为+1,其余k-1类样本作为另一类(负类),输出结果为-1。
3 步态识别实验
3.1 仿真实验
本文采用了中国科学学院自动化(CASIA)步态数据库的两个数据集:Dataset A(小规模库)、Dataset B(多视角库)。实验都是在Matlab 7.0的条件下完成。
Dataset B是一个大规模、多视角的步态库,共有124 个人,每个人有 11 个视角 (0°,18°,36°,…,180°),分别在3种行走条件下(普通条件、穿大衣、挎包条件)采集,在相同视角下,每个人在普通条件下有6个图像序列,其他条件下各两个序列,每个视频序列包含2~3个步态周期,这些彩色视频序列的帧率是25帧/s,图像像素为320×240,长度也都在100帧左右。
3.1.1 步态列质量向量提取
提取测试样本中人体轮廓的列质量向量。如图2所示为预处理之后的人体轮廓图像,按照提出人体轮廓列质量向量的步骤,提取列质量向量。如图3是提取Dataset A下的hy对应的列质量向量点图。如图4是Dataset A下的fyc和hy的列质量向量特征对比图,fyc列质量向量的特征如红点所示,是hy的列质量向量如蓝色星型所示。
图2 人体轮廓图像
图3 列质量向量图
图4 列质量向量对比
3.1.2 SVM的分类识别
为了评价分类结果引入正确分类率CCR(Correct Classification Rate)作为评价指标。测试样本中,将测试样本Ti输入到经过训练得到的k个分类器,如果Ci输出+1且唯一,其他全输出为-1,本次识别出Ci,正确分类率CCR定义如下:
实验1采用CASIA步态数据库中的A库,库中有20人,在侧面即90°视角下,每个测试者选取两个步态周期,得到40个步态数据样本训练和测试。从每个测试者的两个步态周期随机选取其中的一个作为训练样本,另一个样本用于测试,训练集和测试集共有20个人。按照前面的方法分别提取样本中人体轮廓的列质量向量,可得训练样本有20类,记为M1,M2,…,M20,测试样本20类,记为M1',M2',…,M20'。分别采取线性核函数、多项式核函数和径向基核函数,并设计相对应的分类器。首先设计20个以线性核函数的分类器Ci(i=1,2,…,20),每个Ci用其中的一类样本Mi作为正样本进行训练,输出结果为+1,其他Ci作负样本进行训练,输出结果为-1。这样就把20个分类器Ci设计成功。可以取20个测试样本,通过设计好的分类器对步态样本M1',M2',…,M20'进行模式识别。计算测试样本通过SVM分类器Ci的输出,判断该测试样本属于哪一类,从而识别出步态。同理设计以多项式核函数和径向基核函数分类器,然后进行识别。最后统计测试样本的正确分类率,如表1所示。
实验2采用CASIA步态数据库中的B库,该库总共124人,采用90°视角下,选取普通条件下每个视角选取一个图像序列作为训练样本,采用另一个图像序列作为测试集,分别通过3种内核函数(也包含参数的变化)的SVM对步态样本M1,M2,…,M124进行模式识别,最后统计测试样本的正确分类率,如表1所示。
实验3选用CASIA步态数据库中的B库,测试集为90°视角,挎包条件下每个视角选取一个图像序列作为训练样本,参照实验1的过程,分别通过3种内核函数(也包含参数的变化)的SVM对步态样本M1,M2,…,M124进行识别,最后统计正确分类率,如表1所示。
表1 SVM算法正确识别率 %
3.2 实验结果及分析
从表1中可知,实验1的正确分类率在80%~95%之间,实验结果说明识别率比较高。采用线性内核识别率最低,采用径向基内核时SVM的正确识别率最高。实验2的正确分类率在81.45%~93.55%之间,实验结果表明识别率比较高。采用线性内核识别率最低,采用径向基内核时SVM的正确识别率最高。实验3的结果所示,正确分类率在78.23%~92.74%之间,实验结果表明识别率还是比较高,并且对挎包不敏感,鲁棒性比较好。
3.3 与其他方法的对比
现在有很多技术研究人体的步态识别。薛召军等人[15]采用基本类似的方法来根据人们的运动识别个体,虽然也使用了CASIA步态数据库中的A库,运用到相同的拍摄环境和图片序列,将实验结果与薛召君等人的方法进行对比,文献[15]的实验结果见表1。
将本文方法与文献[16-18]中提及的识别方法进行对比,如表2所示,可以看出本文提出的方法在识别率上有了较大幅度的提高。原因在于基于列质量向量反映了人的整体信息,而每个人的信息都具有独特性。将挎包情形与文献[19-20]的识别方法进行对比,如表3中所示,识别率仍然比较高。原因在于基于列质量向量的步态特征对背包类携带物引起的人体区域的扩展具有很强的区分能力,该类携带物的列向量不会随行走过程产生周期改变,更易于提取和识别。
表2 在CASIA-B库的步态识别正确分类率(与文献[16-18]对比)
表3 在CASIA-B库的步态识别正确分类率(与文献[19-20]对比)
4 结束语
提出了一种利用人体轮廓列质量向量来表征人的步态特征信息,其创新点:
(1)提出了基于列质量向量的步态识别方法,该方法体现步态整体特性,反映本质特征,对背包类携带物引起的人体区域的扩展具有很强的区分能力。
(2)将列质量向量特征提取与SVM识别结合在一起,利用SVM使用一对其余的方法来模式识别不同样本。在中科院自动化研究所的CASIA步态数据库上进行了大量的实验。实验结果表明,列质量向量特征提取和SVM识别结合取得了较高的识别率。
[1]Yang Xiaochao,Zhou Yue.Gait recognition based on dynamic region analysis[J].Signal Processing,2008,88(9):2350-2356.
[2]Niyogi S A,Adelsone H.Analyzing and recognizing walking figures in XYT[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition,Seattle,USA,1994:469-474.
[3]Cunado D,Nixon M,Cater J.Using gait as a biometric,via phase weighted magnitude spectra[C]//Proc of International Conference on Audio and Video-based Biometric Person Authentication,Crans-Montana,Switzerland,1997:95-102.
[4]LeeL,Grimson W.Gaitanalysisforrecognition and classification[C]//Proceedings of the 5th IEEE International Conference on Automatic Face and Gesture Recognition,Washington,DC,USA,2002:148-155.
[5]Yoo J H,Nixon M,Harrisc J.Extracting human gait signatures by body segment properties[C]//IEEE Southwest Symposium on Image Analysis and Interpretation,Sante Fe,NM,2002:35-39.
[6]Yang X,Zhou Y,Zhang T,et al.Gabor phase based gait recognition[J].Electronics Letters,2008,44(10):620-621.
[7]Lu Haiping.A full-body layered deformable model for automatic model-based gait recognition[C]//Proceedings of the 7th International Conference on Automatic Face and Gesture Recgnition,2-6 April,2006:249-254.
[8]Urtasun R.3D tracking for gait characterization and recognition[C]//Proceedingsofthe 6th IEEE International Conference on Automatic Face and Gesture Recognition,Seoul,Korea,2004:17-22.
[9]Kale A,Sundaresan A,Rajagopalan A N,et al.Identification of humans using gait[J].IEEE Transactions on Image Processing,2004,13(9):1163-1173.
[10]Sarkar S,Phillips P J,Liu Z,et al.Human ID gait challenge problem:Data sets,performance,and analysis[J].IEEE TransactionsonPattern Analysisand Machine Intelligence,2005,27(2):162-177.
[11]Xiao Degui,Wang Lei.Gait recognition method based on weighted row mass vector[J].Computer Engineering,2011,37(11):215-217.
[12]Wang Liang,Tan Tieniu,Ning Huazhong,et al.Silhouette analysis-based gait recognition for human identification[J].IEEE Transactionson Pattern AnalysisandMachine Intelligence,2003,25(12):1505-2528.
[13]许国根,贾瑛.模式识别与智能计算在Matlab实验[M].北京:北京航空航天大学出版社,2012:125-136.
[14]李文书,赵悦.数字图像处理算法及应用[M].北京:北京大学出版社,2012:314-337.
[15]薛召军,李佳.基于支持向量机的步态识别新方法[J].天津大学学报,2007,40(1):78-82.
[16]Liu Yanqiu,Wang Xu,Wang Yumei,et al.Multi-view gait recognition using Fourier transform[J].Computer Engineering and Applications,2012,48(6):169-170.
[17]顾磊.基于图像序列的人体步态识别方法研究[D].南京:南京理工大学,2007.
[18]Cai D,He X,Zhou K,et al.Locality sensitive discriminant analysis[C]//Proceedings of the Twentieth International Joint Conference on Artificial Intelligence,2007:708-713.
[19]胡帅.复杂场景下步态识别技术研究[D].哈尔滨:哈尔滨工程大学,2012.
[20]车辚辚,孔英会.基于动态部位特征的步态识别方法[J].计算机应用,2012,32(12):3418-3421.