Vous êtes sur la page 1sur 34

VQ. Algortmica de reconocimiento de voz VQ.1.

Reconocimiento de patrones
Por reconocimiento de patrones se entiende la realizacin de una comparacin entre una muestra representativa de la seal de voz, cuyas caractersticas se encuentran representadas en un determinado dominio paramtrico, con una seal incgnita de entrada que sea desea clasificar y que se encuentra representada en el mismo dominio de parmetros que la muestra. La anterior muestra representativa de la seal de voz ser denominada PATRN DE REFERENCIA; y al conjunto de representantes lo denominaremos conjunto de patrones de referencia. La seal de entrada a reconocer ser denominada patrn de test.

VQ.1

El procedimiento denominado Reconocimiento de patrones consistir, por tanto, en comparar: Patrn de test Conjunto de patrones de referencia

Cuando se dice que las caractersticas que un determinado patrn representa se encuentran expresadas en un determinado dominio, hacemos referencia a que, normalmente, los patrones se obtienen a partir de vectores de parmetros. Evidentemente, ser necesaria una uniformidad paramtrica en todo el conjunto de patrones de referencia, as como en los diferentes patrones de test que pretendamos reconocer.

VQ.2

Por CARACTERSTICA de una seal entenderemos algo medible de la seal de entrada que es til para el reconocimiento. As pues, podemos establecer la siguiente relacin: VOZ: Caracterstica Vectores de coeficientes (LPC, Cepstrum, MFCC, , ...) Patrn Secuencia temporal de vectores de coeficientes

VQ.3

El sistema de reconocimiento dispondr de una librera de patrones (conjunto de patrones de referencia), existiendo un patrn (o varios) para cada clase a reconocer. Proceso de reconocimiento: De esta forma, el proceso de reconocimiento consistir en la asignacin de un patrn desconocido a una de las clases en funcin de su parecido con los distintos patrones de referencia.

VQ.4

Veamos algunos ejemplos paradigmticos:

SISTEMA DE RECONOCIMIENTO Reconocimiento de palabras aisladas Reconocimiento de habla continua Reconocimiento de locutores Identificacin del lenguaje

CLASES Palabras Fonemas, difonemas, ... Locutores Idiomas

VQ.5

Medida de distancias: El parecido a travs del cul asignaremos un patrn de test a una clase de reconocimiento se determinar objetivamente mediante la medida de distancia entre el patrn de test y el patrn de referencia. De esta forma, el sistema completo de reconocimiento seguir una dinmica de funcionamiento distribuida en dos fases, a saber: 1. Aprendizaje o entrenamiento: obtencin de los patrones de referencia 2. Reconocimiento: asignacin de entradas desconocidas a las distintas clases

VQ.6

Problemtica del entrenamiento: La problemtica propia del proceso de entrenamiento se centra en la obtencin de suficiente nmero de muestras representativas de todas las clases a modelar. Este conjunto de muestras representativas (especialmente teniendo en cuenta que el entrenamiento es un proceso realizado normalmente off-line), se obtienen a partir de conjuntos de datos diseados al efecto, es decir, a partir de Bases de Datos. Objetivo de las bases de datos: El objetivo de las bases de datos ser el de recoger la mayor parte posible de la variabilidad existente en la realizacin (acstica) de las distintas clases a reconocer. Como vimos en su momento,
VQ.7

esto no siempre va a ser factible, puesto que la cantidad de datos necesaria y la evolucin temporal de los mismos limitan el objetivo perseguido. Problemas a resolver: 1. Diseo del contenido de la base de datos 2. Proceso de adquisicin (lgica y fsica) 3. Gran volumen de datos Gestin

VQ.8

Problemtica general de los sistemas de reconocimiento: Existen dos problemas fundamentales en el diseo de sistemas de reconocimiento. Estos problemas, intrnsecos a todo sistema, determinarn el modo concreto de afrontar el problema de reconocimiento. Asimismo, conducirn al diseador y/o al usuario a la eleccin de una determinada familia algortmica de reconocimiento para la resolucin del problema concreto planteado. Los problemas fundamentales citados sern: 1.- Seleccin y evaluacin de caractersticas 2.- Eleccin de una regla de decisin

VQ.9

VQ.1.1. Reglas de decisin y medida de distancias


El conjunto (infinito) de patrones posibles forma el espacio de caractersticas. Buscamos un mtodo de asignacin de patrones desconocidos (test) a un conjunto finito de patrones de referencia.
Espacio de caractersticas

Patrones de referencia

Patrn de test

VQ.10

Dado un vector desconocido ot, de dimensin m, y si suponemos los modelos i dados por: i ( i, Ri) donde i .- vector medio de los ot i Ri .- matriz de covarianza de los ot i la clase reconocida ser aquella que haga mxima la probabilidad de que ese vector de observacin pertenezca a dicha clase.

VQ.11

