面向复杂动作的运动状态转移识别模型

2021-11-22 08:03耿宏杨梁久祯侯振杰吕士云
小型微型计算机系统 2021年11期
关键词:分类器滑动静态

耿宏杨,郇 战,梁久祯,侯振杰,高 歌,吕士云

(常州大学 计算机与人工智能学院,江苏 常州 213164)

1 引 言

近年来,随着计算机技术的不断发展,微电子和集成电路向着体积小和性能高的趋势发展,嵌入式设备也会变得更加廉价、实用.智能手机、可穿戴设备逐渐被人们广泛使用,基于传感器的活动识别研究也在许多科学和应用领域逐渐成为研究热点[1].

基于传感器的人类活动识别主要研究来自手机或可穿戴设备中监测到的人类活动信号,运用各种机器学习和数据挖掘方法对信号中的动作信息进行预测和识别.文献[2]使用在语音识别方面具有良好表现的隐马尔科夫模型(Hidden Markov Model,HMM),并结合支持向量机(Support Vector Machines,SVM)对传统的隐马尔可夫(HMM)模型进行改进,对不同的人类活动类别具有良好的效果.文献[3]引入一种基于自我训练(ST)方法的半监督主动学习(SSAL)来进行人类活动识别,部分自动化注释来提高分类器效率,可运用于监督和非监督的方法中,保证识别效果的同时提高效率.除了机器学习方法外,深度学习方法也被应用与人类活动识别(Human Activity Recognition,HAR),并取得很不错效果.文献[4]采用卷积神经网络(Convolutional Neural Network,CNN)[5]进行特征学习的方法相比于基线模型动作分类的速度和效率明显提高.文献[6]针对日常动作信号提出一种深度长短时记忆网络提取高级特征,将监督和非监督的损失并在一起,充分利用了未标记的数据,从而获得好的识别效果.另一方面,相关的数据集建立也是对基于传感器的人类活动识别研究做出巨大贡献,如文献[7,8]等.论文中将活动分为静态动作,过渡动作,动态动作3类[9],在参考前人工作的基础上,主要集中在解决动作与动作之间的过渡问题和动作状态转换关系问题.论文的主要工作如下:

1)针对复杂且连续的人类活动,提出一种基于时间序列信号的运动状态转移识别(MSTR,Motion State Transition Recognition)模型,该模型可将静态动作(坐、站立、躺)、动态动作(走、上楼梯、下楼梯)及静态动作之间转换的过渡动作检测并标定出来,精度可达到采样点级别.

2)根据静态动作序列信号平稳的特点,将静态信号进行检测和定位,目的是更准确地定位静态动作区域和区分静态动作之间的过渡动作.在静态动作被定位的前提下,引入有限状态机的思想,通过动作与动作之间的上下文依赖关系,来确定过渡动作片段.

3)论文实验将在用于人类活动研究的Human Activity Recognition Using Smartphones(HARuS)数据集进行.此外,实验结果将会与已知方法进行对比,来说明论文所提方法的优越性.

2 相关工作

大多数日常行为研究主要致力于单个动作识别(例如走、站、坐、跑等).然而,真正的人类日常活动往往是复杂的、连续的,且总是存在多个不同或相同动作状态之间的转换.基本的日常动作往往是复杂的,其复杂性就体现在动作状态转换之间存在的过渡动作,过渡动作往往是短暂且伴随着剧烈变化,许多HAR研究都会忽略对过渡动作的识别[10].通过可穿戴传感器监测日常行为生活,运用机器学习的相关方法对监测的活动进行分割,且只对基本动作进行检测和分割[11].Dafne San-Segundo等人[12],提出的人类活动识别分割系统只针对连续信号中的6种不同的基础动作(走、上楼梯、下楼梯、坐、站、躺)进行分割识别,并未对连续信号中存在的过渡动作进行分割和识别.Li等人[13],使用贪婪高斯分割(GGS)来识别动作过渡时产生的间断点并通过XGboost模型来预测每个窗口内的人类活动,同时忽略过渡动作的识别.

