I'm currently working on a rudimentary motion detection routine. I couldn't find any previous work about the subject, all people do currently reading buttons, using ir or the most advanced using the accelerometer readings to manipulate something on screen.
Is there such a work? Maybe I have overlooked.
Unlike motion detection used in games my aim is to create a motion detection routine that captures and recognizes gestures made with wiimote. Before doing that user will give samples of the gesture and hence train the program like simple speech recognition and handwriting recognition.
My current implementation works like this.
Sample collection
-------------------------
1. Capture g-force readings for each axis (x,y,z) for the period of the sample (I determine the sampling window with the press and release of a button)
2. Process the readings. I'm doing fourier transform on the collected data for each axis.
3. Store the processed data
Recognition
------------------------
1. Do 1,2 on the sample collection step
2. Compare the difference of the current sample with the collected samples for each axis and find the least differing (should be below some threshold) sample . Also check for the length of the actual data collected and ensure that it's not below or above some percentage of the current sample's length.
If enough gestures sampled it works quite nice detecting the gestures but of course sometimes two similar gestures are mixed by the routine due to various reasons...
So my questions are,
1. How many readings per second should I make to define a gesture? Currently reading for each frame of the video... 50 times a second for PAL.
2. Do you think g-force readings are enough to recognize such motion gestures?
Any suggestions regarding the routine?