PyLBP X-Ray Classifier

O projeto final da disciplina de Processamento de Imagens (ES48D) da Universidade Tecnológica Federal do Paraná (UTFPR) para classificação de imagens de raio-X divididas em duas classes: covid e normal.

Equipe

  • João Wicktor Ortiz de Campos

Descritor implementado

  • LBP (Local Binary Pattern): é um método que compara os valores dos pixels de uma imagem com os seus vizinhos em uma vizinhança circular.

Repositório do projeto

https://github.com/joaowicktor/es48d-pylbp-x-ray-classifier

Instruções de uso

O projeto foi desenvolvido e testado no Windows 11 com Python 3.11.7

  1. Clone o projeto e entre no diretório
git clone https://github.com/joaowicktor/es48d-pylbp-x-ray-classifier
cd es48d-pylbp-x-ray-classifier
  1. Configure o ambiente virtual (Opcional, mas recomendado)
python -m venv es48d

# No Linux
source es48d/bin/activate

# No Windows
es48d\Scripts\activate
  1. Instale as dependências necessárias
pip install -r requirements.txt
  1. Faça o download do dataset

  2. Descompacte o dataset com as pastas covid e normal na pasta images_full, caso não exista, crie-a na raiz do projeto

mkdir images_full
  1. Prepare o dataset executando o script data_splitting.py
python data_splitting.py
  1. Faça a extração das características das imagens usando LBP executando o script lbp_feature_extraction.py
python lbp_feature_extraction.py
  1. Execute o script run_all_classifiers.py para treinar e testar os classificadores (MLP, SVM e Random Forest) e gerar os resultados finais
python run_all_classifiers.py

Classificadores e acurácia

MLP (Multi-Layer Perceptron)

SVM (Support Vector Machine)

RF (Random Forest)

Comparação de acurácia entre os classificadores