[ Prev ] [ Index ] [ Next ]
[ Index ]
Sign in

Gesture recognition

Created Thursday 09 November 2023

My idea is to create tiny gesture recognition modules that can be easily used with Arduino, provide reliable readings and do not require any libraries. But how to achieve best gesture recognition ratio using APDS9960 or similar infrared gesture sensors? I've tested several approaches, and finally created an algorithm with nearly unbeatable recognition performance.

Here are aprroaches I've tested:

  • Waveform analysis using state machine - ok, but not very robust (described here)
  • Pattern recognition - much better, but requires more RAM
  • Pattern recognition with histogram self-calibration - the best, under development

There are many approaches to pattern recognition. My approach is basically projects four photodiodes amplitude vector waveforms (a1,a2,a3,a4) to other dimensions:

  • Speed and angle for linear gestures (a1,a2,a3,a4) → (spd, angle)
  • Polar angle for rotary gestures: (a1,a2,a3,a4) → (phi)
  • 3D position for fingertip tracking: (a1,a2,a3,a4) → (x, y, z) - under development

YouTube channel