0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

根据手机传感器数据来识别用户运动模式

电子设计 来源:电子设计 作者:电子设计 2020-12-26 01:24 次阅读

随机智能手机的普及,在日常生活中,大多数人在做任何事情的时候,都会随身携带手机。如果开启手机中的传感器,当用户运动时,就可以采集大量的用户信息,根据这些信息,就可以判断当前用户的运动模式,如行走、上楼梯、下楼梯、坐、站立、躺下等等。基于这些运动模式,设计不同的场景,为健身类或运动类应用(APP)增加一些有趣功能。

智能手机中,常见的位置信息传感器就是 加速度传感器(Accelerometer)和陀螺仪(Gyroscope)。

加速度传感器:用于测量手机移动速度的变化和位置的变化;

陀螺仪:用于测试手机移动方向的变化和旋转速度的变化;

传感器

本文主要根据手机的传感器数据,训练深度学习模型,用于预测用户的运动模式。

数据

本例的数据来源于UCI(即UC Irvine,加州大学欧文分校)。数据由年龄在19-48岁之间的30位志愿者,智能手机固定于他们的腰部,执行六项动作,即行走、上楼梯、下楼梯、坐、站立、躺下,同时在手机中存储传感器(加速度传感器和陀螺仪)的三维(XYZ轴)数据。传感器的频率被设置为50HZ(即每秒50次记录)。对于所输出传感器的维度数据,进行噪声过滤(Noise Filter),以2.56秒的固定窗口滑动,同时窗口之间包含50%的重叠,即每个窗口的数据维度是128(2.56*50)维,根据不同的运动类别,将数据进行标注。传感器含有三类:身体(Body)的加速度传感器、整体(Total)的加速度传感器、陀螺仪。

以下是根据数据绘制的运动曲线,站立(红色)、坐(绿色)、躺下(橙色)的振幅较小,而行走(蓝色)、上楼梯(紫色)、下楼梯(黑色)的振幅较大。

运动曲线

以下是在行走(Walking)中,三类传感器的三个轴,共9维数据的运动曲线:

传感器 - 行走

以下是在坐(Sitting)中的运动曲线:

传感器 - 坐

通过观察可知,不同运动模式的传感器数据曲线拥有一定的差异性,但是有些运动模式的差异性并不明显,如行走、上楼梯、下楼梯之间;相同运动模式的传感器数据曲线也各不相同。

在数据源中,70%的数据作为训练数据,30%的数据作为测试数据,生成训练数据的志愿者与生成测试数据的不同,以保证数据的严谨性,符合在实际应用中预测未知用户动作的准则。

UCI数据源

模型

模型是基于深度学习的DeepConvLSTM算法,算法融合了卷积(Convolution)和LSTM操作,既可以学习样本的空间属性,也可以学习时间属性。在卷积操作中,通过将信号与卷积核相乘,过滤波形信号,保留高层信息。在LSTM操作中,通过记忆或遗忘前序信息,发现信号之间的时序关系。

DeepConvLSTM算法的框架,如下:

DeepConvLSTM

将每类传感器(身体加速度、整体加速度、陀螺仪)的3个坐标轴(XYZ)数据,合并成一个数据矩阵,即 (128, 3)维,作为输入数据,每类传感器均创建1个DeepConvLSTM模型,共3个模型。通过3次卷积操作和3次LSTM操作,将数据抽象为128维的LSTM输出向量。

在CNN的卷积单元中,通过卷积(1x1卷积核)、BN、MaxPooling(2维chihua)、Dropout的组合操作,连续3组,最后一组执行Dropout。通过MaxPooling的降维操作( 2^3=8),将128维的数据转为为16维的高层特征。

CNN

在RNN的时序单元中,通过LSTM操作,隐含层神经元数设置为128个,连续三次,将16维的卷积特征转换为128维的时序特征,再执行Dropout操作。

LSTM

最后,将3个传感器的3个模型输出,合并(Merge)为一个输入,即 128*3=384,再执行Dropout、全连接(Dense)、BN等操作,最后使用Softmax激活函数,输出6个类别的概率。

Merged

选择概率较大的类别,作为最终预测的运动模式。

效果

在第48层中,即Concatenate层,将3个传感器的LSTM输出合并(Merge)成1个输入,不同类别的特征,效果也不同,如:

Merged Layer

训练参数

epochs = 100batch_size = 256kernel_size = 3pool_size = 2dropout_rate = 0.15n_classes = 6

最终效果,在测试集中,准确率约为95%左右:

loss: 0.0131 - acc: 0.9962 - val_loss: 0.1332 - val_acc: 0.9535val_f1: 0.953794 — val_precision: 0.958533 — val_recall 0.949101

如果继续调整参数,还可以提升准确率。

通过深度学习算法训练的用户动作识别模型,可以应用于移动端进行场景检测,包含行走、上楼梯、下楼梯、坐、站立、躺下等六种动作。同时,95%的准确率已经满足大多数产品的需求。

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48110

    浏览量

    740114
  • 数据
    +关注

    关注

    8

    文章

    6512

    浏览量

    87601
