Aplicación basada en grafos de Reeb para detección temprana de roturas en piezas Procesamiento de...

Post on 21-Apr-2015

10 views 0 download

Transcript of Aplicación basada en grafos de Reeb para detección temprana de roturas en piezas Procesamiento de...

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ñaManuel Abel Corral Domínguez

Curso 2012-2013

Í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

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

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

GRAFOS Y GRAFOS DE REEB (II)

• Propuesto por el matemático francés Georges Henri Reeb (1920-1993) en 1946

• Se trata de un grafo con nodos que permiten reflejar cambios en el objeto sobre el que se realiza

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.

ESTADO DEL ARTE (II)

ENTORNO DE IMPLANTACIÓN (I)

• Se ha desarrollado para un entorno industrial: cinta transportadora.

• Dispositivo propuesto: cámara y selector

ENTORNO DE IMPLANTACIÓN (II)

• Propuestas para controlar verticalidad: – molde – bandas nervadas

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 = Blanco1.2) Si P <=Umbral entonces P = Negro

2) Devolver Imagen

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

APLICACIÓN PROPIA: ALGORITMIA (III)

• Primer paso: Cálculo de puntos mediosProcesa_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+11.4) Si cambiaNegroBlanco(pixelActual, pixelSiguiente)

1.4.1) jnb=C1.5) Si jbn!=-1 AND jnb!=-1

1.5.1) jmedio=(int)(jbn + jnb)/21.5.2) añadir(vectorFila, jmedio)1.5.3) jnb=jbn=-1

2) Devolver vectorFila

APLICACIÓN PROPIA: ALGORITMIA (IV)

• Primer paso: Cálculo de puntos medios

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

APLICACIÓN PROPIA: ALGORITMIA (VI)

• Segundo paso: Unir los puntos según la pieza y llamar al objeto Graph para construir el grafo:

APLICACIÓN PROPIA: ALGORITMIA(VII)

• Tercer Paso: Comparar ambos grafosComparar_Grafos()1) VectorNodos1=grafoModelo.getNodos()2) VectorNodos2=grafoPieza.getNodos()3) Si VectorNodos1.size()==VectorNodos2.size()

3.1) iguales=comprobar_que_todos_tienen_iguales_coordenadas(VectorNodos1,VectorNodos2)

3.2) Si iguales3.2.1) mostrar(“Pieza correcta”)

3.3) |Otro caso:3.3.1) mostrar (“Pieza con rotura”)

4) |Otro caso:mostrar(“Pieza con rotura”)

APLICACIÓN PROPIA:ALGORITMIA(VIII)

Tercer paso: Compararambos grafos

– Comparar ambos grafos

-Nº nodos iguales-Hay nodos con coordenadas distintas

Salida: Pieza dañada

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

MANUAL DE USUARIO (II)

• Cargar pieza de la base de datos: Cargar

MANUAL DE USUARIO (III)

• Obtener grafo de Reeb: Reeb

MANUAL DE USUARIO (IV)

• Repetir pasos para pieza desde la cinta

MANUAL DE USUARIO (V)

• Detección de fisuras:panel derecho>Comparar

EXPERIMENTACIÓN (I)• Pieza 1

EXPERIMENTACIÓN (II)• Pieza 2

EXPERIMENTACIÓN (III)• Pieza 3

EXPERIMENTACIÓN (IV)• Pieza 4

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.

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

BIBLIOGRAFÍA[1] An Extensive Examination of Data Structures Using C# 2.0http://msdn.microsoft.com/en-us/library/ms379574%28v=vs.80%29.aspx [20-11-2012] [2] Ingeniería del Transporte, López Boada y otros, Editorial Uned, (1ª edición) [3] Data skeletonization via Reeb Graphs, Issam y otros: http://books.nips.cc/papers/files/nips24/NIPS2011_0559.pdf [4] http://www.renishaw.es/es/1030.aspx [1-12-2012] [5] http://www.shardaintl.com/chevron.htm [10-12-2012] [6] Robust On-line Computation of Reeb Graphs: Simplicity and Speed, Pascucci y otros:http://www.pascucci.org/pdf-papers/pascucci-siggraph-2007-Reeb-Graph.pdf [7] A Fast Algorithm for Computing Reeb Graph 2-Manifold, Jean- Baptiste Debard: http://cg.cs.tsinghua.edu.cn/archive/2006-TR-01.pdf [8] Topological Modeling Of Illuminated Surfaces Using Reeb Graph: A. Ben Hnmzahttp://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=1247075