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

  1. Load retinal fundus image and ground truth mask
  2. Pre-processing — Gaussian filtering for noise removal
  3. Segmentation — Hessian eigenvalue computation (principal curvature) to detect tubular vessel structures
  4. Contrast Enhancement — CLAHE (Contrast Limited Adaptive Histogram Equalization)
  5. Post-processing — Morphological operations to refine vessel boundaries
  6. 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

View on GitHub