Automatic visual inspection system
First Claim
1. A process for producing a binary map of an object having a surface each elemental area of which has one or the other of two properties, said process comprising:
- a) scanning said surface to obtain data representative of a grey scale image of said surface with a given spatial resolution;
b) processing said data representative of said grey scale image to produce data representative of a map of said object having signed values that identify adjacent elemental areas of said surface having different properties, said map having the same spatial resolution as said grey scale image; and
c) converting said data representative of a map of said object having signed values to a binary map of said surface with a spatial resolution higher than the spatial resolution of said grey scale image.
1 Assignment
0 Petitions
Accused Products
Abstract
A binary map of an object having edges is produced by first producing a digital grey scale image of the object with a given resolution, and processing the grey scale image to produce a binary map of the object at a resolution greater than said given resolution. Processing of the grey scale image includes the step of converting the 2-dimensional digital grey scale image with a filter function related to the second derivative of a Gaussian function forming a 2-dimensional convolved image having signed values. The location of an edge in the object is achieved by finding zero crossings between adjacent oppositely signed values. Preferably, the zero crossings are achieved by an interpolation process that produces a binary bit map of the object at a resolution greater than the resolution of the grey scale image. The nature of the Gaussian function whose second derivative is used in the convolution with the grey scale image, namely its standard deviation, is empirically selected in accordance with system noise and the pattern of the traces on the printed circuit board such that the resulting bit map conforms as closely as desired to the lines on the printed circuit board.
The convolution can be performed with a difference-of-two Gaussians, one positive and one negative. It may be achieved by carrying out a one-dimensional convolution of successive lines of the grey scale image to form a one-dimensional convolved image, and then carrying out an orthogonal one-dimensional convolution of successive lines of the one-dimensional convolved image to form a two-dimensional convolved image. Each one-dimensional convolved image may be formed by multiple convolutions with a boxcar function.
49 Citations
37 Claims
-
1. A process for producing a binary map of an object having a surface each elemental area of which has one or the other of two properties, said process comprising:
-
a) scanning said surface to obtain data representative of a grey scale image of said surface with a given spatial resolution;
b) processing said data representative of said grey scale image to produce data representative of a map of said object having signed values that identify adjacent elemental areas of said surface having different properties, said map having the same spatial resolution as said grey scale image; and
c) converting said data representative of a map of said object having signed values to a binary map of said surface with a spatial resolution higher than the spatial resolution of said grey scale image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
data includes convolving with a filter function that approximates the second derivative of a Gaussian function.
-
-
4. A process according to claim 2 wherein said data representative of the properties of said surface are obtained by comparing the data representative of a grey scale image of said surface with a calibration function.
-
5. A process according to claim 4 wherein the calibration function is independent of the location of elemental areas said surface.
-
6. A process according to claim 4 wherein the calibration function is a fixed threshold.
-
7. A process according to claim 4 wherein the calibration function is a variable threshold.
-
8. A process according to claim 4 wherein the calibration function is dependent on the grey scale levels of the grey scale image.
-
9. A process according to claim 8 wherein the data representative of the properties of said surface involve a comparison of the grey level of a pixel in the grey scale image with the grey levels of adjacent neighboring pixels said grey scale image.
-
10. A process according to claim 8 wherein a plurality adjacent neighboring pixels to each pixel are involved said comparison.
-
11. A process according to claim 10 wherein said comparison is achieved by determining the maximum difference between the grey scale level of the particular pixel and the grey scale levels of neighboring pixels, and averaging the grey scale levels of the particular pixel and the neighboring pixel that produces the maximum difference.
-
12. A process according to claim 4 wherein said calibration function is obtained by an off-line calibration process.
-
13. A process according to claim i 1wherein the process of converting data to said binary map includes assigning states to those binary map pixels whose states are capable of being classified unambiguously, including those binary map pixels that are homologous to elemental areas of said surface identified in step (b) of claim 1, and assigning states to the remainder of the binary map pixels according to pre-set rules.
-
14. A process according to claim 13 including computing an ordered pair of numbers for each pixel in the grey scale image, and assigning a tentative state to each pixel in accordance with a threshold function obtained by an off-line calibration process.
-
15. A process for producing a binary map of an object having a surface each elemental area of which has one or the other of two properties, said processing comprising:
-
a) scanning said surface to obtain data representative of a grey scale image of said surface with a given resolution;
b) convolving said data representative of said grey scale image to produce a convolution map of said object having signed values;
c) producing from said data representative of said grey scale image, a binary gradient-enable map for identifying pairs of contour pixels which are pixels homologous to elemental areas of said surface having different properties, and a binary adjacency map for identifying pixels whose neighboring pixels have a grey level gradient exceeding a threshold; and
using said gradient-enable map and said adjacency map to create a binary of said surface with said given resolution; and
e) interpolating said binary map to form a binary map of said object with a resolution higher than the resolution of said grey scale image.
-
-
16. A process for off-line production of a threshold function comprising:
-
a) scanning an object having a surface each elemental area of which has one or the other of two properties to obtain data representative of a grey scale image of said surface;
b) processing said grey scale image to obtain data representative of a binary image in which pixels homologous to elemental areas of said surface at which transitions of said properties occur have a given state and the remaining pixels have the opposite state;
c) convolving said data representative of said grey scale image to produce a convolution score image in which the value of each pixel is dependent on the value of its eight neighbors as determined by a look-up table;
d) identify contours in said convolution score image;
e) classify each contour as being good, bad, or unsure;
f) calculate for each pixel in the grey scale image, an ordered pair of numbers;
g) plot the ordered pair of numbers for each contour pixel that in not classified as being unsure;
h) compute a threshold function from the plotted ordered pairs of numbers as a function that minimizes both the number of points associated with pixels from good contours that are below the threshold function, and the number of points associated with pixels from bad contours that are above the threshold function.
-
- 17. A process for analyzing a surface, comprising:
- 23. A method for automated optical inspection of an electrical circuit, comprising:
- 28. A method for inspecting a patterned surface, comprising:
- 33. A process for analyzing a patterned surface, comprising:
-
35. A process for manufacturing an electrical circuit substrate, comprising:
-
36. A process for manufacturing an electrical circuit substrate, comprising:
-
37. A process for manufacturing an electrical circuit substrate, comprising:
Specification