基于CNN与SVM融合的步态识别方法

2019-05-07 09:23张加加王修晖
中国计量大学学报 2019年1期
关键词:识别率网络结构步态

张加加,王修晖

(中国计量大学 信息工程学院,浙江 杭州 310018)

近年来,随着人脸识别和指纹识别技术的日益成熟,越来越多的学者将目光转向了其它人类身份识别方法,其中,步态识别算法逐渐成为众多学者研究的一个热点。步态识别是计算机视觉和生物特征识别领域中的一个研究方向。在计算机视觉中,人体运动步态的视觉分析是从运动轮廓图像序列中进行人的检测、跟踪和识别[1];在生物特征识别中,是利用人的生理或行为特征进行人身份的鉴别[2]。步态识别算法的过程可以分成三步:运动分割、特征提取与描述、步态识别。与人脸识别、指纹识别等生物特征识别技术相比,步态识别最大的优势[3]是不需要近距离的接触,它可以在远距离的情况下用于识别一个人的身份,正是因为步态识别的远距离非接触性的优点,所以步态识别技术在智能监控[4]和医疗诊断[5]方面已经有了一定的研究究成果。

在传统的步态识别中,都是人们手动设置模型参数来提取步态特征,然后用这些步态特征来训练分类器,而深度学习中的卷积神经网络(convolutional neural network,CNN)是一种能够自适应学习特征的方法。传统的步态识别方法可以分为两类:基于模型的方法和基于特征的方法。基于模型的方法是先构建一种人体模型,然后跟踪分析模型的参数,最后进行步态识别。在最新研究中,基于人体骨架模型的步态识别方法得到了较好的研究成果,文献[6]介绍了一种利用kinect传感器提取人体骨架信息构建一个数学模型来进行步态识别的方法。基于特征的方法是直接从人体图像中提取出步态的特征数据用于步态识别。文献[7]提出了一种基于连续密度隐马尔科夫模型的人体步态识别方法,该方法借助于Cox回归分析的渐进自适应算法对训练过的步态模型进行参数自适应和步态识别。刘磊等[8]选择下肢表面肌电信号等特殊步态识别信息源,提出了一种基于多核相关向量机的人体步态识别方法。Chen等[9]提出了一种利用2D-EGEI提取步态特征的方法来进行步态识别。Wang等[10]提出了一种利用Gabor小波优化步态能量图,并使用(2D)2PCA方法进行降维的步态识别方法。此外Sagar[11]提出了一种融合两种模型来进行步态识别的方法。实际上,以上提出的方法都是基于传统步态特征的提取和描述。基于传统模型的方法虽然在一定程度上缓解了各种外界障碍物的影响,但对于解决不同视角下步态特征之间的高度非线性相关性依然缺乏有效的建模手段,且无法很好的自适应学习步态特征。

自2012年AlexNet问世至今,几乎在每年的ILSVRC大赛上都会出现一个更加优秀、更具有统治地位的CNN网络模型出现。其中知名的模型有AlexNet[12]、GoogLeNet[13]、VGGNet[14]和ResNet[15]。近年来卷积神经网络发展迅速,在图像分类问题上更是大放异彩,例如张等[16]提出的一种Joint-Res CNN在人脸识别上可达到93.12%的识别率;薛等[17]提出的一种CNN网络模型结构在SAR图像分类上的准确率可达到98.98%。以卷积神经网络为基础的模型提供了对图像和序列数据进行特征抽取的有效方式,步态识别作为以图像序列为输入的任务,也适合运用深度学习方法进行建模。基于神经网络的非线性模型也给消除步态识别中外界障碍物的影响提供了有效的解决手段,例如Wu等[18]提出的基于CNN的跨视角步态识别方法的识别率可以高达94.1%。

鉴于CNN网络结构能够自适应提取特征,以及对图像的平移、比例缩放、倾斜等变换具有高度不变性,我们提出了一种基于CNN的步态识别方法。首先我们训练一个CNN网络模型提取个体步态序列图像的特征,最后利用SVM分类器对个体进行分类识别。我们的主要贡献有:1)提出了两种多通道CNN网络结构,使步态特征更加多样性;2)将CNN网络结构和SVM分类器结合起来构建了一个新的步态识别架构,有效地提高了步态识别的正确率;3)在公开步态数据集CASIA和OU-ISIR上进行了验证测试,并取得了较好的分类效果。

1 步态特征提取

为了能够自动学习人体步态图像的特征,我们提出的步态识别方法,结合了CNN自适应提取特征和SVM泛化能力强的优点。我们将整个步态识别过程分为两个阶段:第一阶段利用CNN网络结构自动提取步态训练集的步态特征,并将这些步态特征作为第二阶段的输入;第二阶段采用支持向量机(support vector machine, SVM)进行步态识别和分类。我们采用步态轮廓图作为算法的输入,并构造出对应的步态能量图(GEI),流程图如图1。

图1 步态识别流程图Figure 1 Flowchart of the proposed gait recognition method

1.1 CNN网络结构提取步态特征

CNN主要由卷积层、池化层和全连接层组成。在本文中,我们使用的步态训练集和步态测试集都是经过预处理的步态能量图(GEI),步态能量图经过卷积、池化提取局部步态特征信息,然后用全连接层整合卷积层或者池化层中的局部信息,输出对应输入步态能量图的特征向量。训练时将全连接层的输出特征向量连同训练样本的标签一同输入到损失函数层进行损失计算,最后利用反向传播算法来训练我们的CNN网络结构,经过多次迭代训练出一个最优的CNN网络模型,从中取出全连接层输出的步态特征向量作为第二阶段SVM分类器的输入。

在本文中,我们提出了三种不同的CNN网络结构来提取步态特征,分别是单通道卷积CNN网络结构(SCNN)、早期多通道卷积CNN网络结构(ECNN)和晚期多通道卷积CNN网络结构(LCNN),如图2。这三种CNN网络结构都是由三层卷积,三层池化,一层全连接层组成,所有卷积核的滑动步长都为1,卷积后使用激活函数ReLU,所有池化窗口的大小都为2×2,滑动步长为2,全连接层中,我们添加了dropout函数。值得注意的是在早期多通道卷积CNN网络结构和晚期多通道卷积CNN网络结构中,我们分别在不同阶段添加了多通道卷积技术。

图2 三种CNN网络结构Figure 2 Three CNN network structures

1)在单通道CNN网络结构(SCNN)中,我们使用的是简单的单通道CNN网络结构,输入为一张步态能量图(GEI),输出为这张步态能量图(GEI)对应的步态特征。单通道CNN网络结构中,第一层卷积核的大小为9×9,卷积核数量为16,第二层卷积核大小为7×7,卷积核数量为64,第三次卷积核大小为5×5,卷积核数量为256。

2)在早期多通道卷积CNN网络结构(ECNN)中,我们在第二层卷积中,应用了多通道卷积技术,多通道卷积技术能够得到具有多样性特征的步态特征面。我们将得到的多样性步态特征整合到一起作为第三层卷积的输入,在多样性步态特征的基础上,第三层卷积后的步态特征会更具有代表性。早期多通道卷积CNN网络结构中,第一层卷积核的大小为9×9,卷积核数量为32,第二层的多通道卷积中,一个通道的卷积核大小为7×7,另一个卷积核的大小为5×5,两个通道的卷积核数量都为32,经过Concat连接后得到64个特征面,第三层卷积核大小为5×5,卷积核数量为256。

3)晚期多通道卷积CNN网络结构(LCNN)和前一个网络结构很相似,它们的不同之处是在于何时应用多通道卷积技术。在这个网络结构中,我们在最后一层应用多通道卷积技术,将第二层卷积后得到的步态特征利用多通道技术再一次进行卷积,这次卷积后得到的多样性步态特征直接作为我们的输出步态特征。晚期多通道卷积CNN网络结构中,第一层卷积核的大小为9×9,卷积核数量为32,第二层卷积核大小为7×7,卷积核数量为64,第三层的多通道卷积中,一个通道的卷积核大小为7×7,另一个卷积核的大小为5×5,两个通道的卷积核数量都为128,经过Concat连接后得到256个特征面。

1.2 三种CNN网络结构的比较

本文提出了三种不同的CNN网络结构,第一种单通道卷积CNN网络结构(SCNN)是最原始的CNN网络结构,它所提取的图像特征比较少,不具有多样性,对图像识别的结果有一定的误差。第二种和第三种都是一种创新的CNN网络结构,融合了多通道卷积技术。两者的主要区别是第二种CNN网络结构中的多通道卷积核仅将一些简单的图像特征融合后再传入第三层卷积层,而第三种CNN网络结构中的多通道卷积核提取的都是抽象的高级图像特征,因此在最后的识别效果上是最好的。和第一种单通道卷积CNN网络结构相比,第二种和第三种多通道卷积CNN网络结构模型较复杂,训练时间大约增加了一倍。

