You are on page 1of 17

Reconocimiento Automtico de Voz

Reconocimiento Automtico de Voz


basado en Tcnicas de
basado en Tcnicas de
Comparacin de Patrones
Comparacin de Patrones
Presentacin basada en las siguientes Referencias:
[1] Rabiner, L. & J uang, B-H.. Fundamentals of Speech Recognition, Prentice Hall,
N.J ., 1993.
[2] Rabiner, L. & J uang, B-H.. Speech Recognition by Machine, Chap. 47 in The
Digital Signal Processing Handbook, CRC Press, IEEE Press, 1998.
Juan Carlos Gmez
ProDiVoz Reconocimiento Automtico de Voz 2
Reconocimiento basado en Comparacin de Patrones
Reconocimiento basado en Comparacin de Patrones Reconocimiento basado en Comparacin de Patrones
La tcnica de reconocimiento consiste bsicamente en dos pasos:
Primer Paso: Primer Paso: entrenamiento de patrones
Segundo Paso: Segundo Paso: comparacin de patrones
La caracterstica principal de este enfoque es que usa un marco
matemtico bien definido y que establece representaciones consis-
tentesde los patrones de voz que pueden usarse para comparaciones
confiables a partir de un conjunto de muestras rotuladas, usando
algoritmos de entrenamiento. La representacin de los patrones de
voz puede ser una plantilla plantilla (template), o un modelo estadstico modelo estadstico
(HMM: Hidden Markov Model), que puede aplicarse a un sonido
(ms pequeo que una palabra), una palabra, o una frase.
ProDiVoz Reconocimiento Automtico de Voz 3
Anlisis
de Voz
Entrenamiento
Modelos o
Templates
Comparacin
de patrones
Lgica de
Decisin
Reconocimiento
Entrenamiento
Seal de Voz
Palabra
reconocida
Fig. 1: Reconocimiento de Voz basado en Comparacin de Patrones.
El esquema general est representado en Fig. 1
ProDiVoz Reconocimiento Automtico de Voz 4
Entrenamiento de patrones Entrenamiento de patrones
En esta etapa se construye un patrn de referencia asociado a cada
palabra (o sub-unidad de palabra) que se quiere reconocer, basn-
dose en los vectores caractersticos de todas las palabras usadas para
el entrenamiento. Hay varias formas en que puede realizarse el
entrenamiento.
1. Entrenamiento casual: un nico patrn de sonido es usado para
crear el patrn de referencia correspondiente o un modelo esta-
dstico aproximado.
2. Entrenamiento robusto: se utilizan varias versiones de cada
palabra o sonido a reconocer (generalmente provenientes de un
slo locutor) para construir un patrn de referencia promedio o un
modelo estadstico promedio.
3. Entrenamiento por clustering: se utiliza un gran nmero de
versiones de cada palabra o sonido (provenientes de un gran
nmero de locutores) para construir patrones de referencia o
modelos estadsticos ms confiables.
ProDiVoz Reconocimiento Automtico de Voz 5
En la etapa de comparacin de patrones se realiza una comparacin
directa entre el vector caracterstico asociado a la seal de voz
desconocida (a reconocer) y todos los posibles patrones aprendidos
en la etapa de entrenamiento, de manera de determinar el mejor
ajuste de acuerdo a algn criterio. Surge la necesidad de definir una
medida de similaridad (distancia) medida de similaridad (distancia) entre vectores caractersticos
que permita determinar cul es el patrn de referencia que mejor se
ajusta a la seal a reconocer.
En general, debido a que una misma palabra es emitida con
diferentes velocidades cada vez que es pronunciada, para poder
realizar la comparacin es necesaria una normalizacin temporal, normalizacin temporal,
previa ala extraccin de caracterstica. El enfoque ms simple sera
una transformacin lineal del eje tiempo, pero esto no es realista y
en la prctica se recurre a tcnicas de programacin dinmica
(Dynamic Time Warping Dynamic Time Warping).
Comparacin de patrones Comparacin de patrones
ProDiVoz Reconocimiento Automtico de Voz 6
Medidas de Distancia ( Distorsin) Medidas de Distancia ( Distorsin)
Una caracterstica fundamental de los sistemas de reconoci-
miento (de palabra o de locutor) con el enfoque de comparacin
de patrones es la forma en que los vectores caractersticos son
combinados y comparados con los patrones de referencia.
Para poder realizar estas operaciones es necesario definir una
medida de distancia medida de distancia entre vectores caractersticos.
Definicin: Definicin: Una distancia entre dos vectores x e y de un
espacio vectorial X es una funcin a valores reales d(x, y) sobre el
producto Cartesiano , que verifica las propiedades
X X
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( ) ( ) X d d d
X d d
d X d
+
=
= = <
z y x z y z x y x
y x x y y x
y x y x y x y x
, , , , , , c
, , , , b
si solo y si 0 , y , , , , 0 a
ProDiVoz Reconocimiento Automtico de Voz 7
Algunas de las medidas de distancia ms utilizadas son las
distancias o mtricas inducidas por las normas en espacios mtricas inducidas por las normas en espacios .
Por ejemplo, si son las componentes
de dos vectores caractersticos , pueden definirse las
siguientes mtricas inducidas por las normas
D i f f
i i
, , 2 , 1 con ,
'
L =
y
'
f f
p
L
p
L
( )

