APP下载

改进的惯性运动传感器步态识别

2020-06-18徐狄涛包建荣何剑海

实验室研究与探索 2020年3期
关键词:规整步态幅值

徐狄涛, 姜 斌, 包建荣, 刘 超, 朱 芳, 何剑海

(1.杭州电子科技大学通信工程学院,杭州310018;2.宁波职业技术学院电子信息工程学院,浙江宁波315800)

0 引 言

随着可穿戴物联设备推广,其存储的大量私人信息面临丢失和泄露等问题,故需采取措施来保护实验等场所敏感信息的安全[1]。传统识别技术(指纹识别、密码验证等)存在需要用户合作、密码遗忘、输入错误的问题[2],而步态识别技术具有更安全的数据收集程序,不需要显式用户的交互,以及高抗欺诈性的优点[3],通过将传感器集成到各种可穿戴物联网设备中,可以轻易地提取步态信号[4]。由于Arduino 源码开放且灵活性强[5-6],MEMS惯性传感器体积小且广泛运用于电子设备[7-8],本文以Arduino 为硬件平台,Mpu6050 为采集模块,蓝牙为发送模块,研发了成本低,体积小且通用性强的步态数据采集装置,该装置非常适用于高校实验室步态数据的采集与分析,使基于传感器的步态识别更具成本效益。

国外,Muaaz等[9]用动态时间规整(Dynamic Time Warping,DTW)对48 名志愿者的步态特征作匹配,得到相等错误率(Equal Error Rate,EER)为16.26%的性能;Derawi 等[10]采用新的交叉DTW 方法进行特征匹配,得到的准确率为89.3%。国内,何书芹等[11]采用多尺度熵和DTW结合的方法,得到EER为13.7%的效果;童伟男[12]运用多特征k 最近邻(k-Nearest Neighbor,k-NN)分类算法,引入权值分配,使准确率达到87.6%。上述算法在一定条件下实现了步态识别,但其准确率仍不理想。为此,本文提出一种新的步态识别方法,该方法将DTW 与人工神经网络(Artificial Neural Network,ANN)相结合,通过DTW对不同长度的步态特征参数进行规整,同时引入步长、步频、步速特征参数,利用列文伯格-马夸尔特(Levenberg-Marquardt,LM)优化算法改进后的BP 神经网络[13-14]实现步态的识别,该方法在降低采样率和网络训练时间的同时,有效提高了步态识别的准确率,为步态识别的研究提供了新的思路。

1 数据采集

图1 数据采集装置

图2 原始步态信号波形图

本文所用的实验平台采用Mpu6050、Arduino开发板、蓝牙模块HC-05 构成步态数据采集装置。Mpu6050 具有小体积、高性能、低成本、低噪声的优点,实验采用±2 g 的加速度计量程,在静止状态下,对Mpu6050 求平均消除系统误差后,采集三轴加速度值;Arduino作为开源硬件平台,具有便捷灵活、接口丰富、方便上手的优点,实验采用体积小巧且功能全面的Arduino Nano 开发板,其核心处理器为ATmega328(Nano3.0),利用与硬件同名的Arduino 程序开发软件,将编译完的程序通过USB线传入Arduino控制板,实现程序设计与开发;蓝牙具有低功耗、低成本等优点,实验采用HC-05 将数据采集装置采集的数据实时传输到PC机,实现了数据的存储与传输。实验采集装置如图1 所示。

实验采集x轴(左右方向)、y 轴(重力方向)、z 轴(前后方向)3 个轴上的加速度值,其中1 名志愿者的原始步态信号如图2 所示。通过对比,发现重力方向的波形具有良好的周期性和稳定性。因此,本实验选取人体重力方向的加速度信号做步态识别。

2 算法描述

2.1 特征提取

步行时支撑腿的动作包括脚跟着地、脚掌支撑、脚跟离地、初始蹬腿等[15]。这些时刻分别对应重力方向加速度信号的极值点,提取这些极值点作为特征点来进行步态识别具有明确物理意义。采用小波变换过零点方法,即通过高斯函数平滑,将其一阶导数作为小波基函数,找到小波变换后的过零点,提取加速度信号极值点。本实验提取步态周期的幅值及时间特征,并将其保存为幅值序列:M =[M1,M2,…,Mn]与时间序列:T =[T1,T2,…,Tn]。

由于步行存在偏差,即使是同一人每个周期的采样点也不同,导致样本的时长也不同,所以要进行时间归一化。设每个样本周期有n 个采样点,将原始的加速度信号归一化到区间[0,1]上,使样本采样点为整个样本相对时间,且可归一化为:

