Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
service
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
Freenet DSL
Who's Online
20 user(s) are online (17 user(s) are browsing encyclopedia)

Members: 0
Guests: 20

more...
partner

Dynamic time warping

Dynamic time warping is a technique applied in automatic speech recognition to cope with different speaking speeds. In general, it is a method that allows to find an optimal match between two given sequences (e.g. time series) with certain restrictions, i.e. the sequences are warped non-linearly to match each other. This sequence alignment method is often used in the context of hidden Markov models.

A typical example of the restrictions imposed on the matching of the sequences are the following:

  • continuity (no large gaps in the sequences should occur, e.g. only one item of a sequence may be skipped)
  • monotonicity (the order of the elements in the sequence should not be inverted)
  • The optimization process is carried out using dynamic programming, hence the name.

    Interestingly, the extension of the problem for two-dimensional series like images (planar warping) is NP-complete, while the problem for one-dimensional signals like time series can be solved in polynomial time.

    = Example of the algorithm =

    int DTWDistance(char s[1..n], char t[1..m], int d[1..n,1..m]) { declare int DTW[0..n,0..m] declare int i, j, cost

    for i := 1 to m DTW[0,i] := infinity for i := 1 to n DTW[i,0] := infinity DTW[0,0] := 0

    for i := 1 to n for j := 1 to m cost:= d[s[i],t[j]] DTW[i,j] := minimum(DTW[i-1,j ] + cost, // insertion DTW[i ,j-1] + cost) // deletion DTW[i-1,j-1] + cost) // match

    return DTW[n,m] }

    = References =

  • C. S. Myers and L. R. Rabiner.A comparative study of several dynamic time-warping algorithms for connected word recognition. The Bell System Technical Journal, 60(7):1389-1409, September 1981.