基于腕部IMU数据采集的人体运动模式识别

2021-04-16 02:05胡春生赵汇东
关键词:特征值正确率分类器

胡春生, 赵汇东

(1.宁夏大学 机械工程学院,宁夏 银川 750021; 2.山西大学附属中学,山西 太原 030006)

人体行为包含丰富的特征信息,人体运动信息能反映出人体运动状况以及身体机能.人体行为识别的研究可为智能家居、医疗监护、虚拟现实等领域提供技术支持.目前人体行为识别是利用可视化工具或惯性测量单元(IMU)内置的运动传感器检测人体的运动行为,并针对各种姿态信息进行处理分析,实现对人体行为的判断与识别.随着智能可穿戴设备的智能化和普及化,大部分的设备均内置了方向、陀螺仪、加速度等多种传感器,各种应用的发展为记录并储存运动数据提供便捷.智能可穿戴设备较传统惯性测量单元设备具有便携性和普适性的优点,多种传感器结合网络、应用程序等功能可高效、精确、实时记录原始三维数据,从而快速准确地判断出当前用户的运动状态情况.

目前,传感器检测人体运动模式识别的研究主要区别于数据采集设备、研究部位、特征值选择、识别算法等.S.Chernbumroong等[1]提取同一人的5种动作加速度信息,得到不同动作识别率为65%~95%.M.Tolkienhn等[2]采用单个三轴加速度传感器采集3个方向的加速度值,计算加速度3个方向的均方根值,并分析每个方向的加速度的变化情况,从而对跌倒行为进行识别,识别率为86.97%.路永乐等[3]通过加速度传感器模块研究了人体胯部运动信息,选用支持向量机分类器对静止、跑步、走路和跳跃4种行为进行了识别.梁璐等[4]采用隐马尔科夫模型(HMM)对移动对象的长期行为进行了研究,结果表明隐马尔科夫模型不能有效地进行3个或者3个以上行为的识别.传统的可穿戴设备虽然具有较高精度,但舒适度较低,影响正常运动,存在成本高、处理数据量大等问题,仅适用于实验室环境中,推广的价值低.

人在运动过程(包括坐、躺等)中加速度信息会频繁变化,腕部作为变化频率较高的人体部位,特征变化明显,特征点较少,且佩戴设备方便,不影响正常生活.采用智能可穿戴设备记录腕部多加速度信息进行识别的研究较少,识别率也有待提高.本文提出了一种基于智能可穿戴设备获取用户运动时腕部数据来进行运动模式识别与分析的方法.该方法通过对三维加速度和三维角速度信号进行处理,采用支持向量机作为分类器,选取均值、方差、协方差等特征值进行分类识别,最后对分类器参数进行寻优处理,使分类器达到最大分类准确率.

1 运动识别过程

基于传感器的人体运动模式识别,是利用加速度传感器采集人体运动信号对特征值进行提取与选择,通常包括时域、频域特征.经过选择后的特征向量可作为表征相关运动特点的训练样本,对分类模型进行训练,最后获得可用于行为分类的参考模型.行为分类阶段主要过程如下:以训练完成的参考模型为基础,采用一定算法将未知样本与参考模型进行逐一匹配计算,匹配程度最高的模型类别即被认为是该未知样本的所属类别,也就是识别结果.识别流程见图1.

图1 运动识别流程图

1.1 数据采集

本文使用Android Studio开发的程序记录实时智能可穿戴设备多个加速度数据变化.由于人体日常活动的频率在20 Hz左右[5],且本研究智能可穿戴设备需放置于运动频率较高的腕部,故本研究采样间隔选为20 ms,即采集频率为50 Hz.APP图形操作界面简单方便(图2).

图2 采集数据APP操作界面

当用户点击“记录”按钮时屏幕所显示的所有数据开始自动生成txt格式文件存储于设备中.记录完成后点击停止按钮,完成记录,并在txt文本中自动换行,区别并等待下一次记录.对每一用户同一运动状态纪录60 s,为防止用户在采集数据开始和结束时的多余动作产生不必要的加速度,舍弃前2 s和后2 s采集的数据,不予考虑.

本文采用的监督式行为识别学习算法一定程度上取决于已知的数据样本集,即需明确当前的数据样本所对应的人体运动状态.为此,在记录运动状态的同时记录实验者点击“记录”按钮的时刻,以便数据处理时区别所记录数据的运动状态.

1.2 特征值提取

选取恰当的特征值对于运动模式识别系统的精度至关重要,现有研究中对特征的选取大体分为两种,即方向相关和方向无关[6].第1种基于x,y,z每个轴的加速度值,第2种则基于对方向不敏感的合成加速度来提取特征值.其合加速度公式如下:

