The expansion of a pixel consists in checking its
eight neighbours for color similarity with its region.
Pixels considered similar are included in the mask
and added at the end of the expansion list. The
process stops when all pixels in the expansion list
have been processed. Repeated checking of the same
pixels is avoided by keeping track of the already
examined pixels. Also, if a seed pixel is contained in
a segmented region, it is not expanded again.
3.2 Defining a Region Color
To decide if a pixel is included in a region, we
perform a similarity test between the color of the
pixel and the color that characterizes the region.
Initially, the region is characterized by the color of
the seed pixel and, as new pixels are included, the
region color evolves to better represent the region.
To determine the current region color, two
approaches have been tested: taking the color
average of the included pixels, and taking the peak
value of the current histogram. In both cases, since
the region color evolves, the inclusion of a pixel in a
region depends on the precise time at which the test
is performed. To solve this, an iterative process of
relaxation can be done in the following way: once a
growing process is completed, the region color is
fixed and all the included pixels are incorporated in
the expansion list. Then the region growing process
is repeated as before, except that the region color is
not updated during the process. The pixels in the
resulting region are used to compute the new region
color that will be used in the next iteration of the
relaxation process. Successive relaxation steps can
be repeated until convergence to a stable region.
Tests performed in a number of images show
that, when using the color average, convergence is
reached in about five steps in most cases. However,
if the histogram peak is used, convergence is faster,
and is reached after just one or two steps. In both
cases, the segmentation is robust to the random
selection of seeds, always providing equivalent
results in different executions.
Therefore, we adopted the histogram peak to
represent the region color. Moreover, since results
do not vary significantly with relaxation, we perform
a single step in order to improve computing time.
3.3 Merging Regions
The region growing processes are independent, in
the sense that a pixel may be included in a region no
matter if it was already included in another one or
not. This mitigates the well known problem of
region growing techniques, whose outcome often
depends on the order in which seeds are expanded.
Thus, in our approach regions may overlap,
indicating that they are relatively similar. For this
reason, after the growing processes overlapping
regions are merged provided they pass a test of color
similarity, though with a larger tolerance than in the
case of pixels.
Since we allow regions to overlap, in some
cases highly overlapped regions, only differing in a
few pixels, may be obtained from different seeds.
This affects efficiency since the same tests are
repeated unnecessarily. To avoid this, the expansion
of a region into an already existing one is limited
only to region borders: pixels already included in
another region are added to the region mask, but not
to the expansion list.
An additional merge process is also done to join
similar regions that don’t overlap, but that are close
enough to each other.
In the final output of the segmentation process,
regions below a predetermined size are filtered off.
The remaining regions are then characterized by
their representing color and their spatial moments up
to order 2, which will be used later on for landmark
identification.
4 EXPERIMENTS AND RESULTS
In figures 1 to 3 a mountain environment image is
segmented. The result of the region growing process
is shown in figure 2, where an oversegmentation is
present with more than 30 regions. Each extracted
region is represented by its color and an ellipse
representing its spatial moments. The result after the
merge process is shown in figure 3, resulting in 8
final regions. The image size is 640x480 and 85% of
it was segmented, taking about 500 ms in a 2.40GHz
processor.
In figures 4 to 6 a field road environment image
is segmented. A strong oversegmentation is present
after the region growing process with more than 70
regions, as shown in figure 5. But, after the merge
process the final result is 13 regions, as shown in
figure 6. The image size is 240x240 and only 60% of
it was segmented, taking about 150 ms in the same
processor.
For real-time navigation we need shorter
processing times and therefore the integration with a
previous salient region detection module would be
useful to reduce the fraction of the image to be
segmented.
ICINCO 2006 - ROBOTICS AND AUTOMATION
554