 |
WiiLi.org a new revolution
|
| View previous topic :: View next topic |
| Author |
Message |
wic
Joined: 26 Mar 2007 Posts: 57 Location: Sweden
Digg It |
Posted: Thu Apr 26, 2007 8:27 am Post subject: |
|
|
| TiagoTiago wrote: | | wic wrote: | ...
I really think some kind of pre-processing of the acceleration data would help things, but I dont know what what could be.
... |
just plain smoothing out isn't doing it? |
I haven't tried any preprocessing at all. I'll give it a shot later today. |
|
| Back to top |
|
 |
wic
Joined: 26 Mar 2007 Posts: 57 Location: Sweden
Digg It |
Posted: Thu Apr 26, 2007 9:02 am Post subject: |
|
|
| mik wrote: | | Nice! So how to you decide which data you take? To you always take the last 200 inputs as a input sequence? So for each t you process all t, t-1,...,t-199 values? Or to you start your gestures by pressing a button? |
In my case a gesture is considered a guesture if the button is held down for a minimum amount of time. Note that I am only interesting in proving that a nn could be used for this. Detecting the beginning/end of a gesture is a problem of its own. At the moment I'm just padding the end of each gesture with zeros up to 200 points and hoping for the best. This could mean that the nn overclassifies the gesture from the length of it. The reason for using fixed 200 input is simply that the input layer (number of input neurons) must be fixed for all gestures in the network and 2 secs seemed like a sane limit, at least I dont see any gesture being longer than that.
I think most games uses buttons for detecting gestures (putting, bowling for instance). Compare this to Zelda:TP where you dont press any buttons and its more a matter of shaking and thrusting which is probably easier to detect.
| mik wrote: | | With that fixed kind of window, it might be an approach to always use the full 200 values by interpolating the values up when the gesture is to short, or down, if the gesture is to long. |
You raise a good point here that would be interesting to try. Just so I understand what you are suggesting: I should try to fit each gesture to 200 points even though it may be shorter or (not very likely) longer. Fitting can be implemented in several ways, where linear or cubic interpolation springs to mind. Any thoughts?
| mik wrote: | | I programmed some java stuff, that tries to find out if currently a gesture is performed or if it is just minimal jitter |
How did you fare and what was you approach?
| mik wrote: | | in which language are you coding? And are you using a specific machine learning toolkit. |
I'm using C/C++ in conjuction with the FANN library. Check it out, it has bindings for lots of languages. |
|
| Back to top |
|
 |
mik
Joined: 10 Jan 2007 Posts: 26
Digg It |
Posted: Mon Apr 30, 2007 8:31 am Post subject: |
|
|
| wic wrote: | | You raise a good point here that would be interesting to try. Just so I understand what you are suggesting: I should try to fit each gesture to 200 points even though it may be shorter or (not very likely) longer. Fitting can be implemented in several ways, where linear or cubic interpolation springs to mind. Any thoughts? |
Sorry, i don't have something specific in mind, but basically i would say that linear interpolation should already show an improvement. More fancy algorithms for normalising the speed will only refine the result, i guess.
| wic wrote: |
| mik wrote: | | I programmed some java stuff, that tries to find out if currently a gesture is performed or if it is just minimal jitter |
How did you fare and what was you approach?
|
This was pretty much trial and error: Smoothing the data, finding threshold levels and threshold times that will work when i am performing gestures, etc. Not very scientific i guess.
Basically i started recording when the smoothed acceleration of one axis exceeds a specific threshold. When it falls below the threshold i start a timer. If the acceleration stays below the threshold for a specific time, i stop the recording. If it exeeds the threshold again before time is up, i reset the timer, and continue the recording.
Also this doesn't allow for very slow gestures, it detects faster (i would say normal) gestures quite good. Also there are sometimes false positives, that have to been filtered out by the recognition. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|