This repository contains code and datasets for blood cell classification using machine learning and deep learning techniques. This project was developed as part of the Advanced Numerical Methods course.
- Antonio Spedito
- Gaia Montalbano
- Alessandro Picone
- Blood Cell Classification: Identifying whether a given blood cell image represents a healthy or cancerous leukocyte.
- Image Compression Methods:
- QR Factorization for matrix decomposition.
- Singular Value Decomposition (SVD) to reduce data dimensionality while preserving key features.
- Neural Networks for Classification:
- Custom-built neural network trained using Conjugate Gradient Descent.
- MATLAB-based neural network trained using Fletcher-Reeves and classic Gradient Descent.
- Images are converted to grayscale and resized to standard dimensions.
- Feature extraction is performed using SVD.
- Processed images are used to train the neural networks.
To run the classification tasks:
- Image Preprocessing:
run preprocc.m
- Apply QR Factorization:
run func_ourQR.m
- Apply SVD Compression:
run func_ourSVD.m
- Train and Evaluate Neural Networks:
- Custom Neural Network:
run nn_manual.m
- MATLAB Tool-Based Neural Network:
run nn_matlab.m
- Custom Neural Network:
- SVD-based compression retained significant information, making it more suitable for training neural networks.
- QR Factorization did not preserve the most relevant features for classification.
- The neural networks achieved high accuracy in distinguishing between healthy and cancerous leukocytes.
This project is distributed under the license found in the LICENSE file.
For more details, refer to the Classificazione_Immagini_Sangue.pdf file.