Modelo Dinámico para la Reconstrucción del Corazón

Anuncio
Modelo Dinámico para la Reconstrucción del
Corazón Humano
Antonio Susín1
Oscar García2
1. Departamento de Matemática Aplicada 1.
Universitat Politécnica de Catalunya.
Avda. Diagonal 647, 08028 Barcelona. Telf. 934.017.781 Fax: 934.016.913.
e-mail: [email protected].
2. CITeM - Centro de Integración Tecnológica y Multimedia.
Ingeniería-Arquitectura La Salle, Universitat Ramon Llull.
C/ Quatre Camins 2, 08022 Barcelona. Telf. 932.902.442. Fax: 932.902.420.
e-mail: [email protected].
Resumen
Este artículo introduce un modelo de recuperación de la superficie del ventrículo izquierdo
del corazón utilizando imágenes médicas (SPECT). Partiendo de las imágenes del
ventrículo izquierdo de un paciente determinado, se reconstruye el aspecto que el órgano
presenta en realidad, es decir en 3 dimensiones. La principal característica es que se trata de un
modelo dinámico planteado a partir de la evolución de una malla triangularizada que es atraída
hacia los contornos de interés mediante la acción de un campo vectorial de tipo gradiente. Todo el
modelo está planteado para reaccionar ante la influencia de las fuerzas internas y externas que se
incluyan. De esta manera, su evolución se plantea directamente en términos de las leyes de la
dinámica newtoniana. Las técnicas numéricas de integración utilizadas permiten acelerar los
tiempos de cómputo que son necesarios para avanzar hacia la posición de equilibrio que se
corresponde con los contornos que se quieren obtener.
Introducción
La reconstrucción de un órgano del cuerpo humano suele hacerse a partir de las secciones
2D obtenidas con equipos de diagnostico médico como la Tomografía Computerizada (CT)
y las Imágenes de Resonancia Magnética (MRI). Disponer de un modelo 3D reconstruido a
partir de los datos de un determinado paciente puede tener distintas aplicaciones como la
ayuda en el diagnóstico médico, la realización de simulaciones en la planificación de
operaciones, el adiestramiento de los estudiantes de medicina, etc.
En la creación de estos modelos 3D a partir de los datos volumétricos en muchos casos se
ha optado por un proceso manual utilizando software de procesamiento de imágenes. Este
proceso puede ser muy lento además de requerir conocimientos de tipo médico y mucha
experiencia. Por razones obvias, es preferible contar con un proceso de segmentación
automática que permita la reconstrucción del modelo 3D de forma rápida y con la mayor
precisión. En el caso de determinadas partes del cuerpo, como pueden ser los huesos o la
piel, el cambio de intensidad en las imágenes es tan claro, que permite utilizar técnicas de
reconstrucción de superficies tipo Marching Cubes con resultados óptimos. Este tipo de
técnicas fracasa en el caso de estar interesados en lo que podríamos denominar órganos o
tejidos blandos, como podrían ser el corazón, el hígado o los músculos. Las imágenes
correspondientes a estos órganos presentan en general contornos muy poco definidos que
se confunden con el entorno.
Para resolver este problema se introdujo la familia de métodos de contorno activo o
Snakes, las Active Nets y las 3D Active Nets para el caso de ajustarse respectivamente a un
contorno, a toda una región 2D o a la superficie que limita unos datos volumétricos, y
finalmente, los Active Cubes para ajustar volúmenes en 3D.
Otra posibilidad de resolución se basa en la utilización del método de los elementos finitos
(FEM) para resolver las deformaciones. Estos métodos consiguen generalmente buenos
resultados a costa de aumentar la complejidad y el coste de cálculo.
El modelo dinámico que se presenta [1][3] en este trabajo resuelve el mismo tipo de
problemas pero planteando la adaptación al contorno de los datos como la evolución de una
malla deformable [2] bajo la acción de un conjunto de fuerzas que contemplan tanto
posibles fuerzas internas, que dan las propiedades de elasticidad y rigidez del modelo,
como las fuerzas externas de atracción. Estas últimas, se plantean como la acción de un
campo vectorial de tipo gradiente, GVF, que se anula en los contornos de interés [4][5].
Se presentan dos modelos deformables para la posterior evolución dinámica: el modelo de
deformación plana, en el que que intervienen tres fuerzas internas, y el modelo masasmuelles, en el que interviene una única fuerza interna.
Modelo de deformación plana
Las fuerzas de deformación del modelo las plantearemos sobre cada uno de los triángulos
que forman la malla. La deformación viene caracterizada por la acción de tres fuerzas que
son las de estiramiento (stretch), cizalla (shear) y flexión (bend).
Cada una de las fuerzas se implementa como una condición de restricción C(x)=0 que el
sistema debe mantener. A partir de la definición de una restricción, se pueden obtener la
función de energía Ec(x) y la fuerza en cada uno de los vértices fi, asociadas a esta
restricción:
k
C(x) T C(x)
2
∂E
∂C(x)
C(x)
f i = − c = −k
∂x i
∂x i
∂f
K=
∂x
EC =
(1)
(2)
(3)
K ij =
 ∂C(x) ∂C(x) T ∂ 2 C(x)

∂f i
= −k
+
C(x) 
 ∂x

∂x j
∂x j
∂x i∂x j
i


(4)
En (1) y (2) k es una constante que podemos interpretar como el peso que tendrá la
restricción C(x) en el modelo. Si consideramos que las restricciones se imponen por
triángulo, esto nos dice que C(x) va a depender de pocas partículas por lo que tendremos
unas estructuras dispersas a la hora de representar las fuerzas y sus derivadas. Cada
elemento de fuerza, fi, es un vector de ℜ3. La matriz de derivadas de fuerza K pertenece a
ℜ3nx3n de forma que cada uno de sus elementos Kij es una matriz de 3x3 posiciones.
Por cuestiones de estabilidad del sistema, cada fuerza tendrá asociado un término de
amortiguación (damping) que definiremos como:
f d = −k d
∂C(x) &
C
∂x
(5)
La magnitud del estiramiento o de la compresión de cada una de las aristas de un triángulo
puede controlarse mediante una fuerza de tipo “stretch”. Dado un triángulo de la malla con
vértices las partículas i, j y k se define un espacio de coordenadas locales:
∆x 1 = x j − x i
∆x 2 = x k − x i
∆u 1 = u j − u i
∆u 2 = u k − u i
∆v1 = v j − v i
∆v 2 = v k − v i
(6)
Entonces una aproximación lineal para el cambio de referencia es:
∆x1 = Wu ⋅ ∆u1 + Wv ⋅ ∆v1
(7)
∆x 2 = Wu ⋅ ∆u 2 + Wv ⋅ ∆v 2
y las derivadas de W respecto u y v son:
(Wu
Wv ) = (∆x1
 ∆u
∆x 2 ) 1
 ∆v1
∆u 2 

∆v 2 
−1
(8)
Con este sistema se pueden formular dos condiciones que impidan la deformación de los
dos lados ∆x1 y ∆x2.
 W (x) − b u 

C(x) = a  u

W
(x)
−
b
v
 v
(9)
Obtenemos los incrementos o decrementos de longitud de arista como las diferencias de
posición entre los dos pares de partículas implicadas. La definición de la restricción C(x)
expresa la posibilidad de alargamiento proporcional al área del triángulo "a", normalmente
las constantes bu y bv son iguales a 1, lo que significa que la restricción tenderá a mantener
las aristas con la misma longitud inicial, si este no fuera el caso, se puede modificar la
constante k que multiplica la restricción en el planteamiento global y permitir así una
mayor elasticidad.
La fuerza de cizalla o shear es la que actúa sobre el ángulo de apertura interna del
triángulo:
C(x)= aWu (x)T Wv (x)
(10)
La restricción tiende a mantener el ángulo de los vectores Wu(x) y Wv(x) de manera que
sea próximo a ortogonal y evitar de este modo que el triángulo se pueda volver muy
degenerado.
Por último, la fuerza de flexión o bend intenta controlar la flexión de la superficie de la
malla. Se define esta fuerza entre pares de triángulos adyacentes.
sin θ = ( n1 × n 2 )·e
cos θ = n 1 ·n 2
(11)
C(x) = θ
La restricción intenta mantener el ángulo que forman las caras de los dos triángulos. Los vectores
implicados en el cálculo son las normales respectivas de cada triángulo n1 y n2 y la dirección de la
arista compartida, e.
Modelo de deformación masas-muelles
En este caso la deformación viene caracterizada por la fuerza de estiramiento existente
entre distintos pares de partículas. El sistema opera a partir de masas puntuales (partículas)
y muelles que las interconectan.
La fuerza de estiramiento entre un par de partículas a y b se define como:

l&·l  l
f a = − k s ( l − r ) + k d 
l  l

