Está en la página 1de 26

DTW.

Alineamiento Temporal Dinmico (DTW)


El Alineamiento Temporal Dinmico (Dynamic Time Warping, DTW), es una tcnica surgida de la problemtica inherente a diferentes realizaciones de una misma locucin, en las que se observa una variabilidad interna en la duracin de los grupos fnicos que la forman, de modo que no existe una sincronizacin temporal (alineamiento temporal). Adems, esta falta de alineamiento no obedece a una ley fija (p. e., un retardo constante), sino que se da de forma heterognea, producindose as variaciones localizadas que aumentan o disminuyen la duracin del tramo de anlisis. La problemtica asociada hace referencia a la dificultad aadida en el proceso de medida de distancia entre patrones, puesto que se estarn comparando tramos que pueden corresponder a unidades fnicas distintas. Ser necesario alinear 1

DTW.1

temporalmente la locucin para proceder a realizar una medida de distancia entre patrones cuyo nuevo eje temporal haya homogeneizado las variaciones iniciales. La figura siguiente muestra dos realizaciones de la misma locucin (contorno de energa localizada) antes y despus de ser alineadas:

DTW.2

Alineamiento temporal (temporal warping): en este proceso, el eje temporal de la seal de test se comprime y expande de forma no lineal para alinear los vectores de caractersticas entre patrn y test.

DTW.3

Fruto del proceso de alineamiento, surge lo que se conoce como camino de alineamiento. Las figuras siguientes muestran de forma simplificada (izqda.) y de forma real (drcha.) dos posibles caminos de alineamiento entre realizaciones

DTW.4

De forma genrica, podemos presentar la funcin de alineamiento a travs de una representacin del tipo siguiente:

DTW.5

La figura muestra dos realizaciones desalineadas, la funcin de alineamiento correspondiente y el efecto de alineamiento sobre las locuciones anteriores:

DTW.6

En esta otra figura, se observa con detalle el alineamiento entre dos locuciones, haciendo hincapi en la correspondencia precisa entre los dos mximos relativos encontrados en las mismas:

DTW.7

Si observamos la funcin de alineamiento en detalle, tendremos que:


j j Patrn B 5 4 3 2 1
1 2 1 2 1 2 1 2 1 2 ... ... ... ... ... p p p p p

Vectores de caractersticas

1 2 ... p

1 2 ... p

1 2 ... p

1 2 ... p

1 2 ... p

i Patrn A i

si la funcin de alineamiento pasa por (i,j), comparamos el vector i de A con la j de B.


DTW.8

DTW.1. Clculo de la funcin de alineamiento


Nuestro problema consistir en encontrar la funcin de alineamiento a partir de los dos vectores de caractersticas (patrones) A y B. Si tenemos: A = { a1, a2, .. , ai, .. , aM } B = { b1, b2, .. , bj, .. , aN } Llamando C a la funcin de alineamiento: C = { c(1), c(2), .. , c(k), .. , c(K) } donde c(k) es un par de punteros a los elementos a comparar:
DTW.9

c(k) = [ i(k), j(k) ] Para cada c(k) tenemos una funcin de coste: d { c(k) } = ( ai(k), bj(k) ) que refleja la discrepancia entre los elementos comparados. Una funcin de coste tpica es la distancia eucldea: d { c(k) } = ( ai(k) - bj(k) )2

DTW.10

10

la funcin de alineamiento ser aquella que minimice la funcin de coste total:


K

D( C ) = d {c( k )}
k =1

Las LIMITACIONES que debe cumplir dicha funcin sern:


1.- La funcin de alineamiento debe ser montona creciente: i(k) i(k-1) y j(k) j(k-1)

2.- La f. debe alinear los puntos finales de A y B: i(1) = j(1) = 1 y i(K) = M, j(K) = N

DTW.11

11

3.- La f. debe cumplir unos lmites locales, como los siguientes:

DTW.12

12

Estos lmites locales dan lugar a la denominada restriccin de pendiente. A continuacin se muestra un caso particular:

DTW.13

