146
SEP SElT DGlT CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO cenídet ARQUITECTURA MULTIAGENTE PARA EL RECONOCIMIENTO DE PATRONES VISUALES T E S I S QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES P R E S E N T A : JOSÉ DE JESÚS MALIBRÁN DE LEÓN - QI-Q46% DIRECTORES D E TESIS: DR. JOSÉ LUIS Llm GARCiA DR. RAÚL PINT3 ELíAS CUERNAVACA, MORE LOS SEPTIEMBRE DEL 2001

SEP SElT DGlT - CENIDET

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SEP SElT DGlT - CENIDET

SEP SElT DGlT

CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO

cenídet

ARQUITECTURA MULTIAGENTE PARA EL RECONOCIMIENTO DE PATRONES VISUALES

T E S I S QUE PARA OBTENER EL GRADO DE M A E S T R O E N C I E N C I A S EN CIENCIAS COMPUTACIONALES

P R E S E N TA: JOSÉ DE JESÚS MALIBRÁN DE LEÓN

- Q I - Q 4 6 % DIRECTORES DE TESIS:

DR. JOSÉ LUIS L l m GARCiA DR. RAÚL PINT3 ELíAS

CU ERNAVACA, MORE LOS SEPTIEMBRE DEL 2001

Page 2: SEP SElT DGlT - CENIDET

Centro Nacional de Investigación y Desarrollo tecnológico

FORMA C3 REVISION DE TESIS

Cuernavaca, Morelos a 21 de agosto del 2001

DR. RAÚL PINTO ELíAS Presidente de la Academia de Ciencias Computacionales Presente

Nos es grato comunicarle, que conforme a los lineamientos para la obtención del grado de Maestro en Ciencias de este Centro, y después de haber sometido a revisión académica la tesis denominada: ARQUITECTURA MULTIAGENTE PARA EL RECONOCIMIENTO DE PATRONES VISUALES, realizada por el C. JOSÉ DE JESÚS MALIBRAN DE LEÓN, y habiendo cumplido con todas las correcciones que le fueron indicadas, acordamos no tener objeción para que se le conceda la autorización de impresión de la tesis.

Sin otro párticular, quedamos de usted,

Atentamente

La comisión de revisión de tesis

%

M.C. MOISÉS GONZÁLEZ GARCíA

A M.C. M IL E VELAZCO SONI

I

M.C. ANDREA M ~ ~ A D Á N SALAZAR

U

6.EP o.Q.1.7 CE"R0 UqClONALD€ INVESTIGACIO~

Y DESARROLLO TECNOLOGICO SUBOlRECClON I?CAD€MICA

Codirecmr de tesis

C.C.P. Dr. Rodolfo Abraham Pazos RangeVJefe del Departamento de Ciencias Cornputacionales

INTERIOR INTERNADO PALMIRA S/N, CUERNAVACA. MOR. MÉXICO APARTADO POSTAL 5-164 CP 62050, CUERNAVACA. TELS. (73112 2314.12 7613.18 7741. FAX (73) 12 2434 cenidet

Page 3: SEP SElT DGlT - CENIDET

Centro Nacional de Investigación y Desarrollo tecnológico

FORMA C3 REVISION DE TESIS

Cuernavaca, Morelos a 21 de agosto del 2001

DR. RAÚL PINTO ELiAS Presidente de la Academia de Ciencias Computacionales Presente

Nos es grato comunicarle, que conforme a los lineamientos para obtención del grado de Maestro en Ciencias de este Centro, y después de haber sometido a revisión académica la tesis denominada: ARQUITECTURA MULTIAGENTE PARA EL RECONOCIMIENTO DE PATRONES VISUALES, realizada por el C. JOSÉ DE JESÚS MALIBRAN DE LEÓN,

habiendo cumplido con todas las correcciones que le fueron indicadas, acordamos no tener objeción para que se le conceda la autorización de impresión de la tesis.

I !

Sin otro particular, quedamos de usted.

Atentamente

La comisión de revisión de tesis

I M.C. MOISÉS GONZÁLEZ GARCíA

d

6 . U D G.1 T U9CiONAL Cf INVESTlGAClON

Y E A R R O L L 0 ECNOLOGICO Sb~OIRECCIO~J ACAOEMICA

Codirector de tesis

C.C.P. Dr. Rodolfo Abraham Pazos RangeVJefe del Departamento de Ciencias Computacionales

INTERIOR INTERNADO PALMIRA SIN. CUERNAVACA. M O R . MCXICO APARTADO POSTAL 5-164 C P 620%. CUERNAVACA. 1E.S. (73112 2314.12 7613 .I8 7741. FAX (73) 12 2434 cenidef

Page 4: SEP SElT DGlT - CENIDET

Centro Nacional de Investigación y Desarrollo Tecnológico FORMA C4

AUTORIZACIÓN DE IMPRESIÓN DE TESIS

Cuernavaca, Morelos a 3 de septiembre del 2001

C. JOSÉ DE JESÚS MALIBRÁN DE LEÓN Candidato al grado de Maestro en Ciencias en Ciencias Computacionales Presente

Después de haber atendido las indicaciones sugeridas por la Comisión Revisora de 1.a Academia de Ciencias Computacionales en relación a su trabajo de tesis: ARQUITECTURA

comunicarle, que conforme a los lineamientos establecidos para la obtención del grado de Maestro en Ciencias en este Centro, se le concede la autorización para que proceda con la impresión de su tesis.

MULTIAGENTE PARA EL RECONOCIMIENTO DE PATRONES VISUALES, me es grato

//z, ,/ Dr. Rodolfo Abra& Pazos Rangel

Jefe del Depto. de Ciencias Computacionales

INTERIOR INTERNADO PAiMlRA S/N. CJERNAVACA. MOR. M t X C O APARTADO POSTA. 5-164 C P 62050. CUERNAVACA. TELS.(73)12 2314.12 7613.18 774 I ,FAX(73) 12 2434 cenidef

Page 5: SEP SElT DGlT - CENIDET

A Reyna y Alexia con todo mi amor

Page 6: SEP SElT DGlT - CENIDET

AGRADECIMIENTOS

A Dios por permitirme alcanzar esta meta.

A mi Reyna y Alexia que con su amor me ayudan a fianquear cualquier barrera.

A mis padres Estefanía y Nicolás, que con su ejemplo me fortalecen en todo momento.

A mis hermanos Brenda, Daniel, Iván y Andrés, por su apoyo incondicional.

A mis suegros y cuñados por compartirme el calor de su hogar.

A mis asesores, Jose Luis Liñán y Raúl Pinto, por sus valiosas aportaciones para el desarrollo de esta tesis.

A los maestros del cenidef, por transmitie sus conocimientos

A la Secretda de Educación Pública (S.E.P.) y al Consejo Nacional de Ciencia y Tecnología (CONACyT) por las becas académicas que me otorgaron.

A Andrea por su sincera amistad

A mis compañeros de generación y demás amigos del cenidet, por todas las expenencias que pasamos juntos.

Page 7: SEP SElT DGlT - CENIDET

RESUMEN

En la actualidad, existe un gran número de aplicaciones de visión por computadora, tales como: operación remota de equipos, exploración teledirigida, análisis de imágenes de diagnóstico médico, sistemas de seguridad, interpretación de imágenes de satélite, reconocimiento de rostros y muchas aplicaciones que requieren una interpretación más certera de las imágenes que se analizan.

De igual manera, se ha creado un gran número de métodos de reconocimiento de patrones, los cuales presentan determinado desempeño en función de las características propias de la ¡magen y bajo algunas restricciones de aplicabilidad. Un método que resulte efectivo en la interpretación de un conjunto de imágenes, puede no serlo con un conjunto de imágenes con otras características.

El objetivo fundamental de la presente investigación es el siguiente: desarrollar una arquitectura multiagente, que permita mejorar los porcentajes de reconocimiento de pafrones visuaIes. La mejora en el porcentaje de reconocimiento que se pretende obtener es con respecto a los métodos individuales integrantes de la arquitectum Específicamente se utilizan imvnes binarias (0s QjgnsionCs,

Se presenta el desarrollo de un sistema multiagente integrado por ires agentes reconocedores de imágenes. Dos de los agentes incorporan el método de míni i s distancias y el tercero consiste en Una red neuronal buckpropagation. Cada agente es capaz, por sí solo, de dar una votación de certeza para una imagen de entrada, presentando un deterninado porcentaje de reconoc J ento exitoso.

El sistema multiagente prop0 1 ciona un efecto de sinergia al generar una votación de reconocimiento, producto de la cooperación de los agentes integrantes. Se implementan cuatro formas de integración de los rksultados individuales de los agentes, obteniendo diferentes desempeños con cada una En especial, una de las formas de integración busca que 10s agentes lleguen a un acuerdo en sus votaciones mediante un proceso de convencimiento.

El sistema emite una votación unánime o bien, una lista ponderada de hasta tres elementos como posibles candidatos a coincidir con la imagen de entrada.

Se considera que el objetivo se cumple si el desempeño global del sistema supera al individual de cada uno de los agentes que lo componen, para un mismo conjunto de imágenes. En las pruebas realizadas, dos de las cuatro formas de integración logran este objetivo, superando el resultado de cualquiera de los agentes individuales.

I

Page 8: SEP SElT DGlT - CENIDET

Contenido

CONTENIDO ......................................................................................................................... I ....................................................................................................................... I1

Lista de tablas VI1 Lista de ecuaciones VI11

Resumen Contenido Lista de figuras ............................................................................................................... V

................................................................................................................ ........................................................................................................

.. Capítulo 1 . Introduccion ............................................................................................. 1.1. Antecedentes ................................................................................. 1.2. Visi6n general de los sistemas multiagente .................................. 1.3. 1.4.

Panorama general del problema de visión por computadora ........ Justificación del uso de multiagentes en el problema de visión ....

1.5. Propuesta de investigación ............................................................ 1.5.1. Objetivo ............................................................................. 1.5.2. Alcances y restricciones ....................................................

. . . .

. . 1.5.3. Beneficios y productos esperados .....................................

1.6. Estado del arte ............................................................................... 1.6.1. Cognition Based Multi-Agent Architecture

1.6.2. Handwritten Word Recognition by a Multi-Agent System: Preliminary Resuits [MONTO-941 .....................

1.6.3. MIX: A General Purpose Multiagent Architecture

1.6.4. Real Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93] .....................

1.6.5. MAVI: A Multi-Agent System for Visual Integration

1.7. Organuación de la tesis ........................... ; ....................................

Capítulo 2 . Reconocimiento de patrones ................................................................... 2.1. Introducción ................................................................................... 2.2. Patrones ..... i ...................................................................................

2.2.1. . Tipos de patrones .............................................................. 2.2.2. Clasificación de patrones .................................................. 2.2.3. Patrones de imágenes ........................................................

2.3. Proceso de visión artificial ................. .......................................... 2.4. Imágenes .......................................................................................

2.4.1. Tipos de imágenes ............................................................. 2.4.2. Características que se pueden extraer de una imagen ....... Métodos de reconocimiento de patrones ....................................... 2.5.1. Métodos de decisión teórica [GONZA-96] ....................... 2.5.2. Clasificador de Bayes [GELMA-95] ................................

[ARCAN-95] .....................................................................

[IGLES-951 .......................................................................

[B01SS-94] ....................................................................... . .

. . . .

2.5.

1 1 3 4 6 6 6 7 7 8

8

10

12

13

15 16

18 19 20 21 22 23 24 26 26 26 31 32 32

Page 9: SEP SElT DGlT - CENIDET

............... ...... ............ _. . ._ ..___... ............ ~~ ..

Contenido

2.5.3. Redes Neuronales [FREEM-921 ....................................... 33 2.5.4. Métodos estructurales [GONZA-961 ................................. 34 2.5.5. Enfoque lógico cbmbinatono [RUiZ-95] .......................... 34

2.6. Conclusión del capítulo ................................................................. 35

Capítulo 3 . Agentes Inteligentes ................................................................................ 3.1. Introduccion ................ : ................................................................. 3.2. Agentes ..........................................................................................

3.2.1. ¿Qué es un agente? ............................................................ 3.2.2. Tipos de agentes ................................................................ 3.2.3. Ambientes ......................................................................... 3.2.4. Arquitectura general de un agente .....................................

..

3.2.5. Comunicación entre agentes ............................................. 3.3. Sistemas multiagente .....................................................................

Definición de sistema multiagente .................................... 3.3.1. 3.3.2. Protocolo de red de contrato [SMTH-SO] ........................ 3.3.3. Arquitectura de pizarrón [MAITR-90] .............................. 3.3.4. Observaciones adicionales de arquitecturas multiagente ..

3.4. Conclusión del capítulo .................................................................

36 36 37 37 39 41 42 43 45 45 45 46 48 49

Capítulo 4 . Modelo Propuesto .................................................................................... 50 4.1. Intmducció n. ................................................................................. 50 4.2. Arquitectura multiagente desarrollada. ......................................... 51 4.3. Imagen de entrada ......................................................................... 53 4.4. Prepmcesamiento de la imagen .................................................... 56

4.4.1. Reducción de ruido ........................................................... 56 4.4.2. Detección de Contornos ..................................................... 60 4.4.3. Determinación de la ventana mínima de un objeto en la

. . imagen .............................................................................. Preparación de una sesión de reconocimiento ............................... Agente de momentos invariantes .................................................. Agente de descriptores topológicos .............................................. Agente de red neuronal ................................................................. 4.8.1. Características de la red neuronal y etapa de

entrenamiento .................................................................... 4.8.2. Etapa de reconocimiento ...................................................

4.9. Integración de resultados ............................................................... 4.9.1. Verificación de la posición de cada objeto en la lista de

votaciones de los agentes .................................................. 4.9.2. Obtención del promedio de votaciones para cada objeto .. 4.9.3. Cálculo de la votación para cada objeto, tomando en

cuenta el peso de cada agente ............................................ 4.9.4. Intercambio de características entre el agente de

momentos invariantes y el agente de descriptores

4.5. 4.6. 4.7. 4.8.

. .

topológicos ........................................................................

64 67 69 72 74

74 76 77

77 79

81

82

111

Page 10: SEP SElT DGlT - CENIDET

Contenido

4.10. Resumen final del sistema desarrollado ........................................ 87 4.11. Conclusion del capítulo ................................................................. 88 ..

Capítulo 5 . Pruebas y resultados obtenidos .............................................................. 5.1. Caso de prueba 1 ..................................... ............................

5.1.1. Características del caso de prueba 1 .................................. 5.1.2. Resultados del caso de prueba 1 ........................................ 5.1.3. Conclusiones del caso de prueba 1 .................................... Caso de prueba 2 ........................................................................... 5.2.1. Características del caso de prueba 2 .................................. 5.2.2. Resultados del caso de prueba 2 ........................................

5.2.

5.2.3. Conclusiones del caso de prueba 2 ...... .................. 5.3. Análisis de resultados ..............

90 90 90 92 95 95 95 91 99 100

.................... 102 Capítulo 6; Conclusiones y trabajo futuro ............................... 6.1. Resumen del trabajo realizado ...................................................... 102 6.2. Objetivos alcanzados ............................................... 6.3. Principales aportaciones ............................................ 6.4. Conclusión final ...................... ..................................... 6.5. Trabajo futuro .............................................. .................... 104

Apéndice A . Objetos de prueba, caso de prueba 1 ... Apéndice B . Objetos de prueba, caso de prueba 2 ... Referencias., ..............................................................

....................................

Page 11: SEP SElT DGlT - CENIDET

. - ... ..... - . - . ...

Lista de figinas

LISTA DE FIGURAS

No . de figura Descripción PBgina

1 . 1 .

2.1.

2.2. 2.3. 2.4. 2.5.

2.6.

2.7.

3.1. 3.2.

4.1. 4.2.

4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9.

4.10. 4.11. 4.12. 4.13. 4.14. 4.15.

4.16. 4.17. 4.18.

. . . . Proceso de visión artificial ..................................................................................

Imagen con cuatro objetos en blanco y negro en el siguiente orden: flecha, cniz, súnbolo AND lógico y nudo cuádruple ............ : ........................................ Etapas del proceso de visión artificial. extraído de [GONZA-96] ..................... a) Imagen original. b) borde de la imagen y c) esqueleto de la imagen ............. Obtención del área, perímetro y densidad de una imagen .................................. Ejemplo de obtención de descriptores topológicos: a) H=l, C=l, E=O; b) H=2, C=l, E=l; c) H=O, C=l, E=l ................................................................ a) UM estructura simple de escalera; b) elementos primitivos u y b; c) estructura codificada ...... ; ................................................................................. a) aplicación de las reglas 1, 3 . b) aplicación de las reglas 1, 2, 1, 3 . c) aplicación de las reglas 1, 2, 1, 2, 1, 3 ............................................................

Arquitectura para un agente basado en utilidad ..................................... ............ Acciones básicas en un protocolo de contrato ....................................................

Arquitectura multiagente para el reconocimiento de imágenes .......................... Ejemplo de imagen de entrada al sistema, la cual presenta ruido aditivo y sustractivo ........................................................................................................... Imagen sin traslape entre las ventanas m í n i ¡ de objetos ................................ Traslape entre ventanas mínimas, no así entre objetos ....................................... Existe traslape entre los objetos .......................................................................... Algunos objetos aparecen incompletos en la imagen ......................................... Mascara utiliida para eliminación de puntos y líneas ...................................... Ejemplos de ruido en una imagen: a) aditivo y b) sustractivo ............................ Ejemplos de operación de la mascara sobre algunas muestras de submatrices de la imagen ong mal ........... .............................................................................. Ejemplos de ruido consistente en líneas no cerradas .......................................... a) Imagen original y b) imagen de contornos ..................................................... Mascara empleada para detección de contornos ................................................. Ejemplos de submatrices de imagen y valor de Wobtenido .............................. Coordenadas que indican la ventana mínima de un objeto ................................. Determinación de los índices de la ventana mínima de un objeto y de un hoyo contenido en él .................................................................................................... Eliminación de residuos en la ventana m i n i de un objeto .............................. Ejemplo de diferentes perspectivas de un objeto ................................................ Srurechurr que describe al agente integrador que verifica las posiciones de cada objeto ..........................................................................................................

. .

5

21 24 27 28

29

30

31

43 46

52

53 54 54 55 55 57 57

58 60 61 62 62 64

66 70 75

77

V

Page 12: SEP SElT DGlT - CENIDET

Lista de figuras

No. de figura Descripción Página

4.19.

4.20.

5.1. 5.2. 5.3. 5.4. 5.5.

5.6. 5.7. 5.8. 5.9. 5.10

Statechart para el agente integrador que promueve el intercambio de informacion.. . . . . . . . . . . . . , . . . , . . . , . . . . . . , . . . . . . . , . . . . . . . . , . , . . . . , . . . . . . . , . . . . . . . . . . . . . . . . . . . . , , , , . . . . . . . . . . . . . . . . . . . Diagrama de actividad del sistema multiagente desarrollado.. . . . . . . . . . . . . . . . . . . . . . . . . . .

-,

Imágenes de entrenamiento, caso de prueba 1 ._._. , . . .: . . . , , . . . . , . . . . . .. , . . , . . . . . . . , . . . . . . .. . . . . . Ejemplo 1 de imagen de prueba, caso .............................................................. Ejemplo 2 de imagen de prueba, caso 1 ..___....__._. ,_......___.... . _. .__....._...... .............,

Coincidencias en los resultados de los agentes reconocedores, caso de

Imágenes de entrenamiento, caso de prueba 2. ,_,_.._. ;.. . _. . ._,. ._.__......_ Ejemplo 1 deimagen de prueba, caso 2..

Resultados del caso de prueba 2 ...._..._._..._ Coincidencias en los resultados de los agentes reconocedores, caso de

Resultados del caso de prueba 1 ..._. ...._......

prueba 1 .................................................................

Ejemplo 2 de imagen de prueba, caso 2 __...._.

prueba 2 ...._. , . . . . . .. . .. . . . . ... . . . .............. ........... ..

._ <..._.._._,<.<.._............. . . . . . . . . . . . . . . . . . . . . . .

.. <..<.........<<..._..... . ......

........ <<<.<........ .......

84 88

91 92 92 93

94 96 96 97 98

99

Page 13: SEP SElT DGlT - CENIDET

LISTA DE TABLAS

No. de tabla Descripción Página

4.1. 4.2. 4.3. 4.4.

4.5. 4.6. 4.1. 4.8.

4.9.

4.10.

Ejemplo de salida del agente de momentos invariantes __._,....__._...____.._....... Ejemplo de salida del agente de descriptores topológicos. ........................ Ejemplo de salida del agente de red neuronal ....................................................... Salida del sistema mediante verificación de posiciones de cada objeto en las salidas de los agentes .__......_...... Salida final del sistema emple Ejemplo de pesos de certidumbre de los agentes reconocedores ....................... Salida del sistema considerando los pesos de certeza de los agentes .,............... Ejemplo de orden de importancia de los momentos para cada votación en particular del agente de momentos invariantes .......... ........ ... Ejemplo de orden de importancia. de los descnptores para cada votación en particular del agente de descriptores topológicos _,.._____., . __ .__... ........................... Líneas de código correspondientes a cada actividad del sistema.

. . . . . . . . . . . . . . . entes

1

78 78 78

19 80 81 82

85

86 81

Page 14: SEP SElT DGlT - CENIDET

..... ... ....... ... - ~- ..... - ... - - .........

Lista de ecuaciones

LISTA DE ECUACIONES

No . de ecuación Descripción Página

2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 2.9.

4.1. 4.2.

4.3. 4.4. 4.5. 4.6. 4.7. 4.8.

4.9.

Momento central de ordenp+q para una función bidimensional cont i n n ....... Momento central de ordenp+q para una imagen digital .................................... Momentos centrales normalizados ..................................................................... Cálculo de y para los momentos centrales normalizados ................................... Función de decisión para pertenencia a una clase x ........................................... Vector prototipo .................................................................................................. Distancia euclíd ea. .............................................................................................. Error medio de asignación de x a la clase wj ...................................................... Adecuación de la ecuación 2.8, según la teoría básica de probabilidades .......... Convoiución mediante una máscara para detección de ruido ............................. Cálculo de distancia entre puntos en un hiperespacio-considerando momentos invanantes . ........................ ............................................................................... Cálculo de similitud para un objeto de entrada .................................................. Factor de circularidad 1 ...................................................................................... Factor de circularidad 2 ...................................................................................... Factor de compactación 1 ................................................................................... Factor de compactación 2: .................................................................................. Cálculo de distancia entre puntos en un hiperespacio considerando descriptores topologicos ..................................................................................... . .

29 29 29 29 32 32 32 33 33

58

71 71 72 72 73 13

73 . .

Obtención de patrones de entrada a la red neuronal ........................................... 75

Page 15: SEP SElT DGlT - CENIDET

~ __ .. - .

Introducción Capítulo 1

CAPÍTULO 1 Introducción

I. introducción'

1.1. Antecedentes

1.2. Visión general de los sistemas muitiagente

1.3. Panoraqa general del problema de visión por computadora

3. Agentes inteligentes 4.2. Arquitectura multiagente

4.6. Agente de momentos invariantes 4.7. Agente de descriptores I 4.8. Agente de red neuronal

desarrollada

topológicos

1.4. Justificación del uso de multiagentes

2. Reconocimiento de patrones 4.3. imagen de entrada 4.4. Preprocesamiento de la imagen 4.6. Agente de momentos invariantes 4.7. Agente de descriptores topológicos 4.8. Agente de red neuronal

en el problema de visión .

1.5. Propuesta de investigación

1.6. Estado del arte

1.7. Organización de la tesis

1.1. Antecedentes

4. Modelo propuesto 5. Pruebas y resultados obtenidos 6. Conclusiones y trabajo futuro

2. Reconocimiento de patrones 3. Agentes inteligentes 4. Modelo propuesto 5. Pruebas y resultados obtenidos 6. Conclusiones y trabajo futuro

Desde tiempos inmemoriaies, el hombre ha buscado hacer más fáciies las tareas que realiza cotidianamente, sobre todo aquelios trabajos demasiado tediosos y repetitivos. Pero

' AI inicio de cada capitulo se presenta la relación de los temas del capítulo con temas del mismo y temas de capítulos posteriores.

Page 16: SEP SElT DGlT - CENIDET

Capítulo i Introducción

no sólo ha tratado de crear ayudas para el trabajo. Existen vestigios en la mitologia griega donde dioses creaban seres superiores a los humanos en destreza, inteligencia y fuerza. Igualmente, existen obras literhias que relatan la creación de seres vivientes a partir de cadAveres o parte de ellos. En el siglo X X , es fácil encontrar películas cn las que máquinas computadoras alcanzan una gr& inteligencia, siendo capaces, de no ser por el héroe de la cinta, de dominar a la raza humana. En estos ejemplos, se aprecia el deseo del hombre por crear seres similares a él en diversos aspectos, principalmente, en inteligencia.

Con la creación de las primeras computadoras, algunos cientíiicos vieron la posibilidad de programarlas para que realizaran algo más que sólo cálculos matemáticos. Quiza la velocidad con la que las computadoras manejaban grandes volúmenes de datos les hizo pensar en hacerlas trabajar exhibiendo una conducta inteligente, como el humano mismo.

En la década de los 50's John McCarthy acuña el término inteligencia artificial para referir al área de investigación encargada de describir, en forma suficientemente precisa, los distintos procesos y características propias de la inteligencia humana, de modo de permitir su simulación por medio de programas de computadora [MISHK-85]. A partir de entonces, se empieza a trabajar en el modelado de "problemas de juguete", kicamente juegos que se dice requieren de inteligencia para resolverse. Por ejemplo, se crearon técnicas de búsqueda de movimientos para el ajedrez, damas, puzzle y otros. En los últimos años se han modelado problemas reales y se ha creado Luna amplia gama de técnicas de inteligencia artiJicia1 para la solución de problemas complejos. Hoy en día se puede hablar de tareas tendientes a emular las capacidades humanas como son: desplaumiento autónomo de robots, procesamiento del lenguaje natural, visión por computadora, capacidad sensorial, etc. Estas tareas se consideran propias de la inteligencia artificial. Además, se han creado innumerables sistemas expertos como apoyo a la toma de decisiones importantes.

Muchos trabajos que se encuentran dentro del área de la inteligencia artificial versan sobre entidades individuales, es decir, procesos aislados que realizan una función determinada, tratando de emular el accionar de un humano. Pero, los seres humanos son sociables por naturaleza, es decir, muchas de sus actividades cotidianas las realizan en grupos; más aún, existen actividades tan delicadas o importantes que requieren de un equipo de trabajo para su consecución efectiva. Es aquí donde se trata de crear gnipos de procesos trabajando en la solución de un mismo problew intentando imitar el trabajo que se r& por un equipo de expertos humanos. Así, nace la inteligencia artificial diswibuida, en la cual se busca la solución colaborativa de problemas globales mediante entidades distribuidas [DEMAZ-90].

De manera similar al trabjo en grupo desarrollado en organizaciones humanas, en la solución de problemas computacionales complejos es necesaria la cooperación de diferentes entidades especialistas, cuya participación coordinada permita obtener una solución que cubra todos los aspectos del problema Del mismo modo, en aplicaciones de aka pnondad,

2

Page 17: SEP SElT DGlT - CENIDET

- - - .

Capítulo 1 lntroduccibn

la res&& de un problema basándose en un solo método puede comprometer la exactitud de los resultados.

El presente trabajo de investigación está comprendido dentro del área de la inteligencia artiñcial distribuida. $e desarrolla una arquitectura multiagente (ver secci6n 1.2) en la cual los agentes" integrantes colaboran para la solución de un problema: el reconocimiento de patrones visuales.

En este capítulo se introduce ai lector en el área de agentes inteligentes y sistemas multiagente, además se presenta la complejidad implicada en el área de visión por computadora. UM vez revisado lo anterior se presenta la justiíicación de la aplicación de muitiagentes para solucionar problemas de visión artificial. Se expone también la propuesta inicial de investigación, mencionando los objetivos de la misma, los alcances y restricciones, así como los beneficios y productos esperados. Fmalmente se presentan algunos trabajos relacionados a la presente investigación.

I

1.2. Visión general de los sistemas multiagente I,

Como se menciona en la sección 1.1, la inteligencia art$ciaI distribuida se ocupa de la solucidn colaborativa de problemas globules por un grupo de entidades distribuidas P E W - 9 0 1 . Estas entidades van desde simples elementos de procesamiento hasta entidades de gran complejidad que exhiben conducta racional.

La solución de problemas o ejecución de tareas es colaborativa en el sentido de que es necesario el trabajo conjunto de entidades, a fin de que el grupo, visto como un solo ente, produzca una solución o realice exitosamente una tarea global ["NS-93].

El grupo de entidades es distríbuido ya que, tanto los datos como el control, se encuentran lógica y/o geogrtdicamehe distribuidos.

Una tarea global de este tipo puede llevarse a cabo en un sistema distriiuido o manejarse como procesos concurrentes en una misma máquina Cuando se usa un sistema distribuido, es decir, una red de computadoms, los procesos se encuentran físicamente distribuidos en diferentes miquinas. Por otra parte, cuando se manejan procesos concurrentes en una misma máquina, éstos s610 están lógicamente distribuidos.

Dentro de la inteligencia artificial convencional aparece el concepto de agente inteligente, el cual se emplea para designar a una enridad inieligenfe que actúa en forma racional e intencional de acuerdo a sus objetivos y al estado actual de su conocimiento

En el presente trabajo, se define agente como: enfidnd auiónoma de software, que percibe el ambiente en tdrminos de imdgenes y lo inferpreia o reconoce a p d i r de un conocimienfo previo y la colaboración con ofros agenfes reconocedores.

3

Page 18: SEP SElT DGlT - CENIDET

Capítulo 1 Introducción

[LIÑAN-96]. En el campo de lalinteligencia artificial distribuida se encuentra el concepto de sistemas multiagente, el cual consiste en un grupo de agentes que fienen por objetivo resolver un mismo problema, para lo cual hacen uso de su caoocidad de comunicación a fin de aprovechar la apfitud de otros agenfes del sistema [BOISS-941, [CONNA-91], [DEMAZ-91] y [MALIB-97].

Es importante hacer notar que un agente inteligente es, por lo general, una entidad especialista en alguna actividad,determinada Si bien, se pueden crear agentes que sean capaces de resolver problemas diferentes en su esencia pero similares en su modelado, es muy dificil crear un agente genérico capaz de resolver cualquier tipo de problema.

Un sistema mdtiagente puede trabajar de diferentes formas, según el tipo de problema que se desea resolver o la tarea que se requiere realizar. Un modo de trabajar se presenta cuando se desea realizar una tarea demasiado extensa y compleja en la que se requiere la intervención de agentes especialistas en diversas áreas. En este caso, cada agente se encarga de una subtarea en particular. Considérese el caso de una arquitectura multiagente encargada de controlar las acciones de un robot. En este sistema e>tistirsn agentes para cada actividad que se requiere; por ejemplo, un agente que perciba el ambiente, otro que vigile la manipulación de objetos por el robot, uno más para planear la trayectoria de movimientos necesarios para la locomoción, y así, agentes especialistas en otras subtareas.

Otra forma de trabajar de un sistema multiagente puede apreciarse en el ejemplo anterior; quizá una subtarea en particular sea tan compleja que requiera del trabajo de diversos especialistas que busquen solucionar el mismo problema desde diferentes puntos de vkta Por ejemplo, si el robot se mueve en un ambiente con demasiados obstáculos, tal vez se requiera de un grupo de agentes que se encarguen de buscar el mejor plan de movimientos del robot.

El ejemplo anterior permite visualizar que en un sistema multiagente, cada entidad integrante no tiene que ser por fuerza un único agente, sino que, a su vez, puede ser un sistema multiagente visto como una entidad individual. Con lo anterior, se pueden formar sistemas multiagente complejos para la solución de problemas también complejos.

1.3. Panorama general del problema de visión por computadora

Con respecto a los otros sentidos del cuerpo humano, el sentido de la vista es considerado el más rico debido a la gran cantidad de información que se puede obtener del ambiente en que se encuentra la persona. Mediante este sentido los humanos perciben de manera inmediata io que ocurre a su alrededor. Por ejemplo, una persona n o d puede fácilmente reconocer a cada uno de sus compañeros de trabajo con s610 mirarles. Igualmente, puede distinguir con gran facilidad entre una persona joven y un anciano con observarlos. Más aún, es muy posible que el lector de este escrito reconozca a su padre en

4

Page 19: SEP SElT DGlT - CENIDET

Introducción Capítulo I

Digiialización Localización Extracción de la de los de

imagen objetos caraden’sticas

una fotografia tomada 10 años atrás. En resumen, el ser humano cuenta con una percepción visual enorme del mundo que le rodea [MALIB-96].

.I

Existe una rama de la inteligencia artificial en la cual se trata de emuiar el sentido de la vista del ser humano, ésta es conocida como visión artificial o visión por computadora. Las técnicas de visión por computadora involucran el desarrollo de estrategias computacionales que modelan atributos de la percepción visual humana (como el reconocimiento de figuras) dentro de las restricciones ñsicas del hardware actual.

Reconocimiento de

pairones

En contraste con una computadora digital, que puede tardar minutos en interpretar una imagen y generar una respuesta, el proceso visual humano podría generar la respuesta en segundos utilizando elementos de procesamiento de información relativamente lentos llamados neuronas [GUPTA-931.

Existe otra diferencia básica entre la visión humana y la visión por computadora. El humano cuenta con una visión panorámica, es decir, aún cuando se encuentre mirando a un lugar en particular, se tiene información del área que rodea ese punto en especial. Por su parte, la computadora almacena la imagen completa digitalizada en un archivo, pero no puede procesar la imagen completa a un mismo tiempo; ésta lo hace punto por punto, buscando relaciones existentes entre los mismos.

Para realizar el reconocimiento de una imagen, usando una computadora para tal fin, generalmente es necesario seguir una serie de pasos o etapas que integran el proceso de visión por computadora. A grandes rasgos, se puede dividir en 4 etapas: digitalización de la imagen, localización de objetos dentro de la imagen, extracción de características de los objetos y reconocimiento de los objetos a partir de los rasgos obtenidos. La figura 1.1 muestra este proceso.

Figura 1. I. Proceso de visión artificial.

Se conoce cómo se forma lamimagen en el ojo [GONZA-96], pero se desconoce cómo se relaciona tal imagen con el conocimiento previo que se tiene del mismo o de objetos similares; más aún, se ignora cómo se representa y almacena el conocimiento en el cerebro humano. Sin embargo, en el área de visión artificial se han creado técnicas de

5

Page 20: SEP SElT DGlT - CENIDET

Capítulp 1 Introducción

representación de objetos a partk"de características observadas en los mismos. En el capítulo 2 se explican algunas de las caract'erísticas que se pueden extraer de una imagen digital.

1.4. Justificación del uso de'multiagentes en el problema de visión

Reconocer imágenes mediante una computadora es un problema abierto para el que no existe un método que sea acertado en todos los casos. Cada método existente trabaja bajo ciertas restricciones, y cada uno es relativamente bueno bajo ciertas características de la imagen

El presente trabajo de tesis nació de la inquietud de aprovechar el potencial de los sistemas multiagente para obtener resultados más confiables en el reconocimiento de patrones de imágenes.

Lo que se pretende con este sistema multiagente es: reunir el potencial de diferentes agentes para incrementar los porcentajes de reconocimiento. En este sistema, cada agente es capaz de reconocer los objetos contenidos en una imagen de entrada. Mgicamente, puede hakr agentes que se desempeñen mejor que otros ante las características propias de la imagen; con ello, es posible reducir un poco las restricciones que deben cumplir las imágenes de entrada.

No se pretende crear un nuevo método de reconocimiento, ya que p w ' a a ser un método más, tampoco se busca mejorar uno ya existente. Se pretende crear una arquitectura que aproveche las características de cada uno de los agentes integrantes del sistema y obtener mejores resultados que cualquiera de los agentes que lo integran, si trabajaran de m e r a individual.

1.5. Propuesta de investigación

1.5.1. Objetivo

Desarrollar una arquitectura multiagenie que permita mejorar los porcentajes de reconocimiento de pairones visuales.

La hipótesis fundamental que da origen a este trabajo es: si se emplea un grupo de agentes reconocedores de pairones que trabajen conjuntamente, entonces es posible obtener mejores resultados que los que se obtienen de manera individual por cada uno de ellos.

Page 21: SEP SElT DGlT - CENIDET

-- - - - . . ... .

Intrducción Capítulo 1

1.5.2. Alcances y restricciones

Se trabaja con tres agentes reconocedores de objetos, el primero de eiios maneja los momentos invariantes de Hu [iiü-621, el segundo maneja descnptores topológicos [GONZA-96] y el tercero una red neuronal del tipo buchpropugution [FREEM-921. Se eligen estos tres agentes por las siguientes razones: I) los momentos invariantes presentan buen desempeño ante variaciones de rotación, traslación y escala; 2) los descriptores topológicos permiten un buen reconocimiento ante imágenes flexibles que presentan estiramientos y huecos; 3) las redes neuronales han reportado buen desempeño en el reconocimiento visual. En el capítulo 4 se describe a mayor amplitud las características de cada uno de los agentes.

Se trabaja con imágenes digitales, es decir, imágenes previamente digitaiizadas y almacenadas en archivos. El formato de archivo que se acepta es el BMP (Mapa de bits de windows), sin embargo, no es Wcil agregar funciones para lectura de archivos PEG (Joint Photographic Experts Group), GIF (Graphics Interchange Format) y otros; lo cual no forma parte del objetivo de esta tesis.

El tipo de imágenes que se maneja es: imágenes bmarias en dos dimensiones (2D). Es decir, imágenes en dos colores (color de objeto y color de fondo) que no guardan información acerca del valor de distancia en cada punto en la imagen.

Un objeto contenido en la imagen de entrada puede ser de cualquier tipo, siempre y cuando todos los puntos que lo componen se encuentren conectados, es decir, que formen una sola región. A este tipo de objetos se les conoce como objetos sólidos.

Se admite que los objetos contengan huecos, es decir, regiones de color de fondo dentro del objeto en la imagen.

El sistema propuesto se desarrolla en el laborutorio de írabqio asistido por computadora (TAC) del Cenfro Nacional de Investigación y Desarrollo Tecnológico (cenidet), bajo el sistema operativo Solaris versión 2.5.1.

1.5.3. Beneficios y productos esperados

Se espera obtener un sistema multiagente básico, con tres agentes, para probar el funcionamiento del sistema. El sistema obtenido tendrá una estructura y funcionamiento que permita agregar más agentes reconocedores o cambiar los existentes por otros que puedan dar una salida similar a la que proporcionan los métodos que se implementanm.

rn En esta tesis no se realiza la adici6n o sustitución de agentes ai sistema, esta labor queda considerada como un trabaja futuro.

I

Page 22: SEP SElT DGlT - CENIDET

Capítulo 1 Introducción

Se busca lograr que la arquitectura propuesta supere los resultados obtenidos por los agentes que la integran. Con ello se quiere probar que el resultado que se obtiene al conjuntar varios agentes reconocedores de imágenes, trabajando en el reconocimiento de un mismo objeto en una imagen, es superior al obtenido por cualquiera de eUos de manera individual.

El sistema obtenido podrá aplicarse en proyectos de visión por computadora y estará disponible para ser adaptado a <tuaciones de reconocimiento específicas de problemas futuros.

1.6. Estado del arte

El estado del arte que a continuación se presenta es exclusivamente de trabajos reportados sobre arquitecturas multiagente, algunos de los cuales se aplican a la solución de problemas de Visión, otros se han considerado importantes por definir estrategias para la creación de sistemas mdtiagente.

1.6.1. Cogniíion Based Mulli-Agent Architecture [ARCAN-95]

Esta arquitectura, üamada arquitectura basada en conocimiento (CBA por sus siglas en hg16s), torna en cuenta la heterogeneidad inherente de los sistemas abiertos, la adición o sustracción de recursos, así como la auto-optimización de las comunicaciones entre agentes en tales sistemas.

Existen tres hipótesis fundamentales en las que se basa la arquitectura propuesta por Arcand. F’rimera, en el marco de trabajo del modelo estándar ISO, la arquitectura se sitúa en el nivel de aplicación, abstrayendo tohmente la localización de los agentes en la red de telecomunicaciones. Segunda (esta dpótesis es clave), los agentes tienen acceso a un conjunto de lenguajes de comunicación el cual les permite intercambiar conocimiento. Por un conjunto de lenguajes (o protocolos), se entiende que para todo par de agentes A y B existe al mms un protocolo de comut+cación que es conocido por ambos, y es la base para el intercambio de mensajes sintácticos y semánticos estandarizados. Tercera, debido a que se deben f o m grupos de especialistas para cumplir una tarea, es importante que un agente, encargado de iniciar la tarea colectiva, tenga acceso a uno o varios bancos de agentes.

La CBA permite que los agentes sean vistos como consultores cuyo “valor en el mercado” está directamente relacion/o a su credibilidad y nivel de experiencia. LOS expertos con ciertas afinidades pueden formar equipos, los novatos pueden beneficiarse de la experiencia de los agentes senior, y la popdaridad de un servicio es el resultado de la proliferación de agentes especializados en tal servicio.

8

Page 23: SEP SElT DGlT - CENIDET

Introducción Capítulo I

La arquitectura CBA dirigida por objetivos tiene tres componentes principales: agentes inteligentes junior (JIA), agentes inteligentes senior (SIA) y agentes facilitadores (FA).

El agente infeligenfe junior, o JIA, es un especialista en un dominio específico del conocimiento. Está equipado con un registro de información sensorial (SIR) y memoria de duración corta (STM). El conocimiento del agente se incrementa con el conocimiento adquirido durante una sesión de &abajo. La especialidad del agente involucra: beneficio del conocimiento obtenido mediante detectores o mensajes recibidos de otros JIA y capacidad de llamar a un SIA cuando el conocimiento de duración corto es insuficiente. La comunicación entre JIAs es efectuada directamente m e d i t e mensajes o a través de un FA. Todo JIA está ligado a un SIA con el cual se comunica mediante mensajes. Todo JIA es conocido ai menos por un FA. Finalmente, todo JIA tiene asociada una razón de eficacia, la cual corresponde a la satisfacción promedio de los otros JIAs al haber solicitado los servicios del JIA en cuestión.

El agente inteligente senior, o SIA, consta básicamente de una base de conocimiento evolutiva de duración larga (memoria de duración larga). Este agente almacena sus experiencias de trabajo en grupos previos y coloca este conocimiento disponiile a los JiAs. La especialidad de un SIA consiste en la transmisión de conocimiento a los JIAs y, si él mismo no posee la información requerida Uamar a otros SIAs para encontrar una respuesta. Un SIA puede estar ai seMcio1,de muchos JIAs y se encuentra registrado con un FA. Al igual que los JIAs, los SIAs poseen un nivel de eficacia, el cual está asociado con su popuiaridad con los JiAs.

El agente facilitador, o FA, juega varios papeles dentro de la CBA. Como SU nombre lo indica, facilita la interhión entre agentes. Sus roles principales son:

Lugar de registro: cuando los paríicipantes de un grupo trabajan, JIAs y SIAs se registran con un FA. Cada agente debe proporcionar cuatro datos diferentes: (1) tipo, que puede ser junior o senior; (2) especialidad; (3) protocolos de comunicación conocidos; (4) eficacia. Servicio de enlace: cuando un JIA requiere un tipo de experiencia y no está directamente relacionado con otro JIA que le proporcione tal experiencia, el JIA llama al FA el cual solicita los servios a un agente y comunica los resultados ai agente Uamador, o bien, pone a l JIA en contacto directo con el JIA deseado. Ésto implica que el FA pueda conocer los servicios de otro agente mediante un banco de agentes. Optimizador de la red de comunicaciones: cuando un grupo comienza SU trabajo, todos los agentes se comunican entre ellos mismos mediante ei FA, de manera similar a la arquitectura de pizarrón. Cuando la comunicación entre dos agentes se vuelve intensa, el FA establece contacto directo entre los dos agentes a fin de optimizar la comunicación

9

11

Page 24: SEP SElT DGlT - CENIDET

Capítulo 1 Introducción

Esto es equivalcke a cambiar de la comunicación mediante pizarr6n a la comunicación por paso de mensajes.

Cuando un agente JIA se encuentra muy ocupado, el JIA puede crear un don de sí mismo al cual puede delegar parte de sus tareas. Durante la clonación, el JIA proporciona al clon asistente una copia de su SIR’y STM. El asistente se liga al mismo SIA, al iguai que su creador. El JIA creador es responsable de eliminar a su asistente cuando no haya más tareas por hacer.

La opción de clonación permite a los agentes efectuar tareas en paraielo. Existe un número de restricciones sobre las tareas que pueden ser delegadas a un clon y puede ocurrir que un JIA tenga muchas tareas de este tipo, por lo que no pueda crear clones. En este caso, el FA podría crear un clon p e y e n t e del agente, es decir, una nueva instancia del JiA el cual es por sí mismo parte del banco de agentes

Arcand presenta una breve descripción acerca de la representación del conocimiento de los agentes de la CBA, la c d l combma el modelo de Rasmussen [KOZA-92] y del modelo de Atkinson and ShiEn [ATKIN-681. Así como su idea de construir una arquitectura la cual permita la aplicación de los resultados de la psicologia cognitiva y validar la propuesta en un sistema computacional-humano.

Finalmente Arcand [ARCAN-95] expone la representación del conocimiento de los agentes JIA y SI& así como las ecuaciones que permiten evaluar la eficacia de tales agentes.

Comenturjos: Arcand y PeUetier presentan una propuesta interesante de arquitectura multiagente compuesta por agentes junior, senior y facilitadores. Cada tipo de agente posee diferente representación del conocimiento y tareas específicas dentro de la arquitectura. Algunos de los puntos que sobresalen en esta propuesta son la aplicación de memorias de término corto y de término largo, así como la optimización que se realiza en lo referente a la comunicación en la red mediante ld combinación de un pizanón con el paso de mensajes entre agentes. Otro punto de interés consiste en la clonación de agentes para la más rápida ejecución de tareas, ya que con eUo facilita el paralelismo en la ejecución. Además debido a que existe una medida de eficiencia y credibilidad para cada agente, es posible realizar una selección de aquellos que reportan mejores resultados y eliminar a los que presentan un desempeño pobre, obteniendo con ello bancos de agentes más efectivos y confiables.

1.6.2. Handwritten Word Recognition by a Multi-Agent System: Preliminary Results [MONTO-941

El reconocimiento de manuscritos generalmente es un problema faCd para un humano pero es extremadamente dificil para una mAquina.

10

!I

Page 25: SEP SElT DGlT - CENIDET

Introduccihn Capítulo 1

La idea general del trabajo reportado es realizar un reconocimiento total del manuscrito implementando la cooperación de aigunos sistemas de reconocimiento: uno para palabras, uno para números y Uii verificador sintáctico basado en reglas; cada sistema posiblemente dividido en otros subsistemas.

Montoliu se limita a presentar el sistema reconocedor de palabras. Delimita el problema a la lectura de las letras contenidas en un cheque bancario, un sistema reconocedor de números se encargará de los datos numéricos contenidos en el documento.

La arquitectura multiagente propuesta cuenta con un primer nivel de agentes que tienen una capacidad común (parcial o totalmente), basados en diferentes mecanismos. También cuenta con un agente de segundo nivel (o concentrador) cuyo trabajo consiste en evaluar y reforzar la respuesta correcta proveniente de las respuestas de los agentes primarios, especialmente en casos ambiguos. El agente secundario posee un conocimiento acerca del comportamiento de los agentes primarios ante diversas situaciones y estímulos.

El sistema de reconocimiento de manuscritos posee una base de datos con aproximadamente 13,000 ejemplos I representando 26 palabras diferentes (en francés) extraídas de documentos escritos por más de 500 personas.

Se emplean tres tipos de agentes primarios: red neuronal, clasicador k” (k Nearest Neighbours) y clasicador HMM (Hidden Markov Model). Estos agentes dan un valor para cada una de las clases existentes, cada valor consiste en un porcentaje de similitud con la clase en cuestión.

El agente secundario es una red neuronal la cual ha sido entrenada para evaluar la confiabilidad de cada uno de los agentes primanos. Este agente combina la información generada por los primarios y tiene como salida una lista ponderada en el mismo formato que los agentes del primer nivel. Se espera que la salida del agente secundario sea tomada por el agente sinktico-semántico ei cuai seleccionará la respuesta más compatíble con la sintaxis y la semántica del contexto.

Montoliu afirma que, aún si el desempeño de reconocimiento individual de los agentes primarios no es muy alto, el desempeño global del sistema se incrementa a través del proceso realizado.

El agente IC” posee una d n de reconocimiento cercana al 80% tomando en cuenta &lo el primer elemento de la lista de salida. La posibiidad de que la respuesta correcta se encuentre entre los tres primeros es del 94%. El porcentaje de probabilidad de que la respuesta correcta se encuentre entre los primeros cinco elementos es del 99%.

El agente de red neuronal presenta porcentajes de acierto del SO%, 91% y 94% para los casos en que la respuesta correcta está en ia primer posición, entre los primeros tres o entre los primeros cinco, respectivamente.

Page 26: SEP SElT DGlT - CENIDET

Capítulo 1 Iniroducci6n

El agente HMM alcanza el 70% de aciertos en la primer posición, 85% entre los tres más probables y 90% para los cinco más probables.

El agente secundario da una respuesta única y decisiva si el porcentaje obtenido para la mayor votación tiene una difertncia de 20 puntos porcentuales respecto de la segunda votación. En caso contrario, la salida es una lista ponderada de reconocimiento.

Comenfurios: Puede observarse que el trabajo reportado por Montoliu posee una gran similitud con el desarrollado en el presente trabajo de tesis. Ambos trabajos proponen un conjunto de agentes que realizan el reconocimiento visual y un agente integrador que es quien da la votaci6n final. Las diferencias que se pueden encontrar entre ambos son: el tipo de agentes empleados, el tipo de objetos a reconocer, y la forma en que trabaja el agente integrador (conocido como secundario en el trabajo de Montoliu). Sin embargo, no es posible comparar los resultados obtenidos en esta investigación con el trabajo realizado por Montoliu ya que éste no reporta resultados del sistema multiagente desarrollado, s610 de cada uno de los agentes que confomb el sistema.

1.6.3. MIX: A General Purpose Multiagení Archiíeciure [IGLES-95]

En este Wícuio se propone un marco de trabajo general para la interoperación de sistemas de software. La arquitectura propuesta se basa en un trabajo previo del mismo autor, investigando una clase particular de sistemas hííridos: aquellos integrados por componentes simb6licos y conexionistas.

La arquitectura MIX se compone de dos entidades básicas: los agentes y la red a través de la cual eiios interactúan.

Se deñne un modelo por capas, donde se consideran dos tipos de agentes: los agentes de red, que ofiecen servicios para el mantenimiento de la red y los ugenfes de uplicución, aquellos que intentan blucionar un problema particular a través de la cooperación con otros agentes.

La red de la arquitectura MIX se divide en tres capas:

0 Capo de inierj¿¿, que provee los mecanismOs de encapsulamiento Y abstracci6n necesarios para aislar al agente mismo de la red, a través de la cual interactúa con otros agentes. Esta capa incluye funciones primitivas para la composición/extracci6n de mensajes y envío/recepción con diferentes modos de sincroni2aci6n C u p de memuje, que implementa las facilidades para la composición de mensajes y extracci6n de contenido. Un mensaje se compone de: direcciones del remitente y destinatano, el discurso del mensaje, el cuerpo y un lenguaje de representaci6n del conocimiento.

12

Page 27: SEP SElT DGlT - CENIDET

Capítulo 1 Introducción

Capa de trumporre, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura muitiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofreciendo servicios especializados ai resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Base de daios interno, que contiene un modelo del ambiente, un modelo del estado de sí d m o , un administrad or de procesos y objetos privados. Buzón de correos, 'honde se reciben todos los mensajes de entrada. Control, que dete& el comportamiento general del agente.

. .

Un agente típico o h e servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (Uamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que e s t n i en proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

Comentarios: Una de las principales contribuciones de la arquitectura MIX es la distinción explicita entre el modelo de agente y el modelo de red. Esta distinción p e d t e la integración de diferentes modelos de agente de una m e r a uniforme. El modelo de agente de la arquitectura provee un alto grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas muitiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

UM tecnoiogía que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación, remota, 5emiles e inteligentes, empleados en actividades complicadas tales como, constn~cción, mantenimiento y desarrollo de fiaestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridinensionales mediante

13

Page 28: SEP SElT DGlT - CENIDET

Capitulo I introducción c

C u p de transporte, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de actierdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas &paces de perseguir objetivos particulares, ofieciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Buse de duros inferno, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un adrmnistrad or de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

. .

Un agente típico ofrece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (Ilamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de controL En tal aplicación, que estrii 'en proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicaci6n del modelo de red descrito anteriormente. Asi mismo, se puede observar el empleo de diversos agentes heterogénms encargados de diferentes subtareas.

Comentasios: UM de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas muitiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAü-93]

UM tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación remota, flexibles e inteligentes, empleados en actividades complicadas tales como ,, construcción, mantenimiento y desarrollo de infraestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridimensionales mediante

13

Page 29: SEP SElT DGlT - CENIDET

Introducción Capítulo 1

Capa de iransporic, que es responsable de la interacción en la red, hplementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heteroghea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de int6rfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, o~eciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

LOS componentes internos de un agente MIX son los siguientes:

&se de datos interm, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administra dor de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

. .

Un agente típico o h e servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (Ilamando funciones de biblioteca o p r o m externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estrii en proporcionar a un operador humano el mejor plan de operación a partir de seaales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogkneos encargados de diferentes subtareas.

Comentarios: UM de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción p e d e la integración de diferentes modelos de Gente de una manera uniforme. El modelo de agente de la arquitectura provee un alto &do de p a r a l e h en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones redes que muestren a igh desempeño comparable con otros tipos de arquitecturas muitiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

Una tecnologh que permita conocer el ambiente de trabajo es crucial para el desarrolio de sistenias de operación remota, flexiiles e inteligentes, empleados en actividades complicadas tales como construcción, mantenimiento y desarrollo de Maestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que d e m i i la localización de objetos tridmensionales mediante

Page 30: SEP SElT DGlT - CENIDET

Capítulo 1 ,< Introducción

Capa de transporte, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MM puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes M X son entidades autónomas capaces de perseguir objetivos particulares, oüeciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Buse de datos interna, que contiene un modelo del ambiente, un modelo del estado de si mismo, un administra dor de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

. .

Un agente típico oüece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (üamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estriiien proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de dgerentes subtareas.

Comentarios: UM de las principales contribuciones de la arquitectura Mix es la distiición explícita entre el modelo de 'agente y el modelo de red. Esta distinción permite la integraci6n de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas muitiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

Una tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación' remota, fiemiles e inteligentes, empleados en actividades complicadas tales como" construcción, mantenimiento y desarrollo de Maestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que descn'ban la localizaci6n de objetos tridimensionales mediante

13

'I1

Page 31: SEP SElT DGlT - CENIDET

Capítulo i Introducción

Cupu de frunsporfe, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas dpaces de perseguir objetivos particulares, ofieciendo servicios especializados al resto de 10s agentes y demandando servicios de otros agentes.

LOS componentes internos de un agente MIX son los siguientes:

Bare de duros interna, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que dete& el comportamiento general del agente.

Un agente típico oíiece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (ílamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estrii en proporcionar a un operador humano el mejor plan de operación a partir de señaies captadas por censores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

Comenfurios: Una de las principales contribuciones de la arquitectura h4IX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción permite la integración de diferentes modelos de &ente de una manera uniforme. El modelo de agente de la arquitectura provee un alto &o de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren aigún desempeño comparable con otros tipos de arquitecturas mdtiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

UM tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación remota, flexiiles e inteligentes, empleados en actividades complicadas tales como, construcción, mantenimiento y desarrollo de inftaestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos bidmemionales mediante

13

Page 32: SEP SElT DGlT - CENIDET

- -- - __ . ~

htroducción Capítulo i

Capa de ~rQnsPorte, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que 10s agentes, constmkbs de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofreciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

LOS componentes internos de un agente MIX son los siguientes:

Base de duros inrernu, que contiene un modelo del ambiente, un modelo del estado de sí ndmo, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. ConfroZ, que determina el comportamiento general del agente.

Un agente típico o&e servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (ilamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estriha en proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

Comenimios: UM de las principales contribuciones de la arquitectura MIX es la distinción explicita entre el modelo de ágente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros t i p s de arquitecturas muitiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAM AD331

UM tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación remota, flexibles e inteligentes, empleados en actividades complicadas tales como constnicción, mantenimiento y desarrollo de iní?aestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridimensionales m e d i t e

13

Page 33: SEP SElT DGlT - CENIDET

Capítulo 1 Introducción

Capa de lramporfe, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofreciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Base de daros interna, que contiene un modelo del ambiente, un modelo del estado de si mismo, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Convool, que determina el comportamiento general del agente.

Un agente típico o k e servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (Uamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeíío c8so de estudio consistente en una aplicación de control. En tal aplicación, que es t r i i en proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogkneos encargados de diferentes'subtarw.

Comentarios: Una de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción p e n d e la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto &do de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas muitiagente.

1.6.4. Reai-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD931

UM tecnología que permita conocer el ambiente de trabajo es cnicial para el desarrollo de sistemas de operación' remota, flemiles e inteligentes, empleados en actividades complicadas tales comoi construcción, mantenimiento y desarrollo de Maestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que d e s c r i i la localización de objetos tridimensiodes mediante

13

Page 34: SEP SElT DGlT - CENIDET

Capitulo 1 Introduccián

Capa de transporte, que es responsable de la interacción en la red, hplementada mediante sockets.

La arquitectura multiagentellMiX puede considerarse hetemgénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofieciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Bare de datos interna, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que dete& el comportamiento general del agente.

Un agente típico ofiece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (Uamando funciones de bibiioteca o progranias externos) que pueden ser requendas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que e s t r i i en proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

I4

Comentarios: UM de las principales contniuciones de la arquitectura MIX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción permite ia integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas mukiagente.

1.6.4. Real-The Cooperutive Image Processing for Interactive Environment Undersfanding [HAM AD331

Una tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de opemci6n remota, flexibles e inteligentes, empleados en actividades complicadas tales como ' construcci6n, mantenimiento y desarrollo de i&aestruciura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que descn'ban la localización de objetos tridimensionales mediante

13

Page 35: SEP SElT DGlT - CENIDET

Capítulo I Introducción

Capa de bmqmrte, que es responsable de la interacción en ]a red,

La arquitectura multiagente,MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de intekaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofreciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

implementada mediante sockets.

Los componentes internos de un agente MIX son los siguientes:

Base de datos interna, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrador de procesos y objetos privados. Bmbn de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

Un agente típico ofiece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (llamando íünciónes de biblioteca o programas externos) que pueden ser requeridas por otros agentes, 1

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estriba hn proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

Comentarios: Una de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un aito grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas muitiagente.

1.6.4. Red-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

Una tecnologh que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación remota, flexiiles e inteligentes, empleados en actividades complicadas tales como construcción, mantenimiento y desarrollo de infraestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridimensionales mediante

Page 36: SEP SElT DGlT - CENIDET

-- --- ~ - - - -. . ~ . . . . . . . . .

Capitulo 1 ./ .y

de frWPOrte, que es responsable de la interacción en la red,

La arquitectura mdtiagente 'MIX puede considerarse heterogénea en el sentido de que 10s agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. LOS agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, okeciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

hplementada mediante sockets.

Los componentes internos de un agente MIX son los siguientes:

Base de datos interna, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrador de procesos y objetos privados. Buz& de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

Un agente típico ofiece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (llamando funciones de biblioteca o p r o m externos) que Pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de controL En tal aplicación, que e s t r i i en proporcionar a un operador humano el mejor p h de operaci6n a partir de señales captadas por sensores, se observa la aplicaci6n del modelo de red dexrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogkneos encargados de diferentes subtareas.

Comentarios: UM de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de Agente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un aito grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren al&n desempeño comparable con otros tipos de arquitecturas muitiagente.

1.6.4. Real-Time Coopernlive Z h g e Processing for Interactive Environment Understanding [HAMAD-93]

Una tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación" remota, flexíbles e inteligentes, empleados en actividades complicadas tales como ,, construcción, mantenimiento y desarrollo de infiraestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridimensionales mediante

13

Page 37: SEP SElT DGlT - CENIDET

. . . - - - -

Capitulo 1 Iníroducci6n

Capa de transpdhe, que es responsable de la interacción en la red,

La arquitectura multiagente 'MX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactw, siempre y cuando bagan uso de la capa de interfaz de la red para rea& la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofreciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

implementada mediante sockets.

Los componentes internos de un agente MIX son los siguientes:

Base de daros infernu, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que dete& el comportamiento general del agente.

Un agente típico o h servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (&mando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes. ,

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estrii hn proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Asf mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

Cornentmios: UM de las principales contribuciones de la arquitectura MIX es la distinción explicita entre el modelo de agente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto grado de paralelismo en la ejecución de tara. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas multiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

UM tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación remota, flexiiles e inteligentes, empleados en actividades complicadas tales como, construcción, mantenimiento y desarrollo de infiaestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que d e s c n i la localización de objetos tndimensionales mediante

13

Page 38: SEP SElT DGlT - CENIDET

Capítulo 1 Intrcducción

Capa de transporfe, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan USO de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofieciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de ,un agente MIX son los siguientes:

Base de duros intema, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrad or de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

. .

Un agente típico o í k e servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (llamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un peqyeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estriba en proporcionar a un operador humano el mejor plan de operación a partir de seaales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes.subtareas.

Comenfarios: UM de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción p e n d e la integración de diferentes modelos de &ente de una manera uniforme. El modelo de agente de la arquitectura provee un alto grado de paraieiismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de mquitecturas mdtiagente.

1.6.4. Real-Time Cooperative image Processing for inferactive Environment Understanding [HAMAD-93]

Una tecnología que permita conocer el ambiente de trahjo es crucial para el desarrollo de sistemas de operación remota, flemiles e inteligentes, empleados en actividades complicadas tales como construcción, mantenimiento y desarrollo de inf?aestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que d e s c n i la localización de objetos tridhensionales mediante

13

Page 39: SEP SElT DGlT - CENIDET

- - - -.-- -- . .. . . ~- . - . .

Capitulo 1 Introducción

Capa de frampork, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multkgente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acueido a diferentes modelos, pueden interactw, siempre y cuando hagan uso de la capa de interfaz de la red para r e a h la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofreciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Base de datos interna, que contiene un modelo del ambiente, un modelo del estado de sí &o, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

Un agente típico oí?ece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (üamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estriha en proporcionar a un operador humano el mejor plan de operación a partir de señaies captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Asf mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes Lbtareas.

Comentarios: UM de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de &ente y el modelo de red. Esta distinción p e h t e la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arqdectura provee un alto grado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas muitiiente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD931

UM tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de ~peración~remota, flemiles e inteligentes, empleados en actividades complicadas tales como construcción, mantenimiento y desarrollo de infraestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridimensionales mediante

13

Page 40: SEP SElT DGlT - CENIDET

Capfiulo I Introduccibn

Capa de transporte, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acue:do a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, okeciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes. I

Los componentes internos de un agente MIX son los siguientes:

Buse de datos interna, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Conlrol, que determina el comportamiento general del agente.

Un agente tipico o h servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (üamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que e s t r i i en proporcionar a un operador humano el mejor plan de operación a partir de seiiales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogénms encargados de diferentes subtareas.

Comentarios: UM de las prinbipales contribuciones de la arquitectura MIX es la distinción expücita entre el modelo de agente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto giado de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas muitiiente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Undersranding [HAMAD-93]

UM tecnología que permita conocer el ambiente de trabajo es crucial para el desarrollo de sistemas de operación remota, flenüles e inteligentes, empleados en actividades complicadas tales com8 constnicción, mantenimiento y desarrollo de ~aes t ruc tu ra espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que d e s c n h la l o ~ c i ó n de objetos tridmensionales mediante

13

Page 41: SEP SElT DGlT - CENIDET

Capttulo 1 Introducción

Capa de lrunsporle, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, ofi-eciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Base de datos interna, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un administrador de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Confrool, que dete& el comportamiento general del agente.

Un agente típico o w servicios a'otros agentes. Cada agente puede ejecutar un conjunto de acciones (llamando funciones de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de controL En tal aplicación, que estriba en proporcionar a un operador humano el mejor plan de operación a partir de seiiales c a p d a s por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

Comentarios: UM de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de'hgente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una mawra uniforme. El modelo de agente de la arquitectura provee un alto grado de paraleiism0 en la ejecución de tareas. La arquitectura MIX parece ser una pkopuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas multiiente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

Una tecnología que permita conocer el ambiente de trabajo es cnicial para el desarrollo de sistemas de operación remota, flexibles e inteligentes, empleados en actividades complicadas tales como constnicción, mantenimiento y desarrollo de inf?aestructura espacial. Los sistemas 'de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridmensionales mediante

13

Page 42: SEP SElT DGlT - CENIDET

Introducci6n Capítulo 1

Capa de transpork, que es responsable de la interacción en la red, implementada mediante sockets.

La arquitectura multiagente MIX puede considerarse heterogénea en el sentido de que los agentes, construidos de acuerdo a diferentes modelos, pueden interactuar, siempre y cuando hagan uso de la capa de interfaz de la red para realizar la comunicación. Los agentes MIX son entidades autónomas capaces de perseguir objetivos particulares, oíteciendo servicios especializados al resto de los agentes y demandando servicios de otros agentes.

Los componentes internos de un agente MIX son los siguientes:

Base de datos interna, que contiene un modelo del ambiente, un modelo del estado de sí mismo, un admmstmd or de procesos y objetos privados. Buzón de correos, donde se reciben todos los mensajes de entrada. Control, que determina el comportamiento general del agente.

. .

Un agente típico ofrece servicios a otros agentes. Cada agente puede ejecutar un conjunto de acciones (llamando funci¿hes de biblioteca o programas externos) que pueden ser requeridas por otros agentes.

Finalmente, se presenta un pequeño caso de estudio consistente en una aplicación de control. En tal aplicación, que estriba én proporcionar a un operador humano el mejor plan de operación a partir de señales captadas por sensores, se observa la aplicación del modelo de red descrito anteriormente. Así mismo, se puede observar el empleo de diversos agentes heterogéneos encargados de diferentes subtareas.

Comentarios: Una de las principales contribuciones de la arquitectura MIX es la distinción explícita entre el modelo de agente y el modelo de red. Esta distinción permite la integración de diferentes modelos de agente de una manera uniforme. El modelo de agente de la arquitectura provee un alto @o de paralelismo en la ejecución de tareas. La arquitectura MIX parece ser una propuesta interesante, sin embargo no se reportan aplicaciones reales que muestren algún desempeño comparable con otros tipos de arquitecturas multiagente.

1.6.4. Real-Time Cooperative Image Processing for Interactive Environment Understanding [HAMAD-93]

Una tecnología que permita conocer el ambiente de trabajo es C N C ~ para el desarrollo de sistemas de operación remota, flexibles e inteligentes, empleados en actividades complicadas tales como construcción, mantenimiento y desarrollo de infraestructura espacial. Los sistemas de operación remota inteligentes requieren mapas ambientales que describan la localización de objetos tridmensionales mediante

13

Page 43: SEP SElT DGlT - CENIDET

Capítulo i Introducción

representación sdól ica . El operador usa el mapa ambiental para generar datos de control para robot.

planes de acción y

A fin de mantener la consistencia entre el mapa y el mundo real, los datos del mapa ambiental deben reflejar cualquier cambio en el ambiente en tiempo real. Por lo tanto, un sistema de operación remota inteligente requiere un método interactivo en tiempo real que perciba el ambiente.

Esta publicación presenta un método de procesamiento de imágenes cooperativo en tiempo real para interpretar de manera interactiva el ambiente, lo cual puede emplearse en sistemas de operación remota inteligente.

El método de representación del ambiente usa un sistema de fromes (marcos) para representar objetos en el ambiente. Una instancia de marco representa un objeto utilizando tres slofs (ranuras): “clase”, “conexión” y “localización”. La ranura “clase” indica el nombre de la clase marco. La clase marco contiene información general del objeto incluyendo los datos de la forma del mismo. La ranura “conexión” indica las colindancias entre objetos. La ranura ‘ ‘ l o ~ i ó n ’ ’ mdica las coordenadas de ubicación (x , y, 2) y las coordenadas de postura (p, q, r) del objeto.

El proceso de interpretación de la imagen se diseña generalmente en un estilo jerbrquico para determinar la forma de los objetos y su localización en la imagen del ambiente; además, se contempla la intervención interactiva de un operador humano a tin de mejorar el desempeño del sistema

Se utiliza un mecanismo cooperativo a fin de dividir el proceso de reconocimiento en agentes de reconocimiento simples e independientes. Por ejemplo, cuando se conoce la forma de un objeto, el problema de la’estimación de la localización y postura puede ser resuelto m e d i t e un simple algoritmo de adecuación de patrones. De igual manera, cuando se conoce la localización y postura, el’problema de la estimación de la forma del objeto puede resolverse mediante un simple algoritmo de comparación de patrones.

El proceso de analisis de localización y postura consiste en comparar el patrón de de video contra el patrón de contornos modelo del hm obtenido mediante una

objeto que se cree está siendo observado.

El proceso de análisis de forma del objeto puede estimarse analizando los segmentos de hea del patrón de contornos modelo! pero las relaciones espaciales entre los segmentos de línea varían dependiendo de la localización y postura del objeto. Además, algunos segmentos de línea estarán ocultos dependiendo de la orientación del objeto. Por lo tanto, la estimación de la forma del objeto se ‘dificulta cuando su localización y postura son desconocidas. Cuando se conoce la postura y localización, la forma del objeto puede estimarse comparando los segmentos de línea de la imagen fuente con las imágenes modelo de los objetos conocidos.

14

Page 44: SEP SElT DGlT - CENIDET

Capítulo 1 Introducción

En los experimentos reportados por Hamada el operador selecciona manualmente el objeto a ser reconocido. LOS procesos de anáiisis de forma y adis is de localización trabajan de manera simultánea y generan una!'instancia de marco para el objeto. El operador puede manipular directamente los valores de las ranuras del marco del objeto, lo cual afecta el proceso de análisis.

Comentarios: Se propone un método para interpretar las imágenes obtenidas del ambiente. Básicamente trabaja sobre la forma y postura del objeto, para lo cual emplea dos agentes que trabajan de manera inteiactiva a fin de obtener esas dos características que servirán para identificar el objeto. Esta propuesta requiere forzosamente la intervención de un humano para el funcionamiento del sistema, ya que es éste quien señala el objeto a identificar, verifica y corrige los resultados intermedios obtenidos. La propuesta se podría mejorar realizando una localización automiitica del objeto en la imagen y desarrollando un agente que verificara el desempeño de los agentes propuestos.

1.6.5. MA Vi: A Multi-Agent System for Visual Integratwn [BOISS-941

Esta publicación presenta una arquitectura para construir sistemas de visión integrados. Los sistemas de visión integrados se componen de un conjunto de módulos independientes, los cuales cooperan a' fin de satisfacer objetivos visuales e interactúan mediante el intercambio de información. La propuesta se centra en la arquitectura de control de este tipo de sistemas. El control se divide en dos aspectos principales: primero, para cada módulo, ¿cud es el objetivo que se desea alcanzar y cómo hacerlo?; segundo, para el sistema completo, ¿cómo deben interactuar los módulos a fin de interpretar la escena en el contexto del objetivo visual y de los datos percibidos?.

El primer problema involucrado en la construcción de un sistema de visión integrado, consiste en decidir ¿cómo deben agruparse en módulos tanto los datos, como los métodos de procesamiento empleados?. La pauta a seguir para este agrupamiento esta dada por dos aspectos: los niveles de representacib?, que organizan los datos en una jerarquía de abstracciones que son los medios de abstracción entre los procesos, y el enfoque, que se refiere a la organización de los datos y procesos de acuerdo a la actividad de control del sistema.

El segundo problema relevante en la construcción de un sistema de visión íntegrado consiste en el control. En la arquitectura estudiada, el control es considerado desde el punto de vista global y el punto de vista local. En el primero, la estnicturación del sistema puede ser expresada en términos de módulos que definen las órdenes de actuación sobre otros módulos, empleando registros de su actividad, y de módulos que ejecutan tales órdenes. En el punto de vista local, los métodos de control de los módulos que actúan sobre los niveles bajos de representación, vienen de la teoría de control y son a menudo rígidos. Por el contrario, en los niveles altos, los m6dulos usan métodos del dominio de la inteligencia ¿UtiíiCial.

15

Page 45: SEP SElT DGlT - CENIDET

__ .- . . - . . . . ... _ _ - . - - - . - . - -. -. -- .. . . __

Capítulo 1

Todos 10s agentes diseñados en la propuesta fueron creados usando el mismo modelo. El modelo de agente Se divide en dos submodelos: el modelo de conpol indjvid& Y el ?fzodelo de control social. El modelo de control individual define la arquitectura para Usar el conocimiento del agente, pari' actualizar los estados de representación y para actuar sobre ellos. El modelo de control social deñne la arquitectura y estados de representación en referencia a: a) la estructuración de los agentes en el sistema y b) la definición de interacción y secuencia.

Cada agente es un proceso cíclico de ejecución continua, implantado como un proceso UNIX, que construye una" descripción de la escena en un nivel bajo de representación y bajo un enfoque particular. Estos agentes son: agente cámara de control, que provee ai sistema las secuencias de imágenes que se interpretarán y controla la cámara; agente de descripción ZD, que obtiene las características 2D de las Mágenes; agente de interpretación, que construye la descripción simbólica de la escena a partir de las características 2D; y agente de interfm de usuario.

Comentarios: La presente publicación incluye características Vnportantes en un sistema multiagente: la autonomía de los agentes, es decir que se controlan a sí mismos con base en sus objetivos y capacidades; por otra parte, el control que es necesario implementar para coordm el trabajo del conjunto de agentes ya sea éste del tipo centraiizado 0 d e s c e n e d o . Si bien es cierto que en esta arquitectura cada q3f.m realiza funciones distintas, el result& final es producto he la cooperación de todos 10s agentes, Cumpliendo así con el concepto de sistema muitiagente, en este caso dedicado a resolver un Problema de visión artificial.

1.7. Organización de la tesis

En este primer capítulo se proporciona una introducción ai tema de agentes inteligentes y sistemas multiagente. También se presenta una breve introducción al tema de visión artificial centrándose básicamente en la complejidad inherente a un sistema de visión por computadora Se exponen aigunos puntos básicos de la propuesta inicial de investigación, tales como el objetivo general, los alcances, restricciones, beneficios y productos esperados. Además, en el presente capítulo se describen algunos trabajos considerados como parte del estado del arte. En ellos se pueden observar ai- propuestas interesantes para la creación de sistemas muitiagente, d e & de algunos reportes para tratar problemas de visión mediante sistemas mhtiagente.

En el capítulo 2 se trata el tema de reconocimiento de patrones y se describen algunas técnicas para la representaciónlide imágenes digitales a partir de características observadas en e l h . También se d e s c n i a mayor amplitud el proceso de visión artificial.

16

Page 46: SEP SElT DGlT - CENIDET

En el capítulo 3 se aborda el tema de agentes y sistemas multiagente, analizando algunos conceptos y topologías. Se tratan también algunos puntos importantes de la comunicación entre agentes para la creación de sistemas multiagente.

En el capítulo 4 se muestra a detalle la forma de trabajar del sistema propuesto y se presenta la arquitectura desarrollada tanto de los agentes individuales como del sistema completo. Además, se explica cómo funcionan los métodos de reconocimiento incluidos en cada uno de los agentes que integran el sistema.

En el capítulo 5 se reportan los resultados obtenidos al ejecutar el sistema con el conjunto de imágenes de prueba, comparando los resultados obtenidos con la hipótesis inicial del trabajo de investigación.

FUialmente, el capítulo 6 contiene las conclusiones generales del trabajo realizado y se describen los posibles trabajos que se podrían realizar a de la Presente tesis.

17

I

Page 47: SEP SElT DGlT - CENIDET

Reconocimiento de patrones

2. Reconocimiento de patrones

CAP~TULO 2 Reconocimiento de Datrones

2.1. Introducción

2.2.1. Tipos de patrones

2.2.3. Patrones de imágenes 2.2.2. Clasificación de patrones

2.3. Proceso de visión artificial

2.4. Imágenes

2.5. Métodos de reconocimiento de patrones

2.4.1 Tipos de imágenes 4.3. Imagen de enirada { 2.4.2. Características que se pueden

extraer de una ipagen

2.5.1. Métodos de decisión teórica [GONZA-96]

4.6. Agente de momentos invariantes

4.7. Agente de descriptores topológicos

2.5.2. Clasificador de

2.5.3. Redes neuronales

2.5.4. Métodos estructurales [GONZA-96]

2.5.5. Enfoque lógico combinatorio [RuIz-95]

Bayes [GELMA-951 4.8. Agente de

red neuronal [FREEM-921

2.6. Conclusión del capítulo

Page 48: SEP SElT DGlT - CENIDET

CaDítUlo 2 Reconocimiento de patrones

2.1. Introducción

considere el C a s o de una persOna que viaja a otro pais por vez primera. Es posible que se encuentre ante situaciones sochles, políticas y económicas muy diferentes a las de su pais de origen; además, se encontrará ante objetos tales como c o w , animales, h t o s y otros que jamás haya visto. Por lo tanto,,cuando observa uno de estos objetos, se dice que adquiere un conocimiento del mismo, ya que es la primera vez que se encuentra ante él. Después, cuando vuelva a tener contacto con objetos similares, o aún los mismos objetos, los reconocerá o asociará con los anteriormente observados. Este ejemplo sirve para remarcar el uso que se da en este trabajo ai término reconocimiento, es decir, se cuenta con un conocimiento previo de objetos para su posterior reconocimiento.

A continuaci6n se presentan (os ejemplos tendientes a mostrar, de una manera senciUa y natural lo que hacen los seres humanos para identificar objetos u otros fenómenos que se encuentran en el ambiente:

una persona sin problem mentales, hitos o de percepción es capaz de reconocer una h t a con sólo observarla. Pero 'también, Sin emplear la vista, puede reconocerla Únicamente por la forma percibida al tocarla con sus manos. Igualmente, puede realizar el reconocimiento degustándola, o por medio del olfato. De lo anterior es posible observar que el ser humano reconoce objetos captando información o detalles por medio de los sentidos. Si para este ejemplo, la h t a en cuestión es un plátano, es muy probable que la persona lo reconozca exitosamente empleando uno sólo de sus sentidos, claro, excepto el oído. Pero si la h t a que se desea reconocer es una toronja, es evidente que si sólo se usa el tacto podría confundirsele con una naranja Se puede bbservar que para reconocer un objeto puede bastar con una sola de sus características, pero que existen objetos que requieren un conjunto mayor de características para lograr su reconocimiento exitoso.

Es posible reconocer objetos teniendo únicamente su descripcibn, es decir, al- características que permitan identificarlo. Por ejemplo, si a una persona adulta y sana mental y f i s i i n t e se le pide que identifique a qué objeto corresponden las Características de: tener 4 ruedas, 2 ó 4 puertas, portaequipaje$ volante y motor de gasolina, lo más probable es que indique que se trata de un auto compacto. Aquí se presenta un fenómeno interesante, ya que existen muchos modelos de autos que corresponden a las características antes mencionadas, dando como resultado que se puedan agrupar objetos que cumplan con características similares. Como se verá posteriormente, agrupar objetos con CaraCteriSticaS comunes es también tarea del reconocimiento de patrones.

En el desarrollo del presente capítulo se analizan los tipos de patrones básicos existentes y los tipos de clasificación de papones. Como un tipo especial de peón, y siendo el elemento sobre el cual se aplica este trabajo, se explicará qué es una M e n , exponiendo los diferentes tipos existentes. Se describen algunas características que se pueden extraer de ellas para formar patrones descriptivos de imagenes. Brevemente, se describe el proceso de

19

Page 49: SEP SElT DGlT - CENIDET

Capitulo 2 Reconocimiento de patrones

visión artificial y se culmina con algunos de los métodos de reconocimiento de patrones más comunes.

2.2. Patrones

En los dos ejemplos citados en la sección anterior (el ejemplo de la h t a y el ejemplo del auto compacto), se puede observar que el ser humano extrae, muchas veces inconscientemente, características descriptivas del objeto observado; es decir, es neceSano poder describir ese objeto en términos 'de medidas, colores, textura, forma, tamaño, u otras, a íin de reconocerlo. Es precisamente ese conjunto de características lo que se conoce como patrón. A continuación se presenta un par de definiciones del término patrón:

Un patrón es una descripción estructural o cuantitativa de un objeto o de alguna otra entidad de interés [GONZA-96].

Un patrón o descripción estándar de un objeto es un n-uplo' cuyos componentes son valores de los rasgos o característicm 'he1 objeto, tales valores pertenecen al conjunto de valores admisibles existente para cada *asgo [RUiZ-951.

Ambas descripciones concuerdan en que un patrón descriptivo de un objeto consiste en un conjunto de características o hsgos que permiten describirlo y posiblemente diferenciarlo de otros objetos. Es w r t a n t e señalar que no sólo de objetos tangibles (patrones ñsicos) se puede obtener una descripción o patrón, sino también de objetos intangibles (patrones abstractos), como pudiera ser la descripción de la salud de un paciente a través de su expediente cünico.

El reconocimiento de patrones puede ser definido como el procedimiento m e d i t e el cual una descripción de un objeto (patrón) se relaciona con un conjunto de descripciones de otro objeto o grupo de objetos, lo cual permite diferenciarlo y clasificarlo en un gnipo O clase determinado [RüiZ-95]. Esta definición no implica que los conjuntos de descripciones (grupos) con los cuales se relaciona una descripción en particular sean ya conocidos. Como se ved más adelante, no es necesario tener un conocimiento total o parcial previo para poder ciasiicar un objeto en un grupo determinado de objetos. Basta con poder compararlo con otros para decir, en tal caso, que ese objeto es semejante a otro u otros y que juntos pueden formar un miSrno gnip o clase en el cual todos los objetos tienen características semejantes.

Al igual que en otros trabajos que tratan del reconocimiento de patrones, se llamarti "objeto" a todo aquello que pueda ser definido en función de variables o caracteristicas que permitan diferenciarlo de otros. Por ejemplo, es posible decir que la contaminación ambiental es un objeto, ya que se mide desde el punto de vista de variables las cuales ~

' Un n-uplo es un registro descriptivo compuesto por varios campos, no necesariamente del mismo tipo.

20

Page 50: SEP SElT DGlT - CENIDET

Capítulo 2 Reconocimiento de patrones

representan la cantidad de determinados compuestos químicos en el ambiente. Similarmente, en este trabajo se entiende por objeto, a cada una de las figuras contenidas en una images tales figuras pueden ser dehidas en términos de su forma, color, textura, etc. Por ejemplo, la figura 2.1 consiste en una imagen que puede describirse a partir de los objetos que aparecen en ella tomando en cuenta su número, el orden que toman de izquierda a derecha, su color, etc. Además, cada objeto puede describirse a partir de su área (A,), perímetro (P,), densidad (D,), color (C,), y otras cara,kterísticas más que se explican en la sección 2.4.2 de este mismo capítulo.

Figura 2. I. Imagen con cuatro objetos en blanco y negro en el siguiente orden: flecha, cruz, símbolo AND 16gico y nudo cuádruple.

2.2.1. Tipos de patrones

Básicamente se reconocen dos tipos de patrones: los patronesfísicos y los patrones abstrucfos. Los patrones ñsicos son aquellos cuyos rasgos característicos son el resultado de mediciones realizadas por aparatos especializados u otros factores que son fácilmente observables en el objeto de estudio. Cabe seaalar que los valores que toman las variables en patrones de este tipo, generalmente son del tipo numérico y ello trae como consecuencia el uso de un enfoque esfadísfico en el reconocimiento [RUIZ-95]. Son ejemplos de patrones ñsicos la temperatura ambiental, la presi6nlen un cilindro, el peso de un objeto, su color, su textura, 10s pixelesn de una imagen, así como sefiales de radio, electromagnkticas, etc.

Los patrones abstractos se caracterizan por ser un conjunto de propiedades, mediciones y observaciones que realizan los especialistas en el área del conocimiento sobre

Un pael, también conocido como pel @ichve elemenf), representa una coordenada (x,y) de columna y renglh en una imagen, y su valor a>rrespondiente representa el nivel de gris f(x,y) en ese punto en la imagen. (Tomado del libro de R GonzBIq “Tratamiento digital de imágenes”, 1996).

21

Page 51: SEP SElT DGlT - CENIDET

Reconocimiento de patrones Capitulo 2

los objetos en estudio [RUIZ-95]; es decir, los patrones abstractos provienen niiis de la apreciación de un experto que de la medición de una máquina. En m u c h ocasiones la descripción o patrón obtenido es resultado de la interpretación personal que el experto en el área haya dado, basándose en la fiecuencia con que este fenómeno se haya presentado ai experto y las analogías que éste pueda inferir de fenómenos anteriormente vistos. Esta interpretación muchas veces se realiza mediante una explicación de las relaciones existentes entre diversos factores relacionados chn el objeto. Lo anterior trae como consecuencia que muchas de las variables empleadas para caracterizar un objeto sean del tipo lingüístico y por lo tanto, es necesario prestar especial atención a la forma en que se realizan comparaciones entre variables de este tipo.

El uso de patrones abstractos impulsó la búsqueda de nuevos métodos para su tratamiento; uno de los enfoques más recientes es el llamado “enfoque lógico combinatono” [RUIZ-951, el cual tiene como carabtenstica principal el modelado de problemas de reconocimiento de patrones sin modificar el problema mismo; es decir, cada problema tendría un modelado propio y diferente: aún y cuando fuesen muy parecidos. Este enfoque se diferencia de otros precisamente en que modela el problema apegándose a la realidad y no ajustando el problema a un modelo ya ‘existente. Ejemplos de patrones abstractos son: la descripción socioeconómica de una p&ona, un diagnóstico dado por un psiquiatra, la descripción geológica de una ZOM petrol~ra, etc.

2.2.2. Clasificación de patrones

La mayona de los autores que,reportan trabajos acerca de reconocimiento de patrones coinciden en relacionar esta disciplina con la acción de clasijicar WUiZ-951. También concuerdan en que existen tres tipos de clasificación:

CIasiJicación con aprendizaje (supervisada): Se da cuando se conoce que un conjunto de objetos se agrupa en un número dado de clases, de las cuales se tiene una muestra de objetos que se sabe pertenecen a cada una de ellas. El problema de clasificación consiste en lo siguiente: dado un nuevo objeto, establecer a cuál o cuáles de las clases O

grupos ya existentes se asemeja &, es decir, a partir de sus caracterlsticas, definir con cuál clase de objetos ya conocidos tiene mayor parecido [RUIZ-95].

En un problema de clasifcaciión sin aprendizaje (no supervisada), no se conoce cómo se agrupan los objetos, es justamente el objetivo que se persigue. Se pueden presentar dos variantes: una en la que por detemiinadas razones se sabe que los objetos se a p p en un número dado de clases, pero no se tiene muestni alguna de las mismas y otra en la que ni siquiera eso se sabe [RUIZ-95].

El problema de clasificación con aprendizaje parcial @arcialmeníe supervisado) es análogo a la clasificación con aprendizaje, excepto que bay una o varias clases de objetos de las que no se tiene una muestra El problcma en general sigue siendo el mismo: dado un

22

Page 52: SEP SElT DGlT - CENIDET

Reconocimiento de patrones Capítulo 2

nuevo objeto, relacionarlo con los ya clasificados o, en dado caso, formar una nueva clase [RUIZ-951.

Las diferencias entre estos ,:tres tipos de clasificación son marcadas. En la clasificaci6n supervisada se tienen identificadas las clases y se tienen muestras de objetos de cada clase. En la no supervisada puede que se conozca el número de clases, pero no existen muestras de objetos pertenecientes a cada una de ellas, siendo precisamente lo que se quiere, u p p r un conjunto de objetos dekrdenados. Por Último, la clasificación parcialmente supervisada tiene muestra de algum,de las clases pero al tratar de clasificar un nuevo elemento, éste puede formar una nueva clase, por ser diferente a los objetos muestra de las clases conocidas.

Como se observará en el desiollo de este trabajo, el reconocimiento de patrones que aquí se expone es un tipo de clasicación: clasificación con aprendizaje parcial, ya que se tiene conocimiento de algunos objetos, pero es posible que se ingrese al sistema un objeto totalmente desconocido; es decir, que no coincida con ninguno de los objetos de entrenamiento.

2.2.3. Patrones de imágenes

Desde el surgimiento de la computadora se le ha empleado para simplificar o sustituir tareas realizadas por el ser humano, entre las que destacan las relacionadas con el reconocimiento de imageries digitales. Existen áreas del conocimiento donde el análisis de imageries juega un papel importante; entre estas áreas es posible mencionar la medicina, en donde imágenes como radiograñas y tomografias requieren de cuidadosos estudios; en c h t o l o g h y operaciones de defensa, las ' m e n e s de satélite sirven para predecir el tiempo y localizar puntos estratégicos; en robótica, las imágenes de objetos tomadas por cámaras fotográíicas o de video instaladas en rob& autónomos permiten el monitoreo de procesos industriales y de otro tipo. La computadora también se ha usado para reconocimiento o identificación de personas; en criminaiistica, se requiere identificar el retrato hablado O

fotograña de una persona automilticamente, buscándolo en bases de datos muy grandes, para lo cual, se requiere encontrar las carac'terísticas principales que describen el rostro.

Al tratarse de reconocimiento de patrones de imagenes o reconocimienfo de patrones visuales, generalmente se emplea la clasicación con aprendizaje. Es deck se tienen varias muestras de cada objeto con"e1 fin de extraer sus características descriptivas que permiten diferenciarlo de otros y agniparlo con objetos semejantes; a este proceso realizado por la computadora se le Uama enfrenarnienfo. El reconocimiento de nuevos objetos se lleva a cabo buscando la relación que guardan sus características con las obtenidas de los objetos ya conocidos.

Page 53: SEP SElT DGlT - CENIDET

Capitulo 2 Reconocimiento de patrones

2.3. Proceso de visión artificial

Reconocer imágenes mediante una computadora requiere de un proceso que va desde la obtención de una imagen digital basta la interpretación de la misma. La figura 2.2 muestra el proceso de visión artificial.

Figura 2.2. Etapas del proceso de visión artificial, extraído de [GONZA-961.

La primera etapa del proceso es la adquisición de la imagen, es decir, la adquisición de una imagen digital. Para ello se necesita un sensor de imágenes y la posibilidad de digitalizar la imagen producida por el sensor. El sensor puede ser una cámara de televisión, monocroma o de color, que produce treinta imágenes del dominio del problema cada segundo. El sensor de imágenes puede ser también una cámara de barrido de lineas que produzca una linea de la imagen cada vez. En este caso, el movimiento de la imagen a través del barrido de heas produce la imagen bidimensional. Si la salida de la cámara o de otro sensor de imágenes no está todavía en forma digital, puede emplearse un convertidor analógico-digital para digitalizarla La na-eza del sensor y la imagen que produce están determinadas por la aplicación.

UM vez que se ha obtenido la imagen digital, la siguiente etapa consiste en el preprocesarniento de esa imagen. La función básica de esta etapa es la de mejorar la imagen de forma que se aumenten ias posibilidades de éxito en los procesos posteriores. El preprocesamiento trata tipicamente las tkdicas de mejorar el contraste, eliminar el ruido y aislar regiones cuya textura indica la probabhidad de información útil.

24

Page 54: SEP SElT DGlT - CENIDET

Reconocimiento de patrones Capitulo 2

La siguiente etapa trata de la segmentación. Definida en forma general, consiste en fraccionar una imagen de entrada en sus partes constituyentes u objetos. En general, la segmentación automática es una de las labores más diñciles del tratamiento digital de imágenes. Por una parte, un procedimiento de segmentación demasiado meticuloso dilata la solución satisfactoria de un problema de procesamiento de imágenes. Por otra, un algoritmo de segmentación débil o errático aumenta la posibilidad de que tarde o temprano exista un fallo.

A la salida del proceso de segmentación habitualmente se tienen los datos de pixel en bmto, que constituyen bien el contorno de una región o bien todos los puntos de una región determinada. En cada caso es necesario convertir los datos a una forma adecuada para el procesamiento por computadora La prhera decisión que hay que tomar es si los datos se han de representar como un contorno o como una región completa. La representación como un contorno es la adecuada cuando el interés radica en las características de la forma extenor, como esquinas e inílexiones. La representación regional es adecuada cuando el interés se centra en propiedades intemas, como la textura o la est~cturación. Sin embargo, en algunas aplicaciones ambas representaciones coexisten. Esto ocurre en las aplicaciones para reconocimiento de caracteres, que a menudo requieren algoritmos basados en la forma de los bordes, así como en la estnicturación y otras propiedades internas.

La elección de una representación es s610 una parte de la solución para transformar los datos de pixel en bruto a una forma adecuada para ser posteriormente tratados por computadora. También debe especiticarse un método para describir los datos de forma que se resalten los rasgos de interés. La descripción, también denominada selección de rasgos, consiste en extraer características con alguna información cuantitativa de interés O que sean fundamentales para diferenciar una clase de objetos de otra.

El reconocimiento es el proceso que asigna una etiqueta a un objeto basándose en la información proporcionada por sus descriptores. La interpretación hpiica asignar significado a un conjunto de objetos reconocidos.

El conocimiento sobre un dominio ,,del problema, está codficado en un sistema de procesamiento de idgenes, como una base de conocimiento. Este conocimiento puede ser tan simple como detallar las regiones de una imagen donde se sabe que se ubica información de interés, limitando así la búsqueda que h;! de realizarse para hallar tal información; o bien muy compleja, como una lista interrelacionada de todos los posibles defectos en un problema de kpecci6n de materiales o una base de datos que contenga imágenes de satélite de alta resolución de una región, en conexión con aplicaciones de detecci6n de cambios. Además de guiar la operación de cada módulo de procesamiento, la base de conocimiento controla también la interacción entre m6dulos.

Page 55: SEP SElT DGlT - CENIDET

Reconocimiento de patrones Capitulo 2

2.4. Imágenes

2.4.1. Tipos de imágenes

imagenes pueden ser clasificadas de acuerdo a si ya se han discretizado (digitalmdo) o si aún se trata de una imagen continua, por lo que se tienen dos tipos de imágenes: imágenes digitales e imágenes rnonocrornas. Un caso especial de idgenes digitales es la imagen binaria en la cual los pixeles solamente pueden tomar uno de dos valores, según se haya definido la imagen binaria en colores blanco y negro, ani1 y blanco, rojo y verde o cualquier otra combinación de dos colores [HAFUL-92].

El término ‘‘imagen monocroma” se refiere a una función bidimensional de intensidad de luzf(x,y), donde x e y representan las coordenadas espaciales y el valor defen un punto cualqiera (&y) es proporcional al brillo (o nivel de gris) de la imagen en ese punto [GONZA-961.

UM imagen digital es una imagen f(x,y) que se ha discretizado tanto en las $ides como en el brillo. Puede considerarse como UM matriz CUYOS Índices

1 pj~i del correspondiente elemento

de la matriz indica el nivel de gris de ese punto [GONZA-96]. UM imagen de íih y columna identifican un pun o

vez de estar en niveles de gris, estar en color. El empleo de color en el procesamiento de imágenes esta motivado por dos factores principales. Primero, en el análisis automático de imágenes, el color representa un potente descriptor que a menudo simplifica la descripción de un objeto y su extracción de una escena. Segundo, en el análisis de imágenes realizado por seres humanos, el interés por el color reside en que el ojo humano es capaz de discernir miles de matices e intensidades de color, en comparación con sólo dos docem de niveles de gris que el humano puede diferenciar [GONZA-961.

Otra clasificación de las imágenes puede ser atendiendo al área, disciplina o aparato del cual provienen, de esta forma, se pueden ciasiicar en: imágenes de satélite, imágenes solares, imágenes médicas, higenes de mediciones electromagnéticas, imágenes artificiales (como serían pianos, dibujos), imágenes marinas, imágenes 2D, imágenes 3D, imágenes de profundidad o de rango, etc. mUiZ-95].

2.4.2. Características que se pueden extraer de una imagen

Como se observa en las defigciones de patr6n dadas en la secci6n 2.2 del presente capítulo, los objetos se describen a partir de un conjunto de rasgos. En el reconocimiento de inaágenes, éstas son susceptibles de deñnirse por medio de un conjunto de características o variables. En la actualidad existe un gran número de rasgos característicos que se pueden extraer de las imágenes de objetos. Tales caraeterísticas se pueden clasificar en cinco grupos que se listan a continuación:

26

Page 56: SEP SElT DGlT - CENIDET

Capitulo 2 Reconocimiento de patrones

1) Esquemas de representación. 2) Descriptores de contorno. 3) Descriptores de región. 4) Descriptores morfológicos. 5) Descriptores relacionales.

1) Esquemas de representación. Son técnicas de representación de objetos, generalmente usados para compactar la información contenida en una image$ sin perder rasgos importantes de la misma. De cada imagen se extrae determinada caracterktica, como pueden ser sus pixeles de borde o el esqueleto del objeto, mismas que constituirán la representación de cada imagen. Para obtener tales representaciones existe una variedad de técnicas, las cuales pueden ser consultadas en [GONZA-961. La figura 2.3 muestra tanto el borde como el esqueleto de una. imagen.

Figura 2.3. a) Imagen original, b) borde de la imagen y c) esqueleto de la imagen.

2) Descriptores de Contorno. Todos los objetos que se encuentran contenidos en una imagen tienen un borde o contorno que permite observalos y diferenciarlos del color de fondo. Esta característica ha sido aprovechada para obtener una representación o descripción de los pixeles que conforman el contorno. Algunos descriptores de contorno comúnmente usados son: la longitud del contorno, que puede ser la cantidad de pixeles en el contorno O considerando la distancia euciídea entre pixeles; números de forma, descriptores de Fourier, y momentos [Hu-621. Por ejemplo, en la figura 2.3.a, la longitud del contorno de la imagen es de 50 pixeles. Los pixeles de esquinas cóncavas no se consideran pixeles de borde ya que sus pixeles vecinos se encuentran unidos en una de sus esquinas. Su distancia en pixeles es iguai a 1 y su distancia euciídea es iguai a

3) Descriptores de Región. También es posible obtener descriptores a partir de la región completa del objeto. Existen cuatro tipos de descnptores de región, a saber:

27

Page 57: SEP SElT DGlT - CENIDET

Reconocimiento de patrones

Descriptores simples. Descriptores topológicos. Textura. Momentos.

.<

...

Algunos descripores de región simples son: el &ea, definida como el número de pixeles contenidos en la región del objeto; el perímetro, que es la longitud de su contorno; la densidad, definida como @erímetro)’/úrea, et;. Por ejemplo, en la figura 2.4 se obtienen los siguientes valores: área46 (contando todos los pixeles del objeto), perímetro=46 (contando los pixeles de borde) y densidad=46*/66=2116/66=32.06.

I

Figura 2.4. Obtención del área, perímetro y densidad de una imagen.

Otros descnptores de región usados a menudo en tratamiento de imágenes son los descriptores topológicos. La topología es el estudio de las propiedades de una figura que no son afectadas por Nnguna deformación, en tanto no haya división o uniones en la figura. Algunos de los descnptores topológicos son: número de hoyos (H) en el objeto, número de componentes conexas (C), número de Euler (E), definido a partir de las dos anteriores como E = C - H. La figura 2.5 ilustra los descnptores número de hoyos, número de componentes conexas y número de Euler para algunas fim.

La textura de una región es otro descriptor muy utilizado para caracterizaci6n de objetos; los tipos bhicos de textura son: suave, rugoso y regular [GONZA-961.

Los momentos sirven para representar o descniir cuantitativamente una región en una imagen. Como explica G o d e z [GONZA-96], los momentos invariantes fueron propuestos por Hu y publicados en el artfculo “Visual Pattern Recognition by Moment Invariants” [HU-621. Son hasta la fecha una de las técnicas más utilizadas para el manejo de invarianZa a rotación, traslación y escala.

28

Page 58: SEP SElT DGlT - CENIDET

Capitulo 2 Reconocimiento de patrones

Figura 2.5. Ejemplo de obtención de descriptores topológicos: a) H=l, C=l, E=O; b)H=2, C=l, &I; c)H=O, C=l, E=l.

Para una función bidimensional continuaf(x,y), el momento central de orden p+q está definido por:

Ecuación 2.1

donde la suma dep y q definen el orden del momento.

Para una imagen digital, la ecuación 2.1 se convierte en:

b= X Y c (y-;>q f ( x , y ) Ecuación 2.2

donde x e y son coordenadas de fila y columna de WI pixel determinado.

Los momentos centrales normalizados representados por qPg, se deñnen como:

donde:

y=- p + q + 1 2

Ecuación 2.3

Ecuación 2.4

29

Page 59: SEP SElT DGlT - CENIDET

Reconocimiento de patrones Capítulo 2

Hu deduce siete momentos invariantes a rotación, traslación y escala utilizando los momentos normalizados de orden dos y los momentos normaiizados de orden tres”, los cuales pueden ser consultados en [GONZA-961 y [HU-62].

4) Descripiores Morfolbgicos. La palabra morfología indica nomialmente una rama de la biología que trata de la forma y estructura de animales y plantas. En reconocimiento de objetos se usa la misma palabra en el contexto de morfología matemática, como una herramienta para extraer componentes de una imagen que sean útiles en la representación y descripción de la forma de una región, tales como contornos y esqueletos. Algunos de los operadores definidos en morfología matedtica apoyándose en teoría de conjuntos son: traslación, reflexión, complemento, diferencia, dilatación, erosión, apertura, cierre, y transformación al azar. En [GONZA-96] se encuentra una descripción completa de los operadores antes mencionados.

5) Descripiores relacionales. Los cuatro métodos de representación y descripción expuestos anteriormente generalmente se aplican a contornos individuales y regiones de interés de una imagen. El siguiente nivel de complejidad en el proceso de descripción es organizar estos componentes para explotar cualquier relación estructural que pueda existir entre ellos. Para entender mejor la finalidad de este tipo de descriptores se presenta un ejemplo en la figura 2.6.

Figura 2.6. a) Una estructura simple de escalera; b) elementos primitivos a y b; c) estructura codificada.

Supóngase que el objeto del inciso a) en la figura 2.6 requiere ser descrito de manera formal. Se definen los elementos primitivos a y b como se muestran en el inciso b). La propiedad más evidente de la estructura codiíicada es la repetitividad de los elementos a y b. Por lo tanto, un método de descripción simple consiste en formular una relación recursiva que implique a estos elementos primitivos; así, es posible codificar el objeto como se indica en el inciso c). Una posibiiidad es utitizar las reglas de reescritura:

La deducción de estos resultados van más allá del alcance de este trabajo. m

30

Page 60: SEP SElT DGlT - CENIDET

Capítulo 2 Reconocimiento de patrones

1)s + u4 - 1 ’

2 ) A + 6s 3 ) A + b

i donde S y A son variables y los elementos a y b son consiktes que corresponden a

los elementos primitivos definidos anteriormente.

La regla I) indica que S, denominado símbolo de partida, se puede reemplazar por el primitivo a y la variable A. Esta variable, a su vez, se puede reemplazar por b y S o por b solamente. Reemplazar A por bS conduce a la primera regla y se puede repetir el procedimiento. Reemplazar A por b termina el procedimiento, porque no quedan variables en la expresión. La figura 2.7 muestra la representación, como lista de números, que se daría a cada una de las imágenes según el orden de aplicación de las regias.

Figura 2.7. a) aplicación de las reglas 1,3. b) aplicación de las reglas I, 2, I , 3. c) aplicación de las reglas 1,2, I , 2, 1,3.

