Dynamic time warpingDynamic time warping
is a technique applied in automatic speech recognition
to cope with different speaking velocities. 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 inversed)
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.