Method and system for detecting defects on a printed circuit board
First Claim
Patent Images
1. A method for detecting surface defects on a Printed Circuit Board (PCB) having at least one layer including components, said method comprising:
- providing a digital image of the PCB;
identifying edges on the PCB image;
providing a computer model for each component on the at least one layer of the PCB, the computer model of each component on the at least one layer including segments;
detecting anomalies on the PCB image by comparing identified edges to the computer model; and
for each detected anomaly, determining if the detected anomaly corresponds to a surface defect;
wherein said edges identifying step includes;
computing a numerical gradient on the PCB image to yield a gradient image;
thresholding the gradient image to yield a thresholded image;
skeletting the thresholded image; and
finding edges on the skeletted image;
thereby yielding at least one chain of pixels, and wherein said edges identifying step further includes;
saving each of the at least one chain of pixels of the skeletted image as a vector of pixel co-ordinates;
using the pixel co-ordinates to estimate a second derivative of the at least one chain of pixels; and
estimating co-ordinates of a passage by zero of the second derivatives;
whereby, the passage by zero corresponds to edges.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and a system for detecting surface defects on electronic circuits, such as Printed Circuit Boards (PCB), are described herein. The method first comprises identifying contours on a digital image of the PCB. Then anomalies are detected on the PCB image by comparing the identified contours to contours on a vectorial model of the PCB. Each detected anomaly is compared to manufacturing data to verify if it corresponds to a defect.
53 Citations
17 Claims
-
1. A method for detecting surface defects on a Printed Circuit Board (PCB) having at least one layer including components, said method comprising:
-
providing a digital image of the PCB;
identifying edges on the PCB image;
providing a computer model for each component on the at least one layer of the PCB, the computer model of each component on the at least one layer including segments;
detecting anomalies on the PCB image by comparing identified edges to the computer model; and
for each detected anomaly, determining if the detected anomaly corresponds to a surface defect;
wherein said edges identifying step includes;
computing a numerical gradient on the PCB image to yield a gradient image;
thresholding the gradient image to yield a thresholded image;
skeletting the thresholded image; and
finding edges on the skeletted image;
thereby yielding at least one chain of pixels, and wherein said edges identifying step further includes;
saving each of the at least one chain of pixels of the skeletted image as a vector of pixel co-ordinates;
using the pixel co-ordinates to estimate a second derivative of the at least one chain of pixels; and
estimating co-ordinates of a passage by zero of the second derivatives;
whereby, the passage by zero corresponds to edges. - View Dependent Claims (2, 3)
-
-
4. A method for detecting surface defects on a Printed Circuit Board (PCB) having at least one layer including components, said method comprising:
-
providing a digital image of the PCB;
identifying edges on the PCB image;
providing a computer model for each component on the at least one layer of the PCB, the computer model of each component on the at least one layer including segments, each of the at least one layer of the computer model being aligned with the PCB image and aligned layers being superimposed;
detecting anomalies on the PCB image by comparing identified edges to the computer model; and
for each detected anomaly, determining if the detected anomaly corresponds to a surface defect, wherein the computer model is a vectorial model including a polygon representation of every component on each of the at least one layer;
the polygon including at least one segment;
the at least one layer of the computer model being superimposed by superimposing each polygon from a first layer with each polygon from a second layer.- View Dependent Claims (5, 6, 7, 8)
-
-
6. The method as recited in claim 4, wherein said anomalies detecting step includes determining, for each layer k of the computer model, a list of polygons Tk, located in narrow regions of the layer k, using the following iterative formula:
-
7. The method as recited in claim 6, wherein the width of the inter-space is determined by erosion of each of the polygons.
-
8. The method as recited in claim 4, wherein said anomalies detecting step includes determining, for each of the at least one layer k, a list of polygons Ok in overlapping regions on the PCB'"'"'s computer model using the following iterative formula:
-
9. A method for detecting surface defects on a Printed Circuit Board (PCB) having at least one layer including components, said method comprising:
-
providing a digital image of the PCB;
identifying edges on the PCB image;
providing a computer model for each component on the at least one layer of the PCB, the computer model including contours of each component, and for each contour, a model of a rectangle enclosing the contour;
detecting anomalies on the PCB image by comparing identified edges to the computer model, wherein;
a) for each pixel of the PCB image, verifying if a contour among said contours of each component has its corresponding rectangle enclosing said pixel;
if not, considering said pixel part of an anomaly;
if so, b) verifying if said pixel is part of said contour having its corresponding rectangle enclosing said pixel;
if not, considering said pixel part of an anomaly; and
for each detected anomaly, determining if the detected anomaly corresponds to a surface defect.
-
-
10. A method for detecting surface defects on a Printed Circuit Board (PCB) having at least one layer including components, said method comprising:
-
providing a digital image of the PCB;
identifying edges on the PCB image;
providing a computer model for each component on the at least one layer of the PCB, the computer model of each component on the at least one layer including segments;
detecting anomalies on the PCB image by comparing identified edges to the computer model; and
for each detected anomaly, determining if the detected anomaly corresponds to a surface defect;
wherein said anomalies detecting step includes using the computer model to create an image of the computer model and comparing the PCB image with the image of the computer model and further includes detecting edges in the PCB image that are in excess relative to the segments in the computer model;
for each detected anomaly, determining defects by a) determining a first segment in the computer model that is positioned within a predetermined distance of the detected anomaly;
b) for each segment opposite the first segment, determining if a distance between the first segment and the opposite segment is within a predetermined threshold.- View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification