Você está na página 1de 13

Trabalho de Conclusão de Curso apresentado para obtenção do título

de especialista em Data Science e Analytics – 2022

Uso de Deep Learning para detecção de pneumonia em imagens de raio-x de tórax

João Victor Silva Menezes¹*; Gabrielle Maria Romeiro Lombardi2


1 Desenvolvedor de software. Rua Vereador José Gomes de Morais Neto – Pq. Residencial Cocaia; 04849-030
São Paulo, SP, Brasil
2 PECEGE. Doutora em Genética e Melhoramento de Plantas. Rua Alexandre Herculano, 120 Vila Monteiro;

13.418-445 Piracicaba, São Paulo, Brasil


*autor correspondente: jvsm10@gmail.com

1
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Uso de Deep Learning para detecção de pneumonia em imagens de raio-x de tórax

Resumo

A pneumonia é uma condição inflamatória do pulmão que afeta principalmente os


pequenos sacos aéreos conhecidos como alvéolos. O diagnóstico pode ser realizado através
da radiografia do tórax, exames de sangue, cultura de escarro e análise de sintomas. A análise
de imagens radiográficas necessita de profissionais especializados para serem realizadas.
Com isso, esse trabalho tem como objetivo aplicar e avaliar como os modelos de Deep
Learning atuam na detecção de presença ou não de pneumonia a partir de imagens de raio-
x de tórax. Foram testados Rede Neurais Convolucionais e Redes Neurais Densas para
treinos e classificação das imagens, com o objetivo de separá-las em imagens com e sem
pneumonia, além da intensidade da doença. A partir das Redes Neurais Convolucionais foi
possível obter uma acurácia de 97% na classificação das imagens.
Palavras-chave: radiografia; análise; classificação; redes neurais.

Use of Deep Learning for pneumonia detection in chest x-ray images

Abstract

Pneumonia is an inflammatory condition of the lung that primarily affects the small air
sacs known as alveoli. Diagnosis can be made through chest X-ray, blood tests, sputum
culture, and symptom analysis. The analysis of radiographic images requires specialized
professionals to be performed. With this, this work aims to apply and evaluate how Deep
Learning models perform in the detection of the presence or absence of pneumonia from chest
x-ray images. Convolutional Neural Networks and Dense Neural Networks were tested for
training and image classification, with the aim of separating them into images with and without
pneumonia, in addition to the intensity of the disease. From the Convolutional Neural Networks
it was possible to obtain an accuracy of 97% in the classification of images.
Keywords: radiography; analysis; classification; neural networks.

Introdução

A pneumonia é uma condição inflamatória do pulmão que afeta, principalmente, os


pequenos sacos aéreos conhecidos como alvéolos. Os sintomas geralmente incluem alguma
combinação de tosse seca ou produtiva, dor no peito, febre e dificuldade para respirar (Marrie,
1994). A gravidade da condição é variável. A pneumonia geralmente é causada por infecção
por vírus ou bactérias e menos comumente por outros microrganismos, certos medicamentos
ou condições como doenças autoimunes (Torres et al., 1991). Os fatores de risco incluem
fibrose cística, doença pulmonar obstrutiva crônica (DPOC), asma, diabetes, insuficiência
cardíaca, histórico de tabagismo, baixa capacidade de tossir, como após um acidente vascular
cerebral e um sistema imunológico fraco (Marrie, 1994). O diagnóstico da pneumonia é muitas
vezes baseado nos sintomas e no exame físico. Alguns exames, como, por exemplo,
radiografia de tórax, exames de sangue e cultura do escarro podem ajudar a confirmar o
diagnóstico.

2
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Para diagnosticar a pneumonia, a radiografia de tórax é utilizada pelos respectivos


