cenidet · aplicación de la topología computacional a la inspección visual y el control...

124
cenidet Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por el I. T. de Huatabampo como requisito para la obtención del grado de: Maestro en Ciencias en Ciencias Computacionales Director de tesis: Dr. José Ruiz Ascencio Cuernavaca, Morelos, México. 23 de febrero de 2009

Upload: others

Post on 19-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS

Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente

presentada por

José Luis Palacio Cinco Ing. en Sistemas Computacionales por el I. T. de Huatabampo

como requisito para la obtención del grado de:

Maestro en Ciencias en Ciencias Computacionales

Director de tesis: Dr. José Ruiz Ascencio

Cuernavaca, Morelos, México. 23 de febrero de 2009

Page 2: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS

Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente

presentada por

José Luis Palacio Cinco Ing. en Sistemas Computacionales por el I. T. de Huatabampo

como requisito para la obtención del grado de:

Maestro en Ciencias en Ciencias Computacionales

Director de tesis: Dr. José Ruiz Ascencio

Jurado:

Dr. Raúl Pinto Elías – Presidente Dr. Azucena Montes Rendón – Secretario

M.C. José Luis Ramírez Alcántara – Vocal Dr. José Ruiz Ascencio – Vocal Suplente

Cuernavaca, Morelos, México. 23 de febrero de 2009

Page 3: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Dedicatoria

A ti DIOS que me diste la oportunidad de vivir y regalarme una familia maravillosa. A mis padres Ramón René y María Luisa, quienes con su cariño, amor y apoyo incondicional, hicieron más grato este camino de superación personal y profesional. A mis hermanos Denisse y Ramón por su confianza y apoyo en todas las decisiones que he tomado en la vida.

A mi Pedasita por su amor, paciencia, comprensión, cariño y motivación en todo momento.

Page 4: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Agradecimientos

Al CONACyT:

Por los dos años de apoyo económico para llevar a cabo mis estudios de maestría.

Al cenidet:

Por la confianza depositada en mi y darme la oportunidad de realizar los estudios de maestría.

Agradezco la intensa labor y amistad de mi asesor Dr. José Ruiz Ascencio, quién a lo largo de todo el proceso de desarrollo de la tesis brindó su inquebrantable interés demostrándolo con su tiempo, aportación de ideas, revisando avances, presentaciones y cada uno de los capítulos de la tesis, además de compartir desinteresadamente sus amplios conocimientos y experiencia. Agradezco a mis revisores: Dr. Raúl Pinto Elías, Dr. Azucena Montes Rendón y M.C. José Luis Ramírez Alcántara por sus útiles comentarios y observaciones para mejorar el presente documento. Al grupo de I.A. (Dr. Raúl Pinto Elías, Dr. José Ruiz Ascencio, Dr. Gerardo Reyes Salgado y MC. Andrea Magadán) por la amistad y apoyo. A mis compañeros de generación Silvia, Jorge, Alejandro, Liliana, Helaine, Diana, Rosendo, Wilfrido, Richard, Deysi, Ebenezer, Guillermo, Janeth, Omar, Matilde, Claudia, Catalina, Eduardo y de otras generaciones Héctor Ulloa, Pedro Cruz, Daniel, María Luisa, Lázaro, Cynthia, Daniela y Oscar por los momentos que compartimos juntos. Agradezco a mi querida teacher Lilian por su amistad y paciencia.

Page 5: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

i

Resumen

En esta tesis se hace una revisión de los resultados de la topología digital y la

topología computacional aplicables al análisis y solución de problemas en inspección visual

y control inteligente, dentro de la inteligencia artificial.

Se presentan implementaciones de algoritmos para encontrar componentes conexas en 2 y 3

dimensiones en espacios continuos y discretos, la teselación de Delaunay en N dimensiones

y el algoritmo alpha-shapes en N dimensiones, entre las más importantes.

Como casos de aplicación se usó el algoritmo alpha-shapes para detectar y visualizar

huecos o cavidades en un conjunto de datos de entrenamiento y se diseñó un algoritmo K-

vecinos con interpolación lineal para el modelado y control de sistemas dinámicos

invariantes en el tiempo a través de la ley de evolución de estados. Por último, se diseñó el

algoritmo inclusión en forma no convexa para detectar y describir intersección de conjuntos

de datos usando alpha-shapes.

Page 6: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

ii

Abstract

A survey of results from digital and computational topology applicable to analysis

and solution of problems of visual inspection and intelligent control in artificial intelligence

is presented in this thesis.

Among the most important algorithms implemented are finding connected components in 2

and 3 dimensions, the N-dimensional Delaunay tessellation, and the N-dimensional alpha-

shapes algorithm.

As application cases, the alpha-shapes algorithm was used to detect and visualize holes in

data of a training set, and a K-nearest neighbor algorithm with linear interpolation was

designed for modeling and control of time-invariant dynamic systems through

approximation of the state evolution function. Lastly, the inclusion in non-convex shape

algorithm was designed to detect and describe data set intersection using alpha-shapes.

Page 7: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

iii

Contenido

Resumen .................................................................................................................................. i

Abstract .................................................................................................................................. ii

Contenido ..............................................................................................................................iii

Lista de figuras ....................................................................................................................... v

Lista de tablas ........................................................................................................................ ix

Capítulo 1 Introducción ......................................................................................................... 1

1.1 Antecedentes ................................................................................................................. 2

1.1.1 Control inteligente .................................................................................................. 3

1.1.2 Inspección visual .................................................................................................... 4

1.1.3 Visualización N-dimensional .................................................................................. 4

1.2 Descripción del problema .............................................................................................. 4

1.3 Organización de la tesis ................................................................................................. 6

Capítulo 2 Análisis de la topología ......................................................................................... 7

2.1 Topología ...................................................................................................................... 8

2.2 Topología digital ........................................................................................................... 8

2.3 Topología computacional ............................................................................................. 13

2.4 Conclusión .................................................................................................................. 16

Capítulo 3 Control inteligente e inspección visual ................................................................ 17

3.1 Control inteligente ....................................................................................................... 18

3.1.1 Sistemas dinámicos............................................................................................... 18

3.1.1.1 Sistemas lineales y no lineales ....................................................................... 19

3.1.1.2 Función de transición de estados .................................................................... 19

3.1.2 Identificación ........................................................................................................ 20

3.1.3 Control ................................................................................................................. 21

3.1.3.1 Estructura de control modelo inverso ............................................................. 21

3.2 Inspección visual ......................................................................................................... 23

3.3 Comentarios ................................................................................................................ 24

Capítulo 4 Algoritmos .......................................................................................................... 25

4.1 Componentes conexas en espacios digitales (2D y 3D) ................................................ 26

4.1.1 Modelo del plano digital [Escribano, 2008] ..................................................... 26

4.1.2 Pseudocódigo del algoritmo de componentes conexas ........................................... 26

4.2 K-vecinos (N-D).......................................................................................................... 27

4.2.1 Etapa de preprocesamiento ................................................................................... 27

4.2.2 Archivos KDATOS.DAT y KINDICES.DAT ........................................................ 28

4.2.3 Recorrido por las regiones .................................................................................... 31

4.3 Interpolación lineal (N-D) ........................................................................................... 34

4.3.1 Pseudocódigo ....................................................................................................... 36

4.4 Teselación de Delaunay (N-D) ..................................................................................... 36

4.4.1 La estructura de Delaunay .................................................................................... 39

4.4.2 Diagrama de flujo del algoritmo ........................................................................... 40

Page 8: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

iv

4.5 -shapes (N-D) ........................................................................................................... 41

4.5.1 Definiciones teóricas del algoritmo ...................................................................... 42

4.5.2 Alpha complex ..................................................................................................... 43

4.5.3 Pseudocódigo de Edelsbrunner para calcular el -shapes...................................... 44

4.6 Inclusión en forma no convexa (N-D) ......................................................................... 45

4.7 Componentes conexas basado en el MST (N-D) .......................................................... 48

4.8 Conclusión .................................................................................................................. 49

Capítulo 5 Aplicaciones ....................................................................................................... 51

5.1 Aplicación del algoritmo -shapes para reconstrucción de formas ............................... 52

5.1.1 Reconstrucción del conejo de Stanford en 2D con 1000 puntos ............................ 52

5.1.2 Reconstrucción del conejo de Stanford en 3D con 3595 puntos ............................ 54

5.2 Aplicación de los algoritmos -shapes y inclusión de forma no convexa para identificar

traslape en conjuntos de puntos en el espacio N-dimensional ........................................ 55

5.2.1 Detección de traslape en las componentes RGB ................................................... 57

5.2.2 Detección de traslape en las componentes RGB, tomando sólo los píxeles de los

bordes de las manzanas ............................................................................................. 59

5.2.3 Detección de traslape en las componentes RGB, tomando sólo los píxeles de los

centros de las manzanas ............................................................................................ 62

5.2.4 Detección de traslape en las componentes RGB normalizados .............................. 64

5.2.5 Detección de traslape en las componentes RGB y la Intensidad ............................ 66

5.2.6 Detección de traslape en las componentes RGB y la Intensidad regional obtenida

mediante el promedio de la intensidad de 4 puntos cardinales usando una máscara de

20x20 ........................................................................................................................ 67

5.3 Aplicación del algoritmo K-vecinos para identificar y controlar sistemas dinámicos ... 69

5.3.1 Pruebas en identificación de sistemas dinámicos .................................................. 69

5.3.1.1 Identificación de un sistema dinámico de primer orden lineal ........................ 70

5.3.1.2 Identificación de un sistema dinámico de primer orden no lineal ................... 73

5.3.1.3 Identificación de un sistema dinámico de segundo orden lineal ...................... 75

5.3.1.4 Identificación de un sistema dinámico de segundo orden no lineal ................. 77

5.3.2 Pruebas de control de sistemas dinámicos............................................................. 79

5.3.2.1 Control de un sistema dinámico de primer orden lineal .................................. 79

5.3.2.2 Control de un sistema dinámico de primer orden no lineal ............................. 80

5.3.2.3 Control de un sistema dinámico de segundo orden lineal ............................... 82

5.3.2.4 Control de un sistema dinámico de segundo orden no lineal .......................... 84

Conclusiones ....................................................................................................................... 87

Aportaciones .................................................................................................................... 88

Objetivos cubiertos ........................................................................................................... 88

Trabajos futuros ................................................................................................................. 91

Referencias bibliográficas .................................................................................................. 93

Anexos ................................................................................................................................. 99

Anexo A ......................................................................................................................... 100

Anexo B ......................................................................................................................... 101

Anexo C ......................................................................................................................... 102

Page 9: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

v

Lista de figuras

Capítulo 2

Figura 2.1 Conexión de un grafo. ............................................................................................ 8 Figura 2.2 Mallado triangular, mallado cuadrangular y mallado hexagonal de izquierda a

derecha. .................................................................................................................................. 9 Figura 2.3 Imagen 2D binaria con 9 componentes conexas negras y 4 agujeros. ................... 10

Figura 2.4 A la izquierda ejemplo de 4-adyacentes de un punto, a la derecha ejemplo de 8-

adyacentes de un punto. ........................................................................................................ 10

Figura 2.5 6- y 26-vecindad de un punto en . ..................................................................... 11

Figura 2.6 Vecindades de un punto en , de un pixel en considerando 4-adyacentes, y de

un pixel en considerando 8-adyacentes, los números indican la distancia al punto. .......... 11 Figura 2.7 Imagen digital que contiene una componente conexa negra y dos blancas............ 12

Capítulo 3

Figura 3.1 Relación entrada-salida. ....................................................................................... 18

Figura 3.2 Propiedad de aditividad (o superposición). ........................................................... 19 Figura 3.3 Propiedad de homogeneidad. ................................................................................ 19

Figura 3.4 Selección de variables a considerar para la identificación de un sistema de orden n.

............................................................................................................................................. 21

Figura 3.5 Control utilizando el modelo de planta inversa de lazo abierto. ............................ 22 Figura 3.6 Control utilizando el modelo de planta inversa de lazo cerrado. ........................... 22

Figura 3.7 Selección de variables durante el control de una planta de orden n....................... 22 Figura 3.8 Sistema de visión para clasificación de manzanas. ................................................ 24

Capítulo 4

Figura 4.1 Puntos y su gráfica en el plano . ....................................................................... 28

Figura 4.2 (a) Puntos en el espacio . (b) Espacio dividido en regiones. (c) Archivo

generado a partir del espacio dividido en regiones. (d) Archivo de índices generado a partir

del espacio dividido en regiones. ........................................................................................... 29

Figura 4.3 Gráfica resultante al dividir en regiones el espacio. .............................................. 29 Figura 4.4 Archivo KDATOS.DAT y KINDICES.DAT. ......................................................... 30

Figura 4.5 Primer recorrido de regiones. ............................................................................... 31 Figura 4.6 Ejemplo de búsqueda en los archivos. Primero se busca en el archivo

KINDICES.DAT para saber en cuál renglón se encuentran los datos. Una vez obtenido el

rango de renglones que abarca la región se extrae del archivo KDATOS.DAT. ..................... 33

Figura 4.7 Siguiente recorrido del algoritmo. ........................................................................ 33 Figura 4.8 Ilustración del plano generado por tres puntos dados. (Imagen obtenida de

[Lehmann, 1982]) ................................................................................................................. 35 Figura 4.9 Representación de la interpolación lineal. ............................................................. 35 Figura 4.10 Un 0-simplejo es análogo a un punto en el espacio. ........................................... 37

Page 10: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

vi

Figura 4.11 Un 1-Simplejo es análogo a una arista que une a dos puntos. .............................. 37

Figura 4.12 Un 2-simplejo es análogo a un triángulo en el plano. ......................................... 37 Figura 4.13 Un 3-simplejo es análogo a un tetraedro, una estructura que forma una pirámide

en el espacio. ........................................................................................................................ 37 Figura 4.14 No representa un complejo simplicial................................................................. 38

Figura 4.15 Si representa un complejo simplicial. ................................................................. 38 Figura 4.16 Ejemplos de simplejos de dimensiones 0 a 3. ..................................................... 38

Figura 4.17 Triangulación de Delaunay de un conjunto en el plano. ..................................... 39 Figura 4.18 Diagrama de flujo del algoritmo de teselación de Delaunay. ............................... 40

Figura 4.19 A la izquierda un politopo en el plano y a la derecha un politopo en el espacio. . 42

Figura 4.20 Simplejo -expuesto y no -expuesto. (Imagen tomada de [Fisher,2000]) ........ 43

Figura 4.21 Triangulación en el plano. .................................................................................. 45 Figura 4.22 Ejemplo de traslape en los componentes RGB.................................................... 45

Figura 4.23 Un 2-simplejo del plano. .................................................................................... 46 Figura 4.24 (a) Espacio de puntos. (b) MST del espacio de puntos. (c) Dos componentes

formados al eliminar aristas mayores dado algún valor de . (d) Tres componentes y dos

puntos aislados formados por algún valor de . ..................................................................... 48

Capítulo 5

Figura 5.1 Conejo de Stanford de 1000 puntos en 2D. .......................................................... 52

Figura 5.2 (a) Reconstrucción aplicando (b) Reconstrucción aplicando . (c)

Reconstrucción aplicando . (d) Reconstrucción aplicando . ................. 53

Figura 5.3 Estructura -complex obtenida al calcular ........................................ 53

Figura 5.4 (a) Reconstrucción aplicando . (b) Reconstrucción aplicando .

(c) Reconstrucción aplicando . (d) Reconstrucción aplicando . .............. 54

Figura 5.5 (a) Reconstrucción aplicando que contiene huecos o cavidades. (b)

Reconstrucción aplicando que muestra la concha convexa del conjunto. .................... 55

Figura 5.6 (a) Forma clase piel sana utilizando =15, (b) Forma clase piel mala utilizando

=25. Utilizando el conjunto RGB. ..................................................................................... 57 Figura 5.7 (a) Forma del conjunto RGB considerados como traslape. (b) Formas de las clases

sana (verde) y defectuosa (rojo) con el traslape (amarillo). ................................................... 58

Figura 5.8 (a) Forma clase piel sana utilizando =60. (b) Forma clase piel mala utilizando

=60. Utilizando el conjunto RGB de los bordes. ............................................................... 60 Figura 5.9 (a) Forma del conjunto de puntos considerados como traslape. (b) Formas de las

clases sana (verde) y defectuosa (rojo) con el traslape (amarillo). Utilizando el conjunto RGB

de los bordes. ........................................................................................................................ 61

Figura 5.10 (a) Forma clase piel sana utilizando =160. (b) Forma clase piel mala utilizando

=30. Utilizando el conjunto RGB de los centros. ............................................................... 62 Figura 5.11 (a) Forma del conjunto de puntos considerados como traslape. (b) Formas de las

clases sana (verde) y defectuosa (rojo) con el traslape (amarillo). Utilizando RGB de los

centros. ................................................................................................................................. 63

Figura 5.12 (a) Forma clase piel sana utilizando =30. (b) Forma clase piel mala utilizando

=50. Utilizando los conjuntos RGB normalizados............................................................. 64

Figura 5.13 (a) Forma del conjunto de puntos considerados como traslape. (b) Formas de las

Page 11: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

vii

clases sana (verde) y defectuosa (rojo) con el traslape (amarillo). Utilizando RGB

normalizados. ........................................................................................................................ 65 Figura 5.14 (a) Diagrama general para obtener datos de entrenamiento desde un sistema

dinámico de primer orden. (b) Diagrama general para obtener datos de entrenamiento desde

un sistema dinámico de segundo orden. ................................................................................. 70

Figura 5.15 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.8 de ruido. .................. 71

Figura 5.16 (a) -shapes del conjunto de puntos obtenidos sin ruido con . (b) -

shapes del conjunto de puntos obtenidos con ruido con . Sistema dinámico de primer

orden. .................................................................................................................................... 71 Figura 5.17 Comportamiento del sistema dinámico de primer orden con una señal sinusoidal.

............................................................................................................................................. 72 Figura 5.18 (a) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento sin

ruido. (b) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento con ruido.

Sistema dinámico de primer orden. ....................................................................................... 72

Figura 5.19 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.8 de ruido. Sistema

dinámico de primer orden no lineal. ...................................................................................... 73

Figura 5.20 (a) -shapes del conjunto de puntos obtenidos sin ruido con . (b) -

shapes del conjunto de puntos obtenidos con ruido con . Sistema dinámico de primer

orden no lineal. ..................................................................................................................... 74 Figura 5.21 Comportamiento del sistema dinámico con una señal sinusoidal. ....................... 74

Figura 5.22 (a) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento sin

ruido. (b) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento con ruido.

Sistema dinámico de primer orden no lineal. ......................................................................... 75 Figura 5.23 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.5 de ruido. Sistema

dinámico de segundo orden lineal. ........................................................................................ 76 Figura 5.24 Comportamiento del sistema dinámico con una señal sinusoidal. Sistema

dinámico de segundo orden lineal. ........................................................................................ 76

Figura 5.25 (a) Respuesta del estado de sistema dinámico real y el K-vecinos con

entrenamiento sin ruido. (b) Respuesta del estado del sistema dinámico real y el K-

vecinos con entrenamiento con ruido. Sistema dinámico de segundo orden lineal. ................ 76 Figura 5.26 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.4 de ruido. Sistema

dinámico de segundo orden no lineal. .................................................................................... 77 Figura 5.27 Comportamiento del sistema dinámico con una señal sinusoidal. Sistema

dinámico de segundo orden no lineal. .................................................................................... 77

Figura 5.28 (a) Respuesta del estado del sistema dinámico real y el K-vecinos con

entrenamiento sin ruido. (b) Respuesta del estado del sistema dinámico real y el K-

vecinos con entrenamiento con ruido. Sistema dinámico de segundo orden no lineal. ........... 78

Figura 5.29 Arriba: control sobre el sistema dinámico de primer orden lineal utilizando una

señal sinusoidal. Abajo: control sobre el sistema dinámico de primer orden lineal utilizando

una señal triangular. .............................................................................................................. 80 Figura 5.30 Arriba: control sobre el sistema dinámico de primer orden no lineal utilizando una

señal sinusoidal. Abajo: control sobre el sistema dinámico de primer orden no lineal

utilizando una señal triangular. .............................................................................................. 81

Figura 5.31 Arriba: control del estado del sistema dinámico de segundo orden lineal

utilizando una señal sinusoidal. Abajo: control del estado del sistema dinámico de

segundo orden lineal utilizando una señal triangular. ............................................................. 82

Page 12: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

viii

Figura 5.32 Arriba: control del estado del sistema dinámico de segundo orden lineal

utilizando una señal sinusoidal. Abajo: control del estado del sistema dinámico de

segundo orden lineal utilizando una señal triangular. ............................................................ 83

Figura 5.33 Arriba: control del estado del sistema dinámico de segundo orden no lineal

utilizando una señal sinusoidal. Abajo: control del estado del sistema dinámico de

segundo orden no lineal utilizando una señal triangular. ........................................................ 84

Figura 5.34 Arriba: control del estado del sistema dinámico de segundo orden no lineal

utilizando una señal sinusoidal. Abajo: control del estado del sistema dinámico de

segundo orden no lineal utilizando una señal triangular. ........................................................ 85

Page 13: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

ix

Lista de tablas

Capítulo 4

Tabla 4.1 Resultado de los 8 vecinos más cercanos con respecto al punto (2.4,1.2). .............. 34

Capítulo 5

Tabla 5.1 Resultado del algoritmo de inclusión en forma no convexa para RGB. ................... 58

Tabla 5.2 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes

para cada clase, incluyendo traslape del conjunto RGB. ........................................................ 59 Tabla 5.3 Resultado del algoritmo de inclusión en forma no convexa con el RGB utilizando

bordes. .................................................................................................................................. 60

Tabla 5.4 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para

cada clase del conjunto RGB de los bordes. .......................................................................... 61 Tabla 5.5 Resultado del algoritmo de inclusión en forma no convexa con RGB de los centros.

............................................................................................................................................. 62

Tabla 5.6 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para

cada clase de los componentes RGB de los centros. .............................................................. 63 Tabla 5.7 Resultado del algoritmo de inclusión en forma no convexa del conjunto RGB

normalizados. ........................................................................................................................ 64

Tabla 5.8 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para

cada clase de los conjuntos RGB normalizados. .................................................................... 65 Tabla 5.9 Resultado del algoritmo de inclusión en forma no convexa del conjunto RGBI. .... 66

Tabla 5.10 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes

para cada clase de los conjuntos RGBI. ................................................................................. 67

Tabla 5.11 Resultado del algoritmo de inclusión en forma no convexa en el conjunto RGBI

con la intensidad de 4 puntos cardinales con máscara de 4x4. ................................................ 68

Tabla 5.12 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes

para cada clase de los conjuntos RGBI con la intensidad de 4 puntos cardinales con máscara

de 4x4. .................................................................................................................................. 68

Page 14: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por
Page 15: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

1

Capítulo 1

Introducción

Los datos en la computación científica se encuentran en su forma abstracta, dentro de

un conjunto finito de puntos en el espacio N-dimensional y es frecuentemente útil calcular la

forma de este conjunto [Mücke,1993]. Esto requiere de algoritmos que sean capaces de extraer

las estructuras topológicas contenidas en un conjunto, tales como la conectividad, la forma,

los huecos, cavidades, entre otros.

Existen varios métodos de visualización en la literatura que permiten observar datos en 1, 2 ó

3 dimensiones e incluso a más dimensiones haciendo combinaciones de las coordenadas de

éstas, pero cuando la dimensionalidad aumenta a más de 3, es difícil interpretar las

descripciones cualitativas de estos espacios [Ulloa,2008].

Las herramientas de la Topología Computacional son capaces de describir espacios

