利用卷积神经网络对大规模可穿戴传感器数据进行运动分类
Posted kanjian2016
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用卷积神经网络对大规模可穿戴传感器数据进行运动分类相关的知识,希望对你有一定的参考价值。
Exercise Motion Classification from Large-scale Wearable Sensor Data Using Convolutional Neural Networks
利用卷积神经网络对大规模可穿戴传感器数据进行运动分类
本文使用CNN来对可穿戴传感器收集的大规模运动数据进行分类,同时对传感器数据转换为不同的图像格式输入做出了比较。最佳性能配置以92.1%的准确率将50种健身房运动分类。
作者在这里使用的是CNN而不是RNN(常用来处理时序数据),是因为每次的重复运动练习(如举哑铃)是花费的时间是非常短的少于4秒,训练时不需要长时间的记忆。
数据集使用的是从PUSH(一种戴在前臂上的可穿戴设备,用于测量运动员的运动)收集的,该数据是由1441名男运动员和307名女运动员的449260个重复运动练习组成的49194个集合组成。
因为CNN的输入长度是固定的,所以将每条序列的长度固定为784。拥有超过784个样本的代表被简单地裁剪出来784个样本,不足的采用zero-paded。
该装置紧紧地绑在上臂上,分别用内置加速度计和陀螺仪测量加速度和方向,因此,时间序列数据具有9个特征(Acc x, Acc y,Acc z) in the local frame, (Acc x, Acc y, Acc z) in the world frame and (EulerAngle x,EulerAngle y, EulerAngle z) in the world frame,数据采集的频率为200HZ。
将传感器数据转换成2D形式的输入有3种方法。不同的图像格式选择会导致不同的卷积与不同的相邻元素,其中可能包括不相关元素之间的卷积。
- 把9×784的时间序列数据作为一个矩形二维图像。
- 将三个不同的特征组(local accelerations,world accelerations,and Euler angles)类比为图像中的RGB通道,并创建一个3×784×3的张量。
- 将9×784的时间序列数据重新塑造为84×84的方阵如下图所示。
不同各式的2D输入对于卷积的影响
对于9*784形式的输入来说,如果进行步长为1的卷积操作(作者称为9*784 full),Acc_x_local位于图像的最上面一行,直到最后一层才与位于最下面一行的Euler_Angle_z进行卷积,然而Acc_z_world位于图像的第6行,它与位于第7行的Euler_Angle_x有很多卷积的机会,因为它们是相邻的。
对于3*784*3 形式的输入来说,由于卷积分别在3个通道上分别进行,这样不同的组之间就不会发生卷积。
为了避免9*784形式的输入在一层中不同组之间的卷积,可以使用卷积步长来避免这种影响(作者称为9*789 disjointed)。如下图所示。
左图中沿着y轴移动步长为1这样不同的组之间就会发生卷积。右图中沿着y轴移动而步长为3,可以避免不同组之间进行卷积。
实验结果表明,将不同的特征组(local acceleration,world acceleration, Euler angle)作为不同的图像通道(3*784*3)处理比二维正方形(84*84)图像或矩形(9*783)图像效果更好。
[论文地址][https://arxiv.org/abs/1610.07031]
以上是关于利用卷积神经网络对大规模可穿戴传感器数据进行运动分类的主要内容,如果未能解决你的问题,请参考以下文章