This project implements multiple image segmentation and clustering algorithms using both CPU and GPU acceleration with CUDA. The main focus of the project is optimizing the performance of image segmentation in general, and brain tumor segmentation specifically, using parallel computing techniques and CUDA memory models. The project includes several clustering approaches such as:
- Basic(Lloyd) K-Means
- Mini-Batch K-Means
- Tiled K-Means
- Fuzzy C-Means
The Lloyd K-Means implementation is the fastest optimized GPU implementation in the project achieving 0.86 Dice Score and 10 times faster than the CPU implementation.
- CUDA-based image segmentation
- CPU/GPU execution modes
- Different number of centoids
- Modular algorithm selection
- Support for RGB and grayscale images
- Measuring Runtime
- CUDA
- C++
- OpenCV
- Parallel Programming Concepts
- CUDA Toolkit
- OpenCV
- NVIDIA GPU
- C++ Compiler
|
Ali Younis |
Louai Khaled |
Ahmed Mahmoud |
Ahmed Hajhamed |
Zeyad Wail |



