Pb-Lite Edge Detection

Pb-Lite is a simplified implementation of probability-based boundary detection, developed as part of the RBE549 Computer Vision course at Worcester Polytechnic Institute. Rather than relying solely on intensity discontinuities, the system incorporates texture, brightness, and color gradient information across multiple scales to produce sharper, more semantically meaningful edge maps.


Filter Banks

Three families of filters are convolved with the input image to extract multi-scale texture responses.

Derivative of Gaussian (DoG)

DoG filter bank

Leung-Malik (LM) Filters

LM filter bank

Gabor Filters

Gabor filter bank

Half-Disc (HD) Masks

Half-disc masks

Pipeline: Sample Results (Image 1)

Original

Original image 1

Texton Map

Texton map 1

Brightness Map

Brightness map 1

Color Map

Color map 1

Sobel Baseline

Sobel baseline 1

Canny Baseline

Canny baseline 1

Pb-Lite Output

Pb-Lite output 1

Pipeline: Sample Results (Image 10)

Original

Original image 10

Texton Map

Texton map 10

Sobel Baseline

Sobel baseline 10

Canny Baseline

Canny baseline 10

Pb-Lite Output

Pb-Lite output 10

How It Works

1. Filter Bank Responses — The input image is convolved with DoG, LM, and Gabor filter banks to generate multi-scale, multi-orientation texture responses.

2. Texton Map — K-means clustering (K=64) on filter responses assigns each pixel a texton label, capturing local texture structure.

3. Brightness & Color Maps — K-means (K=16) on grayscale intensity and RGB color channels produces compact brightness and color cluster maps.

4. Gradient Computation — Half-disc masks at multiple scales compute chi-squared distances between cluster histograms on opposite sides of each pixel, yielding texture gradient (Tg), brightness gradient (Bg), and color gradient (Cg).

5. Pb-Lite Combination — The gradients are combined with Sobel and Canny baselines via weighted averaging to produce the final probabilistic boundary map.


View Code on GitHub