计算机系统应用  2020, Vol. 29 Issue (6): 196-203   PDF    
基于加速度传感器的人体运动模式识别
孙宇航, 周建钦, 张学锋     
安徽工业大学 计算机科学与技术学院, 马鞍山 243002
摘要:本文提出了一种基于MPU9250微处理器的人体运动识别的方法. 用户在佩戴手环的情况下进行各类运动, 手环即可自动采集并存储用户在运动过程中产生的加速度数据. 分析这些数据可以判别人体运动的类别. 通过手环内嵌的加速度传感器采集运动者在X, Y, Z 3个方向上的加速度, 经过滤波算法过滤后, 分别在时域和频域两个方面对数据进行分析, 再经过特征工程提取34个相关特征, 使用特征选择算法选取主要的16个特征, 减小算法复杂度. 实验比较了支持向量机(SVM), 决策树(decision tree)和随机森林(random forest) 3种方法, 对走路、跑步、羽毛球正手挥拍、打乒乓球、划船5种运动模式进行分类, 结果表明随机森林准确率最佳, 可达到97%以上.
关键词: 运动识别    特征工程    数据挖掘    随机森林    
Human Motion Pattern Recognition Based on Acceleration Sensor
SUN Yu-Hang, ZHOU Jian-Qin, ZHANG Xue-Feng     
School of Computer Science and Technology, Anhui University of Technology, Maanshan 243002, China
Foundation item: Major Project of Education Bureau, Anhui Province (KJ2017ZD05)
Abstract: This paper presents a method based on MPU9250 microprocessor for human motion recognition. The user performs various types of sports while wearing the bracelet, and the bracelet automatically collects and stores the acceleration data generated by the user during the movement. Analysis of these data can identify the type of human motion. The acceleration of the motion in the X, Y, and Z directions is collected by the acceleration sensor embedded in the wristband. After filtering by the filtering algorithm, the data is analyzed in the time domain and the frequency domain respectively, and then subjected to feature engineering extraction. There are 34 related features, feature selection algorithm is used to select the 16 main features, reducing the complexity of the algorithm. Experiments compare the three methods, namely Support Vector Machine (SVM), decision tree, and random forest, in classification of five sports, modes such as walking, running, badminton forehand swing, table tennis, and rowing. The results show that the random forest has the best accuracy which can reach more than 97%.
Key words: motion recognition     feature engineering     data mining     random forest    

随着微型智能穿戴设备的普及与应用, 以及智能设备内置处理器运算能力越来越强, 人体运动识别成为了当代一个很有价值的研究. 很多应用包括健康和健身监测[1,2]、运动记录等都是基于该研究. 此外, 通过佩戴智能手环及携带智能手机可以实现对用户进行不同运动模式的记录, 这样可以帮助用户及时了解运动的情况, 及时做出调节, 使用户可以更加科学地安排各类运动的时间. 运动手环上配备了越来越多的传感器, 比如温度传感器、加速度传感器、压力传感器等, 可以随时随地采集用户的运动信息, 这为我们研究人体运动模式提供了硬件支持. 同时, 伴随着人工智能的发展, 机器学习, 数据挖掘算法为我们提供了算法支持. 不过市面上的智能手环大多只局限于计步和脉搏测量等简单功能, 现有的研究也大多只针对一些简单动作如走路, 上楼、下楼、静止等, 并没有对球类和划船等体育运动进行识别记录.

