Вы находитесь на странице: 1из 4

XVI SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL STSIVA 2011

Diseño de un Procesador de Imágenes Comandado por Voz

Juan D. Valencia-Payán*, Esteban Oliveros-Montoya**, Hernando Mosquera-De la Cruz**, John M. Espinosa-Duran*, Humberto Loaiza-Correa** E-mail: {juanvalen15, estebanoliverosm, nandostiwar}@gmail.com, {michaele, hloaiza}@univalle.edu.co



ResumenCategoría (1). Una interfaz humano-máquina (IHM) es el puente de comunicación entre las personas y equipos electrónicos, este puente puede ser tan sencillo como una herramienta de mano o tan complejo como la cabina del transbordador espacial. Consecuente a esto se plantea un sistema que permita una interacción más amable y natural con un computador mediante el reconocimiento automático de comandos de voz que permiten controlar un procesador de imágenes sintetizado en una FPGA (Field Programmable Gate Array).

Palabras

ClavesDetección

automática

de

la

voz,

Procesamiento de imágenes, Síntesis de hardware embebido.

I.

INTRODUCCIÓN

L os computadores son una herramienta presente en

todos los ámbitos de la vida cotidiana, desde el hogar, pasando por las entidades educativas hasta los ambientes industriales y centros de investigación. El desempeño de los computadores ha mejorado exponencialmente a la par con los avances en la tecnología de microprocesadores. Sin embargo, los periféricos de interacción existentes entre el hombre y la máquina no han sufrido un avance significativo, pues aun se conservan con ligeras modificaciones el teclado y el ratón como principal medio de interacción. Estos mecanismos de

interacción aunque han sido efectivos, distan de ser naturales, por lo que se ha detectado la necesidad de elaborar interfaces más similares a la forma de interacción entre los humanos. Aunque se han obtenido buenos resultados, en sistemas de reconocimiento de voz [1][2][3] este tipo de interacción no se

ha popularizado en la interacción humano-máquina.

Este documento presenta el diseño e implementación de un procesador de imágenes sintetizado usando una FPGA controlado mediante comandos de voz implementado en un computador personal. Siendo este proyecto un interesante punto de partida para crear interfaces humano-maquina embebidas [4].

Se presenta en la sección II la descripción general del sistema de procesamiento de voz y de imágenes. En la sección

III se describen las pruebas realizadas. La sección IV contiene

los resultados obtenidos. Finalmente en la sección V se

presentan las conclusiones y el trabajo futuro.

*Grupo de investigación en Bionanoelectrónica (BIONANO). **Grupo de investigación en Percepción y Sistemas Inteligentes (PSI). Universidad del Valle, Cali-Colombia.

II.SISTEMA DE PROCESAMIENTO

A. Descripción del sistema Mediante un micrófono se captura la señal de voz digitalizándola a 16 kHz y 8 bits por muestra usando MATLAB en un computador personal para hacer el procesamiento digital de la señal y determinar el tipo de comando pronunciado por el usuario. Una vez el comando es identificado se envía una instrucción al Procesador Digital de Imágenes (PDI) por medio de el procesador Nios-II [5] utilizando comunicación serial. La imagen es modificada y proyectada en un monitor VGA. El sistema en bloques se muestra a continuación en la Figura 1.

en bloques se muestra a continuación en la Figura 1. Figura 1. Diagrama de bloques del

Figura 1. Diagrama de bloques del sistema de procesamiento de imágenes controlado por voz.

B. Procesamiento y Reconocimiento de Voz Todo el sistema de reconocimiento de voz puede descomponerse en tres módulos: pre-proceso y segmentación, extracción de características y clasificación, inspirados en el sistema auditivo humano como se observa en la Figura 2. [6]

sistema auditivo humano como se observa en la Figura 2. [6] Figura 2. Paralelo entre proceso

Figura 2. Paralelo entre proceso auditivo humano y proceso artificial de reconocimiento de voz.

Se abordaron para el pre-proceso y segmentación las técnicas de extracción espectral de ruido estacionario y detección de actividad vocal VAD [7], además se extrajeron los primeros 13 coeficientes cepstrales y sus dos derivadas

XVI SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL STSIVA 2011

como características discriminatorias en la escala de Mel, por último se clasificó y decidió mediante clustering de k-vecinos más cercanos.

1)

Módulo de pre-proceso y segmentación

