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 convolving 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.

Patent
   RE38716
Priority
Dec 20 1984
Filed
Jun 30 2000
Issued
Mar 22 2005
Expiry
Dec 20 2004

TERM.DISCL.
Assg.orig
Entity
Large
9
30
EXPIRED
24. Apparatus for detecting an edge of an object comprising:
(a) scan means to scan the object along a scan line that intersects said edge for obtaining a plurality of grey scale level values at discrete sampling points; and
(b) processing means to process said values for locating the intersection of said scan line with said edge such that the location of said intersection at or intermediate said sampling points is generally independent of the relationship between said sampling points and said edge.
35. A method for detecting an edge of an object comprising the steps of:
(a) scanning the object along a scan line that intersects said edge for obtaining a plurality of grey scale level values at discrete sampling points; and
(b) processing the values of the scan line for locating the intersection of said scan line with said edge such that the location of said intersection at or intermediate said sampling points is generally independent of the relationship between said sampling points and said edge.
20. A convolver module for convolving an input stream of data comprising:
a) delay means for delaying said input stream and producing a delayed stream;
b) an adder for adding the input stream to the delayed stream and producing an added stream;
c) a shift register to which the added stream is applied for producing a shifted stream; and
d) means for combining the shifted stream with the added stream and producing an output stream representative of a two-dimensional convolution of the input stream with a boxcar function.
22. A process for producing a binary map of an object having edges comprising:
a) scanning the object to produce a digital grey scale image of the object with a given resolution, said grey scale image having pixels of predetermined size; and
b) processing the grey scale image to produce a digital map of the object having a resolution greater than said given resolution such that the location of edges in the grey scale image digital map are substantially independent of the relationship between the edges of the object and the direction of scanning.
13. A process for increasing the amount of light in a camera producing a binary map of an object having edges comprising:
(a) producing a digital grey scale image of the object by sampling at discrete sampling points, said last mentioned image having a given resolution; and
(b) processing said grey scale image to produce a binary map of the object at a resolution greater than said given resolution, such that the location of edges of the object in the higher resolution map is independent of the location of the edges relative to the sampling points.
12. A process for reducing sensitivity to focusing errors in the binary map of an object having edges comprising:
(a) producing a digital grey scale image of an object by sampling at discrete sampling points, said last mentioned image having a given resolution; and
(b) processing the grey scale image to produce a binary map of the object at a resolution greater than said given resolution, such that the location of edges of the object in the higher resolution map is independent of the location of edges of the object relative to the sampling points.
66. A process for producing a binary map of an object having edges comprising:
(a) sampling the object to obtain grey level values at discrete sampling points for producing a digital grey scale image of the object with a given resolution;
(b) convolving the grey scale image with a filter function to produce a digital map of the object having a resolution greater than said given resolution; and
(c) selecting the filter function such that edges in the digital map corresponding to edges in the object are substantially independent of the location of the sampling points relative to the edges in the object.
41. A process for producing a binary map of an object having edges comprising:
(a) scanning the object in a given direction to obtain grey level values at discrete sampling points for producing a digital grey scale image of the object with a given resolution; and
(b) processing the grey scale image to produce a digital map of the object having a resolution greater than said given resolution, such that the location of an edge of the object in the higher resolution map is independent of the relative location of said edge with respect to the locations of said discrete sampling points, and of the direction of scanning.
50. Apparatus for producing a binary map of an object having edges comprising:
(a) means for scanning the object in a given direction to obtain grey level values at discrete sampling points for producing a digital grey scale image of the object with a given resolution; and
(b) means for processing the grey scale image to produce a digital map of the object having a resolution greater than said given resolution, such that the location of an edge of the object in the higher resolution map is independent of the relative location of said edge with respect to the locations of said discrete sampling points, and of the direction of scanning.
1. A process for producing a binary map of an object having edges comprising:
(a) sampling the object to obtain grey level values at discrete sampling points for producing a digital grey scale image of the object with a given resolution; and
(b) processing the grey scale image to produce a digital map of the object having a resolution greater than said given resolution, such that the location of an edge of the object in the higher resolution map is related by a scale factor to the location of the corresponding edge in the object independently of the relative location of said edge with respect to the locations of said discrete sampling points.
0. 79. A process for analyzing conducting and non-conducting regions on a surface of an electrical circuit comprising:
forming a two dimensional grey scale image of a surface of an electrical circuit, said image having pixels, wherein each pixel corresponds to one of a plurality of elemental areas of a first size on the surface;
processing said two dimensional grey scale image to form a map of said surface, said map including digital map elements representing second elemental areas on the surface, said second elemental areas being smaller than said first elemental areas; and then
employing said map to detect defects in said electrical circuit.
0. 83. A method for automated optical inspection of an electrical circuit, comprising:
producing a digital grey scale image of the electrical circuit with a given gray scale image spatial resolution, said given gray scale image spatial resolution being related to the size of the first elemental areas of said electrical circuit viewed by ones of pixels in an optical detector;
processing the grey scale image to produce a digital map of the electrical circuit, said digital map having a digital map spatial resolution which is greater than said given gray scale image spatial resolution; and
analyzing the digital map to detect defects in said electrical circuit.
0. 97. A method for manufacturing an electrical circuit, comprising:
depositing at least one conductive member on a surface of an electrical circuit substrate;
forming a two-dimensional grey scale image of said surface, said image having pixels, wherein each pixel corresponds to one of a plurality of elemental areas of a first size on the surface;
processing said two dimensional grey scale image to form a map of said surface, said map including digital map elements representing second elemental areas on the surface, said second elemental areas being smaller than said first elemental areas; and then
employing said map to detect defects in said electrical circuit.
0. 98. A method for manufacturing an electrical circuit, comprising:
depositing at least one conductive member on a surface of an electrical circuit substrate;
producing a digital grey scale image of said surface with a given grey scale image spatial resolution, said given grey scale image spatial resolution being related to the size of first elemental areas of said surface viewed by ones of pixels in an optical detector;
processing the grey scale image to produce a digital map of the surface, said digital map having a digital map spatial resolution which is greater than said given grey scale image spatial resolution; and
analyzing the digital map to detect defects in said electrical circuit.
23. Apparatus for producing a binary map of an object having edges comprising:
(a) means for mounting said object so that it is linearly displaceable;
(b) a light source for illuminating said object;
(c) a digital memory;
(d) an electro-optical system responsive to displacement of said object for converting the light therefrom to a grey scale image of the object with a given resolution;
(e) processing means for converting the image in said memory into a binary map of said object having a resolution greater than a given resolution, and having pixels of a predetermined size; and
(f) said processing means being constructed and arranged to cause the relationship between the edges of the pixel of the grey scale image to be independent of the actual edges of the object.
0. 68. A process for producing a map of a surface of an electrical circuit comprising:
forming a two-dimensional grey scale image of a surface of an electrical circuit from data elements acquired by an array of detectors displaced with respect to the surface, wherein ones of said detectors each view corresponding ones of first elemental areas on said surface;
modifying at least some data elements of said two-dimensional grey scale image to provide a plurality of modified data elements; and
forming a map of said electrical circuit from digital map elements that are formed by interpolating between selected modified data elements, wherein said digital map elements correspond to second elemental areas on said surface of the electrical surface that are smaller than said first elemental areas.
0. 94. A method for manufacturing an electrical circuit, comprising:
(a) depositing at least one conductive member on a surface of an electrical circuit substrate;
(b) sampling the substrate to obtain grey level values at discrete sampling points for producing a digital grey scale image of the substrate with a given resolution;
(c) processing the grey scale image to produce a digital map of the substrate having a resolution greater than said given resolution, such that the location of an edge on the substrate in the higher resolution map is related by a scale factor to the location of the corresponding edge on the object independently of the relative location of said edge with respect to the locations of said discrete sampling points; and
(d) analyzing said digital map to detect defects in said electrical circuit substrate.
67. Apparatus for producing a binary map of an object having edges comprising:
(a) means for mounting said object so that it is linearly displaceable;
(b) a light source for illuminating said object;
(c) a digital memory;
(d) an electro-optical system responsive to displacement of said object for sampling the light therefrom at discrete sampling points for producing a grey scale image of the object with a given resolution;
(e) means for storing said grey scale image in said memory; and
(f) means for convolving the image in said memory with a filter function to produce a binary map of said object having a resolution greater than said given resolution, said filter function causing edges in the binary map corresponding to edges in the object to be substantially independent of the location of the sample points relative to the edges in the object.
45. A process for producing a binary map of an object having edges, the process comprising:
a) displacing the object relative to a linear array of photosensitive detectors each of which produces an output that is functionally related to the brightness of the field viewed by the detector;
b) applying the output of the detectors to a memory for storing, in the cells thereof, a two-dimensional digital grey scale image of the object, said image having a predetermined pixel size;
c) convolving the stored image with a filter function that approximates the second derivative of a gaussian function for producing a convolved digital image having a signed value for each cell of said memory;
d) interpolating between adjacent values of opposite sign for obtaining a binary bit map of said object with a pixel size smaller than said predetermined size; and
e) storing said binary bit map in a memory.
0. 96. A method for manufacturing an electrical circuit, comprising:
depositing at least one conductive member on a surface of an electrical circuit substrate;
forming a two-dimensional grey scale image of said surface from data elements acquired by an array of detectors displaced with respect to the surface, wherein ones of said detectors each view corresponding ones of first elemental areas on said surface;
modifying at least some data elements of said two-dimensional grey scale image to provide a plurality of modified data elements;
forming a map of said electrical circuit from digital map elements that are formed by interpolating between selected modified data elements, wherein said digital map elements correspond to second elemental areas on said surface of the electrical circuit that are smaller than said first elemental areas; and
analyzing said map to detect defects in said electrical circuit substrate.
59. A process for producing a binary map of an object having edges, the process comprising:
a) effecting relative displacement between said object and a linear array of photosensitive detectors, each of which produces an output that is functionally related to the brightness of the field viewed by the detector;
b) applying the output of the detectors to a memory having cells for storing, in the cells thereof, a two-dimensional digital grey scale image of the printed circuit board, said image having a predetermined pixel size;
c) convolving the stored image with a filter function that approximates the second derivative of a gaussian function for producing a convolved digital image having a signed value for each cell of said memory;
d) interpolating between adjacent values of opposite sign for obtaining a binary bit map of said object with a pixel size smaller than said predetermined size; and
e) storing said binary bit map in a memory.
9. Apparatus for producing a binary map of an object having edges comprising:
(a) means for mounting said object so that it is linearly displaceable;
(b) a light source for illuminating said object;
(c) a digital memory;
(d) an electro-optical system responsive to displacement of said object for sampling the light therefrom at discrete sampling points for producing a grey scale image of the object with a given resolution;
(e) means for storing said grey scale image in said memory; and
(f) processing means for converting the image in said memory into a binary map of said object having a resolution greater than said given resolution, said processing means being constructed and arranged to cause the location of edges of the object in the higher resolution map to be related by a scale factor to the location of the corresponding edges in the object independently of the relative locations of the edges of the object with respect to said discrete sampling points.
54. Apparatus for producing a binary map of inspecting an object having edges comprising:
a) a linear array of photosensitive detectors each of which produces an output that is functionally related to the brightness of the field a corresponding elemental area on the object viewed by the detector, wherein said elemental areas are a predetermined elemental area size;
b) means for relatively displacing the object and the array;
c) means for applying the output of the detectors to a memory for storing, in the cells thereof, a two-dimensional digital grey gray scale image of the object, said image comprising pixels having a predetermined pixel size;
d) means for convolving the stored image with a filter function that approximates the second derivative of a gaussian function for producing a convolved digital image having a signed value for each cell of said memory;
d) interpolating between adjacent values of opposite sign circuitry for obtaining a binary bit map of said object with a pixel size from said two dimensional digital gray scale image, said map being formed of digital map elements, wherein each digital map element is associated with a corresponding portion of said electrical circuit and at least some non-adjacent portions are separated by a distance that is smaller than said predetermined elemental area size; and
e) a memory for storing said binary bit map processing circuitry employing said map to detect defects in said electrical circuit.
0. 95. A method for manufacturing an electrical circuit, comprising:
(a) depositing at least one conductive member on a surface of an electrical circuit substrate;
(b) displacing the electrical circuit substrate relative to a linear array of photosensitive detectors, each of which produces an output that is functionally related to the brightness of an elemental area of the electrical circuit substrate viewed by the detector, each elemental area being associated with a measured data point and each said measured data point being mutually spaced apart generally by a predetermined sampling distance;
(c) applying the output of the detectors to a memory having cells for storing, in the cells thereof, a two dimensional digital grey scale image of the electrical circuit substrate, said image having pixels corresponding to said measured data points;
(d) obtaining from said two dimensional digital grey scale image a map of said electrical circuit substrate, said map formed of digital map elements, wherein at least some non-adjacent digital map elements represent portions of the electrical circuit that are separated by a distance that is smaller than said predetermined sampling distance; and
(e) employing said map to detect defects in said electrical circuit.
5. A process for producing a binary map of a printed inspecting an electrical circuit board having conductive traces on a surface of a substrate, the processing comprising:
a) linearly displacing the printed electrical circuit board in a direction perpendicular relative to a linear array of photosensitive detectors, each of which produces an output that is functionally related to the brightness of the field an elemental area of the electrical circuit viewed by the detector, each elemental area being associated with a measured data point and each said measured data point being mutually spaced apart generally by a predetermined sampling distance;
b) applying the output of the detectors to a memory having cells for storing, in the cells thereof, a two-dimensional digital grey gray scale image of the printed electrical circuit board , said image having a predetermined pixels size corresponding to said measured data points;
a) convolving the stored image with a two-dimensional, Laplacian of a gaussian function for producing a convolved digital image having a signed value for each cell of said memory;
d c) interpolating between adjacent values of opposite sign for obtaining from said two dimensional digital gray scale image a binary bit map of said printed electrical circuit board with a pixel size , said map formed of digital map elements, wherein at least some non-adjacent digital map elements represent portions of the electrical circuit that are separated by a distance that is smaller than said predetermined size sampling distance; and
e) storing said binary bit map in a memory d) employing said map to detect defects in said electrical circuit.
56. Apparatus for producing a binary map of an object having edges comprising:
a) a light source for illuminating said object;
b) an electro-optical system for sampling light from said object;
c) means for effecting relative movement between said object and said system;
d) means responsive to said relative movement for sampling light from discrete sampling points on the object and producing a grey scale image of the object with a given resolution;
e) means for storing said grey scale image in a digital memory; and
f) processing means for converting the image in said memory into a binary map of said object having a resolution greater than said given resolution, said processing means being constructed and arranged to cause the location of the edges of the object in the higher resolution map to be related by a scale factor to the location of the corresponding edges in the object independently of the relative locations of the edges of the object with respect to said discrete sampling points;
g) wherein said electro-optical system produces a stream of data representative of a scanned two-dimensional grey-scale image of said object, and said processing means includes a convolver, and means for applying said stream serially to said convolver which is responsive to produce a two-dimensional convolution of the grey-scale image.
14. Apparatus for producing a binary map of an object having edges comprising:
(a) means for mounting said object so that it is linearly displaceable;
(b) a light source for illuminating said object;
(c) a digital memory;
(d) an electro-optical system responsive to displacement of said object for sampling the light therefrom at discrete sampling points for producing a grey scale image of the object with a given resolution;
(e) means for storing said grey scale image in said memory; and
(f) processing means for converting the image in said memory into a binary map of said object having a resolution greater than said given resolution, said processing means being constructed and arranged to cause the location of edges of the object in the higher resolution map to be related by a scale factor to the location of the corresponding edges in the object independently of the relative locations of the edges of the object with respect to said discrete sampling points;
(g) wherein said electro-optical system is constructed and arranged to produce a stream of data representative of a scanned two-dimensional grey-scale image of the object, and said processing means includes a plurality of convolver modules, and means for applying said stream serially to said modules which are constructed and arranged to produce a two-dimensional convolution of the grey-scale image.
2. A process according to claim 1 wherein the processing includes the step of convolving the digital grey scale image with a filter function that approximates the second derivative of a gaussian function for forming a convolved image having signed values.
3. A process according to claim 2 wherein the processing includes determining the location of edges in the object by finding zero crossings between adjacent oppositely signed values.
4. A process according to claim 2 wherein the increased resolution of the binary map is achieved by interpolation.
6. A process according to claim 5 wherein said gaussian function is empirically selected in accordance with electrical noise generated by the photosensitive detectors and the traces on the printed circuit board such that the bit digital map elements are pixels and said map is representative of the traces on the printed electrical circuit board .
7. A process according to claim 5 wherein the convolution is achieved by carrying out a one-dimensional convolution of successive lines of the image to form a one-dimensional convolved image, and carrying out an orthogonal one-dimensional convolution of successive lines of said one-dimensional convolved image to form a two-dimensional convolved image of the printed circuit board.
8. A process according to claim 7 wherein each onedimensional convolved image is formed by multiple convolving with a boxcar function.
10. Apparatus according to claim 9 wherein said processing means includes a convolver and associated memory for effecting a two-dimensional convolution of the image in said memory with a two-dimensional, second derivative of a gaussian function, organ approximation thereof, producing in said associated memory, a convolved image of the object having signed values, said convolved image having the same resolution as said grey scale image.
11. Apparatus according to claim 10 wherein said processing means includes an interpolator and associated memory for interpolating between adjacent oppositely signed values in said convolved image for producing said binary map.
15. Apparatus according to claim 14 wherein said modules include means for convolving an input stream of data with a two-dimensional boxcar function.
16. Apparatus according to claim 15 including an input convolver module having delay means to which said input stream is applied for introducing a unit delay in the stream and producing a delayed stream, an adder for adding the input stream to the delayed stream and producing an added stream, a shift register to which the added stream is applied for producing a shifted stream, and means for combining the shifted stream with the added stream and producing a combined stream.
17. Apparatus according to claim 16 including an intermediate convolver module having delay means to which said combiner stream is applied for introducing a unit delay in the stream and producing a delayed stream, an adder for adding the input stream to the delayed stream and producing an added stream, a shift register to which the added stream is applied for producing a shifted stream, and means for combining the shifted stream with the added stream and producing a combined stream.
18. Apparatus according to claim 16 including an output module having delay means to which s combined stream is applied for introducing a unit delay in the stream and producing a delayed stream, an adder for adding the input stream to the delayed stream and producing an added stream, a shift register to which the added stream is applied for producing a shifted stream, and means for combining the shifted stream with the added stream and producing an output stream representative of a two-dimensional convolution of the input stream with a boxcar function.
19. Apparatus according to claim 15 wherein said modules include a plurality of horizontal convolver units for carrying out a first one-dimensional convolution on said input stream and producing a first one-dimensional convolved stream, and a plurality of vertical convolver units for carrying out a second one-dimensional convolution on said first convolved stream orthogonal to the first convolution and producing a two-dimensional convolution of said input stream.
21. A process according to claim 1 wherein the processing step is carried out such that the relationship of the edges in the higher resolution map to the corresponding edges in the object is limited only by noise and pixel size.
25. Apparatus according to claim 24 wherein said scan means is constructed and arranged to scan the object along a plurality of displaced scan lines for obtaining a digital grey scale image of the object, and wherein said processing means includes a convolver for convolving the digital grey scale image of the object into a convolved image of the object having signed values, said convolver convolving the grey scale image with a filter function that produces a predetermined value in the convolved image at edge locations of the object.
26. Apparatus according to claim 25 wherein said processing means includes means for detecting said predetermined value to thereby locate the edges of the object in the convolved image.
27. Apparatus according to claim 25 wherein said filter function is the second derivative of a gaussian function.
28. Apparatus according to claim 25 wherein said filter function is an approximation of the second derivative of a gaussian function.
29. Apparatus according to claim 28 wherein said processing means includes means for detecting zero crossings between adjacent oppositely signed values in said convolved image, the location of said zero crossings of said convolved image being the location of edges in said object.
30. A process according to claim 22 wherein said processing step includes convolving the grey scale image with a filter function into a convolved image having signed values, said filter function being selected such that a predetermined value in the convolved image is produced at edge locations on the object.
31. A process according to claim 30 wherein said predetermined value is zero.
32. A process according to claim 31 wherein said process includes the step of detecting values of zero in the convolved image.
33. A process according to claim 30 wherein said filter function approximates the second derivative of a gaussian function.
34. A process according to claim 33 wherein said predetermined value is zero, and including the step of detecting zero crossings between adjacent signed values in said convolved image, the location of said zero crossings being the location of edges in said object.
36. A method according to claim 35 including the step of scanning the object along a plurality of displaced scan lines for obtaining a digital grey scale image of the object, and convolving the digital grey scale image of the object into a convolved image of the object having signed values using a filter function that produces a predetermined value in the convolved image at edge locations of the object.
37. A method according to claim 36 including the step of detecting said predetermined value to thereby locate the edges of the object in the convolved image.
38. A method according to claim 36 wherein said filter function is the second derivative of a gaussian function.
39. A method according to claim 36 wherein said filter function is an approximation of the second derivative of a gaussian function.
40. A method according to claim 39 including the step of detecting zero crossings between adjacent oppositely signed values in said convolved image, the location of said zero crossings of said convolved image being the location of edges in said object.
42. A process according to claim 41 wherein the processing includes the step of convolving the digital grey scale image with a filter function that approximates the second derivative of a gaussian function for forming a convolved image having signed values.
43. A process according to claim 42 wherein the processing includes determining the location of edges in the object by finding zero crossings between adjacent oppositely signed values.
44. A process according to claim 42 wherein the increased resolution of the binary map is achieved by interpolation.
46. A process according to claim 45 wherein said filter function is empirically selected in accordance with electrical noise generated by the photosensitive detectors and the pattern of edges in the object such that the bit map is representative of the edges in the object.
47. A process according to claim 45 wherein the convolution is achieved by carrying out a one-dimensional convolution of successive lines of the image to form a one-dimensional convolved image, and carrying out an orthogonal one-dimensional convolution of successive lines of said one-dimensional convolved image to form a two-dimensional convolved image of object.
48. A process according to claim 47 wherein each one-dimensional convolved image is formed by multiple convolving with a boxcar function.
49. A process according to claim 45 wherein said filter function is a two-dimensional Laplacian of a gaussian function.
51. Apparatus according to claim 50 wherein said means for processing includes means for convolving the digital grey scale image with a filter function that approximates the second derivative of a gaussian function for forming a convolved image having signed values.
52. Apparatus according to claim 51 wherein said means for processing includes means for determining the location of edges in the object by finding zero crossings between adjacent oppositely signed values.
53. Apparatus according to claim 51 wherein said means for processing includes means for interpolating to increase the resolution of the binary map.
55. Apparatus according to claim 54 wherein said filter function is empirically selected in accordance with electrical noise generated by the photosensitive detectors and the pattern of edges in the object such that the bit map is representative of the edges in the object.
57. Apparatus according to claim 56 wherein said convolver performs a convolution operation using a filter function that approximates the second derivative of a gaussian function.
58. Apparatus according to claim 57 wherein said filter function is a two-dimensional Laplacian of a gaussian function.
60. A process according to claim 59 wherein said filter function is empirically selected in accordance with electrical noise generated by the photosensitive detectors and the edges in the object such that the bit map is representative of the edges in the object.
61. A process according to claim 59 wherein the convolution is achieved by carrying out a one-dimensional convolution of successive lines of the image to form a one-dimensional convolved image, and carrying out an orthogonal one-dimensional convolution of successive lines of said one-dimensional convolved image to form a two-dimensional convolved image of the printed circuit board.
62. A process according to claim 60 wherein each one-dimensional convolved image is formed by multiple convolving with a boxcar function.
63. A process according to claim 59 wherein said filter function is a two-dimensional Laplacian of a gaussian function.
64. Apparatus according to claim 50 wherein said means for processing includes means for convolving the digital grey scale image with a filter function of the type that forms a convolved image having signed values.
65. Apparatus according to claim 50 wherein said means for processing includes means for convolving the digital grey scale image with a filter function of the type in the form of first and second directional derivatives of a gaussian function for forming a convolved image having signed values.
0. 69. The invention of claim 68, wherein said electrical circuit is a printed circuit board having conductive traces on said surface.
0. 70. The invention of claim 68, wherein forming a two-dimensional grey scale image further comprises:
linearly displacing said electrical circuit in a direction generally perpendicular to said array of detectors; and
applying the output of said detectors to a memory having cells for storing, in the cells thereof, said grey scale image.
0. 71. The invention of claim 68, wherein modifying selected elements of said grey scale image further comprises:
convolving said two-dimensional grey scale image.
0. 72. The invention of claim 71, wherein convolving said two-dimensional grey scale image further comprises:
convolving said two-dimensional grey scale image with an approximation of a gaussian function.
0. 73. The invention of claim 72, wherein convolving said two-dimensional grey scale image comprises:
convolving said two-dimensional grey scale image with a two-dimensional, Laplacian of a gaussian function.
0. 74. The invention of claim 68, wherein said convolving further comprises:
forming a convolved image having a signed value for each element of said image.
0. 75. The invention of claim 74, wherein said interpolating further comprises:
interpolating between adjacent elements of opposite sign.
0. 76. The invention of claim 74, wherein said signed values represent conducting and non-conducting portions of said electrical circuit.
0. 77. The invention of claim 68, wherein modifying selected elements further comprises:
selecting elements for modification which appear to be related to portions of the two-dimensional grey scale image representing boundaries between conducting and non-conducting regions of said electrical circuit; and
modifying said selected elements in accordance with elements adjacent thereto representing said conducting and non-conducting regions.
0. 78. The invention of claim 77, wherein said interpolating further comprises:
spatially locating said boundaries between said conducting and non-conducting regions within one or more of said first elemental areas.
0. 80. The invention of claim 79, wherein processing said two dimensional gray scale image comprises:
modifying a value associated with at least some pixels of said two-dimensional grey scale image.
0. 81. The invention of claim 80, wherein modifying a value associated with at least some pixels further comprises:
modifying a value associated with at least some pixels of said two-dimensional grey scale image in accordance with values associated with other pixels located in said two-dimensional grey scale image.
0. 82. The invention of claim 81, wherein processing said two-dimensional gray scale image further comprises:
interpolating between values of at least some adjacent pixels of said two-dimensional gray scale image.
0. 84. A method for inspecting an electrical circuit according to claim 83, wherein said digital map spatial resolution is related to the size of second elemental areas of said electrical circuit which are smaller than said first elemental areas.
0. 85. A method for inspecting an electrical circuit according to claim 83, wherein said analyzing comprises detecting defects whose dimension is smaller than a first elemental area.
0. 86. A method for inspecting an electrical circuit according to claim 84, wherein said analyzing comprises detecting defects whose dimension is larger than a second elemental area.
0. 87. A method for inspecting an electrical circuit according to claim 85, wherein said analyzing comprises detecting defects whose dimension is larger than a second elemental area.
0. 88. A method for inspecting an electrical circuit according to claim 83, wherein processing the grey scale image comprises producing digital map elements that represent portions of said electrical circuit which are smaller than said first elemental areas.
0. 89. A method for inspecting an electrical circuit according to claim 88, wherein said digital map elements are binary pixels.
0. 90. A method for inspecting an electrical circuit according to claim 83, wherein said digital grey scale image is defined by grey scale image elements, and wherein said processing the grey scale image comprises producing a plurality of digital map elements for each of selected ones of grey scale image elements.
0. 91. A method for inspecting an electrical circuit according to claim 90, wherein said digital map elements are binary pixels.
0. 92. A method for inspecting an electrical circuit according to claim 83, wherein analyzing comprises:
measuring at least one distance in said digital map.
0. 93. A method for inspecting an electrical circuit according to claim 92, wherein said measuring is to a degree of accuracy that is greater than is possible using units which are the size of first elemental areas.

