当前位置:首页 期刊杂志

基于百度Paddle的人类活动识别研究

时间:2024-05-04

赖志伟 邓述为

摘要:文章详细阐述了一个基于机器学习的人类活动识别方法。该方法对人类活动数据进行探索和预处理,提出了一个对人类活动进行识别的LSTM模型。本文中的问题是一个典型的分类问题,目标变量是6种不同种类的人类活动,选择准确率作为模型的评测指标。具体方法是,通过读取训练阶段保存到本地的模型,以相同的数据构造方式对测试集进行预测评估,不断地调整学习率参数。研究表明,本文提出的LSTM模型在迭代10次、隐层数为50、学习率为0.01时达到了比较好的准确率,在测试集上有比较好的表现。

关键词:机器学习;人类活动识别;统计分析;异常预警

中图分类号:TN37  文献标志码:A

0 引言

人类活动识别在近几年发展迅速,很大部分原因源于智能手机的发展。当前,越来越多的传感器被直接植入智能手机内部。例如:利用气压计可以测量当前环境下的大气压强值,从而推算出当前用户所在的海拔高度,这对GPS有着辅助作用,使得测试可获得更精确的垂直高度的变化[1]。目前,智能手机传感器数据的分析尚处于萌芽阶段,由于传感器数据种类繁多、数据庞大,对其大规模的实时计算和处理要求非常高。深度学习技术的发展对识别准确度也有非常大的提升。一直以来,计算机模拟真实生产生活的场景被称为虚拟现实,也就是人们在使用某种工具的过程中感受到的一种真实环境,而要实现虚拟现实技术首要的基础就是对现实环境的分析和识别,而这些分析识别中最重要的就是人体动作的识别和分析[2]。人体动作识别最终的目标是基于人体动作跟踪和人体特征提取的基础上,对人体的动作特征进行分析进而自动识别人体动作的类型。本文就是应用机器学习算法探索人类活动识别的应用[3]。

综上可知,人体动作的识别涉及人们日常生活的方方面面,对改善和提高人们的生活质量有重要的作用和实际应用意义。因而,目前很多高科技企业都把目光放到了以此为基础的科技提升和改造上。该项技术涉及图像处理、模式识别、机器视觉等多方面内容。相信随着科技的不断发展,人体动作识别的推广和应用会在人们的生产生活中发挥巨大的作用。

1 人类活动识别

1.1 数据探索

人类活动识别仍有许多问题正促使新技术的发展,以提高在现实的条件下的准确性。其中,一些挑战是:要度量的属性选择;便携的、不显眼的、廉价的数据采集系统的构造;特征提取及推理方法的设计;在现实的条件下收集数据;支持新用户而无需对系统进行再训练的灵活性;在满足能量和处理需求的移动设备上的实现[4]。

本文考虑的是能够从可穿戴惯性传感器中估计人类活动的识别方法。在过去几十年中,该类识别取得了长足的发展,不仅用最先进的方法脱离了功能工程,而且完全采用了端到端的深度学习方法。通过建立实验、准备数据集和验证活动识别方法的最佳实践也发生了类似的变化。人类活动识别过程如圖1所示。

本文使用UCI数据库中智能手机收集的人类活动识别数据。该数据是从一组年龄在19~48岁之间的30名志愿者中收集的。其中,每个人都在腰部佩戴了一部智能手机,通过行走、上楼、下楼、静坐、站立、平躺等活动,利用智能手机中的嵌入式加速度计和陀螺仪获取每个活动的数据,以50 Hz的恒定频率捕获3轴线性加速度和3轴角速度的行为数据,并通过观察活动视频人工标记行为类型。本文将获得的数据分为两组,其中70%的数据用于训练,30%的数据用于测试。

