, , ,

People counting with a ranging sensor

Saving energy is more than ever a priority. Making homes, buildings, and cities smarter is an effective way to save energy. For example, monitoring presence to turn the lights off when possible, optimizing heating systems based on the number of people in a room, or even diming public lighting when the street is empty… However, cameras are not always implemented in streets for various reasons. NanoEdge AI Studio allows you to develop ML libraries decrypting time series data to various sensor such as Radar or Time-of-Flight in order to make these data meaningful data for Humans.

For example purposes, we have taught an AI library how to distinguish human vs animal and to be able to detect when one or several people are entering or leaving a room without any camera. This approach can easily be adapted to many other use cases. 


  • We put a Time-of-Flight sensor on a gantry at 2m40 pointed to the ground and changed the detection distance to monitor movements from 1m40 and above (not looking for dogs, suitcases, etc.) 
  • When a person enters the field of the Time of fight, it triggers the sensor. We concatenate 32 signals of the sensor at a frequency of 15Hz (the maximum) to capture the direction (In or out) 
  • We binarized the distances captured by the time of flight because we don’t need information about the height of the person that passes
  • We created datasets for 4 classes. 1000 signals for both a single person going in and going out. And 400 signals for both 2 people going in and 2 people going out 
  • Finally, we created an ‘N-Class classification’ model (4 classes) in NanoEdge AI Studio and tested it live on a NUCLEO_F411RE (with a X-NUCLEO-53L5A1 add-on board) 


Time-of-Flight: VL53L5CX 


4 classes of data: 1 person going in, 2 people going in, 1 person going out, 2 people going out 
Signal length: 2048 (32 successive 8×8 matrix)
Data rate: 15 Hz


3 class classification:
98.14% accuracy, 27.1 KB RAM, 229 KB Flash

Green points represent well classified signals. Red points represent misclassified signals. The classes are on the abscissa and the confidence of the prediction is on the ordinate