https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9FPgF1ANYsZZSvda_MN3pHhsT6ofVbMCZzIAN5IPQFXcCukoadl_rt7kxK5iIlHaAEJNVk9LJgROElWL0vd9RJltxlTMNr3elwWQaT7WUosugTu63eDp87YCCZ_DLqfUna7rroADpvKM/s1600/ESP-EYE-Final.jpg
由 Espressif Systems 的 Vikram Dattu、Aditya Patwardhan、Kedar Sovani 撰写
介绍 ESP32:Wi-Fi MCU
我们很高兴地宣布支持
ESP32 芯片组的 TensorFlow Lite Micro。
ESP32 是一款支持 Wi-Fi/BT/BLE 的
MCU(微控制器),它被业余爱好者和创客广泛用于构建酷炫而有趣的项目,这些项目可以感知或修改现实世界的数据/对象,而且也通常被用于智能家居设备,例如灯泡、开关、冰箱和空调,以提供连接功能。
ESP32 最有趣的一点是,它是一款独特的 SoC,可用于从快速原型到高产量生产的各个阶段。庞大的社区、众多的开发套件以及大量的教程/SDK 使其成为快速原型设计的一个绝佳平台,几乎可以满足您感兴趣的任何领域的需求。一体化封装(Wi-Fi/BT/MCU)以及现有的高产量部署使其成为构建最终产品的理想选择。
ESP32 已经在许多智能家居/联网设备项目中使用,其中各种传感器和执行器连接到微控制器,以感知环境并做出相应反应。借助在 ESP32 上运行的
用于微控制器的 TensorFlow Lite,这为所有由本地推理触发的用例场景打开了大门。ESP32 具有 2 个 CPU 内核和许多优化,使其更易于运行繁重的 TF Micro 工作负载。Wi-Fi 回程有助于引发远程事件并根据推理结果触发操作。
人员检测或门铃摄像头?
例如,我们修改了大家可能熟悉的
person_detection 示例,使其成为一个智能门铃摄像头。在此演示中,我们使用了 ESP-EYE 开发套件。请注意,此示例使用人员检测(检测到摄像头前方是否有面部),而不是人员识别(识别人员是谁)。
ESP-EYE 开发套件 包含 ESP32 Wi-Fi/BT MCU 和一个 2MP 摄像头。
实际应用
在我们的示例中,我们将使用此摄像头进行观察,并在检测到附近有人时发送电子邮件通知。
自行构建
- 订购 ESP-EYE:您可以从您最喜欢的经销商处或从 这里 购买 ESP-EYE 开发套件。您将需要一根 USB 转 micro-USB 电缆来连接到 Windows/Linux/macOS 主机。
- 克隆存储库:https://github.com/espressif/tensorflow/
- 设置开发主机:使用所需的工具链和实用程序设置开发主机,以便为 ESP32 进行交叉构建。按照 ESP-IDF 入门指南 的说明设置工具链和 ESP-IDF 本身。
- 生成示例:可以使用以下命令生成示例项目
make -f tensorflow/lite/micro/tools/make/Makefile TARGET=esp generate_doorbell_camera_esp_project
- 构建示例
a. 进入示例项目目录
cd tensorflow/lite/micro/tools/make/gen/esp_xtensa-esp32/prj/doorbell_camera/esp-idf
b. 使用以下命令克隆 esp32-camera 组件
$ git clone https://github.com/espressif/esp32-camera components/esp32-camera
c. 配置摄像头和电子邮件地址
idf.py menuconfig
d. 进入 摄像头引脚 配置和 SMTP 配置 菜单,选择摄像头详细信息和电子邮件详细信息。
e. 构建示例
idf.py build
- 刷写并运行程序:使用以下命令刷写并运行程序
idf.py --port /dev/ttyUSB0 flash monitor
- 现在,每当检测到人脸时,程序都会将电子邮件发送到配置的电子邮件地址。
下一步
现在您已经尝试过门铃摄像头示例,您可以尝试 TF Micro 存储库中包含的其他应用程序:
hello_world 和
micro_speech。
ESP32 对于微控制器来说非常强大。时钟频率为 240MHz,仅使用一个内核,它可以在不到 1 秒的时间内(大约 700 毫秒;正在进行其他优化以进一步缩短时间)完成检测。这样,另一个内核就可以为应用程序中的其他任务腾出空间。
TinyML 一书是深入了解用于微控制器的 TensorFlow Lite 的绝佳资源。