基于BP神经网络的人体特征预测

2019-09-04 08:42张庆时
山东化工 2019年15期
关键词:步幅权值步长

张庆时

(中国刑事警察学院 痕迹检验技术系,辽宁 沈阳 110035)

步幅特征是指在成趟足迹中反映人行走时双足协调搭配关系及双足迈步动作的特征,是行走运动在成趟足迹中的一种反映形式[1]。在犯罪现场中一般出现连续足迹时就能反映出步长、步宽,步角等步幅特征,这些步幅特征的形成和人的身高,体重,年龄等是有一定的联系的,比如步长和身高有一定的关系,步宽和体重有一定的关系。根据足迹的大小可以分析出身高特征,根据步幅特征可以大致分析出体态。但是这些分析需要检验人员有一定的经验,另外,如果足迹反映不完整,对分析身高等人体特征也会有影响。本文以人的步幅特征为输入,身高、体重,年龄为输出来训练BP神经网络,让神经网络找出步幅特征和人体特征之间存在的关系从而做出预测。这样检验人员即使没有丰富的经验也能很好的运用步幅特征。同时,如果没有视频监控直接拍摄到犯罪嫌疑人出入现场,可以用神经网络预测出的嫌疑人体态在附近的监控里寻找相似体态的人,从而缩小排查范围,减少工作量。

1 BP神经网络

1.1 与 BP神经网络有关的基本概念

权值:指加权平均数中每个数的频数。网络开始时先随机给出一个范围在[-1,1]之间的权值,然后经过不断地训练得到最终的符合网络要求的权值。

阈值:又叫偏置或临界值。当神经元接受到的刺激大于这个阈值的时候,该神经元就会产生刺激信号来刺激下一个神经元动作。开始时阈值也是随机给出,通过多次迭代得到合适的阈值。

激励函数:用来产生神经元动作信号。它将输出信号限制到一个比较小的允许范围之内。通常,一个神经元输出的正常幅度范围是[0,1]或[-1,1]。常用的激活函数有以下几种:

Sigmoid函数,函数表达式为:

该函数的特点是会把输出限定在[0,1]之间,当函数值无穷小时,输出为0;当函数值无穷大时,输出为1,使得数据在传递过程中容易收敛。函数图像如图1。

图1 Sigmoid函数图像

tansig函数,函数表达式为:

该函数的特点是会把输出限定在[-1,1]之间,当函数值无穷小时,输出为-1;当函数值无穷大时,输出为1。函数图像如图2。

数据归一化,把数据经过处理之后限定在一定的范围之内称之为数据归一化。通常将数据限制在区间[0,1]或[-1,1]。因为当样本存在奇异样本数据时,会延长网络的训练时间并且可能会导致激活函数输出值无法收敛,所以数据归一化对于神经网络的训练是必要的。

图2 tansig函数图像

1.2 BP神经网络的基本原理

BP神经网络的基本结构由一个输入层、一个输出层和任意数量的隐藏层构成[2],BP神经网络在运行时有信号前向传播和误差反向传播两种状态。在前向传播时,输入信号从输入层经过逐层的计算,传入输出层得到输出值。将输出值与期望值进行比较得到误差,然后进入误差反向传播过程,反向传播就是将误差从输出层开始逐层修改网络的权值和阈值向输入层传播的过程。然后再通过更新的权值和阈值进行正向传播。通过循环的正向和反向传播训练得到最优的权值和阈值就是神经网络学习的过程。

1.3 BP神经网络的流程

如图3所示是一个典型的三层BP神经网络。

图3 三层BP神经网络结构

1.3.1 网络初始化

假设输入层有n个节点,输入元素为x1,…,xi,…,xn隐藏层有j个节点,输出数值为I1,…,Im,…,Ij输出层有k个节点,输出数值为Q1,…,Qf,…,Qk。输入层和隐藏层之间的连接权值为wmi(i=1,2,…,j),隐藏层和输出层之间的连接权值为wfm(m=1,2,…,j;f=1,2,…,k)隐藏层各节点的阈值为φm(m=1,2,…,j),输出层各节点的阈值为θf(1,2,…,k)。学习率(步长)为l,激励函数为f(x),本文取tansig函数,即:

1.3.2 前向传播过程

隐藏层的输出(第j个节点为例):

输出层的输出(第k个节点为例):

误差的计算:

该公式即为均方误差。其中, 为期望的输出。

优化权值:

其中,上式为输入层和隐藏层之间的权值更新公式;下式为隐藏层和输出层之间的权值更新公式。

阈值更新:

2 实验

