Hi David!

>  As far as I know, foreground and background are still objectively
different from the computer's point of view and our point of view; they have
different characteristics. A background tends to
> be less detailed than a foreground; also, the definition of background is
further muddied by the possibility of having multiple overlapping objects at
different depths.

I see your point. The problem is that humans might have an intuition
for background although it does not work for all pictures.

If there were any objective difference between background and
foreground then a foreground selection tool would exist with a hundert
percent robustness and nobody would care about extracting manually or
even semi-automatically because the entire problem would not exist.
One could just use this objective criterion on any image without any
user interaction and let the computer do the segmentation (even in
batch mode).

The reality is that there is no unique definition to distinguish
foreground from background in every picture.

You can prove this easily:
Given a picture that consist of one white pixel and one black pixel.
What is foreground now?
Four possible answers:
- "None" or "Both pixels" => No differentiation possible. Thanks, no
further argumentation needed.
- "White" => OK. You define all white pixels to be foreground. Given
this definition of foreground, I won't have to show you millions of
photographs where this definition does not work, will I?
- "Black". See "white".
- You give any other definition. This will not apply to the two-pixel
=> No unique definition for foreground or background exists that works
for all all images. Sorry.

> You clearly understand the tool(and maybe the algorithym too) better than
> However, my basic point is that 'what is not foreground' may mean
something quite different from 'what is background'; the only case in which
this will be false is when all objects are all at the same depth.

In this point you are right. As it is not clear what foreground and
background is, it is well possible for a given picture, that a third,
fourth, fifth class exists...

SIOX is a heuristics and there are several assumptions behind it:
1.) The user wants to extract one object (one connected pixel area) or
a set of objects (several connected pixel areas) of similar color
structure [=foreground].
2.) The foreground has an overall different color structure than the
rest of the picture [=background].
3.) The user provides the algorithm with information of the color
structure of the background and gives a spatial hint where the
foreground may reside. This is done by drawing the first lasso
selection. Everything outside the lass is considered background.
4.) The user provides further information on the color structure of
the foreground. This is done using the foreground brush marking.

Then the SIOX algorithm classifies those pixels that are not
background and not part of the foreground marking by comparing their
"perceptual similarity" to these two classes. Further (foreground or
background) markings can be added if SIOX' first guess wasn't

So given the heuristics defined by SIOX, background is the true
opposite of foreground. If for some reason it might be hard to extract
"background" with SIOX: Try to extract the "foreground" and invert the

However, because no unique definition of background or foreground
exists, there will always be images where any automatic foreground
extraction fails (even the one working in our brains). The good thing
about SIOX is that it works better for more images than the other
extraction tools that I know.


Gerald Friedland         Raum 164       Tel: ++49 (0)30/838-75134
Freie Universität Berlin Takustr. 9     http://www.gerald-friedland.org
Institut für Informatik  14195 Berlin   [EMAIL PROTECTED]
Gimp-developer mailing list

Reply via email to