基于LSTM的人体物理活动卡路里消耗计算器
立即解锁
发布时间: 2025-08-29 11:26:30 阅读量: 5 订阅数: 11 

### 基于LSTM的人体物理活动卡路里消耗计算器
在当今科技飞速发展的时代,利用智能手机传感器和机器学习算法来监测和分析人体活动成为了一个热门的研究领域。本文将详细介绍一种基于长短期记忆网络(LSTM)的人体物理活动卡路里消耗计算器的实现方法。
#### 1. 相关研究概述
在探讨具体的实现方法之前,我们先来了解一下相关的研究背景。此前有许多关于人体活动分析和卡路里计算的研究。
- **人机对话与聊天机器人**:有研究分析了人类与聊天机器人对话的差异,发现一些开放聊天网络中存在机器人滥用人类的情况,并且机器人会通过这些网络传播垃圾邮件和恶意软件,聊天内容可根据熵(即两条文本消息之间的时间间隔)进行区分。
- **人体活动分类研究**:
- 有研究利用人体上的传感器提供数据输入,将日常人类活动分为静止、轻度移动(慢走)、剧烈移动(快走或慢跑)和异常活动(如因环境突然变化导致的突然摔倒)四类,使用支持向量机和决策树技术进行分类,不同活动的分类准确率有所不同。
- 还有研究分析了不同的分类技术,如卷积神经网络(CNN)、随机森林和支持向量机,使用智能手机加速度计计算6种常见人类活动,结果表明CNN的准确率最高。
- 也有研究使用各种基准数据集来识别人类活动,选择了基于机器学习和深度学习的解决方案,并详细解释了数据收集、预处理和数据库结构,针对不同的感官信号使用了不同的模型。
- **基础代谢率计算**:Harris和Benedict在1919年通过一系列实验和观察提出了计算基础代谢率(BMR)的方程,后来Mifflin提出了新的方程,对Harris - Benedict方程进行了改进,使其更加准确。
#### 2. 研究方法
##### 2.1 流程流程图
整个项目的第一步是数据收集,使用“Sensors Logger App”从智能手机传感器收集各种活动和不同方向的数据,数据以CSV格式存储。然后将数据分为80%的训练数据集和20%的测试数据集。使用长短期记忆网络(LSTM)算法对训练数据进行训练,生成模型,最后将生成的pb模型导出到Android应用程序中,用于预测活动、计算卡路里消耗和显示物理活动分布。
```mermaid
graph LR
A[数据收集] --> B[数据存储为CSV]
B --> C[划分数据集]
C --> D[训练模型(LSTM)]
D --> E[生成pb模型]
E --> F[导出到Android应用]
F --> G[活动预测]
G --> H[计算卡路里消耗]
G --> I[显示活动分布]
```
##### 2.2 数据收集
数据收集是机器学习项目的第一阶段。在本项目中,使用小米Redmi Note 7 Pro智能手机的传感器收集数据,有10名不同的志愿者参与实验。智能手机以5种不同的方向固定:
1. 左口袋
2. 右口袋
3. 手腕
4. 手臂
5. 腰带
在每个方向上,记录7种不同的活动,每种活动记录7分钟,活动包括:
1. 站立
2. 坐着
3. 跑步
4. 行走
5. 慢跑
6. 爬楼梯上楼
7. 爬楼梯下楼
使用的智能手机传感器有:
1. **加速度计**:利用重力作为参考来检测手机的方向和运动,通过压电晶体(如石英)将加速度转换为电压来计算加速度。
2. **线性加速度计**:用于获取手机不考虑重力的加速度,提供x、y、z三个轴的数据。
3. **陀螺仪**:测量设备的旋转速率,使用爱普生的双T结构晶体元件测量角速度。
4. **磁力计**:使手机能够感知其在空间中的方向,以确定磁北方向。
使用Google Play商店的“Sensors Logger”应用程序收集数据,数据收集频率为50Hz,共收集了630,000个样本,每人63,000个样本,每种活动在5个不同方向上每人记录9000个样本。
##### 2.3 数据清洗和数据标注
在标注数据之前,需要去除所有数据集中的无用数据,即去除CSV文件中由于不必要观察而产生的列的起始和结束行,以及活动转换期间记录的观察值。最后,每人每个活动每个方向记录1800个样本点。数据标注是在CSV文件中手动完成的,将数据标注为上述7种活动。最后将单个志愿者的所有不同CSV文件合并为一个单一的CSV文件,以便于访问和模型生成。
##### 2.4 传感器数据中的模式
许多算法可用于时间序列预测,如ARIMA、Prophet和LSTM。在处理需要训练大量样本的大型数据集时,
0
0
复制全文
相关推荐