本文需要采取个人正常行走时的步幅特征,即步长、步宽,步角,由于每个人的左右脚步幅特征并不完全相同,所以本次实验的输入参数选左步长、右步长、左步宽、右步宽、左步角,右步角等六个数据集。输出为人体特征,本次实验预测人的身高,体重,年龄。

①步长:指在成趟足迹中,两个紧相邻的左右足迹相应部位之间,与步行线平行的垂直距离[1]。右足在后,左足在前的两个连续足迹之间的长度即为左步长;反之为右步长。

②步宽:指在成趟足迹中,一足迹的内缘最凸点到对侧足迹步行线的垂直距离[1]。左足迹内缘最凸点到右步行线的垂直距离即为左步宽,反之为右步宽。

③步角:指左右脚足迹各自的中心线与其同侧的步行线相交所构成的角度[1]。

2.1 实验数据采集

实验在学校专门的平面连续足迹提取实验室进行,采用平面足迹捺印纸和油墨。实验对象为年龄在20~45周岁的身体健康,无行走障碍的男性100名。每个人在捺印足迹之前先在实验室中行走3 min熟悉实验环境,每个人分别采集5次。从成趟足迹的中间选取能反映正常行走的足迹进行测量,取5次的平均值。经过筛选过后从100份数据中选取了70份实验数据。

2.2 创建BP神经网络

BP神经网络主要有三个函数,分别为网络初始化函数、网络训练函数和网络泛化函数。

网络初始化函数:

net=newff([xm,xM],[h1,h2,…,hk],{f1,f2,…,fk})

xm是最小值的列向量,xM是最大值的列向量;[h1,h2,…,hk]是一个列向量,k代表网络层数,h代表各层的节点数;{f1,f2,…,fk}输入的变量是字符串,代表该层的传输函数。

网络训练函数:

[net,tr,Y1,E1]=train(net,X,Y)

其中X为n×M矩阵,n为输入变量的个数,M为样本数;Y为m×M矩阵,m为输出变量的个数;net为返回后的神经网络对象,tr为训练跟踪数据;Y1为网络的最后输出,E1为训练误差向量。

网络泛化函数:

Y2=sim(net,X1)

其中X1是一个列向量,为输入数据矩阵;Y2为对应输出值。

2.3 预测结果分析

本实验以40个人的左右步长、步角,步宽为输入,对应的身高、体重,年龄为输出训练神经网络,然后预测30个人的身高、体重和年龄。预测过程中发现如下问题:

①每个人的人体特征只预测一次,但是结果不太理想。考虑到人体特征的基本常识,将身高体重预测的结果为负值和年龄预测出在14以下和85以上的做第二次预测。通过这个改进预测准确率有所提高。

②直接对体重(单位为kg)预测其准确率在30%以下,非常低。考虑到样本体重范围在65~95 kg之间,离散程度比较大,所以对体重做了开方处理,取正的二次方根。最后再取实际值和预测值的平方差,准确率有所提高。

实验中步长、步宽,身高的单位是厘米(cm);步角的单位是度(°);体重的单位是千克(kg),所有实验数据保留小数点后两位。具体结果如表1。

表1 预测结果

由表1可以看出,以步幅特征来训练神经网络预测人体特征中,预测身高的准确率较高;同时由于步幅特征与体重和年龄的关联性不大所以体重和年龄的预测结果一般。

2.4 实验的局限性

由于该实验所需样本较多,对于笔者来说很难采集到社会人员的步幅特征,所以本次实验的数据采自来我校培训的在职民警,但是培训学员身高,体重,年龄都相仿。所以实验结果一定程度上存在了局限性。

3 结束语

本文采用了目前应用比较广泛的BP神经网络算法利用步幅特征来预测人体特征,将传统足迹与当前流行的深度学习结合,证明了步幅特征与人体特征之间存在一定的联系,也证明了步幅特征的科学性。由于用步幅特征来预测人的体态年龄需要足迹比较完整和技术员有一定的经验,所以用该方法预测也可以作为办案单位分析体态的一个参考。同时,对实验结果分析时充分利用了人的身高体重不可能出现负值和实际案件中嫌疑人的年龄在14以下85以上的情况很少见,对预测方法做了改进,大大提高了预测的正确率。但是,本次实验的样本容量不够大,样本比较特殊,可以进一步将步法特征加入,继续探究。

猜你喜欢
步幅权值步长
一种融合时间权值和用户行为序列的电影推荐模型
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
CONTENTS
基于随机森林回归的智能手机用步长估计模型
不同水平障碍赛马越障步态特征
伊犁马1 000 m速度赛步态特征与步速相关性
基于Armijo搜索步长的几种共轭梯度法的分析对比
基于MATLAB的LTE智能天线广播波束仿真与权值优化
基于权值动量的RBM加速学习算法研究
基于动态步长的无人机三维实时航迹规划