(1)

时域特征的提取计算复杂程度低、耗时较短,本文选取适用于实时性要求较高的多种时域特征,并结合上述第2种方法,即直接从采集的加速度传感器和陀螺仪传感器的时域信号中进行特征选取.

常见的时域特征值主要有均值、方差、标准差、均方根、斜率等.本研究的加速度传感器和陀螺仪传感器选用相同的特征值,分别选用其合加速度的均值、标准差、峰值以及两组数据的协方差共7个特征值.

1.2.1均值(Mean) 均值为一组数据的变化强度指标之一,可充分利用数据特征,适合代数运算,反应灵敏、严密确定,受抽样变动的影响较小,能避免单一数据对结果的影响.均值公式如下:

(2)

式中:P为均值;n为样本个数;xi为样本集的一个样本点.

1.2.2方差(Variance) 方差是数据偏离平均值的程度,方差越大,表示数据偏离程度越大,即用户的运动模式动作较大.在对数据的波动性描述时,标准差和方差作用相同,但为了减少运算量选用方差作为特征值.方差的计算公式如下:

(3)

1.2.3峰值(Kurtosis) 峰值是用来描述信号在一个周期内的变化强度.强度有正有负,峰值越大,运动的幅度越大.峰值能够突出反应运动过程的加速度最大值,不同运动模式峰值特异性较强,可明显区别用户的不同行为模式.

1.2.4协方差(Covariance) 本研究选用两组传感器进行特征值的提取和分析,为了表述两组传感器数据的相关性关系,选用协方差来进行描述.协方差计算公式如下:

(4)

式中:n为一组数据样本的个数;ai,ωi分别为某一个时间点的合成加速度和合成角速度;aavg,ωavg分别为一组数据内合成加速度和合成角速度的均值.

在实验过程中,共选取5位实验者,将智能可穿戴设备均固定于腕部,分别在跑步机上获取其在4.0,5.5,6.5,8.5 km/h速度下的运动数据,每个速度分别记录3组数据,共60组;后又分别取得6组静止站立,6组下楼数据.共72组运动数据,每组数据均有7个特征值,故可构建一个7×72的特征值矩阵,用于之后的分类训练和测试.将4.0,5.5 km/h速度类别标签设定为走,6.5,8.5 km/h速度设定为跑.

每一类运动状态均随机选取二分之一作为训练集,剩余的二分之一作为测试集,保证训练集和测试集数据无交叉重叠.

图3为MATLAB中获得的所有样本的特征值分布情况,图中,class为真实样本运动状态的情况,纵坐标“0”表示站立静止状态,“-1”表示下楼状态,“4”表示行走,“8”表示跑步.图3中,attrib1至attrib7分别对应为数据的特征值:加速度传感器均值、加速度传感器方差、加速度传感器峰值、陀螺仪传感器均值、陀螺仪传感器方差、陀螺仪传感器峰值、协方差值.

1.3 分类器搭建及识别结果

支持向量机(support vector machine,SVM)对于线性不可分的情况,通过使用非线性映射算法,可将低维输入空间特性不可分的样本转化为高维特征空间使其线性可分,从而使得在高维特征空间中采用线性算法对样本的非线性特征进行线性分析成为可能[7].SVM在解决小样本、非线性及高维模式识别中表现出许多特有的优势[8],因此选取SVM作为分类器.

本文基于MATLAB,采用台湾大学林智仁(Lin Chih-Jen)等开发设计的LIBSVM[9].LIBSVM常用的核函数包括线性核函数、径向基核函数(RBF)、多项式核函数、Sigmoid核函数.其中RBF应用最广泛,无论样本大小、维度高低均有较好的性能,故本文选用RBF核函数.利用SVM分类器训练与测试,测试集的寻优结果见图4,识别正确率为88.46%.

图4 测试集的实际分类和预测分类图

2 参数寻优

为使测试集的分类准确率维持在一个较高的水平,避免过学习和欠学习状况发生,需对分类器中的关键参数惩罚因子C和核函数参数g进行寻优.本文采用基于交叉验证(cross validation, CV)思想的网格搜索法,基于启发式算法的遗传算法(genetic algorithm, GA)和粒子群优化算法(particle swarm optimization, PSO)对搭建的支持向量机分类器进行参数优化[10—15].

2.1 网格搜索法寻优