cualitativamente (conectividad, forma, huecos, cavidades, entre otros) las cuales pueden

apoyar a los investigadores a entender estas propiedades topológicas y poder tomar decisiones.

Las investigaciones en el área de Inteligencia Artificial (o I.A.), específicamente en el

reconocimiento de patrones, a menudo se utilizan datos de alta dimensionalidad. Es necesario

entender qué estructura tienen estos conjuntos de datos para poder aplicar algoritmos con los

parámetros adecuados, y así obtener mejor precisión en los resultados. También es de interés

conocer si un punto se encuentra en el interior de la forma de este conjunto de datos. Como la

inclusión sólo está bien definida en formas convexas, fue necesario proponer una búsqueda de

inclusión para formas irregulares (no convexas), y además, en espacios N-dimensionales.

Page 16: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Introducción Capítulo 1

2

En el área de Control Inteligente, es común identificar y controlar comportamientos de

sistemas dinámicos utilizando sistemas difusos, aunque existen otros enfoques como redes

neuronales, algoritmos neuro-difusos, entre otros. Estos algoritmos requieren como entrada un

conjunto de datos llamados “datos de entrenamiento” que son obtenidos previamente mediante

un muestreo del comportamiento de algún sistema dinámico real. Posteriormente estos datos

se utilizan en la etapa de aprendizaje que comúnmente se le conoce como “etapa de

entrenamiento”, donde hablando en términos llanos el algoritmo aprende a generalizar con ese

conocimiento.

Conocer la estructura de los datos de entrenamiento permite al investigador analizar y

anticipar el comportamiento de la salida del algoritmo computacional utilizado (redes

neuronales, neuro-difusos, difusos, etc). Las cavidades o huecos formados en los datos de

entrenamiento, representan regiones con ausencia de información, que pueden provocar que el

algoritmo computacional intente obtener la salida del sistema desde alguna de estas regiones, y

al tener ausencia de información, el resultado de la salida (consecuente) podría no ser

adecuada.

En este trabajo se plantea la exploración de las herramientas disponibles en la topología

computacional para el análisis topológico de datos, como búsqueda de cavidades o huecos,

descripción de formas, entre otros, y su utilidad en las áreas de inspección visual y control

inteligente.

En inspección visual se requiere detectar traslape de los datos de entrenamiento del sistema de

inspección visual diseñado en [López,2008], y además identificar si algún punto se encuentra

en el interior o exterior de la forma de un conjunto de datos.

En control inteligente se enfocó en el análisis de datos para encontrar estructuras que permitan

identificar regiones con ausencia de información utilizando herramientas de la topología

computacional. También se propone un algoritmo basado en el vecino más cercano para

identificar y controlar sistemas dinámicos mediante simulaciones en Matlab© [Dabney,2004].

1.1 Antecedentes

El área de la topología computacional actualmente no ha sido explorada en CENIDET,

por lo tanto no existen antecedentes en ninguna de sus 4 áreas disciplinarias (mecatrónica,

electrónica, computación y mecánica). Este trabajo será el primero en explorar esta área. Sin

embargo, se han desarrollado tesis que van relacionados con la aplicación de este trabajo de

investigación, las cuales se han enfocado en el área de visión artificial para caracterizar y

reconocer objetos.

También se han dirigido algunas tesis donde se utilizó técnicas de control inteligente con redes

neuronales y lógica difusa, con el propósito de aproximar la identificación y control de

sistemas dinámicos.

Enseguida se expone un breve resumen de las tesis que se consideran como antecedentes que

motivan la aplicación de este trabajo de investigación.

Page 17: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 1 Introducción

3

1.1.1 Control inteligente

La tesis “Sintonización de controladores difusos basada en el método de gradiente

descendente” [Castillo,1999] se desarrolló en el Departamento de Ciencias Computacionales

donde se implementó una metodología basada en el método de gradiente descendente

encontrado en la literatura [Nomura,1992], que es capaz de sintonizar tanto conjuntos como

reglas difusas, lo que permite automatizar el diseño de controladores difusos de un sistema

dinámico a través del proceso de sintonización de sus parámetros en forma automática. Esto

evita la dependencia del conocimiento del experto humano. Las pruebas consistieron en

modelar sistemas algebraicos e identificar y controlar sistemas dinámicos.

La tesis “Implementación de una red neuronal holográfica para el control de un brazo robot

articulado” [Hernández,2003] se desarrolló en el Departamento de Ciencias Computacionales.

Una red neuronal holográfica fue utilizada para controlar un manipulador para un brazo de

robot planar de dos grados de libertad. El aprendizaje de la red neuronal se hizo mediante un

muestreo de los datos de entrada-salida, a los cuales se le aplicó el modelo de control inverso.

El modelo que se obtuvo de la red neuronal holográfica presenta buena capacidad de

generalización. También se realizó una comparación del control del brazo con el paradigma

backpropagation [Hilera,1995], concluyendo que las dos redes obtienen buenos resultados,

pero el tiempo de aprendizaje de la red holográfica es menor.

La tesis “Construcción de un brazo robótico de tres grados de libertad y su control mediante el

núcleo híbrido de transición de estados” [Jiménez,2005] se desarrolló en el Departamento de

Ingeniería Mecatrónica. En este trabajo se construyó un robot de tres grados de libertad con

arquitectura PUMA (Programmable Universal Manipulator for Assembly) [Leahy,1989]. El

controlador del brazo es difuso y se utilizó el método de planta inversa. Los parámetros del

controlador se sintonizaron con el algoritmo de Nomura desarrollado en [Castillo,1999],

donde los datos de entrenamiento se obtuvieron a partir de un control convencional de

posición PID (Proporcional-Integral-Derivativo). Con este trabajo se muestra la capacidad de

un sistema difuso para controlar un sistema dinámico no lineal.

Los trabajos anteriores emplean técnicas de control inteligente, las cuales requieren como

entrada un conjunto de datos (datos de entrenamiento) obtenidos previamente desde un

muestreo del sistema dinámico a controlar. Los datos de los sistemas dinámicos de primer

orden, se describen mediante tres variables: la entrada actual , el estado actual , y el

estado siguiente Esto implica trabajar en un espacio de 3-dimensiones el cual se

puede visualizar. Los sistemas de segundo orden ya no se pueden visualizar porque tienen por

lo menos cuatro dimensiones, y si son de órdenes superiores, se tendrán mayor

dimensionalidad.

Analizar los datos de entrenamiento es importante, puesto que deben ser adecuados para poder

generalizar el comportamiento del sistema dinámico. Si éstos contienen huecos o cavidades

muy grandes, al momento que una entrada se encuentre alguno de estos vacíos, el sistema

difuso o cualquier otro algoritmo utilizado para identificar o controlar, podría no interpolar el

consecuente de manera apropiada y finalmente tener resultados no adecuados. En este trabajo

se plantea el diseño de alguna herramienta que sea capaz de caracterizar o identificar estos

vacíos en el espacio.

Page 18: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Introducción Capítulo 1

4

1.1.2 Inspección visual

En el área de visión artificial se han desarrollado los trabajos [May,2004],

[Vergara,2003], [Ortíz,2007], [López,2008], en el primero se diseña un reconocedor de

objetos deformables considerando color y textura; el segundo trabaja con el reconocimiento de

texturas artificiales, que son caracterizadas por métodos estadísticos y de reconocimiento de

patrones; el tercer trabajo implementa un sistema de inspección de calidad de manzanas a

través de sus características visuales como color y textura; el cuarto utiliza un sistema difuso

como clasificador de un sistema de inspección visual para manzanas tipo golden, donde se

trata de clasificar piel sana y piel defectuosa.

El color como vector de características es de 3 dimensiones, si se agrega la textura se requiere

al menos una dimensión más, lo que estaría en un espacio de 4 dimensiones (las componentes

R, G, B y textura). En los sistemas de inspección visual, se puede tener el problema del

traslape de los datos de entrenamiento, generando dificultades en la precisión de los

resultados. Estos problemas generalmente son ocasionados por el tipo de iluminación, colores

muy variables, cambios de intensidad en la superficie de los objetos, entre otros. Si se desea

visualizar el traslape en este tipo de espacios es difícil por la N-dimensionalidad. Este trabajo

se dirigió hacia este problema.

1.1.3 Visualización N-dimensional

La característica común de los problemas anteriores y muchos otros de la I.A. es que

los datos son de alta dimensionalidad. El primer trabajo orientado a facilitar el conocimiento

de estos datos fue “Análisis y Visualización de Datos para Interpolación N-dimensional”

[Ulloa,2008], que es el antecedente inmediato de este trabajo de investigación. Éste se orientó

a visualizar datos en espacios de 4 o más dimensiones, mediante conjuntos de proyecciones a

espacios de tres dimensiones. Además de un método para dividir en regiones el espacio. Estos

métodos son buenos para visualizar datos, pero la visualización a veces no es suficiente para

conocer qué tipo de estructuras se forman en los espacios de alta dimensionalidad. Para

detectar estructuras (componentes conexas, huevos, cavidades) se necesita de un análisis

topológico, el cual es el tema de investigación que se propone en esta tesis.

1.2 Descripción del problema

En las investigaciones de la sección anterior, se manejan conjuntos de datos N-

dimensionales. En el caso de inspección visual, los vectores de características a menudo

crecen a más de 3-dimensiones, con lo que se dificulta observar el traslape de éstos. Identificar

traslape es útil para buscar estrategias que permitan a las clases ser separadas. Por ejemplo, en

el caso de las manzanas de la tesis [López,2008] se tienen dos clases, la clase de piel sana y la

clase piel defectuosa. Si estas clases están traslapadas, es difícil que un algoritmo de

clasificación pueda realizar la asignación a la clase correcta en el proceso de inspección.

En control inteligente se tiene la problemática de la identificación y control de sistemas

dinámicos. En CENIDET se ha utilizado el control inteligente basado en la aproximación a la

Page 19: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 1 Introducción

5

ley de evolución de estados. Esta aproximación se puede realizar mediante redes neuronales,

lógica difusa y otros aproximadores N-dimensionales. Para un sistema computacional de estos

tipos, se requiere que los datos o conocimiento previo (en este caso datos numéricos), se

encuentren bien distribuidos en el espacio. Esto significa que la nube de datos no contengan

huecos o cavidades, porque si por alguna razón el sistema requiere interpolar dentro éstos, al

contener insuficiencia de datos, podría llegar a un estado del sistema dinámico no deseado.

El objetivo que se plantea para este trabajo es conocer los métodos de la topología

computacional y su aplicabilidad a problemas de la inteligencia artificial, usando datos

obtenidos de inspección visual y control inteligente. Como objetivos particulares se plantean

los siguientes:

1. Estudiar métodos para la identificación de cantidades topológicas invariantes:

Descripción de formas para la clasificación de datos.

Análisis de conectividad de conjuntos de datos.

Búsqueda de huecos en objetos para su descripción.

Otros, como compacidad y homología.

2. Implementar algoritmos topológicos para encontrar invariantes topológicos básicos en

datos de alta dimensionalidad provenientes de la inspección visual y el control

inteligente.

La metodología de solución propuesta para resolver los problemas es la siguiente:

Análisis de la topología en la computación.

Estado del arte de la topología computacional.

Analizar algoritmos de topología computacional en la literatura, que sean capaces de

describir un espacio métrico, esto es, identificar formas de conjuntos, que proporcionen

alguna manera de identificar huecos o cavidades. Lo ideal de estos algoritmos es que

trabajen en el espacio métrico N-dimensional.

Proponer un método para identificar traslape.

Utilizar Simulink© para la simular la identificación y control de sistemas dinámicos

[Dabney,2004].

El resultado de este trabajo es el siguiente:

La implementación del algoritmo -shapes para describir la forma de un conjunto de

puntos en un espacio métrico N-dimensional y verificar cavidades o huecos.

Diseño e implementación del algoritmo “inclusión en forma no conexa” para la

identificación de traslape en conjunto de datos.

Page 20: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Introducción Capítulo 1

6

Diseño e implementación del algoritmo K-vecinos para su tratamiento en la simulación

de identificación y control de sistemas dinámicos.

Diseño e implementación del algoritmo de interpolación lineal.

Los algoritmos pueden ser consultados en el capítulo 4 con más detalle, donde se encuentra un

pseudocódigo de cada uno de ellos.

1.3 Organización de la tesis

La organización de la tesis es de la siguiente manera:

Capítulo 2 muestra un análisis de la topología en la computación y el estado del arte.

Capítulo 3 muestra una introducción a los temas de inspección visual y control

inteligente.

Capítulo 4 presenta a detalle los algoritmos implementados durante el desarrollo de

esta tesis.

Capítulo 5 presenta las aplicaciones de algunos algoritmos propuestos para solucionar

los problemas planteados.

El apartado posterior corresponde a las conclusiones del trabajo y en otro apartado se

presentan los trabajos futuros que se pueden generar a partir de esta investigación.

Por último se muestran las referencias bibliográficas y los anexos.

Page 21: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

7

Capítulo 2

Análisis de la topología

La descripción del problema en este trabajo indica que es necesario conocer las

estructuras que forman los datos en espacios N-dimensionales. Los métodos de visualización a

menudo son útiles para observar estas estructuras cuando la dimensionalidad es N 3, pero

cuando N>3 son difíciles de identificar. Para tener una aproximación de las estructuras

formadas en estos espacios se utilizan herramientas de la topología computacional. En este

trabajo se propone emplear algunas de estas herramientas.

En este capítulo se expone un análisis de la topología digital y computacional, además del

estado del arte de algunos trabajos que se han realizado y que de alguna manera aportan

conocimiento para solucionar el problema que se plantea en esta investigación.

El formato de este capítulo divide estas áreas1 en dos secciones. Algunos conceptos necesarios

son presentados conforme se va explorando el tema. Para empezar se presenta una definición

informal de topología donde más adelante se profundiza en la topología algorítmica.

En la sección 2.4 se presenta una discusión de los trabajos que aportan conocimiento para la

solución de los problemas propuestos.

1La topología digital y computacional son enfocadas a la computación, pero la digital se enfoca a espacios

discretos y la computacional a los espacios continuos, así que en la literatura se encuentra por áreas separadas.

Page 22: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Análisis de la topología Capítulo 2

8

2.1 Topología

La topología es una rama de la geometría que enfatiza la conectividad como el aspecto

más fundamental de un objeto geométrico. En topología, por lo tanto, se ignoran virtualmente

todos los rasgos geométricos enfocándose en la conectividad, tal como cualquier forma de

cambio en un objeto geométrico que al estirarlo o encogerlo podría causarle. Así los términos

utilizados en topología llegan a ser cada vez más importantes y útiles en otras ramas de las

matemáticas así como también en varios campos en las ciencias naturales [Sato,1996].

Algunos conceptos en topología han sido trasladados a métodos para desarrollar algoritmos

que describan la topología de un conjunto de puntos en un espacio finito. Al profundizar en el

tema de la topología algorítmica existen dos enfoques, la llamada topología digital y la

topología computacional.

Topología digital se enfoca a espacios discretos. Muy utilizado en algoritmos de visión

(procesamiento digital de imágenes) para computadora [Robins,1997].

Topología computacional se enfoca en espacios continuos [Robins,1997].

En las siguientes secciones se presentará un análisis y estado del arte en topología digital y

computacional.

2.2 Topología digital

La Topología como se explica en [Real,2005] es un área de las matemáticas que

privilegia fundamentalmente la noción de vecindad, adyacencia y relación entre objetos. Con

esto se puede afirmar que el concepto más representativo y emblemático de la topología es el

grafo, objeto abstracto que consta de vértices (o nodos) y lados (o aristas) entre pares de

vértices. Una codificación concreta de un grafo podría ser , donde y

el cual se puede visualizar en la figura 2.1.

Figura 2.1 Conexión de un grafo.

Las deformaciones o transformaciones planas o espaciales que llevan una conversión de un

grafo a otro equivalente se pueden catalogar como transformaciones topológicas. Extendiendo

esta definición informal a cualquier objeto donde se pueda hablar de vecindad entre sus

elementos, se dice que una propiedad de un objeto es de tipo topológico si no se altera ante

“transformaciones topológicas” sobre el mismo. Estas propiedades pueden ser el número de

huecos y componentes conexas.

a b

d c

a b

d c

a b

d c

Page 23: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 2 Análisis de la topología

9

En matemáticas la topología trabaja con transformaciones sobre espacios continuos donde se

estudian la conectividad y otras propiedades topológicas. A fin de que muchos problemas en la

ciencia se trasladan a la computación, se han realizado trabajos en los cuales se orienta la

topología hacia espacios digitales como en [Eckhardt,2003].

Uno de los problemas más tratados en topología digital es la conectividad en imágenes

digitales como menciona [Rosenfeld,1979], ya que el procesamiento de imágenes digitales es

una disciplina que ha ido creciendo con amplias aplicaciones, entre otras:

Negocios (lectura automática de documentos)

Industria (inspección automatizada y ensamblado)

Medicina (radiología, hematología, etc.)

Ciencia (meteorología, geología, física, etc.)

La mayoría de los campos mencionados involucra el análisis de imágenes, esto es, a una

imagen dada, se construye una descripción de ésta, en términos de los objetos que contiene, o

de las regiones de las cuales está compuesta, así como también de sus propiedades y

relaciones.

Para identificar propiedades topológicas en imágenes digitales se requiere del uso de la

topología digital, porque las imágenes se encuentran en un espacio discreto. Rosenfeld en

[Rosenfeld,1979] comenta que una imagen es introducida a la computadora por medio de un

muestreo de los valores de brillantez en una cuadrícula discreta de puntos, y que se digitalizan

o cuantifican esos valores a un número finito de partes binarias. El resultado de este proceso es

llamado imagen digital; ésta es un arreglo rectangular de valores discretos. Los elementos de

este arreglo son llamados pixeles, o algunas veces sólo son llamados puntos. El valor de cada

pixel es llamado nivel de gris y va desde 0 hasta 255.

En [Real,2005] se menciona que un muestreo es una subdivisión de alguna imagen analógica

en porciones regulares. Enfatiza que las porciones que habitualmente más se utilizan son

cuadrados, aunque también se utilizan mallados o teselaciones triangulares o hexagonales,

como en la figura 2.2.

Figura 2.2 Mallado triangular, mallado cuadrangular y

mallado hexagonal de izquierda a derecha.

En la mayoría de los casos se trata con el mallado cuadrangular.

Las propiedades topológicas se han utilizado en un proceso específico del procesamiento

digital de imágenes, que es llamada la etapa de segmentación, que básicamente se trata de

asignarle una clase a los pixeles involucrados en la imagen, por lo tanto se obtienen

subconjuntos de pixeles.

Page 24: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Análisis de la topología Capítulo 2

10

Una vez segmentada la imagen en subconjuntos, puede describirse en términos de las

propiedades de esos subconjuntos y relaciones entre ellos. Por ejemplo, se podría buscar

cuáles de estos subconjuntos representan regiones con huecos, o cuáles están completamente

conectados. En [Xianozhu,2007] se utiliza el Número de Euler para efectuarlo. En la figura 2.3

se muestra una imagen con propiedades topológicas.

Figura 2.3 Imagen 2D binaria con 9 componentes

conexas negras y 4 agujeros.

Para determinar una topología en el espacio digital o , donde es igual al conjunto de los

números enteros, se establece localmente los vecinos de un punto cualquiera en dicho espacio.

En principio, existen dos soluciones muy intuitivas para este problema: la 4-adyacencia y la 8

adyacencia como lo define [Rosenfeld,1970], ver figura 2.4.

Figura 2.4 A la izquierda ejemplo de 4-adyacentes de un punto,

a la derecha ejemplo de 8-adyacentes de un punto.

Según [Eckhardt,2003] es generalizable a cualquier dimensión en un espacio digital , donde

expone las siguientes formalizaciones:

Dado un punto , los -vecinos de son todos los puntos con

coordenadas enteras tal que:

(2.1)

En el caso del plano aplicando la ecuación (2.1) se obtienen 8-vecinos de un punto, ver

figura 2.4 en la imagen de la derecha. Por otra parte, los -vecinos (o vecinos directos) de un

punto son todos los puntos tal que:

(2.2)

Page 25: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 2 Análisis de la topología

11

de tal modo que en el plano aplicando la ecuación (2.2) se obtienen 4-vecinos de un punto,

ver figura 2.4 en la imagen de la izquierda. .

Las ecuaciones (2.1) y (2.2) están generalizadas para cualquier dimensión de los espacios

digitales, por ejemplo, a imágenes 3D donde los -vecinos da como resultado un total

de 26 vecinos, en caso de los 2(3)-vecinos da un total de 6 vecinos, ver figura 2.5.

Figura 2.5 6- y 26-vecindad de un punto en .

En el anexo A se muestra una gráfica de las vecindades generadas al aumentar las

dimensiones, lo cual da una idea del incremento en los cálculos computacionales que se

necesitan al aumentar las dimensiones.

A diferencia de la búsqueda de vecindad en un espacio , esta forma es mucho más amigable

e intuitiva. Cada pixel tiene un número finito de vecinos, a comparación del espacio continuo,

donde se obtienen infinitos vecinos utilizando bolas ver figura 2.6.

Figura 2.6 Vecindades de un punto en , de un pixel en considerando 4-adyacentes, y de un

pixel en considerando 8-adyacentes, los números indican la distancia al punto.

En este camino de la 4-adyacencia y la 8-adyacencia se encuentra con algunos problemas que

se describen en [Real,2005] pero los resolvió el matemático Azriel Rosenfeld en

[Rosenfeld,1981]. Para ver uno de los problemas es necesario entender el concepto de

componente conexa que a continuación se muestra:

Page 26: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Análisis de la topología Capítulo 2

12

Para definir el concepto de componente conexa en el marco de la 4-adyacencia o la 8-

adyacencia, se requiere determinar el concepto de camino entre dos puntos cualesquiera de .

Un 4-camino entre los puntos y de , es una sucesión finita de puntos

, tales que y son puntos 4-adyacentes, para todo valor desde

hasta . Una 4-componente conexa de una imagen digital binaria es el conjunto de

puntos de del mismo color, tal que para dos puntos cualesquiera de dicha componentes,

exista siempre un camino constituido por puntos de la misma que una ambos puntos.

Figura 2.7 Imagen digital que contiene una componente conexa negra y dos blancas.

En la imagen de la figura 2.7 se puede visualizar que existe una componente conexa que es de

color negra y dos componentes conexas de color blanco, pero eso es por intuición. Si

computacionalmente se busca la componente conexa utilizando 4-adyacentes se tiene que el

número de componentes conexas es de 10, mientras que el número de componentes conexas

blancas es de dos. En el caso de 8-adyacentes existe una componente conexa negra pero

también una componente conexa blanca, lo cual no es cierto.

Lo anterior Azriel Rosenfeld lo resolvió argumentando que el tipo de adyacencia que debían

de tener los pixeles negros de la imagen digital debía ser diferente al tipo de adyacencia de los

pixeles blancos. Esta idea constituye la base y fundamento del área de la topología digital

según [Real,2005].

Así, para resolver el problema anterior, se deben considerar 8-adyacentes para los pixeles

negros y 4 adyacentes para los pixeles blancos, lo que dará como resultado una componente

conexa de los pixeles negros y dos componentes conexas de los pixeles blancos al igual que la

figura 2.7.

Existen varios algoritmos que utilizan este enfoque de 4-adyacencia y 8-adyacencia para

realizar operaciones y obtener propiedades topológicas, como los algoritmos que se

encuentran en [Rosenfeld,1970], que son los siguientes:

Cálculo del número de componentes conexas.

Etiquetado de componentes conexas.

Borde de una imagen digital.

Algoritmo de adelgazamiento.

Entre otros.

Page 27: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 2 Análisis de la topología

