Edgeimpulse
Edge Impulse
Edge Impulse 是边缘设备机器学习的领先开发平台,对开发者免费,并受到全球企业的信赖。
通过 EdgeImpulse 我们可以
快速实践体验
在学习 Edge Impulse 的完整过程之前,我们提供了完整的预生成 Arduino 库,您可以通过直接将这个 Arduino 程序从草图刷写到 XIAO ESP32S3 Sense 来查看结果。
在 Arduino 上设置 XIAO ESPS3 Sense
在开始使用 Edge impulse 库之前,我们需要在 Arduino IDE 上设置 XIAO ESPS3,请查看 这里 的指南
编译并上传 Blink 示例
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
确保在上传前选择正确的开发板和正确的端口。
待办事项
可用的 Edge Impulse 库
我们也在并行推进,制作一些已经验证并编辑过的 Edge Impulse 导出的 Arduino 库,这些库可以直接与 XIAO ESP32S3 Sense 配合使用。当我们使用这些库时,我们在程序中有更多的控制权,可以做出决策。
如何使用 Edge Impulse Arduino 库
这就像一个通用的 arduino 库,我们需要先在 Arduino IDE 上安装它,然后使用示例代码来运行演示。
语音关键词识别(Yes & No)Arduino 库
工作原理
步骤 1. 下载 KWS 演示库
下载 语音关键词识别(Yes & No)Arduino 库 库作为 .Zip 文件。
步骤 2. 将 ZIP 库添加到 Arduino IDE
由于您已经下载了 zip 库,打开您的 Arduino IDE,点击 Sketch > Include Library > Add .ZIP Library。
选择您刚刚下载的 zip 文件,如果库安装正确,您将在通知窗口中看到 Library added to your libraries。这意味着库已成功安装。
步骤 3. 运行推理代码
复制上述代码或从 这里 下载,然后将代码上传到XIAO。
// print the predictions
ei_printf("Predictions ");
ei_printf("(DSP: %d ms., Classification: %d ms., Anomaly: %d ms.)",
result.timing.dsp, result.timing.classification, result.timing.anomaly);
ei_printf(": \n");
for (size_t ix = 0; ix < EI_CLASSIFIER_LABEL_COUNT; ix++) {
ei_printf(" %s: ", result.classification[ix].label);
ei_printf_float(result.classification[ix].value);
ei_printf("\n");
if (result.classification[ix].value > pred_value) {
pred_index = ix;
pred_value = result.classification[ix].value;
}
}
// Display inference result
if ((pred_index == 0 && (pred_value > 0.8))) {
digitalWrite(LED_BUILTIN, HIGH); //Turn on
} else if ((pred_index == 2) && (pred_value > 0.8)) {
digitalWrite(LED_BUILTIN, LOW); //Turn off
} else {
//nothing to do.
}
在上面的代码中,我们可以看到在哪里做出了 打开 LED 和 关闭 LED 的决定。我们也可以在这里放置其他逻辑,让 KWS 来控制我们的项目。
水果识别(苹果、香蕉、葡萄)Arduino 库
步骤 1. 下载水果识别库
下载 水果识别(苹果、香蕉、葡萄)Arduino 库 库文件(.Zip 格式)。
步骤 2. 将 ZIP 库添加到 Arduino IDE
由于您已经下载了 zip 库文件,请打开您的 Arduino IDE,点击 Sketch > Include Library > Add .ZIP Library。
选择您刚刚下载的 zip 文件,如果库安装正确,您将在通知窗口中看到"Library added to your libraries"。这意味着库已成功安装。
步骤 3. 运行示例代码
您可以在 Files -> Examples -> xiao-esp323-fruits-classify_inferencing -> XIAO-ESP32S3-Sense 下找到示例代码
试用演示
从 这里 打开数据集示例页面并打开水果图像,然后将 XIAO ESP32S3 摄像头对准水果图像,在屏幕上查看结果。