Sistema de apoio a diagnóstico de pneumonia e COVID-19 através de Inteligência Artificial

Realize o seu teste

Para realizar uma previsão através de uma imagem pessoal é necessário simplesmente fazer o upload da imagem desejada. A resposta da previsão de diagnóstico é dado tão logo esteja disponível.

Você pode salvar e testar uma de nossas imagens abaixo:

Notas de responsabilidade.

Ressalta-se que não há como garantir 100% de eficácia em nenhum processo preditivo. Por este motivo, é extremamente importante que qualquer diagnóstico médico seja feito por profissionais especializados da área de saúde. O objetivo deste projeto é, como o de qualquer outro software, apenas auxiliar a tomada de decisão por parte dos especialistas.

Classes resultantes

Ao todo existem 4 termos de resposta de classificação do sistema. Abaixo são exibidas essas classes bem como suas descrições:

  • Imagem inválida – A imagem enviada não corresponde a uma imagem de raio-x ou é incompatível com os requisitos de tamanho ou tipo (.jpg ou .png).
  • Saudável – A imagem possui características típicas as de um paciente saudável.
  • Apresenta características de Pneumonia – A imagem enviada apresenta traços semelhantes as imagens de pacientes com pneumonia.
  • Apresenta características de COVID-19 – A imagem enviada apresenta similaridades com imagens de pacientes diagnosticados com COVID-19.

Descrição Geral

Introdução

Na análise de imagens a equipe optou-se por desenvolver uma ferramenta para detecção de pacientes com COVID-19 por meio de imagens de raio-x. Na primeira fase do projeto o sistema identifica se o paciente apresenta quadro característico de pneumonia, para que em uma etapa posterior seja avaliada a correlação com o COVID-19. A segunda fase deverá ter início a partir da coleta de um maior número de imagens de raio X com características específicas de COVID-19.

Em particular, escolheu-se utilizar imagens de raio-X, tendo em vista sua ampla disponibilidade nos centros de saúde e baixo custo em relação à demais tecnologias existentes. Desta forma, objetiva-se criar uma ferramenta de diagnóstico de casos de pneumonia para o amplo uso por especialistas da área da saúde de maneira simples, fácil e rápida.

Objetivo

A finalidade do projeto é fornecer ao especialista um diagnóstico do quadro do paciente utilizando apenas uma imagem de raio-X de forma a auxiliar no diagnóstico final do paciente.

A ferramenta funciona de forma simples e rápida, o usuário do sistema deve inserir uma imagem de raio-x frontal de tórax do paciente para o qual se deseja obter o diagnóstico da infecção pulmonar.

Detalhamento Técnico

Processo de elaboração do modelo

O procedimento de elaboração dos detectores inicia com a pesquisa de bancos de dados robustos, que possuam imagens de raio-X de qualidade e com diagnóstico associado. Considerando a correlação existente entre pacientes com pneumonia e COVID-19, a primeira etapa do projeto consistiu em identificar se o paciente apresenta quadro de pneumonia, ou seja, o sistema foi treinado para realizar uma classificação binária. Para isto foram utilizados três bancos de dados extraídos das plataformas públicas:  Chest X-Ray Images, RSNA Pneumonia Detection Challenge, e o Covid Chestxray Dataset, totalizando aproximadamente 30 mil imagens de raio-x de pacientes variados, sendo 55% com pneumonia e 45% sem e das quais 147 eram registros de pacientes com COVID-19.

No diagrama de barras abaixo apresenta-se a distribuição de número de amostras por classe para os bancos de dados de pneumonia. Note o desbalanceamento entre o número de amostras por classe.

Dataset utilizado (Quantidade Total de imagens para treinamento)

Chest X-Ray Images

RSNA Pneumonia Detection Challenge

Quantitativos de imagens de cada uma das classes: ‘1’ para pessoas com pneumonia e ‘0’ para pessoas sem pneumonia. À esquerda o banco de dados Chest X-Ray e a direita o banco de dados RSNA Pneumonia Detection Challenge. Note que ambos bancos de dados estão desbalanceados.

Diante desse desbalanceamento, a primeira tarefa consistiu na organização das imagens por meio do processo de sobreamostragem com a finalidade de obter um equilíbrio entre o número de classes. 

