Skip to content

Projeto da disciplina de Processamento e Análise de Imagens, voltado ao diagnóstico de esteatose hepática não alcoólica (NAFLD) utilizando imagens de ultrassom

Notifications You must be signed in to change notification settings

VianaSamuel/PAI-DiagnosticoNAFLD

Repository files navigation

PAI-DiagnosticoNAFLD

Projeto da matéria de Processamento e Análise de Imagens para diagnóstico de esteatose hepática não alcoólica (NAFLD) por meio de imagens de ultrassom.


Alunos (G11):

  • Pedro Corrêa Rigotto
  • Samuel Luiz da Cunha Viana Cruz

Cálculos (NT, NC, ND):

  • Matrícula:

    • Pedro: 762281
    • Samuel: 762496
  • Soma = 1524777

  • NT (soma mod 4) = 1
    (Local Binary Pattern (LPB), energia e entropia com raios = 1, 2, 4, 8)

  • NC (soma mod 2) = 1
    Classificador Raso: XGBoost

  • ND (soma mod 5) = 2
    Classificador Profundo: MobileNet


Roadmap

1. Menu/GUI:

1.1 Visualizar (Imagens + Histogramas):

  • Botão de leitura de imagens com os seguintes formatos aceitos:
    • .mat
    • PNG
    • JPG
  • Suporte para qualquer resolução de imagem
  • Cálculo e exibição do histograma de tons de cinza

1.2 Recortar (ROIs):

  • Botão de recorte de regiões de interesse em uma imagem
  • Garantir que o usuário possa selecionar e salvar múltiplas ROIs

1.3 Visualizar (ROIs Geradas + Histogramas):

  • Botão de ler e visualizar as ROIs geradas
  • Calcular e exibir os respectivos histogramas para cada ROI

1.4 Calcular (GLCM + Descritores de Textura) de uma ROI:

  • Botão de cálculo de matrizes de co-ocorrência (GLCM) de uma ROI
  • Exibir valores dos descritores de textura da GLCM calculada

1.5 Caracterizar (ROIs Geradas) através de Descritor de Textura:

  • Botão de caracterização de ROIs através do descritor de textura sorteado:
    (Local Binary Pattern (LPB), energia e entropia com raios = 1, 2, 4, 8)
  • Exibir valores dos descritores calculados

1.6 Classificar (Imagem):

  • Botão de classificação de imagem através da técnica selecionada
  • Exibir a indicação da classe encontrada

2. Imagens

  • Ler e exibir imagens em tons de cinza
  • Implementar zoom
  • Exibir histogramas correspondentes

3. ROIs

  • Ler e exibir ROIs
  • Implementar zoom
  • Exibir histogramas correspondentes

4. Recorte de ROIs

  • Recorte de 2 ROIs de 28x28 pixels
    • Região do Fígado
    • Região do Córtex Renal
  • Quadrado (em cor verde) definido com o mouse
  • Cálculo do índice hepatorenal:
    (HI) = (média_tons_cinza_ROI_fígado / média_tons_cinza_ROI_rim)
  • Ajuste de tons de cinza da ROI do fígado, multiplicando cada valor de tom de cinza por (HI) e arredondando-os
  • Salvar somente a ROI do fígado em um diretório, o nome deve ser no formato "ROI_nn_m"
    (nn = número do paciente (0 a 54), m = número da imagem de ultrassom (0 a 9))
  • Observações:
    • Ver como localizar as regiões na seção de Materiais e Métodos do artigo (Figura 2);
    • A ROI do rim servirá como referência para a normalização da ROI do fígado, reduzindo diferenças entre imagens adquiridas com equipamentos distintos ou a influência de artefactos.

5. Planilha: ROIs para o Dataset

  • Gerar 550 ROIs seguindo o item anterior
  • Armazenar em CSV:
    • Nome do arquivo
    • Classe
      (0-16 saudáveis, 17-54 esteatose)
    • Canto superior esquerdo (fígado e rim)
    • Valor do (HI)

6. GLCMs Radiais

  • Para cada ROI, calcular 4 GLCMs radiais Ci onde i = 1, 2, 4 e 8

7. Descritores de Haralick

  • Calcular Entropia e Homogeneidade (Haralick) para cada GLCM Radial do item anterior
    (4 * 2 características) para cada ROI

8. Local Binary Pattern (LBP)

  • Calcular Local Binary Pattern (LBP), energia e entropia, com raios = 1, 2, 4, 8

9. Planilha: Características calculadas para uso no classificador

  • Armazenar em CSV:
    • Nome do arquivo
    • Classe
      (0-16 saudáveis, 17-54 esteatose)
    • Características calculadas

10. Divisão de Dados para Validação Cruzada:

(Repetir 55 vezes, validação cruzada):

  • Separar conjuntos:
    • Teste: 10 imagens de UM paciente
    • Treino: Demais imagens
  • Treinar e testar classificadores com essa divisão
  • Escolher o próximo paciente para ser o conjunto de teste

11. Implementação do Classificador Binário Raso

(Características usadas como entrada para os classificadores:
Descritores de Haralick & Local Binary Pattern)

  • Implementar o XGBoost
  • Avaliar médias:
    • Acurácia
    • Especificidade
    • Sensibilidade
  • Exibir matriz de confusão após a validação cruzada
  • Cálculo de tempo de execução

12. Implementação do Classificador Profundo

(Entradas para os classificadores: ROIs recortadas)

  • Implementar o MobileNet
  • Ajustar os pesos já disponíveis nas bibliotecas que foram treinados com o ImageNet (fine tunning)
  • Avaliar:
    • Acurácia
  • Exibir matriz de confusão de cada uma após a validação cruzada
  • Cálculo de tempo de execução
  • Plotar os gráficos de aprendizado médios (acurácia de treino e teste após cada época)

13. Comparação de Resultados

  • Comparar os resultados obtidos entre as soluções

14. Documentação

  • Descrição do problema
  • [+/-] Descrição das técnicas implementadas para a solução (classificadores e características)
  • Descrição dos dados
  • Referências das bibliotecas utilizadas na implementação
  • Medidas de tempo de execução para:
    • Diversas imagens
    • Descritores
    • Hiperparâmetros do classificador
  • Análise comparativa dos resultados obtidos nos testes, com exemplos de erros e acertos dos métodos
  • Referências Bibliográficas

About

Projeto da disciplina de Processamento e Análise de Imagens, voltado ao diagnóstico de esteatose hepática não alcoólica (NAFLD) utilizando imagens de ultrassom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages