APP下载

基于改进机器学习的人体行为识别方法研究

2023-11-23陶加贵胡胜男戴建卓张思聪

电气传动 2023年11期
关键词:特征选择识别率频域

陶加贵,胡胜男,戴建卓,张思聪

(1.国网江苏省电力有限公司电力科学研究院,江苏 南京 211103;2.国网电力科学研究院武汉南瑞有限责任公司,湖北 武汉 430074)

人体行为识别(human activity recognition,HAR)是智能化研究中的一个重要方向,具有广泛的应用前景,在智能家居、智慧医疗、老人病人监护等方面发挥着极其重要的作用[1]。由于认知缺陷和身体受损,依赖人群和老年人在日常生活活动中极易发生意外,应用人体行为识别系统,对突发情况进行及时检测并自动发送警报[2-3],可以在很大程度上解决依赖人群和老年人的活动监护问题。

基于传感器的人体行为识别已成为近年来人工智能领域的研究热点[4],通过机器学习等方法将传感器收集的传感数据有效地映射到人类的行为活动中。传统的机器学习实现行为识别遵循自上而下的方法,包括数据收集、信号预处理和分割、手工构建特征和选择及分类[5]。然而,在不同的领域中评判人工提取特征的有效性是非常困难的,并且还需要进行耗时的特征选择和一定的降维方法以减少计算复杂度[6-8]。同时特征选择的不恰当使用易导致模型缺乏概括性或建模复杂活动细节的能力,这会影响识别精度。

在人类活动识别框架的所有不同阶段中,特征提取是最重要的阶段[9],关于如何通过提取专家驱动的特征来改进人类活动识别系统,已经做了大量的工作。HASSAN MM等人[10]依据统计特性从原始数据中提取高效特征,然后采用核主成分分析(kernel principal component analysis,KPCA)进行降维,最后使用深度信任网络进行训练,获得了较高的识别效率;MA Congcong 等人[11]采用自适应的滑动窗口对时序动作数据进行分段并提取相关特征,将特征规范化后进行特征选择,利用多元高斯分布实现了不同坐姿状态的识别;张俐等人[12]依据经验提取行为特征后,基于互信息理论设计了一种前向搜索的非线性特征选择算法,寻找与多分类标签相关的最优子集,并降低计算复杂度;王瑞杰等人[13]在特征选择的过程引入冗余性分析,将冗余特征剔除,以提高分类准确率和降低计算复杂度。伴随着传感器技术的高速发展,行为识别领域可获取的传感器数据越来越多[14],面对多维度、大体量的行为信号数据,依赖专家经验和信号处理技术的传统行为识别方法已经无法满足更高精度的行为分析需求,因此,迫切需要研究一种新的方法以减少复杂的预处理和特征选择的干预。

而近年来,多层次结构和再学习训练的特点使得深度学习具有更大的优势,可以弥补传统行为识别方法的人工提取特征的不足并避免特征选择的干预[15]。结合深度置信网络(deep belief network,DBN)在提取特征和处理高维、非线性数据等方面的优势,文中提出一种基于深度置信网络-支持向量机(deep belief network-support vector machine,DBN-SVM)的行为识别模型,以行为数据预处理获取的时频域信号作为DBN-SVM 的模型输入,以供DBN 实现高层次的特征提取、获取更具辨别力的行为特征向量;之后输入SVM 进行行为分类识别,通过对DBN-SVM 模型的网络层数等参数设置进行实验分析,确定了模型参数;最后以不同数据集和分类器进行行为识别分类,验证了提出方法的有效性。

1 原始数据预处理

1.1 滤波降噪

从传感器中采集的原始行为数据不可避免地带有大量的噪声信息。这是因为在采集数据时,用户身上发生的抖动、与衣服之间的摩擦以及其他因素,这些因素会使得原始数据中含有大量的噪声,影响人体行为识别效果[16]。文中选择中值滤波器和低通巴特沃斯滤波器过滤掉原始数据中的噪声。图1 为滤波之前的行为数据信号,图2 为滤波之后的行为数据信号。从图中可以看出,使用滤波器过滤后的传感器数据会更加地平滑,更容易识别波形的周期性。

图1 滤波之前的行为信号波形Fig.1 Behavior signal waveform before filtering

图2 滤波之后的行为信号波形Fig.2 Behavior signal waveform after filtering

1.2 时频域变换

行为数据信号在采集的过程中会受到重力的作用,使得加速度计采集的各个轴的加速度除了包含运动产生的线性加速度之外,还包含了重力加速度分量,需要利用滤波器分离信号。

