可穿戴计算中基于步频分布的身份识别研究

2020-10-15 12:17王俊昌
计算机应用与软件 2020年10期
关键词:步频步态加速度

王 彬 付 雄 王俊昌

(南京邮电大学计算机学院 江苏 南京 210023)

0 引 言

随着可穿戴技术的飞速发展,可穿戴设备已经在人们的生活中越来越普遍,但是在设备拥有者隐私保护方面尚未形成有效且标准的做法[1]。为了使各种可穿戴设备中的重要信息不外漏或不被盗取,需要可穿戴产品能够实现身份识别的功能。目前主流的口令、密码等认证方式虽然能有效地认证身份,但存在着遗忘和丢失的问题,同时还需要用户主动配合,这通常会带来不必要的麻烦和损失[2]。

近年来,利用生物特征进行身份识别已经成为计算机领域和生物医药科学领域中的首选安全验证方式[3]。步态特征是生物行为特征中的一种典型特征,主要是指人在正常步行状态下所表现出的行为特征,它不易被盗取而且广泛存在[4]。步态特征差异通常表现在步频、步长、脚落地时的轻重程度等几个方面。利用人步行状态下独有的特点能够有效地区分个体[5]。

目前基于步态特征的身份识别技术主要有以下三个方向:机器视觉、地面压力传感器和加速度传感器。机器视觉的方法首先利用图片拍摄或视频录制等手段采集用户行走时的图像信息建立个人信息库,再通过图像识别技术进行比对从而辨别不同的用户[6],但其存在着视觉范围、障碍物遮挡、拍摄角度、光线不足等问题,继续发展和推广应用的局限性较大。基于地面压力传感器的方法在地面上铺置压力传感器,然后采集用户步行通过时足底压力的分布情况[7],但该方法需要在特定设备和场景下才能进行有效的身份验证,实际中应用较少。加速度传感器具有不受视觉影响和场地限制、数据采集方便快捷的优势,因此基于步态特征的身份识别更多是依赖加速度传感器实现。

近些年来,国内外的专家运用加速度传感器采集步态特征用于步态识别出现了很多方向。Derawi等[8]采用时间插值固定采样点的时间间隔、平均周期长度,以步态样本的幅值序列和时间序列为特征,利用动态规整算法(Dynamic Time Warping,DTW)计算不同长度序列的距离,识别率有所提高,但是需要在数据处理阶段进行大量工作,包括数据归一化、数据样本维数调整,且在识别阶段需要花费大量时间用于规整路径,这对于计算能力有限的移动终端来说是不可接受的。

2019年,孔菁等[9]对手机自定义坐标轴进行空间转换,选用极大值、均方根、梅尔频率倒谱系数等7种特征,使用支持向量机算法来对样本进行训练分类,达到身份识别的目的。运用机器学习算法需要较高的配置,会带来高能耗的问题,而且该算法高能耗换来的准确度提升也不明显。2019年,Sun等[10]提出一种速度自适应步态周期分割方法和个性化阈值生成方法,采用基于快速傅里叶变换(FFT)的步态周期估计方法来提高步态分割的准确性,使用皮尔森相关系数来衡量步态周期模板和用户步态周期的相似接近程度。与具有固定速度和阈值的可用方法相比,在各种步行速度下的步态和用户识别率得到一定改善。

然而上述研究都是基于恒定步行速度的假设,而且都是在划分出步态周期后,再应用基于距离或度量函数的方法如DTW、PCC(Pearson Correlation Coefficient)进行识别,这就需要明确的步进周期检测,会受周期检测失败和周期性相位错位的影响[11]。在实际应用场景中,会出现步行异常导致步态周期的不稳定,这时单个步态周期在时域上不同,通过插值等手段度量单个步态周期频域上的序列距离作为认证标准具有片面性。

鉴于此,本文不针对单个步态的差距进行深入讨论,着重于用户行走习惯上的差异,提出步频分布的新型步态特征,进行持续认证下的步态周期分布差异研究,从而达到身份识别的目的。文献[12]的研究表明,行人的步频、步速同为Gauss(正态分布),平均步频为1.96 step/s,而且步频分布在不同人群中的差异性比较大,这也揭示了步频分布用于身份识别的可行性。

本文提出一种基于步频分布的身份识别算法,主要有两部分组成:步频分布模型的刻画、身份识别算法。首先在数据处理阶段对加速度传感器的数据进行采集;然后在特征提取与建模阶段通过动态阈值切割步态,统计得到步频分布建立步态特征模型;最后基于相对熵得到识别结果。实验结果表明,基于步频分布的身份识别算法的识别准确率达到86%以上,可在大样本认证情况下有效地识别用户身份,对比当前的DTW和PCC算法,设备能耗最多不超过DTW和PCC算法的50%,提高了步态识别的准确度,降低了可穿戴设备终端的能耗。

1 特征提取和建模

正常步态情况下,从一侧脚跟着地开始到该侧脚跟再次着地为止的时间被称为一个步态周期。一个完整的步态周期分为首次触地、支撑和摆动三个阶段,每个阶段对应不同步态时期。步频是人行走1 s的步数。通过计算一个步态周期的时间SingleStepTime来作为一步的时间,则步频StepFrequency需要用一个完整步态周期的持续时间的倒数来表示。为简化,本文直接使用一个完整步态周期的时间来作为刻画步频的一种方式,下文谈论步频分布都指的是单个步态时间的分布。StepFrequency的计算如下:

(1)

本文提出一种基于步态切割的步频分布生成算法,基本思想为:分析出人在行进过程中,加速度传感器的信号呈现周期性的特征,以波峰为界限,切割传感器信号获得单个步态,并统计单个步态周期的时间记录入步频分布。相关变量的定义如表1所示。

表1 变量和函数定义

首先对步频分布区间进行处理,人行走一步的时间约为0.4~0.6 s[13],在区间[0.4,0.6]之间作m等分,则每个单独步态都会分布在其中的小区间上,初始每个子区间为0。

接着对持续产生的加速度信号需要进行波峰的检测,波峰需要满足的条件:

(1)目前的信号Pi为下降趋势;

(2)之前的信号Pi-1为上升趋势;

(3)持续上升的次数等于2;

(4)信号值大于上阈值α。

在检测到波峰之后,为了避免噪声导致的“伪波峰”的影响,需要过滤掉波峰相距太近的情况,要求两个相邻波峰时间差大于两个波峰差的阈值β。在行进过程中,不断地梯度化更新波峰波谷的差值阈值μ,确保可以过滤掉噪声的同时,不会遗漏掉有效数据。最后计算两个相邻波峰的时间差值d,遍历步频分布区间S找到对应子区间Si,频数加1。具体算法如算法1所示。

算法1基于步态切割的步频分布生成算法

输入: 加速度信号集合P。

输出: 步频分布序列S={S1,S2,…,Sm}。

1.初始化S每个区间

2.for eachPiinPdo

3. ifPi>Pi-1then

4.flag=true

5.count++

6. else

7.flag=false

8.count=0

9. if !flagandcount=2 andPi>αthen

10.p=Pi-1

11.Tp=Cp

12.T= 当前系统时间

13. ifT-Tp>βandp-v>=μthen

14.Cp=T

15.d=Cp-Tp

16. 找到d所在的区间Si

17.Si++

18. end if

19. if(T-Tp)>βthen

20. 梯度化阈值μ

21. end if

22. else

23.v=Pi-1

24. continue

25.end for

26.returnS

算法在初始化步频分布集合S时,划分为m个小区间,时间复杂度为O(m);加速度信号集合P有n个数据,遍历P的时间复杂度为O(n),判断波峰需要借助常数级的空间,空间复杂度为O(1);寻找单个步态落到的步频分布区间,时间复杂度为O(m),算法整体时间复杂度O(m×n)。

2 基于相对熵的身份识别算法

相对熵,又称为信息散度或KL散度,源于信息论,是衡量概率分布相似度的一种方式,表示一条信息的信息量大小和它的不确定性有密切关系。信息领域中,相对熵常用来量化两个随机分布之间的距离,当这两个随机分布相同的时候,它们的相对熵为0,当两个随机分布的差异越大时,它们之间的相对熵也会越大。

根据第1节基于步态切割的步频分布生成算法,可以建立不同人物的步态特征模型,判断两份步态特征模型是否为同一个人是身份识别的最终目标。本文在识别阶段,首先对步频分布处理,获取步频的概率分布,然后计算两份步频概率分布的相对熵来比较两份步态数据的相似度,从而达到身份识别的目的。

假设对于一个未认证的认证者B,步频分布为B(x)={B1,B2,…,Bn},其声称与目标用户A为同一个人。那么需要将认证者B的步频特征与用户A的步频特征进行比较,假设用户A的一份步频分布为A(x)={A1,A2,…,An},可以通过式(2)、式(3)计算A、B用户的两份样本的步频概率分布PA(x)={a1,a2,…,an}、PB(x)={b1,b2,…,bn}。

(2)

(3)

因此,样本A(x)和B(x)的差异为:

(4)

式(4)计算得到的值,代表了概率分布PA(x)与PB(x)之间的差异的一个度量。然而通过一份样本进行识别误差很大,考虑到之前A用户会有多份样本存在,把之前的样本也参与比较分析会提高识别准确率。

对于用户A已有的样本A1={A11,A12,…,A1n}和A2={A21,A22,…,A2n}是同一个人的两份样本,可以计算A1和A2的相对熵:

(5)

式(5)可以应用于合法用户A的所有样本{A1,A2,…,An},得到合法用户A的平均相对熵:

(6)

对于一个声称用户A的用户B,应用式(4),对于任意用户A的样本Ai(i=1,2,…,n),如果满足:

Dkl(B||Aj)≤k×D(A)

(7)

那么认定B是A的一个样本,认证成功;否则,认定B是一个伪冒者。

假设样本B声称是A用户,两份步频概率分布P=(a:3/5,b:1/5,c:1/5),Q=(a:5/9,b:3/9,d:1/9),此时引入常量τ,然后可以将P和Q转换为P′=(a:3/5-τ/3,b:1/5-τ/3,c:1/5-τ/3,d:τ),Q′=(a:5/9-τ/3,b:3/9-τ/3,c:τ,d:1/9-τ/3),并求Dkl(P′‖Q′)。

3 实 验

本文提出的可穿戴计算中基于步频分布的身份识别算法,用于在可穿戴终端上能够高效率低功耗地识别终端用户。实验选用Android系统平台来评估本文的算法。在安装开发好的应用程序之后,以后台服务形式运行在宿主机上,无须用户手动干预。硬件环境为华为荣耀V9,操作系统为Android 7.0。

为了体现本文算法的优越性,我们还与另外两种经典的步态识别算法进行对比测试。一种是基于DTW的步态识别算法[8],该算法使用频域上的序列作为步态特征,使用DTW算法规整路径,计算欧式距离来实现身份识别,本文简称这种算法为BDI(Base on DTW Identification);另一种是基于皮尔森相关系数相关相似性的模板匹配算法(PCC)[10],本文简称这种算法为BPI(Base on PCC Identification)。本文提出的算法简称为BSDI(Base on StepFrequency Distributed Identification)。

3.1 实验数据采集

在实验数据采集阶段,利用Android Studio开发工具开发一个小型的应用程序进行数据采集,设置采样频率60 Hz,并实时记录数据到数据库中。实验平台内置三轴加速度传感器,三轴加速度传感器的坐标系是以手机屏幕为基准的相对坐标系[14]。以手机的几何中心为原点,X轴平行于手机机身的短边且以向右侧为正方向,Y轴平行于机身的长边且以向听筒方向为正方向,Z轴垂直于手机机身且以屏幕的朝向为正方向[15]。不同方向的加速度信号值如图1所示。

图1 加速度信号图

在选取数据源时,由于Y轴和X轴在用户行走时不太敏感,而Z轴和融合轴M(Mix)的加速度呈现较大的周期性特征[16],本文采用三轴加速度融合之后的融合轴M作为实验数据。融合轴M的信号值计算为:

(8)

3.2 实验过程和结果分析

实验采集阶段共采集了不同身高、不同性别、不同年龄段共25名志愿者(编号1-25)两天的步态数据,每名志愿者每天手持手机步行时间大约20 min(去除起始与结束阶段的不稳定数据),统一在摩擦系数等客观因素均相同的操场跑道进行步行。共采集了500(2×25×10)份样本。单个样本为步行200步在[0.4,0.6]的 20个小区间的步频分布。每个志愿者步行前一天的数据用于训练,计算该志愿者在式(7)中的认证阈值k。后一天用于后续实验测试部分。

如图2所示,本文选取了志愿者1-4展示步频特征的差异性,显而易见,同一个志愿者的不同样本的分布拟合度很高,而不同志愿者的差异很明显。

图2 不同志愿者步频分布图

如图3-图4所示,实验测试过程中,数据表明在计算相对熵衡量两份样本的相似度时,伪冒认证的相对熵大都大于0.2,而真实认证的相对熵稳定在0~0.15之间。

图3 志愿者1的样本认证相对熵对比图

图4 志愿者2的样本认证相对熵对比图

图3和图4中,真实指的是同一个志愿者的不同样本进行的交叉认证,伪冒是其他志愿者的样本分别来认证志愿者1和志愿者2。

实验训练阶段利用25名志愿者的前一天的样本训练,每个志愿者的10份样本交叉认证,令FRR(错误拒绝率)为0,计算得到25名志愿者在式(7)中的认证阈值k,结果如表2所示。

表2 实验结果

实验测试阶段,将25个志愿者进行1-25编号,取1号志愿者作为目标用户,选取1-25号每个志愿者的10个样本进行认证(以此类推到25号志愿者),共计进行实验(25×25×10)=6 250次,识别结果如表2所示。

为验证本文算法的性能和效率,将其与BDI、BPI两种步态识别算法在两个方面进行对比实验:不同样本量情况下识别率的对比,不同时间下持续认证给设备带来的能耗对比。实验时BDI和BPI均采用60 Hz的采样率。

以25个志愿者作为目标人物,重复实验取平均值,结果如图5所示。逐渐增加伪冒认证和真实认证的样本量,本文算法仍然可以保持86%以上的识别准确率,而其他算法识别准确率在随着样本量增大之后逐渐降低。真实样本数是选取作为目标用户的样本,伪冒样本是其他志愿者的样本。

图5 不同样本量下的识别率比较

进行能耗对比实验时,实验平台荣耀V9手机所有的前后台应用关闭,仅运行本文的身份识别应用程序,采用耗电量(mAh)作为能耗的体现。如图6所示,本文算法无论是短时间的认证,还是长时间的认证,耗电量都很低,最多仅有其他两种算法的50%。

图6 不同时间下持续性认证的能耗比较

由上述两方面的对比实验证明,本文算法在大样本认证情况下,具有较高的识别准确率且能耗低。这表明,本文提出的基于步频分布的身份识别算法能有效地识别身份,并可用于计算能力较弱、内存小的穿戴式设备中。

4 结 语

本文针对现阶段可穿戴计算领域中身份识别算法的低效和能耗大的问题,在充分分析步态构成之后,着重考虑用户的行为习惯,提出一种基于步频分布的身份识别方法,刻画一种新型的步态特征,并通过相对熵进行认证。实验证明,本文算法有着较高的识别准确率和较低的能耗,在各种可穿戴设备上会有比较好的实际应用价值。虽然本文算法准确率比较高,但是在步态切换时不能表现出良好的识别度,未来将继续改进本文算法,使其在实际应用中有更高的实用性。

猜你喜欢
步频步态加速度
基于步态参数分析的老年跌倒人群步态特征研究
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
特别策划《步态分析研究综述》
苏炳添与世界优秀男子60 m跑运动员步频节奏对比分析
谢震业与世界优秀100m运动员步频节奏比较研究
博尔特百米全程节奏的跟踪研究
创新,动能转换的“加速度”
步态识人
死亡加速度
耦合振荡子与生物同步理论对现代百米技战术的影响