3.2. Stereo Matching and Computing 3-D
Coordinates of Edge Points
Although the constraints are similar, the matching
procedure for edge points differs somewhat from that
used for targets (El-Hakim, 1989). Since no isolated
points exist, some must be extracted from the edges.
For the left image in each pair, edge profiles are
taken at preset intervals to reduce the edge to an
appropriate set of points and the sub-pixel
coordinates of these points are determined by
convolving a step-edge function with the Gaussian
image function and equating it to the edge profile
followed by a least-squares adjustment to find the
unknown parameters of the step edge. For the right
image, since the corresponding points are not yet
determined, profiles are taken every pixel and the
sub-pixel image coordinates of these edge points are
computed. We now have a set of points for the left
image and a denser set for the right image. The
matching procedure is then applied as follows:
1. For each edge point from the left image, the
epipolar line on the right image is computed;
2. The epipolar line will intersect several edges in the
right image, out of which only one is correct;
3. Constraints, such as the disparity and depth
constraint, plus the added knowledge of the shape
of the complete edge, are applied to find the correct
match.
Some edges are determined from one pair, while the
others are determined from the other pair to avoid
those parallel or at small angles to the epipolar line.
The 3-D coordinates of the edge points are determined
and separated, or labeled, according to each isolated
edge.
3.3. Automated Part Measurement
The current VCM system is capable of automatically
measuring a finite set of parts. Some parts can be
measured automatically with very little operator
intervention while the automated measurement of
some other parts require that a setting up process be
performed by an operator familiar with the
measurement processes involved. In order to fully
automate the inspection of a variety of parts, it was
necessary to develop a strategy for dealing with parts
in a very general way. Since it would be difficult to
foresee all the possible requirements associated with
newly encountered parts, it was recognized that the
design strategy should allow for straightforward
system expansion.
.The following measurement strategy has been
designed to meet the requirements just outlined (see
also figure 3). The automatic inspection process has
been divided into two main steps. In the first step, the
system acquires all the measurement data, using a
wire-frame model as a guide (see section 3.1.3). After
this step, the measurement data will exist as sets of
labelled points. In the second step, the system uses the
data to perform the inspection. Dividing the
inspection process into these two main steps has the
benefit of allowing for the possible future integration
of the system with other measurement devices. Since
the second part of the measurement process receives
its input as sets of labelled points, these points would
not have to necessarily be provided by the machine
vision system. It is possible that the points come from
several different sources such as a coordinate
measuring machine or laser scanner. Thus, the
possibility for a multi-sensor inspection system exists.
The measurement step consists of two tasks. The first
task is to locate the part. In order to perform part
projection, the part must be located by the system.
This can be done using some of the more prominent
features of the part. Using some of the features to
locate the part and then using the model to find the
rest of the part features is preferable to having the
system find and identify all of the features without
any guidance. At the current time, target type
features have been successfully used to locate parts so
that part models can be applied. Primary edge
features could also be used to locate parts. Once the
part has been located, the second task, acquiring data
points, can be performed. Each distinct feature, as
defined in the model, is measured separately. Using
the edge projection technique to mark features
uniquely or in isolation removes the problem of
having to deal with multiple edges when performing
matching of edge points, thus virtually removing the
possibility for error. Another benefit of measuring
features separately is that the data points belonging
to specific features are easily maintained as sets of
data points labelled according to the feature in the
model to which they belong, thus alleviating the need
to perform feature recognition on the data sets.
The second part of the measurement process - consists
of dealing with the measured data. This step can also
be divided into two parts. In the first part, the system
is provided with the information it needs to derive
further feature information from the measured data.
Such features might include corner points, surfaces,
or even invisible features such as circle centers and
imaginary lines and boundaries. Once these features
are obtained they may be used in calculations in the
same manner as the directly measurable features.
Inspection calculations can then be driven by a list of
inspection orders. Each inspection order will give all
the information necessary to calculate one parameter
value. The first field in the inspection order will not
only identify the parameter to be calculated but will
also uniquely identify the subroutine used to calculate
it. Subsequent fields will identify the data sets
involved in calculating the parameter and the
tolerance specifications for the parameter. For
example, the entry "distance point to line 63 27 19.99
20.01" would be a request to calculate the distance
from “point 63” to “line 27” and make sure the value
is between 19.99 cms and 20.01 cms. As new types of
inspection tasks are encountered, new routines can
easily be added to the system to handle them without
having to redesign the rest of the measurement
system.
4. CONCLUDING REMARKS
The edge measurement procedure described is useful
for applications where the object is known
(dimensional inspection and object tracking) as well
as those where the object has no available CAD data or
model and it is required to create such model (reverse
engineering). In the inspection and tracking
applications, the procedure is fully automated, except
for the set-up, while in reverse engineering the
procedure is interactive. The VCM system which
applies these procedures is available in two forms: an
application program, targeted for the above
mentioned applications, and is hardware specific; and
library routines which are not hardware specific and
not targeted for a specific application. The later is
intended for users expected to develop their own
application oriented software and user interface.