Combinando Redes Neurais Convolucionais e Recorrentes para a Classificação de Doenças Pulmonares em Vídeos de Ultrassom
Aprendizado profundo é uma técnica importante para a construção de aplicativos de diagnóstico auxiliado por computador. Este trabalho apresenta um método computacional para classificar vídeos de ultrassom pulmonar capturados por transdutores convexos para auxiliar no diagnóstico da COVID-19. Redes neurais convolucionais foram utilizadas para extração das características espaciais e a dependência temporal foi aprendida por uma rede neural recorrente do tipo long short-term memory. Diferentes tipos de arquiteturas de redes neurais convolucionais foram testadas para extração de características. Os hiperparâmetros foram otimizados utilizando o framework Optuna. A extração de características utilizando transferência de aprendizado com redes pré-treinadas no conjunto de dados ImageNet foi semelhante às redes pré-treinadas em imagens de ultrassom pulmonar de outros trabalhos. Os resultados foram comparados com outros estudos, mostrando que o aprendizado profundo e o ultrassom pulmonar podem auxiliar no diagnóstico da COVID-19 e de outras doenças pulmonares. O melhor classificador apresentou uma acurácia média de 95%, precisão de 94,44%, sensibilidade de 100%, especificidade de 95,65%, e F1-Score de 96,77% para o diagnóstico de COVID-19 em uma validação cruzada com cinco partições, superando classificadores baseados em abordagens puramente espaciais.
Aprendizado Profundo, CNN, COVID-19, LSTM, Otimização de Hiperparâmetros, RNN, Ultrassom Pulmonar.
O conjunto de dados de ultrassom pulmonar pode ser acessado em: covid19_ultrasound
Será necessário clonar o repositório git fornecido acima e seguir as etapas descritas em: README.
As etapas descrita no documento acima também contemplam o pré-processamento dos dados.
Todos as características extraídas pelas diferentes arquiteturas de CNNs utilizadas neste trabalho estão disponíveis para download em: dados/caracteristicas-espaciais.
O classificador (Xception-LSTM) configuração 4 (20 frames) proposto por este trabalho está disponível para download no formato h5 em: dados/classificadores.
O banco de dados contendo os resultados do processo de otimização de todos os classificadores está disponível para download em: dados/optuna
Para ver os resultados, você precisa instalar a biblioteca optuna-dashboard
para Python 3
.
$ pip install optuna-dashboard==2.6.0
$ optuna-dashboard sqlite:///optuna.db # you must have previously downloaded the file.
Visite a url http://127.0.0.1:8080/ para visualizar o dashboard.
Para usar o notebook é necessário instalar algumas dependências para Python 3
.
$ pip install jupyter numpy sklearn tensorflow==2.4.1
Para rodar o classificador e extrair os resultados use o notebook: xception-lstm.ipynb.
O arquivo resultados.csv contém os resultados numéricos para cada um dos classificadores. Adicionamente, foi fornecida uma versão gráfica (box plot) para cada uma das classes de diagnóstico e um para a acurácia em: imagens.
O sumário dos modelos e o tamanho (em MB) foram salvos nos arquivos disponibilizados no diretório: parametros.