PROYECTO DE TESIS “Sistema para clasificación de imágenes”

55
PROYECTO DE TESIS “Sistema para clasificación de imágenes” CARLOS ALBERTO OLIER HENAO COD.199713775 UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERIA DE SISTEMA Y COMPUTACIÓN 16 de Julio de 2004

Transcript of PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Page 1: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

PROYECTO DE TESIS

“Sistema para clasificación de imágenes”

CARLOS ALBERTO OLIER HENAO COD.199713775

UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERIA

DE SISTEMA Y COMPUTACIÓN 16 de Julio de 2004

Page 2: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1

0. INTRODUCCIÓN 3

1. MARCO TEÓRICO 6

1.1. INTRODUCCIÓN 6 1.1.1. CUALIDADES DE LA IMAGEN 7 1.2. ESTADO DEL ARTE 11 1.2.1. TEORÍA DE TRATAMIENTO, SEGMENTACIÓN Y ABSTRACCIÓN DE LA IMAGEN 12

2. PROPUESTA 15

2.1. RAZONES DEL PROYECTO 15 2.2. OBJETIVOS 15 2.3. METAS 16 2.4. DEFINICIONES 17 2.4.1. DATOS 17 2.4.2. PROCEDIMIENTOS 19 2.4.3. ANÁLISIS DE LAS DEFINICIONES 21 2.5. ALCANCE 22 2.6. MOTIVACIÓN 22 2.7. RESULTADOS ESPERADOS 22

3. RESOLUCIÓN DE LA APLICACIÓN 23

3.1. DATOS DE ENTRADA 23 3.1.1. REQUISITOS 23 3.1.2. TRANSFORMACIÓN DE DATOS 23 3.2. ANÁLISIS DE OPERACIONES (CASOS DE USO) 24 3.2.1. FASE I. AGREGAR IMAGEN 24 3.2.2. FASE II. BÚSQUEDA IMAGEN 24 3.2.3. FASE III. MODIFICAR CONJUNTOS DE AGRUPAMIENTO 24 3.3. APLICACIÓN 25 3.4. MODULO TRATAMIENTO Y ABSTRACCIÓN DE LA IMAGEN 26 3.5. SISTEMA DE ALMACENAMIENTO DE INFORMACIÓN 29 3.6. ESTRUCTURA NIVELES 30 3.6.1. NIVEL 0: REGISTROS ALMACÉN DE IMÁGENES 30 3.6.2. NIVEL 1: (ENLACE CON NIVEL 0) 30 3.6.3. NIVEL 1 EXTENDIDO 30 3.6.4. NIVEL 2: (AGRUPAMIENTO INTERVALOS COMPUESTOS - EXTENSIÓN DE NIVEL 1) 31 3.6.5. NIVEL 3: (AGRUPAMIENTO CARACTERÍSTICAS DE REGIONES) 31 3.6.6. NIVEL 4: (AGRUPACIÓN DE IMÁGENES POR CARACTERÍSTICAS) 31 3.6.7. NIVEL 5: (AGRUPACIÓN FUERTE DE IMÁGENES) 31 3.7. ALMACENAMIENTO DE AGRUPAMIENTOS (ENLACE ENTRE NIVELES) 32 3.7.1. NIVEL 1: (ENLACE CON NIVEL 0) 32 3.7.2. NIVEL 2: (EXTENSIÓN DEL NIVEL 1) 35

Page 3: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

2

3.7.3. NIVEL 3: (AGRUPACIÓN DE REGIONES POR CARACTERÍSTICAS) 37 3.7.4. NIVEL 4: (AGRUPACIÓN DE IMÁGENES POR CARACTERÍSTICAS) 38 3.7.5. NIVEL 5: (AGRUPACIÓN DE IMÁGENES POR CARACTERÍSTICAS Y REGIONES) 38 3.8. NOTAS SOBRE IMPLEMENTACIÓN 41

4. ANÁLISIS DE LA METODOLOGÍA 42

5. RESULTADOS OBTENIDOS Y CONCLUSIONES 43

6. TRABAJO FUTURO 46

7. ANEXO A: MANUAL DEL USUARIO ¡ERROR! MARCADOR NO DEFINIDO.

7.1. INSTALACIÓN: ¡ERROR! MARCADOR NO DEFINIDO. 7.2. MANEJO: ¡ERROR! MARCADOR NO DEFINIDO.

8. REFERENCIAS 9

Page 4: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

0. Introducción En la actualidad con la popularización de las multimedia y el Internet se han creado variados tipos de sistemas de información, y con ellos el interés de acceder sus bodegas de datos con la finalidad de encontrar datos objetivos que permitan definir y predecir comportamientos, tales objetivos no son posibles extraerlos sin la aplicación de técnicas complejas de análisis de datos. En el caso particular del análisis de imágenes, el modelo más simple para la clasificación de datos son los descriptores textuales ingresados manualmente. Tal modelo no requiere de algoritmos de ningún tipo para analizar los datos pero dicha información con cuenta con garantías de ser verdadera. La problemática a partir de este momento es solucionar la búsqueda y el acceso a las bodegas de imágenes utilizando métodos de análisis sobre los archivos para su clasificación. A demás de algoritmos complejos que extraigan la caracterización de los archivos es necesario un sistema de almacenamiento que clasifique y recuerde la información suministrada por los algoritmos y métodos de análisis. Cabe mencionar que la clasificación consiste en estructurar la información en lotes basándose en las diferencias y semejanzas, y cuanto más refinado sea su índice más caro será el costo de almacenamiento, pero disminuye el costo de la recuperación. Para analizar más ventajas y desventajas en el sistema de clasificación es necesario conocer ciertos aspectos del problema tratado.

• Casos de uso: identificación de usuarios y necesidades. • Obtención de datos: procedimientos en la adquisición. • Tipo de almacenamiento. • Métodos de clasificación. • Métodos para el desarrollo de las búsquedas, recuperación de información. • Interpretación de los datos: estructura de los datos que puedan ser en

información comprensible. • Optimización del sistema de almacenamiento: ya sean métodos manuales o

automáticos, hay que definir pautas para mantener la información útil y desechar la obsoleta.

Estos aspectos son necesarios para definir el modelo de conocimiento que tiene el sistema, este trabajo presenta un sistema de clasificación con algoritmos no supervisados basado en conceptos de lenguaje y semántica que obtienen la relación guardada entre los datos indexados y la información de las imágenes.

Page 5: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Esto crea interés en de crear semánticas1 que realicen una clasificación de los registros a partir de la información base, de este modo se facilita el almacenamiento y la recuperación de los análisis de la información. Con dichos conceptos el sistema encuentra y sugiere el modelo de particionar el mundo; esto significa que el modelo de clasificación es generado por la información misma, implicando que la abstracción de una imagen se construye y se guarda en la memoria. Y para validar y parametrizar el modelo no para generarlo, se usan métodos estadísticos. Dicho modelo se estudia en la minería de datos donde se integran métodos de aprendizaje y estadística para obtener hipótesis de patrones y modelos. Particularmente la minería estudia dos diferentes enfoques al problema; normalmente se utilizan algoritmos supervisados o predictivos como las redes neuronales, por lo general se logran buenos resultados mediante esta técnica fundamentada en el aprendizaje y es excelente trabajando con familias de imágenes con características muy concretas. Por otro lado se plantean métodos no supervisados como el descubrimiento del conocimiento a partir de la base de datos “Knowledge Discovery from Databases: proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y en ultima instancia comprensibles a partir de los datos”2. La diferencia entre ambos se encuentra en que este último se descubre información sin necesidad de formular previamente una hipótesis. El KDD es la integración de diferentes disciplinas como estadística, sistemas de información/bases de datos, aprendizaje automático/IA, visualización de datos e interfaz de lenguaje natural a base de datos. Aplicado al caso particular de la clasificación de imágenes este sistema es suficientemente flexible para que se puedan incorporar nuevos algoritmos de extracción de características, permitiendo definir nuevos tipos de características y nuevas agrupaciones/particiones de datos. La aplicación de los métodos de aprendizaje tiene gran importancia en la actualidad, construyendo un extenso campo de investigación. Como se había dicho antes, la tarea del sistema de clasificación consiste en construir un modelo de relaciones entre el espacio de características y el conjunto 1 Sintaxis, semántica y contexto: La sintaxis es el conocimiento sobre la forma de un lenguaje. Las cadenas de palabras carecen de significado para nosotros si no las ordenamos en una estructura determinada por nuestro complejo conocimiento de la sintaxis de la oración, los tiempos y el significado de las palabras. Las definiciones y significados se facilitan gracias a los procesos cognoscitivos que colocan las palabras e imágenes en relaciones significativas entre sí y con la situación. Extraído de ref.[DIYC] 2 Definición KDD, extraído de ref.[DWD]

