tesis_mciec_ferwar
Post on 27-Dec-2015
13 Views
Preview:
TRANSCRIPT
Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenierıas
ALGORITMOS DE AUTOMATAS DE APRENDIZAJE
APLICADOS A PROBLEMAS DE VISION POR
COMPUTADORA
TESIS
Que para obtener el grado de
MAESTRO EN CIENCIAS EN INGENIERIA ELECTRONICA Y COMPUTACION
presenta
Fernando Wario Vazquez
Dr. Marco Antonio Perez Cisneros
Director de Tesis
Guadalajara, Jalisco. Septiembre de 2010
AQUI VA LA DEDICATORIA
Resumen
AQUI VA EL RESUMEN EN ESPANOL.
Abstract
THIS IS THE ABSTRACT.
Contenido
Dedicatoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Lista de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
1. Introduccion 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Planteamiento del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Objetivos de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Descripcion de Capıtulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Elementos de vision por computadora 7
2.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Imagenes digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1. Tipos de operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2. Vecindad de un pıxel . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.3. Conectividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Histograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1. Segmentacion por umbral . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4. Etiquetado de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.1. Paso 1. Etiquetado temporal de objetos . . . . . . . . . . . . . . . . 13
2.4.2. Paso 2. Resolucion de colisiones . . . . . . . . . . . . . . . . . . . . . 13
2.5. Operaciones morfologicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1. Dilatacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.2. Erosion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.3. Propiedades de la dilatacion y erosion . . . . . . . . . . . . . . . . . 18
2.6. Deteccion de bordes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6.1. Deteccion de bordes con tecnicas basadas en el Gradiente . . . . . . 20
2.6.2. Filtro de Canny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6.3. Gradiente morfologico . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7. Algoritmo del punto medio para el trazado de cırculos . . . . . . . . . . . . 26
2.8. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
ix
x Contenido
3. Learning Automata 293.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2. El ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3. El Automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3.1. El automata estocastico . . . . . . . . . . . . . . . . . . . . . . . . . 343.3.2. Automatas de estructura fija y de estructura variable . . . . . . . . 353.3.3. Probabilidades de las acciones y los estados . . . . . . . . . . . . . . 36
3.4. Lazo Automata-Ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5. Normas del Comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 383.6. Automata estocastico de estructura variable . . . . . . . . . . . . . . . . . . 403.7. Esquemas de refuerzo en ambiente tipo P . . . . . . . . . . . . . . . . . . . 41
3.7.1. Probabilidades de las acciones . . . . . . . . . . . . . . . . . . . . . . 423.8. LA de dos acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.8.1. Esquema linear de recompensa-castigo (LR−P ) . . . . . . . . . . . . 433.8.2. Esquema linear de recompensa-inaccion (LR−I) . . . . . . . . . . . . 44
3.9. LA de multiples acciones en ambiente tipo P . . . . . . . . . . . . . . . . . 453.10. Modelos tipo Q y S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.10.1. Normalizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.11. Esquemas de refuerzo en ambiente tipo Q y S . . . . . . . . . . . . . . . . . 483.12. Revision de un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.13. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4. Elementos de logica difusa 534.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.2. Conjuntos difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.3. Operaciones difusas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.4. Funciones de pertenencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.4.1. Funcion de pertenencia triangular . . . . . . . . . . . . . . . . . . . 564.4.2. Funcion de pertenencia trapezoidal . . . . . . . . . . . . . . . . . . . 564.4.3. Funcion de pertenencia gaussiana . . . . . . . . . . . . . . . . . . . . 574.4.4. Funcion de pertenencia sigmoidal . . . . . . . . . . . . . . . . . . . . 57
4.5. Inferencia difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.5.1. Fusificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.5.2. Base de reglas difusas . . . . . . . . . . . . . . . . . . . . . . . . . . 594.5.3. Motor de inferencia difusa . . . . . . . . . . . . . . . . . . . . . . . . 594.5.4. Defusificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6. Agrupamiento no-supervisado . . . . . . . . . . . . . . . . . . . . . . . . . . 604.6.1. Algoritmo difuso de c-Medias . . . . . . . . . . . . . . . . . . . . . . 63
4.7. Revision de un ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.8. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5. Algoritmos para deteccion de cırculos 675.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.2. Metodos Determinısticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.2.1. La Transformada de Hough . . . . . . . . . . . . . . . . . . . . . . . 68
Contenido xi
5.2.2. Transformada de Hough Aleatoria . . . . . . . . . . . . . . . . . . . 72
5.2.3. Transformada de Hough Aleatoria Iterativa . . . . . . . . . . . . . . 73
5.3. Metodos Heurısticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3.1. Extraccion de primitivas geometricas utilizando GA . . . . . . . . . 75
5.3.2. HT basada en optimizacion por enjambre de partıculas . . . . . . . 76
5.4. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6. Detector de cırculos con LA 79
6.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2. Preprocesamiento de la informacion . . . . . . . . . . . . . . . . . . . . . . 79
6.3. Representacion de las acciones . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.5. Implementacion del LA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.6. El caso de multiples cırculos . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.7. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7. Resultados 87
7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.2. Deteccion de cırculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.2.1. Imagenes sinteticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.2.2. Imagenes naturales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.3. Discriminacion de figuras circulares . . . . . . . . . . . . . . . . . . . . . . . 88
7.3.1. Imagenes sinteticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.3.2. Imagenes naturales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.4. Deteccion de multiples cırculos . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4.1. Imagenes sinteticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4.2. Imagenes naturales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.5. Aproximacion circular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.6. Discriminacion de multiples cırculos . . . . . . . . . . . . . . . . . . . . . . 95
7.7. Evaluacion de rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.7.1. Evaluacion de velocidad . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.7.2. Evaluacion de exactitud . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.8. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
8. Caso de estudio 105
8.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.2. Aproximacion de leucocitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
8.3. Localizacion de objetos con LA . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.3.1. Descripcion del problema . . . . . . . . . . . . . . . . . . . . . . . . 108
8.3.2. Preprocesamiento de la imagen . . . . . . . . . . . . . . . . . . . . . 108
8.3.3. Funcion objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8.3.4. Implentacion del LA . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.4. Resultados experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.4.1. Conjuntos de pıxeles Tipo 1 y 2 . . . . . . . . . . . . . . . . . . . . . 114
8.4.2. Conjuntos de pıxeles Tipo 2 y 3 . . . . . . . . . . . . . . . . . . . . . 114
xii Contenido
8.4.3. Conjuntos de pıxeles Tipo 1, 2 y 3 . . . . . . . . . . . . . . . . . . . 1168.5. Comparacion del rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . 1168.6. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
9. Conclusiones 1199.1. Resumen de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199.2. Conclusiones Generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199.3. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1199.4. Revision del capıtulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Referencias 121
Lista de Figuras
2.1. Definicion de la vecindad de un pıxel. (a) Vecindad 4, definida sobre P y (b)Vecindad 8, definida sobre P. . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Influencia de la vecindad en la conectividad de los pıxeles. (a) Resultado alconsiderar conectividad-4 y (b) resultado al considerar conectividad-8. . . . 10
2.3. Un histograma con 16 posibles valores de intensidad. El ındice de los elemen-tos del vector i=0,...,15 representa el valor de intensidad. El valor 8 en elelemento 3 significa que en la correspondiente imagen el valor de intensidad3 aparece 8 veces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4. Resultado del paso uno en el proceso de etiquetado de objetos, las colisionesde etiquetas son representadas mediante cırculos. . . . . . . . . . . . . . . . 14
2.5. Representacion de colisiones y etiquetas mediante nodos de un grafo. . . . . 14
2.6. Resultado del proceso de etiquetado de objetos despues del segundo paso.Todas las etiquetas asignadas temporalmente son sustituidas por la etiquetamas pequena contenida en el objeto. . . . . . . . . . . . . . . . . . . . . . . 15
2.7. Ejemplo de una estructura de referencia para operaciones morfologicas binarias. 15
2.8. Descripcion de una imagen binaria I y una estructura de referencia H comoconjuntos de pares de coordenadas PI y PH . . . . . . . . . . . . . . . . . . . 16
2.9. Ejemplo de dilatacion. A la imagen binaria I se le aplica la operacion dedilatacion utilizando la estructura H. . . . . . . . . . . . . . . . . . . . . . . 17
2.10. Ejemplo de erosion. La imagen I es erosionada a traves de la estructura dereferencia H. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.11. Primera derivada en el caso unidimensional obtenido a partir del perfil hor-izontal de la imagen. Imagen original (a) y (b) la derivada f ′(u) del perfilobtenido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.12. Algoritmo de Canny aplicado a una imagen. (a) Imagen original, (b) bordesde la imagen con σ = 0.1, (c) bordes de la imagen con σ = 0.2 y (d) bordesde la imagen con σ = 0.35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.13. Gradiente morfologico aplicado a una imagen a escala de grises. (a) Ima-gen original, (b) el resultado del gradiente morfologico y (c) resultado deumbralizacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.14. Deteccion de bordes usando el gradiente morfologico. (a)Imagen original y(b) imagen de los bordes obtenida despues de aplicar el gradiente morfologico. 26
xiii
xiv Lista de Figuras
3.1. El ambiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2. El automata. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3. Conexion entre el automata. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4. Funciones de densidad de probabilidad de βi para α = αi. . . . . . . . . . . 47
3.5. Ejemplo que muestra el comportamiento de un LA en una funcion multi-modal. (a) La funcion multimodal, (b) localizacion en el espacio (x, y, z) delas 10 acciones con mayor probabilidad asociada, (c) localizacion de las ac-ciones en el plano (x, y) y (d) distribucion final de las probabilidades. . . . 52
4.1. (a) FP triangular, (b) FP trapezoidal, (c) FP Gaussiana, (d) FP campanageneralizada, (e) FP sigmoidal y (f) FP zeta. . . . . . . . . . . . . . . . . . 58
4.2. Estructura general de un sistema de inferencia difusa. . . . . . . . . . . . . 58
4.3. Ejemplos de conjuntos. (a) Conjuntos compactos claramente separados y (b)dos conjuntos no-compactos que no se encuentran claramente separados. . . 62
4.4. Ejemplo que muestra el comportamiento de un algoritmo difuso de c-Medias.(a) Las acciones en el espacio y (b) las acciones en el plano (x, y). . . . . . . 66
5.1. Defincion de una lınea con parametrizacion normal. . . . . . . . . . . . . . . 69
5.2. Idea fundamental de la transformada de Hough. (a) Espacio de parametrosde la imagen y (b) acumulador en el espacio de parametros de Hough. . . . 70
5.3. Parametros que definen a un cırculo. . . . . . . . . . . . . . . . . . . . . . . 70
6.1. Cırculo candidato (accion) construido con las combinaciones de los puntospi, pj y pk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.2. Procesamiento de la distribucion final de probabilidades. (a) Distribucionfinal de probabilidades, (b) acciones ordenadas de manera descendente acordea su probabilidad, (c) localizacion de las acciones en el espacio, (d) resultadodel agrupamiento, (e) imagen original analizada y (f) las soluciones encontradas. 86
7.1. Deteccion de un cırculo y evolucion de la distribucion de probabilidades. (a)Imagen original, (b) el cırculo detectado se muestra sobre la imagen original,(c) Evolucion de la distribucion de probabilidades a traves del tiempo. . . . 89
7.2. Deteccion de cırculo en una imagen natural. (a) El mapa de bordes de laimagen original, (b) el cırculo detectado aparece sobrepuesto sobre la imagenoriginal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3. Deteccion de cırculo en una imagen natural. (a) El mapa de bordes de laimagen original, (b) el cırculo detectado aparece sobrepuesto sobre la imagenoriginal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.4. Deteccion de cırculo en una imagen natural. (a) El mapa de bordes de laimagen original, (b) el cırculo detectado aparece sobrepuesto sobre la imagenoriginal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.5. Deteccion de multiples cırculos en una imagen sintetica. (a) Las treinta ac-ciones con mayor probabilidad, (b) su ubicacion en el espacio, (c) la imagenoriginal analizada y (d) los cırculos detectados. . . . . . . . . . . . . . . . . 93
Lista de Figuras xv
7.6. Deteccion de multiples cırculos en una imagen natural. (a) Las treinta ac-ciones con mayor probabilidad, (b) su ubicacion en el espacio, (c) la imagenoriginal analizada y (d) los cırculos detectados. . . . . . . . . . . . . . . . . 94
7.7. Aproximacion de una figura por medio de concatenacion de cırculos. (a) Laimagen original y (b) la aproximacion obtenida. . . . . . . . . . . . . . . . . 95
7.8. Deteccion de multiples cırculos en una imagen natural. (a) Las treinta ac-ciones con mayor probabilidad, (b) su ubicacion en el espacio, (c) la imagenoriginal analizada y (d) los cırculos detectados. . . . . . . . . . . . . . . . . 96
7.9. Algunos ejemplos de las imagenes utilizadas en el experimento, todas ellasfueron contamindas con diferentes niveles de ruido sal y pimienta (nl): (a)nl=0.01,(b) nl=0.04, (c) nl=0.07 y (d) nl=0.1. . . . . . . . . . . . . . . . . 98
7.10. Tiempo computacional requerido por los experimentos analizados al analizarlas imagenes que se muestran en la figura 7.9. . . . . . . . . . . . . . . . . . 98
7.11. Imagenes sinteticas y los cırculos detectados por los diferentes algoritmos.(a), (b) y (c) Imagenes originales, (d), (e) y (f) resultados de GA, (g), (h) e(i) resultados del BFAOA y (j), (k) y (l) resultados de LA. . . . . . . . . . . 100
7.12. Imagenes naturales y los cırculos detectados por los diferentes algoritmos. (a)y (b) Imagenes originales, (c) y (d) resultados de GA, (e) y (f) resultados delBFAOA y (g) y (h) resultados de LA. . . . . . . . . . . . . . . . . . . . . . 102
8.1. Imagen de un frotis sanguineo en el microscopio, en ella pueden apreciarselos GB (las celulas mas obscuras) y los GB en un fondo uniforme. . . . . . . 109
8.2. (a) Histograma de la imagen en escala de grises de la figura 8.1. (b) Imagenbinaria obtenida despues del proceso de umbralizacion. . . . . . . . . . . . . 110
8.3. Imagen binaria obtenida despues de la operacion de “relleno”. (b) Mapa debordes obtenido de (a) utilizando el gradiente morfologico. . . . . . . . . . . 110
8.4. (a), (c) Dos ejemplos de imagenes de frotis sanguines y (b), (d) la clasificacionde sus conjuntos de pıxeles. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
8.5. (a) Imagen a escala de grises utilizada como entrada para el algoritmo, (b)conjuntos de pıxeles Tipo 1 y 2 presentes en la imagen, (c) resultado depre-procesamiento morfologico, (d) acciones con mayor probabilidad. . . . . 115
Lista de Tablas
2.1. Tipos de operaciones en imagenes . . . . . . . . . . . . . . . . . . . . . . . . 92.2. Pasos del MPA para generar los puntos que conforman una circunferencia. . 27
3.1. Caracterısticas basicas de los tipos de automatas. . . . . . . . . . . . . . . . 35
4.1. Parametros del detector de cırculos basado en LA . . . . . . . . . . . . . . . 65
6.1. Algoritmo general para la deteccion de cırculos con LA. . . . . . . . . . . . 84
7.1. Parametros del detector de cırculos basado en LA . . . . . . . . . . . . . . . 877.2. Comparasion de rendimiento de los algoritmos basado en LA, RHT e IRHT
al procesar las imagenes de la figura [reffig:comp1]. . . . . . . . . . . . . . . 997.3. El tiempo promedio de ejecucion y el indice de exito del algoritmo basado en
GA, el metodo BFAOA y el algoritmo propuesto en este trabajo, considerandocinco imagenes de prueba que se muestran en las figuras [reffig:comp3] y[reffig:comp4]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.1. Pasos del detector de GB basado en LA. . . . . . . . . . . . . . . . . . . . . 1138.2. Porcentajes de error obtenidos por (a) el algoritmo de Wang y (b) el algoritmo
basado en LA bajo diferentes condiciones. . . . . . . . . . . . . . . . . . . . 117
xvii
Capıtulo 1
Introduccion
1.1. Antecedentes
El problema de deteccion de cırculos se presenta en diferentes areas del proce-
samiento de imagenes y es de particular importancia en aplicaciones de tipo industrial
como son la inspeccion automatica de productos manufacturados, vectorizacion asistida de
dibujos, deteccion de objetivos, etc. La deteccion de objetos en imagenes se resuelve prin-
cipalmente por dos tipos de sistemas: Los primeros se basan en tecnicas determinısticas,
incluyendo aquellos basados en la transformada de Hough [59] y ajuste de modelos [22, 24].
Por otro lado estan aquellos que utilizan tecnicas estocasticas, incluyendo muestreo aleatorio
[18] y algoritmos geneticos (GA por su nombre en ingles: “Genetic Algorithms”) [46].
Tradicionalmente, la deteccion de cırculos en imagenes digitales se lleva a cabo
con la transformada circular de Hough [33]. Un metodo tıpico basado en esta transformada
comienza con la obtencion del mapa de bordes de la imagen, la informacion obtenida se
utiliza para deducir la ubicacion de los centros (x, y) y los valores de los radios (r), por
ultimo se lleva a cabo la deteccion de maximos. La principal desventaja de este metodo se
encuentra en la alta demanda de recursos computacionales. La exactitud en los parametros
obtenidos por esta clase de sistemas es pobre, particularmente en presencia de ruido [2] y
debido a la alta demanda de recursos computacionales esta opcion es totalmente inadecuada
para procesamientos en tiempo real. Con la intencion de evitar estos problemas, algunos
1
2 Capıtulo 1: Introduccion
investigadores han propuesto nuevas variaciones a la transformada de Hough, entre ellas la
“probabilistic Hough transform” [48], la “randomized Hough transform (RHT)” [57] y la
“fuzzy Hough transform” [20]. Incluso podemos encontrar transformadas alternativas como
la propuesta por Becker [5].
Como una alternativa a las tecnicas basadas en la transformada de Hough, el
problema de deteccion de formas circulares en el area vision por computadora ha sido
tambien abordado con metodos de busqueda estocasticos. En particular GA, los cuales han
sido utilizados recientemente en importantes tareas de reconocimiento de formas e.g. Roth
y Levine propusieron el uso de GA en la extraccion de primitivas en imagenes [46]. Lutton
et al lograron una mejora en el metodo previamente mencionado [32]. Por su parte Yao et
al utilizan un GA multi-poblacion para detectar elipses [58]. En [60] se utilizan GA para
ajuste de plantillas cuando el patron ha sido sujeto a una transformacion afın desconocida.
Ayala-Ramirez et al presentaron un detector de cırculos basado en GA [3]. Su propuesta
es capaz de detectar multiples cırculos en imagenes reales, pero falla frecuentemente en la
deteccion de cırculos imperfectos.
Otro metodo heurıstico es el de los Automatas de Aprendizaje (LA por su nombre
en ingles “Learning Automata”) este metodos suele utilizarse para encontrar la solucion a
complejos problemas de optimizacion. LA es una tecnica para la adaptacion de parametros
de optimizacion, donde la busqueda se lleva a cabo en el espacio probabilıstico en lugar del
espacio de parametros como sucede con la mayorıa de los algoritmos de optimizacion. El
automata selecciona de manera probabilıstica una accion (X) que se aplica al ambiente, y la
funcion de evaluacion del desempeno provee una senal de refuerzo. La informacion obtenida
es utilizada para actualizar la distribucion de probabilidades interna del automata, de forma
tal que las acciones que obtienen un desempeno favorable son recompensadas incrementando
su probabilidad, mientras que aquellas con un desempeno no favorable son penalizadas o
su probabilidad permanece sin cambios, dependiendo del metodo de aprendizaje empleado.
Con el tiempo, el desempeno promedio del sistema se vera mejorado hasta llegar a un lımite.
En terminos de optimizacion, la accion que resulte con la mayor probabilidad representara el
mınimo global como ha sido demostrado en rigurosas pruebas de convergencia en [34, 37].
1.2. Planteamiento del Problema 3
1.2. Planteamiento del Problema
Solucionar el problema de deteccion de figuras circulares con un enfoque de opti-
mizacion permitira encontrar la solucion que mejor se adapte a la figura no importando si
esta no es un circulo perfecto o presenta una significativa parte de su circunferencia ocluida
como sucede en la mayorıa de las imagenes en la vida real.
El planteamiento de los circulos candidatos (acciones del automata) como triadas
de puntos borde, elimina la posibilidad de evaluar circulos no feasibles ademas de reducir de
manera significativa el tiempo de ejecucion del programa permitiendo inclusive la aplicacion
de este algoritmo en tiempo real, situacion que resulta practicamente imposible con los
algoritmos tradicionales.
El interes de utilizar los algoritmos de LA surge del hecho de que en ellos la
busqueda del valor optimo se realiza en un espacio de probabilidades en lugar de un espacio
de parametros como sucede en otros algoritmos de optimizacion [64]. Aunque a primera
vista esto parezca complicar el problema, en realidad lo facilita, pues no es necesario asumir
que el espacio de busqueda es isomorfico a algun espacio Euclidiano real o siquiera que es
un espacio metrico. Esto nos brinda gran flexibilidad y nos permite trabajar con una amplia
familia de clasificadores en un contexto de reconocimiento de patrones. Cabe destacar que los
algoritmos de LA han sido utilizados para resolver diferentes problemas de ingenierıa, entre
ellos reconocimiento de patrones [32], control adaptivo [58], reconocimiento de senales [3] y
sistemas de potencia [60]. Recientemente, se han propuesto algunos algoritmos basados en
LA que resultan efectivos para la optimizacion de complejas funciones con multiples mınimos
(vea [3, 45, 44, 65]). Ademas, se ha demostrado experimentalmente que el desempeno de
estos algoritmos de optimizacion es comparable o mejor que el de los algoritmos geneticos
en [44].
1.3. Objetivos de la Tesis
• Exponer algunos metodos determinısticos y heurısticos utilizados actualmente para
la resolucion del problema planteado en el presente trabajo de tesis, ası como sus
principales caracterısticas.
4 Capıtulo 1: Introduccion
• Aplicar algoritmos de Learning Automata y tecnicas de vision por computadora para
desarrollar un algoritmo que resuelva el problema de deteccion de figuras circulares.
• Disenar un sistema computacional el cual haciendo uso del algoritmo desarrollado
sea capaz de detectar multiples figuras circulares en una sola imagen incluso bajo
circunstancias claramente desfavorables como ruido, oclusion parcial de las figuras o
que estas no sean perfectamente circulares.
• Comparar los resultados obtenidos con los de otros metodos heurısticos y determinısti-
cos.
• Exponer las ventajas de utilizar un enfoque de optimizacion y en especifico un algo-
ritmo de Learning Automata para la resolucion del problema de deteccion de figuras
circulares.
1.4. Descripcion de Capıtulos
En el presente trabajo de tesis se aborda un problema comun en el area de vision
por computadora, la deteccion de multiples figuras circulares en imagenes digitales. Con el
enfoque de optimizacion propuesto para la resolucion de este problema se saca provecho de
la capacidad de los metodos de Learning Automota de lidiar con funciones multimodales
logrando de esta manera un algoritmo capaz de encontrar mas de una figura circular llevando
a cabo una sola iteracion.
La siguiente es una breve descripcion de los capıtulos que conforman este trabajo:
En el capıtulo 2 se presenta una breve introduccion a los conceptos de vision por
computadora necesarios para la correcta comprension de los metodos utilizados a lo largo
de esta tesis.
El capıtulo 3 es un estudio general de los algoritmos de Learning Automata.
En el capıtulo 4 se analizan algunos conceptos basicos de logica difusa, los cuales
son necesarios para la comprension del algoritmo propuesto para la deteccion de multiples
cırculos.
1.4. Descripcion de Capıtulos 5
En el capıtulo 5 se realiza un analisis general de algunos de los metodos utilizados
en la actualidad para la deteccion de figuras circulares en imagenes.
El capıtulo 6 presenta el desarrollo de la solucion propuesta; se analiza tanto el
algoritmo general como el analisis posterior de la informacion obtenida para el caso de
multiples cırculos.
El capıtulo 7 muestra los resultados experimentales obtenidos con el algoritmo
propuesto y presenta diferentes comparativas contra metodos determinısticos y heurısticos.
En el capıtulo 8 se muestra un caso de estudio donde se aplica el algoritmo de-
sarrollado con el fin de llevar a cabo el conteo de globulos blancos en imagenes de frotis
sanguineo.
Por ultimo, en el capıtulo 9 se presentan las conclusiones de este trabajo ası como
el trabajo futuro propuesto.
Capıtulo 2
Elementos de vision por
computadora
2.1. Introduccion
El objetivo de este capıtulo es presentar un resumen practico de los conceptos
de vision por computadora utilizados a lo largo del desarrollo de este trabajo, el capıtulo
comienza con la definicion de imagen digital, dado que el color de las imagenes no resulta
importante para el procesamiento propuesto en este trabajo el analisis de las imagenes a
color ha sido dejado a un lado y los conceptos utilizados aqui son referentes a imagenes de
un solo plano, tambien conocidas como a escala de grises.
2.2. Imagenes digitales
La materia prima del area de vision por computadora son las imagenes, las cuales
son consideradas como representaciones del mundo fısico que contienen informacion impor-
tante para la descripcion del mismo. Una imagen digital I[m, n] puede definirse como un
espacio discreto de dos dimensiones derivado de una imagen analogica A(x, y), a traves de
un proceso de muestreo y cuantizacion que es frecuemtemente llamado digitalizacion.
En este proceso la imagen analogica A(x, y) de dos dimensiones es dividida en “M”
filas y “N” columnas. La interseccion de una fila con una columna se denomina pıxel. Los
7
8 Capıtulo 2: Elementos de vision por computadora
valores asignados a las coordenadas con valores enteros [m, n], donde {m = 1, 2, 3, · · · , M}
y {n = 1, 2, 3, · · · , N} son los que definen a la imagen digital I[m, n]. En realidad la senal
analoga A(x, y) es una funcion dependediente de multiples variables como pueden ser la
profundidad (z), el color (λ) y el tiempo (t), lo que complica su procesamiento, por tal
razon en la mayorıa de las aplicaciones se utilizan senales monocromaticas. Considerando
lo anterior las imagenes digitales en el area de vision por computadora son representadas
de la siguiente manera:
I[m, n] =
I(1, 1) I(1, 2) · · · I(1, N)
I(2, 1) I(2, 2) · · · I(2, N)...
.... . .
...
I(M, 1) I(M, 2) · · · I(M, N)
(2.1)
Como puede observarse, el desplazamiento en forma vertical trae consigo un aumento en el
ındice m de las filas, mientras que los desplazamientos en el sentido horizontal aumentan el
ındice n de las columnas.
2.2.1. Tipos de operaciones
Se define como operacion a todo aquel procesamiento aplicado sobre las matrices
que definen las imagenes que son capaces de transformar una imagen de entrada I[m, n]
en una de salida O[m, n], los metodos de operaciones se clasifican en tres categorıas y se
muestran en la tabla 2.2.1.
2.2.2. Vecindad de un pıxel
El concepto de vecindad juega un rol clave en las operaciones del procesamiento
de imagenes digitales, por lo que es importante entender este proceso. La vecindad se define
como la relacion que tiene un pıxel de manera posicional con los pıxeles mas cerncanos a el.
Existen dos tipos de vecindades que posee un pıxel en la imagen, la vecindad 4-vecinos y la
8-vecinos. La vecindad 4-vecinos de un pıxel en las coordenadas (m, n) se constituye de los
pıxeles con las coordenadas (m− 1, n), (m, n− 1), (m, n + 1) y (m + 1, n) que corresponden
a los pıxeles que se encuentran arriba, a la derecha, a la izquierda y abajo del pıxel en
2.2. Imagenes digitales 9
OPERACION TIPO
Point El valor de salida de una coordenada especıfica (un pıxel) es
dependiente solo del valor de entrada de la misma coorde-
nada.
Local El valor de salida de una coordenada especıfica depende de
los valores de entrada de los pıxeles con vecindad de la misma
coordenada.
Global El valor de salida de una coordenada especıfica depende de
todos los valores de una imagen de entrada.
Tabla 2.1: Tipos de operaciones en imagenes
( , )m nP ( , 1)m nP +( , 1)m nP −
( 1, )m nP +
( 1, )m nP −
( , )m nP ( , 1)m nP +( , 1)m nP −
( 1, )m nP +
( 1, )m nP −
( 1, 1)m nP + − ( 1, 1)m nP + +
( 1, 1)m nP − − ( 1, 1)m nP − +
(a) (b)
Figura 2.1: Definicion de la vecindad de un pıxel. (a) Vecindad 4, definida sobre P y (b)Vecindad 8, definida sobre P.
cuestion, la figura 2.1(a) muestra una representacion de este tipo de vecindad. La vecindad
8-vecinos por su parte se refiere a los pıxeles ya considerados en la vecindad 4-vecinos mas
aquellos que se encuentran en forma diagonal al pıxel en cuestion, la figura 2.1(b) muestra
una representacion de este tipo de vecindad.
2.2.3. Conectividad
Otro concepto importante es el de conectividad entre pıxeles, este concepto es es-
pecialmente explotado en la deteccion de regiones u objetos presentes en una determinada
10 Capıtulo 2: Elementos de vision por computadora
(a) (b)
Figura 2.2: Influencia de la vecindad en la conectividad de los pıxeles. (a) Resultado alconsiderar conectividad-4 y (b) resultado al considerar conectividad-8.
imagen. La conectividad se define como una situacion de adyacencia y vecindad, de manera
similar al caso de la vecindad suelen definirse dos tipos de conectividades, la conectividad-4 y
la conectividad-8. Si se considera una imagen binaria (una imagen cuyos pıxeles solo pueden
adoptar el valor uno o cero), se dice que dos pıxeles I(m1, n1) y I(m2, n2), cuyos valores en la
imagen son uno, estan conectados con conectividad-4 o conectividad-8 si ambos se encuen-
tran en relacion de 4-vecinos u 8-vecinos respectivamente. La figura 2.2 muestra un claro
ejemplo de la importancia del concepto de conectividad, de considerarse la conectividad-4
un analisis de la figura indicarıa que en ella existen 2 objetos, mientras que en el caso de
ser analisada con el enfoque de conectividad-8, se tendrıa que la imagen solo contiene una
figura.
2.3. Histograma
Los histogramas son distribuciones que describen la frecuencia con la que se pre-
sentan los valores de intensidad de la imagen. En el caso mas sencillo los histogramas son
mejor entendidos por medio de imagenes a escala de grises. Para una imagen a escala de
grises I[m, n] con intensidades en el intervalo I(u, v) ∈ [0, k − 1], su histograma H con-
tendra exactamente K diferentes valores, en el caso de una tıpica imagen a escala de grises
de 8 bits, el valor de K = 28 = 256. Cada valor del histograma es definido de la siguiente
manera:
h(i) = card{(u, v) | I(u, v) = i} (2.2)
donde card{· · · } representa la cardinalidad, es decir el numero de elementos, de esta manera
tenemos por ejemplo que h(0) es el numero de pıxeles contenidos en la imagen I[m, n]
con valor igual a cero. Como resultado del calculo del histograma se obtiene un vector
2.3. Histograma 11
5
10
15
1 2 3 4 5 6 7 8 90 10 11 12 13 14 15
8 píxeles con un valor de intensidad 3
11 9 4 8 6 3 8 14 4 15 6 119 200h(i)
1 2 3 4 5 6 7 8 90 10 11 12 13 14 15
Figura 2.3: Un histograma con 16 posibles valores de intensidad. El ındice de los elementosdel vector i=0,...,15 representa el valor de intensidad. El valor 8 en el elemento 3 significaque en la correspondiente imagen el valor de intensidad 3 aparece 8 veces.
unidimensional h con una longitud K, tal y como se muestra en la figura 2.3, donde K=16.
Dado que el histograma no proporciona informacion acerca de la relacion espacial de los
pıxeles en la imagen, resulta imposible reconstruir una imagen a partir de su histograma y
es por esta misma razon que imagenes diferentes pueden compartir el mismo histograma.
Sin embargo, el histograma muestra importantes caracterısticas de una imagen, entre ellas
el contraste y el rango dinamico, los cuales pueden presentar deficiencias a consecuencia de
problemas durante la captura de la imagen.
2.3.1. Segmentacion por umbral
El segementacion de imagenes por medio de un umbral es una de las practicas
mas comunes para la deteccion de objetos ya que se eliminan muchos datos no necesarios
para el proceso. Este tipo de operacion puede considerarse como una forma especial de
cuantificacion en la cual los pıxeles de la imagen son divididos en dos clases, dependiendo
de un umbral predefinido pth. Todos los pıxeles de la imagen asumen uno de dos valores p0
12 Capıtulo 2: Elementos de vision por computadora
o p1 dependiendo de la relacion que guarden con el umbral, definido formalmente como:
O(m, n) =
p1 si I(m, n) < pth
p2 si I(m, n) ≥ pth
(2.3)
Una aplicacion simple de esta operacion es la binarizacion de una imagen a escala de grises
en cuyo caso p1 = 0 y p2 = 1, un ejemplo de este proceso puede apreciarse en la figura ??.
El proceso de binarizacion suele ser aplicado en el campo de la vision industrial, donde los
objetos suelen ser discriminados en base al brillo que presentan, de la misma manera, para
facilitar el reconocimiento de los objetos, esots son colocados sobre fondos con intensidad
de brillo muy diferente para evitar confusiones. Existen algunos casos en los que dos clases
no son suficientes, en general el proceso de segmentacion puede ser extendido a cuantas
clases sea necesario, considerando la cantidad de umbrales necesarios, si se busca segmentar
la imagen en c clases, es necesario contar con c − 1 umbrales, esto puede ser definido
formalmente de la siguiente manera:
O(m, n) =
p1 si I(m, n) < pth1
p2 si pth1 ≤ I(m, n) < pth2
......
pc−1 si pthc≤ I(m, n) < pthc−1
pc si I(m, n) ≥ pthc−1
(2.4)
2.4. Etiquetado de objetos
El etiqueta de objetos es una tecnica clasica de procesamiento de imagenes cuyo
algoritmo se compone esencialmente de dos pasos: 1) De un etiquetado temporal de los
objetos y 2) de la resolucion de colisiones. Aunque el metodo puede considerarse complejo
en su entendimiento, debido a su bajo consumo de memoria y recursos computacionales es
ampliamnente utilizado por la comunidad de vision por computadora, es por ello que se
realiza una breve descripcion de el a lo largo de esta seccion.
2.4. Etiquetado de objetos 13
2.4.1. Paso 1. Etiquetado temporal de objetos
Durante este primer paso se realiza un recorrido de la imagen de izquierda a derecha
y de arriba hacia abajo. En cada recorrido se le asigna a cada pıxel I(m, n) una etiqueta
temporal. Para definir el valor de la etiqueta se hace uso de una mascara que dependera del
tipo de vecindad definida, las mascaras correspondientes a las vecindades de tipo 4-vecinos
y 8-vecinos serıan:
L4(m, n) =
· L2 ·
L1 x ·
· · ·
L8(m, n) =
L2 L3 L4
L1 x ·
· · ·
(2.5)
Donde x identifica al pıxel actual en la posicion (m, n). En el caso de de 4-vecinos son
solo considerados los pıxeles L1 = I(m − 1, n) y L2 = I(m, n − 1), mientras que en el
caso de los 8-vecinos se consideran cuatro pıxeles, en este caso se tiene L1 = I(m − 1, n),
L2 = I(m − 1, n − 1), L3 = I(m, n − 1) y L4 = I(m + 1, n − 1). Una vez definido el tipo
de vecindad a considerar se realiza el recorrido de la imagen de la manera previamente
mencionada considerando que los objetos a etiquetas estas formados por los pıxeles con
valor uno y el fondo por los pıxeles con valor cero, ademas los pıxeles que se encuentran
fuera de los lımites de la imagen son considerados con valor cero. Si durante el recorrido de
la imagen el valor del pıxel I(m, n) es uno, entonces se le asigna una nueva etiqueta o bien se
le asigna una ya existente en caso de que alguno de sus vecinos L(m, n) ya posea una. Si dos
o mas vecinos contienen diferentes etiquetas, se presenta una colision, en este caso el pıxel
bajo analisis toma el valor del vecino con el menor indice y la colision queda registrada para
su posterior resolucion durante el paso 2. Al finalizar el paso 1 se cuenta con dos arreglos
de datos, el primero contiene las etiquetas asignadas y el segundo las colisiones registradas,
para el caso del resultado final de la figura 2.4 las etiquetas serıan E = {2, 3, 4, 5, 6, 7},
mientras que las colisiones C = {〈2, 4〉, 〈2, 5〉, 〈2, 6〉}.
2.4.2. Paso 2. Resolucion de colisiones
La tarea del segundo paso consiste en resolver las colisiones registradas en el primer
paso. Es decir, al finalizar el primer paso es probable que algunos pıxeles pertenecientes al
14 Capıtulo 2: Elementos de vision por computadora
00
0 500
00
5 500
00
0 060
60
0 020
00
2 220
20
2 000
22
2 220
22
2 220
00
0 330
30
0 000
20
2 220
20
2 220
40
4 000
24
2 000
00
07
07
00
00
00
02
00
02
00
00
00
00
00
Figura 2.4: Resultado del paso uno en el proceso de etiquetado de objetos, las colisiones deetiquetas son representadas mediante cırculos.
5
2
46
3
7
Figura 2.5: Representacion de colisiones y etiquetas mediante nodos de un grafo.
mismo objeto tengan asignadas etiquetas diferentes resultando dando entonces la impresion
erronea de pertenecer a objetos diferentes siendo que en realidad son parte del mismo objeto,
problema que debe ser resuelto. Esta tarea es identica al problema de encontrar componentes
conectados de un grafo, donde las etiquetas asignadas en el paso 1, E representan los nodos
del grafo, mientras que las colisiones C sus conexiones (figura 2.5). Despues del recuento de
las diferentes etiquetas pertenecientes a un mismo objeto, el valor de la etiqueta de cada
pıxel de ese objeto es sustituido por una etiqueta general correspondiente a la mas pequena
de las contenidas en el (vease figura 2.6). Al finalizar este paso se tiene la certeza de que en
la imagen analizada existen tantos objetos como diferentes etiquetas en el arreglo E.
2.5. Operaciones morfologicas 15
00
0 200
00
2 200
00
0 020
20
0 020
00
2 220
20
2 000
22
2 220
22
2 220
00
0 330
30
0 000
20
2 220
20
2 220
20
2 000
22
2 000
00
07
07
00
00
00
02
00
02
00
00
00
00
00
Figura 2.6: Resultado del proceso de etiquetado de objetos despues del segundo paso. To-das las etiquetas asignadas temporalmente son sustituidas por la etiqueta mas pequenacontenida en el objeto.
0
1
0
1
1
1
0
1
0
Punto de referencia
Figura 2.7: Ejemplo de una estructura de referencia para operaciones morfologicas binarias.
2.5. Operaciones morfologicas
Las operaciones morfologicas se refieren a la aplicacion en las imagenes de filtros
capaces de modificar las estructuras presentes en ellas, este tipo de filtros fueron desarrolla-
dos para su aplicacion en imagenes binarias y es ahı donde se aplican con mayor frecuencia,
sin embargo, tambien han encontrado una amplia area de aplicacion en las imagenes a escala
de grises. Las operaciones de erosion y dilatacion son dos de las operaciones morfologicas
fundamentales, de forma general se puede decir que la dilatacion de una estructura con-
siste en anadir a esta una capa de pıxeles, mientras que la erosion consiste en eliminar
una capa de pıxeles. Para toda operacion morfologica resulta necesario definir una matriz
llamada estructura de referencia y comunmente representada por la letra H. Al igual que
una imagen binaria, la estructura de referencia contiene solo elementos con valor 0 o 1, es
decir H(i, j) ∈ {0, 1}, ademas posee su propio sistema de coordenadas, teniendo al punto
de referencia (vease figura 2.7) como origen. Para la descripcion formal de las operaciones
morfologicas resulta mas practico describir las imagenes como conjuntos, cuyos elementos
16 Capıtulo 2: Elementos de vision por computadora
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
2
3
4
5
0 1 2 3 4 5
0
0
0
0
1
1
0
0
0
0
1
2
0 1 2
{(1,1), (2,4), (4,5)}IP = {(1,1), (2,1)}HP =
Figura 2.8: Descripcion de una imagen binaria I y una estructura de referencia H comoconjuntos de pares de coordenadas PI y PH .
pueden ser referenciados mediante coordenadas bidimensionales. Por ejemplo, una imagen
binaria I(m, n) consiste de un conjunto de puntos PI cuyos pares de coordenadas corre-
sponden a los puntos cuyo valor de pıxel es 1, lo cual puede ser definido como:
PI = {(m, n)|I(m, n) = 1} (2.6)
Como se muestra en la figura 2.8, no solo la imagen puede ser descrita mediante la notacion
de conjuntos definida anteriormente sino tambien la estructura de referencia. Mediante esta
descripcion resulta sencillo definir las operaciones que se realizan sobre imagenes binarias.
Por ejemplo la inversion de una imagen binaria que intercambia el valor de los pıxeles de 1
a 0 y viceversa puede definirse como el conjunto complemento, tal que:
P¬I = P I (2.7)
Donde ¬I define la inversion de I. De igual manera si dos imagenes binarias I1 e I2 son
unidas elemento a elemento a traves de la funcion logica OR, entonces la definicion de esta
operacion en formato de conjuntos puede expresarse como:
PI1∨I2 = PI1 ∪ PI2 (2.8)
2.5. Operaciones morfologicas 17
0
0
0
0
1
1
0
1
0
0 0 0
0
0
0
0
0
1
2
3
0 1 2 3
0
0
0
0
1
0
0
1
0
-1
0
1
-1 0 10
0
0
0
1
1
0
1
1
0 0 0
0
1
0
0
0
1
2
3
0 1 2 3
I H I H⊕
Figura 2.9: Ejemplo de dilatacion. A la imagen binaria I se le aplica la operacion de dilat-acion utilizando la estructura H.
2.5.1. Dilatacion
La dilatacion es una operacion morfologica correspondiente a la idea intuitiva del
crecimiento, o de anadir una capa de pıxeles a los objetos presentes en la imagen. La manera
especıfica en la que es controlado el crecimiento es por medio de la estructura de referencia.
Esta operacion es definida en la notacion de conjuntos de puntos como:
I ⊕ H = {(m′, n′) = (m + i, n + j)|(m′, n′) ∈ PI , (i, j) ∈ PH} (2.9)
Como indica la expresion 2.9, el conjunto de puntos que constituyen a la dilatacion de
una imagen I por la estructura H, queda definido por todas las posibles combinaciones de
los pares de coordenadas de los conjuntos de puntos PI y PH . La operacion de dilaticion
puede ser interpretada como el resultado de anadir a los pıxeles 1 de la imagen PI la forma
correspondiente a la estructura de referencia. En ejemplo de lo anterior puede observarse
en la figura 2.9.
2.5.2. Erosion
La operacion quasi-inversa de la operacion dilatacion es la erosion, la cual expre-
sada en la notacion de conjunto de puntos es definida como:
I H = {(m′, n′)|(m′ + i, n′ + j) ∈ PI(i, j),∀(i, j) ∈ PH} (2.10)
Esta expresion dice que para cada punto (m′, n′) de la imagen, el resultado se componte por
los puntos (m′, n′) para los cuales todos los posibles valores (m′ + i, n′ + j) se encuentran
18 Capıtulo 2: Elementos de vision por computadora
0
0
0
0
1
1
0
1
0
0 0 0
0
0
0
0
0
1
2
3
0 1 2 3
0
0
0
0
1
0
0
1
0
-1
0
1
-1 0 10
0
0
0
1
0
0
0
0
0 0 0
0
0
0
0
0
1
2
3
0 1 2 3
I H I H�
(1,1) (1,2) (2,1)
(0,0) (0,1) (0,0) (0,1)(0,0) (0,1)
(1,1) (1,2)
I∈
(1,2) (1,3)
I∉
(2,1) (2,2)
I∉
Figura 2.10: Ejemplo de erosion. La imagen I es erosionada a traves de la estructura dereferencia H.
en I. La figura 2.10 muestra un ejemplo del proceso de erosion aplicado a una imagen I
por la estructura H. Este proceso puede ser interpretado de la siguiente manera: Un pıxel
(m′, n′) resultado de la erosion es igual a uno si la estructura de referencia centrada en este
pıxel coincide en forma con el contenido de la imagen. En la figura 2.10 puede observarse
como el pıxel de I con coordenadas (1, 1) al sumarse con los elementos (0, 0) y (0, 1) de la
estructura de referencia se obtienen los puntos (1, 1) y (1, 2) los cuales forman parte de la
imagen I, por lo que el resultado de la erosion sera uno en la posicion (1, 1). En cambio,
para los pıxeles en las posiciones (1, 2) y (2, 1) no se cumple la condicion anterior, por lo
que el resultado es cero. En resumen, la estructura de referencia centrada en el pıxel (1, 1)
de la imagen coincide en forma con el contenido de la imagen es por ello que el resultado
de la erosion para este pıxel es 1.
2.5.3. Propiedades de la dilatacion y erosion
Las operaciones de dilatacion y erosion no pueden ser consideradas en el sentido
estricto inversas, debido a que no es posible reconstruir completamente una imagen erosion-
2.6. Deteccion de bordes 19
ada mediante la aplicacion sucesiva de dilataciones, los mismo aplica en sentido inverso. Sin
embargo presentan una estrecha relacion dual, ya que una dilatacion de los pıxeles con valor
uno de una imagen puede llevarse a cabo realizando una erosion del fondo. Esto puede ser
expresado como:
I H = I ⊕ H (2.11)
La dilatacion al igual que la convolucion presenta las propiedades de conmutatividad y
asociatividad, por lo que es valido decir:
I ⊕ H = H ⊕ I (2.12)
ası como:
(I1 ⊕ I2) ⊕ I3 = I1 ⊕ (I2 ⊕ I3) (2.13)
Basandonos en estas dos propiedades y en la relacion existente entre la convolucion y la
operacion de dilatacion, tenemos que la estructura de referencia puede ser dividida en es-
tructuras mas pequenas, de tal manera que la velocidad de la operacion completa es menor,
al haber un numero mas pequeno de operaciones. Considerando lo anterior podrıa ser ex-
presada la operacion de dilatacion como:
I ⊕ H = (I ⊕ H1) ⊕ H2 (2.14)
Donde H1 y H2 corresponden a las estructuras de referencia en las que fue dividida H. Por
su parte la erosion no presenta esta propiedad, es decir:
I H 6= H I (2.15)
2.6. Deteccion de bordes
Caracterısticas en una imagen tales como bordes y contornos, los cuales son detec-
tados a traves de cambios locales de intensidad o de color, juegan un papel importante en
la interpretacion de imagenes. La subjetiva “claridad” de una imagen tiene relacion directa
con las discontinuidades y nitidez de las estructuras presentes en ella. Los bordes de los ob-
jetos son tan importantes para el sistema de vision humana que este es capaz de interpretar
las clases de los objetos presentes en una imagen a partir de unos pocos trazos.
20 Capıtulo 2: Elementos de vision por computadora
Los bordes a grosso modo pueden ser considerados como puntos en una imagen
en los cuales la intensidad en una determinada direccion cambia drasticamente. El valor de
borde para un punto en la imagen depende unicamente de la magnitud del cambio presen-
tado en ese punto. El tamano del cambio es calculado normalmente a partir de la derivada,
la cual es utilizada como uno de los enfoques mas importantes para la determinacion de los
bordes de una imagen.
2.6.1. Deteccion de bordes con tecnicas basadas en el Gradiente
Para entender de una manera mas sencilla el funcionamiento de las tecnicas para
deteccion de bordes basadas en el Gradiente se considera el analisis a lo largo de una sola
dimension de una imagen con una region blanca al centro rodeada de un fondo oscuro como
la de la figura 2.11(a). El perfil en escala de grises a lo largo de una lınea de la imagen antes
citada podria verse como lo muestra la figura 2.11(b). Definiendo esta senal unidimensional
como f(u) se tiene que su primera derivada es:
f ′(u) =df
du(u) (2.16)
ası se tiene un valor de derivada o pendiente positiva en todo lugar donde la intensidad
aumente y una negativa donde la intensidad disminuya. Dado que la imagen es un arreglo
de valores discretos, resulta necesario hacer un replanteamiento de la operacion derivada.
Tomando en consideracion que la derivada de una funcion continua en un punto x puede
ser interpretada como la pendiente de la tangente a ese punto en particular, se tiene que
para el caso discreto la derivada de un punto u puede ser calculada a partir de la diferencia
existente entre los puntos vecinos a u dividido por el valor de muestreo entre ambos puntos,
quedando de la siguiente manera:
df
du(u) ≈
f(u + 1) − f(u − 1)
2= 0.5(f(u + 1) − f(u − 1)) (2.17)
El mismo proceso puede llevarse a acabo en el sentido vertical. La derivada parcial puede
ser considerada como la derivada de una funcion multidimensional a lo largo de un solo eje
coordenado (con respecto a una de las variables de la funcion), por ejemplo, las derivadas
parciales de la imagen I(m, n) con respecto a la variable m o n son representadas de la
2.6. Deteccion de bordes 21
0
(a) (b)
0
( )f u
'( )f u
Figura 2.11: Primera derivada en el caso unidimensional obtenido a partir del perfil hori-zontal de la imagen. Imagen original (a) y (b) la derivada f ′(u) del perfil obtenido.
siguiente manera:
δI
δm(m, n) y
δI
δn(m, n) (2.18)
El vector:
∇I(m, n) =
δIδm
(m, n)
δIδn
(m, n)
(2.19)
representa el vector gradiente de la imagen I en el punto (m, n). Si desea encontrarse la
orientacion del gradiente, basta con calcular el valor de la siguiente expresion trigonometrica:
θ = arctan
(
∇Im
∇In
)
(2.20)
La magnitud del gradiente tiene la caracterıstica de ser invariante a rotaciones y con ello
tambien de la orientacion de las estructuras en la misma y esta dado por:
|∇I| =
√
(
δI
δm
)2
+
(
δI
δn
)2
(2.21)
Esta propiedad es importante para la localizacion de los puntos borde de la imagen, por
ello es el valor de |∇I| el valor practico utilizado en la mayorıa de los algoritmos utilizados
para la deteccion de bordes.
22 Capıtulo 2: Elementos de vision por computadora
2.6.2. Filtro de Canny
El detector de bordes de Canny [12] se basa en la aplicacion de una serie de filtros
en direcciones y resoluciones diferentes, los cuales al final son combinados en un resultado
unico. El metodo busca lograr tres objetivos, (a) minimizar el numero de bordes falsos, (b)
localizar de una manera mas precisa los bordes en la imagen y (c) entregar una imagen
cuyo ancho de borde es un pıxel. Para lograr estos requerimientos Canny utilizo el calculo
de variaciones - una tecnica que encuentra la funcion que optimiza un funcional dado.
La funcion optima en el detector de Canny esta dada por la suma de cuatro terminos
exponenciales, pero puede ser aproximada por la primera derivada de una Gaussiana. El
algoritmo de Canny cuenta con cuatro etapas principales, las cuales se describen a grandes
rasgos a continuacion:
• Reduccion del ruido: El detector de bordes de Canny es suceptible a la clase de ruido
comunmente presente en imagenes que no han recibido algun tipo de procesamiento
previo, es por ello que el primer paso de este algoritmo consiste en utilizar un filtro
Gaussiano, de esta manera se obtiene una version levemente borrosa de la imagen
original que no se ve afectada de manera significativa por ningun pıxel con ruido.
Para calcular el filtro Gaussiano solo es necesario especificar el valor de su desviacion
estandar, usualmente este valor se encuentra entre 1 y 2.
• Calculo del gradiente de la imagen: Dado que los bordes presentes en la imagen
pueden tener cualquier orientacion, el algoritmo de Canny utiliza cuatro diferentes
filtros para detectar bordes horizontales, verticales y diagonales en la imagen borrosa
resultante del paso anterior. El operador del detector de bordes (Roberts, Prewitt y
Sobel son algunos de los comunmente empleados) regresa un valor para la primera
dereivada en direccion horizontal (Gy) y direccion vertical (Gx). A partir de aqui se
pueden determinar tanto la direccion, como la magnitud del gradiente utilizandos las
formulas 2.20 y 2.21 descritas previamente.
• Supresion de no-maximos: Una vez calculado la orientacion y magnitud del gra-
diente de la imagen, se realiza una busqueda para determinar si un pıxel es maximo
2.6. Deteccion de bordes 23
o no en su orientacion. Este proceso suele llevarse a cabo con una matriz de dimen-
siones 3x3 sobre el mapa de intensidades del gradiente obtenido del paso anterior. El
resultado de este paso son un conjunto de puntos que forman una imagen binaria con
los que son conocidos como “bordes finos”.
• Trazo de los bordes y umbralizacion con histeresis: Es evidente que resulta
mas probable que un pıxel con alto valor de gradiente pertenezca a un borde que uno
con bajo valor, pero es en extremo complicado encontrar un valor adecuado de umbral
a partir del cual se puede considerar un pıxel como parte de un borde, es por esto que
el metodo propuesto por Canny utiliza un tipo de umbralizacion con histeresis, la cual
hace uso de dos umbrales, uno que funciona como limite superior y otro como inferior.
Suponer que todos los bordes importantes se encuentran sobre curvas continuas nos
permite considerar secciones de curvas con valores bajos de gradiente y descartar
alguno pıxeles con valor alto de gradiente que no representan bordes. Es por ello que
este paso comienza aplicando la umbralizacion con el lımite superior, de esta forma
encontramos aquellos puntos de los cuales podemos estar seguros que pertenecen a un
borde, esto en conjunto con la orientacion de los gradientes previamente calculada sirve
para trazar las curvas que representen los bordes encontrados, a la vez que se realiza
este proceso de trazado, se lleva a cabo la umbralizacion con el lımite inferior y se
rescatan todos aquellos pıxeles que pasen este umbral siempre y cuando se encuentren
dentro de una de las curvas trazadas.
El resultado final de este proceso es una imagen binaria en la cual cada pıxel-borde aparece
con valor uno y todo aquel pıxel que no es considerado como borde aparece con valor cero.
La figura [reffig:eg-canny] muestra algunos resultados obtenidos aplicando el filtro de Canny
a la misma imagen con diferentes valores para σ.
2.6.3. Gradiente morfologico
Otro metodo que puede ser utilizado para la deteccion de bordes en imagenes es el
conocido como gradiente morfologico, el cual es un metodo totalmente basado en operaciones
morfologicas, para el caso de las imagenes en escala de grises, el gradiente morfologico se
24 Capıtulo 2: Elementos de vision por computadora
(a) (b)
(c) (d)
Figura 2.12: Algoritmo de Canny aplicado a una imagen. (a) Imagen original, (b) bordesde la imagen con σ = 0.1, (c) bordes de la imagen con σ = 0.2 y (d) bordes de la imagencon σ = 0.35.
2.6. Deteccion de bordes 25
(a) (b)
(c)
Figura 2.13: Gradiente morfologico aplicado a una imagen a escala de grises. (a) Imagenoriginal, (b) el resultado del gradiente morfologico y (c) resultado de umbralizacion.
encuentra descrito por la siguiente formula:
δM = (I ⊕ H) − (I H) (2.22)
La figura 2.13(b) muestra el resultado de aplicar este proceso a la imagen de la figura
2.13(a), el paso que completa el procedimiento es la umbralizacion de la matriz de valores
con lo cual se obtiene una imagen binaria como la que se puede apreciar en la figura 2.13(c).
El gradiente morfologico tambien puede ser aplicado a imagenes binarias, en cuyo caso los
calculos a realizar se encuentran representados en la siguiente formula:
δM = (I) ∧ (I H) (2.23)
Las diferentes etapas de este procesamiento pueden apreciarse en la figura 2.14.
26 Capıtulo 2: Elementos de vision por computadora
(a) (b)
Figura 2.14: Deteccion de bordes usando el gradiente morfologico. (a)Imagen original y (b)imagen de los bordes obtenida despues de aplicar el gradiente morfologico.
2.7. Algoritmo del punto medio para el trazado de cırculos
El algoritmo del punto medio para el trazado de cırculos (MCA), es un algoritmo
utilizado para determinar los puntos necesarios para dibujar un cırculo. Aunque el algo-
ritmo es conocido por muchas personas como algoritmo de cırculo de Bresenham debido a
que su funcionamiento es similar al del algoritmo de lınea de Bresenham [10], este metodo
en realidad se encuentra intimamente relacionado a los trabajos desarrollados por Pitteway
[42] y van Aken [53]. El algoritmo comienza considerando la formula general de la circun-
ferencia x2 +y2 = r2, es decir, los calculos se hacen considerando el centro del cırculo en las
coordenadas (0, 0). Primero se considera solo el primer octante y se dibuja una curva que
comienza en el punto (r, 0) y avanza hacia arriba y la izquierda hasta lograr un angulo de
45◦. Resulta necesario tener presente el que el sistema coordenado que se utiliza en el area
de vision por computadora no es el cartesiano sino el correspondiente a las matrices, por lo
que se tiene que el punto de inicio (m, n) es (0, r), el procedimiento para generar el primer
octante de la circunferencia se describe en la tabla 2.2.
2.7. Algoritmo del punto medio para el trazado de cırculos 27
Paso 1: Se inicializa el valor P0 = 1 − r.
Paso 2: Se guardan los valores coordenados (mi, ni) en el arreglo puntos, donde
puntos(1) = (0, r)
Paso 3: Mientras n > m
Paso 4: si p0 < 0 entonces
puntos(i) = (mi−1 + 1, ni−1)
p0 = p0 + 2mi + 1
si no
puntos(i) = (mi−1 + 1, ni−1 − 1)
p0 = p0 + 2mi + 1 − 2ni
Paso 5: i = i + 1
Paso 6: fin de mientras
Paso 7: Se invierten los valores del primer octante y por simetria se obtiene el
primer cuadrante
Paso 8: Se reflejan los valores de coordenadas obtenidos para encontrar los cuad-
rantes restantes
Paso 9: Se desplazan las coordenadas encontradas de la circunferencia para hacer
coincidir el centro de la circunferencia actualmente en el origen del plano
con el centro real.
Tabla 2.2: Pasos del MPA para generar los puntos que conforman una circunferencia.
28 Capıtulo 2: Elementos de vision por computadora
2.8. Revision del capıtulo
El presente capıtulo se enfoca totalmente a la revision de los conceptos de vision
por computadora utilizados en este trabajo, tanto para la solucion general propuesta al
problema de deteccion de cırculos como para el caso de estudio que se presenta en el capıtulo
8.
Capıtulo 3
Learning Automata
3.1. Introduccion
Los algoritmos de LA [37] han captado la atencion de multiples investigadores a
lo largo de las ultimas tres decadas. Los LA son dispositivos disenados para la toma de
desiciones en ambientes estocasticos desconocidos, su principal caracterıstica es que son
adptables al ambiente en el cual se desarrollan, mejorando su rendimiento mediante un
proceso de aprendizaje. En un principio fueron utilizados por psicologos y biologos para
describir el comportamiento humano desde sus correspondientes puntos de vista, uno de
los primeros trabajos de los cuales se tiene registro, fue desarrollado en la antigua Union
Sovietica por Tsetlin [51]. El termino “Learning Automata (LA)” fue publicado por primera
vez en el estudio desarrollado por Narendra y Thathachar [36] aunque se sabe del uso previo
del termino. LA ha tenido un impacto significativo en todas las areas de la ingenierıa, pues
pueden ser aplicados en una amplia gama de problemas de modelado, caracterizados por ser
no lineales y tener un alto grado de incertidumbre. Learning Automata cuenta con la venta-
ja de converger rapidamente a valores precisos sin que esto represente una alta complejidad
de computo. El aprendizaje se define como cualquier cambio permanente en el compor-
tamiento resultado de una experiencia, por lo que un sistema de aprendizaje debe ser capaz
de mejorar su comportamiento con el paso del tiempo, hasta lograr un objetivo. Desde un
punto de vista estrictamente matamatico, la meta de un sistema de aprendizaje es lograr la
29
30 Capıtulo 3: Learning Automata
optimizacion de una funcion que no se conoce explicitamente. En 1971, Tsypkin [52] intro-
dujo un metodo para reducir el problema a la determinacion de un conjunto de parametros
optimo y posteriormente aplicar tecnicas estocasticas de gradiente descendiente. Tsetlin
[51] comenzo su trabajo sobre LA durante el mismo periodo. Un enfoque alternativo al de
gradiente descendiente, propuesto por Narendra y Viswanathan [35], consiste en encontrar
la accion optima a partir de un conjunto de acciones elegibles y en lograrlo utilizando un
automata estocastico. La principal diferencia entre los dos enfoques radica en que el primero
se actualiza en el espacio de parametros, mientras que el segundo lo hace en el de probabil-
idades. El automata estocastico busca una accion al problema sin conocimiento alguno de
cual es la accion optima. Se selecciona una accion de forma aleatoria, se observa la respuesta
del sistema, las probabilidades de las acciones son actualizadas en base a esta respuesta, y
el proceso se repite. Es al automata estocastico que presenta este comportamiento al que
se le conoce como Automata de aprendizaje (LA). En este capıtulo se realiza una revision
general de los conceptos basicos de LA entre ellos los tipos de ambientes, el conjunto de
acciones y el de probabilidades asociadas a las mismas; profundizando de manera especial
en aquellos que resulta de particular importancia para el correcto funcionamiento del detec-
tor de cırculos propuesto en este trabajo. Particular importancia recibe el tema de la regla
de aprendizaje utilizada y su capacidad de mantener informacion sobre la ubicacion de los
optimos locales visitados durante el proceso de aprendizaje.
3.2. El ambiente
El termino ambiente usualmente se refiere al conjunto de condiciones e influencias
que afecta la vida y el desarrollo de un organismo. Sin embargo, resulta dificir encontrar
una definicion tan concreta en el contexto del LA (o en general de la teorıa de sistemas).
La definicion consiste de un amplio grupo de condiciones aleatorias en el que un atomata o
un grupo de estos es capaz de operar. En LA, un ambiente 3.1 se define matematicamente
por medio del vector {α, c, β}, donde α = {α1, α2, . . . , αr} representa un conjunto finito
de entradas, β = {β1, β2} representa un conjunto binario de salidas, y c = {c1, c2, . . . , cr}
un conjunto de probabilidades de castigo, donde cada elemento ci de c corresponde a una
3.2. El ambiente 31
Ambiente SalidaAcciones
1 2{ , ,..., }rα α α α= 1 2{ , ,..., }rc c c c= {0,1}β =
Figura 3.1: El ambiente.
entrada αi. La entrada α(n) al ambiente pertenece a α y puede ser considerada como
aplicada en el instante discreto t = n(n = 0, 1, 2, . . . ). La respuesta β(n) del ambiente
pertenece a β y puede tomar uno de dos valores β1 o β2. Por conveniencia β1 y β2 son
elegidos para ser 0 y 1 respectiavamente, donde una respuesta β(n) = 1 es considerada
como no favorable, mientras que β(n) = 0 se considera una respuesta favorable por parte
del ambiente. El elemento ci de c, el cual caracteriza el ambiente puede ser entonces definido
como:
Pr(β(n) = 1|α(n) = αi) = ci (i = 1, 2, . . . , r) (3.1)
Consecuentemente, ci representa la probabilidad de que la aplicacion de una accion αi al
ambiente resulte en una respuesta no favorable por parte del sistema. De la definicion ante-
rior se puede decir que el ambiente se encuentra definido de manera implicita en terminos
del conjunto de acciones de entrada α y el conjunto de respuestas β. Como sucede en to-
das las aplicaciones practicas de la teorıa de sistemas, definir un modelo matematico del
ambiente en terminos de los parametros descritos previamente constituye uno de los pasos
mas complejos cuando se analiza un problema real. Esto resulta particularmente evidente
al momento de trabajar en areas como la de procesamiento de imagenes y comprension de
imagenes. Se puede decir entonces que la naturaleza del ambiente se vera determinada por
la complejidad de las acciones permitidas ası como sus correspondientes respuestas.
El conjunto de acciones de entrada puede asumir una amplia variedad de formas,
esto depende del tipo de problema que se desea abordar, puede ir desde un conjunto de
acciones representadas por un escalar diferente cada una de ellas hasta una secuencia de
valores o instrucciones; en general debe considerarse el conjunto de acciones de entrada como
un conjunto finito de opciones a elegir para alimentar al sistema. El conjunto de respuestas
del sistema ha sido considerado como binario hasta el momento, este tipo de modelos en
los cuales solo se permiten dos valores para las salidas del sistema son llamados modelos
32 Capıtulo 3: Learning Automata
tipo P , usualmente este tipo de modelos requieren de la umbralizacion de la salida para
que esta pueda ser expresada por medio de dos valores. Una siguiente generalizacion del
sistema permite un conjunto finito de respuestas del sistema con valores en el intervalor
[0, 1]. Esto se logra por medio de la normalizacion y cuantizacion del indice de rendimiento,
este tipo de modelos son denominados como tipo Q. Cuando la salida del sistema (i.e., el
indice de rendimiento) es una variable aleatoria continua que toma valores en el intervalos
[0, 1], este es conocido como tipo S. Los modelos tipo Q y S proveen una mejora en la
discriminacion de de la naturaleza de la respuesta del ambiente a una accion en particular
por lo que resultan de gran utilidad.
3.3. El Automata
El concepto de automata, como es entendido en la teorıa de automatas, es un
concepto muy general que implica una amplia gama de sistemas abstractos. Si Φ es un
conjunto de estados internos, β un conjunto de entradas, α un conjunto de salidas o acciones
del automata, F (·, ·) : Φ × β → Φ una funcion que mapea el estado y entrada actual en el
nuevo estado, y H(·, ·) : Φ × β → α una funcion que mapea el estado y la entrada actual
en la accion a elegir, de esta manera, el automata queda definido por medio del vector de
caracterısticas {Φ, α, β, F (·, ·), H(·, ·)}. En este automata la respuesta del sistema percibida
por el automata en conjunto con su estado actual determinan el siguiente estado del sistema
ası como la nueva accion. Si la salida del sistema depende exclusivamente del estado del
automata en ese instante, el automata se clasifica como de estado-accion. En dicho caso
la funcion H(·, ·) es remplazada por una funcion de salida G(·) : Φ → α. Ambos tipos de
automatas son finitos si los conjuntos Φ, β, y α son finitos. Los automatas de estado-accion
son tambien conocidos como maquinas secuenciales estocasticas y pueden ser descritas de
manera precisa en los siguientes terminos [40]:
(i) El estado del automata en cualquier instante n, denotado por φ(n), es un elemento del
conjunto finito
Φ = {φ1, φ2, . . . , φs}. (3.2)
(ii) La salida o accion de un automata en el instante n, denotada por α(n), es un elemento
3.3. El Automata 33
El estadoConjunto de SalidaConjunto de entrada
ó1 2{ , ,..., }rα α α α=
1 2{ , ,..., }sφ φ φ φ=1 2{ , ,..., }mβ β β β=
{( , )}a b
Función de transición :F φ β φ× →
Función de salida :G φ α→
Figura 3.2: El automata.
del conjunto finito
α = {α1, α2, . . . , αr}. (3.3)
(iii) La entrada de un automata en el instante n, denotada por β(n), es un elemento de un
conjunto β. Este conjunto puede ser un conjunto finito o infinito, ası como un intervalo de
valores reales. Entonces
β = {β1, β2, . . . , βn} o β = {(a, b)} (3.4)
donde a, b son numero reales. (iv) La funcion de transicion F (·, ·) determina el estado en el
instante (n + 1) en terminos del estado y la entrada en el instante n
φ(n + 1) = F [φ(n), β(n)] (3.5)
donde F mapea de Φ × β → Φ y puede ser determinıstico o estocastico. (v) La funcion de
salida G(·) determina la salida del automata en cualquier instante n en terminos del estado
actual
α(n) = G[φ(n)] (3.6)
donde G(·) mapea de Φ → α y puede ser determinıstico o estocastico.
De esta manera el automata puede ser definido por medio del vector de carac-
terısticas {Φ, α, β, F (·, ·), G(·)} como se muestra en la figura 3.2. Basicamente el automata
selecciona una secuencia de acciones para aplicar al ambiente y recibe una serie de respues-
tas de parte de este. El comportamiento del automata conforme el tiempo n toma valores
enteros no-negativos 0, 1, 2, . . . puede describirse de la siguiente manera. Dado el estado
inicial φ(0), la accion α(0) es definida por G(). Con la entrada β(0) y la funcion de transi-
cion F (·, ·) se determina el siguiente estado φ(1). Cuando estas operaciones se llevan a cabo
34 Capıtulo 3: Learning Automata
de manera recursiva, la secuencia de estados y la secuencia de acciones son definidas para
cualquier secuencia de entrada posible. Es necesario recalrcar que el estado y la accion en
cualquier instante n dependen exclusivamente del estado y la entrada en el instante previo
n − 1 y de ningun otro estado o accion pasada.
El automata es llamado determinıstico si F y G son ambos determinısticos. En
cuyo caso, para una entrada y estado iniciales, el estado y la accion que le siguen estan
dados de manera unica. Si F o G es estocastico, el automata es llamado estocastico. En este
caso, no existe en general certeza alguna con respecto a los estados y acciones que siguen
a un estado y entrada iniciales; solo es posible considerar probabilidades asociadas a los
estados y acciones sucesivos.
3.3.1. El automata estocastico
Como fue mencionado con anterioridad, un automata es considerado estocasti-
co cuando al menos una de las dos funciones de mapeo F o G es estocastica. Si la fun-
cion de transicion F es estocastica, dado el estado y la entrada actual, el siguiente estado
sera aleatorio y F determina la probabilidad de caer en cualquiera de los estados. De esta
manera, F puede ser especificado en terminos de la matriz de probabilidades condicionales
F (β1), F (β2), . . . , F (βm) donde cada F (βi) de βi ∈ β es una matriz de dimensiones s × s,
cuyas entradas estan dadas por
i = 1, 2, . . . , s
fβij = Pr{φ(n + 1) = φ|φ(n) = φi, β(n) = β}. j = 1, 2, . . . , s
β = β1, β2, . . . , βm
(3.7)
Entonces fβij representa la probabilidad de que al presentarse una esntrada β, el automata
pase de un estado φi a un estado φj . El caso de que la funcion G sea estocastica puede ser
representado de similar manera por medio de una matriz de probabilidad condicional de
dimensiones s × r cuyas entradas estan dadas por
i = 1, 2, . . . , s
gij = Pr{α(n) = αj |φ(n) = φi}.
j = 1, 2, . . . , r
(3.8)
3.3. El Automata 35
Determinıstico La matriz de transicion consiste exclusivamente de valores que son
0 o 1.
Estocastico de es-
tructura fija
Los elementos de F (β) son constantes con valores que se encuen-
tran dentro del intervalo [0, 1] y cada matriz F (β) es estocastica.
Estocastico de es-
tructura variable
Los elementos de F (β) se encuentran en el intervalo [0, 1] y son
actualizados a cada iteracion.
Tabla 3.1: Caracterısticas basicas de los tipos de automatas.
Ası se tiene que gij denora la probabilidad que el estado φi corresponda a la accion αj .
Dado que fβij y gij son probabiliadades, deben encontrarse en el intervalo [0, 1]. Ademas,
partiendo de un estado inicial φi, el automata debera moverse en el siguiente instante a uno
de los otros s estados, por lo que para conservar la medida de probabilidad se tiene
∑sj=1 fβ
ij = 1 para toda β ∈ β e i (3.9)
de manera similar,
∑rj=1 gij = 1 para toda i (3.10)
Estas ecuaciones implican que la suma de la columna de entradas en cada una de las matrices
debe siempre ser igual a la unidad.
3.3.2. Automatas de estructura fija y de estructura variable
Hasta el momento se han considerado las probabilidades condicionales fij y gij
como constantes i.e., totalmente independientes de n y la secuencia de entradas. Este tipo de
automata estocastico es conocido como automata estocastico de estructura fija. Sin embargo
resulta de gran utilidad el que las probabilidades de transicion fij sean actualizadas a cada
paso n en base a la entrada que se presente en ese instante. En este caso, el automata es
llamado automata estocastico de estructura variable. Las caracterısticas basicas de los tipos
de automatas definidos hasta el momento pueden resumirse en la siguiente tabla.
36 Capıtulo 3: Learning Automata
3.3.3. Probabilidades de las acciones y los estados
El comportamiento de las salidas de un automata dada una secuencia de entradas
puede ser obtenido si la transicion de probabilidades es conocida. Sin embargo, frecuente-
mente resulta conveniente conocer la distribucion de probabilidades con la que cuenta un
automata en un estado e instante especıficos. Estas probabilidades son conocidas como
probabilidades de estado y una descripcion alternatıva de la operacion del automata puede
ser dada en terminos de estas probabilidades. Considerando el vector
π(n) = [π1(n), π2(n), . . . , πs(n)]T (3.11)
donde []T se refiere a la transpuesta y
πj(0) = Pr{φ(0) = φj}
πj(n) = Pr{φ(n) = φj |β(0), . . . , β(n − 1)}.
Dado la entrada y el vector inicial de probabilidades del estado π(0), el vector de probabil-
idades del estado en n = 1 puede obtenerse de la siguiente manera:
πj(1) = Pr{φ(1) = φj |β(0)}
=∑s
i=1 Pr{φ(1) = φj |φ(0) = φi, β(0)}Pr{φ(0) = φi}
=∑s
i=1 fβ(0)ij πi(0) = F T (β(0))π(0).
(3.12)
Aplicando la ecuacion 3.12 recursivamente, se tiene que
π(n) = F T (β(n − 1))F T (β(n − 2)) . . . F T (β(0))π(0). (3.13)
De esta manera, el vector de probabilidades del estado puede obtenerse en cualquier instante
en terminos del vector inicial de probabilidades, la matriz de transiciones y la secuencia de
entradas. De forma similar puede considerarse el vector de probabildades de accion p(n)
cuyo i-esimo elemento pi(n) se encuentra dado por
pi(n) = Pr{α(n) = αi|β(0), . . . , β(n − 1)} (i = 1, . . . , r) (3.14)
Ya que
pi(n) =∑s
j=1 Pr{α(n) = αi|φ(n) = φj}Pr{φ(n) = φj |β(0), β(1), . . . , β(n − 1)}
=∑s
j=1 gjiπj(n), utilizando la ecuacion 3.8(3.15)
3.4. Lazo Automata-Ambiente 37
Ambiente aleatorio
Autómata de aprendizaje
{ }c
( )nα ( )nβ
{ , , , , }F Gφ α β
Figura 3.3: Conexion entre el automata.
de ahı que
p(n) = GT π(n). (3.16)
de esta manera es posible trabajar con la probabilidad de estado π(n) o la de acciones p(n).
3.4. Lazo Automata-Ambiente
Una vez definidas las caracterısticas del automata y el ambiente por separado,
resulta necesario considerarlos a ambos con una conexion en lazo cerrado como lo muestra la
figura 3.3, de tal manera que la salida del ambiente β(n) constituye la entrada del automata
y la accion del automata α(n) provee la entrada al ambiente. Partiendo de un estado inicial
φ(0), el automata genera la accion correspondiente α(0). La respuesta del ambiente a esta
entrada es β(0), la cual en su momento, cambia el estado del automata a φ(1). Esta secuencia
de operaciones se repite para resultar en una secuencia de estados, acciones y respuestas
del ambiente. En el caso de los automatas estocasticos de estructura variable, el vector
de probabilidad p(n) o la matriz de transicion de estado F (β) tambien se actualizan a
cada iteracion n. Un automata que se comporta de esta manera en un ambiente aleatorio
desconocido, buscando mejorar su rendimiento de alguna manera especifica, es conocido
como Learning Automata.
38 Capıtulo 3: Learning Automata
3.5. Normas del Comportamiento
Como se menciono en la seccion anterior, un LA genera una secuencia de acciones
en base a su interaccion con el ambiente. Si se dice que el automata “aprende” en el pro-
ceso, su rendimiento debe ser compatible con algunas nociones de aprendizaje. Para lograr
jusgar el proceso de aprendizaje de manera objetiva, resulta necesario establecer normas de
comportamiento cuantitativas. Una forma general en la que se puede establecer el apren-
dizaje es por medio de la comparasion con una situacion de azar. Sin informacion previa,
no existe forma de distinguir las diferentes acciones αi(i = 1, 2, . . . , r). En este caso, todas
las acciones cuentan con la misma probabilidad de ser elegidas. El vector de probabilidades
p(n) esta dado entonces por
pi(n) = 1r
i = 1, 2, . . . , r. (3.17)
Este tipo de automata es conocido como “automata de azar” y es utilizado como estandar
para realizar comparasiones. Todo automata que aprenda, debe al menos realizar un mejor
trabajo que el automata de azar.
Para realizar las comparasiones entre autotmatas se considera un ambiente aleato-
rio estacionario con probabilidades de penalizacion {c1, c2, . . . , cr}. Si dos automatas se
desenvuelven en este ambiente, aquel que obtenga del ambiente respuestas favorables con
mayor frecuencia sera considerado el mejor. Se define la cantidad M(n), la cual es la penal-
izacion promedio para un vector de probabilidades dado.
M(n) = E[β(n)|p(n)] = Pr[β(n) = 1|p(n)]
=∑r
i=1 Pr[β(n) = 1|α(n) = αi]Pr[α(n) = αi]
=∑r
i=1 cipi(n)
(3.18)
Para el automata de azar, M(n) es una constante denotada por M0 y se obtiene de la
siguiente manera
M0 =1
r
r∑
i=1
ci. (3.19)
Para que un automata sea considerado como mejor que un automata de azar, su penalizacion
promedio debe ser menor que M0, al menos de manera asintotica conforme n → ∞. Dado
3.5. Normas del Comportamiento 39
que p(n), limn→∞p(n), y consecuentemente M(n) y limn→∞M(n) son variables aleatorias,
es necesario comparar su incertidumbre E[M(n)] con M0. Donde
E[M(n)] = E{E[β(n)|p(n)]}
= E[β(n)],(3.20)
o E[m(n)] es simplemente el promedio de las entradas al automata. A un automata que se
comporta de mejor manera que el automata de azar se le llama expediente.
Definicion 1. Se dice que un automata es expediente [28] si
limn→∞E[M(n)] < M0 (3.21)
Como ya fue establecido previamente, la expediencia representa de manera muy
general un comportamiento deseado. Es por ello que resulta importante buscar un proced-
imiento de aprendizaje que resulte en la reduccion de E[M(n)] a su valor mınimo. De la
ecuacion 3.18 se tiene que dado que∑r
i=1 pi(n) = 1,
infM(n) = infp(n){∑r
i=1 cipi(n)}
= mini{ci} ≈ cl.(3.22)
En cuyo caso se dice que el automata es optimo.
Definicion 2. Se dice que un automata es optimo si
limn→∞E[M(n)] = cl (3.23)
donde
cl = mini{ci}. (3.24)
Aunque es deseable el lograr que el automata presente un rendimiento optimo,
resulta aceptable que el automata muestre un rendimiento por debajo del optimo. Este tipo
de automatas con rendimientos por debajo del optimo son conocidos como ε-optimos.
Definicion 3. Se dice que un automata es ε-optimo si
limn→∞E[M(n)] < cl + ε (3.25)
puede obtenerse para cualquier valor arbitrario de ε > 0 seleccionando los parametros ade-
cuados del automata.
40 Capıtulo 3: Learning Automata
Existen dos factores que afectan de manera importante el rendimiento del automa-
ta. El primero es la condicion inicial del automata y el segundo es el conjunto de proba-
bilidades de penalizacion del ambiente. Las condiciones iniciales del automata puede ser el
vector de probabilidades del conjunto de acciones o una especificacion mas detallada como
el estado inicial. Las probabilidades de penalizacion del ambiente suelen ser desconocidas.
Es de suponerse que algunas de las condiciones previamente establecidas puedan cumplirse
para condiciones iniciales previamente establecidas y para algunos conjuntos de probabili-
dades de penaliazacion. Sin embargo, resulta mas conveniente un automata que presente el
comportamiento deseado en un ambiente arbitrario y para condiciones iniciales arbitrarias.
Estos requerimientos son parcialmente cubiertos por un automata absolutamente expediente
[29], el cual se define a continuacion.
Definicion 4. Se dice que un automata es absolutamente conveniente si
E[M(n + 1)|p(n)] < M(n) (3.26)
para todo n, todo pi(n) ∈ (0, 1) y para todos los conjuntos posibles {ci}(i = 1, 2, . . . , r).
Entonces, la conveniencia absoluta impone una desigualdad en la incertidumbre
condicional de M(n) a cada instante. Dado que un p(n) especificado, fija el valor de M(n)
en un ambiente dado, la desigualdad 3.26 implica que M(n) es un supermartingale. Con-
siderando de nueva cuenta las incertidumbres en 3.26, puede verse que
E[M(n + 1)] < E[M(n)], (3.27)
por lo que E[M(n)] es estrictamente monotona decreciente con n en todos los ambientes
estacionarios aleatorios. Si las condiciones iniciales son tales para un n, E[M(n)] < M0 (e.g.,
n = 0), esto implica conveniencia. La caracterıstica de conveniencia absoluta implica que el
automata tambien sea ε-optimo en todos los ambientes aleatorios estacionarios.
3.6. Automata estocastico de estructura variable
Como fue mencionado previamente, el automata estocastico de estructura variable
actualiza las probabilidades ya sean de las acciones o de las transiciones en base a la en-
trada actual. Los primeros en sugerir la actualizacion de la distribucion de probabilidades
3.7. Esquemas de refuerzo en ambiente tipo P 41
relacionadas con las transiciones fueron Varshavskii y Vorontsova en 1963 [54], mientras que
unos anos mas tarde Fu y sus asociados hicieron extensiva esta idea al conjunto de acciones
[19]. Bajo estas condiciones, se tiene que los automatas son representados por el siguiente
conjunto de caracterısticas
{Φ, α, β, A, G}, (3.28)
donde A es el algoritmo de actualizacion (tambien conocido como esquema de refuerzo) y los
demas simbolos son los mismos ya definidos en la seccion 3.3. Para el caso de los esquemas
utilizados para actualizar las probabilidades de las acciones, se considera que r = s < ∞
y G es una identidad de mapeo. En este caso resulta posible considerar los terminos de
acciones y estados como intercambiables y por lo tanto el automata se ve reducido a la
siguiente representacion
{α, β, A}. (3.29)
3.7. Esquemas de refuerzo en ambiente tipo P
En terminos generales un esquema de refuerzo puede ser representado ya sea por
p(n + 1) = T [p(n), α(n), β(n)] (3.30)
o por
fβij(n + 1) = T ′[fβ
ij(n), φ(n), φ(n + 1), β(n)], (3.31)
donde T y T ′ son funciones de mapeo. En la ecucion 3.29, la distribucion de probabilidad de
las acciones en el instante (n + 1) es actualizada en base a su valor previo, la accion alpha
elegida en el instante n y la entrada β registrada tambien en ese instante. Por su parte
en la ecucion 3.30, la probabilidad relacionada con las transicion φi → φj en el instante
(n + 1) para una entrada β, representada como fβij(n + 1), depende de la probabilidad de
esta transicion en el instante n y n+1, ası como de la entrada β en el instante n. Cuando un
automata utilizando cualquiera de estos esquemas de refuerzo se desenvuelve en un ambiente
aleatorio estacionario, β(n) corresponde a la salida del ambiente en el instante n.
La idea principal detras de un esquema de refuerzo es la siguiente: Si el automata
elige una accion αi en el instante n y esta resulta en una entrada favorable (β(n) = 0), la
42 Capıtulo 3: Learning Automata
probabilidad pi(n) aumenta, mientras que todos los otros componentes de p(n) decrecen.
Para el caso de una entrada no-favorable i.e., β(n) = 1, el valor de pi(n) decrece y el de
los demas elementos de p(n) aumenta. Estos cambios en pi(n) son conocidos como recom-
penza y castigo respectivamente. Ocasionalmente, las probabilidades de las acciones pueden
mantenerse en su estado previo, a este comportamiento se le conoce como “inaccion”.
3.7.1. Probabilidades de las acciones
Considere un automata de estructura variable con r acciones operando en un
ambiente estcionario con β = {0, 1}. Considere n ∈ N como el conjunto de enteros no-
negativos. Un esquema general para actualizar la distribucion de probabilidades relacionadas
a las acciones puede ser representado de la siguiente manera: Si
α(n) = αi (i = 1, 2, . . . , r)
pj(n + 1) = pj(n) − gj [p(n)] cuando β(n) = 0
pj(n + 1) = pj(n) + hj [p(n)] cuando β(n) = 1
(3.32)
para todo j 6= i. Para conservar las caracterısticas de una distribucion de probabilidades,
es necesario que∑r
j=1 pj(n) = 1 por lo que
pi(n + 1) = pi(n) +∑r
j=1 gj(p(n)) cuando β(n) = 0
pi(n + 1) = pi(n) −∑r
j=1 hj(p(n)) cuando β(n) = 1(3.33)
para todo j 6= i. Se consideran las siguientes suposiciones con respecto a las funciones gj y
hj (j = 1, 2, . . . , 3).
• Suposicion 1: gj y hj son funciones continuas.
• Suposicion 2: gj y hj son funciones no-negativas.
• Suposicion 3:
0 < gj(p) < pj
0 <∑r
j=1 [pj + hj(p)] < 1
j 6= i
(3.34)
para todo i = 1, 2, . . . , r y toda p cuyos elementos se encuentran en el intervalo abierto
(0, 1).
3.8. LA de dos acciones 43
3.8. LA de dos acciones
Para comprender de manera simple el comportamiento de los esquemas de refuer-
zo, en esta seccion se presenta el caso del automata de dos acciones, los conceptos que se
revisan aqui, seran extendidos un poco mas adelante a los automatas de multiples acciones
y por ultimo a los automatas en modelos tipo Q y S. Debido a la tratabilidad analıtica
que muestran los esquemas de refuerzo lineales, estos han sido ampliamente desarrolla-
dos. Tres ejemplos de este tipo de esquemas son el linear de recompensa-castigo (LR−P ),
linear de recompensa-ε-castigo (LR−εP ) y el linear de recompensa-inaccion (LR−I). Estos
esquemas presentan interensantes caracterısticas diferentes entre ellas, ademas de que son
considerados como prototipos de los comportamientos observados en todos los tipos de LA.
Por simplicidad y dado que son los dos esquemas mas diferentes entre si, se analizan a
continuacion los esquemas de recompensa-castigo y recompensa-inaccion.
3.8.1. Esquema linear de recompensa-castigo (LR−P )
El esquema lineal de recompensa-castigo es quiza el mas antiguo de la psicologıa
matematica [11]. Las propiedades de este esquema han sido ampliamente estudiada por
investigadores del area [19, 55]. Considerando un automata de aprendizaje con dos acciones,
considere
gj(p(n)) = apj(n)
y
hj(p(n)) = b(1 − pj(n))
(3.35)
donde a y b son parametros de recompensa y castigo, y 0 < a < 1, 0 < b < 1. Sustituyendo
las ecuaciones 3.35 en las ecuaciones 3.32 y 3.33 el algoritmo de actualizacion puede escribirse
de la siguiente manera:
p1(n + 1) = p1(n) + a(1 − p1(n))
p2(n + 1) = (1 − a)p2(n)
α(n) = α1, β(n) = 0 (3.36)
p1(n + 1) = (1 − b)p1(n)
p2(n + 1) = p2(n) + b(1 − p2(n))
α(n) = α1, β(n) = 1 (3.37)
44 Capıtulo 3: Learning Automata
De manera equivalente esto puede expresarse exclusivamente en terminos de p1(n + 1) de
la siguiente manera
p1(n + 1) = p1(n) + a(1 − p1(n)) α(n) = α1 β(n) = 0
p1(n + 1) = (1 − b)p1(n) α(n) = α1 β(n) = 1
p1(n + 1) = (1 − a)p1(n) α(n) = α2 β(n) = 0
p1(n + 1) = p1(n) + b(1 − p1(n)) α(n) = α2 β(n) = 1.
(3.38)
A las ecuaciones 3.36 y 3.37 se les conoce como el algoritmo general de actualizacion LR−P .
De estas ecuaciones es posible deducir que si la accion αi es utilizada en el instante n. la
probabilidad pj(n)(j 6= i) sera reducida en el instante n+1 de manera proporcional al valor
con el que contaba en el instante n si se obtiene un respuesta favorable e incrementara de
manera proporcional a [1−pj(n)] si se presenta una respuesta no-favorable. El caso especıfico
en el cual a = b es conocido como esquema lineal de recompensa-castigo (LR−P ) y resulta en
ecuaciones simetricas. De la ecuacion 3.38 puede observarse que el efecto en la distribucion
de probabilidades es el mismo si se ejecuta α1 y resulta en una respuesta favorable (no-
favorable) que si se ejecuta α2 y resulta en una respuesta no-favorable (favorable).
3.8.2. Esquema linear de recompensa-inaccion (LR−I)
Este es otro esquema lineal simple que puede ser derivado por medio de una mod-
ificacion al esquema general LR−P previamente definido en las ecuaciones 3.36, 3.37 y 3.38.
Sin embargo, este presenta un comportamiento asintotico totalmente diferente al del es-
quema LR−P . La idea basica de este esquema redica en no modificar las probabilidades
cuando se obtenga una respuesta no-favorable de parte del ambiente. En contraparte, si se
presenta una respuesta favorable, las probabilidades son modificadas de la misma manera
que en el esquema LR−P . El esquema LR−I fue considerado por primera vez en la psicologıa
matematica por Norman [38], pero fue introducida posteriormente de manera independiente
a la literatura de ingenierıa por Shapiro y Narendra [49]. Considerando b = 0 en la ecuacion
3.9. LA de multiples acciones en ambiente tipo P 45
3.38 se obtiene el siguiente algoritmo para el esquema LR−I
p1(n + 1) = p1(n) + a(1 − p1(n)) α(n) = α1 β(n) = 0
p1(n + 1) = p1(n) α(n) = α1 β(n) = 1
p1(n + 1) = (1 − a)p1(n) α(n) = α2 β(n) = 0
p1(n + 1) = p1(n) α(n) = α2 β(n) = 1.
(3.39)
De la ecuacion 3.39 puede deducirse que la probabilidad p1(n) aumenta si la accion α1 es
ejecutada y el resultado es una respuesta favorable, permanece sin cambio si se obtiene una
respuesta no-favorable de la ejecucion de la accion α1 o α2 y disminuye cuando la accion
α2 es ejecutada y resulta en una respuesta favorable de parte del sistema.
3.9. LA de multiples acciones en ambiente tipo P
Los resultados obtenidos en la seccion 3.8 para los esquemas con dos acciones
pueden ser extendidos a los automatas de multiples acciones. El esquema general corre-
spondiente a las ecuaciones 3.36 y 3.37 se obtiene sustituyendo
gj [p(n)] = apj(n) 0 < a < 1
hj [p(n)] = br−1 − bpj(n) 0 < b < 1.
(3.40)
De esta manera se obtiene el siguiente esquema para el caso general LR−P : Si
α(n) = αi
pi(n + 1) = pi(n) + a[1 − pi(n)] β(n) = 0
pj(n + 1) = (1 − a)pj(n), j 6= i
pi(n + 1) = (1 − b)pi(n) β(n) = 1
pj(n + 1) = br−1 + (1 − b)pj(n), j 6= i.
(3.41)
Las ecuaciones de actualizacion para los esquemas LR−P y LR−I se obtienen sustituyendo
b = a y b = 0 respectivamente en 3.41. Entonces el esquema de multiple accion LR−I puede
46 Capıtulo 3: Learning Automata
expresarse de la siguiente manera: Si
α(n) = αi
pi(n + 1) = pi(n) + a[1 − pi(n)] β(n) = 0
pj(n + 1) = (1 − a)pj(n), j 6= i
y
pi(n + 1) = pi(n) para todo i si β(n) = 1.
(3.42)
3.10. Modelos tipo Q y S
Hasta este momento el analisis de LA se ha llevado a cabo en un ambiente tipo
P , el cual solo presenta una respuesta binaria. Como ya fue mencionado al comienzo de
este capıtulo, existen multiples situaciones en la practica en las cuales un modelo tipo P
resulta insuficiente, de ahı la necesidad de crear los automatas en modelos tipo Q y S.
En un modelo tipo Q, el ambiente presenta un conjunto de respuestas finito mayor a dos
posibles valores. En la practica esto puede lograrse mediante la cuantizacion de un indice
continuo de rendimiento. Por medio de la normalizacion de los valores de salida, todo modelo
tipo Q puede ser caracterizado mediante un numero finito de valores en el intervalo [0, 1].
El numero de respuestas puede variar de accion en accion y es denotado por mi para cada
accion αi(i = 1, 2, . . . , r). El modelo tipo S lleva este concepto aun mas lejos permitiendo que
las respuestas adopten valores continuos dentro de un intervalo. De nueva cuenta por medio
de la normalizacion se logra que las respuestas asuman valores dentro del intervalo [0, 1].
Este tipo de modelos suele ser de gran importancia en los sistemas de control con valores
continuos de rendimiento. El objetivo principal de esta seccion, es extender los metodos de
actualizacion de probabilidades ya revisados para los modelos tipo P a los modelos tipo
Q y S, lo cual se puede lograr realizando una serie de pequenas modificaciones. Para los
modelos tipo P los algoritmos fueron establecidos en terminos de las funciones gi y hi,
que son la funcion de recompenza y castigo, respectivamente. Dado que en los modelos
tipo Q y S la salida se encuentra en el intervalo [0, 1] sin existir una respuesta totalmente
favorable o totalmente no-favorable, el problema principal radica en determinar como deben
ser actualizadas las probabilidades de las acciones.
3.10. Modelos tipo Q y S 47
0 1 0 1 0 1
1 ic−
ic
P Q S
Figura 3.4: Funciones de densidad de probabilidad de βi para α = αi.
3.10.1. Normalizacion
Resulta necesario examinar algunas caracterısticas generales de los modelos tipos
Q y S. Sea βi
1, βi
2, . . . , βi
mila respuesta a una entrada αi en un ambiente tipo Q, donde
βi
1 < βi
2 < . . . < βi
mi. (3.43)
Un conjunto de respuestas normalizadas {βij} puede entonces ser definido como
βij = β
i
1−ab−a
j = 1, 2, . . . , mi. (3.44)
donde a = mini{βi
1} y b = maxi{βi
mi} De la ecuacion 3.44 resulta obvio que
0 ≤ βi
1 < βi
2 < . . . < βi
mi≤ 1 (3.45)
es decir, toda respuesta normalizada βji se encuentra en el intervalo [0, 1]. Es posible llevar
a cabo una normalizacion similar para el modelo tipo S. Considere que βi, respuesta del
ambiente a la accion αi para todos los valores de i, se encuentra en el intervalo [a, b]. Una
respuesta normalizada se define de la siguiente manera
βi =β
i− a
b − a(3.46)
la cual siempre se encuentra en el intervalo [0, 1]. De esta manera, los modelos tipo P , Q y
S pueden ser diferenciados por la naturaleza de sus funciones de densidad de probabilidad
para una βi resultado de una accion αi, dada, tal y como lo muestra la figura 3.4.
48 Capıtulo 3: Learning Automata
3.11. Esquemas de refuerzo en ambiente tipo Q y S
Considere el siguiente esquema de refuerzo general
pi(n + 1) = pi(n) − (1 − β(n))gi(p(n)) + β(n)hi(p(n))
si α(n) 6= αi
pi(n + 1) = pi(n) + (1 − β(n))∑
j 6=i gj(p(n)) − β(n)∑
j 6=i hj(p(n))
si α(n) = αi
(3.47)
Note que la ecucion 3.47 es una generalizacion directa de la ecucion 3.41, la cual describe el
esquema LR−P para un modelo tipo P . El esquema modificado que representa la ecuacion
3.47 aplica a ambos modelos, Q y S. Las funciones gj(·) y hj(·) pueden ser asociadas
con recompenza y castigo respectivamente como se hizo previamente en el modelo tipo P .
(1 − β(n)) es un indicador de que tan lejos se encuentra β(n) de su maximo valor unitario
y es un maximo cuando β(n) = 0. En la ecuacion 3.47 gj(·) contribuye con un termino
proporcional a [1 − β(n)] y hj(·) contribuye con un termino proporcional a β(n). Resulta
evidente que tanto gj(·) como hj(·) deben satisfaser algunas condiciones si se busca que
el valor de pi(n)(i = 1, 2, . . . , r) permanezca dentro del intervalo [0, 1] en todo instante.
Si se conserva la no-negatividad de estas funciones con el fin de mantener su propiedad
de recompensa-castigo, las 3 condiciones establecidas previamente para el ambiente tipo P
seran suficientes. En caso de que no se desee mantener la condicion de recompensa-castigo
para gj(·) y hj(·), la segunda condicion puede ser eliminada y la tercera sustiuida por una
condicion (ii)′, quedando de la siguiente manera:
• (i) gj(·) y hj(·) son funciones continuas de mapeo S0r → (0, 1)
• (ii)’ −(minipi
1−pi)pj < gj(p) < pj
0 <∑
i6=j [hj(p) + pj ] < 1; hj(p) > −pj .
para todo pj ∈ (0, 1) y todo i, j = 1, 2, ,r.
Una caracterıstica importante de este esquema es el que es lineal en β(n).
Los esquemas previamente descritos para los modelos tipo P pueden ser facilmente
adaptados para su funcionamiento en los modelos tipo Q y S presentando caracteısticas
3.11. Esquemas de refuerzo en ambiente tipo Q y S 49
similares. Considere que un modelo tipo P puede ser descrito de la siguiente manera:
pi(n + 1) = pi0(n) α(n) 6= αi β(n) = 0
= pi1(n) α(n) 6= αi β(n) = 1(3.48)
donde pi0(n) y pi1(n) representas funciones de p(n). En terminos del esquema general de
refuerzo de la ecuacion 3.32,
pi0(n) = pi(n) − gi(p(n))
pi1(n) = pi(n) + hi(p(n)).(3.49)
Para modelos tipo Q y S, cuando la salida β(n) ∈ [0, 1], la pi(n + 1) para α(n) 6= αi
es expresada como un combinacion lineal de pi0(n) y pi1(n) donde los coeficientes son
proporcionales a la distancia desde β(n) hasta 0 y 1, respectivamente. De ahı que
pi(n + 1) = (1 − β(n))pi0(n) + β(n)pi1(n) α(n) 6= αi
y
pi(n + 1) = 1 − (1 − β(n))∑r
j 6=i pj0(n) − β(n)∑r
j 6=i pj1(n) para α(n) = αi
(3.50)
representen el esquema general en dichos casos.
El prefijo S (e.g., SLR−I) es utilizado para denotar las versiones de los esquemas de
refuerzo en los modelos tipo Q y S. Es necesario hacer notar que un modelo tipo S representa
la version mas general de los tres modelos considerados. Una vez que un esquema ha sido
derivado para un modelo tipo S, resulta sencillo especializarlo en modelos tipo Q y S. (i)
Esquema SLR−I : Se obtiene realizando los siguientes ajustes
gj(p) = apj
0 < a < 1
hj(p) = 0
(3.51)
en la ecuacion 3.47. Entonces, este esquema de refuerzo puede ser expresado de la siguiente
manera
pi(n + 1) = pi(n) − a(1 − β(n))pi(n) α(n) 6= αi
pi(n + 1) = pi(n) + a(1 − β(n))∑
j 6=i pj(n) α(n) = αi
(3.52)
Este esquema, al igual que su equivalente para modelos tipo P , es totalmente expediente;
ademas ha sido demostrado ser ε-optimo cuando trabaja en un ambiente tipo Q [4].
50 Capıtulo 3: Learning Automata
(i) Esquema SLR−P : Se obtiene utilizando las siguientes funciones
gi(p) = api(n)
y
hi(p) = a/(r − 1) − api(n)
(3.53)
en la ecucion 3.47. El resultado es el siguiente esquema para los modelos tipo Q y S.
pi(n + 1) = pi(n) + β(n)[a/(r − 1) − api(n)] − [1 − β(n)]api(n)
cuando α(n) 6= αi;
pi(n + 1) = pi(n) − β(n)api(n) + (1 − β(n))a(1 − pi(n))
cuando α(n) = αi.
(3.54)
El esquema SLR−P tiene propiedades analogas al LR−P . Por ejemplo, es expediente en
todos los ambientes aleatorios estacionarios.
3.12. Revision de un ejemplo
En la presente seccion se presenta un ejemplo con el objetivo de lograr una mejor
comprension del comportamiento de los LA. El problema consiste en encontrar el valor
maximo de una funcion bi-dimensional, para ello se define un automata que funciona en un
ambiente tipo-Q (el espacio se encuentra discretizado) con un esquema de refuerzo LR−I , la
eleccion del esquema de refuerzo es con la intencion de mostrar que como consecuencia de
no penalizar las acciones que muestran un rendimiento no-favorable se logra que las acciones
que hayan obtenido un buen rendimiento mantengan una probabilidad alta. La funcion a
analizar es la siguiente:
z(x, y) = z sin(4πx) − y sin(4πy + π) (3.55)
Como puede observarse en la figura 3.5(a) esta funcion cuenta con multiples mınimos locales
y globales. El mınimo y maximo global de la funcion son conocidos y se utilizan para el
calculo de la respuesta del sistema, el cual queda de la siguiente manera:
β =z(αi)
max − min(3.56)
3.13. Revision del capıtulo 51
donde max y min representan el valor maximo y mınimo de la funcion respectivamente
mientras que z(αi) corresponde a la evaluacion de la accion elegida. La figura 3.5(d) muestra
la distribucion final de las probabilidades de las acciones mientras que las figuras 3.5(b) y
3.5(c) muestran la ubicacion de las diez acciones con mayor probabilidad, es posible apreciar
como estas acciones se ubican tanto en maximos globales como locales, esta propiedad,
consecuencia del esquema de refuerzo LR−I sera aprovechada para el caso de deteccion de
multiples cırculos.
3.13. Revision del capıtulo
El presente capıtulo ha servido como una revision general de la teorıa de LA. En el
se han cubierto todos los aspectos necesarios para comprender el funcionamiento del sistema
propuesto en el capıtulo 6, ademas, se pueden observar las ventajas que ofrece LA sobre
otros metodos de optimizacion heurıstica, entre ellos se encuentra la amplia bibliografıa,
el soporte de una teorıa matematica, demostraciones de convergencia y la capacidad de
resolver funciones multimodal.
52 Capıtulo 3: Learning Automata
−2−1
01
2
−2
−1
0
1
2−2
−1
0
1
2
3
XY
Z
(a)
−2
−1
0
1
2
−2
−1
0
1
2−2
−1
0
1
2
3
XY
Z
(b)
−1.5 −1 −0.5 0 0.5 1 1.5−1.5
−1
−0.5
0
0.5
1
1.5
X
Y
(c)
0 1000 2000 3000 4000 5000 6000 7000 80000
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2DISTRIBUCIÓN DE PROBABILIDADES
ACCIONES
PR
OB
AB
ILID
AD
ES
(d)
Figura 3.5: Ejemplo que muestra el comportamiento de un LA en una funcion multimodal.(a) La funcion multimodal, (b) localizacion en el espacio (x, y, z) de las 10 acciones con may-or probabilidad asociada, (c) localizacion de las acciones en el plano (x, y) y (d) distribucionfinal de las probabilidades.
Capıtulo 4
Elementos de logica difusa
4.1. Introduccion
Frecuentemente nos encontramos sistemas fısicos o procesos que debido a su com-
plejidad o incertidumbres resulta muy difıcil desarrollar un modelo analıtico exacto. Sin
embargo, los seres humanos pueden describir el comportamiento de tales sistemas mediante
procesos cognitivos, al menos de manera cualitativa. Un experto es capaz de controlar un
proceso basado en su conocimiento y observacion aun sin un modelo matematico. La teorıa
de conjuntos difusos es un “conjunto de conocimientos y tecnicas que proporcionan precision
matematica a procesos cognitivos humanos que son en muchas formas imprecisos y ambigu-
os para los estandares de las matematicas clasicas” [63]. La logica difusa utiliza funciones
de pertenencia difusa con valores en el rango de 0 a 1, y permite capturar representaciones
linguısticas del conocimiento. Las imprecisiones de este conocimiento se manejan por medio
de las funciones de pertenencia asociada con cada variable linguıstica. En cierta forma, la
logica difusa es un sistema logico que es la generalizacion de una logica multivalor. Por esta
razon, la teorıa difusa ha sido aplicada a muchos problemas de ingenierıa que son muy com-
plejos o no estan lo suficientemente bien definidos para poder aplicar un analisis matematico
convencional.
En un sistema difuso el conocimiento es representado mediante reglas IF-THEN
asociadas con variables difusas. Dichas reglas junto con las funciones de pertenencia son
53
54 Capıtulo 4: Elementos de logica difusa
procesadas mediante la llamada regla composicional de inferencia. A diferencia de otros
procesos donde el razonamiento cualitativo es usado mediante reglas puramente linguısticas,
la inferencia difusa involucra sıntesis numerica basada en funciones de pertenencia para
formar una tabla de decision. En esta seccion se describiran los principales conceptos y
notacion matematica de la teorıa de conjuntos difusos y el sistema de inferencia difusa.
4.2. Conjuntos difusos
Un conjunto difuso es un conjunto que no tiene lımites bien definidos. Es decir,
la transicion de pertenecer a un conjunto a no pertenecer a un conjunto es gradual y es
caracterizada mediante una funcion de pertenencia (FP). Consideremos el universo X, cuyos
elemenos son x [61]. Un conjunto difuso A en X puede ser definido como
A = {(x, µA(x)) | x ∈ X} (4.1)
donde µA(x) es la FP de x en A, lo que representa en que grado x pertenece a A. La FP
µA() mapea cada elemento en X en un intervalo continuo [0, 1]. Especıficamente
XµA(x)→ [0, 1] (4.2)
Una FP de valor 1 implica que el elemento especıfico x es definitivamente un elemento
del conjunto A. Una FP de valor 0 significa que este elemento x definitivamente no es un
elemento del conjunto A. Una FP mayor que 0 y menor que 1 indica que el elemento x se
encuentra en el borde difuso del conjunto A. Es evidente que un conjunto difuso es una
extension de un conjunto clasico al generalizar el rango de la funcion caracterıstica de las
cantidades discretas 0, 1 al intervalo [0, 1]. Si los valores de la FP µA(x) fueran restringidos
a solo 0 o 1, entonces A serıa reducido a un conjunto clasico con lımites bien definindos y
µA(x) serıa la funcion caracterıstica de A.
4.3. Operaciones difusas
Con estas definiciones basicas y notacion de conjuntos difusos, podemos introducir
algunas operaciones basicas de conjuntos para aplicar en razonamiento difuso y control
difuso. Supongamos que A y B son dos conjuntos difusos dentro del universo X.
4.3. Operaciones difusas 55
1. Complemento: El complemento de un conjunto difuso A se denota mediante A (o
NOT A). Lo que es definido mediante su FP como
µA(x) = 1 − µA(x) (4.3)
2. Interseccion: La interseccion de dos conjuntos difusos A y B es un conjunto difuso C,
lo que puede ser escrito como C = A ∩ B (o C = A AND B). La FP del conjunto
difuso C esta relacionado con la de A y B mediante
µC(x) = mın (µA(x), µB(x)) = µA(x) ∧ µB(x) (4.4)
donde ∧ denota la operacion mın entre las dos FP. El elemento x debe pertenecer a
ambos conjuntos difusos simultaneamente, lo que significa que se obtendra el menor
de los valores de los dos niveles de pertenencia. Es evidente que
A ∩ B ⊆ A y A ∩ B ⊆ B (4.5)
3. Union: La union de dos conjuntos difusos A y B es un conjunto difuso C, lo que puede
ser escrito como C = A∪B (o C = A OR B). La FP del conjunto difuso C esta dada
por:
µC(x) = max (µA(x), µB(x)) = µA(x) ∨ µB(x) (4.6)
donde ∨ es la operacion max entre las dos FP. El elemento x puede pertenecer a uno
u otro de los conjuntos, y el mayor de los valores de los dos niveles de pertenencia
sera el obtenido. Esta claro que
A ⊆ A ∪ B y B ⊆ A ∪ B (4.7)
4. Igualdad: Dos conjuntos difusos A y B son iguales si y solo si
A = B ⇔ µA(x) = µB(x) (4.8)
5. Subconjunto: El conjunto difuso A es un subconjunto de B (o A es menor o igual que
B) si y solo si µA(x) ≤ µB(x) para toda x, de tal forma que
A ⊆ B ⇔ µA(x) < µB(x) (4.9)
si A ⊆ B y A 6= B, entonces A es un subconjunto propio de B (o A ⊂ B).
56 Capıtulo 4: Elementos de logica difusa
4.4. Funciones de pertenencia
A continuacion describiremos las diferentes clases de funciones parametrizadas
utilizadas mas frecuentemente para definir FP en sistemas de inferencia difusa.
4.4.1. Funcion de pertenencia triangular
Una FP triangular se especifica mediante los tres parametros a, b, c que determinan
las coordenadas en x de las tres esquinas de la siguiente manera
µνtri(x) =
0, x ≤ a
x−ab−a
, a ≤ x ≤ b
c−xc−b
, b ≤ x ≤ c
0, c ≤ x
(4.10)
los parametros a y c definen la base del triangulo, mientras que b la punta del triangulo.
4.4.2. Funcion de pertenencia trapezoidal
Una FP trapezoidal se define mediante cuatro parametros a, b, c, d mediante
µνtrap(x) =
0, x ≤ a
x−ab−a
, a ≤ x ≤ b
1, b ≤ x ≤ c
d−xd−c
, c ≤ x ≤ d
0, d ≤ x
(4.11)
los parametros a y d definen la base del trapezoide, mientras que los parametros b y c definen
la parte superior. Obviamente la FP triangular es un caso especial de una FP trapezoidal
en la que b = c. Las FP triangular y trapezoidal son funciones lineales usadas ampliamente
en aplicaciones en tiempo real debido a su baja demanda computacional. Sin embargo, para
sistemas complejos las funciones no lineales que seran descritas a continuacion tienen la
ventaja de representar transiciones suaves en los puntos de cambio del sistema.
4.5. Inferencia difusa 57
4.4.3. Funcion de pertenencia gaussiana
Una FP gaussiana se especifica mediante dos parametros σ, c:
µνgauss(x) = e−(x−c)2
2σ2 (4.12)
donde c determina el centro de la FP y σ representa el ancho (desviacion estandar).
4.4.4. Funcion de pertenencia sigmoidal
Una FP sigmoidal depende de dos parametros a, c como
µνsigm(x) =1
1 + e−a(x−c)(4.13)
donde el signo del parametro a determina la direccion del extremo abierto de la sigmoidal.
Si a es un numero positivo la sigmoide estara abierta a la derecha. Si a es negativa, la FP
se abrira a la izquierda.
4.5. Inferencia difusa
En un sistema de inferencia difusa la variable linguıstica es un concepto importante.
Basicamente, es una variable cuyos valores son palabras, frases o enunciados en lenguaje
natural. Este concepto fue propuesto por Zadeh en [62] como una forma de expresar un
fenomeno que es demasiado complejo o no bien definido como para definirlo de una manera
conveniente y clara.
La idea basica de un sistema de inferencia difusa es incorporar conocimiento hu-
mano en un conjunto de reglas IF-THEN difusas, que involucran operaciones en variables
linguısticas. Una estructura tıpica de un sistema de inferencia difusa consiste en cuatro
componentes: un fusificador, una base de reglas difusas, un motor de inferencia difusa, y un
defusificador. El sistema general de inferencia difusa se muestra en la figura 4.2.
4.5.1. Fusificador
El fusificador convierte la entrada numerica en una variable linguıstica. En un
caso tıpico, se convierte un valor discreto x0 en un conjunto difuso A dentro del universo
58 Capıtulo 4: Elementos de logica difusa
0 5 100
0.5
1
(a)0 5 10
0
0.5
1
(b)
0 5 100
0.5
1
(c)0 5 10
0
0.5
1
(d)
0 5 100
0.5
1
(e)0 5 10
0
0.5
1
(f)
Figura 4.1: (a) FP triangular, (b) FP trapezoidal, (c) FP Gaussiana, (d) FP campanageneralizada, (e) FP sigmoidal y (f) FP zeta.
FusificadorMotor de inferencia
difusa
Base de reglas difusas
Defusificador
Entrada difusa
Salida difusa
Salida discreta
Entrada discreta
Figura 4.2: Estructura general de un sistema de inferencia difusa.
4.5. Inferencia difusa 59
especificado, donde la FP µA(x0) = 1 en el punto x0 y es igual a cero en los demas puntos.
En aplicaciones reales con ruido, los fusificadores triangulares pueden ser utilizados para
caracterizar la precision de la variable de entrada, la cual mapea el numero discreto en
la FP correspondiente. El vertice de la funcion triangular representa el valor medio de las
mediciones obtenidas del sensor y la base es definida como un funcion de la desviacion
estandar.
4.5.2. Base de reglas difusas
La base de reglas difusas se constituye de una coleccion de reglas difusas tipo
IF-THEN, las cuales pueden ser expresadas por medio del modelo linguistico difuso de
Mamdani de la siguiente manera:
Ri : IF x1 es A1iAND. . .ANDxn es Ani, THEN y es B (4.14)
o con el modelo de Takagi-Sugeno (TS):
Ri : IF x1 es A1iAND. . .ANDxn es Ani, THEN y = fi(x1, . . . , xn) (4.15)
donde x1, . . . , xn son las variables linguısticas de entrada, y es la variabla linguıstica de sali-
da, A1i, . . . , Ani son los valores para cada variable de entrada de los universos X1, . . . , Xn. En
la ecuacion 4.14, B es el valor de salida y en el universo Y ; en la ecuacion 4.15, fi(x1, . . . , xn)
es una funcion predefinida de las variables de entrada para la salida y.
4.5.3. Motor de inferencia difusa
Este es el nucleo del sistema de inferencia difusa desde la realizacion de operaciones
difusas, hasta el mapeo de una entrada a una salida, se basa en la generalizacion de la regla
de inferencia modus ponens de la siguiente manera:
Premisa 1: IF x es A THEN y es B
Premisa 2: x es A′
Conclusion: y es B
(4.16)
Para un sistema difuso con un conjunto de reglas del tipo “si x es A entonces y es B” y una
variable de entrada linguıstica como A′, de acuerdo a la regla de composicion de inferencia
60 Capıtulo 4: Elementos de logica difusa
la salida difusa B′ se establecera de la siguiente manera para el caso de la implicacion Rc
de Mandani:
B′ = A′ ◦ R (4.17)
µB′(y) = maxx∈X [µA′(x) ∧ µA→B(x, y)] (4.18)
4.5.4. Defusificador
El defusificador mapea la salida difusa del sistema al dominio discreto, lo cual es
un paso necesario ya que en la mayoria de las aplicaciones reales se requiere de numeros
discretos. El centro del area (COA) y la media del maximo (MOM) son los dos metodos
mas comunmente empleados para la generacion de salidas discretas del sistema.
• Centro del area: Este metodo produce el centro del area difusa de salida. Con universo
discreto se tiene,
x∗ =
∑ni=1 xi · µA(xi)∑n
i=1 µA(xi)(4.19)
donde n es el numero de elementos discretos en el universo, xi es el valor del elemento
discreto y µA(xi) representa el valor de la FP en el punto xi.
• Media del maximo: Considerando m como el numero de puntos de salidas, cuyos
valores de FP alcanzan el valor maximo en el universo. La estrategia MOM calcula
el valor medio de los m puntos de salida. La salida discreta se calcula de la siguiente
manera:
x∗ =
∑mi=1 xi
m(4.20)
donde xi es el valor de soporte en estos puntos, cuyos FP alcanzan el valor maximo
µA(xi). Este metodo no considera la forma de la salida fusificada pasa simplificar el
calculo de la desfusificacion.
4.6. Agrupamiento no-supervisado
El agrupamiento no-supervisado surge ante la necesidad de encontrar grupos y
patrones en conjuntos de datos. En el area de reconocimiento de patrones y procesamiento
4.6. Agrupamiento no-supervisado 61
de imagenes, el agrupamiento no-supervisado es comunmente utilizado para realizar la tarea
de segmentacion de imagenes, esto se debe a que la segmentacion de imagenes puede ser
visto como un problema de agrupamiento de datos donde cada dato es descrito por un
conjunto de caracterısticas (e.g., intensidad, color, textura, etc) de cada pıxel. Los algoritmos
convensionales de agrupamiento encuentran una “particion rigida” a un conjunto de datos
dado, esto basado en un criterio que evalua la bondad de la particion. Con “particion rigida”
se entiende que cada dato pertenece solamente a un conjunto de la particion. De manera
mas formal se puede dar la siguiente defincion de “particion rigida”.
Sea X un conjunto de datos y xi un elemento de X. Una particion P = C1, C2, . . . , CL
de X es “rigida” si y solo si:
i)∀xi ∈ X∃Cj ∈ P tal que xi ∈ Cj
ii)∀xi ∈ Xxi ∈ Cj =⇒ xi /∈ Ci donde k 6= j, Cj ∈ P
La primera condicion asegura que la particion cubre la totalidad de los puntos en X, la
segunda condicion segura que todos los grupos en la particion son mutuamente excluyentes.
Sin embargo en muchos problemas de la vida real, algunos datos pertenecen de manera
parcial a multiples grupos. Un algoritmo de agrupamiento suave encuentra una “particion
suave” de un conjunto de datos dado basandose en un criterio establecido. En particiones
suaves un dato puede pertenecer de manera parcial a multiples conjuntos. La definicion
formal de este concepto es la siguiente:
Sea X un conjunto de datos y xi un elemento de X. Una particion P = C1, C2, . . . , CL
de X es “suave” si y solo si se dan las sigeuientes condiciones:
i)∀xi ∈ X∀Cj ∈ P 0 ≤ µCj(xi) ≤ 1
ii)∀xi ∈ X∃Cj ∈ P tal que µCj(xi) > 0
donde µCj(xi) denota el grado de pertenencia de xi al conjunto Cj . Un tipo de agrupamiento
suave de especial interes es aquel en el que la suma de todos los grados de pertenencia de
un punto es la unidad, i.e.,∑
j µCj(xi) = 1 ∀xi ∈ X (4.21)
A una particion suave que satisface esta condicion adicional se le llama “particion suave limi-
tada”. El algoritmo de agrupamiento difuso “c-medias”, mejor conocido como “algoritmo de
agrupamiento difuso” produce una particion suave limitada. El algoritmo de agrupamiento
62 Capıtulo 4: Elementos de logica difusa
(a) (b)
Figura 4.3: Ejemplos de conjuntos. (a) Conjuntos compactos claramente separados y (b)dos conjuntos no-compactos que no se encuentran claramente separados.
difuso es la generalizacion de un algoritmo de agrupamiento rigido. El algoritmo (rigido) c-
medias (RCM) busca identificar grupos compactos y claramente separados. La figura 4.3(a)
muestra un conjunto de datos bi-dimensional conteniendo conjuntos compactos claramente
separados. En contraste, el conjunto de datos que se muestra en la figura 4.3(b) contiene
conjuntos que no son compactos y no se encuentran claramente separados. De manera in-
formal se puede decir que un conjunto compacto tiene una forma “esferica”. El centro de
esta esfera (cırculo para el caso de dos dimensiones) es llamado el prototipo del grupo. Se
dice que dos conjuntos de datos se encuentran bien separados cuando la distancia entre
cualesquiera dos puntos de un mismo conjunto es menor que la menor distancia existente
entre los dos conjuntos. Suponiendo que un conjunto de datos contiene c grupos compactos
y bien definidos, los objetivos del algoritmo RCM son:
1. Encontrar los centros de los conjuntos, y
2. Determinar el conjunto al cual pertenece cada uno de los puntos.
De hecho, el segundo objetivo se cumple facilmente una vez logrado el primero, esto basan-
donos en la suposicion de que los conjuntos son compactos y se encuentran claramente
separados. Dados los centros de los conjuntos, un punto pertenece al conjunto de cuyo
centro se encuentra mas cercano, i.e.,
xi ∈ Cj if ‖xi − vj‖ < ‖xi − vk‖ k = 1, 2, . . . , c, k 6= j (4.22)
4.6. Agrupamiento no-supervisado 63
donde vj denota el centro del conjunto Cj .
Con el fin de lograr el primer objetivo, resulta necesario estableser un criterio que
puede ser utilizado para la busqueda de los centros de los conjuntos. Uno de estos criterios
es realizar la sumatoria de las distancias existentes entre los puntos y los centros de su
conjunto.
J(P, V ) =c
∑
j=1
∑
xi∈Cj
‖xi − vj‖2 (4.23)
donde V es un vector con las coordenadas de los centros por ser identificados. Este criterio
resulta de utilidad dado que una seleccion de centros valida resultara en un mınimo para
J . Con base en estas observaciones se puede decir que el algoritmo RCM busca encontrar
los centros que minimizen a J . Sin embargo, J es tambien una funcion de la particion P ,
la cual es determinada por el vector de centros V . Es por esto que el algoritmo RCM [8]
realiza la busqueda de los centros iterando los siguientes dos pasos:
1. Calcular la particion actual basado en el conjunto actual.
2. Modificar los centros de los conjuntos utilizando un metodo de gradiente descendiente
para minimizar la funcion J .
El ciclo termina cuando la diferencia entre los centros en dos ciclos consecutivos es menor
que un umbral.
4.6.1. Algoritmo difuso de c-Medias
El algoritmo difuso de c-Medias (DCM) generaliza el algoritmo RCM para permitir
que un punto pertenezca de manera parcial a multiples conjuntos [21]. A este tipo de
particion se le conoce como particion “suave”. Par lograr esto, la funcion objetivo J del
algoritmo RCM considera tambien los siguientes dos puntos:
1. El grado de la FP en los conjuntos es incorporado a la formula.
2. Un parametro adicional m se introduce como peso de la FP.
La funcion objetivo extendida [7], denotada por Jm queda de la siguiente manera:
J(P, V ) =c
∑
j=1
∑
xi∈Cj
(µCi(xk))
m‖xi − vj‖2 (4.24)
64 Capıtulo 4: Elementos de logica difusa
Donde P es una particion difusa del conjunto de datos X formado por C1, C2, . . . , Ck. El
parametro m es un peso que determina el grado en que cada miembro parcial del conjun-
to afecta al resultado del agrupamiento. De manera similar al RCM, el algoritmo DCM
tambien busca encontrar la particion optima buscando los prototipos vi que minimisen la
funcion objetivo Jm. Sin embargo, a diferencia del RCM el DCM tambien debe buscar las
funciones de pertenencia µCique minimisen Jm. Para lograr estos objetivos, debe cumplirse
el siguiente teorema, el cual sirve como fundamento del algoritmo DCM. Teorema del DCM.
Una particion difusa {C1, C2, . . . , Ck} puede ser un mınimo local de la funcion objetivo Jm
solo si las siguientes condisiones se presentan:
µCi(x) = 1
∑kj=1
(
‖x−vi‖2
‖x−vj‖2
) 1m−1
1 ≤ i ≤ k, x ∈ X(4.25)
vi =∑
x∈X (µCi(x))mx
∑nx∈X (µCi
(x))m 1 ≤ i ≤ k (4.26)
Con base en este teorema, el algoritmo DCM actualiza los prototipos y las funciones de
pertenencia de manera iterativa utilizando las ecuaciones 4.25 y 4.26 hasta que algun criterio
de convergencia se cumpla. Algunos puntos importantes sobre el algoritmo DCM son:
• La convergencia del DCM esta garantizada para m > 1. Este importantisimo teorema
de convergencia fue establecido en 1980 [17].
• El algoritmo DCM puede converger en mınimos locales dado que los gradientes de la
funcion Jm en esos puntos cumplen con el teorema establecido.
• El resultado de aplicar el DCM a un conjunto de datos, depende no solamente de
la eleccion de los parametros m y c, sino tambien de la eleccion de los prototipos
iniciales.
4.7. Revision de un ejemplo
En esta seccion se presenta un ejemplo que tiene como objetivo mostrar las bon-
dades del algoritmo DCM trabajando en conjunto con los resultados obtenidos por un
algoritmo de LA funcionando bajo un esquema de refuerzo LR−I . El ejemplo es el mismo
4.8. Revision del capıtulo 65
ACCION X Y Z CLASE
1 1.0400 -1.2100 1.0839 1
2 -1.2400 -1.1500 1.2491 2
3 -1.2100 -0.6100 1.1821 2
4 -0.6100 -1.1800 1.5084 2
5 1.1000 1.1900 1.8608 3
6 1.1300 1.1900 1.9424 3
7 1.0400 1.1000 1.5472 3
8 0.5900 1.0700 1.3583 3
9 0.6800 1.1000 1.5701 3
10 -1.0900 1.1300 2.1140 4
Tabla 4.1: Parametros del detector de cırculos basado en LA
presentado en la seccion 3.12, en este caso se toma la informacion obtenida por el automata
y se aplica el algoritmo DCM para definir los conjuntos que agrupen a las diez acciones con
mayor probabilidad. La figura 4.4(a) muestra las acciones ubicadas en el espacio, mientras
que en la figura 4.4(b) se observan las acciones en el plano (x, y), cada conjunto es repre-
sentado por un simbolo diferente, el detalle de la informacion se muestra en la tabla 4.1.
4.8. Revision del capıtulo
En el presente capıtulo se ha hecho una revision de los conceptos basicos de logica
difusa necesarios para comprender el algoritmo difuso de c-Medias, de la misma forma se
reviso un ejemplo en el cual se aplico dicho algoritmo de agrupamiento a los datos obtenidos
por un automata de aprendizaje, la conjuncion de estos dos metodos resulta de primordial
importancia para cumplir con el objetivo de la deteccion de multiples cırculos con una sola
iteracion del automata.
66 Capıtulo 4: Elementos de logica difusa
−1.5−1
−0.50
0.51
1.5
−1
0
1
−2
−1
0
1
2
XY
Z
(a)
−1.5 −1 −0.5 0 0.5 1 1.5−1.5
−1
−0.5
0
0.5
1
1.5
X
Y
(b)
Figura 4.4: Ejemplo que muestra el comportamiento de un algoritmo difuso de c-Medias.(a) Las acciones en el espacio y (b) las acciones en el plano (x, y).
Capıtulo 5
Algoritmos para deteccion de
cırculos
5.1. Introduccion
Dos tipos de tecnicas suelen ser aplicadas para la resolucion del problema de local-
izacion de objetos: tecnicas determinısticas, las cuales incluyen aquellos metodos basados en
la transformada de Hough, extraccion de caracterısticas geometricas y aquellos metodos que
buscan la concordancia de los objetos presentes en la imagen con modelos o plantillas. Por
otra lado se encuentran las tecnicas heurısticas, las cuales incluyen metodos de muestreo
aleatorio [18], tecnicas de recocido simulado [9] y algoritmos geneticos (GA por sus siglas
en ingles) [46].
Con el fin de crear un marco de referencia sobre los metodos existentes, a contin-
uacion se describen de manera breve algunos de los metodos mas representativos de estos
dos tipos de tecnicas
5.2. Metodos Determinısticos
Aquı va la transformada de Hough y todos los metodos basados en ella. Deben
mostrarse imagenes sobre el espacio de caracteristicas de la transformada de Hough. La
mayoria de los algoritmos solo seran descritos de manera breve, mientras que la RHT, IRHT,
67
68 Capıtulo 5: Algoritmos para deteccion de cırculos
Profundizar en el funcionamiento de los metodos derivados de Hough que se programaron
en matlab con el fin de comparar su rendimiento con el de nuestro algoritmo. Abordar en
ambos casos la busqueda de multiples cırculos.
Una gran cantidad de metodos han sido desarrollados con el fin de resolver el prob-
lema de deteccion de figuras [41]. Tecnicas de concordancia con modelos y plantillas fueron
los primeros enfoques utilizados para la resolucion de este problema. Tecnicas de codifi-
cacion de figuras y combinaciones de propiedades fueron utilizadas para la representacion
de este tipo de objetos. La principal desventaja de esta tecnica se encuentra en la extraccion
del contorno a partir de las imagenes reales. Ademas, resulta en extremo complicado para
las tecnicas basadas en modelos el lidiar con la variacion en las orientaciones de los objetos,
excepto claro esta con objetos muy simples.
Los metodos comunmente empleados para la deteccion y localizacion de figuras
parametricas realizan un analisis previo de la imagen con el fin de obtener un mapa de los
bordes presentes en ella, uno de los metodos mas utilizados para cumplir con esta tarea es
el propuesto por Canny en [12], esto debido a su ampliamente comprobada eficacia ademas
de que representa los bordes con segmentos de lınea de solo un pixel de ancho, lo que resulta
conveniente para el siguiente paso en el algoritmo.
5.2.1. La Transformada de Hough
La Transformada de Hough es uno de los metodos mas utilizados para la local-
izacion de figuras parametricas en imagenes, en general el metodo consiste en realizar una
transformacion del espacio de parametros de la imagen al espacio de parametros de Hough.
En el caso mas sencillo, el de la lınea recta, se considera que el conjunto de todas las lıneas
rectas en el plano de la imagen constituye una familia de dos parametros. Si se fija un
parametrizacion para dicha familia, entonces cualquier lınea recta puede ser representada
por un solo punto en el espacio de parametros. Por conveniencia la Transformada de Hough
suele utilizar la parametrizacion normal, la cual define una lınea recta por medio de la
ecuacion 5.1, esta parametrizacion especifica una lınea recta por medio del angulo θ de su
5.2. Metodos Determinısticos 69
y
x
1 1( , )x y
2 2( , )x y
3 3( , )x y
( , )k kx y
...ρ
θ
Figura 5.1: Defincion de una lınea con parametrizacion normal.
normal y la distancia algebraica ρ desde el origen (vea figura 5.1).
x cos(θ) + y sin(θ) = ρ (5.1)
Restringiendo los posibles valores de θ al intervalo 0 ≤ θ < π, los parametros nor-
males para cada lınea son unicos y cada lınea en el plano x, y corresponde a un unico punto
en el plano θ, ρ. Suponiendo que todos las coordenadas de los n pıxeles activos en el mapa
de bordes obtenidos por el algoritmo de Canny se colocan en un vector (x1, y1), ..., (xn, yn)
y se quiere encontrar un conjunto de lıneas rectas que los representen, entonces los puntos
(xi, yi) deben transformarse a curvas sinusoidales en el plano θ, ρ definidas por:
ρ = xi cos(θ) + yi sin(θ) (5.2)
resulta evidente que aquellas curvas correspondientes a puntos colineales en el
plano de la imagen, tendran un punto comun en el plano θ, ρ. Este punto de interseccion
(θ0, ρ0), define la lınea recta que pasa por los puntos colineales. De esta forma, el problema
de encontrar las rectas que representan los puntos colineales en el plano de la imagen se
convierte en el de encontrar las coordenadas en el espacio de parametros de Hough en donde
varias curvas se itersectan. Utilizando el enfoque propuesto en [16] se tiene que para el calculo
70 Capıtulo 5: Algoritmos para deteccion de cırculos
11
11
11
112
1 11 1
1 1
1 1 11
(a) (b)
Figura 5.2: Idea fundamental de la transformada de Hough. (a) Espacio de parametros dela imagen y (b) acumulador en el espacio de parametros de Hough.
x
y
c
(a,b)
( , )i ix y
Figura 5.3: Parametros que definen a un cırculo.
de la transformada de Hough se necesita primeramente discretizar de manera escalonada el
intervalo de valores que corresponden a θ y ρ. Al momendo de realizar el conteo de cortes
producidos por la interseccion de varias rectas en el espacio de parametros de Hough, se
utiliza una matriz de registros acumuladores en donde cada celda es incrementada en funcion
de la cantidad de rectas que pasan por esa celda. De tal manera que el numero final Np
almacenado en el registro significarıa que esa recta en especıfico, se encuentra constituida
por Np pıxeles del espacio de parametros de la imagen, la figura 5.2 ilustra este proceso.
Este enfoque general de la Transformada de Hough puede ser extendido a curvas. En el
caso de la deteccion de figuras circulares se suele hacer uso de la representacion parametrica
5.2. Metodos Determinısticos 71
correspondiente a la formula general de la circunferencia definida en la ecuacion 5.3, donde
(a, b) son las coordenadas del centro de la circunferencia y c el radio.
(x − a)2 + (y − b)2 = c2 (5.3)
De esta manera cada punto (xi, yi) en el plano de parametros de la imagen x, y
corresponde a una superficie en el espacio de parametros de Hough (a, b, c), definida por:
c2 = (xi − a)2 + (yi − b)2 (5.4)
de manera similar a lo ya explicado para el caso de las lıneas rectas, las superficies
de aquellos puntos que forman parte de una misma figura circular deberan tener un punto
comun de interseccion, donde este punto (a0, b0, c0), perteneciente al espacio de parametros
a, b, c define el circulo que pasa por todos esos puntos. Es posible tambien definir un arreglo
tridimensional de acumuladores, el cual representa el espacio parametrico tridimensional,
despues de llevar a cabo la transformacion de todos los puntos del espacio de parametros
de la imagen a superficies en el espacio de parametros de Hough se buscan aquellos acumu-
ladores con los valores mas altos, estos puntos (ai, bi, ci) representan los parametros de las
figuras circulares mejor definidas en la imagen, un ejemplo de este comportamiento puede
apreciarse en la figura ?????.
Aqui va la Figura 8.29 de total.pdf
Como puede apreciarse el enfoque propuesto por Hough resulta altamente efectivo,
sin embargo, dicho enfoque presenta algunos inconvenientes, entre ellos el requerimiento de
una gran capacidad de almacenamiento, debido a las celdas tridimensionales necesarias para
los parametros (a, b, c), la complejidad de los calculos y la baja velocidad de procesamiento.
Los parametros resultantes de este procedimiento suelen ser poco exactos, especialmente en
presencia de ruido [2]. En particular, para una imagen digital de dimensiones considerables,
altamente poblada de pixeles bordes, el tiempo de procesamiento requerido por la transfor-
mada circular de Hough vuelve imposible su implementacion en aplicaciones que requieran
encontrar los parametros de las figuras en tiempo real. Con el fin de superar este problema,
algunos otros investigadores han propuesto algunas variaciones a la solucion propuesta por
72 Capıtulo 5: Algoritmos para deteccion de cırculos
Hough, como son, la transformada de Hough probabilistica [48], la transformada de Houhg
aleatoria (RHT) [57], la transformada de Hough difusa [20]. Incluso es posible encontrar
transformadas alternativas como la propuesta por Becker [5].
5.2.2. Transformada de Hough Aleatoria
Para una lınea recta expresada por la siguiente ecuacion 5.1 la SHT (Standard
Hough Transform) transforma un punto (x1, y1) en una curva sinusoidal ρ = x1 cos(θ) +
y1 sin(θ) del plano de parametros de Hough θ, ρ. Sin embargo, si se toman dos puntos
(x1, y1), (x2, y2), es posible mapearlos a un solo punto (θ, ρ) en el plano de parametros de
Hough, solo es necesario resolver el siguiente sistema de ecuaciones:
ρ = x1 cos(θ) + y1 sin(θ) (5.5)
ρ = x2 cos(θ) + y2 sin(θ) (5.6)
La ıdea basica de la RHT surge de este punto clave. Primero, todas las coordenadas de
los pıxeles bordes son colocados en un arreglo D. Despues se implementa un proceso me-
diante el cual pares de pıxeles d1 = (x1, y1), d2 = (x2, y2) son seleccionados de manera
aleatoria. Posteriormente se hace uso de las ecuaciones 5.6 y 5.6 para encontrar un punto
pi = [θ1(i), ρ1(i)] en el espacio de parametros de Hough y colocar este punto en el arreglo
P . Despues de un cierto numero de iteraciones, los parametros que definen aquellas lıneas
presentes en la imagen comenzaran a repetirse en el arreglo P .
En el caso de curvas representadas por ecuaciones no lıneales con respecto a los
parametros, la RHT no puede ser utilizada de manera directa. El cırculo expresado por la
ecuacion 5.8 es una excepcion:
(a − x)2 + (b − y)2 = c2 (5.7)
(a − x)2 + (b − y)2 = R2 (5.8)
En el caso de la ecuacion 5.8 se supone que los tres parametros son desconocidos, mientras
que en la ecuacion 5.8 el radio R es conocido. Utilizar las coordenadas (x1, y1), (x2, y2),
(x3, y3), de tres puntos elegidos al azar en la ecuacion 5.8 para encontrar los tres parametros
5.2. Metodos Determinısticos 73
(a, b, c) no resulta sencillo. Sin embargo los primeros dos parametros a,b pueden encontrarse
resolviendo cualesquiera dos de las siguientes tres ecuaciones:
li :
(
b −yr + yi
2
)
=
(
yr − yi
xr − xi
)(
a −xr + xi
2
)
,
r = mod3[i + 1], i = 1, 2, 3
(5.9)
si m = 3k + r y k, r son enteros, entonces el mod3[m] = r. Aquı se tiene que li es la
mediatriz del segmento de recta que va desde (xi, yi) hasta (xr, yr), de ahı que la solucion
de cualesquiera dos de estas ecuaciones sea el centro de una circunferencia que pasa por los
tres puntos. Usando la ecuacion 5.8 puede encontrarse el valor del radio.
Entonces se tiene que es posible tomar tres puntos del plano de parametros de la
imagen de manera aleatoria y representarlos en el espacio de parametros de Hough con un
solo punto cuyas coordenadas (a, b, c) son los parametros que definen la circunferencia que
pasa por ellos. El procedimiento de la RHT circular a partir de este punto es el mismo ya
descrito, el punto pi = [a(i), b(i), c(i)] encontrado en el espacio de parametros de Hough es
colocado en el arreglo P . Cuando el contador de alguno de los puntos p sobrepasa un umbral
previamente definido la existencia del circulo que sus parametros define es evaluada.
5.2.3. Transformada de Hough Aleatoria Iterativa
La transformada de Hough aleatoria iterativa (IRHT) conserva las ventajas de la
RHT de alta resolucion en los parametros, simplicidad de calculos y poco requerimiento de
almacenaje a la vez que supera la suceptibilidad de la RHT al ruido.
Las limitaciones de la SHT se deben principalmente al hecho de que para cada
pıxel, todas las posibles soluciones son consideradas [56], lo que lleva a un problema de
informacion redundante y evidencia equivoca en el espacio de parametros de Hough.
Con el fin de superar estas limitaciones de la SHT, una nueva familia de Trans-
formadas de Hough ha sido propuesta, entre ellas se encuentran la Transformada de Hough
combinacional (CHT) [6], la Transformada de Hough Aleatoria (RHT) [56], la transformada
de Hough probabilistica (PHT) [25] y la Transformada de Hough Dinamica Generalizada
74 Capıtulo 5: Algoritmos para deteccion de cırculos
(DGHT) [30]. La PHT selecciona de manera aleatoria un subconjunto de pıxeles para su
posterior procesamiento. Las otras Transformadas comparten la siguiente ıdea. Para una
curva n-dimensional, una muestra de n pıxeles elegidos al azar es utilizada para encontrar
los n parametros que definen la curva que pasa por ellos. El contador de la solucion encon-
trada es aumentado en uno en el espacio de parametros de Hough. Este proceso es repetido
cuantas veces sea necesario para lograr una distribucion representativa en el espacio de
parametros de Hough. Las coordenadas del maximo en el espacio de parametros de Hough
representan los parametros de la curva mas representativa en el plano de la imagen. Este
muestreo aleatorio y mapeo convergente (de n puntos en el plano de la imagen a uno solo en
el espacio de parametros) son las principales razones por las cuales estos metodos presentan
propiedades favorables de alta velocidad, poca demanda de almacenamiento y una precision
aceptable en presencia de ruido.
Cuando la cantidad de ruido presente en el plano de la imagen es considerable,
los metodos descritos suelen fallar dado que el ruido puede corromper los maximos del
espacio de parametros, llegando a crear modelos que no existen en el plano de la imagen.
Una solucion que busca superar este inconveniente fue propuesta por Wei Lu et al en [31],
su propuesta denominada Transformada de Hough Aleatoria Iterativa (IRHT) consiste en
aplicar repetidamente la RHT a una region de interes en el plano de la imagen. La region
de interes es actualizada en base a los parametros obtenidos en la iteracion anterior.
5.3. Metodos Heurısticos
Aquı van los metodos heurısticos, entre ellos los de algoritmos geneticos, particle
swarm optimization. Puede realizarse una tabla con las caracteristicas de los metodos,
recalcar los inconvenientes que presentan estos algoritmos, los problemas para lidiar con
ruido y la tendencia a caer en mınimos locales.
Como una alternativa a los metodos basados en la Transformada de Hough, el
problema de reconocimiento de figuras en vision por computadora ha sido tambien abordado
con enfoques heurısticos. En particular, se ha hecho uso de Algoritmos Geneticos (GA) en
importantes tareas de deteccion de figuras e.g. Roth y Levine propusieron el uso de GA
5.3. Metodos Heurısticos 75
en la extraccion de primitivas geometricas en imagenes [46]. Mas recientemente, Lutton et
al han prpuesto una mejora a este metodo [32]. El uso de un GA multi-poblacional para
la deteccion de elipses fue propuesto por Yao et al en [58]. En [60] se hace uso de GA
para el ajuste de modelos cuando el patron ha sido procesado por una transformada afın
desconocida. Ayala-Ramirez et al un detector de cırculos basado en GA [3]. La solucion
propuesta por ellos es capaz de detectar multiples cırculos en imagenes reales, pero suele
fallas en la deteccion de cırculos imperfectos.
Otro ejemplo de solucion basada en tecnicas inteligentes puede encontrarse en [45],
donde se hace uso de un enfoque de soft computing para la clasificacion de formas. Para
el caso de las elipses, se propone un algoritmo de ajuste de elipses que hace uso de cinco
puntos [44]. En [65] este trabajo fue extendido al ajuste de super-elipses.
5.3.1. Extraccion de primitivas geometricas utilizando GA
Este metodo utiliza un GA basado en la representacion de primitivas geometricas
por medio de subconjuntos minimos con el fin de realizar extraccion de primitivas. La
entrada de un algoritmo de extraccion de primitivas consiste de N puntos del plano de la
imagen y la ecuacion que define a la primitiva geometrica de interes. Una sola aplicacion del
proceso de extraccion encontrara la mejor primitiva del tipo especificado en el plano de la
imagen a evaluar, en caso de buscar la extraccion de multiples primitivas, resulta necesario
aplicar el proceso de extraccion tantas veces como figuras se busquen. Un subconjunto
mınimo es el menor numero de puntos necesarios para definir una instancia unica de una
primitiva geometrica. Dicho subconjunto suele ser una buena representacion de todos los
puntos pertenecientes a la primitiva [57, 18]. El numero de puntos en el subconjunto mınimo
es uno menos que el tamano del vector de parametros de la ecuacion que define la primitiva.
El metodo propuesto por Roth et al en [46] utiliza un AG en el cual cada individuo es una
primitiva geometrica y sus cromosomas consisten de N genes, cada uno de los cuales es un
punto del subconjunto mınimo que define la primitiva. La funcion de costo definida para
este GA considera como entrada la primitiva definida por los cromosomas y como salida
un valor escalar que define el fitness de dicha primitiva. En general, la eleccion de esta
funcion de costo se basa en el hecho de que la mayor cantidad de puntos pertenecientes a la
76 Capıtulo 5: Algoritmos para deteccion de cırculos
primitiva definida, lo menos probable que este conjunto de puntos sea aleatorio y mayores
son las probabilidades de que estos puntos definan una primitiva valida.
Entre las ventajas que presenta este algoritmo se encuentra el hecho de que utiliza
la menor cantidad de puntos posibles para definir cada primitiva geometrica de interes,
ademas de que el aalisis puede ser extendido a una gran variedad de primitivas. A su
vez, esta propuesta presenta dos desventajas importantes, la primera es que la calidad
del resultado encontrado depende en gran medida de la calidad de la poblacion inicial, la
otra desventaja importante que presenta es que el proceso del AG debe ser aplicado a la
imagen tantas veces como primitivas se desean encontrar, problema que presentan todos las
soluciones heurısticas propuestas hasta el momento.
5.3.2. HT basada en optimizacion por enjambre de partıculas
En este metodo los parametros encontrados como solucion despues de la Trans-
formada de Hough son consideradas como las posiciones iniciales de las partıculas, y el
algoritmo de optimizacion por eliminacion de enjambre de partıculas (EPSO eliminating
particle swarm optimization) busca la solucion optima eliminando la solucion mas “debil”
para agilizar los calculos.
En general el algoritmo PSO implica los siguientes pasos: evaluar una poblacion
de partıculas en el espacio de busqueda y recordar la mejor solucion encontrada. Al final
de la iteracion cada partıcula ajusta su vector de velocidad de acuerdo a su momento y la
influencia que ejercen sobre ella su mejor solucion y la mejor solucion global de sus vecinos,
despues se procede a examinar otro punto. Suponga que Pi representa la i-esimo partıcula
cuya velocidad y posicion en un espacio d-dimensional estan definidas como Xid y Vid,
respectivamente. La posicion y velocidad de dicha partıcula son actualizadas de acuerdo a
las siguientes formulas:
Vid(t) = ωVid(t − 1) + c1rand()(Pid(t − 1) − Xi(t − 1)) (5.10)
+c2rand()(Pig(t − 1) − Xi(t − 1))
Xid(t) = Xid(t − 1) + Vid(t − 1) (5.11)
donde Xid(t) es la posicion de la i-esima partıcula en un espacio d-dimensional en el instante
5.3. Metodos Heurısticos 77
t, y Vi es la velocidad de Pi(t). Los parametros c1 y c2 son los factores de aprendizaje, ω es
un peso de inercia y rand() es una funcion aleatoria.
El procedimiento de la Transformada de Hough basada en EPSO consta de los
siguientes pasos:
1. Seleccionar M partıculas (poblacion primaria) y los coloca dentro del enjambre pri-
mario S(1) = {P1, P2, . . . , PM}, determinar los parametros de la transformada de
Hough, (x0, y0, r).
2. Construir un conjunto de borde E.
3. Seleccionar tres puntos P1, P2, y P3 en E de manera aleatoria y calcular los paramet-
ros del circulo que definen, por ultimo inicializar la posicion Xid de una partıcula
utilizando los parametros del circulo.
4. Inicializar todas las partıculas del enjambre primario por medio del paso descrito en
el paso anterior
5. Inicializar las velocidades Vid de manera aleatoria.
6. Evaluar el rendimiento de cada partıcula.
7. Comparar el comportamiento de cada partıcula en el nuevo enjambre S(t + 1) contra
el rendimiento actual e igualar Pid(t) al mejor de ellos.
8. Igualar el valor de la mejor partıcula global Pgd(t + 1) a la posicion de la partıcula
con el mejor rendimiento en el enjambre.
9. Ordenar las partıculas de acuerdo a su rendimiento. Se define un nuevo enjambre
S(t + 1) eliminando las L partıculas con el peor rendimiento.
10. Modificar la velocidad de cada partıcula de acuerdo a la ecuacion 5.11.
11. Actualizar la posicion de cada partıcula en S(t + 1).
12. Regresar al paso (5) y repetir el proceso hasta el numero de iteraciones definido
previamente.
78 Capıtulo 5: Algoritmos para deteccion de cırculos
5.4. Revision del capıtulo
Capıtulo 6
Detector de cırculos con LA
6.1. Introduccion
En el presente capıtulo se presenta la solucion desarrollada a lo largo de este
trabajo de tesis, la cual pretende cumplir con los objetivos planteados en el primer capitulo.
Se describe el algortimo desarrollado para la solucion del problema planteado.
6.2. Preprocesamiento de la informacion
En este trabajo cada posible cırculo o accion del automata se representa por medio
de la ecuacion de segundo grado 6.1. Previo a la aplicacion del algoritmo de deteccion de
cırculos se lleva a cabo un preprocesamiento de la imagen con el fin de encontrar los bordes
presentes en ella, el algoritmo mas utilizado en este paso es el propuesto por Canny en [12], el
cual, a diferencia de los demas algoritmos para la obtencion de bordes tiene la ventaja de que
estos quedan representados con un ancho de un solo pıxel. Solo un porcentaje representativo
de los pıxeles activos (alrededor del 10 %) en el mapa de bordes obtenido como resultado de
este proceso son considerados para la definicion de los cırculos candidatos, esta reduccion
de la poblacion original se hace con el fin de que el conjunto de acciones del automata sea
mas pequeno y de esta manera el tiempo de convergencia se vea reducido. Las coordenadas
(xi, yi) de cada pıxel seleccionado son almacenadas en un vector P = {p1, p2, ..., pNp} donde
Np es el numero de pıxeles seleccionados
79
80 Capıtulo 6: Detector de cırculos con LA
Para la construccion de cada cırculo candidato (o accion desde las perspectiva de
LA), los indices de tres puntos i1, i2 e i3 deben ser seleccionados, el cırculo propuesto debe
pasar por las coordenadas de los pıxeles pi1 , pi2 y pi3 . El algoritmo se asegura de que todos
los cırculos definidos sean diferentes, para de esta manera evitar duplicidad de acciones en
el automata y que la probabilidad de una misma accion se ve dividida entre dos indices
diferentes.
La solucion del LA se basa en el seguimiento de la evolucion de las probabilidades
de cada cırculo candidato o accion mientras estas son modificadas de acuerdo a su nivel de
afinidad con las figuras cırculares presentes en la imagen. Una funcion objetivo se encarga
de evaluar dicha afinidad evaluando la factibilidad del cırculo representado por la accion.
Es por ello que la accion que finalice con la mayor probabilidad despues del proceso de
aprendizaje del LA sera considerada como presente en la imagen.
Aunque los metodos de deteccion de cırculos basados en la Transformada de Hough
tambien hacen uso de la combinacion de tres pıxeles para definir cada posible cırculo en el
espacio de parametros de Hough, debido a la cantidad de puntos evaluados requieren de una
gran cantidad de memoria y de demasiado tiempo de computo para lograr resultados con
resolucion de sub-pıxel. Otro punto importante es el que a pesar de que tanto los metodos
basados en la HT como el propuesto en este trabajo utilizan un pre-procesamiento de la
informacion presente en la imagen para obtener los bordes presentes en ella ası como generar
los cırculos candidatos, en el caso del algoritmo basado en LA se hace uso de una funcion
objetivo que permite la mejora de las acciones seleccionadas a cada paso, evitando de esta
manera evaluar las acciones que representan cırculos con bajas probabilidades de existencia
en la imagen.
6.3. Representacion de las acciones
Para generar cada accion C del automata deben ser combinados tres puntos borde
no colineales. En un primer paso, los puntos borde seleccionados en el muestreo aleatorio
son almacenados en un vector P . Despues, se realizan todas las combinatorias posibles de
tres individuos entre los elementos de este vector, las coordenadas de los puntos conforman
6.4. Funcion objetivo 81
las triadas que seran utilizadas para generar una accion que represente a la circunferencia
que pase a traves de los tres puntos elegidos pi, pj y pk (C = {pi, pj , pk}). Cada cırculo C
es representado por tres parametros x0, y0 y r, donde (x0, y0) son las coordenadas (x, y)
del centro del cırculo y r su radio. De esta manera el cırculo que pasa a traves de los tres
puntos puede ser modelado por la siguiente ecuacion:
(x − x0)2 + (y − y0)
2 = r2 (6.1)
donde las coordenadas del centro del cırculo son encontrados por medio de las siguientes
ecuaciones:
x0 =det(A)
4((xj − xi)(yk − yi) − (xk − xi)(yj − yi))(6.2)
y0 =det(B)
4((xj − xi)(yk − yi) − (xk − xi)(yj − yi))
donde det(A) y det(B) son los determinantes de las matrices A y B definidas a continuacion:
A =
x2j + y2
j − (x2i + y2
i ) 2 · (yj − yi)
x2k + y2
k − (x2i + y2
i ) 2 · (yk − yi)
(6.3)
B =
2 · (xj − xi) x2j + y2
j − (x2i + y2
i )
2 · (xk − yi) x2k + y2
k − (x2i + y2
i )
y el radio se calcula con la ecuacion 6.4:
r =√
(x0 − xd)2 + (y0 − yd)2 (6.4)
siendo d ∈ {i, j, k}. La Figura 6.1 ilustra los parametros definidos por las ecuaciones 6.3 y
6.4. En este caso los parametros [x0, y0, r] que definen al cırculo pueden representarse como
una transformacion T del vector de ındices i, j y k.
[x0, y0, r] = T (i, j, k) (6.5)
6.4. Funcion objetivo
La posible existencia de una figura en una imagen puede ser verificada evaluando
cuantos de los pıxeles que la conforman se encuentran realmente presentes en la imagen del
82 Capıtulo 6: Detector de cırculos con LA
rip
jp
kp
0 0( , )x y
Figura 6.1: Cırculo candidato (accion) construido con las combinaciones de los puntos pi,pj y pk.
mapa de bordes de dicha imagen. De aqui que la funcion objetivo propuesta se encargara de
validar la relacion existente entre el conjunto de pıxeles que definen el perimetro del cırculo
candidato C (accion) y la informacion obtenida durante la etapa de pre-procesamiento de
la imagen. Para realizar tal prueba se considera el vector de puntos S = {s1, s2, ..., sNs},
donde Ns el numero de puntos de prueba que definen el perımetro del cırculo C.
El conjunto de prueba S es generado por el algoritmo de cırculo de punto central
(MCA por sus siglas en ingles) [53]. El MCA, considera el radio r y las coordenadas del centro
(x0, y0) para calcular los Ns puntos requeridos para representar el cırculo, produciendo de
esta manera el vector de pruebas S. El algoritmo emplea la ecuacion general del cırculo
x2 + y2 = r2 con el primer octante del cırculo. Dibuja una curva iniciando en el punto (r, 0)
y continua hacia arriba y la izquierda usando sumas y restas de enteros, despues simplemente
refleja los pıxeles obtenidos durante este calculo con respecto a sus coordenadas en x y y,
para obtener la totalidad de pixeles que definen al cırculo. Aunque se considera que el
algoritmo es rapido y que provee una precision de sub-pıxel, puede generar puntos con
coordenadas fuera de los rangos de la imagen, por lo que resulta conveniente asegurar que
estos puntos no sean incluidos en el vector S.
La funcion de costo o funcion objetivo β(C) representa el error resultante entre
los pıxeles del conjunto S del cırculo candidato C (accion) y los pıxeles que realmente se
encuentran presentes en la imagen del mapa de bordes
β(C) =
∑Ns
i=1 E(xi, yi)
Ns(6.6)
6.5. Implementacion del LA 83
donde E(xi, yi) es una funcion que verifica el valor del pıxel con coordenadas (xi, yi) en el
mapa de bordes de la imagen y Ns es el numero de pıxeles que conforman el perimetro del
cırculo definido por la accion C. Entonces la funcion E(xi, yi) puede definirse de la siguiente
manera:
E(xi, yi) =
1 si el pıxel (xi, yi) es un punto borde
0 otro caso(6.7)
El algoritmo busca maximizar β(C) dado que un mayor valor implica una mejor respuesta
del operador de “circularidad”. El algoritmo cuenta con un numero maximo de iteraciones
pre-establecido kmax que usualmente toma el valor de la mitad de la cantidad de acciones que
conforman el LA, al finalizar los kmax ciclos, la accion con mayor probabilidad es considerada
como la solucion al problema. Si durante el proceso de aprendizaje del automata una accion
obtiene un error menor a un umbral pre-establecido, el proceso de aprendizaje es detenido
y dicha accion es considerada como la solucion al problema.
6.5. Implementacion del LA
El procedimiento de la metodologıa con LA puede resumirse en los pasos listados
en la tabla 6.1.
6.6. El caso de multiples cırculos
Dado que la mayorıa de los algoritmos de optimizacion estocasticos convergen a
un solo mınimo global al utilizar este tipo de soluciones para el problema de deteccion de
primitivas geometricas se suele utilizar un metodo propuesto en [46] el cual consiste en
eliminar la figura encontrada del mapa de bordes original y considerar el resultado de este
proceso como la nueva entrada, es decir, el proceso es iterativo y se repite tantas veces
como figuras se desean encontrar. Este enfoque trae consigo varios problemas, dos de ellos
afectan de manera significativa el rendimiento del algoritmo, primeramente el hecho de que
el algoritmo sea iterativo lo vuelve un proceso lento que consume tiempo de manera pro-
porcional a la cantidad de figuras que se buscan, la otra falla importante de este enfoque es
que al momento de eliminar la solucion encontrada durante el proceso se pierde informacion
84 Capıtulo 6: Detector de cırculos con LA
Paso 1: Aplicar el filtro de Canny a la imagen original.
Paso 2: Seleccionar el 10 % de los pıxeles originales para generar el vector P.
Paso 3: Se genera nall a partir de todas las posibles combinatorias de tres ele-
mentos del vector P.
Paso 4: Calcular [x0, y0, r] = T (i, j, k) para nall, seleccionando solo acciones con
un radio dentro de los rangos de interes y evitando la duplicidad de
acciones. Un conjunto de acciones nc es obtenido. El valor de kmax es
ajustado a nc/2.
Paso 5: Inicializar k = 0.
Paso 6: Inicializar la distribucion de probabilidades de todas las nc acciones al
mismo valor i.e. p(Ai, k) = 1/nc, con Ai ∈ (A1, A2, . . . , Anc).
Paso 7: Repetir mientras k <= kmax.
Paso 8: Utilizando un generador pseudo-aleatorio, obtener un numero z entre 1
y 0.
Paso 9: Seleccionar una accion AC ∈ (A1, A2, . . . , Anc) tal que la funcion del
area debajo de la densidad de probabilidad sea∑C
i=1 p(Ai, k) > z.
Paso 10: Evaluar el rendimiento de la accion elegida calculando β(C) [refeq:reinf].
Si el rendimiento de la accion es mayor a un umbral previamente estable-
cido, seleccionar la accion C como la solucion al problema y saltar al paso
15.
Paso 11: Actualizar la distribucion interna de probabilidades del automata uti-
lizando la ecuacion [referencia a la ecuacion de RI].
Paso 12: Incrementar k en uno y saltar al paso 8.
Paso 13: Final de mientras.
Paso 14: Despues de k = kmax ciclos, la accion Am con la mayor probabilidad aso-
ciada en la distribucion interna de probabilidades del automata sera se-
leccionada como la solucion al problema y se dibujara sobre la imagen.
Tabla 6.1: Algoritmo general para la deteccion de cırculos con LA.
6.7. Revision del capıtulo 85
que puede resultar de gran importancia para la siguiente iteracion, resultando en la posible
omision de soluciones.
Los LA al igual que la mayorıa de estos metodos solo converge a un mınimo, sin
embargo, utilizando reglas de aprendizaje como la “Linear Reward Inaction” la distribucion
final de probabilidades del automata presenta informacion importante donde las acciones
asociadas a las probabilidades mas altas se agrupan alrededor del mınimo global y los
mınimos locales. Buscando sacar ventaja de esta caracterıstica se realiza un proceso de
agrupamiento con el metodo de “Fuzzy c-mean Clustering” sobre la distribucion final de
probabilidades del automata mediante el cual se definen tantos conjuntos como cırculos se
buscan.
En la figura 6.2 puede apreciarse el procesamiento que se realiza a la distribucion
final de probabilidades obtenida despues de analizar la imagen que aparece en 6.2(e) con
el algoritmo detector de cırculos propuesto. La figura 6.2(a) muestra la distribucion final
de probabilidades mientras que 6.2(b) muestra las primeras treinta acciones ordenadas de
manera descendente acorde a su probabilidad asociada, estas treinta acciones se localizan en
el espacio como lo muestra la figura 6.2(c), este espacio define tanto la ubicacion del centro
de la circunferencia representada por la accion como la longitud de su radio. En base a la
ubicacion de las acciones en este espacio es que se lleva a cabo el proceso de agrupamiento,
para este caso en particular los resultados del agrupamiento pueden apreciarse en la figura
6.2(d) donde cada accion se encuentra representada por una figura diferente acorde al grupo
al cual pertencen. El metodo de “Fuzzy c-mean Clustering” calcula un centroide para cada
uno de los conjuntos, este centroide se considera como la representacion de todas las acciones
que conforman el conjunto en cuestion; dado que el espacio de la imagen es discreto y para
evitar que el algoritmo de con falsas soluciones, en lugar de considerar el centroide de los
conjuntos, se toma la accion asociada a la probabilidad mas alta de cada conjunto como la
que representa a todos los miembros. Para este caso la imagen de la figura 6.2(f) muestra
las soluciones encotradas.
6.7. Revision del capıtulo
86 Capıtulo 6: Detector de cırculos con LA
5500 6000 6500 7000 7500 8000
0.5
1
1.5
2
2.5
x 10−3 DISTRIBUCIÓN DE PROBABILIDADES
acciones
prob
abili
dade
s
(a)
5 10 15 20 25 300
0.05
0.1
0.15
0.2
0.25DISTRIBUCIÓN DE PROBABILIDADES
Acciones
Pro
babi
lidad
es
(b)
0100
200300
400500
0
200
400
40
60
80
100
120
140
160
coord x
ESPACIO DE LAS ACCIONES
coord y
radi
o r
(c)
0100
200300
400500
0
200
400
40
60
80
100
120
140
160
coord x
ESPACIO DE LAS ACCIONES
coord y
radi
o r
(d)
(e) (f)
Figura 6.2: Procesamiento de la distribucion final de probabilidades. (a) Distribucion finalde probabilidades, (b) acciones ordenadas de manera descendente acorde a su probabilidad,(c) localizacion de las acciones en el espacio, (d) resultado del agrupamiento, (e) imagenoriginal analizada y (f) las soluciones encontradas.
Capıtulo 7
Resultados
7.1. Introduccion
Diferentes clases de pruebas han sido desarrolladas con el fin de evaluar el rendimien-
to del algoritmo bajo diferentes circunstancias. Los experimentos buscan alcanzar los sigu-
ientes objetivos:
• Deteccion de cırculos.
• Deteccion de multiples figuras circulares.
• Aproximacion circular.
• Discriminacion de figuras.
La tabla 7.1 muestra los valores de los parametros del detector de cırculos basado en LA.
Estos valores fueron determinados de manera experimental y se mantuvieron a lo largo
de todos los experimentos. Todos los experimentos se realizaron en una computadora con
procesador Intel Core 2 T5300 bajo programacion en MatLAB.
kmax a rmax rmin n s
nc
2 0.001 150 40 1 2
Tabla 7.1: Parametros del detector de cırculos basado en LA
87
88 Capıtulo 7: Resultados
7.2. Deteccion de cırculos
7.2.1. Imagenes sinteticas
Un conjunto de imagenes artificiales de 200 × 200 pıxeles es usado para este fin.
Las imagenes que conforman este grupo son en blanco y negro, cuentan con un solo cırculo
imperfecto en ellas y han sido contaminadas con ruido de tipo sal y pimienta. El algorıtmo de
LA opera en el espacio de probabilidades definido para el experimento hasta que el lımite
de ciclos ha sido alcanzado. Los experimentos para cada imagen son repetidos 100 veces
con un tiempo promedio por imagen de 0.09segundos. La figura 7.1(a) muestra la imagen
original analizada, en la figura 7.1(b) se muestra en rojo la impresion en la imagen original
del cırculo detectado, por su parte la figura 7.1(c) muestra la distribucion del espacio de
probabilidades a lo largo del tiempo para este experimento en particular, puede apreciarse
claramente la tendencia de crecimiento para la probabilidad relacionada a la accion elegida
despues del proceso de aprendizaje.
7.2.2. Imagenes naturales
En esta seccion se considera el caso de la deteccion de un solo cırculo en imagenes
naturales. Un conjunto de veinticinco imagenes de 640 × 480 pıxeles es usado en el exper-
imento. Todas las imagenes se encuentran en formato de color de 8-bits por lo que debe
considerarse un paso previo del algoritmo para conversion a escala de grises. La figura 7.2
muestra el resultado obtenido con una de las imagenes en particular. Dado que las imagenes
naturales raramente incluyen figuras perfectamente circulares, el detector de cırculos en-
cuentra los parametros del cırculo que mejor aproxime a la figura presente en la imagen.
7.3. Discriminacion de figuras circulares
7.3.1. Imagenes sinteticas
El detector de cırculos propuesto se pone a prueba con un conjunto de imagenes
de 540 × 300 pıxeles, las cuales tienen la caracterıstica de contener varios tipos de figuras
entre las cuales solo se encuentra un cırculo, el reto en este caso consiste en que el algoritmo
7.3. Discriminacion de figuras circulares 89
(a) (b)
AcciónIteración
Pro
babi
lidad
(c)
Figura 7.1: Deteccion de un cırculo y evolucion de la distribucion de probabilidades. (a)Imagen original, (b) el cırculo detectado se muestra sobre la imagen original, (c) Evolucionde la distribucion de probabilidades a traves del tiempo.
90 Capıtulo 7: Resultados
(a) (b)
Figura 7.2: Deteccion de cırculo en una imagen natural. (a) El mapa de bordes de la imagenoriginal, (b) el cırculo detectado aparece sobrepuesto sobre la imagen original.
sea capaz de identificar el cırculo como tal sobre cualquiera de las otras figuras presentes
en la imagen, con el fin de aumentar la dificultad del experimento todas las imagenes
fueron contaminadas con ruido sal y pimienta. La figura 7.3(a) muestra una de las imagenes
utilizadas para este experimento, el resultado obtenido por el algoritmo puede apreciarse
en la figura 7.3(b).
7.3.2. Imagenes naturales
El mismo experimento fue llevado a cabo con un conjunto de imagenes naturales,
en este caso cada imagen cuenta con un objeto circular asi como otros que funcionan a
manera de distractores. La figura muestra un ejemplo de una de estas imagenes, en 7.4(a)
puede apreciarse la imagen original con el cırculo definido como solucion impreso en ella
mientras que 7.4(b) muestra el mapa de bordes obtenido despues de aplicar el algoritmo de
Canny a dicha imagen, este mapa de bordes es a partir del cual se genera el conjunto de
acciones del automata.
7.3. Discriminacion de figuras circulares 91
(a) (b)
Figura 7.3: Deteccion de cırculo en una imagen natural. (a) El mapa de bordes de la imagenoriginal, (b) el cırculo detectado aparece sobrepuesto sobre la imagen original.
(a) (b)
Figura 7.4: Deteccion de cırculo en una imagen natural. (a) El mapa de bordes de la imagenoriginal, (b) el cırculo detectado aparece sobrepuesto sobre la imagen original.
92 Capıtulo 7: Resultados
7.4. Deteccion de multiples cırculos
Tal y como fue explicado en el capıtulo 6, para la deteccion de multiples cırculos
se lleva a cabo un post-procesamiento de la distribucion final de probabilidades utilizando
tecnicas de agrupamiento difusas. En esta seccion se analiza el caso en el cual las imagenes
contienen varias figuras circulares y pocos o ningun distractor, el objetivo de este exper-
imento es unicamente demostrar la capacidad del algoritmo para realizar la deteccion de
todas las figuras circulares presentes en la imagen, al igual que las secciones anteriores, los
experimentos fueron dividos en base al origen de las imagenes en sinteticas y naturales.
7.4.1. Imagenes sinteticas
En este caso el conjunto de prueba utilizado se conforma de veinticinco imagenes de
diferentes resoluciones. Cada imagen ha sido generada dibujando multiples figuras circulares
localizadas de manera aleatoria. Todas las imagenes fueron contaminadas con ruido sal y
pimienta para aumentar la complejidad del proceso de deteccion. Para todos los casos
el algoritmo es capaz de detectar los cırculos a pesar del ruido. El proceso de deteccion
se muestra robusto ante las traslaciones y los escalamientos de las figuras manteniendo
un tiempo de computo razonable, usualmente por debajo de 1ms. La figura 7.5 muestra el
resultado obtenido para una de las imagenes del conjunto analizado en este experimento. En
7.5(a) se muestran las treinte acciones asociadas a las probabilidades mas altas del automata.
En 7.5(b) se aprecia la distribucion en el espacio de estas treinta acciones, cada una de
ellas representada por simbolos acorde al grupo al cual pertenece, pueden diferenciarse
claramente los cinco grupos definidos. Los cinco cırculos identificados son plasmados sobre
la imagen original como se muestra en 7.5(d).
7.4.2. Imagenes naturales
Un conjunto de veinticinco imagenes naturales con caracterısticas similares a las
sinteticas de la seccion anterior, es decir, con multiples figuras circulares y pocos o ningun
distractor fueron usadas en este experimento. La figura 7.6 muestra una de las imagenes
utilizadas incluyendo en 7.6(a) las treinta acciones del automata asociadas a las probabili-
7.4. Deteccion de multiples cırculos 93
5 10 15 20 25 300
0.05
0.1
0.15
0.2
0.25DISTRIBUCIÓN DE PROBABILIDADES
Acciones
Pro
babi
lidad
es
(a)
0100
200300
400500
0
200
400
40
60
80
100
120
140
160
coord x
ESPACIO DE LAS ACCIONES
coord y
radi
o r
(b)
(c) (d)
Figura 7.5: Deteccion de multiples cırculos en una imagen sintetica. (a) Las treinta accionescon mayor probabilidad, (b) su ubicacion en el espacio, (c) la imagen original analizada y(d) los cırculos detectados.
94 Capıtulo 7: Resultados
5 10 15 20 25 300
0.05
0.1
0.15
0.2
0.25DISTRIBUCIÓN DE PROBABILIDADES
Acciones
Pro
babi
lidad
es
(a)
0100200300400500600
0
200
40040
50
60
70
80
90
100
coord y
coord x
ESPACIO DE LAS ACCIONES
radi
o r
(b)
(c) (d)
Figura 7.6: Deteccion de multiples cırculos en una imagen natural. (a) Las treinta accionescon mayor probabilidad, (b) su ubicacion en el espacio, (c) la imagen original analizada y(d) los cırculos detectados.
dades mas altas y la distribucion de estas en el espacio en 7.6(b), en 7.6(c) se muestra en
mapa de bordes de la imagen y en 7.6(d) los resultados impresos sobre la imagen original.
7.5. Aproximacion circular
Dado que la deteccion de cırculos ha sido considerado en este trabajo como un
problema de optimizacion, resulta posible aproximar una figura dada por medio de la con-
catenacion de multiples cırculos. Un ejemplo de la aplicacion del algoritmo desarrollado a
este tipo de problemas puede apreciarse en la figura 7.7.
7.6. Discriminacion de multiples cırculos 95
(a) (b)
Figura 7.7: Aproximacion de una figura por medio de concatenacion de cırculos. (a) Laimagen original y (b) la aproximacion obtenida.
7.6. Discriminacion de multiples cırculos
Por ultimo, se pone a prueba la capacidad del algoritmo de lidiar con varios prob-
lemas a la vez, en este caso las imagenes que conforman el conjunto de prueba tienen la
caracterıstica de contener varios cırculos y otras figuras que funcionan como distractores,
ademas de esto, las figuras circulares se encuentran en parte ocluidas y no todas ellas son
cırculos perfectos, la figura 7.8 muestra un ejemplo de estas imagenes. En este caso en par-
ticular las dos figuras circulares que se encuentran en la parte superior de la imagen son
practicamente cırculos perfectos, por su parte, de las dos figuras restantes, una es una figura
elipsoidal mietras que la ultima localizada en la parte inferior derecha de la imagen es un
cırculo ocluido.
7.7. Evaluacion de rendimiento
Con el fin de realizar un analisis a profundidad del rendimiento del detector de
cırculos basado en LA, se realizaron dos pruebas importantes, primero fue llevada a cabo una
comparativa de rendimiento contra dos algoritmos determinsısticos, la RHT y la IRHT, esto
para comprobar la hipotesis de que un metodo heurıstico es capaz de encontrar la solucion
al problema de deteccion de figuras circulares en un tiempo considerablemente menor que
96 Capıtulo 7: Resultados
5 10 15 20 25 30
0.005
0.01
0.015
0.02
0.025
DISTRIBUCIÓN DE PROBABILIDADES
Acciones
Pro
babi
lidad
es
(a)
0
200
400
600
0100
200300
400
20
40
60
80
100
coord x
ESPACIO DE LAS ACCIONES
coord y
Rad
io r
(b)
(c) (d)
Figura 7.8: Deteccion de multiples cırculos en una imagen natural. (a) Las treinta accionescon mayor probabilidad, (b) su ubicacion en el espacio, (c) la imagen original analizada y(d) los cırculos detectados.
7.7. Evaluacion de rendimiento 97
el empleado por un metodo determinıstico. La segunda prueba consta de una comparativa
de exactitud entre el detector de cırculos con LA y dos metodos heurısticos explicados en
el capıtulo 5.
Se establece un indice de exactitud Es para los resultados obtenidos por los al-
goritmos, este consta de una comparativa entre los parametros (xD, yD, rD) de los cırculos
encontrados por los algoritmos y los parametros (xtrue, ytrue, r) que definen de manera cor-
recta a los cırculos presentes en la imagen, estos ultimos parametros son determinados de
forma manual a partir del mapa de bordes de la imagen. De esta manera Es queda definido
de la siguiente manera:
Es = η · (|xtrue − xD| + |ytrue − yD|) + µ · |rtrue − rD| (7.1)
El primer termino representa el desplazamiento existente entre el centro del cırculo encon-
trado y el centro del cırculo presente en la imagen, mientras que el segundo termino calcula
la diferencia entre los radios. Las variables η y µ son pesos asociados a cada uno de los
terminos en la ecuacion 7.1, sus valores son elegidos de acuerdo a la importancia que se le
quiera dar a cada parametro.
7.7.1. Evaluacion de velocidad
Para este experimento se utiliza una imagen binaria de 256 × 256 pıxeles. Esta
imagen contiene un cırculo perfecto cuyos parametros (xtrue, ytrue, rtrue) son conocidos y
utilizados para el calculo del error Es cuyos parametros η y µ son igualados a uno en
este experimento. La imagen es contaminada con diez diferentes niveles de ruido sal y
pimienta que van desde 0.01 hasta 0.1. Para cumplir con este proposito fue utilizado el
comando “imnoise” de MatLAB. Algunos ejemplos de estas imagenes pueden observarse
en la figura 7.9. Cada una de las imagenes generadas es analizada en cincuenta ocasiones
por los algoritmos, esto con el fin de promediar los tiempos necesarios para convergencia
ası como el error del resultado obtenido. La tabla 7.2 muestra los resultados obtenidos.
Considerando los resultados mostrados en la tabla 7.2, puede observarse que tanto la RHT
como la IRHT presentan errores Es pequenos al analisar imagenes con un nivel bajo de
ruido, sin embargo este comportamiento se pierde totalmente cuando la cantidad de ruido
98 Capıtulo 7: Resultados
(a) (b) (c) (d)
Figura 7.9: Algunos ejemplos de las imagenes utilizadas en el experimento, todas ellas fueroncontamindas con diferentes niveles de ruido sal y pimienta (nl): (a) nl=0.01,(b) nl=0.04,(c) nl=0.07 y (d) nl=0.1.
0
5
10
15
20
25
30
35
40
45
50
0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Nivel de Ruido
Tie
mpo
Com
puta
cion
al (
s)
LARHTIRHT
Figura 7.10: Tiempo computacional requerido por los experimentos analizados al analizarlas imagenes que se muestran en la figura 7.9.
7.7. Evaluacion de rendimiento 99
nl Error Es Tiempo de computo
LA RHT IRHT LA RHT IRHT
0.01 2.10 0 0 0.4867 0.0633 0.1352
0.02 2.20 0 0 0.5026 0.2358 0.3162
0.03 2.26 0 0 0.5524 0.5719 0.9269
0.04 2.44 0 0 0.4211 1.6856 3.6803
0.05 2.52 0 0 0.5698 4.0972 6.2130
0.06 2.50 0 0 0.5252 5.7841 8.1329
0.07 2.90 124.08 100 0.5947 10.8777 12.5049
0.08 2.08 104.90 107.12 0.9342 11.0007 21.2558
0.09 2.36 130.94 110 0.9085 12.5093 37.7280
0.10 3.92 153.16 103.78 1.2285 14.0556 49.3467
Tabla 7.2: Comparasion de rendimiento de los algoritmos basado en LA, RHT e IRHT alprocesar las imagenes de la figura [reffig:comp1].
anadido se encuentra por arriba de 0.06; ademas el tiempo de computo empleado por estos
algoritmos aumenta de manera considerable (vea figura 7.10). Por otro lado, el metodo
basado en LA muestra un comportamiento mucho mas regular, con un Es pequeno y un
tiempo de computo aceptable para todos los experimentos.
7.7.2. Evaluacion de exactitud
Para este experimento se consideran los siguientes valores en la funcion de error
Es, η = 0.05 y µ = 0.1. Con esta seleccion de valores se asegura que la diferencia entre
los valores de los radios sea considerada como de mayor peso que la existente entre las
posiciones de los centros. En caso de que el valor de Es sea menor a 1, se considera que
el algoritmo a tenido excito; de otra manera ha fallado en la deteccion del cırculo. Note
que para los valores η = 0.05 y µ = 0.1, el limite de Es < 1 implica que la diferencia
maxima tolerada es de 10 pıxeles para el radio y 20 pıxeles para la posicion del centro. En
general, el indice de exito (IE) puede definirse como el porcentaje intentos exitosos despues
100 Capıtulo 7: Resultados
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
Figura 7.11: Imagenes sinteticas y los cırculos detectados por los diferentes algoritmos. (a),(b) y (c) Imagenes originales, (d), (e) y (f) resultados de GA, (g), (h) e (i) resultados delBFAOA y (j), (k) y (l) resultados de LA.
7.8. Revision del capıtulo 101
de un determinado numero de pruebas. La figura 7.11 muestra tres imagenes sinteticas y
los resultados obtenidos con el algoritmo basado en GA [3], el BFAOA [14] y el enfoque
propuesto. La figura ?? presenta el mismo caso, pero analisando dos imagenes naturales.
Los resultados son promediados considerando treinta y cinco pruebas independientes de
cada algoritmo. La tabla 7.3 muestra el promedio de tiempo de ejecucion, el indice de
exito en porcentaje y el Error promedio calculado con la formula 7.1 considerando los pesos
mensionados al comienzo de esta seccion. En el caso de los valores de Es solo el error mayor
fue considerado. En la tabla 7.3 puede observarse que el metodo propuesto es capaz de el
indice de exito mas alto y el menor error, a la vez que requiere el menor tiempo de computo
para la mayoria de los casos.
7.8. Revision del capıtulo
102 Capıtulo 7: Resultados
(a) (b)
(c)
(d)
(e)
(f)
(g)
(h)
Figura 7.12: Imagenes naturales y los cırculos detectados por los diferentes algoritmos. (a)y (b) Imagenes originales, (c) y (d) resultados de GA, (e) y (f) resultados del BFAOA y (g)y (h) resultados de LA.
7.8
.R
evisio
ndel
capıtu
lo103
Image Tiempo promedio ± SD Indice de Exito (IE)% Es ± SD
GA BFAOA LA GA BFAOA LA GA BFAOA LA
Imagenes sinteticas
(a) 4.55±(0.32) 3.90±(0.23) 0.12±(0.15) 90 100 100 0.61±(0.097) 0.89±(0.091) 0.31±(0.022)
(b) 3.66±(0.37) 2.98±(0.37) 0.16±(0.13) 85 95 100 0.68±(0.088) 0.91±(0.088) 0.27±(0.024)
(c) 3.82±(0.42) 4.22±(0.21) 0.15±(0.11) 87 91 99 0.76±(0.093) 0.92±(0.086) 0.19±(0.021)
Imagenes naturales
(a) 8.16±(0.51) 9.21±(0.22) 0.21±(0.21) 80 92 100 0.71±(0.098) 0.92±(0.043) 0.33±(0.039)
(b) 6.88±(0.60) 12.78±(0.43) 0.19±(0.29) 71 88 100 0.80±(0.095) 1.02±(0.188) 0.23±(0.031)
Tabla 7.3: El tiempo promedio de ejecucion y el indice de exito del algoritmo basado en GA, el metodo BFAOA y el algoritmopropuesto en este trabajo, considerando cinco imagenes de prueba que se muestran en las figuras [reffig:comp3] y [reffig:comp4].
Capıtulo 8
Caso de estudio
8.1. Introduccion
A lo largo de los diferentes capıtulos de esta tesis fueron tratados los conceptos
necesarios para la correcta comprension del metodo propuesto para la deteccion de multiples
figuras circulares en imagenes digitales. En este capıtulo se presenta un caso de estudio en
el cual se hace uso del metodo propuesto para la resolucion de un problema complejo cuyas
posibles soluciones por parte del area de vision por computadora aun se encuentran en
etapas de desarrollo temprano.
En esta seccion se presenta un algoritmo para la segmentacion, localizacion y
medicion de leucocitos a partir de imagenes de frotis sanguıneos. Dado que en la propuesta
que se presenta, la tarea de deteccion es considerada como un problema de optimizacion
entre el leucocito y el cırculo que mejor lo aproxime, se hace uso del algoritmo presentado
en el capıtulo anterior. El algoritmo hace uso de la codificacion de tres puntos que formen
parte de los contornos de las celulas para ası generar los cırculos candidatos que intentaran
aproximar a los leucocitos. Una funcion objetivo se encarga de evaluar que tan eficazmente
los cırculos candidatos aproximan a los leucocitos que realmente se encuentran en la imagen.
Resultados experimentales obtenidos tras la aplicacion del metodo a un amplio conjunto de
imagenes con diferentes grados de complejidad validan la eficacia de la tecnica propuesta
con respecto a precision, velocidad y robustez.
105
106 Capıtulo 8: Caso de estudio
8.2. Aproximacion de leucocitos
Los globulos blancos (GB) o leucocitos, en especifico sus caracterısticas fısicas y
distribucion poblacional, juegan un papel de suma importancia en el proceso de deteccion de
una amplia gama de enfermedades. Algunas tecnicas de procesamiento digital de imagenes
han sido empleadas como auxiliares en el analisis de este tipo de celulas, permitiendo de
esta manera realizar diagnosticos remotos de enfermedades de manera mas rapida y precisa.
Sin embargo, existen una gran cantidad de complicaciones con las cuales hay que lidiar
para la correcta obtencion de informacion a partir de estas imagenes, esto debido tanto a
las variaciones en las formas y tamanos de las celulas como a problemas inherentes a la
preparacion del frotis sanguıneo. Ademas, en muchos casos la iluminacion no se encuentra
correctamente balanceada causando que el contraste entre los lımites de las celulas y el
fondo sea muy pobre lo cual dificulta el proceso de segmentacion de las celulas.
Tanto el conteo como la medicion de los diferentes tipos de GB proveen a los
especialista del area de informacion util en el diagnostico de enfermedades. El metodo
tradicional para que un experto humano realice el conteo y medicion de las celulas es
una tarea monotona que consume demasiado tiempo. Por otro lado el uso de tecnicas de
procesamiento de imagenes se ha incrementado de manera significativa en los ultimos anos,
a tal punto que los hematologos pueden obtener una primera aproximacion en la deteccion
de enfermedades mediante el uso de estas tecnicas. Estas tecnicas pueden ser utilizadas en
el conteo automatico de celulas, ademas, son capaces de proveer informacion por demas
util, como puede ser la razon nucleo-citoplasma lo que permite identificar y clasificar los
diferentes tipos de GB. Es por esto que en este tranajo se presenta una nueva propuesta
para el analisis de imagenes de frotis sanguıneos, la cual consiste de un algoritmo para
segmentacion y medicion de leucocitos basado en LA.
Actualmente se han realizado muchos trabajos sobre metodos generales de seg-
mentacion y localizacion, entre ellos se encuentran los de deteccion de bordes, crecimiento
de regiones, filtrado, morfologıa y agrupamiento de cuencas. Ritter et al. [43] presentaron un
metodo totalmente automatico para la segmentacion e identificacion de bordes de todos los
objetos que no presentan superposicion en imagenes de frotis sanguıneo. Ongun et al. [39]
8.2. Aproximacion de leucocitos 107
realizaron localizacion por medio de procesos morfologicos seguidos del algoritmo de ”snake-
ballon”. Jiang et al. [23] propusieron un esquema de segmentacion de GB en el espacio de
imagenes a color haciendo uso de tecnicas de agrupamiento, filtrado escalo-espacial para
extraccion de nucleos y agrupamiento de cuencas para extraccion de citoplasmas. Leyza et
al. [15] usaron operadores morfologicos y examinaron las propiedades escalo-espaciales de
un operador tensor para mejorar la exactitud de la segmentacion. Scotti [47] presento un
metodo morfologico automatico basado en el analisis morfologico de GB. Kumar et al. [27]
usaron el operador de energıa ”Teager”para la segmentacion de nucleos basados en bordes,
los cuales son efectivamente detectados por el operador de energıa Teager, sin embargo el
metodo esta restringido a que exista al menos un espacio entre el globulo blanco y el fondo
de la imagen. Por otra parte, Cseke introdujo un esquema de segmentacion multi-escala
[13], en el que implementa el metodo de umbralizacion automatico propuesto por Otsu [1].
Recientemente Wang et al [50] propusieron un algoritmo para la deteccion de GB basado en
una red neuronal celular difusa. Este metodo aunque permite detectar con mucha presicion
la forma de un solo globulo blanco, no ha sido probado para la deteccion de multiples GB,
ademas de degradar su desempeno cuando el algoritmo no es detenido en el numero de
iteraciones adecuadas, numero que dicho sea de paso no es claro como obtener.
Este caso de estudio presenta un algoritmo capaz de realizar deteccion automatica
de GB en complicadas imagenes de frotis sanguıneos. Para un analisis mas sencillo, este
problema ha sido dividido en dos partes, la primera corresponde a la segmentacion de
GB, mientras que la segunda trata de encontrar el area y la ubicacion espacial de estos
GB. En la primera parte del problema se lleva a cabo la busqueda de un valor umbral
adecuado para la segmentacion de los GB. En la segunda parte se buscan los cırculos
que representen de mejor manera a los GB presentes en la imagen, para cumplir con esta
tarea se propone un enfoque en el cual el problema de deteccion es considerado como
uno de optimizacion entre el leucocito y el cırculo que mejor lo aproxime. El algoritmo
propuesto en este trabajo se basa en Learning Automata el cual es un metodo heurıstico
que ha sido utilizado en la resolucion de complejos problemas de optimizacion con resultados
sobresalientes. El algoritmo utiliza la codificacion de tres puntos bordes no colıneales para
formar las acciones (cırculos candidatos). Una funcion objetivo se encarga de evaluar la
108 Capıtulo 8: Caso de estudio
afinidad existente entre las acciones elegidas y los leucocitos existentes en la imagen. Con
base en los valores de afinidad devueltos por el ambiente, el sistema de LA lleva a cabo el
proceso de aprendizaje hasta encontrar las acciones que mejor se ajusten a los leucocitos
presentes en la imagen. El enfoque propuesto genera un detector de formas con precision de
sub-pıxel capaz de identificar leucocitos inclusive si gran parte del GB se encuentra ocluido.
Resultados experimentales validan la eficacia de dicho metodo bajo diferentes circunstancias.
8.3. Localizacion de objetos con LA
8.3.1. Descripcion del problema
Un frotis sanguıneo es un mecanismo cientıfico que consiste en el extendido de una
gota de sangre en la superficie de un portaobjetos con el fin de analizarla posteriormente.
En la figura 8.1 puede observarse una imagen de frotis sanguıneo obtenida con microscopio;
en ella pueden identificarse claramente dos tipos de celulas contra un fondo uniforme. La
primera clase que corresponde a los globulos rojos (GR) consta de celulas de dimensiones y
formas muy similares, mientras que la segunda clase o globulos blancos (GB) se conforma
de celulas de mayor tamano y formas irregulares. En este tipo de tecnicas se hace uso de
un colorante con el fin de que sea mas facil localizar los GB ası como distinguirlos de los
GR. Considerando esta informacion, el objetivo de nuestro metodo es representar cada uno
de los leucocitos presentes en la imagen con un cırculo, dicho cırculo debe aproximar de
manera tan precisa como sea posible la localizacion y el tamano del GB en cuestion.
8.3.2. Preprocesamiento de la imagen
El primer paso en este algoritmo corresponde al analisis del histograma de la
imagen en escala de grises, esto con el proposito de obtener un valor umbral Th, deba-
jo del cual se encuentren todos los valores de pıxel que conforman a los GB. La figu-
ra [reffig:threshold1](a) muestra el histograma correspondiente a la imagen de la figura
[reffig:frotis-gris]. Resulta simple identificar tres areas principales en este histograma, las
cuales corresponden - de izquierda a derecha - a: (i) pıxeles de globulos blancos, (ii) pıxeles
de globulos rojos y (iii) pıxeles de fondo. En el proceso, se obtiene la derivada del histogra-
8.3. Localizacion de objetos con LA 109
Figura 8.1: Imagen de un frotis sanguineo en el microscopio, en ella pueden apreciarse losGB (las celulas mas obscuras) y los GB en un fondo uniforme.
ma original, el resultado es analizado con un vector renglon de 5 elementos para definir
pendientes positivas y negativas, el valor Th que se busca corresponde al primer valor en
el cual la pendiente cambia de un valor negativo a uno positivo. La imagen es binarizada
utilizando el valor Th encontrado, la imagen resultante despues de aplicar este proceso a
la imagen de la figura [reffig:frotis-gris] puede apreciarse en la Figura [reffig:threshold1](b).
Como puede observarse en la figura 8.2(b) los conjuntos de pıxeles (blobs) obtenidos de-
spues del proceso de segmentacion contienen algunos huecos, esta condicion puede causar
una lectura erronea de caracterısticas, con el fin de evitar estos errores, se propone eliminar
los huecos por medio de operaciones morfologicas y despues obtener el area y perımetro
de cada uno de los grupos de pıxeles, los resultados obtenidos al aplicar las operaciones de
relleno”propuestas pueden apreciarse en la figura 8.3. En este punto cada uno de los blobs
representa un potencial GB, estos conjuntos de pıxeles son clasificados en tres distintos gru-
pos acorde a sus areas y perımetros, para este fin se hace uso de una caracterıstica indirecta
conocida como compactacion, la cual se define de la siguiente manera:
compactacion =area
perimetro2(8.1)
110 Capıtulo 8: Caso de estudio
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 50 100 150 200 250
(a) (b)
Figura 8.2: (a) Histograma de la imagen en escala de grises de la figura 8.1. (b) Imagenbinaria obtenida despues del proceso de umbralizacion.
(a) (b)
Figura 8.3: Imagen binaria obtenida despues de la operacion de “relleno”. (b) Mapa debordes obtenido de (a) utilizando el gradiente morfologico.
8.3. Localizacion de objetos con LA 111
(a)
Tipo 1
Tipo 2
(b)
(c)
Tipo 3
(d)
Figura 8.4: (a), (c) Dos ejemplos de imagenes de frotis sanguines y (b), (d) la clasificacionde sus conjuntos de pıxeles.
El primer grupo (Tipo 1) esta conformado por aquellos blobs con un area menor a la de un
GR, este tipo de grupos suelen formar parte de un neutrofilo, un esinofilo o un basofilo, tres
diferentes tipos de GB cuya principal caracterıstica es contar con un nucleo lobulado. En el
segundo grupo (Tipo 2) se encuentran aquellos blobs con un area mayor que la de un GR y
compactacion de al menos 0.7, los miembros de este grupo son considerados como probables
linfocitos o monocitos, este tipo de GB constan de un nucleo bien definido sin lobulos; final-
mente los conjuntos de pıxeles con un area mayor a la de un GR y compactaciaon pequena
formaran el tercer grupo (Tipo 3), en este ultimo grupo se encuentran aquellos conjuntos
de pıxeles generados por GB que presentan traslapes, ejemplos de los tres tipos que acaban
de ser definidos pueden apreciarse en la figura 8.4. Cada grupo es procesado de diferente
manera. Al grupo Tipo 1 se aplica una secuencia de operaciones morfologicas para lograr
112 Capıtulo 8: Caso de estudio
conjuntar aquellos pıxeles que forman parte del mismo nucleo; una vez realizado este pro-
cedimiento, cada uno de los blobs resultantes debera ser representado por un solo cırculo. En
cuanto a los blobs Tipo 2, cada uno de ellos es analizado para encontrar el cırculo que mejor
lo aproxime. Finalmente los blobs del grupo Tipo 3 son sometidos a un proceso secuencial
mediante el cual se encuentran tantos cırculos como celulas los conforman. Como ya fue
explicado en el capıtulo 6, los cırculos candidatos son modelados utilizando las ecuaciones
6.1 y 6.3. Una vez segmentados los leucocitos usando el metodo descrito previamente, se
obtiene el mapa de bordes correspondiente mediante la aplicacion del gradiente morfologico
[26], los pıxeles resultantes de este proceso son los unicos que son considerados para formar
los cırculos candidatos.
Todas las acciones del LA consideradas deben tener un radio dentro de los limites
de interes, considerando como referencia la relacion existente entre las areas de los GR y los
GB [agregar referencia de hematologıa], mientras que los cırculos pequenos son eliminados
por tratarse en su mayorıa de ruido.
8.3.3. Funcion objetivo
La existencia de una posible circunferencia en una imagen puede ser verificada
evaluando la manera en que una forma virtual circular concuerda con los puntos borde de
un cırculo real en la imagen. La funcion objetivo validara la relacion existente entre el circulo
candidato C (accion) y la informacion obtenida durante la etapa de preprocesamiento de la
imagen. Para realizar tal prueba se consideran los vectores de puntos S = {s1, s2, . . . , sNS}
y R = {r1, r2, . . . , rNR}, siendo NS el numero de puntos de prueba que definen el perımetro
del cırculo C, y NR el numero de puntos prueba que definen el area de dicha accion.
El conjunto de prueba S es generado por el algoritmo de cırculo de punto central
(MCA por sus siglas en ingles) [53]. El conjunto de prueba R es generado realizando un
barrido de izquierda a derecha y de arriba hacia abajo entre las coordenadas que definen
el perımetro del cırculo. La funcion de costo o funcion objetivo β(C) representa el error
resultante entre los pıxeles de los conjuntos S y R del cırculo candidato C y los pıxeles
8.3. Localizacion de objetos con LA 113
Paso 1: Aplicar el algoritmo de auto-segmentacion a la imagen en escala de gris-
es.
Paso 2: Realizar operaciones de rellenado de blobs.
Paso 3: Aplicar el gradiente morfologico para encontrar el mapa de bordes.
Paso 4: Clasificar los conjuntos de pıxeles en grupos de acuerdo a sus carac-
terısticas.
Paso 5: En caso de existir pıxeles Tipo 1 aplicar los operadores morfologicos.
Paso 6: Realizar las separaciones en planos de los diferentes tipos de blobs.
Paso 7: Realizar el procedimiento descrito en la tabla 6.1 a cada uno de los planos
considerando la busqueda de multiples cırculos en los planos Tipo 3.
Tabla 8.1: Pasos del detector de GB basado en LA.
realmente existentes tanto en la imagen de bordes como en la de blobs, resultando:
β(C) = 1 −
[
0.2
[
∑NS
i=1 E(xi, yi)
NS
]
+ 0.4
[
∑j=1NR
E(xj , yj)
NR
]
+ 0.4
[
∑NR
l=1 E(xl, yl)
NS
]]
(8.2)
donde E(xi, yi) acumula el numero de puntos del vector S que coinciden con puntos bordes
en la imagen, E(xj .yj) la cantidad de puntos de R que coinciden con puntos del blob
correspondiente y E(xl, yl) lo puntos del mapa de bordes que se encuentran dentro del
perımetro definido por el vector S. En este caso el algoritmo busca minimizar β(C) dado
que un valor pequeno implica una mayor similitud entre el cırculo propuesto y el leucocito
que se busca aproximar.
8.3.4. Implentacion del LA
El procedimiento del metodo aqui propuesto puede resumirse en los siguientes
pasos:
114 Capıtulo 8: Caso de estudio
8.4. Resultados experimentales
En la seccion 8.3.2 fueron definidas tres diferentes categorıas para la clasificacion
de los diferentes tipos de blos resultantes del proceso de segmentacion, los pasos a seguir
para definir las acciones de los automatas seran elegidos de acuerdo a esta clasificacion. Para
ilustrar este punto, el algoritmo desarrollado ha sido puesto a prueba con un conjunto de
imagenes que presentan todos los distintos tipos de globulos blancos y como los conjuntos
de pıxeeles asociados a ellos son clasificados en una de estas clases, las dificulatades a las
que el algoritmo se enfrenta son:
1. Auto-segmentacion.
2. Clasificacion de los conjuntos de pıxeles.
3. Aproximacion circular.
8.4.1. Conjuntos de pıxeles Tipo 1 y 2
En este experimenteo, una imagen que muestra los cinco diferentes tipos de globu-
los blancos que fueron definidos previamnte se utiliza como entrada para el algoritmo desar-
rollado. La figura 8.5(a)) muestra la imagen en escala de grises utilizada en el experimento
y la figura 8.5(b) la imagen resultante del proceso de auto-segmentacion, en este caso cu-
atro de los ocho grupos de pıxeles encontrados son clasificados como Tipo 1, por lo que
sometidos a un pre-procesamiento para definir un nucleo unico, el resultado de este proceso
se puede observar en 8.5(c), finalmente las acciones definidas por el algoritmo como las
mejores soluciones se imprimen en la imagen original y se muestra en la figura 8.5(d).
8.4.2. Conjuntos de pıxeles Tipo 2 y 3
En esta seccion se utilizaron un conjunto de imagenes que muestran GB super-
puestos, los blobs asociados a estos GB son clasificados como Tipo 3, las imagenes tambien
contienen blobs Tipo 2. En la figura [reffig:res2-leucos] pueden apreciarse algundas de las
etapas del algoritmo considerando como entrada una imagen con las caracterısticas previa-
mente citadas. La figura [reffig:res2-leucos](a) muestra la imagen de entrada del algoritmo,
8.4. Resultados experimentales 115
(a) (b)
(c) (d)
Figura 8.5: (a) Imagen a escala de grises utilizada como entrada para el algoritmo, (b)conjuntos de pıxeles Tipo 1 y 2 presentes en la imagen, (c) resultado de pre-procesamientomorfologico y (d) los cırculos encontrados.
116 Capıtulo 8: Caso de estudio
(a) (b)
(c) (d)
Figura 8.6: (a) Imagen a escala de grises utilizada como entrada para el algoritmo, (b)conjuntos de pıxeles Tipo 2 y 3 encontrados despues del proceso de segmentacion, (c) mapade bordes de (b) y (d) los cırculos encontrados.
la figura [reffig:res2-leucos](b) muestra el resultado del proceso de segmentacion automatico,
mientras que la figura [reffig:res2-leucos](c) muestra el mapa de bordes obtenido despues de
aplicar el operador de gradiente morfologico, por ultimo en la figura [reffig:res2-leucos](d)
se muestran los cırculos encontrados para representar cada una de las celulas.
8.4.3. Conjuntos de pıxeles Tipo 1, 2 y 3
En el ultimo conjunto de imagenes se consideran aquellas que cuentan con los tres
tipos de conjuntos de pıxeles. Este tipo de imagenes resultan ser particularmente utiles, pues
se puede observar que nuestro algoritmo es capaz de lidiar con todas las posibles dificultades
8.5. Comparacion del rendimiento 117
en una misma imagen. La figura [reffig:res3-leucos] muestra las diferentes etapas del analisis
de la imagen. AQUI VA LA FIGURA 9 DEL PAPER DE CELULAS [labelfig:res2-leucos]
8.5. Comparacion del rendimiento
Con el fin de medir el desempeno del metodo propuesto en este trabajo, algunos
de sus resultados fueron comparados con los obtenidos por el metodo propuesto por Chang
et al. en [50], el cual es considerado por la comunidad de expertos como un algoritmo
de vanguardia. Para los experimentos realizados en esta seccion, la estructura de la red
neuronal y los parametros del algoritmo propuesto en [50] se establecieron de acuerdo a la
configuracion sugerida por los autores en [50], mientras tanto los parametros utilizados en
el algoritmo presentado en este documento pueden observarse en la tabla [reftbl:par-leucos].
La figura [reffig:comp-leucos1] muestra los resultados obtenidos por ambos algo-
ritmos, considerando como entrada una imagen con dos GB. En la figura [reffig:comp-
leucos1](b) puede observarse claramente que el metodo de Wang solo es capaz de detectar
un solo GB, lo cual es consecuencia de la necesidad del algoritmo de utilizar tanto informa-
cion global como local, lo que complica su generalizacion a mas de un contorno activo. Por
otro lado, la figura [reffig:comp-leucos1](c) muestra los resultados obtenidos por el meto-
do presentado en esta seccion. AQUI VA LA FIGURA 10 DEL PAPER DE CELULAS
[labelfig:comp-leucos1] Una desventaja importante del metodo propuesto por Wang es el
hecho de que pierde estabilidad conforme el numero de iteraciones permitidas aumenta, lo
que significa que si el algoritmo no es detenido en un numero de iteraciones apropiado,
algunas celulas vecinas seran consideradas como parte del contorno activo. Un claro ejem-
plo de este comportamiento puede observarse en la figura [reffig:comp-leucos2](a), donde
fue establecido un limite de 400 iteraciones, un numero mucho mayor a las 200 iteraciones
empleadas para obtener el rendimiento optimo del algoritmo. Por su parte el rendimiento
del algoritmo en LA no se ve mermado al incrementar la cantidad de iteraciones, de he-
cho la exactitud del algoritmo mejora conforme el numero de ciclos incrementa, la figura
[reffig:comp-leucos2](b) muestra la respuesta del algoritmo aqui propuesto despues de 400
iteraciones. AQUI VA LA FIGURA 11 DEL PAPER DE CELULAS [reffig:comp-leucos2]
118 Capıtulo 8: Caso de estudio
Algoritmo Ciclos % de error
Wang 60 70 %
200 1 %
400 121 %
LA 60 7.06 %
200 7.06 %
400 2.24 %
Tabla 8.2: Porcentajes de error obtenidos por (a) el algoritmo de Wang y (b) el algoritmobasado en LA bajo diferentes condiciones.
Con el objetivo de comparar la precision de ambos metodos, se considera el area que ambos
enfoques aproximan con respecto al area real del GB. Estas mediciones consideran difer-
entes grados de evolucion de los algoritmos, solo se evalua la aproximacion obtenida a un
GB (el unico que es capaz de detectar el metodo propuesto por Wang). Los resultados son
mostrados en la tabla 8.2. El error reportado en esta tabla representa el promedio obtenido
despues de realizar 50 veces cada prueba.
8.6. Revision del capıtulo
Capıtulo 9
Conclusiones
9.1. Resumen de la tesis
9.2. Conclusiones Generales
9.3. Trabajos Futuros
9.4. Revision del capıtulo
119
Referencias
[1] A threshold selection method from gray-level histograms. Systems, Man and Cybernetics, IEEE
Transactions on 9, 1 (jan. 1979), 62 –66.
[2] Atherton, T., and Kerbyson, D. Using phase to represent radius in the coherent circle
hough transform. In Hough Transform, IEEE Colloquium on (1993), IEEE, pp. 5/1–5/4.
[3] Ayala-Ramirez, V., Garcia-Capulin, C. H., Perez-Garcia, A., and Sanchez-Yanez,
R. E. Circle detection on images using genetic algorithms. Pattern Recogn. Lett. 27, 6 (2006),
652–657.
[4] Baba, N. On the behaviour of sl(r-i) reinforcement scheme for stochastic automata. IEEE
Trans. Syst., Man and Cybern. SMC-6 (1976), 580–582.
[5] Becker, J. M., Grousson, S., and Coltuc, D. From hough transform to integral geometry
[image processing]. Proc. Int. Geoscience and Remote Sensing Symp. 3 (2002), 1444–1446.
[6] Ben-Tzvi, D., and Sandler, M. B. A combinatorial hough transform. Pattern Recogn. Lett.
11, 3 (1990), 167–174.
[7] Bezdek, J. C. Pattern Recognition with Fuzzy Objective Function Algorithms. Kluwer Aca-
demic Publishers, Norwell, MA, USA, 1981.
[8] Bezdek, J. C., Pal, M. R., Keller, J., and Krisnapuram, R. Fuzzy Models and Algo-
rithms for Pattern Recognition and Image Processing. Kluwer Academic Publishers, Norwell,
MA, USA, 1999.
[9] Bongiovanni, G., Crescenzi, P., and Guerra, C. Parallel simulated annealing for shape
detection. Comput. Vis. Image Underst. 61, 1 (1995), 60–69.
[10] Bresenham, J. A linear algorithm for incremental digital display of circular arcs. Commun.
ACM 20, 2 (1977), 100–106.
121
122 Referencias
[11] Bush, R. R., and Mosteller, F. Stochastic Models for Learning. John Wiley and Sons,
Inc., New York, USA, 1958.
[12] Canny, J. Finding edges and lines in images. Tech. rep., Cambridge, MA, USA, 1983.
[13] Cseke, I. A fast segmentation scheme for white blood cell images. In Pattern Recognition,
1992. Vol.III. Conference C: Image, Speech and Signal Analysis, Proceedings., 11th IAPR In-
ternational Conference on (30 1992), pp. 530 –533.
[14] Dasgupta, S., Biswas, A., Das, S., and Abraham, A. Automatic circle detection on
images with an adaptive bacterial foraging algorithm. In GECCO ’08: Proceedings of the 10th
annual conference on Genetic and evolutionary computation (New York, NY, USA, 2008), ACM,
pp. 1695–1696.
[15] Dorini, L. B., Minetto, R., and Leite, N. J. White blood cell segmentation using morpho-
logical operators and scale-space analysis. In SIBGRAPI ’07: Proceedings of the XX Brazilian
Symposium on Computer Graphics and Image Processing (Washington, DC, USA, 2007), IEEE
Computer Society, pp. 294–304.
[16] Duda, O., and Hart, P. E. Use of the hough trasformtion to detect lines and curves in
pictures, 1971.
[17] Dunn, J. C. A fuzzy relative of the isodata process and its use in detecting compact well-
separated clusters. Journal of Cybernetics 3, 3 (1973), 32–57.
[18] Fischler, M. A., and Bolles, R. C. Random sample consensus: a paradigm for model
fitting with applications to image analysis and automated cartography. 726–740.
[19] Fu, K. S., and McMurtry, G. J. A study of stochastic automata as a model for learning
and adaptive controllers. IEEE Trans. Automatic Control AC-11 (1966), 379 – 387.
[20] Han, J. H., Koczy, L. T., and Poston, T. Fuzzy hough transform. Proc. 2nd Int. Conf.
on Fuzzy Systems 2 (1993), 803–808.
[21] Hung, M.-C., and Yang, D.-L. An efficient fuzzy c-means clustering algorithm. In ICDM
’01: Proceedings of the 2001 IEEE International Conference on Data Mining (Washington, DC,
USA, 2001), IEEE Computer Society, pp. 225–232.
[22] Iivarinen, J., Peura, M., Sarela, J., and Visa, A. Comparison of combined shape de-
scriptors for irregular objects. In In Proceedings of the Eight British Machine Vision Conference
(Vol (1997), Press, pp. 430–439.
Referencias 123
[23] Jiang, K., Liao, Q.-M., and Dai, S.-Y. A novel white blood cell segmentation scheme
using scale-space filtering and watershed clustering. In Machine Learning and Cybernetics,
2003 International Conference on (2-5 2003), vol. 5, pp. 2820 – 2825 Vol.5.
[24] Jones, G., Princen, J., Illingworth, J., and Kittler, J. Robust estimation of shape
parameters. pp. xx–yy.
[25] Kiryati, N., Eldar, Y., and Bruckstein, A. M. A probabilistic hough transform. Pattern
Recogn. 24, 4 (1991), 303–316.
[26] Kresch, R. Extension of morphological operations to complete semilattices and its applications
to image and video processing. In ISMM ’98: Proceedings of the fourth international symposium
on Mathematical morphology and its applications to image and signal processing (Norwell, MA,
USA, 1998), Kluwer Academic Publishers, pp. 35–42.
[27] Kumar, B., Joseph, D., and Sreenivas, T. Teager energy based blood cell segmentation.
In Digital Signal Processing, 2002. DSP 2002. 2002 14th International Conference on (2002),
vol. 2, pp. 619 – 622 vol.2.
[28] Lakshmivarahan, S., and Thathachar, M. A. L. Optimal non-linear reinforcement
schemes for stochastic automata. Information Sciences 4, 2 (1972), 121 – 128.
[29] Lakshmivarahan, S., and Thathachar, M. A. L. Absolute expediency of q-and s-model
learning algorithms. Systems, Man and Cybernetics, IEEE Transactions on SMC-6, 3 (march
1976), 222 –226.
[30] Leavers, V. F. The dynamic generalized hough transform: its relationship to the probabilistic
hough transforms and an application to the concurrent detection of circles and ellipses. CVGIP:
Image Underst. 56, 3 (1992), 381–398.
[31] Lu, W., and Tan, J. Detection of incomplete ellipse in images with strong noise by iterative
randomized hough transform (irht). Pattern Recogn. 41, 4 (2008), 1268–1279.
[32] Lutton, E., and Martinez, P. A Genetic algorithm for the detection of 2D geometric
primitives in images. Research Report RR-2110, INRIA, 1993.
[33] Muammar, H., and Nixon, M. Approaches to extending the hough transform. Proc. Int.
Conf. on Acoustics, Speech and Signal Processing ICASSP89 3 (1989), 1556–1559.
[34] Najim, K., and Poznyak, A. S. Learning automata: theory and applications. Pergamon
Press, Inc., Elmsford, NY, USA, 1994.
124 Referencias
[35] Narendra, K., and Viswanathan, R. Learning models using stochastic automata. In
presented at the Proc. Int. Conf. Cybernetics and Society (Washington, DC, USA).
[36] Narendra, K. S., and Thathachar, M. A. L. Learning automata – A survey. IEEE
Transactions on Systems, Man, and Cybernetics SMC-4, 4 (1974), 323–334.
[37] Narendra, K. S., and Thathachar, M. A. L. Learning automata: an introduction.
Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1989.
[38] Norman, M. F. Mathematical learning theory. Mathematics of the Decision Sciences 2 (1968),
283–313.
[39] Ongun, G., Halici, U., Leblebicioglu, K., Atalay, V., Beksac, M., and Beksac, S.
Feature extraction and classification of blood cells for an automated differential blood count
system. In Neural Networks, 2001. Proceedings. IJCNN ’01. International Joint Conference on
(2001), vol. 4, pp. 2461 –2466 vol.4.
[40] Paz, A. Introduction to probabilistic automata (Computer science and applied mathematics).
Academic Press, Inc., Orlando, FL, USA, 1971.
[41] Peura, M., and Iivarinen, J. Efficiency of simple shape descriptors. In In Aspects of Visual
Form (1997), World Scientific, pp. 443–451.
[42] Pitteway, M. Algorithm for drawing ellipses or hyperbolae with a digital plotter. Computer
J. 10, 3 (1967), 282–289.
[43] Ritter, N., and Cooper, J. Segmentation and border identification of cells in images of
peripheral blood smear slides. In ACSC ’07: Proceedings of the thirtieth Australasian conference
on Computer science (Darlinghurst, Australia, Australia, 2007), Australian Computer Society,
Inc., pp. 161–169.
[44] Rosin, P. L. Further five-point fit ellipse fitting. Graph. Models Image Process. 61, 5 (1999),
245–259.
[45] Rosin, P. L., and Nyongesa, H. O. Combining evolutionary, connectionist, and fuzzy clas-
sification algorithms for shape analysis. In Real-World Applications of Evolutionary Computing
(2000), Springer, pp. 87–96.
[46] Roth, G., and Levine, M. D. Geometric primitive extraction using a genetic algorithm.
IEEE Trans. Pattern Anal. Mach. Intell. 16, 9 (1994), 901–905.
Referencias 125
[47] Scotti, F. Automatic morphological analysis for acute leukemia identification in peripheral
blood microscope images. In Computational Intelligence for Measurement Systems and Appli-
cations, 2005. CIMSA. 2005 IEEE International Conference on (20-22 2005), pp. 96 – 101.
[48] Shaked, D., Yaron, O., and Kiryati, N. Deriving stopping rules for the probabilistic hough
transform by sequential analysis. Comput. Vis. Image Underst. 63, 3 (1996), 512–526.
[49] Shapiro, I. J., and Narendra, K. S. Use of stochastic automata for parameter self-
optimization with multi-modal performance criteria. IEEE Trans. Syst. Sci. and Cybern. SSC-5
(1969), 352–360.
[50] Shitong, W., Chung, K. F. L., and Duan, F. Applying the improved fuzzy cellular neural
network ifcnn to white blood cell detection. Neurocomput. 70, 7-9 (2007), 1348–1359.
[51] Tsetlin, M. Automata Theory and Modeling of Biological Systems. Academic Press, New
York, USA, 1973.
[52] Tsypkin, Y. Z. Adaptation and Learning in Automatic Systems. Academic Press, Inc., Or-
lando, FL, USA, 1971. Translator-Nikolic, S. J.
[53] Van Aken, J. An efficient ellipse-drawing algorithm. IEEE Comput. Graph. Appl. 4, 9 (1984),
24–35.
[54] Varshavskii, V. I., and Vorontsova, I. P. On the behaviour of stochastic automata with
a variable structure. Automation and Remote Control 24 (1963), 327 – 333.
[55] Viswanathan, R., and Narendra, K. S. Stochastic automata models with application to
learning systems. IEEE Trans. Syst., Man and Cybern. SMC-3 (1973), 107–111.
[56] Xu, L., and Oja, E. Randomized hough transform (rht): basic mechanisms, algorithms, and
computational complexities. CVGIP: Image Underst. 57, 2 (1993), 131–154.
[57] Xu, L., Oja, E., and Kultanen, P. A new curve detection method: randomized hough
transform (rht). Pattern Recogn. Lett. 11, 5 (1990), 331–338.
[58] Yao, J., Kharma, N., and Grogono, P. Fast robust ga-based ellipse detection. Pattern
Recognition, International Conference on 2 (2004), 859–862.
[59] Yuen, H. K., Princen, J., Illingworth, J., and Kittler, J. Comparative study of hough
transform methods for circle finding. Image Vision Comput. 8, 1 (1990), 71–77.
[60] Yuen, S. Y., and Ma, C. H. Genetic algorithm with competitive image labeling and least
square. Image Analysis and Processing, International Conference on 0 (1999), 364.
126 Referencias
[61] Zadeh, L. Fuzzy sets. Information and Control 8, 3 (1965), 338 – 353.
[62] Zadeh, L. A. The concept of a linguistic variable and its application to approximate reasoning–
i. Information Sciences 8, 3 (1975), 199 – 249.
[63] Zadeh, L. A. Fuzzy logic. 407–417.
[64] Zahiri, S.-H. Learning automata based classifier. Pattern Recogn. Lett. 29, 1 (2008), 40–48.
[65] Zhang, X., and Rosin, P. L. Superellipse fitting to partial data. Pattern Recognition 36, 3
(2003), 743 – 752.
top related