Você está na página 1de 88

Memorias

XIII Simposio de Tratamiento


de Señales, Imágenes y Visión Artificial

STSIVA 2008

Tomo II
Bucaramanga, 10, 11 y 12 de Septiembre
DIRECTIVOS Luis David Avendaño Valencia
Julio César García Álvarez
Fray Orlando Rueda Acevedo, O.P. Jesús Vega
Rector Julián Betancur
Fray Guillermo León Villa Hincapié O.P.
Vicerrector Académico
Decano División de Ingenierías PRODUCCIÓN CREATIVA
Fray Guillermo León Villa Hincapié O.P.
Decano División de Ingenierías y Arquitectura Departamento de Publicaciones
Fray José Rodrigo Arias Duque O.P. Directora Dpto. Publicaciones
Vicerrector Administrativo-Financiero C.P. Luz Marina Manrique Cáceres
Diseño y Diagramación
Pub. Luis Alberto Barbosa Jaime
COMITÉ ORGANIZADOR
Impresión
Luis Ómar Sarmiento Álvarez DISTRIGRAF Impresores
Presidente Comité Organizador
Jesús E. Laborde © Universidad Santo Tomás
Coordinador Comité Organizador
Dolly Smith Flórez Moreno ISSN 978-958-8477-00-8
Mónica Andrea Rico Martínez
Mayra Fernando Blanco Almeida
Ana Isabel Campos
Jenny Rocío Gómez
Jenniffer Dayanna Martínez
Adriana Quintana Ballén
María Lorenza Pinto Suárez
Jorge Alberto Martínez Campo

COMITÉ CIENTÍFICO:

Sonia Helena Contreras Ortiz


Juan Carlos Martínez Santos
Leonardo Ramírez
Pedro Raúl Vizcaya Guarín
Luis Fredy Sosa Quintero
Javier González
Mauricio Díaz
Alexánder Cerquera
Héctor Cancino
César Augusto Quintero Obando
Neil Guerrero González
Pablo Emilio Jojoa Gómez
Rodrigo Herrera
Edward Wilder Caro Anzola
Augusto Salazar
Diego Rolando Mahecha Capacho
Jhon Jairo Pérez Gelves
William Castro
Carlos Andrés Madrigal González
Fabián Jiménez López
Paola Fernanda Guzmán
Andrea Liliana Rodríguez Sánchez
Milton Forero López
César Augusto Isaza Bohórquez
Edwin Gómez
Rodolfo Sanchez García
Contenido
Presentación 7

Diseño e implementación de una herramienta computacional para soporte


del análisis de la marcha empleando técnicas de visión artificial 9

Identificación de formas, colores, tamaño y ubicación cartesiana de objetos


mediante métodos de visión artificial aplicado al control de
manipuladores robóticos 14

Arquitectura hardware para la implementación FPGA de algoritmos de


extracción de bordes en imágenes 19

Transformada wavelet y técnicas de filtrado no lineal aplicadas


a la detección de microcalcificaciones en mamografías digitales 23

Algoritmo de apoyo para el diagnóstico de tuberculosis pulmonar


mediante el procesamiento digital de imágenes 27

Caracterización del grado de madurez del limón Tahití 31

Diseño e implementación de un prototipo de software para la visualización


de videos a 360º 36

Reparametrización de mallas triangulares en cuadriláteros 40

Reconstrucción y mejoramiento de imágenes 44

Propuesta de un sistema de verificación de hablantes basado en máquinas


de vectores de soporte 49

Aplicación de modelos paramétricos a la caracterización de señales sísmicas 53

Control de mouse através de señales EOG y algoritmos de Boosting 57


Análisis de las deficiencias del uso de enveloping en la señal digital de vibración 61

Detección de rostros frontales y componentes faciales sobre secuencias


de imágenes 65

Arquitectura usando aritmética entera orientada a la extracción de los


coeficientes de predicción lineal sobre PDSP y FPGA 69

Mobile robot using adaptable fuzzy control on a digital signal processor 73

Detección de características geométricas sobre imágenes 2D, empleando


técnicas de momentos invariantes 77

Reconocimiento de expresiones faciales combinando métodos Kernel e ICA 81

Desarrollo de una aplicación para visualizar objetos 3D en Ambientes y Sistemas


de Inmersión 85

Interpretación dinámica de bioseñales usando técnicas de análisis no lineal 89

Implementación de una herramienta para la adquisición de variables


de tráfico: peatones y vehículos, utilizada en la evaluación del riesgo de
peatones que cruzan la vía 95

Representación de detalles en imágenes usando cuadros diádicos y reglas


de información basados en Wavelets 99

Ajuste circular en sensores térmicos 104

Transmisión de imágenes diagnosticas a través de sistemas de radio UHF/VHF 108

Sistema de Telediagnóstico Médico 111

Prototipo de contador electrónico trifásico de energía eléctrica para control


y monitorización remota utilizando DSPs 115

Diseño de un colorímetro basado en una cámara CCD para aplicación


en inspección de color en telas utilizando el modelo CIE L*a*b* (Julio 2008) 120
Las “Wavelets Package” en la reducción de ruido de señales de
espectroscopía de resonancia magnética 124

Métodos de segmentación del patrón de las venas del dorso de la mano


basados en filtros Shock coherentes 128

Verificación de personal por el patrón de las venas del dorso de la mano 135

Sistema de visión 3D para control cinemático de un brazo robot 142

Eliminación de ruido impulsivo por medio de la utilización de funciones


de base radial 147

Transmisión y recepción de señales de electrocardiografía mediante


Short Message Service (SMS) 151

Diseño de un módulo en FPGA para el procesamiento de señales de ECG 154

Sistema de Tele-Consulta a través de la red 158

Sistema de tele-consulta móvil asistida por GPS 163

Análisis comparativo del entrenamiento de modelos ocultos de Markov


mediante esquemas generativos y discriminativos 169

Entorno software para la obtención del electrocardiograma fetal 173

Análisis espectral para deteccion de fallas en motores diesel


serie ISC (Tracto camiones) 178

Sistema para la recuperación de imágenes usando descriptores de forma 183

Carpet wear classification using coocurrence matrices and support


vector machines 188

Numerical reconstruction of spectral reflectance curves for multispectral


imaging, combining different techniques and a neural Network 192
Desarrollo del prototipo de un sistema de control y monitoreo para el
vuelo de un cohete 197

Medidas antropométricas para la identificación de características en


imágenes del rostro 204

Sistema de clasificación de imágenes basado en técnicas de reconocimiento


de patrones aplicado en termografía y robótica 208

Sistema de localización para un robot móvil utilizando visión global 213

Sistema de seguimiento de un objeto en movimiento usando arquitectura


de visión foveal 218

Sistema de localización y seguimiento de un conjunto de robots móviles


utilizando visión global 225

Utilización de matrices lógicas programables por campo FPGA, para


la implementación de un sistema de evaluación de redes neuronales
orientadas al reconocimiento de patrones de imagen 230

Identificación de color, tamaño y forma mediante técnicas de visión


artificial y lógica difusa en banda transportadora 235

Viabilidad de la detección precoz de cáncer de cuello uterino por


medio del análisis de la respuesta fluorescente natural en muestras ex-vivo 239

Reconocimiento de imágenes en una mesa XY mediante lógica difusa 244

Detección e identificación de rostros utilizando SVM y color 250

VHDL open core for implementation of IEEE-754 single precision


multiplication standard on FPGAs 256
Presentación

La División de Ingenierías de la Universidad Santo Tomás, Seccional Bucaramanga, tuvo el honor de ser
el ente organizador del XIII Simposio de Tratamiento de Señales, Imágenes y Visión Artificial STSIVA
2008, durante los días 10, 11 y 12 de septiembre de 2008 en la ciudad de Bucaramanga, cuyo objetivo era
el de promover el intercambio de experiencias académicas e investigativas en procesamiento de señales,
imágenes y visión artificial en un espacio que permita la revisión del estado del arte y la actualización de
métodos, técnicas y aplicaciones empleados en las diferentes áreas temáticas, tanto en el ámbito nacional
como en el internacional.

El Simposio de Tratamiento de Señales, Imágenes y Visión Artificial, cuya sede se rota anualmente por
las diferentes regiones del país, es un evento creado por la Sociedad Colombiana de Tratamiento de
Señales y cuenta recientemente con el apoyo del Capítulo Colombiano de Procesamiento de Señales del
IEEE. La realización de esta nueva versión contó adicionalmente con la cofinanciación de Colciencias y
con la coordinación de la Línea de Investigación en Procesamiento de Señales perteneciente a la Unidad
de Investigaciones de la Facultad de Ingeniería de Telecomunicaciones UNITEL, entre otras instancias
de la Universidad Santo Tomás de Bucaramanga.

STSIVA 2008 rompió récord respecto a las versiones anteriores en cuanto a asistencia, número de
trabajos inscritos y participación de ponentes internacionales, ya que contó con la inscripción de 365
participantes entre ponentes y asistentes, se recibieron 227 trabajos, de los cuales, después del proceso de
evaluación por pares, se seleccionaron los mejores 107 artículos incluidos en su totalidad en la presente
publicación, y se aceptaron en total seis artículos internacionales, dos de España, dos de Brasil, uno de
Alemania y otro de Bélgica.

Las presentes memorias contienen los artículos de las ponencias realizadas en STSIVA 2008. La
publicación se ha organizado en dos tomos, con 53 artículos el primero y 54 el segundo. El orden en el
que se presentan los artículos responde únicamente al número consecutivo que se asignó a cada trabajo
en el momento de la inscripción. Los trabajos se presentan sin hacer diferencia entre trabajos presentados
en ponencias orales y los presentados como póster ya que la modalidad de los trabajos es independiente
de la calidad de los mismos.

Los 107 artículos recibidos participaron en las siguientes temáticas: técnicas y aplicaciones del
procesamiento de señales, procesamiento de imágenes y señales multidimensionales, tratamiento de
señales de video, visión artificial, procesamiento de señales de origen biológico, aplicaciones desarrolladas
con DSPS Y PLDS (FPGA), educación en señales, imágenes y visión artificial, tratamiento de señales
de voz y audio y procesamiento de señales multimedia. Las temáticas con el mayor número de artículos
aceptados fueron en su orden: técnicas y aplicaciones del procesamiento de señales, procesamiento de
imágenes y señales multidimensionales, y visión artificial.
Paralelo al evento, se presentaron tres conferencias magistrales a cargo de expertos internacionales en
procesamiento de señal. Los conferencistas y los temas fueron: El Dr. José Millet Roig de la Universidad
Politécnica de Valencia participó con el tema “Aplicaciones del procesado digital de bioseñales a la
cardiología”, el Dr. Alberto González Salvador, también de la Universidad Politécnica de Valencia con
la conferencia “Algoritmos de detección por búsqueda en árbol (Sphere Decoders) para sistemas de
comunicaciones MIMO”, y la Dra. Amy Reibman, conferencista distinguida del IEEE con el tema “Image
and video quality assessment: The truth about PSNR”.

Como presiente del Comité Organizador de STSIVA 2008 y en representación de la Universidad Santo
Tomás Seccional Bucaramanga, con la satisfacción de haber cumplido a con los objetivos propuestos y
haber superado con creces las expectativas planteadas, con el agradecimiento a todas y todos quienes
participaron en la organización del evento y en constancia del alto nivel académico y científico, pongo
a su consideración esta edición impresa de las memorias del XIII Simposio de Tratamiento de Señales
Imágenes y Visión Artificial.

Cordialmente,

Luis Ómar Sarmiento Álvarez


Presidente del Comité Organizador STSIVA 2008
losarmiento@ustabuca.edu.co
Diseño e implementación de una herramienta computacional
para soporte del análisis de la marcha empleando técnicas de
DISEÑO E IMPLEMENTACIÓN
visión artificial DE UNA
HERRAMIENTA COMPUTACIONAL PARA
Edgar Roa, Ricardo Rivas, José Becerra, Neil Guerrero G.
SOPORTE DEL ANÁLISIS DE LA MARCHA
EMPLEANDO TÉCNICAS DE VISIÓN ARTIFICIAL

Edgar Roa, Ricardo Rivas, José Becerra, Neil Guerrero G.

alternativamente para proporcionar tanto soporte como


Abstract— Para el registro de la marcha y su análisis clínico, el propulsion, con al menos un pie al tiempo en contacto con el
procesamiento de imágenes ha jugado un papel importante en la suelo. Es un proceso periódico y el paso describe la manera o
construcción de modelos para la medición de los parámetros el estilo de la marcha, con un intercambio continuo entre
sometidos a evaluación. Uno de los métodos consiste en la
construcción del modelo después de la segmentación de los
movilidad y estabilidad [1]. Para el registro de la marcha, el
marcadores ubicados sobre las personas de manera controlada. desarrollo de sistemas automáticos ha acelerado los procesos
Este trabajo propone una metodología de segmentación de medición y para el caso de análisis clínico, ha posibilitado
automática de los marcadores en imágenes para análisis de la la proporción de diagnósticos objetivos de la marcha. En este
marcha empleando Redes de Funciones de Base Radial (RBFN) sentido, el procesamiento de señales juega un papel
en el espacio del color Rojo, Verde y Azul (RGB), reduciendo los importante tanto en el procesamiento de la imagen con el fin
efectos negativos de la iluminación al evitar el mapeo contractivo
de extraer marcadores en los pacientes que permitan la
de los imágenes en escala de grises. La herramienta desarrollada
entrega automáticamente los ángulos de evaluación del modelo construcción de modelos [2], como para reducciones de
de los miembros inferiores del cuerpo humano. dimensionalidad de características, en etapas más avanzadas
[3]. Para identificación y seguimiento de personas, se han
Index Terms— Gait analysis, Image segmentation, RBF implementado varios métodos. Algunos autores han propuesto
network. seguimiento y caracterización de siluetas humanas. En [4] se
propuso un modelo estadístico para detección y seguimiento
de la silueta humana y la construcción subsiguiente de un
I. INTRODUCCIÓN
modelo esquelético 3D en secuencias de pasos. Se trabajó

L A marcha normal en humanos puede ser definida como un


método de desplazamiento que involucra dos piernas
sobre un modelo de distribución de puntos (PDM) usando
análisis de componentes principales (PCA). Se presentaron
problemas con la no linealidad de PCA, y para análisis clínico
Este manuscrito fué sometido a evaluación el 21 de Abril de 2008. El trabajo no se garantizó confiabilidad en las medidas de ángulos o
fué desarrollado en el marco del proyecto “Análisis de la Marcha Humana velocidades en los segmentos del cuerpo. En [5] se presentó
Empelando Técnicas de Visión Artificial” al interior del grupo de
investigación en Biomecánica y automatización de la Universidad Autónoma una metodología general para el aprendizaje de movimientos
de Manizales (Colombia). articulados, empleando un clasificador bayesiano después de
Edgar Roa Guerrero es estudiante de Ingeniería Electrónica de la Universidad la aplicación de técnicas clásicas para extracción de
Francisco de Paula Santander, (ing_edgar_roa@hotmail.com).
Ricardo Rivas Ramos es estudiante de Ingeniería Electrónica de la
características. El método fué aplicado en análisis de marcha
Universidad Autónoma de Manizales, (ricardorivasra@hotmail.com). humana y seguimiento, pero está restringido a movimientos
José Armando Becerra Vargas es Ingeniero Electrónico. Es docente del coordinados tales como análisis de comportamiento de robots.
departamento de Ingeniería Electrónica de la Universidad Francisco de Paula El problema principal radicó en el tiempo del ciclo de la
Santander y actualmente es director del departamento de Electricidad y
Electrónica de la Universidad Francisco de Paula Santander
marcha, y las dimensiones de la red bayesiana debido a la
(JAbecerr@bari.ufps.edu.co) necesidad de grabar todo el proceso. En [9] se presentó un
Neil Guerrero González es Ingeniero Electrónico y MsC. En Ingeniería en la análisis de la marcha humana usando medidas biométricas no
linea de Automatización Industrial de la Universidad Nacional de Colombia. invasivas. El método usó secuencias de siluetas que son
Es docente del departamento de Ingeniería Electrónica de la Universidad
Autónoma de Manizales y actualmente es estudiante de doctorado de la
transformadas a un embebido de baja dimensión por medio de
Universidad Tecnológica de Dinamarca (ngg@com.dtu.dk) procesos Gaussianos. Otros autores han trabajado sobre

Memorias STSIVA 2008 Tomo II 9 - 13


10 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

marcadores en el cuerpo humano que son segmentados para posible en que puede descomponerse, de tal manera que
luego construir modelos cinemáticos. En [6] se presentó una ρ ∈ Ω . Defínase la función de color mostrada en la Ecuación
metodología para análisis de la marcha humana usando un 1, como el mapeo a un espacio tridimensional de cada pixel de
sistema de marcadores. El reconocimiento de las piernas se la imagen. Este espacio será llamado espacio de color siendo
realizó en secuencias de imágenes en niveles de gris sus componentes los colores rojo (R), verde (G) y azul (B) y
empleando operadores morfológicos y luego se construyó un cada uno de éstos tendrá valores enteros entre 0 y 255, como
modelo tridimensional a partir de curvas supercuádricas se define en la Ecuación 2.
utilizando una regresión por el método de mínimos cuadrados.
La metodología requiere de una inicialización más adecuada y
un aumento en la tasa de tomas fotográficas para capturar los I : Ω → ] 3 (1)
movimientos rápidos de los pies. Finalmente, algunos
investigadores han propuesto adecuación de laboratorios
I ( ρ (Ω1 , Ω2 )) = [ I ρ1 , I ρ2 , I ρ3 ] 0 ≤ I ρ1 , I ρ 2 , I ρ3 ≤ 255
construyendo plataformas a partir de sensores para análisis de
la marcha humana. En [7] se propuso un sistema de sensores (2)
multipropósito y algoritmos de análisis de fase para predecir y
estimar comportamientos del ser humano en avance. Este Considérese el problema de la agrupación de píxeles y
sistema se compone de encoders, sensores FSR y tarjetas defínase λ como como la función de probabilidad de
FPGA para procesamiento de datos. En [8] se diseñó e pertenencia (FPP) del píxel a un conjunto Λ . Defínase ahora
implementó una plataforma robótica para aplicar velocidades el valor λ0 como el umbral que debe ser superado en la
o aceleraciones controladas como perturbaciones a la evaluación de la FPP para pertener al conjunto. La Ecuación 3
superficie del suelo. muestra esta formulación.

Este trabajo propone una metodología de segmentación ρ ∈ Λ → λ ( I ( ρ )) ≥ λ0 (3)


automática de los marcadores en imágenes para análisis de la
marcha humana empleando RBFN en el espacio del color
Permítase ahora como FPP una función de base radial con
RGB, reduciendo los efectos negativos de la iluminación al
evitar el mapeo contractivo de los imágenes en escala de media μ y desviación estándar σ 2 , cómo se ve en la
grises. La herramienta desarrollada entrega automáticamente Ecuación 4.
los ángulos de evaluación del modelo de los miembros
inferiores del cuerpo humano. I ( ρ )− μ
1 −
La segunda sección del documento hace una presentación λ ( I ( ρ )) = e σ2
(4)
breve del método RBFN en imágenes. La sección tres presenta 2πσ 2

la metodología de segmentación propuesta, con dos


Donde μ y σ son parámetros que contienen la
2
subsecciones que describen los algoritmos para la
identificación automática de los marcadores y el trazado de información de los marcadores que se quieren extraer de la
vectores. La sección cuatro presenta los resultados y imagen. Estos valores son calculados a partir de los valores en
finalmente en la sección cinco, se presenta una breve los componentes rojo, verde y azul de los “pixels marcadores”
discussion y se concluye el trabajo. que son seleccionados previamente. El valor λ0 es ajustado en
el entrenamiento del sistema y como resultado de la búsqueda
heurística para el desarrollo de este trabajo, se recomienda que
sea superior a 0.8. El parámetro σ es utlizado como ajuste
2
II. FUNCIONES DE BASE RADIAL EN IMAGENES
de la escala, haciendo más estricto o no el cumplimiento de la
Las Funciones de Base Radial (RBF) han sido utilizadas regla de agrupación.
para implementer modelos regresivos, para interpolar
superficies o volúmenes en aplicaciones de computación
gráfica, para suavizar señales, entre otras aplicaciones [10].
Este trabajo aplica las RBF para evaluar y clasificar la III. METODOLOGIA PROPUESTA
distancia en el espacio de color RGB entre cada píxel de la
imagen y un punto específico dentro del mismo que representa El desarrollo del trabajo incluye cuatro actividades que van
el color conocido del marcador puesto sobre la persona, con el desde la toma de fotografías hasta el trazado automático de los
fin de extraer la información espacial de los pixeles vectores de análisis. El Algoritmo 1 describe cada actividad
pertenecientes a los marcadaores para construir el modelo del trabajo.
cinemático de los miembros inferiors del cuerpo humano.
Algoritmo 1: Detección automática de marcadores
Sea Ω ⊂ ] el domimo de definición de una imagen y ρ
2
Paso 1: Toma de fotografías.
un píxel en la imagen definido como la parte más pequeña
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 11

Paso 2: Segmentación de los marcadores empleando Paso 3: Ajustar con imágenes de entrenamiento el parámetro
funciones de base radial. de umbralización λ0 .

Paso 3: Identificación automática de los puntos.


Paso 4: Detectar las regiones resultantes y sus centroides
después de la umbralización.
Paso 4: Trazado automático de los vectores.

Para la toma de fotografías se utilizó una cámara Lumix


Antes del proceso de segmentación, es necesario un
DCM – LZ2 en un espacio sin control de iluminación y con
preproceso para homogeneizar el color. Para este trabajo, se
fondo de color variable. La Figura 1 muestra la fotografía de
implementó un filtro de mediana, con una ventana de tamaño
una mujer con marcadores rojos en cuatro puntos de su pierna.
5x5.

B. IDENTIFICACIÓN AUTOMÁTICA DE LOS


MARCADORES.

El modelo de los miembros inferiores del cuerpo humano


adoptado para este trabajo, es el modelo de vectores rígidos
que representan los segmentos cadera – rodilla, rodilla – talón
y talón – punta de pies. Para el trazado de estos vectores, son
necesarios solo cuatro puntos. El punto 1 será el marcador
ubicado en la cadera del paciente, el punto 2 el marcador de la
rodilla, el punto 3 el marcador del talón y el punto 4 el
marcador de la punta de los pies.
Figura 1: Fotografía de un paciente femenino.
El problema de la rotación y traslación de estos puntos require
la identificación de características estables para cada punto. El
Una vez son tomadas las fotografías, los marcadores son Algoritmo 3 describe los pasos basados en estas caratcerísticas
segmentados empleando una function de base radial en el para identificar los marcadores.
espacio de color RGB, como se explicó en la sección anterior.
El paso siguiente consiste en extraer automáticamente la
información especial de los cuatro marcadores definidos para Algoritmo 3: Identificación automática de los puntos
este trabajo. Es necesario considerar las rotaciones y
traslaciones de estos puntos a lo largo de un ciclo de marcha Paso 1: Identificar del punto 1 como el primer centroide
para realizar el rastreo completo. Finalmente el trazado encontrado en el barrido de la imagen de arriba hacia abajo.
automático de los vectores una vez los puntos son detectados,
requiere de conocimientos básicos de geometría Paso2: Identificar los posibles puntos 3 y 4 como los
computacional y visualización 2D. centroides más cercanos entre si según la distancia euclidiana
en el plano.

A. METODOLOGÍA DE SEGMENTACIÓN. Paso 3: Identificar el punto 2 como centroide no punto 1 ni


posible punto 3 y 4.
El Algoritmo 2 describe paso a paso, el método de Paso 4: Evaluar el sentido del vector resultante del producto
segmentación propuesto para la segmentación de los cruz entre los vectores generados desde el punto 2 hasta los
marcadores empleando RBF. posibles puntos 3 y 4. Sólo el punto final del primer vector
que entrega como resultado un vector en dirección “saliedo
del plano”, será reconocido como punto 3. La identificación
Algoritmo 2: Segmentación empleando redes neuronales de del punto 4 después de esta operación es obvia.
base radial.

Paso 1: Identificar el color promedio en los componentes El paso más crítico es la identificación del punto 3. Como
RGB de los marcadores y calcular μ . se describe en el Algoritmo 3, la distancia más corta sin
importar la fase de la marcha entre los cuatro marcadores,
Paso2: Evaluar la intensidad en cada componente de color involucra dos puntos que tienen posibilidades de ser tanto el
RGB de cada pixel en la FPP utilizando la Ecuación (4). punto 3 (PP3) como el punto 4 (PP4). La identificación segura
12 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

del punto 2 (P2), permite trazar dos vectores desde éste hasta
los posibles puntos 3 y 4 respectivamente. Teniendo en cuenta
la operación básica de producto cruz entre vectores y en
especial la dirección del vector resultante, sólo existirá una
dirección de producto (esto es P2-PP3 a P2-PP4 o viceversa,
siendo P2-PP3 el vector que va desde el punto 2 hasta el
posible punto 3) que sugiera el vector rodilla-talón como
coherente, según el modelo del cuerpo humano. Para este
trabajo, cuando el paciente camina de izquierda a derecha en
la escena, el vector resultante del punto cruz debe tener una
dirección “saliendo del plano” donde se encuentran los
marcadores. El vector de arranque en el producto cruz, será el
vector rodilla-talón, y el putno final de este punto será
identificado como el punto 3 (P3).

IV. RESULTADOS Figura 3: Trazado automático de vectores.


Una vez identificados los puntos del modelo, el trazado
automático de vectores requiere de la aplicación de
conocimientos básicos de geometría. La Figura 2 muestra el
resultado del trazado automático de los vectores para dos fases
distintas de la marcha.

Tabla 1: Angulos medidos por la herramienta desarrollada.

Las Tablas 2 y 3 muestran el resultado de la caracterización de


los ángulos de cada articulación y comparaciones en cada fase
del ciclo de la marcha para pacientes entre las edades de los
18 a los 25 años.

Figura 2a: Inicio de la fase de balanceo.

Tabla 2: Ángulos caracterizados de la marcha en el ciclo de


apoyo.

Una vez identificados los ángulos de máxima y minima


extensión de las articulaciones inferiores del paciente se
realizó la comparación de los resultados de la imagen. La
Figura 4 muestra el resultado entregado por el programa
diseñado.

Figura 2b: Trazado automático de vectores de la Figura 6c.


La Figuras 3 y 4 muestran la aplicación final de la herramienta
desarrollada. En ellas se muestran fotografías procesadas con
los vectores trazados. Los ángulos se muestran en la Tabla 1.
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 13

trazado de los vectores. Esta metodología emplea funciones de


base radial y posibilita la segmentación en el espacio del
color. Así mismo, identifica los marcadores en cada una de las
fases de la marcha, sin importar la rotación o la traslación de
los mismos.

La herramienta desarrollada permite la construcción de


modelos cinemáticos de los miembros inferiores en ambientes
de iluminación no controlados, entregando a los
fisioterapeutas medidas de los ángulos cadera – rodilla, rodilla
– tobillo y tobillo – punta de pies para su análisis.

El algoritmo desarrollado presenta problemas en fotografías


Tabla 3: Ángulos caracterizados de la marcha en el ciclo de
que registren movimiento con marcadores que presenten
balanceo.
emborronamiento. Se recomienda en el momento de su
implementación el uso de cámaras fotográficas que permitan
la captura de fotografías de buena calidad a ratas
suficientemente altas.

AGRADECIMIENTOS
Este proyecto fué desarrollado al interior del grupo de
investigación de biomecánica y automatización de la
Universidad Autónoma de Manizales (Colombia), en el marco
del proyecto “Análisis de la Marcha Humana Empleando
Técnicas de Visión Artificial”.

REFERENCIAS
Figura 4a: Trazado automático de vectores.
[1] H. Lakany. “Extracting a diagnostic gait signature”. Pattern Recognition
41 (2008) pp. 1627 – 1637.

[2] C. Díaz, A. Torres, J. Ramírez, L. García, N. Álvarez. “Descripción de un


dispositivo destinado al análisis de la marcha en dos dimensiones”, in
CineMED. Revista EIA, ISSN 1794-1237 Número 5 p. 85-92. Junio 2006.

[3] N.V. Boulgouris, D. Hatzinakos, K.N. Plataniotos, “Gait Recognition: a


challenging signal processing technology for biometric identification”, IEEE
Signal Process. Mag. 78-84 (2005).

[6] E. F. Desserée Calais, L. R. Legrand. “First Results of a Complete


Marker-Free Methodology for Human Gait Analysis”. Proceedings of the
2005 IEEE Engineering in Medicine and Biology 27th Annual Conference
Shanghai, China, September 1-4, 2005.

[7] D. Chel, O. Kwon, J. Shim, J. Park. “Design of Multipurpose Sensing


System for Human Gait Analysis”. SICE-ICASE International Joint
Conference 2006 Oct. 18-21, 2006 in Bexco, Busan, Korea.

[8] J. Doornik, T. Sinkjær. “Robotic Platform for Human Gait Analysis”.


IEEE Transactions on Biomedical Engineering, Vol. 54, No. 9, September
Figura 4b: Resultados obtenidos mediante la herramiente 2007.
computacional desarrollada.
[9] M. Cheng, M. F. Hoa, C. Huang. “Gait analysis for human identification
through manifold learning and HMM.” Pattern Recognition (2007), doi:
10.1016/j.patcog.2007.11.021.

V. DISCUSION [10] Fabrício Martins Lopes, Luís Augusto Consularo. “A RBFN Perceptive
Model for Image Thresholding”. Proceedings of the XVIII Brazilian
Se desarrolló una metodología de segmentación automática Symposium on Computer Graphics and Image Processing (SIBGRAPI’05).
de marcadores en imágenes para análisis clínico de la marcha, IEEE 2005.
así como de identificación automática de los mismos para el
Identificación de formas, colores, tamaño y ubicación cartesiana
Identificación
de objetos de Formas,
mediante métodos de visiónColores,
artificial Tamaño
aplicado aly control
Ubicación de manipuladores
Cartesiana robóticosMediante
de Objetos
Métodos de Visión Artificial Aplicado al
Sergio Andrés Zabala, Gianni Yasser Rivera, Jhonny Marvin Maldonado y José Manuel Parra

Control de Manipuladores Robóticos


Sergio Andrés Zabala, Gianni Yasser Rivera, Jhonny Marvin Maldonado y José Manuel Parra

cambios de iluminación, requiriendo que los algoritmos de


Abstract—En este documento se presenta una descripción filtrado, detección, y segmentación sean ajustados según las
sintetizada del funcionamiento de un sistema de visión artificial condiciones del entorno donde se quiera experimentar.
para la identificación de objetos, basado en criterios como la Algunos de los sistemas más avanzados se basan en conceptos
forma, el color y el tamaño. La metodología de desarrollo e
implementación, así como los resultados finales, son descritos en
de inteligencia artificial e implementan técnicas basadas en
el presente artículo, destacando las estrategias de visión artificial lógica Fuzzy y redes neuronales [4-5].
utilizadas, los principales descriptores para las imágenes y la En este orden de ideas, el presente artículo propone una
aplicación a un manipulador de tipo pórtico con cuatro grados de metodología de localización de uno o varios objetos, con el fin
libertad. Para llevar a cabo el proyecto, se realizaron y aplicaron de controlar la locomoción del manipulador para llegar hasta
técnicas de pre-procesamiento y adecuación de la imagen, él. La investigación está basada principalmente en la visión
entrenamiento y uso de redes neuronales, así como la gestión de
las señales para el control del manipulador. Es importante
artificial por computador, para manipular las imágenes de un
resaltar que la implementación del sistema de posicionador no es entorno, digitalizadas por medio de una sencilla cámara Web1.
descrita en este artículo, enfocándose solamente al procesamiento En la sección II se realiza la descripción de la metodología
y adecuación de las imágenes. Categoría C2) utilizada para el reconocimiento de formas y colores de los
objetos, la cual detalla los principales parámetros
Index Terms- Iluminación, manipulador tipo pórtico, considerados. En dicha sección se presentan también los
reconocimiento de formas, redes neuronales artificiales, métodos de aprendizaje a partir de redes neuronales, a las
ubicación espacial, visión artificial.
cuales se les asigna como parámetros de entrada un conjunto
de valores numéricos que son el resultado de diferentes
I. INTRODUCCIÓN
propiedades de forma y color de las figuras analizadas
C UALQUIER sistema manipulador autónomo diseñado
para implementarse en un entorno desconocido, necesita
de múltiples sensores (mecánicos, ultrasónicos e infrarrojos) e
(círculos, cuadrados, triángulos, rectángulos).
Por otra parte, la aplicación implementada, así como la
descripción del software de reconocimiento se proporcionan
implementar diferentes estrategias de control para evitar en la Sección III. Finalmente, se presenta un conjunto de
colisiones con obstáculos y detectar con certeza los objetivos conclusiones y comentarios del trabajo realizado, buscando
de su entorno para desplazarse a un punto especifico. Una que el lector comprenda, de manera global, que
alternativa utilizada actualmente, son los sistemas de consideraciones se deben tener en cuenta para el desarrollo de
procesamiento digital de imágenes como los presentados en este tipo de sistemas de reconocimiento.
los trabajos [1-3], para la detección y reconocimiento de
objetos en el espacio de trabajo. Estos modelos de percepción II. RECONOCIMIENTO DE COLORES Y FORMAS
le permiten al sistema manipulador tener un grado de
En esta sección, se realizará una breve descripción de la
autonomía mayor y le ayudan en la toma de decisiones.
metodología utilizada para el reconocimiento e identificación
Una de las consideraciones principales al momento de
de patrones implementado en el presente trabajo. Es
diseñar los sistemas de reconocimiento, es la sensibilidad a los
importante recalcar al lector que se han seleccionado criterios
de color, forma y tamaño; los cuales permiten un
Artículo recibido Julio 11, 2008; revisado Agosto 25,2008. Este trabajo
fue apoyado económica y logísticamente por la Universitaria de
reconocimiento básico de un objeto. Cabe destacar, que para
Investigación y Desarrollo- UDI. efectos de la implementación del programa de reconocimiento,
S. Zabala, G. Rivera, J. Maldonado y J. Parra están vinculados al Grupo de se ha recurrido a la plataforma MATLAB® 7.0, resaltando el
Investigación en Robótica, Control y Procesamiento de Señal GPS, uso de las herramientas suministradas para el tratamiento de
Universitaria de Investigación y Desarrollo(UDI), Bucaramanga, Colombia
(sergiozabala@udi.edu.co, yasser@hotmail.com, jmar433@hotmail.com).
1
Se recurre a este tipo de cámaras buscando la reducción de costos en la
aplicación final.

Memorias STSIVA 2008 Tomo II 14 - 18


XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 15

imágenes y redes neuronales. Sin embargo, el objeto central


de este artículo es presentar la metodología implementada, así
como los resultados obtenidos en aplicaciones específicas, sin
entrar en detalles de la programación del mismo.
A. Reconocimiento de Colores
Una de las mayores dificultades de muchas tareas de visión Fig. 2. Datos de entrenamiento para una red PNN
es adaptar el sistema automáticamente a los cambios de
El problema se centra en la etapa de filtrado, debido al alto
iluminación. En el caso del proyecto, la imagen capturada por
contenido de luz blanca la figura de color verde toma una
la cámara Web presenta un alto contenido de ruidos y
tonalidad cercana al nivel de gris, y al realizar las
sombras, como se muestra en la Fig. 1(a), las cuales afectan
modificaciones en el espacio HSV se elimina, pero se resalta
los resultados de las etapas de segmentación, binarización y
que la red responde de forma adecuada para los demás
reconocimiento de forma. Para reducir este inconveniente, se
colores: rojo, azul y amarillo.
ha realizó una etapa de pre-procesamiento, la cual se
fundamenta en una conversión del espacio RGB al espacio
HSV y en el posterior uso umbrales para cada componente. En
este proceso, la componente de intensidad (V) se homogeniza
con un valor de 0.9 para eliminar el efecto de la sombra. El
ruido se minimiza modificando la componente de saturación,
niveles inferiores a 0.2 se igualan a cero y valores mayores se
igualan a 0.6. La componente de matiz (H) no se modifica (a) b)
Fig. 3. Iluminación con Luz Natural, a) Imagen original, b) Imagen
porque esta contiene la información del color. Un ejemplo de Segmentada.
dicho procedimiento se evidencia en la Fig. 1(b).
En el segundo caso, recurriendo a la iluminación con luz
amarilla, se percibe un cambio en el color de las figuras en la
imagen captada por la cámara Web, el verde toma una
tonalidad cercana al azul y el amarillo se acerca al color
naranja; al pasarla por el filtro este comportamiento se resalta
y la red neuronal no va responder de forma satisfactoria (Fig.
4).

(a) (b)

Fig. 1. Procesamiento inicial de la imagen. (a) Imagen original. (b) Imagen


filtrada.

Para seleccionar las figuras presentes en el escenario de a) b)


Fig. 4. Iluminación con Luz Amarilla, a) Imagen original, b) Imagen
trabajo que compartan el mismo color, se entrenó una red Segmentada
neuronal probabilística PNN [4], utilizando el comando
newpnn de la toolbox de MATLAB. Para su entrenamiento se B. Reconocimiento de formas
utilizó como dato de entrada un vector constituido por una
La función de los algoritmos de reconocimiento es detectar
paleta de 256 niveles de color y la salida es un vector de igual
e identificar cada objeto segmentado de una escena y asignarle
tamaño, con valores de cero y uno, donde un uno representa la
una etiqueta. Una limitante en la mayoría de los sistemas de
posición correspondiente al nivel de color que se quiere
visión, es que los niveles de reconocimiento trabajan objetos
reconocer y un cero lo que se desea descartar (Fig. 2). Se debe
que se supone han sido segmentados como unidades
ser cauteloso al momento de seleccionar los parámetros de la
individuales. Otra limitación común es que las imágenes se
red neuronal, como es el caso del spread, el cual depende de
deben tomar con una geometría de visión conocida, a menudo
las características del entorno en el que se esté trabajando
perpendicular al espacio. Esto hace que disminuya la
como el tipo de iluminación e intensidad de los colores que
diversidad de características de forma, simplificando la
serán segmentados.
segmentación y la descripción, reduciendo a su vez las
Para observar los efectos causados por la iluminación sobre
posibilidades de ocultación de detalles en las imágenes [6].
la segmentación de los colores se tomaron imágenes con luz
El problema de la descripción se centra en extraer
natural y luz amarilla producida por bombillas de 100 Watts.
características de un objeto para reconocerlo. Por lo general,
En la Fig. 3(a)-(b) se observa que la técnica implementada
los descriptores deben ser independientes del tamaño, la
bajo esta condición no responde de forma óptima, ya que no
localización y orientación del objeto, además deben contener
identifica el color verde.
16 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

suficiente información de discriminación para distinguir un


objeto de otro [7]. En esta etapa lo que se hace básicamente,
es reducir la tarea de descripción de una imagen en dos
dimensiones a la descripción de una función unidimensional
por medio de la signatura de las figuras, que es una
representación o modelo funcional unidimensional de un
borde a la cual se le extraen propiedades características como
son los coeficientes de Fourier aplicando el algoritmo de la
Transformada rápida de Fourier (FFT), parámetros
topológicos como la redondez, compacidad y excentricidad y Fig. 6. Reconocimiento de formas en figuras unidas de diferente color.
otros datos estadísticos como el valor medio, la media
aritmética, media geométrica, media armónica, desviación III. DESCRIPCIÓN DEL PROTOTIPO FINAL
estándar y la mediana. En la Fig. 5 se muestra un ejemplo de Para los propósitos de la aplicación de las pruebas y
la extracción de descriptores para un cuadrado. desarrollos descritos en un ambiente real, se ha planteado y
trabajado sobre las características motrices de un manipulador
tipo pórtico con cuatro grados de libertad, tres de
desplazamiento y uno de orientación.
Al trabajar con este tipo de diseños fue necesario crear un
algoritmo de control motriz flexible, el cual permitiera ajustar
las características físicas (longitud y área) del manipulador, ya
que la dimensión del área de trabajo puede variar dependiendo
de la ubicación de la cámara Web. La interfaz gráfica, como
ya se comentó, fue desarrollada en el entorno de MATLAB
7.0, en ella el algoritmo reconoce y ubica automáticamente la
posición y orientación y área de una figura que selecciona el
usuario. En el aparte A. de la presente sección se describirá
con mayor detalle este aplicativo.

Fig. 5. Descriptores de forma para un cuadrado

Los datos extraídos de la signatura son introducidos a una


red back-propagation [6-7] previamente entrenada con un
número de 41 figuras planas en las que se encuentran 12
cuadrados, 8 círculos, 12 triángulos y 9 rectángulos, en
diferentes tamaños y orientación. El vector de salida se
construye asignándole a cada figura un número que la
Fig 7. Reconocimiento de Formas en figuras unidas de un mismo color.
identifique, donde un uno representa un cuadrado, un dos un
rectángulo, el tres es un círculo y el cuatro un triángulo. En este orden de ideas, se plantea entonces un escenario
Con el fin de validar la efectividad de la metodología iluminado con luz blanca fluorescente, uniformemente
utilizada para el reconocimiento de formas, se analizó el distribuida, de tal forma que se presente la menor cantidad de
comportamiento de la red, con una imagen en la cual se ruido y sombras posibles en la imagen. El entorno, en el que
encuentran figuras superpuestas de diferente color y forma se trabajó abarca un área de 1.10m de ancho por 0.80m de
(Fig. 6 y Fig. 7). Para las diferentes figuras se realizaron largo, pintada de color blanco, en el se encuentran distribuidas
decenas de pruebas, donde se observa que el sistema responde de forma aleatoria, figuras planas de diferentes tamaños con
de forma adecuada. Los resultados erróneos se presentan en forma circular, cuadrada, triangular o rectangular, de color
figuras con dimensiones inferiores a 5cm en sus lados, debido rojo, verde, azul o amarillo. El escenario lo complementa una
a la resolución que tiene la cámara, que elimina el detalle de cámara WEB ubicada a una altura de 1.40m, que captura
los bordes y esquinas en cada figura, aproximando, por imágenes a una velocidad de 15 cuadros por segundo, con una
ejemplo, un cuadrado a un círculo. En el caso que se unan dos resolución de 640x480 píxeles (Fig. 8).
figuras del mismo color, la red la aproxima a una de las cuatro
figuras que se utilizaron para el entrenamiento, ya que las A. Descripción aplicativo software de reconocimiento y
toma como un solo objeto. control de posición
Luego de realizar los análisis y pruebas descritas sobre el
espacio trabajado, se desarrolló el aplicativo software , el cual
cuenta con una interfaz de usuario constituida por una pantalla
principal, presentada en Fig. 9(a) y con el subprograma para
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 17

el entrenamiento de la red neuronal con los objetos utilizados robóticos. En general, se pueden destacar los siguientes
y registrados por la imagen. Fig. 9(b). elementos como conclusiones del presente trabajo:

• Los diferentes tipos de iluminación sobre el escenario


afectan directamente los algoritmos de reconocimiento
de color y forma, debido a que la etapa previa de
acondicionamiento de la imagen no genera los
resultados esperados. Esta situación se evidencia en las
imágenes con demasiada iluminación, donde no es
conveniente homogenizar la componente de
Fig. 8. Esquema del escenario de trabajo. intensidad, pues ocasiona saturación y eliminación e
figuras.
• Se vuelve fundamental el uso de filtros adaptativos
para el mejoramiento de la iluminación, buscando
aumentar la capacidad de operación del manipulador
en ambientes no controlados.
• El principal problema del reconocimiento de formas es
su dependencia directa con el algoritmo de
segmentación de colores, porque al presentarse
problemas en las condiciones de iluminación no se
identificarían de forma clara los bordes de las figuras,
generándose datos erróneos en los descriptores de
forma utilizados. Una buena solución para este
problema es realizar algoritmos de segmentación y
(a) reconocimiento totalmente independientes.
• Se deben tener en cuenta todas las características
mecánicas del manipulador a la hora de desarrollar los
algoritmos de control y locomoción porque la
imprecisión de su diseño afecta de forma considerable
sus movimientos.
• La desventaja de trabajar sobre escenarios que
suponen un entorno con cámaras en posición fija, es
que el espacio de trabajo se ve limitado al rango de
visión de la cámara implementada, reduciendo el área
(b) de exploración. Se plantea, como trabajo futuro ubicar
Fig. 9. Aplicativo Software. (a) Ventana principal para reconocimiento y una cámara móvil sobre el manipulador, para tener una
control del manipulador. (b) Ventana del entrenador de la red neuronal visión periférica del ambiente, además se propone la
realización de comunicación vía inalámbrica.
En síntesis, la interfaz principal permite visualizar el
número de figuras, ya sea por forma, color, tamaño; a su vez V. REFERENCIAS
permite combinar criterios de elección. [1] AMAYA QUINTERO, Yamit Danilo. Universidad Industrial de
También cuenta con un control manual del elemento Santander, Bucaramanga. Facultad de Ingenierías Fisico-Mecanicas.
posicionador, el cual envía las señales a un puerto serie Escuela de ingenierías eléctrica, electrónica, y telecomunicaciones.
convencional, encargado de la gestión del movimiento del Localización dinámica de móviles y obstáculos en una escena controlada
para aplicaciones en robótica. Marzo 2005.
manipulador descrito con anterioridad. Finalmente, se cuenta [2] FLÓREZ, Juan Fernando. Universidad del Cauca, Colombia.
con una herramienta denominada Entrenador para el Herramienta para la experimentación con robots móviles aplicando
reconocimiento de figuras, la cual permite realizar la control inteligente y visión por ordenador.
[3] RAMOS, Marcos Daniel. Escuela Politécnica Universidad de Alcalá.
adecuación de la red neuronal, basado en el análisis de las Micro-robot futbolista GOLIATTOR.
figuras existentes fundamentándose en la forma, en las [4] HAYKIN, Simon, Neural networks a comprehensive foundation. 2ed.
propiedades métricas descritas en la Fig. 5 y en el número de Ed. Prentice-Hall. 842 p. 1999. ISBN 0139083855.
[5] M.A. Zamora, L.M. Grupo de Visión, Robótica y Proy. Universidad de
neuronas por capa. Murcia. H.Martínez, A.G.Skarmeta. Dpto. Inf., Inteligencia artificial y
electrónica Facultad de informática Universidad de Murcia. Navegación
IV. CONCLUSIONES planificada de un robot móvil en entornos interiores desconocidos.
[6] PAJARES MARTINSANZ, Gonzalo. Redes neuronales artificiales:
En este documento se ha presentado la metodología para el fundamentos modelos y aplicaciones. Ed. Addison-Wesley
desarrollo de una herramienta para el reconocimiento de Iberoamericana 390p. 1995. ISBN 0-201-87895-X.
figuras, basada en descriptores de forma, color y tamaño; [7] PAJARES MARTINSANZ, Gonzalo. Visión por computador: Imágenes
digitales y aplicaciones. Ed. Alfaomega. 764p. 2002. ISBN 970-15-
aplicado en el control de manipuladores y posicionadores 0804-1.
18 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

VI. BIOGRAFÍAS

Sergio Zabala (1982) nació en Bucaramanga,


Colombia el 7 de Noviembre de 1921. Obtuvo su grado
de bachiller del Colegio Franciscano del Virrey Solís en
1999. Realizó sus estudios de pregrado en Ingeniería
Electrónica en la Universidad Industrial de Santander,
donde obtuvo su titulo en Octubre de 2005. En su
experiencia profesional cuenta con la participación
como docente de tiempo completo de la Universitaria de
Investigación y Desarrollo, así como docente cátedra de
la Universidad Industrial de Santander. Participa
actualmente en la procesos de investigación en la UDI, como lider del grupo
de investigación en Robótica, Control y Procesamiento de Señales GPS.
Actualmente, desarrolla sus estudios de Maestría en Ingeniería Electrónica en
la UIS.

Gianni Yasser Rivera (1975) nació en Bucarmanga


en el año de 1979.. Llevó a cabo sus estudios en la
Universitaria de Investigación y Desarrollo
obteniendo el grado de Ingeniero Electrónico en el
año 2004. Se desempeña actualmente como jefe del
laboratorio de Metrología de la Universitaria de
Investigación y Desarrollo; además como asesor para
el grupo de investigación GPS-UDI en el área de
Sensores y Control de Procesos. Ha liderado varios
proyectos de pregrado en el área de redes de sensores,
procesamiento de imágenes y tratamiento de señal.

Jhonny Marvin Maldonado (1979) nació en


Villanueva en el año de 1979. Estudió su bachillerato en
el Colegio Nacional Roque de Alba. Llevó a cabo sus
estudios en la Universitaria de Investigación y
Desarrollo obteniendo el grado de Ingeniero Electrónico
en el año 2007. Se desempeña actualmente como
trabajador independiente en el área de redes de datos y
procesos de automatización.

Jose Manuel Parra (1984) nació en Providencia en


el año de 1984. Estudió su bachillerato en el Colegio
de la Salle. Llevó a cabo sus estudios en la
Universitaria de Investigación y Desarrollo
obteniendo el grado de Ingeniero Electrónico en el
año 2007. Se desempeña actualmente como trabajador
independiente en el área de redes de datos y procesos
de automatización.
Arquitectura hardware para la implementación FPGA de algorit-
mos de extracción de bordes en imágenes
Arquitectura Hardware para la Implementación
FPGA de Algoritmos de Extracción de Bordes
Lorena Vargas Quintero, Leiner Barba Jiménez, Cesar Torres, Lorenzo Mattos

en Imágenes
Lorena Vargas Quintero, Leiner Barba Jiménez, Cesar Torres, Lorenzo Mattos

técnica es medir la magnitud del vector gradiente en la


Resumen— Este trabajo describe la implementación de una posición del píxel. Este método trabaja bien cuando la
arquitectura hardware sobre FPGA de algoritmos de extracción transición del píxel es bastante abrupta como una función
de bordes en imágenes basados en técnicas orientadas al píxel. escalón. Cuando sucede lo contrario es más conveniente
Los bordes son píxeles alrededor de los cuales la imagen aplicar la técnica de la segunda derivada [10].
representa una brusca variación en los niveles de gris y la En años recientes, los sistemas hardware basados en FPGA
obtención de ellos representa una de las aplicaciones más
han sido ampliamente usados para desarrollar diferentes tipos
utilizadas en procesamiento digital de imágenes. En el diseño, los
algoritmos de extracción de bordes son desarrollados usando de aplicaciones digitales incluyendo procesadores, maquinas
Lenguaje de Descripción de Hardware (VHDL). El FPGA es de computación específica y tarjetas de desarrollo de rápido
usado para la implementación gracias a que pueden reducir procesamiento. Un sistema con hardware reconfigurable
considerablemente el tiempo de desarrollo, es fácil de FPGA tiene múltiples ventajas, sobre todo porque pueden
reprogramar, tiene bajo precio, y permite implementaciones tipo agilizar el tiempo de procesos de muchas aplicaciones en
hardware de sistemas completos en forma rápida y no muy comparación con implementaciones en herramientas de
costosa. La arquitectura es evaluada usando imágenes de software. Debido a su naturaleza reconfigurable, los FPGAs
diferentes tamaños y características. pueden implementar múltiples tareas en tiempos diferentes,
por lo que los sistemas pueden ser escalables [11].
Palabras claves — Procesamiento digital de imágenes, detección Algunos trabajos de implementación de filtros de bordes
de bordes de una imagen, Lenguaje de Descripción de Hardware
de imágenes sobre FPGA han sido propuestos [12]-[13].
VHDL, Arreglo Compuertas de Campo Programable FPGA.
Este trabajo propone una arquitectura hardware para la
implementación FPGA de algoritmos de extracción de bordes
I. INTRODUCCIÓN
de imágenes basados en técnicas de primera y segunda

L OS bordes son una de las características mas importantes


en una imagen, por lo que su detección constituye una de
las tareas más relevantes en el procesamiento digital de
derivada.
El resto del artículo es organizado así. La sección II
describe las técnicas de detección de bordes; la sección III y
imágenes debido, fundamentalmente, a que están relacionados IV ilustra la arquitectura hardware de los algoritmos
con la delimitación y segmentación de zonas. La detección de implementados; la sección V resume la implementación
bordes ha sido extensamente analizada en visión por FPGA. La sección VI muestra los resultados y la sección VII
computador durante los últimos años, [1] – [8]. las conclusiones.
El problema de la detección de bordes en imágenes
digitales se ha abordado en la literatura desde dos puntos de II. TECNICAS DE DETECCIÓN DE BORDES ORIENTADAS AL PIXEL
vista diferentes: técnicas orientadas al pixel, y técnicas
Dentro de los distintos operadores utilizados para la
orientadas a la región. Las técnicas de detección de bordes
detección de bordes, se suele distinguir entre los operadores
orientadas al pixel se basan en la detección de
de la primera y de la segunda derivada. Entre los operadores
discontinuidades (transiciones fuertes) en la información de
de la primera derivada, cabe destacar aquellos que hacen uso
los pixeles de una imagen, mientras que las técnicas
del gradiente. Los de la segunda derivada los más importantes
orientadas a la región determinan el proceso de detección
son la Laplaciana y la Laplaciana de la Gaussiana. El uso de
mediante una medida cuantitativa de ciertas propiedades de un
estos tipos de operadores está muy extendido y conforman la
grupo conexo de pixeles [9].
base de muchos filtros utilizados en la actualidad.
Los bordes en imágenes en escala de grises pueden ser
considerados como un cambio abrupto de los niveles de gris A. Técnicas de Primera Derivada
en la posición del píxel. Un cambio en la función imagen se Un borde es una variación significativa del nivel de gris.
puede describir por un gradiente que apunta en la dirección de Tomando la derivada en cada posición de píxel, se puede
mayor crecimiento de la función imagen. Por lo tanto una determinar la rata de cambio del nivel de intensidad. La
primera derivada es cero en todas las regiones donde el nivel
Todos los autores son miembros del Grupo de Óptica e Informática - de gris es constante y tiene un valor distinto de cero en
Universidad Popular del Cesar.

Memorias STSIVA 2008 Tomo II 19 - 22


20 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

transiciones de nivel de gris, ver figura 1. Por tanto, un puntos, excepto en el comienzo y en el final de una transición
cambio de intensidad o borde, se manifiesta como un cambio de intensidad. Cuando ocurre un cambio de intensidad o borde
brusco en la primera derivada. en una imagen, se presenta un paso por cero, es decir, se
produce un cambio de signo en su valor en la segunda
derivada, tal como se observa en la figura 1.
Uno de los operadores de segunda derivada más usado es la
máscara Laplaciana, la cual es un filtro pasaalto que resalta los
cambios bruscos dentro de la imagen (figura 3).

Figura 1. Representación de la función del borde de una imagen Figura 3. Máscaras Laplacainas para la detección de bordes

Teniendo en cuenta este proceso, las técnicas de primera Matemáticamente este filtro es descrito como:
derivada utilizan el operador gradiente, el cual puede G( x, y) = 4I ( x, y) − I ( x − 1, y) − I ( x + 1, y) − I ( x, y − 1) − I ( x, y + 1) (5 ),
determinar la región de máximo crecimiento de una función:
∂I ( x, y ) ∂I ( x, y ) (1), donde I(x,y) es el píxel de la imagen de entrada.
∇f ( x, y ) =i + j
∂x ∂y Análogamente al proceso anterior se convoluciona cualquiera
donde I(x,y) representa el píxel de entrada, i y j son los de las máscaras de la figura anterior con la imagen de entrada,
vectores unitarios en la dirección x e y. y aplicando posteriormente el proceso de umbralización
Basado en el concepto de variación de intensidad de los descrito en la ecuación (3) se obtiene el píxel de borde final.
niveles de grises se introdujo un operador para la detección
digital de los bordes: las máscaras, las cuales representan III. ARQUITECTURA HARDWARE DEL ALGORITMO DE
aproximaciones de diferencia finita del gradiente ortogonal o DETECCIÓN DE PRIMERA DERIVADA
del gradiente direccional [13]. El algoritmo de detección usando la primera derivada es
Sobel y Prewit proponen dos tipos de máscaras 3x3 para desarrollado en varios bloques de procesamiento, como se
calcular el gradiente de la función imagen en una posición de muestra en la figura 4; aquí se utilizó una metodología de
píxel dada, a través de la convolución entre ellas y una diseño descendente (Top Down), en la cual todos los bloques
ventana de la imagen centrada en el píxel que se esta son implementados y analizados individualmente para luego
analizando: unirlos en un solo sistema.

Figure 2. Operadores de Sobel y Prewit para calcular el gradiente

Posteriormente, la magnitud del vector gradiente es definida


como:
G( x, y) = Gx( x, y) 2 + Gy( x, y) 2 (2)
La forma de determinar si G(x, y) corresponde a un píxel de
borde es aplicando un proceso de umbralización:
Figura 4. Diagrama de bloques del algoritmo de detección de primera
⎧1, si G ( x, y ) < T (3)
Edge( x, y ) = ⎨ derivada.
⎩0 si G ( x, y ) >= T
Para la implementación en hardware la magnitud del Los pixeles de la imagen de entrada se almacenan en el
gradiente suele usar esta aproximación: bloque llamado “Block RAM IMAGE”. El píxel que se está
G ( x, y ) = Gx( x, y ) + Gy ( x, y ) (4) procesando y su vecindad son convertidos como un vector fila
a través del bloque “Buffer Shift”, lo cual permite procesar
B. Técnicas de Segunda Derivada
todos los pixeles de la vecindad paralelamente. La
La segunda derivada, por su parte, es cero en todos los convolución entre las máscaras definidas en la figura 2 y la
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 21

imagen de entrada se realiza a través de las unidades de utilización de recursos del FPGA.
procesamiento de multiplicación “Multiplication Block” y de Tabla 1. Resumen de Utilización de recursos en el FPGA
suma “Sum Mask”. Cada bloque sumador procesa los datos Number of Slices: 174 out of 2352 7%
de una de las dos máscaras. Finalmente la umbralización y el Number of Slice Flip Flops: 100 out of 4704 2%
píxel de borde resultante se obtiene en el bloque “Mask Number of 4 input LUTs: 245 out of 4704 5%
Number of bonded IOBs: 30 out of 144 20%
Umbral”. La señal “sel_mask” indica el tipo de operador a
Number of TBUFs: 140 out of 2352 5%
utilizar: Sobel o Prewit.
Number of GCLKs: 1 out of 4 25%
Para la implementación hardware en FPGA fue adoptado el
Frecuencia de Trabajo 50 MHz
Lenguaje de Descripción de Hardware VHDL (VHSIC
Hardware Description Languaje). En la figura 5 se observa el
Adicionalmente se hizo un análisis de potencia con la
diagrama esquemático de algoritmo implementado utilizando
herramienta Xilinx XPower y se estima que la potencia
este estándar de diseño electrónico.
máxima consumida por el diseño es de 13 mW.

Figura 6. Diagrama de bloques del algoritmo de detección de segunda


derivada

Figure 5. Diagrama esquemático de algoritmo de detección de primera


derivada implementado en VHDL

IV. ARQUITECTURA HARDWARE DEL ALGORITMO DE


DETECCIÓN DE SEGUNDA DERIVADA
La arquitectura hardware del algoritmo de segunda derivada
es similar al de primera derivada. La variación está dada
básicamente por el bloque sumador “Sumation” que remplaza
los dos bloques “Sum Mask” de la figura 4. Esto se debe a que
esta técnica solo utiliza una máscara de filtro pasa alto para la
detección. El diagrama de bloques de este algoritmo es
ilustrado en la figura 6.
Asimismo, la implementación FPGA del algoritmo se hace
a través del diseño en VHDL, cuyo esquemático puede ser
observado en la figura 7.

V. IMPLEMENTACIÓN FPGA
Figure 7. Diagrama esquemático de algoritmo de detección de segunda
El sistema ha sido mapeado en un dispositivo FPGA de derivada implementado en VHDL. La señal “sel_mask” determina la máscara
Xilinx de la familia Spartan II, de referencia XC2S200 a Laplaciana.
través de la tarjeta de desarrollo Digilab 2 distribuida por
Digilent. La arquitectura fue implementada usando el VI. RESULTADOS
software ISE de Xilinx, versión 9.1, la cual suministra varias Para evaluar el desempeño de los algoritmos
herramientas para síntesis del diseño, técnicas de implementados se desarrollo una interfaz gráfica en Matlab
configuración, análisis de desempeño, incluyendo recursos, 7.1, la cual permite cargar las imágenes digitales que se
velocidad y consumo de potencia. En la tabla uno se resume la quieren analizar, enviarlas serialmente al FPGA, recibir la
22 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

imagen procesada por el mismo medio y finalmente


visualizarla. Se utilizaron imágenes de diferentes tamaños, en
escala de grises con cada pixel codificado entre 0 (color
negro) y 255 (color blanco). La figura 8 muestra una imagen
inicial a ser procesada, con un tamaño de 400 x264 pixeles en
escala de grises.

Figura 11. Imagen de entrada creada y resultado después de aplicar los


diferentes operadores de detección con T = 60.

Figura 8. Imagen inicial de 456x264 pixeles VII. CONCLUSIONES


Se desarrollo una arquitectura hardware para la
En La figura 9 se observa los resultados al aplicar el implementación FPGA de algoritmos de extracción de bordes
operador de Prewit con valores de umbral T = 60 y T = 120. que emplean técnicas de primera y segunda derivada. De los
operadores el que presentó mejor desempeño en la evaluación
fue el filtro Laplaciano utilizando la máscara 1, seguido por
Sobel y Prewit. Además el filtro Laplaciano muestra una
mejor apariencia visual de los bordes detectados.
El tiempo de completo para procesar un pixel de imagen, es
decir hacer la convolución entre la máscara con la vecindad
del pixel (en total 9 pixeles) y después de tener los pixeles
(a) (b) almacenados en memoria es de 780 nseg, es decir 39 ciclos de
Figura 9. Resultado de aplicar el operador de Prewit, (a) T= 60, (b) T = 120. reloj para una frecuencia de trabajo de 50 MHz. Por tanto, se
puede inferir que el tiempo de proceso de una imagen
Asimismo se procesa la imagen utilizando el operador de completa de tamaño 256x256 pixeles es de 51.11 mseg.
Sobel y la máscara 1 del operador Laplaciana para un umbral
T = 60. La figura 10 ilustra estos resultados. REFERENCIAS
[1] J. F. Canny, “A computational approach to edge detection,” IEEE Trans
Pattern Anal. Machine Intell., vol. 8, pp. 679–698, Sept. 1986.
[2] R. Deriche, “Using Canny’s criteria to derive a recursively implemented
optimal edge detector,” Int. J. Comput. Vis., vol. 1, no. 2, pp. 167–187,
1987.
[3] T. Lindeberg, “Edge detection and ridge detection with automatic scale
selection,” Int. J. Comput. Vis., vol. 30, no. 2, 1998.
[4] D. Marr and E. Hildreth, “Theory of edge detection,” in Proc. Royal Soc.
London B, 1980, pp. 187–217.
[5] V. Torre and T. A. Poggio, “On edge detection,” IEEE Trans. on Pattern
(a) (b) Anal. Machine Intell., vol. 8, pp. 148–163, Mar. 1986.
Figura 10. Resultado de aplicar los operadores con T= 60, (a) Sobel, (b) [6] M.C. Shin, D.B. Goldgof, K.W. Bowyer, and S. Nikiforou, “Comparison
Máscara 1 del filtro Laplaciana. of Edge Detection Algorithms Using a Structure from Motion Task,”
IEEE Trans. System, Man, and Cybernetics—Part B: Cybernetics, vol. 31,
Otras imágenes fueron segmentadas con cada uno de los pp. 589-601, Aug. 2001.
[7] J. Prewitt, “Object enhancement and extraction,” Picture Process.
filtros y utilizando diferentes valores de umbral. Psychopict., pp. 75–149, 1970.
Para evaluar el desempeño de los algoritmos se crearon [8] J. Canny, “Finding edges and lines in images,” MIT Artif. Intell. Lab.,
imágenes de bordes sintéticas, como la imagen mostrada en la Cambridge, MA, Tech. Rep. AI-TR-720, 1983.
[9] R.C. González, R.E. Woods, Digital Image Processing, Addison-Wesley,
figura 11. Conociendo cuales son los bordes exactos de la 1993.
imagen creada se puede determinar el desempeño de cada uno [10] Koschan, A. Abidi, M. “Detection and classification of edges in color
de los algoritmos de detección sobre dicha imagen. images”. IEEE Signal Processing Magazine, Volume 22, Issue: 1
Pag.: 64- 73, 2005
La tabla 2 resume el desempeño promedio de cada filtro
[11] G. Wall, F. Iqbal, J. Isaacs, L. Xiuwen, S. Foo, “Real time texture
para detectar los bordes sobre las imágenes creadas, con classification using field programmable gate arrays”. Applied Imagery
umbral T=60. Pattern Recognition Workshop, 2004, Proceedings. 33rd, pp.130 - 135.
Oct. 2004.
[12] I. Bravo, R. Mateos, A. Gardel , A. Hernández, J.L. Lázaro, R. Rivera.
Tabla 2. Desempeño promedio de los filtros en la detección “Detección de bordes de imágenes mediante máscaras de 3x3 con
Filtro Porcentaje de Desempeño FPGA's”. III Jornadas de Computación Reconfigurable y Aplicaciones
Prewit 93.00% (JCRA) Sept. 2003, Madrid.
Sobel 93.05% [13]Note Application:“Edge Detection in AT6000 FPGAs” in:
Laplaciana (Máscara 1) 98.00% http:/www.eetasia.com/ART_8800062747_499485_AN_8b2b1b38.HTM
Transformada wavelet y técnicas de filtrado no lineal aplicadas a
la detección de microcalcificaciones en mamografías digitales
Transformada Wavelet y Técnicas de Filtrado no
Lineal aplicadas a la Detección de
Lorena Vargas Quintero, Leiner Barba Jiménez, Cesar Torres, Lorenzo Mattos

Microcalcificaciones en Mamografías Digitales


Lorena Vargas Quintero, Leiner Barba Jiménez, Cesar Torres, Lorenzo Mattos

mamográficas basados en técnicas de morfología matemática,


Resumen — En este trabajo se utilizaron técnicas de redes neuronales y análisis wavelet han sido propuestos[3]-
segmentación y filtrado no lineal de imágenes, así como técnicas [8].
de procesamiento multiresolución como la transformada Laine et al. [8] usa tres representaciones multiescala: 1) la
Wavelet, aplicadas a imágenes mamográficas digitales para la
detección de microcalcificaciones, las cuales representan los transformada de wavelet dyadic, 2) la transformada φ , y 3) la
primeros indicios acerca de la presencia de cáncer de mama. transformada wavelet hexagonal. Cada una de estas
Las imágenes mamográficas tienen la característica de ser de representaciones constituye una jerarquía de las imágenes
bajo contraste, lo que muchas veces dificulta la interpretación del multiescala las cuales localizan información importante de la
Radiólogo, por lo cual se desarrolló un método para mejorar imagen en diferentes espacios frecuenciales, aplicando
esas imágenes y detectar dichas anomalías. Las imágenes
operadores no lineales a estas representaciones multiescala
mamográficas digitales fueron tomadas de la base de datos MIAS
(Mammographic Image Analysis Society), debido a que poseen
para mejorar características deseadas. Los resultados son
una completa información acerca del cáncer de mama y de la comparados con métodos tradicionales usados para el
interpretación que debe hacerse de las mamografías. mejoramiento de imágenes tales como la mascara unsharp y
histogramas adaptativos y se encontró que los algoritmos de
Palabras claves — Transformada Wavelet, procesamiento procesamiento basados en wavelet fueron superiores.
de imágenes, filtrado de imágenes, mamografías digitales, Nishikawa et al. [9] desarrollo una técnica para la detección
microcalcificaciones. automática de microcalcificaciones. Este método consiste en
tres etapas: el primero es la reducción de ruido en la imagen
I. INTRODUCCIÓN mamográfica, las potenciales microcalcificaciones son
identificadas por los niveles de gris, tercero, el número de
E L cáncer de mama es la principal causa de mortalidad en
las mujeres según la Organización Mundial de la Salud
(World Health Organization). El diagnostico temprano de la
falsos positivos detectados son reducidos según la distribución
espacial y la relación entre tamaño, forma y valor del pixel en
la imagen mamográfica.
enfermedad puede significar una opción de recuperación para Algunos trabajos desarrollados que exponen la teoría,
personas que la padecen. Las microcalcificaciones constituyen conceptos y aplicaciones del análisis wavelet son reportados
un importante signo radiológico en una mamografía y pueden en [10]-[12].
ser analizadas de acuerdo a su tamaño, forma, número y En este trabajo se propone un método para detectar
distribución. El número de calcificaciones que conforman un microcalcificaiones en mamografías digitales a través de
clúster es un indicador de malignidad o benignidad. Mientras técnicas de procesamiento de imágenes que permiten mejorar
que el número de ellas en sí mismo es arbitrario, los el contraste y técnicas de análisis multiresolución como la
Radiólogos tienden a decir que el número mínimo de transformada wavelet discreta.
calcificaciones debe ser de cuatro a seis, para ser relevante, ya
que un número menor raramente conlleva a la detección de II. MEJORAMIENTO DE CONTRASTE DE LA MAMOGRAFÍA
cáncer de mama [1]. DIGITAL
Los mamogramas son las imágenes radiológicas más
difíciles de ser interpretadas, debido al bajo contraste que A. Mejoramiento usando una máscara Unsharp
frecuentemente presentan, además ellas pueden mostrar La máscara unsharp es usada para mejorar la calidad de la
distintas características y patrones dependiendo de la anatomía imagen, enfatizando en su contenido de alta frecuencia,
de la mama y la densidad del tejido, el cual varía con la edad mejorando los bordes y la información de detalles. Esta
de la paciente, y su condición hormonal o física [2]. técnica es un simple y efectivo método ampliamente utilizado
Varios métodos computarizados para la detección de en muchas aplicaciones, pero tiene la desventaja que el filtro
microcalcificaciones y mejoramiento de contraste de imágenes lineal pasa alto es sensible al ruido [13]. En esta técnica una
fracción de la imagen filtrada en pasa alto es adicionada a la
Todos los autores son miembros del Grupo de Óptica e Informática - imagen original, tal como lo muestra la figura 1.
Universidad Popular del Cesar

Memorias STSIVA 2008 Tomo II 23 - 26


24 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

Dado que las calcificaciones son componentes de alta


frecuencia dentro de la imagen mamográfica, ellas presentan
un nivel de intensidad de los pixeles más alto que el resto de
la imagen, por tanto con la ecuación (3) se busca dar un poco
mas de luminosidad a las calcificaciones en comparación con
el resto de la imagen. Por tal razón se observa que los valores
Fig. 1. Diagrama de bloques de la máscara Unsharp entre las componentes de bajo y alto contraste puedan tener un
rango considerable entre sus niveles de intensidad resaltando
Teniendo en cuenta esto, el algoritmo de la máscara las microcalcificaciones en la imagen mamográfica con
Unsharp obtiene la imagen O(x,y) desde la imagen de entrada respecto al tejido mamario.
I(x,y) a través de la siguiente ecuación:
III. ANÁLISIS WAVELET
O( x, y ) = I ( x, y) + λ Z ( x, y) (1)
donde Z(x,y) es la señal de corrección a la salida del filtro El análisis wavelet consiste en la descomposición de una
pasa alto lineal, λ es el factor de mejoramiento que controla el señal arbitraria en versiones escaladas y trasladadas de la
wavelet original, es decir, la idea básica de esta transformada
nivel de mejoramiento de contraste de la salida. Un filtro pasa
consiste en representar cualquier función arbitraria como una
alto comúnmente empleado para este método es el filtro
superposición de un conjunto de dichas wavelets o funciones
Laplaciano, que puede ser descrito por:
bases, además de adoptar un prototipo de función llamado
Z ( x, y ) = 4 I ( x, y ) − I ( x − 1, y ) − I ( x + 1, y ) wavelet madre [15].
(2)
− I ( x, y − 1) − I ( x, y + 1)
A. Análisis wavelet en dos dimensiones
Dependiendo de las características de la imagen a procesar,
El análisis wavelet descompone la señal o imagen en un
es necesario modificar la máscara del filtro para obtener un
conjunto jerárquico de aproximaciones y detalles. Desde un
mejor contraste de salida. Esto se debe a que las imágenes punto de vista de análisis de señales, esto consiste de una
mamográficas generalmente varían el contraste y la resolución descomposición de la señal en una familia de señales de
inicial, dependiendo de ciertas características de las mujeres análisis, las cuales son usualmente un método de función
de quienes se obtiene dicha imagen, tal como se mencionó ortogonal. Este trabajo emplea la transformada wavelet
anteriormente. discreta en dos dimensiones, la cual se define como:
B. Mejoramiento a través de una modificación de C (a, b) = C ( j, k ) = ∑∑ f ( x, y) g j , k ( x, y) (5)
Histograma x∈Z y∈Z

El histograma de una imagen representa la frecuencia con a = 2 j , b = k 2 j , j ∈ N, j ∈ N


relativa de ocurrencia de los niveles de gris dentro de una donde f es la imagen original, g es la función wavelet, a es el
imagen. Las técnicas de modelamiento de histograma factor de escala de la función wavelet, b es un parámetro de
modifican una imagen para mejorar la intensidad de la traslación de la función wavelet y C(a,b) son los coeficientes
mamografía de tal manera que tenga la forma deseada [14]. obtenidos. El proceso inverso se obtiene por medio de la
Una vez la máscara unsharp es aplicada se procede a ecuación:
∑∑
modificar los niveles de gris para generar una mejor
visualización de las microcalcificaciones en la imagen. Aquí
f ( x, y ) = C ( j , k )ψ j , k ( x, y ) (6)
j∈Z k∈Z
se necesita seleccionar un umbral, el cual permite separar los
donde ψ es la función wavelet. Una completa explicación de
valores de intensidad de los pixeles correspondientes a
este proceso se encuentra en [16].
microcalcificaciones y el resto de la imagen; esto es posible
teniendo un conocimiento a priori de los pixeles de las B. Proceso de descomposición wavelet en dos dimensiones
microcalcificaciones. Para tal efecto se utiliza una función no El proceso de descomposición wavelet entrega cuatro
lineal que puede ser descrita matemáticamente como: imágenes para un nivel de descomposición: una subbanda de
aproximación (cA) que muestra la información de baja de
⎧⎪e O( x, y ) / k , si O( x, y) ≥ T frecuencia de la imagen, y tres subbandas de detalles (cDV,
P( x, y) = ⎨ O( x, y ) / k (3) cDH, cDD) que muestran la información de alta frecuencia de
⎪⎩e − D, si O( x, y) < T la imagen. Estas cuatro de salida tienen la mitad del tamaño de
la imagen de entrada. El proceso de reconstrucción de la
donde P(x,y) es el pixel de salida, O(x,y) es el pixel de imagen se realiza con las cuatro imágenes de descomposición
entrada, T es el umbral, D es un entero positivo y k está dada resultantes. El algoritmo completo para obtener la
por: descomposición wavelet puedes ser visto en [16].
O( x, y ) max En la literatura existen diferentes tipos de familias wavelet,
k= (4) entre ellas se tienen Haar, Daubechies (dbN), Symlets (symN),
ln O( x, y ) max Meyer (meyr), las cuales han sido implementadas en el
donde O(x,y)max es el máximo nivel de gris de la imagen. Es de sistema.
anotar que los niveles de gris están codificados entre 0
representa el color negro y 255 el color blanco.
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 25

IV. DESCRIPCIÓN DEL SISTEMA


Una vez segmentada la imagen, el siguiente paso en el
proceso es mejorar el bajo contraste usando la máscara de
filtro descrita en la sección II, la cual tiene un tamaño 3x3.
La figura 2 muestra el diagrama de bloques del algoritmo
desarrollado.

Fig.3. Imagen mamográfica a ser analizada y región ampliada donde


está localizada la anormalidad.

Fig.2. Diagrama de bloques del sistema desarrollado

A través de una modificación de histograma se puede


obtener una imagen donde se resaltan las microcalcificaciones
con respecto al resto de la imagen.
En la descomposición wavelet de uno o más niveles, las
sub-bandas de aproximación (cA) son suprimidas, debido a
que estas contienen las componentes de baja frecuencia de la (a) (b)
imagen, por tanto todos los elementos de esta matriz son Fig. 4. (a) Imagen después de aplicarle la máscara; (b) Imagen
llevados a cero: después de modificar el histograma.
cA = 0 (7) En la figura 5(a) se ilustra el resultado al aplicar los
El filtrado de subbanda se describe a través de un método algoritmos de las últimas cuatro etapas del proceso
de mejoramiento de contraste desarrollado por [8], el cual (transformada wavelet discreta, filtrado de sub-bandas,
enfatiza en características mamográficas mientras se reduce el transformada wavelet discreta inversa y umbralización).
ruido, esta operación se realiza por medio de técnicas de Análogamente, se aplicó el mismo procedimiento a la
mejoramiento de imágenes local y global basadas en bordes imagen de la figura 4 utilizando la familia wavelet Coiflet de
multiescala. orden 2 (coif2) y se obtuvo el resultado de la figura 5(b).
Finalmente, la Transformada Wavelet Discreta Inversa
(TWDI) recupera la imagen mostrando solamente las
componentes de alta frecuencia detectadas en las sub-bandas
de detalles cD (horizontal-cDH, vertical-cDV y diagonal-
cDD). Por último se procede a umbralizar la imagen resultante
para eliminar algunas partes recuperadas no correspondientes
a microcalcificaciones, esto se hace a través de la técnica de
umbralización global.

⎧1, si G( x, y) ≥ T
B( x, y) = ⎨ (8)
⎩0, si G( x, y) < T (a) (b)
Fig. 5. (a) Resultados del proceso. Se utilizó la familia wavelet
Daubechies de orden 2 (db2), (b) Microcalcificaciones detectadas
V. RESULTADOS
usando Coiflet 2 (coif2).
Para evaluar los resultados del sistema se usó la base de
datos MIAS (Mammographic Imge Analysis Society),
especialmente aquellas imágenes mamográficas que presentan
calcificaciones en su diagnóstico; en total son 30 imágenes
con calcificaciones. Asimismo, se emplearon diferentes
familias wavelet como db2, db4, sym3, coif2.
En la figura 3 se muestra la región ampliada donde se
encuentran las calcificaciones de la imagen a procesar. La
figura 4 muestra los resultados después de aplicar la máscara
unsharp y la modificación de histograma.
Fig. 6. Imagen mamográfica a ser analizada y región ampliada donde
está localizada la anormalidad.
26 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

Se evaluaron los resultados utilizando una imagen imágenes con calcificaciones de la base de dato MIAS se
mamográfica de características diferentes, tal como se observa emplearon para probar el sistema. El algoritmo desarrollado
en la figura 6, en la cual se seleccionó una sección de ella para para la detección de microcalcificaciones tiene una exactitud
ser analizada. promedio de 91% de verdaderos positivos
(microcalcificaciones detectadas), y un promedio de 10% de
falsos positivos (objetos detectados en la imagen que no son
microcalcificaciones). El mejor resultado obtenido fue con la
familia wavelet Daubechies de orden 4 (db4), con cuatro
niveles de descomposición. Este trabajo puede ser útil como
ayuda diagnóstica para los radiólogos en la interpretación de
imágenes mamográficas.
(a) (b)
Como trabajo futuro se planea la implementación de un
Fig. 7. (a) Resultado de aplicar la máscara; (b) Resultado de algoritmo de reconocimiento utilizando redes neuronales para
modificar el histograma. clasificar las microcalcificaciones detectadas de acuerdo a su
tamaño, forma o distribución.
La figura 7 muestra los resultados al aplicar la máscara y la
técnica de modificación de histograma. En la figura 8 se REFERENCIAS
aprecia el resultado después de aplicar la TDW, filtrar y [1] James Nguyen, David Fleiszer, “Interactive mammography analysis web
reconstruir la imagen utilizando la familia wavelet Daubechies tutorial”, McGill Medicine, Molson Medical Informatics, 2002 at:
de orden 4 (db4). http://sprojects.mmi.mcgill.ca/mammography/index.htm
[2] João Martins Pisco, Imagiologia Básica, LIDEL, 2003, pp. 65-70 (in
portuguese).
[3] J.-P. Antoine, P. Carette, R. Murenzi, and B. Piette, “Image analysis with
two-dimensional continuous wavelet transform,” Signal Process., vol.31,
pp. 241–272, 1993.
[4] T. C. Wang and N. B. Karayiannis, “Detection of microcalcifications in
digital mammograms using wavelets,” IEEE Trans. Med. Imag., vol. 17,
pp. 498–509, Aug. 1998.
[5] Qian W, Clarke LP, Kallergi M, Li H, Velthuizen R, Clark RA, et al.
“Tree-structured nonlinear filter and wavelet transform for
microcalcification segmentation in mammography”. SPIE Biomed Image
Process Biomed Visual 1993;12(4):634–642.
Fig. 8. Resultado de aplicar la TWD usando la familia db4 [6] R.N. Strickland and H.I. Hahn, "Wavelet transform for detecting
microcalcifications in mammograms" IEEE Trans. Med. Imaging, vol.15,
no.2, pp.218–229, 1996
Asimismo, se evalúan los resultados utilizando la familia [7] Laine Andrew, Fan Jian and Yang Wuhai, “Wavelets for Contrast
wavelet Symlets de orden 3 (sym3), tal como se observa en la Enhancement of Digital Mammography” IEEE Engineering in medicine
figura 9. and Biology, Volume 14, Issue 5, Sep/Oct 1995 pp.536 – 550.
[8] A. F. Laine, S. Schuler, J. Fan, and W. Huda, “Mammographic feature
enhancement by multiscale analysis,” IEEE Trans. Med. Imag., vol. 13,
pp. 725–740, Aug. 1994
[9] R. M. Nishikawa, Y. Jiang, M. L. Giger, K. Doi, C. J. Vyborny, and R. A.
Schmidt, “Computer-aided detection of clustered microcalcifications,” in
Proc. IEEE Int. Conf. Syst., Man, cybern., 1992, pp. 1375-1378.
[10] I. Daubechies, “Orthonormal bases of compactly supported wavelets,
”Commun. Pure and Appl. Math., vol. 41, pp. 909–996, 1988.
[11] S. G. Mallat, “A theory for multiresolution signal decomposition: The
wavelet representation,” IEEE Trans. Pattern Anal. Machine Intell., vol.
11, pp. 674–693, July 1989.
Fig.9. Resultado de aplicar la TWD usando la familia sym3 [12] ________, “Multifrequency channel decomposition of images and
wavelet models,” IEEE Trans. Acoust., Speech, Signal Processing, vol.
37, pp. 2091–2110, Dec. 1989.
En cada caso, se evaluó el número de microcalcificaciones [13]Andrea Polesel, Giovanni Ramponi, and V. John Mathews, “Image
y falsos positivos encontrados teniendo en cuenta la Enhancement via Adaptive Unsharp Masking”, IEEE Transactions on
información suministrada en [17], y se determinó que los Image Processing, Vol. 9, No. 3, MARCH 2000, pp. 505-510.
[14]L. Lehr and P. Capek, "Histogram equalization of CT image,",
mejores resultados fueron obtenidos con funciones wavelet:
Radiology, vol. 154, pp. 163-169, 1985.
db4 (Daubechies de orden 4), coif2 (Coiflet de orden 2) y [15]Amara Graps, “An introduction to wavelets”,
sym3 (Symlet de orden 3). Asimismo se pudo concluir que la IEEE Computational Science and Engineering,
wavelet madre db4 presentó un mayor número de Volume 2, Issue 2, Summer 1995 Page(s):50 – 61.
microcalcificaciones detectadas. [16] Pajares Gonzalo, de La Cruz Jose, Visión por computador – Imágenes
digitales y aplicaciones, Alfaomega, pages 47-56, 2004 (in spanish).
[17] Mammographic Imge Analysis society (MIAS), MiniMammography
VI. CONCLUSIONES Y TRABAJOS FUTUROS Database; available on-line at http://peipa.essex.ac.uk/ipa/pix/mias/mias-
database.tar.gz.
El sistema desarrollado puede detectar microcalcificaciones
en imágenes mamográficas a través de la transformada
wavelet y técnicas de mejoramiento de contraste. Todas las
Algoritmo de apoyo para el diagnóstico de tuberculosis pulmonar
Algoritmo de Apoyo
mediante para el Diagnóstico
el procesamiento digital de de Tuberculosis
imágenes
Pulmonar mediante el Procesamiento Digital de Imágenes
Rueda D. Laura, Narváez L. Remberth, Sotaquirá G. Miguel, miembro IEEE
Rueda D. Laura, Narváez L. Remberth, Sotaquirá G. Miguel, miembro IEEE

Resumen—Este artículo presenta el diseño e implementación de determinaron las dimensiones de la imagen (640 x 480), el
un algoritmo que sirve de herramienta para el diagnóstico de balance de blancos (Nuboso) y el zoom óptico.
tuberculosis pulmonar. Con las técnicas de computación
adecuadas es posible disminuir el tiempo de diagnóstico, siendo la B. Características de las imágenes
rapidez vital para el paciente. Haciendo uso de técnicas de La imagen está compuesta de manchas azules (en todas las
segmentación por umbralización es posible contar el número de
tonalidades), residuos (verdes, negras o marrones), bacilos y el
bacilos y/o agrupaciones en una muestra de esputo con tinción de
Ziehl-Neelsen. Una característica que se aprovecha en el conteo fondo. La coloración de las manchas azules y de los bacilos es
automático es el color de los bacilos, el cual es estudiado en el debida a la técnica de tinción utilizada. Existen manchas
procesamiento mediante la utilización de los espacios de color debido a residuos de alimentos, fibras y polen y/o rasguños en
YCbCr y Lab. Se presenta el proceso de selección de los espacios las láminas reutilizadas.
de color y la segmentación de los bacilos y sus agrupaciones. El rango en el que se puede variar la iluminación constituye
Todas las decisiones fueron tomadas de acuerdo con resultados un 40% del rango que ofrece el microscopio. Las pruebas
estadísticos. La herramienta diseñada tiene un desempeño en el realizadas se muestran en la Sección IV.
diagnóstico del 81.8% Las muestras utilizadas se obtuvieron de la Secretaría de
Palabras clave— Espacios de color, imágenes biomédicas,
Salud de Bogotá la cual recibe muestras preparadas de
tuberculosis pulmonar, esputo, segmentación, histograma, diferentes centros de salud por lo que el resultado no es
correlación. homogéneo. Por esto, lo que se observa en el microscopio y en
las imágenes que se procesan es una diversidad en tonos, de
rojo para los bacilos, y azul para el medio en que se
I. INTRODUCCIÓN encuentran, y en concentración de la muestra, mostrando unos
campos traslúcidos y unos opacos.
E l diagnóstico temprano de tuberculosis pulmonar es
crítico para la salud del paciente. Actualmente la
detección de bacilos se realiza analizando manualmente la
C. Procesamiento Digital
Para verificar el comportamiento de los espacios de color
muestra de esputo; sin embargo, no está exenta de errores por ante la tarea de identificación de bacilos, se probó el código de
subjetividades del observador, consume mucho tiempo, es segmentación, es decir, fue un proceso simultáneo. A
tediosa por la repetición del proceso y requiere de personal continuación se presentan los espacios de color con su
altamente especializado y experimentado. respectiva estrategia.
Por la experiencia de los microbiólogos y otros profesionales
afines, el diagnóstico tarda aproximadamente entre 40 minutos 1) Espacios de Color y Segmentación.
y 3 horas (dependiendo de la experiencia del profesional), [1].  Espacio RGB. La estrategia que se utiliza en este
Por otro lado, dado el número de casos presentados espacio es la observación de los valores que toman los píxeles
anualmente a nivel nacional (entre 7000 y 8000 siendo el 22% de cada matriz en las regiones de interés de las imágenes, éstas
de esos casos en promedio de la Costa [2]) la respuesta del son: los bacilos, las manchas azules y el fondo. Se tomaron los
diagnóstico de un paciente en particular puede durar hasta 24 valores de los píxeles mediante el comando imtool de la
horas hábiles. herramienta de Software Matlab.
En este proyecto se utilizan el procesamiento digital de No se encontraron agrupaciones de bacilos mayores a 300
imágenes para contar los bacilos y dictaminar el diagnóstico, píxeles pero sí un ruido de tipo “sal y pimienta”. Debido a
con el fin de agilizar éste. ciertos bacilos segmentados que eran débiles ante un filtro de
media, se eliminaron objetos cuya área fuera menor a 10
píxeles y así se veían menos afectados los bacilos.
II. METODOLOGÍA  Espacio YCbCr. En el plano Cr del espacio YCbCr,
A. Toma de Imágenes los bacilos y otras partes de la imagen del mismo color toman
tonalidades claras y el resto de la información se oscurece; en
Para obtener un nivel de confiabilidad adecuado, es
los otros planos, los bacilos no se pueden diferenciar de las
necesario estandarizar los procesos relativos a la preparación
manchas y el fondo.
de la muestra y la toma de imágenes. La preparación de las
Experimentalmente se hallaron umbrales ideales para cada
muestras de esputo depende exclusivamente del laboratorio en
imagen. Éstos se encontraban en un punto poco característico
donde se realice, por lo que está fuera de los alcances de este
del histograma, no eran mínimos ni máximos locales o
proyecto.
globales. Los umbrales ideales se encontraban en la caída del
En el microscopio se determinaron el enfoque y la
histograma, después del máximo, siendo difíciles de
luminosidad; en la cámara, desde el computador, se
determinar.

Memorias STSIVA 2008 Tomo II 27 - 30


28 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

En este punto se propuso un método iterativo que depende de


la derivada del histograma. Obteniendo un valor límite de los
valores que toma la derivada, se calculó el umbral para el
plano Cr (ver Sección IV). El programa diseñado para la
segmentación en el espacio YCbCr consiste en la lectura de la a) b) c) d)
imagen en el espacio RGB y su conversión al espacio YCbCr. Fig. 2. Comparación segmentación: a) imagen original, b) imagen
segmentada en Lab, c) imagen segmentada en YCbCr, d) imagen
El procesamiento consiste en el cálculo del umbral, la segmentada en Lab/YCbCr
binarización de la imagen y la remoción de grupos pequeños y
grandes de píxeles blancos. 2) Conteo de Bacilos. Se tomó un área promedio en
 Espacio Lab. Se tienen dos tipos de imágenes en los píxeles de los bacilos (depende del tamaño de la imagen) y se
planes a y b con información en común, los bacilos claros, y encontró el área total de los objetos blancos dentro de la
con información de cada tipo, manchas oscuras y claras, por lo imagen segmentada. El tamaño promedio de los bacilos, según
que, con el umbral adecuado, una operación AND entre las las pruebas realizadas, es de 41.4 píxeles.
dos resulta en una imagen con los bacilos, únicamente.
La estrategia con el espacio Lab es similar a la utilizada en el
espacio YCbCr. La diferencia radica en las condiciones para el III. PRUEBAS, RESULTADOS Y ANÁLISIS DE RESULTADOS
umbral T del plano a, en la binarización de otro plano, el b, y A. Escogencia de los espacios de color
en la operación lógica entre las imágenes resultantes. Al Cada componente de los espacios tiene características que
aplicar una AND entre los planos a y b se busca eliminar las puede resaltar o esconder los objetos de interés. En este caso,
componentes de manchas azules del primero, así que el plano los bacilos se diferencian visualmente del fondo en el tercer y
b funciona como una máscara. En este caso, se puede segundo canal de los espacios YCbCr y Lab, respectivamente.
determinar un umbral fijo porque las manchas tienen valores Con los tres planos y estudiando los espacios HSI, YIQ y
de intensidad visiblemente menores. Después de varias RGB, los bacilos eran reconocidos únicamente en el último,
pruebas, se determinó el umbral en 100. por lo tanto éste, el YCbCr y el Lab fueron los seleccionados.
 Unión de los espacios Lab y YCbCr. La
segmentación en el espacio Lab presenta ventajas en cuanto a B. Pruebas para selección de umbrales
insensibilidad ante ruido por iluminación, pero no ante objetos 1) Espacio RGB. Se obtuvo el rango de intensidades de los
extraños, puntos y manchas de diferentes colores. Sin embargo bacilos, las manchas azules y el fondo, en cada componente de
el YCbCr tiene un buen comportamiento ante estos. Una las imágenes. Los bacilos y el fondo toman valores similares
opción es el procesamiento en estos dos espacios. Como la en el canal rojo pero diferentes en el canal verde lo que
imagen segmentada del plano Cr no tiene las manchas azules, permitió discriminar los objetos de interés de las manchas
sino los bacilos y ruido por iluminación, es posible utilizar azules y del fondo, respectivamente.
únicamente el plano a del espacio Lab en la unión. Así, se 2) Espacios YCbCr y Lab. Se buscó el punto a partir del
utilizaron el plano a del espacio Lab y el Cr del YCbCr. cual la derivada del histograma se mantuviera mayor a un
Imagen a color valor r. Para el espacio YCbCr se probaron umbrales con
derivadas mayores a -1000, -2000, -3000 y -4000; para el
Adquisición de la imagen espacio Lab, con pendientes mayores a los valores r: -500,
I(x,y) en RGB -1000, -2000, -3000. La comparación se hizo con umbrales
ideales, definidos manualmente por imagen. Con este conjunto
de datos se calculó el coeficiente de correlación para
Segmentación de I(x,y) en Segmentación de I(x,y) en
el espacio Lab, usando el el espacio YCbCr, usando
determinar cuál umbral era el más cercano al manual. En la
canal a el canal Cr Tabla I se resumen los resultados obtenidos y en negrilla se
destaca el límite de la derivada que arrojó umbrales con mayor
correlación. Para la unión de espacios YCbCr/Lab se
Operación lógica AND utilizaron estos mismos umbrales.
entre las dos imágenes
TABLA I
COEF. DE CORRELACIÓN PARA UMBRALES CALCULADOS EN YCBCR Y LAB
Remoción grupos grandes
y pequeños de píxeles Umbral calculado para
-1000 -2000 -3000 -400
blancos YCbCr diferentes pendientes r
Coef. de Correlación 0,969 0,976 0,977 0,439
Umbral calculado para
-500 -1000 -2000 -3000
Imagen segmentada Lab diferentes pendientes r
Fig. 1. Flujograma del algoritmo de segmentación en la unión YCbCr/Lab Coef. de Correlación 0,945 0,939 0,938 0,936

En la Figura 2 se muestra la segmentación de una región de C. Categorización de las imágenes


una imagen, comparándola con la segmentación con los Para comparar los resultados de cada espacio de color, es
algoritmos anteriores. necesario tener una referencia común para todos. En este caso,
por asesoría de un especialista en el tema, [3], lo
recomendable es categorizar cuantitativamente la cantidad de
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 29

información dentro de la imagen. De esta forma, se dieron por iluminación, pero es más fuerte ante los objetos no
niveles a la cantidad de bacilos, iluminación y la presencia de deseados; el Lab es robusto ante el ruido por iluminación y es
ruido en la imagen segmentada. De las imágenes segmentadas más débil que el YCbCr ante los objetos no deseados. Sin
se obtienen dos tipos de información: una correspondiente a embargo, los FN son menores en el espacio Lab un 0.71%,
bacilos y otra a la imagen segmentada en su totalidad. Esta pero debido a la mejora considerable en los FP por objetos,
diferencia se debe al ruido, por iluminación u objetos extraños, entonces la unión YCbCr/Lab es escogida para el programa
que es segmentado junto con los bacilos. Con el primer tipo de final. Cabe resaltar que aunque los falsos negativos mantengan
datos se determina la efectividad del algoritmo para reconocer un porcentaje bajo, es uno de los retos a tratar en trabajos
los bacilos presentes en la imagen; con el segundo tipo se posteriores.
define la robustez del algoritmo ante el ruido, ya que, entre
más similar sea este tipo de información a la de los bacilos, F. Resultados del diagnóstico
menos ruido tiene la imagen. Con el programa final, se procesaron las imágenes por
Para determinar la relación entre la información obtenida (de muestra para un diagnóstico. Se compararon los resultados con
bacilos y la total) y la imagen segmentada, se calculó el el diagnóstico emitido por el Programa de Enfermedades
coeficiente de correlación para comparar entre todos los Transmisibles de la Secretaría Distrital de Salud de Bogotá.
espacios. Se utilizaron 141 imágenes de diferentes muestras y Se utilizaron 11 muestras, cuatro son tipo 3, cuatro son tipo
características de iluminación y cantidad de bacilos. 2, dos son tipo 1 y una es tipo 0. Se obtuvo un 81.8% de
aciertos, que corresponden a nueve muestras y 18.2% de
E. Resultados y comparación desacierto, que corresponden a dos muestras. El algoritmo
En la Tabla II se resumen los resultados obtenidos en las arrojó un diagnóstico tipo 1 y 3, cuando en realidad eran tipo 0
pruebas para cada algoritmo. Por el coeficiente de correlación, y 2, respectivamente. Errores de este tipo eran predecibles a
se descarta el código en el espacio RGB. Debido a las partir del porcentaje de FP obtenido con las pruebas para la
características complementarias de los algoritmos del espacio escogencia del espacio.
Lab y YCbCr se optó por una unión de espacios. Un parámetro importante a considerar es el tiempo de
computación requerido para realizar un diagnóstico. Para el
TABLA II
COMPARACIÓN caso de muestras tipo 3, el algoritmo toma únicamente 20
Espacios Coef. De Correlación imágenes, por lo que le corresponde el menor tiempo de
RGB 0.3474 procesamiento, con 40 segundos aproximadamente. Para las
YCbCr 0.5346 muestras tipo 1 ó negativas, se procesan 100 imágenes en 200
Lab 0.9016
YCbCr/Lab 0.8398 segundos aproximadamente.

Se calculó la cantidad de imágenes que detectan ruido por


iluminación y por objetos, conformando el porcentaje de “FP IV. APORTES SIGNIFICATIVOS
por iluminación” y “FP por obj. no deseados” en la Figura 3.
También se halló la cantidad de imágenes que presentaban los A. Segmentación mediante la derivada del histograma
dos tipos de ruido (“FP mutuo”). Para el caso en que no hay Se utilizó este método para la segmentación en los espacios
bacilos segmentados cuando sí los hay en la imagen original, YCbCr y Lab. Los histogramas de los planos Cr y a de los
se halló la cantidad de imágenes que presentan una categoría espacios YCbCr y Lab, respectivamente, son similares en la
menor que en las originales, conformando los falsos negativos forma por lo que, para fines ilustrativos, se explica el
(campo “FN”). procedimiento para el plano Cr únicamente. Como se observa
en la Figura 4, el histograma es decreciente con una alta
Resultados por Imágenes
pendiente después del valor máximo, aunque con unos puntos
de pendiente positiva para ciertas imágenes. Se optó por
100
analizar la forma con la derivada aproximada del histograma.
No. de imágenes

80
afectadas

60
40
20
0
FP por FP por obj. No FP mutuo FP total FN
iluminación desseados
Tipo de error

RGB YCbCr Lab YCbCr-Lab

Fig. 3. Resultados de errores en los espacios de color

El coeficiente de correlación indica la relación entre la


imagen original y la segmentada, y los falsos positivos y
negativos indican los errores del algoritmo. Con estos datos es
Fig. 4. Histograma del plano Cr de una imagen de prueba
posible seleccionar el espacio de color más adecuado. El
Si H n es el histograma de una imagen en escala de grises,
YCbCr se podría descartar por el bajo coeficiente de
correlación obtenido, pero presenta 6.29% menos FP que el
Lab por lo que se consideró como opción para la unión. Así, la diferencia, o derivada aproximada, se define por:
se complementan los resultados: el YCbCr es débil ante ruido H n  H n  1  H n n  0, 1, 2, 255
30 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

Con la derivada, se tiene el comportamiento creciente y principalmente en el diagnóstico que brinde el software y en
decreciente del histograma siendo esto de utilidad para la segundo lugar, en la cantidad promedio de bacilos detectados.
aplicación, ya que los umbrales ideales son puntos poco
característicos del histograma. De esta forma, si se definen
límites para la derivada, es decir, que ésta se mantenga mayor VI. CONCLUSIONES
o menor a determinado valor, r, se obtiene un umbral, T, el
cual es el punto de esa derivada. Entonces, se define el umbral El algoritmo de apoyo para el diagnóstico de tuberculosis
como el valor máximo de intensidad cuya derivada sea menor pulmonar desarrollado es una herramienta innovadora basada
a r. en el procesamiento digital de imágenes, para el cual es
necesario estandarizar las entradas. La variabilidad, una
T  maxn / H n  r  característica indeseada en las imágenes, depende de dos
etapas, una de ellas externa al proyecto: la preparación de la
B. Independencia de la iluminación muestra con tinción de Ziehl Neelsen y la toma de imágenes.
La ventaja principal del método descrito es que permite En la primera, se deben tomar las medidas necesarias para que
determinar umbrales a cada imagen, según la derivada del se mantengan las mismas características en las imágenes. Por
histograma, por lo que es independiente de la iluminación otro lado, las imágenes se limitan a un balance de blancos,
hasta cierto punto. Las imágenes que se muestran en la Figura iluminación y zoom óptico determinado.
5 corresponden a un mismo campo variando la iluminación. Gracias al método de segmentación mediante la derivada del
histograma, fue posible independizar el procesamiento de las
imágenes de la iluminación, hasta cierto punto. Los resultados
muestran que la iluminación en el microscopio puede variar en
un amplio rango, siendo esto una característica destacable del
algoritmo.
a) b) c) De los espacios de color utilizados, el algoritmo de la unión
Fig. 5 Cambio de iluminación en un mismo campo YCbCr/Lab tiene los porcentajes de falsos positivos más bajos
y una alta correlación con respecto a la imagen original,
TABLA III razones por las cuales se eligió para el sistema final. Con éste,
UMBRALES CALCULADOS POR EL SOFTWARE
se obtuvo un porcentaje bueno de diagnósticos acertados,
Imagen a b c 81.8%, que abre la posibilidad de la aplicación en el campo
Umbral Lab 161 150 146 real.
Umbral YCbCr 165 159 155
Promedio bacilos 69.1 74.1 75.8
AGRADECIMIENTOS
Esta es una prueba preliminar que indica un grado de
Este proyecto fue posible gracias a la colaboración del
independencia de la iluminación pero se requieren pruebas
Laboratorio Departamental del Atlántico, del Programa de
adicionales para determinar la importancia de la diferencia del
Prevención de Enfermedades Transmisibles de la Secretaría de
promedio de bacilos segmentados. El cambio de iluminación
Salud de Bogotá y del Laboratorio de Biología y Genética de
hace que el histograma se traslade a la izquierda o a la derecha
la Universidad del Norte.
y asimismo cambia el umbral obtenido por la segmentación
mediante la derivada del histograma.
REFERENCIAS
[1] G. Reyes Carmona. Especialista en Microbiología; Especialista en
V. DISCUSIÓN Módulos, tipos y diseños de investigación 2002. Universidad del Norte.
Entrevista realizada 6 de febrero de 2007.
El algoritmo diseñado presenta tres características [2] Instituto Nacional de Salud (Colombia). Tablas de notificación anual
obligatoria. [Citado en 5 de febrero del 2007]. Disponible en Internet:
importantes frente a los trabajos afines desarrollados http://www.ins.gov.co/nivel3.php?seccion=26&sub=45
anteriormente: la primera de ellas es el tipo de tinción de las [3] L. Guzmán Acuña. Profesora catedrática del Departamento de
muestras de esputo (Ziehl Neelsen), los trabajos previos Matemáticas y Física de la Universidad del Norte. Entrevista realizada 17
procesan imágenes de muestras con tinción fluorescente, [4], de octubre de 2007.
[4] K. Veropoulos, G. Learmonth, C. Campbell, B. Knight, J. Simpson.
[5], [6], [7]; la segunda de ellas es la unión de dos modelos de Automatic identification of tubercle bacilli in sputum. A preliminary
color que aprovecha la robustez para reducir los objetos no investigation. Analytical and Quantitative Cytology and Histology, vol.
deseados y el ruido por la iluminación; y la última es la 21, no. 4, pp. 277-281, 1999.
solución que se encuentra para segmentar las imágenes e [5] M. Forero, G. Cristóbal, M. Desco. Automatic identification of
Mycobacterium tuberculosis by Gaussian mixture models. Journal of
independizarlas de la iluminación calculando el umbral a Microscopy, vol. 223. no. 2, pp. 120-132, 2006
partir de la derivada del histograma. Algunos de los trabajos [6] M. Forero, F. Šroubek, G. Cristóbal. Identification of tuberculosis
que se han realizado para detectar bacilos redes neuronales, bacteria based on shape and color. Real-Time Imaging, vol. 10, no. 4, pp.
lógica difusa o técnicas que están fuera de los alcances de este 251-262, 2004. Disponible en:
http://www.tsi.enst.fr/~bloch/P6/PRREC/forero.pdf
proyecto, pero pueden ser consideradas para mejorar el [7] M. Forero, G. Cristóbal, J. Álvarez-Borrego. Automatic identification
desempeño en cuanto a los falsos positivos y negativos. Una techniques of tuberculosis bacteria. SPIE Proceedings of the Applications
de las conclusiones comunes que se obtuvieron desarrollando of Digital Image Processing XXVI, vol. 5203, pp. 71-81, 2003. Disponible
el presente proyecto es que la solución debe estar enfocada en: < http://www.iv.optica.csic.es/papers/tuber03.pdf>
Caracterización del grado de madurez del limón Tahití
Caracterización del Grado De Madurez
Ing. Ángel Álvarez, PhD. Arturo Plata, Ing. Jorge Araoz, MsC. Hernando González.

del Limón tahití.


Ing. Ángel Álvarez, PhD. Arturo Plata, Ing. Jorge Araoz, MsC. Hernando González.
clasificación de los frutos cosechados con calidad de
Abstract— This document describes the used technique to exportación.
obtain the characterization of the degree of maturity of the Tahiti
lemon. The system uses techniques of image processing to
segment and to quantify the amount of yellow colour with respect
to the total area of the lemon. Basically all the states of
maturation of the lemon can be identified, from a 0% to a 100%
with respect to the total area. (The system is conformed for a
CCD sensor, whose output is an analogue signal of light intensity,
more an AD converter that processes the signal). The treatment
is made in the CIELab polychromatic space, in special is used
blue the yellow component, which allowed making the
characterization of the state of maturation of the lemon.

Index Terms — CIELab polychromatic space, characterization Figura 1. Clasificación del grado de madurez en forma manual
of the degree of maturity of the Tahiti lemon.
Como una alternativa para la reducción de costos en la
I. INTRODUCTION clasificación del limón en Colombia, se desarrolló un sistema
de visión artificial, que reconoce el estado de madurez del
En una empresa donde se tienen grandes volúmenes de limón Tahití para su posible exportación.
producción, se hacen necesarios métodos más eficientes que
realicen las tareas de producción en serie, una de estas tareas II. SISTEMA DE ILUMINACIÓN
es el control de calidad sobre los productos terminados. Esta
tarea en especial, debe llevarse a cabo con gran eficiencia y El procedimiento realizado experimentalmente para lograr la
precisión para poder cumplir con los altos requerimientos que caracterización del grado de madurez del limón Tahití, inicia
exige el mercado actual, el cual esta regido por normas y con determinar el ambiente de iluminación adecuado para la
estándares nacionales e internacionales. toma de las muestras fotográficas del limón en diferentes
estados de maduración, para ello se implementaron sistemas
Teniendo en cuenta la gran riqueza agrícola de nuestro país, se con diferentes características hasta lograr la toma adecuada de
plantea la necesidad de desarrollar proyectos con tecnología las fotografías (Ver la Figura 2). Dichas fotografías son
propia, que permita la explotación más eficiente de los digitalizadas por una cámara, que realiza la captura con
recursos naturales, de una manera tal que se incremente la características particulares, especificas y son almacenadas en
producción, elevando los ingresos de los propios agricultores un formato que posibilitan su procesamiento en MATLAB,
y generando divisas, sin descuidar los campos y disminuyendo con el cual se desarrolla el algoritmo que permite la
las pérdidas por desperdicios. Además, como consecuencia de cuantificación de los datos relacionados con la cantidad de
la necesidad de ingresar en nuevos mercados, el productor color amarillo que pueden contener las imágenes digitalizadas.
agrícola se obliga a tecnificar sus procesos.

En Colombia, la región de los Santanderes posee uno de los


mejores ambientes para la producción del limón, estimándose
la producción en 25 toneladas métricas por hectárea al año,
convirtiéndose en la región con mayor potencial para la
explotación del limón para exportar. Los limones tipo
exportación deben cumplir con determinados requerimientos
especificados en el manual de exportación de cada mercado,
bien sea, el norteamericano, el europeo o el Japonés, entre
otros. La tarea de clasificar el limón por el grado de
maduración se realiza actualmente de forma manual (ver la
Figura 1), por personas que a través de su experiencia han
logrado desarrollar esta habilidad, por medio de su percepción Figura 2. Sistema de iluminación.
visual, requiriendo de muchas horas/hombre para la

Memorias STSIVA 2008 Tomo II 31 - 35


32 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

III.SISTEMA DE PREPROCESAMIENTO (G) del sistema RGB, las componentes (L), (a) y (b), del
sistema CIELab, y la componente (CB) del sistema YCBCR,
Para alcanzar la caracterización del grado de madurez del todas binarizadas con los valores mínimos en x , entre sus dos
limón Tahití a partir de imágenes procesadas, se extrae de la nodos, permiten aplicar un análisis posterior a la binarización
imagen la información referente a los colores verde y para conseguir la caracterización, puesto que con ellas se logra
amarillo, por medio de los cuales se logra establecer el grado separar el limón del fondo de la imagen.
de maduración del fruto. Para ello se determina el espacio
policromático que otorgue dicha información y permita el La imagen binarizada de la componente (G) del sistema RGB,
procesamiento de la imagen. Apoyados en el histograma se mostrada en la Figura 4, utilizando como umbral el valor de
puede determinar dicho espacio ya que éste nos entrega x en el punto mas bajo del histograma entre los dos nodos,
información sobre la cantidad y la tonalidad de los píxeles que permite distinguir el limón con respecto al fondo, con algunas
conforman cada componente de la imagen, en cada espacio de componentes de ruido.
color. A continuación se muestran gráficas realizadas en una
GUI (Graphic user interface “interfase de usuario gráfica”)
desarrollada en MATLAB, y que permiten observar los
histograma de la imagen de un limón Tahití en diferentes
espacios de color, con cada una de sus componentes.

Figura 4. Umbralización del mínimo de (G)

Al momento de binarizar cada una de las componentes del


sistema CIELab, la claridad (L), la componente rojo/verde (a)
y la componente amarillo/azul (b), se logra obtener de alguna
manera la segmentación del limón, en la componente (L), con
un poco de ruido, al utilizar el valor del pico mínimo entre los
dos nodos. Ver la Figura 5.

Figura 5. Umbralización del mínimo de (L)

De igual manera, en la componente rojo/verde (a), apreciamos


que al binarizar la imagen, utilizando como umbral el valor
mínimo de x , entre los dos nodos, el limón queda en gran
parte separado del fondo de la imagen. Ver la Figura 6.

Figura 3. Espacios policromáticos

IV.UMBRALIZACIÓN Y BINARIZACIÓN

Para lograr separar el limón Tahití del fondo de la fotografía,


se binarizan las componentes de cada espacio de color
utilizando como umbral, para dicha binarización, los valores Figura 6. Umbralización del mínimo de (a)
entregados por los máximos o mínimos de la gráfica del
respectivo histograma de cada componente, en cada uno de los Lo mismo sucede con la componente amarillo/azul (b) al
espacios de color. De todos los espacios analizados, con cada binarizar la imagen con el umbral dado por el valor minino de
una de sus componentes, se puede deducir que la componente x , entre los dos nodos, donde la imagen del limón queda en
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 33

su mayoría separada del fondo negro, y se pueden estimar los resto de la imagen. Ver la Figura 10. Como dicha extracción
bordes del limón. Ver la Figura 7. se logra con cierto contenido de ruido, se aplica a la imagen
un filtrado que lo elimine y entregue el limón totalmente
segmentado.

(a)
Figura 7. Umbralización del mínimo de (b)

Al umbralizar la componente de crominancia (CB) del sistema


YCBCR con el valor mínimo de x , entre los dos nodos, se
obtiene una imagen donde se aprecian los bordes del limón
con un poco de ruido. Ver la Figura 8.

(b)

(c)
Figura 8. Umbralización del mínimo de (CB) Figura 10. Umbral único de (b)

Para la binarización realizada en el análisis anterior, se utilizó Como umbral de segmentación para la binarización de la parte
la imagen del limón de la Figura 9(a). amarilla de la imagen, se determina el valor de x en el último
tono presente en la binarización del limón, cuyo grado de
Para determinar la componente del espacio de color en la que maduración es menor, es decir el limón mas verde, donde sus
se debe realizar la segmentación final, se utilizan las imágenes tonos de amarillo representan la parte verde del limón. En la
de dos limones más, uno en un estado más maduro (Figura Figura 11 se puede apreciar la parte amarilla de los limones en
9(c)) y otro en un estado intermedio de maduración (Figura cada estado de maduración al aplicar como umbral de
¡Error! No se encuentra el origen de la referencia.9(b)), binarización, el tono dado por el último valor de x ,171 del
(dicho estado de maduración, determinado por el experto en la limón más verde.
clasificación de los limones Tahití en forma manual), se
analiza el comportamiento de las tres imágenes en las
componentes ya mencionadas para determinar un umbral
único que posibilite aislarlos, sin importar en que estado de
maduración se encuentren; y para ello recurrimos nuevamente
al análisis gráfico basándonos en los histogramas de cada
limón en los tres estados de maduración.
(a)

(a) (b) (c)


Figura 9. Limones de prueba en la binarización
(b)

La componente (b) del sistema de color CIELab, permite


establecer un umbral único para la binarización del limón de
134, en cualquier estado de maduración, permitiendo extraer
la parte de la imagen que representa el área total del limón, del
34 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

(c)
Figura 11. Umbral para la binarización de la parte amarilla

V. FILTRADO

Para eliminar el ruido que se presenta fuera del área de (a)


interés, se utiliza un filtro de mediana que permite
eliminar el ruido y preservar la agudeza de los bordes. En
la Figura se aprecia el área total del limón segmentada en
cada estado de maduración.

(b)
(a)

(b)

(c)
Figura 13. Caracterización del limón Tahití

VII. CONCLUSIONES

Para la identificación de colores por medio de imágenes


(c) fotográficas se debe implementar un sistema de iluminación
Figura 12. Filtrado del área total del limón difuso que garantice muestras sin sombras o reflejos, el cual
va a influenciar la segmentación para determinar las
Para determinar el grado de madurez del limón, es necesario componentes principales del limón.
estimar la cantidad amarilla de la imagen con respecto al área
total del limón segmentado. Por medio de la componente a (rojo/verde) y b (amarillo/azul)
del espacio de color CIELab, se pueden caracterizar frutos
VI. CARACTERIZACIÓN cuyos colores característicos presentes en su maduración
tengan transición de color en estos tonos. La componente l
Para calcular el porcentaje de color amarillo del limón, se (luminancia) permite determinar el nivel de saturación de la
realiza el conteo de píxeles en el área total del limón y en la iluminación.
parte amarilla.
La componente (b) del sistema de color CIELab, permite
En la Figura13 está la caracterización del limón verde(a) con establecer un umbral único para la binarización del limón, en
0%, el intermedio (b) con 56.18% y el amarillo(c) con cualquier estado de maduración, permitiendo extraer la parte
98.32%. de la imagen que representa el área total del limón, del resto
de la imagen.
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 35

El valor del umbral para el proceso de binarización se [6] GONZALEZ, Rafael & WOODS, Richards. Tratamiento
determinó tomando como referencia los limones que presentan digital de imágenes. Madrid: Addison – Wesley / Díaz
un estado de maduración intermedio, es decir, tonalidades de Santos. 1996. 773 p.
entre 167 y 179, el umbral se fijo por encima de esta región
definiéndolo en 180. Los resultados obtenidos por este valor [7] ROLDÁN, Diego y SALAZAR, Marcela. La cadena de
se validaron con el experto resultando una discrepancia de cítricos en Colombia. Ministerio de agricultura y
12%. desarrollo rural. [En línea], mayo 2002 [cited junio de
2004]. Disponible en Internet.
La cuantificación objetiva de parámetros de color permitió URL:http://www.agrocadenas.gov.vo/citricos/citricos_de
optimizar el proceso de selección, que hasta el momento se scription.html
hace de forma subjetiva pudiendo generar errores de
clasificación. [8] SEGMENTACIÓN DE IMÁGENES DE COLOR.
VIII. RECOMENDACIONES Revista Mexicana de Física 50 (6) (2004) p. 579-587

Otra característica a tener en cuenta para la exportación de los [9] SEMINARIO DE IMAGEN Y SONIDO DIGITAL. El
limones Tahití a mercados extranjeros, es la identificación de sentido de la vista. Repuesta a la intensidad y color. [En
quemaduras en su corteza, la cual podría ser identificada línea] Google, 2004. Disponible en Internet: Disponible
trabajando en la componente rojo/verde del sistema CIELab. en Internet. URL:http://
www.pubfasta.edu.ar/SISD/vision/respuestacolor.htm
Para futuros trabajos sobre la calidad del limón Tahití, se debe
implementar algoritmos que identifiquen daños, quemaduras y [10] TECNOLOGÍA DEL COLOR .S.A. El sistema CIELab
malformaciones, confrontándolas con el proceso de de medición de un color. [En línea] Provincia de buenos
producción para poder establecer las posibles causas de éstas aires: Google, disponible en Internet. URL:
y retroalimentar así, el sistema de control de producción. http://www.coloryapariencia.com.ar/color.html

El avance de tecnologías de reconstrucción tridimensional


permitirá el control del volumen del limón para obtener otros
parámetros de tribología y estado de superficie. Por eso se
puede preveer el aplicarlos a los procesos de clasificación para
la calidad del limón.

IX. BIBLIOGRAFÍA

[1] AGRONEGOCIOS. Guía técnica para el cultivo del


limón pérsico. [En línea] Google. Disponible en Internet.
URL:http://www.agronegocios.gob.sv/Media/Fru2LimTe
xt.htm

[2] APFA. Asociación profesional de fotoperiodistas


asturianos. [En línea] Google. Disponible en Internet.
URL: http://www.fotoperiodista.org/

[3] ARQHVS. Luminotecnia. La visión del color. El


espectro visible. [En línea] Google, 2004.Disponible en
Internet.
URL:http://www.arqhys.com/arquitectura/color_vision
html

[4] GALLEGO, Carlos. Introducción a las cámaras CCD en


astronomía. El sensor CCD. Convertidor análogo-digital.
[En línea] Octubre 2000. Disponible en Internet. URL:
http:// www.hipatia.org/ccds.html.

[5] GANSLANDT, Rudiger y Hofmann Harald. Como


planificar la luz. [En línea] España. Erco ediciones, 289
p. Disponible en Internet.
URL:http://www.erco.com/download/data/30_media/20_
handbook/es_erco_lichtplanung.pdf
Diseño
Diseño e implementación
e implementación de un de
de un prototipo prototipo
software de
para la
software paravisualización
la visualización
de videosde videos a 360◦
a 360º
1 1 1
Pedro Francisco
PedroPinzón
FranciscoVillafrades 1 , Cristian
Pinzón Villafrades , CristianQuintero y W.J.
Quintero y1W.J. Sarmiento
Sarmiento 1

Abstract—En este articulo se presenta un prototipo de software II. I M ÁGENES A 360◦


para la visualización de videos a 360◦ partiendo desde la
visualización de imágenes a 360◦ . El prototipo implementa los
Para la creación de imágenes a 360◦ es necesario tener
modelos matemáticos de deformación y el registro de imágenes, en cuenta dos conceptos matemáticos, la deformación de
creando imágenes tanto cilı́ndricas como esféricas a 360◦ , gener- imágenes, que la distorsiona para obtener una sensación de
ado navegación e inmersión en las imágenes. Posteriormente el profundidad y el registro de imágenes que permite unir un
prototipo fue extendido para visualizar videos a 360◦ . mosaico de imágenes como una única imagen continua.
Palabras Claves—Imágenes a 360◦ , video a 360◦ , video inter-
activo. A. Deformación de cojı́n
La distorsión Pincushion o de cojı́n es la distorsión utilizada
en la creación de imágenes a 360◦ , debido al tipo de efecto
I. I NTRODUCCI ÓN
que genera. La distorsión de cojı́n es una distorsión geométrica

E L video ofrece una narración y una claridad excelente,


especialmente por su composición visual, ya que puede
incluir muchı́simas áreas del arte y el diseño como los efectos
en imágenes por la cual las lı́neas rectas adoptan una forma
cóncava curvada hacia dentro, desde los extremos de la pan-
talla entre las esquinas de la imagen [3], como se muestra en
especiales, la animación 2D y 3D y la integración con el audio; la figura 1.
lo que hace de esté una pieza audiovisual muy clara y com-
pleta. Buscando nuevas formas de comunicación audiovisual
y una narración hacia nuevos niveles de entendimiento, se ha
intentado dotar al video de caracterı́sticas de interactividad.
Es ası́, que aunque el video interactivo no tiene una definición
normalizada, puede referirse a él como la conjunción de las
posibilidades tecnológicas que ofrecen el video en si mismo
y la informática [1].
Por otro lado, las imágenes a 360◦ brindan una posibilidad
excelente de obtener interactividad en diferentes ambientes y
necesidades. Su uso se a vuelto tan importante dentro de la
comunicación visual, que se a extendido a las páginas Web y Fig. 1. Deformación de Pincushion: Imagen Original (izquierda), imagen
diversos entornos multimediales en los que requieren mostrar distorsionada con deformación Pincushion (derecha).
ambientes del mundo real, como habitaciones, show rooms y
paisajes, de manera que el usuario pueda hacerse una idea más En las imágenes a 360◦ , la deformación de cojı́n es utilizada
realista que con una foto estática del ambiente que se le desea para distorsionar una imagen plana de forma tal que genere
mostrar [2]. una sensación envolvente en el usuario, dando la ilusión de
Este articulo presenta el desarrollo de un prototipo de un estar visualizando una imagen esférica [2].
software para la visualización de videos a 360◦ , como una her-
ramienta tecnológica para el desarrollo de videos interactivos B. Registro de Imágenes
que permita plantear una forma de narración audiovisual en En muchas aplicaciones de visión artificial es necesario
la que el video sea el elemento principal y permita al usuario realizar comparaciones y seguimientos entre imágenes que
cambiar a voluntad el angulo de visualización. representan el mismo elemento, pero obtenidas en distinto
La primera sección ilustra el proceso de creación de momento, por distintos dispositivos de captación, con distintas
imágenes a 360◦ , la segunda sección describe el proceso de orientaciones, bajo distintas condiciones etc. Estas diferen-
creación de la aplicación de visualización de videos a 360◦ y cias producen una serie de distorsiones en las imágenes,
al final se presentan las conclusiones y perspectivas de trabajo. imposibilitando la comparación directa de las mismas, ya que
puntos equivalentes en las distintas tomas no tienen por qué
1 Grupo de Investigación en Multimedia, Programa de Ingenierı́a en corresponder a los mismos puntos en los objetos representados.
Multimedia, Facultad de Ingenierı́a, Universidad Militar Nueva Granada.
Bogotá, Colombia.
El registro de imágenes se ha presentado como una solución
a este problema y permite a obtener series de imágenes

Memorias STSIVA 2008 Tomo II 36 - 39


XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 37

A continuación describiremos las dos configuraciones de


cámaras usadas:

Fig. 2. Resultado del registro de imágenes entre dos imágenes tomadas con
ángulos diferentes.

alineadas y por lo tanto más fácilmente comparables entre si


[4]. Fig. 3. Ejemplo de 3 cámaras de la configuración de navegación cilı́ndrica:
cámara Roja a 0◦ , cámara verde a 90◦ y cámara azul a 225◦ .
El proceso de registro mas sencillo, desplaza una imagen
móvil sobre una fija (siendo dx y dy los desplazamientos 1) Navegación cilı́ndrica: Para obtener una imagen final
en cada de uno de los ejes), evaluando para cada desplaza- que pueda ser navegada de manera cilı́ndrica es necesario
miento una medida de similaridad entre ellas. El resultado obtener imágenes independientes de la misma escena rotando
se logra al ubicar la imagen móvil sobre la fija, para los la cámara sobre el punto de observación. Teniendo en cuenta
valores del desplazamiento que hallan arrojado la máxima que el angulo de apertura horizontal de la cámara es de 49.03◦ ,
medida de similaridad. Este procedimiento puede ser cada vez se requiere de 8 rotaciones de 45◦ sobre la cámara original,
mas elaborado si adicionamos parámetros de transformación para cubrir toda la circunferencia. La figura 3 ilustra 3 cámaras
como rotaciones, escalamientos o transformaciones no rı́gidas. de esta configuración; la cámara roja es la cámara original,
La figura 2 muestra el resultado de registrar dos imágenes la cámara verde es la cámara rotada 90◦ y la cámara azul
tomadas con ángulos distintos. es la cámara rotada 225◦ . Las imágenes resultados de esta
En la literatura se encuentran diferentes medidas de configuración contienen información común en los extremos
similitud como el coeficiente de correlación [4], la correlación debido al traslape horizontal entre las cámaras, la figura 4
cruzada [5] y la información mutua[6]. muestra el resultado del proceso de render independiente de
las 8 cámaras.
En imágenes a 360◦ , se acostumbra crear un mosaico de 2) Navegación esférica: Esta es una generalización de la
imágenes tomados en diferentes angulo, que cubra toda la configuración para navegación cilı́ndrica, es decir no solo se
imagen de manera panorámica. Ası́, el registro de imágenes deber realizar una rotación sobre el plano, sino que también
se utiliza para unir el mosaico generando una imagen única y debe realizarse una rotación sobre un eje perpendicular para
continua [2]. cubrir una esfera de visualización. Si vemos a la configuración
cilı́ndrica como rotaciones a un angulo θ sobre el eje XY , la
III. D ESARROLLO configuración esférica se logra agregando una rotación en el
angulo ϕ, como se muestra en la figura 5. Ası́, cada cámara
A. Creación de imágenes de prueba
en la configuración obedece a dos rotaciones: ϕ entre −90◦ y
Existen en el mercado diferentes cámaras fotográficas y 90◦ y θ entre 0 y 360◦ .
de video capaces de capturar espacios a 360◦ , en nuestro Teniendo en cuenta que el angulo de apertura vertical de
laboratorio no contamos con este tipo de dispositivos, por
lo que se opto por una solución con “cámaras virtuales”.
Tomando un software para modelado y animación 3D se creo
una cámara que simulara las caracterı́sticas de una cámara
real con formato NTSC, es decir con un angulo de apertura
horizontal de 49.03◦ y un aspecto de proporción de radio de
4 : 3 (1.33). Posteriormente, la cámara fue duplicada para
realizar la configuración necesaria para la creación de las
imágenes y videos. Por último, se realizo un proceso de render
independiente para cada cámara de la configuración.
Se crearon dos configuraciones distintas de cámaras,
Fig. 4. Resultado del proceso de render independiente de las 8 cámaras
la primera permitı́a crear imágenes con una navegación necesarias para logar una imagen con navegación cilı́ndrica. Primera fila de
cilı́ndricas y la segunda imágenes de navegación esféricas. derecha a izquierda, imágenes a 0◦ , 45◦ , 90◦ y 135◦ ; segunda fila, de de
derecha a izquierda, imágenes a 180◦ , 225◦ , 270◦ y 315◦ .
38 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

de todas las cámaras pueden verse en la figura 6, las imágenes


esta ubicadas de arriba a abajo y de derecha a izquierda de
acuerdo con los valores de ϕ y θ de la tabla I.

B. Registro de las imágenes


Una vez finalizado el proceso independiente de render de
cada una de las cámaras de la configuración, se obtienen
ocho imágenes con traslape vertical, para la configuración
cilı́ndrica y 34 imágenes con traslape tanto horizontal como
vertical, para la configuración esférica, las cuales pueden verse
en las figuras 4 y 8 respectivamente. Aunque un proceso de
registro tradicional implica la búsqueda de los parámetros de
transformación (traslación, rotación, etc.) para la superposición
de las imágenes, este proceso no es necesario en este caso, ya
Fig. 5. Ángulos de rotación necesarios para logra una configuración de que desde el momento de la adquisición se conoce el valor
cámaras de navegación esférica
exacto de superposición de cada imagen sobre sus vecinas.
ϕ θ No. Cámaras
90◦ 0◦ 1
60◦ 0◦ , 90◦ , 180◦ , 270◦ 4
30◦ 0◦ , 45◦ , 90◦ , 135◦ , 180◦ , 225◦ , 270◦ , 315◦ 8
0◦ 0◦ , 45◦ , 90◦ , 135◦ , 180◦ , 225◦ , 270◦ , 315◦ 8
−30◦ 0◦ , 45◦ , 90◦ , 135◦ , 180◦ , 225◦ , 270◦ , 315◦ 8
60◦ 0◦ , 90◦ , 180◦ , 270◦ 4
−90◦ 0◦ 1
Fig. 7. Imagen resultante de la configuración cilı́ndrica
TABLA I
R ECORRIDO DEL ÁNGULO θ PARA CADA VALOR DEL ÁNGULO ϕ.
Para el montaje de la imagen final se realiza un proceso de
mapeo inverso, ası́, para la imagen de navegación cilı́ndrica se
construye una imagen de θ vrs z, como la que se observa en
la cámara es de 37.85◦ se debe realizar un barrido en ϕ cada la figura 7, resultado del registro de las ocho imágenes de la
30◦ , donde para cada valor ϕ se debe realizar la variación figura 4. La imagen de la navegación esférica se construye en
completa de θ (de 0 a 360◦ ), la cual se puede lograr con θ vrs ϕ, logrando la deformación de cojı́n necesaria para su
pasos de 45◦ como en la configuración cilı́ndrica. Sin embargo, correcta visualización, en la figura 8 se muestra el resultado
esto no es recomendable, ya que el área de traslape de la final del registro de las imágenes de la figura 8, para este caso,
imágenes aumenta con el valor de ϕ. Empı́ricamente se diseño en el eje x quedan consignados los valores cada θ grados de
un sistema de barrido ϕ, θ el cual puede verse en tabla I. Se adquisición, mientras en el eje y,cada ϕ grados. El proceso
observa que para valores de ϕ de −30◦ a 30◦ se realiza un de registro para la creación de esta ultima imagen es similar
barrido de θ cada 45◦ , mientras que para valores de ϕ iguales a el proceso de mapear una superficie esférica sobre un plano
−60◦ y 60◦ el recorrido en θ es cada 90◦ , por último, las tapas usando coordenadas de latitud y longitud[7].
de la esfera (ϕ −90◦ y 90◦ ) solo es necesaria un imagen. Las
imágenes resultantes del los procesos independientes de render

Fig. 8. Imagen resultante de la configuración esférica

C. Visualización
Se escribió una aplicación usando una librerı́a de desarrollo
3D, en el cual se mapea la imagen final obtenida con el registro
de imágenes en una superficie cilı́ndrica ó esférica, de acuerdo
Fig. 6. Resultado del proceso de render independiente de las cámaras
con el procedimiento anterior. Una cámara de visualización es
necesarias para logar una imagen con navegación esférica. Las imágenes se creada en el centro del sistema de coordenadas, visualizando
encuentran organizadas de acuerdo con los valores de θ y ϕ de la tabla I. solo un fragmento de la superficie respectiva.
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 39

Con la configuración cilı́ndrica la cámara de visualización es


rodeada por la superficie cilı́ndrica y apunta hacia el exterior
donde la imagen es mapeada. La navegación se realiza con
movimientos horizontales del mouse ó con las flechas del
teclado, que producen un ángulo de rotación θ en la cámara de
visualización, permitiendo al usuario ver la imagen completa.
En la configuración esférica el procedimiento es similar al
anterior, con la diferencia de que la superficie de mapeo cam-
bia. La navegación se realiza con movimientos horizontales y
verticales del mouse ó con el teclado, produciendo rotaciones
en ϕ y θ sobre la cámara de visualización.

D. Extensión del Prototipo de Software para la visualización


de videos a 360◦
Una vez el prototipo para la visualización de imágenes a
Fig. 9. Visualización de la imagenes a 360◦
360◦ fue validado, se procedió a extenderlo de modo tal que
pudiera utilizarse para visualizar videos.
El procedimiento de registro se realizó cuadro por cuadro cámaras para observar escenas que de otra manera no seria
de video para todas la imágenes resultantes del proceso posible.
independiente de render para cada cámara de la configuración. Actualmente se esta viendo la posible aplicación de estos
Las imágenes resultantes de este proceso, se usaron para crear videos en otras áreas como la educación, la medicina y el en-
un único video, donde cada cuadro era resultado del proceso trenamiento personal, e incluso se esta portando el sistema de
de registro anterior. visualización hacia el primer prototipo se la Sala de Inmersión
La aplicación de visualización también fue modificada para Virtual (SIV) creado al interior de grupo de investigación
cambiar la imagen mapeada sobre la superficie a la velocidad [8][9].
adecuada, de tal manera que permitiera ver el video de forma
fluida. Es bueno aclarar que este proceso se realizaba de R EFERENCIAS
manera independiente al proceso de navegación que podı́a
[1] D. J. S. Ibáñez, “Interaccion, medios interactivos y video interactivo,”
hacer el usuario sobre el video (ángulos θ y ϕ), el resultado RED: Revista de Educación a Distancia, 1.994., vol. 10, pp. 137–148,
fue una aplicación 3D, que permite la visualización de un 1993.
video mapeado sobre una superficie, donde le usuario puede [2] S. E. Chen, “Quicktime vr: an image-based approach to virtual environ-
ment navigation,” in SIGGRAPH ’95: Proceedings of the 22nd annual
a voluntad cambiar el angulo de visualización de la cámara a conference on Computer graphics and interactive techniques. New York,
medida que el video es reproducido. En la Figura 9, se puede NY, USA: ACM, 1995, pp. 29–38.
ver una imagen de la aplicación desarrollada. [3] L. G. C. Incorporated, EF LENS WORK III, The Eyes
of EOS, 8th ed. Lens Group Canon Incorporated, 2006,
Para la validación se creo un video de 15 segundos, el cual ch. OPTICAL TERMINOLOGY & MTF CHARACTERISTICS,
fue renderizado para las dos configuraciones de cámara. Se pp. 192 – 216. [Online]. Available: http://www.canon-
realizaron pruebas de rendimiento de la aplicación, cambiando europe.com/Support/Documents/digital slr educational tools/
[4] P. A. Crespo and J. M. Vázquez, “Notas de clase,
el angulo de visualización de la cámara a medida que el video vision artificial registro de imagenes,” Grupo VARPA, Dpto.
era reproducido, observando una continuidad en el proceso Computación, Facultad de Informática, Universidade da Coruña,
de reproducción, independiente del proceso de navegación. Campus de Elviña, Tech. Rep., Mayo 2006. [Online]. Available:
http://www.varpa.es/Docencia/VAFiles/Curso0506/
También se creo un video (video 0)usando la cámara con 0◦ [5] M. J. Botello S, “El metodo de los elementos finitos en el registro
de rotación tanto en ϕ como en θ. Los videos a 360◦ fueron de imagenes de resonancia magnetica,” Revista Mexicana de Ingenierı́a
reproducidos sin realizar ningún tipo de navegación por el Biomédica, vol. 24, no. 2, pp. 104–115, Septiembre 2003. [Online].
Available: http://www.medigraphic.com/pdfs/inge/ib-2003/ib032b.pdf
usuario y se compararon con el resultado de visualizar el video [6] J. Pascau, J. D. Gispert, S. Reig, R. Martı́nez, and D. M., “Registro
0, donde se observó prácticamente el mismo resultado visual. de imagenes en medicina nuclear (registro de imágenes, multimodalidad,
pet, spect),” Revista de la Real Academia de Ciencias Exactas, Fı́sicas y
Naturales, vol. 96, no. 1-2, pp. 29–43, 2002.
IV. C ONCLUSI ÓN Y PERSPECTIVAS [7] Foley, Van-Dam, Feiner, Hughes, and Phillips, Introduction to computer
Graphics. Addison-Wesley Publishing, 1994.
Este prototipo abre las puertas del video interactivo, hacia [8] C. Quintero, W. J. Sarmiento, and E. L. Sierra-Ballén, “Low cost
caminos diversos, en donde el video se convierte en un com- cave simplified system,” in Proccedings of Human Computer Interaction
International, Beijin, China, 2007.
ponente de interactividad por derecho propio, generando ambi- [9] C. Quintero, W. J. Sarmiento, and E. L. Sierra-Ballen, “Diseño de un
entes propicios para nuevas formas de expresión, y narraciones prototipo de sistema de realidad virtual inmersivo simplificado,” Ciencia
no lineales, en donde un suceso puede cambiar dependiendo e Ingenieria Neogranadina, vol. 18, no. 1, 2008, in press.
del punto en donde se mire.
Hacia un camino futuro, el prototipo podrida adquirir nuevas
caracterı́sticas, implementando la navegación dentro de cam-
pos de visión, a partir de movimientos de la configuración de
Reparametrización de mallas triangulares en cuadriláteros
Reparametrización de Mallas Triangulares en
[1] [2]
[1]
Mateus, S., [2]Giraldo, J., y [3]Branch, J.
Politécnico Colombiano Jaime Isaza Cadavid, [3]Universidad Nacional de Colombia – Sede Medellín
Cuadriláteros [1]
spmateus@elpoli.edu.co, [2]jegiraldo@elpoli.edu.co, [3]jwbranch@unalmed.edu.co

[1]
Mateus, S., [2]Giraldo, J., y [3]Branch, J.
[1] [2] [3]
Politécnico Colombiano Jaime Isaza Cadavid, Universidad Nacional de Colombia – Sede Medellín
[1] [2] [3]
spmateus@elpoli.edu.co, jegiraldo@elpoli.edu.co, jwbranch@unalmed.edu.co

de topología arbitraria. En contraste a las aproximaciones


Resumen— En este artículo se presenta una metodología para basadas en agrupamiento heurístico, la metodología expuesta
la reparametrización de mallas triangulares en cuadriláteros, a sugiere trabajar sobre las propiedades intrínsecas de la forma
través del análisis espectral de mallas y la teoría de Morse, dada de la superficie. Esta cuadrilateración base produce mallas
la necesidad de métodos de reparametrización cuadrilaterales de compuestas exclusivamente de cuadriláteros y con un número
calidad, los cuales son de gran importancia en varias áreas de
pequeño de puntos. Para descomponer una superficie en
computación gráfica y visión por computador . En este sentido, se
implementa un algoritmo que cuadrilateriza superficies
parches cuadrilaterales, se introduce un análisis de la teoría de
triangulares, aplicando un análisis de la teoría de Morse a los Morse del espectro de la malla triangulada. Los vectores
valores propios de una malla Laplaciana. Finalmente, los parches propios de la matriz Laplaciana discreta son usados para
cuadrilaterales resultantes se forman adecuadamente y se definir los campos escalares sobre una superficie triangulada
levantan directamente de las propiedades intrínsecas de la tal que el extremo de un campo dado, se da a una frecuencia
superficie, debido a las propiedades del operador Laplaciano. deseada. La extracción del complejo Morse-Smale de los
campos escalares provee una descomposición de la superficie
Palabras Claves— Reparametrización, cuadriláteros, análisis que es cuadrilateral en superficies complejas y con topología
espectral, teoría de Morse, Laplaciano, visión por computador. arbitraria.

I. INTRODUCCIÓN II. REPARAMETRIZACIÓN DE MALLAS TRIANGULARES EN


AS mallas triangulares con frecuencia exhiben varias CUADRILÁTEROS
L deficiencias. Ellas son frecuentemente parametrizadas con De manera general, el análisis espectral trata de inferir
resoluciones inapropiadas y típicamente contienen muchos características topológicas del objeto a través de funciones
elementos formados de manera inadecuada. Debido a la matemáticas. Este análisis espectral, arroja un espectro, lo
constante ocurrencia de mallas deficientes, la habilidad de que viene a ser un conjunto de valores y vectores propios de
segmentar las superficies en regiones formadas una matriz que ha sido inferida de la malla triangular. El
adecuadamente y de reparametrizar superficies con mallas análisis espectral se apoya en la Teoría de Morse. Esta teoría
bien formadas, es de importancia crítica en casi todos los escoge unos puntos representativos de los vértices de la malla
sistemas de procesamiento de mallas [1]. triangular, que son los puntos críticos de Morse, los cuales
La mayoría de trabajos reportados en la literatura sobre serán posteriormente los vértices de los cuadriláteros.
métodos de remallado, se han enfocado en el problema de La aplicación de la teoría de Morse para mallas
producir mallas triangulares. Sin embargo, la habilidad para triangulares, implica resolver una forma discreta de la
producir mallas cuadrilaterales es también de gran ecuación del Laplaciano, para encontrar una función Morse
importancia. Los cuadriláteros son las primitivas preferidas que describa la topología representada en la malla triangular.
para el modelamiento de muchos objetos y en muchos En este sentido, pueden existir puntos críticos adicionales a la
dominios de aplicación [4]. Muchas formulaciones de característica de la superficie, que produzcan un dominio base
subdivisión de superficies como los Splines y las NURBS, que represente adecuadamente la geometría tanto de la misma
requieren bases cuadrilaterales complejas; descomponer una topología como de la malla original, y también puede
superficie en cuadriláteros bien formados provee un medio agruparse la malla en parches mejorados. En este trabajo se
casi natural para la construcción de parches NURBS. aplica la teoría de Morse a mallas triangulares de una manera
Recientemente se han desarrollado métodos para más robusta teniendo en cuenta los puntos de silla y la
cuadrilaterizar automáticamente superficies complejas [2], preservación de bordes, encontrando una función Morse que
dichos métodos son bastante complicados, difíciles de sea apropiada a un número determinado de puntos críticos.
implementar y cuentan con múltiples componentes Esta teoría se basa en el Laplaciano para encontrar las
heurísticos. funciones armónicas de una función dada. La teoría de Morse
relaciona la topología de una superficie S con su estructura
En este artículo, se presenta una metodología para construir diferencial especificada por los puntos críticos de una función
bases cuadrilaterales complejas sobre superficies trianguladas de Morse f: f : S → R [5] y está relacionada con el análisis
espectral de mallas.

Memorias STSIVA 2008 Tomo II 40 - 43


XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 41

A. Análisis Espectral de Mallas puntos de silla). La teoría de Morse ha sido utilizada en


El análisis espectral, se realiza calculando inicialmente el gráficos y visualización por computador, para analizar
laplaciano. El operador Laplaciano discreto en funciones diferentes funciones reales. Un ejemplo son los datos de
lineales de pedazos de superficie sobre superficies terrenos, los cuales están definidos por una función de altitud
trianguladas está dado por la Ec. (1): en el plano, en donde la teoría de Morse puede identificar


características topológicas, controlar su simplificación y
Δf = W ( f − f )
i ij j i
(1)
organizarlas en jerarquías de multiresolución.
j∈N i

Donde Ni es el conjunto de vértices adyacentes al vértice i y Puntos Críticos


Wij, es un peso escalar asignado a la arista dirigida (i,j). Este El procedimiento propuesto en esta etapa, estima una
cálculo se puede observar en la Figura 1, en la cual los puntos cuadrilateración inicial de la malla utilizando el análisis
de los vértices, indican los vértices vecinos sobre el que se espectral mediante teoría de Morse. Inicialmente, se obtienen
hace la sumatoria sobre la que se calcula el Laplaciano los vértices de los cuadriláteros como un conjunto de puntos
discreto. críticos de una función Morse. Sea c ∈ S ⊂ R3 un punto en
una superficie S, en un vecindario continuo parametrizado por
(u,v):
f (c ) = f (c ) = 0
• Un punto c ∈ M es crítico si u v con valor
crítico f(c), de otra manera es regular.
• El punto crítico c es degenerado si
f uu (c) f vv (c) − 2 f uv (c) = 0
, de otra manera es Morse.
La función f es llamada función de Morse si todos sus
Fig 1. Cálculo del Laplaciano discreto sobre un vértice. puntos críticos son no degenerados.
Siendo λ1 ≤ λ2 dos valores propios de la Hessiana de una
Para cada grafo libre de cualquier geometría embebida, es
función f, con sus correspondientes vectores propios, el índice
habitual usar la definición de pesos combinatorios Wij = 1 / deg(i) . de un punto crítico de Morse es el número de valores propios
Sin embargo, para superficies múltiples la opción apropiada, negativos de su Hessiana, por tanto éste puede clasificarse en
son los pesos armónicos discretos, según la Ec. (2): [3]:
1
Wij = − (cot α ij + cot β ij ) • Mínimo (índice 0, f incrementa en toda las direcciones).
2 (2) • Punto de Silla (índice 1, f cambia en decrementos e
α β ij incrementos cuatro veces alrededor de un punto).
donde ij y son los ángulos opuestos al borde (i,j). • Máximo (índice 2, f decrementa en todas las
Representando la función f por el vector columna de sus direcciones).
f = [ f1 f 2 ... f n ]T En la Figura 2, se observa la configuración de los puntos
valores hacia todos los vértices , podemos
reformular el laplaciano como una matriz (Ec. (3)): críticos. La parte a, indica un punto regular. Para la parte b, se
Δf = − Lf (3) observa cómo se halla un máximo cuando todos en el
vecindario son mínimos. En la parte c, se observa cómo es un
donde la matriz Laplaciana L tiene las siguientes entradas (Ec. mínimo, cuando todos los de alrededor son máximos. Las
(4)): partes d y e, indican puntos de silla.
⎧∑k Wik Si i=j,

Lij = ⎨ − wij Si (i,j) es una arista de M, (4)
⎪ 0
⎩ En cualquier otro caso.

Los valores propios λ1 = 0 ≤ λ2 ≤ ... ≤ λn de L forman el


espectro de la malla S, además de describir el cuadrado de la
Fig. 2. Ejemplos de Vértices Críticos y Regulares [3].
frecuencia y los correspondientes vectores propios 1 2
e , e ,..., e
n

de L definen las funciones lineales de pedazos de superficie Complejo de Morse-Smale


sobre S de las más altas frecuencias progresivamente. El complejo de Morse-Smale es obtenido mediante la
B. Teoría de Morse conexión de un conjunto de puntos críticos que pertenecen a
Dada una función real sobre alguna superficie, la teoría de un campo propio de la matriz laplaciana. La definición de un
Morse conecta la geometría diferencial de una superficie con campo propio se obtiene seleccionando el conjunto de
su topología algebraica; esta teoría, describe la conectividad vectores asociado a un valor solución del sistema de
de la superficie, a partir de la configuración de los puntos ecuaciones.
donde la función del gradiente decae. Tales puntos son Como la función de Morse representa una función sobre la
llamados puntos críticos (estos son: mínimos, máximos y malla, cada valor propio describe el cuadrado de la frecuencia
42 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

de dicha función. Así, la selección de cada valor propio indica utilizada por su geometría suave; la segunda es el objeto
directamente la cantidad de puntos críticos que posee la “moai” el cual tiene topología arbitraria muy irregular.
función. Para valores de frecuencia altos, mayor número de En las Figuras 4a y 5a se pueden observar los puntos críticos
puntos críticos se obtendrán. Esto permite representar cada resultantes de diferentes configuraciones de armónicos para
objeto con un número variable de parches de superficie. El ambos objetos. En las Figuras 4b y 5b, la malla cuadrilateral
campo propio asigna valores de función para cada vértice de se ajustó adecuadamente a la geometría de los objetos,
la malla, lo que permite determinar si un vértice de la malla es independiente de su topología.
un punto crítico de la función de Morse. Adicionalmente, de
acuerdo a un conjunto de valores obtenidos como el
vecindario del primer anillo de cada vértice, es posible
clasificar los puntos críticos como máximos, mínimos o
puntos de silla. La identificación y clasificación de cada punto
crítico permite construir el complejo Morse-Smale.
Una vez obtenidos y clasificados los puntos críticos estos se
deben conectar para formar la base cuadrilateral de la malla.
La conexión de los puntos críticos se inicia seleccionando un
punto silla y construyendo dos líneas de ascenso inclinadas y
dos líneas de descenso declinadas. Las líneas inclinadas se
forman como un conjunto de vértices que terminan en un
punto crítico máximo. Inversamente, una línea de descenso se
forma por el camino de vértices que terminan en un punto
crítico mínimo. Sin embargo, existen casos en los que no es
posible determinar el conjunto de dos líneas ascendentes y dos
descendentes. Se debe tener en cuenta que dos caminos
pueden ser unidos sólo si ambos ascienden o ambos
descienden.
Después de calcular todos los caminos, se divide S en a.
regiones cuadrilaterales que forman las células del complejo
de Morse-Smale. Específicamente, se desarrolla cada
cuadrilátero de un triángulo incidente a un punto de silla sin
cruzar nunca un camino (ver Figura 3).

b.
Fig 3. Cuadriláteros formados por el Complejo de Morse-Smale. Fig. 4. Puntos críticos arrojados por la Teoría de Morse y Cuadrilaterización
obtenida mediante el Complejo de Morse-Smale para el Objeto Pera.

III. EXPERIMENTOS Y RESULTADOS


Las pruebas visuales para cada una de las fases de este
trabajo fueron obtenidos utilizando un procesador AMD
Semprom a 3,0GHz con 512Mb de Memoria. El lenguaje de
programación utilizado fue C++ con motor gráfico OpenGL y
como plataforma de desarrollo Builder 5.0.
La generación de la malla cuadrilateral y la representación
computacional de los modelos, fueron probados con dos
imágenes de rango de objetos reales: la primera es la “pera”,
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 43

IV. CONCLUSIONES
En este trabajo, se ha explorado y desarrollado el Análisis
Espectral y la Teoría de Morse en mallas triangulares para
generar mallas cuadrilaterales. La teoría discreta de Morse
garantiza que sin importar la complejidad topológica de la
superficie que representa la malla triangular, se obtenga una
descripción cuadrilateral completa, es decir, que es posible
dividir completamente la superficie de los objetos mediante
cuadriláteros. La obtención de un número determinado de
puntos críticos, depende exclusivamente del armónico
seleccionado. Se usa la Teoría de Morse para analizar la
estructura de los campos propios laplacianos de la superficie y
así producir cuadriláteros que se generan directamente sobre
la forma intrínseca de la superficie. Además el uso del
Complejo de Morse-Smale es robusto topológicamente y
garantiza que la base compleja sea siempre cuadrilateral,
evitando así las ambigüedades entre cuadriláteros.

REFERENCIAS
[1] Boier-Martin, I., Rushmeier, H. y Jin, J. (2004). Parameterization of
triangle meshes over quadrilateral domains. In Proc. Eurographics
Symposium on Geometry Processing, 197–207.
[2] Bremer, P., Edelsbrunner, H., Hamann, B. y Pascucci, V. (2004). A
topological hierarchy for functions on triangulated surfaces. TVCG 10,
4, 385–396.
[3] Edelsbrunner, H., Harer, J. y Zomorodian, A. (2003). Hierarchical
a. Morse-Smale complexes for piecewise linear 2-manifolds. Discrete
Comput. Geom, 30, 87-107.
[4] Friedel, I., Schröder, P. y Khodakovsky, A. (2004). Variational normal
meshes. TOG 23, 4, 1061–1073. (Proc. SIGGRAPH).
[5] Koren, Y., Carmel, L. y Harel, D. (2002). ACE:A fast multiscale
eigenvectors computation for drawing huge graphs. In Proc. InfoVis ’02,
137–144.

Sandra Patricia Mateus Santiago: Docente Tiempo Completo y Miembro


del Grupo GRINSOFT, Area de Informática, Facultad de Ingeniería,
Politécnico Colombiano Jaime Isaza Cadavid. Magíster en Ingeniería –
Ingeniería de Sistemas de la Universidad Nacional de Colombia – Sede
Medellín. Ingeniera de Sistemas de la Universidad del Magdalena. E-mail:
spmateus@elpoli.edu.co. Dirección: Carrera 48 N° 7-151, Sede Poblado,
Bloque P19, Of: 146. Tel: 3197900 Ext: 477. Medellín – Antioquia.

Jorge Eliecer Giraldo Plaza: Docente Tiempo Completo y Miembro del


Grupo GRINSOFT, Área de Informática, Facultad de Ingeniería, Politécnico
Colombiano Jaime Isaza Cadavid. Magíster en Ingeniería – Ingeniería de
Sistemas de la Universidad Nacional de Colombia – Sede Medellín. Ingeniero
de Sistemas de la Universidad Distrital Francisco José de Caldas. E-mail:
jegiraldo@elpoli.edu.co. Dirección: Carrera 48 N° 7-151, Sede Poblado,
Bloque P19, Of: 148. Tel: 3197900 Ext: 476. Medellín – Antioquia.

John Willian Branch Bedoya: Profesor Asociado de Tiempo Completo y


Miembro del Grupo de I+D en Inteligencia Artificial, Escuela de Sistemas,
Facultad de Minas, Universidad Nacional de Colombia - Sede Medellín.
Doctor en Ingeniería – Sistemas, Magíster en Ingeniería de Sistemas e
Ingeniero de Minas y Metalurgia de la Universidad Nacional de Colombia,
Sede Medellín. E-mail: jwbranch@unalmed.edu.co. Dirección: Carrera 80 No.
65 - 223 Bloque M8A Of: 307. Tel: 4255375. Medellín – Antioquia.

b.
Fig. 5. Puntos críticos arrojados por la Teoría de Morse y Cuadrilaterización
obtenida mediante el Complejo MS para el Objeto Moai.
 Reconstrucción y mejoramiento de imágenes


Javier Roncancio, Julian Quiroga, AlejandroForero



         


                   
                
              
  

       
     



        


 
         

       



         




          
       
         
       

       
          


         





         

        
           

         

            
         


           

        
         
      


         
      
       

       

        

       
         
         
   
                       
             
 
                  
 

           
 
              
        
        
        
         
 

Memorias STSIVA 2008 Tomo II 44 - 48


XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 45



         

      
           

        
                     
 

          
        
    
               
  
         
 
        
 
                
 
 
           
 


       





        
       

         
        






           
 



            
           
         
         
          
46 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008


   
 
 
 
 
          
         
                 
           
 
         
         
  

        
  

            
          
          
 



 
 
 
             
 
  
  
                  
         
      

• 
 
•         
•            
         
 
 
           
         


     
       
           
          
           

         
       
      
         
 
                         
          
         
      


  
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 47



          
      
 
                    
           
                 
      
          
                   
                
           
                 
                  
                
 
 
 
       
           
                 
                 
         
                  
         
                   
                    
     
 
        
        
                
                  
 
               
         
 
        
                    
         
                  
 
                   
 

          
        
          
        
        
                   
                  
       
          
           

  

48 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008



         
       

 


          
       


        
      

        
   
      
      

 
       

 
        

 

 
       
        

             
          
        
         

 


          
          

            


           
        

        
        

        

           
        
         

           

         

          

Propuesta de un sistema de verificación de hablantes basado en
Propuesta de un Sistema
máquinas de Verificación
de vectores de soporte de Hablantes
basado en Máquinas de Vectores de Soporte
David A. Jaramillo, Danny A. Múnera, Henry A. Arcila, Byron Buitrago, José Aedo

David A. Jaramillo, Danny A. Múnera, Henry A. Arcila, Byron Buitrago, Jose Aedo

Resumen - En este artículo se propone un sistema de hablantes. En la sección 5 se presentan los resultados
verificación de hablante dependiente del texto basado en obtenidos en la implementación. Finalmente en la sección
Máquinas de Vectores de Soporte (SVMs.) El sistema de 6 se presentan las conclusiones y los trabajos futuros.
verificación fue implementado completamente en MATLAB.
Tras la realización de diversas pruebas experimentales con el
II. MÁQUINAS DE VECTORES DE SOPORTE
uso de las SVMs se obtuvo como resultado un sistema óptimo
basado en un kernel polinómico, una caracterización de voz
MFCC y una filosofía multiclase uno contra uno, con un Half Las SVMs se basan en la idea de usar un hiperplano de
Total Error Rate de 8.67% y un False Acceptance Percent del separación lineal para crear un clasificador, cuya distancia
2%, ratificando el buen funcionamiento de las SVMs de separación entre clases sea máxima, dados los datos de
aplicadas al campo del reconocimiento. entrenamiento [7]:
Palabras claves – SVM, verificación de hablantes, LPC,
(x1 , y1 ), (x2 , y 2 ),..., (xl , yl ), x ∈ ℜ n , y ∈ {+ 1,−1}(1)
MFCC, MatLab. Si se asume que las clases son linealmente separables,
pueden ser clasificadas por medio de un hiperplano
(frontera de decisión) definido por:
I. INTRODUCCIÓN w⋅ x + b = 0 (2)
donde w y b son parámetros ajustables que se hallan a
L OS sistemas de reconocimiento de hablantes han
tomado en los últimos años un inusitado interés por los
continuos avances tecnológicos desarrollados tanto en
partir de la siguiente expresión [8]:
1
los sistemas multimedia como en la computación móvil. min wT ⋅ w (3)
Actualmente existen muchos métodos de aprendizaje de 2
máquina para abordar el desarrollo de un sistema sujeto a yi (w ⋅ xi + b ) ≥ 1, i = 1,..., l
automático de reconocimiento de voz, siendo las redes Resolver algorítmicamente el problema anterior toma un
neuronales artificiales las más conocidas [1], sin embargo, grado de complejidad muy alta, ya que este depende de la
publicaciones recientes muestran que metodologías dimensionalidad de los datos de entrada, por lo cual se
estadísticas tales como los Modelos de Mezclas Gausianas recurre a la representación Lagrangiana dual que se
y Modelos Ocultos de Markov ([2], [3], [4]), y resuelve por medio de la condiciones de Karush-Kuhn-
metodologías discriminativas como las Maquinas de Tucker [8].
Vectores de Soporte ([5], [6]) arrojan resultados Además, las SVMs ofrecen las representaciones con
satisfactorios en cuanto a su complejidad y a las tasas de Kernel, las cuales brindan una solución para proyectar los
error. datos a un espacio característico de una dimensionalidad
En particular, las máquinas de vectores de soporte más alta y así incrementar el poder de discriminación de
(SVMs) han tenido gran aceptación debido a que tienen la las máquinas lineales de aprendizaje. El uso de los
habilidad de discriminar datos con un tamaño de modelo clasificadores lineales en la representación dual hace
seleccionado automáticamente por medio de los vectores posible realizar este paso implícitamente. La ventaja de
de soporte y en un espacio característico altamente usar las máquinas en la representación dual deriva del
dimensional. La base teórica de las SVMs está hecho que en esta representación el número de parámetros
fundamentada en la teoría estadística del aprendizaje sintonizables no depende del número de atributos que están
convirtiéndose en una herramienta excepcional para la siendo usados. Reemplazar el producto interno con una
generalización en problemas complejos, lo cual las hace apropiada elección de la función kernel, sería una forma de
adecuadas para el uso en problemas de verificación de realizar un mapeo no lineal (ver ecuación 4) a un espacio
hablantes. característico de una dimensionalidad más alta sin
En este artículo se presenta la implementación de una incrementar el número de parámetros sintonizables [9].
técnica de reconocimiento de voz, específicamente un
sistema de verificación de hablantes utilizando Máquinas
φ : ℜd → H (4)
de Vectores de Soporte. La función a optimizar es

∑α iα j yi y j K (xi , x j ),
1
Ldual = ∑ α i −
Este articulo ha sido estructurado de la siguiente forma:
en las secciones 2 y 3 se realiza una descripción de las (5)
i 2 j
Maquinas de Vectores de Soporte y de características útiles
de la voz para la identificación del locutor. En la sección 4
se describe la estructura del sistema de verificación de

Memorias STSIVA 2008 Tomo II 49 - 52


50 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

donde Ldual hace referencia al Lagrangiano en su forma voz es analizada por el sistema de verificación que toma la
decisión de aceptar o rechazar la solicitud de identificación
dual del problema de clasificación, α son los del usuario o posiblemente reportar una insuficiente
multiplicadores de Lagrange y K es la función kernel confianza en los datos o solicitar datos adicionales antes de
asociada [10]. tomar la decisión.
En las ecuaciones 6 y 7 se enuncian las funciones Previo a la verificación, el solicitante debe ser
kernel usadas para el sistema propuesto, asumiendo que matriculado en el sistema, bajo condiciones supervisadas.
X ⊂ ℜ N [11]. Durante su matrícula los modelos de voz son generados y
Función Polinomial no homogénea: almacenados para su uso futuro en el proceso de
K (xi , x j ) = ((xi ⋅ x j ) + c )
d verificación. Debe existir un compromiso entre la
(6) exactitud, la duración y el número de sesiones a matricular
donde, d ∈ N , c ≥ 0 . [17].
Función de Base radial Gaussiana: La propuesta presentada, para el sistema de verificación
2 en este trabajo utiliza esencialmente tres etapas: Etapa de
xi − x j

K (xi , x j ) = e
− adquisición de la base de datos de los usuarios del sistema,
2σ 2 (7) etapa de matrícula de usuarios y por último, etapa de
,
verificación del solicitante.
con σ >0. La primera etapa consiste en la adquisición de las
muestras de voz necesarias de cada uno de los usuarios que
La solución del problema de clasificación mediante las se desean matricular y, de aquellas personas que
SVMs se basa en el establecimiento de una frontera de aumentarán la base de datos como impostores para el
decisión entre clases que se forma a partir de elementos del entrenamiento y test del sistema de verificación
conjunto de entrenamiento llamados vectores de soporte, desarrollado. Las muestras son almacenadas de manera que
que son elegidos al maximizar el margen a través de un siempre se encuentren disponibles para la etapa posterior
problema de optimización cuadrática [12]. de entrenamiento y generación de los modelos.
NS
f ( x ) = ∑ α i yi K (si , x ) + b ,
En la etapa de matrícula de usuarios, se generan los
(8) modelos correspondientes a los usuarios que se desean
i =1
matricular en el sistema. El proceso es manejado por
donde N S es el número de vectores de soporte y b es la medio de la interfaz para la generación de modelos que
polarización [8]. controla todo lo pertinente a este proceso.
La discusión anterior sobre las SVMs asume que los Para la implementación de esta etapa se utilizan funciones
datos de entrenamiento se encuentran solo en dos clases del toolbox SVM para MATLAB®, desarrollado por el
(clasificación binaria, ver ecuación 1).Para extender la Image Speech and Intelligent Systems Research Group, de
clasificación por SVM al caso multiclase existen métodos la Universidad de Southampton [18].
entre los que se destacan: método uno contra todos y La interfaz de entrenamiento SVM permite la creación
método uno contra uno [13]. y grabación de diferentes modelos para el sistema de
verificación. Tiene la capacidad de variar múltiples
III. CARACTERIZACIÓN DE LA VOZ. parámetros para crear diferentes modelos que son
evaluados en la etapa de verificación. En este trabajo se
Cuando se caracteriza la voz, se busca la extracción de propone una metodología para la clasificación de personas
sus parámetros más representativos con el fin de obtener impostoras. La propuesta consiste en la utilización de una
una representación más compacta y menos redundante por clase adicional al sistema, en la cual se contenga
medio de vectores característicos. Con esto se logra una información de muestras de voz de varias personas que no
simplificación con relación al número de muestras a pertenecen a la base de usuarios, de modo que sus
analizar en las etapas posteriores de procesamiento de esta muestras de entrenamiento se encuentren dispersas y
señal. Entre los métodos más desarrollados para encierren el espacio de los usuarios matriculados limitando
caracterizar la voz se encuentran: Los coeficientes de el espacio de clasificación. El efecto práctico de esta clase
predicción lineal LPC [14] y los coeficientes cepstrales en es que cuando una persona impostora para el sistema haga
la frecuencia de Mel MFCC [15] [16]. una solicitud de entrada, sea clasificado con mayor
probabilidad en la clase adicional de impostores, en cuyo
IV. SISTEMA DE VERIFICACIÓN DE HABLANTES caso el sistema negará su petición.
Por último, la etapa de verificación de solicitantes es la
Un sistema para verificación del hablante se utiliza para encargada de realizar el proceso de comparación de
decidir si un locutor específico corresponde al locutor real patrones de voz entre la persona solicitante y los usuarios
previamente establecido. En un sistema de verificación una matriculados del sistema (ver figura 1).
persona hace una solicitud de identificación, la señal de
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 51

Figura 1. Pasos en la etapa de verificación.

V. PROTOTIPO EXPERIMENTAL Y RESULTADOS Filosofía de clasificación %FR %FA HTER


1 contra 1 2.5 5 3.72
En la etapa de matrícula de usuarios, el sistema accede 1 contra todos 14.2 7.86 11
a toda la base de datos de voz disponible (140 muestras de Tabla 1. Comparación entre las diferentes filosofías multiclase
la palabra por persona), que se ha creado de forma off-line.
Las muestras de voz de la etapa de verificación cumplen En la tabla 2 se puede observar la comparación entre los
las mismas condiciones que aquellas utilizadas en la etapa dos métodos de caracterización mencionados y los dos
de matrícula de usuarios, sólo que en la verificación son tipos de kernel más comunes [19] [12]. Se exhiben los
adquiridas on-line y su número es más reducido. mejores resultados de una previa crossvalidation y
Un sistema de verificación de hablantes se considera posterior sintonía manual de sistemas basados en la
bueno o aceptable cuando la probabilidad de error que este filosofía multiclase uno contra uno, para 10 usuarios con
ofrece es muy baja o nula [10]. El sistema es evaluado por 140 muestras cada uno.
tres tipos de indicadores de error como lo son: False
Rejected percent (%FR), False Acceptance percent (%FA) Kernel RBF POLINÓMICO
y Half total error rate (HTER), donde Carac. %FR %FA HTER %FR %FA HTER
MFCC 10.3 4.29 7.31 15.3 2 8.67
HTER =
1
(% FR + % FA) . (9) LPC10 22.7 5.71 14.2 29.7 3.43 16.5
2 Tabla 2. Comparación entre kernel y caracterizaciones del sistema
Una máquina de vectores de soporte para cualquier
sistema en general se caracteriza por ser un buen Aunque el kernel RBF obtuvo el HTER mas bajo
clasificador, dependiendo de la buena elección de sus (7.31%) el kernel polinómico obtuvo un %FA
parámetros que constituye el primer aspecto que se tendrá asombrosamente bajo (2%) que lo hace lucir como el
en cuenta. En la prueba de test se utilizan dos diferentes sistema más seguro, teniendo en cuenta que su HTER
tipos de kernel el polinomial y el RBF que son los que también es bajo (8.67%). Según la tabla 2, la mejor
mejor se comportan en ambientes de voz, variando sus caracterización corresponde a MFCC ya que con
parámetros más importantes [19][12]. Para implementar cualquiera de los kernel los porcentajes de error son
esta variación se utiliza inicialmente la crossvalidation mínimos con respecto a LPC.
logrando algunos valores óptimos que son sintonizados El parámetro de regularización (C) es un valor que
luego manualmente [13]. depende exclusivamente de los datos no clasificados
Con respecto a la etapa de caracterización de hablantes linealmente [8], para MFCC fue C = 215 y para LPC10 fue
también es importante establecer cuál método se comporta C = 0.2 . Según esto, hay más datos no clasificados
mejor dentro del marco del sistema de verificación, por linealmente al utilizar la caracterización MFCC, lo que no
ello, se eligieron MFCC y LPC como las posibles opciones quiere decir que sea la peor clasificación, ya que el
[19]. resultado depende exclusivamente del kernel a utilizar.
Se probó cuál es la filosofía multiclase que mejores Pensando en una posible optimización de recursos de
resultados posee para un sistema basado en un kernel memoria y procesamiento, se varió el número de personas
polinómico de orden 8, parámetro de regularización 0.2, 10 en cada sistema, como se muestra en la tabla 3, para ver
usuarios con 140 muestras cada uno y caracterización de como afecta al funcionamiento en general de los modelos
voz LPC. Cabe resaltar que el modelo fue elegido al azar más óptimos hasta el momento. Estos modelos se
por lo que su desempeño no debe preocuparnos, lo que nos realizaron con filosofía multiclase uno contra uno,
interesa en realidad es la abismal diferencia que existe caracterización MFCC, 140 muestras por usuario y
entre los resultados de cada filosofía. El sistema de parámetro de regularización C = 215 . El orden del kernel
filosofía 1 contra 1 con %HTER=3.72 es el mejor (ver polinómico es 8 y la desviación estándar del RBF es 1. Se
tabla 1). puede observar en la tabla 3 que una reducción en el
52 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

número de usuarios del sistema implica una disminución HTER=13.1. Aunque el HTER tuvo un aumento, el %FA
en el porcentaje de error. disminuyó notablemente, lo cual es aceptable para un
sistema de verificación.
Kernel RBF POLINÓMICO Como trabajo futuro se pretende extender la base de
Users %FR %FA HTER %FR %FA HTER datos de muestras de voz para verificar el efecto que puede
10 10.3 4.29 7.31 15.3 2 8.67 tener ello en la robustez y desempeño del sistema.
Igualmente se propone la implementación en hardware del
8 6.67 2.78 4.72 10 1.04 5.52
sistema de verificación siguiendo la metodología
6 2.22 7.58 4.9 3.89 4.04 3.96 algorítmica que se ha desarrollado.
4 2.5 6.43 4.46 2.5 5 3.75
Tabla 3. Comparación entre número de usuarios y kernels VII. REFERENCIAS

Otra prueba consistió en analizar la influencia de la [1] V. N. Vapnik. The Nature of statistical learning theory, Second
cantidad de datos de entrenamiento en el desempeño del edition, Springer-Verlag new York, Inc, 2000.
[2] Auckenthaler, R. Parris y E. S. Carey M. J. “Improving a GMM
sistema; para ello, se disminuyó el número de muestras speaker verification system by phonetic weighting. Acoustics, Speech,
tomando como base el sistema de mejores resultados a lo and Signal Processing, 1999,” ICASSP apos;99. Proceedings., 1999 IEEE
largo de las pruebas con kernel polinómico de orden 8, International Conference on Volume 1, Issue, pp 313 – 316, Marzo 15-19
1999.
parámetro de regularización C = 215 , filosofía multiclase [3] D. A. Reynolds. Model Compression For GMM Based Speaker
uno contra uno, 10 usuarios y caracterización MFCC. Recognition Systems, MIT Lincoln Laboratory, EUROSPEECH 2003 –
Según la tabla 4, con una disminución a la mitad de las GENEVA.
muestras de entrenamiento podríamos lograr resultados [4] T. Masukoy, T. Hitotsumatsuy, K. Tokudayy, and T. Kobayashiy. On
The Security Of Hmm-Based Speaker Verification Systems Against
aceptables para el sistema, inclusive un muy bajo %FA Imposture Using Synthetic Speech, Department of Computer Science,
(0.86%), siendo un ítem importante a considerar para las Nagoya Institute of Technology, 1998.
violaciones de un sistema de verificación. [5] W. M. Campbell, J. P. Campbell, D. A. Reynolds, D. A. Jones, and T.
R. Leek. High-Level Speaker Verification with Support Vector Machines,
MIT Lincoln Laboratory, ICASSP, 2004.
Número de muestras %FR %FA HTER [6] V. Wan y S. Renals .Svmsvm: Support Vector Machine Speaker
140 muestras 15.3 2 8.67 Verification Methodology, Department of Computer Science, University
70 muestras 25.3 0.86 13.1 of Sheffield, 2003.
35 muestras 49.7 2.86 26.3 [7] V. Kecman. Learning and soft computing: Support vector machines,
Tabla 4. Comparación de número de muestras de entrenamiento neural networks, and fuzzy logic models, The MIT Press, 2001.
[8] C. J. C. Burges. “A tutorial on support vector machines for pattern
recognition,” Data mining and knowledge discovery, vol 2, No 2, 1998.
VI. CONCLUSIONES Y TRABAJO FUTURO [9] N. Cristianini y J Shawe-Taylor. An introduction to support vector
machines and other kernel-based learning methods, Cambridge university
Las Máquinas de Vectores de Soporte demostraron ser press, 2000.
[10] V. Wan. Speaker Verification using Support Vector Machines,
una excelente herramienta para llevar a cabo la tarea de Dissertation submitted to the University of Sheffield for the degree of
reconocimiento de voz enfocada en un sistema de Doctor of Philosophy. Department of Computer Science. University of
verificación de hablantes. Sheffield. United Kingdom, 2003.
El método de caracterización MFCC es el que mejor [11] B. Scholkopf y A. J. Smola. Learning with Kernels: Support Vector
Machines, Regularization, Optimization, and Beyond, The MIT Press,
resultados obtuvo en el sistema de verificación; ya que, Cambridge, Massachusetts, London, England. 2002.
para un kernel RBF obtuvo una disminución del 47.45% y [12] W. Choi, D. Ahn, S. B. Pan, K. Chung, Y. Chung y S. Chung.
para un kernel polinómico del 48.52% con respecto a LPC “SVM-Based speaker verificaction system for match-on-card and its
en el HTER. hardware implementation”, ETRI Journal, Volume 28, Number 3, Junio
de 2006.
Basados en todos los resultados, el kernel RBF tiende a [13] C. Lin. A guide to support vector machines, National Taiwan
reducir el %FR mientras que el polinómico tiende a reducir University, Noviembre de 2004. http://www.csie.ntu.edu.tw/~cjlin.
el %FA. Luego, como queremos un sistema de verificación [14] J. Bernal, J. Bobadilla, P. Gómez. Reconocimiento de voz y fonética
seguro, la opción más tentativa es el kernel polinómico. acústica, Ed. AlfaOmega, 2000.
[15] N. Plannerer. An Introduction to Speech Recognition. Noviembre 28
Los resultados obtenidos en el modelo con valores de 2005.
óptimos arrojaron porcentajes de error de 8.67% en el [16] F. Bimbot, J. Bonastre, C. Fredouille, G. Gravier, I. Magrin-
HTER y del 2% en el %FA, éstos ratifican el buen Chagnolleu, S. Meignier, T. Merlin, J. Ortega-Garcia, D. Petrovska-
funcionamiento de las SVMs aplicadas al campo del Delacretaz, D. A.Reynols. A Tutorial on Text-Independent Speaker
Verification, Agosto 3, 2003.
reconocimiento. [17] J. Campbell. “Speaker Recognition: A tutorial,” Proceedings of the
Para sistemas con un menor número de usuarios, se IEEE, Vol 85, No.9, pp. 1437-1462, 1997.
obtienen resultados mejores; es así, como con una [18] S. Gunn. Support Vector Machines for Classification and
reducción de un 60% en el número de usuarios se obtuvo Regression, Technical Report. University Of Southampton, England. 10
May 1998.http://www.isis.ecs.soton.ac.uk/resources/svminfo/
una disminución del HTER en un 56.75% para un kernel [19] E. Villatoro, L. Villaseñor-Pineda y M. Montes-y-Gómez.
polinómico y 38.99% para un kernel RBF. Comparación de algoritmos de aprendizaje para identificación del
Para una reducción de un 50% en el número de usuario a través de la voz, Instituto Nacional de Astrofísica, Óptica y
muestras de entrenamiento se obtuvo un %FA=0.86% y un Electrónica, México, Agosto de 2006.
Aplicación de modelosde
Aplicación paramétricos a la caracterización
modelos paramétricos a la
de señales sísmicas
caracterización de señales sı́smicas
Hernán H. Agudelo, Student Member, IEEE, Julian David Echeverry,
Hernán H. Agudelo, Student Member, IEEE, Julian David Echeverry, Mauricio Alexánder Álvarez y Ricardo Henao
Mauricio Alexánder Álvarez y Ricardo Henao

Resumen—Se desarrolla en este trabajo una metodologı́a para se determina una función de transferencia, para modelar el
la extracción de caracterı́sticas sobre la representación conjunta sistema geofı́sico que genera las señales objeto de estudio.
en los dominios del tiempo y la frecuencia de señales sı́smicas, que La aplicación de estos modelos se realiza sobre segmentos
permite identificar entre los diferentes tipos de sismos de origen
volcánico, que actualmente son estudiados por la Red Sismológica de tiempo de las señales sı́smicas donde estas presentan un
Nacional de Colombia (RSNC). Se emplean modelos paramétricos comportamiento cuasi-estacionario. A partir de la respuesta en
autorregresivos (AR, ARMA) en la identificación de procesos frecuencia de la función de transferencia del modelo pueden
aleatorios. El estudio se realiza sobre tramas enventanadas de generarse superficies de ajuste y/o contornos energéticos que
la señal donde previamente se ha validado la hipótesis de permiten extraer caracterı́sticas discriminantes entre clases;
estacionariedad. Se aplican diferentes criterios en la selección
del orden del modelo paramétrico. La respuesta en frecuencia Estas superficies son en si una representación en tiempo y
del sistema identificado permite construir una representación en frecuencia de la señal.
en el dominio conjunto del tiempo y la frecuencia a fin de Los modelos paramétricos han sido utilizados previamente
caracterizar eventos a lo largo del tiempo propios de cada tipo para obtener caracterı́sticas de señales sı́smicas. En
de onda sı́smica. Se emplea un clasificador bayesiano en la tarea investigaciones realizadas anteriormente [5] se han obtenido
de reconocimiento. Se obtienen porcentajes de reconocimiento de
97.8 % entre dos clases de señales volcánicas. altos porcentajes de discriminación, mediante el empleo
de clasificadores robustos, sin tener en cuenta la no
Palabras Claves—Procesamiento de señales sı́smicas, modelado estacionariedad de la señal. En otros trabajos, han sido
paramétrico
utilizadas técnicas de representación como la transformada
wavelet y espectrogramas [2], coeficientes de predicción
I. I NTRODUCCI ÓN lineal LPC [6], y análisis del contenido espectral de las
señales calculado mediante la función de autocorrelación, y
L A superficie de la Tierra está en constante movimiento, el
cual puede aumentar debido a la actividad del hombre en
menor escala, o a mayor escala debido a procesos geofı́sicos
medidas estadı́sticas sobre las señales mismas [4].
Se desarrolla en este trabajo una metodologı́a para la
extracción de caracterı́sticas en señales sı́smicas que permite
propios de la dinámica interna del planeta; estos procesos se
identificar entre los diferentes tipos de sismos de origen
traducen en señales sı́smicas que se propagan a través de
volcánico.
la corteza terrestre [1]. Las señales sı́smicas son estudiadas
como procesos aleatorios no estacionarios [2], de origen
II. M ODELOS PARAM ÉTRICOS
tanto volcánico como tectónico; estas se originan a partir
del desplazamiento de las placas internas de la corteza Los modelos paramétricos son representaciones
terrestre, el flujo de magma a través de la estructura interna matemáticas de sistemas, generalmente no estacionarios,
de los volcanes o el desprendimiento de materiales tales que se obtienen de la medición de una variable explicativa del
como roca, hielo o lodo en las laderas de las montañas. sistema estudiado. Esta medición produce una observación
La actividad de recopilación y caracterización de eventos ŷi = Y (ui ), donde ui es la unidad de estudio. Esta
volcánicos y sı́smicos, contenidos en las señales adquiridas observación permite construir la expresión
por instrumentos de medida especiales conocidos como
sismógrafos, es fundamental para definir planes de prevención ŷi = f (xi ; θ) + ςi i = 1, 2, . . . , n, (1)
y cuidado en zonas de alto riesgo. Es de particular interés donde f (xi ; θ) es función dependiente de las condiciones xi , y
dentro de la sismologı́a y la vulcanologı́a poder definir está indexada en el espacio paramétrico Θ, donde θ, que es el
la naturaleza de las señales sı́smicas a fin de estudiar parámetro de interés, determina el miembro particular [7]. Se
los fenómenos fı́sicos asociados a la ocurrencia de las debe aclarar que ςi representa la parte aleatoria del sistema, y
mismas [3]. En la actualidad el proceso de caracterización se supone no observable con distribución probalı́stica, asumida
y etiquetado de los eventos sı́smicos observados en las generalmente gaussiana.
estaciones pertenecientes a la Red Sismológica Nacional de Los modelos paramétricos más utilizados son los de la
Colombia (RSNC), es realizada de forma manual por expertos familia ARMA; estos incluyen los puramente autorregresivos
adscritos a los observatorios que componen la Red. (AR) y los de media móvil (MA). Los modelos ARMA
La identificación automática de señales sı́smicas puede son usados para modelar estructuras dinámicas lineales,
hacerse mediante el estudio del comportamiento de las representar relaciones lineales entre variables y servir como
mismas en los dominios del tiempo y la frecuencia [2], medios para la predicción lineal. A continuación se hace una
[4]. La identificación de modelos matemáticos que estimen breve descripción de los modelos usados en este trabajo.
el comportamiento de la señal en el tiempo, permite
obtener una aproximación a esta representación en cuanto A. Autorregresivos AR
Los autores pertenecen al Grupo de Control e Instrumentación de la EL modelo AR o de solo polos, expresa la salida como
Universidad Tecnológica de Pereira. e-mail de contacto hh@utp.edu.co una combinación lineal de muestras anteriores de la salida

Memorias STSIVA 2008 Tomo II 53 - 56


54 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

en un instante determinado. Se conoce de solo polos porque


su función de transferencia presenta un valor constante en 2 2p
AIC(p) = ln(σ̂ωp )+ , (2)
el numerador. Para sistemas de los cuales se desconoce su N
entrada, se puede aproximar su salida en un instante de tiempo
2
dado a través de sus valores pasados. Otra interpretación de donde σ̂ωp es la varianza estimada del error lineal de
este modelo se da en el sentido de que la salida actual puede predicción. Este ı́ndice de desempeño está basado en la
ser predicha como una combinación lineal de valores pasados; minimización del error cuadrático medio para un predictor de
2
por esto se le conoce también como modelo de predicción un paso. Nótese que el término σ̂ωp decrece y por lo tanto
2
lineal [8]. ln(σ̂ωp ) decrece también a medida que el orden del modelo
AR se incrementa. Sin embargo, 2p N se incrementa en razón
B. De media móvil MA de p. Debido a esto, el mı́nimo valor es obtenido para algún
valor p.
Este modelo se diferencia básicamente del anterior en que
posee sólo ceros en su función de transferencia, siendo el
Otros trabajos sugieren que el criterio de información de
valor del denominador constante. Esta caracterı́stica dificulta
Bayes permite una mejor estimación del orden del modelo
el modelar un espectro de picos agudos, a menos que el orden
autorregresivo. El criterio de información de Bayes (BIC),
del modelo sea suficientemente alto [9]. Es ası́ como, igual
está basado en seleccionar el orden que minimiza el largo
que el modelo autorregresivo, el modelo de media móvil es
de la descripción, donde BIC se define según:
una combinación lineal de parámetros no recursiva.

2
C. Autorregresivos de media móvil ARMA BIC(p) = N ln(σ̂ωp ) + pln(N ) (3)
Se conoce también con el nombre de modelo de polos y
ceros. El modelo ARMA se construye como una combinación Un método un poco más heurı́stico y computacionalmente
lineal de los modelos anteriores, donde la componente más costoso se basa en hallar el orden para el cual el error de
autorregresiva permite estimar los picos de densidad espectral estimación del modelo sea mı́nimo. En este se busca variar
de potencia, mientras la componente de media móvil permite el orden de los modelos paramétricos y estimar la señal,
estimar correctamente la información de los valles en el comparándola con la señal original punto a punto con el
espectro. Este modelo paramétrico es ampliamente utilizado en objetivo de minimizar el error cuadrático medio entre ambas.
la identificación de sistemas dada su flexibilidad, sin embargo
no aproxima de manera adecuada fenómenos no lineales
presentes en la mayorı́a de sistemas fı́sicos [10]. IV. G ENERACI ÓN DE SUPERFICIES DE AJUSTE

Una vez identificado el modelo paramétrico que describe la


III. S ELECCI ÓN DE PAR ÁMETROS DE AN ÁLISIS
dinámica propia de la señal sı́smica sobre ventanas de tiempo
A. Ancho de ventana de análisis, se procede a calcular la respuesta en frecuencia de
Es conveniente analizar segmentos de las señales que la función de transferencia que describe al sistema para cada
presenten un comportamiento estacionario; esto dado que intervalo y a generar de esta forma una representación en el
los modelos paramétricos citados anteriormente modelan de dominio conjunto del tiempo y la frecuencia. Esta forma de
forma adecuada series de tiempo estacionarias. Debido a su representación, denominada superficie de ajuste o superficie de
naturaleza, las señales sı́smicas son procesos aleatorios y no regresión permite evaluar la dinámica de cambio en la señal a
estacionarios, sin embargo pueden determinarse ventanas de lo largo del tiempo, como se puede ver en la figura 1.
tiempo para las cuales dichas señales cumplen con condiciones
de cuasi estacionariedad [11].
V. E XTRACCI ÓN DE CARACTER ÍSTICAS
B. Orden del modelo
Las caracterı́sticas utilizadas en el proceso de
Uno de los aspectos más importantes del uso de modelos reconocimiento fueron extraı́das de la representación
paramétricos autorregresivos es la selección del orden p. tiempo frecuencia de la señal obtenida a partir de las
Como regla general, si se selecciona un modelo con orden superficies de ajuste. Durante el proceso de experimentación
muy bajo, se obtiene un espectro altamente suavizado. Por fueron extraı́das 55 caracterı́sticas, tales como los cinco
otra parte, si p se selecciona muy alto, se corre el riesgo de primeros momentos estadı́sticos sobre los ejes del tiempo,
introducir falsos picos de bajo nivel en el espectro. En el de la frecuencia y sobre los coeficientes de los modelos. Se
caso del modelo autorregresivo, el valor cuadrático medio realizó de igual forma el cálculo de la energı́a contenida en
del error residual constituye un indicador de desempeño. la superficie (criterios de Teager y Shannon) y se calcularon
La caracterı́stica de este error residual es que decrece a parámetros de perturbación. Estos parámetros se obtuvieron
medida que el orden del modelo AR incrementa. Se puede utilizando la expresión:
monitorear la tasa de decremento y finalizar el proceso de
actualización del orden cuando la tasa de decremento se 1
�N −1
vuelva relativamente lenta [12]. N −1 i=1 [p(i + 1) − p(i)]
Vp = 1
�N −1 , (4)
N i=1 p(i)
Diversos métodos se han descrito para la selección del orden
del modelo autorregresivo, entre los cuales el más conocido sobre la media por filas de la superficie de ajuste. Se
es el criterio de información de Akaike (AIC). Este criterio se obtuvieron ası́ mismo estos parámetros sobre los vectores de
basa en seleccionar el orden que minimiza la expresión energı́a.
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 55

Fig 1. Señales Sı́smicas y sus superficies de ajuste

VI. M ATERIALES proceso de clasificación con los modelos AR y ARMA se


muestran en la tabla I.
La base de datos utilizada es una colección de registros
sı́smicos del Observatorio Vulcanológico y Sismológico de Modelo Paramétrico VT LP Acierto
Manizales. Consta de 622 datos clasificados como sismos
Largo Periodo (LP), y 487 registros etiquetados como AR 88,91 88,74 88,82 %
Vulcano-Tectónicos (VT), digitalizados con una frecuencia ARMA 98,76 96,30 97,53 %
de muestreo de 100.16 Hz. Estos registros fueron medidos
en la estación Olleta, sismógrafo ubicado a 4◦ 54.12′ N, 75◦ TABLA I
21.54′ W, aproximadamente a 4 km del cráter principal del R ESULTADO DE CLASIFICACI ÓN PARA TODAS LAS CARACTER ÍSTICAS
Volcán Nevado del Ruiz, sobre 4.630 m.s.n.m. OBTENIDAS DE SUPERFICIES DE AJUSTE

VII. R ESULTADOS
El porcentaje de clasificación obtenido con el modelo
Inicialmente se determinó el orden de los modelos AR y autorregresivo de media móvil es el más alto alcanzado sin
ARMA. Se utilizaron los criterios de Akaike (AIC), Bayes utilizar ningún método de reducción de dimensionalidad. En
(BIC) y el criterio de mı́nimo error de estimación. En el esta misma tabla se observa el resultado de clasificación,
modelo autorregresivo, se obtuvo un orden óptimo de 7 polos a partir de las caracterı́sticas del modelo AR, siendo este
a partir de los criterios de Bayes y de mı́nimo error de inferior comparado con el anterior en ambas clases. Esto
estimación. En el modelo ARMA se obtuvo un orden óptimo permite inferir que el modelo ARMA permite observar mejor
de 4 polos y 16 ceros mediante el criterio de mı́nimo error el comportamiento de las señales sı́smicas objeto de estudio
de estimación. Sin embargo, realizando diferentes pruebas de que el modelo AR.
reconocimiento para diferentes órdenes de los modelos, se Posterior a este proceso, se aplicaron dos técnicas de
obtuvo que el orden que mejor porcentaje de clasificación reducción de dimensionalidad al modelo AR, sin obtener
entrega es de 7 polos y 18 ceros para el modelo ARMA. mejoras en los resultados de clasificación. El análisis de
Posteriormente fueron generadas las superficies de ajuste componentes principales (PCA) arrojó un resultado de
a partir de la estimación paramétrica utilizando los modelos clasificación de 88.44 %. Con el análisis discriminante lineal
citados. Se emplearon ventanas partiendo de intervalos (LDA) se obtuvo 88.34 % de porcentaje de acierto en las
cuasi estacionarios para cada clase, previamente calculados pruebas de clasificación.
mediante el método Runtest [11]. Estos intervalos son de Estas pruebas se repitieron para las caracterı́sticas obtenidas
0.7962 segundos (equivalentes a 80 muestras) para la clase con el modelo ARMA. Se obtuvieron mejoras poco
LP y de 0.6957 segundos (equivalentes a 70 muestras para significativas en los resultados de clasificación. Para PCA y
la clase VT). Estas ventanas fueron traslapadas en 0.05 s LDA se mejoró el resultado a 97.88 %. La diferencia se dio
o 5 muestras. De las matrices de ajuste se calcularon las en el número de caracterı́sticas con las cuales se obtuvo dicho
caracterı́sticas antes descritas, un total de 55. Se procedió a resultado para cada técnica. Para LDA fueron 53 mientras que
realizar pruebas de clasificación empleando un clasificador de para PCA fueron 51 caracterı́sticas. Se observa entonces que
Bayes con validación leave one out. Los resultados de este PCA permite la mayor reducción de caracterı́sticas mejorando
56 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

el resultado de clasificación. [6] S. Scarpetta and F. Giudicepietro, “Automatic classification of seismic


signals at mt. vesuvius volcano, italy, using neural networks,” Bulletin
of the Seismological Society of America,, vol. 95, 2005.
VIII. D ISCUSI ÓN [7] M. M. Ojeda, “La modelación estadı́stica,” Foro de Matemáticas del
Sureste, p. 76, Diciembre 2004.
En los trabajos de clasificación de sismos no ha sido una [8] J. D. Echeverry, “Caracterización acústica de bioseñales empleando
tarea importante la extracción de caracterı́sticas. Ese es el eje transformadas tiempo frecuencia y modelado paramétrico,” Master’s
central de este trabajo. Se determinó la utilidad del modelo thesis, Universidad Tecnológica de Pereira, 2006.
[9] P. Stoica and R. L. Moses, Introduction to Spectral Analysis. Prentice
paramétrico autorregresivo de media móvil, para reconstruir Hall, February 1997.
las señales sı́smicas de las clases objeto de estudio. No se [10] J. Fan and Q. Yao, Nonlinear Time Series: Nonparametric and
halló información sobre la utilización del modelo ARMA en Parametric Methods. Springer, August 2005.
[11] K. S. Shanmugan, Random Signals: Detection Estimation and Data
otros trabajos de caracterización o clasificación de señales Analysis, Wiley, Ed. Wiley, 1988.
sı́smicas. Por el contrario modelo AR ha sido utilizado para [12] J. G. Proakis and D. G. Manolakis, Tratamiento Digital de Señales,
calcular la estimación de la densidad espectral de potencia, 3rd ed., I. Capella, Ed. Prentice Hall, 2000.
[13] M. Alvarez and R. Henao, “Clasificación de eventos sı́smicos empleando
lo que ha permitido extraer caracterı́sticas que luego fueron procesos gaussianos,” Scientia et Technica, vol. 35, 2007.
clasificadas usando procesos gaussianos [13] para obtener
resultados acierto del 94 %.
Para trabajos futuros, se utilizarán clasificadores de mayor
desempeño como maquinas de soporte vectorial o procesos
gaussianos, buscando mejores resultados de clasificación.

IX. C ONCLUSIONES
El modelo paramétrico autorregresivo de media móvil
permite obtener una mejor identificación del sistema
geofı́sico que genera las señales sı́smicas que el modelo
autorregresivo. Esto se sustenta en los resultados de
clasificación obtenidos (tabla I) con ambos modelos,
esto a pesar de que, al comparar las graficas donde se
muestran las superficies de ajuste de cada modelo y clase
(figura 1), se podrı́a pensar que el modelo AR permite
extraer mayor cantidad de información del sistema.
La generación de superficies de ajuste permite estudiar
la dinámica de cambio de las señales no estacionarias
en los planos del tiempo y la frecuencia, permitiendo
extraer caracterı́sticas discriminatorias en este espacio de
representación.
Las caracterı́sticas extraı́das sobre las superficies
estimadas a partir del modelo autorregresivo de media
móvil permiten discriminar con tasas hasta del 97.8 %
entre las diferentes clases de sismos de origen volcánico.

AGRADECIMIENTOS
Los autores agradecen al Observatorio Sismológico y
Vulcanológico de Manizales - INGEOMINAS - por la base
de datos facilitada y la colaboración prestada a lo largo del
proyecto de investigación.
Este trabajo se desarrolló en el marco del proyecto
de investigación “CLASIFICACIÓN AUTOMATIZADA DE
EVENTOS SÍSMICOS”, financiado por la Universidad
Tecnológica de Pereira con código 9-07-04.

R EFERENCIAS
[1] B. L.Ñ. Kennett, The Seismic Wavefield. Cambridge University Press,
2001.
[2] K. B. Mohammed Benbrahim, Adil Daoudi and A. Ibenbrahim,
“Discrimination of seismic signals using artificial neural networks,”
Transactions On Engineering, Computing And Technology, vol. 4, 2005.
[3] J. M. Londoño, “Manual de sismologı́a y volcánica básica,” 2002,
observatorio Vulcanologico de Manizales.
[4] T. P. b. H. Langer, S. Falsaperla and G. Thompson, “Automatic
classification and a-posteriori analysis of seismic event identification
at soufrie‘re hills volcano, montserrat,” Journal of Volcanology and
Geothermal Research, vol. 153, 2006.
[5] R. P. D. Mauricio Orozco, Marcelo E. Garcı́a and C. G. Castellanos,
“Dissimilarity-based classification of seismic signals at nevado del ruiz
volcano,” Earth Sciences Research Journal, vol. 10, 2006.
Control de de
Control Mouse
mouseaatravés
travésdede señales
señales EOGEOG y
Algoritmos deBoosting
y algoritmos de Boosting
Diana Mahecha, Fernando Lozano, Elkin García,
Diana Mahecha, Fernando Lozano, Elkin García,

Resumen—La creación de alternativas de acceso a la tecnología orien-


tadas a personas discapacitadas, es un área de gran interés en la actuali-
dad. El desarrollo de software asociado a estos elementos tiende a la imple-
mentación de interfaces gráficas, cuyo principal acceso es el cursor contro-
lado por el Mouse. Crear una interfaz entre un usuario discapacitado y este
control, es un paso muy importante para permitir su interacción exitosa
con diferentes tecnologías. Este documento describe el diseño y la imple-
mentación de un control de Mouse manejado por potenciales bioeléctricos,
dirigido a personas con algún tipo de discapacidad física-motora. Se centra
en la adquisición de señales electrooculográficas (EOG) y su clasificación Figura 1.Comportamiento del ojo humano como dipolo (derecha) y ubicación
mediante técnicas del área de Machine Learning, más específicamente, por de electrodos para el análisis EOG (izquierda). Los electrodos B y C toman la
medio de la aplicación de algoritmos de Boosting Multivariable usando un señal vertical, los electrodos D y E toman la señal horizontal y el electrodo A
clasificador lineal como aprendiz débil. Se obtenienen resultados competi- sirve de referencia.Imagen tomada de [1]
tivos en la generalización.
Index Terms—Electrooculografía, Boosting, Aprendizaje, Adquisición,
Boosting Multivariable, Mouse
con detalle algún objeto y son los únicos movimientos que se
controlan voluntariamente.
I. I NTRODUCCIÓN La fuente de la señal EOG es el potencial continuo existente

A CTUALMENTE, el uso creciente de los computadores ha entre la cornea y la base del ojo. De esta forma el ojo se compor-
llevado a crear alternativas de acceso a los mismos para ta como un dipolo que se mueve en un conductor de volumen
personas con diferentes grados de discapacidad motora. Existen no homogéneo (la cabeza). Con el uso de 5 electrodos puestos
distintos tipos de mouse alternativos al tradicional, cuyo desar- alrededor de los ojos (Figura 1) se pueden medir estos poten-
rollo consiste principalmente en 3 áreas: El reconocimiento de ciales y ser usados en la detección de la dirección de la mirada
imágenes de video, el uso de elementos físicos fáciles de mane- respecto a la cabeza. [7]
jar con partes del cuerpo diferentes a las manos y el análisis de Muchos estudios han intentado determinar la relación entre el
potenciales bioeléctricos [1] [2] [3] [4]. De acuerdo al grado de voltaje del EOG y el ángulo de mirada. Rafael Barea [6] realizó
discapacidad se debe escoger la opción que brinde más como- un amplio estudio acerca de este tema y se resaltan los sigu-
didad al usuario. ientes resultados:
En el análisis de potenciales bioeléctricos se usan diferentes - La señal EOG varía entre 50 y 3500 µV con un rango de
técnicas: electromiografía (EMG), electroencefalografía (EEG) frecuencias de DC-35Hz y tiene un comportamiento lineal
y electrooculografía (EOG). Este trabajo se enfoca en el análi- para ángulos entre ±30o .
sis EOG y el uso técnicas de clasificación del área de Machine - La señal EOG se ve perturbada por otros biopotenciales
Learning (Boosting Multivariable) para desarrollar un control (EEG, EMG)y las perturbaciones del sistema de adquisi-
de mouse por medio del análisis EOG. ción.
A continuación, en la sección II se explican los conceptos - El EEG y el EMG pueden producir errores de aproximada-
generales de la técnica de EOG y el aprendizaje supervisado mente un grado.
con boosting. En la sección III se desarrolla la implementación - La forma del EOG para movimientos sacádicos es similar
y diseño de la solución. En la sección IV se presentan los resul- en cualquier persona, por eso al usar una normalización de
tados y finalmente en la sección V las conclusiones. los datos se obtiene un modelo EOG universal.
- Los movimientos sacádicos pueden detectarse en función
II. P RELIMINARES de la derivada del EOG.
A. Electrooculografía
B. Aprendizaje supervisado y Boosting
El análisis electrooculográfico obtiene una apreciación direc-
ta de la movilidad ocular mediante la medición de voltajes difer- El aprendizaje supervisado está fundamentado en una progra-
enciales alrededor del ojo [5]. Hay 4 movimientos oculares en- mación por ejemplos, en donde el algoritmo conoce la respuesta
tre los cuáles están los sacádicos [6]. Estos son desplazamientos correcta a los patrones de entrada y encuentra una regla de clasi-
angulares muy rápidos y precisos que se producen al observar ficación (hipótesis) que asigna una etiqueta a cada elemento en
el espacio de entrada. El objetivo de la hipótesis no es respon-
D. Mahecha. Departamento de Ingeniería Eléctrica y Electrónica, Universi- der bien a los datos de entrenamiento, sino a nuevos datos, por
dad de los Andes, Bogotá, Colombia, email: d-mahech@uniandes.edu.co consiguiente, es necesario realizar validación cruzada. El des-
F. Lozano. Departamento de Ingeniería Eléctrica y Electrónica, Universidad empeño es evaluado por medio de los errores de entrenamiento
de los Andes, Bogotá, Colombia, email: flozano@uniandes.edu.co
E. García. Departamento de Ingeniería Eléctrica y Electrónica, Universidad y generalización. En el primero se evalúan los datos nuevos (que
de los Andes, Bogotá, Colombia, email: elkin-ga@uniandes.edu.co no han sido pasados por el algoritmo) y en el segundo los datos

Memorias STSIVA 2008 Tomo II 57 - 60


58 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

con los que se aprende. La validación cruzada consiste entonces,


en un compromiso entre estos errores, ya que si el error de en-
trenamiento se hace muy pequeño puede existir sobre ajuste a
los datos y no generalizar.
Los algoritmos de boosting toman un algoritmo débil (algo-
ritmo que retorna una hipótesis para cualquier distribución con
un error arbitrariamente cercano a la probabilidad de etiquetar
bien un dato adivinando: 50 % ) que busca minimizar el error
empírico y a partir de llamadas iterativas a éste, generan una
hipótesis fuerte cuyo error es arbitrariamente pequeño.
Adaboost [8] es un algoritmo de boosting adaptativo y con-
siste en la creación de una hipótesis fuerte a partir de la com-
binación lineal de hipótesis débiles. Los pesos de esta combi-
nación lineal son modificados en cada iteración de acuerdo al
error de entrenamiento de la hipótesis retornada por el aprendiz
débil, de tal forma que en la siguiente iteración del algoritmo, el
objetivo es aprender los datos en los que se equivoca la hipótesis
anterior. En este caso los errores se hallan respecto a la distribu- Figura 2.Preprocesamiento de los datos de un protocolo. Las flechas en la grá-
ción Dt de la iteración t y están dados por: fica indican un 1 en la columna de codificación de la dirección que indican y la
estrella un 1 en la columna de click

t = Pri ∼D [Ht (xi ) = yi ] = Dt (i) (1)
i:ht (xi )=yi La toma de datos se realizó con 20 personas entre 21 y 58
años, sin discapacidad motora. Esto no representa ningún prob-
III. D ISEÑO E IMPLEMENTACIÓN
lema ya que como se mencionó anteriormente, la forma del
A. Adquisición señales EOG EOG es similar en todas las personas y en el caso que los usua-
La arquitectura del sistema de adquisición consta esencial- rios discapacitados presenten algún tipo de variación conside-
mente de dos partes: rable, el sistema puede ser fácilmente adaptado tomando una
1. Acondicionamiento de la señal: Las señales EOG horizon- nueva base de datos con ellos y corriendo el algoritmo de entre-
tal y vertical se toman por medio de electrodos superfi- namiento con ella.
ciales pediátricos de Ag/AgCL y son amplificadas 500 ve-
C. Preprocesamiento de los datos
ces con amplificadores de instrumentación INA128. Sigue
una etapa de aislamiento implementada con un ISO124 Antes de utilizar los datos en cualquier algoritmo de apren-
que independiza la alimentación de los elementos conecta- dizaje, es necesario extraer de ellos determinadas características
dos al usuario de la alimentación del resto del circuito. Se sobre las cuales se va a crear la hipótesis. En este caso estamos
implementa un filtro pasa banda entre el ancho de banda interesados en detectar los movimientos sacádicos producidos
de señales EOG [10mHz-35Hz], conformado por un filtro por el ojo y según [6] una forma de hacerlo es evaluando la
pasa bajas (2o orden) y un filtro pasa altas (4o orden), con derivada de la señal. El preprocesamiento realizado fue el sigu-
frecuencias de corte en los límites de la banda. Este filtra- iente:
je elimina ruidos producidos por el movimiento de mús- - Para eliminar ruidos se promedia cada señal con intervalos
culos cercanos, la red eléctrica y la componente continua de 47.61ms (cada 5 datos).
del EOG. Finalmente se realiza un acondicionamiento para - Se halla una aproximación a la derivada en cada dato pro-
poner la señal en el rango del ADC [0V,5V]. mediado por medio de la ecuación 2 , en donde tomamos
2. Digitalización y transmisión al computador: Esta com- ∆t = 333,33ms, que es el tiempo trascurrido entre 7 datos
puesta por la conversión análoga-digital y la trasmisión se- promediados.
rial al computador. Para esto se usa el PSOC CY8C27443-
24PXI que cuenta con un ADC dual configurado a 105Hz δX ∆X X i − X i+7
= = (2)
para cada canal y un módulo de trasmisión serial. δt ∆t ti − ti+7
- Se mide la energía de cada 3 datos de la derivada conser-
B. Construcción de la base de datos vando el signo para hacer más evidentes los cambios y por
Para conformar la base de datos necesaria en el entrenamien- último se escoge la energía de máxima magnitud entre 5
to, se implementó una aplicación en la que se programaron 10 datos consecutivos.
protocolos con el objetivo de registrar diferentes movimientos En la figura 2 se muestra el preprocesamiento para uno de los
sacádicos del ojo, variando las direcciones y la magnitud de los protocolos implementados, junto con el etiquetamiento realiza-
desplazamientos. La prueba tiene una duración de 5 minutos do gracias a códigos guardados durante la ejecución del progra-
aprox. y consiste en que el usuario manteniendo la cabeza en el ma de adquisición. Después de etiquetar los datos, se dividieron
centro de la pantalla y aproximadamente a 30cm de la misma, por clases y se repartieron aleatoriamente en dos grupos, uno
siga el movimiento de un indicador y en determinados momen- para entrenamiento y el otro para evaluación. Cada grupo que-
tos realice parpadeos voluntarios. do conformado con aproximadamente 2500 datos.
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 59

Algoritmo 1 Algoritmo débil usado. Algoritmo 2 Algoritmo de boosting multivariable usado.


Entrada: S = {xord , yord }m i ,D Entrada: S = x, yi m i=1 donde xi ∈ X, Yi ⊆ γ
- Inicializar em in = mxant = xord (1) − 0,5 for all i = 1 : T do
for all t = 1 : m do for all l = 1 : L do
x (t)−a
ht = ord 2 ant [ If xi ≥ ht → yi = 1; else yi = −1] - Correr alg. débil usando la distribución D y obtener la hip. débil h(x)lt con
- Evaluar el error pesado et de hipt (respecto a D). error: t (l) = Pri ∼D [ht (xi ) = yi ] - Escoger:
if et < 0,5 then
et = (1 − et ) - Invertir la polaridad de la hipótesis 1 1 − t (l)
end if αt (l) = ln (3)
if et < em in then 2 t (l)
emin = et ; hout = ht
end if - Actualizar:
xant = xord (t)
end for Dt (i, l) exp(−αt Y (i, l)ht (Xi , l))
Dt+1 = (4)
Salida: hout Zt

donde Zt es un factor de normalización para que Dt+1 sea una distribución.



Zt = 2 t (l)(1 − t (l))
D. Adaboost Multivariable end for
end for
Originalmente Adaboost es un algoritmo diseñado para prob- Salida:
lemas binarios, sin embargo, existen varios métodos para exten- H(x, l) = sign[
T

αt
ht (x, l)] (5)
derlo a problemas multivariable. Se han propuesto varias aprox- t=1 t αt

imaciones como AdaBoost.M1 [9] que usa un aprendiz débil


multivariable y AdaBoost.MH [8] o AdaBoost.M2 [10] que cre-
an problemas binarios al comparar las clases entre sí. También
hay acercamientos usando métodos de codificación de salida, idad de que al adivinar la etiqueta, ésta sea correcta, es menor al
como AdaBoost.MO [11] que usa una matriz de codificación 50 %. Al evaluar la hipótesis débil con AdaBoost.MH, se encon-
(código por clase) y modifica la salida de la hipótesis final mi- tró que no tiene el nivel de precisión requerido y por consigu-
diendo su distancia a los códigos y AdaBoost.OC [10] que usa iente se realiza una adaptación del algoritmo AdaBoost (cuya
codificación EOCO . exigencia a la hipótesis débil es menor), a la lógica usada por
El objetivo de la implementación de algún algoritmo de AdaBoost.MH. Para esto se crea una distribución D a cada clase
boosting multivariable en la clasificación de señales EOG es de datos y se actualizan los valores de αt y Zt de acuerdo a Ada-
tomar los datos bidimensionales entregados por el preproce- Boost. El resultado es el seudo-código presentado en la figura 2,
samiento y retornar la dirección del movimiento realizado. Para el cuál es el algoritmo implementado en la clasificación de las
esto se definen 5 movimientos básicos: arriba, abajo, derecha, señales EOG.
izquierda y clic (parpadeo voluntario) y 4 movimientos diago-
nales, que corresponden a combinaciones de los anteriores. La E. Mouse Electrooculográfico basado en Boosting
codificación usada se presenta en la figura 3
La solución final del mouse electrooculográfico consta de dos
etapas. La primera es la tarjeta de adquisición de señales descri-
ta en el apartado A y la segunda es la aplicación EOG mouse.
EOG mouse se desarrollo en Visual Studio.NET 2005 con
VB.net como lenguaje y está compuesto de los siguientes mó-
dulos:
Figura 3. Codificación movimientos. A: Mov. básicos, B: Mov. diagonales.
1. RX Serial: Se encarga de la recepción de los datos de la
tarjeta de adquisición. Organiza los datos en parejas (Med.
Debido a la forma de los datos y a su proporcionalidad con el
Vertical, Med. Horizontal).
movimiento del ojo, se usa como clasificador débil un separador
2. Preprocesamiento de los datos: Consiste en el algoritmo
lineal. La implementación de este clasificador corresponde al
descrito en el apartado C pero en vez de recorrer un vector,
algoritmo 1 y recibe como entradas un vector con los datos or-
procesa secuencialmente los datos entregados por el mó-
denados de la dimensión l y las respectivas etiquetas ordenadas.
dulo 1.
El algoritmo recorre los datos generando la hipótesis i y evalúa
3. Hipótesis Boosting: Es la hipótesis combinada obtenida
su error pesado (ecuación 1) en todos los datos. Luego, si este
del algoritmo de boosting implementado. La hipótesis se
error es mayor a 0.5 invierte la polaridad de la hipótesis y halla
carga al iniciar la aplicación desde archivos .txt a vectores.
el respectivo error (1 − ei ). Después se compara con el mínimo
Se implementó una rutina para evaluar la hipótesis con ca-
error hasta el momento y si es menor, se guarda la hipótesis i.
da par de datos provenientes del preprocesamiento, dando
Las hipótesis i recorren los puntos medios de los datos, es de-
como resultado un vector con 5 posiciones que representa
cir, es el valor medio entre un dato i y el dato inmediatamente
el movimiento detectado.
anterior a él.
4. Acciones mouse: En esta etapa se identifican los
Como el clasificador débil es binario se plantea la solución
movimientos realizados usando la codificación descrita y
creando varios problemas binarios a partir del problema multi-
de acuerdo a ellos se utilizan rutinas disponibles en Visual
variable. La exigencia en la precisión del algoritmo débil es mu-
Studio y en internet para mover el cursor y simular el click.
cho más alta en los problemas multivariable, ya que la probabil-
60 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

TABLE I de las funciones disponibles en un mouse que no se obtuvieron


C OMPARACIÓN DE PORCENTAJE DE ACIERTOS DE ENTRENAMIENTO Y
GENERALIZACIÓN

Clases 1 2 3 4 5 Total
Ent. [ %] 98.56 99.15 98.92 98.74 99.77 96.55
Gen. [ %] 98.08 99.10 98.68 91.61 99.76 95.41

IV. R ESULTADOS
En la tabla I se muestran los resultados obtenidos al correr el
algoritmo 100 veces. Podemos ver que en general no hay ningu-
na clase que sea más difícil de aprender que la otra, ya que todas
llegan a errores bajos. La clase con más precisión en general-
ización es la 5, lo cual tiene sentido ya que sus valores están en
un rango diferente al del resto. Dado que 100 es un número ba-
jo de iteraciones, comparado al número de entrenamientos que
suelen hacerse en boosting (500-1000), podemos decir que los
resultados obtenidos son muy buenos. Esto evidencia la eficacia
del algoritmo débil que es potencializada por la aplicación del
boosting. Figura 4. Errores de entrenamiento y generalización (500 iteraciones).
En la Figura 4 se presentan los resultados para 500 itera-
ciones. Usando validación cruzada, podemos ver que el punto
mínimo de ambos errores se da en 271 iteraciones (4.2 % para acá; además del diseño de una interfaz con el usuario mas
generalización y 2.96 % para entrenamiento). A partir de este amigable. También es necesario realizar pruebas pruebas adi-
valor, aunque el error de entrenamiento sigue decreciendo, el de cionales de validación con un grupo considerable de personas,
generalización empieza aumentar, lo cual indica que las hipóte- preferiblemente con algún tipo de discapacidad. Desde el pun-
sis se sobre ajustan a los datos. De acuerdo a esto, se escoge to de vista del aprendizaje, se puede buscar implementar Ada-
como hipótesis combinada final la lograda en la iteración 271. Boost.MH u otro algoritmo multivariable, algunos aquí nom-
Aunque hay varias aplicaciones de este tipo y diferentes es- brados, con otras hipótesis débiles para así poder comparar su
tudios en torno al tema, muy pocos dan claridad acerca de los funcionamiento en la clasificación de señales EOG.
métodos de clasificación usados y más aún, de la efectividad
porcentual de los mismos en una base de datos considerable. R EFERENCIAS
Al comparar los resultados obtenidos, con la implementación [1] R. Barea y otros, Diseño de un ratón electrooculográfico para
el control de Interfaces Gráficos. España. [Online]. Avail-
de un mouse que usa señales EMG y redes neuronales [12] que able: http://www.depeca.uah.es/personal/barea/electrooculografia
reporta errores inferiores al 5 %, se observa que el sistema de /saaei00_raton.pdf/. Consultada en: 12/2007
clasificación implementado es altamente competitivo. [2] J. Gips y otros Eagle Eyes Project, Boston College. [Online]. Avail-
able: http://www.bc.edu/schools/csom/eagleeyes/contact.html. Consultada
en: 12/2007
V. C ONCLUSIONES [3] J. Gips, M. Betke, CameraMouse.org., Boston College. [Online]. Avail-
able: http://www.cameramouse.org/index.html. Consultada en: 12/2007
En este trabajo se desarrolló una forma alternativa de acceder [4] Technologies, Brain Actuated. Cyberlink - Brainfingers: Hands-free Com-
a diferentes tecnologías para usuarios discapacitados, buscando puter Access Solution, [Online]. Available: http://www.brainfingers.com/.
Consultada en: 12/2007
mejorar su habilidad para desenvolverse libremente en el mundo [5] F. Rodriguez, E. Arenas Oftalmología básica, vol. 2, 1999.
actual. [6] R. Barea, Interfaz Usuario-Maquina basado en electroocu-
En el desarrollo del sistema de control propuesto, se lografía. Aplicación a la movilidad, Tesis Doctoral, Univer-
sidad de Alcalá. Madrid, España., 2001. [Online]. Available:
analizaron características importantes de las señales EOG y los http://www.depeca.uah.es/personal/barea/tesis/tesis.htm. Consultada
requerimientos necesarios para desarrollar una adecuada instru- en: 12/2007.
[7] L. Geddes Principles of applied biomedical instrumentation., New York :
mentación para su digitalización. Además de esto, se realizó un John Wiley & Sons, 1975.
nuevo acercamiento al análisis EOG, partiendo de algoritmos [8] R. Schapire A Brieft Introduction to Boosting. , Proceeding of the Six-
de boosting multivariable para la clasificación de las señales. teenth International Join Conference on Artificial Intelligence, pp. 1401-
1406. 1999.
El preprocesamiento de los datos logró no solo identificar los [9] Y. Freund, R. Schapire, A decision-theoretic generalization of on-line
movimientos sacádicos sino también condensar su información learning and an application to boosting., Journal of Computer and Sys-
en muy pocos datos, de tal forma que se pudo asociar cada dato tem Sciences., vol. 55, pp. 119-139. 1997.
[10] Y. Freund, R. Schapire, Using Output codes to boost multiclass learning
a una clase sin perder mucha información en el proceso. problems., Machine Learning: Proceedings of the Fourteenth International
El algoritmo de Boosting Multivariable implementado per- Conference., pp. 313-312. 1997.
mitió encontrar una buena solución, que no se sobre ajusta a los [11] R. Schapire, Y. Singer Improved boosting algorithms using confidence-
rated predictions., Machine Learning. vol. 37, 297-336.1999.
datos y generaliza bien en los mismos. [12] Z. Huertas Sistema de control de mouse mediante señales electromiográ-
Quedan planteados para futuros trabajos, la implementación ficas faciales., Tesis de maestría. Universidad de los Andes, 2007.

Análisis de las deficiencias del uso de enveloping
en la señal digital de vibración


Gilberto C. Fontecha Dulcey, GiDeTechMa, Universidad Pontificia Bolivariana, Bucaramanga



       


          
                  
        

         

                  
          
                  
        
           

           

          
              
                   
         
                   
      
         
            
                  
                    
       

          

                  
          
           
                  
            
           
         
            
 
          
 
          
       
      
  

        


        
         

         
   
         
          
            
                    
                   
                 
         
 
                    


Memorias STSIVA 2008 Tomo II 61 - 64


62 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008


        
         
                    
                  
                   
               
         
 
        

 

 
                   
          
                
 


           


 





 
 

          

        
   
()

                 
               
            

        
 ( ) 
          
 

           ( ) 
         


 

( ) = ( ) +    
  
( ) =   ( ) +   ( ) 



 

 


         
          
         
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 63


            

               
               
                 
 

 
 
                 
               
               
        
                       
          
  

         
     
          

        
        
          

       
          
         
 
   



 
 

   ( )         

 

          
         
           
        

 
 

 
         
           
         
 
        
  
 


 

 
64 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008


       
       
        
      
 
  
 

 
       
 

   

 

  
 
          

         
         
         
        
                   
 
          
          
  
 
       
         
                    

                 
 
  

 
  
                      

        
          
 
 

          
 
                  
        
 
         
          

 
        
        





           


      
         
         
Detección de rostros frontales y componentes
faciales
Detección desobre secuencias
rostros de imágenes
frontales y componentes
faciales sobre secuencias de imágenes
Marta Lucía Guevara1, Cristian Guarnizo2, Álvaro Ángel Orozco3

Marta Lucía Guevara 1 , Cristian Guarnizo 2 , Álvaro Ángel Orozco 3

CATEGORÍA C3 métodos avanzados de reconocimiento de patrones.


Resumen—En este documento se presenta la implementación y Estas técnicas de detección se han abordado desde
aplicación de un método de detección de rostros y componentes diferentes enfoques: enfoques basados en rasgos faciales o
faciales (ojos y bocas), como etapa inicial de un sistema de características locales, en los que se buscan determinados
reconocimiento de emociones. El método se basó en la extracción
de características con filtros de base Haar y clasificadores en elementos que componen el rostro, como los ojos, la nariz, la
cascada, y fue probado sobre secuencias de imágenes de la base boca, enfoques holísticos o basados en la imagen, en este caso
de daros FEEDTUM, alcanzando un porcentaje de detección del los métodos trabajan con la imagen completa o zonas
rostro del 94% y un porcentaje detección de los ojos y la boca del concretas de la misma, de la cual se extraen características que
90.5%, con tiempos de procesamiento bajo. puedan representar el objeto buscado, enfoques híbridos, estos
métodos usan tanto la información local como la global para
Palabras Claves— Detección de rostros, componentes faciales,
la detección, basándose en el hecho de que el sistema de
imagen integral, base Haar, boosting.
percepción humano distingue tanto las características locales
como globales del rostro [2, 3].
I. INTRODUCCIÓN Alrededor de estos enfoques se han planteado diferentes
trabajos como los de [4, 5,6], en los que se usa la información
El rostro humano es un objeto dinámico que tiene un alto
de color para realizar la detección del rostro, obteniendo
grado de variabilidad en su apariencia que hace su análisis un
resultados alrededor del 90%. [7] usa redes neuronales para
problema difícil de tratar en el área de procesamiento de
detectar el rostro y sus componentes faciales, alcanzando
imágenes. Este ha sido objeto de investigación desde hace
porcentajes de detección entre 77.9% y 90.3% para las
algún tiempo, motivado por su importancia a nivel
diferentes configuraciones de la red. [8] usa una base Haar
neurobiológico, psicológico y computacional, y por la
para la extracción de características, y Adaboost para la
cantidad de aplicaciones que se pueden llegar a desarrollar a
selección y clasificación de estas, alcanzando un porcentaje de
partir de su estudio como: interfaces hombre-máquina,
detección del 94.1%. Este método propuesto por Paul Viola y
aplicaciones de seguridad, interfaces animadas, sistemas de
Michael Jones, es uno de los métodos mas usados hoy en día
reconocimiento de emociones, etc [1].
ya que ha permitido detectar múltiples rostros en una imagen
Las principales áreas de investigación del rostro para el
con tiempos de procesamiento bajos. Alrededor de esta
desarrollo de aplicaciones incluyen: la detección, seguimiento,
investigación se han realizado otros trabajos como los de [9,
extracción de datos y clasificación. Este trabajo se enfoca en
10, 11,12], que han aplicando el método para detectar rostros
la primera, la detección, por ser una de las más importantes ya
y han adicionado otras etapas como la detección de
que es la base para el desarrollo de sistemas automáticos de
componentes faciales, corrección de pose y seguimiento del
reconocimiento e interpretación [1].
rostro.
Inicialmente la tarea de detección del rostro en los sistemas
Este trabajo presenta la implementación y aplicación de un
de reconocimiento no recibió la atención necesaria y se partía
método de detección de rostros frontales y componentes
de que el rostro ya había sido detectado, fue solo en la década
faciales, sobre secuencias de imágenes, como etapa inicial de
de los ochenta que surgieron los primeros algoritmos, basados
un sistema automático de reconocimiento de emociones a
en técnicas heurísticas y antropométricas, y en la década de
partir del análisis del movimiento y deformación de algunas
los noventa cuando el desarrollo de algoritmos de detección
de las partes más expresivas del rostro como: los ojos, las
rostros inició su crecimiento [2], proponiéndose una gran
cejas y la boca.
variedad de técnicas, desde algoritmos básicos de detección de
La estructura de este trabajo se dividió así: en la sección II
bordes hasta algoritmos compuestos de alto nivel que utilizan
se presenta la metodología a seguir, en la sección III se
1
expone el método de detección que sustenta la metodología,
Estudiante Maestría en Ingeniería Eléctrica, Docente Catedrática
Universidad Tecnológica de Pereira, R/da. e-mail: marlugue@ohm.utp.edu.co. en la sección IV se hace una descripción de la base de datos
2
M.Sc. en Ingeniería Eléctrica, Docente Instituto Tecnológico usada, de las pruebas realizadas y de los resultados, y por
Metropolitano, Medellín, Antioquia. e-mail: cdguarnizo@ohm.utp.edu.co. último se presentan las conclusiones.
3
M.Sc. en Ingeniería Eléctrica, Profesor Titular Universidad Tecnológica
de Pereira, R/da. e-mail: aorozco@ohm.utp.edu.co.

Memorias STSIVA 2008 Tomo II 65 - 68


66 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

II. METODOLOGÍA
La detección del rostro y sus componentes faciales se lleva La imagen integral (ver Fig. 2), en la localización x, y,
a cabo en tres etapas, en la primera se realiza la búsqueda del contiene la suma de los píxeles de la parte superior izquierda,
rostro sobre toda la imagen usando el método propuesto por y se calcula como se muestra a continuación:
Viola & Jones [8], sobre la región detectada como rostro se II ( x, y ) = ∑ I m ( x ', y ') (1)
x '≤ x , y '≤ y
definen dos zonas de interés, la mitad superior, en la cual se
aplica el detector de ojos, y la mitad inferior donde se aplica el Donde II (x,y) es el valor de la imagen integral en la
detector de la boca (ver Fig. 1). localización (x,y) e I m es la imagen original.

Extracción de características
La extracción de características es realizada aplicando a la
Imagen de imagen filtros con bases Haar. Estos filtros pueden ser
entrada calculados eficientemente sobre la imagen integral, son
selectivos en el dominio espacial y de la frecuencia, y
permiten ser modificados en escala y orientación. En la Fig. 3,
Detección
se muestran algunos de los filtros [13].
del rostro

Detección de
los ojos

Detección de
la boca
Fig. 3. Filtros Haar rotados, trasladados y con cambios de escala.

Clasificación
Rostro y Para realizar la clasificación se usa boosting [14]. Este es
componentes
faciales un método de clasificación que combina varios clasificadores
detectadas
básicos para formar un único clasificador más complejo y
Fig. 1. Esquema del procedimiento de detección. preciso. En la Fig. 4, se muestra un esquema de un
clasificador en cascada.
III. DETECCIÓN
Ventana de
A. Detección del rostro Búsqueda

El método aplicado en esta etapa esta basado en el C1 C2 Cn


propuesto por [8], y se divide en tres fases: en la primera se
realiza una transformación de la imagen, generando una
nueva, llamada imagen integral, en la segunda se realiza la
extracción de características usando filtros con base Haar, y No Rostro
en la última se usa boosting para la construcción de Fig. 4. Esquema de un clasificador en cascada.
clasificadores en cascada.
Para aplicar la técnica de boosting primero se debe
Imagen Integral establecer un algoritmo de aprendizaje sencillo (clasificador
Esta es una imagen acumulativa que se construye a partir de base), que será llamado varias veces para crear diversas
operaciones básicas de sumas y restas, y permite extraer de clasificadores base. Para el entrenamiento de estos se emplea
forma rápida características a diferentes escalas [8]. en cada iteración, un subconjunto diferente de muestras de
entrenamiento y una distribución de pesos diferente sobre las
muestras [14]. Finalmente, estos clasificadores base se
combinan en un único clasificador que se espera sea mucho
más preciso que cualquiera de los clasificadores base por
separado.
(x,y En función de los clasificadores base que se utilicen, las
) distribuciones de peso que se empleen para entrenarlos y el
modo de combinarlos, podrán crearse distintas clases del
Fig. 2. Imagen Integral.
algoritmo genérico de boosting. El algoritmo de boosting
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 67

empleado por Viola & Jones [8], en su trabajo es conocido tiempo de procesamiento por imagen.
como AdaBoost (Adaptive Boosting).
B. Detección de componentes faciales
Detección de los ojos
Los ojos y la boca son marcas faciales importantes, ambos
usados para análisis, reconocimiento y procesos de
normalización, especialmente los ojos, debido a que su
distancia inter-ocular es relativamente constante [1], [15].
La tarea de detección se llevó a cabo siguiendo el método
expuesto en A, con la diferencia de que los objetos a ser
detectados en este caso son los ojos y la boca.
En esta etapa se parte del rostro detectado, dentro del cual
se definen dos zonas de interés (ver Fig. 5), una de ellas la
región de la mitad superior, en la cual se aplica el detector de Fig. 6. Imágenes de cuatro personas de la base de datos
ojos, y la otra la mitad inferior donde se aplica el detector de FEEDTUM manifestando diferentes emociones.
la boca.
Resultados
El porcentaje de detección y el tiempo de detección
promedio se cálculo como se indica a continuación:

NDC
% de Detección = (2)
NTI

Fig. 5. Zonas de interés definidas para la detección de n

componentes faciales. ∑ td
Tiempo de Detección = i =1
(3)
NIDC
IV. PRUEBAS Y RESULTADOS
Donde NDC es el número de detecciones correctas, NTI
Para realizar la detección del rostro y componentes faciales, número total de imágenes analizadas por secuencia, t d
y permitir en el futuro un análisis de estas regiones para el
tiempo de detección para cada imagen y NIDC es la cantidad
reconocimiento de emociones, se usó la base de datos de rostros o componentes detectadas correctamente.
FEEDTUM (Facial Expressions and Emotions from the
Technical University Munich), esta base de datos es TABLA I. RESULTADOS DE DETECCIÓN DEL ROSTRO
ampliamente usado en la actualidad para el desarrollo de Persona 1 Persona 2 Persona 3 Persona 4
métodos de análisis para el reconocimiento de expresiones No de
50 50 50 50
faciales [1], [15], [16]. Imágenes
No de
48 49 49 42
Detecciones
Base de datos FEEDTUM No de
2 1 1 8
Pertenece a la Universidad Técnica de Munich (Alemania) Fallos
y ha sido generada como parte del proyecto FG-NET (Face % de
96% 98% 98% 84%
Detección
and Gesture Recognition Research Network). Esta Tiempo de
conformada por secuencias de imágenes con rostro frontales Detección 93.89ms 86.77ms 113.9ms 91.29ms
de 18 personas, que muestran las 7 emociones básicas Promedio
(alegría, tristeza, sorpresa, miedo, disgusto, enojo y neutral), 6
TABLA II. RESULTADOS DE DETECCIÓN DE LOS OJOS
de ellas definidas por Eckman y Friesen. Cada imagen se
Persona 1 Persona 2 Persona 3 Persona 4
encuentra en formato JPEG a 8 bits con un tamaño de
No de
320x240 píxeles. 50 50 50 50
Imágenes
No de
46 46 47 42
Pruebas Detecciones
La prueba de detección se realizó sobre 200 imágenes, No de
6 4 3 8
Fallos
pertenecientes a 4 secuencias de 4 personas manifestando % de
diferentes emociones. Cada secuencia contiene alrededor de 92% 92% 94% 84%
Detección
100 imágenes, de las cuales se tomaron las primeras 50 (para Tiempo de
Detección 10.11ms 13.14ms 13.64ms 11.86ms
cada persona). A cada imagen se le aplicó el método de
Promedio
detección de rostros y componentes faciales y se midió el
68 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

AGRADECIMIENTOS
TABLA III. RESULTADOS DE DETECCIÓN DE LA BOCA
Persona 1 Persona 2 Persona 3 Persona 4
Este trabajo se desarrolla en el marco de los proyectos:
No de "Implementación Y Efectividad De Un Sistema Basado En
50 50 50 50
Imágenes Inteligencia Artificial Como Herramienta Para El Tratamiento
No de Psicológico De Personas Con Trastorno De Estrés
48 47 45 41
Detecciones
No de
Postraumático", financiado por Colciencias. Código
2 1 5 9 111037019600 y la Universidad Tecnológica de Pereira.
Fallos
% de
96% 94% 90% 82%
Código 511-3-243-08, y el proyecto "Detección De Objetos
Detección En Imágenes Digitales Utilizando Wavelets Y Boosting",
Tiempo de
Detección 32.07ms 28.10ms 31.63ms 25.19ms financiado por el Centro de Investigación y Extensión, de la
Promedio Universidad Tecnológica de Pereira. Código E6-07-4.

BIBLIOGRAFÍA
[1] RATLIFF, Matthew y PATTERSON, Eric. Emotion Recognition Using
Facial Expressions With Active Appearance Models. University of
North Carolina Wilmington, 2008.
[2] RAMÍREZ, Carlos Alejo y PÉREZ, Manuel David. Detección de caras y
a) análisis de expresiones faciales.
[3] LECUMBERRY, R., Federico. Cálculo de disparidad y segmentación de
objetos en secuencias de video. Tesis de maestría en ingeniería eléctrica.
Universidad de la república Montevideo, Uruguay. 3 de agosto de 2005.
[4] LI, Yadong, GOSHTASBY, Ardeshir y GARCÍA, Oscar. Detecting and
tracking human faces in videos. Wright State University, 2000.
b) [5] FERIS, Rogério, EMÍDIO DE CAMPOS, Teófilo y MARCONDES,
Fig. 7. Resultados para imágenes de diferentes secuencias. a) César. Detection and tracking of facial features in video sequences.
Secuencia de imágenes felicidad para la persona 3 y b) Lecture Notes in Artificial Intelligence, Vol. 1793, pp. 197-206, 2000.
[6] HABILI, Nariman. Automatic segmentation of the face and hands in
Secuencia de imágenes sorprendido para la persona 4.
sign language video sequences. Technical report, Adelaide University,
Australia, 2001.
En la Fig. 7, se pueden ver los resultados de las detecciones [7] ROWLEY, Henry, BALUJA, Shumeet, y KANADE, Takeo. Neural
para 4 imágenes de dos secuencias diferentes. En la segunda network-based face detection. IEEE, 1998.
[8] VIOLA, Paul y JONES, Michael. Robust Real-Time Face Detection.
imagen de la secuencia b), se puede observar una falsa International Journal of Computer Vision, Vol.57, No.2, pp 137-154,
detección (cuadro verde), este problema puede ser resuelto 2004.
teniendo en cuenta criterios de antropométricos, donde se [9] CASTRILLÓN, M., DÉNIZ, O., GUERRA, C y HERNÁNDEZ, M.
"ENCARA2: Real-time detection of multiple faces at different
considere la distancia relativa entre los ojos y la boca. resolutions in video streams". ELSEVIER, Journal Visual
Communication and Image Representation. Article in press (2007).
[10] BARTLETT, Marian Stewart et all. Real time face detection and facial
V. CONCLUSIONES Y RECOMENDACIONES expression recognition: development and applications to human
computer interaction. University of California, USA, 2004.
En este documento se muestran los resultados de la [11] SILAPACHOTE, P, KARUPPIAH, D y HANSON, A. Feature selecting
implementación de un método de detección de rostros y using adaboost for face expression recognition. University of
Massachusetts Amherst, USA.
componentes faciales, sobre secuencias de imágenes de la [12] BELAROUSSI, Rachid y MILGRAM, Maurice. Face detecting and skin
base de datos FEEDTUM, que alcanzó porcentajes de color based tracking: a comparative study. University Pierre an Maire
detección del 94% para rostros y del 90.5% para los ojos y la Curie. Paris, Francia, 2007.
[13] PAPAGEORGIOU,C., OREN,M y POGGIO,T. Ageneral frame-work
boca, que demuestran la efectividad de combinar técnicas de for object detection. Proceedings of International Conference on
boosting con filtros Haar. Computer Vision, enero de 1998, Bombay, India.
La reducción de los porcentajes de detección de los ojos y [14] SCHAPIRE, R y FREUND, Y. A decision theoretic generalization of
on-line learning and application to boosting. AT&T Bell Laboratories.
de la boca se puede atribuir a que estos no contienen tanta USA, 1995.
información morfológica como la que contiene el rostro. [15] SAATCI, Yunus y TOWN, Christopher. Cascaded Classification of
No se pudo realizar una comparación de los resultados Gender and Facial Expression using Active Appearance Models.
University of Cambridge Computer Laboratory, 2006.
obtenidos, ya que son pocos los estudios para la tarea de
[16] WALLHOFF, F.; SCHULLER, B.; HAWELLEK, M.y RIGOLL, G.
reconocimiento que realizan la detección rostro y Efficient Recognition of Authentic Dynamic Facial Expressions on the
componentes faciales, y muchos parten de que estas tareas ya Feedtum Database. En: IEEE International Conference on Multimedia
han sido realizadas, además, los que las consideran, las han and Expo, Pag 493-496, ISBN: 1-4244-0367-7, 2006.
realizado sobre otras bases de datos. Lo anterior demuestra la
importancia del desarrollo y mejora de técnicas de detección
de rostros, que permitan ser incorporadas a sistemas de
reconocimiento, para que estos puedan ser completamente
automáticos, y no se requiera de la intervención humana para
indicar las zonas a ser analizadas.
Arquitectura usando aritmética entera orientada a la extracción de
Arquitectura
los coefi Usandolineal
cientes de predicción Aritmética Entera
sobre PDSP y FPGA
Orientada a la Extracción de los Coeficientes de
López P. Alexander, Campos P. Natalia, Saavedra M. Ángela María,

Predicción Lineal Sobre PDSP y FPGA


López P. Alexander, Campos P. Natalia, Saavedra M. Ángela María,

través de un filtro coloreador [1][2]. Estos filtros son sistemas


Resumen— En este trabajo se propone una arquitectura lineales e invariantes con el tiempo (LTI) y pueden ser de tres
optimizada usando aritmética entera para la obtención de los tipos: autoregresivo (AR), media móvil (MA) y autoregresivo
coeficientes de predicción lineal (LPC) y su posterior mas media móvil (ARMA)[1][2].
implementación en plataforma PDSP y FPGA para la
construcción de sistemas de codificación y reconocimiento de voz
En este trabajo se analiza la voz como un proceso AR en
en un solo chip. La arquitectura propuesta permite obtener la segmentos de duración donde ésta presenta un
matriz de autocorrelación y solucionar las ecuaciones normales comportamiento estacionario; posteriormente, habiendo
mediante el algoritmo de Levinson-Durbin utilizando únicamente calculado la autocorrleación se obtienen los coeficientes de
operadores aritméticos enteros para un proceso estocástico predición lineal para cada segmento a partir de las ecuaciones
estacionario autoregresivo (AR), esto permitió implementar normalizadas usando el algoritmo de Levison-Durbin. Todos
eficientemente la arquitectura de forma secuencial sobre una
plataforma PDSP de punto fijo y de forma paralela sobre una
estos algoritmos se desarrollan usando aritmetica entera,
plataforma FPGA; los resultados experimentales muestran que finalmente se presenta su implementación en un procesador
es posible implementar un procesador LPC en tiempo real para digital de señales programable (PDSP) y un arreglo lógico
codificar hasta 6 canales de audio sobre un PDSP operando a 1 programable por campo (FPGA).
GHz y hasta 937 canales sobre un FPGA operando a 60 MHz.

Index Terms— LPC, Levinson-Durbin, PDSP, FPGA. II. CODIFICACIÓN LINEAL PREDICTIVA
A. La voz como un proceso AR
I. INTRODUCCIÓN Los coeficientes de predicción lineal parten del fundamento
de modelar la voz como la salida de un sistema lineal causal y
E l modelar la señal de voz como un proceso aleatorio
permite utilizar sobre ella algoritmos de predicción de
series de tiempo, estos algoritmos buscan reducir la cantidad
causalmente invertible excitado por un proceso de ruido
blanco como se puede observar en la figura 1.
de datos de representación brindando así la posibilidad de ser
utilizados en sistemas de codificación y reconocimiento de Generador
voz en un solo chip. Sin embargo, la naturaleza de estos de pulsos
algoritmos va más allá del operador multiplicación-
Filtro lineal
acumulación e involucra el cálculo de funciones y variante
trascendentales y operadores aritméticos complejos como la X con el
división y la raíz cuadrada. Tradicionalmente la tiempo
Generador
implementación de estas funciones y operadores se ha de ruido G
realizado usando aritmética en punto flotante la cual no blando
permite realizar implementaciones de alta velocidad sobre
PDSP y FPGA. Fig 1. Modelo de Producción de Voz.
Las señales aleatorias estacionarias pueden ser modeladas Este proceso corresponde a un proceso autoregresivo AR.
como si hubieran sido originadas por ruido blanco que paso a Éstos, forman una familia de procesos tales que una
observación en un instante de tiempo depende de las
observaciones anteriores.
Alexander López es docente investigador del grupo GDSPROC en el
programa ingeniería electrónica de la Universidad del Quindío.
La idea básica detrás del modelo es que una muestra en un
Natalia Campos es estudiante del programa del programa ingeniería tiempo n, S(n) puede ser aproximada como una combinación
electrónica de la Universidad del Quindío. lineal de p muestras de habla pasadas así:
Ángela María Saavedra estudiante del programa ingeniería electrónica de
la Universidad del Quindío. S ( n) ≅ a1S ( n − 1) + a2 S ( n − 2) + ... + a p S ( n − p ) (1)
Donde los coeficientes a1a2,…an son asumidos constantes
para la ventana de análisis, convirtiendo la ecuación (1) en una

Memorias STSIVA 2008 Tomo II 69 - 72


70 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

igualdad incluyendo el término de excitación Gu(n) se tiene: ⎡ γ χχ (0) γ χχ



(1) L γ χχ ∗
(p − 1) ⎤
p
⎢ ⎥
S ( n ) = ∑ ai S ( n − i ) + Gu ( n ) (2) γ (1) γ χχ (0) L γ χχ (p − 2)⎥
i =1 Γp = ⎢ χχ (6)
Donde u(n) es la excitación normalizada y G es la ganancia de
⎢ M M ⎥
⎢ ⎥
⎣⎢γ χχ (p − 1) γ χχ (p − 2) L γ χχ (0) ⎦⎥
la excitación. Expresando la ecuación 2 en el dominio de Z se
obtiene la siguiente relación:
p Nótese que Γp (i, j) = Γp (i − j) , así, la matriz de
S ( z ) = ∑ ai S ( z ) z −i + GU ( z ) (3) autocorrelación es una matriz Toeplitz. Como
i =1
En términos de la función de transferencia Γp (i, j) = Γp* (i, j) , la matriz es también hermítica.
S ( z) 1 La clave de la solución del método de Levinson–Durbin,
H ( z) = = p
(4) que explota la propiedad de la matriz, consiste en proceder
GU ( z )
1 − ∑ ai z −i recursivamente, empezando con un predictor de orden m=1 y
i =1 después incrementar el orden recursivamente, usando las
La interpretación de la ecuación (4) está dada en la figura 1, la soluciones de orden menor para obtener la solución al
cual muestra la fuente de excitación normalizada u(n), siendo siguiente orden superior.
escalonada por la ganancia G, actuando como entrada para el La figura 2 muestra las ecuaciones de recursión del
sistema todo-polo, H ( z ) = 1 / A( z ) , para producir la señal algoritmo de Levinson Durbin [2].
de habla S(n) basado en el conocimiento que la función de
excitación actual para el habla es esencialmente un tren de 1. Input: r(0), r(1), r(2), . . . , r(M)
pulsos cuasiperiódicos (sonidos sonoros) o una fuente de ruido 2. Initialization
aleatorio (sonidos sordos), hay un conmutador el cual controla (a) P0 = r(0), β0 = r‫(כ‬1)
los fonemas sonoros/sordos del habla y escoge la fuente de (b) k0 = −r‫(כ‬1)/r(0), a(1)1 = k0
excitación dependiendo del tipo de sonido. 3. For m = 1, 2, . . . , M − 1
Para poder obtener los coeficientes de los filtros se debe (a) Pm = Pm−1 + βm−1k‫כ‬m −1
hacer uso de la relación existente entre estos y la (b) rm = [r(1) r(2) · · · r(m)]T
(c) βm = aTmJr‫כ‬m + r‫(כ‬m + 1)
autocorrelación γ xx (m) , pues cuando se trata de un proceso (d) km = −βm/Pm
aleatorio estacionario con densidad espectral de potencia de (e) am+1 =[am 0]T+ [Ja‫כ‬m 1]Tkm
forma racional se puede obtener una relación lineal por medio 4. PM = PM−1 + βMk‫כ‬M
de las ecuaciones de Yule-Walker que también son llamadas 5. Output: aM, {km}M−10 , {Pm}M1
ecuaciones normalizadas que se muestran en la ecuación (5).
Fig. 2. Algoritmo de Levinson-Durbin. Tomado de [2].
⎧ p
⎪− ∑ a k γ xx (m − k ) m>0
⎪ k =1 La recursión de Levinson- Durbin requiere O(m)
⎪ p multiplicaciones y sumas para pasar de la etapa m a la etapa
γ xx (m) = ⎨− ∑ a k γ xx (m − k ) + σ w2 m=0 (5) m+1. Por lo tanto, para p etapas requiere el orden de
⎪ k =1 1+2+3+….p(p+1)/2 o O( p2), operaciones para encontrar los
⎪γ xx (− m) m<0 coeficientes del filtro predicción [2] .

⎩ III. DESARROLLO
Para la solución de estas ecuaciones existen dos métodos: El
Para la implementación del algoritmo de Levinson-Durbin
algoritmo Levinson-Durbin y el algoritmo de Shür, El primero
en aritmética en punto fijo en C primero se desarrolló el
se usa cuando la matriz es hermítica y toeplitz y el segundo
algoritmo en MATLAB en punto flotante, cuando se observó
cuando la matriz no cuenta con estas características.
que los resultados de dicho programa eran iguales a los que
B. El Algoritmo de Levinson-Durbin proporciona la función levinson disponible en las librerías
El algoritmo Levinson-Durbin es un algoritmo de MATLAB, se hizo una emulación del punto fijo realizando
computacionalmente eficiente para resolver las ecuaciones corrimientos de 2Nfrac donde Nfrac es el número de bits
normales para la obtención de los coeficientes de predicción. fraccionarios requeridos [3], que en este caso fueron 18 debido
Este algoritmo explota la simetría especial en la matriz de a que con este número experimentalmente se obtuvo una
autocorrelación. buena resolución, esto implica que la diferencia entre números
consecutivos es de 0.00000387 y por consiguiente tiene una
buena cantidad de números para la representar valores entre -1
y 1. Esto es necesario debido a que los modelos estimados por
el algoritmo de Levinson-Durbin en muchas ocasiones tienen
coeficientes entre -1 y 1 y como el algoritmo es recursivo, es
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 71

decir, los coeficientes para un orden N se calculan a partir de TABLA I


los coeficientes de orden N-1, el perder precisión en cada variable Levinson-Matlab C
iteración puede llevar a resultados erróneos. Condiciones iniciales
Siguiendo con el desarrollo del algoritmo se encontraron P(0) 816 816
algunas operaciones como la multiplicación y la división, con k(0) -200463 -200463
las que se deben tener consideraciones especiales cuando se
a(0) 262144 262143
está trabajando en punto fijo, para la primera, al realizarla se
a(1) -200463 -200463
duplica el tamaño de la variable donde se almacena el
resultado, por ejemplo supongamos que se multiplican los am(0) -200463 -200463
números de 8 bits 2.6875 y 3.15625 tal y como se muestra en Orden = 8
la figura 3. Los números utilizan Nfrac=5 bits para la parte acu - -1038
fraccionaria. P(7) -122 -222

010.10110 x 011.00101 = 001000.0111101110 aux - 516


2.6875 x 3.15625 = 8.482421875 z - 148
Fig. 3. Multiplicación de dos números en punto fijo k(7) 1520602 174762
a(8) 1520602 174762
Desde la figura 3 se puede observar que el resultado es de 262143,-975698,1370390, - 262144,-989351,1404675,
a -665786,-564159,1247938, -704966,-548092,1267048,
16 bits y que el punto decimal se corre a la izquierda Nfrac bits. -876780,96434,183170 -914278,123231,174762
En el caso de la implementación del algoritmo de Levinson - -975698,1370390, -989351,1404675,-704966,
Durbin el resultado es de 36 bits, por tal motivo, se tuvo la am -665786,-564159,1247938, -548092,1267048,
necesidad de usar números de 64 bits para el almacenamiento -876780,96434,183170 -914278,123231,174762
Resultados obtenidos con el algoritmo Levinson proporcionado por Matlab y
de los valores intermedios al ser este el tipo de dato entero de los obtenidos en C con el algoritmo implementado.
mayor tamaño en lenguaje C. En cuanto a la división, si se significativo a los valores ideales. De acuerdo a lo anterior, se
opera de manera normal, el punto decimal se desplaza a la propuso un esquema de redondeo similar al utilizado por la
derecha con lo cual se pierde la información contenida en los aritmética en punto flotante definida en el estandar IEEE-754
bits bajos. Esto se evita al desplazar a la izquierda el [3] aplicándose éste después de calcular una multiplicación o
numerador Nfrac bits. Esto se muestra en la figura 4. división en el algoritmo de Levinson – Durbin, dando como
resultado los valores mostrados en la columna dos de la Tabla
010.1011000000 / 011.00101 = 000.11011 I. Para el implementar el esquema de redondeo es necesario
2.6875 / 3.15625 = 0.851485 calcular dos bits extra de resultado tanto para la multiplicación
y la división. Para el caso de la multiplicación se tienen Nfrac
Fig. 4. División de números en punto fijo. bits extra de tal forma que no se debe realizar una
modificación al algoritmo, en el caso de la división se debe
Se nota en la figura 4 que el resultado posee el tamaño desplazar el numerador Nfrac+2 bits a la izquierda. El esquema
inicial de 8 bits. Con el fin de probar la implementación de redondeo se muestra en el algoritmo de la figura 5.
realizada del algoritmo de Levinson- Durbin en C se tomó Por ejemplo, al dividir los números -4.90625 y 5.65625
como vector de autocorrelación el siguiente usando aritmética en punto flotante de precisión simple se
Rx=[816,624,240,0,-48,-112,-288,-400,-368]. Al simular obtiene -0.867403, ahora bien, al dividir utilizando aritmética
inicialmente y comparar los resultados con los obtenidos con en punto fijo sin implementar un esquema de redondeo se
la función levinson diponible en MATLAB (columna uno obtiene -0.843750 implicando un error de magnitud de
de la Tabla I) se notó que eran muy distantes, además, al 0.023653; al implementar el esquema de redondeo propuesto
correr el algoritmo en C para todas las palabras pertenecientes en este trabajo se obtiene como resultado -0.875000 y un error
a la base de datos ocurría desborde en algunos casos, por esto de magnitud de 0.007597.
se implementó un algoritmo en MATLAB emulando el punto
fijo con multiplicaciones por 2Nfrac, esto se realizó con el fin de
observar si la diferencia notada entre los valores se debían a la
aproximación que se realiza cuando se hace el cambio de
aritmética en punto flotante a aritmética en punto fijo. El
resultado de ésta prueba mostró un acercamiento de los
valores, sin embargo, seguían difiriendo, por lo que se tomó la
decisión observar los valores intermedios, con lo que se vio
que al iniciar el cálculo de los coeficientes del algoritmo
tenían resultados casi idénticos, pero a medida que aumentaba
el orden se empezaba a aumentar el error, lo que dio lugar a un
nuevo intento, aproximando los valores intermedios del
algoritmo con lo que se notó un acercamiento muy
72 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

/*Redon
ndeo sin sign
no*/
int64_t
t uiround(int
t64_t x){
El circuuito que calculla el bit de reddondeo w se muestra
m en la
int
t8_t w; figura 7.
7
w=((x
x&(1<<2))>>2)
)&((x&(1<<1))>>1)|((x&(1
<<1))
)>>1)&((x&(1<
<<0))>>0);
x=(x>>2)+w;
ret
turn(x);
}

/*Redon
ndeo con sign
no*/
int64_t
t iround(int6
64_t x){
Fig 7. Circuito que calcula ell bit de redondeo.
int32_t aux
x;

aux=abs(x);
;
Al sinteetizar sobre el FPGA
F se ocuppan 1954 elemeentos lógicos
aux=uiround
d(aux); (4%) y 64 multipliccadores embebbidos de 9 bits (22%). La
frecuenncia de reloj alcanzada es dee 60 MHz conn lo cual es
if(x<0) aux
x=-aux; posible realizar la codificación
c d hasta �60 � �0� /�� �
de
return aux;
;
}
�000�� � ���canaless de voz con calidad telefónnica. Nótese
que aunn se cuenta coon el 96 % dee los recursoss lógicos del
Fig. 5. Esquema de
d redondeo propueesto
FPGA y el 78% de loss bloques de multiplicación.
m
IV. IMP N SOBRE PDSP Y FPGA
PLEMENTACIÓN

A Implementaación sobre PD
A. DSP V CONCLUSIIONES
V.
Se loogró la impleementación efficiente del algoritmo
a de
Se realizó la im
mplementaciónn sobre el PDSPP TMS320C64416 Levinsoon-Durbin sobrre un PDSP usando aritmétiica entera en
de Texas Instrum ments del algo
oritmo de Levvinson-Durbin en el lenguuaje de programmación C; y enn hardware sobbre un FPGA
lennguaje C. La rutina
r tarda 18
8651 ciclos, daado que el PDDSP mediantte una descrripción estruccturada en VHDL. V Esto
opera a una frrecuencia de 1GHz es poosible realizar la constituuye una herraamienta imporrtante para el tratamiento
coddificación de hasta
h �� � �0� /��000
/ � ��6
6���� � 6 canaales digital de señales, especialmente
e para la consstrucción de
de voz con caliddad telefónica. Nótese
N que en este caso se haace sistemaas de codificacción de voz dee alta velocidaad usados en
usoo del 100 % dee los recursos de
d cómputo dell PDSP. plataforrmas hardware embebidas enn sistemas de coomunicación
y multimmedia.
B Implementaación sobre FP
B. PGA Se prropone un esquuema de redonndeo orientado a aritmética
en puntto fijo que redduce el efecto acumulativo
a de los errores
en algoritmos recursivvos que no esttán basados únnicamente en
Se realizó la impplementación sobre
s el FPGAA EP2S60F6722C3
operadoores multiplicación-acumulacción.
de Altera del algoritmo
a de Levinson-Durrbin usando una u
La im
mplementaciónn del algoritmo de Levinson-D Durbin sobre
desscripción en VHDLV estructturado [4]. Laa arquitectura es
parralela de tal foorma que tarda únicamente p ciclos de reloj en el FPGA A tiene un desempeño 156 veces mayor que q el de su
obttener los coefiicientes de preddicción lineal. Para efectuar las contraparte en PDSP P, a pesar de d que la freecuencia de
operaciones dee multiplicaciión se hizoo uso de los operacióón es 16 vecces menor. Esto E es debiddo a que la
muultiplicadores embebidos deel FPGA. Lass operaciones de arquitecctura paralela permite que en cada ciclo de reloj se
divvisión se realizzaron con el array propuestoo en [5] el cuall es obtengaa un coeficientee del modelo.
moostrado en la figura 6.
REFERENCIA
AS
[1] L. R Rabiner and B. H.H Juang "Fundam mentals of Speech Recognition",
R
Prenntice Hall, 1993.
[2] V. K.
K Ingle, S. M. Kogon and D. G. Manolakis
M "Statisticcal and
Adaaptive Signal Proceessing" Artech Hoouse, 2005.
[3] D. Patterson
P and J. Hennessy,
H “Compuuter Organization and a Design, the
Harrdware Software Innterface”, Morgan Kauffman Publishhers, 2003.
[4] U. Meyer-Baese,
M “Diggital Signal Processsing with Field Prrogrammable
Gatee Arrays”, Springeer, 2004.
[5] E Ordóñez, J. Velasco y M. Vera, “C
G. E. Comparación de Divisores
D
Paraalelos y Secuenciaales de 16-Bits usaando FPGAs”, Iberrchip
Worrkshop, 2003.

Figg. 6. Divisor paraleelo presentado en [5].


Mobile robot using adaptable fuzzy control
Mobile Robot Using Adaptable Fuzzy Control
on a digital signal processor
on a Digital Signal Processor
Adolfo Avila Barón
aavila@ustatunja.edu.co, avilabar@gmail.com
Adolfo Avila Barón
aavila@ustatunja.edu.co, avilabar@gmail.com

Abstract—There are different forms to design adaptive rotation it selves to the sense objects around”. Then the
fuzzy controllers applied to robotic systems, this work adaptive controller is therefore “intuitively” a controller that
changes the traditional methods like the common “Fuzzy can modify its movement behaviour according the
Model Reference Learning Controller” FMRLC, see[1] - environment (number of objects and their distance).
[2], which is supported in change of rule base to modify
the controller parameters. Here the purpose is to maintain FUZZYBOT is assembled by two ultrasonic sensors, these
constant the rule base and change fuzzy sets size to control are located on the frontal panel, it has two servo motors
a robot tricycle named FUZZYBOT, also presents figures reformed to do left and right completely rotations, this robot
with five fuzzy sets inputs and four fuzzy sets outputs, use a emission circuit and a reception circuit supported by a
universe to these sets are modify to produce others fuzzy micro controlled target and DSP evaluation target [3].
sets according to objects around the robot; on the other
hand, motors’ robot also change its rotation to avoid crash Devices able to run speedily programs have been
always controlled by fuzzy logic system. There are shown developed, these are “the Digital Signal Processors” DSPs, its
statistical probes in order to compare numerical examples main characteristics are: micro size and processing millions
of how the performance of the controller purposed on instructions per second. It has many resources, for example:
relate to others conventional controllers in real systems serials communications, parallel ports, PWM, timers.
using this robot. Associate DSPs with intelligence artificial algorithms has
many advantages; just as run freely these programs without
Terms—Adaptive fuzzy control, fuzzy sets, intelligent computers or stronger processors, and then, these systems
control. could be probed easily on robotics applications.

I. INTRODUCTION
II. ADAPTIVE FUZZY LOGIC SYSTEM
The robotics in this moment is an important area for
different fields of science; there are many applications using Known the characteristics of FUZZYBOT, the main
robots, especially at the factories, on electro medicine and objective of this work is to achieve a free movement robot on
home services. The programs on these classes of devices are a plain area with objects inside, motors’ robot have to control
also important too. Artificial intelligence allows to develop this device through DSP orders avoid crashes, for this goal,
efficiently algorithms for robotics, for example: fuzzy logic, we have to design a AFLS “Adaptive Fuzzy Logic System”
neuronal links and genetics algorithms. But currently many algorithm. This objective permits us to deduce that the objects
application uses on theirs controller’ programs fuzzy logic distance is the most important variable like the motors
algorithms; this theory has been proved over different movements, then on our AFLS, distance is the input variable
applications, especially when the control is no linear, see [1]- and motors’ movement is the output variable.
[2]. Fuzzy logic can be described as computing with words
rather than numbers, and fuzzy control can be described as
control with sentences. It is more natural to use sentences, or
rules, for instance operator controlled plants, with the control
strategy written in terms of if-then clauses. This work presents
a new fuzzy control strategy without human intervention, this
is an adaptive fuzzy control applied in a robotic system named
FUZZYBOT. Then, it has an adaptive behaviour, this
characteristic is supported over the changes of its algorithms,
it
means to modify the program according to changing some Fig. 1. fuzzy model reference learning controller
environments circumstances, for example: “adapted its motor

Memorias STSIVA 2008 Tomo II 73 - 76


74 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

There are different types of AFLS, the first adaptive fuzzy


controller called the linguistic self-organizing controller
(SOC), see [1]; several applications of this method have been
presented. Other type of AFLS is the “fuzzy model reference
learning controller” (FMRLC)see , see fig. 1, on many
applications they have shown this method to be quite
successful. There are other adaptive fuzzy Controllers, for
example the WSAFC Wang adaptive fuzzy controller which
use Lyapunov theorem, see [4], [5]. All these methods are Fig 4. Fuzzy sets outputs
based on ruler changes (if-then, ver fig.2) and no proof
completely that these will result in a stable closed-loop system
especially for safety-critical systems. IV. RULE BASE

This rule base showing in figure 5, was finding by order to


robot has to effect movements according of objects distance,
example, if it is placed in front to a wall its motors have to
execute a go back rotation, if the robot has its sensors Very
Closed VC or near of the wall its movements’ motors have to
be Small Negative SN.

Fig. 2. Adaptive fuzzy Control and linguistic rulers

II. FUZZY SETS INPUTS AND OUTPUTS

To introduce in this fuzzy logic system is important to


know the constitutive parts of FUZZYBOT, it permits related
Fuzzy logic systems with fuzzy sets design, see [6]. The
sensors’ robot are charge to measure distance, then,
correspond to different distances one fuzzy set input as shown
in fig. 4, there are five fuzzy sets; the first correspond to
objects sense near (0 to 30 cm), other intermediately three
fuzzy sets are used to sense middle distance (30 to 50 cm),
Fig. 5. Rule base
and the fuzzy set placed on right side sense objects to far
distance (50 to 250 cm).
V. FUZZYBOT’ ADAPTIVE FUZZY CONTROL
Very Close
Change input fuzzy sets size against to change rule base[7]
Close
[8], is another form to fuzzy control system, apply to
Middle
FUZZYBOT has produced interesting results, see [9], robot
Far
achieve maximum approximation near to objects without
Very far
crashes, it is possible if input fuzzy sets depending each
situation, change their Size seems as fig. 6.

Fig. 3. Fuzzy sets inputs

Outputs are building through Weighted Average method


and correspond to singleton shape; there are four sets, fig. 3.
Small Negative
Zero
Small Positive
Big Positive. Fig. 6. Example of changes on fuzzy sets inputs
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 75

VI. STATISTICAL ANALYSIS TABLE III


P-VALUE PROVES.
If the experiment is successful, FUZZYBOT has to do free Proves Anderso Ryan- Kolmogoro
movements without crashes, maximum risk of crash happen n –Darling Joiner v
when robot is enclosed, this case is similar to find the robot is Smirnov
going to a corner (probe area, see fig 7), if robot has an P-Value
efficiently algorithm, it effects the maximum approach and go Areas 0.086 0.100 1.150
back. This experimental case was proved generating following AFLS
results: P-Value
0.050 0.100 0.150
Time AFLS
P-Value
Área
0.127 0.100 0.150
proportiona
l system
P-Value
Time
0.368 0.100 0.150
proportiona
l system
P-Value
0.2.75 0.100 1.150
Areas FLS
P-Value
0.012 0.100 0.150
Time FLS

This is a statistical comparison with both areas, (AFLS and


FLS).
Fig. 7. Prove area

95% CI for difference: (-18,2208; -16,4284)


Using an adaptive fuzzy control Robot describes
T-Test of difference = 0 (vs not =): T-Value = -38,37 P-
approximate a straight path, since start point to goal point.
Value = 0,000 DF = 97
Using a Classical fuzzy control Robot follows the wall until
the goal, path is similar to a curve.
This is a statistical comparison with both times (AFLS and
FLS).
TABLE I.
STATISTICAL PROBES USING CLASSICAL FUZZY LOGIC CONTROL. 95% CI for difference: (-2,13232; -1,52208)
Area FLS Time FLS T-Test of difference = 0 (vs not =): T-Value = -11,89 P-
Value = 0,000 DF = 95
Average 42,2 13,5
Stand.
2,30124936 0,7912893 These comparison proves presents a P-Value=0,00. These
Desv.
values indicate a big difference between each average value,
then, deduce that these values correspond to parametric
Table I and II, show results about area between of ideal
statistical; it concludes the follow results: to FUZZYBOT is
path and robot path, here we see less area and time use
better to use adaptive fuzzy control on comparison with other
adaptive Fuzzy control on comparison with classical Fuzzy
classical fuzzy systems control or proportional controls,
control.
because areas are similar than ideal and spend less time.
TABLE II.
STATISTICAL PROBES USING ADAPTIVE FUZZY LOGIC CONTROL.
Area AFLS Time AFLS VII. CONCLUDING REMARKS
Average 24,8 11,7
Adaptive fuzzy logic system programmed on FUZZYBOT,
Stand.
2,304176333 0,700644135 controls it without crash when the number of objects and their
Desv.
places on a plain area are aleatory, it is done by input
evaluation on adaptive control, system generates a constant
This values are valid on parametric statistical, if they
value (crisp set), how their rule base is also constant, this fact
complete normality prove, then, we could to conclude about
facilitates to change fuzzy to do an effective control.
this results. For instance if a P-Value is bigger than 0,005
these values studied wholly follow a statistical parametric.
76 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

Classical fuzzy controller parameters are changed to [19] AYANNA, Howard, & HOMAY-OUN Seraji, & TUNSTE Edward l. A
Rule-Based Fuzzy Traversability Index for Mobile Robot Navigation,
achieve adaptive characteristics on the fuzzy system, this IEEE International Conference on Robotics and Automation, Seoul
design is based on Velásquez, F. Torre, C. Muñoz y C. Shene Korea, Mayo 2001. http://citeseer.ist.psu.edu/howard01rulebased.html.
work, they change output sets size to control a plant; [20] KONOLIGE, K. Myers. The Saphira architecture for autonomous
mobile robots, pp. 211-242, 1998.
successful results obtained on this control permit us
[21] TIMOTHY, J. Ross.Fuzzy Logic with engineering applications.
continuing working with this class of adaptive fuzzy control, [22] MPLAB USER’S GUIDE, Microchip Technology, 2005.
see [10], [11].

Statistic analysis serves to conclude about of singulars


advantages to use AFLS on robotics systems like to
FUZZYBOT. The normally test developed by Anderson–
Darling, Ryan-Joiner and Kolmogorov Smirnov, permit us to
define types of studies that valid this method used to data
comparison [12]; finally data acquisition like a average,
standard deviation and P-value, confirm or not if Adaptive
fuzzy Logic system serve to control efficiently this robot; if
the reader sees table I and II, could to conclude that adaptive
fuzzy control is efficiently, same how our objectives were
purposed.

REFERENCES

[1] KOO, John Tak Kuen. Design of Stable Adaptive Fuzzy Control.
University of California at Berkeley, Vol. 1, pp. 1-130, 1997.
[2] PAN Lei & WOO Peng Yung. “PD Manipulador controller with
Adaptive Compensation”. Vol 1. pp. 1-43, 1996.
[3] Procesadores de señales digitales 53f8323 EVM Rev 3.0, 1/30/2004.
[4] SUGENO, M. “industrial applications of fuzzy control” El servier
Science. Vol 1, pp. 10-115, 199.
[5] TOMEI, P. “Adaptive PD Controller for Robot Manipulator”, IEEE.
[6] VELÁSQUEZ, F. Torres, C. Muñoz y C. Shene, “Control Difuso
Adaptivo y su Aplicación a una Planta Piloto de Secado por Lecho
Fluidizado”, Revista Facultad de Ingeniería de la Universidad de
Tarapaca, Información Tecnológica-Vol. 16 N°5-2005.
[7] SAFOTT,I Alan. The uses of fuzzy logic in autonomous robot
navigation., Soft Computing Vol1, pp. 180-197, 1997.
[8] WANG Li Xing. “Stable Adaptive Fuzzy Control of Non linear
Systems” IEEE Transations on fuzzy Sistems Vol. 1, No 2, pp. 146-155
mayo 1993.
[9] LEWIS, Jagan nathan & A. Yesildirek, “Neural Network Control of
Robot Manipulators and Non linear Systems”, Vol 1, pp. 56-74,
Philadelphia 1999.
[10] CALDERÓN, Dora María. Control difuso adaptable en un
servomecanismo no lineal, Vol 1, México, Noviembre de 2003.
[11] DUARTE, Oscar Germán, UNFUZZY. UNAL,1998.
[12] AYANNA, Howard, & TUNSTEL, Edward & DEAN, Edwards &
CARLSON, Alan, Enhancing Fuzzy Robot Navigation Systems, Canada,
Julio 2001.
[13] DRIANKOV, D. Hellen doorn & REINFRANK, M., “An Introduction
to Fuzzy Control ”New York 1996.
[14] JANG, S. Anfis. Adaptive Network based Fuzzy Inference Systems”,
IEEE Transactions on Systems and Cybernetics, Vol. 23, No.3, pp.665-
685,Mayo1993.
[15] KLIR, J. George & FOLGER Tina A. Fuzzy Sets Uncertainty and
Information, Vol 1, pp. 22-54 New York 1992.
[16] DRIANKOV, D. & HELLENDORN, H. Fuzzy Logic with Unless –
Rules. Report IDA-RKL-92TR50
[17] Transaction on Automatic Control, Vol 7, No. 4pp. 565-570, 1991.
[18] AYANNA Howard, HOMAYOUN Seraji A. Real-Time Autonomous
Rover Navigation System , In Proc. of the World Automation Congress,
2000. http://robotics.jpl.nasa.gov/people/tunstel/papers/ifsa_nafips01.pdf
.
Detección de de
Detección características geométricas
características sobre
geométricas imágenes
sobre 2D,
imágenes
empleando
2d, empleandotécnicas dede
técnicas momentos
momentosinvariantes
invariantes
1
Hugo de Jesús.
Hugo Mesa
de Jesús. Yepes,
Mesa JuanCarlos
Yepes, Juan Carlos Albornoz
Albornoz Barrios
Barrios y Jhon
y Jhon William
William Branch Branch
Bedoya1 Bedoya

geométricos e invariantes, el cual permite realizar la detección


Resumen— En este artículo se presenta el diseño e de objetos geométricos presentes en imágenes digitales,
implementación de un sistema automático para la detección y minimizando la cantidad de información requerida, el tiempo
extracción de características geométricas sobre imágenes 2D, y los recursos de procesamiento. Por último se presenta el
empleando técnicas de procesamiento digital y un modelo de proceso de validación del sistema, el cual reporta una
decisión matemático basado en comparación y clasificación de
eficiencia del 89% a 90 % en los procesos de reconocimiento.
datos (K Medias). El sistema está constituido por un detector de
imágenes, y unos detectores de características. El detector de
características geométricas de las imágenes se ha desarrollado II. TÉCNICAS DE RECONOCIMIENTO DE OBJETOS BASADAS EN
con los métodos de momentos invariantes, momentos de MOMENTOS
Legendre y descriptores de Fourier. Los datos utilizados en el
proceso de reconocimiento, son las invariantes de las imágenes. Para llevar a cabo la detección y el reconocimiento de objetos
El sistema de decisión determina un valor que corresponde a la presentes en imágenes 2D, se propone un procedimiento que
identificación de la imagen. El sistema fue probado en el proceso consta de 5 etapas.
de detección de múltiples imágenes geométricas, tales como
triángulos, círculos y rombos, entre otros. Se lograron resultados A. Adquisición de la imagen
que se encuentran sobre un 90% de eficiencia. En esta etapa, se captura la imagen, usando dispositivos
como cámaras o escáner; el proceso debe realizarse bajo
Palabras clave— Reconocimiento de objetos, momentos condiciones estándar de adquisición. Adicionalmente, las
geométricos, invariantes, vector de características imágenes pueden ser leídas desde archivos en diferentes
formatos, las imágenes pueden ser reales o sintéticas.
I. INTRODUCCIÓN
B. Segmentación por binarización y generación de la

E n los procesos de visión por computador, uno de los


aspectos de mayor relevancia es la identificación de de los
objetos presentes en las imágenes; este proceso se ha
matriz de datos
En este, se transforma el valor del color de cada pixel de la
imagen en blanco y negro, conservando sus características
estudiado ampliamente y se han diseñado diferentes técnicas,
esenciales. Para esto, se transforman la imagen de color a
entre las cuales podemos citar las basadas en redes neuronales
tonos de gris, aplicando (1), en la cual R, G y B son las
[1], los de reconocimiento estadístico [2], los basadas en
algoritmos evolutivos [3] y técnicas centradas en los procesos componentes de color del pixel, el valor de gris I, obtenido, se
de extracción de características [4]. Todas estas técnicas somete a la función escalón unitario establecida en (2).
permiten la identificación de los objetos presentes en una I = 0.3 * R + 0.59 * G + 0.11 * B (1)
imagen, con mayor o menor grado de certeza. La detección de
 255 si I ( x, y ) > u (2)
característica sobre imágenes 2D por medio de técnicas f ( x, y ) = 
computacionales es un proceso arduo y complejo, en el cual se 0 si I ( x, y ) ≤ u
involucra una gran cantidad de tiempo, datos y recursos de El valor del umbral u, depende de las características de
máquina, cuando este proceso se realiza por medio de técnicas
adquisición y de la escena misma. En la mayoría de los casos,
tradicionales, como métodos estadísticos o redes neuronales.
el valor 127 produce resultados adecuados. La imagen
resultante es convertida en una matriz numérica en la cual el
En el artículo, se presentan los métodos para la extracción de
características de objetos mediante la técnica de momentos valor de cada pixel en la coordenada (x, y), se transforma en
un valor de 1 si el punto es negro y 0 si el punto es blanco.

Hugo de Jesús Mesa Yepes. Docente Tiempo Completo, Institución C. Cálculo de Momentos
Universitaria de Envigado IUE. M.Sc (c) en Ingeniería de Sistemas – Los momentos geométricos han sido ampliamente usados
Ingeniero Geólogo. Coordinador Grupo de investigación en Sistemas
Inteligentes – IUE (e-mail: hdjmesa@iue.edu.co).
en el análisis de formas, el reconocimiento de patrones y en el
análisis de texturas [5], [6], [7]. La teoría de los momentos
Juan Carlos Albornoz Barrios. Ingeniero de sistemas. Miembro del grupo de proporciona una interesante y útil alternativa para la
investigación en sistemas inteligentes de la Institución Universitaria de
representación de formas de objetos según Fu-K (1980) [8], a
Envigado. (e-mail: jcalbornoz@gmail.com).
la vez que permite realizar procesos de reconocimiento de
Jhon William Branch Bedoya. Docente Tiempo Completo, Universidad
Nacional de Colombia – Sede Medellín. Ingeniero de Minas y Metalurgia,
objetos[9], [10], [11].
M.Sc en Ingeniería de Sistemas. PhD. en Ingeniería (e-mail: Para una región en un plano, definida por el conjunto de
jwbranch@unalmed.edu.co). puntos tales que f(x, y)> 0, se define el momento de orden pq
mediante la ecuación (3) y en el caso de imágenes digitales,

Memorias STSIVA 2008 Tomo II 77 - 80


78 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

por tratarse de objetos con valores discretos, el momento de centrales normalizados. En las ecuaciones, se ha simplificado
orden pq se obtiene mediante la ecuación (4).: la notación por razones de presentación, en estas los
  = ∫∫                =       (3) momentos centrales normalizados mncpq se representa como
Npq.
m pq = ∑ ∑x p
y q f ( x, y ) (4) I 1 = N 20 + N 02 (10)
x y

Para p, q= 0, 1, 2… I 2 = ( N 20 − N 02 ) 2 + 4( N 11 ) 2 (11)
f(x, y) es la matriz conformada por 0 y 1 de la imagen binaria.
I 3 = ( N 3, 0 − 3 N 1, 2 ) 2 + (3 N 2,1 − N 0,3 ) 2 (12)
1) Momentos simples:
Los momentos simples pueden ser calculados hasta I 4 = ( N 3, 0 + N 1, 2 ) 2 + ( N 2,1 + N 0,3 ) 2 (13)
cualquier orden aplicando (4) pero para el reconocimiento de
I 5 = ( N 30 − 3 N 12 )( N 30 + N 12 )[( N 30 + N 12 ) 2 − 3( N 21 + N 03 ) 2 ] (14)
[ ]
objetos, es suficiente con la determinación de los momentos
hasta el orden 3. Los momentos simples representan el área + (3 N 21 − N 03 )( N 21 + N 03 ) 3( N 30 + N 12 ) 2 − ( N 21 + N 03 ) 2
ocupada por el objeto en la imagen, por esta razón, pueden ser [
I 6 = ( N 20 − N 02 ) ( N 03 + N 12 ) 2 − ( N 21 + N 03 ) 2 ] (15)
usados para el reconocimiento de objetos, independientemente
+ 4 N 11 ( N 30 + N 12 )( N 21 + N 03 )
de que este se encuentre invertido o en posición normal.
[
I 7 = (3 N 21 − N 03 )( N 30 + N 12 )( N 30 + N 12 ) − 3( N 21 + N 03 )
2 2
] (16)
)[3(N )]
2) Momentos centrales:
+ (3N 12 − N 30 )( N 21 + N 03 + N 12 ) − ( N 21 + N 03
2 2
Se calculan mediante la aplicación de (5), (6) y (7), estos 30

dependen de los momentos simples, los cuales son usados para


la obtención del centroide X y Y, que son requeridos para el E. Reconocimiento de Figuras Geométricas.
cálculo del momento central. Los momentos centrales se Con las invariantes calculadas, se genera un vector de
invariantes a la posición y orientación del objeto en un eje de características dado por (17), el cual se somete al proceso de
coordenadas. Para calcular el centro de masas se utilizan los identificación, realizado mediante al algoritmo de
momentos simples de orden 1 y de orden 0. clasificación de K-Medias. En este proceso se tienen dos
_ m (5) etapas, una de aprendizaje y la otra de reconocimiento.
x = 10
m00
1) Etapa de aprendizaje
_ m (6)
y = 01 Para esta, se selecciona un conjunto representativo de los
m00 objetos a aprender, organizados en clases (objetos iguales
sometidos a diferentes transformaciones), se calculan los
Obtención de los momentos centrales:
_ _
invariantes para cada uno de ellos y se construye un vector de
(7)
mc pq = ∑ ∑ ( x − x) p
( y − y ) q f ( x, y ) características con los valores de las siete invariantes; el
x y vector de características tendrá la estructura mostrada en (17).
Para p, q= 0,1, 2,… X = {I1 , I 2 , I 3 , I 4 , I 5 , I 6 } (17)
Donde:
3) Momentos centrales normalizados.
X: Vector de características de cada objeto,
Los momentos centrales normalizados se calculan mediante Ik: k-esima invariante del objeto
(8) y (9). Estos se utilizan para el reconocimiento de objetos
independientemente de su tamaño. Para el conjunto de vectores de características de objeto a
mc pq (8) ser entrenado, se aplica el algoritmo de K-Medias, el cual
mcn pq = β identifica los centros y radios de cada clase.
mc00
Donde: Los centros Ck de clase se usarán en la etapa de
mc son los momentos centrales y reconocimiento. Estos valores no son inmutables, por el
 p+q (9)
β =  +1 contrario, pueden ser reajustados a medida que se identifican
 2 
errores en la etapa de reconocimiento.
Después de haber calculado estos tres componentes se
hallan las 7 invariantes aplicando las fórmulas (10) a (16). 2) Etapa de reconocimiento
Se realiza mediante la aplicación del algoritmo de K-Medias
D. Determinación de invariantes. sobre el vector de características del objeto a ser reconocido.
Este método toma el vector de características de la imagen a
Estas características se mantienen invariantes ante cambios
ser reconocida y calcula las distancias respecto a las clases
tales como posición, rotación y escala, por esta razón, son
patrón (Ck). El objeto se clasifica como perteneciente a la
elementos de gran utilidad en el reconocimiento de objetos. clase respecto a la cual se reportó la menor distancia. El
Las invariantes se calculan mediante las ecuaciones (10) a algoritmo de reconocimiento incluye los siguientes pasos:
(16), que a su vez se basan en los valores de los momentos
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 79

• Paso 1. Seleccionar imagen.


• Paso 2. Convertir la imagen en 0 y 1.
• Paso 3. Extracción del vector de características. Figura 3. Figuras del conjunto de entrenamiento
• Paso 4. Cálculo de distancias del vector de
características a las clases patrón y selección de la
B. Imágenes para evaluación
clase a la cual pertenece.
El proceso de evaluación se realizó de dos formas
La figura 1 ilustra el diagrama del algoritmo propuesto para el diferentes. En el primer conjunto de imágenes de evaluación,
reconocimiento de imágenes. se construyó un total de 156 nuevas imágenes, mediante la
transformación geométrica de las clases base usadas en el
proceso de entrenamiento, como una forma de incrementar el
nivel de complejidad del proceso de reconocimiento, se
retocaron algunas imágenes agregando nuevos pixeles negros
fuera del área del objeto o borrando algunos pixeles de los
objetos presentes. En la figura 4, se muestra una parte del
conjunto de evaluación resultante para el primer conjunto de
evaluación.

Figura 1. Diagrama del algoritmo para el reconocimiento de objetos.

Cuando un objeto es clasificado en forma incorrecta, se


determina manualmente la clase a la cual pertenece el objeto y
se realizarse un proceso de reentrenamiento del clasificador,
incrementándose el nivel de eficiencia del sistema.

III. VALIDACIÓN DEL PROCEDIMIENTO


Figura 4. Conjunto de imágenes de evaluación conformado a partir de las
Para la validación del método, se construyó una aplicación clases base
en lenguaje C#, en el cual se implementaron los procesos de
Para la conformación del segundo conjunto de imágenes de
captura, extracción de características, entrenamiento y
evaluación, se tomó el creado en la fase anterior y se
evaluación. En esta aplicación, se realizaron pruebas con 169
incluyeron un total de 12 nuevas imágenes, correspondientes a
imágenes sintéticas de 200x200 pixeles, que contienen figuras
3 nuevas clases que no fueron incluidas en el proceso de
geométricas simples. El conjunto de prueba del sistema,
entrenamiento. En la figura 5 se muestran las tres nuevas
consta de 169 imágenes de figuras geométricas 2D tales como
clases incluidas para evaluación y en la figura 6 se presenta
cuadrado, rectángulo, triángulo, cruz, círculo, entre otras.
parte del nuevo conjunto de imágenes de evaluación.

A. Clases principales e imágenes de entrenamiento


Se utilizaron figuras geométricas tales como cuadrado, Figura 5. Nuevas clases adicionadas al segundo conjunto de evaluación
rectángulo y triángulo, entre otros, para la conformación de las
clases principales; en la figura 2 se muestran algunas de las
imágenes usadas como clase principal.

Figura 2. Figuras de las clases

Las imágenes de las clases principales fueron sometidas a


transformaciones geométricas tales como translación, rotación
y escalado, generándose un total de 12 nuevas imágenes para
cada clase. En la figura 3 se muestran algunas de las
Figura 6. Segundo conjunto de imágenes de evaluación, incluye imágenes
transformaciones para los objetos de la figura 2. Las 169 con transformaciones de las 3 nuevas clases
imágenes resultantes, se sometieron al proceso de
entrenamiento de extracción de características y entrenamiento C. Reconocimiento de objetos
del sistema. Los resultados de la evaluación para el primer conjunto de
imágenes se muestran en la tabla I, de estos resultados se pude
encontrar que la efectividad del sistema es del 90%,
80 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

reconociendo en forma correcta 140 de las 156 imágenes. Las tiempo requerido para los procesos de lectura de imágenes y
imágenes que presentaron inconsistencias se analizaron y se extracción de características.
encontró que el fallo se produce con imágenes de círculos y
rectángulos que son identificados como cuadrados, esta El uso de los momentos geométricos y las invariantes, son
situación se presenta en aquellos casos en que el tamaño de los una excelente alternativa para la implementación de sistemas
objetos se ha reducido en más de un 70% y se presentan de reconocimiento de objetos e incluso pueden ser usadas en
deformaciones en el contorno de la imagen. forma eficiente para otro tipo de tareas tales como la
segmentación e interpretación de imágenes, pero deben ser
TABLA I usadas con mucho cuidado, ya que los valores de las
EFECTIVIDAD DEL SISTEMA CON 156 IMÁGENES DE PRUEBAS. CONJUNTO DE
EVALUACIÓN 1
invariantes pueden presentar valores similares para objetos
diferentes.
Evaluación No. Imágenes %
Reconocida correctamente 140 90%
Reconocida en forma incorrecta 16 10% Los sistemas de reconocimiento de objetos basados en
invariantes, presentan una eficiencia alta, lo cual los hace una
alternativa viable para su implementación en diferentes
En el segundo conjunto de evaluación, en el cual se aplicaciones tales como el control de procesos industriales
conservaron las 156 imágenes del conjunto 1 y se agregaron
basados en imágenes, la identificación de características en
12 nuevas imágenes pertenecientes a tres nuevas clases, se
imágenes médicas, la compresión de imágenes, entre otras.
encontró un incremento en el porcentaje de imágenes
clasificadas erróneamente, pero esto coincidió con lo que se
esperaba como respuesta del sistema, ya que las tres nuevas REFERENCIAS
clases no fueron incluidas en el proceso de entrenamiento. [1] C. M. Bishop, Neural Networks For Pattern Recognition. Oxford, U.K.:
Para este caso se reportaron un total de 28 imágenes Clarendon, 1996.
reconocidas en forma incorrecta y 140 reconocidas en forma [2] Anil K. Jain , Robert P. W. Duin , Jianchang Mao, Statistical Pattern
correcta, lo cual implica una efectividad de un 83% del Recognition: A Review, IEEE Transactions on Pattern Analysis and
Machine Intelligence, v.22 n.1, p.4-37, January 2000
sistema. En la tabla II se muestran estos resultados. [3] Forrest, S., Javornik, B., Smith, R., and Perelson, A. (1993). Using
genetic algorithms to explore pattern recognition in the immune system.
TABLA II Evolutionary Computation, 1(3):191-211..
EFECTIVIDAD DEL SISTEMA CON 168 IMÁGENES DE PRUEBAS SIN [4] Toru Wakahara , Yoshimasa Kimura , Akira Tomono, Affine-Invariant
REENTRENAMIENTO. CONJUNTO DE EVALUACIÓN 2 Recognition of Gray-Scale Characters Using Global Affine
No. Transformation Correlation, IEEE Transactions on Pattern Analysis and
Evaluación % Machine Intelligence, v.23 n.4, p.384-395, April 2001.
Imágenes
[5] S. A. Dudani, K. J. Breeding and R. B. Mcghee, Aircraft identication by
Reconocida correctamente 140 83% moment invariants, IEEE Transactions on Computers, 28(1):39-46,
Reconocida en forma incorrecta 28 17% 1977.
[6] A. Sluzek, Using moment invariants to recognize and locate partially
occluded 2D objects, Pattern Recognition Letters, 7:253-257, 1988.
Tras el proceso de evaluación, se incluyeron las nuevas
[7] Z. Mingfa, S. Hasani, S. Bhattaria and H. Singh, Pattern recognition
clases al conjunto de entrenamiento, con este se reentrenó el with moment invariants on a machine vision system, Pattern
sistema de clasificación y se repitió el proceso de evaluación Recognition Letters, 9:175-180, 1989.
con las imágenes del conjunto de evaluación 2. [8] Fu, K., Picture analysis, en Chang S.K. and Fu K.S. eds. Pictorial
information systems, Springer Verlag, 104-127, 1980.
[9] González, J., Visión por computador, Paraninfo, 1999.
En la tabla III, se presentan los resultados de la evaluación [10] Pratt W., Digital Image Processing. Wiley-Interscience, 1991.
con el sistema entrenado para el reconocimiento de las nuevas [11] Trucco, E. and Verri, A. (1998), Introductory techniques for 3-D
computer vision, Prentice Hall, 1998.
clases. En este se encontró que el sistema presenta una [12] Pajares, G. and Cruz, J., Formas a partir de X, Revista Electrónica de
efectividad del 89%, reconociendo en forma correcta 140 de Visión por Computador, 2000.
las 168 imágenes del conjunto de evaluación. [13] Escalera, Arturo, Visión por Computador Fundamentos y Métodos,
Prentice Hall, Universidad Carlos III de Madrid, Pág. 251-263, 2001.
[14] Faugeras, O., and Luong, Q., The Geometry of Multiple Images, The
TABLA III MIT Press, Cambridge Massachusetts, London, England, 2001.
EFECTIVIDAD DEL SISTEMA CON 168 IMÁGENES DE PRUEBAS Y EL SISTEMA [15] Haralick, R., Shanmugam and Dinsteian, I., Textural features for image
REENTRENADO. CONJUNTO DE EVALUACIÓN 2 classification, IEEE Trans. on Systems, Man and Cybernetics, vol. 3,
No. 610-621, 1973.
Evaluación % [16] Haralick, R., and Shapiro, L., Computer and Robot Vision, Volume I
Imágenes
Reconocida correctamente 150 89% and II, Addison-Wesley Publishing Company, Inc. 1993.
Reconocida en forma incorrecta 18 11% [17] Haralick, R.M., Stemberg S.R., and Zhuang X. Image analysis using
mathematical morphology IEEE transactions on Pattern Analysis and
Machine intelligence, 9(4): 532-550, 1987.

IV. CONCLUSIONES
El desarrollo de un sistema de reconocimiento de objetos se
hace muy complejo debido a la necesidad de utilizar conjuntos
de datos muy grandes para los procesos de aprendizaje y al
Reconocimiento de expresiones faciales combinando
métodos Kernel e ICA
Reconocimiento de expresiones faciales
combinando métodos Kernel e ICA
Damián A. Álvarez, Juan G. Fetecua, Julián D. Echeverry, Álvaro A. Orozco

Damián A. Álvarez, Juan G. Fetecua, Julián D. Echeverry, Álvaro A. Orozco

lineal de los datos en un espacio característico utilizando


Abstract— The facial expressions give the most information métodos Kernel [4-6], de esta forma el problema se convierte
content of a spoken message, hence the importance of creating en aplicar ICA en el espacio transformado Kernel. Estudios
systems for automatic recognition. This paper claim a como [7-8] han combinado con éxito kernel e ICA (KICA)
experimental methodology for facial expression recognition para el reconocimiento de rostros, en este trabajo se pretende
based on Kernels, finding the projection directions in feature
probar esta metodología para la tarea de reconocimiento de
space through independent component analysis (ICA), who have
direct application in research of emotional behavior, cognitive
expresiones faciales.
processes and social interaction. The methodology validation was
done on international databases such as the CMU and Este documento esta organizado de la siguiente manera, en
FEEDTUM. Image preprocessing was done through histogram la Sección II se presenta una breve revisión de Kernels e ICA,
equalization in order to homogenize lighting conditions, a en la Sección III se plantea la metodología a usar, en la
whitening step on mapped data take place with ICA based on Sección IV se expone el experimento realizado, en la Sección
Kernel Principal Component Analysis (KPCA) for that in feature V se muestran y se discuten los resultados y por último se
space the data structure was lineal, finally we applied ICA for presentan las conclusiones en la Sección VI.
make the projected distribution of data is at least possible
Gaussian. It is to be expected that the method proposed has a
II. REVISIÓN DE KERNELS E ICA
better performance than conventional techniques who are
inherently linear.
A. Kernels
Index Terms— Facial expressions, ICA, Kernel, KICA. Considere un grupo de datos x ∈ � N , un Kernel k se
presenta como una medida de similitud que puede ser vista
I. INTRODUCCIÓN como un producto punto del mapeo φ en un espacio

L OS seres humanos expresan sus emociones de diversas


maneras, siendo la más universal de estas las expresiones
faciales. Aunque el reconocimiento de estas expresiones
característico H de la forma,

φ : �N → H
es natural para los seres humanos, dotar a una máquina de esta (1)
habilidad resulta bastante difícil [1]. Dos tipos de problemas x → φ ( x)
tienen que ser resueltos para llevar a cabo esta tarea:
extracción de características y clasificación de la expresión donde se define el Kernel como la función equivalente a:
facial. Este documento se enfoca en la representación de las
imágenes en dos espacios: análisis de componentes principales k (x, x' ) = φ (x), φ (x' ) (2)
(PCA) y KPCA (en donde se realiza un mapeo Kernel para
conseguir que los datos tengan estructura lineal), seguida de
una transformación ICA que busca la no correlación entre Considere que tiene x1 , x 2 ,… , x m ∈ X , la matriz de Gram ó
datos. matriz Kernel de m × m elementos se define por:

Inicialmente ICA surgió para resolver el problema de K ij = k (xi , x j ) (3)


separación ciega de fuentes y posteriormente fue aplicado a la
tarea de extracción de características, estudios como [2-3]
consideran de utilidad para la clasificación de rostros y La cual es definida positiva y simétrica. Así cualquier
expresiones, la transformación ICA. El problema de ICA se función que cumpla esta condición y pueda representarse por
presenta al tratar de separar mezclas de fuentes no-lineales un producto punto, puede ser utilizada como Kernel [4],
debido a su inherente linealidad. En la extracción de donde no es necesario conocer el mapeo para obtener la
características el ICA basado en proyecciones lineales puede representación de los datos en el espacio característico. Entre
no representar acertadamente los datos con estructura no las principales funciones Kernels se tienen, el Kernel
lineal. Para sobrellevar este problema, se aplica un mapeo no Gaussiano [9]:

Este documento surge como resultado parcial del proyecto aprobado por
COLCIENCIAS en la convocatoria 370 del 2006 con código 111037019600.

Memorias STSIVA 2008 Tomo II 81 - 84


82 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

⎛ ' 2 ⎞ orden en que las componentes son estimadas, c es una


⎜ x−x ⎟
⎜ ⎟
⎜ 2σ
2
⎟ constante arbitraria, v es una variable Gaussiana aleatoria, yi
k (x, x ) = e
' ⎝ ⎠
(4) también es una variable aleatoria y ambas se asumen de media
cero y varianza unitaria.
donde σ > 0 y el Kernel polinomial no homogéneo:
Lo primero que se debe hacer es encontrar las componentes
independientes maximizando la expresión:
( )
d
k (x, x' ) = a x, x' + c (5)

J G ( W ) = ⎡⎣ E { E ( WT X)} − E {G (v)}⎤⎦
2
(9)
donde d ∈ ` , a, c ≥ 0 .

Donde W es un vector de pesos restringido a que:


B. ICA

El problema que intenta solucionar ICA puede formularse


en notación matricial, mediante la ecuación (6):
{
E ( WT X )
2
} =1 (10)

Lo segundo, es extender el uso de una función objetivo


X = AS (6) unitaria para calcular todo el arreglo W. Para hacer esto la
información mutua es minimizada cuando la suma de la
donde A es la denominada matriz de mezcla (desconocida). negentropía de las componentes transformadas es
El problema consiste en recuperar el vector de fuentes S, maximizada, además se considera la restricción de no
disponiendo, únicamente, de un vector de N observaciones X; correlación para obtener el problema:
es decir, el objetivo es calcular una matriz de pesos W, la cual n

es la inversa de A con algunos cambios en escala y max ∑ J G ( w i )


permutaciones, de modo que se pueda recuperar las señales i =1 (11)
independientes originales como: E {( w X )( w X )} = δ
T
k
T
j kj

U = WX (7)
Maximizando (11) se obtiene cada uno de los vectores wi
Entre los primeros algoritmos para aproximar ICA se que conforma cada una de las filas de la matriz W , con la
encuentra el de Bell y Sejnowsli [10] conocido como cual se calcula la transformación ICA, dada por (7).
Infomax, ya que se basa en el principio de maximización de
información. Debido a que este algoritmo no fuerza Para maximizar la función objetivo se usa el algoritmo
estrictamente una no correlación completa de los datos, su iterativo fixed point, este tiene propiedades de convergencia
resultado puede no ser exactamente una transformación deseables y encuentra componentes independientes de
ortonormal de los datos blanqueados. Con el fin de cumplir la prácticamente cualquier distribución no Gaussiana [11].
restricción de ortogonalidad en forma exacta Hyvärinen, [11],
introdujo un algoritmo ICA usando un simple y eficiente Como se ha expuesto los algoritmos ICA parten de una
esquema de iteración denominado fixed point algorithm, regla de actualización de pesos, obtenida mediante
como su algoritmo presentó una convergencia más rápida se le maximización de una función objetivo, lo que no se ha dicho
denominó FastICA. En este estudio se utilizará el segundo es que estos incluyen un paso previo al aprendizaje conocido
algoritmo, ya que como se expone en [12] con FastICA es como sphering con el fin de reducir las estadísticas de primer
posible realizar una transformación ortonormal de los datos. y segundo orden de los datos. La media de las filas de X son
sustraídas y seguidamente X es pasado a través de una matriz
El algoritmo FastICA usa una nueva función objetivo para de blanqueamiento dada por:
estimar la transformación ICA, a diferencia de la
( )
1 − 1

Wz = 2 ( Cov ( X) )

aproximación realizada con Infomax, este algoritmo 2 = 2 XXT 2 (12)


maximiza cualquier función de costo de la forma de la
expresión (8) y no solo la entropía, para maximizar la Cuando las entradas a ICA son los datos que han pasado
independencia, lo que hace de este método una forma más por este paso previo, la matriz de transformación es
general de maximización.
Wi = WWz .
J = c[ E {G ( yi )} − E {G (v)} ]
2
(8) III. METODOLOGÍA KICA

donde G es una función no cuadrática que en la práctica es Dado un vector aleatorio x, el cual es posiblemente una
elegida de forma que sea rápida de calcular y que considere el
mezcla no lineal, se realiza el mapeo no lineal de este a un
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 83

espacio característico de mayor dimensión H, a partir de la y = M Λ −1V T QT φ (x)


ecuación (1). Se busca encontrar la transformación ICA en el
espacio característico mediante el operador lineal = M Λ −1V T [k (x1 , x), k (x 2 , x),… , k (x M , x)]T (20)
φ
W siguiendo la transformación: = M Λ −1V T K x
s = Wφ φ ( x ) (13) Para que la estimación de ICA sea más simple y mejor
φ
donde W es una matriz. condicionada es necesario que el vector Kernel K x tenga sus
datos centrados, si C M = (1/ M ) M ×M y C1 = (1/ M ) M ×1
En la metodología KICA, también es necesario realizar una
etapa previa de blanqueamiento de los datos, pero a diferencia se tiene:
de ICA esta no se calcula con la matriz de covarianza si no
usando métodos Kernel, para esto se asume que se tiene un � = K − C K − KC + C KC
K (21)
x x M x 1 M 1
conjunto de datos x1 , x 2 ,… , x m ∈ � N y se realiza su mapeo al
espacio característico donde se debe garantizar: Por lo tanto la ecuación (20) queda de la forma:

M

y = M Λ −1V T K
∑ φ (x
j =1
j )=0 (14) x (22)

En resumen la transformación ICA de (13) en el espacio de


Sea Q = [φ (x1 ), φ (x 2 ),… , φ (x M )] la matriz de características puede ser descompuesta en dos etapas:
blanqueamiento mediante KPCA, dado por la ecuación (22) y
covarianza en el espacio característico H se define por [13]:
la transformación ICA (en el espacio KPCA blanqueado) dada
por la siguiente expresión [8]:
1
sφt = QQT (15)
M s = Wy (23)

La matriz Kernel se determina por medio de: IV. EXPERIMENTO REALIZADO

K = QT Q (16) La metodología expuesta inicialmente para el


reconocimiento de rostros, fue probada para la tarea de
En virtud de los métodos Kernel es posible encontrar cada reconocimiento de expresiones faciales sobre imágenes con
uno de los componentes de K sin necesidad de determinar el realce de contraste (mediante ecualización del histograma) de
operador φ (⋅) , de la forma: subconjuntos de imágenes de las bases de datos CMU [14] y
FEEDTUM [15], sin considerar y considerando sujetos que
usan gafas (oclusiones), utilizando el clasificador del vecino
K ij = φ (xi )T φ (x j ) = k ( xi , x j ) (17) más cercano y usando el esquema de validación cruzada,
seleccionando en forma aleatoria los conjuntos de
entrenamiento y validación para 30 casos. De ambas bases de
A partir de los valores propios λi y vectores propios γi de datos se clasificaron por pares cuatro distintas clases de
la matriz K se define: expresiones (alegría A, tristeza T, enojo E y sorpresa S).

V = (γ 1 , γ 2 ,… , γ m ) y Λ = diag (λ1 , λ2 ,… , λm ) (18) La aplicación de ICA a imágenes se realizará de la forma en


que se propone en [2], donde se plantea que esta aplicación
puede hacerse a través de dos arquitecturas: tratando las
Con estos vectores es posible realizar el blanqueamiento de imágenes como variables aleatorias y los píxeles como
los datos, siguiendo la expresión: observaciones (ARQI) o tratando los píxeles como variables
aleatorias y las imágenes como observaciones (ARQII), en
y = PT φ ( x) (19) este experimento se compararán ambas con el fin de
determinar que tipo de información es de mayor utilidad para
la tarea planteada.
Puesto que el mapeo se realiza implícitamente la ecuación
(19) se calcula como: V. RESULTADOS
Como se mencionó es necesario determinar la forma más
apropiada en que se aplica ICA a imágenes (tipo de
arquitectura) para la tarea planteada y adicionalmente se debe
84 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

identificar que tipo de kernel (polinomial o Gaussiano) genera VI. CONCLUSIONES


un mejor desempeño del algoritmo KICA.
Se desarrolló una metodología efectiva para el
En la tabla I se presentan los resultados para la base de reconocimiento de expresiones faciales utilizando ICA y
datos CMU con ambas arquitecturas para kernel de tipo
KICA, encontrando que para esta tarea la arquitectura II con
polinomial (mejor función kernel).
un kernel polinomial fue la mejor forma de aplicar el
algoritmo KICA, mientras que la arquitectura I funcionó
TABLA I
mejor para el algoritmo ICA.
RECONOCIMIENTO DE PARES DE EXPRESIONES SOBRE LA BASE DE DATOS CMU
Expre- KICA ARQI ICA ARQII KICA Los resultados encontrados sugieren que el desempeño de la
ICA ARQI
sión ARQII metodología implementada esta relacionado al tipo de
E-S 91.66 ± 0.53 90.83 ± 0.49 54.44 ± 0.71 95.83 ± 0.35
arquitectura sobre el cual se aplican los métodos a las
A-S 95.00 ± 0.42 90.00 ± 0.64 58.05 ± 0.76 96.66 ± 0.31
S-T 93.61 ± 0.50 89.16 ± 0.57 57.77 ± 0.80 94.72 ± 0.39 imágenes para la tarea de reconocimiento de expresiones.
A-E 94.72 ± 0.43 83.33 ± 0.69 57.50 ± 0.82 86.11 ± 0.56
E-T 86.11 ± 0.63 77.77 ± 0.64 52.50 ± 0.79 80.27 ± 0.63
A-T 88.33 ± 0.58 82.50 ± 0.62 52.50 ± 0.81 93.33 ± 0.41
AGRADECIMIENTOS
Como se observa el algoritmo KICA utilizando la
Esta investigación fue realizada gracias al apoyo del grupo
arquitectura II presentó un mejor desempeño, aunque el
de investigación en Control e Instrumentación de la
algoritmo ICA en la arquitectura I obtuvo mejores resultados
para dos casos. Además el algoritmo KICA se ve menor Universidad Tecnológica de Pereira en el marco del proyecto
afectado por el tipo de arquitectura al ser comparado con ICA. COLCIENCIAS código 111037019600.

A continuación se implementaron los mejores métodos para REFERENCES


la base de datos FEEDTUM (tabla II). [1] Y. Tian, T. Kanade, J. Cohn. Recognizing Action Units for Facial
Expression Analysis, IEEE Transactions on Pattern Analysis and
Machine Intelligence, Vol. 23, No. 2, 2001.
TABLA II [2] M. S. Bartlett, “Face image analysis by unsupervised learning and
RECONOCIMIENTO DE PARES DE EXPRESIONES SOBRE FEEDTUM redundancy reduction,” Ph.D. dissertation, 1998, chair-Donald I.
Expre- KICA Macleod.
ICA ARQI [3] G. Donato, M. S. Bartlett, J. C. Hager, P. Ekman, and T. J. Sejnowski,
sión ARQII
“Classifying facial actions”, IEEE Transactions on Pattern Analysis and
E-S 99.71 ± 0.05 99.56 ± 0.04
Machine Intelligence, vol. 21, no. 10, pp. 974_989, 1999.
A-S 99.66 ± 0.04 99.90 ± 0.02
[4] B. Schölkopf and A.J. Smola, Learning with Kernels, MIT Press,
S-T 99.36 ± 0.07 99.85 ± 0.02
Cambridge, MA, 2002.
A-E 97.30 ± 0.53 99.80 ± 0.03
[5] F.R. Bach, M.I. Jordan, Kernel independent component analysis, J.
E-T 99.51 ± 0.05 99.65 ± 0.05
Mach. Learn. Res. 3 (2002) 1–48.
A-T 99.75± 0.04 99.95 ± 0.01
[6] T. Martiriggiano, M. Leo, P. Spagnolo, Dapos, and T. Orazio, _Facial
Con la base de datos FEEDTUM se puede observar que se feature extraction by kernel independent component analysis,_ AVSS.
obtienen mejores porcentajes de acierto en la clasificación, IEEE Conference on Advanced Video and Signal Based Surveillance.,
pp. 270_275, 2005.
esto se debe a que dicha base de datos está mejor etiquetada y [7] T. Martiriggiano, et. al. Face Recognition by Kernel Independent
contiene una mayor cantidad de imágenes por sujeto. Component Analysis. CNR- ISSIA via Amendoda 122/D-I, Italy 2005.
[8] Yang, X. Gao, D. Zhang, and J. Yang, “Kernel ica: An alternative
Por último se consideraron casos de oclusiones con el fin de formulation and its application” to face recognition,” Pattern
Recognition, vol. 38, no. 10, pp. 1784_1787, 2005.
observar el funcionamiento de los mejores métodos. [9] C. Campbell, “Kernel methods: a survey of current techniques,” 2000
[10] A. J. Bell and T. J. Sejnowski, “An information maximization approach
TABLA III to blind separation and blind deconvolution,” Neural Computation, vol.
RECONOCIMIENTO DE PARES DE EXPRESIONES SOBRE FEEDTUM 7, no. 6, pp. 1129–1159, 1995.
[11] A. Hyvärinen, “Fast and robust fixed-point algorithms for independent
Expre- KICA
ICA ARQI component analysis,” IEEE Transactions on Neural Networks, vol. 10,
sión ARQII
no. 3, pp. 626–634, 1999.B.
E-S 99.79 ± 0.03 99.87 ± 0.01
[12] M. A. Vicente, P. O. Hoyer, and A. Hyvarinen, Equivalence of some
A-S 97.69 ± 0.56 99.79 ± 0.02
common linear feature extraction techniques for appearance-based object
S-T 99.58 ± 0.05 99.83 ± 0.03
recognition tasks, IEEE Trans. Pattern Anal. Mach. Intell., vol. 29, no. 5,
A-E 99.71 ± 0.04 99.26 ± 0.05
pp. 896_900, 2007.
E-T 99.71 ± 0.03 99.67 ± 0.04
[13] Schölkopf, A. Smola, and K.R. Müller, “Nonlinear component analysis
A-T 99.67± 0.04 99.71 ± 0.03
as a Kernel eigenvalue problem,” Neural Computation, vol. 10, pp.
1299–1319, 1998.B.
De las tablas II y III se ve que la metodología es robusta en [14] T. Sim, S. Baker, and M. Bsat, “The cmu pose, illumination, and
casos donde se presenta oclusiones, ya que los porcentajes de expression database,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 25,
no. 12, pp. 1615_1618, 2003. F.
reconocimiento son muy similares e incluso mejoran para [15] Wallho, “Facial expressions and emotion database,” 2006.
algunos pares de expresiones por ejemplo E-S y E-T.
Desarrollo
Desarrollo de unaaplicación
de una aplicación
parapara visualizar
visualizar objetosobjetos
3D
3D enen Ambientes
Ambientes y Sistemas de Inmersión
y Sistemas de Inmersión
1
Julio Julio
César Ordóñez
César Ordóñez López 1 , Alexander
López, Alexander Cerón Correa
Cerón Correa 1

Abstract—En este artı́culo se presenta el desarrollo de una Teniendo en cuenta la gran cantidad de aplicaciones que
aplicación que permite hacer uso de la visión estereoscópica existen para el uso de la visión estereoscópica se planteó el
utilizando un casco de realidad virtual HMD (Head-Mounted desarrollo de una aplicación que aprovecha la gran capaci-
Display). La aplicación permite la visualización de objetos 3D
(Volúmenes básicos y modelos desarrollados con software espe- dad de inmersión que ofrece un casco de realidad virtual o
cializado) para diferentes aplicaciones como: medicina, robótica HMD (Head-Mounted Display). Para lograr esto se recurrió
(teleoperación), topografı́a (visualización de terrenos), arquitec- en primera instancia al lenguaje de programación Java, que
tura, mundos virtuales, educación entre otros. Esta aplicación aporta la ventaja de poder ser utilizado en cualquier sistema
fue desarrollada utilizando herramientas de programación y operativo y además facilita la programación orientada a obje-
graficación 3D como lo son Java y OpenGL. Adicionalmente
esta incluye rutinas para hacer uso de diferentes dispositivos tos. Adicionalmente se recurrió a la librerı́a de graficación
de entrada (Joystick y GamePad) permitiendo al usuario la 3D OpenGL, que permite desarrollar aplicaciones gráficas
interacción con los objetos visualizados. En la última versión, en diferentes sistemas operativos, a diferencia de DirectX
se implementó la proyección de la imagen en dos pantallas, para la cual fue diseñada para Windows[3]. R Otra ventaja de
visualizar los mismos objetos en un V-CAVE (Sistema de dos usar OpenGL es que permite la utilización del modo estéreo
pantallas que forman un ángulo de 90◦ entre sı́ con la intención
de aplicar un efecto de inmersión sobre el usuario). de la tarjeta de video necesario para la visualización en el
dispositivo HMD.
Palabras Claves—Librerias Graficas, Realidad Virtual, Com- Para favorecer la experiencia del usuario, se implementaron
putación Gráfica, Visión Estereoscópica
dos clases referentes a la graficación y la interacción del
usuario con los objetos. La primera de ellas, es un módulo
I. I NTRODUCCI ÓN que permite graficar objetos complejos desarrollados con un
software especializado en modelado y animación 3D, para

L OS sistemas y ambientes de inmersión permiten al


usuario interactuar con objetos virtuales, adicionalmente
permiten visualizar fenómenos de interés en diferentes áreas de
este caso en particular, los modelos se desarrollaron utilizando
AutodeskMaya
R y
R guardados en formato OBJ (Formato de
definición de geometrı́a desarrollado por Wavefront Technolo-
la ciencia y la ingenierı́a que incluyen áreas como medicina, gies). Esto se hizo con el fin de facilitar la graficación de
robótica, topografia, arquitectura, educación, entretenimiento objetos y estructuras complejas que son bastante complicadas
entre otros. de desarrollar mediante un algoritmo o mediante volúmenes
En el campo de la medicina podemos encontrar progra- básicos (Cubos, pirámides o cilindros, implementados anteri-
mas para la simulación y el entrenamiento en operaciones ormente en la aplicación). La segunda clase, es un módulo
quirúrgicas en donde también se involucra la robótica. Adi- que permite al usuario interactuar con los objetos puestos en
cionalmente estos sistemas facilitan el entrenamiento y la tele- la escena mediante un Joystick o un GamePad, lo que deja de
operación de vehı́culos no tripulados. En topografı́a se puede lado los modelos estáticos e incrementa la inmersión a la que
realizar la visualización de terrenos ası́ como de edificaciones está sometido el usuario.
para la arquitectura [1]. El campo de la educación presenta
nuevos modos de interacción para el aprendizaje, además la
II. V ISI ÓN E STEREOSC ÓPICA
generación de mundos virtuales es un campo muy promisorio
para aplicaciones de comercio y entretenimiento como es el El factor más importante que se tuvo en cuenta para la
caso de Second Life. realización de este proyecto, fue el sistema de visión estere-
Aunque existen diversos factores a considerar en un sistema oscópica, el cual es inherente a los seres humanos, facilitando
inmersivo, este trabajo se enfoca en la visión estereoscópica, la percepción en profundidad y la capacidad de distinguir que
la cual permite a los seres humanos ver en profundidad y objetos están mas cercanos que otros. En una definición más
diferenciar objetos cercanos y lejanos mediante un proceso concreta, la visión estereoscópica o estereópsis es el resultado
que involucra diversos factores fisiológicos, cognitivos y psi- de la unión de las dos vistas ligeramente diferentes que reciben
cofı́sicos [2]. nuestros ojos del mundo real [4].

1 Grupo de Investigación en Multimedia, Programa de Ingenierı́a en


Multimedia, Facultad de Ingenierı́a, Universidad Militar Nueva Granada. A. Dirección visual Binocular
Bogotá, Colombia.
La dirección visual es la ubicación relativa al observador
que se percibe de un objeto. Generalmente se mide en términos

Memorias STSIVA 2008 Tomo II 85 - 88


86 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

de azimut1 (A la derecha y la izquierda del punto donde procedió a dibujar el mismo objeto dos veces, una vez en el
está ubicado el objeto) y en términos de elevación (Arriba buffer trasero derecho y una vez en el buffer trasero izquierdo.
y abajo del mismo punto)[4]. La dirección visual binocular se Sin embargo, la clave de la estereovisión mediante OpenGL,
diferencia de la monocular en que esta última es la imagen que se encuentra en permitirle a la aplicación actualizar cada cierto
recibe cada ojo por separado. Algunos investigadores plantean tiempo el espacio de graficación y además alternar la imagen
que la dirección visual binocular está ubicada en la mitad de que envı́a hacia el dispositivo HMD, es decir, una vez envı́a
las dos imágenes monoculares, sin embargo, otros plantean la imagen hacia el ojo izquierdo y la siguiente vez que se
la posibilidad de que esta dirección está ubicada en cualquier actualice, envı́a la imagen hacia el ojo derecho.
punto entre las dos imágenes monoculares, no necesariamente Para modificar la profundidad con la que el objeto se ve en
en la mitad. el dispositivo HMD, se agregó un procedimiento que permite,
mediante eventos del mouse, modificar la distancia del objeto
con respecto al observador y ası́ mismo modificar el ángulo
B. Ángulos de convergencia y disparidades retinales
de convergencia.
El ángulo de convergencia de las dos imágenes monoculares
con respecto a un objeto ubicado en un punto, está dado por
III. A MBIENTES Y S ISTEMAS DE I NMERSI ÓN
la siguiente ecuación:
Un ambiente virtual de inmersión permite que un usuario
i tenga principalmente experiencias visuales, audibles y táctiles.
α = 2 · arctan ( )
2 · D1 Generalmente el factor visual es el más importante y para
donde, α es el ángulo de convergencia, D1 es la distancia esto se usa una pantalla, un dispositivo estereoscópico o
entre el observador y el objeto ubicado en el punto F1 , e i es cualquier otro sistema de visualización. Los dispositivos de
la distancia interocular [4](Figura 1). Si se ubica otro objeto visualización, los controles de la interfaz y el computador están
en un punto F2 más cercano al observador, se puede ver que configurados para sumergir al operador en un ambiente que
el ángulo de convergencia β que define con respecto a los dos contiene objetos tridimensionales con locaciones tridimension-
ojos es mayor, por lo tanto se puede decir que tanto α como β ales y orientaciones en un espacio tridimensional. Cada objeto
son inversamente proporcionales a la distancia entre el objeto virtual tiene una ubicación en el espacio que es independiente
y el observador. del puerto de vista del operador, y el operador puede interac-
tuar con estos objetos utilizando diferentes dispositivos para
manipularlos[5].
Un ambiente virtual se asemeja a un sistema de teleop-
eración, sin embargo la diferencia entre estos dos radica en la
parte no humana de su estructura. En un sistema teleoperado,
el usuario controla a un robot desde una estación remota [6] y
en un ambiente virtual, el usuario visualiza y manipula objetos
virtuales mediante un computador, lo cual puede funcionar
como entrenamiento para que posteriormente el usuario inter-
actue con un sistema teleoperado [5].
Al mismo tiempo con esta diferencia en la estructura,
también se da una diferencia en el propósito de estos dos
sistemas: para el sistema teleoperador, el propósito es sentir,
Fig. 1. Ángulo de convergencia de las dos imágenes monoculares manipular y transformar el estado del mundo real, mientras
que el propósito del ambiente virtual es sentir, manipular y
La disparidad retinal o binocular se produce a partir de la transformar el estado del usuario o modificar el estado de la
diferencia de los ángulos α y β, lo que le permite al cerebro información almacenada en el computador [5]. Un ejemplo
humano identificar la profundidad de cada objeto y concluir de este tipo es la simulación quirúrgica, la cual puede ser
cuál se encuentra más cercano que el otro. realizada utilizando modelos deformables mediante sistemas
inmersivos de visualización y dispositivos hápticos3 , como se
observa en [7].
C. Visión Estereoscópica en la aplicación
Para aplicar este efecto de profundidad sobre los objetos A. V-CAVE
graficados en la escena, se tuvo en cuenta que el espacio de
graficación de OpenGL cuenta con cuatro buffers2 diferentes Para incrementar las sensaciones de inmersión en el mundo
donde se pueden graficar estos objetos, dos buffers frontales real, se desarrollaron diferentes proyectos con este fin entre los
(Derecho e izquierdo) y dos buffers traseros (Derecho e cuales se pueden destacar ImmersaDesk, las paredes de visu-
izquierdo). A partir de esta caracterı́stica de la librerı́a, se alización y el CAVE (Cave Automatic Virtual Environment).
El CAVE, en términos generales, se compone de varias
1 Ánguloque forma la imagen monocular con el punto de fijación pantallas que se ubican de manera adyacente inscribiendo un
2 Espacioen la memoria del computador en donde se almacenan temporal-
mente los datos para la graficación 3 Dispositivos que permiten sensación del tacto
XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008 87

ángulo determinado entre ellas, dependiendo del número de B. Graficación de Modelos 3D (Figura 3)
pantallas, en donde se proyectan las imágenes que van a aplicar Carga los materiales y la geometrı́a de los objetos almace-
el efecto de inmersión sobre el usuario. nados en los archivos OBJ y MTL.
Por facilidades en cuanto a costo y disponibilidad, en este
• GIMMaterialLoader: Carga el material del objeto en
proyecto se utilizo un V-CAVE como ambiente de prueba. Este
la escena mostrada en la aplicación.
V-CAVE consiste en dos pantallas dispuestas de tal manera
que formen un ángulo de 90◦ entre las dos, en donde cada
• GIMModel: Carga todos los datos del modelo 3D
una de las pantallas tiene un proporción de 4/3 (Las imágenes
contenidos en el archivo OBJ.
proyectadas de la aplicación poseen la misma proporción). En
[8] se presenta el desarrollo de una aplicación de bajo costo
• GIMModelLoader: Pinta en la escena los datos
de un V-CAVE.
obtenidos con la clase GIMModel.

IV. E STRUCTURA DE C LASES

Para el desarrollo de la aplicación, se tuvieron en cuenta


tres factores importantes representados en diferentes clases,
que se extienden a la visión estereoscópica afectando a todos
los objetos visualizados.

A. Graficación de Volúmenes Básicos (Figura 2)


Grafica objetos de poca complejidad, en este caso, un cubo
y una esfera.
• GIMVertex3D: Se encarga de definir un punto con
coordenadas X, Y, Z para aplicarlo a la posición del Fig. 3. Diagrama de clases para la graficación de modelos en formato OBJ
objeto.

• GIMObject3D: Define los atributos básicos de un


C. Manipulación de Objetos (Figura 4)
objeto 3D como el centro, la rotación, la traslación, el
color y el método Render para graficarlo. Permite la interacción con los objetos visualizados mediante
un dispositivo de entrada (Joystick o Gamepad)
• GIMCube: Hereda todos los atributos y métodos de la • GIMGamePad: Establece la conexión con el dispositivo
clase GIMObject3D y sobrescribe el método Render, en de entrada conectado al computador, obtiene todas
el que establece los vértices y las caras del cubo. sus caracterı́sticas y captura la información de los
movimientos de sus ejes y de la interacción con sus
• GIMSphere: Hereda todos los atributos y métodos de botones.
la clase GIMObject3D y sobrescribe el método Render,
en el que establece el radio y la resolución de la esfera. • GIMWarning: Clase que verifica si hay o no un
dispositivo conectado al computador.

Fig. 4. Diagrama de clases para la manipulación de los objetos

Fig. 2. Diagrama de clases para la graficación de volúmenes básicos D. Visión Estereoscópica (Figura 5)
Aplica el efecto de profundidad a los objetos visualizados.
88 XIII SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL. STSIVA 2008

• GIMImmersive: Es la clase principal, contiene los VI. C ONCLUSIONES Y TRABAJO FUTURO


métodos necesarios de OpenGL para poder definir el Utilizando la visión estereoscópica artificial, mediante un
canvas para la graficación de los objetos, además los dispositivo de realidad virtual como el HMD, es posible
dibuja en el buffer derecho e izquierdo del mismo por presentar ante un usuario un ambiente muy similar al real per-
separado, para que el usuario experimente la sensación de mitiendo recrear diferentes escenarios para una gran variedad
profundidad mediante el HMD (Head-Mounted Display). de aplicaciones de interés en la ciencia y la ingenierı́a.
La implementación de un módulo para importar modelos en
formato OBJ representa una gran ventaja, ya que permitirá en-
focar la aplicación hacia diversas áreas como la medicina o la
robótica, permitiendo simular procesos o procedimientos que
resultan costosos o riesgosos para los estudiantes o expertos
de estas áreas.
La manipulación de los objetos mediante dispositivos de
entrada (Joystick o Gamepad), permite en un futuro imple-
Fig. 5. Diagrama de clases para la visión estereoscópica mentar dispositivos propios del área hacia la que se enfoque
la aplicación.
En el proceso metodológico presentado en este trabajo,
V. R ESULTADOS
se desarrollo una aplicación compuesta por una jerarquı́a de
Se realizaron dos prototipos de la aplicación con diferentes clases orientada a objetos. En un futuro se espera implementar
propósitos(Figura 6): un procedimiento que permita utilizar un sistema de gafas
• El primer prototipo se desarrolló con el fin de ser utilizado obturadoras en conjunto con el ambiente de inmersión V-
mediante un casco de realidad virtual HMD, aplicándole CAVE.
el efecto de profundidad (visión estereoscópica) a todos
los objetos que se encuentran graficados. Permite graficar R EFERENCIAS
dos clases de volúmenes básicos (Cubo y esfera), permite
[1] S. Martı́n González, S. Garcı́a Cortés, J. Suárez Quirós, R. Rubio Garcı́a,
también importar modelos 3D en formato OBJ con sus R. Gallego Santos, and S. Morán Fernanz, “Visage: Estereoscopio vir-
respectivos materiales en formato MTL. Permite la inter- tual aplicado a la geologı́a,” XII Congreso Internacional de Energı́a y
acción del usuario con los objetos mediante un Joystick Recursos Minerales, 2007.
[2] H. Rosas, W. Vargas, A. Cerón, D. Domı́nguez, and A. Cárdenas, “Psy-
o un Gamepad. chophysical approach to the measurement of depth perception in stereo
• El segundo prototipo esta diseñado para ser utilizado en vision,” Lecture Notes in Computer Science, vol. Volume 4563/2007, pp.
un ambiente de inmersión V-CAVE, para la cual, en vez 358–366, 2006.
[3] S. Martı́n González, J. Suárez Quirós, R. Orea Area, R. Rubio Garcı́a,
de definir un solo canvas de graficación, se definieron dos and R. Gallego Santos, “Creación de una librerı́a utilizando open gl
y se compartió su contexto. Esto se hace con el fin de para el desarrollo de aplicaciones gráficas utilizando sistemas de visión
que los objetos graficados en cada uno de ellos tengan las estereoscópica,” XVII Congreso Internacional de Ingenierı́a Gráfica.,
2005.
mismas propiedades. Además permite graficar los mismos [4] W. Barfield, Virtual Environments and Advanced Interface Design,
objetos y la misma manipulación que la primera versión. W. Barfield, Ed. Oxford University Press, Incorporated, 1995.
[5] N. R. C. Staff, M. Anne S., and D. Nathaniel I., Virtual Reality : Scientific
and Technological Challenges, N. A. Press, Ed. National Academies
Press, 1994.
[6] A. Cerón, “Sistemas roboticos teleoperados,” Ciencia e Ingenierı́a
Neogranadina, vol. 15, pp. 62–72, 2005.
[7] P. Chen, K. E. Barner, and K. V. Steiner, “A displacement driven real-
time deformable model for haptic surgery simulation,” in Symposium
on Haptic Interfaces for Virtual Environment and Teleoperator Systems
(HAPTICS’06), 2006.
[8] C. Quintero, W. J. Sarmiento, and E. L. Sierra-Ballén, “Low cost
cave simplified system,” in Proceedings of Human Computer Interaction
International, Beijing, China, 2007.

Fig. 6. Diagrama del funcionamiento de la aplicación.

Esta aplicación, presenta principalmente la ventaja de ser


multiplataforma y además la estructura de ésta fue desarrollada
con un diseño orientado a objetos que permite la incorporación
de futuras mejoras asi como de ser acondicionada, para
diferentes areas. Se espera que el desarrollo de este tipo de
aplicaciones permita reducir costos de adquisición, y fomentar
el desarrollo de software enfocado a las necesidades del paı́s
en las áreas anteriormente mencionadas.

Você também pode gostar