Esqueletizaci on de im agenes 3D -...

46
Escuela T´ ecnica Superior de Ingenier´ ıaInform´atica aster en Matem´atica Computacional Trabajo Fin de M´ aster Esqueletizaci´ on de im´ agenes 3D Autor: Ra´ ul Reina Molina Tutor: Pedro Real Jurado Junio/2011 Curso 2010/2011

Transcript of Esqueletizaci on de im agenes 3D -...

Page 1: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Escuela Tecnica Superior de Ingenierıa Informatica

Master en Matematica Computacional

Trabajo Fin de Master

Esqueletizacion de imagenes 3D

Autor: Raul Reina Molina

Tutor: Pedro Real Jurado

Junio/2011

Curso 2010/2011

Page 2: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro
Page 3: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Resumen

La esqueletizacion es una tecnica que permite obtener, a partir de un objetodigital dado, otro que contiene la misma informacion topologica, y gran partede la informacion geometrica del objeto inicial. Nos vamos a centrar en lastecnicas desarrolladas por G. Bertrand, por su similitud con las tecnicashomologicas de procesamiento de imagenes, desarrollando un algorimo deesqueletizacion a nivel de complejos celulares. Ası mismo vamos a presentarun algoritmo de esqueletizacion utilizando el marco de computacion naturaldenominado Computacion con Membranas.

Page 4: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro
Page 5: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Indice general

Indice general 1

Indice de figuras 3

Indice de cuadros 5

1. Introduccion 7

2. Modelos digitales y adelgazamiento 92.1. Modelos digitales . . . . . . . . . . . . . . . . . . . . . . . . . 92.2. Adelgazamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3. Complejos celulares 133.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2. Colapso simplicial . . . . . . . . . . . . . . . . . . . . . . . . . 143.3. Construccion del complejo celular . . . . . . . . . . . . . . . . 16

4. Un algoritmo de esqueletizacion 174.1. Medidas de significatividad . . . . . . . . . . . . . . . . . . . . 174.2. Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5. Computacion con membranas 235.1. Marco Formal: P Sistemas tipo tejido . . . . . . . . . . . . . . 24

6. Calculo del esqueleto de una imagen 3D usando computacioncon membranas 276.1. Algoritmo de esqueletizacion . . . . . . . . . . . . . . . . . . . 276.2. Complejidad del algoritmo y recursos necesarios . . . . . . . . 36

7. Conclusiones y trabajo futuro 37

Bibliografıa 39

1

Page 6: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

2

Page 7: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Indice de figuras

2.1. Algunos modelos de conectividad digital. De izquierda a de-recha: 4-conectividad, 8-conectividad, 6-conectividad y 26 co-nectividad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2. Modelo digital en 2D representado como un conjunto de pun-tos (a) y el esqueleto resultante del adelgazamiento (b). Ob-serve que la eliminacion paralela de puntos simples eliminarıacompletamente la region destacada en (a), resultando en (b),por lo tanto, cambiarıa la topologıa del objeto. Ademas, la cur-va esqueleto no es delgada en la region destacada (c). Aquı seha usado la 4-conectividad. . . . . . . . . . . . . . . . . . . . . 11

3.1. Ejemplo de colapso simplicial, con los elementos eliminadosσ, δ marcados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2. De izquierda a derecha: complejo celular, estado del complejotras una iteracion del algoritmo de esqueletizacion y estadodel complejo tras dos iteraciones. . . . . . . . . . . . . . . . . 15

4.1. Medidas de distacia d y D en el 2-esqueleto de una forma 2D. 184.2. Modelo celular de un caballo en 2D (a), el resultado de aplicar

el algoritmo de esqueletizacion para los umbrales t1 = 5 yt2 = 0,5 (b), y las medidas de distancia y significatividad delas 1-celdas tras la eliminacion paralela de las 2-celdas (c,d,e,f). 20

6.1. Plantillas de eliminacion basicas. . . . . . . . . . . . . . . . . 286.2. Plantillas de eliminacion de la clase A. . . . . . . . . . . . . . 286.3. Plantillas de eliminacion de la clase B. . . . . . . . . . . . . . 286.4. Plantillas de eliminacion de la clase C. . . . . . . . . . . . . . 296.5. Plantillas de eliminacion de la clase D. . . . . . . . . . . . . . 296.6. Sistema de referencia utilizado en los objetos del alfabeto. . . 30

3

Page 8: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

4

Page 9: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Indice de cuadros

6.1. Complejidad y recursos necesarios para el algoritmo de esque-letizacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5

Page 10: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

6

Page 11: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Capıtulo 1

Introduccion

Los esqueletos son estructuras topologicas “delgadas” que se encuentrandentro de estructuras solidas. Como descriptores de forma, los esqueletosse usan en muchas aplicaciones que requieren analisis de forma, tales comoreconocimiento de caracteres escritos a mano [2], emparejado y recuperacionde modelos 3D [14], segmentacion de modelos [34], y aplicaciones medicascomo identificacion de estructuras proteicas a partir de imagenes en bajaresolucion [18].

La utilidad de los esqueletos en las aplicaciones mencionadas requiere queestos mantengan una serie de propiedades esenciales del objeto de partida.En primer lugar, la topologıa del esqueleto y el objeto deben tener las mismaspropiedades, tales como la conectividad, el genero, etc. Al mismo tiempo lageometrıa del esqueleto debe capturar informacion acerca de la forma delobjeto.

En terminos generales, los metodos de computacion de esqueletos curvosy superficiales de objetos en 3D se pueden clasificar en dos categorıas, de-pendiendo cada una de una representacion especıfica del objeto. Si el objetose representa como un poliedro cerrado, el esqueleto se puede calcular me-diante la construccion y poda de los ejes medios del objeto [6]. Si el objeto serepresenta digitalmente como una coleccion de puntos en una trama, el es-queleto se construye a partir de un proceso iterativo de erosion, denominadoadelgazamiento.

En este trabajo vamos a adoptar el segundo enfoque por dos razones.En primer lugar, una gran clase de modelos que vienen del procesamientode imagenes medicas, en representacion de las estructuras biologicas, estanrepresentados de forma nativa digital como un conjunto de puntos discretos.En segundo lugar, comparados con los metodos de computacion y simpli-ficacion de los ejes medios, el adelgazamiento es de facil implementacion ypresenta un comportamiento numericamente estable.

7

Page 12: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Sin embargo, los algoritmos actuales de adelgazamiento tienen sus propiasdesventajas. Tal como se vera en el proximo capıtulo, estos algoritmos tienendificultades para calcular un esqueleto que conserve la topologıa del modelodigital. Cabe destacar que estas dificultades son inherentes a la representaciondel modelo digital como una coleccion discreta de puntos.

En este trabajo se va a adoptar un modelo de representacion del objetobasado en complejos celulares. A diferencia de la representacion basado enpuntos, un complejo celular es un espacio continuo en el que se puede aplicarlas herramientas de geometrıa Euclıdea clasica y de la topologıa algebraica.En particular, se muestra que el uso de complejos celulares hace que seamucho mas facil la produccion de esqueletos (como subcomplejos) que pre-servan la topologıa del complejo celular original mediante un procedimientode erosion similar al usado en la representacion basada en puntos.

A fin de adelgazar un complejo celular en un esqueleto, que tambien con-serve la informacion de forma, se proponen dos medidas de significatividadque guıan el proceso de adelgazamiento. La formulacion de las dos medidasesta basada en las que se utilizan para la simplificacion de los ejes mediosen un modelo poliedrico. Si bien estas medidas estan estrechamente relacio-nadas con la forma global del objeto, aun pueden ser calculadas localmentede manera eficiente durante el adelgazamiento. A partir de estas medidas,se presenta un algoritmo simple de adelgazamiento que, dado un complejocelular en 3D, producen esqueletos (1-dimensionales y 2-dimensionales) querespetan la forma y la topologıa (mediante equivalencia de homotopıa) delcomplejo celular original.

Este trabajo se organiza de la siguiente manera. En el capıtulo 2, hacemosun breve repaso de los algoritmos existentes en los modelos digitales represen-tados a partir de puntos discretos, y mostramos algunas de sus limitaciones.La representacion mediante complejos celulares se introducen en el capıtulo3, y se demuestran las propiedades de esta representacion que la hacen ade-cuada para la realizacion de adelgazamiento. Las medidas de significatividadse presentan en el capıtulo 4, seguido por el algoritmo de adelgazamiento. Enel capıtulo 5 se introduce el marco formal de computacion con membranas,que se utilizara en el capıtulo 6 para describir un algoritmo para resolver elproblema de la esqueletizacion de imagenes binarias 3D. En el capıtulo 7 sepresentan algunas conclusiones y propuestas de trabajo futuro.

8

Page 13: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Capıtulo 2

Modelos digitales yadelgazamiento

2.1. Modelos digitales

