2. 计算智能重庆市重点实验室, 重庆 400065
2. Chongqing Key Laboratory of Computational Intelligence, Chongqing 400065, China
步态运动的识别和模拟技术一直都是备受学者关注的研究热点, 其在生物特征研究和计算机视觉等领域都有着广泛的应用前景[1-2]。2007年, Taylor和Hinton等人[3]在传统的受限玻尔兹曼机(restricted Boltzmann machine, RBM)模型基础上加入高斯思想和时序依赖条件, 提出了基于GCRBM的时序预测模型, 可以稳定的学习和预测生成复杂的人体运动时间序列数据[4], 但是GCRBM只能对单一种类的时序数据进行很好的预测, 难以识别和预测多类步态时序数据, 并且未应用于真实步态的时序预测。针对该问题, 何正义、曾宪华等人[5]于2016年提出集成DBN和GCRBM的时间序列预测模型, 通过集成多个DBN与GCRBM的深网组, 每一个组合都利用每一类步态数据训练DBN模型[6-8], 并通过DBN低维特征训练每一类GCRBM时序预测模型, 该模型对多类步态数据有一定的识别效果, 而且能将识别到的步态时序进行后期预测与模拟。然而, 通过试验发现, 该模型对于步态数据的识别率还有待进一步提高。因此, 本研究继续利用深度学习(deep learning, DL)的优秀性能[9]和集成学习(ensemble learning)思想, 提出一种集成CNN和DBN的步态识别与模拟方法, 该方法在步态识别阶段引入CNN模型[10]。CNN是一种针对二维数据设计的模拟局部感受野的深层神经网络, 其通过多次卷积和池化提取数据二维特征, 对于图像的特征提取和识别效果很好。本研究提出模型首先训练集成CNN的步态识别模型, 再训练集成DBN和GCRBM的步态时序预测与模拟模型。提出的模型在中国科学院自动化研究所采集的CASIA系列步态数据集进行试验验证, 并结合相关方法(SVM, DBN+RBF, DBN+SVM, 集成DBN, CNN)进行比较。试验结果表明:相比于集成DBN, 本研究方法的步态平均识别率提高了5%~8%, 同时也可以对识别到的步态时序进行后期预测和模拟。
1 相关技术简介本研究提出的方法主要涉及模型有在步态识别阶段用到的CNN模型、在步态时序的预测与模拟阶段用到的集成DBN和GCRBM的时序模型[5]。下面简要介绍两种模型基本原理。
1.1 卷积神经网络CNN是为识别二维图像而设计的一个多层感知器, 该网络结构对图像的平移、比例缩放、倾斜等变换具有高度不变性[10], 其工作原理是通过一系列局部卷积与池化交替运算来获得数据的内在二维特征表示, 并将这些特征通过全连接处理接入到分类层, 进行目标的分类和识别工作。图 1描述了CNN的模型结构。
|
图 1 卷积神经网络模型结构 Figure 1 The structure of convolution neural network model |
图 1中, F1、F2、F3、F4分别表示当前卷积层或池化层的map特征个数; F5、F6分别表示全连接层和输出层的神经元个数。由图 1可以看到, 网络的前向传播过程是对输入的图像进行交替的二维卷积和池化操作来提取特征, 然后再将提取的特征通过全连接处理训练分类器; 网络还通过误差反向传播(back propagation, BP)算法来调整权值和阈值, 该过程首先利用整个网络实际输出与期望输出计算误差目标函数E, 然后通过误差逐层反向传递, 同时计算网络中权值和阈值所对应的梯度信息为:
| $ \frac{{\partial E}}{{\partial K_{ij}^{\left( l \right)}}} = \sum\limits_{u, v} {{{\left( {\delta _j^{\left( l \right)}} \right)}_{uv}}{{\left( {p_i^{\left( {l-1} \right)}} \right)}_{uv}}}, $ | (1) |
| $ \frac{{\partial E}}{{\partial b_j^{\left( l \right)}}} = \sum\limits_{u, v} {{{\left( {\delta _j^{\left( l \right)}} \right)}_{uv}}}, $ | (2) |
式中:(pi(l-1))uv为在计算第l层的第j个特征图中(u, v)位置的神经元输入值时, 其上一层第i个特征图ai(l-1)在进行卷积操作时与卷积核Kij(l)逐元素相乘的一个区域块; (δj(l))uv为遍历第l层的第j个特征图的所有元素。当CNN网络求得所有层的权值和阈值在每一次迭代后的梯度信息后, 同BP算法一样, 再使用梯度下降法[8]更新模型整体参数。
1.2 集成DBN和GCRBM的时序模型集成DBN和GCRBM的时间序列预测模型[5]总体结构如图 2所示, 其中, n个类别的步态时序数据分别训练n个深网结构, 每一个深网结构都由一个DBN和一个GCRBM组成。训练模型时, 每一类步态序列都要先通过DBN编码阶段学习低维特征, 低维特征作为GCRBM模型的输入训练每一类步态序列相应的时序预测模型, 每一个深网结构都会积累学习每一类别时序数据特征, 并更新网络参数[11]。在识别和模拟步态时, 先通过集成DBN对目标数据采用重构误差最小策略识别到类, 再用该类对应的GCRBM预测数据的后期时序, 最后用该类对应的DBN将预测的时序数据重构出步态图像。
|
图 2 集成深层神经网络的总体结构 Figure 2 The overall structure of integrated deepneural network |
在图 2中, DBN模型[6-7]是一种非监督的逐层预训练加网络微调的深层神经网络, 其训练过程是:首先通过多层RBM模型进行网络预训练[12], 然后再将其展开为深层自动编码的双向结构, 网络初始参数即为预训练完成的参数信息, 然后再对展开的网络执行BP学习算法微调参数。当DBN训练完成后, 步态数据的DBN顶层低维特征用来训练GCRBM模型[3-4], 该模型也分为两部分:第一部分是高斯的受限玻尔兹曼机(Gaussian RBM, GRBM)模型, 该模型的网络输出激励函数使用了高斯函数Ν(x)代替sigmoid函数, 解决了RBM不能进行实型数据的训练问题; 第二部分是加条件的受限玻尔兹曼机(conditional RBM, CRBM), 此阶段通过加入直连因子, 结合前面几个时刻的时序过程来模拟一种时间依赖性[3-4], 使得GCRBM可以很好的预测和生成步态后期时序数据。
2 集成卷积神经网络和深信网的步态识别与模拟方法本研究提出的方法首先集成了多个CNN模型用于步态识别, 再集成多个DBNs和GCRBMs模型的深网组合用于步态时序的预测与模拟, 模型总体分为训练阶段和工作阶段, 下面对两个阶段内容进行详细描述。
2.1 训练阶段模型首先利用所有类步态数据训练一组CNN网络, 如图 3所示为集成CNN模型结构图。
|
图 3 集成CNN训练结构 Figure 3 Integrated CNN training structure |
图 3中共包含了t个CNN基分类器, 原始步态图像输入为模型的输入, 每一个CNN网络的卷积池化构造和节点设置都不一样。这其中, 每一个CNN都经历如下训练:(1)通过多次卷积池化(C1, S2, C2, S2, …)操作得到原始数据的最终隐藏层特征的全连接向量FCL; (2)将FCL特征向量通过神经网络(neural network, NN)分类器得到输入图像的网络输出O; (3)结合网络输出O和数据标签信息Label, 利用最小二乘策略得到网络的目标函数, 然后将目标函数误差进行反向传播, 在误差传播过程使用梯度下降法不断更新当前CNN网络的卷积核权值和各层阈值参数。集成CNN训练算法为
算法1 集成卷积神经网络模型训练算法
输入: 训练集X={(x1, y1), (x2, y2), …, (xn, yn)}, 网络的学习率η, 每批训练样本的数量N, CNN基分类器的个数T, 每一网络迭代次数iter
输出: 训练完成的集成卷积神经网络模型(每一个不同CNN的网络结构与参数)
过程:
1: for i=1:T do
2:构造当前CNNi的卷积池化结构k/s及网络每层节点数量n(l)的设置;
3: repeat
4:在(0, 1)范围内随机初始化CNNi中所有的权值和阈值
5: for i=1→N do
5:根据当前网络参数计算当前批次样本正向传播的网络输出;
6:根据式(1)(2)计算网络中各层权值和阈值梯度Δwij、Δbi;
7:根据梯度下降法原理更新网络中所有权值wij和阈值bi
8:end for
9: until迭代次数达到iter
10: end
当集成CNN模型训练完成, 再利用多类步态数据对应训练多个DBNs和GCRBMs的深网组合[5]。
2.2 工作阶段提出模型首先对步态数据进行识别, 该过程训练多个不同结构的CNN基分类器, 最后通过投票决定某一类数据的分类结果。具体来讲, 分类器hi(i=1, 2, …, T)将某一数据x从类别标记集合{c1, c2, …, cN}中预测出一个类标记, 最后通过投票组合策略判断x属于哪一类, 可表达如下:
| $ C\left( x \right) = {c_j}, $ | (3) |
式中:
|
图 4 集成CNN和DBN的步态时序识别与模拟工作流程 Figure 4 Gait timing identification and simulation workflow of integrated CNN and DBN |
图 4中步骤可以简单描述为:(1)一个新的步态短周期序列G, 遍历卷积神经网络组CNN1~CNNT; (2)步态序列通过CNN1~CNNT得到该步态序列的T个不同分类结果; (3)通过“少数服从多数”的投票机制决定该步态序列的归类, 最后得到步态数据的类别c; (4)利用已经训练好的集成深信网模型, 找出其相对应类别的DBNc的低维特征topc的相应特征表达; (5)利用topc作为对应类别的时序模型GCRBMc的输入, 以此预测后期时序的低维特征; (6)模型预测的后期时序低维特征再通过对应类别的DBNc解码重构原始高维空间数据; (7)将重构出的时序数据转换为步态图像序列, 完成步态模拟工作。提出模型的工作流程算法为:
算法2 集成CNN和DBN的步态识别与模拟算法
输入:某一类步态数据当前周期短序列G; 集成深信网中n个子网模型参数wi/bi和Ai/Bi, i=1, …, n; 集成CNN中T个基分类器的模型参数Kj, j=1, 2, …, T; 模拟时序的目标帧数m; 步态时序的后期预测低维特征g
输出:对当前周期短序列步态数据G的m帧时序预测数据和模拟图像
过程:
//步态识别阶段
1:加载集成CNN的网络参数Kj, j=1, 2, …, T
2: for i=1;i < =T do
3:步态序列G作为当前CNNi模型的输入, 得到当前数据类别标记输出结果cj
4: end for
5:根据式(3)的投票规则, 得到集成CNN对目标时序的判定类别输出为第c类
//步态模拟阶段
6:利用G的类别相对应的DBNc模型低维特征topc作为相对应类别时序模型GCRBMc的输入, 预测后期m帧时序低维特征g;
7:预测的时序低维特征g通过相对应的DBNc重构出原始空间数据G′。
3 算法时间复杂度比较在步态识别阶段, 本研究一共使用了6种相关方法进行对比。首先, 第一种是直接使用SVM分类器[13]对全部步态数据进行学习和分类, 假定SVM模型的支持向量个数为k, 训练数据样本数为L, 每个样本的维度为d, 则SVM的时间复杂度最低可为:O(k3+Lk2+dLk); 第二种是先训练一个DBN网络对全部步态数据进行降维, 再用低维特征使用径向基神经网络(Radial Basis Function, RBF)进行分类[14], 整体网络迭代了e次, 在不考虑RBF内部细节的情况下, 其时间复杂度即为O(e); 第三种也是先训练一个DBN网络对全部步态数据进行降维, 再用其低维特征使用SVM分类, 同样在不考虑SVM内部细节情况下, 其时间复杂度与DBN+RBF一致, 也为O(e); 第四种是集成DBN模型, 其在训练阶段一共需要遍历n个深网络, 其中每个深网中遍历m个RBM。其中每个RBM执行训练的时候迭代次数为e1次, 所以整个预训练过程时间复杂度为O(me1)。DBN模型微调过程执行迭代次数e2次, 后期GCRBM执行迭代次数为e3次, 那么集成DBN模型总体训练时间复杂度可以表示为O(n(me1+e2+e3)); 第五种方法是CNN模型[15-19], 其训练过程迭代了e次, 除去CNN内部细节, 其宏观时间复杂度为O(e); 第六种即为本研究提出的集成CNN模型, 在不考虑每个模型内部因素和样本细节的情况下, 集成CNN模型在训练阶段一共需要集成t个CNN基分类器, 每一个CNN模型需要迭代e次, 所以其总体训练时间复杂度为O(te)。
本研究提出的方法不仅要经历集成CNN训练, 还要涵盖集成DBN的执行过程, 时间复杂度大大超出了相关对比方法, 在这一点本研究提出方法并不占有优势。然而, 也正是因为集成深度学习思想, 才使得模型可以对每一类别数据都能很好地学习其深层特征, 同时相比单分类器提高了泛化性能, 在对数据的分类和识别上才会取得更好的效果。
4 试验与结果 4.1 试验数据介绍为了验证模型对步态时序的识别和模拟性能, 本研究采用中国科学院自动化研究所采集制作的公开步态CASIA系列数据集[20]进行了试验, 对其中的CASIA-A和CASIA-B数据集随机选择了16个人正常情况下的水平向左步行数据和10个人的背包情况下水平向左步行的行走数据, 前者用“Gait_nm”表示, 后者用“Gait_bg”表示。所有数据中, 每一个人的步态序列对应一个类别, 每一类别序列数都是120帧。试验对每一类别采用其前100帧作训练集, 后20帧作测试集。试验数据分布情况见表 1。
| 表 1 所有实验数据样本分布情况 Table 1 Distribution of all experimental data samples |
由于集成深度学习模型训练过程非常耗时, 模型整体参数繁多, 试验硬件环境和内存资源无法支持大规模图像特征提取等因素, 因此本研究在集成CNN的参数配置中只集成了3个不同卷积池化结构的CNN基分类器, 并且所有训练阶段在具有48 GB内存的服务器上执行。3个基分类器的结构设定可如表 2所示。
| 表 2 3个CNN基分类器参数配置情况 Table 2 Configuration of three CNN base classifier parameter |
对于集成DBN与GCRBM的步态时序预测和模拟模型的参数配置中, 根据神经网络参数配置经验、模型运行情况以及网络收敛效果等多方面反复试验、观测和推敲, 最终得到集成模型合理的参数配置:每一个深网中DBN网络含有5层网络(输入层、顶层输出和3个隐藏层), 时序模型含有3层网络。试验中每一个深网向上学习采用“15 000-5 000-1 000-500-100”结构, 即输入层和顶层数据维度为15 000和100, 中间3个隐藏层节点数分别为5 000、1 000和500。3层时序模型结构是“100-100-100”, 即输入层、隐层和输出层3层都是100个节点。所有深网中, RBM预训练阶段迭代次数为300次, BP神经网络微调次数为200次。训练时序模型时, 对其中GRBM和CRBM的训练迭代次数都是2 000次。
4.3 试验结果及分析 4.3.1 步态识别结果为验证提出方法的步态识别率情况, 与其他几种方法进行了对比试验[5, 13-15, 17-18]。图 5显示了几种方法对两种数据集的各类步态样本识别率情况。
|
图 5 几种方法的步态样本识别率对比结果 Figure 5 The contrastive result of several methods′ gait recongnition rate |
从图 5可以看出, SVM和DBN+RBF两种方法对于各个类别的步态样本识别效果比较紊乱, 大部分识别率较低; 与前两者相比, DBN+SVM的步态识别效果改进很多; 而集成DBN、CNN和集成CNN三种方法比其他方法效果都要好很多, 对于每一类的步态样本识别情况几乎都在70%以上; 相比之下, CNN的识别率优于集成DBN, 而集成CNN方法效果更佳, 对每一类步态的样本识别率都可以保持在80%以上且很平稳, 而且大部分都在90%以上, 这体现了本研究提出方法的优势。图 6则显示了各种方法对每一类步态全部样本的平均识别率, 从总体平均识别情况来看, 本研究提出的集成CNN方法同样优于其他几种方法。
|
图 6 几种方法的步态样本平均识别率对比情况 Figure 6 The contrastive result of several methods′ average gait recognition rate |
对于集成CNN模型识别出来的步态序列, 根据对应类别的DBN模型的低维特征, 结合GCRBM时序模型进行该类步态时序的后期低维特征预测, 然后再利用DBN模型的数据重构功能模拟出预测时序的原始图像效果。图 7显示了测试数据中的某一短周期序列, 和模型预测的步态中某一短周期序列对比情况。
|
图 7 原步态序列和预测的步态序列对比 Figure 7 Comparison of original gait sequence and predicted gait sequence |
相比于原图像, 步态预测和模拟效果有一些轻微噪声, 后期通过数字图像处理方法中的双峰值分割法加中值滤波对其进行去噪。图 8为步态模拟及其降噪结果对比。通过试验结果可以看出, 本研究提出模型可以对识别出的步态序列进行后期时序的良好预测和模拟。
|
图 8 时序模拟结果及其优化效果 Figure 8 The simulated results and optimized effect of time series |
本研究提出了一种集成卷积神经网络和深信网的步态识别与模拟方法, 首先利用所有类步态数据训练多个CNN基分类器, 然后对每一类数据独立训练一个DBN和GCRBM的深网组合。在步态识别和模拟时, 首先采用投票法得到集成CNN模型对某一类数据的分类结果, 再使用该类的DBN顶层低维特征通过GCRBM得到步态时序的预测结果, 并采用该类的DBN重构阶段得到后期时序的步态图像模拟效果。通过在中国科学院自动化研究所采集的CASIA系列步态数据集上进行试验, 试验结果表明本研究方法较集成DBN方法[5]在步态平均识别率上有所改进, 最高可提高8%, 而且提出模型也能将步态时序预测结果模拟出真实的步态序列。
| [1] |
卢官明, 衣美佳. 步态识别关键技术研究[J].
计算机技术与发展, 2015, 25(7): 100-106 LU Guanming, YI Meijia. Research on critical techniques in gait recognition[J]. Computer Technology and Development, 2015, 25(7): 100-106 |
| [2] |
夏时洪, 魏毅, 王兆其. 人体运动模拟综述[J].
计算机研究与发展, 2010, 47(8): 1354-1361 XIA Shihong, WEI Yi, WANG Zhaoqi. A survey of physics-based human motion simulation[J]. Journal of Computer Research and Development, 2010, 47(8): 1354-1361 |
| [3] | TAYLOR G W, HINTON G E, ROWEIS S T. Modeling human motion using binary latent variables[C]//Advances in Neural Information Processing Systems (NIPS 19). Vancouver, BC, Canada: MIT Press, 2007: 1345-1352. |
| [4] | TAYLOR G W, HINTON G E, ROWEIS S T. Two distributed-state models for generating high-dimensional time series[J]. Journal of Machine Learning Research, 2011, 12(2): 1025-1068 |
| [5] |
何正义, 曾宪华, 曲省卫, 等. 基于集成深度学习的时间序列预测模型[J].
山东大学学报(工学版), 2016, 46(6): 40-47 HE Zhengyi, ZENG Xianhua, QU Shengwei, et al. The time series prediction model based on integrated deep learning[J]. Journal of Shandong University(Engineering Science), 2016, 46(6): 40-47 DOI:10.6040/j.issn.1672-3961.1.2016.213 |
| [6] | HINTON G E, SALAKHUTDINOV R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507 DOI:10.1126/science.1127647 |
| [7] | HINTON G E, SALAKHUTDINOV R. Supporting online material for "reducing the dimensionality of data with neural networks"[J]. Science, 2006, 504(5786): 504-507 |
| [8] | HINTON G E, OSINDERO S, TEH Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554 DOI:10.1162/neco.2006.18.7.1527 |
| [9] | LECUN Y, BENGIO Y, HINTON G E. Deep learning[J]. Nature, 2015, 521(7553): 436-444 DOI:10.1038/nature14539 |
| [10] | KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 25(2): 2012 |
| [11] | ZENG Xianhua, LUO Siwei, WANG Jiao. Auto-associative neural network system for recognition[C]//International Conference on Machine Learning and Cybernetics (ICMLC 2007). Hong Kong, China: IEEE Conference Publications, 2007: 2885-2890. https://ieeexplore.ieee.org/document/4370640/ |
| [12] | HINTON G E. A practical guide to training restricted Boltzmann machines[J]. Momentum, 2012, 9(1): 599-619 |
| [13] |
周若愚. 基于SVR与半监督学习的时间序列预测[D]. 西安: 西安电子科技大学, 2014.
ZHOU Ruoyu. A predicting time series model based on support vector regression and semi supervised learning[D]. Xi'an: Xidian University, 2014. http://www.doc88.com/p-8896313197429.html |
| [14] |
张玉瑞, 陈剑波. 基于RBF神经网络的时间序列预测[J].
计算机工程与应用, 2005, 41(11): 74-76 ZHANG Yurui, CHEN Jianbo. A predicting time series model based on radial basis function neural network[J]. Computer Engineering and Application, 2005, 41(11): 74-76 DOI:10.3321/j.issn:1002-8331.2005.11.024 |
| [15] |
王欣, 唐俊, 王年. 基于双层卷积神经网络的步态识别算法[J].
安徽大学学报(自然科学版), 2015, 39(1): 32-36 WANG Xin, TANG Jun, WANG Nian. Gait recognition based on double-layer convolution neural network[J]. Journal of Anhui University(Natural Science Edition), 2015, 39(1): 32-36 |
| [16] |
吴军, 肖克聪. 基于深度卷积神经网络的人体动作识别[J].
华中科技大学学报(自然科学版), 2016, 44(Suppl.1): 1-7 WU Jun, XIAO Kecong. Human activity recognition based on deep convolution neural networks[J]. Journal of Huazhong University of Science and Technology(Natural Science Edition), 2016, 44(Suppl.1): 1-7 |
| [17] | WU Z, HUANG Y, WANG L, et al. A comprehensive study on cross-view gait based human identification with deep cnns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(2): 209-226 DOI:10.1109/TPAMI.2016.2545669 |
| [18] | WOLF T, BABAEE M, RIGOLL G. Multi-view gait recognition using 3D convolutional neural networks[C]//IEEE International Conference on Image Processing. Phoenix, AZ, the United states: IEEE, 2016: 4165-4169. |
| [19] | ALOTAIBI M, MAHMOOD A. Improved gait recognition based on specialized deep convolutional neural networks[C]//Applied Imagery Pattern Recognition Workshop. Washington, DC, USA: IEEE, 2015: 1-7. |
| [20] | YU S, TAN D, AN T, et al. A framework for evaluating the effect of view angle, clothing and carrying condition on gait recognition[C]//The 18th International Conference on Pattern Recognition. Hong Kong, China: IEEE, 2006: 441-444. |


