Project 2: pb-lite: Boundary Detection
CS 143: Introduction to Computer Vision
Hang Su
Email: hangsu@cs.brown.edu
Oct. 10th, 2011
1. Overview
gPb is a state-of-art contour detector which significantly outperforms traditional edge detectors such as Canny detector or Sobel detector, especially when lots of texture can found within the image. In the project, a simplified version of Pb, pb-lite, is implemented without globalization and automated process for parameter selection. Also, the non-maximum suppression step in original pb detector is skipped, but similar thinned result is achieved with the result multiplied by the output of Canny/Sobel detector.
The general framework of pb-lite involves the steps below:
- Generation of filter bank and gradient masks;
- Generation of texton image;
- Calculation of gradients for each channel;
- Combine gradients to get pb;
- Result evaluation;
among which the 2~3 steps are performed for each image.
2. Results
Here is some result comparison between pb-lite and baseline Canny/Sobel detectors.
Original image | pb-lite | baseline1: Sobel detector | baseline2: Canny detector |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Original image | pb-lite | baseline1: Sobel detector | baseline2: Canny detector |

3. Discussion
3.1 Filter banks
Usage of filter bank is a vital part of texture clustering. The simple but efficient filter bank is a collection of oriented derivative of Gaussian filters. Below is a filter bank with 16 orientations and 2 sizes:

More complex filter banks, such as Leung-Malik (LM) Filter Bank and Maximum Response (MR) Filter Bank[2], provide measurements of higher level derivatives and different filter shapes, but are found to be no big help for performance improvement.
![]() |
![]() |
LM Filter Bank | MR Filter Bank |
---|
PR curve for each filter bank doesn't seem much different. The experient is done using no color information.
![]() |
![]() |
LM Filter Bank | MR Filter Bank |
---|
3.2 Using color information
A simple version of pb-lite only use brightness channel and texton channel for gradient calculation and pb generation. The original paper by Arbelaez et al.[1] suggests using color information in L*a*b color space.In this project, I tries using rbg color channels and L*a*b channels, latter does improve the general performance but the improvement is not significant.
![]() |
![]() |
Brightness only(F-score=0.61) | Using Y*a*b color space(F-score=0.62) |
---|---|
![]() |
|
Using rgb color space(F-score=0.61) |
3.3 Generating pb
How to generate pb image using gradients also influences the performance of the detector. A simple way is to use the mean value across orientations, scales, channels. Using the multiscale Pb (mPb) method in the original paper by Arbelaez et al.[1] generally improves the performance. Actually, except for the experiment below, all the result in this page is got using mPb method.
mPb is generated by first sum over all the scales and channels, then use the maximum response among all the orientations as the final pb. The sum step can use parameters to weight the relative contribution of each gradient signal, but the parmeters need to be found through gradient ascent learning process, which is not implemented in my code.
![]() |
![]() |
Mean value (F-score=0.60) | mPb (F-score=0.61) |
---|
4. References
[1] P. Arbelaez, M. Maire, C. Fowlkes, J. Malik. Contour Detection and Hierarchical Image Segmentation. TPAMI2006.
[2] Oxford Visual Geometry Group, http://www.robots.ox.ac.uk/~vgg/research/texclass/filters.html
Hang Su
Oct. 10th, 2011