DE102022120150A1 - Teileüberprüfungssystem mit generativem Trainingsmodell - Google Patents

Teileüberprüfungssystem mit generativem Trainingsmodell Download PDF

Info

Publication number
DE102022120150A1
DE102022120150A1 DE102022120150.3A DE102022120150A DE102022120150A1 DE 102022120150 A1 DE102022120150 A1 DE 102022120150A1 DE 102022120150 A DE102022120150 A DE 102022120150A DE 102022120150 A1 DE102022120150 A1 DE 102022120150A1
Authority
DE
Germany
Prior art keywords
image
error
detection model
error detection
inspection system
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.)
Pending
Application number
DE102022120150.3A
Other languages
English (en)
Inventor
Sonny O. Osunkwo
Lei Zhou
Jiankun Zhou
Roberto Francisco-Yi Lu
Dandan ZHANG
Zhonghua Xu
Avil SAUNSHI
Rajesh Rk
Andrew Riordana
Das Viraat
Krithik Rao
Renji Thomas Kuruvilla
Jaya Dwivedi
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.)
TE Connectivity Solutions GmbH
Tyco Electronics Shanghai Co Ltd
TE Connectivity India Pvt Ltd
Original Assignee
TE Connectivity Solutions GmbH
Tyco Electronics Shanghai Co Ltd
TE Connectivity India Pvt Ltd
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
Priority claimed from CN202110915084.1A external-priority patent/CN115937059A/zh
Application filed by TE Connectivity Solutions GmbH, Tyco Electronics Shanghai Co Ltd, TE Connectivity India Pvt Ltd filed Critical TE Connectivity Solutions GmbH
Publication of DE102022120150A1 publication Critical patent/DE102022120150A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Abstract

Ein Teileüberprüfungssystem (100) umfasst eine Visualisierungsvorrichtung (120), konfiguriert zum Abbilden eines zu überprüfenden Teils (102) und zum Erzeugen eines digitalen Bildes des Teils. Das System umfasst ein Teilüberprüfungsmodul (150), das kommunikativ mit der Visualisierungsvorrichtung verbunden ist und das digitale Bild des Teils als Eingangsbild (402) empfängt. Das Teilüberprüfungsmodul umfasst ein Fehlererkennungsmodell (160). Das Fehlerkennungsmodell umfasst ein Vorlagenbild. Das Fehlererkennungsmodell vergleicht das Eingangsbild mit dem Vorlagenbild, um Fehler zu identifizieren. Das Fehlererkennungsmodell erzeugt ein Ausgangsbild. Das Fehlererkennungsmodell ist zum Überlagern von Fehleridentifikatoren (164) auf dem Ausgangsbild an den identifizierten Fehlerpositionen (162) konfiguriert, falls vorhanden.

