【 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

相关文章

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语