|
2 年 前 | |
---|---|---|
.. | ||
README.md | 2 年 前 |
在HarmonyOS手机上,使用神经网络基于IMU传感器数据,进行人类活动识别(Human Activity Recognition, HAR),并与Niobe拓维信息开发板进行通信,使开发板根据手机上分类结果进行响应。
见演示视频中,当红外线侦测到人体接近时,蜂鸣器会发出一秒警报,并且开始侦测人体姿态。当检测人体坐下时,会开启三色灯,并根据光照强度调节光源;当检测人体站起时,会关闭三色灯。当红外线侦测人体离开时,蜂鸣器会发出一秒警报,并结束人体姿态检测。
数据集使用UCIHAR,数据包括整体加速度,身体加速度,身体角加速度各三轴,分类包括 WALKING, WALKING_UPSTAIRS, WALKING_DOWNSTAIRS, SITTING, STANDING, STANDING_UP, LAYING, FALLING:详情可见:https://www.kaggle.com/drsaeedmohsen/ucihar-dataset
神经网络分类器只在UCIHAR训练集上进行训练,在UCIHAR测试集上的准确率可达89%
软件架构说明 对于HarmonyOS手机分类器应用(application\Classifier\HarmoNet\entry\src\main\java\com\example\harmonet),架构如下:
--MainAbility.java --MyApplication.java --slice --Butterworth.java 巴特沃斯滤波器 --Classifier.java 分类器 --Constant.java 常量 --MainAbilitySlice.java 主界面 --Measurement.java 数据采集与记录 --Preprocessing.java 数据预处理 --UdpClient.java 与开发板通信客户端 --harmtorch 神经网络框架 --Argmax.java --Conv1d.java --Conv2d.java --Flatten.java --Layer.java --LayerNorm.java --Linear.java --LSTM.java --MaxPool1d.java --MaxPool2d.java --NN.java --Relu.java --RNN.java --Sigmoid.java --Softmax.java --Tanh.java --Tensor.java
udp_server.c
第34行和35行的WiFi热点SSID和密码,改成自己环境中的WiFi热点。udp_server.c
第28行和30行的端口号和ip地址,改成自己链接上wifi后的ip地址。applications/app/BUILD.gn
路径中的 BUILD.gn 文件,指定 network_udpserver_demo
参与编译。注:DevEco使用SDK(API Version 5),手机使用HarmonyOS 2.0.0