BE1029597A1 - Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder - Google Patents

Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder Download PDF

Info

Publication number
BE1029597A1
BE1029597A1 BE20225584A BE202205584A BE1029597A1 BE 1029597 A1 BE1029597 A1 BE 1029597A1 BE 20225584 A BE20225584 A BE 20225584A BE 202205584 A BE202205584 A BE 202205584A BE 1029597 A1 BE1029597 A1 BE 1029597A1
Authority
BE
Belgium
Prior art keywords
training
image processing
image
rois
images
Prior art date
Application number
BE20225584A
Other languages
English (en)
Other versions
BE1029597B1 (de
Inventor
Anthony P Deluca
Original Assignee
Zebra Technologies
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 Zebra Technologies filed Critical Zebra Technologies
Publication of BE1029597A1 publication Critical patent/BE1029597A1/de
Application granted granted Critical
Publication of BE1029597B1 publication Critical patent/BE1029597B1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • 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/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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]
    • 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)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

Vorliegend werden Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder offenbart. Die Systeme und Verfahren umfassen Konfigurieren eines Bildverarbeitungswerkzeuges zum Erfassen einer Bild-ID, die in Trainingsbildern abgebildet ist, und Kennzeichnen jedes Trainingsbildes, um einen Erfolgs- oder Fehlerstatus eines durch die Trainingsbilder abgebildeten Objekts anzugeben. Aus den Trainingsbildern werden ein oder mehrere Kandidaten-Bildmerkmale extrahiert, um eine oder mehrere Kandidaten-ROIs zu erzeugen. Aus der oder den Kandidaten-ROIs wird ein Trainingssatz von ROIs ausgewählt und als einbezogene oder ausgeschlossene ROIs bezeichnet. Der Trainingssatz von ROIs und die Trainingsbilder werden verwendet, um ein Bildverarbeitungs-Lernmodell zu trainieren, das so konfiguriert ist, dass es einen Bildverarbeitungsauftrag ausgibt, der an eine Bildgebungseinrichtung bereitstellbar ist, die den Bildverarbeitungsauftrag implementiert, um den Erfolgs- oder Fehlerstatus zusätzlicher Bilder, die das Objekt abbilden, zu erkennen.

Description

1 BE2022/5584
Bildverarbeitungssysteme und -verfahren zum automatischen
Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf
Grundlage interessierender Regionen (ROIs) digitaler Bilder
HINTERGRUND
Im Laufe der Jahre hat sich die industrielle Automatisierung zunehmend auf Bildverarbeitungs- (machine vision) Komponenten gestützt, die Bediener bei einer Vielzahl von Aufgaben unterstützen können. In einigen Implementierungen werden Bildverarbeitungskomponenten wie z.B.
Kameras genutzt, um Objekte zu verfolgen, wie etwa solche, die sich auf einem Förderband an stationären Kameras vorbei bewegen. Häufig sind diese Kameras (auch als Bildgebungseinrichtungen bezeichnet) mit Client-
Einrichtungen (z.B. Personalcomputern) verbunden, auf denen entsprechende Anwendungen laufen, die mit diesen
Bildgebungseinrichtungen auf einer Vielzahl von Ebenen interagieren können. Bei diesen Anwendungen ist die Bildbearbeitung und -analyse häufig Routine und dies beinhaltet Interaktion mit dem Benutzer durch die
Verwendung mehrerer interessierender Regionen (regions of interest, ROIS) innerhalb dieser Bilder.
Ein Problem ergibt sich jedoch beim Einrichten oder anderweitigen Konfigurieren von Bildverarbeitungskomponenten und/oder
Software zur genauen Abbildung von Objekten, insbesondere von beweglichen Objekten. Zu solchen beweglichen Objekten können Objekte (z.B. in der Herstellung befindliche Produkte) gehören, die sich auf einem
Förderband bewegen. In solchen Situationen müssen
Bildverarbeitungskomponenten und/oder -software in der Regel manuell bzw. individuell konfiguriert werden, was nicht nur zeitaufwändig, sondern auch fehleranfällig sein kann.
In einigen Aspekten können Bildverarbeitungskomponenten und/oder -software manuell als spezifischer "Auftrag" konfiguriert werden,
9 BE2022/5584 um ein bestimmtes Objekt (z.B. einen Barcode eines hergestellten Produkts oder einen anderen Teil eines hergestellten Produkts) in einer bestimmten
Umgebung (z.B. Förderband oder anderer Herstellungsprozess) abzubilden.
Allerdings kann das manuelle Erstellen eines Auftrags an sich einen zeitaufwändigen Prozess darstellen. In der Regel muss ein Benutzer sorgfältig ROIS innerhalb von Bildern auf mögliche Fehler hin identifizieren und Bildverarbeitungsaufträge entsprechend einstellen, damit
Abweichungen erkannt werden. Solche Benutzer müssen zudem manuell
Regionen für wichtige Merkmale wie beispielsweise Barcodes festlegen.
Dementsprechend besteht ein Bedarf an
Bildverarbeitungssystemen und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage von ROIs digitaler Bilder.
KURZDARSTELLUNG
Gemäß einem Aspekt beschreibt die vorliegende Offenbarung ein erfindungsgemäBes Bildverarbeitungsverfahren zum automatischen
Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder. Das
Bildverarbeitungsverfahren umfasst Konfigurieren eines
Bildverarbeitungswerkzeugs zum Erfassen einer Bildkennung (ID). Das
Bildverarbeitungsverfahren umfasst ferner Laden einer Vielzahl von
Trainingsbildern. Jedes Trainingsbild kann die Bild-ID abbilden. Das
Bildverarbeitungsverfahren umfasst ferner Kennzeichnen jedes der Vielzahl von Trainingsbildern, um einen Erfolgsstatus oder einen Fehlerstatus eines in jedem Trainingsbild abgebildeten Objekts anzuzeigen. Das
Bildverarbeitungsverfahren umfasst ferner Extrahieren eines oder mehrerer Kandidaten-Bildmerkmale aus der Vielzahl von Trainingsbildern.
Das Bildverarbeitungsverfahren umfasst ferner Erzeugen einer oder
3 BE2022/5584 mehrerer Kandidaten-ROIs auf Grundlage der Kandidaten-Bildmerkmale.
Das Bildverarbeitungsverfahren umfasst ferner Auswählen eines
Trainingssatzes von ROIs aus der einen oder den mehreren Kandidaten-
ROIs. Jede ROI des Trainingssatzes von ROIs kann als einbezogene ROI oder als ausgeschlossene ROI bezeichnet werden. Das
Bildverarbeitungsverfahren umfasst ferner Trainieren eines
Bildverarbeitungs-Lernmodells mit dem Trainingssatz von ROIs und der
Vielzahl von Trainingsbildern. Das Bildverarbeitungs-Lernmodell kann so konfiguriert werden, dass es einen Bildverarbeitungsauftrag ausgibt. Der
Bildverarbeitungsauftrag kann zur elektronischen Bereitstellung an eine
Bildgebungseinrichtung konfiguriert werden. Die den
Bildverarbeitungsauftrag implementierende Bildgebungseinrichtung kann so konfiguriert werden, dass sie den Erfolgsstatus oder den Fehlerstatus zusätzlicher Bilder, die das Objekt abbilden, erkennt.
In einigen Beispielen kann das Kennzeichnen eines
Trainingsbildes der Vielzahl von Trainingsbildern zur Anzeige eines
Fehlerstatus Einfügen eines grafischen begrenzten Bereiches umfassen, um einen visuell fehlerhaften Bereich oder Teil des Objekts anzuzeigen, das in dem Trainingsbild abgebildet ist.
In weiteren oder anderen Beispielen kann das Bildverarbeitungs-
Lernmodell ferner mit dem Trainingssatz von ROIs und der Vielzahl von
Trainingsbildern trainiert werden, um einen Qualitätswert auszugeben, der eine Qualität des im Trainingsbild abgebildeten Objekts angibt.
Die mindestens eine aus dem Trainingssatz von ROIs kann eine kritische ROI umfassen, wobei die kritische ROI das Bildverarbeitungs-
Lernmodell veranlasst, mindestens eines der Folgenden auszugeben: (a) den
Qualitätswert, der eine hohe Qualität für das im Trainingsbild abgebildete
Objekt anzeigt, oder (b) den Qualitätswert, der eine niedrige Qualität für das im Trainingsbild abgebildete Objekt anzeigt.
4 BE2022/5584
In anderen oder weiteren Beispielen kann das Bildverarbeitungs-
Lernmodell ein Ensemble-Modell sein, das eine Vielzahl von KI- (künstliche
Intelligenz) Modellen umfasst, wobei jedes der Vielzahl von KI-Modellen mit
Teilsätzen des Trainingssatzes von ROIS trainiert wird, um Qualitätswerte für spezifische ROIs innerhalb eines das Objekt abbildenden digitalen
Bildes auszugeben.
Gemäß einem weiteren Aspekt wird ein Bildverarbeitungssystem offenbart. Das Bildverarbeitungssystem ist so konfiguriert, dass es auf
Grundlage interessierender Regionen (ROIs) digitaler Bilder automatisch einen oder mehrere Bildverarbeitungsaufträge erzeugt. Das
Bildverarbeitungssystem umfasst eine Bildgebungseinrichtung, die so konfiguriert ist, dass sie einen oder mehrere Bildverarbeitungsaufträge implementiert. Das Bildverarbeitungssystem umfasst ferner einen oder mehrere Prozessoren. Das Bildverarbeitungssystem umfasst ferner einen
Speicher, der mit dem einen oder den mehreren Prozessoren in
Kommunikationsverbindung steht und Datenverarbeitungsanweisungen speichert. Die Datenverarbeitungsanweisungen veranlassen bei Ausführung durch den einen oder die mehreren Prozessoren den einen oder die mehreren Prozessoren, ein Bildverarbeitungswerkzeug zum Erfassen einer
Bildkennung (ID) zu konfigurieren. Die Datenverarbeitungsanweisungen veranlassen bei Ausführung durch den einen oder die mehreren Prozessoren ferner den einen oder die mehreren Prozessoren, eine Vielzahl von
Trainingsbildern zu laden. Jedes Trainingsbild kann die Bild-ID abbilden.
Die Datenverarbeitungsanweisungen veranlassen bei Ausführung durch den einen oder die mehreren Prozessoren ferner den einen oder die mehreren Prozessoren, jedes der Vielzahl von Trainingsbildern zu kennzeichnen, um einen Erfolgsstatus oder einen Fehlerstatus eines in
Jedem Trainingsbild abgebildeten Objekts anzugeben. Die
Datenverarbeitungsanweisungen veranlassen bei Ausführung durch den einen oder die mehreren Prozessoren ferner den einen oder die mehreren
Prozessoren, aus der Vielzahl von Trainingsbildern ein oder mehrere
Kandidaten-Bildmerkmale zu extrahieren. Die
Datenverarbeitungsanweisungen veranlassen bei Ausführung durch den 5 einen oder die mehreren Prozessoren ferner den einen oder die mehreren
Prozessoren, auf Grundlage der Kandidaten-Bildmerkmale eine oder mehrere Kandidaten-ROIs zu erzeugen. Die
Datenverarbeitungsanweisungen veranlassen bei Ausführung durch den einen oder die mehreren Prozessoren ferner den einen oder die mehreren
Prozessoren, aus der einen oder den mehreren Kandidaten-ROIs einen
Trainingssatz von ROIs auszuwählen. Jede ROI des Trainingssatzes von
ROIs kann als einbezogene ROI oder als ausgeschlossene ROI bezeichnet werden. Die Datenverarbeitungsanweisungen veranlassen bei Ausführung durch den einen oder die mehreren Prozessoren ferner den einen oder die mehreren Prozessoren, mit dem Trainingssatz von ROIs und der Vielzahl von Trainingsbildern ein Bildverarbeitungs-Lernmodell zu trainieren. Das
Bildverarbeitungs-Lernmodell kann so konfiguriert werden, dass es einen
Bildverarbeitungsauftrag ausgibt. Der Bildverarbeitungsauftrag kann zur elektronischen Bereitstellung an die Bildgebungseinrichtung konfiguriert werden. Die den Bildverarbeitungsauftrag implementierende
Bildgebungseinrichtung kann so konfiguriert werden, dass sie den
Erfolgsstatus oder den Fehlerstatus zusätzlicher Bilder, die das Objekt abbilden, erkennt.
In einigen Beispielen kann das Kennzeichnen eines
Trainingsbildes der Vielzahl von Trainingsbildern zur Anzeige eines
Fehlerstatus Einfügen eines grafischen begrenzten Bereiches umfassen, um einen visuell fehlerhaften Bereich oder Teil des Objekts anzuzeigen, das in dem Trainingsbild abgebildet ist.
6 BE2022/5584
In weiteren oder anderen Beispielen kann das Bildverarbeitungs-
Lernmodell ferner mit dem Trainingssatz von ROIs und der Vielzahl von
Trainingsbildern trainiert werden, um einen Qualitätswert auszugeben, der eine Qualität des im Trainingsbild abgebildeten Objekts angibt.
Die mindestens eine aus dem Trainingssatz von ROIs kann eine kritische ROI umfassen, wobei die kritische ROI das Bildverarbeitungs-
Lernmodell veranlasst, mindestens eines der Folgenden auszugeben: (a) den
Qualitätswert, der eine hohe Qualität für das im Trainingsbild abgebildete
Objekt anzeigt, oder (b) den Qualitätswert, der eine niedrige Qualität für das im Trainingsbild abgebildete Objekt anzeigt.
In anderen oder weiteren Beispielen kann das Bildverarbeitungs-
Lernmodell ein Ensemble-Modell sein, das eine Vielzahl von KI- (künstliche
Intelligenz) Modellen umfasst, wobei jedes der Vielzahl von KI-Modellen mit
Teilsätzen des Trainingssatzes von ROIS trainiert wird, um Qualitätswerte für spezifische ROIs innerhalb eines das Objekt abbildenden digitalen
Bildes auszugeben.
Gemäß einem weiteren Aspekt wird ein materielles nicht- transientes computerlesbares Medium offenbart, das
Datenverarbeitungsanweisungen zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender
Regionen (ROIs) digitaler Bilder speichert. Die
Datenverarbeitungsanweisungen veranlassen bei Ausführung durch einen oder mehrere Prozessoren den einen oder die mehreren Prozessoren, ein
Bildverarbeitungswerkzeug zum Erfassen einer Bildkennung (ID) zu konfigurieren. Die Datenverarbeitungsanweisungen veranlassen bei
Ausführung durch einen oder mehrere Prozessoren ferner den einen oder die mehreren Prozessoren, eine Vielzahl von Trainingsbildern zu laden.
Jedes Trainingsbild kann die Bild-ID abbilden. Die
Datenverarbeitungsanweisungen veranlassen bei Ausführung durch einen
7 BE2022/5584 oder mehrere Prozessoren ferner den einen oder die mehreren Prozessoren, jedes der Vielzahl von Trainingsbildern zu kennzeichnen, um einen
Erfolgsstatus oder einen Fehlerstatus eines in jedem Trainingsbild abgebildeten Objekts anzugeben. Die Datenverarbeitungsanweisungen veranlassen bei Ausführung durch einen oder mehrere Prozessoren ferner den einen oder die mehreren Prozessoren, aus der Vielzahl von
Trainingsbildern ein oder mehrere Kandidaten-Bildmerkmale zu extrahieren. Die Datenverarbeitungsanweisungen veranlassen bei
Ausführung durch einen oder mehrere Prozessoren ferner den einen oder die mehreren Prozessoren, auf Grundlage der Kandidaten-Bildmerkmale eine oder mehrere Kandidaten-ROIs zu erzeugen. Die
Datenverarbeitungsanweisungen können bei Ausführung durch einen oder mehrere Prozessoren ferner den einen oder die mehreren Prozessoren veranlassen, aus der einen oder den mehreren Kandidaten-ROIs einen
Trainingssatz von ROIs auszuwählen. Jede ROI des Trainingssatzes von
ROIs kann als einbezogene ROI oder als ausgeschlossene ROI bezeichnet werden. Die Datenverarbeitungsanweisungen veranlassen bei Ausführung durch einen oder mehrere Prozessoren ferner den einen oder die mehreren
Prozessoren, mit dem Trainingssatz von ROIs und der Vielzahl von
Trainingsbildern ein Bildverarbeitungs-Lernmodell zu trainieren. Das
Bildverarbeitungs-Lernmodell kann so konfiguriert werden, dass es einen
Bildverarbeitungsauftrag ausgibt. Der Bildverarbeitungsauftrag kann zur elektronischen Bereitstellung an eine Bildgebungseinrichtung konfiguriert werden. Die den Bildverarbeitungsauftrag implementierende
Bildgebungseinrichtung kann so konfiguriert werden, dass sie den
Erfolgsstatus oder den Fehlerstatus zusätzlicher Bilder, die das Objekt abbilden, erkennt.
In einigen Beispielen kann das Kennzeichnen eines
Trainingsbildes der Vielzahl von Trainingsbildern zur Anzeige eines
8 BE2022/5584
Fehlerstatus Einfügen eines grafischen begrenzten Bereiches umfassen, um einen visuell fehlerhaften Bereich oder Teil des Objekts anzuzeigen, das in dem Trainingsbild abgebildet ist.
In weiteren oder anderen Beispielen kann das Bildverarbeitungs-
Lernmodell ferner mit dem Trainingssatz von ROIs und der Vielzahl von
Trainingsbildern trainiert werden, um einen Qualitätswert auszugeben, der eine Qualität des im Trainingsbild abgebildeten Objekts angibt.
Die mindestens eine aus dem Trainingssatz von ROIs kann eine kritische ROI umfassen, wobei die kritische ROI das Bildverarbeitungs-
Lernmodell veranlasst, mindestens eines der Folgenden auszugeben: (a) den
Qualitätswert, der eine hohe Qualität für das im Trainingsbild abgebildete
Objekt anzeigt, oder (b) den Qualitätswert, der eine niedrige Qualität für das im Trainingsbild abgebildete Objekt anzeigt.
In anderen oder weiteren Beispielen kann das Bildverarbeitungs-
Lernmodell ein Ensemble-Modell sein, das eine Vielzahl von KI- (künstliche
Intelligenz) Modellen umfasst, wobei jedes der Vielzahl von KI-Modellen mit
Teilsätzen des Trainingssatzes von ROIS trainiert wird, um Qualitätswerte für spezifische ROIs innerhalb eines das Objekt abbildenden digitalen
Bildes auszugeben.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Die beiliegenden Figuren, in denen sich gleiche Bezugszeichen auf identische oder funktionell ähnliche Elemente in den einzelnen Ansichten beziehen, sind zusammen mit der nachstehenden ausführlichen
Beschreibung Bestandteil der Spezifikation und dienen zur weiteren
Veranschaulichung von Aspekten von Konzepten, die die beanspruchte
Erfindung beinhalten, und zur Erläuterung verschiedener Grundsätze und
Vorteile dieser Aspekte.
9 BE2022/5584
Fig. 1 ist ein Beispiel für ein Bildverarbeitungssystem, das so konfiguriert ist, dass es auf Grundlage von ROIs digitaler Bilder automatisch einen oder mehrere Bildverarbeitungsaufträge erzeugt, wobei der eine oder die mehreren Bildverarbeitungsaufträge an eine
Bildgebungseinrichtung bereitstellbar sind, gemäß vorliegend beschriebenen Aspekten.
FIG. 2 ist eine perspektivische Ansicht der
Bildgebungseinrichtung aus FIG. 1 gemäß vorliegend beschriebenen
Aspekten.
FIG. 3 zeigt eine beispielhafte Anwendungsschnittstelle, die in
Verbindung mit dem Betrieb des Bildverarbeitungssystems aus FIG. 1 verwendet wird, gemäß vorliegend beschriebenen Aspekten.
FIG. 4 ist ein Beispiel für ein Bildverarbeitungsverfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage von ROIs digitaler Bilder gemäß vorliegend beschriebenen
Aspekten.
Ein Fachmann versteht, dass Elemente in den Figuren der
Einfachheit und Klarheit halber dargestellt sind und nicht unbedingt maßstabsgetreu sind. So können beispielsweise die Abmessungen einiger
Elemente in den Figuren im Vergleich zu anderen Elementen übertrieben dargestellt sein, um das Verständnis von Aspekten der vorliegenden
Erfindung zu erleichtern.
Die Vorrichtungs- und Verfahrenskomponenten sind in den
Zeichnungen gegebenenfalls durch herkömmliche Symbole dargestellt, wobei nur die konkreten Einzelheiten gezeigt werden, die für das
Verständnis der Aspekte der vorliegenden Erfindung von Bedeutung sind, um die Offenbarung nicht mit Einzelheiten zu verdecken, die für den
Fachmann nach Durchsicht der vorliegenden Beschreibung ohne Weiteres ersichtlich sind. Ein Fachmann wird aus der nachstehenden Diskussion
10 BE2022/5584 leicht erkennen, dass alternative Beispiele der vorliegend dargestellten
Anordnungen und Verfahren verwendet werden können, ohne von den vorliegend dargelegten Grundsätzen abzuweichen.
AUSFÜHRLICHE BESCHREIBUNG
Vorliegend werden Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder offenbart.
Allgemein bietet die vorliegende Offenbarung eine neuartige Möglichkeit zum Trainieren eines Maschinenlernmodells für einen oder mehrere
Bildverarbeitungsaufträge anhand eines Satzes geeigneter (bestehender) und mangelhafter (nicht bestehender) Fallbeispiele (wie sie in digitalen
Bildern abgebildet sind) sowie zum automatischen Extrahieren nützlicher
Komponenten für die Analyse. Die Bezeichnung "Bildverarbeitungsauftrag" oder "Auftrag" bezieht sich vorliegend auf Bildgebungs- und/oder
Kamerasoftware oder -firmware, die für den Einsatz und die
Implementierung in einer Bildgebungskamera konfiguriert ist, wie z.B. einer oder mehreren intelligenten (Smart-) Kameras der VS-SERIE von
ZEBRA TECHNOLOGIES CORP. beispielsweise der VS70 MACHINE
VISION SMART CAMERA. Beispielsweise kann gemäß einem Aspekt ein
Bildverarbeitungsauftrag zur Bereitstellung an eine Bildgebungskamera konfiguriert sein, um ein Bild eines Barcodes eines Produkts zu lesen oder zu scannen. Das Konfigurieren des Bildverarbeitungsauftrags kann
Auswählen von ROIs im Bild beinhalten, wie z.B. eine Position eines
Computerchips im Bild einer Computerplatine, um einen Erfolg (z.B. einen
Erfolgsstatus) oder einen Fehler (z.B. einen Fehlerstatus) der
Computerplatine während oder nach der Herstellung anzugeben. Eine solche Tätigkeit kann zum Beispiel als Teil eines Qualitätskontrollprozesses in der Fertigung erfolgen. Gemäß verschiedenen Aspekten kann der
11 BE2022/5584
Bildverarbeitungsauftrag durch ein Bildverarbeitungs-Lernmodell (z.B. ein
Maschinenlernmodell) erzeugt, eingerichtet oder anderweitig ausgegeben werden. Diese und andere Aspekte der Offenbarung werden im
Zusammenhang mit den vorliegenden Figuren näher beschrieben.
Fig. 1 ist ein Beispiel für ein Bildverarbeitungssystem 100, das so konfiguriert ist, dass es auf Grundlage von ROIs digitaler Bilder automatisch einen oder mehrere Bildverarbeitungsaufträge erzeugt, wobei der eine oder die mehreren Bildverarbeitungsaufträge an eine
Bildgebungseinrichtung 104 bereitstellbar sind, gemäß vorliegend beschriebenen Aspekten. Gemäß verschiedenen Aspekten bietet das
Bildverarbeitungssystem 100 eine Analyse von Pixeldaten eines Bildes einer
Zielobjekterzeugung eines Bildverarbeitungsauftrags gemäß verschiedenen vorliegend offenbarten Aspekten.
Gemäß dem beispielhaften Aspekt aus FIG. 1 beinhaltet das
Bildgebungssystem 100 eine Benutzer-Datenverarbeitungseinrichtung 102 (z.B. einen Computer, eine Mobileinrichtung oder ein Tablet), eine Steuer-
Datenverarbeitungseinrichtung 105 (z.B. eine speicherprogrammierbare
Steuerung (SPS)) und eine Bildgebungseinrichtung 104, die über ein
Netzwerk 106 mit der Benutzer-Datenverarbeitungseinrichtung 102 und der Steuer-Datenverarbeitungseinrichtung 105 in
Kommunikationsverbindung steht. Grundsätzlich können die Benutzer-
Datenverarbeitungseinrichtung 102 und die Bildgebungseinrichtung 104 konfiguriert sein, Anweisungen auszuführen, um beispielsweise
Operationen der vorliegend beschriebenen beispielhaften Verfahren zu implementieren, wie sie in den Flussdiagrammen der Zeichnungen, die dieser Beschreibung beigefügt sind, dargestellt sein können. Die Benutzer-
Datenverarbeitungseinrichtung 102 ist allgemein so konfiguriert, dass ein
Benutzer/Bediener einen Bildverarbeitungsauftrag zur Ausführung auf der
Bildgebungseinrichtung 104 erstellen kann. Nach der Erstellung kann ein
12 BE2022/5584
Benutzer/Bediener dann den Bildverarbeitungsauftrag über das Netzwerk 106 an die Bildgebungseinrichtung 104 übertragen/hochladen, wo der
Bildverarbeitungsauftrag dann von der Bildgebungseinrichtung 104 interpretiert, ausgeführt oder anderweitig implementiert wird. Nach der
Ausführung dieser Aufträge können von der Bildgebungseinrichtung 104 erzeugte Ausgabedaten zur weiteren Analyse und Verwendung an die
Steuer-Datenverarbeitungseinrichtung 105 übertragen werden. Die
Benutzer-Datenverarbeitungseinrichtung 102 kann eine oder mehrere
Bediener-Workstations umfassen und kann einen oder mehrere Prozessoren 108, einen oder mehrere Speicher 110, eine Netzwerkschnittstelle 112, eine
Eingabe/Ausgabe- (E/A-) Schnittstelle 114 und eine Anwendung für intelligente Bildgebung (smart imaging) 116 beinhalten. In ähnlicher Weise kann die Steuer-Datenverarbeitungseinrichtung 105 einen oder mehrere
Prozessoren 158, einen oder mehrere Speicher 160, eine
Netzwerkschnittstelle 162, eine Eingabe/Ausgabe- (E/A-) Schnittstelle 164 und Software beinhalten, die möglicherweise in Form von Firmware und/oder als Smart-Imaging-Anwendung 166 ausgeführt wird, welche der
Smart-Imaging-Anwendung 116 gleichen oder sich von dieser unterscheiden kann.
Die Bildgebungseinrichtung 104 ist über ein Netzwerk 106 (z.B. ein privates Computernetzwerk wie ein internes LAN, oder zusätzlich oder alternativ ein öffentliches Computernetzwerk wie das Internet) mit der
Benutzer-Datenverarbeitungseinrichtung 102 verbunden und so konfiguriert, dass sie von der Benutzer-Datenverarbeitungseinrichtung 102 empfangene Bildverarbeitungsaufträge interpretiert, ausführt oder anderweitig implementiert. Allgemein kann die Bildgebungseinrichtung 104 eine Auftragsdatei mit einem oder mehreren Auftragsskripten von der
Benutzer-Datenverarbeitungseinrichtung 102 über das Netzwerk 106 erhalten, die den Bildverarbeitungsauftrag definieren können und die
13 BE2022/5584
Bildgebungseinrichtung 104 so konfigurieren können, dass sie Bilder gemäß dem Bildverarbeitungsauftrag erfasst und/oder analysiert. Beispielsweise kann die Bildgebungseinrichtung 104 einen Flash-Speicher beinhalten, der zum Bestimmen, Speichern oder anderweitigen Verarbeiten von
Bildgebungsdaten/-datensätzen und/oder Post-Bildgebungs-Daten verwendet wird. Die Bildgebungseinrichtung 104 kann dann einen Auslöser empfangen, erkennen und/oder anderweitig interpretieren, der die
Bildgebungseinrichtung 104 veranlasst, gemäß der über das eine oder die mehreren Auftragsskripte festgelegten Konfiguration ein Bild des
Zielobjekts zu erfassen. Nach der Erfassung und/oder Analyse kann die
Bildgebungseinrichtung 104 die Bilder und alle zugehörigen Daten über das
Netzwerk 106 an die Benutzer-Datenverarbeitungseinrichtung 102 zur weiteren Analyse und/oder Speicherung übertragen. Gemäß verschiedenen
Aspekten kann die Bildgebungseinrichtung 104 eine intelligente ("Smart"-)
Kamera (wie z.B. die VS70 MACHINE VISION SMART CAMERA) und/oder anderweitig so konfiguriert sein, dass sie automatisch hinreichende
Funktionalität der Bildgebungseinrichtung 104 ausführt, um
Auftragsskripte zu erhalten, zu interpretieren und auszuführen, die
Bildverarbeitungsaufträge definieren, wie beispielsweise ein oder mehrere
Auftragsskripte, die in einer oder mehreren Auftragsdateien enthalten sind, die beispielsweise von der Benutzer-Datenverarbeitungseinrichtung 102 erhalten werden.
Grob gesagt kann eine Auftragsdatei eine JSON-Darstellung/ein
JSON-Datenformat des einen oder der mehreren Auftragsskripte sein, die von der Benutzer-Datenverarbeitungseinrichtung 102 an die
Bildgebungseinrichtung 104 übertragbar sind. Ein Auftragsskript kann vorliegend zudem eine Konfigurationsdatei oder eine "Auftragskonfiguration" umfassen oder als solche bezeichnet werden. Die
Auftragsdatei kann außerdem durch eine C++-Laufzeit-Engine oder eine
14 BE2022/5584 andere geeignete Laufzeit-Engine geladen/gelesen werden, die auf der
Bildgebungseinrichtung 104 ausgeführt wird. Darüber hinaus kann die
Bildgebungseinrichtung 104 einen Server (nicht gezeigt) betreiben oder implementieren, der so konfiguriert ist, dass er über das Netzwerk 106 auf
Auftragsdateien wartet und diese von der Benutzer-
Datenverarbeitungseinrichtung 102 empfängt. Zusätzlich oder alternativ kann der Server, der so konfiguriert ist, dass er auf Auftragsdateien wartet und diese empfängt, als ein oder mehrere Cloud-basierte Server implementiert sein, wie beispielsweise eine Cloud-basierte
Datenverarbeitungsplattform. Bei dem Server kann es sich beispielsweise um eine oder mehrere Cloud-basierte Plattformen wie MICROSOFT
AZURE, AMAZON AWS oder dergleichen handeln.
Gemäß verschiedenen Aspekten kann die Bildgebungseinrichtung 104 einen oder mehrere Prozessoren 118, einen oder mehrere Speicher 120, eine Netzwerkschnittstelle 122, eine E/A-Schnittstelle 124 und eine
Bildgebungsanordnung 126 beinhalten. Die Bildgebungsanordnung 126 kann eine Digitalkamera und/oder eine digitale Videokamera zum Erfassen oder Aufnehmen von digitalen Bildern und/oder Rahmen (frames) beinhalten. Jedes digitale Bild kann Pixeldaten umfassen, die von einem oder mehreren Werkzeugen analysiert werden können, die jeweils für die
Durchführung einer Bildanalyseaufgabe konfiguriert sind. Die
Digitalkamera und/oder die digitale Videokamera z.B. der
Bildgebungsanordnung 126 kann, wie vorliegend offenbart, so konfiguriert sein, dass sie digitale Bilder aufnimmt, erfasst oder anderweitig erzeugt, und kann zumindest gemäß einigen Aspekten solche Bilder in einem
Speicher (z.B. einem oder mehreren Speichern 110, 120 und/oder 160) einer jeweiligen Einrichtung (z.B. der Benutzer-Datenverarbeitungseinrichtung 102, der Bildgebungseinrichtung 104) speichern.
15 BE2022/5584
Die Bildgebungsanordnung 126 kann beispielsweise eine fotorealistische Kamera (nicht gezeigt) zum Erfassen, Abtasten oder
Scannen von 2D-Bilddaten beinhalten. Die fotorealistische Kamera kann eine auf RGB (rot, grün, blau) beruhende Kamera zum Erfassen von 2D-
Bildern mit RGB-basierten Pixeldaten sein. Gemäß verschiedenen
Aspekten kann die Bildgebungsanordnung zusätzlich eine dreidimensionale (3D-) Kamera (nicht gezeigt) zum Erfassen, Abtasten oder Scannen von 3D-
Bilddaten beinhalten. Die 3D-Kamera kann einen Infrarot- (IR-) Projektor und eine zugehörige IR-Kamera zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten/-datensätzen beinhalten. Gemäß einigen Aspekten kann die fotorealistische Kamera der Bildgebungsanordnung 126 2D-Bilder und zugehörige 2D-Bilddaten zum gleichen oder einem ähnlichen Zeitpunkt wie die 3D-Kamera der Bildgebungsanordnung 126 erfassen, so dass die
Bildgebungseinrichtung 104 sowohl den 3D-Bilddatensatz als auch den 2D-
Bilddatensatz für eine bestimmte Oberfläche, ein Objekt, einen Bereich oder eine Szene zum gleichen oder einem ähnlichen Zeitpunkt zur Verfügung hat. Gemäß verschiedenen Aspekten kann die Bildgebungsanordnung 126 die 3D-Kamera und die fotorealistische Kamera als eine einzige
Bildgebungsvorrichtung beinhalten, die so konfiguriert ist, dass sie 3D-
Tiefenbilddaten gleichzeitig mit 2D-Bilddaten erfasst. Folglich können die erfassten 2D-Bilder und die entsprechenden 2D-Bilddaten mit den 3D-
Bildern und 3D-Bilddaten tiefenausgerichtet werden.
Gemäß verschiedenen Aspekten kann die Bildgebungsanordnung 126 so konfiguriert sein, dass sie Bilder von Oberflächen oder Bereichen eines vordefinierten Suchraums oder von Zielobjekten innerhalb des vordefinierten Suchraums erfasst. So kann beispielsweise jedes in einem
Auftragsskript enthaltene Werkzeug zusätzlich eine interessierende Region (ROI) beinhalten, die einer bestimmten Region oder einem Zielobjekt entspricht, die/das von der Bildgebungsanordnung 126 abgebildet wird. Der
16 BE2022/5584 zusammengesetzte Bereich, der durch die ROIs für alle in einem bestimmten Auftragsskript enthaltenen Werkzeuge definiert ist, kann so den vordefinierten Suchraum definieren, den die Bildgebungsanordnung 126 erfassen kann, um die Ausführung des Auftragsskripts zu erleichtern.
Der vordefinierte Suchraum kann jedoch von einem Benutzer so festgelegt werden, dass er ein Sichtfeld (field of view, FOV) beinhaltet, das größer oder kleiner ist als der zusammengesetzte Bereich, der durch die ROIs aller im jeweiligen Auftragsskript enthaltenen Werkzeuge definiert ist. Es ist zu beachten, dass die Bildgebungseinheit 126 2D- und/oder 3D-Bilddaten/- datensätze einer Vielzahl von Bereichen erfassen kann, so dass vorliegend zusätzliche Bereiche zusätzlich zu den vordefinierten Suchräumen denkbar sind. Darüber hinaus kann die Bildgebungsanordnung 126 gemäß verschiedenen Aspekten so konfiguriert sein, dass sie zusätzlich zu den 2D- /3D-Bilddaten auch andere Bilddatensätze erfasst, wie beispielsweise
Graustufenbilddaten oder Amplitudenbilddaten, die jeweils mit den 2D-/3D-
Bilddaten tiefenausgerichtet sein können.
Die Bildgebungseinrichtung 104 kann zudem die 2D-Bilddaten/- datensätze und/oder 3D-Bilddatensätze für die Verwendung durch andere
Einrichtungen (z.B. die Benutzer-Datenverarbeitungseinrichtung 102, einen externen Server) verarbeiten. Beispielsweise können der eine oder die mehreren Prozessoren 118 die von der Bildgebungsanordnung 126 erfassten, gescannten oder abgetasteten Bilddaten oder -datensätze verarbeiten. Die Verarbeitung der Bilddaten kann Post-Bildgebungs-Daten erzeugen, die Metadaten, vereinfachte Daten, normalisierte Daten,
Ergebnisdaten, Statusdaten oder Alarmdaten beinhalten können, die aus den ursprünglich gescannten oder abgetasteten Bilddaten bestimmt wurden. Die Bilddaten und/oder die Post-Bildgebungs-Daten können an die
Benutzer-Datenverarbeitungseinrichtung 102, die die Smart-Imaging-
Anwendung 136 ausführt, zur Betrachtung, Bearbeitung und/oder
17 BE2022/5584 anderweitigen Interaktion gesendet werden. Gemäß anderen Aspekten können die Bilddaten und/oder die Post-Bildgebungs-Daten zur Speicherung oder zur weiteren Bearbeitung an einen Server gesendet werden. Wie vorliegend beschrieben, können die Benutzer-
Datenverarbeitungseinrichtung 102, die Bildgebungseinrichtung 104 und/oder ein externer Server oder eine andere zentralisierte
Verarbeitungseinheit und/oder ein Speicher solche Daten speichern und zudem die Bilddaten und/oder die Post-Bildgebungs-Daten an eine andere
Anwendung senden, die auf einer Benutzereinrichtung implementiert ist, wie beispielsweise einer Mobileinrichtung, einem Tablet, einer tragbaren
Einrichtung oder einer Desktop-Einrichtung.
Jeder des einen oder der mehreren Speicher 110, 120 und/oder 160 kann eine oder mehrere Formen von flüchtigem und/oder nicht- flüchtigem, festen und/oder auswechselbarem Speicher beinhalten, wie beispielsweise Nur-Lese-Speicher (ROM), elektronischer programmierbarer
Nur-Lese-Speicher (EPROM), Direktzugriffsspeicher (RAM), löschbarer elektronischer programmierbarer Nur-Lese-Speicher (EEPROM) und/oder andere Festplatten, Flash-Speicher, MicroSD-Karten und andere. Allgemein kann ein Computerprogramm oder ein computergestütztes Produkt, eine
Anwendung oder ein Code (z.B. die Smart-Imaging-Anwendung 116, oder andere vorliegend beschriebene Datenverarbeitungsanweisungen) auf einem computerverwendbaren Speichermedium oder einem greifbaren nicht-transienten computerlesbaren Medium (z.B. Standard-
Direktzugriffsspeicher (RAM), eine optische Platte, ein USB- (Universal
Serial Bus) Laufwerk oder dergleichen) gespeichert sein, in dem ein solcher computerlesbarer Programmcode oder Computeranweisungen enthalten sind, wobei der computerlesbare Programmcode oder die
Computeranweisungen auf dem einen oder den mehreren Prozessoren 108, 118 und/oder 158 installiert oder anderweitig zur Ausführung durch diese
18 BE2022/5584 angepasst sein können (z.B. in Verbindung mit dem jeweiligen
Betriebssystem in dem einen oder den mehreren Speichern 110, 120 und/oder 160), um die maschinenlesbaren Anweisungen, Verfahren,
Prozesse, Elemente oder Beschränkungen zu erleichtern, zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen,
Darstellungen, Diagrammen, Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden. Dabei kann der Programmcode in jeder gewünschten Programmiersprache implementiert werden, und zwar als Maschinencode, Assemblercode,
Bytecode, interpretierbarer Quellcode oder dergleichen (z.B. über Golang,
Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript,
HTML, CSS, XML usw.)
In dem einen oder den mehreren Speichern 110, 120 und/oder 160 kann ein Betriebssystem (OS) (z.B. Microsoft Windows, Linux, Unix usw.) gespeichert sein, das in der Lage ist, die vorliegend beschriebenen
Funktionalitäten, Anwendungen, Verfahren oder andere Software zu ermöglichen. In dem einen oder den mehreren Speichern 110 kann zudem die Smart-Imaging-Anwendung 116 gespeichert sein, die so konfiguriert sein kann, dass sie die Erstellung von Bildverarbeitungsaufträgen ermöglicht, wie vorliegend weiter beschrieben. Zusätzlich oder alternativ kann die Smart-Imaging-Anwendung 116 zudem in dem einem oder den mehreren Speichern 120 der Bildgebungseinrichtung 104 und/oder in einer externen Datenbank (nicht gezeigt) gespeichert sein, die über das Netzwerk 106 zugänglich ist oder anderweitig mit der Benutzer-
Datenverarbeitungseinrichtung 102 in Kommunikationsverbindung steht.
Der eine oder die mehreren Speicher 110, 120 und/oder 160 können zudem maschinenlesbare Anweisungen speichern, einschließlich einer oder mehrerer Anwendungen, einer oder mehrerer Softwarekomponenten und/oder einer oder mehrerer Anwendungsprogrammierschnittstellen
19 BE2022/5584 (APIs), die implementiert werden können, um die vorliegend beschriebenen
Merkmale, Funktionen oder andere Offenbarungen zu ermöglichen oder auszuführen, wie beispielsweise jegliche Verfahren, Prozesse, Elemente oder Beschränkungen, wie sie in den verschiedenen Flussdiagrammen,
Darstellungen, Diagrammen, Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden. Zum
Beispiel können zumindest einige der Anwendungen, Softwarekomponenten oder APIs eine auf Bildverarbeitung beruhende Bildgebungsanwendung wie beispielsweise die Smart-Imaging-Anwendung 116 sein, beinhalten oder anderweitig ein Teil davon sein, wobei jede so konfiguriert sein kann, dass sie ihre verschiedenen vorliegend beschriebenen Funktionen ermöglicht. Es ist zu beachten, dass eine oder mehrere andere Anwendungen denkbar sind, die durch den einen oder die mehreren Prozessoren 108, 118 und/oder 158 ausgeführt werden können.
Der eine oder die mehreren Prozessoren 108, 118 und/oder 158 können mit dem einen oder den mehreren Speichern 110, 120 und/oder 160 über einen Computerbus verbunden sein, der für das Übertragen von elektronischen Daten, Datenpaketen oder anderen elektronischen Signalen zu und von dem einen oder den mehreren Prozessoren 108, 118 und/oder 158 und dem einen oder den mehreren Speichern 110, 120 und/oder 160 zuständig ist, um die maschinenlesbaren Anweisungen, Verfahren,
Prozesse, Elemente oder Beschränkungen zu implementieren oder durchzuführen, wie sie in den verschiedenen Flussdiagrammen,
Darstellungen, Diagrammen, Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden.
Der eine oder die mehreren Prozessoren 108, 118 und/oder 158 können mit dem einen oder den mehreren Speichern 110, 120 und/oder 160 über den Computerbus verbunden sein, um das Betriebssystem (OS) auszuführen. Der eine oder die mehreren Prozessoren 108, 118 und/oder 158
20 BE2022/5584 können zudem über den Computerbus mit dem einen oder den mehreren
Speichern 110, 120 und/oder 160 verbunden sein, um Daten zu erstellen, zu lesen, zu aktualisieren, zu löschen oder anderweitig abzurufen und mit ihnen zu interagieren, die in dem einen oder den mehreren Speichern 110, 120 und/oder 160 und/oder externen Datenbanken (z.B. einer relationalen
Datenbank wie Oracle, DB2, MySQL oder einer NoSQL-basierten
Datenbank wie MongoDB) gespeichert sind. Die in dem einem oder den mehreren Speichern 110, 120 und/oder 160 und/oder einer externen
Datenbank gespeicherten Daten können alle oder einen Teil der vorliegend beschriebenen Daten oder Informationen beinhalten, darunter beispielsweise Bilder von Bildverarbeitungsaufträgen (z.B. Bilder, die von der Bildgebungseinrichtung 104 in Reaktion auf die Ausführung eines
Auftragsskripts erfasst wurden) und/oder andere geeignete Informationen.
Die Netzwerkschnittstellen 112, 122 und/oder 162 können so konfiguriert sein, dass sie Daten über einen oder mehrere externe/Netzwerkanschlüsse an ein oder mehrere Netzwerke oder lokale
Endgeräte, wie dem vorliegend beschriebenen Netzwerk 106, kommunizieren (z.B. senden und empfangen). In einigen
Ausführungsformen können die Netzwerkschnittstellen 112, 122 und/oder 162 eine Client-Server-Plattformtechnologie wie ASP.NET, Java J2EE,
Ruby on Rails, Node.js, einen Webdienst oder eine Online-API beinhalten, die auf elektronische Anfragen reagieren und diese beantworten. Die
Netzwerkschnittstellen 112, 122 und/oder 162 können die Client-Server-
Plattformtechnologie implementieren, die über den Computerbus mit dem einen oder den mehreren Speichern 110, 120 und/oder 160 (einschließlich der darin gespeicherten Anwendungen, Komponenten, APIs, Daten usw.) interagieren kann, um die maschinenlesbaren Anweisungen, Verfahren,
Prozesse, Elemente oder Beschränkungen zu implementieren oder durchzuführen, wie sie in den verschiedenen Flussdiagrammen,
91 BE2022/5584
Darstellungen, Diagrammen, Figuren und/oder anderen Offenbarungen vorliegend veranschaulicht, dargestellt oder beschrieben werden.
Gemäß einigen Ausführungsformen können die
Netzwerkschnittstellen 112, 122 und/oder 162 einen oder mehrere
Sendeempfänger (z.B. WWAN-, WLAN- und/oder WPAN-Sendeempfänger ) beinhalten oder mit diesen interagieren, die gemäß IEEE-Standards, 3GPP-
Standards oder anderen Standards funktionieren und für den Empfang und die Übertragung von Daten über externe/Netzwerkanschlüsse verwendet werden können, die mit dem Netzwerk 106 verbunden sind. Gemäß einigen
Aspekten kann das Netzwerk 106 ein privates Netzwerk oder ein lokales
Netzwerk (LAN) umfassen. Zusätzlich oder alternativ kann das Netzwerk 106 ein öffentliches Netzwerk wie das Internet umfassen. Gemäß einigen
Aspekten kann das Netzwerk 106 Router, drahtlose Switches oder andere derartige drahtlose Verbindungspunkte umfassen, die mit der Benutzer-
Datenverarbeitungseinrichtung 102 (über die Netzwerkschnittstelle 112) und der Bildgebungseinrichtung 104 (über die Netzwerkschnittstelle 122) über drahtlose Kommunikation auf Grundlage eines oder mehrerer verschiedener drahtloser Standards kommunizieren, darunter, ohne jedoch hierauf eingeschränkt zu sein, IEEE 802.11a/b/c/g (WIFT), der
BLUETOOTH-Standard oder dergleichen.
Die E/A-Schnittstellen 114, 124 und/oder 164 können
Bedienerschnittstellen beinhalten oder implementieren, die so konfiguriert sind, dass sie einem Administrator oder Bediener Informationen darstellen und/oder Eingaben vom Administrator oder Bediener empfangen. Eine
Bedienerschnittstelle kann einen Anzeigebildschirm bereitstellen (z.B. über die Benutzer-Datenverarbeitungseinrichtung 102 und/oder die
Bildgebungseinrichtung 104), den ein Benutzer/Bediener verwenden kann, um beliebige Bilder, Grafiken, Texte, Daten, Merkmale, Pixel und/oder andere geeignete Visualisierungen oder Informationen zu visualisieren.
29 BE2022/5584
Beispielsweise können die Benutzer-Datenverarbeitungseinrichtung 102 und/oder die Bildgebungseinrichtung 104 zumindest teilweise eine grafische
Benutzerschnittstelle (GUT) zum Anzeigen von Bildern, Grafiken, Text,
Daten, Merkmalen, Pixeln und/oder anderen geeigneten Visualisierungen oder Informationen auf dem Anzeigebildschirm umfassen, implementieren, darauf zugreifen, diese wiedergeben oder anderweitig offenlegen. Die E/A-
Schnittstellen 114, 124 und/oder 164 können zudem E/A-Komponenten beinhalten (z.B. Anschlüsse, kapazitive oder resistive berührungsempfindliche Eingabefelder, Tasten, Knöpfe, Lichter, LEDs, eine beliebige Anzahl von Tastaturen, Mäusen, USB-Laufwerken, optischen
Laufwerken, Bildschirmen, Touchscreens usw.), auf die direkt/indirekt über die Benutzer-Datenverarbeitungseinrichtung 102 und/oder die
Bildgebungseinrichtung 104 zugegriffen werden kann oder die an diese angeschlossen sind. Gemäß einigen Aspekten kann ein Administrator oder
Benutzer/Bediener auf die Benutzer-Datenverarbeitungseinrichtung 102 und/oder die Bildgebungseinrichtung 104 zugreifen, um Aufträge zu konstruieren, Bilder oder andere Informationen zu überprüfen, Änderungen vorzunehmen, Antworten und/oder Auswahlen einzugeben und/oder andere
Funktionen auszuführen.
Wie vorstehend beschrieben, kann gemäß einigen Aspekten die
Benutzer-Datenverarbeitungseinrichtung 102 die vorliegend beschriebenen
Funktionen als Teil eines "Cloud"-Netzwerks durchführen oder anderweitig mit anderen Hardware- oder Softwarekomponenten innerhalb der Cloud kommunizieren, um vorliegend beschriebene Daten oder Informationen zu senden, abzurufen oder anderweitig zu analysieren.
FIG. 2 ist eine perspektivische Ansicht der
Bildgebungseinrichtung 104 aus FIG. 1 gemäß vorliegend beschriebenen
Aspekten. Als nicht einschränkendes Beispiel zeigt FIG. 2 eine VS70
MACHINE VISION SMART CAMERA, wie sie vorliegend für FIG. 1
23 BE2022/5584 beschrieben ist. Die Bildgebungseinrichtung 104 beinhaltet ein Gehäuse 202, eine Bildgebungsblende 204, eine
Benutzerschnittstellenkennzeichnung 206, einen Kuppelschalter/-knopf 208, eine oder mehrere Leuchtdioden (LEDs) 210 und einen oder mehrere
Befestigungspunkte 212. Wie bereits erwähnt, kann die
Bildgebungseinrichtung 104 Auftragsdateien von einer Benutzer-
Datenverarbeitungseinrichtung (z.B. der Benutzer-
Datenverarbeitungseinrichtung102) erhalten, die die
Bildgebungseinrichtung 104 anschlieBend interpretiert und ausführt. Die in der Auftragsdatei enthaltenen Anweisungen können
Einrichtungskonfigurationseinstellungen (vorliegend auch als "Bildgebungseinstellungen" bezeichnet) beinhalten, die dazu dienen, die
Konfiguration der Bildgebungseinrichtung 104 vor dem Erfassen von
Bildern eines Zielobjekts anzupassen.
Die Einrichtungskonfigurationseinstellungen können beispielsweise Anweisungen zum Anpassen einer oder mehrerer
Einstellungen in Bezug auf die Bildgebungsblende 204 beinhalten. Als
Beispiel sei angenommen, dass zumindest ein Teil der beabsichtigten
Analyse, die einem Bildverarbeitungsauftrag entspricht, erfordert, dass die Bildgebungseinrichtung 104 die Helligkeit jedes erfassten Bildes maximiert.
Um dieser Anforderung gerecht zu werden, kann die Auftragsdatei
Einrichtungskonfigurationseinstellungen zur VergröBerung der
BlendengröBe der Bildgebungsblende 204 beinhalten. Die
Bildgebungseinrichtung 104 kann diese Anweisungen (z.B. über einen oder mehrere Prozessoren 118) interpretieren und die BlendengröBe der
Bildgebungsblende 204 entsprechend vergrößern. Somit kann die
Bildgebungseinrichtung 104 so konfiguriert sein, dass sie ihre eigene
Konfiguration automatisch so anpasst, dass sie einem bestimmten
Bildverarbeitungsauftrag optimal entspricht. Zudem kann die
24 BE2022/5584
Bildgebungseinrichtung 104 beispielsweise, ohne jedoch hierauf eingeschränkt zu sein, ein oder mehrere Bandpassfilter, einen oder mehrere
Polarisatoren, einen oder mehrere DPM-Diffusoren, eine oder mehrere C-
Mount-Linsen und/oder eine oder mehrere C-Mount-Flüssiglinsen beinhalten oder so angepasst sein, dass sie diese beinhaltet, oder anderweitig die durch die Bildgebungsblende 204 empfangene Beleuchtung beeinflussen.
Die Benutzerschnittstellenkennzeichnung 206 kann den
Kuppelschalter/-knopf 208 und eine oder mehrere LEDs 210 beinhalten und dadurch eine Vielzahl von interaktiven und/oder anzeigenden Merkmalen ermöglichen. Allgemein kann die Benutzerschnittstellenkennzeichnung 206 es einem Benutzer ermöglichen, die Bildgebungseinrichtung 104 auszulösen und/oder abzustimmen (z.B. über den Kuppelschalter/-knopf 208) und zu erkennen, wenn eine oder mehrere Funktionen, Fehler und/oder andere
Aktionen in Bezug auf die Bildgebungseinrichtung 104 ausgeführt wurden oder stattgefunden haben (z.B. über die eine oder die mehreren LEDs 210).
Beispielsweise kann die Auslösefunktion eines Kuppelschalters/-knopfes (z.B. des Kuppelschalters/-knopfes 208) es einem Benutzer ermöglichen, ein
Bild mit der Bildgebungseinrichtung 104 zu erfassen und/oder einen
Auslöserkonfigurationsbildschirm einer Benutzeranwendung (z.B. der
Smart-Imaging-Anwendung 116) anzuzeigen. Der
Auslöserkonfigurationsbildschirm kann es dem Benutzer ermöglichen, einen oder mehrere Auslöser für die Bildgebungseinrichtung 104 zu konfigurieren, die im Speicher (z.B. einem oder mehreren Speichern 110, 120 und/oder 160) zur Verwendung in später entwickelten Bildverarbeitungsaufträgen gespeichert werden können, wie vorliegend beschrieben wird.
Als weiteres Beispiel kann die Abstimmungsfunktion eines
Kuppelschalters/-knopfes (z.B. des Kuppelschalters/-knopfes 208) es einem
Benutzer ermöglichen, die Konfiguration der Bildgebungseinrichtung 104
95 BE2022/5584 automatisch und/oder manuell gemäß einer bevorzugten/vorbestimmten
Konfiguration einzustellen und/oder einen
Bildgebungskonfigurationsbildschirm einer Benutzeranwendung (z.B. der
Smart-Imaging-Anwendung 116) anzuzeigen. Der
Bildgebungskonfigurationsbildschirm kann es dem Benutzer ermöglichen, eine oder mehrere Konfigurationen der Bildgebungseinrichtung 104 (z.B.
BlendengröBe, Belichtungslänge usw.) zu konfigurieren, die im Speicher (z.B. einem oder mehreren Speichern 110, 120 und/oder 160) für die
Verwendung in später entwickelten Bildverarbeitungsaufträgen gespeichert werden können, wie vorliegend beschrieben wird.
Um dieses Beispiel zu vertiefen, und wie vorliegend weiter erläutert, kann ein Benutzer den Bildgebungskonfigurationsbildschirm (oder allgemeiner die Smart-Imaging-Anwendung 116) verwenden, um zwei oder mehr Konfigurationen von Bildgebungseinstellungen für die Bildgebungseinrichtung 104 festzulegen. Der Benutzer kann dann diese zwei oder mehr Konfigurationen von Bildgebungseinstellungen als Teil eines Bildverarbeitungsauftrags speichern, der dann in einer Auftragsdatei, die ein oder mehrere Auftragsskripte enthält, an die
Bildgebungseinrichtung 104 übertragen wird. Das eine oder die mehreren
Auftragsskripte können dann die Prozessoren der Bildgebungseinrichtung 104 (z.B. einen oder mehrere Prozessoren 118) anweisen, die
Bildgebungseinstellungen der Bildgebungseinrichtung nach jeder aufeinanderfolgenden Bilderfassung automatisch und sequenziell gemäß einer oder mehreren der zwei oder mehr Konfigurationen von
Bildgebungseinstellungen anzupassen.
Der oder die Befestigungspunkte 212 können es einem Benutzer ermöglichen, die Bildgebungseinrichtung 104 mit einer
Befestigungsvorrichtung (z.B. einem Bildgebungsstativ, einer
Kamerahalterung usw.), einer Strukturoberfläche (z.B. einer
26 BE2022/5584
Lagerhauswand, einer Lagerhausdecke, einem Strukturstützbalken usw.), anderen Zubehörteilen und/oder anderen geeigneten
Verbindungseinrichtungen, -strukturen oder -oberflächen zu verbinden und/oder lösbar zu befestigen. Beispielsweise kann die
Bildgebungseinrichtung 104 optimal auf einer Befestigungseinrichtung in einem Verteilungszentrum, einer Produktionsanlage, einem Lagerhaus und/oder einer anderen Einrichtung platziert werden, um die
Qualität/Konsistenz von Produkten, Paketen und/oder anderen
Gegenständen abzubilden und zu überwachen, während sie das Sichtfeld der Bildgebungseinrichtung 104 passieren. Darüber hinaus können der oder die Befestigungspunkte 212 es einem Benutzer ermöglichen, die
Bildgebungseinrichtung 104 mit einer Vielzahl von Zubehörteilen zu verbinden, darunter, ohne jedoch hierauf eingeschränkt zu sein, eine oder mehrere externe Beleuchtungseinrichtungen, eine oder mehrere
Befestigungseinrichtungen/Halterungen und dergleichen.
Darüber hinaus kann die Bildgebungseinrichtung 104 mehrere
Hardwarekomponenten im Gehäuse 202 beinhalten, die eine Verbindung zu einem Computernetzwerk (z.B. dem Netzwerk 106) ermöglichen. Zum
Beispiel kann die Bildgebungseinrichtung 104 eine Netzwerkschnittstelle (z.B. die Netzwerkschnittstelle 122) beinhalten, die es der
Bildgebungseinrichtung 104 ermöglicht, sich mit einem Netzwerk zu verbinden, wie beispielsweise eine Cigabit-Ethernet-Verbindung und/oder eine Dual-Gigabit-Ethernet-Verbindung. Ferner kann die
Bildgebungseinrichtung 104 Sendeempfänger und/oder andere
Kommunikationskomponenten als Teil der Netzwerkschnittstelle beinhalten, um mit anderen Einrichtungen (z.B. der Benutzer-
Datenverarbeitungseinrichtung 102) zu kommunizieren, z.B. über
Ethernet/IP, PROFINET, Modbus TCP, CC-Link, USB 3.0, RS-232 und/oder
27 BE2022/5584 jedes andere geeignete Kommunikationsprotokoll oder Kombinationen aus diesen.
FIG. 3 zeigt ein Beispiel für eine in Verbindung mit dem Betrieb des Bildverarbeitungssystems aus FIG. 1 verwendete Anwendungsschnittstelle 300 gemäß vorliegend beschriebenen Aspekten.
Wie im Beispiel aus FIG. 3 gezeigt, wird das Bild 302 in die
Anwendungsschnittstelle 300 geladen und/oder dort angezeigt. Über die
Anwendungsschnittstelle 300 können Bilder geladen werden, die kommentiert, markiert oder anderweitig bearbeitet sein können oder dafür bereit sein können (es aber noch nicht sind), um mit dem Bild verbundene interessierende Regionen (ROIs) zu erhalten. Solche ROIs können zum
Trainieren von Maschinenlernmodellen und/oder zum anderweitigen
Konfigurieren der Bildgebungseinrichtung 104 verwendet werden, um
Bildverarbeitungsaufträge wie vorliegend beschrieben zu implementieren.
Gemäß einigen Aspekten kann die Anwendungsschnittstelle 300 zudem zusätzliche Bilder 320 speichern und/oder laden, die zum Trainieren, Testen und/oder zur Anwendung verwendet werden können, z.B. durch bereits trainierte Bildverarbeitungsmodelle usw.
Im Beispiel von Fig. 3 zeigt das Bild 302 ein Bild einer
Computerplatine 304, die ein Beispiel für ein hergestelltes Produkt ist, das von der Bildgebungseinrichtung 104 abgebildet werden kann. Das Bild 302 kann von einem Benutzer bearbeitet oder anderweitig mit diesem interagiert werden. Wie dargestellt, zeigt das Bild 302 die ROIs 306 und 308. Die ROI 306 enthält einen Barcode, der mit der Computerplatine des
Bildes 302 verbunden ist. Die ROI 308 enthält einen Abschnitt der
Computerplatine, beispielsweise einen Bereich oder eine Region, wo ein
Computerchip auf der Computerplatine des Bildes 302 installiert ist (oder installiert werden sollte).
98 BE2022/5584
Es ist zu beachten, dass eine ROI jede gewünschte Form aufweisen und auf beliebige Art und Weise erhalten werden kann, sei es manuell oder automatisch. Während die dargestellten ROIS jeweils eine rechteckige Form aufweisen, kann eine ROI beispielsweise kreisförmig, quadratisch, ellipsenförmig oder achteckig sein oder jede andere gewünschte Form aufweisen. Zudem muss eine ROI nicht in Bezug auf irgendeine Linie symmetrisch sein, und eine ROI kann eine insgesamt unregelmäBige Form aufweisen. Was das Erzeugen der ROI betrifft, so kann diese manuell erzeugt werden, indem ein Benutzer einen Punkt im Bild 302 mit einer Maus auswählt und den Zeiger von diesem Punkt aus zieht, während die ROI-Funktion aktiviert wird, um eine ROI mit den gewünschten Proportionen zu zeichnen, oder sie kann auf Grundlage der
Ergebnisse einer von der Anwendung und/oder der Bildgebungseinrichtung durchgeführten Bildanalyse erzeugt werden. Beispielsweise kann das
System so konfiguriert sein, dass es eine ROI um einen Bereich innerhalb des Bildes erzeugt, dessen Pixelhelligkeitswert über oder unter einem
Schwellenwert liegt, es kann so konfiguriert sein, dass es eine ROI auf
Grundlage von Kantenerkennung erzeugt, und es kann so konfiguriert sein, dass es eine ROI auf Grundlage von Farberkennung erzeugt, und so weiter.
Zusätzlich kann Jede ROI eine Kennzeichnung aufweisen (z.B. die
Kennzeichnung 306L für die ROI 306 und die Kennzeichnung 308L für die
ROI 308), die auf dem Bildschirm angezeigt wird und einige identifizierende
Informationen bereitstellt. Solche identifizierenden Informationen können, als nicht einschränkendes Beispiel, Informationen beinhalten, die ein oder mehrere Merkmale im Bild identifizieren oder repräsentieren, einen Ansatz, der verwendet wurde, um die ROI zu erzeugen, oder andere derartige
Informationen, die der ROI entsprechen. Im Beispiel von FIG. 3 definiert die Kennzeichnung 306L die ROI 306 als eine Bildkennung (ID) (z.B. wenn der in der ROI 306 gezeigte Barcode einen Barcode umfasst). In ähnlicher
29 BE2022/5584
Weise definiert die Kennzeichnung 308L die ROT 308 als einen Status (z.B. wenn der in der ROI 308 dargestellte Computerchip einen Status aufweist, der z.B. einen Erfolgs- oder Fehlerstatus beinhaltet, der anzeigt, ob der
Computerchip in einem Erfolgszustand (z.B. ohne Defekte abgebildet) oder in einem Fehlerzustand (z.B. mit Defekten abgebildet, fehlend usw.) abgebildet ist).
Wenn eine oder mehrere ROIs vorhanden sind, kann der folgende
Ansatz angewandt werden, um zu bestimmen, welche ROI von einer
Benutzeraktion betroffen sein soll. Zum Beispiel kann die folgende Logik angewendet werden:
Wenn sich ein Mauszeiger über einer ROI-Kennzeichnung befindet, wird die mit der Kennzeichnung verbundene ROI zur Interaktion anvisiert.
Befindet sich ein Mauszeiger innerhalb des Körpers einer einzelnen ROI, wird die ROI, in der sich der Mauszeiger befindet, zur
Interaktion anvisiert.
Befindet sich der Zeiger innerhalb des Körpers mehrerer ROIs, wird die ROI anvisiert, deren Mitte der Position des Zeigers am nächsten ist.
Befindet sich der Zeiger in gleichem Abstand zu mehreren ROI-
Mitten, wird die kleinste ROI zur Interaktion anvisiert.
Sobald eine ROI anvisiert ist, kann sie durch Klicken ausgewählt oder durch Ziehen bewegt werden. Während sich der Zeiger auf der
Arbeitsfläche bewegt, auf der das Bild 302 angezeigt wird, kann die anvisierte ROI mit einer durchsichtigen Überlagerung hervorgehoben werden, damit der Benutzer weiß, mit welcher ROI er angesichts der aktuellen Zeigerposition interagieren würde.
30 BE2022/5584
Eine solche Mittenabstandslogik ermöglicht es Benutzern, die gewünschte ROI aus einer Gruppe einander überlappender ROIs anzuvisieren, sobald er sich an diese Konvention gewöhnt hat.
Gemäß anderen Aspekten wird die folgende Logik angewandt:
Wenn sich der Zeiger über einer ROI-Kennzeichnung befindet, wird die mit der Kennzeichnung verbundene ROI zur Interaktion anvisiert.
Befindet sich der Zeiger ansonsten innerhalb des Körpers einer einzelnen ROI, wird die ROI, in der sich der Mauszeiger befindet, zur
Interaktion anvisiert.
Befindet sich der Zeiger dagegen innerhalb des Körpers mehrerer
ROIs, wird die ROI anvisiert, deren Rand dem Zeiger am nächsten ist.
Falls der Zeiger gleich weit von mehreren ROI-Rändern entfernt ist, werden der Abstand zur Mitte und/oder die ROI-GröBe als
Entscheidungskriterium verwendet. Die anvisierte ROI wäre demnach diejenige, deren Mitte der Position des Zeigers am nächsten liegt und/oder die die kleinste Größe aufweist.
Der Rand einer ROI kann ein sichtbares Element eines ansonsten transparenten ROI-Körpers sein, so dass er eher als Anker zum Anvisieren dienen kann als die unsichtbare Mitte. Obwohl der dünne Rand wahrscheinlich eine zu hohe Zeigegenauigkeit erfordern würde, um selbst als Ziel zu dienen, können Benutzer der Konvention folgen, auf das Innere des ROI-Körpers in der Nähe des Randes zu zeigen, was effizient ist, weil es weniger Zeigegenauigkeit erfordert.
Einstellungen zur Interaktion mit überlappenden ROIs können hinzugefügt werden, um zwischen verschiedenen Optionen für Anvisiermodi überlappender ROIs zu wechseln, falls bestimmte Modi für bestimmte
Benutzer intuitiver sind oder falls bestimmte Modi für bestimmte
Anwendungsfälle besser geeignet sind. Die Modi könnten umfassen:
31 BE2022/5584
Dynamisches Anvisieren (nächstgelegene Mitte oder nächstgelegener Rand basierend auf einem konfigurierbaren
Schwellenwert)
Anvisieren über Ränder (nächstgelegener Rand)
Anvisieren über Mitten (nächstgelegene Mitte)
Anvisieren nach Größe (kleinste ROD
Anvisieren nach Z-Index (ausgewählte oder oberste ROI)
Es sei darauf hingewiesen, dass in dieser Offenbarung Verweise auf Eingabeeinrichtungen wie eine Maus nicht als einschränkend zu verstehen sind und dass auch andere Eingabeeinrichtungen in den Umfang dieser Offenbarung fallen. Wird beispielsweise die Anwendung auf einer
Mobileinrichtung wie einem Tablet oder einem Notebook mit Touchscreen ausgeführt, können ein Finger eines Benutzers und die jeweiligen
Eingabefunktionen über einen Bildschirm genauso funktionieren wie die
Eingabefunktionen einer Computermaus.
FIG. 4 ist ein Beispiel für ein Bildverarbeitungsverfahren 400 zum automatischen Erzeugen eines oder mehrerer
Bildverarbeitungsaufträge auf Grundlage von ROIs digitaler Bilder gemäß vorliegend beschriebenen Aspekten. Bildverarbeitungsaufträge sind an eine
Bildverarbeitungskamera (z.B. die Bildgebungseinrichtung 104), wie z.B. einer oder mehreren der VS-SERIE von ZEBRA TECHNOLOGIES CORP., etwa der VS70 MACHINE VISION SMART CAMERA, bereitstellbar und auf diesen implementierbar. Beispielsweise kann gemäß einem Aspekt ein
Bildverarbeitungsauftrag zur Bereitstellung an eine Bildgebungskamera konfiguriert sein, um ein Bild eines Barcodes eines Produkts wie beispielsweise einer wie in FIG. 3 veranschaulichten Computerplatine zu lesen oder zu scannen. Grundsätzlich stellt das Bildverarbeitungsverfahren 400 einen Algorithmus dar, der durch einen oder mehrere Prozessoren (z.B. die Prozessoren 108, 118 und/oder 158 des Bildverarbeitungssystems 100)
39 BE2022/5584 ausführbar ist und der als Datenverarbeitungsanweisungen implementierbar ist, die auf einem materiellen nicht-transienten computerlesbaren Medium (z.B. einem computerlesbaren Medium) wie vorliegend beschrieben gespeichert sind.
Unter Bezugnahme auf FIG. 4 umfasst das
Bildverarbeitungsverfahren 400 in Block 402 Konfigurieren eines
Bildverarbeitungswerkzeugs zum Erfassen einer Bild-ID. Im Beispiel von
FIG. 4 kann die Anwendungsschnittstelle 300 beispielsweise verwendet werden, um ein leeres Projekt mit einem einzigen konfigurierten Werkzeug zu erstellen, um einen Barcode zu erfassen, der die Bild-ID darstellt. Das
Bildverarbeitungswerkzeug kann so konfiguriert sein, dass es einen OCR-
Leser, einen Strichleser, eine Bildanalyse (z.B. Zählen der Anzahl der Pixel in einer Region) betreibt, darauf zugreift oder ausführt, wie sie von der
Bildgebungseinrichtung 104 oder einer anderen Komponente, wie sie für das Bildverarbeitungssystem 100 beschrieben wurde, durchgeführt werden, wobei jedes Werkzeug eine bestimmte Verarbeitungsfunktion ausführt.
In Block 404 umfasst das Bildverarbeitungsverfahren 400 Laden einer Vielzahl von Trainingsbildern (z.B. eines Trainingssatzes von
Bildern), wobei jedes Trainingsbild die Bild-ID abbildet. Die Vielzahl von
Trainingsbildern kann in einem Ordner oder einer Bibliothek (z.B. zusätzliche Bilder 320) ausgewählt oder gespeichert werden, die eine Reihe von aufgenommenen Bildern für das Projekt enthalten. Jedes Bild kann gelesen und gemäß der erfassten Bild-ID identifiziert werden.
Das Bildverarbeitungsverfahren umfasst in Block 406
Kennzeichnen jedes der Vielzahl von Trainingsbildern, um einen
Erfolgsstatus oder einen Fehlerstatus eines in jedem Trainingsbild abgebildeten Objekts anzugeben. Gemäß einigen Aspekten kann das
Konfigurieren eines Bildverarbeitungsauftrags beispielsweise Auswählen von ROIs im Bild beinhalten, wie z.B. einer Position eines Computerchips
33 BE2022/5584 (z.B. die ROI 308), um einen Erfolg (z.B. einen Erfolgsstatus) oder einen
Fehler (z.B. einen Fehlerstatus) zu kennzeichnen (z.B. Kennzeichnung 308L) und anzuzeigen.
Gemäß einigen Aspekten können Bilder in einem Speicher (z.B. einem oder mehreren Speichern 110, 120 und/oder 160) gespeichert werden, oder es wird eine Bilddatenbank vom Benutzer verwaltet. Bilder können entweder mit einem Erfolgs- oder einem Fehlerstatus markiert werden.
Wenn beispielsweise eine Komponente (z.B. ein Computerchip) im Feld (z.B. in einer Fertigungsanlage) oder durch Tests als fehlerhaft erkannt wird, wird sie in der ROI (z.B. der ROI 308) als Fehlerstatus markiert.
Standardmäßig wird davon ausgegangen, dass jedes Bild, das nicht als
Fehler markiert ist, ein Beispiel für einen Erfolg ist, dies kann jedoch nach
Benutzerpräferenz konfiguriert werden, z.B. über die
Anwendungsschnittstelle 300. Gemäß einigen Aspekten kann eine
Erfolgsanzeige Qualitätskontrolle umfassen. Eine Erfolgsanzeige kann z.B. eine Angabe darüber sein, dass ein bestimmtes Produkt oder eine
Komponente (z.B. eine Computerplatine und/oder ein Computerchip, wie für
Bild 302 gezeigt) die Qualitätskontrolle bestanden hat. Das Produkt kann durch die Bild-ID identifiziert werden (z.B. Barcode in der ROI 306).
Ein Fehlerstatus kann dadurch angezeigt werden, dass ein
Barcode nicht gelesen werden kann oder ein Fehler bei der
Qualitätskontrolle vorliegt (z.B. wird beim Scannen oder Abbilden einer
Computerplatine ein Fehler bei der Qualitätskontrolle festgestellt, wie z.B. nicht angeschlossene Leitungen auf der Platine, ein fehlender
Computerchip usw.). Gemäß solchen Aspekten kann der Barcode (z.B. wie in der ROI 306 angegeben) eindeutig identifizieren, welches Produkt durchgefallen ist. Gemäß einigen Aspekten können ein oder mehrere
Trainingsbilder der Vielzahl von Trainingsbildern gekennzeichnet werden (z.B. Kennzeichnung 308L), um einen Fehlerstatus anzuzeigen, wobei ein
34 BE2022/5584 solches Kennzeichnen einen grafischen begrenzten Bereich (z.B. die ROI 308) enthalten kann, um einen visuell defekten Bereich oder Teil des
Objekts anzuzeigen, der im Trainingsbild dargestellt ist. Wenn beispielsweise ein Bild (z.B. das Bild 302) markiert wird, um einen
Fehlerstatus oder -zustand darzustellen oder anzuzeigen, kann ein
Benutzer ein Polygon um den/die visuell fehlerhaften Bereich(e) zeichnen, um den Lernprozess bei der Identifizierung der fehlerhaften Region zu unterstützen (z.B. der ROI 308, wo beispielsweise ein Computerchip auf der in Bild 302 dargestellten Computerplatine 304 fehlen kann).
In Bezug auf FIG. 4 umfasst das Bildverarbeitungsverfahren 400 in Block 408 Extrahieren eines oder mehrerer Kandidaten-Bildmerkmale aus der Vielzahl von Trainingsbildern. Jedes Bild kann gemäß der erfassten
Bild-ID (z.B. ein Barcode, wie in ROI 306 gezeigt) gelesen und identifiziert werden. Kandidatenmerkmale können aus der Bildsammlung extrahiert und untereinander verglichen werden, um eine Reihe von
Kandidatenregionen (z.B. die ROI 308, die einen Computerchip oder einen diesbezüglichen Bereich darstellen) für den Auftrag zu erzeugen. Die
Kandidatenmerkmale können den zuvor angegebenen Erfolgs- und/oder
Fehleranzeigen entsprechen.
In Block 410 umfasst das Bildverarbeitungsverfahren 400
Erzeugen einer oder mehrerer Kandidaten-ROIs (z.B. der ROI 308) auf
Grundlage der Kandidaten-Bildmerkmale.
In Block 412 umfasst das Bildverarbeitungsverfahren 400
Auswählen eines Trainingssatzes von ROIs aus der einen oder den mehreren Kandidaten-ROIs, wobei jede ROI des Trainingssatzes von ROIs als einbezogene ROI oder ausgeschlossene ROI bezeichnet wird. Auf diese
Weise können ROIs definiert werden, um bestimmte Bereiche in den
Lernprozess einzubeziehen oder auszuschließen. Bestimmte Bereiche/ROIs einer Platine können beispielsweise ROIs enthalten, die bildempfindliche
35 BE2022/5584
Bereiche definieren (z.B. wichtige Leitungen oder Bereiche, in denen typischerweise Qualitätskontrollprobleme auftreten). Zu ausgeschlossenen
Bereichen könnten hingegen Bereiche gehören, die abweichen und daher nicht auf Qualität schließen lassen, wie etwa ein anderer Prozessortyp (INTEL oder AMD). Eine solche Kandidatenregion kann dann einem
Benutzer präsentiert werden, z.B. über die Anwendungsschnittstelle 300, so dass der Benutzer auswählen kann, ob solche Regionen in das Projekt einbezogen oder ausgeschlossen werden sollen. Wenn der Regionstyp bildübergreifend aus dem Inhalt bestimmt werden kann, wie es bei
Barcodes und OCR der Fall ist, werden Standardwerte eingegeben, um das neue Werkzeug korrekt zu konfigurieren. Auf diese Weise bietet die
Anwendungsschnittstelle 300 eine automatisierte oder unterstützte
Möglichkeit, überwachtes Lernen und Trainieren von Bildern zu implementieren, indem mögliche wichtige Bildmerkmale markiert werden, aus denen ausgewählt werden kann und die zum Trainieren eines
Bildverarbeitungs-Lernmodells verwendet werden können, wie zum Beispiel in Block 414 beschrieben.
In Block 414 umfasst das Bildverarbeitungsverfahren 400
Trainieren eines Bildverarbeitungs-Lernmodells mit dem Trainingssatz von
ROlIs und der Vielzahl von Trainingsbildern. Das Bildverarbeitungs-
Lernmodell kann so konfiguriert werden, dass es einen
Bildverarbeitungsauftrag ausgibt. Das heißt, die kommentierten oder mit einbezogenen und/oder ausgeschlossenen ROIs und/oder Erfolgs- oder
Fehlerstatus ausgewählten Bilder können mit einem Algorithmus für maschinelles Lernen trainiert werden, um auf Grundlage des Beispiel-
Trainingssatzes von Bildern einen Bildverarbeitungsauftrag zu erzeugen oder auszugeben. Für jedes Bild können Kandidaten(erfolgs)merkmale extrahiert und mit den fehlerhaften Sätzen verglichen werden. Auf diese
36 BE2022/5584
Weise umfasst das Bildverarbeitungsverfahren 400 automatisch einen
Auftrag, der sonst manuell erstellt werden müsste.
Gemäß verschiedenen Aspekten kann das Bildverarbeitungs-
Lernmodell mit einem überwachten oder nicht überwachten
Moaschinenlernprogramm oder -algorithmus trainiert werden. Das
Maschinenlernprogramm oder der -algorithmus kann ein neuronales Netz verwenden, bei dem es sich um ein neuronales Faltungsnetz, ein neuronales
Netzwerk für tiefes Lernen oder ein kombiniertes Lernmodul oder - programm handeln kann, das in zwei oder mehr Merkmalen oder
Merkmalsdatensätzen in einem bestimmten interessierenden Bereich lernt.
Die Maschinenlernprogramme oder -algorithmen können zudem natürliche
Sprachverarbeitung, semantische Analyse, automatisches Schlussfolgern,
Regressionsanalyse, Support-Vector-Machine- (SVM-) Analyse,
Entscheidungsbaumanalyse, Random-Forest-Analyse, K-Nächster-Nachbar-
Analyse, naive Bayes-Analyse, Clustering, Verstärkungslernen und/oder andere Maschinenlernalgorithmen und/oder -methoden beinhalten.
Maschinelles Lernen kann Identifizieren und Erkennen von Mustern in vorhandenen Daten beinhalten (z.B. Pixel innerhalb gekennzeichneter oder anderweitig identifizierter ROIs), um die Erstellung von Vorhersagen oder
Ausgaben für nachfolgende Daten zu erleichtern (Ausgabe von
Bildverarbeitungsaufträgen zur Vorhersage oder anderweitigen Erkennung ähnlicher ROIs in zusätzlichen oder ähnlichen Bildern).
Maschinenlernmodelle, wie z.B. Bildverarbeitungs-Lernmodelle, können auf Grundlage von Beispiel- (z.B. "Trainingsdaten") Eingaben oder - daten (die als "Merkmale" und "Kennzeichnungen" bezeichnet werden können) erstellt und trainiert werden, um gültige und zuverlässige
Vorhersagen für neue Eingaben, z.B. Daten oder Eingaben auf Test- oder
Produktionsebene, zu treffen.
37 BE2022/5584
Beim überwachten maschinellen Lernen kann ein
Maschinenlernprogramm, das auf einem Server, einer
Datenverarbeitungseinrichtung oder einem oder mehreren anderen
Prozessoren läuft, mit Beispieleingaben (z.B. "Merkmalen") und ihren zugehörigen oder beobachteten Ausgaben (z.B. "Kennzeichnungen") versehen werden, damit das Maschinenlernprogramm oder der -algorithmus
Regeln, Beziehungen oder anderweitige Maschinenlern-"Modelle" bestimmen oder entdecken kann, die solche Eingaben (z.B. "Merkmale") auf die Ausgaben (z.B. "Kennzeichnungen") abbilden, beispielsweise durch
Bestimmen und/oder Zuweisen von Gewichtungen oder anderen Metriken zu dem Modell über seine verschiedenen Merkmalskategorien. Solche
Regeln, Beziehungen oder anderweitige Modelle können dann als nachfolgende Eingaben bereitgestellt werden, damit das auf dem Server, der
Datenverarbeitungseinrichtung oder dem/den anderen Prozessor(en) ausgeführte Modell auf Grundlage der entdeckten Regeln, Beziehungen oder Modelle eine erwartete Ausgabe vorhersagen kann.
Beim unüberwachten maschinellen Lernen kann es erforderlich sein, dass der Server, die Datenverarbeitungseinrichtung oder der/die andere(n) Prozessor(en) seine eigene Struktur in nicht gekennzeichneten
Beispieleingaben auffindet, wobei beispielsweise mehrere
Trainingsiterationen von dem Server, der Datenverarbeitungseinrichtung oder dem/den anderen Prozessor(en) ausgeführt werden, um mehrere
Generationen von Modellen zu trainieren, bis ein zufriedenstellendes
Modell, z.B. ein Modell, das eine ausreichende Vorhersagegenauigkeit bietet, wenn Daten oder Eingaben auf Testebene oder Produktionsebene vorliegen, erzeugt wird.
Überwachtes Lernen und/oder unüberwachtes maschinelles
Lernen können zudem erneutes Trainieren, Umlernen oder anderweitiges
Aktualisieren von Modellen mit neuen oder anderen Informationen
38 BE2022/5584 umfassen, die im Laufe der Zeit empfangene, aufgenommene, erzeugte oder anderweitig verwendete Informationen enthalten können. Die vorliegenden
Offenbarungen können eines oder beide dieser überwachten oder nicht überwachten Maschinenlernverfahren verwenden.
In Bezug auf das Beispiel aus FIG. 3 kann Bild 302 beispielsweise ein Trainingsbild umfassen, das anzeigt, dass die ROI 308 ein Fehlerstatus ist, weil elektrische Leitungen nicht angeschlossen sind oder der
Computerchip zerbrochen ist, fehlt, usw. Einmal trainiert, kann das
Bildverarbeitungs-Lernmodell in der Lage sein, ähnliche Defekte in neuen oder zusätzlichen Bildern zu erkennen.
Gemäß weiteren Aspekten wird das Bildverarbeitungs-
Lernmodell ferner mit dem Trainingssatz von ROIs und der Vielzahl von
Trainingsbildern trainiert, um einen Qualitätswert auszugeben, der eine
Qualität des im Trainingsbild abgebildeten Objekts angibt. Die
Computerplatine kann zum Beispiel aufgrund von Mängeln einen niedrigeren Qualitätswert aufweisen.
Gemäß einigen Aspekten kann mindestens einer der
Trainingssätze von ROIs eine kritische ROI umfassen. Die kritische ROI kann dazu führen, dass das Bildverarbeitungs-Lernmodell mindestens eines der Folgenden ausgibt: (a) einen Qualitätswert, der eine hohe Qualität für das im Trainingsbild abgebildete Objekt anzeigt, oder (b) einen
Qualitätswert, der eine niedrige Qualität für das im Trainingsbild abgebildete Objekt anzeigt. Gemäß solchen Aspekten kann das Trainieren des Bildverarbeitungs-Lernmodells Identifizieren von ROIs mit kritischen
Mustern umfassen, die zu den Trainingsbildern hinzugefügt werden.
Allgemein kann ein kritisches Muster automatisch eine ROI identifizieren, bei der das Modell einen hohen Wert unter allen bestandenen Fallbeispielen und einen niedrigen Wert unter den nicht bestandenen Fallbeispielen erzeugt.
39 BE2022/5584
Im Beispiel von FIG. 3 kann ein fehlerhaftes Fallbeispiel einer
Computerplatine 304 eine ROI der Platine umfassen, wo ein Riss am wahrscheinlichsten ist, oder wo ein fehlender Prozessor oder Chip auf der
Platine typischerweise zu finden ist (aber fehlt oder teilweise fehlt), wo eine andere Komponente typischerweise nicht richtig verlötet ist, oder wo ein
Kondensator durchgebrannt ist (z.B. braun an der Oberseite), usw., oder jeder andere Fehler oder jedes Problem, die erfahrungsgemäß bzw. bekanntermaßen während oder nach dem Herstellungsprozess des Produkts auftreten. Gemäß einigen Aspekten wäre ein ideales kritisches Muster eine
ROI, die bei allen bestandenen Fallbeispielen zu 100 % und bei allen nicht bestandenen Fallbeispielen zu 0 % übereinstimmt (d.h. eine ROL, die 100 % bestanden oder 100 % nicht bestanden anzeigt).
Gemäß einigen Aspekten kann das Bildverarbeitungs-Lernmodell ein Ensemble-Modell umfassen, das eine Vielzahl von KI-Modellen enthält.
Gemäß solchen Aspekten kann jedes der Vielzahl von KI-Modellen mit
Teilsätzen des Trainingssatzes von ROIs trainiert werden, um
Qualitätswerte für bestimmte ROIs innerhalb eines digitalen Bildes, das das Objekt darstellt, auszugeben. In solchen Fällen können Trainingsbilder mit ROIs und/oder kritischen Mustern verwendet werden, um ein
Ensemble-Modell zu trainieren, das zusätzliches Trainieren oder Lernen, wie z.B. Boostern, unter Verwendung der ROIs als schwache Lerner beinhaltet, um ein verbessertes Bildverarbeitungs-Lernmodell für den jeweiligen Bildverarbeitungsauftrag zu erzeugen. Das aus diesem Prozess resultierende Modell kann dann neuen oder zusätzlichen Beispielbildern, die von der Kamera angeboten werden, einen Fehlerwert zuweisen.
Allgemein kann ein Bildverarbeitungs-Lernmodell mehrere
Maschinenlernmodelle umfassen, die jeweils für die Erkennung verschiedener ROIs für jedes Bild trainiert und konfiguriert werden. Gemäß solchen Aspekten kann jedes Modell so konfiguriert sein, dass es eine
40 BE2022/5584 einzelne ROI analysiert (wobei jede ROI bestimmte Pixel aufweist), wobei jedes Modell einen Vorhersagewert ausgeben kann. Die Werte können gemittelt werden, um einen Gesamt- oder Ensemble-Wert zu erhalten.
Einige Modelle können segmentierte Modelle sein, die unüberwachtes
Lernen verwenden.
Unter Bezugnahme auf Figur 4 kann in Block 416 das
Bildverarbeitungsverfahren 400 Bereitstellen des Bildverarbeitungs-
Lernmodells umfassen. Beispielsweise kann ein Bildverarbeitungsauftrag zur elektronischen Bereitstellung an eine Bildgebungseinrichtung (z.B. die
Bildgebungseinrichtung 104) konfiguriert sein. Gemäß solchen Aspekten kann die Bildgebungseinrichtung (z.B. die Bildgebungseinrichtung 104), die den Bildverarbeitungsauftrag ausführt, so konfiguriert sein, dass sie den
Erfolgsstatus oder den Fehlerstatus zusätzlicher Bilder erkennt, die das
Objekt (z.B. die Computerplatine) darstellen, während das Objekt stationär bleibt oder sich auf einem Förderband usw. während eines
Fertigungsprozesses bewegt, um Qualitätskontroll- und/oder andere
Probleme des Objekts oder Produkts zu erkennen.
Die vorstehende Beschreibung bezieht sich auf ein
Blockdiagramm der beiliegenden Zeichnungen. Alternative
Implementierungen des durch das Blockdiagramm dargestellten Beispiels beinhalten ein/e oder mehrere zusätzliche oder alternative Elemente,
Prozesse und/oder Einrichtungen. Zusätzlich oder alternativ können einer oder mehrere der Beispielblöcke des Diagramms kombiniert, geteilt, neu angeordnet oder weggelassen werden. Durch die Blöcke des Diagramms dargestellte Komponenten werden durch Hardware, Software, Firmware und/oder eine beliebige Kombination aus Hardware, Software und/oder
Firmware implementiert. In einigen Beispielen wird mindestens eine der durch die Blöcke dargestellten Komponenten durch eine Logikschaltung implementiert. Vorliegend ist die Bezeichnung "Logikschaltung"
41 BE2022/5584 ausdrücklich definiert als eine physische Einrichtung, das mindestens eine
Hardwarekomponente enthält, die (z.B. durch einen Betrieb gemäß einer vorbestimmten Konfiguration und/oder durch Ausführung gespeicherter maschinenlesbarer Anweisungen) konfiguriert ist, um eine oder mehrere
Maschinen zu steuern und/oder Operationen einer oder mehrerer
Maschinen durchzuführen. Zu Beispielen für eine Logikschaltung zählen ein oder mehrere Prozessoren, ein oder mehrere Coprozessoren, ein oder mehrere Mikroprozessoren, ein oder mehrere Controller, ein oder mehrere digitale Signalprozessoren (DSPs), eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), ein oder mehrere frei programmierbare Gate-Arrays (FPGAs), eine oder mehrere
Mikrocontroller-Einheiten (MCUs), ein oder mehrere
Hardwarebeschleuniger, ein oder mehrere Spezial-Computerchips und eine oder mehrere Ein-Chip-System- (system on a chip, SoC-) Einrichtungen.
Einige beispielhafte Logikschaltungen, wie ASICs oder FPGAs, sind speziell konfigurierte Hardware zum Durchführen von Operationen (z.B. einer oder mehrerer der vorliegend beschriebenen und in den Flussdiagrammen dieser
Offenbarung dargestellten Operationen, sofern solche vorhanden sind).
Einige beispielhafte Logikschaltungen sind Hardware, die maschinenlesbare Anweisungen ausführt, um Operationen durchzuführen (z.B. eine oder mehrere der vorliegend beschriebenen und durch die
Flussdiagramme dieser Offenbarung dargestellten Operationen, sofern solche vorhanden sind). Einige beispielhafte Logikschaltungen beinhalten eine Kombination aus speziell konfigurierter Hardware und Hardware, die maschinenlesbare Anweisungen ausführt. Die vorstehende Beschreibung bezieht sich auf verschiedene vorliegend beschriebene Operationen und
Flussdiagramme, die zur Veranschaulichung des Ablaufs dieser
Operationen dieser Beschreibung beiliegen können. Alle derartigen
Flussdiagramme sind repräsentativ für vorliegend offenbarte beispielhafte
42 BE2022/5584
Verfahren. In einigen Beispielen implementieren die durch die
Flussdiagramme dargestellten Verfahren die durch die Blockdiagramme dargestellten Vorrichtungen. Alternative Implementierungen vorliegend offenbarter beispielhafter Verfahren können zusätzliche oder alternative
Operationen beinhalten. Darüber hinaus können Operationen alternativer
Implementierungen der vorliegend offenbarten Verfahren kombiniert, aufgeteilt, neu angeordnet oder weggelassen werden. In einigen Beispielen werden die vorliegend beschriebenen Operationen durch maschinenlesbare
Anweisungen (z.B. Software und/oder Firmware) implementiert, die auf einem Medium (z.B. einem materiellen maschinenlesbaren Medium) zur
Ausführung durch eine oder mehrere Logikschaltungen (z.B. Prozessor(en)) gespeichert sind. In einigen Beispielen werden die vorliegend beschriebenen
Operationen durch eine oder mehrere Konfigurationen einer oder mehrerer speziell entwickelter Logikschaltungen (z.B. ASIC(s)) implementiert. In einigen Beispielen werden die vorliegend beschriebenen Operationen durch eine Kombination aus speziell entwickelten Logikschaltungen und maschinenlesbaren Anweisungen implementiert, die auf einem Medium (z.B. einem materiellen maschinenlesbaren Medium) zur Ausführung durch
Logikschaltung(en) gespeichert sind.
Vorliegend sind die Bezeichnungen "materielles maschinenlesbares Medium", "nicht-transientes maschinenlesbares
Medium" und "maschinenlesbare Speichereinrichtung" jeweils ausdrücklich definiert als ein Speichermedium (z.B. eine Platte eines
Festplattenlaufwerks, eine Digital Versatile Disc, eine Compact Disc, ein
Flash-Speicher, ein Nur-Lese-Speicher, ein Direktzugriffsspeicher usw.), auf dem maschinenlesbare Anweisungen (z.B. Programmcode in Form von beispielsweise Software und/oder Firmware) für eine beliebige geeignete
Zeitdauer (z.B. dauerhaft, für einen längeren Zeitraum (z.B. während der
Ausführung eines den maschinenlesbaren Anweisungen zugehörigen
43 BE2022/5584
Programms) und/oder für einen kurzen Zeitraum (z.B. während eines
Cachens der maschinenlesbaren Anweisungen und/oder während eines
Pufferungsprozesses)) gespeichert werden. Ferner sind vorliegend die
Bezeichnungen "materielles maschinenlesbares Medium", "nicht-transientes maschinenlesbares Medium" und "maschinenlesbare Speichereinrichtung" jeweils ausdrücklich so definiert, dass sie sich ausbreitende Signale ausschließen. Das heißt, keine der in Ansprüchen dieses Patents verwendeten Bezeichnungen "materielles maschinenlesbares Medium", "nicht-transientes maschinenlesbares Medium" und "maschinenlesbare
Speichereinrichtung" kann so gelesen werden, dass sie durch ein sich ausbreitendes Signal implementiert werden.
In der vorstehenden Spezifikation wurden konkrete Aspekte beschrieben. Einem Fachmann ist jedoch klar, dass verschiedene
Modifikationen und Änderungen vorgenommen werden können, ohne vom
Umfang der Erfindung, wie er in den nachstehenden Ansprüchen dargelegt ist, abzuweichen. Dementsprechend sind die Spezifikation und die Figuren eher veranschaulichend als einschränkend zu verstehen, und alle derartigen
Modifikationen sollen in den Umfang der vorliegenden Lehren fallen.
Darüber hinaus sollten die beschriebenen
Aspekte/Beispiele/Implementierungen nicht als sich gegenseitig ausschließend interpretiert werden, sondern als potenziell kombinierbar, soweit solche Kombinationen in irgendeiner Weise zulässig sind. Mit anderen Worten: Jedes Merkmal, das in einer/m der vorstehenden
Aspekte/Beispiele/Implementierungen offenbart wird, kann in jeder/m der anderen vorstehenden Aspekte/Beispiele/Implementierungen enthalten sen.
Der Nutzen, die Vorteile, die Problemlösungen und alle Elemente, die dazu führen können, dass ein Nutzen, ein Vorteil oder eine Lösung erfolgt oder stärker ausgeprägt ist, sind nicht als entscheidende,
44 BE2022/5584 erforderliche oder wesentliche Merkmale oder Elemente eines oder aller
Ansprüche zu verstehen. Die beanspruchte Erfindung wird ausschließlich durch die beiliegenden Ansprüche einschließlich aller während der
Anhängigkeit dieser Anmeldung vorgenommenen Änderungen und aller erteilten Äquivalente dieser Ansprüche definiert. Aus Gründen der Klarheit und einer prägnanten Beschreibung werden Merkmale vorliegend als Teil der gleichen oder separater Ausführungsformen beschrieben, es versteht sich jedoch, dass der Umfang der Erfindung Ausführungsformen mit
Kombinationen aller oder einiger der beschriebenen Merkmale umfassen kann. Es versteht sich, dass die gezeigten Ausführungsformen die gleichen oder ähnliche Komponenten aufweisen, abgesehen von Stellen, an denen diese als unterschiedlich beschrieben sind.
Darüber hinaus können in diesem Dokument relationale
Bezeichnungen wie "erster" und "zweiter", "oben" und "unten" und dergleichen lediglich zur Unterscheidung einer Entität oder Aktion von einer anderen Entität oder Aktion verwendet werden, ohne dass dies notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen diesen Entitäten oder Aktionen erfordert oder impliziert. Die
Ausdrücke "umfasst", "umfassend", "hat/weist auf", "mit", "beinhaltet", "einschließlich/darunter", "enthält", "enthaltend" oder eine andere
Abwandlung davon sollen eine nicht ausschließliche Einbeziehung derart abdecken, dass ein Prozess, ein Verfahren, ein Artikel oder eine
Vorrichtung, der/die/das eine Liste von Elementen umfasst, aufweist, beinhaltet, enthält, nicht nur diese Elemente beinhaltet, sondern auch andere Elemente beinhalten kann, die nicht ausdrücklich aufgelistet sind oder inhärent zu einem solchen Prozess, Verfahren, Artikel oder einer
Vorrichtung gehören. Ein Element, das mit "umfasst ... ein/e", "weist ... ein/e ... auf", "beinhaltet ... ein/e", "enthält ... ein/e" eingeleitet wird, schließt ohne weitere Einschränkungen die Existenz weiterer identischer Elemente in
45 BE2022/5584 dem Prozess, dem Verfahren, dem Artikel oder der Vorrichtung, der/die/das das Element umfasst, aufweist, beinhaltet oder enthält, nicht aus. Die
Bezeichnung "ein/e" ist als ein oder mehrere definiert, sofern vorliegend nicht ausdrücklich etwas anderes angegeben ist. Die Ausdrücke "im
Wesentlichen", "ungefähr", "etwa" oder Abwandlungen davon sind so definiert, dass sie gemäß dem Verständnis eines Fachmanns nahe an etwas liegen, und gemäß einem nicht-einschränkenden Aspekt ist der Ausdruck so definiert, dass er innerhalb von 10 % liegt, gemäß einem anderen Aspekt innerhalb von 5 %, gemäß einem anderen Aspekt innerhalb von 1 % und gemäß einem anderen Aspekt innerhalb von 0,5 %. Die vorliegend verwendete Bezeichnung "gekoppelt" ist definiert als verbunden, wenn auch nicht unbedingt direkt und nicht unbedingt mechanisch. Eine Einrichtung oder Struktur, die in einer bestimmten Weise "konfiguriert" ist, ist in zumindest dieser Weise konfiguriert, kann jedoch auch in anderer Weise konfiguriert sein, die nicht aufgeführt ist.
Die Zusammenfassung der Offenbarung soll es dem Leser ermöglichen, sich schnell über das Wesen der technischen Offenbarung zu informieren. Sie wird mit der Maßgabe vorgelegt, dass sie nicht zur
Auslegung oder Einschränkung des Umfangs oder der Bedeutung der
Ansprüche herangezogen wird. Zudem ist aus der vorstehenden ausführlichen Beschreibung ersichtlich, dass verschiedene Merkmale in verschiedene Aspekte zusammengefasst sind, um die Offenbarung zu straffen. Diese Vorgehensweise in der Offenbarung ist nicht so auszulegen, dass die beanspruchten Aspekte mehr Merkmale als explizit in jedem
Anspruch angegeben erfordern sollen. Wie die folgenden Ansprüche zeigen, kann der Erfindungsgegenstand vielmehr in weniger als allen Merkmalen eines einzigen offenbarten Aspekts liegen. Die nachfolgenden Ansprüche werden somit hierdurch für die ausführliche Beschreibung in Bezug genommen, wobei jeder Anspruch als separat beanspruchter Gegenstand für
46 BE2022/5584 sich steht. Der bloße Umstand, dass bestimmte Maßnahmen in voneinander unterschiedlichen Ansprüchen verwendet werden, deutet nicht darauf hin, dass eine Kombination dieser Maßnahmen nicht vorteilhaft genutzt werden kann. Für einen Fachmann sind viele Varianten denkbar. Alle Varianten fallen unter den in den folgenden Ansprüchen definierten
Erfindungsumfang.

Claims (15)

47 BE2022/5584 ANSPRÜCHE
1. Bildverarbeitungsverfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder, wobei das Bildverarbeitungsverfahren umfasst: Konfigurieren eines Bildverarbeitungswerkzeugs zum Erfassen einer Bildkennung (ID); Laden einer Vielzahl von Trainingsbildern, wobei jedes Trainingsbild die Bild-ID abbildet; Kennzeichnen jedes der Vielzahl von Trainingsbildern, um einen Erfolgsstatus oder einen Fehlerstatus eines in jedem Trainingsbild abgebildeten Objekts anzuzeigen; Extrahieren eines oder mehrerer Kandidaten-Bildmerkmale aus der Vielzahl von Trainingsbildern; Erzeugen einer oder mehrerer Kandidaten-ROIs auf Grundlage der Kandidaten-Bildmerkmale; Auswählen eines Trainingssatzes von ROIs aus der einen oder den mehreren Kandidaten-ROIs, wobei jede ROI des Trainingssatzes von ROIs als einbezogene ROI oder ausgeschlossene ROI bezeichnet wird; und Trainieren eines Bildverarbeitungs-Lernmodells mit dem Trainingssatz von ROIs und der Vielzahl von Trainingsbildern, wobei das Bildverarbeitungs-Lernmodell so konfiguriert wird, dass es einen Bildverarbeitungsauftrag ausgibt, wobei der Bildverarbeitungsauftrag zur elektronischen Bereitstellung an eine Bildgebungseinrichtung konfiguriert wird, und
48 BE2022/5584 wobei die den Bildverarbeitungsauftrag implementierende Bildgebungseinrichtung so konfiguriert wird, dass sie den Erfolgsstatus oder den Fehlerstatus zusätzlicher Bilder, die das Objekt abbilden, erkennt.
2. Bildverarbeitungsverfahren nach Anspruch 1, wobei das Kennzeichnen eines Trainingsbildes der Vielzahl von Trainingsbildern zur Anzeige eines Fehlerstatus Einfügen eines grafischen begrenzten Bereiches umfasst, um einen visuell fehlerhaften Bereich oder Teil des Objekts anzuzeigen, das in dem Trainingsbild abgebildet ist.
3. Bildverarbeitungsverfahren nach Anspruch 1 oder 2, wobei das Bildverarbeitungs-Lernmodell ferner mit dem Trainingssatz von ROIs und der Vielzahl von Trainingsbildern trainiert wird, um einen Qualitätswert auszugeben, der eine Qualität des im Trainingsbild abgebildeten Objekts angibt.
4. Bildverarbeitungsverfahren nach Anspruch 3, wobei mindestens eine aus dem Trainingssatz von ROIs eine kritische ROI umfasst, wobei die kritische ROI das Bildverarbeitungs-Lernmodell veranlasst, mindestens eines der Folgenden auszugeben: (a) den Qualitätswert, der eine hohe Qualität für das im Trainingsbild abgebildete Objekt anzeigt, oder (b) den Qualitätswert, der eine niedrige Qualität für das im Trainingsbild abgebildete Objekt anzeigt.
5. Bildverarbeitungsverfahren nach einem der vorhergehenden Ansprüche, wobei das Bildverarbeitungs-Lernmodell ein Ensemble-Modell ist, das eine Vielzahl von KI-Modellen umfasst, wobei jedes der Vielzahl von KI-Modellen mit Teilsätzen des Trainingssatzes von ROIs trainiert wird,
49 BE2022/5584 um Qualitätswerte für spezifische ROIs innerhalb eines das Objekt abbildenden digitalen Bildes auszugeben.
6. Bildverarbeitungssystem, das zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder konfiguriert ist, wobei das Bildverarbeitungssystem umfasst: eine Bildgebungseinrichtung, die so konfiguriert ist, dass sie einen oder mehrere Bildverarbeitungsaufträge implementiert; einen oder mehrere Prozessoren; und einen Speicher, der mit dem einen oder den mehreren Prozessoren in Kommunikationsverbindung steht und Datenverarbeitungsanweisungen speichert, die bei Ausführung durch den einen oder die mehreren Prozessoren bewirken, dass der eine oder die mehreren Prozessoren: ein Bildverarbeitungswerkzeug zum Erfassen einer Bildkennung (ID) konfigurieren, eine Vielzahl von Trainingsbildern laden, wobei jedes Trainingsbild die Bild-ID abbildet, jedes der Vielzahl von Trainingsbildern kennzeichnen, um einen Erfolgsstatus oder einen Fehlerstatus eines in jedem Trainingsbild abgebildeten Objekts anzugeben, ein oder mehrere Kandidaten-Bildmerkmale aus der Vielzahl von Trainingsbildern extrahieren, auf Grundlage der Kandidaten-Bildmerkmale eine oder mehrere Kandidaten-ROIs erzeugen,
50 BE2022/5584 einen Trainingssatz von ROIs aus der einen oder den mehreren Kandidaten-ROIs auswählen, wobei jede ROI des Trainingssatzes von ROIs als einbezogene ROI oder ausgeschlossene ROI bezeichnet wird, und ein Bildverarbeitungs-Lernmodell mit dem Trainingssatz von ROIs und der Vielzahl von Trainingsbildern trainieren, wobei das Bildverarbeitungs-Lernmodell so konfiguriert wird, dass es einen Bildverarbeitungsauftrag ausgibt, wobei der Bildverarbeitungsauftrag zur elektronischen Bereitstellung an die Bildgebungseinrichtung konfiguriert wird, und wobei die den Bildverarbeitungsauftrag implementierende Bildgebungseinrichtung so konfiguriert wird, dass sie den Erfolgsstatus oder den Fehlerstatus zusätzlicher Bilder, die das Objekt abbilden, erkennt.
7. Bildverarbeitungssystem nach Anspruch 6, wobei das Kennzeichnen eines Trainingsbildes der Vielzahl von Trainingsbildern zur Anzeige eines Fehlerstatus Einfügen eines grafischen begrenzten Bereiches umfasst, um einen visuell fehlerhaften Bereich oder Teil des Objekts anzuzeigen, das in dem Trainingsbild abgebildet ist.
8. Bildverarbeitungssystem nach Anspruch 6 oder 7, wobei das Bildverarbeitungs-Lernmodell ferner mit dem Trainingssatz von ROIs und der Vielzahl von Trainingsbildern trainiert wird, um einen Qualitätswert auszugeben, der eine Qualität des im Trainingsbild abgebildeten Objekts angibt.
51 BE2022/5584
9. Bildverarbeitungssystem nach Anspruch 8, wobei mindestens eine aus dem Trainingssatz von ROIs eine kritische ROI umfasst, wobei die kritische ROI das Bildverarbeitungs-Lernmodell veranlasst, mindestens eines der Folgenden auszugeben: (a) den Qualitätswert, der eine hohe Qualität für das im Trainingsbild abgebildete Objekt anzeigt, oder (b) den Qualitätswert, der eine niedrige Qualität für das im Trainingsbild abgebildete Objekt anzeigt.
10. Bildverarbeitungssystem nach einem der vorhergehenden Ansprüche 6bis 9, wobei das Bildverarbeitungs-Lernmodell ein Ensemble-Modell ist, das eine Vielzahl von KI-Modellen umfasst, wobei jedes der Vielzahl von KI- Modellen mit Teilsätzen des Trainingssatzes von ROIS trainiert wird, um Qualitätswerte für spezifische ROIs innerhalb eines das Objekt abbildenden digitalen Bildes auszugeben.
11. Materielles nicht-transientes computerlesbares Medium, das Datenverarbeitungsanweisungen zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder speichert, die bei Ausführung durch einen oder mehrere Prozessoren bewirken, dass der eine oder die mehreren Prozessoren: ein Bildverarbeitungswerkzeug zum Erfassen einer Bildkennung (ID) konfigurieren; eine Vielzahl von Trainingsbildern laden, wobei jedes Trainingsbild die Bild-ID abbildet; Jedes der Vielzahl von Trainingsbildern kennzeichnen, um einen Erfolgsstatus oder einen Fehlerstatus eines in jedem Trainingsbild abgebildeten Objekts anzugeben;
59 BE2022/5584 ein oder mehrere Kandidaten-Bildmerkmale aus der Vielzahl von Trainingsbildern extrahieren; auf Grundlage der Kandidaten-Bildmerkmale eine oder mehrere Kandidaten-ROIs erzeugen; einen Trainingssatz von ROIs aus der einen oder den mehreren Kandidaten- ROIs auswählen, wobei jede ROI des Trainingssatzes von ROIS als einbezogene ROI oder ausgeschlossene ROI bezeichnet wird; und ein Bildverarbeitungs-Lernmodell mit dem Trainingssatz von ROIs und der Vielzahl von Trainingsbildern trainieren, wobei das Bildverarbeitungs-Lernmodell so konfiguriert wird, dass es einen Bildverarbeitungsauftrag ausgibt, wobei der Bildverarbeitungsauftrag zur elektronischen Bereitstellung an eine Bildgebungseinrichtung konfiguriert wird, und wobei die den Bildverarbeitungsauftrag implementierende Bildgebungseinrichtung so konfiguriert wird, dass sie den Erfolgsstatus oder den Fehlerstatus zusätzlicher Bilder, die das Objekt abbilden, erkennt.
12. Materielles nicht-transientes computerlesbares Medium nach Anspruch 11, wobei das Kennzeichnen eines Trainingsbildes der Vielzahl von Trainingsbildern zur Anzeige eines Fehlerstatus Einfügen eines grafischen begrenzten Bereiches umfasst, um einen visuell fehlerhaften Bereich oder Teil des Objekts anzuzeigen, das in dem Trainingsbild abgebildet ist.
13. Materielles nicht-transientes computerlesbares Medium nach Anspruch 11 oder 12, wobei das Bildverarbeitungs-Lernmodell ferner mit
53 BE2022/5584 dem Trainingssatz von ROIs und der Vielzahl von Trainingsbildern trainiert wird, um einen Qualitätswert auszugeben, der eine Qualität des im Trainingsbild abgebildeten Objekts angibt.
14. Materielles nicht-transientes computerlesbares Medium nach Anspruch 13, wobei mindestens eine aus dem Trainingssatz von ROIs eine kritische ROI umfasst, wobei die kritische ROI das Bildverarbeitungs- Lernmodell veranlasst, mindestens eines der Folgenden auszugeben: (a) den Qualitätswert, der eine hohe Qualität für das im Trainingsbild abgebildete Objekt anzeigt, oder (b) den Qualitätswert, der eine niedrige Qualität für das im Trainingsbild abgebildete Objekt anzeigt.
15. Materielles nicht-transientes computerlesbares Medium nach einem der vorhergehenden Ansprüche 11 bis 14, wobei das Bildverarbeitungs- Lernmodell ein Ensemble-Modell ist, das eine Vielzahl von KI-Modellen umfasst, wobei jedes der Vielzahl von KI-Modellen mit Teilsätzen des Trainingssatzes von ROIS trainiert wird, um Qualitätswerte für spezifische ROIs innerhalb eines das Objekt abbildenden digitalen Bildes auszugeben.
BE20225584A 2021-07-29 2022-07-21 Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder BE1029597B1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17/388,786 US11961218B2 (en) 2021-07-29 2021-07-29 Machine vision systems and methods for automatically generating one or more machine vision jobs based on region of interests (ROIs) of digital images