但是,也有针对过渡动作的分割方法的研究.Fidad等人[14],测试不同长度的窗口,选择对短时间活动(坐、站和过渡)和长时间活动(走、上楼梯下楼梯)识别最优的窗口,该分割方法获取了高于90%的准确率.将连续活动数据进行切片,获取的动作数据段通过分类的方式来获取段的动作信息[9].这种方法可以将连续动作中的某些动作识别出来,但是考虑到人类活动的实际情况时,固定长度的滑动窗口难免会出现一个窗口内包含两个或者两个以上动作的情况.这种情况常出现于动作段与过渡段之间,即影响分类准确性,也降低了分割准确度.文献[15]克服固定滑动窗口分割局限性问题,提出自适应的滑动窗口方法,根据窗口内动作的概率大小自适应地拓展窗口,以提高分类准确性,并取得很好的识别率.该算法需要选定基础的固定窗口,且只能动态放大,如果可以自适应地放大缩小,就可以更加精细地分割动作边界.

无论是固定的还是自适应的滑动窗口,还是需要考虑不同动作状态之间存在的过渡转换问题,这将决定分割和识别的准确率.因此,这些问题也是论文即将要解决的问题.

3 模型框架

针对复杂动作进行分割识别的整体构架,如图1所示.该框架主要包括两个步骤:第1部分,通过使用固定长度的滑动窗口对连续动作序列进行分割识别,为了规避滑动窗口对过渡动作识别效果差的弊端,这里只对非过渡动作进行训练识别,最终将复杂连续动作中的动态动作和静态动作标定出来.第2部分,检测静态动作(坐、站、躺)的边界,将两类静态动作之间存在的过渡动作进行标定,再根据有限状态机可以确定动作状态之间存在的过渡动作类别.

图1 模型总体框架

3.1 滑动窗口分割

滑动窗口法用于分割识别,被广泛应用于HAR研究,使分割的步行、跑步、站立、坐姿、上楼梯和下楼梯等动作有很好的识别效果[16,17].具体步骤如图2所示,对复杂运动序列进行粗分割,主要包括模型训练和连续动作序列信号的预测和识别.

图2 粗分割流程图

3.1.1 数据预处理

通过具有内置惯性传感器的手机或者可穿戴设备采集的人体行为数据存在许多噪声和异常值.滤波是去除噪声的关键步骤之一,噪声大多由各种来源反射的高频分量(例如设备连接松动,放错位置,外界的电磁干扰等)[18].针对信号中存在的噪声,使用3阶巴特沃思滤波器去除基线漂移噪声[19].PSD是一种估计功率在频率上的分布的度量,并且已被广泛用于评估带有基线漂移噪声的高频滤波器[20],通过对原始信号计算功率谱密度(PSD)进行截止频率的选择.

3.1.2 特征提取

基于惯性传感器的动作识别中,由于标准分类模型不适用于此类数据,因此我们需要在提取特征之前将传感器数据划分为多个段.在处理时间序列数据时,滑动窗口[21]技术得到了广泛的应用,并被证明是有效的[22].通过对原始数据求导得到新的6组数据(包括加速度和角速度的每一轴信号),其次,对原始加速度和角速度数据求欧几里得范数得到新的2组数据.因此,总共获得14组数据(包括6组原始数据和8组新的数据).候选固定长度为0.5秒、1.28秒、2.56秒、3秒的滑动窗口[23],并以50%重叠的方式截取6种基本动作的惯性传感器信号.对每个窗口的14组数据中每一组提取包含6组时域特征(均值、标准差、最大值、最小值、众数和过零点个数)和4组频域特征(均值、方差、偏度和峰度),这样每个滑动窗口可以获取140个特征.

3.1.3 分类器

LightGBM是起源于微软亚洲研究院,由Guolin Ke等人提出的.其算法和XGboost[24]类似,都是基于梯度提升决策树(GBDT)[25]框架所提出的.该框架在GBDT基础上结合基于梯度的单边采样(GOSS)和互斥特征捆绑(EFB)以及深度限制,使其在训练速度,内存使用率优化,分类准确性等方面的性能大大提升[26,27].LightGBM分类器在整个模型中用作基本动作的分类,为后续工作提供动作类别的先验知识.

3.2 运动状态转移模型

论文提出的运动状态转移模型(Motion State Transition Model,MSTM),通过运动状态之间转换关系来识别过渡动作,此模型针对静态动作之间的状态转换.该模型主要包括静态动作检测和有限状态机.

3.2.1 静态动作检测