=
=

D
i
i i
f f f f d
1
'
1
,
distancia distancia
1
L
( ) ( )

=
=

D
i
i i
f f f f d
1
2
'
2
, distancia Euclidea distancia Euclidea (o )
2
L
ProDiVoz Reconocimiento Automtico de Voz 8
Una medida de distancia muy utilizada cuando se emplean como
caracterstica los coeficientes cepstral, y que ha probado tener una
muy buena performance en tareas de reconocimiento, es la
distancia Euclidea ponderada distancia Euclidea ponderada, definida como
( ) ( ) ( )

=
=

D
i
i i i w
c c w c c d
1
2
'
2
,
donde
i
i
w

1
=
siendo una estima de la varianza del i-simo coeficiente
cepstral . Aqu, los datos que son menos confiables (con
mayor varianza o dispersin) son pesados menos.
2
i

i
c
ProDiVoz Reconocimiento Automtico de Voz 9
Cuando se utiliza el power cepstrum power cepstrumcomo vector caracterstico,
a la distancia en L
2
se la denominadistancia cepstral. distancia cepstral. Teniendo
en cuenta la identidad de Parseval, resulta
( ) ( ) ( ) ( ) ( ) ( )

=

= =

d X X c c c c d
m
m m
2
2 2 2
'
ceps
ln ln
2
1
,
En la prctica, slo se computa un nmero finito Q de coefi-
cientes power cepstral power cepstral, resultando , resultando
( ) ( )

Q
m
m m
c c c c d
1
2
'
ceps
,
ProDiVoz Reconocimiento Automtico de Voz 10
Distancia de Mahalanobis Distancia de Mahalanobis
Cuando el vector caracterstico no es homogneo, en el sentido de
que est compuesto por caractersticas de distinta naturaleza, puede
suceder que las distintas componentes estn en distintas escalas. Al
usar la norma Euclidea, o la norma 1, para calcular la distanciaentre
vectores, las componentes en las escalas mas pequeas casi no
tendrn influencia en el valor de la distancia, a pesar de que esas
componentes puedan diferir mucho. Surge entonces la necesidad de
usar distancias normalizadas. Una posible forma de normalizar la
distancia entre un vector x y la media del conjunto de vectores al
cual pertenece x, parael caso escalar, es definiendo


=
x
r
donde es el desvio estndar del conjunto de vectores, y r es la
distancia normalizada.
(1)
ProDiVoz Reconocimiento Automtico de Voz 11
De esta forma un vector que est separado un desvio standard de
la media, estar a una distancia normalizada igual a 1 (indepen-
dientemente de las unidades en que se mida la distancia).
Esta idea se puede generalizar para el caso de un vector de dimen-
sin d, definiendo
2 2
2
2 2
2
1
1 1
2


+ +


=
d
d d
x x x
r


L
Esta definicin tiene sentido si cada componente del vector carac-
terstico mide propiedades independientes del patrn a reconocer.
Considerando la expresin (1) para el caso escalar, la distancia
normalizada puede escribirse
ProDiVoz Reconocimiento Automtico de Voz 12
( ) ( )

= x x r
T
2
2
1
donde
2
es la varianza del conjunto de vectores, que para el caso
multidimensional resulta
( ) ( ) =

x x r
T
1 2
donde es la matriz de covarianza del conjunto de vectores.
Esta formulacin de la distancia es ms general ya que tiene en
cuenta la interaccin entre coeficientes a traves de la matriz de
covarianza y se la denominada Distancia de Mahalanobis Distancia de Mahalanobis.
ProDiVoz Reconocimiento Automtico de Voz 13
x : vector caracterstico asociado a la palabra a reconocer
( )( )
T
j
e
kj
N
k
j
e
kj
j
j
x x
N
j

=