低通滤波器是一种允许低于截止频率的数据通过的滤波器,可以筛选出频率高于截止频率的数据[17]。由于高频数据变化快,低频数据变化慢,可知重力加速度是一种低频数据,运动加速度是一种高频数据。因此可以使用低通滤波器将加速度计传感器的加速度分离成重力加速度和线性加速度[10]。在此基础上,通过欧几里得范数的计算和快速傅里叶变换获取时频域信号。时域信号包括:身体加速度、重力加速度等;频域信号包括身体线性加速度、身体角速度等。具体信号如表1所示。

表1 时域频域信号Tab.1 Time domain-frequency domain signals

表1 中,前置字母t,f 分别表示时域、频域信号,BodyAcc 表示身体加速度,GravityAcc 表示重力加速度,BodyAccJerk 表示身体加加速度,Body-AngularSpeed 表示身体角速度,BodyAngularAcc表示身体角加速度,BodyAccMag表示身体加速度大小,GravityAccMag 表示重力加速度大小,Body-AngularSpeedMag 表示身体角加速度大小,Body-AccJerkMag 表示身体加加速度大小,BodyAngularAccMag表示角加速度大小。

1.3 窗口分割

从传感器中采集的数据一般比较长,而且每次采集的数据长度不一定相同。如果不将其切分成较短的数据段就提取特征,这样提取的特征通常不能很好地表示出数据的真实特性,对整个人体行为识别产生影响,导致识别不准确。因此,在对采集的数据进行去除噪声之后,还需要使用滑动窗口对信号进行采样,以方便后面进行特征提取和分类识别。

滑动窗口分割技术是指使用一个固定长度的窗口沿着时间序列向前移动,每移动一次就提取其窗口内的数据作为一个数据段,每个窗口之间存在一定的重叠率(使窗口中可以包含更多信息),窗口滑动至时序数据尾部,可得到一组连续的样本集用于活动分类[18]。图3 为包含3 个活动数据的滑动窗口分割技术时间序列示意图。

图3 滑动窗口分割技术时间序列示意图Fig.3 Schematic of sliding window segmentation technique time series

图3 中,A1,A2,A3表示3 个持续时间不同的动作,W1,W2,W3,W4表示相同大小的滑动窗口。本文依据经验将滑动窗口大小设置为2.56 s,并以50%的重叠率进行数据分段。2.56 s 的窗口大小可以满足绝大多数动作所需的时间,同时50%的重叠率可以保证当前动作信息的完整度。

2 基于DBN-SVM的行为识别模型

2.1 DBN模型

DBN 由若干层受限玻尔兹曼机器(restricted Boltzmann machine,RBM)堆叠组成,是一种广泛应用的深度学习模型,主要包括预训练和反向调参两部分[19]。DBN 可以将原始数据中的深层特征以非线性变换的形式自动提取,首先以无监督的方式逐层训练DBN 模型提取高层特征,然后采取反向微调算法实现模型的有监督训练,最后采用训练好的模型对行为测试集进行分类,并记录每个隐含层的输出向量。相比于传统的显层分类器如多层前馈神经网络(back propagation,BP)、人工神经网络(artificial neural network,ANN)等神经网络,DBN 可以更好地避免过拟合。DBN 的结构如图4所示。

图4 DBN结构图Fig.4 Structure diagram of DBN

DBN 由多个RBM 堆叠而成,RBM 的结构如图5所示。可视单元v和隐藏单元h被连接成DBN 的基础单元。连接可见单位和隐藏单位之间神经元的权重是相互独立的,没有可见或隐藏的连接,但是相邻层之间是互相联通的。

图5 RBM的结构Fig.5 Structure of RBM

如图5所示,RBM 单元中包含了m个可见单元和n个隐藏单元,a,b分别为单元偏置,w为相邻层之间的连接权重。

联合结构网络的层间单元节点具有的能量如下式:

式中:wij为第i个节点vi与第j个节点hj之间的权重值。

RBM 中可见层与隐含层之间的联合概率分布可由网络的节点能量表示,即

则可见层与隐藏层的边缘概率分布为

其中

式中:f(x)为激活函数。

RBM 通过对比散度算法更新概率分布和能量值以获取DBN 的网络参数θ={w,a,b},分别表示为

式中:k为迭代次数;η为学习率。

利用DBN提取行为高层特征的过程如图6所示。它通过一个非监督贪婪逐层方法预训练获得权重,将可视层输入的行为样本映射到高层。