静态动作信号为受试者静止不动的情况下记录的传感器信号,包括坐、站、躺3种动作,加速度传感器均受到重力的影响,在垂直方向会有一个加速度值,其余两个方向的加速度值都是在零值上下震动.相较于陡峭明显且波动较大的过渡信号,静态信号就显得平稳且波动小.

根据以上分析,静态动作相较于其他动作拥有较小的变化率,检测并保留变化率较小的信号区域,以实现对静态动作与非静态动作信号的分割.为了减少静态动作信号中存在的离群点和随机噪声造成的干扰,使用一阶滤波器对信号进行平滑,滤除静止动作中存在的毛刺信号如图3(a)所示.其次,对滤波后的信号进行差分处理,静态动作的差分值波动较小,然而,过渡动作的差分值波动变化大,可以设置允许静态动作波动的阈值α来分离这两类信号.

阈值α的设定对于区分静态动作和过渡动作至关重要.理想情况下,静态动作信号差分波动的最大幅值小于相邻的过渡信号的波动的最小幅值,这样阈值α可以完全将两种动作分开.实际情况下,在持续的静态动作中难免出现由于身体抖动或者其他原因造成短暂的信号突变.如图3(a)中所示,可以看出滤波后的信号明显变得平滑.另一方面,由静态动作向过渡动作进行转换的起始时段变化率和静态动作的变化率相似,所以这部分信号很难进行区分.在此引入统计学中的第三四分位数(Q3)的思想[28],统计训练样本中的静态动作信号差分绝对值集合,将其以从小到大顺序排列,取其中的第三四分位数点(第75%位置点),相同地,对过渡动作信号差分绝对值集合取第25%位置的点,依次取静态和过渡动作信号第80%和第10%,第85%和第15%,第90%和第10%,第95%和第5%的差分绝对值分位点进行统计比较.在HARuS数据集[29]中,统计5组分位数情况下静态动作信号和过渡动作信号差分绝对值的均值.如图4所示,第95%和第5%情况下,静态动作的最大值大于过渡动作的最小值,所以很难将两种情况分离.因此,取静态动作差分幅值第90%位置点均值为阈值α的取值,如图3(b)所示.

图3

图4 静态动作差分幅值均值最大与过渡动作差分幅值均值最小在不同分位情况下的对比

根据文献[14]的工作经验所知过渡活动的持续时间有限,平均为3.37±1.2s,那么只需统计符合在零值上下α波动且连续的采样点,并超过过渡动作可持续时间的最大限度即可,本文设置为5s.最后,把符合条件的信号的序列起始位置记录下来.为了从差分序列的界限转换到原始序列,需要将记录下来的末尾边界加一作为弥补,对应到原始静态动作起始如图3(c)所示.详细算法流程如下所示:

算法1.静态动作分割算法

输入:低通滤波后的加速度数据Fdata;

输出:静态动作起始索引集合static_index

1.设置变量参数Threshold=α,count=0;

2.dFdata=diff(Fdata)/*对Fdata进行差分操作*/

3.forifrom1 to length(dFdata)do

4.ifabs(dFdata(i))

5. count=count+1

6.else

7. if count>5*50then/*判断序列是否满足静态持续时长*/

8. static_index([i-count,i+1] /*保存索引 */

9. count=0

10.else

11. count=0

12.endif

13.endif

14.endfor

15.returnstatic_index

3.2.2 有限状态机

有限状态机(finite-state machine)又称有限状态自动机,简称状态机,表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型[30].静态动作之间存在一些未知情况主要分为两种:1)同种静态动作状态之间的转换.受试者在静止不动的时候难免存在身体的颤动,或者受到某些外界的干扰或影响,使得整个静态动作之间存在着幅度小且短暂的无用信号如图5框中标记所示;2)不同种类静态动作之间的转换.正常的动作转换必不可少存在过渡动作,持续时间是大于无用信号持续时间的.本文设置了9种状态,分别为:

图5 静态动作中出现的干扰信号

S0:表示坐状态;

S1:表示站状态;

S2:表示躺状态;

S3,S4:坐到站和站到坐的过渡状态;

S5,S6:站到躺和躺到站的过渡状态;

S7,S8:躺到坐和坐到躺的过渡状态;

