Lección 2: Conectividad

Documentos relacionados
Fundamentos de Visión por Computador

Lección 5: Morfología

Tratamiento de imágenes Relaciones básicas entre píxeles

Imágenes binarias. Horn, Robot Vision Haralick & Shapiro, Computer and Robot Vision Gonzalez & Woods, Digital Image Processing. imagenes binarias 1

Descriptores de Forma

TOPOLOGÍA DIGITAL Modelos para el plano digital

Compresión de imágenes

CAPÍTULO 2. Desde el punto de vista más simple, hoy una imagen digital consiste de lo que se puede ver

Examen correspondiente a la evaluación alternativa. Procesamiento de imágenes digitales curso 2007/2008

INDICE Prefacio 1. Introducción 2. Fundamentos de la imagen digital

Teoría de grafos y optimización en redes

Visión por Computador: Introducción

Tema 4. Reducción del ruido

Tema 6: Contornos. 1. Introducción. 2. Filtrado de imágenes: Convolución. 3. Detección de Contornos. 4. Segmentación de Contornos

CLASIFICACIÓN DE IMÁGENES DE SATÉLITE MEDIANTE AUTÓMATAS CELULARES

Geometría Computacional. Dr. Antonio Marín Hernández

Tema 5: SEGMENTACIÓN (II) I N G E N I E R Í A I N F O R M Á T I C A

Análisis de imágenes digitales

Estructura de Datos Espaciales. por José Antonio Navarrete Pacheco INTRODUCCIÓN

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

Índice 1. Introducción Imagen digital. Formación imagen Histograma de una imagen digital 2. Transformaciones puntuales. Introducción.

Tema 5: SEGMENTACIÓN (II) I N G E N I E R Í A I N F O R M Á T I C A

Relleno de Polígonos 1

Tema 6: Descriptores topológicos, geométricos y estadísticos de las imágenes digitales

Tema 4: MORFOLOGÍA (Parte I) I N G E N I E R Í A I N F O R M Á T I C A

Fundamentos de Visión por Computador

Sistemas de Información Geográfica. Unidad didáctica 3

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1)

Análisis de imágenes digitales

Simplificación y minimización por adyacencias

Análisis de Algoritmos Teoría de grafos

1. GRAFOS : CONCEPTOS BASICOS

Fundamentos de POV-Ray. Computación Geométrica 2010/2011 Jorge Calvo Zaragoza

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Análisis de imágenes digitales

Estructura de Datos. Códigos de Huffman. Primer Semestre, Compresión de Archivos. Compresión de Archivos

AUTÓMATAS CELULARES MULTIESTADO APLICADOS A LA CLASIFICACIÓN CONTEXTUAL ITERATIVA DE IMÁGENES DE SATÉLITE

Sistemas de Percepción Visión por Computador

Sistemas de Sensación Segmentación, Reconocimiento y Clasificación de Objetos. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Sistemas de Percepción Visión por Computador

Analisis decodificación QR Code

TEMA 5 TÉCNICAS DE PROTECCIÓN FRENTE A ERRORES (CÓDIGOS CONVOLUCIONALES) Códigos convolucionales. Introducción de la redundancia mediante filtrado

TEMA IV TEORÍA DE GRAFOS

Preguntas tema 4: MORFOLOGÍA

REDUCCIÓN DEL RUIDO EN UNA IMAGEN DIGITAL

Autómata Programable (PLC)

Representación y manipulación de grafos: caminos, expansión, cortes y flujos

Procesamiento Digital de Imágenes

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

RECONOCIMIENTO DE MENSAJES EN CÓDIGO BRAILLE MEDIANTE TÉCNICAS DE PROCESADO DE IMÁGENES

Segmentación. Transformada de Hough.

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 5b

Departamento de Geografía Física y AGR Universidad de Sevilla

Morfología. Lección Dr. Pablo Alvarado Moya

Procesamiento digital de imágenes

Algoritmos paralelos para la Multiplicación de Matrices

Tema 9. Compresión de imágenes

Procesamiento Digital de Imágenes LCC-594

Orden de las clases...

