U
NIVERSIDADN
ACIONAL DELC
ENTRO DE LAP
ROVINCIA DEB
UENOSA
IRESF
ACULTAD DEC
IENCIASE
XACTASS
EGMENTACIÓN
Y
RECONSTRUCCIÓN
EFICIENTE
DE
MALLAS
PARA
SEGUIMIENTO
DE
TUMORES
UTILIZANDO
GPU
Trabajo final presentado para obtener el título de Ingeniero de Sistemas
de la Facultad de Ciencias Exactas - UNICEN
Por Enzo Ferrante
Directora: Dra. Mariana del Fresno
“Nuestra ciencia es subdesarrollada, sí, pero no porque no haya alcanzado el nivel norteamericano, sino porque es insuficiente para ayudarnos a construir la sociedad que deseamos.”
Índice de contenido
Resumen...6
1 Introducción...7
1.1 Imágenes médicas en Oncología...7
1.2 Descripción de la problemática...8
1.3 Organización del trabajo...10
2 Segmentación de Imágenes Médicas...11
2.1 Etapas del workflow clásico de procesamiento de imágenes...11
2.2 Algoritmos clásicos para la segmentación de imágenes médicas...12
2.2.1 Umbralado...12
2.2.2 Métodos orientados a bordes...13
2.2.3 Crecimiento de Regiones...14
2.2.4 Watershed...16
2.2.5 Modelos Deformables...17
2.2.5.1 Modelos Deformables Paramétricos...18
2.2.5.2 Modelos Deformables Geométricos...19
3 Procesamiento basado en GP-GPU ...21
3.1 Arquitectura de una GPU...21
3.2 OpenCL...22
3.3 Segmentación de imágenes médicas en GPU...23
4 Esquema de segmentación propuesto...25
4.1 Descripción general del método de segmentación...25
4.2 Crecimiento de Regiones...26
4.3 Extracción y suavizado de la malla de superficie...29
4.3.1Generación de la malla...29
4.3.3 Método de Taubin...32
4.4 Modelos Deformables...33
4.4.1 Modelo continuo de Contornos Activos (2D)...34
4.4.1.1 Energía Interna...35
4.4.1.2 Energía Externa...35
4.4.1.3 Minimización del funcional de energía...36
4.4.2 Modelo discreto de Contornos Activos (2D) ...37
4.4.3 Modelo discreto de Superficies Activas (3D)...38
4.4.4 Definición de las fuerzas en el modelo discreto...38
4.4.4.1 Energía Interna...39
4.4.4.2 Energía Externa...39
4.4.4.2.1 Fuerza de Inflación...40
4.4.4.2.2 Fuerza de gradiente...41
4.4.5 Evolución del modelo discreto...43
4.4.6 Pseudocódigo del algoritmo ...44
4.5 Medición del volumen y la calidad de la segmentación...45
4.5.1 Medición de la calidad de la segmentación...45
4.5.2 Cálculo del volumen encerrado entre dos mallas...47
5 Arquitectura del sistema...49
6 Paralelización del método de Superficies Activas...53
6.1 Granularidad de procesamiento y grafo de dependencia de tareas...53
6.2 Primera aproximación al esquema paralelizado...55
6.3 Implementación paralelizada en GPU...56
6.3.1 Conversión de estructuras...58
6.3.2 Kernels de procesamiento en GPU...60
6.3.4 Resumen del esquema presentado...62
7 Resultados...63
7.1 Análisis de sensibilidad para el algoritmo de Crecimiento de Regiones...63
7.1.1.1 Tolerancia (t)...63
7.1.1.2 Proporción de vecinos (p)...64
7.1.1.3 Orden del vecindario (o)...65
7.2 Análisis de sensibilidad para el algoritmo de Modelos Deformables...65
7.2.1.1 Cantidad de Iteraciones máxima...65
7.2.1.2 Tamaño del paso de integración (∆t)...68
7.2.1.3 Fuerzas internas...68
7.2.1.4 Fuerza de Inflación...69
7.2.1.5 Fuerza del Gradiente...71
7.3 Estudio de eficiencia para el método de Superficies Activas en CPU y GPU...71
7.3.1 Implementaciones en CPU...72
7.3.2 Implementación en GPU...73
7.4 Medición de la calidad de la segmentación...75
7.5 Aplicación del esquema completo de segmentación a una serie de imágenes...78
8 Conclusiones y trabajos futuros...82
9 Artículos científicos generados...85
10 Anexos...87
10.1 Anexo I: Tecnología de adquisición de imágenes MRI...87
10.2 Anexo II: Tumorsim, generación de tumores sintéticos y Ground Truth...88
Resumen
Las nuevas tecnologías de captación de imágenes en medicina han simplificado ampliamente la tarea de los expertos médicos en el diagnóstico y seguimiento de patologías. En particular, la detección y análisis de la evolución de tumores se ha visto beneficiada por las posibilidades brindadas por dichas tecnologías y se ha convertido en un área de gran interés para el estudio, investigación y aplicación de técnicas de procesamiento digital de imágenes y visualización computacional.
En este trabajo se presenta un método de segmentación basado en un esquema híbrido que combina distintos algoritmos en un pipeline de procesamiento, aplicado a la segmentación de tumores en imágenes de resonancia magnética (MRI). Las técnicas utilizadas más relevantes son el método de segmentación por Crecimiento de Regiones y una posterior mejora de los resultados por medio del método de Modelos Deformables Paramétricos (también conocido como Superficies Activas). El sistema completo es aplicado sobre una serie de MRI artificiales que simulan los distintos estadíos de un tumor cerebral a lo largo de un tratamiento oncológico. Con el objeto de brindar al especialista médico un indicador que colabore en el proceso de toma de decisiones acerca del éxito o fracaso del tratamiento aplicado, se realiza una estimación del volumen del tumor a partir de los resultados de la segmentación obtenida.
1 Introducción
La tecnología de imágenes digitales ha impactado significativamente en la medicina en los últimos años, con el surgimiento de diferentes modalidades de captura de imágenes en 2 y 3 dimensiones (como Tomografías Computadas, Imágenes de Resonancia Magnética, ecografías, etc.). Gracias a estos avances tecnológicos, es posible realizar diversos tipos de estudios para reconocer patologías y explorar el interior del cuerpo humano con procedimientos no invasivos o con un grado de agresividad muy leve. Estas nuevas tecnologías de captura de imágenes en medicina han simplificado y mejorado ampliamente la tarea de los expertos médicos en el diagnóstico y seguimiento de enfermedades. El análisis, reconstrucción y procesamiento computacional de las imágenes generadas a partir de estas tecnologías, conocido como Procesamiento de Imágenes Médicas (Medical Imaging), constituye actualmente uno de las campos de estudio más importantes dentro del área general de Procesamiento de Imágenes (Computer Vision o Image Processing en inglés) [Dou09].
En la actualidad, existe un gran número de algoritmos y técnicas clásicas que permiten obtener información de utilidad para los especialistas a partir de los datos iniciales [Pha00]. La identificación de órganos, la exploración semi-automática de patologías, la asistencia a la planificación de cirugías y la reconstrucción de estructuras anatómicas son algunas de las problemáticas comúnmente abordadas en este campo [Yoo04]. En muchos de estos procesamientos existe una etapa crítica que permite la detección de los objetos de interés, la cual se conoce como segmentación [Dou09]. Si bien se han propuesto numerosos enfoques para resolver este problema, la búsqueda de nuevas estrategias de segmentación y la mejora de performance en las existentes, constituye una de las áreas abiertas para la investigación en Procesamiento de Imágenes Médicas.
1.1 Imágenes médicas en Oncología
mediante diferentes herramientas de asistencia, pueden brindar a los especialistas información relevante para el diagnóstico y la planificación de tratamientos. En radioterapia, por ejemplo, las imágenes médicas permiten calcular la dosificación de la radiación y focalizarla en el tumor tratado, minimizando el daño colateral en el tejido sano [McI96].
En los tratamientos oncológicos, el seguimiento clínico del volumen de un tumor resulta esencial para realizar adaptaciones durante su evolución. Por esta razón, la certeza en el cálculo de dicho indicador resulta fundamental para analizar la evolución de la enfermedad y determinar el éxito o fracaso del tratamiento de forma temprana, permitiendo corregirlo en caso de ser necesario [Egg10a].
El tipo de tumores cerebrales más común son los denominados Gliomas, dentro de los cuales alrededor del 70% son considerados malignos. El Glioblastoma Multiforma (GBM), catalogado con un grado de agresividad IV por la Organización Mundial de la Salud (World Health Organization – WHO) [Kle02] es el tipo de glioma más agresivo y más frecuentemente encontrado [Egg10b]. Pese a los nuevos tratamientos basados en radiación y al desarrollo de novedosos fármacos orales, el periodo medio de sobrevida es de aproximadamente 15 meses [Kor03|. Los tratamientos más difundidos para tratar esta patología varían entre intervención quirúrgica, radiación percutánea y quimioterapia.
Para la detección y seguimiento de patologías tumorales se utilizan habitualmente las Imágenes de Resonancia Magnética (MRI), debido a su capacidad de distinguir mejor los tejidos blandos. Existen distintos tipos de MRI según el fenómeno que domine en su formación y a las adquisiciones diferenciadas se las denomina potenciaciones (en el Anexo 10.1 se presenta una descripción detallada de dichas modalidades). En la actualidad, los equipos de adquisición de imágenes médicas han adoptado el estándar DICOM1 (acrónimo inglés de Digital Imaging and Communication in Medicine) para el intercambio de imágenes en medicina
1.2 Descripción de la problemática
La segmentación de imágenes resulta entonces de gran importancia como etapa previa para la
extracción de indicadores que puedan ayudar a la detección de tumores en MRI y a la descripción de sus características. Se trata de un proceso esencial para asistencia al diagnóstico, planificación de tratamientos, monitoreo de terapias o bien para definir la necesidad de una intervención quirúrgica.
El objetivo es comparar las imágenes tridimensionales tomadas en diferentes estadíos de evolución de la patología tumoral, para determinar cambios volumétricos en el tumor, los cuales pueden proveer al médico información precisa sobre la expansión o contracción del mismo en respuesta al tratamiento. De esta manera, se plantea un enfoque más completo para el análisis, que busca superar a los estándares actuales basados en medidas lineales de diámetro tumoral [Mey09].
El problema de la segmentación de tumores en MRI resulta dificultoso debido a una combinación de diversos factores [Pra09] que modifican la estructura cerebral sana y aportan nuevos desafíos:
• El tejido cerebral se ve deformado, debido al efecto de masa2 provocado por el tumor.
• La transición gradual entre el tumor, el edema y el tejido cerebral resulta en una ambigüedad en los límites de la estructura.
• La modalidad de MRI T1w con realce de contraste de Gadolinio (Sección 10.1), es la modalidad estándar para la identificación de tumores. En las imágenes de esta modalidad, el tejido correspondiente a la zona activa del tumor es visualizado con valores de intensidad altos (brillantes). Desafortunadamente, los vasos sanguíneos también se muestran brillantes, mientras que algunas partes del interior del tumor (como las zonas muertas donde se ha producido necrosis) aparecen con valores de intensidad bajos, pese a estar dentro de la región de interés. Por esta razón, el uso de métodos de segmentación simples como el de umbralado (Sección 2.2.1) se hace imposible y se requieren esquemas de segmentación más complejos.
1.3 Organización del trabajo
En este documento se describe un esquema eficiente para la segmentación de imágenes, aplicado a la detección de tumores cerebrales en imágenes de MRI sintéticas, junto a un estudio profundo de los algoritmos involucrados.
En las secciones 2 y 3 se presenta el Marco Teórico de este trabajo junto a un estudio del Estado del Arte de cada tema relevante. En particular, la Sección 2 aborda los fundamentos del procesamiento de imágenes médicas y presenta las técnicas clásicas estudiadas hasta el momento, mientras que la Sección 3 introduce una nueva tecnología de procesamiento que será utilizada más adelante en este trabajo con el objeto de incrementar la performance y escalabilidad del método.
La Sección 4 constituye uno de los principales capítulos de este trabajo dado que presenta el esquema completo de segmentación propuesto, describiendo en detalle cada uno de los algoritmos involucrados. En la etapa final de dicho esquema detalla cual será el indicador utilizado para medir la calidad de las segmentaciones realizadas. La Sección 6 describe la adaptación que se realizó de uno de los algoritmos propuestos para su implementación en paralelo, particularmente en la tecnología GPGPU. Como corolario de ambos capítulos, la Sección 7 incluye los resultados obtenidos: en primer lugar, un análisis de sensibilidad pormenorizado de los principales métodos del esquema (Secciones 7.1 y 7.2); posteriormente, la Sección 7.3 presenta un estudio de los tiempos de ejecución y los ratios de mejora obtenidos con las adaptaciones realizadas sobre el método paralelizado en la Sección 6; finalmente, la propuesta de segmentación toda es aplicada en un caso de estudio completo.
2 Segmentación de Imágenes Médicas
En general, la segmentación de imágenes se define como el proceso de dividir una imagen en regiones significativas para una aplicación particular [Dou09]. Es un componente esencial de cualquier herramienta de procesamiento de imágenes, necesario como etapa previa para llevar a cabo la descripción, reconocimiento o clasificación de una imagen o partes de ella. Sin embargo, pese a ser esencial, no es el único y suele combinarse con otras etapas dando lugar al workflow clásico de procesamiento de imágenes.
2.1 Etapas del workflow clásico de procesamiento de imágenes
En general, todo esquema de procesamiento de imágenes (independientemente del dominio de aplicación en que se esté trabajando) respeta un workflow dividido en 6 etapas principales, algunas de las cuales pueden o no ser tenidas en cuenta, dependiendo de la aplicación particular que se esté desarrollando. Dichas etapas pueden apreciarse en la Figura 1.
Figura 1: Workflow clásico de procesamiento de imágenes
misma o mejorar su calidad, ésta puede ser sometida a un procesamiento previo. La salida de esta etapa (una imagen cuya calidad ha sido mejorada o donde alguna de sus características ha sido realzada teniendo en cuenta las etapas siguientes) constituye posteriormente la entrada a un proceso de segmentación, cuyo principal objetivo es (tal como hemos dicho anteriormente) detectar objetos de interés dentro de la imagen. A partir del o los objetos segmentados es posible extraer características de interés de diversos tipos: geométricas, topológicas, de textura, de bordes e infinidad de indicadores que dependerán del dominio de aplicación estudiado. Estas características son utilizadas en una etapa posterior de análisis a los efectos de reconocer, clasificar o simplemente interpretar la imagen y obtener un conjunto de conclusiones a reportar.
2.2 Algoritmos clásicos para la segmentación de imágenes médicas
Este trabajo centra su atención en la etapa de segmentación de imágenes, adoptando las imágenes médicas como dominio de aplicación. Por esta razón, el marco teórico incluye una descripción de los métodos de segmentación más relevantes para este trabajo, junto a un análisis del estado del arte en su aplicación a la detección de tumores en los casos en que se han hallado publicaciones al respecto.
2.2.1 Umbralado
La técnica de umbralado (también conocida como thresholding por su nombre en ingles) es una de las técnicas de segmentación más simples. Es utilizada para binarizar imágenes en las cuales los objetos de interés pueden ser bien diferenciados del fondo, que posee otro valor de intensidad uniforme pero diferente al del objeto.
El proceso consiste en comparar cada píxel de la imagen con un valor umbral (threshold): si la intensidad del pixel es mayor, entonces el mismo es considerado parte de la región de interés; en caso contrario, formará parte del fondo (ver ejemplo en la Figura 2).
determinándolo a partir de los valles que se presentan en el mismo). El método puede ser extendido permitiendo determinar varios valores de umbral, dando lugar a la técnica conocida como multi-umbralado.
Figura 2: Segmentación por umbralado simple de una imagen correspondiente a un tumor cerebral. (Izq) Image original. (Der) En rojo se destaca el resultado de la segmentación para un nivel de gris umbral u = 162.
Uno de los problemas de este método es su alta dependencia respecto del valor del umbral especificado. Además, debido a que sólo se toma en cuenta la información sobre la intensidad de los puntos de la imagen, suelen generarse resultados incorrectos cuando diferentes zonas de la imagen poseen valores de intensidad dentro del rango de discriminación dado por el umbral. Esto puede apreciarse claramente en la Figura 2, en la cual, además de detectarse la zona correspondiente al tumor cerebral, se han segmentado otros puntos de la imagen que no pertenecen al mismo.
Dado que el método de umbralado constituye una aproximación muy rudimentaria a la segmentación de imágenes, rara vez es utilizado como única técnica; por el contrario, puede resultar útil en combinación con otros métodos más complejos. En [Zul12] por ejemplo, se presenta un método de segmentación de tumores cerebrales en MRI por medio de la técnica de umbralado, en combinación con el método de Level Sets (Sección 2.2.5.2), que reporta buenos resultados.
2.2.2 Métodos orientados a bordes
abruptos en algún parámetro de la imagen (como la intensidad de los píxeles, por ejemplo), es posible inferir la presencia de bordes.
Una de las técnicas más comunes consiste en utilizar un operador gradiente para realzar la presencia de los bordes, y aplicar posteriormente umbralado sobre la imagen resultante. En la Figura 3 se puede apreciar la aplicación de las dos máscaras del filtro de Sobel [Gon01], una de las aproximaciones que se utilizan con mayor frecuencia. Un inconveniente de este tipo de métodos es que en imágenes ruidosas los resultados no suelen ser buenos, debido a su alta sensibilidad a las transiciones de intensidad, generando bordes espúreos. Por este motivo es recomendable suavizar las imágenes antes de someterlas a este proceso.
Al igual que el método de umbralado presentado en el apartado anterior, los métodos orientados a borde suelen combinarse con otras técnicas para obtener mejores resultados y, en general, son utilizados como un criterio más para determinar la segmentación resultante.
Figura 3: Aplicación de un filtro Sobel de realce de bordes en dirección (Izq) Vertical y (Der) Horizontal sobre la imagen original de la Figura 2 (Izq).
2.2.3 Crecimiento de Regiones
varios píxeles por región (denominados semillas), a partir de los cuales comienzan a agregarse progresivamente los puntos vecinos que cumplan con un criterio de aceptación determinado. Este criterio dependerá del dominio de estudio, pero generalmente es planteado en base a características tales como brillo, color, intensidad, textura, gradiente, propiedades geométricas, etc. El proceso concluye cuando no existen vecinos por agregar.
En la Figura 4 puede observarse la evolución de la región segmentada, correspondiente a un tumor cerebral, durante una ejecución del algoritmo de Region Growing sobre un corte de MRI.
Figura 4: Evolución del algoritmo de Crecimiento de Regiones para segmentar un tumor en un corte de MRI. La zona roja corresponde a la región segmentada. El color verde indica que los pixeles pertenecen a la frontera de la región
Esta técnica ha sido ampliamente utilizada en diversos trabajos para la segmentación de tumores cerebrales. En [Dub09] se propone un enfoque íntegramente basado en el algoritmo de Crecimiento de Regiones para la segmentación de tumores cerebrales en cortes bidimensionales de una imagen de resonancia magnética. En [Weg11] se utiliza el algoritmo Seeded Region Growing para el mismo fin pero aplicado en tres dimensiones. Además, se propone combinarlo con técnicas de pre-procesamiento para mejorar la calidad de la imagen y eliminar información redundante por medio de un proceso de clasificación de los voxels3. [Wan10] desarrolla un enfoque similar a los anteriores, pero redefiniendo el criterio de crecimiento al incorporar no solo información sobre las tonalidades de los voxels sino información espacial. Esta información es incorporada a través del estudio de los gradientes y la varianza de intensidades en el interior y a lo largo de la curva de la región. En el marco de este Trabajo Final, se ha desarrollado una publicación [Fer11a] en la que se presentan estudios preliminares sobre series de MRI temporalmente espaciadas. En dicho trabajo se pretende segmentar tumores haciendo uso de una adaptación del algoritmo de Crecimiento de Regiones, con el objetivo de servir como asistencia
en el seguimiento de un tratamiento oncológico.
La técnica de crecimiento de regiones también puede ser utilizada en combinación con otras herramientas del campo del procesamiento de imágenes. En [Gib96] por ejemplo, se expone un método (aplicado a la segmentación de tumores) que combina Crecimiento de Regiones con Operadores Morfológicos [Gon01] en un intento por involucrar de mejor forma la detección de bordes en el proceso de crecimiento de la región.
2.2.4 Watershed
Este método pertenece a la familia de métodos basados en Regiones, pero posee suficientes particularidades como para ser descripto individualmente. El método de segmentación watershed (“línea de división de aguas”) supone que la imagen en escalas de grises que está siendo analizada constituye un mapa topográfico en el cual las intensidades de los píxeles representan diferentes alturas. Dicho mapa es “inundado” desde sus puntos mínimos, simulando la creación de lagunas artificiales en los distintos valles. Las curvas donde dichas lagunas comienzan a unirse son consideradas como watersheds, y se interpretan como los límites de las diversas regiones (ver
Figura 5).
Figura 5: Resultado de la segmentación utilizando el método de Watershed4 para detectar células en
una imagen biomédica.
Pese a que el algoritmo puede presentar diversas variantes, existe un pseudocódigo clásico presentado en [Mey91] para realizar el proceso de inundación.
En [Let04] se expone un algoritmo para la segmentación de tumores cerebrales en MRI basado en la técnica de Watershed multiescala y aplicado sobre 20 casos reales de modalidad T1w. El sistema propuesto permite al usuario interactuar con la segmentación generada para corregir manualmente potenciales problemas. [Jay09] propone un enfoque híbrido en el que se combinan el algoritmo de Watershed con el de Modelos Deformables Paramétricos (Sección 2.2.5.1) para reducir la complejidad computacional del proceso completo de segmentación de un tumor cerebral. La imagen es segmentada inicialmente utilizando Watershed; posteriormente, el contorno de la región obtenida es refinado por medio de la técnica de Modelos Deformables.
En [Mat03] esta técnica es aplicada nuevamente en MRI, pero enriquecida por medio del concepto de fronteras difusas que permite, en las zonas aledañas al tumor, indicar con un determinado grado de certeza si un voxel pertenece o no al tumor segmentado. Los mismos autores proponen en [Mat04] una adaptación del método para ser utilizado en imágenes de Tomografía Computada.
2.2.5 Modelos Deformables
2.2.5.1 Modelos Deformables Paramétricos
En el caso de los Contornos o Superficies Activas, la deformación del modelo es controlada por una función de energía que se divide en dos partes: Energía interna (Eint) y Energía externa
(Eext). La energía interna depende de las propiedades intrínsecas del modelo, como su longitud o
curvatura, y garantiza el suavizado de la superficie a medida que ésta es deformada. Por otro lado, la energía externa (Eext) está asociada a características de la imagen o restricciones
particulares del dominio, provocando que la superficie sea deformada para adaptarse a la región de interés.
La posición inicial está dada por una curva o superficie especificada por un conjunto de puntos de control (vértices de una malla en el caso de las superficies), con un espaciado aproximadamente uniforme, que debe colocarse lo más cerca posible de la frontera de la región de interés. La posición de cada uno de los puntos de control es actualizada en las sucesivas iteraciones del algoritmo, al aplicar el funcional de energía que está siendo minimizado.
Figura 6: Distintas vistas (Izq: Transversal. Centro: Sagital. Der: Coronal) de los resultados de un algoritmo de Modelos Deformables aplicado sobre una MRI con un tumor cerebral.
no serán los mejores. Para tratar este inconveniente, se han propuesto diferentes enfoques. Entre ellos, en [Xu98] se presentó una nueva fuerza externa denominada Gradient Vector Flow (GVF), generada a partir del campo de gradientes de la imagen en escala de grises, que soluciona el problema de las concavidades y que ha sido utilizada en otros trabajos [Zhi06].
Diversos trabajos en el área de segmentación de tumores cerebrales en MRI, proponen la utilización de Modelos Deformables Paramétricos como etapa de refinamiento de los resultados obtenidos inicialmente por otros métodos. En [Kho07], el refinamiento se produce luego de aplicar un primer proceso de detección basado en la selección de áreas simétricas respecto del plano (aproximado) de simetría del cerebro. [Nar12] propone segmentar inicialmente una imagen formada por la combinación de las modalidades de resonancia magnética FLAIR y Tw1 (Sección 10.1) previamente registradas. Posteriormente, el resultado de dicha segmentación es refinado mediante un enfoque de Modelos Deformables que involucra información referida a los bordes del tumor. En [Del09], se define un esquema de segmentación de imágenes híbrido que comienza por un método de Crecimiento de Regiones, cuyo resultado es finalmente refinado haciendo uso del método de Superficies Activas.
2.2.5.2 Modelos Deformables Geométricos
Los Modelos Deformables Geométricos utilizan, en lugar de curvas paramétricas como en el caso anterior, curvas o superficies de nivel como modelo a deformar. La idea es definir una función suave ϕ(x,t) (con el vector x = (x1, x2 … xn) ∈Rn) cuyo nivel ϕ(x,t) = 0 será la curva o
superficie solución que delimitará la región segmentada. Es decir, que el resultado de la segmentación estará dado por un conjunto de nivel Γ(t) (conjunto de puntos para los cuales el valor de la función es el mismo) para el cual ϕ es 0. De esta forma, dada una curva inicial cercana al borde, es posible hacerla 'evolucionar' en busca de la solución al problema de segmentación, actualizando la función ϕ. La evolución de dicha función estará marcada por la siguiente Ecuación Diferencial en Derivadas Parciales:
∂φ
∂
t
+
v
.
∇ φ=
0
(1)desplazamiento de la curva. Así como los Modelos Deformables Paramétricos involucran la información de la imagen a través de las fuerzas externas para desplazar el contorno hacia los bordes de la región a segmentar, los Modelos Deformables Geométricos involucran dicha información definiendo un campo de velocidades que desplace la curva hacia el contorno de la región de interés.
[Osh88] presentó una aproximación numérica que permitió implementar computacionalmente el modelo de Level-Sets. Desde ese momento, se han presentado diversas propuestas para modelar la función de velocidad [Cas93] [Yez97] que hoy forman parte de la bibliografía estándar sobre el tema.
3 Procesamiento basado en GP-GPU
La GPU (Graphics Processing Unit) constituye uno de los componentes principales de toda computadora actual. Fue creada originalmente para realizar cálculos en Computación Gráfica, tales como renderizado de escenas tridimensionales, videojuegos, etc. Tanto su poder de procesamiento como su capacidad de ser programadas ha evolucionado enormemente en los últimos años. Tal es así que su aplicación ha superado las fronteras de la computación gráfica dando lugar a la aparición del concepto de GPGPU o General Purpose Computation on Graphics Processing Units. Una de las mayores ventajas de la GPU es su capacidad para realizar calculo en paralelo; por esta razón, la programación en GPGPU ha sido aplicada en aquellos campos de conocimiento que requieren elevado poder de cómputo, como la Computación Científica. Sin embargo, no todos los algoritmos pueden beneficiarse igualmente de las capacidades de la GPU, y muchos de ellos deben ser adaptados para ejecutar en esta plataforma. Este hecho inauguró un nuevo área de investigación y desarrollo en el campo de las Ciencias de la Computación. En particular, su uso para resolver problemáticas relacionadas con la segmetanción de imágenes médicas no ha sido estudiada en profundidad y continúa presentando nuevos retos [Sch11].
3.1
Arquitectura de una GPU
resulta muy dificultoso, y es por eso que se ideó un lenguaje para facilitar el desarrollo de aplicaciones GPGPU denominado OpenCL.
3.2 OpenCL
Con el objeto de definir un lenguaje de programación estandarizado para desarrollar aplicaciones en esta tecnología, se creó el lenguaje OpenCL [Khr12] [Gas11]. Fue ideado por el grupo Khronos5 con la intención de contar con un estándar capaz de ser ejecutado en distintas arquitecturas pero permitiéndoles a éstas mantener sus particularidades para continuar brindando prestaciones de alto rendimiento. De esta forma, programas escritos en OpenCL pueden ser ejecutados en distintas GPUs como ATI, NVIDIA o Intel y en gran variedad de CPUs sin necesidad de realizar mayores cambios. OpenCL fue definido en base al estándar del lenguaje C. Pese a que el soporte nativo de la plataforma haya sido pensado para dicho lenguaje, existen bindings que permiten utilizarlo en otros tan variados como Java, Python y .Net.
En este trabajo, se utilizó el binding JOGL6 para el lenguaje Java, que presenta una abstracción de alto nivel que simplifica el desarrollo de aplicaciones en GPU.
Los programas OpenCL son escritos en unidades denominadas kernels capaces de ser ejecutadas en la GPU. Los mismos utilizan buffers en memoria de GPU para lectura y escritura de datos, y por lo tanto es necesario copiarlos desde CPU a GPU antes de invocar su ejecución, y viceversa. Los tipos de dato soportados por OpenCL son en general variables primitivas, vectores de tres o cuatro elementos, buffers unidimensionales de tamaño estático o imágenes bi o tridimensionales. También permite definir estructuras personalizadas como los registros structs del lenguaje C; sin embargo, en la implementación Java adoptada esto no es posible, razón por la cual en este trabajo se utilizaron solo estructuras básicas.
Tanto para ejecutar un kernel como para leer o escribir datos entre CPU y GPU, es necesario
5 El grupo Khronos fue fundado en Enero del 2000 por varias de las principales empresas en el área del procesamiento de datos, como 3Dlabs, ATI, Discreet, Evans & Sutherland, Intel, NVIDIA, SGI y Sun Microsystems, con el objeto de crear un estándar abierto (API) que permita desarrollar aplicaciones de alta performance en dispositivos variados y heterogéneos. http://www.khronos.org
colocar los pedidos en una cola de comandos que los irá ejecutando en el orden en que fueron recibidos, a menos que se especifique lo contrario.
3.3 Segmentación de imágenes médicas en GPU
Las tecnologías de GPU han sido aplicadas en el área de imágenes médicas desde hace ya varios años. Desde técnicas de reconstrucción tomográfica [Cul93] [Cab94] hasta segmentación de imágenes médicas [Mar04] e interacción con el proceso de segmentación [Lef03a] [Lef03b] han sido repensadas y reimplementadas en GPU.
Muchos trabajos de investigación actuales desarrollan adaptaciones en GPU de las técnicas estudiadas en la Sección 2.2. [Cat04] presenta una herramienta interactiva para la segmentación de imágenes médicas denominada GIST, basada en la técnica de Level Sets o Modelos Deformables Geométricos (Sección 2.2.5.2) e implementados en GPU. De la misma forma, [Hag09] implementa este método utilizando autómatas de Lattice Boltzman paralelizados en GPU para resolver la Ecuación Diferencial involucrada en el método (ver Ecuación (1)). [Boj10] desarrolla un trabajo en el mismo sentido, pero adaptando un modelo de level-sets diferente a los anteriores. [She03] utiliza esta tecnología para proponer un algoritmo de segmentación de volúmenes basado en Crecimiento de Regiones (Sección 2.2.3) aplicado a la segmentación de venas y arterias a partir de imágenes de Tomografía Computada. En [Kör11] se presenta un resumen sobre los últimos avances en el uso de la técnica Watershed (Sección 2.2.4) en placas gráficas. Por otro lado, distintas versiones de Modelos Deformables Paramétricos (Sección 2.2.5.1) han sido estudiadas y rediseñadas con el objeto de ser paralelizadas en GPU: por ejemplo, [Sch11] utiliza un esquema similar al adoptado en este trabajo (Sección 4.4) pero valiéndose de distintas fuerzas externas; [Zhi06] presenta una paralelización del método utilizando una fuerza denominada Gradient Vector Flow presentada anteriormente en [Xu98]; [Ban07] realiza un análisis sobre una versión particular de Modelos Deformables implementándolo en el lenguaje CUDA7.
Considerando el estado del arte en materia de segmentación de imágenes médicas en GPU
4 Esquema de segmentación propuesto
El esquema general de segmentación abordado en este trabajo está basado en el modelo propuesto en [Del09], el cual ha sido orientado a la problemática de detección de tumores en MRI. Este enfoque permite aprovechar las debilidades y fortalezas de dos de los métodos clásicos de segmentación expuestos en la Sección 2.2: Crecimiento de Regiones y Modelos Deformables.
Tal como se ha dicho anteriormente, la técnica de segmentación por Modelos Deformables permite obtener una buena aproximación al objeto de interés en forma de curva (en 2D) o superficie (en 3D). Una de las ventajas de esta técnica, es que la superficie resultante presenta una apariencia suavizada mucho más cercana a la realidad que la región escalonada que resulta del Crecimiento de Regiones. Por otro lado, una de sus desventajas es que requiere ser inicializada con un modelo cercano al objeto de interés, mientras que el Crecimiento de Regiones solo requiere de establecer algunas semillas.
Combinando las ventajas y desventajas de ambos métodos, se define entonces un enfoque híbrido y semi-automático de segmentación que integra convenientemente los algoritmos de Crecimiento de Regiones (Sección 2.2.3) y Modelos Deformables Paramétricos (Sección 12), con el objeto de obtener mallas de superficies precisas y que preserven la topología real de las estructuras anatómicas a segmentar.
En este capítulo, se expone en detalle cada una de las etapas que componen el método, haciendo especial énfasis la segmentación por Crecimiento de Regiones y el refinamiento de la misma con Modelos Deformables.
4.1 Descripción general del método de segmentación
se aproximan a la región de interés a segmentar. A partir de este conjunto se extrae una malla de superficie inicial, que luego es refinada al utilizarla como entrada en el esquema de Modelos Deformables. Finalmente, el resultado del proceso de segmentación es una malla de superficie al que se ajusta al objeto de interés. La Figura 7 muestra un diagrama de actividades donde puede apreciarse el flujo de los datos en el esquema propuesto.
Figura 7: Workflow correspondiente al esquema de segmentación propuesto
4.2 Crecimiento de Regiones
El proceso de segmentación comienza con un conjunto de vóxeles iniciales o semillas Si, definidas
por un usuario experto en el interior del objeto de interés, a partir de las cuales se construye iterativamente la región R, visitando en cada paso los vecinos de cada vóxel recientemente agregado a ésta. Para definir el criterio de crecimiento de la región, se utiliza el conjunto S(r)
formado por las semillas Si y sus vecinos de orden 1; esto es, los 26 vóxels que rodean a cada una
de ellas. En base a dicho conjunto, se define la intensidad promedio de la región PI(r) como sigue (donde v corresponde a un voxel e I(v) a su intensidad en la imagen):
PI
(
r
)=
1
#
S
(
r
)
v∑
ϵS(r)I
(
v
)
(2)Para determinar si un voxel v será o no incluido en la región, se procede a calcular el módulo de la diferencia entre PI y la intensidad de cada uno de los voxels v’ pertenecientes a la vecindad (de orden o) de v, denominada So(v).
d(v'
)=∣I(v'
)−PI(r)∣ ≤ t (3)
Luego, si una determinada proporción p de los voxels del entorno de v cumple con la condición impuesta por la Ecuación (3); es decir, poseen una diferencia d(v’) menor a la tolerancia t
especificada, entonces el voxel será aceptado como parte de R; en caso contrario, dicho voxel pasará a formar parte de la frontera de la región. De aquí se desprende que existen tres parámetros a ajustar a la hora de utilizar el algoritmo de segmentación:
• Tolerancia (t): es la máxima tolerancia que se admite para la diferencia de intensidades entre un voxel y PI.
• Proporción de vecinos similares (p): es la proporción mínima de vecinos cuya diferencia de intensidades respecto de PI debe ser menor a t para que un vecino sea aceptado como parte de la región.
En [Del05] se presenta un método automático para el cálculo de la tolerancia, promediando los desvíos estándar de intensidad en torno a cada una de las semillas definidas. Esta estimación puede ser utilizada como un valor inicial, que ha de ser calibrado en función de las imágenes con las que se esté trabajando.
El pseudocódigo que describe el algoritmo de segmentación por Crecimiento de Regiones implementado se exhibe en la Figura 8.
- Insertar semillas en la lista L,
- Estimar el valor de tolerancia y la intensidad promedio de las semillas de la región R
- Mientras L no esté vacía
v = extraer primer elemento de L,
Incorporar v a R y marcarlo como visitado,
Para cada vecino v' de v
Si v' no ha sido visitado
Marcar v' como visitado
Si v' satisface el criterio de aceptación
Insertar v' en L,
Sino
Insertar v' en la lista F de puntos frontera
Figura 8: Pseudocódigo del algoritmo de Crecimiento de Regiones utilizado
Mediante la aplicación de este método, a partir de la especificación de uno o más puntos semilla dentro de la región de interés, es posible generar entonces una segmentación aproximada del objeto, representada por un conjunto de voxels. En la Figura 9 puede apreciarse un corte de MRI en el que se muestra la segmentación obtenida por este método para un tumor cerebral.
4.3 Extracción y suavizado de la malla de superficie
Para realizar la extracción de la malla de superficie a partir de la ROI resultante del proceso anterior, se construyó un algoritmo basado en la propuesta de [Del05] y que fuera considerado en [Fer11b] para la detección de tumores en MRI.
4.3.1 Generación de la malla
El primer paso del algoritmo consiste en identificar las caras de los voxels que se encuentran en el contorno de la región segmentada, considerando para esto la lista auxiliar de puntos frontera y su situación respecto a los otros puntos en el entorno. Por cada una de las caras correspondientes al exterior de la región, se determinan dos triángulos que se agregan a la malla de superficie. La secuencia de los vértices debe ser tal que, vistos desde un punto exterior a la superficie, sigan un sentido horario (ver Figura 10). De este modo, se asegura que la normal en cada triángulo apunte siempre hacia afuera de la superficie, con el fin de evitar inconvenientes en el procesamiento y visualización de la malla.
Figura 10: Sentido en que deben ser generados los vértices para cada triángulo de la malla
proceso que considera una granularidad a nivel de voxel, la superficie generada ofrece un aspecto escalonado ya que los triángulos que la componen se orientan en forma paralela u ortogonal (ver Figura 11). En las secciones 4.3.2 y 4.3.3 se plantea una estrategia opcional para eliminar las discontinuidades provocadas por el escalonado de la malla, haciendo uso de un filtro de suavizado.
Figura 11: Apariencia escalonada que presenta una malla extraída a partir de la ROI generada por el algoritmo de Crecimiento de Regiones
Con el objetivo de generar mallas de mayor resolución, se diseñó un algoritmo basado en la propuesta de [Del05] que construye recursivamente cada cara a generar. El método requiere que se le indique un parámetro p que representará el grado de refinamiento de la malla, es decir, el orden de subdivisiones que tendrá cada cara generada. En la Figura 12 pueden observarse distintas mallas construidas con diferentes valores de p. El algoritmo procede inicialmente tal como se expuso en la sección anterior; sin embargo, a la hora de construir los triángulos que representan una de las caras del voxel, ésta es dividida recursivamente en 4 cuadrados formados por triángulos más pequeños, tal como indica la Figura 13.
En cada nivel del árbol de llamados recursivos de la función de generación de un cuadrado, el parámetro p disminuye su valor en 1. El algoritmo concluye entonces cuando p=1, generando finalmente los 2 triángulos que corresponden al cuadrado en cuestión.
Figura 13: División realizada recursivamente para el refinamiento de la malla. Para formar los cuadrados A, B, C y D se subdivide el cuadrado formado por los vértices V1, V2, V3 y V4 considerando
los puntos medios de cada lado.
En cada iteración del algoritmo, se invoca la función de generación de caras para el cuadrado formado por los vértices (V4, V1, V2 y V3). Si el valor de p es mayor que 1, entonces se invoca recursivamente la generación de los cuadrados A, B, C y D, creando los vértices intermedios que se calculan como:
V
14=
V
4+(
V
1−
V
4)
.
(
1
2
)
V
43=
V
3+(
V
4−
V
3)
.
(
1
2
)
V
32=
V
2+(
V
3−
V
2)
.
(
1
2
)
V
21=
V
1+(
V
2−
V
1)
.
(
1
2
)
V
31=
V
1+(
V
3−
V
1)
.
(
1
2
)
(4)
4.3.2 Suavizado mediante filtro Laplaciano
Con el objetivo de eliminar las discontinuidades de la malla (debidas a su estructura escalonada) antes de aplicar el refinamiento por medio de Modelos Deformables, el esquema planteado sugiere la utilización opcional de un algoritmo de suavizado.
Los filtros más eficaces se basan en la aplicación de operadores Laplacianos locales los cuales desplazan los vértices que componen la malla, sin modificar la conectividad de las primitivas. Sin embargo, es sabido que aplicar este proceso en forma iterativa produce una reducción del volumen del cuerpo ya que los puntos tenderán a moverse hacia el interior de la región.
Una primera aproximación, muy utilizada en computación gráfica y geometría computacional, consiste en procesar la malla de triángulos en forma iterativa, calculando las nuevas posiciones para cada vértice vi de la malla en función de las posiciones de sus vértices vj pertenecientes al
conjuntos de vecinos de vi -denominado V(vi)- con los que comparte una arista. Los vectores de
desplazamiento de los puntos de la malla se calculan mediante un operador Laplaciano discreto, definido como:
Δ
v
i=
∑
vjϵV(vi)w
i , j(
v
j−
v
i)
(5)donde los pesos wi,j son números positivos cuya suma debe ser igual a 1, para cada i. Estos
valores pueden elegirse de varias formas, en este caso se consideran pesos iguales para cada vértice, inversamente proporcionales al número de vecinos. Para una iteración k, la nueva posición de cada vértice se obtiene como:
v
ik+1=
v
ik+Δ
v
i (6)4.3.3 Método de Taubin
En [Tau95] se propone una solución al problema de la pérdida de volumen, mediante un métodoque logra un suavizado de la malla de superficie sin reducción considerable de éste, con un costo lineal tanto en tiempo como en espacio. La propuesta es incluir un nuevo factor en la Ecuación (6) que, en forma alternada, adopte los valores λ y μ produciendo una fase no-contractiva y una no-contractiva respectivamente. Los parámetros deberán elegirse de modo que λ > 0 y μ < -λ; los valores elegidos en este trabajo para una malla con grado de refinamiento p=1 (Sección 4.3.1) son λ = 0.63 y μ = -0.672. Para mallas con otros grados de refinamientos deberá respetarse que el valor de λ se aproxime a la mitad de la arista más larga, con la intensión de que no se inviertan los triángulos en las sucesivas iteraciones. La Ecuación (6) modificada queda expresada entonces como:
v
ik+1=
v
ik+{λ
,
μ }
.
Δ
v
i (7)Al aplicar esta ecuación sobre cada uno de los vértices de la malla durante una determinada cantidad de iteraciones, la misma converge a una superficie suavizada que preserva el volumen inicial.
4.4 Modelos Deformables
Tal como se ha expuesto en la Sección 4.1, el esquema de segmentación propuesto contempla la utilización de Modelos Deformables en la etapa final del workflow de procesamiento, aprovechando sus principales ventajas. Por un lado, este tipo de modelos permite la generación de segmentaciones en forma de superficies suaves. Por otro, al ser inicializado con una superficie cerrada (obtenida a partir del algoritmo de crecimiento de regiones) y cercana a la frontera del objeto buscado, entonces el resultado consistirá de una superficie cerrada que logre ajustarse a la estructura de interés.
expone detalladamente la adaptación del modelo bidimensional de Contornos Activos a tres dimensiones. Sin embargo, en este trabajo no se incluirá dicho desarrollo por no ser relevante para el enfoque computacional que presenta esta tesis. En su lugar, se abordará directamente el planteo discreto presentado en [McI99] tanto en dos como en tres dimensiones. Finalmente, se expondrá en detalle la adaptación del método a este trabajo por medio de la modificación de algunas de las fuerzas intervinientes.
4.4.1 Modelo continuo de Contornos Activos (2D)
El modelo original de Contornos Activos o Snakes utiliza una representación paramétrica de la curva (la cual delimita la región de interés) de la forma v(s) = (x(s), y(s))T, definida en el plano espacial de la imagen en (x, y) ϵ R2, donde las coordenadas x e y se encuentran definidas en el dominio paramétrico s ϵ [0,1].
Figura 14: Evolución de un contorno bidimensional sometido a las fuerzas internas y externas del modelo. El contorno punteado corresponde al estado inicial, la linea llena a la nueva ubicación del mismo, luego de la acción de las fuerzas.
objeto. Estas fuerzas pueden ser el resultado de un proceso de minimización global del funcional o basado en información local.
La forma del contorno se verá afectada entonces por un funcional de energía E y alcanzará su estado final cuando dicho funcional sea minimizado.
E
(
v
)=
E
int(
v
)+
E
ext(
v
)
(8)donde los términos Eint(v) y Eext(v)se definen como sigue:
E
int(
v
)=
∫
0 1w
1(
s
)∣
∂
v
∂
s
∣
2
+
w
2(
s
)∣
∂
2v
∂
s
2∣
2
d s
(9)E
ext(
v
)=
∫
0 1P
(
v
(
s
))
ds
(10)y corresponden a los términos de energía interna y externa, respectivamente.
4.4.1.1 Energía Interna
4.4.1.2 Energía Externa
Eext representa la energía potencial del modelo y se define generalmente a partir de un campo de potenciales P, los cuales se diseñan de manera que sus mínimos locales coincidan con extremos de intensidad, bordes u otra característica de interés en la imagen que resulte relevante para el dominio del problema. Se han propuesto diferentes enfoques para proveer este acoplamiento de la curva a las características de la imagen. Por ejemplo, en [Kas88] se propone una función de energía potencial conveniente para atraer el contorno deformable hacia los bordes de intensidad de una imagen I(x,y) como:
P
(
x , y
)=−
w
e(∇ [
G
σ(
x , y
)∗
I
(
x , y
)])
(11)donde Gσ(x, y) es una distribución Gaussiana con desviación estándar σ y se aplica sobre la imagen mediante una convolución para provocar un efecto de suavizado [Gon92], ∇ es el operador gradiente y we es un parámetro positivo que controla la magnitud del potencial. Esta fuerza podría adoptar otras formas en función del dominio sobre el que se esté trabajando y las características de la imagen que se deseen priorizar para llevar a cabo la segmentación.
4.4.1.3 Minimización del funcional de energía
Si bien es natural que se vea la minimización de energía como un problema estático, un enfoque potente para su resolución consiste en la construcción de un sistema dinámico gobernado por el funcional de energía E(v) (ver Ecuación (8)) que modifica la forma y hace evolucionar la curva a través del tiempo t. La ecuación de Lagrange para el movimiento de una snake v(s,t)=(x(s,t),y(s,t))T variable en el tiempo, con energía interna Eint y energía externa E
ext
(Ecuaciones (9) y (10) respectivamente) es:
µ
∂
2v
∂
t
2+
γ
∂
v
∂
t
−
∂
∂
s
(
w
1∂
v
∂
s
)
+
∂
2
∂
s
2(
w
2∂
2v
∂
s
2)
+
∇
P
(
v
)=
0
(12)amortiguación, siendo µ(s) la densidad y γ(s) el coeficiente de amortiguación. Los siguientes
términos constituyen las fuerzas de tensión y de flexión, relacionadas a la energía interna y el último representa la fuerza externa debida al potencial que acopla la snake a la imagen. El modelo deformable evolucionará por acción de las fuerzas aplicadas, alcanzado el equilibrio
cuando el contorno alcanza un extremo y se detiene; lo que implica entonces que ∂∂t2v2
=
∂v ∂t
=
0
.Un enfoque común en este tipo de problemas de recuperación de formas consiste en considerar µ= 0, eliminando la posibilidad de oscilaciones mientras se mantienen las propiedades dinámicas de utilidad. De esta manera, se obtiene una versión simplificada de la ecuación de movimiento y el modelo logra entonces el equilibrio cuando las fuerzas externas se balancean con las fuerzas internas y de amortiguación. La ecuación resultante es más simple de resolver y numéricamente más eficiente que un modelo con inercia:
γ
∂
v
∂
t
−
∂
∂
s
(
w
1∂
v
∂
s
)
+
∂
2
∂
s
2(
w
2∂
2v
∂
s
2)
+
∇
P
(
v
)=
0
(13)Resolviendo esta ecuación, será posible determinar entonces una curva v que minimice el funcional de energía y, por tanto, represente el contorno más apropiado para el objeto de interés a segmentar.
4.4.2 Modelo discreto de Contornos Activos (2D)
Las ecuaciones que rigen la evolución del modelo no poseen solución analítica y se requiere la aplicación de métodos numéricos para su aproximación. Para esto, es necesario previamente discretizar el modelo en espacio y tiempo, muestreando la curva a intervalos regulares y considerando alguna representación concreta del mismo.
La discretización adoptada en este trabajo está basada en el modelo T-Snakes presentado en [McI00]. El mismo se define como un contorno cerrado bidimensional formado por un conjunto de N nodos, indexados por i = 0, 1, … , N-1 conectados en serie por N arcos (Figura 15). Se asocia entonces a cada nodo una posición si(t) = (xi(t), yi(t)), junto a un vector normal y las componentes de fuerza que actúan sobre él (definidas en la Sección 4.4.4) y se establece la condición de frontera s0(t) = sN(t) que garantiza el cierre de la curva.
En el modelo propuesto en [McI00], el conjunto de nodos que forma la curva no permanece constante, sino que se recalcula en cada paso de tiempo. En este trabajo, dada la gran similitud presentada entre la estructura usada como inicialización del modelo y el objeto real a segmentar, la cantidad de nodos se mantendrá constante dado que con esta segunda etapa de segmentación no se esperan modificaciones importantes en la malla inicial, sino un refinamiento de la misma.
4.4.3 Modelo discreto de Superficies Activas (3D)
Una vez planteada la representación del modelo discreto en dos dimensiones, resulta sencillo extender esta definición a la tercera dimensión. En el nuevo modelo discretizado la superficie deformable se considera una malla elástica cerrada compuesta por un conjunto de nodos vinculados por triángulos. A cada nodo (vértice) de la malla se le asocia una posición si(t) =
(xi(t), yi(t), zi(t)), variable en el tiempo, junto con un vector normal y las componentes de fuerza que actúan sobre él (definidas en la Sección 4.4.4).
4.4.4 Definición de las fuerzas en el modelo discreto
La formulación discreta del esquema convencional de modelos deformables con representación paramétrica propuesta en [McI00], incluye una formalización del sistema de fuerzas que puede ser utilizada indistintamente tanto en dos como en tres dimensiones. En esta sección, se planteará el modelo en tres dimensiones utilizado en este trabajo.
γ
is
˙
i−
a α
i(
t
)+
b β
i(
t
)=
c ρ
i(
t
)+
d f
i(
t
)
(14)donde α(t), β(t), ρ(t) y f(t) son magnitudes vectoriales que representan las fuerzas de tensión, flexión, inflación y externa respectivamente y γi es un coeficiente de amortiguación que regula la
velocidad
s
˙
idel i-ésimo nodo.A continuación, se define cada una de las fuerzas intervinientes en la Ecuación (14).
4.4.4.1 Energía Interna
La energía interna le da al modelo características de deformación de una membrana elástica. Por una parte, la fuerza de tensión representa la resistencia de la superficie al estiramiento, actuando de manera de mantener un espaciado uniforme entre los nodos, mientras que la fuerza de flexión representa la resistencia a deformaciones de curvatura. Ambas actúan sobre cada nodo i de la superficie y se calculan a partir del Laplaciano y el Laplaciano cuadrático, como una aproximación a la segunda y cuarta derivadas respecto de la posición [McI99]. Esta derivada es aproximada mediante el operador “sombrilla” tomando en cuenta la topología en una malla local alrededor del nodo i:
α
i(
t
)=
1
m
j ϵ
∑
N(i)s
j(
t
)−
s
i(
t
)
(15)β
i(
t
)=
1
m
j
∑
ϵ N(i)α
j(
t
)−
α
i(
t
)
(16)
donde N(i) es el conjunto de nodos sj vecinos al nodo si y m es el número de nodos vecinos. Como puede verse, en la Ecuación (16) el Laplaciano cuadrático se puede aproximar utilizando nuevamente el operador “sombrilla” pero, esta vez, aplicándolo sobre la fuerza de tensión correspondiente a cada nodo.
4.4.4.2 Energía Externa
segmentar. En este trabajo, la misma fue dividida en dos fuerzas descriptas a continuación (Inflación y Grandiente), ambas actuando en la dirección indicada por el campo de normales de los vértices de la superficie evolucionada (ver Figura 16).
Figura 16: Campo de normales sobre una malla correspondientes a una esfera (izq) y su proyección sobre los planos XY, XZ y ZY del campo de normales anterior (der).
4.4.4.2.1 Fuerza de Inflación
En el lado derecho de la Ecuación (14), la fuerza de inflación ρi, que es aplicada con la intención de guiar la superficie hacia los bordes del objeto, se calcula como:
ρi
(
t)
=ni(
t)
F(I(
si)
) (17)donde ni es el vector normal unitario a la superficie en el nodo i y F una función binaria que relaciona ρi, al campo de intensidades de la imagen I de la siguiente forma:
F
(
I
(
s
i))=
{
1
,
si
(
I
(
s
i)−
CI
(
r
))
k σ
(
r
)
≤
1
−
1
,
en otro caso
(18)En lugar de considerar la media y desvíos conocidos a priori asociados al objeto de interés como en [McI99], en este trabajo se consideraron los valores característicos asociados a la región detectada durante la primera fase de segmentación. Estos valores, CI(r) y σ(r), corresponden a
modelo deformable. De acuerdo a la Ecuación (18), F toma un valor 1 cuando la intensidad I(si) está limitada en k σ(r) de la intensidad característica, y -1 en caso contrario, haciendo que la
superficie se contraiga si el avance sobre un voxel ocasiona que no se cumpla con el criterio asociado a la región. El parámetro k permite regular cuan “permisiva” es esta fuerza respecto a las variaciones tonales de la imagen. Mientras más grande sea, mayores posibilidades habrá de que F valga 1, y por tanto la superficie tenderá a expandirse en la dirección de las normales. Esta fuerza de inflación actúa en cierto modo como un modelo de crecimiento activo que considera el ruido y variaciones de intensidad de la imagen, logrando que la superficie deformable evite caer en bordes espurios.
4.4.4.2.2 Fuerza de gradiente
El enfoque convencional de snakes, presentado en [Kas88] y utilizado con éxito en trabajos posteriores como [McI99], [McI00] y [Del09], sugiere definir (tal como ilustra la Ecuación (11)) a la fuerza externa f como el negado del gradiente de potencial en el voxel correspondiente al vértice analizado, convolucionado con una máscara Gaussiana de suavizado. Por este motivo, la fuerza f asigna valores que se mueven en órdenes de magnitud cercanos a los valores de intensidad de la imagen, es decir, entre 0 y 255, y que siempre resultan positivos.
En este trabajo, se propone aplicar la fuerza gradiente en la dirección opuesta a la normal de cada vértice, deteniendo de esta forma el avance de la superficie cuando la misma se encuentre con bordes en la imagen, y colaborando así en la convergencia del modelo cuando la superficie se encuentra sobre el objeto de interés. A diferencia de la fuerza de inflación, que utiliza un criterio global basado en la similitud entre la intensidad de la imagen en el punto y un valor característico de toda la región segmentada hasta el momento, la fuerza gradiente introduce información local sobre el entorno del vértice analizado, al incorporar la noción de borde.
Dadas las particularidades del resto de las fuerzas contempladas en el modelo (léase α(t), β(t), y
g
i( ∇
rI
(
s
i))=
2
(
1
1
+
e
−∣∇rI(si)∣ σ(r)
−
0.5
)
(19)donde σ(r) corresponde a la desviación estándar característica de las intensidades de los voxels pertenecientes a la región inicial y ∇rI(si) correspondeal gradiente de intensidades de radio r del vértice si. Esta función pertenece a la familia de las denominadas sigmoides, y posee la
particularidad de crecer con una pendiente que va decrementando su valor conforme ∇rI(si) aumenta, provocando que la curva converja a 1 para altos valores de la variable independiente. Dicha función ha sido desplazada y escalada para comenzar en el origen y moverse en el intervalo [0,1) para el semieje positivo de las abscisas. La pendiente inicial es controlada por medio del parámetro σ(r): mientras menor sea dicho valor, mayor será la pendiente inicial, provocando que para valores más pequeños de ∇rI(si) se asignen valores mas grandes de g (ver
Figura 17).
Figura 17: Curva de la función g correspondiente a la Ecuación (19) para distintos valores de σ(r). Izquierda: σ(r) = 10. Derecha: σ(r) = 20. Puede observarse que mientras menor es el valor de σ(r), mayor es la pendiente inicial de la curva.
Para el cálculo del gradiente, se utiliza la propuesta de [Del08] siendo cada una de las componentes del vector gradiente ∇rI(si) las indicadas por la Ecuación (20).
∇
rI
(
s
i)
=
(
∇
r , x=
1
r
∑
i=1r
∣
I
(
x
+
i , y , z
)−
I
(
x
−
i , y , z
)
∣
∇
r , y=
1
r
∑
i=1r
∣
I
(
x , y
+
i , z
)−
I
(
x , y
−
i , z
)
∣
∇
r , z=
1
r
∑
i=1 r∣
I
(
x , y , z
+
i
)−
I
(
x , y , z
−
i
)
∣
)
(20)
La función escalar gi será aplicada en la dirección de la normal de cada vértice si, dando lugar a la siguiente definición para la fuerza f:
f
i(
t
)=
n
i(
t
)
.
(−
g
i(
∇
rI
(
s
i)
)
)
(21)Esta fuerza actuará entonces conteniendo el avance de la superficie cuando se encuentre con los bordes del objeto de interés. Al tomar la función escalar gi como negativa, se está indicando que a mayores valores de gradiente, la fuerza actuará en el sentido contrario a la normal logrando el efecto deseado sobre la deformación del modelo.
4.4.5 Evolución del modelo discreto
Para resolver la Ecuación (14) basada en el modelo discreto de T-Surfaces, [McI00] propone utilizar el método de integración explícito de Euler y aproximar así una solución numérica a dicha Ecuación Diferencial Ordinaria. Para ello, el método aproxima la derivada temporal mediante diferencias finitas, actualizando la posición de cada nodo del tiempo t al tiempo t + Δt de acuerdo a la formula:
s
i (t + Δt)=
s
i (t)−
Δt
γ
(
a α
i(t)
+
b β
i(t)
−
c ρ
i(t)
−
d f
i(t)