MATCHER - matches elements between two ARGs

NAME

matcher

SYNOPSIS

matcher <scene> <model> [options]

DESCRIPTION

matcher implements the probabilistic matching algorithm as described in "Structural matching in computer vision using probabilistic reasoning", PhD thesis of W.J. Christmas, University of Surrey. It takes as its input two Attributed Relational Graph (ARG) files (arg(5). One of them is the scene graph, the other the model graph. matcher will attempt to find, for each scene node, the best match amongst the graph nodes, using a Maximum A Posteriori probability update rule. This rule may be iterated in order to relax the overall solution, depending on the options chosen. The program will (by default) list the current labelling of the scene nodes each time any of the matches changes. The log of the support function value is also printed (unless the low contextual support function is used, in which case the support function value itself is printed).

COMPULSORY ARGUMENTS

<scene> - uses the file <scene>.arg as the scene graph (default "scene.arg"). <model> - uses the file <model>.arg as the model graph (default "model.arg").

OPTIONS

I/O options:

-o <file> - generates a gf format file <file> of pairs of matching node numbers, with sets in the order: matched scene features, matched model features, list of matching feature IDs -t - match results are printed in a form suitable for inclusion in a Latex document (default is plain text). -q - reduced information is printed, suitable for large batch runs.

Grapics display options (only one permitted):

-0 - no output display file created. Default is to create files "scene_match.gf" and "model_match.gf" which contain the matched features in corresponding order. -1 - output gf format display files "scene_match.gf" and "model_match.gf" created at end of run (the default). -y - output gf format display file created/updated each time the relaxation process finds a new match (intended for use with xgf(1)). Use of the script match(1) is recommended for this option, at least to get you going.

Update rule options:

-a - probability updating is asynchronous. This means that, for each labelling, the prior probability used is always the most recent available - this might be from either the current or the previous iteration. The default is to always use prior probabilities generated from the result of the previous iteration. -J - non-iterative rule used (default is support function for iterative rule). Similar to a combination of -k 1 and -d. In a future release, this option will remove the need to store the compatibility coefficients. -Q - improves the accuracy for applications where the features are undirected line segments. The penalty is that twice as many compatibility coefficients are needed. Hence twice as much storage and twice the run time.

Algorithm parameter options:

-h <exponent> - scale the calculated value of eta by 10^<exponent>. -z <zeta> - use <zeta> for prior null match probability. Default value: if no. of image nodes > no. of model nodes, the value of zeta will reflect the view that the excess no. of image nodes will probably be matched to the null node; otherwise the default value will be the same as that of the non-null match prior probabilities. -p <params> - requests error standard deviations from file <params> instead of computing them. If covariances have been generated by gf2arg (e.g. using the "-n" option), the <params> file will be used in preference. If the scene ARG does not contain any variance/covariance information, this file, with default name "params", will be used anyway; in this case the program will terminate if the file is not found. The number and type of parameters needed will be influenced by the options used in gf2arg. They can be determined from the attribute and relation type listing produced by gf2arg. The parameters in the file should be in the following order (line feeds are optional): unary_sd_1 ... unary_sd_Ka binary_sd_1 ... binary_sd_Kr unary_sd_k, binary_sd_k are the standard deviations for kth unary or binary measurement. Note that angle values must be expressed in degrees. The numbers of attribute and relation types, Ka and Kr respectively, are determined by the ARG generation process - see gf2arg ). -P <param> <param> <param> ... - similar to the -p option, except that the parameters are included on the command line. This option must be placed after the compulsory arguments.

Iteration termination conditions:

-N <iters> - matching is terminated after precisely <iters> iterations (default is 200). -k <iters> - matching is terminated after at most <iters> iterations (default is 200). -K <static_iters> - matching is terminated if best match does not change in <static_iters> iterations (default is 20).

Debug options:

-D <i> <I> - debugging option - tabulates all of the evidence that goes towards the support function for the match of scene node i and model node I. -v - verbose output - includes all intermediate values of the probabilities and support functions. -help (1) [0] prints out usage information

SEE ALSO

gf2arg(1), match(1), arg(5), gf(5), xgf(1)

AUTHOR

Bill Christmas, University of Surrey, October 1994.
06-May-97. Automatically converted by man2html, written by G.Matas (g.matas@ee.surrey.ac.uk)