客座博文 / Vikram Dattu、Aditya Patwardhan、Kedar Sovani,
来自 Espressif Systems
设备端机器学习框架 TensorFlow Lite 已支持 ESP32 芯片组,可进一步减轻 TensorFlow Lite Micro 的工作负载,助力智能家居体验。 作为原型设计的优异载体,微控制器 ESP32 深受业余爱好者和技术极客欢迎,可对现实世界的数据/物体进行感知或修改,被广泛应用在灯泡、开关、冰箱和空调等智能家居应用的连接中。
ESP32 的独特之处在于它是一款独特的 SoC,可以从原型快速推进到批量生产。它拥有广泛的社区、众多的开发套件和大量的教程/SDK,是快速原型设计的优异载体,几乎能够涵盖所有您感兴趣的任何垂直领域。多合一软件包 (Wi-Fi/BT/MCU) 和现有的实际大量部署使其成为构建最终产品的理想选择。
ESP32 已广泛用于智能家居/互联设备项目,将各种传感器和执行器连接到微控制器,感知环境并采取相应行动。在 ESP32 上执行 TensorFlow Lite for Microcontrollers 将为各种由本地推理触发的用例提供场景。ESP32 有 双核 CPU 和一系列优化,更易运行繁重的 TF Micro 工作负载。Wi-Fi 回传有助于推送远程事件,并根据推理触发动作。
举个例子,我们修改了大家可能都很熟悉的 person_detection 示例,把它变成一个智能门铃摄像头。我们使用 ESP-EYE 开发者套件进行此演示。注意,这个示例使用的是人员检测(它在人脸出现在摄像头前时进行检测),而不是人员识别(识别这个人是谁)。
ESP-EYE 开发者套件包括 ESP32 Wi-Fi/BT MCU 和一个 200 万像素的摄像头。
我们将在示例中使用这个摄像头进行观察,如果检测到附近有人就会发出电子邮件通知。
1. 订购 ESP-EYE:您可以从最喜欢的经销商处或从本链接获取 ESP-EYE 开发套件。您需要一条 USB 转 micro-USB 线来连接到 Windows/Linux/macOS 主机。
2. 克隆代码库。
3. 设置开发主机:使用 ESP32 交叉构建所需的工具链和实用工具设置开发主机。按照 ESP-IDF 入门指南的说明设置工具链和 ESP-IDF。
4. 生成示例:使用以下命令生成示例项目:
make -f tensorflow/lite/micro/tools/make/Makefile TARGET=esp generate_doorbell_camera_esp_project
5. 构建示例:
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. 进入 Camera Pins 配置 和 SMTP 设置 菜单,选择摄像头详细信息以及电子邮件详细信息。
e. 构建示例:
idf.py build
6. 刷新并运行程序:使用以下命令刷新并运行程序:
idf.py --port /dev/ttyUSB0 flash monitor
7. 接下来,只要检测到人脸,程序就会向配置的电子邮件地址发送电子邮件。
试过了门铃摄像头示例,您可以感受一下 TF Micro 代码库中的其他应用:hello_world 和 micro_speech。
ESP32 对于微控制器非常强大。在时钟频率 240MHz 下,仅用一个内核即可在 1 秒内完成检测(大约 700 毫秒;我们即将推出额外优化来进一步缩短时间)。这样,另一个内核就可以自由处理应用中的其他任务。
当然,《TinyML》一书是深入了解 TensorFlow Lite for Microcontrollers 的绝佳资源。
对于本文有任何疑问,欢迎移步“问答”版块发帖提问。你的问题有机会得到 CSDN 百大热门技术博主、资深社区作者或者 TensorFlow 资深开发者的解答哦!同时,我们也欢迎你积极地在这个版块里,回答其他小伙伴提出的问题,成为 CSDN 社区贡献者,迈出出道第一步!马上开始讨论吧!
想获得更多前沿研究资讯?扫码关注 TensorFlow 官方微信公众号( TensorFlow_official ),产品更新、课程教学、技术实践、应用实例等精彩内容一网打尽!