compresi on de super cies 3d basada en el modelo de...

22
Compresi´ on de superficies 3D basada en el modelo de representaci´ on HSF Javier Carnero Iglesias Tutor: D. Pedro Real Jurado Trabajo Fin de Master en Matem´ atica Computacional. 23/06/2011 Universidad de Sevilla, Espa˜ na. [email protected] Abstract. En este trabajo se estudia un algoritmo para comprimir mal- lados triangulares tres dimensionales que forman superficies, basado en el modelo de representaci´ on HSF de Molina-Abril y Real [1]. Este mod- elo representa el objeto junto con su homolog´ ıa. En concreto, se propone una t´ ecnica para traducir un objeto 3D al modelo de representaci´ on de manera que posteriormente sea f´ acil comprimir el objeto. Keyworks:Compresi´ on sin p´ erdida, mallado triangular, modelo HSF, Homolog´ ıa, Topolog´ ıa Agebraica Computacional 1 Introducci´ on Una manera de garantizar una descripci´ on consistente de un objeto es basar dicha descripci´ on en principios topol´ ogicos. Una representaci´ on topol´ ogica de un objeto define un espacio topol´ ogico finito construido con regiones, arcos y puntos que codifican una partici´ on del objeto en particular. La Topolog´ ıa es una rama de las matem´ aticas dedicada al estudio de aquellas propiedades de los cuerpos geom´ etricos que permanecen inalteradas por trans- formaciones continuas. Se interesa por conceptos como proximidad, n´ umero de agujeros, comparaci´ on y clasificaci´ on de objetos, conectividad, compacidad, ... A su vez, la Topolog´ ıa algebraica es una rama de la Topolog´ ıa en la que se usan las herramientas del ´ Algebra abstracta para estudiar los espacios topol´ ogicos. La Homolog´ ıa en topolog´ ıa algebraica es un procedimiento general para asociar a un espacio topol´ ogico una acci´ on functorial. En principio, Homolog´ ıa es un concepto puramente algebraico relacionado con el grado de conectividad al nivel de sumas de celdas (componentes conexas, agujeros o t´ uneles, cavidades, ...), y la mayor´ ıa los modelos matem´ aticos basados en dicho concepto son modelos algebraico topol´ ogicos (AT-Model [2], AM-Model [3]). Sin embargo, es posible ”combinatorizar” estos modelos (eliminar la parte algebraica) usando representaciones de los operadores algebraicos basadas en

Upload: buiminh

Post on 27-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Compresion de superficies 3D basada en elmodelo de representacion HSF

Javier Carnero IglesiasTutor: D. Pedro Real Jurado

Trabajo Fin de Master en Matematica Computacional.23/06/2011 Universidad de Sevilla,

[email protected]

Abstract. En este trabajo se estudia un algoritmo para comprimir mal-lados triangulares tres dimensionales que forman superficies, basado enel modelo de representacion HSF de Molina-Abril y Real [1]. Este mod-elo representa el objeto junto con su homologıa. En concreto, se proponeuna tecnica para traducir un objeto 3D al modelo de representacion demanera que posteriormente sea facil comprimir el objeto.

Keyworks:Compresion sin perdida, mallado triangular, modeloHSF, Homologıa, Topologıa Agebraica Computacional

1 Introduccion

Una manera de garantizar una descripcion consistente de un objeto es basardicha descripcion en principios topologicos. Una representacion topologica de unobjeto define un espacio topologico finito construido con regiones, arcos y puntosque codifican una particion del objeto en particular.

La Topologıa es una rama de las matematicas dedicada al estudio de aquellaspropiedades de los cuerpos geometricos que permanecen inalteradas por trans-formaciones continuas. Se interesa por conceptos como proximidad, numero deagujeros, comparacion y clasificacion de objetos, conectividad, compacidad, ...

A su vez, la Topologıa algebraica es una rama de la Topologıa en la que seusan las herramientas del Algebra abstracta para estudiar los espacios topologicos.La Homologıa en topologıa algebraica es un procedimiento general para asociara un espacio topologico una accion functorial.

En principio, Homologıa es un concepto puramente algebraico relacionadocon el grado de conectividad al nivel de sumas de celdas (componentes conexas,agujeros o tuneles, cavidades, ...), y la mayorıa los modelos matematicos basadosen dicho concepto son modelos algebraico topologicos (AT-Model [2], AM-Model[3]). Sin embargo, es posible ”combinatorizar” estos modelos (eliminar la partealgebraica) usando representaciones de los operadores algebraicos basadas en

Page 2: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

grafos (operador borde, operador coborde, ...) y simplificar la informacion desu conectividad usando estructuras tipo arbol. Forman [4] uso esta idea paradesarrollar la teorıa discreta de Morse (DMT, o Discrete Morse Theory), queha llegado a ser una potente herramienta dentro de la topologıa computacional,computacion grafica, procesamiento de imagenes y modelado geometrico.