目前国内外学者已经展开对人体运动模式识别算法的研究, 也取得了相应的成果. 张旭[3]利用表面肌电(SEMG)传感器在相应肌群皮肤表面捕获的肌肉活动信息进行了手势命令的检测与识别. 该方法只针对手势动作、颈部动作和腿部动作的识别进行了研究, 在运动识别种类上有很大的局限性, 无法对一些常见户外运动如球类运动、划船等进行识别. 陈燕湄[4]利用计算机视觉相关算法, 处理捕获摄像机拍摄的手势图像并对图像加以分析进行手势识别. 此外, 江超等[5]通过提取摄像头动态手势轨迹来识别动作, 准确率达到了90%以上. 这两种主要是基于图像和视频处理来设计运动识别算法, 对拍摄图片和视频的背景要求比较苛刻, 在复杂的环境中难以准确捕捉人体的运动动作, 而且基于图像处理算法复杂度较高. 张毅等[6]通过将加速度传感器和陀螺仪相结合, 融合两个传感器的数据, 再构建隐马尔科夫模型实现日常行为的识别. 这种方法需要处理两种传感器的数据, 大大增加了系统的开销, 而且隐马尔科夫模型只依赖于每一个运动状态, 而传感器输出的数据为长序列, 此模型对于长期运动识别并不理想.

本文描述一种对走路、跑步、羽毛球正手挥拍、划船、打乒乓球5种运动模式的识别方法. 只需要佩戴单个智能手环即可实现, 不需要依赖复杂的硬件设施, 手环如图1所示. 首先通过手环内嵌的MPU-9250获取5种运动产生的加速度数据. 其次经过低通滤波后对数据分段处理, 确定每一个完整动作的开始位置和结束位置, 再对每个动作进行特征提取. 本实验分别在时域和频域上提取特征, 归纳了不同运动的不同特性, 然后通过计算信息增益的方法进行特征的规约, 以去除非关键特征来提高整个系统的计算效率. 最后选取支持向量机[7,8]、决策树[9]、随机森林算法分别对5种模式分类, 从中选取出最优的分类模型. 整个过程分为5个模块, 各个模块之间的流程如图2所示.

图 1 佩戴示意图

图 2 流程图

1 原始数据收集和方法 1.1 数据采集装置和软件框架搭建

MPU9250芯片主要由三轴加速度传感器, 三轴角速度传感器以及磁力计组成. 3个方向加速度单独测量, 输出均为16位的数字量. 实验主要分析由芯片内的加速度传感器采集的数据. 由于要识别的5种运动相互之间有很大差异, 所以需要频率足够高的传感器来收集数据. 将内置MPU9250传感器频率设置为200 Hz. 这样的采集频率足够收集到5种运动模式的细节, 会给后续的识别算法带来更高的识别率[10]. 整个软件系统客户端使用MFC框架完成, 算法部分使用Python语言编写.

1.2 数据采集

本实验所有的数据先储存在手环内置的存储卡中, 以文本格式保存, 文本内的数据以向量集 $ < {x_i},{y_i},{{\textit{z}}_i} > $ , i=1, 2, 3, ···的形式展现. 实验过程中使用读卡器读取所有采集的数据.

因为不同性别和年龄的人运动有很大的差异性, 所以本次实验的数据采集一共由实验室5名男性和5名女性完成, 年龄分布在20~45岁. 采集数据前统一规定手环的佩戴方向和位置(如图1所示), 用来消除不同穿戴方式对实验的干扰, 这样采集的样本更具科学性. 原始数据采集完成后进行手动标记[11], 用数字1, 2, 3, 4, 5分别标记走路、跑步、羽毛球正手挥拍、划船以及打乒乓球动作.

2 数据预处理 2.1 加速度数据加窗处理

加速度信号在时域中以数据流的形式呈现, 不能直接进行特征工程. 常规的方法是设置滑动窗口进行处理, 这种方法已经被广泛地应用于人体运动状态识别中. 滑动窗口是一种简洁有效的数据分割方法, 这种方法的核心是确定滑动窗口的大小. 如果窗口设置太大, 可能会造成运动识别延迟, 还可能导致一个窗口包含不同类型动作, 造成训练误差. 如果窗口设置太小, 会导致一个窗口中不能包含一个完整动作, 导致运动信息的缺失, 从而影响识别结果. 文献[12]采用了200个采样点大小的窗口, 并且相邻的窗口之间没有重叠; 文献[13]则将采样窗口设置为128个采样点, 相邻窗口重叠50%. 近年来许多学者经过多次实验研究, 发现将滑动窗口重叠率设置为50%是一种比较有效的方法.

