DE102016114745A1 - Systeme und Verfahren zur Sortierung von Bildaufnahmeeinstellungen zum Muster-Stitching und Decodieren mittels mehrerer aufgenommener Bilder - Google Patents

Systeme und Verfahren zur Sortierung von Bildaufnahmeeinstellungen zum Muster-Stitching und Decodieren mittels mehrerer aufgenommener Bilder Download PDF

Info

Publication number
DE102016114745A1
DE102016114745A1 DE102016114745.1A DE102016114745A DE102016114745A1 DE 102016114745 A1 DE102016114745 A1 DE 102016114745A1 DE 102016114745 A DE102016114745 A DE 102016114745A DE 102016114745 A1 DE102016114745 A1 DE 102016114745A1
Authority
DE
Germany
Prior art keywords
images
settings
image
symbol
capture
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.)
Granted
Application number
DE102016114745.1A
Other languages
English (en)
Other versions
DE102016114745B4 (de
Inventor
Xianju Wang
James A. Negro
David Vekony
Robb Robles
Jozsef Borovszki
Steven G. Webster
Xiangyun Ye
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.)
Cognex Corp
Original Assignee
Cognex 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
Priority claimed from US14/821,920 external-priority patent/US9600703B2/en
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE102016114745A1 publication Critical patent/DE102016114745A1/de
Application granted granted Critical
Publication of DE102016114745B4 publication Critical patent/DE102016114745B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • 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
    • 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
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

Die vorliegende Erfindung betrifft Systeme und Verfahren zum Aufnehmen und Decodieren einer Vielzahl von Bildern. Erste Bilder werden aufgenommen und anschließend in einem Symboldecodierversuch verarbeitet. Beiträge der ersten Bilder zu dem Decodierversuch werden identifiziert. Zumindest teilweise auf Grundlage der Beiträge der ersten Bilder zu dem Decodierversuch wird eine aktualisierte Aufnahmeeinstellungsreihenfolge bestimmt. Zumindest teilweise auf Grundlage der aktualisierten Aufnahmeeinstellungsreihenfolge werden zweite Bilder aufgenommen oder verarbeitet.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung ist eine Continuation-in-Part-Anmeldung der am 15. März 2013 eingereichten geltenden US-Anmeldung 13/843,057, die hiermit durch Verweis aufgenommen ist.
  • ANGABEN ZU STAATLICH GEFÖRDERTER FORSCHUNG UND ENTWICKLUNG
    • Nicht zutreffend.
  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Bilderfassungssysteme und Verfahren zum Decodieren von Bildern und insbesondere Bilderfassungssysteme und Verfahren zum Bestimmen einer Reihenfolge für die Anwendung von Bildaufnahmeeinstellungen während der Aufnahme mehrerer Bilder.
  • Bilderfassungssysteme verwenden Bildaufnahmevorrichtungen, die Kamerasensoren aufweisen, um Informationen bezüglich eines betrachteten Objekts zu liefern. Das System interpretiert die Informationen anschließend anhand einer Vielzahl von Algorithmen, um eine programmierte Entscheidungs- und/oder Identifizierungsfunktion auszuführen. Damit ein Bild im sichtbaren und fast sichtbaren Lichtbereich durch einen Sensor auf effektivste Weise aufgenommen werden kann, wird das Objekt üblicherweise beleuchtet.
  • Das (allgemein auch als „Barcodescannen” bezeichnete) Symbologielesen mittels eines Bilderfassungssensors umfasst das Ausrichten eines Bildaufnahmesensors (CMOS-Kamera, CCD usw.) auf eine Stelle auf einem Objekt, die ein Symbol (z. B. einen „Barcode”) enthält, und das Aufnehmen eines Bilds dieses Symbols. Das Symbol enthält einen Satz von vorbestimmten Muster, die eine geordnete Gruppe von Buchstaben oder Formen darstellen, anhand derer ein angeschlossener Datenprozessor (z. B. ein Microcomputer) nützliche Informationen bezüglich des Objekts (z. B. dessen Seriennummer, Typ, Modell, Preis usw.) ableiten kann. Symbole/Barcodes sind in einer Vielzahl von Formen und Größen verfügbar. Zwei der am häufigsten eingesetzten Symboltypen zur Markierung und Identifizierung von Objekten sind der sogenannte eindimensionale Barcode, der aus einer Reihe von vertikalen Strichen mit unterschiedlicher Breite und unterschiedlichem Abstand besteht, sowie der sogenannte zweidimensionale Barcode, der aus einer zweidimensionalen Anordnung von Punkten oder Rechtecken besteht.
  • Bei vielen Bilderfassungsanwendungen können Oberflächenmerkmale, Beleuchtung, Teilbewegung, Schwingungen oder eine Vielzahl anderer Veränderungen zu individuellen Bildern eines Symbols führen, die für sich allein jeweils teilweise unlesbar sind. Ein Bilderfassungssystem kann zum Beispiel eine Vielzahl von Bildern eines Symbols auf einem Objekt aufnehmen, während sich das Objekt entlang einer Förderlinie bewegt. Bei dieser Anordnung können relative Bewegungen zwischen der Bilderfassungsvorrichtung und dem Objekt sowie andere der Bildanalyse (z. B. wie oben erwähnt) abträgliche Phänomene auftreten. Dementsprechend kann das Symbol in einem oder mehreren Bildern teilweise unlesbar sein.
  • Während der beispielhafte maschinell sehende Detektor beim Durchqueren des Sichtfelds mehrere Bilder des Objekts/Merkmals von Interesse aufnehmen kann, wird jedes Bild individuell zur Durchführung einer Erkennungs- und/oder Auslösefunktion verwendet.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Die vorliegenden Ausführungsformen überwinden die Nachteile des Stands der Technik, indem sie Systeme und Verfahren zum Bestimmen einer Reihenfolge bei der Anwendung von Bildaufnahmeeinstellungen, zum Beispiel Belichtungszeit oder Lichteinstellungen, während der Aufnahme mehrerer Bilder vorsehen, die bei einigen Ausführungsformen der Decodierung von Symboldaten anhand von Informationen aus mehreren Bildern des Symbols nützlich sein können. Es können mehrere Bilder aufgenommen und den Bildern kann ein mit einem Decodierversuch der Bilder verknüpfter Punktwert zugeordnet werden. Daraufhin kann eine Aufnahmeeinstellungstabelle zumindest teilweise auf Grundlage der zugeordneten Punktwerte sortiert werden, wobei eine nachfolgende Aufnahme oder Verarbeitung eines Satzes von Bildern unter Verwendung anderer Bildaufnahmeeinstellungen erfolgt, deren Reihenfolge auf der sortierten Reihenfolge der Aufnahmeeinstellungstabelle basiert.
  • Dementsprechend umfassen einige Ausführungsformen ein Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols. Das Verfahren kann das Erzeugen eines synthetischen Modells des Symbols einschließlich eines Modells einer Vielzahl von bekannten Merkmalen des Symbols umfassen. Mittels einer Bilderfassungsvorrichtung können ein erstes Bild und ein zweites Bild für einen ersten Lesezyklus aufgenommen werden, wobei das erste Bild unter Verwendung erster Aufnahmeeinstellungen aufgenommen wird und eine erste Symboldatenregion umfasst und wobei das zweite Bild unter Verwendung zweiter Aufnahmeeinstellungen aufgenommen wird und eine zweite Symboldatenregion umfasst. Das synthetische Modell des Symbols kann mit dem ersten und dem zweiten Bild verglichen werden, und es können erste bzw. zweite Binärmatrizes extrahiert werden. Die erste Binärmatrix kann zumindest teilweise mit der sekundären Binärmatrix kombiniert und eine kombinierte Binärmatrix erzeugt werden, wobei die kombinierte Binärmatrix eine decodierbare Darstellung des Symbols ist. Es kann ein Symboldecodierversuch zumindest teilweise auf Grundlage der kombinierten Binärmatrix erfolgen. Erste bzw. zweite Beiträge der ersten und zweiten Bilder zu dem Symboldecodierversuch können identifiziert werden. Zumindest teilweise auf Grundlage der ersten und zweiten Beiträge kann eine aktualisierte Aufnahmeeinstellungsreihenfolge für zumindest die ersten und zweiten Aufnahmeeinstellungen bestimmt werden. Die Bilderfassungsvorrichtung kann veranlasst werden, unter Verwendung dritter Aufnahmeeinstellungen, die zumindest teilweise auf Grundlage der aktualisierten Aufnahmeeinstellungsreihenfolge bestimmt werden, ein drittes Bild für einen zweiten Lesezyklus aufzunehmen.
  • Weitere Ausführungsformen umfassen ein weiteres Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols, wobei erste Bilder durch eine Bilderfassungsvorrichtung in einer ersten Aufnahmereihenfolge unter Verwendung einer Ausgangsabfolge jeweiliger Aufnahmeeinstellungen aufgenommen wurden, die zumindest teilweise auf Grundlage einer Ausgangsaufnahmeeinstellungsreihenfolge bestimmt wird. Das Verfahren kann das Verarbeiten der ersten Bilder in einem Symboldecodierversuch zumindest teilweise durch Stitching von Bilddaten zweier oder mehrerer erster Bilder umfassen. Für mindestens eines der zwei oder mehr ersten Bilder, das unter Verwendung mindestens einer der Ausgangsaufnahmeeinstellungen aufgenommen wurde, kann mindestens ein entsprechender Beitrag zu dem Symboldecodierversuch identifiziert werden. Zumindest teilweise auf Grundlage des mindestens einen Beitrags kann eine aktualisierte Aufnahmeeinstellungsreihenfolge für die kollektiven Ausgangsaufnahmeeinstellungen bestimmt werden. Unter Verwendung einer aktualisierten Abfolge zweiter Aufnahmeeinstellungen, die zumindest teilweise auf Grundlage der aktualisierten Aufnahmeeinstellungsreihenfolge bestimmt wird, können zweite Bilder mit der Bilderfassungsvorrichtung aufgenommen werden, oder die zweiten Bilder können in einem Decodierversuch unter Verwendung einer Verarbeitungsreihenfolge, die zumindest teilweise auf Grundlage der aktualisierten Aufnahmeeinstellungsreihenfolge bestimmt wird, verarbeitet werden.
  • In Übereinstimmung mit dem Vorstehenden umfassen einige Ausführungsformen ein System zum Decodieren eines Symbols mittels Bildern des Symbols. Eine Bilderfassungsvorrichtung kann zum Aufnehmen mehrerer Bilder ausgebildet sein, wobei jedes der aufgenommenen Bilder eine jeweilige Symboldatenregion umfasst. Ein mit der Bilderfassungsvorrichtung operativ gekoppelter Prozessor kann dazu ausgebildet sein, eine erste Vielzahl von Bildern für einen ersten Lesezyklus des Systems zu empfangen. Die erste Vielzahl von Bildern kann durch die Bilderfassungsvorrichtung in einer ersten Aufnahmereihenfolge unter Verwendung jeweiliger Aufnahmeeinstellungen aufgenommen werden und erste und zweite Bilder umfassen, die unter Verwendung gemäß einer Ausgangsaufnahmeeinstellungsreihenfolge bestimmter erster bzw. zweiter Aufnahmeeinstellungen aufgenommen werden. Der Prozessor kann des Weiteren dazu ausgebildet sein, einen Daten-Stitching-Algorithmus auszuführen, der das Erzeugen eines synthetischen Modells des Symbols, das ein Modell einer Vielzahl von bekannten Merkmalen des Symbols umfasst, das Vergleichen des synthetischen Modells des Symbols mit zumindest den ersten und zweiten Bildern, das Umwandeln einer ersten Symboldatenregion des ersten Bilds in eine erste Binärmatrix, das Umwandeln einer zweiten Symboldatenregion des zweiten Bilds in eine zweite Binärmatrix und das zumindest teilweise Kombinieren der ersten Binärmatrix mit der zweiten Binärmatrix zur Erzeugung einer kombinierten Binärmatrix, die eine decodierbare Darstellung des Symbols enthält, umfasst. Der Prozessor kann des Weiteren dazu ausgebildet sein, eine Decodierung des Symbols zumindest teilweise auf Grundlage der kombinierten Binärmatrix zu versuchen und eine zweite Vielzahl von Bildern für einen zweiten Lesezyklus des Systems zu empfangen. Die zweite Vielzahl von Bildern kann durch die Bilderfassungsvorrichtung unter Verwendung von gemäß einer aktualisierten Aufnahmeeinstellungsreihenfolge bestimmten aktualisierten Aufnahmeeinstellungen in einer zweiten Aufnahmereihenfolge aufgenommen werden. Die aktualisierte Aufnahmeeinstellungsreihenfolge kann zumindest teilweise auf Grundlage erster bzw. zweiter Beiträge der ersten und zweiten Bilder zu dem Symboldecodierversuch bestimmt werden.
  • Wiederum weitere Ausführungsformen umfassen ein System zum Decodieren eines Symbols mittels Bildern des Symbols. Eine Bilderfassungsvorrichtung kann zum Aufnehmen mehrerer Bilder ausgebildet sein, wobei jedes der aufgenommenen Bilder eine jeweilige Symboldatenregion umfasst. Ein mit der Bilderfassungsvorrichtung operativ gekoppelter Prozessor kann dazu ausgebildet sein, eine erste Vielzahl von Bildern für einen ersten Lesezyklus des Systems zu empfangen. Die erste Vielzahl von Bildern kann durch die Bilderfassungsvorrichtung unter Verwendung jeweiliger Aufnahmeeinstellungen in einer ersten Aufnahmereihenfolge aufgenommen werden und kann unter Verwendung von gemäß einer Ausgangsaufnahmeeinstellungsreihenfolge bestimmten ersten bzw. zweiten Aufnahmeeinstellungen aufgenommene erste und zweite Bilder umfassen. Der Prozessor kann des Weiteren dazu ausgebildet sein, einen Daten-Stitching-Algorithmus auszuführen, der das Erzeugen eines synthetischen Modells des Symbols, das ein Modell einer Vielzahl von bekannten Merkmalen des Symbols umfasst, das Vergleichen des synthetischen Modells des Symbols mit zumindest den ersten und zweiten Bildern, das Umwandeln einer ersten Symboldatenregion des ersten Bilds in eine erste Binärmatrix, das Umwandeln einer zweiten Symboldatenregion des zweiten Bilds in eine zweite Binärmatrix und das zumindest teilweise Kombinieren der ersten Binärmatrix mit der zweiten Binärmatrix zur Erzeugung einer kombinierten Binärmatrix, die eine decodierbare Darstellung des Symbols aufweist, umfasst. Der Prozessor kann des Weiteren dazu ausgebildet sein, eine Decodierung des Symbols zumindest teilweise auf Grundlage der kombinierten Binärmatrix zu versuchen und eine zweite Vielzahl von Bildern für einen zweiten Lesezyklus des Systems zu empfangen. Die zweite Vielzahl von Bildern kann zur Decodierung in einer Verarbeitungsreihenfolge verarbeitet werden, die zumindest teilweise auf Grundlage erster bzw. zweiter Beiträge der ersten und zweiten Bilder zu dem Symboldecodierversuch bestimmt wird.
  • Zur Erfüllung der vorgenannten und verwandter Zwecke umfasst die Erfindung sodann die im Folgenden vollständig beschriebenen Merkmale. Die folgende Beschreibung und die beigefügten Zeichnungen stellen bestimmte erläuternde Aspekte der Erfindung näher dar. Diese Aspekte weisen jedoch nur auf einige wenige der verschiedenen Arten hin, auf welche die Prinzipien der Erfindung umgesetzt werden können. Weitere Aspekte, Vorteile und neue Merkmale der Erfindung ergeben sich aus der nachfolgenden ausführlichen Beschreibung der Erfindung in Zusammenschau mit der Zeichnung.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNG
  • 1 zeigt eine schematische Ansicht einer typischen Konfiguration eines maschinell sehenden Systems mit einem ortsfesten Scanner zum Aufnehmen einer Vielzahl von Bildern eines Objekts nach den vorliegenden Ausführungsformen;
  • 2 bis 7 zeigen Ansichten von verschiedenen 2D-Matrixsymbolmerkmalen und -stilen;
  • 8 zeigt eine Ansicht einer lokalisierten vielversprechenden Kandidatenregion und Hintergrundrauschen in einem Bild;
  • 9 und 10 zeigen ein erstes und ein zweites Bild eines Objekts, die zwei vielversprechende Kandidatenregionen aufweisen;
  • 11 zeigt ein Bild einer Binärmatrix des ersten vielversprechenden Kandidaten in dem ersten Bild nach 9;
  • 12 zeigt ein Bild einer Binärmatrix des zweiten vielversprechenden Kandidaten in dem ersten Bild nach 9;
  • 13 zeigt ein Bild einer Binärmatrix des ersten vielversprechenden Kandidaten in dem ersten Bild nach 10;
  • 14 zeigt ein Bild einer Binärmatrix des zweiten vielversprechenden Kandidaten in dem zweiten Bild nach 10;
  • 15 zeigt ein Bild einer kumulierten Binärmatrix, in der die Binärmatrix des ersten vielversprechenden Kandidaten in dem ersten Bild nach 9 und die Binärmatrix des ersten vielversprechenden Kandidaten in dem zweiten Bild nach 10 gestitcht sind;
  • 16 zeigt ein Bild einer kumulierten Binärmatrix, in der die Binärmatrix des zweiten vielversprechenden Kandidaten in dem ersten Bild nach 9 und die Binärmatrix des zweiten vielversprechenden Kandidaten in dem zweiten Bild nach 10 gestitcht sind;
  • 17 zeigt ein erstes Bild eines Symbols;
  • 18 zeigt ein nachfolgendes bzw. zweites Bild desselben Symbols wie in 17, wobei sich das Symbol leicht bewegt hat;
  • 19 zeigt ein mit einem Korrelationsverfahren verwendbares synthetisches Modell;
  • 20 zeigt die Symbolposition, für welche die Korrelation zwischen dem synthetischen Symbolmodell und dem zweiten Bild innerhalb eines Parameterbereichs von Skalierung und Position am höchsten ist;
  • 21 zeigt eine verfeinerte vielversprechende Region in dem zweiten Bild;
  • 22 zeigt ein erstes Bild eines Symbols unter Hellfeldbeleuchtung mit einer eine beschädigte Datenregion einschließenden vielversprechenden Kandidatenregion;
  • 23 zeigt ein zweites Bild des Symbols nach 22 mit einer unbekannten Polarität;
  • 24 zeigt ein erstes DOH-Bild unter einem Hell-auf-Dunkel-Filter;
  • 25 zeigt ein zweites DOH-Bild unter einem Dunkel-auf-Hell-Filter;
  • 26 zeigt die decodierbaren gestitchten und kumulierten Binärmatrizes aus dem ersten Bild nach 22 und dem zweiten Bild nach 23;
  • 27 zeigt eine schematische Ansicht eines Bildaufnahme- und Punktvergabevorgangs mit einer Aufnahmeeinstellungstabelle;
  • 28 zeigt eine schematische Ansicht eines weiteren Bildaufnahmevorgangs mit der nach einer Ausführungsform der Offenbarung sortierten Aufnahmeeinstellungstabelle nach 27;
  • 29 zeigt eine Tabelle mit einem Index von beispielhaften Bildaufnahmeeinstellungen für einen Punktevergabe-, Tabellensortier- und Bildaufnahmevorgang;
  • 30 zeigt eine Tabelle, die einen Satz von Lesezyklen für mit den Bildaufnahmeeinstellungen aus der Tabelle nach 29 aufgenommene Bilder und Punktevergaben für die Bilder auf Grundlage von Ergebnissen der Lesezyklen;
  • 31 zeigt die Punktvergaben nach 30, die für eine Berechnung von Durchschnittssortierwerten für eine Aufnahmeeinstellungstabelle skaliert sind;
  • 32 zeigt einen exponentiellen gleitenden Durchschnitt von anhand der skalierten Punktevergaben nach 31 berechneten Sortierwerten;
  • 33 zeigt sortierte Reihenfolgen der gemittelten Sortierwerte nach 32;
  • 34 zeigt die sortierten Reihenfolgen nach 32 in einer ersten Tabelle, wobei die zu einer erfolgreichen Symboldecodierung beitragenden Bildaufnahmeeinstellungen in einer zweiten, separaten Tabelle dargestellt sind;
  • 35 zeigt aktualisierte Reihenfolgen für Bildaufnahmeeinstellungen auf Grundlage der ersten und zweiten Tabellen nach 34; und
  • 36 zeigt verschiedene Bildsätze für verschiedene Decodierversuche.
  • Während die Erfindung für verschiedene Modifikationen und alternative Formen empfänglich ist, sind spezifische Ausführungsformen derselben in der Zeichnung beispielhaft gezeigt und sind hier ausführlich beschrieben. Es versteht sich jedoch, dass die vorliegende Beschreibung spezifischer Ausführungsformen die Erfindung nicht auf die entsprechenden offenbarten Formen beschränken soll; vielmehr ist es beabsichtigt, sämtliche Modifikationen, Entsprechungen und Alternativen abzudecken, die unter die Idee und in den in den beigefügten Ansprüchen definierten Geltungsbereich der Erfindung fallen.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Die verschiedenen Aspekte der vorliegenden Erfindung werden im Folgenden mit Bezug auf die beigefügte Zeichnung beschrieben, wobei gleiche Bezugszeichen gleichen Elementen in den verschiedenen Ansichten entsprechen. Es versteht sich jedoch, dass die Zeichnung und die nachfolgende ausführliche Beschreibung den beanspruchten Gegenstand nicht auf die bestimmte offenbarte Form beschränken sollen. Vielmehr ist es beabsichtigt, sämtliche Modifikationen, Entsprechungen und Alternativen abzudecken, die unter die Idee und in den in den beigefügten Ansprüchen definierten Geltungsbereich der Erfindung fallen.
  • In der hier verwendeten Form beziehen sich die Begriffe „Komponente”, „System”, „Vorrichtung” und dergleichen entweder auf Hardware, eine Kombination aus Hardware und Software, Software oder ausgeführte Software. Das hier verwendete Wort „beispielhaft” wird hier in der Bedeutung „als ein Beispiel oder zur Veranschaulichung dienend” verwendet. Jeder Aspekt und jede Gestaltung, die hier als „beispielhaft” beschrieben wird, ist nicht zwingend als gegenüber anderen Aspekten oder Gestaltungen bevorzugt oder vorteilhaft zu interpretieren.
  • Des Weiteren kann der offenbarte Gegenstand mittels Standardprogrammier- und/oder Verfahrenstechnik und/oder Programmierverfahren zur Erzeugung von Hardware, Firmware, Software oder einer beliebigen Kombination derselben zur Steuerung einer elektronikbasierten Vorrichtung zur Umsetzung von hier ausgeführten Aspekten als System, Verfahren, Vorrichtung oder Fertigungsgegenstand umgesetzt werden.
  • Sofern nicht anderweitig spezifiziert oder beschränkt, sind die Begriffe „verbunden” und „gekoppelt” und deren Abwandlungen hier im weitesten Sinne verwendet und umfassen sowohl direkte als auch indirekte Befestigungen, Verbindungen, Stützeinrichtungen und Kopplungen. Des Weiteren sind „verbunden” und „gekoppelt” nicht auf physische oder mechanische Verbindungen oder Kopplungen beschränkt. In der hier verwendeten Form bedeutet „verbunden”, sofern nicht ausdrücklich anderweitig angegeben, dass ein Element/Merkmal direkt oder indirekt und nicht notwendigerweise elektrisch oder mechanisch mit einem anderen Element/Merkmal verbunden ist. Gleichermaßen bedeutet „gekoppelt”, sofern nicht ausdrücklich anderweitig angegeben, dass ein Element/Merkmal direkt oder indirekt und nicht notwendigerweise elektrisch oder mechanisch mit einem anderen Element/Merkmal gekoppelt ist.
  • In der hier verwendeten Form kann der Begriff „Prozessor” einen oder mehrere Prozessoren und Speicher und/oder ein oder mehrere programmierbare Hardwareelemente umfassen. In der hier verwendeten Form soll der Begriff „Prozessor” jeden Typ von Prozessoren, CPUs, Mikrocontrollern, digitalen Signalprozessoren und anderen zur Ausführung von Softwarebefehlen geeigneten Vorrichtungen umfassen.
  • In der hier verwendeten Form umfasst der Begriff „Speicher” ein nichtflüchtiges Medium, z. B. ein magnetisches Medium oder eine Harddisk, einen optischen Speicher oder einen Flash-Speicher; ein flüchtiges Medium, wie Systemspeicher, z. B. RAM, wie z. B. DRAM, SRAM, EDO RAM, RAMBUS RAM, DR DRAM usw.; oder ein Installationsmedium, wie z. B. Softwaremedien, z. B. eine CD-ROM oder Floppy-Disks, auf denen Programme gespeichert und/oder Datenübertragungen gepuffert werden können. Der Begriff „Speicher” kann auch andere Typen von Speichern oder Kombinationen derselben umfassen.
  • Im Folgenden werden Ausführungsformen der Erfindung mittels Diagrammen beschrieben, um die zur Umsetzung der Ausführungsformen der vorliegenden Offenbarung verwendete Struktur oder Verarbeitung von Ausführungsformen zu veranschaulichen. Die derartige Verwendung der Diagramme zur Darstellung von Ausführungsformen der Erfindung soll nicht als deren Geltungsbereich einschränkend interpretiert werden. Gemäß der vorliegenden Erfindung sind sowohl eine elektronische Vorrichtungskonfiguration als auch Systeme und Verfahren zum Stitching und Decodieren von Bildern anhand von aus mehreren aufgenommenen Bildern kombinierten Daten denkbar.
  • Die verschiedenen Ausführungsformen des maschinell sehenden Systems werden in Verbindung mit einem ortsfesten Scanner beschrieben, der zum Scannen eines 2D-Matrixsymbols geeignet und in der Lage ist, ein Symbol zu decodieren, indem er Bereiche von Interesse in einer Vielzahl von Bildern des Symbols lokalisiert, die unlesbare Bereiche umfassen, und die Bereiche von Interesse kombiniert, um ein decodierbares Bild des Symbols zu erzeugen. Dies liegt daran, dass die Merkmale und Vorteile der Erfindung für diesen Zweck gut geeignet sind. Es versteht sich jedoch, dass die verschiedenen Aspekte der Erfindung bei anderen Formen von maschinenlesbaren Symbolen, Bilderfassungssystemen und Bilderfassungsanwendungen, einschließlich robotergesteuerter Scanner, tragbarer Bilderfassungssysteme und jedes anderen Bilderfassungssystems, das Nutzen aus der Fähigkeit zur Decodierung eines Symbols mittels aus mehreren aufgenommenen Bildern kombinierter Daten zu ziehen vermag, Anwendung finden können.
  • 1 zeigt ein veranschaulichendes maschinell sehendes System 30 zur Aufnahme eines oder mehrerer Bilder 32 eines Objekts 34 mit einem maschinenlesbaren Symbol 36. Eine Fördereinrichtung 38 transportiert die Objekte 34 und verursacht eine Relativbewegung zwischen den Objekten 34 und dem Sichtbereich 40 einer Bilderfassungsvorrichtung 42. Beispielhafte maschinell sehende Systeme können als nicht einschränkende Beispiele unter anderem in einer Fertigungslinien-, Test-, Mess-, Automatisierungs- und/oder Steueranwendung eingesetzt werden. Das maschinell sehende System 30 kann Bildaufnahmesoftware 44 verwenden, die zum Ausführen verschiedenster Arten von Bildaufnahmen betrieben werden kann.
  • Die Bilderfassungsvorrichtung 42 kann beispielsweise einen Prozessor 46 zur Bildverarbeitung und Decodierung umfassen. Der Prozessor 46 kann mit einem Vision-Sensor 48 gekoppelt sein und kann entweder Teil des Vision-Sensors 48 oder lokal mit dem Vision-Sensor 48 verknüpft sein. Der Prozessor 46 kann mit der Bildaufnahmesoftware 44 codiert sein oder die Bildaufnahmesoftware 44 kann in einigen Ausführungsformen auf einer separaten Rechenvorrichtung 50 oder einem Prozessor laufen. Die Bildaufnahmesoftware 44 kann unter anderem dazu konfiguriert sein, in einem einzelnen Lesevorgang mehrere Bilder aufzunehmen, die Beleuchtung zu steuern, Bilddaten zu erfassen und die erfassten Bilddaten zu nutzbaren Informationen zu verarbeiten/decodieren.
  • Die Bilderfassungsvorrichtung 42 kann auch ein mit dem Vision-Sensor 48 und/oder dem Prozessor 46 gekoppeltes Speichermedium 52 umfassen. Das Speichermedium 52 kann zum Speichern gescannter oder verarbeiteter Bilder 32 und zum Puffer von Daten und Übertragungen und dergleichen dienen. Es kann auch eine Kommunikationsverbindung 54 mit der Bilderfassungsvorrichtung 42 gekoppelt sein und einen Verbindungspunkt zu einem optionalen Computer 50 bereitstellen. Der Computer 50 kann beispielsweise zum Hochladen und Herunterladen gescannter oder verarbeiteter Bilder 32 dienen. Es versteht sich, dass auch drahtlose Übertragungen denkbar sind. Bei diesem Beispiel kann die Bilderfassungsvorrichtung 42 ein herkömmlicher ortsfester Scanner sein, der in der Lage ist, Steilwinkel- und/oder Flachwinkelbeleuchtung oder eine Kombination aus Steil- und Flachwinkelbeleuchtung bereitzustellen.
  • Mit den verschiedenen hier beschriebenen Ausführungsformen ist es möglich, Bilddaten mehrerer Bilder 32 des Objekts 34 zu kombinieren, um das Decodieren von Symbolen 36 zu ermöglichen, die ansonsten anhand einzelner Bilder nicht decodierbar sind. Die verschiedenen Ausführungsformen werden insbesondere im Zusammenhang mit der Bilderfassung und Decodierung von 2D-Matrixsymbolen beschrieben. Bei diesem Beispiel ist das Symbol 36 auf eine Oberfläche des Objekts 34 aufgebracht, die für gewöhnlich flach ist. Aufgrund der Tatsache, dass das Objekt 34 manchmal teilweise bedeckt oder ungenügend beleuchtet sein kann, oder aus anderen Gründen kann es zur Unlesbarkeit einiger Abschnitte des Symbols 36 kommen.
  • Bezugnehmend auf 2 bis 7 kann ein 2D-Matrixsymbol 56 aus einer oder mehreren Datenregionen 58 bestehen, die nominell quadratische Symbolmodule 60 enthalten, die in einer regelmäßigen Anordnung angelegt sind. Die Datenregion 58 ist teilweise von einem Suchmuster 62 umgeben, das üblicherweise L-förmig ist, und die Datenregion 58 kann an allen vier Seiten von einer Ruhezone 64 umgeben sein. Ein Taktmuster 66 gibt eine Anzahl der Zeilen und Spalten in dem Symbol 36 an. 5 stellt ein Beispiel für ein Dunkel-auf-Hell-2D-Matrixsymbol 56 dar, und 6 stellt ein Beispiel für ein Hell-auf-Dunkel-2D-Matrixsymbl 70 dar. Es können auch Ausrichtungsmuster 72 umfasst sein, die typischerweise bei Symbolen mit einer größeren Anzahl an Feldern verwendet werden (siehe 7).
  • Bildverarbeitungssysteme 30 können Symbollokalisierungssoftware 74 verwenden, die 2D-Matrixsymbole anhand ihrer rechteckigen oder quadratischen Form oder des einzigartigen Suchmusters 62 und Taktmusters 66 zur Lokalisierung vielversprechender Kandidaten lokalisiert. Bei einigen Ausführungsformen können die Bildaufnahmesoftware 44 und die Symbollokalisierungssoftware 74 in eine Softwareanwendung kombiniert sein, und in anderen Ausführungsformen können die Bildaufnahmesoftware 44 und die Symbollokalisierungssoftware 74 separate Softwareanwendungen sein. Die Bildaufnahmesoftware 44 und/oder die Symbollokalisierungssoftware 74 kann/können auf dem Computer 50 oder der Bilderfassungsvorrichtung 42 liegen und ausgeführt werden.
  • Eine Ausführungsform eines Symbollokalisierungsalgorithmus ist im US-Patent Nr. 7,016,539 beschrieben, das hier ausdrücklich aufgenommen ist. Andere Symbollokalisierungsalgorithmen sind verfügbar und ihre Anwendung ist denkbar. Bei der Verwendung kann die Symbollokalisierungssoftware 74 einen Symbolkandidaten durch Suchen nach dem Suchmuster 62 und/oder dem Taktmuster 66 des 2D-Matrixsymbols lokalisieren. Wenn die Datenregion 58 eines Symbols so stark beschädigt ist, dass das Symbol nicht decodierbar ist, kann die Symbollokalisierungssoftware 74 mehrere vielversprechende Kandidatenregionen lokalisieren, die zu einem bestimmten Grad mit den Such- und Taktmustern übereinstimmen. Eine vielversprechende Kandidatenregion kann ein Bereich eines Symbols sein, der lokalisiert, aber aufgrund der unzureichenden Menge nutzbarer Daten in dem Bild nicht decodierbar ist. Eine vielversprechende Kandidatenregion kann als vielversprechend angesehen werden, wenn zum Beispiel mehr als 65 Prozent der Symbolmodule 60 mit einem erwarteten Suchmuster 62, Taktmuster 66 und ggf. Ausrichtungsmuster 72 übereinstimmen.
  • Bezugnehmend auf 8 ist eine vielversprechende Kandidatenregion 76 mittels des Symbollokalisierungsalgorithmus 74 auffindbar. Die übrigen Symbole 78 in dem Bild 80, z. B. Text und Zahlen, können als Hintergrundrauschen angesehen und von der Symbollokalisierungssoftware 74 ignoriert werden, sofern sie keine oder zu wenige der für ein 2D-Matrixsymbol notwendigen Merkmale, wie zum Beispiel ein Suchmuster 62 und ein Taktmuster 66, aufweisen. Wie zuvor beschrieben, kann die Bildaufnahmesoftware 44 mehrere Bilder aufnehmen, so dass die Symbollokalisierungssoftware 74 im Fall einer bis zur Undecodierbarkeit des Symbols beschädigten Datenregion 58 eines Symbols mehrere vielversprechende Kandidatenregionen 76 aus mehreren Bildern abgleichen kann. Bei einigen Ausführungsformen können in den mehreren Bildern verschiedene Bildaufnahmeparameter verwendet werden.
  • Bezugnehmend auf 9 und 10 sind ein erstes Bild 84 und ein zweites Bild 86 gezeigt. Das von einem Objekt aufgenommene erste Bild 84 zeigt zwei vielversprechende Kandidatenregionen 88 und 90. Das zweite Bild 86 ist ein weiteres, von demselben Objekt aufgenommenes Bild und zeigt die zwei selben vielversprechenden Kandidatenregionen 88 und 90, mit dem Unterschied, dass sich die in dem zweiten Bild 86 verfügbaren Bilddaten aus irgendeinem Umstand von den in dem ersten Bild 84 verfügbaren Bilddaten unterscheiden. Die Bilddaten aus diesen beiden Bildern 84 und 86 oder aus einer Vielzahl von Bildern können zur Erzeugung decodierbarer Daten kombiniert werden.
  • Wie in 9 gezeigt, kann die Symbollokalisierungssoftware 74 nicht feststellen, dass die vielversprechende Kandidatenregion 88 eine falsche vielversprechende Region ist, da sie Merkmale enthält, nach denen der Symbollokalisierungsalgorithmus sucht, wie z. B. ein Suchmuster. Diese falsche Kandidatenregion kann zum Beispiel ein Bild von anderen Symbologien, anderem Text oder anderen Texturen sein. Der Symbollokalisierungsalgorithmus 74 kann feststellen, dass die vielversprechende Kandidatenregion 90 ein 2D-Matrixsymbol ist, das eine vielversprechende Datenregion 92 und eine beschädigte Region 94 auf seiner rechten Seite enthält (in der beschädigten Region 94 erscheinen keine Symbolmodule 60).
  • 10 zeigt das zweite Bild 86 der beiden vielversprechenden Kandidatenregionen 88 und 90. In diesem zweiten Bild ist die vielversprechende Kandidatenregion 88 wieder eine falsche vielversprechende Region, da sie zwar Symbole enthält, nach denen die Symbollokalisierungssoftware sucht, die Datenmodule jedoch nicht decodierbar sind. Die Symbollokalisierungssoftware 74 kann wieder feststellen, dass die vielversprechende Kandidatenregion 90 ein 2D-Matrixsymbol ist, das in dem zweiten Bild 86 eine andere vielversprechende Datenregion 96 enthält, die auf ihrer linken Seite eine beschädigte Datenregion 98 umschließt.
  • Um die vielversprechende Kandidatenregion 88 aus dem ersten Bild 84 mit der vielversprechenden Kandidatenregion 88 aus dem zweiten Bild 86 und gleichermaßen die vielversprechende Kandidatenregion 90 aus dem ersten Bild 84 mit der vielversprechenden Kandidatenregion 90 aus dem zweiten Bild 86 zu kombinieren, werden in einem Versuch, decodierbare Daten zu erzeugen, Binärmatrizes der beiden vielversprechenden Kandidatenregionen 88 und 90 erzeugt und mittels eines Daten-Stitching-Algorithmus 100 gestitcht. 11 bis 16 zeigen den Fortschritt der Erzeugung und des Stitchings von Binärmatrizes der vielversprechenden Kandidatenregionen 88 und 90.
  • 11 zeigt eine Binärmatrix 102 der vielversprechenden Kandidatenregion 88, die aus dem ersten Bild 84 erzeugt wurde. 12 zeigt eine Binärmatrix 104 der vielversprechenden Kandidatenregion 90, die ebenfalls aus dem ersten Bild erzeugt wurde. In gleicher Weise zeigt 13 eine Binärmatrix 106 der vielversprechenden Kandidatenregion 88, die aus dem zweiten Bild 86 erzeugt wurde, und 14 zeigt eine Binärmatrix 108 der vielversprechenden Kandidatenregion 90, die ebenfalls aus dem zweiten Bild erzeugt wurde.
  • 15 und 16 zeigen aus dem ersten Bild 84 und dem zweiten Bild 86 für die vielversprechende Kandidatenregion 88 und die vielversprechende Kandidatenregion 90 entwickelte gestitchte Binärmatrizes. In 15 bleiben die gestitchten Binärmatrizes 102 und 106 der vielversprechenden Kandidatenregion 88 aus dem ersten Bild 84 und dem zweiten Bild 88 anhand der kumulierten Binärmatrix 107 undecodierbar. Es sind keine Merkmale wie Suchmuster und/oder Taktmuster durch die Symbollokalisierungssoftware 74 erkennbar. In 16 sind die gestitchten Binärmatrizes 104 und 108 der vielversprechenden Kandidatenregion 90 aus dem ersten Bild 84 und dem zweiten Bild 86 wiederum anhand der kumulierten Binärmatrix 109 decodierbar. Es ist ersichtlich, dass sowohl ein Suchmuster 62 als auch ein Taktmuster 66 durch die Symbollokalisiersoftware 74 erfassbar ist.
  • In einigen Fällen kann sich bei einer Aufnahme einer Vielzahl von Bildern desselben Symbols die Position des Symbols und/oder von vielversprechenden Kandidatenregionen des Symbols zwischen den Bildern verändern. Dies kann an Veränderungen der Beleuchtung oder ebenso gut an einer Bewegung des Objekts liegen. Ausführungsformen der Erfindung treten sich verändernden Positionen eines Symbols in einer Vielzahl von Bildern mittels Korrelation (oder einem anderen Vergleich) zwischen einem synthetischen Modell des Symbols und verfügbaren Symboldaten 110 in einem aktuellen Bild des Symbols entgegen, um die hier als Korrespondenz bezeichnete positive Assoziierung zu finden. Der Daten-Stitching-Algorithmus 100 kann davon ausgehen, dass die Positionsveränderung mittels bekannter affiner Transformationstechniken modelliert werden kann. Wenn die Symbollokalisierungssoftware 74 an nachfolgenden, von demselben Objekt 24 aufgenommenen Bildern (nicht notwendigerweise dem/den nächsten Bild/Bildern) arbeitet, kann die Symbollokalisierungssoftware 74 oder der Daten-Stitching-Algorithmus 100 die Korrespondenz, z. B. die Assoziierung, zwischen der/den zuvor ermittelten vielversprechenden Kandidatenregion(en) und den Symboldaten 110 in dem aktuellen Bild herstellen.
  • 17 zeigt ein erstes Bild 114 und 18 zeigt ein nachfolgendes bzw. zweites Bild 116 desselben Symbols 112, wobei sich das Symbol 112 in dem zweiten Bild 116 gegenüber der Position des Symbols 112 in dem ersten Bild 114 (leicht nach unten und nach links) bewegt hat. Aufgrund dieser Bewegung zwischen dem ersten und dem zweiten Bild 114 und 116 wird eine Korrelation (oder ein anderer Vergleich) zwischen den Bildern entwickelt.
  • Bezugnehmend auf 19 kann nach einer Korrelationstechnik (oder einer anderen Vergleichstechnik) mittels des Daten-Stitching-Algorithmus 100 ein synthetisches Modell 118 erzeugt werden. Das synthetische Modell 118 ist ein Modell bekannter Merkmale eines bestimmten Symbols (bei diesem Beispiel eines 8 × 32 2D-Matrixsymbols). Das synthetische Modell 118 kann unter Verwendung des bekannten Suchmusters 62, Taktmusters 66 und/oder ggf. Ausrichtungsmusters 72 erzeugt werden.
  • Die Korrelation (oder der andere Vergleich) kann nach bekannten Bildanalyseverfahren erfolgen, einschließlich z. B. einer Graustufenbildanalyse oder einer bekannten Analyse am gefilterten Bild. Bei diesem Beispiel wurde die Hesse-Matrix (DOH) zur Erstellung eines Merkmalsatzes verwendet, wobei es sich bei dem Merkmalsatz um verbesserte Punkte 120 handelt. Die DOH ist eine gängige, bekannte Technologie zur Verbesserung von Punkten. Verfahren zum Auffinden der Korrespondenz können auf komplexere Modelle wie z. B. perspektivische Modelle und von der Anwendung und Geschwindigkeitsanforderungen abhängende polynomische Modelle ausgeweitet werden. Unter Verwendung der DOH-Analyse sollten die bekannten Symbolmodule 60 eine höhere DOH-Antwort erzeugen. Der Merkmalsatz kann bei verschiedenen Anwendungen variieren.
  • Bezugnehmend auf 20 kann die Korrespondenz zwischen dem synthetischen Modell 118 und dem bewegten zweiten Bild 116 unter Verwendung des Korrelationsverfahrens (oder eines anderen Vergleichsverfahrens) ermittelt werden. Die Korrespondenz kann durch Maximierung einer Korrelationspunktzahl in einem Parameterbereich einschließlich Skalierung, Winkel und Übersetzung hergestellt werden. Der verschobene Satz 122 von Symbolmodulen 66 zeigt eine höhere DOH-Antwort als die anhand der ersten Symbolregion in dem ersten Bild 114 geschätzten Modulpositionen 124, was auf eine höhere Korrelation mit dem synthetischen Modell 118 hinweist. Der verschobene Satz 122 stellt die anhand der Korrelation des synthetischen Modells 118 mit der DOH-Antwort geschätzten neuen Modulpositionen dar. Bei hergestellter Korrelation mit dem synthetischen Modell 118 kann das zweite Bild 116 schließlich gemäß der Korrelation verfeinert werden, um eine wie in 21 gezeigte verfeinerte vielversprechende Region 126 zu erstellen. Mit dem neuen verfeinerten zweiten Bild 126 kann der Daten-Stitching-Algorithmus 100 wie zuvor beschrieben dazu verwendet werden, die Datenmatrix aus dem ersten Bild 114 und die Datenmatrix aus der verfeinerten vielversprechenden Region 126 zu stitchen. Die jeweilige Zuverlässigkeit der abgefragten Punkte, bei denen es sich jeweils um ein Symbolmodul 66 handelt, kann ermittelt und eine entsprechende kumulierte Binärmatrix 109 (vgl. 16) aktualisiert werden, bis die resultierende kumulierte Binärmatrix 109 decodierbar wird.
  • Bei einigen Ausführungsformen kann der Daten-Stitching-Algorithmus 100 Bilder mit gleichen oder gegensätzlichen Polaritäten analysieren. 22 zeigt ein erstes Bild 128 eines Symbols 130 unter Verwendung einer Hellfeldbeleuchtung mit einer vielversprechenden Kandidatenregion 132 und einer beschädigten Region 134 auf der linken Seite. Wenn ein zweites Bild 140 (siehe 23) aufgenommen wird und die Polarität des zweiten Bilds unbekannt ist, kann der Daten-Stitching-Algorithmus 100 dazu verwendet werden, die Polarität des zweiten Bilds 140 durch Analyse einer vielversprechenden Kandidatenregion in dem zweiten Bild zu ermitteln.
  • Bezugnehmend auf 24 und 25 werden anhand des zweiten Bilds 140 zwei DOH-Bilder erzeugt, ein erstes DOH-Bild 136 mit einem Hell-auf-Dunkel-Filter (24) und ein zweites DOH-Bild 138 mit einem Dunkel-auf-Hell-Filter (25). Wie bereits beschrieben, kann dann ein auf Korrelation basierendes Verfahren sowohl auf das erste DOH-Bild 136 als auch auf das zweite DOH-Bild 138 angewendeten werden, um die Korrespondenz in beiden DOH-Bildern 136 und 138 zu ermitteln. Bei diesem Beispiel ist die Korrelationspunktzahl des ersten DOH-Bilds 136 mit dem Hell-auf-Dunkel-Filter höher als die Korrelationspunktzahl des zweiten DOH-Bilds 138 mit dem Dunkel-auf-Hell-Filter. Auf Grundlage der höheren Korrelationspunktzahl für das erste DOH-Bild 136 mit dem Hell-auf-Dunkel-Filter bestimmt der Daten-Stitching-Algorithmus 100 die Polarität des analysierten zweiten Bilds 140 als Hell-auf-Dunkel.
  • Ist die Polarität bestimmt, kann der Daten-Stitching-Algorithmus 100 dazu übergehen, die Datenmatrix aus dem ersten Bild 128 und die Datenmatrix aus dem analysierten zweiten Bild 140 wie zuvor beschrieben zu stitchen. 26 zeigt ein Bild 146 der decodierbaren gestitchten und kumulierten (oder anderweitig zumindest teilweise kombinierten) Binärmatrizes 142 und 144 aus dem ersten Bild 128 bzw. dem zweiten Bild 140.
  • Bei einigen maschinell sehenden Systemen, wie z. B. dem maschinell sehenden System 30, können verschiedene Bildaufnahmeeinstellungen, wie z. B. Belichtungszeiten oder Lichteinstellungen, für die Bildaufnahme verfügbar sein. Im Allgemeinen können Lichteinstellungen die verschiedenen Merkmale der Beleuchtung für eine bestimmte Bildaufnahme definieren, einschließlich Hellfeld- und Dunkelfeldeinstellungen, Leistungsbereiche (wie sie z. B. für Hellfeld- oder Dunkelfeldeinstellungen angewendet werden), Polaritätswerte usw. Verschiedene Beispiele betreffen hierbei Lichteinstellungen als beispielhafte Bildaufnahmeeinstellungen für verschiedene Lesezyklen. Bei anderen Ausführungsformen können zusätzlich (oder alternativ) andere Bildaufnahmeeinstellungen, wie Belichtungszeiten oder andere Einstellungen verwendet werden.
  • In Abhängigkeit von verschiedenen Faktoren, einschließlich Umgebungsfaktoren im entsprechenden Arbeitsbereich, Verdeckung oder Beschattung von Bildern durch Roboter oder andere Vorrichtungen usw., können unter Verwendung bestimmter Aufnahmeeinstellungen (z. B. Lichteinstellungen) aufgenommene Bilder unter Umständen eher zu erfolgreichen Decodierversuchen beitragen als unter Verwendung anderer Bildaufnahmeeinstellungen aufgenommene Bilder. Es kann dementsprechend nützlich sein, ein Verfahren oder System zum Priorisieren von Bildaufnahmeeinstellungen (und entsprechend von mit diesen Bildaufnahmeeinstellungen aufgenommenen Bildern) zur Verwendung in einem Decodierversuch oder in einer Reihe von Decodierversuchen vorzusehen. Bei einigen Ausführungsformen kann dies beispielsweise ein Verfahren oder System zum Sortieren einer Aufnahmeeinstellungstabelle und zum Bestimmen einer priorisierten Reihenfolge für Bildaufnahmeeinstellungen für einen nachfolgenden Bilderdecodierversuch zumindest teilweise auf Grundlage der sortieren Reihenfolge der Tabelle umfassen. Beispielsweise kann eine Bilderfassungsverwaltungseinrichtung (z. B. ein Verwaltungsmodul in einem Programm zur Bilderfassung und Analyse von Symbolen auf Halbleiterwafern) dazu ausgebildet sein, eine bevorzugte Reihenfolge von Bildaufnahmeeinstellungen für die Bildanalyse zu bestimmen, so dass Bilder für Decodierversuche anhand der Platzierung der zur Aufnahme des Bilds verwendeten Bildaufnahmeeinstellungen in der bevorzugten Reihenfolge ausgewählt werden können.
  • Bei einigen Ausführungsformen können Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) in einer Aufnahmeeinstellungstabelle mit einer Vielzahl von Einträgen gespeichert sein. In diesem Fall kann jeder Eintrag der Aufnahmeeinstellungstabelle beispielsweise mindestens ein Bildaufnahmeeinstellungsfeld (z. B. Lichteinstellungsfeld) umfassen, welches die mit dem entsprechenden Eintrag der Aufnahmeeinstellungstabelle verknüpften jeweiligen Bildaufnahmeeinstellungen (z. B. Lichtmodus, Bildbelichtung, Bildverstärkung oder Bild-Offset) definieren kann.
  • In einigen Ausführungsformen kann ein bestimmter numerischer oder alphanumerischer Code in dem Bildaufnahmeeinstellungsfeld zur Angabe einer bestimmten Lichteinstellung (oder einer anderen Einstellung) für den entsprechenden Tabelleneintrag verwendet werden. Beispielsweise können Lichtmoduscodes wie z. B. BF1, BF2 und BF3 zur Definierung bestimmter Hellfeldmodi dienen, Lichtmoduscodes wie DF1, DF2, DF3, DF4, DF5 und DF6 zur Definierung von Dunkelfeldmodi dienen und Lichtleistungswerte in einem bestimmten numerischen Bereich (z. B. zwischen 0,0 und 127,0) definiert sein. Bei einigen Ausführungsformen kann ein Indexwert (z. B. 1, 2, 3, 4, 5 usw.) für das Bildaufnahmeeinstellungsfeld verschiedener Einträge verwendet werden, wobei ein bestimmter Indexwert einer bestimmten Bildaufnahmeeinstellung (z. B. einer bestimmten Lichteinstellung wie einem bestimmten Hell- oder Dunkelfeldmodus, einer Polarität und einer Leistungseinstellung) entspricht. In diesem Fall kann beispielsweise eine separate Lookup-Tabelle die jeweiligen Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) definieren, die den jeweiligen Indexwerten entsprechen.
  • Bei einigen Ausführungsformen kann eine Abfolge von Bildern mit jeweils einer bestimmten Bildaufnahmeeinstellung (z. B. Lichteinstellung) durch ein Bilderfassungssystem (z. B. das maschinell sehende System 30) aufgenommen werden. Dies kann in einer Vielzahl von Umständen einschließlich während einer anfänglichen Einrichtung oder bei einem nachfolgenden Training oder einer Kalibrierung eines Bilderfassungssystems nützlich sein. Zum Beispiel kann es bei einer Betriebseinrichtung eines Waferidentifikationssystems nützlich sein, wenn das System Bilder unter Verwendung einer Reihe verschiedener Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) aufnimmt, so dass festgestellt werden kann, ob bestimmte Bildaufnahmeeinstellungen zuverlässiger zu einer erfolgreichen Decodierung aufgenommener Bilder beitragen.
  • Bei einigen Ausführungsformen kann eine Abfolge von Bildaufnahmeeinstellungen (z. B. Lichtmoduseinstellungen) für die nachfolgende Bilddecodierung (d. h. eine „aktualisierte Reihenfolge” für die Bildaufnahmeeinstellungen) auf Grundlage der Reihenfolge von Einträgen in einer Aufnahmeeinstellungstabelle definiert werden. Beispielsweise kann die Bilderfassungsverwaltungseinrichtung für einen Symboldecodierversuch anhand eines Satzes von zehn Bildern eine aktualisierte Reihenfolge für Bildaufnahmeeinstellungswerte (z. B. Lichtmoduseinstellungswerte) bestimmen, die den Bildaufnahmeeinstellungsfeldern (z. B. Lichtmoduseinstellungsfeldern) in den ersten zehn Einträgen einer sortierten Aufnahmeeinstellungstabelle entspricht. Dann können für den Decodierversuch zehn Bilder ausgewählt (und ggf. aufgenommen) werden, so dass die Bilder der Reihenfolge nach entsprechende Bildaufnahmeeinstellungen (z. B. Lichtmoduseinstellungen) aus der Aufnahmeeinstellungstabelle aufweisen. Ein erstes Bild kann zum Beispiel auf Grundlage dessen ausgewählt werden, dass das Bild unter Verwendung einer ersten Bildaufnahmeeinstellung (z. B. Lichtmoduseinstellung) aus der sortierten Reihenfolge der Aufnahmeeinstellungstabelle aufgenommen wurde, ein zweites Bild kann auf Grundlage dessen ausgewählt werden, dass es unter Verwendung einer zweiten Bildaufnahmeeinstellung (z. B. Lichtmoduseinstellung) aus der sortierten Reihenfolge der Aufnahmeeinstellungstabelle aufgenommen wurde usw. Bei anderen Ausführungsformen sind auch andere Reihenfolgen oder Arten der Bestimmung einer Bildaufnahmeeinstellung (z. B. Lichtmoduseinstellung) für ein bestimmtes Bild (oder Bilder) möglich.
  • In einigen Ausführungsformen kann die Sortierung einer Aufnahmeeinstellungstabelle auf Grundlage von Decodierversuchen (oder anderen Verarbeitungsversuchen) an bereits aufgenommenen Bildern umgesetzt werden, wobei die resultierende sortierte Reihenfolge der Aufnahmeeinstellungstabelle dazu dient, eine aktualisierte Reihenfolge von Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) für eine nachfolgende Bildanalyse zu definieren. Bezugnehmend auf 27 kann zum Beispiel ein Satz 200 von Bildern (z. B. Bilder 200a, 200b, 200c, 200d usw.) durch das maschinell sehende System 30 aufgenommen werden. Jedes der Bilder des Satzes 200 kann mit einer bestimmten Lichteinstellung aufgenommen werden. Beispielsweise kann eine Bilderfassungsverwaltungseinrichtung 210 so arbeiten, dass sie auf eine als Lichteinstellungstabelle 202 konfigurierte Aufnahmetabelle zugreift und einen Satz oder eine Abfolge von Lichteinstellungen aus der Tabelle 202 an ein Bildaufnahmesystem (z. B. verschiedene Module der Bildaufnahmesoftware 44) überträgt. Das Bildaufnahmesystem kann dann unter Verwendung der durch die Bilderfassungsverwaltungseinrichtung 210 definierten Lichteinstellungen eine sequenzielle (oder anderweitige) Aufnahme des Satzes 200 von Bildern steuern.
  • Bei einigen Ausführungsformen kann ein Satz 200 von Bildern zur Verwendung bei einem bestimmten Lesezyklus (d. h. einem bestimmten Satz von Vorgängen zur Decodierung eines zumindest teilweise in den Bildern enthaltenen Symbols) für das maschinell sehende System 30 aufgenommen werden. Dementsprechend können bei einigen Ausführungsformen alle Bilder in dem Satz 200 auf verschiedene Weise und in verschiedenen Kombinationen gemeinsam verarbeitet werden. Bei anderen Ausführungsformen kann der Satz 200 von Bildern zur Verwendung bei unterschiedlichen Lesezyklen aufgenommen werden, wobei die Bilder dementsprechend auf verschiedene Weise und in verschiedenen Kombinationen separat verarbeitet werden.
  • Im Allgemeinen kann die Lichteinstellungstabelle 202 auf verschiedene Art ausgebildet sein, kann neben Lichteinstellungsdaten verschiedene Arten von Daten (z. B. weitere Bildaufnahmeeinstellungsdaten) umfassen und kann Teil der Bildaufnahmesoftware 44 (oder eines anderen Programms oder Moduls) sein (oder für diese zugänglich sein). Wie dargestellt umfasst die Lichteinstellungstabelle 202 einen Satz von Einträgen 202a bis 202h, die jeweils mindestens ein Lichteinstellungsfeld 204 und ein Sortierwertefeld 206 umfassen. Im Allgemeinen definieren Werte in dem Lichteinstellungsfeld 204 verschiedener Einträge in der Tabelle 202 bestimmte Lichteinstellungen (z. B. Hell-/Dunkelfeld, Leistung usw.), und Werte in den Sortierwertefeldern 206 definieren einen Wert für die Sortierung der Tabelle 202 (z. B. auf Basis einer aufsteigenden oder absteigenden Reihenfolge der Werte in dem Sortierwertefeld 206). Bei anderen Ausführungsformen sind andere Konfigurationen der Tabelle 202 einschließlich Konfigurationen mit zusätzlichen Feldern möglich.
  • Bei dem dargestellten System kann die Bilderfassungsverwaltungseinrichtung 210 so arbeiten, dass sie zur Übertragung von durch das Lichteinstellungsfeld 204 (oder andere Felder) definierten Lichteinstellungen (oder anderen Bildaufnahmeeinstellungen) aus der Lichteinstellungstabelle 202 an die Bildaufnahmesoftware 44 (oder generell an irgendeinen Aspekt des maschinell sehenden Systems 30) auf die Lichteinstellungstabelle 202 zugreift. Auf diese Weise kann die Bildaufnahmesoftware 44 (oder ein anderes System) jeweils bestimmte Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) für die Aufnahme der verschiedenen Bilder des Satzes 200 bestimmen. Gleichermaßen können mit der Bildaufnahmesoftware 44 aufgenommene Bilder auf verschiedene Weise (z. B. mit Metadaten, die mit dem Bild verknüpft sind) markiert werden, um die zur Aufnahme der Bilder verwendeten jeweiligen Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) anzugeben. Mit Lichteinstellungen aus der Tabelle 202 aufgenommene Bilder können zum Beispiel mit einem Wert markiert werden, der den verknüpften Eintrag des Lichteinstellungsfelds 204 (z. B. einen Indexwert oder einen die entsprechenden Lichteinstellungen anderweitig darstellenden Wert) wiedergibt.
  • Die Bilderfassungsverwaltungseinrichtung 210 kann die Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) aus der Tabelle 202 sequenziell als sortierten Satz von Lichteinstellungen oder anderweitig so übertragen, dass die Bilderfassungsverwaltungseinrichtung 210 eine Aufnahmereihenfolge (oder eine andere Reihenfolge) für die Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) sowie die Parameter der Lichteinstellungen (oder anderer Bildaufnahmeeinstellungen) selbst (z. B. Leistung, Hell- oder Dunkelfeld usw.) definieren oder ansonsten eine bestimmte Lichteinstellung (oder eine andere Bildaufnahmeeinstellung) mit einem bestimmten Bild verknüpfen kann. Wie dargestellt kann das Sortierwertefeld 206 zum Beispiel eine dargestellte sortierte Reihenfolge für die Tabelle 202 angeben, wobei Eintrag 202a an der Spitze der Tabelle 202 steht und sich die Einträge der Reihe nach bis zu Eintrag 202h am Ende der Tabelle 202 fortsetzen. Dementsprechend kann die Bildaufnahmesoftware 44 auf Grundlage einer Kommunikation mit der Bilderfassungsverwaltungseinrichtung 210 bestimmen, dass die ersten vier (d. h. die von den Werten für die Einträge 202a bis 202d des Lichteinstellungsfelds 204 angegebenen) Lichteinstellungen der Tabelle 202 jeweils zur Aufnahme der ersten vier Bilder 200a bis 200d des Satzes 200 verwendet werden sollen oder dass die ersten vier Lichteinstellungen der Tabelle 202 den für die Aufnahme der ersten viel Bilder 200a bis 200d verwendeten Lichteinstellungen entsprechen.
  • Die Bilder des Satzes 200 (oder ein Teilsatz derselben) können anschließend jeweils durch die Bildverarbeitungssoftware 44 in einem Versuch der Decodierung von Symbol(en) (z. B. Textbuchstaben oder zweidimensionalen Matrixsymbolen wie z. B. DataMatrix-Symbolen) verarbeitet werden, die in einem oder mehreren Bildern des Satzes 200 enthalten sind. Es können verschiedene Tools zur Decodierung des Symbols/der Symbole der Bilder in dem Satz 200 verwendet werden. Bei einigen Ausführungsformen kann die Decodierverarbeitung beispielsweise ein Tool zum Decodieren eines zweidimensionalen Matrixsymbols (z. B. einen Algorithmus zum Decodieren von DataMatrix-Symbolen) einsetzen. Bei einigen Ausführungsformen kann die Decodierverarbeitung ein OCR-Tool (z. B. einen OCR-Algorithmus) zur Decodierung von Text einsetzen. Bei einigen Ausführungsformen können mehrere Tools verwendet werden. Die Verarbeitung der Bilder des Satzes 200 in einem Decodierversuch an einem Symbol in den Bildern kann beispielsweise das Verarbeiten der Bilder sowohl mit einem Tool zur Decodierung eines zweidimensionalen Matrixsymbols als auch mit einem OCR-Tool umfassen. Verschiedene Bilder (z. B. die Bilder 200a bis 200d) können zur Decodierung sequentiell oder parallel mit einem DataMatrix-Decodiertool 212 und mit einem OCR-Decodiertool 214 verarbeitet werden. Bei einigen Ausführungsformen kann die Verarbeitung zur Decodierung parallel zu einer aktiven Bildaufnahme umgesetzt werden.
  • Bei einigen Ausführungsformen kann die Verarbeitung der Bilder des Satzes 200 eine individuelle Verarbeitung eines Teilsatzes der Bilder in dem Satz 200 mit einem bestimmten Tool (z. B. einem bestimmten Algorithmus) umfassen. Bei einigen Ausführungsformen kann ein Lesezyklus für ein bestimmtes Tool das Verarbeiten mehrerer Bilder einschließlich der separaten Verarbeitung mehrerer Bilder und eine kollektive Verarbeitung verschiedener Kombinationen von Bildern (oder von darin enthaltenen oder daraus abgeleiteten Informationen) umfassen. Wie oben ausführlicher beschrieben, können zum Beispiel Daten aus mehreren Bildern für eine kollektive Verarbeitung gestitcht werden, so dass mehrere Bilder zur Decodierung eines bestimmten Symbols beitragen können.
  • Zwar werden vorliegend in verschiedenen Beschreibung Beispiele für das Stitching von Daten aus mehreren Bildern beschrieben; bei einigen Ausführungsformen können jedoch auch andere Arten der Analyse mehrerer Bilder angewendet werden. Einige Bilder können beispielsweise zur Decodierung von Symbolen analysiert werden, indem die Bilder selbst gestitcht werden. Es versteht sich, dass die vorliegende Beschreibung einer Priorisierung bestimmter Bildaufnahmeeinstellungen, sofern nicht anderweitig begrenzt oder definiert, in einer Vielzahl von Vorgängen Anwendung finden kann, einschließlich in Bildaufnahmesätzen und Symboldecodiervorgängen, die anstelle des Stitchings von Daten von Bildern (oder zusätzlich dazu) das Stitching von Bildern selbst einsetzen.
  • Im Anschluss an die Ausführung eines bestimmten Lesezyklus (z. B. die Verarbeitung in einem Decodierversuch eines Symbols auf einem oder mehreren Bildern des Satzes 200) können bestimmten Bildern auf Grundlage der Verarbeitung der Bilder in dem Lesezyklus Punktwerte zugeordnet (und damit mit der zur Aufnahme dieser Bilder verwendeten Bildaufnahmeeinstellung verknüpft) werden. Im Allgemeinen können solche Punktwerte aus einer vorbestimmten Anzahl von Gesamtpunkten zugeordnet werden, wobei volle Anzahl der Gesamtpunkte auf einen bestimmten Satz von Bildern aufgeteilt wird. Stehen beispielsweise insgesamt 1000 Punkte zur Zuordnung zur Verfügung, können alle 1000 Punkte auf einen Satz von Bildern verteilt werden, wobei verschiedenen Bildern des Satzes auf Grundlage des Beitrags des jeweiligen Bilds zu dem Decodiervorgang eine unterschiedliche Anzahl von Punkten zugeordnet wird.
  • Bei einigen Ausführungsformen können Bildern, die von einem bestimmten Tool zur erfolgreichen Decodierung eines Symbols während eines Lesezyklus verwendet wurden, Punkte zugeordnet werden. Wenn beispielsweise das OCR-Tool 214 während eines Lesezyklus, der eine Analyse eines jeden Bilds des Satzes 200 (oder eines Teilsatzes derselben) umfasst, ein Symbol erfolgreich decodiert, so kann eine vorbestimmte Anzahl von Gesamtpunkten (z. B. 1000 Punkte) auf die Bilder des Satzes 200 (oder einen Teilsatze derselben) aufgeteilt werden, so dass alle vorbestimmten Gesamtpunkte auf den gesamten Satz 200 von Bildern (oder einen Teilsatz derselben) aufgeteilt werden. Die Zuordnung der Punkte kann in einigen Ausführungsformen durch die Bilderfassungsverwaltungseinrichtung 210 oder durch andere Software, Module, Hardware usw. erfolgen.
  • Wenn nur ein einzelnes Bild für einen erfolgreichen Lesezyklus oder Decodierversuch verwendet wird (d. h., wenn eine „einelementige Menge” zu einer erfolgreichen Decodierung führt), kann die gesamte vorbestimmte Anzahl an Gesamtpunkten dem einzelnen Bild zugeordnet werden. Werden mehrere Bilder für einen erfolgreichen Lesezyklus verwendet, so können Punktwerte unter den mehreren Bildern auf verschiedene Weise verteilt werden, einschließlich relativ proportional zu den Beiträgen bestimmter Bilder zu der erfolgreichen Decodierung. Bei einigen Ausführungsformen kann ein Decodierversuch für den Satz 200 von Bildern beispielsweise das Stitching von Daten aus den Bildern 200a, 200b und 200c zur kollektiven Verarbeitung zur Decodierung eines gemeinsamen Symbols umfassen. Wenn das Bild 200a als primäres Bild zur Decodierverarbeitung verwendet wird und die Bilder 200b und 200c als sekundäre Bilder für die Decodierverarbeitung verwendet werden, kann die Hälfte der verfügbaren Punkte (z. B. 500 Punkte) dem Bild 200a zugeordnet werden und die übrigen Punkte zwischen den Bildern 200b und 200c (z. B. jeweils 250 Punkte) aufgeteilt werden. Im Allgemeinen können Punktwerte auf Grundlage verschiedener Faktoren auf mehrere Bilder aufgeteilt werden, z. B. abhängig davon, wie viel des Symbolgehalts der jeweiligen Bilder durch die Lesezyklusanalyse zuverlässig identifiziert werden kann.
  • Bei einigen Ausführungsformen tragen bestimmte als Teil des Lesezyklus verarbeitete Bilder ggf. nicht zu einer erfolgreichen Decodierung eines Symbols bei. Noch immer bezugnehmend auf 27 kann beispielsweise ein weiterer Decodierversuch für den Satz 200 von Bildern das Stitching von Daten aus den Bildern 200a, 200b, 200c und 200d in verschiedenen Kombinationen zur Decodierverarbeitung umfassen. Wenn das Bild 200a als primäres Bild für die Decodierverarbeitung verwendet wird, die Bilder 200b und 200c als sekundäre Bilder für die Decodierverarbeitung verwendet werden und Bild 200d nicht zum Erfolg der Decodierverarbeitung beiträgt, kann die Hälfte der verfügbaren Punkte (z. B. 500 Punkte) dem Bild 200a zugeordnet werden, die übrigen Punkte zwischen den Bildern 200b und 200c aufgeteilt werden (z. B. jeweils 250 Punkte) und Minimalauswirkungspunkte (z. B. null Punkte) dem Bild 200d zugeordnet werden. Wenn keines der Bilder 200a bis 200d zu dem Erfolg der Decodierverarbeitung beiträgt (z. B. wenn der Lesezyklus für keine der Daten-Stitching-Kombinationen der Bilder 200a bis 200d ein Symbol erfolgreich decodiert), können gleichermaßen jedem der Bilder 200a bis 200d Minimalauswirkungspunkte (z. B. null Punkte) zugeordnet werden.
  • Wenn mehrere Tools zu einer erfolgreichen Decodierung eines Symbols während eines erfolgreichen Lesezyklus beitragen, kann die vorbestimmte Anzahl von Gesamtpunkten proportional zu der Anzahl von Tools reduziert werden. Bei einigen Ausführungsformen können beispielsweise zwei Tools für einen bestimmten Lesezyklus verwendet werden. Dementsprechend können die Punkte, die für die Zuordnung zu durch eines der beiden Tools verarbeiteten Bildern verfügbar sind, um die Hälfte reduziert werden, so dass die Anzahl an Gesamtpunkten auf die beiden Tools aufgeteilt werden können. Wenn das OCR-Tool 214 beispielsweise ein Symbol in einem bestimmten Lesezyklus durch das Stitching von Daten aus den Bildern 200a bis 200c erfolgreich decodiert und das DataMatrix-Tool 212 das Symbol durch das Stitching von Daten aus den Bildern 200c und 200d erfolgreich decodiert, kann die Gesamtzahl an Punkten, die für die Zuordnung zu den Bildern für jedes der Tools zur Verfügung steht, ausgehend von der Gesamtzahl an Punkten, die bei einer erfolgreichen Decodierung des Symbols durch nur eines der Tools verfügbaren wären, um die Hälfte reduziert werden. Es kann also beispielsweise die Hälfte der Gesamtpunkte (z. B. 500 Punkte) für die Zuordnung zu den Bildern 200a bis 200c auf Grundlage des Ergebnisses der Decodierung mit dem OCR-Tool 214 verfügbar sein, und die andere Hälfte der Punkte (z. B. 500 Punkte) kann für die Zuordnung zu den Bildern 200c und 200d auf Grundlage der Ergebnisse der Decodierung mit dem DataMatrix-Tool 212 verfügbar sein.
  • Bei einigen Ausführungsformen, bei denen mehrere Tools verwendet werden, erfolgt ggf. keine Zuordnung von Punkten zu bestimmten Bildern, wenn nicht für mindestens zwei der Tools ein erfolgreicher Decodierversuch stattgefunden hat. Ist das System 30 beispielsweise dazu konfiguriert, eine OCR- und eine DataMatrix-Decodierung umzusetzen, so werden Punktwerte unter Umständen nur dann Bildern zugeordnet, wenn beide Tools ein Symbol erfolgreich decodieren. Bei einer solchen Konfiguration werden beispielsweise keinem der verarbeiteten Bilder Punkte zugeordnet, wenn ein OCR-Tool zwar während eines Lesezyklus ein Symbol erfolgreich decodiert, ein DataMatrix-Tool dies jedoch nicht tut. Bei anderen Ausführungsformen mit mehreren Tools können Punkte für Tools zugeordnet werden, die ein Symbol erfolgreich decodiert haben, jedoch nicht für Tools, die ein Symbol nicht erfolgreich decodiert haben.
  • Sobald Punkte auf Grundlage der Decodierversuche zugeordnet wurden, kann die Tabelle 202 (z. B. durch die Bilderfassungsverwaltungseinrichtung 210) aktualisiert werden. Bei einigen Ausführungsformen kann die sortierte Reihenfolge der Tabelle 202 auf Grundlager vorheriger Decodierversuche aktualisiert werden, um die Verwendung von Lichteinstellungen (oder anderer Bildaufnahmeeinstellungen) zu priorisieren, die (z. B. während erfolgreicher Lesezyklen) bereits zu erfolgreichen Decodierversuchen beigetragen haben. Dies kann auf verschiedene Arten bewerkstelligt werden.
  • Bei einigen Ausführungsformen kann beispielsweise im Anschluss an einen erfolgreichen Lesezyklus (z. B. durch die Bilderfassungsverwaltungseinrichtung 210) ein Durchschnitt, wie z. B. ein exponentieller gleitender Durchschnitt („EMA”; engl. exponential moving average), für verschiedene Einträge des Sortierwertefelds 206 und für die entsprechenden Bildern zugeordneten Punkte berechnet werden. Sind die den verschiedenen Bildern zugeordneten Punkte beispielsweise angemessen skaliert, so dass sie Werten des Sortierwertefelds 206 für Einträge der Tabelle 202 entsprechen, können die zugeordneten Punkte als neue Daten für das Sortierwertefeld 206 angesehen werden, so dass ohne Weiteres ein EMA berechnet werden kann. Konkret können die einem bestimmten Bild zugeordneten Punkte als neue Daten für das Sortierwertefeld 206 zu einem Eintrag der Tabelle 202 behandelt werden, welcher der zur Aufnahme dieses Bilds verwendeten Lichteinstellung entspricht. Anschließend kann ein EMA für die zugeordneten Punkte und die entsprechenden Einträge des Sortierwertefelds 206 der Tabelle 202 berechnet werden, und das Sortierwertefeld 206 kann mit den resultierenden EMA-Werten aktualisiert werden.
  • Wenn beispielsweise die durch das Lichteinstellungsfeld 204 für den Eintrag 202a der Tabelle 202 angegebene Lichteinstellung zur Aufnahme des Bilds 200a verwendet wird, können noch immer bezugnehmend auf 27 die dem Bild 200a nach der Verarbeitung des Bilds 200a in einem Decodierversuch zugeordneten Punkte mit dem Sortierwertefeld 206 für den Eintrag 202a verknüpft werden. Wenn ein EMA (oder ein anderer Durchschnitt) berechnet wird, können die Punktwerte für das Bild 200a dementsprechend als neue Daten für das Sortierwertefeld 206 für den Eintrag 202a behandelt werden, so dass ein EMA für das Feld 206 auf herkömmliche Weise berechnet werden kann. Ein EMA für ein bestimmtes Sortierwertefeld kann beispielsweise wie folgt berechnet werden: EMA = (P·α) + (SVFC·(1 – α)), (1) wobei SVFC für den aktuellen Wert eines relevanten Eintrags des Sortierwertefelds 206, P für die entsprechenden zugeordneten Punkte und α für einen Glättungsfaktor steht, der beispielsweise anhand einer bestimmten Anzahl von Bildern für einen relevanten Zyklus berechnet werden kann.
  • Eine ähnliche Berechnung von EMAs (oder anderen Durchschnitten) kann auch für andere Einträge des Sortierwertefelds 206 (z. B. jeden zweiten Eintrag oder jeden Eintrag, für den einem entsprechenden Bild ein Punkt zugeordnet wurde) ausgeführt werden. Auf diese Weise können zum Beispiel Lichteinstellungen (oder andere Bildaufnahmeeinstellungen), die zum Aufnehmen von zu einem erfolgreichen Lesezyklus beitragenden Bildern verwendet werden, in dem verknüpften Eintrag des Sortierwertefelds 206 mit einem erhöhten Wert versehen werden. Gleichermaßen können Lichteinstellungen (oder andere Bildaufnahmeeinstellungen), die zum Aufnehmen von nicht zu einem erfolgreichen Lesezyklus beitragenden Bildern verwendet werden, in dem verknüpften Eintrag des Sortierwertefelds 206 mit einem verringerten Wert versehen werden.
  • Sobald EMAs (oder andere Durchschnitte) für geeignete Einträge des Sortierwertefelds 206 unter Verwendung der entsprechenden zugeordneten Punkte als neue Daten für die EMAs berechnet wurden, können die Einträge des Sortierwertefelds 206 mit den neuen EMA-Werten aktualisiert werden. Bei einigen Ausführungsformen kann die Tabelle 202 dann zumindest teilweise auf Grundlage der EMA-Werte (d. h. auf Grundlage der aktuellen Werte des Sortierwertefelds 206) sortiert werden. Die Aktualisierung des Sortierwertefelds 206 und die Sortierung der Tabelle können durch die Bilderfassungsverwaltungseinrichtung 210 oder durch andere Software, Module, Hardware usw. erfolgen.
  • Bei einigen Ausführungsformen kann die Tabelle 202 auf Grundlage der Werte des Sortierwertefelds 206 sortiert (d. h. auf eine neue sortierte Reihenfolge aktualisiert) werden, so dass Lichteinstellungen (oder andere Bildaufnahmeeinstellungen), die zu einer erfolgreichen Decodierung beitragen, in der sortierten Reihenfolge angehoben und Lichteinstellungen (oder andere Bildaufnahmeeinstellungen), die nicht zu einer erfolgreichen Decodierung beitragen, in der sortierten Reihenfolge nach unten verschoben werden können. Auf diese Weise können Bilder, die mit bestimmten Bildaufnahmeeinstellungen (d. h. Lichteinstellungen) aufgenommen wurden, die bereits zu erfolgreichen Decodierversuchen beigetragen haben, beispielsweise bei einer Auswahl (oder Aufnahme) von Bildern für nachfolgende Decodierversuche gegenüber Bildern priorisiert werden, die mit ggf. weniger erfolgreichen Bildaufnahmeeinstellungen (d. h. Lichteinstellungen) aufgenommen wurden.
  • Wenn die Bilder 200c und 200d (s. 27) zu einer erfolgreichen Decodierung beitragen und die Bilder 200a und 200b (s. 27) dies nicht tun, können den Bildern 200c und 200d auch bezugnehmend auf 28 mehr Punkte zugeordnet werden als den Bildern 200a und 200b. Nach der Berechnung von EMAs und der Aktualisierung des Sortierwertfelds 206 kann somit eine Neusortierung der Tabelle 202 zu einer neuen sortierten Reihenfolge auf Grundlage des Sortierwertefelds 206 die Lichteinstellungen für die Bilder 200c und 200d (d. h. die in dem Lichteinstellungsfeld 204 für die Einträge 202c und 202d wiedergegebenen Lichteinstellungen) vor den Lichteinstellungen für die Bilder 200a und 200b (d. h. die in dem Lichteinstellungsfeld 204 für die Einträge 202a und 202b wiedergegebenen Lichteinstellungen) platzieren. Dementsprechend können die Lichteinstellungen für die Bilder 200c und 200d gegenüber den Lichteinstellungen für die Bilder 200a und 200b in nachfolgenden Bilddecodierversuchen (desselben oder eines anderen Symbols) oder anderen Vorgängen priorisiert werden. Es versteht sich jedoch, dass in Abhängigkeit von den Ergebnissen der verschiedenen EMA-Berechnungen und verschiedenen anderen Faktoren nicht notwendigerweise diese bestimmte sortierte Reihenfolge (d. h. mit den Lichteinstellungen für die Bilder 200c und 200d vor den Lichteinstellungen für die Bilder 200a und 200b) erlangt wird.
  • Bei anderen Ausführungsformen können andere Sortieralgorithmen oder -verfahren angewendet werden. Des Weiteren versteht es sich, dass das Sortieren der Tabelle 202 ein virtuelles Sortieren der Tabelle 202 unter Bezugnahme auf die verschiedenen Einträgern des Sortierwertefelds 206 anstelle einer physischen Umschreibung der Tabelleneinträge auf verschiedene Speicherorte oder eine Kombination aus virtuellem Sortieren und physischem Umschreiben von Tabelleneinträgen umfassen kann.
  • Sobald eine sortierte Reihenfolge der Tabelle 202 aktualisiert wurde (d. h. sobald die Tabelle 202 auf Grundlage der oben beschriebenen EMA-Berechnungen sortiert wurde), kann eine neuer Decodierversuch durchgeführt werden, wobei Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) für in dem neuen Decodierversuch verwendete Bilder auf Grundlage der aktualisierten sortierten Reihenfolge der Tabelle 202 priorisiert sind. Wie oben beschrieben kann die Bilderfassungsverwaltungseinrichtung 210 beispielsweise auf die Lichteinstellungstabelle 202 zugreifen, um Lichteinstellungen aus der Lichteinstellungstabelle 202 wie durch das Lichteinstellungsfeld 204 definiert zur Verarbeitung eines weiteren Satzes von Bildern 220 an die Bildaufnahmesoftware 44 zu übertragen. Im Gegensatz zu der sortierten Reihenfolge von Lichteinstellungen für den Satz 200 von Bildern (s. 27) gibt die aktualisierte sortierte Reihenfolge der Tabelle 202 nun jedoch an, dass die Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) für den Tabelleneintrag 202d zuerst anzuwenden sind, gefolgt von den Lichteinstellungen (oder anderen Bildaufnahmeeinstellungen) für die Tabelleneinträge 202c und dann den Lichteinstellungen (oder anderen Bildaufnahmeeinstellungen) für die Tabelleneinträge 202a und 202b. Somit kann die Bildaufnahmesoftware 44 zunächst versuchen, ein Bild 220a des Satzes 220 zu decodieren, das dem Tabelleneintrag 202d entsprechende Lichteinstellungen aufweist, kann als nächstes versuchen, ein Bild 220b des Satzes 220 zu decodieren, das dem Tabelleneintrag 202c entsprechende Lichteinstellungen aufweist, usw. Sobald diese neuen Decodierversuche erfolgt sind, können den Bildern in dem Satz 220 (z. B. wie oben beschrieben) Punkte zugeordnet werden, kann ein neuer EMA für das Sortierwertefeld 206 berechnet werden und dementsprechend eine neue sortierte Reihenfolge für die Tabelle 202 bestimmt werden.
  • Im Allgemeinen können Tabelleneinträge für die Tabelle 202, die einen sich in den Werten des Sortierwertefelds 206 widerspiegelnden favorisierten (d. h. höheren) EMA-Wert aufweisen, gegenüber Einträgen für die Tabelle 202 priorisiert (d. h. in der sortierten Reihenfolge oder Aufnahmereihenfolge weiter vorn platziert) werden, die einen weniger favorisierten (d. h. niedrigeren) EMA-Wert aufweisen. Bei einigen Ausführungsformen können jedoch zusätzlich (oder alternativ) andere Regeln angewendet werden.
  • Wenn ein Nutzer eine Bildaufnahmeeinstellung, wie z. B. eine Lichteinstellung oder einen verwandten Wert, bereitstellt, kann die von dem Nutzer bereitgestellte Bildaufnahmeeinstellung (z. B. die Lichteinstellung oder der verwandte Wert) in einigen Ausführungsformen ggf. ohne Rücksicht auf die sortierte Reihenfolge der Tabelle 202 gegenüber den Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) in der Tabelle 202 priorisiert werden. Wenn ein Nutzer beispielsweise einen bestimmten Hell- oder Dunkelfeldeinstellungs-, Leistungseinstellungs- oder anderen Lichteinstellungsparameter definiert, können sich Decodierversuche zunächst auf Bilder mit den von dem Nutzer definierten Lichteinstellungen (oder anderen Einstellungen) vor anderen Bildern mit anderen Lichteinstellungen aus der Tabelle 202 richten, selbst wenn die anderen Lichteinstellungen einen stärker favorisierten (d. h. höheren) Wert für das Sortierwertefeld 206 aufweisen als die von dem Nutzer definierte Lichteinstellung.
  • Bei einigen Ausführungsformen kann eine Bildaufnahmeeinstellung (z. B. eine Lichteinstellung) für ein Bild, die in einem vorherigen (z. B. unmittelbar vorhergehenden) Lesezyklus zu einem erfolgreichen Decodierergebnis beigetragen hat, in einem nachfolgenden Decodierversuch (für dasselbe oder ein anderes Symbol) priorisiert werden. Wenn erneut bezugnehmend auf 27 beispielsweise das Bild 200b zu einem erfolgreichen Decodierversuch beiträgt, kann die Lichteinstellung für das Bild 200b für einen nachfolgenden Decodierversuch verwendet werden, um ein Bild aus dem Satz 220 mit denselben Lichteinstellungen wie bei Bild 200b auszuwählen, bevor weitere Bilder aus dem Satz 220 mit Lichteinstellungen, die (zumindest in einem letzten Decodierversuch) nicht zu einer erfolgreichen Decodierung beigetragen haben, ausgewählt werden. Diese Priorisierung kann selbst dann umgesetzt werden, wenn letztere Lichteinstellungen stärker favorisierten (z. B. höheren) Werten für das Sortierwertefeld 206 entsprechen als die Lichteinstellung für das Bild 200b. Wenn mehrere Bilder des Satzes 200 (z. B. die Bilder 200a, 200c und 200d) zu einem erfolgreichen Decodierversuch beitragen, können gleichermaßen die Lichteinstellungen für die Bilder 200a, 200c und 200d für einen nachfolgenden Decodierversuch verwendet werden, um Bilder aus dem Satz 220 mit den gleichen Lichteinstellungen wie denen der Bilder 200a, 200c und 200d auszuwählen, bevor weitere Bilder des Satzes 220 mit Lichteinstellungen, die nicht zu einer erfolgreichen Decodierung beigetragen haben, ausgewählt werden. Diese Priorisierung kann erneut selbst dann umgesetzt werden, wenn letztere Lichteinstellungen stärker favorisierten (z. B. höheren) Werten für das Sortierwertefeld 206 entsprechen als die Lichteinstellungen für die Bilder 200a, 200c und 200d.
  • Bei einigen Ausführungsformen kann ein weiteres Sortieren im Rahmen (oder ansonsten zusätzlich zu) der oben beschriebenen Priorisierung umgesetzt werden. Beispielsweise können die Lichteinstellungen für einen Satz von erfolgreich decodierten Bildern (z. B. den Bildern 200a, 200c und 200d) auf Grundlage von diesen Bildern entsprechenden EMA-Werten untereinander relativ zueinander priorisiert werden, selbst während die Lichteinstellungen des gesamten Satzes von Bildern (z. B. den Bildern 200a, 200c und 200d) gegenüber den Lichteinstellungen für Bilder priorisiert sind, die nicht zu einer erfolgreichen Decodierung beigetragen haben.
  • Bei einigen Ausführungsformen können Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) für ein bestimmtes Tool (z. B. ein zweidimensionales Matrixtool) gegenüber Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) für ein anderes Tool (z. B. ein OCR-Tool) priorisiert werden. Die Priorisierung von Bildaufnahmeeinstellungen für erfolgreiche Decodierversuche auf Grundlage der Verwendung eines bestimmten Tools kann auf verschiedene Arten nützlich sein. Beispielsweise kann ein Ziel der Bilderkennungsanalyse darin bestehen, eine relativ hohe Leserate und einen relativ hohen Ertrag an erfolgreich decodierten Symbolen zu erzielen. Dementsprechend kann die Bilderfassungsverwaltungseinrichtung 210 (oder andere Software, Module, Hardware usw.) beispielsweise so arbeiten, dass sie die durchschnittliche Lesezeit pro bilderfasstem Produkt (z. B. pro Halbleiterwafer) durch Definierung von Lichteinstellungen verringert, die ggf. eine Verarbeitung einer relativ geringen Anzahl von Bildern pro Produkt erfordern. Da DataMatrix-Tools und andere ähnliche Tools oftmals eine relativ hohe Anzahl an Bildern verarbeiten müssen, um eine erfolgreiche Decodierung zu erzielen, kann es somit nützlich sein, Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) für diese Tools zu priorisieren, bevor man dies für andere Tools tut. Auf diese Weise können beispielsweise Leerlaufzeiten dieser Tools aufgrund fehlender decodierbarer Bilder vermieden werden.
  • Bei einigen Ausführungsformen können dementsprechend wiederum bezugnehmend auf 27 Lichteinstellungen für erfolgreiche Decodierungen mittels des DataMatrix-Tools 212 gegenüber Lichteinstellungen für erfolgreiche Decodierungen mittels des OCR-Tools 214 priorisiert werden. Wenn beispielsweise die Bilder 200a, 200b und 200c zu einem erfolgreichen Decodierversuch mit dem DataMatrix-Tool 212 beitragen und das Bild 200d zu einem erfolgreichen Decodierversuch mit dem OCR-Tool 214 beiträgt, können die Lichteinstellungen 200a, 200b und 200c in der sortierten Reihenfolge der Tabelle 202 für eine nachfolgende Auswahl von Bildern aus dem Satz 220 für die Decodierung nach oben verschoben (d. h. priorisiert) werden, selbst wenn die Lichteinstellung für das Bild 200d einem stärker favorisierten (d. h. höheren) Wert für das Sortierwertefeld 206 entspricht als die Lichteinstellungen für die Bilder 200a, 200c und 200d.
  • Die verschiedenen oben beschriebenen Tools, Module, Algorithmen usw. können auf verschiedene Weise mittels verschiedener Arten von Rechenvorrichtungen und Systemen umgesetzt werden. Bei einigen Ausführungsformen kann die Bilderfassungsverwaltungseinrichtung 210 in einer Softwareanwendung mit der Bildaufnahmesoftware 44 und/oder der Symbollokalisierungssoftware 74 kombiniert sein. Bei anderen Ausführungsformen kann die Bilderfassungsverwaltungseinrichtung 210 eine von der Bildaufnahmesoftware 44 und/oder der Symbollokalisierungssoftware 74 separate Softwareanwendung sein. Bei unterschiedlichen Ausführungsformen kann die Bilderfassungsverwaltungseinrichtung 210 auf dem Computer 50 oder einer anderen Vorrichtung (z. B. der Bilderfassungsvorrichtung 42) liegen und ausgeführt werden.
  • Nun bezugnehmend auf 29 bis 35 sind Beispieldaten für einen Punktezuordnungs-, Tabellensortierungs- und Bilddecodiervorgang dargestellt. Bestimmte Tabellen und Werte der 29 bis 35 können Zwischenergebnisse verschiedener Berechnungen oder Verarbeitungen weidergeben oder können einfach zur Verdeutlichung des Wesens anderer Tabellen und Werte angegeben sein. Dementsprechend versteht es sich, dass bestimmte Tabellen und Werte der 29 bis 35 nicht notwendigerweise gespeichert (oder für wesentliche Zeiträume gespeichert) oder auch nur tatsächlich durch das System 30 verwendet werden. Des Weiteren können die hier beschriebenen Priorisier- und Sortiertechniken wie oben erwähnt mit einer Vielzahl von Bildaufnahmeeinstellungen verwendet werden. Dementsprechend versteht es sich, dass trotz der Tatsache, dass in der nachfolgenden Beschreibung Lichteinstellungen als spezifische Beispiele genannt werden, ähnliche Prinzipien auch auf andere Arten von Bildaufnahmeeinstellungen anwendbar sind.
  • Insbesondere bezugnehmend auf 29 ist ein beispielhafter Index für verschiedene Lichteinstellungen vorgesehen. Wie dargestellt, entsprechen als Hellfeld („BF”), Dunkelfeld („DF”) und Leistungscodes („P”) gekennzeichnete achtzehn verschiedene Lichteinstellungen 300 mit verknüpften Zahlenwerten einem Index 302 von achtzehn ganzen Zahlen. Wie oben erwähnt kann eine Lichteinstellungstabelle (z. B. die Tabelle 202) mit den Lichteinstellungen von 29 (z. B. in dem Lichteinstellungsfeld 204) die Codes der Lichteinstellungen 300 selbst oder andere die Lichteinstellungen 300 anzeigende Werte umfassen, wie z. B. Werte aus dem Index 302.
  • In einem beispielhaften Vorgang können Bilder unter Verwendung verschiedener Lichteinstellungen 300 aufgenommen werden. Ein Satz von neun Lesezyklen kann für die aufgenommenen Bilder (z. B. nach oder parallel zu der Bildaufnahme) versucht werden, wobei jeder Lesezyklus einen Decodierversuch an einem Symbol eines aufgenommenen Bilds mit sowohl einem zweidimensionalen Matrixdecodiertool als auch mit einem OCR-Tool umfassen kann. Ein Satz von Beispielergebnissen für einen solchen Vorgang ist in 30 dargestellt. Wie durch die Lesezyklusspalte 304 der Tabelle von 30 angegeben, umfasst jeder der Lesezyklen, die als Lesezyklen 1 bis 9 angegeben sind, einen Decodierversuch an einem Symbol aus einer Anzahl von Bildern unter Verwendung eines bestimmten zweidimensionalen Matrixdecodiertools (in einer Toolspalte 306 von 30 als „2-D” gekennzeichnet) und eines bestimmten OCR-Tools. Bei einigen Ausführungsformen können die 2-D- und OCR-Tools in Reihe arbeiten. Bei einigen Ausführungsformen können die 2-D- und OCR-Tools parallel arbeiten.
  • Jedes Bild, das zu einem erfolgreichen Decodierversuch in einem bestimmten Lesezyklus beiträgt, ist in einer Indexspalte 308 von 30 durch einen Indexwert aus dem Lichteinstellungsindex 302 (s. 29) gekennzeichnet, welcher der zur Aufnahme des relevanten Bilds verwendeten Lichteinstellung entspricht. Im ersten Lesezyklus (d. h. „Lesezyklus 1”) wird beispielsweise das 2-D-Tool zur erfolgreichen Decodierung eines Symbols anhand zweier mit den Lichteinstellungen BF3 P02 und DF1 P20 (die den Werten 11 und 4 des Index 302 entsprechen) aufgenommener Bilder verwendet. Ebenso wird in dem ersten Lesezyklus das OCR-Tool zur erfolgreichen Decodierung eines Bilds anhand dreier mit den Bildeinstellungen BF3 P01, DF3 P20 und BF2 P02 (die den Werten 3, 6 und 9 des Index 302 entsprechen) aufgenommener Bilder verwendet. Für alle anderen Lesezyklen außer den Lesezyklen 6 und 7 geben andere (oder die gleichen) Werte aus dem Index 302 gleichermaßen andere (oder die gleichen) Lichteinstellungen von Bildern an, die zur erfolgreichen Decodierung eines Symbols in dem entsprechenden Lesezyklus verwendet wurden. Bei Lesezyklus 6 konnte keines der beiden Tools ein Symbol anhand irgendwelcher Bilder decodieren, so dass kein Wert aus dem Lichteinstellungsindex 302 angegeben ist. Bei Lesezyklus 7 decodiert das OCR-Tool erfolgreich ein Symbol mit einem einzelnen Bild mit der Lichteinstellung DF3 P02 (was dem Wert 5 des Index 302 entspricht), wohingegen das 2D-Tool kein Symbol anhand irgendwelcher Bilder erfolgreich decodiert hat.
  • Bei einigen Ausführungsformen können Daten aus den für einen bestimmten Lesezyklus verarbeiteten Bildern wie oben beschrieben gestitcht werden, so dass der Decodierversuch gleichzeitig auf Daten mehrerer Bilder gerichtet ist. Bezugnehmend auf den ersten Lesezyklus kann das 2D-Tool beispielsweise auf Grundlage einer aus den beiden angegebenen Bildern (d. h. aus Bildern, die mit den Lichteinstellungen aufgenommen wurden, die den Indexwerten 11 und 4 in dem Lichteinstellungsindex 302 (s. 29) entsprechen) erstellten kumulierten (oder anderweitig zumindest teilweise kombinierten) Matrix ein Symbol erfolgreich decodiert haben, und das OCR-Tool kann ein Symbol auf Grundlage der drei angegebenen Bilder (d. h. der Bildern, die mit den Lichteinstellungen aufgenommen wurden, die den Indexwerten 3, 6 und 9 in Index 302 entsprechen) decodiert haben. Eine ähnliche Verwendung des Stitchings kann auch für einen oder mehr der anderen Lesezyklen eingesetzt werden, obgleich der dargestellte Lesezyklus 7 wie oben erwähnt eine erfolgreiche Decodierung mit einem einzelnen Bild umfasst.
  • Es versteht sich, dass die von den Werten des Index 302 in der Tabelle von 30 dargestellten Bilder nicht notwendigerweise alle während eines bestimmten Aufnahmevorgangs aufgenommenen Bilder oder auch nur alle Bilder, an denen ein Decodierversuch für einen bestimmten Lesezyklus einschließlich für Einzelbilddecodierungen und Decodierversuche mittels Stitchingvorgängen durchgeführt wurden, darstellen. Vielmehr stellt die Tabelle von 30 wie dargestellt nur die Bilder dar, die tatsächlich zu einem erfolgreichen Decodierversuch für einen bestimmten Lesezyklus beigetragen haben. Wie oben erwähnt, ist es in verschiedenen Ausführungsformen nützlich, Punkte nur solchen beitragenden Bildern zuzuordnen.
  • Nachdem ein erfolgreicher Decodierversuch für einen bestimmten Lesezyklus erfolgt ist, kann (z. B. durch die Bilderfassungsverwaltungseinrichtung 210) jedem der Bilder, die zu der erfolgreichen Decodierung beigetragen haben, ein Punktwert zugeordnet werden. Wie oben erwähnt kann die Höhe dieser Punktwerte im Allgemeinen dem verhältnismäßigen Beitrag der verschiedenen Bilder zu den verschiedenen erfolgreichen Decodierungen entsprechen. In 30 sind die zugeordneten Punktwerte in einer Punktwertspalte 316 dargestellt. In dem ersten Lesezyklus von 30 trug das mit der Lichteinstellung BF3 P02 (die dem Wert 11 des Index 302 entspricht) aufgenommene Bild erheblicher zu der 2D-Decodierung bei als das mit der Lichteinstellung DF1 P02 (die dem Wert 4 des Index 302 entspricht) aufgenommene Bild. Dementsprechend wurden dem BF3-P02-Bild (Indexwert 11) 750 Punkte (von 1000) und dem DF1-P20-Bild (Indexwert 4) 250 Punkte zugeordnet.
  • Im Gegensatz hierzu trugen die für die erfolgreiche OCR-Decodierung in dem ersten Lesezyklus aufgelisteten Bilder jeweils zum ungefähr gleichen Grad zu der erfolgreichen Decodierung bei, so dass jedem Bild 333 Punkte zugeordnet wurden, wobei ein Bild einen aufgerundeten Wert von 334 Punkten erhalten hat, um sicherzustellen, dass die gesamten 1000 Punkte für dieses Tool und diesen Lesezyklus zugeordnet wurden. In anderen Lesezyklen wurden, wie in 30 zu sehen ist, auf Grundlage unterschiedlicher (oder ähnlicher) Beiträge der verschiedenen Bilder (und entsprechend verschiedener Lichteinstellungen) zu einer erfolgreichen Decodierung andere (oder die gleichen) Punktwerte zugeordnet. Es ist ersichtlich, dass für Lesezyklus 6 null Punkte zugeordnet wurden, da keine erfolgreiche Decodierung erreicht wurde. Ebenso wurden dem 2D-Tool von Lesezyklus 7 null Punkte zugeordnet, da mit dem Tool keine erfolgreiche Decodierung erreicht wurde. Bei einigen Ausführungsformen kann stattdessen ein Minimalauswirkungspunktwert ungleich Null (z. B. eine negative Zahl maximaler Höher oder ein minimaler positiver Wert auf einer Punkteskala) zugeordnet werden.
  • Wie oben erwähnt können während Vorgängen einschließlich solcher, bei denen eine erfolgreiche Decodierung durch sowohl das OCR- als auch das 2D-Tool erforderlich ist, Lesezyklen Minimalauswirkungspunkte (z. B. null Punkte) zugeordnet werden, in denen nur eines der Tools erfolgreich ist. In diesem Fall werden zum Beispiel im siebten Lesezyklus von 30 dem Indexwert 5 keine Punkte zugeordnet, da keine erfolgreiche Decodierung eines Symbols durch das 2D-Tool erfolgt ist.
  • Wie in 30 dargestellt, wurde jedem Tool für jeden erfolgreichen Lesezyklus eine Gesamtzahl von 1000 Punkten zugeordnet. Bei anderen Ausführungsformen können andere Gesamtpunktzahlen verwendet werden. Bei einigen Ausführungsformen kann zum Beispiel eine Gesamtpunktzahl gleich 1 zugeordnet werden, wobei verschiedenen Bildern eines für einen bestimmten Lesezyklus verwendeten Satzes Bruchteile eines Punkts zugeordnet werden, so dass dem gesamten Bildersatz insgesamt 1 Punkt zugeordnet wird.
  • Wie ebenfalls zuvor beschrieben, können die verschiedenen Bildern zugeordneten Punkte zur Aktualisierung eines Sortierwertefelds einer Aufnahmeeinstellungstabelle (z. B. einer Lichteinstellungstabelle) verwendet werden. Bei einigen Ausführungsformen kann es jedoch notwendig sein, verschiedenen Bildern zugeordnete Punkte zunächst auf geeignete Weise zu skalieren. Wie in 31 dargestellt, wurden die Gesamtpunkte, die für Decodiervorgänge mit beiden Tools (s. 30) für jeden Lesezyklus zugeordnet wurden, so skaliert, dass die Gesamtpunkte für einen entsprechenden Lesezyklus eine Summe von 1000 ergeben. Bezüglich des ersten Lesezyklus ist 30 zu entnehmen, dass die sowohl dem 2D- als auch dem OCR-Tool zugeordneten Gesamtpunkte eine Summe von 2000 ergeben. Demnach wurden diese zugeordneten Punktwerte für die erste Lesezyklusspalte (d. h. Spalte 310) von 31 halbiert (und ggf. gerundet). Ebenso wurden für andere Lesezyklen zugeordnete Punkte ggf. skaliert, um gleichmäßige Gesamtpunktwerte für jeden Lesezyklus zu gewährleisten. Es ist zu beachten, dass die für den siebten Lesezyklus (d. h. die in Spalte 314 wiedergegebenen) zugeordneten Punktwerte nicht skaliert wurden, da während dieses Zyklus nur das OCR-Tool ein Symbol erfolgreich decodiert hat.
  • Nach der Vervollständigung eines bestimmten Lesezyklus (oder eines relevanten Abschnitts desselben) kann für jeden Punktwerteintrag (z. B. jeden Punktwerteintrag entlang Spalte 310) anhand der jedem jeweiligen Bild (und der entsprechenden Lichteinstellung) während des jeweiligen Lesezyklus zugeordneten Punktwerte ein EMA und ein EMA-Wert für einen vorherigen Lesezyklus (oder einen anderen Ausgangspunktwert, wie nachfolgend beschrieben) berechnet werden. Die Ergebnisse der EMA-Berechnung können dann für Einträge in ein entsprechendes Sortierwertefeld (z. B. das Sortierwertefeld 206 der Tabelle 202 in 27 und 28) einer Aufnahmeeinstellungstabelle (z. B. einer Lichteinstellungstabelle) verwendet werden. Auf diese Weise können zum Beispiel die Werte des Sortierwertefelds für eine bestimmte Bildaufnahmeeinstellung (z. B. eine Lichtaufnahmeeinstellung) (z. B. für einen bestimmten Eintrag in dem Index 302 oder in dem Lichteinstellungsfeld 204) aktualisiert werden, um historische Decodierergebnisse wiederzugeben. Bei einer Sortierung einer Aufnahmeeinstellungstabelle (z. B. einer Lichteinstellungstabelle) auf Grundlage des Sortierwertefelds kann die sortierte Reihenfolge der Tabelle dementsprechend zu einer Priorisierung von Bildaufnahmeeinstellungen (z. B. Lichtaufnahmeeinstellungen), die historisch nützlich waren, für die nachfolgende Bildverarbeitung führen.
  • Auch bezugnehmend auf 32 stellen die aufeinanderfolgenden Spalten der dargestellten Tabelle das Ergebnis aufeinanderfolgender EMA-Berechnungen anhand der in 30 und 31 dargestellten Lesezyklusergebnisse und Punktzuordnungen dar. Wie oben erwähnt, kann die Gesamtzahl von Punktwerten (z. B. 1000 in dem dargestellten Beispiel) bei einigen Ausführungsformen anfänglich relativ gleichmäßig zwischen allen verfügbaren Lichteinstellungen (oder einem Teilsatz derselben) aufgeteilt gewesen sein, um eine Ausgangsbasis für die Berechnung eines EMA (oder eines anderen Durchschnitts) vorzusehen. Wie z. B. Spalte 312 von 32 zu entnehmen ist, wurden die 1000 Gesamtpunkte für einen entsprechenden Lesezyklus anfänglich relativ gleichmäßig über den gesamten Index 302 verteilt. Bei anderen Ausführungsformen können andere Ausgangsverteilungen von Punkten verwendet werden. Ein Nutzer kann beispielsweise eine nutzerdefinierte Ausganspunkteverteilung vorsehen, welche die relativ gleichmäßige Punkteverteilung von Spalte 312 ersetzen kann. Dies kann zum Beispiel zur anfänglichen Priorisierung bestimmter Lichteinstellungen gegenüber anderen nützlich sein.
  • Ausgehend von einer (z. B. in Spalte 312 dargestellten) Anfangsverteilung von Punkten oder einem anderen Satz von Punktwerten (z. B. von vorherigen EMA-Berechnungen) können die Werte des Sortierwertefelds dann auf Grundlage vorhergehender Lesezyklusergebnisse aktualisiert werden. Aus Spalte 318 ist z. B. ersichtlich, dass nach dem ersten Lesezyklus die eingangs (d. h. wie in Spalte 312 dargestellt) relativ gleichmäßigen Sortierwertefeldwerte aktualisiert wurden, um die erfolgreichen Decodierversuche während des ersten Lesezyklus mit Bildern mit Lichteinstellungen, die den Indexwerten 3, 4, 6, 9 und 11 (s. 30) entsprechen, wiederzugeben. Wie aus Spalte 320 ersichtlich ist, wurden nach dem zweiten Lesezyklus die Sortierwertefelder nach dem ersten Lesezyklus (s. Spalte 318) ebenso aktualisiert, um die zur erfolgreichen Decodierung während des zweiten Lesezyklus verwendeten Lichteinstellungen der Bilder wiederzugeben.
  • In dem in 32 dargestellten Beispiel wurde eine EMA-Glättungskonstante von 0,0392157 verwendet, die anhand eines angenommenen Periodenwerts von 50 Einträgen berechnet wurde. Bei verschiedenen Ausführungsformen kann das Annehmen eines solchen Periodenwerts nützlich sein, da Analysezyklen für Halbleiterwafer üblicherweise die Aufnahme von Bildern für eine Analyse von Sätzen von 50 Wafern umfassen. Bei anderen Ausführungsformen können ggf. andere Periodenwerte (und andere Glättungskonstanten) verwendet werden.
  • Nach einem bestimmten Lesezyklus kann eine Aufnahmeeinstellungstabelle (z. B. die Lichteinstellungstabelle 202) auf Grundlage der aktualisierten EMA-Werte aus dem Lesezyklus (und vorheriger Verarbeitung) sortiert werden. Die verschiedenen Lesezyklusspalten von 32 (z. B. die Spalten 318 und 320 usw.) können gespeicherte Einträge für eine Lichteinstellungstabelle (z. B. die Lichteinstellungstabelle 202) nach jedem jeweiligen Lesezyklus darstellen.
  • Auf Grundlage der in 32 dargestellten EMA-Werte (oder ähnlicher Werte) kann eine Aufnahmeeinstellungstabelle (z. B. die Lichteinstellungstabelle 202) so sortiert werden, dass historisch erfolgreiche Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) in einer nachfolgenden Verarbeitung von Bildern zur Decodierung von Symbolen priorisiert werden können. Wie z. B. in 33 dargestellt, wurden die Lichteinstellungsindexwerte von Index 302 (s. z. B. 32) auf Grundlage der in den Lesezyklusspalten von 32 wiedergegebenen zugeordneten, skalierten und gemittelten Punktwerte sortiert. Wie z. B. in 32 dargestellt, entspricht der Lichteinstellungsindex 11 von Index 302 nach dem ersten Lesezyklus dem höchsten EMA-Wert der Spalte 318, gefolgt von den Lichteinstellungsindizes 3, 6 und 9 und dem Lichteinstellungsindex 4. In der sortierten Spalte 318a von 33 wurden diese Lichteinstellungsindizes dementsprechend an die Spitze der sortierten Reihenfolge verschoben. Wenn diese sortierte Reihenfolge in einer Aufnahmeeinstellungstabelle (z. B. einer Lichteinstellungstabelle) gespeichert (oder anderweitig wiedergegeben) wird, auf die zur Bestimmung geeigneter Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) von Bildern für einen nachfolgenden Decodierversuch (für dasselbe oder ein anderes Symbol) zugegriffen wird, können die den Lichteinstellungsindizes 11, 3, 6, 9 und 4 entsprechenden Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) im Ergebnis priorisiert werden.
  • Wie dargestellt wurden die verschiedenen Spalten (z. B. die Spalten 318a und 320a) so sortiert, dass die punkthöheren Lichteinstellungen priorisiert (d. h. in der sortierten Reihenfolge nach oben verschoben) und punktniedrigere Lichteinstellungen mit einer geringeren Priorität versehen (d. h. in der sortierten Reihenfolge nach unten verschoben) sind. Bei anderen Ausführungsformen können andere, einschließlich auf andere Arten von Bildaufnahmeeinstellungen angewendete Sortieralgorithmen verwendet werden.
  • Bei einigen Ausführungsformen kann die sortierte Reihenfolge des Lichteinstellungsindex 302 (z. B. wie in den Spalten 318a und 320a wiedergegeben) die Reihenfolge vorgeben, in der die Bilder zur Decodierung eines Symbols aufeinanderfolgend analysiert werden. Wie in 33 zu sehen ist, müssen die Lichteinstellungen, die, wie durch grau hinterlegte Zellen anzeigt, tatsächlich zu einer erfolgreichen Decodierung für bestimmte Lesezyklen geführt haben, jedoch allein durch eine wertbasierte Sortierung nicht unbedingt hoch priorisiert sein. Obwohl z. B. die Lichteinstellungen 8, 13 und 14 in Lesezyklus 8 zu einer erfolgreichen Decodierung beigetragen haben, befinden sich diese Lichteinstellungen in der sortierten Reihenfolge in der sortierten Spalte 322 relativ weit unten. Dementsprechend kann es manchmal nützlich sein, die (z. B. auf Grundlage aktualisierter EMA-Werte) sortierte Reihenfolge so anzupassen, dass Lichteinstellungen, die (z. B. in einem unmittelbar vorhergehenden Decodierversuch) tatsächlich zu einer erfolgreichen Decodierung beitragen, zu einem Block von Einträgen an der Spitze der sortierten Reihenfolge verschoben werden.
  • Beispiele solcher Blöcke von Einträgen für jeden Lesezyklus sind in Tabelle 324 in 34 dargestellt. In Spalte 326a von Tabelle 324 kann z. B. ein Block 328 für Lesezyklus 8 Bilder mit den Lichteinstellungen 8, 13 und 14 umfassen, da diese Bilder in Lesezyklus 8 tatsächlich zu einem erfolgreichen Decodierversuch beigetragen haben (s. Spalte 322 in 33). Die übrigen (d. h. die nicht in einem Block in Tabelle 324 enthaltenen) Lichteinstellungsindexwerte sind in einer Tabelle 330 von 34 dargestellt, die gemäß den in 32 dargestellten EMA-Werten sortiert ist. Es ist ersichtlich, dass die Tabelle 330 für einen entsprechenden Lesezyklus keine Lichteinstellungsindexwerte enthält, die für diesen Lesezyklus in Tabelle 324 enthalten sind. Spalte 326b der Tabelle 330, die einen sortierten Satz von Indexwerten für Lesezyklus 8 darstellt, enthält beispielsweise nicht die Indexwerte 8, 13 und 14, da diese Werte bereits in Block 328 der Tabelle 324 enthalten sind.
  • Um die Auswahl von Bildern für die nachfolgende Verarbeitung zu lenken, können die Tabellen 324 und 330 kombiniert werden, wobei die Position verschiedener Blöcke (z. B. von Block 328) der Tabelle 324 vor den Indexwerten der entsprechenden Spalte der Tabelle 330 in der resultierenden sortierten Reihenfolge beibehalten wird. Zudem können die sortierten Indexwerte um einen Lesezyklus (oder mehr) nach vorn verschoben werden, so dass die sortierten Indexwerte als vorgeschriebene Werte für einen nachfolgenden Lesezyklus sowie als indikative Werte für den Lesezyklus, aus dem sie berechnet wurden, angesehen werden können. Auf diese Weise können zum Beispiel aus einem früheren Lesezyklus abgeleitete sortierte Indexwerte zur Priorisierung bestimmter Bildaufnahmeeinstellungen für einen späteren Lesezyklus dienen.
  • Auch bezugnehmend auf 35 stellt eine Lichteinstellungsindextabelle 334 eine Beispielkombination der Tabellen 324 und 330 dar. Wie dargestellt enthält beispielsweise eine Spalte 326c für einen neunten Lesezyklus (d. h. einen auf den achten Lesezyklus folgenden Lesezyklus) den Block 328 von Lichteinstellungsindexwerten aus der Tabelle 324 von 34, gefolgt von den sortierten Indexwerten von Spalte 326b aus Tabelle 330 von 34. Wie bereits beschrieben, liegt der Reihenfolge der in 35 dargestellten Lichteinstellungsindexwerte (und demnach der Priorisierung von Lichteinstellungen während Lesezyklus 9) die zur Abbildung der Priorisierung von Lichteinstellungen, die für bestimmte Lesezyklen tatsächlich zu einer erfolgreichen Decodierung geführt haben (s. 34, Block 328), aktualisierte sortierte Reihenfolge der entsprechenden EMA-Werte zugrunde (s. 32). Dementsprechend können während Lesezyklus 9 zunächst Bilder mit den Indexwerten 8, 13 und 14 entsprechenden Lichteinstellungen zur Decodierung ausgewählt werden, gefolgt von Bildern mit Lichteinstellungen in der übrigen sortierten Reihenfolge von Spalte 326c.
  • Hat kein Bild zu einem erfolgreichen Decodierversuch für einen bestimmten Lesezyklus beigetragen, kann die sortierte Reihenfolge nicht auf Grundlage von Lichteinstellungen von Bildern, die tatsächlich zu einer erfolgreichen Decodierung beigetragen haben, aktualisiert werden. Bezugnehmen auf 30 und 33 bis 35 ist z. B. ersichtlich, dass im Lesezyklus 6 (wie für Lesezyklus 7 in 35 wiedergegeben) kein Bild erfolgreich decodiert wurde. Dementsprechend ist in der Tabelle 324 von 34 oder in der sortierten Reihenfolge von Lichteinstellungen für Lesezyklus 7 in der Tabelle 334 (d. h. wie in Spalte 336 wiedergegeben) kein Block von Lichteinstellungen vorgesehen.
  • Noch immer bezugnehmend auf Lesezyklus 6 ist in 32 ersichtlich, dass sich die EMA-Werte zwischen Zyklus 5 (d. h. wie in Spalte 338 wiedergegeben) und Zyklus 6 (d. h. wie in Spalte 340 wiedergegeben) nicht verändert haben. Da Lesezyklus 6 (s. 30) nicht zu einer erfolgreichen Decodierung geführt hat, wurden den Bildern auf Grundlage von Lesezyklus 6 keine Punktwerte zugeordnet, und die EMA-Werte aus Lesezyklus 5 (Spalte 338) wurden einfach auf Lesezyklus 6 (Spalte 340) übertragen. Bezugnehmend auf 35 ist jedoch ersichtlich, dass sich die sortierte Reihenfolge der Spalte 336, die unter Bezugnahme auf die Ergebnisse von Lesezyklus 6 bestimmt wurde, von der sortierten Reihenfolge der Spalte 342 unterscheidet. Dies liegt daran, dass die sortierte Reihenfolge von Spalte 342 aktualisiert wurde, um einen Block 344 von Indizes zu priorisieren, die Bildern entsprechen, die in Lesezyklus 5 zu einem erfolgreichen Decodierversuch beigetragen haben (s. z. B. 30 und 34).
  • Allgemein bezugnehmend auf 32 bis 35 ist ersichtlich, dass keine nutzerdefinierte Lichteinstellung („Nutzereingabe”) für das dargestellte Beispiel vorgesehen wurde. Es wurde jedoch ein Platzhalter für die Nutzereingabe in der sortierten Tabelle von 33 (s. Nutzereingabezeile 346) und der aktualisierten sortierten Tabelle 334 von 35 (s. Nutzereingabezeile 348) beibehalten. Wenn ein Nutzer eine bestimmte Lichteinstellung (oder einen Aspekt derselben) definiert, kann eine solche Nutzereingabe in einem nachfolgenden Lesezyklus sogar gegenüber Lichteinstellungen, die zu vorherigen erfolgreichen Decodierversuchen beigetragen haben, priorisiert werden.
  • Wie oben erwähnt versteht es sich, dass die in 29 bis 35 dargestellten Tabellen nicht notwendigerweise in ihrer Gesamtheit durch das System 30 gespeichert oder in ihrer Gesamtheit in einer bestimmten Tabelle oder in einer anderen Aufbewahrungseinrichtung des Systems 30 (z. B. der Lichteinstellungstabelle 202) enthalten sein müssen. Bei einigen Ausführungsformen kann das System 30 beispielsweise einfach eine der Tabelle 202 (s. 27) ähnliche Tabelle speichern, und eine sortierte Reihenfolge dieser Tabelle kann nach jedem erfolgreichen Lesezyklus auf Grundlage der in 29 bis 35 dargestellten Analyse aktualisiert werden.
  • Bei einigen Ausführungsformen kann es nützlich sein, die Anzahl von Bildern zu begrenzen, deren Daten für einen Decodiervorgang gestitcht werden. Für Decodiervorgänge mittels eines zweidimensionalen Matrixsymboldecodiertools können Daten von einer zu großen Anzahl an Bildern die Decodierergebnisse eher verschlechtern als verbessern. Dementsprechend kann bei einigen Ausführungsformen für einen jeweiligen Lesezyklus eine maximale Anzahl von Bildern zur Zuordnung von Punktwerten definiert sein. Wenn ein anfänglicher Satz von Bildern nicht zu einer erfolgreichen Decodierung führt, bevor der anfängliche Satz die maximale Anzahl von Bildern erreicht, kann ein neuer Decodierversuch (in demselben Lesezyklus) mit einem anderen Satz von Bildern beginnen. Bei einigen Ausführungsformen kann zum Beispiel eine maximale Anzahl von acht Bildern definiert sein, so dass in dem Fall, dass ein Satz von acht Bildern mit dem entsprechenden Tool nicht zu einer erfolgreichen Decodierung führt, ein neuer Satz von acht Bildern für einen neuen Decodierversuch verwendet werden kann.
  • Selbst wenn ein jeweiliger Satz von Bildern nicht zu einer erfolgreichen Decodierung führt, können bestimmte Bilder in dem Satz dennoch für nachfolgende Decodierversuche wertvoll sein. Wenn also ein anfänglicher Satz von Bildern nicht zu einem erfolgreichen Decodierversuch führt und ein neuer Satz von Bildern für einen neuen Decodierversuch zusammengestellt wird, kann bei einigen Ausführungsformen ein punkthöchstes Bild (eines oder mehrere) aus dem anfänglichen Satz von Bildern als Teil des neuen Satzes von Bildern bestimmt (d. h. als ein „Stammbild” für den neuen Satz von Bildern übertragen) werden. In diesem Fall kann die Zuordnung von Punktwerten zu Bildern in dem neuen (oder weiteren) Satz auf Grundlage der Art der erfolgreichen Decodierung des ausgewiesenen Bilds aus dem anfänglichen Bildsatz moderiert werden. Trägt ein Stammbild aus einem anfänglichen Satz von Bildern zu einem erfolgreichen Decodierversuch mit einem neuen Satz von Bildern bei, kann dem Stammbild beispielsweise ein erhöhter Punktwert (z. B. 600 von 1000 Punkten) zugeordnet werden, während die übrigen Punkte (z. B. 400 von 1000) unter den übrigen Bildern des neuen Satzes von Bildern aufgeteilt werden.
  • Bezugnehmend auf 36 führt beispielsweise eine Stitch-Analyse eines anfänglichen Satzes 350 von Bildern zwar nicht zu einem erfolgreichen Decodierversuch, aber ein Bild 352 des Satzes 350 kann verglichen mit den anderen Bildern 352 im Bezug auf Decodierversuche an dem Satz 350 (z. B. im Bezug auf die Darstellung eines Symbols (oder eines Symbolteils) in dem Bild 352) eine relativ hohe Punktzahl erreichen. Da in dem Satz 350 bereits die maximale Anzahl von Bildern (z. B. acht Bilder) enthalten sein kann, können keine zusätzlichen Bilder mehr zu dem Satz 350 hinzugefügt werden. Stattdessen wird ein neuer Satz 354 von Bildern bezogen. Da das Bild 352 jedoch im Bezug auf Decodierversuche an dem Satz 350 eine relativ hohe Punktzahl erreicht hat, kann das Bild 352 als Stammbild in den neuen Satz 354 von Bildern übernommen werden.
  • Bei einigen Ausführungsformen können andere Vorgänge umgesetzt werden, um Informationen aus einem Bild des anfänglichen Satzes von Bildern 350 in Verbindung mit Informationen aus für den neuen Satz 354 von Bildern aufgenommenen Bildern zu verwenden. Nach der Identifizierung eines punkthöchsten (oder anderweitig punkthohen) Bilds des anfänglichen Satzes 350 von Bildern kann dieses Bild selbst für den neuen Satz 354 bestimmt werden oder ein anderes Bild, das mit den gleichen Aufnahmeeinstellungen wie das punkthöchste Bild aufgenommen wurde, kann für den neuen Satz 354 bestimmt werden. Das bestimmte Bild (z. B. Bild 352 oder ein auf gleiche Weise aufgenommenes anderes Bild) kann tatsächlich als Teil des neuen Satzes 354 gespeichert werden, oder es können Informationen aus dem ausgewiesenen Bild zusammen mit Informationen aus anderen Bildern in dem neuen Satz 354 verwendet werden, ohne das Bild 352 als Teil des neuen Satzes 354 zu speichern. Wenn als Beispiel für letzteren Fall das Bild 352 für den neuen Satz 354 bestimmt wurde, kann das Bild 352 für eine Decodierung verarbeitet werden, ohne notwendigerweise in seiner Gesamtheit als Teil des neuen Satzes 354 gespeichert zu werden. Die Ergebnisse der Verarbeitung des Bilds 352 können dann in Kombination mit den Ergebnissen der Verarbeitung anderer Bilder in dem neuen Satz 354 für einen Decodierversuch an einem entsprechenden Symbol verwendet werden.
  • Bei einigen Ausführungsformen können bestimmte Strategien zur Zuordnung von Punkten zu mittels eines OCR-Tools analysierten Bildern eingesetzt werden. Ermöglicht beispielsweise ein Bild eine erfolgreiche Decodierung von einem oder mehreren Buchstaben an bestimmten Positionen, kann dem Bild ein Prozentteil der pro Buchstabe verfügbaren Punkte zugeordnet werden. Wenn zum Beispiel eine Textfolge mit zwölf Buchstaben decodiert werden soll, können einem Bild, das eine erfolgreiche Decodierung von einem oder mehreren Buchstaben der Folge ermöglicht, ungefähr 8,3% der pro Buchstabe verfügbaren Punkte zugeordnet werden.
  • Wenn als weiteres Beispiel ein Bild die erfolgreiche Decodierung einer gesamten Buchstabenfolge ermöglicht, kann dem einen Bild die Gesamtzahl an verfügbaren Punkten zugeordnet werden. Wenn jedoch ein Bild die erfolgreiche Decodierung der Folge ermöglicht, ein oder mehrere weitere Bilder aber eine erfolgreiche Decodierung bestimmter Buchstaben der Folge ermöglichen, können Punktwerte jeweils unter den beitragenden Bildern aufgeteilt werden. Einem Bild, das eine erfolgreiche Decodierung der Folge im Ganzen ermöglicht, kann beispielsweise ein fester Prozentteil (allgemein X Prozent) der verfügbaren Punkte zugeordnet werden, während dem weiteren Bild (oder den weiteren Bildern) Punkte nach folgender Berechnung zugeordnet werden können: Punkte = 1/(CT)·(100 – X)/100·CD), (2) wobei CT die Gesamtzahl an Buchstaben in der Folge angibt und CD die Anzahl von Buchstaben angibt, die anhand des Bildes decodiert wurden, dem die Punkte zugeordnet werden sollen.
  • Bei einigen Ausführungsformen kann sich die Anzahl verfügbarer Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) im Verlauf einer Operation oder einer Reihe von Operationen verändern. Bezüglich des Systems 30 kann ein Nutzer zum Beispiel in der Lage sein, Hilfslichteinstellungen zu aktivieren oder zu deaktivieren, so dass sich die Anzahl von verfügbaren Lichteinstellungen in Abhängigkeit von einer Nutzereingabe verändern kann. Wenn eine Tabelle von EMA-Werten für vorherige Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) (z. B. wie oben beschrieben) erstellt wurde und zusätzliche Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) verfügbar werden, kann es nützlich sein, sicherzustellen, dass die Summe der EMA-Werte, einschließlich derer für die zusätzlichen Lichteinstellungen (oder anderen Bildaufnahmeeinstellungen), gleich der maximalen Anzahl von Punkten (in den obigen Beispielen z. B. 1000 Punkten) bleiben. Wenn zusätzliche Lichteinstellungen (oder andere Bildaufnahmeeinstellungen) verfügbar werden, können den zusätzlichen Lichteinstellungen (oder anderen Bildaufnahmeeinstellungen) dementsprechend zunächst EMA-Werte von null zugeordnet werden.
  • Wenn eine Tabelle von EMA-Werten für verschiedene Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) (z. B. wie oben beschrieben) erstellt wurde und einige der Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) für nachfolgende Decodieroperationen nicht verfügbar werden, können die EMA-Werte für die nunmehr nicht verfügbaren Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) auf die übrigen Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) aufgeteilt werden. Beispielsweise bleibt auf diese Weise die Summe von EMA-Werten für verfügbare Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) gleich der maximalen Anzahl an Punkten. Wenn die EMA-Werte für die nunmehr nicht verfügbaren Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) des Weiteren gleichmäßig auf die übrigen Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) aufgeteilt werden, kann eine (z. B. auf den EMA-Werten basierende) aktuelle sortierte Reihenfolge der übrigen Bildaufnahmeeinstellungen (z. B. Lichteinstellungen) beibehalten werden.
  • Bei einigen Ausführungsformen kann jedes Decodiertool sowohl im Erfolgs- als auch im Versagensfall einen ResultContributors-Vektor über einen Getter vorsehen, unter anderem gemäß den folgenden Befehlen:
    Figure DE102016114745A1_0002
    Figure DE102016114745A1_0003
  • Somit können die von dem Tool ausgegebenen Sätze einen Bildindex (der z. B. ähnlich dem Index 302 von 29 eine Lichteinstellung (oder eine andere Bildaufnahmeeinstellung) angeben kann) und den Punktwert umfassen, den das Tool dem Bild ggf. zugeordnet hat.
  • Bei einigen Ausführungsformen kann der von dem Tool ausgegebene Bildindex die Reihenfolge (oder eine entsprechende Position der jeweiligen Bildaufnahmeeinstellung ein einer Bildaufnahmeeinstellungstabelle) angeben, mit der ein bestimmtes Bild dem Tool zur Analyse übergeben wurde. Wenn zum Beispiel ein Bild, das dem siebten Eintrag einer Lichteinstellungstabelle entsprechende Lichteinstellungen aufweist, einem Tool übergeben wird und dieses Bild zur Decodierung beiträgt, dann kann der Bildindexwert mit einem Wert von 7 ausgegeben werden.
  • Bei einigen Ausführungsformen kann in einem Versagensfall einer Analyse eines Satzes von Bildern durch ein Tool einem Bild, das für die Anzeige durch das Tool am geeignetsten angesehen wird, ein maximaler Punktwert (z. B. ein Punktwert von 1000) zugeordnet werden, während die übrigen Bilder in dem Satz einen Wert von 0 erhalten. Bei anderen Ausführungsformen werden für einen erfolglosen Decodierversuch ggf. keinem Bild Punkte zugeordnet.
  • Wenn ein Tool ein Symbol in einem bestimmten Lesezyklus erfolgreich decodiert, richtet sich der ResultContributors-Vektor gemäß den oben dargestellten beispielhaften Befehlen ggf. nur auf die Bilder, die zu der erfolgreichen Decodierung beigetragen haben. Im Versagensfall können jedoch andere Bilder angesteuert werden.
  • Bei einigen Ausführungsformen kann eine der oben mit Bezug auf die Aufnahmeeinstellungen beschriebenen Sortierung ähnliche Sortierung hinsichtlich der Nachbearbeitung verwendet werden. Beispielsweise können verschiedene Arten der Nachbearbeitung (z. B. Anwendung verschiedener Bildfiltereinstellungen oder Anpassungen des Bereichs von Interesse) auf verschiedene aufgenommene Bilder angewendet werden. Eine Nachbearbeitungseinstellungsreihenfolge kann auf Grundlage des Beitrags der verschiedenen nachbearbeiteten Bilder zu einem Decodierversuch für die Bilder bestimmt werden, wobei Nachbearbeitungseinstellungen für Bilder mit stärkeren Beiträgen zu einem Decodierversuch ein höherer Auswirkungspunktwert (d. h. ein größerer Punktwert) zugeordnet wird als Nachbearbeitungseinstellungen für Bilder mit schwächeren Beiträgen zum Decodierversuch. Bei einigen Ausführungsformen kann diese Zuordnung von Punkten auf ähnliche Weise wie die oben für die Aufnahmereihenfolge beschriebene Zuordnung von Punkten erfolgen.
  • Nach ihrer Bestimmung kann die Nachbearbeitungseinstellungsreihenfolge dann zur Steuerung nachfolgender Decodierversuche verwendet werden. Die (z. B. für nachfolgende Lesezyklen aktualisierte) Nachbearbeitungseinstellungsreihenfolge kann beispielsweise verwendet werden, um eine Anwendungsreihenfolge einer Nachbearbeitung auf Bilder zu bestimmen, die einem neuen Decodierversuch unterzogen werden, oder um Decodierversuche für bestimmte Bilder zu priorisieren, die bereits mit bestimmten Nachbearbeitungseinstellungen verarbeitet wurden.
  • Erneut bezugnehmend auf 34 und 35 können beispielsweise während Lesezyklus 8 verschiedene Arten der Nachbearbeitung auf die Bilder mit den Lichteinstellungen 8, 13 und 14 angewendet worden sein, was zumindest teilweise zu den verhältnismäßigen Beiträgen dieser Bilder zu einem Decodierversuch und den entsprechenden erhöhten Punktzuordnungen für diese Bilder beitragen kann. Auf Grundlage der Punktzuordnungen und der für bestimmte Bilder verwendeten jeweiligen Arten der Nachbearbeitung kann für bestimmte Arten der Nachbearbeitung oder für bestimmte Bilder eine Nachbearbeitungseinstellungsreihenfolge bestimmt werden. Während Lesezyklus 9 können dann auf Grundlage der Nachbearbeitungseinstellungsreihenfolge bestimmte Nachbearbeitungsarten auf aufgenommene Bilder angewendet oder bestimmte nachbearbeitete Bilder für die Decodierung priorisiert werden. Nachbearbeitungseinstellungen für ein neues Bild können beispielsweise auf Grundlage der Priorisierung der Einstellungen in der Nachbearbeitungseinstellungsreihenfolge bestimmt werden.
  • Bei einigen Ausführungsformen kann eine bestimmte Aufnahmeeinstellungsreihenfolge alternativ (oder zusätzlich) zur Beeinflussung einer Aufnahmereihenfolge eine Verarbeitungsreihenfolge (z. B. eine Reihenfolge, in der die Bilder in einem Symboldecodierversuch verarbeitet werden) beeinflussen. Noch immer bezugnehmend auf 35 kann eine Aufnahmeeinstellungsreihenfolge für den Lesezyklus 10 beispielsweise die von den Indexwerten 5, 8, 7 und 3 angegebenen Aufnahmeeinstellungen in dieser Reihenfolge priorisieren, selbst wenn die Bilder für den Lesezyklus 10 mit einer anderen Reihenfolge von Aufnahmeeinstellungen (z. B. 8, 7, 5, dann 3) aufgenommen wurden. Hierbei kann die in 35 dargestellte Aufnahmeeinstellungsreihenfolge somit alternativ (oder zusätzlich) als Verarbeitungsreihenfolge für aufgenommene Bilder angesehen werden, welche die Reihenfolge definieren kann, in der die mit bestimmten Aufnahmeeinstellungen aufgenommenen Bilder verarbeitet werden können, um eine Decodierung von darin dargestellten Symbolen zu versuchen.
  • Obwohl die vorliegende Technologie mit Bezug auf bevorzugte Ausführungsformen beschrieben wurde, erkennt der Fachmann, dass Veränderungen an der Form und den Details vorgenommen werden können, ohne von der Idee und dem Umfang der Technologie abzuweichen. Die vorliegende Technologie ist beispielsweise nicht auf die Ausführungsformen von 2D-DataMatrix-Symbolen beschränkt und kann mit anderen maschinenlesbaren Symboltechnologien umgesetzt werden.
  • Die hier beschriebenen spezifischen Verfahren können auf tragbare Anwendungen verallgemeinert werden, und die hier beschriebenen Korrespondenzverfahren können auf Musterausrichtungsanwendungen verallgemeinert werden.
  • Die hier offenbarte Erfindung kann auf das Stitching von Daten für andere ID-Anwendungen, wie z. B. das OCR-Lesen aus mehreren Bildern angewendet werden. Ein bekanntes Verfahren des OCR-Lesens aus mehreren Bildern besteht darin, Lesebuchstaben mit der höchsten Punktzahl aus einzelnen Bildern auszuwählen. Das bekannte Verfahren macht es erforderlich, dass einzelne Buchstaben aus mindestens einem Bild lesbar sind. Mit dieser Erfindung kann das Buchstabenlesen nach einer Kombinierung von einzelnen Strichen eines Buchstabens aus mehreren Bildern stattfinden.
  • Die vorstehend offenbarten jeweiligen Ausführungsformen dienen lediglich der Veranschaulichung, da die Erfindung auf verschiedene, aber gleichwertige Arten modifiziert und ausgeführt werden kann, die dem Fachmann in Kenntnis der vorliegenden Lehren offensichtlich sind. Des Weiteren sind keine Beschränkungen der hier gezeigten konstruktiven oder gestalterischen Details außer den in den nachfolgenden Ansprüchen beschriebenen vorgesehen. Es ist somit offensichtlich, dass die jeweiligen vorstehend offenbarten Ausführungsformen verändert oder modifiziert werden können und dass sämtliche derartige Variationen als Teil des Umfangs und der Idee der Erfindung angesehen werden. Dementsprechend ist das Schutzbegehren in den nachfolgenden Ansprüchen dargelegt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 7016539 [0058]

Claims (29)

  1. System zum Decodieren eines Symbols mittels Bildern des Symbols, wobei das System Folgendes umfasst: eine Bilderfassungsvorrichtung zum Aufnehmen mehrerer Bilder, wobei jedes der aufgenommenen Bilder eine jeweilige Symboldatenregion umfasst; einen mit der Bilderfassungsvorrichtung operativ gekoppelten Prozessor, wobei der Prozessor dazu ausgebildet ist: eine erste Vielzahl von Bildern für einen ersten Lesezyklus des Systems zu empfangen, wobei die Aufnahme der ersten Vielzahl von Bildern durch die Bilderfassungsvorrichtung unter Verwendung jeweiliger Aufnahmeeinstellungen in einer ersten Aufnahmereihenfolge erfolgt, wobei die erste Vielzahl von Bildern unter Verwendung von gemäß einer Ausgangsaufnahmeeinstellungsreihenfolge bestimmten ersten bzw. zweiten Aufnahmeeinstellungen aufgenommene erste und zweite Bilder umfasst; einen Daten-Stitching-Algorithmus auszuführen, umfassend: Erzeugen eines synthetischen Modells des Symbols, wobei es sich bei dem synthetischen Modell um ein Modell einer Vielzahl von bekannten Merkmalen des Symbols handelt; Vergleichen des synthetischen Modells des Symbols mit zumindest den ersten und zweiten Bildern; Umwandeln einer ersten Symboldatenregion des ersten Bilds in eine erste Binärmatrix und Umwandeln einer zweiten Symboldatenregion des zweiten Bilds in eine zweite Binärmatrix; und zumindest teilweises Kombinieren der ersten Binärmatrix mit der zweiten Binärmatrix zur Erzeugung einer kombinierten Binärmatrix, wobei die kombinierte Binärmatrix eine decodierbare Darstellung des Symbols ist; eine Decodierung des Symbols zumindest teilweise auf Grundlage der kombinierten Binärmatrix zu versuchen; und eine zweite Vielzahl von Bildern für einen zweiten Lesezyklus des Systems zu empfangen, wobei die Aufnahme der zweiten Vielzahl von Bildern durch die Bilderfassungsvorrichtung unter Verwendung von gemäß einer aktualisierten Aufnahmeeinstellungsreihenfolge bestimmten aktualisierten Aufnahmeeinstellungen in einer zweiten Aufnahmereihenfolge erfolgt, wobei die Bestimmung der aktualisierten Aufnahmeeinstellungsreihenfolge zumindest teilweise auf Grundlage erster bzw. zweiter Beiträge der ersten und zweiten Bilder zu dem Symboldecodierversuch erfolgt.
  2. System nach Anspruch 1, wobei in dem Fall, dass das erste Bild zu einem höheren Grad zu einer erfolgreichen Decodierung des Symbols beiträgt als das zweite Bild, die ersten Aufnahmeeinstellungen als den zweiten Aufnahmeeinstellungen in der aktualisierten Aufnahmeeinstellungsreihenfolge vorangestellt bestimmt sind.
  3. System nach Anspruch 1 oder 2, wobei bei einer Definierung von sich von den ersten und zweiten Aufnahmeeinstellungen unterscheidenden Aufnahmeeinstellungen für einen zweiten Lesezyklus durch einen Nutzer die nutzerdefinierten Aufnahmeeinstellungen als den ersten und zweiten Aufnahmeeinstellungen in der aktualisierten Aufnahmeeinstellungsreihenfolge vorangestellt bestimmt sind.
  4. System nach einem der Ansprüche 1 bis 3, wobei der Prozessor zur Bestimmung der aktualisierten Aufnahmeeinstellungsreihenfolge zumindest teilweise auf Grundlage der ersten und zweiten Beiträge des Weiteren dazu ausgebildet ist: den ersten bzw. zweiten Aufnahmeeinstellungen mit den ersten und zweiten Beiträgen verknüpfte Punktwerte zuzuordnen; jeweils für die ersten und zweiten Aufnahmeeinstellungen zumindest teilweise auf Grundlage jeweiliger zuvor bestimmter Punktzahlen für die ersten und zweiten Ausgangsaufnahmeeinstellungen und zumindest teilweise auf Grundlage der den ersten und zweiten Aufnahmeeinstellungen zugeordneten jeweiligen Punktwerte einen jeweiligen Durchschnitt zu berechnen; und zumindest teilweise auf Grundlage der berechneten Durchschnitte die aktualisierte Aufnahmeeinstellungsreihenfolge zu bestimmen.
  5. System nach Anspruch 4, wobei mindestens einer der ersten und zweiten Aufnahmeeinstellungen zumindest teilweise auf Grundlage des entsprechenden mindestens einen Bilds der ersten und zweiten Bilder, das nicht zu einer erfolgreichen Decodierung beiträgt, Minimalauswirkungspunkte zugeordnet werden.
  6. System nach Anspruch 4 oder 5, wobei eine Berechnung der Durchschnitte nur erfolgt, wenn der Symboldecodierversuch für den ersten Lesezyklus zu einer erfolgreichen Decodierung des Symbols führt.
  7. System nach einem der Ansprüche 4 bis 6, wobei die Berechnung der Durchschnitte zumindest teilweise darauf basiert, dass der Prozessor auf eine gespeicherte Aufnahmeeinstellungstabelle mit einer Anzahl von Tabelleneinträgen zugreift, wobei die Tabelleneinträge jeweils ein Aufnahmeeinstellungsfeld und ein Sortierwertfeld umfassen, wobei das Sortierwertfeld für einen bestimmten Tabelleneintrag jeweils die für die von dem Aufnahmeeinstellungsfeld für den bestimmten Tabelleneintrag angegebenen Aufnahmeeinstellungen zuvor bestimmte Punktzahl angibt.
  8. System nach Anspruch 7, wobei der Prozessor des Weiteren dazu ausgebildet ist, die Einträge des Sortierwertfelds jeweils zumindest teilweise auf Grundlage der berechneten Durchschnitte zu aktualisieren; und wobei die Bestimmung der aktualisierten Aufnahmeeinstellungsreihenfolge zumindest teilweise auf Grundlage der aktualisierten Einträge des Sortierwertfelds erfolgt.
  9. System nach einem der Ansprüche 1 bis 8, wobei der Prozessor zur Bestimmung der aktualisierten Aufnahmeeinstellungsreihenfolge des Weiteren dazu ausgebildet ist: eine maximale Anzahl von Bildern für einen jeweiligen Decodierversuch festzulegen; einen die maximale Anzahl von Bildern enthaltenden ersten Teilsatz der ersten Vielzahl von Bildern zu identifizieren; den ersten Teilsatz von Bildern in einem Symboldecodierversuch zu verarbeiten; wenn die Verarbeitung des ersten Teilsatzes zu einer erfolgreichen Decodierung des Symbols führt, den zur Aufnahme der Bilder des ersten Teilsatzes verwendeten Aufnahmeeinstellungen Punktwerte zuzuordnen; und wenn die Verarbeitung des ersten Teilsatzes nicht zu einer erfolgreichen Decodierung führt: ein punkthöchstes Bild des ersten Teilsatzes zu identifizieren, wobei das punkthöchste Bild mit bestimmten Aufnahmeeinstellungen aufgenommen wurde; das punkthöchste Bild des ersten Teilsatzes und/oder ein weiteres mit den bestimmten Aufnahmeeinstellungen aufgenommenes Bild als Teil eines die maximale Anzahl von Bildern enthaltenden zweiten Teilsatzes der ersten Vielzahl von Bildern auszuweisen; den zweiten Teilsatz von Bildern in einem Symboldecodierversuch zu verarbeiten; und wenn die Verarbeitung des zweiten Teilsatzes zu einer erfolgreichen Decodierung führt, den zur Aufnahme der Bilder des zweiten Teilsatzes verwendeten Aufnahmeeinstellungen Punktwerte zuzuordnen.
  10. Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols, wobei das Verfahren Folgendes umfasst: Erzeugen eines synthetischen Modells des Symbols, wobei es sich bei dem synthetischen Modell um ein Modell einer Vielzahl von bekannten Merkmalen des Symbols handelt; Aufnehmen eines ersten Bilds und eines zweiten Bilds für einen ersten Lesezyklus mittels einer Bilderfassungsvorrichtung, wobei das erste Bild unter Verwendung erster Aufnahmeeinstellungen aufgenommen wird und eine erste Symboldatenregion umfasst und wobei das zweite Bild unter Verwendung zweiter Aufnahmeeinstellungen aufgenommen wird und eine zweite Symboldatenregion umfasst; Vergleichen des synthetischen Modells des Symbols mit dem ersten Bild und Extrahieren einer ersten Binärmatrix; Vergleichen des synthetischen Modells des Symbols mit dem zweiten Bild und Extrahieren einer zweiten Binärmatrix; zumindest teilweises Kombinieren der ersten Binärmatrix mit der zweiten Binärmatrix; und Erzeugen einer kombinierten Binärmatrix, wobei die kombinierte Binärmatrix eine decodierbare Darstellung des Symbols ist; Versuchen, das Symbol zumindest teilweise auf Grundlage der kombinierten Binärmatrix zu decodieren; Identifizieren erster bzw. zweiter Beiträge der ersten und zweiten Bilder zu dem Symboldecodierversuch; Bestimmen einer aktualisierten Aufnahmeeinstellungsreihenfolge für zumindest die ersten und zweiten Aufnahmeeinstellungen zumindest teilweise auf Grundlage der ersten und zweiten Beiträge; und Veranlassen der Bilderfassungsvorrichtung zur Aufnahme eines dritten Bilds für einen zweiten Lesezyklus, wobei das dritte Bild unter Verwendung dritter Aufnahmeeinstellungen aufgenommen wird, die zumindest teilweise auf Grundlage der aktualisierten Aufnahmeeinstellungsreihenfolge bestimmt werden.
  11. Verfahren nach Anspruch 10, wobei in dem Fall, dass das erste Bild zu einem höheren Grad zur erfolgreichen Decodierung des Symbols beiträgt als das zweite Bild, die ersten Aufnahmeeinstellungen als den zweiten Aufnahmeeinstellungen in der aktualisierten Aufnahmeeinstellungsreihenfolge vorangestellt bestimmt werden.
  12. Verfahren nach Anspruch 10 oder 11, wobei bei einer Definierung von Aufnahmeeinstellungen für den zweiten Lesezyklus durch einen Nutzer die nutzerdefinierten Aufnahmeeinstellungen als den ersten und zweiten Aufnahmeeinstellungen in der aktualisierten Aufnahmeeinstellungsreihenfolge vorangestellt bestimmt werden.
  13. Verfahren nach einem der Ansprüche 10 bis 12, wobei das Bestimmen der aktualisierten Aufnahmeeinstellungsreihenfolge zumindest teilweise auf Grundlage der ersten und zweiten Beiträge Folgendes umfasst: Zuordnen von mit den ersten bzw. zweiten Beiträgen verknüpften Punktwerten aus einer vorbestimmten Anzahl von Gesamtpunkten zu den ersten und zweiten Aufnahmeeinstellungen; jeweils Berechnen eines jeweiligen gleitenden Durchschnitts für die ersten und zweiten Aufnahmeeinstellungen zumindest teilweise auf Grundlage von jeweils zuvor bestimmten Punktzahlen für die ersten und zweiten Ausgangsaufnahmeeinstellungen und zumindest teilweise auf Grundlage der den ersten und zweiten Aufnahmeeinstellungen zugeordneten jeweiligen Punktwerte; und Bestimmen der aktualisierten Aufnahmeeinstellungsreihenfolge zumindest teilweise auf Grundlage der berechneten gleitenden Durchschnitte.
  14. Verfahren nach Anspruch 13, wobei mindestens einer der ersten und zweiten Aufnahmeeinstellungen zumindest teilweise auf Grundlage des entsprechenden mindestens einen Bilds der ersten und zweiten Bilder, das nicht zu einer erfolgreichen Decodierung des Symbols beiträgt, Minimalauswirkungspunkte zugeordnet werden.
  15. Verfahren nach Anspruch 13 oder 14, wobei die gleitenden Durchschnitte nur berechnet werden, wenn der Symboldecodierversuch für den ersten Lesezyklus zu einer erfolgreichen Decodierung des Symbols führt.
  16. Verfahren nach einem der Ansprüche 10 bis 15, wobei mindestens eine der ersten, zweiten und dritten Aufnahmeeinstellungen einen Lichtmodus, eine Bildbelichtung, eine Bildverstärkung und/oder einen Bild-Offset definiert.
  17. Verfahren nach einem der Ansprüche 10 bis 16, wobei der Symboldecodierversuch des Weiteren zumindest teilweise auf dem Anwenden einer Nachbearbeitung auf die ersten und zweiten Bilder gemäß erster bzw. zweiter Nachbearbeitungseinstellungen beruht, wobei die ersten und zweiten Nachbearbeitungseinstellungen eine oder mehrere Bildfiltereinstellungen und eine Anpassung eines Bereichs von Interesse umfassen; wobei das Verfahren des Weiteren das Bestimmen einer aktualisierten Nachbearbeitungseinstellungsreihenfolge zumindest teilweise auf Grundlage der ersten und zweiten Beiträge umfasst; und wobei das dritte Bild nach seiner Aufnahme unter Verwendung dritter Nachbearbeitungseinstellungen bearbeitet wird, die zumindest teilweise auf Grundlage der aktualisierten Nachbearbeitungseinstellungsreihenfolge bestimmt werden.
  18. Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols, wobei erste Bilder mit einer Bilderfassungsvorrichtung in einer ersten Aufnahmereihenfolge unter Verwendung einer Ausgangsabfolge von jeweiligen Aufnahmeeinstellungen aufgenommen werden, die zumindest teilweise auf Grundlage einer Ausgangsaufnahmeeinstellungsreihenfolge bestimmt wird, wobei das Verfahren Folgendes umfasst: Verarbeiten der ersten Bilder in einem Symboldecodierversuch durch zumindest teilweises Stitching von Bilddaten von zwei oder mehr der ersten Bilder; Identifizieren eines entsprechenden mindestens einen Beitrags zu dem Symboldecodierversuch für mindestens eines der zwei oder mehr der ersten Bilder, das unter Verwendung von mindestens einer der Ausgangsaufnahmeeinstellungen aufgenommen wurde; Bestimmen einer aktualisierten Aufnahmeeinstellungsreihenfolge für die kollektiven Ausgangsaufnahmeeinstellungen zumindest teilweise auf Grundlage des mindestens einen Beitrags; und Aufnehmen zweiter Bilder mit der Bilderfassungsvorrichtung unter Verwendung einer aktualisierten Abfolge zweiter Aufnahmeeinstellungen, die zumindest teilweise auf Grundlage der aktualisierten Aufnahmeeinstellungsreihenfolge bestimmt wird, und/oder Verarbeiten der zweiten Bilder in einem Decodierversuch unter Verwendung einer Verarbeitungsreihenfolge, die zumindest teilweise auf Grundlage der aktualisierten Aufnahmeeinstellungsreihenfolge bestimmt wird.
  19. Verfahren nach Anspruch 18, wobei der Symboldecodierversuch das Anwenden einer Nachbearbeitung auf die zwei oder mehr ersten Bilder zumindest teilweise auf Grundlage einer Ausgangsnachbearbeitungseinstellungsreihenfolge umfasst; wobei das Verfahren des Weiteren das Bestimmen einer aktualisierten Nachbearbeitungseinstellungsreihenfolge zumindest teilweise auf Grundlage des mindestens einen Beitrags umfasst; und wobei die zweiten Bilder nach der Aufnahme zumindest teilweise auf Grundlage der aktualisierten Nachbearbeitungseinstellungsreihenfolge bearbeitet werden.
  20. Verfahren nach Anspruch 19, wobei die Nachbearbeitung das Anwenden eines oder mehrerer Bildfilter auf mindestens eines der zwei oder mehr der ersten Bilder und/oder das Anpassen eines oder mehrerer Bereiche von Interesse für mindestens eines der zwei oder mehr der ersten Bilder umfasst; und wobei die Ausgangsnachbearbeitungseinstellungsreihenfolge bzw. die aktualisierte Nachbearbeitungseinstellungsreihenfolge Ausgansreihenfolgen bzw. aktualisierte Reihenfolgen für das Anwenden eines oder mehrerer Bildfilter und/oder das Anpassen eines oder mehrerer Bereiche von Interesse angeben.
  21. System zum Decodieren eines Symbols mittels Bildern des Symbols, wobei das System Folgendes umfasst: eine Bilderfassungsvorrichtung zum Aufnehmen mehrerer Bilder, wobei jedes der aufgenommenen Bilder eine jeweilige Symboldatenregion umfasst; einen mit der Bilderfassungsvorrichtung operativ gekoppelten Prozessor, wobei der Prozessor dazu ausgebildet ist: eine erste Vielzahl von Bildern für einen ersten Lesezyklus des Systems zu empfangen, wobei die Aufnahme der ersten Vielzahl von Bildern durch die Bilderfassungsvorrichtung unter Verwendung jeweiliger Aufnahmeeinstellungen in einer ersten Aufnahmereihenfolge erfolgt, wobei die erste Vielzahl von Bildern unter Verwendung von gemäß einer Ausgangsaufnahmeeinstellungsreihenfolge bestimmten ersten bzw. zweiten Aufnahmeeinstellungen aufgenommene erste und zweite Bilder umfasst; einen Daten-Stitching-Algorithmus auszuführen, umfassend: Erzeugen eines synthetischen Modells des Symbols, wobei es sich bei dem synthetischen Modell um ein Modell einer Vielzahl von bekannten Merkmalen des Symbols handelt; Vergleichen des synthetischen Modells des Symbols mit zumindest den ersten und zweiten Bildern; Umwandeln einer ersten Symboldatenregion des ersten Bilds in eine erste Binärmatrix und Umwandeln einer zweiten Symboldatenregion des zweiten Bilds in eine zweite Binärmatrix; und zumindest teilweises Kombinieren der ersten Binärmatrix mit der zweiten Binärmatrix zur Erzeugung einer kombinierten Binärmatrix, wobei die kombinierte Binärmatrix eine decodierbare Darstellung des Symbols ist; eine Decodierung des Symbols zumindest teilweise auf Grundlage der kombinierten Binärmatrix zu versuchen; und eine zweite Vielzahl von Bildern für einen zweiten Lesezyklus des Systems zu empfangen, wobei die Verarbeitung der zweiten Vielzahl von Bildern zur Decodierung in einer Verarbeitungsreihenfolge erfolgt, wobei die Bestimmung der Verarbeitungsreihenfolge zumindest teilweise auf Grundlage erster bzw. zweiter Beiträge der ersten und zweiten Bilder zu dem Symboldecodierversuch erfolgt.
  22. System nach Anspruch 21, wobei in dem Fall, dass das erste Bild zu einem höheren Grad zur erfolgreichen Decodierung des Symbols beiträgt als das zweite Bild, mit den ersten Aufnahmeeinstellungen aufgenommene Bilder als mit den zweiten Aufnahmeeinstellungen aufgenommenen Bildern in der Verarbeitungsreihenfolge vorangestellt bestimmt sind.
  23. System nach Anspruch 21 oder 22, wobei bei einer Definierung von Aufnahmeeinstellungen für den zweiten Lesezyklus durch einen Nutzer eine Priorisierung von mit den nutzerdefinierten Aufnahmeeinstellungen aufgenommenen Bildern in der Verarbeitungsreihenfolge erfolgt.
  24. System nach einem der Ansprüche 21 bis 23, wobei der Prozessor zur Bestimmung der Verarbeitungsreihenfolge zumindest teilweise auf Grundlage der ersten und zweiten Beiträge des Weiteren dazu ausgebildet ist: den ersten bzw. zweiten Aufnahmeeinstellungen mit den ersten und zweiten Beiträgen verknüpfte Punktwerte zuzuordnen; jeweils für die ersten und zweiten Aufnahmeeinstellungen zumindest teilweise auf Grundlage jeweiliger zuvor bestimmter Punkte für die ersten und zweiten Ausgangsaufnahmeeinstellungen und zumindest teilweise auf Grundlage der den ersten und zweiten Aufnahmeeinstellungen zugeordneten jeweiligen Punktwerte einen jeweiligen Durchschnitt zu berechnen; und zumindest teilweise auf Grundlage der berechneten Durchschnitte die Verarbeitungsreihenfolge zu bestimmen.
  25. System nach Anspruch 24, wobei mindestens einer der ersten und zweiten Aufnahmeeinstellungen zumindest teilweise auf Grundlage des entsprechenden mindestens einen Bilds der ersten und zweiten Bilder, das nicht zu einer erfolgreichen Decodierung des Symbols beiträgt, Minimalauswirkungspunkte zugeordnet werden.
  26. System nach Anspruch 24 oder 25, wobei eine Berechnung der Durchschnitte nur erfolgt, wenn der Symboldecodierversuch zu einer erfolgreichen Decodierung des Symbols für den ersten Lesezyklus führt.
  27. System nach einem der Ansprüche 24 bis 26, wobei die Berechnung der Durchschnitte zumindest teilweise darauf basiert, dass der Prozessor auf eine gespeicherte Aufnahmeeinstellungstabelle mit einer Anzahl von Tabelleneinträgen zugreift, wobei die Tabelleneinträge jeweils ein Aufnahmeeinstellungsfeld und ein Sortierwertfeld umfassen, wobei das Sortierwertfeld für einen entsprechenden Tabelleneintrag jeweils die für die von dem Aufnahmeeinstellungsfeld für den entsprechenden Tabelleneintrag angegebenen Aufnahmeeinstellungen zuvor bestimmte Punktzahl angibt.
  28. System nach Anspruch 27, wobei der Prozessor des Weiteren dazu ausgebildet ist, die Einträge des Sortierwertfelds jeweils zumindest teilweise auf Grundlage der berechneten Durchschnitte zu aktualisieren; und wobei die Bestimmung der aktualisierten Verarbeitungsreihenfolge zumindest teilweise auf Grundlage der aktualisierten Einträge des Sortierwertfelds erfolgt.
  29. System nach einem der Ansprüche 21 bis 28, wobei der Prozessor zur Bestimmung der Verarbeitungsreihenfolge des Weiteren dazu ausgebildet ist: eine maximale Anzahl von Bildern für einen bestimmten Decodierversuch festzulegen; einen die maximale Anzahl von Bildern enthaltenden ersten Teilsatz der ersten Vielzahl von Bildern zu identifizieren; den ersten Teilsatz von Bildern in einem Symboldecodierversuch zu verarbeiten; wenn die Verarbeitung des ersten Teilsatzes zu einer erfolgreichen Decodierung des Symbols führt, den zur Aufnahme der Bilder des ersten Teilsatzes verwendeten Aufnahmeeinstellungen Punktwerte zuzuordnen; und wenn die Verarbeitung des ersten Teilsatzes nicht zu einer erfolgreichen Decodierung führt: ein punkthöchstes Bild des ersten Teilsatzes zu identifizieren, wobei das punkthöchste Bild mit bestimmten Aufnahmeeinstellungen aufgenommen wurde; das punkthöchste Bild des ersten Teilsatzes und/oder ein weiteres mit den bestimmten Aufnahmeeinstellungen aufgenommenes Bild als Teil eines die maximale Anzahl von Bildern enthaltenden zweiten Teilsatzes der ersten Vielzahl von Bildern zu bestimmen; den zweiten Teilsatz von Bildern in einem Symboldecodierversuch zu verarbeiten; und wenn die Verarbeitung des zweiten Teilsatzes zu einer erfolgreichen Decodierung führt, den zur Aufnahme der Bilder des zweiten Teilsatzes verwendeten Aufnahmeeinstellungen Punktwerte zuzuordnen.