13

Para concluir, vale la pena mencionar lo que señala Eckhardt en [Eckhardt,1993], indica que la

topología y la geometría digital no son áreas nuevas en matemáticas, más bien se le ha dado

mucha aplicación en el ámbito del procesamiento digital de imágenes. Realmente, lo más útil

de la topología digital es que puede ser utilizado en cualquier espacio que sea discreto. Puede

profundizarse más en las formalizaciones de la topología digital en [Eckhardt,2003], que

define varios teoremas para los espacios discretos y generalizaciones de la vecindad en estos

tipos de espacios.

2.3 Topología computacional

Durante más de 20 años, la geometría computacional ha llegado ser un área muy

productiva, con una gran variedad de aplicaciones como en gráficos, robótica, diseño asistido

por computadora, entre otros. Sin embargo, se enfoca principalmente al análisis y diseño de

algoritmos para resolver problemas tipo geométrico. Por ejemplo, encontrar conchas

convexas, intersecciones de líneas, polígonos, líneas rectas, poliedros, entre otros. Utilizando

técnicas combinatorias para resolver estos problemas [Rivero,2005]. Pero en los últimos años

se ha requerido como menciona [Bern,1999] extender la geometría computacional a dominios

continuos, superficies curveadas y de alta dimensionalidad. Tal extensión hace que la

geometría computacional entre en contacto con la topología clásica.

También señala [Bern,1999] que la topología computacional abarca cuestiones algorítmicas,

esto es, el reconocer nudos, huecos, etc., y cuestiones topológicas en algoritmos, por ejemplo,

si una construcción discreta preserva la topología del dominio continuo fundamental.

En la actualidad, la investigación en la topología computacional es emprendida separadamente

por comunidades de topología, geometría computacional, gráficos por computadora, entre

otros. En algunos lugares se organizan talleres interdisciplinarios con un conjunto de metas en

topología computacional con el propósito de identificar problemas importantes y describir

técnicas claves comunes para muchas áreas [Bern,1999].

A parte de trabajar la topología computacional en forma separada, existen otros desafíos, el

principal problema es que el lenguaje de los topólogos es muy formal y abstracto, lo que

provoca que a cualquier computólogo se le dificulte entender este lenguaje. Además la

topología no es una materia que se imparta en la mayoría de las carreras de ingeniería, lo cual

dificulta el adaptarse a ella. Es por ello que en [Zomorodian,2005] se expone la existencia de

muchas barreras para interactuar en esta área, las cuales son:

Los computólogos no conocen el lenguaje de los topólogos. La topología, a

diferencia de la geometría, no es una materia requerida a nivel secundaria en

matemáticas y casi nunca es tratada a nivel licenciatura en las universidades que

imparten computación. La naturaleza axiomática de la topología hace el

problema más complicado, además de generar terminología incomprensible y

esotérica que hace al campo inaccesible para los que no son topólogos.

Page 28: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Análisis de la topología Capítulo 2

14

La topología puede ser muy enigmática y sin intuición, por lo tanto puede

parecer muy complicada y desconcertante.

La topología es un área con muchas ramas. Los computólogos a menudo sólo

requieren simples conceptos de cada rama. Mientras exista, por supuesto, apoyo

en topología por departamentos de matemáticas, el enfoque de esos cursos son

frecuentemente teóricos, preocupados con cuestiones profundas y resultados

existenciales.

Al analizar estas barreras o problemas, es importante reflexionar sobre una posible vinculación

entre matemáticos y computólogos, con el propósito de tratar de entender un lenguaje común y

así emprender juntos avances en temas sobre topología computacional. Esta área puede

proporcionar muchas herramientas útiles para la investigación, puesto que en el ámbito

científico frecuentemente se trabaja con espacios de alta dimensionalidad.

Como se ha mencionado, esta área se ha ido trabajando de manera separada, donde pudieran

existir varios enfoques. En este trabajo se analizó la topología computacional con la noción de

resolución variable que se presenta en [Robins,1997], donde se utiliza una variedad de

precisiones diferentes para deducir topología. Las técnicas de resolución variable pretenden

ofrecer una visión global de la forma de los datos examinándolos a lo largo de diferentes

niveles de resolución. La resolución más baja provee una visión global (concha convexa), y la

más alta los detalles (componentes conexas, huecos).

La resolución variable se utiliza por la necesidad de resolver problemas topológicos mediante

la computadora. El enfoque computacional de la topología puede ser muy subjetivo, por

ejemplo, si se tiene un conjunto de puntos en algún espacio de cuatro dimensiones ¿Cómo

decirle a la computadora que regrese la cantidad de cavidades que este espacio contiene?,

como no se conoce nada más que los puntos, es imposible desarrollar un algoritmo que pueda

ayudar a responder esta pregunta, si no se conoce cómo está conectado el espacio. Hay que

tomar en cuenta que la topología tradicional como hace referencia [Robins,2004] está

generalizada en precisión infinita, pero los datos en computación están limitados en extensión

y discretizados en espacio y tiempo. La generalización utilizada en computación es la

topología de resolución variable (o multirresolución).

Esta idea de la resolución variable está bien definida en [Robins,1997], donde se formaliza un

repertorio de teoremas, por ejemplo, el concepto de conectividad aceptado en topología es el

siguiente:

Un espacio topológico está conectado, si y sólo si, no puede ser descompuesto

en la unión de dos conjuntos cerrados, disjuntos y no vacíos. Si tal descomposición

existe entonces se dice que está desconectado, esto es, si existen dos conjuntos

cerrados y tal que y .

Observando el concepto anterior, se puede comparar con la técnica de resolución variable de

[Robins,1997] la cual es la siguiente:

Page 29: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 2 Análisis de la topología

15

Se dice que un espacio está si puede ser descompuesto en

dos conjuntos que están separados por medio de una distancia de al menos . Esto

es, existen dos subconjuntos, y con y

. En caso contrario, se dice que está

. Si es para todo , entonces está

conectado en el sentido original.

Si se observa esta última definición puede ser perfectamente trasladada a computación

mediante algoritmos que conecten el espacio mediante alguna métrica. En este sentido, en

[Robins,1999] se utiliza el MST (minimun spanning tree por sus siglas en inglés) para

conectar el conjunto de puntos en el espacio con alguna métrica (en este caso se utilizó la

métrica euclidiana), de tal manera que se van eliminando aristas cuyas distancias sean mayores

a , y así se va deduciendo que componentes quedan conectadas a cierta resolución .

El mismo enfoque de resolución variable se utiliza para localizar cavidades o huecos en los

espacios. El uso del algoritmo -shapes (ver [Edelsbrunner,1994]) puede ser visto en algunos

artículos en la literatura para llevar a cabo estas tareas, en [Robins,2004] se recomienda

utilizar el algoritmo -shapes para localizar cavidades o huecos en los espacios. Este

algoritmo puede utilizarse en conjunto con la definición de los números de Betti: el primer

número identificado como , indica el número de componentes conexas, el segundo número

o corresponde al número de huecos o túneles y el tercero o representa el número de

vacíos encerrados.

Un algoritmo para determinar las componentes conexas y los huecos utilizando -shapes y los

números de Betti se presentó en [Robins,2002], donde se ejemplifica con fractales. Otro

algoritmo que también es empleado para determinar los números de Betti en un espacio de tres

dimensiones, puede ser consultado en [Delfinado,1995], donde también involucra a -shapes

para conectar el espacio, pero destinándolo hacia objetos geométricos sólidos.

Es importante aclarar que los números de Betti forma parte de una de las ramas de la

topología, llamada Topología Algebraica, específicamente en el tema de Homología de

grupos [Munkres,1984].

En el análisis inteligente de datos la codificación de las aristas del MST puede ser útil. Esto se

comprueba en [Robins,2004] mediante experimentos con imágenes satelitales sobre el Ártico,

donde la idea es contar cuántos témpanos de hielo existen, a ciertas resoluciones, lo que es

equivalente a contar componentes conexas. La identificación de órbitas de sistemas dinámicos

puede también ser llevado a cabo empleando el MST como se describe en [Robins,1999] y

además utilizarse como filtro para eliminar ruido de señales [Robins,2004]2.

En la tesis doctoral [Robins,2000], la autora aplica sus definiciones topológicas de resolución

variable para deducir propiedades topológicas de algunos sistemas dinámicos, como el atractor

de Hénon, y en otras aplicaciones en fractales como el triángulo de Sierpinkski, conjunto

Cántor, entre otros. Concluye que su acercamiento a la topología computacional con la

resolución variable es adecuado para espacios donde existe una métrica asociada.

2 Puede consultarse en la página 7 del artículo [Robins,2004].

Page 30: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Análisis de la topología Capítulo 2

16

En [Lucieer,2004]3 se desarrolla un software para visualizar las clases formadas del algoritmo

c-medias difuso. Las técnicas para visualizar son bolas, elipses, conchas convexas y -shapes,

concluyendo que con este último se visualiza de forma más precisa las clases. El software está

implementado sólo para 3-dimensiones, por lo tanto cuando existen más de tres descriptores se

seleccionan tres coordenadas para la visualización.

En el área de bioinformática se estudian las estructuras de las proteínas a partir de datos.

Entender la forma de una proteína es importante para conocer sus funciones. El interés es

obtener la identificación y caracterización de su superficie y además de las cavidades

formadas. En [Liang,1998] se diseñó un software llamado CAST capaz de realizar éstas tareas,

utilizando al algoritmo -shapes para obtener su forma. En [Edelsbrunner,1995] se desarrolló

un algoritmo basado en alpha complexes para reconstruir regiones llamadas “pockets”, las

cuales son definidas como regiones con accesibilidad limitada desde el exterior. Interesa

conocer el tamaño y la localización de estas regiones para estudiar las funciones que realiza

las proteínas.

2.4 Conclusión

Durante la exploración en la literatura de topología computacional, hay que tener

presente que éste es un tema multidisciplinario, en el sentido de que puede utilizarse

prácticamente en cualquier campo de investigación. De los artículos referenciados en los

párrafos anteriores, algunos de ellos son de interés para este trabajo. Las formalizaciones de la

topología digital de [Eckhardt,2003] es sin lugar a dudas una buena fuente de información, ya

que aporta ideas para trabajar en espacios discretos.

La técnica de resolución variable que se presenta en [Robins,1997], [Robins,1999],

[Robins,2000], [Robins,2002] y [Robins,2004] para obtener propiedades topológicas fue

también tomada en cuenta. [Zomorodian,2005] contribuyó con teoría sobre la aplicación de las

herramientas de la topología computacional.

El algoritmo -shapes que se expone en [Edelsbrunner,1994] es la herramienta que se decidió

implementar debido a las aplicaciones en visión artificial que se presentan en [Lucieer,2004] y

en bioinformática en [Liang,1998], los cuales muestran su utilidad para encontrar estructuras

en los datos. Otros algoritmos interesantes que no se implementaron son los números de Betti,

con los cuales se pueden contabilizar las componentes conexas, huecos, entre otros, utilizando

-shapes, como lo desarrollaron los autores de [Robins,2002] y [Edelsbrunner,1995]. En estos

artículos se enfatiza el algoritmo -shapes para obtener la forma de un conjunto en un espacio

métrico a cierta resolución. En este trabajo fue importante implementar este algoritmo

generalizado a espacios N-dimensionales, por el interés de trabajar en éstos. En el capítulo 4

se explica la implementación del algoritmo con detalle.

3 En la página 43 de esta tesis puede consultarse el tema.

Page 31: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

17

Capítulo 3

Control inteligente e inspección visual

En este capítulo se presentan algunos temas de control inteligente y de inspección

visual que tienen relación con la problemática de esta tesis. Con el propósito de colocar al

lector en el contexto de esta tesis, se presenta un bosquejo de estos temas sin profundizar. Si

éste pretende más información sobre algún tema específico deberá dirigirse a la referencia

correspondiente al tópico.

La primera sección inicia con control inteligente, lo que significa que es necesario tomar en

cuenta algunos conceptos previos relacionados con sistemas dinámicos, debido a que los

controladores son diseñados para manipular a éstos. También es obligatorio conocer la

metodología de aproximación a la ley de evolución de estados NHTE (Núcleo Híbrido de

Transición de Estados) [Castillo,1999]4, ya que con ésta se obtienen los datos de muestreo

que se desean analizar.

En inspección visual se expone el uso del algoritmo de Nomura como clasificador del sistema

de inspección visual de [López,2008]. Este sistema se utiliza para clasificar la piel sana y

defectuosa de manzanas golden.

4 En la sección 4.2 se describe la metodología.

Page 32: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Control inteligente e inspección visual Capítulo 3

18

3.1 Control inteligente

Algunas definiciones tratan de explicar lo que es control inteligente, pero se puede

aclarar más si se conoce el concepto de control convencional, este es un conjunto de teorías y

métodos que se basan en la descripción de ecuaciones diferenciales o en diferencias. Por otro

lado, se entiende por control inteligente a los sistemas que tienen la habilidad para actuar de

forma apropiada en un entorno incierto. Otra manera de entenderlo es como el uso de técnicas

de I.A. para solucionar problemas del control convencional.

Existen varias técnicas que se han ido utilizando para desarrollar control inteligente, entre las

cuales se pueden mencionar:

Sistemas expertos en tiempo real

Control difuso (fuzzy control)

Control con redes neuronales artificiales

Para utilizar algunas de estas técnicas se requiere conocer la forma de obtener las variables de

estado de un sistema dinámico. En las secciones siguientes se verán algunos conceptos

necesarios para entender la metodología con la cual se obtienen las variables del

comportamiento de un sistema.

3.1.1 Sistemas dinámicos

El término sistema es muy general. En [Canales,1980] se formaliza con la siguiente

definición: “un sistema es una relación entre entradas y salidas”. Si se representa a las entradas

como y la salida como , un sistema podría denotarse matemáticamente por la relación de la

ecuación (3.1) [Canales,1980]:

(3.1)

La cual se muestra de forma gráfica en la figura 3.1.

Figura 3.1 Relación entrada-salida.

Los sistemas dinámicos se caracterizan por ser causales y en este trabajo se estudian los que

además son determinísticos. Un sistema es causal, como se menciona en [Ogata,2003], si su

salida en un instante dado no depende del valor de la entrada en instantes posteriores. En

cambio un sistema es determinístico si a una entrada le corresponde únicamente una salida.

y u S

Entrada Salida

Page 33: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 3 Control inteligente e inspección visual

19

Los sistemas dinámicos son sistemas que son a la vez causales y determinísticos cuya

evolución en el tiempo a partir de un estado inicial se determina por un conjunto de reglas

[Canales,1980][Gröller,1999].

3.1.1.1 Sistemas lineales y no lineales

Los sistemas dinámicos pueden comportarse como sistemas lineales o no lineales. Un

sistema dinámico es lineal si cumple con las propiedades de aditividad (o superposición) y

homogeneidad [Canales,1980]5.

El principio de aditividad establece que para dos entradas independientes y las cuales

producen respectivamente salidas y , la respuesta de la suma de las dos entradas y en

general de entradas es la suma de las salidas independientes correspondientes para cada

entrada, como se ilustra en la figura 3.2.

Figura 3.2 Propiedad de aditividad (o superposición).

Homogeneidad significa que al multiplicar la entrada por un factor , la salida del sistema

se multiplica por el mismo factor , ver figura 3.3.

Figura 3.3 Propiedad de homogeneidad.

Un sistema no lineal es cualquier sistema que no cumpla con al menos una de estas dos

propiedades.

3.1.1.2 Función de transición de estados

El estado de un sistema dinámico es el conjunto más pequeño de variables internas, tal

que el conocimiento de estas variables en el tiempo inicial , conjuntamente con el

conocimiento de la entrada para , determinan completamente el comportamiento del

sistema en cualquier tiempo [Ogata,2003]6. Por lo tanto, el estado de un sistema

dinámico es representado por un vector donde sus componentes son las variables de estado

, esto es, .

5 Página 58 en la sección 3.1 6 Página 70 sección 3.4

S

S S

S

Page 34: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Control inteligente e inspección visual Capítulo 3

20

Dependiendo del número de variables de estado que determinan su comportamiento, se

establece el orden del sistema dinámico, esto es, si el sistema tiene un estado que se puede

representar por N reales, es de orden N.

En este trabajo se utilizó un enfoque que se ha ido elaborando en CENIDET, en el cual se le

conoce con el nombre ley de evolución de estados o NHTE, para identificar y controlar

sistemas con sólo conocer los estados. Esta se basa en la función de transición de estados

(FTE), donde la función relaciona el estado de un sistema en un instante al estado del

mismo sistema pero en un instante posterior cuando se aplica un segmento de entrada

.

Los argumentos de FTE son el tiempo final , el estado inicial , la entrada y el

tiempo inicial . Para determinar el estado siguiente es dada la expresión de la ecuación

(3.2) [Canales,1980]:

(3.2)

La cual se lee “El estado a partir del estado se llega aplicando la entrada

Con esta representación es posible determinar la salida del sistema en cualquier instante

conociendo el estado actual [Canales,1980].

En CENIDET la FTE es tratada por medio de la ley de evolución de estados NHTE

permitiendo estudiar cierto tipo de sistemas utilizando la ecuación (3.3) donde significa un

tiempo posterior. Para estudiar los sistemas dinámicos sólo se utiliza la información de los

estados y su entrada, ignorando el tiempo.

(3.3)

3.1.2 Identificación

La identificación de sistemas dinámicos se refiere a estimar el valor de ciertos

parámetros desconocidos de una planta basándose únicamente en el conocimiento de las

entradas y salidas [Canales,1980].

Una planta es un sistema dinámico que se propone identificar, simular o controlar.

Identificar un sistema dinámico es establecer su modelo matemático, pero si el sistema es muy

complejo de modelar, se pueden usar herramientas de la I.A. como la lógica difusa, redes

neuronales artificiales, entre otros [Castillo,1999].

Para identificar un sistema dinámico usando el método NHTE se debe contar con algún

método de interpolación y contar con una planta P, a la cual se aplica una señal de entrada ,

después se hace un muestreo de los valores de entrada y salida de la planta durante un

Page 35: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 3 Control inteligente e inspección visual

21

intervalo de tiempo , para obtener los datos llamados “datos de entrenamiento”. Las

variables muestreadas que se conocen como antecedentes y consecuentes para un sistema

dinámico de orden siguen la ley de evolución de estados de la ecuación (3.3). Ver figura 3.4.

Figura 3.4 Selección de variables a considerar para la identificación de un sistema de orden n.

Los datos de entrenamiento se organizan en . Los

valores , donde representan los valores de los antecedentes. La variable

(también conocida como ) representa la salida resultante que se conoce también

como consecuente.

3.1.3 Control

El control es el principal objetivo de la teoría de sistemas. El control o controlador

manipula la entrada al sistema para obtener el efecto deseado en la salida del sistema. El

problema del control consiste en mantener la planta en un estado prefijado [Canales,1980].

Un controlador es robusto cuando es menos susceptible a cambios en los parámetros del

sistema o al ruido. Esto se refiere a que debe ser sensible a perturbaciones o variaciones de

parámetros externos [Castillo,1999].

Existen dificultades que impiden el obtener un buen controlador. En la metodología

convencional de control es necesario contar con un buen modelo de la planta. Si el modelo es

no lineal, de todas formas es difícil derivar el controlador. Los métodos basados en I. A. como

las redes neuronales y la lógica difusa no requieren de un modelo, pues trabajan directamente

con los datos de entrada y salida de la planta, y por su capacidad de generalización, pueden

controlar a un sistema lineal como uno no lineal con el mismo método.

3.1.3.1 Estructura de control modelo inverso

Este controlador se obtiene de la siguiente manera: primero se realiza una

identificación inversa del comportamiento de la planta a controlar, se conecta en

.

.

.

.

.

.

.

.

.

Page 36: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Control inteligente e inspección visual Capítulo 3

22

cascada, colocando primero a y conectando su salida a la entrada de . Si se obtiene una

identificación inversa ideal al aplicar como entrada a una señal de referencia ,

resultaría [Castillo,1999]7.

La figura 3.5 muestra una configuración de lazo abierto, lo cual no es deseable, ya que pueden

presentarse perturbaciones en el camino entre y la salida . En esta tesis se trabajó con el

modelo de lazo cerrado como el que se muestra en la figura 3.6.

Figura 3.5 Control utilizando el modelo de planta inversa de lazo abierto.

Figura 3.6 Control utilizando el modelo de planta inversa de

lazo cerrado.

En la sección 5.3.2 se explica la propuesta de un controlador basado en el algoritmo del vecino

más cercano para identificar la planta inversa de la dinámica de una planta a controlar.

Los datos de entrenamiento se obtienen mediante la identificación inversa de una planta de

orden como se muestra en la figura 3.7.

Figura 3.7 Selección de variables durante el control

de una planta de orden n.

7 Ver sección 5.3

ref

Consigna

y u

Control

Salida

Planta

Lazo de retroalimentación

ref

Consigna

y u

Control

Salida

Planta

Antecedentes Consecuente

.

.

.

Page 37: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 3 Control inteligente e inspección visual

23

La configuración del diagrama de selección de variables para control se puede interpretar

como “encontrar la entrada que haga transitar a la componente del estado siguiente

a partir del estado actual ”. La componente del estado siguiente es la

señal de referencia que el controlador debe seguir [Ulloa,2008].

3.2 Inspección visual

En este tema es conveniente entender cuál es el significado de la palabra inspección en

el contexto industrial, con el propósito de deducir de manera intuitiva lo que son los sistemas

de inspección visual. A continuación se propone la siguiente definición:

“Inspección es una evaluación de la conformidad por medio de observación y dictamen,

acompañada cuando sea apropiado por medición, ensayo/prueba o comparación con patrones”

[ISO9000,2000]. De otra manera puede explicarse como un proceso en el cual se comparan

piezas, objetos individuales o materiales continuos fabricados según una norma, con vistas al

mantenimiento de cierto nivel de calidad. Con lo anterior se puede explicar que un sistema de

inspección visual se basa en la aplicación de técnicas de visión artificial y reconocimiento de

patrones para realizar algún proceso de inspección.

Los sistemas de inspección visual, como se deduce desde el párrafo anterior, son

principalmente aplicados en procesos industriales, especialmente en los procesos de calidad de

producción. Sus principales objetivos suelen ser: la independencia del factor humano; permitir

la observación de detalles no visibles por el ojo humano; mayor velocidad de inspección; entre

otros.

En estos tipos de sistemas, es común seleccionar descripciones que aporten una mejor

representación de los objetos. El propósito es obtener una muestra de estas descripciones

(comúnmente llamados datos de entrenamiento en el área de I.A.) de ciertos objetos

seleccionados. Estas descripciones sirven para entrenar a un cierto sistema clasificador (algún

sistema de reconocimiento de patrones) que posteriormente es el encargado de realizar la

clasificación cuando se obtengan datos nuevos.

Este trabajo se enfocó en proponer algoritmos que permitan al investigador analizar las

estructuras formadas y traslapadas en el espacio de descriptores, donde comúnmente estos

espacios son N-dimensionales. En la parte de experimentación se empleó los diferentes

conjuntos de descriptores seleccionados en el sistema de inspección visual que se diseñó para

manzanas golden [López,2008].

En [López,2008] se utilizó en la parte de visión artificial imágenes de manzanas con

iluminación controlada y como clasificador (reconocedor de patrones) un sistema difuso

[Nomura,1992]. Los descriptores fueron principalmente las tres componentes (RGB; Red,

Green y Blue por sus siglas en ingles) de cada píxel de la piel sana y defectuosa de las

manzanas, y para mejorar la representación se agregó la intensidad I, el cual convierte al

vector de características en N-dimensional.

Page 38: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Control inteligente e inspección visual Capítulo 3