13

4.- Generalmente existe algn tipo de lmite global en la mxima cantidad de alineamiento. Esto se puede expresar comoi(k) - j(k)<Q, lo que da lugar a una restriccin denominada de ventana o rombo, siendo Q el ancho de la ventana:

DTW.14

14

DTW.2. El algoritmo de Programacin Dinmica


El problema de calcular la funcin de alineamiento se resuelve mediante tcnicas de programacin dinmica, motivo por el que se conoce a esta tcnica como alineamiento temporal dinmico. Una posible idea para la resolucin del problema estribara en el clculo de D(C) por todos los caminos posibles, eligiendo posteriormente el de coste mnimo, si bien esto resulta impracticable a efectos de clculo.

DTW.15

15

La figura siguiente muestra la multiplicidad posible para la funcin de alineamiento para unos determinados lmites locales y una restriccin de ventana dada:

DTW.16

16

La programacin dinmica nos dice que el mejor camino entre (1,1) y cualquier punto (i,j) es independiente de lo que suceda mas all de este punto. Por tanto, el coste total del punto [i(k),j(k)] es el propio de este punto ms el camino ms barato hasta l: D (Ck) = d { c(k) } + min { D (Ck-1) } legal c(k-1) donde legal c(k-1) representa todos los predecesores permitidos de c(k). Sin embargo, por la limitacin local tenemos un conjunto muy limitado de predecesores posibles.
DTW.17

17

Podemos resumir el algoritmo de programacin dinmica como: 1.- Inicializacin D (C1) = d { c(1) } 2.- Recorremos el ndice i: para cada i desde i=1 hasta i=M para cada j permitido Calculo y guardo la distancia acumulada segn (dtw.1) y la posicin del predecesor fin para j fin para i

DTW.18

18

3.- Final d (A,B) = D ( CK ) / K c(K) = [i(M),j(N)]

Para implementar el algoritmo slo necesito disponer de dos arrays adicionales:

Uno de tamao M x N para guardar el predecesor de cada punto Otro de tamao 2 x N para guardar los costes acumulados de la columna
anterior y los de la presente, actualizndolos en cada paso de i

DTW.19

19

Si representamos grficamente el predecesor de cada punto y recorremos hacia atrs (backtracking) desde el punto final (M,N) hasta el inicial (1,1) obtenemos el camino de alineamiento.

fig. 11.5, pag 301, VSP

DTW.20

20

DTW.3. Extensiones del DTW


El hecho de exigir que el camino de alineamiento comience en (1,1) y termine en (M,N) hace muy dependiente al sistema de la deteccin de voz previa al sistema de reconocimiento, por lo que podremos relajar las restricciones de punto inicial y final. La figura muestra una restriccin inicial de 5 tramas y una final de 9:

DTW.21

21

Ejemplo de clculo: Dada la siguiente tabla de distancias entre las seis tramas correspondientes al patrn de test (i) y al patrn de referencia (j): Tabla de d( i, j ) 6 5 j 4 3 2 1 3.2 3.8 2.3 2.1 1.9 1.5 1 2.5 2.1 2.5 1.2 1.1 1.6 2 3.9 3.0 2.6 2.0 1.3 3.3 3 i
DTW.22

2.2 1.3 1.4 2.2 1.2 3.9 4

2.1 1.1 2.7 1.4 2.8 3.3 5

2.6 1.7 2.1 3.0 3.1 3.6 6

22

Considrense dos posibles restricciones locales, a saber:

(a)

(b)

DTW.23

23

Calcular: 1) La distancia total y el camino de alineamiento comenzando en (1,1) y

terminando en (6,6) 2) dem, comenzando en (1,1), (1,2) (1,3) y terminando en (6,4), (6,5)

(6,6)

DTW.24

24

Hoja de clculo para el ejemplo: Caso 1): 1 2 3 4 5 6 1 2 3 4 5 6

DTW.25

25

Caso 2): 1 2 3 4 5 6 1 2 3 4 5 6

DTW.26

26

También podría gustarte