La evaluacin de dicha probabilidad equivale, por el criterio de mxima verosimilitud (maximum likelihood, ML) a minimizar la siguiente distancia: Di (ot) = (ot - i)T Ri-1 (ot - i) + ln Ri Medidas de distancias simplificadas: 1.- Distancia de Mahalanobis: suponemos Ri = R para todo i, con lo que slo tenemos que calcular una nica matriz de covarianza. Di (ot) = (ot - i)T R-1 (ot - i)

VQ.12

2.- Distancia eucldea ponderada: si adems suponemos que los coeficientes del vector de caractersticas estn incorrelados (LPCC, MFCC), la matriz de covarianza ser diagonal y la distancia a minimizar ser:
ot i j D i (ot ) = j j j =1
m

2 2 2 , R = diag 1 , 2 , ..., m

3.- Distancia eucldea: si suponemos tambin que todos los coeficientes del vector de caractersticas tienen varianzas iguales:
m

D i (ot ) = ot j i j
j =1

)2

(la distancia eucldea, tal y como la usamos normalmente, es la raz cuadrada de este valor)
VQ.13

VQ.2. Sistemas de reconocimiento basados en Cuantificacion Vectorial (VQ)


Los sistemas de reconocimiento basados en Cuantificacin Vectorial (Vector Quantization, VQ) hacen uso de las ventajas tericas formuladas en la Teora de la Informacin de Shannon, que establece que la cuantificacin escalar es sub-ptima frente a la vectorial; por consiguiente, se trata de cuantificar una seal de entrada mediante la asignacin de un vector representativo de la misma. As, para una trama de seal dada, que puede tomar infinitos valores de entrada (pensemos, p. e., en un VQ de forma de onda) le asignaremos un vector (trama) representativo de entre un conjunto finito posible.

VQ.14

Al vector representativo lo denominaremos codeword (o centroide), y al conjunto finito completo lo denominaremos codebook (libro de cdigos o muestrario).

VQ.15

Como se observa en la grfica anterior, el espacio de representacin debe estar dividido en regiones, donde existir un centroide representativo de cada una de stas. La figura siguiente muestra una posible divisin de un espacio bidimensional en regiones:

VQ.16

Ventajas de la representacin VQ 1. 2. 3. Reduccin drstica de la capacidad de almacenamiento para obtener la Reduccin de la complejidad computacional en el clculo de distancias. Representacin discreta de los sonidos de voz.

informacin del anlisis espectral.

Desventajas de la representacin VQ 1. 2. Introducimos una distorsin espectral al representar cada vector espectral En diseos prcticos hay que obtener un balance entre tres factores:
VQ.17

por un representante de entre los del codebook (error de cuantificacin).

(a) Error de cuantificacin (o distorsin espectral): disminuye si aumentamos el tamao del codebook (b) Eleccin del vector mas prximo: la complejidad del clculo aumenta con el tamao del codebook (c) Almacenamiento del codebook: en sistemas reales, si aumentamos el tamao del codebook podemos tener problemas de almacenamiento. Ejemplo: VQ, 1024 centroides, 16 bits, 10 coeficientes/vector

160 bits/centr. = 20 bytes/centr.


Total: 20 x 1024 = 20 KBytes/VQ

VQ.18

VQ.2.1. Elementos de un reconocedor VQ


El reconocedor basado en Cuantificacin Vectorial sigue un funcionamiento esquemtico como el que se muestra a continuacin:

d(,)

Conjunto de vectores de entrenamiento {o1, o2, .. , oT}

Algoritmo de agrupamiento (K-means)

Codebook N=2B vectores


d(,)

Vectores de voz de entrada

Cuantificador VQ

ndices del codebook

VQ.19

En la figura anterior es posible diferenciar una serie de etapas que pasamos a describir a continuacin:

1.- Vectores de entrenamiento: con un conjunto suficientemente grande de


vectores de entrenamiento creamos el codebook. Si N=2B (N, tamao del codebook, y B, nmero de bits necesario para representar cada centroide), entonces T (duracin de la secuencia de entrenamiento) debe ser mucho mayor que N (al menos T > 10N ).

2.- Medida de similitud, o distancia: se suele usar por simplicidad la


distancia eucldea (tambin la de Mahalanobis)

VQ.20

3.- Algoritmo de agrupamiento en clases: procedimiento de clculo de los


centroides para construir el codebook: K-means, binary splitting, ...

4.- Procedimiento de asignacin de vectores arbitrarios al centroide ms


prximo (bsqueda del ms prximo -nearest-neighbour-, bsqueda en rbol -tree-search-, etc.).

VQ.21

VQ.2.2. El conjunto de entrenamiento del VQ


Para entrenar de forma adecuada el codebook del VQ, la base de datos de entrenamiento debe incluir suficiente variabilidad en los siguientes aspectos:

Nmero de locutores, incluyendo suficiente variabilidad intralocutor en


aspectos como edad, acento, gnero, velocidad de habla, ...

Condiciones de habla: silencio, ambiente de oficina, coche, ... Distintos transductores y sistemas de transmisin: micrfonos, ancho de
banda, tipos de canal (telefnico, reverberacin, ...)

Unidades de habla: vocabularios especficos, habla conversacional, ...

VQ.22

