DE60100594T2 - Verfahren und system zur aufspürung von fehlern auf einer gedruckten leiterplatte - Google Patents

Verfahren und system zur aufspürung von fehlern auf einer gedruckten leiterplatte Download PDF

Info

Publication number
DE60100594T2
DE60100594T2 DE60100594T DE60100594T DE60100594T2 DE 60100594 T2 DE60100594 T2 DE 60100594T2 DE 60100594 T DE60100594 T DE 60100594T DE 60100594 T DE60100594 T DE 60100594T DE 60100594 T2 DE60100594 T2 DE 60100594T2
Authority
DE
Germany
Prior art keywords
circuit board
image
surface defects
layer
detecting surface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60100594T
Other languages
English (en)
Other versions
DE60100594D1 (de
Inventor
Alain Coulombe
Michel Brossard CANTIN
Louis Berard
Jonathan Gauthier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Solvision Inc
Original Assignee
Solvision Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Solvision Inc filed Critical Solvision Inc
Application granted granted Critical
Publication of DE60100594D1 publication Critical patent/DE60100594D1/de
Publication of DE60100594T2 publication Critical patent/DE60100594T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Inspektionssysteme und Verfahren zum Erfassen von Defekten auf elektronischen Schaltungen wie beispielsweise gedruckten Leiterplatten. Genauer betrifft die vorliegende Erfindung solche Systeme und Verfahren, die auf Kantenerkennung basieren.
  • HINTERGRUND DER ERFINDUNG
  • Elektronische Schaltungen können in vielen Formen auftreten, beispielsweise in Form gedruckter Leiterplatten (Printed Circuit Boards PCB), Lead-Frames und Hybridschaltungen. Diese Schaltungen umfassen üblicherweise eine Mehrzahl von Bauteilen, z. B. Leitungen, Löcher, Anschlüsse, Dielektrika, Fotopolymer-Widerstandsfilme etc. Diese Bauteile können auf Schichten zusammengesetzt werden, die wiederum übereinander angeordnet werden. Ein Beispiel einer solchen Mehrschichtanordnung ist die wohlbekannte Leiterbahnen-Bohrungen-Glasur-Schaltungsstruktur. In der nachfolgenden Beschreibung werden wir uns lediglich auf gedruckte Leiterplatten (PCB) als Beispiele beziehen. Es ist jedoch zu verstehen, dass die vorliegende Erfindung nicht auf dieses Ausführungsbeispiel von elektronischen Schaltungen beschränkt ist.
  • In der Vergangenheit wurden Inspektionen von PCBs visuell durch eine Person durchgeführt, die auf die Schaltung geblickt hat, und zwar unter Verwendung einer Lupe, um zu versuchen, Unterschiede mit einem akzeptablem Schaltungsmodell herauszufinden. Es gibt viele Nachteile visueller Inspektionen. Subjektivität, Langsamkeit, die Schwierigkeit, quantitative Informationen über Defekte zu ermitteln, etc.
  • Automatische Verfahren der Inspektion sind neuerdings infolge der Erhöhung der Computerverarbeitungsgeschwindigkeit aufgekommen. Die meisten dieser automatischen Verfahren bestehen darin, ein digitales Bild der PCB zu inspizieren und dieses digitale Bild zu analysieren, um das Vorliegen von Defekten zu ermitteln. Beispiele solcher automatischer Verfahren sind die, die auf der Erkennung von Kanten basieren.
  • Eine Kante ist ein Segment der Kontur eines Bauteils. Es kann visuell auf einem digitalen Bild als Variation der Farbtönung von einem Bauteil zum nächsten erkannt werden, unter der Annahme, dass Übergänge zwischen Bauteilen (oder Bereichen) optisch unterschiedliche Charakteristika aufweisen. Kantenbasierte Erkennungsverfahren bestehen darin, Kanten auf einem PCB-Bild zu charakterisieren und zu analysieren, und zwar durch Vergleich solcher Kanten mit bekannten Werten und Kriterien.
  • 1 der beigefügten Zeichnungen illustriert Beispiele von Defekten, die auf einer PCB oder anderen Typen von elektronischen Schaltungen gefunden werden können. Die Defekte können beispielsweise ein schlechtes Überlappen 10 zwischen zwei Schichten auf dem PCB sein, eine Fehlausrichtung von zwei Schichten 12, eine zu kleine Lücke 14 zwischen zwei benachbarten Bahnen, eine Brücke 16 zwischen zwei Bauteilen, eine zu enge Bahn 18 oder eine gebrochene Bahn 19.
  • Ein Beispiel eines kantenbasierten Verfahrens zur Erkennung von Defekten auf einer elektronischen Schaltung wird in US-Patent 4,570,180 mit dem Titel "Verfahren zur automatischen optischen Inspektion" beschrieben, das am 11. Februar 1986 erteilt wurde und Baier et al. als Erfinder benennt. Dieses Patent betrifft ein Verfahren und eine Vorrichtung zur automatischen optischen Inspektion eines im Wesentlichen zweidimensionalen Musters unter Verwendung digitaler Bildverarbeitungstechniken. Das Verfahren umfasst einen ersten Schritt, in dem Graupegel-Digitalbilder für Kanten oder Linien gescannt werden und diese Kanten im Bildspeicher markiert werden. Dann werden alle nicht markierten Bereiche in dem Bildspeicher gescannt und für erlaubte Graupegel getestet.
  • Da Anomalien nur durch Vergleich zwischen nicht markierten Bereichen mit erlaubten Graupegeln getestet werden, besteht ein Nachteil von Baiers Verfahren darin, dass die Qualität der Erfassung zu stark von der Qualität der digitalen Bilder abhängt. Tatsächlich kann das digitale Image eines Objektes Variationen in der Größe von Merkmalen und Orten abhängig von dem Digitalisierungsalgorithmus, Vergrößerungsunterschieden etc. aufweisen.
  • Ein weiteres Problem von Baiers Verfahren ist, dass ungefähr die gleiche Rechenleistung erforderlich ist, um alle Pixel des digitalen Bildes zu testen, die nicht mit Kanten korrespondieren, was zur Verschwendung von Rechenressourcen und Zeit führt.
  • Ein weiterer Nachteil von Baiers Verfahren besteht darin, dass es schwierig sein kann, einen erkannten Defekt zu charakterisieren. Solch eine Charakterisierung kann nützlich sein, um auftretende Fehlermuster in dem Herstellungsprozess der elektronischen Schaltung zu identifizieren.
  • Im US-Patent 5,452,368, das am 19. September 1995 erteilt wurde und den Titel "Method of Detecting Defects in Semiconductor Package Leads" trägt, lehrt Le Beau ein Verfahren zur Erkennung von Defekten in Objekten durch Vergleich eines ersten Graustufenbildes eines ersten Objekts mit einem zweiten Graustufenbild eines zweiten Objekts. Genauer gesagt werden die Kantenmerkmale des ersten Bildes skelettiert und mit den verbreiterten Kantenmerkmalen des zweiten Bildes verglichen und umgekehrt. Im Gegensatz zu Baiers Verfahren überprüft Le Beaus Verfahren nicht nicht kantenbezogene Bereiche des digitalen Bildes.
  • Ein Nachteil von Le Beaus Verfahren besteht jedoch darin, dass Defekt durch Vergleich zweier Bilder von Objekten gesucht werden, die sehr ähnliche Defekte an ungefähr demselben Ort aufweisen können.
  • Le Beaus Verfahren erlaubt nicht die Erkennung solcher Defekte. Dies ist ein wesentlicher Nachteil, da ein fehlerhafter Herstellungsprozess solche wiederholte Defekte verursachen kann.
  • Manabu Hashimoto: "High-Speed Template Matching Algorithm Using Information of Contour Points" Systems & Computers in Japan, Scripta Technica Journals. New York, US, Vol. 23, Nr. 9, 1992, Seiten 78–87, XP000334342 ISSN: 0882–1668 lehrt einen Algorithmus und seine Verwendung für PCB-Bilder und Wafer-Muster, wobei der Algorithmus dazu dient, geringe Unterschiede zwischen zwei sehr ähnlichen Graustufenbildern basierend auf der Extraktion von Kanten der Bilder zu erkennen.
  • US-A-4 893 346 (ROBERT BISHOP), 09. Januar 1990 (1990-01-09) lehrt die Erzeugung von Bildern von einem CAD/CAM-Modell für industrielle Inspektion, einschließlich von Bildern, die Größenvariationen der Computermodelle entsprechen. Von diesen Bildern werden Merkmale extrahiert und gespeichert. Bei der Inspektion werden die gleichen Merkmale von Eingabebildern extrahiert und mit den gespeicherten Merkmalen zur Erkennung von Defekten verglichen.
  • Entsprechend ist es wünschenswert, ein Verfahren und ein System zu haben, das die Erkennung von Defekten auf einer elektronischen Schaltung ermöglicht, und das nicht von der Qualität und der Auflösung des digitalisierten Bildes der elektronischen Schaltung abhängt und nicht Graustufenpegelvariationen als Defekte interpretiert.
  • Es ist ferner wünschenswert, ein Verfahren und ein System zur Erkennung von Defekten zu haben, das Design-Daten verwendet.
  • Es ist ferner wünschenswert, solche Verfahren und Systeme zu haben, die zwei Ebenen der Inspektion bereitstellen, eine zur Erkennung von Anomalien und eine andere, um diese Anomalien auf Defekte zu inspizieren, wodurch die Verarbeitungsgeschwindigkeit erhöht wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist in den angefügten Ansprüchen definiert.
  • Es ist festzuhalten, dass der Begriff "PCB" so verstanden werden soll, dass er irgendeine elektronische Schaltung betrifft, die visuell erkennbare Oberflächendefekte aufweisen kann.
  • Vorteile und Merkmale der vorliegenden Erfindung werden deutlicher bei Lesen der nachfolgenden nicht einschränkenden Beschreibung der bevorzugten Ausführungsbeispiele, die lediglich exemplarisch unter Bezugnahme auf die beigefügten Zeichnungen angegeben sind.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • In den beigefügten Zeichnungen sind:
  • 1 zeigt eine schematische Ansicht, die Beispiele von Defekten auf einer gedruckten Leiterplatte (PCB) zeigt;
  • 2 zeigt ein Blockdiagramm eines Systems zur Erkennung von Oberflächendefekten auf einer PCB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 zeigt ein Flussdiagramm eines Verfahrens zur Erkennung von Oberflächendefekten auf einer PCB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 zeigt ein Flussdiagramm des Kontur-Identifizierungsschritts aus 3;
  • 5 zeigt eine schematische Ansicht von sowohl Bildern der PCB als auch eines Computermodells davon, das die Selektion von Referenzpunkten für deren Ausrichtung illustriert;
  • 6a ist eine schematische Ansicht von überlagerten Polygonen von einem Dreischichtmodell einer PCB;
  • 6b ist eine schematische Ansicht der Polygone von 6a nach Subtraktion der folgenden Schichten;
  • 6c ist eine schematische Ansicht der Schnittpunkte der Polygone aus 6a;
  • 7a ist eine schematische Ansicht der Polygone aus 6a, welche einen engen Bereich illustriert;
  • 7b ist eine schematische Ansicht der Polygone von P1 und P3 aus 7a nach Dehnung;
  • 7c ist eine schematische Ansicht der Ergebnisse der Überlagerung der Polygone von 7a;
  • 8 ist eine schematische Ansicht, die die Erkennung von fehlenden Konturen eines Bereichs auf einer PCB illustriert;
  • 9 ist eine schematische Ansicht, die die Definition von zwei aktiven Halbebenen im Schritt der Erkennung eines Defekts unter Anomalien aus 3 illustriert;
  • 10 ist eine schematische Ansicht, die die Messung des Abstands zwischen zwei Segmenten illustriert, wenn die Segmente nicht parallel sind;
  • 11 ist eine schematische Ansicht, die die Messung eines kumulativen Intervalls zwischen zwei parallelen Segmenten illustriert;
  • 12 ist eine schematische Ansicht, die die Bestimmung einer Anomalie-Analyse-Region (AAR) illustriert;
  • 13a, 13b und 13c sind Flussdiagramme eines Verfahrens, um zu bestimmen, ob eine Anomalie die erlaubte Breite oder den erlaubten Abstand verletzt;
  • 14 ist eine schematische Ansicht, die Defekte in einer engen Abstandsregion illustriert;
  • 15 ist ein Entscheidungsbaum, um Defekte in einem engen Abstandsbereich zu erkennen;
  • 16 ist eine schematische Ansicht von einem Polygon aus einem Vektormodell, das den Erosionsprozess illustriert; und
  • 17 ist eine schematische Ansicht des Polygons aus 16 nach dem Erosionsprozess.
  • BESCHREIBUNG DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
  • Allgemein gesprochen umfasst ein Verfahren zur Erkennung von Oberflächendefekten auf einer PCB, das ein Ausführungsbeispiel der vorliegenden Erfindung darstellt, 1) die Identifizierung von Kanten auf einem digitalen Bild der PCB, 2) die Erkennung von Anomalien durch Vergleichen der identifizierten Kanten mit einem Computermodell der PCB und 3) die Ermittlung, ob die erkannten Anomalien einem Oberflächendefekt entsprechen, in dem jede Anomalie charakterisiert wird.
  • Ein Verfahren gemäß der vorliegenden Erfindung umfasst daher zwei Ebenen der Inspektion: Eine erste Ebene, die es ermöglicht, schnell Anomalien zu identifizieren und die vergleichsweise wenig Rechenzeit erfordert, und eine zweite Ebene, die detaillierter ist, und identifizierte Anomalien mit Design-Spezifikationen vergleicht, um erkannte Defekte zu charakterisieren.
  • Um das Verfahren zu implementieren, müssen ein digitales Bild der inspizierten PCB und ein Computermodell einer ähnlichen PCB bereitgestellt werden.
  • Bezug nehmend auf 2 der beigefügten Zeichnungen wird nun ein System 20 zur Erkennung von Oberflächendefekten auf einer PCB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung beschrieben.
  • Allgemein gesprochen erlaubt das System 20 die Annahme eines Bildes einer PCB während der Inspektion und ferner die Erkennung möglicher Defekte unter Verwendung eines Verfahrens gemäß der vorliegenden Erfindung, wie dies nachfolgend genauer beschrieben wird.
  • Das System 20 umfasst einen Computer 22, einen Frame-Grabber 24 und eine Illuminationsanordnung 26, die beide mit dem Computer 22 verbunden sind, sowie eine Kamera, die mit dem Frame-Grabber 24 und einem Positioniersystem 30 verbunden ist, der mit dem Frame-Grabber 24 über einen Achsen-Controller 32 und einen Servo-Controller 34 verbunden ist.
  • Der Computer 22 ist vorteilhafterweise in Form eines Personal Computers ausgebildet, der so konfiguriert ist, dass er sowohl das von der Kamera 28 aufgenommene Bild der PCB; die inspiziert werden soll, als auch ein Computermodell einer ähnlichen PCB speichert. Der Computer 22 ist ferner vorteilhafterweise so programmiert, dass er die Illuminationsanordnung 26 steuert und die Berechnungen durchführt, um das Bild zu analysieren und unter Verwendung eines Verfahrens gemäß der vorliegenden Erfindung ermittelt, ob die PCB, die inspiziert wird, Oberflächendefekte aufweist.
  • Die Illuminationsanordnung 26 erlaubt die Regelung der Lichtintensität auf der PCB, die inspiziert wird.
  • Der Frame-Grabber 24 ist in Form einer Karte ausgebildet, die die Kamera 28 und den Computer 22 verbindet. Der Frame-Grabber 24 kann vorteilhafterweise in einem von zwei Betriebsmodi arbeiten. Gemäß einem ersten Modus nimmt der Frame-Grabber ein Bild Zeile um Zeile auf und sendet jede Zeile an den Computer 22. In einem zweiten Modus nimmt der Frame-Grabber 24 ein Vollbild der PCB auf einmal auf, bevor er das Bild an den Computer 22 sendet.
  • Eine optionale konventionelle Bildverarbeitungskarte 36 verbindet vorteilhafterweise den Frame-Grabber und den Computer 22 und erlaubt schnellere Verarbeitung der durch die Kamera 28 aufgenommenen Bilder. Wenn die Karte 36 nicht eingebaut ist, ist der Computer 22 so konfiguriert, dass er das Bild verarbeitet.
  • Die Kamera 28 erlaubt die Aufnahme digitaler Bilder von PCBs. Die Kamera 28 ist vorteilhafterweise in Form einer CCD (Charge-Coupled-Device)-Kamera ausgebildet, die in einem linearen oder in einem Matrix-Modus arbeitet. Die Auflösung der Kamera 28 kann gemäß der Natur der zu inspizierende PCB und der erforderlichen Präzision variieren.
  • Die Verwendung einer linearen CCD-Kamera erfordert, dass das Positioniersystem 30 die PCB in einer Richtung senkrecht zu ihren Pixeln scannt. Jedoch kann die Auflösung, die in einer senkrechten Richtung erzielt wird, praktisch unendlich sein. Die Zeilenauflösung ist etwa 8000 Pixel.
  • Matrix-CCD-Kameras haben eine Auflösung von etwa 4000 × 4000 Pixeln. Die Verwendung solcher Kameras ist bei ausgedünnten oder engen Bereichen einer PCB vorteilhaft. In diesem Fall kann das Positioniersystem 30 konfiguriert sein, dass es von Bereich zu Bereich sich bewegt.
  • Das Positioniersystem 30 umfasst Achsen und Servomotoren (nicht gezeigt), die die Bewegung von Stützelementen, auf welchen die PCB liegt, ermöglicht.
  • Der Achsen-Controller 32 erlaubt die Synchronisierung der Bewegung des Positioniersystems 30 mit den Erfordernissen des Inspektionssystems 20.
  • Der Servocontroller 34 steuert das Positioniersystem 30 und die retroaktive Schleife, die die Amplitude des Leistungsstroms steuert, der erforderlich ist, um die Elektromotoren (nicht gezeigt) des Positioniersystems 20 anzusteuern.
  • Da davon ausgegangen wird, dass Frame-Grabber, Servocontroller, Positioniersysteme und CCD-Kameras wohlbekannt sind, werden sie hier nicht weiter im Detail beschrieben.
  • Natürlich kann das System 20 andere Konfigurationen aufweisen, ohne vom Geist und der Natur der vorliegenden Erfindung abzuweichen.
  • Das System 20 kann offensichtlich Teil einer Produktionslinie sein.
  • Unter Bezugnahme auf 3 wird nun ein Verfahren zum Erfassen von Oberflächendefekten auf einer PCB oder einer anderen elektronischen Schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung im Detail beschrieben.
  • Im Schritt 202 wird ein digitales Bild der PCB an den Computer 22 geliefert. Das Bild besteht vorzugsweise aus einer Bitmap mit Graustufen. Die Anzahl der Graustufen kann gemäß der erforderlichen Präzision variieren. Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung erzeugt und analysiert das System digitale Bilder mit 256 Graustufen. Alternativ dazu kann das anfängliche Bild andere Formate aufweisen und ein Konversionsschritt zur Erzeugung eines Bitmap-Bildes hinzugefügt werden.
  • Im Schritt 204 werden Konturen auf dem PCB-Bild identifiziert. Schritt 204 erzeugt eine "tatsächliche Konturgrafik" (Actual Conture Charge ACC), die eine Repräsentation der Konturen auf dem PCB-Bild ist. Wie nachfolgend beschrieben wird, werden die Positionen der Konturen mit einer größeren Auflösung berechnet als die Auflösung des vom System 20 aufgenommenen PCB-Bildes. Schritt 204 wird in 4 summarisch dargestellt.
  • Im Unterschritt 204a (4) wird die Luminosität des PCB-Bildes korrigiert. Genauer wird die Luminosität (Pixelintensität) des Bildes vorzugsweise unter Verwendung der folgenden Gleichung normalisiert: lum = 256 × (lum – LUM_MIN)/(LUM_MAX – LUM_MIN) (1)
  • Dabei ist
    lum die Luminosität an jedem Pixel des Bildes;
    LUM_MIN die durchschnittliche Luminosität in der dunkelsten Region des Bildes und
    LUM_MAX die durchschnittliche Luminosität in der Helligkeitsregion des Bildes.
  • Die obige Gleichung erlaubt die Verteilung der Pixelintensität zwischen LUM_MIN und LUM_MAX, so dass alle 256 Graustufen abgedeckt werden.
  • Offensichtlich kann die obige Gleichung gemäß der Anzahl der Graustufen des Bildes korrigiert werden. Andere Normalisierungsgleichungen können ebenfalls verwendet werden.
  • Obwohl Unterschritt 204a optional ist, hat sich herausgestellt, dass es vorteilhaft ist, die Luminosität zu korrigieren, um die Effizienz des Schwellwert-Unterschritts (204d) zu erhöhen.
  • Es wird davon ausgegangen, dass es innerhalb der Fähigkeiten des Fachmanns liegt, einen Algorithmus zur Ermittlung der dunkelsten und hellsten Region des Bildes einzusetzen.
  • In dem optionalen Unterschritt 204b wird das PCB-Bild so gefiltert, dass das Rauschen durch die Numerierung des Bildes verringert wird. Der folgende Gauß-Filter wird vorzugsweise auf ein 3 × 3-Pixelfenster (achtfach-verbundenes Fenster) angewendet:
  • Figure 00120001
  • Der Gauß-Filter kann auf ein Pixelfenster mit anderer Dimension angewendet werden. Andere Typen von Filtern können auch verwendet werden.
  • Im Unterschritt 204c wird der numerische Gradient auf dem achtfach verbundenen Fenster unter Verwendung eines herkömmlichen Prewitt-Verfahrens berechnet. Alternativ dazu kann ein anderes Verfahren verwendet werden. Die Intensität des Gradienten wird in einem neuen Bild gespeichert. Da das Prewitt-Verfahren als wohlbekannt im Stand der Technik vorausgesetzt werden kann, wird es hier nicht weiter im Detail beschrieben.
  • Das Gradientenbild wird dann mit einem vordefinierten Schwellwert verglichen, um Pixel in Regionen des Bildes zu identifizieren, wo die Luminosität sich schnell verändert (Unterschritt 204d). Diese Regionen entsprechen üblicherweise Pixelspuren, die die Konturen in dem Bild überlappen.
  • Im Unterschritt 204e wird eine erste Annäherung der Kanten durch Skelettierung der Pixelspuren, die in Unterschritt 204d identifiziert wurden, ausgeführt. Tatsächlich entspricht jede Kante des Bildes einer Kette verbundener Pixel, von denen jeder zumindest einen Nachbar in einem achtfach verbundenen Fenster hat.
  • Der Skelettierungsprozess erlaubt das Bearbeiten der Pixelkette zu einer Spur von 1 Pixel Breite. Die Ergebnisse werden vorzugsweise in einer Bilddatei (ACCimage) gespeichert, die dieselbe Dimension wie das ursprüngliche Bild aufweist, aber lediglich Binärwerte aufweist, beispielsweise 1 für Pixel, die zu einer Kante gehören und 0 für die anderen Pixel.
  • Im Unterschritt 204f wird jede Kette von Pixeln des ACCimage als Koordinate von Pixeln, die das ACC bilden, gelistet. Diese Koordinaten sind lediglich erste Abschätzungen der tatsächlichen Koordinaten, wie nachfolgend beschrieben wird.
  • Genauer wird der Kette in Gegenrichtung des Uhrzeigersinns gefolgt und die Koordinaten jedes aufeinanderfolgenden Pixels werden in einer Datei gespeichert, der ACC. Deshalb enthält die ACC eine Serie von Vektoren, von denen jeder die Koordinaten einer der Konturen des Bildes repräsentiert.
  • Jede Kontur wird dann Pixel für Pixel analysiert, um die Position des Nulldurchgangs der zweiten Ableitung zu finden, die als zuverlässiger Indikator der Koordinaten eines Wendepunkts der Luminosität angesehen werden kann. Die entsprechenden Pixel werden als Teil der Konturen angenommen, da ein Wendepunkt im Luminositätsprofil als Indikator eines Übergangs zwischen zwei Materialien ist.
  • Genauer besteht das Verfahren zunächst darin, eine Abschätzung der Richtung senkrecht zur Kontur bei jedem Pixel zu finden. Diese wird erreicht, indem zunächst ein Linien-Fit an der momentanen Pixelposition ausgeführt wird, der auf derselben Kontur die zwei Pixel vorher und die zwei Pixel danach einschließt. Der Linien-Fit gibt den Winkel der Konturtangente an der Pixelposition an. Die senkrechte Richtung wird durch Hinzufügung von 90° ermittelt. Dann wird das Luminositätsprofil, das entlang der Richtung des momentanen Pixels liegt und den momentanen Pixel kreuzt, im ursprünglichen PCB-Bild extrahiert, wie es vom System 20 aufgenommen wurde. Die zweite Ableitung wird für das Luminositätsprofil berechnet. Der Nulldurchgang der zweiten Ableitung entspricht dem Wendepunkt des Luminositätsprofils. Die Koordinate dieses Punktes wird im ACC gespeichert, wobei sie die erste Abschätzung der Koordinate ersetzt.
  • Natürlich können andere numerische Verfahren ebenfalls verwendet werden, um die Abschätzung der Richtung senkrecht zur Kontur bei jedem Pixel zu finden.
  • Es wird davon ausgegangen, dass es innerhalb der Fähigkeiten des Fachmanns liegt, sich andere Verfahren zur Extraktion von Konturen aus dem Digitalbild einer PCB, die inspiziert wird, vorzustellen.
  • Wie genauer erläutert wird, werden im Schritt 208 Anomalien auf der PCB, die inspiziert wird, durch Vergleich der Konturpositionen, die in dem ACC und dem ACCimage gespeichert sind, mit Konturpositionen wie vorgeschrieben verglichen. Tatsächlich ist eine Kontur oder ein Teil einer Kontur auf dem ACC verdächtig, wenn seine Position von seiner vorbestimmten Position abweicht.
  • In Schritt 206 des Verfahrens 200 (3) wird dann ein Computermodell der unter Inspektion befindlichen PCB geliefert. Das Computermodell umfasst vorzugsweise ein Vektormodell in Form von Polygonen von jeder Schicht mit Konturen von Komponenten. Zusätzlich dazu, dass sie eine adäquate Repräsentation von Konturen darstellen, wurde für Polygone gefunden, dass sie ein effizientes Modell zum Vergleich mit dem ACC darstellen, wie nachfolgend beschrieben wird.
  • Ein herkömmliches Gerber-Modell der PCB wird vorzugsweise in ein Vektormodell umgewandelt, wobei jede Komponente auf jeder Schicht als Polygon repräsentiert wird. Tatsächlich kann selbst ein Element, das Kreisbögen einschließt, in adäquater Weise als Vektormodell repräsentiert werden, wenn Kreisbögen durch kurze Sekanten repräsentiert werden. Alternativ dazu können, falls ein Gerber-Modell der PCB nicht verfügbar ist, andere Mehrschichtmodelle der PCB ebenfalls zur Extraktion der relevanten Information verwendet werden.
  • Bevor das Vektormodell der PCB mit dem ACC und dem ACCimage verglichen wird, können Transformationen auf dem Vektormodell durchgeführt werden, um das Modell mit dem Bild auszurichten. Tatsächlich werden der Herstellung der PCB die Schichten herkömmlicherweise zu unterschiedlichen Zeiten mit unterschiedlichen Maschinen aufgebracht und die Ausrichtung der Schichten kann leicht unterschiedlich sein. Es ist daher bevorzugt ein Mehrschichtmodell der PCB zu haben und die Schichten des Modells gemäß dem unter Inspektion befindlichen PCB neu auszurichten, um dadurch ein besseres Modell der PCB zu erhalten.
  • Für jede Schicht werden vorbestimmte Punkte als Referenz für den Ausrichtungsprozess ausgewählt. Wie besser aus 5 erkennbar ist, welche das Modell einer Schicht 32 und ein PCB-Bild 34 zeigt, wurde es als vorteilhaft befunden, Schnittpunkte zwischen horizontalen 36 und vertikalen 38 Segmenten als Referenzpunkte zu verwenden. Offensichtlich bieten Regionen einer Schicht, die nicht durch Elemente einer anderen Schicht abgedeckt wird, zuverlässigere Referenzpunkte. Es ist festzuhalten, dass das PCB-Bild 34 Komponenten wie etwa Komponenten 42 einschließt, die nicht in dem Einschichtmodell 32 enthalten sind, da das PCB-Bild 34 alle Schichten enthält.
  • Wenn einmal die Liste der Referenzpunkte aufgestellt wurde, kann die folgende Transformation für jeden Punkt einer Schicht ausgeführt werden, um ihn gemäß der Referenzpunkte auf dem PCB-Bild auszurichten:
    Figure 00150001
    wobei (u, v) die Koordinaten im PCB-Bild sind,
    (x, y) die Koordinaten im Modell der Schicht sind,
    und au, bu, cu, dd und ee Koeffizienten sind, die eine Kompensation der Rotation, Translation, Größenverhältnisse und Perspektive zwischen dem PCB-Bild und dem Modell ermöglichen. Diese Koeffizienten können für jede Schicht unterschiedlich sein.
  • Die Referenzpunkte werden vorzugsweise vor der Inspektion des PCB ausgewählt, um Verzögerungen in der Berechnung zu vermeiden.
  • Wenn einmal alle Schichten des Modells ausgerichtet sind, werden sie alle überlagert.
  • Da alle Schichten des Modells eine Vielzahl von Polygonen einschließen, besteht die Überlagerung von zwei Schichten in der Überlagerung jedes Polygons der ersten Schicht mit allen Polygonen der zweiten Schicht. Wenn das Modell beispielsweise eine dritte Schicht umfasst, so werden die Polygone der dritten Schicht mit den neuen Polygonen, die aus der Überlagerung der ersten zwei Schichten resultieren, überlagert.
  • Diese Überlagerung wird in 6a bis 6c illustriert.
  • 6a zeigt ein Dreischicht-Modell, welches drei Polygone P1, P2 und P3, eines auf jeder Schicht, einschließt. Die Überlagerung besteht in der Überlagerung der Polygone P3 (Pv3) über die Ergebnisse der Überlagerung der Polygone P1 und P2.
  • Die Überlagerung von P2 über P1 führt zu: Pv1 = P1 – P2 (4) Pv2 = P2. (5)
  • Nach der Überlagerung von P2 über P1 ist P2 intakt, während P1 den Teil von P2 subtrahieren muss, der überlappt. Die Überlagerung von P3 auf die Überlagerung von P2 und P1 führt zu (siehe 6b): Pv1 = P1 – P2 – P3 (6) Pv2 = P2 – P3 (7) Pv3 = P3. (8)
  • In einigen Fällen erzeugt die Subtraktion von zwei Polygonen unabhängige Polygone. Pv1 und Pv1 können als Liste von Polygonen angesehen werden. Wenn es mehr als ein Polygon pro Schicht gibt, so können P1, P2 und P3 auch als Liste von Polygonen angesehen werden.
  • Der Überlagerungsprozess erlaubt das Herausstellen von Überlappungsbereichen. Ein Polygon auf einem Überlappungsbereich muss nach der Überlagerung einer neuen Schicht upgedated werden.
  • Wie besser auf 6c gesehen werden kann, ist O21 das resultierende Polygon, das aus dem Schnitt von P1 und P2 nach der Überlagerung mit P3 resultiert.
  • Wiederum, da der Schnitt von zwei Polygonen oder die Differenz zwischen zwei Polygonen mehr als ein Polygon erzeugen kann, muss O21 hier als Liste von Polygonen interpretiert werden. Diese Liste kann kein Polygon einschließen, wenn kein Polygon zwischen den Schichten 1 und 2 überlappt.
  • Der Überlagerungsprozess, der oben beschrieben wurde, erlaubt auch die Verfolgung enger Bereiche, wie nachfolgend beschrieben wird. Ein Beispiel eines engen Bereichs ist der Bereich T31 in 7a. Bereich T31 wird wie folgt extrahiert.
  • Wie aus 7b erkennbar ist, sind die Polygone P1 und P3 gedehnt, um D(Pv1) und D(P3) zu erhalten. Der Schnitt zwischen beiden führt dann zu Polygon D31, dass offensichtlich die zu extrahierende Region einschließt. Das Polygon O31 wird gedehnt, um D(O31) zu erhalten, das von D31 subtrahiert wird, um den engen Bereich T31 (siehe 7c) zu erhalten.
  • Die in 7a bis 7c illustrierte Operation wird durch die folgende Gleichung summarisch dargestellt: T31 = (D(P3) ∧ D(Pv1)) – D(O31) (9).
  • Hier kann wiederum T31 als Liste von Polygonen angesehen, und zwar aus den folgenden beiden Gründen: Der Schnitt zweier Polygone kann mehr als ein Polygon erzeugen und D(O31) kann ebenfalls mehr als ein Polygon erzeugen.
  • Zusammenfassend lässt sich sagen, dass die Überlagerung der Schichten die folgenden drei Ergebnisse erzeugt: Pvk+1 = (Pvk – Pk+1) ∪ Pk+1 (10),die Liste der sichtbaren Polygone; Ok+1 = (Ok – Pk+1) ∪ (Pk+1 ∩ Pvk) (11),die Liste von Polygonen von überlappenden Bereichen; und Tk+1 = (Tk – Pk+1) ∪ ((D(Pk+1) ∩ D(Pvk)) – D(Pk + 1 ∩ Pvk)) (12),die Liste von Polygonen der engen Bereiche,
    wobei T1 = D(P1) ∩ D(P1) (13); undO1 Null (leer) ist.
  • Der Prozess ist iterativ, d. h. jeder neue Layer (jede neue Schicht) wird über Pvk, Ok und Tk überlagert, die durch die Überlagerung der vorhergehenden Schichten erhalten wurden. Der Index k gibt die Anzahl von Schichten, die überlagert wurden, an.
  • Die auf den Listen von Polygonen ausgeführten Operationen sind Vereinigung, Schnitt, Subtraktion und Dehnung. Die Vereinigung (∪) besteht darin, zwei Listen von Polygonen in eine Liste zu kopieren. Die Schnittoperation (∩) zwischen zwei Listen besteht in der Schnittmenge jedes Polygons einer ersten Liste mit jedem Polygon einer zweiten Liste. Auf ähnliche Weise, wenn zwei Listen subtrahiert werden, wird jedes Polygon der ersten Liste von allen Polygonen in der zweiten Liste subtrahiert.
  • Die Liste sichtbarer Polygone Pvk beschreibt alle Konturen, die auf dem PCB-Bild auftauchen sollten. Die Liste Pvk, wie oben beschrieben, ist jedoch nicht in einem Format, das geeignet ist, schnell mit dem ACC verglichen zu werden. Tatsächlich sollte jeder Punkt in dem ACC zumindest einem Polygonsegment von Pvk entsprechen, um einen schnellen Vergleich sicherzustellen.
  • Die Transformation der Liste Pvk, so dass der Vertex jedes Polygons mit dem Segment, das es formt, mit dem nächsten Vertex ersetzt wird, führt zu der charakteristischen Konturgrafik (CCC). Die Segmente der CCC sind dann in eine Liste von Polygonen unterteilt, die die Beschreibung all ihrer Segmente an Stelle der gesamte Vertexe wie in der Pvk-Liste umfassen. Genauer wird jedes Segment in der CCC durch die Gleichung einer Linie charakterisiert, die Koordinaten der Endpunkte der Linie, sowie einen Abstandsschwellwert, der von dem Segment erlaubt wird. Darüber hinaus umfasst die CCC für alle Polygone eine Charakterisierung des Rechtecks, das das Polygon eng umschließt. Dieses Rechteck ist so gedehnt, um sicherzustellen, dass jeder Punkt in der ACC, der nicht in dem Rechteck eingeschlossen ist, nicht einem Segment des Polygons entspricht.
  • Erfassung von Anomalien
  • Wenn einmal die CCC erzeugt ist, dann besteht Schritt 208 des Verfahrens 200 (siehe 3) in der Erfassung von Anomalien auf der PCB durch Vergleich der Konturen in dem ACC mit dem Computermodell, das nun in der Form der CCC vorliegt. Genauer werden die Anomalien vorzugsweise indiziert und charakterisiert in die folgenden zwei Kategorien oder Tabellen (Charts) kategorisiert:
    ECC, die Exzess-Kontur-Tabelle, und
    MCC, die Fehlende-Kontur-Tabelle.
  • Der erste Schritt in der Erfassung von überzähligen (exzessiven) Konturen besteht darin, ein Segment in der CCC zu finden, das jedem Punkt in der ACC entspricht. Wenn ein Punkt nicht ausreichend nahe zu irgend einem Segment der CCC liegt, so wird es als überschießend oder überzählig betrachtet und in der ECC gespeichert. Die berechnete Distanz wird mit einem vordefinierten Schwellwert verglichen. Das Format der ECC ist dasselbe wie das der ACC, es ist eine Liste von Konturen, wobei jede Kontur durch eine Liste von verbundenen Punkten charakterisiert wird.
  • Genauer gilt für jeden Punkt in der ACC:
    • – die CCC wird gescannt, bis eines von seinen aufgelisteten Rechtecken den Punkt umschließt;
    • – das entsprechende Polygon wird gescannt, bis ein Segment, dem der Punkt entsprechen kann, gefunden wird;
    • – wenn kein Segment dem Punkt entspricht, wird ein anderes Polygon gescannt;
    • – wenn ein Segment detektiert wird, dann fährt der Prozess mit dem nächsten Punkt fort, wobei aber vorzugsweise mit dem gleichen Segment begonnen wird. Tatsächlich ist die Wahrscheinlichkeit, dass der nächste Punkt demselben Segment entspricht, gut, da die Punkte, die ein Polygon bilden, konsekutiv sind;
    • – ein nicht einem Segment entsprechender Punkt wird indiziert in dem ECC. Wenn der Punkt Teil einer konsekutiven Serie von Punkten ist, so wird er in der ECC als Teil dieser Serie aufgezeichnet.
  • Für jede Kontur der ACC werden die Punkte vorzugsweise in der gleichen Richtung in der ACC und in der CCC gescannt.
  • Natürlich können auch andere Verfahren zur Erfassung von überzähligen oder überschießenden Konturen in der ACC verwendet werden.
  • Die Erfassung von fehlenden Konturen wird nun genauer im Detail beschrieben.
  • Die Erfassung von fehlenden Konturen impliziert auch die Erfassung von Konturen, die zu stark von den Positionen von Konturen in der CCC abweichen. Für elektronische Schaltungen hoher Dichte ist die erlaubte Abweichung von einer Kontur vergleichsweise gering. Da jedoch die CCC in einem Vektorformat vorliegt, ist ihre Auflösung nicht durch die Auflösung des Bildes begrenzt. Auf ähnliche Weise hat die ACC eine Auflösung, die 7–8 mal größer ist als die Auflösung des Bildes, da die ACC nach der Erfassung von Konturen mit einer Subpixel-Auflösung zusammengestellt wurde. Dies ist vorteilhaft, da es die Erfassung von falsch plazierten Konturen selbst dann erlaubt, wenn die maximal erlaubte Abweichung gering ist.
  • Es ist festzuhalten, dass die Erfassung von fehlenden Konturen vergleichsweise unverbindlich ist, was die Präzision anbetrifft. Das Ziel der Erfassung von fehlenden Konturen ist lediglich, zu verifizieren, ob eine Kontur auf der CCC noch auf dem Bild der PCB fehlt. Tatsächlich werden diejenigen Konturen, die auf dem PCB-Bild vorhanden sind, aber verglichen mit dem Computermodell fehlplaziert sind, durch das Verfahren zur Erfassung der überschüssigen oder überzähligen Konturen erfasst und in dem ECC indiziert. Die Erfassung fehlender Konturen kann daher bei der Auflösung des Bildes erzielt werden und durch den Vergleich von Bildern durchgeführt werden.
  • Um die MCC zu erhalten, werden zunächst die Konturen auf der CCC auf einem binären Bild gezeichnet, im CCCimage, das die gleiche Auflösung wie das ACCimage aufweist. Der Vergleich zwischen dem CCCimage und dem ACCimage führt zu dem MCC und wird durch die nachfolgende Gleichung zusammengefasst: MCC = D(ACCimage) ⊗ CCCimage ∩ CCCimage (15)wobei D(ACCimage) das ACCimage nach der Dehnung ist. Das Verfahren zur Berechnung der MCC wird auch in 8 zusammengefasst.
  • Die MCC und die ECC umfassen Bereichsbeschreibungen, die Anomalien in dem PCB-Bild entsprechen. Diese Bereiche werden im Schritt 210 des Verfahrens 200 (siehe 3) zur Detektion von Defekten inspiziert.
  • Inspektion von Anomalien
  • Da eine Anomalie mehr als eine Kontur in dem ECC erzeugen kann, aber jede Kontur in dem ECC lediglich einer Anomalie entspricht, wird jede Kontur des ECC vorzugsweise als eine unabhängige Anomalie betrachtet und separat inspiziert. Der Inspektionsprozess endet, wenn alle Konturen in dem ECC inspiziert wurden. Die Konturen in dem ECC, welche als jenseits vorbestimmter Herstellungsstandards liegend befunden werden, werden vorzugsweise indiziert und in einer Datei charakterisiert.
  • Diese Datei kann viele Formen annehmen und umfasst beispielsweise die Position und Dimension von Defekten sowie eine Beschreibung der PCB, die einen solchen Defekt aufweist.
  • Die Mehrzahl von Defekten, die auf einer PCB gefunden werden können, entsprechen der falschen Breite von Elementen, die auf der PCB gedruckt sind, oder einem inkorrekten Abstand zwischen diesen Elementen. Andere Anomalien wie Verunreinigungen, Rinnen, oder abstehende Teile, können problematisch sein, wenn die Breite eines Elements oder die Distanz zwischen zwei Elementen zu weit von Design-Spezifikationen abweicht.
  • Defekte unter Anomalien werden somit erfasst, wenn eines der beiden nachfolgenden Kriterien jenseits von Herstellungsstandards liegt: Die Breite eines Elements, das eine Anomalie aufweist und der Abstand zwischen zwei benachbarten Elementen, wenn die Anomalie nicht auf einem Element liegt. Diese zwei Bedingungen werden voneinander unabhängig verifiziert, wie nachfolgend beschrieben wird.
  • Die Verifikation dieser zwei Bedingungen ist sehr ähnlich. Im Allgemeinen sind in beiden Fällen alle Segmente der CCC, die in der Nachbarschaft der Anomalie gefunden werden können, in einer Computerdatei in Form einer Liste gespeichert, die nachfolgend als Nachbarsegmentliste (NSL) bezeichnet wird. Für jedes Segment nahe der Anomalie wird jedes andere Segment der NSL, das dem ersten Segment gegenüberliegt, gefunden. Der Abstand zwischen dem ersten Segment und all den gegenüberliegenden Segmenten wird verifiziert, um zu ermitteln, ob der Abstand innerhalb von Design- oder Herstellungsstandards liegt. Diese Standards sind offensichtlich vorherbestimmt und vorab in einer Computerdatei gespeichert, so dass auf sie durch den Computer 32 zugegriffen werden kann.
  • Die Verifizierung des Abstands zwischen zwei Segmenten und die Verifizierung der Breite zwischen ihnen unterscheidet sich lediglich durch die Definition dessen, was als gegenüberliegende Segmente betrachtet wird, wie nachfolgend beschrieben wird.
  • Wie in 9 erkennbar ist, kann jedes Segment einer Kontur, wie beispielsweise Segment 44, als eine Grenze zwischen zwei Halbebenen 46 und 48 interpretiert werden. Die Ebene 46 auf der Seite des Segments 44 liegt gegenüber der Kontur 50 und ist auf der "äußeren" Seite des Segments 44. Die Ebene 48 auf derselben Seite des Segments 44 wir die Kontur 50 wird als "materielle" Seite des Segments 44 bezeichnet. Die materielle Seite wird auf "aktiv" gesetzt, wenn der Abstand zwischen Segment 44 und dem "gegenüberliegenden" Segment 52 verifiziert wird.
  • Die äußere Seite ist aktiv, wenn die Breite der Spur 54 zwischen Segment 44 und 56 verifiziert wird. Zwei Segmente werden für die Analyse gepaart, wenn sie einander gegenüberliegen und wenn sie in derselben aktiven Ebene liegen. In dem Beispiel von 9 werden die Segmente 52, 58 und 60 alternativ mit Segment 44 gepaart.
  • Der Erfassungsprozess verwendet Schwellwerte, vorzugsweise ausgedrückt in Prozentsätzen, und stellt damit ein universelles Verfahren zur Verfügung, das nicht erfordert, dass neue Schwellwerte für die Breite und Abstände für jeden neuen Typ einer Schaltung programmiert werden. Natürlich werden die Prozentsätze gemäß den Design-Werten ausgedrückt. Beispielsweise wird der Schwellwert auf 50% gesetzt, wenn der Abstand zwischen zwei Segmenten dann problematisch ist, wenn er um das Zweifache geringer als der designte Wert ist.
  • Offensichtlich können auch Schwellwerte, die auf absoluten Werten basieren, zur Verifizierung des Abstands zwischen Segmenten verwendet werden.
  • Unterschiedliche Ansätze können verwendet werden, um die Beabstandung zwischen zwei Segmenten zu ermitteln, was von der Orientierung der Segmente abhängt und davon, ob es eine oder mehrere Anomalien zwischen den zwei Segmenten gibt.
  • Wenn eine Anomalie zwischen zwei parallelen Segmenten detektiert wird, so wird der Abstand zwischen den zwei Segmenten einfach als die Distanz zwischen den zwei Segmenten definiert.
  • Wenn die zwei Segmente 62 und 64 nicht parallel sind (siehe 10), so wird der Abstand (Spacing) wahlweise als der Winkel zwischen ihnen definiert. In einem solchen Fall wird der Abstand eines Punkts zu dem Referenzsegment 62 wie folgt gemessen: Die Linie 66 schneidet den Schnittpunkt 68 zwischen den zwei Segmenten und der Punkt wird gemessen. Der Abstand zwischen dem Punkt und dem Referenzsegment ist definiert als der Winkel 72 zwischen der Linie 66 und dem Referenzsegment 62.
  • In beiden Fällen ist der Abstand zwischen jedem Punkt der Anomalie und dem Referenzsegment (dem gegenüberliegenden Segment) ebenfalls berechnet. Der maximale und der minimale Abstand, der ermittelt wurde, definieren ein Intervall, das die Anomalie einschließt. Beim Vorliegen einer Anomalie ist der effektive Abstand zwischen zwei Segmenten der Abstand zwischen den zwei Segmenten minus das Intervall. Der normalisierte Abstand ist das Verhältnis zwischen dem effektiven Abstand und dem Abstand zwischen den zwei Segmenten.
  • 11 illustriert ein Beispiel der Berechnung des Abstands, wenn eine Vielzahl von Anomalien 74, 76 und 78 zwischen den beiden Segmenten 80 und 82 erfasst wird.
  • In diesem Fall werden Intervalle für jede Anomalie berechnet. Wenn das Intervall von mehr als einer Anomalie überlappt (siehe beispielsweise Anomalien 74 und 76), so werden diese Intervalle umgruppiert, so dass sie ein einzelnes kumulatives Intervall (a–c) bilden. Das kumulative (a–c) und das nichtkumulative (d–e) Intervall werden addiert, um den effektiven Abstand zu erhalten. Wiederum ist der normalisierte Abstand das Verhältnis zwischen dem effektiven Abstand und dem tatsächlichen Abstand zwischen den zwei Segmenten.
  • Die Verifizierung des Abstands und der Breite werden nur in Bereichen des PCB-Bildes nahe eines Anomalie durchgeführt. Die folgende Beschreibung erläutert, wie diese Bereiche bestimmt werden. Diese Bereiche werden nachfolgend als Anomalie-Analyse-Regionen (AAR) bezeichnet.
  • Bezug nehmend auf 12 wird die AAR zunächst ermittelt als das Rechteck 84, das die Anomalie 86 einschließt. Wohlbekannte Algorithmen können verwendet werden, um solche Rechtecke zu bestimmen, wenn die Koordinaten von Punkten, die die Kontur der Anomalie 86 bilden, bekannt sind.
  • Das Rechteck 84 wird dann gedehnt durch einen Dilatationsfaktor (DF), der definiert wird durch:
    Figure 00260001
    wobei %res ein vorbestimmter Schwellwert des normalisierten Abstands oder der normalisierten Breite ist, um die effektive AAR 88 zu erhalten.
  • Elemente, die außerhalb der von dem Rechteck 88 eingeschlossenen Region liegen, werden vorzugsweise nicht für eine weitere Analyse betrachtet, da davon ausgegangen wird, dass sie nicht in Verbindung mit der Anomalie 86 einen Defekt verursachen können. Es werden jedoch alle Segmente 8891 und 8991', die wie oben beschrieben gepaart werden, und die in dem AAR 88 liegen, auf Defekte inspiziert.
  • Die AAR wird vorzugsweise für jede Anomalie bestimmt, wenn eine Anomalie in Schritt 208 (siehe 3) detektiert wird, und sie wird in der ECC gespeichert.
  • Wenn die AAR einer zweiten Anomalie mit der AAR einer ersten Anomalie überlappt, dann wird davon ausgegangen, dass die Kombination dieser zwei Anomalien einen Defekt verursachen kann. Wenn eine Anomalie auf Defekte inspiziert wird, wird eine Verifikation somit daraufhin durchgeführt, ob ihre AAR nicht mit der AAR von anderen Anomalien überlappt. Ist dies der Fall, so wird ein neues Rechteck erzeugt, das alle involvierten Anomalien einschließt. Das neue Rechteck wird gedehnt, um eine neue AAR zu erhalten und dieser letzte Schritt wird wiederholt, bis die neue AAR nicht mit irgendwelchen anderen AAR überlappt. In dieser AAR werden wiederum alle Paare von Segmenten auf Defekte hin verifiziert.
  • Da eine AAR mehr als eine Anomalie enthalten kann, oder vergleichsweise signifikant bezüglich der Größe sein kann, kann ein Test durchgeführt werden, um zu verifizieren, ob jede Anomalie in dem Zwischenbereich zwischen zwei Segmenten lokalisiert ist. Die folgenden zwei Regeln werden vorzugsweise zur Durchführung des Tests implementiert.
  • Die erste Bedingung impliziert, dass das die ARR definierende Rechteck die zwei aktiven Halbebenen der zwei gepaarten Segmente überlappen sollte.
  • Die zweite Bedingung impliziert, dass die zwei Segmente ausreichend nahe beieinander liegen sollten. Genauer wird das folgende Kriterium benutzt: Die Summe der Abstände der Anomalie zwischen dem ersten und zweiten Segment sollte geringer sein als die Hälfte des Maximalabstandes zwischen diesen. Der Maximalabstand zwischen den zwei Segmenten wird gespeichert und wird nachfolgend als dsegmax bezeichnet. Obwohl gefunden wurde, dass ein solches Kriterium gute Ergebnisse erzielt, können auch andere Kriterien benutzt werden, um zu ermitteln, ob zwei Segmente ausreichend nahe beieinander liegen, um inspiziert zu werden.
  • Wenn die erste und zweite Bedingung erfüllt sind, so wird davon ausgegangen, dass die Anomalie im Zwischenraum zwischen den zwei Segmenten liegt und wird berücksichtigt, wenn das Paar von gegenüberliegenden Segmenten auf Defekte inspiziert wird.
  • Bezug nehmend auf 13a, 13b und 13c wird nun ein Verfahren 300 beschrieben, um zu ermitteln, ob eine Anomalie einen Defekt verursacht, indem sie die erlaubte Breite oder den erlaubten Abstand verletzt.
  • Wie nachfolgend diskutiert wird, werden zusätzlich zwei weitere Inspektionen durchgeführt für den Fall von Bereichen mit engem Abstand und überlappenden Regionen.
  • Die Anomalien werden vorzugsweise in zwei Gruppen unterteilt: Anomalien, die einem Element liegen und einen Breitendefekt verursachen können und Anomalien, die nicht auf einem Element liegen, aber die einen Abstandsdefekt verursachen können.
  • Anomalien, die auf einem Element liegen, können vergleichsweise leicht selektiert werden. Tatsächlich entspricht jede Kontur der ECC einer Serie von konsekutiven Punkten. Eine Kontur der ECC, die mit einer Kontur der CCC überlappt, würde dann in zwei Teile aufgespalten. Diesbezüglich wird dann, wenn irgendein Punkt einer Kontur der ECC auf einem Element liegt, davon ausgegangen, dass alle Punkte der Kontur auf diesem Element liegen. Wenn lediglich ein Punkt einer ECC-Kontur nicht auf einem Element liegt, dann wird davon ausgegangen, dass die Kontur nicht auf dem Element liegt. Die Verifizierung von lediglich einem Punkt auf jeder Kontur der ECC erlaubt daher die Unterscheidung von Anomalien in zwei Gruppen, die nachfolgend hier als ECCAbstand und ECCBreite bezeichnet werden. Das Verfahren 300 wird unabhängig von den zwei Gruppen verwendet.
  • Da die Unterschiede zwischen der Anwendung des Verfahrens 300 auf jede der beiden Gruppen sehr ähnlich sind sowie zum Zwecke der Knappheit, wird das Verfahren 300 unter Bezugnahme auf die allgemeine ECC beschrieben.
  • Der erste Schritt 302 dient dazu, die nächste nicht inspizierte Anomalie, die in der ECCAbstand gelistet ist, zu untersuchen. Offensichtlich ist dann, wenn der Schritt 302 zum ersten Mal ausgeführt wird, die nächste Anomalie diejenige, die als erste aufgelistet ist. Diese Anomalie wird nun als die momentane Anomalie (CA) bezeichnet.
  • Schritt 304 besteht darin, alle Anomalien in der ECC aufzufinden, für die ihre korrespondierende AAR mit der AAR der CA überlappt.
  • Im Schritt 306 werden diese Anomalien in den ECC-Listen als inspiziert markiert und in eine Liste momentaner Anomalien (CAL) plaziert. Die AAR wird erneut ausgewertet (Schritt 306) wie oben beschrieben und Schritte 304 und 306 werden wiederholt, bis für keine nicht inspizierten Anomalien deren AAR mit der neuen AAR überlappen.
  • Im Schritt 308 werden alle Konturen im CCC, die in der AAR eingeschlossen sind, in einer neuen NSL aufgelistet.
  • Im Schritt 310 wird verifiziert, dass alle Segmente in der NSL als analysiert markiert sind. Wenn sie dies nicht sind, so wird das nächste nicht analysierte Segment in der NSL das momentane Segment (CS), das CS wird in der NSL als analysiert markiert (Schritt 311) und der Prozess fährt mit Schritt 316 fort.
  • Wenn alle Segmente in der NSL als analysiert markiert sind, so wird in Schritt 312 eine Verifikation dahingehend durchgeführt, dass alle Anomalien in der ECC als inspiziert markiert wurden. Wenn nicht, so wird Schritt 302 wiederholt mit der nächsten Anomalie. Falls doch, so endet die Inspektion der Anomalien und der allgemeine Prozess wird beendet (Schritt 314).
  • Schritt 316 besteht darin, zu verifizieren, ob das nächste nicht analysierte Segment der NSL der CS gegenüberliegt, und zwar unter Verwendung der oben beschriebenen Kriterien. Wenn das der Fall ist, so schreitet der Prozess mit Schritt 320 fort. Wenn dies nicht der Fall ist, und das Ende der NSL erreicht wurde (318), so wird Schritt 310 wiederholt. Wenn nicht, so wird Schritt 316 wiederholt.
  • In Schritt 320 wird dsegmax berechnet wie oben beschrieben, und zwar unter Berücksichtigung der CS und des Segments, das der CS gegenüberliegt.
  • Im Schritt 322 wird eine Verifikation dahingehend durchgeführt, ob die CAS andere nicht inspizierte Anomalien einschließt. Wenn dies der Fall ist, so wird die nächste nicht inspizierte Anomalie in der CAL als die CA (Schritt 324) gesetzt und der Prozess schreitet mit Schritt 326 fort. Wenn nicht, so schreitet der Prozess mit Schritt 330 fort.
  • In Schritt 326 wird Schritt 322 wiederholt, falls die AAR der CA nicht mit den aktiven Halbebenen sowohl der CS und des ihr gegenüberliegenden Segments überlappt. Ist dies der Fall, so schreitet das Verfahren mit Schritt 328 fort,
  • In Schritt 328 werden für jeden Punkt der CA die minimale Distanz zur CS (MD1) und zur dem gegenüberliegenden Segment (MD2) berechnet sowie der maximale und der minimale Abstand (MAS und MIS).
  • Unter allen detektierten Anomalien werden diejenigen ermittelt, die im Zwischenraum zwischen den zwei Segmenten liegen (Schritt 330). Der Test läuft wie folgt: wenn MD1 + MD2 > DSEGMAX*%RESso wird die Anomalie für nicht im Zwischenraum der zwei Segmente liegend erachtet. Die Anomalien, die nicht im Zwischenraum liegen, werden aus der CAL entfernt (Schritt 332).
  • Wenn die CAL leer ist, so kehrt der Prozess zu Schritt 310 zurück (Schritt 334).
  • Im Schritt 336 werden diejenigen Regionen, die von jeder Anomalie besetzt werden, in einer Liste von allen besetzten Regionen (AOR) gespeichert, die vorzugsweise in der Form von Intervallen vorliegt. Die AOR-Liste umfasst MAS und MIS für jede Anomalie. Wenn zwei Regionen überlappen, so werden ihre Intervalle addiert.
  • Im Schritt 338 wird der normalisierte Abstand wie oben diskutiert berechnet. Tatsächlich wird der effektive Abstand zwischen der CS und dem gegenüberliegenden Segment berechnet. Er ist gleich dem Abstand zwischen zwei Segmenten minus der Summe der Intervalle in der AOR. Der normalisierte Abstand ist gleich dem Verhältnis des effektiven Abstands zu dem tatsächlichen Abstand zwischen den zwei Segmenten.
  • Ein Defekt wird detektiert in Schritt 340, wenn der normalisierte Abstand geringer ist als der Wert %RES.
  • Im Schritt 342 wird der detektierte Defekt charakterisiert und in einer Defektliste gespeichert. Genauer werden die Anomalien und die zwei Segmente (CS und das dem CS gegenüberliegende Segment) gespeichert. Der Prozess kehrt sodann zu Schritt 310 zurück.
  • Inspektion von Bereichen von engem Raum
  • Die Polygone Tk+1 von den engen Bereichen werden vorzugsweise auch aus den folgenden zwei Gründen inspiziert:
    • – ihre Dimension kann auf dem Mehrschichtmodell zu gering sein; und
    • – selbst wenn ein Zwischenraum zwischen zwei Elementen auf dem Modell korrekt ist, so kann die entsprechende Region auf dem Bild inkorrekt sein.
  • Allgemein gesprochen führen zwei gegenüberliegende Segmente in der Liste von Polygonen Tk+1 zu einem Zwischenraum mit einer Breite. Einige dieser Zwischenräume entsprechen einem Defekt, wenn die entsprechende Breite nicht innerhalb einem vorgegebenen Schwellwert liegt.
  • Genauer kann eine Dimension auf dem Mehrschichtmodell, die zu gering ist, ein Anzeichen für eine wichtige Fehlausrichtung zwischen den Schichten sein. Diese wird detektiert, indem die Zwischenräume mit vordefinierten Kriterien überprüft werden. Beispielsweise kann der Zwischenraum zwischen zwei unterschiedlichen Materialien dahingehend verifiziert werden, dass sichergestellt ist, dass er nicht geringer ist als ein vorgegebener Minimalzwischenraum, der, beispielsweise, von den Herstellern der PCB vorgegeben ist. Wenn er geringer ist, so wird ein Ausrichtungsproblem zwischen den beiden Schichten detektiert.
  • Es ist möglich, dass die Detektion von Anomalien gemäß dem Verfahren 300 scheitert, einen fehlerhaften Zwischenraum zwischen zwei Elementen einer PCB zu detektieren.
  • Tatsächlich wird, wie oben beschrieben, die Detektion von Anomalien durchgeführt mit einer vorgegebenen Toleranz zwischen den Konturen in dem Modell und den Konturen, wie sie in dem PCB-Bild detektiert werden. Die minimale Dimension eines erlaubten Defekts in einem Zwischenraum hängt jedoch von der Dimension des Zwischenraums ab. Wenn beispielsweise die Toleranz auf der Konturposition 25% der Breite auf dem Modell ist und die minimale Breite der Region 50% der Modellbreite ist, so werden die Anomalien nicht mit dem Algorithmus 300 detektiert.
  • Bezug nehmend auf 14 kann nun eine erste Anomalie 90 eine Abweichung einer Kontur 91 innerhalb der Toleranzgrenze verursachen und bei 25% der nominalen Breite 92 liegen, und so kann es auch für eine zweite Anomalie 94 nahe der gegenüberliegenden Kontur 93 sein. Keine der zwei Anomalien werden durch das Verfahren 300 detektiert, da beide innerhalb der Toleranzgrenzen 92 und 96 liegen. Die Kombination der beiden Anomalien trägt jedoch zu einer Verringerung des Zwischenraums um 50% seiner nominalen Breite bei. Dies entspricht jedoch einem Defekt.
  • Die folgenden Kriterien, die in 15 illustriert werden, werden gemäß dem Verfahren der vorliegenden Erfindung gesetzt, um einen Defekt im Bereich eines engen Zwischenraums (inter-space) zu detektieren.
  • Im Schritt 400 wird ein Ausrichtungsfehler der Schichten detektiert, wenn die berechnete Breite des Zwischenraums geringer ist als der Schwellwert, wie er beispielsweise von dem Hersteller vorgegeben ist.
  • Falls dies nicht der Fall ist und die Breite viermal geringer als die Toleranzgrenze auf der Konturposition (Schritt 402) ist, dann kann ein Defekt vorliegen und die Breite des Zwischenraums wird auf dem PCB-Bild gemessen.
  • Wenn die gemessene Breite geringer ist als 50% der Breite auf dem Modell (Schritt 404), so ist der Bereich zwischen den Elementen (Zwischenraum) inkorrekt und ein Defekt wird detektiert.
  • Wie in 16 und 17 dargestellt, wird die Messung des Zwischenraums 98 in dem Vektormodell vorzugsweise durch allmähliche Schrumpfung des Polygons 100 (siehe Pfeile 101) durchgeführt, bis Segmente des Polygons kreuzen (siehe 102 in 17). Dieser Prozess wird Erosion genannt.
  • Die Erosionsrate ist ein Indikator der Breite des Zwischenraums 98. Beispielsweise wird die Erosionsrate vorzugsweise hoch gesetzt, bis eine Kreuzung auftritt 102. Dann wird die Rate verringert, um das Polygon 100 zu dehnen. Dann wird die Rate erneut verringert, um die Erosion erneut zu starten, bis eine weitere Kreuzung auftritt. Der Prozess wird wiederholt, bis die Erosionsrate gleich oder geringer als die erforderliche Auflösung ist. Die Rate wird in Anteilen von Pixeln ausgedrückt, da die Auflösung vorzugsweise in der Größenordnung von Subpixeln liegt, wie oben beschrieben wurde.
  • Die Messung des Zwischenraums auf dem Bild wird vorzugsweise durch Extraktion der Konturen, die den Zwischenraum markieren, durchgeführt. Es ist festzuhalten, dass diese Konturen nicht notwendigerweise dem selben Element entsprechen oder nicht notwendigerweise geschlossene Konturen erzeugen. Die Konturen werden dann geschlossen, um den Vertex eines Polygons zu bilden. Das oben beschriebene Verfahren für die Erosion des Polygons in dem Vektormodell wird verwendet, um die Breite der Kontur zu messen.
  • Andere Verfahren können ebenfalls verwendet werden, um den Zwischenraum sowohl auf dem Vektormodell als auch auf dem Bild zu messen, ohne von dem Geist der vorliegenden Erfindung abzuweichen.
  • Selbstverständlich können auch andere Schwellwerte oder Kriterien gesetzt werden, um Defekte in engen Bereichen zu ermitteln.
  • Inspektion von überlappenden Bereichen
  • Die durch Gleichung (11) erhaltenen überlappenden Bereiche werden aus den gleichen zwei Gründen wie in dem vorherigen Abschnitt festgestellt inspiziert.
  • Jedoch kann in dem Fall von überlappenden Bereichen ein anderes Problem auftreten: Eine oder mehrere Konturen einer Schicht können auf dem PCB-Bild durch eine überlappende Schicht versteckt sein. In diesem Fall existieren zwei Möglichkeiten.
  • Ein Teil eines Segments kann sichtbar sein, so dass die Extrapolation der Kontur auf die darüberliegende Schicht möglich ist. Andernfalls werden nur sichtbare Konturen detektiert.
  • Da die Detektierung von Defekten in überlappenden Bereichen im Allgemeinen auf den gleichen Kriterien basiert wie in 15 beschrieben, werden sie hier nicht weiter im Detail beschrieben.
  • Defekte, die durch enge Bereiche oder durch überlappende Bereiche verursacht werden, werden vorzugsweise charakterisiert und in einer Datei für weitere Analyse gespeichert. Diese Datei kann die gleiche sein, die die zur Speicherung und Charakterisierung der anderen detektierten Defekte verwendet wird.
  • Obwohl die vorliegende Erfindung vorgehend durch bevorzugte Ausführungsbeispiele beschrieben wurde, kann sie innerhalb des Schutzbereichs der vorliegenden Erfindung, wie durch die nachfolgenden Patentansprüche definiert, modifiziert werden.

