DE112020002213T5 - Ermittlung von Bildeffekten - Google Patents

Ermittlung von Bildeffekten Download PDF

Info

Publication number
DE112020002213T5
DE112020002213T5 DE112020002213.7T DE112020002213T DE112020002213T5 DE 112020002213 T5 DE112020002213 T5 DE 112020002213T5 DE 112020002213 T DE112020002213 T DE 112020002213T DE 112020002213 T5 DE112020002213 T5 DE 112020002213T5
Authority
DE
Germany
Prior art keywords
image
defect
generating
computer
determining
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
DE112020002213.7T
Other languages
English (en)
Inventor
Fan Li
Guo Qiang HU
Sheng Nan Zhu
Jun Zhu
Jing Chang Huang
Peng Ji
Yuan Yuan Ding
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020002213T5 publication Critical patent/DE112020002213T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10048Infrared image
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Es werden ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt zur Bildverarbeitung vorgeschlagen. In dem Verfahren wird ermittelt, ob ein erstes Bild einen Defekt angibt, der mit einem Zielobjekt verknüpft ist. In Reaktion auf die Ermittlung, dass das erste Bild den Defekt angibt, erhält man auf Grundlage des ersten Bildes ein zweites Bild, in dem der Defekt nicht vorhanden ist. Der Defekt wird durch den Vergleich des ersten Bildes mit dem zweiten Bild ermittelt. Auf diese Weise kann der mit dem Zielobjekt verknüpfte Defekt in dem Bild genau und effizient identifiziert oder segmentiert werden.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft die Bildverarbeitung, insbesondere ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt zum Ermitteln eines mit einem Zielobjekt verknüpften Defekts in einem Bild.
  • Heutzutage besteht ein hoher Bedarf an automatisierter und genauer Defektsegmentierung in der Fertigungsindustrie. Die Nachfrage nach automatisierten visuellen Inspektionstechnologien für die Defektsegmentierung nimmt in der Fertigungsindustrie in Bereichen wie der manuellen Inspektion der Montage von Smartphone-Teilen, der Defektinspektion auf Komponentenebene auf Leiterplatten (PCB) (mehr als 20 Typen von Defekten) und der Erkennung von Defekten auf Flüssigkristallbildschirmen (LCD) (mehr als 120 Typen von Defekten) immer mehr zu.
  • Eine genaue Defektsegmentierung ist für die Ermittlung des Defektschweregrads und des nachfolgenden Prozesses (z. B. Reparatur, Nacharbeit, Ignorieren, Entsorgung usw.) von großer Bedeutung. Aufgrund des hohen Arbeitsaufwands ist der Prüfer eher bereit, die Beschriftung des Defekts auf Bildebene auszuführen (z. B. jedes Bild mit einer Kennzeichnung des Defekttyps zu versehen), als die genaue Ermittlung des Defekts oder die Beschriftung auf Pixelebene vorzunehmen.
  • KURZDARSTELLUNG
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Verfahren zur Bildverarbeitung bereitgestellt. In dem Verfahren wird ermittelt, ob ein erstes Bild einen Defekt angibt, der mit einem Zielobjekt verknüpft ist. In Reaktion auf die Ermittlung, dass das erste Bild den Defekt angibt, wird auf Grundlage des ersten Bildes ein zweites Bild erhalten, das den Defekt nicht enthält. Der Defekt wird durch den Vergleich des ersten Bildes mit dem zweiten Bild gekennzeichnet.
  • Gemäß einer anderen Ausführungsform der vorliegenden Erfindung wird eine Vorrichtung zur Bildverarbeitung bereitgestellt. Die Vorrichtung umfasst eine Verarbeitungseinheit und einen mit der Verarbeitungseinheit gekoppelten Speicher, in dem Anweisungen gespeichert sind. Die Anweisungen führen, wenn sie von der Verarbeitungseinheit ausgeführt werden, Vorgänge aus, die Folgendes beinhalten: Ermitteln, ob ein erstes Bild einen mit einem Zielobjekt verknüpften Defekt angibt; in Reaktion auf die Ermittlung, dass das erste Bild den Defekt angibt, Erhalten eines zweiten Bildes ohne den Defekt auf der Grundlage des ersten Bildes; und Ermitteln des Defekts durch Vergleichen des ersten Bildes mit dem zweiten Bild.
  • Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung wird ein Computerprogrammprodukt bereitgestellt, das auf einem nicht flüchtigen, maschinenlesbaren Medium gespeichert ist und maschinenausführbare Anweisungen umfasst. Die Anweisungen, wenn sie auf einer Vorrichtung ausgeführt werden, bewirken, dass die Vorrichtung Vorgänge durchführt, die Folgendes beinhalten: Ermitteln, ob ein erstes Bild einen Defekt angibt, der mit einem Zielobjekt verknüpft ist; in Reaktion auf die Ermittlung, dass das erste Bild den Defekt angibt, Erhalten eines zweiten Bildes ohne den Defekt auf Grundlage des ersten Bildes; und Ermitteln des Defekts durch Vergleichen des ersten Bildes mit dem zweiten Bild.
  • Figurenliste
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden im Folgenden nur anhand von Beispielen und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 zeigt einen Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 2 zeigt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 3 zeigt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 4 zeigt ein Flussdiagramm eines Beispiels für ein Verfahren zur Bildverarbeitung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 5 zeigt ein schematisches Diagramm einer beispielhaften Defektsegmentierung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 6 zeigt ein schematisches Diagramm eines anderen Beispiels einer Defektsegmentierung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 7 zeigt ein schematisches Diagramm eines weiteren Beispiels einer Defektsegmentierung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Das gleiche Bezugszeichen bezieht sich im Allgemeinen auf die gleichen Komponenten in den Ausführungsformen der vorliegenden Offenlegung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Einige Ausführungsformen werden unter Bezugnahme auf die beigefügten Zeichnungen, in denen die Ausführungsformen der vorliegenden Offenlegung veranschaulicht sind, im Detail beschrieben. Die vorliegende Offenlegung kann jedoch auf verschiedene Weise umgesetzt werden und sollte daher nicht als auf die hier offenbaren Ausführungsformen beschränkt verstanden werden.
  • Obwohl diese Offenbarung eine detaillierte Beschreibung des Cloud-Computing beinhaltet, ist die Umsetzung der hier dargelegten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt. Vielmehr können Ausführungsformen der vorliegenden Erfindung in Verbindung mit jedem anderen Typ von Computer-Umgebung implementiert werden, der heute bekannt ist oder später entwickelt wird.
  • Cloud Computing ist ein Modell zur Bereitstellung von Diensten, das einen bequemen, bedarfsgerechten Netzzugang zu einem gemeinsamen Vorrat konfigurierbarer Computerressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die mit minimalem Verwaltungsaufwand oder minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Charakteristiken, mindestens drei Service-Modelle und mindestens vier Bereitstellungsmodelle beinhalten.
  • Die Charakteristiken lauten wie folgt:
    • Bedarfsgesteuerte Selbstbedienung: Ein Cloud-Verbaucher kann einseitig Ressourcen für Berechnungen bereitstellen, wie z. B. Serverzeit und Netzwerkspeicher, und zwar automatisch, ohne dass eine menschliche Interaktion mit dem Anbieter des Dienstes erforderlich ist.
    • Breiter Netzwerkzugriff: Die Ressourcen sind über ein Netzwerk verfügbar und werden über Standardmechanismen abgerufen, die die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z. B. Mobiltelefone, Laptops und PDAs) fördern.
    • Ressourcenbündelung: Die Computer-Ressourcen des Anbieters werden in einem Multi-Tenant-Modell gebündelt, um mehrere Verbraucher zu bedienen, wobei verschiedene physische und virtuelle Ressourcen je nach Bedarf dynamisch zugewiesen und neu zugewiesen werden. Es besteht eine gewisse Standortunabhängigkeit, da der Verbraucher in der Regel keine Kontrolle oder Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, jedoch den Standort auf einer höheren Abstraktionsebene angeben kann (z. B. Land, Staat oder Rechenzentrum).
    • Flexible Anpassungsfähigkeit: Ressourcen können schnell und elastisch bereitgestellt werden, in manchen Fällen auch automatisch, um schnell zu skalieren und schnell wieder freigegeben werden, um schnell zu skalieren. Für den Verbraucher erscheinen die für die Bereitstellung verfügbaren Ressourcen oft unbegrenzt und können in beliebiger Menge und zu jeder Zeit erworben werden.
    • Dienstmessung: Cloud-Systeme kontrollieren und optimieren automatisch die Ressourcennutzung, indem sie eine dem Typ des Dienstes entsprechende Steuereinheit auf einer bestimmten Abstraktionsebene verwenden (z. B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, kontrolliert und gemeldet werden, wodurch Transparenz sowohl für den Anbieter als auch für den Nutzer des genutzten Dienstes bereitgestellt wird.
  • Die Service-Modelle lauten wie folgt:
    • Software as a Service (SaaS): Die dem Verbraucher bereitgestellte Ressource besteht darin, die Anwendungen des Anbieters zu verwenden, die auf einer Cloud-Infrastruktur laufen. Der Zugriff auf die Anwendungen erfolgt von verschiedenen Mandant-Geräten aus über eine Thin-Client-Schnittstelle wie z. B. einen Webbrowser (z. B. webbasierte E-Mail). Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, einschließlich Netzwerk, Server, Betriebssysteme, Steuereinheiten oder sogar einzelne Anwendungsressourcen, mit der möglichen Ausnahme begrenzter benutzerspezifischer Anwendungskonfigurationseinstellungen.
    • Platform as a Service (PaaS): Die dem Verbraucher bereitgestellte Ressource besteht darin, vom Verbraucher erstellte oder erfasste Anwendungen, die mit vom Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, die Netzwerke, Server, Betriebssysteme oder Steuereinheiten umfasst, hat aber die Kontrolle über die bereitgestellten Anwendungen und möglicherweise über die Konfigurationen der Hosting-Umgebung der Anwendungen.
    • Infrastructure as a Service (laaS): Die dem Verbraucher bereitgestellte Ressource besteht in der Bereitstellung von Verarbeitungs-, Speicher-, Netzwerk- und anderen grundlegenden Computer-Ressourcen, wobei der Verbraucher in der Lage ist, beliebige Software einzusetzen und auszuführen, die Betriebssysteme und Anwendungen umfassen kann. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, sondern hat die Kontrolle über Betriebssysteme, Speicher, bereitgestellte Anwendungen und möglicherweise eine begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
  • Die Bereitstellungsmodelle lauten wie folgt:
    • Private Cloud: Die Cloud-Infrastruktur wird für lediglich eine Organisation betrieben. Sie kann von der Organisation selbst oder von einem Dritten verwaltet werden und sich an Ort und Stelle oder an einem anderen Ort befinden.
    • Gemeinschafts-Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezifische Gemeinschaft mit gemeinsamen Anliegen (z. B. Aufgabe, Sicherheitsanforderungen, Richtlinie und Einhaltung von Gesetzen und Richtlinien). Sie kann von den Organisationen selbst oder von einem Dritten verwaltet werden und sich an Ort und Stelle oder an einem anderen Ort befinden.
    • Öffentliche Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe bereitgestellt und ist Eigentum einer Organisation, die Cloud-Dienste verkauft.
    • Hybrid-Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren (privaten, Gemeinschafts- oder öffentlichen) Clouds, die eigenständige Einheiten bleiben, aber durch eine standardisierte oder herstellerspezifische Technologie miteinander verbunden sind, die eine Portierbarkeit von Daten und Anwendungen ermöglicht (z. B. das Cloud-Bursting für den Lastausgleich zwischen Clouds).
  • Eine Cloud-Datenverarbeitungsumgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandslosigkeit, geringer Kopplung, Modularität und semantischer Kompatibilität liegt. Im Mittelpunkt einer Cloud-Datenverarbeitung steht eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten umfasst.
  • Mit Blick auf 1 wird eine schematische Darstellung eines Beispiels für einen Cloud-Datenverarbeitungsknoten gezeigt. Ein Cloud-Datenverarbeitungsknoten 10 ist lediglich ein Beispiel für einen geeigneten Cloud-Datenverarbeitungsknoten und nicht als eine wie auch immer geartete Beschränkung von Verwendungsumfang oder Funktionalität von Ausführungsformen der hier beschriebenen Erfindung gedacht. Unabhängig davon kann der Cloud-Datenverarbeitungsknoten 10 mit jeder hier dargelegten Funktionalität realisiert sein und/oder diese durchführen.
  • In dem Cloud-Datenverarbeitungsknoten 10 gibt es ein Computersystem/einen Server 12, das bzw. der mit zahlreichen anderen Universal- oder Spezialsystemumgebungen oder -konfigurationen betrieben werden kann. Beispiele bekannter Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die für eine Verwendung mit einem Computersystem/Server 12 geeignet sein könnten, sind, ohne darauf beschränkt zu sein, Personal-Computersysteme, Server-Computersysteme, Thin Clients, Thick Clients, Taschen- oder Laptop-Einheiten, Mehrprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Mini-Computersysteme, Mainframe-Computersysteme sowie verteilte Cloud-Datenverarbeitungsumgebungen, die eines der obigen Systeme oder eine der Einheiten beinhalten, und dergleichen.
  • Das Computersystem/der Server 12 lässt sich im allgemeinen Zusammenhang von Befehlen beschreiben, die durch ein Computersystem ausführbar sind, wie z. B. Programmmodule, die von einem Computersystem ausgeführt werden. Allgemein können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. beinhalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Das Computersystem/der Server 12 kann in verteilten Cloud-Datenverarbeitungsumgebungen eingesetzt werden, wo Aufgaben von entfernt angeordneten Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk miteinander verbunden sind. In einer verteilten Cloud-Datenverarbeitungsumgebung können sich Programmmodule sowohl in lokalen als auch in entfernt angeordneten Computersystem-Speichermedien wie beispielsweise Arbeitsspeichereinheiten befinden.
  • Wie in 1 wird das Computersystem/der Server 12 in dem Cloud-Datenverarbeitungsknoten 10 als eine Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 12 können eine/n oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemarbeitsspeicher 28 und einen Bus 18 beinhalten, der verschiedene Systemkomponenten wie z. B. den Systemarbeitsspeicher 28 mit dem Prozessor 16 verbindet, ohne jedoch darauf beschränkt zu sein.
  • Der Bus 18 steht für mindestens eine von mehreren Arten von Busstrukturen, z. B. ein Speicherbus oder eine Speichersteuereinheit, ein Peripheriebus, ein Accelerated Graphics Port (AGP) und ein Prozessor oder lokaler Bus, wobei eine beliebige aus einer Vielfalt von Busarchitekturen verwendet werden kann. Beispielhaft und nicht als Beschränkung zu verstehen, beinhalten derartige Architekturen den ISA-Bus (Industry Standard Architecture), den MCA-Bus (Micro Channel Architecture), den EISA-Bus (Enhanced ISA), den lokalen VESA-Bus (Video Electronics Standards Association) und den PCI-Bus (Peripheral Component Interconnect).
  • Das Computersystem/der Server 12 beinhaltet üblicherweise eine Vielfalt von Medien, die von einem Computersystem gelesen werden können. Derartige Medien können beliebige verfügbare Medien sein, auf die das Computersystem/der Server 12 zugreifen kann, und zu ihnen zählen sowohl flüchtige als auch nicht flüchtige, entfernbare und nicht entfernbare Medien.
  • Der Systemarbeitsspeicher 28 kann ein von einem Computersystem lesbares Medium in Form eines flüchtigen Arbeitsspeichers wie z. B. eines RAM 30 und/oder eines Caches 32 beinhalten. Das Computersystem/der Server 12 kann des Weiteren andere entfernbare/nicht entfernbare, flüchtige/nicht flüchtige Computersystem-Speichermedien beinhalten. Lediglich als Beispiel dienend, kann ein Speichersystem 34 zum Lesen von und Schreiben auf ein nicht entfernbares, nicht flüchtiges magnetisches Medium (das nicht abgebildet ist und das üblicherweise als ein Festplattenlaufwerk bezeichnet wird) bereitgestellt werden. Obwohl hier nicht abgebildet, können ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine entfernbare, nicht flüchtige Magnetplatte (z. B. eine Diskette) sowie ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine entfernbare, nicht flüchtige optische Platte wie z. B. einen CD-ROM, einen DVD-ROM oder ein anderes optisches Medium bereitgestellt werden. In diesen Fällen kann jedes Laufwerk über eine oder mehrere Datenmedienschnittstellen mit dem Bus 18 verbunden sein. Wie weiter unten ausführlicher dargestellt und beschrieben, kann der Arbeitsspeicher 28 mindestens ein Programmprodukt mit einem Satz von (z. B. mindestens einem) Programmmodulen beinhalten, wobei diese so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung durchführen.
  • Ein Programm/Dienstprogramm 40 mit einem Satz von (mindestens einem) Programmmodulen 42 kann beispielsweise, und ohne als Beschränkung verstanden zu werden, in dem Arbeitsspeicher 28 gespeichert sein, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Jedes von Betriebssystem, einem oder mehreren Anwendungsprogrammen, anderen Programmmodulen und Programmdaten oder eine Kombination hiervon kann eine Umsetzung einer Netzwerksbetriebsumgebung enthalten. Die Programmmodule 42 führen im Allgemeinen die Funktionen und/oder Verfahrensweisen von Ausführungsformen der hier beschriebenen Erfindung aus.
  • Das Computersystem/der Server 12 kann zudem mit einer oder mehreren externen Einheiten 14 Daten austauschen, z. B. mit einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw.; mit einer oder mehreren Einheiten, die einem Benutzer gestatten, mit dem Computersystem/Server 12 zu interagieren; und/oder mit beliebigen Einheiten (z. B. Netzwerkkarte, Modem usw.), die dem Computersystem/Server 12 ermöglichen, mit einer oder mehreren anderen Datenübertragungseinheiten Daten auszutauschen. Eine solche Datenübertragung kann über E/A-Schnittstellen 22 erfolgen. Des Weiteren kann das Computersystem/der Server 12 über einen Netzwerkadapter 20 mit einem oder mehreren Netzwerken Daten austauschen, z. B. mit einem lokales Netz (Local Area Network, LAN), einem Weitverkehrsnetz (Wide Area Network, WAN) und/oder einem öffentlichen Netz (z. B. dem Internet). Wie dargestellt, tauscht der Netzwerkadapter 20 über den Bus 18 Daten mit den anderen Komponenten des Computersystems/Servers 12 aus. Dabei sollte klar sein, dass - obwohl sie hier nicht abgebildet sind - auch andere Hardware- und/oder Softwarekomponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden könnten. Beispiele hierfür sind, ohne darauf beschränkt zu sein, Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerksstapel, RAID-Systeme, Bandlaufwerke und Datenarchivierungsspeichersysteme usw.
  • Mit Blick auf 2 ist eine veranschaulichende Cloud-Datenverarbeitungsumgebung 50 dargestellt. Wie gezeigt, weist die Cloud-Datenverarbeitungsumgebung 50 einen oder mehrere Cloud-Datenverarbeitungsknoten 10 auf, mit denen lokale Datenverarbeitungseinheiten wie zum Beispiel ein persönlicher digitaler Assistent (Personal Digital Assistant, PDA) oder ein Mobiltelefon 54A, ein Desktop Computer 54, ein Laptop Computer 54C und/oder ein Automobil-Computersystem 54N Daten austauschen können. Die Knoten 10 können untereinander Daten austauschen. Sie können in einem oder mehreren Netzwerken, z. B. in privaten, Gemeinschafts-, öffentlichen oder Hybrid-Clouds, wie sie hier weiter oben beschrieben sind, oder in einer Kombination hiervon, physisch oder virtuell zusammengefasst sein (nicht abgebildet). Auf diese Weise kann die Cloud-Datenverarbeitungsumgebung 50 Infrastruktur, Plattformen und/oder Software als Dienste anbieten, für die ein Cloud-Verbraucher keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Dabei sollte klar sein, dass die in 2 gezeigten Arten von Datenverarbeitungseinheiten 54A bis N lediglich zur Veranschaulichung gedacht sind und dass die Datenverarbeitungsknoten 10 und die Cloud-Datenverarbeitungsumgebung 50 mit jeder Art von computergestützter Einheit über jede Art von Netzwerk und/oder netzwerkadressierbarer Verbindung (z. B. unter Verwendung eines Webbrowsers) Daten austauschen können.
  • Mit Blick auf 3 wird ein Satz von funktionsbezogenen Abstraktionsschichten gezeigt, der von der Cloud-Datenverarbeitungsumgebung 50 (2) bereitgestellt wird. Dabei sollte von Anfang an klar sein, dass die in 3 gezeigten Komponenten, Schichten und Funktionen lediglich zur Veranschaulichung gedacht und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet, werden die folgenden Schichten und zugehörigen Funktionen bereitgestellt:
  • Eine Hardware- und Softwareschicht 60 enthält Hardware- und Softwarekomponenten. Zu Beispielen von Hardwarekomponenten zählen Großrechner 61; Server 62 auf Grundlage der RISC-Architektur (Reduced Instruction Set Computer); Server 63; Blade-Server 64; Speichereinheiten 65; Netzwerk und Netzwerkkomponenten 66. Bei manchen Ausführungsformen beinhalten Softwarekomponenten Software für Netzwerk-Anwendungsserver 67 und Datenbanksoftware 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, welche die folgenden Beispiele für virtuelle Einheiten zur Verfügung stellen kann: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73 die virtuelle private Netzwerke aufweisen; virtuelle Anwendungen und Betriebssysteme 74; sowie virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellungsfunktion 81 stellt eine dynamische Beschaffung von Datenverarbeitungs- und anderen Ressourcen bereit, mit denen Aufgaben innerhalb der Cloud-Datenverarbeitungsumgebung durchgeführt werden. Messungs- und Preisermittlungsfunktionen 82 stellen eine Kostenerfassung bei der Nutzung von Ressourcen innerhalb der Cloud-Datenverarbeitungsumgebung sowie eine Fakturierung bzw. Abrechnung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Eine Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Verbraucher und -Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Eine Benutzerportalfunktion 83 stellt Verbrauchern und Systemadministratoren einen Zugriff auf die Cloud-Datenverarbeitungsumgebung bereit. Eine Dienstgüteverwaltungsfunktion 84 stellt eine Zuordnung und Verwaltung von Cloud-Datenverarbeitungsressourcen bereit, so dass erforderliche Dienstgütestufen erreicht werden. Eine Planungs- und Ausführungsfunktion 85 von Dienstgütevereinbarungen (Service Level Agreement, SLA) stellt eine Vorabfestlegung und Beschaffung von Cloud-Datenverarbeitungsressourcen bereit, für die gemäß einer SLA eine künftige Anforderung erwartet wird.
  • Eine Auslastungsschicht 90 stellt Beispiele einer Funktionalität bereit, für welche die Cloud-Datenverarbeitungsumgebung genutzt werden kann. Beispiele für Auslastungen und Funktionen, die von dieser Schicht bereitgestellt werden können, lauten: Zuordnung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von virtuellen Schulungen 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und Bildverarbeitung 96.
  • Wie bereits erörtert, ist es erforderlich, dass die Defektsegmentierung auf Grundlage der schwach überwachten Annotation auf Bildebene ausgeführt werden kann. Traditionell kann für die semantische Segmentierung ein vollständig faltendes Netzwerk (Fully Convolutional Network, FCN) verwendet werden. Das FCN erfordert jedoch eine genaue Objektpositionierung in der Granularität von Pixeln und einen hohen Kennzeichnungsaufwand bei der Vorbereitung der Trainingsdaten.
  • Hinzufügung kann eine aufmerksamkeitsbasierte Herangehensweise für die pixelgenaue Klassifizierung verwendet werden. Bei der aufmerksamkeitsbasierten Herangehensweise wird die Objektsegmentierung mit Bildkennzeichnungen trainiert. Ein Verfahren zur Visualisierung (z. B. eine Wärmekarte der Klassenaktivierung) aus einem zuvor trainierten Klassifizierungsmodell eines faltenden neuronalen Netzwerks (Convolutional Neural Network, CNN) kann verwendet werden, um anzugeben, welche Region im Bild für eine Klasse relevant ist. Allerdings kann die Wärmekarte das Objekt dieser Klasse nur grob abdecken. Außerdem werden nur ein oder wenige Objekte in der Wärmekarte angegeben, wenn zahlreiche Objekte derselben Klasse im Bild vorhanden sind.
  • Um eines oder mehrere der oben genannten Probleme und andere potenzielle Probleme zumindest teilweise zu lösen, schlagen Ausführungsformen der vorliegenden Offenlegung eine Lösung für die Bildverarbeitung vor.
  • Im Allgemeinen kann gemäß Ausführungsformen der vorliegenden Offenlegung ein Bild (als „erstes Bild“ bezeichnet) eines Zielobjekts erhalten werden. Das erste Bild kann ein bestimmtes Muster oder ein periodisches Merkmal aufweisen, ist aber nicht darauf beschränkt. Das erste Bild kann zum Beispiel das Bild des LCD/PCB-Panels sein. Das erste Bild kann dann auf einen Bildklassifikator angewendet werden, um ein Bild als normal oder abnormal zu klassifizieren. Ein normales Bild kann ein Bild eines Zielobjekts darstellen, das keinen Defekt beinhaltet, und ein abnormales Bild kann ein Bild eines Zielobjekts darstellen, das mindestens einen Defekt beinhaltet. Bei dem Defekt kann es sich beispielsweise um ein totes Pixel, einen Kratzer, eine Blase oder ähnliches im LCD-Panel oder um eine schlechte Lötung, ein fehlendes Bauteil oder ähnliches im PCB-Panel handeln.
  • Wenn ein Ergebnis der Klassifizierung anzeigt, dass das erste Bild einen Defekt angibt, kann eine Wärmekarte zur Lokalisierung des Defekts im ersten Bild erzeugt werden, und eine Maske, die zumindest einen Teil des Defekts abdeckt, kann auf Grundlage der Wärmekarte erzeugt werden. Anschließend kann ein wiederhergestelltes Bild erzeugt werden, indem mindestens ein Teil des Defekts, der von der Maske abgedeckt wird, aus dem ersten Bild entfernt wird. Zum Beispiel kann das wiederhergestellte Bild erzeugt werden, indem das wiederherzustellende Bild mit der Maske auf ein auf einem generativen gegnerischen Netzwerk (GAN) basierendes Modell angewendet wird, das für die Wiederherstellung des Defekts trainiert wurde.
  • Das wiederhergestellte Bild kann auf den Bildklassifikator angewendet werden. Wenn das Ergebnis des Bildklassifikators angibt, dass das wiederhergestellte Bild keinen Defekt beinhaltet, d.h. dass das wiederhergestellte Bild ein vollständig wiederhergestelltes normales Bild ist (als „zweites Bild“ bezeichnet), kann der Defekt im ersten Bild durch Vergleich des ersten Bildes mit dem zweiten Bild gekennzeichnet werden. Andernfalls durchläuft das wiederhergestellte Bild iterativ einen weiteren Wiederherstellungsprozess, bis ein vollständig wiederhergestelltes normales Bild erhalten wird, so dass der Defekt im ersten Bild identifiziert werden kann. Im Zusammenhang mit bevorzugten Ausführungsformen der vorliegenden Erfindung bedeutet das Ermitteln eines Defekts in dem Bild, dass die Defektsegmentierung an dem Bild ausgeführt wird.
  • Auf diese Weise kann der Defekt, der mit dem Zielobjekt verknüpft ist, automatisch und genau aus dem Bild segmentiert werden. Da der Prozess der Defektsegmentierung auf Bildebene ausgeführt wird, kann die Defektsegmentierung für schwach überwachte oder bildbasierte Annotationsdatensätze verwendet werden. In diesem Fall ist für das Training keine Segmentierungskennzeichnung auf Pixelebene erforderlich, was zu einer erheblichen Einsparung bei der Standortkennzeichnung in herkömmlichen Aufgaben zur Objekterkennung/Bildsegmentierung führt. Darüber hinaus ist die Defektsegmentierung der vorliegenden Erfindung breit anwendbar. Sie ist nicht auf Bilder mit starren Mustern oder Vorlagen beschränkt und kann auf Bilder mit verschiedenen Defektzahlen oder -größen angewandt werden. Ferner kann das Ergebnis der Defektsegmentierung auch als Segmentierungsannotation verwendet werden. Auf diese Weise erhöht die vorgeschlagene Lösung die Genauigkeit, Effizienz und Anwendbarkeit der Defektsegmentierung und verbessert die Benutzererfahrung bei der Defektinspektion.
  • Nun werden einige Ausführungsformen anhand der 4-7 beschrieben. 4 zeigt ein Flussdiagramm eines Beispiels für ein Verfahren 400 zur Bildverarbeitung gemäß einer Ausführungsform der vorliegenden Erfindung. Das Verfahren 400 kann zumindest teilweise durch das Computersystem/den Server 12 oder andere geeignete Systeme implementiert werden. 5 zeigt ein schematisches Diagramm einer beispielhaften Defektsegmentierung 500 gemäß einer Ausführungsform der vorliegenden Erfindung. Zum Zwecke der Diskussion wird das Verfahren 400 in Bezug auf 5 beschrieben.
  • Bei 410 ermittelt das Computersystem/der Server 12, ob ein erstes Bild einen Defekt angibt, der mit einem Zielobjekt verknüpft ist. In einigen Ausführungsformen kann das erste Bild ein bestimmtes Muster oder ein periodisches Merkmal aufweisen. Zum Beispiel kann das erste Bild das Bild des LCD/PCB-Panels sein. Ein Beispiel für das erste Bild ist als Bild 510 in 5 dargestellt.
  • In einigen Ausführungsformen kann das Computersystem/der Server 12 das erste Bild erhalten und das erste Bild auf einen Bildklassifikator anwenden, um ein Bild als normal oder abnormal zu klassifizieren. Ein normales Bild kann ein Bild eines Zielobjekts darstellen, das keinen Defekt umfasst, und ein abnormales Bild kann ein Bild eines Zielobjekts darstellen, das einen Defekt umfasst. Der Bildklassifikator kann ein beliebiger geeigneter Bildklassifikator sein, zum Beispiel, aber nicht ausschließlich, ein binäres Klassifikatormodell. Da das binäre Klassifikatormodell trainiert wird, um zu kennzeichnen, ob ein Bild normal oder abnormal ist, reicht ein schwach überwachter oder auf Bildebene annotierter Datensatz aus.
  • Zum Beispiel kann in der Trainingsphase des Bildklassifikators eine große Anzahl von Bildern verwendet werden, um den Bildklassifikator zu trainieren. Einige Bilder können als normale Bilder gekennzeichnet werden, während die anderen Bilder als abnormale Bilder gekennzeichnet werden können, die einen Defekt angeben. Es müssen keine Informationen zum Standort des Defekts bereitgestellt werden. Nach dem Trainingsprozess kann der Bildklassifikator eine hohe Klassifizierungsgenauigkeit erreichen.
  • Wenn ein Ergebnis der Klassifizierung angibt, dass das erste Bild anormal ist, kann das Computersystem/der Server 12 ermitteln, dass das erste Bild den Defekt angibt. Andernfalls wird ermittelt, dass das erste Bild den Defekt nicht angibt.
  • Bei 420, wenn das erste Bild den Defekt angibt, erhält das Computersystem/ der Server 12 auf Grundlage des ersten Bildes ein zweites Bild, das nicht den Defekt aufweist. Ein Beispiel für das zweite Bild ist als Bild 540 in 5 dargestellt.
  • In einigen Ausführungsformen, um das zweite Bild zu erzeugen, kann das Computersystem/der Server 12 eine Wärmekarte erzeugen, die Wärmewerte von Pixeln im ersten Bild angibt. Insbesondere kann die Wärmekarte erzeugt werden, indem das erste Bild auf ein Klassenaktivierungs-Wärmekartenmodell angewendet wird, das trainiert wurde, um den Defekt im ersten Bild zu lokalisieren. Im Allgemeinen gilt: Je höher der Wärmewert eines Pixels ist, desto wahrscheinlicher ist es, dass es sich bei dem Pixel um einen Defekt handelt. In diesem Fall kann die Wärmekarte den Defekt im ersten Bild lokalisieren. Ein Beispiel für die Wärmekarte ist in Bild 520 in 5 zu sehen.
  • Wie in 5 gezeigt, lokalisiert die Wärmekarte den Defekt im ersten Bild jedoch nur grob. In diesem Fall kann das Computersystem/der Server 12 auf Grundlage der Wärmekarte eine Maske erzeugen, die zumindest einen Teil des Defekts abdeckt. Ein Beispiel für eine solche Maske ist im Bild 530 in 5 dargestellt.
  • Die Maske kann in der Regel eine vorgegebene Form haben, z. B. eine quadratische oder rechteckige Form, so dass die Maske den Defekt genauer lokalisieren kann, um ihn später zu entfernen. Dies liegt daran, dass die Größe der Maske einen direkten Einfluss auf die Leistung bei der Beseitigung von Defekten oder der Wiederherstellung von Bildern hat. Im Allgemeinen kann eine kleinere Maske zu einer besseren Leistung führen.
  • In einigen Ausführungsformen kann das Computersystem/der Server 12 die Wärmewerte einer Gruppe von Pixeln im ersten Bild ermitteln, die einen vorgegebenen Schwellenwert überschreiten, und die Maske erzeugen, die die Gruppe von Pixeln abdeckt. Auf diese Weise kann der verdächtigste Defektbereich durch die Maske abgedeckt werden.
  • Anschließend kann das Computersystem/Server 12 das zweite Bild erzeugen, indem es zumindest den Teil des Defekts, der von der Maske abgedeckt wird, aus dem ersten Bild entfernt. Der Defekt kann entfernt werden, indem die Pixel des maskierten Bereichs im Bild mit plausiblen Pixeln gefüllt werden. Zum Beispiel kann das zweite Bild erzeugt werden, indem das erste Bild mit der Maske auf ein auf einem erzeugenden gegnerischen Netzwerk (Generative Adversarial Network, GAN) basierendes Modell angewendet wird, das so trainiert wird, dass zumindest der Teil des Defekts entfernt wird.
  • Der Zweck des GAN-basierten Modells besteht darin, einen maskierten Bereich zu erzeugen, der real und natürlich aussieht und dem unmaskierten Originalbild ähnelt. Um dies zu erreichen, kann eine große Anzahl normaler Bilder verwendet werden, um das GAN-basierte Modell zu trainieren. Das Training kann durch zufällige Maskierung eines Bereichs in den normalen Bildern ausgeführt werden. Die Verlustfunktion des GAN-basierten Modells ist die Summe des pixelweisen Rekonstruktionsverlusts und des Verlusts des gegnerischen Diskriminators. Visuell gesehen funktioniert das GAN-basierte Modell in den meisten Fällen, was zu einem zufriedenstellenden Segmentierungsergebnis führt. Darüber hinaus kann das GAN-basierte Modell als schwach überwacht oder sogar unüberwacht angesehen werden, da es auf normalen Bildern trainiert wird.
  • Neben dem GAN-basierten Modell können auch andere Bildwiederherstellungstechniken zur Entfernung des Defekts verwendet werden, wie z. B. das Anpassen und Kopieren von Hintergrundfeldern in den maskierten Bereich oder das Anpassen des maskierten Bereichs aus einer Datenbank mit Bildindizierung, z. B. durch Indizierung eines entsprechenden normalen Bildes in der Datenbank und Kopieren des entsprechenden Bereichs im indizierten Bild in den maskierten Bereich.
  • Außerdem kann in einigen Ausführungsformen der Defekt nicht auf einmal entfernt werden, da eine unterschiedliche Anzahl oder Größe von Defekten verarbeitet werden muss. Zum Beispiel kann das erste Bild ein Bild eines Zielobjekts mit mehr als einem Defekt oder ein Bild eines Zielobjekts mit einem großen Defekt sein. In diesen Ausführungsformen muss das erste Bild iterativ wiederhergestellt werden, um das zweite Bild ohne den Defekt zu erhalten.
  • Zum Beispiel kann das Computersystem/der Server 12, um festzustellen, ob das aus dem ersten Bild erzeugte wiederhergestellte Bild frei von Defekten ist, das wiederhergestellte Bild (als „Zwischenbild“ bezeichnet) erhalten, indem mindestens ein Teil des Defekts aus dem ersten Bild entfernt wird. Das Computersystem/Server 12 kann ermitteln, ob das Zwischenbild angibt, dass der Defekt vollständig aus dem Zwischenbild entfernt wurde. Ist dies der Fall, kann das Computersystem/der Server 12 direkt feststellen, dass das Zwischenbild das zweite Bild ist.
  • Andernfalls, wenn der Defekt nicht vollständig aus dem Zwischenbild entfernt wurde, z. B. wenn ein verbleibender Teil des Defekts noch im Zwischenbild vorhanden ist, kann das Computersystem/der Server 12 den verbleibenden Teil des Defekts aus dem Zwischenbild auf Grundlage einer Wärmekarte des Zwischenbilds entfernen. Insbesondere kann das Computersystem/der Server 12 die Wärmekarte erzeugen, die Wärmewerte von Pixeln in dem Zwischenbild angibt, und auf Grundlage der Wärmekarte eine Maske erzeugen, die zumindest einen Teil des verbleibenden Defekts abdeckt. Anschließend kann das Computersystem/der Server 12 ein weiteres Bild erzeugen, indem zumindest der Teil des verbleibenden Defekts, der von der Maske abgedeckt wird, entfernt wird. Das Computersystem/der Server 12 kann wiederum ermitteln, ob das weitere Bild angibt, dass der Defekt vollständig entfernt wurde. Auf diese Weise wird der Prozess der Bildwiederherstellung iterativ wiederholt, bis das zweite Bild ohne den Defekt erhalten wird. Eine solche iterative Wiederherstellung kann die Integrität der Segmentierung sicherstellen.
  • Detailliertere Beispiele für ein Bild eines Zielobjekts mit einem großen Defekt und für ein Bild eines Zielobjekts mit mehr als einem Defekt werden unter Bezugnahme auf die 6 und 7 beschrieben.
  • Nach dem Erhalten des zweiten Bildes ohne Defekt kann das Computersystem/der Server 12 den Defekt durch den Vergleich des ersten Bildes mit dem zweiten Bild bei 430 kennzeichnen. Auf diese Weise kann der Defekt aus dem ersten Bild segmentiert werden. Zum Beispiel kann das Computersystem/der Server 12 ein einfaches Subtraktions- oder mathematisches Morphologieverfahren verwenden, um das Segmentierungsergebnis aus dem ersten Bild und dem zweiten Bild zu erhalten. Hinzufügung kann das Segmentierungsergebnis auch als Segmentierungskommentar für die weitere Verarbeitung verwendet werden. Als Beispiel für das Segmentierungsergebnis zeigt das Bild 550 in 5 den segmentierten Defekt.
  • Durch die Kombination des binären Klassifizierungsmodells, des Wärmekartenmodells für die Klassenaktivierung und des GAN-basierten Modells kann die Defektsegmentierung auf Grundlage des schwach überwachten oder auf Bildebene annotierten Datensatzes ausgeführt werden. Hinzufügung, solche Defektsegmentierung ist weit anwendbar, und kann für verschiedene Defektanzahl oder Größe verwendet werden. Somit erhöht die vorgeschlagene Lösung die Genauigkeit, Effizienz und Anwendbarkeit der Defektsegmentierung und verbessert die Benutzererfahrung bei der Defektinspektion.
  • 6 zeigt ein schematisches Diagramm einer beispielhaften Defektsegmentierung 600 für ein Bild, das einen großen Defekt gemäß einer Ausführungsform der vorliegenden Erfindung umfasst. Die Defektsegmentierung 600 kann zumindest teilweise durch das Computersystem/den Server 12 oder andere geeignete Systeme implementiert werden.
  • Wie in 6 gezeigt, umfasst das erste Bild 610 einen langgestreckten Defekt, der mit einer Zielvorrichtung verknüpft ist. Das Computersystem/der Server 12 ermittelt, dass das erste Bild 610 mindestens einen Defekt angibt. Als nächstes erzeugt das Computersystem/Server 12 die Wärmekarte 612, die den Defekt im ersten Bild 610 lokalisiert. Es ist zu erkennen, dass nur ein Teil des Defekts in der Wärmekarte 612 hervorgehoben ist. In diesem Fall erzeugt das Computersystem/der Server 12 die Maske 614, die nur den oberen Teil des Defekts abdeckt. Anschließend erzeugt das Computersystem/der Server 12 das Zwischenbild 720 durch Entfernen des oberen Teils des Defekts, der von der Maske 614 abgedeckt wird.
  • Der verbleibende Teil des Defekts wird jedoch nicht aus dem Zwischenbild 620 entfernt, und das Zwischenbild 620 ist nicht vollständig wiederhergestellt. In diesem Fall ermittelt das Computersystem/der Server 12, dass das Zwischenbild 620 mindestens einen Defekt angibt, und führt eine weitere Iteration zur Entfernung des Defekts aus. Das heißt, das Computersystem/der Server 12 erzeugt die Wärmekarte 622, die den verbleibenden Defekt lokalisiert, und die Maske 624, die den oberen Teil des verbleibenden Defekts abdeckt. Anschließend erzeugt das Computersystem/Server 12 ein weiteres Bild, indem es den oberen Teil des verbleibenden Defekts, der von der Maske 624 bedeckt ist, entfernt. Die Iteration zur Entfernung des Defekts wird so lange wiederholt, bis das zweite Bild 630 erhalten wird, das keinen Defekt mehr aufweist.
  • Das Computersystem/der Server 12 kennzeichnet oder segmentiert den Defekt durch Vergleich des ersten Bildes 610 mit dem zweiten Bild 630. Das Ergebnis der Defektsegmentierung wird in dem Bild 640 dargestellt, das den segmentierten, verlängerten Defekt zeigt. Auf diese Weise kann der Defekt mit einer großen Größe oder Länge im Bild genau segmentiert werden, indem das defekte Bild wiederhergestellt wird und das Originalbild mit dem wiederhergestellten Bild verglichen wird.
  • 7 zeigt ein schematisches Diagramm einer beispielhaften Defektsegmentierung 700 für ein Bild, das mehrere Defekte gemäß einer Ausführungsform der vorliegenden Erfindung umfasst. Die Defektsegmentierung 700 kann zumindest teilweise von dem Computersystem/Server 12 oder anderen geeigneten Systemen durchgeführt werden.
  • Wie in 7 dargestellt, beinhaltet das erste Bild 710 zwei Defekte, die mit einer Zielvorrichtung verknüpft sind. Das Computer-System/der Server 12 ermittelt, dass das erste Bild 710 mindestens einen Defekt angibt. Als Nächstes erzeugt das Computersystem/der Server 12 die Wärmekarte 712 zur Lokalisierung der Defekte im ersten Bild 710. Obwohl die Wärmekarte 712 beide Defekte lokalisiert, wird der untere Defekt in der Wärmekarte 712 hervorgehoben. In diesem Fall erzeugt das Computersystem/der Server 12 eine Maske 714, die nur den unteren Defekt abdeckt. Anschließend erzeugt das Computersystem/der Server 12 das Zwischenbild 720, indem es den unteren Defekt, der durch die Maske 714 abgedeckt ist, entfernt.
  • Der obere Defekt wird jedoch nicht aus dem Zwischenbild 720 entfernt, und das Zwischenbild 720 wird nicht vollständig wiederhergestellt. In diesem Fall ermittelt das Computersystem/Server 12, dass das Zwischenbild 720 mindestens einen Defekt angibt, und führt eine weitere Iteration zur Beseitigung des Defekts aus. Das heißt, das Computersystem/der Server 12 erzeugt die Wärmekarte 722, die den oberen Defekt lokalisiert, und die Maske 724, die den oberen Defekt abdeckt. Dann erzeugt das Computersystem/der Server 12 das zweite Bild 730 durch Entfernen des oberen Defekts, der von der Maske 724 abgedeckt wird.
  • Schließlich ermittelt das Computersystem/der Server 12, dass das zweite Bild 730 keinen Defekt beinhaltet, und kennzeichnet oder segmentiert den Defekt durch Vergleich des ersten Bildes 710 mit dem zweiten Bild 730. Das Ergebnis der Defektsegmentierung wird in dem Bild 740 dargestellt, das die beiden segmentierten Defekte zeigt. Auf diese Weise können mehrere Defekte im Bild genau segmentiert werden.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit computerlesbaren Programmanweisungen darauf enthalten, die bewirken, dass ein Prozessor Aspekte der vorliegenden Erfindung ausführt.
  • Das computerlesbare Speichermedium kann eine materielle Einheit sein, die Anweisungen zur Nutzung durch eine Einheit zur Anweisungsausführung enthalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich beispielsweise um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine geeignete Kombination aus dem Vorhergehenden handeln, ohne auf diese beschränkt zu sein. Eine nicht umfassende Liste konkreterer Beispiele für das computerlesbare Speichermedium beinhaltet Folgendes: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flashspeicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disk (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie Lochkarten oder erhabene Strukturen in einer Rille mit darin aufgezeichneten Anweisungen und jede geeignete Kombination aus dem Vorhergehenden. Ein wie im vorliegenden Dokument verwendetes computerlesbares Speichermedium soll nicht als transiente Signale an sich ausgelegt werden, beispielsweise Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z. B. Lichtimpulse, die ein Lichtleiterkabel durchlaufen), oder durch eine Leitung übertragene elektrische Signale.
  • Im vorliegenden Dokument beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk, beispielsweise das Internet, ein lokales Netz, ein Weitverkehrsnetz und/oder ein Funknetz, auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, eine drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edgeserver aufweisen. Eine Netzadapterkarte oder Netzschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt aus dem Netzwerk computerlesbare Programmanweisungen und leitet die computerlesbaren Programmanweisungen zum Speichern in einem computerlesbaren Speichermedium in der jeweiligen Datenverarbeitungs/Verarbeitungs-Einheit weiter.
  • Computerlesbare Programmanweisungen zum Ausführen von Funktionen der vorliegenden Erfindung können Assembler-Anweisungen, Anweisungen in einer Befehlssatzarchitektur (instruction set architecture, ISA), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, Zustandseinstelldaten, Konfigurationsdaten für integrierte Schaltkreise oder entweder Quellcode oder Objektcode sein, der in jeder Kombination aus einer oder mehreren Programmiersprachen geschrieben ist, darunter eine objektorientierte Programmiersprache wie Smalltalk, C++ oder Ähnliches, und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der ferne Computer mit dem Computer des Benutzers über jede Art von Netzwerk verbunden sein, unter anderem ein lokales Netz (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer erfolgen (beispielsweise per Internet über einen Internet-Diensteanbieter). In einigen Ausführungsformen können elektronische Schaltungen, darunter beispielsweise programmierbare logische Schaltungen, feldprogrammierbare Gate Arrays (FPGA) oder programmierbare Logik-Arrays (PLA), die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen zum individuellen Gestalten der elektronischen Schaltungen verwenden, damit Aspekte der vorliegenden Erfindung ausgeführt werden.
  • Aspekte der vorliegenden Erfindung sind im vorliegenden Dokument unter Bezug auf Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder und Kombinationen aus Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern mit computerlesbaren Programmanweisungen implementiert sein kann bzw. können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Mehrzweckcomputers, eines Computers für besondere Zwecke oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Implementieren der Funktionen/Handlungen erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben sind. Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten anweisen kann, auf eine bestimmte Weise zu funktionieren, sodass das computerlesbare Speichermedium, in dem Anweisungen gespeichert sind, einen Herstellungsgegenstand aufweist, der Anweisungen enthält, die Aspekte der Funktion/Handlung realisieren, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben ist.
  • Die computerlesbaren Programmanweisungen können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheit geladen werden, um zu bewirken, dass eine Reihe von Arbeitsschritten auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführt wird, um einen auf einem Computer realisierten Prozess zu erzeugen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführt werden, die Funktinonen/Handlungen realisieren, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben sind.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, Segment oder einen Anweisungsbestandteil darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion(en) aufweist. Bei einigen Realisierungsalternativen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben vorkommen. Zwei hintereinander dargestellte Blöcke können beispielsweise tatsächlich als ein Schritt erfolgen, gleichzeitig, im Wesentlichen gleichzeitig, teilweise oder vollständig zeitlich überlappend ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach entsprechender Funktion. Es sei auch festgehalten, dass jeder Block der Blockschaubilder und/oder Ablaufplandarstellung und Kombinationen aus Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch Systeme auf der Grundlage von Hardware für besondere Zwecke realisiert sein kann bzw. können, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen aus Hardware für besondere Zwecke und Computeranweisungen ausführt bzw. ausführen.
  • Die Beschreibung der verschiedenen Ausführungsformen der vorliegenden Erfindung Ist zur Veranschaulichung dargelegt worden, soll jedoch nicht umfassend oder auf die offenbarten Ausführungsformen beschränkt sein. Für den Fachmann sind ohne Abweichung vom Umfang und Geist der Erfindung viele Abwandlungen und Varianten ersichtlich. Die im vorliegenden Dokument verwendete Terminologie wurde ausgewählt, um die Grundgedanken der Ausführungsform, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt verfügbaren Technologien am besten zu erläutern oder um anderen Fachleuten die im vorliegenden Dokument offenbarten Ausführungsformen verständlich zu machen.

Claims (21)

  1. Computer-implementiertes Verfahren zur Bildverarbeitung, umfassend: Ermitteln, durch einen oder mehrere Prozessoren, ob ein erstes Bild einen Defekt angibt, der mit einem Zielobjekt verknüpft ist; in Reaktion auf die Ermittlung, dass das erste Bild den Defekt angibt, Erhalten eines zweiten Bildes ohne den Defekt, basierend auf dem ersten Bild, durch den einen oder die mehreren Prozessoren; und Ermitteln, durch den einen oder die mehreren Prozessoren, des Defekts durch Vergleichen des ersten Bildes mit dem zweiten Bild.
  2. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Ermitteln, ob das erste Bild den Defekt angibt, umfasst: Anwenden des ersten Bildes durch den einen oder die mehreren Prozessoren auf einen Bildklassifikator zum Klassifizieren eines Bildes als normal oder abnormal; und in Reaktion auf ein Ergebnis der Klassifizierung, das angibt, dass das erste Bild abnormal ist, Ermitteln, durch den einen oder die mehreren Prozessoren, dass das erste Bild den Defekt angibt.
  3. Computer-implementiertes Verfahren nach Anspruch 2, wobei der Bildklassifikator ein binäres Klassifikatormodell ist.
  4. Computer-implementiertes Verfahren nach Anspruch 1, wobei das Erhalten des zweiten Bildes umfasst: Erzeugen einer Wärmekarte, die Wärmewerte von Pixeln im ersten Bild angibt, durch den einen oder die mehreren Prozessoren; Erzeugen, durch den einen oder die mehreren Prozessoren, auf Grundlage der Wärmekarte, einer Maske, die mindestens einen Teil des Defekts abdeckt; und Erzeugen des zweiten Bildes durch den einen oder die mehreren Prozessoren durch Entfernen zumindest des Teils des Defekts, der durch die Maske abgedeckt ist, aus dem ersten Bild.
  5. Computer-implementiertes Verfahren nach Anspruch 4, wobei das Erzeugen der Wärmekarte umfasst: Erzeugen der Wärmekarte durch den einen oder die mehreren Prozessoren durch Anwenden des ersten Bildes auf ein Klassenaktivierungs-Wärmekartenmodell, das trainiert wird, um den Defekt in dem ersten Bild zu lokalisieren.
  6. Computer-implementiertes Verfahren nach Anspruch 4, wobei das Erzeugen der Maske umfasst: Ermitteln, durch den einen oder die mehreren Prozessoren, von Wärmewerten eines Satzes von Pixeln in dem ersten Bild, die einen vorbestimmten Schwellenwert überschreiten; und Erzeugen, durch den einen oder die mehreren Prozessoren, der Maske, die den Satz von Pixeln abdeckt.
  7. Computer-implementiertes Verfahren nach Anspruch 4, wobei das Erzeugen des zweiten Bildes umfasst: Erzeugen des zweiten Bildes durch den einen oder die mehreren Prozessoren durch Anwenden des ersten Bildes mit der Maske auf ein auf einem erzeugenden gegnerischen Netzwerk (Generative Adversarial Network, GAN) basierendes Modell, das trainiert wird, um mindestens den Teil des Defekts zu entfernen.
  8. Computer-implementiertes Verfahren nach Anspruch 4, wobei das Erzeugen des zweiten Bildes umfasst: Erhalten eines Zwischenbildes durch den einen oder die mehreren Prozessoren, indem zumindest der Teil des Defekts aus dem ersten Bild entfernt wird; in Reaktion auf das Nichtvorhandensein des Defekts in dem Zwischenbild, Ermitteln des Zwischenbilds durch den einen oder die mehreren Prozessoren als das zweite Bild; und in Reaktion darauf, dass ein verbleibender Teil des Defekts in dem Zwischenbild vorhanden ist, Entfernen des verbleibenden Teils aus dem Zwischenbild durch den einen oder die mehreren Prozessoren auf Grundlage einer Wärmekarte des Zwischenbilds, um das zweite Bild zu erzeugen.
  9. Vorrichtung zur Bildverarbeitung, das umfasst: eine Verarbeitungseinheit; und einen Speicher, der mit der Verarbeitungseinheit gekoppelt ist und darauf Anweisungen speichert, wobei die Anweisungen, wenn sie von der Verarbeitungseinheit ausgeführt werden, Vorgänge ausführen, die umfassen: Ermitteln, ob ein erstes Bild einen Defekt angibt, der mit einem Zielobjekt verknüpft ist; in Reaktion auf das Ermitteln, dass das erste Bild den Defekt angibt, Erhalten eines zweiten Bildes ohne den Defekt auf Grundlage des ersten Bildes; und Ermitteln des Defekts durch Vergleichen des ersten Bildes mit dem zweiten Bild.
  10. Vorrichtung nach Anspruch 9, wobei das Ermitteln, ob das erste Bild den Defekt angibt, umfasst: Anwenden des ersten Bildes auf einen Bildklassifikator zum Klassifizieren eines Bildes als normal oder abnormal; und in Reaktion auf ein Ergebnis des Bildklassifikators, das angibt, dass das erste Bild abnormal ist, Ermitteln, dass das erste Bild den Defekt angibt.
  11. Vorrichtung nach Anspruch 10, wobei der Bildklassifikator ein binäres Klassifikatormodell ist.
  12. Vorrichtung nach Anspruch 9, wobei das Erhalten des zweiten Bildes umfasst: Erzeugen einer Wärmekarte, die Wärmewerte von Pixeln im ersten Bild angibt; Erzeugen, auf Grundlage der Wärmekarte, einer Maske, die zumindest einen Teil des Defekts abdeckt; und Erzeugen des zweiten Bildes durch Entfernen mindestens des Teils des Defekts, der durch die Maske abgedeckt ist, aus dem ersten Bild.
  13. Das Gerät nach Anspruch 12, wobei das Erzeugen der Wärmekarte Folgendes umfasst: Erzeugen der Wärmekarte durch Anwenden des ersten Bildes auf ein Klassenaktivierungs-Wärmekartenmodell, das trainiert wird, um den Defekt in dem ersten Bild zu lokalisieren.
  14. Vorrichtung nach Anspruch 12, wobei das Erzeugen der Maske Folgendes umfasst: Ermitteln von Wärmewerten eines Satzes von Pixeln in dem ersten Bild, die einen vorbestimmten Schwellenwert überschreiten; und Erzeugen der Maske, die den Satz von Pixeln abdeckt.
  15. Vorrichtung nach Anspruch 12, wobei das Erzeugen des zweiten Bildes umfasst: Erzeugen des zweiten Bildes durch Anwenden des ersten Bildes mit der Maske auf ein auf einem erzeugenden gegnerischen Netzwerk (GAN) basierendes Modell, das trainiert wird, um zumindest den Teil des Defekts zu entfernen.
  16. Vorrichtung nach Anspruch 12, wobei das Erzeugen des zweiten Bildes umfasst: Erhalten eines Zwischenbildes durch Entfernen zumindest des Teils des Defekts aus dem ersten Bild; in Reaktion auf das Nichtvorhandensein des Defekts in dem Zwischenbild, Ermitteln des Zwischenbilds als das zweite Bild; und in Reaktion darauf, dass ein verbleibender Teil des Defekts in dem Zwischenbild vorhanden ist, Entfernen des verbleibenden Teils aus dem Zwischenbild auf Grundlage einer Wärmekarte des Zwischenbilds, um das zweite Bild zu erzeugen.
  17. Computerprogrammprodukt, umfassend ein computerlesbares Speichermedium mit darin verkörperten Programmanweisungen, wobei die Programmanweisungen von einem Prozessor ausgeführt werden können, um den Prozessor zu veranlassen, folgende Vorgänge auszuführen: Ermitteln, ob ein erstes Bild einen Defekt angibt, der mit einem Zielobjekt verknüpft ist; in Reaktion auf das Ermitteln, dass das erste Bild den Defekt angibt, Erhalten eines zweiten Bildes ohne den Defekt auf Grundlage des ersten Bildes; und Ermitteln des Defekts durch Vergleichen des ersten Bildes mit dem zweiten Bild.
  18. Computerprogrammprodukt nach Anspruch 17, wobei das Ermitteln, ob das erste Bild den Defekt angibt, umfasst: Anwenden des ersten Bildes auf einen Bildklassifikator zum Klassifizieren eines Bildes als normal oder abnormal; und in Reaktion auf ein Ergebnis des Bildklassifikators, das angibt, dass das erste Bild abnormal ist, Ermitteln, dass das erste Bild den Defekt angibt.
  19. Computerprogrammprodukt nach Anspruch 17, wobei das Erhalten des zweiten Bildes umfasst: Erzeugen einer Wärmekarte, die Wärmewerte von Pixeln in dem ersten Bild angibt; Erzeugen, auf Grundlage der Wärmekarte, einer Maske, die zumindest einen Teil des Defekts abdeckt; und Erzeugen des zweiten Bildes durch Entfernen mindestens des Teils des Defekts, der durch die Maske abgedeckt ist, aus dem ersten Bild.
  20. Computerprogrammprodukt nach Anspruch 19, wobei das Erzeugen des zweiten Bildes umfasst: Erhalten eines Zwischenbildes durch Entfernen von mindestens dem Teil des Defekts aus dem ersten Bild; in Reaktion auf das Nichtvorhandensein des Defekts in dem Zwischenbild, Ermitteln des Zwischenbilds als zweites Bild; und in Reaktion darauf, dass ein verbleibender Teil des Defekts in dem Zwischenbild vorhanden ist, Entfernen des verbleibenden Teils aus dem Zwischenbild auf Grundlage einer Wärmekarte des Zwischenbilds, um das zweite Bild zu erzeugen.
  21. Computerprogramm, das Programmcodemittel umfasst, die geeignet sind, das Verfahren nach einem der Ansprüche 1 bis 8 auszuführen, wenn das Programm auf einem Computer ausgeführt wird.
DE112020002213.7T 2019-07-05 2020-06-12 Ermittlung von Bildeffekten Pending DE112020002213T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/503,764 US11030738B2 (en) 2019-07-05 2019-07-05 Image defect identification
US16/503,764 2019-07-05
PCT/IB2020/055527 WO2021005426A1 (en) 2019-07-05 2020-06-12 Image defect identification

Publications (1)

Publication Number Publication Date
DE112020002213T5 true DE112020002213T5 (de) 2022-03-17

Family

ID=74066825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020002213.7T Pending DE112020002213T5 (de) 2019-07-05 2020-06-12 Ermittlung von Bildeffekten

Country Status (6)

Country Link
US (1) US11030738B2 (de)
JP (1) JP7482912B2 (de)
CN (1) CN114072851A (de)
DE (1) DE112020002213T5 (de)
GB (1) GB2600587B (de)
WO (1) WO2021005426A1 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295439B2 (en) * 2019-10-16 2022-04-05 International Business Machines Corporation Image recovery
US11967139B2 (en) * 2020-05-19 2024-04-23 Objectvideo Labs, Llc Adversarial masks for false detection removal
DE102020207324A1 (de) * 2020-06-12 2021-12-16 Robert Bosch Gesellschaft mit beschränkter Haftung Plausibilisierung der Ausgabe eines Bildklassifikators mit einem Generator für abgewandelte Bilder
JP2022114331A (ja) * 2021-01-26 2022-08-05 日東電工株式会社 検査システム、検査方法及び検査プログラム
CN112967248B (zh) * 2021-03-03 2024-01-23 北京百度网讯科技有限公司 生成缺陷图像样本的方法、装置、介质及程序产品
CN112950606B (zh) * 2021-03-15 2023-04-07 重庆邮电大学 一种基于小样本的手机屏幕缺陷分割方法
US11216932B1 (en) * 2021-03-26 2022-01-04 Minds AI Technologies Ltd Electronic substrate defect detection
US11386580B1 (en) * 2021-08-13 2022-07-12 Goodsize Inc. System apparatus and method for guiding user to comply with application-specific requirements
US20230153987A1 (en) * 2021-11-17 2023-05-18 Verizon Media Inc. Object defect detection
CN113870262B (zh) * 2021-12-02 2022-04-19 武汉飞恩微电子有限公司 基于图像处理的印刷电路板分类方法、装置及储存介质
CN114494135A (zh) * 2021-12-24 2022-05-13 深圳英博达智能科技有限公司 Pcb板表面凸点缺陷检测方法、系统、及电子设备
CN114565622B (zh) * 2022-03-03 2023-04-07 北京安德医智科技有限公司 房间隔缺损长度的确定方法及装置、电子设备和存储介质
CN114332084B (zh) * 2022-03-11 2022-09-16 齐鲁工业大学 一种基于深度学习的pcb表面缺陷检测方法
CN115661123B (zh) * 2022-11-14 2023-06-23 哈尔滨工业大学 基于弱监督目标检测的工业品表面缺陷位置检测方法
CN115937147B (zh) * 2022-12-09 2023-09-26 北京小米移动软件有限公司 缺陷检测参数的确定方法、装置、设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4644613B2 (ja) 2006-02-27 2011-03-02 株式会社日立ハイテクノロジーズ 欠陥観察方法及びその装置
JP5275017B2 (ja) 2008-12-25 2013-08-28 株式会社日立ハイテクノロジーズ 欠陥検査方法及びその装置
CN101604080B (zh) 2009-07-10 2011-05-04 友达光电股份有限公司 透镜基板的检测方法及其应用于显示装置的制造方法
JP6403627B2 (ja) 2015-04-14 2018-10-10 キヤノン株式会社 インプリント装置、インプリント方法及び物品の製造方法
JP6546826B2 (ja) 2015-10-08 2019-07-17 株式会社日立パワーソリューションズ 欠陥検査方法、及びその装置
WO2018216629A1 (ja) 2017-05-22 2018-11-29 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP7031963B2 (ja) 2017-08-22 2022-03-08 株式会社ディスコ チップの製造方法
JP2019039727A (ja) 2017-08-23 2019-03-14 富士通株式会社 画像検査装置、画像検査方法および画像検査プログラム
US10424059B2 (en) 2017-09-11 2019-09-24 International Business Machines Corporation Quality evaluation
JP6936957B2 (ja) 2017-11-07 2021-09-22 オムロン株式会社 検査装置、データ生成装置、データ生成方法及びデータ生成プログラム
CN109118482B (zh) 2018-08-07 2019-12-31 腾讯科技(深圳)有限公司 一种面板缺陷分析方法、装置及存储介质
CN109035248A (zh) * 2018-09-05 2018-12-18 深圳灵图慧视科技有限公司 疵点检测方法、装置、终端设备、服务器和存储介质

Also Published As

Publication number Publication date
JP2022538468A (ja) 2022-09-02
JP7482912B2 (ja) 2024-05-14
GB2600587A (en) 2022-05-04
WO2021005426A1 (en) 2021-01-14
US20210004945A1 (en) 2021-01-07
GB2600587B (en) 2023-11-15
US11030738B2 (en) 2021-06-08
GB202200865D0 (en) 2022-03-09
CN114072851A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
DE112020002213T5 (de) Ermittlung von Bildeffekten
DE112017003937T5 (de) System, Verfahren und Computerprogrammprodukt zur Störungserkennung und - Lokalisierung in Stromnetz
DE112016003355T5 (de) Sicherer Einsatz einer Anwendung über Einsatzorte hinweg
DE102017217968A1 (de) Generieren eines Verschiebungsprotokolls für virtuelle Maschinen
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112020003380B4 (de) Ermittlung des zustands der infrastruktur in einem interessierenden bereich
DE112020002987T5 (de) Bereitstellen von mikrodiensten über eine dienstinfrastruktur hinweg
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE112021000810T5 (de) Optisches erkennen von zellenstrukturen unter verwendung hierarchischer neuronaler netzwerke und zellengrenzen zum strukturieren von clustern
DE112020000912T5 (de) Verwalten von software-programmen
DE112021003908T5 (de) Föderales maschinenlernen durch verwenden von ortsabhängigem hashing
DE102016103713A1 (de) Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE102021127254A1 (de) Inhaltssensitives Auswählen von Knoten zum Erstellen von Containern
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE112020001774T5 (de) Datensatzabhängiges niedrigrang-zerlegen von neuronalen netzwerken
DE112021003276T5 (de) Ressourcenverwaltung einer softwareanwendung mit mehreren softwarekomponenten
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112020000906B4 (de) Schrittweise 3d-punktwolkensegmentierung in objekt und hintergrund aus erfassungssitzungen
DE112021000338T5 (de) Auslagern der statistikerfassung
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE102021128523A1 (de) Hierarchische bildzerlegung zur defekterkennung
DE112021001974T5 (de) Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten
DE102021128522A1 (de) Identifizierung von regeln des netzwerkdatenverkehrs

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence