|
| |
Segmentation: Matching

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 a processed image, h be a pattern for which to search, and V be
the set of all image pixels in the processed image. |
 | Possible matching optimality criteria describing a match between f and h
located at a position (u,v): |

Since absolute match must be considered, adding "1" to all
denominators is practical.

 | 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. |

|