Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCruz Pupo Modificado hace 9 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.