Page 6: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

de imágenes, de modo que se pueda reconocer a que agrupaciones corresponde cualquier imagen de entrada representada por uno o varios vectores característicos. Este documento resume el trabajo realizado para la tesis de clasificación de imágenes utilizando agrupaciones de características. Dado que existen muchas aplicaciones en el campo de reconocimiento de patrones, las cuales pueden clasificar automáticamente caracteres manuscritos, imágenes de cheques, imágenes médicas, caras, huellas dactilares, etc.

Dichas aplicaciones trabajan sobre teorías en el estudio de las imágenes y otras ramas como métodos estadísticos, métodos sintácticos, y las redes neuronales. Con estos conceptos se desarrollan módulos especializados en la adquisición de imágenes, la extracción de características y la toma de decisiones al realizar comparaciones de varias imágenes.

El trabajo presenta una aplicación que ha integrado algunos de estos conceptos en el reconocimiento de patrones, dando prioridad en el estudio de almacenamiento de la información para reducir los espacios de búsqueda que es en realidad uno de los principales problemas de eficiencia en las aplicaciones realizadas hasta el momento. El documento se divide en 4 partes esenciales, una es introductoria a las herramientas comúnmente utilizadas para solucionar problemas relevantes a las imágenes, luego una descripción del modelo utilizado para desarrollar una solución a un problema particular, seguido del capítulo sobre el modo de implementación de la solución planteado, y finalizando con un análisis de los resultados y problemas encontrados durante el proceso a manera de conclusiones.

Page 7: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1. Propuesta

1.1. Razones del proyecto

Desarrollar un sistema de búsqueda eficaz para grandes volúmenes de información en el campo de las imágenes, ya sea por descripciones del usuario o por características proporcionadas por las mismas imágenes sin intervención de ningún usuario. Se pretende mediante las teorías de procesamiento de imágenes y metodologías en la interpretación de la información, crear un sistema que emule la toma de decisiones en la categorización de las imágenes.

1.2. Objetivos

Lo que este sistema pretende es realizar las mismas tareas de un buscador de Imágenes pero obviando la intervención humana en lo posible. Para ello se disponen de varias teorías y metodologías para la manipulación de imágenes, sus propiedades y su forma de almacenamiento, como antes se ha dicho. Por tanto, el objetivo principal es dada una imagen por el usuario escoger los patrones con menor varianza de error entre dicha imagen y los almacenadas; y luego obtener las imágenes con los patrones identificados por el sistema mostrándolas al usuario. Normalmente las búsquedas de imágenes se realizan una a una, buscando la imagen mas similar hasta encontrarla, o mirando todas las imágenes almacenadas y descartar las imágenes que no nos sirven, en esta tesis proponemos codificar de cierto modo la imagen, es decir, extraer características de cada imagen para que pertenezca a un grupo selecto más reducido de imágenes. Mejor dicho, con una extracción simple de características, obtener de todo el almacén de imágenes la mejor selección de imágenes. Para cumplir este objetivo, nos debemos preocupar de tres aspectos; primero, cómo extraer las características de una imagen y cuales son las más apropiadas para lograr mejores agrupaciones, en este punto también debemos tener en cuenta como realizamos el tratamiento de la imagen. Segundo, que tipo de agrupación vamos a manejar, es decir, debemos hallar la forma de cómo especificar grupos que contengan los accesos a las imágenes, su relación como las demás en el mundo, y los tiempos de búsqueda sean los mejores. Tercero, buscar optimizar las anteriores

Page 8: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

agrupaciones, es decir, dado que la anterior estructura almacena las imágenes, ahora nos debemos preocupar de la repartición en el espectro de estas (tamaño y distancias de las agrupaciones) y decidir que grupos son los que deben ser destruidos y cuales permanecer. El punto fundamental de la tesis es el segundo que se analizara a fondo y se realizaran pruebas sobre este. El primer punto, se va a tomar de una forma básica, no muy compleja que permita analizar características muy particulares, pero no muy complejas, mejor dicho, se va a trabajar en un principio con un grupo muy particular y reducido de imágenes (figuras geométricas sobre un fondo uniforme). El tercer punto lo desarrollaremos después de realizar las pruebas del segundo punto, es decir, no vamos a profundizar en la complejidad de este punto, pero las conclusiones de esta tesis determinan cual es el modo de optimización del sistema, por tanto esta tarea seguirá siendo aún ejecutada por el usuario, pero las conclusiones darán pautas para realizar dicha tarea.

1.3. Metas

Lograr una integración plena entre las teorías de imágenes, bases de datos y redes neuronales; con el fin de obtener efectividad en la aplicación. Escoger las características ideales que representen a los elementos de las diferentes imágenes y los distingan de otros elementos con los cuales no concuerden en la realidad. Por el lado del desarrollo de búsqueda es preferible encontrar y entrenar adecuadamente una red neuronal o alguna de sus variantes para descartar rápidamente elementos del campo de búsqueda de la aplicación. Encontrar un punto entre la disminución del almacenamiento de información y la efectividad de las búsquedas.

Page 9: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.4. Definiciones

Las definiciones a continuación señalan una breve introducción al funcionamiento de procesos y la interacción entre las diferentes variables del sistema. Los datos son la información con que cuenta la aplicación para desarrollar las búsquedas y demás casos de uso del sistema.

1.4.1. Datos

• Fuente ->Imágenes Este se refiere a las imágenes en bruto, en el sistema almacenaremos las imágenes en una estructura de carpetas, mientras la base de datos almacena la ruta para su posterior acceso. Toda la información que puede suministrar cada imagen independientemente de las demás, serán denominados “Detalles”, cada Detalle tiene una “Región” y un “Tipo”. Decimos que cada imagen tiene distintas aglomeraciones de puntos, donde en cada una de ellas los puntos tienen en común cierto tipo de características. A cada uno de estos conjuntos de puntos se les ha llamado “Región”. Por tanto, cada imagen tiene un grupo de regiones, y cada región esta definida por características que la identifican.

• Constantes -> Tipos Cada detalle de la información suministrada por las imágenes es representado por un valor en el espectro o intervalo de un tipo correspondiente. Es decir, cada característica de de una región es cuantificada según su tipo y valor.

Agrupaciones

Imágenes Tipos

Page 10: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

El tipo esta representado por intervalos disyuntos que simbolizan el conjunto de regiones que es también disyunto a los demás. Es decir, cada imagen esta en el conjunto de un solo intervalo de dicho tipo.

• Variables -> Agrupaciones Un primer agrupamiento se da dentro del mismo tipo al tener en cuenta que cada intervalo es un agrupamiento de valores o puntos.

Cada agrupación de regiones ha sido definida como un conjunto de objetos (detalles o agrupaciones) que comparten similitudes entre sus vectores característicos (V.C.). Vector característico se refiere al conjunto de llaves (tipo, valor) que representan a la región. Existen tres clases de agrupaciones.

a) Primal: existe un tipo Xi del V.C. en la que todos los objetos de dicha clase tiene un error de diferencia ε entre el tipo mencionado Xi y la media que caracteriza la clase χ. (Ej. Elementos rojos). Invariante a la clase es que dos clases no se interceptan.

b) Abstracta: conjunto de clases primales, técnicamente se refiere a un solo

objeto. Se supone que diferentes propiedades constan de una configuración que identifica un objeto. (Ej. Arbustos o lagos o cultivos). Invariante a la clase será que 2 clases no son iguales y no tiene más de una clase primal con una misma propiedad.

c) Asociativa: conjunto de clases primales o abstractas que identifican las

combinaciones de elementos más frecuentes en las imágenes. (Ej. agua y bosque). Invariante, un objeto contenido en la clase debe pertenecer a una imagen en donde las subclases deben contener un objeto de dicha imagen. Es más puede incorporarse un indicador donde se haga referencia a una biyección (e.d. la imagen tiene todas las subclases y todas las subclases tiene un objeto de la imagen)

tipo

Imágenes

Page 11: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.4.2. Procedimientos

Existen operaciones básicas sobre las clases como lo son búsqueda, inserción y división de patrón.