where where the quantity A represents the magnitude of the convolved image at 54, B represents the magnitude of the convolved image at data point 53, a represents the dimension of a pixel, and b represents the distance of the zero crossing from data point 54. The object of this exercise is to assign a binary value to bits associated with data points 53 and 54, as well as the two interpolated data points 58 and 59. The binary values for data points 54 and 53 are known and they are ZERO and ONE respectively as shown in FIG. 7. What is unknown is the value associated with the interpolatad interpolated data points 58 and 59, these values being indicated by the quantities x1 and x2. By inspection of Eq. (1), one an can see that if b lies within the interval between zero and a as shown in FIG. 7, then 2A is less than or equal to B. In such case, the zero crossing would occur between data points 54 and 59 and the consequence is that both x1 and x2 should have the binary value 1. similarly Similarly, if A is greater than or equal to 2B, then x1=0 and x2=0. Finally, if B/2<A<2B, then x1=0 and x2=1. The nature of convolving with the derivative of the Gaussian is such that near a zerg-crossing zero-crossing, the convolved image varies linearly. Therefore, the interpolation can be carried out quickly and simply. In order to determine the binary value for the final bit map from the convolved image, two rather simple arithmetic computations are carried out on adjacent oppositely signed values in the convolved image. Assignment of bit map values is dependent upon the inequalities discussed above.

