polyhSP - model

NAME

polyhSP

SYNOPSIS

polyhSP [ -help ] [ -nm ] [ -nf ] [ -nh ] [ -nv ] [ -S filename ] [ -M filename ] [ -J filename ] [ -F filename ] [ -H filename ] [ -V filename ] [ -c image-columns ] [ -r image-rows ] [ -x resolution ] [ -y resolution ] [ -f focal-length ] [ -t ] [ -q ] [ -j junc-threshold ] [ -p rho-threshold ] [ -a angle-threshold ] [ -d distance-threshold ] [ -v ] [ -n num-hypotheses ] [ -e endpoint-threshold ]

DESCRIPTION

polyhSP is a complete polyhedral object recognition system. The program consists of four integrated modules: object model preprocessing, feature extraction, hypothesis generation and hypothesis verification. Any or all of six input/output files may be used: model surfaces, preprocessed object model, image junctions, image features, unverified hypotheses and verified hypotheses. The relationships between the modules and the files are as follows:

     surfaceFile
          |
          |
          V
      PREPROCESS
          |
          |
          V
      modelFile
          |
          |
          V
     HYPOTHESIZE<--featuresFile
          |                 ^
          |                 |
          V                 |
    hypothesisFile       EXTRACT
          |                 ^
          |                 |
          V                 |
        VERIFY<----junctionFile
          |
          |
          V
     verifiedFile

By default, each of the four modules is executed in turn, but options are provided to select any subset of the modules. Only those files that are necessary for initial input or final output are compulsory. Any intermediate data produced (ie. preprocessed model, extracted features or unverified hypotheses) is lost unless the relevant file option is specified, in which case the named file will be used for output. If intermediate data is required as input (eg. if hypothesis generation is to be performed but model preprocessing is disabled), then the relevant file option is compulsory and the named file will be used for input.

FILE FORMATS

All files are in gf(5) format.

Object Model Surfaces File

This file should contain a list of the object model surfaces.
Surfaces
Each entity in the set represents a polygonal surface of the polyhedral object. Since the line must be a closed loop, the number of points on the line is one greater than the number of vertices on the corresponding surface, and the final point in the list must be the same as the first. Also, the points must be listed in clockwise order, as viewed from outside the object. This initial description can be checked visually using Xmgf(1). For example, a unit cube could be represented as:

@Set Surfaces
Format num PolyLine3D
1 5 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0
2 5 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0
3 5 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0
4 5 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0
5 5 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0
6 5 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1
@

Preprocessed Object Model File

The preprocessed model file consists of three sets: vertices, surfaces and triangle-pairs.
Vertices
A list of object vertices in a model-centered coordinate system. This is formed by scanning through the initial list of surfaces.
Surfaces
Similar to the initial list of surfaces, but each surface now includes a list of the index numbers of its constituent vertices.
TrianglePairs
The `typeT' field contains 1 for a `T'-type triangle-pair and 0 for a `Z'-type. The next two fields are the index numbers of the two surfaces represented by the triangle-pair, and the following four fields are the index numbers of the triangle-pair vertices. The last part of the entity consists of the actual lines of the triangle-pair, suitable for display using Xmgf(1).

Image Junctions File

The junction file is produced by George Matas' junction finder, junct(1).

Image Features File

