粒子群优化BP神经网络在步态识别中的研究

2019-10-08 05:37邹倩颖王小芳
实验技术与管理 2019年8期
关键词:步幅质心步态

邹倩颖,王小芳,2

(1. 电子科技大学成都学院,四川 成都 611731;2. 西华师范大学 计算机学院,四川 南充 637002)

步态识别是一种通过个体在走路时不一样的姿态来识别个体身份的生物识别技术[1]。常见的步态识别方法有最近邻NN(Nearest-Neighbor)分类[2]、人工神经网络ANN(Artificial Neural Networks)、隐马尔可夫模型HMM(Hidden Markov Model)[3]等。传统的BP神经网络在进行训练时易出现局部最小值、收敛速度过慢、分类效果不理想的问题,不能够保证收敛到全局最优点,且提取的步态轮廓图噪声较大[4-5]。针对上述问题,本文提出利用背景减除法对采集图片进行分割,经过二值化处理后进行特征提取。该方法引入形态学细化思想将二值化图片进行骨架化,对骨架图在二维平面上抽取步幅、步态周期、质心距、质心轮廓夹角等4个特征值,并将其转化为特征值矩阵,解决图像噪声大、不易提取特征值问题;将粒子群优化算法与BP神经网络相结合进行模式识别与分类;将特征值矩阵初始值代入优化后的神经网络进行训练,以加快学习速率、克服陷入局部最优等情况,同时还可提高识别准确率。

1 数据采集

在预处理阶段需要对运动目标进行提取,通过建立背景模型来提取运动目标[6]。本文采用背景减除法进行背景分割,将分割出来的运动目标进行二值化处理。利用图像形态学中的腐蚀、膨胀和开闭运算,将二值化过程中产生的孤立点、间隙和孔洞等干扰噪点去除,获取较为完整的目标人像序列。用形态学细化方法将人体骨架化,即利用二值形态学中细化算法将人体整体以带有中轴的骨架形态显示出来,突出目标形状特点和拓扑结构,减少冗余信息量。基于二值化结果,提取出人体轮廓质心和计算出人体运动过程中的步幅变化和周期,在排除干扰因素后将结果代入优化后的BP神经网络中进行训练。

1.1 轮廓质心距提取

在一个完整人体步态序列中,提取第k帧的二维人体轮廓线,得到运动轮廓后,使用边界轮廓提取算法Canny算法[7-8]提取轮廓线上的坐标点,计算轮廓质心坐标,公式表达为:

式中,xc和yc是质心坐标,Nb是轮廓线上点的个数,(xi,yi)是轮廓线上点的坐标。

1.2 步幅及周期提取

步态变化具有周期性,体现为侧影图像像素数目的变化。考虑到步态具有对称性,统计一个序列中侧影像素数目,两个极大值之间的距离可表示半个步态周期。本文采用文献[3]提出改进的Robert边缘检测算法计算本文步态序列周期。

如图1所示,通过测出骨架图中脚部A点与B点的距离L,可以推算出步幅。A与B的距离为最大步幅L1,在坐标图中表示波峰位置;同理,波谷即为双脚交替时的步幅。设采样一帧的时间t为1 ms,2个波峰间采样15帧,即一个步幅周期T=t×15。一个最大步幅为L1=62 cm。

1.3 质心轮廓夹角计算

由于每个人步态具有唯一性,可以用关节与质心之间的夹角、关节与质心之间的距离(质心距),确定人体步态的唯一性。不足的是:人体运动时距离采集点的距离存在不定性,因此需要利用尺度不变性对图像进行处理。进行角度提取时,可使用线性拟合和三角公式的方法。将图片切分为多个部分进行分批拟合后得方向向量,并计算角度值,如图2所示。

图1 步幅及中期特征提取结果

图2 人体质心与关节夹角

2 粒子群优化的神经网络算法

2.1 整体流程思路

本文提出的优化算法模型分为两部分:一是利用BP神经网络正向传播的机制,建立粒子群优化算法对正向传播的BP神经网络的优化模型;二是BP神经网络存在反向传播机制,建立粒子群优化算法对反向传播的BP神经网络的优化模型。

(1)初级模型的建立。根据相关工作中提取得到特征值矩阵,建立传统的BP神经网络模型。

(2)建立正向BP神经网络的优化模型。通过粒子群优化算法寻找 BP神经网络中正向传播时最佳的隐含层输出,建立基于粒子群优化 BP神经网络正向传播算法模型。

(3)建立反向 BP神经网络的优化模型。通过粒子群优化算法寻找 BP神经网络中反向传播时输入层和与隐含层之间的最佳连接权值并进行修正,建立基于粒子群优化BP神经网络反向传播算法。

2.2 基于粒子群优化BP神经网络正向传播算法

在寻找适应值前,可在初始化范围内,对粒子群进行随机初始化,包括随机位置和速度。然后定义在反向传播中更改连接权值前后的关系作为适应性函数,在粒子群优化进行每一次迭代时,计算一次适应值,结合输入层和隐含层之间的连接权值、隐含层各神经元之间阈值,输出全新的适应性函数[9-11]。

在原始BP神经网络中,将步行时4种特征值所形成的特征值矩阵,依次通过隐含层和输出层计算,并对特征值矩阵进行变换,最终计算出吻合程度。所选取计算隐含层输出函数定义为适应性函数,进行迭代计算获取到最优隐含层输出,即4种步行时的特征值在第一次神经网络训练中获取的最优值。

在隐含层中,隐含层输入的数据来源为输入层的4种步行特征值,而且输出层中会用隐含层的输出作为参数进行计算,使得最终输出最优的特征值矩阵,利用隐含层中的输出函数作为适应性函数。

利用每个粒子的历史最优值进行迭代更新,更新每个粒子的历史最优位置和速度。当粒子群优化算法达到最大迭代数时,或者得到比较好的适应值时,即停止迭代。在隐含层的输出历史中选最优值Hohbest。通过Yio函数调用隐含层的最优输出作为函数的输入值,如式(4)所示。将输出层的输入向量作为输入数据,并将其量化,当作激活函数的自变量得到输出层的输出Yoo,将输出层的输出Yoo代入误差函数E,得到实际理想误差,如式(5)所示。

通过激活函数

通过反复迭代,当误差函数得出的结果在理想范围之内,则得到连接权值,即为最优权值。

由于每次训练后步态特征值矩阵与理想状态下的特征值矩阵之间误差过大,故需反转传播,对输入层和隐含层之间的连接权值wih与隐含层和输出层之间的连接权值who进行改变。因此,需要先求得连接权值的变化量,即通过上一次训练得出的误差E对输入层和输出层进行操作。

2.3 基于粒子群优化BP神经网络反向传播算法

将误差函数对于隐含层和输出层之间的连接权值的偏导数,以及对输入层和隐含层之间的连接权值的偏导数,作为粒子群优化算法的适应性函数,将输入层中每个神经元进行粒化,利用隐含层和输出层的连接权值、输出层神经元之间的阈值,通过适应性函数取得每个粒子的适应值[12-14]。

根据每个粒子的历史最优值以及粒子不停运动导致速度和距离不停的变更,进行反复迭代,将优化后最接近理想值或达到最大迭代数时的函数取出,作为最优偏导函数。

以同样的方式求出误差函数对隐含层和输出层之间的连接权值的最优偏导函数,即适应性函数。

优化后的 BP神经网络按照粒子群寻优方法,通过最优的偏导函数和误差函数,选择最优权值和阈值,将初始值代入网络中进行训练,得到最合适理想值。该方法学习速度大大加快,同时避免陷入局部最优情况,提升收敛速度。

3 仿真实验

3.1 实验环境

为验证粒子群优化 BP神经网络算法的性能,本文从算法的轮廓质心距对比、步幅及周期表达、质心与关节之间的夹角3个方面对算法进行评估。本实验选取Ubuntu14.04 windows10操作系统,12 GB内存,四核处理器,eclipse4.6 MATLABr2016a opencv3.2处理器和Jdk1.8 python3.7环境配置。

3.2 轮廓质心距对比实验

在获取到每一帧完整人体图像后,在一个完整的人体步态序列中提取第k帧的二维人体轮廓线,计算廓线上的坐标点,逐点计算每个点与重心坐标的距离,用于勾画出人体运动时质心与轮廓各个点之间的距离图像,如图3所示。

图3中,横坐标代表从上至下轮廓点的数量,纵坐标代表轮廓点到质心的距离。红线以上的轮廓部分对应质心距图中的A—B所示曲线,此部分的人脸轮廓线和人背轮廓线与质心的距离基本一致,在质心距图中基本呈一条直线。B—C代表双手部分轮廓线分布,因左右手摆动不一致,导致质心距有明显差异,从而在图中体现为不重合但形状相似的两条曲线。C—D代表手部轮廓结束,进入腰部轮廓。此时前后两侧腰部与质心距离基本相等,因此两条曲线呈现基本一致的走势和数值。D—E代表腰部以下部分的质心距,其线条与手部意义相同,呈两条曲线。E’点代表腿间的轮廓起点。从A—D点质心距减小,图像呈下降趋势。经过腰部区域(D点)后,质心距增大,图像呈上升趋势。

图3 双臂分离时质心距提取结果

一般识别率保持在80%为正常范围,80%<R的变化率<100%时,识别率最高。

将双臂分离与双臂重叠的提取数据进行对比,数据分析可知每帧识别率,如表1所示。

表1 样本识别率

由表1可知,识别率受人体样本不同形态影响,实验中识别率的平均值为 97.125%,高于国内现今标准3.125%[15],可以确定两个人体样本为同一人。

3.3 步幅及周期表达

从二值化图像序列中可以看出,人的步态数据呈周期性变化。人体运动过程中,步幅会经过一个周期性变化,即有一个最大值和一个最小值。本文利用人的步幅变化进行周期性分析。由此可以看出人的步幅周期是稳定的,人的步幅大小是基本恒定的(如图1)。

表2中,步幅在识别过程中的识别率,其变化趋势和质心距的变化趋势相似。

表2 步幅识别率标准化集

3.4 质心与关节之间的夹角

根据人体骨架图可得质心与各个关节之间的夹角,将骨架图关节坐标取出,利用三角形公式计算其内角,如表3所示。

表3 质心轮廓角数据集

由表3可知,质心轮廓角数据集以人物正面朝向为0度起点,质心以下为正,质心以上为负。角度的变化趋势和质心距的变化趋势大致相同,由于角度不受拍摄距离的影响,一般情况下每一帧图片各个角度会直接反映人体这个时刻的状态。

4 结语

传统的 BP算法和粒子群算法容易陷入局部最优解,导致识别准确率不高。本文利用粒子群来优化神经网络的权值和阈值,将优化后初始值代入神经网络中进行训练,加快了学习速率、避免了陷入局部最优,提高识别准确率。通过平地行走的人体运动模式实验,验证了该方法的有效性。本文实验所得准确率是基于图像画面中人体基本的4种步态特征,即质心距、步幅、周期和质心夹角所得的数据,随着实验次数的增多,实验的准确率同样也会提高。增加特征提取,采集更多样本训练神经网络,可以进一步提高网络模型的鲁棒性和识别准确率。

猜你喜欢
步幅质心步态
基于步态参数分析的老年跌倒人群步态特征研究
重型半挂汽车质量与质心位置估计
基于GNSS测量的天宫二号质心确定
不同水平障碍赛马越障步态特征
伊犁马1 000 m速度赛步态特征与步速相关性
基于面部和步态识别的儿童走失寻回系统
基于Kinect的学步期幼儿自然步态提取
步态研究及其在踝关节不稳中的应用进展
基于局部权重k-近质心近邻算法
非田径专业男生100 m短跑步频与步幅关系的实证研究