This project is a starter to build computer vision applications with inference directly on ESP32 microcontrollers. No extra coding or deep ML knowledge is required as the process is done with Edge Impulse. It's a platform that takes input data (image, sound..) and extracts features, trains the model and exports the code as library for multiple platforms including embedded devices (Arduino, Espressif..).
This project is built with PlatformIO
and supports only ESP32 CAM
boads. By default the model used is Car Detection
provided by this public project. It uses Transfer learning method for image classification with labels cars
and unknown
.
First make sure to set WiFi configuration on config.h
header file. Then build and upload the binary. Finally run the Serial monitor and the streaming app located under app
folder.
To create and deploy your own model, start by collecting camera snapshots via the streaming app and use the Uploader tool to upload the files and label them.
Then choose the processing block Image for feature extraction.
Then choose the learning block Transfer learning for image classification or FOMO for object detection.
Then start the training and verify the model performance.
Finally for deployment choose Arduino library, build and download it. The extracted source files should be placed under the src
folder. The header file should be renamed to inferencing.h
.