Below curve 56 in FIG. 6 are two binary vectors, the vector at 60 representing the binary values that result from the original grey scale image of the printed circuit board. Vector 61, on the other hand, is obtained using the technique described above using the interpolated pixel values. The combined vectors product produce the same vector as vector 18 shown in FIG. 4 and also represent the curve 16 as indicated in FIG. 6.

In actual practice, a two-dimensional covolution convolution of the grey scale image with a two-dimensional second derivative (Laplacian) of a Gaussian is carried out. The result is a two-dimensional convolved image of signed values; an interpolation is carried on this convolved image as indicated in FIG. 8 which shows measured data at points designated by circled-pluses, and interpolated data points designated by circled-dots. Interpolation is carried out in orthogonal directions 62-63 and along diagonal 64 which bisects the orthogonal directions. In each case, the interpolation indentifies that pixel within which the zero crossing has occurred in two orthogonal directions and along a diagonal. This process is carried out point-by-point to complete the binary map.

Returning now to FIG. 5, interpolator and memory 65 carries out the operation described above on the two-dimensional convolved image produced by convolver 47. The interpolation process produces binary bit map 34 having pixel sizes that are the same as the binary bit map produced by the conventional approach taken in FIG. 4. However, the binary bit map in FIG. 5 can be obtained almost an order magnitude faster than the bit map following conventional procedures. Moreover, as indicated previously, the sensitivity of the apparatus to variations from board to board, and/or within the same board, to board thickness is less pronounced than in the conventional device because the enlarged pixel size for acquiring the data increases the depth of field of the optical system.