Claims (42)

  1. Automatisiertes Verfahren (200) zum Erfassen von Oberflächendefekten auf einer elektronischen Schaltungs-Leiterplatte, die visuell unterscheidbare Oberflächendefekte aufweisen kann, wobei die Leiterplatte zumindest eine Schicht mit Bauteilen umfaßt und beispielsweise in der Form einer gedruckten Leiterplatte vorliegt, wobei das Verfahren aufweist: Vorsehen (202) eines digitalen Bilds der Leiterplatte; Identifizieren (204) von Kanten auf dem Leiterplattenbild; Vorsehen (206) eines entsprechenden Computermodells für jedes Bauteil auf der zumindest einen Schicht der Leiterplatte; Erfassen (208) von Anomalien auf den Leiterplattenbild durch Vergleich der identifizierten Kanten mit dem Computermodell; und für jede der erfaßten Anomalien, Feststellen (210), ob die erfaßte Anomalie einem Oberflächendefekt entspricht.
  2. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 1, wobei das Computermodell von jedem Bauteil auf der zumindest einen Schicht Segmente umfaßt.
  3. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 1, wobei der Schritt des Identifizierens von Kanten umfaßt: Berechnen des numerischen Gradienten auf dem Leiterplattenbild, um ein Gradientenbild zu erhalten; Anwendung eines Schwellenwerts auf das Gradientenbild, um ein Schwellenwertbild zu erhalten; Skelettieren des Schwellenwertbilds; und Auffinden von Kanten in dem skelettierten Bild.
  4. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 3, wobei der Schritt des Auffindens von Kanten zumindest eine Kette von Pixeln liefert und umfaßt: Speichern von jedem der zumindest einen Ketten von Pixeln des skelettierten Bilds als Vektor von Pixelkoordinaten; Verwenden der Pixelkoordinaten, um für jedes Pixel der zumindest einen Kette von Pixeln die zweite Ableitung des Luminositätsprofils entlang der Richtung senkrecht der Kette an dem Pixel abzuschätzen; und Abschätzung der Koordinaten des Nulldurchgangs der zweiten Ableitungen; wobei der Nulldurchgang den Kanten entspricht.
  5. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 3, welches ferner die Korrektur der Luminosität des Leiterplattenbilds umfaßt.
  6. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 5, welches ferner das Filtern des korrigierten Bilds umfaßt.
  7. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 1, wobei das vorgesehene Computermodell ein Vektormodell für jede der Schichten umfaßt.
  8. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 7, wobei das Vektormodell eine Polygonrepräsentation von allen Bauteilen auf jeder Schicht umfaßt.
  9. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 2, wobei jede der mindestens einen Schicht des Computermodells mit dem Leiterplattenbild ausgerichtet wird, bevor der Anomalie-Erfassungsschritt durchgeführt wird.
  10. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 9, wobei zumindest ein Referenzpunkt auf dem Leiterplattenbild für jede der mindestens einen Schichten des Computermodells ausgewählt wird, wobei der Referenzpunkt zur Ausrichtung der entsprechenden Schicht mit dem Leiterplattenbild verwendet wird.
  11. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 9, wobei auf jedes Segment jeder Schicht des Computermodells Transformationen angewendet werden, um jede Schicht mit dem Leiterplattenbild auszurichten, um zumindest einen der folgenden Defekte zu kompensieren: Rotation, Translation, Skalierung und schlechte Perspektive jeder Schicht.
  12. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 9, wobei die ausgerichteten Schichten überlagert werden.
  13. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 12, wobei das vorgesehene Computermodell ein Vektormodell ist, das eine Polygonrepräsentation des Bauteils auf jeder Schicht umfaßt, wobei das Polygon zumindest ein Segment umfaßt, wobei die Schichten des Computermodells überlagert werden, indem jedes Polygon von jeder Schicht mit jedem Polygon der anderen Schicht überlagert wird.
  14. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 13, wobei die Überlagerung durch Verwendung der folgenden iterativen Formel für jede Schicht ausgeführt wird: Pvk+1 = (Pvk – Pk+1) ∪ PK+1 wobei Pk eine Liste von vektoriellen Repräsentationen von Segmenten und der k-ten Schicht ist; Pvk eine Liste von vektoriellen Repräsentationen von Segmenten ist, die durch Überlagerung der vorhergehenden Schichten erzeugt werden; Pvk+1 eine Liste von vektoriellen Repräsentationen von Segmenten ist, die durch Überlagerung einer Schicht mit der Überlagerung der vorhergehenden Schichten erzeugt wird; und Pv1 = P1.
  15. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 1, wobei das Computermodell Konturen jedes Bauteils umfaßt.
  16. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 15, wobei das Computermodell ferner für jede Kontur ein Modell eines Rechtecks, das die Kontur umschließt, umfaßt.
  17. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 16, wobei der Schritt der Erfassens von Anomalien umfaßt: a) für jedes Pixel des Leiterplattenbilds, Verifizieren, ob eine Kontur unter den Konturen jedes Bauteils ein entsprechendes Rechteck aufweist, das das Pixel umschließt; wenn nicht, Inbetrachtziehen, daß das Pixel Teil einer Anomalie ist; wenn dies so ist, b) Verifizieren, ob das Pixel Teil der Kontur ist, die ihr entsprechendes Rechteck aufweist, das das Pixel umschließt, wenn nicht, Inbetrachtziehen, daß das Pixel Teil einer Anomalie ist.
  18. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 1, wobei der Schritt des Erfassens von Anomalien die Verwendung des Computermodells zum Erzeugen eines Bilds des Computermodells und zum Vergleichen des Leiterplattenbilds mit dem Bild des Computermodells umfaßt.
  19. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 2, wobei die Bestimmung von Defekten umfaßt: Vergleichen der erfaßten Anomalien mit Design-Spezifikationen.
  20. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 19, wobei der Schritt des Erfassens von Anomalien auf dem Leiterplattenbild ferner umfaßt: Erfassen von Kanten in dem Leiterplattenbild, die im Verhältnis zu Segmenten in dem Computermodell herausstehen; für jede der erfaßten Anomalien, Ermitteln von Defekten durch a) Bestimmen eines ersten Segments in dem Computermodell, das innerhalb einer vorbestimmten Entfernung von einer der erfaßten Anomalien positioniert ist; b) für jedes Segment, das dem ersten Segment gegenüberliegt, Ermitteln, ob die Entfernung zwischen dem ersten Segment und dem dem ersten Segment gegenüberliegenden Segment innerhalb eines vorbestimmten Schwellenwerts liegt.
  21. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 20, wobei die Entfernung zwischen dem ersten Segment und dem dem ersten Segment gegenüberliegenden Segment als der effektive Abstand dazwischen berechnet wird, wenn mehr als eine Anomalie zwischen dem ersten Segment und dem gegenüberliegenden Segment angeordnet ist.
  22. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 21, wobei die Anomalien überlappende und nichtüberlappende Anomalien einschließen, wobei der effektive Abstand als die Summe von Intervallen zwischen allen nichtüberlappenden Anomalien und regruppierten überlappenden Anomalien berechnet wird.
  23. Verfahren zum Erfassen von Defekten auf einer Leiterplatte nach Anspruch 20, wobei die vorbestimmte Entfernung durch ein Reckteck definiert wird, das die erfaßte Anomalie umschließt.
  24. Verfahren zum Erfassen von Defekten auf einer Leiterplatte nach Anspruch 23, wobei die einschließenden Rechtecke gedehnt werden.
  25. Verfahren zum Erfassen von Defekten auf einer Leiterplatte nach Anspruch 23, welches ferner umfaßt: Verifizieren, ob das einschließende Rechteck eine weitere Anomalie einschließt, und falls ja, erneute Definition eines Rechtecks, das die weitere Anomalie einschließt.
  26. Verfahren zum Erfassen von Defekten auf einer Leiterplatte nach Anspruch 25, wobei der Schritt der erneuten Definition des Rechtecks iterativ ist.
  27. Verfahren zum Erfassen von Defekten auf einer Leiterplatte nach Anspruch 20, wobei der Schwellenwert die Form eines Verhältnisses annimmt.
  28. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 13, wobei der Schritt des Erfassens von Anomalien einschließt: für jede Schicht k des Computermodells, Bestimmen einer Liste von Polygonen Tk, die in engen Gebieten der Schicht k angeordnet sind, unter Verwendung der folgenden iterativen Formel: Tk+1 = (Tk – Pk+1) ∪ ((D(Pk+1) ∩ D(Pvk)) – D(Pk+1 ∩ Pvk))wobei Pk+1 eine Liste von vektoriellen Repräsentationen von Polygonen in der (k + 1)-ten Schicht ist; Pvk eine Liste von vektoriellen Repräsentationen von Polygonen ist, die durch Überlagerung der vorhergehenden Schichten erzeugt werden; Pvk+1 eine Liste von vektoriellen Repräsentationen von Polygonen ist, die durch Überlagerung einer Schicht mit der Überlagerung der momentanen Schicht erzeugt werden; D eine Funktion ist, die die Dehnung aller Polygone in einer Liste von Polygonen verursacht; und T1 = D(P1) ∩ D(P1);wobei zwei gegenüberliegende Segmente in der Liste von Polygonen einen Zwischenraum mit einer Breite liefern, wobei jeder der Zwischenräume einem Defekt entspricht, wenn die entsprechende Breite nicht innerhalb eines vorbestimmten Schwellenwerts liegt.
  29. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 28, wobei die Breite des Zwischenraums durch Erosion jedes der Polygone ermittelt wird.
  30. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 13, wobei der Schritt des Erfassens von Anomalien umfaßt: für jede der mindestens einen Schicht k Bestimmen einer Liste von Polygonen Ok in überlappenden Bereichen auf dem Leiterplatten-Computermodell unter Verwendung der folgenden iterativen Formel: Ok+1 = (Ok – Pk+1) ∪ (Pk+1 ∩ Pvk)wobei: Pk+1 eine Liste von vektoriellen Repräsentationen von Polygonen in der (k + 1)-ten Schicht ist; Pvk eine Liste von vektoriellen Repräsentationen von Polygonen ist, die durch Überlagerung der vorhergehenden Schichten erzeugt wird; und O1 Null ist; wobei zwei gegenüberliegende Segmente in der Liste von Polygonen einen Zwischenraum mit einer Breite liefern, wobei jeder der Zwischenräume einem Defekt entspricht, wenn die entsprechende Breite nicht innerhalb eines vorbestimmten Schwellenwerts liegt.
  31. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 30, wobei die Liste von Polygonen sichtbare und versteckte Konturen einschließt, wobei die versteckten Konturen unter Verwendung der sichtbaren Konturen extrapoliert werden.
  32. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 1, welches ferner aufweist: Indizieren der erfaßten Anomalien in einer Computerdatei.
  33. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 1, wobei das Bild in der Form einer Bitmap vorliegt.
  34. Verfahren zum Erfassen von Oberflächendefekten auf einer Leiterplatte nach Anspruch 33, wobei die Bitmap Graustufen umfaßt.
  35. System (20) zum Erfassen von Oberflächendefekten auf einer elektronischen Schaltungs-Leiterplatte, die visuell unterscheidbare Oberflächendefekte aufweisen kann, wobei die Leiterplatte zumindest eine Schicht mit Bauteilen aufweist und beispielsweise in der Form einer gedruckten Leiterplatte vorliegt, wobei das System aufweist: einen Computer (22, 36), welcher ein entsprechendes Computermodell für jedes Bauteil auf der zumindest einen Schicht der Leiterplatte umfaßt und der konfiguriert ist, um Kanten auf einem Leiterplattenbild zu identifizieren, um Anomalien auf dem Leiterplattenbild durch Vergleich der identifizierten Kanten mit dem Computermodell zu erfassen, und zum Bestimmen für jede erfaßte Anomalie, ob die erfaßte Anomalie einem Oberflächendefekt entspricht; eine Illuminationsanordnung (26), die mit dem Computer verbunden ist, um eine Beleuchtung der Leiterplatte zu liefern; einen mit dem Computer (22, 36) verbundenen Frame-Grabber; eine mit dem Frame-Grabber verbundene Kamera (28), um das Bild der Leiterplatte aufzunehmen; und ein Positioniersystem (30, 32, 34), das mit dem Frame-Grabber verbunden ist.
  36. System nach Anspruch 35, wobei der Computer ferner ausgebildet ist, die Illuminationsanordnung zu steuern.
  37. System nach Anspruch 35, wobei das Positioniersystem mit dem Frame-Grabber über eine Achsensteuerung und eine Servosteuerung verbunden ist.
  38. System nach Anspruch 35, welches ferner eine Bildverarbeitungskarte aufweist, um den Frame-Grabber und den Computer zusammenzuschalten.
  39. System nach Anspruch 35, wobei die Kamera eine ladungsgekoppelte Vorrichtung (CCD) ist.
  40. System nach Anspruch 39, wobei die CCD konfiguriert ist, im linearen Modus zu arbeiten.
  41. System nach Anspruch 39, wobei die CCD konfiguriert ist, im Matrixmodus zu arbeiten.
  42. System nach Anspruch 35, wobei das Positioniersystem zumindest einen Servomotor umfaßt.