Con la filosofıa de representar el objeto en terminos de un numero finito de”hilos” no esenciales desde el punto de vista topologico, Molina-Abril y Realtraducen DMT a un contexto algebraico homologico, usando complejos de ca-denas integrales [1]. Ası consiguen progresar en la tarea de “combinatorizar”la informacion homologica a dos niveles: local (DMT) y global (en terminos dearboles de coordenadas basados en cadenas de homotopıa [5]). La naturalezaalgebraica de la aproximacion global puede ser “combinatorizada” si colocamosestas cadenas de homotopıa y las celdas crıticas (generadores de homologıa) enun contexto basado en grafos. Ası, Molina-Abril y Real desarrollan una rep-resentacion topo-geometrica combinatorial no unica de un objeto subdivididon-dimensional, llamado modelo homologico de arboles recubridores (HSF, ho-mological spanning forest) [1].

Adaptando diferentes tecnicas en la compresion de imagenes, este trabajodisena, implementa y analiza un algoritmo con algunas varianges para traducirsuperficies tridimensionales al modelo de representacion HSF y posteriormentecomprimir dicha descripcion del objeto eficientemente.

Finalmente, se presentan algunas conclusiones sobre los resultados obtenidossobre una muestra de imagenes de prueba.

2 Representacion Homologica basada en arbolesrecubridores

La teorıa discreta de morse (DMT) nos da una respuesta positiva al problema deencontrar operadores de homotopıa de cadenas combinatorios φ para complejosde cadenas (C∗(K), δ) de complejos celulares finitos, tal que la homologıa integralde (C∗(K), δ, φ) es una ”buena” aproximacion (medida en terminos de celdascrıticas, determinadas por los numeros de betti) a su homologıa diferencial.

Estos operadores integrales combinatoriales son vistos en DMT como em-parejamientos de celdas (colapsamiento de celdas). En [6], dado una 2-variedad,una heurıstica para calcular emparejamientos optimos de Morse es desarrollada.Un emparejamiento es considerado optimo cuando el campo vectorial gradientediscreto tiene unas pocas celdas crıticas (celdas no emparejadas). Esta heurısticacalcula los campos vectoriales en terminos de hiper-bosques. Sin embargo, paracomplejos celulares generales este problema no ha sido resuelto todavıa.

Molina-Abril y Real progresan sobre DMT con algunas modificaciones con-siderando la teorıa clasica, pero sin usar en principio funciones discretas de

Page 3: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Morse. En este sentido, son capaces de obtener un emparejamiento optimo paracualquier complejo celular finito sin restricciones.

Ası, Molina-Abril y Real establecen un modelo de representacion de la im-agen llamado modelo de representacion HSF donde primeramente construyenun espacio topologico sobre el objeto a representar, creando un complejo celularasociado.

Una vez hecho esto, calculan la homologıa del complejo celular, representandoel colapsamiento en forma de arboles que almacenan el operador de homotopıaφ. Ası, un arbol 0-1 es aquel que representa el colapsamiento de 0-celdas (verticesen nuestro caso) a 1-celdas (lados en nuestro caso). De igual manera un arbol 1-2 representa el colapsamiento de 1-celdas a 2-celdas (triangulos en nuestro caso).

Una celda no puede pertenecer a su vez a dos arboles distintos, ya que sig-nificarıa que colapsa dos veces lo cual no serıa posible. Finalmente las celdasno emparejadas seran celdas crıticas, esto es, representantes de la homologıa delobjeto. Por ejemplo, un lado no emparejado sera un generador de un agujero, esdecir, el representante de dicho agujero, mientras que un triangulo no empare-jado sera representante de una cavidad.

El modelo de representacion HSF es bastante flexible, siendo muchos losdistintos arboles que pueden representar la homologıa del objeto. En concreto,en [5] se demuestra que para imagenes 2D y 3D, el 0-1 siempre sera un solo arbol,mientras que el 1-2 puede ser tanto un bosque como un solo arbol dependiendode la forma del primero.

La principal ventaja de este modelo de representacion es que permite trabajarcon la homologıa del objeto mediante estructuras arboreas, muy estudiadas encomputacion.

3 Compresion sin perdida

La compresion sin perdida es un requisito comun en diferentes sectores profe-sionales, como pueden ser la imagen medica, documentos legales digitales, o lafotografıa por satelite.

Por diferentes razones, estos sectores usan imagenes con un gran volumen dedatos (imagenes 3D, vıdeo, fotografıa de alta resolucion ...) que ocupan muchamemoria de almacenamiento.

Ademas, este tipo de imagenes suelen requerir, tanto por motivos legalescomo por interes cientıfico o historico, tanto el almacenamiento de la imagenoriginal sin sufrir ninguna modificacion, como el almacenamiento por un tiempoprolongado.

Ası, la compresion se hace imprescindible para optimizar la capacidad dealmacenamiento de dicha informacion, a la vez que se requiere que en el proceso

Page 4: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

no se pierda ningun detalle de la imagen original.

En este trabajo nos centraremos en la compresion sin perdida de malladostriangulares tres-dimensionales que forman superficies. Los motivos mas impor-tantes para elegir este tipo de imagenes para el estudio son dos:

– Son los modelos tres-dimensionales mas extendidos. El mallado triangulares utilizado porque permite una mayor flexibilidad a la hora de aproximarun objeto tres-dimensional real. Ademas, en un entorno profesional, estosobjetos suelen ser modelados automaticamente usando escaneres 3D que es-canean la superficie los mismos, formando el mallado triangular una o massuperficies en funcion de las componentes conexas del objeto.