Uma vez identificado se a pessoa apresenta quadro característico de pneumonia, um outro classificador é encarregado de determinar se o tipo de pneumonia corresponde às características associadas ao COVID-19. Nesta última etapa do processo, o modelo foi treinado com imagens de pacientes com quadro de pneumonia associadas a outras doenças, sendo do tipo viral ou bacteriana, além das imagens de COVID-19.

Em geral, ambos os sistemas foram desenhados usando redes neurais de aprendizado profundo de topologia convolutiva. Naturalmente, uma rede neural é composta por diversas camadas em que cada uma tem uma função específica na extração de informação da imagem. Geralmente, para problemas complexos necessita-se de topologias mais extensas e igualmente complexas, condizentes com o caso abordado.

A etapa de treinamento equivale a um processo repetitivo de teste da rede. Uma imagem da base de dados é inserida na rede e o resultado é confrontado com o valor real. A medida que a rede falha, a correção e atualização de seus parâmetros internos são realizados para melhorar a sua eficácia preditiva. Desta forma, ao fim desse processo de treinamento, a rede neural escolhida servirá como um modelo de previsão.

Nas figuras abaixo, apresentam-se as curvas de desempenho da rede durante as etapas de treinamento e  teste, no primeiro quadro é exibida a acurácia e no quadro seguinte a função de perda. Observa-se que a rede neural atinge uma boa acurácia de predição, alcançando por volta de 94% de acurácia na base de treino e a curva de treino atingindo um valor médio aproximado de 92% de acurácia.

Curvas de acurácia do modelo ao longo da fase de treinamento. A curva em azul é do treinamento com a parte do banco de dados e, a curva em laranja representa a validação com a outra parte do conjunto de imagens.

Curvas da função de perda do modelo ao longo da fase de treinamento. A curva em azul é do treinamento com a parte do banco de dados e, a curva em laranja representa a validação com a outra parte do conjunto de imagens.

Curva Característica de Operação do Receptor, ROC em inglês. Representando o desempenho do modelo no diagnóstico de pneumonia.

A seguir estão exibidas alguns exemplos de imagens que compõem o banco de dados para o treinamento da rede neural.

Figura: As imagens da coluna esquerda foram diagnosticadas sem pneumonia, já as da coluna direita todas possuem diagnóstico de pneumonia.

Previsões e resultados

Para a realização de inferência o sistema deve ser alimentado por uma única imagem por vez, ou seja, as previsões são feitas através de somente uma imagem de raio-x. Inicialmente a imagem passa sobre um filtro em que só permite que as imagens em raio-x sejam testadas, em caso contrário o resultado da imagem será classificada como ‘Imagem incompatível’.

Logo, o sistema gera como possíveis resultados o diagnóstico do paciente, podendo ser classificado como ‘Saudável’, com ‘Características de Pneumonia’ ou ‘Características de COVID-19’. Além desses termos de classificação, também é exibido o valor de confiabilidade de tal inferência, ou seja, quanto maior for o valor percentual, maior é a certeza do diagnóstico do paciente.

Capacidades e limitações

O sistema realiza o diagnóstico através de imagens de raio-x do estado instantâneo. Desta forma, uma imagem de raio-x obtida em um estágio precoce da doença pode não exibir claramente as características de pneumonia ou de COVID-19, mesmo que o paciente apresente sintomas e que isso tenha levado o especialista a execução de imagem de raio-x.

Vale ressaltar que o sistema requer o envio de imagens de raio-x somente. É possível que imagens de tomografia ou até mesmo de ressonância magnética sejam aceitas violando o filtro, no entanto, isso não garante o diagnóstico adequado do teste.

Embedding das imagens

No aprendizado de máquina, para melhorar algo, muitas vezes você precisa ser capaz de medi-lo. O TensorBoard é uma ferramenta para fornecer as medições e visualizações necessárias durante o fluxo de trabalho de aprendizado de máquina. Permite rastrear métricas de experimentos como perda e precisão, visualizar o gráfico do modelo, projetar incorporações em um espaço dimensional mais baixo e muito mais.

Notas sobre o visualizador TensorBoard.

O visualizador em ‘TensorBoard’ foi feito utilizando por volta de 300 imagens em que ao final do processo de aprendizado de máquina são formados grupos em que grupo concentra imagens com maior similaridade entre si.

Qualquer alteração no painel esquerdo, relacionado tanto ao banco de dados como a escolha de outro algoritmo, pode causar lentidão no computador e até mesmo a paralisação. Apesar do treinamento ocorrer remotamente, o navegador é mais requisitado para exibir em tempo real a visualização do treinamento.