Description

  • Diese Anmeldung beansprucht die Priorität der chinesischen Anmeldung Nr. 202110915084.1, die am 10. August 2021 eingereicht wurde und deren Gegenstand hierin in vollem Umfang durch Bezugnahme aufgenommen wird.
  • Der vorliegende Gegenstand betrifft im Allgemeinen Systeme und Verfahren zur Überprüfung von Teilen. Mit der Entwicklung von Bildverarbeitungstechnologien wurden Bildverarbeitungstechnologien zum Detektieren von Fehlern in hergestellten Produkten eingesetzt. In praktischen Anwendungen können Teile nach einem oder mehreren Fertigungsschritten abgebildet und die Bilder analysiert werden, um sie auf Fehler zu detektieren, beispielsweise vor der Montage des Teils oder dem Versand des Teils. Einige Fehler sind für bekannte Bildverarbeitungssysteme nur schwer zu identifizieren. Außerdem kann das Training des Bildverarbeitungssystems schwierig und zeitaufwendig sein. Zum Beispiel müssen für das Training viele Bilder gesammelt werden, die sowohl gute als auch schlechte Bilder umfassen, beispielsweise Bilder von Teilen, die keine Fehler aufweisen, bzw. Bilder von Teilen, die Fehler aufweisen. Das System wird trainiert, indem sowohl die guten als auch die schlechten Bilder analysiert werden. Es ist jedoch nicht ungewöhnlich, dass eine unzureichende Anzahl von Bildern für das Training vorhanden ist, beispielsweise wenige schlechte Bilder, um das System mit den verschiedenen Arten von Fehlern zu trainieren. Der Algorithmus, mit dem das System zum Detektieren von Fehlern operiert, funktioniert schlecht. Die Genauigkeit des Überprüfungssystems wird durch ein schlechtes Training des Systems beeinträchtigt. Es besteht nach wie vor Bedarf an einem robusten Teileüberprüfungssystem und -Verfahren.
  • In einer Ausführungsform wird ein Teileüberprüfungssystem bereitgestellt, das eine Visualisierungsvorrichtung umfasst, die zum Abbilden eines zu überprüfenden Teils konfiguriert ist und ein digitales Bild des Teils erzeugt. Das System umfasst ein Teilüberprüfungsmodul, das kommunikativ mit der Visualisierungsvorrichtung verbunden ist und das digitale Bild des Teils als Eingangsbild empfängt. Das Teilüberprüfungsmodul umfasst ein Modell zum Detektieren von Fehlern. Das Fehlerkennungsmodell umfasst ein Vorlagenbild. Das Fehlererkennungsmodell vergleicht das Eingangsbild mit dem Vorlagenbild, um Fehler zu identifizieren. Das Fehlererkennungsmodell erzeugt ein Ausgangsbild. Das Fehlerkennungsmodell ist zum Überlagern von Fehleridentifikatoren auf dem Ausgangsbild an den identifizierten Fehlerpositionen konfiguriert, falls vorhanden.
  • Die Erfindung wird nun beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen gilt:
    • 1 veranschaulicht ein Teileüberprüfungssystem gemäß einer beispielhaften Ausführungsform.
    • 2A zeigt ein Eingangsbild eines „guten“ Teils (Teil ohne Fehler) gemäß einer beispielhaften Ausführungsform.
    • 2B zeigt ein Vergleichsbild des „guten“ Teils gemäß einer beispielhaften Ausführungsform.
    • 2C zeigt ein Ausgangsbild des „guten“ Teils gemäß einer beispielhaften Ausführungsform.
    • 3A zeigt ein Eingangsbild eines „schlechten“ Teils (Teil mit Defekten) in Übereinstimmung mit einer beispielhaften Ausführungsform.
    • 3B zeigt ein Vergleichsbild des „schlechten“ Teils in Übereinstimmung mit einer beispielhaften Ausführungsform.
    • 3C zeigt ein Ausgangsbild des „schlechten“ Teils in Übereinstimmung mit einer beispielhaften Ausführungsform.
    • 4 ist ein Flussdiagramm eines Verfahrens zur Überprüfung von Teilen in Übereinstimmung mit einer beispielhaften Ausführungsform.
  • 1 zeigt ein Teileüberprüfungssystem 100 gemäß einer beispielhaften Ausführungsform. Das Teileüberprüfungssystem 100 wird verwendet, um Teile 102 auf Fehler zu überprüfen. In einer beispielhaften Ausführungsform ist das Teileüberprüfungssystem 100 ein Sichtüberprüfungssystem, das einen oder mehrere Prozessoren verwendet, um digitale Bilder des Teils 102 auf Fehler zu analysieren. In einer beispielhaften Ausführungsform verwendet das Teileüberprüfungssystem 100 eine generative neuronale Netzwerkarchitektur zum Detektieren von Fehlern. Das Teileüberprüfungssystem 100 kann verwendet werden, um die digitalen Bilder auf eine bestimmte Art von Defekt oder auf mehrere, unterschiedliche Arten von Defekten zu überprüfen. In verschiedenen Ausführungsformen kann das Teil 102 ein elektrischer Kontakt, ein elektrischer Verbinder, eine Leiterplatte oder eine andere Art von elektrischer Komponente sein. In alternativen Ausführungsformen kann das Teileüberprüfungssystem 100 auch zum Überprüfen anderer Arten von Teilen verwendet werden.
  • Das Teileüberprüfungssystem 100 umfasst eine Überprüfungsstation 110. Die Überprüfungsstation 110 kann einer Verarbeitungsstation (beispielsweise einer Stanzmaschine, einer Bohrmaschine, einer Schneidemaschine, einer Montagemaschine und dergleichen) nachgeschaltet sein, um das Teil 102 nach der Verarbeitung zu überprüfen. In anderen Ausführungsformen kann die Überprüfungsstation 110 an der Verarbeitungsstation angeordnet sein. Die Überprüfungsstation 110 umfasst eine Überprüfungszone 112.
  • In einer beispielhaften Ausführungsform umfasst die Überprüfungsstation 110 ein Lokalisierungsmerkmal 114 zur Lokalisierung des Teils 102 relativ zur Überprüfungszone 112. Bei dem Lokalisierungsmerkmal 114 kann es sich um einen Tisch oder eine andere Unterstützungsplattform handeln, die zum Halten und Unterstützen des Teils 102 in der Überprüfungsstation 110 verwendet wird. Das Lokalisierungsmerkmal 114 kann eine oder mehrere Wände oder andere Merkmale umfassen, die Bezugsoberflächen zur Lokalisierung des Teils 102 bilden. Das Lokalisierungsmerkmal 114 kann eine Klemme oder Klammer umfassen, die das Teil 102 hält. Während des Gebrauchs wird das Teil 102 in der Überprüfungszone 112 zur Überprüfung vorgelegt. Beispielsweise kann das Teil 102 gegen das Lokalisierungsmerkmal 114 stoßen, um das Teil 102 in der Überprüfungszone 112 zu überprüfen. Das Teil 102 kann durch das Lokalisierungsmerkmal 114 innerhalb der Überprüfungszone 112 bewegt werden.
  • In einer beispielhaften Ausführungsform kann die Überprüfungsstation 110 einen Manipulator 116 umfassen, um das Teil 102 relativ zur Überprüfungsstation 110 zu bewegen. Der Manipulator 116 kann zum Beispiel ein Förderband oder eine Vibrationswanne umfassen, um das Teil 102 durch die Überprüfungsstation 110 zu bewegen. In anderen Ausführungsformen kann der Manipulator 116 eine Vorschubvorrichtung umfassen, beispielsweise einen Vorschubfinger zum Vorschieben des Teils 102, das auf einem Träger, beispielsweise einem Trägerstreifen, gehalten wird. In anderen Ausführungsformen kann der Manipulator 116 einen mehrachsigen Roboter umfassen, der zum Bewegen des Teils 102 im dreidimensionalen Raum innerhalb der Überprüfungsstation 110 konfiguriert ist. In alternativen Ausführungsformen kann der Manipulator 116 ein automatisiertes Fahrerloses Transportfahrzeug („automated guided vehicle“, AGV) sein, das zum Bewegen des Teils 102 zwischen verschiedenen Stationen konfiguriert ist. In anderen alternativen Ausführungsformen kann das Teil 102 manuell manipuliert und in der Überprüfungszone 112 von Hand positioniert werden.
  • Das Teileüberprüfungssystem 100 umfasst eine Visualisierungsvorrichtung 120 zur Abbildung des Teils 102 in der Überprüfungszone 112. Die Visualisierungsvorrichtung 120 kann an einem Rahmen oder einer anderen Struktur der Überprüfungsstation 110 befestigt sein. Die Visualisierungsvorrichtung 120 umfasst eine Kamera 122, die zur Abbildung des Teils 102 verwendet wird. Die Kamera 122 kann innerhalb der Überprüfungszone 112 relativ zum Teil 102 beweglich sein (oder das Teil 102 kann relativ zur Kamera 122 beweglich sein), um den Arbeitsabstand zwischen der Kamera 122 und dem Teil 102 zu verändern, was die Klarheit des Bildes beeinflussen kann. In alternativen Ausführungsformen können auch andere Arten von Visualisierungsvorrichtungen 120 verwendet werden, beispielsweise eine Infrarotkamera oder eine andere Art von Kamera, die Bilder bei anderen Wellenlängen als dem sichtbaren Lichtspektrum aufnimmt.
  • In einer beispielhaften Ausführungsform umfasst das Teileüberprüfungssystem 100 eine Linse 124 an der Kamera 122 zur Steuerung der Bildgebung. Die Linse 124 kann zur Fokussierung des Sichtfelds verwendet werden. Die Linse 124 kann eingestellt werden, um eine Zoomstufe zu ändern, um das Sichtfeld zu verändern. Die Linse 124 wird betrieben, um die Klarheit des Bildes einzustellen, um beispielsweise eine hohe Bildqualität zu erreichen.
  • In einer beispielhaften Ausführungsform umfasst das Teileüberprüfungssystem 100 eine Beleuchtungsvorrichtung 126, um die Lichtverhältnisse im Sichtfeld der Visualisierungsvorrichtung 120 in der Überprüfungszone 112 zu steuern. Die Beleuchtungsvorrichtung 126 kann so eingestellt werden, dass sie die Eigenschaften der Beleuchtung, wie Helligkeit, Lichtintensität, Lichtfarbe und dergleichen, steuert. Die Beleuchtung beeinflusst die Qualität des von der Visualisierungsvorrichtung 120 erzeugten Bildes.
  • In einer beispielhaften Ausführungsform ist die Visualisierungsvorrichtung 120 operativ mit einer Steuerung 130 gekoppelt. Die Steuerung ist operativ mit der Visualisierungsvorrichtung 120 gekoppelt, um den Betrieb der Visualisierungsvorrichtung 120 zu steuern. Die Steuerung 130 ist operativ mit einem Teilüberprüfungsmodul 150 gekoppelt und empfängt eine oder mehrere Ausgaben von dem Teilüberprüfungsmodul 150. Die Steuerung 130 umfasst in verschiedenen Ausführungsformen einen Computer oder kann Teil eines Computers sein. In einer beispielhaften Ausführungsform umfasst die Steuerung 130 eine Benutzerschnittstelle 132, die eine Anzeige 134 und eine Benutzereingabe 136, wie eine Tastatur, eine Maus, ein Tastenfeld oder eine andere Art der Benutzereingabe, aufweist.
  • In einer beispielhaften Ausführungsform ist die Steuerung 130 operativ mit der Visualisierungsvorrichtung 120 verbunden und steuert den Betrieb der Visualisierungsvorrichtung 120. Zum Beispiel kann die Steuerung 130 die Visualisierungsvorrichtung 120 veranlassen, ein Bild aufzunehmen oder ein Bild erneut aufzunehmen. In verschiedenen Ausführungsformen kann die Steuerung 130 die Kamera 122 an einen anderen Ort bewegen, um beispielsweise das Teil 102 aus einem anderen Winkel abzubilden. In verschiedenen Ausführungsformen kann die Steuerung 130 operativ mit dem Manipulator 116 gekoppelt sein, um den Betrieb des Manipulators 116 zu steuern. Zum Beispiel kann die Steuerung 130 den Manipulator 116 veranlassen, das Teil 102 in die Überprüfungsstation 110 hinein oder aus ihr heraus zu bewegen. Die Steuerung 130 kann den Manipulator 116 veranlassen, das Teil 102 innerhalb der Überprüfungsstation 110 zu bewegen, beispielsweise um das Teil 102 relativ zur Kamera 122 zu bewegen. Die Steuerung 130 kann operativ mit der Linse 124 gekoppelt sein, um die Abbildungseigenschaften der Visualisierungsvorrichtung 120 zu verändern, wie beispielsweise das Sichtfeld, den Fokuspunkt, die Zoomstufe, die Auflösung des Bildes und ähnliches. Die Steuerung 130 kann operativ mit der Beleuchtungsvorrichtung 126 gekoppelt sein, um die Abbildungseigenschaften der Visualisierungsvorrichtung 120 zu ändern, wie etwa die Helligkeit, die Intensität, die Farbe oder andere Beleuchtungseigenschaften der Beleuchtungsvorrichtung 126.
  • Die Teilüberprüfungsstation 110 umfasst ein Teilüberprüfungsmodul 150, das operativ mit der Steuerung 130 gekoppelt ist. In verschiedenen Ausführungsformen kann das Teilüberprüfungsmodul 150 in die Steuerung 130 eingebettet sein oder das Teilüberprüfungsmodul 150 und die Steuerung 130 können in einen einzigen Computer integriert sein. Das Teilüberprüfungsmodul 150 empfängt das digitale Bild des Teils 102 von der Visualisierungsvorrichtung 120. Das Teilüberprüfungsmodul 150 überprüft das digitale Bild und erzeugt auf der Grundlage der Analyse Ausgaben. Die Ausgabe dient dazu, dem Benutzer anzuzeigen, ob das Teil Fehler aufweist oder nicht. In einer beispielhaften Ausführungsform umfasst das Teilüberprüfungsmodul 150 einen oder mehrere Speicher 152 zum Speichern ausführbarer Anweisungen und einen oder mehrere Prozessoren 154, die zum Ausführen der in dem Speicher 152 gespeicherten ausführbaren Anweisungen konfiguriert sind, um das Teil 102 zu überprüfen.
  • In einer beispielhaften Ausführungsform umfasst das Teilüberprüfungsmodul 150 ein Fehlererkennungsmodell 160 und ein Bildmorphing-Modell 170. Die Steuerung 130 gibt das digitale Bild zur Analyse an das Fehlererkennungsmodell 160 weiter. Das Fehlererkennungsmodell 160 verarbeitet das Eingangsbild, um festzustellen, ob das Teil Fehler aufweist. In einer beispielhaften Ausführungsform umfasst das Fehlererkennungsmodell 160 ein Vorlagenbild. Das Fehlererkennungsmodell 160 vergleicht das Eingangsbild mit dem Vorlagenbild, um Fehler zu identifizieren. Beispielsweise führt das Fehlererkennungsmodell 160 eine Bildsubtraktion zwischen dem Eingangsbild und dem Vorlagenbild durch, um Fehlerpositionen zu identifizieren. In einer beispielhaften Ausführungsform führt das Fehlererkennungsmodell 160 eine absolute Bilddifferenz zwischen dem Eingangsbild und dem Vorlagenbild durch, um die Fehlerpositionen zu identifizieren. Die Fehlerpositionen können gespeichert und/oder auf das Eingangsbild abgebildet werden. Die Fehlerpositionen können an eine andere Vorrichtung ausgegeben werden, um den Bediener zu warnen. In einer beispielhaften Ausführungsform umfasst das Fehlererkennungsmodell 160 einen Vorlagenabgleichalgorithmus zum Abgleich des Eingangsbildes mit dem Vorlagenbild, um die Fehlerpositionen zu identifizieren. Das Fehlererkennungsmodell 160 erzeugt ein Ausgangsbild und überlagert Fehleridentifikatoren auf dem Ausgangsbild an allen identifizierten Fehlerpositionen. Bei den Fehleridentifikatoren kann es sich beispielsweise um Begrenzungsrahmen („bounding boxes“) oder andere Arten von Identifizierungen handeln, wie beispielsweise hervorgehobene Bereiche. Wenn keine Fehler detektiert werden, umfasst das Ausgangsbild keine Fehleridentifikatoren.
  • Während der Verarbeitung des Bildes filtert das Bildmorphing-Modell 170 die Daten zur Fehlererkennung. Das Bildmorphing-Modell 170 kann die Daten filtern, um Rauschen für das Ausgangsbild zu entfernen. In einer beispielhaften Ausführungsform umfasst das Bildmorphing-Modell 170 einen Tiefpass-Gaußfilter 172. Das Bildmorphing-Modell 170 lässt die absolute Differenz der Bilder durch den Tiefpass-Gaußfilter 172 laufen, um die Daten zu filtern. In alternativen Ausführungsformen kann das Bildmorphing-Modell 170 auch andere Arten von Filtern umfassen. Optional umfasst das Bildmorphing-Modell 170 einen binären Schwellwertfilter 174 zur Filterung der Daten. Der binäre Schwellwertfilter kann alle nicht-schwarzen Pixel auf weiße Werte setzen, so dass die Werte entweder schwarz oder weiß sind (binäre Ergebnisse). Der binäre Schwellwertfilter 174 identifiziert die Fehlerpositionen einfach durch Identifizierung der weißen Pixel gegenüber den schwarzen Pixeln.
  • In einer beispielhaften Ausführungsform umfasst das Teilüberprüfungsmodul 150 eine generative neuronale Netzwerkarchitektur 180, die zur Erzeugung des Vorlagenbildes aus Trainingsbildern verwendet wird. Die generative neuronale Netzwerkarchitektur 180 benötigt nur eine Klasse von Bildern für das Training, im Vergleich zu diskriminierenden neuronalen Netzwerkarchitekturen, die mehrere Klassen von Bildern für das Training benötigen. Die von der generativen neuronalen Netzwerkarchitektur 180 verwendeten Trainingsbilder sind nur Bilder, die keine Defekte umfassen (sogenannte „gute“ Bilder). Die generative neuronale Netzwerkarchitektur 180 benötigt keine Bilder von Teilen, die Defekte aufweisen (so genannte „schlechte“ oder „nicht gute“ Bilder). Die guten Bilder sind für das Training leicht zu beschaffen. Das Teil kann viele verschiedene Arten von Fehlern oder Fehler in vielen verschiedenen Bereichen aufweisen, aber die generative neuronale Netzwerkarchitektur 180 muss das System nicht für jede Art von Fehler oder Fehlerposition trainieren. Vielmehr verwendet die generative neuronale Netzwerkarchitektur 180 nur die guten Bilder zum Trainieren des Systems. Das Training kann schneller und einfacher durchgeführt werden, da der Bediener weniger Zeit für das Training benötigt. Die Verarbeitungszeit des Systems kann im Vergleich zu Systemen, die diskriminierende neuronale Netzwerke verwenden, reduziert werden. Das von der generativen neuronalen Netzwerkarchitektur 180 erstellte Vorlagenbild für das Teilüberprüfungsmodul 150 ist ein gutes, fehlerfreies Bild. Das Fehlererkennungsmodell 160 vergleicht dieses gute Bild mit dem tatsächlichen Eingangsbild, um festzustellen, ob das Eingangsbild Fehler enthält.
  • In einer beispielhaften Ausführungsform speichert der eine oder mehrere der Speicher 152 des Teilüberprüfungsmoduls 150 die generative neuronale Netzwerkarchitektur 180. Die generative neuronale Netzwerkarchitektur 180 kann ein neuronales VGG-Netzwerk sein, das eine Vielzahl von Faltungsschichten, eine Vielzahl von Pooling-Schichten, die nach verschiedenen Faltungsschichten angeordnet sind, und eine Ausgangsschicht aufweist. Der eine oder die mehreren Prozessoren 154, die dem Teilüberprüfungsmodul 150 zugeordnet sind, sind zum Analysieren des digitalen Bildes durch die Schichten der generativen neuronalen Netzwerkarchitektur 180 konfiguriert. In einer beispielhaften Ausführungsform ist die generative neuronale Netzwerkarchitektur 180 als ausführbare Anweisungen in dem Speicher 152 gespeichert. Der Prozessor 154 verwendet die generative neuronale Netzwerkarchitektur 180, indem er die gespeicherten Anweisungen ausführt. In einer beispielhaften Ausführungsform ist die generative neuronale Netzwerkarchitektur 180 ein maschinelles Lernmodul der künstlichen Intelligenz (KI).
  • 2A illustriert ein Eingangsbild eines „guten“ Teils (Teil ohne Defekte); 2B illustriert ein Vergleichsbild des „guten“ Teils; 2C illustriert ein Ausgangsbild des „guten“ Teils. 3A zeigt ein Eingangsbild eines „schlechten“ Teils (Teil mit Fehlern); 3B zeigt ein Vergleichsbild des „schlechten“ Teils; 3C zeigt ein Ausgangsbild des „schlechten“ Teils. Die 2 und 3 werden zur Veranschaulichung des Vergleichs des guten und des schlechten Bildes bereitgestellt. In der dargestellten Ausführungsform handelt es sich bei dem abzubildenden Teil um eine Leiterplatte. Die Vergleichsbilder heben die Unterschiede zwischen dem Bild und einem bekannten Bild hervor. Wenn keine Fehler vorhanden sind, werden keine hervorgehobenen Bereiche im Bild angezeigt. 2B zeigt zum Beispiel keine hervorgehobenen Bereiche, da es sich um ein „gutes“ Bild handelt, während 3B hervorgehobene Bereiche zeigt, da es sich um ein „schlechtes“ Bild handelt.
  • Das Teilüberprüfungsmodul 150 (in 1 dargestellt) analysiert die Bilder zur Fehlererkennung. Die Eingangsbilder (2A und 3A) werden von der Visualisierungsvorrichtung 120 erzeugt und in das Teilüberprüfungsmodul 150 eingegeben. Während der Verarbeitung vergleicht das Fehlererkennungsmodell 160 (in 1 dargestellt) des Teilüberprüfungsmoduls 150 das Eingangsbild mit dem Vorlagenbild (beispielsweise einem vom Trainingsmodul erzeugten „guten“ Bild). Das Fehlererkennungsmodell 160 führt beispielsweise eine Bildsubtraktion zwischen dem Eingangsbild und dem Vorlagenbild durch, um Fehlerpositionen 162 zu identifizieren (3B). In einer beispielhaften Ausführungsform führt das Fehlerkennungsmodell 160 eine absolute Bilddifferenz zwischen dem Eingangsbild und dem Vorlagenbild durch, um die Fehlerpositionen zu identifizieren. In den 2B und 3B sind die Vergleichsbilder dargestellt. Beim Vergleich des guten Eingangsbildes (2A) mit dem (guten) Vorlagenbild gibt es keine Unterschiede, so dass die Bildsubtraktion keine Unterschiede ergibt (keine hervorgehobenen Bereiche - vgl. 3B). Vergleicht man jedoch das schlechte Eingangsbild (3A) mit dem (guten) Vorlagenbild, so werden bei der Bildsubtraktion die Fehlerpositionen 162 identifiziert (beachten Sie, dass es auf 2B des „guten“ Bildes keine Fehlerpositionen 162 gibt). Das Fehlererkennungsmodell 160 erzeugt dann die Ausgangsbilder (2C und 3C) und überlagert die Fehleridentifikatoren 164 (3C) auf dem Ausgangsbild an den identifizierten Fehlerpositionen. In der dargestellten Ausführungsform handelt es sich bei den Fehleridentifikatoren um Begrenzungsrahmen, die die identifizierten Fehlerpositionen umgeben und dem Bediener die Bereiche, die die Fehler aufweisen, auf dem angezeigten Bild hervorheben. Werden keine Fehler detektiert, so umfasst das Ausgangsbild (2C) keine Fehleridentifikatoren. Handelt es sich beispielsweise bei dem Eingangsbild um ein gutes Bild, dann wäre der absolute Unterschied zwischen dem Eingangsbild und dem Ausgangsbild kein Unterschied oder Nullen, die schwarzen Pixelwerten entsprechen, im gesamten Bild, da das neuronale Netz auf ein gutes Bild trainiert wurde. Handelt es sich bei dem Eingangsbild jedoch um ein schlechtes Bild, dann wäre die absolute Differenz zwischen dem Eingangsbild und dem Vorlagenbild überall Nullen, außer an den Stellen, an denen sich die Fehler befinden. Das System detektiert und markiert die Positionen der Fehler auf dem Bild mit ausreichender Genauigkeit, um den Bediener zu benachrichtigen.
  • 4 ist ein Flussdiagramm eines Verfahrens zur Überprüfung von Teilen in Übereinstimmung mit einer beispielhaften Ausführungsform. Das Verfahren umfasst das Bereitstellen eines Vorlagenbildes (400) und eines Eingangsbildes (402). In einer beispielhaften Ausführungsform wird das Vorlagenbild von einer generativen neuronalen Netzwerkarchitektur bereitgestellt, die auf einer ausreichenden Anzahl von „guten“ Bildern basiert, um das Teileüberprüfungssystem auf ein ideales gutes Bild zu trainieren. Das Eingangsbild ist ein Bild des zu überprüfenden Teils. Das Eingangsbild wird von der Abbildungsvorrichtung des Teileüberprüfungssystems erzeugt.
  • Das Verfahren umfasst die Durchführung von 410 einer absoluten Bilddifferenz zwischen dem Eingangsbild und dem Vorlagenbild. Die absolute Bilddifferenz identifiziert die Fehlerpositionen durch Vergleich der Unterschiede zwischen den Bildern. Die absolute Bilddifferenz kann durch eine Bildsubtraktion der Pixelwerte durchgeführt werden, um jede nennenswerte Differenz in den Pixelwerten zu identifizieren, die einer Änderung zwischen dem, was im Eingangsbild tatsächlich identifiziert wird, und dem, was im idealen Gutbild erwartet wird, entspricht, was einem potenziellen Fehler entspricht. Ist der Pixelwertunterschied groß genug oder ist die Fläche der Pixelunterschiede groß genug, dann entspricht der Unterschied einem Fehler. Der Prozess der absoluten Differenz kann durch Anwendung eines Vorlagenabgleichalgorithmus zur Segmentierung des Bildes durchgeführt werden. Zum Beispiel kann das Bild in ein Bild mit 256 x 256 Pixeln segmentiert werden. Das Bild kann in ein 256X256X3-Array extrahiert werden.
  • In einer beispielhaften Ausführungsform umfasst das Verfahren die Erzeugung 420 von Defektzonen in einem Vergleichsbild. Die Defektzonen sind die Bereiche, in denen sich das Eingangsbild vom Vorlagenbild unterscheidet. Die Defektzonen sind die Bereiche, in denen der Pixelwertunterschied zwischen dem Eingangsbild und dem Vorlagenbild groß genug ist (beispielsweise über einem Schwellenwert), was einem Defekt entspricht. In einer beispielhaften Ausführungsform umfasst das Verfahren das Durchlaufen 422 der Daten (beispielsweise der Pixelwerte) durch einen Tiefpass-Gaußfilter, um die Daten zu filtern. In einer beispielhaften Ausführungsform umfasst das Verfahren das Durchlaufen 424 der Daten (beispielsweise der Pixelwerte) durch einen binären Schwellwertfilter. Der binäre Schwellwertfilter kann alle Pixelwerte oberhalb des Schwellwerts zu einem Ergebnis (beispielsweise schwarzer Pixelwert) und alle Pixelwerte unterhalb des Schwellwerts zu einem anderen Ergebnis (beispielsweise weißer Pixelwert) führen, um die Fehlerpositionen zu identifizieren. In anderen Ausführungsformen kann der binäre Schwellwertfilter alle nicht-schwarzen Pixel zu weißen Werten machen. Mit anderen Worten, jeder Unterschied wird mit weißen Pixeln hervorgehoben und alle Nicht-Unterschiede werden mit schwarzen Pixeln eingebettet.
  • In einer beispielhaften Ausführungsform umfasst das Verfahren die Anwendung 430 eines Rauschfilters auf die Daten. In einer beispielhaften Ausführungsform umfasst das Verfahren das Durchlaufen 432 der Daten durch einen Tiefpass-Gaußfilter, um die Daten zu filtern. In einer beispielhaften Ausführungsform umfasst das Verfahren das Durchlaufen 434 der Daten durch einen binären Schwellwertfilter. Die Filter entfernen das Rauschen aus den Daten.
  • Das Verfahren umfasst die Erzeugung 440 eines Ausgangsbildes. Das Ausgangsbild wird verwendet, um dem Benutzer anzuzeigen, ob das Teil Fehler aufweist oder nicht. In einer beispielhaften Ausführungsform umfasst das Ausgangsbild überlagerte Fehleridentifikatoren an allen identifizierten Fehlerpositionen. Bei den Fehleridentifikatoren kann es sich um Begrenzungsrahmen handeln, die im Allgemeinen den Bereich mit der Identifizierung des Fehlers umgeben. Werden keine Fehler detektiert, so umfasst das Ausgangsbild keine Fehleridentifikatoren.
  • Während des Betriebs des Teilüberprüfungsmoduls 150 führt das Teilüberprüfungsmodul 150 Programme aus, um das Bild zu analysieren. Zum Beispiel überprüft das Teilüberprüfungsmodul 150 Programme, die im Speicher 152 gespeichert sind, auf dem Prozessor 154. Der Prozessor 154 kann von einem Computersystem auszuführende Anweisungen umfassen, wie beispielsweise Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können die Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. umfassen, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Die Datenverarbeitung kann in verteilten Cloud-Computing-Umgebungen durchgeführt werden, in denen Aufgaben von entfernten Verarbeitungsgeräten ausgeführt werden, die über ein Kommunikationsnetzwerk miteinander verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich die Programmmodule sowohl in lokalen als auch in entfernten Speichermedien des Computersystems befinden, die Speichervorrichtungen umfassen.
  • In einer beispielhaften Ausführungsform können verschiedene Komponenten über einen Bus kommunikativ gekoppelt sein, wie etwa der Speicher 152 und die Prozessoren 154. Der Bus stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, einschließlich eines Speicherbusses oder einer Speichersteuerung, eines Peripheriebusses, eines beschleunigten Grafikanschlusses und eines Prozessors oder lokalen Busses, der eine beliebige von mehreren Busarchitekturen verwendet.
  • Das Teilüberprüfungsmodul 150 kann eine Vielzahl von durch ein Computersystem lesbaren Medien umfassen. Solche Medien können alle verfügbaren Medien sein, auf die das Teilüberprüfungsmodul 150 zugreifen kann, und sie umfassen sowohl flüchtige als auch nichtflüchtige, entfernbare und nicht entfernbare Medien. Der Speicher 152 kann vom Computer lesbare Medien in Form eines flüchtigen Speichers umfassen, wie beispielsweise RAM (Random Access Memory) und/oder Cache-Speicher. Das Teilüberprüfungsmodul 150 kann auch andere entfernbare/nicht entfernbare, flüchtige/nichtflüchtige Speichermedien des Computersystems umfassen. So kann beispielsweise ein Speichersystem zum Lesen und Beschreiben eines nicht entfernbaren, nicht flüchtigen magnetischen Datenträgers (nicht dargestellt und üblicherweise als „Festplatte“ bezeichnet) bereitgestellt werden. Obwohl nicht gezeigt, können auch ein Magnetplattenlaufwerk zum Lesen und Beschreiben einer entfernbaren, nicht flüchtigen Magnetplatte (beispielsweise einer „Floppy-Disk“) und ein optisches Plattenlaufwerk zum Lesen und Beschreiben einer entfernbaren, nicht flüchtigen optischen Platte wie einer CD-ROM, DVD-ROM oder eines anderen optischen Mediums bereitgestellt werden. In solchen Fällen können beide über eine oder mehrere Datenträgerschnittstellen mit dem Bus verbunden werden. Der Speicher 152 kann mindestens ein Programmprodukt umfassen, das einen Satz (beispielsweise mindestens eines) von Programmmodulen aufweist, die zum Ausführen der Funktionen von Ausführungsformen der Erfindung konfiguriert sind.
  • Im Speicher 152 können ein oder mehrere Programme sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten gespeichert sein. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination davon kann eine Implementierung einer Netzwerkumgebung umfassen. Die Programmmodule führen im Allgemeinen die Funktionen und/oder Methoden der hier beschriebenen Ausführungsformen des Gegenstandes aus.
  • Das Teilüberprüfungsmodul 150 kann auch mit einem oder mehreren externen Vorrichtungen kommunizieren, beispielsweise über die Steuerung 130. Die externen Vorrichtungen können eine Tastatur, ein Zeigegerät, eine Anzeige und dergleichen umfassen; eine oder mehrere Vorrichtungen, die es einem Benutzer ermöglichen, mit dem System zu interagieren; und/oder alle Vorrichtungen (beispielsweise Netzwerkkarte, Modem usw.), die es dem System ermöglichen, mit einem oder mehreren anderen Computern zu kommunizieren. Eine solche Kommunikation kann über Eingabe/Ausgabe-Schnittstellen (E/A) erfolgen. Das Teilüberprüfungsmodul 150 kann jedoch auch über Netzwerkadapter mit einem oder mehreren Netzwerken wie einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (beispielsweise dem Internet) kommunizieren. Andere Hardware- und/oder Software-Komponenten können in Verbindung mit den hier gezeigten Systemkomponenten verwendet werden. Beispiele umfassen, sind aber nicht beschränkt auf: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten und externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Datenarchivierungssysteme usw.
  • Der Begriff „Prozessor“, wie er hier verwendet wird, soll jedes Verarbeitungsgerät umfassen, wie beispielsweise eines, das eine CPU (Zentraleinheit) und/oder andere Formen von Verarbeitungsschaltungen umfasst. Außerdem kann sich der Begriff „Prozessor“ auf mehr als einen einzelnen Prozessor beziehen. Der Begriff „Speicher“ soll den mit einem Prozessor oder einer CPU verbundenen Speicher umfassen, wie beispielsweise RAM (Speicher mit wahlfreiem Zugriff), ROM (Nur-Lese-Speicher), eine feste Speichervorrichtung (beispielsweise Festplatte), eine entfernbare Speichervorrichtung (beispielsweise Diskette), einen Flash-Speicher und dergleichen. Darüber hinaus soll der Begriff „Eingabe-/Ausgabeschnittstelle“, wie er hier verwendet wird, eine Schnittstelle zu beispielsweise einem oder mehreren Mechanismen zur Eingabe von Daten in die Verarbeitungseinheit (beispielsweise Maus) und einem oder mehreren Mechanismen zum Bereitstellen von Ergebnissen in Verbindung mit der Verarbeitungseinheit (beispielsweise Drucker) bezeichnen. Der Prozessor 154, der Speicher 152 und die Eingabe-/Ausgabeschnittstelle können beispielsweise über den Bus als Teil einer Datenverarbeitungseinheit miteinander verbunden werden. Geeignete Verbindungen, beispielsweise über den Bus, können auch zu einer Netzwerkschnittstelle, wie beispielsweise einer Netzwerkkarte, die als Schnittstelle zu einem Computernetzwerk bereitgestellt werden kann, und zu einer Medienschnittstelle, wie beispielsweise einem Disketten- oder CD-ROM-Laufwerk, die als Schnittstelle zu geeigneten Medien bereitgestellt werden kann, bereitgestellt werden.
  • Dementsprechend kann Computer-Software, die Anweisungen oder Code zur Durchführung der Methoden des vorliegenden Gegenstands umfasst, in einer oder mehreren der zugehörigen Speichervorrichtungen (beispielsweise ROM, fester oder entfernbarer Speicher) gespeichert werden und, wenn sie zur Verwendung bereit ist, teilweise oder ganz (beispielsweise in RAM) geladen und von einer CPU implementiert werden. Solche Software könnte Firmware, residente Software, Mikrocode und dergleichen umfassen, ist aber nicht darauf beschränkt.
  • Es sollte beachtet werden, dass jedes der hier beschriebenen Verfahren einen zusätzlichen Schritt des Bereitstellens eines Systems umfassen kann, das verschiedene Softwaremodule umfasst, die auf einem computerlesbaren Speichermedium verkörpert sind; die Module können beispielsweise jedes oder alle der entsprechenden Elemente umfassen, die in den Blockdiagrammen dargestellt und/oder hier beschrieben sind; als Beispiel und ohne Einschränkung jedes, einige oder alle der beschriebenen Module/Blöcke und oder Untermodule/Unterblöcke. Die Verfahrensschritte können dann unter Verwendung der verschiedenen Softwaremodule und/oder Untermodule des Systems, wie oben beschrieben, ausgeführt werden, die auf einem oder mehreren Hardware-Prozessoren laufen. Ferner kann ein Computerprogrammprodukt ein computerlesbares Speichermedium mit einem Code umfassen, der so ausgelegt ist, dass er implementiert wird, um einen oder mehrere hierin beschriebene Verfahrensschritte auszuführen, einschließlich der Bereitstellung des Systems mit den verschiedenen Softwaremodulen.

Claims (10)

  1. Teileüberprüfungssystem (100), umfassend: eine Visualisierungsvorrichtung (120), die zum Abbilden eines zu überprüfenden Teils (102) konfiguriert ist und ein digitales Bild des Teils erzeugt; ein Teilüberprüfungsmodul (150), das kommunikativ mit der Visualisierungsvorrichtung gekoppelt ist und das digitale Bild des Teils als ein Eingangsbild (402) empfängt, wobei das Teilüberprüfungsmodul ein Fehlererkennungsmodell (160) umfasst, wobei das Fehlererkennungsmodell das Eingangsbild mit dem Vorlagenbild vergleicht, um Fehler zu identifizieren, wobei das Fehlererkennungsmodell ein Ausgangsbild erzeugt, wobei das Fehlererkennungsmodell konfiguriert ist, um Fehleridentifikatoren (164) auf dem Ausgangsbild an den identifizierten Fehlerpositionen (162) zu überlagern, falls vorhanden.
  2. Teileüberprüfungssystem (100) nach Anspruch 1, wobei das Fehlerkennungsmodell (160) eine Bildsubtraktion durchführt, um die Fehlerpositionen (162) zu identifizieren.
  3. Teileüberprüfungssystem (100) nach Anspruch 1, wobei das Fehlererkennungsmodell (160) eine absolute Bilddifferenz zwischen dem Eingangsbild (402) und dem Vorlagenbild durchführt, um die Fehlerpositionen (162) zu identifizieren.
  4. Teileüberprüfungssystem (100) nach Anspruch 1, wobei das Fehlererkennungsmodell 160 einen Vorlagenabgleichalgorithmus zum Abgleichen des Eingangsbildes (402) mit dem Vorlagenbild umfasst, um die Fehlerpositionen (162) zu identifizieren.
  5. Teilüberprüfungssystem (100) nach Anspruch 1, wobei das Teilüberprüfungsmodul (150) eine generative neuronale Netzwerkarchitektur (180) umfasst, die das Vorlagenbild aus Trainingsbildern erzeugt.
  6. Teileüberprüfungssystem (100) nach Anspruch 5, wobei die Trainingsbilder der generativen neuronalen Netzwerkarchitektur (180) nur Bilder sind, die keine Fehler umfassen.
  7. Teileüberprüfungssystem (100) nach Anspruch 1, wobei die Fehleridentifikatoren Begrenzungsrahmen an den identifizierten Fehlerpositionen (162) sind, falls vorhanden.
  8. Teileüberprüfungssystem (100) nach Anspruch 1, wobei das Ausgangsbild keine Fehleridentifikatoren umfasst, wenn der Vergleich des Eingangsbildes (402) und des Vorlagenbildes keine Fehlerpositionen (162) identifiziert.
  9. Teilüberprüfungssystem (100) nach Anspruch 1, wobei das Teilüberprüfungsmodul (150) ein Bildmorphing-Modell (170) mit einem Tiefpass-Gaußfilter (172) aufweist, wobei das Fehlererkennungsmodell (160) das Eingangsbild (402) und das Vorlagenbild vergleicht, um eine absolute Differenz der Bilder zu erzeugen, wobei das Bildmorphing-Modell den Tiefpass-Gaußfilter auf die absolute Differenz der Bilder anwendet.
  10. Teileüberprüfungssystem (100) nach Anspruch 9, wobei das Bildmorphing-Modell (170) einen binären Schwellwertfilter (174) umfasst, der alle nicht-schwarzen Pixel auf weiße Werte setzt, um die Fehlerpositionen (162) zu identifizieren.