As indicated previously, the signed values of the convolved image are different from essentially zero only adjacent transitions or edges in the object image. No information is contained in the convolved image by which a determination can be made that a pixel containing an essentially zero value is derived from a pixel associated with the substrate or from a pixel associated with a line. Thus, the edges of lines can be accurately determined by the process and apparatus described above, but the attribute of pixels remote from an edge (e.g., pixels farther than the radius of the derivative of the Gaussian operator) is unknown. The purpose of pre-processor 70 is to furnish an attribute to interpolator 65 to enable it to assign a binary value to each bit of the bit map in accordance with whether its corresponding pixel is located in a line or in the substrate. Thus, pre-processor 70 applies to each pixel in the grey scale image a threshold test and stores in associated memory 71 a record that indicates whether the threshold is exceeded. The threshold will be exceeded only for pixels located in a line on the printed circuit board. When convolver 47 produces the convolved image of the grey scale image of the board, the addresses of each pixel lying in a line on the board is available from memory 71. Thus, the attribute of each pixel in the bit map can be established. It is determined directly by the convolution sign near a zero-crossing, and by the threshold test farther away from the zero-crossing. This is because unavoidable variations in contrast which always exist cause the threshold test to be inaccurate. This is particularly true near an edge transition where large variations in contrast exist. In the method described here, therefore, the threshold test is used for only for pixels completely surrounded by dark or light areas. The attributes of pixels near the transition are determined, on the other hand, directly by the convolution sign.

