Skip to content

ChristianFel7/TCC_Machine_Learning

Repository files navigation

TCC — Detecção de Câncer (Resumo do Projeto)

Este repositório contém o código, dados e resultados do Trabalho de Conclusão de Curso (TCC) sobre detecção de câncer com abordagens de visão computacional (CNN e YOLO) e análise de dados tabulares.

Resumo geral:

  • Objetivo: Desenvolver e comparar modelos para detecção/classificação de lesões mamárias usando imagens (ultrassom e mamografia) e análise tabular (WBCD).
  • Abordagens: Redes neurais convolucionais (CNN) treinadas com validação cruzada, detecção/treinamento com YOLO (detecção de objetos) e classificadores tradicionais em dados tabulares (SVM, Regressão Logística, Random Forest).

Estrutura do repositório:

  • cnn_busi/: Notebooks, gráficos e resultados para o dataset BUSI (ultrassom). Contém cancer_detection.ipynb e resultados em cv_results/.
  • cnn_CBIS/: Experimentos com dataset CBIS (mamografia). Contém cancer_detection.ipynb e cv_results/.
  • yolo-BUSI/ e yolo_cbis/: Experimentos YOLO (treinamento por folds, uso de yolo26n-cls.pt e arquivos de configuração). Notebooks para preparação e treinamento dos folds.
  • dados tabulares/: Análises do dataset WBCD (Treinamento_WBCD.ipynb e wdbc.csv). Contém experimentos com SVM, Regressão Logística e Random Forest.
  • cv_results/: Resultados de validação cruzada, métricas agregadas e diagnósticos por fold.

Principais notebooks e o que fazem:

  • cnn_busi/cancer_detection.ipynb: Pipeline completo para carregar imagens (dataset/ e dataset_teste/), pré-processamento, definição de uma CNN simples (camadas Conv2D, BatchNormalization, MaxPooling, Dense + Dropout), treinamento com K-Fold (N=5), avaliação (precision/recall/f1/confusion matrix), salvamento de modelos e geração de relatórios em cv_results/.
  • cnn_CBIS/cancer_detection.ipynb: Similar ao notebook BUSI, porém adaptado para problema binário (maligno/benigno) e métricas apropriadas. Usa binary_crossentropy e métricas de precisão/recall.
  • yolo-BUSI/YOLO_cancer_detection.ipynb: Preparação dos folds (cópia de imagens por fold), configuração e treino do modelo YOLO (usando ultralytics e yolo26n-cls.yaml/yolo26n-cls.pt), salvamento dos resultados em projetos separados.
  • dados tabulares/Treinamento_WBCD.ipynb: Leitura do wdbc.csv, análise exploratória, pré-processamento (StandardScaler), pipelines com sklearn e validação cruzada estratificada para comparar SVM, Regressão Logística e Random Forest.

Detalhes de implementação (resumo técnico):

  • CNNs: Arquitetura leve com camadas Conv2D (16, 32, 16), BatchNormalization, MaxPooling, Flatten → Dense(256) + Dropout(0.5). Treino por até EPOCHS = 40, BATCH_SIZE = 32, IMAGE_SIZE = (256,256), K-Fold com N_SPLITS = 5.
  • YOLO: Treinamento por folds com StratifiedKFold, imgsz configurável (ex.: 224), epochs = 40. Usa a API ultralytics.YOLO para treinar e gerar métricas por treino.
  • Tabular: Pipelines sklearn com StandardScaler, StratifiedKFold e cross_validate para obter métricas robustas (accuracy, precision, recall, f1, ROC-AUC).

Como executar (recomendações):

  • Pré-requisitos: Python 3.8+; pacotes: tensorflow (versão compatível com sua GPU/OS ou CPU), torch, ultralytics, scikit-learn, opencv-python, pandas, numpy, matplotlib, seaborn.
  • Abrir os notebooks com Jupyter Notebook / JupyterLab e executar as células sequencialmente. Ajuste caminhos DATA_DIR/TEST_DIR quando necessário.

Observações Importantes

Uso de GPU com TensorFlow

  • Em sistemas Windows, caso deseje utilizar GPU, verifique previamente a compatibilidade entre as versões do TensorFlow, CUDA e cuDNN.
  • Caso nenhuma GPU compatível seja detectada, os scripts serão executados automaticamente em CPU.

Datasets

Os datasets de imagens utilizados neste projeto não estão incluídos neste repositório devido ao seu tamanho e às restrições de distribuição.

Eles podem ser obtidos nos seguintes links:

Resultados e artefatos gerados:

  • Resultados de validação e métricas em cv_results/ (JSONs como fold_evaluation_summary.json, precision_recall_f1_summary.json).
  • Checkpoints/experimentos YOLO em yolo-BUSI/runs/ ou em projetos TCC_Resultados_BUSI criados durante o treino.

About

Repositório criado para salvar os arquivos gerados no meu trabalho de conclusão de curso de Engenharia Elétrica da UFMG- 2026

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors