Page 313 -
P. 313

Section 9.4  Segmentation, Clustering, and Graphs  281





























                            FIGURE 9.22: Images segmented using Algorithm 9.8, shown next to segments. Figures
                            obtained from http://people.cs.uchicago.edu/ ~ pff/segment/, by kind permission of
                            Pedro Felzenszwalb.

                                 Comparing the edge weight to the internal difference of the clusters requires
                            some care, because in small clusters the internal distance might be zero (if there
                            is only one vertex), or implausibly small. To deal with this, Felzenszwalb and
                            Huttenlocher (2004) define a function of two clusters, MInt, as
                                         MInt(C 1 , C 2 ) = min(int(C 1 )+ τ(C 1 ), int(C 2 )+ τ(C 2 ))

                            where τ(C) is a term that biases the internal difference upward for small clusters;
                            Felzenszwalb and Huttenlocher (2004) use τ(C)= k/ |C |,for k some constant
                            parameter. This algorithm is notably fast and relatively accurate (Figure 9.22).

                     9.4.3 Divisive Clustering with a Graph
                            As we have seen (Section 9.2.3), it is extremely useful to separate an image into
                            a foreground and background based on examples. Assume we have a map of pix-
                            els, one per image pixel, where each pixel in the map carries one of three labels:
                            foreground, background or unknown (these maps are sometimes known as trimaps)
                            depending on whether the corresponding image is in the foreground, background
                            or is unknown. We should like to take the foreground and background pixels, build
                            models from these, then label the unknown pixels with these models. There are two
                            important constraints on the labels. First, a pixel that looks like the foreground
                            examples should get a foreground label (similarly for background). Second, pixels
                            should tend to have labels that are the same as their neighbors’.
                                 Boykov and Jolly (2001) phrase this problem as energy minimization. Write F
                            for the set of pixels with foreground labels, B for the set with background labels, and
                            U for the unknown pixels. We associate a binary variable δ i with the ith unknown
   308   309   310   311   312   313   314   315   316   317   318