-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf Machine Vision Systeme und insbesondere auf das Ausrichten und Untersuchen von Komponenten mit einer Mehrzahl von nicht einheitlichen Merkmalen unter Einsatz eines Machine Vision Systems.
-
Hintergrund der Erfindung
-
Fortgeschrittene Machine Vision Systeme und ihre zugrundeliegende Software finden heutzutage in immer stärker werdendem Maße Einsatz in einer Vielfalt von Herstellungs- und Qualitätskontrollprozessen. Mit Machine Vision ist es möglich, schnellere, genauere und wiederholbare Ergebnisse mit weniger Fehlern bei der Produktion von Serienprodukten sowie auch kundenspezifischen Artikeln zu erzielen. Grundlegende Machine Vision Systeme umfassen eine oder mehrere auf einen interessierenden Bereich gerichtete Kameras (typisch mit Festkörper-CCD-Bildgebungselementen (CCD = Charge Couple Device)), Framegrabber/Bildverarbeitungselemente, die CCD-Bilder erfassen und übertragen, einen Computer mit Display, zum Betreiben der Machine Vision Softwareanwendung und zum Manipulieren der erfassten Bilder, sowie eine angemessene Beleuchtung für den interessierenden Bereich.
-
Viele Machine Vision Anwendungen befassen sich mit der Inspektion von Komponenten und Oberflächen zur Feststellung von die Qualität beeinträchtigenden Mängeln. Wenn es sich um hinreichend ernste Mängel handelt, wird ein Teil der Oberfläche als nicht akzeptabel/mangelhaft markiert. Machine Vision kommt auch in unterschiedlichem Maße bei der Manipulierung von Herstellungsmaschinen zur Durchführung spezieller Aufgaben zum Einsatz. Insbesondere könnten Machine Vision Systeme für die Inspektion von Komponenten an einer Montagestraße eingesetzt werden, um sicherzustellen, dass die Komponenten vorherbestimmte Kriterien erfüllen, bevor sie in ein Fertigprodukt eingehen und/oder zu einem solchen zusammengebaut werden. Machine Vision Systeme eignen sich ferner zum Orten sowohl dieser Komponenten als auch des Produkts, das zusammengebaut wird, damit die Einsetz- und/oder Montageausrüstung das Fertigprodukt automatisch ohne menschlichen Eingriff zusammensetzen kann.
-
Machine Vision Systeme kommen typisch bei der Ausrichtung und Inspektion von Geräten zum Einsatz, die einen Ball Grid Array (BGA) Formfaktor aufweisen. BGA-Geräte weisen typisch eine Mehrzahl kleiner Lötkugeln auf einer Montageseite des Geräts auf. Nach korrekter Platzierung des Geräts auf der Platine werden die Lötkugeln dann mit Hilfe von Ultraschall- oder Infrarottechnologien angelötet. Die Anzahl der Lötkugeln auf BGA-Geräten ist drastisch angestiegen, und liegt heute bei tausenden von Kugeln auf modernen BGA-Geräten. Ferner sind die Kugeln auf modernen BGA-Geräten heute weniger nach einem Gittermuster angeordnet und auf mehr uneinheitliche Weise auf dem Bauelement verteilt. Zudem verwenden die heutigen BGA-Geräte jetzt Lötkugeln uneinheitlicher Größe und/oder nicht runde Lötkugeln/Lötstellen, zum Beispiel Lötkugeln verschiedener Größen und/oder Formen.
-
Aufgrund dieser Trends sind die zur Ausrichtung und/oder Inspektion von BGA-Geräten verwendeten aktuellen Machine Vision Systeme sehr kompliziert geworden. Infolge des starken Anstiegs der Anzahl von Lötkugeln werden moderne Verfahren, die auf der Extrahierung von Kugeln oder dem Messen von Kugelmerkmalen beruhen, typisch mit einer Geschwindigkeit ausgeführt, die für die Laufzeit einfach zu langsam und nicht mehr vertretbar ist. Ferner kann bei den immer komplizierter werdenden Kugelmustern eine suchbasierte Ausrichtung schlimmste Folgen haben. Dies kann vorkommen, weil eine kleine Fehlausrichtung im translatorischen Spielraum oder im Drehwinkel dazu führen kann, dass sich die Mehrheit einzelner Merkmale deckt, wodurch sich die Wahrscheinlichkeit einer inkorrekten Deckung erhöht.
-
Zusätzlich ist zu sagen, dass Machine Vision Systeme nach dem Stand der Technik typisch nicht fähig sind, eine Ausrichtung und/oder Inspektion durchzuführen, wenn die Kugeln unterschiedliche Größen und/oder Formen aufweisen. Die Kombination aus steigender Anzahl, unterschiedlicher Größe und/oder Form von Kugeln und die nicht einheitliche Beabstandung der Kugeln verhindert, dass aktuelle Machine Vision Systeme die BGA-Geräte mit einer kommerziell akzeptablen Geschwindigkeit und Effizienz wirksam ausrichten und/oder inspizieren können.
-
Zusammenfassung der Erfindung
-
Durch die vorliegende Erfindung werden die Nachteile der Systeme nach dem Stand der Technik überwunden durch Bereitstellen eines Systems und eines Verfahrens für die hochschnelle Ausrichtung und/oder Inspektion von Bauelementen wie zum Beispiel BGA-Geräten, die eine Vielfalt von nicht einheitlichen Merkmalen aufweisen. Wie veranschaulicht, umfassen die nicht einheitlichen Merkmale Lötkugeln unterschiedlicher Größen und/oder Formen, die in unterschiedlichen Gittermustern oder nicht gitterartig angeordnet sind, usw. Grundsätzlich wird zunächst das Machine Vision System hinsichtlich der Ausrichtung und Inspektion der Merkmale des BGA-Geräts geschult. Später, während der Laufzeit, wird zuerst das BGA-Gerät entsprechend einer veranschaulichten Ausführung der vorliegenden Erfindung ausgerichtet und dann inspiziert.
-
Gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung wird während der Schulung eines Machine Vision Systems ein kleiner Teilsatz von für die Ausrichtung signifikanten Blobs zusammen mit einer gewissen geometrischen Analyse zur Auswahl der Körnigkeit bestimmt. Die für die Ausrichtung signifikanten Blobs können entweder, unter Einsatz von zum Beispiel Kantendetektion, durch Extraktion aus einem Bild eines Geräts oder durch Analysieren eines geometrischen Modells des Geräts bestimmt werden. Die Extraktion, entweder durch Kantendetektion eines Bildes oder durch geometrische Modellanalyse, ergibt eine oder mehrere Graustufen-Blobs. Anhand der Graustufen-Blobs werden dann die für die Ausrichtung signifikanten Blobs bestimmt. Nach dieser Bestimmung werden die Parameter für Laufzeitglätten und Downsampling auf den für die Ausrichtung signifikanten Blobs bestimmt und eine Ausrichtungsmaske erzeugt. Wie veranschaulicht, könnte die Ausrichtungsmaske Blobs unterschiedlicher Größe sowie nicht runde Blobs, das heißt Blobs verschiedener Formen aufnehmen.
-
Während der Schulungszeit eines Machine Vision Systems wird ferner ein geometrisches Modell des Geräts eingegeben und analysiert, um eine oder mehrere Gruppen als Lötkugelkandidaten zu identifizieren. Jede Kandidatengruppe besteht, wie veranschaulicht, aus einem Satz von Lötkugeln gleicher Größe, Form und Gitterausrichtung. Die Kandidatengruppen werden dem Benutzer angezeigt, der daraufhin die Gruppen modifizieren kann. Wie veranschaulicht, könnte ein Benutzer eine Grafische Benutzeroberfläche (GUI) zum Modifizieren der Mitglieder einer Lötkugelkandidatengruppe einsetzen. Nach Bestimmen der Abgrenzung für jede Gruppe kann der Benutzer Parameter für jede Gruppe einrichten, einschließlich verschiedener Pass/Fail Schwellen für Inspektionsgegenstände, die mit den Lötkugeln innerhalb der Gruppe verknüpft sind.
-
Im Betrieb während der Laufzeit wird eine Aufnahme des Geräts gemacht und unter Einsatz der vorher festgelegten Werte geglättet und auflösungsmäßig reduziert (Downsampling). Dann erfolgt zuerst eine Grobausrichtung, und danach eine Feinausrichtung. Für die Grob- und Feinausrichtungen werden nur vorab identifizierte ausrichtungsmäßig signifikante Blobs eingesetzt, wodurch die Ausrichtung des Geräts mit höherer Geschwindigkeit und Genauigkeit durchgeführt werden kann. Die Ausrichtungsinformation wird nun von den Inspektionskomponenten des Machine Vision Systems genutzt. Jede Kugel wird dem Bild entnommen und für jede Kugel eine Inspektion durchgeführt, wobei jeweils die für die Gruppe, zu der die Kugel gehört, einschlägigen Parameter zum Einsatz kommen. Nach Prüfen aller Kugeln werden die Inspektionsergebnisse ausgegeben. Die Ergebnisse können zum Beispiel von einer industriellen Automatisierungseinrichtung verwendet werden, um zu bestimmen, ob ein gegebenes Gerät genutzt werden kann, usw.
-
Kurzbeschreibung der Zeichnungen
-
Die obigen und weitere Vorteile der Erfindung werden verständlicher bei Bezugnahme auf die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen, in denen für identische oder funktionsmäßig ähnliche Elemente gleiche Bezugszeichen verwendet sind.
-
1 ist ein schematisches Blockdiagramm eines beispielhaften Machine Vision Systems gemäß einer veranschaulichen Ausführungsform der vorliegenden Erfindung;
-
2 ist ein schematisches Blockdiagramm eines Teils eines Lötkugelmusters eines beispielhaften Geräts gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung;
-
3A ist ein Flussdiagramm der einzelnen Schritte einer Prozedur zum Schulen eines Machine Vision Systems, welches Bilderfassung gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung verwendet;
-
3B ist ein Flussdiagramm der einzelnen Schritte einer Prozedur zum Schulen eines Machine Vision Systems, welches ein geometrisches Modell gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung verwendet;
-
4A ist ein schematisches Diagramm einer beispielhaften Ausrichtungsmaske einer runden Kugel gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung;
-
4B ist ein schematisches Diagramm einer beispielhaften Ausrichtungsmaske einer ovalen Kugel gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung;
-
4C ist ein schematisches Diagramm einer beispielhaften Ausrichtungsmaske einer nicht runden Kugel gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung;
-
5 ist ein schematisches Blockdiagramm eines Teils eines Lötkugelmusters einer beispielhaften Komponente, welche zeigt, wie ausrichtungsmäßig signifikante Blobs gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung bestimmt werden;
-
6 ist ein schematisches Blockdiagramm eines Teils eines Lötkugelmusters einer beispielhaften Komponente, welches ausrichtungsmäßig signifikante Blobs gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung zeigt;
-
7 ist ein Ablaufdiagramm der einzelnen Schritte einer Prozedur zum Erzeugen beispielhafter Lötkugelkandidatengruppen gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung;
-
8 ist ein schematisches Diagramm, welches eine beispielhafte Ausgabe einer Analyse mit beispielhaften Lötkugelkandidatengruppen gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung zeigt;
-
9 ist ein schematisches Diagramm, welches beispielhafte Lötkugelkandidatengruppen nach Modifizierung durch einen Benutzer gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung zeigt; und
-
10 ist ein Ablaufdiagramm der einzelnen Schritte einer Prozedur zum Durchführen von Laufzeitausrichtung und Inspektion von Geräten gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung.
-
Ausführliche Beschreibung einer illustrativen Ausführungsform
-
A. Machine Vision System
-
1 ist ein schematisches Blockdiagramm eines Machine Vision Systems 100, das zur Realisierung der Grundsätze der vorliegenden Erfindung gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung verwendet werden kann. Das Machine Vision System 100 umfasst ein Bildaufnahmegerät 105, welches ein Bild eines Blickfeldes 110 erzeugt, das ein oder mehrere Objekte 115, wie ein BGA-Gerät oder ein anderes Bauelement umfasst. Das Bildaufnahmegerät 105 könnte eine herkömmliche Videokamera oder ein Scanner sein. Eine derartige Videokamera könnte ein CCD-Gerät (Charge Coupled Device) oder anderes System wie die gut bekannten CMOS Sensoren zum Einholen dementsprechender Bildinformation sein. Bilddaten (oder Pixel), die von dem Bildaufnahmegerät 105 erzeugt werden, stellen eine Bildintensität, zum Beispiel Farbe oder Helligkeit jedes Punktes im Bild innerhalb der Auflösung des Bildaufnahmegeräts 105 dar. Das Bildaufnahmegerät 105 überträgt die digitalen Bilddaten über einen Kommunikationspfad 120 an ein Bildanalysesystem 125. Das Bildanalysesystem 125 kann einen herkömmlichen digitalen Datenprozessor umfassen, wie zum Beispiel ein Vision Verarbeitungssystem des im Handel erhältlichen Typs, die von der Firma Cognex Corporation hergestellt werden. Das Bildanalysesystem 125 kann einen herkömmlichen Mikrocomputer oder ein anderes beispielhaftes Computergerät umfassen. Auch andere Formen von Schnittstellen sind geeignet, wie zum Beispiel ein PDA (Personal Digital Assistant) usw. Bei alternativen Ausführungsformen kann das Bildaufnahmegerät Verarbeitungsfähigkeiten umfassen, die die Durchführung der Funktionen des Bildanalysesystems gestatten. Bei solchen Ausführungsformen besteht kein Bedürfnis für ein separates Bildanalysesystem. Bei weiteren alternativen Ausführungsformen kann ein Bildaufnahmegerät betrieblich mit einem Bildanalysesystem zu Schulungszwecken verbunden sein. Nach Durchführung der Schulung können ein oder mehrere entsprechenden Modelle in dem Bildaufnahmegerät zum Einsatz während der Laufzeit gespeichert werden.
-
Das Bildanalysesystem 125 ist, wie erläutert, gemäß der Lehre der vorliegenden Erfindung programmiert und sieht eine hochschnelle Ausrichtung und Inspektion der Bauelemente gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung vor. Das Bildanalysesystem 125 kann eine oder mehrere zentrale Verarbeitungseinheiten (Prozessoren) 130, einen Hauptspeicher 135, Eingabe-/Ausgabesysteme 145 und ein oder mehrere Plattenlaufwerke oder andere Formen von Massenspeicher 140 aufweisen. Wie veranschaulicht, ist das Eingabe-/Ausgabesystem 145 mit dem Kommunikationspfad 120 zwischen dem Bildaufnahmegerät 105 und dem Bildanalysesystem 125 verbunden. Das System 125 kann mit Programmieranweisungen gemäß der Lehre der vorliegenden Erfindung konfiguriert werden. Wie einem in der Technik bewanderten Fachmann bekannt ist, können alternative Hardware- und/oder Softwarekonfigurationen verwendet werden, um die Grundsätze der vorliegenden Erfindung zu implementieren. Insbesondere kann die Lehre der vorliegenden Erfindung in Software, Hardware, Firmware und/oder einer beliebigen Kombination derselben implementiert werden. Ferner können während der Laufzeit im Gegensatz zur Schulungszeit zusätzliche und/oder andere Bauelemente in das Machine Vision System 100 aufgenommen werden. Zum Beispiel können Objekte 115 mit einem (nicht dargestellten) Förderband oder einer anderen Fließbandvorrichtung transportiert werden.
-
Es versteht sich, obwohl die vorliegende Erfindung im Sinne eines Machine Vision Systems 100 beschrieben wurde, dass die Grundsätze der vorliegenden Erfindung in einer Vielfalt anderer Ausführungsformen zum Einsatz kommen können. Der Ausdruck Machine Vision System beinhaltet demzufolge auch andere Systeme. Ganz allgemein können die Grundsätze der vorliegenden Erfindung an jedem beliebigen System zum Einsatz kommen, das Bauelemente ausrichtet und/oder inspiziert. Zum Beispiel kann eine Ausführungsform ein herkömmliches Machine Vision System beinhalten, welches eine Standalone-Kamera aufweist, die betrieblich mit einem zur Bildverarbeitung programmierten Standalone-Computer verbunden ist, usw.
-
Die Grundsätze der vorliegenden Erfindung können jedoch auch in anderen Geräten und/oder Systemen zum Einsatz kommen, die Bauelemente auf Basis von Bildern des Bauelements ausrichten und/oder inspizieren. Zum Beispiel weist ein Vision Sensor wie das Checker Produkt der Fa. Cognex Corporation oder ein anderes Gerät mit Beleuchtungsquellen Bilderfassungsfähigkeiten und/oder Verarbeitungsfähigkeiten auf. Derartige Vision Sensoren können mittels separater Module wie eines Cognex Vision View geschult und/oder konfiguriert werden. Bei diesen Ausführungsformen kann der Benutzer den Vision Sensor unter Einsatz einer Mehrzahl von Objekten anstatt nur eines Objekts schulen. Der Benutzer kann ein erstes Objekt auswählen, es vor den Sensor platzieren und das System informieren, dass das Schulungsobjekt positioniert ist. Ein zweites (drittes usw.) Objekt kann auf ähnliche Weise geschult werden. Der Benutzer kann den Schulungsschritt steuern, indem er zum Beispiel eine grafische Benutzeroberfläche (GUI) und/oder Tasten oder andere am Schulungsmodul und/oder dem Vision Sensor selbst vorgesehene Steuerflächen verwendet. Ferner kann die Funktionalität der vorliegenden Erfindung in Handgeräte, drahtlose kompatible Geräte usw. eingebaut werden. Es versteht sich, dass bei anderen Ausführungsformen die Ausrichtungs- und Inspektionsfunktionen auf verschiedene Hardware- und/oder Softwaremodule verteilt sein können. Der Ausdruck Machine Vision System ist daher so verstehen, dass er auch solche Systeme und Geräte, die eine oder mehrere der Lehren der vorliegenden Erfindung nutzen, mit abdeckt.
-
B. BGA-Geräte mit nicht einheitlichen Merkmalen
-
2 ist ein schematisches Blockdiagramm eines Teils eines Lötkugelmusters eines beispielhaften BGA-Geräts 200 gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. Es versteht sich, dass bei illustrativen Ausführungsformen der vorliegenden Erfindung ein BGA-Gerät tausende von Kugeln aufweisen kann. Somit ist das schematische Diagramm des BGA-Geräts 200 lediglich als beispielhaft zu verstehen. Es versteht sich ferner, dass an dem beispielhaften Gerät 200 eine Anzahl von Lötkugeln in Form verschiedener Gittermuster angeordnet sein können. Ferner wird ausdrücklich darauf hingewiesen, dass bei anderen Ausführungsformen der vorliegenden Erfindung alle Kugeln durchaus nach einem nicht gitterartigen Muster oder einem anderen nicht einförmigen Muster angeordnet sein können. Die Beschreibung von Gerät 200 ist daher so verstehen, dass die Erfindung keineswegs auf Kugelmuster mit Gitterausrichtung, auch wenn dies nur in beschränktem Maße der Fall ist, beschränkt ist.
-
Bei illustrativen Ausführungsformen der vorliegenden Erfindung können Größe, Form und/oder Orientierung der Kugelregionen an einem Gerät äußerst unterschiedlich sein. Das beispielhafte BGA-Gerät 200 weist drei separate Regionen auf. Eine erste Region 205 umfasst einen Satz von Kugeln, die in einem Gittermuster angeordnet sind, wobei die Lötkugeln den gleichen ersten Durchmesser aufweisen. Wie veranschaulicht, hat jede Lötkugel innerhalb der Region 205 einen gleichen ersten Durchmesser. Eine zweite Region 210 umfasst einen weiteren Satz der gittermäßig ausgerichteten Lötkugeln; wobei jedoch die Lötkugeln in der zweiten Region 210 eine andere Größe aufweisen (das heißt, sie weisen nicht den ersten Durchmesser auf) als die der ersten Region 205.
-
Eine dritte Region 215 umfasst eine Mehrzahl von Kugeln, die überhaupt nicht gitterartig ausgerichtet sind. Es versteht sich, dass bei anderen Ausführungsformen der vorliegenden Erfindung auch die Form der Lötkugeln unterschiedlich sein kann, das heißt, die Kugeln müssen nicht alle rundausgebildet sein, sondern können andere Formen aufweisen. Die Beschreibung des beispielhaften Geräts 200 mit runden Kugeln ist daher als lediglich beispielhaft zu verstehen.
-
Wie einem Fachmann bekannt ist, können die Grundsätze der vorliegenden Erfindung auf BGA-Geräte mit einer beliebigen Anzahl von Kugelregionen mit nicht einheitlichen Merkmalen angewendet werden, sowohl gitterartigen als auch nicht gitterartigen Merkmalen, Kugelgrößen und/oder Kugelformen. Die Beschreibung von Gerät 200 ist daher zum Zwecke der Veranschaulichung der Grundsätze der vorliegenden Erfindung lediglich als beispielhaftes BGA-Gerät zu verstehen. Die Grundsätze der vorliegenden Erfindung können ganz allgemein auf die Ausrichtung und/oder Inspektion aller Bauelemente mit nicht einheitlichen Merkmalen angewendet werden.
-
C. Ausrichtungsschulung
-
3A zeigt ein Flussdiagramm der Schritte einer Prozedur 300A zum Schulen eines Machine Vision Systems, welches die Bildaufnahme eines Geräts gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung verwendet. Die Prozedur 300A beginnt mit Schritt 305 und fährt mit Schritt 310 fort, wo Graustufenblobs unter Einsatz von Kantendetektion aus einem Bild extrahiert werden. Wie veranschaulicht, kommt ein Blob-Werkzeug, welches graustufenintensität-basierte Bildsegmentierung verwendet, wie zum Beispiel das Cognex Blob-Werkzeug der Cognex Corporation von Natick, Massachusetts, für die Identifizierung dieser Objekte im Bild zum Einsatz. Die Abgrenzung des gefundenen Blobs wird nun dazu benutzt, eine polygonale Darstellung der Kugel zu erstellen. Diese polygonale Darstellung könnte später dazu benutzt werden, die Ausrichtungsmaske, wie weiter unten in Schritt 325 beschrieben, zu erstellen. Bei alternativen Ausführungsformen, wenn die Ziele auf bekannte Formen (d. h. runde Kugeln) begrenzt sind, könnte eine Sobel Kantenextraktionstechnik benutzt werden, um Kantenketten im Bild zu finden. Wie veranschaulicht, könnte eine geschlossene Kantenkette oder ein Satz von offenen Kantenketten mit kleinen Lücken auf die bekannte Form angewendet werden, die als Modell benutzt wird.
-
Nach der Extraktion von Graustufenblobs identifiziert das Machine Vision System nun ausrichtungsmäßig signifikante Blobs in Schritt 315. Ausrichtungsmäßig signifikante Blobs sind Blobs, die nicht leicht mit ihren Nachbarn verwechselt werden können, wenn ein Muster in verschiedenen Richtungen verschoben wird. Allgemein gesagt sind Blobs, die sich an der Grenze von dichten Regionen befinden, typisch signifikant für die Ausrichtung. Eine Technik zum Bestimmen der Signifikanz der Ausrichtung ist im Folgenden beschrieben. Es wird jedoch darauf hingewiesen, dass auch andere Techniken zum Bestimmen der Signifikanz der Ausrichtung bei alternativen Ausführungsformen der vorliegenden Erfindung verwendet werden können. Daher ist die hier beschriebene Technik zum Bestimmen der Signifikanz der Ausrichtung lediglich als beispielhaft zu verstehen.
-
Zum Zwecke einer illustrativen Ausführungsform einer Ausrichtungssignifikanz-Bestimmung wird ein unmittelbarer Nachbar eines Blobs definiert als Nachbar innerhalb eines vordefinierten konstanten Faktors einer Entfernung eines gegebenen Blobs von seinem nächsten Nachbar. Bei einer illustrativen Ausführungsform beträgt der vordefinierte konstante Faktor 1,5. Somit werden die Blobs, die innerhalb 1,5 Einheiten von einem nächsten Nachbarn eines gegebenen Blobs liegen, definiert als unmittelbare Nachbarn des Blobs. Ein Blob wird somit als ausrichtungsmäßig signifikant definiert, wenn ein hinreichend großer Winkel existiert, in dem keine unmittelbaren Nachbarn vorhanden sind.
-
5 ist ein schematisches Blockdiagramm eines beispielhaften BGA-Geräts 500 gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. Wie veranschaulicht, enthält Gerät 500 das gleiche Muster von Kugeln, wie für das beispielhafte Gerät 200 veranschaulicht und oben mit Bezug auf 2 beschrieben. Wie veranschaulicht, zeigt 5 einen Teilsatz eines größeren Bildes, welches zum Beispiel tausende von Lötkugeln enthalten könnte. Demzufolge ist anzunehmen, dass sich die äußere Reihe von Lötkugeln aus dem Bild von 5 hinaus erstreckt. Bei einer illustrativen Ausführungsform wird ein vordefinierter Winkel von 135° verwendet, um die Signifikanz der Ausrichtung zu bestimmen. Bei alternativen Ausführungsformen jedoch kann jeder beliebige Winkel als Schwellenwinkel zum Bestimmen der Ausrichtungssignifikanz verwendet werden. Demzufolge ist die Beschreibung der Verwendung eines Winkels von 135° als lediglich beispielhaft zu verstehen.
-
Somit wird gemäß Schritt 315 von Prozedur 300 jeder Blob in dem illustrativen Gerät 500 auf seine Ausrichtungssignifikanz geprüft. Der beispielhafte Blob 505 wird geprüft und es wird bestimmt, dass der Winkel, in dem keine Nachbarn liegen, ca. 180° ist. Da dieser größer als die beispielhafte Schwelle von 135° ist, wird Blob 505 als ausrichtungsmäßig signifikant betrachtet. Desgleichen wird Blob 510 geprüft, und es wird bestimmt, dass der Winkel, in dem keine Nachbarn vorhanden sind, 180° ist. Da dieser wie bei Blob 505 größer als die 135° Schwelle ist, wird Blob 510 als ausrichtungsmäßig signifikant betrachtet. Blob 515 wird geprüft, und es wird bestimmt, dass der größte Winkel mit keinen unmittelbaren Nachbarn ca. 90° ist. Da 90° unter der 135° Schwelle liegt, wird Blob 515 als ausrichtungsmäßig nicht signifikant betrachtet. Diese Signifikanzbestimmung wird für jede der Lötkugeln in Gerät 500 durchgeführt.
-
6 ist ein schematisches Diagramm, welches die ausrichtungsmäßig signifikanten Blobs von Gerät 600 zeigt. Wie veranschaulicht, werden in 6 nur diejenigen Blobs von dem in 5 veranschaulichten Gerät 500 gezeigt, die mit der 135° Schwelle übereinstimmen. Wie oben hervorgehoben, wird angenommen, dass sich das Bild von 5 nach außen heraus erstreckt. Demzufolge wird angenommen, dass die äußerste Reihe von Lötkugeln in 5 noch eine (nicht dargestellte) weitere Reihe umfasst, woraus sich ergibt, dass die äußerste Reihe ausrichtungsmäßig nicht signifikant ist. Es wird darauf hingewiesen, dass bei alternativen Ausführungsformen unterschiedliche Schwellen dazu führen, dass unterschiedliche Ausrichtungssignifikanz-Bestimmungen durchzuführen sind. Demzufolge ist 6 lediglich als beispielhaft zu betrachten. Rückkehrend zu Prozedur 300A bestimmt in Schritt 320 das Machine Vision System die entsprechende Laufzeitglättung und das Downsampling für das Bild. Die Glättung wird durchgeführt, um Suchverfahren die Erzielung eines sinnvollen Übereinstimmungsergebnisses zu ermöglichen.
-
In Schritt 325 wird eine Ausrichtungsmaske erzeugt, die nur die ausrichtungsmäßig signifikanten Blobs enthält. Wie veranschaulicht, kann eine Mehrzahl von Ausrichtungsmasken erzeugt werden, wobei für bestimmte Ausrichtungswerkzeuge und/oder Techniken unterschiedliche Masken erstellt werden. 4A ist ein schematisches Diagramm einer beispielhaften Ausrichtungsmaske einer runden Kugel gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. 4B ist ein schematisches Diagramm einer beispielhaften Ausrichtungsmaske einer ovalen Kugel gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. 4C ist ein schematisches Diagramm einer beispielhaften Ausrichtungsmaske einer nicht runden Kugel gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. Nach Erstellen der Ausrichtungsmaske wird diese dazu benutzt, ein oder mehrere Ausrichtungswerkzeuge zu schulen (Schritt 330). Derartige Ausrichtungswerkzeuge könnten zum Beispiel normierte Korrelationswerkzeuge, edgelet-basierte Werkzeuge usw. sein.
-
Die Prozedur 300A endet mit Schritt 335. Wie veranschaulicht, wird mit Prozedur 300A ein Machine Vision System geschult, wobei nur ausrichtungsmäßig signifikante Regionen einer Komponente in die Prozedur eingehen. Dies bedeutet weniger Komplexität und höhere Geschwindigkeit beim Ausrichten der Komponente während der Laufzeit.
-
3B ist ein Ablaufdiagramm der Schritte in einer Prozedur 300B zum Durchführen der Schulung eines Machine Vision Systems gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. Die Prozedur 300B beginnt mit Schritt 305 und geht weiter zu Schritt 340, bei dem ein geometrisches Modell in das Machine Vision System eingegeben wird. Wie veranschaulicht, kann das geometrische Modell zum Beispiel ein CAD-Modell (CAD = Computer-aided Design) des zu prüfenden BGA-Geräts beinhalten. In Schritt 315 identifiziert das Machine Vision System ausrichtungsmäßig signifikante Blobs anhand des geometrischen Modells. In Schritt 320 werden Parameter für Laufzeitglättung und Downsampling bestimmt. In Schritt 345 wird ein synthetisches Bild unter Einsatz des geometrischen Modells erzeugt. Dann wird in Schritt 325 eine Ausrichtungsmaske erzeugt. In Schritt 330 werden die Ausrichtungswerkzeuge unter Einsatz der erzeugten Ausrichtungsmaske und des synthetischen Bildes geschult. Mit Schritt 335 wird die Prozedur 300B beendet.
-
D. Lötkugelgruppen
-
7 ist ein Ablaufdiagramm der Schritte in einer Prozedur 700 zum Einrichten von Lötkugelkandidatengruppen zur Inspektion gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. Die Prozedur 700 beginnt mit Schritt 705 und geht weiter zu Schritt 710, bei dem ein geometrisches Modell eines BGA-Geräts in das illustrative Machine Vision System eingegeben wird. Wie veranschaulicht, kann dies ein CAD-Modell eines zu prüfenden BGA-Geräts sein. Dieses kann unter Einsatz herkömmlicher Eingabetechniken in das Machine Vision System zur Analyse eingegeben werden. In Antwort auf die Eingabe des geometrischen Modells analysiert das Machine Vision System in Schritt 715 die Kugelorte, um Lötkugelkandidatengruppen innerhalb des BGA-Geräts zu identifizieren. Wie veranschaulicht, sind die Lötkugelkandidatengruppen Gruppen, die dasselbe Muster aufweisen. Zum Beispiel kann eine Lötkugelkandidatengruppe diejenigen Lötkugeln identifizieren, die die gleiche Größe, Form und Gitterausrichtung aufweisen. Dies ist beispielhaft in 8 dargestellt, einem schematischen Diagramm gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. Für Gerät 800 hat das Machine Vision System eine Mehrzahl von Gruppen, wie veranschaulicht, identifiziert. Eine erste Gruppe 805 besteht aus Kugeln, die in einem ersten Muster angeordnet und von einer ersten Größe sind. Eine zweite Gruppe 810 besteht aus Kugeln, die in einem zweiten Muster angeordnet und von einer zweiten Größe sind. Individuelle Gruppen 815A–G beziehen sich jeweils auf eine einzelne Kugel, die kein erkennbares Muster aufweist.
-
Nach Identifizieren der Lötkugelkandidatengruppen in Schritt 715 werden sie in Schritt 720 einem Benutzer angezeigt. Ein Benutzer kann eine grafische Benutzeroberfläche (GUI) und/oder eine andere Form einer Schnittstelle verwenden, um die Abgrenzungen der Lötkugelkandidatengruppen in Schritt 725 zu modifizieren. Wie veranschaulicht, kann ein Benutzer bestimmte Kandidatengruppen akzeptieren, andere Gruppierungen jedoch modifizieren. Zum Beispiel, wenn ein Benutzer alle Kugeln aus den Gruppen 815A–G in eine einzelne Gruppe aufnehmen möchte, kann er die individuellen Gruppen zu einer einzelnen Gruppe, zusammenfassen, wie in 9 dargestellt. 9 ist ein schematisches Diagramm einer beispielhaften modifizierten Gruppierung von Kugeln gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung.
-
Nachdem der Benutzer die verschiedenen Gruppenabgrenzungen eingestellt hat, kann er die verschiedenen Parameter für jede Gruppe in Schritt 730 einstellen. Die Parameter können zum Beispiel zu inspizierende Posten, mit verschiedenen Posten verbundene Schwellen, usw. beinhalten. Die Prozedur endet mit Schritt 735.
-
E. Ausrichtung und Inspektion
-
10 ist ein Ablaufdiagramm der Schritte in einer Prozedur 100 für hochschnelle Ausrichtung und Inspektion von Geräten während der Laufzeit gemäß einer illustrativen Ausführungsform der vorliegenden Erfindung. Prozedur 1000 beginnt mit Schritt 1005 und geht weiter zu Schritt 1010, wo ein Bild eines Geräts aufgenommen wird. Wie veranschaulicht, wird das Bild mit dem Bildaufnahmegerät 105 aufgenommen. Das aufgenommene Bild wird dann in Schritt 1015 geglättet und auflösungsmäßig reduziert (Downsampling). Wie veranschaulicht, erfolgt das Glätten und Downsampling unter Einsatz der während der Laufzeit definierten Parameterwerte. Bei einer illustrativen Ausführungsform der vorliegenden Erfindung basieren die Glättungs- und Downsampling-Parameter auf der mittleren Entfernung der extrahierten Blobs zum nächsten Nachbarn.
-
In Schritt 1020 wird eine Grobausrichtung vorgenommen. Eine Feinausrichtung des Bildes wird dann in Schritt 1025 durchgeführt. Bei anderen Ausführungsformen der vorliegenden Erfindung können die Grob- und Feinausrichtungsschritte 1020, 1025 zu einem einzigen Ausrichtungsschritt zusammengefasst werden. Die Grob- und Feinausrichtungsschritte 1020, 1025 werden, wie veranschaulicht, unter Einsatz herkömmlicher Machine Vision Techniken implementiert, wobei nur die ausrichtungsmäßig signifikanten Regionen maskiert werden. Dies ermöglicht den Ausrichtungstechniken, mit hinreichender Geschwindigkeit zu arbeiten, um den Produktionsanforderungen zu genügen und den notwendigen Genauigkeitsgrad bereitzustellen. Es wird darauf hingewiesen, dass bei einer illustrativen Ausführungsform der vorliegenden Erfindung der Grobausrichtungsschritt 1020 unter Einsatz einer normierten Korrelationstechnik durchgeführt wird, während der Feinausrichtungsschritt 1025 eine edgelet-basierte Übereinstimmungstechnik verwendet. Demzufolge ist die Beschreibung der Grob- und Feinausrichtungsschritte unter Einsatz der gleichen Technik lediglich als beispielhaft zu verstehen.
-
Das Machine Vision System benutzt nun diese Feinausrichtungsinformation, um jede Kugel aus dem Bild in Schritt 1030 zu extrahieren. Für jede extrahierte Kugel führt das Machine Vision System dann eine Inspektion in Schritt 1035 durch. Wie veranschaulicht, wird jede Kugel individuell inspiziert. Jede Kugel wird unter Einsatz der Inspektionsposten und Schwellen inspiziert, die vom Benutzer für die mit der Kugel verbundene entsprechende Gruppe eingerichtet wurden. Beispielhafte Inspektionsposten beinhalten zum Beispiel genaue Kugelposition, Positionsfehler, Kugelgröße und Größenfehler, Entfernung zu Nachbarn, Entfernungsfehler, Intensität und/oder Kontrast innerhalb eines Bildes, und Metriken, die das Gesamtaussehen und die Form einer Kugel bestimmen.
-
Dann wird in Schritt 1040 die Ausrichtung unter Einsatz des bekannten Orts aller extrahierten Lötkugeln verfeinert. Durch Verwendung aller extrahierten Kugeln wird typisch eine genauere Ausrichtung erzielt als wenn nur die ausrichtungsmäßig signifikanten Kugeln verwendet würden. Nachdem alle Lötkugeln, die auf der Ausrichtungsinformation basieren, extrahiert und inspiziert wurden, werden diese Kugeln dann durch Maskierung aus dem Bild entfernt und eine Detektion irgendwelcher zusätzlichen Kugeln in Schritt 1045 durchgeführt. Diese zusätzlichen Kugeln werden ebenfalls wie oben beschrieben inspiziert.
-
Die Ergebnisse der Ausrichtung und Inspektion werden in Schritt 1050 ausgegeben. Die Prozedur 1000 endet mit Schritt 1055.
-
Die obige Beschreibung gilt für bestimmte Ausführungsformen dieser Erfindung. Es ist jedoch offensichtlich, dass andere Variationen und Modifikationen an den beschriebenen Ausführungsformen vorgenommen werden können, wobei einige oder alle Vorteile genutzt werden. Zusätzlich könnten die hier beschriebenen Prozeduren, Prozesse und/oder Module in Hardware, Software implementiert, oder als computerlesbares Medium mit Programmanweisungen, Firmware oder einer Kombination derselben eingebaut werden. Folglich ist es das Ziel der beigefügten Ansprüche, alle derartigen Variationen und Modifikationen abzudecken, die in den wahren Rahmen und Geltungsbereich der Erfindung fallen.