En la prctica tenemos dos posibilidades: 1. Bases de datos especficas para cada tarea: este es el caso ms

generalizado y realista. 2. Aplicacin de tcnicas de robustez: grabamos una base de datos

estndar y mediante procedimientos robustos podemos trabajar en cualquier entorno:

Variabilidad de ruido (tipos, niveles, ...) Variabilidad de canal Estado de nimo Otros

VQ.23

VQ.2.3. Agrupacin de los vectores de entrenamiento (clustering)


VQ.2.3.1. Algoritmo de Lloyd generalizado, o K-means Consta de cuatro etapas:

1.- Inicializacin: seleccin de N vectores como los centroides iniciales del


codebook. Hay varias posibilidades: seleccin aleatoria, segmentacin inicial en N tramos iguales con seleccin aleatoria, dem con seleccin promedio, etc.

2.- Bsqueda NN (nearest-neighbour): para cada vector de entrenamiento,


buscaremos el centroide ms prximo, y asociaremos dicho vector a la clase correspondiente representada por el centroide.
VQ.24

3.- Actualizacin de centroides: con los vectores asociados a cada clase,


calculamos el nuevo centroide que represente mejor a los elementos de esa clase

4.- Iteracin: repetimos los pasos (2) y (3) hasta que la distancia promedio
(distorsin) caiga por debajo de un umbral predeterminado, o hasta que no haya nuevas reasignaciones de vectores a las clases.

VQ.25

La figura siguiente muestra un ejemplo de divisin en regiones y clculo de los centroides ptimos representativos para un caso de espacio bidimensional y asignacin aleatoria inicial de los centroides:

VQ.26

VQ.2.3.2. Algoritmo de divisin binaria sucesiva (binary splitting) 1.- Diseo un codebook de tamao 1 (orden 0): el centroide nico es el representante de todos los vectores de entrenamiento. 2.- Doblamos el tamao del codebook dividiendo cada centroide yn en dos, aadindole a ste una pequea perturbacin , de acuerdo con: yn+ = yn (1 + ) 0.01 0.05 yn- = yn (1 - ) 3.- Mediante k-means, obtenemos el mejor codebook de este tamao. 4.- Volvemos al paso (2) hasta que se alcance el tamao del codebook buscado.
VQ.27

La figura siguiente muestra el proceso de divisin sucesiva para un VQ de orden 0, divisin de ste y ajuste de los centroides de orden 1, divisin de stos y ajuste de los centroides de orden 2 y, por ltimo, divisin de stos en 8 centroides:

VQ.28

VQ.2.4. Procedimiento de clasificacin de vectores


Si definimos previamente los siguientes parmetros:

N .- tamao del codebook


yn .- centroides del codebook, n = 1, ... , N ot .- vector de entrada en el instante, t = 1, ..., T entonces el ndice k de clase reconocida vendr dado por la expresin:

k = arg min d( ot , yn )
1 n N con el algoritmo de clculo de distancia que se haya seleccionado previamente.

VQ.29

VQ.2.5. Cuantificacin vectorial de F1 y F2 en sonidos voclicos


La siguiente figura muestra la distribucin de un VQ de 32 centroides (orden 5) respecto a los sonidos voclicos del idioma ingls, en una distribucin bidimensional F1 (kHz.) F2 (kHz.):

VQ.30

VQ.2.6. Distorsin de un VQ
Se denomina distorsin de un VQ a la distancia acumulada de un patrn de

test respecto sus centroides representativos. La figura muestra la distorsin de tramos sonoros y sordos en funcin del orden del VQ:

VQ.31

VQ.2.6. Extensiones del VQ bsico


Existen mltiples ampliaciones de las ideas originales del VQ. Entre ellas, destacaremos las siguientes:

Uso

de

mltiples

codebooks,

creados

de

forma

separada

independiente, para cada una de las distintas representaciones de la seal de voz (Ej.: si usamos coeficientes cepstrum y -cepstrum, usaramos un codebook independiente para cada uno de ellos)

rboles de bsqueda binaria: con esto reducimos el proceso de


asignacin de vectores de realizar N bsquedas a hacer slo log2N. La generacin del codebook se realiza diseando un codebook ptimo de tamao 2, asignando cada vector a una de las dos celdas. A partir de ah

VQ.32

se hace splitting pero sin reestimacin, con lo que ningn vector se puede salir de la celda asignada en el paso anterior de cada divisin, guardando los codebooks intermedios para el proceso de bsqueda.

Cdigos de Trellis, en los que las dependencias temporales entre las


diversas entradas al codebook se determinan de forma explcita en la fase de entrenamiento. La idea es que cuando el vector de entrada ot se cuantifica con el vector yk , el vector ot+1 se cuantificar slo con un subconjunto limitado de entradas al codebook relacionadas con yk por unas restricciones aprendidas, con lo que se reduce el clculo en la codificacin de entrada.

VQ.33

Modelos ocultos de Markov (HMM), en los que tanto las restricciones


temporales como espectrales son usadas para cuantificar una pronunciacin completa de habla.

VQ.34

Vous aimerez peut-être aussi