Reconhecimento de imagens termográficas com Inteligência Artificial para detecção e prevenção de câncer de mama
Este repositório contém o código-fonte e as análises estatísticas do meu Trabalho de Conclusão de Curso (TCC) e do artigo científico submetido à revista científica COTB. O foco do projeto é a utilização de Inteligência Artificial aplicada à Termografia Infravermelha para auxiliar no diagnóstico precoce do câncer de mama.
O câncer de mama é a neoplasia mais letal entre as mulheres no Brasil. Este estudo propõe o uso da termografia, uma técnica não invasiva, indolor e livre de radiação, como uma ferramenta complementar de triagem. Através de técnicas de Visão Computacional e Deep Learning, o modelo busca distinguir entre tecidos saudáveis e doentes com base em padrões térmicos.
Foi aplicado no projeto um alto rigor estatístico para garantir a reprodutibilidade e a validade dos resultados:
- Transfer Learning: Utilização das arquiteturas ResNet50 e VGG16 pré-treinadas no ImageNet como extratores de características.
- Comparação de Abordagens: Avaliação entre Redes Neurais Profundas (Deep Learning) vs. Algoritmos de Machine Learning Clássico (SVM, Random Forest, Gradient Boosting).
- Robustez Estatística: Cada um dos 8 modelos foi treinado utilizando 5-fold cross-validation com 5 seeds diferentes, totalizando 25 resultados individuais por modelo.
- Resultado: A combinação de ResNet50 + Redes Neurais demonstrou superioridade estatística em termos de F1-Score e estabilidade frente aos demais métodos.
Tip
Confira a pasta outputs/Graphs para visualizar gráficos de performances distintas (Recall, AUC, Precision) dos resultados.
data/: Orientações e acesso à base de dados pública utilizada, bem como outro dataset que não foi explorado (Breast Thermography 2024).src/: Scripts Python (.py) com as funções de pré-processamento, arquiteturas e treinamento dos modelos.- ⚙️
config.py: Todos os hiperparâmetros, caminhos de dados e definições das 5 seeds estão centralizados neste arquivo.
- ⚙️
Notebooks/: Jupyter Notebooks contendo a análise exploratória, treinamento dos modelos e os testes estatísticos.outputs/: Gráficos gerados (Boxplots), logs de performance e predições.
- Linguagem: Python 3.10
- Deep Learning: TensorFlow/Keras 2.10.1
- Machine Learning: Scikit-learn
- Análise de Dados: Pandas, NumPy
- Visualização: Matplotlib, Seaborn
- Estatística: SciPy