实验综合分析了5种运动模式的特点并统计完成每种动作需要的时间, 选用4 s作为一段动作的默认时长, 为一个滑动窗口, 宽度为800个采样点, 每两个相邻窗口重叠50%. 以走路X方向加速度数据为例, 选用4 s作为窗口的宽度, 如图3, 这样规整了不同动作的加速度信号的长度, 对接下来的特征提取和运动识别尤为重要.

2.2 滤波处理

相对于机器运动, 人体运动较为缓慢, 主要包含低频信号, 在实际应用中, 加速度信号不可避免地会受到硬件电路、传输噪声、扰动频率噪声和抖动的影响, 输出的信号往往夹杂着很多无关信号. 当加速度为零时, 输出的结果不为零, 而是一个非零向量的输出 ${a_{\rm real}}$ , 即测量值 ${a_{\rm measured}}$ 如式(1)所示.

$ {a_{\rm measured}} = {a_{\rm real}} + {a_{\rm error}} $ (1)

式中, ${a_{\rm real}}$ 为真实的加速度值, ${a_{\rm error}}$ 为传感器的测量误差. 为了使测量的加速度信号更接近真实值, 实验采用了自适应的平滑滤波方法[14].

图 3 信号加窗处理示意图

常见的平滑滤波方法有两种: 滑动平均滤波方法以及一阶惯性低通滤波方法[15]. 滑动平均法虽然简单, 但是实验证明实用性较差. 在静态情况下, 一阶惯性低通滤波效果明显, 但是在运动状态, 相位滞后, 所以原始的方法不适合动态信号的处理, 为了适应信号的实时性, 采用增加阈值的方式去更新滤波参数. 定义新的输出值为当前采样值和上一次输出值进行加权, 得到本次输出值. 具体算法如式(2)所示.

$Y(n) = m \cdot X(n) + (1 - m) \cdot Y(n - 1) $ (2)

式中, Y(n)为当前滤波输出值; m为滤波系数(通常是一个大于0小于1的数), 它对滤波的效果影响很大; X(n)为本次采样值; Y(n–1)为上次滤波输出值. 可以看出, 本次采样值对于本次输出值只占很小的比例, 但能够起到一定的修正作用, 这样做使加速度数据保持较大的惯性, 模拟了低通滤波的功能. 接下来引入判定运动状态的条件阈值 $\Delta a$ , 根据式(3)和式(4)进行修改滤波系数m, 即:

$ \Delta = Y(n) - Y(n - 1) > {\Delta _a} $ (3)
$ m = \left( {1 - \frac{{{\Delta _a}}}{\Delta }} \right) \cdot {k_0} $ (4)

式中, $\Delta$ 为本次滤波输出值和上次滤波输出值的差; ${\Delta _a}$ 为运动状态阈值; $k_0$ 为默认参数.

选取走路模式X方向某段8 s原始数据为例, 采用上述滤波算法进行滤波处理, 滤波前后波形图如图4图5所示.

图 4 滤波前的加速度信号

图 5 滤波后的加速度信号

3 特征工程

对原始的加速度信号进行分割和平滑之后, 接下来从时域和频域中提取相关的特征量[16]. 根据X, Y, Z 3个方向上的加速度分别从时域和频域中提取了34个特征量, 包括3个方向加速度的均值、合成加速度均值、3个方向加速度方差、3个方向加速度最大值、3个方向加速度最小值、3个方向加速度两两相关系数、3个方向加速度峰谷值、合成加速度峰谷值、合成加速度方差、以及频域中通过小波变换得到的加速度信号的能量值.

3.1 时域特征提取方法