=1
1
1
Matriz de Covarianza (mues-
tral) de los vectores de entre-
namiento
e
kj
x
( ) ( ) ( )
j j
T
j j M
x x x d =
1
,

=
=
j
N
k
e
kj
j
j
x
N
1
1

donde
Media (muestral) de los vectores
de entrenamiento
e
kj
x
Si se tienen N
j
vectores de entrenamiento para cada una de las M
palabras del vocabulario, la distancia de Mahalanobis distancia de Mahalanobis entre un
vector a reconocer x, y el vector patrn representativo de la palabra j,
resulta
ProDiVoz Reconocimiento Automtico de Voz 14
Clasificador de Mnima Distancia Clasificador de Mnima Distancia
Denotemos con
1
,
2
, ...,
M
a los vectorespromedio repre-
sentativos de los patrones 1, 2, ..., M, respectivamente, obtenidos
computando la media muestral de los datos de entrenamiento
correspondientes a cada palabra en el vocabulario. Es decir

=
=
j
N
k
e
kj
j
j
x
N
1
1

j=1, 2, ..., M
Donde es el conjunto de datos de entrenamientode
la palabra j del vocabulario.
{ }
j
N
k
e
kj
x
1 =
La Fig. 2, representa los datos de entrenamiento agrupados en
clusters para el caso de vectores caractersticos de dimensin 3.
ProDiVoz Reconocimiento Automtico de Voz 15

3
x
Fig. 2: Datos de entrenamiento agrupa-
dos en clusters correspondientes a las
distintas clases o palabras del vocabu-
lario.
Una manera obvia de clasificar (reconocer) una nueva palabra x es
computar la distancia de x a cada uno de los patrones
1
,
2
, ...,

M
yasignar a x la palabra del vocabulario cuyo patrn est a la
mnima distancia. Por este motivo este clasificador (reconocedor)
se denomina de mnima distancia mnima distancia.
ProDiVoz Reconocimiento Automtico de Voz 16
Distancia
Distancia
Distancia
M
Selector
de
Mnimo
1