fb = − f a
(12)
(13)
dónde ks es la constante del muelle, kd su factor de amortiguación, l su elongación y r su
longitud en equilibrio.
Fuerzas Externas
Se definen como un campo vectorial (GVF) en todo el mundo de voxels de la imagen 3D.
La idea es minimizar un funcional que mezcla la información obtenida a partir del
gradiente de intensidades de la imagen con un término de difusión que permite extender el
campo vectorial de manera suave al resto del dominio.
El campo vectorial de tipo gradiente V(x,y,z)=(u(x,y,z), v(x,y,z), w(x,y,z)) que constituye
la fuerza externa se obtiene a partir de la minimización del funcional de energía:
ε = ∫∫∫ µ ⋅ ∇ 2 V + ∇I V − ∇I dxdydz
2
2
(14)
La integral se compone de dos términos bien diferenciados, el primero es el término de
difusión, mientras que el segundo contiene la información sobre las variaciones de
intensidad de la imagen. Cuando las variaciones de propiedad I (generalmente intensidad)
entre voxels consecutivos sean pequeñas, dominará la expresión el primero de ambos, es
decir, se producirá la suavización del campo vectorial. Por otra parte, en zonas de grandes
variaciones en cuanto a valor de propiedad dominará el segundo término. El valor de la
constante µ, servirá para controlar el balance entre los dos términos de la integral.
Puede obtenerse el campo GVF solucionando las siguientes ecuaciones de Euler, tal y
como se describe en [4][5]:
µ ⋅ ∇ 2 u − (u − I x )(I 2x + I 2y + I 2z ) = 0
µ ⋅ ∇ 2 v − ( v − I y )(I 2x + I 2y + I 2z ) = 0
(15)
µ ⋅ ∇ 2 w − ( w − I z )(I 2x + I 2y + I 2z ) = 0
La observación de las ecuaciones permite deducir que en zonas de poca variación de
intensidad el segundo término se anula prácticamente ya que también lo hace el gradiente
de I(x,y,z).
Implementación numérica para el modelo de deformación plana
En primer lugar, respecto a la integración de las ecuaciones diferenciales que describen la
dinámica, hemos utilizado un método de Euler implícito. La idea es considerar que ∆x = x
(t0 + h) – x (t0) y ∆v = v (t0 + h) – v (t0), donde h es el paso de integración, entonces la
ecuación del sistema se puede escribir como:
v o + ∆v


 ∆x 

  = h −1
 ∆v 
 M f(x o + ∆x, v o + ∆v) 
(16)
El método se basa en la evaluación de las fuerzas en el siguiente instante de tiempo. Pera
determinar estas fuerzas se considera una aproximación de Taylor de primer orden:
f(x o + ∆x, v o + ∆v) = f o +
∂f
∂f
∆x + ∆v
∂x
∂v
(17)
Las derivadas ∂f/∂x y ∂f/∂v se evalúan en (x0,v0). Substituyendo en la ecuación inicial se
obtiene:
v o + ∆v


 ∆x 

  = h −1
f
f
∂
∂


M
(f
∆x
∆v)
+
+
o
 ∆v 
∂x
∂v


(18)
Y como ∆x = h·(v0 + ∆v):
∂f
∂f


∆v = h ⋅ M −1  f o + h(v o + ∆v) + ∆v) 
∂x
∂v


(19)
Agrupando los términos se obtiene un sistema de ecuaciones lineales donde la incógnita es
∆v:
∂f 
∂f 


−1 ∂f
− h 2 M −1 ∆v = hM −1  f o + h
vo 
 I − hM
∂v
∂x 
∂x 


