How can I improve classification accuracy for gesture recognition?

I’m working on the gesture recognition project using the VL53L5CX 8x8 15Hz TOF sensor, following the exact setup from the tutorial.
Unfortunately, my self-trained model isn’t performing well—accuracy is inconsistent and unreliable. I suspect the issue lies with my data collection (either insufficient samples or inconsistent gesture execution).It would be greatly appreciated if you could share model files, datasets, or Edge Impulse project links.

1 Like

Hi @douhenhuid! I’ve got a few tips and suggestions for you to try:

  • If you’re trying to detect a static single gesture (rather than a continuous motion) think about how long each of the gestures you’re trying to detect are. Is your chosen Window Size (in Impulse Design) big enough to capture it?
  • If you’re doing continuous gestures- try playing with the window size to see if this yields better results.
  • The issue likely lies with your dataset not being big enough. There is no rule for how much data you need to collect unfortunately, but neural networks are generally only able to learn from what they’ve seen before- so you need to make sure your dataset has plenty of examples of each gesture, as well as an idle/background class that represents what your gesture isn’t, and that the data has the same amount of variation you might expect the model to see in real life. If you think about training a model that detects someone saying the word “machine”- if you only train it on one person’s voice it is unlikely to detect another person’s voice, but if you use a wide range of voices it will be much more reliable in the real world.
  • I’d start with doubling the amount of data in your project, making sure you’re holding some data in the “Testing” area too to make sure you can validate the model works before deploying.
  • Another useful tool you can use to see if you have dataset issues is the “Data Explorer”. It can be found in the Data Acquisition screen, and also at the training and processing steps. It gives you a visual representation of your dataset as the model sees it. If your data is nicely clustered together this means your dataset is well collected and has some patterns to detect. Data explorer - Edge Impulse Documentation

I reccomend trying out one of the end-to-end tutorials on key word spotting or gesture detection as a good way to get started:End-to-end tutorials - Edge Impulse Documentation

If you want to learn more about how to build a good dataset check out this book (free pdf) some of our team wrote. Chapter 7 is a great starter on some of the questions you may have: Edge AI - AI at the Edge eBook