tesis_mciec_ferwar

144
Universidad de Guadalajara Centro Universitario de Ciencias Exactas e Ingenier´ ıas ALGORITMOS DE AUT ´ OMATAS DE APRENDIZAJE APLICADOS A PROBLEMAS DE VISI ´ ON POR COMPUTADORA TESIS Que para obtener el grado de MAESTRO EN CIENCIAS EN INGENIER ´ IA ELECTR ´ ONICA Y COMPUTACI ´ ON presenta Fernando Wario V´ azquez Dr. Marco Antonio P´ erez Cisneros Director de Tesis Guadalajara, Jalisco. Septiembre de 2010

Upload: fer-lopez

Post on 27-Dec-2015

13 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: tesis_MCIEC_ferwar

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

Page 2: tesis_MCIEC_ferwar
Page 3: tesis_MCIEC_ferwar

AQUI VA LA DEDICATORIA

Page 4: tesis_MCIEC_ferwar
Page 5: tesis_MCIEC_ferwar

Resumen

AQUI VA EL RESUMEN EN ESPANOL.

Page 6: tesis_MCIEC_ferwar
Page 7: tesis_MCIEC_ferwar

Abstract

THIS IS THE ABSTRACT.

Page 8: tesis_MCIEC_ferwar
Page 9: tesis_MCIEC_ferwar

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

Page 10: tesis_MCIEC_ferwar

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

Page 11: tesis_MCIEC_ferwar

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

Page 12: tesis_MCIEC_ferwar

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

Page 13: tesis_MCIEC_ferwar

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

Page 14: tesis_MCIEC_ferwar

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

Page 15: tesis_MCIEC_ferwar

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

Page 16: tesis_MCIEC_ferwar
Page 17: tesis_MCIEC_ferwar

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

Page 18: tesis_MCIEC_ferwar
Page 19: tesis_MCIEC_ferwar

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

Page 20: tesis_MCIEC_ferwar

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].

Page 21: tesis_MCIEC_ferwar

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.

Page 22: tesis_MCIEC_ferwar

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.

Page 23: tesis_MCIEC_ferwar

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.

Page 24: tesis_MCIEC_ferwar
Page 25: tesis_MCIEC_ferwar

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

Page 26: tesis_MCIEC_ferwar

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

Page 27: tesis_MCIEC_ferwar

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

Page 28: tesis_MCIEC_ferwar

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

Page 29: tesis_MCIEC_ferwar

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

Page 30: tesis_MCIEC_ferwar

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.

Page 31: tesis_MCIEC_ferwar

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

Page 32: tesis_MCIEC_ferwar

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.

Page 33: tesis_MCIEC_ferwar

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

Page 34: tesis_MCIEC_ferwar

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)

Page 35: tesis_MCIEC_ferwar

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

Page 36: tesis_MCIEC_ferwar

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-

Page 37: tesis_MCIEC_ferwar

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.

Page 38: tesis_MCIEC_ferwar

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

Page 39: tesis_MCIEC_ferwar

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.

Page 40: tesis_MCIEC_ferwar

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

Page 41: tesis_MCIEC_ferwar

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

Page 42: tesis_MCIEC_ferwar

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.

Page 43: tesis_MCIEC_ferwar

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.

Page 44: tesis_MCIEC_ferwar

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.

Page 45: tesis_MCIEC_ferwar

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.

Page 46: tesis_MCIEC_ferwar

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.

Page 47: tesis_MCIEC_ferwar

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

Page 48: tesis_MCIEC_ferwar

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

Page 49: tesis_MCIEC_ferwar

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

Page 50: tesis_MCIEC_ferwar

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

Page 51: tesis_MCIEC_ferwar

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

Page 52: tesis_MCIEC_ferwar

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)

Page 53: tesis_MCIEC_ferwar

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.

Page 54: tesis_MCIEC_ferwar

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)

Page 55: tesis_MCIEC_ferwar

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.

Page 56: tesis_MCIEC_ferwar

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

Page 57: tesis_MCIEC_ferwar

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.

Page 58: tesis_MCIEC_ferwar

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

Page 59: tesis_MCIEC_ferwar

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

Page 60: tesis_MCIEC_ferwar

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).

Page 61: tesis_MCIEC_ferwar

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)

Page 62: tesis_MCIEC_ferwar

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

Page 63: tesis_MCIEC_ferwar

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

Page 64: tesis_MCIEC_ferwar

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.

Page 65: tesis_MCIEC_ferwar

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.

Page 66: tesis_MCIEC_ferwar

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

