1 / 26

HSF y componentes conexas en imágenes binarias 2D

HSF y componentes conexas en imágenes binarias 2D. Santiago Damián Fernández Campos José Manuel Moreno Gavira. Índice. Introducción Conceptos básicos Nuestra aportación Problemas abiertos Aplicaciones Conclusiones Bibliografía. Introducción. Componentes conexas

hova
Download Presentation

HSF y componentes conexas en imágenes binarias 2D

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HSF y componentes conexas en imágenes binarias 2D Santiago Damián Fernández Campos José Manuel Moreno Gavira

  2. Índice • Introducción • Conceptos básicos • Nuestra aportación • Problemas abiertos • Aplicaciones • Conclusiones • Bibliografía

  3. Introducción Componentes conexas Una componente conexa es un conjunto de píxeles, C, tal que para cualquier par de píxeles del conjunto, existe un camino digital que los une contenido en C.

  4. Conceptos básicos • Adyacencia • Algoritmo 2-scan • Representación basada en complejos celulares • Doble mallado auto-dual • Árbol recubridor

  5. Adyacencia Llamamos q-vecindad oq-adyacencia de un píxel p, Nq(p), al conjunto de píxeles que definimos como vecinos de p. • Mallado cuadrangular • La 4-vecindad o 4-adyacencia de un píxel p son los 4 píxeles cuyas regiones comparten un lado con p. • La 8-vecindad u 8-adyacencia de un píxel p, consiste en los 8 píxeles cuyas regiones comparten un lado o un vértice con p. Nosotros utilizaremos la 8-adyacencia para los píxeles negros y la 4-adyacencia para los píxeles blancos

  6. Algoritmo 2-scan Recorremos la imagen binaria de izquierda a derecha y de arriba a abajo. Usando la 4-adyacencia en negro: - Paso 1. Para cada pixel P(x,y) que sea negro, examinamos a los vecinos superiores (x,y-1) y (x-1,y). • Si son blancos, damos a P una nueva etiqueta; • Si tan sólo uno es negro, le damos a P su etiqueta; • Si ambos son negros, le damos a P la etiqueta de uno de ellos, y si sus etiquetas son diferentes, registramos el hecho de que son equivalentes. - Paso 2. Ordenamos las parejas equivalentes en clases de equivalencia, y escogemos una etiqueta para representar cada clase. - Paso 3. Realizamos un segundo rastreo de la imagen y sustituimos cada etiqueta por el representante de cada clase; cada componente ha sido ahora etiquetada de forma única.

  7. Algoritmo 2-scan (II) Consideremos la siguiente imagen Resultado del primer rastreo usando 4-adyacencia c b a a a b c a c d d d a a a a a e e d d d a a a b = a d = a d = a c a a a a a c Resultado del segundo rastreo reemplazando las etiquetas a c a a a a a a a a e e a a a a a a

  8. Representación basada en complejos celulares Complejo de celdas Espacio topológico que se define por sus vértices y celdas, siendo celda un conjunto de n+1 vértices. 1 - celda 0 - celda 2 - celda

  9. Doble mallado auto-dual Nuestra imagen Doble mallado

  10. Árbol recubridor • Se trata de un subgrafo sin ciclos que permite interconectar todos los vértices.

  11. Árbol recubridor (II) • En nuestro caso no necesitaremos cubrir todos los píxeles, simplemente nos centraremos en algunos puntos “críticos” del doble mallado.

  12. Nuestra aportación • Realizaremos el cálculo de las componentes conexas de la siguiente forma: • Incrustaremos la imagen en el doble mallado. • Realizaremos un pre-procesado calculando las celdas. • Detectaremos los puntos del mallado críticos. • Construiremos los árboles recubridores de los “contornos” de cada componente conexa. • Clasificaremos los contornos en contornos de componentes o agujeros.

  13. Imagen a procesar Imagen binaria 7 x 10 2 componentes conexas (usando 8-adyacencia para negro y 4-adyacencia para blanco)

  14. Incrustar la imagen en el doble mallado Imagen binaria extendida 15 x 21 Para una imagen N x M píxeles, su extendida siempre tendrá (2*N)+1 x (2*M)+1 píxeles

  15. Pre-procesado para calcular las celdas Realizaremos un procesado de izquierda a derecha y de arriba abajo, calculando las adyacencias entre píxeles vecinos. Este proceso se realiza sobre los píxeles cuyas coordenadas son impares, que son los píxeles que pertenecen a la imagen binaria. Se presentan distintos casos:

  16. Pre-procesado para calcular celdas (II) Vamos calculando las adyacencias, recordando que usamos 8-adyacencia para píxeles negros y 4-adyacencia para píxeles blancos. 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 4 3 2 2 3 2 2 2 2 2 2 2 2 2 2 3 4 4 3 3 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 4 2 2 2 2 2 2 PROCESO PARALELIZABLE 2 2 2 2 2 4 3 4 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2

  17. Identificación de los puntos críticos 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 8 2 2 2 2 8 2 2 2 7 7 2 8 8 8 2 2 2 8 8 8 8 8 8 2 8 8 8 8 8 7 7 8 2 2 2 8 8 8 8 8 7 3 3 4 7 3 2 2 3 2 2 2 2 2 8 8 8 8 8 8 8 Etiquetamos los píxeles del borde y los que han quedado sin adyacencia, los puntos críticos. 7 7 8 2 2 2 2 2 8 8 8 7 3 4 4 7 3 3 4 4 2 2 2 2 2 8 2 2 8 8 2 8 7 7 2 2 2 2 2 2 2 8 8 7 7 3 4 4 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 7 7 2 2 2 2 2 8 8 8 8 7 7 4 3 4 2 2 2 2 2 8 8 8 8 8 8 2 2 8 8 8 7 7 2 8 2 2 2 2 8 8 8 7 7 4 4 4 8 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 7 7 8 2 2 2 2 2 2 2 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8

  18. Construcción de los árboles recubridores del contorno 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 7 7 8 2 2 2 2 8 2 2 2 Agrupamos los puntos críticos en árboles recubridores distintos, recorridos con 8-adyacencia. 7 7 2 8 8 8 2 2 2 8 8 8 8 8 8 2 8 8 8 8 8 7 7 8 2 2 2 8 8 8 8 8 7 3 3 4 7 3 2 2 3 2 2 2 2 2 8 8 8 8 8 8 8 7 7 8 2 2 2 2 2 8 8 8 7 3 4 4 7 3 3 4 4 2 2 2 2 2 8 2 2 8 8 2 8 7 7 2 2 2 2 2 2 2 8 8 7 7 3 4 4 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 PROCESO PARALELIZABLE 7 7 2 2 2 2 2 8 8 8 8 7 7 4 3 4 2 2 2 2 2 8 8 8 8 8 8 2 2 8 8 8 7 7 2 8 2 2 2 2 8 8 8 7 7 4 4 4 8 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 7 7 8 2 2 2 2 2 2 2 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8

  19. Clasificación de los contornos • El proceso de clasificación es muy sencillo. • El valor dependerá del “color” del píxel inferior.

  20. Problemas abiertos • Implementación en paralelo • Construcción de caminos óptimos (utilidad en robótica) • Construcción de los árboles de las componentes y de los agujeros • Generalización a 3D

  21. Aplicaciones • Un descriptor para homología • Robótica • Recuento mediante fotografías: • Nº de olivos en una finca • Nº de personas en un estadio de fútbol • …

  22. Conclusiones • No mejoramos la eficiencia de los algoritmos actuales (pero la igualamos) • Obtenemos perímetros (contornos) • Calculamos a la vez componentes conexas y agujeros • Utilidades de distancias gracias a los árboles recubridores

  23. Bibliografía • Falces Sánchez, José Manuel, Romero Rodríguez, Belén, “Homología y Árboles Recubridores” • Di Stefano, Luigi, Bulgarelli, Andrea, “A Simple and Efficient Connected Components Labeling Algorithm” • Foltz, Mark A., “ConnectedComponents in BinaryImages” • Grana, Costantino, Borghesani, Daniele, Cucchiara, Rita, “Connectedcomponentlabelingtechniquesonmodernarchitectures”

  24. Aplicación

  25. Aplicación

More Related