前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于边缘端的体态识别实例

基于边缘端的体态识别实例

原创
作者头像
联远智维
修改2022-10-25 17:07:00
6040
修改2022-10-25 17:07:00
举报
文章被收录于专栏:联远智维联远智维

背景介绍

近年来,国内一直大力发展数字经济,从共享单车到新能源汽车,其主要推动力在于硬件性能的不断提升,软件系统的不断优化,带动了物联网行业不断的向前发展。物联网想要真正赋能实体经济,需要多个学科之间相互协调,整个过程中存在巨量的市场,也存在一些小众领域,能吃一些残羹剩饭。

图1 物联网嵌入式系统的架构
图1 物联网嵌入式系统的架构

传统的系统架构为:通过网关将嵌入式硬件采集的数据上传到物联网云平台,整个过程中需要占用的硬件资源比较多,系统的实时性比较差。近年来,随着人工智能算法的不断发展,出现了各种轻量化的神经网络模型,能够支持数据边缘侧进行实时处理(特征提取),并将结果反馈到云平台。

机器学习算法

调研发现,传感器采集的数据大多属于时序数据,工程师能够通过算法对信息规律地分析和挖掘,实现对未来事件的准确预测,相关成果广泛应用于人体运动状态预测、依据ECG信号识别人体生理状态、污染物浓度预测、机械设备寿命预测、地基变形规律预测以及股票的涨跌预测等。

传统的时间序列预测主要基于统计学方法,通过数学模型描述数据背后的耦合关系,主要包含:指数平滑法、移动平均(MA)、 自回归(AR)等。然而很多实际场景中很难建立准确的数学模型(ECG生理信号等),因此,近些年为了解决该问题,发展出RNN以及LSTM等机器学习算法,具体原理如下所示:

图2 LSTM网络模型结构
图2 LSTM网络模型结构

LSTM内部主要包含三个门(遗忘门、输入门和输出门)和记忆单元 (Memory Cell)两块,其中,遗忘门、输入门和输出门的数学表达式为:

{f_t} = \sigma ({W_{hf}}*{h_{t - 1}} + {W_{xf}}*{x_t} + {b_f})\\ {i_t} = \sigma ({W_{hi}}*{h_{t - 1}} + {W_{xi}}*{x_t} + {b_i})\\ {o_t} = \sigma ({W_{ho}}*{h_{t - 1}} + {W_{xo}}*{x_t} + {b_o})

单元状态的更新函数为:

{C_t} = {f_t}*{C_{t - 1}} + {i_t}*{{\tilde C}_t}\\ {{\tilde C}_t} = \tanh ({W_{hc}}*{h_{t - 1}} + {W_{xc}}*{x_t} + {b_c})

系统的输出为:

{h_t} = {o_t}*\tanh ({C_t})

附1:AR模型:当前值是前 p 时刻序列的线性组合,核心本质属于线性拟合,通过求解矩阵方程组获取拟合拟合参数;

附2:LSTM的数学模型跟力学涉及的材料本构极为相似,在什么时候有限元解是唯一的,什么时候是无解的,最后可以用数学上不动点原理来解答。

应用实例

智能可穿戴设备在生活中具有广泛的应用,能够自动采集人体的状态数据。本项目中建立了LSTM模型,后续导入智能手机获取的加速度信号进行训练,判断穿戴者的状态(坐下、站立、走动、跑步以及跳动)。本项目采用6组时序数据作为训练集,每组数据包含X、Y、Z方向的加速度信号,具体过程如下所示:

图3 LSTM网络训练过程
图3 LSTM网络训练过程

后续将LSTM模型封装为函数,直接部署到网关中,本项目采用的网关硬件参数为: 4核心;内存:512M;存储容量:4g ;支持sd卡;

代码语言:javascript
复制
clear all;clc
filename = 'data.txt'; 
datatable = importdata(filename); 
changdu=50;
traindata=zeros(3,changdu);

for i=1:length(datatable)
    temp=tiqu(datatable{i,1});
    if i<(changdu+1)
        traindata(1,i)=temp(1,1);
        traindata(2,i)=temp(1,2);
        traindata(3,i)=temp(1,3);
    end    
    if i>changdu
        traindata=circshift(traindata,-1,2);
        traindata(1,changdu)=temp(1,1);
        traindata(2,changdu)=temp(1,2);
        traindata(3,changdu)=temp(1,3);
    end
    ypre=acceleration(traindata);    
end

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景介绍
  • 机器学习算法
  • 应用实例
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档