pB-lite boundary detection detects boundaries in images by considering texture, brightness and color discontinuities. It is superior to classical methods of boundary detection like sobel and canny algorithms because of its ability to suppress false positives produced by the classical algorithms in textured regions. In this project, a simplified version of pb is implemented, which finds boundaries by examining brightness and texture information accross multiple scales. The output is a per-pixel probability of boundary. Evaluation of the effectiveness of this pb-lite implementation will be done against human annotations (ground truth) from a subset of the Berkeley Segmentation Data Set 500 (BSDS500).
Example 1: Original Picture - Butterfly
![]() |
![]() |
![]() |
___________________________________________________
Example 2: Original Picture - Butterfly
![]() |
![]() |
![]() |
Filter Banks used: 2 scales and 16 orientations
Filter banks are generated with different scales and orientation, and are filtered with the image input, and clustered into a set of texton ids using k-means, to generate a texton map.
Cicular half-disc mask pairs generated: 8 orientations, 3 scales
Half-discs of binary circles are used as masks as reference for brightness gradient and histogram calculations for texture and brightness gradient, using chi-square differences.
Texton Map generated
Texton map is generated by filtering the image with the filter banks and clustering the results into 64 bins of texton ids. Similarly for brightness gradient, 32 bins are used.
Test set of ALL 200 images given
Test set of 10 images
It is seen that for a test set of only 10 images, the pb-lite imlementation gives a higher ODS F value (0.59) than both sobel (0.45) and canny (0.58), indicating that it is outperforming both in boundary detection per pixel. However, for all 200 images, the ODS F value for canny and pB are the same (0.60). The pB implementation also takes significantly longer amount of time to process each image than either canny or sobel. Evaluation wise though, a sobel implementation takes 38.8109050 seconds to finish, while canny takes 74.402107 seconds and pb takes 55.598894 seconds. This is all for a test set of only 10 images.