a) Buscar objetos similares a partir de un objeto, es decir, por cada propiedad

de un vector característico buscamos la clase primal a dicha propiedad; luego con el vector de las clases primales a las que pertenece el objeto, buscamos que clases abstractas contienen objetos con la mayor concordancia de estas clases, y desarrollamos la misma búsqueda sobre las clases asociadas. Por ultimo teniendo las clases se genera un listado de las imágenes en donde se ha logrado concordancia.

b) Insertar objeto en el sistema. Es más fácil que la búsqueda, ya que solo es buscar e insertar el objeto en las clases primales donde exista concordancia.

c) Eliminar un objeto; al eliminar una imagen del sistema, el ideal es que este

vuelva al estado cuando aun no se había adicionado la imagen; se ha resuelto en cambio, eliminar los objetos que pertenezcan a dicha imagen, y luego con un procedimiento automático del sistema, buscar y eliminar las clases vacías si es el caso. Este método se supone será usado muy poco y solo en caso de error por parte del usuario.

d) Inserción o División de un patrón, es el método que crea uno o dos

patrones a partir de un patrón. Al crecer la galería de imágenes del sistema implica generar una mayor diversidad de categorías, y ya que las categorías son las clases en nuestra aplicación, deben existir métodos que decidan si una clase tiene poder de discretizar o si la unión con otra clase genera un poder mayor. Supongamos existe una clase lo suficientemente grande en su numero de objetos contenidos para ser candidata a división, lo que realmente queremos es dividir en subconjuntos los elementos que esta clase contiene, existen 3 posibilidades:

La clase candidata es primal, para lo cual debemos dividir el

espectro, o en otras palabras, el método debe segmentar el intervalo de acción de clase en sub-segmentos disyuntos en donde se concentren los objetos y para mantener las invariantes del sistema la clase original debe ser eliminada; como el objetos sabe a que clases pertenece, entonces no hay problema en la actualización de los agregados.

La clase candidata es abstracta, para disminuir la cantidad de

objetos en esta clase, debemos añadir otra clase primal cuya

Page 12: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

propiedad todavía no tenga presencia dentro de la clase y crear tantas clases como clases primales existen con esa propiedad y posteriormente eliminar las vacías, la clase madre puede seguir existiendo sin ningún problema.

Por ultimo las clases tipo asociación vinculan a los objetos, los

patrones y a las imágenes, mejor explicado sería si dijéramos que la imagen compuesta por varios objetos (agua-hierva-nieve) pertenece a la clase (agua hierva), se tiene que por cada subclase corresponde un objeto en la imagen, si la imagen no tuviera los objetos de las clase (agua), entonces no pertenecería a la clase (por no contener hierva). Partiendo de este hecho, se deben buscar objetos que separen en subconjuntos (en el mejor de los casos disyuntos, pero si de menor tamaño) a la clase, así crear nuevas clases incorporando la mejor clase del objeto escogido (el objeto pertenece a varias clases). La clase madre puede seguir existiendo, para no volver a separarla, se le puede colocar un indicador (lo mismo se puede hacer en la posibilidad b.).

Primera etapa: división de agrupaciones

tipo color R

0 255

0 255

0 255

0 255

0 255

0 255

0 255

Antes de adicionar imágenes

Después de adicionar imágenes (puntos)

Intervalos esperados al final del procedimiento

Intervalos extendidos Intervalos Originales

Intervalos extendidos creados por agrupación en segunda etapa

Intervalos Originales

Intervalos Originales

Intervalos Originales

Intervalos activos Intervalos inactivos

Fig. Ejemplo de segmentación de intervalos

Page 13: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

e) Eliminación o unión de clases. Es un método derivado del anterior, ya que

requiere al decidir eliminar una clase debemos actualizar los objetos; otra razón para utilizar este método es cuando los conjuntos son muy pequeños respecto al tamaño de la cantidad de los datos, lo cual disminuye la eficiencia de las búsquedas.

1.4.3. Análisis de las definiciones

Debilidades de la estructura amenazan la integridad y la confiabilidad del sistema; ya que cada vez el sistema se vuelve mas grande y mas complejo, las búsquedas se demoran más, encontrar patrones que deban ser eliminados así como un patrón que deba ser dividido, hacer por decirlo así que el sistema este vivo y necesariamente obliguen a la creación de métodos accionados por el mismo sistema para mejorar la respuesta a las solicitados del usuario.

Page 14: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.5. Alcance Trabajar con un grupo específico de imágenes (imágenes con figuras geométricas), y lograr que mediante un autogeneramiento de patrones identificar las familias que los contienen, formando así grupos o categorías de imágenes, seleccionadas por su cualidad principal (clasificadores). El objetivo real es cambiar las imágenes por algo mas complicado como las imágenes geográficas y trabajar con sus texturas. Estos clasificadores están dados por patrones o métodos de decisión.

1.6. Motivación

Al ver los avances desarrollados por los motores de bases de datos multimedia, veo la posibilidad de utilizar algunos de los algoritmos para resolver las búsquedas por contenido a nivel de textos, y extenderlos a nivel de imágenes; y complementarlos con teorías en imágenes, implementadas con muy poco éxito, pero realmente interesantes.

1.7. Resultados esperados

En principio se calificaran los objetivos propuestos, y algunos puntos específicos

Analizar si las agrupaciones generadas por la aplicación son semejantes a

las generadas manualmente con los mismos grupos de imágenes. Se espera como resultado de los análisis identificar normas que determinen

que imágenes deben ingresar al sistema; pues suponemos que dependiendo de la adquisición de los datos pueden haber errores en los agrupamientos.

Page 15: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1. Resolución de la aplicación

1.1. Datos de entrada

1.1.1. Requisitos Imagen BMP con fondo de un solo color, objetos no conexos y no se utilice el color de fondo dentro de las regiones reconocidas.

fig 1. Ejemplo Imagen Valida

1.1.2. Transformación de datos

La imagen se convierte en una lista donde cada ítem representa una región, cada región contiene una lista de características y cada ítem de esta lista tiene un tipo de característica y un valor. Esta lista se convierte para nosotros en los datos de entrada para poder organizar una clasificación que a continuación definiremos.

valores característicos

Región 1

Región 2

Región 3

tipo 1 tipo 2

tipo 3 tipo n ……………… Imagen

detalles

fig 2. Estructura lista características

Page 16: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.2. Análisis de operaciones (casos de uso)

1.2.1. Fase I. Agregar imagen

Almacenar todos los datos correctamente Resultados esperados Listado de grupos a los cuales fue adicionado, para poder estimar luego con esta información el comportamiento de crecimiento del sistema.

1.2.2. Fase II. Búsqueda imagen

Se buscan las imágenes con mayor grado de similitud, la similitud es mayor si el nivel de agrupación es mayor. Resultados esperados

Encontrar los niveles en los cuales se podría adicionar. Listar los nombres de las imágenes que pertenecen a dichos niveles por

orden decreciente de similitud.

1.2.3. Fase III. Modificar conjuntos de agrupamiento

Aquí surgen tres preguntas para el manejo de la estructura de niveles. De que ¿? ¿que contiene cada nivel?, ¿que estructura debe tener cada

agrupación? Es necesario para saber con que datos iniciales contamos para poder desarrollar las búsquedas y las adiciones de imágenes al sistema.

Como ¿? ¿Qué procedimiento vamos a utilizar para crear un nuevo conjunto? ¿o como vamos a desarrollar una búsqueda?

Cuando ¿? ¿Cuándo se debe ejecutar una operación de nivel (crear, borrar conjuntos en un nivel)?

Dichas preguntas se solucionar a continuación.

Page 17: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.3. Aplicación

El diseño del sistema consta de 3 capas:

Capa de aplicación - interfaz de la aplicación ante el usuario. Capa de módulos - realizan los requerimientos del sistema sobre los

tipos del mismo. Capa de tipos - estructura de almacenaje y relaciones entre la

información.

La capa de módulos tiene a su vez 3 módulos, uno especializado en el manejo del tratamiento de las imágenes; una segunda, para el manejo de las búsquedas; y finalmente, un módulo que acceda a la información almacenada en base de datos.

El modulo de tratamiento y abstracción de la imagen realiza la

segmentación y la extracción de las características de la imagen entrante, los algoritmos usados se encuentran al la librería de algoritmos.

El modulo de acceso de imágenes es el que permite cargar una imagen en el sistema para permitir la visualización.

El modulo de control de almacenamiento, realiza las operaciones (*) sobre la estructura de almacenamiento.

(*) Agregar, buscar imagen; modificar agrupaciones

Interfaz Aplicación

Modulo Tratamiento y

Abstracción de la imagen

Modulo Acceso Imagen

Modulo Control Almacenamiento

Estructura Agrupamiento

Galería Imágenes

Librería algoritmos

segmentación y abstracción

fig 3. Diseño del sistema

Page 18: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.4. Modulo tratamiento y abstracción de la imagen

El proceso de tratamiento y abstracción comienza con la mejora o restauración de la imagen, seguido de la etapa de segmentación la cual divide a la imagen en regiones. Por ultimo se visualiza la segmentación y de cada región se extraen una serie de parámetros o características necesarias para realizar la clasificación. En la umbralización se define que umbral debe ser utilizado en la segmentación para diferenciar los píxeles del fondo, y los calcula basado en el histograma generado en el preprocesado de la imagen.

Objetivos: Dada una imagen digital, encontrar la partición adecuada que señale regiones homogéneas1 y sus fronteras. El resultado luego del proceso es la abstracción de la imagen, es decir, tomar medidas de las regiones y empaquetarlas en una estructura de datos.

1 Cada región homogénea representa un objeto de la realidad proyectado en la imagen, y éste es independiente de las demás regiones.

Eliminación de ruido

Preprocesamiento

Segmentación Umbralización

Visualización Extracción de características

Clasificación y análisis

fig 4. Proceso abstracción de la imagen

Page 19: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Dificultades: Reconocimiento de texturas, pues la textura es una característica de un conjunto no homogéneo y en complicado su reconocimiento. El volumen de los objetos varía dependiendo del punto de observación con que se captura la imagen. La forma y bordes en una imagen no son bien definidos y son difíciles de segmentar debido a problemas de continuidad de los bordes y la oclusión de los objetos principalmente. El ruido por problema de adquisición lo podemos encontrar en la imagen y por consiguiente la abstracción contendrá errores. La iluminación no siempre es uniforme, en estos casos esta característica no sirve para diferenciar regiones. Interacción del usuario: Este modulo empieza cuando el usuario desea agregar o buscar una imagen en el sistema, primero se carga la imagen en la aplicación y se ejecuta la segmentación, luego de un tratamiento manual de la imagen. El sistema realiza la segmentación y el usuario la aprueba decidiendo si acepta continuar al paso de clasificación y búsqueda. Preprocesamiento: La imágenes agregadas al sistema tienen la propiedad de tener un fondo en un solo color, así que se implemento un algoritmo que basado en el histograma de la imagen haya el umbral o mejor dicho el color del fondo con el cual podemos distinguir todas las regiones. Estrategia de segmentación: Método basado en regiones: buscamos regiones homogéneas en cuanto a intensidad, textura, etc. Definimos el umbral para diferencias el fondo y recorremos cada píxel de la imagen hasta encontrar uno que se encuentre sobre el umbral, el cual no

tipo tamaño0 200x200

fig 5. Representación de una característica

Page 20: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

debe pertenecer al fondo, de allí se adicionan recursivamente a la región los píxeles vecinos que cumplan la condición de no pertenecer al fondo y guardar homogeneidad en las características de la región. Así se recorren todos los píxeles hasta que todos ellos hayan sido analizados generando así una imagen etiquetada. Las condiciones de homogeneidad se definen como el umbral para cada característica. Contras: Es un algoritmo muy simple que tendría complicaciones con la oclusión entre objetos y objetos compuestos (objetos dentro de objetos), donde en una región conexa es imposible definir por el algoritmo un umbral que lo distinga. Visualización segmentación: Se imprime en pantalla una imagen binaria con el fondo en blanco y las regiones en negro, la idea original era imprimir cada región con color diferente, pero esto no implica diferencia en el proceso de clasificación o en las decisiones del usuario referente a la segmentación. Características extraídas: Color promedio: el la media de color de los píxeles contenidos en la región. Tamaño: numero de píxeles que componen la región. Posición: centro de masa (x, y) de la región dentro de la imagen.

Page 21: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.5. Sistema de almacenamiento de información

Este modulo es la razón del proyecto, ya que es la parte encargada de crear las relaciones entre la información de las imágenes y por tanto tiene la tarea de clasificarlas.

Datos de entrada Se almacena la información completa sobre la imagen, las regiones que contiene y las características de dichas regiones (se crean índices sobre atributos Imagen y característica).

fig 6. Diagrama entidad relación almacén de imágenes

Page 22: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.6. Estructura niveles

1.6.1. Nivel 0: registros almacén de Imágenes

Ningún agrupamiento de datos, los registros se encuentran tal como se ingresaron en la inserción de la lista de las regiones de la imagen.

1.6.2. Nivel 1: (enlace con nivel 0)

Nivel 1: agrupamiento de intervalos Los registros del nivel anterior son agrupados por un tipo y por un intervalo de valores.

1.6.3. Nivel 1 extendido

Son los intervalos compuestos de intervalos de nivel 1, es decir, es la unión de intervalos conexos del mismo tipo.

Para lograr manejar este concepto se ha adicionado una cualidad adicional a cada intervalo, los intervalos que están activos son donde se realizan las búsquedas, los inactivos son posibles candidatos a ser eliminados. Los intervalos activos no se intersectan entre ellos mismos.

0 255

0 255

0 255

Page 23: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.6.4. Nivel 2: (agrupamiento intervalos compuestos - extensión de nivel 1)

Nivel 2: agrupamiento intervalos compuestos Se conforman grupos a partir de la unión de las restricciones de grupos del nivel1, los grupos seleccionados deben formar una llave completa para un tipo compuesto (Ej. El tipo posición esta compuesto por los tipos posición X y posición Y). Cada registro del nivel 2 siguen siendo característica de una región de la imagen al igual que el nivel 1, pero esta definición cambia para los niveles superiores.

1.6.5. Nivel 3: (agrupamiento características de regiones)

Un registro del nivel 3 representa el conjunto de las regiones que tienen en común pertenecer a los niveles 1 y 2 que conforman este registro en nivel 3. Por ejemplo supongamos el nivel 3 tiene un registro que tiene las restricciones: tamaño 30 (nivel1) y posición (1,2) (nivel2), por tanto este registro debe agrupar todas las regiones de todas las imágenes en el sistema que tengan tamaño 30 y posición (1,2); la región con tamaño 30 y posición (2,2) no pertenece a este grupo.

1.6.6. Nivel 4: (agrupación de imágenes por características)

Es muy similar al nivel 3, con una pequeña modificación. Una imagen pertenece a un conjunto del nivel 4 si tiene todas las características nombradas (del nivel 1 y 2) del conjunto sin importar si son de la misma región. Por eso nivel 3 ya no lo podemos ver como característica pues los elementos contenidos en cada conjunto de nivel 3 son regiones mientras que en el nivel 4 son imágenes.

1.6.7. Nivel 5: (agrupación fuerte de imágenes)

Cada conjunto en este nivel se forma con grupos de los niveles 4 y 5. Cada imagen dentro del conjunto debe cumplir con las restricciones de los niveles 4 y Cada imagen debe contener una región con las restricciones de cada nivel 5. Más adelante vamos a ver ejemplos y explicaciones mas claras del funcionamiento de este nivel.

Page 24: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.7. Almacenamiento de agrupamientos (Enlace entre niveles)

Partamos del hecho que ya esta almacenado en base de datos los registro de las características de las imágenes, es decir, ya tenemos almacenados el nivel 0. Basado en el diagrama de niveles (fig.5), para cada nivel se debe hallar la forma de cómo controlar su comportamiento y su crecimiento. Pero lo que en realidad busca este proyecto son las imágenes por tanto lo mas importante de cada nivel es la información que contienen sobre como están relacionadas las imágenes o fotografías.

1.7.1. Nivel 1: (enlace con nivel 0)

En nivel 0 cada registro contiene la imagen, la región a que pertenece, además de un tipo y valor; a eso llamémoslo como un detalle de la región de una imagen. Ahora bien, el fin del nivel 1 es agrupar estos detalles, esto lo haremos creando conjunto que contenga los detalles que son iguales en tipo y están en un intervalo común. Nota: ninguna intersección de los detalles que cualesquiera dos conjuntos activos es diferente al vacío. Ya veremos que es un conjunto activo.

