基于智能手机的人类活动识别实验报告
一、实验背景
智能手机是我们日常生活中最有用的工具,随着技术的进步,它们越来越有能力满足客户的需求和期望。为了使这些小工具功能更强大,设计师在硬件中添加了新的模块和设备。 传感器在提高智能手机的功能和感知环境方面发挥着重要作用,因此大多数智能手机都带有不同的嵌入式传感器,这使得收集用户日常生活和活动的大量信息成为可能。加速度计和陀螺仪传感器也在这些设备中。加速度计已经成为几乎所有智能手机制造商的标准硬件。顾名思义,加速度计测量速度的变化 不是速度本身。 可以对从加速度计检索到的数据进行处理来 检测运动中的突然变化 。另一个已经成为智能手机标准硬件的传感器是陀螺仪,它可以利用重力来测量方向。 通过 对 陀螺仪获取的信号进行处理,以检测设备的位置和对准。由于从这些传感器获取的数据之间存在有 意义的特征差异,因此可以从这些传感器数据生成许多特征,以确定携带设备的人的活动。智能手机用户活动的分类一直是不同研究的重点。
人类活动识别Human activity recognition ,简称 HAR 是一个广泛的研究领域,它涉及基于传感器数据识别人的特定运动 利用受人体运动影响的敏感传感器对人体活动进行分类 。动作通常是典型活动,如步行、站立、坐着、躺下、上下楼梯等。它们也可能是更集中的活动,例如在厨房或工厂车间执行的那些类型的活动。传感器数据可以被远程记录,例如视频,雷达或其他无线方法。或者,可以通过携带定制硬件或带有加速度计和陀螺仪的智能手机将数据直接记录在对象上。
本实验面向不同男性和女性志愿者在进行不同活动时携带的智能手机的加速度计和陀螺仪信号能手机的加速度计和陀螺仪信号的的数据数据。对专家特征的的数据集进行了分析,进一步利用不同的机器学习方法利用不同的机器学习方法对对信号进行分类,分类,并对不同方法的精度和效率进行了分析和比较法的精度和效率进行了分析和比较。。
二、数据分析数据分析
Human Activity Recognition Using Smartphones Data Set是人类活动识别数据集,标记活动识别数据集,标记标签为“走路”、“上楼”、“下楼”、“站着”、“坐着”和“躺着”,该数据集分为两部分,一是RAW数据集,二是预先设计的。
30名受试者在进行日常生活时携带一台腰部安装的智能手机。该手机被配置为机。该手机被配置为记录两个实现的传感器((加速度计和陀螺仪加速度计和陀螺仪))。对于这些时间序列执行特征生成,并通过在序列上移动2.56秒的固定秒的固定宽度窗口生成数据集。由于窗口有50%的重叠,得到的点是等间距(1.28秒),在每个窗口中,通过计算时域和频域变量得到特征向量。该数据集用录像的方式对数据进行手动标注。
通过使用智能手机中的传感器(陀螺仪和加速度计),从加速度计捕获了捕获了“3轴线性加速度”(tAcc--XYZ),以及陀螺仪的几个变体的“3轴角速度”(tgro -- xy)。这些指标中的前缀“t”表示时间。后缀‘XYZ’表示在X、、Y和和Z方向上的方向上的3轴信号。利用角频为0.3Hz的低通滤波器将加速度信号分离为Body和Gravity加速度信号(tBodyAcc--XYZ和tGravityAcc--XYZ)。在此基础上,利用tBodyAccJerk--XYZ和和tBodyGyroJerk--XYZ信号,及时导出了人体的线加速度和角速度。这些三维信号的大小是用欧几里德范数计算出来的。这个大小被表示为特征的名称,如tBodyAccMag_, tGravityAccMag, tBodyAccJerkMagt, _tBodyGyroMag和tBodyGyroJerkMag。最后,通过应用FFT(快速傅里叶变换),我们从一些可用的信号中得到了频域信号。这些信号被标记为前缀记为前缀'f',就像原始信号带有前缀't'一样。这些信号被标记为fBodyAccf--XYZ, fBodyGyroMagXYZ等。
1、、训练和测试数据训练和测试数据
数据被随机分成70%的数据数据作为训练数据,其余作为训练数据,其余30%30%的受试者记的受试者记录作为测试数据。录作为测试数据。
(1)练数据
(2)测试数据
2、数据清理
3、、数据分析数据分析
(1)分析参与者使用手机的活动时间
通过可视化后,可以容易的分析出样本的分布基本是平衡的,普遍特征是躺下使用手机的时间遍特征是躺下使用手机的时间较长,上楼比下楼使用的时间要略多,较长,上楼比下楼使用的时间要略多,但也存在个性化差异,但也存在个性化差异,比如比如11##行走中使用手机时间较长,该数据也行走中使用手机时间较长,该数据也可以用于安全提示等。可以用于安全提示等。
(2))静态和动态活动分析
固定的活动和移动的活动是完全不同的,从大多数真实世界的数,从大多数真实世界的数据来看,当参与者移动时,数据是正态分布的,带有一些长尾。据来看,当参与者移动时,数据是正态分布的,带有一些长尾。
由上图可以可以分别分别看到静止活动和移动活动更为清晰清晰的分布情况。
通过箱式图展示数据分布。如果tAccMean is < --0.8,那么活动,那么活动要么是站着,要么是坐着,要么是躺着。要么是站着,要么是坐着,要么是躺着。如果如果tAccMean is >0.6,,那么活动是步行或步行下楼或步行上楼。那么活动是步行或步行下楼或步行上楼。如果如果tAccMean > 0.0tAccMean > 0.0那么那么活动是下楼。
对重力加速度分量的位置的分析,如果angleX, gravityMean > 0则则活动活动是是躺着。
(3)用tt--SNE((tt--Distributed Stochastic Neighbor EmbeddingDistributed Stochastic Neighbor Embedding))进行数据分析。该方法进行数据分析。该方法是一种降维技术,用于在二维或三维的低维空是一种降维技术,用于在二维或三维的低维空间中表示高维数据集,从而使其可视化。与其他降维算法间中表示高维数据集,从而使其可视化。与其他降维算法((如如PCA)PCA)相相比,比,tt--SNESNE创建了一个缩小的特征空间,相似的样本由附近的点建模,创建了一个缩小的特征空间,相似的样本由附近的点建模,不相似的样本由高概率的远点建模。不相似的样本由高概率的远点建模。通过分析通过分析565644维专家特征,维专家特征,来来了了解多少活动是可分离的。解多少活动是可分离的。
通过TSNETSNE集群集群可视化图可视化图,,可以看出可以看出除了除了““站站””和和““坐坐””,所有的活动,所有的活动都都能够较为清晰的能够较为清晰的分开。
三、机器机器学习分类
我们使用预先设计好的数据集和经典机器学习(ML),从数据中学,并预测人类活动。
1、实验环境、实验环境
pytorch1.4--cuda10.1cuda10.1--cudnn7cudnn7--ubuntu18.04ubuntu18.04
2、、机器学习模型机器学习模型分析分析
我们选用逻辑回归、逻辑回归、SVMSVM、随机森林、随机森林这这三种三种经典经典的的机器学习模型机器学习模型进行分析。进行分析。
(1)随机森林(Random Forest Classifier):随机森林是未经修剪随机森林是未经修剪的的算法算法,就像,就像bootstrappingbootstrapping算法与各种决策树。每棵树都依赖于对所算法与各种决策树。每棵树都依赖于对所选向量的估计值,这是不可预测的,也是独立的。选向量的估计值,这是不可预测的,也是独立的。
代码:
结果:
可视化:
(2)逻辑回归((Logistic RegressionLogistic Regression)):逻辑回归是一种用于分类的线性模型。在这个模型中,描述单个试验可能结果的概率使用一个逻辑性模型。在这个模型中,描述单个试验可能结果的概率使用一个逻辑函数建模。函数建模。logisticlogistic函数是一个函数是一个sigmoidsigmoid函数,它接受函数,它接受00到到11之间的之间的任何实际输入和输出值,因此是分类的理想选择任何实际输入和输出值,因此是分类的理想选择。
代码:
结果:
可视化:
(3))SVM::支持向量分类器的目标是适合所提供的数据,返回一个提供的数据,返回一个““最适合””的超平面来划分或分类数据。然后,在获得超平面之后,可以向分类器提供一些特征,以得到““预测””类。
代码:
结果:
可视化:
四、结论
通过运用以上三种机器学习模型分析可以看出,通过SVM分类器模型,得到的效果最好。
如上表上表所示,几个方法都创建了有效的模型,其中其中SVM是本实验中最精确的方法,达到达到96.47%的分类成功率。通过实验实,可以说,使用机器学习方法在检测智能手机用户的活动是具有较强的应用前景的。同时,本实验所所使用的数据集包含仅由加速度计和陀螺仪信号产生的数据。若从智能手机中常用的其他传感器和设备接收到的数据添加到数据集中,通过增加活动和情境的数量来进行改进。将关于用户的状况和位置以及环境状况的信息,以便对更复杂的活用户的状况和位置以及环境状况的信息进行分类。
- 点赞
- 收藏
- 关注作者
评论(0)