DE102016114745.1A 2015-08-10 2016-08-09 Systeme und Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols Active DE102016114745B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/821,920 2015-08-10
US14/821,920 US9600703B2 (en) 2013-03-15 2015-08-10 Systems and methods for sorting image acquisition settings for pattern stitching and decoding using multiple captured images

Publications (2)

Publication Number Publication Date
DE102016114745A1 true DE102016114745A1 (de) 2017-02-16
DE102016114745B4 DE102016114745B4 (de) 2022-12-22

Family

ID=57907867

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016114745.1A Active DE102016114745B4 (de) 2015-08-10 2016-08-09 Systeme und Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols

Country Status (2)

Country Link
JP (1) JP6457983B2 (de)
DE (1) DE102016114745B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245845B2 (en) 2020-06-04 2022-02-08 Hand Held Products, Inc. Systems and methods for operating an imaging device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7334561B2 (ja) 2019-09-26 2023-08-29 マツダ株式会社 突合せ溶接方法及びその装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3516144B1 (ja) * 2002-06-18 2004-04-05 オムロン株式会社 光学情報コードの読取方法および光学情報コード読取装置
JP3960181B2 (ja) * 2002-09-20 2007-08-15 株式会社デンソーウェーブ 光学的情報読取装置
JP3548783B2 (ja) * 2002-12-10 2004-07-28 オムロン株式会社 光学コード読取方法及び装置
US8011583B2 (en) * 2007-07-02 2011-09-06 Microscan Systems, Inc. Systems, devices, and/or methods for managing data matrix lighting
US9734376B2 (en) 2007-11-13 2017-08-15 Cognex Corporation System and method for reading patterns using multiple image frames
JP5358384B2 (ja) * 2009-10-01 2013-12-04 株式会社キーエンス 光学的情報読取装置及びその撮像条件設定方法
US8542930B1 (en) 2010-12-30 2013-09-24 Cognex Corporation Mark reader configured to prioritize images
US9104932B2 (en) * 2013-03-15 2015-08-11 Cognex Corporation Systems and methods for pattern stitching and decoding using multiple captured images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245845B2 (en) 2020-06-04 2022-02-08 Hand Held Products, Inc. Systems and methods for operating an imaging device
US11611696B2 (en) 2020-06-04 2023-03-21 Hand Held Products, Inc. Systems and methods for operating an imaging device
US11871126B2 (en) 2020-06-04 2024-01-09 Hand Held Products, Inc. Systems and methods for operating an imaging device

