Retinal Blood Vessel Segmentation
MATLAB-based retinal fundus image segmentation using the Principal Curvature Method, achieving 96.17% accuracy for early detection of diabetic retinopathy and glaucoma.
Overview
Retinal blood vessel segmentation from fundus images is critical for the early detection of diabetic retinopathy and glaucoma — two leading causes of preventable blindness. This project was built for BME 4112: Biomedical Image Processing Laboratory at KUET, implementing the Principal Curvature (Hessian-based) method with CLAHE contrast enhancement for robust vessel detection.
Methodology
- Load retinal fundus image and ground truth mask
- Pre-processing — Gaussian filtering for noise removal
- Segmentation — Hessian eigenvalue computation (principal curvature) to detect tubular vessel structures
- Contrast Enhancement — CLAHE (Contrast Limited Adaptive Histogram Equalization)
- Post-processing — Morphological operations to refine vessel boundaries
- Validation — Pixel-wise comparison against ground truth mask
Results
| Metric | Value |
|---|---|
| Accuracy | 96.17% |
| Sensitivity (TPR) | 61.89% |
| Specificity | 98.94% |
| False Positive Rate | 1.07% |
Tech Stack
MATLAB Image Processing Toolbox Principal Curvature Method CLAHE Morphological Operations
Key Functions
-
lamdafind()— computes Hessian matrix eigenvalues at each pixel to measure local curvature, identifying tubular vessel-like structures -
isodata()— iterative global thresholding via the Isodata method to binarize the enhanced vessel map