BrainScan AI
Brain Tumor Detection AI
A personal deep learning project to explore TensorFlow and Keras capabilities in medical image analysis

Project Overview
BrainScan AI est un projet personnel visant à développer un système de classification des tumeurs cérébrales basé sur l'apprentissage profond. Le projet utilise un réseau de neurones convolutif (CNN) pour analyser des images IRM et classifier les tumeurs en quatre catégories : gliome, méningiome, absence de tumeur et tumeur pituitaire. Cette implémentation met l'accent sur une analyse approfondie des données, une architecture CNN optimisée et une évaluation détaillée des performances.
Learning Objectives
- Maîtriser l'analyse exploratoire des données médicales
- Concevoir et optimiser une architecture CNN pour la classification d'images médicales
- Implémenter des techniques avancées d'évaluation de modèles (ROC, matrices de confusion)
- Développer une solution complète avec TensorFlow 2.18 et Keras 3.7
Technical Details
Key Features
- 93% overall classification accuracy
- Multi-class tumor classification (Glioma, Meningioma, No tumor, Pituitary)
- Optimized CNN architecture with early stopping
- Optimized for 256x256 MRI scans with data augmentation
Model Performance
Classification Accuracy by Type
- Glioma: 96% accuracy (Precision: 0.96, Recall: 0.83)
- Meningioma: 89% accuracy (Precision: 0.89, Recall: 0.89)
- No Tumor: 98% accuracy (Precision: 0.98, Recall: 1.00)
- Pituitary: 91% accuracy (Precision: 0.91, Recall: 0.99)
Technical Implementation
Model Architecture
Model: Sequential _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= rescaling (Rescaling) (None, 256, 256, 3) 0 conv2d (Conv2D) (None, 256, 256, 16) 448 max_pooling2d (MaxPooling) (None, 128, 128, 16) 0 conv2d_1 (Conv2D) (None, 128, 128, 32) 4,640 max_pooling2d_1 (MaxPool) (None, 64, 64, 32) 0 conv2d_2 (Conv2D) (None, 64, 64, 64) 18,496 max_pooling2d_2 (MaxPool) (None, 32, 32, 64) 0 flatten (Flatten) (None, 65536) 0 dense (Dense) (None, 128) 8,388,736 dense_1 (Dense) (None, 4) 516 ================================================================= Total params: 8,412,836 (32.09 MB) Trainable params: 8,412,836 (32.09 MB) Non-trainable params: 0 (0.00 B)
Détails du Dataset
- Total d'images : 5712 images d'entraînement, 1311 images de test
- Taille des images : 256x256 pixels, 3 canaux
- Source : Brain Tumor MRI Dataset (Kaggle)
- Prétraitement : Redimensionnement, normalisation et augmentation des données
Détails d'Entraînement
- Taille de batch : 32
- Epochs : 20 (avec early stopping)
- Optimiseur : Adam
- Métriques : Accuracy, Loss, ROC-AUC
Complete Implementation Details
Below is the complete implementation of the brain tumor detection model, including data processing, model architecture, training, and evaluation.