Segmentación de superficies trianguladas: estado del arte y una aplicación al estudio de
macromoléculas
Victoria Hernández, Jorge Estrada, Suset Rodríguez, ICIMAF
Ismel Martínez, Universidad de La Habana
Encuentro Métodos Numéricos y Optimización
Cuba-México, abril 2012
Introducción
• Las superficies trianguladas se utilizan para representar y manipular computacionalmente objetos geométricos virtuales o reales. • Se obtienen al discretizar superficies definidas matemáticamente o al construir superficies que aproximan grandes volúmenes de datos.
Triangulación o malla triangular T: T=(V, E, F) V={vi} vertices, E={eij} aristas, F={ti} triángulos La intersección de 2 triángulos cualesquiera es el vacío, un vértice común o una arista común. Superficie triangulada M Es la superficie definida por una triangulación con vértices 3D, en la que se cumple que para todo punto sobre M existe una vecindad homeomorfa al disco.
Introducción
Conceptos básicos
Introducción
Segmentación División de una superficie triangulada M en partes T=(V, E, F) Sea S uno de los conjuntos V, E o F y S´ un subconjunto de S. Una submalla T´de T se define como T´ = (V´,E´, F´) donde E´ es el conjunto de las aristas en E cuyos extremos pertenecen a V´ y F´ es el conjunto de triángulos con todos sus vértices en V´ Una segmentación R de M (en k clases) es una partición de M en un conjunto de submallas R={ M1,…,Mk} inducidas por una partición de S en k subconjuntos disjuntos. ¿ Cómo particionar S ? Depende del objetivo de la segmentación
La mayoría de los métodos de segmentación se basan en particiones del conjunto de caras F o del conjunto de vértices V. La segmentación de una superficie triangulada simplifica la solución de otros problemas:
parametrización
identificación de formas
la edición de superficies
Extracción del esqueleto
Mapeos de textura
Métodos de Segmentación
Los métodos de segmentación se dividen en 2 grandes grupos teniendo en cuenta el objetivo que se persigue: • identificar las partes significativas del objeto (en volumen) • subdividir la malla en pedazos de superficie con identidad propia
Segmentación
Partes significativas Segmentación volumétrica Aplicaciones: extracción del esqueleto (útil para animaciones y deformaciones), descomposición de un objeto en partes para hacer morphing
Pedazos de superficie, aplicaciones: parametrización, mapeos de textura, remallado, simplificación Clases equivalentes al disco topológicamente
Lee, 2005 Sheffer, 2001
Métodos de Segmentación
Según la técnica que utilizan para la segmentación, los métodos se pueden clasificar en las siguientes categorías:
El ingrediente principal de un método de segmentación es el criterio que utiliza para decidir cuáles triángulos ( o vértices) pertenecen a una misma clase.
- Agrupamiento o cluster jerárquico
- Agrupamiento o cluster iterativo
- Métodos implícitos
- Crecimiento de regiones
- Análisis espectral
Los factores que más influyen en el resultado de cualquier método de segmentación son: • El criterio para decidir qué elementos pertenecen a la misma clase • Las restricciones que se imponen al proceso de subdivisión en clases
Cómo se construyen las las clases?
Restricciones para definir las clases
• Cardinalidad: máximo o mínimo número de elementos en cada clase, cantidad de clases y otros
• Geométricas: relativas al área y perímetro de las clases, convexidad de las mismas. Razón entre el perímetro y el área, etc
• Topológicas: exigir que cada clase sea equivalente topológicamente a un disco
• diferencia entre las normales asociadas a cada vértice • ángulo entre las normales a cada cara
• coplanaridad de las caras
Criterios para definir las clases
• Distancia geodésica promedio de cada vértice al resto de los vértices de la malla
• curvatura en los vértices
Se basan en ciertos atributos geométricos :
La coplanaridad de las caras es uno de los criterios más utilizados por sus aplicaciones en la parametrización, introducción de texturas, simplificación
Simplificación basada en la coplanaridad
Plano que representa un cluster
Garland, 99
La grado de coplanaridad se mide utilizando diferentes criterios
máxima cuadrática media
máxima promedio
normal a una cara o vértice vértice
Algunos tipos de métodos de segmentación
- Seleccionar un conjunto de triángulos {𝑡𝑖} queseránlas “semillas” de cada cluster . - Crear un cluster 𝐶𝑖 de triángulosasociados a cadasemilla𝑡𝑖 (porejemplo los triángulosvecinos de 𝑡𝑖) - Crearuna cola con prioridad 𝑄 formada por los pares < 𝑡𝑖 , 𝐶𝑖 > mientras Q no esté vacía - Sacar el primer par < 𝑡𝑘 , 𝐶𝑘 > de Q - Si 𝑡𝑘 no perteneceaún a ningún cluster y se cumple la condiciónsuficienteparaquepertenezca a 𝐶𝑘 - Agregar𝑡𝑘 a 𝐶𝑘 - Insertar en Q los pares < 𝑡𝑖 , 𝐶𝑘 >paratodo𝑡𝑖vecino de 𝑡𝑘 que no pertenezca a ningún cluster
Algoritmos de crecimiento de regiones múltiples
La desventaja fundamental de este tipo de algoritmos es que el resultado de la segmentación depende mucho de las “semillas” iniciales.
Ejemplo: si la segmentación se utiliza para parametrizar una superficie triangulada, el criterio para agregar un triángulo a uno de los clusters es una medida de la distorsión que se introduce al proyectar el cluster en el plano. Esta medida se calcula en términos de los valores singulares de la Jacobiana de la transformación afín que lleva cada triángulo en la malla 3D original a su contraparte plana.
Segmentación y parametrización obtenida Utilizando el método propuesto por Sorkine et al, IEEE Visualization 2002 El patrón del tablero de ajedrez muestra que la distorsión introducida por la parametrización es baja
- Definirun conjunto de pares válidos< 𝑥𝑖 , 𝑥𝑗 > (porejemplo 2
vérticesvecinos o dos triángulosvecinos ) - Calcularunamedida del error que se introduce al contraerun par válido, o sea al
unir en un único cluster el par < 𝑥𝑖 , 𝑥𝑗 >
- Crearuna cola con prioridad𝑄formadapor los pares válidosordenadossegún el costo
mientras Q no esté vacía - Sacar el par < 𝑥𝑖 , 𝑥𝑗 > de menorcosto de Q
- Unir los clusters i y j - Actualizartodos los pares quecontenían a 𝑥𝑖 o 𝑥𝑗 y actualizarsucosto
Algoritmos de clusters jerárquicos
Sander et al, SIGGRAPH, 2001
- Se crea un árbol binario cuyas hojas (clusters iniciales) están formadas por un único elemento (vértices o triángulos)
Los algoritmos de cluster jerárquicos se han utilizado para segmentar superficies trianguladas identificando diferentes primitivas tales como: planos, esferas y cilindros, Attene et al, Visual Computer 2006
• Inicialmente cada triángulo representa un cluster. • En cada iteración se consideran todas las parejas de clusters adyacentes y la pareja
que mejor se aproxima por una de las primitivas se une formando un nuevo cluster. • El error de aproximación se evalúa utilizando la misma métrica para todas las
primitivas
Aplicaciones
ingeniería inversa Eliminación de ruido
Algoritmos de clusters iterativos
La diferencia principal con los algoritmos de cluster jerárquicos es que se prefija el número k de clusters
La base de este tipo de algoritmos es el muy popular k-means
Dado k - Se seleccionan k representantes, uno para cada cluster - Se asigna cada elemento a uno de los clusters mientras los representantes cambien: - Para cada elemento s : - buscar el representante i más “cerca” de s (en cierta métrica) - asignar s al i-esimo cluster - Para cada cluster i: - calcular un nuevo representante
El problema de segmentación se puede ver como un problema variacional: encontrar la segmentación óptima de k cluster mediante un método iterativo que va mejorando en cada paso la calidad de la segmentación obtenida.
Cuidado! Los elementos (caras o vértices) están sobre una superficie; no utilizar la distancia Euclideana entre ellos para asignar un elemento a un cluster o seleccionar el representante del cluster. Utilizar una aproximación para la distancia geodésica sobre la superficie triangulada.
Ejemplo : Shlafman, 2002 La distancia entre dos caras f1 y f2 se calcula como una suma pesada del ángulo entre las normales a las caras y una aproximación de la distancia geodésica PhysDist entre ellas:
Esta métrica también se utiliza para definir el nuevo representante de cada cluster . Para garantizar la conexidad de los clusters sólo se consideran los triángulos adyacentes a la región que se está analizando
Cohen et al , 2004 Otra variante de k-means para identificar regiones planas se basa en medir la integral sobre una región de la diferencia entre la normal n(x) a a la superficie en un punto de la región y la normal al representante (por ejemplo la normal al plano que representa cada cluster)
Cohen, ACM Trans on Graphics 2004 La segmentación se utiliza para construir una aproximación poligonal de la superficie triangulada
Métodos Espectrales
donde es una curva cerrada simple sobre la superficie alreadedor de es la longitud, es la curvatura media y la normal (ambas en )
Geometría Diferencial
Es una discretización de la integral curvilínea anterior vector con la dirección de la normal a la superficie y cuya magnitud es aprox. igual a la curvatura media
Es fácil ver que
donde x es el vector de las “x” de los vértices de la triangulación (similar para y, z) L es la matriz Laplaciana (topológica) de la malla dada por:
𝑑𝑖 es la valencia de 𝑣𝑖
Discretizaciones del Laplaciano
Métodos Espectrales
Operador de Laplace-Beltrami
Problema de autovalores Laplaciano
Pinkall, 1993
Laplaciano topológico
Discretización del problema de autovalores
Métodos Espectrales y segmentación
Conjunto nodal: puntos sobre la superficie donde donde se anula la i-ésima autofunción Un conjunto nodal divide la superficie en un conjunto de dominios nodales donde la autofunción solo toma valores positivos o negativos La n-ésima autofunción tiene a lo sumo n dominios nodales
Reuter et al, 2010 Segmentación obtenida utilizando los dominios nodales de las autofunciones que se refieren
Limitación: ¿Qué autovector utilizar para obtener la segmentación deseada?
Métodos Espectrales y segmentación
Otros métodos más parecidos a los métodos para segmentar imágenes, se basan en la definición de una matriz de afinidad entre los vértices o caras de la malla triangular. La afinidad entre dos vértices puede depender de la distancia geodésica entre ellos la curvatura y otros atributos.
Existen diferentes alternativas para crear los cluster a partir de los autovectores y autovalores de la matriz de afinidad : a) Definir los clusters a partir de un solo autovector , usualmente el segundo, que permite definir dos grupos de vértices. Repetir este proceso y definir un criterio para decidir cuáles grupos se siguen subdividiendo. b) Definir los cluster utilizando k autovectores. Desde el punto de vista teórico, esto nos permite definir una inmersión de los vértices y sus atributos en un espacio de dimensión k, donde es más fácil realizar la segmentación, utilizando por ejemplo k-means. Liu 2007
3 clusters 7 clusters Liu 2004
Aplicación al estudio de proteínas
La inmovilización de proteínas es un proceso por el cual se restringen (completa o parcialmente) los grados de libertad de movimiento de las proteínas, por su unión o confinamiento, en el espacio de una superficie sólida. Los métodos de inmovilización tienen como paso común estimar el área de interacción de la proteína con la superficie. La identificación de regiones planas es un paso importante en la inmovilización de las proteínas.
Una proteína es una macromolécula compuesta por una cadena de aminoácidos. El modelo más común de una molécula es un conjunto de átomos, representados por esferas que se intersecan. Cada esfera puede tener un radio diferente: radio de Van der Waal ( figura A ). Dos tipos de superficies asociadas a las macromoléculas: -de Van der Wall (SVW) : frontera del conjunto unión de las esferas (A) -solvente accesible (SAS): es el lugar geométrico definido por el centro de una esfera de prueba (usualmente de radio 1.4 º) que rueda sobre la SVW (roja en B)
Proteínas
Determinar las regiones planas de la SAS de una proteína
Entrada: fichero pdb
Estrategia de solución
Salida: Agrupamiento de los átomos en clases
Problema
1. Aproximación de la superficie solvente accesible por medio de una superficie implícita.
2. Cálculo de una triangulación 3D cuyos vértices estén sobre la superficie implícita.
3. Segmentación de la triangulación utilizando el criterio de coplanaridad. 4. Agrupamiento de los átomos en clases.
donde • N número de átomos • ri es el radio del i-ésimo átomo • xi son las coordenadas del centro del i-ésimo átomo • C < 0 parámetro que controla la inflación
Aproximación de la SAS por medio de una superficie implícita
Bajaj 2005 Usando sumas de funciones de núcleo gaussiano pesadas logran modelar convenientemente el mapeo de densidad de una macromolécula, como isosuperficie M de la función G=G(x1, x2, x3 )
• El método clásico de generar triangulaciones sobre superficies implícitas f(x,y,z)= 0 es Marching cubes, Lorensen 1987 • Se basa en discretizar la región del espacio donde se encuentra la superficie en voxels, evaluar la expresión de la superficie en los vértices de estos voxeles f (xi , yi , zi ) y construir triángulos en aquellos voxeles donde se registra al menos un cambio de signo
Malla triangular sobre una superficie implícita
Una buena discretización debe ser robusta y adaptativa! • Robusta: Refleja bien la topología de la superficie (huecos, componentes conexas,..) • Adaptativa: Malla es más refinada sólo en regiones de alta curvatura
Marching cubes clásico Marching cubes robusto y adaptivo
Mejora del marching cubes- Marching cubes Paiva, Lewiner 2006
se basa en la construcción de un octree, cuya raíz es un cubo que contiene la región donde se desea graficar la superficie implícita f(x,y,z) = 0. Se define un proceso de subdivisión. En cada paso se decide si una celda (o cubo) del octree se debe dividir o no en 8 subceldas.
Segmentación de la malla triangular
Grafo Dual D=(N,A) N- conjunto de nodos. Cada nodo en N corresponde a un triángulo en M A- conjunto de aristas duales. Entre dos nodos Ni y Nj de D existe una arista dual si los triángulos Ti y Tj correspondientes en T son vecinos ( o sea si Ti y Tj comparten una arista de M)
Cluster jerárquico de caras, Garland 2001
nodo de D (inicialmente triángulo de M)
contraer una arista de D Unir 2 clusters para formar uno nuevo
cluster
HFC (hierarchical face clustering)
1- Asignar un “costo=error” a cada arista de D. Se organizan las aristas según su costo en una pila. 2- Extraer la arista Ni Nj de menor costo y se contraerla introduciendo un nuevo nodo Nk 3- Construir la lista de vecinos de Nk (todos los que eran vecinos de Ni o Nj ) o sea definir las aristas de D que contienen a Nk y calcular su costo. Incoporarlas a la pila. 3- Regresar a 1, hasta que se cumpla algún criterio de parada.
Cómo se asigna el costo=error a una arista del grafo dual?
Costo de la arista Ni Nj
Error que se introduce cuando formamos un único cluster con los vértices de los triángulos representados por Ni y Nj
La normal n del plano es el autovector asociado al menor autovalor de la matriz (3x3) Z de covarianza
Dado un conjunto de k vértices vi el plano
que mejor aproxima los datos es el que minimiza el error cuadrático
Otras formas de medir el error
• error máximo = altura de una caja que contiene todos los puntos de cluster • es importante la “forma” de las cluster? En caso positivo se introduce otro término en el error que penaliza los clusters muy irregulares.
Criterios de parada
• cuando el número de clusters obtenidos sea menor que una cota prefijada • cuando el error asociado a la formación de nuevos clusters sea mayor que un valor prefijado • cuando el número de elementos en un cluster sea mayor que un valor prefijado.
Dos vistas de la segmentación de una proteína (ShPI) Programa Matlab
Primeros resultados
Referencias
1. Hierarchical face clustering on polygonal surfaces, M. Garland, A. Willott, P.S. Heckbert, proc. ACM Symposium on Interactive 3D Graphics, 2001.
2. Hierarchical mesh segmentation based on fitting primitives, M. Attene, B. Falcidieno, M. Spagnolo, Visual Computer 2006.
3. A survey on mesh segmentation techniques, A. Shamir, Computer Graphics Forum, 2008
4. D. Cohen Steiner[, P. Alliez, M. Desbrum, Variational shape approximation. ACM Trans. Graph. 23 (2004).
5. Rong Liu and Hao Zhang. Mesh segmentation via spectral embedding and contour analysis. Computer Graphics Forum 26, 2007.
6. M, Reuter, S. Biasotti, D. Giorgi, G, Patane, M. Spagnuolo, Discrete Laplace-Beltrami Operators for Shape Analysis and Segmentation, 2010.
Top Related