La primera fase es la encargada de acondicionar la señal para su posterior procesamiento. Esto se alcanza mediante el recorte y descarte de los segmentos de la señal en donde se detecte que no hay información útil (silencio), después se refuerza mediante la extracción del ruido en el dominio espectral y por último la eliminación de offset en la señal digital. Para la diferenciación de tramas habladas y tramas de silencio se recorre todo el vector de voz mediante ventanas Hamming y se analiza la energía por tramo y sus cruces por cero. Este algoritmo es conocido como VAD (Vocal Automatic Detection) [8]. Para la extracción espectral de ruido crean arreglos enventanados (Hanning) de segmentos hablados y también se crean arreglos de silencios cortos de 1ms. Ambos se transforman al dominio frecuencia y se restan en este dominio obteniendo una reducción espectral significativa en las componentes de ruido. La Figura 3 muestra en bloques el resumen de la etapa de pre-procesamiento.

en bloques el resumen de la etapa de pre-procesamiento. Figura 3. Diagrama de bloques pre-procesado de

Figura 3. Diagrama de bloques pre-procesado de la señal de voz.

2)

Módulo de extracción de características

Para caracterizar cada palabra se extrajeron sus 13 primeros coeficientes cepstrales en la escala de Mel, los cuales son una

representación del espectro corto de potencia de una señal basada en la transformada lineal del coseno del logaritmo del espectro en una escala no lineal, como lo es la escala de Mel [7]. El algoritmo que obtiene dichos coeficientes se comporta así:

Pre enfatiza la señal mediante un filtro paso alto para realzar componentes de alta frecuencia.

Calcula la transformada de Fourier de la señal enventanada.

Se pasa la señal por un banco de filtros los cuales tienen su frecuencia central espaciada de la misma manera en que se encuentra espaciada la escala de Mel (9). Esta manipulación se hace para modelar el sistema de manera más natural, ya que se sabe que el sistema auditivo y fonador humano se comporta de manera logarítmica.

Calcula el logaritmo de la señal a la salida del banco de filtros.

Se obtiene la transformada discreta del Coseno cuyas amplitudes resultantes son los coeficientes Cepstrales en la escala de Mel.

Todos los bloques de pre-procesamiento son observados en la Figura 4.

bloques de pre-procesamiento son observados en la Figura 4. Figura 4. Diagrama de bloques pre-procesamiento de

Figura 4. Diagrama de bloques pre-procesamiento de la señal de voz.

3)

Módulo de clasificación y decisión

El último bloque del sistema es el encargado de arrojar los resultados de reconocimiento. Se usaron los K-vecinos más cercanos (KNN) el cual, dentro de los algoritmos reconocimiento de patrones, es usado como método de clasificación de objetos basado en ejemplos de entrenamiento en un espacio característico [10]. Los k vecinos más cercanos es un modelo basado en la memoria definida (diccionario) por un conjunto de ejemplos debidamente etiquetados. La regla de KNN se basa en la suposición de que los prototipos más cercanos tienen una probabilidad a posteriori similar. Resumiendo, para el reconocimiento de palabras, los elementos almacenados son plantillas de todas las palabras a reconocer pronunciadas por varios hablantes, o sea el diccionario almacenado en memoria. Luego se introduce el objeto a clasificar y se mide la distancia euclidiana a los K vecinos más cercanos y se determina a cuál de las clases compuestas por las diferentes plantillas pertenece el objeto a clasificar. Los objetos son los vectores característicos obtenidos en la fase de extracción (MFCC), estos arreglos se pueden ubicar en espacios vectoriales a en donde se pueden computar distancias entre ellos de manera fácil mediante software. En los experimentos realizados, se ingresaron a la base de datos 5 plantillas (1 por palabra) de 6 hablantes masculinos con edad promedio de 20 años y se analizaron 6 vecinos cercanos.

C. Diseño del Procesador Digital de Imágenes El procesador digital de imágenes está compuesto por una unidad de control de efectos, un controlador de memoria SRAM y un controlador VGA. Además utiliza un procesador Nios-II, tal como se muestra en la Figura 5. Todos los componentes del PDI han sido diseñados utilizando lenguaje de descripción de hardware en VHDL y sintetizados en una FPGA Cyclone II [11]. El procesador Nios-II comunica el computador personal y el PDI utilizando comunicación serial. La unidad de control de efectos, es el bloque principal que controla los demás bloques. Primero realiza la lectura de la imagen almacenada en la memoria SRAM, luego la imagen es procesada con alguno de los cinco efectos diseñados (El efecto ha sido definido previamente por el reconocimiento de voz) y finalmente se visualiza la imagen en pantalla usando el controlador VGA.

XVI SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL STSIVA 2011

SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL – STSIVA 2011 Figura 5. Diagrama estructural del Procesador Digital de

Figura 5. Diagrama estructural del Procesador Digital de Imágenes (PDI).

a

continuación:

1) Controlador de efectos sobre imágenes El controlador de efectos sobre imágenes es la pieza más importante del sistema diseñado ya que es el núcleo encargado de dirigir el comportamiento de la memoria SRAM, el controlador VGA y el procesador Nios-II. Esta unidad de control recibe del Nios-II el resultado de la clasificación del procesamiento digital de audio realizado en MATLAB y con esto el efecto a realizar. Después se procesa la imagen y se envía el resultado al controlador VGA que permite visualizar la imagen final en pantalla.