x
Palabra
reconocida
( )
1
, x d
( )
2
, x d
( )
M
x d ,
Figura 3: Diagrama en bloques de un clasificador de mnima distancia.
ProDiVoz Reconocimiento Automtico de Voz 17
La primera etapa en el procesamiento (que es comn a todos los
enfoques de reconocimiento) es la etapa de anlisis de voz y
extraccin de caracterstica. Se computa una representacin
(espectral) de las caractersticas inestacionarias de la seal de voz.
Estas medidas espectrales se convierten luego en un conjunto de
parmetros que describen la propiedades acsticas de las unidades
fonticas. Estos parmetros pueden ser: nasalidad (presencia o
ausencia de resonancia nasal), fricacin (presencia o ausencia de
excitacin aleatoria en la voz), ubicacin de los formantes
(frecuencias de las 3 primeras resonancias), clasificacin entre
sonidos tonales y no tonales, coeficientes cepstral coeficientes cepstral, energa de la
seal, etc.
Los mtodos ms comunes en esta etapa son anlisis con Banco de anlisis con Banco de
Filtros Filtros y y Anlisis LPC (Linear Anlisis LPC (Linear Predictive Coding Predictive Coding) ). .
Etapa de Anlisis de Voz (Extraccin de Caracterstica) Etapa de Anlisis de Voz (Extraccin de Caracterstica)
ProDiVoz Reconocimiento Automtico de Voz 18
Anlisis LPC Anlisis LPC
El anlisis con modelos LPC es el ms usado en la primera etapa de
procesamiento de los sistemas de reconocimiento de voz, principal-
mente debido a que :
los modelos LPC proveen una buena representacin de la seal
de voz, especialmente cuando se trata de sonidos tonales.
los modelos LPC proveen una buena separacin entre la
excitacin y el modelo del tracto vocal, permitiendo una
representacin simple.
los modelos LPC son simples, matemticamente precisos y
relativamente fciles de implementar tanto en software como
en hardware. La carga computacional es menor que la que
requerira la implementacin de procesamiento usando banco
de filtros.
la experiencia muestra que los modelos LPC funcionan bien en
tareas de reconocimiento.
ProDiVoz Reconocimiento Automtico de Voz 19
Seal de Seal de
Voz Voz
s(n)
Anlisis Anlisis
LPC LPC
Divisin Divisin
en en Cuadros Cuadros
Conversin de Conversin de
Parmetros Parmetros
LPC LPC
N M N M
Enventanado Enventanado
w(n) w(n)
Las tareas de procesamiento involucradas en el Anlisis LPC se
representan en la Fig. 2.
Fig. 2: Anlisis LPC
x
t
(n)
( ) n x
t
~
( ) m a
t
( ) m c
t
Coeficientes Cepstral
Coeficientes LPC
Pre Pre- -nfasis nfasis
x(n)
ProDiVoz Reconocimiento Automtico de Voz 20
Pre Pre- -nfasis nfasis
Para hacer menos sensible al sistema a los efectos de cuantizacin
por longitud finita de palabra, se pasa a la seal de entrada por un
filtro de bajo orden (tpicamente un filtro FIR de primer orden) de
manera de aplanar aplanar su espectro.
Un filtro de pre-nfasis tpico es
0 . 1 9 . 0 , 1 ) (
1
=

a az z H
Un valor muy usado de a es 0.95 (para implementaciones en
punto fijo se suele utilizar a =15/16 =0.9375).
ProDiVoz Reconocimiento Automtico de Voz 21
-30
-20
-10
0
10
M
a
g
n
i
t
u
d
e

(
d
B
)
10
-3
10
-2
10
-1
10
0
10
1
0
30
60
90
P
h
a
s
e

(
d
e
g
)
Bode Diagram
Frequency (rad/sec)
Fig. 3: Respuesta en frecuencia del filtro de pre-nfasis
ProDiVoz Reconocimiento Automtico de Voz 22
Divisin en cuadros Divisin en cuadros
La seal de voz es dividida en cuadros (frames) de duracin entre 10
y 30 mseg donde se asume que la seal es cuasi-estacionaria. El
nmero de muestras por cuadro es N , y cuadros adyacentes estn
separados M muestras. Existe entonces un solapamiento de N M
muestras entre cuadros adyacentes. Se logra con esto que los
coeficientes LPC tengan una transicin suave entre un cuadro y el
siguiente. La Fig. 4 esquematiza este procesamiento.
Valores tpicos para N y M son 240 y 80 para una frecuencia de
muestreo de 8 KHz. Esto resulta en cuadros de 30 mseg. de
duracin, separados 10 mseg., lo que equivale a una tasa de cuadro
de 100 Hz.
ProDiVoz Reconocimiento Automtico de Voz 23
Fig. 4: Divisin en cuadros
ProDiVoz Reconocimiento Automtico de Voz 24
Enventanado Enventanado
Cada cuadro es pasado por un ventana para minimizar las disconti-
nuidades de la seal al principio y al final de cada cuadro. La seal
resultante es
( ) ( ) ( ) 1 0 ,
~
= N n n w n x n x
t t
Una ventana ampliamente utilizada en sistemas de reconocimiento
de voz es la ventana de Hamming.
( ) 1 0 ,
1
2
cos 46 . 0 54 . 0

= N n
N
n
n w

ProDiVoz Reconocimiento Automtico de Voz 25
Fig. 5: Ventana de Hamming
0 5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
n
w
(
n
)
ProDiVoz Reconocimiento Automtico de Voz 26
-3 -2 -1 0 1 2 3
0
2
4
6
8
10
12
14
16
18
w
|
W
(
w
)
|
Fig. 6: Espectro de la Ventana de Hamming
ProDiVoz Reconocimiento Automtico de Voz 27
Anlisis LPC Anlisis LPC
Para cada cuadro se computan los coeficientes LPC (entre 10 y 20
coeficientes), generalmente basndose en la autocorrelacin autocorrelacin de la
seal enventanada. Esto implica una reduccin reduccin de la tasa de infor de la tasa de infor- -
macin macin.
Por ejemplo para cuadros de 20 mseg., con frecuencia de muestreo
de 8 KHz, y con 8 bits por muestra, resulta una tasa de informacin
de 1280 bits/cuadro 1280 bits/cuadro, en tanto que si se consideran 15 coeficientes
LPC por cuadro, resultara una tasa de informacin de 15 x 8 =120 120
bits/cuadro bits/cuadro, lo que representa una reduccin de la tasa de infor reduccin de la tasa de infor- -
macin de 1280/120 = 10.67 veces. macin de 1280/120 = 10.67 veces.
ProDiVoz Reconocimiento Automtico de Voz 28
Conversin a Coeficientes Cepstral Conversin a Coeficientes Cepstral
Sea una secuencia real con transformada Z , X(z). Se asume
que X(z) converge en la circunferencia unitaria. El cepstrum cepstrum
complejo complejo de la seal se define como la secuencia
que es la transformada Z inversa de , donde
( ) { } n x
( ) { } n x
( ) { } n c
x
( ) z C
x
( ) ( ) ( ) z X z C
x
ln =
El cepstrum complejo existe si converge en la regin
anular , donde . Esto implica que
converge en la circunferencia unitaria, es decir
( ) z C
x
2 1
r z r < < 1 , 1 0
2 1
> < < r r ( ) z C
x
( ) ( ) ( ) ( )
n j
n
x x
e n c X C


= = ln
y entonces el cepstrum complejo puede obtenerse como la
transformada inversa de Fourier de , es decir ( ) ( ) ( ) X C
x
ln =
ProDiVoz Reconocimiento Automtico de Voz 29
( ) ( ) ( )

d e X n c
n j
x

ln
2
1

=
Si se expresa X() en trminos de su magnitud y fase
( ) ( )
( )

j
e X X =
entonces
( ) ( ) ( ) ( ) ( ) j X X + = ln ln
y el cepstrum complejo resulta
( ) ( ) ( )
( )
( )
( )
4 4 4 3 4 4 4 2 1 4 4 4 4 3 4 4 4 4 2 1

c
n j
n c
n j
x
d e j d e X n c
m


2
1
ln
2
1


+ =
ProDiVoz Reconocimiento Automtico de Voz 30
A la secuencia{c
m
(n)} se la denomina cepstrum real cepstrum real, o simple-
mente cepstrum cepstrum, en tanto que a los c
m
(n) se los denomina coefi coefi- -
cientes cepstral (reales) cientes cepstral (reales).
En las aplicaciones de reconocimiento de voz los coeficientes
cepstral (reales) han probado ser un conjunto de caractersticasms
robustas y confiables que los coeficientes LPC. En la prctica,
suele usarse, en lugar del ceptrum real, el power cepstrum (real) power cepstrum (real)
definido como
( ) ( ) ( ) ( ) n c d e X n c
m
n j power
m
2 ln
2
1

2
= =

Para confundir un poco las cosas al power cepstrum tambin se lo


suele denominar simplemente cepstrum cepstrum.
ProDiVoz Reconocimiento Automtico de Voz 31
Cuando la seal de voz x(n) es modelada como la salida de un
sistema (impropiamente denominado) all all- -pole pole (slo polos) de
mnima fase, como el modelo LPC, entonces los coeficientes power
cepstral pueden calcularse en forma recursiva a partir de los
coeficientes LPC. En este caso se los denomina coeficientes power coeficientes power
cepstral LPC cepstral LPC.
Sea x(n) la seal de voz modelada como
( )
( ) n e
q A
n x
1
1
) (

=
donde e(n) es ruido blanco con media cero y varianza
2
, y
( ) 1 , 1
0
0 1
1
= = + =

=

=

a q a q a q A
p
k
k
k
k
p
k
k
donde , son los coeficientes LPC. p k a
k
, , 1 , L =
ProDiVoz Reconocimiento Automtico de Voz 32
La densidad espectral de energa resulta entonces
( )
( )
2
2
2

A
X =
de donde
( ) ( ) ( ) ( )
( )

=
=
n
n j power
m
e n c
A X

2
2
2

ln ln ln


Por otra parte
( ) ( ) ( ) ( ) ( )

= =

=

p
n
n j
n
p
k
k j
k
j j
e a e a e A e A A
0

0

2
ln ln ln

ProDiVoz Reconocimiento Automtico de Voz 33


En el dominio transformado Z, resulta
( ) ( ) ( )

= =

=

p
n
n
n
p
k
k
k
n
n power
m
z a z a z n c z X
0

0
2
2
ln ln ln
Derivando ambos miembros respecto a z , e igualando los coeficien-
tes de potencias de z del mismo orden, se obtiene la siguiente ecua-
cin recursiva para los coeficientes power cepstral
( ) ( )
( )
2
1
1
ln 0
0 ,
1
c
n a k c k
n
a n c
power
m
k n
n
k
power
m n
power
m
=
> =

con a
0
= 1y a
k
= 0 para k > p .
ProDiVoz Reconocimiento Automtico de Voz 34
Usualmente se computa un nmero Q de coeficientes cepstral por
cuadro, donde Q > p , siendo p el nmero de coeficientes LPC por
cuadro. Se suele adoptar
p Q
2
3

12 12 12 Q
10 10 8 p
100 (10 mseg) 80 (10 mseg) 100 (15 mseg) M
300 (30 mseg) 240 (30 mseg) 300 (45 mseg) N
F
s
= 10 KHz F
s
= 8 KHz F
s
= 6.67 KHz Parmetro
Valores Tpicos de parmetros en Anlisis LPC
Valores Tpicos de parmetros en Anlisis LPC Valores Tpicos de parmetros en Anlisis LPC

You might also like