The present invention also contemplates determining whether any line on the board has a portion with a thickness less than a predetermined vlaue value, regardless of the orientation of the line relative to the axes defining the pixel orientation. This result is achieved in the manner illustrated in FIG. 9 which shows inclined 72 of width w on a board, the line having portion 73 of reduced width of less than a predetermined value. Fragment of bit map 74 shows line 72 as an island of ONE's in a sea of ZERO's. To determine the line width at point 75 on the line, pixel 75′ in the bit map is located, and a quadrant of imaginary circle 76 of radius equal to the requited line width is superimposed on the bit map, and apex of the quadrant being positioned at pixel 75′, the circle is defined by address offsets from selected pixel 75′. That is to say, given the address of a pixel on the edge of a line, the addresses of pixels within the boundary of circle 76 is known. If all of the pixels in the bit map within the boundary of circle 76 contains a ONE, then the width of the line at the selected point is no less than the required minimum line width. On the other hand, if any of the pixels within the boundary of circle 76 contain a ZERO, than the width of the line at the selected point is less than the required minimum. Note that the above description applies to line and space orientations between 0° and 90°. A complementary quadrant is used in an entirely analogous manner for orientations between 90° and 180°.

In practice, analysis of line width can be carried out automatically by sequentially applying the principles set forth above to each point on the edge of a line. A record can be made of each pixel in the bit map at which a ZERO detection occurs in the offset addresses, and hence the coordinates of each point on the board having too narrow a line can be determined and stored. It should be noted that the technique disclosed herein is applicable to any line on the board at any orientation.