Inserción de un detalle (asimilación del nivel 1 por este suceso)

fig 7. Registro nivel 1

En la figura anterior podemos ver que cada conjunto tiene un identificador que lo diferencia de cualquier conjunto de cualquier nivel; vemos un tipo, este no es un tipo compuesto (es decir, es un tipo de una sola dimensión y se puede representar mediante una línea recta); los siguientes dos campos representan el inicio del segmento “[” (cerrado) y el final del segmento “)”

id Inicio_seg fin_seg tipo estado Lista_detalles

Referencias a regiones de imágenes

Page 25: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

(abierto), de tal forma que la unión de todos los segmento forman todo el espectro. El penúltimo campo es el estado del conjunto indica si esta activo o no, se vio la necesidad de adicionarlo por que la forma de creación de los conjunto es este nivel después de un tiempo genera basura, ya veremos porqué. Por último esta el campo de la lista de detalles que contiene el conjunto, dicha lista tiene códigos de los detalles.

Crear conjunto nivel 1:

A partir de un detalle: Puede darse el caso que cuando se ha ingresado un detalle este no pertenezca a ningún conjunto del nivel 1, en tal caso se debe crear un nuevo conjunto que no se intersectar con los demás segmentos. La restricción para la creación de los conjuntos es que dos conjuntos no intersecten entre si. (Restricción nivel 1)

A partir de un conjunto ψ del nivel 1: Supongamos en conjunto ψ a crecido bastante, es necesario crear subconjuntos más pequeños.

fig 8. Registro nivel 1 extendido

fig 9. Ejemplo creación nivel extendido

A primera vista no se necesita en nivel extendido (cambiar “a” por “d”), pero surge el problema de actualizar en los niveles superiores este cambio, ello plantea esta solución, crear “b”, “c”, “d” y borrar “a”. Y por esto la

id id α id β tipo estado lista_niveles 1

Referencias a los niveles 1

a:

b:

c:

d:

id Fin_seg tipo lista_detalles estad

id Inic_seg Fin_seg tipo lista_detalles estad

id Inic_seg Fin_seg tipo lista_detalles estad

id id α id β tipo lista_niveles1

estad

Inic_seg

[ a , b ]

Representación de la lista según conjunto ψ

Page 26: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

importancia del estado activo/inactivo, “b” y “c” quedan activos y “d” inactivo. Cuando el sistema se vea lleno de conjuntos inactivos, este ejecuta el optimizador que se encarga de borrar los “d” y actualizar los niveles superiores. Descripción “b” y “c”: no hay diferencia de estructura con “a”, solo la relación de sus valores de inicio y fin de segmento. Inic_seg “a” es igual al Inic_seg “b” y Fin_seg “a” es igual al Fin_seg “c”; también Fin_seg “b” es igual al Inic_seg “c”, este punto es definido como el optimo de la partición de “a”. La lista de detalles de “a” es repartida entre “b” y “c” cumpliendo la restricción de intervalo. Descripción “d”: primero esta su código y su tipo, su estado es inactivo; ya no tiene una lista de detalles sino una lista de conjunto de nivel 1 en este caso la lista [“a”, “b”], más o menos de esta forma funciona el nivel 2. La nueva restricción (Restricción expansión nivel1) para “d” será que los conjuntos con segmentos que están entre Inic_seg “a” e Inic_seg “b” son contenidos por “d”; y todos estos segmentos unidos formaban “a”. Supongamos que dos niveles extendidos tengan una intersección si alguno tiene el estado inactivo no hay problema alguno, pero si los dos tienen estado activo, entonces hay un error de consistencia de información.

A partir de los conjuntos ζ y ω del nivel 1: Estos dos conjuntos no pueden ser extendidos, ni tampoco deben tener otro conjunto ψ entre ellos, es decir, están unidos o los une un segmento vacío que aun no existe como conjunto de nivel 1. También tenemos que estar seguros que los estados de los conjuntos ζ y ω son activos

fig 10. Crear registro extendido a partir de dos conjuntos conexos

Como “a” y “b” no se pueden borrar por ser referencia de niveles superiores, necesitamos crear un conjunto “c” como unión de los conjuntos “a” y “b”. Y la lista de conjuntos nivel 1 de “c” es en este caso [“a”, “b”]. Los estados de “a” y “b” pasan a ser inactivos, mientras que el de “c” será activo. Para este nivel se debe mantener que (Restricción nivel 1) y (Restricción expansión nivel1)

a:

b:

c:

id Inic_seg Fin_seg tipo

lista_detalles estado

id Inic_seg Fin_seg tipo

lista_detalles estado

id id ω id ζ tipo estado [ a , b ]

Representación de la lista

conjunto ζ

conjunto ω

lista_niveles1

Page 27: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Estructura de la lista de detalles La utilidad de la estructura que vamos a ver a continuación se aclarará a partir del funcionamiento de los niveles 3, 4 y 5. Por ahora solo definiremos su estructura.

Se tiene lista de detalles anidadas por al código de la imagen a que pertenecen. Esta forma da la facilidad de hacer intersecciones para detalles como para imágenes.

1.7.2. Nivel 2: (extensión del nivel 1)

Los conjuntos se parecen en su estructura al extendido nivel 1, pero su representación es distinta en varios aspectos. Representación de un conjunto en el nivel 2 El tipo ya no representa una característica de una sola dimensión, si no que es la composición de varias dimensiones que forman un tipo compuesto, supongamos tenemos la siguiente tabla.

Tipo compuesto

Tipo simple

Color Rojo Verde Azul

Posición Posición X Posición Y

id lista α lista β

Referencias a los niveles β

Referencias a los nivel α

fig 11. Estructura registro niveles superiores

Page 28: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

El registro del conjunto se estructurara de la siguiente forma.

fig 12. registro nivel 2

En el registro se identifica el código único del conjunto entre todos los niveles, un tipo que es el tipo compuesto que representa y una lista o llave de conjuntos de nivel 1 (sin importar si son extendidos o no). La llave debe estar completa, es decir, si el tipo el posición debe entonces tener un solo conjunto posición X y un solo conjunto posición Y, ningún otro conjunto más. Es este nivel el estado indica si es el optimo y solo lo utilizamos como otro mecanismo de clasificación. Creación conjunto nivel 2:

Crear м partir de los conjuntos ζ y ω del nivel 1: Primero se deben comprobar las restricciones, es decir, ζ y ω deben ser una llave conjunta completa del tipo del conjunto м, y estado ζ y estado ω son activos; en este caso la lista de conjunto nivel 1 es [“ζ”, “ω”]. Recordemos que la parte de crear pertenece al modulo de optimización del sistema, que es diferente a la de modulo de almacenamiento. Pero tenemos que saber que vamos a crear para poner almacenarlo. La única restricción que pide este nivel es que el tipo con la llave no la tenga otro conjunto de N2. Falta por resolver como en conjunto de N2 puede conocer que imágenes o regiones de imágenes cumplen con sus requisitos; bueno, la solución que plantea esta aplicación es realizar operaciones sobre listas. Como son bastante parecidas las operaciones de listas entre los diferentes niveles, se le ha dado una sección completa más adelante.

id lista α tipo estado

Referencias a los nivel 1

Page 29: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.7.3. Nivel 3: (agrupación de regiones por características)

A este nivel el atributo de tipo y estado ya no son útiles, solo se mantiene el código único del conjunto y la llave de N1 y N2.

Creación conjunto nivel 3: Hay solo dos formas para crear un nuevo conjunto N3. Como restricción en este nivel, encontramos que en la llave de conjuntos no se puede repetir tipo, es decir, dos conjuntos del mismo tipo no pueden estar en la misma llave (Restricción nivel 3). Hay que tener cuidado con los N2, para superar esta complicación es mejor pasar todos los conjuntos a la lista de conjuntos básicos y comprobar la regla allí.

Como unión de N1 y N2

Podemos añadir que los niveles de la llave tienen que ser activos, aunque se podría obviar esta regla. La lista α representa los niveles 1, y la lista β a los niveles 2

Como decoración de otro Sea un conjunto N3 suficientemente grande, podemos buscar N2`s y N1`s que al adicionarlos a la llave anterior cree conjuntos N3 con una selección más reducidas de imágenes y regiones.

id lista α lista β

Referencias a los niveles β

Referencias a los nivel α

fig 13. registro nivel 3

Page 30: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.7.4. Nivel 4: (agrupación de imágenes por características)