The features file contains three sets: `T'-type triangle-pairs, `Z'-type triangle-pairs and quadrilaterals.
TrianglePairsT, TrianglePairsZ, Quadrilaterals
The `IDJLines' fields give the index numbers of the image lines that form the triangle-pair or quadrilateral feature. The remainder of the entity contains the coordinates of the vertices of the feature in the image.

Hypotheses File

This file contains a single set of unverified hypotheses.
Hypotheses
The first six fields are the hypothesized parameters of the transformation from the model-centred coordinate system to the camera-centred coordinate system - three rotations (theta, phi, gamma) and three translations (in the x-, y- and z-directions). After the transformation comes the index numbers of the visible model surfaces and their hypothesized projections on the image.

Verified Hypotheses File

This file contains a single set of verified hypotheses.
VerifiedHypotheses
This is the same as the unverified hypotheses set except for the addition of the calculated hypothesis quality as the first field in the line.

OPTIONS

For options that take parameters, there must be a space between the option letter and the parameter.
-help
List the options available and the default values used.
-nm
Don't perform model preprocessing.
-nf
Don't perform feature extraction.
-nh
Don't perform hypothesis generation.
-nv
Don't perform hypothesis verification.
-S " surfaces-file"
The name of the model surfaces file. If performing model preprocessing, this option must be used to specify the input file. A single dash indicates the standard input.
-M " model-file"
The name of the preprocessed model description file. If performing model preprocessing but not hypothesis generation, this option must be used to specify the output file. If performing hypothesis generation but not model preprocessing, this option must be used to specify the input file. A single dash indicates the standard input or standard output, as applicable.
-J " junction-file"
The name of the image junctions file. If performing feature extraction or hypothesis verification, this option must be used to specify the input file. If performing feature extraction but not hypothesis generation, this option must be used to specify the output file. A single dash indicates the standard input or standard output, as applicable.
-F " features-file"
The name of the image triangle-pair and quadrilateral features file. If performing feature extraction but not hypothesis generation, this option must be used to specify the output file. If performing hypothesis generation but not feature extraction, this option must be used to specify the input file. A single dash indicates the standard input or standard output, as applicable.
-H " hypotheses-file"
The name of the unverified hypotheses file. If performing hypothesis generation but not hypothesis verification, this option must be used to specify the output file. If performing hypothesis verification but not hypothesis generation, this option must be used to specify the input file. A single dash indicates the standard input or standard output, as applicable.
-V " verified-file"
The name of the verified hypotheses file. If performing hypothesis verification, this option must be used to specify the output file. A single dash indicates the standard output.
-c " image-columns"
The width of the image, in pixels. The default is 256. This option is only relevant when performing hypothesis generation.
-r " image-rows"
The height of the image, in pixels. The default action is to assume that the number of rows is the same as the number of columns. This option is only relevant when performing hypothesis generation.
-x " resolution"
The horizontal resolution of the camera CCD, in millimetres per pixel. The default is 0.008. This option is only relevant when performing hypothesis generation.
-y " resolution"
The vertical resolution of the camera CCD, in millimetres per pixel. The default action is to assume that the vertical resolution is the same as the horizontal resolution. This option is only relevant when performing hypothesis generation.
-f " focal-length"
The focal length of the camera, in millimetres. The default is 12.0. This option is only relevant when performing hypothesis generation.
-t
Don't use triangle-pair features. This option is only relevant when performing feature extraction or hypothesis generation.
-q
Don't use quadrilateral features. This option is only relevant when performing feature extraction or hypothesis generation. The options '-t' and '-q' are mutually exclusive.
-j " junction-threshold"
This threshold is applied to the Euclidean distance between image junctions to decide if they are coincident. The effect of the threshold is to determine the minimum length of the lines of triangle-pair and quadrilateral features. The default is 8.0 pixels. This option is only relevant when performing feature extraction.
-p " rho-threshold"
This threshold is applied to the perpendicular distance of a point from a line to decide if the point lines on the line. The threshold is applied when preprocessing image lines to obtain accurate endpoints. The default is 4.0 pixels. This option is only relevant when performing feature extraction or hypothesis verification.
-a " angle-threshold"
This threshold is applied to the angle constraint used for pruning the list of hypotheses. The default is 20.0 degrees. This option is only relevant when performing hypothesis generation.
-d " distance-threshold"
This threshold is applied to the distance constraint used for pruning the list of hypotheses. The default is 0.2 (ie 20%). This option is only relevant when performing hypothesis generation.
-v
Apply the additional pruning constraint that the projection of a hypothesis must be completely within the field of view. This option is only relevant when performing hypothesis generation.
-n " integer"
The number of verified hypotheses to output. The default is all of them. This option is only relevant when performing hypothesis verification.
-e " endpoint-threshold"
This threshold is applied to the distance between the endpoints of observed and predicted lines when verifying a hypothesis. It is specified as a fraction of the length of the predicted line. The default is 0.2 (ie 20%). This option is only relevant when performing hypothesis verification.

SEE ALSO

gf (5), synth (n), xgf (n), Xmgf (1), Section 3 of Active Recognition of 3D Objects

AUTHOR

Copyright (C) 1994 by Steve Procter.
10-Jul-96. Automatically converted by man2html, written by G.Matas (g.matas@ee.surrey.ac.uk)