24

El sistema difuso se encarga de asignar la pertenencia entre el conjunto de valores entre 0 y 1

que representan la piel sana y defectuosa respectivamente. Lo ideal es que este clasificador se

acerque a los valores mencionados para que la clasificación sea aceptable. Si los valores se

aproximan a 0.5 se tiene un problema de incertidumbre. Las descripciones pueden no estar

representando adecuadamente a la piel de las manzanas, lo que requiere continuar con otras

estrategias.

En la figura 3.8 se muestra un diagrama general del sistema de inspección visual diseñado en

[López,2008], en los sistemas difusos las descripciones son llamadas antecedentes y los

resultados como consecuentes. En este caso los antecedentes son las componentes RGB y I de

la piel de las manzanas y los consecuentes son los valores objetivos que se desean alcanzar, en

este caso 0 y 1.

Figura 3.8 Sistema de visión para clasificación de manzanas.

3.3 Comentarios

Con estos temas se pretende que el lector tenga una visión general de los temas en que

se enfocó este trabajo, principalmente donde se origina la problemática a resolver, la cual va

dirigida al análisis topológico de los datos. En control inteligente la necesidad es analizar los

datos de entrenamiento que se obtienen mediante muestreo. En inspección visual es

importante el análisis de los datos de los descriptores para detectar traslape como ya se definió

en la descripción del problema.

R

G

B

I

Sistema

difuso

0 (defectuoso)

1 (sano)

Antecedentes Consecuente

Función de color

Page 39: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

25

Capítulo 4

Algoritmos

En este capítulo se presentan los algoritmos analizados y propuestos para resolver los

problemas que se plantearon en este trabajo. Algunos fueron seleccionados desde la literatura,

los cuales se analizaron e implementaron para verificar su utilidad en el trabajo. Éstos fueron

los siguientes: componentes conexas en espacios digitales; teselación de Delaunay; -

shapes; y componentes conexas basado en el MST.

También se propusieron algoritmos para realizar tareas conjuntas con algunos de los

algoritmos anteriores. Éstos fueron los siguientes: K-vecinos; interpolación lineal; e inclusión

en forma no convexa. Todos fueron desarrollados utilizando Matlab© 7 basado en

[Hanselman,2005].

En las siguientes secciones se exponen los algoritmos a detalle, mostrando sus pseudocódigos

para un mejor entendimiento. Además se incluye una conclusión general de este capítulo sobre

la aportación de éstos en este trabajo de investigación.

Más adelante en el capítulo 5 se muestran las aplicaciones de algunos de los algoritmos

mencionados.

Page 40: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

26

4.1 Componentes conexas en espacios digitales (2D y 3D)

La búsqueda de componentes conexas es una de las descripciones más utilizadas en la

visión artificial. En algunos libros de visión como [González,1996] no se menciona como un

algoritmo topológico para facilitar la comprensión del estudiante, y no profundizarlo en el área

de topología. Como los algoritmos de componentes conexas tienen un tinte topológico, se

analizó e implementó una variante de éste para entender algunas cuestiones de

dimensionalidad que se encuentran en [Eckhardt,2003]. El propósito es visualizar alguna

futura utilidad donde se trabaje con espacios digitales de alta dimensionalidad.

El algoritmo expuesto en [Escribano,2008] es simple y eficaz para obtener las componentes

conexas en imágenes digitales binarias bidimensionales. En la mayoría de la literatura sólo se

considera para dos dimensiones, pero las ecuaciones de [Eckhardt,2003] demuestran que la

topología digital está generalizada a N-dimensiones.

En este trabajo se implementó el algoritmo de etiquetamiento de componentes conexas de un

espacio digital de 3-dimensiones, para aplicar las ecuaciones (2.1) y (2.2) de [Eckhardt,2003].

Antes de iniciar con el algoritmo se presentará la formalización necesaria y posteriormente se

continúa con un pseudocódigo que describe al algoritmo.

4.1.1 Modelo del plano digital [Escribano,2008]

Una imagen digital 2-dimensional es una cuaterna donde y

Una imagen digital 3-dimensional es una cuaterna donde y

Los puntos se llaman puntos negros. Los puntos de se llaman puntos blancos.

Para los puntos negros se utiliza la relación de m-adyacencia y para los puntos blancos

se utiliza la relación de n-adyacencia.

4.1.2 Pseudocódigo del algoritmo de componentes conexas

Si es una imagen digital -dimensional, se pueden etiquetar las

componentes de N realizando dos rastreos fila por fila.

Durante el primer rastreo, para cada punto , se examinan los vecinos adyacentes

en la fila anterior y a la izquierda en la misma fila que p. Si existen, ya han sido

visitados por el rastreo, y si son negros ya han sido etiquetados.

Si todos son blancos, se asigna a p una nueva etiqueta, y si alguno es negro, p hereda la

etiqueta de uno de ellos. Si hay etiquetas diferentes, se registra el hecho de que son

equivalentes, esto es, pertenecen a la misma componente.

Page 41: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

27

Cuando se completa este rastreo, cada punto negro tiene una etiqueta, y no se ha

asignado la misma etiqueta a puntos que pertenezcan a diferentes k-componentes,

aunque puede que se asignen etiquetas diferentes a puntos en la misma k-componente.

Ahora se ordenan las parejas equivalentes en clases de equivalencia, y se escoge una

etiqueta para representar cada clase. Finalmente, se realiza un segundo rastreo de la

imagen y se sustituye cada etiqueta por el representante de cada clase. Cada

componente ha sido ahora etiquetada de forma única.

El pseudocódigo anterior se generaliza fácilmente con las ecuaciones de [Eckhardt,2003]. En

este trabajo se implementó el conteo de componentes en un espacio de 3-dimensiones.

4.2 K-vecinos (N-D)

En esta sección se presenta el diseño y modificación del algoritmo K-vecinos con

perspectiva de aplicarlos a simulaciones de identificación y control de sistemas dinámicos.

Para desarrollar este algoritmo, se utilizó la aportación del método para la detección de

regiones sobre-muestreadas o desprovistas de datos de la tesis [Ulloa,2008]. La motivación

de utilizar el método, fue desarrollar un algoritmo que encuentre los K-vecinos de forma

eficiente con el propósito de que pueda ejecutarse en simulaciones.

La idea de desarrollar este algoritmo, se basa en experimentar qué tan bueno puede ser para

interpolar con los vecinos más cercanos en el caso de identificación y control. Se tiene la

certeza de que estos tipos de algoritmos no requieren una etapa de entrenamiento, sólo algún

tipo de preprocesamiento de los datos, lo cual es menos costoso computacionalmente.

4.2.1 Etapa de preprocesamiento

El algoritmo consta de una etapa de preprocesamiento, que se encarga de organizar los

datos de tal manera que se puedan localizar los vecinos más cercanos de manera eficiente.

Como ya se mencionó al inicio de esta sección, se utilizó el método para la detección de

regiones sobre-muestreadas o desprovistas de datos de [Ulloa,2008] (de aquí en adelante se

mencionará como método para crear regiones). Este método se encarga de dividir cada

dimensión de los datos o puntos en regiones que el usuario especifica. Cabe destacar, que se

realizaron unas modificaciones para lograr que el programa proporcionara dos archivos, los

cuales son:

KDATOS.DAT. Contiene los datos, donde cada fila del archivo corresponde a un

punto en el espacio de datos, junto con la región a la que pertenece cada uno de los

puntos (este archivo se almacena físicamente con el nombre KDATOS.DAT). Este

archivo se encuentra ordenado por regiones.

Page 42: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

28

KINDICES.DAT. Almacena un índice para cada región, se encuentra ordenado por

regiones, además de una columna adicional que registra la posición en la cual inicia la

región en el archivo KDATOS.DAT (Este archivo se almacena físicamente con el

nombre KINDICES.DAT).

4.2.2 Archivos KDATOS.DAT y KINDICES.DAT

Estos archivos realizan un trabajo importante en la reducción de tiempo en las

búsquedas. Al estar éstos ordenados por regiones, proporciona una forma de búsqueda

eficiente. A continuación se presenta un ejemplo de la creación de estos archivos.

Suponer que se tienen los siguientes puntos y su gráfica en el plano , ver figura 4.1.

1 - ( 0.4 0.7 ) 2 - ( 0.8 0.3 )

3 - ( 0.8 0.9 )

4 - ( 1.3 0.7 )

5 - ( 1.6 1.4 ) 6 - ( 1.8 1.4 )

7 - ( 2.2 1.2 ) 8 - ( 0.6 1.6 )

9 - ( 1.4 1.8 ) 10 - ( 1.4 1.6 )

11 - ( 2.9 1.7 ) 12 - ( 0.3 2.3 )

13 - ( 0.8 2.4 ) 14 - ( 1.9 2.2 )

15 - ( 2.7 2.4 )

Figura 4.1 Puntos y su gráfica en el plano .

Enseguida, se requiere formar las regiones con el método para crear regiones. Este método se

modificó para proporcionar dos archivos (KDATOS.DAT, KINDICES.DAT). En la figura 4.2

se ilustra un diagrama con las siguientes etapas, en (a) se encuentra el espacio de puntos, la

etapa ilustrada en (b) se obtiene cuando se aplica el método de división de regiones, donde

finalmente este método genera los archivos que son mostrados en (c) y (d). También se le pasa

un parámetro adicional que toma dos valores, en el cual, si el valor es 1, significa que los datos

contienen consecuente, así que el programa no toma el valor de consecuente como una

coordenada, sin embargo, este valor se conserva. Si el valor es 0, significa que los datos no

contienen consecuente.

0

0.5

1

1.5

2

2.5

3

0 0.5 1 1.5 2 2.5 3 3.5

x

y

Page 43: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

29

Figura 4.2 (a) Puntos en el espacio . (b) Espacio dividido en regiones.

(c) Archivo generado a partir del espacio dividido en regiones. (d) Archivo de índices generado a partir del espacio dividido en regiones.

El programa se ejecuta de la siguiente manera, en el caso del ejemplo de arriba, como no

contiene consecuente la instrucción sería la siguiente:

>> KCargarDatos(0);

El programa pedirá las regiones por dimensión, en este caso, se asumirá que se le proporcionó

6 regiones por dimensión, que resultarán 36 regiones como se ve en la figura 4.3.

Figura 4.3 Gráfica resultante al dividir en regiones el espacio.

Índice de la

región

x

y

x1 y1 C1 R1 R1

. . . . . .

. . .

x2 y2 C2 R1 R2

x3 y3 C3 R2 R1

xn yn Cn Ri Rj

R1 R1 1

R1 R2 2

R2 R1 3

Ri Rj n

. . .

. . .

. . .

. . .

KDATOS.DAT KINDICES.DAT

(a) (b)

(c) (d)

4,3

5,5

5,4

5,3

5,2

5,1

4,5

4,4

4,2

4,1

3,5

3,4

3,3

3,2

3,1

2,5

2,4

2,2

2,1

1,5

1,4

1,3

1,2

1,1

2,3

y

x

y

x

Page 44: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

30

Los archivos KDATOS.DAT y KINDICES.DAT quedan como se observa en la figura 4.4.

Figura 4.4 Archivo KDATOS.DAT y KINDICES.DAT.

En el archivo KDATOS.DAT destaca una columna llamada “[Consecuente]”, se encuentra

encerrado entre corchetes para describir como un dato que es opcional. Volviendo al caso de la

instrucción KCargarDatos(Parámetro), si el parámetro es 0, entonces en el archivo no se

tomará ningún valor como consecuente.

Otra característica que hay que destacar, es que cuando los datos son de más de dos

dimensiones, por ejemplo, el caso de tres dimensiones, entonces el archivo KDATOS.DAT y

KINDICES.DAT tendrán el siguiente aspecto.

KDATOS.DAT

KINDICES.DAT

Se observa que se agrega al archivo la tercera dimensión, en este caso, Z, y además el índice

de la región Rk. De manera similar sucede con el archivo KINDICES.DAT donde se agrega

Rk.

Con la explicación anterior, se concluye de manera general lo siguiente:

donde N es igual a la dimensionalidad de los datos.

Indice Ri Rj Rk IndKDATOS

1

,

1

1

,

41

,

31

,

2

1

,

5

1

,

6

2

,

1

2

,

42

,

32

,

2

2

,

5

2

,

6

3

,

1

3

,

43

,

33

,

2

3

,

5

3

,

6

4

,

1

4

,

44

,

34

,

2

4

,

5

4

,

6

5

,

1

5

,

45

,

35

,

2

5

,

5

5

,

6

6

,

1

6

,

46

,

36

,

2

6

,

5

6

,

6

Indice X Y … N [Consecuente] Ri Rj … RN

Indice Ri Rj … RN IndKDATOS

1

,

1

1

,

41

,

31

,

2

1

,

5

1

,

6

2

,

1

2

,

42

,

32

,

2

2

,

5

2

,

6

3

,

1

3

,

43

,

33

,

2

3

,

5

3

,

6

4

,

1

4

,

44

,

34

,

2

4

,

5

4

,

6

5

,

1

5

,

45

,

35

,

2

5

,

5

5

,

6

6

,

1

6

,

46

,

36

,

2

6

,

5

6

,

6

Page 45: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

31

4.2.3 Recorrido por las regiones

Las regiones son utilizadas para identificar los vecinos más cercanos sin necesidad de

recorrer todos los puntos que se encuentren en el espacio. Para lograr lo anterior, se desarrolló

el algoritmo K-vecinos que utiliza el método para crear regiones. Este algoritmo realiza un

recorrido sobre las regiones creadas. Inicia recorriendo las regiones que son vecinas a la

región donde se encuentra un punto (punto objetivo), al cual se desea buscar su vecindad.

Enseguida se explicará con más detalle el algoritmo.

Primero se identifica la región del punto objetivo y se calcula el número de sus regiones

vecinas obtenidas desde la ecuación (4.1), donde d es el número de dimensiones.

(4.1)

Esta ecuación se tomó del artículo [Eckhardt,2003].

Un ejemplo podría ser si el punto objetivo se localiza en la región (5,3), utilizando la ecuación

(4.1) dará el siguiente resultado:

esto ayuda a identificar cuántas regiones vecinas existen en la región donde el punto objetivo

se encuentra. Como se tiene la región (5,3) del punto objetivo, sus 8 regiones vecinas

aplicando la ecuación (4.1) serán las regiones {(4,2),(4,3),(4,4),(5,4),(6,4),(6,3),(6,2),(5,2)},

ver figura 4.5. Al obtener estas regiones, también se conocen los datos que contienen, con los

cuales se calcula la distancia euclidiana, si ya se encontró el número de vecinos solicitados (en

este caso 8) el algoritmo finaliza, de lo contrario, continúa buscando en las siguientes regiones

vecinas, ver figura 4.7. Con este método se observa que sólo se recorren las cuadrículas donde

se encuentran los vecinos más cercanos, en el mejor de los casos. En el peor de los casos se

recorrerán todas las regiones, lo cual es equivalente a ejecutar el algoritmo primitivo del

vecino más cercano.

Figura 4.5 Primer recorrido de regiones. x

y

Page 46: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

32

En la búsqueda de regiones, los archivos tienen un rol muy importante en la eficiencia. En la

figura 4.5, se observa que el punto objetivo está representado con una estrella. Esta

representación se refiere que es un punto cualquiera, en este caso se supone que es el punto

(2.4,1.2). A continuación se describe con más detalle los pasos que realiza el algoritmo para

buscar y recorrer las regiones.

Paso 1

Asignar el número de cuadrícula por dimensión. Para este ejemplo el número de

divisiones es 6 para la dimensión y 6 para la dimensión , ver figura 4.5.

Paso 2

Dado el punto objetivo (2.4,1.2) se obtiene la región a la que pertenece el punto

aplicando la ecuación (4.2).

(4.2)

La es el valor de la coordenada en la dimensión d,

son los valores mayores y menores de los datos en la

dimensión d, y es el número de divisiones especificada por

dimensión. El resultado es un número entero mayor o igual a uno. Los

valores y son almacenados en los archivos

KDIVISION.DAT, KMINIMO.DAT y KMAXIMO.DAT respectivamente.

Si entonces , si

entonces [Ulloa,2008].

En este caso utilizando el punto objetivo (2.4,1.2) se obtiene como resultado la

región (5,3).

Paso 3

Una vez obtenida la región (5,3) se busca en sus regiones más cercanas, utilizando

la ecuación (4.1):

Paso 4

Una vez obtenida las regiones se obtienen los puntos que contiene cada región.

Los puntos son obtenidos de la siguiente manera. A partir de las 9 regiones

recorridas se almacenan sus puntos. En la figura 4.6 se observa de manera general

cómo el algoritmo accede al archivo KINDICES.DAT para buscar la posición

donde se encuentran los datos de cada región en el archivo KDATOS.DAT.

Page 47: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

33

0

0.5

1

1.5

2

2.5

3

0 0.5 1 1.5 2 2.5 3 3.5

1,1

1,4

1,3

1,2

1,5

1,6

2,1

2,4

2,3

2,2

2,5

2,6

3,1

3,4

3,3

3,2

3,5

3,6

4,1

4,4

4,3

4,2

4,5

4,6

5,1

5,4

5,3

5,2

5,5

5,6

6,1

6,4

6,3

6,2

6,5

6,6

Figura 4.6 Ejemplo de búsqueda en los archivos. Primero se busca en el

archivo KINDICES.DAT para saber en cuál renglón se encuentran los datos.

Una vez obtenido el rango de renglones que abarca la región se extrae del archivo KDATOS.DAT.

Una vez que los datos fueron extraídos del archivo, se buscan las regiones más cercanas las

cuales son {(4,2),(4,3),(4,4),(5,4),(6,4),(6,3),(6,2),(5,2)}. Para mayor detalle ver figura 4.5.

Pero como las regiones {(4,4),(5,4),(6,3),(4,2),(5,2),(6,2)} están vacías, no se toman en cuenta.

Los puntos obtenidos son los siguientes:

Región 6,4 punto (2.9,1.7)

Región 5,3 punto (2.2,1.2)

Región 4,3 puntos (1.6,1.4), (1.8,1.4)

Si se requiere obtener los 8 vecinos más cercanos, los datos de las regiones vecinas no son

suficientes en el ejemplo que se está siguiendo. Por lo tanto, se requiere visitar las regiones

que se encuentran alrededor de las regiones que ya han sido localizadas, como se ve en la

figura 4.7.

Figura 4.7 Siguiente recorrido del algoritmo.

5,3 --> 13

x

y

Page 48: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

34

Observando la figura 4.7, ahora se tiene los siguientes puntos:

Región 6,4 punto (2.9,1.7)

Región 5,3 punto (2.2,1.2)

Región 4,3 puntos (1.6,1.4), (1.8,1.4)

Región 3,2 punto (1.3,0.7)

Región 3,4 puntos (1.4,1.8), (1.4,1.6)

Región 4,5 punto (1.9,2.2)

Región 6,5 punto (2.7,2.4)

Al tomar como referencia el punto objetivo (2.4,1.2), el resultado de los 8 vecinos más

cercanos serán los puntos sombreados de la tabla 4.1:

Tabla 4.1 Resultado de los 8 vecinos más cercanos con respecto al punto (2.4,1.2).

En la tabla 4.1 se observa que el algoritmo no requirió visitar todos los datos del archivo

KDATOS.DAT para buscar a sus vecinos más cercanos, en vez de ello, se realizó por regiones,

lo que permite ir obteniendo los datos conforme se van necesitando.

En el anexo B se presenta el esquema conceptual de este algoritmo, donde se puede visualizar

de una manera general la secuencia de cada proceso que lo compone. En el capítulo 5 en la

sección 5.3 se prueba este método en un ambiente de simulaciones de sistemas dinámicos.

4.3 Interpolación lineal (N-D)

En la sección anterior se definió el funcionamiento del algoritmo K-vecinos que se

propuso en este trabajo. Este algoritmo va enfocado a la experimentación de su

comportamiento en la simulación de identificación y control de sistemas dinámicos. Como ya

se explicó el algoritmo encuentra los vecinos más cercanos de manera eficiente en el mejor de

los casos, pero se requiere de otro algoritmo que interpole basándose en la vecindad.

En este trabajo de investigación se diseñó un método de interpolación lineal basado en la

ecuación general del plano, obtenida de [Lehmann,1982], en donde se encuentra el siguiente

teorema.

X Y Distancia

2.2 1.2 0.20

1.8 1.4 0.63

2.9 1.7 0.71

1.6 1.4 0.82

1.4 1.6 1.08

1.9 2.2 1.12

1.4 1.8 1.17

1.3 0.7 1.21

2.7 2.4 1.24

Page 49: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

35

X

Y

Z

La ecuación (4.3), es la ecuación general del plano,

(4.3)

en donde A, B, C y D son constantes, y [A, B, C] son los números directores de su normal.

Figura 4.8 Ilustración del plano generado por tres puntos dados.

(Imagen obtenida de [Lehmann, 1982])

En la figura 4.8 se observa que para obtener la ecuación de un plano en el espacio se

requieren al menos tres puntos no colineales. Lo mismo se puede aplicar en otras dimensiones,

generalizando la ecuación general del hiperplano , donde

son los números directores de su normal, son las coordenadas de los

puntos y una constante. Cuando la dimensión es igual a cuatro se van a requerir cuatro

puntos no colineales para obtener el hiperplano en el hiperespacio, y así sucesivamente,

cuando se tienen más dimensiones.

Figura 4.9 Representación de la interpolación lineal.

Page 50: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

36

Con estas ecuaciones se propuso un método de interpolación lineal N-dimensional basado en

la estimación de un punto que pasa por cierto plano o hiperplano. Enseguida se muestra un

pseudocódigo para realizar la interpolación lineal en cualquier dimensión, en este caso, se

considera como dimensión a interpolar la última coordenada. Por ejemplo, como se ve en la

figura 4.9, si se asume un espacio de 3 dimensiones, se tienen tres coordenadas , en

este caso el valor a estimar será el valor de , pero se requiere tener los valores de y para

poder interpolar .

4.3.1 Pseudocódigo

1. Obtener los puntos que definen el plano o el hiperplano y los valores de las

coordenadas necesarias para poder estimar el valor de la coordenada a interpolar.

2. Al tener los puntos, se obtienen los números directores.

3. Con los números directores se obtienen los números directores del vector normal

aplicando el producto punto.

4. Con lo anterior se obtiene la ecuación del plano o hiperplano, donde implícitamente se

obtiene la constante .

5. Finalmente se despeja la ecuación en término de la última coordenada.

El pseudocódigo anterior está diseñado para funcionar junto con el algoritmo K-vecinos, que

se encarga de proporcionar los puntos vecinos que se requieren para obtener el plano o

hiperplano. Juntos estos dos algoritmos son utilizados en el capítulo 5 donde se presentan las

pruebas realizadas con simulaciones de identificación y control de sistemas dinámicos.

4.4 Teselación de Delaunay (N-D)

Uno de los objetivos de esta tesis fue el analizar algún algoritmo que describiera la

forma de un conjunto en el espacio N-dimensional. Durante la búsqueda en la literatura se

encontró que unas de las formas más utilizadas, es la reconstrucción basada en complejos

simpliciales.

A continuación se exponen algunos conceptos requeridos en esta sección.

Simplejos

Los simplejos son los análogos a los triángulos en otras dimensiones, y son los objetos con los

cuales se trabaja en homología. Es decir, un r-simplejo es un objeto r-dimensional en algún

espacio .

Page 51: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

37

Definición 1. Formalmente un r-simplejo es un conjunto , donde

(4.4)

Un 0-simplejo (P0) es un punto o vértice que será denotado ver figura 4.10.

• P0

Figura 4.10 Un 0-simplejo es análogo

a un punto en el espacio.

