DE112021003356T5 - Inspektionsvorrichtung, Einheitsauswahlvorrichtung, Inspektionsverfahren und Inspektionsprogramm - Google Patents

Inspektionsvorrichtung, Einheitsauswahlvorrichtung, Inspektionsverfahren und Inspektionsprogramm Download PDF

Info

Publication number
DE112021003356T5
DE112021003356T5 DE112021003356.5T DE112021003356T DE112021003356T5 DE 112021003356 T5 DE112021003356 T5 DE 112021003356T5 DE 112021003356 T DE112021003356 T DE 112021003356T DE 112021003356 T5 DE112021003356 T5 DE 112021003356T5
Authority
DE
Germany
Prior art keywords
image
target
estimation model
area
defect
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
DE112021003356.5T
Other languages
English (en)
Inventor
Masashi KURITA
Sakon Yamamoto
Yuki Hasegawa
Yuki HANZAWA
Shigenori NAGAE
Yutaka Kato
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE112021003356T5 publication Critical patent/DE112021003356T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/72Data preparation, e.g. statistical preprocessing of image or video features
    • 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8883Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges involving the calculation of gauges, generating models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Debugging And Monitoring (AREA)
  • Image Processing (AREA)

Abstract

Eine Inspektionsvorrichtung extrahiert unter Verwendung eines ersten Einschätzungsmodells einen Aufmerksamkeitsbereich aus einem Target-Bild, führt unter Verwendung des extrahierten Aufmerksamkeitsbereichs einen Rechenprozess mit einem zweiten Einschätzungsmodell durch und bestimmt basierend auf einem Rechenergebnis mit dem zweiten Einschätzungsmodell, ob ein Target-Produkt einen Defekt aufweist. Das erste Einschätzungsmodell ist basierend auf mehreren ersten Trainingsbildern von defektfreien Produkten in einer Target-Umgebung generiert. Das zweite Einschätzungsmodell ist basierend auf mehreren zweiten Trainingsbildern von Defekten generiert. Der Rechenprozess mit dem zweiten Einschätzungsmodell umfasst ein Generieren mehrerer Merkmalskarten mit unterschiedlichen Dimensionen durch Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen. In dem Rechenprozess mit dem zweiten Einschätzungsmodell wird der extrahierte Aufmerksamkeitsbereich in mindestens eine der mehreren Merkmalskarten integriert.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Inspektionsvorrichtung, eine Einheitsauswahlvorrichtung, ein Inspektionsverfahren und ein Inspektionsprogramm.
  • TECHNISCHER HINTERGRUND
  • Eine bekannte Technik zum Inspizieren von Produkten auf beispielsweise einer Produktionslinie umfasst Beobachten der Produkte, die mit einem Bildsensor hergestellt werden, und Bestimmen, ob die Produkte defekt sind, basierend auf aufgenommenen Bildern. Beispielsweise beschreibt Patentliteratur 1 eine Inspektionsvorrichtung, die ein erstes neuronales Netzwerk verwendet, das dafür trainiert ist, zu bestimmen, ob ein Inspektions-Target in einem Bild normal oder abnormal ist, und ein zweites neuronales Netzwerk verwendet, das dafür trainiert ist, als Reaktion auf Bestimmen, dass das Inspektionsziel abnormal ist, die Art der Abnormalität zu klassifizieren.
  • VORBEKANNTE TECHNISCHE DOKUMENTE
  • PATENTDOKUMENTE
  • Patentdokument Nr. 1: JP 2012 - 026 982 A
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • VON DER ERFINDUNG ZU LÖSENDE AUFGABEN
  • Modelle auf Grundlage maschinellen Lernens, wie etwa neuronale Netzwerke, können verwendet werden, um Einschätzungsmodelle zu generieren, die unter Verwendung von Trainingsdaten dazu trainiert sind, beabsichtigte Einschätzungsaufgaben mittels maschinellen Lernens durchzuführen. Somit können Bilder von Produkten, die als entweder defekt oder nicht defekt bestimmt wurden, als Trainingsdaten beim maschinellen Lernen verwendet werden, um ein Einschätzungsmodell zur visuellen Inspektion von Produkten zu generieren (siehe z.B. Patentliteratur 1). Ein solches Einschätzungsmodell kann auch mit einem anderen Verfahren als maschinellem Lernen generiert werden, zum Beispiel manuell. Die Erfinder haben jedoch festgestellt, dass ein Inspektionsverfahren, das ein solches Einschätzungsmodell verwendet, welches basierend auf Trainingsdaten generiert wurde, das nachstehend beschriebene Problem aufwirft.
  • Ein Faktor, der die Leistung eines Einschätzungsmodells beeinflusst (im Speziellen die Genauigkeit der visuellen Inspektion), kann die Qualität der Trainingsdaten sein, die zum Generieren des Einschätzungsmodells verwendet werden. Eine breitere Vielfalt von gesammelten Trainingsdatensätzen (im Speziellen eine breitere Vielfalt von Defekten, die in den Trainingsdaten enthalten sind) ermöglicht die Generierung eines Einschätzungsmodells mit verbesserten Eigenschaften. Jedoch erhöhen mehr Arten von Defekten und mehr Arten von Hintergrundbildern, die das Erscheinungsbild des Produkts enthalten, Kombinationen von Defektarten und Hintergrundarten, für die mehr Proben oder mehr Arten von Proben als Trainingsdaten gesammelt werden müssen. Das Sammeln solcher Trainingsdaten im Voraus für alle möglichen Situationen in der Target-Inspektionsumgebung ist kostspielig und unpraktisch.
  • In Reaktion auf das vorstehende Problem ist ein Aspekt der vorliegenden Erfindung auf eine technische Lehre zum Verbessern der Genauigkeit der visuellen Inspektion unter Verwendung von Einschätzungsmodellen gerichtet, wobei die Kosten des Sammelns von Trainingsdaten reduziert werden.
  • MITTEL ZUM LÖSEN DER AUFGABE
  • Die technische Lehre gemäß einem oder mehreren Aspekten der vorliegenden Erfindung weist die nachstehend beschriebene Struktur auf.
  • Eine Inspektionsvorrichtung gemäß einem ersten Aspekt der vorliegenden Erfindung weist auf einen Datenbezieher, der ein Target-Bild eines zu inspizierenden Target-Produkts bezieht, einen Bereichsextraktor, der unter Verwendung eines durch Training generierten ersten Einschätzungsmodells einen Aufmerksamkeitsbereich aus dem bezogenen Target-Bild extrahiert und basierend auf ersten Trainingsdaten, die mehrere aus einer Target-Inspektionsumgebung bezogene erste Trainingsbilder von defektfreien Produkten umfassen, als den Aufmerksamkeitsbereich einen Bildbereich extrahiert, der mit einer Wahrscheinlichkeit einen Defekt enthält, eine Modellberechnungseinheit, die unter Verwendung des durch das erste Einschätzungsmodell aus dem Target-Bild extrahierten Aufmerksamkeitsbereichs einen Rechenprozess mit einem zweiten Einschätzungsmodell durchführt, einen Bestimmer, der basierend auf einem Rechenergebnis mit dem zweiten Einschätzungsmodell bestimmt, ob das Target-Produkt einen Defekt aufweist, und eine Ausgabeeinheit, die Informationen ausgibt, die ein Ergebnis des Bestimmens angeben, ob das Target-Produkt einen Defekt aufweist. Das zweite Einschätzungsmodell ist durch Training generiert und dazu trainiert, basierend auf zweiten Trainingsdaten, die mehrere zweite Trainingsbilder von Defekten umfassen, eine Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. Der Rechenprozess mit dem zweiten Einschätzungsmodell umfasst mehrere Projektionsprozesse, die mit dem Target-Bild durchgeführt werden. Die mehreren Projektionsprozesse umfassen ein Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen, um mehrere Merkmalskarten mit unterschiedlichen Dimensionen zu generieren. In dem Rechenprozess mit dem zweiten Einschätzungsmodell wird der extrahierte Aufmerksamkeitsbereich in mindestens eine der mehreren Merkmalskarten integriert.
  • Diese Struktur verwendet bei einer visuellen Inspektion das erste Einschätzungsmodell, das basierend auf den ersten Trainingsdaten, die die mehreren in der Target-Inspektionsumgebung bezogenen ersten Trainingsbilder von defektfreien Produkten umfassen, generiert wird, zusätzlich zu dem zweiten Einschätzungsmodell, das dazu trainiert ist, die Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. Es wird erwartet, dass das erste Einschätzungsmodell, das speziell für die Target-Umgebung entworfen ist, die Genauigkeit der visuellen Inspektion in der Target-Umgebung verbessert. Diese Struktur umfasst außerdem den Rechenprozess mit dem zweiten Einschätzungsmodell, der die mehreren Projektionsprozesse umfasst, die ein Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen umfassen, um mehrere Merkmalskarten mit unterschiedlichen Dimensionen zu generieren. Der durch das erste Einschätzungsmodell extrahierte Aufmerksamkeitsbereich wird in mindestens eine der Merkmalskarten im Rechenprozess mit dem zweiten Einschätzungsmodell integriert. Der durch das erste Einschätzungsmodell extrahierte Aufmerksamkeitsbereich kann in eine Merkmalskarte integriert werden, die ausgewählt wird, um die Genauigkeit beim Bestimmen, ob das Target-Produkt einen Defekt aufweist, zu maximieren. Diese Struktur ermöglicht eine visuelle Inspektion von Produkten mit verschiedenen Erscheinungsbildern unter Verwendung der Einschätzungsmodelle mit verbesserter Genauigkeit.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann das zweite Einschätzungsmodell einen Codierer, der ein Bild in ein Merkmal umwandelt, und einen Decodierer umfassen, der das Bild aus dem Merkmal decodiert. Das decodierte Bild kann für jedes Pixel eine Wahrscheinlichkeit dafür angeben, dass ein Defekt vorliegt. Der Codierer kann mehrere Codiereinheiten aufweisen, die von einem Eingangsende des Codierers sequentiell in Reihe geschaltet sind. Eine jeweilige der mehreren Codiereinheiten kann Eingangsdaten in eine Merkmalskarte mit einer niedrigeren Dimension als die Eingangsdaten umwandeln. Die mehreren Projektionsprozesse, die mit dem Target-Bild durchgeführt werden, können Rechenprozesse umfassen, die sequentiell vom Eingangsende her mit den mehreren Codiereinheiten durchgeführt werden. Der extrahierte Aufmerksamkeitsbereich kann in eine Merkmalskarte integriert werden, die in dem Rechenprozess mit dem zweiten Einschätzungsmodell durch mindestens eine der mehreren Codiereinheiten erzeugt wird. Diese Struktur ermöglicht, dass die Dimension für die Integration in den durch das erste Einschätzungsmodell extrahierten Aufmerksamkeitsbereich einfach geändert werden kann, so dass die Genauigkeit der visuellen Inspektion mit den Einschätzungsmodellen sich mit einem einfachen Arbeitsschritt verbessern lässt.
  • Die Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann ferner einen Selektor umfassen, der aus den mehreren Codiereinheiten mindestens eine Target-Codiereinheit auswählt. Der extrahierte Aufmerksamkeitsbereich kann in eine in dem Rechenprozess mit dem zweiten Einschätzungsmodell durch die ausgewählte mindestens eine Target-Codiereinheit erzeugte Merkmalskarte integriert werden. Diese Struktur ermöglicht die Auswahl der Target-Codiereinheit und kann die Genauigkeit der mit den Einschätzungsmodellen durchgeführten visuellen Inspektion optimieren.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann der Selektor ein Bewertungsbild eines Produkts zur Bewertung mit einem vorbestimmten Defekt beziehen, unter Verwendung des ersten Einschätzungsmodells aus dem bezogenen Bewertungsbild einen Aufmerksamkeitsbereich extrahieren, den Rechenprozess mit dem zweiten Einschätzungsmodell unter Verwendung des aus dem Bewertungsbild extrahierten Aufmerksamkeitsbereichs iterieren, wobei eine vorläufig als die mindestens eine Target-Codiereinheit ausgewählte Codiereinheit geändert wird, um für eine jeweilige der mehreren Codiereinheiten eine versuchsweise Bestimmung durchzuführen, ob das Produkt zur Bewertung im Bewertungsbild einen Defekt aufweist, wenn die Codiereinheit vorläufig als die mindestens eine Target-Codiereinheit ausgewählt ist, und basierend auf einem Ergebnis der versuchsweisen Bestimmungen eine optimale Codiereinheit als die mindestens eine Target-Codiereinheit auswählen. Diese Struktur kann die Genauigkeit der mit den Einschätzungsmodellen durchgeführten visuellen Inspektion automatisch optimieren.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann der Selektor ein Bewertungsbild eines Produkts zur Bewertung mit einem vorbestimmten Defekt beziehen, unter Verwendung des ersten Einschätzungsmodells aus dem bezogenen Bewertungsbild einen Aufmerksamkeitsbereich extrahieren, den Rechenprozess mit dem zweiten Einschätzungsmodell unter Verwendung des aus dem Bewertungsbild extrahierten Aufmerksamkeitsbereichs iterieren, wobei eine vorläufig als die mindestens eine Target-Codiereinheit ausgewählte Codiereinheit geändert wird, um für eine jeweilige der mehreren Codiereinheiten eine versuchsweise Bestimmung durchzuführen, ob das Produkt zur Bewertung in dem Bewertungsbild einen Defekt aufweist, wenn die Codiereinheit vorläufig als die mindestens eine Target-Codiereinheit ausgewählt ist, ein Ergebnis der versuchsweisen Bestimmungen an eine Bedienperson ausgeben und eine von der Bedienperson angegebene Auswahl der mindestens einen Target-Codiereinheit aus den mehreren Codiereinheiten empfangen. Diese Struktur kann die Genauigkeit der mit den Einschätzungsmodellen durchgeführten visuellen Inspektion durch einen Bedienvorgang optimieren.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann der Codierer ein faltendes neuronales Netzwerk (Convolutional Neural Network, CNN), aufweisen, und eine jeweilige der mehreren Codiereinheiten kann eine oder mehrere Faltungsschichten und eine oder mehrere Pooling-Schichten aufweisen. Diese Struktur ermöglicht eine einfache Implementierung des zweiten Einschätzungsmodells.
  • Die Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann ferner eine Einstelleinheit aufweisen, die einen Wert eines Parameters einstellt, der einen Grad definiert, wie häufig ein Bildbereich mit einem Defekt als Aufmerksamkeitsbereich extrahiert wird. Der Bereichsextraktor kann den Aufmerksamkeitsbereich gemäß dem eingestellten Wert des Parameters extrahieren. Diese Struktur ermöglicht eine Anpassung des Grads, zu dem das Schätzergebnis aus dem ersten Einschätzungsmodell berücksichtigt wird, und kann die Genauigkeit der mit den Einschätzungsmodellen in der Target-Umgebung durchgeführten visuellen Inspektion optimieren.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann das erste Einschätzungsmodell einen Codierer, der ein Bild in ein Merkmal umwandelt, und einen Decodierer umfassen, der das Bild aus dem Merkmal decodiert. Der Bereichsextraktor kann für das Target-Bild unter Verwendung des Codierers und des Decodiers des ersten Einschätzungsmodells ein decodiertes Target-Bild erzeugen und einen zwischen dem erzeugten decodierten Target-Bild und dem Target-Bild differierenden Bereich berechnen. Der Parameter kann einen Expansionsparameter umfassen, der einen Grad definiert, um den der differierende Bereich zu expandieren ist. Der Bereichsextraktor kann den extrahierten Aufmerksamkeitsbereich durch Expandieren des berechneten differierenden Bereichs gemäß einem eingestellten Wert des Expansionsparameters erhalten. Diese Struktur ermöglicht eine einfache Anpassung des Grads, mit dem das Schätzergebnis aus dem ersten Einschätzungsmodell berücksichtigt wird.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann der extrahierte Aufmerksamkeitsbereich eine Aufmerksamkeitskarte umfassen. Diese Struktur verwendet die Merkmalskarten und die Aufmerksamkeitskarte, die beide Bilddaten sind, wodurch ermöglicht wird, dass die extrahierten Ergebnisse einfach zusammen integriert werden.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann das erste Einschätzungsmodell mittels maschinellen Lernens unter Verwendung der ersten Trainingsdaten dazu trainiert sein, als einen Aufmerksamkeitsbereich einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält. Diese Struktur ermöglicht eine einfache Implementierung des ersten Einschätzungsmodells.
  • Bei der Inspektionsvorrichtung gemäß dem vorstehenden Aspekt kann das zweite Einschätzungsmodell mittels maschinellen Lernens unter Verwendung der zweiten Trainingsdaten dazu trainiert sein, eine Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. Diese Struktur ermöglicht eine einfache Implementierung des zweiten Einschätzungsmodells.
  • Eine weitere Ausführungsform der Inspektionsvorrichtung gemäß den vorstehenden Aspekten kann ein Informationsverarbeitungsverfahren, ein Programm oder ein Speichermedium sein, das das Programm speichert und beispielsweise von einem Computer zum Implementieren der vorstehend beschriebenen Komponenten lesbar ist. Der Begriff „computerlesbares Speichermedium“ umfasst Medien, die ein Programm oder andere Informationen in einer elektrischen, magnetischen, optischen, mechanischen oder chemischen Weise speichern.
  • Beispielsweise ist ein Inspektionsverfahren gemäß einem weiteren Aspekt der vorliegenden Erfindung ein Informationsverarbeitungsverfahren, das mit einem Computer implementierbar ist. Das Inspektionsverfahren umfasst: Beziehen eines Target-Bilds eines zu inspizierenden Target-Produkts, Extrahieren eines Aufmerksamkeitsbereichs aus dem bezogenen Target-Bild unter Verwendung eines ersten Einschätzungsmodells, das durch Training generiert und basierend auf den ersten Trainingsdaten dazu trainiert ist, als den Aufmerksamkeitsbereich einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält, wobei die Trainingsdaten mehrere aus einer Target-Inspektionsumgebung bezogene erste Trainingsbilder von defektfreien Produkten umfassen, und Durchführen eines Rechenprozesses mit einem zweiten Einschätzungsmodell unter Verwendung des durch das erste Einschätzungsmodell aus dem Target-Bild extrahierten Aufmerksamkeitsbereichs, Bestimmen, basierend auf einem Berechnungsergebnis mit dem zweiten Einschätzungsmodell, ob das Target-Produkt einen Defekt aufweist, und Ausgeben von Informationen, die ein Ergebnis des Bestimmens angeben, ob das Target-Produkt einen Defekt aufweist. Das zweite Einschätzungsmodell wird durch Training generiert und basierend auf zweiten Trainingsdaten, die mehrere zweite Trainingsbilder von Defekten umfassen, dazu trainiert, eine Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. Der Rechenprozess mit dem zweiten Einschätzungsmodell umfasst mehrere mit dem Target-Bild durchgeführte Projektionsprozesse. Die mehreren Projektionsprozesse umfassen ein Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen, um mehrere Merkmalskarten mit unterschiedlichen Dimensionen zu generieren. In dem Rechenprozess mit dem zweiten Einschätzungsmodell wird der extrahierte Aufmerksamkeitsbereich in mindestens eine der mehreren Merkmalskarten integriert.
  • Zum Beispiel ist ein Inspektionsprogramm gemäß noch einem weiteren Aspekt der vorliegenden Erfindung ein Programm, das einen Computer veranlasst, Operationen durchzuführen, die umfassen: Beziehen eines Target-Bilds eines zu inspizierenden Target-Produkts, Extrahieren eines Aufmerksamkeitsbereichs aus dem bezogenen Target-Bild unter Verwendung eines ersten Einschätzungsmodells, wobei das erste Einschätzungsmodell durch Training generiert und basierend auf ersten Trainingsdaten dazu trainiert ist, als den Aufmerksamkeitsbereich einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält, wobei die ersten Trainingsdaten mehrere in einer Target-Inspektionsumgebung bezogene erste Trainingsbilder von defektfreien Produkten umfassen, Durchführen eines Rechenprozesses mit einem zweiten Einschätzungsmodell unter Verwendung des durch das erste Einschätzungsmodell aus dem Target-Bild extrahierten Aufmerksamkeitsbereichs, Bestimmen, basierend auf einem Rechenergebnis aus dem zweiten Einschätzungsmodell, ob das Target-Produkt einen Defekt aufweist, und Ausgeben von Informationen, die ein Ergebnis des Bestimmens angeben, ob das Target-Produkt einen Defekt aufweist. Da zweite Einschätzungsmodell wird durch Training generiert und basierend auf zweiten Trainingsdaten, die mehrere zweite Trainingsbilder von Defekten umfassen, dazu trainiert, eine Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. Der Rechenprozess mit dem zweiten Einschätzungsmodell umfasst mehrere mit dem Target-Bild durchgeführte Projektionsprozesse. Die mehreren Projektionsprozesse umfassen ein Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen, um mehrere Merkmalskarten mit unterschiedlichen Dimensionen zu generieren. In dem Rechenprozess mit dem zweiten Einschätzungsmodell wird der extrahierte Aufmerksamkeitsbereich in mindestens eine der mehreren Merkmalskarten integriert.
  • EFFEKT DER ERFINDUNG
  • Die technische Lehre gemäß den vorstehenden Aspekten der vorliegenden Erfindung kann die Genauigkeit der visuellen Inspektion mit den Einschätzungsmodellen verbessern.
  • Figurenliste
    • 1 ist ein schematisches Diagramm einer beispielhaften Situation in einer oder mehreren Ausführungsbeispielen der vorliegenden Erfindung.
    • 2 ist ein schematisches Diagramm einer Modellerzeugungsvorrichtung in einem Ausführungsbeispiel, das deren beispielhafte Hardware-Ausgestaltung zeigt.
    • 3 ist ein schematisches Diagramm einer Inspektionsvorrichtung gemäß dem Ausführungsbeispiel, das deren beispielhafte Hardware-Ausgestaltung zeigt.
    • 4 ist ein schematisches Diagramm der Modellerzeugungsvorrichtung in dem Ausführungsbeispiel, das deren beispielhafte Software-Ausgestaltung zeigt.
    • 5 ist ein schematisches Diagramm der Inspektionsvorrichtung gemäß dem Ausführungsbeispiel, das deren beispielhafte Software-Ausgestaltung zeigt.
    • 6 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Erzeugen eines ersten Einschätzungsmodells, das gemäß dem Ausführungsbeispiel durch die Modellerzeugungsvorrichtung durchgeführt wird.
    • 7 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Erzeugen eines zweiten Einschätzungsmodells, das gemäß dem Ausführungsbeispiel durch die Modellerzeugungsvorrichtung durchgeführt wird.
    • 8 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Auswählen einer Ziel-Codiereinheit, das gemäß dem Ausführungsbeispiel durch die Inspektionsvorrichtung durchgeführt wird.
    • 9 ist ein Flussdiagramm eines beispielhaften Verfahrens zur visuellen Inspektion, das gemäß dem Ausführungsbeispiel durch die Inspektionsvorrichtung durchgeführt wird.
    • 10 ist ein schematisches Diagramm eines Beispiels für ein zweites Einschätzungsmodell gemäß einem weiteren Ausführungsbeispiel.
    • 11 ist ein schematisches Diagramm einer Einheitsauswahlvorrichtung in einem weiteren Ausführungsbeispiel, das deren beispielhafte Hardware-Ausgestaltung zeigt.
    • 12 ist ein schematisches Diagramm der Einheitsauswahlvorrichtung gemäß dem weiteren Ausführungsbeispiel, das deren beispielhafte Software-Ausgestaltung zeigt.
  • AUSFÜHRUNGSBEISPIELE DER ERFINDUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung werden zwei Einschätzungsmodelle, oder ein erstes Einschätzungsmodell und ein zweites Einschätzungsmodell, zur visuellen Inspektion verwendet. Das erste Einschätzungsmodell extrahiert basierend auf Informationen über das Erscheinungsbild von defektfreien Produkten, die aus einer Target-Umgebung bezogen wurden, einen Bereich, der mit einer hohen Wahrscheinlichkeit einen Defekt enthält. Das zweite Einschätzungsmodell bestimmt, ob ein Defekt vorliegt, ohne sich auf irgendeine Target-Umgebung zu beziehen. Das zweite Einschätzungsmodell kann bestimmen, ob das Target-Produkt einen Defekt aufweist. Würde das zweiten Einschätzungsmodells alleine verwendet, könnte dies jedoch abhängig vom Erscheinungsbild des Produkts in der Target-Umgebung zu fehlerhaften Bestimmungen führen. Beispielsweise könnte ein Produkt mit einem externen Muster ähnlich einem Defektmuster fälschlicherweise als Produkt mit einem Defekt bestimmt werden.
  • Das erste Einschätzungsmodell wird zusätzlich bei der visuellen Inspektion verwendet. Das erste Einschätzungsmodell kann vorzugsweise einen Bildbereich extrahieren, der nicht defektfreien Produkten in der Target-Umgebung zuzurechnen ist, oder spezieller, einen Bereich extrahieren, in dem mit hoher Wahrscheinlichkeit ein Defekt in der Target-Umgebung enthalten ist. Die Schätzergebnisse aus den beiden Einschätzungsmodellen werden miteinander kombiniert (insbesondere verengt das erste Einschätzungsmodell den Bereich für die Detektion und das zweite Einschätzungsmodell bestimmt, ob ein Defekt in dem Bereich enthalten ist), um die Genauigkeit der visuellen Inspektion zu optimieren. Mit anderen Worten wird erwartet, dass die Genauigkeit der visuellen Inspektion in einer Target-Umgebung verbessert wird, obwohl mindestens eines der Einschätzungsmodelle aufgrund der Kostenreduktion beim Sammeln von Trainingsdaten eine geringe Schätzgenauigkeit aufweist.
  • Produkte weisen jedoch unterschiedliche Erscheinungsbilder auf. Beispielsweise kann bei einem Produkt mit einem gemusterten Erscheinungsbild (z. B. einem Holzmaserungsmuster) einfach bestimmt werden, ob ein normales Erscheinungsbild oder ein Defekt vorliegt, indem ein breiterer Bereich verwendet wird, anstatt einen engeren Bereich für die Bestimmung zu verwenden. Beispielsweise kann bei einem Produkt mit einem einfachen Erscheinungsbild mit einem teilweisen Design einfach bestimmt werden, ob ein normales Erscheinungsbild oder ein Defekt vorliegt, wenn ein engerer Bereich für die Bestimmung verwendet wird. Würden die Schätzergebnisse aus den beiden Einschätzungsmodellen einfach miteinander kombiniert, ohne das Erscheinungsbild eines Produkts zu berücksichtigen, könnten fälschlicherweise normale Merkmale des Erscheinungsbilds des Produkts, wie z. B. die Kontur und das Muster des Produkts als einen Defekt enthaltend bestimmt werden, worunter die Genauigkeit der visuellen Inspektion leidet. Gemäß einem Aspekt der vorliegenden Erfindung wird daher ein Aufmerksamkeitsbereich, der durch das erste Einschätzungsmodell extrahiert wird, in einem Rechenprozess, der mit dem zweiten Einschätzungsmodell durchgeführt wird, in mindestens eine von mehreren Merkmalskarten integriert, die durch das zweite Einschätzungsmodell erzeugt werden.
  • Ein oder mehrere Ausführungsbeispiele der vorliegenden Erfindung (im Folgenden das vorliegende Ausführungsbeispiel) werden nun unter Bezugnahme auf die Zeichnungen beschrieben. Die nachstehend beschriebenen Ausführungsbeispiele sind lediglich Beispiele gemäß Aspekten. Die Ausführungsbeispiele können verschiedenartig modifiziert oder abgewandelt werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Genauer gesagt kann die vorliegende Erfindung unter Verwendung der für die einzelnen Ausführungsbeispiele und Anwendungsfälle spezifischen Ausgestaltungen nach Bedarf implementiert werden. Obwohl in den Ausführungsbeispielen verwendete Daten in einer natürlichen Sprache beschrieben werden, können diese Daten unter Verwendung einer beliebigen computerlesbaren Sprache, wie beispielsweise einer Pseudosprache, von Befehlen, Parametern oder einer Maschinensprache, spezifisch definiert werden.
  • 1. Beispielhafte Verwendung
  • 1 ist ein schematisches Diagramm einer beispielhaften Situation in einem oder mehreren Ausführungsbeispielen der vorliegenden Erfindung. Wie in 1 gezeigt, weist ein visuelles Inspektionssystem 100 gemäß dem vorliegenden Ausführungsbeispiel eine Modellerzeugungsvorrichtung 1 und eine Inspektionsvorrichtung 2 auf.
  • Die Modellerzeugungsvorrichtung 1 gemäß dem vorliegenden Ausführungsbeispiel ist ein Computer zum Erzeugen eines ersten Einschätzungsmodells 5 und eines zweiten Einschätzungsmodells 6, die zur visuellen Inspektion verwendbar sind. Das erste Einschätzungsmodell 5 wird durch Training generiert und dazu trainiert, basierend auf den ersten Trainingsdaten 30, die mehrere aus einer Target-Inspektionsumgebung bezogene erste Trainingsbilder von defektfreien Produkten umfassen, einen Bildbereich, der mit einer Wahrscheinlichkeit einen Defekt enthält, als einen Aufmerksamkeitsbereich zu extrahieren. Das zweite Einschätzungsmodell 6 wird durch Training generiert und dazu trainiert, basierend auf zweiten Trainingsdaten 35, die mehrere zweite Trainingsbilder von Defekten umfassen, die Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. Das jeweilige Einschätzungsmodell (5 oder 6) kann mit einem beliebigen Verfahren generiert werden, das es dem Einschätzungsmodell (5 oder 6) ermöglicht, basierend auf dem entsprechenden Satz von Trainingsdaten (30 oder 35) dazu trainiert zu werden, die entsprechende Aufgabe durchzuführen. Das Generierungsverfahren kann in jeweiligen Ausführungsbeispielen nach Bedarf ausgewählt werden. Zum Beispiel kann das jeweilige Einschätzungsmodell (5 oder 6) basierend auf dem entsprechenden Satz von Trainingsdaten (30 oder 35) manuell generiert werden. Im vorliegenden Ausführungsbeispiel wird maschinelles Lernen verwendet, um das jeweilige Einschätzungsmodell (5 oder 6) zu generieren. Das jeweilige Einschätzungsmodell (5 oder 6) kann somit einfach implementiert werden.
  • Insbesondere bezieht die Modellerzeugungsvorrichtung 1 die ersten Trainingsdaten 30, die mehrere aus der Target-Inspektionsumgebung bezogene akzeptable Produktbilder 31 von defektfreien Produkten umfassen. Die akzeptablen Produktbilder 31 sind Beispiele für erste Trainingsbilder. Die Modellerzeugungsvorrichtung 1 trainiert mittels maschinellen Lernens unter Verwendung der ersten Trainingsdaten 30 das erste Einschätzungsmodell 5 dazu, als einen Aufmerksamkeitsbereich einen Bereich in einem gegebenen Bild zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält (insbesondere einen Bereich, der ein aus einem Defekt abgeleitetes Merkmal enthält). So wird das trainierte erste Einschätzungsmodell 5 generiert, das basierend auf den ersten Trainingsdaten 30 dazu trainiert wurde, den Aufmerksamkeitsbereich zu extrahieren.
  • Die Modellerzeugungsvorrichtung 1 bezieht ferner auch die zweiten Trainingsdaten 35, die mehrere Defektbilder 371 von Defekten enthalten. Die Defektbilder 371 sind Beispiele für zweite Trainingsbilder. Die Modellerzeugungsvorrichtung 1 trainiert mittels maschinellen Lernens unter Verwendung der zweiten Trainingsdaten 35 das zweite Einschätzungsmodell 6 dazu, die Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt in einem gegebenen Bild (z. B. einem Bild eines Produkts) enthalten ist. So wird das trainierte zweite Einschätzungsmodell 6 generiert, das basierend auf den zweiten Trainingsdaten 35 dazu trainiert wurde, die Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt.
  • Die Inspektionsvorrichtung 2 ist ein Computer zum Durchführen einer visuellen Inspektion von Produkten unter Verwendung der beiden generierten Einschätzungsmodelle (5 und 6). Insbesondere bezieht die Inspektionsvorrichtung 2 ein Target-Bild 221 eines zu inspizierenden Target-Produkts R. Im vorliegenden Ausführungsbeispiel ist eine Kamera S in geeigneter Weise angeordnet, um ein Bild des Target-Produkts R aufzunehmen. Die Inspektionsvorrichtung 2 ist mit der Kamera S verbunden. Die Inspektionsvorrichtung 2 bezieht das Target-Bild 221 von der Kamera S.
  • Die Inspektionsvorrichtung 2 verwendet das erste Einschätzungsmodell 5, um den Aufmerksamkeitsbereich aus dem bezogenen Target-Bild 221 zu extrahieren. Die Inspektionsvorrichtung 2 verwendet dann den durch das erste Einschätzungsmodell 5 aus dem Target-Bild 221 extrahierten Aufmerksamkeitsbereich, um den Rechenprozess mit dem zweiten Einschätzungsmodell 6 durchzuführen. Der Rechenprozess mit dem zweiten Einschätzungsmodell 6 umfasst mehrere Projektionsprozesse, die ein Projizieren des Target-Bilds 221 in unterschiedliche Räume mit geringeren Dimensionen umfassen, um mehrere Merkmalskarten 63 mit unterschiedlichen Dimensionen zu generieren. Ein jeweiliger der Projektionsprozesse umfasst ein Projizieren der Eingangsdaten in einen Raum mit einer niedrigeren Dimension als die Eingangsdaten.
  • Die mehreren Merkmalskarten 63 mit unterschiedlichen Dimensionen, die sich aus den mehreren Projektionsprozessen ergeben, können wie in dem jeweiligen Ausführungsbeispiel nach Bedarf generiert werden. Zum Beispiel kann der Rechenprozess mit dem zweiten Einschätzungsmodell 6 eine Anzahl N Projektionsprozesse umfassen, die sequentiell in Reihe durchgeführt werden (N ist eine ganze Zahl größer oder gleich 2). Genauer gesagt kann der erste Projektionsprozess ein Projizieren des Target-Bilds 221 in einen niedrigdimensionalen Raum umfassen. Der zweite und die nachfolgenden Projektionsprozesse (k-ter Projektionsprozess) können dann ein Projizieren des Ergebnisses des vorherigen Projektionsprozesses, oder des (k -1)-ten Projektionsprozesses, in einen niedrigerdimensionalen Raum umfassen.
  • In dem Rechenprozess, der mit dem zweiten Einschätzungsmodell 6 durchgeführt wird, wird der Aufmerksamkeitsbereich, der durch das erste Einschätzungsmodell 5 extrahiert wird, in mindestens eine der Merkmalskarten 63 integriert. Die Inspektionsvorrichtung 2 bestimmt basierend auf dem Rechenergebnis mit dem zweiten Einschätzungsmodell 6, ob das Target-Produkt R einen Defekt aufweist. Die Inspektionsvorrichtung 2 gibt sodann Informationen aus, die das Ergebnis des Bestimmens angeben, ob das Target-Produkt R einen Defekt aufweist. In der oben beschriebenen Weise führt die Inspektionsvorrichtung 2 gemäß dem vorliegenden Ausführungsbeispiel eine visuelle Inspektion von Produkten unter Verwendung der Einschätzungsmodelle (5 und 6) durch.
  • Wie vorstehend beschrieben, verwendet die visuelle Inspektion des Target-Produkts R in des vorliegenden Ausführungsbeispiels das erste Einschätzungsmodell 5, das basierend auf mehreren aus der Target-Inspektionsumgebung bezogenen akzeptablen Produktbildern 31 generiert wurde, zusätzlich zu dem zweiten Einschätzungsmodell 6, das dazu trainiert wurde, die Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. In dem vorliegenden Ausführungsbeispiel wird bei dem Rechenprozess, der mit dem zweiten Einschätzungsmodell 6 durchgeführt wird, der durch das erste Einschätzungsmodell 5 extrahierte Aufmerksamkeitsbereich in mindestens eine der Merkmalskarten 63 mit unterschiedlichen Dimensionen integriert. Die mit dem durch das erste Einschätzungsmodell 5 extrahierten Aufmerksamkeitsbereich zu integrierende Merkmalskarte wird derart bestimmt, dass die Genauigkeit beim Bestimmen, ob das Target-Produkt einen Defekt aufweist, maximiert wird. Die Bestimmung der mit dem extrahierten Aufmerksamkeitsbereich zu integrierende Merkmalskarte kann durch den Hersteller der Inspektionsvorrichtung 2 in Experimenten erfolgen, die im Voraus durchgeführt werden, um verschiedenen Erscheinungsbildern der Target-Produkte angemessen Rechnung zu tragen, oder kann in Experimenten erfolgen, die in der Target-Umgebung, in der die Inspektionsvorrichtung 2 verwendet wird, durchgeführt werden, um hochgenaue Ergebnisse der Defektbestimmung für ein Target-Produkt mit einem spezifischen Erscheinungsbild zu erhalten. Der mit dem zweiten Einschätzungsmodell 6 durchgeführte Rechenprozess kann ein Ändern der Dimension umfassen, die beim Integrieren des durch das erste Einschätzungsmodell 5 extrahierten Aufmerksamkeitsbereichs verwendet wird. Dies ermöglicht eine dimensionale Anpassung des Bereichs zum Bestimmen der Wahrscheinlichkeit, dass ein Defekt vorliegt, wodurch ermöglicht wird, dass ein Integrationsprozess für das Erscheinungsbild des Target-Produkts R angemessen durchgeführt wird. Somit wird erwartet, dass die Struktur gemäß dem vorliegenden Ausführungsbeispiel die Genauigkeit der visuellen Inspektion des Target-Produkts R, das ein beliebiges Erscheinungsbild aufweisen kann, unter Verwendung der zwei Einschätzungsmodelle (5 und 6) verbessert.
  • In dem Beispiel in 1 sind die Modellerzeugungsvorrichtung 1 und die Inspektionsvorrichtung 2 mit einem Netzwerk miteinander verbunden. Das Netzwerk kann beispielsweise aus dem Internet, einem drahtlosen Kommunikationsnetzwerk, einem mobilen Kommunikationsnetzwerk, einem Telefonnetzwerk und einem dedizierten Netzwerk nach Bedarf ausgewählt werden. Die Modellerzeugungsvorrichtung 1 und die Inspektionsvorrichtung 2 können auch auf eine in dem jeweiligen Ausführungsbeispiel nach Bedarf gewählte andere Weise miteinander Daten austauschen. Beispielsweise können die Modellerzeugungsvorrichtung 1 und die Inspektionsvorrichtung 2 unter Verwendung eines Speichermediums Daten untereinander austauschen.
  • In dem Beispiel in 1 sind die Modellerzeugungsvorrichtung 1 und die Inspektionsvorrichtung 2 separate Computer. Jedoch kann das visuelle Inspektionssystem 100 gemäß dem vorliegenden Ausführungsbeispiel in jeweiligen Ausführungsbeispielen auch beliebige andere Strukturen aufweisen. Beispielsweise können die Modellerzeugungsvorrichtung 1 und die Inspektionsvorrichtung 2 in einem einzigen Computer integriert sein. Beispielsweise können die Modellerzeugungsvorrichtung 1 und/oder die Inspektionsvorrichtung 2 auch mehrere Computer aufweisen.
  • Das Zielprodukt R kann beispielsweise ein beliebiges Produkt sein, das auf einer Produktionslinie transportiert wird, wie beispielsweise elektronische Vorrichtungen, elektronische Komponenten, Automobilteile, Chemikalien und Lebensmittelprodukte. Elektronische Komponenten können beispielsweise Substrate, Chipkondensatoren, Flüssigkristalle und Relaisspulen umfassen. Automobilteile können beispielsweise Pleuelstangen, Wellen, Motorblöcke, elektrische Fensterheber und Blechteile oder Paneele umfassen. Chemikalien können beispielsweise verpackte oder unverpackte Tabletten umfassen. Das Zielprodukt R kann ein Endprodukt, das aus den Herstellungsprozessen resultiert, ein Zwischenprodukt während der Herstellungsprozesse oder ein Anfangsprodukt sein, bevor es den Herstellungsprozessen unterzogen wird. Die Defekte können beispielsweise ein Kratzer, ein Fleck, ein Riss, eine Delle, ein Grat, eine ungleichmäßige Farbe oder eine Verunreinigung durch Fremdkörper sein.
  • 2. Beispielhafte Struktur
  • Hardware-Ausgestaltung
  • Modellerzeugungsvorrichtung
  • 2 ist ein schematisches Diagramm der Modellerzeugungsvorrichtung 1 gemäß dem vorliegenden Ausführungsbeispiel, das deren beispielhafte Hardware-Ausgestaltung zeigt. Wie in 2 gezeigt, ist die Modellerzeugungsvorrichtung 1 gemäß dem vorliegenden Ausführungsbeispiel ein Computer, der eine Steuereinheit 11, einen Massenspeicher 12, eine Kommunikationsschnittstelle 13, eine externe Schnittstelle 14, eine Eingabevorrichtung 15, eine Ausgabevorrichtung 16 und ein Laufwerk 17 umfasst, die elektrisch miteinander verbunden sind. In 2 sind die Kommunikationsschnittstelle und die externe Schnittstelle als „Kommunikations-I/F“ und eine „externe I/F“ abgekürzt.
  • Die Steuereinheit 11 weist beispielsweise eine zentrale Verarbeitungseinheit (CPU) als Hardware-Prozessor, einen Direktzugriffsspeicher (RAM) und einen Nur-Lese-Speicher (ROM) auf. Die Steuereinheit 11 führt auf der Grundlage von Programmen und verschiedenen Datenelementen eine Informationsverarbeitung durch. Der Massenspeicher 12, der ein Beispiel für einen nicht flüchtigen Speicher ist, kann beispielsweise ein Festplattenlaufwerk oder ein Solid-State-Laufwerk sein. Im vorliegenden Ausführungsbeispiel speichert der Massenspeicher 12 verschiedene Informationselemente, darunter ein Modellerzeugungsprogramm 81, die ersten Trainingsdaten 30, die zweiten Trainingsdaten 35, die ersten Trainingsergebnisdaten 121 und die zweiten Trainingsergebnisdaten 125.
  • Das Modellerzeugungsprogramm 81 bewirkt, dass die Modellerzeugungsvorrichtung 1 eine Informationsverarbeitung (6 und 7) zum Erzeugen der später beschriebenen Einschätzungsmodelle (5 und 6) durchführt. Das Modellerzeugungsprogramm 81 umfasst eine Reihe von Befehlen für die Informationsverarbeitung. Die ersten Trainingsdaten 30 werden verwendet, um das erste Einschätzungsmodell 5 zu generieren. Die zweiten Trainingsdaten 35 werden verwendet, um das zweite Einschätzungsmodell 6 zu generieren. Die ersten Trainingsergebnisdaten 121 stellen Informationen über das generierte erste Einschätzungsmodell 5 dar. Die zweiten Trainingsergebnisdaten 125 stellen Informationen über das generierte zweite Einschätzungsmodell 6 dar. Im vorliegenden Ausführungsbeispiel resultieren die Trainingsergebnisdaten (121 und 125) daraus, dass das Modellerzeugungsprogramm 81 ausgeführt wird. Dies wird später detailliert beschrieben.
  • Die Kommunikationsschnittstelle 13 ist beispielsweise ein Modul für drahtgebundenes lokales Netzwerk (LAN) oder ein Modul für drahtloses LAN zur drahtgebundenen oder drahtlosen Kommunikation über ein Netzwerk. Die Modellerzeugungsvorrichtung 1 kann die Kommunikationsschnittstelle 13 verwenden, um Daten mit einer anderen Informationsverarbeitungsvorrichtung über ein Netzwerk auszutauschen. Die externe Schnittstelle 14 ist eine Schnittstelle zur Verbindung mit einer externen Vorrichtung und kann beispielsweise ein USB-Anschluss (Universal Serial Bus) oder ein dedizierter Anschluss sein. Die Typen und die Anzahl der externen Schnittstellen 14 können je nach Bedarf ausgewählt werden. Die Modellerzeugungsvorrichtung 1 kann über die Kommunikationsschnittstelle 13 und/oder die externe Schnittstelle 14 mit einer Kamera zum Aufnehmen von Trainingsbildern verbunden sein.
  • Die Eingabevorrichtung 15 umfasst beispielsweise eine Maus und eine Tastatur. Die Ausgabevorrichtung 16 umfasst beispielsweise eine Anzeige und einen Lautsprecher. Eine Bedienperson, wie z. B. ein Benutzer, kann die Modellerzeugungsvorrichtung 1 unter Verwendung der Eingabevorrichtung 15 und der Ausgabevorrichtung 16 bedienen.
  • Das Laufwerk 17 ist beispielsweise ein Compact-Disc-Laufwerk (CD-Laufwerk) oder ein Digital-Versatile-Disc-Laufwerk (DVD-Laufwerk) zum Lesen von Programmen oder anderen Informationen, die in einem Speichermedium 91 gespeichert sind. Das Speichermedium 91 speichert Programme oder andere Informationen in einer elektrischen, magnetischen, optischen, mechanischen oder chemischen Weise, um es einem Computer oder einer anderen Vorrichtung oder Maschine zu ermöglichen, die aufgezeichneten Programme oder andere Informationen zu lesen. In dem Speichermedium 91 können die Modellerzeugungsprogramme 81, die ersten Trainingsdaten 30 und/oder die zweiten Trainingsdaten 35 gespeichert sein. Die Modellerzeugungsvorrichtung 1 kann das Modellerzeugungsprogramm 81, die ersten Trainingsdaten 30 und/oder die zweiten Trainingsdaten 35 aus dem Speichermedium 91 erhalten. In 2 ist das Speichermedium 91 ein Plattenspeicher, wie z. B. eine CD oder eine DVD. Das Speichermedium 91 ist jedoch nicht auf einen Plattenspeicher eingeschränkt. Ein Beispiel für ein von einer Platte verschiedenes Speichermedium ist ein Halbleiterspeicher, wie z. B. ein Flash-Speicher. Das Laufwerk 17 kann von einem beliebigen Typ sein, der je nach Bedarf entsprechend dem Typ des Speichermediums 91 ausgewählt wird.
  • Für die spezifische Hardware-Ausgestaltung der Modellerzeugungsvorrichtung 1 können Komponenten je nach Bedarf des Anwendungsfalls weggelassen, ersetzt oder hinzugefügt werden. Zum Beispiel kann die Steuereinheit 11 mehrere Hardware-Prozessoren aufweisen. Ein jeweiliger Hardware-Prozessor kann einen Mikroprozessor, ein feldprogrammierbares Gate-Array (FPGA), einen digitalen Signalprozessor (DSP) oder andere Prozessoren aufweisen. Der Massenspeicher 12 kann auch der RAM und/oder der ROM sein, die in der Steuereinheit 11 enthalten sind. Mindestens ein Element unter der Kommunikationsschnittstelle 13, der externen Schnittstelle 14, der Eingabevorrichtung 15, der Ausgabevorrichtung 16 und dem Laufwerk 17 kann weggelassen werden. Die Modellerzeugungsvorrichtung 1 kann mehrere Computer umfassen. In diesem Fall können alle Computer die gleiche oder eine unterschiedliche Hardware-Ausgestaltung aufweisen. Die Modellerzeugungsvorrichtung 1 kann auch ein Informationsprozessor sein, der dediziert für einen bereitzustellenden Dienst bereitgestellt ist, oder kann ein universeller Server oder ein universeller Personal Computer (PC) sein.
  • Inspektionsvorrichtung
  • 3 ist ein schematisches Diagramm der Inspektionsvorrichtung 2 gemäß dem vorliegenden Ausführungsbeispiel, das deren beispielhafte Hardware-Ausgestaltung zeigt. Wie in 3 gezeigt, ist die Inspektionsvorrichtung 2 gemäß dem vorliegenden Ausführungsbeispiel ein Computer, der eine Steuereinheit 21, einen Massenspeicher 22, eine Kommunikationsschnittstelle 23, eine externe Schnittstelle 24, eine Eingabevorrichtung 25, eine Ausgabevorrichtung 26 und ein Laufwerk 27 umfasst, die elektrisch miteinander verbunden sind.
  • Die Komponenten der Inspektionsvorrichtung 2 von der Steuereinheit 21 bis zu dem Laufwerk 27 und einem Speichermedium 92 können die gleichen Strukturen wie die Komponenten der vorstehenden Modellerzeugungsvorrichtung 1 von der Steuereinheit 11 bis zu dem Laufwerk 17 und dem Speichermedium 91 aufweisen. Die Steuereinheit 21 weist beispielsweise eine CPU als Hardware-Prozessor, einen RAM und einen ROM auf und führt verschiedene Informationsverarbeitungsoperationen auf der Grundlage von Programmen und Daten durch. Der Massenspeicher 22 ist beispielsweise ein Festplattenlaufwerk oder ein Solid-State-Laufwerk. Im vorliegenden Ausführungsbeispiel speichert der Massenspeicher 22 verschiedene Informationselemente, darunter ein Inspektionsprogramm 82, die ersten Trainingsergebnisdaten 121 und die zweiten Trainingsergebnisdaten 125.
  • Das Inspektionsprogramm 82 veranlasst die Inspektionsvorrichtung 2 dazu, eine Informationsverarbeitung (8 und 9) zur visuellen Inspektion des Zielprodukts R (später beschrieben) durchzuführen. Das Inspektionsprogramm 82 umfasst eine Reihe von Befehlen für die Informationsverarbeitung. Das Inspektionsprogramm 82 und/oder die ersten Trainingsergebnisdaten 121 und/oder die zweiten Trainingsergebnisdaten 125 können in dem Speichermedium 92 gespeichert sein. Die Inspektionsvorrichtung 2 kann das Inspektionsprogramm 82 und/oder die ersten Trainingsergebnisdaten 121 und/oder die zweiten Trainingsergebnisdaten 125 von dem Speichermedium 92 beziehen.
  • In dem Beispiel in 3 ist die Inspektionsvorrichtung 2 über die externe Schnittstelle 24 mit der Kamera S (Bildgebungsvorrichtung) verbunden. Die Inspektionsvorrichtung 2 kann somit von der Kamera S Target-Bilder 221 beziehen. Die Inspektionsvorrichtung 2 kann auf eine beliebige andere Weise als über die externe Schnittstelle 24 mit der Kamera S verbunden sein. Für eine Kamera S, die eine Kommunikationsschnittstelle umfasst, kann die Inspektionsvorrichtung 2 beispielsweise über die Kommunikationsschnittstelle 23 mit der Kamera S verbunden sein. Die Kamera S kann von einem beliebigen Typ sein, der in dem jeweiligen Ausführungsbeispiel je nach Bedarf ausgewählt wird. Die Kamera S kann beispielsweise eine handelsübliche RGB-Kamera, eine Tiefenkamera oder eine Infrarotkamera sein.
  • Für die spezifische Hardware-Ausgestaltung der Inspektionsvorrichtung 2 können je nach Bedarf des Anwendungsfalls Komponenten weggelassen, ersetzt oder hinzugefügt werden. Zum Beispiel kann die Steuereinheit 21 mehrere Hardware-Prozessoren aufweisen. Ein jeweiliger Hardware-Prozessor kann ein Mikroprozessor, ein FPGA, ein DSP oder ein anderer Prozessor sein. Der Massenspeicher 22 kann auch der RAM und/oder der ROM sein, die in der Steuereinheit 21 enthalten sind. Mindestens ein Element unter der Kommunikationsschnittstelle 23, der externen Schnittstelle 24, der Eingabevorrichtung 25, der Ausgabevorrichtung 26 und/oder dem Laufwerk 27 kann weggelassen werden. Die Inspektionsvorrichtung 2 kann mehrere Computer aufweisen. In diesem Fall können alle Computer die gleiche oder eine unterschiedliche Hardware-Ausgestaltung aufweisen. Die Inspektionsvorrichtung 2 kann eine Informationsverarbeitungsvorrichtung sein, die für einen bereitzustellenden Dienst dediziert bereitgestellt ist, oder kann ein universeller Server, ein universeller PC oder eine speicherprogrammierbare Steuereinheit (PLC) sein. Die Inspektionsvorrichtung 2 und die Kamera S können in einem einzigen Bildsensor integriert sein.
  • Software-Ausgestaltung
  • Modellerzeugungsvorrichtung
  • 4 ist ein schematisches Diagramm der Modellerzeugungsvorrichtung 1 gemäß dem vorliegenden Ausführungsbeispiel, das deren beispielhafte Software-Ausgestaltung zeigt. Die Steuereinheit 11 in der Modellerzeugungsvorrichtung 1 lädt das Modellerzeugungsprogramm 81, das im Massenspeicher 12 gespeichert ist, in den RAM. Die CPU in der Steuereinheit 11 interpretiert und führt dann die Befehle aus, die in dem Modellerzeugungsprogramm 81 enthalten sind, das in den RAM geladen ist, um die jeweiligen Einheiten zu steuern. Die Modellerzeugungsvorrichtung 1 gemäß dem vorliegenden Ausführungsbeispiel arbeitet somit als ein Computer, der als Softwaremodule einen ersten Bezieher 111, einen ersten Trainer 112, einen zweiten Bezieher 113, einen zweiten Trainer 114 und eine Speichereinheit 115, wie in 4 gezeigt. Mit anderen Worten, gemäß dem vorliegenden Ausführungsbeispiel werden die jeweiligen Softwaremodule in der Modellerzeugungsvorrichtung 1 durch die Steuereinheit 11 (CPU) implementiert.
  • Der erste Bezieher 111 bezieht die ersten Trainingsdaten 30, die mehrere akzeptable Produktbilder 31 (Bilder 31 akzeptabler Produkte) umfassen. Der erste Trainer 112 trainiert das erste Einschätzungsmodell 5 mittels maschinellen Lernens unter Verwendung der ersten Trainingsdaten 30. Der zweite Bezieher 113 bezieht die zweiten Trainingsdaten 35, die mehrere Defektbilder 371 (Bilder 371 von Produkten mit Defekten) umfassen. Der zweite Trainer 114 trainiert das zweite Einschätzungsmodell 6 mittels maschinellen Lernens unter Verwendung der zweiten Trainingsdaten 35. Die Speichereinheit 115 generiert Informationen über das trainierte erste Einschätzungsmodell 5, das mittels maschinellen Lernens generiert wurde, als die ersten Trainingsergebnisdaten 121. In ähnlicher Weise generiert die Speichereinheit 115 Informationen über das trainierte zweite Einschätzungsmodell 6, das mittels maschinellen Lernens generiert wurde, als die zweiten Trainingsergebnisdaten 125. Die Speichereinheit 115 speichert dann die generierten Trainingsergebnisdaten (121 und 125) in einem vorbestimmten Speicherbereich.
  • Beispielhafte Struktur der einzelnen Modelle und beispielhaftes maschinelles Lernverfahren
  • Das jeweilige Einschätzungsmodell (5 oder 6) kann eine beliebige Struktur aufweisen, die eine Implementierung des vorstehenden Rechenprozesses ermöglicht. Die Struktur kann je nach Bedarf des Anwendungsfalls festgelegt werden. Das erste Einschätzungsmodell 5 kann derart ausgestaltet sein, dass es einen Bildbereich extrahiert, der mit einer Wahrscheinlichkeit einen Defekt enthält. Das zweite Einschätzungsmodell 6 kann derart ausgestaltet sein, dass es die Wahrscheinlichkeit dafür bestimmt, dass ein Defekt vorliegt, nachdem in dem Rechenprozess durch mehrere Projektionsprozesse mehrere Merkmalskarten 63 mit unterschiedlichen Dimensionen generiert wurden.
  • Wie in 4 gezeigt ist, umfasst das erste Einschätzungsmodell 5 im vorliegenden Ausführungsbeispiel einen Codierer 51, der ein gegebenes Bild (Eingangsbild) in Merkmale umwandelt, und einen Decodierer 53, der das Bild aus den Merkmalen decodiert. Das zweite Einschätzungsmodell 6 umfasst einen Codierer 61, der ein gegebenes Bild (Eingangsbild) in Merkmale umwandelt, und einen Decodierer 65, der das Bild aus den Merkmalen decodiert. Das durch den Decodierer 65 decodierte Bild gibt für jedes Pixel die Wahrscheinlichkeit dafür an, dass ein Defekt vorliegt. Insbesondere zeigt jedes Pixel im decodierten Bild Informationen über die Wahrscheinlichkeit dafür, dass ein an dem betreffenden Pixel aufgenommenes Objekt ein Defekt ist. Der Codierer 61 umfasst mehrere Codiereinheiten 62, die vom Eingangsende her sequentiell in Reihe geschaltet sind. Eine jeweilige Codiereinheit 62 wandelt Eingangsdaten in eine Merkmalskarte 63 mit einer niedrigeren Dimension als die Eingangsdaten um.
  • Im vorliegenden Ausführungsbeispiel wird das jeweilige Einschätzungsmodell (5 oder 6), das dazu trainiert wurde, die vorstehend beschriebene entsprechende Aufgabe durchzuführen, mittels maschinellen Lernens generiert. Das jeweilige Einschätzungsmodell (5 oder 6) ist somit ein Modell auf Grundlage maschinellen Lernens mit durch maschinelles Lernen einstellbaren Rechenparametern. Die Struktur und der Typ des Modells auf Grundlage maschinellen Lernens können je nach Bedarf des Anwendungsfalls ausgewählt werden. Im vorliegenden Ausführungsbeispiel ist das jeweilige Einschätzungsmodell (5 oder 6) ein neuronales Netzwerk. Insbesondere sind der Codierer 51 und der Decodierer 53 im ersten Einschätzungsmodell 5 jeweils ein vollständig verbundenes neuronales Netzwerk. Der Codierer 61 im zweiten Einschätzungsmodell 6 ist ein faltendes neuronales Netzwerk. Dies erleichtert eine Implementierung der Einschätzungsmodelle (5 und 6).
  • (1) Erstes Einschätzungsmodell
  • Der Codierer 51 und der Decodierer 53 im ersten Einschätzungsmodell 5 umfassen jeweils eine Eingangsschicht (511 oder 531), eine (verborgene) Zwischenschicht (512 oder 532) und eine Ausgangsschicht (513 oder 533). In dem Beispiel in 4 umfassen der Codierer 51 und der Decodierer 53 jeweils drei Schichten, können jedoch je nach Bedarf eine beliebige Anzahl von Schichten umfassen. Beispielsweise können der Codierer 51 und/oder der Decodierer 53 zwei oder mehr Zwischenschichten aufweisen.
  • Im vorliegenden Ausführungsbeispiel empfängt die Eingangsschicht 511 des Codierers 51 ein Eingangsbild, wie etwa ein Target-Bild 221. Die Ausgangsschicht 513 gibt Merkmale aus, die basierend auf dem Eingangsbild berechnet werden. Die Eingangsschicht 531 des Decodierers 53 empfängt die durch den Codierer 51 berechneten Merkmale als Eingangsmerkmale. Die Ausgangsschicht 533 gibt ein basierend auf den Eingangsmerkmalen decodiertes Bild (decodiertes Bild) aus. Der Codierer 51 und der Decodierer 53 können Informationen in einer beliebigen anderen Form eingeben und ausgeben, die eine Implementierung des vorstehend beschriebenen Schätzprozesses ermöglicht. Beispielsweise kann die jeweilige Eingangsschicht (511 oder 531) ferner andere Eingangsinformationen als die vorstehend beschriebenen Informationen empfangen. Die jeweilige Ausgangsschicht (513 oder 533) kann ferner andere Informationen als die vorstehend beschriebenen Informationen ausgeben.
  • Die jeweilige Schicht (511, 512, 513, 531, 532 oder 533) weist ein oder mehrere Neuronen (Knoten) auf. Die jeweilige Schicht (511, 512, 513, 531, 532 oder 533) kann eine beliebige Anzahl von Neuronen aufweisen, die je nach Bedarf des Anwendungsfalls gewählt wird. Die Eingangsschicht (511 oder 531) kann auf eine geeignete Weise für Eingangsdaten, wie etwa die Eingangsbilder und die Merkmale und deren Formate, nach Bedarf bestimmt werden. Die Ausgangsschicht (513 oder 533) kann auf eine geeignete Weise für Ausgangsdaten, wie etwa die Merkmale und die Schätzergebnisse (z. B. decodiertes Bild) und deren Formate, nach Bedarf bestimmt werden. In dem Beispiel in 4 sind die in der jeweiligen Schicht (511, 512, 513, 531, 532 oder 533) enthaltenen Neuronen mit allen Neuronen in den benachbarten Schichten verbunden. Die Neuronen können auf eine beliebige andere Weise verbunden sein, die je nach Bedarf des Anwendungsfalls bestimmt wird. Beispielsweise kann jedes Neuron mit einem bestimmten Neuron in einer benachbarten Schicht oder mit einem Neuron in einer anderen Schicht als einer benachbarten Schicht verbunden sein.
  • Die jeweilige Schicht (511, 512, 513, 531, 532 oder 533) weist ein für ihre Verbindungen definiertes Gewicht auf(Verbindungsgewicht). Jedes Neuron weist einen voreingestellten Schwellwert auf. Eine Ausgabe des jeweiligen Neurons wird typischerweise abhängig davon bestimmt, ob die Summe des Produkts jeder Eingabe und des entsprechenden Gewichts den Schwellwert überschreitet. Der Schwellwert kann unter Verwendung einer Aktivierungsfunktion ausgedrückt werden. In diesem Fall wird die Summe des Produkts jeder Eingabe und des entsprechenden Gewichts in die Aktivierungsfunktion eingegeben, und die Aktivierungsfunktion wird berechnet, um die Ausgabe des jeweiligen Neurons zu bestimmen. Der Typ der Aktivierungsfunktion kann je nach Bedarf gewählt werden. Das Verbindungsgewicht zwischen Neuronen der jeweiligen Schicht (511, 512, 513, 531, 532 oder 533) und der Schwellwert jedes Neurons sind Beispiele für Rechenparameter, die in dem Rechenprozess verwendet werden, der durch den Codierer 51 und den Decodierer 53 durchgeführt wird.
  • Beim Trainieren des ersten Einschätzungsmodells 5 mittels maschinellen Lernens verwendet der erste Trainer 112 akzeptable Produktbilder 31 als Trainingsdaten und Ground-Truth-Daten. Insbesondere gibt der erste Trainer 112 ein akzeptables Produktbild 31 in die Eingangsschicht 511 des Codierers 51 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 51 und dem Decodierer 53 durch. Nach dem Rechenprozess bezieht der erste Trainer 112 das generierte decodierte Bild aus der Ausgangsschicht 533 des Decodierers 53. Der erste Trainer 112 berechnet den Fehler (Rekonstruktionsfehler) zwischen dem bezogenen decodierten Bild und dem eingegebenen akzeptablen Produktbild 31. Der erste Trainer 112 passt iterativ die Werte der vom Codierer 51 und dem Decodierer 53 verwendeten Rechenparameter an, um den für jedes akzeptable Produktbild 31 berechneten Fehler zu reduzieren. Auf diese Weise wird trainierte erste Einschätzungsmodell 5 generiert.
  • Das trainierte erste Einschätzungsmodell 5 im vorliegenden Ausführungsbeispiel kann die akzeptablen Produktbilder 31, die beim maschinellen Lernen verwendet wurden, sowie Bilder, die den akzeptablen Produktbildern 31 ähnlich sind, oder insbesondere externe Bilder von defektfreien Produkten (akzeptablen Produkten), die aus einer Target-Inspektionsumgebung bezogen wurden, genau rekonstruieren. Im Gegensatz dazu ist die Rekonstruktionsgenauigkeit für andere Bilder als die obigen Bilder, wie beispielsweise Bilder von defekten Produkten, niedriger. Mit anderen Worten ist bei Bereichen mit einem größeren Rekonstruktionsfehler eine Wahrscheinlichkeit hoch, dass ein Defekt vorliegt. Das erste Einschätzungsmodell 5 im vorliegenden Ausführungsbeispiel kann somit mittels des vorstehend beschriebenen maschinellen Lernens lernen, basierend auf dem Rekonstruktionsfehler einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält.
  • Die Speichereinheit 115 generiert die ersten Trainingsergebnisdaten 121, die verwendet werden, um das trainierte erste Einschätzungsmodell 5, das mittels des vorstehend beschriebenen maschinellen Lernens generiert wurde, zu reproduzieren. Die ersten Trainingsergebnisdaten 121 können eine beliebige Struktur aufweisen, die eine Reproduktion des trainierten ersten Einschätzungsmodells 5 ermöglicht. Die Struktur kann je nach Bedarf des Anwendungsfalls bestimmt werden. Beispielsweise können die ersten Trainingsergebnisdaten 121 Informationen enthalten, die die Werte der Rechenparameter für das erste Einschätzungsmodell 5 angeben, die durch Anpassung im vorstehend beschriebenen maschinellen Lernen erhalten wurden. In einigen Ausführungsbeispielen können die ersten Trainingsergebnisdaten 121 ferner Informationen enthalten, die die Struktur des ersten Einschätzungsmodells 5 (des Codierers 51 und des Decodierers 53) angeben. Die Struktur kann beispielsweise unter Verwendung der Anzahl von Schichten von einer Eingabeschicht bis zu einer Ausgabeschicht in einem neuronalen Netzwerk, der Typen von Schichten, der Anzahl von Neuronen, die in der jeweiligen Schicht enthalten sind, und der Verbindungsbeziehung zwischen Neuronen in benachbarten Schichten definiert werden. Die Speichereinheit 115 speichert die generierten ersten Trainingsergebnisdaten 121 in einem vorbestimmten Speicherbereich.
  • (2) Zweites Einschätzungsmodell
  • Der Codierer 61 im zweiten Einschätzungsmodell 6 umfasst die mehreren Codiereinheiten 62. Eine jeweilige Codiereinheit 62 umfasst eine oder mehrere Faltungsschichten 621 und eine oder mehrere Pooling-Schichten 623.
  • Jede Faltungsschicht 621 führt eine Faltungsberechnung für gegebene Daten durch. Die Faltungsberechnung entspricht dem Berechnen einer Korrelation zwischen gegebenen Daten und einem vorbestimmten Filter. Beispielsweise wird ein Eingabebild einer Bildfaltung unterzogen, die ein Graustufenmuster ähnlich dem Graustufenmuster des Filters detektiert. Jede Pooling-Schicht 623 führt einen Pooling-Prozess durch. Ein Teil von gegebenen Daten wird dem Pooling-Prozess unterzogen, der selektiv Informationen an Positionen verwirft, die in hohem Maße auf das Filter ansprechen, um eine unveränderliche Reaktion auf geringfügige Positionsänderungen der in den Daten auftretenden Merkmale zu erreichen. Beispielsweise kann die Pooling-Schicht den größten Wert im Filter extrahieren und die anderen Werte löschen. Eine jeweilige Codiereinheit 62 im vorliegenden Ausführungsbeispiel wandelt die Eingangsdaten mit den Faltungsschichten 621 und den Pooling-Schichten 623 in eine niedrigerdimensionale Merkmalskarte 63 um.
  • Eine jeweilige Codiereinheit 62 kann eine beliebige Anzahl von Faltungsschichten 621 und eine beliebige Anzahl von Pooling-Schichten 623 aufweisen, die je nach Bedarf bestimmt werden. Im Beispiel von 4 umfasst der Codierer 61 keine anderen Komponenten als die Codiereinheiten 62. Die Codiereinheiten 62 sind in Reihe geschaltet. Eine jeweilige Codiereinheit 62 umfasst die Faltungsschichten 621, die näher am Eingangsende angeordnet sind als die Pooling-Schichten 623. Die Faltungsschicht 621 in der Codiereinheit 62, die dem Eingangsende am nächsten liegt, dient als die Eingangsschicht des Codierers 61. Die Pooling-Schicht 623 in der Codiereinheit 62, die dem Ausgangsende am nächsten liegt, dient als die Ausgangsschicht des Codierers 61.
  • Der Codierer 61 und jede Codiereinheit 62 können beliebige andere Strukturen aufweisen. Die Faltungsschichten 621 und die Pooling-Schichten 623 können je nach Bedarf des Anwendungsfalls angeordnet und verbunden sein. Beispielsweise können für eine jeweilige Codiereinheit 62, die mehrere Faltungsschichten 621 und mehrere Pooling-Schichten 623 umfasst, die Faltungsschichten 621 und die Pooling-Schichten 623 abwechselnd angeordnet sein. In einigen Ausführungsbeispielen sind mehrere Faltungsschichten 621 aufeinanderfolgend angeordnet, bevor eine oder mehrere Pooling-Schichten 623 angeordnet sind. Der Codierer 61 kann andere Komponenten als die Codiereinheiten 62 umfassen. Der Codierer 61 kann andere Schichten umfassen, wie etwa normalisierte Schichten, Dropout-Schichten und vollständig verbundene Schichten. Solche anderen Schichten können sich in den Codiereinheiten 62 befinden.
  • Der Decodierer 65 umfasst eine oder mehrere Unpooling-Schichten 651 und eine oder mehrere inverse Faltungsschichten 653. Die Unpooling-Schichten 651 führen die inverse Operation des vorstehend beschriebenen Pooling-Prozesses durch. Die inversen Faltungsschichten 653 führen die inverse Operation des vorstehend beschriebenen Faltungsprozesses durch. Der Decodierer 65 umfasst eine beliebige Anzahl von Unpooling-Schichten 651 und eine beliebige Anzahl von inversen Faltungsschichten 653, die je nach Bedarf bestimmt werden. Im Beispiel der 4 sind die Unpooling-Schichten 651 und die inversen Faltungsschichten 653 abwechselnd angeordnet. Die Unpooling-Schicht 651, die dem Eingangsende am nächsten liegt, dient als die Eingangsschicht des Decodierers 65. Die inverse Faltungsschicht 653, die dem Ausgangsende am nächsten liegt, dient als die Ausgangsschicht des Decodierers 65. Der Decodierer 65 kann eine beliebige andere Struktur aufweisen, ähnlich wie der Codierer 61. Die Unpooling-Schichten 651 und die inversen Faltungsschichten 653 können in je nach Bedarf des Anwendungsfalls angeordnet und verbunden sein. Der Decodierer 65 kann andere Schichten als die Unpooling-Schichten 651 und die inversen Faltungsschichten 653 umfassen.
  • Im vorliegenden Ausführungsbeispiel empfängt der Codierer 61 an der Eingangsschicht ein Eingangsbild, wie etwa ein Target-Bild 221, und gibt von der Ausgangsschicht Merkmale (eine Merkmalskarte) aus, die basierend auf dem Eingangsbild berechnet werden. Der Decodierer 65 empfängt an der Eingangsschicht die durch den Codierer 61 berechneten Merkmale und gibt von der Ausgangsschicht ein Bild (Bestimmungsbild) aus, das basierend auf den Eingangsmerkmalen decodiert wird und für jedes Pixel die geschätzte Wahrscheinlichkeit dafür angibt, dass ein Defekt vorliegt. Der Codierer 61 und der Decodierer 65 können Informationen in einer beliebigen anderen Form eingeben und ausgeben, die eine Implementierung des vorstehend beschriebenen Schätzprozesses ermöglicht. Beispielsweise kann jede Eingangsschicht ferner andere Eingangsinformationen als die vorstehend beschriebenen Informationen empfangen. Jede Ausgangsschicht kann ferner andere Informationen als die vorstehend beschriebenen Informationen ausgeben.
  • Die Faltungsschichten 621 umfassen Neuronen (Knoten) entsprechend der Faltungsberechnung. Die Neuronen (Knoten) sind mit einem Ausgangsbereich entweder der Eingangsschicht oder einer Schicht verbunden, die der Faltungsschicht 621 vorausgeht (oder näher am Eingangsende angeordnet ist als diese). In gleichartiger Weise umfassen die inversen Faltungsschichten 653 ebenfalls Neuronen entsprechend der inversen Faltungsberechnung. Die jeweilige Schicht (621 oder 653) kann eine beliebige Anzahl von Neuronen umfassen, die je nach Bedarf des Anwendungsfalls gewählt wird. Jedes Neuron in den Faltungsschichten 621 kann ferner mit einem Neuron in einer anderen Schicht als einer benachbarten Schicht (z. B. der entsprechenden inversen Faltungsschicht 653 im Decodierer 65) verbunden sein, wie das beispielsweise bei U-Net der Fall ist.
  • Jede der Faltungsschichten 621 und der inversen Faltungsschichten 653 weist ein für ihre Verbindungen definiertes Gewicht auf (Verbindungsgewicht), ähnlich wie jede Schicht im ersten Einschätzungsmodell 5. Jedes Neuron weist einen voreingestellten Schwellwert auf. Der Schwellwert kann unter Verwendung einer Aktivierungsfunktion ausgedrückt werden. Die Verbindungsgewichte zwischen Neuronen, die in den Faltungsschichten 621 und den inversen Faltungsschichten 653 enthalten sind, und die Schwellwerte für die Neuronen sind Beispiele für Rechenparameter, die in dem Rechenprozess verwendet werden, der durch den Codierer 61 und den Decodierer 65 durchgeführt wird.
  • Im vorliegenden Ausführungsbeispiel bezieht der zweite Bezieher 113 die zweiten Trainingsdaten 35, die beim Training des zweiten Einschätzungsmodells 6 mit der vorstehenden Struktur mittels maschinellen Lernens verwendbar sind. In einem Beispiel umfassen die zweiten Trainingsdaten 35 mehrere Trainingsdatensätze 36. Jeder Trainingsdatensatz 36 umfasst ein Paar aus einem Trainingsbild 37 und einem wahren Bild 38. Beim maschinellen Lernen werden die Trainingsbilder 37 als Trainingsdaten verwendet, und die wahren Bilder 38 werden als Ground-Truth-Daten verwendet. Mindestens eines der Trainingsbilder 37 ist ein Defektbild 371. Die anderen Trainingsbilder 37 können Bilder von Objekten ohne Defekte sein. Für ein Trainingsbild 37 eines Defekts zeigt das entsprechende wahre Bild 38 den Bereich des Defekts.
  • Im vorliegenden Ausführungsbeispiel verwendet der zweite Trainer 114 solche zweiten Lerndaten 35, um das zweite Einschätzungsmodell 6 mittels maschinellen Lernens zu trainieren. Insbesondere gibt der zweite Trainer 114 das in jedem Trainingsdatensatz 36 enthaltene Trainingsbild 37 in die Eingangsschicht des Codierers 61 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 61 und dem Decodierer 65 durch. Nach dem Rechenprozess bezieht der zweite Trainer 114 das generierte Bestimmungsbild aus der Ausgangsschicht des Decodierers 65. Der zweite Trainer 114 berechnet den Fehler zwischen dem bezogenen Bestimmungsbild und dem entsprechenden wahren Bild 38. Der zweite Trainer 114 passt iterativ die Werte der Rechenparameter für den Codierer 61 und den Decodierer 65 an, um den für die einzelnen Trainingsdatensätze 36 berechneten Fehler zu reduzieren. Auf diese Weise wird das trainierte zweite Einschätzungsmodell 6 generiert. Die Ground-Truth-Daten können eine beliebige Struktur aufweisen, die auf eine geeignete Weise für das Ausgangsformat des zweiten Einschätzungsmodells 6 ausgewählt wird. Zum Beispiel können für ein zweites Einschätzungsmodell 6, welches das Ergebnis des Identifizierens des Defekttyps ausgibt, die Ground-Truth-Daten Informationen umfassen, die den Defekttyp zusätzlich zu oder anstelle des wahren Bilds 38 angeben.
  • Die Speichereinheit 115 generiert die zweiten Trainingsergebnisdaten 125, die verwendet werden, um das trainierte zweite Einschätzungsmodell 6, das mittels des vorstehend beschriebenen maschinellen Lernens generiert wurde, zu reproduzieren. Die zweiten Trainingsergebnisdaten 125 können eine beliebige Struktur aufweisen, die eine Reproduktion des trainierten zweiten Einschätzungsmodells 6 ermöglicht, ähnlich wie die ersten Trainingsergebnisdaten 121. Die Struktur kann je nach Bedarf des Anwendungsfalls bestimmt werden. Beispielsweise können die zweiten Trainingsergebnisdaten 125 Informationen enthalten, die die Werte der Rechenparameter für das zweite Einschätzungsmodell 6 angeben, die durch Anpassung bei dem vorstehend beschriebenen maschinellen Lernen erhalten wurden. In einigen Ausführungsbeispielen können die zweiten Trainingsergebnisdaten 125 ferner Informationen enthalten, die die Struktur des zweiten Einschätzungsmodells 6 (des Codierers 61 und des Decodierers 65) angeben. Die Speichereinheit 115 speichert die generierten zweiten Trainingsergebnisdaten 125 in einem vorbestimmten Speicherbereich.
  • Inspektionsvorrichtung
  • 5 ist ein schematisches Diagramm der Inspektionsvorrichtung 2 gemäß dem vorliegenden Ausführungsbeispiel, das deren beispielhafte Software-Ausgestaltung zeigt. Die Steuereinheit 21 in der Inspektionsvorrichtung 2 lädt das Inspektionsprogramm 82, das im Massenspeicher 22 gespeichert ist, in den RAM. Die CPU in der Steuereinheit 21 interpretiert und führt daraufhin die Befehle aus, die in dem Inspektionsprogramm 82 enthalten sind, das in den RAM geladen ist, um die jeweiligen Einheiten zu steuern. Wie in 5 gezeigt, arbeitet die Inspektionsvorrichtung 2 gemäß dem vorliegenden Ausführungsbeispiel somit als ein Computer, der als Softwaremodule einen Datenbezieher 211, einen Bereichsextraktor 212, eine Modellberechnungseinheit 213, einen Bestimmer 214, eine Ausgabeeinheit 215, einen Selektor 216 und eine Einstelleinheit 217 aufweist. Mit anderen Worten wird gemäß dem vorliegenden Ausführungsbeispiel auf gleiche Weise wie in der Modellerzeugungsvorrichtung 1 ein jeweiliges Softwaremodul in der Inspektionsvorrichtung 2 durch die Steuereinheit 21 (CPU) implementiert.
  • Der Datenbezieher 211 bezieht ein Target-Bild 221 eines zu inspizierenden Target-Produkts R. In dem Bereichsextraktor 212 sind die ersten Trainingsergebnisdaten 121 gespeichert; somit weist er das erste Einschätzungsmodell 5 auf. Der Bereichsextraktor 212 extrahiert unter Verwendung des ersten Einschätzungsmodells 5 einen Aufmerksamkeitsbereich aus dem Target-Bild 221. Im vorliegenden Ausführungsbeispiel gibt der Bereichsextraktor 212 das Target-Bild 221 in den Codierer 51 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 51 und dem Decodierer 53 durch. Der Bereichsextraktor 212 erzeugt somit für das Target-Bild 221 mit dem Codierer 51 und dem Decodierer 53 ein decodiertes Target-Bild 223. Der Bereichsextraktor 212 berechnet einen zwischen dem erzeugten decodierten Target-Bild 223 und dem Target-Bild 221 differierenden Bereich und erzeugt basierend auf dem differierenden Bereich ein extrahiertes Bild 225. Das extrahierte Bild 225 ist ein Beispiel für einen extrahierten Aufmerksamkeitsbereich. Im vorliegenden Ausführungsbeispiel kann das extrahierte Bild 225 als Aufmerksamkeitskarte erzeugt werden, die für jedes Pixel eine Wahrscheinlichkeit dafür angibt, dass ein Defekt vorliegt. Sowohl die Merkmalskarten 63 als auch die Aufmerksamkeitskarte sind Bilddaten. Der extrahierte Aufmerksamkeitsbereich, der als Aufmerksamkeitskarte erzeugt wird, kann somit einfach in eine Merkmalskarte 63 integriert werden.
  • Die Modellberechnungseinheit 213 speichert die zweiten Trainingsergebnisdaten 125 und weist somit das zweite Einschätzungsmodell 6 auf. Die Modellberechnungseinheit 213 verwendet den extrahierten Aufmerksamkeitsbereich (insbesondere den aus dem Target-Bild 221 extrahierten Aufmerksamkeitsbereich), um den Rechenprozess mit dem zweiten Einschätzungsmodell 6 durchzuführen. Der Rechenprozess mit dem zweiten Einschätzungsmodell 6 umfasst mehrere Projektionsprozesse, die ein Projizieren des Target-Bilds 221 in unterschiedliche Räume mit geringeren Dimensionen umfassen, um mehrere Merkmalskarten 63 mit unterschiedlichen Dimensionen zu generieren. In dem Rechenprozess mit dem zweiten Einschätzungsmodell 6 wird der extrahierte Aufmerksamkeitsbereich in mindestens eine der Merkmalskarten 63 integriert.
  • Im vorliegenden Ausführungsbeispiel gibt die Modellberechnungseinheit 213 das Target-Bild 221 in den Codierer 61 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 61 und dem Decodierer 65 durch. In dem Rechenprozess umfassen mehrere Projektionsprozesse, die mit dem Target-Bild 221 durchgeführt werden, Rechenprozesse, die sequentiell von der Codiereinheit 62 am Eingangsende her mit den Codiereinheiten 62 durchgeführt werden. Der extrahierte Aufmerksamkeitsbereich wird in eine Merkmalskarte 63 integriert, die bei dem Rechenprozess mit dem zweiten Einschätzungsmodell 6 durch mindestens eine der Codiereinheiten 62 erzeugt wird. Bei einem beispielhaften Integrationsverfahren kann die Modellberechnungseinheit 213 das extrahierte Bild 225 für die Größe der Target-Merkmalskarte 63, in die das extrahierte Bild 225 integriert werden soll, geeignet skalieren. Die Modellberechnungseinheit 213 kann dann das skalierte extrahierte Bild 225 mit der Target-Merkmalskarte 63 multiplizieren, um den extrahierten Aufmerksamkeitsbereich in die Target-Merkmalskarte 63 zu integrieren. Der Skalierprozess kann nach Bedarf auch weggelassen werden.
  • Der Bestimmer 214 bestimmt basierend auf dem Rechenergebnis mit dem zweiten Einschätzungsmodell 6, ob das Target-Produkt R einen Defekt aufweist. Die Ausgabeeinheit 215 gibt Informationen aus, die das Ergebnis des Bestimmens angeben, ob das Target-Produkt R einen Defekt aufweist.
  • Der Selektor 216 wählt aus den Codiereinheiten 62 mindestens eine Target-Codiereinheit aus. Der extrahierte Aufmerksamkeitsbereich kann in eine Merkmalskarte 63 integriert werden, die durch die im Rechenprozess mit dem zweiten Einschätzungsmodell 6 ausgewählte mindestens eine Target-Codiereinheit erzeugt wird. Durch Auswählen der Target-Codiereinheit kann die Genauigkeit der mit den zwei Einschätzungsmodellen (5 und 6) durchgeführten visuellen Inspektion optimiert werden. Zur Auswahl der Target-Codiereinheit kann ein Bewertungsdatensatz 227 verwendet werden, der ein Paar aus einem Bewertungsbild 228 und wahren Informationen 229 umfasst.
  • Die Einstelleinheit 217 stellt den Wert eines Parameters ein, der den Grad definiert, um den ein Bildbereich mit einem Defekt als Aufmerksamkeitsbereich extrahiert wird. Der Bereichsextraktor 212 kann einen Aufmerksamkeitsbereich gemäß dem eingestellten Parameterwert extrahieren. Diese Struktur ermöglicht eine Anpassung des Grads, zu dem das mit dem ersten Einschätzungsmodell 5 erzielte Schätzergebnis berücksichtigt wird (einfließt, widergespiegelt wird), wodurch die Genauigkeit der mit den beiden Einschätzungsmodellen (5 und 6) in der Target-Umgebung durchgeführten visuellen Inspektion optimiert wird. Im vorliegenden Ausführungsbeispiel wird ein zwischen dem Target-Bild 221 und dem decodierten Target-Bild 223 differierender Bereiche berechnet, um den Aufmerksamkeitsbereich zu extrahieren. Der Parameter kann somit einen Expansionsparameter umfassen, der den Grad definiert, um den der differierende Bereich expandiert wird. Der Bereichsextraktor 212 kann den Aufmerksamkeitsbereich (im vorliegenden Ausführungsbeispiel das extrahierte Bild 225) durch Expandieren des berechneten differierenden Bereichs gemäß dem Wert des eingestellten Expansionsparameters extrahieren.
  • Weiteres
  • Die einzelnen Softwaremodule in der Modellerzeugungsvorrichtung 1 und der Inspektionsvorrichtung 2 werden nachstehend in den Betriebsbeispielen detailliert beschrieben. Gemäß dem vorliegenden Ausführungsbeispiel werden die einzelnen Softwaremodule in der Modellerzeugungsvorrichtung 1 und der Inspektionsvorrichtung 2 durch eine universelle CPU implementiert. Jedoch können einige oder alle der Softwaremodule auch durch einen oder mehrere dedizierte Prozessoren implementiert werden. Mit anderen Worten können die einzelnen Module auch als Hardware-Module implementiert werden. Für die Software-Ausgestaltungen der Modellerzeugungsvorrichtung 1 und der Inspektionsvorrichtung 2 können je nach Bedarf des Anwendungsfalls Softwaremodule weggelassen, ersetzt oder hinzugefügt werden.
  • 3. Betriebsbeispiel
  • Modellerzeugungsvorrichtung
  • (1) Generieren des ersten Einschätzungsmodells
  • 6 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Generieren (mittels maschinellen Lernens) des ersten Einschätzungsmodells 5, das gemäß dem vorliegenden Ausführungsbeispiel durch die erste Modellerzeugungsvorrichtung 1 durchgeführt wird. Das nachstehend beschriebene Verfahren zum Generieren des ersten Einschätzungsmodells 5 ist ein reines Beispiel, und die einzelnen Schritte davon können auf jede mögliche Weise modifiziert werden. Bei dem nachstehend beschriebenen Verfahren zum Generieren des ersten Einschätzungsmodells 5 können je nach Bedarf des Anwendungsfalls Schritte weggelassen, ersetzt oder hinzugefügt werden.
  • Schritt S101
  • In Schritt S101 arbeitet die Steuereinheit 11 als der erste Bezieher 111 und bezieht erste Trainingsdaten 30, die mehrere akzeptable Produktbilder 31 umfassen.
  • Die akzeptablen Produktbilder 31, die in den ersten Trainingsdaten 30 enthalten sind, können nach Bedarf generiert werden. Beispielsweise wird die Kamera S oder eine Kamera des gleichen Typs wie die Kamera S vorbereitet. Produkte des gleichen Typs wie das Target-Produkt R, die jedoch frei von Defekten sind, werden in der Target-Inspektionsumgebung vorbereitet. Die vorbereiteten Produkte werden dann mit der Kamera abgebildet. Auf diese Weise können akzeptable Produktbilder 31 bezogen werden. Die akzeptablen Produktbilder 31 können unverarbeitete Bilder sein, die mit der Kamera bezogen werden. In einigen Ausführungsbeispielen können die akzeptablen Produktbilder 31 Bilder sein, die durch Verarbeiten der mit der Kamera bezogenen Bilder generiert werden.
  • Die ersten Trainingsdaten 30 können automatisch durch eine Computeroperation generiert werden oder zumindest teilweise manuell durch eine von einer Bedienperson durchgeführte Operation generiert werden. Die ersten Trainingsdaten 30 können durch die Modellerzeugungsvorrichtung 1 oder durch einen anderen Computer als die Modellerzeugungsvorrichtung 1 generiert werden. Wenn die Modellerzeugungsvorrichtung 1 die ersten Trainingsdaten 30 generiert, führt die Steuereinheit 11 den vorstehend beschriebenen Erzeugungsprozess automatisch oder in Reaktion auf eine manuelle Operation durch, die von einer Bedienperson mit der Eingabevorrichtung 15 durchgeführt wird, um die ersten Trainingsdaten 30 zu beziehen. Wenn ein anderer Computer die ersten Trainingsdaten 30 generiert, kann die Steuereinheit 11 die ersten Trainingsdaten 30, die durch den anderen Computer generiert werden, beispielsweise durch ein Netzwerk oder das Speichermedium 91 beziehen. Denkbar ist auch, dass einige der akzeptablen Produktbilder 31 in den ersten Trainingsdaten 30 durch die Modellerzeugungsvorrichtung 1 generiert werden, und die verbleibenden der akzeptablen Produktbilder 31 durch einen oder mehrere andere Computer generiert werden.
  • Die ersten Trainingsdaten 30 können eine beliebige Anzahl von akzeptablen Produktbildern 31 umfassen, die je nach Bedarf des Anwendungsfalls bestimmt werden. Zwar umfassen in einigen Ausführungsbeispielen die ersten Trainingsdaten 30 ausschließlich akzeptable Produktbilder 31, können die ersten Trainingsdaten 30 in anderen Ausführungsbeispielen auch Bilder von defekten Produkten als Trainingsbilder umfassen. Nach Beziehen der ersten Trainingsdaten 30 fährt die Steuereinheit 11 bei ihrer Verarbeitung mit dem nachfolgenden Schritt S 102 fort.
  • Schritt S102
  • In Schritt S102 arbeitet die Steuereinheit 11 als der erste Trainer 112, um das erste Einschätzungsmodell 5 mittels maschinellen Lernens unter Verwendung der bezogenen ersten Trainingsdaten 30 zu trainieren. Die Steuereinheit 11 trainiert mittels maschinellen Lernens das erste Einschätzungsmodell 5 dazu, einen Bildbereich, der mit einer Wahrscheinlichkeit einen Defekt enthält, als einen Aufmerksamkeitsbereich zu extrahieren. Es brauchen nicht alle bezogenen akzeptablen Produktbilder 31 bei dem maschinellen Lernen des ersten Einschätzungsmodells 5 verwendet zu werden. Akzeptable Produktbilder 31 können bei dem maschinellen Lernen auch selektiv verwendet werden.
  • In einem beispielhaften Prozess des maschinellen Lernens bereitet die Steuereinheit 11 zunächst neuronale Netzwerke vor, die den Codierer 51 und den Decodierer 53 des ersten Einschätzungsmodells 5 ausbilden. Die Architektur des jeweiligen neuronalen Netzwerks (z.B. die Anzahl von Schichten, die Typen von Schichten, die Anzahl von Neuronen in jeder Schicht, die Verbindungsbeziehung zwischen Neuronen in benachbarten Schichten), die Standardwerte der Verbindungsgewichte zwischen Neuronen und der Standardschwellwert jedes Neurons können unter Verwendung einer Vorlage voreingestellt werden oder können von einem Bediener eingegeben werden. Zum erneuten Lernen kann die Steuereinheit 11 den Codierer 51 und den Decodierer 53 auf der Grundlage der Trainingsergebnisdaten vorbereiten, die durch vergangenes maschinelles Lernen bezogen wurden.
  • Die Steuereinheit 11 trainiert dann den Codierer 51 und den Decodierer 53 unter Verwendung der akzeptablen Produktbilder 31 in den ersten Trainingsdaten 30 als Trainingsdaten (Eingangsdaten) und Ground-Truth-Daten (Überwachungssignal oder Label). Der Trainingsprozess kann zum Beispiel einen stochastischen Gradientenabstieg und einen Mini-Batch-Gradientenabstieg umfassen.
  • In einem Beispiel des Trainingsprozesses gibt die Steuereinheit 11 jedes akzeptable Produktbild 31 in den Codierer 51 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 51 und dem Decodierer 53 durch. Insbesondere gibt die Steuereinheit 11 jedes akzeptable Produktbild 31 in die Eingangsschicht 511 des Codierers 51 ein und führt den Rechenprozess, wie z.B. Bestimmen eines neuronalen Feuerns in jeder der Schichten, sequentiell von der Schicht am Eingangsende her durch. Nach dem Rechenprozess bezieht die Steuereinheit 11 das basierend auf dem jeweiligen akzeptablen Produktbilde 31 generierte decodierte Bild aus der Ausgangsschicht 533 des Decodierers 53. Die Steuereinheit 11 berechnet den Fehler zwischen dem bezogenen decodierten Bild und dem entsprechenden akzeptablen Produktbild 31. Der Fehler (Verlust) kann mit einer Verlustfunktion berechnet werden. Die zum Berechnen eines solchen Fehlers verwendete Verlustfunktion kann von einem beliebigen Typ sein, der je nach Bedarf des Anwendungsfalls ausgewählt wird.
  • Anschließend berechnet die Steuereinheit 11 den Gradienten des berechneten Fehlers. Die Steuereinheit 11 verwendet eine Rückwärtsausbreitung, um einen Fehler im Wert eines jeweiligen Rechenparameters (z.B. Verbindungsgewicht zwischen Neuronen und Schwellwert des jeweiligen Neurons) für den Codierer 51 und den Decodierer 53 unter Verwendung des berechneten Gradienten des Fehlers von der Schicht am Ausgangsende her zu berechnen. Die Steuereinheit 11 aktualisiert den Wert des jeweiligen Rechenparameters für den Codierer 51 und den Decodierer 53 auf der Grundlage des berechneten Fehlers. Die Werte der Rechenparameter können mit einer Frequenz aktualisiert werden, die auf der Grundlage der Lernrate angepasst wird. Die Lernrate kann von einer Bedienperson angegeben oder als ein in einem Programm voreingestellter Wert bereitgestellt werden.
  • Die Steuereinheit 11 passt für jedes akzeptable Produktbild 31 den Wert eines jeweiligen Rechenparameters für den Codierer 51 und den Decodierer 53 mit der obigen Reihe von Aktualisierungsverarbeitungsschritten dergestalt an, dass die Summe der berechneten Fehler reduziert wird. Zum Beispiel kann die Steuereinheit 11 iterativ den Wert eines jeweiligen Rechenparameters für den Codierer 51 und den Decodierer 53 mit der obigen Reihe von Aktualisierungsverarbeitungsschritten anpassen, bis eine vorbestimmte Bedingung erfüllt ist, wie zum Beispiel, dass eine Operation eine vorbestimmte Anzahl von Malen durchgeführt worden ist oder die Summe der berechneten Fehler unter einen Schwellwert gefallen ist.
  • Die Steuereinheit 11 kann somit mittels maschinellen Lernens das trainierte erste Einschätzungsmodell 5 generieren, das dazu trainiert worden ist, den Bildbereich, der mit Wahrscheinlichkeit einen Defekt enthält, als den Aufmerksamkeitsbereich zu extrahieren. Insbesondere generiert die Struktur im vorliegenden Ausführungsbeispiel das trainierte erste Einschätzungsmodell 5, das die Erscheinungsbilder von defektfreien Produkten in der Target-Inspektionsumgebung mit hoher Genauigkeit rekonstruiert und die Erscheinungsbilder von anderen Produkten mit niedriger Genauigkeit rekonstruiert. Nach Trainieren des ersten Einschätzungsmodells 5 mittels maschinellen Lernens fährt die Steuereinheit 11 in ihrer Verarbeitung mit dem nachfolgenden Schritt S103 fort.
  • Schritt S103
  • In Schritt S103 arbeitet die Steuereinheit 11 als die Speichereinheit 115 und generiert Informationen über das trainierte erste Einschätzungsmodell 5 (den Codierer 51 und den Decodierer 53), das mittels maschinellen Lernens generiert wurde, als die ersten Trainingsergebnisdaten 121. Die Steuereinheit 11 speichert dann die generierten ersten Trainingsergebnisdaten 121 in einem vorbestimmten Speicherbereich.
  • Der vorbestimmte Speicherbereich kann zum Beispiel der RAM in der Steuereinheit 11, der Massenspeicher 12, ein externer Massenspeicher, ein Speichermedium oder eine Kombination von diesen sein. Das Speichermedium ist beispielsweise eine CD oder eine DVD. Die Steuereinheit 11 kann die ersten Trainingsergebnisdaten 121 mittels des Laufwerks 17 in dem Speichermedium speichern. Der externe Massenspeicher kann zum Beispiel ein Datenserver sein, wie zum Beispiel ein Network Attached Storage (NAS). In diesem Fall kann die Steuereinheit 11 die Kommunikationsschnittstelle 13 verwenden, um die ersten Trainingsergebnisdaten 121 über ein Netzwerk auf einem Datenserver zu speichern. Der externe Massenspeicher kann mittels der externen Schnittstelle 14 mit der Modellerzeugungsvorrichtung 1 verbunden sein.
  • Nach dem Speichern der ersten Trainingsergebnisdaten 121 beendet die Steuereinheit 11 das Verfahren zum Erzeugen des ersten Einschätzungsmodells 5 gemäß dem vorliegenden Betriebsbeispiel.
  • Die generierten ersten Trainingsergebnisdaten 121 können der Inspektionsvorrichtung 2 zu einem beliebigen ausgewählten Zeitpunkt bereitgestellt werden. Beispielsweise kann die Steuereinheit 11 die ersten Trainingsergebnisdaten 121 in Schritt S103 oder in einem von Schritt S103 separaten Schritt an die Inspektionsvorrichtung 2 übertragen. Die Inspektionsvorrichtung 2 kann die übertragenen Daten empfangen, um die ersten Trainingsergebnisdaten 121 zu beziehen. In einem anderen Beispiel kann die Inspektionsvorrichtung 2 die Kommunikationsschnittstelle 23 verwenden, um über ein Netzwerk auf die Modellerzeugungsvorrichtung 1 oder einen Datenserver zuzugreifen und die ersten Trainingsergebnisdaten 121 zu beziehen. In noch einem anderen Beispiel kann die Inspektionsvorrichtung 2 die ersten Trainingsergebnisdaten 121 mittels des Speichermediums 92 beziehen. In noch einem anderen Beispiel können die ersten Trainingsergebnisdaten 121 vorab in der Inspektionsvorrichtung 2 gespeichert sein.
  • Die Steuereinheit 11 kann ferner die ersten Trainingsergebnisdaten 121 durch regelmäßiges oder unregelmäßiges Iterieren der Verarbeitung in den obigen Schritten S101 bis S103 aktualisieren oder neu generieren. Während der iterativen Verarbeitung kann zumindest ein Teil der ersten Trainingsdaten 30, die für das maschinelle Lernen verwendet werden, beispielsweise nach Bedarf Änderungen, Modifikationen, Hinzufügungen und/oder Löschungen unterzogen werden. Die Steuereinheit 11 kann die aktualisierten oder neu generierten ersten Trainingsergebnisdaten 121 der Inspektionsvorrichtung 2 auf eine beliebige Weise bereitstellen, um die in der Inspektionsvorrichtung 2 gespeicherten ersten Trainingsergebnisdaten 121 zu aktualisieren.
  • (2) Generieren des zweiten Einschätzungsmodells
  • 7 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Generieren des zweiten Einschätzungsmodells 6 (mittels maschinellen Lernens), das gemäß dem vorliegenden Ausführungsbeispiel durch die Modellerzeugungsvorrichtung 1 durchgeführt wird. Das nachstehend beschriebene Verfahren zum Generieren des zweiten Einschätzungsmodells 6 ist ein reines Beispiel, und die einzelnen Schritte davon können auf jede mögliche Weise modifiziert werden. Beim nachstehend beschriebenen Verfahren zum Generieren des zweiten Einschätzungsmodells 6 können in je nach Bedarf des Anwendungsfalls Schritte weggelassen, ersetzt oder hinzugefügt werden.
  • Schritt S151
  • In Schritt S151 arbeitet die Steuereinheit 11 als der zweite Bezieher 113 und bezieht die zweiten Trainingsdaten 35, die mehrere Defektbilder 371 umfassen. Bei dem vorliegenden Ausführungsbeispiel umfassen die zweiten Trainingsdaten 35 mehrere Trainingsdatensätze 36. Jeder Trainingsdatensatz 36 umfasst ein Paar aus einem Trainingsbild 37 und einem wahren Bild 38. Mindestens eines der Trainingsbilder 37 ist ein Defektbild 371.
  • Die Trainingsdatensätze 36, die in den zweiten Trainingsdaten 35 enthalten sind, können nach Bedarf generiert werden. Auf die gleiche Weise wie bei den ersten Trainingsdaten 30 wird beispielsweise die Kamera S oder eine Kamera des gleichen Typs wie die Kamera S vorbereitet. Außerdem werden Produkte mit Defekten vorbereitet. Die vorbereiteten Produkte werden dann mit der Kamera abgebildet. Auf diese Weise können die Defektbilder 371 generiert werden, die als die Trainingsbilder 37 verwendbar sind. Eine Bildverarbeitung kann verwendet werden, um lediglich die Defekte in den bezogenen Bildern zu extrahieren. Mit anderen Worten kann ein Bild lediglich eines Defekts als das Defektbild 371 generiert werden. Das Defektbild 371 kann darüber hinaus das Erscheinungsbild des Produkts umfassen oder nicht umfassen. Auch ein Bild eines Objekts ohne irgendeinen Defekt kann als das Trainingsbild 37 generiert werden. Dieses Trainingsbild 37 kann nach Bedarf durch Bildverarbeitung generiert werden. In einigen Ausführungsbeispielen können defektfreie Produkte mit einer Kamera abgebildet werden, um die Trainingsbilder 37 der Produkte ohne Defekte zu generieren. Die Trainingsbilder 37 können unverarbeitete Bilder sein, die mit der Kamera bezogen werden, oder können Bilder sein, die durch Verarbeiten der mit der Kamera bezogenen Bilder generiert werden. Die generierten Trainingsbilder 37 sind jeweils mit dem entsprechenden wahren Bild 38 assoziiert, das den Bereich des Defekts angibt. Die wahren Bilder 38 können aus den Trainingsbildern 37 derart generiert werden, dass sie das gleiche Format wie Bestimmungsbilder aufweisen. In einigen Ausführungsbeispielen können die wahren Bilder 38 manuell durch eine Bedienperson generiert werden. Jeder Trainingsdatensatz 36 kann durch diesen Prozess generiert werden.
  • Die zweiten Trainingsdaten 35 können automatisch durch eine Computeroperation generiert werden oder zumindest teilweise manuell durch eine von einer Bedienperson durchgeführte Operation generiert werden. Die zweiten Trainingsdaten 35 können durch die Modellerzeugungsvorrichtung 1 oder durch einen anderen Computer als die Modellerzeugungsvorrichtung 1 generiert werden. Wenn die Modellerzeugungsvorrichtung 1 die zweiten Trainingsdaten 35 generiert, kann die Steuereinheit 11 den vorstehend beschriebenen Erzeugungsprozess automatisch oder in Reaktion auf eine manuelle Operation durchführen, die von einer Bedienperson mit der Eingabevorrichtung 15 durchgeführt wird, um die zweiten Trainingsdaten 35 zu beziehen. Wenn ein anderer Computer die zweiten Trainingsdaten 35 generiert, kann die Steuereinheit 11 die zweiten Trainingsdaten 35, die durch den anderen Computer generiert werden, beispielsweise durch ein Netzwerk oder das Speichermedium 91 beziehen. Einige der Trainingsdatensätze 36 in den zweiten Trainingsdaten 35 können durch die Modellerzeugungsvorrichtung 1 generiert werden, und die verbleibenden Sätze der Trainingsdaten 36 können durch einen oder mehrere andere Computer generiert werden.
  • Die zweiten Trainingsdaten 35 können eine beliebige Anzahl von Trainingsdatensätzen 36 umfassen, die je nach Bedarf des Anwendungsfalls bestimmt werden. Nach Beziehen der zweiten Trainingsdaten 35 fährt die Steuereinheit 11 in ihrer Verarbeitung mit dem nachfolgenden Schritt S152 fort.
  • Schritt S152
  • In Schritt S152 arbeitet die Steuereinheit 11 als der zweite Trainer 114 und trainiert das zweite Einschätzungsmodell 6 mittels maschinellen Lernens unter Verwendung der bezogenen zweiten Trainingsdaten 35. Die Steuereinheit 11 trainiert das zweite Einschätzungsmodell 6 mittels maschinellen Lernens dazu, die Wahrscheinlichkeit dafür zu bestimmen, dass in einem gegebenen Bild ein Defekt vorliegt. Es brauchen nicht alle bezogenen Trainingsdatensätze 36 bei dem maschinellen Lernen des zweiten Einschätzungsmodells 6 verwendet zu werden. Trainingsdatensätze 36 können bei dem maschinellen Lernen auch selektiv verwendet werden.
  • In einem beispielhaften Prozess des maschinellen Lernens bereitet die Steuereinheit 11 zunächst neuronale Netzwerke vor, die den Codierer 61 und den Decodierer 65 des zweiten Einschätzungsmodells 6 bilden und dafür vorgesehen sind, einem maschinellen Lernen unterzogen zu werden. Die Architektur des jeweiligen neuronalen Netzwerks, die Standardwerte der Verbindungsgewichte zwischen Neuronen und der Standardschwellwert des jeweiligen Neurons können unter Verwendung einer Vorlage voreingestellt werden oder können von einer Bedienperson eingegeben werden. Zum erneuten Lernen kann die Steuereinheit 11 den Codierer 61 und den Decodierer 65 auf der Grundlage der Trainingsergebnisdaten vorbereiten, die durch vergangenes maschinelles Lernen bezogen wurden.
  • Die Steuereinheit 11 trainiert sodann den Codierer 61 und den Decodierer 65 unter Verwendung des jeweiligen Trainingsbilds 37 in den jeweiligen Trainingsdatensatz 36 als Trainingsdaten und des entsprechenden wahren Bilds 38 als Ground-Truth-Daten. Der Trainingsprozess kann zum Beispiel einen stochastischen Gradientenabstieg und/oder einen Mini-Batch-Gradientenabstieg umfassen.
  • In einem Beispiel des Trainingsprozesses gibt die Steuereinheit 11 das Trainingsbild 37 eines jeweiligen Trainingsdatensatzes 36 in den Codierer 61 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 61 und dem Decodierer 65 durch. Insbesondere gibt die Steuereinheit 11 ein jeweiliges Trainingsbild 37 in die Eingangsschicht des Codierers 61 ein und führt sequentiell von der Schicht am Eingangsende her einen Rechenprozess durch, wie z.B. Bestimmen eines neuronalen Feuerns in einer jeweiligen der Schichten. Nach dem Rechenprozess bezieht die Steuereinheit 11 das basierend auf jedem Trainingsbild 37 generierte Bestimmungsbild aus der Ausgangsschicht des Decodierers 65. Die Steuereinheit 11 berechnet einen Fehler zwischen dem bezogenen Bestimmungsbild und dem entsprechenden wahren Bild 38 für jeden Trainingsdatensatz 36. Der Fehler (Verlust) kann mit einer beliebigen Verlustfunktion berechnet werden. Beispielsweise kann der Fehler zwischen dem Bestimmungsbild und dem wahren Bild 38 durch Intersection over Union (IoU) berechnet werden.
  • Anschließend berechnet die Steuereinheit 11 den Gradienten des berechneten Fehlers. Die Steuereinheit 11 verwendet eine Rückwärtsausbreitung, um von der Schicht am Ausgangsende her unter Verwendung des berechneten Gradienten des Fehlers einen Fehler im Wert eines jeweiligen Rechenparameters für den Codierer 61 und den Decodierer 65 zu berechnen. Die Steuereinheit 11 aktualisiert den Wert des jeweiligen Rechenparameters für den Codierer 61 und den Decodierer 65 auf der Grundlage des berechneten Fehlers. Wie beim ersten Einschätzungsmodell 5 kann der Wert des jeweiligen Rechenparameters mit einer Frequenz aktualisiert werden, die auf der Grundlage der Lernrate angepasst wird.
  • Die Steuereinheit 11 passt für einen jeweiligen Trainingsdatensatz 36 den Wert eines jeweiligen Rechenparameters für den Codierer 61 und den Decodierer 65 mittels der vorstehend beschriebenen Reihe von Aktualisierungsverarbeitungsschritten dergestalt an, dass die Summe der berechneten Fehler reduziert wird. In der gleichen Weise wie beim ersten Einschätzungsmodell 5 kann die Steuereinheit 11 iterativ den Wert eines jeweiligen Rechenparameters für den Codierer 61 und den Decodierer 65 mittels der vorstehend beschriebenen Reihe von Verarbeitungsschritten anpassen, bis die vorbestimmte Bedingung erfüllt ist.
  • Die Steuereinheit 11 kann somit mittels maschinellen Lernens das trainierte zweite Einschätzungsmodell 6 generieren, das dazu trainiert ist, die Wahrscheinlichkeit dafür zu bestimmen, dass in einem gegebenen Bild ein Defekt vorliegt. Nach dem Trainieren des zweiten Einschätzungsmodells 6 mittels maschinellen Lernens fährt die Steuereinheit 11 in ihrer Verarbeitung mit dem nachfolgenden Schritt S153 fort.
  • Schritt S153
  • In Schritt S153 arbeitet die Steuereinheit 11 als die Speichereinheit 115 und generiert Informationen über das trainierte zweite Einschätzungsmodell 6 (den Codierer 61 und den Decodierer 65), das mittels maschinellen Lernens generiert wurde, als die zweiten Trainingsergebnisdaten 125. Die Steuereinheit 11 speichert sodann die generierten zweiten Trainingsergebnisdaten 125 in einem vorbestimmten Speicherbereich. Wie in Schritt S103 kann der vorbestimmte Speicherbereich zum Beispiel der RAM in der Steuereinheit 11, der Massenspeicher 12, ein externer Massenspeicher, ein Speichermedium oder eine Kombination von diesen sein. Die zweiten Trainingsergebnisdaten 125 können in demselben Massenspeicher wie die ersten Trainingsergebnisdaten 121 gespeichert werden oder können in einem unterschiedlichen Massenspeicher gespeichert werden.
  • Nach dem Speichern der zweiten Trainingsergebnisdaten 125 beendet die Steuereinheit 11 das Verfahren zum Erzeugen des zweiten Einschätzungsmodells 6 gemäß dem vorliegenden Betriebsbeispiel. Ähnlich wie die ersten Trainingsergebnisdaten 121 können die zweiten Trainingsergebnisdaten 125 der Inspektionsvorrichtung 2 zu einem beliebigen ausgewählten Zeitpunkt bereitgestellt werden. Die Verarbeitung in den Schritten S151 bis S153 kann regelmäßig oder unregelmäßig iteriert werden. Während der iterativen Verarbeitung kann zumindest ein Teil der zweiten Trainingsdaten 35 nach Bedarf Änderungen, Modifikationen, Hinzufügungen und Löschungen unterzogen werden. Die durch die iterative Verarbeitung aktualisierten oder neu generierten zweiten Trainingsergebnisdaten 125 können der Inspektionsvorrichtung 2 auf eine beliebige Weise bereitgestellt werden, um die in der Inspektionsvorrichtung 2 gespeicherten zweiten Trainingsergebnisdaten 125 zu aktualisieren.
  • Inspektionsvorrichtung
  • (1) Auswählen einer Target-Codiereinheit
  • 8 ist ein Flussdiagramm eines beispielhaften Verfahrens zum Auswählen einer Target-Codiereinheit, das gemäß dem vorliegenden Ausführungsbeispiel durch die Inspektionsvorrichtung 2 durchgeführt wird. Die Steuereinheit 21 arbeitet als der Selektor 216 und führt die Verarbeitung in den nachstehend beschriebenen Schritten S201 bis S210 durch. Das nachstehend beschriebene Verfahren zum Auswählen einer Target-Codiereinheit ist ein reines Beispiel, und die einzelnen Schritte davon können auf jede mögliche Weise modifiziert werden. Bei dem nachstehend beschriebenen Verfahren zum Auswählen einer Target-Codiereinheit können je nach Bedarf des Anwendungsfalls Schritte weggelassen, ersetzt oder hinzugefügt werden.
  • Schritt S201
  • In Schritt S201 bezieht die Steuereinheit 21 ein Bewertungsbild 228 eines Produkts zur Bewertung mit einem vorbestimmten Defekt. Bei dem vorliegenden Ausführungsbeispiel bezieht die Steuereinheit 21 einen Datensatz 227 zur Bewertung, der ein Paar aus dem Bewertungsbild 228 und wahren Informationen 229 umfasst. Das Bewertungsbild 228 kann auf die gleiche Weise wie die akzeptablen Produktbilder 31, die Trainingsbilder 37 und andere Bilder mit einer Kamera generiert werden, die ein Produkt zur Bewertung mit einem vorbestimmten Defekt abbildet. In einigen Ausführungsbeispielen kann das Bewertungsbild 228 durch eine beliebige Bildverarbeitung generiert werden. Die wahren Informationen 229 sind auf geeignete Weise strukturiert, um den Bildbereich des vorbestimmten Defekts anzugeben. Beispielsweise können die wahren Informationen 229 auf gleichartige Weise wie die wahren Bilder 38 strukturiert sein. Die Anzahl der zu beziehenden Bewertungsdatensätze 227 kann je nach Bedarf bestimmt werden. Nach Beziehen des Bewertungsdatensatzes 227 fährt die Steuereinheit 21 in ihrer Verarbeitung mit dem nachfolgenden Schritt S202 fort.
  • Schritt S202
  • In Schritt S202 extrahiert die Steuereinheit 21 unter Verwendung des ersten Einschätzungsmodells 5 aus dem bezogenen Bewertungsbild 228 einen Aufmerksamkeitsbereich. Im vorliegenden Ausführungsbeispiel bezieht sich die Steuereinheit 21 auf die ersten Trainingsergebnisdaten 121 und definiert das trainierte erste Einschätzungsmodell 5. Anschließend gibt die Steuereinheit 21 das Bewertungsbild 228 in die Eingangsschicht 511 des Codierers 51 des ersten Einschätzungsmodells 5 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 51 und dem Decodierer 53 durch. Nach dem Rechenprozess bezieht die Steuereinheit 21 das basierend auf dem Bewertungsbild 228 generierte decodierte Bild aus der Ausgangsschicht 533 des Decodierers 53.
  • Die Steuereinheit 21 berechnet den zwischen dem erzeugten decodierten Bild und dem Bewertungsbild 228 differierenden Bereich. Die Steuereinheit 21 kann den berechneten unverarbeiteten differierenden Bereich als ein extrahiertes Bild (extrahierter Aufmerksamkeitsbereich) beziehen. Wenn ein Expansionsparameter voreingestellt ist, kann die Steuereinheit 21 das extrahierte Bild durch Expandieren des berechneten differierenden Bereichs gemäß dem voreingestellten Wert des Expansionsparameters beziehen. Das Expandieren des differierenden Bereichs kann beispielsweise ein Verwaschen (insbesondere Glättung mit einem Filter) und eine Ausdehnung (Dilation) umfassen. In einem Beispiel kann der Expansionsparameter einen Filter, wie etwa einen Gauß-Filter, angeben. In diesem Fall kann die Steuereinheit 21 das extrahierte Bild durch Glätten des differierenden Bereichs mit dem Filter beziehen, der durch den Wert des Expansionsparameters angegeben wird. Nach Extrahieren des Aufmerksamkeitsbereichs aus dem Bewertungsbild 228 fährt die Steuereinheit 21 in ihrer Verarbeitung mit dem nachfolgenden Schritt S203 fort.
  • Schritte S203 bis S209
  • In Schritt S203 stellt die Steuereinheit 21 eine Variable n auf 1 ein. Die Variable n wird verwendet, um eine Codiereinheit 62 anzugeben, die vorläufig als Target-Codiereinheit ausgewählt ist.
  • In Schritt S204 bezieht sich die Steuereinheit 21 auf die zweiten Trainingsergebnisdaten 125 und definiert das trainierte zweite Einschätzungsmodell 6. Das zweite Einschätzungsmodell 6 kann vor der Verarbeitung in Schritt S203 definiert werden. Die Steuereinheit 21 gibt das Bewertungsbild 228 in die Eingangsschicht des Codierers 61 des zweiten Einschätzungsmodells 6 ein und führt eine Vorwärtsausbreitungsberechnung bis zur n-ten Codiereinheit 62 durch. Die Steuereinheit 21 bezieht somit eine Merkmalskarte 63 von der n-ten Codiereinheit 62.
  • In Schritt S205 integriert die Steuereinheit 21 das extrahierte Bild, das bei der Verarbeitung in Schritt S202 erhalten wird, in die durch die n-te Codiereinheit 62 erzeugte Merkmalskarte 63. Der durch das erste Einschätzungsmodell 5 extrahierte Aufmerksamkeitsbereich kann mit jedem Verfahren integriert werden, das es ermöglicht, dass der extrahierte Aufmerksamkeitsbereich bei der durch das zweite Einschätzungsmodell 6 durchgeführten Wahrscheinlichkeitsbestimmung eines Defekts berücksichtigt wird. Das Integrationsverfahren kann je nach Bedarf des Anwendungsfalls bestimmt werden. Bei einem einfachen Integrationsverfahren kann die Steuereinheit 21 das extrahierte Bild entsprechend der Größe der Target-Merkmalskarte 63, in die extrahierte Bild integriert werden soll, geeignet skalieren und das skalierte extrahierte Bild mit der Target-Merkmalskarte 63 multiplizieren. Die Steuereinheit 21 kann den extrahierten Aufmerksamkeitsbereich durch diese Reihe von Verarbeitungsschritten in die Target-Merkmalskarte 63 integrieren. Bei diesem Integrationsverfahren gibt die Steuereinheit 21 das vorstehende Integrationsergebnis in die nächste Schicht ein.
  • In Schritt S206 führt die Steuereinheit 21 eine Vorwärtsausbreitungsberechnung mit dem verbleibenden Teil des zweiten Einschätzungsmodells 6 durch (speziell mit den Komponenten nach der n-ten Codiereinheit 62). Die Steuereinheit 21 bezieht somit durch die Berechnung als Berechnungsergebnis des zweiten Einschätzungsmodells 6 das Bestimmungsbild für das Bewertungsbild 228 aus der Ausgangsschicht des Decodierers 65. Die Steuereinheit 21 bestimmt basierend auf dem Bestimmungsbild (Berechnungsergebnis des zweiten Einschätzungsmodells 6), ob das Produkt zur Bewertung einen Defekt aufweist. Durch die Verarbeitung aus den Schritten S204 bis S206 kann die Steuereinheit 21 das Ergebnis der versuchsweisen Bestimmung dahingehend beziehen, ob das Produkt zur Bewertung im Bewertungsbild 228 einen Defekt aufweist, wenn die n-te Codiereinheit vorläufig als die Target-Codiereinheit ausgewählt ist.
  • In Schritt S207 bewertet die Steuereinheit 21 unter Verwendung der wahren Informationen 229 das versuchsweise Ergebnis, das durch die Verarbeitung bis zu Schritt S206 bezogen wurde. Die Steuereinheit 21 stellt eine höhere Bewertung für die Codiereinheit 62 bereit, die versuchsweise vorläufig als die Target-Codiereinheit ausgewählt ist, wenn die Bestimmungsgenauigkeit (insbesondere die Detektionsgenauigkeit von Defekten) höher ist. Ein beliebiges Bewertungsverfahren oder eine beliebige Bewertungsskala, das bzw. die eine Bewertung auf diese Weise ermöglicht, kann verwendet werden In einem Beispiel kann die Steuereinheit 21 den Grad der Überlappung zwischen einem wahren Bereich und einem detektierten Bereich als Bewertungswert bewerten. Der wahre Bereich ist ein Bildbereich eines vorbestimmten Defekts, der durch die wahren Informationen 229 angegeben wird. Der detektierte Bereich ist ein Bildbereich, für den basierend auf dem Bestimmungsbild bestimmt wird, dass er einen Defekt enthält (oder für den bestimmt wird, dass er mit hoher Wahrscheinlichkeit einen Defekt enthält).
  • In Schritt S208 bestimmt die Steuereinheit 21 ein Verzweigungsziel der Verarbeitung basierend auf dem Wert der Variable n. Weist die Variable n einen anderer Wert als N (2 oder größer) auf, fährt die Steuereinheit 21 die Verarbeitung mit dem Schritt S209 fort. N ist die Anzahl der Codiereinheiten 62, die in dem Codierer 61 enthalten sind. In Schritt S209 inkrementiert die Steuereinheit 21 den Wert der Variable n um 1. Die Steuereinheit 21 führt sodann die Verarbeitung ab Schritt S204 basierend auf der neuen Variable n erneut durch. Nimmt Variable n den Wert N an, fährt die Steuereinheit 21 in ihrer Verarbeitung mit dem Schritt S210 fort.
  • Im vorliegenden Ausführungsbeispiel iteriert die Steuereinheit 21 die Verarbeitung aus den Schritten S204 bis S206, während sie den Wert der Variable n mittels der vorstehend beschriebenen Schleifenverarbeitung ändert. Diese Reihe von Verarbeitungsschritten ermöglicht es der Steuereinheit 21, den Rechenprozess mit dem zweiten Einschätzungsmodell 6 unter Verwendung des aus dem Bewertungsbild 228 extrahierten Aufmerksamkeitsbereichs iterieren, wobei die vorläufig als die Target-Codiereinheit ausgewählte Codiereinheit 62 geändert wird. Die iterative Verarbeitung ermöglicht es der Steuereinheit 21, für jede Codiereinheit 62 eine versuchsweise Bestimmung (Defektdetektion) dahingehend durchzuführen, ob das bewertete Produkt im Bewertungsbild 228 einen Defekt aufweist, wenn die Codiereinheit 62 vorläufig als die Target-Codiereinheit ausgewählt ist.
  • Das vorstehende versuchsweise Verfahren ist ein Beispiel. Die versuchsweise Defektdetektion für das bewertete Produkt kann mit einem beliebigen anderen Verfahren durchgeführt werden, das je nach Bedarf des Anwendungsfalls geändert werden kann. Im vorstehenden Beispiel wird in jedem Versuch eine der Codiereinheiten 62 vorläufig als die Target-Codiereinheit ausgewählt. Jedoch können in jedem Versuch eine beliebige Anzahl von Codiereinheiten 62 vorläufig als die Target-Codiereinheiten ausgewählt werden, insbesondere können zwei oder mehr Codiereinheiten 62 vorläufig als Target-Codiereinheiten ausgewählt werden.
  • Schritt S210
  • In Schritt S210 wählt die Steuereinheit 21 basierend auf den Ergebnissen der durchgeführten Versuche die optimale Codiereinheit 62 als die Target-Codiereinheit aus. Im vorliegenden Ausführungsbeispiel wählt die Steuereinheit 21 die Codiereinheit 62 mit der höchsten in Schritt S207 bezogenen Bewertung als die Target-Codiereinheit aus (insbesondere die Codiereinheit 62, die das genaueste Versuchsergebnis bei der Bestimmung liefert). Nach dem Auswählen der Target-Codiereinheit beendet die Steuereinheit 21 die Verarbeitung zum Auswählen der Target-Codiereinheit gemäß dem vorliegenden Betriebsbeispiel. Die beschriebene Verarbeitung kann die Genauigkeit der visuellen Inspektion mit den beiden Einschätzungsmodellen (5 und 6) automatisch optimieren.
  • (2) Visuelle Inspektion
  • 9 ist ein Flussdiagramm eines beispielhaften Verfahrens zur visuellen Inspektion, das gemäß dem vorliegenden Ausführungsbeispiel durch die Inspektionsvorrichtung 2 durchgeführt wird. Das nachstehend beschriebene Verfahren zur visuellen Inspektion ist ein reines Beispiel für ein Inspektionsverfahren, und die einzelnen Schritte davon können auf jede mögliche Weise modifiziert werden. Bei dem nachstehend beschriebenen Verfahren zur visuellen Inspektion können in den jeweiligen Ausführungsbeispielen Schritte je nach Bedarf des Anwendungsfalls weggelassen, ersetzt oder hinzugefügt werden.
  • Schritt S301
  • In Schritt S301 arbeitet die Steuereinheit 21 als der Datenbezieher 211 und bezieht das Target-Bild 221 des zu inspizierenden Target-Produkts R. Im vorliegenden Ausführungsbeispiel bezieht die Steuereinheit 21 das Target-Bild 221 über die externe Schnittstelle 24 direkt von der Kamera S. Das Target-Bild 221 kann ein bewegtes Bild oder ein Standbild sein. Das Target-Bild 221 kann über einen beliebigen anderen Pfad bezogen werden. Beispielsweise kann die Kamera S mit einem anderen Computer verbunden sein. In diesem Fall kann die Steuereinheit 21 das Target-Bild 221 über einen anderen Computer indirekt von der Kamera S beziehen. Nach Beziehen des Target-Bilds 221 fährt die Steuereinheit 21 in ihrer Verarbeitung mit dem nachfolgenden Schritt S302 fort.
  • Schritt S302
  • In Schritt S302 arbeitet die Steuereinheit 21 als der Bereichsextraktor 212 und extrahiert unter Verwendung des ersten Einschätzungsmodells 5 einen Aufmerksamkeitsbereich aus dem Target-Bild 221.
  • Im vorliegenden Ausführungsbeispiel definiert die Steuereinheit 21 das trainierte erste Einschätzungsmodell 5 in der gleichen Weise wie in Schritt S202, indem sie sich auf die ersten Trainingsergebnisdaten 121 bezieht. Die Steuereinheit 21 gibt sodann das Target-Bild 221 in die Eingangsschicht 511 des Codierers 51 des ersten Einschätzungsmodells 5 ein und führt eine Vorwärtsausbreitungsberechnung mit dem Codierer 51 und dem Decodierer 53 durch. Der Rechenprozess ermöglicht es der Steuereinheit 21, das basierend auf dem Target-Bild 221 generierte decodierte Zielbild 223 aus der Ausgangsschicht 533 des Decodierers 53 zu beziehen. Die Steuereinheit 21 berechnet den zwischen dem erzeugten decodierten Target-Bild 223 und dem Target-Bild 221 differierenden Bereich und erzeugt das extrahierte Bild 225 basierend auf dem berechneten differierenden Bereich. Das extrahierte Bild 225 kann als Aufmerksamkeitskarte erzeugt werden, die für jedes Pixel eine Wahrscheinlichkeit dafür angibt, dass ein Defekt vorliegt.
  • In der gleichen Weise wie in Schritt S202 kann die Steuereinheit 21 den berechneten unverarbeiteten differierenden Bereich als das extrahierte Bild 225 beziehen. In einigen Ausführungsbeispielen, in denen ein Expansionsparameter voreingestellt ist, kann die Steuereinheit 21 das extrahierte Bild 225 durch Expandieren des berechneten differierenden Bereichs gemäß dem eingestellten Wert des Expansionsparameters beziehen. Die Struktur, die den Expansionsparameter wie in diesem Ausführungsbeispiel verwendet, ermöglicht eine einfache Anpassung des Grads, mit dem das mit dem ersten Einschätzungsmodell 5 erzielte Schätzergebnis bei der visuellen Inspektion berücksichtigt wird. Der Expansionsparameter ist ein Beispiel für einen Parameter, der den Grad definiert, um den ein Bildbereich mit einem Defekt als Extraktionsbereich extrahiert wird (im Folgenden auch als Extraktionsparameter bezeichnet). Der Wert des Parameters kann zu einem beliebigen ausgewählten Zeitpunkt eingestellt werden. Beispielsweise kann die Steuereinheit 21 vor oder während der Verarbeitung für die visuelle Inspektion gemäß dem vorliegenden Betriebsbeispiel eine Angabe eines Werts des Parameters durch die Eingabevorrichtung 25 empfangen. Nach Beziehen des extrahierten Bilds 225 (extrahierter Aufmerksamkeitsbereich) fährt die Steuereinheit 21 in ihrer Verarbeitung mit dem nachfolgenden Schritt S303 fort.
  • Schritt S303
  • In Schritt S303 arbeitet die Steuereinheit 21 als die Modellberechnungseinheit 213 und führt unter Verwendung des durch das erste Einschätzungsmodell 5 aus dem Target-Bild 221 extrahierten Aufmerksamkeitsbereichs (extrahiertes Bild 225) den Rechenprozess mit dem zweiten Einschätzungsmodell 6 durch.
  • Im vorliegenden Ausführungsbeispiel bezieht sich die Steuereinheit 21 auf die zweiten Trainingsergebnisdaten 125, um das trainierte zweite Einschätzungsmodell 6 zu definieren. Die Steuereinheit 21 gibt das Target-Bild 221 in die Eingangsschicht des Codierers 61 des zweiten Einschätzungsmodells 6 ein und führt eine Vorwärtsausbreitungsberechnung bis zu einer Codiereinheit 62 durch, die als die Target-Codiereinheit ausgewählt ist. Der Rechenprozess ermöglicht es der Steuereinheit 21, eine Merkmalskarte 63 von der ausgewählten Codiereinheit 62 zu beziehen. Anschließend integriert die Steuereinheit 21 das extrahierte Bild 225 in die durch die ausgewählte Codiereinheit 62 erzeugte Merkmalskarte 63. Hierfür kann das gleiche Integrationsverfahren wie in Schritt S205 verwendet werden. Wenn mehrere Codiereinheiten 62 als Target-Codiereinheiten ausgewählt sind, führt die Steuereinheit 21 sequentiell vom Eingangsende her die Vorwärtsausbreitungsberechnung und den Integrationsprozess bis zu jeder der ausgewählten Codiereinheiten 62 durch. Die Steuereinheit 21 führt sodann eine Vorwärtsausbreitungsberechnung mit dem verbleibenden Teil des zweiten Einschätzungsmodells 6 durch. Dies ermöglicht es der Steuereinheit 21, das Bestimmungsbild für das Target-Bild 221 aus der Ausgangsschicht des Decodierers 65 als Berechnungsergebnis mit dem zweiten Einschätzungsmodell 6 zu beziehen.
  • Im vorliegenden Ausführungsbeispiel führt die Steuereinheit 21 in dem Rechenprozess mit dem zweiten Einschätzungsmodell 6 den Rechenprozess sequentiell vom Eingangsende her mit den Codiereinheiten 62 im Codierer 61 durch. Der Rechenprozess mit der jeweiligen Codiereinheit 62 bewirkt, dass mehrere Projektionsprozesse mit dem Target-Bild 221 durchgeführt werden, wodurch mehrere Merkmalskarten 63 mit unterschiedlichen Dimensionen generiert werden. Das extrahierte Bild 225 wird in die durch mindestens eine in dem Rechenprozess mit dem zweiten Einschätzungsmodell 6 ausgewählte Target-Codiereinheit generierte Merkmalskarte 63 integriert. Nach dem Rechenprozess mit dem zweiten Einschätzungsmodell 6 fährt die Steuereinheit 21 in ihrer Verarbeitung mit dem nachfolgenden Schritt S304 fort.
  • Schritt S304
  • In Schritt S304 arbeitet die Steuereinheit 21 als der Bestimmer 214 und bestimmt basierend auf dem Rechenergebnis mit dem zweiten Einschätzungsmodell 6, ob das Target-Produkt R einen Defekt aufweist (ob in dem Target-Produkt R ein Defekt vorliegt).
  • Das Bestimmen, ob ein Defekt vorliegt, ist ein Bestimmen, unter Bezugnahme auf die Ausgabe (Rechenergebnis) aus dem zweiten Einschätzungsmodell 6, ob ein Defekt detektiert wurde. Die Form der Bestimmung kann beispielsweise auf geeignete Weise entsprechend der Ausgabeform des zweiten Einschätzungsmodells 6 bestimmt werden. In einem Beispiel kann das Bestimmen, ob ein Defekt vorliegt, umfassen: Bestimmen, ob ein Defekt enthalten ist, Identifizieren des Defekttyps, Extrahieren des Bereichs, in dem der Defekt enthalten ist (oder des Bereichs mit einer Wahrscheinlichkeit, dass er den Defekt enthält), Schätzen der Wahrscheinlichkeit dafür, dass ein Defekt vorliegt, oder eine Kombination davon. Die Steuereinheit 21 kann das unverarbeitete Bestimmungsbild oder kann das einer Informationsverarbeitung (z. B. Schwellwertbestimmung) unterzogene Bestimmungsbild als Bestimmungsergebnis beziehen. Nach dem Bestimmen, ob das Target-Produkt R einen Defekt aufweist, fährt die Steuereinheit 21 in ihrer Verarbeitung mit dem nachfolgenden Schritt S305 fort.
  • Schritt S305
  • In Schritt S305 gibt die Steuereinheit 21 Informationen aus, die das Ergebnis des Bestimmens angeben, ob das Target-Produkt R einen Defekt aufweist.
  • Das Ausgabeziel und die Details der Ausgabeinformationen können in je nach Bedarf des Anwendungsfalls bestimmt werden.
  • Die Informationen können z. B. in den RAM in der Steuereinheit 21, an die Ausgabevorrichtung 26 oder an einen anderen Computer ausgegeben werden. Informationen, die das Bestimmungsergebnis angeben, können Informationen umfassen, die durch eine Informationsverarbeitung entstehen, die basierend auf dem Bestimmungsergebnis durchgeführt wird (z. B. eine spezifische Nachricht oder einen Steuerbefehl für eine Steuerzielvorrichtung). In einem Beispiel kann die Steuereinheit 21 das Ergebnis des Bestimmens, ob das Target-Produkt R einen Defekt aufweist, direkt an die Ausgabevorrichtung 26 oder einen anderen Computer ausgeben. In einem anderen Beispiel kann die Steuereinheit 21 in Reaktion auf das Bestimmen, dass das Target-Produkt R einen Defekt aufweist, eine Warnung, die den Defekt angibt, an die Ausgabevorrichtung 26 oder einen anderen Computer ausgeben. In noch einem anderen Beispiel kann die Inspektionsvorrichtung 2 mit einer Fördervorrichtung verbunden sein, die das Target-Produkt R transportiert. In diesem Fall kann die Steuereinheit 21 das Förderband derart steuern, dass basierend auf den Bestimmungsergebnissen defekte Target-Produkte R und defektfreie Target-Produkte R separat auf unterschiedliche Linien transportiert werden.
  • Nach dem Ausgeben der Informationen, die das Bestimmungsergebnis angeben, beendet die Steuereinheit 21 das Verfahren für die visuelle Inspektion gemäß dem vorliegenden Betriebsbeispiel. Die Steuereinheit 21 kann die Reihe der Informationsverarbeitung in den Schritten S301 bis S305 kontinuierlich iterieren. Die Verarbeitung kann zu einem beliebigen ausgewählten Zeitpunkt wiederholt werden. Während der Iteration der Verarbeitung kann das Target-Produkt R sequentiell umgeschaltet werden, beispielsweise zwischen Förderbändern. Dies ermöglicht es der Inspektionsvorrichtung 2, die visuelle Inspektion des Target-Produkts R kontinuierlich durchzuführen.
  • Merkmale
  • In dem vorstehend beschriebenen, vorliegenden Ausführungsbeispiel verwendet die visuelle Inspektion des Target-Produkts R, die in den Schritten S301 bis S305 durchgeführt wird, das erste Einschätzungsmodell 5, das speziell auf die Target-Umgebung abgestimmt ist, zusätzlich zu dem zweiten Einschätzungsmodell 6, das dazu trainiert ist, die Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt. Es wird erwartet, dass die Verwendung des ersten Einschätzungsmodells 5 die Genauigkeit der visuellen Inspektion des Target-Produkts R verbessert. In Schritt S303 des vorliegenden Ausführungsbeispiels wird in dem Rechenprozess mit dem zweiten Einschätzungsmodell 6 der Aufmerksamkeitsbereich (extrahiertes Bild 225), der durch das erste Einschätzungsmodell 5 extrahiert wird, in zumindest eine der Merkmalskarten 63 mit unterschiedlich großen Dimensionen (Abmessungen) integriert. Mit anderen Worten, der Rechenprozess mit dem zweiten Einschätzungsmodell 6 kann die Dimension ändern, in die der durch das erste Einschätzungsmodell 5 extrahierte Aufmerksamkeitsbereich integriert wird. Dies ermöglicht es, den Bereich zum Bestimmen der Wahrscheinlichkeit, dass ein Defekt vorliegt, auf der dimensionalen Ebene anzupassen, wodurch ermöglicht wird, dass der Integrationsprozess auf eine für das Erscheinungsbild des Target-Produkts R geeignete Weise durchgeführt wird. Beispielsweise kann ein Produkt mit einem gemusterten Erscheinungsbild inspiziert werden, indem auf einen relativ breiten Bereich Bezug genommen wird. Ein Produkt mit einem einfachen Erscheinungsbild kann inspiziert werden, indem auf einen relativ engen Bereich Bezug genommen wird. Somit wird erwartet, dass die Struktur gemäß dem vorliegenden Ausführungsbeispiel die Genauigkeit der visuellen Inspektion von Target-Produkten R mit unterschiedlichen Erscheinungsbildern unter Verwendung der zwei Einschätzungsmodelle (5 und 6) verbessert.
  • 4. Abwandlungen
  • Das vorstehend im Detail beschriebene Ausführungsbeispiel der vorliegenden Erfindung ist in jeder Hinsicht ein bloßes Beispiel der vorliegenden Erfindung. Das Ausführungsbeispiel kann verschiedenartig modifiziert oder abgewandelt werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Beispielsweise kann das Ausführungsbeispiel in den nachstehend beschriebenen Formen abgewandelt werden. In den nachstehend beschriebenen Abwandlungen bezeichnen die gleichen Bezugszeichen die gleichen Komponenten wie in dem vorstehend beschriebenen Ausführungsbeispiel. Derartige Komponenten werden nicht erneut beschrieben. Die nachstehend beschriebenen Abwandlungen können nach Bedarf kombiniert werden.
  • 4.1
  • In dem vorstehend beschriebenen Ausführungsbeispiel umfassen der Codierer 51 und der Decodierer 53, die im ersten Einschätzungsmodell 5 enthalten sind, jeweils ein vollständig verbundenes neuronales Netzwerk. Der Codierer 61, der in dem zweiten Einschätzungsmodell 6 enthalten ist, umfasst ein faltendes neuronales Netzwerk. Jedes Einschätzungsmodell (5 oder 6) kann jedoch ein neuronales Netzwerk eines beliebigen anderen Typs umfassen, das je nach Bedarf des Anwendungsfalls ausgewählt wird. Beispielsweise kann der Codierer 51 im ersten Einschätzungsmodell 5 ein faltendes neuronales Netzwerk sein.
  • In dem vorstehend beschriebenen Ausführungsbeispiel umfasst jedes Einschätzungsmodell (5 oder 6) als das Modell auf Grundlage maschinellen Lernens ein neuronales Netzwerk. Das Modell auf Grundlage maschinellen Lernens, das als das jeweilige Einschätzungsmodell (5 oder 6) verwendet wird, braucht jedoch kein neuronales Netzwerk zu sein, und kann je nach Bedarf des Anwendungsfalls unter anderen Modellen ausgewählt werden. Das Verfahren auf Grundlage maschinellen Lernens kann entsprechend dem Typ des Modells auf Grundlage maschinellen Lernens auf geeignete Weise ausgewählt werden. Beispielsweise können der Codierer 51 und der Decodierer 53 in dem ersten Einschätzungsmodell 5 jeweils eine Projektionsmatrix mit aus einer Hauptkomponentenanalyse abgeleiteten Eigenvektoren. In diesem Fall kann das maschinelle Lernen mit dem ersten Einschätzungsmodell 5 eine Hauptkomponentenanalyse umfassen.
  • In dem vorstehend beschriebenen Ausführungsbeispiel wird das jeweilige Einschätzungsmodell (5 oder 6) mittels maschinellen Lernens generiert. Jedoch kann das jeweilige Einschätzungsmodell (5 oder 6) mit einem beliebigen anderen Verfahren generiert werden, das je nach Bedarf des Anwendungsfalls bestimmt wird. In einem Beispiel kann das jeweilige Einschätzungsmodell (5 oder 6) manuell mit einem regelbasierten System generiert werden. In diesem Fall kann das jeweilige Einschätzungsmodell (5 oder 6) mittels einer bekannten Bildverarbeitung, wie etwa einer Merkmalsextraktion, generiert werden. Jede Codiereinheit 62 kann nach Bedarf strukturiert sein, um einen Projektionsprozess zum Reduzieren von Dimensionen, wie etwa Pooling und Reduktion, durchzuführen. Das erste Einschätzungsmodell 5 kann zum Extrahieren eines Aufmerksamkeitsbereichs, der mit einer hohen Wahrscheinlichkeit einen Defekt enthält, ein bekanntes Verfahren verwenden, das sich von dem Verfahren auf Grundlage der Rekonstruktion von Fehlern unterscheidet, wie etwa das in der JP 2010 - 203 845 A beschriebenes Verfahren. Im vorstehend beschriebenen Ausführungsbeispiel sind die Codiereinheiten 62 in dem Codierer 61 des zweiten Einschätzungsmodells 6 in Reihe geschaltet. Die Codiereinheiten 62 können jedoch auch auf beliebige andere Weise angeordnet sein. Mindestens zwei der Codiereinheiten 62 können parallel angeordnet sein, um mehrere Merkmalskarten 63 mit unterschiedlichen Dimensionen zu generieren. In einigen Ausführungsbeispielen können alle Codiereinheiten 62 parallel angeordnet sein.
  • 10 ist ein schematisches Diagramm eines Beispiels für ein zweites Einschätzungsmodell 6A in einer Abwandlung. Das zweite Einschätzungsmodell 6A in der vorliegenden Abwandlung umfasst drei Detektionseinheiten, die parallel angeordnet sind, um mindestens zwei, also mehrere, Projektionsprozesse parallel durchzuführen. Genauer gesagt weist eine erste Detektionseinheit vom Eingangsende her sequentiell einen ersten Reduzierer 661, einen oder mehrere Merkmalsextraktoren 671 und einen Detektor 681 auf. Eine zweite Detektionseinheit weist vom Eingangsende her sequentiell einen zweiten Reduzierer 662, einen oder mehrere Merkmalsextraktoren 672 und einen Detektor 682 auf. Eine dritte Detektionseinheit weist vom Eingangsende her sequentiell einen oder mehrere Merkmalsextraktoren 673 und einen Detektor 683 auf.
  • Der erste Reduzierer 661 und der zweite Reduzierer 662 reduzieren die Größe eines Eingangsbilds (reduzieren insbesondere die Dimensionalität des Eingangsbilds). Die Größe eines Eingangsbilds kann beispielsweise durch Ausdünnen von Pixeln in dem Bild (z. B. Pooling) oder unter Verwendung eines Flächenmittelungsverfahrens reduziert werden. Der mit dem jeweiligen Reduzierer (661 oder 662) durchgeführte Rechenprozess ist ein Beispiel für den Projektionsprozess, der eine Projektion in einen niedrigdimensionalen Raum umfasst. Der erste Reduzierer 661 und der zweite Reduzierer 662 generieren Bilder von unterschiedlicher Größe. In einem Beispiel kann der erste Reduzierer 661 das Eingangsbild um die Hälfte skalieren, und der zweite Reduzierer 662 kann das Eingangsbild um ein Viertel skalieren.
  • Jeder der Merkmalsextraktor 671 bis 673 extrahiert Merkmale eines Bilds. Der Prozess des Extrahierens von Bildmerkmalen kann eine bekannte Filterung umfassen, beispielsweise unter Verwendung eines Sobel-Filters oder eines Laplace-Filters. Die Anzahl der Merkmalsextraktoren 671, 672 oder 673 kann je nach Bedarf des Anwendungsfalls bestimmt werden. In einem Beispiel können ein oder mehrere Merkmalsextraktoren 671, ein oder mehrere Merkmalsextraktoren 672 und ein oder mehrere Merkmalsextraktoren 673 Merkmale eines Defekts extrahieren und andere Merkmale ausschließen (insbesondere Kandidatenbereiche für einen Defekt extrahieren).
  • Jeder der Detektoren 681 bis 683 detektiert einen Defektbereich basierend auf den mit dem entsprechenden Merkmalsextraktor 671, 672 oder 673 erhaltenen Bildmerkmalen. In einem Beispiel extrahiert jeder der Merkmalsextraktoren 671 bis 673 Kandidatenbereiche eines Defekts. In diesem Fall kann jeder der Detektoren 681 bis 683 aus den extrahierten Kandidatenbereichen einen Kandidatenbereich, dessen Größe einen Schwellwert überschreitet, als Defektbereich detektieren.
  • Die Detektionseinheiten können Defektdetektionsergebnisse aus mehreren Bildern mit unterschiedlichen Dimensionen beziehen. In der vorliegenden Abwandlung sind die durch die Reduzierer (661 und 662) erzeugten reduzierten Bilder und die aus den Merkmalsextraktoren 671 bis 673 ausgegebenen Bilder Beispiele für Merkmalskarten. Wie durch die gepunkteten Pfeile in 10 angegeben, kann das durch das erste Einschätzungsmodell 5 erhaltene extrahierte Bild 225 in mindestens eines der Bilder (Merkmalskarten) integriert werden. Die dritte Detektionseinheit, die keinen Reduzierer aufweist, kann den Rechenprozess mit dem Merkmalsextraktor 673 durchführen, nachdem das extrahierte Bild 225 in das Target-Bild 221 integriert wurde. Wie in 10 gezeigt, kann der Integrationsprozess die Integration von Bildern umfassen. Der Selektor 216 in der Inspektionsvorrichtung 2 kann den Integrationsprozess für ein jeweiliges Kandidatenbild aktivieren oder deaktivieren.
  • Das zweite Einschätzungsmodell 6A in der vorliegenden Abwandlung umfasst ferner einen integrierten Bestimmer 69, der die Ergebnisse der Defektdetektion aus den drei Detektionseinheiten integriert und das Vorliegen eines Defekts basierend auf dem integrierten Ergebnis bestimmt. In einem Beispiel kann der integrierte Bestimmer 69 zuerst die Bildgrößen der von den Detektoren 681 bis 683 detektierten Defektbereiche anpassen, um sie abzugleichen, und dann die Defektbereiche überlagern, um schließlich das Vorliegen und die Position eines etwaigen Defekts basierend auf den überlagerten Bildern zu bestimmen. Das Überlagern der Defektbereiche kann beispielsweise UND-Operationen (Extrahieren überlappender Bereiche allein) und ODER-Operationen (Aufaddieren der Bereiche) umfassen.
  • Das zweite Einschätzungsmodell 6A in der vorliegenden Abwandlung gibt das Endergebnis der Defektbestimmung aus. In einem Beispiel kann das zweite Einschätzungsmodell 6A das unverarbeitete Ergebnis der durch den integrierten Bestimmer 69 durchgeführten Bestimmung ausgeben. In einem anderen Beispiel kann das zweite Einschätzungsmodell 6A ferner eine Defekthervorhebungseinrichtung (nicht gezeigt) umfassen, die in Reaktion darauf, dass der integrierte Bestimmer 69 bestimmt, dass ein Defekt vorliegt, das Target-Bild 221 verarbeitet, um den Abschnitt mit dem Defekt hervorzuheben. Die Hervorhebungseinrichtung kann den Abschnitt mit dem Defekt in einer beliebigen Weise hervorheben, die als geeignet bestimmt wird. In einem Beispiel kann die Defekthervorhebungseinrichtung den Luminanzwert jedes Pixels im Target-Bild 221 anpassen, um den Kontrast in der Umgebung des detektierten Defekts zu erhöhen und den Kontrast in anderen Bereichen als der Umgebung des Defekts zu verringern. In diesem Fall kann das zweite Einschätzungsmodell 6A das durch die Defekthervorhebungseinrichtung erhaltene, mit einem Defekt hervorgehobene Bild ausgeben.
  • Das zweite Einschätzungsmodell 6A in der vorliegenden Abwandlung kann anstatt drei auch zwei oder vier oder mehr Detektionseinheiten umfassen, die parallel angeordnet sind. Jede Detektionseinheit kann den Prozess des mehrfachen Reduzierens der Größe des Bilds durchführen. Mit anderen Worten kann die Detektionseinheit mehrere Reduzierer aufweisen.
  • In dem vorstehenden Ausführungsbeispiel können beispielsweise einige der Merkmalskarten 63, die mit dem zweiten Einschätzungsmodell 6 generiert werden, die gleiche Dimensionalität aufweisen, wenn ein durchgeführter Prozess keine Dimensionsreduktion (z.B. einfache Filterung) aufweist, oder die Merkmalskarten, die parallel generiert werden, können die gleiche reduzierte Anzahl von Dimensionen aufweisen. In diesem Fall kann die Merkmalskarte 63, die mit dem durch das erste Einschätzungsmodell 5 extrahierten Aufmerksamkeitsbereich zu integrieren ist, durch eine andere Merkmalskarte 63 mit der gleichen Dimension ersetzt werden. Dies ermöglicht es, die Merkmale zu ändern, die mit dem durch das erste Einschätzungsmodell 5 extrahierten Aufmerksamkeitsbereich zu integrieren sind.
  • In dem vorstehenden Ausführungsbeispiel kann jedes Einschätzungsmodell (5 oder 6) in einer Form ausgegeben werden, die je nach Anwendungsfall als geeignet bestimmt wird. Beispielsweise kann das zweite Einschätzungsmodell 6 einen Bestimmer anstelle des Decodierers 65 aufweisen. Der Bestimmer kann basierend auf den durch den Codierer 61 bezogenen Merkmalen bestimmen, ob ein Defekt vorliegt. In diesem Fall kann ein jeweiliger der Trainingsdatensätze 36, die in den zweiten Trainingsdaten 35 zum maschinellen Lernen enthalten sind, anstelle des wahren Bildes 38 wahre Informationen umfassen, die angeben, ob ein Defekt vorliegt. Die Modellerzeugungsvorrichtung 1 kann das zweite Einschätzungsmodell 6 unter Verwendung solcher zweiter Trainingsdaten 35 in Schritt S152 angemessen trainieren. Im vorstehenden Ausführungsbeispiel kann jedes Einschätzungsmodell (5 oder 6) mit einem separaten Computer generiert werden. Das erste Einschätzungsmodell 5 kann basierend auf den an einem Standort bezogenen ersten Trainingsdaten 30 generiert werden. Das zweite Einschätzungsmodell 6 kann basierend auf den an mehreren Standorten gesammelten zweiten Trainingsdaten 35 generiert werden.
  • 4.2
  • Im vorstehenden Ausführungsbeispiel kann statt des Extraktionsparameters ein anderer Expansionsparameter genutzt werden. In einem Beispiel kann die Inspektionsvorrichtung 2 durch Berechnen der Differenz zwischen dem decodierten Target-Bild 223 und dem Target-Bild 221 ein Differenzbild erzeugen. Die Inspektionsvorrichtung 2 kann sodann jedes Pixel im Differenzbild basierend auf einem Schwellwert (Binarisierungsschwellwert) binarisieren. Die Inspektionsvorrichtung 2 kann sodann unter den Clustern von binarisierten Pixeln, die das Vorliegen eines Defekts angeben, Cluster löschen, deren Bereich bzw. Fläche geringer als ein Schwellwert (Bereichsschwellwert) ist. Durch die Reihe von Prozessen kann die Inspektionsvorrichtung 2 den zwischen dem decodierten Target-Bild 223 und dem Target-Bild 221 differierenden Bereich berechnen. In diesem Fall kann der Extraktionsparameter den Binarisierungsschwellwert und/oder den Bereichsschwellwert umfassen. Der Prozess des Einstellens der Werte derartiger Parameter im vorstehenden Ausführungsbeispiel kann weggelassen werden. In diesem Fall kann die Einstelleinheit 217 aus der Software-Ausgestaltung der Inspektionsvorrichtung 2 weggelassen werden.
  • 4.3
  • Im vorstehenden Ausführungsbeispiel ermöglicht die Verarbeitung in den Schritten S201 bis S210 eine automatische Auswahl der optimalen Target-Codiereinheit für die Target-Umgebung. Jedoch kann die Target-Codiereinheit mit einem beliebigen anderen Verfahren ausgewählt werden. Die Steuereinheit 21 kann mit einem beliebigen Verfahren aus den Codiereinheiten 62 mindestens eine Target-Codiereinheit auswählen. Mit einem beispielhaften Verfahren kann die Steuereinheit 21 die Verarbeitung in Schritt S207 der Verarbeitung in den Schritten S201 bis S210 überspringen. Die Steuereinheit 21 kann ferner das Ergebnis der in Schritt S206 durchgeführten Versuche an die Bedienperson ausgeben, anstatt die Verarbeitung in Schritt S210 durchzuführen. Das Ausgabeziel kann auf eine geeignete Weise ausgewählt werden. Die Steuereinheit 21 kann sodann eine durch die Bedienperson angegebene Auswahl von mindestens einer Target-Codiereinheit aus den Codiereinheiten 62 empfangen. Beispielsweise kann die Steuereinheit 21 eine Liste von Bestimmungsbildern, die in den Versuchen erhalten wurden, an die Ausgabevorrichtung 26 ausgeben. Die Steuereinheit 21 kann die Auswahl von mindestens einer Target-Codiereinheit aus den Codiereinheiten 62 mit der Angabe eines geeigneten Bestimmungsbilds durch die Bedienperson über die Eingabevorrichtung 25 empfangen. Die Verarbeitung in den Schritten S201 bis S206, S208 und S209 kann auf die gleiche Weise wie im vorstehenden Ausführungsbeispiel durchgeführt werden. Die Verarbeitung kann die Genauigkeit der mit den beiden Einschätzungsmodellen (5 und 6) durchgeführten visuellen Inspektion durch einen Bedienvorgang optimieren. Bei einem weiteren beispielhaften Verfahren kann die Steuereinheit 21 die Verarbeitung in den Schritten S201 bis S210 überspringen und einfach die durch die Bedienperson angegebene Auswahl der Target-Codiereinheit empfangen. In dem vorstehenden Ausführungsbeispiel kann die Reihe der Verarbeitungsschritte zum Auswählen der Target-Codiereinheit weggelassen werden. In diesem Fall kann der Selektor 216 aus der Software-Ausgestaltung der Inspektionsvorrichtung 2 weggelassen werden.
  • 4,4
  • Im vorstehenden Ausführungsbeispiel kann der extrahierte Aufmerksamkeitsbereich durch Multiplizieren einer Target-Merkmalskarte 63 mit dem extrahierten Bild in die Target-Merkmalskarte 63 integriert werden. Der Aufmerksamkeitsbereich kann jedoch mit jedem anderen Verfahren integriert werden. Bei einem beispielhaften Verfahren können die Target-Merkmalskarte 63 und das extrahierte Bild jeweils in einen unterschiedlichen Knoten einer Schicht eingegeben werden, die der Schicht nachfolgt, aus der die Target-Merkmalskarte 63 bezogen wird. In diesem Fall kann der extrahierte Aufmerksamkeitsbereich durch den Rechenprozess, der mit der nachfolgenden Schicht durchgeführt wird, in die Target-Merkmalskarte 63 integriert werden. In diesem Fall kann die Steuereinheit 11 in dem maschinellen Lernprozess in Schritt S152 das extrahierte Bild, das für das Trainingsbild 37 durch das trainierte erste Einschätzungsmodell 5 bezogen wird, in die Target-Schicht eingeben.
  • 4,5
  • Im vorstehenden Ausführungsbeispiel oder seinen Abwandlungen kann die Target-Codiereinheit durch einen anderen Computer als die Inspektionsvorrichtung 2 ausgewählt werden.
  • 11 ist ein schematisches Diagramm einer Einheitsauswahlvorrichtung 7 in der vorliegenden Abwandlung, das deren beispielhafte Hardware-Ausgestaltung zeigt. Wie in 11 gezeigt, ist die Einheitsauswahlvorrichtung 7 in der vorliegenden Abwandlung ein Computer, der eine Steuereinheit 71, einen Massenspeicher 72, eine Kommunikationsschnittstelle 73, eine externe Schnittstelle 74, eine Eingabevorrichtung 75, eine Ausgabevorrichtung 76 und ein Laufwerk 77 aufweist, die elektrisch miteinander verbunden sind. Die Komponenten von der Steuereinheit 71 bis zu dem Laufwerk 77 können die gleiche Struktur wie die Komponenten von der Steuereinheit 21 bis zu dem Laufwerk 27 in der Inspektionsvorrichtung 2 aufweisen, und das Speichermedium 97 kann die gleiche Struktur wie das Speichermedium 92 aufweisen.
  • In der vorliegenden Abwandlung speichert der Massenspeicher 72 verschiedene Informationselemente, wie z. B. ein Auswahlprogramm 87, erste Trainingsergebnisdaten 121 und zweite Trainingsergebnisdaten 125. Das Auswahlprogramm 87 veranlasst die Einheitsauswahlvorrichtung 7, eine Informationsverarbeitung zur Auswahl einer Ziel-Codiereinheit durchzuführen. Das Auswahlprogramm 87 umfasst eine Reihe von Befehlen für die Informationsverarbeitung. Das Auswahlprogramm 87 und/oder die ersten Trainingsergebnisdaten 121 und/oder die zweiten Trainingsergebnisdaten 125 können in dem Speichermedium 97 gespeichert sein. Die Einheitsauswahlvorrichtung 7 kann das Auswahlprogramm 87 und/oder die ersten Trainingsergebnisdaten 121 und/oder die zweiten Trainingsergebnisdaten 125 von dem Speichermedium 92 beziehen.
  • Für die spezifische Hardware-Ausgestaltung der Einheitsauswahlvorrichtung 7 können auf gleiche Weise wie zum Beispiel bei der Inspektionsvorrichtung 2 je nach Bedarf des Anwendungsfalls Komponenten weggelassen, ersetzt oder hinzugefügt werden. Die Einheitsauswahlvorrichtung 7 kann mehrere Computer umfassen. In diesem Fall kann jeder Computer die gleiche oder eine unterschiedliche Hardware-Ausgestaltung aufweisen. Die Einheitsauswahlvorrichtung 7 kann eine Informationsverarbeitungsvorrichtung sein, die dediziert für einen bereitzustellenden Dienst bereitgestellt ist, oder kann ein universeller Server, ein universeller PC oder eine PLC sein.
  • 12 ist ein schematisches Diagramm der Einheitsauswahlvorrichtung 7 in der vorliegenden Abwandlung, das deren beispielhafte Software-Ausgestaltung zeigt. In der gleichen Weise wie beispielsweise mit der Inspektionsvorrichtung 2 wird die Software-Ausgestaltung der Einheitsauswahlvorrichtung 7 durch die Steuereinheit 71 implementiert, die das Auswahlprogramm 87 ausführt. Das Ausführen des Auswahlprogramms 87 veranlasst die Einheitsauswahlvorrichtung 7 in der vorliegenden Abwandlung, als ein Computer zu arbeiten, der einen Modell-Bezieher 219 und einen Selektor 216 als Software-Module aufweist. Einige oder alle der Software-Module können durch einen oder mehrere dedizierte Prozessoren implementiert werden. Mit anderen Worten kann jedes der Module als ein Hardware-Modul implementiert werden. Für die Software-Ausgestaltung der Einheitsauswahlvorrichtung 7 können je nach Bedarf des Anwendungsfalls Software-Module weggelassen, ersetzt oder hinzugefügt werden.
  • Die Steuereinheit 71 arbeitet als der Modell-Bezieher 219 und bezieht die Trainingsergebnisdaten (121 und 125) mit einem beliebigen Verfahren. Die Steuereinheit 71 bezieht somit die Einschätzungsmodelle (5 und 6), die das Target des Prozesses zum Auswählen einer Target-Codiereinheit sein sollen. Anschließend arbeitet die Steuereinheit 71 als der Selektor 216, um aus mehreren Codiereinheiten 62 mindestens eine Target-Codiereinheit auszuwählen. Die Target-Codiereinheit kann mit einem beliebigen der oben beschriebenen Verfahren ausgewählt werden.
  • Das Ergebnis des Auswählens der Target-Codiereinheit kann in einer beliebigen Weise an die Inspektionsvorrichtung gemeldet werden, die die visuelle Inspektion des Target-Produkts R in der Target-Umgebung durchführt. In einem Beispiel kann die Steuereinheit 71 als eine Ausgabeeinheit arbeiten und die Inspektionsvorrichtung über das Ergebnis des Auswählens der Target-Codiereinheit beispielsweise über ein Netzwerk benachrichtigen. In Reaktion auf die Benachrichtigung kann die Inspektionsvorrichtung das Ergebnis des Auswählens der Target-Codiereinheit berücksichtigen. In einem anderen Beispiel kann die Steuereinheit 71 das Ergebnis des Auswählens der Target-Codiereinheit an die Ausgabevorrichtung 76 oder an Ausgabevorrichtungen in anderen Computern ausgeben. Die Bedienperson kann sich auf die Ausgabe beziehen und die Inspektionsvorrichtung bedienen, um das Ergebnis des Auswählens der Target-Codiereinheit an die Inspektionsvorrichtung weiterzureichen. Die Struktur in dieser Abwandlung kann die Auslastung der Inspektionsvorrichtung reduzieren.
  • Bezugszeichenliste
  • 1
    Modellerzeugungsvorrichtung
    11
    Steuereinheit
    12
    Massenspeicher
    13
    Kommunikationsschnittstelle
    14
    externe Schnittstelle
    15
    Eingabevorrichtung
    16
    Ausgabevorrichtung
    17
    Laufwerk
    81
    Modellerzeugungsprogramm
    91
    Speichermedium
    92
    Speichermedium
    111
    erster Bezieher
    112
    erster Trainer
    113
    zweiter Bezieher
    114
    zweiter Trainer
    115
    Speichereinheit
    121
    erste Trainingsergebnisdaten
    125
    zweite Trainingsergebnisdaten
    2
    Inspektionsvorrichtung
    21
    Steuereinheit
    22
    Massenspeicher
    23
    Kommunikationsschnittstelle
    24
    externe Schnittstelle
    25
    Eingabevorrichtung
    26
    Ausgabevorrichtung
    27
    Laufwerk
    82
    Inspektionsprogramm
    92
    Speichermedium
    211
    Datenbezieher
    212
    Bereichsextraktor
    213
    Modellberechnungseinheit
    214
    Bestimmer
    215
    Ausgabeeinheit
    216
    Selektor
    217
    Einstelleinheit
    221
    Target-Bild
    223
    decodiertes Target-Bild
    225
    extrahiertes Bild
    227
    Bewertungsdatensatz
    228
    Bewertungsbild
    229
    wahre Informationen
    30
    erste Trainingsdaten
    31
    akzeptable Produktbilder (Bilder akzeptabler Produkte)
    35
    zweite Trainingsdaten
    36
    Trainingsdatensatz
    37
    Trainingsbild
    371
    Defektbild
    38
    wahres Bild
    5
    erstes Einschätzungsmodell
    51
    Codierer
    511
    Eingangsschicht
    512
    Zwischenschicht
    513
    Ausgangsschicht
    53
    Decodierer
    531
    Eingangsschicht
    532
    Zwischenschicht
    533
    Ausgangsschicht
    6
    zweites Einschätzungsmodell
    61
    Codierer
    62
    Codiereinheit
    621
    Faltungsschicht
    623
    Pooling-Schicht
    63
    Merkmalskarte
    65
    Decodierer
    651
    Unpooling-Schicht
    653
    inverse Faltungsschicht
    661
    erster Reduzierer
    662
    zweiter Reduzierer
    671
    Merkmalsextraktor(en)
    672
    Merkmalsextraktor(en)
    673
    Merkmalsextraktor(en)
    681
    Detektor
    682
    Detektor
    683
    Detektor
    69
    integrierter Bestimmer
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2012026982 A [0003]
    • JP 2010203845 A [0145]

Claims (13)

  1. Inspektionsvorrichtung mit: einem Datenbezieher, der dazu eingerichtet ist, ein Target-Bild eines zu inspizierenden Target-Produkts zu beziehen; einem Bereichsextraktor, der dazu eingerichtet ist, aus dem bezogenen Target-Bild unter Verwendung eines ersten Einschätzungsmodells einen Aufmerksamkeitsbereich zu extrahieren, wobei das erste Einschätzungsmodell durch Training generiert und basierend auf ersten Trainingsdaten dazu trainiert ist, als den Aufmerksamkeitsbereich einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält, wobei die ersten Trainingsdaten mehrere aus einer Target-Inspektionsumgebung bezogene erste Trainingsbilder von defektfreien Produkten umfassen; einer Modellberechnungseinheit, die dazu eingerichtet ist, unter Verwendung des durch das erste Einschätzungsmodell aus dem Target-Bild extrahierten Aufmerksamkeitsbereichs einen Rechenprozess mit einem zweiten Einschätzungsmodell durchzuführen, wobei das zweite Einschätzungsmodell durch Training generiert und basierend auf zweiten Trainingsdaten, die mehrere zweite Trainingsbilder von Defekten umfassen, dazu trainiert ist, eine Wahrscheinlichkeit eines Defekts zu bestimmen, wobei der Rechenprozess mit dem zweiten Einschätzungsmodell mehrere mit dem Target-Bild durchgeführte Projektionsprozesse umfasst, wobei die mehreren Projektionsprozesse ein Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen umfassen, um mehrere Merkmalskarten mit unterschiedlichen Dimensionen zu generieren, wobei in dem Rechenprozess mit dem zweiten Einschätzungsmodell der extrahierte Aufmerksamkeitsbereich in mindestens eine der mehreren Merkmalskarten integriert wird; einem Bestimmer, der dazu eingerichtet ist, basierend auf einem Rechenergebnis mit dem zweiten Einschätzungsmodell zu bestimmen, ob das Target-Produkt einen Defekt aufweist; und einer Ausgabeeinheit, die dazu eingerichtet ist, Informationen auszugeben, die ein Ergebnis des Bestimmens angeben, ob das Target-Produkt einen Defekt aufweist.
  2. Inspektionsvorrichtung nach Anspruch 1, wobei das zweite Einschätzungsmodell einen Codierer, der dazu eingerichtet ist, ein Bild in ein Merkmal umzuwandeln, und einen Decodierer aufweist, der dazu eingerichtet ist, das Bild aus dem Merkmal zu decodieren, und das decodierte Bild für jedes Pixel eine Wahrscheinlichkeit eines darin enthaltenen Defekts angibt, der Codierer mehrere Codiereinheiten aufweist, die von einem Eingangsende des Codierers her sequentiell in Reihe geschaltet sind, eine jeweilige der mehreren Codiereinheiten Eingangsdaten in eine Merkmalskarte mit einer niedrigeren Dimension als die Eingangsdaten umwandelt, die mehreren Projektionsprozesse, die mit dem Target-Bild durchgeführt werden, Rechenprozesse umfassen, die sequentiell vom Eingangsende her mit den mehreren Codiereinheiten durchgeführt werden, und der extrahierte Aufmerksamkeitsbereich in eine Merkmalskarte integriert wird, die in dem Rechenprozess mit dem zweiten Einschätzungsmodell durch mindestens eine der mehreren Codiereinheiten erzeugt wird.
  3. Inspektionsvorrichtung nach Anspruch 2, ferner mit: einem Selektor, der dazu eingerichtet ist, aus den mehreren Codiereinheiten mindestens eine Target-Codiereinheit auszuwählen, wobei der extrahierte Aufmerksamkeitsbereich in eine in dem Rechenprozess mit dem zweiten Einschätzungsmodell durch die ausgewählte mindestens eine Target-Codiereinheit erzeugte Merkmalskarte integriert wird.
  4. Inspektionsvorrichtung nach Anspruch 3, wobei der Selektor ein Bewertungsbild eines Produkts zur Bewertung mit einem vorbestimmten Defekt bezieht, unter Verwendung des ersten Einschätzungsmodells aus dem bezogenen Bewertungsbild einen Aufmerksamkeitsbereich extrahiert, den Rechenprozess mit dem zweiten Einschätzungsmodell unter Verwendung des aus dem Bewertungsbild extrahierten Aufmerksamkeitsbereichs iteriert, wobei eine vorläufig als die mindestens eine Target-Codiereinheit ausgewählte Codiereinheit geändert wird, um für eine jeweilige der mehreren Codiereinheiten eine versuchsweise Bestimmung durchzuführen, ob das Produkt zur Bewertung in dem Bewertungsbild einen Defekt aufweist, wenn die Codiereinheit vorläufig als die mindestens eine Target-Codiereinheit ausgewählt ist, und basierend auf einem Ergebnis der versuchsweisen Bestimmungen eine optimale Codiereinheit als die mindestens eine Target-Codiereinheit auswählt.
  5. Inspektionsvorrichtung nach Anspruch 3, wobei der Selektor ein Bewertungsbild eines Produkts zur Bewertung mit einem vorbestimmten Defekt bezieht, unter Verwendung des ersten Einschätzungsmodells aus dem bezogenen Bewertungsbild einen Aufmerksamkeitsbereich extrahiert, den Rechenprozess mit dem zweiten Einschätzungsmodell unter Verwendung des aus dem Bewertungsbild extrahierten Aufmerksamkeitsbereichs iteriert, wobei eine vorläufig als die mindestens eine Target-Codiereinheit ausgewählte Codiereinheit geändert wird, um für eine jeweilige der mehreren Codiereinheiten eine versuchsweise Bestimmung durchzuführen, ob das Produkt zur Bewertung in dem Bewertungsbild einen Defekt aufweist, wenn die Codiereinheit vorläufig als die mindestens eine Target-Codiereinheit ausgewählt ist, ein Ergebnis der versuchsweisen Bestimmungen an eine Bedienperson ausgibt, und eine von der Bedienperson angegebene Auswahl der mindestens einen Target-Codiereinheit aus den mehreren Codiereinheiten empfängt.
  6. Inspektionsvorrichtung nach einem der Ansprüche 2 bis 5, wobei der Codierer ein faltendes neuronales Netzwerk, CNN, aufweist, und eine jeweilige der mehreren Codiereinheiten eine oder mehrere Faltungsschichten und eine oder mehrere Pooling-Schichten aufweist.
  7. Inspektionsvorrichtung nach einem der Ansprüche 1 bis 6, ferner mit: einer Einstelleinheit, die dazu eingerichtet ist, einen Wert eines Parameters einzustellen, der einen Grad definiert, wie häufig ein Bildbereich mit einem Defekt als Aufmerksamkeitsbereich extrahiert wird, wobei der Bereichsextraktor den Aufmerksamkeitsbereich gemäß dem eingestellten Wert des Parameters extrahiert.
  8. Inspektionsvorrichtung nach Anspruch 7, wobei das erste Einschätzungsmodell einen Codierer, der dazu eingerichtet ist, ein Bild in ein Merkmal umzuwandeln, und einen Decodierer aufweist, der dazu eingerichtet ist, das Bild aus dem Merkmal zu decodieren, der Bereichsextraktor für das Target-Bild unter Verwendung des Codierers und des Decodiers des ersten Einschätzungsmodells ein decodiertes Target-Bild erzeugt und einen zwischen dem erzeugten decodierten Target-Bild und dem Target-Bild differierenden Bereich berechnet, der Parameter einen Expansionsparameter umfasst, der einen Grad definiert, um den der differierende Bereich zu expandieren ist, und der Bereichsextraktor den extrahierten Aufmerksamkeitsbereich durch Expandieren des berechneten differierenden Bereichs gemäß einem eingestellten Wert des Expansionsparameters bezieht.
  9. Inspektionsvorrichtung nach einem der Ansprüche 1 bis 8, wobei der extrahierte Aufmerksamkeitsbereich eine Aufmerksamkeitskarte umfasst.
  10. Inspektionsvorrichtung nach einem der Ansprüche 1 bis 9, wobei das erste Einschätzungsmodell mittels maschinellen Lernens unter Verwendung der ersten Trainingsdaten dazu trainiert ist, als den Aufmerksamkeitsbereich einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält.
  11. Inspektionsvorrichtung nach einem der Ansprüche 1 bis 10, wobei das zweite Einschätzungsmodell mittels maschinellen Lernens unter Verwendung der zweiten Trainingsdaten dazu trainiert ist, eine Wahrscheinlichkeit dafür bestimmen, dass ein Defekt vorliegt.
  12. Inspektionsverfahren, das mit einem Computer implementierbar ist, wobei das Verfahren umfasst: Beziehen eines Target-Bilds eines zu inspizierenden Target-Produkts; Extrahieren eines Aufmerksamkeitsbereichs aus dem bezogenen Target-Bild unter Verwendung eines ersten Einschätzungsmodells, wobei das erste Einschätzungsmodell durch Training generiert und basierend auf den ersten Trainingsdaten dazu trainiert ist, als den Aufmerksamkeitsbereich einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält, wobei die ersten Trainingsdaten mehrere aus einer Target-Inspektionsumgebung bezogene erste Trainingsbilder von defektfreien Produkten umfassen; Durchführen eines Rechenprozesses mit einem zweiten Einschätzungsmodell unter Verwendung des durch das erste Einschätzungsmodell aus dem Target-Bild extrahierten Aufmerksamkeitsbereichs, wobei das zweite Einschätzungsmodell durch Training generiert und basierend auf zweiten Trainingsdaten, die mehrere zweite Trainingsbilder von Defekten umfassen, dazu trainiert ist, eine Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt, wobei der Rechenprozess mit dem zweiten Einschätzungsmodell mehrere mit dem Target-Bild durchgeführte Projektionsprozesse umfasst, wobei die mehreren Projektionsprozesse ein Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen umfassen, um mehrere Merkmalskarten mit unterschiedlichen Dimensionen zu generieren, wobei in dem Rechenprozess mit dem zweiten Einschätzungsmodell der extrahierte Aufmerksamkeitsbereich in mindestens eine der mehreren Merkmalskarten integriert wird; Bestimmen, basierend auf einem Rechenergebnis mit dem zweiten Einschätzungsmodell, ob das Target-Produkt einen Defekt aufweist; und Ausgeben von Informationen, die ein Ergebnis des Bestimmens angeben, ob das Target-Produkt einen Defekt aufweist.
  13. Inspektionsprogramm, das dazu dient, einen Computer dazu veranlassen, Operationen durchzuführen, die umfassen: Beziehen eines Target-Bilds eines zu inspizierenden Target-Produkts; Extrahieren eines Aufmerksamkeitsbereichs aus dem bezogenen Target-Bild unter Verwendung eines ersten Einschätzungsmodells, wobei das erste Einschätzungsmodell durch Training generiert und basierend auf ersten Trainingsdaten dazu trainiert ist, als den Aufmerksamkeitsbereich einen Bildbereich zu extrahieren, der mit einer Wahrscheinlichkeit einen Defekt enthält, wobei die ersten Trainingsdaten mehrere in einer Target-Inspektionsumgebung bezogene erste Trainingsbilder von defektfreien Produkten umfassen; Durchführen eines Rechenprozesses mit einem zweiten Einschätzungsmodell unter Verwendung des durch das erste Einschätzungsmodell aus dem Target-Bild extrahierten Aufmerksamkeitsbereichs, wobei das zweite Einschätzungsmodell durch Trainieren generiert und basierend auf zweiten Trainingsdaten, die mehrere zweite Trainingsbilder von Defekten umfassen, dazu trainiert ist, eine Wahrscheinlichkeit dafür zu bestimmen, dass ein Defekt vorliegt, wobei der Rechenprozess mit dem zweiten Einschätzungsmodell mehrere mit dem Target-Bild durchgeführte Projektionsprozesse umfasst, wobei die mehreren Projektionsprozesse ein Projizieren des Target-Bilds in unterschiedliche Räume mit geringeren Dimensionen umfassen, um mehrere Merkmalskarten mit unterschiedlichen Dimensionen zu generieren, wobei der extrahierte Aufmerksamkeitsbereich in dem Rechenprozess mit dem zweiten Einschätzungsmodell in mindestens eine der mehreren Merkmalskarten integriert wird; Bestimmen, basierend auf einem Rechenergebnis mit dem zweiten Einschätzungsmodell, ob das Target-Produkt einen Defekt aufweist; und Ausgeben von Informationen, die ein Ergebnis des Bestimmens angeben, ob das Target-Produkt einen Defekt aufweist.
DE112021003356.5T 2020-06-23 2021-05-28 Inspektionsvorrichtung, Einheitsauswahlvorrichtung, Inspektionsverfahren und Inspektionsprogramm Pending DE112021003356T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020108201A JP7435303B2 (ja) 2020-06-23 2020-06-23 検査装置、ユニット選択装置、検査方法、及び検査プログラム
JP2020-108201 2020-06-23
PCT/JP2021/020336 WO2021261168A1 (ja) 2020-06-23 2021-05-28 検査装置、ユニット選択装置、検査方法、及び検査プログラム

Publications (1)

Publication Number Publication Date
DE112021003356T5 true DE112021003356T5 (de) 2023-04-13

Family

ID=79247117

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021003356.5T Pending DE112021003356T5 (de) 2020-06-23 2021-05-28 Inspektionsvorrichtung, Einheitsauswahlvorrichtung, Inspektionsverfahren und Inspektionsprogramm

Country Status (6)

Country Link
US (1) US20230222645A1 (de)
JP (1) JP7435303B2 (de)
CN (1) CN115605746A (de)
DE (1) DE112021003356T5 (de)
TW (1) TWI784537B (de)
WO (1) WO2021261168A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023168966A (ja) * 2022-05-16 2023-11-29 ブラザー工業株式会社 コンピュータプログラム、および、検査装置
WO2024009868A1 (ja) * 2022-07-05 2024-01-11 三菱電機株式会社 外観検査システム、外観検査方法、学習装置および推論装置
CN117037143B (zh) * 2023-09-27 2023-12-08 深圳市特区建工科工集团盛腾科技有限公司 基于图像处理的预应力构件性能数据分析方法及系统
CN117250208B (zh) * 2023-11-20 2024-02-06 青岛天仁微纳科技有限责任公司 基于机器视觉的纳米压印晶圆缺陷精准检测系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010203845A (ja) 2009-03-02 2010-09-16 Omron Corp 欠陥検出装置、欠陥検出方法および欠陥検出プログラム
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016148747A (ja) 2015-02-12 2016-08-18 株式会社ニューフレアテクノロジー 画像作成方法、検査方法および画像作成装置
WO2019176407A1 (ja) 2018-03-16 2019-09-19 富士フイルム株式会社 学習支援装置、学習支援方法、学習支援プログラム、関心領域判別装置、関心領域判別方法、関心領域判別プログラム及び学習済みモデル
WO2020002704A1 (en) 2018-06-29 2020-01-02 Universiteit Antwerpen Item inspection by dynamic selection of projection angle
US11087174B2 (en) 2018-09-25 2021-08-10 Nec Corporation Deep group disentangled embedding and network weight generation for visual inspection
JP7119949B2 (ja) 2018-11-28 2022-08-17 セイコーエプソン株式会社 判定装置及び判定方法
CN109490316B (zh) 2018-11-30 2021-08-03 熵智科技(深圳)有限公司 一种基于机器视觉的表面缺陷检测算法
CN109741346B (zh) 2018-12-30 2020-12-08 上海联影智能医疗科技有限公司 感兴趣区域提取方法、装置、设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010203845A (ja) 2009-03-02 2010-09-16 Omron Corp 欠陥検出装置、欠陥検出方法および欠陥検出プログラム
JP2012026982A (ja) 2010-07-27 2012-02-09 Panasonic Electric Works Sunx Co Ltd 検査装置

Also Published As

Publication number Publication date
WO2021261168A1 (ja) 2021-12-30
CN115605746A (zh) 2023-01-13
TW202200993A (zh) 2022-01-01
TWI784537B (zh) 2022-11-21
JP7435303B2 (ja) 2024-02-21
US20230222645A1 (en) 2023-07-13
JP2022003495A (ja) 2022-01-11

Similar Documents

Publication Publication Date Title
DE112021003356T5 (de) Inspektionsvorrichtung, Einheitsauswahlvorrichtung, Inspektionsverfahren und Inspektionsprogramm
Sezer et al. Detection of solder paste defects with an optimization‐based deep learning model using image processing techniques
CN112967243A (zh) 一种基于yolo的深度学习芯片封装裂纹缺陷检测方法
DE102016100101A1 (de) System zum maschinellen sehen und analytisches verfahren zur segmentierung planarer oberflächen
Rodríguez et al. Study and classification of plum varieties using image analysis and deep learning techniques
DE102019110721A1 (de) Workflow zum trainieren eines klassifikators für die qualitätsprüfung in der messtechnik
DE202009013865U1 (de) Konzept zum Auswählen eines optimierten Bewertungsmerkmalsteilsatzes für eine Inspektion von Freiformoberflächen und Konzept zum Inspizieren einer Freiformoberfläche
DE102016100134B4 (de) Verfahren und Vorrichtung zum Untersuchen eines Objekts unter Verwendung von maschinellem Sehen
DE102019113830A1 (de) Informationsverarbeitungsverfahren, Informationsverarbeitungsgerät und Programm
DE102018109276A1 (de) Bildhintergrundsubtraktion für dynamische beleuchtungsszenarios
Daniel et al. Automatic road distress detection and analysis
DE102018206108A1 (de) Generieren von Validierungsdaten mit generativen kontradiktorischen Netzwerken
DE102021201124A1 (de) Trainieren von bildklassifizierernetzen
Puno et al. Quality Assessment of Mangoes using Convolutional Neural Network
DE102021127403A1 (de) Qualitätsüberwachungssystem für stanzstreckenfehler und verfahren zum überwachen von stanzstreckenfehlern
DE102023113166A1 (de) Bildverarbeitungsverfahren und -einrichtung
DE19834718C2 (de) Digitale Bildverarbeitung für ein Qualitätskontrollsystem
García et al. A configuration approach for convolutional neural networks used for defect detection on surfaces
CN113034432A (zh) 一种产品缺陷检测方法、系统、装置及存储介质
DE102020202973A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Bildern
Tanimowo et al. A Decision Tree Classification Model for Cocoa Beans Quality Evaluation Based on Digital Imaging
EP1139285B1 (de) Verfahren und Vorrichtung zur Prüfung bzw. Untersuchung von Gegenständen
CN114332008B (zh) 一种基于多层次特征重构的无监督缺陷检测与定位方法
CN116485802B (zh) 一种绝缘子闪络缺陷检测方法、装置、设备及存储介质
DE102022107144A1 (de) Komponentenprüfsystem und -verfahren auf produktionsgeschwindigkeit

Legal Events

Date Code Title Description
R012 Request for examination validly filed