Download - Aprendizaje y Percepci on´
Aprendizaje y Percepci onFacultad de Inform atica
Universidad Polit ecnica de Valencia
Tema 5:Preproceso y Extracci on de Caracterısticas:
senales vocales
Enrique Vidal,Alfons Juan,David Pico,
Roberto Paredes
Enero, 2004
E. Vidal– UPV: Enero, 2004
APP-Tema5 Preproceso y EC: voz
Indice
1 Una tarea simple: Reconocimiento de Palabras Aisladas . 2
2 Adquisicion y Preproceso de Senales Acusticas . 5
3 Extraccion de Caracterısticas: segmentacion de traza . 14
4 Extraccion de Primitivas: Cuantificacion Vectorial . 21
E. Vidal– UPV: Enero, 2004 Pagina 5.1
APP-Tema5 Preproceso y EC: voz
Indice
◦ 1 Una tarea simple: Reconocimiento de Palabras Aisladas . 2
2 Adquisicion y Preproceso de Senales Acusticas . 5
3 Extraccion de Caracterısticas: segmentacion de traza . 14
4 Extraccion de Primitivas: Cuantificacion Vectorial . 21
E. Vidal– UPV: Enero, 2004 Pagina 5.2
APP-Tema5 Preproceso y EC: voz
Analisis de Se nales Acusticas
El sonido constituye el soporte de uno de los medios masimportantes del sistema de comunicacion humano: el habla.
Aplicaciones importantes tales como el Reconocimiento delHabla, Identificacion de Locutores, etc.
El procesado de Senales Acusticas tiene interes “per se”,con independencia de su uso para reconocimiento o iden-tificacion. Ejemplos: transmision de sonido, analisis, codifi-cacion y encriptacion de voz y de musica, etc.
E. Vidal– UPV: Enero, 2004 Pagina 5.3
APP-Tema5 Preproceso y EC: voz
Reconocimiento del Habla
Se trata de construir dispositivos capaces de aceptar informacion en for-ma de palabras o frases pronunciadas por algun(a) locutor(a). Segun losobjetivos concretos el RAH presenta muy distintos grados de dificultad:
Compresnsion del discurso contınuo
Traduccion simultanea
Dictado
Vocabularios/Dominos limitados
Ordenes en forma de frases de palabra contınua
Palabras Aisladas
Mono-locutor multi-locutor, independencia del locutor
Sonido de calidad , ambientes silenciosos
Sonido telefonico, ruido ambiente
E. Vidal– UPV: Enero, 2004 Pagina 5.4
APP-Tema5 Preproceso y EC: voz
Indice
1 Una tarea simple: Reconocimiento de Palabras Aisladas . 2
◦ 2 Adquisicion y Preproceso de Senales Acusticas . 5
3 Extraccion de Caracterısticas: segmentacion de traza . 14
4 Extraccion de Primitivas: Cuantificacion Vectorial . 21
E. Vidal– UPV: Enero, 2004 Pagina 5.5
APP-Tema5 Preproceso y EC: voz
Senales Acusticas
Senal Acustica: Funcion s(t) que representa las variaciones de la amplitud de lapresion del aire en funcion del tiempo
Senal Digital: Funcion s(t) discretizada en su dominio (tiempo) y rango (amplitud)
Amplitud de la señal medida en el instante t
s(t)
tiempot
E. Vidal– UPV: Enero, 2004 Pagina 5.6
APP-Tema5 Preproceso y EC: voz
Muestreo y Se nal Digital
Senal Digital:Funcion s(t) discretizada en su do-minio (tiempo) y rango (amplitud)
- Muestreo:Discretizacion del tiempo
- Cuantificacion:Discretizacion de la amplitud
Original
Digital
Teorema del Muestreo: Sea B la anchura de banda (frecuencia de las fluc-tuaciones mas rapidas) de una senal s(t) y sea Fm la frecuencia de muestreo.Entonces s(t) puede reconstruirse a partir de sus muestras si y solo si Fm ≥ 2B.
E. Vidal– UPV: Enero, 2004 Pagina 5.7
APP-Tema5 Preproceso y EC: voz
Adquisici on de Se nales Acusticas
Tar
jeta
de
soni
doVoz
telefónicaB=3.6khz
VozCalidadB=8Khz
Audio CD (HI-FI)B=20khz
Muestreo(kHz)
Cuantificación(bits)
8 16 44.1
Flujo de datos(Mbytes/hora)
8 (12) 16 (12) 2x16 (20)
Segundosen 1 Mbyte
128 32 5.8
28.1 112.5 620.2
Amplificador
Filtro depaso bajo
Conversor A/D
B<F/2
Fm=F
E. Vidal– UPV: Enero, 2004 Pagina 5.8
APP-Tema5 Preproceso y EC: voz
Frequencia de Niquist (violaci on teorema del muestreo)
Señal muestreada reconstruida
Señal original (sin filtrar): F0=600hz; F1=4800hz
Señal muestreada: Fm = 5000 hz < 2 4800 hz
Señal original (filtrada): F0=600hz; F1=4800hz
Señal muestreada: Fm = 5000 hz > 2 600 hz
Señal muestreada reconstruida
E. Vidal– UPV: Enero, 2004 Pagina 5.9
APP-Tema5 Preproceso y EC: voz
Representaci on Temporal
-20000
-15000
-10000
-5000
0
5000
10000
15000
20000
0 200 400 600 800 1000
amplit
ude [-2
^15..2^
15]
time (seg*HERTZ)
-25000
-20000
-15000
-10000
-5000
0
5000
10000
15000
20000
25000
0 200 400 600 800 1000 1200 1400 1600
amplitude
[-2^15..2^1
5]
time (seg*HERTZ)
-20000
-15000
-10000
-5000
0
5000
10000
15000
20000
25000
30000
0 100 200 300 400 500 600 700 800
amplit
ude [-2
^15..2^
15]
time (seg*HERTZ)
cuatro1t.ad.gz
Ocho
Cuatro
?
Esta representacion suele inducir a confusion en la identificacion de los objetosconsiderados (elocuciones de palabras o frases)
E. Vidal– UPV: Enero, 2004 Pagina 5.10
APP-Tema5 Preproceso y EC: voz
Preproceso de Se nales Vocales
........
........Ventanas deanálisis
Espectrograma
........Secuencia deespectros
/d/ /o/ /s/
Señal vocal
2
4
6
8
10
12
14
16
0 5 10 15 20
2
4
6
8
10
12
14
16
0 5 10 15 20
........
Dos espectrosinstantáneos
E. Vidal– UPV: Enero, 2004 Pagina 5.11
APP-Tema5 Preproceso y EC: voz
Representaci on Frecuencial
Representaciónen el dominio
de la frecuencia
/k/ /u/ /a/ /t/ /r/ /o/
/k/ /u/ /a/ /t/ /r/ /o/
/o/ /c/ /o/
Esta representacion ponemejor de manifiesto lascaracterısticas discrimina-tivas de los objetos consi-derados, lo que facilita suidentificacion
E. Vidal– UPV: Enero, 2004 Pagina 5.12
APP-Tema5 Preproceso y EC: voz
El Problema de la Variabilidad Temporal No Lineal
/t//k/ /u/ /a/ /r/ /o/
Los segmentos acusticosde ciertos sonidos (vocales)pueden alargarse o acor-tarse arbritariamente mien-tras que la duracion de otrossonidos (la mayorıa de lasconsonantes) tiene pocasposibilidades de variacion.
E. Vidal– UPV: Enero, 2004 Pagina 5.13
APP-Tema5 Preproceso y EC: voz
Indice
1 Una tarea simple: Reconocimiento de Palabras Aisladas . 2
2 Adquisicion y Preproceso de Senales Acusticas . 5
◦ 3 Extraccion de Caracterısticas: segmentacion de traza . 14
4 Extraccion de Primitivas: Cuantificacion Vectorial . 21
E. Vidal– UPV: Enero, 2004 Pagina 5.14
APP-Tema5 Preproceso y EC: voz
Extracci on de Caracterısticas en Se nales Vocales:Segmentaci on de Traza
Si cada espectro se considera como un punto en un espacio d-dimensional(e.g.: d=21), la secuencia de espectros de un espectrograma representa una“trayectoria” o “Traza” en ese espacio.
La traza se divide en un numero prefijado de intervalos de igual longitud,dando los correspondientes puntos (interpolados) de segmentacion como re-presentacion resultante.
Esata representacion normaliza y reduce la cantidad de informacion y re-duce la influencia de las varicaiones de duracion tıpicas de los segmentosestacionarios.
/t/
/Sil/
/e//r//e/
/s/
Espectrograma de "/tres/"
Traza proyectada en 2 dimensiones y su segmentación en 25 puntos
/e//r/ /e/ /s//Sil/ /t/
E. Vidal– UPV: Enero, 2004 Pagina 5.15
APP-Tema5 Preproceso y EC: voz
Segmentaci on de Traza
Dada una traza de N puntos y un numero deseado de puntos M , Seg-mentacion de Traza realiza la normalizacion segun el siguiente metodo:
Se calcula la longitud de la traza, Ln, desde el origen hasta al punton = 1, . . . , N
Los puntos normalizados deben segmentar la traza en M − 1 inter-valos de longitud λ = LN/(M − 1). Por tanto,
• La longitud de la traza hasta al punto normalizado msera (m− 1)λ, 1, . . . ,M
• Los puntos inicial y final coinciden con los originales
• El punto m = 2, . . . ,M−1 se calcula por interpolacion lineal entredos puntos originales n− 1 y el n tales que:
Ln−1 ≤ (m− 1)λ ≤ Ln
E. Vidal– UPV: Enero, 2004 Pagina 5.16
APP-Tema5 Preproceso y EC: voz
Algoritmo Segmentaci on de Traza
Input: (~x1, . . . , ~xN) ∈ RD; M ≥ 2 /* traza original y numero de puntos de la normalizada */
Output: (~y1, . . . , ~yM) ∈ Rd /* traza normalizada */
L1 = 0 /* longitud de la traza */
for n = 2 to N do Ln = Ln−1 + ‖~xn − ~xn−1‖ done /* hasta el punto n */
λ = LNM−1 /* longitud de cada segmento */
~y1 = ~x1 /* primer punto de la traza normalizada */
n = 2
for m = 2 to M − 1 do /* la longitud desde el origen */
while not Ln−1 ≤ (m− 1)λ ≤ Ln do n + + done a ~ym ha de ser (m − 1)λ */
~ym = ~xn−1 + (~xn − ~xn−1)(m−1)λ−Ln−1
Ln−Ln−1/* interpolacion lineal */
done
~yM = ~xN /* ultimo punto de la traza normalizada */
E. Vidal– UPV: Enero, 2004 Pagina 5.17
APP-Tema5 Preproceso y EC: voz
Segmentaci on de Traza: Ejemplo
do
s
d o s
E. Vidal– UPV: Enero, 2004 Pagina 5.18
APP-Tema5 Preproceso y EC: voz
Segmentaci on de Traza: aplicaci on a pronunciaciones de dıgitos
cero uno dos tres cuatroE. Vidal– UPV: Enero, 2004 Pagina 5.19
APP-Tema5 Preproceso y EC: voz
Segmentaci on de Traza: aplicaci on a pronunciaciones de dıgitos
cinco seis siete ocho nueveE. Vidal– UPV: Enero, 2004 Pagina 5.20
APP-Tema5 Preproceso y EC: voz
Indice
1 Una tarea simple: Reconocimiento de Palabras Aisladas . 2
2 Adquisicion y Preproceso de Senales Acusticas . 5
3 Extraccion de Caracterısticas: segmentacion de traza . 14
◦ 4 Extraccion de Primitivas: Cuantificacion Vectorial . 21
E. Vidal– UPV: Enero, 2004 Pagina 5.21
APP-Tema5 Preproceso y EC: voz
Extracci on de Primitivas en Se nales Vocales:Agrupaci on de Espectros por Cuantificaci on Vectorial
Se trata de representar las secuencias de espectros correspondientes apronunciaciones de palabras o frases mediante cadenas de sımbolos .El proceso consta de dos fases:
1. Construcci on del “codebook”
Se define un conjunto de vectores acusticos de entrenamiento
Este conjunto se particiona en C grupos o “clusters” homogeneos
El vector medio de cada cluster se toma como prototipo o“codeword” para formar el codebook
Se asigna una etiqueta a cada codeword
2. Cuantificaci on Vectorial
Cada espectro se substituye por la etiqueta de su codeword masproximo
E. Vidal– UPV: Enero, 2004 Pagina 5.22
APP-Tema5 Preproceso y EC: voz
Ejemplo de Cuantificaci on Vectorial: pronunciaciones de “ocho”
E. Vidal– UPV: Enero, 2004 Pagina 5.23
APP-Tema5 Preproceso y EC: voz
Ejemplo de Cuantificaci on Vectorial:Agrupaci on de espectros de “ocho”
Vectores acusticos de ochosagrupados en 4 clases
0.0 0.5 1.00.0
0.5
1.0
/c/
/Sil/ /O/
/o/(proyeccion en 2 dimensiones)
Los espectros se agrupan automaticamente en “clases naturales” asociadas a los“sonidos” elementales (˜ fonemas) que aparecen en las elocuciones analizadas.
E. Vidal– UPV: Enero, 2004 Pagina 5.24
APP-Tema5 Preproceso y EC: voz
Ejemplo de Cuantificaci on Vectorial:Agrupaci on de espectros de “ocho”
Vectores acusticos de ochosagrupados en 4 clases
0.0 0.5 1.00.0
0.5
1.0
/c/
/Sil/ /O/
/o/(proyeccion en 2 dimensiones)
Los espectros se agrupan automaticamente en “clases naturales” asociadas a los“sonidos” elementales (˜ fonemas) que aparecen en las elocuciones analizadas.
E. Vidal– UPV: Enero, 2004 Pagina 5.24
APP-Tema5 Preproceso y EC: voz
Cuantificaci on Vectorial: criterio de error cuadr atico
J(X1, . . . , XC) =∑
c
Jc donde Jc =∑
~x∈Xc
‖~x− ~mc‖2, ~mc =1nc
∑~x∈Xc
~x
Calculo incremental de J al transferir ~x de Xi a Xj
X ′i = Xi − {~x} X ′
j = Xj + {~x}
~m′i = ~mi −
~x− ~mi
ni − 1~m′
j = ~mj +~x− ~mj
nj + 1
J ′i = Ji −ni
ni − 1‖~x− ~mi‖2 J ′j = Jj +
nj
nj + 1‖~x− ~mj‖2
4J =nj
nj + 1‖~x− ~mj‖2 − ni
ni − 1‖~x− ~mi‖2
E. Vidal– UPV: Enero, 2004 Pagina 5.25
APP-Tema5 Preproceso y EC: voz
Cuantificaci on Vectorial: Algoritmo C-Medias
Algoritmo: c-medias (Duda, pp 225-228). Coste temporal: O(ncd) por iteracion.Entrada: X =
(x1, . . . , xn ∈ Rd
)y 1 ≤ c ≤ n.
Salida: particion de X en c clases X1, . . . , Xc que minimiza la suma de errores cuadraticos.
Inicializaci on: Formar una particion inicial de X en c clases X1, . . . , Xc,calcular sus medias m1, . . . , mc y la suma de errores cuadraticos J .
para todo x ∈ X hacerSea Xi la clase a la que pertenece x.si |Xi| > 1 entonces
Hallar el ındice j∗ de la clase que produce un menor incremento de J si se le anade x:
j∗ = arg minj 6=i
( |Xj||Xj|+1‖x − mj‖2
)Calcular 4J al transferir x de Xi a Xj∗:
4J =|Xj∗|
|Xj∗|+1‖x − mj∗‖2 − |Xi||Xi|−1‖x − mi‖2
si 4J < 0 entoncesActualizar las medias de Xi y Xj∗:
mi = mi − 1|Xi|−1 (x − mi); mj∗ = mj∗ + 1
|Xj∗|+1
(x − mj∗
)Transferir x de Xi a Xj∗; Actualizar J = J +4J .
fin sifin si
fin paraEvaluar algun criterio de parada. Si no se cumple, repetir el bucle principal para todo x . . . .
E. Vidal– UPV: Enero, 2004 Pagina 5.26
APP-Tema5 Preproceso y EC: voz
Resumen de Preproceso y Representaci on Geom etricade Senales Vocales
Segmentación de Traza(normalización a 10 vectores)
/s//d/ /o/
Espectrograma(21 canales, 100hz)
‘‘Punto’’ en un Espacio Vectorial de 210 dimensiones
52x21
10x21
Secuencia de espectros
Señal vocal (16khz) 8320 muestras
E. Vidal– UPV: Enero, 2004 Pagina 5.27
APP-Tema5 Preproceso y EC: voz
Resumen de Preproceso y Representaci on Estructuralde Senales Vocales
/s//d/ /o/
<bbffbfffeehhhhhhhhhhhhhhhhhhhhhhggddddddddddddddddff>
<TTDDTDDDEEOOOOOOOOOOOOOOOOOOOOOOZZSSSSSSSSSSSSSSSSDD>
(21 canales, 100hz)Espectrograma
52 símbolos(|Σ| = 16)
Cadena deetiquetas acústicas
Cadenareetiquetada fonéticamente
52x21
8320 muestrasSeñal vocal (16khz)
Secuencia de espectros
E. Vidal– UPV: Enero, 2004 Pagina 5.28