下载的数据已经应用噪声滤波器对加速度计和陀螺仪的传感器信号进行预处理,现在以2.56s和50%重叠的固定宽度滑动窗口进行采样。传感器加速度信号具有重力和身体运动的分量。因此,本文使用滤波器将其分离成身体加速度和重力。假设重力仅具有低频分量,使用具有0.3 Hz截止频率的滤波器。对于每个窗口通过计算时域和频域的变量来获得特征向量。此外,数据被规范化为 [-1,1]的数据区间,每一行数据都是一个特征向量。

本文没有使用数据集中直接提供的训练集数据,因为该数据包含了很多冗余的数据,例如均值、最大最小值等统计信息,而是使用了原始的加速传感器和陀螺仪提供预处理后的数据,它们被保存在数据集的文件夹下。

数据的基本情况如表1所示。其中,移动窗口数量可以视为由128个连续的活动值组成,因此可以作为后续建模中的序列。数据来源包括总的加速度、分解后的身体加速度和陀螺仪在x、y、z3个维度上的值。

通过对标签数据进行统计分析,行走、平躺、站立、静坐、上楼和下楼6种行为的分布较为平衡。其中,上下楼的数据略微少一些,站立和平躺的数据稍多,但是最多与最少的数据在训练集中也仅差7%,总的标签数据分布情况较为均衡。

1.2 数据预处理

本文使用百度Paddle平台,需要从原始数据中获取数据构建成numpy数组。原始特征数据分布在几个文件中,需要逐个读出然后组合在一起,从而确定数组维度。通常的机器学习框架需要的特征数据是batch size在前,特征维度在后,因此需要将数据进行转换。而在标签数据读取中,数据标签是从0开始编号。

根据上面的辅助函数,平台分别读取训练集和测试集。下载的数据集直接提供组装好的训练集数据。考虑到该训练集中有过多的冗余数据,本文没有直接使用该训练集,而是自行组装训练集。测试集的情况类似。由于数据量较大,因此一般不会直接将所有数据进行训练,而是分为几个批次分别处理。

1.3 模型构建

在数据探索阶段,可以发现数据有着非常明显的时间特征,因此考虑选择RNN模型。采用深度学习算法,无论是常用的卷积神经网络,还是RNN模型都可以帮助用户提取数据中心的特征,而不需要利用传统机器学习算法中人工提取特征的方法。原始的RNN模型在每一个时间步的计算都与前面N次的时间步的结果相关,一旦时间步延展到很长,计算量会呈指数级增长,导致训练时间大幅增加,并且容易导致梯度消失的问题,因此本文将LSTM作为RNN的替代。

LSTM在RNN的基础上,添加了门控和细胞状态。有3类不同的门控,分别是遗忘门、输入门和输出门。3种门控的打开和关闭以及开关的程度决定了有多少信息会在当前LSTM单元中流动。细胞状态代表了当前单元对信息的记忆。每一个时间步下的LSTM单元将从遗忘门接收上一个时间步LSTM单元的细胞状态,并通过Sigmoid函数决定有多少信息会被遗忘,而剩余的信息将流入当前的细胞状态中。输入门将接收当前时间步的输入,而输出门将决定最终当前时间步的输出结构。LSTM的长短期记忆功能就是通过这样的门控实现。如果需要记忆长期的结果,那么遗忘门将长期打开;如果希望忽略前面的结果,那当前的遗忘门将会关闭。

本文使用Paddle1.1版本,还未实现静态的LSTM API,而动态LSTM仅支持LodTensor数据定义形式。因此本文将自行实现LSTM模型。Paddle的框架如图2所示。该函数的输入包括了初始的输入、初始的隐层、初始的细胞状态以及定义的LSTM的层数。对于每一层构建出对应的权重和偏置以及每一层的初始输入和初始细胞状态,初始化的权重和偏置将在训练过程中得到梯度优化。代码中实现3种门控。每个时间步的计算完成后,需要更新流动的细胞状态,并得到当前时间步的输出。对于LSTM的每一层,不同时间步共享同一个权重和偏置,返回每一个时间步最终的输出、最终的细胞状态和最终的隐层。在编写LSTM模型的代码后,需要考虑如何将数据输入模型。在数据预处理阶段,得到了特征数据和标签数据,其中包含时间步数、特征个数和标签类数。因此使用Paddle的API定义输入x、y、LSTM需要的初始细胞状态和隐层。在输入与LSTM层之间还需要有一次嵌入的過程。本文选择使用一个全连接层将输入变量映射到隐层。该全连接层的激活函数选择ReLU,因为ReLU激活函数相比Sigmoid等函数计算量更小,同时会使得一部分神经元输出为0,从而让网络变得稀疏且减少参数的相互依存关系和过拟合的发生概率。