DE60100594T 2000-01-18 2001-01-17 Verfahren und system zur aufspürung von fehlern auf einer gedruckten leiterplatte Expired - Fee Related DE60100594T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA2296143 2000-01-18
CA002296143A CA2296143A1 (fr) 2000-01-18 2000-01-18 Systeme d'inspection optique
PCT/CA2001/000042 WO2001054068A2 (en) 2000-01-18 2001-01-17 Method and system for detecting defects on a printed circuit board

Publications (2)

Publication Number Publication Date
DE60100594D1 DE60100594D1 (de) 2003-09-18
DE60100594T2 true DE60100594T2 (de) 2004-06-24

Family

ID=4165090

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60100594T Expired - Fee Related DE60100594T2 (de) 2000-01-18 2001-01-17 Verfahren und system zur aufspürung von fehlern auf einer gedruckten leiterplatte

Country Status (12)

Country Link
US (1) US6771807B2 (de)
EP (1) EP1254431B1 (de)
JP (1) JP2003520969A (de)
KR (1) KR100744212B1 (de)
CN (1) CN1261908C (de)
AT (1) ATE247309T1 (de)
AU (1) AU2001228211A1 (de)
CA (1) CA2296143A1 (de)
DE (1) DE60100594T2 (de)
IL (2) IL150744A0 (de)
TW (1) TWI240223B (de)
WO (1) WO2001054068A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10151711B2 (en) 2014-12-05 2018-12-11 Shenzhen Kana Technology Co., Ltd. Method and apparatus for generating X-ray inspection image of electronic circuit board
DE102010003376B4 (de) * 2009-03-30 2021-04-01 Koh Young Technology Inc. Untersuchungsverfahren

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115491A (en) 1996-02-27 2000-09-05 Cyberoptics Corporation Apparatus and method for estimating background tilt and offset
JP2003527582A (ja) 2000-01-07 2003-09-16 サイバーオプティクス コーポレーション テレセントリック・プロジェクタを有する位相プロフィル測定システム
US6549647B1 (en) 2000-01-07 2003-04-15 Cyberoptics Corporation Inspection system with vibration resistant video capture
US6593705B1 (en) 2000-01-07 2003-07-15 Cyberoptics Corporation Rapid-firing flashlamp discharge circuit
US6980685B2 (en) * 2001-01-22 2005-12-27 Siemens Corporate Research, Inc. Model-based localization and measurement of miniature surface mount components
US6920624B2 (en) * 2002-01-17 2005-07-19 Seagate Technology, Llc Methodology of creating an object database from a Gerber file
IL148829A0 (en) * 2002-03-21 2002-09-12 Camtek Ltd A method for storing information on layers of a layered product
JP3589424B1 (ja) * 2003-12-22 2004-11-17 株式会社メガトレード 基板検査装置
JP2005351631A (ja) * 2004-06-08 2005-12-22 Dainippon Screen Mfg Co Ltd 欠陥検出装置および欠陥検出方法
JP2006235762A (ja) * 2005-02-22 2006-09-07 Orion Denki Kk プリント基板用cadシステム
KR100687870B1 (ko) * 2005-04-04 2007-02-27 주식회사 하이닉스반도체 웨이퍼의 불량 검사 방법
US7653235B2 (en) * 2005-10-27 2010-01-26 Honeywell International Inc. Surface anomaly detection system and method
US7551272B2 (en) * 2005-11-09 2009-06-23 Aceris 3D Inspection Inc. Method and an apparatus for simultaneous 2D and 3D optical inspection and acquisition of optical inspection data of an object
EP1997076B1 (de) * 2006-03-13 2010-11-10 Given Imaging Ltd. Kaskadenanalyse zur darmkontraktionsdetektion
US8396327B2 (en) * 2006-03-13 2013-03-12 Given Imaging Ltd. Device, system and method for automatic detection of contractile activity in an image frame
US7684609B1 (en) * 2006-05-25 2010-03-23 Kla-Tencor Technologies Corporation Defect review using image segmentation
JP5010207B2 (ja) * 2006-08-14 2012-08-29 株式会社日立ハイテクノロジーズ パターン検査装置及び半導体検査システム
US20080117438A1 (en) * 2006-11-16 2008-05-22 Solvision Inc. System and method for object inspection using relief determination
CN101201371B (zh) * 2006-12-15 2011-12-21 鸿富锦精密工业(深圳)有限公司 印刷电路检测装置和方法
US7535560B2 (en) * 2007-02-26 2009-05-19 Aceris 3D Inspection Inc. Method and system for the inspection of integrated circuit devices having leads
US7664614B2 (en) * 2007-11-02 2010-02-16 United Microelectronics Corp. Method of inspecting photomask defect
US8059280B2 (en) 2008-01-31 2011-11-15 Cyberoptics Corporation Method for three-dimensional imaging using multi-phase structured light
US8131107B2 (en) * 2008-05-12 2012-03-06 General Electric Company Method and system for identifying defects in NDT image data
US8269836B2 (en) * 2008-07-24 2012-09-18 Seiko Epson Corporation Image capture, alignment, and registration
US20100046816A1 (en) * 2008-08-19 2010-02-25 Igual-Munoz Laura Method for automatic classification of in vivo images
US8121415B2 (en) * 2008-10-28 2012-02-21 Quality Vision International, Inc. Combining feature boundaries
TWI427556B (zh) * 2008-12-30 2014-02-21 Hon Hai Prec Ind Co Ltd 圖像比對系統及方法
US8378702B2 (en) * 2009-05-08 2013-02-19 Corning Incorporated Non-contact testing of printed electronics
JP5407632B2 (ja) * 2009-07-22 2014-02-05 富士通株式会社 プリント基板試験支援装置、プリント基板試験支援方法、及びプリント基板試験支援プログラム
US8339449B2 (en) * 2009-08-07 2012-12-25 Globalfoundries Singapore Pte. Ltd. Defect monitoring in semiconductor device fabrication
JP5678737B2 (ja) * 2011-03-10 2015-03-04 セイコーエプソン株式会社 欠陥検出方法及び欠陥検出装置
US8942465B2 (en) * 2011-12-13 2015-01-27 General Electric Company Methods and systems for processing images for inspection of an object
CN103185560A (zh) * 2011-12-29 2013-07-03 鸿富锦精密工业(深圳)有限公司 Pcb板线路的线宽检测系统及方法
US9881354B2 (en) * 2012-03-15 2018-01-30 Microsoft Technology Licensing, Llc Image completion including automatic cropping
CN102721695B (zh) * 2012-05-18 2015-01-07 深圳大学 一种检测印刷电路板缺陷的方法
CN102914549B (zh) * 2012-09-10 2015-03-25 中国航天科技集团公司第五研究院第五一三研究所 针对星载表露型pcb焊点质量的光学图像匹配检测方法
WO2014063301A1 (zh) * 2012-10-23 2014-05-01 Luo Yi Smt的pcb板的检验方法及装置
CN102937595B (zh) * 2012-11-13 2015-05-20 浙江省电力公司电力科学研究院 一种pcb板检测方法、装置及系统
CN103063677A (zh) * 2012-12-24 2013-04-24 上海金东唐精机科技有限公司 多功能pcb测试系统
US9361682B2 (en) * 2013-03-15 2016-06-07 John S. Youngquist Virtual assembly and product inspection control processes
US10126252B2 (en) 2013-04-29 2018-11-13 Cyberoptics Corporation Enhanced illumination control for three-dimensional imaging
KR102154075B1 (ko) * 2013-10-21 2020-09-09 삼성전자주식회사 반도체 소자의 검사 방법 및 반도체 검사 시스템
CN104636525B (zh) * 2013-11-14 2017-12-19 英业达科技有限公司 印刷电路检查方法与装置
CN103728316B (zh) * 2014-01-13 2016-04-06 深圳市永光神目科技有限公司 Pcba板用的检测装置
CN103728305A (zh) * 2014-01-13 2014-04-16 深圳市永光神目科技有限公司 Pcba板用的检测方法
CN103885216A (zh) 2014-02-10 2014-06-25 北京京东方显示技术有限公司 一种基板检测装置及方法
CN104156958B (zh) * 2014-08-06 2017-07-11 中国科学院生物物理研究所 一种电路板布线边缘提取方法及提取平台
CN105466951B (zh) * 2014-09-12 2018-11-16 江苏明富自动化科技股份有限公司 一种自动光学检测装置及其检测方法
RS61581B1 (sr) * 2015-02-27 2021-04-29 Pulsar Srl Jedinica ili uređaj za kontrolu ili upravljanje proizvodima ili rolnama
CN104820979A (zh) * 2015-03-20 2015-08-05 深圳市纳研科技有限公司 一种用于产品缺陷检测以及质量控制的图像减薄和特征分类方法
JP6535755B2 (ja) * 2015-04-15 2019-06-26 エクスロン インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツングYxlon International Gmbh 電子部品を試験する方法
CN105069772B (zh) * 2015-06-11 2018-01-26 国家电网公司 一种电力元器件识别方法
US9715639B2 (en) 2015-06-18 2017-07-25 The Boeing Company Method and apparatus for detecting targets
US9727785B2 (en) * 2015-06-18 2017-08-08 The Boeing Company Method and apparatus for tracking targets
CN106937080A (zh) * 2015-12-30 2017-07-07 希姆通信息技术(上海)有限公司 一种移动终端上螺丝的视觉检测方法及控制设备
CN106127779B (zh) * 2016-06-29 2018-12-11 上海晨兴希姆通电子科技有限公司 基于视觉识别的缺陷检测方法及系统
CN106327496B (zh) * 2016-08-26 2019-04-23 西安电子科技大学 基于aoi的pcb裸板盲孔缺陷的检测系统及方法
CN106526448A (zh) * 2016-09-30 2017-03-22 厦门通士达照明有限公司 一种电源驱动板自动检测系统和检测方法
US11275361B2 (en) * 2017-06-30 2022-03-15 Kla-Tencor Corporation Systems and methods for predicting defects and critical dimension using deep learning in the semiconductor manufacturing process
TWI640932B (zh) * 2017-08-08 2018-11-11 富比庫股份有限公司 Electronic part pattern verification system and method thereof
CN110197797B (zh) * 2018-02-27 2021-07-02 上海微电子装备(集团)股份有限公司 一种缺陷检测用标准片
CN109033917A (zh) * 2018-06-04 2018-12-18 广州美维电子有限公司 一种pcb板及pcb板的信息追溯方法
CN109389597B (zh) * 2018-10-24 2021-04-27 四川长虹电器股份有限公司 一种生产线上电路板缺陷检测系统及方法
CN110285760A (zh) * 2019-06-27 2019-09-27 重庆矢崎仪表有限公司 一种fpc组装检测系统和方法
CN110555858A (zh) * 2019-08-16 2019-12-10 珠海格力电器股份有限公司 一种电控板热熔胶位置检测的方法及设备
CN110751624B (zh) * 2019-09-10 2022-08-09 华中科技大学 一种提高pcb检查精度的方法及系统
CN112579810B (zh) * 2019-09-30 2023-10-27 深圳市嘉立创科技发展有限公司 印刷电路板分类方法、装置、计算机设备和存储介质
TWI721718B (zh) 2019-12-19 2021-03-11 新加坡商鴻運科股份有限公司 電路板智慧檢測方法、裝置、系統及存儲介質
CN111570327B (zh) * 2020-04-09 2022-05-31 广州视源电子科技股份有限公司 Led显示屏的印刷线路板的分类方法、装置及设备
CN113554582B (zh) * 2020-04-22 2022-11-08 中国科学院长春光学精密机械与物理研究所 电子设备盖板上功能孔的缺陷检测方法、装置以及系统
US11803960B2 (en) 2020-08-12 2023-10-31 Kla Corporation Optical image contrast metric for optical target search
CN113222913B (zh) * 2021-04-28 2024-04-12 南京南瑞继保电气有限公司 一种电路板缺陷检测定位方法、装置和存储介质
CN113610761B (zh) * 2021-07-06 2023-11-17 上海望友信息科技有限公司 判断断头线的方法、装置、电子设备及存储介质
CN113744247A (zh) * 2021-09-03 2021-12-03 西安建筑科技大学 一种pcb焊点缺陷识别方法和系统
TWI807426B (zh) * 2021-09-17 2023-07-01 鴻海精密工業股份有限公司 文字圖像瑕疵檢測方法、電腦裝置及儲存介質
TWI786838B (zh) * 2021-09-17 2022-12-11 鴻海精密工業股份有限公司 印字瑕疵檢測方法、電腦裝置及儲存介質
WO2023055375A1 (en) * 2021-09-30 2023-04-06 Hewlett-Packard Development Company, L.P. Image comparison to determine device abnormalities
CN113870257B (zh) * 2021-12-01 2022-03-18 武汉飞恩微电子有限公司 印刷电路板缺陷检测分类方法、装置及计算机储存介质
CN114384204B (zh) * 2021-12-07 2024-03-22 广州兴森快捷电路科技有限公司 Pcb拼板检测装置、系统、方法及存储介质
CN114627113B (zh) * 2022-05-12 2022-07-29 成都数之联科技股份有限公司 一种印制电路板缺陷检测方法及系统及装置及介质
CN116563357B (zh) * 2023-07-10 2023-11-03 深圳思谋信息科技有限公司 图像匹配方法、装置、计算机设备及计算机可读存储介质
CN116912250B (zh) * 2023-09-13 2023-11-28 山东众成菌业股份有限公司 基于机器视觉的菌包生产质量检测方法
CN117451728B (zh) * 2023-12-26 2024-02-20 常州漫舒医疗科技有限公司 基于视觉检测的造口产品生产检测系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3267548D1 (en) 1982-05-28 1986-01-02 Ibm Deutschland Process and device for an automatic optical inspection
US4589140A (en) 1983-03-21 1986-05-13 Beltronics, Inc. Method of and apparatus for real-time high-speed inspection of objects for identifying or recognizing known and unknown portions thereof, including defects and the like
EP0123229B1 (de) 1983-04-15 1988-11-09 Hitachi, Ltd. Verfahren und Einrichtung zur Detektion von Fehlern in gedruckten Schaltungsmustern
US4578810A (en) 1983-08-08 1986-03-25 Itek Corporation System for printed circuit board defect detection
JPS60263807A (ja) 1984-06-12 1985-12-27 Dainippon Screen Mfg Co Ltd プリント配線板のパタ−ン欠陥検査装置
US4648053A (en) * 1984-10-30 1987-03-03 Kollmorgen Technologies, Corp. High speed optical inspection system
US5774572A (en) 1984-12-20 1998-06-30 Orbotech Ltd. Automatic visual inspection system
EP0186874B1 (de) 1984-12-26 1994-06-08 Hitachi, Ltd. Verfahren und Gerät zum Prüfen der Geometrie von Mehrschichtmustern für integrierte Schaltungsstrukturen
DE3587582D1 (de) * 1985-03-14 1993-10-21 Beltronics Inc Gerät und Verfahren zum selbsttätigen Inspizieren von Objekten und zum Identifizieren oder Erkennen bekannter und unbekannter Teile davon, einschliesslich Fehler und dergleichen.
US4776022A (en) 1985-04-09 1988-10-04 Aoi Systems, Inc. System for printed circuit board defect detection
US4894790A (en) 1986-02-05 1990-01-16 Omron Tateisi Electronics Co. Input method for reference printed circuit board assembly data to an image processing printed circuit board assembly automatic inspection apparatus
US4974261A (en) 1988-11-15 1990-11-27 Matsushita Electric Works, Ltd. Optical surface inspection method
US5272763A (en) * 1990-03-02 1993-12-21 Matsushita Electric Industrial Co., Ltd. Apparatus for inspecting wiring pattern formed on a board
US5054094A (en) * 1990-05-07 1991-10-01 Eastman Kodak Company Rotationally impervious feature extraction for optical character recognition
US5115475A (en) 1990-06-04 1992-05-19 Motorola, Inc. Automatic semiconductor package inspection method
US5086477A (en) 1990-08-07 1992-02-04 Northwest Technology Corp. Automated system for extracting design and layout information from an integrated circuit
US5586058A (en) 1990-12-04 1996-12-17 Orbot Instruments Ltd. Apparatus and method for inspection of a patterned object by comparison thereof to a reference
US5119434A (en) 1990-12-31 1992-06-02 Beltronics, Inc. Method of and apparatus for geometric pattern inspection employing intelligent imaged-pattern shrinking, expanding and processing to identify predetermined features and tolerances
DE4222804A1 (de) * 1991-07-10 1993-04-01 Raytheon Co Einrichtung und verfahren zur automatischen visuellen pruefung elektrischer und elektronischer baueinheiten
DE69331433T2 (de) 1992-10-22 2002-10-02 Advanced Interconnection Tech Einrichtung zur automatischen optischen Prüfung von Leiterplatten mit darin verlegten Drähten
US5365596A (en) 1992-12-17 1994-11-15 Philip Morris Incorporated Methods and apparatus for automatic image inspection of continuously moving objects
US5452368A (en) 1993-08-02 1995-09-19 Motorola, Inc. Method of detecting defects in semiconductor package leads
US5517234A (en) 1993-10-26 1996-05-14 Gerber Systems Corporation Automatic optical inspection system having a weighted transition database
US5506793A (en) * 1994-01-14 1996-04-09 Gerber Systems Corporation Method and apparatus for distortion compensation in an automatic optical inspection system
US5751910A (en) * 1995-05-22 1998-05-12 Eastman Kodak Company Neural network solder paste inspection system
US5848189A (en) 1996-03-25 1998-12-08 Focus Automation Systems Inc. Method, apparatus and system for verification of patterns

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010003376B4 (de) * 2009-03-30 2021-04-01 Koh Young Technology Inc. Untersuchungsverfahren
US10151711B2 (en) 2014-12-05 2018-12-11 Shenzhen Kana Technology Co., Ltd. Method and apparatus for generating X-ray inspection image of electronic circuit board