(20)
Finalmente éste es el sistema a resolver. Se trata de un sistema lineal de 3n incógnitas. La
solución es el incremento de velocidad de todas las partículas del sistema; a partir de este
incremento se puede calcular la nueva posición de las partículas utilizando que x = x + ∆x
donde ∆x = h·(v0 + ∆v).
En este método, para avanzar un paso se deben evaluar tanto las fuerzas como sus
derivadas respecto de la posición y la velocidad. Las fuerzas que intervienen son las fuerzas
internas correspondientes a las características del modelo deformable y por otro lado las
externas correspondientes al campo vectorial que se ha calculado previamente.
El utilizar un método implícito nos permite utilizar pasos de integración mayores, pero al
mismo tiempo nos obliga a resolver un sistema de ecuaciones lineales en cada paso. El
hecho de que estos sistemas sean muy dispersos, hace adecuado un método iterativo de
resolución que en nuestro caso es un método de gradiente conjugado.
Implementación numérica para el modelo de deformación masas-muelles
El modelo masas-muelles depende de una sola fuerza interna de estiramiento y por tanto no
requiere el mismo órden de cálculos por iteración que el anterior. Esta premisa nos lleva a
emplear un motor numérico de tipo Runge-Kutta 4, estable y con un término de error O(h5)
más que aceptable.
Resultados prácticos
Se ha utilizado una malla esférica escalada como punto de partida para las simulaciones
presentadas. La malla rodea inicialmente los datos de interés de forma que no exista
colisión alguna con éstos.
A continuación se presentan algunas de las pruebas realizadas empleando los dos modelos
de deformación comentados así como un tercero consistente en la aplicación del campo
vectorial gradiente en solitario.
Notar que todos los tiempos de cómputo se refieren a una máquina con procesador Pentium
II y 266 MHz de reloj, dotada de 256 MB de memória RAM y una tarjeta aceleradora 3D
de tipo Nvidia RIVA TNT II de 32 MB.
# Test
Malla final
Datos a
recuperar
Método
Características
1
Campo gradiente ∆t = 0.00025
con modelo
deformable de
0.1282 segundos
masas-muelles
por iteración
2
Campo gradiente ∆t = 0.01
0.0392 segundos
por iteración
3
Campo gradiente ∆t = 0.01
con modelo de
deformación
2.4594 segundos
plana
por iteración
Tabla 1. Resultados de reconstrucción 3D
En el primer caso se obtiene la reconstrucción de los datos mediante el modelo de
deformación de masas y muelles. En esta simulación se utilizó un valor de 1000.0 para la
constante KS (muelles) así como un valor de 100.0 para KGVF (constante de ponderación
del campo gradiente) con un término de amortiguación de valor 0.25 (aplicado a la
velocidad de las partículas). Si bien el tiempo por iteración no es excesivo, la convergencia
de la simulación pasa por utilizar un paso temporal pequeño.
En la segunda fila de la tabla 1 se presenta una simulación en la que tan sólo actua el
campo vectorial gradiente. Las partículas se mueven libremente sin interacción entre ellas
(no hay muelles). El paso temporal puede aumentarse y el tiempo por iteración disminuye
considerablemente dado que no hay fuerzas de tipo interno que calcular. Por contra se hace
especialmente necesaria la existencia de un criterio de parada para las partículas. Al no
existir relación alguna entre ellas, pueden degenerarse considerablmente los triángulos
finales si se itera demasiado. En nuestro caso marcamos los voxeles donde se produce un
cambio de signo del campo vectorial GVF (identificamos la frontera) y paramos las
partículas cuando colisionan con ellos.
Por último se observa el método de deformación plana. Si bien podemos controlar a fondo
las relaciones entre las partículas (estiramiento, cizalla y flexión) el coste del método es
muy superior al resto, en cuanto a tiempo por iteración. El paso temporal puede escogerse
mayor que en el caso del modelo de masas-muelles.
Conclusiones
El presente trabajo es un primer paso en la obtención de un modelo dinámico que permita
reconstruir superficies que limitan un conjunto de datos 3D. En los tests numéricos
efectuados sobre modelos sencillos los resultados son bastante satisfactorios. De todos
modos el objetivo final es mucho más complejo ya que se pretende reconstruir un modelo a
partir de los datos SPECT del corazón de un paciente, que puede presentar zonas de hasta
el 60% de la superfície con inexistencia de datos.
Agradecimientos
Los autores quieren agradecer las sugerencias y los comentarios de los integrantes del
grupo de investigación de aplicaciones informáticas en medicina del Instituto de Robótica e
Informática aplicada de la UPC (Universidad Politécnica de Cataluña) y del equipo de
Cardiología Nuclear de los Hospitales Vall d’Hebrón de Barcelona.
Referencias
[1] J. Amatller, O. García, A. Susín. “Modelo Dinámico para la segmentación automática
de imágenes 3D”, X Congreso Español de Informática Gráfica-CEIG’2000, pág. 355-370,
Junio 2000.
[2] D. Baraff and A. Witkin, “Large Steps in Cloth Simulation”, Computer Graphics (Proc.
SIGGRAPH), 43-54, 1998.
[3] O. García, A. Susín, I. Navazo. “Segmentación Automática mediante un modelo
dinámico. Aplicación a la reconstrucción del ventrículo izquierdo”, Jornadas de
Investigación en Ingeniería Biomédica, Sitges, 2-3 Noviembre 2000.
[4] C. Xu and J.L. Prince, “Gradient Vector Flow: A New External Force for Snakes”,
IEEE Proc. CVPR, 1997.
[5] C. Xu and J.L. Prince, “Snakes, Shapes, and Gradient Vector Flow”, IEEE
Transactions on Image Processing, pag. 359-369, 1998.
Descargar