WBC-Net is a deep convolutional neural network for automated classification of white blood cells.
Neutrophils, Lymphocytes, Monocytes, Eosinophils, and Basophils.
White blood cell (WBC) analysis is crucial for early detection of hematological disorders.
This repository provides the implementation of WBC-Net, a convolutional neural network
designed for robust and scalable WBC classification from microscopic images.
The pipeline includes advanced image preprocessing (resizing, normalization, and augmentation),
a four-stage CNN with batch normalization and dropout regularization, and performance optimization
techniques such as early stopping, learning-rate scheduling, and model checkpointing.
Extensive experiments on a public WBC dataset show that WBC-Net achieves strong performance
across multiple metrics, making it suitable for real-time clinical decision-support applications.
- Project Overview
- Dataset
- Methodology
- Experiments & Results
- Repository Structure
- Installation
- Usage
- Citation
- Contact
The goal of WBC-Net is to automate multi-class WBC classification using a deep learning pipeline optimized for accuracy, robustness, and reproducibility.
- A 4-stage CNN architecture tailored for WBC morphology
- Comprehensive preprocessing pipeline including resizing, augmentation, and normalization
- Training optimization: batch normalization, dropout, learning-rate scheduling
- Evaluation suite: confusion matrix, ROC curves, per-class metrics
- GPU-optimized implementation
-
Source:
White Blood Cells Dataset -
Classes (5):
- Neutrophils
- Eosinophils
- Basophils
- Monocytes
- Lymphocytes
-
Total Images: 14,514
- Training: 8,140 (80%)
- Validation: 2,035 (20%)
- Test: 4,339
- Resize images to 128×128
- Pixel normalization
- Augmentation: rotations, flips
- Addressing class imbalance
Input (128x128x3)
├── Conv Block 1 (64 filters) → BatchNorm → MaxPool → Dropout(0.25)
├── Conv Block 2 (128 filters) → BatchNorm → MaxPool → Dropout(0.25)
├── Conv Block 3 (256 filters) → BatchNorm → MaxPool → Dropout(0.25)
├── Conv Block 4 (512 filters) → BatchNorm → MaxPool → Dropout(0.25)
├── Dense(1024) → Dropout(0.5)
├── Dense(512) → Dropout(0.5)
└── Output(5) → Softmax
WBC-Net/
├── models/
├── figures/
├── data/
├── notebooks/
├── scripts/
└── README.md
git clone https://github.com/YOUR_USERNAME/WBC-Net.git
cd WBC-Net
pip install -r requirements.txtpython train.py --dataset data/python evaluate.py --weights best_model.h5If you use WBC-Net in your research, please cite:
Ahmed T. Mersal et al.
WBC-Net: A Convolutional Neural Network for Automated White Blood Cell Classification.
TechRxiv, 2025.
DOI: 10.36227/techrxiv.176282158.83951263/v1
Ahmed Talaat
📧 ahmed.mmt3411@gmail.com