– En imagen medica tres-dimensional es usual trabajar con superficies en3D. El estudio de diferentes tecnicas y algoritmos en este contexto permitefacilmente la adaptacion de los mismos a imagenes dos-dimensionales (puesse trabaja con superficies), muy usadas por ejemplo en el contexto jurıdico,o en fotografıa por satelite.

Un algoritmo tıpico para compresion de mallas codifica la informacion deconectividad y la informacion geometrica por separado. Ası, el orden de codifi-cacion de la informacion geometrica viene dado por la codificacion de la conec-tividad.

En este trabajo nos centramos en el estudio de la compresion de la conec-tividad del mallado. Ası, una vez comprimida la conectividad, cualquier metodode los ya desarrollados podrıa aplicarse para la compresion de las coordenadasy demas informacion relevante de cada vertice (color, normal, ...).

Puesto que la homologıa nos determina la conectividad en el complejo celularasociado al objeto a comprimir, parece que traducir la imagen al modelo HSFes una buena idea para simplificar bastante el problema.

Los algoritmos existentes hoy en dıa para comprimir la conectividad del mal-lado pueden dividirse en seis clases distintas: conjuntos de caras indexadas, ban-das de triangulos, arboles recubridores, descomposicion por capas, aproximacionbasada en valencia, y conquista de triangulos.

Sin embargo, solo los que pueden englobarse dentro de conjuntos de carasindexadas, bandas de triangulos y descomposicion por capas son capaces decomprimir cualquier tipo de mallado triangular (superficies) sin restricciones.

El metodo de conjuntos de caras indexadas se basa en representar un malladotriangular mediante un conjunto de caras consistente en una matriz de coorde-nadas y una matriz de caras. La matriz de coordenadas lista las coordenadasde todos los vertices, y la matriz de caras lista cada cara referenciando los tresındices de cada uno de sus vertices en la matriz de vertices.

Esta representacion de la malla realmente no ofrece ningun tipo de com-presion, y suele incluirse para poder comparar otras representaciones que sı que

Page 5: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

comprimen la informacion de conectividad de la malla.

Los metodos de aproximacion basada en valencia son los que actualmenteproporcionan la mejor compresion de todas, siendo el ratio de compresion de1.5 bits por vertice de media. Sin embargo no es escogido debido a que se deseaimplementar un algoritmo para mallas sin restricciones, el algoritmo elegido seradel tipo ”bandas de triangulos”.

La razon principal de no escoger una aproximacion de descomposicion porcapas, aunque proporciona una mejor compresion que las bandas de triangulos,es porque el metodo elimina mucho trafico de datos entre la CPU y la tarjetagrafica ya que las bandas de triangulos estan bien soportadas por la mayorıa detarjetas graficas. Ası, sigue teniendo sentido hoy en dıa la implementacion deeste tipo de algoritmos para la compresion, al contrario que los metodos basadosen descomposicion por capas que han sido sustituidos por metodos basados envalencia.

Por otro lado, siendo una aproximacion mas sencilla que la basada en va-lencia, y teniendo en cuenta que el bosque homologico 1-2 (nodos de 1-celdas a2-celdas) parece a priori facilmente interpretable como un conjunto de bandas detriangulos, este tipo de compresion parece la mejor opcion para hacer un primerestudio sobre la compresion de mallados triangulares basada en el modelo derepresentacion HSF.

3.1 Bandas de triangulos

El metodo de bandas de triangulos intenta dividir un mallado 2-variedad enlargas bandas de triangulos, para posteriormente codificar dichas bandas. Comose ha dicho anteriormente el proposito principal de este metodo es reducir lacantidad de datos transmitidos entre la CPU y la tarjeta grafica, puesto que lasbandas de triangulos estan bien soportadas por la mayorıa de tarjetas graficas.

La figura 1A muestra una banda de triangulos, donde cada vertice es com-binado con los dos vertices anteriores en una secuencia para formar un nuevotriangulo. La figura 1B muestra un abanico de triangulos, donde cada verticedespues de los dos primeros forma un nuevo triangulo con el vertice anterior yel primero. La figura 1C muestra una banda general de triangulos, mezcla de losdos anteriores.

Es de notar que, en una banda general de triangulos, un nuevo trianguloes introducido por cada vertice despues de los dos primeros en la secuencia devertices. Sin embargo, usando un conjunto indexado de triangulos, un nuevotriangulo es introducido usando tres vertices. Por tanto, la banda general devertices proporciona una representacion mas compacta que el conjunto indexadode caras, especialmente cuando las bandas de triangulos son largas.

En una banda de triangulos generalizada, el ratio entre el numero de triangulosy el numero de vertices es muy cercano a 1, es decir, que un triangulo puede serrepresentado por casi un solo ındice de vertice.

Page 6: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Fig. 1. (A) Banda de triangulos, (B) abanico de triangulos, y (C) banda generalizadade triangulos.

Sin embargo, puesto que en general en una malla triangular nos encontramoscon el doble de triangulos que de vertices, algunos ındices de vertices estaranrepetidos en la representacion de bandas generales de la malla, lo que indica ungasto de almacenamiento. Para minimizar el problema, varios esquemas han sidopropuestos, donde en general se utiliza una memoria intermedia para almacenarlos ındices de los vertices recien visitados.