UNIVERSIDAD DE MANAGUA Al más alto nivel

TEMA 5 El tipo grafo. Tipo grafo

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 18

Operaciones a nivel bit

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63

A veces queremos almacenar algún elemento que es Verdadero o Falso. Este tipo de dato se llama Booleano y su representación es sencilla, para cada

Tema 7: Problemas clásicos de Programación Lineal

Contenido. Capítulo 1. Capítulo 2. Capítulo 3. Prólogo

Tratamiento de imágenes

Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

3 Fundamentos y algoritmos de visión artificial

Tema 6. Tema 6. Tema 6. Modelado 3D 6.1 Introducción 6.2 Modelado plano de superficies 6.3 modelado de sólidos. 6.1 Introducción

Indice. 1. Tipos de grafos. 2. Conceptos Básicos 3. Representación de grafos 4. Subgrafos. Grafos complementarios

Práctica 1 Arreglos n-dimensionales y operaciones con bits PRÁCTICA I

Introducción general a la compresión de datos multimedia

Transcripción:

Lección : Conectividad.Definiciones.Algoritmos de etiquetado Recursivo Secuencial.Análisis de conectividad RLE Algoritmo secuencial 8 - J. Neira Universidad de Zaragoza

Conectividad Propósito: separar los objetos de la escena: Del fondo Unos de otros De los agujeros ruido Se trata de etiquetar cada región de pixels contiguos con un valor diferente agujeros Hay ruido de sal y pimienta, que intentamos eliminar Trabaja con la imagen binaria Genera una imagen coloreada ahorro de espacio? mejora semántica? 8 - J. Neira Universidad de Zaragoza

Definiciones: conectividad Problema: Conectividad (vecindad): proximidad espacial entre pixels de la imagen binaria -conectividad x x x x x 8-conectividad x x x x 5 x x x 6 x 7 x 8 cuántos objetos? agujeros, fondo? Depende lo que se considere adyacente a un pixel (conectividad). También de lo que se considere interior, exterior, etc. 6-conectividad x x x x x x 5 x 6 8 - J. Neira Universidad de Zaragoza

Conectividad Geometría Euclidiana: una curva cerrada divide el plano en dos regiones no contiguas. Dada una imagen digital, una curva cerrada simple (sin cruzamientos), segmenta la imagen en dos regiones conexas disjuntas: interior y exterior. Si se usa -conectividad: cuatro objetos dos regiones disjuntas pero no hay curva de Jordan! Si se usa 8-conectividad: un solo objeto una curva de Jordan dentro del objeto no hay dos regiones disjuntas!! 8 - J. Neira Universidad de Zaragoza

Definiciones Objeto (foreground): conjunto de -pixels (S) Camino: un camino del pixel [i,j ] al pixel [i n,j n ] es una secuencia de pixels tal que [i k,j k ] es vecino de [i k+,j k+ ] para todo k=...n- -conectado 8-conectado Conectividad: dos pixels p, q S están conectados si hay un camino que lleve de p a q cuyos pixels S. Es una relación de equivalencia:. Reflexividad: p está conectado a p. Conmutatividad: Si p está conectado a q, entonces q está conectado a p. Transitividad: Si p está conectado a q, y q está conectado a r, entonces p está conectado a r 8 - J. Neira Universidad de Zaragoza 5

Componente conexa (blob): conjunto de pixels mutuamente conectados. cada blob corresponderá a un objeto diferente Definiciones Volviendo al mismo problema... Fondo (background): conjunto de componentes conectadas del complemento de S ( ) que tienen puntos en el borde de la imagen. Agujeros: conjunto de componentes conectadas de que NO tienen puntos en el borde de la imagen. S S Objs Agujs 8 8 8 8 6??!! ok ok Para evitar inconsistencias se usa una vecindad para fondo y otra para el objeto, ó 6-vecindad para ambos? 8 - J. Neira Universidad de Zaragoza 6

