Edge Impulse Inc. / FOMO Washers and Screws 160x160 Public

Edge Impulse Inc. / FOMO Washers and Screws 160x160

Object detection on constrained devices with FOMO!

Object detection

About this project

Counting washers and screws

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)

Acquire data

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.

Deploy

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

Title Type Size
Image training data NPY file 283 windows
Image training labels JSON file 283 windows
Image testing data NPY file 30 windows
Image testing labels JSON file 30 windows
Object detection model TensorFlow Lite (float32) 82 KB
Object detection model TensorFlow Lite (int8 quantized) 56 KB
Object detection model TensorFlow SavedModel 186 KB
Object detection model Keras h5 model 88 KB

Clone project

You are viewing a public Edge Impulse project. Clone this project to add data or make changes.

Summary

Data collected
313 items

Project info

Project ID 101365
Project version 4
License No license attached