Also Published As

Publication number Publication date
KR20020089325A (ko) 2002-11-29
WO2001054068A2 (en) 2001-07-26
TWI240223B (en) 2005-09-21
ATE247309T1 (de) 2003-08-15
CA2296143A1 (fr) 2001-07-18
US20010028732A1 (en) 2001-10-11
KR100744212B1 (ko) 2007-07-30
EP1254431B1 (de) 2003-08-13
IL150744A (en) 2007-09-20
AU2001228211A1 (en) 2001-07-31
CN1401107A (zh) 2003-03-05
CN1261908C (zh) 2006-06-28
EP1254431A2 (de) 2002-11-06
DE60100594D1 (de) 2003-09-18
US6771807B2 (en) 2004-08-03
WO2001054068A3 (en) 2002-08-08
IL150744A0 (en) 2003-02-12
JP2003520969A (ja) 2003-07-08

Similar Documents

Publication Publication Date Title
DE60100594T2 (de) Verfahren und system zur aufspürung von fehlern auf einer gedruckten leiterplatte
DE10000364B4 (de) Merkmalbasierende Feststellung von Fehlern
DE10392705B4 (de) Verfahren zur Musterprüfung
DE4410603C1 (de) Verfahren zur Erkennung von Fehlern bei der Inspektion von strukturierten Oberflächen
DE3937950C2 (de)
DE3587846T2 (de) Verfahren und Gerät zum Prüfen der Geometrie von Mehrschichtmustern für integrierte Schaltungsstrukturen.
DE112005000401B4 (de) Systeme und Verfahren zur Erfassung von Fehlern in aufgedruckter Lötpaste
DE10081029B4 (de) Bildbearbeitung zur Vorbereitung einer Texturnalyse
DE112015004721B4 (de) Defektdetektion unter verwendung von strukturinformation
DE19500382A1 (de) Verfahren und Einrichtung zum Kompensieren von Substratverzerrungen in einem automatischen optischen Prüfsystem für Leiterplatten
EP2275989B1 (de) Stereoskopische 3D-Kamera
DE102011086195B4 (de) Inspektionsverfahren
DE112013000627T5 (de) Segmentierung zur Waferinspektion
DE19641414A1 (de) Verfahren und Vorrichtung zur Einteilung eines Fehlers auf einem Halbleiterwafer
DE19803021A1 (de) Verfahren und Vorrichtung zur Musteruntersuchung
EP1132732A2 (de) Verfahren zur Bewertung von strukturfehlern auf einer Waferoberfläche
DE2634331A1 (de) Mustererkennungssystem
DE102020102853A1 (de) Fehlerprüfvorrichtung und -verfahren
DE2700252C2 (de) Verfahren zum Prüfen definierter Strukturen
EP2787485B1 (de) Verfahren und Vorrichtung zur automatischen Fehlerstellenerkennung bei biegeschlaffen Körpern
DE3637001A1 (de) Verfahren und vorrichtung zum pruefen der aeusseren form eines eine symmetrie aufweisenden gegenstandes
DE102008002753B4 (de) Verfahren zur optischen Inspektion, Detektion und Visualisierung von Defekten auf scheibenförmigen Objekten
DE69821225T2 (de) Verfahren zur kontrolle der oberfläche einer laufenden materialbahn mit vorklassifikation von ermittelten unregelmässigkeiten
DE60208817T2 (de) Verfahren und Vorrichtung zur Buchstabenseparation für deren Erkennung
DE3226999A1 (de) Verfahren und geraet fuer die erfassung von anomalien in der wiedergabe eines musters

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee