La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Procesamiento de imágenes digitales (Topología digital)

Presentaciones similares


Presentación del tema: "Procesamiento de imágenes digitales (Topología digital)"— Transcripción de la presentación:

1 Aplicación basada en grafos de Reeb para detección temprana de roturas en piezas
Procesamiento de imágenes digitales (Topología digital) Escuela Técnica Superior de Ingeniería Informática José María Navarro España Manuel Abel Corral Domínguez Curso

2 ÍNDICE OBJETIVOS GRAFOS Y GRAFOS DE REEB ESTADO DEL ARTE
ENTORNO DE IMPLANTACIÓN APLICACIÓN PROPIA: ALGORITMIA MANUAL DE USUARIO EXPERIMENTACIÓN COMPARATIVA CONCLUSIONES BIBLIOGRAFÍA

3 OBJETIVOS Estudiar el estado del arte actual con grafos de Reeb
Implementar una aplicación basada en grafos de Reeb  Ofrecer una aplicación didáctica Definición de un entorno para tal aplicación Diseñar una aplicación para WindowsTM 7

4 GRAFOS Y GRAFOS DE REEB (I)
Grafo: estructura matemática que relaciona nodos Dirigidos (bidireccional) No dirigidos Implementación: Listas de adyacencia Tablas de adyacencia En la aplicación propia: listas y bidireccionales

5 GRAFOS Y GRAFOS DE REEB (II)
Propuesto por el matemático francés Georges Henri Reeb ( ) en 1946 Se trata de un grafo con nodos que permiten reflejar cambios en el objeto sobre el que se realiza

6 ESTADO DEL ARTE (I) Obtener el grafo de Reeb de un objeto para detectar defectos [6] El objeto se recubre de un mallado triangular (también se puede utilizar tetraedros) Se incrementa el grafo, al mismo tiempo que se recorren los triángulos.

7 ESTADO DEL ARTE (II)

8 ENTORNO DE IMPLANTACIÓN (I)
Se ha desarrollado para un entorno industrial: cinta transportadora. Dispositivo propuesto: cámara y selector

9 ENTORNO DE IMPLANTACIÓN (II)
Propuestas para controlar verticalidad: molde bandas nervadas

10 APLICACIÓN PROPIA: ALGORITMIA (I)
Las imágenes están en formato bmp de 24 bits La aplicación las procesa ya binazaridas: Binarización(Imagen, Umbral) 1) Para cada píxel P de Imagen: 1.1) Si P > Umbral entonces P = Blanco 1.2) Si P <=Umbral entonces P = Negro 2) Devolver Imagen

11 APLICACIÓN PROPIA: ALGORITMIA (II)
Se parte de un catálogo de piezas sobre las que se calculan puntos de unión en caso de no estar fracturas y se programa Puntos críticos: píxeles con tres de sus vecinos blancos usando 4 adyacencia (no extremos)-> Casos

12 APLICACIÓN PROPIA: ALGORITMIA (III)
Primer paso: Cálculo de puntos medios Procesa_Fila(F) 1) Para cada columna C de Imagen: 1.1) pixelActual=Imagen[F][C] 1.2) pixelSiguiente=Imagen[F][C+1] 1.3) Si cambiaBlancoNegro(pixelActual, pixelSiguiente) 1.3.1) jbn=C+1 1.4) Si cambiaNegroBlanco(pixelActual, pixelSiguiente) 1.4.1) jnb=C 1.5) Si jbn!=-1 AND jnb!=-1 1.5.1) jmedio=(int)(jbn + jnb)/2 1.5.2) añadir(vectorFila, jmedio) 1.5.3) jnb=jbn=-1 2) Devolver vectorFila

13 APLICACIÓN PROPIA: ALGORITMIA (IV)
Primer paso: Cálculo de puntos medios

14 APLICACIÓN PROPIA: ALGORITMIA (V)
Segundo paso: Unir los puntos según la pieza y llamar al objeto Graph para construir el grafo: CasoGrafoReeb(Imagen) 1)Para cada fila F de Imagen: 1.1) VectorF1 = Procesa_Fila(F) 1.2) VectorF2 = Procesa_Fila(F+1) 2) Para cada punto P de VectorF1: 2.1) Si VectorF1[P] es un caso con alguno de VectorF2: 2.1.1) Unir VectorF1[P] con punto de VectorF2 2.1.2) Crear arco entre los dos puntos unidos 3) Devolver Imagen

15 APLICACIÓN PROPIA: ALGORITMIA (VI)
Segundo paso: Unir los puntos según la pieza y llamar al objeto Graph para construir el grafo:

16 APLICACIÓN PROPIA: ALGORITMIA(VII)
Tercer Paso: Comparar ambos grafos Comparar_Grafos() VectorNodos1=grafoModelo.getNodos() VectorNodos2=grafoPieza.getNodos() Si VectorNodos1.size()==VectorNodos2.size() 3.1) iguales=comprobar_que_todos_tienen_iguales_coordenadas( VectorNodos1,VectorNodos2) 3.2) Si iguales 3.2.1) mostrar(“Pieza correcta”) 3.3) |Otro caso: 3.3.1) mostrar (“Pieza con rotura”) 4) |Otro caso: mostrar(“Pieza con rotura”)

17 APLICACIÓN PROPIA:ALGORITMIA(VIII)
Tercer paso: Comparar ambos grafos Comparar ambos grafos -Nº nodos iguales -Hay nodos con coordenadas distintas Salida: Pieza dañada

18 MANUAL DE USUARIO (I) Interfaz amigable similar a la del sistema
Botones: Cargar, Reeb, Guardar, Borrar Panel derecho: detección comparativa Opciones formato: Ajuste del tamaño: zoom, centrado

19 MANUAL DE USUARIO (II) Cargar pieza de la base de datos: Cargar

20 MANUAL DE USUARIO (III)
Obtener grafo de Reeb: Reeb

21 MANUAL DE USUARIO (IV) Repetir pasos para pieza desde la cinta

22 MANUAL DE USUARIO (V) Detección de fisuras:panel derecho>Comparar

23 EXPERIMENTACIÓN (I) Pieza 1

24 EXPERIMENTACIÓN (II) Pieza 2

25 EXPERIMENTACIÓN (III)
Pieza 3

26 EXPERIMENTACIÓN (IV) Pieza 4

27 COMPARATIVA La empresa ReniShawTM oferta un producto para detección de fisuras en tornillos mediante un láser y sensores. La aplicación propia tiene un eminente carácter didáctico y se dedicado a detección temprana de fisuras: un primer filtro para las piezas rotas que se ha complementar con productos más específicos.

28 CONCLUSIONES Se ha desarrollado una aplicación netamente didáctica
Se han usado estructuras matemáticas Se ha basado en grafos de Reeb Se ha definido el entorno de implantación Se ha diseñado una aplicación para WindowsTM 7

29 BIBLIOGRAFÍA [1] An Extensive Examination of Data Structures Using C# 2.0 [ ] [2] Ingeniería del Transporte, López Boada y otros, Editorial Uned, (1ª edición) [3] Data skeletonization via Reeb Graphs, Issam y otros: [4] [ ] [5] [ ] [6] Robust On-line Computation of Reeb Graphs: Simplicity and Speed, Pascucci y otros: [7] A Fast Algorithm for Computing Reeb Graph 2-Manifold, Jean- Baptiste Debard: [8] Topological Modeling Of Illuminated Surfaces Using Reeb Graph: A. Ben Hnmza


Descargar ppt "Procesamiento de imágenes digitales (Topología digital)"

Presentaciones similares


Anuncios Google