Deering [7] fue el primero en introducir el concepto de malla triangular gen-eralizada. Una malla triangular generalizada esta formada por la combinacion debandas generalizadas de triangulos usando una memoria intermedia de vertices.En su metodo se usa una memoria intermedia de vertices FIFO (first-in-first-out) para almacenar los ındices de hasta 16 vertices visitados recientemente. Siun vertice es guardado en la memoria intermedia, puede ser representado con elındice que tiene en dicha memoria, que requiere un numero menor de bits quela matriz de ındices de vertices global. Asumiendo que cada vertice es utilizadopor la memoria intermedia solo una vez, Taubin y Rossignac [8] mostraron quela representacion de malla triangular generalizada requiere aproximadamente 11bits por vertice (bpv en adelante) para codificar la conectividad en malladosmuy grandes. Deering, sin embargo, no propuso un metodo para descomponeruna malla en bandas de triangulos.

Basandose en el trabajo de Deering, Chow [9] propuso una esquema de com-presion de malla optimizado para el ”rendering” del objeto en tiempo real. Lospasos para su metodo de descomposicion de la malla, ilustrados en la figura2 se describen a continuacion. Primeramente, encuentra el conjunto de ladosque conforman el borde de la malla. Posteriormente encuentra un abanico detriangulos para cada vertice incidente en dos lados borde consecutivos. Estosabanicos de triangulos son combinados para formar la primera banda general-izada de triangulos. Los triangulos en estas bandas son marcados como descu-biertos, y un nuevo conjunto de lados borde es entonces generado para repetir elproceso. Usando la memoria intermedia de vertices, los vertices en la iteracionanterior pueden ser reutilizados en la siguiente. Ası el proceso termina cuandotodos los triangulos han sido descubiertos.

Page 7: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Fig. 2. (A) Subconjunto de lados frontera, (B) abanicos de triangulos para la primerabanda, y (C) abanicos de triangulos para la segunda banda, donde las flechas grue-sas muestran los nuevos lados frontera seleccionados y las flechas finas muestran losabanicos asociados a cada vertice frontera interior.

La representacion de bandas de triangulos puede ser aplicada a una mallatriangular con una topologıa arbitraria. Sin embargo, es efectiva solo si la mallaes descompuesta en largas bandas, y es sabido que el problema de obtener unadescomposicion en bandas de triangulos optima es un problema desafiante engeometrıa computacional [10, 11]. Varias heurısticas han sido propuestas paraobtener descomposiciones suficientemente optimas con un coste computacionalbajo [12–14].

Ası, se puede reducir la cantidad de transmision de datos entre la CPU yla tarjeta grafica descomponiendo la malla en largas bandas triangulares, peroencontrar una buena descomposicion (o bandificacion) es en general muy cos-toso computacionalmente. Por tanto, es deseable generar bandas grandes paraun mallado dado solo una vez, y distribuir dicha informacion junto con la infor-macion de conectividad.

Basado en esta observacion, Isemburg [15] propone una aproximacion paracodificar la conectividad de la malla junto con su informacion de ”bandificacon”.Es basicamente una modificacion del metodo edgebreaker [16] basado en con-quista de triangulos, pero el orden para elegir un nuevo triangulo viene dado porel algoritmo STRIPE [12]. Cuando un nuevo triangulo es incluido, su relacioncon el triangulo anterior es codificada mediante una etiqueta. La compresionexperimental del algoritmo es de 3.0 a 5. bpv.

En los algoritmos para la creacion de bandas de triangulos, varios puntos soncruciales:

1. Eleccion del primer triangulo de la banda.2. Eleccion de la direccion de la banda.3. Extension de la banda a ambos lados del primer triangulo (backface culling).4. Suma de bandas para crear una mas grande.

El diseno propuesto a continuacion cubre todos estos puntos, para generarun algoritmo de generacion de bandas eficiente en relacion complejidad temporal/ numero de bandas obtenidas.

Page 8: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

4 Diseno

Para comprimir la conectividad de los vertices sin perdida de informacion basandoseen el modelo de representacion HSF, se ha pensado en una tecnica para generararboles faciles de comprimir.

Al trabajar con superficies de polıgonos triangulares, si representamos el ob-jeto a comprimir mediante el modelo HSF obtenemos que las celdas de dimensionmaxima en el complejo celular son 2-celdas formadas por triangulos. Ademas,como se ha dicho anteriormente, obtenemos un unico arbol 0-1 y un bosque 1-2.

El bosque 1-2 relaciona 1-celdas (lados) con 2-celdas (triangulos), represen-tando segun el modelo HSF la eliminacion de las 1-celdas y 2-celdas no crıticasdesde el punto de vista topologico. Ası este bosque recubridor recorre todas las2-celdas excepto aquellas crıticas, es decir, aquellas que son generadores de cavi-dades.

Por tanto, puesto que para la compresion de la conectividad de los verticesnecesitamos realmente comprimir los triangulos que forman el mallado, el bosquerecubridor 1-2 es el elegido para resolver el problema.

Ası, usando el modelo de representacion HSF el problema de comprimir laconectividad de los vertices queda reducido a comprimir de manera optima elbosque recubridor 1-2 del objeto.

En [17] y [1] Molina-Abril y Real presentan distintos algoritmos para rep-resentar un objeto mediante el modelo de representacion HSF. Sin embargo,debido a la flexibilidad del modelo de representacion, estos arboles pueden ser,para el mismo objeto, de maneras muy diferentes. En concreto, por ejemplo parauna imagen 2-dimensional existe un unico bosque 1-2 dado un arbol 0-1, perolos posibles arboles 0-1 son muchos (De igual manera ocurre para un bosque 1-2dado).