2 步态分类

步态训练集经过第一阶段CNN网络结构的全连接层后可以得到一个低维的步态特征向量,本阶段利用SVM将第一阶段提取的步态特征向量从一个低维空间映射到高维空间,然后在这个新的空间中求取样本的最优线性分类面,而这种非线性变换是通过定义适当的核函数实现的。特征空间最优线性分类面函数如式(1):

(1)

其中,(x,xi)是步态样本特征空间中的两类可分样本集,yi∈{1,2,…,n}是步态样本特征空间的类标记,b是分类阈值,k(xi,x)是通过满足Mercer条件而引入的代替特征空间内积的非线性核函数。本文算法使用RBF核函数进行计算:

(2)

通过求取下列函数Q(α)的最优化解αi(i=1,2,…,n)来确定最优分类面函数。

(3)

(4)

式(3)是不等式约束下的二次函数极值求解,满足式(4)的条件且αi≥0,i=1,2,…,n。由核函数k(x,xi)的正定性决定了Q(α)是凸函数,由于其局部最优解也就是全局最优解,因此解是唯一的。最优化的过程实际上就是使分类间隔最大的过程。

支持向量机的最优分类函数为

(5)

训练时将第一阶段全连接层的输出特征向量连同训练样本的标签一同输入到SVM训练器中,经过调整核函数的参数,得到一个优化后的SVM分类器。

经过训练CNN网络结构和SVM分类器,整个步态识别方法的识别模型就已经形成了,将我们的步态测试集放入这个步态识别模型中,就可以自动得到每个步态个体的类别标签。本文提出的基于CNN和SVM融合的步态识别算法工作流程如下:

//训练CNN网络模型阶段

Input:步态训练集X={x1,x2,…,xn}

Output:步态训练集对应的步态特征

1:初始化所有的权值和偏置;

2:for epoch =1 to MAXEPOCH do;

3:卷积层提取特征;

4:池化层降低特征向量维数;

5:将特征向量连接到全连接层;

6:计算每个样本的实际输出;

7:计算网络中权值和偏置的偏导数;

8:使用反向传播算法更新所有权值和偏置;

9:End for

//SVM模型训练阶段

10:输入CNN网络模型训练阶段提取的步态特征向量;

11:调整核函数的参数;

//测试

12:将步态测试集数据放入训练好的整个模型中,得出每个步态个体的类别。

3 实验结果与分析

在该部分中,为了验证方法的有效性和可行性,分别在CASIA-B和OU-ISIR Large Population这两个步态数据库上进行了实验评估。利用三种不同的模型来进行步态识别实验,通过调节模型参数及对比实验结果反馈,验证基于CNN与SVM网络模型对步态识别的可行性及有效性。

本实验的计算机配置:服务器4台,GPU显卡12块,内存128 GB+256 GB,机械硬盘4TB+12TB,固态硬盘400 GB 2个,512 GB 2个;软件配置:TensorFlow。

3.1 在CASIA-B数据库上的实验

CASIA-B数据库是个多视角的步态数据库,该数据库提供了124个对象在三种不同条件下的步态能量图(Gait Energy Image, GEI),分别是正常条件(NM)、背包条件(BG)和穿大衣条件(CL),每种条件下又包含了11种不同的视角。每个个体都有10组步态序列图像,其中正常条件下的步态序列有6组,背包条件和穿大衣条件下各2组。在图3中我们列举了一个个体在CASIA-B数据库中的数据样本。

图3 CASIA-B数据集中的步态样本示例Figure 3 Gait samples from CASIA Dataset B

实验中,所有输入图片的大小经过调整后为200×200,在CNN网络结构训练阶段,所有网络都经过了20 000次循环,每个批次用11张图像,网络初始学习率为0.000 1,在SVM训练阶段,我们使用的核函数为RBF,惩罚因子C设为100,gamma设为0.000 01。

3.1.1 NM环境下的实验对比结果

在该实验中,使用的训练集是4组Galley NM集,测试集是2组Probe NM集,实验得出了各个角度下的识别率。将实验结果分别和文献[9]、[10]两种传统方法和[19]中提出的基于神经网络的方法进行了对比,对比结果如表1。

表1 NM环境下各角度识别率的实验对比Table 1 Correct recognition rates of different algorithms under the NM condition %

3.1.2 BG和CL环境下的实验对比结果

