Logo Logo
  • Inicio
  • Serviços
  • Casos de Estudo
  • BLOG

Informações de Contato

  • Email: projetos@cienciaedados.com.br
  • Somente Mensagens Whatsapp +55 (49)98436-8625
  • Atendimento Seg a Sex: 9h as 17h

links Adicionais

  • Big data
  • Ciencia de Dados
  • Inteligência Atrificial
  • Machine Learning
  • Politica de Privacidade

Redes Sociais

Casos de Estudo: Classificação de Imagens de Raio X Usando Deep Learning

  • Home
  • Blog Details
novembro 23 2024
  • Casos de Estudo

Automatizando o Diagnóstico de Pneumonia: Um Modelo Baseado em Deep Learning Pronto para Deploy


Introdução

A pneumonia é uma das principais causas de morte no mundo, especialmente em populações vulneráveis como crianças e idosos. O diagnóstico precoce e preciso dessa condição é essencial para salvar vidas. Com o avanço da inteligência artificial, eu desenvolvi um modelo de aprendizado profundo (deep learning) para automatizar essa tarefa e oferecer suporte para médicos na análise rápida e precisa de exames.

Neste artigo, apresento o projeto que utilizei para detectar pneumonia em imagens de raio-X, destacando as dificuldades enfrentadas e as soluções que implementei. A arquitetura utilizada foi a EfficientNetB0, uma rede neural profunda pré-treinada, ajustada para esse propósito. Com métricas sólidas e desempenho robusto, considero este modelo pronto para deploy. Foi utilizado dataset com imagens reais de pacientes sendo crianças entre 6 a 12 anos.


Objetivo do Projeto

O meu objetivo principal foi criar um modelo que, com base em imagens de raio-X, pudesse classificar pulmões em duas categorias:

  • NORMAL: Pulmões sem sinais de pneumonia.(ABAIXO)
  • PNEUMONIA: Pulmões com sinais de pneumonia. (ABAIXO)

Desde o início, priorizei que o modelo tivesse alta sensibilidade (recall) para a classe PNEUMONIA, minimizando falsos negativos. Essa decisão foi baseada na gravidade das consequências de um diagnóstico incorreto de pneumonia. Além disso, foquei em garantir um equilíbrio geral no modelo, mantendo precisão (precision) adequada para evitar falsos positivos desnecessários.


Dificuldades Enfrentadas no Desenvolvimento

Durante o desenvolvimento do modelo, enfrentei vários desafios, e explico abaixo as dificuldades e as soluções que implementei:

  1. Desbalanceamento do Dataset
    Ao analisar o conjunto de dados, percebi que havia um desbalanceamento significativo entre as classes. A classe PNEUMONIA tinha uma quantidade muito maior de imagens do que a classe NORMAL. Isso fazia com que o modelo inicial fosse enviesado para a classe majoritária, prejudicando o recall da classe NORMAL.Solução Implementada:
    Para resolver esse problema, inicialmente utilizei Random Oversampling, duplicando amostras da classe NORMAL para equilibrar o dataset. No entanto, após análise, substituí essa abordagem pelo SMOTE (Synthetic Minority Oversampling Technique), que gera amostras sintéticas da classe minoritária. Com isso, aumentei a diversidade dos dados da classe NORMAL, reduzindo redundâncias.
  2. Perda de Informação em Redução de Dimensionalidade
    Em uma das abordagens, optei por utilizar o PCA (Principal Component Analysis) para reduzir a dimensionalidade dos embeddings gerados pelo EfficientNetB0. Apesar de melhorar a eficiência computacional, percebi que a redução estava comprometendo o desempenho do modelo, especialmente o recall da classe NORMAL.Solução Implementada:
    Para resolver isso, removi o PCA e trabalhei diretamente com os embeddings completos gerados pela EfficientNetB0. Essa decisão preservou mais informações das imagens, permitindo que o modelo capturasse padrões relevantes para ambas as classes.
  3. Ajuste Fino do Modelo
    Durante o treinamento do modelo, percebi que ajustes cuidadosos na taxa de aprendizado, arquitetura e regularização eram necessários para evitar overfitting. Encontrar o equilíbrio correto entre essas variáveis foi desafiador.Solução Implementada:
    Descongelei as camadas convolucionais da EfficientNetB0 para realizar fine-tuning com os dados específicos do projeto. Adicionei Dropout (40%) e regularização L2 para prevenir overfitting. Além disso, implementei early stopping, interrompendo o treinamento quando não havia melhoria na perda de validação após 8 épocas consecutivas.

Arquitetura do Modelo

Para construir o modelo, utilizei a EfficientNetB0, uma rede neural pré-treinada no ImageNet, conhecida por sua eficiência e precisão. Adaptei essa arquitetura para o problema de detecção de pneumonia com as seguintes alterações:

  • Descongelei as camadas convolucionais para permitir treinamento fino com os dados específicos.
  • Adicionei uma camada densa com 512 neurônios e ativação ReLU.
  • Adicionei Dropout de 40% após a camada densa para reduzir overfitting.
  • Finalizei com uma camada sigmoidal para previsão binária (NORMAL ou PNEUMONIA).

Para garantir a estabilidade durante o treinamento, reduzi a taxa de aprendizado para 1e-6.


Métricas de Avaliação

No conjunto de teste, utilizei o threshold padrão de 0.5 para classificar as imagens. Os resultados foram os seguintes:

  1. Matriz de Confusão:Predito NORMALPredito PNEUMONIA Verdadeiro NORMAL 18054 Verdadeiro PNEUMONIA 38352
  2. Relatório de Classificação:
    • Classe NORMAL:
      • Precision: 83%
      • Recall: 77%
      • F1-Score: 80%
    • Classe PNEUMONIA:
      • Precision: 87%
      • Recall: 90%
      • F1-Score: 88%
    • Métricas Gerais:
      • Accuracy: 85.3%
      • Loss no conjunto de teste: 0.417
  3. Análise das Métricas:
    • O recall para PNEUMONIA (90%) demonstra que o modelo está capturando a maioria dos casos reais de pneumonia.
    • A precisão para PNEUMONIA (87%) indica que o modelo gera previsões confiáveis para essa classe.
    • O F1-Score equilibrado (88% para PNEUMONIA e 80% para NORMAL) mostra que o modelo é robusto e balanceado.

Conclusão e Prontidão para Deploy

Após resolver as dificuldades encontradas e ajustar o pipeline, alcancei resultados robustos e consistentes. Acredito que o modelo está pronto para deploy, com as seguintes características principais:

  1. Alta Sensibilidade para Pneumonia:
    Com recall de 90% para PNEUMONIA, o modelo minimiza falsos negativos, reduzindo o risco de diagnósticos incorretos.
  2. Equilíbrio Geral:
    O modelo mantém um bom equilíbrio entre recall e precisão, garantindo previsões confiáveis para ambas as classes.
  3. Impacto Clínico:
    Este modelo pode ser integrado como uma ferramenta de apoio ao diagnóstico médico, permitindo análises rápidas e precisas.

Este projeto representa um avanço significativo na aplicação de inteligência artificial para o diagnóstico médico, demonstrando que é possível aliar eficiência e precisão na análise de imagens de raio-X para detecção de pneumonia. Com a integração da arquitetura EfficientNetB0, ajustes cuidadosos no pipeline e estratégias eficazes para balanceamento de dados, foi possível desenvolver um modelo robusto, com métricas equilibradas e pronto para ser implementado em ambiente clínico, eu sempre afirmo que existe espaço para melhoras sim no ajuste dos modelos de machine learning. Este modelo não apenas otimiza o processo de diagnóstico, reduzindo o tempo necessário para a análise manual, mas também oferece suporte valioso aos profissionais de saúde, aumentando a taxa de acerto em um problema tão crítico. Mais do que uma ferramenta técnica, este projeto destaca o potencial transformador da inteligência artificial na medicina, trazendo benefícios diretos para pacientes e profissionais ao redor do mundo.

  • About
  • Latest Posts
Responsável pelo site
Responsável pelo site
Josemar Prates da Cruz at Ciencia e Dados
Cientista de Dados - Análise e decisões informadas
Python | Machine Learning | PySpark | Data Bricks | Servidores Linux | SQL | Ling. R | PHP
Responsável pelo site
Latest posts by Responsável pelo site (see all)
  • Governança de Dados: Importância e seus Benefícios - 18 de março de 2025
  • Containers Docker em Ciência de Dados - 11 de março de 2025
  • Kubernetes Gerenciamento Eficiente de Containers - 4 de março de 2025
Visualizações: 133

Related posts:

  1. Inteligência Artificial: Transformando Desafios em Soluções Reais para Empresas de Todos os Tamanhos
  2. Explorando Previsões em Séries Temporais de um E-commerce de Moda
  3. Casos de Estudo: Prevendo a Manutenção de Máquinas analisando Sensores IoT da Indústria
  4. Casos de Estudo: Apache Spark e Machine Learning na Previsão de ROI para Campanhas de Marketing
Previous Post Next Post
aprendizado de maquinacientista de dadosdatasciencedeep learningIA na medicinamachine learningmodelagem preditivaraiox de pulmoes

Leave a Comment Cancel reply

Categories

  • Algoritimos de ML
  • Análise de Dados
  • Big data
  • Bussines Inteligence
  • Casos de Estudo
  • Ciencia de Dados
  • Cientista de Dados
  • Inteligência Atrificial
  • Machine Learning
  • Nossos Serviços
  • Redução de Custos

Tags

algoritimo algoritimo de machine learning analise de dados analise preditiva analise rfm apache spark aprendizado de maquina aws bussines inteligence caso de estudo ciencia de dados ciencia de dados na agricultura cientista de dados cluster clusterização crediário datascience decisoes decisoes informadas decisões informadas deep learning e-commerce estudo de caso gradient boosting graficos insights insights estratégicos inteligencia artificial lgpd LLM machine learning marketing digital modelagem estatistica modelagem preditiva pequenas empresas pib planejamento de marketing power bi previsão previsão de vendas rnn series temporais storytelling tableau xgboost
Logo

Todo o conteúdo desse site é de inteira responsabilidade da Ciencia e Dados

Menu Rápido

  • Blog
  • Inicio
  • Politica de Privacidade
  • Contato

Serviços

  • CONHEÇA

Informações de Contato

Atendimentos somente via Whatsapp De Segunda Sexta das 09h as 17h

  • Email: projetos@cienciaedados.com.br
  • whatsapp +55 49 98436-8625

Todos os Direitos Reservados. Propriedade e Desenvolvimento - cienciaedados.com.br

  • INICIO
  • CONTATO
  • CASOS DE ESTUDO
  • BLOG
English Spanish
Portuguese