Image Segmentation

Segmentation example: separating the
person from the background

Segmentation means dividing into parts. Image segmentation is the process of dividing an image into regions that belong together. People do this every time they pick an object out from its background. For example, one might like to figure out which part of the image at right contains the person. For computers, the task can be much harder than it appears.

I am interested in segmentation as a first step in doing other things with an image. For example, tracking a person is much easier if you know where the person is in an image. I have developed a highly accurate way to segment a person moving in front of a static scene, based upon background subtraction and a minimal graph cut. It usually results in a cleaner, more accurate boundary between the moving person and the background. My Matlab implementation is available here.

I am also interested in general segmentation of images for retrieval. The goal here is modest: simply to divide an image into homogeneous regions, by building models of local areas in the image, and selecting the handful that most successfully describe the larger regions.

Binarixation of documents can be viewed as a specialized form of image segmentation.

See a list of papers on image segmentation.

Download MATLAB reference code for foreground segmentation in video.