图6 DBN提取特征过程Fig.6 Feature extraction process of DBN

经过DBN 网络映射后提取的高层特征y表示如下:

式中:v为可视层输入特征;θDBN为模型的网络参数。

2.2 模型构建

深层信念网络在底层有定向连接,在顶层有无定向连接,这有助于模拟向量空间和隐藏层之间观察到的分布以学习对变换、噪声和位移不变的稳健特征。但DBN 的输出不稳定,具有一定的随机性[20]。

因此,为了减少DBN 模型输出的随机性,文中利用DBN 模型输出高维度特征矩阵,通过在DBN 的输出层接入多个SVM 分类器进行行为识别,可以有效提升模型的泛化能力和可靠性。基于DBN-SVM的人体行为识别流程如图7所示。

图7 基于DBN-SVM行为识别流程Fig.7 Behavior recognition process based on DBN-SVM

利用DBN-SVM 模型提取行为的高层特征主要包括以下4个步骤:

1)利用智能手机传感器获得人体不同的行为信号;

2)对原始行为信号进行降噪处理并分段,标准化后将行为数据集划分为训练集和测试集;

3)建立DBN-SVM 模型并根据行为样本维数确定模型输入层节点,使用训练数据集对DBN 模型进行逐层训练,对模型权重进行权重和阈值的反向微调,最后提取出行为的高层特征;

4)将提取的高层行为特征输入到SVM 分类器,获得行为识别准确率。

利用DBN-SVM 模型提取高层特征的过程如下:①采集多种行为信号;②对行为信号进行预处理去除噪声并分段;③划分行为数据集为训练集和测试集;④初始化DBN 相关参数;⑤训练集训练DBN;⑥测试集输入已训练的DBN 模型,隐含层输出向量,获取行为特征向量集。

3 实验分析

3.1 实验环境配置

实验以PyCharm Edition 2019为开发环境,操作环境为内存4 GB 的Windows 10 系统,CPU 配置为Intel®Core™i5-2400 CPU@3.10 GHz。

3.2 实验数据集

本文采用公开的基于智能手机的人体行为识别数据集——UCI 数据集[18]进行实验。UCI 数据集共10 929 条数据,由30 名年龄为19~48 岁的志愿者采集,通过将智能手机放置于志愿者的腰部获取加速度计和陀螺仪相关数据,采集频率为50 Hz,共采集6 种活动,包括:步行、步行-上楼、步行-下楼、坐立、站立、躺着。数据集按照70%和30%的比例随机被分为7 767 个训练集和3 162 个测试集。训练集和测试集中的每条原始行为数据通过滤波器降噪并将原始行为信号分离为17 个时频域信号,之后以2.56 s 的固定滑动窗口将数据分割为连续的小片段构成数据集,直接输入到DBN-SVM 模型中提取行为高层特征实现活动识别。

3.3 评价指标

实验中采用以准确率、精确率、召回率和f1分数作为模型的评价指标。由于不同行为的样本数量分布不均,综合四个指标测评模型的效率,可以实现模型对负样本的高区分能力、对正确样本的识别能力和稳健性[21]。

准确率(acc)可以最直观地展示分类结果,表示预测样本为正确分类的结果占总样本数量的比例。但是当每个样本占总样本的比例非常不平衡时,占比高的类别对最终的准确率影响很大,这是单独使用准确率无法避免的缺陷,计算公式如下式:

式中:ncorrect为正确分类的样本个数;ntotal为总样本个数;TP为实际为正被预测为正的样本数量;FN为实际为正但被预测为负的样本的数量;FP为实际为负但被预测为正的样本数量;TN为实际为负被预测为负的样本的数量。

精确率(pre)指模型预测为正的样本在实际中也正的样本占被预测为正的样本的比例。精确率可以实现分类器不将负样本错误标记为正样本,计算方法如下式所示:

召回率(recall)指实际为正的样本中被预测为正的样本所占实际为正的样本的比例,召回率可以表示分类器找到所有正样本的能力,计算方法如下式所示:

f1分数(f1-score)为精确率和召回率的调和平均值,计算方法如下式所示:

3.4 模型参数设置

