DE102021119128A1 - Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag - Google Patents

Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag Download PDF

Info

Publication number
DE102021119128A1
DE102021119128A1 DE102021119128.9A DE102021119128A DE102021119128A1 DE 102021119128 A1 DE102021119128 A1 DE 102021119128A1 DE 102021119128 A DE102021119128 A DE 102021119128A DE 102021119128 A1 DE102021119128 A1 DE 102021119128A1
Authority
DE
Germany
Prior art keywords
image
imaging
image processing
configuration
settings
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021119128.9A
Other languages
English (en)
Inventor
David D. Landron
Christopher M. West
James Matthew Witherspoon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zebra Technologies Corp
Original Assignee
Zebra Technologies Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zebra Technologies Corp filed Critical Zebra Technologies Corp
Publication of DE102021119128A1 publication Critical patent/DE102021119128A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/675Focus control based on electronic image sensor signals comprising setting of focusing regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/72Combination of two or more compensation controls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/73Circuitry for compensating brightness variation in the scene by influencing the exposure time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/74Circuitry for compensating brightness variation in the scene by influencing the scene brightness using illuminating means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/75Circuitry for compensating brightness variation in the scene by influencing optical camera components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/76Circuitry for compensating brightness variation in the scene by influencing the image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/958Computational photography systems, e.g. light-field imaging systems for extended depth of field imaging
    • H04N23/959Computational photography systems, e.g. light-field imaging systems for extended depth of field imaging by adjusting depth of field during image capture, e.g. maximising or setting range based on scene characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Studio Devices (AREA)

Abstract

Verfahren und Systeme zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag werden hierin offenbart. Ein Beispielverfahren umfasst das Erkennen eines Initiierungsauslösers, der den Bildverarbeitungsauftrag auslöst, durch einen oder mehrere Prozessoren. Das Beispielverfahren umfasst ferner, als Reaktion auf das Erkennen des Initiierungsauslösers, das Erfassen eines ersten Bildes eines Zielobjekts durch eine Bildgebungsvorrichtung gemäß einer ersten Konfiguration der einen oder mehreren Bildgebungseinstellungen. Das Beispielverfahren umfasst ferner, als Reaktion auf das Erfassen des ersten Bildes des Zielobjekts, das automatische Einstellen der einen oder mehreren Bildgebungseinstellungen durch den einen oder die mehreren Prozessoren auf eine zweite Konfiguration, die mindestens eine von der ersten Konfiguration verschiedene Bildgebungseinstellung enthält; und das Erfassen eines zweiten Bildes des Zielobjekts durch die Bildgebungsvorrichtung gemäß der zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen.

