FeatureBased Volume Metamorphosis Enrique Revern Dioseln Gonzlez Introduccin
Feature-Based Volume Metamorphosis Enrique Reverón Dioselín González
Introducción Una forma de construir Morphing de modelos 3 D es realizar Morphing 2 D entre imágenes de los modelos, Morphing 3 D es una técnica para generar Morphing de volúmenes a través de modelos 3 D intermedios.
Ventajas n n La técnica propuesta presenta varias ventajas sobre la generación de Morph entre imágenes de los modelos En Morphing 3 D, crear el Morph es independiente del punto de vista y de los parámetros de luz. Las técnicas bidimensionales, al perder información espacial de los modelos, no pueden manejar correctamente los cambios de iluminación y visibilidad.
Ventajas de Modelos Volumétricos Para describir los modelos se utiliza una representación volumétrica (volumetric data set), ya que éstos presentan algunas ventajas sobre representaciones geométricas – La calidad y aplicabilidad de técnicas geométricas de morphing 3 D es altamente dependiente de las primitivas geométricas y de sus propiedades topológicas. Volume Morphing es independiente de las características geométricas, lo cuál no impone restricciones sobre los objetos que pueden ser utilizados – Volume Morphing puede ser aplicado a representaciones geométricas transformando fácilmente éstas a representaciones volumétricas.
Volume Morphing n n El problema de Morphing de Volúmenes 3 D puede ser formulado así Dados Volúmenes S y T (origen y destino respectivamente), debemos producir una secuencia de volúmenes intermedios, el morph, que cumplan las siguientes condiciones Realismo los volúmenes generados deberían ser objetos realísticos tridimensionales que mantengan las características escenciales del volumen origen y destino. Suavidad el rendering debería describir una transición suave entre S y T.
Volume Morphing (cont) El papel que toma el usuario es crucial en la definición de las transformaciones de los objetos. El reto a afrontar para el diseño de una técnica de morphing 3 D se basa en proporcionar un algoritmo de Morphing que permita un control fino por parte del usuario y que proporcione una interfaz de usuario intuitiva. Para atacar estos aspectos se crea cada morph en dos pasos n n Deformar (Warping ) S y T son deformados para obtener volúmenes S´ y T´. La técnica permite al animador definir facilmente la forma exacta de los objetos representados en S´ y T´, esto cumple con la condición de realismo. Mezclar (Blending) S´ y T´ son combinados en un volumen, el morph, proporcionando al usuario suficiente control para crear morphing suaves.
Adquisición de Volúmenes Scanned Volumes Tomografía Computarizada (TC) Resonancia Magnética (MRI) n Scan converted geometric models un modelo geométrico puede ser voxelizado, generando una representación basada en voúmenes n Interactive Sculping n Procedural definition n
Deformación (Warping) n n Las técnicas de deformación pueden ser clasificadas en dos grupos Técnicas que permiten solo un mínimo control del usuario, consistiendo en uno o más parámetros de escalamiento. Estos algoritmos automáticamente determinan similaridades entre los dos volúmenes, y luego buscan la deformación que transforma el primer volumen en el último. Ténicas en las cuales el control del usuario consiste en manualmente especificar la deformación como una colección de puntos en el volumen. El resto del volumen es deformado interpolando la función de deformación.
Elementos de Rasgo (Feature Elements). . . . 6. b 6. a n n La idea de los elementos de rasgo es identificar correspondencia entre dos volúmenes, los cuales deben ser transformados a través del proceso de morph. Los elementos de rasgo pueden ser puntos, segmentos, rectángulos y/o y cajas. Para cada uno de ellos se debe almacenar Configuración Espacial vector origen c, dirección de los ejes de coordenadas x, y, z (unitarios). Factores de escalamiento Sx, Sy, Sz. Tipo segmento, punto, rectángulo o caja.
Pares de Elementos El animador identifica dos correspondientes elementos de rasgo en S y T, definiendo un par de elementos (ee , et ). Estos elementos deberían ser transformados uno a otro durante el morph. Para cada frame del morph la etapa de deformación debería generar un volumen S´ de S con la siguiente propiedad: el rasgo de S debería poseer una posición intermedia, orientación y tamaño en S´. Esto se logra calculando la deformación en dos pasos
Pares de Elementos
Pares de Elementos (cont) n n Interpolación se debe interpolar los factores de escalamiento (Sx, Sy, Sz) y el sistema de coordenadas (x, y, z) de los elementos ee y et , para producir un elemento interpolado e´. Este elemento representa la configuración espacial del elemento en S´. Mapeo Inverso para cada punto p´ en S´, encontramos el correspondiente punto p en S en dos pasos simples – Encontrar las coordenadas de p´ en S´ en el sistema local escalado de e´ px = ( p´- c´). x´/ Sx´ py = ( p´- c´). y´/ Sy´ pz = ( p´- c´). z´/ Sz´ – p es el punto con coordenadas px, py en el sistema local del elemento ee , c + px. Sxx+ py. Syy+px. Szz
Colección de Pares de Elementos Para extender el algoritmo antes descrito a múltiples pares de elementos, debemos usar un esquema de ponderación para determinar el punto p en S que corresponde a cada punto p´ en S´. Para esto, debemos calcular a qué punto pi cada elemento mapería p´ en la ausencia de todos los demás pares; luego promediar los pi´s usando la función de ponderación que depende de la distancia de p´ al elemento interpolado ei´.
Colección de Pares de Elementos (cont) Una función de ponderación propuesta es la siguiente (d+e)-2 donde d es la distancia a p´ del elemento ei´, e es una constante pequeña para evitar la división por cero. El tipo del elemento ei´ determina como se calcula d – Punto d es la distancia entre p´ y el origen c del sistema de coordenadas locales de ei´. – Segmento el elmento es tratado como un segmento de línea centrado en el origen c, alineado con el eje x y con longitud Sx, d es la distancia de p´ a este segmento de línea. – Rectángulo d es cero si p´ está en el rectángulo, sino es la distancia de p´ al rectángulo – Caja d es cero si p´ está dentro de la caja, sino es la distancia de p´ a la superficie de la caja
Mezclado (Blending) n Objetivo: disolver de manera suave las áreas donde haya mismatch n Dos alternativas: – 2. 5 D morphing Disolver imágenes de S’ y T’ – full 3 D morph Disolver los vólumenes S’ y T’
Mezclado (Blending) n Morphing 2. 5 D no luce muy realista t=0. 06 se hace full 3 D morph con interpolación de los valores de voxels, usando un peso w(t).
Linear Cross-Dissolving n Funciona bien para disolver el color n Falla en interpolar suavemente la opacidad, por la dependencia exponencial del color de un ray cast en la opacidad del voxel. t=0. 06
Non-Linear Cross-Dissolving n n Se desea compensar la dependencia exponencial del color en la opacidad La relación exacta entre color y opacidad depende de la distancia que viaje el rayo a través de los voxels con dicha opacidad un w(t) global no puede compensar todas las fallas pues ellas tienen distinto grosor, pero un w(t) local tampoco funciona porque distintos puntos de vista generan rayos distintos.
Non-Linear Cross-Dissolving se deriva un w(t) empírico: t=0. 06
Ejemplos
Más ejemplos
Más ejemplos
Implementación n Interfaz: ventanas para visualización de volúmenes y fields
Implementación n Interfaz: panel de control para especificar parámetros y acciones
Implementación n Obtención de Modelos 3 D – Polygon mesh: n n n Modelos en archivos de Prog. Mesh (. 3 dp) Los modelos de Prog. Mesh son exportados a archivos. 3 ds 3 DStudio. Max importa el. 3 ds y lo exporta a un archivo. ASE (ascii scene export)
Implementación n Obtención de Modelos 3 D – Volumetric datasets usando marching cubes: n n n Archivos. bmp de secciones transversales del objeto Un procedimiento lee los archivos y genera el volumen de visualización. El algoritmo de marching cubes genera el mesh
Implementación n Estructuras de Datos • Tipo Field: - Tipo (punto, línea, rectángulo, caja) - coordenadas del centro - vectores x, y, z - factores de escalamiento sx, sy, sz • 2 listas de fields: origen y destino • También se tiene un indicador de si el field está seleccionado
Implementación • Tipo Mesh: - Arreglo de vértices - Arreglo de caras - número de vértices - número de caras • 2 estructuras: origen y destino
Implementación • Volumetric data sets: - Arreglos tridimensionales que representan el origen y el destino.
Implementación n Algoritmo Generar volúmenes origen y destino (. bmp o con una función) S y T Por cada frame m Por cada field f { Interpolar fs y ft para hallar f’ en el instante m Por cada p’ en S’ { hallar p en S color(p’) = color(p) } Por cada p’ en T’ { hallar p en T color(p’) = color(p) }
Implementación n Algoritmo Volumen intermedio V’ = blending (S’ , T’) Aplicar algoritmo de marching cubes para visualizar V’ • Para un morphing suave, guardar cada frame intermedio usando la función gl. Copy. Pixels, y luego utilizar gl. Read. Pixels para leerlos secuencialmente.
- Slides: 31