android - Continuous gesture recognizion with DTW -


i try use dynamic time warping (dtw) detect gestures performed smartphone using accelerometer sensor. implemented simple dtw-algorithm.

so basicly comparing arrays of accelerometer-data (x,y,z) dtw. 1 array contains predefiend gesture, other should contain measured values. problem is, accelerometer-sensor measures continously new values , don't know when start comparison predefined value-sequence.

i need know when gesture starts , when ends, might different different gestures. in case supported gestures start , end @ same point, far know can't calculate traveled distance acceleration reliably.

so sum things up: how determine right time compare arrays using dtw?

thanks in advance!

the answer is, compare predefined gesture every subsequence. can in faster real time (see [a]).

you need z-normalize every subsequence, , z-normalize predefined gesture.

so, analogy, if stream was.....

now winter of our discontent, made glorious summer..  

and predefined word made, can compare every marked word beginning (denoted white space)

dtw(made,now) dtw(made,is) dtw(made,the) dtw(made,winter) 

etc

in case, don’t have makers, have this...

nowisthewinterofourdiscontentmadeglorioussummer..  

so test every offset

dtw(made,nowi) dtw(made, owis) dtw(made, wist) dtw(made, isth) :: dtw(made, tmad) dtw(made, made)   // success! 

eamonn

[a] https://www.youtube.com/watch?v=d_qlzmmuvqg


Comments

Popular posts from this blog

c# - Better 64-bit byte array hash -

webrtc - Which ICE candidate am I using and why? -

php - Zend Framework / Skeleton-Application / Composer install issue -