图3 为志愿者A 和B 的步态样本信号。从中可以清楚地发现,不同志愿者的步态曲线波动差异较大,而同一志愿者的步态则有很大相似性。特征提取后,差异更加明显,不同志愿者在一个样本周期内,不仅幅值大小不相同,而且相对时间也完全不同,这为步态识别提供了良好基础。

图3 步态样本信号及特征对比曲线图

2.2 动态时间规整算法

因人行走时步态间存在差异,即使从同一志愿者样本提取特征点,其个数也不同。而从不同志愿者样本提取特征点,其个数基本都不同。因此,本实验采用动态时间规整,通过扩展或缩短序列来计算两个序列的相似性。

以志愿者A和B 的两个步态周期的幅值特征序列Ma、Mb为例,设两个特征序列分别为:MA=[Ma1,Ma2,…,Man],MB=[Mb1,Mb2,…,Mbm],为了将这两个序列对齐,需构建一个n ×m 矩阵,矩阵中的元素(i,j)表示Mai和Mbj两个点间的距离,即通过对弯曲函数的约束,最小累积距离的路径有(i-1,j)、(i -1,j -1)、(i,j -1)。此时,最小累积距离可表示为

一个步态周期包括左步态和右步态共两步。由于步态样本长度的选取影响步态识别率,若选取样本长度过长,则处理的数据量将大为增加;否则,提取的样本的特征点不稳定,导致识别率降低。因此,将6 个连续步态作为一个样本,每个样本包含3 个完整的步态周期。设志愿者A和B的两个参考样本分别为:SA=其中MAi和MBj分别表示每个步态周期的特征序列,将两个样本匹配,则SA和SB的幅值失真距离表示为:参考样本SA及样本SB中的一个幅值序列匹配路径如图4 所示,相应的匹配曲线如图5 所示。经动态时间规整后,两条幅值序列具有相同的特征点数,且对比更加直观,不同人的特征点具有很大差异性,将不同幅值序列的特征点都规整到12 个点,为BP 神经网络的输入提供了数据来源。

图4 幅值序列的匹配路径

图5 幅值序列的匹配曲线

2.3 改进的BP神经网络

BP神经网络设计需确定隐含层的数量及输入层、隐含层、输出层节点数。在BP 神经网络中,虽然隐含层层数的增加能提高识别率,但神经网络的复杂度大大增加。考虑到可穿戴设备中处理器的计算能力较低,为保证步态识别的实时性,本实验只选择一个隐含层。

实验以一个步态周期为基础,第1 层为输入层,含有17 个输入节点,构成17 维输入向量(X1,X2,…,X17)T,分别表示17 个特征参数,特征参数包括经过动态时间规整后的12 点幅值序列、正负(1/0)输入、标准偏差STD、步长L、步频c、步速v。设f为采样频率,n为一个步态周期的采样点数,则标准偏差STD、步长L、步频c、步速v的计算公式如下:

第2 层为隐含层,设l为输入层的节点数,n 为输出层的节点数,则一般情况下隐含层节点数m 可表示为:

确定隐含层节点数范围后,通过实验训练,确定本实验隐含层节点数为7,激活函数采用连续可微且更接近生物神经元信号的S型激活函数。

第3 层为输出层,含2 个输出节点,构成2 维输出向量(Y1,Y2)T,即(0,1)T表示真实用户;(1,0)T表示仿冒用户。

综上所述,本文的算法流程图6 所示。

图6 DTW-ANN算法流程图

根据图6 所示的流程图,DTW-ANN 算法的步骤可以简化为以下两个步骤:

(1)注册阶段。采集已知用户的样本并提取特征序列,用DTW 成本函数计算幅值序列和时间序列的累积距离,分别作拟合函数生成阈值,并将拥有不同特征数的特征序列规整到12 点,解决了BP 神经网络输入结构固定的问题。

(2)认证阶段。采集受试者的样本并提取特征序列,用DTW成本函数计算与参考样本幅值序列与时间序列的累积距离Dac,Dt,并将其通过二级认证系统初步识别,运用LM 算法,即调节变量因子u 优化BP神经网络,将DTW规整的固定长度特征,正负输入及步长、步频、步速作为BP 神经网络的输入节点进行训练及测试。该方法相比单一的DTW,能实现更高精度的步态识别,并且LM算法能快速收敛,确保系统的实时和准确性。

3 结果与分析