Also Published As

Publication number Publication date
DE102016114745B4 (de) 2022-12-22
JP2017038368A (ja) 2017-02-16
JP6457983B2 (ja) 2019-01-23

Similar Documents

Publication Publication Date Title
DE102012110375B4 (de) Verfahren und Vorrichtung zum Dekodieren von auf Objekten aufgetragenen Codes für den Einsatz mit einem Bildsensor, der ein zweidimensionales Sichtfeld beinhaltet
DE102012110376B4 (de) Verfahren und Vorrichtung zum Ordnen von Codekandidaten in einem Bild für Dekodierversuche
EP2417561B1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
DE2831582C2 (de) Verfahren zur Identifizierung einer Person und Vorrichtung zur Durchführung des Verfahrens
DE112016004535T5 (de) Universelles Übereinstimmungsnetz
DE60123088T2 (de) Verahren zur automatischen belichtungssteuerung
EP2555160B1 (de) Erzeugung eines in interessante und uninteressante Bereiche vorsegmentierten Bildes
DE102011056660B4 (de) Markierungsleser, der zum Priorisieren von Bildern eingerichtet ist und Verfahren zum Decodieren einer Markierung
DE102007035884B4 (de) Linienrauschunterdrückungsvorrichtung, -verfahren und -programm
DE102017100396A1 (de) Auf Straßenszenenbilder angewendete Klassifikatoren für hohe und niedrige Wiedergabetreue
DE102008060141B4 (de) Verfahren zur Vermessung des Wachstums von Blattscheiben sowie eine dazu geeignete Vorrichtung
DE102006010607A1 (de) Wahrscheinlichkeitstheoretischer Verstärkungsbaum-Rahmen zum Lernen von Unterscheidungsmodellen
DE102014019054A1 (de) Datenverarbeitungssystem und Verfahren zur Durchführung einer Gesichtserkennung
DE102018119682A1 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und nicht-vorübergehendes computerlesbares speichermedium
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE2829808A1 (de) Verfahren und vorrichtung zum lesen von zeichen
WO2011128089A1 (de) Verfahren zur konkretisierung eines substrates
DE102016114745B4 (de) Systeme und Verfahren zum Decodieren eines Symbols mittels Bildern des Symbols
DE102005025220B4 (de) Gerät, Verfahren und Programm zum Beseitigen von Poren
EP2064672A2 (de) Verfahren und vorrichtung zur bildverarbeitung
DE102006045828B4 (de) Verfahren und Vorrichtung zum Erkennen eines Gesichts sowie ein Gesichtserkennungsmodul
DE112012004267T5 (de) Verfahren und Vorrichtung zum automatischen Erkennen der Ausrichtung von Freiform-dokumenten mit Strichcodes
DE112019006564T5 (de) Kontinuierliches Lernen zur Objektverfolgung
DE102022109916A1 (de) Systeme und verfahren zur schnellen automatischen einstellung von industriellen festsicht-kameras
DE102021131172A1 (de) System und Verfahren zum Lokalisieren und Decodieren unlesbarer Datenmatrizen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final