Publications (2)

Publication Number Publication Date
BE1029597A1 true BE1029597A1 (de) 2023-02-08
BE1029597B1 BE1029597B1 (de) 2023-09-14

Family

ID=83995391

Family Applications (1)

Application Number Title Priority Date Filing Date
BE20225584A BE1029597B1 (de) 2021-07-29 2022-07-21 Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder

Country Status (5)

Country Link
US (1) US11961218B2 (de)
KR (1) KR20240025657A (de)
CN (1) CN117730347A (de)
BE (1) BE1029597B1 (de)
WO (1) WO2023009206A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11138430B2 (en) * 2018-07-30 2021-10-05 Ncr Corporation Item identification with low resolution image processing

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015017796A2 (en) * 2013-08-02 2015-02-05 Digimarc Corporation Learning systems and methods
US10436720B2 (en) 2015-09-18 2019-10-08 KLA-Tenfor Corp. Adaptive automatic defect classification
US20190139642A1 (en) 2016-04-26 2019-05-09 Ascend Hit Llc System and methods for medical image analysis and reporting
US11074522B2 (en) * 2016-06-15 2021-07-27 Roger N. Anderson Electric grid analytics learning machine
US10430943B2 (en) * 2016-10-07 2019-10-01 Sony Corporation Automated nuclei area/number estimation for IHC image analysis
GB201617507D0 (en) * 2016-10-14 2016-11-30 Axial3D Limited Axial3D UK
CN107527069A (zh) * 2017-08-22 2017-12-29 京东方科技集团股份有限公司 图像处理方法、装置、电子设备及计算机可读介质
US10706535B2 (en) * 2017-09-08 2020-07-07 International Business Machines Corporation Tissue staining quality determination
US10706530B2 (en) 2017-09-11 2020-07-07 International Business Machines Corporation Object detection
US10755128B2 (en) 2018-12-18 2020-08-25 Slyce Acquisition Inc. Scene and user-input context aided visual search
JP7271306B2 (ja) 2019-05-16 2023-05-11 株式会社キーエンス 画像検査装置及び画像検査装置の設定方法
KR102240192B1 (ko) 2019-06-14 2021-04-14 권형준 복수 초점을 동시 인식하는 비전식 코드 리더, 이를 이용한 물류 시스템 및 물류 서비스 제공 방법
WO2021066821A1 (en) 2019-10-02 2021-04-08 Hewlett-Packard Development Company, L.P. Inspection method and apparatus
CN114787878A (zh) 2019-11-12 2022-07-22 光明机器公司 用于制造测试的图像分析***
US11636592B2 (en) * 2020-07-17 2023-04-25 International Business Machines Corporation Medical object detection and identification via machine learning