profissionais da área. Mas, a análise acurada das imagens de raio-x precisa dos radiologistas
corretos na prática. Uma estimativa aproximada da Organização Mundial da Saúde (OMS)
mostra que um terço das pessoas no mundo ainda não podem recorrer a um radiologista para
análise de sua doença (More et al., 2021).
Como a Imagiologia Médica tem um enorme escopo para a aplicação dos recentes
avanços na computação, é possível fazer uso da análise das imagens de raio-x de forma
computadorizada. As Redes Neurais Convolucionais (CNNs) têm sido um grande avanço para
a análise baseada em imagens. Eles podem ser efetivamente usados para classificação de
imagens (Krizhevsky et al., 2012). Na última década, houve trabalhos notáveis no campo da
medicina, especialmente em diagnósticos médicos. Deep Learning e CNN estão sendo
usados ativamente em várias pesquisas médicas, especialmente aquelas com dados de
imagem. Eles estão sendo usados para segmentação de lesões, segmentação e classificação
de tumores, aprimoramento de imagens, detecção de anormalidades e doenças, detecção de
núcleos, etc (Xu, 2015).
CNN é um tipo de modelo de aprendizado profundo para processamento de dados que
possui um padrão de grade, como imagens, que é inspirado na organização do córtex visual
animal (Hubel et al., 1968) e projetado para aprender de forma automática e adaptativa
hierarquias espaciais de recursos, de baixo - para padrões de alto nível (Fukushima, 1980).
CNN é uma construção matemática que normalmente é composta por três tipos de camadas
(ou blocos de construção): convolução, agrupamento e camadas totalmente conectadas. As
duas primeiras, camadas de convolução e pooling, realizam a extração de recursos, enquanto
a terceira, uma camada totalmente conectada, mapeia os recursos extraídos na saída final,
como classificação (Yamashita et al., 2018). Uma camada de convolução desempenha um
papel fundamental na CNN, que é composta por uma pilha de operações matemáticas, como
a convolução, um tipo especializado de operação linear (Fukushima, 1980).
A CNN é implementada para a categoria de vários estilos de imagens radiográficas e
detecção em inúmeras patologias (Chouhan et al., 2020). Além das CNNs há outra técnica
que também pode ser usada nesse cenário, trata-se das Redes Neurais Densas (DNNs). As
DNNs são usadas em uma ampla gama de problemas práticos, desde reconhecimento de
imagem e classificação de imagem até reconhecimento de ação (Simonyan et al., 2014). Uma
DNN representa de fato uma coleção de neurônios exibidos em camadas sucessivas. Cada
neurônio recebe como entrada as ativações da camada anterior e executa uma computação
simples, criando um mapa da entrada para a saída, que representa o conhecimento aprendido
desse alvo (Schwartz-Ziv et al., 2017). As vantagens das DNNs são a capacidade de aprender
e a capacidade de prever da mesma forma que um humano.

3
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Assim este trabalho tem como objetivo aplicar e avaliar como os modelos de Deep
Learning atuam na detecção de presença ou não de pneumonia a partir de imagens de raio-
x de tórax.

Material e Métodos

Base de dados

Nesta pesquisa foi utilizada uma base de dados encontrada no site Kaggle,
denominada Chest X-Ray Images (Pneumonia), a qual contém imagens de raio-x do tórax
com e sem pneumonia, como mostrado na Figura 1. Todas as figuras possuem o mesmo
tamanho.

Figura 1. Exemplo de imagens presentes na base de dados


Fonte: Resultados originais da pesquisa

A base de dados no total conta com 624 imagens para teste, 5216 para treino e 16
para validação, sendo um número igual de imagens com e sem pneumonia.

Data Augmentation

Para evitar que o modelo de Deep Learning perca sua capacidade de generalização,
ou seja, que não consiga avaliar efetivamente dados diferentes do utilizado durante o

4
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

treinamento, foram aplicadas algumas transformações às imagens do conjunto de teste para


reproduzir algumas variações, isto é, expandir artificialmente a base de dados.
Algumas variações aplicadas nas imagens foram aumentar e diminuir o zoom, mudar
o ângulo, girar verticalmente e horizontalmente. Essas variações permitiram deixar a base de
dados mais robusta e aumentar a capacidade de generalização do modelo.

Redes Neurais Convolucionais (CNN)

Uma Rede Neural Artificial é um tipo de modelo de deep learning para processamento
de dados que possui um padrão de grade, como imagens, que é inspirado na organização do
córtex visual animal e projetado para aprender de forma automática e adaptativa hierarquias
espaciais de recursos, para padrões de baixo a alto nível (Fukushima, 1980).
Uma CNN é uma construção matemática que normalmente é composta por três tipos
de camadas: convolução, pooling e camadas totalmente conectadas. As duas primeiras,
camadas de convolução e pooling, realizam a extração de recursos, enquanto a terceira
mapeia os recursos extraídos no final (Yamashita et al., 2018). A Figura 2 mostra uma
representação dessas camadas.

Figura 2. Representação de uma CNN


Fonte: Hanju (2021)

Nas imagens digitais, os valores dos pixels são armazenados em uma grade
bidimensional (2D), ou seja, uma matriz de números, e uma pequena grade de parâmetros
chamada kernel, um extrator de recursos otimizável, é aplicada em cada posição da imagem,
o que torna as CNNs altamente eficientes para processamento de imagens, uma vez que um
recurso pode ocorrer em qualquer lugar da imagem (Fukushima, 1980). À medida que uma
camada alimenta sua saída na próxima camada, os recursos extraídos podem se tornar
hierarquicamente e progressivamente mais complexos. O processo de otimização de
parâmetros como o kernel é chamado de treinamento, que é realizado de forma a minimizar
a diferença entre as saídas e os rótulos de verdade por meio de um algoritmo de otimização
como o backpropagation e o gradiente descendente, entre outros.

5
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Redes Neurais Densas (DNN)

A DNN é uma arquitetura de rede em que cada camada é conectada diretamente a


todas as outras camadas de forma feed-forward (dentro de cada bloco denso). Para cada
camada, os mapas de feição de todas as camadas anteriores são tratados como entradas
separadas, enquanto seus próprios mapas de feição são passados como entradas para todas
as camadas subsequentes (Huang et al., 2017). A Figura 3 mostra uma DNN com 5 blocos
densos contendo diferentes números de camadas em cada um.

Figura 3. Blocos densos e camadas em uma DNN


Fonte: Huang et al. (2017)

As vantagens em usar uma DNN se deve a eficiência de parâmetro, cada camada


adiciona apenas um número limitado de parâmetros, e supervisão profunda implícita, fluxo
aprimorado de gradiente através da rede, os mapas de recursos em todas as camadas têm
acesso direto à função de perda e seu gradiente.

Métricas de avaliação

Para esta pesquisa foram utilizadas as métricas matriz de confusão, precisão, recall e
f1-score para avaliação dos modelos de deep learning.
Todas as métricas se utilizam da frequência de classificação para cada classe do
modelo, sendo elas: Verdadeiro Positivo (TP), quando a classe buscada foi predita
corretamente, Falso Positivo (FP), quando a classe buscada é predita incorretamente, Falso
Verdadeiro (TN), quando a classe que não está sendo buscada é predita corretamente, e

6
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Falso Negativo (FN), quando a classe que não está sendo buscada é predita incorretamente
(Carvalho et al. 2019).
A partir dessas frequências foi possível calcular a precisão dos modelos, isto é, a razão
entre a quantidade de exemplos classificados corretamente como positivos (TP + FP) e o total
de exemplos classificados como positivos (TP).
O recall trata-se da razão entre a quantidade de exemplos classificados corretamente
como positivos (TP) e a quantidade de exemplos que são realmente positivos (TP + FN).
Enquanto a f1-score é calculada pela média harmônica entre a precisão e a recall. A Figura 4
mostra a equação para calcular a f1-score.

Figura 4. F1-score
Fonte: Chico e Jurman (2020)

Por fim, a matriz de confusão faz um comparativo do que foi predito com o que
realmente deveria ter ocorrido, trazendo a quantidade de cada frequência de classificação,
como mostra a Tabela 1.

Tabela 1. Exemplo Matriz de confusão


Valor real positivo Valor real negativo

Valor predito positivo Verdadeiro Positivo (TP) Falso Positivo (FT)

Valor predito negativo Falso Negativo (FN) Verdadeiro Negativo (TN)

Fonte: Dados originais da pesquisa

Softwares e pacotes

Todos os testes foram realizados através do software Jupyter Notebook utilizando a


linguagem de programação Python. Para aplicar as técnicas de data augmentation foram
utilizadas as bibliotecas Scikit-learn e OpenCV. Para os algoritmos de classificação foi
utilizada a biblioteca Tensorflow junto com Keras. E, foi utilizada a biblioteca Matplotlib para
geração dos gráficos apresentados na pesquisa, e também das matrizes de confusão junto
com a biblioteca Seaborn.