La figura 2.7 a) está formada por dos elementos primitivos u y b, por lo tanto, puede ser representada por la aplicación secuencial de las reglas 1 y 3. Al aplicar la regla 1 a partir del símbolo inicial S, se obtiene la secuencia a4; se observa que la variable A puede ser sustituida por las reglas 2 y 3, como se indica en la definición de reglas. Se sustituye la variable A por la regla 3, como se indica en la explicación de la figura, obteniendo así la

I secuench ab. h secuencia obten& es p r e c k e n t e la representacLln de la E- 2.7.a). D e manera similar son representadas las figuras 2.7.b) y 2.7.c).

2.5. Métodos de reconocimiento de patrones

En secciones anteriores de este capítulo se explicó qué es un patrón, qué es una imagen y cómo se puede obtener un patrón descriptivo a partu de una imagen digital. A s i i o , se descrii brevemente el proceso de visión artificial, el cual va desde la adquisición de la imagen digital hasta el reconocimiento o interpretación de la misma,

31

Page 61: SEP SElT DGlT - CENIDET

Reconocimiento de patrones Capítulo 2

pasando por una serie de acciones de procesamiento digital tendiente a mejorar o aislar el contenido de la imagen.

A continuación se describen de manera sintetizada aigunos de los métodos de reconocimiento de patrones. Si bien no se profundizará en el estudio de los mismos, ni se presentará la totalidad de los métodos existentes; sí se explica la forma de trabajar de los más conocidos, siendo esto suficiente a los alcances del presente trabajo.