Page 67: tesis_MCIEC_ferwar

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].

Page 68: tesis_MCIEC_ferwar

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)

Page 69: tesis_MCIEC_ferwar

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.

Page 70: tesis_MCIEC_ferwar

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.

Page 71: tesis_MCIEC_ferwar

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

Page 72: tesis_MCIEC_ferwar

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.

Page 73: tesis_MCIEC_ferwar

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).

Page 74: tesis_MCIEC_ferwar

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.

Page 75: tesis_MCIEC_ferwar

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

Page 76: tesis_MCIEC_ferwar

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.

Page 77: tesis_MCIEC_ferwar

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

Page 78: tesis_MCIEC_ferwar

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

Page 79: tesis_MCIEC_ferwar

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

Page 80: tesis_MCIEC_ferwar

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)

Page 81: tesis_MCIEC_ferwar

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)

Page 82: tesis_MCIEC_ferwar

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

Page 83: tesis_MCIEC_ferwar

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.

Page 84: tesis_MCIEC_ferwar

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).

Page 85: tesis_MCIEC_ferwar

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

Page 86: tesis_MCIEC_ferwar

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

Page 87: tesis_MCIEC_ferwar

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

Page 88: tesis_MCIEC_ferwar

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

Page 89: tesis_MCIEC_ferwar

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

Page 90: tesis_MCIEC_ferwar

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

Page 91: tesis_MCIEC_ferwar

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

Page 92: tesis_MCIEC_ferwar

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

Page 93: tesis_MCIEC_ferwar

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

Page 94: tesis_MCIEC_ferwar

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

Page 95: tesis_MCIEC_ferwar

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.

Page 96: tesis_MCIEC_ferwar

78 Capıtulo 5: Algoritmos para deteccion de cırculos

5.4. Revision del capıtulo

Page 97: tesis_MCIEC_ferwar

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

Page 98: tesis_MCIEC_ferwar

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

Page 99: tesis_MCIEC_ferwar

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

Page 100: tesis_MCIEC_ferwar

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)

Page 101: tesis_MCIEC_ferwar

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

Page 102: tesis_MCIEC_ferwar

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.

Page 103: tesis_MCIEC_ferwar

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

Page 104: tesis_MCIEC_ferwar

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.

Page 105: tesis_MCIEC_ferwar

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

Page 106: tesis_MCIEC_ferwar

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

Page 107: tesis_MCIEC_ferwar

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.

Page 108: tesis_MCIEC_ferwar

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.

Page 109: tesis_MCIEC_ferwar

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.

Page 110: tesis_MCIEC_ferwar

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-

Page 111: tesis_MCIEC_ferwar

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.

Page 112: tesis_MCIEC_ferwar

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.

Page 113: tesis_MCIEC_ferwar

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

Page 114: tesis_MCIEC_ferwar

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.

Page 115: tesis_MCIEC_ferwar

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

Page 116: tesis_MCIEC_ferwar

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.

Page 117: tesis_MCIEC_ferwar

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

Page 118: tesis_MCIEC_ferwar

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.

Page 119: tesis_MCIEC_ferwar

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

Page 120: tesis_MCIEC_ferwar

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.

Page 121: tesis_MCIEC_ferwar

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].

Page 122: tesis_MCIEC_ferwar
Page 123: tesis_MCIEC_ferwar

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

Page 124: tesis_MCIEC_ferwar

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]

Page 125: tesis_MCIEC_ferwar

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

Page 126: tesis_MCIEC_ferwar

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-

Page 127: tesis_MCIEC_ferwar

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)

Page 128: tesis_MCIEC_ferwar

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.

Page 129: tesis_MCIEC_ferwar

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

Page 130: tesis_MCIEC_ferwar

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

Page 131: tesis_MCIEC_ferwar

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:

Page 132: tesis_MCIEC_ferwar

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,

Page 133: tesis_MCIEC_ferwar

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.

Page 134: tesis_MCIEC_ferwar

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

Page 135: tesis_MCIEC_ferwar

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]

Page 136: tesis_MCIEC_ferwar

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

Page 137: tesis_MCIEC_ferwar

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

Page 138: tesis_MCIEC_ferwar
Page 139: tesis_MCIEC_ferwar

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

Page 140: tesis_MCIEC_ferwar

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.

Page 141: tesis_MCIEC_ferwar

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.

Page 142: tesis_MCIEC_ferwar

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.

Page 143: tesis_MCIEC_ferwar

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.

Page 144: tesis_MCIEC_ferwar

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.