Draft write-up
A U-Net model that labels every pixel of a retinal fundus image as vessel or background. Retinal vessel maps are a standard input for screening and for tracking diseases that change the vascular tree.
01Problem
Retinal vessels are thin, branch repeatedly and fade into the background near their tips. Simple thresholding breaks on uneven lighting, and a classifier that sees only whole images cannot say where the vessels are. The task needs dense, pixel-level prediction that keeps thin structures connected.
02Approach
- 01
Frame it as pixel-wise segmentation
Predict a binary vessel mask for every input image, trained against annotated vessel maps.
- 02
Use a U-Net
An encoder-decoder with skip connections, which keeps fine spatial detail from early layers available to the decoder. That matters for thin vessels.
- 03
Evaluate overlap with the annotations
Compare predicted masks with annotated vessels using overlap-based measures, since plain pixel accuracy is dominated by the background.
03Architecture
Image in, vessel mask out, through a standard U-Net encoder-decoder.
01Input
Fundus imageRetinal photograph, preprocessed and resized.
02Encoder
U-Net contracting pathConvolution and downsampling blocks that build context.
03Decoder
U-Net expanding pathUpsampling with skip connections that restore fine detail.
04Output
Per-pixel probabilityThresholded into a binary vessel mask.
- Pixel-level vessel masks
- Skip connections for thin structures
- Overlap-based evaluation
04Challenges
Vessels are a tiny fraction of pixels, so a model can score well by predicting background.
FixJudge the model on mask overlap with the annotations instead of pixel accuracy.
05Learnings
Outcomes
- A trained U-Net for retinal vessel segmentation
- A repeatable notebook workflow from images to masks
What I learned
- Class imbalance decides which metric is honest.
- Skip connections are what keep thin structures intact.
06Next
- 01Add the dataset name, split and overlap scores
- 02Show predicted masks next to the annotations


