Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
MAESTRÍA EN INTELIGENCIA ARTIFICIAL, PONTIFICIA UNIVERSIDAD JAVERIANA, NOVIEMBRE 2021 1 Clasificación de los Árboles Bronquiales y Caminos más Transitados Utilizando Métodos de Aprendizaje de Máquina (Noviembre 2021) Daniel Iván Jiménez Prieto, Estudiante, Maestrı́a en Inteligencia Artificial Tutor de la tesis: Leonardo Flórez Valencia Resumen—Reconstruir, segmentar y clasificar el árbol bronquial ha sido de gran importancia en el área de la salud y la ingenierı́a, con un análisis adecuado podrı́an identificarse zonas afectadas por diversas enfermedades como cáncer de pulmón o Covid- 19 para posteriormente tratarlas, ayudando tanto a sistemas de detección automática como a médicos y a personal de salud en campo. Dada la dificultad de obtener una imagen completa (normalmente tomografı́as computarizadas) sin errores y por la misma anatomı́a del pulmón, este problema ha sido atacado ampliamente mediante el procesamiento de imágenes médicas usando métodos de morfologı́as matemáticas y de crecimiento de regiones entre otros, pero aún no hay un método definitivo. En el presente trabajo se realizó una clasificación del árbol bronquial mediante un proceso de tres etapas, tomando como punto de partida una imagen binaria de los árboles bronquiales. Primero, se realizó un estudio e identificación de los puntos internos y externos de los árboles. Posteriormente se creó y utilizó un algoritmo de aprendizaje de máquina no supervisado, que tiene como base el algoritmo de Dijkstra, y finalmente se realizó un método de clasificación utilizando Jenks Natural Breaks para clasificar aquellas rutas más transitadas dentro de los árboles bronquiales. Index Terms—Árbol bronquial, Pulmones, Inteligencia Artificial, Aprendizaje de Máquina, Aprendizaje no supervisado, Imágenes médicas, Dijkstra, Algoritmo, Jenks Natural Breaks, Vóxeles, Clasificación, Segmentación. I. INTRODUCCIÓN ESte trabajo surge a partir de la necesidad actual de encontrar caracterı́sticas del árbol bronquial, ası́ como de hacer una clasificación de los caminos más transitados en este. El estudio de los árboles bronquiales ha sido de gran interés a través de la historia y a pesar de que se han realizado cientos de análisis rigurosos de estos, aún hay muchas preguntas sin resolver y una necesidad de entender su funcionamiento a fondo, despertando cada vez más intereses desde diversas áreas, como la medicina y la ingenierı́a. Actualmente existe un gran auge en la creación de modelos de inteligencia artificial que detecten automáticamente nodos pulmonares e identifiquen cáncer de pulmón, (con más de Tesis de Maestrı́a en Inteligencia Artificial, SNIES 108908. Pontificia Universidad Javeriana, entregada el 26 de Noviembre de 2021. Tesis escrita por: Daniel Iván Jiménez Prieto, danielijimenez@javeriana.edu.co, tutor de la tesis: Leonardo Flórez Valencia, florez-l@javeriana.edu.co, director Maestrı́a en Inteligencia Artificial. 131.880 muertes en Estados Unidos en el 2021 [1]) o mo- delos que detecten zonas afectadas del pulmón por diversas enfermedades, entre esas Covid-19. Muchos de estos modelos utilizan técnicas de inteligencia artificial y aprendizaje de máquina, por ejemplo usando u-net convolutional network [2] y dependen en gran medida del procesamiento de datos de los pulmones, especialmente desde la parte de la segmentación y clasificación. Por otra parte, la necesidad de apoyar a los radiólogos, neumólogos y en general al personal médico es primordial, tanto en la detección de enfermedades como en el tratamiento de estas, ya que muchas veces, incluso después de detectadas, no hay conocimiento claro acerca de las afecta- ciones por dichas enfermedades; en este caso definir algunas caracterı́sticas del árbol bronquial y crear una clasificación adecuada podrı́a ser de gran ayuda en el trabajo de campo. El problema de una adecuada clasificación y reconstrucción del árbol bronquial se ha atacado de diversas formas y está compuesto por varios pasos, empezando con tomar la mejor imagen posible de los pulmones. Con las herramientas actuales se presentan varias dificultades, ya sea porque se esta traba- jando con seres vivos o porque las máquinas no tienen una precisión perfecta, estas imágenes presentan un gran reto para su estudio. Con las herramientas presentes hoy en dı́a la forma óptima de trabajar con datos pulmonares es mediante tomografı́as computarizadas (TC), con estas es posible hacer una recons- trucción en 3D de la zona. Luego de obtener la imagen del pulmón, es necesaria una segmentación de la parte, región u órgano de interés, en este caso del árbol bronquial, en la literatura hay varios estudios acerca de esto, por ejem- plo Pulmonaryairways: 3-d reconstruction [3] donde propo- nen un método de reconstrucción 3D utilizando morfologı́as matemáticas (uno de los métodos más rigurosos), también se han utilizado métodos de crecimientos de regiones por ejemplo [4], adicionalmente a estas, hay una gran cantidad de técnicas matemáticas utilizadas. Algunos estudios mezclan técnicas de segmentación con técnicas de clasificación para ası́ detectar los caminos más recorridos o más importantes, en el presente trabajo, por ejemplo se tomó como punto de partida una imagen binaria ya segmentada, proveniente del trabajo Curvilinear Structure Analysis by Ranking the Orientation Responses of Path Operators [5], dicha imagen tenı́a un tamaño de 512x512x549 y se observa en la figura 1. Para lograr una clasificación de los árboles bronquiales mailto:danielijimenez@javeriana.edu.co mailto:florez-l@javeriana.edu.co 2 MAESTRÍA EN INTELIGENCIA ARTIFICIAL, PONTIFICIA UNIVERSIDAD JAVERIANA, NOVIEMBRE 2021 Figura 1. Imagen binaria original del árbol bronquial. fue necesario primero encontrar caracterı́sticas de estos para ası́ poder identificar algunas partes y regiones importantes como los bronquios más distantes, para lograrlo se emplearon diversos métodos y algoritmos matemáticos clásicos, imple- mentándolos en herramientas como C++, ITK y Python3. Durante este proceso se hicieron algunos hallazgos significa- tivos en cuanto a la imagen tratada, dichos hallazgos debieron tenerse en cuenta para el desarrollo posterior. Como un segundo paso, se creó un algoritmo de aprendizaje de máquina perezoso o vago (lazy learning), utilizando el algoritmo de Dijkstra como base, con este método se hizo frente a algunos de los problemas encontrados en la sección anterior tratando cada pulmón por separado, mientras que se llegaba al núcleo de este trabajo. Los resultados obtenidos mediante este algoritmo fueron los dos pulmones con las vı́as más transitadas, una imagen en 3d donde cada vóxel tiene un valor y dicho valor representa la cantidad de veces que se transitó por ahı́. Una vez obtenidos estos datos se procedió a un tercer y último paso, una clasificación de los vóxeles mediante percentiles y otra mediante el método de optimización de Jenks, obteniendo las rutas más transitadas en cada árbol bronquial. En términos generales, este trabajo presenta un acercamien- to al problema de la reconstrucción y clasificación de rutas en el árbol bronquial utilizando distintas técnicas matemáticas de aprendizaje no supervisado. El resultado deja abiertas varias puertas para una futura implementación de técnicas recursivas y de aprendizaje de máquina que puedan mejorar los resultados obtenidos, ası́ mismo, propone una clasificación única del árbol bronquial, abierta a la interpretación e implementación en el ámbito médico. II. MARCO TEÓRICO A. Estado del Arte Tal como se comentó anteriormente, la clasificación y ca- racterización de las vı́as respiratorias y en particular de los árboles bronquiales ha sido trabajada desde hace varios años, de este reto han nacido varios trabajos desde las ciencias y la ingenierı́a en conjunto con la medicina. Siguiendo los pasos usuales en el procesamiento de imáge- nes médicas,la segmentación de órganos y clasificación se ha realizado a partir de distintas técnicas, algunas más re- levantes que otras dependiendo el órgano en cuestión o las caracterı́sticas de la imagen, ya que también se han realizado algunas detecciones a partir de rayos X, o incluso de imágenes tomadas con cámaras de alta resolución. En el caso de los pulmones el crecimiento de regiones tiene gran acogida, aún en la actualidad se sigue empleando, a pesar de tener varios años, por ejemplo, en el trabajo Variants of Seeded Region Growing [6], se exploran algunas variantes de este, en general, en otros trabajos de segmentación como el de Anna Fabijacska [4] o Lung tumor segmentation using improved region growing algorithm [7] se evidencia que este método aún sigue perfeccionándose y que se están buscando mejores alternativas. Entre las otras opciones, también esta la segmentación a partir de morfologı́as matemáticas, como el trabajo expuesto sobre reconstrucción de vı́as pulmonares [3], incluso, hay algunos que mezclan ambas técnicas, como Efficient Lung CT Image Segmentation using Mathematical Morphology and the Region Growing algorithm. [8]. También hay trabajos que siguen innovando desde las morfologı́as matemáticas teniendo cuenta segmentaciones y estudios anteriores como Multiscale vessel enhancement filtering [9] o filtrado con estructuras tubulares [10]. La imagen binaria la cual es base de este trabajo por ejemplo, es resultado de un trabajo con morfologı́as matemáticas usando objetos curvilı́neos [5], acá se emplea un elemento estructurante que en realidad es un objeto delgado en 1D inmerso en 3D, dichas caracterı́sticas hacen que la imagen resultante sea más detallada pero además, que no cumpla ciertas caracterı́sticas como por ejemplo conexiones entre las partes. No obstante, estas técnicas clásicas de procesamiento de imágenes médicas no son las únicas utilizadas y no son el pun- to final, también se han realizado trabajos empleando diversos procedimientos, algoritmos e ideas bastante interesantes, con segmentación interactiva de pulmones [11] o con factorización de matrices [12], entre otros.Por otro lado, con el desarrollo de nuevas tecnologı́as, el aumento en las capacidades de computo y en general la aparición de nuevas técnicas de inteligencia artificial y aprendizaje de máquina, nuevos estudios se están realizando, por ejemplo mediante algoritmos de random walk [13], o K-means [14]. Adicionalmente a esto, se han empleado técnicas similares a las propuestas en este trabajo en distintos órganos, por ejem- plo, en Dijkstra’s algorithm applied to 3D skeletonization of the brain vascular tree: evaluation and application to symbolic [15], en este caso para estudiar el sistema vascular del cerebro. De esta forma, el presente trabajo se enmarca en un contexto bastante rico tanto desde la medicina como desde la ingenierı́a, en la primera, dada la importancia de la reconstrucción, seg- mentación y clasificación del árbol bronquial, pertinente tanto JIMÉNEZ, D : CLASIFICACIÓN DE LOS ÁRBOLES BRONQUIALES Y CAMINOS MÁS TRANSITADOS UTILIZANDO MÉTODOS DE APRENDIZAJE DE MÁQUINA 3 en campo como en análisis de enfermedades o detección; en la ingenierı́a, desde la utilización de nuevas técnicas que pueden aportar tanto por su riqueza única como por su integración a métodos ya existentes, sobre todo de detección automática. B. Recopilación de información Las tomografı́as computarizadas de tórax son la principal fuente de información a la hora de trabajar con pulmones, estas tomografı́as permiten identificar los órganos y diversas afecta- ciones, con estas se pueden desde detectar nódulos pulmonares hasta malformaciones o zonas afectadas por enfermedades. El procedimiento puede variar, dependiendo del paciente, las causas por las que se están tomando los datos y el lugar, se puede utilizar alguna solución de contraste o incluso, tardar más o menos segundos en la toma de la tomografı́a. Todo esto junto con posibles errores en la máquina, como ruido, el movimiento natural del cuerpo o la respiración hacen que los datos no sean exactos, en nuestro caso, se tomó una tomografı́a computarizada ya procesada. A diferencia de algunos métodos como crecimiento de regiones donde no pueden haber zonas desconectadas de la región principal donde se lanzó la semilla y donde es posible saber a priori algunas propiedades de la región formada, como que no van a quedar vóxeles “en punta”, o en contacto nada más en una de sus 6 caras; el método por el cual se obtuvo la imagen binaria 1 no posee dichas reglas, sin embargo esto que podrı́a ser un problema a la hora de procesar dichas imágenes también es una caracterı́stica interesante del método, permitiendo tener más información y distintas caracterı́sticas. C. Tratamiento de los datos Las tomografı́as computarizadas usualmente se trabajan me- diante cortes (por ejemplo con archivos .dicom) o directamente procesadas como una imagen 3d. La mayorı́a de trabajos de segmentación de regiones tienen como resultado una imagen binaria segmentando la región, dicho resultado es la materia prima con la que se realizó este trabajo. En el procesamiento de imágenes médicas, algunos lengua- jes, programas de código abierto y librerı́as han demostrado gran practicidad a la hora de trabajar, entre estos C++, y Python3. En este trabajo se uso principalmente ITK[16], definido por ellos mismos como una librerı́a open-source multi plataforma que provee herramientas para análisis de imágenes, para darle un primer tratamiento a los datos, analizarlos y ob- tener caracterı́sticas importantes de estos, dada su flexibilidad de trabajar con varios formatos y de llevar a cabo distintos métodos. El resto del trabajo fue realizado en Python3, principalmente por la comodidad y rigurosidad al trabajar con varios tipos de datos, visualizar la información que se trabajaba mediante el uso de distintos paquetes como NiBabel [17] y dijkstra3d [18] y tener control sobre ciertas variables. Todo el trabajo fue realizado en una máquina local, con caracterı́sticas como 32gb de memoria ram, disco de estado sólido y procesador intel i7. Por lo general, las imágenes pesaban 1,07gb y todas eran de 512x512x549, lo cual significa que tenı́an 143.017.056 vóxeles cada una. Adicionalmente, como herramientas de visualización se utilizaron 3d Slicer y Paraview. D. Algoritmos utilizados Muchos de los algoritmos utilizados en este trabajo ya existı́an, otros sin embargo, fueron de creación propia y surgieron a partir de las necesidades del momento. Algunos se utilizaron ampliamente en este trabajo, mientras otros se utilizaron una vez solamente, pero fueron relevantes a la hora de entender propiedades de los datos con los que se estaban trabajando. El orden de aparición en el siguiente apartado corresponde al momento en el que se utilizó dicho algoritmo, método o técnica, se complementa con una corta descripción acerca de como se utiliza dicho método en el procesamiento de imágenes en 3d, para más información, puede consultarse el libro guia de ITK [16] o artı́culos relacionados. • Mapa de distancia de Danielsson Este filtro computa el mapa de distancias de la imagen como una aproximación de la distancia euclidiana, en términos generales, al procesar un vóxel negro en una imagen blanca, el resultado será una zona oscura, y a medida que hay más distancia a esta zona, más clara se vuelve. • Envolvente convexa Mediante este método, podrı́a crearse una envolvente para todo el pulmón, hay diversas variaciones que podrı́an servir, sin embargo es un algoritmo muy exigente compu- tacionalmente. • Operaciones de forma (morphological operations) Acá se emplea un elemento estructurante, se utilizó una esfera de distintos tamaños. Al ejecutar la operación mor- fológica sobre una imagen binaria, alternar los métodos de erosión y dilatación, se pueden obtener distintos resul- tados como apertura ycierre, dichas operaciones pueden cambiar la imagen drásticamente y eliminar conexiones, o incluso datos extremos en una rama bronquial. • Convoluciones/ Operaciones entre vecinos Este método interactúa vóxel a vóxel con un vecindario al rededor, en este trabajo se utilizaron los más usuales, como el promedio para observar el comportamiento de los datos, también se utilizó una convolución propia. • Filtro de Textura Este filtro es un módulo remoto implementado para ITK, como itkTextureFeatures. Este calcula las intensidades de texturas basándose en la intensidad de la matriz de coocurrencias en la imagen o de los vóxeles de esta. El resultado es una imagen del mismo tamaño que la original que contiene un vector para cada vóxel. Adicionalmente permite ajustar el tamaño de la ventana. • Función de Costo Este filtro fue de creación propia junto con el profesor Leonardo Flórez Valencia. Se asignó una función de costo a una operación creada a partir de un filtro de distancia y el conteo de vóxeles alrededor. De esta forma, se 4 MAESTRÍA EN INTELIGENCIA ARTIFICIAL, PONTIFICIA UNIVERSIDAD JAVERIANA, NOVIEMBRE 2021 identificaban aquellos puntos extremos en los pulmones, y aquellos pertenecientes a zonas donde el árbol bronquial era más grueso. C(v) = nv Dk(v) (1) Con nv siendo el conteo de vóxeles al rededor, D(v) una función de distancia y k una constante. • Algoritmo de Dijkstra El algoritmo de Dijkstra en la actualidad es de los más utilizados a la hora de encontrar soluciones óptimas al problema del camino más corto entre dos puntos, el algoritmo, presentado en 1959 por Edsger Wybe Dijkstra busca a partir de un grafo conectado con aristas y vértices, encontrar el camino más corto mediante un método iterativo, en términos generales el algoritmo opera de la siguiente forma, para ir de un punto X a un punto Y: 1) : Dado un punto de inicio, y uno final, marca todos los otros vértices como no visitados. 2) : Marca aquellos nodos que tienen relación directa con el punto de origen X, calcula la distancia que hay hasta ellos y visita el nodo a la menor distancia, llamado A, por ejemplo. Se guarda en una tabla la información de nodos visitados vs las distancias conocidas a cada nodo. 3) : Realiza el mismo procedimiento desde el nodo A (el más cercano), guardando la información anterior, ahora, en la tabla principal está la información de aquellos vértices alrededor de X y de A. Si por alguna razón las distancias son iguales, se elige aleatoriamente un nodo. 4) : Posteriormente se repite el proceso, actualizando la tabla, la cual va creciendo hacia abajo, con los nodos visitados, y va llenándose, poniendo una distancia a aque- llos nodos que ya son conocidos. La tabla se actualiza solamente con las mı́nimas distancias entre un punto y otro, si se encuentra un camino más largo, no se introduce esta información. 5) : El resultado final es una tabla de distancias en donde se almacenan todos los datos de mı́nimo costo o distancia hacia cada uno de los nodos. Este algoritmo requiere un cómputo nuevamente si por ejemplo el punto de partida es A, en lugar de X, requiere visitar todos los puntos y crear la matriz nuevamente. Para más información, el siguiente artı́culo provee varios ejemplos ilustrativos Understanding Dijkstra´s Algorithm [19]. En este trabajo se utilizó una implementación del algorit- mo de Dijkstra en 3d [18] creada por William Silversmith, Software Engineer de la universidad de Princeton. Este paquete, como esta escrito en su descripción, esta pensado para evitar el problema de crear grafos conectados con nodos, en cambio implementa el algoritmo utilizando una grilla en 3D de la imagen, donde los vértices son los vóxeles de la imagen, además se puede permitir una conexión de 6, 18 o 26 vóxeles alrededor de daca vóxel, modificando el grado del vecindario, lo cual permite ajustar el algoritmo a distintos problemas en cuestión. Figura 2. Grados del vecindario I, II, III, con 6, 18 y 26 vecinos. Ası́ mismo el paquete esta optimizado en términos de memoria y esta pensado para utilizarse con imágenes de gran tamaño como las presentadas en este trabajo. Adicionalmente al algoritmo de Dijkstra existen diversos algoritmos que también son utilizados con el mismo objetivo, entre ellos el algoritmo de Jhonson, el de Bellman-Ford, el A* o el de Prims, estos tienen algunas caracterı́sticas distintas, por ejemplo que pueden manejar números negativos, en algún punto estos algoritmos fue- ron tenidos en cuenta, sin embargo al ser menos óptimos que Dijkstra o no tener formas de implementaciones de alta eficiencia, y poder solucionarse el problema de valores negativos, se descartó su uso. • Jenks natural breaks: Este es un método iterativo para encontrar clústeres o grupos de individuos en una dimensión, similar a lo realizado por k-medias en múlti- ples dimensiones, Jenks natural breaks busca reducir la varianza intra clase y maximizarla entre ellas. En este método se puede usar arbitrariamente un número de grupos, y posteriormente estudiar los resultados en estos. Este método puede dar distintos resultados con distintas iniciaciones aleatorias. Jenks natural breaks funciona de la siguiente manera: Se deciden los clústeres, y se calcula la SDAM (Sum of squared deviations for array mean), se toma cada observación, se resta por la media del grupo y se eleva al cuadrado, posteriormente se suma todo esto y se obtiene una estadı́stica, intuitivamente, se desea que este valor (SDAM) disminuya, es decir que los grupos sean homogéneos entre si. Luego de esto, se calcula la varianza entre los grupos y se arreglan estos de una forma distinta, se repiten los pasos hasta llegar a un punto donde no hay una mejor categorización. En el presente trabajo se utilizó una implementación de Jenks natural breaks llamada jenkspy en Python 3.[20] III. METODOLOGÍA A continuación se presenta el proceso seguido para lograr el objetivo del trabajo, una reconstrucción y clasificación del árbol bronquial. Primero, encontrando puntos externos e identificando algunas estructuras y caracterı́sticas de los datos mediante distintas funciones matemáticas y técnicas emplea- das en procesamiento de imágenes médicas. Posteriormente haciendo uso de distintas técnicas de aprendizaje de máquina e inteligencia artificial logrando una reconstrucción del árbol, para finalmente categorizar y segmentar esta reconstrucción. JIMÉNEZ, D : CLASIFICACIÓN DE LOS ÁRBOLES BRONQUIALES Y CAMINOS MÁS TRANSITADOS UTILIZANDO MÉTODOS DE APRENDIZAJE DE MÁQUINA 5 Figura 3. Diagrama de flujo de los datos. El punto inicial de este trabajo fue una imagen ya seg- mentada mediante morfologı́as matemáticas, la razón de esto es que además de ser una propuesta innovadora lograba una reconstrucción bastante buena de los árboles bronquiales, teniendo en cuenta regiones extensas y profundas conservando la forma y algunas caracterı́sticas interesantes. Sin embargo, este trabajo es replicable con distintas segmentaciones, y en caso de que se quiera implementar el método de clasificación presentado a continuación, se puede utilizar un algoritmo sencillo o una segmentación por crecimiento de regiones a partir de una tomografı́a computarizada para tener el mı́nimo insumo necesario. A. Pre procesamiento de los datos, encontrar puntos extremos Con el fin de poder entender el árbol bronquial, un primer acercamiento que se tuvo fue utilizar una función de distancia que permitiera entender cuáles son aquellas zonas de mayor y de menor densidad, dependiendo de la intensidad, para esto se utilizó el mapa de distancia de Danielsson, este método puede funcionar muy bien con imágenes con formas más simples, incluso podrı́a servir para identificar la parte más ancha de un triángulo, sin embargo no arrojó los resultados esperados, ya que el árbol bronquial era demasiado tupido. Esta misma razón impide que se pueda utilizar un método como envolvente convexa, ouna de sus variaciones, ya que el trabajo computacional para envolver los pulmones a un nivel de detalle alto es muy complejo. Posteriormente, un segundo acercamiento que se tuvo fue reconocer el árbol bronquial como se reconoce un laberinto, la razón de esto es que de esta forma se podrı́a entender completamente su estructura, identificando caminos más lar- gos, más cortos y más transitados. La mayor dificultad que se encontró acá fue los laberintos normalmente tienen un ancho similar en todos sus caminos, con un ancho similar, es relativamente sencillo encontrar bifurcaciones y puntos extremos, simplemente identificando vóxeles que tienen una única conexión, la forma de los pulmones no permitı́a este acercamiento. Varios métodos se utilizaron con el fin de encontrar puntos extremos, el primero fue un estudio morfológico de la imagen, aplicando distintos métodos de erosión y dilatación con una esfera de distintos tamaños, este método ha mostrado su utilidad en distintas imágenes médicas, ya que si se usa co- rrectamente y la imagen es adecuada, puede permitir encontrar por ejemplo, los vértices en un cuadrado. Luego se prosiguió con un algoritmo de convolución donde se mostraron solamente aquellos vóxeles que tenı́an un conteo mayor a cierto número de vóxeles alrededor, primero se realizó con 1, posteriormente con 3. Se probó un filtro de texturas, utilizando los envolventes de ITK en Python, estos filtros no tienen más de 5 años desde su publicación, y han tenido buenos resultados analizando imágenes con distintos rangos de valores en los vóxeles, por lo que valı́a la pena probar su rendimiento en este tipo de problemas. Finalmente se realizó una función de costo, compuesta por un filtro de distancia, esta función de costo permitió clasificar de forma adecuada aquellos puntos extremos de los pulmones, permitiendo también referenciar aquellas zonas en las que el árbol bronquial es más grueso, ya que los árboles de la imagen 1 estaban divididos y no se encontraba la región de la tráquea. En un punto de este trabajo se pensó un acercamiento mediante la esqueletización de los árboles bronquiales este método permitirı́a reducir los caminos a un ancho de 1 y acá encontrar los puntos extremos serı́a supremamente fácil, al igual que los vértices, sin embargo al aplicar este algoritmo se encontró que habı́a una pérdida de información demasiado grande, muchas veces grandes regiones bronquiales quedaban reducidas a un solo camino, por lo cual se descartó este método. B. Método no Supervisado, algoritmo de aprendizaje perezoso Con el fin de lograr una reconstrucción y clasificación de los caminos más transitados era necesario utilizar un método que pudiera calcular la ruta más corta entre un punto y otro, para esto se utilizó el algoritmo de Dijkstra, de esta forma, calcular la ruta que tiene que seguir el aire desde el punto más alejado de los pulmones hasta el punto más central de estos era relativamente sencillo, sin embargo fue necesario hacer algunos estudios antes, por ejemplo, como se iban a trabajar las conexiones, por lo que fue necesario estudiar el comportamiento con los distintos grados de vecindarios presentados en la figura 2. Para encontrar aquellos caminos más transitados se eligió crear y utilizar un método no supervisado, la idea general era que con cada ejecución del algoritmo de Dijkstra se fuera modificando una imagen, de tal forma que se llegara a una aproximación local del problema de las rutas más transitadas. Este método no supervisado ejecuta el algoritmo de Dijkstra entre los vóxeles más alejados (extremos) en cada árbol bronquial y el punto más central, repitiendo ese procedimiento por cada uno de los vóxeles identificado como punto extremo, en cada ejecución modifica la imagen en la que se ejecuta Dijkstra, de tal forma que los puntos extremos obtendrán un menor costo de viajar de un punto a otro si alguna ruta ya paso por este camino. A continuación se presenta el algoritmo con su respectivo pseudocódigo. • Siendo M la matriz binaria en tres dimensiones, donde se le asignó un valor alto al fondo y uno menor a los vóxeles que hacı́an parte del pulmón segmentado. • P1 La imagen de distancias solamente del pulmón iz- quierdo, P2 del pulmón derecho. • ynmax El vóxel máximo en cada uno de los pulmones, es decir, la parte donde el árbol bronquial era más gruesa. 6 MAESTRÍA EN INTELIGENCIA ARTIFICIAL, PONTIFICIA UNIVERSIDAD JAVERIANA, NOVIEMBRE 2021 • m el entero que indica que valores de vóxeles tomar, entre más cercanos a 0 son vóxeles extremos, pertenecientes a los bronquios finales de las ramas. • δ el vector con la ruta óptima encontrada mediante el algoritmo de Dijkstra entre dos puntos, dicho vector podrı́a tener distintos tamaños. • Con upgrade(Fn) la disminución en un número fijo en la matriz Fn del valor en los vóxeles que pertenecı́an al camino δ. • F1 La imagen que se va actualizando cada vez que se ejecuta el algoritmo de Dijkstra para el pulmón izquierdo, F2 para el pulmón derecho. • R La imagen resultado. Pseudocódigo del Algoritmo (M,P, δ, V (xijk),F ,m) Require: M∈ R512×512×549 Require: V (xijk) = Voxelvalue(xijk) = v, v ∈ R+ 0 Require: P = ⟨Pn ∈ R512×512×549;n = 1, 2⟩ Require: δ ∈ Rp×1 Require: m ∈ R+ Require: F = ⟨Fn ∈ R512×512×549;n = 1, 2⟩ for n in 1, 2 do ynmax =max(Pn) Fn = M for xijk in M do if V (pijk) < m then δ ← dijkstra(Fn;xijk; ymmax) Fn = upgrade(Fn) Save Fn end if end for end for R = F1 + F2 En el presente algoritmo es importante tener en cuenta no solamente los valores que se le daban a la imagen binaria M , sino también el valor que se utilizó a la hora de restar el camino δ a la imagen original (utilizando upgrade), si este valor era muy alto, los caminos siguientes a este iban a verse altamente influenciados, ya que iban a obtener un menor costo al irse por dicho camino, y podrı́an hacer movimientos extraños, sin contar el hecho de que al repetir muchas veces el mismo camino, el costo de tomar este iba a ser cada vez más llamativo, a tal punto que todos los caminos iban a pasar por acá y hasta podrı́a llegar a un punto donde los valores eran negativos, y detener el algoritmo. Ası́ mismo, si el valor era muy bajo, los siguientes caminos de Dijkstra iban a elegir rutas que no eran necesariamente esta misma, por más que pasaran cerca. El resultado de este algoritmo es una imagen de tamaño 512x512x549, en dicha imagen los vóxeles que fueron más transitados tienen un menor valor, de esta forma, es posible hacer una clasificación a posteriori de los caminos más recorridos y aquellas zonas en los pulmones menos importantes. Métodos y Algoritmos # Nombre Aplicado en Utilizado 1 Mapa de distancia de Danielsson Imagen Binaria No 2 Envolvente Convexa Imagen Binaria No 3 Operaciones de forma Imagen Binaria No 4 Convoluciones Imagen Binaria No 5 Filtro de Textura Imagen Binaria No 6 Función de Costo Imagen Binaria Si 7 Crecimiento de Regiones Imagen Binaria No 8 Algoritmo de Dijkstra Imagen de Distancias Si 9 Algoritmo Propio Imagen de Distancias Si 10 Jenks Natural Breaks Imagen R de caminos Si 11 Clasificación por Percentiles Imagen R de caminos Si C. Clasificación de los caminos más recorridos Luego de tener una imagen donde el valor de los vóxeles representa que tan transitados fueron estos, es necesaria una agrupación para saber cuáles eran en general los caminos o zonas más importantes y recorridas en ambos árboles bron- quiales, para lograrlo primero se realizó un análisis de la distribución de los datos. Luego de dicho análisis se propuso un método de clasificación basándose en percentiles y otro basándose en el algoritmo de Jenks natural breaks, se probaron distintos números de grupos y posteriormente se clasificaron las regiones. A pesar de que existen distintos métodos de agrupaciones de datos en una dimensión, por ejemplo One-dimensional center-based l 1-clustering method [21], oCkmeans. 1d. dp: optimal k-means clustering in one dimension by dynamic programming [22], entre otros, para este trabajo y después de hacer un estudio de los datos, se encontró más relevante hacer un análisis entre percentiles y un método ampliamente utilizado como Jenks natural breaks, con conocida eficiencia y eficacia al trabajar con grandes cantidades de datos, ya que este método de comparación permite entender a profundidad más los datos y centrarse en el objetivo de este trabajo. En la tabla ubicada en la parte superior se presenta un resumen de los principales métodos utilizados. Ası́ mismo, a continuación se nombran algunos de los hiperparámetros a tener en cuenta a la hora seguir el flujo de datos presentado en este trabajo, la correcta elección de varios de estos co- rresponden a un entendimiento del problema a resolver y de la afectación que estos tenı́an en cada uno de estos métodos y algoritmos, dado que en este trabajo no se utilizó una métrica exacta para comparar los resultados, fue necesario un conocimiento profundo acerca de cada paso y del objetivo final. • Función de Costo – k Constante que multiplica la función de distancia utilizada, este valor es importante ya que un valor grande de k puede hacer que la función de costo sea 0 y se pierda información de los puntos extremos. • Algoritmo de Dijkstra – G Grado del vecindario a tener en cuenta, en el algoritmo. JIMÉNEZ, D : CLASIFICACIÓN DE LOS ÁRBOLES BRONQUIALES Y CAMINOS MÁS TRANSITADOS UTILIZANDO MÉTODOS DE APRENDIZAJE DE MÁQUINA 7 – I-V Parámetro que define si se calcula Dijkstra solo en una dirección, o en dos. En este trabajo solo se trabajo con una dirección. • Método no Supervisado, algoritmo de aprendizaje perezoso – M Los valores iniciales de esta matriz cambian los resultados y los caminos generados por primera vez, al dar un valor bajo al fondo, por ejemplo, se impulsa a Dijkstra a tomar estas rutas fuera de los pulmones, lo cual en este caso no es deseable. – m Variable que indica que tan distantes son los puntos que se toman para ejecutar Dijkstra, valores altos de este hiperparámetro significa tomar vóxeles pertenecientes a la parte interna del pulmón y mas procesamiento de datos. – upgrade(Fn) Disminuir drásticamente los caminos repetidos en los pulmones implica que se utilicen mas los mismos caminos y al final exista poca variedad. • Clasificación – n El número de clústeres o grupos a generar, en el algoritmo de Jenks Natural Breaks, existen métodos para encontrar el número óptimo de grupos, sin embargo, un acercamiento heurı́stico puede obtener buenos resultados también, especialmente por que permite tener en cuenta las tres dimensiones de la imagen resultante y sus interpretaciones. – p El número de grupos a generar mediante percenti- les, al elegir muchos grupos, la diferenciación entre estos se hace cada vez mas difusa. Dada la gran cantidad de hiperparámetros que se involucran en todo el flujo de datos, se nombraron los mas relevantes y aquellos con los que se experimentó. Con estos se deja una guı́a clara del procedimiento y la metodologı́a que se siguió en este trabajo para obtener una correcta clasificación de los árboles bronquiales y caminos. IV. RESULTADOS En la siguiente sección se presentan los resultados obtenidos, desde el preprocesamiento de los datos y búsqueda de puntos extremos mediante los distintos algoritmos utilizados. También se exhiben los resultados obtenidos mediante métodos o pasos intermedios que dan luces acerca de este trabajo, con la finalidad de ilustrar al lector y ası́ dar una imagen amplia y clara del proceso seguido para su posible replicabilidad. A. Pre procesamiento de los datos, encontrar puntos extremos Como ya se comento anteriormente, se trabajó con la imagen 1, para obtener los vóxeles pertenecientes a aquellas ramas más externas de los árboles bronquiales, se probó utilizando un mapa de distancia de Danielsson, el resultado dio bastante similar a lo esperado, sin embargo, al hacer la intersección entre este filtro de distancia y la imagen original se encontró que todos los vóxeles estaban negros, es decir, el filtro de distancia no era lo suficiente sensible para alcanzar a asignar un valor a aquellos vóxeles más cercanos a las partes Figura 4. Mapa de distancia de Danielsson. Figura 5. Operaciones de apertura y cierre usando una esfera. terminales del pulmón. En la imagen 4 se observa el resultado obtenido, el cual más adelante iba a servir como inspiración para la función de costo. Posteriormente se realizaron distintas operaciones de forma (ver imagen 5), o morphological operations, en palabras colo- quiales, la idea era disminuir la región y luego hacerla crecer, utilizando distintos radios en la esfera (elemento estructuran- te), con el objetivo de rellenar los vacı́os y perder las puntas o valores finales, que son las terminaciones de los bronquios. Sin embargo la forma tan compleja de los árboles bronquia- les, siendo esta una estructura completamente irregular hacı́a que los resultados obtenidos no fueran ideales, la clasificación y obtención de aquellos puntos extremos no se lograba. Mas adelante se probaron dos métodos de convoluciones, en donde se revisaba para cada vóxel un vecindario similar a los mostrados en la imagen 2 y posteriormente se realizaban conteos de los vóxeles alrededor, dejando únicamente aquellos que tuvieran menos vecinos. Este método obtuvo muy buenos resultados, ya que logro identificar adecuadamente algunos de esos vóxeles extremos, sin embargo se encontró un problema, no todos los bronquios terminaban en punta, y habı́a una pérdida de información muy grande, además, habı́a regiones irregulares que no eran puntos finales siendo identificadas como tal, la razón de esto seguramente era la forma en la que se obtuvo la imagen binaria original, por lo que este método Figura 6. Convolución sobre imagen, prueba 1. 8 MAESTRÍA EN INTELIGENCIA ARTIFICIAL, PONTIFICIA UNIVERSIDAD JAVERIANA, NOVIEMBRE 2021 Figura 7. Convolución sobre imagen, prueba 2. Figura 8. Resultado de función de distancia propia. fue descartado. En la imagen 6 y 7 se observa el resultado obtenido con mayor y menor exigencia en la convolución. Finalmente el método elegido para poder diferenciar aque- llos puntos más externos de los pulmones donde el árbol bronquial se hace más delgado, y aquellos donde se hace más grueso, fue una función de costo, que integraba una función de distancia con un conteo de vóxeles. En la figura 8 se observa con ayuda de una paleta de colores el resultado de esta función. Los vóxeles más alejados (de color amarillo) tenı́an un valor cercano a 0, mientras aquellos vóxeles más cercanos a la tráquea tenı́an valores altos. Durante todo el trabajo realizado mediante el tratamiento de datos y la búsqueda de aquellos puntos externos e interiores, se descubrió que los pulmones estaban desconectados en ciertas regiones, esto se puede deber principalmente por dos razones, la primera es que hay un error en la toma de los datos, lo cual es natural en este tipo de imágenes, la segunda es que hay un error o es una caracterı́stica del método con el que se obtuvo la imagen. Cualquiera que sea la razón, era un problema que habı́a que sortear a la hora de proponer un algoritmo o método que pudiera encontrar aquellos caminos dentro de los pulmones que son de mayor tránsito. En la imagen 9 se observa cómo hay una sección muy grande del pulmón desconectada, esta imagen se encontró utilizando crecimiento de regiones, adicionalmente a esta región desconectada, se encontraron otras de menor tamaño. B. Método no Supervisado, algoritmo de aprendizaje perezoso Habiendo encontrado aquellos puntos máximos y mı́nimos, utilizando la función de costo, restaba utilizar un algoritmo que Figura 9. Pulmón desconectado, obtenido mediante crecimiento de regiones. Figura 10. Caminos de Dijkstra sobre dos puntos de los pulmones.pudiera encontrar el mejor camino de un punto a otro, teniendo en cuenta además que ambos árboles bronquiales estaban desconectados entre ellos ya que la región de la tráquea estaba ausente. Todo esto considerando que este método deberı́a sortear el hecho de que existen regiones desconectadas por las cuales deberı́a transitar, encontrando siempre el mı́nimo camino para llegar hasta la parte más gruesa del árbol bron- quial. El mejor método que se encontró para lograr este objetivo fue el algoritmo de Dijkstra, además de su rápida implemen- tación y manejo de información en memoria, proponı́a solu- ciones bastante interesantes, ya que podı́a pasar por aquellas regiones desconectadas minimizando la distancia, de tal forma que atravesaba por el camino más cercano hasta conectarse con el resto del árbol. Sin embargo fue necesario pensar acerca de los movimientos permitidos en dicho algoritmo, teniendo en cuenta la existencia de posibles errores en la imagen, solamente se permitieron movimientos alrededor de los 6 vóxeles vecinos al punto central, esto aumentó los tiempos de cómputo pero dio cierta certeza acerca de los caminos tomados. En la figura 10 se observa un ejemplo de las rutas trazadas por este algoritmo, en ambos pulmones. JIMÉNEZ, D : CLASIFICACIÓN DE LOS ÁRBOLES BRONQUIALES Y CAMINOS MÁS TRANSITADOS UTILIZANDO MÉTODOS DE APRENDIZAJE DE MÁQUINA 9 Figura 11. Detalle de la figura R, obtenida mediante un algoritmo no supervisado. Después de encontrar el método adecuado, fue necesario utilizar un algoritmo que además de repetir este método para encontrar los mejores trayectos, estuviera motivado a tomar los caminos o rutas más transitadas y además tuviera en cuenta solo aquellos vóxeles pertenecientes a los bronquios finales o más delgados. Se realizaron bastantes pruebas modificando los diferentes parámetros que componen este algoritmo no supervisado, entre ellos están, el valor m , los valores del fondo de los pulmones, ya que estos debı́an tener un valor para que el algoritmo intentara evitarlos, y los valores utilizados en upgrade(M), ya que dependiendo de los valores, se podrı́a fomentar demasiado el uso de los mismos caminos, de tal forma que cada Dijkstra se comportara irregularmente. Finalmente, en la figura R 11 se observa en detalle el resultado de este algoritmo en una rama bronquial, permitiendo observar incluso algunas rutas, en este algoritmo final se ejecutaron un total de 227.047 algoritmos de Dijkstra. C. Clasificación de los caminos más recorridos La figura final obtenida se puede observar completamente en la parte superior izquierda de 12 y 13 de color gris, en esta imagen final, los vóxeles tienen distintos valores, aquellos con un menor valor pertenecı́an a los caminos más recorridos. Para hacer una clasificación de estos vóxeles se tuvieron dos acercamientos, el primero utilizando los percentiles de los datos, extrayendo la imagen sin el fondo, se tomaron los percentiles 20,40,60,80 y 100, haciendo una diferencia entre las imágenes para poder detallar cada uno de los grupos, de tal forma que la imagen 1, tuviera el 20 % de los datos comprendidos entre el percentil 0 y 20, la imagen 2 el 20 % comprendido entre el percentil 20 y 40, y ası́ sucesivamente, identificando 5 clústeres o grupos bien definidos, que se observan en la figura 12, empezando de izquierda a derecha y de arriba hacia abajo se observan: la figura R (original) en color gris, el grupo 1, 2, 3, 4 y 5, los 4 primeros grupos Figura 12. Clasificación usando percentiles. tienen la imagen R como referencia, y en blanco se observa el respectivo valor del clúster, en el 5 se eliminó la imagen de referencia para una mejor visualización. Una forma de interpretar estos resultados serı́a la siguiente: entre menor sea el clúster, más recorridos fueron estos ca- minos, es decir, la imagen en blanco en la esquina superior derecha (clúster 1) fue aquella con los caminos más recorridos, se observa por ejemplo, una prevalencia en las rutas interiores. Ası́ mismo, en el grupo 5 se observa que se incluyen los datos más distantes o pertenecientes a ramas más alejadas, ya que por acá no pasaron muchos caminos, como era de esperarse. La segunda forma de clasificación se realizó utilizando el algoritmo de Jenks natural breaks, este método funciona igual que un k medias pero en una dimensión, se realizó varias veces, obteniendo los mejores resultados utilizando 5 grupos, de igual forma en el clúster 1, esquina superior derecha, se observan los caminos más transitados en los pulmones, se observa que el camino izquierdo va de la parte superior a la inferior, mientras que el camino derecho de la inferior a la superior con mayor profundidad, lo cual resalta la asimetrı́a de los pulmones. En los grupos dos y tres se observan diversos caminos que transitan a través de los pulmones casi que de un extremo al otro. Por último, en el grupo 4 se observa como la mayorı́a de la imagen se clasifica acá, es decir que todos esos valores son bastante similares entre ellos, y comparten importancia. En el grupo 5, se observan muy pocos datos y son puntuales, la explicación de esto es que eran aquellos vóxeles menos concurridos, no presentaban mayor importancia, y se grafica solamente el recorrido realizado hasta llegar a un camino principal. 10 MAESTRÍA EN INTELIGENCIA ARTIFICIAL, PONTIFICIA UNIVERSIDAD JAVERIANA, NOVIEMBRE 2021 Figura 13. Clasificación usando Jenks Natural Breaks. Los resultados obtenidos a la hora de clasificar los caminos más recorridos dentro de los pulmones son bastante interesan- tes, valen la pena estudiarse más a profundidad y sin lugar a dudas analizar el porqué de estos resultados a fondo, con un equipo médico y neumólogos. Desde la parte técnica, del aprendizaje de máquina y la ingenierı́a, los resultados son prometedores y dejan abierta una posibilidad de estudio y análisis probando diferentes variaciones de estos métodos no supervisados. V. CONCLUSIONES El presente trabajo expone el proceso de más de un año de investigación, el resultado es una clasificación de los árboles bronquiales y los caminos más transitados utilizando métodos de aprendizaje de máquina y algoritmos no supervisados, apoyándose en el procesamiento de imágenes médicas. Con las nuevas herramientas, el creciente desarrollo de algoritmos, implementaciones y distintas técnicas, son nece- sarios nuevos acercamientos a problemas clásicos, como es la segmentación y clasificación de los árboles bronquiales. Este trabajo toma una imagen binaria ya segmentada, podrı́a ser obtenida mediante distintos métodos como crecimiento de regiones o morfologı́as matemáticas o redes neuronales, y a partir de ésta desarrolla todo un estudio pertinente utilizando distintas técnicas matemáticas y de procesamiento de imágenes en 3d, que iluminan el camino hacia el estudio y entendimiento de los árboles bronquiales. El diagrama de flujo propuesto, junto con el algoritmo propio proveen algunas ventajas a la hora de clasificar caminos dentro de los árboles bronquiales, entre esas ventajas, la principal es que es capaz de operar a partir de una imagen binaria obtenida a partir de distintos métodos, ya sea por crecimiento de regiones, morfologı́as matemáticas u otro, el método presentado es robusto y sortea varios problemas, como desconexiones y formas bastante complejas. Entre otras ventajas, se destacan: que es un método homologable y puede ser utilizado en distintos órganos, por ejemplo en el cerebro, un buen rendimiento, a pesar de ejecutarse en serie, el método propuesto no toma mucho tiempo, y aunque no es viable utilizarlo en tiempo real, no es necesario mas de 6 horas de cómputo para obtener los resultados. Entre algunas de las desventajas encontradas, se observa que es necesario un conocimiento de la imagen previa a trabajar, y se depende en gran medida de obtener una imagen binaria adecuada, por otro lado, los métodos propuestos fueron presentadosen un pulmón con la tráquea removida, en caso de querer utilizarse sobre un árbol bronquial completamente conectado, algunas modificaciones al algoritmo y simplifica- ciones deberı́an hacerse. Las primeras conclusiones obtenidas mediante estos proce- sos fueron acerca de la forma de los pulmones y sus carac- terı́sticas, las complejas bifurcaciones de estos y variabilidad de cada rama, tanto en largo como en ancho hacen que el trabajo se torne complejo, mucho más de lo que se espera al resolver un laberinto común y corriente, por ejemplo. La utilización de estos métodos clásicos dio luces para el posterior desarrollo del algoritmo no supervisado y a pesar de que algunas conclusiones se pueden derivar del método que se utilizó para segmentar la imagen, no dejan de ser relevantes, entre los descubrimientos más interesantes se destacan: • La desconexión en zonas de los árboles bronquiales. Probablemente debido a errores en la toma de los datos o en el método de binarización del árbol bronquial. • La cantidad de caminos y bifurcaciones, la cual es casi imposible de clasificar a mano. • Las diferencias entre las ramas, en donde un elemento estructurante esférico no puede operar con claridad. De nuevo, una caracterı́stica que se puede asociar al método utilizado para obtener la imagen binaria de los bronquios. • La densidad de los pulmones, en relación con el espacio que ocupan, dejan pocos espacios vacı́os y la cantidad de detalle es impresionante, a pesar de que las herramientas de toma de información siguen siendo imperfectas. Prosiguiendo con el algoritmo utilizado para encontrar los caminos más recorridos, el resultado es prometedor, principal- mente por que se desarrolló un algoritmo propio que tuviera en cuenta todas las caracterı́sticas descubiertas anteriormente, y además, suministrara información acerca de los caminos más recorridos, sin lugar a dudas, deja abierta una nueva forma de operar y un método de análisis no supervisado, perezoso o vago, para encontrar las rutas más importantes dependiendo del pulmón en cuestión. Dicho algoritmo es no supervisado ya que se trabajó con datos no etiquetados y sin conocimientos previos de los caminos más transitados, y perezoso, ya que es necesario que observe todos los datos una y otra vez, JIMÉNEZ, D : CLASIFICACIÓN DE LOS ÁRBOLES BRONQUIALES Y CAMINOS MÁS TRANSITADOS UTILIZANDO MÉTODOS DE APRENDIZAJE DE MÁQUINA 11 siendo esto una ventaja ya que logra una aproximación local al problema. Sobre el método utilizado para la clasificación de dichos datos y caminos en distintos grupos, existen diversas técnicas útiles, sin embargo, se presentaron dos acercamientos bastante interesantes que remarcan la importancia de utilizar soluciones sustancialmente distintas y no hacer clústeres arbitrariamente, como es el método de los percentiles, en este método, se observan algunas particularidades en las imágenes, pero no se pueden detallar perfectamente cuales con aquellos caminos más recorridos, mientras que utilizando un algoritmo de clasi- ficación no supervisado como Jenks natural breaks se detallan claramente cuales son aquellas rutas, en qué se diferencian y las similitudes que hay entre estas, sobre los resultados finales hay algunas conclusiones importantes. • Es importante desarrollar un método que pueda trabajar aún sabiendo las caracterı́sticas de los datos, por ejemplo, la desconexión. • Las variaciones en los parámetros pueden cambiar drásti- camente la solución obtenida, es necesario un ejercicio consciente dependiendo de los datos a utilizar. • Dada que no hay una única solución óptima a este proble- ma, la reproducibilidad idéntica no se puede lograr, sin embargo el método propuesto permite obtener resultado similares y estables. Queda abierta una puerta para estudiar más a fondo el presente trabajo desde la inteligencia artificial y la ingenierı́a, en conjunto con otros métodos. Serı́a muy interesante probar estos resultados con un algoritmo supervisado de detección de enfermedades o zonas afectadas en los pulmones. Desde la medicina, es muy importante una retroalimentación y un análisis profundo de los resultados obtenidos para ası́ incluso poder llegar a proponer una nueva clasificación de las ramas bronquiales y caminos más recorridos. REFERENCIAS [1] A. C. Society, 2021. [2] H. Shaziya, K. Shyamala, and R. Zaheer, “Automatic lung segmentation on thoracic ct scans using u-net convolutional network,” in 2018 Inter- national Conference on Communication and Signal Processing (ICCSP), pp. 0643–0647, 2018. [3] C. Fetita, F. Preteux, C. Beigelman-Aubry, and P. Grenier, “Pulmonary airways: 3-d reconstruction from multislice ct and clinical investigation,” IEEE Transactions on Medical Imaging, vol. 23, no. 11, pp. 1353–1364, 2004. [4] A. Fabijacska, “The influence of preprocessing of ct images on airway tree segmentation using 3d region growing,” in 2009 5th International Conference on Perspective Technologies and Methods in MEMS Design, pp. 85–88, 2009. [5] O. Merveille, H. Talbot, L. Najman, and N. Passat, “Curvilinear structure analysis by ranking the orientation responses of path operators,” IEEE transactions on pattern analysis and machine intelligence, vol. 40, no. 2, pp. 304–317, 2017. [6] M. Fan and T. Lee, “Variants of seeded region growing,” IET Image Processing, vol. 9, 06 2015. [7] J. Soltani-Nabipour, A. Khorshidi, and B. Noorian, “Lung tumor seg- mentation using improved region growing algorithm,” Nuclear Enginee- ring and Technology, vol. 52, no. 10, pp. 2313–2319, 2020. [8] A. El Hassani, B. A. Skourt, and A. Majda, “Efficient lung ct image segmentation using mathematical morphology and the region growing algorithm,” in 2019 International Conference on Intelligent Systems and Advanced Computing Sciences (ISACS), pp. 1–6, 2019. [9] A. F. Frangi, W. J. Niessen, K. L. Vincken, and M. A. Viergever, “Multiscale vessel enhancement filtering,” in Medical Image Compu- ting and Computer-Assisted Intervention — MICCAI’98 (W. M. Wells, A. Colchester, and S. Delp, eds.), (Berlin, Heidelberg), pp. 130–137, Springer Berlin Heidelberg, 1998. [10] O. Merveille, H. Talbot, L. Najman, and N. Passat, “Tubular structure filtering by ranking orientation responses of path operators,” in Computer Vision – ECCV 2014 (D. Fleet, T. Pajdla, B. Schiele, and T. Tuytelaars, eds.), (Cham), pp. 203–218, Springer International Publishing, 2014. [11] T. T. Kockelkorn, E. M. van Rikxoort, J. C. Grutters, and B. van Ginneken, “Interactive lung segmentation in ct scans with severe ab- normalities,” in 2010 IEEE International Symposium on Biomedical Imaging: From Nano to Macro, pp. 564–567, 2010. [12] E. Hosseini-Asl, J. M. Zurada, G. Gimel’farb, and A. El-Baz, “3- d lung segmentation by incremental constrained nonnegative matrix factorization,” IEEE Transactions on Biomedical Engineering, vol. 63, no. 5, pp. 952–963, 2016. [13] Y. Özen and C. Köse, “Segmentation of lung ct images with random walk algorithm,” in 2014 22nd Signal Processing and Communications Applications Conference (SIU), pp. 2206–2208, 2014. [14] I. F. Nizami, S. Ul Hasan, and I. T. Javed, “A wavelet frames + k-means based automatic method for lung area segmentation in multiple slices of ct scan,” in 17th IEEE International Multi Topic Conference 2014, pp. 245–248, 2014. [15] L. Verscheure, L. Peyrodie, N. Makni, N. Betrouni, S. Maouche, and M. Vermandel, “Dijkstra’s algorithm applied to 3d skeletonization of the brain vascular tree: Evaluation and application to symbolic,” Conference proceedings : ... Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE Engineering in Medicine and Biology Society. Conference, vol. 2010, pp. 3081–4, 08 2010. [16] H. J. Johnson, M. McCormick, L. Ibáñez, and T. I. S. Consortium, The ITK Software Guide. Kitware, Inc., third ed., 2013. In press. [17] M. Brett et al., “Nibabel,” Python. [18] W. Silversmith, “dijkstra3d,” Python. [19]A. Javaid, “Understanding dijkstra algorithm,” SSRN Electronic Journal, 01 2013. [20] M. Viry, “jenkspy0.2.0,” Python. [21] K. Sabo, R. Scitovski, and I. Vazler, “One-dimensional center-based l 1-clustering method,” Optimization Letters, vol. 7, no. 1, pp. 5–22, 2013. [22] H. Wang and M. Song, “Ckmeans. 1d. dp: optimal k-means clustering in one dimension by dynamic programming,” The R journal, vol. 3, no. 2, p. 29, 2011. Daniel Iván Jiménez Prieto Bogotá, Colombia. Pregrado en Estadı́stica (2019), Departamento de Ciencias, Universidad Nacional de Colombia. Es- tudiante de la Maestrı́a en Inteligencia Artificial (2021), Departamento de Ingenierı́a, Pontificia Universidad Javeriana. Introducción Marco Teórico Estado del Arte Recopilación de información Tratamiento de los datos Algoritmos utilizados Metodología Pre procesamiento de los datos, encontrar puntos extremos Método no Supervisado, algoritmo de aprendizaje perezoso Clasificación de los caminos más recorridos Resultados Pre procesamiento de los datos, encontrar puntos extremos Método no Supervisado, algoritmo de aprendizaje perezoso Clasificación de los caminos más recorridos Conclusiones Referencias Biographies Daniel Iván Jiménez Prieto
Compartir