55:148 Digital Image Processing
Chapter 5, Part IV
Segmentation: Matching
Related Reading
Sections from Chapter 5 according to the WWW Syllabus.
Chapter 5.4 Overview:
Matching
- Matching is another basic approach to segmentation that can be used
to locate known objects in an image, to search for specific patterns, etc.
- The best match is based on some criterion of optimality which depends
on object properties and object relations.
- Matched patterns can be very small, or they can represent whole objects
of interest.
- While matching is often based on directly comparing gray-level properties
of image subregions, it can be equally well performed using image-derived
features or higher-level image descriptors.
- In such cases, the matching may become invariant to image transforms.
- Criteria of optimality can compute anything from simple correlations
up to complex approaches of graph matching.
Matching criteria
- Exact copy of the pattern of interest cannot be expected in the processed
image - some part of the pattern is usually corrupted in real images by
noise, geometric distortion, occlusion, etc.
- Search for locations of maximum match is appropriate.
- Matching criteria can be defined in many ways; in particular, correlation
between a pattern and the searched image data is a general matching criterion.
- Let f be an image to process, h be a pattern to search for, and V be the
set of all image pixels in h.
- Possible matching optimality criteria describing a match between f
and h located at a position (u,v):
-
The "1" added to each denomiator to prevents dividing
by zero for a perfect match.
-
The cost is evaluated at each (u,v) pixel location in the
image being processed.
-
Possible implementation decissions include whether the pattern
is only computed entirely within the image or partial pattern positions
when the pattern crosses image borders.
- A simple example of the C_3 optimality criterion values is given:
- If a fast, effective Fourier transform algorithm is available, the
convolution theorem can be used to evaluate matching.
- The correlation between a pattern h and image f can be determined by
first taking the product of the Fourier transform F of the image f and
the complex conjugate of the Fourier transform H^# of the pattern h and
then applying the inverse transform.
- To compute the product of Fourier transforms, F and H^# must be of
the same size; if a pattern size is smaller, zero-valued lines and columns
can be added to inflate it to the appropriate size.
- Sometimes, it may be better to add non-zero numbers, for example, the
average gray level of processed images can serve the purpose well.
Control strategies of matching
- Match-based segmentation localizes all image positions at which close
copies of the searched pattern are located.
- These copies must match the pattern in size and rotation, and the geometric
distortion must be small.
- To adapt match-based methods to detect patterns that are rotated, enlarged,
and/or reduced, it would be necessary to consider patterns of all possible
sizes and rotations.
- Another option is to use just one pattern and match an image with all
possible geometric transforms of this pattern, and this may work well if
some information about the probable geometric distortion is available.
- Note that there is no difference in principle between these approaches.
- Matching can be used even if an infinite number of transformations
are allowed. Let us suppose a pattern consists of parts, these parts being
connected by rubber links.
- Even if a complete match of the whole pattern within an image may be
impossible, good matches can often be found between pattern parts and image
parts.
- Good matching locations may not be found in the correct relative positions,
and to achieve a better match, the rubber connections between pattern parts
must be either pushed or pulled.
- The final goal can be described as the search for good partial matches
of pattern parts in locations that cause minimum force in rubber link connections
between these parts.
- A good strategy is to look for the best partial matches first, followed
by a heuristic graph construction of the best combination of these partial
matches in which graph nodes represent pattern parts.
- Match-based segmentation is time consuming even in the simplest cases
with no geometric transformations, but the process can be made faster if
a good operation sequence is found.
- The sequence of match tests must be data driven.
- Fast testing of image locations with a high probability of match may
be the first step, then it is not necessary to test all possible pattern
locations.
- Another speed improvement can be realized if a mismatch can be detected
before all the corresponding pixels have been tested.
- The correlation changes slowly around the best matching location ...
matching can be tested at lower resolution first, looking for an exact
match in the neighborhood of good low-resolution matches only.
- The mismatch must be detected as soon as possible since mismatches
are found much more often than matches.
- Considering the matching formulae given above, testing in a specified
position must stop when the value in the denominator (measure of mismatch)
exceeds some preset threshold.
- This implies that it is better to begin the correlation test in pixels
with a high probability of mismatch in order to get a steep growth in the
mismatch criterion.
- This criterion growth will be faster than that produced by an arbitrary
pixel order computation.
Last Modified: November 25,1996