Biased Normalized Cuts

Subhransu Maji, Nisheeth Vishnoi and Jitendra Malik

Below is an implementation of the biased normalized cut framework described in the paper:

Biased Normalized Cuts,
Subhransu Maji, Nisheeth Vishnoi and Jitendra Malik,
In Proceedings, CVPR 2011, Colorado Springs.
pdf


Biased Normalized Cuts Pipeline


Code and Instructions

Normalized Cuts based on Berkeley Boundary Detector (gPB)

First download the Berkeley contour detection code here (BSR_code.tgz). Place the three files listed below inside grouping directory (BSR/grouping).

  • im2evec.m: computes the generalized eigenvectors of the image based on the intervening contour cue using the gPB signal.
  • biasedNcutDemo.m: demo file for interactive biased ncuts
  • baby.jpg: example image.
Details of the Berkeley contour detection algorithm can be found here. If you use this code please also cite:

Contour Detection and Hierarchical Image Segmentation,
P. Arbelaez, M. Maire, C. Fowlkes, and J. Malik. IEEE TPAMI 2010.

Below are some examples. On the left the blue points represent the bias (prior) and the biased normalized cut is on the right.

Breakdown of the elapsed time on a 160X160 image:

  • 24.060s for local cues, 20.170s for generalized eigenvectors.
  • 0.005s for each biased ncut.


Normalized Cuts based on Oriented Gaussian Derivatives

A faster but less accurate version based on the normalized cuts code written by Timothee Cour, Stella Yu and Jainbo Shi available here can be downloaded below:

Installation instructions:

  • Follow the instructions for installing the above code. You should be able to run demoNcutImage.m
  • Place this file (demoBiasedNcutImage.m) inside the main directory.
  • Change the dataNcut.offset parameter from 5e-1 to 0 in ncut.m (Line 26, dataNcut.offset = 0)
  • Run the demoBiasedNcutImage.m for an interactive demo.
The combined files can also be downloaded here (demoBiasedNcut.tar.gz).

Below are some examples. On the left the blue points represent the bias (prior) and the biased normalized cut is on the right.

Breakdown of the elapsed time on a 160X160 image:

  • 8.720s for preprocessing (intervening contour cue, ncut eigenvectors, etc.)
  • 0.005s for each biased ncut.


Last updated: April 1, 2011 - Subhransu Maji