Project 2: pb-lite: Boundary Detection

CS 143: Introduction to Computer Vision

Hang Su


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:

  1. Generation of filter bank and gradient masks;
  2. Generation of texton image;
  3. Calculation of gradients for each channel;
  4. Combine gradients to get pb;
  5. 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
Below is the PR curve of pb-lite detector with 10 test images from the BSDS500 dataset:
The F-score is 0.62, although is not close to gPb, but apparently outperforms either Canny detector or Sobel 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,

Hang Su

Oct. 10th, 2011