基于三轴加速度计和SVM 算法的校园运动识别

2022-11-05 08:30周露宋浩兰白静蕾闻家豪李继亮
电子设计工程 2022年21期
关键词:分类器加速度跑步

周露,宋浩兰,白静蕾,闻家豪,李继亮

(西安石油大学电子工程学院,陕西西安 710065)

随着科技的发展,传感器技术广泛应用于健康状况评估和健康监护等领域。传感器通过收集人们日常活动状态、消耗的能量、睡眠质量等行为数据,进行分析处理,以达到监测身体状态的目的,从而对健康进行干预,提供个性化健康实施方案的个人健康管理系统应运而生[1]。人在一天中进行的运动是影响人体健康的主要因素,传统的人体运动信息采集,是以图像或视频的方式跟踪对象的运动,提取对象轮廓,最后根据图像信息数据判断运动对象的动作[2]。对于运动视频图像边缘特征的自适应识别,可以通过计算图像灰度值,获得图像的主要信息,这种方法容易受光线与监测区域的限制。加速度传感器可以捕捉到对象的运动,而不受光线与监测空间的限制[3-4],因此基于加速度传感器数据采集系统的运动识别具有广泛的应用前景[5-6]。基于此技术,以人体运动行为作为研究对象,使用加速度传感器作为数据采集工具,完成对走路、站立、跑步、躺卧、上楼、下楼六种运动模式的数据采集。在此基础上,利用支持向量机算法建模识别,实现人体运动模式识别。

1 数据采集

1.1 传感器佩戴方式

实验采集人体行走、站立、跑步、躺卧、上楼、下楼的运动数据。为了得到最具有代表意义的数据,同时考虑到传感器佩戴的稳定性,穿戴方式也影响实验数据的准确性[7-9],实验时需要合适的佩戴方式。传感器佩戴在手腕上,行进间的摆手可以反映人体的运动情况,但是站立交谈时也会有手臂的摆动,容易引入噪声;传感器佩戴在腿上或背上,数据相对可靠,但这样的佩戴位置不容易形成易穿戴、好推广的产品[10-12];综合考察最终确定佩戴传感器位置为皮带扣处。传感器佩戴位置示意及三轴正方向如图1 所示,三轴组成的坐标系为左手直角坐标系。

图1 加速度传感器佩戴示意图

1.2 传感器选型

根据文献调研,人体运动频率的范围为0.5~20 Hz,常见动作不超过5 Hz[13]。根据香农采样定律,为了采集到真实可靠的人体运动信号,采样频率应大于40 Hz。

实验使用的加速度传感器采样频率为100 Hz,量程为±16g,内置电池与蓝牙模块,可以与手机连接进行数据传输与保存。传感器实物与手机蓝牙传输界面如图2、图3 所示。

图2 传感器实物图

图3 蓝牙传输界面图

2 识别算法介绍

2.1 支持向量机算法

支持向量机(Support Vector Machine,SVM)算法是由Cortes 和Vapnik 于1995 年提出,SVM 算法会从训练数据集中选择一组特征子集,使得该特征子集成为划分训练数据的边界。支持向量机算法是一种监督机器学习算法,十分适用于分类场景[14]。

SVM 算法本质上是一个处理二分类问题的分类器,所以当遇到多分类问题时就需要对分类器进行设计重组[15-16]。常见的SVM 多分类器的设计方法主要是通过组合多个二分类器进行设计,常见的有“一对一”法和“一对多”法。文中采用“一对多”法对支持向量机模型进行训练。

“一对多”法为:在一次训练中,把其中一个类别样本标记为+1,其余的类别归为另一类,全部标记为-1,使用重新标记的数据训练一个SVM 分类器,以此方法遍历所有类别。若有K个类别,则训练得到K个SVM 分类器[17-18]。在识别过程中,将未知样本数据代入每一个分类器,对比计算结果,未知样本为结果最大值的那一类。

2.2 特征提取

为了提取到原始数据中对分类有贡献的信息,选取200 个数据点划分为一个窗口,即2 s 内的加速度信息,按照50%重叠的滑动窗口对数据进行加窗处理,达到对原始运动信号的分割。在处理加速度信号时,每一轴的数据都包含不同的特征,特征反映出来的差异对机器学习算法的训练有巨大作用。

文中提取的主要特征包括三轴加速度信号的均值、标准差、众数、极差、最大值、最小值、中值绝对偏差。为了尽可能多地提取信号的时域特征,对三轴加速度信号求取了一阶导数,并提取了一阶导数对应的时域特征,从原始信号与信号导数中共得到42个特征量。

各特征量的介绍如下:

均值特征为在一个窗口内的加速度数据的平均值,其计算公式如式(1)所示:

标准差特征为在一个窗口内的加速度数据的标准偏差,标准差表示数据偏离平均值的程度,标准差越大,说明数据的离散程度越大,也就意味着受试者的加速度变化程度大,标准差可根据式(2)计算。