Los

bloques

implementados

se

explican

en

detalle

Los efectos que se realizan sobre la imagen procesada son:

Rotar: realiza una rotación de la imagen de 90° en el sentido de las manecillas del reloj.

Reflexión: realiza una reflexión horizontal de la imagen, este es conocido como un efecto espejo en relación con el eje vertical.

Color: visualiza la imagen a color utilizando el modelo de color RGB (Red Green Blue).

Grises: visualiza la imagen en escala de grises realizando un promedio por pixel de las componentes RBG de la imagen original.

Negativo: calcula y visualiza el negativo de la imagen.

2) Controlador de memoria SRAM Las memorias SRAM (Static Random Access Memory) son memorias de acceso aleatorio en las cuales sus posiciones de memoria pueden ser escritas o leídas en cualquier orden, sin tiempos de espera ni señales de sincronización. La imagen a procesar se carga en la memoria SRAM. En este caso cuenta con una capacidad de almacenamiento de 512 Kbyte, por esta razón la imagen debe estar en formato BMP (Bit Mapped Memory) de 16 colores (4bits por pixel) y tener una resolución máxima de 640x480 píxeles. El controlador implementado manipula directamente la memoria SRAM, y realiza rutinas de lectura y escritura de datos en cualquier posición de memoria.

3) Controlador VGA El controlador VGA está basado en el vga_raster.vhd [12]. Con este controlador se configuran los tiempos para la

visualización de imágenes con una resolución de 640x480 pixeles (16 colores) a una tasa de refresco de 60 Hz. Para la visualización de la imagen el controlador envía la información pixel a pixel al DAC (Digital-to-Analog Converter) VGA y muestra la imagen en pantalla.

4) Nios II Este procesador es el encargado de comunicar el computador personal y la FPGA mediante comunicación serial usando el protocolo RS-232.

III. PRUEBAS Y RESULTADOS

Para validar el funcionamiento del sistema se propusieron 5 efectos digitales en las imágenes los cuales equivalen a 5 palabras aisladas. Estas son: Color, Rotar, Negativo, Reflexión y Grises, en caso de decir otra palabra que esté por fuera del diccionario el sistema debe informarlo. El sistema en general obedece al diagrama de estados que se muestra en la Figura 6.

al diagrama de estados que se muestra en la Figura 6. Figura 6. Diagrama de estados

Figura 6. Diagrama de estados para el sistema completo.

El diccionario fue creado con las palabras pronunciadas por 6 personas adultas de género masculino, las cuales repitieron cada palabra 7 veces para crear el espacio de búsqueda. La matriz de confusión (Tabla 1) muestra el resultado de las respuestas del sistema ante la pronunciación de cada efecto por cada una de las personas que hay almacenadas en el diccionario, es decir, cada una intentó hacer un efecto en la imagen 4 veces. Para este grupo de personas se observó un 81.0% de efectividad ya que la máquina erró 19 veces de 100 intentos. Adicionalmente se realizó otra prueba en donde una mujer de 61 años, que no estaba dentro del diccionario, pronunció cada efecto tres veces logrando en donde la efectividad del sistema se vio reducida a 66.66%. El umbral de decisión escogido en k vecinos más cercanos fue de 4/6, es decir, si 4 de los 6 vecinos son de una misma clase, el objeto a clasificar pertenece a esa clase.

XVI SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL STSIVA 2011

TABLA I. MATRIZ DE CONFUSIÓN RESULTADOS DE RECONOCIMIENTO DE VOZ.

Color Rotar Negativo Reflexión Grises No reconoció Color 19 1 Rotar 2 17 1 Negativo
Color
Rotar
Negativo
Reflexión
Grises
No reconoció
Color
19
1
Rotar
2
17
1
Negativo
14
1
1
4
Reflexión
2
15
1
2
Grises
1
2
16
1
95%
85%
70%
75%
80%
PV=81
FP=11
NF=8

La diagonal muestra una mayor concentración de anotaciones puesto que coinciden con el efecto deseado consecuente a la efectividad del sistema. Las abreviaturas de la tabla anterior significan; PV=Positivos Verdaderos, cantidad de reconocimientos acertados; FP=Falsos Positivos, cantidad de reconocimiento de otro efecto, NG=Negativos Falsos, no reconoció nada cuando se había dicho algún efecto válido.

IV. CONCLUSIONES Y TRABAJO FUTURO