2 模型评估

通过对学习率不断调参,在测试集上对各个模型进行测试,评价其准确率的高低。在训练阶段有几类超参数需要调优,初始和评估阶段调整的超参数初始值与调整值如表2所示。

由于数据总量不大,因此不需要选择部分数据作为训练集进行训练,只需要设定批次大小对数据进行训练。对学习率进行调参,学习率对模型非常重要,过大容易导致损失值偏大或损失值震荡,过小会导致模型过拟合,跳不出局部最优或收敛速度太慢。本文先选定1.0作为初始学习率,保持其他超参数不变进行实验。可见损失函数值(cost)开始下降很快,但在40批次(batch num)后在1.5左右变动,并且准确率波动较大,但均在0.5以下。进一步增大学习率不会导致分类准确率提升,反而会使得损失下降,并且震荡非常明显。因此,需进一步降低学习率。根据上述学习率的调参,最终选定0.01作为较好的学习率。

采用同样的数据构建支持向量机、决策树、随机森林、AdaBoost和高斯朴素贝叶斯等分类模型。发现LSTM在准确率上比其他机器学习模型都高,即使在只选代10次时,也有比较高的准确率,这可能很大程度源于LSTM捕获了时序的信息,而其他机器学习方法忽略了这一信息,仅仅将所有数据等同处理。本文实现的LSTM模型在选代10次、隐层数为50、学习率  为0.01时达到了比较好的准确率,在测试集上有比较好的表现。

3 结语

本文详细阐述了基于机器学习的人类活动数据的存储和预处理以及完整LSTM模型的构建过程,选择Adagrad作为优化方法,以最小化模型的损失,在训练完成后将模型保存到本地文件中,以供后续评测使用。模型评估证明本文提出的LSTM模型具有较好的准确率。

参考文献

[1]张琳,易卿武,黄璐,等.基于Wavelet-CNN网络的人类活动识别技术[J].无线电工程,2022(4):590-597.

[2]王杨,赵红东.基于改进粒子群优化的支持向量机与情景感知的人体活动识别[J].计算机应用,2020(3):665-671.

[3]王丽晓.基于大间隔最近邻算法的人类活动识别研究[J].数字技术与应用,2020(2):91-92,94.

[4]李洪俊.基于RBF神经网络的人类活动识别[J].电子设计工程,2014(5):41-43,46.

(编辑 王永超)

Research on human activity identification based on Paddle

Lai  Zhiwei, Deng  Shuwei

(College of Information Engineering, Hunan University of Science and Engineering, Yongzhou 425199, China)

Abstract: This paper describes a machine learning based human activity recognition method in detail. This method explores and preprocesses human activity data, and proposes a LSTM model for human activity recognition. The problem in this paper is a typical classification problem. The target variables are six different kinds of human activities, and the accuracy rate is selected as the evaluation index of the model. Specific approach is to save to a local model by reading the training phase, and then by the same data structure was carried out on the test set predictive evaluation, then vector by constantly adjusting parameters. The research indicates that the proposed LSTM model is in the iteration vector 10 times, the number of hidden layer of 50 and achieves a better accuracy of 0.01, having a good performance on the test set.

Key words: machine learning; human activity recognition; statistical analysis; abnormal warning

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!