最大(小)值特征为在一个窗口内采集到的加速度数据的最大(小)值。

中值绝对偏差特征为在一个窗口内的加速度数据的中值绝对偏差,相比于标准差,中值绝对偏差中异常值权重小,少量的异常值对中值绝对偏差影响较小,可根据式(3)计算。

极差特征为在一个窗口内加速度数据的最大值和最小值之差。极差特征可以用来反映信号变化的剧烈程度,比如跑步信号的极差比步行的极差大很多,下楼的运动状态也存在较大的极差,这是区分运动模式的重要特征,极差可根据式(4)求得:

众数特征为在一个窗口内加速度数据中出现次数最多的数据。

对三轴加速度信号求取了一阶导数,根据计算结果,提取加速度一阶导数的均值、标准偏差、最大值、最小值、中值绝对偏差的特征。

对走路、跑步、站立、躺卧、上楼和下楼共六种动作进行加速度特征提取,加速度的特征数据作为支持向量机模型的输入数据。

3 实验结果与分析

该次实验有28 名志愿者参与,受试者将传感器佩戴于皮带扣位置如图4 所示,所有受试者采用相同方向佩戴传感器,采集了每位受试者的上楼、下楼、行走、跑步、站立、躺卧六种状态数据。在采集过程中,受试者不受任何约束,不规定先出左脚还是右脚,在采集站立与躺卧的数据时,不规定受试者的站姿与躺卧的姿势,完全按照自己的习惯执行相应的动作。

图4 传感器实际佩戴状态图

实验过程中,一共成功采集了28 名志愿者的数据,每名志愿者的实验数据包含六种状态,每种状态的测量时间约为5 min,实验中应用的加速度传感器同时测量记录三个方向的加速度信号。

六种运动状态的原始加速度的三轴数据曲线图如图5 所示,从图中可以看出,不同的运动行为产生的加速度信号存在较大差异,其中站立与躺卧两种运动状态下,加速度变化很小。

图5 各种运动状态的原始加速度数据

站立状态时X轴信号为1g,躺卧状态时Z轴信号为1g,这是由于站立与躺卧时加速度传感器的朝向不同;跑步时X轴加速度峰值超过3g,且频率比行走时的频率高;上楼时X轴加速度的变化范围为0.5g~1.7g,而下楼时Y轴加速度的变化范围为0.5g~2.1g。

采集结束后,对采集的数据进行加窗处理并进行特征值提取,对来自不同状态的信号的数据打上标签加以区分,最终得到32 320 个样本。

图6 为多种运动模式下X轴加速度最大值的分布,跑步状态、站立状态、躺卧状态的分布呈现出特有的规律。走路状态、上楼状态、下楼状态在此特征中混淆在一起。X轴加速度最大值是区分跑步、站立、躺卧三种状态的一个重要的指标。图7为Y轴加速度标准差的分布,下楼状态的数据与走路状态、上楼状态的数据范围不同,此特征可用于区分下楼状态,而站立状态与躺卧状态在此特征中呈现混淆。在识别模型中,综合多个特征条件进行模型训练与识别。

图6 X轴加速度最大值分布

图7 Y轴加速度标准差分布

使用Python 的机器学习scikit-learn 库建立支持向量机分类模型,通过网格搜索方式寻找支持向量机的最佳核函数以及软间隔参数。识别结果见表1,识别的准确度可根据式(5)求得:

表1 模型识别的准确度结果

站立、步行、躺卧、跑步、上楼和下楼六种状态时的识别准确度分别为98.08%、89.59%、100%、98.93%、83.67%、88.39%,总体识别的准确度为93.84%。

实验结果表明,人体躺卧状态的传感器方向与其他五种状态不同,因此信号特征明显,达到了100%的识别。站立信号的变化幅度小,跑步信号的变化幅度大、频率高,因此识别准确度也超过了98%。针对步行、上楼与下楼三种状态的识别准确度较低,表2 中展示了详细的混淆情况。

表2 识别结果的混淆矩阵

4 结论

该文使用三轴加速度传感器采集了人体常见的六种运动状态,通过提取信号的时域特征信息,并训练支持向量机分类器,最终达到93.84%的总体分类识别准确度。实验结果表明,支持向量机分类器能够较好地识别人体行为。如今大部分的可穿戴设备都配置有加速度传感器,因此文中的算法有较好的移植性。由于实验中的受试者全部为大学生,得到的信号规律存在局限性,下一步计划将其他年龄段人群的数据归入模型训练之中,提高模型的通用性并实现更多行为的识别。

猜你喜欢
分类器加速度跑步
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
学贯中西(6):阐述ML分类器的工作流程
做到七点跑步不伤膝
基于朴素Bayes组合的简易集成分类器①
热天跑步防中暑
创新,动能转换的“加速度”
死亡加速度
基于AdaBoost算法的在线连续极限学习机集成算法
跑步的时候我们在想些什么