Description

  • HINTERGRUND
  • Seit der Einführung von Bildverarbeitungssystemen in der Industrie haben die Entwickler versucht, die entsprechenden Kosten und den Platzbedarf zu reduzieren. Diese Systeme sind in der Lage, Bildverarbeitungsaufträge auszuführen, um eine genaue Bildanalyse zu ermöglichen, wobei die Kosten für die Erfassung von Bildern mit fein abgestimmten Bildgebungseinstellungen (z. B. Belichtungszeit) anfallen. Diese Bildverarbeitungsaufträge erfordern jedoch in der Regel auch, dass die Bildverarbeitungssysteme mehrere Sätze von Bildgebungseinstellungen durchlaufen, um mehrere Bilder mit unterschiedlichen Schärfentiefen zu erfassen. Daher sind in vielen herkömmlichen Fällen mehrere Kameras und zusätzliche externe Beleuchtungen erforderlich, um sicherzustellen, dass das Bildverarbeitungssystem in der Lage ist, für jeden Satz von Bildgebungseinstellungen ein geeignetes Bild zu erfassen, um die erwartete Bildanalyse zu liefern.
  • Leider kann jede zusätzliche Vorrichtung sehr kostspielig sein, die Installation weiter erschweren und die Ausführung des Bildverarbeitungsauftrags verzögern. So kann eine durchschnittliche externe Beleuchtung mehrere hundert bis mehrere tausend Dollar kosten, und eine durchschnittliche Kombination aus Kamera und Lesevorrichtung kann mehrere tausend bis zehntausend Dollar kosten. Jede zusätzliche Komponente muss auch in das Bildverarbeitungssystem integriert werden, was leicht das Doppelte ihres Kaufpreises kosten kann. Darüber hinaus kann jede zusätzlich gekaufte und in einem Bildverarbeitungssystem installierte Komponente wertvollen Platz beanspruchen, der in einem industriellen Umfeld zu unnötigen oder gefährlichen Verdichtungen führen kann. Wenn ein herkömmliches System einen Auftrag ausführt, müssen die Bildgebungseinstellungen für das herkömmliche System in der Regel an die zusätzlichen Komponenten angepasst werden, was zu erheblichen Verzögerungen bei der Ausführung des Auftrags durch das herkömmliche System führt.
  • Es besteht daher ein Bedarf an Systemen und Verfahren zur Optimierung von Bildgebungseinstellungen für einen Bildverarbeitungsauftrag, die schnelle und effiziente Anpassungen der Bildeinstellungen für das Bildverarbeitungssystem während eines Bildverarbeitungsauftrags in Echtzeit ermöglichen.
  • BESCHREIBUNG
  • In einer Ausführungsform ist die vorliegende Erfindung ein Verfahren zum Optimieren einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag. Das Verfahren umfasst das Erkennen eines Initiierungsauslösers, der den Bildverarbeitungsauftrag auslöst, durch einen oder mehrere Prozessoren. Das Verfahren umfasst ferner das Erfassen eines ersten Bildes eines Zielobjekts durch eine Bildgebungsvorrichtung gemäß einer ersten Konfiguration der einen oder mehreren Bildgebungseinstellungen als Reaktion auf das Erkennen des Initiierungsauslösers. Das Verfahren umfasst ferner, als Reaktion auf das Erfassen des ersten Bildes des Zielobjekts, das automatische Einstellen der einen oder mehreren Bildgebungseinstellungen durch den einen oder die mehreren Prozessoren auf eine zweite Konfiguration, die mindestens eine von der ersten Konfiguration verschiedene Bildgebungseinstellung enthält. Das Verfahren umfasst ferner das Erfassen eines zweiten Bildes des Zielobjekts durch die Bildgebungsvorrichtung gemäß der zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen.
  • In einer Variante dieser Ausführungsform umfassen die eine oder mehreren Bildgebungseinstellungen eines oder mehrere von: (i) einer Blendengröße, (ii) einer Belichtungslänge, (iii) einem ISO-Wert, (iv) einem Fokuswert, (v) einem Verstärkungswert oder (vi) einer Beleuchtungssteuerung.
  • In einer anderen Variante dieser Ausführungsform umfasst der Initiierungsauslöser, dass das Zielobjekt in das Sichtfeld (FOV) der Bildgebungsvorrichtung eintritt.
  • In einer weiteren Variante dieser Ausführungsform umfasst die Bildgebungsvorrichtung eine einzige Kamera.
  • In einer weiteren Variante dieser Ausführungsform umfasst der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge, die so konfiguriert sind, dass sie ein oder mehrere Bildverarbeitungstechniken für das erste Bild und das zweite Bild durchführen. In einer weiteren Variante dieser Ausführungsform umfasst das Verfahren ferner: Durchführen der einen oder mehreren Bildverarbeitungstechniken an dem ersten Bild und dem zweiten Bild durch den einen oder die mehreren Prozessoren gemäß dem einen oder den mehreren Bildverarbeitungswerkzeugen, die in dem Bildverarbeitungsauftrag enthalten sind; und Erzeugen eines Ergebnissignals durch den einen oder die mehreren Prozessoren, das eine Bestanden-Anzeige oder eine Nichtbestanden-Anzeige für den Bildverarbeitungsauftrag darstellt. In einer weiteren Variante dieser Ausführungsform umfassen das eine oder die mehreren Bildverarbeitungswerkzeuge mindestens eines von: (i) einem Strichcode-Scanwerkzeug, (ii) einem Mustervergleichswerkzeug, (iii) einem Kantenerkennungswerkzeug, (iv) einem semantischen Segmentierungswerkzeug, (v) einem Objekterkennungswerkzeug oder (vi) einem Objektverfolgungswerkzeug.
  • In einer weiteren Variante dieser Ausführungsform umfasst der Bildverarbeitungsauftrag eine vorbestimmte Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen. In einer weiteren Variante dieses Ausführungsbeispiels umfasst das Verfahren ferner: (a) Bestimmen des zweiten Bildes als ein aktuelles Bild; (b) als Reaktion auf das Erfassen des aktuellen Bildes des Zielobjekts, automatisches Einstellen der einen oder mehreren Bildgebungseinstellungen auf eine nachfolgende Konfiguration, die mindestens eine unterschiedliche Bildgebungseinstellung von jeder vorherigen Konfiguration der einen oder mehreren Bildgebungseinstellungen enthält; (c) Erfassen eines nachfolgenden Bildes des Zielobjekts durch die Bildgebungsvorrichtung gemäß der nachfolgenden Konfiguration der einen oder mehreren Bildgebungseinstellungen; (d) Bezeichnen des nachfolgenden Bildes als das aktuelle Bild; und (e) iteratives Durchführen der Schritte (b)-(e), bis jede Konfiguration der vorbestimmten Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen verwendet worden ist, um mindestens ein Bild des Zielobjekts zu erfassen.
  • In einer anderen Ausführungsform ist die vorliegende Erfindung ein Computersystem zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag. Das System kann eine Bildgebungsvorrichtung umfassen, die so konfiguriert ist, dass sie ein erstes Bild eines Zielobjekts gemäß einer ersten Konfiguration der einen oder mehreren Bildgebungseinstellungen erfasst und ein zweites Bild des Zielobjekts gemäß einer zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen erfasst. Das System kann ferner einen oder mehrere Prozessoren und einen nicht transitorischen, computerlesbaren Speicher umfassen, der mit der Bildgebungsvorrichtung und dem einen oder den mehreren Prozessoren verbunden ist. In dem Speicher können Anweisungen gespeichert sein, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen: einen Initiierungsauslöser zu erkennen, der den Bildverarbeitungsauftrag auslöst, und als Reaktion auf ein Erfassung des ersten Bildes des Zielobjekts die eine oder die mehreren Bildgebungseinstellungen automatisch auf die zweite Konfiguration einzustellen, die mindestens eine von der ersten Konfiguration verschiedene Bildgebungseinstellung enthält.
  • In einer Variante dieser Ausführungsform umfassen die eine oder die mehreren Bildgebungseinstellungen eines oder mehrere von: (i) einer Blendengröße, (ii) einer Belichtungslänge, (iii) einem ISO-Wert, (iv) einem Fokuswert, (v) einem Verstärkungswert oder (vi) einer Beleuchtungssteuerung.
  • In einer anderen Variante dieser Ausführungsform umfasst Initiierungsauslöser, dass das Zielobjekt in das Sichtfeld (FOV) der Bildgebungsvorrichtung eintritt.
  • In einer weiteren Variante dieser Ausführungsform umfasst der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge, die so konfiguriert sind, dass sie eine oder mehrere Bildverarbeitungstechniken an dem ersten Bild und dem zweiten Bild durchführen. In dieser Variante bewirken die Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, ferner, dass der eine oder die mehreren Prozessoren: die eine oder die mehreren Bildverarbeitungstechniken an dem ersten Bild und dem zweiten Bild gemäß dem einen oder den mehreren Bildverarbeitungswerkzeugen durchführen, die in dem Bildverarbeitungsauftrag enthalten sind; und ein Ergebnissignal erzeugen, das eine Bestanden-Anzeige oder eine Nichtbestanden-Anzeige für den Bildverarbeitungsauftrag darstellt.
  • In einer weiteren Variante dieser Ausführungsform umfasst der Bildverarbeitungsauftrag eine vorbestimmte Anzahl von Konfigurationen der einen oder mehreren Bildverarbeitungseinstellungen. In dieser Variante veranlassen die Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner dazu, (a) das zweite Bild als ein aktuelles Bild zu bezeichnen; (b) als Reaktion auf ein Erfassen des aktuellen Bildes des Zielobjekts die eine oder die mehreren Bildgebungseinstellungen automatisch auf eine nachfolgende Konfiguration einzustellen, die mindestens eine unterschiedliche Bildgebungseinstellung von jeder vorherigen Konfiguration der einen oder mehreren Bildgebungseinstellungen umfasst; (c) ein nachfolgendes Bild des Zielobjekts durch die Bildgebungsvorrichtung gemäß der nachfolgenden Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erzeugen; (d) das nachfolgende Bild als das aktuelle Bild zu bezeichnen; und (e) die Schritte (b)-(e) iterativ durchzuführen, bis jede Konfiguration der vorbestimmten Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen verwendet wurde, um mindestens ein Bild des Zielobjekts zu erfassen.
  • In einer weiteren Ausführungsform ist die vorliegende Erfindung ein zugreifbares maschinenlesbares Medium, das Anweisungen zum Optimieren einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag enthält. Wenn sie ausgeführt werden, veranlassen die Anweisungen eine Maschine, zumindest: einen Initiierungsauslöser zu erkennen, der den Bildverarbeitungsauftrag auslöst; als Reaktion auf das Erkennen des Initiierungsauslösers durch eine Bildgebungsvorrichtung ein erstes Bild eines Zielobjekts gemäß einer ersten Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen; als Reaktion auf das Erfassen des ersten Bildes des Zielobjekts die eine oder mehreren Bildgebungseinstellungen automatisch auf eine zweite Konfiguration einzustellen, die mindestens eine von der ersten Konfiguration verschiedene Bildgebungseinstellung enthält; und durch die Bildgebungsvorrichtung ein zweites Bild des Zielobjekts gemäß der zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen.
  • In einer Variante dieser Ausführungsform umfasst der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge, die so konfiguriert sind, dass sie ein oder mehrere Bildverarbeitungstechniken für das erste Bild und das zweite Bild ausführen. In dieser Variante bewirken die Anweisungen bei ihrer Ausführung ferner, dass die Maschine zumindest: das eine oder die mehreren Bildverarbeitungstechniken an dem ersten Bild und dem zweiten Bild gemäß dem einen oder den mehreren Bildverarbeitungswerkzeugen, die in dem Bildverarbeitungsauftrag enthalten sind, durchführt; und ein Ergebnissignal erzeugt, das eine Bestanden-Anzeige oder eine Nichtbestanden-Anzeige für den Bildverarbeitungsauftrag darstellt.
  • In einer anderen Variante dieser Ausführungsform umfasst der Bildverarbeitungsauftrag eine vorbestimmte Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen, und wobei die Anweisungen, wenn sie ausgeführt werden, die Maschine ferner veranlassen, zumindest (a) das zweite Bild als ein aktuelles Bild zu bezeichnen; (b) als Reaktion auf ein Erfassen des aktuellen Bildes des Zielobjekts die eine oder mehreren Bildgebungseinstellungen automatisch auf eine nachfolgende Konfiguration einzustellen, die mindestens eine unterschiedliche Bildgebungseinstellung von jeder vorherigen Konfiguration der einen oder mehreren Bildgebungseinstellungen umfasst; (c) ein nachfolgendes Bild des Zielobjekts durch die Bildgebungsvorrichtung gemäß der nachfolgenden Konfiguration der einen oder mehreren Bildgebungseinstellungen durch die Bildgebungsvorrichtung zu erfassen; (d) das nachfolgende Bild als das aktuelle Bild zu bezeichnen; und (e) die Schritte (b)-(e) iterativ durchzuführen, bis jede Konfiguration der vorbestimmten Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen verwendet wurde, um mindestens ein Bild des Zielobjekts zu erfassen.
  • Figurenliste
  • Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
    • 1 ist ein Beispielsystem zur Optimierung einer oder mehrerer Bildverarbeitungseinstellungen für einen Bildverarbeitungsauftrag gemäß den hierin beschriebenen Ausführungsformen.
    • 2 ist eine perspektivische Ansicht der Bildgebungsvorrichtung von 1 gemäß den hierin beschriebenen Ausführungsformen.
    • 3 zeigt ein Beispiel für eine Anwendungsschnittstelle, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet wird, gemäß den hierin beschriebenen Ausführungsformen.
    • 4A zeigt eine zusätzliche Anwendungsschnittstelle, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet wird, gemäß den hierin beschriebenen Ausführungsformen.
    • 4B zeigt eine weitere Anwendungsschnittstelle, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet wird, gemäß den hierin beschriebenen Ausführungsformen.
    • 5 ist ein Flussdiagramm, das ein Verfahren zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag gemäß den hierin beschriebenen Ausführungsformen darstellt.
    • 6 zeigt die Ausführung eines beispielhaften Bildverarbeitungsauftrags, der mehrere Bildgebungseinstellungen enthält, wobei der beispielhafte Bildverarbeitungsauftrag die hierin beschriebenen Beispielverfahren und/oder-operationen implementiert.
  • Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
  • Die Vorrichtungs- und Verfahrenskomponenten wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die Besitzer/Betreiber von Bildverarbeitungssystemen hatten bisher das Problem, dass sie ohne den Kauf und die Installation zusätzlicher Systemkomponenten keine zuverlässige Bildanalyse mit mehreren Bildgebungseinstellungen durchführen konnten. Kameras, Lesevorrichtungen, externe Beleuchtungen und andere Komponenten können sehr kostspielig in der Anschaffung und Installation sein und verringern im Allgemeinen die Systemeffizienz, da die Benutzer/Bediener die Komponenteneinstellungen zwischen den Bilderfassungen einzeln ändern müssen, um sicherzustellen, dass jedes Bild für eine bestimmte Bildverarbeitungstechnik (z. B. Strichcode-Scannen, Kantenerkennung usw.) geeignet ist. Ziel der vorliegenden Offenbarung ist es daher, diese und andere Probleme mit herkömmlichen Bildverarbeitungssystemen zu beseitigen, indem die Erstellung und Ausführung von Bildverarbeitungsaufträgen mit einer Reihe von Bildgebungseinstellungen ermöglicht wird, die nacheinander von einer Bildverarbeitungskamera angewendet werden. Wie hierin beschrieben, können die Ausführungsformen der vorliegenden Offenbarung den Bedarf an kostspieligen zusätzlichen Komponenten reduzieren, die Installations- und Integrationszeit für ein Bildverarbeitungssystem beschleunigen und sicherstellen, dass das System die Effizienz der Bilderfassung und - verarbeitung maximiert.
  • 1 zeigt ein Beispiel für ein intelligentes Bildgebungssystem 100, das so konfiguriert ist, dass es Pixeldaten eines Bildes eines Zielobjekts analysiert, um eine oder mehrere Bildgebungseinstellungen für einen Bildverarbeitungsauftrag zu optimieren, gemäß verschiedenen hierin offenbarten Ausführungsformen. In dem Ausführungsbeispiel von 1 umfasst das intelligente Bildverarbeitungssystem 100 eine Benutzer-Computervorrichtung 102 und eine Bildgebungsvorrichtung 104, die über ein Netzwerk 106 mit der Benutzer-Computervorrichtung 102 kommunikativ verbunden ist. Im Allgemeinen können die Benutzer-Computervorrichtung 102 und die Bildgebungsvorrichtung 104 in der Lage sein, Befehle auszuführen, um beispielsweise Vorgänge der hierin beschriebenen Beispielverfahren zu implementieren, wie dies in den Flussdiagrammen der Zeichnungen, die dieser Beschreibung beigefügt sind, dargestellt werden kann. Die Benutzer-Computervorrichtung 102 ist im Allgemeinen so konfiguriert, dass ein Benutzer/Bediener einen Bildverarbeitungsauftrag zur Ausführung auf der Bildgebungsvorrichtung 104 erstellen kann. Nach der Erstellung kann der Benutzer/Bediener dann den Bildverarbeitungsauftrag über das Netzwerk 106 an die Bildgebungsvorrichtung 104 übertragen/hochladen, wo der Bildverarbeitungsauftrag dann interpretiert und ausgeführt wird. Die Benutzer-Computervorrichtung 102 kann eine oder mehrere Bediener-Arbeitsstationen umfassen und einen oder mehrere Prozessoren 108, einen oder mehrere Speicher 110, eine Netzwerkschnittstelle 112, eine Eingabe-/Ausgabeschnittstelle 114 und eine intelligente Bildgebungsanwendung 116 enthalten.
  • Die Bildgebungsvorrichtung 104 ist über ein Netzwerk 106 mit der Benutzer-Computervorrichtung 102 verbunden und so konfiguriert, dass sie von der Benutzer-Computervorrichtung 102 empfangene Bildverarbeitungsaufträge interpretiert und ausführt. Im Allgemeinen kann die Bildgebungsvorrichtung 104 eine Auftragsdatei, die ein oder mehrere Auftragsskripte enthält, von der Benutzer-Computervorrichtung 102 über das Netzwerk 106 erhalten, die den Bildverarbeitungsauftrag definieren und die Bildgebungsvorrichtung 104 so konfigurieren können, dass sie Bilder gemäß dem Bildverarbeitungsauftrag erfasst und/oder analysiert. Beispielsweise kann die Bildgebungsvorrichtung 104 einen Flash-Speicher enthalten, der zum Ermitteln, Speichern oder anderweitigen Verarbeiten von Bilddaten/Datensätzen und/oder Post-Bildgebungsdaten verwendet wird. Die Bildgebungsvorrichtung 104 kann dann einen Initiierungsauslöser empfangen, erkennen und/oder anderweitig interpretieren, der die Bildgebungsvorrichtung 104 veranlasst, ein Bild des Zielobjekts gemäß der über das eine oder die mehreren Auftragsskripte festgelegten Konfiguration zu erfassen. Nach der Erfassung und/oder Analyse kann die Bildgebungsvorrichtung 104 die Bilder und alle zugehörigen Daten über das Netzwerk 106 an die Benutzer-Computervorrichtung 102 zur weiteren Analyse und/oder Speicherung übertragen. In verschiedenen Ausführungsformen kann die Bildgebungsvorrichtung 104 eine „intelligente“ Kamera sein und/oder anderweitig so konfiguriert sein, dass sie automatisch ausreichende Funktionen der Bildgebungsvorrichtung 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-Computervorrichtung 102 erhalten wurden.
  • Im Großen und Ganzen kann es sich bei der Auftragsdatei um eine JSON-Darstellung/ein Datenformat des einen oder der mehreren Auftragsskripte handeln, die von der Benutzer-Computervorrichtung 102 an die Bildgebungsvorrichtung 104 übertragen werden können. Die Auftragsdatei kann außerdem von einer C++-Laufzeit-Maschine oder einer anderen geeigneten Laufzeit-Maschine geladen/gelesen werden, die auf der Bildgebungsvorrichtung 104 ausgeführt wird. Darüber hinaus kann auf der Bildgebungsvorrichtung 104 ein Server (nicht dargestellt) laufen, der so konfiguriert ist, dass er über das Netzwerk 106 Auftragsdateien von der Benutzer-Computervorrichtung 102 abhört und empfängt. Zusätzlich oder alternativ kann der Server, der zum Abhören und Empfangen von Auftragsdateien konfiguriert ist, als ein oder mehrere Cloud-basierte Server implementiert werden, wie z. B. eine Cloud-basierte Rechenplattform. Beispielsweise kann es sich bei dem Server um eine oder mehrere Cloud-basierte Plattform(en) wie MICROSOFT AZURE, AMAZON AWS oder dergleichen handeln.
  • In jedem Fall kann die Bildgebungsvorrichtung 104 einen oder mehrere Prozessoren 118, einen oder mehrere Speicher 120, eine Netzwerkschnittstelle 122, eine E/A-Schnittstelle 124 und eine Bildgebungsbaugruppe 126 umfassen. Die Bildgebungsbaugruppe 126 kann eine Digitalkamera und/oder eine digitale Videokamera zum Erfassen oder Aufnehmen von digitalen Bildern und/oder Einzelbildern (Frames) umfassen. Jedes digitale Bild kann Pixeldaten enthalten, die von einem oder mehreren Werkzeugen analysiert werden können, die jeweils so konfiguriert sind, dass sie eine Bildanalyseaufgabe durchführen, wie hierin beschrieben. Die Digitalkamera und/oder die digitale Videokamera, z. B. der Bildgebungsbaugruppe 126, kann so konfiguriert sein, dass sie digitale Bilder aufnimmt, erfasst oder anderweitig erzeugt, und zumindest in einigen Ausführungsformen kann sie solche Bilder in einem Speicher (z. B. einem oder mehreren Speichern 110, 120) einer entsprechenden Vorrichtung (z. B. Benutzer-Computervorrichtung 102, Bildgebungsvorrichtung 104) speichern.
  • Die Bildgebungsbaugruppe 126 kann beispielsweise eine fotorealistische Kamera (nicht abgebildet) zum Erfassen, Abtasten oder Scannen von 2D-Bilddaten enthalten. Die fotorealistische Kamera kann eine auf RGB (Rot, Grün, Blau) basierende Kamera zum Erfassen von 2D-Bildern mit RGB-basierten Pixeldaten sein. In verschiedenen Ausführungsformen kann die Bildgebungsbaugruppe zusätzlich eine dreidimensionale (3D) Kamera (nicht abgebildet) zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten enthalten. Die 3D-Kamera kann einen Infrarot (IR)-Projektor und eine zugehörige IR-Kamera zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten/Datensätzen umfassen. In einigen Ausführungsformen kann die fotorealistische Kamera der Bildgebungsbaugruppe 126 2D-Bilder und zugehörige 2D-Bilddaten zum gleichen oder einem ähnlichen Zeitpunkt wie die 3D-Kamera der Bildgebungsbaugruppe 126 erfassen, so dass der Bildgebungsvorrichtung 104 beide Sätze von 3D-Bilddaten und 2D-Bilddaten für eine bestimmte Oberfläche, ein Objekt, einen Bereich oder eine Szene zum gleichen oder einem ähnlichen Zeitpunkt zur Verfügung stehen. In verschiedenen Ausführungsformen kann die Bildgebungsbaugruppe 126 die 3D-Kamera und die fotorealistische Kamera als eine einzige Bildgebungsvorrichtung umfassen, 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.
  • In bestimmten Ausführungsformen kann die Bildgebungsbaugruppe 126 so konfiguriert sein, dass sie Bilder von Oberflächen oder Bereichen eines vordefinierten Suchraums oder von Zielobjekten innerhalb des vordefinierten Suchraums erfasst. Beispielsweise kann jedes in einem Auftragsskript enthaltene Werkzeug zusätzlich einen Bereich von Interesse (ROI) enthalten, der einem bestimmten Bereich oder einem Zielobjekt entspricht, das von der Bildgebungsbaugruppe 126 abgebildet wird. Der zusammengesetzte Bereich, der durch die ROIs für alle in einem bestimmten Auftragsskript enthaltenen Werkzeuge definiert ist, kann somit den vordefinierten Suchraum definieren, den die Bildgebungsbaugruppe 126 erfassen kann, um die Ausführung des Auftragsskripts zu erleichtern. Der vordefinierte Suchraum kann jedoch vom Benutzer so festgelegt werden, dass er ein Sichtfeld (FOV) umfasst, das größer oder kleiner ist als der zusammengesetzte Bereich, der durch die ROIs aller im jeweiligen Auftragsskript enthaltenen Werkzeuge definiert ist. Es sei darauf hingewiesen, dass die Bildgebungsbaugruppe 126 2D- und/oder 3D-Bilddaten/Datensätze einer Vielzahl von Bereichen erfassen kann, so dass neben den vordefinierten Suchräumen weitere Bereiche in Betracht gezogen werden können. Darüber hinaus kann die Bildgebungsbaugruppe 126 in verschiedenen Ausführungsformen so konfiguriert sein, dass sie neben den 2D/3D-Bilddaten auch andere Bilddatensätze erfasst, wie z. B. Graustufenbilddaten oder Amplitudenbilddaten, die jeweils mit den 2D/3D-Bilddaten tiefenausgerichtet sein können.
  • Die Bildgebungsvorrichtung 104 kann auch die 2D-Bilddaten/Datensätze und/oder 3D-Bilddatensätze für die Verwendung durch andere Vorrichtungen (z. B. die Benutzer-Computervorrichtung 102, einen externen Server) verarbeiten. Beispielsweise können der eine oder die mehreren Prozessoren 118 die von der Bildgebungsbaugruppe 126 erfassten, gescannten oder abgetasteten Bilddaten oder Datensätze verarbeiten. Die Verarbeitung der Bilddaten kann Post-Bildgebungsdaten erzeugen, die Metadaten, vereinfachte Daten, normalisierte Daten, Ergebnisdaten, Statusdaten oder Alarmdaten enthalten können, wie sie aus den ursprünglichen gescannten oder erfassten Bilddaten ermittelt wurden. Die Bilddaten und/oder die Post-Bildgebungsdaten können an die Benutzer-Computervorrichtung 102 gesendet werden, die die intelligente Bildgebungsanwendung 116 ausführt, um sie zu sichten, zu bearbeiten und/oder anderweitig mit ihnen zu interagieren. In anderen Ausführungsformen können die Bilddaten und/oder die Post-Bildgebungsdaten zur Speicherung oder zur weiteren Bearbeitung an einen Server gesendet werden. Wie hierin beschrieben, können die Benutzer-Computervorrichtung 102, die Bildgebungsvorrichtung 104 und/oder ein externer Server oder eine andere zentralisierte Verarbeitungseinheit und/oder ein Speicher solche Daten speichern und auch die Bilddaten und/oder die Post-Bildgebungsdaten an eine andere Anwendung senden, die auf einer Benutzervorrichtung implementiert ist, wie z. B. eine Mobilvorrichtung, ein Tablet, eine handgehaltene Vorrichtung oder eine Desktop-Vorrichtung.
  • Jeder der ein oder mehreren Speicher 110, 120 kann eine oder mehrere Formen von flüchtigem und/oder nichtflüchtigem, festem und/oder entfernbarem Speicher umfassen, wie Festwertspeicher (ROM), elektronischer programmierbarer Festwertspeicher (EPROM), Direktzugriffsspeicher (RAM), löschbarer elektronischer programmierbarer Festwertspeicher (EEPROM) und/oder andere Festplatten, Flash-Speicher, MicroSD-Karten und andere. Im Allgemeinen kann ein Computerprogramm oder ein computergestütztes Produkt, eine Anwendung oder ein Code (z. B. die intelligente Bildgebungsanwendung 116 oder andere hierin beschriebene Computeranweisungen) auf einem computerverwendbaren Speichermedium oder einem zugreifbaren, nicht transitorischen computerlesbaren Medium (z. B. Standard-Direktzugriffsspeicher (RAM), eine optische Diskette, ein USB (Universal Serial Bus)-Laufwerk oder ähnliches) gespeichert werden, in dem ein solcher computerlesbarer Programmcode oder Computeranweisungen verkörpert sind, wobei der computerlesbare Programmcode oder die Computeranweisungen auf dem einen oder den mehreren Prozessoren 108, 118 installiert oder anderweitig angepasst werden können, um von diesen ausgeführt zu werden (z. B. in Verbindung mit dem jeweiligen Betriebssystem in dem einen oder den mehreren Speichern 110, 120), um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu erleichtern, zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Abbildungen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben werden. In dieser Hinsicht kann der Programmcode in jeder gewünschten Programmiersprache implementiert werden und kann als Maschinencode, Assemblercode, Bytecode, interpretierbarer Quellcode oder dergleichen implementiert werden (z. B. mittels Golang, Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript, HTML, CSS, XML usw.).
  • In dem einen oder den mehreren Speichern 110, 120 kann ein Betriebssystem (OS) (z. B. Microsoft Windows, Linux, Unix usw.) gespeichert sein, das in der Lage ist, die hierin beschriebenen Funktionalitäten, Anwendungen, Verfahren oder andere Software zu unterstützen. In dem einen oder den mehreren Speichern 110 kann auch die intelligente Bildgebungsanwendung 116 gespeichert sein, die so konfiguriert sein kann, dass sie die Konstruktion von Bildverarbeitungsaufträgen ermöglicht, wie hierin weiter beschrieben. Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 116 auch in dem einen oder den mehreren Speichern 120 der Bildgebungsvorrichtung 104 und/oder in einer externen Datenbank (nicht dargestellt) gespeichert sein, auf die über das Netzwerk 106 zugegriffen werden kann oder die anderweitig kommunikativ mit der Benutzer-Computervorrichtung 102 verbunden ist. Der eine oder die mehreren Speicher 110, 120 können auch maschinenlesbare Anweisungen speichern, einschließlich einer oder mehrerer Anwendungen, einer oder mehrerer Softwarekomponenten und/oder einer oder mehrerer Anwendungsprogrammierschnittstellen (APIs), die implementiert werden können, um die hierin beschriebenen Merkmale, Funktionen oder andere Offenbarungen zu erleichtern oder auszuführen, wie etwa Verfahren, Prozesse, Elemente oder Beschränkungen, wie sie in den verschiedenen Flussdiagrammen, Illustrationen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind. Zum Beispiel können zumindest einige der Anwendungen, Softwarekomponenten oder APIs Teil einer auf maschinellem Sehen basierenden Bildverarbeitungsanwendung sein, wie z. B. der intelligenten Bildverarbeitungsanwendung 116, wobei jede so konfiguriert sein kann, dass sie ihre verschiedenen hierin beschriebenen Funktionen erleichtert. Es sollte verstanden werden, dass eine oder mehrere andere Anwendungen denkbar sind, die von dem einen oder mehreren Prozessoren 108, 118 ausgeführt werden.
  • Der eine oder die mehreren Prozessoren 108, 118 können mit dem einen oder den mehreren Speichern 110, 120 über einen Computerbus verbunden sein, der für die Übertragung von elektronischen Daten, Datenpaketen oder anderen elektronischen Signalen zu und von dem einen oder den mehreren Prozessoren 108, 118 und dem einen oder den mehreren Speichern 110, 120 verantwortlich ist, um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Illustrationen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind.
  • Der eine oder die mehreren Prozessoren 108, 118 können mit dem einen oder den mehreren Speichern 110, 120 über den Computerbus verbunden sein, um das Betriebssystem (OS) auszuführen. Der eine oder die mehreren Prozessoren 108, 118 können auch mit dem einen oder den mehreren Speichern 110, 120 über den Computerbus verbunden sein, um Daten zu erzeugen, zu lesen, zu aktualisieren, zu löschen oder anderweitig auf die Daten zuzugreifen oder mit ihnen zu interagieren, die in dem einen oder den mehreren Speichern 110, 120 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 einen oder den mehreren Speichern 110, 120 und/oder einer externen Datenbank gespeicherten Daten können alle oder einen Teil der hierin beschriebenen Daten oder Informationen enthalten, einschließlich beispielsweise Bilder von Bildverarbeitungsaufträgen (z. B. Bilder, die von der Bildgebungsvorrichtung 104 als Reaktion auf die Ausführung eines Auftragsskripts erfasst werden) und/oder andere geeignete Informationen.
  • Die Netzwerkschnittstellen 112, 122 können so konfiguriert sein, dass sie Daten über einen oder mehrere externe/Netzwerkanschlüsse mit einem oder mehreren Netzwerken oder lokalen Endgeräten, wie dem hierin beschriebenen Netzwerk 106, kommunizieren (z. B. senden und empfangen). In einigen Ausführungsformen können die Netzwerkschnittstellen 112, 122 eine Client-Server-Plattformtechnologie wie ASP.NET, Java J2EE, Ruby on Rails, Node.js, einen Webservice oder eine Online-API enthalten, die auf elektronische Anfragen reagiert und diese beantwortet. Die Netzwerkschnittstellen 112, 122 können die Client-Server-Plattformtechnologie implementieren, die über den Computerbus mit dem einen oder den mehreren Speichern 110, 120 (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, Abbildungen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind.
  • Gemäß einigen Ausführungsformen können die Netzwerkschnittstellen 112, 122 eine oder mehrere Sende-/Empfangsvorrichtungen (z. B. WWAN-, WLAN- und/oder WPAN-Sende-/Empfangsvorrichtungen) umfassen 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. In einigen Ausführungsformen kann das Netzwerk 106 ein privates Netzwerk oder ein lokales Netzwerk (LAN) umfassen. Zusätzlich oder alternativ kann das Netz 106 ein öffentliches Netz wie das Internet umfassen. In einigen Ausführungsformen kann das Netzwerk 106 Router, drahtlose Switches oder andere derartige drahtlose Verbindungspunkte umfassen, die mit der Benutzer-Computervorrichtung 102 (über die Netzwerkschnittstelle 112) und der Bildgebungsvorrichtung 104 (über die Netzwerkschnittstelle 122) über drahtlose Kommunikation auf der Grundlage eines oder mehrerer verschiedener drahtloser Standards kommunizieren, einschließlich, als nicht einschränkendes Beispiel, IEEE 802.11a/b/c/g (WIFI), dem BLUETOOTH-Standard oder ähnlichem.
  • Die E/A-Schnittstellen 114, 124 können Bedienerschnittstellen enthalten oder implementieren, die so konfiguriert sind, dass sie einem Verwalter oder Bediener Informationen präsentieren und/oder Eingaben vom Verwalter oder Bediener empfangen. Eine Bedienerschnittstelle kann einen Bildschirm bereitstellen (z. B. über die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104), den ein Benutzer/Bediener zur Visualisierung von Bildern, Grafiken, Text, Daten, Merkmalen, Pixeln und/oder anderen geeigneten Visualisierungen oder Informationen verwenden kann. Beispielsweise kann die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104 zumindest teilweise eine grafische Benutzeroberfläche (GUI) zur Anzeige von Bildern, Grafiken, Text, Daten, Merkmalen, Pixeln und/oder anderen geeigneten Visualisierungen oder Informationen auf dem Bildschirm umfassen, implementieren, darauf zugreifen, sie wiedergeben oder anderweitig offen legen. Die E/A-Schnittstellen 114, 124 können auch E/A-Komponenten (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.) umfassen, auf die direkt/indirekt über die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104 zugegriffen werden kann oder die an dieser angebracht sind. Gemäß einigen Ausführungsformen kann ein Administrator oder ein Benutzer/Bediener auf die Benutzer-Computervorrichtung 102 und/oder die Bildgebungsvorrichtung 104 zugreifen, um Aufträge zu erstellen, Bilder oder andere Informationen zu prüfen, Änderungen vorzunehmen, Antworten und/oder Auswahlen einzugeben und/oder andere Funktionen auszuführen.
  • Wie oben beschrieben, kann die Benutzer-Computervorrichtung 102 in einigen Ausführungsformen die hierin beschriebenen Funktionen als Teil eines „Cloud“-Netzwerks ausführen oder anderweitig mit anderen Hardware- oder Softwarekomponenten innerhalb der Cloud kommunizieren, um hierin beschriebene Daten oder Informationen zu senden, abzurufen oder anderweitig zu analysieren.
  • 2 ist eine perspektivische Ansicht der Bildgebungsvorrichtung 104 aus 1 gemäß den hierin beschriebenen Ausführungsformen. Die Bildgebungsvorrichtung 104 umfasst ein Gehäuse 202, eine Bildgebungsblende 204, ein Benutzerschnittstellenetikett 206, einen Kuppelschalter/eine Taste 208, eine oder mehrere Leuchtdioden (LEDs) 210 und einen oder mehrere Befestigungspunkte 212. Wie bereits erwähnt, kann die Bildgebungsvorrichtung 104 Auftragsdateien von einer Benutzer-Computervorrichtung (z. B. der Benutzer-Computervorrichtung 102) erhalten, die die Bildgebungsvorrichtung 104 anschließend interpretiert und ausführt. Die in der Auftragsdatei enthaltenen Anweisungen können Vorrichtungskonfigurationseinstellungen (hierin auch als „Bildgebungseinstellungen“ bezeichnet) enthalten, die dazu dienen, die Konfiguration der Bildgebungsvorrichtung 104 vor der Aufnahme von Bildern eines Zielobjekts anzupassen.
  • Beispielsweise können die Vorrichtungskonfigurationseinstellungen Anweisungen zur Anpassung einer oder mehrerer Einstellungen in Bezug auf die Bildgebungsblende 204 enthalten. Als Beispiel sei angenommen, dass zumindest ein Teil der beabsichtigten Analyse, die einem Bildverarbeitungsauftrag entspricht, erfordert, dass die Bildgebungsvorrichtung 104 die Helligkeit jedes aufgenommenen Bildes maximiert. Um dieser Anforderung gerecht zu werden, kann die Auftragsdatei Vorrichtungskonfigurationseinstellungen enthalten, um die Blendengröße der Bildgebungsöffnung 204 zu vergrößern. Die Bildgebungsvorrichtung 104 kann diese Anweisungen (z. B. über einen oder mehrere Prozessoren 118) interpretieren und die Blendengröße der Bildgebungsblende 204 entsprechend vergrößern. Auf diese Weise kann die Bildgebungsvorrichtung 104 so konfiguriert werden, dass sie ihre eigene Konfiguration automatisch anpasst, um einem bestimmten Bildverarbeitungsauftrag optimal zu entsprechen. Darüber hinaus kann die Bildgebungsvorrichtung 104 beispielsweise einen 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üssigkeitslinsen über der Bildgebungsblende 204 enthalten oder anderweitig auf die empfangene Beleuchtung einwirken oder anpassbar sein.
  • Das Benutzerschnittstellenetikett 206 kann den Kuppelschalter/-knopf 208 und eine oder mehrere LEDs 210 enthalten und dadurch eine Vielzahl von interaktiven und/oder anzeigenden Funktionen ermöglichen. Im Allgemeinen kann das Benutzerschnittstellenetikett 206 es einem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 auszulösen und/oder einzustellen (z. B. über den Kuppelschalter/-knopf 208) und zu erkennen, wenn eine oder mehrere Funktionen, Fehler und/oder andere Aktionen in Bezug auf die Bildgebungsvorrichtung 104 ausgeführt wurden oder stattgefunden haben (z. B. über die eine oder mehrere LEDs 210). Beispielsweise kann die Auslösefunktion eines Kuppelschalters/einer Kuppeltaste (z. B. Kuppel/Schalttaste 208) es einem Benutzer ermöglichen, ein Bild mit der Bildgebungsvorrichtung 104 zu erfassen und/oder einen Auslösekonfigurationsbildschirm einer Benutzeranwendung (z. B. intelligente Bildgebungsanwendung 116) anzuzeigen. Der Auslösekonfigurationsbildschirm kann es dem Benutzer ermöglichen, einen oder mehrere Auslöser für die Bildgebungsvorrichtung 104 zu konfigurieren, die im Speicher (z. B. in einem oder mehreren Speichern 110, 120) zur Verwendung in später entwickelten Bildverarbeitungsaufträgen, wie hierin beschrieben, gespeichert werden können.
  • Als weiteres Beispiel kann die Abstimmungsfunktion eines Kuppelschalters/-knopfes (z. B. Kuppelschalter/-knopf 208) es einem Benutzer ermöglichen, die Konfiguration der Bildgebungsvorrichtung 104 automatisch und/oder manuell gemäß einer bevorzugten/bestimmten Konfiguration anzupassen und/oder einen Bildgebungskonfigurationsbildschirm einer Benutzeranwendung (z. B. intelligente Bildgebungsanwendung 116) anzuzeigen. Der Bildgebungskonfigurationsbildschirm kann es dem Benutzer ermöglichen, eine oder mehrere Konfigurationen der Bildgebungsvorrichtung 104 (z. B. Blendengröße, Belichtungslänge usw.) zu konfigurieren, die im Speicher (z. B. in einem oder mehreren Speichern 110, 120) zur Verwendung in später entwickelten Bildverarbeitungsaufträgen, wie hierin beschrieben, gespeichert werden können.
  • Um dieses Beispiel zu vertiefen und wie hierin weiter ausgeführt, kann ein Benutzer den Konfigurationsbildschirm für die Bildgebung (oder allgemeiner die intelligente Bildgebungsanwendung 116) verwenden, um zwei oder mehrere Konfigurationen von Bildgebungseinstellungen für die Bildgebungsvorrichtung 104 festzulegen. Der Benutzer kann dann diese zwei oder mehreren Konfigurationen der Bildgebungseinstellungen als Teil eines Bildverarbeitungsauftrags speichern, der dann in einer Auftragsdatei, die ein oder mehrere Auftragsskripte enthält, an die Bildgebungsvorrichtung 104 übertragen wird. Das eine oder die mehreren Auftragsskripte können dann die Prozessoren der Bildgebungsvorrichtung 104 (z. B. einen oder mehrere Prozessoren 118) anweisen, die Bildgebungseinstellungen der Bildgebungsvorrichtung automatisch und nacheinander gemäß einer oder mehreren der zwei oder mehreren Konfigurationen der Bildgebungseinstellungen nach jeder aufeinanderfolgenden Bilderfassung anzupassen.
  • Der/die Montagepunkt(e) 212 kann/können es einem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 mit einer Montagevorrichtung (z. B. einem Bildgebungsstativ, einer Kamerahalterung usw.), einer strukturellen Oberfläche (z. B. einer Lagerhauswand, einer Lagerhausdecke, einem strukturellen Stützbalken usw.), anderen Zubehörelementen und/oder anderen geeigneten Verbindungsvorrichtungen, Strukturen oder Oberflächen zu verbinden und/oder lösbar zu befestigen. Beispielsweise kann die Bildgebungsvorrichtung 104 optimal auf einer Montagevorrichtung in einem Verteilerzentrum, einer Produktionsanlage, einem Lager 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 Bildgebungsvorrichtung 104 passieren. Darüber hinaus können die Montagepunkte 212 es dem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 mit einer Vielzahl von Zubehörteilen zu verbinden, einschließlich, aber nicht beschränkt auf eine oder mehrere externe Beleuchtungsvorrichtungen, eine oder mehrere Montagevorrichtungen/Halterungen und dergleichen.
  • Darüber hinaus kann die Bildgebungsvorrichtung 104 mehrere Hardwarekomponenten im Gehäuse 202 enthalten, die eine Verbindung zu einem Computernetzwerk (z. B. Netzwerk 106) ermöglichen. Zum Beispiel kann die Bildgebungsvorrichtung 104 eine Netzwerkschnittstelle (z. B. Netzwerkschnittstelle 122) enthalten, die es der Bildgebungsvorrichtung 104 ermöglicht, sich mit einem Netzwerk zu verbinden, wie z. B. eine Gigabit-Ethernet-Verbindung und/oder eine Dual-Gigabit-Ethernet-Verbindung. Darüber hinaus kann die Bildgebungsvorrichtung 104 Senderempfänger und/oder andere Kommunikationskomponenten als Teil der Netzwerkschnittstelle enthalten, um mit anderen Vorrichtungen (z. B. der Computervorrichtung 102 des Benutzers) zu kommunizieren, z. B. über Ethernet/IP, PROFINET, Modbus TCP, CC-Link, USB 3.0, RS-232 und/oder jedes andere geeignete Kommunikationsprotokoll oder Kombinationen davon.
  • 3 zeigt eine Beispielanwendungsschnittstelle 300, die zur Optimierung einer oder mehrerer Bildverarbeitungseinstellungen für einen Bildverarbeitungsauftrag verwendet wird, gemäß den hier beschriebenen Ausführungsformen. Im Allgemeinen kann die Beispielanwendungsschnittstelle 300 eine Schnittstelle einer intelligenten Bildgebungsanwendung (z. B. intelligente Bildgebungsanwendung 116) darstellen, auf die ein Benutzer über eine Benutzer-Computervorrichtung (z. B. Benutzer-Computervorrichtung 102) zugreifen kann. Insbesondere kann die Beispielanwendungsschnittstelle 300 einem Benutzer eine Liste aller verfügbaren Vorrichtungen (z. B. Bildgebungsvorrichtung 104) präsentieren, mit denen ein Benutzer Bildverarbeitungsaufträge verbinden und/oder erstellen kann, wenn der Benutzer die Vorrichtungsanzeige-Registerkarte 302 auswählt. Von hier aus kann der Benutzer die Vorrichtungsauswahlliste 304 einsehen, in der jede angeschlossene Vorrichtung angezeigt wird, auf die der Benutzer zugreifen kann, und die außerdem Informationen wie beispielsweise einen Vorrichtungsnamen, eine Vorrichtungsmodellnummer, eine der Vorrichtung entsprechende IP-Adresse, eine Vorrichtungsseriennummer, ein Herstellungsdatum der Vorrichtung, einen Firmware-Status Vorrichtung, einen Online-Status der Vorrichtung und/oder jede andere geeignete Angabe enthalten kann.
  • Der Benutzer kann dann eine Vorrichtung aus der Vorrichtungsauswahlliste 304 auswählen, die durch die Anzeige für die ausgewählte Vorrichtung 306 gekennzeichnet ist, mit der Absicht, einige Einstellungen der Vorrichtung zu konfigurieren und/oder anderweitig anzuzeigen. Die Anzeige für die ausgewählte Vorrichtung 306 kann den Vorrichtungsnamen und den Online-Status der Vorrichtung anzeigen und kann zusätzlich oder alternativ andere Informationen zu der Vorrichtung enthalten. Bei Auswahl der in der Anzeige für die ausgewählte Vorrichtung 306 angegebenen Vorrichtung kann die intelligente Bildgebungsanwendung 116 zusätzlich eine Liste der ausgewählten Vorrichtungskonfiguration 308 innerhalb der Beispielanwendungsschnittstelle 300 anzeigen. Die Liste der ausgewählten Vorrichtungskonfiguration 308 kann eine Vielzahl von Informationen über die ausgewählte Vorrichtung enthalten, wie z. B. eine allgemeine Übersicht über die ausgewählte Vorrichtung (z. B. Firmware-Updates, Bibliotheks-Updates usw.), eine Übersicht über die ausgewählten Vorrichtungslizenzen (z. B. DHCP-Timeout(s), IP-Adress-Fallback usw.), eine Übersicht über die ausgewählte Vorrichtungskommunikation (z. B. verfügbare Verbindungstypen, aktueller Verbindungstyp usw.), eine Übersicht über den ausgewählten Vorrichtungsstatus (z. B. Objektivtyp, Beleuchtungstyp usw.) und/oder andere geeignete Informationen oder Kombinationen davon.
  • Darüber hinaus kann die Liste der ausgewählten Vorrichtungskonfiguration 308 einen Hinweis auf die ausgeführten, gespeicherten und/oder anderweitig mit der ausgewählten Vorrichtung verbundenen Bildverarbeitungsaufträge enthalten. Zum Beispiel kann die Liste der ausgewählten Vorrichtungskonfiguration 308 anzeigen, dass die ausgewählte Vorrichtung so konfiguriert ist, dass sie gemäß einem ersten Bildverarbeitungsauftrag arbeitet, der zu einem ersten Zeitpunkt auf die ausgewählte Vorrichtung hochgeladen wurde (z. B. „Hochgeladen um 10:00 Uhr am 10.10.18“). Die Auflistung der ausgewählten Vorrichtungskonfiguration 308 kann zusätzlich angeben, dass der erste Bildverarbeitungsauftrag eine erste Konfiguration von einer oder mehreren Bildeinstellungen, die der ausgewählten Vorrichtung entsprechen, und eine zweite Konfiguration der einen oder mehreren Bildeinstellungen, die der ausgewählten Vorrichtung entsprechen, enthält. Jede der einen oder mehreren Bildeinstellungen, die in der ersten und zweiten Konfiguration enthalten sind, kann zusätzlich in der Liste der ausgewählten Vorrichtungskonfiguration 308 angezeigt werden.
  • Die Beispielanwendungsschnittstelle 300 kann zusätzlich eine Funktion 310 zum Hinzufügen von Vorrichtungen enthalten, die es einem Benutzer ermöglicht, zusätzliche Vorrichtungen hinzuzufügen, die beispielsweise nicht in der Vorrichtungsauswahlliste 304 enthalten sind. Wenn ein Benutzer eine neue Vorrichtung erwirbt, wie z. B. eine Bildgebungsvorrichtung (z. B. Bildgebungsvorrichtung 104), kann der Benutzer klicken, wischen und/oder anderweitig mit der Funktion 310 zum Hinzufügen von Vorrichtungen interagieren, um die neue Vorrichtung zur Vorrichtungsauswahlliste 304 hinzuzufügen. Darüber hinaus kann der Benutzer, sobald die neue Vorrichtung hinzugefügt wurde, mit den Vorrichtungseinrichtungsfunktionen 312A/B interagieren, um die der neuen Vorrichtung entsprechenden Einstellungen zu konfigurieren und/oder anderweitig anzuzeigen. Dementsprechend kann der Benutzer jederzeit, nachdem eine Vorrichtung zur Vorrichtungsauswahlliste 304 hinzugefügt wurde, mit den Vorrichtungseinrichtungsfunktionen 312A/B interagieren, um die Vorrichtungseinstellungen anzupassen, anzuzeigen oder anderweitig zu verwalten.
  • Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 116, wenn der Benutzer mit den Einrichtungsfunktionen 312A/B interagiert, eine neue Schnittstelle generieren/wiedergeben, die es dem Benutzer ermöglicht, einen Bildverarbeitungsauftrag für die ausgewählte Vorrichtung zu konfigurieren (z. B. wie durch die Anzeige der ausgewählten Vorrichtung 306 angezeigt). Der Benutzer kann die intelligente Bildgebungsanwendung 116 zusätzlich veranlassen, die neue Schnittstelle zu erzeugen/anzuzeigen, indem er mit der Auftragserstellungs-Registerkarte 314 interagiert. Auf diese Weise kann der Benutzer die Beispielanwendungsschnittstelle 300 verlassen, um einen Bildverarbeitungsauftrag zu konfigurieren, der der ausgewählten Vorrichtung entspricht, indem er entweder mit der Vorrichtungseinrichtungsfunktion 312A/B oder mit der Auftragserstellungs-Registerkarte 314 interagiert.
  • 4A zeigt eine zusätzliche Anwendungsschnittstelle, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag verwendet wird, gemäß den hierin beschriebenen Ausführungsformen. Beispielsweise kann die intelligente Bildgebungsanwendung (z. B. die intelligente Bildgebungsanwendung 116) nach der Interaktion mit der Auftragserstellungs-Registerkarte (z. B. die Auftragserstellungs-Registerkarte 314) und/oder der Vorrichtungseinrichtungsfunktion für die (z. B. die Vorrichtungseinrichtungsfunktion 312A/B) den Benutzer zu einer Auftragskonstruktions-Anwendungsschnittstelle 400 weiterleiten. Im Allgemeinen kann der Benutzer die Auftragskonstruktions-Anwendungsschnittstelle 400 verwenden, um Bildverarbeitungswerkzeuge in einer bestimmten Reihenfolge zu organisieren und zu konfigurieren, die einen entsprechenden Bildverarbeitungsauftrag definiert. Der Benutzer kann die Auftragskonstruktions-Anwendungsschnittstelle 400 außerdem dazu verwenden, den jeweiligen Bildverarbeitungsauftrag zur Auswertung und Ausführung auf eine Bildgebungsvorrichtung (z. B. die Bildgebungsvorrichtung 104) hochzuladen.
  • Um einen Bildverarbeitungsauftrag zu erstellen, kann der Benutzer Werkzeuge auswählen, die für die Ausführung von Bildverarbeitungsfunktionen konfiguriert sind. Der Benutzer kann ein Werkzeug auswählen, indem er klickt, wischt, zieht und/oder auf andere Weise mit der Liste der verfügbaren Werkzeuge 402 interagiert. Jedes Werkzeug kann in einer Dropdown-Liste (wie abgebildet) der Liste der verfügbaren Werkzeuge 402 enthalten sein, oder es kann für den Benutzer in der Liste der verfügbaren Werkzeuge 402 deutlich sichtbar sein. In jedem Fall kann der Benutzer ein gewünschtes Werkzeug auswählen und in den Auftragsablauf-Aufbauschnitt 404 verschieben, um mit der Erstellung eines Bildverarbeitungsauftrags zu beginnen. Im Auftragsablauf-Aufbauschnitt 404 kann der Benutzer jedes ausgewählte Werkzeug in eine optimale/bevorzugte Reihenfolge bringen, die auf den Anforderungen des Bildverarbeitungsauftrags basiert. Außerdem kann der Benutzer jedes Werkzeug so konfigurieren, dass es die Anforderungen des Bildverarbeitungsauftrags besser erfüllt. So kann der Benutzer beispielsweise ein aus der Liste der verfügbaren Werkzeuge 402 ausgewähltes Strichcode-Scanwerkzeug so konfigurieren, dass es einen größeren/kleineren Bereich der von der ausgewählten Vorrichtung (z. B. der Bildgebungsvorrichtung 104) erfassten Bilder scannt.
  • Der Benutzer kann auch ein repräsentatives Bild aus dem Auftragsfilmstreifen 406 auswählen, um die Konfiguration der ausgewählten Werkzeuge abzuschließen. Der Auftragsfilmstreifen 406 kann Echtzeitbilder von der ausgewählten Vorrichtung enthalten, oder es kann sich um gespeicherte Bilder handeln (z. B. in einem oder mehreren Speichern 110, 120), die für eine ideale Bilderfassung für den Bildverarbeitungsauftrag repräsentativ sind. Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 116 den Auftragsfilmstreifen 406 auf der Grundlage der ausgewählten Werkzeuge im Auftragsablauf-Aufbauschnitt 404 automatisch ausfüllen. Nach der Auswahl kann das repräsentative Bild in einem größeren Bereich oberhalb des Auftragsfilmstreifens 406 erscheinen, der es dem Benutzer ermöglicht, Werkzeug-ROIs 408 über dem repräsentativen Bild zu platzieren. Ein Werkzeug-ROI 408 zeigt einen Bereich des repräsentativen Bildes an, den das durch den Werkzeug-ROI 408 dargestellte Werkzeug mit einer Bildverarbeitungstechnik analysieren kann. Wenn der Werkzeug-ROI 408 beispielsweise den ROI eines Strichcode-Scanners darstellt, dann scannt das Strichcode-Scannerwerkzeug nach einem Strichcode innerhalb des Bereichs des repräsentativen Bildes, der durch den Werkzeug-ROI 408 angezeigt wird.
  • Wenn der Benutzer sich nicht für ein geeignetes Werkzeug für einen Bildverarbeitungsauftrag entscheiden kann, kann der Benutzer klicken, wischen und/oder anderweitig mit der Auftragskonstruktions-Anwendungsschnittstelle 400 interagieren, und die intelligente Bildgebungsanwendung 116 kann den Werkzeuginformationsbereich 410 erzeugen/wiedergeben. Die intelligente Bildgebungsanwendung 116 kann dem Benutzer häufig verwendete Werkzeugvorschläge, Werkzeugtypvorschläge, Beschreibungen jedes im Werkzeuginformationsbereich 410 enthaltenen Werkzeugs und/oder andere geeignete Informationen oder Kombinationen davon bereitstellen. Zum Beispiel kann die intelligente Bildgebungsanwendung 116 einem Benutzer eine Option im Werkzeuginformationsbereich 410 zur Verfügung stellen, um nach einem bestimmten Werkzeug zu suchen, indem er einen Namen, eine Funktion oder eine andere repräsentative Eigenschaft des Werkzeugs eintippt, spricht und/oder anderweitig angibt.
  • Wenn der Benutzer ein oder mehrere Werkzeuge ausgewählt und/oder besteht und somit einen Bildverarbeitungsauftrag erstellt hat, ermöglicht der Auftragsbereitstellungsschalter 412 dem Benutzer, den Bildverarbeitungsauftrag auf die ausgewählte Vorrichtung (z. B. die Bildgebungsvorrichtung 104) hochzuladen. Die intelligente Bildgebungsanwendung 116 kann die Benutzerinteraktion mit dem Auftragsbereitstellungsschalter 412 registrieren und den Bildverarbeitungsauftrag in eine Auftragsdatei umwandeln, die dann (z. B. über das Netzwerk 106) an die ausgewählte Vorrichtung übertragen wird. Der Bildverarbeitungsauftrag kann auch im Speicher (z. B. in einem oder mehreren Speichern 110, 120) abgelegt werden. Der Benutzer kann den hochgeladenen Bildverarbeitungsauftrag zusätzlich in den aktiven/inaktiven Zustand versetzen, indem er mit dem Auftragsbereitstellungsschalter 412 interagiert. Danach kann der Benutzer die mit dem Bildverarbeitungsauftrag verbundenen Konfigurationen/Einstellungen anpassen, indem er auf den Bildverarbeitungsauftrag zugreift und mit dem einen oder den mehreren Werkzeugen in der Liste der verfügbaren Werkzeuge 402 und/oder dem Auftragsablauf-Aufbauschnitt 404, den Bildern im Auftragsfilmstreifen 406, den Werkzeug-ROIs 408 und/oder durch die Optionen im Werkzeuginformationsbereich 410 interagiert.
  • In verschiedenen Ausführungsformen ermöglicht es die Auftragskonstruktions-Anwendungsschnittstelle 400 einem Benutzer, mehrere Bildverarbeitungsaufträge zu konstruieren, die nacheinander für eine ausgewählte Vorrichtung (z. B. die Bildverarbeitungsvorrichtung 104) ausgeführt werden. Beispielsweise kann die Auftragskonstruktions-Anwendungsschnittstelle 400 es einem Benutzer ermöglichen, einen ersten Bildverarbeitungsauftrag zu konstruieren, der einen ersten Satz von Werkzeugen umfasst, die die Konfiguration der ausgewählten Vorrichtung an eine erste Konfiguration anpassen. Die erste Konfiguration kann eine oder mehrere Bildgebungseinstellungen der ausgewählten Vorrichtung umfassen, wie z. B. eine Blendengröße, eine Belichtungslänge, einen ISO-Wert und/oder jeden anderen geeigneten Wert oder Kombinationen davon. Die Auftragskonstruktions-Anwendungsschnittstelle 400 kann es dem Benutzer auch ermöglichen, einen zweiten Bildverarbeitungsauftrag zu konstruieren, der einen zweiten Satz von Werkzeugen umfasst, die die Konfiguration der ausgewählten Vorrichtung an eine zweite Konfiguration anpassen. Der zweite Satz von Werkzeugen kann derselbe oder ein anderer sein als der erste Satz von Werkzeugen, und die zweite Konfiguration kann dieselbe oder eine andere sein als die erste Konfiguration. In jedem Fall kann die intelligente Bildgebungsanwendung 116 beide Bildverarbeitungsaufträge an die ausgewählte Vorrichtung übertragen und beide Bildverarbeitungsaufträge im Speicher (z. B. in einem oder mehreren Speichern 110, 120) speichern. Danach kann die ausgewählte Vorrichtung nacheinander den ersten Bildverarbeitungsauftrag und den zweiten Bildverarbeitungsauftrag automatisch ausführen, z. B. mindestens ein Bild gemäß der ersten Konfiguration erfassen, sich automatisch an die zweite Konfiguration anpassen und mindestens ein Bild gemäß der zweiten Konfiguration erfassen.
  • Der Benutzer kann jedoch den Wunsch haben, die spezifische Funktionalität jedes Werkzeugs zu konfigurieren, das in den Auftragsaufbau-Ablaufabschnitt 404 eingebunden ist. Wie in 4B dargestellt, kann der Benutzer mit einem Werkzeug im Auftragsaufbau-Ablaufabschnitt 404 oder einem anderen Bereich der Auftragskonstruktions-Anwendungsschnittstelle 400 interagieren, und die intelligente Bildgebungsanwendung 116 kann die Werkzeugkonfigurations-Anwendungsschnittstelle 420 erzeugen/wiedergeben. Die Werkzeugkonfigurations-Anwendungsschnittstelle 420 kann es einem Benutzer ermöglichen, die spezifische Funktionalität jedes in einem Bildverarbeitungsauftrag enthaltenen Werkzeugs über die vom Benutzer auswählbaren Optionen im Werkzeugkonfigurationsbereich 422 anzupassen. Der Werkzeugkonfigurationsbereich 422 kann beispielsweise Werkzeugkonfigurationsoptionen enthalten, wie z. B. einen Werkzeugmodellbereichstyp, einen Werkzeugnamen, eine Werkzeugbefestigung, einen Werkzeugbildtyp, einen Werkzeugakzeptanzschwellenwert, einen Werkzeugrotationsschwellenwert, eine Werkzeugzeitüberschreitung und/oder jede andere geeignete Werkzeugkonfigurationsoption. Zur Veranschaulichung kann ein Benutzer den Werkzeugrotationsschwellenwert entsprechend des Werkzeug-ROI 408 auf der Grundlage der relativ minimalen Drehung der Kappe des im Bild dargestellten Zielobjekts 424 konfigurieren. Auf diese Weise ermöglicht es die intelligente Bildgebungsanwendung 116 dem Benutzer, die Auswahl, die Reihenfolge und die individuelle Konfiguration jedes in einem Bildverarbeitungsauftrag enthaltenen Werkzeugs vollständig anzupassen.
  • In verschiedenen Ausführungsformen können ein oder mehrere Werkzeuge, die im Auftragsaufbau-Ablaufabschnitt 404 enthalten sind, auf künstlicher Intelligenz (AI) basierende Werkzeuge sein, die mit mindestens einem AI-Algorithmus trainiert werden. Beispielsweise kann das Trainieren eines Strichcode-Lokalisierungswerkzeugs die Bildanalyse von Hunderten, Tausenden oder Millionen von Trainingsbildern mit Pixeldaten von Objekten mit Strichcodes beinhalten, um die Gewichte des Strichcode-Lokalisierungswerkzeugs und den zugrundeliegenden Algorithmus (z. B. maschinelles Lernen oder Algorithmus der künstlichen Intelligenz) zu konfigurieren, der zur Vorhersage und/oder Klassifizierung von Strichcode-Lokalisierungen in zukünftigen Bildern verwendet wird. In diesem Beispiel können ein oder mehrere Prozessoren einer Computerplattform (z. B. Benutzer-Computervorrichtung 102) die Vielzahl von Trainingsbildern der Objekte mit Strichcodes über ein Computernetzwerk (z. B. Netzwerk 106) empfangen. Die Computerplattform kann auch das Strichcode-Lokalisierungswerkzeug mit den Pixeldaten der Vielzahl von Trainingsbildern trainieren.
  • In verschiedenen Ausführungsformen kann ein Kl-Tool (z. B. ein Kl-Tool zur Lokalisierung von Strichcodes) mit einem überwachten oder nicht überwachten maschinellen Lernprogramm oder Algorithmus trainiert werden. Das maschinelle Lernprogramm oder der Algorithmus kann ein neuronales Netzwerk verwenden, das ein neuronales Faltungsnetzwerk, ein neuronales Tiefenlernnetzwerk oder ein kombiniertes Lernmodul oder -programm sein kann, das in zwei oder mehreren Merkmalen oder Merkmalsdatensätzen (z. B. Pixeldaten) in einem bestimmten Interessenbereich lernt. Die maschinellen Lernprogramme oder -algorithmen können auch natürliche Sprachverarbeitung, semantische Analyse, automatische Schlussfolgerung, Regressionsanalyse, Support-Vector-Machine (SVM)-Analyse, Entscheidungsbaumanalyse, Random-Forest-Analyse, K-Nearest-Neighbour-Analyse, Naive Bayes-Analyse, Clustering, Reinforcement Learning und/oder andere maschinelle Lernalgorithmen und/oder -techniken umfassen. In einigen Ausführungsformen können die auf künstlicher Intelligenz und/oder maschinellem Lernen basierenden Algorithmen in Form einer Bibliothek oder eines Pakets enthalten sein, das auf einer Computerplattform (z. B. der Benutzer-Computervorrichtung 102) ausgeführt wird. Zu den Bibliotheken können zum Beispiel die TENSORFLOW-basierte Bibliothek, die PYTORCH-Bibliothek und/oder die SCIKIT-LEARN-Python-Bibliothek gehören.
  • Das maschinelle Lernen kann die Identifizierung und Erkennung von Mustern in vorhandenen Daten beinhalten (z. B. das Trainieren eines Werkzeugs auf der Grundlage von Pixeldaten von Bildern, die ein oder mehrere Zielobjekte mit Strichcodes enthalten), um die Vorhersage oder Identifizierung für nachfolgende Daten zu erleichtern (z. B. die Verwendung des Werkzeugs für neue Pixeldaten eines neuen Zielobjekts, um zu bestimmen, ob das neue Zielobjekt einen Strichcode enthält und/oder wo sich der Strichcode auf dem neuen Zielobjekt befindet).
  • Modelle des maschinellen Lernens, wie das hierin beschriebene Al-Strichcode-Lokalisierungswerkzeug für einige Ausführungsformen, können auf der Grundlage von Beispieldaten (z. B. „Trainingsdaten“ und zugehörige Pixeldaten) erstellt und trainiert werden, um gültige und zuverlässige Vorhersagen für neue Eingaben, wie Daten oder Eingaben auf Testebene oder Produktionsebene, zu treffen. Beim überwachten maschinellen Lernen kann ein maschinelles Lernprogramm, das auf einem Server, einem Computer oder einem anderen Prozessor läuft, mit Beispieleingaben (z. B. „Merkmalen“) und ihren zugehörigen oder beobachteten Ausgaben (z. B., „Kennzeichnungen“) zur Verfügung gestellt werden, damit das maschinelle Lernprogramm oder der Algorithmus Regeln, Beziehungen, Muster oder anderweitige maschinelle Lern-„modelle“ bestimmen oder entdecken kann, die solche Eingaben (z. B. „Merkmale“) auf die Ausgaben (z. B. „Kennzeichnungen“) abbilden, beispielsweise durch die Bestimmung und/oder Zuweisung von Gewichten oder anderen Metriken für das 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 Computervorrichtung oder einem anderen Prozessor ausgeführte Werkzeug auf der Grundlage der entdeckten Regeln, Beziehungen oder Modelle eine erwartete Ausgabe vorhersagen kann.
  • Beim unüberwachten maschinellen Lernen kann es erforderlich sein, dass der Server, der Computervorrichtung oder der/die andere(n) Prozessor(en) seine eigene Struktur in nicht gekennzeichneten Beispieleingaben findet, wobei beispielsweise mehrere Trainingsiterationen durch den Server, die Computervorrichtung oder den/die andere(n) Prozessor(en) ausgeführt werden, um mehrere Generationen von Werkzeugen zu trainieren, bis ein zufriedenstellendes Werkzeug, z. B. ein Werkzeug, das eine ausreichende Vorhersagegenauigkeit bietet, wenn Daten oder Eingaben auf Testebene oder Produktionsebene vorliegen, erzeugt wird. Die vorliegenden Offenbarungen können eine oder beide dieser überwachten oder nicht überwachten maschinellen Lerntechniken verwenden.
  • Im Allgemeinen umfassen Pixeldaten Punkte oder Quadrate von Daten innerhalb eines Bildes, wobei jeder Punkt oder jedes Quadrat ein einzelner Pixel innerhalb eines Bildes darstellt. Jeder Pixel kann ein bestimmter Ort innerhalb eines Bildes sein. Darüber hinaus kann jeder Pixel eine bestimmte Farbe (oder deren Fehlen) haben. Die Farbe eines Pixels kann durch ein Farbformat und entsprechende Kanaldaten bestimmt werden, die einem bestimmten Pixel zugeordnet sind. Ein gängiges Farbformat ist zum Beispiel das Rot-Grün-Blau (RGB)-Format mit roten, grünen und blauen Kanälen. Das heißt, im RGB-Format werden die Daten eines Pixels durch drei numerische RGB-Komponenten (Rot, Grün, Blau) dargestellt, die als Kanaldaten bezeichnet werden können, um die Farbe des Pixelbereichs innerhalb des Bildes zu manipulieren. In einigen Implementierungen können die drei RGB-Komponenten als drei 8-Bit-Zahlen für jeden Pixel dargestellt werden. Drei 8-Bit-Bytes (ein Byte für jede RGB-Komponente) werden verwendet, um eine 24-Bit-Farbe zu erzeugen. Jede 8-Bit-RGB-Komponente kann 256 mögliche Werte haben, die von 0 bis 255 reichen (d. h. im Basis-2-Binärsystem kann ein 8-Bit-Byte einen von 256 numerischen Werten enthalten, die von 0 bis 255 reichen). Diesen Kanaldaten (R, G und B) kann ein Wert von 0 bis 255 zugewiesen werden, um die Farbe des Pixels festzulegen. So können beispielsweise drei Werte wie (250, 165, 0), d. h. (Rot=250, Grün=165, Blau=0), einen orangefarbenen Pixel bezeichnen. Ein weiteres Beispiel: (Rot=255, Grün=255, Blau=0) bedeutet, dass Rot und Grün jeweils voll gesättigt sind (255 ist so hell, wie 8 Bits sein können) und kein Blau (Null) enthalten ist, so dass die resultierende Farbe Gelb ist. Ein weiteres Beispiel hat die Farbe Schwarz einen RGB-Wert von (Rot=0, Grün=0, Blau=0) und Weiß hat einen RGB-Wert von (Rot=255, Grün=255, Blau=255). Grau hat die Eigenschaft, gleiche oder ähnliche RGB-Werte zu haben. So ist (Rot=220, Grün=220, Blau=220) ein helles Grau (fast weiß) und (Rot=40, Grün=40, Blau=40) ein dunkles Grau (fast schwarz).
  • Auf diese Weise entsteht aus der Zusammensetzung der drei RGB-Werte die endgültige Farbe für einen bestimmten Pixel. Bei einem 24-Bit-RGB-Farbbild mit 3 Bytes kann es 256 Rottöne, 256 Grüntöne und 256 Blautöne geben. Dies ergibt 256x256x256, d. h. 16,7 Millionen mögliche Kombinationen oder Farben für 24-Bit-RGB-Farbbilder. Auf diese Weise zeigt der RGB-Datenwert des Pixels an, wie viel Rot, Grün und Blau der Pixel jeweils enthält. Die drei Farben und Intensitätsstufen werden an diesem Bildpixel, d. h. an dieser Pixelposition auf einem Bildschirm, kombiniert, um einen Bildschirm an dieser Position mit dieser Farbe zu beleuchten. Es sei jedoch verstanden, dass andere Bitgrößen mit weniger oder mehr Bits, z. B. 10 Bits, verwendet werden können, um weniger oder mehr Gesamtfarben und -bereiche zu erhalten.
  • In ihrer Gesamtheit bilden die verschiedenen Pixel, die in einem Gittermuster angeordnet sind, ein digitales Bild (z. B. Pixeldaten 202ap, 202bp und/oder 202cp). Ein einzelnes digitales Bild kann Tausende oder Millionen von Pixeln aufweisen. Bilder können in einer Reihe von Formaten wie JPEG, TIFF, PNG und GIF erfasst, erzeugt, gespeichert und/oder übertragen werden. Diese Formate verwenden Pixel, um das Bild zu speichern.
  • Die Bildanalyse kann das Trainieren eines auf maschinellem Lernen basierenden Werkzeugs (z. B. eines AI-Strichcode-Lokalisierungswerkzeugs) auf Pixeldaten von Bildern umfassen, die ein oder mehrere Zielobjekte mit Strichcodes enthalten. Zusätzlich oder alternativ kann die Bildanalyse die Verwendung eines zuvor trainierten, auf maschinellem Lernen basierenden Werkzeugs umfassen, um auf der Grundlage der Pixeldaten (z. B. einschließlich ihrer RGB-Werte) eines oder mehrerer Bilder, die ein oder mehrere Zielobjekte enthalten, zu bestimmen, ob jedes der einen oder mehreren Zielobjekte einen Strichcode enthält und/oder wo sich der Strichcode auf jedem der einen oder mehreren Zielobjekte befindet. Die Gewichte des Werkzeugs können durch Analyse verschiedener RGB-Werte von Strichcode-Pixeln eines bestimmten Bildes trainiert werden. Beispielsweise können dunkle oder niedrige RGB-Werte (z. B. ein Pixel mit den Werten R=25, G=28, B=31) den typisch schwarz gefärbten Bereich eines Strichcodes anzeigen. Ein hellerer RGB-Wert (z. B. ein Pixel mit R=210, G=234 und B=241) kann den typisch weißen Bereich eines Strichcodes anzeigen (z. B. die Zwischenräume zwischen den schwarzen Strichen oder dem schwarzen Quadrat eines QR-Codes).
  • Wenn eine Reihe von Pixeln in einem analysierten Bereich in gleichmäßiger Abfolge von dunklen oder niedrigen RGB-Werten zu helleren RGB-Werten (oder umgekehrt) übergeht, kann dies auf das Vorhandensein eines Strichcodes hinweisen, der durch die Reihe von Pixeln dargestellt wird. Zum Beispiel kann ein Bild eine Vorderseite eines Zielobjekts zeigen, wobei die Vorderseite einen Strichcode in der Nähe des unteren Bildrandes enthält. Das Al-Strichcode-Lokalisierungswerkzeug kann einen oder mehrere Bereiche des Bildes analysieren, bis das Al-Strichcode-Lokalisierungswerkzeug einen entsprechenden Bereich mit Pixeln analysiert, die den Strichcode des Zielobjekts darstellen. Das Al-Strichcode-Lokalisierungswerkzeug kann erkennen, dass die Pixel auf den Strichcode hinweisen, da die Pixel eine Folge von sehr dunklen RGB-Wert-Pixeln aufweisen können, die mit sehr hellen RGB-Wert-Pixeln kontrastiert werden. Auf diese Weise können Pixeldaten (die z. B. ein oder mehrere Merkmale eines Zielobjekts, wie z. B. den Strichcode eines entsprechenden Zielobjekts, detailliert beschreiben) von Tausenden oder Millionen von Trainingsbildern verwendet werden, um ein maschinelles Lernwerkzeug (z. B. ein KI-Strichcode-Lokalisierungswerkzeug) zu trainieren oder zu verwenden, um das Vorhandensein/die Position eines Strichcodes und/oder jede andere hierin beschriebene geeignete maschinelle Bildverarbeitungstechnik zu bestimmen.
  • 5 ist ein Flussdiagramm, das ein Verfahren 500 zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag gemäß den hierin beschriebenen Ausführungsformen darstellt. Das Verfahren 500 beschreibt verschiedene Verfahren zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag, und die Ausführungsformen des Verfahrens 500 werden nachstehend im Zusammenhang mit 6 erörtert. Im Allgemeinen umfasst das Verfahren 500 zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag das Erkennen eines Initiierungsauslösers für die Erfassung eines ersten Bildes, das Erfassen eines ersten Bildes eines Zielobjekts gemäß einer ersten Konfiguration einer oder mehrerer Bildgebungseinstellungen, das automatische Anpassen der einen oder mehreren Bildgebungseinstellungen an eine zweite Konfiguration und das Erfassen eines zweiten Bildes des Zielobjekts gemäß der zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen. Das Erfassen des ersten Bildes, das automatische Anpassen der Bildgebungseinstellungen und das Erfassen des zweiten Bildes können jeweils mit zusätzlichem Bezug auf 6 erörtert werden.
  • Es sei verstanden, dass die Bildgebungsvorrichtung 104 und/oder die Bildgebungsbaugruppe 126, wie in den 5 und 6 beschrieben, eine einzige Kamera umfassen kann, die so konfiguriert ist, dass sie die verschiedenen hierin beschriebenen Aktionen und Funktionen ausführt. In verschiedenen Ausführungsformen kann die Bildgebungsvorrichtung 104 jedoch auch mehrere Kameras umfassen.
  • Außerdem wird der Einfachheit halber jede Konfiguration der Bildgebungseinstellungen, die in den 5 und 6 beschrieben wird, in Bezug auf einen oder mehrere Sätze von Bildverarbeitungswerkzeugen beschrieben. Beispielsweise kann ein erstes Bild gemäß einer ersten Konfiguration und ein zweites Bild gemäß einer zweiten Konfiguration auf der Grundlage eines oder mehrerer Bildverarbeitungswerkzeuge erfasst werden, die zur Analyse des ersten bzw. zweiten Bildes verwendet werden. Jede Konfiguration der Bildgebungseinstellungen (z. B. die erste Konfiguration, die zweite Konfiguration usw.) kann auch auf der Grundlage eines Abstands zwischen der Bildgebungsvorrichtung 104 und dem Zielobjekt und/oder einer anderen geeigneten Metrik bestimmt werden. Beispielsweise kann das erste Bild gemäß einer ersten Konfiguration und ein zweites Bild gemäß einer zweiten Konfiguration erfasst werden, die auf der Grundlage eines ersten Abstands zwischen der Bildgebungsvorrichtung 104 und dem Zielobjekt bzw. eines zweiten Abstands zwischen der Bildgebungsvorrichtung 104 und dem Zielobjekt bestimmt werden. In diesem und anderen Beispielen, in denen unterschiedliche Metriken und/oder mehr oder weniger Konfigurationen der Bildgebungseinstellungen verwendet werden, kann jedes Bildverarbeitungswerkzeug, das im Bildverarbeitungsauftrag enthalten ist, jede Bilderfassung analysieren.
  • Das Verfahren 500 kann die Erkennung eines Auslösers beinhalten, der einen Bildverarbeitungsauftrag auslöst (Block 502). Im Allgemeinen kann der Auslöser einen Katalysator beschreiben, der die Bildgebungsvorrichtung 104 veranlasst, ein Bild eines Zielobjekts gemäß einem Satz von Bildgebungseinstellungen zu erfassen. Der Initiierungsauslöser kann beispielsweise eine beliebige Aktion, die Erfüllung eines Schwellenwerts, der Abschluss einer Zeitsequenz und/oder ein anderes Ereignis sein, das die Bildgebungsvorrichtung 104 veranlasst, ein Bild eines Zielobjekts zu erfassen. In verschiedenen Ausführungsformen kann der Initiierungsauslöser umfassen, dass das Zielobjekt in ein Sichtfeld (FOV) der Bildgebungsvorrichtung 104 eintritt. In solchen Ausführungsformen kann die Bildgebungsvorrichtung 104 einen Näherungssensor oder eine andere geeignete Vorrichtung enthalten, die so konfiguriert ist, dass sie das Vorhandensein eines Zielobjekts an einem Ort erkennt, den Initiierungsauslöser als Reaktion auf das Erkennen des Vorhandenseins des Zielobjekts erzeugt und den Initiierungsauslöser an die Bildgebungsvorrichtung 104 überträgt, um die Bildgebungsvorrichtung 104 zu veranlassen, ein Bild des Zielobjekts zu erfassen. Block 502 kann zum Beispiel von der Bildgebungsvorrichtung 104 und/oder der Benutzer-Computervorrichtung 102 ausgeführt werden.
  • Darüber hinaus kann der Bildverarbeitungsauftrag im Allgemeinen mindestens ein Bildverarbeitungswerkzeug umfassen, das so konfiguriert ist, dass es mindestens eine Bildverarbeitungstechnik an einem erfassten Bild durchführt. Zur Veranschaulichung können die Bildverarbeitungswerkzeuge ohne Einschränkung (i) ein Strichcode-Scanwerkzeug, (ii) ein Mustervergleichswerkzeug, (iii) ein Kantenerkennungswerkzeug, (iv) ein semantisches Segmentierungswerkzeug, (v) ein Objekterkennungswerkzeug und/oder (vi) ein Objektverfolgungswerkzeug umfassen. Beispielsweise kann der maschinelle Bildverarbeitungsauftrag ein Strichcode-Scanwerkzeug umfassen, das so konfiguriert ist, dass es ein Strichcode-Scanverfahren an einem von der Bildgebungsvorrichtung 104 erfassten Bild durchführt. In verschiedenen Ausführungsformen kann der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge umfassen, die so konfiguriert sind, dass sie eine oder mehrere Bildverarbeitungstechniken an dem ersten Bild und dem zweiten Bild durchführen, wie hierin beschrieben. Darüber hinaus sei verstanden, dass jedes Bildverarbeitungswerkzeug, auf das hierin Bezug genommen wird und/oder das anderweitig hier umfasst ist, mehrere Referenznamen/Bezeichnungen enthalten kann, und dass alle diese Bildverarbeitungswerkzeuge für die Verwendung innerhalb der Ausführungsformen der vorliegenden Offenbarung in Betracht gezogen werden.
  • Das Verfahren 500 kann ferner das Erfassen eines ersten Bildes eines Zielobjekts gemäß einer ersten Konfiguration einer oder mehrerer Bildgebungseinstellungen umfassen (Block 504). Die Bildgebungsvorrichtung 104 kann das erste Bild des Zielobjekts als Reaktion auf das Erkennen/Empfangen des Initiierungsauslösers erfassen. Im Allgemeinen kann die erste Konfiguration der einen oder mehreren Bildgebungseinstellungen optimalen Bildgebungseinstellungen für das erste Bildverarbeitungswerkzeug oder den ersten Satz von Bildverarbeitungswerkzeugen entsprechen, die als Teil des Bildverarbeitungsauftrags ausgeführt werden sollen. Zum Beispiel sei angenommen, dass das erste Bildverarbeitungswerkzeug, das Teil des Bildverarbeitungsauftrags ist, ein Strichcode-Scanner ist, und weiter sei angenommen, dass der Strichcode-Scanner ein Strichcode-Scanverfahren auf einem mit hohem Kontrast erfassten Bild optimal durchführen kann. Die erste Konfiguration der einen oder mehreren Bildgebungseinstellungen kann eine Hochkontrasteinstellung und/oder eine Kombination von Bildgebungseinstellungen umfassen, die so konfiguriert sind, dass ein Hochkontrastbild erzeugt wird. Block 504 kann zum Beispiel von der Bildgebungsvorrichtung 104 ausgeführt werden.
  • Als weiteres Beispiel sei angenommen, dass der erste Satz von Bildverarbeitungswerkzeugen, der in den Bildverarbeitungsauftrag einbezogen ist, ein Strichcode-Scanwerkzeug, ein Kantenerkennungswerkzeug und ein Mustervergleichswerkzeug ist. Weiter sei angenommen, dass das Strichcode-Scanwerkzeug optimal eine Strichcode-Scantechnik auf einem mit hohem Kontrast erfassten Bild durchführen kann, das Kantenerkennungswerkzeug optimal eine Kantenerkennungstechnik auf einem mit mittlerem Kontrast erfassten Bild durchführen kann und das Mustervergleichswerkzeug optimal eine Mustervergleichstechnik auf einem mit hoher Verstärkung erfassten Bild durchführen kann. Die erste Konfiguration der einen oder mehreren Bildgebungseinstellungen kann eine mittlere Kontrasteinstellung, eine hohe Kontrasteinstellung, eine hohe Verstärkungseinstellung und/oder eine Kombination von Bildgebungseinstellungen umfassen, die so konfiguriert sind, dass sie eine Kombination der optimalen Einstellungen für jedes Bildverarbeitungswerkzeug ergeben (z. B. eine oder mehrere „durchschnittliche“ optimale Bildgebungseinstellungen). Zur Veranschaulichung können das Strichcode-Scanwerkzeug, das Kantenerkennungswerkzeug und das Mustervergleichswerkzeug jeweils eine oder mehrere unterschiedliche optimale Bildeinstellungen haben. Wenn jedoch die Bildgebungsvorrichtung 104 das erste Bild mit einer oder mehreren „durchschnittlichen“ optimalen Bildgebungseinstellungen erfasst, kann jedes Werkzeug schnell und effizient seine jeweilige Bildverarbeitungstechnik auf dem ersten Bild durchführen. Auf diese Weise können mehrere Bildverarbeitungswerkzeuge ihre jeweiligen Bildverarbeitungstechniken an einem einzigen Bild durchführen, das mit Bildgebungseinstellungen erfasst wurde, die auf den optimalen Bildgebungseinstellungen eines, einiger oder aller der mehreren Bildverarbeitungswerkzeuge basieren.
  • In verschiedenen Ausführungsformen können die eine oder mehrere Bildgebungseinstellungen eines oder mehrere umfassen von: (i) einer Blendengröße, (ii) einer Belichtungslänge, (iii) einem ISO-Wert, (iv) einem Fokuswert, (v) einem Verstärkungswert und/oder (vi) einer Beleuchtungssteuerung.
  • Es sei verstanden, dass die Bildgebungsvorrichtung 104 oder ein anderes geeignetes Bildgebungssystem die eine oder mehreren Bildgebungseinstellungen automatisch rekonfigurieren kann, damit sie mit der ersten Konfiguration übereinstimmen, und zwar als Echtzeitreaktion auf die Erkennung/den Empfang des Initiierungsauslösers und vor der Erfassung des ersten Bildes. In Bezug auf 6 kann die Bildgebungsvorrichtung 104 zum Beispiel den Initiierungsauslöser erkennen/empfangen, um das erste Bild eines Zielobjekts 602 zu erfassen. Das Zielobjekt 602 kann drei Zielbereiche 602a, 602b und 602c umfassen, die jeweils ein interessantes Merkmal (z. B. einen Strichcode, ein Muster, eine Kante usw.) enthalten. Die Bildgebungsvorrichtung 104 kann auch einen Bildverarbeitungsauftrag im Speicher enthalten, der so konfiguriert ist, dass er bei Erkennung/Empfang des Initiierungsauslösers ausgeführt wird, und/oder die Bildgebungsvorrichtung 104 kann (z. B. über das Netzwerk 106) von einer entfernten Speichervorrichtung (z. B. der Benutzer-Computervorrichtung 102) einen Bildverarbeitungsauftrag herunterladen, der so konfiguriert ist, dass er bei Erkennung/Empfang des Initiierungsauslösers ausgeführt wird. Der Bildverarbeitungsauftrag kann ein oder mehrere Bildverarbeitungswerkzeuge umfassen, und jedes Werkzeug kann einen eindeutigen Satz von Bildgebungseinstellungen enthalten, die dem jeweiligen Werkzeug entsprechen. Wie bereits erwähnt, kann ein Strichcode-Scanner beispielsweise Bilder mit hohem Kontrast erfordern und dementsprechend eine Hochkontrast-Bildeinstellung enthalten, wenn er in einen Bildverarbeitungsauftrag eingebunden ist.
  • In jedem Fall kann die Bildgebungsvorrichtung 104 den Initiierungsauslöser erkennen/empfangen, der die Bildgebungsvorrichtung 104 veranlasst, das erste Bild zu erfassen. Es sei angenommen, dass das erste Bild dem ersten Zielbereich 602a des Zielobjekts 602 entspricht und dass der erste Zielbereich 602a ein entsprechendes Muster enthält. Ferner sei angenommen, dass der Bildverarbeitungsauftrag ein Mustervergleichswerkzeug enthält, das so konfiguriert ist, dass es das jeweilige Muster im ersten Zielbereich 602a identifiziert und analysiert, und dass die Anweisungen in der Auftragsdatei, die dem Mustervergleichswerkzeug entspricht, einen eindeutigen Satz von Bildgebungseinstellungen enthalten, die die Bilderfassungen für die Mustervergleichsanalyse optimieren sollen (in diesem Beispiel die „erste Konfiguration“). Darüber hinaus sei angenommen, dass die Auftragsdatei Anweisungen enthält, die einen ersten Abstand 604a zwischen der Bildgebungsvorrichtung 104 und dem ersten Zielbereich 602a angeben. Vor der Erfassung des ersten Bildes kann die Bildgebungsvorrichtung 104 die in der Auftragsdatei enthaltenen Anweisungen, die dem Mustervergleichswerkzeug und dem ersten Abstand 604a entsprechen, interpretieren und/oder anderweitig empfangen, und als Ergebnis kann die Bildgebungsvorrichtung 104 eine oder mehrere Bildgebungseinstellungen so anpassen, dass sie der in den Anweisungen der Auftragsdatei angegebenen ersten Konfiguration entsprechen. Danach kann die Bildgebungsvorrichtung 104 das erste Bild gemäß der ersten Konfiguration erfassen.
  • Zusätzlich oder alternativ kann die Bildgebungsvorrichtung 104 eine Entfernungsmessvorrichtung und/oder eine andere Abstandsmesseinrichtung enthalten, um den ersten Abstand 604a, den zweiten Abstand 604b, den dritten Abstand 604c und/oder jeden anderen geeigneten Abstand vor der Erfassung des ersten Bildes zu bestimmen. Es sei zum Beispiel angenommen, dass die Auftragsdatei im vorherigen Beispiel keine Anweisungen enthält, die den ersten Abstand 604a angeben. Es sei weiter angenommen, dass die erste Konfiguration angibt, dass die Bildgebungsvorrichtung 104 das erste Bild mit einer mittleren Verstärkungseinstellung erfassen soll, aber keine anderen Bildgebungseinstellungen angibt (z. B. eine Blendengröße, einen Fokuswert usw.), um ein geeignetes Bild des ersten Zielbereichs 602a mit einer mittleren Verstärkungseinstellung bei der ersten Entfernung 604a zu erhalten. In diesem Beispiel kann die Entfernungsmessvorrichtung die erste Entfernung 604a bestimmen und die erste Entfernung an den einen oder die mehreren Prozessoren 118 der Bildgebungsvorrichtung 104 übermitteln. Der eine oder die mehreren Prozessoren 118 können den ersten Abstand gemäß bekannten Bildgebungsbeziehungen analysieren (z. B. führt eine größere Blendengröße zu einer geringeren Schärfentiefe), um spezifische Bildgebungseinstellungen zu bestimmen, um das erste Bild (und/oder jedes nachfolgende Bild) gemäß der ersten Konfiguration (z. B. eine mittlere Verstärkungseinstellung) zu erfassen. So kann die Bildgebungsvorrichtung 104 beispielsweise die Verstärkungseinstellung, die Blendengröße, den Fokuswert und/oder jede andere geeignete Bildgebungseinstellung anpassen, um einen Satz von Bildgebungseinstellungen gemäß der ersten Konfiguration zu erreichen. Es wird deutlich, dass die Bildgebungsvorrichtung 104 auch automatisch geeignete Bildgebungseinstellungen bestimmen kann, um einen Satz von Bildgebungseinstellungen gemäß der ersten Konfiguration, der zweiten Konfiguration, der dritten Konfiguration und/oder anderen Konfigurationen zu erreichen, wenn keine Entfernungsmessvorrichtung und/oder andere Entfernungsmessvorrichtungen vorhanden sind.
  • Das Verfahren 500 kann ferner die automatische Anpassung der einen oder mehreren Bildgebungseinstellungen an eine zweite Konfiguration umfassen, die mindestens eine andere Bildgebungseinstellung als die erste Konfiguration enthält (Block 506). Im Allgemeinen kann die zweite Konfiguration einem oder mehreren Bildverarbeitungswerkzeugen entsprechen, die nicht in der ersten Konfiguration enthalten waren. Beispielsweise kann das erste Bildverarbeitungswerkzeug, das im Bildverarbeitungsauftrag enthalten ist, ein Strichcode-Scanner sein, der für eine optimale Strichcode-Scananalyse Bilder mit hohem Kontrast und mittlerer/geringer Helligkeit benötigt. Dementsprechend kann die erste Konfiguration eine hohe Kontrasteinstellung und eine mittlere/niedrige Helligkeitseinstellung enthalten, die die Bildgebungsvorrichtung 104 veranlasst, das erste Bild des ersten Zielbereichs 604a mit hohem Kontrast und mittlerer/niedriger Helligkeit zu erfassen. Das zweite Bildverarbeitungswerkzeug, das in dem Bildverarbeitungsauftrag enthalten ist, kann jedoch ein Kantenerkennungswerkzeug enthalten, das für eine optimale Kantenerkennungsanalyse Bilder mit mittlerem Kontrast und mittlerer/hoher Helligkeit benötigt. Dementsprechend kann die zweite Konfiguration eine mittlere Kontrasteinstellung und eine mittlere/hohe Helligkeitseinstellung enthalten, was die Bildgebungsvorrichtung 104 veranlasst, den Kontrast und die Helligkeitseinstellungen vor der Erfassung des zweiten Bildes anzupassen. Natürlich können die in der ersten Konfiguration und der zweiten Konfiguration enthaltenen Bildgebungseinstellungen alle geeigneten Bildgebungseinstellungen umfassen. Block 506 kann z. B. von der Bildgebungsvorrichtung 104 ausgeführt werden.
  • In verschiedenen Ausführungsformen kann die Bildgebungsvorrichtung so konfiguriert sein, dass sie die Bildgebungseinstellungen für die Bildgebungsbaugruppe (z. B. die Bildgebungsbaugruppe 126) und alle zusätzlichen Komponenten, die Teil der Bildgebungsvorrichtung sind, automatisch anpasst. So kann die Bildgebungsvorrichtung beispielsweise eine erste Konfiguration als Teil der Auftragsdatei erhalten, die eine kleine Blendengröße und eine mittlere Beleuchtungseinstellung enthält. Die Bildgebungsvorrichtung kann die Blendengröße der Bildgebungsvorrichtung automatisch auf eine kleine Einstellung einstellen und zusätzlich die Beleuchtungseinstellung einer externen und/oder internen Beleuchtungsvorrichtung automatisch auf eine mittlere Einstellung anpassen. Natürlich kann die Bildgebungsvorrichtung in diesen Ausführungsformen so konfiguriert sein, dass sie die Bildgebungseinstellungen im Zusammenhang mit einer beliebigen Anzahl und/oder Art von zusätzlichen Komponenten, die intern/extern als Teil der Bildgebungsvorrichtung enthalten sind, anpasst.
  • Das Verfahren 500 kann ferner das Erfassen eines zweiten Bildes des Zielobjekts gemäß der zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen umfassen (Block 508). Es sei zum Beispiel angenommen, dass ein erster Satz von einem oder mehreren Bildverarbeitungswerkzeugen als Teil der Auftragsdatei eine erste Konfiguration enthält, die die Bildgebungsvorrichtung 104 veranlasst, das erste Bild des Zielobjekts (z. B. Zielobjekt 602) gemäß der ersten Konfiguration zu erfassen. Die Bildgebungsvorrichtung (z. B. die Bildgebungsvorrichtung 104) kann die erste Konfiguration erhalten und die Bildgebungseinstellungen der Bildgebungsvorrichtung entsprechend anpassen. Ferner sei angenommen, dass ein zweiter Satz von einem oder mehreren Bildverarbeitungswerkzeugen als Teil der Auftragsdatei eine zweite Konfiguration mit mindestens einer Bildgebungseinstellung enthält, die sich von der ersten Konfiguration unterscheidet. Die Bildgebungseinstellung kann das erste Bild erfassen und danach die Bildgebungseinstellungen der Bildgebungsvorrichtung automatisch an die zweite Konfiguration anpassen, bevor das zweite Bild erfasst wird. Die Bildgebungsvorrichtung kann dann das zweite Bild gemäß den Bildgebungseinstellungen erfassen, die der zweiten Konfiguration entsprechen. Block 508 kann z. B. von der Bildgebungsvorrichtung 104 ausgeführt werden.
  • Zur Veranschaulichung und unter Bezugnahme auf 6 wird angenommen, dass die Bildgebungsvorrichtung 104 eine Auftragsdatei empfängt, die einen ersten und einen zweiten Satz von Bildverarbeitungswerkzeugen und entsprechende erste und zweite Konfigurationen enthält, die so konfiguriert sind, dass sie ein Bild des ersten bzw. zweiten Zielbereichs 602a bzw. 602b erfassen. Es sei weiter angenommen, dass die erste Konfiguration eine kleine Blendengröße und eine mittlere Helligkeitseinstellung und die zweite Konfiguration eine mittlere Blendengröße und eine hohe Helligkeitseinstellung enthält. In diesem Beispiel kann die Bildgebungsvorrichtung den Initiierungsauslöser erhalten und die Bildgebungseinstellungen der Bildgebungsvorrichtung automatisch auf eine kleine Blendengröße und eine mittlere Helligkeit einstellen, um das erste Bild des ersten Zielbereichs 602a zu erfassen. Es sei verstanden, dass die Bildgebungsvorrichtung alternativ dazu die Bildgebungseinstellungen der Bildgebungsvorrichtung gemäß der ersten Konfiguration automatisch anpassen kann, bevorder Initiierungsauslöser erhalten wird. In jedem Fall kann die Bildgebungsvorrichtung als Reaktion auf die erste Bilderfassung die Bildgebungseinstellungen der Bildgebungsvorrichtung automatisch auf eine mittlere Blendengröße und eine hohe Helligkeitseinstellung einstellen. Dementsprechend kann die Bilderfassungsvorrichtung das zweite Bild des zweiten Zielbereichs 602b mit einer mittleren Blendengröße und einer hohen Helligkeitseinstellung erfassen. Auf diese Weise kann die Bildgebungsvorrichtung 104 ein erstes Bild des ersten Zielbereichs 602a gemäß einer ersten Konfiguration von Bildgebungseinstellungen erfassen, und die Vorrichtung 104 kann ein zweites Bild des zweiten Zielbereichs 602b gemäß einer zweiten Konfiguration von Bildgebungseinstellungen als Reaktion auf einen einzigen Initiierungsauslöser erfassen.
  • Das Verfahren 500 kann ferner das Bestimmen des zweiten Bildes als ein aktuelles Bild (optionaler Block 510) und das Bestimmen umfassen, ob alle Bildeinstellungskonfigurationen angewendet wurden (optionaler Block 512). Die Auftragsdatei mit dem ersten Satz von Bildverarbeitungswerkzeugen und dem zweiten Satz von Bildverarbeitungswerkzeugen kann nämlich eine beliebige Anzahl von Sätzen von Bildverarbeitungswerkzeugen und/oder einzelnen Bildverarbeitungswerkzeugen enthalten, die eine bestimmte Konfiguration von Bildgebungseinstellungen erfordern. Dementsprechend kann die Bildgebungsvorrichtung als Reaktion auf den Initiierungsauslöser jedes kürzlich erfasste Bild als ein aktuelles Bild bezeichnen und bestimmen, ob alle Bildgebungseinstellungskonfigurationen angewandt wurden, so dass alle entsprechenden Bilder erfasst wurden oder nicht. Wenn die Bildgebungsvorrichtung bestimmt, dass nicht alle Bildgebungseinstellungskonfigurationen angewandt wurden (NEIN-Verzweigung des optionalen Blocks 512), kann die Bildgebungsvorrichtung mit der Durchführung der im optionalen Block 514 enthaltenen Aktion(en) fortfahren. Wenn die Bildgebungsvorrichtung bestimmt, dass alle Bildgebungseinstellungskonfigurationen angewendet wurden (JA-Verzweigung des optionalen Blocks 512), kann die Bildgebungsvorrichtung alternativ dazu mit der Durchführung der im optionalen Block 520 enthaltenen Aktion(en) fortfahren. Die optionalen Blöcke 510 und 512 können z. B. von der Bildgebungsvorrichtung 104 durchgeführt werden.
  • Mit Bezug auf 6 sei beispielsweise angenommen, dass eine an die Bildgebungsvorrichtung (z. B. die Bildgebungsvorrichtung 104) übertragene Auftragsdatei drei verschiedene Sätze von Bildverarbeitungswerkzeugen enthält, wobei jeder Satz eine entsprechende Bildgebungseinstellungskonfiguration umfasst. Als Reaktion auf die Erkennung, den Empfang und/oder die anderweitige Wahrnehmung des Initiierungsauslösers kann die Bildgebungsvorrichtung automatisch die Bildgebungseinstellungen gemäß der ersten jeweiligen Konfiguration anpassen und das erste Bild des ersten Zielbereichs 602a erfassen und danach automatisch die Bildgebungseinstellungen gemäß der zweiten jeweiligen Konfiguration anpassen und das zweite Bild des zweiten Zielbereichs 602b erfassen. Die Bildgebungsvorrichtung kann dann das zweite Bild als das aktuelle Bild bezeichnen und bestimmen, dass eine dritte jeweilige Bildgebungseinstellungskonfiguration noch angewendet werden muss. Dementsprechend kann die Bildgebungsvorrichtung bestimmen, dass nicht alle Bildgebungseinstellungskonfigurationen angewendet wurden (NEIN-Verzweigung des optionalen Blocks 512) und mit dem optionalen Block 514 fortfahren.
  • Darüber hinaus kann der Bildverarbeitungsauftrag in verschiedenen Ausführungsformen (z. B. als Teil der Auftragsdatei) eine vorgegebene Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen enthalten. Wie bereits erwähnt, kann der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge umfassen, die jeweils eine entsprechende Konfiguration der einen oder mehreren Bildgebungseinstellungen enthalten. Zusätzlich oder alternativ kann der Bildverarbeitungsauftrag Sätze von Bildverarbeitungswerkzeugen enthalten, wobei jeder Satz eine kombinierte/aggregierte Konfiguration und/oder eine Vielzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen enthalten kann, wie hierin beschrieben. Ferner kann in diesen Ausführungsformen jede Konfiguration der einen oder mehreren Bildgebungseinstellungen, die in dem Bildverarbeitungsauftrag enthalten sind, dieselben Bildverarbeitungswerkzeuge enthalten; die Bildverarbeitungswerkzeugeinstellungen (z. B. die vom Benutzer auswählbaren Optionen im Werkzeugkonfigurationsbereich 422) können jedoch jeweils auf die spezifische Konfiguration zugeschnitten sein. Wenn ein Bildverarbeitungsauftrag beispielsweise drei Konfigurationen der einen oder mehreren Bildgebungseinstellungen enthält, um ein erstes, zweites und drittes Bild des ersten, zweiten bzw. dritten Zielbereichs 602a-c zu erfassen, können die Einstellungen für jedes Bildverarbeitungswerkzeug, das in jeder der ersten, zweiten und dritten Konfigurationen enthalten ist, so angepasst werden, dass ihr individuelles Verarbeitungspotenzial für jede Konfiguration maximiert wird (z. B. das Potenzial für ein Strichcode-Scanwerkzeug, einen Strichcode zu scannen, das Potenzial für ein Mustervergleichswerkzeug, ein Muster zu vergleichen usw.).
  • Das Verfahren 500 kann ferner die automatische Anpassung der einen oder mehreren Bildeinstellungen an eine nachfolgende Konfiguration umfassen (optionaler Block 514). Im Allgemeinen kann jede nachfolgende Konfiguration mindestens eine Bildgebungseinstellung enthalten, die sich von jeder vorherigen Konfiguration der einen oder mehreren Bildgebungseinstellungen unterscheidet. Es sei zum Beispiel angenommen, dass eine jeweilige Konfiguration der einen oder mehreren Bildgebungseinstellungen eine Einstellung für hohen Kontrast, eine kleine Blendengrößeneinstellung und eine kurze Belichtungszeiteinstellung enthält. In diesem Beispiel kann jede andere entsprechende Konfiguration höchstens zwei der Einstellungen „hoher Kontrast“, „kleine Blendengröße“ und „kurze Belichtungszeit“ umfassen, die in der entsprechenden Konfiguration enthalten sind. In Bezug auf das vorherige Beispiel kann die Bildgebungsvorrichtung die Bildgebungseinstellungen der Bildgebungsvorrichtung automatisch von der zweiten jeweiligen Bildgebungseinstellungskonfiguration zur dritten jeweiligen Bildgebungseinstellungskonfiguration anpassen. Der optionale Block 514 kann z. B. von der Bildgebungsvorrichtung 104 durchgeführt werden.
  • Das Verfahren 500 kann ferner das Erfassen eines weiteren Bildes des Zielobjekts gemäß der nachfolgenden Konfiguration der einen oder mehreren Bildgebungseinstellungen umfassen (optionaler Block 516). In Fortsetzung des vorherigen Beispiels kann die Bildgebungsvorrichtung ein drittes Bild des dritten Zielbereichs 602c gemäß der dritten jeweiligen Konfiguration der Bildgebungseinstellungen erfassen. Das Verfahren 500 kann ferner beinhalten, dass das nachfolgende Bild als ein aktuelles Bild bezeichnet wird (optionaler Block 518) und dass zum optionalen Block 512 zurückgekehrt wird. Im vorherigen Beispiel kann die Bildgebungsvorrichtung das dritte Bild als das aktuelle Bild bezeichnen und erneut bestimmen, ob alle Bildverarbeitungseinstellungskonfigurationen angewendet wurden oder nicht. Wenn der Bildverarbeitungsauftrag (z. B. über die Auftragsdatei) eine vierte entsprechende Bildgebungseinstellungskonfiguration enthält, kann die Bildgebungsvorrichtung beispielsweise automatisch die eine oder mehrere Bildgebungseinstellungen gemäß der vierten entsprechenden Bildgebungseinstellungskonfiguration anpassen und ein viertes Bild erfassen. In bestimmten Ausführungsformen kann die Bildgebungsvorrichtung iterativ jede der mit den optionalen Blöcken 512 bis zum optionalen Block 518 verbundenen Aktionen durchführen, bis die Bildgebungsvorrichtung bestimmt, dass alle Bildgebungseinstellungskonfigurationen angewendet wurden (JA-Verzweigung des optionalen Blocks 512). Die optionalen Blöcke 516 und 518 können z. B. von der Bildgebungsvorrichtung 104 ausgeführt werden.
  • Wenn die Bildgebungsvorrichtung bestimmt, dass alle Bildgebungseinstellungskonfigurationen angewandt wurden (JA-Verzweigung des optionalen Blocks 512), kann die Bildgebungsvorrichtung eine oder mehrere Bildverarbeitungstechniken an den erfassten Bildern durchführen (optionaler Block 520). Wie bereits erwähnt, kann der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge enthalten, die jeweils so konfiguriert sind, dass sie ein oder mehrere Bildverarbeitungstechniken an den erfassten Bildern durchführen. Beispielsweise kann der Bildverarbeitungsauftrag ein Strichcode-Scanwerkzeug, ein Mustervergleichswerkzeug, ein Kantenerkennungswerkzeug und/oder jedes andere geeignete Bildverarbeitungswerkzeug oder Kombinationen davon umfassen. So kann die Bildgebungsvorrichtung (als Teil des Bildverarbeitungsauftrags) das Strichcode-Scanwerkzeug auf das erste Bild anwenden, um das erste Bild nach einem Strichcode zu scannen. In ähnlicher Weise kann die Bildverarbeitungsvorrichtung das Mustervergleichswerkzeug und das Kantenerkennungswerkzeug auf das erste Bild anwenden, um ein oder mehrere Muster bzw. eine oder mehrere Kanten zu erkennen. Die Bildgebungsvorrichtung kann diese und/oder andere Bildverarbeitungswerkzeuge zusätzlich auf jedes der erfassten Bilder anwenden (z. B. auf das zweite, dritte, vierte und/oder alle folgenden Bilder). Der optionale Block 520 kann z. B. von der Bildgebungsvorrichtung 104 ausgeführt werden.
  • In verschiedenen Ausführungsformen, in denen eines oder mehrere der Bildverarbeitungswerkzeuge ein KI-Bildverarbeitungswerkzeug ist, kann jedes der erfassten Bilder an der Bildgebungsvorrichtung gesammelt oder aggregiert und von dem Kl-Bildverarbeitungswerkzeug (z. B. einem Kl-Werkzeug wie einem hierin beschriebenen Bildverarbeitungswerkzeug mit maschinellem Lernen) analysiert und/oder zum Trainieren verwendet werden. Jedes dieser Bilder kann Pixeldaten (z. B. RGB-Daten) enthalten, die Merkmalsdaten des Zielobjekts darstellen und jeder der Bildgebungseinstellungskonfigurationen entsprechen, die in dem Bildverarbeitungsauftrag enthalten sind.
  • Das Verfahren 500 kann ferner die Erzeugung eines Ergebnissignals für den Bildverarbeitungsauftrag umfassen (optionaler Block 522). Im Allgemeinen kann der Bildverarbeitungsauftrag ein Ergebnissignal zurückgeben, um einem Benutzer/Bediener anzuzeigen, ob die erfassten Bilder die Schwellenwerte erfüllen und/oder anderweitig zu einer zufriedenstellenden Analyse von jedem der in dem Bildverarbeitungsauftrag enthaltenen Bildverarbeitungswerkzeuge führen oder nicht. Wenn ein einzelnes Bildverarbeitungswerkzeug bei der Analyse eines entsprechenden erfassten Bildes keine zufriedenstellende Analyse liefert und/oder durchführt, kann der Bildverarbeitungsauftrag für das entsprechende erfasste Bild fehlschlagen. Wenn hingegen alle Bildverarbeitungswerkzeuge, die in einem Bildverarbeitungsauftrag für eine bestimmte Konfiguration der einen oder mehreren Bildgebungseinstellungen enthalten sind, eine zufriedenstellende Analyse für ein entsprechendes erfasstes Bild liefern und/oder durchführen, kann der Bildverarbeitungsauftrag für das entsprechende erfasste Bild erfolgreich sein. Infolgedessen kann die Bildgebungsvorrichtung ein Ergebnissignal an den Benutzer/Bediener zurücksenden, um eine Bestanden-Anzeige oder Nichtbestanden-Anzeige des Bildverarbeitungsauftrags darzustellen. Der optionale Block 522 kann z. B. von der Bildgebungsvorrichtung 104 ausgeführt werden.
  • Es sei beispielsweise mit Bezug auf 6 angenommen, dass die Bildgebungsvorrichtung 104 ein erstes Bild des ersten Zielbereichs 602a des Zielobjekts 602 erfasst. Es sei angenommen, dass die Bildverarbeitungswerkzeuge, die das erste Bild analysieren, so konfiguriert sind, dass sie nach einem ersten Strichcode, einem ersten Muster, einer ersten Kante und einem ersten Satz alphanumerischer Zeichen suchen. Weiter sei angenommen, dass jedes Bildverarbeitungswerkzeug eine zufriedenstellende Analyse durchführt, so dass die Bildverarbeitungswerkzeuge, die das erste Bild analysieren, jeden des ersten Strichcodes, des ersten Musters, der ersten Kante und des ersten Satzes alphanumerischer Zeichen erfolgreich identifizieren. Infolgedessen kann die Bildgebungsvorrichtung eine Erfolgsanzeige ausgeben, die dem Benutzer/Bediener angezeigt wird und besagt, dass jedes Bildverarbeitungswerkzeug eine zufriedenstellende Analyse durchgeführt hat.
  • Als weiteres Beispiel sei angenommen, dass die Bildgebungsvorrichtung 104 ein zweites Bild des zweiten Zielbereichs 602b des Zielobjekts 602 erfasst. Es sei angenommen, dass die Bildverarbeitungswerkzeuge, die das zweite Bild analysieren, so konfiguriert sind, dass sie nach einem zweiten Strichcode, einem zweiten Muster, einer zweiten Kante und einem zweiten Satz alphanumerischer Zeichen suchen. Weiter sei angenommen, dass einige der Bildverarbeitungswerkzeuge eine zufriedenstellende Analyse durchführen, so dass die Bildverarbeitungswerkzeuge, die das zweite Bild analysieren, jeden des zweiten Strichcodes, des zweiten Musters und der zweiten Kante erfolgreich identifizieren. Es sei jedoch angenommen, dass mindestens ein Bildverarbeitungswerkzeug keine zufriedenstellende Analyse durchführt, so dass das mindestens eine Bildverarbeitungswerkzeug den zweiten Satz alphanumerischer Zeichen nicht erfolgreich identifiziert. Infolgedessen kann die Bildgebungsvorrichtung eine Fehleranzeige ausgeben, die dem Benutzer/Bediener angezeigt wird und besagt, dass das mindestens eine Bildverarbeitungswerkzeug keine zufriedenstellende Analyse des zweiten Bildes durchgeführt hat.
  • In den oben genannten Beispielen können die Angaben zum Bestehen/Nichtbestehen jede geeignete Information enthalten und in jedem geeigneten Format dargestellt werden. Im Allgemeinen können die Bestanden/Nichtbestanden-Anzeigen alphanumerische Zeichen, Symbole, Icons, Farben, Hervorhebungen, Bilder und/oder andere grafische Darstellungen und/oder andere geeignete Anzeigen oder Kombinationen davon enthalten. So kann beispielsweise die Nichtbestanden-Anzeige des vorherigen Beispiels einen Text enthalten, der anzeigt, dass das mindestens eine Bildverarbeitungswerkzeug den zweiten Satz alphanumerischer Zeichen nicht identifizieren konnte. Als weiteres Beispiel kann die Bestanden-Anzeige des vorherigen Beispiels ein grünes Licht oder ein anderes Symbol (z. B. eine grafische Hand in einer „Daumen hoch“-Konfiguration) enthalten, das anzeigt, dass die Bildverarbeitungswerkzeuge den ersten Strichcode, das erste Muster, den ersten Rand und den ersten Satz alphanumerischer Zeichen eindeutig identifiziert haben. Zusätzlich oder alternativ können die Bestanden/Nichtbestanden-Anzeigen für jedes jeweilige erfasste Bild und/oder Teile davon verwendet und/oder mit einer grafischen Darstellung des jeweiligen erfassten Bildes überlagert werden.
  • Darüber hinaus kann jede der in dem Verfahren 500 beschriebenen Aktionen in beliebiger Reihenfolge, Anzahl oder in jeder anderen Kombination ausgeführt werden, die zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag geeignet ist. Beispielsweise können einige oder alle Blöcke des Verfahrens 500 einmal, mehrmals oder überhaupt nicht vollständig ausgeführt werden.
  • ZUSÄTZLICHE ÜBERLEGUNGEN
  • Die obige Beschreibung bezieht sich auf ein Blockdiagramm in den beigefügten Zeichnungen. Alternative Ausführungsformen des im Blockdiagramm dargestellten Beispiels umfassen ein oder mehrere zusätzliche oder alternative Elemente, Verfahren und/oder Vorrichtungen. Zusätzlich oder alternativ können einer oder mehrere der Beispielblöcke des Diagramms kombiniert, geteilt, neu angeordnet oder weggelassen werden. Die durch die Blöcke des Diagramms dargestellten Komponenten werden durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert. In einigen Beispielen wird mindestens eine der durch die Blöcke dargestellten Komponenten durch eine Logikschaltung implementiert. Wie hierin verwendet, ist der Begriff „Logikschaltung“ ausdrücklich als eine physische Vorrichtung definiert, die mindestens eine Hardwarekomponente enthält, die (z. B. durch 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. Beispiele für Logikschaltungen sind ein oder mehrere Prozessoren, ein oder mehrere Coprozessoren, ein oder mehrere Mikroprozessoren, ein oder mehrere Controller, ein oder mehrere digitale Signalprozessoren (DSPs), ein oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), ein oder mehrere feldprogrammierbare Gate-Arrays (FPGAs), ein oder mehrere Mikrocontroller-Einheiten (MCUs), ein oder mehrere Hardware-Beschleuniger, ein oder mehrere Spezial-Computerchips und ein oder mehrere System-on-Chip-Bauteile (SoC). Einige Beispiel-Logikschaltungen, wie ASICs oder FPGAs, sind speziell konfigurierte Hardware zur Durchführung von Operationen (z. B. eine oder mehrere der hierin beschriebenen und in den Flussdiagrammen dieser Offenbarung dargestellten Operationen, falls solche vorhanden sind). Einige Beispiel-Logikschaltungen umfassen eine Kombination aus speziell konfigurierter Hardware und Hardware, die maschinenlesbare Befehle ausführt. Die obige Beschreibung bezieht sich auf verschiedene hierin beschriebene Operationen und Flussdiagramme, die zur Veranschaulichung des Ablaufs dieser Operationen angehängt werden können. Alle derartigen Flussdiagramme sind repräsentativ für die hierin offenbarten Beispielverfahren. In einigen Beispielen implementieren die durch die Flussdiagramme dargestellten Verfahren die durch die Blockdiagramme dargestellten Vorrichtungen. Alternative Implementierungen der hierin offenbarten Beispielverfahren können zusätzliche oder alternative Operationen umfassen. Darüber hinaus können Operationen alternativer Implementierungen der hierin offenbarten Verfahren kombiniert, geteilt, neu angeordnet oder weggelassen werden. In einigen Beispielen werden die hierin beschriebenen Operationen durch maschinenlesbare Anweisungen (z. B. Software und/oder Firmware) implementiert, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch eine oder mehrere Logikschaltungen (z. B. Prozessor(en)) gespeichert sind. In einigen Beispielen werden die hierin beschriebenen Operationen durch eine oder mehrere Konfigurationen einer oder mehrerer speziell entwickelter Logikschaltungen (z. B. ASIC(s)) implementiert. In einigen Beispielen werden die hierin beschriebenen Operationen durch eine Kombination von speziell entwickelten Logikschaltungen und maschinenlesbaren Anweisungen, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch Logikschaltungen gespeichert sind, implementiert.
  • Wie hierin verwendet, ist jeder der Begriffe „zugreifbares maschinenlesbares Medium“, „nicht-transitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“ ausdrücklich definiert als ein Speichermedium (z. B. eine Platte eines Festplattenlaufwerks, eine Digital Versatile Disc, eine Compact Disc, ein Flash-Speicher, ein Festwertspeicher, ein Speicher mit wahlfreiem Zugriff usw.), auf dem maschinenlesbare Anweisungen (z. B. Programmcode in Form von z. B. 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 mit den maschinenlesbaren Anweisungen verbundenen Programms) und/oder für einen kurzen Zeitraum (z. B. während der Zwischenspeicherung der maschinenlesbaren Anweisungen und/oder während eines Pufferungsprozesses) gespeichert werden). Darüber hinaus sind die Begriffe „zugreifbares, maschinenlesbares Medium“, „nicht-transitorisches, maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“ hierin ausdrücklich so definiert, dass sie die Übertragung von Signalen ausschließen. Das heißt, dass keiner der Begriffe „zugreifbares maschinenlesbares Medium“, „nicht-transitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“, wie sie in den Ansprüchen dieses Patents verwendet werden, so gelesen werden kann, dass sie durch ein sich ausbreitendes Signal implementiert werden.
  • In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne den Schutzumfang der Erfindung, wie sie in den untenstehenden Ansprüchen definiert ist, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren vielmehr in einem illustrativen als in einem einschränkenden Sinne zu betrachten, und alle derartigen Modifikationen sollen im Umfang der vorliegenden Lehren eingeschlossen sein. Darüber hinaus sind die beschriebenen Ausführungsformen/Beispiele/Implementierungen nicht als sich gegenseitig ausschließend zu verstehen, sondern vielmehr als potentiell kombinierbar, wenn solche Kombinationen in irgendeiner Weise permissiv sind. Mit anderen Worten kann jedes Merkmal, das in einer der vorgenannten Ausführungsformen/Beispiele/Implementierungen offenbart wird, in jeder der anderen vorgenannten Ausführungsformen/Beispiele/Implementierungen enthalten sein.
  • Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten oder einer Verstärkung eines Nutzens, eines Vorteils, oder einer Lösung führen können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung ist lediglich durch die angehängten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden und aller Äquivalente der erteilten Ansprüche.
  • Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisend“, „enthält“, „enthaltend“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „konfiguriert“ ist, ist zumindest auch so konfiguriert, kann aber auch auf Arten konfiguriert sein, die nicht aufgeführt sind.
  • Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.