DBN 的网络层数、神经单元个数、学习率、迭代次数等参数设置对最后的识别精度都会产生影响。本实验将研究不同的参数设置对行为识别的影响。RBM 学习速率为0.1,迭代次数设置为60次。首先研究不同网络层数的影响,将每层网络的隐藏层与输出层单元个数设置为100,提取高层特征后使用SVM 进行行为识别。图8 为1~10 层网络进行行为识别的准确率,从图中可以看出,当网络层数为4时,行为识别取得了较高的准确率。因此,DBN-SVM 的模型参数设置如下:输入层节点个数100,隐藏层1 节点个数60,隐藏层2 节点个数20,输出层节点数6,网络层数4,学习率0.1,迭代次数60。

图8 不同网络层数的行为识别准确率Fig.8 Behavior recognition accuracy of different network layers

3.5 实验分析

分析提出的DBN-SVM 模型对6 种行为动作的识别情况,实验结果如图9所示。

图9 DBN-SVM模型行为识别率Fig.9 Behavior recognition rate of DBN-SVM model

实验结果表明,提出的识别算法对步行、步行-上楼、步行-下楼、坐立、站立、躺着6种动作的识别率分别为96.33%,93.12%,92.67%,97.43%,95.19%,96.40%,对坐立的识别率最高,对步行-下楼的识别率最低,对6 种活动的平均识别率达到了95.19%。

传统的基于加速度和角速度的行为识别方式是提取行为信号的时域和频域信号,之后在滑动窗口内提取统计特征,包括均值、最大值、最小值、轴相关性等,然后将获取的特征矢量集输入分类器中进行分类识别,常用的分类器包括SVM,BP 神经网络及ANN 等。本次实验将提出的DBN-SVM 模型与传统的分类方法(DBN,ANN,SVM和BP)进行对比,其中ANN,SVM和BP输入的特征矢量是与DBN-SVM 模型相同,是经过简单预处理之后的时频域信号。4种方法对各活动的识别率如图10所示。

图10 各模型对各活动的行为识别率Fig.10 The behavior recognition rate of each model for each activity

由实验结果可以发现,各模型对6 种活动的识别存在以下特点:由于不同活动之间存在相似性,步行与步行-上楼、步行-下楼容易发生误判,站立、坐立和躺着3种行为容易识别错误,但本文提出的方法活动误判的概率非常低,且该模型对6 种行为动作的平均识别率达到了95.19%,高于DBN(2.45%),ANN(13.02%),SVM(23.79%),BP(14.71%),因此得出本文提出的行为识别方法具有较高的识别率。

将各模型应用于WIDSM[22]行为数据集中,行为识别的结果如表2所示。

表2 各模型在WIDSM数据集行为识别结果Tab.2 Behavior recognition results of each model in WIDSM data set

表2 中,准确率、精确率、召回率、f1分数4 个常用指标的实验结果表明,文中提出的DBNSVM 对6 种行为的识别率较高且较均衡,其次是DBN 模型,因为DBN-SVM 提取了行为的高层特征,特征间关联性强且极具辨别力,因此分类识别效果更好。DBN-SVM 模型相较于DBN,SVM,ANN,BP,平均识别率分别提高了4.84%,15.92%,12.13%,14.92%。

4 结论

文中在分析深度置信网络的原理和传统机器学习方法的缺陷的基础上,结合集成学习提出了一种基于DBN-SVM 模型的行为识别方法。该方法通过DBN 提取行为数据时频域信号的高层特征,在实验中不断调整设置模型参数,之后应用于SVM 并取得了较好的行为识别结果。相比于以手工制作方法提取特征有传统方法,DBNSVM 模型不需要在滑动窗口内依据专家经验提取统计特征,利用DBN 模型直接获取高层特征,无需进行特征选择,减少了行为识别过程中的计算量。将该方法应用于现有的UCI 数据集中,取得了较好的识别效果。同时,与现有的行为识别方法相比,本方法仍具有较好的识别性能。实验结果表明,本方法可以实现较高准确率的人体行为识别,具有一定的研究意义。

在人体日常活动中,由于加速度、角速度等十分相似,某些活动极易被分到与其相似的活动中,使得行为识别的精确率无法达到最优,未来将着力研究相似活动混淆分类的问题,以提升活动识别精度。

猜你喜欢

特征选择识别率频域
大型起重船在规则波中的频域响应分析
基于类图像处理与向量化的大数据脚本攻击智能检测
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
提升高速公路MTC二次抓拍车牌识别率方案研究
Kmeans 应用与特征选择
高速公路机电日常维护中车牌识别率分析系统的应用
基于改进Radon-Wigner变换的目标和拖曳式诱饵频域分离
联合互信息水下目标特征选择算法
基于频域伸缩的改进DFT算法