Se comporta idéntico al nivel 3, solo cambia en dos aspectos: Obviar restricción nivel 3

Este nivel se preocupa de que la imagen contenga las características mencionadas, una imagen puede tener dos características del mismo tipo, pues nos estamos obviando a que región pertenece, en este nivel la región no importa.

Llave de conjuntos cambia de representación Como la región no importa, entonces la llave representaría a las características de la imagen, y seria un conjunto de imágenes, no regiones. Aquí se ve claramente porque se escogió la representación de listas dada anteriormente. Pues al hacer una operación entre listas, se tiene rápidamente sin consultar los detalles que imágenes pertenecen al conjunto de N4.

1.7.5. Nivel 5: (agrupación de imágenes por características y regiones)

Se puede ver como un N4 al que se le han agregado N3 para reducir el número de imágenes en el conjunto. Si ningún N4 nos sirve para empezar, podemos utilizar un N4 vacío, en este caso N5 seria la unión de simples N3. La creación normal de un N5 requiere solamente de un N4, pero con puede tener varios, como en el ejemplo de la figura.

id lista nivel 1

lista nivel 2

id lista nivel 1

lista nivel 2

id lista nivel 1

lista nivel 2 N4’

N4:

N3:

id n3 [n4, n4’] N5:fig 14. ejemplo crear registro nivel 5

Page 31: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Búsqueda de niveles 1,2,3,4,5 en que se encuentra el vector

característico de la imagen de entrada

Los resultados generados de la anterior búsqueda son: Niveles 1: a, b, c, d, e, f, g, h, i, j, k, l -> siempre deben existir Niveles 2: m, n, o, p -> por ejemplo puede darse el caso de no existir “p” Niveles 3: q, r -> debido a combinaciones de niveles 1 y 2 Niveles 4: s, t -> debido a combinaciones de niveles 1 y 2 Nivel 5: u -> debido a combinaciones de niveles 3 y 4

Page 32: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Búsqueda imágenes a partir de un nivel del resultado anterior Supongamos del ejemplo anterior queremos hallar las imágenes del nivel 5 resultante, lastimosamente “u” no tiene acceso directo a saber esta información, pero existe un método que nos puede ayudar.

LN1, LN2, LN3, LN4 y LN5 representan los listados de imágenes pertenecientes a las respectivas clases de N1, N2, N3, N4 y N5 La operación ∩r realiza una intersección entre las lista de entrada dando como resultado las región en común y sus respectivas imágenes. La operación ∩i realiza una intersección con las imágenes sin importar los valores de las regiones. Si se tienen más de una agrupación de N5, se utiliza la operación Ui para unir todos los resultados en una misma lista. Por último, si el usuario requiere la búsqueda hasta un nivel inferior a N5, el procedimiento a seguir es detener las intersecciones hasta el nivel deseado y luego utilizar la operación Ui.

Por ejemplo se quiere las imágenes resultantes hasta N3, entonces luego de obtener los LN3 se utiliza Ui para retornar la unión de las listas.

Page 33: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1.8. Notas sobre implementación

Lenguaje

Básicamente se esta trabajando sobre Python y sus librerías PIL, Numeric, PySqlite y WxPython, para el desarrollo del tratamiento de imágenes, crear agrupamientos, acceder la base de datos y elaborar la interfaz respectivamente. Se ha escogido este lenguaje por su facilidad para la manipulación de imágenes. También se ha escogido a Sqlite como el motor de base de datos por su tamaño realmente práctico y fácil de usar. Python es lenguaje interpretado por tanto el código puede ser utilizado sobre cualquier plataforma donde este instalado python; y Sqlite puede ser utilizado al instalar la librería PySqlite sobre python. Además son gratuitos.

Modelo de conocimiento

El modelo de conocimiento, es decir, la información y las relaciones de la información las genera el sistema por si mismo. En conclusión el modelo del sistema es la memoria del clasificador y es generado por la información misma, esto implica que una imagen abstracta se construye y se guarda en memoria. Si se mantiene la memoria estructurada, las búsquedas solo tienen que realizar la misma operación para arrogar buenos resultados, esto ayuda a la implementación ya que no son algoritmos genéticos como comúnmente se hace.

Page 34: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

0. Análisis de la metodología El modelo implementado en módulos y luego por capas, ha sido útil para la inserción de nuevos cambios al sistema para las necesidades encontradas durante el proceso. Los problemas en esta forma de implementación y modo de trabajo, genera una desventaja al momento de realizar las pruebas, ya que cada uno de los modulo no puede ser probado por separado y al momento de hallar los problemas no se puede enfocan en un solo modulo de la aplicación. Los diagramas de la aplicación han cambiado desde el primero que se propuso, a pesar de que estos cambios han generado volver a rehacer la aplicación se ha llegado a un modelo independiente entre sus partes. En la primera propuesta el diagrama entidad-relación de la base de datos almacenaba solo la información que utilizaban los procesos (búsquedas predefinidas poco flexibles), por tanto al crear un nuevo proceso el diseño de base de datos debía cambiar, este ultimo diseño almacena toda la información en detalle de todos los objetos, la preocupación es el tamaño de esta aunque se favorece en tiempo de implementación.

Page 35: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

1. Resultados obtenidos y Conclusiones Los resultados del sistema de clasificación son muy bueno, pues se han reconocido agrupaciones que a primera vista los usuarios no las habrían tenido en cuenta. Por otro lado el manejo que la aplicación hace de las agrupaciones en cuestión de almacenamiento no requiere modificaciones más se ve la necesidad de implementar un algoritmo que mejore las particiones que generan los tipos. La primera fase de segmentación requiere más trabajo, aunque es trabajo de búsqueda de nuevos algoritmos usados por otros investigadores. A pesar de eso la imagen binaria que se retorna para almacenar la abstracción de la imagen satisface en la mayoría de los casos al usuario, se escapan los casos que retornan entre los resultados algunas regiones generadas por la basura o ruido de la imagen, lo que implica se debe mejorar los algoritmos de eliminación y filtrado de ruido. El calcular los valores de los tipos para cada región mejora el tiempo de respuesta gracias a que estos son calculados mientras se realiza el etiquetamiento, este rendimiento puede ser afectado al adicionar características que requieran calcularse luego del etiquetamiento. En la etapa de clasificación, ya habíamos dicho que las agrupaciones generadas son mejor de lo esperado, pero aún la segmentación del espectro de los tipos son es el optimo. A continuación se analizarán mejor estos resultados mencionados. Calificación de características Se ha notado que en el nivel 1 y 2 de agrupamientos además de agrupar detalles se pueden calificar características. Específicamente en el tipo color se ha visto este caso. En el nivel 1 si los detalles están repartidos uniformemente sobre el espectro del tipo, se puede concluir que dicho tipo no es característico al grupo de imágenes estudiadas. Analizando el nivel 2 para tipo color no agrupa como esperaba el usuario. El modelo de color es RGB y la combinación de los tipos (tipo Rojo, tipo Verde, tipo Azul) eliminan un poco la uniformidad en el espectro mencionado anteriormente, pero tiende a no agrupar en un mismo conjunto a los colores blancos, por tanto una solución practica será eliminar esta caracteristica y utilizar otro modelo de color como lo es el HIS.

Page 36: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Limitación en identificación de intervalos Como se puede ver en la imagen, el modelo se limita al dividir el espacio en rectángulos generados por intervalos de cada uno de los tipos; el problema radica en que los tipos generan sus intervalos independientemente de los demás tipos.

Una posible solución es complementando el modelo. Podemos deducir que el modelo utilizado trabaja sobre las intersecciones entre los intervalos, por tanto crear intervalos en nivel 1 a partir de una agrupación de nivel 2 y luego trabajar con uniones de intervalos sería un bosquejo de una posible solución a este problema. Resultados de las búsquedas A pesar de estos problemas las agrupaciones que se crearon salieron mejor de lo que se esperaba, el algoritmo de ordenamiento de las imágenes resultantes adiciona un porcentaje de similitud, y obtuvimos en siguiente analisis. Los niveles 1 y 2 son suficientes para desarrollar las busquedas y arrojan los mismos resultados que los demas niveles. Este resultado no se esperaba, pero el tiempo de respuesta en los niveles 1 y 2 hace que sea más eficiente utilizar los niveles 3, 4 y 5 para las busquedas. Crecimiento de la base de datos Se esperaban problemas con el crecimiento de la BD debido a un excesivo número de instancias de niveles lo cuál no ocurrió. La BD crece a medida que se insertan detalles de imágenes, pero no al crear nuevas instancias de niveles. Los tiempos de búsqueda en hallar los niveles 1 crecen en proporción al tamaño de la base de datos, a diferencia de los niveles superiores en que estos tiempos permanecen casi constantes a pesar del crecimiento de los datos.

