ESP32机器学习最邻近算法

本教程介绍了如何使用ESP32机器学习。 更详细地介绍了如何使用ESP32 KNN分类器根据对象的颜色对其进行分类。

KNN分类器
为了更好地理解我们将要构建的项目,了解分类器的工作方式很有用。 简而言之,KNN代表k最近邻算法。 该算法属于监督机器学习算法。 KNN假设相似的物体彼此靠近。 KNN尝试为对象分配标签,以测量其与训练阶段看到的其他标签的相似程度。

因此,在此ESP32 KNN机器学习示例中,我们有两个不同的阶段:

第一阶段,我们训练算法,以便可以识别相似之处

我们将算法应用于对象以进行识别

我们考虑的功能是三个颜色分量(红色,绿色,蓝色)。此外,KNN非常简单,因此可以在ESP32器件上实现。 这样,通过几行代码,我们可以尝试如何将Machine Learning与ESP32结合使用。

ESP32分类
现在,我们知道了KNN的工作原理,我们可以将注意力集中在ESP32上KNN的实现上。即使您可以使用另一个IDE,我们也将使用PlatformIO创建此项目。

首先,创建一个新项目。完整代码如下所示:

而与此项目一起使用的platformio.ini文件是:

分类器工作原理
首先,假设我们要对具有三种颜色的三个不同的球进行分类:

此外,我们使用三种不同的功能对这些对象进行分类或标记:红色,蓝色和绿色。

该代码为我们要检测的每个对象获取了30个样本。 为了代替使用接近传感器,我们将使用不同样本之间的延迟。 训练阶段完成后,在循环方法中,代码开始要求检测将被分类的对象。

ESP32机器学习 | 可视化结果 | 测试分类
要测试分类是否有效,我们需要三个不同颜色的对象。 我用了三个不同颜色球,您也可以使用其他物体。 让我们运行代码,在训练阶段的日志中,您应该会看到如下图所示的内容:

对于蓝色

另一个对象也发生同样的事情。训练阶段完成后,我们可以开始使用ESP32 KNN和TCS3200测试分类。

结果如下:

如果您更喜欢使用输出控制台,结果如下所示:

原理图

详情参阅 - 亚图跨际

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值