本文采用交叉验证法,可有效规避网络搜索法训练得到模型出现的过拟合现象.网络搜索法进行交叉验证的过程是先穷举出C,g参数对,在对样本进行训练时,选用最高交叉验证精度的C,g参数对作为最终参数.通常采用指数增长的方式对C,g进行搜索,对全网络搜索较耗时,根据人体运动特点,经过多次实验,规定C的取值范围为 [2-2,24],g的取值范围为[2-2,210].粗搜索后进行精确搜索,精确搜索时交叉验证精度的等高图见图5a,5b.从图5可得,最优参数组合为C=0.2,g=4.2.最后,利用最优C,g参数和人体腕部姿态数据对SVM模型进行训练并测试,测试集的实际分布和预测分类见图5c,正确率为94.44%.

图5 参数选择结果及测试集的分类结果图

2.2 遗传算法寻优

采用网格搜索能够找到较好的全局最优解,但在更大的范围寻找最优C,g参数对耗时较长,采用启发式算法可在不遍历网络内所有参数点的情况下,找到全局最优解.遗传算法寻优和粒子群优化算法参数寻优是常见的启发式算法.

遗传算法(genetic algorithm,GA)是模拟生物遗传和进化机制进行随机搜索最优的方法.运用“优胜劣汰,适者生存”的生物进化原理,按照所选的适应度函数通过遗传中的选择、交叉、变异对个体进行筛选,保留较好适应度值的个体,反之则被淘汰,新的群体继承并优于上一代,反复循环,直至满足条件.利用GA对SVM参数优化的整体过程见图6.

图6 利用GA优化SVM参数流程图

本文设定GA的最大进化代数为200,种群数量为20,采用基于排序的适应度分配,交叉概率为0.7,变异概率为0.1,采用sus函数进行随机遍历抽样,得到的适应度曲线、测试集的实际分布和预测分类见图7.由图7可知,识别正确率为91.67%,最优参数组合为C=63.05,g=2.9.

图7 适应度曲线及测试集的分类结果图

2.3 粒子群优化算优

粒子群优化算法(PSO)是计算智能领域与蚁群算法、鱼群算法类似的群体智能优化算法.PSO算法是从鸟类捕食行为得到启发并求解优化问题.算法中每个粒子均代表一个潜在解,每个粒子的适应度值由适应度函数决定,粒子速度决定粒子的移动方向和距离,依靠粒子的移动经验对速度进行调整,从而实现对个体在可解空间中的寻优.利用其SVM参数优化的整体过程见图8.

图8 利用PSO优化SVM参数流程图

本文采用PSO算法取种群数量20反复迭代200次,适应度曲线见图9,最优参数组合为C=37.86,g=3.05.参数优化后的识别正确率为86.11%.

图9 适应度曲线及测试集的分类结果图

2.4 结果分析

各寻优算法参数及正确率见表1.由表1可得,基于SVM的3种参数寻优算法均对走路、跑步、静止、下楼4个运动模式识别取得了较理想的结果.网格搜索法识别正确率最高,GA算法相较PSO算法正确率高,主要体现在对跑步姿态的识别正确率上,对下楼模式的识别正确率还有待提高.

表1 各寻优算法正确率比较

3 结语

本文基于安卓智能可穿戴设备内置加速度传感器和陀螺仪传感器采集的人体腕部加速度信息,对成年人走路、跑步、站立、下楼4个运动模式进行分析,提取了运动信号均值、峰值、方差和协方差等特征值.选用支持向量机算法进行分类识别,随后通过网格搜索法、遗传算法、粒子群优化算法确定最优C,g参数对,使分类器达到最大分类准确率,正确率分别为94.44%,91.67%,86.11%.结果表明,本方法可有效识别实验者静止站立、走路、跑步、下楼4种运动模式,但对于下楼这种行为的识别还有待提高.

本文实验数据均在实验室环境下模拟得到,且数据量也偏小,与真实环境下人体的行为存在一定偏差.实验只模拟了4种典型的人体日常行为动作,后续的工作将侧重于数据采集,增加实验的次数,并通过丰富人体行为动作的种类来获得更加准确、完备的数据集,完善人体行为动作识别系统,提高系统的可靠性.

猜你喜欢
特征值正确率分类器
利用LMedS算法与特征值法的点云平面拟合方法
个性化护理干预对提高住院患者留取痰标本正确率的影响
学贯中西(6):阐述ML分类器的工作流程
单圈图关联矩阵的特征值
基于朴素Bayes组合的简易集成分类器①
凯莱图的单特征值
一种自适应子融合集成多分类器方法
基于两种LSTM结构的文本情感分析
求矩阵特征值的一个简单方法
生意