Claims (20)

  1. Verfahren zum Optimieren einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag, wobei das Verfahren umfasst: Erkennen, durch einen oder mehrere Prozessoren, eines den Bildverarbeitungsauftrag auslösenden Initiierungsauslösers; als Reaktion auf das Erkennen des Initiierungsauslösers, Erfassen eines ersten Bildes eines Zielobjekts durch eine Bildgebungsvorrichtung gemäß einer ersten Konfiguration der einen oder mehreren Bildgebungseinstellungen; als Reaktion auf das Erfassen des ersten Bildes des Zielobjekts, automatisches Einstellen der einen oder mehreren Bildgebungseinstellungen durch den einen oder die mehreren Prozessoren auf eine zweite Konfiguration, die mindestens eine von der ersten Konfiguration verschiedene Bildgebungseinstellung umfasst; und Erfassen eines zweiten Bildes des Zielobjekts durch die Bildgebungsvorrichtung gemäß der zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen.
  2. Verfahren nach Anspruch 1, wobei die eine oder mehreren Bildgebungseinstellungen eines oder mehrere umfassen von: (i) einer Blendengröße, (ii) einer Belichtungslänge, (iii) einem ISO-Wert, (iv) einem Fokuswert, (v) einem Verstärkungswert oder (vi) einer Beleuchtungssteuerung.
  3. Verfahren nach Anspruch 1, wobei der Initiierungsauslöser umfasst, dass das Zielobjekt in ein Sichtfeld (FOV) der Bildgebungsvorrichtung eintritt.
  4. Verfahren nach Anspruch 1, wobei die Bildgebungsvorrichtung eine einzelne Kamera umfasst.
  5. Verfahren nach Anspruch 1, wobei der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge umfasst, die so konfiguriert sind, dass sie eine oder mehrere Bildverarbeitungstechniken auf dem ersten Bild und dem zweiten Bild durchführen.
  6. Verfahren nach Anspruch 5, ferner umfassend: Ausführen, durch den einen oder die mehreren Prozessoren, der einen oder mehreren Bildverarbeitungstechniken auf dem ersten Bild und dem zweiten Bild gemäß dem einen oder den mehreren Bildverarbeitungswerkzeugen, die in dem Bildverarbeitungsauftrag enthalten sind; und Erzeugen eines Ergebnissignals durch den einen oder die mehreren Prozessoren, das eine Bestanden-Anzeige oder eine Nichtbestanden-Anzeige für den Bildverarbeitungsauftrag darstellt.
  7. Verfahren nach Anspruch 5, wobei das eine oder die mehreren Bildverarbeitungswerkzeuge mindestens eines umfassen von: (i) einem Strichcode-Scanwerkzeug, (ii) einem Mustervergleichswerkzeug, (iii) einem Kantenerkennungswerkzeug, (iv) einem semantischen Segmentierungswerkzeug, (v) einem Objekterkennungswerkzeug oder (vi) einem Objektverfolgungswerkzeug.
  8. Verfahren nach Anspruch 1, wobei der Bildverarbeitungsauftrag eine vorbestimmte Anzahl von Konfigurationen der einen oder mehreren Bildeinstellungen umfasst.
  9. Das Verfahren nach Anspruch 8, ferner umfassend: (a) Bezeichnen des zweiten Bildes als ein aktuelles Bild; (b) als Reaktion auf das Erfassen des aktuellen Bildes des Zielobjekts, automatisches Einstellen der einen oder mehreren Bildgebungseinstellungen auf eine nachfolgende Konfiguration, die mindestens eine unterschiedliche Bildgebungseinstellung von jeder früheren Konfiguration der einen oder mehreren Bildgebungseinstellungen umfasst; (c) Erfassen eines nachfolgenden Bildes des Zielobjekts durch die Bildgebungsvorrichtung gemäß der nachfolgenden Konfiguration der einen oder mehreren Bildgebungseinstellungen; (d) Bezeichnen des nachfolgenden Bildes als das aktuelle Bild; und (e) iteratives Durchführen der Schritte (b)-(e), bis jede Konfiguration der vorbestimmten Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen verwendet wurde, um mindestens ein Bild des Zielobjekts zu erfassen.
  10. Computersystem zum Optimieren einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag, wobei das System umfasst: eine Bildgebungsvorrichtung, die konfiguriert ist, um: ein erstes Bild eines Zielobjekts gemäß einer ersten Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen, und ein zweites Bild des Zielobjekts gemäß einer zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen; einen oder mehrere Prozessoren; und einen nicht transitorischen, computerlesbaren Speicher, der mit der Bildgebungsvorrichtung und dem einen oder den mehreren Prozessoren gekoppelt ist, wobei der Speicher Anweisungen speichert, die, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, um: einen Initiierungsauslöser zu erkennen, der den Bildverarbeitungsauftrag auslöst, und als Reaktion auf das Erfassen des ersten Bildes des Zielobjekts, die eine oder die mehreren Bildgebungseinstellungen auf die zweite Konfiguration einzustellen, die mindestens eine von der ersten Konfiguration verschiedene Bildgebungseinstellung umfasst.
  11. Computersystem nach Anspruch 10, wobei die eine oder mehreren Bildgebungseinstellungen eines oder mehrere umfassen von: (i) einer Blendengröße, (ii) einer Belichtungslänge, (iii) einem ISO-Wert, (iv) einem Fokuswert, (v) einem Verstärkungswert oder (vi) einer Beleuchtungssteuerung.
  12. Computersystem nach Anspruch 10, wobei der Initiierungsauslöser umfasst, dass das Zielobjekt in ein Sichtfeld (FOV) der Bildgebungsvorrichtung eintritt.
  13. Computersystem nach Anspruch 10, wobei der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge enthält, die so konfiguriert sind, dass sie eine oder mehrere Bildverarbeitungstechniken auf dem ersten Bild und dem zweiten Bild durchführen.
  14. Computersystem nach Anspruch 13, wobei die Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner veranlassen, um: die eine oder mehreren Bildverarbeitungstechniken auf dem ersten Bild und dem zweiten Bild gemäß dem einen oder den mehreren Bildverarbeitungswerkzeugen durchzuführen, die in dem Bildverarbeitungsauftrag enthalten sind; und ein Ergebnissignal zu erzeugen, das eine Bestanden-Anzeige oder eine Nichtbestanden-Anzeige des Bildverarbeitungsauftrags darstellt.
  15. Computersystem nach Anspruch 10, wobei der Bildverarbeitungsauftrag eine vorbestimmte Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen umfasst.
  16. Computersystem nach Anspruch 15, wobei die Anweisungen, wenn sie von dem einen oder den mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner veranlassen, um: (a) das zweite Bild als ein aktuelles Bild zu bezeichnen; (b) als Reaktion auf das Erfassen des aktuellen Bildes des Zielobjekts die eine oder die mehreren Bildgebungseinstellungen auf eine nachfolgende Konfiguration automatisch einzustellen, die mindestens eine unterschiedliche Bildgebungseinstellung von jeder früheren Konfiguration der einen oder mehreren Bildgebungseinstellungen umfasst; (c) ein nachfolgendes Bild des Zielobjekts durch die Bildgebungsvorrichtung gemäß der nachfolgenden Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen; (d) das nachfolgende Bild als das aktuelle Bild zu bezeichnen; und (e) die Schritte (b)-(e) iterativ durchzuführen, bis jede Konfiguration der vorbestimmten Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen verwendet wurde, um mindestens ein Bild des Zielobjekts zu erfassen.
  17. Zugreifbares, maschinenlesbares Medium, das Anweisungen zum Optimieren einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag enthält, die, wenn sie ausgeführt werden, eine Maschine zumindest veranlassen, um: einen Initiierungsauslöser zu erkennen, der den Bildverarbeitungsauftrag auslöst; als Reaktion auf ein Erkennen des Initiierungsauslösers ein erstes Bild eines Zielobjekts durch eine Bildgebungsvorrichtung gemäß einer ersten Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen; als Reaktion auf ein Erfassen des ersten Bildes des Zielobjekts die eine oder mehreren Bildgebungseinstellungen automatisch auf eine zweite Konfiguration einzustellen, die mindestens eine von der ersten Konfiguration verschiedene Bildgebungseinstellung enthält; und ein zweites Bild des Zielobjekts durch die Bildgebungsvorrichtung gemäß der zweiten Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen.
  18. Zugreifbares maschinenlesbares Medium nach Anspruch 17, wobei der Bildverarbeitungsauftrag ein oder mehrere Bildverarbeitungswerkzeuge umfasst, die so konfiguriert sind, dass sie ein oder mehrere Bildverarbeitungstechniken auf dem ersten Bild und dem zweiten Bild durchführen.
  19. Zugreifbares maschinenlesbares Medium nach Anspruch 18, wobei die Anweisungen, wenn sie ausgeführt werden, die Maschine ferner mindestens veranlassen, um: die eine oder die mehreren Bildverarbeitungstechniken auf dem ersten Bild und dem zweiten Bild gemäß dem einen oder den mehreren Bildverarbeitungswerkzeugen durchzuführen, die in dem Bildverarbeitungsauftrag enthalten sind; und ein Ergebnissignal zu erzeugen, das eine Bestanden-Anzeige oder eine Nichtbestanden-Anzeige des Bildverarbeitungsauftrags darstellt.
  20. Zugreifbares maschinenlesbares Medium nach Anspruch 17, wobei der Bildverarbeitungsauftrag eine vorbestimmte Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen enthält, und wobei die Anweisungen, wenn sie ausgeführt werden, die Maschine ferner mindestens veranlassen, um: (a) das zweite Bild als ein aktuelles Bild zu bezeichnen; (b) als Reaktion auf das Erfassen des aktuellen Bildes des Zielobjekts die eine oder die mehreren Bildgebungseinstellungen auf eine nachfolgende Konfiguration automatisch einzustellen, die mindestens eine unterschiedliche Bildgebungseinstellung von jeder früheren Konfiguration der einen oder mehreren Bildgebungseinstellungen umfasst; (c) ein nachfolgendes Bild des Zielobjekts durch die Bildgebungsvorrichtung gemäß der nachfolgenden Konfiguration der einen oder mehreren Bildgebungseinstellungen zu erfassen; (d) das nachfolgende Bild als das aktuelle Bild zu bezeichnen; und (e) die Schritte (b)-(e) iterativ durchzuführen, bis jede Konfiguration der vorbestimmten Anzahl von Konfigurationen der einen oder mehreren Bildgebungseinstellungen verwendet wurde, um mindestens ein Bild des Zielobjekts zu erfassen.