2.5.1. Métodos de decisión teórica [GONZA-961

LOS métodos de decisión tdrica para el reconocimiento se basan en la utiiización de funciones de decisión (o discriminantes). Supóngase que X=X,,XZ, .. .,xJ representa un patrón vectorial de dimensión n. ParaMclases de patrones wI,wz, ..., wM, el problema consiste en encontrar Mfunciones de decisión d,(x),&(x), ..., d&) que tengan la propiedad de que, si un patrón x pertenece a la clase wi, entonces

En otras palabras, un patrón desconocido x pertenece a la i-ésima clase de patrones si, ai sustituir x en todas las funciones de decisión d,(x) toma el mayor valor numérico.

El método más común de decisión teórica es el clasificador de minima distancia en el que cada clase de patrones está representada por un vectorprorotipo (o medio):

m. =- y. j=1,2, ..., M I Nj 'EW,

E c u a c h 2.6

Donde h$ es el número de patrones vectociales de la clase y y la suma se realiza para todos los vectores. UM forma de determinar la pertenencia a una clase de un patrón vectorial desconocido x consiste en asignarlo a la clase del prototipo más pr6ximo. Si se utiliza la distancia euclídea para determinar el grado de proximidad se reduce el problema ai cáicuio de las medidas de distancia:

~ , ( x ) = Ib - m,ll j=1,2 ,..., M Ecuación 2.7

Si D,{x) es ia menor distancia, entonces se asigna x a la clase wi.

2.5.2. Clasificador de Bayes [GELMA-95]

Las consideraciones probabilisticas tienen su importancia en el reconocimiento de patrones, debido a la aleatonedad a la que normalmente está sometida la generación de

32

Page 62: SEP SElT DGlT - CENIDET

Reconocimiento de patrones capítulo 2

clases de patrones. La probabiiidad de que un patrón concreto x provenga de una clase w, se representa por p(w,/x). Si el clasificador de patrones asigna x a la clase y cuando realmente proviene de la clase w,, incurre en un error, cuya notación es L,. Dado que x puede pertenecer a cualquiera de las M clases consideradas, el error medio que se produce al asignar x a la clase w, es:

U

rj(x) = L,,P(o, / x) k = l

Ecuación 2.8

Según la teoría básica de probabilidades, p ( d ) = [p(u)p(ú/a)]/p(b). Utilwando esta expresión se obtiene:

Ecuación 2.9

dondep(dwk) es la función de densidad de probabilidad de los patrones de la clase wk y P(w) es la probabilidad de ocurrencia de la clase wk.

El clasificador tiene A4 clases posibles para elegir a la hora de clasificar un patrón desconocido dado. Si se calculan r,(x),rz(x), ..., r d x ) para cada patrón x, y se asigna el patrón a la clase que tenga el menor error, el error medio total con respecto a todas las decisiones será mínimo. El clasificador que minimiza el error medio total se denomina clasificador de Bayes, el cual asigna un patrón desconocido x a la clase wi si r<{x)+Lx) para j=1,2 ,..., M, j #i.

.