本次实验采样频率设置为40 Hz,采集了10 名志愿者(6 名男性,4 名女性)的步态数据。数据采集时,将数据采集装置固定在志愿者腰带右侧的位置。志愿者按照其步行习惯,在水平过道上直线行走1 min,3名志愿者采集5 d共采样25 次,7 名志愿者采样5 次。设A,B,C,D分别表示不同的志愿者;SA,SB,SC,SD分别代表不同志愿者的参考样本;SA1,SA2,SA3,SA4,SA5,SA6分别表示志愿者A 的其他6 个步态样本。通过DTW算法分别计算同一志愿者样本间的失真距离和不同志愿者样本间的失真距离,实验结果如表1、2 所示。步态识别时,每次选择570 个样本组成样本集,其中300 个样本来自同1 名志愿者组成正类,270 个样本来自其余的9 名志愿者,每名志愿者提供30 个样本组成负类。将80%的样本用作训练,20%的样本用来测试,实验结果如表3 所示。其中TP,TN表示正确分类,分别表示将原先是正类的预测为正类和将原先是负类的预测为负类;而FP,FN 表示错误分类,分别表示将原先是负类的预测为正类和将原先是正类的预测为负类。图10 为根据BP 神经网络训练结果绘制的受试者工作特征(Receiver Operating Characteristic,ROC)曲线图。

表1 用DTW计算同一志愿者失真距离

表2 用DTW计算不同志愿者失真距离

表3 测试样本的步态识别结果

由表1 及2 可知,同一志愿者两个样本幅值失真距离和时间失真距离均比不同志愿者样本小,可通过抽取一定数量样本,设置成本函数阈值,自动初步验证样本。将类内最大距离作为下阈值,类间最小距离作为上阈值,当测试样本与参考样本失真距离小于下阈值时,则认为同一人;而大于上阈值时,则认为是不同人。根据采集的数据样本,计算得幅值的上阈值为0.561 9,下阈值为0.425 8,时间的上阈值为0.081 4,下阈值为0.054 5。

设置BP网络最大训练次数为10 000 次,目标误差为0.001,学习率为0.01,分别用标准BP算法、拟牛顿法、LM算法对网络模型进行训练。训练结果如图7~9 所示。由图可知,标准BP算法即使训练到10 000步,均方误差仍为26.28 ×10-3,不能达到理想目标,存在收敛速度慢,容易陷入局部最优解的问题;拟牛顿算法在462 步时达到收敛,均方误差为999.65 ×10-6;LM算法仅需23 步就能训练完成,此时均方误差为935.04 ×10-6。因此,采用LM对标准BP神经网络改进,在兼顾BP网络识别准确率的情况下,大大减少了训练时间,节省成本的同时提高了效益。

图7 标准BP算法步态识别训练误差曲线

图8 拟牛顿算法步态识别训练误差曲线

图9 LM算法步态识别训练曲线

将BP神经网络模型的预测结果从小到大排序并把每个概率作为阈值,可以得到多个混淆矩阵。对于每个混淆矩阵可以计算得到特异度(False Positive Rate,FPR)和灵敏度(True Positive Rate,TPR)两个指标。以FPR为x轴,TPR 为y 轴作图得ROC 曲线;以(0,1)为起点,(1,0)为终点做一条直线,两条线的交点即为EER。由表4 及图10 可知,对于不同的人,本文平均步态识别率可以达到91.5%,EER 为9.1%。相比现有的步态识别算法,识别的准确率大大提高并且有效降低了EER,表明本文所提出的方法具有一定的实用性和有效性。

表4 不同算法结果对比

图10 ROC曲线图

4 结 语

本文设计了低成本且通用性强的步态数据采集装置来获取步态加速度信号,在低采样率前提下,提出了一种动态时间规整和人工神经网络相结合的步态识别方案。该方法通过DTW 算法,对步态特征序列进行规整,求得失真距离,通过阈值判断自动实现对样本的初步验证,将规整后的特征参数与步长、步速、步频特征相结合,利用LM 改进的BP 神经网络实现步态识别。与现有方法相比,该方法兼顾采样率和识别率,有效降低了成本且具有较好鲁棒性,符合未来安全认证要求,具有信息安全保护方面的应用价值。

猜你喜欢

规整步态幅值
基于步态参数分析的老年跌倒人群步态特征研究
“教学做合一”在生成课程背景下构建区角游戏开展
多尺度串联非线性能量阱的减振效能及阻尼连接方式研究
基于频响函数识别结构非线性模态参数的方法
《液压与气动》常用单位的规范
300kt/a硫酸系统规整填料使用情况简介
基于面部和步态识别的儿童走失寻回系统
基于Kinect的学步期幼儿自然步态提取
基于S变换的交流电网幅值检测系统计算机仿真研究
提高日用玻璃陶瓷规整度和表面光滑度的处理方法