动作状态之间的转换条件如图6所示.假设S={Si|i=1,…,n}表示检测出来的n段静态动作信号,A={Si,j|i≠j;i=1,…,n;j=1,…,n}表示两个静态动作状态Si和Sj之间的过渡动作状态,ΔT为相邻两个静态动作状态Si-1和Si之间的时间间隔,Sk静态动作之间的未知动作状态,不同的ΔT体现不同的运动状态Sk如公式(1)所示.当ΔT<1s时,表示未知段为同类静态动作的干扰部分;当1s<ΔT<5s时,表示未知段为过渡动作;当ΔT>5s时,说明中间存在一个静态动作与ΔT设定矛盾,所以不考虑.

图6 FSM动作状态转换过程

(1)

4 实验及结果分析

4.1 数据集介绍

论文的实验数据来源于UCI(UC Irvine,加州大学欧文分校)机器学习存储库中的“使用智能手机进行人类活动识别”数据集.该数据集包含30位年龄段在19-48岁的志愿者,每一位志愿者在腰间佩戴智能手机(三星Galaxy S II)进行连续的6个活动(步行,上楼梯,下楼梯,坐,站立,躺).使用其嵌入式加速度计和陀螺仪,以50 Hz的恒定速率采样3轴线性加速度和3轴角速度.数据集包含13182s的记录,包括来自30个用户的400个活动实例[29].

4.2 分类训练

4.2.1 数据预处理

根据3.1节,针对人类活动相关的惯性传感器数据,使用3阶巴特沃斯低通滤波器.对HARuS数据集中的动作数据计算功率谱密度(PSD),如图7所示,给出了加速度X轴信号和角速度X轴的PSD曲线,可以看出信号能量主要分布在0Hz-15Hz之间,大于15Hz的部分逐渐趋于0值,因此选择15Hz作为截止频率.

图7 HARuS数据集加速度

4.2.2 滑动窗口和分类器选择

不同长度的滑动窗口截取的动作样本,决定分类器的训练效果,另外,分类器选择也将影响整个分类的效果,同时动作分类的准确度也将决定预分割的效果.使用固定长度为0.5秒、1.28秒、2.56秒、3秒的滑动窗口作为候选窗口,并以50%重叠的方式提取6个基本动作信号,然后每个窗口提取140个统计特征(具体参考3.1节特征提取部分).

为了体现所提及的LightGBM分类器的分类效果,使之与经典分类器随机森林(Random Forest,RF)、SVM、K-近邻法(K Nearst Neighbors,KNN)、朴素贝叶斯(Naive Bayes,NB)、GBDT[25]、XGboost[24]进行对比,并且每一个分类器训练使用十折交叉验证的形式度量模型的泛化性.在表1中展示4个不同窗口长度下的不同分类器对应的分类准确率(Accuracy).

表1 不同窗口长度和分类器的准确率

根据表1所示,4种不同长度的滑动窗口对比下,LightGBM和XGBoost分类优势明显,平均识别可到达98%.其中,GBDT和XGBoost分类器的识别效果与LightGBM相差很小,但是,分类器训练的时候发现GBDT和XGBoost分类器的训练过程耗时比较长如表2所示,因此,说明LightGBM作为整个模型中的分类器是比较合适.其中,当滑动窗口长度为2.56s时分类识别效果最好,总体识别率高达98.69%,对于每个动作的识别率达到97%以上.

表2 不同分类器训练时间对比

4.3 实验设置与结果分析

4.3.1 评价方法

论文所要解决的问题是动作分割,精准地检测每个活动的起始位置,为了评估所提方法的性能选择评价指标[31]:精度(Precision),召回率(Recall)和F1,各个指标定义如公式(2)-公式(5)所示:

(2)

(3)

(4)

(5)

4.3.2 实验结果

论文将从HARuS数据中30位受试者的60个样本中随机抽取其中的5组作为测试,其余的数据作为LightGBM分类器的训练样本.其中,5组测试样本是完整连续动作序列,剩下的55组训练样本进行分类训练,同时,根据2.2节所提方法统计出阈值α=0.0011.实验的实验平台在搭载了Intel® CoreTMi7-4710HQ 2.5GHz CPU和NVIDIA GeForce® GTX 850M 2G GPU的ASUS笔记本电脑上进行,操作系统是Windows 8.1,使用开源编程语言Python 3.6.0进行实验测试.