Tipo

B

12

14

Tipo A

Page 37: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Necesidad de procesos complejos de optimización El movimiento de las instancias de niveles no es el esperado, es decir, los niveles creados no son óptimos en la segmentación del espacio y además se generar muchos niveles basura especialmente en el nivel 1, lo cuál crea la necesitad de utilizar un algoritmo de optimización como una red neuronal para establecer que niveles deben ser borrados y cuales deben seguir existiendo. No creo que se necesite algo tan complicado como una red neuronal, pero es una primera propuesta.

Page 38: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

2. Trabajo futuro Una idea más profunda acerca de esta propuesta puede ser viendo que estamos analizando las característica de una región, pero no estamos saliendo de simples atributos estáticos, ahora añadiendo dinámica a las características podríamos crear relaciones entre los mismos componentes y objetos que contiene la imagen; es decir, de pasear de: “la región α tiene una lista de características” a “la región α y β se relacionan con la siguiente lista de relaciones”, podría una relación ser α esta a la izquierda superior de β. Cumplir o añadir lo anterior al modelo significa crear otra estructura de agrupamiento (estructura de composición), dicha estructura debe ser consistente con la información actual de la estructura de niveles.

En la figura comparamos a las estructuras como dimensiones, dado que para que dicha estructura exista tiene que tener como base a la estructura anterior. Es decir, la estructura de niveles utiliza los detalles, pero la estructura de niveles no tiene conocimiento de cómo se relacionan los objetos, por eso es necesaria otra estructura que analice esta información y la agrupe en resultados. Esta propuesta podría también a solucionar los problemas generados a partir de las conclusiones de las pruebas de sistema. Aplicaciones: No yendo tan lejos de la implementación actual, el modulo de almacenamiento puede ser utilizado para minería de datos de cualquier sistema de información. El sistema de clasificación es lo suficientemente flexible para cambiar sus datos de entrada, el problema es que los datos resultantes de las búsquedas necesitan un análisis más profundo que el ser impresos en pantalla.

Detalles 1 dim.

Estructura niveles 2 dim.

Estructura de composición

3 dim.

Page 39: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Si queremos cambiar de enfoque a la aplicación, pero seguir en el tema del manejo de imágenes podría investigarse el sistema de reconocimiento de textos, lo cual sería dar un nombre a cada agrupación, por ejemplo las imágenes que contengan el texto “H” generan una agrupación (este resultado se espera del sistema así como esta ahora), el usuario daría un nombre a esta agrupación, con lo cual el sistema sabrá que las imágenes contenidas en ella tienen la letra “H”. Las anteriores son ideas que surgen de otras necesidades comunes que existen en la actualidad, habrá en el futuro que definir a estas propuestas los requerimientos y especificaciones que se adicionarán al proyecto.

Page 40: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

9

0. Referencias

Tratamiento de imagen

[TTI] Dr. Fernando A. Vázquez Núñez. “Técnicas de Tratamiento de Imágenes” http://www.aisa.uvigo.es/fvazquez [IAEREA] “Inteligencia imágenes aéreas” http://www.derechos.org/nizkor/la/libros/soaIC/cap18.html

Segmentación de imágenes

[PIO] “Powerful Image Organization in Visual Retrieval Systems” http://www.acm.org/sigs/sigmm/MM98/electronic_proceedings/bouet/index.html

[SISU] “Suband Image Segmentation Using VQ for Content-Based Image Retrieval” http://www1.acm.org/sigs/sigmm/MM2001/ep/chun/index.html

[CHOI] “Image Segmentation - Hyeun-gu Choi” http://www.cis.rit.edu/research/thesis/bs/1998/choi/contents.html

[SEGIM] "Introducción a la Segmentación de imágenes" Universidad Nacional de Educación a Distancia (España) http://apphys.uned.es/actividades/no_reglada/laboratorio/segmentacion1.pdf

Meta-búsqueda

[ERSD] “Efficient Resource Selection in Distributed Visual Information Systems” http://www.acm.org/sigs/sigmm/MM97/papers/chang2/mm97.html

[DIYC] “Datos, Información y Comunicación” http://www.monografias.com/trabajos4/orgad/orgad.shtml

Bases de Datos Multimedia

[KRONOS] "Introducción a la Documática, 1: Teoría" (Zaragoza: Kronos, 1997) http://www.tramullas.com/nautica/documatica/6-2.html

[DWD] "Minería de datos: Análisis y Extracción de Conocimiento en Sistemas de Información:

Datawarehouse y Datamining" José Hernández Orallo

www.dsic.upv.es/~jorallo/cursoDWDM/dwdm-III-1.pdf

Page 41: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

10

Reconocimiento imágenes

[REDIRIS] “Recuperación en Internet: Cuatro modelos complementarios y una agenda para su integración” - Carlos Benito Amat (RedIRIS) http://sizx01.si.ehu.es/RepositorioArticulos/imagenes-hiperespectrales/index.html

Descriptores: momentos

“Statistical Moments”

http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/SHUTLER3/node2.html

http://electrica.ita.mx/articulos/ciiiee2002-28.PDF

http://www.isa-cr.uclm.es/xxvjornadas/ConfMan_1.7/SUBMISSIONS/27-nrtierrale.pdf

Libros

[WOODS92] Gonzalez, Rafael C. and Woods, Richard E.[1992] “Digital Image Processing” Addison-Wesley Publishing Company

[SERRA] Image analysis and mathematical morphology – Jean Serra

[SONKA98] Sonka, M., Hlavac, V. & Boyle, R. (1998) Image processing, analysis and machine vision, Chapman & Hall.

Page 42: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

0 Anexo A: Manual del usuario

Page 43: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

0.1 Instalación: La aplicación ha sido desarrollada en Python, lenguaje utilizado para manipular imágenes y realizar algoritmos recursivos. Para instalar Python solo es necesario seguir los pasos del archivo READMEWIN.txt y READMELINUX.txt, para realizar la instalación en Windows o en Linux respectivamente. Luego de instalar Python y las librerías necesarias, lo único necesario es copiar la carpeta de la aplicación al disco duro (hay que tener cuidado que los archivos no queden como de solo lectura).

0.2 Manejo:

La interfaz de la aplicación tiene los siguientes comandos:

Cargar imagen Visualiza en pantalla la imagen original y la imagen binaria resultante se la segmentación.

Imagen cargada Botón para almacenar la imagen

Botón para buscar imágenes parecidas a la segmentación

Cargar imagen Eliminación manual de ruido

Etiquetamiento de la segmentación

Page 44: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Almacenar imagen

Almacena la imagen que se esta visualizando en el momento.

• Buscar imagen Realiza la búsqueda de imágenes similares a la cargada, muestra un listado de los resultados y permite visualizar cualquiera de los elementos de dicha lista.

Haciendo click sobre un resultado de búsqueda, aquí aparece la imagen seleccionada

Nivel de abstracción de las búsquedas: 1 – General 5 – Mayor agregación

Listado de imágenes resultantes de la búsqueda, con su porcentaje de similitud correspondiente

Page 45: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

