Silicon Labs / silabs-xg24-people-counting
This is your Edge Impulse project. From here you acquire new training data, design impulses and train models.
About this project
64x64 People Counting with Silabs xG24 Dev Kit
This tutorial will guide you through a people counting reference design built using the Silabs xG24 dev kit and the Arducam Mini 2MP Plus. The design showcases:
The Silabs xG24 Dev Kit featuring the EFR32 chipset with AI/ML accelerator providing:
- Up to 3x speed increases in image-based ML processing (when compared to running a non-accelerated model),
- An extremely low AI/ML and BT stack footprint allowing for concurrent inference and BT communication, and
Edge Impulse’s own FOMO algorithm providing:
- image-based object detection at the lower end (ARM Cortex®-M33, 256kB RAM) of TinyML compute,
- the ability to train object detection models using only ~100, instead of thousands of images,
- the ability to detect objects at extremely low reolutions (64x64 pixels)
System Architecture
The diagram below depicts the ML lifecycle architecture defined for our people counting reference design. We used a single xG24 Dev Kit to implement either a collection or an inference flow, recursively as required, during the development process.
Prerequisites
This guide assumes that you have already completed the getting started guide for the Silabs xG24 Dev Kit and have trained a model.
In order to replicate this reference design, you will also need:
- An xG24 Dev Kit from Silabs
- An Arducam Mini 2MP Plus
- An Edge Impulse Studio account with a clone of the people counting project.
- A develompent computer with the Edge Impulse CLI installed
Camera Assembly
For this project, we attached an Arducam mini 2MP plus to the xG24 Dev Kit in order to capture low-res images of people flow from a real environment. This can be achieved by connecting the two devices as specified in the table below:
xG24 Dev Kit pin | Arducam Mini 2MP Plus |
---|---|
1 | GND |
2 | |
3 | SDA |
4 | MOSI |
5 | |
6 | MISO |
7 | |
8 | SCK |
9 | |
10 | |
11 | SCL |
12 | |
13 | CS |
14 | |
15 | |
16 | |
17 | |
18 | VSS |
19 | |
20 |
Deploying your Impulse
Head over to your cloned Edge Impulse project, and go to Deployment. From here you can create the full firmware package built with all required libraries and dependencies. This includes the Silabs' Bluetooth stack which can broadcast inference results to nearby devices. Select Silabs xG24 Dev Kit and click Build to build the firmware. Then download and extract the .zip
file.
Next Steps
You can use your cloned project and xG24 Dev Kit camera assembly as a starting point to develop your own object detection project by following our FOMO guide.
Download block output
Title | Type | Size | |
---|---|---|---|
Image training data | NPY file | 78 windows | |
Image training labels | JSON file | 78 windows | |
Image testing data | NPY file | 20 windows | |
Image testing labels | JSON file | 20 windows | |
Object detection model | TensorFlow Lite (float32) | 82 KB | |
Object detection model | TensorFlow Lite (int8 quantized) | 56 KB | |
Object detection model | TensorFlow SavedModel | 185 KB | |
Object detection model | Keras h5 model | 88 KB |
Clone project
Summary
Data collected
98 itemsProject info
Project ID | 90689 |
License | Apache 2.0 |