Edge Impulse Inc. / FOMO Washers and Screws 160x160
Object detection on constrained devices with FOMO!
About this project
Object detection models are vital for many computer vision applications. They can show where an object is in a video stream or allow you to count the number of objects detected. But they’re also very resource-intensive— models like MobileNet SSD can analyze a few frames per second on a Raspberry Pi 4, using a significant amount of RAM. This has put object detection out of reach for the most interesting devices: microcontrollers. Microcontrollers are cheap, small, ubiquitous and energy efficient—and are thus attractive for adding computer vision to everyday devices. But microcontrollers are also very resource-constrained, with clock speeds as low as 200 MHz and less than 256 Kbytes of RAM—far too little to run complex object detection models. But… that has now changed! We have developed FOMO (“faster objects, more objects”), a novel DNN architecture for object detection, designed from the ground up to run on microcontrollers.
Interested in adding object detection capabilities to your constrained edge devices? Clone this project to build an object detection project to detect cans and bottles on the tiniest of devices!
Read more on our announcement blog to find out more about FOMO and to learn how to build your object detection project, from data collection to deployment on embedded devices.
Sensor & Block Information
- Camera module with input images 160 x 160 pixels
- Image block to normalize the image data, and reduce the color depth to grayscale
- FOMO transfer learning block based on MobileNetV2 0.35
Creating your first impulse (100% complete)
Every Machine Learning project starts with data. You can capture data from a development board or your phone, or import data you already collected.
Design an impulse
Teach the model to interpret previously unseen data, based on historical data. Use this to categorize new data, or to find anomalies in sensor readings.
Package the complete impulse up, from signal processing code to trained model, and deploy it on your device. This ensures that the impulse runs with low latency and without requiring a network connection.
Download block output
Data collected313 items