CODIGO APELLIDOS NOMBRE NumTesis199722669 ALONSO GONZALEZ JEISSON HERNAND ISC-2003-1-1199812198 AMAYA AMAYA BIBIANA STELLA ISC-2003-1-2199713862 ANGARITA SARMIENTO FERNANDO ISC-2003-1-3199721186 ARIAS PERALTA LUIS ALEXANDER ISC-2003-1-4199911518 BARAJAS ESCOBAR JORGE MARIO ISC-2003-1-5199711131 BERMUDEZ GONZLEZ JONNATHAN HERNAN ISC-2002-2-10199714356 CANCINO TERAN RAUL EDUARDO ISC-2003-1-6199623191 CARDENAS VEGA WILSON ISC-2003-1-7199615462 CASTANEDA ZAMBRANO MIGUEL ANGEL ISC-2003-1-8199816063 CASTRO MARTINEZ ANA BIBIANA ISC-2003-1-9199723116 CHAVES BARRAGAN ANDRES FELIPE ISC-2003-1-10199721624 CUELLO CASTILLO JOSE LUIS ISC-2002-2-42199711426 DIAZ BERNAL JULIA HELENA ISC-2003-1-11199623272 DIAZ GUEVARA JANETH BIBIANA ISC-2003-1-12199811260 ERASO BENAVIDES DANIEL FELIPE ISC-2003-1-13199821033 FLOREZ HUERTAS DANIEL ISC-2003-1-14199713187 FORERO CUERVO ALEJANDRO ISC-2003-1-15199812990 GARCIA DUITAMA JULIAN ANDRES ISC-2003-1-16199614692 GRANADOS ANDRADE EDWIN FERNANDO ISC-2003-1-17199713798 HERNANDEZ GONZALEZ ANDRES ALBERTO ISC-2003-1-18199712044 JARAMILLO MEJIA FELIPE ISC-2003-1-19199621016 JARAMILLO PARRA CAMILO ANDRES ISC-2003-1-20199713593 LOPEZ CUELLAR ELIDA NATALIA ISC-2003-1-21199714422 LOPEZ FORERO LUIS ALEJANDRO ISC-2002-1-30199615376 MADERA SEPULVEDA IGOR IVAN ISC-2003-1-22199621389 MALDONADO GOMEZ DALIRIS MILENA ISC-2003-1-23199912706 MALDONADO REY DIEGO LUIS ISC-2003-1-24199714348 MANRIQUE FRAGOSO JOSE ALEJANDRO ISC-2003-1-25199821903 MARTIN JIMENEZ NICOLAS ISC-2003-1-26199812053 MARTINEZ RIANO DARWIN EDUARDO ISC-2003-1-27199722954 MARTINEZ SAENZ ANA CAROLINA ISC-2003-1-28198913909 MATEUS SANDOVAL CARLOS ALBERTO ISC-2003-1-29199522800 METKE JIMENEZ ALEJANDRO ISC-2003-1-30199514127 MORA ECHEVERRI ANDRES ISC-2003-1-31199811947 MORENO GONZALEZ LEONARDO ANTONI ISC-2003-1-32199722952 MUNOZ GIRON LUCIA FERNANDA ISC-2003-1-33199722053 MUNOZ RESTREPO CARLOS ALBERTO ISC-2003-1-34199614447 NAVARRETE RODRIGUEZ CESAR ANDRES ISC-2003-1-35199713369 NAZZAR ROMERO ANUAR ISC-2003-1-36199713775 OLIER HENAO CARLOS ALBERTO ISC-2003-1-37199713132 ORTIZ SANDOVAL NIDIA MARCELA ISC-2003-1-38199812205 OSORIO SOCHA JORGE ANDRES ISC-2003-1-39199722102 PARDO PEREZ ANGELA MARIA ISC-2003-1-40199623464 PARRA COLLANTES DE TERAN JUAN ERNESTO ISC-2003-1-41199714033 PINZON CORTES JUAN CAMILO ISC-2003-1-42199623327 PIZO CARDENAS GABRIELA ELIZABETH ISC-2003-1-43199813265 RAMIREZ BARRERA VLADIMIR ISC-2002-2-37199811439 RAMIREZ JAIME HUGO EDUARDO ISC-2003-1-44199426594 RENGIFO MORA FRANKLIN ALBERTO ISC-2003-1-45199714205 RESTREPO RONDON JOSE CARLOS ISC-2003-1-46199422253 ROJAS GONGORA GERMAN ISC-2003-1-47199623022 SALAZAR MONTENEGRO MILTON FABIAN ISC-2003-1-48199822000 SALAZAR RESTREPO LUISA FERNANDA ISC-2003-1-49199326015 SELIGMANN TRUJILLO CARLOS DAVID ISC-2003-1-50199811396 SOLER RINCON ANDRES FERNANDO ISC-2003-1-51199711722 SUPELANO RODRIGUEZ JAVIER ESTEBAN ISC-2003-1-52199714038 TIRADO DIAZ DANIEL ANTONIO ISC-2003-1-53199712398 TOBAR GARCES ANA MARIA ISC-2003-1-54199414840 TORRES FALKONERT DANIEL ANDRES ISC-2003-1-55199415164 URIBE SILVA JUAN CARLOS ISC-2003-1-31199523711 VELASCO GUERRA NANCY CONSTANZA ISC-2003-1-56199522632 VILLAMIL JIMENEZ MIGUEL ANGEL ISC-2003-1-57

Page 46: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Sistema clasificación imágenes

Por agrupamiento de características

Page 47: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Cualidades de la imagen

Definimos como característica al resultado de una función aplicada a una aglomeración de puntos similares llamado región.(tamaño – posición –color)

Page 48: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Alcance de las definicionesCon estas simples definiciones del modelo a

utilizar, se están aislando problemas esenciales en la caracterización de imágenes complejas, tales como las imágenes de rostros. Una de estas definiciones es la de región. Región es aquí definida como una aglomeración de píxeles que se pueden aislar del fondo o con semejanzas para el algoritmo de segmentación, el problema es que con esta definición un objeto real es una región y no la composición de estas como en la vida real.

Otra definición es la de tipo, donde tipo es una característica y estamos dejando de lado la relación entre los objetos. Lo que se quiere decir aquí, es que relaciones como contenencia o adyacencia entre las regiones no son tomadas en cuenta debido a que los tipos son relativos a la imagen, no relativos entre ellos. (ej. cuadrado azul dentro de circulo verde)

Page 49: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Propuesta de clasificación

La propuesta se basa en crear agrupamientos de diferentes regiones de imágenes y relacionarlo con un agrupamiento de tipos.

Color rojo

Color AzulColor Verde

Cada subconjunto creado es una agrupación de tipos, el cual crea una segmentación del espacio de imágenes.

Imágenes

Page 50: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Relación de las agrupaciones de imágenes con tipos

Page 51: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Tipos (definición)Para cada característica

el tipo es el espectro unidimensional que representa los valores de la característica.

El tipo esta representado por intervalos disyuntos que simbolizan el conjunto de regiones que es también disyunto a los demás. Es decir, cada imagen esta en el conjunto de un solo intervalo de dicho tipo.

Imágenes

tipo

Page 52: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Tipos (almacenamiento de la imagen)La segmentación inicial del espacio de

imágenes para un tipo se realiza en la etapa de almacenamiento. Se aplican funciones sobre cada región, y los resultados son insertados en los intervalos del tipo según sea su valor.

tipo tamaño0 200x200

Page 53: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Tipos (comportamiento intervalos)Todas las regiones

de las imágenes son almacenadas en una estructura que representa a la figura de la diapositiva anterior. Por tanto el manejo de los intervalos debe crear conjuntos donde las imágenes contenidas tengan margen de error mínimos, por tanto los tamaños y posiciones de los intervalos deben ir cambiando con el tiempo.

Primera etapa: división de agrupaciones

tipo color R

0 255

0 255

0 255

0 255

0 255

0 255

0 255

Antes de adicionar imágenes

Después de adicionar imágenes (puntos)

Intervalos esperados al final del procedimiento

Intervalos extendidosIntervalos Originales

Intervalos extendidos creados por agrupación en segunda etapa

Intervalos Originales

Intervalos Originales

Intervalos Originales

Intervalos activosIntervalos inactivos

Page 54: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

Tipos (Intersecciones entre tipos)Para buscar por ejemplo las imágenes con

triángulos amarillos en el almacén de imágenes, es necesario hallar el intervalo en los tipos figura y color. En cierto modo con lo explicado hasta el momento debe ser fácil y rápido obtener una respuesta, pero debe llegar un momento en que no se puedan crear más intervalos y estos tengan tamaños considerables.

Para este problema se plantea la solución de crear conjuntos de tipos que optimicen el tamaño de los grupos de imágenes.

Page 55: PROYECTO DE TESIS “Sistema para clasificación de imágenes”

NivelesSe han definido diferentes maneras de crear dichos

conjuntos, a las cuales se les llama Niveles y contiene a los conjuntos de tipos hablamos anteriormente.

– Nivel básico: cada instancia es un intervalo de un tipo.

– Nivel compuesto: conjunto de básicos con tipos similares (ej. color R – color G – color V, forman el tipo Color).

– Nivel características región: conjunto de básicos y compuestos a nivel de región.

– Nivel características imagen: conjunto de básicos y compuestos a nivel de imagen.

– Nivel imagen: conjunto de instancias de los 2 niveles anteriores