Classical machine vision · Co-authored academic project
Co-authored with Annur Anika
Interpretable Leaf Vein Analysis
An explainable image-processing pipeline for extracting and measuring leaf vein networks.
- Python
- OpenCV-style image processing
- PCA
- K-Means
- Random Forest
- Jupyter
Overview and context
An interpretable computer-vision pipeline that extracts, measures, and analyses leaf vein networks from grayscale images, combining classical image processing, handcrafted structural features, dimensionality reduction, clustering, and machine-learning validation. Completed August 2026 as part of my MSc.
Problem
Faint secondary veins, uneven lighting, noise, and changing vein thickness make leaf vein extraction unreliable — and deep networks can hide why they succeed or fail.
My role and contribution
- Co-author of the project with Annur Anika; the project write-up credits both authors jointly.
Technical approach
- Standardize images to 512 × 512 and normalize intensity.
- Compare Gaussian, median, and bilateral filtering for noise reduction versus structure preservation.
- Enhance local contrast with CLAHE, unsharp masking, and top-hat transformation.
- Segment with global, Otsu, and adaptive thresholding plus Canny edges; refine with morphology and connected components.
- Skeletonize the network, detect endpoints and junctions, extract handcrafted features, then apply PCA, K-Means clustering, and Random Forest validation.
Evidence and outcomes
- A complete, inspectable pipeline applied to 900 CHAMBASA leaf images.