收藏 人收藏

    评论

    相关推荐

    未来已,多传感器融合感知是自动驾驶破局的关键

    技术 ,摄像头和雷达等多传感器的探测数据 在前端(数据获取时)交互验证,让自动驾驶系统能感知到“看不见”的危险。 例如,在反向车道有强远光灯干扰的情况下,当雷达子系统探测到潜在运动目标
    发表于 04-11 10:26

    指纹传感器的定义 指纹传感器的应用

    指纹传感器的定义 指纹传感器的应用  指纹传感器是一种生物识别技术,通过检测和分析人体指纹特征来验证用户身份。它基于指纹独特性和稳定性的基本
    的头像 发表于 03-05 17:35 1665次阅读

    HarmonyOS传感器开发指南

    HarmonyOS 系统传感器是应用访问底层硬件传感器的一种设备抽象概念。开发者根据传感器提供的Sensor接口,可以查询设备上的传感器,订阅传感器
    发表于 11-28 15:36

    【实验篇】FPGA驱动传感器:水位、巡线、振动传感器

    输出的电平,根据电平高低决定FPGA输出控制信号电平的高低,各传感器在不同条件下输出信号的高低电平情况可参考上表。 以水位传感器为例,FPGA识别传感器的输出信号,水位
    发表于 11-06 14:33

    LSM6DSR iNEMO六轴惯性传感器模块相关资料

    。LSM6DSR 还兼容主要操作系统的要求,提供真实、虚拟以及批量模式传感器:器件经过专门设计,可在硬件上实现大幅运动检测、倾斜检测、计步功能和时间戳。LSM6DSR 提供强大的定制功能,能够单独设定和运行最多
    发表于 09-13 07:11

    LSM303AH eCompass六轴惯性传感器模块相关资料

    ,LSM303AH可利用硬件识别出的自由落体事件、6D方向、单击和双击感应、活动或不活动、唤醒事件,产生中断信号。LSM303AH可兼容主要操作系统的要求,提供真实和虚拟传感器。它在硬件中进行了设计,可
    发表于 09-13 06:10

    STM32Cube的传感器运动算法软件扩展

    用于 STM32Cube 的 X-CUBE-MEMS1 扩展软件包在 STM32 上运行,包括识别传感器和收集温度、湿度、压力和运动数据的驱动程序。该扩展软件以 STM32Cube 软件技术为基础而
    发表于 09-13 06:06

    瑞萨电子(Renasas):模拟运动传感器解决方案介绍

    随着物联网和人工智能技术的不断发展,运动传感器被嵌入在越来越多的应用中。智能手机、智能手表、健身设备、游戏控制器等消费类电子产品,用它来监测、追踪用户的步数、
    的头像 发表于 09-08 16:30 571次阅读
    瑞萨电子(Renasas):模拟<b class='flag-5'>运动</b><b class='flag-5'>传感器</b>解决方案介绍

    ISM330DHCX iNEMO六轴惯性传感器模块应用笔记

    。• 还嵌入了机器学习内核逻辑,可以识别数据模式用户定义的类别集是否匹配。一个典型的应用示例是识别和检测多个复杂运动
    发表于 09-08 08:29

    STM32Cube的传感器运动算法软件扩展

    用于 STM32Cube 的 X-CUBE-MEMS1 扩展软件包在 STM32 上运行,包括识别传感器和收集温度、湿度、压力和运动数据的驱动程序。该扩展软件以 STM32Cube 软件技术为基础而
    发表于 09-08 07:21

    STAIS2DW12运动传感器的使用信息和应用提示

    本文档旨在提供 STAIS2DW12 运动传感器相关的使用信息和应用提示。AIS2DW12 是一种超低功耗三轴线性加速度计,设计用于处理非安全汽车应用,利用了已用于微型机械加速度计生产的稳健成熟
    发表于 09-06 07:16

    LIS2DS12运动传感器相关的使用信息和应用提示

    ,提供真实和虚拟传感器。它在硬件中进行了设计,可实现大幅运动检测、倾斜检测和计步功能。LIS2DS12 集成了 256 级的先进先出(FIFO)缓冲,允许用户进行
    发表于 09-06 06:10

    如何使用Nano130与运动传感器MPU9250进行通信

    如何使用Nano130与运动传感器MPU9250进行通信,以获得该装置的运动轨迹和方向。 首先,Nano130通过I2C接口初始化了MPU9250,将模式设定为测量
    发表于 08-31 09:29

    运动传感器的类型,智能运动传感器如何工作?

    )。当运动传感器检测到移动物体时,它会在系统中进行数据分析和数据比对,并通过互联网向您的移动设备发送报警消息,以便您立即知道检测区域是否存在安全问题。此外,如果您订阅商家的监控服务,您
    的头像 发表于 05-23 15:47 1407次阅读

    ESP8266如何使用带PIR运动传感器的深度睡眠唤醒它?

    这是我的项目,它在 Adafruit HUZZAH ESP8266 上使用深度睡眠模式并由 PIR 运动传感器唤醒。然后它会重新连接到 WiFi 并通过 IFTTT 发送电子邮件。 电池寿命从大约
    发表于 05-23 08:16