DE102021119128.9A 2020-07-31 2021-07-23 Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag Pending DE102021119128A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/945,498 US11631196B2 (en) 2020-07-31 2020-07-31 Systems and methods to optimize imaging settings for a machine vision job
US16/945,498 2020-07-31

Publications (1)

Publication Number Publication Date
DE102021119128A1 true DE102021119128A1 (de) 2022-02-03

Family

ID=77541048

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021119128.9A Pending DE102021119128A1 (de) 2020-07-31 2021-07-23 Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag

Country Status (4)

Country Link
US (2) US11631196B2 (de)
CN (1) CN114091497A (de)
DE (1) DE102021119128A1 (de)
GB (1) GB2599205B (de)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807305B2 (en) * 2001-01-12 2004-10-19 National Instruments Corporation System and method for image pattern matching using a unified signal transform
US8111938B2 (en) * 2008-12-23 2012-02-07 Mitutoyo Corporation System and method for fast approximate focus
US20110043689A1 (en) * 2009-08-18 2011-02-24 Wesley Kenneth Cobb Field-of-view change detection
DE112012005389T5 (de) * 2011-12-23 2014-09-11 Mitutoyo Corp. "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden
US20150146037A1 (en) * 2013-11-25 2015-05-28 Semiconductor Components Industries, Llc Imaging systems with broadband image pixels for generating monochrome and color images
JP6594666B2 (ja) * 2015-06-01 2019-10-23 オリンパス株式会社 撮像補助装置、撮像装置および撮像補助方法
US9729782B2 (en) 2015-06-05 2017-08-08 Digital Signal Corporation System and method for intelligent camera control
US9830694B2 (en) * 2015-08-31 2017-11-28 Mitutoyo Corporation Multi-level image focus using a tunable lens in a machine vision inspection system
US9819855B2 (en) * 2015-10-21 2017-11-14 Google Inc. Balancing exposure and gain at an electronic device based on device motion and scene distance
US10225511B1 (en) 2015-12-30 2019-03-05 Google Llc Low power framework for controlling image sensor mode in a mobile image capture device
US10964013B2 (en) 2017-01-10 2021-03-30 Kla-Tencor Corporation System, method for training and applying defect classifiers in wafers having deeply stacked layers
US11775952B2 (en) * 2017-02-28 2023-10-03 Ncr Corporation Multi-camera simultaneous imaging for multiple processes
JP7199845B2 (ja) 2018-06-19 2023-01-06 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
KR20210055849A (ko) 2019-11-07 2021-05-18 삼성전자주식회사 전자 장치 및 그 제어 방법
US11122198B2 (en) 2020-01-07 2021-09-14 International Business Machines Corporation Adjusting image capture parameters via machine learning
EP3879811B1 (de) * 2020-03-09 2021-12-15 Axis AB Feststellen, ob eine kamera unfokusiert ist
US11087105B1 (en) 2020-05-15 2021-08-10 Scandit Ag Performance improvements for recognition of optical patterns in images

