Segmentación de músculos mediante el uso de histogramas y maximización de flujo J. A. Pérez-Carrasco, L. Anula, C. Serrano, B. Acha Dpto de Teoría de la Señal y Comunicaciones, Universidad de Sevilla, Camino de los Descubrimientos, s/n. 41092, Sevilla España, {
[email protected],
[email protected], [email protected],
[email protected]} Resumen En este trabajo se describe el desarrollo de una aplicación para la segmentación automática de tejido muscular estriado en tomografía computerizada. Esta tarea es complicada debido a que la intensidad (valores Hounsfield) de los músculos suele solapar con la de los tejidos circundantes (órganos, e incluso hueso). Por otra parte, la segmentación de tejido muscular es una tarea que requiere un elevado tiempo debido a la esencia 3D de los volúmenes TAC. Por lo general, esta segmentación se aplica de forma manual o automática a algún tipo de músculo en concreto. En este trabajo, el algoritmo propuesto es general, automático y rápido. El proceso de desarrollo se basa en cuatro etapas fundamentales, una etapa de preprocesamiento, con el fin de no tener en cuenta valores Hounsfield que no se corresponden con el músculo; una etapa de cálculo de construcción de imagen de distancia a un histograma modelo; una etapa principal de segmentación utilizando un algoritmo Max-Flow continuo y una etapa final de post-procesamiento para mejorar el resultado de la segmentación. Se han calculado diferentes coeficientes como DICE, especificidad, sensibilidad y valor predictivo (VPP) para evaluar el rendimiento de nuestra aplicación. Se han utilizado 30 imágenes CT (2D) obtenidas de 30 pacientes diferentes. Se obtuvieron valores superiores a 0.9 en la mayoría de los parámetros. 1. Introducción La visión por ordenador y el análisis de imágenes constituyen herramientas importantes que pueden ser usadas en numerosas áreas [1]. En el procesamiento de imágenes médicas, la segmentación es una herramienta muy importante para el análisis de estructuras anatómicas y tipos de tejido, así como para obtener la distribución espacial de las regiones funcionales, proporcionando una visión más detallada de la anatomía del cuerpo humano. Además de ser una técnica muy importante para el diagnóstico, planificación y tratamiento de numerosas enfermedades, entre ellas el cáncer. La segmentación de tejidos musculares es difícil. Sin hacer distinción entre los distintos tipos de tejidos musculares, hay que hacer notar que el músculo también está presente en algunos órganos o estructuras (como corazón, vejiga, útero, intestino, etc.). Además, los distintos tipos de músculos presentan ciertas diferencias en densidades y, por tanto, diferentes valores Hounsfield. Esto implica la superposición de valores con los correspondientes a otro tipo de tejidos tales como huesos (esponjoso), grasa y algunos órganos. En la Fig. 1 se muestra una imagen CT donde se pueden apreciar diferentes densidades en diferentes tejidos. Una segunda dificultad en la segmentación de tejido muscular es la esencia 3D de los volúmenes CT y por tanto las estructuras musculares a procesar. Por lo tanto, se requieren algoritmos rápidos y automáticos a fin de obtener la segmentación con reducidos tiempos de computación. La segmentación de tejido muscular ha sido abordada por numerosos autores [2]-[6]. Por lo general, esta segmentación se implementa de forma manual o con algoritmos que usan técnicas simples tales como umbralización y que, por lo tanto, proporcionan malos resultados. Otros autores prefieren algoritmos más utilizados en el estado del arte como son aquéllos basados en conjuntos de nivel (Level Sets) [7], contornos activos (Active Contours) [5], y metodologías basadas en técnicas de relajación convexa y maximización de flujo (Max- Flow, Continuous Convex Relaxation) [8]. Además, la técnica de segmentación utilizada suele ser muy específica de algún tipo de músculo en concreto [2][4][6]. Esta falta de generalización es un problema, ya que los radiólogos prefieren no tener que considerar diferentes métodos de segmentación según sean las regiones a analizar. Por lo tanto, interesa un método general y adecuado que sea capaz de segmentar un amplio número de tejidos musculares en poco tiempo sin considerar su número ni su localización. En el presente trabajo se propone el desarrollo de un algoritmo de segmentación en 3D de músculos (estriado Figura 1. Corte 2D proveniente de un TAC de paciente. En la imagen se muestran diferentes estructuras en las que se pueden apreciar diferentes densidades (debido a la diferencia en valores Hounsfield) XXXIII Congreso Anual de la Sociedad Española de Ingeniería Biomédica, Madrid, 4, 5 y 6 de Noviembre de 2015 ISBN: 978-84-608-3354-3 22
principalmente) en imágenes adquiridas mediante un equipo de tomografía computerizada (CT) y que son almacenadas en el formato DICOM. Dicho enfoque está basado en el cálculo, en primer lugar, de una imagen de distancias de un histograma local para cada píxel a un histograma modelo del músculo. A continuación, la segmentación se llevará a cabo utilizando técnicas de relajación convexa [8], en la que la segmentación puede plantearse como un problema de minimización de una energía. El objetivo final será la reconstrucción 3D de la estructura muscular y así mejorar la visualización, diagnóstico, planificación y tratamiento médico en su caso. 2. Material y Métodos Para el desarrollo de este trabajo se ha utilizado una base de datos compuesta por 30 imágenes 2D extraídas de volúmenes TAC provenientes de distintas secciones del cuerpo y de diferentes pacientes. La información de las imágenes de la base de datos utilizada se encuentra en escala de grises, donde los valores de los píxeles oscilan por lo general entre -2000 y 3000 (valores Hounsfield). El equipo de adquisición fue una máquina de TAC helicoidal de Medical Systems que genera cortes de 512x512 píxeles de 0.781 mm/pixel y 7 mm de espesor. La metodología introducida consta básicamente de cuatro etapas: preprocesamiento, cálculo de imagen de distancia de histograma, segmentación y postprocesamiento morfológico. 2.1. Preprocesado La etapa de preprocesado consiste básicamente en una etapa de umbralización y de escalado para producir un aumento de contraste en las imágenes. La etapa de umbralización se realiza a fin de no tener en cuenta los valores que no se corresponden a los músculos y para obtener un mayor contraste. Los umbrales elegidos en esta etapa fueron elegidos escogiendo el valor mínimo y máximo presentes en las estructuras musculosas en 10 de las imágenes segmentadas manualmente y supervisadas por un experto. Los valores obtenidos fueron 950 y 1160. En segundo lugar, la imagen es escalada de modo que el valor máximo de la imagen umbralizada es escalado a '1'. Esta imagen se ha llamado Inorm. Esta operación conjunta de umbralización y escalado posterior permite una mejora de contraste de la imagen. Para no perder generalización, los valores mínimos y máximos utilizados como umbrales durante las operaciones de preprocesado son comunes a todos los volúmenes que se han utilizado. 2.2. Cálculo de Imagen de Distancia a histograma Las 30 imágenes 2D obtenidas de 30 volúmenes TAC considerados en este trabajo se han separado en dos conjuntos. El primero de ellos está formado por 10 imágenes y ha sido utilizado como conjunto de imágenes de entrenamiento. El segundo conjunto, formado por 20 imágenes ha sido utilizado para testear el algoritmo. El histograma modelo que requiere esta etapa ha sido calculado a partir de la segmentación manual de tejido muscular estriado por un experto del conjunto de imágenes de entrenamiento. Estas imágenes han sido preprocesadas antes del cálculo de histograma siguiendo los pasos descritos en el anterior apartado. Una vez obtenido el histograma modelo, se ha calculado un histograma local con una vecindad de tamaño 21x21 para cada píxel (i.j) de las imágenes de test. La distancia de este histograma local al histograma modelo es calculada utilizando la distancia 𝜒2 [9] y el resultado es asignado a la posición (i.j) en una nueva imagen llamada imagen de distancia de histograma (HDI, Histogram Distance Image). Esta imagen de distancias será próxima a cero en las zonas con tejido muscular y será alta en las zonas de tejido que no se correspondan con músculo. En la Fig. 2 se muestra un ejemplo del cálculo de la imagen HDI. La imagen a la izquierda se corresponde con una imagen TAC de un corte de la pelvis de una mujer. En ella se pueden apreciar ciertos músculos como son el músculo sartorio, los músculos obturadores (externo e interno), músculo glúteo mayor, músculo psoas y el músculo esfínter de la uretra. La imagen a la derecha corresponde a la imagen distancia HDI. Nótese como las zonas correspondientes a músculo tienen valores más pequeños que aquéllas que no lo son. 2.3. Algoritmo de Segmentación El algoritmo de segmentación está basado en la minimización de una energía creada a partir de la creación de 2 funciones de coste. La información de gris (valores Hounsfield) y la imagen de distancias de histograma HDI son combinadas para crear una función de coste CIT (cost Image Term) del siguiente modo: 𝐶𝐼𝑇 = ((1 − 𝐼𝑛𝑜𝑟𝑚) + 𝐻𝐷𝐼)/2 (1) El primer término de la expresión (a la izquierda) utiliza información de intensidad. Los píxeles correspondientes al músculo tendrán valores cercanos a '1'. Por el contrario, los píxeles que no correspondan a los músculos tendrán valores cercanos a '0'. Es por ello que se utiliza 1-Inorm en lugar de Inorm directamente porque queremos valores bajos en los tejidos musculares. Algo similar ocurre con el término más a la derecha de la Eq. (1). La distancia al histograma modelo en píxeles correspondientes a músculo debe ser cercano a 0 mientras Figura 2. La imagen a la izquierda es la imagen inicial TAC. La segunda imagen, a la derecha corresponde a la imagen distancia HDI. XXXIII Congreso Anual de la Sociedad Española de Ingeniería Biomédica, Madrid, 4, 5 y 6 de Noviembre de 2015 ISBN: 978-84-608-3354-3 23
que debería estar cerca de '1' en píxeles que pertenecen a otra clase de tejidos. El algoritmo que utilizaremos en el presente trabajo fue propuesto por J. Yuan et al. [8] y resuelve el problema de segmentación de imágenes, formulando el problema de mínimo corte en grafos mediante una formulación basada en maximización de flujos en el dominio continuo (Continuous Max-Flow). Yuan et al. [8] formuló el problema de segmentación tal y como sigue: 𝑚𝑖𝑛𝑢 𝑥 𝑢 𝐶𝑠 𝑑𝑥 + 1− 𝑢 𝐶𝑡 𝑑𝑥 + 𝐶 𝑥 ∇𝑢 𝑑𝑥 (2) En esta expresión, u(x) es la función de etiquetado e indica si el punto x pertenece a la región a segmentar. Cs y Ct se llaman términos regionales. Si el problema de minimización está bien definido, la función de coste Cs debería tomar valores bajos dentro de tejido muscular y valores altos fuera. Del mismo modo, Ct debe tener valores bajos fuera de los músculos y valores altos dentro de ellos. El término más a la derecha de la Eq. (2) es un término de regularización y C(x) es una función de penalización. | ∇ u| es el gradiente absoluto de la función de etiquetado u(x). En el algoritmo propuesto aquí, el término regional Cs, es el término CIT calculado a través de la Eq. (2). De este modo, en nuestro algoritmo, los términos Cs y Ct se calculan de la siguiente manera: 𝐶𝑠 =𝐶𝐼𝑇; 𝐶𝑡 = 1 − 𝐶𝐼𝑇 (3) Téngase en cuenta que con estas expresiones forzamos a que Ct sea baja fuera de los músculos y alta dentro de ellos, tal como es requerido para la minimización de la Eq. (2). C(x) en la Eq. (2) es un término de penalización y depende del gradiente de CIT a lo largo de la superficie, de modo que si el gradiente es alto no se penalizará, permitiendo bordes largos sólo si estos son muy intensos. La función de penalización C(x) se calcula como sigue: 𝐶 𝑥 = 𝑏𝑔 1+𝑎𝑔 ∇𝐶𝐼𝑇(𝑥) (4) donde los parámetros ag y bg controlan la importancia del gradiente en la función de penalización. En nuestra aplicación los valores ag y bg se han obtenido empíricamente y sus valores son 10 y 5 respectivamente. La minimización de la expresión descrita mediante la Eq. (2) proporciona una función de etiquetado continua u(x) que puede ser discretizada a '0' y '1' utilizando una umbralización simple. Tras la segmentación, operaciones morfológicas de dilatación y erosión son implementadas para proporcionar una segmentación más suave y exacta. 3. Resultados En nuestra aplicación se han utilizado 30 imágenes extraídas de diferentes volúmenes TAC. Las imágenes corresponden a pacientes distintos . Para poder medir la eficiencia de la técnica de segmentación, el conjunto de las 20 imágenes que componen el conjunto de test han sido segmentadas manualmente por un experto (músculo estriado). La segmentación manual ha sido utilizada como ground-truth y se han calculado diferentes parámetros para medir la eficiencia de la segmentación implementada. Estos parámetros miden la efectividad de la técnica de segmentación en base a los verdaderos positivos (píxeles que han sido marcados como músculo y realmente lo son), verdaderos negativos (píxeles marcados como no músculo y realmente no lo son), falsos positivos (píxeles marcados como músculo que realmente no lo son) y falsos negativos (píxeles que son músculo pero que han sido marcados como negativos). Los parámetros objetivos de eficiencia calculados en este trabajo son: PPV (Positive Predicted Value), Sensibilidad, Especificidad y Coeficiente Dice. El algoritmo presentado aquí se ha comparado con las siguientes técnicas: 3.1. Umbralización Este método es el preferido por la mayoría de especialistas por su rapidez y sencillez. Sin embargo los resultados son peores debido a la analogía en niveles Hounsfield de músculos con resto de estructuras. Se han utilizado los dos umbrales (inferior y superior) que proporcionaban los mejores resultados en segmentación. Estos valores fueron: 950 (umbral inferior) y 1150 (umbral superior). 3.2. Level Sets La técnica de Level-Sets es una técnica muy utilizada en segmentación para encontrar formas y figuras en imágenes. En nuestra implementación hemos comparado nuestro algoritmo con la implementación de Level Sets DRLSE (Distance Regularized Level Set Evolution), desarrollado por Li en [7]. El algoritmo de Li dispone de varios parámetros configurables, de los cuales sólo vamos a usar los siguientes: el parámetro que hace variar el área (α) y el que hace variar el perímetro (λ). El principal problema encontrado con esta implementación es el alto tiempo de computación cuando el tamaño de las imágenes o el número de regiones a segmentar son elevados. En la Tabla 1 se muestran los valores obtenidos para las 20 imágenes evaluadas. En algunas de las imágenes se han obtenido valores relativamente bajos utilizando nuestro algoritmo debido a la presencia de músculo liso que está presente en diferentes estructuras y órganos de nuestro cuerpo y que no había sido segmentado manualmente durante la creación de la ground-truth, produciendo en algunos casos Tabla 1. Resultados obtenidos mediante los distintos algoritmos. Histograma+ MaxFlow DRLSE Umbralización PPV 0,8557 0,6179 0,7459 Sensibilidad 0,9043 0,9795 0,8734 Especificidad 0,9774 0,9008 0,9551 DICE 0,8743 0,7578 0,7979 Jaccard 0,7848 0,6100 0,6734 Tiempo Computacional (s) 133,1890 2502s 0,0033 XXXIII Congreso Anual de la Sociedad Española de Ingeniería Biomédica, Madrid, 4, 5 y 6 de Noviembre de 2015 ISBN: 978-84-608-3354-3 24
valores de segmentación bajos ya que el algoritmo sí que es capaz de segmentar estos tejidos. Los músculos lisos, presentes en numerosos órganos como corazón, hígado, páncreas, intestino, estómago, bazo… presentan un histograma muy similar o igual al de los músculos estriados. La Fig. 3 muestra los resultados obtenidos para dos imágenes diferentes. La primera fila muestra las imágenes TAC originales. Las filas b, c y d muestran los resultados obtenidos por cada algoritmo (Level Sets, Umbralización y el algoritmo aquí descrito respectivamente) mediante regiones azules. El contorno rojo muestra la segmentación manual ground truth. Como puede comprobarse el algoritmo propuesto en este trabajo segmenta mejor las regiones que los otros dos algoritmos. 4. Conclusiones En este trabajo se ha propuesto un algoritmo automático para la segmentación de estructuras musculosas estriadas. La segmentación de tales estructuras es una tarea complicada debido a que éstas presentan intensidades superpuestas con los tejidos circundantes. El algoritmo propuesto combina información de nivel de gris e información estadística extraída de histogramas e implementa a continuación una segmentación utilizando el algoritmo Continuous Max-Flow [8] propuesto por Yuan et al. Este algoritmo ha sido validado con 20 imágenes 2D de TAC de imágenes provenientes de distintas secciones del cuerpo y de distintos pacientes. Se han calculado varios parámetros para medir su eficacia. Los resultados obtenidos son prometedores, y tienen que ser analizados bajo el supuesto de que la segmentación exacta de los músculos es una tarea difícil, incluso para un experto debido a sus fronteras difusas (principalmente para músculo liso). Por tanto, sería conveniente que diferentes expertos supervisaran la segmentación para una mejor validación del algoritmo. Esta será una terea para el futuro. Del mismo modo, sería deseable una validación con un número mayor de casos. El algoritmo proporciona mejores resultados de segmentación que los algoritmos con los que ha sido comparado: umbralización y level-sets. En implementaciones futuras sería conveniente acelerar la creación de la imagen de costes, que combina la información de nivel de gris y la información estadística, para minimizar el tiempo total de segmentación. Agradecimientos Este trabajo ha sido financiado por los proyectos P11- TIC-7727 y PI-0223-2012 (Junta de Andalucía, España). Referencias [1] Haralick R.A., Shapiro L. Computer and Robot Vision. USA. Vol 1. Addison-Wesley Publishing Company, 1992 (ISBN: 0201569434). [2] Ganesan K, Acharya UR, Chua KC, Min LC, Abraham KT. Pectoral muscle segmentation: A review. Comput Methods Programs Biomed, vol. 110(1), 2013, pp 48-57. [3] Chung, H., Cobzas, D., Lieffers, J., Birdsel, L., Baracos, V. Automated segmentation of muscle and adipose tissue on ct images for human body composition analysis. In Medical Imaging: Image Processing. Proc. SPIE, vol. 7261, 2009. [4] Raba, D., et al. Breast Segmentation with Pectoral Muscle Suppression on Digital Mammograms, Springer-Verlag, Berlin Heidelberg, 2005, pp 471–478. [5] Klemencic, A., Kovacic, S., Pernus, F. Automated segmentation of muscle fiber images using active contour models, Cytometry, vol. 32(4), 1998, pp 317-26. [6] Jeffrey W, et al., Anatomically Anchored Template-Based Level Set Segmentation: Application to Quadriceps Muscles in MR Images from the Osteoarthritis Initiative, Journal of Digital Imaging, vol. 24(1), 2011, pp 28:43. [7] Li, C., et al., Distance Regularized Level Set Evolution and its Application to Image Segmentation. IEEE Trans. Image Processing, vol. 19(12), 2010, pp 3243-3254. [8] Yuan, J., Bae, E., Tai, X.-C., A study on continuous maxflow and min-cut approaches. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2010, pp 2217-2224. [9] Rubner, Y., et al., The Earth Mover’s Distance as a Metric for Image Retrieval. International Journal of Computer Vision, vol 40(2), 2000, pp 99-121. Figura 3. Resultados obtenidos aplicando los 3 diferentes algoritmos a 2 imágenes. El contorno rojo representa la segmentación manual ground truth. Las regiones azuladas corresponden a la salida de cada algoritmo: Fila b): level Sets. Fila c):Umbralización. Fila d) Algoritmo desarrollado. XXXIII Congreso Anual de la Sociedad Española de Ingeniería Biomédica, Madrid, 4, 5 y 6 de Noviembre de 2015 ISBN: 978-84-608-3354-3 25