7
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Resultados e Discussão

Redes Neurais Artificiais (CNN)

A CNN foi criada utilizando uma camada de entrada, uma de saída e 20 camadas
ocultas, interpolando camadas de convolução com pooling. O treinamento foi realizado com
12 épocas, ciclo de execução da CNN.
A Figura 5 demonstra a variação da acurácia e perda em cada época no treino e
validação. É possível observar que a cada época, a acurácia aumenta e as perdas diminuem,
com a acurácia em torno de 97% e as perdas próximo a zero depois de 12 épocas, o que se
aproxima do resultado esperado. Como comentado por Zurada (1992), o fato das perdas na
validação não aumentarem ao longo das épocas demonstra que o modelo também não
realizou nenhum ajuste excessivo durante o treinamento.

Figura 5. Variação da acurácia e perda pelas épocas no treino e validação


Fonte: Resultados originais da pesquisa

A Tabela 2 demonstra como o modelo treinado da CNN se saiu detectando a presença


ou não de pneumonia através das métricas de precisão, recall e F1-score. A partir dessas
métricas é possível observar que o modelo obteve uma alta percentagem de acertos, obtendo
alta precisão e recall para as duas classes, e por consequência uma alta pontuação no f1-
score. De acordo com Chico e Jurman (2020), isso demonstra que o modelo está conseguindo
prever com grande confiabilidade a presença ou não de pneumonia em novas imagens.

8
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Tabela 2. Avaliação da CNN


Classe Precisão Recall F1-Score

Pneumonia (Classe 0) 0.92 0.91 0.92

Normal (Classe 1) 0.86 0.88 0.87

Fonte: Resultados originais da pesquisa

Ao observar a matriz de confusão da Figura 6, do modelo CNN treinado, foi possível


evidenciar a grande quantidade de acertos do modelo, tanto para casos de verdadeiro positivo
quanto para casos de verdadeiros negativos. Tendo assim, um baixo número casos de falsos
positivos e falsos negativos.

Figura 6. Matriz de confusão


Fonte: Resultados originais da pesquisa

Redes Neurais Densas (DNN)

A DNN possui uma estrutura um pouco mais robusta que a CNN por conectar cada
camada com todas as outras, com isso foi utilizado uma DNN provida pelo pacote Keras que
possui uma camada de entrada e saída, 6 camadas de transição e 4 blocos densos, sendo

9
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

que cada bloco possui respectivamente 6, 12, 24 e 16 camadas de convolução. O treinamento


também foi realizado utilizando 12 épocas.
A Figura 7 demonstra a variação da acurácia e perda em cada época no treino e
validação. É possível observar que a cada época, a acurácia aumenta e as perdas diminuem,
com a acurácia em torno de 92% e as perdas próximo a 0 depois de 12 épocas, o que se
aproxima do resultado esperado. Comparando com a CNN é possível perceber que a acurácia
da CNN passou a estabilizar a partir da terceira época, enquanto que na DNN ela mantém
uma certa instabilidade até o final.

Figura 7. Variação da acurácia e perda pelas épocas no treino e validação na DNN


Fonte: Resultados originais da pesquisa

A Tabela 3 demonstra como a o modelo treinado da DNN se saiu detectando a


presença ou não de pneumonia através das métricas de precisão, recall e F1-score. É possível
observar que a precisão do modelo foi baixa para detectar quando era pneumonia e alta para
quando não era pneumonia, ou seja, normal. Enquanto que no recall ocorreu o contrário, o
que demonstra que houve uma grande quantidade de falsos positivos para classificar como
pneumonia e uma grande quantidade de falsos negativos para classificar como normal. Logo
isso implicou em uma baixa pontuação para ambas as classes na F1-Score.

10
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Tabela 3. Avaliação da DNN


Classe Precisão Recall F1-Score

Pneumonia (Classe 0) 0.43 0.98 0.60

Normal (Classe 1) 0.98 0.20 0.33


Fonte: Resultados originais da pesquisa

Ao observar a matriz de confusão para a DNN é possível confirmar o resultado das


