jallson / Livestock/Wildlife counting from drone with FOMO Public

jallson / Livestock/Wildlife counting from drone with FOMO

This is your Edge Impulse project. From here you acquire new training data, design impulses and train models.

Object detection

About this project

The Role of Artificial Intelligence (AI) for livestock and wildlife monitoring is expected to grow significantly. This project is an example of how AI can be used for tracking and counting objects (animals or crops) in a quick and efficient way using embedded Machine Learning. This asset tracking system uses Computer Vision from a drone flying across the field (scanning down the surface) with a camera facing down. The AI model will be able to detect and differentiate types of animals or crops and can count the cumulative number for each type of objects (animal/crop) in real time. This enables wildlife rescue teams to monitor the population of the animals/crops, it can also be used for businesses to calculate the potential revenue in the livestock and agriculture market.

This project uses Edge Impulse’s FOMO (Faster Objects, More Objects) object detection algorithm. The wildlife/livestock/asset tracking environment can be simulated and performed by selecting the grayscale Image block and FOMO object detection with 2 output classes (e.g. turtle and duck). This project takes advantage of FOMO’s fast and efficient algorithm to count the objects while using a constrained microcontroller or a single board Linux-based computer such as the Raspberry Pi. (I’m using a Raspberry Pi 3 model B+, but the Raspberry Pi 4 model B should work better in theory).

The Edge Impulse model is also implemented into our Python code so that it can count the object cumulatively. The algorithm compares the coordinates of the current frame to the previous frames; to see if there is a new object on camera or if the object has been previously counted. In our testing sometimes there’s still inaccuracy in the number of objects counted as this model is still in the Proof of Concept stage. We are confident that this concept can be developed further for the real world application.

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.


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 68 windows
Image training labels JSON file 68 windows
Image testing data NPY file 17 windows
Image testing labels JSON file 17 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.


Data collected
85 items

Project info

Project ID 125513
Project version 3
License No license attached