Ası la tecnica para comprimir el bosque 1-2 radica en este caso en el desarrollode nuevos algoritmos que representen el objeto en el modelo HSF, y cuyo bosque1-2 sea lo mas facil de codificar posible.

Para ello el algoritmo principal desarrollado y estudiado en este trabajo con-siste en la construccion de un unico arbol 1-2 cuyas ramas sean lo mas rectasposible (bandas de trıangulos no generalizadas). Esto significa que, dado untriangulo y una direccion, la rama del arbol seguira esa direccion hasta que nosea posible, donde se ramificara para dar paso a una nueva rama que seguirauna direccion.

Una vez obtenido este arbol, la tecnica consiste en la codificacion de cadarama codificando sus vertices en forma de zigzag.

Otra opcion hubiese sido utilizar bandas de triangulos generalizadas, sin em-bargo en este trabajo escogemos las bandas rectas con el objetivo de simplificarla compresion y la transmision de datos entre la tarjeta grafica y la CPU en el

Page 9: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

”rendering” del objeto.

En la codificacion, cada rama o banda de triangulos ira precedida de unapalabra que identifica el comienzo de una rama nueva, seguida de una lista devertices. Dos modificaciones son necesarias a la hora de codificar el bosque 1-2:

– Puesto que cada nodo del arbol 1-2 comienza en un lado y acaba en untriangulo, para codificar el ultimo triangulo de cada rama debemos incluir elultimo lado del ultimo triangulo de dicha rama, que no pertenece al arbol.Esto es necesario para poder reconstruir en la descompresion dicho ultimotriangulo correctamente.

– El arbol 1-2 no contiene las 2-celdas crıticas generadoras de cavidades, porlo que es necesario al final de la codificacion anadir estas celdas generadoras.

Al generar las bandas de triangulos como ramas en el bosque 1-2 (un arbolpor componente conexa), los puntos cruciales en los algoritmos de generacion debandas mencionados anteriormente quedan como sigue.

1. La eleccion del primer triangulo es, en la literatura (por ejemplo en [12]),resuelta normalmente escogiendo el triangulo con menor numero de conex-iones no visitadas, para evitar en la medida de lo posible bandas de un solotriangulo aislado. Sin embargo Chow demuestra empıricamente que elegircomo primer triangulo de una banda cualquier triangulo no visitado al azarproduce los mismos resultados [9].Implementamos las dos variantes y analizamos resultados. Ademas, la eleccionde un primer triangulo solo se hara en nuestro caso cada vez que se inicie unarbol 1-2 nuevo (cada vez que se visite una componente conexa nueva), yaque el resto de ”primeros triangulos” de cada banda nueva vendra determi-nado por los triangulos que actualmente se encuentran en el arbol que estasiendo calculado.

2. Una vez que se tiene el triangulo que iniciara una banda nueva, es necesarioelegir la direccion de la banda que contenga mas triangulos. Esto en nuestrocaso tambien solo lo haremos una vez al iniciar un arbol nuevo. Al iniciaruna banda nueva en un arbol que esta siendo calculado, solo quedaran libresdos direcciones posibles a elegir (puesto que estamos trabajando con super-ficies). Elegiremos una de ellas al azar para simplificar.

3. Puesto que estamos trabajando con arboles, cada banda nueva es creadapegada a una banda existente, por lo que el backface culling en este casoes totalmente innecesario. El unico caso donde podrıa ser aplicable es enla eleccion del primer triangulo que inicia un nuevo arbol 1-2, pero no seimplementara para no complicar el diseno, ya que solo mejorarıa una bandapor componente conexa lo que en la practica parece no tener mucho sentido.

Page 10: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

4. Al igual que en el caso anterior, puesto que trabajamos con arboles, en ningunmomento sera necesario hacer conexiones de bandas para crear bandas maslargas, ya que se crearıan ciclos.

A continuacion se describe la implementacion del algoritmo.

5 Implementacion

El algoritmo se ha implementado en c++ en una librerıa dinamica llamada“libhsf”, que puede compilarse para Windows, Mac o Linux tanto en 32 comoen 64 bits. A su vez, una aplicacion de consola desarrollada tambien en c++llamada “hsf demo” es usada para ejecutar dicha librerıa y poder visionar cadarama del arbol graficamente guardando una version “coloreada” en un archivo.ply.