Un 1-simplejo (P0P1) es una línea o eje, que va desde el punto P0 hasta el punto P1, se denota

por , ver figura 4.11.

P0 P1

Figura 4.11 Un 1-Simplejo es análogo a una arista que une a dos puntos.

Un 2-simplejo (P0P1P2) es un triángulo con su interior, considerado con la orientación

contraria a las manecillas del reloj, es denotado por ver figura 4.12.

P1 P2

P0 Figura 4.12 Un 2-simplejo es análogo a un

triángulo en el plano.

Un 3-simplejo (P0P1P2P3) es un tetraedro sólido, denotado por ver figura 4.13.

P0

P3 P1

P2 Figura 4.13 Un 3-simplejo es análogo a un tetraedro, una estructura que forma una pirámide en el espacio.

Se define de forma natural las caras de un r-simplejo como aquellos simplejos de menor

dimensión, es decir, los s-simplejos (0 ≤ s ≤ r) que lo conforman. Esta relación (ser cara de) se

denota como , por ejemplo , o de forma menos convencional (P0) ≤ (P0P1).

También se nota que (P0P1) = −(P1P0).

Page 52: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

38

Complejos simpliciales

Definición 2. Un Complejo Simplicial K, es un conjunto finito de simplejos en que

satisface:

1. Una cara arbitraria de un simplejo de K, pertenece a K, es decir, si

entonces .

2. Si y entonces , ó y

Por definición, la dimensión de un complejo simplicial K será la dimensión del mayor

simplejo que pertenezca a K. A continuación se despliega un ejemplo en la figura 4.14 que no

satisface la definición de complejo simplicial y en la figura 4.15 un ejemplo que si la satisface

[Muñoz,1990].

P0

P3

P2 P1

P4 Figura 4.14 No representa un complejo simplicial.

P0

P1 P2

P3

Figura 4.15 Si representa un complejo simplicial.

En la figura 4.16 se muestra más ejemplos de los simplejos.

0-simplejo 1-simplejo 2-simplejo 3-simplejo

Figura 4.16 Ejemplos de simplejos de dimensiones 0 a 3.

Page 53: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

39

El algoritmo de reconstrucción que se eligió es el algoritmo -shapes por ser muy citado en el

área de topología computacional para obtener una aproximación de la estructura del espacio.

Este algoritmo utiliza como base, en caso del espacio de 3-dimensiones, a la triangulación de

Delaunay. Es por ello que en este capítulo se presenta una variante de ésta. En particular, en

CENIDET se ha trabajado con proyectos que utilizan espacios N-dimensionales, se eligió un

algoritmo que es capaz de obtener un complejo simplicial con las propiedades de Delaunay.

Este tipo de complejo se le llama teselación de Delaunay la cual puede consultarse en

[Watson,1981].

Figura 4.17 Triangulación de Delaunay

de un conjunto en el plano.

La teselación de Delaunay, en un espacio de 3-dimensiones, es un conjunto rellenado de

tetraedros y se puede pensar como una particular triangulación en el espacio 3-dimensional.

En el espacio de 2-dimensiones es un arreglo de triángulos, como se ve en la figura 4.17.

4.4.1 La estructura de Delaunay

Los puntos de una teselación de Delaunay yacen en los vértices de los tetraedros en el

espacio 3-dimensional. Los cuatro vértices de cada tetraedro yacen sobre la superficie de una

esfera y ningún otro vértice del conjunto de puntos se encuentra dentro de esa esfera.

Esta descripción para el espacio de 3-dimensiones se puede extender fácilmente al espacio N-

dimensional. Así el tetraedro, o también conocido como 3-simplejo, se vuelve un -simplejo.

De igual manera, vértices de cada -simplejo yacerán sobre la superficie -

dimensional de una hiperesfera N-dimensional. El centro de esa hiperesfera es el circuncentro

de los vértices del -simplejo [Watson,1981].

Existen varios problemas al tratar con las teselaciones, uno es la existencia de puntos

colineales y otro es que los puntos no se encuentren en posición general, esto es, que varios

puntos se encuentren sobre una misma superficie de una hiperesfera. Por ejemplo, en el caso

de un 2-simplejo en un plano, se supone que debe pasar un sólo círculo sobre esos tres

vértices, pero es posible que sobre esa superficie del círculo se encuentren otros puntos, con lo

que la teselación de Delaunay no va ser única. Una estrategia es utilizar un algoritmo llamado

SoS (Simulation of Simplicity, por sus siglas en inglés) [Edelsbrunner y Mücke,1990], el cual

perturba un poco los datos de tal manera que los puntos puedan quedar en posición general, y

así obtener una teselación única.

Page 54: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

40

4.4.2 Diagrama de flujo del algoritmo

El diagrama de flujo de la figura 4.18 es la manera general en cómo se puede calcular

una teselación de Delaunay N-dimensional.

Figura 4.18 Diagrama de flujo del algoritmo de teselación de Delaunay.

¿El punto está adentro

de la circunesfera de

algún n-simplejo?

Obtener puntos

Crear un n-simplejo

arbitrario que cubra todos los puntos

Obtener uno de los

puntos encerrados por el

n-simplejo

Descomponer los n-simplejos encontrados

Calcular nuevos n-simplejos con cincunesferas vacías

Tomar un nuevo punto

¿Está algunos de los

puntos actuales dentro

de las circunesferas

nuevas?

No

No

¿Aún hay puntos

que recorrer?

No

Page 55: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

41

4.5 -shapes (N-D)

Como se mencionó en la sección anterior, en esta tesis se buscó un algoritmo

topológico que aproximara la forma de un conjunto en el espacio N-dimensional. El algoritmo

alpha shapes es muy utilizado en el ámbito de la topología computacional, ya que describe la

forma de un conjunto de puntos. Esta descripción es por medio de conexiones de aristas que

forman simplejos. Esto es muy conveniente para los propósitos de esta tesis, porque en el área

de I.A. frecuentemente se trabaja con puntos en un espacio N-dimensional, en los cuales un

investigador no es capaz de entender sus características si no cuenta con alguna herramienta

que le permita analizar estos puntos.

En los artículos considerados para la implementación del algoritmo sólo se muestran ejemplos

en espacios de 3-dimensiones, pero según los autores es generalizable. En este trabajo se logró

la implementación a espacios N-dimensionales, considerando que al aumentar N es mayor el

costo computacional.

En [Fisher,2000] el algoritmo alpha shapes (de aquí en adelante algoritmo -shapes) es

explicado de manera intuitiva: imagine una gran bola de nieve que análogamente represente al

espacio y que contiene los puntos que se representan como piezas de chocolate duras.

Utilizando las esferas formadas por los utensilios para servir la nieve, imagine que con este

utensilio se escarba todas las partes de los bloques de nieve donde se alcance sin topar con

piezas de chocolate adentro del utensilio, de ese modo imagine que también es posible

escarbar por adentro formando huecos. Terminará eventualmente con algún objeto (no

necesariamente convexo) limitado por arcos y puntos. Si se convierte todo ese objeto al

contexto geométrico formado de caras de triángulos y segmentos de líneas, se tendrá una

descripción intuitiva de lo que es llamado -shapes de .

¿Cuál es el rol del valor de ? pensar en como el radio del utensilio para escarbar. Un valor

muy pequeño de permite comerse toda la nieve excepto los puntos de chocolate . De esta

manera se observa que el -shapes de genera al conjunto de puntos cuando . Por

otro lado, un valor enorme de impedirá mover el utensilio entre dos puntos ya que éste es

muy grande. Por lo tanto el utensilio nunca alcanzará a entrar en la concha convexa de , y así,

el -shapes para será siempre la concha convexa de [Fisher,2000].

En este trabajo se asume que los puntos se encuentran en posición general. Posición general

en este contexto significa que 4 puntos no yacen sobre la superficie de un círculo en el plano,

5 puntos no yacen sobre la superficie de una esfera en el espacio, y así sucesivamente. Si los

puntos no se encuentran en posición general incita a que la teselación de Delaunay no sea

única. Para solucionar esto, existe una técnica llamada SoS presentado en [Edelsbrunner y

Mücke,1990], la cual se presenta como trabajo futuro.

A continuación se presentan algunos conceptos necesarios para apoyar al lector a

familiarizarse con los términos y contexto de este algoritmo. Es necesario entender los

conceptos de la sección anterior, donde se expone la noción de simplejos y complejos

simpliciales.

Page 56: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

42

Politopo

En geometría politopo significa, en la definición de [Wiki01], la generalización a

cualquier dimensión de un polígono bidimensional, y un poliedro tridimensional. Además, este

término es utilizado en varios conceptos matemáticos relacionados. Su uso es análogo al

cuadrado, que puede usarse para referirse a una región del plano de forma cuadrada, o sólo

para sus límites, o aún para una mera lista de sus vértices y lados junto con información acerca

de la forma en que están conectados. Ver figura 4.19 para ejemplos de politopos.

Una clase especial de politopos son los convexos, el casco convexo o envoltura convexa de un

conjunto finito de puntos. Los politopos convexos también pueden representarse como la

intersección de hiperplanos.

Figura 4.19 A la izquierda un politopo en el plano y a la

derecha un politopo en el espacio.

A continuación se presentan algunas definiciones formales del algoritmo.

4.5.1 Definiciones teóricas del algoritmo

Definición 3. Para cada con , el politopo = conv tiene

exactamente dimensión resultando un -simplejo. De aquí en adelante cuando se hable sobre

un -simplejo, se hará referencia a un -simplejo para algún tal que

[Fisher,2000].

Para , sea un -bola una bola abierta con radio . Una -bola es un punto y una -

bola es un semiespacio abierto. Ahora, una -bola (en algún lugar dado) es llamado vacía si

donde es un conjunto de puntos en el espacio y “ ” es la operación diferencia.

Con esto, un -simplejo se dice estar -expuesto si existe una -bola vacía con

donde es la superficie de la esfera (para ) o el círculo (para ) que rodea a

[Fisher,2000].

En la figura 4.20 se ve un ejemplo de un simplejo -expuesto (una línea de segmento) para el

caso de .

Page 57: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

43

Figura 4.20 Simplejo -expuesto y no -expuesto.

(Imagen tomada de [Fisher,2000])

Definición 4. La frontera del -shapes del conjunto de puntos consta de todos los -

simplejos de para los cuales son -expuestos, ver ecuación (4.5).

(4.5)

4.5.2 Alpha complex

En esta sección se introduce una estructura conocida como alpha complex (de aquí en

adelante -complex), que puede ser utilizada para calcular el -shapes. Ayuda en mostrar que

existe un politopo el cual tiene el conjunto en su frontera.

Para calcular el -shapes (esto es, la frontera que forma un conjunto de puntos) para un valor

dado de se puede proceder como se explica a continuación. Ya que basta

inspeccionar todos los simplejos de , donde equivale a la teselación de Delaunay

de .

El algoritmo en general, en vez de calcular directamente formando circunferencias por

todo el espacio, primero calcula una estructura llamada -complex.

Definición 5. Sea conv un -simplejo, que se extiende sobre los vértices de

. Se establece:

Los radios de la circunesferas de .

Los centros de la circunesferas de .

donde la circunesfera es simplemente el gran círculo en el caso de .

Definición 6. Para un conjunto de puntos dados y 0 , el -complex de

es el siguiente subcomplejo simplicial de . Un simplejo está en si:

y la -bola localizada en es vacía, o

es una cara de otro simplejo en .

Simplejo -expuesto Simplejo no -expuesto

Page 58: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

44

4.5.3 Pseudocódigo de Edelsbrunner para calcular el -shapes

Primero que nada, el algoritmo no ejecuta un simple valor de sino calcula una

representación implícita, la cual puede ser utilizado para deducir el para cualquier valor de

. De manera más precisa, el algoritmo calcula para cada simplejo un intervalo

con la interpretación de que sí y sólo sí .

Cuando se incrementa continuamente desde 0 hacia el y si se considera un simplejo

, se observa que existen dos intervalos y con tal que:

A continuación se presenta el algoritmo de Edelsbrunner:

Aquí hay que entender que el resultado del algoritmo -shapes puede ser un politopo el cual

es un subconjunto de la teselación de Delaunay. Lo que también se debe tomar en cuenta, es

que siempre un simplejo (donde ) va a formar la frontera. Por ejemplo, en un

plano se pueden formar triángulos ( -simplejos, donde ), pero si se baja una

unidad a la dimensión ( simplejos) se obtiene la frontera.

Page 59: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

45

Figura 4.21 Triangulación en el plano.

Una manera de interpretar lo anterior es mediante la figura 4.21, mostrando que no se puede

obtener una frontera con -simplejos donde , debido a que éstos no pueden describir las

fronteras, sin embargo, si se tienen simplejos es posible obtener la descripción de las

fronteras. Lo mismo pasa en otras dimensiones, si donde , aquí el espacio está en

tres dimensiones, por lo tanto los -simplejos forman tetraedros, pero estos simplejos no

describen la frontera, porque para obtener las fronteras se necesitan sólo las caras de los

tetraedros. Así que para obtener las caras hay que disminuir la dimensión de una unidad para

obtener las caras.

4.6 Inclusión en forma no convexa (N-D)

En esta sección se presenta un algoritmo que se diseñó e implementó durante este

trabajo para detectar si un punto se localiza en el interior de una forma (no necesariamente

convexa) que construye el algoritmo -shapes. El algoritmo de inclusión en forma no convexa

se diseñó con el propósito de identificar el traslape de conjuntos de puntos N-dimensionales.

Este trabajo se propone para solucionar problemas de I.A., en particular, en la identificación

de traslape en los datos de entrenamiento de [López,2008]. En la figura 4.22 se muestra un

ejemplo de la gráfica que resultó al utilizar uno de los datos de entrenamiento.

Figura 4.22 Ejemplo de traslape en los componentes RGB.

Page 60: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

46

El algoritmo se basa en la convexidad de los simplejos la cual está formalizada en la

ecuación (4.6):

(4.6)

donde representa al simplejo, las coordenadas del punto a evaluar, son los coeficientes

de la combinación lineal, las coordenadas de los puntos del simplejo, la dimensionalidad

del espacio donde se encuentra simplejo.

El algoritmo -shapes puede regresar el -complex, esto es la frontera pero rellenada de

simplejos. Esto significa que al estar la frontera rellena de simplejos en algún espacio, se

puede buscar simplejo por simplejo para averiguar si un punto dado se encuentra dentro de

alguno de éstos simplejos. Si se encuentra en algún simplejo, quiere decir que el punto está

dentro de la frontera, en caso contrario, no lo está.

Con esto se construyó el algoritmo de inclusión en forma no convexa, para conocer si un

punto se incluye dentro de una forma rellenada de simplejos o no. El algoritmo asume que se

tiene la forma de algún conjunto de puntos rellenado con simplejos.

A continuación se explicará el algoritmo en cuatro pasos a manera de ejercicio.

Figura 4.23 Un 2-simplejo del plano.

En la figura 4.23 se muestra un plano con un 2-simplejo formado por los puntos

y y los puntos de color naranja y rojo , están adentro y

afuera respectivamente del 2-simplejo.

A

B

C

Page 61: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

47

Paso 1

Lo primero es tomar un punto de los que forman el simplejo como origen, para

obtener los vectores de dirección. En este caso se tomará al punto como

origen.

Paso 2

Enseguida se obtienen los vectores a partir del origen. Al estar en el plano

resultará y . En este caso

como se va a demostrar el método con los puntos y , también se

tiene que obtener el vector con respecto al origen de cada uno de ellos. A éstos

vectores se le nombrará y , los cuales tendrán los siguientes valores

y . Por lo tanto el valor de cada

vector será:

Paso 3

Como ya se tienen los valores en el espacio vectorial se procede a desarrollar las

operaciones necesarias utilizando la ecuación (4.6). Primero se demostrará que el

punto está dentro del simplejo. Para eso es necesario sustituir los valores de

los vectores en la ecuación (4.6).

Según la ecuación (4.6) primero se debe verificar que los valores de las

coordenadas de los vectores y cumplen con . Con eso se tiene que el

vector (0 sí cumple y que el vector ( .

Ahora se pasa a verificar se cumpla, por lo tanto se tiene:

Paso 4

Mediante el método de Gauss-Jordan se buscan los valores de los coeficientes y

de ambos sistemas de ecuaciones donde se obtendrán los siguientes resultados:

En 1. Se tienen que y , por lo tanto, se cumple que

, y con esto se concluye que el punto se encuentra dentro

del simplejo.

En 2. Se tienen que y , por lo tanto, no se cumple que

, y con esto se concluye que el punto no se encuentra

dentro del simplejo.

1.

2.

Page 62: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Algoritmos Capítulo 4

48

Este mismo enfoque es el utilizado en el algoritmo de inclusión de forma no

convexa, con la diferencia que recorre todos los simplejos que forme el algoritmo

-shapes mediante la estructura -complex.

4.7 Componentes conexas basado en el MST (N-D)

El objetivo de analizar e implementar este algoritmo fue estudiar en qué podría

beneficiar para los propósitos de este trabajo. Este algoritmo utiliza el MST (minimum

spanning tree por sus siglas en ingles) para conectar todo el conjunto de puntos mediante un

árbol de coste mínimo.

Este algoritmo proporciona información sobre algunas propiedades topológicas del espacio,

con las cuales se pueden deducir si un conjunto de puntos están conectados, tienen un número

de componentes conectados, totalmente desconectados y puntos aislados [Robins,1997].

Utiliza una técnica de resolución variable. Esta técnica maneja un valor de que es utilizado

para ir eliminando las aristas formadas por el árbol de expansión mínima que tengan distancia

mayor que . De esta manera se van desconectado aristas y formando componentes separados,

o también puede ser visto como subárboles.

Con el propósito de hacer eficiente la construcción del MST, se propone en [Robins,1999]

utilizar la triangulación de Delaunay, para no tener que recorrer cada punto contra todos. En

este caso se utilizó la teselación de Delaunay ya que trabaja en espacios N-dimensionales. En

la figura 4.24 se observa el comportamiento del MST cuando se eliminan aristas mientras el

valor de se va haciendo más pequeño.

Figura 4.24 (a) Espacio de puntos. (b) MST del espacio de puntos.

(c) Dos componentes formados al eliminar aristas mayores dado algún valor de .

(d) Tres componentes y dos puntos aislados formados por algún valor de .

Al analizar el algoritmo se llegó a la conclusión de que éste no es una herramienta que pueda

apoyar a el propósito de detectar traslape de conjuntos de puntos, por su manera de conectar el

(a) (b)

(c) (d)

Page 63: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 4 Algoritmos

49

espacio. Pero se deja disponible para posibles aplicaciones en las que sí pueda aportar

información a algún tema de investigación futuro.

A continuación se presenta un pseudocódigo general de los pasos del algoritmo.

Paso 1

Obtener el conjunto de puntos a evaluar y calcular la teselación de Delaunay a

éstos para conectar todo el espacio.

Paso 2

Calcular el MST para obtener un árbol de expansión mínima con un menor coste

basado en la distancia euclidiana.

Paso 3

Dado un valor de eliminar las aristas del MST que tengan distancia mayor a este

valor.

Paso 4

Contar las componentes conexas, puntos aislados que quedan al aplicar el paso 3.

Si se desea ir a otra resolución volver al paso 3.

4.8 Conclusión

Estos algoritmos fueron seleccionados después de examinar en la literatura métodos

para detectar estructuras en los datos. El algoritmo componente conexas en espacios digitales,

es capaz de detectar componentes conexas mediante etiquetamiento, éste fue implementado

para estudiar su funcionamiento. La teselación de Delaunay fue seleccionada debido a su

generalización a espacios N-dimensionales, además de construir los simplejos lo más regulares

posibles, lo cual asegura que los vecinos de un punto sean los más próximos. -shapes fue sin

lugar a dudas el algoritmo que mejor se apegó a las necesidades de este trabajo, después de

analizar la literatura, éste puede reconstruir los datos en espacios continuos aplicando la

técnica de resolución variable.

El algoritmo inclusión en forma no convexa se diseño para identificar traslape, y utiliza como

entrada la salida de -shapes, la cual es la forma del conjunto de datos en términos de vértices

y aristas. El algoritmo componentes conexas basado en el MST, a pesar de detectar

componentes conexas en espacios continuos, no fue útil para el problema planteado, debido a

que no reconstruye la forma del conjunto de datos.

Los algoritmos K-vecinos y interpolación lineal fueron diseñados para conocer sus

capacidades para identificar y controlar algunos sistemas dinámicos.

Page 64: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

50

Page 65: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

51

Capítulo 5

Aplicaciones

En este capítulo se presentan las aplicaciones de los algoritmos para esta tesis. El

objetivo principal es trabajar en las áreas de inspección visual y control inteligente. En

inspección visual se utilizó el algoritmo -shapes junto con el algoritmo de inclusión en forma

no convexa para probar que se puede detectar traslape entre conjuntos de puntos N-

dimensionales. En control inteligente se probó el algoritmo K-vecinos y el algoritmo de

interpolación lineal para la identificación y control de algunos sistemas dinámicos. El

algoritmo -shapes es utilizado para visualizar datos de entrenamiento, con el propósito de

detectar huecos en ellos.

El capítulo se organiza en las siguientes secciones:

En la sección 5.1 se aplica al algoritmo -shapes para modelar objetos 3D dado un conjunto de

puntos.

En la sección 5.2 se demuestra mediante pruebas, que el algoritmo -shapes junto con el

algoritmo de inclusión en forma no convexa, funcionan adecuadamente para detectar traslape

en los datos de inspección visual de [López,2008].

En la sección 5.3 se presentan las simulaciones de identificación y control de algunos sistemas

dinámicos probados con los algoritmos K-vecinos e interpolación lineal. En donde se muestra

que con pocos datos y sin etapa de entrenamiento se pueden identificar y controlar algunos

sistemas dinámicos lineales y no lineales.

Page 66: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

52

5.1 Aplicación del algoritmo -shapes para reconstrucción de formas

En CENIDET existen trabajos relacionados con la reconstrucción de formas 3D como

en la tesis [Cervantes,2007], donde se utilizan métodos de triangulación y de snakes para

reconstruir algunas figuras geométricas. El algoritmo -shapes también es útil para reconstruir

formas dado un conjunto de puntos sobre el espacio N-dimensional variando el valor de

hasta que se adecue de mejor manera. Aunque no fue el objetivo de esta tesis, se presenta este

enfoque con la visión de tener más herramientas en el área de modelado 3D.

5.1.1 Reconstrucción del conejo de Stanford en 2D con 1000 puntos

Para modelar la forma del conejo 2D se utilizó un conjunto de 1000 puntos, con éstos

se calcula el -shapes para ir obteniendo aproximaciones de las formas hasta que se encuentra

la adecuada. El conjunto se encuentra normalizado entre -1 y 1 como se muestra en la figura

5.1 y fue tomado de un repositorio 3D en [Stanford,2008].

Figura 5.1 Conejo de Stanford de 1000 puntos en 2D.

Para obtener la forma del conejo utilizando el algoritmo -shapes, se debe proporcionar los

valores de y ejecutar el algoritmo, hasta que se encuentre el mejor valor de aproximen la

frontera del conejo.

Page 67: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

53

Figura 5.2 (a) Reconstrucción aplicando (b) Reconstrucción aplicando .

(c) Reconstrucción aplicando . (d) Reconstrucción aplicando .

Como se muestra en la figura 5.2 la mejor aproximación al conejo se da con un , si

se disminuye el valor de se empezará a formar hoyos dentro del conejo. Es conveniente

indicar que un valor de muy alto resultará la concha convexa del conjunto de datos, como se

percibe en (a) de la figura 5.2. También se puede obtener el -complex de la figura, el cual es

el espacio relleno de simplejos donde su frontera es equivalente al -shapes, ver figura 5.3.

Figura 5.3 Estructura -complex obtenida al calcular .

Con esto se concluye que el algoritmo -shapes es útil para aproximar formas 2D.

(a) (b)

(c) (d)

Page 68: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

54

5.1.2 Reconstrucción del conejo de Stanford en 3D con 3595 puntos

La reconstrucción de objetos 3D a partir de puntos es un área que tiene un sin fin de

aplicaciones y desafíos, como por ejemplo, dotar a estos objetos de movimientos, rotaciones,

escalados, etc. así como también trabajar con objetos deformables, entre otros. Aquí se

presenta al algoritmo -shapes como reconstructor de formas de puntos fijos en el espacio.

Esta herramienta se propone para que sea utilizada en trabajos futuros en el área de modelado

3D.

Figura 5.4 (a) Reconstrucción aplicando . (b) Reconstrucción aplicando .

(c) Reconstrucción aplicando . (d) Reconstrucción aplicando .

En la figura 5.4 se observa que el mejor valor de para obtener la forma de los puntos es de

, si se proporciona un valor más bajo, se empezarán a formar túneles o cavidades

como muestra en la figura 5.5 en (a). Por otro lado, si se proporciona un valor muy grande se

tendrá la concha convexa, como en el caso de la figura 5.5 en (b) donde .

(a) (b)

(c) (d)

Page 69: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

55

Figura 5.5 (a) Reconstrucción aplicando que contiene huecos o cavidades.

(b) Reconstrucción aplicando que muestra la concha convexa del conjunto.

Como conclusión, el algoritmo -shapes es bueno para modelar objetos 3D, su principal

inconveniente es que se requiere interactuar con el valor de hasta que se alcance la mejor

aproximación de la forma, dejando la decisión al usuario, además de requerir optimizar

algunas rutinas para obtener resultados más eficientes. Aún así es una herramienta muy buena

para el área por su generalización a N-dimensiones.

Puede tener algunas aplicaciones en el área de I.A., por ejemplo, en la reconstrucción de

escenas naturales con el propósito de identificar obstáculos para un robot móvil, y así poder

proporcionarle autonomía [Sáez,2001]. Obtener estructuras topológicas de los descriptores

para conocer la tendencia de los datos. También en el área de bioinformática para identificar la

forma y las cavidades de proteínas [Liang,1998].

5.2 Aplicación de los algoritmos -shapes y inclusión de forma no convexa

para identificar traslape en conjuntos de puntos en el espacio N-dimensional

La meta principal de este trabajo es conocer si los conjuntos de entrenamiento de

[López,2008] se traslapan, con el propósito de tener mejor conocimiento de las estructuras que

forman los puntos, y permitir tomar decisiones de elegir o complementar al conjunto de datos

de entrenamiento que mejor pueda describir a un objeto, para pasarlo al clasificador del

sistema de inspección visual (algoritmo de Nomura [Nomura,1992]). La ventaja de la

implementación -shapes es que trabaja con datos numéricos y además de alta

dimensionalidad, de tal manera puede utilizarse en otras áreas como en física, química,

bioinformática, modelado 3D, entre otros.

En esta sección se utilizaron los algoritmos -shapes y inclusión en forma no convexa como

herramientas de análisis de conjuntos de datos en espacios N-dimensionales, específicamente

para detectar traslape entre estos tipos de conjuntos. Las pruebas se realizaron a los conjuntos

de entrenamiento utilizados en la tesis [López,2008] para analizar el porcentaje de traslape

entre los conjuntos de puntos que representa la clase de piel sana y otro que representa la clase

de piel defectuosa. Los conjuntos de entrenamiento probados fueron los siguientes (para

mayor detalle consultar [López, 2008]):

(a) (b)

Page 70: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

56

a) Conjunto de entrenamiento 1, utiliza directamente las componentes RGB de

las clases de piel sana y defectuosa.

b) Conjunto de entrenamiento 2.