Frontera (Boundary): la frontera de S es el conjunto de pixels con vecinos en S (suele denotarse como S ). Definiciones Interior: conjunto de pixels de S que no pertenecen a S (S - S ). Rodear (Surrounds): una región T rodea a S si cualquier camino desde cualquier punto de S al borde de la imagen, intersecta a T. frontera interior 8 - J. Neira Universidad de Zaragoza 7

Algoritmos etiquetado: recursivo Etiquetar: particionar una imagen binaria en componentes conexas. Se espera que las componentes conexas correspondan a objetos o superficies diferentes. Se asigna una etiqueta diferente a los pixels de cada componente conexa. Algoritmo recursivo:. Buscar un -pixel y asignarle una nueva etiqueta L.. Recursivamente asignarle la etiqueta L a todos sus vecinos -pixels.. Si no hay más -pixels, fin.. Ir al paso. Recursivo: sencillo pero ineficiente en máquinas secuenciales (es paralelizable). Secuencial: requiere dos pasadas, pero sólo dos filas de la imagen (utilizado cuando hay limitaciones de espacio). 8 - J. Neira Universidad de Zaragoza 8

Algoritmo secuencial Para etiquetar un pixel sólo hace falta considerar sus vecinos anterior y superiores. Depende del tipo de conectividad que se utilice para objeto (aquí - conectividad). (b) mismo objeto objeto nuevo (c) (a) (b) (c) (d) (d) qúe ocurre en estos casos? (a) (a)?? Tabla de Equivalencia 8 - J. Neira Universidad de Zaragoza 9

Alg. secuencial (-conectividad) Procesar la imagen de izquierda a derecha, de arriba hacia abajo.. Si el siguiente pixel a procesar es -pixel: ya procesados. Si sólo uno de sus vecinos (superior e izquierdo) es -pixel, copiar su etiqueta.. Si ámbos lo son, y tienen la misma etiqueta, copiarla. 5 5 5 5 6 6 6 6 6 6 6 6 7 7 8 8 8 8. Si tienen etiquetas diferentes: superior? menor?. Copiar la del anterior.. Reflejar en la tabla la equivalencia.. Dlc, asignar una etiqueta nueva.. Si hay más pixels, ir al paso. 8 - J. Neira Universidad de Zaragoza {,, 7} {} {} {5, 6, 8} {} Luego se reetiqueta con la menor de las etiquetas equivalentes. Los pixels de un mismo segmento siempre tienen la misma etiqueta

Algoritmo secuencial 8-conectividad: : : : : : aparecerán vecinos con tres etiquetas diferentes? -conect. 8-conect. Conclusiones: Es conceptualmente sencillo y claro, pero la representación resultante es del mismo nivel que la imagen binaria No se ha extraído información adicional (descriptores, relaciones de inclusión,...). La mayoría de los descriptores pueden calcularse simultáneamente. Objetos elongados 8 - J. Neira Universidad de Zaragoza

Run Length Encoding (RLE) RLE: aprovecha la coherencia espacial de las imágenes binarias. 5 6 7 8 9 5 6 7 8 9 Varias posibilidades: A: codificar la posición del primer -pixel y la cantidad de -pixels consecutivos: Utilizado en transmisión de datos: (,) (6,) (,) (6,) (9,) (,) (8,) (,) (6,6) B: codificar la longitud de cada segmento, comenzando por los -segmentos,,,,,,,,,,,,,,6 8 - J. Neira Universidad de Zaragoza

Mejor caso: A: RLE Ratio de compresión: tamaño original / tamaño comprimido (,) - B: Peor caso: A: (,) (,)... B:... 5 6 7 8 9 5 6 7 8 9 Ratio A: C=6 bits / 6 bits = 5 6 7 8 9 5 6 7 8 9 Ratio A: C bits / 6C bits =.65 6 * 8 / 687 * 6 =.79 8 - J. Neira Universidad de Zaragoza

Análisis de conectividad. El análisis puede hacerse por segmentos en vez de por pixels. Es mucho más eficiente.. Solo hace falta analizar dos filas de la imagen a la vez Si en una fila no se actualiza un blob, no se volverá a actualizar. el mismo objeto. Los casos de conectividad se reducen a tres:. nuevo objeto. fusión de objetos 8 - J. Neira Universidad de Zaragoza

