Logo Studenta

2880

¡Este material tiene más páginas!

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

Continuar navegando