2.5.3. Redes neuronales [FREEM-921

El término redes neuronales se usa para designar a una multitud de elementos de cálculo no lineales y elementales (denominados neuronas) organizados como redes que se asemejan a la f o m en que se piensa que están interconectadas las neuronas en el cerebro. La red neuronal produce un grupo de coeficientes de funciones de decisión, contenidas en Mda neurona, mediante la presentación SUIY!<W& de conjuntos de patrones de entre&ento.

. UM red neuronal consta de varias capas de nodos de cálculo (neuronus) estructuralmente idénticas y dispuestas de tal modo que la salida de cada neurona de una determinada capa alimenta las entradas de todas las neuronas de la siguiente capa El número de neuronas de la primera capa, denominada capa A , es NA. Cotidianamente, NA=n, la dimensión de los patrones vectoriaies que se suministran a la entrada. El número de neuronas de la capa de salida, denominada capa Q, se representa por NQ. El número NQ es igual a M, el número de clases de patrones que es capaz de reconocer la red neuronal, gracias a su entrenamiento. La red reconoce a un patrón vectorial x como perteneciente a la

33

Page 63: SEP SElT DGlT - CENIDET

Capitulo 2 Reconocimiento de patrones

clase wk si la k-ésima salida de la red está activada, mientras que las restantes salidas están desactivadas.

2.5.4. Métodos estructurales [GONZA-96]

Los tres métodos de reconocimiento anteriormente citados se ocupan de los patrones de forma cuantitativa, e ignoran cualquier relación estructural inherente a la forma de los mismos. Sin embargo, los métodos estructurales tratan de lograr el reconocimiento del patrón poniendo énfasis precisamente en este tipo de relaciones.

Un método estructural es el de correspondencia de números de forma, en el cual se realiza un procedimiento análogo al de mínima distancia, comparando el grado de simiiitud entre los contornos, descritos mediante números de forma [GONZA-96].

Otro método estructural es el de correspondencia de cadenas, el cual, muy similar al que trabaja con números de forma, realiza comparaciones buscando similitudes entre las cadenas que representan los diferentes patrones [GONZA-96]. La comparación de cadenas puede ser realizada mediante autómatas que verifican si un determinado patrón pertenece ai lenguaje L(G) deíinido por una gramática G, la cual a su vez consiste en una serie de reglas sintácticas que controlan la generación correcta de patrones válidos.

2.5.5. Enfoque lógico combinatorio [RUIZ-95]

Bajo esta disciplina es posible encontrar técnicas de selección de rasgos, de clasi$cación con aprendizaje, clasijicación sin aprendizaje y clasijicación con aprendizaje parcial. En todos los casos, los objetos de estudio se describen en tdrminos de un conjunto de rasgos XIJZ, ...,xn a los cuales van asociados conjuntos de valores admisibles MI,Mz, ..., M,, respectivamente y sobre los cuales se definen criterios de comparación de valores C&Z, ..., C, de las respectivas variables. Con base en estos criterios de comparación de valores de cada rasgo, se deñnen funciones de semejanza entre los patrones (totales o parciales) de los objetos, formalizandose así los conceptos de analogía @lícitos en los modelos de los especialistas de la disciplina de la cual surge el problema de reconocimiento.

Los d t o d o s expuestos anteriomnte constituyen s610 una pequeña muestra de la gran cantidad de trabajos que versan sobre reconocimiento de patrones, eltisten obras completas que tratan acerca de estos métodos y presentan demostraciones de su potencialidad, asf como las posibles restncciones de aplicación.

En el presente trabajo se utilizan los clasificadores de minima distancia y redes neuronales. Dos de los ices agentes emplean el clasificador de mínima distancia: el agente de momentos invariantes y el agente de descriptores topológicos. El tercer agente emplea una red neuronal del tipo backpropagation.

34

Page 64: SEP SElT DGlT - CENIDET

Reconocimiento de patrones Capítulo 2

2.6. Conclusión del capítulo

En el presente capítulo se fundamenta el uso de patrones como un conjunto de características descriptivas de un objeto, enfatizando que no sólo de objetos tangibles es posible obtener un patrón descriptivo. Este concepto es tomado para denominar al conjunto de descriptores obtenidos de una imagen, el cual es empleado para su clasificación.

En este capítulo también se d e s c n i una clasificación de las características o descriptores que es posible obtener de una imagen y se explica de manera sencilla la esencia de cada una de ellas.

UM vez desarroiladas las bases anteriores, se expone el proceso de visión artificial, desde la obtención de la imagen hasta su interpretación, siendo este último punto la parte conocida como reconocimienfo de pafrones (RP) del cual se exponen algunos de los métodos más conocidos y empleados en la actualidad en esta área de la inteligencia artificial.

35

Page 65: SEP SElT DGlT - CENIDET

capítulo 3 Agentes inteligentes

CAPÍTULO 3 Agentes inteljpentes

3. Agentes inteligentes

3.1. Introducción

3.2.1. ¿Qué es un agente? 3.2.2. Tipos de agentes 3.2.3. Ambientes 3.2.4. Arquitectura general de un agente 3.2.5. Comunicación entre agentes

3.3.1. Defuiición de sistema multiagente 3.3.2. Protocolo de red de contrato [SMITH-80] 3.3.3. Arquitectura de pizarrón [MAITR-901 3.3.4. Observaciones adicionales de

3.3. Sistemas multiagente { arquitecturas multiagente

\ 3.4. Conclusión del capítulo

3.1. Introducción

Mucho antes de que hubiese un campo llamado inteligencia artificial, antes de que existieran computadoras y aún antes de un conocimiento de la electrónica, el ser humano se encontraba irresistiblemente atraído a la idea de crear inteligencia fuera de su propio cuerpo. Los primeros vestigios de esta práctica son encontrados en la mitología griega donde se aíirmaba que los dioses creaban personas artificialmente a partir de bronce, roca, madera, arcilla u otros materiales. Existen también historias en la Europa medieval del siglo XVI en donde personas afirmaban haber creado vida artificial, tal es el caso de Czech Rabbi Judah Ben h e w , quien añrmaba haber esculpido un hombre de arcilla al que üam6 Jospeh Golem (golem se ha usado como sin6nimo para un humano artificial). Y la época actual no se queda atrás, prueba de ello son el gran número de películas de ciencia-ficción en las que el hombre demuestra su deseo y su miedo ante la posibilidad de que máquinas o humanoides alcancen o superen su capacidad intelectual WSHK-SS] y [RUSSE-96].

Con la aparici6n de las primeras computadoras fue retomado ese deseo de crear entidades inteligentes, empleando para tal ñn la computadora. Es así como en la conferencia de Dartmouth, en el año de 1956, se acuña el término de inteligencia arrificial. La conferencia tenía como objetivo explorar qué aspectos del aprendizaje o de la conducta inieligente son factibles de ser descritos de tal manera que puedan ser simulados mediante

36

Page 66: SEP SElT DGlT - CENIDET

Capitulo 3 Agentes inteligentes

una compuiadora. A partu de ese acontecimiento a la fecha se ha trabajado en proyectos en los que, mediante el uso de computadoras, se atacan problemas que se considera requieren inteligencia humana.

Con sus orígenes en la inteligencia artificial, nace el concepto de agente inteligente, el cual viene a revolucionar y acrecentar más los deseos del ser humano por crear entidades inteligentes. A ciencia cierta no se sabe quien usó por primera vez el término agente inteligente, más bien, se ha consolidado a partir de algunos trabajos en los que se mencionan las características deseables que se espera tenga un agente [CONNA-911 y [MAES-941.

Actualmente la pregunta ¿qué es un agente? es tan desconcertante para la comunidad de computación basada en agentes como lo es la pregunta ¿qué es inteligencia? para la comunidad de computación en inteligencia artificial. El problema es que aunque el término es ampliamente usado por mucha gente que trabaja en áreas estrechamente relacionadas entre sí y cercanas a la noción de agentes, es un desafio producir una definición universalmente aceptada. Lo anterior, en el sentir de algunos autores, no es necesariamente un problema serio; después de todo, si mucha gente está desarrollando aplicaciones útiles e interesantes, entonces no es algo crítico el que no se pongan de acuerdo en detalles de terminología. Sin embargo, existe el peligro de que el término agente sea empleado en forma indiscriminada; ya sea que a cualquier cosa se le quiera llamar agente inteligente, o bien, que no se le acredite como tal a algo que cumple con las características en las que otros tantos autores del tema están de acuerdo.

En este capítulo, se analizan algunas definiciones de agentes, se presentan algunos tipos de agentes, iguaimente se descnin tipos de ambientes en los que se puede encontrar un agente. También se presenta la arquitectura general de un agente basado en utilidad y algunos puntos importantes acerca de la comunicación entre agentes. Finalmente, se presentan algunas definiciones de sistemas multiagente (SMA), además de describir en qué consiste el protocolo de red de contrato y la arquitectura de pizarrón, ambas ampliamente usadas para desarrollar sistemas multiagente.

3.2. Agentes

3.2.1. ¿Qué es un agente?

Quienes se encuentran trabajando en investigaciones relacionadas con agentes han dado su definición intentando explicar el uso que ellos dan ai término ugente. Tales definiciones van desde las simples hasta las complejas y exigentes. A continuación se presentan algunas definiciones encontradas en la literatura actual.

Un agente es todo aquello que puede considerarse que percibe su ambiente mediante sensores y que responde o actúa en tal ambiente por medio de efectores

37

Page 67: SEP SElT DGlT - CENIDET

Capítulo 3 Agentes inteligentes

[RUSSE-96]. Esta definición realiza UM relación entre las características de un ser humano con las características deseables de un agente. Por ejemplo, el ser humano tiene ojos, oídos y otros órganos que le sirven de sensores. Igualmente cuenta con manos, piernas, boca y otras partes de su cuerpo que le sirven como efectores. En el caso de un agente robótico, los sensores son sustituidos por cámaras y telémetros inüarrojos y los efectores por mecanismos movidos por motores. Un agente de software percibe y actúa mediante cadenas de bits codificados.

Agente es un sistema que trata de cumplir un conjunto de objetivos en un ambiente dinámico y complejo [MAES-941. Esta publicación trata acerca de entidades inteligentes, llamadas agentes autónomos los cuales cuentan con un conjunto de objetivos y motivaciones que tratan de satisfacer. Proponen un campo de inteligencia artiñciai basada en conducta y no el de inteligencia artificial basada en conocimiento, comúnmente usado. La aplicación que dan a los agentes es al estudio de la conducta anima& situando estas entidades en un ambiente impredecible y dinámico.

Un agente inteligenfe es soflare que puede tomar acciones independientes en la in fedace en función de los objetivos del usuario, sin la intervención explícita por parte del usuario [LIEBE-961. Esta definición concibe ai agente como una entidad puramente constituida por software, el cual tiene como objetivo ser una capa intermedia entre el usuario de aplicaciones y la interface de las mismas con el ñn de facilitar y hacer más accesible el uso de la aplicación. El agente es capaz de tomar decisiones con base en su registro de las acciones realizadas por el usuario, de tal forma que aprende o descubre ciertos patrones de comportamiento del mismo y es capaz de prever algunas acciones y adelantarse o realizar propuestas al usuario en un futuro.

Una entidad es un agente de sojiiare si y sólo si se comunica correctamente mediante un lenguaje de comunicación de agentes (LCA) [GENES-941. Esta definición introduce una característica de gran importancia respecto a la noción de agente y es precisamente la capacidad de comunicarse con otros agentes. Igualmente hace hincapié en la necesidad de un lenguaje de comunicación de agente, necesariamente conocido por la comunidad de agentes que han de intercambiar información entre sí.

Los agentes inteligentes continuamente realizan tres funciones: percepción de condiciones dinámicas del ambiente; acción que afecto las condiciones en el ambiente; y razonamiento para interpretar sus percepciones, solucionar problemas, trazar inferencias y determinar acciones [HAYES-95]. Esta definición hace hhcapié en la percepción del ambiente que rodea al agente y la acción que &e realiza sobre el miSrno; pero principalmente en el razonamiento que el agente debe realizar para la ejecución de una acción.

Un agente es un sistema computacional basado en hardware o sofiare que cuenta con las siguientes propiedades:

38

Page 68: SEP SElT DGlT - CENIDET

capitulo 3 Agentes inteligentes

Autonomía: los agentes operan sin la intervención directa de humanos u otros agentes y tienen algún tipo de control sobre sus acciones y estado interno. Habilidad social: los agentes interactúan con otros agentes vía algún tipo de lenguaje de comunicación de agentes. Reactividad: los agentes perciben su ambiente (el cual puede ser el mundo físico, un usuario por medio de una interface gráJca de usuario, una colección de agentes, el Internet, o quiz& todos o alguna combinación de ellos), y responde a los cambios ocurridos en él. Pro-actividad: los agentes no sólo actúan en respuesta a su ambiente, ellos pueden exhibir una conducta dirigida por objetivos tomando la iniciativa [WOOLD-951.

Esta definición nuevamente hace mención de la autonom'a que debe tener un agente, así como la característica de poder comunicarse con otros agentes. De igual forma concibe al agente con habilidad para cambiar el medio ambiente, ya sea por reacción o por iniciativa propia.

Se puede observar en los párrdos anteriores que existe un gran número de definiciones de agente, y propiamente ese es el punto que se tocó en la parte introductoria de este capítulo, ¿cómo es posible discernir cuándo se está trabajando con agentes inteligentes y cuándo no es así?. Debido a lo anterior, es conveniente apegarse a una de las definiciones ya existentes o establecer otra más, a ñn de especiñcar qué se entiende por agente o más bien, cómo se está usando el término agente.

Reiteramos que en el presente trabajo, el concepto de agente que se emplea es: entidad autónoma de sofmare, que percibe el ambiente en términos de imágenes y lo interpreta o reconoce a partir de un conocimiento previo y la colaboración con otros agentes reconocedores.

En el capítulo 4 se tratará a mayor amplitud la forma en que se emplea el concepto de agente en este trabajo.

3.2.2. Tipos de agentes

Es posible enunciar varias clasicacionec de agentes, no necesariamente diferentes entre sí. Entre ellas considérense las siguientes:

En [RUSSE-961 se clasifica a los agentes en las siguientes categorías:

agentes de reflejo simple, agentes bien informados de todo lo que pasa, agentes basados en metas, y

39

Page 69: SEP SElT DGlT - CENIDET

Capítulo 3 Agentes inteligentes

agentes basados en utilidad.

Los agenies de rej7ejo simple perciben el mundo mediante sensores y lo interpretan, es decir, generan información acerca de cómo se encuentra el ambiente en u11 momento dado. A partir de esa información realizan una búsqueda en su base de reglas de condición- acción hasta encontrar una que satisfaga sus condiciones con la información obtenida del ambiente; al satisfacer el antecedente se realiza la acción marcada en el consecuente de tal regla.

Los agentes bien informados de todo lo que pasa funcionan de manera sllnilar a los agentes de reflejo simple en el sentido de que perciben el mundo, lo interpretan, buscan una regla que cumpla con lo observado y ejecutan la acción indicada; sólo que aquí, al interpretar el ambiente, se toma en cuenta tanto lo observado, así como la forma en que ha ido evolucionando el ambiente en el transcurso del tiempo. Además de tomar en cuenta lo que producen sus acciones; es decir, se toma en cuenta la evolución del ambiente y los efectos que produce su accionar.

El agente basado en metas contiene, en cierta forma, un agente bien informado de todo 10 que pasa, además, este agente es capaz de considerar diferentes caminos o acciones a seguir y determinar cuál o cuáles son las que le ayudarán a alcanzar el objetivo deseado.

El agente busado en utilidad, aparte de discemir cuáles caminos lo iievan a alcanzar su meta, cuenta con alguna función de utilidad que le indica cuál o cuáles caminos o acciones son mejores que las otras; ya sea por ser menos costosos o por apegarse más a las metas u objetivos a cumplir.

Podría pensarse que si el agente basado en utilidad contiene a los tres restantes, sería la mejor opción a aplicar en cualquier problema que se presentara. Pero hay que tomar en cuenta que cada situaci6n o problema son diferentes, y que son precisamente esas características propias del problema las que determinarán que tipo de agente es el idóneo para ser aplicado; de lo contrario, tal vez se estaría trabajando de más en la solución de un problema muy sencillo, o se aplicaría un agente pow, apto para un probiem complejo.

Otra clasicaci6n encontrada en [BUSSM-94] divide a los agentes en la siguiente categoría:

agentes reactivos. agentes cognitivos.

El modelo reactivo especifica un agente por su conducta, es decir, la forma en que el agente reacciona a partir de ciertos estímulos del ambiente. La relaci6n percepción-respuesta es expresada en forma de regias. Los agentespuramenie reacrivos no guardan una historia interna ni planes a largo tiempo, sino que eligen su siguiente acción a partir solamente de la percepción actual.

40

Page 70: SEP SElT DGlT - CENIDET

Agentes inteligentes Capítulo 3

El modelo cognitive de agente está motivado por la representación del conocimiento del agente. La adaptación de técnicas de inteligencia artificial para representación shbóbca, ha llevado a la introducción de creencias e intenciones en el proceso de razonamiento del agente. La representación explícita de intenciones es crucial para la idea de conocimiento.

La diferencia básica, en esta clasificación, reside en el conocimiento que el agente emplea para decidir que acción tomar ante un estímulo: la primera, no hace uso de conocimiento alguno, es decir, solamente toma en cuenta lo observado en el ambiente y a partir de ello ejecuta una acción; la segunda, toma conocimiento de situaciones anteriores. Ademb, el agente cognitivo verifica si la acción que va a tomar es útil para el logo de SUS metas, de tal forma que la acción que tome será respaldada por un proceso que le permita tomar la mejor opción de un conjunto de acciones a ejecutar.

Según la clasificación de tipos de agentes dada por Russell [RUSSE-961, 10s tres agentes reconocedores que se utilizan en el presente trabajo, son agentes de reflejo simple, ya que perciben el ambiente (llegada de una imagen de entrada) y lo interpretan o reconocen a partir de cierto conocimiento previo. El agente integrador, desarrollado en la arqitectwa, puede considerarse. como agente basado en metas, ya que es capaz de considerar diferentes caminos o formas de integrar los resultados obtenidos para llegar a un objetivo deseado (un reconocimiento efectivo).

Se& la cla,$ificación dada por Bussmann [BUSSM-941, tanto los tres agentes reconocedores, como el agente hegrador, pueden considerag híírido entre reactivos Y cofitivos Ya que, EgÚn 1% características dadas por este autor, no pueden ser ni pur(unente rwctivos, ni puramente cognitivos, sino niezch de

3.2.3. Ambientes

Como se observó en las definiciones de agente, éste se encuentra inmerso en un ambiente determinado, el cual está siendo sensado a fin de determinar la acción o acciones que se han de r e . Los ambientes pueden ser de diferentes tipos. Las diferencias según [RUSSE-961 son las siguientes:

Accesibles Y no accesibles: Si el aparato sensoriai de un agente le permite tener acceso ai estado total de un ambiente, se dice que éste es accesible a tal agente. Un ambiente es realmente accesible si los sensores detectan todos los aspectos relevantes a la elección de una acción. Los ambientes accesibles son c6modos9 puesto que no es necesario que ei agente mantenga un estado interno Para estar ai tanto de lo que sucede en el mundo.

. .

41

Page 71: SEP SElT DGlT - CENIDET

Agentes inteligentes Capítulo 3

Li. agente no tiene por qué preocuparse sobre la incertidumbre en un ambiente accesible y determinista. Pero si el ambiente es inaccesible, entonces podría parecer que es no determinista. Lo anteriores especialmente válido cuando el ambiente es complejo, dficultando el estar al tanto de todos los aspectos inaccesibles. Por eUo, es más conveniente calificar el que un ambiente sea determinista o no determinista considerando el punto de vista del agente.

Episódico y no episódico: En un ambiente episódico, la experiencia del agente se divide en "episodios". Cada episodio consta de un agente que percibe y actúa. La calidad de su actuación dependerá del episodio mismo, dado que los subsecuentes no dependerán de las acciones producidas en episodios anteriores. Estos ambientes son más sencillos puesto que el agente no tiene que pensar por adelantado.

-

Esfúticos y dinámicos: Si existe la posibilidad de que el ambiente suka modificaciones mientras el agente se encuentra deliberando, se dice que tal ambiente se comporta en forma dinamica en relación con el agente; de lo contrario, se dice que es estático. Es más facil trabajar con ambientes estáticos puesto que el agente no tiene que observar lo que sucede en el mundo al mismo tiempo que decide sobre el curso de una acción, ni tampoco tiene que preocuparse sobre el paso del tiempo. Si el ambiente no cambia con el paso del tiempo, pero sí se modifica la calificación asignada al desempeño de un agente, se dice que el ambiente es semidinúmico.

Discretos y continuos: Si existe una cantidad iimitada de percepciones y acciones distintas y claramente discemiiles, se dice que el ambiente es discreto. El ajedrez es discreto: existe una cantidad fija de posibles jugadas en cada turno. El conducir un auto es continuo: la velocidad y ubicación del mismo y de los demás vehículos se extiende a través de un rango de valores continuos.

Como es de esperar, el caso más dificil se caracteriza por ser inaccesible, no determinista, no episódico, dinamico y continuo. Los programas de agente son relativamente diferentes según sea el ambiente en el cual se van a desenvolver. Por ejemplo, el juego de ajedrez es accesible, determiniSta, no episódico, estático y discreto; un agente para este juego será muy diferente a otro agente para la conducción de un automóvil, ya que el ambiente, en este caso es no accesible, no determinist% no epishdico, dinámico y continuo.

3.2.4. Arquitectura general de un agente

Como se mencionó en la sección anterior, un agente está construido según el tipo de ambiente en el cual se encuentra inmerso. Por lo tanto, es un poco atrevido dar una arquitectura general de un agente; sin embargo, es posible dar la arquitectura para el agente

42

Page 72: SEP SElT DGlT - CENIDET

Capítulo 3 Agentes inteligentes

más completo, es decir, aquel que considera una serie de factores como serían conocimiento, metas, utilidad, etc. Lo anterior a fin de representar cuál sería el caso de un agente que se topara con un ambiente dificil. Además, dar ‘una arquitectura para un agente completo permitirá deducir cuál sería La arquitectura para un agente más sencillo.

La figura 3.1 muestra la arquitectura para un agente basado en utilidad mencionado en la sección 3.2.2. Como puede observarse, este agente sensa y actúa sobre el ambiente. A partir de lo observado genera una interpretación del mundo y verifica que ocurriría al aplicar una acción determinada. De todas las posibles acciones eiige aquella que le garantiza una mayor utilidad o satisfacción de sus propios objetivos.

7 / 7 I/b sensores

A

M

B

I

E

N

T

E

I I

i 4 - Estado

Estado actual del mundo- ~

Evolución dd mundo 4 Verificación de sucesos wsibles

al emprender una acción Efcdo pmducido por la I splicaci6n de una regla

Evaluación de satisfacción

Acción a ejecutar

Efectores 4

2 1

Figura 3.1. Arquitectura para un agente basado en utilidad.

3.2.5. Comunicación entre agentes

En forma similar a los animales y a los seres humanos, los agentes inteligentes requieren de un lenguaje que les permita comunicarse con otros agentes; es decir, es necesario que exista un lenguaje o medio por el cual un agente se comunique con otro u otros agentes a ñn de proporcionar o recibir información que pueda servirle para realizar mejor su trabajo.

Existen varias formas en que los seres humanos reciben o comunican algo, por ejemplo, el lenguaje mímico, el lenguaje escrito, el lenguaje hablado.

43

Page 73: SEP SElT DGlT - CENIDET

Capltulo 3 Agentes inteligentes

Para el caso de los agentes, es posible hablar principalmente de dos formas de comunicación: el paso de mensajes, que sena similar al lenguaje hablado y lenguaje escrito humano y, el uso de la que se conoce como arquitectura de pizarrón, la cual consiste en un área común de datos en la cual todos los agentes pueden escribu y leer información.

Un tipo clásico de comunicación entre procesos, es la arquitectura clienfe-servidor, la cual puede ser catalogada como comunicación punfual. En esta arquitectura, un proceso cliente transmite un requerimiento a un proceso servidor, el'servidor ejecuta el requerimiento y regresa una respuesta al cliente. De esta forma, cuando dos agentes se comunican, uno puede jugar el rol de cliente y otro de servidor y después cambiar los papeles.

Cuando se desea comunicar un agente con varios de ellos a la vez, ya no es efectivo un modelo de comunicación puntuai, sino que se requiere un modelo que soporte la comunicación de uno a muchos. En ciertas redes, es posible crear una dirección especial a la que pueden atender varias máquinas. Cuando se envía un mensaje a una de estas direcciones, se entrega de manera automática a todas las máquinas que atienden a esa dirección Esta técnica se Uama multitransmisión o Multicast. De esta forma, la implantación de grupos mediante multitransmisión es directa, s610 hay que asignar a cada grupo una dirección distinta [COULO-951 y [TANEN-931.

El sistema ISIS' es un conjunto de herramientas para la construcción de aplicaciones distriiuidas. Consta de un grupo de programas que se ejecutan por encima de Unix o algún otro sistema operativo existente que soporte aplicaciones distribuidas. La idea fundamental de ISIS es la sincronía u orden y las primitivas fundamentales de comunicación son diversas formas de comunicación atómica.

ISIS provee multitransmisión no ordenada (FBCAST), multitransmisión causalmente ordenada (CBCAST), multitransmisión totalmente ordenada (ABCAST) y multitransmisión síncronamente ordenada (GBCAST). El orden se refiere a la sucesión de llegada de un mensaje a cada uno de los miembros pertenecientes ai grupo [COUL0-95].

Diferente a las primitivas de comunicación que proporciona el sistema ISIS, existe la arquitectura conocida como pizarrón, la cual consiste en una estructura pfiblica en la cual cada proceso puede escrihii información y leer lo que otros procesos escriben De este modo, si la información escrita en el pizarrón es el resultado obtenido de una consulta O de la ejecución de una rutina, otros agentes pueden aprovechar tal resubdo para enriquecer SU conocimiento, o bien para realizar otros procesos que requieran de tal información. En la sección 3.3.3 de este capítulo se describe con un poco más de detalle cómo funciona la arquitectura de pizarrón.

' El nombre ISIS no proviene de siglas de algún proyecto. Isis es el nombre de la diosa egipcia esposa de Osiris, madre de Horn y saora de la magia. ISIS y su sucesor How, son sistemas desarrollados para un estudio de tolerancia a fallas en sistemas distribuidos. Ambos sistwas, implementan un conjunto de t h i c a s para la mnstrucción de software para sistemas distribuidos y se desempeRan de manera robusta aún ante fallas de hardware y software; además, permiten explotar el paralelismo [COULO-95].

44

Page 74: SEP SElT DGlT - CENIDET

Capítulo 3 Agentes inteligentes

3.3..Sistemas multiagente

3.3.1. Definición de sistema multiagente

una arquitectura multiagente o sistema muitiagente consiste en un grupo de agentes que tienen por objetivo resolver un mismo problema, para lo cual hacen uso de su capacidad de comunicaci6n a fin de aprovechar la aptitud de otros agentes del sistema [BOISS-941, [CONNA-91] y [DEMAZ-91].

El grupo de agentes que integran el sistema puede estar ñsica o lógicamente distribuido. La tarea global que realiza el sistema multiagente puede llevarse a cabo en un sistema de red o manejarse como procesos concurrentes en una misma máquina Cuando se usa un sistema distribuido físicamente, es decir, una red de computadoras, los procesos se encuentran físicamente distribuidos en diferentes máquinas; por otra parte, cuando se manejan procesos concurrentes en una misma máquina, los procesos s610 están Mgicamente distribuidos. Tal es el caso del presente trabajo, en él, se utiliza una distribución lógica, donde cada agente es un proceso que se ejecuta en la misma máquina.

Los grupos pueden ser estáticos o dinámicos, son estáticos aquellos en que los miembros del grupo son siempre los mismos, es posible mencionar dos casos: a) cuando el grupo es el mismo para cualquier tarea a resolver y b) cuando existen grupos ya marcados para cada tarea en particular.

Los grupos pueden ser d-cos: se pueden crear y destruir grupos, un agente se puede unir a un grupo y dejar otro, un agente puede ser miembro de varios grupos a la vez. Por ejemplo, agentes buscadores de información en diversos servidores en Internet.

3.3.2. Protocolo de red de contrato [SMITH-801

En las empresas, ai presentarse una o varias vacantes, se lanzan convocatorias por diferentes medios, por ejemplo el periódico, algunas revistas especializadas, etc. El objetivo consiste en obtener diversas ofertas que permitan escoger a los individuos más aptos para la tarea que requiere el puesto. La selección se realiza revisando el curricdm de las personas, entre otras pruebas de selección.

La idea de contrato de personal se usa para formar sistemas multiagente con el ñn de realizar una tarea o resolver un problema, con la variante que, al realizar la selección, se elegirá el grupo más apto y no un solo individuo, como generalmente ocurre en el proceso de selecci6n de personal de una empresa para cubrir un puesto.

Un agente llamado ugenfe confrufisfu es el encargado de lanzar la convocatoria a la comunidad de agentes. Cada uno de los agentes identifica la tarea a realizar y verifica en SU

45

Page 75: SEP SElT DGlT - CENIDET

Agentes inteligentes Capítulo 3

lista de habilidades si es apto para trabajar en tal labor, aparte de esto puede verificar qué tan útil le es participar en esa tarea; si decide participar en la selección, elabora una especie de lista de características y habilidades que le remite ai agente contratista.

Una vez que el contratista ha recibido todas las propuestas, elige aquellas que cumplan con los requerimientos para el trabajo en cuestión. De esta forma, el contratista manda un mensaje a los agentes seleccionados y se da por formado el grupo de trabajo.

Los agentes seleccionados solicitan al contratista los datos existentes para trabajar sobre el problema y una vez que se liega a un consenso de solución, ésta es remitida al contratista quien la reporta al exterior.

El proceso anterior puede observarse en la figura 3.2.

1 Comunidad de agentes

I

Figura 3.2. Acciones bbicas en un protocolo de contrato.

3.3.3. Arquitectura de pizarrón [MAITR-90]

El concepto de arquitectura de pizurrh fue concebido por investigadores en el campo de la mteligencia artificial hace más de 10 años. El foco de atención de esta investigaci6n era atacar el problema de compartir informaci6n entre múltiples agentes heterogéneos para la solución de problemas. El nombre de arquitectura de pizarrón fue elegido para evocar la metNora en la cual un grupo de expertos discuten k n t e a un p h ó n para, de una m e r a colaborativa, resolver un problem complejo.

46

Page 76: SEP SElT DGlT - CENIDET

capítulo 3 Agentes inteligentes

El pizarrón es usado como un área o depósito central para toda la información que debe ser compartida. La información en el pizarrón representa hechos, suposiciones y deducciones realizadas por el sistema durante el proceso de solución de un problema Cada agente experto posee su propio conjunto de conocimiento y cada uno puede emplear una estrategia diferente para resolver el problema. Cada agente ve la información en el pizarrón y trata de contribuir a la solución, si es posible. Un agenie facilitador controla la escritura, jugando el papel de mediador entre los agentes expertos que compiten entre sí por escniir en el pizarrón. La función del facilitador es determinar cuái experto, en un momento determinado, tiene la aportación o información más importante para contribuir a la solución del problema.

Una sesión para solucionar un problema inicia cuando el facilitador escribe en el pizarrón la especificación del problema, además de todos los hechos y suposiciones relevantes. Esta información queda visible a todos los agentes. Si uno de los expertos reconoce la oportunidad de aplicar sus conocimientos en el estado actual de la solución del problema, éste solicita la atención del facilitador. El facilitador selecciona la contribución más prometedora, de entre aquellos expertos que requirieron su atención, y escn’be tal aportación en el pizarrón. El proceso continúa, iterativamente, hasta que el problema ha sido resuelto.

En términos más precisos, el pizarrón puede considerarse como una base de conocimiento la cual representa la memoria de trabajo del sistema que resuelve el problema. Los expertos son subsistemas de software, llamados fuentes de conocimiento, que representan diferentes puntos de vista, diferentes estrategias y diferentes tipos de conocimiento acerca de cómo resolver el problema Esos paradigmas de resolución de problemas incluyen:

Sistemas basados en reglas. Sistemas basados en casos. Redes neuronales. Sistemas de lógica difusa. Algoritmos genéticos. Otros.

El faciütador es representado por el sistema de control, que comprende un detector de eventos y un administrador que dirige la interacción entre el pizarrón, las fuentes de conocimiento y las fuentes externas tales como usuarios o sistemas de adquisición de datos o sistemas de control.

Como puede observarse, la arquitectura de pizarrón es parte importante de una arquitectura multiagente, ya que es el módulo central en el que se concentra el conocimiento común, útil para toda la comunidad de agentes. Como se menciona al ñnai de la sección 3.2.5 de este capítulo, no es indispensable que un agente se comunique directamente con

47

Page 77: SEP SElT DGlT - CENIDET

Capitulo 3 Agentes inteligentes

otro U otros, prueba de ello es la gran aceptación que tiene la arquitectura de pizarrón como medio de comunicación en la creación de sistemas multiagente.

3.3.4. Observaciones adicionales de arquitecturas multiagente

Existen algunos puntos importantes que es conveniente remarcar. Por ejemplo, ¿ Q U ~ beneficios trae u t k Una arquitectura muitiagente?. Aquí la compara&n necesariamente debe ser Contra agentes individuales u otras técnicas de solución de problem (no llamada agentes) que trabajen en forma individual. Las ventajas van en el sentido de la cooperación y el efecto de sinergia que se obtienc al conjuntar las cualidadcs de diversas entidades. Ni siquiera el ser humano es capaz de conocer todos los métodos para resolver algo. Al encontrarse &ente a un problema complejo, generalmente se conforman comités o mesas de trabajo en las que se discute hasta llegar a una solución conjunta. De igual forma, es casi imposible crear un agente individual capaz de realizar todo por sí mismo; sería necesario representar el conocimiento de todos los expertos del mundo y una máquina de uiferencia igualmente inmensa capaz de manejar un conocimiento tal. Utilizando un conjunto de agentes que trabajen de manera cooperativa se obtienen resultados que no se podrían obtener si sólo un agente se encargara de encontrar la solución a un problema dado.

Otro aspecto a considerar son las posibles desventajas que existen al emplear una arquitectura multiagente. Entre ellas, la más signiíicativa es el tiempo de procesamiento, requerido desde la aparición del problema, hasta la obtención de una buena solución. Por supuesto, la solución puede ser la mejor, pero es posible que el tiempo de respuesta sea muy largo, o en el peor de los casos, que no se llegue a un cownso. Es aquí donde se debe considerar que es lo que se quiere mejorar, ya sea el tiempo de respuesta o la calidad de la solución. Otra posible desventaja es que se debe crear el medio de comunicación entre agentes, es decir, se debe crear un lenguaje, el cual sea conocido por todos los agentes; o bien, un área común, en la que todos los agentes sepan qué pueden encontrar y qué pueden escribir o publicar.

El tipo de problemas que se pueden resolver o atacar mediante un sistema multiagentc puede ser muy amplio y variado. Considere a cada agente como un experto en un área detemiinada, como puede ser: agentes de intefice hombre-&quina, agentes de phac i6n , agentes de visión por coqutadora, agentes robóticos, agentes módes, agentes buscadores en Internet, agentes que prevén fallas en etc. Puede C r e w un agente para cada problema existente y un agente nuevo por cada problema que surja; mejor aún, se pueden crear varios agentes que ataquen un misno problema mediante técnicas diferentes. Así, al conformarse un sistema multiagente, se espera contar con diferentes enfoques que ataquen un mismo problema, garantizando una mejor solución que la obtenida por entidades individuales.

En el contexto de esta investigación, se cuenta con tres agentes reconocedores de imágenes 2D que trabajan conjuntamente en el reconocimiento de objetos nuevos contenidos

48

Page 78: SEP SElT DGlT - CENIDET

Capítulo 3 Agentes inteligentes

en unágenes digitaies. Los métodos de reconocimiento empleados se mencionaron en la sección 1.5.2 y se describen a mayor detde en las secciones 4.6,4.7 y 4.8.

3.4. Conclusión del capítulo

En este capítulo se presentaron y analizaron las defuiiciones de agente de algunos reconocidos autores en el área. Igualmente se integra una ciasiicación de agentes de acuerdo a sus características principales.

Puesto que un agente inteligente es UM entidad que se encuentra inmersa dentro de algún medio ambiente determinado, se incluye una clasificación de los posibles ambientes.

Considerado lo anterior, se presenta la arquitectura de un agente basado en utilidad, por contar con características deseables para un mejor desempeño ante ambientes inaccesibles, no deterministas, no episódicos, dinámicos y continuos, siendo este tipo de ambiente el maS diñcil de tratar.

No podia faltar en este apartado el tema de comunicación entre agentes y sistemas mdtiagente. Se mencionan algunos de los protocolos más usados como es la comunicación en grupo y la comunicaci6n punto a punto.

Finalmente, se presentan aigunas definiciones de sistemas mdtiagente (SMA) que se consideran importantes. Además se describe en quk consiste el protocolo de red de contrato y la arquitectura de pizarrón, ambos ampliamente usados para desarrollar sistemas multiagente.

49

Page 79: SEP SElT DGlT - CENIDET

capítulo 4 Modelo propuesto

CAP~TULO 4 Modelo mouuesto

4. Modelo propuesto

4.1. Introducción

4.2. Arquitechira multiagente desarrollada

4.3. imagen de entrada

4.4.1, Reducción de ruido 4.4.2. Detección de contomos 4.4.3. Determinación de la ventana

4.4. PreproCeCamiento

minima de un objeto en la imagen de la imagen

4.5. Preparación de una sesión de reconocimiento

4.6. Agente de momaitos mVariantes

4.7. Agente de descnptores topológicos

4.8.1. CaraaenNcas de la red neuronal y etapa de entrenamiento

4.8.2. Etapa de reconocimiento

4.8. Agente de red neuronal

4.9. Integraciónde resultados

4.9.1. Verificación de la posición de cada objeto en la lista de votaciones de los agentes

4.9.2. Obtención del promedio de votaciones para cada objeto

4.9.3. Cálculo de la votación para cada objeto, tomando en cuenta el peso de cada agente

4.9.4. intercambio de caracterktks entre el agente de momentos mvariantes y el agente de

c descnptores topolÓg¡cos

4.10. Resumai ñn~- iel sistema desarrollado

4.1 1. Conclusión del capmilo

4.1. Introducción

Como se menciona en la sección 1.5.1, el objetivo del presente trabajo de investigación, desarrollar una arquitectura multiagente que permita mejorar los porcentajes de reconocimiento de patrones visuales.

50

Page 80: SEP SElT DGlT - CENIDET

Capitulo 4 Modelo propuesto

Para tal efecto, se detectó la posibilidad de utilizar la forma de trabajo de los sistemas multiagente, a fin de conjuntar los esfuerzos de módulos reconocedores llamados agentes. Estos agentes tienen la característica de que son capaces de trabajar por sí solos, es decir, son autónomos en el sentido de que, a partir de una imagen de entrada, pueden dar una opinión o votación de reconocimiento.

Si cada agente es capaz de reconocer por sí solo, ¿para qué usar una arquitectura multiagente?. La respuesta es simple, pero suficiente para justificar la presente investigación. Es verdad que cada agente de reconocimiento es capaz de cumplir la tarea por sí solo, y cada agente cuenta con un porcentaje determinado de éxito en el reconocimiento; es aquí donde se formula la siguiente hipótesis: si se emplea un grupo de agentes reconocedores de patrones que trabajen conjuntamente, entonces es posible obtener mejores resultados que los que se obtienen de manera individual por cada uno de ellos (hipótesis enunciada en la sección 1.5.1).

El uso de una arquitectura multiagente implica poder aprovechar las características de cada agente a fin de lograr un efecto de sinergia, es decir, que el resultado que se obtenga sea mejor que lo que cada una de las partes integrantes puede hacer, en este caso, reconocer imágenes de objetos [LIÑAN-96] y [h4ALIB-97].

En este capítulo se muestra c6m se integra la arquitectura multiagente desarrollada, presentando en forma individual el modelo de agente empleado para cada uno de ellos. También se describe el funcionamiento del sistema desarrollado y de cada uno de los agentes en particular, explicando el método de reconocimiento que emplean.

4.2. Arquitectura multiagente desarrollada

La figura 4.1 muestra en forma general la arquitectura multiagente que se desarrolló en la presente investigación. En las siguientes secciones se explican las características y funcionamiento de cada una de las partes que la integran. A fin de ser más claro en la descripción, se sigue la secuencia del flujo natural del proceso de reconocimiento que presenta el sistema.

A grandes rasgos, el funcionamiento de la arquitectura presentada es el siguiente. Existen tres agentes reconocedores de @enes, cada uno de los cuales emplea una técnica para tal fin: cla@cador de mínima distancia para los agentes de momentos invariantes de Hu w - 6 2 1 y descripiores topológicos [GONZA-96] y una red neuronal de propagación hacia atrás (backpropagation) [FREEM-921 para el tercer agente. Existe un cuarto agente, denominado integrador el cual recibe la imagen de entrada, te aplica un preproce-ento para reducir el ruido e identificar la posición de los objetos que se encuentran en ella Este agente pxpara un área de memoria común, conocida como pizan6n [MAITR-901, en el cual se encontrará información útil a los agentes para que realicen su labor. El agente integrador, una vez que tiene todo listo, da el aviso de arranque a los agentes reconocedores y cada uno

51

Page 81: SEP SElT DGlT - CENIDET

Capítuio 4 Modelo propuesto

realiza SU proceso de reconocimiento anotando su resultado en el pizarrón. El integrador verifica tales resultados y decide terminar o que los agentes realicen nuevas votaciones de reconocimiento (en la sección 4.9 se explican los criterios para tomar tales decisiones), estas nuevas votaciones las realiza cada agente considerando parte de la información obtenida por otro agente que ditiere en la votación propia. Este proceso se describe a mayor detalle en las secciones 4.9.1 a 4.9.4.

IMAGEN AGENTE MTEGRADOR

MOMENTOS DESC WARIANTES 7-

Imagen prepr-da

Resultados I I individuales

Figura 4.1. Arquitectura multiagente para el reconocimiento de imágenes.

En el presente trabajo, sólo se ha habilitado a dos de los agentes para que puedan volver a procesar información nueva, en caso de ser necesario. Estos son el agente de momentos invariantes y el agente de descnptores topológicos, los cuales dejan de ser agentes puramente de momentos invariantes o puramente de descriptores topológicos. En este proceso, el agente que tiene la mayor votación de reconocimiento tiene el primer turno para convencer al otro de que acepte la propia, de no lograrlo, toma el turno el otro agente. El número máximo de intentos para convencer ai otro agente es igual a la parte entera de (n- I)/2 veces como máximo, donde n es el número de características que emplea el agente al que se desea convencer. Si no existe co~~senso, el agente integrador puede decidir dar por terminado el proceso de cooperación y anunciar que no se ha podido llegar a un acuerdo en

52

Page 82: SEP SElT DGlT - CENIDET

capltulo 4 Modelo DiODUeStO

el reconocimiento. Sin embargo, se proporciona como salida una lista de dos a tres votaciones, dependiendo si al menos dos agentes estuvieron de acuerdo o si todos estuvieron en desacuerdo, respectivamente. Este proceso se explica más ampliamente en la sección 4.9.4.

4.3. Imagen de entrada

Como se especifica en la sección 1.5.2, el sistema multiagente recibe como entrada un archivo con formato BMP el cual contiene una imagen binaria, es decir, utiliza un bit para representar cada pixel. De este modo, se trabaja con imágenes en dos colores, el color negro para el objeto y el color blanco como fondo.

La imagen ha sido digitaiizada por un escáner, HEWLETT PACKARD Scanlet IIcx, y no ha recibido ningún tratamiento, por lo que presenta ruido aditivo y ruido wfructivo. El ruido aditivo consiste en aquellos puntos de color negro, los cuales se encuentran como sobrantes sobre el fondo blanco y al menos un pixel de separación de cualquiera de los objetos de la imagen, ya que de lo contrario es imposible detectarlo. De manera similar, el ruido sustractivo son aquellos pixeles o pequeños grupos de ellos, que son de color blanco, pero que se encuentran sobre el objeto y son demasiado pequeños para considerarse como hoyos del mismo [GONZA-96]. Para definir el tamaño en pixeles del ruido, ya sea aditivo o sustractivo, se consideran las dmnsiones de la imagen de entrada Se ha deíinido que si el área que posiblemente sea ruido es menor o igual al O. 1% del Brea total de la imagen, si se le considerará como tal. Por ejemplo, si la imagen de entrada es de 100 x 100 como dimensiones de columnas y renglones, su área es de 10000 pixeles, se considera como ruido cualquier conjunto de 10 o menos pixeles que aparezcan como adiciones o sustracciones en la imagen. La figura 4.2 muestra un ejemplo de una imagen que contiene un objeto, la cual presenta ruido aditivo y sustractivo generado por la digitalización

I

I .. . .-

Figura 4.2. Ejemplo de imagen de entrada al sistana, la cual presenta ruido aditivo y sustractivo

53

Page 83: SEP SElT DGlT - CENIDET

Capítulo 4 Modelo propuesto

Otra característica de las imágenes de entrada es que pueden contener más de un objeto. Es posible considerar cuatro situaciones diferentes:

1. Cuando no existe traslape en la ventana minima que encuadra a un objeto con la ventana mínima que encuadra a otro, o ventanas que contienen a otros objetos. Esto se observa en la figura 4.3, en donde las \lentanas mínimas se presentan por cuadros punteados. 1

1

Figura 4.3. Imagen sin traslape entre las ventanas mínimas de objetos.

2. Existe traslape entre las ventanas de dos o maS objetos, pero no entre los objetos mismos, la figura 4.4 muestra esta situación.

Figura 4.4. Traslape entre ventanas minimas, no así entre objetos.

54

Page 84: SEP SElT DGlT - CENIDET

Modelo propuesto Capíhdo 4

3. Dos objetos o más presentan traslape entre sí, como muestra la figura 4.5.

Figura 4.5. Existe iraslape entre los objetos.

4. Un objeto o varios se encuentran cortados por el &te de la imagen y no aparecen completos, esto se observa en la figura 4.6.

k- - - - - - I I I I

I

Figura 4.6. Algunos objetos aparecen incompletos en la imagen.

El sistema desarrollado considera las situaciones 1, 2 y 4. El caso 3 requiere de la aplicación de métodos dfierentes que quedan fuera del alcance del trabajo que aquí se presenta

Como se puede observar en la figura 4.3, el sistema acepta más de un objeto por imagen. El sistema es capaz de detectar y eliminar partes de otros objetos que se encuentren

55

Page 85: SEP SElT DGlT - CENIDET

Capítulo 4 Modelo propuesto

dentro de la ventana m'nima de un objeto (ver figura 4.4). En el caso de objetos que aparecen seccionados por el limite de la imagen, el sistema desarrollado los considera como objetos normales, pero no emplea ninguna técnica de reconstrucción. Depende del tamaño del área faltante para que se tenga éxito o no en el reconocimiento del objeto (ver figura 4.6).

El tercer caso, el de traslape entre objetos, es muy complicado de manejar con objetos binarios, ya que todos los objetos son de un mismo color, por lo tanto es muy dificil detectar donde se encuentra el borde que los separa. En caso de que se manejaran diferentes colores para los objetos, detectar donde se encuentra el b i t e entre ellos sería un poco más accesible; sin embargo, existirían objetos mutilados y tendrían que emplearse técnicas de reconstrucción de imágenes.

4.4. Preprocesamiento de la imagen

Como se indicó en la sección anterior, el sistema acepta imágenes con ruido y con más de un objeto. En esta sección se describe la forma en que se reduce el ruido, aditivo y/o sustractivo, y la forma de encontrar las ventanas mínimas que encuadran a cada objeto.

4.4.1. Reducción de ruido

En este punto del preprocesamiento de la imagen, se reduce el ruido consistente en aquellos pixeles y líneas de color negro que se encuentran sobre el fondo blanco de la misma. Igualmente, se aminoran aquellos puntos y üneas de color blanco que se encuentran sobre el color negro del objeto en la imagen. El gosor de las líneas de ruido es de un pixel.

Como se indica en la sección 2.4.1, una imagen digital es una imagenf(x,y) que se ha discretizado tanto en las coordenadas espaciales como en el brillo. Puede considerarse como una matriz cuyos índices de fila y columna identifican un punto de la imagen y el valor del correspondiente elemento de la matriz mdica el nivel de gris de ese punto. En este trabajo, los valores que puede tomar cada elemento de la matriz son sólo 1 y O, por tratarse de imágenes b&.

Para la disminución de ruido se realiza un barrido de la imagen, es decir, se procesan todos los pixeles uno a uno tratando de encontrar ciertas características que io califican como pixel de ruido, empleando para tal ñn una máscara. La máscara que se utiliza se muestra en la figura 4.7.

El barrido se realiza primeramente de izquierda a derecha y de arriba hacia abajo, posteriormente se realiza otro barrido de derecha a izquierda y de abajo hacia arriba. Si se considera que la matriz es de M ñias por N columnas, el dominio espacial sobre el cual se realizara el banido es de (1, l ) a (M,N).

56

Page 86: SEP SElT DGlT - CENIDET

Modelo propuesto Capítulo 4

Figura 4.7. Máscara utilizada para eliminación de puntos y líneas.

En la imagen, sólo el elemento correspondiente al central de la máscara es el que se procesa en un momento dado. Asi, tanto las Nas 1 y M, como las columnas I y N, no son alcanzadas por este elemento central. Por tal motivo se decidió que todos los valores de estas fiias y columnas tomaran un valor de 1, que es el color de fondo de la imagen. Si fuera el caso que pixeles de un objeto se encontraran en estas posiciones, sólo se perderá la información de algunos lados, del grueso de un pixel, io cual no afiita lo suficiente para el proceso posterior de reconocimiento.

Considere el siguiente ejemplo que muestra cómo trabaja esta máscara sobre la imagen. En la figura 4.8 se presenta una imagen binaria artificial, que contiene un objeto con algunos pixeles de ruido. Cada cuadro de la maiia representa un pixel. El acercamiento 4.8.a) que se realiza sobre una subárea de eiia muestra un pixel que se considera ruido aditivo, ya que es un punto negro sobre el fondo blanco. El acercamiento 4.8.b) muestra un ejemplo de ruido sustractivo.

I

bl

de ruido en una imagen: a) aditivo y b) sustractivo

5 1

Page 87: SEP SElT DGlT - CENIDET

no ruido.

Y l l . 3 w = '$ C img(i, j) musk(m,n)

i=r-l.n=l j=y-i,n=i

Ecuación 4.1

Donde x e y son L coordenadas del pixel de la imagen que corresponde al elemento central de la masCara, los valores que puede tomar x, van desde 2 hasta M-I, mientras que y toma valores que van desde 2 hasta N-I; img es la matriz de la imagen y mask es la máscara utilizada. La figura 4.9 muestra cuál es el valor de W para cada uno de los casos de las submatrices mostradas, las cuales son ejemplos de situaciones que se pueden encontrar en una imagen

I

W4 W=l W=l W=l W=l W=l I

I WQ W-8 w-1 w-7 W-2 W-6

W4 W=5 W4 w=3 w=3 W-5

Figura 4.9. Ejemplos de operación de la mascara sobre algunas muestras de submatrices de la imagen original.

58

Page 88: SEP SElT DGlT - CENIDET

Modelo propuesto Capitulo 4

L~ figura 4.9.a) y la figura 4.941, son ejemplos de pixeles de ruido aditivo Y sustractivo respectivamente. En el primer caso se observa que el ekmento central es de color negro y que se encuentra rodeado de pixeles de color de fondo de la ¡magen. Ante esta situación, se procede a cambiar el valor del elemento centmi por un 1, que es el color de los pixeles que le rodean. El segundo caso se considera como un Pkel fakmte en algún objeto; ante tal circunstancia, el elemento central de la submatriz toma el valor de 0. Ai operar la

sobre estas matrices dan como resultado valores para W de 8 y 0 respectivamente.

Las figuras 4.9.b) a 4.9.0, son ejemplos donde el elemento central de la submatriz representa la punta de una linea, por lo tanto también ese pixel se considera como ruido aditivo y debe cambiar su valor por un 1. Al operar la submatriz con la &cara, W toma valor de 7 para estos ejemplos. De manera sunilar, las figuras 4.9.h) a 4.9.1), son ejemplos de punta de iínea de cuando menos longitud 2 que se encuentran dentro de un objeto y se consideran ruido sustractivo, ya que son pixeles faltantes dentro de un objeto, por lo tanto, deben cambiar su valor a O. Para estos últimos ejemplos, W toma un valor de 1.

Los ejemplos de las figuras 4 . 9 4 y 4.9.n) muestran submatrices que se encuentran dentro y fuera de un objeto respectivamente, y el valor de su elemento central es igual al de los ocho que le rodean, por lo tanto, en este caso no se. r e a h ninguna acción.

El ejemplo de la figura 4.9.0) genera un valor de W igual a 1, es decir, hay un pixel de color de fondo en alguno de los ocho pkeles que rodean al elemento central que se está procesando. Sin embargo, tal elemento en proceso es de color negro, por lo que se encuentra rodeado por 7 pixeles de su mismo color. En esta situación tampoco se realiza ninguna acci6n. La figura 4.9.~) es un caso similar ai anterior, sólo que aquí w toma un

de 7, es deck, hay siete elementos de color de fondo rodeando al elemento que se Prom% que también es del mismo color, así que comerva SU valor.

En 10s ejemplos de f i ~ ~ 4.9.4 4.9.x) se. presentan situaciones en las que w vm'a de 2 a 6, Y se observa que en estos casos, ei elemento que se procesa no es de mido, por 10 que no se modifica SU valor sea CIA ea.

Se puede resumir que los casos en los que posiblemente existe ruido son en los que W toma valor de 0,1,7 u 8. La siguiente condición, escrita en lenguaje C, muestra la forma en que se establece la reducción de ruido:

if (W <= 1 && img[xl[u3 = 1) else

img[x][y] = O;

if(W+ 7 62& img[x][ul = O) img[x][u] = 1;

donde W es el valor obtenido al aplicar la ecuación 4.1 e img[x,y] es el pixel en la ¡magen que corresponde exactamente con el punto central de la máscara aplicada.

59

Page 89: SEP SElT DGlT - CENIDET

Modelo propuesto Capítulo 4

Para la reducción de pixeles aislados de ruido, aditivo o sustractivo, basta un solo barrido para que sean suprimidos. En el caso de líneas no cerradas, es decir, que SUS extremos no se encuentran unidos, se encontró necesario realizar dos barridos de la imagen, ya que existen situaciones en las que un solo barrido no elimina este tipo de ruido. La figura 4.10.a) muestra dos submatrices en las que existe ruido, consistente en líneas no cerradas, que es e l i d o con el primer barrido. La figura 4.10.b) muestra dos ejemplos de líneas de ruido que es eliminado hasta el segundo barrido.

Figura 4.10. Ejemplos de ruido consistente en líneas no cerradas.

Como se menciona en la sección 4.3, existen otros pequeños agrupamicntos de pixeles que se consideran como ruido, pero que no pueden ser eliminados con los barridos realizados utilizando la máscara de la figura 4.7. La eliminación de este tipo de ruido se expiicará en la sección 4.4.3.

4.4.2. Detección de contornos

El resultado dc reducir ruido consistente en pixeles y iíneas de un pixel de grosor, es la obtención de una imagen, en la cual sólo se encuentran agrupamientos de pixeles de color

60

Page 90: SEP SElT DGlT - CENIDET

Modelo propuesto Capítulo 4

de objeto 0 de fondo, con kea mayor o igud a 4 pixeies (agrupados con un grosor superior a un pixel).

siguiente etapa consiste en encontrar la^ ventanas múiimas que encuadran esos appamientos de pixeles conexos de color de objeto en la h g e n preproceada. Pero, dado que el seguimiento de pixeles conexos en objetos sólidos requiere mucho tiempo de procesamiento, y siendo que los contornos de los objetos se utilizan en otra etaP% se procede primero a encontrar los contornos, los cuales son suficientes para determinar las ventanas mínimas que se buscan.

UM primera aproximación de la deíinición de contorno, según el uso común que se da a este término es: contorno es el borde o perímetro de un determinado objeto o dibujo geométrico. Trasladando esta idea ai tipo de imágenes que se están manejando, es posible decir que contorno consiste en aquellospixeles exteriores de un objeto.

Es conveniente recordar que las imágenes aceptadas por el sistema contienen objetos, que a su vez pueden presentar hoyos, es decir, pixeles pertenecientes a huecos de color de fondo dentro de los objetos. Por lo tanto, los pixeles de color de objeto, que se encuentran en la orilla de estos huecos, tambih se consideran pixeles de contomo.

Es conveniente adaptar la definición de contomo dada por [GONZA-961 que dice lo siguiente: contorno es la frontera entre dos regiones con propiedades de nivel de p i s relativamente distintas. En este caso, por tratarse de irnágenes b i a s , el contorno consiste en frontera enire una región de color de objeto y otra de color de fondo. La figura 4.114 muestra una k e n obtenida hasta este punto del preprocesamiento y la figura 4.1 1 .b) muestra sus contornos.

Figura 4.1 1. a) Imagen original y b) imagen de contornos.

61

Page 91: SEP SElT DGlT - CENIDET

Modelo propuesto CapiNiO 4

En este trabajo, la detección de contornos se realiza de manera local utilizando una máscara de 3 x 3, la cual permite decidir si el pixel situado en su elemento central es de contorno o no. La figura 4.12 muestra la máscara musk empleada para tal función.

4.12. Máscara empleada para la detección de contornos.

De manera simiiar a la máscara utilizada para la detección de ruido (sección 4.4.1), la máscara empleada para la detección de contornos se aplica sobre submatrices de 3 x 3 de la imagen original. Igualmente, en cada una de estas aplicaciones se obtiene un valor W (ver ecuación 4.1), el cual servirá para juzgar si el pixel sobre el cual se encuentra el elemento centrai de la máscara corresponde a un pixel de contorno.

La figura 4.13 muestra aigunas submatrim de 3 x 3, donde el elemento central es de color de objeto, presenta también el valor de W obtenido al aplicar la ecuación 4.1.

W=O w=o W=O w=o

I W=l W=l w=2 w=2 w=2

w=3 w=3 w=3 w=3 I w=2

Figura 4.13. Ejemplos de submatrices de la imagen y valor de Wobtenido.

62

Page 92: SEP SElT DGlT - CENIDET

capitulo 4 Modelo propuesto

Para que el elemento img(x,y) se considere pixel de contorno, es necesario que se cumpian dos condiciones: 1) que su valor sea igual a O, es decir, que sea pixel de objeto y 2) que cuando menos uno de sus pixeles vecinos, en duección horizontal o vertical sea de color de fondo (según la conectividad 4 conexo, expuesta en [GONZA-96]).

La figura 4.13.a) muestra una submatriz en la cual todos sus elementos son de color de objeto, en tal caso el elemento en proceso no es de contomo.

Las figuras 4.13.b) a la 4.13.e) son submatrices en las cuales uno de los pixeles que rodean al elemento central es de color de fondo; sin embargo, tal pixel no es vecino ni horizontal ni Vertical, por lo tanto, el elemento central no es pixel de contomo.

Las figuras 4.13.0 y 4.13.9) presentan ejemplos de submatrices donde el elemento en proceso colinda con un pixel de color de fondo en dirección vertical y horizontal respectivamente, en este caso, el elemento central sí es pixel de contorno y es necesario marcarlo.

Los ejemplos 4.13.h) al 4.13.k) muestran casos de submatrices donde el elemento procesado es rodeado por varios pixeles de color de fondo, entre los cuales dos de ellos se encuentran en las posiciones marcadas como condición para considerarle pixel de contorno. Por lo tanto, es necesario marcarlo como tal.

Las figuras 4.13.1) a 4.13.0) son ejemplos de submatrices donde el elemento en proceso se rodea de tres pkeles de fondo en direcciones horizontal y vertical. Por lo tanto se le considera pixel de contorno.

Para obtener la imagen de contornos, se emplea una matriz coni de iguaies dimensiones que la matriz img (matriz original), con objeto de marcar en ella los pixeles de contorno encontrados en la matriz de la imagen. La matriz coni es inicializada en ceros y cuando el proceso de búsqueda de pixeles de contorno encuentre uno, la matriz cant será marcada con un valor 1 en los mismos índices (x,y) de img.

La siguiente condición, escrita en lenguaje C, realiza el proceso de marcado de pkeles de contorno una vez que se ha obtenido el valor Wpara la submatriz en cuestión:

if(img[xlrYl = 0) I* O es el valor de pixel de color del objeto */ i f (W>=l && W < 4 )

cont[x][ul= 1;

donde “ng[x][ul es el pixel de coordenadas (x,y) de la matriz obtenida basta este punto del preprocesamiento, Wes el valor obtenido ai aplicar la ecuación 4.1 y cont[x]b] es el pixel correspondiente a las coordenadas (x,y) en la matriz de Contornos.

63

Page 93: SEP SElT DGlT - CENIDET

Modelo propuesto Capitulo 4

4.4.3. Determinación de la ventana mínima de un objeto en la imagen

Una vez que se ha obtenido la Unagen de contornos, es posible determinar la ventana mínima que encierra a un objeto. Ésta consta de dos coordenadas o índices de la matriz. La primera de ellas, (xmin,ymin) representa la esquina superior izquierda de la ventana; la otra (xmux,ymm), es la esquina inferior derecha de la misma. La figura 4.14 muestra una imagen con un objeto y la ventana minima que lo contiene, marcada con hea punteada.

Figura 4.14. Coordenadas que indican la ventana mínima de un objeto.

De manera intuitiva, se puede observar que xmin representa el renglón a de menor valor donde existe un pixel de contorno de un objeto determinado, tal que 1 la IM, donde Mes el número de renglones de la matriz de la imagen de contornos. El valor de ymin está dado por la columna fi de menor valor donde existe un pixel de contorno del mismo objeto, tal que I I I N , donde N es el número de columnas de la matriz de la imagen de contornos. Similarmente, x m m e ymm se deñnen como el renglón 6 y la columna E de mayor valor donde existen pixeles de contorno del objeto en cuestión, tal que xmin < 6 IM y ymin < E I N .

Para encontrar estos índices se realiza un seguimiento de Contornos, es decir, se visitan cada uno de los pixeles de contorno. La idea es ir actualizando los valores mínimos y máximos para x e y donde se encuentran pixeles de contorno.

Se emplea una copia temporal de la matriz de contornos, a fin de poder modificar sus valores sin perder la matriz originai de contornos, cuyo uso se explica más adelante en esta sección

64

Page 94: SEP SElT DGlT - CENIDET

Modelo propucsto capitulo 4

~1 proce&iento para el seguimiento de contornos es el siguiente. Se remrre uno a uno los pixeles de la imagen de izquierda a derecha y de arriba a abajo, es decir> primero

renglón, columna por col~mna, después el segundo renglón, tambih columna por columna y sucesivamente. Este proceso termina en el momento en que se encuentra un pixel de contorno. Con esto ya se tiene el valor para x m h . Este mismo de es asignado por el momento a X ~ M , y el valor de C O l W se asigna a F i n Y a .Ymar; lo anterior, con el fin de realizar comparaciones con nuevos valores Y así obtener valores reales. Esta posición de la matriz, (%,Y), es insertada en una Pila.

A continuaci6n se entra en un ciclo en el c u i se elimina un elemento de p i 4 este elemento codeva a una posición en la matriz de contornos con valor 1, tal posición, como se menciona anteriormente, cambia su valor a O a íin de que ya no sea tomado en cuenta en el proceso de recorrer el contorno. Se revisan las ocho posiciones que rodean a la posición del elemento eliminado, se insertan en la pila los índices &y) en los cuales existen valores de pixeles de Contorno, si los hay. Es decir, se consideran aquellas posiciones donde se encuentra un valor igual a 1. Nuevamente se elimina un elemento de la pila y se realiza el ciclo una vez maS. El proceso anterior termina cuando ya no hay elementos que eliminar de la p i 4 lo cual indica que se han recorrido todos los pixeles de ese contorno.

Dado que los pixeles de contorno que se visitaron fueron eliminados, es posible repetir todo el proceso anterior, a fin de buscar otras ventanas mínimas para otros contornos que se encuentran en la misma imagen.

Es importante remarcar que si un objeto tiene hoyos, esos hoyos generan un contorno que no se encuentra conectado con aquel contorno exterior de tal objeto (ya que una línea de 1 pixel de p e s o se habría eliminado en el proceso de reducción de niido). Por 10 tanto, al momento de detectar ventanas, es necesario determinar si tal ventana corresponde a un objeto o a un hoyo del mismo; más aún, es posible que ese contorno encontrado sea de un conjunto de pixelcs conexos consistente en mido que no se eliminó en el proceso previamente realizado (recuerde que no se ban eiiminado p p o s de pixeles de menos del O. 1% del área de la imagen).

Por IO anterior, cuando se ha obtenido una ventana mínima, se ventica primero el área de la misma, si es de un número muy pequeño de pixeles (O. 1 % del h a de la imagen, como se menciona en la sección 4.3), se le considera como niido y es e-0. ES decir, si en la matriz img los pkeles interiores a tal contorno son de valor O, se cambian a 1, o Viceversa. De este modo se completa la disminución de niido en la Unagen.

Si el área de la ventana es mayor que el 0.1% de la imagen, es posible que tal contorno sea de un objeto o de un hoyo del mismo. Por la naturaleza de la búsqueda de Ventanas *, siempre se encuentra primero el borde exterior de un objeto; es imposible encontrar prllnero uno de sus hoyos. Y es también un hecho que la ventana que encuadra a un hoyo se encuentra completamente contenida en la ventana del objeto al cual pertenece. Por lo tanto, es factible verificar si la ventana encontrada está contenida en alguna de las

65

Page 95: SEP SElT DGlT - CENIDET

Modelo propuesto Capítulo 4

ventanas de objetos detectadas hasta ese punto del procesamiento; de ser ask a la estructura de datos que contiene la información del objeto, se le agregan los correspondientes datos del hoyo encontrado en 61.

Cuando la ventana mínima encontrada corresponde a un objeto, se copia la información correspondiente de (xrnin,ymin) y (xmmc,yrnm) en la estructura de datos que contiene la información de ese objeto. Esta estructura es insertada en una lista ligada, en la cual cada nodo contiene información relativa a cada objeto en la imagen; entre esa información, se encuentran los índices de fila y columna que definen su ventana mínima.

Todo este gran ciclo de seguimiento de contornos termina cuando ya no se encuentran elementos con valor de pixel de contorno en la matriz de contornos de la imagen. Hasta aquí se ha obtenido una lista en la que cada elemento contiene información de cada objeto encontrado en la imagen Esta lista es escrita en el área de memoria compartida vista por todos los agentes. Lo anterior se explica a más detde en secciones posteriores.

La figura 4.15.a) muestra el contorno de una imagen artificial y la localización de los indices (xrnin, ymin) y (xmrm,ymmr) de la ventana que lo contiene. La figura 4.15.b) presenta los índices de la ventana mínima del hoyo encontrado en el objeto. Por supuesto, es una imagen artzccial ya que fácilmente el hoyo se pudo hater considerado como ruido, debido a su área Puede observarse que el contorno del objeto ya no aparece en la figura 4.15.b), ya que fue eüminado ai encontrar su ventana mínima,

xmin I I I I I ri I I I I I I I I I 1 1 1 I I I 1 1 la

xmin

I I I 1 , I I I I I I I I I w - r i i r r I I I I I

I y m a x b]

Figura 4.15. Daenninación de los índices de la ventana mínima de un objeto y de un hoyo contenido en él.

66

Page 96: SEP SElT DGlT - CENIDET

Modelo propuesto Capítulo 4

Otra información que es obtenida a la par del proceso anterior, es el número de hoyos y dos valores de perímetro del objeto, uno de ellos consiste en el número de pixeies de contorno y el otro tomando en cuenta la distancia euclídea entre pixeles que son vecinos en diagonal. La distancia entre dos pixeles vecinos en hea horizontal o vertical es igual a 1. La distancia entre pixeles vecinos en diagonal, ilamada euclideana, es igual a E

En este punto del proceso, se cuenta con una Lista de información de cada objeto en la imagen, se sabe exactamente dónde se encuentran y alguna información extra de los mismos. Además, se tiene la matriz img la cual contiene la imagen a la que se disminuyó el ruido (que será empleada por los agentes para obtener las características correspondientes). De esta forma, se está listo para dar esta información a cada uno de los agentes reconoccdores y esperar los resultados que se obtengan.

En las siguientes secciones se explica cbmo es que cada agente maneja esta información. Tal información es previamente manipulada por el agente integrador, con el objetivo de preparar el área común de datos conocida como phmjn .

4.5. Preparación de una sesión de reconocimiento

El agente integmdor es el encargado de mandar ejecutar todo el proceso mencionado anteriormente, desde la adquisición de la imagen, hasta la detección de ventanas minimas, pasando por la eliminación de ruido.

Una vez que ha obtenido la imagen sin ruido, la imagen de contornos y la lista de información de cada objeto, el integrador debe preparar el pizarrón que será visto por todos los agentes, y dejar listo todo lo necesario para que los agentes puedan realizar su trabajo en forma cooperativa.

El pizarrón se integra por áreas de datos que contienen espacio para la siguiente infonnacih:

* La estructura del encabezado del archivo .BMP leído, la cual contiene datos relacionados con el número de pixeles de aitura y de ancho de la imagen de entrada y con eUo el tamaño de la imagen en pixeles.

UM matriz con número de renglones igual al número de pixeles de altura de la imagen, y número de columnas igual ai número de pixeles de ancho de la misma. En ella cada elemento es de un byte de longitud y tomará valores 1 y O. Esta matriz img, contendrá la imagen de entrada, eüminado ya el tipo de ruido que se menciona en las secciones 4.4.1 y 4.4.3.

67

Page 97: SEP SElT DGlT - CENIDET

capitulo 4 Modelo propuesto

Una matriz conf con las dmensiones citadas en el punto anterior, la cual recibirá la imagen de contornos que se obtiene mediante el proceso mencionado en la sección 4.4.2.

.Una matriz imguux con especificaciones similares a las mencionadas anteriormente, que servirá para realizar la eliminación de residuos de otros objetos que hayan quedado dentro de la ventana mínima que contiene al objeto en proceso.

UM estructura de datos, de tipo arreglo, que contiene información acerca de qué variables debe considerar cada agente al momento de realizar su proceso de reconocimiento.

El número de objetos encontrados en la h e n

Un área de memoria con dimensiones justas para contener las listas de votaciones de cada uno de los agentes y una lista de votaciones finales. Las dimensiones se calculan con base en el número de objetos conocidos.

Un vector de punteros a posiciones de memoria compartida donde se encuentra la lista de votaciones de cada agente y la votación final obtenida.

Una estructura que indica si hubo acuerdo general en una votación o si es necesario que los agentes entren en un nuevo ciclo de reconocimiento, tomando en cuenta otras características extraídas de la imagen, lo anterior con miras de llegar a un consem entre los agentes.

* La lista de estructuras que contienen información relativa a los objetos. Tales estructuras contienen las coordenadas de la ventana mínima del objeto, el número de hoyos encontrados en el mismo, el perímetro euclidean0 (que considera la distancia entre pixeles en diagonal iguai a d?) y el perímetro en número de pixeles del objeto. Además, tres valores de factor de circularidad, 2 valores para factor de compactación, el área del objeto, las coordenadas del centmide del objeto, y un arreglo unidimensional que contiene los momentos invariantes calculados sobre la ventana del objeto.

Además de lo anterior, el integrador crea un conjunto de semáforos, que permitirán llevar control del proceso seguido por el grupo de agentes. Estos semáforos realizan las siguientes funciones:

Marcar el inicio del proceso de reconocimiento de cada agente. Los agentes inician su ejecución casi al mismo tiempo que empezó sus actividades el agente integrador y se mantienen en espera a que éste prepare el pizarrón y de la señal de arranque.

68

Page 98: SEP SElT DGlT - CENIDET

Modelo propwsto Capltulo 4

Indicar a los agentes que pueden usar h iIMgen imguux, en la cual, la Ventana mlliima del objeto en cuestión se encuentra libre de residuos de otros objetos que posiblemente se traslapabm con la mkm.

Un s e d o r o que indica si es posible modificar la estructura que marca a cada agente las variables que debe tomar en cuenta para su proceso de reconocimiento.

Comunicar cuando un agente puede imprimir su resultado obtenido de manera individual.

Reportar por parte de cada agente, que ha terminado su proceso de reconocimiento y tiene disponible su lista de votaciones. El agente se mantiene en espera de nuevas acciones.

Señalar a cada agente cuando se ha llegado a una conclusión global, con lo cual se da por terminado con el estado de espera, conocido como latencia, de los agentes que intervinieron en el proceso de reconocimiento.

Dar paso a la impresión final de resultados obtenidos.

UM vez creado el pizarrón, se llenan de información las áreas de datos que lo componen. También se crean los semaforos que controlarán el accionar del sistema completo. Finalmente, el htegrador comunica a los agentes que todo está listo y que pueden empezar su proceso de reconocimiento.

A continuación se explica el funcionamiento de los tres agentes reconocedores de objetos de imágenes binarias, que intervienen en la arquitectura desarrollada

4.6. Agente de momentos invariantes

Los tres agentes reconocedores, que se explican en ésta y las dos secciones posteriores, inician como procesos ai mismo tiempo que inicia el agente integrador. Estos permanecen en espera a que el integrador minsmita la seíiai de aviso para que inicien su proceso de reconocimiento.

El agente de momentos invariantes realiza una funci6n extra, a ñn de evitar duplicación en tiempo de procesamiento por parte de los demás agentes. Esta función consiste en eliminar los residuos de otros objetos contenidos en la ventana mínima del objeto en proceso. La figura 4.16.a) muestra una imagen donde existe este problema. La figura 4.16.b) muestra la ventana mínima de uno de los objetos, la cual contiene residuos de otro objeto. La figura 4.16.c) muestra la ventana mínima de ese objeto sin los residuos sobrantes.

69 1

Page 99: SEP SElT DGlT - CENIDET

Capítulo 4 Modelo propuesto

Figura 4.16. Eliminación de residuos en la ventana mínima de un objeto

La eliminación de residuos de una ventana mínima es realizada mediante etiquetado de regiones [GONZA-961, esta técnica consiste en asignar etiquetas a pixeles de color de objeto, los pixeles que son conexos, tendrán una misma etiqueta. Al final si existe más de una región de pixeles conexos, cada región tendrá una etiqueta diferente, con lo cual es posible determinar si existen residuos en la ventana mínima del objeto. De ser así, tales residuos son eliminados y la ventana mínima del objeto es copiada a la matriz imguw, la cual, como se mencionó anteriormente, contiene la ventana del objeto en cuestión, libre de residuos de otros objetos.

Una vez que la matriz imguw se encuentra en el pizarrón, el agente de momentos invariantes avisa al resto de los agentes para que hagan uso de tal información. Este agente por su parte, d c u h los momentos invariantes mencionados en la sección 2.4.2, los valores obtenidos son guardados en la estructura que contiene la información del objeto en proceso.

En este punto, el agente espera a que los demás agentes terminen de usar la matriz imguta. Cuando esto sucede, comunica a los agentes que se va a modificar esta matriz, por lo cual deben permanecer en espera. Nuevamente, el agente de momentos invariantes repite el proceso anterior con el siguiente objeto encontrado en la imagen, es decir, obtiene la nueva matriz imguta, pero ahora, con la ventana mínima del siguiente objeto en la imagen, libre de residuos. Una vez obtenida esta matriz, avisa a los demás agentes para que hagan uso de e k Él por su parte, calcula los momentos para el objeto actual, guardando esta información en la estructura correspondiente.

Este proceso continúa hasta que ya no existen más objetos en la imagen. Con ello, el agente de momentos invariantes ha Uenado la lista de estructuras de información de los objetos con los valores calculados de momentos invariantes.

70

Page 100: SEP SElT DGlT - CENIDET

Capítulo 4 Modelo propuesto

La siguiente etapa consiste en comparar los momentos obtenidos de cada objeto contra los valores de momentos calculados con anterioridad a otros objetos. En otras palabras, se inicia la etapa de reconocimiento. Considérese, como se mencionó en la sección 2. I , que para reconocer un objeto es necesario tener un conocimiento previo del mismo. Por tal motivo, existe una base de datos de características de objetos, la cual contiene solamente valores de los rasgos descriptivos de cada objeto conocido.

La comparación de los momentos del objeto es realizada contra los momentos de cada uno de los objetos de la base de datos. Para reaüzar tal comparación, se concibe un hiperespacio de siete dimensiones, que son los momentos invariantes que se han calculado. La ecuación 4.2 obtiene la distancia entre los momentos de los objetos que se comparan.

dist=d(MA -MI¡)’ + (MI1 - MI<)’ + ...+ (MI7 - Mí)’ Ecuación 4.2

donde MI, MI*, ... , MI, son los momentos calculados para el objeto en proceso de la imagen de entrada y MIl‘, MI;, ... , MI,’ son los momentos calculados anteriormente para el objeto de la base de datos contra el cual se está comparando el objeto de entrada.

Mientras menor sea esta distancia, mayor es la probabilidad de que el objeto de entrada sea el mismo objeto que se encuentra en la base de datos con el cual se está comparando.

Con estas distancias, se genera una lista de estructuras las cuales contienen el nombre del objeto de la base de datos y la distancia obtenida al compararse con el objeto de entrada.

A fin de manejar porcentajes de similitud y no distancias en un hiprespacio, este valor de distancia se normaliza a un valor entre O y 1, el cual indica un porcentaje de semejanza; la ecuación 4.3 convierte la distancia obtenida en un porcentaje de similitud. Con esto, la lista obtenida anteriormente se convierte en una lista de votaciones de similitud para el objeto de entrada

semejunza = ( 1 - (disr I dislmm))*100 Ecuación 4.3

donde dist es la distancia obtenida anteriormente y distmax es el valor mayor de las distancias calculadas. De este modo, mientras menor sea el valor de disr, semejunza se acercará más a 1, o bien, el porcentaje de similitud sera más cercano al 1000/0.

Además del valor de semejanza con cada objeto de la base de datos, el agente guarda información del orden de importancia de cada uno de los momentos. Es decir, cusl de los siete momentos empleados tuvo más peso en la votación (aquél que tuvo la menor distancia). Esto es con la finalidad de usar como argumento de convencimiento a las variables que contribuyeron en mayor grado a tal votación.

71

Page 101: SEP SElT DGlT - CENIDET

Modelo propuesto Capitulo 4

En este punto del procesamiento, el agente avisa al integrador que ha obtenido las list& de votaciones para cada uno de los objetos en la imagen y permanece en espera de realizar otra votación; o bien, dar por terminada su participación en el proceso de reconocimiento y terminar asi con su estado de latencia.

En caso de que tenga que realizar nuevas votaciones, considera la estructura de pizarrón que le indica qué variables debe tomar en cuenta para generar una nueva iista de votaciones. El pizarrón también le indica que variables, de las propias, debe descartar. El conjunto de variables que utiliza para la nueva votación se compone de un subconjunto de las variables propias y un subconjunto de las variables del agente de descriptores topológicos. Esto es con el fin de implementar un proceso de convencimiento, en el cual se cede una variable de poca importancia por otra que fue importante para el otro agente. Este proceso se describe a mayor amplitud en la sección 4.9.4.

4.7. Agente de descriptores topológicos

Este agente inicia su ejecución a la par que el agente de momentos invariantes y permanece en espera de que el integrador le comunique, mediante sedforos, que puede iniciar su sesión de reconocimiento.

UM vez que se le permite iniciar, entra en un nuevo periodo de espera. Este lapso es debido a que el agente de momentos invariantes se encuentra ejecutando la eliminación de residuos sobrantes en la ventana minima del primer objeto encontrado en la imagen de entrada. Cuando recibe el aviso de poder usar la matriz imgaux, realiza la extracción de las siguientes características de ese objeto:

Área, que es igual al número de pixeles que componen el objeto.

Un factor de circuíaridad @ir,), que representa la varianza de la distribución de cada uno de los pixeles de contorno con respecto al centroide del objeto.

Otro factor de circularidad viir,), calculado m e d i t e la ecuación 4.4:

fcin = pe’ í 4-7m Ecuación 4.4

donde pe es el perímetro, considerando distancias euclídeas entre pkeles adyacentes en diagonal y u es el &ea deíinida anteriormente.

Un factor de circularidad más Vcir,), calculado por la ecuación 4.5:

feir3 = pp’ i 49x2 Ecuación 4.5

Page 102: SEP SElT DGlT - CENIDET

Capítulo 4 Modelo propuesto

. 4 L

dondepp es el perímetro, equivalente al número de pixeles de contorno y a es el área en pixeles del objeto.

Un factor de compactación (f¿com,), calculado por medio de la ecuación 4.6:

fcoml = I / f c i r ~ Ecuación 4.6

Otro factor de compactación Cfcom2), calculado mediante la ecuación 4.7:

fcoml= pp' / a Ecuación 4.7

El número de hoyos, este valor ya fue calculado al momento de extraer las coordenadas de la ventana mínima del objeto.

Una vez calculados estos valores para el primer objeto, son guardados en la estructura correspondiente en el pibrrón Para continuar con el siguiente objeto en la imagen, este agente entra nuevamente en espera de que el agente de momentos invariantes le indique que ya se encuentra lista la matriz imgaux, ahora, con la ventana mínima del siguiente objeto libre de cualquier residuo de otros objetos. Así, calcula los valores ya mencionados para el objeto actual e igualmente guarda los resultados en el pizarrón.

El proceso anterior continúa hasta que se han obtenido y almacenado las características mencionadas de todos'los objetos de la imagen.

De manera simiiar que el agente de momentos invariantes, el agente de descriptores topológicos está listo para generar la lista de votaciones para cada objeto en la imagen. La forma de obtener estas votaciones es semejante a la del agente de momentos invariantes; es decir, este agente lee la base de datos de las características de los objetos, toma la estructura donde guardó los descriptores del primer objeto calculados en la etapa anterior y calcula la distancia existente entre el nuevo objeto y cada uno de los objetos de la base de datos. Esta distancia está dada por la ecuación 4.8:

dis t= , / (DT, -DT, ' )2 +(DT, -DT, ' )2 +...+( DT, -DT,')2 Ecuación 4.8

donde DTl, DTz ... , DT, son cada uno de los descriptores topológicos calculados en el objeto en proceso de la imagen de entrada y DTI: DT2: ... , DT,' son los descriptores topológicos calculados sobre cada uno de los objetos de la base de datos.

Durante este proceso, el agente obtiene el grado de importancia en que cada uno de los descriptores contribuyó para obtener tal valor de distancia, es decir, tendrá más importancia aquel descriptor cuyos valores en el objeto de entrada son más similares con el objeto de la base de datos.

73

Page 103: SEP SElT DGlT - CENIDET

Modelo propuesto Capitulo 4

Con lo anterior, se ha obtenido una lista de distancias, de tantos elementos como objetos existen en la base de datos de características de objetos. El siguiente paso es convertir esa distancia en un porcentaje de similitud, para esto se aplica la ecuación 4.3.

Finalmente, el agente guarda las listas de votaciones en el área correspondiente del pizarrón e informa al integrador que ha obtenido tales votaciones y entra en espera de nuevas directivas.

4.8. Agente de red neuronal

4.8.1. Características de la red neuronal y etapa de entrenamiento

En esta sección se muestran las consideraciones que se toman para construir la red de propagación hacia atrás utilizada en este agente.

El primer paso, consiste en preparar los datos de entrada, con ello se tiene también la dimensión de la capa de entrada de la red.

Las imágenes de entrenamiento tienen todas las mismas dimensiones, 300 x 300 pixeles, con un solo objeto por imagen. En este punto surgió una pregunta, ¿entrenar la red considerando toda la imagen o sólo la ventana mínima del objeto?. Tomando en cuenta que el sistema completo acepta imágenes con más de un objeto, y que para encontrarlos se realiza todo el proceso descrito en las secciones anteriores en este mismo capítulo, se decidió aprovechar ese trabajo r e d o y entrenarla con la submatriz de la ventana mínima del objeto.

Como es de esperarse, las dimensiones de las ventanas minimas de cada uno de los objetos de entrenamiento son muy variables; es decir, existen ventanas mínimas aproximadas de 100 x 150 pixeles, 150 x 200 pixeies, 220 x 200 pixeles, 200 x 100 pixeles, etc. En este punto se realizó una transformación de las dimensiones de la ventana mínima a una matriz patrón de 15 x 15, obteniendo un arreglo unidimensional de 255 elementos, que es el patrón de entrada a la red.

La transformación de la ventana minima a las nuevas dimensiones de la matriz patrón, se realiza como si fuese un cambio de resolución de imagen. Para ello, se dividió la matriz de ventana mínima en 225 subtnatrices, 15 por renglón y 15 por columna, haciendo un mapeo del tamaño real de la submatriz a una de 15 renglones por 15 columnas. Para cada una de las submatrices se sacó un promedio de pixeles encendidos (1) y apagados (O). Este promedio varía entre O y 1, a este valor se le resta O S , siendo el valor real de entrada a la red. La ecuación 4.9 indica la obtención de cada elemento de la matrizputrón.

74

Page 104: SEP SElT DGlT - CENIDET

. -- - . . . . .. . _.__ . _--.-._I- -.

Capítulo 4 Modelo propuato

RJin CJin c img(r>c) - 05 Ecuación 4.9 I= Rim -Curl pu@on(i,j) =

(RJn - Rini + l)(C'n - Cini + I)

donde Rini, RJn, Cini y Cfin son el renglón inicial y final y la columna inicial y final respectivamente, de la submatriz que corresponde al elemento (iJ] en la matriz pupbn; img es la matriz de la imagen de entrada.

Se cuenta con una sola neurona de salida que trabaja mediante una función sigmoidal, trasladada de tal forma en que los valores de salida se encuentren entre -0.5 y +0.5. Internamente se utilizaron 50 neuronas en una sola capa oculta. Además, las unidades de la capa de entrada y la capa oculta contienen todas ellas el umbrai O, que se usa para proporcionar una tendencia a las unidades ocultas y de salida, respectivamente.

Para el entrenamiento de la red se pueden considerar varias muestras de cada objeto: el original y sus rotaciones a go", 180' y 270°, además de los reflejos verticales de cada uno de ellos y algunas otras que presenten otro tipo de deformación Sin embargo, en este trabajo s610 se considera un objeto representativo de todos: el objeto original, ya que los demás se alejan mucho de la forma normal del objeto. La figura 4.17 muestra siete imágenes obtenidas a partir de la original 4.17.a), las cuales podrían usarse también en el entrenamiento.

F a) original -

e) reflejo de a

n

b) ongind a 90° - -

c) original a 180° d) original a 270°

n

f ) reflejo d e b - I g) reflejo de c h) reflejo de

Figura 4.17. Ejemplo de diferentes perspectivas de un objeto.

Page 105: SEP SElT DGlT - CENIDET

capitulo 4 Modelo propuesto

Los parámetros usados para el aprendizaje de la red empleados en la experimentación realizada y que dieron los resultados que se muestran en el capítulo 5, fueron los siguientes:

Velocidad de aprendizaje = 0.25

Tolerancia de error = 0.0009

Factor de momento = 0.7

4.8.2. Etapa de reconocimiento

El agente de red neuronal, al igual que el agente de descriptores topológicos, espera primero a que el integrador le avise que puede iniciar. A continuación, aguarda a que el agente de momentos invariantes le avise que la matriz irngaux está lista para ser usada, conteniendo la ventana mínima del primer objeto libre de residuos.

La siguiente acción consiste en convertir la ventana mínima del objeto en una matriz pah.ón de 15 x 15, con lo cual se tiene listo el patrón de entrada del objeto a reconocer. Este patrón alimenta los 225 elementos de entrada de la red.

El resultado de la única neurona de salida de la red es comparado con las salidas esperadas para cada uno de los objetos conocidos. Los resultados de estas comparaciones son almacenados en una lista ordenada a partir de la cual se emite la votación de similitud del objeto de entrada con los objetos conocidos.

Una vez obtenidos estos resultados para el primer objeto en la imagen, el agente de red neuronal espera que el agente de momentos invariantes le avise que la matriz imgaux se encuentra lista con la ventana mínima del siguiente objeto libre de residuos.

Todo el proceso se repite para cada uno de los objetos encontrados en la imagen de entrada. Al final se tiene una lista de votaciones para cada uno de ellos. En este punto, el agente termina y permanece en espera de los resultados íinaies del sistema.

Cabe aclarar que el agente ya no realiza otros procesos para obtener nuevas votaciones, sino que d o permanece en espera por si se requiere verificar la posición de algún objeto en particular, en sus listas de votaciones.

El agente de red neuronal no realiza más votaciones ya que sus entradas provienen de la imagen original, modificarla para crear otras entra&, sería modiñcar la reaüdad y el resultado no correspondería a la misma.

16

Page 106: SEP SElT DGlT - CENIDET

CapItulo 4 Modelo urouuesto

4.9. Integración de resultados

UM vez que los agentes reportan haber terminado su proceso individual de reconocimiento, el integrador está listo para accesar esas votaciones y decidir si el proceso ha de terminar o si es necesario realizar otras acciones. En las secciones 4.9.1 a 4.9.4 se indica cómo se toma tal decisión

Se manejan cuatro formas diferentes de integrar los resultados de los agentes. Las tres primeras consisten en el procesamiento de los resultados para obtener una sola votación. La última implica el intercambio de información entre dos de los agentes, el agente de momentos invatiantes y el agente de descriptores topológicos, con la intención de obtener resultados iguales en ambas. En esta última, se busca que los agentes lleguen a un consenso y ambos estén de acuerdo en una misma votación. No se considera a la red neuronal para este proceso, ya que no existe una forma clara de cómo modhcar las entradas de ésta bashdose en la información de otro agente. En lo que resta del capítulo se explican las técnicas empleadas para integrar los resultados obtenidos.

4.9.1. Verificación de la posición de cada objeto en la lista de votaciones de los agentes

Para entender mejor esta forma de integrar los resultados obtenidos, la figura 4.18 presenta un statechart que muestra los diferentes estados en los que se puede encontrar el agente integrador en su proceso de obtención de un resultado 6naL El lector puede consultar la semántica de los statecharts en [HAREL-87A], [HAREL-87B], [HAREL-SS], [DRUSI- 891 y [ZAVE-89].

' do: &i#i+j+cj+l;y3 exa: i i + l

Figura 4.18. Sruhdmr que describe al agente integrador que verifica las posiciones de cada objeto.

I1

Page 107: SEP SElT DGlT - CENIDET

Capítulo 4 Modelo propuesto

Como ya se ha mencionado en este capítulo, cada agente genera una lista de votaciones para cada objeto; cabe señalar que la cantidad de elementos de esa lista de votaciones es menor o igual al número de objetos conocidos. En caso de ser igual, signiñca que se están tomando en cuenta los resultados de la comparación del objeto nuevo contra todos y cada uno de los objetos conocidos. De ser menor, sólo se están considerando las primeras Numvot (numero de votaciones) de mayor valor. Es decir, aquellas votaciones de mayor simiitud de los primeros Numvot elementos de la lista total de votaciones.

A fin de facilitar la expücación de la forma de proceder del agente integrador, y con ello el statechart anterior, se presentan ejemplos de salida de cada agente, considerando que en la imagen de entrada existe un solo objeto. La generalización para más de un objeto es ficii de realizar, ya que consiste en repetir el mismo proceso para cada uno de los objetos contenidos en la imagen. I/

Considere las tablas 4.1, 4.2 y 4.3, que muestran ejemplos de las salidas de los agentes de momentos invariantes, de descriptores topológicos y de red neuronal, respectivamente. En ellas se considera una votación donde Numvot es iguai al número de objetos conocidos. Estos ejemplos se usan también para explicar las otras formas de integrar los resultados obtenidos.

Tabla 4. I. Ejemplo de sali- da del agente de momen- tos invariantes. tom topológicos. ronal.

Tabla 4.2. Ejemplo de sali- da del agente de descrig

Tabla 4.3. Ejemplo de sali- da del agente de red neu-

Para obtener la votación ñnai, se considera la posición en que aparece cada objeto en las listas. Por ejemplo, considérese el caso del objeto Obj G, que se encuentra en la primer posición de la tabla de saiida del agente de momentos invariantes, en la segunda posición de la M a del agente de descriptores topológicos y en la segunda posición de la saiida del

. 78

Page 108: SEP SElT DGlT - CENIDET

Capíiulo 4 Modelo propuesto

agente de red neuronal. Si se promedian estas posiciones se obtiene lo siguiente: posiciÓn$nal = (I + 2 + 2) / 3 = 1.66.

Para cada objeto en las Listas de votaciones se realiza esta misma operación, obteniendo una nueva Lista, que al ordenarla da el resultado final. El problema que se puede presentar es que más de un objeto en la iista obtenida tenga una misma posición final, en este caso no se determinó otra forma de dar la posición final a cada uno, sino que el mismo ordenamiento los coloca consecutivamente en la lista final, en el orden en que aparecieron. La tabla 4.4 muestra la votación final que se obtendría de las salidas ejemplo de cada agente.

Tabla 4.4. Salida del sistema mediante verificación de posiciones de cada objeto en las salidas de los agentes.

Volviendo al statechart de la figura 4.18, considere en él como A, E y C a las listas de salida de íos agentes de momentos invariantes, descriptores topológicos y red neuronal, respectivamente. De igual forma, pr6n es la Lista que contiene los resultados finales que se muestran en la tabla 4.4.

Puede observarse que esta forma de integrar los resultados es una técnica simple, sin embargo se obtuvieron resultados interesantes, como se muestra en el capítulo 5.

4.9.2. Obtención del promedio de votaciones para cada objeto

Otra forma de integrar los resultados es considerar los porcentajes de similitud individuales para cada objeto en las Listas de salida de los agentes. Con ello se eliminan casi por completo los casos en que se tienen más de dos objetos en una misma posición en la Lista final.

79

Page 109: SEP SElT DGlT - CENIDET

Capitulo 4 Modelo propuesto

II Considere nuevamente las tablas 4.1, 4.2 y 4.3. Tómese como ejemplo el p h e r

objeto de la tabla 4.1. El objeto en reconochiento tiene un porcentaje de semejanza del 98% con el objeto Obj G; en la tabla 4.2 para ese mismo objeto tiene una votación del 94% y en la tabla 4.3 aparece con un 95% de similitud. Si se promedian esos valores de semejanza se obtiene lo siguiente: pOsición-iinal= (98 + 94 + 95) / 3 = 95.66%.

Nótese que un stutechurr para esta forma de integración es idéntico al de la figura 4.1 8, la única diferencia es que en el estado “Gdcuiar”, se toman en cuenta los porcentajes de similitud y no las posiciones para una votación dada.

Realizando esta misma operación para todos los objetos de las listas de votaciones en las tablas de ejemplo, se obtienen los resultados que se muestran en la tabla 4.5.

Tabla 4.5. Salida fmal del sistema empleando promedios de votaciones de los agentes.

I porcentaiesen I I porcentaie I listp 1

Como puede observarse, esta forma de integrar los resultados de cada uno de los agentes es más robusta que la anterior, ya que aquí se toma en cuenta el porcentaje de simiiitud entre el objeto nuevo y 16s objetos conocidos. La técnica aplicada en la sección 4.9.1 no considera si la diferencia entre dos resultados consecutivos en la iista es muy peque& simplemente lo cuenta como una posición más y esto afecta en el resultado final.

En el capítulo 5 pueden observarse los resultados obtenidos con esta forma de integrar los resultados.

80

Page 110: SEP SElT DGlT - CENIDET

Modelo propuesto Capítulo 4

Aaenfe de momenfos

80% invanantes

4.9.3. Cálculo de La votación para cada objeto, tomando en Cuenta el peso de cada agente

I UM forma de mejorar la técnica anterior es considerar qué tan conñable es la votación emitida por cada uno de los agentes, es otras palabras, elpeso que tiene su voto y qué grado de credibilidad merece.

Cada agente es capaz por sí mismo de.dar una votación final. Si se anatiZan las respuestas dadas por cada uno de los agentes ante un conjunto de objetos de prueba, es posible obtener un factor de certeza para cada uno de estos agentes. Por ejemplo, si el conjunto de objetos de prueba es de 100 y un agente en particular reconoce exitosamente 80, se puede decir que ese agente es 80% confiable en sus respuestas y es posible aplicar tal valor de certeza a su voto.

Esta forma de integrar resultados es conocida como votación pesada y el principio básico que aplica es: que aquella entidad que ha demostrado tener mayor porcentaje de éxito en reconocimiento, tiene mayor peso en su voto emitido.

Para entender mejor esta técnica que se implementa, considere los pesos que se muestran en la tabla 4.6, estos se interpretan como sigue: el agente de momentos invariantes ha demostrado ser 80% confiable en el reconocimiento sobre algún grupo de objetos determinado, el agente de descriptores topológicos ha reconocido el 75% de los casos del mism0 grupo de objetos y el agente de red neuronal ha sido 85% exitoso al reconocer el mismo conjunto de objetos.

APente de descrivfores Aaenfe de red neuronal ~ O D O l d ~ k O S

75% 85%

Tabla 4.6. Ejemplo de pesos de certidumbre de los agentes recondores.

La forma en que estos pesos inüuyen en las votaciones de los respectivos agentes es directa, por ejemplo, considérese nuevamente la votación mayor del agente de momentos invariantes en la Tabla 4.1, el objeto es Obj G, su votación es 98% de similitud; a su vez este agente cuenta con un 80% de casos reconocidos exitosamente en aiguno o varios grupos de prueba anteriores. Por lo tanto, si se reaiiza el producto de estos dos valores, se obtiene un nuevo porcentaje de similitud entre el nuevo objeto y e1 objeto Obj G, visto por el agente de momentos invariantes. El resultado para este ejemplo es:

porcentaje de similitud x peso del agente = nuevo valor de semejanza 78.40% - 98 X 80 -

81

Page 111: SEP SElT DGlT - CENIDET

Modelo propuesto Capitulo 4

e

Considere nuevamente las tablas 4.1, 4.2 y 4.3. Observe el primer objeto de la tabla 4.1, el objeto en reconocimiento tiene un porcentaje de semejanza del 98% con el objeto Obj G; en la tabla 4.2 para ese & objeto tiene una votación del 94% y en la tabla 4.3 aparece con un 95% de similitud. Si se promedian esos valores de semejanza afectando cada uno por el peso de cada agente se obtiene lo siguiente: posición-fkd = (98*0.80 + 94*0.75 f 95 *O. 85) / 3 = 76.55%.

Un stotecbarr para esta forma de integración, al igual que en la sección anterior, es idéntico al de la figura 4.18. Del mismo modo, el estado “Calcular” considera tanto el porcentaje de similitud como el peso del agente para obtener una votación final.

La tabla 4.7 muestra el resultado h a 1 obtenido con los ejemplos de salida de las tablas 4.1,4.2 y 4.3 afectados por los pesos correspondientes según la tabla 4.6.

Aeeute de momentos Apeente de deSCr¡DtoreS Agente de red Resultado iovariantes tOr>olWICos neuronal final

Porcentaje I Afictado Porcentoje I Afecta& Porceniaje I Afectado

Tabla 4.7. Salida del sistema considerando los pesos de certeza de los agentes.

4.9.4. Intercambio de características entre el agente de momentos invanantes y el agente de descnptores topológicos

*Considere el caso en que existe un solo objeto en la imagen de entrada Si ai analizar las listas de votaciones de los agentes, el integrador encuentra que la votación con mayor Porcentaje de similitud en todos telios es para un mismo objeto, el proceso de reconocimiento termina, dando como resultado ñnai el nombre de ese objeto en el cual todos coinciden.

Page 112: SEP SElT DGlT - CENIDET

Modelo propuesto Capitulo 4

En caso de que el agente de momentos invariantes coincida en su votación con ei agente de descriptores topológicos, aún cuando el agente de red neuronal no concuerde con tal votación, también termina el proceso de reconocimiento. Pero la salida consiste en una lista de dos nombres de objetos, estando en primer lugar el nombre del objeto con el cual coincidieron los dos agentes mencionados y su porcentaje de votación es el promedio de las votaciones de los dos agentes.

Por otra parte, si el agente de momentos invariantes no coincide con el agente de descriptores topológicos, pero uno de ellos coincide con la salida del agente de red neuronal se realizará un proceso en el que se tratará de convencer al agente en desacuerdo. Este proceso de convencimiento se explica más adelante en esta misma sección

Si no existe acuerdo entre ninguno de los agentes, se inicia un proceso en el cual el agente de momentos invariantes tratara de convencer al agente de descriptores topológicos y viceversa. El agente que tiene prioridad para iniciar el proceso de convencimiento es aquel que tiene el mayor porcentaje de similitud en su primer votación. Si estos agentes Uegan a un acuerdo, la salida del sistema co&istirh también en una lista de dos nombres de objetos, estando en primer lugar aquel en el cual llegaron a un acuerdo los agentes mencionados y en segundo lugar la votación del agente de red neuronal. Si a pesar de los intentos de convencimiento no se llega a un acuerdo, la salida consiste en tres nombres de objetos, apareciendo en orden descendente, atendiendo a los porcentajes de similitud dados por cada agente en su salida original.

Todo este proceso se repite para cada uno de los objetos que se hayan encontrado en la h e n de entrada. La figura 4.19 muestra un statechart para esta forma de integración de los resultados, considerando la votación para un solo objeto.

A continuación se explica a mayor detaiie en que consiste el proceso de convencimiento, iniciando prÚnero con algunas consideraciones que es necesario tomar en cuenta.

Recuerde que tanto el agente de momentos invariantes como el agente de descriptores topológicos, para reaIizar el reconocimiento, describen un conjunto de variables o características observadas en el objeto de la imagen El primero utíliza los siete momentos invariantes de Hu [HU-62], es decir, toma en cuenta siete valores calculados en ia imagen como puntos de comparación contra un objeto nuevo. El segundo de los agentes mencionados utiliza también siete características topológicas [GONZA-96] y [HARAL-92 J para realuar tal comparación contra algún objeto que se desea reconocer.

Por lo tanto, el agente de momentos invariantes considera un conjunto M N = { M I , , MZZ, MZ3, Mi4 Mis, MZd, MZ7} y el agente de descriptores topológicos emplea el conjunto DTOP={DT,, DTz, DT3, D T , DTs, DT6 DTr), donde MI, y DTt para i = I, 2, ... , 7 son variables de valor numérico.

83

Page 113: SEP SElT DGlT - CENIDET

Capítulo 4 Modelo propuesto

dos !minan Imprime 1 elemento cnmo resultado 1

Verifiai o votaciones

como resultado [AMI+ADTl I

Integración I

[AMI=ADTor [i=NRAMI+I andj=NRADT+lU

I I

Compara resultados

pingum de saierdo]

I [Todos de acudo]

I %lo 2 de acusrdo] I Imprime 1 elemento Imprime 2 elementos Imprime 3 elementos

wmo resultado wmo resultado a m o resultado

Figura 4.19. Srurechqt para el agente integrador que promueve el intercambio de características.

84

Page 114: SEP SElT DGlT - CENIDET

Modelo propuesto Capítulo 4

Como se mencionó en las secciones 4.6 y 4.7, los agentes guardan el orden en que cada variable contribuyó a dar un valor de semejanza determinado. Es decir, es más importante aquella variable cuyos valores son más similares en el nuevo objeto y el objeto conocido contra el cual se compara. Cabe señalar que si uno de los momentos i n v d t e s , por decir el cuarto, fue el más importante en la votación de semejanza del nuevo objeto contra un objeto X conocido, es probable que en la comparación contra un objeto Y conocido sea de los menos importantes; o bien, que ocupe un lugar intermedio en el orden de importancia para esa votación.

Las tablas 4.8 y 4.9 présentan los ejemplos de las tablas 4.1 y 4.2 respectivamente, pero ahora mostrando el orden en que cada una de las características observadas influyen en la comparación contra cada objeto conocido. Se remarca nuevamente que estos son sólo ejemplos para entender el funcionamiento de esta forma de integrar los resultados.

Tabla 4.8. Ejemplo de o r d i de importancia de los momentos para cada votación en particular del agente de momenta invar¡antes.

Si se interpretan las tablas 4.8, 4.9 y 4.3, se observa que el agente de momentos invariantes está votando en primer lugar por el objeto Obj G, con un 98% de simiiitud y un orden descendente de importancia de variables para tal votación de p í I 4 , MI, MI6 MIz, Mh, MI,, MIS]. De igual manera,lel agente de descriptores topológicos vota por el objeto Obj B con un 96% de semejanui y un orden descendente de importancia de sus descriptores de [DT,, 02'4, DTs, DTI, DT, DTz, D T 3 J por su parte, el agente de red neuronal vota por el objeto Obj F con un 96%. Por lo tanto, se está en el caso en que no existe acuerdo entre ninguno de los agentes. En este ejemplo, corresponde ai agente de momentos invariantes iniciar el proceso de convencimiento, ya que su 98% para el objeto Obj G es mayor ai 96% del objeto Obj E en el agente de descriptores topológicos.

85

Page 115: SEP SElT DGlT - CENIDET

Canltiiln 4 Modelo propuesto '

'I 'I 'I n_, - . .

Tabla 4.9. Ejemplo de orden de importancia de los descriptores para cada votación en particular del agente de descriptores topológicos.

Para que uno de los agentes pueda convencer ai otro de su votación, es necesario que exponga su argumento más fuerte que lo Uevó a tal votación En este caso, el argumento más fuerte del agente de momentos invariantes es el momento MI*, ya que es el que mayor importancia tuvo para la votación a favor del objeto Obj G.

El argumento más fuerte señaiado por el agente de momentos invariantes será usado por el agente de descriptores topológicos para realizar una nueva votación Este momento sustituye a uno de sus descriptores, el cual será el de menor importancia que él tiene para el objeto Obj B que ocupa el primer lugar en su votación El descriptor es el DT3, como se observa en la tabla 4.9. Por lo tanto, el agente de descriptores topol6gicos tiene un nuevo conjunto de variables con las que compara a cada uno de los objetos conocidos contra el objeto a reconocer. Tal conjunto es DTOP'=( DTI, D T , DT, DTs, DTs, DT7, MI4}. Este nuevo conjunto permite crear un biperespacio de siete dimensiones, en el cual serán calculados nuevamente valores de distancia entre objetos. Ai repetir el proceso de reconocimiento (visto en la sección 4.7), se obtiene una nueva lista de votaciones.

De manera similar, si el agente de momentos invariantes no logra convencer al agente de descriptores topológicos, este último tratará de convencer al primero aportando el descriptor DT7, que es el más importante al votar para el objeto Obj B. El momento que es sustituido es el MIS, ya que es el menos importante en el voto para el primer objeto en el agente respectivo. Con eUo, el nuevo conjunto de variables para el agente de momentos invariantes es M I W = ( M I J , MIz, MIj, MI4, MIS, MI7, DT,}.

Si en este primer intento de convencimiento no se Uega a un acuerdo entre los agentes, se considera un intercambio de dos variables; es decir, el agente en turno de convencimiento, aporta sus dos mejores argumentos, en la votación del objeto en cuestión y

Page 116: SEP SElT DGlT - CENIDET

- .. . - .

Actividad

capítulo 4 Modelo propuesto

Líneas de

el otro agente elimina las dos variables 'menos importantes en la votación de su primer objeto. De no llegar a un consenso, se considera un nuevo intercambio, ahora con tres variables, siguiendo un proceso similar al mencionado.

Si el caso fuera que solamente uno de los agentes es quien tratara de convencer al otro, este intercambio de características es igualmente realizado, con la única diferencia de que no existe cambio de turno para'el intento de convencimiento.

Se considera intercambiar hasta tres variables para que el agente, al cual se está convenciendo, conserve la mayoría de sus variables más importantes en su votación original emitida. Y si bien esto lo convierte en un agente híbrido, la mayoría de las Características que emplea para obtener una nueva votación, siempre será de su conjunto original.

4.10. Resumen final del sistema desarrollado

La ,figura 4.20 presenta un diugumu de actividad que resume las acciones que realiza el sistema desrirrollado para el reconocimiento de patrones visuales expuesto en este capítulo. En el diagrama se indican las actividades principales que se realizan desde la lectura del archivo de la imagen, hasta la impresión de los resultados. También se ilustra el uso de fork / j o i n para la ramificación del flujo del programa, logrando la concurrencia de los agentes y su posterior unificación previa a la integración de resultados.

A fina de dar una idea aproximada de la complejidad algorítmica del sistema desarrollado, tabla 4.1 O muestra 'la cantidad de líneas de código correspondiente a cada actividad desarrollada por el sistema. I

i

Tabla 4.10. Lineas de código correspondientes I a cada actividad del sistema.

, iI"7

mipulación de las posiciones de las votaciones 1 379

Page 117: SEP SElT DGlT - CENIDET

Modelo propuesto OPítUiO 4

Figura 4.20. Diagrama de actividad del sistema multiagente desarrollado.

4.11. Conclusión del capítulo

En este capítulo se presenta la arquitectura multiagente desarrollada para reconocer patrones visuales. El tipo de patrones con que se prueba es el obtenido a partir de imágenes 2D; sin embargo, no limita la forma de trabajar del sistema, siendo posible trabajar con otro tipo de patrones. Para lograrlo, es necesario cambiar los procedimientos correspondientes ai

88

Page 118: SEP SElT DGlT - CENIDET

capítulo 4 Modelo propuesto

preproce-ento de la imagen y obtención de características, ya que 10s aquí desmo11ados sólo. son aplicables a imágenes binarias en dos dimensiones.

posible cambiar 10s agentes integrantes de la arquitectura sin realizar demasiadas modificaciones; la única condición es que presenten SUS resultados de reconocimiento en la misma forma que los agentes desarrollados en este trabajo.

Se describe qué tipo de preprocesamiento se realiza en las imágenes que se reconocerán, Como se reduce el ruido existente en ellas y la forma en que se detectan los objetos contenidos en la imagen.

El agente de momentos invanantes [Hu-621, emplea siete momentos para la descripción de objetos. El agente de descriptores topológicos describe los objetos mediante siete características topológicas diferentes. Ambos agentes utilizan como método de reconocimiento de patrones el método de decisión teórica descrito en la sección 2.5.1, también conocido como método de mínima distancia.

Manejar el método de mínima distancia permite crear diferentes conjuntos de rasgos descriptivos a partir de los siete momentos y los siete descriptores topológicos. Lo anterior es posible ya que el método representa cada objeto como un punto en un hiperespacio, donde cada rasgo representa una dimensión. Los dos agentes mencionados en el párrafo anterior intercambian características cuando sus votaciones no coinciden. De tal permuta se obtienen nuevos conjuntos de características y con ello nuevas votaciones. Este proceso tiene como objetivo alcanzar un acuerdo mediante el intercambio de características.

El agente de red neuronal emplea un patrón de caractensticas diferente, en esencia, al utilizado por los otros dos agentes. Este agente obtiene su patrón al ajustar la resolución del objeto de entrada a una con tamaño fijo de filas y columnas. Con ello, sea cual sea el tamaño del objeto, siempre obtiene el pafrón necesario para el número de neuronas de la capa de entrada a la red. Por lo anterior, el agente de red neuronal no realiza intercambios de características con los otros agentes. No tendría sentido cambiar el valor correspondiente a una parte muy pequeña del objeto! por otro valor correspondiente a la totalidad del mismo.

El agente integrador es el encargado de crear lo siguiente: 1) el pizarrón en el que se encuentra la imagen de entrada) 2) localidades para que cada uno de los tres agentes reconocedores almacene el patrón de características empleado, 3) espacios para el almacenamiento de los resultados obtenidos por cada agente, 4) un espacio en el que se almacenará la votación final y 5 ) un conjunto de semáforos que controlan los procesos de lectura y escritura en el pizarrón.

El integrador decide cuándo terminar el proceso de reconocimiento y cuándo es necesario realizar más votaciones. Coordina los intercambios de caractensticas y s h e de enlace en el proceso de convencimiento.

89

Page 119: SEP SElT DGlT - CENIDET

Pruebas y resultados obtenidos capítulo 5

CAPITULO 5 Pruebas y resuliados obtenidos

5. I .I. Características del caso de prueba 1

5.1.2. Resultados del caso de prueba 1

5.1.3. Conclusiones del caso

5.1. Casode 1 prueba 1 [ de prueba 1

5.2.1. Caractensticas del caso de prueba 2

5.2.2. Resultados del caso de prueba 2

5.2.3. Conclusiones del caso de prueba 2

5. Pruebas y resultados obtenidos

5.2. Casode

5.3. Análisis de resultados

En este capítulo se presentan las pruebas realizadas al sistema multiagente desarrollado. Se llevaron a cabo dos casos de prueba, cada uno consistente en una etapa de entrenamiento y otra de reconocimiento. En la primer etapa, el sistema obtiene una base de datos de características a partir del conjunto de imágenes de entrenamiento. El reconocimiento se realiza sobre el conjunto de imágenes de prueba, una a una, comparando cada objeto en la imagen de entrada con los registrados en la base de datos. El resultado que se obtiene es la votación individual de cada agente y la votación global del sistema.

5.1. Caso de prueba 1

5.1.1. Características del caso de prueba 1

El objetivo de este caso de prueba es: observar el comportamiento del sistema ante imágenes que presentan similitud entre .sí y que pueden causar confusión en el reconocimiento realizado, tanto de manera individual, por los tres agentes desarrollados, como de manera global, por el sistema completo.

El conjunto de imágenes de entrenamiento presenta las siguientes características: 27 imágenes binarias, de las cuales, 19 contienen objetos rígidos, 7 presentan objetos

90

Page 120: SEP SElT DGlT - CENIDET

capítulo 5

semirígidos y un objeto flexible. Son objetos rígidos aquellos que no cuentan con ejes de giro y que no sufien estiramientos o deformaciones. Son semirígidos aquellos que constan de partes rígidas pero que tienen uno o más ejes de giro, por ejemplo: las tieras y pinzas. Son flexibles aquellos que pueden sufnr doblamientos y/o estiramientos, por ejemplo: un resorte.

Pruebas y resultados obtenidos

Las dimensiones de las imágenes son aproximadamente 300 x 300 pixeles. El conjunto de imágenes contiene subconjuntos de objetos que son muy parecidos entre sí y que pueden causar confusión en: el proceso de reconocimiento. Con este conjunto de imágenes se crea la base de datos de objetos conocidos que se utiliza para la etapa posterior de reconocimiento.

La figura 5.1 muestra la base de imágenes de entrenamiento para el caso de prueba 1. El tamaño de las imágenes ha sido reducido sólo para presentarse en la figura.

Figura 5.1. Imágenes de entrenamiento, caso de prueba 1.

La figura 5.2 presenta una imagen de prueba, en ella existen algunos puntos de ruido y tres objetos en la imagen. Además existe traslape en las ventanas minimas que encuadran a algunos de los objetos.

La figura 5.3 presenta otro ejemplo de imagen de prueba con más de un objeto. Todos los objetos muestran una deformación de compresión vertical.

91

Page 121: SEP SElT DGlT - CENIDET

capítulo 5 pruebas y resultados obtenidos

. . . . . . . .

Figura 5.2. Ejemplo 1 de imagen de prueba, caso 1

.: . . . 1 I. .:.

Figura 5.3. Ejemplo 2 de imagen de prueba, caw 1

Las figuras 5.2 y 5.3 son sólo muestras de imágenes de prueba. En total se probó el sistema con 60 objetos (ver apéndice A), los cuales contienen ruido aditivo y sustractivo, traslape en las ventanas minimás del objeto, deformaciones tales como estiramiento, compresión, rotaciones, escalamiento y proyecciones.

5.1.2. Resultados del caso de prueba 1

La figura 5.4 muestra los'resultados obtenidos con el conjunto de prueba. Las tres primeras columnas del gráfico corresponden a los tres agentes reconocedores que componen la arquitectura. AMI, es el agente de momentos invariantes y presentó un porcentaje de reconocimiento exitoso del 96.6%. ADT, es el agente de descnptores topológicos y alcanzó un porcentaje de éxito del 91.6%. ARN, es el agente de red neuronal y obtuvo un 78.3% de éxito en el reconocimiento.

92

Page 122: SEP SElT DGlT - CENIDET

h e x s y resultados obtenidos Capítulo 5

Figura 5.4. Resultados del caso de prueba 1

La columna POSI, en la figura 5.4, muestra el resultado obtenido de promediar la posición que ocupa un objeto dado en la lista de votación de cada uno de los agentes. La explicación de este modo de integrar los resultados se encuentra en la sección 4.9.1. Con esta forma de integración se obtuvo un 96.6% de reconocimiento.

Otra forma de integrar los resultados de los agentes es promediar los porcentajes de similitud arrojados en la salida de cada agente; PROM, representa este método y se obtuvo un 98.3% de reconocimiento exitoso. En la sección 4.9.2 se describe a mayor amplitud esta forma de integración.

PESO, es el método que incorpora un valor a cada agente, consistente en un porcentaje de éxitos anteriores. kí, una votación de un agente se ve respaldada por su grado de confianza en el reconocimiento; el desarrollo de esta técnica se presenta en la sección 4.9.3. Con este método, se obtuvo un 98.3% de éxito en el reconocimiento.

Finalmente, íNTER es el método en el que los agentes intercambian información observada en el objeto de entrada, con lo cual se obtienen nuevas votaciones y se verifica si el sistema converge, ver sección 4.9.4. Este método obtuvo un 96.6% de éxito al reconocer nuevos objetos.

Todos los resultados mostrados en la gráfica de la figura 5.4 son calculados tomando en cuenta un Único resultado de reconocimiento; es decir, si el sistema genera una salida de dos O tres elementos,, sólo se considera el que encabeza tal lista.

Cabe remarcar que INTER es la única forma de integración que requiere que los agentes intercambien información y realicen nuevas votaciones. Los resultados que se presentan en la figura 5.5 describen los casos en que los agentes coinciden en sus

93

Page 123: SEP SElT DGlT - CENIDET

capitulo 5 pruebas y resultados obtenidos

votaciones. Esta información sirve para determinar cuándo es necesario este proceso de intercambio de características

60

50

A = Todos de acuerdo B = AMI y AüT de acuerdo C = AhD y ARN de acuerdo D = ADT y ARN de acuerdo E = Ninguno de acuerdo

30

20

20

O

Figura 5.5. Coincidencias en los resultados de los agentes reconocedores, caso de prueba 1.

La columna A indica que los tres agentes reconocedores están de acuerdo en su votación en 39 casos. Es decir, en un 65% de los objetos de prueba, el sistema no tiene ningún problema en dar el resultado final, ya que todos los agentes están de acuerdo y no se requiere el proceso de intercambio de características.

La columna B muestra que AMI y ADT coinciden en 12 casos. En esta situación, no se aplica el proceso de convencimiento e INTER da como resultado una lista de votación de dos elementos, encabezando la lista el objeto en el AMI y ADT coincidieron y en segundo lugar la votación dada por ARN.

La columna C señala que AMI y ARN coinciden en 4 votaciones y difieren de ADT. Como se explica en la sección 4.9.4, AMI trata de convencer a ADT remitiendo sus argumentos más fuertes. AMI logra convencer a ADT en los 4 casos. El resultado del sistema, en cada caso, es una votación única.

La columna D estipula que ADT y ARN coinciden en su votación en 3 ocasiones y difieren de AMI. En este caso, ADT trata de convencer a AMI de aceptar su votación enviando sus argumentos más fuertes. ADT logra convencer a AMI en 2 de los 3 casos, en los cuales el sistema genera una votación única; en el tercer caso restante la votación consta de dos elementos, estando en primer lugar aquel objeto en el que ADT y ARN coinciden y en segundo el señalado por AMI.

Page 124: SEP SElT DGlT - CENIDET

hebas y resuiiados obtenidos capítulo 5

La columna E indica que en 2 ocasiones ningún agente coincide en su votación. En ambos casos se lleva a cabo un proceso de convencimiento, por turnos, entre AMI y ADT. Sólo en 1 de los dos casos se pudo llegar a un acuerdo. El sistema genera una lista de dos votaciones en el caso en que hubo acuerdo y otra lista de tres votaciones cuando no hubo acuerdo.

Como puede observarse, en 9 ocasiones fue necesario el proceso de convencimiento i " E R y en 7 de esos casos se llegó a un acuerdo que condujo a reconocimiento exitoso en todos ellos.

5.1.3. Conclusiones del caso de prueba 1

En los resultados obtenidos se observa que los tres agentes tienen un buen desempeño individual, siendo el agente de momentos invariantes el que obtuvo un mayor porcentaje de éxito. De igual manera los cuatro métodos de integración implementados obtuvieron porcentajes de reconocimiento bastante aceptables, de ellos, los mejores fueron el método de promedios de votaciones y el método de votación pesada, con un porcentaje de éxito superior al mejor de los agentes individuales. Los otros dos métodos de integración, el de verificación de posiciones y el de intercambio de características lograron igualar los resultados obtenidos por el agente de momentos invariantes.

Un resultado importante, que se obtuvo mediante el intercambio de características, es que sí se logró llegar a un acuerdo entre el agente de momentos invariantes y el de descriptores topológicos en 7 de.9 casos. Es decir, se logró el objetivo del proceso de convencimiento en un 77% de los casos en que hubo desacuerdo.

5.2. Caso de prueba 2

5.2.1. Características del caso de prueba 2

Este caso de prueba tiene como objetivo: examinar el comportamiento del sistema ante el conjunto de letras minúsculas del alfabeto griego, las cuales presentan áreas de color de objeto menores al área de color de fondo. Además, las imágenes son muy similares en área, número de hoyos, distribución y compactación de pixeles, lo cual hace más dificil el reconocimiento.

Se cuenta con un conjunto de imágenes de entrenamiento con las siguientes características: 26 imágenes binarias correspondientes a las letras minúsculas del alfabeto griego. No se utilizan imágenes de letras escritas a mano, sino letras artificiales obtenidas del conjunto de letras griegas de la computadora.

95

Page 125: SEP SElT DGlT - CENIDET

capítulo 5

I I

Pruebas y resultados obtenidos

Figura 5.6. imágenes de

I :: ~ .

. ..

-. ...

entrenamiento, caso de prueba 2.

I

2 . , :i '

< . ..

._ . . ..

Page 126: SEP SElT DGlT - CENIDET

- 1 I capítulo 5 I Pruebas y resultados obtenidos

I horizontal y vertical. I

I La figura 5 8 muestra imágenes de prueba que presentan rotación y alargamiento

En total, se probó el sistema con 182 prueba 1, los objetos en cada imagen alargamiento y/o compresión.

5.2.2. Resultados del caso de prueba

objetos (ver apéndice B). Como en el caso de presentan ruido, rotaciones, escalamientos,

2

un porcentaje de éxito del 9.3%. ARN, es el éxito en el reconocimiento.

agente de red neuronal y obtuvo un 36.2% de

Page 127: SEP SElT DGlT - CENIDET

I I

Pruebas y resultados obtenidos capítulo 5 I

AMI ADT ARN POSI PROM PESO INTER

i

nuevos objetos.

I b8

Page 128: SEP SElT DGlT - CENIDET

capítulo 5 Pruebas y resultados obtenidos

160 '--- 41 Coincidencias en los resultados - ~~

individuales:

A = Todos de acuerdo B = M y ADT de acuerdo C = AMI y ARN de acuerdo D = ADT y ARN de acuerdo E =Ninguno de acuerdo

1 O0 nn

: 40 5 20

-.. 60

20 O

40

A 6 C ' D E

Figura 5.10. Coicidencias en los resultados de los agentes reconocedores, caso de prueba 2.

La columna C señala que AMI y ARN coinciden en 34 votaciones y difieren de ADT. Como se explica en la sección 4.9.4, AMI trata de convencer a ADT remitiendo SUS argumentos más fuertes. AMI logra convencer a ADT en 28 casos, de los cuales 27 fueron resultados correctos y 1 incorrecto. El resultado del sistema, en los 28 casos en que hubo acuerdo, es una votación única, en'los otros 6 se genera una lista de dos elementos.

La columna D estipula que ADT y ARN coinciden en su votación en 4 ocasiones y difieren de AMI. En este caso, ADT trata de convencer a AMI de aceptar su votación enviando sus argumentos rnh fuertes. ADT logra convencer a AMI en 3 de los 4 casos, en los cuales el sistema genera una votación única; en el tercer caso restante la votación consta de dos elementos, estando en primer lugar aquel objeto en el que ADT y ARN coinciden y en segundo el sefialado por AMI. De los 3 casos en que se llegó a un convencimiento, 2 fueron resultados correctos y el otro incorrecto.

La columna E indica que en 128 ocasiones ningún agente coincide en su votación. En todos los casos se lleva a cabo un proceso de convencimiento, por turnos, entre AMI y ADT. AMI convenció a ADT en 46 ocasiones y ADT convenció a AMI en 32 casos. De los 78 casos en que hubo acuerdo, 23 fueron correctos y los restantes incorrectos.

5.2.3. Conclusiones del caso de prueba 2

En los resultados obtenidos se observa que sólo el agente AMI obtiene un resultado aceptable del 56%, comparado con los resultados reportados por los otros dos agentes.

El agente ADT presenta un desempeño muy pobre debido a las caractensticas de los objetos que se manejan, ya que son muy similares en área, circulandad, compactación y

99

Page 129: SEP SElT DGlT - CENIDET

mebas y resultados obtenidos Capitulo 5

número de hoyos, que son los principales descriptores que usa este agente. Sin embargo, esto sirve para probar también que el sistema se comporta bien a pesar de que un agente tenga un bajo desempeño.

A pesar del pobre resultado mostrado por los agentes ADT y ARN, las formas de integración POSI, PROM y PESO presentan resultados superiores al mejor de los agentes.

El método de intercambio INTER no logra alcanzar el porcentaje de reconocimiento alcanzado por el mejor de los agentes. Es importante considerar que fueron 166 casos en los que se llevó a cabo el proceso de convencimiento, es decir, en un 91.2% de los casos hubo necesidad de intercambiar caracteristicas y llegar a un acuerdo. Sin embargo, el agente ADT logró un porcentaje demasiado bajo de reconocimiento, sólo el 9.3%. Lo anterior trae como consecuencia que los resultados de la negociación entre AMI y ADT sean bajos.

5.3. Análisis de resultados

Como se enuncia en los objetivos de los dos casos de prueba presentados, se mide el comportamiento del sistema con imágenes que poseen caractensticas muy similares. La idea es probar el desempeño del sistema con imágenes muy semejantes que pueden confundirse en un momento dado.

Retomando los resultados del caso de prueba 1, presentados en la figura 5.4, es posible observar que el desempeño individual de los agentes es muy bueno. El agente AMI obtiene el 96.6%, el agente ADT el 91.6% y el agente ARN el 78.3%. Es de esperarse que el resultado global del sistema también sea elevado. Las formas de integración PROM y PESO superan el 96.6% de reconocimiento logrado por AMI, el mejor de los agentes, alcanzando ambos un 98.3% de reconocimiento. Las formas de integración POSI e INTER sólo logran alcanzar ese 96.6%.

Puede observarse que, con las formas de integración PROM y PESO, se alcanza el objetivo de la tesis. Es decir, se logra superar el resultado obtenido por el mejor de los agentes. Esto no quiere decir que los métodos POSI e INTER no sean buenos. Si consideramos que el resultado final se obtiene mediante la cooperación de los tres agentes, es un buen resultado que los porcentajes no sean menores al obtenido por el mejor de ellos.

Enfocando la atención al resultado obtenido por el método de intercambio de características, INTER, en total fueron 9 casos en que se realiza el proceso de convencimiento, de los cuales en 7 casos se llegó a un acuerdo y todos ellos fueron resultados correctos. Se puede decir que, en este caso de prueba, el método INTER tiene un buen desempeño, a pesar de que sólo logra igualar el resultado individual obtenido por el agente que más aciertos obtuvo.

100

Page 130: SEP SElT DGlT - CENIDET

h e b a s y resultados obtenidos Capítulo 5

Recuerde que el proceso de''convencimiento se lleva a cabo cuando AMI Y ADT no coinciden en sus votaciones. No es posible deducir, a partir de la imagen de entrada, cuándo será necesario el intercambio de caractensticas. Sena tanto como saber los resultados individuales de los agentes antes de 'que ellos emitan sus votaciones.

El caso de prueba- 2 presenta resultados interesantes. Puede decirse que el desempeño individual de los agentes es regular. En especial, el agente ADT presenta un resultado muy pobre, sólo el 9.3% de reconocimiento exitoso, contra el 56% y 36.2% alcanzado por los agentes AMI y ARN, respectivamente.

En este caso de prueba, los métodos de integración POSI, PROM y PESO superan al mejor de los agentes, obteniendo el 65.3%, 60.4% y 60.9% de reconocimiento, respectivamente. El método INTER obtiene el 37.3% de reconocimiento, el cual es mayor que el obtenido por los agentes AüT y ARN, pero menor al porcentaje obtenido por el agente AMI.

Si se analizan los resultados del método de integración INTER, es posible observar que el número de casos en que se realiza intercambio de caractensticas es de 166, de un total de 182 objetos de prueba. Es decir en el 91.2% de los casos se realiza la acción de convencimiento entre los agentes. De los casos en que se realiza este proceso, en 109 se llega a un acuerdo, sin embargo, solo 52 de esos 109 casos fueron correctos.

Este resultado obtenido por el método INTER, en el caso de prueba 2, es el reflejo del bajo porcentaje obtenido por el agente ADT, ya que si éste convence de su votación al agente AMI y esa votación es errónea, el resultado global del sistema se verá disminuido.

Finalmente se puede concluir que los métodos PROM y PESO son los que mejores resultados reportan, siendo estos métodos los que lograron superar el resultado individual obtenido por cualquiera de los agentes. Con ello se cumple con el objetivo de la presente tesis.

10 1

Page 131: SEP SElT DGlT - CENIDET

Capítulo 6 Conclusiones y trabajo futuro

Conclusiorzes v trabaio futuro 1

, 6.1. [ 6.2.

{ 6.3. 6 . Conclusiones y trabajo futuro

Resumen del trabajo realizado

Objetivos alcanzados

Principales aportaciones

Conclusión fmal

Trabajo futuro

6.1. Resumen del trabajo realizado

Muchos trabajos clasificados dentro del área de la inteligencia artificial versan sobre entidades individuales, es decir, procesos aislados que realizan una función determinada, tratando de emular el accionar de un humano. Pero, los seres humanos son sociables por naturaleza, es decir, muchas de sus actividades cotidianas las realizan en grupos; más aún, existen actividades tan delicadas o importantes que requieren de un equipo de trabajo para su consecución efectiva. En la inteligencia artificial distribuida [DEh4AZ90] se trata de crear grupos de procesos que trabajen en la solución de un mismo problema, intentando imitar el trabajo que se realiza por un equipo de expertos humanos.

En el presente trabajo de investigación se desarrolla una arquitectura multiagente @3OISS-94], [CONNA-91] y [DEMAZ-91] en la cual los agentes integrantes colaboran para el reconocimiento de patrones visuales. Este trabajo de tesis nació de la inquietud de aprovechar el potencial de los sistemas multiagente para obtener resultados más conñables en el reconocimiento de patrones de imágenes.

La hipótesis fundamental que da ongen a este trabajo es: si se emplea un grupo de agentes reconocedores de patrones que trabajen conjuntamente. entonces es posible obtener mejores resultados que los que se obtienen de manera individual por cada uno de ellos.

Se desarrollaron tres agentes reconocedores de imágenes binarias y cuatro formas diferentes de integrar los resultados individuales de los agentes. Tres de estos métodos de integración procesan los resultados individuales de los agentes y emiten una votación final. El cuarto método implica el intercambio de características entre dos de los agentes, con la

102

Page 132: SEP SElT DGlT - CENIDET

Capítulo 6

finalidad de llegar a un acuerdo en sus respectivas votaciones. Cabe mencionar que el método de integración que se utilice es sólo parte del agente integrador, el cual controla el accionar de los agentes individuales.

Conclusiones y trabajo futuro

El medio de comunicación empleado es un pizarrón [MAJTR-gO], es decir, un área O depósito central para toda la información que debe ser compartida. Cada agente lee del pizarrón la imagen de entrada con cierto grado de preprocesamiento. También cada uno escnbe sus resultados en el pizarrón. Cuando se usa el método de intercambio de características, los dos agentes que intervienen en este proceso verifican en el pizarrón qué variables deben emplear para su nuevo proceso de reconocimiento. Todo este procedimiento es controlado mediante un conjunto de semáforos, los cuales indican a los agentes cuándo pueden continuar su proceso o detenerse hasta nuevo aviso.

6.2. Objetivos alcanzados '

Como se muestra en el capítulo 5, se desarrollan dos casos de prueba. Para el caso de prueba 1 se obtienen los siguientes resultados: agente de momentos invanantes (AMI) 96.6%, agente de descnptores'topológicos (ADT) 91.6% y agente de red neuronal (ARN) 78.3% de reconocimiento. Por su parte, los métodos de integración obtienen los siguientes porcentajes: método de posiciones (POSI) 96.6%, método de promedios (PROM) 98.3%, método de votación pesada (PESO) 98.3% y método de intercambio de características (INTER) 96.6% de reconocimiento exitoso.

En el caso de prueba 2 se obtienen los siguientes resultados individuales por cada agente: agente AMI 56%, agente ADT 9.3% y agente ARN 36.2% de éxito en el reconocimiento. Los métodos de integración alcanzan los siguientes porcentajes: método POSI 65.3%, método PROM 60.4%, método PESO 60.9% y método INTER 37.3% de reconocimiento exitoso.

Comparando los resultados globales contra los resultados individuales en cada caso de prueba, se observa que los métodos que cumplen con la hipótesis fundamental del presente trabajo son los métodos PROM y PESO. Por lo tanto, con base en los resultados obtenidos, se confirma que sí es posible conjuntar el trabajo de agentes reconocedores de imágenes a fin de obtener mejores resultados que los que obtiene individualmente cualquiera de los agentes integrantes del sistema.

6.3. Principales aportaciones

Algunas aportaciones destacables del presente trabajo son:

La creación de tres agentes autónomos capaces de reconocer patrones de imágenes por sí solos.

103

Page 133: SEP SElT DGlT - CENIDET

Capítulo 6 Conclusiones y trabajo futuro

0

0

El desarrollo de un agente integrador el cual controla el proceso de reconocimiento realizado por los agentes individuales que componen el sistema. El uso de la arquitectura de pizarrón como medio de comunicación entre 10s agentes La implantación de un proceso de convencimiento entre agentes mediante el intercambio de características, La conjunción de todos los puntos anteriores en un sistema multiagente para el reconocimiento de patrones visuales, el cual puede emplearse en proyectos posteriores del área de visión por computadora y en el área de sistemas multiagente.

0

I/

6.4. Conclusión final

Como se menciona en el capítulo 1, secciónl.5.1, el objetivo del presente trabajo de investigación es ciemrroilar una arquitectura mu~iiagente que permita mejorar 10s porcentajes de reconocimiento de patrones visuales. Para alcanzar tal objetivo se trata de demostrar la veracidad de la siguiente hipótesis: si se emplea un grupo de agentes reconocedores de patrones que ii trabajen conjuntamente, entonces es posible obtener mejores resultados que los que se obtienen de manera individual por caah uno de ellos.

Según lo anterior y coniibase en los resultados reportados en el capítulo 5, la hipótesis es verdadera, ya que con dos de los métodos de integración se logró, en los dos casos de prueba, obtener mejores resultados que el obtenido por cualquiera de los agentes.

De igual manera, se cubrieron los alcances y se respetaron las restricciones descritas en la sección 1.5.2 y se obtuvo el producto esperado especificado en la sección 1.5.3.

Finalmente, se puede concluir que el uso de agentes y sistemas multiagente, para la solución de problemas, tiene un amplio campo de aplicación, la visión artificial es sólo una parte. Uno de los trabajos más dificiles cuando se decide aplicarlos consiste en definir los mecanismos de comunicación y woperación de los agentes, ya que de ello depende el éxito o fracaso de la explotación de sus capacidades.

6.5. Trabajo futuro

Algunas modificaciones que se pueden plantear para el presente trabajo, las cuales no necesariamente deben realizarse por separado, son las siguientes:

Intercambiar los métodos de reconocimiento de los agentes desarrollados por otros, a fin de probar su desempeño en el sistema multiagente construido. Crecer el número de agentes que intervienen en el intercambio de características,

Page 134: SEP SElT DGlT - CENIDET

Capíiulo 6 Conclusiones y trabajo futuro

Cambiar el medio de comunicación por uno de paso de mensajes, a fin de hacer más directa la cooperación entre los agentes.

Se propone el siguiente trabajo futuro que tome como base el que aquí se ha desarrollado:

Anexar al sistema un protocolo de red de contrato. Para ello sena necesar¡o crear una base de agentes reconocedores de patrones y una base de agentes extractores de características de imágenes, señales, rostros y otros objetos de interés a fin de formar grupos de agentes especializados en diversos problemas. Este trabajo generaría una arquitectura multiagente genérica limitada sólo por las capacidades de los agentes contenidos en sus bases de agentes. El trabajo propuesto podna dividirse en las siguientes tareas:

1. Creación de una base de agentes extractores de características de diversos objetos, fisicos o abstractos, aún y cuando fueran interactivos con un humano experto en alguna de las áreas de interés. Creación de una base de agentes reconocedores de patrones. Adaptación de un protocolo de red de contrato capaz de analizar el problema de reconocimiento a resolver y reclutar los agentes más capacitados para la tarea. Especificación de un lenguaje de comunicación de agentes (ACL por sus siglas en inglés). Si se provee un lenguaje reconocido por la comunidad de.. agentes, la comunicación se facilita dando un soporte más firme para el trabajo cooperativo. Agregar a cada agente un módulo de negociación. Lograda la implantación del ACL, se puede implementar la negociación directa entre los agentes.

2. 3.

4.

5.

105

Page 135: SEP SElT DGlT - CENIDET

Apéndice A

APÉNDICE A

v

Objetos de prueba, caso de prueba 1

.I 1

IlIt F

- .... W'' ,..>

>.'j

.. .

om 'Si0 .", .\... L+ ... -.., .. z .:: .. .

106

Page 136: SEP SElT DGlT - CENIDET

Apéndice B

APÉNDICE B Objetos de prueba, caso de prueba 2

+ -

, I a. .*'"

< .

. . . . ,~. . . . .

. s < .

.;u !:

i . .

. , . . . . . . . . . . .

.: . . . . . y.,, p 7.:

. . . :. ,: : 4 ..

: ! . - . \ 'j li .. ..

. . , . -;..-

7 % .

> . . . . . . .

,. .. . . . I .....

,.. : < ,. i. . .i

. . .;.. .

, ,. -

i!

. . .i

I i . '

. .

.< I ''

. . . . . . .

107

Page 137: SEP SElT DGlT - CENIDET

108

Page 138: SEP SElT DGlT - CENIDET

Apéndice B

..I..' c( ~ .,.

,..<- '

* .:Li.-.. y

109

Page 139: SEP SElT DGlT - CENIDET

. .

Apéndice B

I

- . :,.

I

, ... .. . 2. . i I . ~ .. .I".. .

8 ,, ' . . ., ,, -' . , , , , *. . r"!

110

Page 140: SEP SElT DGlT - CENIDET

Apéndice B

111

Page 141: SEP SElT DGlT - CENIDET

Apéndice B

112

Page 142: SEP SElT DGlT - CENIDET

1.

Referencias

REFERENCIAS

ARCA AN-9 5 ]

[ATKIN-68]

[BOISS-94]

[BUS SM-941

[COMA-9 11

[COuLO-95]

P E W - 9 0 1

[DEMAZ-91]

Arcand, Jd-Frangois and Pelletier, Sophie-Julie. Cognition Based Multi-Agent Architecture. Intelligent Agents H. Agent Theories, Architectures and Languages. IJCAi'95 Workshop ATAL Montreal, Canada, August 19-20,1995.

Atkinson, R.C. and ShifFrin, R.M. Human Memory: A Propo,sed &stern and if.7 Control Processes. In The Psycbology of Learning and Motivation, Vol. 2. K.W. Spence and J.T. Spence. New York: Academic Press, 1968.

Boissier, O. and Demazeau, Y. MA U: A Multi-Agent System for Visual Integration. IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems. Las Vegas NV, 1994.

Bussmann, Stefan and Demazeau, Yves. An Agent Model Combining Reactive and Cognitive Capabilifies. IEEE International Conference on Intelligent Robots and Systems Munich, Germany, September 1994.

Connah, D.; Graham, M.; Hickman, S . and Wavish, P. A Metodology for Developing Multi-Agent Systems. iEE Colloquium on Intelligent Agents. London, 1991.

Coulouris, G; Dollimore, J. and Kindberg, T. Dishióuted Systems, Concepts and Design. Edit. Addison-Wesley Publishing Company. 2". ed Great Britain, 1995.

Demazeau, Y . and Mulier, J.P. Decentralized Artificial Intelligence. Proceeding of the First European Workshop on Modelling Autonomous Agents. Cambridge, 1990.

Demazeau, Yves. Coordination Pattern in Mulii-Agen t Worlh Applications io computer Vision and Robotics. iEE Colloquium on Intelligent Agents. London, 1991.

113

Page 143: SEP SElT DGlT - CENIDET

Referencias

pRUSI-89]

W E M - 9 2 1

[GELMA-951

[GENES-941

[GONZ A-961

[GUPTA-93]

[HAMAD-931

CHARAL-921

&bUEL-87A]

IHAREL-87J31

Drusinse, D. and Harel, D. using Statecharts for Hardware Description and Synthesis. EEE Transactions on Computer-Aided Design. Vol 8, NO, 7. pp. 798-806. July 1989.

Freeman, James A. and Skapura, David M. Neural Netwbrks Algorithms, Aplications and Bogramming Techniques. Edit. Addison-Wesley Publishing Company. July, 1992.

Gelman, A.; Carlin, J.B.; Stem H.S. and Rubin, D.B Bayesian Data Analysis Edit. Chapman & Hall. London, 1995.

Genesereth, M.R. and Ketchpel S.P. Sojiiare Agents. Communications ofthe ACM, 1994.

Godlez, Rafael C. y Woods, Richard E. Tratamiento dgitai de imágenes Edit. Addison-Wesley I Díaz de Santos. E.U.A., 1996. p, 618.

Gupta, M.M. and Knopf, G.K. Neuro- Vision Systems. E E E Press, 1993.

Hamada, T.; Kamejima, K. and Tsuchiya, M. Real-Time Cooperative Image Processingfor Interactive Environment Understanding. Proceedings of the International Conference on Industrial Electronics, Control and Instrumentation. Maui, HI, USA, 1993.

Haralick, R.M. and Shapiro, L.G. Computer and Robot vision. Edit. Addison-Wesley Publishing Company, Vol I y 11. USA, 1992

Harel, David. Statecharts: A visual fonnalim for complex systems. science of Computer Programming 8, pp. 231-274, 1987.

Harel, D.; Pnueli, A,; Schmidt, J.P. and Sherman R. On the Formal Semantics of Staiecharts. In Proceedings of the second EEE Symposium on Logics in Computer Science. Ithaca, NY, pp. 54-64. June 22-24, 1987.

114

Page 144: SEP SElT DGlT - CENIDET

Referencias

W L - 8 8 1

[HAYES-95]

LHU-621

["Ns-931

[IGLES-951

KOZ A-921

LIEBE-961

[LIÑAN-96]

[MAES-941

[MAITR-901

Harel, David. On Visual Formalisms. Communications ofthe ACM. Vol.31, No.5. pp, 514-530. May 1988.

Hayes-Roth, B. An Architecture for Adaptive Intelligent Systems. Artificial Intelligence: Special Issue on Agents and Interactivity. 1995.

Hu, M. K. Visual Pattern Recognition by Moment Invariants. IRE Trans. Info. Theory, Vol. I. T-8, pp. 179-187. 1962

Huhns, M. N.; Jacobs, N. and Ksiezyk, Y . Integrating Enterprise Information Models in Carnot. Proceeding o f International Conference On intelligent and Cooperative Information Systems. Wei-Min, 1993.

Iglesias, Carlos A.; Gonzáles, José C. and Velasco, Juan R. MIX: A General Purpose Multiagent Architecture. intelligent Agents 11. Agent Theories, Architectures, and Languages. IJCAi'95 Workshop ATAL. Montreal, Canada, August 19-20, 1995.

Koza, John R. Genetic Programming. The MiT Press: Cambridge, Massachusetts, 1992

Lieberman, Henry. Attaching Intevace Agent Sofiare to Applications. Media Laboratory. Massachusetts Institute of Technology. Cambridge, Mass. USA, 1996.

Liíián Garcia, José Luis TUTORIAL: Sistemas de agentes inteligentes. ITESM, Campus Morelos. México, 1996.

Maes, Pattie. Agents that &educe Work and Information Overload Communications of the ACM, Vol. 37, No. 7. July 1994

Maitre, B and Laasri, H. Cooperative m e r t Problem-Solving in Blackboard Systems: ATOME Case of Stwiy. First European Workshop on Modelling Autonomous Agents, Cambridge, 1990.

115

Page 145: SEP SElT DGlT - CENIDET

Refcrencias

p4IsHK-851

[MALIB-96]

[MALIB-97]

NONT0-94]

[RUIZ-95]

[RUSSE-96]

[ SMITH-SO]

[TANEN-931

Mishkoff, Henry C. Unde&anding Artificial Intelligence. Edit. Howard W. Sams & Co., 1". ed, 4a. reimp. EUA 1985

Malibrán, J.J.; Liñán, J.L. y Pinto, R. Reconocimiento de expresiones faciales mediante un sistema multi-agente. Tercer Congreso Internacional de Investigación en Ciencias Computacionales (CIICC'96) Tijuana, B.C., Noviembre de 1996.

Malibrán, J.J.; Liñán, J.L. y Pinto, R. Reconocimiento de objetos 2 0 empleando una ar quiteciuri' rnultiagente. Cuarto Congreso Internacional de Investigación en Ciencias Computacionales (CIICC'97) Durando, Dgo., Septiembre de 1997

Montoliu, Lionel. Handwriiten Word Recognition by a Multi-Agent System: Preliminary Results. iEE European Workshop and Handwriting Analysis and Recognition: An European Perspective. Bmssels, Belgium, 1994.

Ruíz Shulcloper, Jose; Eduardo Alba C. y Manuel Lazo C. Introducción al Reconocimiento de Patrones Publicación del Departamento de Ingeniería Eléctrica CINVESTAV-Jl". México, 1995. p. 238.

Russell, Stuart J. y NoMng, Peter. Inteligencia Artijicid Un enfoque moderno. Edit. Prentice Hall Hispanoamericana, S.A. la. ed. México, 1996. p. 979.

Smith, Reid G. The contract net protocol: High-level communication and control in a distributedproblern solver. IEEE Transactions on Computers. December, 1980.

Tanenbaum, A.S. Sistemas Operativos Modernos. Edit. Prentice Hall Hispanoamericana, S.A. 1'. ed. México, 1993

I16

Page 146: SEP SElT DGlT - CENIDET

Referencias

[wOOLD-95] Wooidrige, Michael and Jennings, Nicholas R. Agent Theories, Architectures, mid Languages: a Stirvey. Wooidnge and Jennings Eds. Intelligent Agents. Berlin: Springer-Verlag, 1-22. 1995.

Zave, P. and Jackson, D. PracticalSpecijication Techniques for Control-Oriented Systems. Information Processing 89. Elsevier, North-Holland. pp. 83-88. 1989.

[ZAVE-89]

I I17