You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🧠 TumorVision v2.0: Enhanced AI Brain Tumor Detection & Localization
A state-of-the-art deep learning pipeline for detecting and localizing brain tumors in MRI scans using EfficientNetB4/ResNet-50 for classification and Attention ResUNet v2.0 with CBAM + ASPP for precise segmentation.
🆕 What's New in v2.0
Feature
v1.0
v2.0
Classification Backbone
ResNet-50
EfficientNetB4 + SE Attention
Segmentation Model
Basic ResUNet
Attention ResUNet + CBAM + ASPP
Loss Functions
Focal Tversky
Unified Focal + Boundary-Aware
Data Augmentation
Basic
Medical imaging-specific (15+ augmentations)
Inference
Standard
2x faster with TTA & XLA
Classification Accuracy
97.92%
99%+
Dice Score
0.91
0.94+
🌟 Key Features
Two-Stage Pipeline: Classification followed by segmentation for efficient inference
EfficientNetB4 Backbone: Compound scaling for optimal accuracy/efficiency trade-off
CBAM Attention: Convolutional Block Attention for precise feature focus
ASPP Module: Atrous Spatial Pyramid Pooling for multi-scale tumor detection
Attention-Gated Skip Connections: Focused feature propagation in decoder
# Combined Tumor Loss (Segmentation)Combined_Loss=0.5 × Focal_Tversky+0.3 × Dice+0.2 × BCE# Focal Tversky (handles class imbalance)Tversky= (TP+ε) / (TP+α·FN+ (1-α)·FP+ε)
Focal_Tversky= (1-Tversky)^γ# α = 0.7 (penalize false negatives for medical imaging)# γ = 0.75 (focus on hard examples)# Boundary-Aware Loss (precise edges)Boundary_Loss=BCE × Edge_Weight_Map# Unified Focal Loss (best for imbalanced data)UFC=δ × Focal_Tversky+ (1-δ) × Focal_CE
Advanced Attention Mechanisms
Mechanism
Location
Purpose
CBAM
Each encoder/decoder level
Channel + Spatial attention
SE Block
Classification head
Channel recalibration
Attention Gates
Skip connections
Focus on relevant features
ASPP
Bottleneck
Multi-scale context
Data Augmentation Pipeline (Enhanced v2.0)
Augmentation
Probability
Purpose
Horizontal Flip
0.5
Invariance
Vertical Flip
0.5
Invariance
RandomRotate90
0.5
Orientation
ShiftScaleRotate
0.5
Position/Scale
Elastic Transform
0.3
Deformation
Grid Distortion
0.3
Shape variation
Optical Distortion
0.3
Lens effects
CLAHE
0.5
Contrast enhancement
RandomBrightnessContrast
0.5
Intensity
RandomGamma
0.5
Gamma correction
Gaussian Noise
0.3
Robustness
Gaussian Blur
0.3
Smoothing
Motion Blur
0.3
Motion artifacts
Sharpen
0.3
Edge enhancement
Coarse Dropout
0.3
Regularization
📁 Dataset
Attribute
Value
Source
TCGA (The Cancer Genome Atlas)
Total Scans
3,929
Patients
110
Format
TIF (256×256)
Train/Val/Test
70% / 15% / 15%
Class Balance
~50% tumor / ~50% healthy
🚀 Quick Start
Installation
git clone https://github.com/Brijeshthummar02/TumorVision-2StageAI.git
cd TumorVision-2StageAI
# Create and activate a virtual environment (recommended)
python -m venv venv
# Windows: venv\Scripts\activate# Linux/macOS: source venv/bin/activate# Install dependencies
pip install -r requirements-web.txt
Environment Configuration
Copy the example environment file and add your credentials:
cp .env.example .env
On Windows (Command Prompt): copy .env.example .env
Edit .env and set at least:
FLASK_SECRET_KEY — a long random string for Flask sessions
CLOUDINARY_CLOUD_NAME, CLOUDINARY_API_KEY, CLOUDINARY_API_SECRET — from Cloudinary
MONGO_URI (optional) — MongoDB Atlas connection string; omit to use local JSON storage
Never commit your .env file.
Run Web App
python app.py
# Open http://localhost:5000
Train Enhanced Models
jupyter notebook index.ipynb
# Run all cells - models will train with enhanced architecture
Quick Inference with TTA
fromutilitiesimportprediction, build_attention_resunetimporttensorflowastf# Load enhanced modelsmodel=tf.keras.models.load_model('classifier-enhanced-best.keras')
model_seg=tf.keras.models.load_model('AttentionResUNet-v2-weights.keras')
# Run prediction with Test Time Augmentationimage_ids, masks, has_mask=prediction(test_df, model, model_seg, use_tta=True)
This is a research project for educational purposes. Not intended for clinical diagnosis without proper validation and regulatory approval (FDA/CE marking).