【 Edge Impulse平台】相关介绍

2023-10-08 10:20

本文主要是介绍【 Edge Impulse平台】相关介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文章介绍Edge Impulse平台 数据训练的过程
关于平台的一些操作,请参考:
【ESP32 + Edge Impulse平台】运行AI算法模拟多传感器数据融合实现异常检测”

目录

  • 1. 传感器数据融合前言
  • 2. 参考资料
  • 3. Impulse design
    • 3.1 处理块
    • 3.2 学习块

1. 传感器数据融合前言

传感器数据融合的几种常用方式:

  • 加权平均法:简单易用,运算速度快,但是权重不好确定,权重对结果的影响太大
  • 卡尔曼滤波法:通过对传感器的数据进行预测和校正以得到更加准确的结果,适用于 非线性系统 噪声较大的情况。
  • 神经网络法:通过训练神经网络,得到传感器数据之间的关系,从而实现数据融合。适用于 非线性系统 噪声较大的情况。缺点就是训练过程复杂,运算量大;优点就是,结果会更全面和准确

多传感器融合的基本原理

2. 参考资料

TinyML - 使用 Raspberry Pi Pico 进行运动识别

使用平台的多传感器融合功能:

使用边缘脉冲和机器学习进行 ESP32 异常检测

这个示例展示了 使用平台在线获取 ESP32 读取的气体传感器的值,训练后,打包模型,开始测试

测试时向传感器吹气,输出 气体检测异常的结果

3. Impulse design

https://docs.edgeimpulse.com/docs/edge-impulse-studio/impulse-design

收集完数据集之后,在设计阶段需要完成

  • 输入块 input block
  • 处理块 processing block
  • 学习块 learning block

场景:例如 使用 加速度传感器的数据判断运动分类(不同的运动,跑,跳等)

输入块:表示你采集的数据集哪部分用于输入模块用于后续操作

处理块:是一个特征提取器,由DSP运算用于提取数据集的特征

学习块:是一个小型的经过训练的神经网络,用于数据的学习;包括基本的处理算法:分类、回归、异常检测、图像迁移学习、关键词识别、object detection

3.1 处理块

【raw data】

raw data 表示原始数据,数据集不经处理直接经处理块输入学习块

【flatten】

对信号执行统计分析,比如温度数据,数据的变化速率比较慢, flatten 模块对这种变化比较缓慢的数据类型,结合其他模块使用,比较有效

计算数据窗口内的 平均值、最小值、最大值、均方根、标准差、偏度、峰度

3.2 学习块

初始数据经过 处理块之后,提取出有意义的特征后,使用学习块 训练自己的模型

分类、回归 kears

异常检测、 K-means GMM

图像迁移学习、关键词识别、object detection

【分类器】

分类模块可实现:运动识别、声音识别、传感器数据融合

NN 分类器:通过神经网络将数据分类

​ 数据1:属于A类,概率0.7

​ 数据2:属于A类,概率0.9

​ 数据3:属于B类,概率0.6

​ 数据4:属于C类,概率0.7

训练,调参,知道网络预测数据的准确性变高。

数据输入神经网络训练,然后将神经网络的输出与正确答案比较,并根据结果不断调整网络参数(神经元之间的连接权重),直到网络学会预测训练数据的正确答案。

  • **训练周期数:**每次训练算法通过反向传播完整遍历所有训练数据并更新模型参数时,称为一个纪元或训练周期。
  • **学习率:**学习率控制在训练过程的每一步中模型内部参数的更新量。或者您也可以将其视为神经网络的学习速度。如果网络很快过拟合,可以降低学习率
  • **验证集大小:**用于验证的训练集的百分比,一个好的默认值是 20%
  • 自动平衡数据集混合来自不常见类的更多数据副本。如果某些类的数据很少,可能有助于使模型更加稳健,防止过度拟合。

【异常检测 K-means】

这个神经网络最大的缺陷是:不擅长处理以前从未见过的数据(例如新手势)。神经网络无法判断这一点,因为它们只知道训练数据。如果你给它一些不同于它以前见过的东西,它仍然会被归类为四个类别之一。

这篇关于【 Edge Impulse平台】相关介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/164577

相关文章

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方