b.1) Utiliza directamente las componentes RGB pero solamente considerando

los bordes de las clases de piel sana y defectuosa.

b.2) Utiliza directamente las componentes RGB pero sólo de los centros de las

clases de la piel sana y defectuosa.

c) Conjunto de entrenamiento 3, utiliza las componentes RGB normalizadas de

las clases de piel sana y defectuosa.

d) Conjunto de entrenamiento 4, utiliza las componentes RGB y la componente I

que representa la intensidad, lo que vuelve al problema en N-dimensional.

e) Conjunto de entrenamiento 5, utiliza las componentes RGB y la componente I

que representa la intensidad regional obtenida mediante el promedio de la

intensidad de los 4 puntos cardinales utilizando una máscara de 20x20.

Para detectar el traslape, primero se deben conocer las clases. En este trabajo, sólo se utilizan

dos clases, las cuales son de piel sana y defectuosa respectivamente. Después se requiere

calcular el -shapes de cada conjunto para obtener sus formas. Por último, se utiliza el

algoritmo de inclusión en forma no convexa para verificar qué puntos yacen en el interior de

cualquiera de las formas. Por ejemplo, si se tiene cargada la forma del conjunto que pertenece

a la clase de piel sana, entonces se utilizan los puntos del conjunto de piel defectuosa para

calcular el número de puntos que se encuentran en el interior de la forma de la piel sana. Este

procedimiento se puede realizar en viceversa. Al terminar este proceso, se presentan los

resultados obtenidos, donde se muestra el porcentaje y el número de puntos interiores y

exteriores a la forma, además de presentar el tiempo de procesamiento.

En las siguientes secciones se presentarán las pruebas realizadas a los diferentes conjuntos de

entrenamiento. Todas las pruebas siguen la misma metodología, así que se resumirá para

evitar redundancia en cada sección.

a) Obtener formas de las clases sana y defectuosa. Para averiguar el porcentaje de

traslape entre las clases de piel sana y defectuosa, es necesario obtener las formas

de las clases de piel sana y defectuosa utilizando el algoritmo -shapes. Las

formas son visualizadas en gráficas en caso de conjuntos de 3-dimensiones, si son

más dimensiones sólo se muestra una tabla.

b) Calcular traslape mediante el algoritmo de inclusión en forma no convexa. La

clase sana es utilizada para averiguar qué puntos de la clase defectuosa yacen en su

interior. En una tabla se muestran los porcentajes, cantidad de puntos y tiempo de

ejecución del proceso.

Page 71: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

57

c) Calcular la forma del traslape con el algoritmo -shapes. Para fines de

visualización, se muestran en una figura dos gráficas, una representa la forma del

traslape y la otra las formas de las clases sana (verde) y defectuosa (rojo) junto con

el traslape (amarillo). En el caso de conjuntos de más de 3 dimensiones, sólo se

muestra una tabla.

d) Parámetros y resultados. Por último se muestra una tabla con los parámetros y

resultados devueltos por el algoritmo -shapes al calcular las formas de las clases

sana y defectuosa así como también la forma del traslape.

En cada caso se concluyen los resultados que se obtuvieron.

5.2.1 Detección de traslape en las componentes RGB

a) Obtener formas de las clases sana y defectuosa

El conjunto de entrenamiento utilizado contiene 3,898 puntos para la clase de piel sana

y 2,892 puntos para la clase de piel defectuosa. Por motivos de tiempo de procesamiento se

seleccionaron valores en cada tercer punto. Por lo tanto, el total de puntos considerados fue de

1,300 para la primera clase y 964 para la segunda clase respectivamente.

Figura 5.6 (a) Forma clase piel sana utilizando =15, (b) Forma clase piel mala utilizando =25.

Utilizando el conjunto RGB.

En la figura 5.6 en (a) se muestra la forma del conjunto perteneciente a la piel sana la cual se

logró obtener con un valor de =15. La forma en (b) se aproximó utilizando .

(a) (b)

Page 72: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

58

b) Calcular traslape mediante el algoritmo de inclusión en forma no convexa

El cálculo del traslape en este conjunto se muestra en la tabla 5.1.

Tabla 5.1 Resultado del algoritmo de inclusión en forma no convexa para RGB.

Cantidad Porcentaje

Puntos interiores (traslapados) 548 56.8465%

Puntos exteriores 416 43.1535%

Tiempo en segundos 2,401.032

c) Calcular la forma del traslape con el algoritmo -shapes

Obtenidos los puntos que representan al traslape, se obtiene la forma, la cual se

muestra en la parte (a) de la figura 5.7. En la parte (b) de la figura 5.7 se muestra las clases

sana y defectuosa en color verde y rojo respectivamente con su traslape en amarillo.

Figura 5.7 (a) Forma del conjunto RGB considerados como traslape. (b) Formas de las clases sana (verde) y defectuosa (rojo) con el traslape (amarillo).

d) Parámetros y resultados

En la tabla 5.2 se muestran los parámetros y valores que resultaron cuando se calculó la

forma con el algoritmo -shapes.

(a) (b)

Page 73: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

59

Tabla 5.2 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para cada clase, incluyendo traslape del conjunto RGB.

Piel sana Piel

defectuosa Traslape

Número de puntos 1,300 964 548

Número de dimensiones 3 3 3

Mín. Máx. Mín. Máx. Mín. Máx.

Dimensión A 50 255 60 235 60 235

Dimensión B 55 235 0 185 65 185

Dimensión C 0 145 0 120 0 115

Valor de 15 25 20

Número de puntos del -shapes 504 251 249

Número de simplejos del -shapes 894 447 456

Número de puntos del -complex 1,300 964 548

Número de simplejos del -complex 6,445 4,856 2,481

Tiempo en segundos 402.701 181.546 85.184

Observaciones

Con estos resultados se concluye que el porcentaje de traslape es del 56.8465%. Una

implementación con estos conjuntos podría no ofrecer buenos resultados. Puede provocar que

algún clasificador tenga una zona con un porcentaje alto de incertidumbre. Por lo tanto, los

conjuntos de entrenamiento no describen completamente a las clases objetivo (piel sana y

defectuosa) y se deben buscar otros descriptores.

5.2.2 Detección de traslape en las componentes RGB, tomando sólo los

píxeles de los bordes de las manzanas

a) Obtener formas de las clases sana y defectuosa

El conjunto de entrenamiento utilizado contiene 3,365 puntos para la clase de piel sana

y 2,151 puntos para la clase de piel defectuosa. Por lo mismos motivos anteriores, se

seleccionaron valores en cada tercer punto de la primera clase y cada segundo punto en la

segunda clase. Por lo tanto, el total de puntos considerados fue de 1,122 para la primera clase

y 1,076 para la segunda clase respectivamente.

Page 74: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

60

Figura 5.8 (a) Forma clase piel sana utilizando =60. (b) Forma clase piel mala utilizando =60.

Utilizando el conjunto RGB de los bordes.

En la figura 5.8 las formas de los conjuntos de piel sana en (a) y defectuosa en (b) se

alcanzaron con un .

b) Calcular traslape mediante el algoritmo de inclusión en forma no convexa

En la tabla 5.3 se observa que la cantidad de traslape en este conjunto es más alto que

en caso anterior.

Tabla 5.3 Resultado del algoritmo de inclusión en forma no convexa

con el RGB utilizando bordes.

Cantidad Porcentaje

Puntos interiores (traslapados) 504 44.9198%

Puntos exteriores 618 55.0802%

Tiempo en segundos 2,573.629

c) Calcular la forma del traslape con el algoritmo -shapes

Obtenido los puntos que representan al traslape que en este caso son 504, se obtiene su

forma, la cual se muestra en la parte (a) de la figura 5.9. En la parte (b) de la figura 5.9 se

muestra las clases sana y defectuosa en color verde y rojo respectivamente con su traslape en

amarillo.

(a) (b)

Page 75: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

61

Figura 5.9 (a) Forma del conjunto de puntos considerados como traslape.

(b) Formas de las clases sana (verde) y defectuosa (rojo) con el traslape (amarillo). Utilizando el conjunto RGB de los bordes.

d) Parámetros y resultados

En la tabla 5.4 se muestran los parámetros y valores que resultaron al calcular las

formas con el algoritmo -shapes.

Tabla 5.4 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para cada clase del conjunto RGB de los bordes.

Piel sana Piel

defectuosa Traslape

Número de puntos 1,122 1,076 504

Número de dimensiones 3 3 3

Mín. Máx. Mín. Máx. Mín. Máx.

Dimensión A 45 250 50 215 55 205

Dimensión B 55 220 0 165 60 160

Dimensión C 0 140 0 115 0 115

Valor de 60 60 20

Número de puntos del -shapes 204 135 226

Número de simplejos del -shapes 347 227 414

Número de puntos del -complex 1,122 1,076 504

Número de simplejos del -complex 6,105 5,804 2,319

Tiempo en segundos 332.985 414.37 92.729

Observaciones

El porcentaje de traslape de 44.9198% sigue siendo alto, por lo tanto, al igual que el

caso anterior, este porcentaje provoca que el clasificador tenga una zona con alto grado de

incertidumbre.

(a) (b)

Page 76: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

62

5.2.3 Detección de traslape en las componentes RGB, tomando sólo los

píxeles de los centros de las manzanas

a) Obtener formas de las clases sana y defectuosa

Para esta prueba se utilizaron 1,140 puntos para la primera clase y 1,038 para la

segunda clase. No hubo discretización de puntos, porque el algoritmo -shapes ejecuta estas

cantidades en tiempo considerable.

Figura 5.10 (a) Forma clase piel sana utilizando =160. (b) Forma clase piel mala utilizando =30.

Utilizando el conjunto RGB de los centros.

La mejor forma de la clase de piel sana, se obtuvo con un como se observa en (a) de

la figura 5.10. En (b) se muestra la utilizando

b) Calcular traslape mediante el algoritmo de inclusión en forma no convexa

En la tabla 5.5 se observa que la cantidad de traslape en este conjunto es más alto que

en caso anterior.

Tabla 5.5 Resultado del algoritmo de inclusión en forma no convexa

con RGB de los centros.

Cantidad Porcentaje

Puntos interiores (traslapados) 411 39.5954%

Puntos exteriores 627 60.4046%

Tiempo en segundos 2,302.881

c) Calcular la forma del traslape con el algoritmo -shapes

Con los puntos que representan el traslape, se obtiene la forma, la cual se muestra en la

figura 5.11 en la parte (a), en (b) se muestra las dos clases con su traslape.

(a) (b)

Page 77: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

63

Figura 5.11 (a) Forma del conjunto de puntos considerados como traslape.

(b) Formas de las clases sana (verde) y defectuosa (rojo) con el traslape (amarillo). Utilizando RGB de los centros.

d) Parámetros y resultados

En la tabla 5.6 se muestran los parámetros y valores que resultaron al calcular las

formas con el algoritmo -shapes.

Tabla 5.6 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para

cada clase de los componentes RGB de los centros.

Piel sana Piel

defectuosa Traslape

Número de puntos 1,140 1,038 411

Número de dimensiones 3 3 3

Mín. Máx. Mín. Máx. Mín. Máx.

Dimensión A 115 255 90 255 125 235

Dimensión B 80 235 0 185 80 185

Dimensión C 0 105 0 80 0 25

Valor de 160 30 35

Número de puntos del -shapes 81 159 91

Número de simplejos del -shapes 122 263 130

Número de puntos del -complex 1,140 1,038 411

Número de simplejos del -complex 5,597 4,738 1,675

Tiempo en segundos 361.848 316.058 207.904

Observaciones

El porcentaje de traslape es de 39.5954%, lo que mejora un poco con respecto a las

pruebas anteriores, sin embargo el porcentaje de traslape entre las clases de piel sana y

defectuosa sigue siendo alto. Complementar con otros descriptores puede ayudar a disminuir

el traslape de este conjunto de entrenamiento.

(a) (b)

Page 78: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

64

5.2.4 Detección de traslape en las componentes RGB normalizados

a) Obtener formas de las clases sana y defectuosa

El conjunto de entrenamiento utilizado contiene 16,892 puntos para la clase de piel

sana y 11,831 puntos para la clase de piel defectuosa. Los valores se seleccionaron en cada 10

puntos en ambas clases. Por lo tanto, el total de puntos considerados fue de 1,690 para la

primera clase y 1,184 para la segunda clase respectivamente.

Figura 5.12 (a) Forma clase piel sana utilizando =30. (b) Forma clase piel mala utilizando =50.

Utilizando los conjuntos RGB normalizados.

En la figura 5.12 la forma de la piel sana se logró con y de la piel defectuosa con

b) Calcular traslape mediante el algoritmo de inclusión en forma no convexa

En la tabla 5.7 se observa que la cantidad de traslape en este conjunto es más alto que

en el caso anterior.

Tabla 5.7 Resultado del algoritmo de inclusión en forma no convexa

del conjunto RGB normalizados.

Cantidad Porcentaje

Puntos interiores (traslapados) 1,473 87.1598%

Puntos exteriores 217 12.8402%

Tiempo en segundos 4,214.796

c) Calcular la forma del traslape con el algoritmo -shapes

Con los puntos que representan el traslape, se obtiene la forma, la cual se muestra en la

figura 5.13 en la parte (a), en (b) se muestra las dos clases con su traslape.

(a) (b)

Page 79: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

65

Figura 5.13 (a) Forma del conjunto de puntos considerados como traslape.

(b) Formas de las clases sana (verde) y defectuosa (rojo) con el traslape (amarillo). Utilizando RGB normalizados.

d) Parámetros y resultados

En la tabla 5.8 se muestran los parámetros y valores que resultaron al calcular las

formas con el algoritmo -shapes.

Tabla 5.8 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para

cada clase de los conjuntos RGB normalizados.

Piel sana Piel defectuosa Traslape

Número de puntos 1,690 1,184 1,473

Número de dimensiones 3 3 3

Mín. Máx. Mín. Máx. Mín. Máx.

Dimensión A 65.7 244.27 88.969 391.07 94.397 240.9

Dimensión B 51.529 179.89 0 219 51.529 179.89

Dimensión C 0 122.38 0 159.27 0 122.38

Valor de 30 50 50

Número de puntos del -shapes 172 147 128

Número de simplejos del -shapes 313 256 232

Número de puntos del -complex 1,690 1,184 1,473

Número de simplejos del -complex 9,802 6,125 8,717

Tiempo en segundos 312.549 256.436 236.156

Observaciones

El porcentaje de traslape 87.1598% es demasiado alto, porque se detectó que la

mayoría del conjunto de la piel sana se encuentra en el interior de la forma que construye los

puntos de la piel defectuosa. Es posible que este conjunto de entrenamiento requiera uno o

más descriptores para disminuir el traslape, ya que los clasificadores pueden tener un alto

margen de error al asignar la pertenencia.

(a) (b)

Page 80: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

66

5.2.5 Detección de traslape en las componentes RGB y la Intensidad

a) Obtener formas de las clases sana y defectuosa

El conjunto de entrenamiento utilizado contiene 11,599 puntos para la clase de piel

sana y 6,502 puntos para la clase de piel defectuosa. Los valores se seleccionaron en cada 15

puntos en ambas clases. Por lo tanto, el total de puntos considerados fue de 774 para la

primera clase y 434 para la segunda clase respectivamente.

b) Calcular traslape mediante el algoritmo de inclusión en forma no convexa

En la tabla 5.9 se muestra la cantidad de traslape entre los conjuntos, donde se observa

que existe mucha intersección de puntos de piel defectuosa dentro de la forma de la piel sana.

Tabla 5.9 Resultado del algoritmo de inclusión en forma no convexa

del conjunto RGBI.

Cantidad Porcentaje

Puntos interiores (traslapados) 180 41.4747 %

Puntos exteriores 254 58.5253%

Tiempo en segundos 3,768.423

c) Calcular la forma del traslape con el algoritmo -shapes

En los conjuntos de 4 dimensiones no se puede mostrar la gráfica de las formas, por

lo tanto en el siguiente inciso se presentan sólo resultados.

d) Parámetros y resultados

En la siguiente tabla se muestra el resultado de las formas calculadas con el

algoritmo. Este conjunto de entrenamiento es de 4-dimensiones, el cual no es posible

visualizar las formas.

Page 81: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

67

Tabla 5.10 Esta tabla muestra los parámetros y valores devueltos por el algoritmo -shapes para cada clase de los conjuntos RGBI.

Piel sana Piel defectuosa

Número de puntos 774 434

Número de dimensiones 4 4

Mín. Máx. Mín. Máx.

Dimensión A 40 255 55 235

Dimensión B 45 235 0 185

Dimensión C 0 135 0 115

Dimensión D 60 190 40 155

Valor de 40 40

Número de puntos del -shapes 500 308

Número de simplejos del -shapes 2569 1579

Número de puntos del -complex 774 434

Número de simplejos del -complex 12811 6034

Tiempo en segundos 846.704 237.732

Observaciones

En esta prueba a pesar de haber aumentado una dimensión más al conjunto de

descriptores, se observa que aún existe un traslape de 41.4747%, que se considera malo,

debido al alto porcentaje de incertidumbre.

5.2.6 Detección de traslape en las componentes RGB y la Intensidad

regional obtenida mediante el promedio de la intensidad de 4 puntos

cardinales usando una máscara de 20x20

a) Obtener formas de las clases sana y defectuosa

El conjunto de entrenamiento utilizado contiene 16,892 puntos para la clase de piel

sana y 11,831 puntos para la clase de piel defectuosa. Los valores se seleccionaron en cada 10

puntos en ambas clases. Por lo tanto, el total de puntos considerados fue de 1,690 para la

primera clase y 1,184 para la segunda clase respectivamente.

b) Calcular traslape mediante el algoritmo de inclusión en forma no convexa

En la tabla 5.11 se muestra la cantidad de traslape entre los conjuntos.

Page 82: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

68

Tabla 5.11 Resultado del algoritmo de inclusión en forma no convexa en el conjunto RGBI con la intensidad de 4 puntos cardinales con máscara de 4x4.

Cantidad Porcentaje

Puntos interiores (traslapados) 482 40.7095%

Puntos exteriores 702 59.2905%

Tiempo en segundos 27,397.353

c) Calcular la forma del traslape con el algoritmo -shapes

Los conjuntos de 4 dimensiones no se pueden mostrar la gráfica de las formas, por

lo tanto en el siguiente inciso se presentan los resultados.

d) Parámetros y resultados

En la tabla 5.12 se muestra el resultado de las formas calculadas con el algoritmo.

Este conjunto de entrenamiento al igual que el anterior es de 4-dimensiones no se muestran

gráficas sobre los resultados.

Tabla 5.12 Esta tabla muestra los parámetros y valores devueltos por el algoritmo

-shapes para cada clase de los conjuntos RGBI con la intensidad de 4 puntos cardinales con máscara de 4x4.

Piel sana Piel defectuosa

Número de puntos 1,690 1,184

Número de dimensiones 4 4

Mín. Máx. Mín. Máx.

Dimensión A 50 255 55 240

Dimensión B 40 235 0 195

Dimensión C 0 145 0 115

Dimensión D 65 180 35 160

Valor de 45 45

Número de puntos del -shapes 658 499

Número de simplejos del -shapes 3,310 2,366

Número de puntos del -complex 1,690 1,184

Número de simplejos del -complex 34,724 21,998

Tiempo en segundos 2,803.309 1,570.222

Observaciones

Con este conjunto de entrenamiento no se garantiza tener buenos resultados debido a

su porcentaje alto de traslape, el cual es de 40.7095%. Es necesario utilizar otros descriptores

para disminuir el traslape.

Page 83: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

69

5.3 Aplicación del algoritmo K-vecinos para identificar y controlar sistemas

dinámicos

En esta sección se muestran algunas aplicaciones de los algoritmos K-vecinos e

interpolación lineal vistos en el capítulo 4. Estos algoritmos son utilizados para identificar y