3个方向加速度均值 ${{\bar a}_x},{{\bar a}_y},{{\bar a}_{\textit{z}}}$ , 体现了信号在X, Y, Z方向各自的平均状态, 能够反映出人体在运动时3个方向上的剧烈程度. 计算公式定义如下:

$ {{\bar a}_x} = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{a_{x,k}}} }}{n} $ (5)
$ {\bar a_y} = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{a_{y,k}}} }}{n} $ (6)
$ {\bar a_{\textit{z}}} = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{a_{{\textit{z}},k}}} }}{n} $ (7)

式中, ${a_{x,k}},{a_{y,k}},{a_{{\textit{z}},k}}$ 为一个窗体中第k个采样点得到的X, Y, Z三轴加速度信号; n为每个窗口采样点数.

合成加速度均值 $\bar a$ 能够体现某一个运动模式的综合剧烈程度. 计算公式如下:

$ {a_k} = \sqrt {a_{x,k}^2 + a_{y,k}^2 + a_{{\textit{z}},k}^2} $ (8)
$\bar a = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{a_k}} }}{n} $ (9)

式中, ${a_k}$ 为窗口中第k个采样点三轴合加速度的模. 将 ${a_k}$ 带入式(9)可得合成加速度均值 $\bar a$ .

3个方向加速度标准差, 以X方向为例, 加速度方差 $\sigma _x^2$ 计算公式如下:

$ \sigma _x^2 = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{{({a_{x,k}} - {{\bar a}_x})}^2}} }}{n} $ (10)

同理可得 $\sigma _y^2$ , $\sigma _{\textit{z}}^2$ :

$ \sigma _y^2 = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{{({a_{y,k}} - {{\bar a}_y})}^2}} }}{n} $ (11)
$ \sigma _{\textit{z}}^2 = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{{({a_{{\textit{z}},k}} - {{\bar a}_{\textit{z}}})}^2}} }}{n} $ (12)

合成加速度方差 $\sigma ^2$ 的算式为:

$ \sigma _{}^2 = \frac{{\displaystyle\sum\nolimits_{k = 1}^n {{{({a_k} - {{\bar a}_{}})}^2}} }}{n} $ (13)

加速度峰谷值表示在一个窗口中, 加速度的最大值和最小值的差值, 用 ${a_{pv}}$ 表示:

$ {a_{pv}} = {\rm Max}(a) - {\rm Min}(a) $ (14)

利用式(14)可以计算出合加速度的峰谷值以及3个方向加速度峰谷值.

3个方向加速度两两相关系数分别为:

$ {\rm{\rho}} (X,Y) = \frac{{{\mathop{ cov}} (X,Y)}}{{{\sigma _x}{\sigma _y}}} $ (15)
$ {\rm{\rho}}(X,Z) = \frac{{{\mathop{ cov}} (X,Z)}}{{{\sigma _x}{\sigma _{\textit{z}}}}} $ (16)
${\rm{\rho}} (Y,Z) = \frac{{{\mathop{ cov}} (Y,Z)}}{{{\sigma _y}{\sigma _{\textit{z}}}}} $ (17)
3.2 基于小波变换的多尺度空间能量分布特征提取方法

小波的组成成分是一组小波基函数, 它可以在局部范围内对信号时间(空间)域和频率(尺度)域的特征进行描述, 这也是小波变换相对于傅里叶变换的优势. 在任意的时间域或空间域中, 小波分析都能够很有效地对信号进行分析, 自适应信号分析的要求, 有利于聚焦信号的细节, 而这些特性对信号分析是尤为重要的. 常用的小波函数有Haar、Daubechies (dbN)小波等15种. 信号经过小波分析之后可得到在各个层级中的能量特征. 信号 $f(t)$ 的二进小波分解可表示为:

$ f(t) = {A^t} + \sum {{D^t}} $ (18)

其中, A是近似信号, 为低频部分; D是细节信号, 为高频部分, 此时信号的频带分布如图6所示.