The principles described above are equally applicable to determining whether the spacing between lines is less than a predetermined minimum. In this case, however, the imaginary circle is placed at at edge of a line such that it overlies the substrate, and the presence of a ONE in the offset addresses indicates reduced spacing.

The convolution function used in the present invention need not be a 2-dimensional function, and the convolution operation need not be carried out in one step. Rather, the function may be the difference of Gaussian functions, one that is positive, and one that is negative. The convolution operation can be carried out in two steps: convolving with the positive Gaussian function, and then convolving with the negative. Implementing this, the effect of convolution can be achieved by multiple convolving a line of data in the grey scale image with a boxcar function in one dimension, and then convolving the 1-dimensional convolved image with a boxcar function in an orthogonal direction.

In order to facilitate two dimensional filtering, or the convolution operation as described above, apparatus 100 shown in FIG. 10 can be utilized. Apparatus 100 accepts a serial data stream from a scanned two dimensional function arranged in rows or columns with k elements per row or per column. Such a signal is generated by a camera as described above.

The operation of apparatus 100 is based on a mathematical theorem that states that a 1-dimensional convolution of a given function with a Gaussian function can be closely approximated by multiple 1-dimensional convolutions of the given function with a boxcar function (i.e., a function that is unity between prescribed limits and zero elsewhere). This procedure is described in Bracewell, R.N. The Fourier Transform and Its Applications, McGraw-Hill Inc., 1978, chapter 8. Application of this theorem and its implementation to the grey-scale image of the board is achieved in the present invention by apparatus 100 which comprises a plurality of identical convolver unit modules, only one of which (designated by numeral 101) is shown in detail. Each module accepts a stream of values from a scanned two dimensional function, and performs a partial filtering operation. The output of that module is then fed to the next module for further filtering.