Also Published As

Publication number Publication date
US20230215046A1 (en) 2023-07-06
GB2599205A (en) 2022-03-30
US20220036586A1 (en) 2022-02-03
CN114091497A (zh) 2022-02-25
GB2599205B (en) 2023-03-01
GB202110553D0 (en) 2021-09-08
US11631196B2 (en) 2023-04-18

Similar Documents

Publication Publication Date Title
DE102018102688A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
DE202013012942U1 (de) Zum Lesen mehrerer decodierbarer Zeichen konfigurierter, mobiler Computer
DE112022001743T5 (de) Systeme und verfahren zur optimierung der bildgebungseinstellungen und der bilderfassung für einen bildverarbeitungsauftrag
DE102020117985B4 (de) Ein alternatives verfahren zur interaktion mit einer benutzerschnittstelle unter verwendung von standard-barcodescannern gepaart mit einem augmented reality heads -up-display
BE1029610B1 (de) Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
DE102022124537A1 (de) Verfahren zur erstellung eines optimierten/adaptiven bereichs von interesse (roi) basierend auf einer erkennung einer strichcodeposition im sichtfeld (fov)
DE112022001773T5 (de) Systeme und Verfahren zur Bestimmung eines adaptiven Bereichs von Interesse (ROI) für die Berechnung von Bildmetriken
DE102021119128A1 (de) Systeme und verfahren zur optimierung von bildgebungseinstellungen für einen bildverarbeitungsauftrag
DE102021119132A1 (de) Systeme und verfahren zur optimierung einer leistung eines bildverarbeitungssystems
DE112021004038T5 (de) Systeme und verfahren zur optimierung einer leistung eines bildverarbeitungssystems
DE112021004030T5 (de) Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird
DE112021004035T5 (de) Systeme und verfahren zur erleichterung einer auswahl von werkzeugen für bildverarbeitungsaufträge
BE1029306B1 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufunktionen
DE102020204761A1 (de) Bewertung der modulationsübertragungsfunktion für rot / klar gefilterte optische geräte
BE1029310B1 (de) Systeme und verfahren zum anreichern eines von einer maschinensicht-kamera aufgenommenen bildinhalts
BE1029309B1 (de) Systeme und verfahren zum optimieren von bilderzeugungseinstellungen und bildaufnahmen für einen maschinensicht-job
DE102021119123A1 (de) SYSTEME UND VERFAHREN ZUM ERZEUGEN VON BILDVERARBEITUNGSAUFTRÄGEN EINSCHLIEßLICH STRICHCODESCANNEN
DE112022002389T5 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufähigkeiten
US20240144632A1 (en) ROI Image Windowing
BE1030440B1 (de) System und verfahren zum auswählen einer bemessungsfunktion und bemessen eines objekts
BE1029311A1 (de) Systeme und verfahren zur interaktion mit überlappenden interessierenden regionen in bildverarbeitungsanwendungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009600000

Ipc: G06K0009780000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009780000

Ipc: G06V0030200000