Figure: The color training samples
Figure: Fitting a Gaussian Mixture
To find the pool table, we train a probabilistic color model of the
green felt that covers it [18] [9]. This is done
by taking multiple training samples of several images of a pool table
under many imaging situations (offline). Each pixel in this
distribution forms a 3 element vector, [R G B] which corresponds to
the red, green and blue components of the color. We perform clustering
on this distribution of pixels which is shown in
Figure . The clustering uses Expectation
Maximization (EM) to find a probability distribution model for pool
table colors [5] [19]. This model is a mixture of
Gaussians (the appropriate number of Gaussians is determined a priori
with cross-validation). The EM algorithm iterates by adjusting the
parameters of the Gaussian probability model to maximize the
likelihood of the training samples. The probability distribution model
starts off in a random configuration and converges to the configuration
in Figure
. The mixture model is described by
Equation
where
is an (R,G,B)
vector.
When a new image is acquired, the likelihood of each pixel is
evaluated using this model and if it is above a threshold of
probability, it is labeled as a piece of the pool table. Then, a
connected component analysis is used to gather adjacent green pixels
to determine larger regions of grouped table pixels in the image. This
process is demonstrated in Figure . The largest
connected region of green pixels is selected as the table top and
proceeds through the algorithm for further processing.
Figure: Pool Table Localization