图 6 多尺度分解的信号频带分布

信号的总能量为:

$ E = E{A_i} + \sum {E{D_j}} $ (19)

选择第j层的近似信号和各层的细节信号的能量作为特征, 构造特征向量[17]:

$F = [E{A_j},E{D_1},E{D_2},\cdots,E{D_j}] $ (20)

本次实验直接调用Python中的PyWavelets信号处理库, 设置j为2, 对加速度信号进行特征提取, 输出特征向量:

$F = [E{A_2},E{D_1},E{D_2}] $ (21)
3.3 特征选择

特征选择是一个重要的“数据预处理”过程, 能够去除与当前学习任务无关的特征, 以减轻学习负担, 降低学习难度. 常用的特征选择算法可分为4种: 过滤式(filter)、包裹式(wrapper)、嵌入式(embedding)以及基于信息增益的方法. 由于前三类算法比较复杂, 不管是内存开销还是时间开销都很大, 所以实验采用基于信息增益(Information Gain, IG)的特征选择算法[18], 这也是一种常用且高效的特征选择算法.

计算信息增益首先定义信息熵(information entropy). 信息熵是一般用作反映样本集合纯度的一种指标. 假设 ${p_k}\left( {k = 1,2, \cdots ,|y|} \right)$ 为当前样本集合D中第k类样本所占的比例, 则D的信息熵定义为:

$ {{Ent}}(D) = - \sum\limits_{k = 1}^{|y|} {{p_k}{{\log }_2}{p_k}} $ (22)

式中, |y|代表标签类别个数, 信息熵Ent(D)值越小, 则集合D的纯度越高. 下面定义信息增益.

由于从信号中提取的特征均为连续值, 连续值属性的可取值数目不是有限的, 因此不能直接根据连续值来直接计算信息增益, 实验采用连续值离散化技术. 给定样本集D和连续属性v, 假定vD上出现了n个不同的取值 $\left\{ {{v^1},{v^2}, \cdots ,{v^n}} \right\}$ , 基于划分点t可将D分为子集 $D_t^{ - }$ $D_t^{ +}$ . 对相邻的属性取值 ${{v^i}}$ ${{v^{i + 1}}}$ 来说, t在区间[ ${{v^i}}$ , ${{v^{i + 1}}}$ )中取任意值所产生的划分结果相同. 定义包含n–1个元素的候选划分点集合.

${T_a} = \left\{ {\frac{{{v^i} + {v^{i + 1}}}}{2}|1 \le i \le n - 1} \right\} $ (23)

把区间[ ${{v^i}}$ , ${{v^{i + 1}}}$ )的中位点作为候选划分点, 选取最优的划分点进行样本集合的划分, 即:

$ {{Gain}}({{D}},v) = {{Gain}}({{D}},v,{{t}}) $ (24)
$ {{Gain}}({{D}},v,{{t}}) = {{Ent}}({{D}}) - \sum\limits_{\lambda \in \{ - , + \} } {\frac{{|D_t^\lambda |}}{{|D|}}Ent(D_t^\lambda )} $ (25)

式中, Gain(D, v, t)是样本集D基于划分点t二分后的信息增益, 这样我们将每个特征v带入, 得到所有特征的信息增益值, 从而计算出每个特征的重要性值. 实验我们直接使用scikit-learn中的feature_importance_库函数计算所有特征的重要性值, 根据计算结果我们从中选择出了16个特征, 如表1所示.

表1数据可得, Y方向加速度标准差重要性值最大, 体现了不同运动模式左右方向上的偏离程度. Z方向加速度最大值能够很准确地区分竖直方向上加速度变化幅度较大或较小的运动. X方向加速度最小值能够体现水平方向最小的运动力度. 同样的, 其它13个特征都在不同的方面对运动数据的分类起着至关重要的作用. 以上16个特征的重要性值都是基于训练样本计算而来, 而训练样本由不同年龄和不同性别的人产生的运动加速度数据整理而来, 所以通过以上16个特征来构建出的分类模型对于不同类型人的运动识别均有很强的泛化能力和较好的普适性. 其次, 本文的特征选择算法采用了特征子集搜索和评价机制相结合的方式得出特征的重要性值并筛选出最优特征子集, 使训练出的分类模型拥有更高更稳定的识别准确率.

