Silicon Labs / silabs-xg24-people-counting Public

Silicon Labs / silabs-xg24-people-counting

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

Object detection

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.

xG24 People Counting Architecture

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:

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

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

Summary

Data collected
98 items

Project info

Project ID 90689
License Apache 2.0