Un modelo digital se representa tradicionalmente como un conjunto depuntos en una cuadrıcula. La geometrıa y la topologıa del modelo digital sedefinen mediante el establecimiento de las relaciones de adyacencia entre lospuntos, es decir, el conjunto de puntos en el entorno de uno dado que seconectan a este. En 2D, la 4/8-conectividad son ampliamente utilizadas. Enla figura 2.1 aparecen los puntos 4-adyacentes y los 8-adyacentes a uno dado.Del mismo modo, en 3D, la 6/26-conectividad se puede definir en un entorno3× 3× 3, como se muestra en la figura 2.1.

Figura 2.1: Algunos modelos de conectividad digital. De izquierda a derecha:4-conectividad, 8-conectividad, 6-conectividad y 26 conectividad.

9

Page 14: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

2.2. Adelgazamiento

El adelgazamiento o esqueletizacion es una tecnica basada en erosionessucesivas para el calculo de esqueletos. Dado un modelo solido representadopor una coleccion de puntos, la erosion iterativa elimina puntos de la capa ex-terna del objeto (aquella adyacente al complementario del mismo) hasta quequeda una estructura delgada, en la zona central del objeto, de manera queequidista del complementario en cualquier direccion. Con el fin de producirun esqueleto que conserve la topologıa y la forma del objeto, el adelgazamien-to debe evitar la introduccion de cambios topologicos, tales como la rupturade la conectividad o la insercion de agujeros; ası mismo el adelgazamientodebe evitar la perdida de informacion de forma, tales como contraccion decurvas o superficies que representan informacion significativa de la forma delobjeto.

Para alcanzar estos objetivos, los algoritmos de adelgazamiento actualesidentifican los puntos cuya eliminacion introducirıa cambios topologicos ola perdida de informacion de la forma, y protegen estos puntos durante elproceso. En particular, los puntos cuya eliminacion no introducirıa cambiostopologicos, llamados puntos simples, se pueden identificar mediante la com-probacion solo de su entorno [18]. Similares criterios locales [26, 3, 24, 4, 35]han sido propuestos para identificar los puntos que se encuentran en la fron-tera de las curvas y las superficies del esqueleto, llamados punto finales decurva o superficie, los cuales estan protegidos para evitar la reduccion deestas caracterısticas. De esta manera, el mantenimiento de los tres tipos depuntos citados hacen que el esqueleto respete la topologıa (puntos simples)y la forma del objeto (puntos finales de curva o superficie). El uso de es-tos criterios locales dan lugar a algoritmos de estructura simple y tiempo deejecucion eficiente.

Sin embargo, los actuales algoritmos de adelgazamiento adolecen de unaserie de limitaciones comunes.

Conservacion de la topologıa: Aunque la identificacion y la proteccionde puntos simples garantiza consistencia topologica cuando los puntosse comprueban y se quita uno cada vez, esta coherencia no esta ga-rantizada cuando los puntos se quitan en paralelo. Por ejemplo, en lafigura 2.2(a), cada punto de la region seleccionada cumple los crite-rios de punto simple, es decir, la eliminacion de cualquiera de ellos nointroducirıa cambios topologicos en el objeto. Sin embargo, la elimina-cion simultanea de todos estos puntos romperıa el “ciclo” inferior de laforma “&”,introduciendo un cambio topologico.

Hay dos razones por las que el adelgazamiento en paralelo es deseable.

10

Page 15: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

(a) (b) (c)

Figura 2.2: Modelo digital en 2D representado como un conjunto de puntos(a) y el esqueleto resultante del adelgazamiento (b). Observe que la elimina-cion paralela de puntos simples eliminarıa completamente la region destaca-da en (a), resultando en (b), por lo tanto, cambiarıa la topologıa del objeto.Ademas, la curva esqueleto no es delgada en la region destacada (c). Aquı seha usado la 4-conectividad.

En primer lugar, si los puntos de la capa mas externa del objeto secomprueban y se eliminan uno tras otro, un orden de consideracion delos puntos diferente puede conducir a una forma de esqueleto diferente,por lo que el resultado esta sujeto a sutiles decisiones algorıtmicas. Ensegundo lugar, un algoritmo paralelo de adelgazamiento puede ser facil-mente paralelizado, ya que la supresion de cada punto es independientede los demas.

Como remedio, el adelgazamiento paralelo en modelos digitales se puedelograr mediante la sustitucion de los criterios de punto simple por otrosmucho mas complejos que implican un entorno mayor [20, 22, 21], orecurriendo a las sub-iteraciones [20, 30, 21, 23, 5, 33].

Delgadez de esqueletos: El esqueleto resultado del adelgazamiento no siem-pre es “delgado”, especialmente en las articulaciones de las curvas ysuperficies del esqueleto. En el ejemplo en la figura 2.2(c), en el esque-leto producido por el adelgazamiento, cada union marcada implica unbloque de 4 puntos de los que no se puede extraer informacion de cur-va (en contraste con el resto del esqueleto). Tengase en cuenta que laeliminacion de cualquier punto en las regiones “gruesas” puede causardesconexion (suponiendo que se utiliza la 4-conectividad). Los esquele-tos gruesos hacen que sea difıcil identificar la geometrıa del esqueleto,tales como curvas y superficies en un esqueleto en 3D. Estas geometrıasson importantes para muchas aplicaciones, tales como el reconocimien-to de formas, emparejamiento o reconocimiento y segmentacion.

Conservacion de la forma: Como la deteccion de los puntos finales de

11

Page 16: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

curva y de superficie se basan en entornos locales, el adelgazamientoes muy sensible al ruido en la frontera del objeto. Aunque algunos al-goritmos de poda se han desarrollado para esqueletos producidos poradelgazamiento [1], dicha poda es de por sı difıcil en un modelo di-gital (especialmente para superficies esqueleto) porque el esqueleto nosiempre es delgado y su geometrıa no es siempre identificable.

Nos gustarıa senalar que algunas de estas limitaciones (sobre todo lasdos primeras) son inherentes a la representacion de modelos digitales comouna coleccion de puntos de una trama. Por consiguiente, el problema de laesqueletizacion no puede ser resuelto por completo a menos que se cambie elmodelo de representacion usado.

12

Page 17: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Capıtulo 3

Complejos celulares

En este trabajo, vamos a considerar una representacion alternativa de losmodelos digitales como complejos celulares, que poseen mejores propiedadesque las representaciones de puntos de cara al adelgazamiento. Comenzamoscon la introduccion de la representacion usando complejos celulares. A conti-nuacion, se introduce un operador de eliminacion en los complejos celulares,similar a la eliminacion de puntos en modelo basado en puntos, y mostramosque el operador en el complejo celular resuelve elegantemente las cuestionesque hemos mencionado anteriormente. Por ultimo, se describe como el com-plejo celular puede ser construido a partir de representaciones basadas enpuntos de modelos digitales.

3.1. Definicion

La definicion de complejo celular se basa en la nocion de celdas. En primerlugar, veamos la definicion de una p-celda:

Definicion 3.1 Una p-celda es un espacio topologico que es homotopicamen-te equivalente a una bola abierta de dimension p.

Intuitivamente, la equivalencia de homotopıa significa que una p-celdapuede ser obtenida por compresion o extension de una p-bola abierta. Porejemplo, los puntos son 0-celdas, las aristas abiertas son 1-celdas, los triangu-los abiertos son 2-celdas, los tetraedros abiertos son 3-celdas, y ası sucesiva-mente.

Definicion 3.2 En el espacio N-dimensional, un complejo celular K es unconjunto cerrado de p-celdas (p ≤ N). Es decir, si σ ∈ K y δ esta en lafrontera de σ, entonces δ ∈ K.

13

Page 18: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Figura 3.1: Ejemplo de colapso simplicial, con los elementos eliminados σ, δmarcados.

3.2. Colapso simplicial

Los complejos celulares han sido ampliamente estudiados en TopologıaAlgebraica. Uno de los hechos conocidos acerca de ellos es que admiten unprocedimiento local, llamado colapso simplicial, que contrae el complejo altiempo que conserva su homotopıa [17].

Definicion 3.3 Un colapso simplicial de un complejo celular K es la elimi-nacion de un par de celdas (σ, δ), de dimensiones respectivas p y p−1, dondeδ no esta en la frontera de cualquier otra celula en K excepto σ.

El resultado de un colapso simplicial es otro complejo celular, que esun subconjunto del complejo original homotopicamente equivalente a este.La figura 3.1 muestra dos aplicaciones consecutivas de un colapso simplicialen el complejo celular de la figura 3.1(a), el primero elimina un par arista–triangulo, y el segundo elimina un par punto–arista. Para facilitar el estudio,vamos a llamar al par (σ, δ) que satisfaga las condiciones de la definicion 3.3par p-simple.

Los pares simples en complejos celulares pueden ser considerados comohomologos de los puntos simples en las representaciones basadas en puntos.Ası como la eliminacion de puntos simples en los modelos basados en punto,la eliminacion de pares simples en complejos celulares garantiza la conserva-cion de la topologıa en la contraccion del objeto. Ademas, la identificacionde pares simples tambien implica solo informacion del entorno local de lasceldas. Sin embargo, el colapso simplicial en complejos celulares no presentalos problemas que observamos en el adelgazamiento de las representacionesbasadas en puntos.

Conservacion de la topologıa: Se observo en 2.2 que la eliminacion pa-ralela de puntos simples puede no preservar la topologıa del objeto. Aquı mos-tramos que esto no es un problema para el colapso simplicial en complejoscelulares:

14

Page 19: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Figura 3.2: De izquierda a derecha: complejo celular, estado del complejo trasuna iteracion del algoritmo de esqueletizacion y estado del complejo tras dositeraciones.

Proposicion 3.1 Sea E = {{σ1, δ1}, . . . , {σn, δn}} una coleccion de paressimples en un complejo K, tales que σi 6= σj para i 6= j. El residuo K ′ =K \ E sigue siendo un complejo celular que es, ademas, homotopicamenteequivalente a K.

Demostracion: Todas las celdas de E son diferentes. Como las σ son di-ferentes, las δ, que son frontera exclusiva de su σ correspondiente, tambienlo son. Como δ ha de estar en la frontera de σ, no hay ningun par en elque σ = δ. La eliminacion de un par simple de E en el complejo K resultaen otro complejo topologicamente equivalente, y el resto de pares simplesde E siguen siendo simples en el nuevo complejo. Por tanto, podemos elimi-nar todos los pares simples uno a uno, obteniendo un complejo homotopica-mente equivalente, lo que es equivalente a eliminar todos los pares simplessimultaneamente.

La Proposicion 3.1 implica que la eliminacion de pares simples en un com-plejo celular, ya sea secuencialmente o en paralelo, garantiza la consistenciatopologica. Esto constituye una mejora fundamental frente a la eliminacionde puntos. Observese que, al contrario que la eliminacion de puntos en lafigura 2.2, la eliminacion de todos los pares simples en la region senalada en3.2 no introduce cambios en la topologıa.

Delgadez de esqueletos: Se observo en 2.2 que el adelgazamiento pre-servando la topologıa en representaciones basadas en puntos, no siempre pro-duce una geometrıa de esqueleto fina. Por el contrario, un complejo celularsiempre se puede hacer “delgado“ con colapsos simpliciales:

Proposicion 3.2 Sea K un complejo celular en un espacio N-dimensional.Si K no posee pares N-simples, entonces en K no hay N-celdas.

15

Page 20: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Demostracion: Veamoslo por reduccion al absurdo. Supongamos que hayN -celdas en K. Las ordenamos a lo largo de una direccion de izquierda aderecha. Para laN -celda mas a la izquierda, debe existir al menos una (N−1)-celda en su frontera izquierda, que no este en la frontera de ninguna otraN -celda. Esta N -celda y su frontera izquierda forman un par N -simple, quecontradice que K no tiene pares N -simples.

En el ejemplo de la figura 3.2, despues de eliminar todos los pares de2-simples en el complejo celular en (a), el complejo que queda en (b) no tiene2-celdas. Ademas, debido a la naturaleza geometrica de las celdas, es muyfacil identificar la geometrıa del esqueleto en el complejo resultante.

3.3. Construccion del complejo celular

Dado que el objetivo de nuestro trabajo consiste en calcular el esqueletode modelos digitales, y ya que estos estan representados por puntos en redesespaciales, aquı se muestra como construir el complejo celular de un modelodigital basado en puntos. Tengase en cuenta que no es la primera vez que seconsideran los complejos celulares como representaciones alternativas paramodelos digitales. Trabajos anteriores han utilizado complejos celulares paraanalizar las propiedades topologicas de un modelo digital basado en puntos[19] o incluso la realizacion de cirugıas topologicas [39]. Aquı adoptamos suenfoque para la construccion del complejo celular.

Dado un modelo digital formado por puntos en una cuadrıcula espacialN -dimensional, se anaden todos los puntos como 0-celdas, a continuacion,agregamos todos los elementos p-dimensionales de la red (por ejemplo, lasaristas, las caras, etc.) como p-celdas si todos los puntos de la red contenidosen ese elemento pertenecen al modelo digital. Por ejemplo, el complejo decelulas en la figura 3.2 se construye de esta forma a partir de la figura 2.2.Tenga en cuenta que la coleccion de celdas resultante de esta construccionsiempre forma un conjunto cerrado, y por lo tanto, es un complejo celularvalido.

16

Page 21: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Capıtulo 4

Un algoritmo de esqueletizacion

Utilizando el colapso simplicial de complejos celulares, presentamos unalgoritmo de adelgazamiento con el objetivo de calcular un esqueleto querespete la topologıa y la forma del objeto inicial. Tenga en cuenta que laeliminacion exhaustiva de todos los pares simples de un complejo celularpuede hacer facilmente que se pierda informacion de la forma del complejooriginal, como la cola en el ”&.en 3.2. El reto, por tanto, se encuentra en laconservacion durante el adelgazamiento de las celdas que contienen informa-cion importante de la forma. Estamos frente al desafıo de calcular medidasde la importancia de una celda, como parte del esqueleto. En contraste conlos criterios muy localizados para detectar puntos de final de curva y finalde superficie en el adelgazamiento de modelos digitales basados en puntos,nuestras medidas reflejan propiedades globales de forma y aun pueden sercalculados localmente durante el adelgazamiento.

4.1. Medidas de significatividad

A fin de mantener las celdas correspondientes a los diferentes tipos decomponentes de forma, es necesario una medida general de significatividadpara una p-celda como parte el esqueleto p-dimensional para p < N . Tengaseen cuenta que la mayorıa de las medidas de significatividad existentes paralas partes de un esqueleto o ejes medios son adimensionales. Es decir, quesolo evaluan la posibilidad de que una parte del esqueleto se encuentre en elcentro de una componente de forma significativa del objeto, independiente-mente del tipo de componente o la dimension de la geometrıa del esqueleto.Estas medidas son insuficientes si queremos calcular un esqueleto donde ladimension de la geometrıa (por ejemplo, curvas o superficies en 3D) reflejeel tipo de componentes de forma (por ejemplo, tubos o placas).

17

Page 22: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Figura 4.1: Medidas de distacia d y D en el 2-esqueleto de una forma 2D.

Nuestra medida de significatividad que tiene en cuenta la dimension sebasa en la siguiente idea. Un punto P en una geometrıa de esqueletizacionp-D puede ser considerado significativo si P se centra en una componente deforma que tenga p direcciones significativas de alargamiento (por ejemplo, lostubos tienen una direccion de elongacion, las placas cuentan con 2, etc). Masespecıficamente, si hemos de considerar una p-celda σ en una geometrıa deesqueletizacion p-dimensional, las p direcciones de elongacion de la compo-nente de forma correspondiente debe seguir aproximadamente el esqueleto.Para calcular la cantidad de elongacion, consideramos el radio d de la bolageodesica mas grande en el esqueleto con centro en σ, y el radio D de la bolaeuclıdea centrada en σ mas grande inscrita en el objeto. Intuitivamente, dcaptura la distancia mas corta de la elongacion desde σ a la frontera del es-queleto, mientras que D captura la distancia mas corta entre σ y la fronteradel objeto. Estas distancias se muestran en figura 4.1.

Observe en la Figura 4.1 que cuanto mayor sea d comparado con D,mayor sera la elongacion. Hay muchas maneras de medir la diferencia entredos numeros. Consideramos las dos siguientes que dan valores mayores paramayores diferencias:

s1 = d−D

s2 = 1− D

d

Estas dos medidas de diferencia caracterizan la elongacion de una com-ponente de forma de diferentes maneras. s2 mide las diferencias relativas,por lo tanto, captura la relacion de aspecto entre la componente de formaindependientemente de la escala. Sin embargo, puede dar valores elevadosante un pequeno ruido en la frontera del objeto. Por otro lado, s1 calcula lasdiferencias absolutas entre las dos distancias, por lo tanto, es sensible a laescala. Por tanto, una p-celda es considerada como significativa si ambas s1

y s2 son significativamente altas.

18

Page 23: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Para calcular en la practica estas dos medidas, s1 y s2, en un complejocelular, consideramos la siguiente aproximacion a las distancias d y D basadaen el proceso de extraccion en paralelo de pares simples. Se dice que una p-celda σ esta aislada en un complejo K si σ no se encuentran en la fronterade ninguna otra celda de dimension superior en K. Ahora, considere unproceso iterativo de adelgazamiento en el que cada iteracion elimina todoslos pares simples detectados en el complejo celular (por ejemplo, como el dela Figura 3.2(a)). La distancia D en una p-celda σ puede ser aproximado porel numero de iteracion en la que σ queda aislada por primera vez. Debidoal adelgazamiento paralelo, este valor expresa el tiempo que se tarda enerosionar la frontera de σ. Del mismo modo, calculamos la distancia d comoel numero de iteracion en el que σ se convierte en una de las celdas en un parp-simple. Este numero de iteracion expresa el tiempo necesario para erosionarla frontera del esqueleto p-dimensional de σ.

En las figura 4.2(c, d) se muestra un ejemplo de nuestras aproximacionesdiscretas de las distancias d y D para todas las 1-celdas que permanecierondespues de la eliminacion paralela de 2-celdas en el complejo celular 2D enla figura 4.2(a). Ademas, las dos medidas de diferencia, s1 y s2 de las dosdistancias se muestran en la figura 4.2(e,f). Observe que, si bien s1 da valoresmas altos en los bordes mas alejados de la frontera del objeto (por ejemplo,en el centro del caballo), s2 da valores mas altos en las aristas en las partesalargadas del objeto, independientemente de su escala, incluyendo algunosbaches en la frontera. Esta observacion nos lleva a considerar solo aquellasaristas en las que s1 y s2 son ambas altas, como los que se muestran en laFigura 4.2(b), como parte del esqueleto bidimensional.

4.2. Algoritmo

A continuacion desarrollamos un algoritmo de adelgazamiento para elcalculo de esqueletos que conserven la forma, basado en las medidas de sig-nificatividad presentadas anteriormente. Es importante senalar que los dosmedidas de distancia, d y D, y por tanto sus diferencias, s1 y s2, se puedencalcular a nivel local durante la eliminacion paralela de pares simples. Todolo que se necesita es registrar en cada celda σ el numero de iteracion en laque σ se aısla.

El algoritmo completo se presenta en 1. Se trata de un sencillo procedi-miento iterativo. En cada iteracion, los pares simples son detectados y lasmedidas de significatividad se calculan para la celda de mayor dimension σ encada par. Solo los pares simples donde una de las medidas de significatividades menor que un umbral especificado por el usuario se eliminan.

19

Page 24: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

(a) Entrada (b) Esqueleto final para los umbrales t1 = 5 y t2 = 0,5

(c) Medida D (d) Medida d

(e) Medida s1 (f) Medida s2

Figura 4.2: Modelo celular de un caballo en 2D (a), el resultado de aplicarel algoritmo de esqueletizacion para los umbrales t1 = 5 y t2 = 0,5 (b), ylas medidas de distancia y significatividad de las 1-celdas tras la eliminacionparalela de las 2-celdas (c,d,e,f).

20

Page 25: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Algoritmo 1 Algoritmo de esqueletizacion

Require: K complejo celular, t1, t2 > 0for all σ ∈ K aislada doD ← 0

end foriter← 1repeat

Encontrar todos los pares simples S = {{σi, δi}}for all σi ∈ S dod← iter

end forSea S ′ ⊂ S el conjunto de pares simples con s1 < t1 o s2 < t2for all nuevas celdas aisladas doD ← iter

end forK = K \ S ′iter← iter + 1

until S = ∅

Nuestro algoritmo de adelgazamiento es muy simple y facil de implemen-tar. La conservacion de la topologıa y la delgadez estan garantizados por eluso de colapsos simpliciales. La conservacion de la forma se logra median-te las dos medidas globales de significatividad. Ademas, el codigo funcionapara complejos celulares de cualquier dimension, y produce el esqueleto quecorresponde a diferentes tipos de componentes de forma (por ejemplo, partesalargadas en 2D, tubos y placas en 3D, etc.). A modo de ejemplo, la figura4.2(b) es el resultado de nuestro algoritmo para la forma de caballo en 4.2(a),donde t1 = 5 y t2 = 0, 5.

21

Page 26: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

22

Page 27: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Capıtulo 5

Computacion con membranas

La computacion con membranas es un paradigma de computacion ins-pirado en el funcionamiento de las celulas y tejidos vivos. Una de sus ca-racterısticas es el uso del paralelismo como un instrumento de calculo. Enmuchos de los modelos, los dispositivos realizan la computacion mediante laaplicacion de la paralelizacion en un doble sentido: por un lado, varias re-glas pueden ser aplicadas simultaneamente en cada membrana, por otro lado,todas las membranas realizan la computacion al mismo tiempo.

A pesar de los esfuerzos recientes [15], parece que en el futuro proximo nohabra una implementacion de P sistemas in vivo o in vitro. Todos los posiblesenfoques para el modelo teorico se apoyan en las arquitecturas informaticasactuales.

En esta lınea, muchos esfuerzos se han hecho para la obtencion de unasimulacion del comportamiento de un P sistema con los equipos actuales[13, 16]. La mayorıa de estos simuladores estan pensados para funcionar enequipos con un solo procesador. Estas maquinas secuenciales solo realizanuna accion por unidad de tiempo y el paralelismo de los dispositivos decomputacion con membranas se pierde. Este cuello de botella produce unaseria discrepancia entre la eficiencia teorica de los sistemas P y los recursosreales necesarios para llevar a cabo una computacion.

En los ultimos anos, de acuerdo con el desarrollo de nuevas arquitecturasparalelas, se han realizado nuevos intentos para acercarse a la computacionde P sistemas realizando varias acciones en el mismo paso. Esto no significauna implementacion real del P sistema, pero puede ser considerado como unnuevo paso hacia una simulacion mas realista.

Los primeros simuladores paralelos y distribuidos se presentaron en el ano2003. En [12] se presento una implementacion paralela de los P sistemas detransicion. El programa fue disenado para un cluster de 64 nodos de dobleprocesador y fue implementado y probado en un cluster Linux de la Uni-

23

Page 28: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

versidad Nacional de Singapur. En [36] se presento un simulador puramentedistribuido de P sistemas. La implementacion se llevo a cabo usando la invo-cacion remota de metodos de Java para conectar un numero de equipos queintercambian datos. La clase de los P sistemas que el simulador puede acep-tar es un subconjunto de la familia de sistemas NOP2(coo, tar), que tiene elpoder de computo de las Maquinas de Turing.

Recientemente, una nueva lınea de investigacion ha surgido debido a unanueva arquitectura de dispositivo llamada CUDATM, [29]. Se trata de unaarquitectura de proposito general de computacion paralela a traves del motorde computacion en las unidades de proceso grafico NVIDIA (GPU) para re-solver los numerosos y complejos problemas computacionales de una maneramas eficiente que en una CPU [7, 8, 9].

5.1. Marco Formal: P Sistemas tipo tejido

En la definicion basica de P sistema tipo celula [28], las membranas estandispuestas jerarquicamente en una estructura en forma de arbol. Su inspi-racion biologica proviene de la morfologıa celular, donde pequenas vesıculasestan contenidas en otras mayores. En los P sistemas tipo tejido, la estruc-tura de membranas en forma de arbol es sustituida por un grafo generico.La inspiracion biologica para este modelo es la comunicacion intercelular yla cooperacion entre neuronas. La comunicacion entre las celulas se basa enreglas symport/antiport. Los P sistemas tipo tejido se ha usado abundante-mente para resolver problemas en otras areas (ver, por ejemplo, [11, 12]).En nuestro trabajo vamos a utilizar una variante de los P sistemas tipo te-jido donde la aplicacion de las reglas viene regulada por promotores. Estospromotores tienen una clara inspiracion biologica. La regla es aplicada si losreactantes estan presentes, pero ademas es necesaria la presencia del pro-motor en la celda correspondiente. Los promotores no son consumidos niproducidos por la aplicacion de la regla, pero si no estan presentes en la cel-da, la regla no puede aplicarse. En un paso de computacion, cada reactanteen una membrana puede ser usado unicamente por una regla, pero en el casoen que varias reglas requieran la presencia del mismo promotor, entonces lapresencia de una unica instancia del mismo es suficiente para la aplicacionde todas ellas. Si existen varias posibilidades, la regla se elige de manerano determinista. A continuacion, recordamos la definicion formal de estos Psistemas.

Definicion 5.1 Un P sistema tipo tejido con promotores de grado q ≥ 1 es

24

Page 29: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

una tupla de la forma

Π = (Γ,Σ, E , w1, . . . , wq,R, iin, io)

donde q es el numero de celulas en el P sistema y

1. Γ es un alfabeto finito, cuyos sımbolos se llaman objetos. Estos objetospueden encontrarse dentro de las celulas o en el espacio que las rodea(llamado entorno).

2. Σ ⊆ Γ es el alfabeto de entrada. La entrada de la computacion realizadapor el P sistema se codifica usando este alfabeto.

3. E ⊆ Γ es un alfabeto finito que representa el conjunto de objetos en elentorno. Siguiendo una inspiracion biologica, los objetos en el entornoestan disponibles en una cantidad arbitrariamente grande.

4. w1, . . . , wn son cadenas sobre Γ que representan los multiconjuntos deobjetos situados en el interior de las celulas al comienzo de la compu-tacion.

5. R es un conjunto finito de reglas de la siguiente forma:

(pro|i, u/v, j), para 0 ≤ i 6= j ≤ q, pro, u, v ∈ Γ∗

6. iin ∈ {1, 2, . . . , q} denota la celula de entrada, es decir, la celula dondese situara la entrada de la computacion.

7. io ∈ {1, 2, . . . , q} denota la celula de salida.

Informalmente, un P sistema tipo tejido con promotores de grado q ≥ 1puede verse como un conjunto de q celulas etiquetadas por 1, 2, . . . , q. Lascelulas son los nodos de un grafo virtual, cuyas aristas vienen determinadaspor las reglas de comunicacion del sistema, es decir, como es ordinario enlos P Sistemas tipo tejido, las aristas que conectan las celulas no se indicanexplıcitamente: si una regla (pro|i, u/v, j) esta presente, entonces las celulasi y j se consideran enlazadas. La aplicacion de una regla (pro|i, u/v, j) con-siste en el intercambio del multiconjunto u (inicialmente en la celula i) porel multiconjunto v (inicialmente en j). Despues de la aplicacion de la regla,el multiconjunto u desaparece de la celula i y aparece en la celula j. Analo-gamente, el multiconjunto v desaparece de la celula j y aparece en la celulai. Ası mismo, el intercambio puede realizarse entre una celula y el entorno,etiquetado como 0. La regla es aplicada si en la celula con la etiqueta i estan

25

Page 30: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

presentes los objetos de pro (promotores). Los promotores no son modifica-dos por la aplicacion de la regla. Si el multiconjunto de promotores es vacıo,escribiremos (i, u/v, j) en vez de (∅|i, u/v, j).

En nuestra definicion, todos los objetos el alfabeto pueden ser promotores,en funcion de la regla aplicada. La reglas se utilizan de la manera habitualen el marco de la computacion con membranas, es decir, de manera para-lela maximal (considerando un reloj universal). Una configuracion es unadescripcion instantanea del P Sistema y viene representada por una tupla(w1, . . . , wq). Dada una configuracion, podemos realizar un paso de compu-tacion y obtener una nueva configuracion mediante la aplicacion de todas lasreglas disponibles de manera paralela tal como vimos anteriormente. Deci-mos que una configuracion es de parada cuando no se puede aplicar ningunaregla. La salida de una computacion es recolectada de su configuracion deparada a traves de la lectura de los objetos contenidos en la celula de salida.

Por otro lado, debemos considerar que algunos objetos que no pertenecena E pueden llegar al entorno durante la computacion. Ası, en una configu-racion (que no sea la inicial) podemos encontrar dos tipos de objetos en elentorno: primero, aquellos que aparecen en el alfabeto del entorno y apare-cen en cantidad arbitrariamente grande. Por tanto, el sistema puede tomartantas copias de ellos como sea necesario en cada paso de computacion. Ensegundo lugar, aquellos que no pertenecen al alfabeto del entorno. Para es-tos, el entorno funciona como una celula corriente, es decir, unicamente haydisponibles tantas copias de estos objetos como hayan llegado al entorno enpasos anteriores.

26

Page 31: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Capıtulo 6

Calculo del esqueleto de unaimagen 3D usando computacioncon membranas

A fin de presentar un algoritmo de esqueletizacion usando computacioncon membranas, vamos a basarnos en el algoritmo presentado en [38]. Hemosseleccionado este algoritmo porque su diseno lo hace facilmente implementa-ble usando este modelo de computacion.

6.1. Algoritmo de esqueletizacion

En 1996, Ma y Sonka propusieron un algoritmo de esqueletizacion deimagenes 3D [25], que se utilizo en muchas aplicaciones tales como procesa-miento de imagenes medicas [10] y reconstruccion 3D [37].

El algoritmo se basa en algunas plantillas predefinidas (Clases A, B, Cy D). Si el entorno de un punto en el objeto coincide con una de las plan-tillas, dicho punto sera eliminado. La figura 6.1 muestra los cuatro nucleosde plantilla basicos. En esta figura, ”•”se utiliza para denotar un punto delobjeto,”◦” se utiliza para denotar un punto de fondo. Un punto no marcadoes un punto cuyo valor es indiferente, que puede representar un punto delobjeto o del fondo.

Los nucleos de plantilla en sı no son las plantillas de eliminacion. Algunastransformaciones [25] deben aplicarse a los nucleos para generar las plantillasde eliminacion. Hay seis modelos de la Clase A, 12 plantillas de la clase B, 8 enla Clase C y 12 plantillas de la Clase D, de acuerdo con las transformaciones.Las plantillas en las clases A–D se muestran en las figuras 6.2–6.5. En lafigura 6.5, por lo menos un punto marcado con � ha de ser un punto del

27

Page 32: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Figura 6.1: Plantillas de eliminacion basicas.

Figura 6.2: Plantillas de eliminacion de la clase A.

objeto.Ma y Sonka definieron las condiciones de conservacion de la siguiente ma-

nera: Regla 2.2. Sea p un punto del objeto de una imagen en 3D. Entonces:

1. p se llama un punto de fin de lınea, si p es 26-adyacente a exactamenteun punto del objeto,

2. p se llama un punto cercano a fin de lınea si p es 26-adyacente a exac-tamente dos puntos del objeto entre los siguientes casos:

a) ya sea s(p) y e(p), o s(p) y u(p), pero no ambos;

b) cualquiera entre n(p) y w(p), o u(p) y w(p), pero no ambos; o

c) cualquiera entre n(p) y d(p), o e(p) y d(p), pero no ambos;

Figura 6.3: Plantillas de eliminacion de la clase B.

28

Page 33: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Figura 6.4: Plantillas de eliminacion de la clase C.

Figura 6.5: Plantillas de eliminacion de la clase D.

29

Page 34: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Figura 6.6: Sistema de referencia utilizado en los objetos del alfabeto.

3. p se llama un punto de cola, si o bien es un punto cercano a final delınea, o es final de lınea; de lo contrario se le llama punto no-cola,

donde e(p), w(p), n(p), s(p), u(p) y d(p) son los vecinos de p situados al este,oeste, norte, sur, arriba y abajo, respectivamente.

El algoritmo basado en las plantillas citadas en [25] falla en determinadassituaciones, en las que rompe la topologıa del objeto al desconectar zonasque previamente eran conexas. Wang y Basu en [38] corrigieron dicho errormediante la modificacion de algunas plantillas de eliminacion. Es en estasultimas plantillas en las que basaremos nuestro algoritmo de esqueletizacionusando computacion con membranas.

La implementacion del algoritmo de esqueletizacion de Ma y Sonka, mo-dificado por Wang y Basu, usando computacion con membranas se basa enuna familia de P sistemas con promotores Π(n) de grado 2 para n ∈ N. Cadasistema de la familia esqueletiza una imagen cubica 3D de tamano n3. Elalfabeto de objetos es

Γ = {Cijk : 1 ≤ i, j, k ≤ n ∧ C ∈ {B,W}}

donde (i, j, k) son las coordenadas de un punto en la imagen, B denota aun pıxel negro (del objeto) y W un pıxel blanco (del fondo). En la figura6.6 puede verse el sistema de referencia utilizado. El alfabeto del entorno esE = Γ.

Las reglas de evolucion de los P sistemas se basan en las plantillas deeliminacion modificadas de [38]. En lo que sigue, ∆ = {−1, 0, 1} y ∆+ ={0, 1}

30

Page 35: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Reglas de evolucion para las plantillas de la clase A.

• Ra1 ≡ ({{Wi+δ1 j+δ2 k−1}}δ1,δ2∈∆Bi j k+1|1, Bijk/Wijk, 0)para 2 ≤ i, j, k ≤ n− 1.

• Ra2 ≡ ({{Wi+δ1 j+δ2 k+1}}δ1,δ2∈∆Bi j k−1Bi j k−2|1, Bijk/Wijk, 0)para 2 ≤ i, j ≤ n− 1, 3 ≤ k ≤ n− 1.

• Ra3 ≡ ({{Wi+1 j+δ1 k+δ2}}δ1,δ2∈∆Bi−1 j k|1, Bijk/Wijk, 0)para 2 ≤ i, j, k ≤ n− 1.

• Ra4 ≡ ({{Wi−1 j+δ1 k+δ2}}δ1,δ2∈∆Bi+1 j kBi+2 j k|1, Bijk/Wijk, 0)para 2 ≤ i ≤ n− 2, 2 ≤ j, k ≤ n− 1.

• Ra5 ≡ ({{Wi+δ1 j+1 k+δ2}}δ1,δ2∈∆Bi j−1 k|1, Bijk/Wijk, 0)para 2 ≤ i, j, k ≤ n− 1.

• Ra6 ≡ ({{Wi+δ1 j−1 k+δ2}}δ1,δ2∈∆Bi j+1 kBi j+2 k|1, Bijk/Wijk, 0)para 2 ≤ i, k ≤ n− 1, 2 ≤ j ≤ n− 2.

Reglas de evolucion para las plantillas de la clase B.