表 1 特征重要性值

4 实验分析

第3节我们已经提取并计算出用于分类算法的特征, 并计算出特征重要性值, 选择出16个比较重要的特征. 利用被选取的特征值, 制作训练样本集和测试样本集. 实验中我们根据样本的数量和样本特征的特性, 选取支持向量机、决策树、随机森林3种分类模型进行了比较实验, 分别调整模型参数使分类模型对于5种运动模式的分类准确度达到最优. 对每一个分类模型进行了性能的评估, 并结合在测试样本集上的准确度来判别最优模型.

选用支持向量机进行分类是因为这个模型适用于样本量较小的数据集, 而且运算速度快, 运算复杂度低. 决策树算法主要基于概率统计, 不需要对数据进行归一化, 直接使用原始的数据样本进行计算, 避免了数据的失真, 且鲁棒性很强.

随机森林是基于Bagging的扩展变体, 是一种可以同时兼顾分类和回归的机器学习算法. 通过引入两次随机, 使得该模型在训练样本较少时不容易陷入过拟合. 这样即使在实验中无法保证能够整理出足够的运动数据集进行模型训练, 也能确保最终的模型在测试数据识别上的表现比支持向量机和决策树更加稳定. 其次, 随机森林在训练过程中能够检测到特征之间的影响, 所以给定运动数据集, 该模型就能够判断某种运动各个特征之间的相互影响, 更加准确地识别当前运动的类别. 最后, 相比较支持向量机和决策树, 随机森林更适合解决样本不均衡问题. 本文中5种运动模式的样本数并不是均衡的, 所以使用随机森林能够带来更好的效果. 图7的柱状图表示3种分类算法分别针对5种运动模式进行分类的准确率以及对于5种运动模式的统计比较.

图 7 3种分类模型的动作模式识别准确率

图7可以得出结论. 3种分类模型对于划船动作的识别都为100%, 支持向量机对于打羽毛球动作的识别准确率较高, 效果好于另外两个模型, 而决策树则是在乒乓球动作识别中表现最好. 总体来说, 随机森林算法对所有运动模式识别率都很高, 且平均准确率最高, 达到97.37%, 所以系统最终采用随机森林作为分类模块. 图8~图10分别为3种分类算法的混淆矩阵.

从混淆矩阵中可以看出, 走路和跑步可能被误识别为打羽毛球, 少量打羽毛球数据被误分类为走路和跑步. 个别打乒乓球动作被误分类为走路, 总体上随机森林表现最佳.

图 8 支持向量机算法产生的混淆矩阵

图 9 决策树算法产生的混淆矩阵

图 10 随机森林算法产生的混淆矩阵

5 结论与展望

本文我们是对走路、跑步、打羽毛球、打乒乓球、划船5种运动模式识别的研究. 首先参与采集数据的实验人员分别做5种动作并记录数据, 然后对数据进行预处理, 根据运动模式的特点提取出对分类贡献比较大的特征, 并通过特征选择选取最终贡献值较大的特征, 之后使用分类算法进行运动模式的识别. 从而实现对用户行为的记录和分析.

获取原始数据之后, 首先对数据进行了预处理, 包括滤波、数据加窗等预处理. 特别在加窗处理中, 我们采用相邻的两个窗口重叠50%, 以保证样本的连续性. 综合分析了信号在时域和频域的特征, 选取了16个最重要的特征, 又保证了较高的识别率. 我们将同样的测试数据分别输入到支持向量机、决策树、随机森林中, 结果显示随机森林算法准确率最高.

本文研究的人体运动识别算法可直接应用于智能手环中, 通过自动分析数据, 识别并统计该用户一天内的各类运动, 将信息反馈给用户, 这种能识别多运动模式的手环比单一的计步手环提供更加丰富的运动信息. 在接下的研究中来将继续优化算法, 减小识别误差, 同时识别更多的运动模式.

参考文献
[1]
González S, Sedano J, Villar JR, et al. Features and models for human activity recognition. Neurocomputing, 2015, 167: 52-60. DOI:10.1016/j.neucom.2015.01.082
[2]
Su X, Tong HH, Ji P. Activity recognition with smartphone sensors. Tsinghua Science and Technology, 2014, 19(3): 235-249. DOI:10.1109/TST.2014.6838194
[3]
张旭. 基于表面肌电信号的人体动作识别与交互[博士学位论文]. 合肥: 中国科学技术大学, 2010.
[4]
陈燕湄. 基于机器视觉的动态手势识别研究[硕士学位论文]. 江门: 五邑大学, 2016.
[5]
江超, 艾矫燕. 基于OpenCV的摄像头动态手势轨迹识别及其应用. 计算机应用, 2012, 32(S1): 128-133.
[6]
张毅, 任同辉, 罗元. 基于多传感器数据融合的人体运动模式识别研究. 计算机测量与控制, 2016, 24(1): 303-307.
[7]
Hassan MM, Uddin MZ, Mohamed A, et al. A robust human activity recognition system using smartphone sensors and deep learning. Future Generation Computer Systems, 2018, 81: 307-313. DOI:10.1016/j.future.2017.11.029
[8]
Reyes-Ortiz JL, Oneto L, Samá A, et al. Transition-aware human activity recognition using smartphones. Neurocomputing, 2015, 171: 754-767.
[9]
Chernbumroong S, Atkins AS, Yu HN. Activity classification using a single wrist-worn accelerometer. Proceedings of the 5th International Conference on Software, Knowledge Information, Industrial Management and Applications (SKIMA). Benevento, Italy. 2011. 1–6.
[10]
李锋, 潘敬奎. 基于三轴加速度传感器的人体运动识别. 计算机研究与发展, 2016, 53(3): 621-631. DOI:10.7544/issn1000-1239.2016.20148159
[11]
Zhao GY, Li ZB, Deng Y, et al. Human motion recognition and simulation based on retrieval. Journal of Computer Research and Development, 2006, 43(2): 368-374. DOI:10.1360/crad20060227
[12]
Kwapisz JR, Weiss GM, Moore SA. Activity recognition using cell phone accelerometers. ACM SIGKDD Explorations Newsletter, 2011, 12(2): 74-82. DOI:10.1145/1964897.1964918
[13]
Ravi N, Dandekar N, Mysore P, et al. Activity recognition from accelerometer data. Proceedings of the 17th Conference on Innovative Applications of Artificial Intelligence. Pittsburgh, PA, USA. 2005.
[14]
赵阳, 娄小平, 刘锋, 等. 自适应MEMS加速度计滤波算法. 传感器与微系统, 2016, 35(11): 120-122, 127.
[15]
赵毅. 数字滤波的滑动平均法和低通滤波法. 仪表技术, 2001(5): 40. DOI:10.3969/j.issn.1006-2394.2001.05.015
[16]
胡成全, 王凯, 何丽莉, 等. 基于MEMS六轴传感器的上肢运动识别系统. 大连理工大学学报, 2017, 57(1): 92-99. DOI:10.7511/dllgxb201701013
[17]
张良均, 王路, 谭立云, 等. Python数据分析与挖掘实战. 北京: 机械工业出版社, 2016.
[18]
刘庆和, 梁正友. 一种基于信息增益的特征优化选择方法. 计算机工程与应用, 2011, 47(12): 130-132, 136. DOI:10.3778/j.issn.1002-8331.2011.12.037