La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aproximación con imágenes 2D Binarias.

Presentaciones similares


Presentación del tema: "Aproximación con imágenes 2D Binarias."— Transcripción de la presentación:

1 Representación con grafos de imágenes 3D para su búsqueda y recuperación.
Aproximación con imágenes 2D Binarias. Procesamiento de Imágenes Digitales (Topología Digital) Luis Fernández Esteban. Miguel Fernández Labrador.

2 Introducción Con el reciente interés e incremento de las imágenes 3D ,las bases de datos cada vez son mas grandes y mas difíciles de manejar por lo que se busca soluciones para que nos ayuden al respecto. Se precisan de buenos descriptores para las imágenes 3D y así poder manejar dichas bases de datos de forma eficiente, incluidas las búsquedas mediante contenido. Este nuevo descriptor, el grafo, es novedoso en el sentido de que no perdemos información geométrica y además es similar a la vista humana. Por lo tanto el nuevo descriptor propuesto sería útil para el reconocimiento de objetos 3D, compresión y búsqueda basada en el contenido.

3 Diagrama del algoritmo
3D OBJECT VOXELIZATION MEDIAL AXIS TRANSFORM NODE GENERATION NODE MERGING DATABASE

4 Voxelization La voxelización consiste en transformar las mallas triangulares de la imagen 3D en voxels. Estos no son más que cubos. Así cuando se tienen solo cubos estos coinciden con el mallado del cubo que envuelve la imagen 3D siendo más fácil trabajar con ella. Después los voxels se rellenan con un procedimiento de llenado.

5 Skeletonization La esqueletización se realiza mediante medial axis transform. Obtenemos las distintas componentes del esqueleto de la imagen 3D. skeletons K=0 K=1 K=2 K=3 K=4

6 Node generation El nodo se genera a partir de las componentes del esqueleto de la imagen. Así para la componente con rango igual a k, se genera el nodo asociado dilantando dicha componente k veces. Empezamos por el k máx y en los menores no dilatamos en los pixeles que pertenecen a una componente (del esqueleto) de mayor rango. imagen esqueleto rango 3 2 dilataciones K=2 1 dilatación K=1 0 dilataciones K=0 unión 3,4 y 5 imagen

7 Node generation Voxels con 54 nodos
Nodos y aristas representados por esferas y segmentos. Las aristas se generan teniendo en cuenta la adyacencia de los píxeles.

8

9

10 Nuestra Aproximación Imágenes 2D binarias en lugar de 3D.
No es necesario voxelizar. Dos pasos: Generación del esqueleto y generación de nodos.

11 Generación del Esqueleto.
Si S(A) denota el esqueleto de A, entonces . Con donde es la aplicación sucesiva de k erosiones. K es el último paso iterativo antes de que A se erosione a un conjunto vacío.

12 Ejemplo Esqueleto.

13 Ejemplo Esqueleto.

14 Generación de Nodos. Los nodos se generan a partir de cada componente k del esqueleto de la imagen, donde k es el rango. En primer lugar se realizan K dilataciones sucesivas a la componente K del esqueleto, los nodos son generados como resultado de las dilataciones. Después se procede a realizar K-1 dilataciones en la componente K-1 menos los píxeles contenidos en la componente K. Finalmente el grafo está compuesto por la unión de los nodos generados en cada paso. Si los nodos tienen píxeles en común, estos pertenecen al nodo obtenido de la componente con mayor k.

15 Ejemplo Nodos. Original k= k= k=0 Resultado

16 Implementación. API de ImageJ para procesamiento de imágenes
Plugin para Ia aplicación ImageJ. API de ImageJ para procesamiento de imágenes Lenguaje de programación Java El propio programa da la opción de compilar tus propios plugins.

17

18 Implementación. Nombre del plugin: NodeGenerator. Obtiene la secuencia de componentes que forman el esqueleto. Obtiene la secuencia de nodos.

19 Implementación. // Al implementar PlugInFilter tenemos que implementar los metodos // setup y run. public class GenerateNodes_ implements PlugInFilter // El método setup configura lo necesario para el plugin. // Comprobamos que la imagen de entrada es binaria. public int setup(String arg, ImagePlus imp) // El método run es el que realiza la funcionalidad del plugin. public void run(ImageProcessor ip) {

20 Implementación. Otros Métodos auxiliares.
// El método getK calcula el número de componentes que tendrá el //esqueleto int getK(ImageProcessor ip)

21 Implementación. Otros Métodos auxiliares.
// Devuelve una Lista de imágenes, cada imagen es una componente del //esqueleto ArrayList<ImagePlus> getSkeletons(ImageProcessor ip)

22 Implementación. Otros Métodos auxiliares.
// Devuelve una animación con las componentes del esqueleto. ImagePlus getStakOfSkeleton(ArrayList<ImagePlus> skeletons)

23 Implementación. Otros Métodos auxiliares.
// Devuelve una animación con los nodos obtenidos. ImagePlus getStakOfNodes(ArrayList<ImagePlus> nodos)

24 Implementación. Otros Métodos auxiliares.
// Devuelve una lista de imágenes, cada imagen es un posible nodo. ArrayList<ImagePlus> getNodos(ArrayList<ImagePlus> skeletons)

25 Demostración.

26 Dudas.

27 Gracias por vuestra atención.


Descargar ppt "Aproximación con imágenes 2D Binarias."

Presentaciones similares


Anuncios Google