We have now localized a set of possible candidates for objects of
interest (balls and pockets). To recognize and classify these objects,
we propose the use of color models. We train a set of probabilistic
color models for the pockets and the balls (cue ball, 8-ball, the
seven striped balls and the seven solid balls). We also train models of
other objects that might appear in the image as false alarms: a color
model of the pool cue and the player's hand. This process is identical
to the color modeling used for the table and we obtain a total of 20
models which have a form similar to
Equation . We shall refer to these models as
.
Figure and Figure
show the color
modeling process for the solid red ball and the striped orange
ball. For each model, we begin with a distribution of pixels in RGB
space as shown in Figure
(a) and
Figure
(a). These sets of 3 dimensional RGB vectors
are labeled
. For each
we compute a
model
when we first train the system.
Figure: The Solid Red Ball (Trained)
Figure: The Striped Orange Ball (Trained)
Next we apply all 20 color models to examine each of the possible
candidate symmetry peaks. Around each peak, we collect a small window
of pixels. All non-table pixels (i.e. the ones that did not match the
table's color model) are collected to form a distribution of RGB data
similar to the one in Figure (a). This test
distribution will be called
. We form a single Gaussian color
model (because EM with multiple Gaussians would be too slow to compute
online). This model, shown in Figure
(b), is
called
.
Figure: The Test Object (Orange Striped Ball)
To classify our test distribution we use a common distance
metric between probabilistic models. This metric is the
Kullback-Liebler divergence [4]
. By measuring the 'distance' between
test data
and our training data,
for
we can see how similar it is to other objects. We
determine the closest model i for each symmetry peak and label that
peak accordingly. This process is iterated over all the symmetry peaks
which are ultimately labeled as solid ball, striped ball, cue ball,
8-ball, pocket and 'other'.