Each module contains a shift register made of many (e.g., 2048) cells which are fed sequentially with a stream of grey level values from the camera. Under control of pulses from a clock (not shown), the contents of each cell is shifted (to the right as seen in FIG. 10) into the adjacent cell. The first step of the operation is to add two adjacent samples in the input signal to the module. This is achieved by delaying the input signal by one clock period using cell 103 and feeding its output together with the input stream to adder 104 whose output represents the boxcar function. The output of the adder may be delayed by cell 105, which is not essential for the correct operation of the module, but may be included in order to improve speed of operation. The output of cell 105 is down-shifted through shift register 102. Both the input to and the output from shift register 102 are fed into second adder 106 whose output is applied to last cell 107 which outputs the partial result into the next module. This stage completes convolution of the input stream with a two-dimensional boxcar of size 2×2 pixels. Each of cells 103, 105 and 107, and shift register 102, is pulsed by the same clock. Several modules, for example nine, are cascaded in order to perform from required filtering on the input stream applied to convolver unit 1 whose input signal is a scanned two dimensional function of row length of k samples. The output stream from the last cascaded module is a 2-dimensional convolution of the grey scale image.

Another embodiment of convolver, shown in FIG. 11 by reference numeral 110, carries out the same filtering functions as the apparatus shown in FIG. 10, except that the total delay through the circuit is different. Apparatus 110 comprises a plurality of horizontal and vertical convolver units. If the number of horizontal units is made equal to the number of vertical units, a symmetrical convolution is achieved. If the number of units in apparatus 110 is the same as in apparatus 100, the transfer function will be exactly the same except for a fixed delay in the output signal.

The horizontal block of apparatus 110 contains m units, each of which performs partial horizontal filtering or convolution. Two adjacent samples in cells 112 and 113 are summed by adder 114 which represent here the boxcar function. The output of the adder is fed into output cell 115. Cascading many horizontal units performs a 1-dimensional horizontal filtering. The output of the horizontal block is then fed into the vertical block.

The vertical block is made of identical units, each of which performs partial vertical filtering. Apparatus 116 shows one vertical unit. The signal is fed into the input cell 117. The output of that cell is down shifted along the shift register 118. Adder 119 adds the output of the shift register and the output of cell 117. The output of module 116 is fed into the input of the next module. The vertical modules perform a 1-dimensional convolution on the output of the horizontal module, completing in this manner a 2-dimensional convolution on the grey-scale image. All memory cells in the vertical or horizontal units as well as all shift registers are pulsed by a common clock (not shown) feeding the value of each cell into the adjacent cell.

While the above described apparatus performs repeating convolutions with a boxcar function comprised of two adjacent pixels, the convolutions can be achieved using a boxcar function comprising more than two adjacent pixels. This can be achieved, for example, by increasing the number of sampling cells and the number of shift registers, and consequently also increasing the number of inputs entering the adders per module.

As previously indicated, the convolution process requires a 2-dimensional convolution with the differences between Gaussian functions and this can be achieved in the manner indicated in FIGS. 10 and 11, the size of the boxcar function (i.e., its limits along the line of registers) is empirically selected to produce good correspondence between the bit map eventually produced and the actual board. While a line of data in the example described above is said to consist of 2048 pixels, it should be clear that this number is by way of example only and represents the number of photodetectors used in conventional scanning cameras. Furthermore, the 20-pixels window referred to above should also be Considered as being an example because other windows, or even no window at all, can be used.