controlar algunos sistemas dinámicos en simulaciones, empleando como casos de pruebas

sistemas de primer orden lineal, primer orden no lineal, segundo orden lineal y segundo orden

no lineal. La propuesta del algoritmo K-vecinos muestra que sin una etapa de entrenamiento y

con pocos datos puede aproximar muy bien la identificación y control de sistemas dinámicos.

Para la identificación y control de sistemas dinámicos es necesario obtener los datos del

comportamiento del sistema a partir de la simulación, o bien a partir del dispositivo físico;

para lograr esto se requiere aplicar una señal de excitación a la entrada del dispositivo y

posteriormente tomar en cada intervalo de tiempo, generalmente constante, muestras de los

datos encontrados de las entradas y salidas, a este proceso, se le denomina muestreo del

sistema [Castillo,1999].

Con el fin de lograr observar la dinámica de la planta, es necesario considerar tanto entradas

como salidas atrasadas en el tiempo; la selección de dichas entradas y salidas, denominada

selección de variables [Castillo, 1999].

Los datos que se obtienen son utilizados para ejecutar la etapa de preprocesamiento del

algoritmo K-vecinos, que consiste en especificar el número de regiones por coordenada y crear

los archivos necesarios para que la búsqueda.

Las siguientes secciones están organizadas de la siguiente manera, en la sección 5.3.1 se

presentan pruebas de identificación de sistemas dinámicos y en la sección 5.3.2 se presentan

las pruebas de control de los sistemas dinámicos identificados en la sección 5.3.1. Las

simulaciones e implementaciones fueron realizadas en Matlab© versión 7 (R2006b)

[Hanselman,2005][Dabney,2004].

5.3.1 Pruebas en identificación de sistemas dinámicos

Como se mostró en la sección 3.1.2, para identificar un sistema, el primer paso a

considerar es contar con una planta , a la cual se le debe aplicar una señal de excitación a

la entrada, después se realiza un muestreo de los valores de entradas y salidas durante un

cierto tiempo , y de esta manera se obtiene el conjunto de datos del comportamiento del

sistema. En la figura 5.14 en (a) se muestra como se obtienen los datos desde un sistema de

primer orden y en (b) desde un sistema de segundo orden.

Page 84: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

70

Figura 5.14 (a) Diagrama general para obtener datos de entrenamiento desde un sistema dinámico de primer orden.

(b) Diagrama general para obtener datos de entrenamiento desde un sistema dinámico de segundo orden.

En los sistemas de segundo orden, como en el caso de la parte (b) de la figura 5.14 se puede

observar que existen 5 variables, que son y . Un sistema de

segundo orden contiene dos estados, en este caso, y , también llamados y

, se deben identificar o controlar estos estados por conjuntos separado. Por ejemplo, en el

caso de identificar el estado , se requiere obtener los conjuntos

, donde los tres primeros corresponden a los antecedentes y corresponde al

consecuente de estado . Para el estado se requiere , donde

los tres primeros corresponden a los antecedentes y corresponde al consecuente del

estado . Estos dos conjuntos son introducidos al algoritmo K-vecinos por separado, y así se

obtiene la identificación de cada estado.

5.3.1.1 Identificación de un sistema dinámico de primer orden lineal

En esta prueba se utilizó un sistema de primer orden lineal dado por la ecuación:

(5.1)

que equivale a tener:

(a)

(b)

Page 85: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

71

donde es la salida del sistema y corresponde al estado . Las variables de entrada o

antecedentes del sistema son la entrada y el estado o salida , a partir de éstas se

aproxima el estado siguiente , que establece un espacio en 3 dimensiones.

Figura 5.15 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.8 de ruido.

Para obtener el conjunto de datos, se utiliza el modelo (a) de la figura 5.14. La señal con la que

se excitó la entrada del sistema se observa en la figura 5.15 donde se muestra la señal sin

ruido en (a) la cual es una triangular de amplitud de 1 ciclo cada 4 segundos. En (b) de la

figura 5.15 se observa esta misma señal pero con ruido aleatorio. La duración de la simulación

para obtener los datos fue de 20 segundos, obteniendo un total de 201 puntos.

Figura 5.16 (a) -shapes del conjunto de puntos obtenidos sin ruido con .

(b) -shapes del conjunto de puntos obtenidos con ruido con . Sistema dinámico de primer orden.

En la figura 5.16 se muestran el espacio formado por los antecedentes y consecuente del

sistema, donde (a) representa la forma del espacio del conjunto de datos sin ruido y (b)

representa la forma con ruido. En la primera se observa una insuficiencia de datos muy

grande, lo que podría provocar que el sistema no interpole adecuadamente, en la segunda se

observa una insuficiencia de datos menor, sólo con un hueco pequeño. También se observa

que en ambos casos forma un plano, esto es por el comportamiento lineal del sistema.

(a) (b)

(a) (b)

Page 86: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

72

Figura 5.17 Comportamiento del sistema dinámico de primer orden con una señal sinusoidal.

En la gráfica de la figura 5.17, se observa el comportamiento del sistema real utilizando una

entrada sinusoide de amplitud 1, con frecuencia cada un segundo. En las gráficas (a) y (b) de

la figura 5.18 se muestran la comparación entre el sistema dinámico real y la interpolación

obtenida con el algoritmo K-vecinos, utilizando una señal de seno. En la primera se observa

un ligero error de la señal de K-vecinos, que se debe a que no se le introdujo ruido al

entrenamiento. En la segunda se ve que con ruido mejora la señal de K-vecinos bastante bien.

Figura 5.18 (a) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento sin ruido.

(b) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento con ruido. Sistema dinámico de primer orden.

En el anexo C.1 se pueden consultar las simulaciones con diagramas de bloques del sistema

dinámico visto en esta sección.

(a) (b)

Page 87: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

73

5.3.1.2 Identificación de un sistema dinámico de primer orden no lineal

Existen algunos sistemas dinámicos que tiene un comportamiento no lineal, estos

tipos de sistemas son más complejos de modelar matemáticamente, ya que unas de sus

propiedades es que suelen ser sistemas donde no se puede predecir tan fácilmente su

comportamiento. Los sistemas computacionales, específicamente los sistemas difusos, son

muy utilizados para aproximar éstos en el ámbito del control inteligente. En esta tesis se

presenta como experimentación al algoritmo K-vecinos para la interpolación de sistemas no

lineales con un sistema de primer orden no lineal, posteriormente en la sección 5.3.1.4 se

presentará un sistema de segundo orden no lineal, lo que aumenta la complejidad.

El sistema de primer orden no lineal con el que se experimentó es dado por la ecuación:

(5.2)

que equivale a tener:

donde es la salida del sistema y corresponde al estado . Las variables de entrada o

antecedentes del sistema son la entrada y el estado o salida Al igual que al caso de

sección anterior, se aproximará el estado siguiente .

Figura 5.19 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.8 de ruido.

Sistema dinámico de primer orden no lineal.

Para obtener el conjunto de datos se utilizó el diagrama (a) de la figura 5.14. La señal con que

se excitó la entrada se puede observar en la figura 5.19 donde se muestra la señal sin

ruido en (a) la cual es una triangular de amplitud de 1 ciclo cada 20 segundos, a la cual se

le suma un ruido aleatorio en (b). Para lograr identificar este sistema se debió extender el

tiempo de simulación para obtener los datos, el cual fue de 220 segundos, obteniendo un total

de 2,201 puntos.

(a) (b)

Page 88: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

74

Figura 5.20 (a) -shapes del conjunto de puntos obtenidos sin ruido con .

(b) -shapes del conjunto de puntos obtenidos con ruido con . Sistema dinámico de primer orden no lineal.

En la figura 5.20, observando ambos espacios con ruido y sin ruido, se ve que al contrario de

lo que sucede con el sistema lineal que forma un plano, este sistema no lineal forma una

superficie un poco curva. En (a) donde no existe ruido se muestra que existe insuficiencia de

datos, lo que no arrojará buenos resultados, en cambio, en (b) con ruido se observa una

representación de una superficie sin huecos lo que aporta más información para aproximar su

comportamiento.

Figura 5.21 Comportamiento del sistema dinámico con una señal sinusoidal.

(a) (b)

Page 89: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

75

Figura 5.22 (a) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento sin ruido.

(b) Respuesta del sistema dinámico real y el K-vecinos con entrenamiento con ruido. Sistema dinámico de primer orden no lineal.

El comportamiento del sistema utilizando una señal de sinusoide se ve en la figura 5.21. En la

figura 5.22 en (a) se observa que por el comportamiento no lineal del sistema, los datos sin

ruido no logran identificar al sistema de manera adecuada. Por otra parte utilizando ruido en

(b) se muestra que se logra aproximar bien al sistema real, a pesar de no seguir fielmente al

sistema real, se considera una buena aproximación.

Las simulaciones para este sistema dinámico pueden ser consultadas en el anexo C.3.

5.3.1.3 Identificación de un sistema dinámico de segundo orden lineal

Los sistemas de segundo orden tienen, por lo regular, un vector de estados con dos

componentes que corresponden a los estados y , dado por .

Al tener dos estados, es necesario ejecutar dos K-vecinos de manera paralela, donde una parte

aproxima al estado y la otra al estado . El formato para obtener los datos es el

utilizado en la figura 5.14 en la parte (b), donde son los antecedentes de ambas

partes, pero con diferentes consecuentes, los cuales son para una parte y para la

otra. Lo anterior forma dos conjuntos de 4 dimensiones para cada uno, los cuales son

y .

El sistema de segundo orden lineal con que se experimentó es el siguiente:

(5.3)

La señal de entrada para identificar a los estados del sistema se muestra en la figura 5.23,

donde en (a) se tiene sin ruido y en (b) con ruido. Como se entiende que cuando no hay ruido

la aproximación puede ser pobre, no se presentará la prueba de identificación sin ruido, sólo

con ruido.

La señal de entrada es una triangular de amplitud de 1 ciclo cada 4 segundos, a la

cual se le suma un ruido aleatorio en (b) de la figura 5.23. La duración de la simulación para

obtener los datos fue de 20 segundos, obteniendo un total de 201 puntos.

(a) (b)

Page 90: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

76

Figura 5.23 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.5 de ruido. Sistema dinámico de segundo orden lineal.

Figura 5.24 Comportamiento del sistema dinámico con una señal sinusoidal. Sistema dinámico de segundo orden lineal.

En la figura 5.24 se observa el comportamiento de ambos estados del sistema dinámico

utilizando una señal sinusoidal que incluyen sus estados siguientes. La duración de la

simulación fue de 20 segundos, lo que demuestra que a pesar de aportar pocos datos se tiene

muy buena identificación de ambos estados, como se muestran en la figura 5.25, donde en (a)

se ve una buena aproximación del estado , y en (b) se observa la buena aproximación del

estado que el algoritmo K-vecinos es capaz de desempeñar.

Figura 5.25 (a) Respuesta del estado de sistema dinámico real y el K-vecinos con entrenamiento sin ruido.

(b) Respuesta del estado del sistema dinámico real y el K-vecinos con entrenamiento con ruido. Sistema dinámico de segundo orden lineal.

Los diagramas de simulación de este sistema dinámico se pueden consultar en el anexo C.5.

(a) (b)

(a) (b)

Page 91: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

77

5.3.1.4 Identificación de un sistema dinámico de segundo orden no lineal

El sistema de segundo orden no lineal utilizado, es el que se representa en la

siguiente ecuación:

(5.4)

donde se obtuvieron los datos de manera similar que el sistema de segundo orden lineal visto

en la sección anterior. Recordando que se requiere ejecutar en paralelo dos algoritmos K-

vecinos para identificar ambos estados.

La señal de entrada para identificar a los estados del sistema se muestra en la figura 5.26,

donde al igual que los casos anteriores, en (a) se muestra sin ruido y en (b) con ruido.

La señal de entrada con la que se logró identificar los estados de este sistema es una

triangular de amplitud de 1 ciclo cada 4 segundos, a la cual se le suma un ruido aleatorio

en (b) de la figura 5.26. La duración de la simulación para obtener los datos fue de 120

segundos, obteniendo un total de 1,201 puntos.

Figura 5.26 (a) Señal de entrada sin ruido. (b) Señal de entrada con 0.4 de ruido.

Sistema dinámico de segundo orden no lineal.

Aquí de nuevo se puede observar que para identificar los estados se requirió de más datos, en

este caso 1201 puntos sirven para rellenar más los espacios del conjunto.

Figura 5.27 Comportamiento del sistema dinámico con una señal sinusoidal. Sistema dinámico de segundo orden no lineal.

(a) (b)

Page 92: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

78

En la figura 5.27 se muestra el comportamiento no lineal de cada estado utilizando una señal

sinusoidal como entrada al sistema. En la figura 5.28 se observa la buena aproximación que

realizó el algoritmo K-vecinos de cada estado. En (a) se observa un poco de perturbación en la

señal del K-vecinos, al intentar aproximar el estado , pero aún así se considera una buena

aproximación y en (b) se muestra que aproxima mejor al estado con una leve perturbación.

Figura 5.28 (a) Respuesta del estado del sistema dinámico real y el K-vecinos con entrenamiento sin ruido.

(b) Respuesta del estado del sistema dinámico real y el K-vecinos con entrenamiento con ruido. Sistema dinámico de segundo orden no lineal.

Los diagramas de simulación de este sistema dinámico se pueden consultar en el anexo C.7.

Comentarios

Como conclusión a las experimentos realizados, se muestra que el algoritmo K-

vecinos, puede ser útil para identificar sistemas dinámicos con las características vistas en

estas secciones. Como trabajos futuros se pueden experimentar con otros tipos de sistemas

tales como sistemas dinámicos variantes en el tiempo, estocásticos, ruidosos, entre otros, que

por el alcance de este trabajo no se realizaron. Los datos de entrenamiento utilizados para

identificar los sistemas dinámicos de este capítulo, son empleados para las pruebas de control

que se exponen en las siguientes secciones, donde se les aplica el modelo de planta inversa de

la figura 3.6 del capítulo 3.

(a)

(b)

Page 93: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

79

5.3.2 Pruebas de control de sistemas dinámicos

En toda la sección 5.3.1 se presentaron pruebas para identificar sistemas dinámicos

mediante el algoritmo K-vecinos, utilizando como selección de variables la técnica de Núcleo

Híbrido de Transición de Estados.

Unido al proceso de identificación existe un proceso principal dentro de la teoría de sistemas,

el cual es el control de sistemas dinámicos. El control tiene como objetivo llevar o mantener a

un proceso dentro de un área de operación, o bien realizar las acciones necesarias para lograr

mantener la salida de la planta en un valor de referencia deseado [Castillo,1999].

En estas secciones se utilizó al algoritmo K-vecinos para controlar sistemas a partir de los

datos de sus plantas. La obtención del controlador se lleva a cabo a partir de una estructura de

control basada en modelo inverso de la planta que se mostró en el capítulo 3.

En las pruebas que a continuación se presentan, se utilizó los sistemas dinámicos vistos en la

sección 5.3.1. Como ya se conoce la aproximación del comportamiento de cada uno de esos

sistemas, se aplicó el modelo de planta inversa para controlar los sistemas. Todos esos

sistemas fueron controlados manejando como señal de referencia o consigna, una señal

triangular y una sinusoidal.

5.3.2.1 Control de un sistema dinámico de primer orden lineal

Como primer caso para controlar, se utilizará el sistema de primer orden de la

ecuación (5.1) la cual es .

De este sistema se tienen dos antecedentes los cuales son , y un consecuente

. Este sistema ya fue identificado en la sección 5.3.1.1 por lo tanto ya se conoce su

comportamiento, y aplicando el modelo de planta inversa se puede realizar el control de este

sistema. La diferencia en el modelo de planta inversa, es que el valor de la entrada pasa a

consecuente, quedando como antecedentes y .

Al ejecutar el algoritmo K-vecinos con estos datos y realizando la simulación, se obtiene que

utilizando como referencia o consigna una señal sinusoidal y la triangular se obtiene buen

control sobre los sistemas. Como se puede observar en la figura 5.29 se logra que el sistema se

comporte como la señal de referencia proporcionada.

Los parámetros de la señal sinusoidal fueron: amplitud 1 y una frecuencia de 1 (Rad/Seg);

para la señal triangular los parámetros fueron: amplitud de 1 ciclo cada 4 segundos.

Page 94: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

80

Figura 5.29 Arriba: control sobre el sistema dinámico de primer orden lineal

utilizando una señal sinusoidal. Abajo: control sobre el sistema dinámico de primer orden lineal utilizando una señal triangular.

Como conclusión, se muestra que el algoritmo K-vecinos controla bien al sistema dinámico

presentado en esta sección. Hay que tomar en cuenta que no se utilizó ruido.

El diagrama de simulación de control para este sistema dinámico puede ser consultado en el

anexo C.2.

5.3.2.2 Control de un sistema dinámico de primer orden no lineal

Como segundo caso de prueba, se utilizó al sistema dinámico no lineal de la

ecuación (5.2) la cual es .

este sistema se identificó en la sección 5.3.1.2, donde se obtuvo una aproximación buena, a

pesar de tener un poco de error. Para identificar este sistema se requirió obtener 2,201 datos de

entrenamiento, los cuales son utilizados para controlar mediante la planta inversa, invirtiendo

a la entrada como consecuente, de la misma manera que el sistema anterior.

Page 95: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

81

Para controlar se utilizó como señales de referencia una señal sinusoidal y otra triangular. En

la sinusoidal los parámetros fueron amplitud 1 y una frecuencia de 1 (Rad/Seg); para la señal

triangular los parámetros fueron amplitud de 1 ciclo cada 4 segundos.

Figura 5.30 Arriba: control sobre el sistema dinámico de primer orden no lineal

utilizando una señal sinusoidal. Abajo: control sobre el sistema dinámico de primer orden no lineal utilizando una señal triangular.

Como se observa en la figura 5.30, en ambas pruebas se tiene un buen control sobre el sistema,

sólo existe un poco de error, pero es aceptable para estos tipos de sistemas.

El diagrama de simulación de control para este sistema dinámico puede ser consultado en el

anexo C.4.

Page 96: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

82

5.3.2.3 Control de un sistema dinámico de segundo orden lineal

Para controlar un sistema de segundo orden se requiere al igual que en el proceso de

identificación, ejecutar un algoritmo K-vecinos para controlar al estado y otro para

controlar al estado . El caso de prueba para controlar un sistema dinámico de segundo

orden lineal de la ecuación (5.3) la cual es . En la sección

5.3.1.3 se mostró la identificación de sus dos estados.

Estos tipos de sistemas dinámicos tienen al menos dos estados, y para obtener los datos de

entrenamiento se tiene que ejecutar el algoritmo K-vecinos a los conjuntos

y . En estos conjuntos se observa que ambos conjuntos

son de 4 dimensiones y que contienen como consecuente a la entrada , por la aplicación

del modelo de planta inversa.

Una señal sinusoidal y otra triangular se utilizaron como referencia para controlar cada estado

por separado. Los parámetros para la primera señal fueron amplitud 1 y una frecuencia de 1

(Rad/Seg); para la otra señal fueron amplitud de 1 ciclo cada 4 segundos.

Figura 5.31 Arriba: control del estado del sistema dinámico de segundo orden lineal

utilizando una señal sinusoidal. Abajo: control del estado del sistema dinámico de segundo orden lineal utilizando una señal triangular.

Page 97: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

83

En la figura 5.31 se observa que se logra controlar adecuadamente al estado utilizando

ambas señales como referencia. En el caso del control del estado también se muestran

resultados muy buenos, como se ve en la figura 5.32, donde se encuentran las señales

resultantes del control del estado , las gráficas del lado izquierdo contienen la salida del

K-vecinos en color azul, el cual muestra el gran esfuerzo de control que requiere inyectarle al

sistema para poder controlar al estado. A la derecha se encuentran las salidas pero sin la señal

de control con el objetivo de poder visualizar el comportamiento de los estados.

Figura 5.32 Arriba: control del estado del sistema dinámico de segundo orden lineal utilizando una señal sinusoidal.

Abajo: control del estado del sistema dinámico de segundo orden lineal utilizando una señal triangular.

En esta sección se mostró que el algoritmo K-vecinos puede utilizase para controlar los

estados y de un sistema dinámico de segundo orden lineal. El algoritmo K-vecinos

y el método de interpolación lineal funcionaron adecuadamente al utilizar las señales

sinusoidales y triangulares con los parámetros especificados para las pruebas. Inclusive se

hicieron pruebas con mayor amplitud en las señales y frecuencia, donde se detectó que siguen

funcionando de manera adecuada. Al aplicar ruido a las consignas, las señales de salida

empiezan a tener un poco de error, que pueden ser mejoradas tomando más datos en la fase de

obtención de datos desde la simulación.

El diagrama de simulación para el control de este sistema dinámico se puede consultar en el

anexo C.6.

Page 98: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Aplicaciones Capítulo 5

84

5.3.2.4 Control de un sistema dinámico de segundo orden no lineal

En este caso de prueba se utilizó el sistema dinámico de segundo orden no lineal de la

ecuación (5.4) la cual es .

En la sección 5.3.1.4 se expuso la identificación de los estados y , los cuales se

aproximaron con un poco de error. De manera similar al experimento anterior, se requiere

controlar los estados y , manejando los dos conjuntos de datos de 4 dimensiones

y , donde es el consecuente en

ambos conjuntos.

En esta prueba se utilizaron una señal sinusoidal y otra triangular como referencia para

controlar cada estado. Los parámetros para la primera señal fueron amplitud 1.5 y una

frecuencia de 1 (Rad/Seg); para la otra señal fueron amplitud de 1 ciclo cada 4 segundos.

Figura 5.33 Arriba: control del estado del sistema dinámico de segundo orden no lineal

utilizando una señal sinusoidal. Abajo: control del estado del sistema dinámico de segundo orden no lineal utilizando una señal triangular.

En la parte izquierda de la figura 5.33 se muestra el gran esfuerzo que hace el control para

inyectar la entrada del sistema, y en la parte derecha se observa que logra controlar al estado

pero con un margen considerable de error. Utilizando más datos se podría mejorar la señal de

salida de este estado.

Page 99: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Capítulo 5 Aplicaciones

85

Figura 5.34 Arriba: control del estado del sistema dinámico de segundo orden no lineal

utilizando una señal sinusoidal. Abajo: control del estado del sistema dinámico de segundo orden no lineal utilizando una señal triangular.

En la parte izquierda de la figura 5.34 se observa el esfuerzo de control requerido para

controlar al estado para ambas señales de referencia y en la parte derecha se muestran

los mismos resultados pero sin la señal de control del K-vecinos, para visualizar más de cerca

el comportamiento.

Concluyendo, se muestra en esta prueba que el estado se controló mejor que el estado

. El algoritmo K-vecinos y el método de interpolación lineal funcionó bien para esta

prueba. La salida del estado en las figuras 5.33 y 5.34 contienen ruido, a pesar de

realizar varias pruebas, finalmente ésta fue el mejor control que se alcanzó. Se puede realizar

más pruebas para mejorar el control del estado obteniendo más datos de entrenamiento,

pero hay tomar en cuenta el costo computacional.

El diagrama de simulación para el control de este sistema dinámico se puede consultar en el

anexo C.8.

Page 100: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

86

Page 101: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

87

Conclusiones

En este tema de investigación se propuso el estudio de la topología computacional y su

aplicación a las áreas de la I.A. Particularmente se propuso como casos de estudio las áreas de

inspección visual y control inteligente.

En inspección visual se realizaron pruebas para la identificación de traslape en conjuntos de

datos de entrenamiento del sistema de inspección visual desarrollado en [López,2008]. Los

algoritmos utilizados fueron -shapes e inclusión de forma no convexa. Estas herramientas

