|
Claims  |
|
|
Having described the invention, what is claimed is:
1. A vision inspection system for inspecting unknown objects in
relationship to a known object and for performing various visual tests on
the unknown object if it is recognized as corresponding to the known
object, comprising:
A. vision sensing means for producing data representing the illumination
values for viewed objects;
B. means for receiving data from the vision sensing means and for storing
the image of objects under test;
C. means interconnected to the image storing means for viewing an imaged
object;
D. means interfaced with the viewing means for selecting at least three
regions of the known imaged object;
E. means interfaced with the image storing means for selecting regions on
an unknown object, each region corresponding to one of the selected
regions of the known object, each selected region on the unknown object
having a size at least equal to the size of the corresponding region on
the known object;
F. means interfaced with the image storing means for determining and
storing gradient values based upon the rate of change of illumination
values for each selected region of the known and unknown objects, said
gradient values for each selected region of the known object called a
template and for each selected region of the unknown object called a
gradient map;
G. means interfaced with the gradient value determining means for
determining the spatial and angular relationships between the templates;
H. means interfaced with the gradient value determining means and spatial
and angular relationship determining means for overlaying the templates
with the gradient maps and for determining the correlation value between
each template and the corresponding gradient map, with the separation of
said templates based upon the previously determined spatial and angular
relationships of said templates;
I. means interfaced to the correlation value determining means for
determining if each correlation value is greater than a predetermined
value and if true, determining a composite correlation value of said
correlation values;
J. means interfaced with the gradient value determining and storing means
for moving the templates over each corresponding gradient map so that the
correlation value means and composite correlation value means determine
their respective correlation and composite correlation values throughout
the entire area of each gradient map;
K. means interfaced with the composite correlation value determining means
for determining the maximum composite correlation value, if any, and for
determining the portions of each gradient map corresponding to this
highest composite correlation value; and
L. input/output (I/O) means interfaced with the maximum correlation value
determining means for controlling the disposition of the test object based
upon the presence or absence of a maximum composite correlation value;
whereby the portions of each gradient map yielding the highest composite
correlation value represent recognition of the object under test as
corresponding to the known object.
2. A vision inspection system as defined in claim 1, wherein the means for
determining gradient values uses a Sobel technique wherein for an array of
illumination values denoted by
##STR9##
the gradient is equal to
Grad=.vertline.Grad.sub.x .vertline.+.vertline.Grad.sub.y .vertline.;
where
Grad.sub.x =(c+2f+i)-(a+2d+f)
and where
Grad.sub.y =(a+2b+c)-(g+2h+i).
3. A vision inspection system as defined in claim 2, wherein the
correlation value determined by the correlation means is defined by the
equation:
Correlation=(Cross.times.Cross)/(AutoPatch.times.AutoTemp);
where Cross equals a number obtained by summing the results of multiplying
each element in the template with the overlaid element in the gradient map
and summing the products, where AutoPatch equals a number obtained by
summing the results of multiplying each element in the overlaid portion of
the gradient map times itself, and where AutoTemp equals a number obtained
by summing the results of multiplying each element in the template with
itself.
4. A vision inspection system as defined in claim 3, wherein the means for
determining a composite correlation value derives a number obtained by
multiplying the correlation value of the first template-gradient map pair
by the other correlation values for the remaining template-gradient map
pairs.
5. A vision inspection system as defined in claim 4, wherein the means for
moving the templates over each corresponding gradient map executes the
following steps:
1. determining the correlation value (first correlation value) between the
first template and the first gradient map, starting at a first location on
the gradient map and moving the template across the first gradient map
until a correlation value is determined which is greater than said
predetermined value,
2. determining the correlation value (second correlation value) between the
second template and the second gradient map having a distance from the
location of the first template at its then current position equal to the
spatial distance between the first and second templates as determined on
the known object, and moving this second template over the second gradient
map as defined by an arc equal to this spatial distance, the arc having a
predetermined angular size, until a correlation value is cbtained greater
than said predetermined value,
3. determining a correlation value (third correlation value) between the
third template and the third gradient map spaced and angularly positioned
from the first and second templates in their then current positions as
said template is spaced and angularly positioned on the known object, and
if the correlation value is greater than the predetermined value, then
determining the composite correlation value by said composite correlation
value means,
4. continuing the movement of the second template with respect to the
second gradient map throughout the entire arc length and if any
correlation value is greater than the predetermined value, determining the
corresponding third correlation value between the third template and the
third gradient map as angularly and spatially determined by the current
positions of the first and second templates, and
5. after completion of step 4, returning to step 1 and continuing steps 1-5
until the first template has been positioned over each portion of the
first gradient map.
6. A vision inspection system as defined in claim 1, further comprising
means for performing visual tests (representing visual tools) to a
recognized test object based upon the placement and use of those visual
tests on the known object.
7. A vision inspection system as defined in claim 6, wherein the
input/output means further comprises means for further controlling the
disposition of the test object based upon the results of the test
procedures performed on the test object.
8. A vision inspection system as defined in claim 7, wherein one of the
visual tests is a caliper test comprising means to allow the user to place
a caliper image across two positions of an imaged known object and further
comprises means for measuring the distance between corresponding positions
as defined by their locations on the known object and wherein the results
of this test procedure are further used as information for the
input/output means for controlling the disposition of the recognized
object.
9. A vision inspection system as defined in claim 7, further comprising
visual tool means for determining the number of gradient values having
magnitudes greater than a predetermined value within an area selected by
the user with respect to the known object, wherein a corresponding area is
tested on the recognized test object and wherein the number of gradient
values having magnitudes greater than said predetermined value are
compared to the corresponding number of gradient values for the known
object and wherein the results of this test procedure are further used as
information for the input/output means for controlling the disposition of
the recognized object.
10. A vision inspection system as defined in claim 7, further comprising
visual tool means for reading a multi-segment line display wherein said
means allows the user to visually position a perimeter series of line
segments (called a "jig") about the location of a multi-segment line
display on an imaged known object and further wherein perpendicularly
placed lines ("feelers") bisect each imaged line segment which is to be
tested for presence or non-presence and wherein said visual tool means
further comprises means for determining the presence or non-presence of
line segments as positioned by said "feelers" on the recognized test
object whose overall position on the test object corresponds to the
placement of the multi-segment display on the known object and further
wherein the results of this test procedure provide information to the
input/output means for controlling the disposition of the recognized test
object.
11. A vision inspection system as defined in claim 1, wherein the vision
sensing means comprises at least one camera which images objects via
frontal illumination.
12. A vision inspection system as defined in claim 11, wherein the means
for viewing an imaged object comprises a monitor and wherein the means for
selecting at least three regions on the known imaged object comprises a
light pen, manipulatable by the user on the monitor.
13. A vision inspection system as defined in claim 12, wherein the gradient
value determining means comprises an array processor for determining
gradient values for the selected regions on the known and unknown objects
and for determining the correlation values between overlaid portions of
the templates with corresponding portions of the gradient maps. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
TECHNICAL FIELD
The present invention relates to a vision inspection apparatus and in
particular such apparatus which can automatically determine the similarity
and orientation between a known object and an object under test and can
also perform various visual tests on the unknown object once it has been
identified and its orientation determined.
BACKGROUND ART
A number of prior art devices have been developed to visually inspect
objects so as to determine if they meet predefined criteria. Two basic
types of vision inspection systems have been developed: those which use
backlighting to silhouette the object and those which use frontlighting to
observe the object as a variation of illumination across its surface area.
The latter type of lighting produces an image, in black and white, known
in the art as a gray scale since the observed image can vary in
illumination throughout all shades of gray, including zero albedo (black)
and 100 percent albedo (total reflectance).
Background illuminated vision systems provide for rather easy edge
detection due to the rapid transition between illuminated regions outside
of the object and non-illuminated silhouette regions obstructed by the
object. When the edges are not so clearly distinguished, such as when an
object is frontlighted, different techniques have been used on the gray
scale image to develop an edge map. Such a map actually consists of a
two-dimensional binary representation of the illumination level of the
object. As set forth in a book entitled Basic Robotics Concepts by John M.
Holland, Howard W. Sams and Company, 4300 W. 62nd Street, Indianapolis,
Ind., pages 192-224, most methods for determining edges that use a gray
scale image determine an edge map through use of a derivative and/or
second derivative of the gray scale values in two dimensions. The use of
differentiation to detect edges poses a noise problem since derivative
signals are inherently susceptible to large transient values. As noted in
the Holland text, E. C. Hildreth and D. Marr of the Massachusetts
Institute of Technology have discovered that if the images are first
smoothed through filtering at different spatial bandwidths, the resultant
images when subjected to differential edge detection produce edge maps
which can be correlated to find the edges of the real objects (see
Hildreth, Helen C., Implementation of a Theory of Edge Detection, M.I.T.
TR-579 and Marr, D. Vision, W. H. Freeman Company, San Francisco, Calif.,
1981).
Another form of edge detection is known as the Sobel technique as described
at page 337 of a book entitled Digital Image Processing by Gonzales and
Wintz, published by Addison Wesley Company, 1977. For a 3.times.3 image
defined by rows
##STR1##
and the gradient at midpoint e is defined as
G=(G.sub.x.sup.2 +G.sub.y.sup.2).sup.1/2, (EQ 1-1)
or using absolute values
G=.vertline.G.sub.x .vertline.+.vertline.G.sub.y .vertline.;(EQ 1-2)
where
G.sub.x =(c+2f+i)-(a+2d+g) (EQ 1-3)
and
G.sub.y =(a+2b+c)-(g+2h+i) (EQ 1-4)
This technique for edge detection is used by the present invention. It has
also been used by the General Motors Corporation in a vision inspection
system called SIGHT-I, described in an article entitled "General Motors
Inspects IC Chips" appearing in the May 1980 issue of Computer magazine,
published by the Institute of Electrical and Electronics Engineers, Inc.
(IEEE) Computer Society, Los Almitos, Calif. In the SIGHT-I system, the
gradient information is only used to determine approximate rotation of an
object under test and is not used as a general technique to compare two
objects.
The SIGHT-I system also describes a technique for recognizing an object
which is under test, in this particular case a small integrated circuit
(IC) chip which has been bonded to a heat sink.
After the approximate orientation of the object is determined, the corners
of the object are determined by the difference in illumination to be
expected at corners; that is, the differences in illumination between
darkness and lightness. Thus, for instance, the northwest corner of the
chip should have white areas at its top and left sides. Four local
illumination intensity templates are used to identify the characteristics
of the four types of corners and are matched against each illumination
pixel of the array using a weighting algorithm.
The actual corners are determined by the fixed relationship of the ob3ect
since its actual shape is known. In the example with the integrated
circuit chip, it is known that the corners comprise four 90.degree.
angles, that the chip has specified dimensions and an approximate
orientation angle. These characteristics are combined into a global
template which is matched against sets of possible corners. An algorithm
then calculates a "goodness of fit" figure for each set and selects the
best fitting set as the actual corners.
Thus although gradient information is used to determine a probable
orientation of the IC chip, illumination information is used to compare
the corners of a known IC chip to potential corners of an IC chip under
test. No gradient information is used to generate the corner templates nor
to derive information about selected regions on the IC chip under test.
The present invention is distinguished from the GM technique since the
present invention compares a known object to a test object by use of
gradient information, not illumination information. By so doing, the
system becomes immune to changes in ambient light or other paramenters
that can affect absolute illumination values. The GM technique is not
immune to such changes.
Furthermore, in the present invention, orientation of the object under test
is determined by finding the angular and displacement differences between
the selected points on the known object and the recognized points on the
object under test. Overall gradient information of the object under test
is not used, as in the GM system, to determine probable angular movement
of the IC chip under test. Therefore the use of gradient information in
the GM system is for a different purpose than its use in the present
invention.
The present invention also provides means for using various visual tools
for measuring or determining the presence of specified parameters or
features on the object under test. Such parameters and features include a
visual tool to measure the size of an object in a manner similar to that
performed by mechanical calipers, a tool to determine an alphanumeric or
other symbol displayed on an object through use of character segement
recognition, a tool to locate the center of a hole within an object, a
tool to measure the angle subtended by three points on an object, a tool
to count the number of edges in a specified region as compared to a known
object, and other tools which may be required for identification or
measurement of an object typically in an industrial assembly or testing
environment.
Therefore it is submitted that the present invention provides a new vision
inspection system based upon the property of edges which allows for the
rapid identification and orientation of an object under test as compared
to a known object. By allowing the user to define the edge locations of an
object for comparison to unknown objects, the system provides the
flexiblility to meet the requirements of the user without being
constrained by particular characteristics of the objects under test. Also,
since only areas about selected locations are used in the recognition
process, other areas of the object under test can vary without affecting
this process. This feature of the present invention is valuable in
inspection applications where only certain features of the object under
test need correspond to a known object. Indeed such objects may not be
subject to testing using other vision inspection techniques.
The present invention thus differs from other pattern recognition
techniques including template matching in which the entire image of an
object is stored in memory for comparison to images seen by the camera
(see pages 205-207 of Basic Robotics Concepts, cited above). It also
differs from techniques which are tolerant to orientation variations
between a known object and an object under test such as those that use
area, moments, and axes of minimum inertia as described in Basic Robotics
Concepts, above, at pages 205-212, or through use of a technique known as
moment invariants as described in Basic Robotics Concepts at pages 212-213
and the appendices thereto.
In distinction from pattern recognition techniques that use moments or
moment invariants to determine a correspondence between two objects, the
present invention uses points selected by the user to define those areas
on a known object which characteristically represent that object. Such
points are visually perceptible to the user, unlike the highly abstract
nature of moments and moment invariants which have not direct visual
representation.
Furthermore, by allowing points to be selected by the user on the known
object, other portions of the object which may change in size or shape,
can be ignored for purposes of recognition testing.
Indeed, the present invention need not know any particular information
concerning the overall shape of an object provided that the object of
interest can be defined by distinct edges. In many testing applications of
component parts, this is all that need be performed in order to find and
determine the orientation of an object under test. In most applications,
however, the visual tools of the present invention are used once the
object is identified and oriented. These tools provide valuable
information required to perform automatic inspection. Such visual tools
are a unique feature of the present invention and allow it to easily adapt
to the particular needs of the user.
These visual tools and positioning locations provide a working environment
that is familiar to people who traditionally use mechanical devices to
measure and test objects. Thus the three positioning locations typically
selected on the known object correspond to mechanical positioning pins
used to orient an item to be tested. The visual tools of the present
invention likewise correspond to such measuring instruments, such as
calipers, used to mechanically measure objects.
It is submitted that the present invention provides a new technique and
system for performing visual inspection of objects.
DISCLOSURE OF THE INVENTION
An automated vision inspection system is disclosed which allows the user to
select points of a known object so as to be able to identify and orient
objects under test. Once a test object is recognized and oriented with
respect to the known object, desired visual measurements are automatically
performed on the test object. The results of these measurements provide
the means for making logical decisions regarding the ultimate disposition
of the test object. The automated vision inspection system is therefore
able to perform the tasks of a human inspector in a highly reliable and
efficient manner.
In operation, the user first views a known object as displayed on a screen
imaged by one or more video cameras. The image is stored in a frame
grabber module which stores the image as pixels with six bits of
illumination data. The user selects, via a light pen, three points on the
imaged known object which preferably represent an abrupt surface
illumination variation (i.e. rapid albedo variation) of the object. Such
abrupt surface variations are generally referred to as "edges" throughout
this text, and in many instances actually represent physical edges. The
three selected points are used by the system in a manner analogous to
positioning pins used in mechanical alignment systems. The selected points
are typically located about or near the outer periphery of the known
object. Such locations of rapid albedo variations are generally selected
to represent a characteristic feature (i.e., edge) of the object that is
independent of illumination position.
The selection of each location by the user then causes the system to store
a 9.times.9 pixel region about the selected location. Based upon the
illumination values of the respective pixels, the system computes the
illumination gradient at each pixel within a 7.times.7 region enclosed by
the 9.times.9 pixel region. The gradient value for each pixel within the
7.times.7 region represents the differential change in illumination in
both Cartesian directions. This gradient information is stored and used as
a template by the system since it more accurately represents the visual
characteristics of the location selected by the user. The actual center
point selected by the user is defined as the centroid of the template and
is used to compute distances between it and two other points selected by
the user. In addition, the angle subtended between the first point
(centroid) and second and third points (centroids) is determined for later
use in examining unknown objects. This angle in combination with the two
lengths defines the vertices of the three points, which by definition,
define a triangle.
Thus, once three points of a known object have been selected and their
corresponding edge or gradient values determined, this information forms
the basis to determine whether an unknown object corresponds to the known
object.
In a typical manufacturing or inspection process, the unknown object
(object under test) is viewed in an orientation substantially the same as
that of the known object. This characteristic of the testing process
allows the present invention's vision system to look at an enlarged pixel
area typically comprising a 10% area of the unknown object as viewed by
the particular imaging camera which overlaps the coordinates of the known
object's computed point. This can be visualized as a rectangle having
larger dimensions than the known object selected area (template). A
gradient map of this larger rectangle is computed. The template of the
known object is then placed over a portion of this gradient map in a
manner conceptually similar to a window through which one looks at a
portion of the gradient map. Once this has been done by the system, a
correlation operation is performed between the template and the
corresponding portion of the gradient map overlaid by the template. This
process is repeated over the entire gradient map by moving the template
across the larger gradient map one pixel at a time.
The greater the similarity between the template and the overlaid portion of
the gradient map, the higher the correlation value. In order to normalize
the computed correlation values, the square of each correlation value is
divided by the auto-correlation of the template (called the Autotemp)
times the auto-correlation of the overlaid gradient map (called the
Autopatch, where "patch" is the patch of the gradient map overlaid by the
template or "window").
If the correlation value computed is found to exceed some predetermined
fractional amount of 100% correlation, then the system proceeds to
determine if the distance from the center of this area equals the distance
between the first and second centroids of the known object. In order to
determine the direction of this line length, the first known object's
second point is used as the center of an arc through which the system
scans the unknown object, applying the same correlation test with the
second point's template as that used for the first location. Typically
this is done over a plus or minus five degree arc from the nominal
position or the second point corresponding to the orientation of the
second point on the known object. If a correlation for each template
movement over this arc does not produce a correlation value greater than
the predetermined amount, the system goes back to the first location,
increments the movement of the template over the first gradient map,
computes the correlation value with the first template, and continues this
process until a site is found over the first gradient map which exceeds
the predetermined threshold value. If such a site is located, another plus
or minus five degree arc having a length equal to that between the first
and second known points is used to test the second location with the
second template in a manner described above.
When the second location correlation value exceeds the threshold value, two
points have in essence been found on the unknown object which correspond
to the known object by at least the threshold value. Since these two
points are known and since the angle and distance of the third location on
the known object is known with respect to the first and second points on
the known object, a region on the unknown object corresponding to this
second distance and angular relationship is defined. The correlation value
at this region is determined with respect to the gradient values of the
known object's third location template. If the correlation value exceeds
the threshold value, then a composite value representing the correlation
of all three determined points is computed and saved by the system. This
composite value in essence represents a measure of the degree of
confidence that the regions about these three points correspond to those
on the known object.
In order to ensure that these three locations have the highest probability
of actually corresponding to the three locations on the known object (that
is, they best meet the spatial criteria of the known object), the template
for the second location is incremented along the arc to determine if
another location exceeds the threshold value. For each such location
found, a candidate third location for the third gradient map is determined
to see if it exceeds the threshold value. This process is continued for
all locations along the arc in the second gradient map.
If three locations for the three gradient maps exceed the threshold value,
then their composite correlation value is determined, and if greater than
the previous composite value, it replaces that value along with the
previous three points.
To further ensure that the three locations have the highest probability of
actually corresponding to the three locations on the known object, the
first template continues to be incremented over the unknown object's first
location gradient map with correlation values computed. Whenever a
correlation value exceeds the threshold value, the above steps are
repeated. If three qualifying points are determined, a composite
correlation value is computed, and if it exceeds the previously determined
composite value, the latter composite value and the corresponding points
are stored by the system to the exclusion of the previously computed
values. The latter values in essence represent three locations on the
unknown object which match those of the known object with a higher
confidence factor.
This process is continued throughout the entire first gradient map. The
three locations yielding the highest composite correlation value not only
establish recognition of the object under test to the known object, but
also establish the recognized object's orientation with respect to the
known object by the angular displacement and translation of these
locations from their nominal locations as viewed by the system for the
known object.
In actuality the three points on the identified object provide the system
with the mechanical analogy of three positioning pins which then provide
the means for performing any one of a plurality of visual measurement
tests (called visual tools) which the user may desire to be performed on
the identified object. These tools include a visual caliper to measure the
distance between two regions on the object, in a manner analogous to a
mechanical caliper; a bar code reader to read a bar code on the object; a
multi-segment reader to read an alphanumeric font on the object; and an
area counter (also called a defect finder) to determine the number or
edges (rapid albedo variations) in a defined rectangular area and to
compare this number to a corresponding number for the known object. Other
visual tools can be defined and implemented, including angle finders and
hole center finders.
It will thus be appreciated that this vision inspection system provides the
means to select characteristic points on a known object and thereby
provides a more adaptable way to identify a known object. This in turn
provides the means for more easily identifying and orienting an object
under test in comparison to the known object.
Through use of gradient information regarding the illumination values or
selected locations of both the known and unknown objects, immutable edge
information is used by the system rather than the less reliable overall
illumination values associated with the known and unknown objects. Under
typical conditions the illumination values can readily vary due to
parameters unrelated to the characteristic of the object under test, such
as changes in illumination levels, changes in the positions of lights with
respect to the objects, and shadows which are formed on the object under
test due to outside disturbances. The present invention thereby uses gray
scale information to determine gradient inrormation which represents the
physical properties of the objects under test so as to facilitate
comparisons of one object to another. Through use of gray scale
illumination--typically in a range from 0 to 63 in overall
magnitude--great variations in illumination values can be tolerated by the
system while still providing reliable testing of one object vis-a-vis
another object. In addition, through use of gray scale observation of an
object, foreground illumination as distinguished from background
illumination is used, thereby greatly reducing problems associated with
test apparatus which require background silhouette illumination. These
problems include the need for conveyor or other support apparatus to allow
light to pass therethrough and problems due to changes in background
illumination as a result of dirt or other environmental hazards.
The visual tools of the system provide the means to measure and inspect the
identified objects for features or characteristics of interest. With this
measurement and inspection information, the system is able to take
appropriate action via an input/output module as to the disposition of the
identified object.
Thus a vision inspection system is described which finds, identifies,
measures, and inspects an object and takes appropriate action in response
thereto in a manner analogous to a human inspector.
OBJECTS OF THE INVENTION
Therefore it is a principal object of the present invention to provide a
vision inspection system that can emulate the decision-making processes
and actions performable by a human inspector.
Another object of the present invention is to provide a vision inspection
system of the above character that identifies a known object by the
selection of three points on the known object and the determination of
illumination gradient information corresponding to templates associated
with each point, and using these templates and the geometric
interrelationship of these points to determine if an object under test
corresponds to the known object.
A further object of the present invention is to provide a vision inspection
system of the above character that performs visual measurements of
identified objects.
Another object of the present invention is to provide a vision inspection
system of the above character in which visual measurements include visual
tools that emulate mechanical measuring devices, including calipers and
defect finders.
A still further object of the present invention is to provide a vision
inspection system of the above character that includes a multi-segment
character reader so as to read alphanumeric displays.
Another object of the present invention is to provide a vision inspection
system of the above character that includes an input/output (I/O) module
that controls the disposition of the object under test based upon the
results of the inspection and visual tool tests.
A still further object of the present invention is to provide a visual
inspection system of the above character in which the user instructs the
system as to the desired test procedures through use of a light pen
associated with a CRT monitor.
Another object of the present invention is to provide a visual inspection
system of the above character having a tape driver for storing user test
procedures and/or data on magnetic tape.
A further object of the present invention is to provide a visual inspection
system of the above character which includes up to eight cameras to view
various portions of a single object under test, or a plurality of objects
under test.
Another object of the present invention is to provide a visual inspection
system of the above character which uses an array processor to execute the
majority of the mathematical computations necessary to inspect objects on
a timely basis.
Other objects of the present invention will in part be obvious and will in
part appear hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the nature and objects of the present
invention, reference should be made to the following detailed description
taken in connection with the following drawings in which:
FIG. 1 is an overall block diagram of the vision inspection system showing
its interaction with a workstation where parts are visually inspected and
sorted based upon the results of the inspection process;
FIG. 2 is a view of the cathode ray tube (CRT) screen showing an imaged
part thereon and three points which a user has selected via the light pen
shown in FIG. 1. It also shows, in phantom, the 9.times.9 pixel arrays
about the selected points, search areas associated with and used in the
recognition of unknown objects, and selected areas where area counter
visual tests are to be performed on recognized objects;
FIG. 2A is a diagrammatic representation of a part having a light for which
average intensity illumination is to be tested;
FIG. 3 is an enlarged diagrammatic representation of the 9.times.9
illumination intensity pixel array which surrounds a point selected by the
user;
FIG. 4 is an enlarged diagrammatic view of the 7.times.7 template formed
from the gradient computations made on the 9.times.9 pixel array shown in
FIG. 3;
FIG. 5 is a diagrammatic representation of the nine illumination values
whose center element is located at row 2, column 5 of the pixel array
shown in FIG. 3; wherein these nine values are used in the process of
determining one gradient value;
FIG. 6A is a diagrammatic representation of a search area of illumination
pixel values on the unknown object used to evaluate a gradient map;
FIG. 6B is a diagrammatic representation of one of the unknown object's
gradient maps derived from the illumination search area shown in FIG. 6A
showing, in phantom, the movement of the template over the gradient map in
the process of determining correlation values between the template and
portions of the gradient map overlaid by the template.
FIG. 6C is a diagrammatic representation of the evaluation of the candidate
locations on the unknown object based upon geometric information of the
known object selected points;
FIG. 6D is a Cartesian diagram of the reference frames associated with the
known and recognized objects.
FIG. 7 is a view of a portion of a CRT screen that has imaged a part, and
also shown the user manipulating the caliper visual tool thereon;
FIG. 7A is a portion of a CRT screen that has imaged a part in which the
user is manipulating the caliper tool to measure the distance between the
center points of two holes;
FIG. 8 is a view of a character imaged on a CRT screen and the use of the
seven-segment visual tool;
FIG. 9A is a detailed block diagram of the operations performed by the
array processor shown in FIG. 1 so as to compute gradient information.
FIG. 9B is a detailed block diagram of the operations performed by the
array processor so as to compute the correlation values between a template
and a portion of a gradient map.
FIG. 9C shows the computed correlation values as a template moves across a
gradient map.
FIG. 9D is a hypothetical representation of a template showing in phantom
what the template values represent; and
FIG. 9E is a hypothetical representation of a gradient map showing in
phantom what the gradient map values represent.
BEST MODE FOR CARRYING OUT THE INVENTION
As best seen in FIG. 1, vision inspection system 20 according to the
present invention comprises a number of modules which interact to produce
the desired result of defining, in terms of position points and visual
tests (tools), a known object to form the basis for testing other (unknown
or test) objects, including inspecting unknown objects to determine if
they correspond to the known object, and if they do correspond (i.e., are
recognized), performing the selected visual tests to those recognized
objects. The system also presents output information regarding the test
results of each tested object for use by external devices including
controlling the disposition of the tested object.
As seen in FIG. 1, the basic blocks of the system are a frame grabber
module 22, an array processor 24, a central processor unit (CPU) 26, a
video output module 28, a bus 30, an I/O module 32, a programmer module
34, and a plurality of cameras 36. These modules and components are
discussed in a separate section below.
Operation of the Visual Inspection System
The programmer module 34 provides the user with the necessary tools to
instruct and use the overall visual inspection system 20. In this regard
the module 34 comprises a cathode ray tube (CRT) 38 which displays the
image 40' of part 40 as viewed by cameras 36. Part 40 corresponds to
either the known object to form the basis for visual tests, or an unknown
test object, to be tested for recognition, and if recognized as
corresponding to the known object, visually tested with one or more visual
tools. Depending upon the particular application and need for resolution,
one or more cameras may be used to view part 40, up to a maximum of eight
cameras. If multiple cameras are used, each camera views a different
portion of the part. A light pen 42 (shown in exaggerated form in FIG. 1)
is physically manipulated by the user and positioned on CRT screen 38 so
as to pick out various points on the CRT image 40' of part 40 which
correspond to points which are of particular interest to the user. These
points are typically where an edge is located. They can also be places
where the user wishes some visual test to be performed on an object. The
light pen is also used to select various options displayed on CRT screen
38 which are available during the setup and operation of a test procedure.
To better understand the operation of the present invention, an example of
a typical visual inspection process is presented. FIG. 2 shows one such
typical application in which the visual inspection system is used to
determine if a motor vehicle speedometer 47 is properly calibrated.
Typical automobile production speedometers must have | | |