VIVE.
Revista de Investigación en Salud
https://revistavive.org
Volumen 4 No. 12 septiembre-diciembre 2021
https://doi.org/10.33996/revistavive.v4i12.119
ISSN: 2664-3243
pp. 624 – 633
Detección
de la tuberculosis con algoritmos de Deep Learning en
imágenes de radiografías del tórax
Tuberculosis detection with Deep Learning algorithms
in chest X-ray images
Detecção de
tuberculose com algoritmos de aprendizagem profunda em imagens de raio-X do
tórax
Juan Carlos Valero
Gómez
https://orcid.org/0000-0002–7077–7531
Universidad Nacional
de Moquegua, Ilo – Perú
Alex Peter Zúñiga
Incalla
https://orcid.org/0000-0003–4734–2262
Universidad Nacional
de Moquegua, Ilo – Perú
Juan Carlos Clares
Perca
https://orcid.org/0000-0001–5146–2879
Universidad Nacional
de Moquegua, Ilo – Perú
Recibido 13 de octubre 2021 / Arbitrado y aceptado 16 de
noviembre 2021 / Publicado 30 de diciembre 2021
RESUMEN
Se estima que en 2019 murieron
alrededor de 1,4 millones de personas infectadas por tuberculosis, gran parte
de ellos en países en desarrollo. Si la tuberculosis se hubiera diagnosticado
oportunamente se habría evitado la muerte de las personas infectadas. Uno de
los métodos de detección de tuberculosis más relevante es el análisis de
radiografías del tórax; sin embargo, contar con profesionales altamente
capacitados para el diagnóstico de la tuberculosis en todos los centros de
salud es imposible en los países emergentes, este es uno de los principales
motivos de que este método no sea ampliamente usado. En las últimas décadas las
redes neuronales han tenido un papel muy relevante en la solución de problemas
de la sociedad y en especial en el sector salud. Se ha empleado tres algoritmos
de aprendizaje profundo reconocidos en el desarrollo de visión computacional
que son VGG19, MobileNet e InceptionV3, se ha logrado obtener resultados muy
auspiciosos para la detección de la tuberculosis. Caso especial ha sido
MobileNet que ha destacado entre las demás, dando resultados importantes en las
diferentes métricas de evaluación empleadas. Además, MobileNet cuenta con una
arquitectura menos compleja y los pesos obtenidos después del entrenamiento son
muy menores en comparación de los otros dos algoritmos. Se concluye que
MobileNet es el algoritmo de Deep Learning más eficiente a comparación de VGG19
e InceptionV3, cuenta con mejor precisión para la detección de la tuberculosis
y; el costo computación y tiempo de procesamiento es significativamente menor.
Palabras
clave: Redes
neuronales; aprendizaje profundo; tuberculosis; radiografías
ABSTRACT
It is estimated that around 1.4 million people infected with
tuberculosis died in 2019, most of them in developing countries. If
tuberculosis had been diagnosed in time, the death of infected people would
have been prevented. One of the most relevant tuberculosis detection methods is
the analysis of chest radiographs; However, having highly trained professionals
for the diagnosis of tuberculosis in all health centers is impossible in
emerging countries, this is one of the main reasons why this method is not
widely used. In recent decades, neural networks have played a very relevant
role in solving problems in society and especially in the health sector. Three
recognized Deep Learning algorithms have been used in the development of
computational vision that are VGG19, MobileNet and InceptionV3, it has been
possible to obtain very auspicious results for the detection of tuberculosis.
MobileNet has been a special case, which has stood out among the others, giving
important results in the different evaluation metrics used. In addition,
MobileNet has a less complex architecture and the weights obtained after
training are very less compared to the other two algorithms. It is concluded
that MobileNet is the most efficient Deep Learning algorithm compared to VGG19
and InceptionV3, it has better precision for the detection of tuberculosis and
the computational cost and processing time is significantly lower.
Keywords:
Neural networks; Deep Learning; tuberculosis; x-ray
RESUMO
Estima-se que cerca de
1,4 milhão de pessoas infectadas com tuberculose morreram em 2019, a maioria
delas em países em desenvolvimento. Se a tuberculose tivesse sido diagnosticada
a tempo, a morte de pessoas infectadas teria sido evitada. Um dos métodos de
detecção de tuberculose mais relevantes é a análise de radiografias de tórax;
No entanto, ter profissionais altamente capacitados para o diagnóstico da
tuberculose em todos os centros de saúde é impossível nos países emergentes,
esse é um dos principais motivos pelo qual esse método não é amplamente
utilizado. Nas últimas décadas, as redes neurais têm desempenhado um papel
muito relevante na resolução de problemas na sociedade e principalmente no
setor da saúde. Três algoritmos de aprendizado profundo reconhecidos foram
usados no desenvolvimento da visão computacional que são VGG19, MobileNet e
InceptionV3, sendo possível obter resultados muito auspiciosos para a detecção
da tuberculose. A MobileNet tem sido um caso especial, que tem se destacado
entre os demais, apresentando resultados importantes nas diferentes métricas de
avaliação utilizadas. Além disso, o MobileNet possui uma arquitetura menos
complexa e os pesos obtidos após o treinamento são muito menores em comparação
com os outros dois algoritmos. Conclui-se que o MobileNet é o algoritmo de
aprendizado profundo mais eficiente em comparação ao VGG19 e ao InceptionV3,
possui melhor precisão para detecção de tuberculose e; o custo de computação e
o tempo de processamento são significativamente menores.
Palavras-Chave: redes neurais; aprendizagem profunda;
tuberculose; raio X
INTRODUCCIÓN
La tuberculosis es una
enfermedad que afecta a gran parte del mundo, y con mayor grado de incidencias
en países emergentes (1). La tuberculosis es una enfermedad infecciosa
difícilmente de detectar, se debe realizar varias pruebas para obtener un
diagnóstico certero. Las radiografías del tórax es una de las herramientas
principales para la detección de la tuberculosis, la cual debe ir acompañada
por exámenes biológicos hasta genéticos antes de que se pueda hacer un
diagnóstico real; de este modo poder determinar el tratamiento correspondiente
al paciente para su recuperación (2). La Organización Mundial de la Salud (OMS)
recomiendan a las entidades de salud de todos los países a realizar
diagnósticos tempranos y oportunos para tratar a los pacientes, para tal fin
aconsejan la utilización de las radiografías del tórax como una herramienta
fundamental en la detección de la tuberculosis en una primera instancia, de
este modo se puede tratar oportunamente al paciente (3). No obstante, el
personal médico de países en desarrollo, en los centros de salud en las áreas
rurales no cuentan con el personal especializado o no tienen la experiencia
necesaria para interpretar los patrones característicos de enfermedades
pulmonares en una imagen de radiografía del tórax, esto puede conllevar a un
diagnóstico erróneo y por consecuencia a un tratamiento tardío o equivocado en
perjuicio en la salud del paciente (4).
Los algoritmos de Deep
Learning en especial los desarrollados a base de redes neuronales
convolucionales son los más idóneos para la detección de enfermedades a través
de imágenes microscópicas, radiográficas, tomográficas, entre otros (5-7). Las
redes neuronales convolucionales ha demostrado un enorme potencial en la
telemedicina, en la última década recién se ha podido aprovechar y desarrollar
redes neuronales complejas, debido a que no se contaba con la capacidad
computacional para poder desplegar algoritmos con costo computacional muy alto;
y que la tecnología de hardware de décadas pasadas no podía afrontar. Esto se
debe a que los algoritmos de Deep Learning necesitan ser entrenados con grandes
cantidades de datos, en la telemedicina se utiliza generalmente imágenes, cada
imagen cuenta con miles de pixeles y la distribución de estos pixeles denotan
un patrón propio deuna determinada clase, cada pixel toma un valor que se
procesará a través de matrices o se convierten en vectores para poder llevar a
cabo los cálculos computacionales según la arquitectura de los algoritmos (8).
La detección de la
tuberculosis asistida por sistemas informáticos como CAD4TB, semanticMD y
Qure.ai son algunos de los ejemplos de software de detección asistida por
computadora (CAD) que están disponibles en el mercado. Si bien obtienen
resultados positivos, estos no superan a un profesional médico experto, esto
debido a que no cuentan con algoritmos complejos de Deep Learning para obtener
mejores resultados (9).
En ese sentido, en el
presente artículo se plantea desarrollar tres algoritmos de Deep Learning que
puedan superar las expectativas de los expertos, para ellos se empleará
algoritmos pre-entrenados y se importará los pesos de ImageNet (10) para lograr
un mejor desempeño. Los resultados serán evaluados a través de métricas que
determinarán si los algoritmos propuestos tienen resultados óptimos.
MATERIALES
Y MÉTODOS
Dataset
En el presente estudio se
trabajó con dos conjuntos de datos publicados en la comunidad de ciencias de
datos KAGGLE por Rahman et al. (11) y Jaeger et al. (12), al combinar los dos
conjuntos de datos dan un total de 7662 imágenes de radiografías del tórax de
pacientes anonimizados, el objetivo de unificar los dos datasets es de tener
una mayor variabilidad en los datos, al momento de entrenar los algoritmos
puedan generalizar adecuadamente ante diferentes fuentes de imágenes en la
etapa de validación y test. Se realizó un análisis de cada imagen para
descartar las que contaban con ruido; es decir, no correspondía a una de las
clases, eran ilegibles, tenían textos o cuadros blancos o negros sobrepuestos,
mal posicionamiento entre otros aspectos que hacían que estas imágenes no cumplieran
las características de cada clase del dataset. Después de la depuración de los
datos inválidos que podrían generar ruido al momento de entrenar los
algoritmos, quedó un dataset de un total de 5748 imágenes, 2905 imágenes de
pacientes sanos y 2843 imágenes de pacientes con tuberculosis. El dataset se
dividió en dos conjuntos, el conjunto de entrenamiento con el 80% y el conjunto
de test con el 20% del total. Del total de los datos del entrenamiento se
divido nuevamente en datos para entrenar y datos para la validación, en este
caso del total de los datos de entrenamiento un 20% se destinará para la
validación cruzada en la etapa de entrenamiento. Se puede ver una muestra en la
Figura 1.
Figura 1. Imágenes
de paciente sano y paciente con tuberculosis.
Se emplearon tres
algoritmos de Deep Learning para el estudio, InceptionV3 (13), MobileNet (14) y
VGG19 (15). Para hacer uso de los algoritmos propuestos se utilizó la librería
de Tensorflow y Keras. Para recortar los tiempos de entrenamiento de los
algoritmos y una mejor eficacia de los mismo se utilizó la técnica de Transfer
Learning con ImageNet. El hecho de usar la misma arquitectura con los mismos parámetros
que el modelo preentrenado, otorgará a los algoritmos la capacidad de reconocer
bastantes clases desde el comienzo, lo que además se traducirá en un tiempo de
entrenamiento muy reducido. Para tener la capacidad de computo necesaria para
ejecutar los algoritmos InceptionV3, MobileNet y VGG19 se empleó la plataforma
de Google Colab que proporciona el uso de GPU’s necesarios para la
experimentación.
A la arquitectura del
algoritmo VGG19 se ha adicionado una capa pooling de 4x4, se vectoriza los
datos con la técnica flatten, se agregaron cuatro capas dense de 512, 256, 128
y 64 de valor de salida y cada una con activación relu; se aplica un
BatchNormalization, finalmente se agrega una capa dense de 2 con una activación
softmax para la clasificación.
A la arquitectura del
algoritmo MobileNet se ha adicionado una capa pooling de 4x4, se vectoriza los
datos con la técnica flatten, se agregaron cuatro capas dense de 1024, 512,
256, 128, 64 y 32 de valor de salida y cada una con activación relu; se aplica
un BatchNormalization, finalmente se agrega una capa dense de 2 con una
activación softmax para la clasificación.
A la arquitectura del
algoritmo InceptionV3 se ha adicionado una capa pooling de 4x4, se vectoriza
los datos con la técnica flatten, se agregaron cuatro capas dense de 1024, 512,
256, 128, 64 y 32 de valor de salida y cada una con activación relu; se aplica
un BatchNormalization, finalmente se agrega una capa dense de 2 con una
activación softmax para la clasificación.
Los hiperparametros
empleados para los tres algoritmos fueron epochs = 100, batch_ size = 20 y
learning_rate a razón de 0.001. Esta configuración permitió obtener el mejor
desempeño que pueden ofrecer InceptionV3, MobileNet y VGG19.
RESULTADOS
Y DISCUSIÓN
En la etapa de
entrenamiento se puede observar el desempeño de cada algoritmo empleado para el
presente estudio, se logró evaluar a cada algoritmo a través de las métricas de
precisión (accuracy) y la perdida de entropía cruzada (cross entropy loss). En
el caso de VGG19 se visualiza que en las primeras 20 épocas sufre de
sobreajuste (overfiting), pero al pasar más épocas se corrige y muestra una
tendencia estable, ver Figura 2. Para MobileNet se visualiza que desde las
primeras épocas obtiene buenos resultados sin caer en el sobreajuste, con pocas
variaciones y manteniéndose constante, ver Figura 3. En el caso de InceptionV3
al igual que MobileNet, se obtiene buenos resultados desde el inicio, no
obstante, los resultados de entrenamiento y validación son más distantes en
comparación de los resultados de VGG19 y MobileNet, ver Figura 4.
Figura 2. Evaluación
del desempeño en la etapa de entrenamiento y validación de las métricas de
precisión y la entropía cruzada para VGG19.
Figura 3. Evaluación
del desempeño en la etapa de entrenamiento y validación de las métricas de
precisión y la entropía cruzada para MobileNet.
Figura 4. Evaluación
del desempeño en la etapa de entrenamiento y validación de las métricas de
precisión y la entropía cruzada para InceptionV3.
Para la etapa de test
se separó 1140 imágenes, a este grupo de datos se aplicó el método predict que
otorgó una estimación para cada clase, la estimación estará en el rango de 0 a
1, posteriormente se aplicará el método argmax para que devuelva la clase con
mayor estimación. De este modo, solo obtiene 0 (normal) y 1 (tuberculosis).
Figura 5. Matriz de
Confusión para los resultados con VGG19, donde 0 = Normal y 1 = Tuberculosis
En la Figura 5, se
visualiza los resultados de la Matriz de Confusión para VGG19, acierta
correctamente 588 y 523 veces para Normal y Tuberculosis respectivamente. No
obstante, también obtiene 17 falsos positivos y 12 falsos negativos; es decir,
17 veces predijo que era Normal cuando realmente era tuberculosis, y 12 veces
predijo que era tuberculosis cuando era Normal.
Figura 6. Matriz de
Confusión para los resultados con MobileNet, donde 0 = Normal y 1 =
Tuberculosis.
En la Figura 6, se visualiza
los resultados de la Matriz de Confusión para MobileNet, acierta correctamente
565 y 551 veces para Normal y Tuberculosis respectivamente. No obstante,
también obtiene 17 falsos positivos y 7 falsos negativos; es decir, 17 veces
predijo que era Normal cuando realmente era tuberculosis, y 7 veces predijo que
era tuberculosis cuando era Normal.
Figura 7. Matriz de
Confusión para los resultados con InceptionV3, donde 0 = Normal y 1 =
Tuberculosis
En la Figura 7, se
visualiza los resultados de la Matriz de Confusión para InceptionV3, acierta
correctamente 540 y 559 veces para Normal y Tuberculosis respectivamente. No
obstante, también obtiene 29 falsos positivos y 12 falsos negativos; es decir,
29 veces predijo que era Normal cuando realmente era tuberculosis, y 12 veces
predijo que era tuberculosis cuando era Normal. A partir de la Matriz de
Confusión podemos calcular las métricas de accuracy, precisión, recall y
F1-score de cada algoritmo empleado para el presente estudio. Los resultados
podemos verlos en la Tabla 1, cada algoritmo ha demostrado un alto desempeño,
pero MobileNet ha obtenido mejores resultados para cada métrica, le sigue VGG19
que por poco margen dista de los resultados obtenidos por MobileNet, el caso de
InceptionV3 obtuvo resultados por debajo de MobileNet y VGG19, esto debido a
que sufrió de un sobreajuste más pronunciado en la etapa de entrenamiento como
se puede visualizar en la Figura 4.
Tabla 1. Métricas de
evaluación para cada algoritmo.
Se presentaron tres
algoritmos diferentes pre-entrenados para la aplicación en la detección de
tuberculosis. VGG19 obtuvo un 97.4% en la métrica de accuracy, 97.5% en la
métrica de precision, 97.5% en la métrica de recall, 97.5% en la métrica de
F1-score. MobileNet obtuvo un 97.8% en la métrica de accuracy, 98.0% en la
métrica de precision, 98.0% en la métrica de recall, 98.0% en la métrica de
F1-score. Por último, InceptionV3 obtuvo un 96.4% en la métrica de accuracy,
96.5% en la métrica de precision, 96.5% en la métrica de recall, 96.0% en la
métrica de F1- score. De los resultados se puede concluir que MobileNet ha
demostrado un mejor desempeño ante VGG19 e InceptionV3, en las diferentes
métricas empleadas. Además, se guardó los pesos (weights) obtenidos después de
entrenar cada algoritmo, de este modo se puede evaluar la complejidad y el
costo computacional que conlleva. Ver Tabla 2.
Tabla 2. Parámetros
y Weights de cada algoritmo.
MobileNet cuenta con
una menor cantidad de parámetros y peso (weights) en comparación a InceptionV3 y
VGG19. Los resultados demuestran en relación al costo computacional es
relativamente bajo con MobileNet, además de contar con mejores resultados en
las métricas de evaluación; y su complejidad es muy inferior a los otros
algoritmos con 8.1 millones de parámetros y un peso de 62 MB, conllevando a la
utilización de menos recursos computacionales y la reducción en los tiempos de
ejecución del algoritmo. Los resultados indican que MobileNet cuenta con un
nivel muy alto de eficiencia en relación a VGG19 e InceptionV3.
CONCLUSIONES
En este trabajo, se ha
demostrado que los algoritmos de Deep Learning pueden ser una herramienta
importante para la detección de la tuberculosis, otorgando al personal sanitario
un nivel de precisión muy alto del 97.80% en el caso del algoritmo de Mobilnet
para clasificar si el paciente padece de tuberculosis o no, el médico de
acuerdo al cuadro clínico del paciente y los resultados de la clasificación del
algoritmo podrá realizar un diagnóstico certero, determinando si el paciente
padece de tuberculosis, de este modo se podrá dar un oportuno tratamiento y
evitar que el paciente llegue a un estadio de la enfermedad avanzado con una
posible mortandad.
REFERENCIAS
BIBLIOGRÁFICAS
1.
Taye H, Alemu K, Mihret A, Wood JLN, Shkedy Z, Berg S, et al. Factors
associated with localization of tuberculosis disease among patients in a high
burden country: A health facility-based comparative study in Ethiopia. J Clin
Tuberc Other Mycobact Dis. 2021;23(March):1–6.
2.
National Institute for Research in Tuberculosis, Tripathy S. Tuberculosis
research conducted over the years at the ICMR-National Institute for Research
in Tuberculosis (ICMRNIRT). Indian J Tuberc [Internet]. 2020;67(4):S7– 15.
Available from: https://doi.org/10.1016/j.
ijtb.2020.12.001
3.
World Health Organization. Chest Radiography in Tuberculosis. World Heal Organ. 2016;1–44.
4. Huicho L, Canseco FD, Lema C, Jaime
Miranda J, Lescano AG. Incentivos para atraer y retener personal de salud de
zonas rurales del Perú: Un estudio cualitativo. Cad Saude
Publica. 2012;28(4):729–39.
5.
Agarwala S, Kale M, Kumar D, Swaroop R, Kumar A, Kumar Dhara A, et al. Deep
Learning for screening of interstitial lung disease patterns in high-resolution
CT images. Clin Radiol [Internet]. 2020;75(6):481.e1-481.e8. Available from:
https://doi.org/10.1016/j. crad.2020.01.010
6.
Kerkech M, Hafiane A, Canals R. Vine disease detection in UAV multispectral
images using optimized image registration and Deep Learning segmentation
approach. Comput Electron Agric. 2020;174(April)
7.
Xiao W, Huang X, Wang JH, Lin DR, Zhu Y, Chen C, et al. Screening and
identifying hepatobiliary diseases through Deep Learning using ocular images: a
prospective, multicentre study. Lancet Digit Heal [Internet]. 2021;3(2):e88–97.
Available from: http://dx.doi. org/10.1016/S2589-7500(20)30288-0
8.
Thompson NC, Greenewald K, Lee K, Manso GF. The Computational Limits of Deep
Learning. arXiv. 2020
9.
Khan FA, Majidulla A, Tavaziva G, Nazish A, Abidi SK, Benedetti A, et al. Chest
x-ray analysis with Deep Learning-based software as a triage test for pulmonary
tuberculosis: a prospective study of diagnostic accuracy for cultureconfirmed
disease. Lancet Digit Heal [Internet]. 2020;2(11):e573–81. Available from:
http:// dx.doi.org/10.1016/S2589-7500(20)30221-1
10.
Deng J, Russakovsky O, Krause J, Bernstein M, Berg A, Fei-fei L. Scalable
Multilabel Annotation. 2014;1–4
11.
Rahman T, Khandakar A, Kadir MA, Islam KR, Islam KF, Mazhar R, et al. Reliable
tuberculosis detection using chest X-ray with Deep Learning, segmentation and
visualization. IEEE Access. 2020;8:191586–601
12. Jaeger
S, Candemir S, Antani S, Wáng Y-XJ, Lu P-X, Thoma G. Two public chest X-ray
datasets for computer-aided screening of pulmonary diseases. Quant Imaging Med
Surg. 2014;4(6):475–7
13.
Szegedy C, Vanhoucke V, Ioffe S, Shlens J, Wojna Z. Rethinking the Inception
Architecture for Computer Vision. Proc IEEE Comput Soc Conf Comput Vis Pattern
Recognit. 2016;2016-Decem:2818–26
14.
Howard A, Wang W, Chu G, Chen L, Chen B, Tan M. Searching for MobileNetV3
Accuracy vs MADDs vs model size. Int Conf Comput Vis. 2019;1314–24
15.
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image
recognition. 3rd Int Conf
Learn Represent ICLR 2015 - Conf Track Proc. 2015;1–14
Conflicto
de intereses: Ninguno
declarado por los autores.
Financiación: Este estudio es autofinanciado por
los autores.
Agradecimiento: Ninguno manifestado por los autores
ACERCA
DE LOS AUTORES
Juan
Carlos Valero Gómez.
Ingeniero de Sistemas e Informática de profesión. Experiencia en ciencias de
datos, visión computacional, administración de sistemas operativos Linux,
desarrollador de aplicaciones web en backend y frondend. Universidad Nacional
de Moquegua, Perú.
Alex
Peter Zúñiga Incalla.
Ingeniero de Sistemas. Maestro en Ciencias de la Educación con mención en
Tecnologías de la Información e Informática Educativa. Docente de la Escuela
Profesional de Ingeniería de Sistemas e Informática de la Universidad Nacional
de Moquegua, Perú.
Juan
Carlos Clares Perca.
Ingeniero en Informática y Sistemas. Magister en Administración de la
Educación. Docente en la Universidad Nacional de Moquegua, Perú.