Also Published As

Publication number Publication date
US11961218B2 (en) 2024-04-16
BE1029597B1 (de) 2023-09-14
US20230030779A1 (en) 2023-02-02
KR20240025657A (ko) 2024-02-27
CN117730347A (zh) 2024-03-19
WO2023009206A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
DE102018215826B4 (de) Robotersystem und Werkstückgreifverfahren
DE112020000279T5 (de) Erlernen eines erkennungsmodells unter verwenden einer verlustfunktion
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE102013217354B4 (de) Kantenmessungs-videowerkzeug und schnittstelle mit automatischen parametersatzalternativen
DE102018102688A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem
DE112012001984T5 (de) Integrieren von Video-Metadaten in 3D-Modelle
DE102018121039A1 (de) Informationsverarbeitungsvorrichtung, verfahren zur steuerung von informationsverarbeitungsvorrichtung und speichermedium
DE112019002848T5 (de) System und verfahren zum auffinden und klassifizieren von mustern in einem bild mit einem bildverarbeitungssystem
DE102018109276A1 (de) Bildhintergrundsubtraktion für dynamische beleuchtungsszenarios
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
DE102017219244B4 (de) Inspektionsbedingungsbestimmungseinrichtung, inspektionsbedingungsbestimmungsverfahren und inspektionsbedingungsbestimmungsprogramm
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
BE1029610B1 (de) Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
DE102020215930A1 (de) Visuelle analytikplattform zum aktualisieren von objektdetektionsmodellen in anwendungen des autonomen fahrens
DE102022124537A1 (de) Verfahren zur erstellung eines optimierten/adaptiven bereichs von interesse (roi) basierend auf einer erkennung einer strichcodeposition im sichtfeld (fov)
DE102019117680A1 (de) Automatisiertes segmentierungsverfahren für die qualitätsprüfung
DE112022001773T5 (de) Systeme und Verfahren zur Bestimmung eines adaptiven Bereichs von Interesse (ROI) für die Berechnung von Bildmetriken
EP3482348A1 (de) Verfahren und einrichtung zur kategorisierung einer bruchfläche eines bauteils
BE1029306B1 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufunktionen
DE112021004038T5 (de) Systeme und verfahren zur optimierung einer leistung eines bildverarbeitungssystems
BE1029310B1 (de) Systeme und verfahren zum anreichern eines von einer maschinensicht-kamera aufgenommenen bildinhalts
DE112019004583T5 (de) Rationalisierung eines automatischen visuellen prüfprozesses
DE102021119128A1 (de) Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag
DE102021119132A1 (de) Systeme und verfahren zur optimierung einer leistung eines bildverarbeitungssystems
EP3582140A1 (de) System zur automatischen erkennung von laborarbeitsgegenständen sowie verfahren zum betrieb eines systems zur automatischen erkennung von laborgegenständen

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20230914