2. Contour Models with Part Bundles
Given a single model contour that can be hand drawn
or extracted from an example image, we first decompose it into possibly overlapping model contour parts (or segments)
; breaking segments at high curvature
points. The segments are then grouped into part bundles.
An example bundle decomposition is shown in Fig. 4.
In addition to longer contour segments, we need to select
shorter ones, since contour parts may be missing in edge
images. The main constraint for the bundle design is to ensure
that a rough shape sketch obtained by selecting one
part form each bundle still resembles the model contour. A
bundle can have fragments representing overlapping parts
thus allowing for redundancy. A cognitive motivation behind
our bundle decomposition scheme is that an object can
be recognized even if some parts of it are missing, as can be
observed in Fig. 1. There are several reasons why parts of
objects can be missing in real images: missing edge information,
occlusion, failures in contour grouping. The selection
of parts and their grouping into bundles was designed
manually. We have one model per shape class and select
model parts and grouping them into bundles. However,
when ground truth images with detected contour fragments
were available, automatic learning part bundles is also possible.

Figure 4. The contour model of the apple and the corresponding
part bundles. The contour is shown in the center. The 11 contour
fragments are decomposed into four part-bundles.
Formally, , where Bk ⊂ S and m' ≤ m,
is a part bundle decomposition of S if and only if
and for i, j = 1, ...,m' and i ≠ j.
The part bundles are naturally integrated in our PF
framework in that they constrain the proposal distribution
defined in 1.1. Given a particle =
((s1, e1), . . . (st-1, et-1)), at steps t = 2, . . .,m' - 1 we
constrain the correspondence xt = (st, et) to select st that
belongs to a different part bundle from the part bundles
of s1, . . . , st-1. Thus, we ensure to first have one segment
from each part bundle. Only when this is satisfied for
t = m', we allow to select multiple segments form the same
bundles. Intuitively this means that we enforce our particles
to first trace a rough shape sketch of the model shape
in the edge image before filling in shape details. We show an example evolution of particle filter in Fig. 5. Matching edge fragments are numbered with corresponding model
segments shown in Fig. 4. Rough sketch (matching model
segments are from different part bundles) is obtained after
iteration 3, shape details are added in iterations 4 and 5.
 Figure 5. The evolution of particles: (b) shows the edge fragments
of (a); (c) edge fragments that are parts of initial particles are in
color; (d) to (g) shows edge fragments of particles with highest
weights after each iteration. The part bundle model is shown in
Fig. 4. Rough sketch is obtained after iteration 3, shape details are
added in iterations 4 and 5.
|