probaron su eficacia en el capítulo 5, experimentando con los datos de entrenamiento, donde

se concluyó que éstos tienen en general alto porcentaje de traslape. El porcentaje más bajo fue

de 39.5954%, el cual es elevado. Estos conjuntos requieren de más descriptores o técnicas de

segmentación para representar mejor a los objetos (manzanas), y así disminuir el traslape.

En el área de control inteligente se concluye que -shapes también permite una forma de

visualización de los huecos o cavidades que pudieran contener un conjunto de puntos. Conocer

estas estructuras permiten al investigador tener idea de cómo se comportará un sistema

computacional en la identificación o control sistemas dinámicos. También se desarrolló como

parte de experimentación el algoritmo K-vecinos junto con el método de interpolación lineal,

mostrando tener buenos resultados en el capítulo 5.

En las secciones posteriores de este capítulo se presentarán los objetivos cubiertos,

aportaciones como parte de las conclusiones de este trabajo de tesis.

Page 102: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Conclusiones

88

Objetivos cubiertos

Los objetivos cubiertos en el desarrollo de este tema de investigación son los

siguientes:

La implementación de algoritmos seleccionados desde la literatura para la descripción

de formas y el análisis de conectividad de conjuntos de datos. Estos algoritmos fueron

el -shapes y el algoritmo de conectividad utilizando el MST. El algoritmo -shapes

fue utilizado para describir las formas de los espacios N-dimensionales, y el otro

algoritmo sólo se implementó y se hicieron algunas pruebas sencillas porque no

cumplió con los objetivos de la tesis.

Con fines de exploración se realizaron pruebas con el algoritmo -shapes para

reconstruir un modelo de 2 y 3-dimensiones del conejo de la Universidad de Stanford,

donde se obtienen buenos resultados. Los resultados de estas pruebas pueden

consultarse con mayor detalle en el capítulo 5 en la sección 5.1.

El algoritmo de inclusión de forma no convexa se diseñó e implementó para la

detección de traslape de conjuntos N-dimensionales. Utiliza las descripciones de las

formas del algoritmo -shapes (utilizando -complex) para verificar qué puntos de un

conjunto se incluyen en la forma de otro conjunto. Este algoritmo utiliza los simplejos

obtenidos de la forma seleccionada al aplicar el algoritmo -shapes. Hay que recordar

que el valor de controla el nivel de detalle de la forma del conjunto, implicando que

el experto humano es quien decide qué es la más adecuada.

Para el área de control inteligente se propuso el algoritmo llamado K-vecinos para

identificar y controlar sistemas dinámicos. Los experimentos se realizaron con

sistemas dinámicos de primer orden, lineales y no lineales, también con sistemas

dinámicos de segundo orden lineal y no lineal. Las pruebas presentadas en esta

investigación son sólo un grupo reducido de plantas de la infinidad que existen, así que

se expondrá como trabajo futuro experimentar con otros tipos de plantas.

El algoritmo -shapes es propuesto como una forma de visualizar cavidades o huecos

de un conjunto de puntos.

El método de interpolación lineal se diseñó e implementó para realizar la interpolación

utilizando los puntos vecinos obtenidos del algoritmo K-vecinos.

Aportaciones

Las aportaciones de este trabajo de investigación son las siguientes:

La implementación del algoritmo -shapes para N-dimensiones, referido en la

literatura de topología computacional para obtener una descripción del espacio en

términos de simplejos. Al poder obtener la descripción del espacio de estudio, se puede

calcular algunos invariantes topológicos.

Page 103: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Conclusiones

89

Diseño e implementación de un algoritmo para detectar traslape entre conjuntos N-

dimensionales, llamado algoritmo de inclusión en forma no convexa. La entrada a este

algoritmo es la forma rellena de simplejos ( -complex) obtenida desde el algoritmo -

shapes.

Diseño e implementación del algoritmo K-vecinos utilizando el método para la

detección de regiones sobre-muestreadas o desprovistas de datos. Este método fue

utilizado para dividir el espacio en regiones. Estas regiones son manejadas por el

algoritmo K-vecinos propuesto para recorrer sólo las regiones vecinas obteniendo así

únicamente los datos de esas regiones.

Diseño e implementación de un algoritmo para realizar una interpolación lineal N-

dimensional con el objetivo interpolar puntos obteniendo como datos previos los

puntos que resultan del algoritmo K-vecinos.

La demostración mediante experimentación de la existencia de traslape en los

conjuntos de entrenamiento del sistema de inspección visual de [López,2008].

Los experimentos realizados para identificar y controlar algunos sistemas dinámicos

con los algoritmos K-vecinos e interpolación lineal.

La exploración en el área de la topología computacional.

La aportación del algoritmo -shapes como herramienta para el modelado de objetos

2D y 3D.

Page 104: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

90

Page 105: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

91

Trabajos futuros

Los trabajos futuros que pueden derivarse desde este trabajo de investigación son:

Uno de las limitaciones más notables del algoritmo -shapes es ¿Cómo determinar el

mejor valor para ? Este valor debe calcularse a prueba y error, como si se tuviera un

deslizador interactivo donde se puede variar el valor de hasta encontrar el mejor

[Teichmann,1998]. Implementar alguna rutina basada en la distribución de puntos

podría solucionar esta limitación.

Existen algunas variantes del algoritmo -shapes. El implementado en este trabajo es

la versión “clásica”. Un trabajo futuro podría ser adaptar éste para probar la variante

del algoritmo -shapes llamado “weighted -shapes” propuesto en

[Edelsbrunner,1992], en el cual se calculan pesos para cada punto, con el fin de

favorecer la conexión de los puntos vecinos.

El algoritmo de inclusión en forma no convexa requiere como entrada a la forma

rellena de simplejos de la estructura -complex, lo que hace que el algoritmo tarde en

responder si un punto se incluye o no en una de estas formas. Esto implica recorrer

todos los simplejos. Una forma de solucionar este problema es triangulando solamente

la frontera de la forma, con lo que se obtendrán una cantidad menor de simplejos. Otra

sería desarrollar una rutina que divida a la forma, en subconjuntos de formas convexas.

Con el algoritmo K-vecinos que se implementó en este trabajo se obtiene una

aproximación a los vecinos más cercanos de un punto. Esto significa que no garantiza

que sean los más cercanos.

Page 106: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Trabajos futuros

92

Como las regiones son divididas en cuadros en el caso de dos dimensiones (a más

dimensiones se le consideran hipercubos), existe la posibilidad de calcular los vecinos

más cercanos de un punto que se encuentre en una de las esquinas del cuadro (o región

a la que pertenece el punto). Si algún punto está cerca de la misma esquina pero fuera

del cuadro, no se considera como el más cercano, porque el algoritmo busca los puntos

que están en el interior del cuadro. Cualquier punto que se encuentre en otra esquina y

además en el interior, lo consideraría el más cercano, lo cual no es cierto. Lo mismo

puede suceder si se tienen más dimensiones. Una posible solución es ampliar la

búsqueda de los puntos de las regiones vecinas o desarrollar alguna función que

considere problema.

Las pruebas realizadas en sistemas dinámicos son pocas en comparación con la

cantidad infinita de plantas existentes, así que se propone experimentar con más

plantas y además con ruido.

Utilizar al algoritmo -shapes en otras aplicaciones de la I.A. como en la

reconstrucción de escenas para identificar obstáculos y así proporcionarle autonomía a

algún robot móvil tomando en cuenta el costo computacional. En la segmentación de

imágenes 3D al identificar componentes conexas, huecos, cavidades. Entre otras

aplicaciones.

En este trabajo sólo se visualizan los huecos a través del algoritmo -shapes de un

conjunto de puntos con dimensionalidad menor o igual a tres. Contiene la estructura

para obtener los huecos pero falta un método que los contabilice. Un trabajo futuro es

implementar algún método para contabilizar las cavidades o huecos para espacios de

alta dimensionalidad parecidos a los métodos propuesto en [Delfinado,1995] o en

[Robins,2002], los cuales utilizan los números de Betti para realizar esta tareas.

Page 107: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

93

Referencias bibliográficas

[Bern,1999] Bern, Marshall; Eppstein, David; et al. “Emerging Challenges in Computational

Topology”. NSF-funded Workshop on Computational Topology, June 11 and 12, Miami

Beach, Florida, 1999.

[Canales,1980] Canales Ruíz R., Barrera Rivera R., “Análisis de Sistemas Dinámicos y

Control Automático”. ISBN: 458-91-0039-5, Limusa, México, 1980.

[Castillo,1999] Castillo Romero R., “Sintonización de controladores difusos basada en el

método de gradiente descendente”. Tesis de Maestría en Ciencias en Ciencias

Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca,

Morelos, mayo de 1999.

[Cervantes,2007] Cervantes Álvarez, Salvador. “Diseño e Implementación de una

Metodología Para la Generación de Formas 3D”. Tesis de maestría, Dpto. de Ciencias

Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca,

Morelos, 2007.

[Dabney,2004] Dabney J. B., Herman T. L., “Mastering Simulink”. ISBN: 978-0131424777,

Prentice Hall, New Jersey, 2004.

[Delfinado,1995] Delfinado, Cecil Jose A., Edelsbrunner, Herbert. “An incremental algorithm

for Betti numbers of simplicial complexes on the 3-sphere”. 0167-8396/95 /$09.50 @ 1995

Elsevier Science B.V. All rights reserved SSDI 0167 -8396(95) 0001 6-X.

[Eckhardt,1993] Eckhardt U.; Latecki, L. “Digital Topology”. University of Hamburg.

Hamburg, Germany. 1993.

Page 108: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Referencias bibliográficas

94

[Eckhardt,2003] Eckhardt, U. “Topologies for the digital spaces Z2 and Z

3”. University of

Hamburg, Bundesstrae 55, Hamburg D-20 146, Germany. Wachman Hall, Philadelphia, PA

19122, USA. Received 18 July2002; accepted 21 March 2003.

[Edelsbrunner y Mücke,1990] Edelsbrunner H. and Mücke E. P. “Simulation of simplicity:

A technique to cope with degenerat cases in geometric algorithms”. ACM Trans. Graph.,

9(1):66-104,1990.

[Edelsbrunner,1992] Edelsbrunner H. “Weighted alpha shapes”. Technical Report

UIUCDCS-R-92-1760, Dept. Comput. Sci., Univ. Illinois, Urbana, IL, 1992.

[Edelsbrunner,1994] Edelsbrunner, Helbert; Mücke, Ernst P. “Three-dimensional Alpha

Shapes”. ACM Transactions on Graphics, 13(1):43-72, 1994.

[Edelsbrunner,1995] Edelsbrunner Herbert, Facello Michael and Jie Liang. “On the

Definition and the Construction of Pockets in Macromolecules”. Office of Naval Research,

grant N00014-95-1-0691. National Science Foundation through the Alan T Waterman award,

grant CCR-9118874 and the CISE postdoctoral fellowship, NSF grant ASC-9404900.

[Escribano,2008] Escribano, Carmen; Giraldo, Antonio. “Topología Digital”. España:

Universidad Politécnica de Madrid, 2008 Descargado de la web. Fecha de consulta 13 de

noviembre de 2008. Liga: http://www.dma.fi.upm.es/docencia/segundociclo/topologiadigital/

[Fisher,2000] Fischer, K. (2005), “Introduction to alpha shapes”, ETH Zurich, Swiss. 2000.

Liga: http://www.inf.ethz.ch/personal/fischerk/pubs/as.pdf

[González,1996] González, Rafael C.; Woods Richard E., “Tratamiento Digital de Imágenes”.

Editorial Addison-Wesley/Díaz de Santos, ISBN: 978-0-201-62576-9 1996.

[Gröller,1999] Gröller E., Loffelmann H., Wegenkittl R., “Visualization of Dynamical

Systems“. Future Generation Computer Systems, Vol. 15, Issue 1, 1999, pp. 75-86.

[Hanselman,2005] Hanselman D., Littlefield B. “Mastering Matlab 7”. ISBN: 0-13-143018-1.

Pearson Education 2005.

[Hernández,2003] Hernández Mora, J. J. “Implementación de una red neuronal holográfica,

para el control de un brazo robot articulado”. Tesis de Maestría en Ciencias en Ciencias

Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca,

Morelos, enero de 2003.

[Hilera,1995] Hilera J. R., Martínez V. “Redes Neuronales Artificiales, Fundamentos,

modelos y aplicaciones”. ISBN: 8478971556, 1995, RA-MA, Estados Unidos de América.

[ISO9000,2000] Norma Internacional ISO 9000. “Sistemas de gestión de la calidad: conceptos

y vocabularios”. Secretaría Central de ISO en Ginebra, Suiza. Número de referencia: ISO

9000:2000. ©ISO 2000.

Page 109: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Referencias bibliográficas

95

[Jiménez,2005] Jiménez Villalobos D., Ramírez de la Cruz J.C. “Construcción de un brazo

robótico de tres GDL”. Tesis de Maestría en Ciencias en Ingeniería Mecatrónica, Centro

Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos, febrero de 2005.

[Leahy,1989] Leahy M. B. Jr., Valavanis K. P., Saridis G. N. “Evaluation of dynamic models

for PUMA robot control”. IEEE Transaction or Robotics and automation, Vol. 5, Issue 2,

1989, pp. 242-245.

[Lehmann,1982] Lehmann, Charles H. “Geometría analítica”. Editorial Limusa. ISBN 968-

18-1176-3. Impreso en méxico 1982.

[Liang,1998] Liang Jie, Edelsbrunner Herbert, Woodward Clare. “Anatomy of protein pockets

and cavities: Measurement of binding site geometry and implications for ligand design”.

Protein Science (1998), 71884-1897. Cambridge University Press. Printed in the USA.

Copyright © 1998 The Protein Society.

[López,2008] López Martínez E. “Algoritmos para la detección y cuantificación de defectos

en manzanas por inspección visual”. Tesis de Maestría en Ciencias en Ciencias

Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico CENIDET,

Cuernavaca, Morelos, febrero de 2008.

[Lucieer,2004] Lucieer, Arko. “Uncertainties in Segmentation and their Visualisation”. Tesis

de doctorado Universiteit Utrecht. ISBN 90-6164-225-6.

[May,2004] May Canché I. “Modelado de objetos deformables, utilizando color y textura”.

Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación

y Desarrollo Tecnológico, Cuernavaca, Morelos; 2004.

[Munkres,1984] Munkres James R. “Elements of algebraic topology”. ISBN: 0-201-04586-9.

Addison-Wesley Publishing Company, Inc 1984.

[Muñoz,1990] Muñoz Villate, Weimar; Huérfano, Stella. “Introducción a la Homología”.

Universidad Nacional de Colombia.

http://encuentrogeometria.org/dmdocuments/encuentro_15/27.pdf , último acceso 7 de julio

del 2008.

[Mücke,1993] Mücke, Ernst. “Shapes and implementations in three-dimensional geometry”.

Technical Report. University of Illinois at Urbana-Champaign, September 1993.

[Nomura,1992] Nomura H., Hayashi I., Wakami N. “A Learning Method of Fuzzy Inference

by Descendent Methods”, Proceedings IEEE International Conference on Fuzzy Systems, San

Diego, California, March 1992, pp. 203-210.

[Ogata,2003] Ogata K. “Ingeniería de Control Moderna”. ISBN: 8420536784, Prentice Hall,

México, 2003.

Page 110: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Referencias bibliográficas

96

[Ortíz,2007] Ortíz, E. A. “Sistema de inspección visual para la calidad de frutas”. Tesis de

Maestría en Ciencias en Ciencias Computacionales, Centro Nacional de Investigación y

Desarrollo Tecnológico CENIDET, Cuernavaca, Morelos; 2007.

[Real,2005] Real Jurado, Pedro. “Digitalización de imágenes y Topología”. Universidad de

Sevilla. Revista Imagen-a. 2005. Pág. 20-60.

[Rivero,2005] Rivero Mendoza ,Francisco. “Geometría Computacional”. Tutorial,

Universidad de Los Andes, Facultad de Ciencias, Mérida, Venezuela.

[Robins,1997] Robins, V.; et al. “Computing Connectedness: an exercise in computational

topology”. Nonlinearity 11 (1998), 913-922.

[Robins,1999] Robins, V.; Meiss, J.D., Bradley E. “Computing connectedness:

disconnectedness and discreteness”. University of Colorado, Boulder, CO 80309, USA. Ed.

Elsevier. 8 November 1999.

[Robins,2000] Robins, V. “Computational Topology at Multiple Resolutions: Foundations and

Applications to Fractals and Dynamics”. Thesis for the degree of Doctor of Philosofy.

Department of Applied Mathematics. University of Colorado. June 2000.

[Robins,2002] Robins, Vanessa. “Computational Topology for Point Data: Betti Numbers of

α-Shapes”. K.R. Mecke, D. Stoyan (Eds.): LNP 600, pp. 261–274, 2002. Springer-Verlag

Berlin Heidelberg 2002.

[Robins,2004] Robins, V; Abernethy J.; Rooney, R.; Bradley E. “Topology and intelligent

data analysis”. University of Colorado, Department of Computer Science. IOS Press 2004.

[Rosenfeld,1970] Rosenfeld, A. “Connectivity in Digital Pictures”. University of Maryland,

College Park, Maryland. Journal of the Association for Computing Machinery, Vol. 17, No. 1,

January 1970, pp. 146-160.

[Rosenfeld,1979] Rosenfeld, A. “Digital Topology”. The American Mathematical Monthly is

currently published by Mathematical Association of America Monthly, Vol. 86, No. 8.

(Oct.,1979), pp. 621-630.

[Rosenfeld,1981] Rosenfeld, A., Kak, A. C. “Digital Picture Processing”. Academic Press,

1981. ISBN: 978-0-12-597302-1. 2da. Edición.

[Sáez,2001] Sáez J. M., Escolano F., Hernández E. “Reconstrucción de mapas 3D a partir de

información estéreo utilizando un enfoque de minimización de energía”. Artículo presentado

en la Conferencia de la Asociación Española para la Inteligencia Artificial CAEPIA.

Universidad de Alicante. CAEPIA 2001.

[Sato,1996] Sato, Hajime. “Algebraic topology: an intuitive approach”. Editorial Board.

American Methematical Society. ISBN: 0-8218-1046-4.

Page 111: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Referencias bibliográficas

97

[Stanford,2008] University of Stanford. “The Stanford 3D Scanning Repository”. Pagina web

del repositorio de escaneo 3D de la Universidad de Stanford.

Liga: http://www-graphics.stanford.edu/data/3Dscanrep/

Último día de acceso: 20 de noviembre de 2008.

[Teichmann,1998] Teichmann M., Capps M. “Surface reconstruction with anisotropic

density-scaled alpha-shapes”. In IEEE Visualization '98 Proceedings, pages 67-72, San

Francisco, CA, October 1998. ACM/SIGGRAPH Press.

[Ulloa,2008] Ulloa Montoya, Héctor. “Análisis y Visualización de Datos para Interpolación N-

dimensional”. Tesis de la maestría en ciencias en ciencias de la computación. Centro nacional

de investigación y desarrollo tecnológico. Cuernavaca, Morelos, México. 2008.

[Vergara,2003] Vergara Villegas, O. O. “Reconocimiento de texturas artificiales, aplicación a

la obtención visual”. Tesis de Maestría en Ciencias en Ciencias Computacionales, Centro

Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Morelos; 2003.

[Watson,1981] Watson D. F. “Computing the n-dimensional Delaunay tessellation with

application to Voronoi polytopes”. The computer journal , vol. 24, No. 2, 1981.

[Wiki01] http://es.wikipedia.org/wiki/Politopo

Ultimo acceso 8 de julio de 2008.

[Xianozhu,2007] Xianozhu Lin; Junwei Ji; Yingying Gu. “The Euler Number Study of Image

and Its Application”. School of Information engineering, Beijing institute of Petrochemical

Technology, Beijing 102617, China. 1-4244-0737-0/07/$20.00 ©2007 IEEE.

[Zomorodian,2005] Zomorodian, Afra J. “Topology for computing”. Cambridge University

Press. ISBN 978-0-511-08220-7.

Page 112: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

98

Page 113: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

99

Anexos

Con motivos de ampliar la información expuesta en algunos de los capítulos, en esta

sección se presenta el siguiente listado con el contenido de cada anexo.

El anexo A contiene una gráfica donde se muestra la cantidad de vecindades de un punto en

algún espacio.

El anexo B muestra el esquema conceptual del algoritmo K-vecinos, representando cada

proceso.

El anexo C ilustra los diagramas de simulación en Simulink© de la identificación y control de

los sistemas dinámicos presentados en el capítulo 5.

Page 114: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

100

Anexo A

La gráfica indica la cantidad mínima de vecinos que un punto puede tener en un espacio

discreto. Está basada en la ecuación (2.1) del capítulo 2 que se utiliza para calcular la cantidad

de vecinos en un espacio donde es el número de dimensiones. La gráfica muestra la

complejidad computacional que se requeriría para trabajar a más de 10 dimensiones.

La alta dimensionalidad es un factor importante que se debe de tomar en cuenta ya que de ella

dependerá la eficiencia de los algoritmos que trabajen sobre estos espacios.

mero

de v

ecin

da

des

Número de dimensiones

Page 115: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

101

Anexo B

Esquema conceptual del algoritmo K-vecinos.

Etapa de preprocesamiento

Archivos KDatos.txt y KIndices.txt divididos por

regiones

Salida por pantalla de los vecinos más

cercanos al punto de

referencia

K-vecinos

Leer archivos KDatos.txt y

KIndices.txt

Obtener región del punto

de referencia

Obtener punto de

referencia

Obtener regiones vecinas

del punto de referencia

Buscar vecinos más cercanos al punto de

referencia en las regiones vecinas

Procesos

Salidas

Módulos

Entrada

Archivo de texto: puntos

(Coordenadas)

Datos con

consecuente o sin

consecuente

Preprocesamiento

Solicitar número de

divisiones por

coordenada

Generación de

archivos: KDatos.txt,

KIndices.txt

Page 116: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

102

Anexo C

C.1 Diagramas de identificación del sistema dinámico de primer orden lineal

Diagrama de simulación del sistema dinámico de primer orden lineal dado por:

Diagrama de simulación donde se comparan los resultados del sistema dinámico real y del

algoritmo K-vecinos.

Page 117: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

103

C.2 Diagrama de control del sistema dinámico de primer orden lineal

C.3 Diagramas de identificación del sistema dinámico de primer orden no lineal

Diagrama de simulación del sistema dinámico de primer orden no lineal dado por la ecuación:

Page 118: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

104

Diagrama de simulación donde se comparan los resultados del sistema dinámico real y del

algoritmo K-vecinos.

Page 119: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

105

C.4 Diagrama de control del sistema dinámico de primer orden lineal

C.5 Diagramas de identificación del sistema dinámico de segundo orden lineal

Diagrama de simulación del sistema dinámico de segundo orden lineal dado por la ecuación:

Page 120: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

106

Diagrama de simulación donde se comparan los resultados del sistema dinámico real y del

algoritmo K-vecinos

Page 121: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

107

C.6 Diagrama de control del sistema dinámico de segundo orden lineal

Page 122: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

108

C.7 Diagramas de identificación del sistema dinámico de segundo orden no lineal

Diagrama de simulación del sistema dinámico de segundo orden no lineal dado por la

ecuación:

Page 123: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

109

Diagrama de simulación donde se comparan los resultados del sistema dinámico real y del

algoritmo K-vecinos

Page 124: cenidet · Aplicación de la Topología Computacional a la Inspección Visual y el Control Inteligente presentada por José Luis Palacio Cinco Ing. en Sistemas Computacionales por

Anexos

110

C.8 Diagrama de control del sistema dinámico de segundo orden no lineal