Esquema general. Obtener el RLE (sólo consideraremos -pixels): 5 6 7 8 9 Imagen binaria 5 6 7 8 9 5 6 7 8 9 5 6 7 8 codificación RLE 5 6 7 8 9... 56 7 8 RLE... Del RLE: NFILAS NSEGMENTOS De una fila f del rle: PRIMER_SEGMENTO(f) ULTIMO_SEGMENTO(f) De un segmento s: FILA(s) COLUMNA(s) LONGITUD(s) COMIENZO(s) FINAL(s) 8 - J. Neira Universidad de Zaragoza 5

Esquema general.análisis de conectividad: 5 6 7 8 9 56 7 8 RLE... - - 7 8 9 5 6 5 6 8-7 - - blob conectividad...... siguiente NULO Blobs Blobs... 7 5 8 tamaño primero último De un segmento s: BLOB(s) SIGUIENTE(s) De un blob b: TAMANO(b) PRIMERO(b) ULTIMO(b) Para todos: NULO (-) 8 - J. Neira Universidad de Zaragoza 6

5 6 7 8 9 Imagen binaria 5 6 7 8 9 5 6 7 8 9 5 6 7 8 Esquema general... 5 6 7 8 9 56 7 8 RLE... - - 7 8 9 5 6 5 6 8-7 - - blob...... siguiente NULO Blobs... tamaño primero 7 5 8 último 8 - J. Neira Universidad de Zaragoza 7

Algoritmo de conectividad PARA cada fila f de la imagen HACER FPARA PARA cada segmento s de la fila f HACER FPARA [n, b] = blobs_que_toca(s); SI n = crear_blob(s) SINO SI n = anadir_segmento_a_blob(b, s) SINO PARA cada blob bi de b excepto b HACER fusionar_blobs(b, b i ) FPARA anadir_segmento_a_blob(b, s) FSI FSI 8 - J. Neira Universidad de Zaragoza 8

-conectividad: s s s s conectividad A_LA_IZQUIERDA(s,s) SE_SOLAPAN(s,s) A_LA_IZQUIERDA(s,s): (FINAL(s) < COMIENZO(s)) 8-conectividad: s s s s A_LA_IZQUIERDA(s,s) SE_SOLAPAN(s,s) A_LA_IZQUIERDA(s,s): (FINAL(s) + < COMIENZO(s)) (FINAL(s) < COMIENZO(s) - ) 8 - J. Neira Universidad de Zaragoza 9

blobs_que_toca (-conectividad) De dos segmentos s y s: A_LA_IZQUIERDA(s,s): (FINAL(s) < COMIENZO(s)) A_LA_DERECHA(s,s): (A_LA_IZQUIERDA(s,s)) SE_SOLAPAN(s,s): (!(A_LA_IZQUIERDA(s,s)) &&!(A_LA_DERECHA(s,s))) s s s s s5 A_LA_IZQUIERDA(s,s5) A_LA_DERECHA(s,s5) SE_SOLAPAN(s,s5) SE_SOLAPAN(s,s5)?????? primera fila fila anterior vacía 8 - J. Neira Universidad de Zaragoza

Filtro de tamaño Eliminación del ruido de tamaño y forma variable: si los objetos de interés tienen un tamaño de entre T min y T max pixels, el resto de los blobs pueden ignorarse. Imagen binaria Menos de pixels Mas de pixels Entre y pixels 8 - J. Neira Universidad de Zaragoza

Este análisis puede hacerse durante la conectividad: crear_blob(s): Filtro de tamaño tamaño = LONGITUD(s); anadir_segmento_a_blob(b, s): Un blob no actualizado en una fila, se puede considerar cerrado. blob cerrado tamano += LONGITUD(s); fusionar_blobs(b, b i ): procesando tamano += tamano i ; 8 - J. Neira Universidad de Zaragoza

No podemos resolver todos los problemas... Imagen binaria Filtro de tamaño Ruido de sal: Entre y pixels Solapamiento: 8 - J. Neira Universidad de Zaragoza