El sistema desarrollado es dependiente de las personas con las que haya sido construido el diccionario de entrenamiento, puesto que presentó un 81% de efectividad para personas incluidas en el diccionario y un 60% con una persona ajena al entrenamiento. Se propone realizar pruebas con personas de diversos géneros que no estén dentro del diccionario para hacer una caracterización completa. Las características en el dominio de la frecuencia son adecuadas para este tipo de sistema puesto que una persona nunca pronunciará una palabra de la misma manera dos veces, ya que esto depende de varios factores como el estado de ánimo, la respiración, la distancia hasta el micrófono, la postura, etc. No se emplearon características en el dominio temporal. La principal limitación del sistema radica en la falta de memoria para almacenar imágenes de mayor calidad y resolución. Además falta un bloque compresor/descompresor de imágenes para manipular distintos tipos de imágenes. El trabajo futuro está orientado a diseñar todo un sistema embebido en la FPGA donde se incluyan el procesamiento de voz e imágenes en un mismo modulo. Además, diseñar dos bloques para el procesamiento de imágenes comprimidas y lectura de memorias SD para brindar más almacenamiento de las imágenes.

V.BIBLIOGRAFÍA

[1]. Englund, Christine. Speech recognition in the JAS 39

Gripen aircraft - adaptation to speech at dierent G-loads.

2004.

[2]. Huang, Xuedong, Acero, Alex and Hon, Hsiao-Wuen. Spoken Language Processing: A Guide to Theory, Algorithm and System Development. s.l. : Prentice Hall, 2001. [3]. Weinschenk, Susan and Barker, Dean T. Designing Effective Speech Interfaces. s.l. : Wiley, 2000. [4]. Jason, Audrey Li-Brouwer. Implementing an FPGA-Based Human-Machine Interface for Home Appliances. 2009. [5]. ALTERA. Nios II Processor Reference - Handbook. Nios II Processor Reference - Handbook. 2011.

[6]. Handbook of Neural Networks for Speech Processing (Artech House Signal Processing Library). s.l. : Artech House,

2000.

[7]. Rabiner, Lawrence and Juang, Biing-Hwang.

Fundamentals of Speech Recognition. s.l. : Prentice Hall,

1993.

[8]. Voice activity detection with noise reduction and long-

term spectral divergence estimation. Ramirez, J., et al. 2004.

Vol. 2, pp. ii - 1093-6 vol.2.

[9]. Oppenheim, Alan V., Schafer, Ronald W. and Buck, John

R. Discrete-Time Signal Processing (2nd Edition) (Prentice- Hall Signal Processing Series). s.l. : Prentice Hall, 1999. [10]. Output-Sensitive Algorithms for Computing Nearest- Neighbour Decision Boundaries. Bremner, David, et al. 2003. pp. 451-461. [11]. ALTERA. Cyclone II Device Handbook, Volume 1. Cyclone II Device Handbook, Volume 1. [12]. Edwards, Stephen A. Video. Lecture Notes, CSEE 4840 Embedded System Design course. Video. Lecture Notes, CSEE 4840 Embedded System Design course. 2011.

Juan David Valencia Payán Candidato a grado como Ingeniero Electrónico de la EIEE de la Universidad del Valle en Santiago de Cali 2011. Sus principales intereses de investigación son la Computación Embebida, Seguridad Informática, Diseño digital, Diseño con FPGAs y Computación Cuántica.

Esteban Oliveros Montoya Miembro IEEE desde 2010. Nacido en Santiago de Cali, Colombia en 1988. Graduado como Ingeniero Electrónico en la EIEE de la Universidad del Valle en Santiago de Cali en 2011. Actualmente cursa su M.Sc en la misma Universidad, sus principales intereses de investigación son las tecnologías del habla, visión de computador, inteligencia computacional y el procesamiento digital de señales.

Hernando Mosquera de la Cruz Joven profesional nacido en Santiago de Cali, Colombia en 1989. Graduado como Ingeniero Electrónico de la EIEE de

la Universidad del Valle en Santiago de Cali 2011, sus principales intereses de

investigación son los sistemas de interacción humano-máquina, la inteligencia

computacional, los sistemas digitales, tecnologías de los micro-controladores

y la visión artificial.

John Michael Espinosa Duran Ingeniero Electrónico de la EIEE de la Universidad del Valle. Cursa sus estudios de maestría en la misma universidad. Sus principales intereses de investigación son el Diseño digital, Nanotecnología y el Diseño analógico resistente a la radiación Ionizante.

Humberto Loaiza Correa Ph.D. Profesor titular en la EIEE de la Universidad del Valle, obtuvo los títulos de ingeniero electricista (1990) y Maestría en Automática (1995) en esta misma universidad. Realizo su doctorado en Robótica en la Univesite D'evry Val D'essonne. Sus principales intereses de investigación son el procesamiento digital de señales e imágenes, robótica, inteligencia computacional y reconocimiento de patrones.