表3所示,5组测试样本所对应4种评价方法(Precision、Recall、F1)的结果,Accuracy最高可达到了98%以上,最低为95%左右,其余都达到97%以上,说明绝大多数的动作类别点都被正确识别.其中,S5样本在Accuracy和F1表现最优.12种类别的混淆矩阵如表4所示,基本动作的分割准确率都比较高,过渡动作坐到躺和站到躺的查全率(recall)达到100%.在图8中,展示的是S5样本的加速度X轴信号数据散点图,对3类动态动作、过渡动作和静态动作分别用5类不同颜色的点进行标定.其中图8(a)为样本分割效果图,不同的动作已用对应的颜色进行标定.图8(b)是图8(a)对应的GroundTruth样本对比图,其中,对HARuS数据库中未经标定动作的段留白,防止对其他动作造成干扰.从图8(a)中可以看出静态动作、动态动作和过渡动作都准确地被标定出来,一些错误标定的部分出现在无用段,不作为评价对象,再者就是一些过渡段与静态动作的前后连接处往往不能精确地区分出来,因为人类由一个动作向另一个动作过渡时,很难界定过渡动作的起始时刻.

表3 5个测试样本不同评价指标下的结果

图8 S5实验对比图

表4 S5测试样本每个动作分割结果混淆矩阵

4.3.3 实验结果对比

通过对比前人的研究成果来体现所提方法的优越性.所提出的模型在HARuS数据集上进行实验,所以选取的对比研究同样是在HARuS数据集上进行的.具体体现在表5和表6中,分别对每个动作类别的准确率和召回率进行对比.

表5 提出的方法与其他方法精确率的对比

表6 提出的方法与其他方法召回率的对比

文献[15]提出AW-TD算法,根据每一类动作信号属于特定的概率,建立多元高斯函数来自适应地调整窗口大小.不同的是论文所提出的模型可以检测UCI数据库中所有的12类动作,而文献[15]只对其中走、坐、站、站到坐、坐到站、坐到躺、躺到坐动作进行分割识别.同样的,文献[32]结果也是来自文献[15]只对7种动作进行分割识别,且两种的分割识别方法表现出很好的效果,AW-TD算法对走、坐、站的分割精确率达到了95%以上,召回率也是高于90%,两者远远高于GD算法.另外,论文所提方法对坐、站、站到坐、坐到站躺到坐动作的分割精确率均高于AW-TD算法表现,整体识别率也是达到98%以上,高于AW-TD的96.5%和GD的91.9%.

5 结 论

论文针对复杂动作的分割识别,提出了状态转移识别模型,可以分割并识别复杂动作序列中的基本动作和过渡动作,并将每个动作数据点进行类别的标定,将动作分割精确到采样点级别.整个模型分两个部分:第1部分,根据滑动窗口分割方法分割识别基本动作(动态动作和静态动作),将其中周期较强的动态动作的分割识别结果保留,另外,将静态动作作为动作先验保留.第2部分,根据静态动作信号变化率接近零值的特性,通过统计法给定静态动作信号波动阈值,将进一步细分静态动作区域,再根据有限状态机和动作先验可将过渡动作精准分割.本模型在UCI公开的HARuS数据集上进行研究实验,从结果可以看出,提出的模型可以很好地分割识别出动态动作、静态动作和过渡动作,并且整体准确率达到98%以上.另外,与已知的在同一个数据集上并做相同的研究相比,整体准确率比GD方法高6.3%,比AW-TD方法高1.7%.

尽管,提出的模型在复杂动作分割和识别取得相对较好的效果,但是模型本身存在许多问题,尤其是模型的鲁棒性和在线分割识别方面存在不足.接下来的探索将会在模型的基础上开发自适应的分割方法,并在其他的相关公共数据集上进行实验来优化模型,提高查准率的同时兼顾查全率,增加其鲁棒性.

猜你喜欢
分类器滑动静态
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
学贯中西(6):阐述ML分类器的工作流程
最新进展!中老铁路开始静态验收
静态随机存储器在轨自检算法
基于朴素Bayes组合的简易集成分类器①
猜猜他是谁
基于HTML5静态网页设计
基于AdaBoost算法的在线连续极限学习机集成算法
一种动态足球射门训练器
关于滑动变阻器的规格问题