Finally, while the invention has been described in detail with reference to optical scanning of printed circuit boards, the inventive concept is applicable to other optical scanning problems, and more generally, to any 2-dimensional convolution problem. For example, the invention can be applied to inspecting hybrid boards as well as integrated circuits.

The advantages and improved results furnished by the method and apparatus of the present invention are apparent from the foregoing description of the preferred embodiment of the invention. Various changes and modifications may be made without departing from the spirit and scope of the invention as described in the claims that follow.

Caspi, Amiram, Lapidot, Zvi

Patent Priority Assignee Title
7706592, Sep 20 2006 Primax Electronics Ltd. Method for detecting a boundary of a monetary banknote within an image
7706593, Sep 20 2006 Primax Electronics Ltd. Verification method for determining areas within an image corresponding to monetary banknotes
7738690, Sep 20 2006 Primax Electronics Ltd. Verification method for determining areas within an image corresponding to monetary banknotes
7885450, Sep 20 2006 Primax Electronics Ltd. Method for characterizing texture of areas within an image corresponding to monetary banknotes
7916924, Sep 19 2006 Primax Electronics Ltd. Color processing method for identification of areas within an image corresponding to monetary banknotes
8139115, Oct 30 2006 International Business Machines Corporation Method and apparatus for managing parking lots
8594383, May 27 2009 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and apparatus for evaluating printed images
9035673, Jan 25 2010 Xerox Corporation Method of in-process intralayer yield detection, interlayer shunt detection and correction
9147267, Nov 16 2011 Siemens Healthcare GmbH Reconstruction of image data
Patent Priority Assignee Title
3928842,
4048485, Apr 16 1975 International Business Machines Corporation Digital filter generating a discrete convolution function
4200861, Sep 01 1978 GENERAL SCANNING, INC Pattern recognition apparatus and method
4259661, Sep 01 1978 Unisys Corporation Apparatus and method for recognizing a pattern
4282510, Jan 07 1980 RCA Corporation Apparatus for discerning the noticeable presence of spatial fluctuations of intensity within a two-dimensional visual field
4303947, Jun 21 1978 Xerox Corporation Image interpolation system
4330833, May 26 1978 IMAGE ASSOCIATES, INC , 12196 ATRIUM DR , SARATOGA, CA 95070 A CORP OF CA Method and apparatus for improved digital image processing
4442542, Jan 29 1982 Sperry Corporation Preprocessing circuitry apparatus for digital data
4462046, Jul 02 1982 JONES, ROBERT L JR Machine vision system utilizing programmable optical parallel processing
4472786, Apr 23 1982 NAVY, THE UNITED STATES OF AMERICA AS REPRESENTED BY THE SECRETARY OF THE Analog Gaussian convolver
4543660, Apr 15 1982 Tokyo Shibaura Denki Kabushiki Kaisha Pattern features extracting apparatus and method
4553260, Mar 18 1983 Honeywell Inc. Means and method of processing optical image edge data
4555770, Oct 13 1983 United States of America, as represented by the Secretary of the Air Force Charge-coupled device Gaussian convolution method
4570180, May 28 1982 International Business Machines Corporation Method for automatic optical inspection
4578812, Dec 01 1982 NEC Corporation Digital image processing by hardware using cubic convolution interpolation
4648120, Jul 02 1982 E I DU PONT DE NEMOURS AND COMPANY Edge and line detection in multidimensional noisy, imagery data
4658372, May 13 1983 SCHLUMBERGER SYSTEMS AND SERVICES, INC Scale-space filtering
4724482, Oct 21 1983 Telecommunications Radioelectriques et Telephoniques TRT Infrared thermography system with sensitivity improved by progressive accumulation of image lines
4736437, Nov 22 1982 GSI Lumonics Corporation High speed pattern recognizer
4758888, Feb 17 1987 Orbotech Ltd Method of and means for inspecting workpieces traveling along a production line
4863268, Feb 14 1984 Diffracto Ltd. Diffractosight improvements
5146509, Aug 30 1989 Hitachi, Ltd.; Hitachi Video Engineering, Inc. Method of inspecting defects in circuit pattern and system for carrying out the method
5204910, May 24 1991 Freescale Semiconductor, Inc Method for detection of defects lacking distinct edges
5495535, Jan 31 1992 Orbotech Inc. Method of inspecting articles
5586058, Dec 04 1990 Applied Materials Israel Ltd Apparatus and method for inspection of a patterned object by comparison thereof to a reference
5619429, Dec 04 1990 Applied Materials Israel Ltd Apparatus and method for inspection of a patterned object by comparison thereof to a reference
5774572, Dec 20 1984 Orbotech Ltd Automatic visual inspection system
EP594146,
WO11454,
WO19372,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 30 2000Orbotech, Ltd.(assignment on the face of the patent)
Feb 18 2001CASPI, AMIRAMOrbotech LtdASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0115870587 pdf
Feb 21 2001LAPIDOT, ZVIOrbotech LtdASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0115870587 pdf
Date Maintenance Fee Events
Dec 02 2005M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Feb 01 2010REM: Maintenance Fee Reminder Mailed.
Jun 25 2010EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Mar 22 20084 years fee payment window open
Sep 22 20086 months grace period start (w surcharge)
Mar 22 2009patent expiry (for year 4)
Mar 22 20112 years to revive unintentionally abandoned end. (for year 4)
Mar 22 20128 years fee payment window open
Sep 22 20126 months grace period start (w surcharge)
Mar 22 2013patent expiry (for year 8)
Mar 22 20152 years to revive unintentionally abandoned end. (for year 8)
Mar 22 201612 years fee payment window open
Sep 22 20166 months grace period start (w surcharge)
Mar 22 2017patent expiry (for year 12)
Mar 22 20192 years to revive unintentionally abandoned end. (for year 12)