Antes de ejecutar el algoritmo, primeramente la librerıa traduce los datosde entrada (lista de triangulos y lista de vertices con su informacion asociada(coordenadas, normales y color) a unas estructuras de datos mas complejas quetienen como objetivo facilitar y hacer mas rapido el algoritmo descrito.

Estas estructuras de datos representan el complejo celular asociado al objeto,ası como la conectividad entre sus celdas.

Una vez listas estas estructuras, el algoritmo puede empezar a trabajar sobreel complejo celular para traducir el objeto al modelo de representacion HSF,generando arboles cuyas ramificaciones tienen forma de bandas de triangulos.

En el algoritmo 1 se describe en pseudo-codigo dicho algoritmo. Este se limitaa calcular el bosque 1-2, ya que el bosque 0-1 queda completamente determinadopor este.

Puesto que cada nodo del arbol 1-2 comienza en un lado y acaba en una carao triangulo, la estructura de datos que almacena el arbol viene dada por unalista enlazada de lados donde cada uno tiene asociado a su vez un triangulo.

Ademas, ya que, como se ha dicho previamente, se necesita guardar el ultimolado de cada rama para poder reconstruir el ultimo triangulo de cada una, enesta lista enlazada se guardaran hojas (lados) que no tengan asociado ninguntriangulo (No pertenecen al arbol 1-2, pero es necesario guardarlos - Realmentepertenecen al arbol 0-1, o son 1-celdas crıticas).

El algoritmo es de orden O(n2), considerando los triangulos como datos de en-trada. Esto es debido a que recorre cada triangulo dos veces (una cuando se creala rama, otra por si se puede crear una rama nueva que parta de cada triangulo).

En este algoritmo la eleccion del primer triangulo para la creacion de unnuevo arbol 1-2, se escoge uno de los no visitados al azar. Ademas, una vezobtenido dicho triangulo, se elige una direccion de la banda al azar.

Page 11: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Algoritmo 1 Tecnica principal

Entrada: Lista de triangulos y Lista de informacion de cada vertice (coordenadas,normal, y color).

Salida: Bosque recubridor 1-2.1: Crear un bosque de arboles 1-2 vacıo.2: mientras triangulosV isitados < numeroTriangulos hacer3: Crear un nuevo arbol 1-2 y elegir un lado al azar como nodo raiz.4: nodoPadre = nodoRaiz5: mientras nodoPadre 6= vacio hacer6: Obtener el triangulo siguiente al padre.7: si el triangulo hijo no ha sido visitado entonces8: Anadir triangulo como hijo del triangulo padre.9: nodoPadre = nodoHijo

10: si no11: Guardar el ultimo lado y cerrar la banda.12: Volver hacia atras: nodoPadre = nodoAbuelo13: Cambiar la direccion del nuevo nodo padre.14: fin si15: fin mientras16: Anadir el arbol al bosque.17: fin mientras18: devolver bosque

Sin embargo, como se contempla en el diseno, algunas modificaciones hansido aplicadas con el objetivo de estudiar diferentes variantes.

En concreto, para la eleccion del primer triangulo para la creacion de unnuevo arbol 1-2, se implementa una variante donde se escoge el triangulo novisitado aun con menor conexiones no visitadas posibles. Por otro lado, en vezde escoger una direccion al azar en dicho triangulo, se estudian las tres direccionesposibles y se escoge aquella que provoque un menor numero de bandas. Ası, lacomplejidad temporal del algoritmo se ve multiplicada por 3.

6 Resultados preliminares

A continuacion se presentan los resultados del algoritmo principal para tresimagenes de prueba: Un icosaedro, una esfera y una tetera.

Para el icosaedro, los datos resultantes son:Original number of vertices: 12Original number of triangles: 20Time elapsed loading data: 0.000404 secondsNumber of trees: 1Number of strips: 7Longest Strip: 10 nodesNumber of saved edges: 27Time elapsed making the spanning tree: 0.000106 seconds

Page 12: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Time elapsed making the ply file: 0.000419 secondsTotal time to compress: 0.000976 seconds

El icosaedro es un polıgono regular de 12 vertices y 20 triangulos. En traducirlos datos de entrada a estructuras mas complejas tarda 404 micro segundos, paraposteriormente calcular el arbol recubridor 1-2 en 106 micro segundos (una solacomponente conexa).

Este arbol tiene 7 ramas o ”bandas”, en ingles Strips, y la mas larga es delongitud 10 nodos.

En la lista enlazada que representa dicho arbol se han guardado 27 lados,esto es, un lado por triangulo (arbol 1-2) mas un lado mas por cada final derama para poder reconstruir dicho arbol.

El tiempo total en hacer todo el proceso ha sido de 976 micro segundos.

A continuacion algunas imagenes pertenecientes al archivo ”tags icosahedron.ply”que muestran graficamente el arbol 1-2 en el objeto. Cada color representa unarama diferente del arbol.

Fig. 3. Icosaedro

La rama mas larga del arbol esta pintada de color negro.

Page 13: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Fig. 4. Icosaedro

La parte de arriba del icosaedro de la figura 4 muestra una banda blanca detres nodos, y dos bandas aisladas de un solo nodo.

Fig. 5. Icosaedro

Page 14: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

De igual forma, la parte de abajo del icosaedro de la figura 5 muestra unabanda azul de tres nodos, y dos bandas aisladas de un solo nodo.

Para la esfera, los datos resultantes son:Original number of vertices: 422Original number of triangles: 840Time elapsed loading data: 0.009591 secondsNumber of trees: 1Number of strips: 111Longest Strip: 60 nodesNumber of saved edges: 951Time elapsed making the spanning tree: 0.001991 secondsTime elapsed making the ply file: 0.008715 secondsTotal time to compress: 0.020382 seconds

Sabiendo lo que significan estos datos, pasamos ver los resultados graficamente:

Fig. 6. Esferea

Vemos como desde el ”polo norte” comienzan varias bandas que se extiendengirando sobre la esfera, mientras otras acaban rapidamente para dar paso abandas mas regulares que tienen una direccion perpendicular.

Page 15: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Fig. 7. Esferea

En la figura 7 las bandas han seguido todas la misma direccion, recorriendola esfera de un lado a otro.

Fig. 8. Esferea

Page 16: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Finalmente la parte mas irregular en la figura 8, donde las bandas que ”rotan”sobre la esfera provocan bandas aisladas de menor tamano.

Por ultimo, se muestran los datos de la tetera:Original number of vertices: 530Original number of triangles: 992Time elapsed loading data: 0.011509 secondsNumber of trees: 4Number of strips: 144Longest Strip: 41 nodesNumber of saved edges: 1136Time elapsed making the spanning tree: 0.002479 secondsTime elapsed making the ply file: 0.010565 secondsTotal time to compress: 0.024659 seconds

En este caso, puesto que el objeto tiene cuatro componentes conexas, nosqueda un bosque 1-2 compuesto por cuatro arboles. Graficamente:

Fig. 9. Tetera

Page 17: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Fig. 10. Tetera

De manera parecida a la esfera, vemos como existe una zona (figura 9) dondelas bandas toman una direccion vertical, mientras que en otra (figura 10) lasbandas toman una direccion oblicua.

Page 18: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Fig. 11. Tetera

La tapa de la tetera muestra una direccion en espiral desde fuera hacia aden-tro, pues el mallado esta dispuesto de igual manera, terminando en pequenasbandas de pequena longitud.

Considerando la conectividad de los vertices, el metodo de conjuntos de carasindexadas (sin compresion), se obtiene de media unos 175 bpv.

Sin considerar la memoria intermedia para indexar los vertices, pues no hasido implementada, es decir, considerando que cada ındice de vertice es de 32bits, la compresion queda en 70 bpv, 72 bpv y 74 bpv para el icosaedro, la esferay la tetera respectivamente.

Utilizando un numero de bits mas corto, por ejemplo en el caso de la teterapara 530 vertices solo es necesario usar 10 bits para cada ındice de vertice, lacompresion quedarıa en 23 bpv. En as otras imagenes el ratio de bits por pixelesse reduce mas al tener un numero de vertices menor.

6.1 Variantes

Como se contempla en el diseno, se implementa una variante del algoritmo con-sistente en la eleccion del primer triangulo escogiendo aquel no visitado conmenos triangulos adyacentes no visitados.

Al igual que Chow, la implementacion muestra que, para las imagenes deprueba, la variante no supone ningun cambio en los resultados. Ası el numero

Page 19: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

de bandas obtenido es exactamente el mismo en los tres casos.

Por otro lado, la otra variante propuesta, relativa a la eleccion de la direccionen el primer triangulo de cada arbol 1-2, sı muestra mejoras interesantes.

La opcion que puede dar una mejor respuesta serıa comprobar todas las op-ciones posibles (tres direcciones) y escoger la que cree bandas mas largas. Aunqueesta opcion no es viable en un algoritmo generico debido al aumento exponencialde la complejidad temporal, puesto que en este caso solo contemplamos el primertriangulo de cada componente conexa, la complejidad no se ve aumentada de or-den.

Tanto para el icosaedro como para la esfera, la variante no muestra cambios enlos resultados obtenidos, probablemente debido a la simplicidad de los modeloselegidos. Sin embargo, para el caso de la tetera los resultados se mejoran comosiguen:

Original number of vertices: 530Original number of triangles: 992Time elapsed loading data: 0.011743 secondsNumber of trees: 4Number of strips: 132Longest Strip: 59 nodesNumber of saved edges: 1124Time elapsed making the spanning tree: 0.02598 secondsTime elapsed making the ply file: 0.011151 secondsTotal time to compress: 0.04899 seconds

Aunque teoricamente el algoritmo deberıa tardar tres veces mas que el al-goritmo principal (ya que en vez de escoger una direccion, cogemos las tres ydescartamos las dos peores), el algoritmo tarda unas seis veces mas en la practica.Esto es debido a que el algoritmo ”clona” la estructura de datos tres veces, parapoder ejecutar cada una por separado. Esta operacion incrementa la complejidadcomputacional del algoritmo.

Finalmente se muestran algunas imagenes donde se ve graficamente la mejoraen el calculo de las bandas con respecto al algoritmo principal:

Page 20: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

Fig. 12. Tetera

En la figura 12 vemos como las bandas ”en espiral” son ahora mas largas quelas obtenidas previamente, dejando muy pocas zonas con bandas irregulares.

Fig. 13. Tetera

En la figura 13, la tapa de la tetera es ahora mucho mas regular.

Usando esta mejora se reduce el ratio de compresion a 69 bpv usando unaindexacion de 32 bits, y 21 bpv con una indexacion mas razonable teniendo encuenta el numero de bits totales.

Page 21: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

7 Conclusiones

Las diferentes ramas que crea el algoritmo nos dan una ordenacion natural delos vertices, con lo que el metodo se confirma que es perfectamente compatiblecon otras tecnicas para la compresion de la informacion de cada vertice.

La tarea principal para completar este trabajo serıa el estudio de diferentestipos de codificacion de las bandas para la compresion optima del bosque 1-2.Puesto que dichas bandas son rectas, en principio solo habra que indicar en lacodificacion cuando empieza una banda y cuando termina, y el resto sera unasucesion de vertices.

Ademas, para obtener resultados similares a los obtenidos por otros autores,es necesario la implementacion de la memoria intermedia para la indexacion devertices, que muy probablemente reducira el numero de bpv considerablemente.

Aun ası, la imagen sin comprimir es un 264% mayor de media con respectoal modelo comprimido.

Aunque se sabe que en la actualidad existen metodos mejores para la com-presion de la conectividad, la tecnica descrita calcula la informacion homologicadel objeto, comprimiendo la conectividad del mismo mediante una representacionsobre la cual pueden calcularse facilmente propiedades topologicas de la misma,como cohomologıa y estructuras adicionales algebraicas tales como el K-productoen cohomologıa, etc, mediante una codificacion con la cual las tarjetas graficaspueden trabajar mucho mas rapido, optimizando el ”rendering” del modelo.

Esto permite un posterior procesamiento de la imagen mucho mas rico, ya quelos algoritmos que se quieran aplicar al objeto pueden ayudarse tanto del modelode representacion como de cualquier otra tecnica comun en el procesamiento deimagenes.

Este post-procesamiento topologico de la imagen podrıa incluso hacerse sobreel dominio comprimido, ya que, puesto que la codificacion de la compresion con-siste en el almacenamiento de las estructuras arboreas del modelo HSF, trabajarcon estas sin descomprimir el modelo al completo es perfectamente viable.

Por otro lado el modelo de representacion permite implıcitamente el alma-cenamiento de la “bandificacion” en el objeto comprimido, por lo que podrıausarse metodos mas complejos para calcular una “bandificacion” optima puestoque solo serıa necesario calcularla la primera vez que se comprime el objeto.

Ası el sistema de compresion resuelve automaticamente el problema de guardarlas bandas calculadas en la compresion, donde modificaciones posteriores al ob-jeto podrıan suponer entonces modificaciones locales en la “bandificacion” orig-inal.

Como anadido, partiendo de un objeto segmentado previamente, y con-siderando cada categorıa en la segmentacion una componente conexa distinta,puede aplicarse la tecnica estudiada para almacenar implıcitamente la segmentacion

Page 22: Compresi on de super cies 3D basada en el modelo de ...master.us.es/masterma1/TfM_pdfs(Julio11)/Javier_Carnero_Iglesias.pdf · super cies tridimensionales al modelo de representaci

del objeto junto con el resto de datos.

Resumiendo, se concluye que el sistema permite la compresion del mallado2-variedad usando bandas de triangulos, almacenando el objeto en estructurashomologicas sobre las cuales pueden aplicarse distintos algoritmos para el calculode propiedades topologicas, junto con las diferentes bandas calculadas sobre elmismo y la segmentacion del objeto asociada, de manera que el rendering delmismo sea optimo.

Referencias

1. Molina-Abril, H., Real, P.: A homological-based description of subdivided nd ob-jects. LNCS, CAIP 2011 (to appear) (2011)

2. Gonzalez-Dıaz, R., Real, P.: On the cohomology of 3d digital images. DiscreteAppl. Math. 147 (2005) 245–263

3. Gonzalez-Dıaz, R., Jimenez, M.J., Medrano, B., Real, P.: Chain homotopies forobject topological representations. Discrete Appl. Math. 157 (2009) 490–499

4. Forman, R.: A discrete morse theory for cell complexes. (1995)5. Molina-Abril, H., Real, P.: Homological computation using spanning trees. In:

CIARP’09. (2009) 272–2786. Lewiner, T., Lopes, H., Tavares, G., Matmıdia, L.: Towards optimality in discrete

morse theory. Experimental Mathematics 12 (2003) 20037. Deering, M.: Geometry compression. In: Proceedings of the 22nd annual conference

on Computer graphics and interactive techniques. SIGGRAPH ’95, New York, NY,USA, ACM (1995) 13–20

8. Taubin, G., Rossignac, J.: Geometric compression through topological surgery.ACM TRANSACTIONS ON GRAPHICS 17 (1998) 84–115

9. Chow, M.: Optimized geometry compression for real-time rendering. In: Visual-ization ’97., Proceedings. (1997) 347 –354

10. Arkin, E.M., Held, M., Mitchell, J.S.B., Skiena, S.S.: Hamiltonian triangulationsfor fast rendering (1994)

11. Vaneccek, P., Kolingerova, I.: Fast delaunay stripification. In: Proceedings of the19th spring conference on Computer graphics. SCCG ’03, New York, NY, USA,ACM (2003) 83–88

12. Evans, F., Skiena, S., Varshney, A.: Optimizing triangle strips for fast rendering(1996)

13. Speckmann, B., Snoeyink, J.: Easy triangle strips for tin terrain models. Interna-tional Journal of Geographical Information Science (2001) 379–386

14. Xiang, X., Held, M., Mitchell, J.S.B.: Fast and effective stripification of polygonalsurface models (1999)

15. Isenburg, M.: Triangle strip compression. Computer Graphics Forum 20 (2001)91–101

16. Rossignac, J.: Edgebreaker: connectivity compression for triangle meshes. Visual-ization and Computer Graphics, IEEE Transactions on 5 (1999) 47 –61

17. Real, P., Molina-Abril, H.: Cell at-models for digital volumes. In: GbRPR’09.(2009) 314–323