在该实验中,我们用的训练和测试方法和文献[20]中提出的方法一样,[20]和[21]文提出的都是一种基于传统的特征提取的步态识别方法。为了验证我们提出的方法对背包和穿大衣状态具有鲁棒性,将我们的实验结果和文献[20]、[21]中的实验结果进行了对比,实验对比结果如表2。

表2 BG和CL环境下识别率的实验对比

3.1.3 实验结果分析

由表1可以看出,我们提出的三种步态识别方法和其它三种方法相比,在各角度下的识别率都具有明显优势,这是因为我们提出的方法所用的步态特征是利用步态能量图(GEI)所提取的平均步态周期性变化特征,然后利用卷积神经网络(CNN)自适应学习特征的能力提取更抽象的步态特征,最后利用SVM分类器进行步态分类,结合了步态能量图、卷积神经网络(CNN)和SVM三者的优势。从表2中,可以看到,我们提出的方法在识别率上远远高于其它两种方法,主要也是因为本文用于提取步态特征的方法有效地利用了卷积神经网络(CNN)自适应提取更抽象的步态特征的优势,而文献[20]和[21]两种基于传统的步态特征提取方法无法很好的自适应学习步态特征,且仅利用了步态能量图(GEI)作为步态特征。通过两个实验对比结果可以看出,不管是在NM环境下,还是在BG和CL环境下,我们提出的方法和其它方法相比都具有明显的优势,这说明我们提出的方法在步态识别上确实是可行的。

3.2 在OU-ISIR Large Population数据库上的实验结果与分析

OU-ISIR大型人口数据库包括4 000多个个体,个体的年龄范围是1到94岁,每个个体使用四个视角的摄像机进行记录:55°、65°、75°和85°。在所有常用于步态识别评估的数据集中,该数据集是受试者数量最多的数据集之一,因此在性能评估方面具有可靠性。图4显示的是OU-ISIR Large Population数据库上的样本实例。

图4 OU-ISIR数据库中的步态样本实例Figure 4 Gait samples from the OU-ISIR Dataset

实验中,所有输入图片的大小为88×128,经过CNN网络结构的卷积池化以后,最终得到的是大小为11×16的特征面。在CNN网络结构训练阶段,所有网络的都经过了20 000次循环,每个批次用40张图像,网络初始学习率为0.000 01,在SVM训练阶段,我们使用的核函数为RBF,惩罚因子C设为100,gamma设为0.000 01。在表3中,我们记录了每个角度的识别率,并且和Iwama等人[22]提出的利用GEI特征的步态方面进行了对比。

表3 OU-ISIR Large Population数据库上各角度实验对比结果

Table 3 Correct recognition rates on the OU-ISIR Large Population Dataset

角度/(°)SCNN/%ECNN/%LCNN/%GEI/%5588.0089.8090.4084.706591.0092.2093.0086.637590.4090.8091.4086.918585.6087.8089.7085.72

从表3可以看出,本文提出的方法识别率也是高于Iwama提出方法的识别率的,和文献[23]、[24]一样,他们都是传统的非自适应学习特征的方法,仅利用了步态能量图(GEI)作为步态特征。由此可以进一步得出,不管是在CASIA-B数据库中还是OU-ISIR Large Population数据库中,利用卷积神经网络(CNN)自适应学习能力提取的步态特征具有广泛性和有效性,因为卷积神经网络提取的特征具有高度不变性,再结合SVM分类器的非线性特征,就可以达到很好的分类效果。通过以上三个实验的对比结果,我们不难看出,本文提出的结合CNN和SVM分类器的步态分类方法,的确具有广泛的可执行性。

4 结 语

本文将CNN网络和SVM分类器结合起来应用在了步态识别上,从实验结果可以看出,本文提出的步态识别方法得确取得了很好的识别效果,但我们的方法只是多视角的步态识别,并不是跨视角的识别方法,且是在有监督的情况下进行步态特征学习的,所以我们接下来的研究重点就是如何在无监督的情况下,训练出一种能取得较好识别效果的步态模型,并将它做成一个完整的步态系统。

猜你喜欢
识别率网络结构步态
基于步态参数分析的老年跌倒人群步态特征研究
快递网络结构研究进展
基于AutoML的保护区物种识别①
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
听力正常青年人的低通滤波言语测试研究*
基于面部和步态识别的儿童走失寻回系统
步态识人
档案数字化过程中OCR技术的应用分析
科技文档中数学表达式的结构分析与识别
基于时效网络的空间信息网络结构脆弱性分析方法研究