métricas de precisão, recall e F1-score, isto é, há um grande número de imagens que foram
preditas como pneumonia e que eram normais, falso negativo.

Figura 8. Matriz de confusão da DNN


Fonte: Resultados originais da pesquisa

Assim, ao analisar os resultados obtidos, é possível constatar que este modelo DNN
foi menos efetivo para a resolução do problema do que a CNN, obtendo baixas taxas de acerto
e não sendo precisa para a identificação da presença ou não de pneumonia nas imagens.
Segundo Huang et al. (2017), as DNNS tendem a se ajustar ao conjunto de treinamento para
tarefas relativamente simples, o que pode explicar os resultados obtidos.

11
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Conclusão

O uso de modelos de deep learning possibilitou fazer o diagnóstico de pneumonia


através de imagens de raio-x de maneira automática. A CNN provou ser muito eficiente para
a resolução desse problema, enquanto a DNN obteve resultados não tão satisfatórios, porém
ainda provou ser possível utilizá-la e ser reaproveitada em futuros trabalhos.
No geral, esta pesquisa obteve resultados satisfatórios para o seu propósito,
apontando alguns resultados importantes sobre a aplicação e utilização de deep learning em
outros segmentos.

Referências

Carvalho, D.V.; Pereira, E.M.; Cardoso, J.S. 2019. Machine learning interpretability: A survey
on methods and metrics. Electronics 8(8): 832.

Chicco, D.; Jurman, G. 2020. The advantages of the Matthews correlation coefficient (MCC)
over F1 score and accuracy in binary classification evaluation. BMC Genomics 21: 6.

Chouhan, V.; Singh, S.K.; Khamparia, A.; Gupta, D.; Tiwari, P.; Moreira, C. 2020. A novel
transfer learning-based approach for pneumonia detection in chest X-ray images. Applied
Sciences 10(2): 559.

Düntsch, I.; Gediga, G. 2019. Confusion matrices and rough set data analysis. Journal of
Physics: Conference Series 1229(1): 12-55.

Fukushima, K. 1980. Neocognitron: a self-organizing neural network model for a mechanism


of pattern recognition unaffected by shift in position. Biol Cybern 36: 193–202.

Hanju, L. 2021. Computer network connection enhancement optimization algorithm based on


convolutional neural network. 2021 International Conference on Networking,
Communications and Information Technology (NetCIT): 281-284.

Huang, G.; Liu, Z.; Van Der Maaten, L.; Weinberger, K.Q. 2017. Densely connected
convolutional networks. Proceedings of the IEEE conference on computer vision and pattern
recognition: 4700-4708.

Hubel, D.H.; Wiesel, T.N. 1968. Receptive fields and functional architecture of monkey striate
cortex. J Physiol: 215–243.

Krizhevsky, A.; Ilya, S.; Hinton, G.E. 2012. Imagenet classification with deep convolutional
neural networks. Advances in neural information processing systems 60(6): 84–90.

Marrie, T.J. 1994. Community-Acquired Pneumonia. Clinical Infectious Diseases: 501-513.

More, K; Prathamesh, J.; Shubham, B.; Jaychand, U. 2021. Pneumonia Detection using
Deep Learning. 2021 International Conference on Smart Generation Computing,
Communication and Networking: 1-5.

12
Trabalho apresentado para obtenção do título de especialista em Data
Science e Analytics – 2022

Schwartz-Ziv, R.; Tishby, N. 2017. Opening the black box of Deep Neural Networks via
Information.

Simonyan, K.; Zisserman, A. 2014. Very deep convolutional networks for large-scale image
recognition.

Torres, A; Serra-Battles, J.; Ferrer, A. 1991. Severe community-acquired pneumonia.


Epidemiology and prognostic factors. European Respiratory Journal 24 (5): 779-785.

Xu, Y. 2015. Convolutional activation features for large scale brain tumor histopathology
image classification and segmentation. IEEE international conference on acoustics speech
and signal processing (ICASSP): 947-951.

Yamashita, R.; Mizuho, N.; Richard, K.G.D.; Kaori, T. 2018. Convolutional neural networks:
an overview and application in radiology. Insights into Imaging: 611–629.

Zurada, J. 1992. Introduction to artificial neural systems. West Publishing Co.

13

Você também pode gostar