• Rb1 ≡({{Wi j+δ k−1Wi−1 j+δ k−1Wi−1 j+δ k}}δ∈∆

Bi j k+1Bi+1 j kBi+2 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n.

• Rb2 ≡({{Wi−1 j+δ kWi−1 j+δ k+1Wi j+δ k+1}}δ∈∆

Bi+1 j kBi+2 j kBi j k−1Bi j k−2

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 3 ≤ k ≤ n− 1.

• Rb3 ≡({{Wi j+δ k+1Wi+1 j+δ k+1Wi+1 j+δ k}}δ∈∆

Bi−1 j kBi j k−1Bi j k−2

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 3 ≤ k ≤ n− 1.

• Rb4 ≡({{Wi j+δ k−1Wi+1 j+δ k−1Wi+1 j+δ k}}δ∈∆

Bi−1 j kBi j k+1

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rb5 ≡({{Wi−1 j k+δWi−1 j,k+δWi j+1 k+δ}}δ∈∆

Bi j−1 kBi+1 j kBi+2 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rb6 ≡({{Wi j+1 k+δWi+1 j+1 k+δWi+1 j,k+δ}}δ∈∆

Bi−1 j kBi j−1 k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rb7 ≡({{Wi−1 j−1 k+δWi j−1 k+δWi−1 j+1 k+δ}}δ∈∆

Bi+1 j kBi+2 j kBi j+1 kBi j+2 k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

31

Page 36: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

• Rb8 ≡({{Wi j−1 k+δWi+1 j−1 k+δWi+1 j k+δ}}δ∈∆

Bi j+1 kBi j+2 kBi−1 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 2, 3 ≤ k ≤ n− 1.

• Rb9 ≡({{Wi+δ j+1 kWi+δ j+1 k+1Wi+δ j k+1}}δ∈∆

Bi j k−1Bi j k−2Bi j−1 k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 3 ≤ k ≤ n− 1.

• Rb10 ≡({{Wi+δ j+1 k−1Wi+δ j+1 kWi+δ j k−1}}δ∈∆

Bi j−1 kBi j k+1

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rb11 ≡({{Wi+δ j−1 kWi+δ j−1 k+1Wi+δ j k+1}}δ∈∆

Bi j+1 kBi j+2 kBi j k−1Bi j k−2

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 2, 3 ≤ k ≤ n− 1.

• Rb12 ≡({{Wi+δ j−1 k−1Wi+δ j−1 kWi+δ j k−1}}δ∈∆

Bi j k+1Bi j+1 kBi j+2 k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 2, 2 ≤ k ≤ n− 1.

Reglas de evolucion para las plantillas de la clase C.

• Rc1 ≡({{Wi+1 j+δ kWi+1 j+δ k+1Wi j+δ k+1}}δ∈∆+

Wi j+1 kBi j k−1Bi j k−2Bi j−1 kBi−1 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 1 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 2, 3 ≤ k ≤ n− 1.

• Rc2 ≡({{Wi+δ j k−1Wi+δ j+1 k−1Wi+δ j+1 k}}δ∈∆+

Wi j+1 kBi j−1 kBi j k+1Bi−1 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rc3 ≡({{Wi j+δ k−1Wi−1 j+δ k−1Wi−1 j+δ k}}δ∈∆+

Wi j+1 kBi j−1 kBi j k+1Bi+1 j kBi+2 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rc4 ≡({{Wi−1 j+δ kWi−1 j+δ k+1Wi j+δ k+1}}δ∈∆+

Wi j+1 kBi+1 j kBi+2 j kBi j k−1Bi j k−2

∣∣∣∣ 1, Bijk/Wijk, 0

)para ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 3 ≤ k ≤ n− 1.

• Rc5 ≡({{Wi+1 j−δ kWi+1 j−δ k+1Wi j−δ k+1}}δ∈∆+

Wi j−1 kBi−1 j kBi j+1 kBi j+2 kBi j k−1Bi j k−2

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 2, 3 ≤ k ≤ n− 1.

• Rc6 ≡({{Wi j−δ kWi+1 j−δ k−1Wi+1 j−δ k}}δ∈∆+

Wi j−1 kBi j+1 kBi j+2 kBi j k+1Bi−1 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 2, 3 ≤ k ≤ n− 1.

• Rc7 ≡({{Wi−1 j−δ kWi−1 j−δ k−1Wi j−δ k−1}}δ∈∆+

Wi j−1 kBi j k+1Bi j+1 kBi j+2 kBi+1 j kBi+2 j k

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 2, 2 ≤ k ≤ n− 1.

32

Page 37: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

• Rc8 ≡({{Wi j−δ k+1Wi−1 j−δ k+1Wi−1 j−δ k}}δ∈∆+

Wi j−1 kBi j+1 kBi j+2 kBi+1 j kBi+2 j kBi j k−1Bi j k−2

∣∣∣∣ 1, Bijk/Wijk, 0

)para 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 2, 3 ≤ k ≤ n− 1.

Reglas de evolucion para las plantillas de la clase D.

• Rd1 ≡

{{Wi+δ1 j+1 k+δ2}}δ1,δ2∈∆Pi j k−1

{{Wi−1 j−δ1 k+δ2}}δ1∈∆+,δ2∈∆P′i j k+1

Wi j−1 kWi+1 j kBabcBi+1 j−1 k

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para

◦ (P, P ′) ∈ {B,W}2 \ {(B,B)},◦ (a, b, c) ∈ {(i, j − 2, k), (i + 1, j − 2, k), (i + 2, j − 2, k), (i +

2, j − 1, k), (i+ 2, j, k)},◦ 2 ≤ i ≤ n− 1, 3 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd2 ≡

{{Wi+δ1 j−1 k+δ2}}δ1,δ2∈∆Pi j k−1

{{Wi−1 j+δ1 k+δ2}}δ1∈∆+,δ2∈∆P′i j k+1

Wi+1 j kWi j+1 kBabcBi+1 j+1 k

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para

◦ (P, P ′) ∈ {B,W}2 \ {(B,B)},◦ (a, b, c) ∈ {(i+2, j, k), (i+1, j+1, k), (i+2, j+2, k), (i+1, j+

2, k), (i, j + 2, k)},◦ 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 2, 2 ≤ k ≤ n− 1.

• Rd3 ≡

{{Wi−1 j+δ1 k+δ2}}δ1,δ2∈∆Pi j−1 k

{{Wi j+δ k+2}}δ1∈∆P′i j+1 k

Wi+1 j k+2Wi+1 j+1 k+2Wi+1 j k

Wi j k+1BabcBi+1 j k−1

∣∣∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para

◦ (P, P ′) ∈ {B,W}2 \ {(B,B)},◦ (a, b, c) ∈ {(i + 2, j, k), (i + 2, j, k − 1), (i + 2, j, k − 2), (i +

1, j, k − 2), (i, j, k − 2)},◦ 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 3 ≤ k ≤ n− 1.

• Rd4 ≡

{{Wi−1 j+δ1 k+δ2}}δ1,δ2∈∆Pi j−1 k

{{Wi+δ1 j+δ2 k−1}}δ1∈∆+,δ2∈∆P′i j+1 k

Wi+1 j kWi j k+1BabcBi+1 j k+1

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para

◦ (P, P ′) ∈ {B,W}2 \ {(B,B)},◦ (a, b, c) ∈ {(i − 1, j, k + 2), (i, j, k + 2), (i + 1, j, k + 2), (i +

1, j, k + 1), (i+ 1, j, k)},◦ 2 ≤ i ≤ n− 2, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 2.

33

Page 38: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

• Rd5 ≡

{{Wi+δ1 j+δ2 k+1}}δ1,δ2∈∆Pi+1 j k

{{Wi−δ1 j+1 k+δ2}}δ1∈∆+,δ2∈∆P′i−1 j k

Wi j k−1Wi j−1 kBabcBi j−1 k−1

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para

◦ (P, P ′) ∈ {B,W}2 \ {(B,B)},◦ (a, b, c) ∈ {(i, j, k − 2), (i, j − 1, k − 2), (i, j − 2, k − 2), (i, j −

2, k − 1), (i, j − 2, k)},◦ 2 ≤ i ≤ n− 1, 3 ≤ j ≤ n− 1, 3 ≤ k ≤ n− 1.

• Rd6 ≡

{{Wi+δ1 j−1 k+δ2}}δ1,δ2∈∆Pi+1 j k

{{Wi+δ1 j+δ2 k+1}}δ1∈∆,δ2∈∆+P ′i−1 j k

Wi j+1 kWi j k−1BabcBi j k−1

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para

◦ (P, P ′) ∈ {B,W}2 \ {(B,B)},◦ (a, b, c) ∈ {(i, j, k − 2), (i, j + 1, k − 2), (i, j + 2, k − 2), (i, j +

2, k − 1), (i, j + 2, k)},◦ 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 2, 3 ≤ k ≤ n− 1.

• Rd7−1 ≡

Wi−1 j−1 k−1Wi−1 j k−1Wi−1 j kBi−1 j k+1Wi−1 j+1 k

Wi j k−1Wi j−1 kWi j k−1Wi j k+1Wi j+1 k−1

Wi j+1 k{{Wi+1 j+δ1 k+δ2}}δ1,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd7−2 ≡

Wi−1 j−1 k−1Wi−1 j k−1Wi−1 j kBi−1 j k+1

Wi j−1 k−1Wi j−1 kWi j k−1Wi j k+1Bi j+1 k

{{Wi+1 j−δ1 k+δ2}}δ1∈∆+,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd7−3 ≡

Wi−1 j k−1Wi−1 j kBi−1 j k+1Wi−1 j+1 k

Bi j−1 kWi j k−1Wi j k+1Wi j+1 k−1

Wi j+1 k{{Wi+1 j+δ1 k+δ2}}δ1∈∆+,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd8−1 ≡

Wi−1 j−1 k−1Bi−1 j k−1Wi−1 j kWi−1 j k+1Wi−1 j+1 k+1

Wi j−1 kWi j−1 k+1Wi j k−1Wi j+1 k−1Wi j+1 kWi j+1 k+1

{{Wi+1 j+δ1 k+δ2}}δ1,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd8−2 ≡

Wi−1 j−1 k−1Bi−1 j k−1Wi−1 j kWi−1 j k+1

Wi j−1 kWi j−1 k+1Wi j k−1Wi j k+1Bi j+1 k

{{Wi+1 j−δ1 k+δ2}}δ1∈∆+,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd8−3 ≡

Bi−1 j−1 k−1Wi−1 j kWi−1 j k+1Wi−1 j+1 k+1

Bi j−1 kWi j k−1Wi j k+1Wi j+1 kWi j+1 k+1

{{Wi+1 j+δ1 k+δ2}}δ1∈∆+,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

34

Page 39: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

• Rd9−1 ≡

Bi−1 j−1 kWi−1 j kWi−1 j+1 k−1Wi−1 j+1 kWi−1 j+1 k+1

Wi j−1 kWi j k−1Wi j k+1Wi j+1 k−1Wi j+1 kWi j+1 k+1

{{Wi+1 j+δ1 k+δ2}}δ1,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd9−2 ≡

Bi−1 j−1 kWi−1 j kWi−1 j+1 k−1Wi−1 j+1 k

Wi j−1 kWi j k−1Bi j k+1Wi j+1 k−1Wi j+1 k

{{Wi+1 j+δ1 k−δ2}}δ1∈∆,δ2∈∆+

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd9−3 ≡

Bi−1 j−1 kWi−1 j kWi−1 j+1 kWi−1 j+1 k+1

Wi j−1 kBi j k−1Wi j k+1Wi j+1 kWi j+1 k+1

{{Wi+1 j+δ1 k+δ2}}δ1∈∆,δ2∈∆+

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd10−1 ≡

Wi−1 j−1 k−1Wi−1 j−1 kWi−1 j−1 k+1Wi−1 j kBi−1 j+1 k

Wi j−1 k−1Wi j−1 kWi j−1 k+1Wi j k−1Wi j k+1Wi j+1 k

{{Wi+1 j+δ1 k+δ2}}δ1,δ2∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd10−2 ≡

Wi−1 j−1 k−1Wi−1 j−1 kWi−1 j kBi−1 j+1 k

Wi j−1 k−1Wi j−1 kWi j k−1Bi j k+1Wi j+1 k

{{Wi+1 j+δ1 k−δ2}}δ1∈∆,δ2∈∆+

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd10−3 ≡

Wi−1 j−1 kWi−1 j−1 k+1Wi−1 j kBi− 1 j + 1 kWi j−1 kWi j−1 k+1Bi j k−1Wi j k+1Wi j+1 k

{{Wi+1 j+δ1 k+δ2}}δ1∈∆,δ2∈∆+

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd11−1 ≡

Wi−1 j k{{Wi j−1 k+δ}}δ∈∆Wi j k−1

Wi j k+1Wi j+1 kBi j+1 k+1{{Wi+1 j−1 k+δ}}δ∈∆

{{Wi+1 j k−δ}}δ∈∆+Wi+1 j+1 k−1

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd11−2 ≡

{{Wi−1 j−1 k+δ}}δ∈∆{{Wi−1 j k−δ}}δ∈∆

Wi−1 j+1 k{{Wi j−1 k+δ}}δ∈∆Wi j k−1Wi j k+1

Wi j+1 k−1Wi j+1 kBi j+1 k+1Bi+1 j k

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd11−3 ≡

Bi−1 j k{{Wi j−1 k+δ}}δ∈∆Wi j k−1Wi j k+1

Wi j+1 k−1Wi j+1 kBi j+1 k+1{{Wi+1 j−1 k+δ}}δ∈∆

{{Wi+1 j k−δ}}δ∈∆+Wi+1 j+1 k−1

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd12−1 ≡

Wi−1 j−1 k−1{{Wi−1 j k−δ}}δ∈∆+{{Wi−1 j+1 k+δ}}δ∈∆

Wi j k−1Bi j−1 k+1Wi j k−1Wi j k+1{{Wi j+1 k+δ}}δ∈∆

Wi+1 j−1 k−1{{Wi+1 j k−δ}}δ∈∆+{{Wi+1 j+1 k+δ}}δ∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

35

Page 40: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Problema de esqueletizacion de imagenes binarias 3D

ComplejidadNumeros de pasos de computacion O(n)

Recursos necesariosTamano del alfabeto 2n3

Numero inicial de celulas 2Numero inicial de objetos O(n3)Numero de reglas O(n3)Cota superior para la longitud de las reglas de los P sistemas 30

Cuadro 6.1: Complejidad y recursos necesarios para el algoritmo de esquele-tizacion.

• Rd12−2 ≡

Wi−1 j−1 k−1{{Wi−1 j k−δ}}δ∈∆+{{Wi−1 j+1 k+δ}}δ∈∆

Wi j k−1Bi j−1 k+1Wi j k−1Wi j k+1{{Wi j+1 k+δ}}δ∈∆

Bi+1 j k

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

• Rd12−3 ≡

Bi−1 j k

Wi j−1 k−1Bi j−1 k+1Wi j k−1Wi j k+1{{Wi j+1 k+δ}}δ∈∆

Wi+1 j−1 k−1{{Wi+1 j k−δ}}δ∈∆+{{Wi+1 j+1 k+δ}}δ∈∆

∣∣∣∣∣∣ 1, Bijk/Wijk, 0

para 2 ≤ i ≤ n− 1, 2 ≤ j ≤ n− 1, 2 ≤ k ≤ n− 1.

6.2. Complejidad del algoritmo y recursos ne-

cesarios

Teniendo en cuenta que el tamano de los datos de entrada es O(n3), lacantidad de recursos necesarios para definir los P sistemas de la familia yla complejidad del algoritmo de esqueletizacion son los que aparecen en latabla 6.1, donde podemos observar que el algoritmo desarrollado es de tipologarıtmico ya que el proceso de esqueletizacion se termina, a lo sumo, enn/2 pasos (que es el tamano de la mayor bola contenida en el objeto).

36

Page 41: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Capıtulo 7

Conclusiones y trabajo futuro

En este trabajo se ha presentado una introduccion a los algoritmos deesqueletizacion de imagenes binarias, prestando especial atencion a las ca-racterısticas que deben presentar estos algoritmos, a fin de que la imagenobtenida sea suficientemente representativa de la de partida. Ası mismo, he-mos observado como los algoritmos clasicos (basados en un modelo de laimagen orientado a puntos) deben complicarse para respetar todos los reque-rimientos que se exigen a un algoritmo de esqueletizacion.

El primer algoritmo de esqueletizacion presentado se basa en un modelode representacion de la imagen basado en complejos celulares y en el conceptode punto simple que presento Bertrand en [4], que se extiende a par p-simpleen nuestro algoritmo se esqueletizacion basado en complejos celulares. Es-te algoritmo se caracteriza por su simplicidad ya que, como puede verse en[25, 38], por ejemplo, un algoritmo de esqueletizacion basado en puntos re-quiere de la definicion de una serie de patrones de eliminacion que han decomprobarse en cada punto de la imagen, en cada iteracion del algoritmo. Sinembargo, en el algoritmo 1 simplemente ha de comprobarse el requerimientode par simple y la no significatividad de las celdas eliminadas, mediante lasmedidas de diferencia s1 y s2.

Con la intencion de presentar otro modelo de algoritmo de esqueletiza-cion, se introduce el modelo de computacion con membranas. En este marcode computacion bioinspirado se desarrolla el algoritmo de esqueletizacionpresentado en [38], que en tiempo logarıtmico calcula el esqueleto de unaimagen binaria 3D.

De cara a un trabajo futuro se presentan dos lıneas de investigacion. Porun lado, la implementacion real de sendos algoritmos de esqueletizacion, a finde poder comparar eficiencias. Por otro lado, la optimizacion del algoritmopresentado en 6.1 y el desarrollo de un algoritmo de esqueletizacion basadoen el algoritmo 1 usando el marco de la computacion con membranas.

37

Page 42: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

38

Page 43: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

Bibliografıa

[1] M.L. Baker, T. Ju, W. Chiu. Computing a family of skeletons of volume-tric models for shape description. Comput. Aided Des., 39(5):352-360,2007.

[2] K. B. M. R. Batuwita, G. E. M. D. C. Bandara. An improved segmenta-tion algorithm for individual offline handwritten character segmentation,Proc. CIMCA-IAWTIC’05 pp. 982-988, 2005.

[3] G. Bertrand. On p-simple points. Compte Rendu de l’Academie desSciences de Paris, t. 321(Serie 1):1077–1084, 1995.

[4] G. Bertrand. P-simple points: A solution for parallel thinning. 5th DG-CI, pp. 233-242, 1995.

[5] G.Bertrand. A parallel thinning algorithm for medial surfaces. PatternRecognition Letters, 16(9):979-986, 1995.

[6] H. Blum. A transformation for extracting new descriptors of form. Mo-dels for the Perception of Speech and Visual Form, pp. 362–380, 1967.

[7] J.M. Cecilia, J.M. Garcıa, G.D. Duerrero, M.A. Martınez-del-Amor, I.Perez-Hurtado, M.J. Perez-Jimenez. Implementing P systems paralle-lism bt means of GPUs. En: Pan et al. [32], pp. 227-241

[8] J.M. Cecilia, J.M. Garcıa, G.D. Duerrero, M.A. Martınez-del-Amor, I.Perez-Hurtado, M.J. Perez-Jimenez. Simulating a P system based effi-cient solution to SAT by using GPUs. Journal of Logic and AlgebraicProgramming 79(6), pp. 317-325, 2010

[9] J.M. Cecilia, J.M. Garcıa, G.D. Duerrero, M.A. Martınez-del-Amor, I.Perez-Hurtado, M.J. Perez-Jimenez. Simulation of P systems with activemembranes on CUDA. Briefings in Bioinformatics 11(3), pp. 313-322,2010

39

Page 44: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

[10] A. Chaturvedi, Z. Lee. Three-dimensional segmentation and skeletoni-zation to build an airway tree data structure for small animals. Phys.Med. Biology 50(7), pp. 1405-1419, 2005

[11] H.A. Christinal, D. Dıaz-Pernil, P. Real. Segmentation in 2D and3D image using tissue-like P systems. En: E. Bayro.Corrochano, J.O.Eklundh (eds.) CIARP. Lecture Notes in Computer Science, vol 5856,pp. 169-176. Springer, 2009

[12] G. Ciobanu, G. Wenywan. P systems running on a cluster of computers.en: Martın-Vide et al. [27], pp. 123-139.

[13] D. Dıaz-Pernil, C. Graciani, M.A. Gutierrez-Naranjo, I. Perez-Hurtado,M.J. Perez-Jimenez. Software for P systems. En: Paun et al. [31], pp.437-454.

[14] N. Gagvani, H. Sundar, D. Silver, S. Dickinson. Skeleton based shapematching and retrieval. Proc. International Conference on Shape Mode-ling and Applications 2003. pp. 130, 2003.

[15] R. Gershoni, E. Keinan, Gh. Paun, R. Piran, T. Ratner, S. Shoshani. Re-search topics arising from the (planned) P systems implementation expe-riment in Technion. En: D. Dıaz-Pernil, C. Graciani, M.A. Gutiierrez-Naranjo, Gh. Paun, I. Perez-Hurtado, A. Riscos-Nunez. (eds.) SixthBrainstorming Week on Membrane Computing. pp. 183–192. Fenix Edi-tora, Sevilla, Espana, 2008

[16] M.A. Gutierrz-Naranjo, M.J. Perz-Jimenez, A. Riscos-Nunez. Avauila-ble membrane computing software. En: G. Ciobanu, M.J. Perez-Jimenez,Gh. Paun (eds.) Applications of Membrance Computing, pp. 411-436.Natural Computing Series, Springer, 2006

[17] A. Hatcher. Algebraic Topology. Cambridge University Press, 2002

[18] T. Ju. Computing a family of skeletons of volumetric models for shapedescription. Computer-Aided Design, 39(5) pp. 352–360, 2007.

[19] T. Ju Q-Y Zhou, S-M. Hu. Topology repair of solid models using ske-letons. IEEE Transactions on Visualization and Computer Graphics,13(4):675-685, 2007.

[20] C. Lohou, G. Bertrand. A 3d 6-subiteration curve thinning algorithmbased on p-simple points. Discrete Applied Mathematics, 151(1-3), 2005.

40

Page 45: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

[21] C. Lohou, G. Bertrand. A 3d 12-subiteration thinning algorithm ba-sed on p-simple points. Discrete Applied Mathematics, 139(1-3):171-195,2004.

[22] C. Lohou. Detection of the non-topology preservation of mas 3d surface-thinning algorithm, by the use of p-simple points. Pattern RecognitionLetters, 29(6):822-827, 2008.

[23] C. Lohou,G. Bertrand. Two 3d symmetrical thinning algorithms basedon p-simple points. Electronic Notes in Discrete Mathematics, 12:267-278, 2003.

[24] C.M. Ma. Topology preservation on 3d images. Vision Geometry II,volume 2060 of SPIE, pp. 201-207, 1993.

[25] C.M. Ma, M. Sonka. A fully parallel 3D thinning algorithm and itsapplications. Computer Vision and image Understanding 64(3), pp. 420-433, 1996

[26] G. Malandain, G. Bertrand. Fast characterization of 3d simple points.IEEE International Conference on Pattern Recognition, pp. 232-235,1992.

[27] C. Martın-Vide, Gh. Paun, G. Rozenberg, A. Salomaa (eds.). Membra-ne Computing, International Workshop, WMC 2003, Tarragona, Spain,July 17-22, 2003. Revised Papers, Lecture Notes in Computer Science,vol. 2933. Springer, 2004

[28] V. Nguyen, D. Kearney, G. Gioiosa. An algorithm for non-deterministicobject distribution in P systems and its implementation in hardware.En: D.W. Corne, P. Frisco, Gh. Paun, G. Rozenberg, A. Salomaa (eds.)Workshop on Membrane Computing. Lecture Notes in Computer Scien-ce, vol. 5391, pp. 325-354. Springer, 2008

[29] NVIDIA Coporation. NVIDIA CUDATMProgramming Guide. http://www.nvidia.com/object/cuda\_home\_new.html

[30] K. Palgyi. A 3d fully parallel surface-thinning algorithm. TheoreticalComputer Science, 406(1-2):119-135, 2008.

[31] Gh. Paun, G. Rozenberg, A. Salomaa (eds.). The Oxford Handbook ofMembrane Computing. Oxford University Press, 2010

41

Page 46: Esqueletizaci on de im agenes 3D - master.us.esmaster.us.es/masterma1/TfM_pdfs(Julio11)/Raul_Reina_Molina.pdf · Esqueletizaci on de im agenes 3D Autor: Raul Reina Molina Tutor: Pedro

[32] Gh. Paun, M.J. Perez-Jimenez, A. Riscos-Nunez, G. Rozenberg, A. Salo-maa (eds.). Membrane Computing, 10th International Workshop, WMC2009, Curtea de Arges, Romania, August 24-27, 2009. Revised Selec-ted and Invited Papers, Lecture Notes in Computer Science, vol. 5957.Springer, 2010

[33] R. Perucchio, W. Xie, R. P. Thompson. A topology-preserving parallel3d thinning algorithm for extracting the curve skeleton. Pattern Recog-nition, 36(7):529-1544, 2003.

[34] D. Reniers, A. Telea. Skeleton-based hierarchical shape segmentation.Proc. SMI ’07 pp. 179–188, 2007.

[35] L. Robert and G. Malandain. Fast binary image processing using bi-nary decision diagrams. Computer Vision and Image Understanding,72(1):1–9, 1998.

[36] A. Syropoulos, L. Mamatas, P.C. Allilomes, K.T. Sotiriades. A distribu-ted simulation of transition P systems. En: Martın-Vide et al. [27], pp.357-368

[37] M.S. Talukdar, O. Torsaeter, M.A. Ioannidis, J.J. Howard. Stochasticreconstruction, 3D characterization and network modeling of chalk. J.Petroleum Sci. Eng. 35(1-2), pp. 1-21, 2002

[38] T. Wang, A. Basu, A note on ’A fully parallel 3D thinning algorithmand its applications. Pattern Recognition Letters 28, pp. 501-506, 2007

[39] Q-Y Zhou T. Ju, S-M Hu. Editing the topology of 3d models by sket-ching. ACM Transactions on Graphics (Proceedings of SIGGRAPH2007), 26(3):42.

42