DE102022120150.3A 2021-08-10 2022-08-10 Teileüberprüfungssystem mit generativem Trainingsmodell Pending DE102022120150A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202110915084.1A CN115937059A (zh) 2021-08-10 2021-08-10 具有生成式训练模型的零件检查系统
CN202110915084.1 2021-08-10
US17/558,559 2021-12-21
US17/558,559 US20230053085A1 (en) 2021-08-10 2021-12-21 Part inspection system having generative training model

Publications (1)

Publication Number Publication Date
DE102022120150A1 true DE102022120150A1 (de) 2023-02-16

Family

ID=85040034

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022120150.3A Pending DE102022120150A1 (de) 2021-08-10 2022-08-10 Teileüberprüfungssystem mit generativem Trainingsmodell

Country Status (1)

Country Link
DE (1) DE102022120150A1 (de)

Similar Documents

Publication Publication Date Title
DE112016007498B4 (de) Untersuchungseinrichtung und untersuchungsverfahren
DE60100594T2 (de) Verfahren und system zur aufspürung von fehlern auf einer gedruckten leiterplatte
DE112013000627T5 (de) Segmentierung zur Waferinspektion
DE112020000279T5 (de) Erlernen eines erkennungsmodells unter verwenden einer verlustfunktion
DE102020216406A1 (de) Inspektionssystem und verfahren für fahrzeugunterboden
DE112018007171T5 (de) Abnormalitätsinspektionsvorrichtung und abnormalitätsinspektionsverfahren
DE102015116047A1 (de) Prüfvorrichtung und Steuerverfahren für eine Prüfvorrichtung
DE10011200A1 (de) Verfahren zur Bewertung von Strukturfehlern auf einer Waferoberfläche
EP3291172B1 (de) Verfahren zur ermittlung von ergebnisbilddaten
DE102020126554A1 (de) Mikroskopiesystem und verfahren zum überprüfen von eingabedaten
EP3767403B1 (de) Machine-learning gestützte form- und oberflächenmessung zur produktionsüberwachung
DE3336470A1 (de) Verfahren und anordnung zum vergleich von bildern
DE102021100444A1 (de) Mikroskopiesystem und verfahren zum bewerten von bildverarbeitungsergebnissen
DE102021115002A1 (de) Werkstückinspektions- und fehlererkennungssystem einschliesslich überwachung der werkstückbilder
US20230053085A1 (en) Part inspection system having generative training model
DE102021127403A1 (de) Qualitätsüberwachungssystem für stanzstreckenfehler und verfahren zum überwachen von stanzstreckenfehlern
DE102016220872A1 (de) Analyseverfahren für Objektmarkierungen in Bildern auf Basis von Modellen
DE102019117680A1 (de) Automatisiertes segmentierungsverfahren für die qualitätsprüfung
DE102022120150A1 (de) Teileüberprüfungssystem mit generativem Trainingsmodell
DE102018214307A1 (de) System und Verfahren zur Qualitätsprüfung bei der Herstellung von Einzelteilen
DE102018100953A1 (de) System für eine automatische optische Prüfung und Verfahren zum Betreiben desselben
EP3482348A1 (de) Verfahren und einrichtung zur kategorisierung einer bruchfläche eines bauteils
EP3316216B1 (de) Verfahren zum prüfen eines gegenstands
DE112019004583T5 (de) Rationalisierung eines automatischen visuellen prüfprozesses
DE102018207411A1 (de) Verfahren zur Ermittlung von Messinformationen in einem optischen Koordinatenmessgerät