DE102009016598A1 - Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes - Google Patents

Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes Download PDF

Info

Publication number
DE102009016598A1
DE102009016598A1 DE200910016598 DE102009016598A DE102009016598A1 DE 102009016598 A1 DE102009016598 A1 DE 102009016598A1 DE 200910016598 DE200910016598 DE 200910016598 DE 102009016598 A DE102009016598 A DE 102009016598A DE 102009016598 A1 DE102009016598 A1 DE 102009016598A1
Authority
DE
Germany
Prior art keywords
symbol
symbols
code
matrix
image
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.)
Withdrawn
Application number
DE200910016598
Other languages
English (en)
Inventor
Felix Bietenbeck
Herbert Zimmermann
Torben Prof. Dr.-Ing. Weis
Josef Prof. Dr. Pauli
Johannes Herwig
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.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Priority to DE200910016598 priority Critical patent/DE102009016598A1/de
Publication of DE102009016598A1 publication Critical patent/DE102009016598A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • 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

Landscapes

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

Abstract

Es wird ein zweidimensionaler Symbolcode zur Darstellung binärer Daten beschrieben, der aus mehreren nebeneinander angeordneten grafischen Symbolen aufgebaut ist, wobei der Symbolcode aus genau zwei verschiedenen Symbolen gleicher Fläche gebildet ist, die sich in ihrer flächigen Helligkeitsverteilung unterscheiden und jeweils einen Wert eines binären Datenworts kodieren. Die Symbole weisen eine komplementäre Helligkeitsverteilung auf. In einem Verfahren zum Lesen dieses zweidimensionalen Systemcodes wird auf den Systemcode ein Filter angewendet, welcher mit der Helligkeitsverteilung eines der beiden komplementären Symbole übereinstimmt, wobei im Falle einer Übereinstimmung das eine Symbol und im Falle einer nicht Übereinstimmung das andere Symbol erkannt wird.

Description

  • Die Erfindung betrifft einen zweidimensionalen, insbesondere maschinenlesbaren Symbolcode zur Darstellung binärer Daten, der aus mehreren in vorzugsweise horizontaler und/oder vertikaler Richtung nebeneinander angeordneten grafischen Symbolen aufgebaut ist, wobei der Symbolcode aus genau zwei verschiedenen Symbolen gleicher Fläche gebildet ist, die sich in ihrer flächigen Helligkeitsverteilung unterscheiden und jeweils einen Wert eines binären Datenworts kodieren. Ferner werden erfindungsgemäß ein Verfahren zum Lesen dieses Symbolcodes, eine besonders bevorzugte Verwendung und eine geeignete Lesevorrichtung beschrieben.
  • Um die Fertigung und Qualitätsprüfung von Produkten zu automatisieren, werden einzelne Bauteile, die in einer Produktionsstraße hauptsächlich maschinell zu einem Gesamtprodukt montiert werden, mit maschinenlesbaren Symbolcodes bestehend aus grafischen Symbolen markiert. An Montage- oder Prüfstationen einer Fertigungsanlage sind Lesegeräte so positioniert, dass diese die aufgebrachten Symbolcodes erfassen, lesen und auswerten können. Abhängig von dieser Auswertung kann dann der weitere Produktionsablauf gesteuert werden, beispielhaft durch Ansprechen einer Produktionsweiche, Greifen des Objekts durch einen Roboterarm oder sonstige Maßnahmen.
  • Soll ein bestimmtes Bauteil mit einem maschinenlesbaren Symbolcode, nachfolgend auch vereinfachend als Code bezeichnet, markiert werden, haben sich zweidimensionale Matrixcodes etabliert. Verglichen mit eindimensionalen Barcodes (auch Strichcode oder Balkencode genannt) haben zweidimensionale Codes eine viel höhere Datendich te, d. h. es können mehr Dateninformationen bei gleichem Platzbedarf an äußerer Fläche des zu markierenden Objekts enkodiert werden.
  • Einfache zweidimensionale Codes können als Stapel eindimensionaler Codes verstanden werden. Zweidimensionale Matrixcodes hingegen speichern Datenworte flächenhaft. Verbreitete eindimensionale Codes sind: EAN (European Article Number, ISO/IEC 15420), IAN (International article numbering), JAN (Japanese article numbering), 2/5 Interleaved (ISO/IEC 16390), Code39 (ISO/IEC 16388), Code93 sowie Code128. Als gestapelte eindimensionale Codes sind bekannt: Codablock oder PDF417.
  • Verbreitete zweidimensionale Matrixcodes sind: QR Code (Quick Response Code, ISO/IEC 18004), DataMatrix (DIN V 66401), MaxiCode, Aztec Code, Dotcode/Punktcode, MicroGlyph, Panamarks, Semacode, UPCODE, Trillcode, Quickmark, Shotcode, connexto oder Beetagg.
  • Eindimensionale Barcodes werden nur dort zur Automatisierung eingesetzt, wo wenige Daten gespeichert werden sollen, die verfügbare Fläche zum Aufbringen der Markierung groß ist und keine Verschmutzungen zu erwarten sind. Üblicherweise ist eine solche Aufbringfläche mehrere Zentimeter groß und ein Vielfaches breiter als hoch. Da numerische oder alpha-numerische Ziffern durch Variation der Abstände von hellen und dunklen Balken zueinander und der Balkenbreite kodiert sind, ist in der Praxis ein Kontrast von 50 bis 60 Prozent für eine erfolgreiche Auswertung notwendig. Aus demselben Grund führt Verschmutzung zu nicht behebbaren Lesefehlern. Diese Barcodes weisen keine Möglichkeit zur Fehlerkorrektur auf, haben jedoch eingebaute Parity-Bits zur Fehlererkennung. Ein Lesefehler kann daher zwar bemerkt, aber nicht korrigiert werden, weshalb sie für den eingangs genannten Zweck nicht robust genug sind.
  • Gestapelte zweidimensionale Codes haben eine erhöhte Datendichte. Ein typischer Abdruck des PDF417-Codes ist 7 bis 15 cm2 groß und erzielt eine typische Datendichte von 15,5 bis 46,5 Byte je cm2. Die maximale Codegröße ist auf 2000 8-Bit (Byte) Zeichen begrenzt. Der PDF417-Code ist fehlerkorrigierend. Bei gestapelten Codes muss die Abtastlinie beim Lesevorgang jedoch genau über der äquivalenten grafischen Symbollinie liegen, was deren erreichbare Kompaktheit begrenzt. Die Codierung kann auf numerische, alphanumerische und binäre Daten optimiert erfolgen.
  • Zweidimensionale Matrixcodes sind fehlerkorrigierend und kompakt, da die als Worte bezeichneten Datenwerte flächig gespeichert werden. Es werden also direkt die Binärdaten gespeichert und nicht zwischen numerischen oder alphanumerischen Werten unterschieden. Üblicherweise existieren jeweils ein grafisches Symbol, welches ein Eins-Wort, und ein zweites grafisches Symbol, welches ein Null-Wort charakterisiert. Bei einigen Matrixcodes, bspw. Data Matrix, besteht die Charakterisierung des Null-Worts auch durch das Nicht-Vorhandensein des Symbols für ein Eins-Wort an dieser Position. Dies erhöht jedoch die Fehleranfälligkeit, da das Nichterkennen eines Symbols zu der Annahme führen kann, dass dort das andere Symbol kodiert ist, auch wenn bspw. nur eine Verschmutzung oder Überblendung vorliegt. Bei einem Matrixcode wird ein Markierungsbereich gitterartig zeilen- und spaltenweise in meist gleich große Zellen unterteilt. In jede dieser Zellen wird ein Symbol geschrieben.
  • Ein zweidimensionaler Symbolcode wird dann entweder auf ein Etikett aus Papier gedruckt und dieses auf das zu markierende Objekt geklebt oder es wird nach dem sogenannten DPM-Verfahren (Direct Part Marking) direkt von insbesondere einem Laser auf das Objekt gebrannt bzw. allgemein aufgebracht. Wird Lasertechnik zum direkten Aufbrennen der graphischen Symbole eines solchen maschinenlesbaren Codes auf ein mechanisches oder elektronisches Bauteil angewandt, so müssen verfahrenstechnische Beschränkungen berücksichtigt werden, die Auswirkung auf die optische Qualität der aufgebrachten Markierungen haben und eine spätere Dekodierung der einzelnen Symbole durch ein Bildverarbeitungssystem beeinträchtigen.
  • Der Data Matrix Code ist eine quadratische oder rechteckige Symbolmatrix, die aus weißen (unbearbeitete Bereiche) und schwarzen (bearbeitete Bereiche) quadratischen Zellen besteht, welche jeweils den Wert eines einzelnen Bits kodieren. Er besitzt eine als „Finder Pattern” bezeichnete durchgehend schwarze Linie, die den Symbolbereich in X- und Y-Richtung vorgibt und mit der die Bildverarbeitung die Symbolmatrix lokalisieren und entzerren kann. An den jeweils gegenüberliegenden Seiten ist ein festes Muster zur Synchronisation angebracht, welches in einer Linie weiße und schwarze Quadrate in abwechselnder Reihenfolge enthält, die die Höhe bzw. Breite einer Zeile oder Spalte der Symbolmatrix angeben. Mehrere dieser Symbolmatrizen können direkt neben- und übereinandergelegt werden. Data Matrix unterstützt eine ECC200 Fehlerkorrektur nach Reed-Solomon mit bis zu 60% redundanter Information. Zwischen weißen und schwarzen grafischen Symbolen muss ein Kontrastunterschied von mindestens 20% bestehen.
  • Der QR-Code (Quick Response Code) ist von quadratischer Form und wurde zur Markierung von Baugruppen und Komponenten in der Automobilproduktion entwickelt. Der QR-Code hat zur einfachen Erkennung der Lage und seiner Ausrichtung vier spezielle Symbole, die als Anker bezeichnet werden. Diese dienen zur Lokalisierung und Entzerrung. Drei dieser Anker dienen als Hauptanker zur Positionserkennung und ein weiterer, kleinerer Anker dient zur Ausrichtung. Worte, d. h. die zugehören Datenwerte, sind in grafischen Symbolen kodiert, die schwarze ausgefüllte (bearbeitete Bereiche) und weiße weggelassene (unbearbeitete Bereiche) Quadrate darstellen, ähnlich Data Matrix. Zur Synchronisierung ist innerhalb der Symbolmatrix ein linienförmiges Muster von abwechselnd ausgefüllten und nicht ausgefüllten Quadraten für jede Richtungsachse enthalten. Der QR Code liegt in verschiedenen Typen und Formaten vor, wobei der Typ und das Format neben den drei Hauptankern fest codiert sind. Im Anschluss können die eigentlichen Datensymbole extrahiert und dekodiert werden. Der QR Code unterstützt bis zu 30% redundante Information durch Reed-Solomon Fehlerkorrektur.
  • Während Data Matrix und QR-Code spezielle grafische Muster zur Wiedergewinnung der Taktung in die grafische Symbolmatrix eingeflochten haben, ist der durch die Xerox Corporation entwickelte MicroGlyph-Code selbsttaktend und kommt ohne solche Synchronisationsmuster aus. Dieser Code ist beispielsweise in der US 5,862,271 beschrieben.
  • Die Eigenschaft der Selbsttaktung wird grundsätzlich dadurch erreicht, dass benachbarte grafische Symbole nicht miteinander verschmelzen, wie das etwa bei Data Matrix und QR der Fall ist, wenn jeweils mindestens zwei schwarze oder weiße quadratische Symbole direkte Nachbarn sind. Die grafischen Symbole werden hier als Glyphen bezeichnet und sind in vorbestimmter Verteilung von gekachelten Datenzellen auf eine Fläche gedruckt. Innerhalb einer Datenzelle befindet sich das grafisches Symbol, welches ein Wort kodiert. Eine dieser Datenzellen kann als Pixelbild aufgefasst werden, in das ein grafisches Symbol gezeichnet wird, wobei in den äußeren Randbereich einer Datenzelle möglichst nicht gezeichnet wird, um benachbarte Datenzellen voneinander trennbar zu halten.
  • Der Form eines solchen grafischen Symbols wird ein Wort zugeordnet. Eine solche Form hat dabei eine oder mehrere charakteristische Merkmale. Die bei einer speziellen Instanz eines solchen grafischen Symbols vorliegenden Ausprägungen der charakteristischen Formmerkmale geben in ihrer Gesamtheit das kodierte Wort an. Um ein Wort aus einem gegebenen grafischen Symbol zu dekodieren, werden in der Bildanalyse mehrere Filter auf das grafische Symbol angewandt, die jeweils auf ein einziges der möglichen vorgegebenen Formmerkmale besonders gut ansprechen und dabei zu allen anderen, möglicherweise zusätzlich vorliegenden Formmerkmalen möglichst keine Filterantwort erzeugen. Nachdem jeder Filter angewandt worden ist, wird aufgrund der Filterantworten aller Filter das Wort in serieller Vorgehensweise dekodiert.
  • Wird konkret ein Binärwort in grafischen Symbolen kodiert, so sind zwei charakteristische Formmerkmale und daher insgesamt zwei Filter nötig. Zur perspektivischen Entzerrung wird von einer rechteckigen oder quadratischen Symbolmatrix ausgegangen, sodass aus an Ecken befindlichen grafischen Symbolen oder aus drei Bezugspunkten mit ähnlicher Konfiguration die entsprechenden Parameter errechnet werden können. Daher ist die Anbringung nur auf möglichst ebenen Flächen möglich. Auch hier wird die Dekodierung durch eine Reed-Solomon Fehlerkorrektur der kodierten Binärworte unterstützt.
  • Bei MicroGlyph werden mehrere Filter angewandt und deren Antworten zweidimensional topologisch in einem Antwortbild gespeichert. Filterantworten sollten sich dabei an Positionen häufen, die einem Glyph zuzuordnen sind. Ähnliche Konzepte werden auch in anderen Verfahren verwandt, wobei sich das Problem ergibt, lokale Maxima der Filterantworten zu finden. Auch können die Filterantworten durch (teilweise) Beschädigung des zu filternden Originals des Symbolcodes stark in ihrer Ausprägung und Anzahl variieren. Zudem ist ihre topologische Lage auch im lokalen Bereich von erwarte ten Nachbarn nicht exakt vorhersagbar. Daher ergeben sich mit den üblich verfolgten Ansätzen bzw. Analyseverfahren regelmäßig Probleme bei der Dekodierung, insbesondere wenn die äußeren Gegebenheiten beispielsweise durch Reflexionen oder gekrümmte Oberflächen nicht optimal sind.
  • Im Rahmen der bekannten Methoden kann auf ein gewonnenes Antwortbild durch absolute Schwellenwertbildung eine Pixelmenge definiert werden, die mit hoher Wahrscheinlichkeit ausschließlich Symbolmittelpunkte oder Pixel sehr nahe dieser Mittelpunkte enthält. Diese Punktemenge kann über die Minimierung der euklidischen Abstände der Entfernungen aller Punkte eines Clusters zu dessen eigenem Schwerpunkt in Untermengen aufgeteilt werden, die jeweils dem Einzugsbereich eines Symbols entsprechen. Dies kann beispielsweise mit dem K-Means Algorithmus erreicht werden. Der Pixel mit maximalem Antwortwert innerhalb einer jeden Untermenge beschreibt dann den wahrscheinlichsten Symbolmittelpunkt. Gemäß einer Alternative kann durch Schwellenwertbildung ein Schwellenwertbild erzeugt werden, welches nur Pixel einer Filterantwort mit Werten über einem gesetzten Schwellenwert enthält.
  • Der Pixel mit maximaler Filterantwort kann sicher als ein Symbolmittelpunkt angenommen werden. Ausgehend von diesem Startpunkt kann bei bekannter Schrittweite (der Seitenlänge einer Symbolvorlage) versucht werden, die weiteren Symbolmittelpunkte nach einem vorgegebenen Gittermuster oder adaptiv entsprechend der erwarteten Anordnung der Symbolzellen zu erwandern. Dabei werden aufeinanderfolgende Symbolmittelpunkte durch Inkrementieren von Koordinaten geschätzt und anschließend deren Position dadurch korrigiert, dass in einer kleinen lokalen Umgebung um diese Schätzung herum (von etwa 20 bis 25 Prozent der Seitenlängen der Symbolvorlage) ein maximaler Grauwert im Schwellenwertbild gesucht wird. Der zugehörige Pixel wird dann als Symbolmittelpunkt gesetzt, da anzunehmen ist, dass dieser eine verbesserte Schätzung der Position ist.
  • Beide zuvor angedeutete Verfahren zur Extraktion von Symbolmittelpunkten haben den Nachteil, dass nur Pixel mit Werten über einem globalen Schwellenwert als mögliche Symbolmittelpunkte in Betracht gezogen werden. Ist die Symbolmatrix in einem bestimmten Bereich stark verschmutzt, zerkratzt oder anderweitig zerstört, so werden die zuvor festgelegten Schwellenwerte ggf. nicht erreicht und die in diesem Symbolcodebereich enthaltene Information verworfen. Ist nämlich der globale Schwellenwert zu hoch gewählt, werden im beschädigten Bereich unter Umständen gar keine Symbolmittelpunkte vermutet. Wird der globale Schwellenwert in Reaktion darauf gesenkt, so können auch im beschädigten Bereich Evidenzen für mögliche Symbolmittelpunkte auftreten. Zugleich wird aber in unbeschädigten Bereichen eine Vielzahl Pixel zusätzlich als wahrscheinliche Symbolmittelpunkte klassifiziert, was das Lokalisieren wahrer Symbolmittelpunkte erschwert und zu fehlerhaften Schätzungen führt.
  • Bei der Anbringung eines grafischen Symbolcodes auf einem Bauteil mit stark reflektierender Oberfläche nimmt die Zuverlässigkeit bei der Erkennung und Dekodierung des Symbolcodes in Datenworte stark ab. Mit den gebräuchlichen Data Matrix und QR-Codes sowie bei MicroGlyph wird durch die in die zu kodierenden Binärworte eingebaute Fehlerkorrekturfunktion versucht, die Nichterfassung einzelner oder größerer Bereiche von grafischen Symbolen ignorierbar zu machen, die durch Spiegelung der Oberfläche in der Bildaufnahme überbelichtet und somit wertlos sind. Aber auch das Extrahieren korrekt belichteter Bildteile wird schwierig, da die Varianzen der Grauwerte aufgrund lokaler Helligkeitsunterschiede bedingt durch das reflektierende Material hoch sind. So müssen adaptive Verfahren in der Bildauswertung zur Vorverarbeitung angewandt werden, deren Erfolg wegen sprunghafter Änderungen in der lokalen Helligkeit ebenfalls begrenzt ist und möglicherweise sogar verwertbare Helligkeitsinformation zerstört. Es wird versucht eine möglichst homogene, diffuse Ausleuchtung des relevanten Bereichs zu erreichen, um die Bildverarbeitung zu unterstützen. Aus Platzmangel ist eine spezielle Beleuchtung jedoch nicht immer möglich.
  • Ist ein DPM (Direct Part Marking) Verfahren nicht unbedingt notwendig, so kann der Symbolcode auf ein Papieretikett gedruckt werden, welches anschließend auf das zu markierende Objekt geklebt wird. Das ermöglicht zwar ein erfolgreiches Lesen der Markierung, aber das zusätzliche Papier am Objekt ist ein Fremdkörper, der zu Qualitätsproblemen in dem Produktionsprozess führen kann. Wird beispielsweise das markierte Objekt von einem Roboterarm zum Transport gefasst, kann es zu Abrieb kleiner Papierfasern von dem Papieretikett kommen, die vom Roboterarm abfallen und elektronische Bauteile zerstören können. In hitzeintensiven Produktionsabläufen ist ein Papier etikett wegen Brandgefahr keine Option. Soll der Symbolcode zur eindeutigen Identifizierung untrennbar mit einem Objekt verbunden bleiben, bietet ein geklebtes Papieretikett auch keinen Schutz gegen Manipulation durch einfaches Austauschen. Zudem wird ein zusätzlicher Verarbeitungsschritt zum Ankleben des Etiketts in den geplanten Produktionsablauf eingeführt.
  • Kann nicht auf ein DPM (Direct Part Marking) Verfahren verzichtet werden, so kann die zu markierende spiegelnde Oberfläche vor dem Aufbrennen des Symbolcodes durch den Laser aufgeraut werden, sodass der Objekthintergrund matt und nicht reflektierend ist. Somit kann das Problem starker Reflexion vermieden werden. Aber der Kontrast verringert sich und das Aufrauen nimmt zusätzliche Zeit in Anspruch, was eine Verringerung der Taktzyklen begrenzt.
  • Aufgabe der vorliegenden Erfindung ist es daher, einen robusten, effektiven und mit hoher Sicherheit dekodierbaren zweidimensionalen Systemcode und ein darauf optimiertes Leseverfahren vorzuschlagen, mit denen die Zuverlässigkeit der Kennzeichnung insbesondere auch in realen Produktionsumgebungen verbessert werden kann.
  • Diese Aufgabe wird bei einem zweidimensionalen Systemcode der eingangs genannten Art erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst. Dabei ist vorgesehen, dass die Symbole eine komplementäre Helligkeitsverteilung aufweisen.
  • Dazu kann jedes der beiden Symbole vorzugsweise aus einer flächigen Anordnung von mindestens zwei Bereichen bestehen, die jeweils genau einen von zwei vorgegebenen Helligkeitswerten aufweisen. Jedes einzelne Symbol weist damit zwei verschiedene Helligkeiten auf, d. h. eine Helligkeitsverteilung. Einem der beiden Helligkeitswerten kann logisch der Wert ”hell” und dem anderen der beiden Helligkeitswerte kann logisch der Wert ”dunkel” zugewiesen werden. Einer bestimmten Kombination der örtlich verteilten Helligkeitswerten ”hell” und ”dunkel” innerhalb eines Symbols ist dann ein Datenwort zugewiesen. Hierfür ist grundsätzlich jeder durch eine Detektoranordnung messbare Helligkeitsunterschied zwischen den beiden Bereichen erfindungsgemäß ausreichend. Nachfolgend werden diese Bereiche vereinfachend als ”hell” und ”dunkel” bezeichnet.
  • Eine komplementäre Helligkeitsverteilung wird insbesondere erreicht, indem jedes der beiden zur eindeutigen Kodierung eines Binärwortes benötigten Symbole dieselbe flächige Ausdehnung bzw. Anordnung der Bereiche aufweist, denen für jedes bestimmte Symbol jedoch gerade die verschiedenen (entgegensetzten) der insgesamt zwei Helligkeitswerte ”hell” und ”dunkel” zugewiesen sind, wobei jeder Abschnitt der einem Symbol zugeordneten Fläche einem dieser beiden Helligkeitswerte zugewiesen ist.
  • Da jedem dieser komplementären Symbole eindeutig einer der beiden möglichen Werte des binären Datenworts zugeordnet ist und durch den komplementären Aufbau der Symbole eine maximale Unterscheidbarkeit erreicht wurde, ist dieser Symbolcode besonders robust. Er ist daher insbesondere auch für gekrümmte und reflektierende Oberflächen geeignet, auf die der Symbolcode durch eine Oberflächenbearbeitung auch unmittelbar aufgebracht sein kann, insbesondere wenn die inneren Helligkeitsbereiche der Symbole in ihrer Verteilung zur erwarteten auftretenden Verzerrung möglichst invariant gewählt ist. Ein derartiges DPM-Verfahren (Direct Part Marking) wird häufig mittels eines Lasers durchgeführt, mit dem der Symbolcode auf einer Oberfläche aufgebrannt wird. Im Rahmen der Markierungsgenauigkeit können dabei Überschneidungen der hellen und dunklen Bereich auftreten, die erfindungsgemäß der komplementären Anordnung der Bereiche nicht entgegenstehen.
  • Zusammenfassend besteht jedes Symbol der Symbolfamilie also aus einer Vielzahl (mindestens zwei) von räumlich zusammenhängenden Bereichen, wobei alle Symbole einer Familie die gleiche Anordnung von Bereichen aufweisen. Jeder dieser Bereiche ist entweder logisch hell oder dunkel ausgefüllt, wobei nicht alle dieser Bereiche eines Symbols zugleich logisch Hell oder logisch Dunkel sind. So sind zwei zueinander komplementäre Symbole darstellbar, und jedes einzelne der Symbole ist eindeutig einem Wert eines binären Wortes zuzuordnen.
  • Kennzeichnend für den komplementären Aufbau der Symbole ist, dass für die Entscheidung, welches der beiden Symbole abgebildet ist, nur die Anwendung eines einzigen Filters nötig ist, der einem der beiden Symbole entspricht. Im Falle einer Übereinstimmung des Filters mit dem Symbol ergibt sich eine im Idealfall sogar vollständige Übereinstimmung. Im Falle eines zu dem Symbol komplementären Filter ergibt sich eine im Idealfall vollständige Abweichung. Im Rahmen einer Bildauswertung ist eine Unterscheidung der komplementären Symbole jedoch auch dann gewährleistet, wenn es aufgrund der Markiergenauigkeit zu Überlappungen von hellen und dunklen Bereichen der Symbole kommt, weil sich dann durch die Anwendung des einen Filters eine überwiegende Übereinstimmung mit oder ein überwiegende Abweichung von dem Symbol des Symbolcodes ergibt.
  • Gemäß einer bevorzugten Ausbildung der Erfindung besteht jedes Symbol aus genau zwei insbesondere zusammenhängenden Bereichen, wobei den beiden Bereich jeweils ein unterschiedlicher Helligkeitswert zugeordnet ist. Die Flächen der beiden Bereiche in einem Symbol können erfindungsgemäß im Wesentlichen gleich groß sein, wobei Abweichungen im Flächeninhalt zwischen den beiden Bereichen in der Größenordnung von bis zu etwa 1/9 der Gesamtfläche als im Wesentlichen gleich groß angesehen werden. Hintergrund dieser Abweichung ist, dass es gemäß einer bevorzugten Ausführungsform der Erfindung vorgesehen ist, dass ein grafisches Symbol des Symbolcodes eine quadratische Grundfläche aufweist, die zur Definition der Bereiche des Symbols in 3×3 Pixel aufgeteilt ist. Auch wenn die vorliegende Erfindung nicht auf eine derartige Matrixanordnung beschränkt ist, lässt sich eine solche Anordnung in der Praxis sowohl bei dem Erzeugen als auch bei dem Lesen des Symbolcodes besonders einfach auswerten. Eine 3×3-Matrix bietet dabei einen optimalen Ausgleich zwischen der im Rahmen einer optischen Auflösung benötigten Symbolgröße für ein einzelnes Symbol (Unterscheidbarkeit) und einer ausreichend hohen Datendichte. In einer derartigen Matrix können einem Bereich mit dem ersten Helligkeitswert 4/9 der Gesamtfläche des Symbols und einem zweiten Bereich mit zweiten Helligkeitswert 5/9 der Gesamtfläche des Symbols zugeordnet werden. Der Größenunterschied der beiden Bereiche liegt also in der Größenordnung von 1/9 des gesamten Flächeninhalts des Symbols.
  • Gemäß einer bevorzugten Ausführung der Erfindung sind die beiden Bereiche jeweils aus räumlich zusammenhängenden Flächen aufgebaut. Dies ermöglicht ein vektororientiertes Erzeugen des flächigen Symbolcodes, bspw. durch Verfahren eines eingeschalteten Lasers entlang eines definierten Verfahrwegs, ohne dass der Laser während des Verfahren ein- oder ausgeschaltet werden muss, um die dem flächigen Sym bol entsprechende Markierung zu erzeugen. Durch flächig zusammenhängende Bereiche wird ferner der in der Praxis immer fehlerhafte Übergang zwischen den beiden Helligkeitsbereichen minimiert. Dies verbessert die erreichbare Unterscheidbarkeit der Symbole und reduziert die Fehlerrate beim Lesen des flächigen Symbolcodes.
  • Ein erfindungsgemäß besonders bevorzugtes quadratisches Symbol weist entlang eines parallel zu seinen Seitenkanten verlaufenden Schnitts durch den Mittelpunkt des Symbols eine Verteilung der logischen ”hell”- und der logischen ”dunkel”-Bereiche jeweils ein Verhältnis von 1:2 bzw. im komplementären Fall 2:1 auf. Dies bedeutet, dass der helle Bereich entlang dieses Schnittes 1/3 und der dunkle Bereich 2/3 der Schnittlänge abdeckt bzw. umgekehrt. Vorzugsweise ist diese Verteilung entlang der beiden möglichen, parallel zu den Seiten verlaufenden Schnitte durch den Mittelpunkt des Symbols gleich. Ein derartiges Symbol mit den genau zwei räumlich jeweils zusammenhängenden Bereichen der Helligkeitsverteilung wird erfindungsgemäß insbesondere durch einen quadratischen Bereich mit einer Seitenlänge von 2/3 der Seitenlänge des Symbols und einen L-förmigen Bereich mit gleichlangen Schenkeln gebildet, die an zwei aneinanderstoßenden Seiten des Quadrats anliegen und jeweils die gesamte Seitenlänge des Symbols aufweisen. Zusammengesetzt weist dieses erfindungsgemäß besonders bevorzugte Symbol daher auch eine quadratische Grundfläche auf.
  • Insbesondere diese Symbole mit quadratischer Grundfläche sind erfindungsgemäß in horizontaler und/oder vertikaler Richtung, d. h. den entlang der Seiten der Symbole verlaufenden Richtungen, nebeneinander angeordnet. Dabei stoßen die Seiten der einzelnen Symbole direkt aneinander an und bilden den Symbolcode, dessen optische Darstellung auch als Symbolmatrix bezeichnet wird, in der die Informationen durch die Anordnung der einzelnen Symbole kodiert sind. Die Symbolmatrix ist aus einzelnen Datenzellen aufgebaut, deren Größe und Geometrie genau den einzelnen Symbolen des zweidimensionalen Systemcodes entsprechen. Da die einzelnen Symbole des Systemcodes unmittelbar benachbart zueinander angeordnet werden, weist auch die die grafische Darstellung des Symbolcodes bildende Symbolmatrix zwischen ihren einzelnen Datenzellen bevorzugt keinen Freiraum auf. Die Symbolmatrix kann in ihrer Außenform beispielsweise eine rechteckige oder quadratische Form aufweisen. Es ist jedoch auch möglich, die Breite und Anordnung zeilen- und/oder spaltenweise an den auf einer Oberfläche zur Verfügung stehenden Raum anzupassen.
  • Durch die unmittelbar aneinander angrenzende Anordnung der Symbole, d. h. eine Anordnung ohne Trennzeichen und Freiräume, wird ein sehr flächeneffektiver, zweidimensionaler Systemcode erzeugt, der bei außerordentlich guter Lesbarkeit eine große Informationsdichte aufweist. Daher kann der erfindungsgemäße Systemcode bspw. auch sehr gut verwendet werden, um die Fertigung und Qualitätsprüfung von Produkten in einer Produktionsstraße zu ermöglichen, in der einzelne Bauteile zu dem einem Gesamtprodukt zusammengesetzt werden. Sofern die Bauteile an von außen lesbaren Oberflächenpositionen mit einem derartigen Code versehen sind, kann ein automatisches Tracking der einzelnen Bauteile während der gesamten Produktion durchgeführt und sogar gespeichert werden. Dies verbessert die Qualitätssicherung und ermöglicht auch bei im Nachhinein auftretenden Problemen, systematische Fehlerursachen zu rekonstruieren. Abgesehen davon kann der erfindungsgemäße Systemcode auch zur automatischen Steuerung von Produktionsabläufen verwendet werden, wie er bereits eingangs beschrieben wurde.
  • Ferner kann der Symbolcode erfindungsgemäß mehrere Symbolpaare komplementärer Helligkeitsverteilung aufweisen, die sich in ihrer Farbe unterscheiden. So ist es erfindungsgemäß möglich, neben der bereits ausführlich beschriebenen Helligkeitsverteilung Symbole unterschiedliche Farbe vorzusehen, so dass der Helligkeitsverteilung jeweils eine Kombination von Farben zugewiesen ist, die durch ein Erfassungssystem optisch voneinander getrennt werden können. Während eine Kodierung mit Symbolen einer komplementären Helligkeitsverteilung die Kodierung der Wortlänge Eins ermöglicht, kann durch die Verwendung zusätzlicher Farben ein Multi-Wort-Kodierung erhalten werden, welche Worte einer Länge größer als Eins durch grafische Symbole kodiert. Dabei ist die flächige Anordnung der Helligkeitsverteilung in allen Symbolen und ihren komplementären Symbolen vorzugsweise gleich. Sie unterscheiden sich lediglich in ihrer Farbgebung. Die ursprünglich binäre Wortmatrix wird dann als eine um die Menge von möglichen Farbkombinationen entsprechend erweiterte Wortmatrix aufgefasst.
  • Ein weiterer Aspekt der Erfindung bezieht sich auf ein Verfahren zum Lesen eines zweidimensional Systemcodes gemäß den Merkmalen des Anspruchs 4. Der Systemcode ist aus mehreren nebeneinander angeordneten grafischen Symbolen aufgebaut, wobei der Symbolcode aus genau zwei verschiedenen Symbolen gleicher Fläche gebildet ist, die sich in ihrer flächigen Helligkeitsverteilung unterscheiden und jeweils einen Wert eines binären Datenworts kodieren. Die beiden Symbole weisen eine komplementäre Helligkeitsverteilung auf. Das Verfahren zum Lesen eines solchen Systemcodes sieht erfindungsgemäß vor, dass auf den Systemcode ein, vorzugsweise ein einziger, Filter angewendet wird. Das Anwenden eines Filters auf den Symbolcode wird nachfolgend auch als Abtasten des Symbolcodes mit einem Filter bezeichnet. Vorteilhafter Weise kann der eine Filter mit der Helligkeitsverteilung eines der beiden komplementären Symbole übereinstimmen, wobei im Falle einer Übereinstimmung das eine Symbol und im Falle einer Nicht-Übereinstimmung das andere Symbol erkannt wird. Mit Übereinstimmung bzw. Nicht-Übereinstimmung kann auch jeweils der Grad der vollständigen Übereinstimmung bzw. der vollständigen Nicht-Übereinstimmung gemeint sein.
  • Der zweidimensionale Systemcode kann bspw. in Form einer grafischen Symbolmatrix oder eines Ausschnitts davon vorliegen, wie er durch eine optische Aufnahmeeinrichtung erfasst wurde. Ziel des Lesens ist das Bilden einer binären Wortmatrix bzw. eines binären Wortes, welches die in dem Systemcode dargestellten bzw. kodierten Informationen wiedergibt.
  • Bei den bekannten Verfahren, wie bspw. dem Lesen von MicroGlyphen, ist es notwendig, für jeden kodierten Bitwert einen eigenen Filter vorzusehen. In solchen Fällen muss beim Lesen des Systemcodes durch Analyse seiner grafischen Darstellung bspw. in einer Symbolmatrix eine entsprechende Rechenoperation zum Erkennen der Symbole mehrfach erfolgen, wobei jeweils lokale Maxima der Filterantworten gefunden werden und mit vorgegebenen Schwellenwerten verglichen werden müssen. Im Falle zu starker Verschmutzung oder sonstiger Beschädigung des Symbolcodes werden diese vorgegebenen Schwellen nicht erreicht, so dass der Symbolcode unter Umständen als nicht mehr lesbar interpretiert wird, obwohl die Informationen an sich doch noch auswertbar wären. Im Gegensatz zu den durch die Anwendung der mehreren Filter zeitaufwendigen Leseverfahren, die durch den Schwellenwertvergleich zudem möglicherweise Informationen enthaltenden Symbolcode verwerten, wird durch die erfindungsgemäße Anwendung eines einzigen Filters auf den Symbolcode sowohl die Rechenzeit reduziert als auch das Leseergebnis verbessert, weil das Leseergebnis entweder dem einen oder dem anderen Symbol zugewiesen wird und somit für das Erkennen des Symbols kein Vergleich mit extern festzulegenden Schwellenwerten notwendig ist.
  • Unsicherheiten können natürlich dann auftreten, wenn eine Zuordnung zu dem einen oder dem anderen Symbol nicht sicher möglich ist. Um die Aussagekraft des Erkennens eines Symbols zu berücksichtigen, wird gemäß einer besonders bevorzugten Ausführungsform der Erfindung vorgeschlagen, dass als Filter ein Korrelationsfilter verwendet wird, der das Ergebnis einer Abstandsfunktion ermittelt, welche die Entfernung der vorliegenden Helligkeitsverteilung, insbesondere einer Grauwertverteilung, von der Helligkeitsverteilung, insbesondere der Grauwertverteilung, des Korrelationsfilters angibt. Erfindungsgemäß kann die Anwendung einer Korrelationsfilters zum Lesen eines zweidimensionalen Systemcodes auch unabhängig von dem Vorhandensein von Symbolen komplementärer Helligkeitsverteilung eingesetzt werden, d. h. bei in der flächigen Anordnung der Muster verschiedenen Symbolen. Dies erfordert in der Regel zwar den Einsatz mehrerer verschiedener Korrelationsfilter, was bei einer ausreichenden Rechenleistung in der Bildauswertung jedoch grundsätzlich möglich wäre. Besonders bevorzugt ist jedoch das Anwenden eines einzigen Korrelationsfilters auf die komplementären Symbole, weil hierfür eine geringe Rechenleistung und eine hohe Vergleichbarkeit des Korrelationsergebnisses für die verschiedenen Symbole gewährleistet wird. Dies gilt auch bei zusätzlich mehrfarbigen Symbolcodes, da die Korrelation die räumliche der Helligkeitswerte betrifft und die Auswertung der Farbe gesondert und losgelöst von dem Lesen der einzelnen Symbole – erfolgen kann.
  • Der Korrelationsfilter entspricht der Helligkeitsverteilung eines der beiden Symbole und dient somit als Korrelationsvorlage. Wird die Korrelation über dem Symbol ausgeführt, das exakt der Korrelationsvorlage entspricht, d. h. in der Helligkeitsverteilung dem Symbol des Symbolcodes entspricht, so ist das Ergebnis der bei der Korrelation bestimmten Abstandsfunktion gleich Null. Wird dieselbe Korrelationsvorlage dagegen über das exakt komplementäre Symbol gelegt, so entspricht das Korrelationsergebnis einem maximalen Wert, da der Helligkeits- bzw. Grauwertunterschied zwischen Korrelationsfilter und Symbol maximal ist. Vorteilhaft bei diesem Verfahren ist, dass die gesamte Fläche des Symbols zur Ermittlung des Korrelationswertes herangezogen wird, so dass keine Information verloren geht, auch wenn Teile eines Symbols in dem Symbolcode verschmutzt oder beschädigt sind. Der Korrelationswert liegt in diesem Fall zwischen dem Wert Null und dem maximalen Wert. Die Information wird aber nicht verworfen, da kein Vergleich mit einem Schwellenwert stattfindet, bei dem die Information wie im Stand der Technik ggf. aussortiert wird.
  • Gemäß einer bevorzugten Ausgestaltung der Erfindung kann bei der Anwendung des Korrelationsfilters, welche nachfolgend kurz auch als Korrelation bzw. Korrelationsverfahren bezeichnet wird, eine Normalisierung der innerhalb jedes Symbolbereichs liegenden Helligkeits- bzw. Grauwerte stattfinden, um die Kontrasteigenschaften der Oberfläche adaptiv und bezogen auf jedes einzelne Symbol zu verbessern. Dadurch wird erreicht, dass innerhalb desselben Symbolbereichs keine Differenzierung in weitere Helligkeits- bzw. Grauwertstufen vorliegt und der erforderliche Kontrast zwischen einer logisch ”hellen” und einer logisch ”dunklen” Fläche bei nur einer Helligkeitsstufe liegt. In der Praxis ist davon auszugehen, dass aufgrund technischer Einflüsse der bildgebenden Erfassungsgeräte der Aufnahmeeinrichtung zum Abbilden des Symbolcodes ein Helligkeitswertsprung bei 10% Kontrastunterschied zuverlässig erkannt wird. Aufgrund des Korrelationsverfahrens ist erfindungsgemäß sogar ein Kontrast von weniger als 10% ausreichend, um Symbolzuordnungen zuverlässig vorzunehmen. Die erfindungsgemäß als vorteilhaft vorgeschlagene Normalisierung ermöglicht es auch, auf eine im Stand der Technik regelmäßig angewandte Bild-Vorverarbeitung zu verzichten, die je nach Anwendungsfall auch in den Rohbildern noch auswertbare Informationen vernichten kann.
  • Erfindungsgemäß soll ein solcher Korrelationsfilter für jedes Symbol in dem Symbolcode angewendet werden. Dazu ist es insbesondere sinnvoll, die grafische Symbolmatrix und den Korrelationsfilter – ggf. nach einer auf die Symbolmatrix und/oder den Korrelationsfilter anzuwendende Skalierung und/oder Ausrichtung – in gleichgroße Pixel einzuteilen und das Korrelationsfilter pixelweise über die Symbolmatrix zu bewegen. Idealer Weise liegen die Pixelränder des Korrelationsfilters und die Pixelränder der Symbolmatrix nach jedem Bewegungsschritt dabei jeweils übereinander. Nach jeder Bewegung wird dann das zuvor erläuterte Korrelationsverfahren durchgeführt, wobei das Korrelationsergebnis für jede relative Anordnung von Korrelationsfilter und Symbolcode bzw. Symbolmatrix gespeichert werden kann.
  • Es ist sinnvoll, das Korrelationsergebnis nach Anwendung des Korrelationsfilters als Konfidenzwert zu ermitteln, der einfach weiterverarbeitet und gespeichert werden kann.
  • Der Konfidenzwert ist ein Maß für die Erkennungssicherheit einzelner Symbole an den jeweiligen Positionen von Korrelationsfilter und gelesenem Symbolcode. Der Korrelationswert hängt unmittelbar mit der im Rahmen der Korrelation bestimmten Abstandsfunktion zusammen, wobei ein Abstandsfunktionswert von Null bzw. der maximale Abstandsfunktionswert jeweils eine hohe Konfidenz für das Auffinden des einen bzw. des anderen Symbols in dem Symbolcode bedeuten. Bei einem genau in der Mitte liegenden Abstandsfunktionswert ist die Konfidenz in das gelesene Symbol gleich Null, da zwischen den beiden Symbolen nicht unterschieden werden kann.
  • Insofern bietet sich erfindungsgemäß ein Konfidenzwertbereich von –1 bis 1 an, wobei der Wert 1 eine vollständige Übereinstimmung mit dem dem Korrelationsfilter gleichen Symbol und der Wert –1 eine vollständige Übereinstimmung mit dem dem Korrelationsfilter komplementären Symbol anzeigt. Die Konfidenzwerte sind neben dem Maß für eine korrekte Dekodierung des Systemcodes somit auch ein Maß für die grafische Qualität der den Systemcode darstellenden Systemmatrix.
  • Die erfindungsgemäßen Konfidenzwerte haben den Vorteil, dass sie in dem angewendeten Korrelationsverfahren unmittelbar enthalten sind in einer Weise, dass sie für alle (möglichen) Datenzellen voneinander unabhängig bestimmt sind und trotzdem aus der Anwendung nur eines einzigen Filters abgeleitet werden können. Da die Anwendung des Filters über die gesamte Systemmatrix, d. h. das gesamte Bild des Systemcodes, gleich ist, wird eine maximale Vergleichbarkeit der erhaltenen Konfidenzwerte unter den erkannten Symbolen gewährleistet. Damit kann beim Lesen des Systemcodes entsprechend dem erfindungsgemäß vorgeschlagenen Verfahren eine relativ (sehr) verlässliche Aussage über die Erkennungssicherheit der einzelnen Symbole und damit die Verlässlichkeit der Dekodierung getroffen werden.
  • Es ist daher besonders vorteilhaft, bei dem Abtasten des Systemcodes mit dem Korrelationsfilter einen Konfidenzwert für jede Abtastposition zu ermitteln und zum Erkennen der Symbole in dem Systemcode zu verwenden.
  • Bei dem Abtasten werden bspw. der Mittelpunkt bzw. das Mittelpunktpixel des Korrelationsfilters nacheinander auf jedes Pixel der Symbolmatrix gelegt, die Korrelation ausgewertet und der zu dem jeweiligen Pixel gehörende Konfidenzwert gespeichert. Dieses Vorgehen wird auch Template-Matching genannt und ermöglicht das Auffinden bzw. Lokalisieren der Mittelpunkte der einzelnen Symbole in der den Symbolcode darstellenden Symbomatrix an den Stellen mit den höchsten bzw. niedrigsten Konfidenzwerten. Die Konfidenzwerte können dazu erfindungsgemäß als Parameter an einen dem Abtastschritt folgenden Identifizierungsschritt übermittelt werden, in dem die Lage der einzelnen Datenzellen der Symbolmatrix identifiziert wird, um die einzelnen Symbole in dem Symbolcode zu bestimmen. Durch diese Identifizierung wird den einzelnen Symbolen des Symbolcodes dann ihre Wortbedeutung zugewiesen, d. h. der dem jeweiligen Symbol zugeordnete binäre Wert. Somit wird die Symbolmatrix erfindungsgemäß in eine Wortmatrix konvertiert, deren Einträge die jeweiligen binären Werte sind. In der äußeren Form und Anordnung der einzelnen Einträge (Binärwert) entspricht die Wortmatrix also der Symbolmatrix, die als Einträge die jeweiligen Symbole aufweist. Durch vorgegebene Regeln zur Aneinanderreihung der einzelnen Symbole können dann aus der Wortmatrix die kodierten Informationen durch Aneinanderreihen der einzelnen binären Worte abgelesen werden.
  • In diesem Zusammenhang ist es also sinnvoll vorzusehen, dass aus den Konfidenzwerten die wahrscheinlichsten Mittelpunkte der Symbole bzw. Datenzellen in dem Symbolcode bzw. der Symbolmatrix ermittelt werden.
  • Gemäß einer vorteilhaften Ausgestaltung können dann ausgehend von mindestens einem wahrscheinlichen Mittelpunkt die anderen Mittelpunkte des Symbole erwandert und deren Symbole gelesen werden.
  • Zusammenfassend dargestellt werden bei einem erfindungsgemäß bevorzugten Verfahren zur Extraktion von grafischen Symbolen eines zweidimensionalen Symbolcodes jedem der durch Filterung erkannten Symbole ein unabhängigen Konfidenzwert über die Erkennungssicherheit zuordnet. Dazu wird auf bspw. ein Grauwertbild bzw. allgemeiner ein Bild mit verschiedenen Helligkeitswerten, welches das Abbild der Symbolmatrix enthält, ein einziger Filter angewandt, der jedem der verwendeten grafischen Symbol zugleich einen solchen Konfidenzwert zuordnet. Die Bestimmung des Konfidenzwertes für ein Symbol ist dabei einzig vom Ort abhängig und nicht von umgebenen Ergebnissen des Filters oder den Konfidenzwerten benachbarter Symbole. Erhaltene Filterantworten an verschiedenen Orten sind somit miteinander durch eine Metrik vergleichbar und haben eine Ordnung, ohne dass die einzelnen Konfidenzwerte voneinander abhängen. Als Filter wird ein normalisiertes Korrelationsverfahren verwendet, welches an jedem Ort einer Rasterung eines Bildes den euklidischen Abstand der Helligkeitswerte, bspw. nach einer Konvertierung in Grauwerte im Falle einer farbigen Symboldarstellung, eines Bildausschnitts in einer durch den Filteroperator definierten Umgebung zu der Vorlage der logischen Helligkeitsverteilung einer Familie von grafischen Symbolen bestimmt. Erfindungsgemäß können ermittelte Konfidenzwerte als Parameter an einen daran anschließenden Prozessschritt weitergeleitet werden, wobei dann diese Konfidenzwerte zur Sortierung oder Auswahl der korrespondierenden Worte verwendet werden.
  • Erfindungsgemäß kann zusätzlich die Farbe der Symbole ausgewertet werden. Damit kann eine Farbe oder Farbkombination einem Wort, d. h. einem binären Wert, zugewiesen werden. Somit kann der ursprünglich rein binären Symbolbedeutung eine weitere Bedeutung zugewiesen werden, welche ein mehrdimensionale Multi-Wort-Kodierung ermöglicht. Sofern man die ursprünglichen Symbole als binäre Wortmatrix auffasst, wird diese dann als eine um die Menge der möglichen Farben bzw. Farbkombinationen entsprechend erweiterte Wortmatrix aufgefasst. An der Auswertung der Helligkeitsverteilung ändert sich in diesem Fall nichts, da auch die unterschiedlichen Helligkeiten der einzelnen Farben erfasst werden können. Dies kann entweder unmittelbar aufgrund der Farbdarstellung oder nach einer Konvertierung in Grauwerte erfolgen.
  • Im Rahmen der Dekodierung kann dann vorzugsweise auch ein Konfidenzwert für eine Farbverteilung der Symbole ermittelt werden. Beispielsweise kann anteilig zu dem in Bezug auf die Helligkeitsverteilung der Symbole in dem Systemcode im Vergleich zu dem Korrelationsfilter ermittelten Konfidenzwert der gemittelten Abstand der Farbwerte aller zu einem grafischen Symbol gehörenden Pixel zur Farbverteilung seiner Vorlage bestimmt werden. Es ist sogar denkbar, die beiden ermittelten Konfidenzwerte zu einem einzigen Konfidenzwert zu verbinden. Dazu kann für die Farbverteilung der Vorlage und auch des zum Filteroperator korrespondierenden Bildausschnitts der sogenannte ”CIE 1976u', v' Farbraum” verwendet werden. Damit ist die Bestimmung des euklidischen Abstands zwischen Vorlage und Bildausschnitt möglich, der zu einem erweiterten Konfidenzwert führt. Alternativ kann das von einem Sensor erhaltene RGB-Farbbild, welches ein Vektor-Bild ist, in ein Betragsbild (der Farb-Vektoren) und in ein korrespondierendes Richtungsbild (der Farb-Vektoren) zerlegt werden. Das so erhaltene Betragsbild ist äquivalent zu einem von einem Sensor erhalten Helligkeits- oder Grauwertbild, so dass darauf die gleichen Analyse- und Korrelationsverfahren wie bisher angewendet werden können. Für erkannte Symbolbereiche kann dann die Farbverteilung im korrespondierenden RGB-Richtungsbild durch euklidische Abstandsmessung zu den Vorlagen möglicher Farbverteilungen bestimmt werden.
  • Gemäß einer anwendungsorientierten Weiterentwicklung der Erfindung kann der zeitliche Verlauf der Konfidenzwerte in einem Bereich des Systemcodes ausgewertet werden. Dies ist bspw. in automatisierten Produktionsanlagen möglich, in denen die Bauteile oder allgemeiner Objekte mit dem erfindungsgemäßen zweidimensionalen Systemcode versehen sind. Ein allgemeiner oder lokaler Abfall der Konfidenzwerte deutet auf eine zunehmende Verschmutzung oder Beschädigung eines Objekts im gesamten oder einem eingeschränkten Bereich der grafischen Symbolmatrix hin. Ein Qualitätsabfall oder Funktionsfehler in der verwendeten Drucktechnik erzeugt ebenfalls ein solches Muster mit über die Zeit abfallenden Konfidenzwerten. Zu einem Zeitpunkt ermittelte Konfidenzwerte werden dabei nach Objekt, Erfassungsstation und Zeitpunkt in einer Datenbank gespeichert und/oder aktualisiert. Zukünftig ermittelte Konfidenzwerte werden dann mit dieser Datenbank abgeglichen und bewertet. Ist der Schwellenwert einer statistischen Auswertung bspw. im Sinne einer Histogramm-Metrik überschritten, so weichen die aktuell gemessene Konfidenzwerte von der Norm ab. Durch einen Ex perten wird dann die Ursache der angezeigten Störung ermittelt und beseitigt. Damit kann das System zum Erzeugen und Lesen eines zweidimensionalen Systemcodes auch eine interne Qualitätssicherung betreiben und sich selbst überwachen. Durch die erfindungsgemäß vorgesehenen Konfidenzwerte ist es somit möglich, ein durch den vorgeschlagenen zweidimensionalen Systemcode gebildetes Informationssystem bspw. in Produktionsanlagen zu überwachen und Fehler zu beseitigen, bevor es zum Ausfall eines solchen Systems kommt.
  • Um den verwendeten Filter und die Abbildung des Systemcodes aneinander anzupassen, können erfindungsgemäß der einer Darstellung eines der beiden Symbole des Symbolcodes entsprechende Filter und der zu lesende Symbolcode, d. h. insbesondere die Darstellung des Symbolcodes in der Symbolmatrix, wie er durch ein optisches Lesesystem erfasst ist, durch ein insbesondere eine Skalierung und/oder eine Rotation enthaltenes Abbildungsverfahren aufeinander abgebildet werden.
  • Dazu kann ein weiterer Parameter des Verfahrens eine Menge von möglichen charakterisierenden Formen von erwarteten Symbolmatrizen sein. Jede der angegebenen Formen muss sich von jeder anderen der in der Menge enthaltenen Formen ausreichend unterscheiden, sodass eine eindeutige Zuordnung einer angegebenen Form zur aktuellen Symbolmatrix möglich ist. Von der aktuellen Form der Symbolmatrix im Bildausschnitt wird ein translationsinvariantes Flächen-Histogramm erstellt. Dieses Flächen-Histogramm wird mithilfe einer Metrik mit den entsprechenden Flächen-Histogrammen der gegebenen Menge von charakterisierenden Formen von Symbolmatrizen verglichen, wobei die Symbolmatrix des im Sinne der definierten Metrik nächstgelegenen Flächen-Histogramms ausgewählt wird. Als die zur Symbolmatrix des Bildausschnitts korrespondierende Wortmatrix wird diejenige Wortmatrix bestimmt, die zur ausgewählten charakteristischen Form der angegebenen Menge korrespondiert. Die Symbolmatrix des aktuellen Bildausschnitts wird in diese Wortmatrix konvertiert.
  • Auch können Skalierungs- und Rotationsparameter allein aus den Konfidenzwerten oder zumindest teilweise aus einem übergeordneten Muster, welches sich durch die Anordnung der Symbole innerhalb einer Symbolmatrix ergibt, wie parallele und orthogonale Liniensegmente, abgeleitet werden. Übergeordnete Muster können eine Vor zugsrichtung der Gradienten in einem Helligkeitswertbild verursachen. Die Vorzugsrichtung wird dann aus der Ableitung des Helligkeitswertbildes in X- und Y-Richtung, durch Anwendung der Hough-Trasformation, einer Radontrasformation oder durch Anwendung steuerbarer Filter extrahiert.
  • Die Erfindung bezieht sich gemäß Anspruch 14 ferner auf eine bevorzugte Verwendung des vorbeschriebenen zweidimensionalen Systemcodes, der auf Bauteile eines Produktes in einer automatisierten Produktionslinie im Wege des Direct Product Marking (DPM), durch Anbringen von mit dem Systemcode bedruckten Etiketten oder dgl. aufgebracht ist und Informationen zur Kennzeichnung der Bauteile und/oder zur Steuerung des Produktionsablaufs aufweist. Dabei wird der Systemcode durch an der Produktionslinie positionierte Lesegeräte erfasst und durch ein übergeordnetes Steuerungssystem ausgewertet. Hierfür bietet der erfindungsgemäß vorgeschlagene Systemcode den Vorteil, dass die in dem Systemcode verwendeten Symbole sehr robust gegen Beschädigungen und Verschmutzungen sind und auf einfache Weise auch eine hohe Redundanz der Daten erreicht werden kann, da der Systemcode im Vergleich zu bekannten zweidimensionalen Systemcodes die vorhandene Fläche sehr effektiv ausnutzt. Durch Auswertung mittels Konfidenzwerten werden sehr zuverlässige Leseergebnisse ermöglicht, obwohl auf Rahmen, Synchronisations- und sonstige Sonderzeichen verzichtet werden kann. Die effektive Flächenausnutzung erlaubt es auch, die gewünschten Informationen auf kleinsten Flächen der Bauteile unterzubringen.
  • Ein zu diesem Zweck verwendeter zweidimensionaler grafischer Symbolcode, der aufgrund der insgesamt vorbeschriebenen Eigenschaften sehr gut und zuverlässig maschinenlesbar ist, kann erfindungemäß üblicherweise Angaben über den eigenen Typ, eine Identifizierungsnummer, eine Modellbezeichnung, evtl. Angaben über den Herstellungsprozess, wie Produktionsort- und Zeit, Chargennummer, der technischen Verarbeitung und/oder weitere Informationen enthalten. Ein Bauteil bzw. Objekt kann sich über die in seiner maschinenlesbaren Markierung kodierten Daten somit selbst beschreiben und so zur (teil-)autonomen Steuerung der Produktionsanlage beitragen. Diese detaillierten Informationen über das Objekt können jedoch nicht nur zur Steuerung der Produktionsanlage verwendet werden. In einem eintretenden Schadensfall bei Benutzung eines fertig montierten Produkts können – bspw. bei Speicherung der wäh rend der Produktion erhobenen und mit dem Symbolcode in Verbindung gebrachten Informationen – bis auf Bauteilebene für jedes markierte Objekt zusätzliche Angaben vorliegen, die speziell diesem Objekt zugehörige Qualitätsmerkmale oder Eigenschaften der an diesem Objekt durchgeführten technischen Verarbeitungsvorgänge beschreiben. Das kann zur Rekonstruktion des Unfallhergangs beitragen oder auch die juristische Klärung von Regressforderungen unterstützen. Außerdem hilft dies beim Auffinden systematischer Fehler in der Produktionslinie.
  • Schließlich betrifft die Erfindung eine Vorrichtung zum Lesen eines zweidimensionalen Systemcodes mit einer optischen Aufnahmeeinrichtung und einer Auswerteeinrichtung mit einem Prozessor, der zur Verarbeitung der von der Aufnahmeeinrichtung gelieferten optischen Signale und zur Dekodierung des zweidimensionalen Symbolcodes eingerichtet ist. In den Prozessor der Auswerteeinrichtung ist mittels geeigneter Software das vorbeschriebene Verfahren bzw. Teile davon implementiert ist. Die Auswerteeinrichtung kann in die Lesevorrichtung mit dem optischen System integriert oder ein Rechnersystem insbesondere in Form eines Rechners oder mehrerer vernetzter Rechner sein, an die eine oder vorzugsweise mehrere Aufnahmeeinrichtungen angeschlossen sind.
  • Bevor konkrete Ausführungsbeispiele der Erfindung anhand der Zeichnung beschrieben werden, sollen vorteilhafte Aspekte der Erfindung beleuchtet werden, die jeweils für sich und unabhängig von anderen Aspekten Teil der Erfindung sind.
  • Gemäß einem erfindungswesentlichen Grundprinzip wird die Helligkeitsverteilung eines Symbols als Grundlage zur Unterscheidbarkeit herangezogen.
  • Die grafischen Symbole des Symbolcodes für ein Eins-Wort und ein Null-Wort, die für eine binäre Datenkodierung zu unterscheiden sind, sind bei der Erfindung so gewählt, dass eine maximale Unterscheidbarkeit gewährleistet ist. In dem Systemcode sind die grafische Symbole innerhalb von gekachelten Datenzellen einer grundsätzlich beliebig geformten Symbolmatrix angeordnet. Dabei füllen die Symbole die Datenzellen vollständig aus. Eine Datenzelle kann also als Pixelbild interpretiert werden, in welches ein grafisches Symbol gezeichnet ist.
  • Die Unterscheidung der beiden grafischen Symbole erfolgt erfindungsgemäß durch ihre insbesondere komplementäre Helligkeitsverteilung. Bearbeitete Flächen einer Datenzelle sind logisch durch schwarze Pixel, d. h. logisch dunkel, und unbearbeitete Flächen einer Datenzelle sind logisch durch weiße Pixel, d. h. logisch hell, dargestellt. Abhängig von dem Material bzw. der Oberfläche, auf die der Symbolcode aufgebracht ist, und der bildgebenden Erfassungstechnik der Aufnahmeeinrichtung einer Lesevorrichtung muss ggf. zusätzlich spezifiziert werden, ob die logischen Helligkeiten mit den tatsächlich im Bild vorhandenen Helligkeitswerten korrelieren. Denn nach Art und Zusammensetzung des Trägermaterials und der Methode des Aufbringens und Lesens einer grafischen Markierung kann die bearbeitete Objektfläche im zu analysierenden Bild entweder dunkler oder aber heller erscheinen als die unbearbeitete Fläche. Da die Zuordnung der Symbole zu einem Wort gerade auf komplementärer Helligkeit basiert, und bei Betrachtung nur eines der grafischen Symbole für sich allein keine Entscheidung getroffen werden kann, welche Helligkeiten nun dem Objekthintergrund (als logisch helle Fläche des Symbols) und welche der bearbeiteten Fläche (als logisch dunkle Fläche des Symbols) zuzuordnen sind, ist eine vorherige statische Initialisierung der Zuordnungen erforderlich. Alternativ könnte auch ein definiertes Symbol in dem Symbolcode für eine dynamische Erkennung vorgesehen sein.
  • Dazu werden der Kodierungs- und Aufbringungsvorgang sowie entsprechend der Erkennungs- und Dekodierungsvorgang voneinander getrennt betrachtet, wobei sowohl die Aufbringungs- und Lesemethode als auch das Aufbringungsmaterial und dessen physikalischer Zustand berücksichtigt werden. Eine Anpassung kann erfindungsgemäß durch einen im Verfahren angewandten Skalierungsfaktor erfolgen, welcher das einem grafischen Symbol zugeordnete binäre Wort umkehrt. Dies ermöglicht es erfindungsgemäß, das logisch helle Symbol konsistent immer dem optische erfassten hellen Symbol zuzuordnen. Entsprechendes gilt für das dunkle Symbol.
  • Eine hohe Datendichte kann dadurch erreicht werden, dass die einzelnen grafischen Symbole quadratisch und daher kompakt sind. Diese Symbole können direkt in die Zellen eingepasst werden, die aus der logischen matrixähnlichen Anordnung nach Spalten und Zeilen resultieren. Dabei kann die Fläche einer solchen Datenzelle voll ständig mit dem grafischen Symbol ausgefüllt werden, sodass Symbole benachbarter Datenzellen direkt ineinander übergehen. Dadurch wird bei der späteren Erkennung dieser grafischen Symbole eine erhöhte Zuverlässigkeit erreicht, da auch Helligkeiten der Pixel im Randbereich einer Datenzelle einem Symbol zuzuordnen sind und in die Entscheidungsfindung miteinbezogen werden können, welches grafische Symbol in einer Datenzelle dargestellt ist.
  • In der aus der gekachelten Anordnung von Datenzellen resultierenden grafischen Symbolmatrix muss also kein zusätzlicher Freiraum zwischen benachbarten Datenzellen belassen werden. Ein solcher Freiraum muss auch nicht zur Separierung der grafischen Symbole in der Bildanalyse bspw. durch vorverarbeitende Filter erzeugt werden. So bleiben wertvolle Helligkeits- bzw. Grauwertinformationen auch in den Randbereichen der Datenzellen erhalten.
  • Diese Möglichkeit der Anordnung der grafischen Symbole mit vollständiger Ausfüllung ihrer Datenzellen ist ein wichtiger Grund für die Kompaktheit und die erreichbare Datendichte, da so selbst bei geringer quadratischer Abmessung einer Datenzelle von bspw. auch nur sechs Pixeln im erfassten Bild eine Unterscheidungssicherheit gewährleistet werden kann, die derjenigen jeder größer skalierten Datenzelle entspricht.
  • Gemäß einem besonderen Aspekt der Erfindung können die grafischen Symbole für ein Eins-Wort und ein Null-Wort von einer speziellen logischen Helligkeitsverteilung sein, die auf den Einsatz in DPM (Direct Part Marking) Verfahren optimiert ist. In den Abbildungen dieser Anmeldung sind bspw. Bereiche schwarz gekennzeichnet, an denen das Trägerobjekt mittels Auftragungstechnik bearbeitet wird. Bei dem genanntem DPM-Verfahren wird meist mit einem Laser eine Fläche des Trägermaterials (d. h. der zur Markierung ausgewählte Bereich auf einem Bauteil) bearbeitet, indem eine dünne Schicht im Micro- oder Nanometerbereich abgetragen wird. Dabei werden punktbasierte und vektororientierte Techniken unterschieden.
  • Bei der Punktlaserung wird eine Fläche in eine Rasterung unterteilt. Übliche Produkte erreichen eine Auflösung von 800 dpi bis 1200 dpi. Einzelne Punkte werden dann als Impuls gelasert. Eine Punktgröße entspricht beispielsweise einem im Durchmesser 0,15 Mikrometer großen Bereich auf dem Objekt. Dieses Verfahren ist sehr zeitintensiv, sodass das Aufbrennen eines quadratischen Matrixcodes mit der Abmessung 0.5 mm bei 800 dpi Auflösung über zwanzig Sekunden dauert. In der Produktionspraxis steht eine solche Zeit meist nicht zur Verfügung.
  • Ein vektororientiertes Verfahren arbeitet dagegen „ohne Absetzen”, weshalb Linien und Flächen schnell gebrannt werden können. Für obiges Beispiel werden bspw. nur drei bis fünf Sekunden Zeit benötigt, die je nach Laser und benötigter Leistung auch signifikant darunter liegen kann. Um kurze Taktzeiten in der Fertigung zu erreichen, ist daher der Einsatz eines vektororientierten Verfahrens sinnvoll. Deshalb sind die einzelnen Symbole erfindungsgemäß so konzipiert, dass ein vektororientiertes Zeichnen dieser Symbole möglich ist. Sie enthalten gemäß einer bevorzugten Ausführung daher jeweils nur zwei zusammenhängende Flächen, von denen erfindungsgemäß zur eine Fläche bearbeitet werden muss und die andere Fläche unbearbeitet bleibt. Ein Symbol kann somit ohne Absetzen des Lasers in einem Zug gezeichnet werden.
  • Ein weiteres Kriterium bei der Wahl der grafischen Symbole ist eine technische Einschränkung beim Vorgang des Laserns. Die Kanten zwischen bearbeiteten und unbearbeiteten Flächen sind nicht trennscharf, da durch während der Brennung entstehende Schmauchspuren mit dem Material in der Umgebung reagieren oder die Bewegung des Lasers nicht exakt verläuft und so zusätzlich Bereiche bearbeitet werden, die nicht dafür vorgesehen sind. Dabei können bearbeitete Bereiche auswaschen und kontinuierlich in unbearbeitete Objektbereiche übergehen oder diese sogar zu einem mehrheitlichen Anteil von umschließenden bearbeiteten Bereichen verdeckt werden – wobei von Überblendung gesprochen wird –, da über die Trennkante hinaus gebrannt worden ist. Dieser Effekt wird bei gewölbten oder gekrümmten Oberflächen dadurch verstärkt, dass der Laser meist aus technischen Gründen und mit vertretbarem Aufwand nicht in jedem Punkt ideal rechtwinklig zur Objektoberfläche platziert werden kann. Daher besteht ein flacher Winkel zwischen Oberfläche und Laserstrahl, sodass im Nahbereich des erwünschten Auftreffpunktes auf der Objektoberfläche ebenfalls das Material abgetragen wird. Dieser Effekt kann verringert werden, wenn der Laser in einer Vorrichtung befestigt ist, die beispielsweise um ein zylindrisches Objekt herumfährt, sodass der Auftreffwinkel des Laserstrahls immer möglichst rechtwinklig ist. Das ist aber ein auf wändiger, fehleranfälliger, zeitintensiver und ein schwer kalibrierbarer Prozess, sodass erfindungsgemäß eine später noch genauer definierte Helligkeitsverteilung bevorzugt wird, welche die Auswirkung derartiger Fehler in der komplementären Helligkeitsanordnung weitestgehend ausgleichen kann.
  • Obwohl im vorigen die Auftragungstechnik mittels Laser ausführlich analysiert wurde, können Analogien der genannten Probleme auch auf andere Techniken, insbesondere Drucktechniken, übertragen werden. Die erfindungsgemäß bevorzugt gewählte Symbolform erlaubt eine zusätzliche Robustheit gegen diese Einflüsse, sodass auch bei nicht exakter Auftragung die Erkennung zuverlässig ist.
  • Ein erfindungsgemäß geeignetes Kriterium für den Aufbau der Helligkeitsverteilung kann darin liegen, dass eine unbearbeitete Fläche mit dem logisch hellen Merkmal von der bearbeiteten Fläche mit dem logisch dunklen Merkmal nicht gänzlich umschlossen wird, um eine Überblendung zu verhindern bzw. zu vermindern. Das wird bei dem erfindungsgemäß besonders bevorzugten Symbol, das in der Figurenbeschreibung nach ausführlich erläutert wird, selbst dann erreicht, wenn ein Symbol in einer Acht-Nachbarschaft gänzlich ohne Freiraum von beliebigen anderen Symbolen umschlossen ist. Bearbeitete und unbearbeitete Flächen lassen sich erfindungemäß auch nicht aufeinander abbilden, was die Unterscheidungsfähigkeit weiter erhöht.
  • Um Beschädigungen des Bauteils zu verhindern, kann beim Lasern häufig nur mit einer maximal zulässigen Energie gearbeitet bzw. gebrannt werden, weshalb je nach Materialoberfläche die Bearbeitung mehr oder weniger deutlich sichtbar ist. Erreichbare Kontrastunterschiede liegen hier typisch bei 70% oder mehr. Die Kontrasteigenschaften sind auch von dem jeweiligen Oberflächenmaterial abhängig und können sogar innerhalb eines markierten Bereichs unterschiedlich sein, sodass verschiedene Symbole derselben Symbolmatrix unterschiedliche Kontrasteigenschaften aufweisen. Veränderungen im Kontrast können auch durch fehlerhafte Justierung anderer Parameter der Hardware zur Aufbringung herrühren. Die perfekte Einstellung solcher Parameter ist zeitintensiv und sie können sich mit der Zeit ändern. Daher wird erfindungsgemäß ein besonders robuster Symbolcode vorgeschlagen, der in einem großen Maß bereits durch Verwendung von zwei flächigen Symbolen mit einer Helligkeitsverteilung, d. h. mindestens zwei verschiedenen Helligkeiten in der Symbolfläche, erreicht wird, wobei die Helligkeitsverteilung der Symbole gerade komplementär zueinander ist. Auch wenn in der vorliegenden Anmeldung in konkreten Beispielen jeweils nur zwei verschiedene Helligkeiten beschrieben sind, können erfindungsgemäß in jedem Symbol auch mehr verschiedene Helligkeitswerte vorhanden sein, die bspw. über komplementäre Grauwertstufen in das komplementäre Symbol überführbar sind.
  • Symbole sollten ferner robust gegen Beschädigung durch Kratzer, Verschmutzung oder Fehler bei der Auftragung sein, etwa wenn ein Symbol nicht vollständig aufgebracht worden ist. Diese Erfindung definiert daher bevorzugte grafische Symbole für Null-Worte und Eins-Worte, die in jedem Fall einen Bereich aufweisen, der eine Bearbeitung des Objekts erfordert. So können fehlerhafte Zuordnungen zusätzlich verringert werden, die durch Verschmutzung auf gänzlich unbearbeiteten Oberflächen oder umgekehrt durch Reflexionen auf gänzlich bearbeiteten Symbolflächen verursacht werden.
  • Eine bevorzugte Symbolform der Erfindung sieht ein besonderes Verhältnis von bearbeiteten zu unbearbeiteten Symbolbereichen vor. Betrachtet man die bevorzugt verwendeten Symbole als Pixelbild und rastert man jedes Symbol durch ein 3×3-Gitter, so beträgt das Verhältnis von bearbeitetem Symbolbereich (5/9) zu unbearbeitetem Symbolbereich (4/9), oder umgekehrt, nahezu 1:1, sodass beide Anteile in etwa gleich stark vertreten sind. Die Abweichungen liegen in einem Bereich kleiner oder gleich 1/9 der Gesamtfläche, der sich in Praxisversuchen als sinnvolle Grenze für Abweichungen erwiesen hat. Insbesondere vereinbart ein 3×3-Gitter einzelner Symbolpixel einen sinnvollen Ausgleich zwischen Größe des Symbols, die bezüglich einer hohen erreichbaren Flächendichte nicht zu groß und bezüglich einer guten Lesbarkeit nicht zu klein gewählt werden sollte. Mit der Pixelgröße eines Signals kann theoretisch bis an die Auflösungsgrenze des Auftragungs- bzw. Leseverfahrens herangegangen werden. Ein weiteres wichtiges Kriterium für die Symbolgröße sind natürlich der auf der zu markierenden Oberfläche zur Verfügung stehende Raum, der erfindungsgemäß ausgenutzt werden kann. Die Symbolgröße kann dann gerade so groß gewählt werden, dass sich die gewünschten Informationen kodieren lassen.
  • Betrachtet man jeweils sowohl nur die eindimensionale X-Achse als auch die eindimensionale Y-Achse des zweidimensionalen Symbols, die in dem bevorzugten Beispiel jeweils entlang der Symbolkanten des rechteckigen oder quadratischen Symbols verlaufen, so kann erfindungsgemäß ein bevorzugtes Verhältnis von 1:3 bzw. von 2:3 von bearbeiteten zu unbearbeiteten Symbolbereichen eingehalten werden.
  • Bei einer erfindungsgemäß bevorzugten Helligkeitserteilung haben die Symbole für das Null-Wort und die Symbole für das Eins-Wort jeweils also eine im Durchschnitt fast gleiche Verteilung von Helligkeitswerten, sodass keines der beiden Symbole durch eine im Vergleich zum anderen auffälligere Markierung in der Erkennung bevorteilt wird. Zum anderen kann in der Bildverarbeitung bei eindimensionaler Analyse des Helligkeitswertbildes eines Symbolcodes nach Helligkeitswertsprüngen ein voneinander eindeutig unterscheidbares Antwortmuster produziert werden, auch wenn die Auftragungsqualität mangelhaft ist, da beide Bereiche einen weiten Abstand zueinander aufweisen.
  • Die besonderen Vorteile des erfindungsgemäß vorgeschlagenen Systemcodes treten besonders auch in dem erfindungsgemäßen Lese- bzw. Dekodierverfahren zu Tage, indem bei dem Erkennen und Dekodieren der einzelnen Symbole in der den Symbolcode darstellenden Symbolmatrix bevorzugt ein im Stand der Technik für diesen Zweck bisher unübliches Korrelationsverfahren verwendet wird, auch unabhängig von der Verwendung von Symbolen mit komplementärer Helligkeitsverwendung.
  • Bei einem erfindungsgemäß bevorzugten Korrelationsverfahren werden Helligkeits- bzw. Grauwerte innerhalb jedes einzelnen Symbolbereichs normalisiert, um die Kontrasteigenschaften einer Oberfläche adaptiv und auf ein einzelnes Symbol beschränkt zu optimieren. So kann auch das Problem von Reflexionen an spiegelnden Oberflächen angegangen werden.
  • Der für das erfindungsgemäß vorgeschlagene Verfahren erforderliche Kontrast zwischen heller und dunkler Fläche eines Symbols liegt bei nur einer Helligkeitswertstufe. Zur optimalen Unterscheidung sollte es dann innerhalb derselben Fläche unter den Helligkeitswerten keine weitere Differenz in Helligkeitswertstufen geben. Da bei aktuel len bildgebenden Erfassungsgeräten konstruktionsbedingte technische Einflüsse wie Bildrauschen berücksichtigt werden müssen, werden homogene Flächen gleicher Helligkeit nicht als ebensolche im Pixelbild verfügbar sein. Es kann erfindungsgemäß angenommen werden, dass ein Helligkeits- bzw. Grauwertsprung bei 10% Kontrastunterschied zuverlässig erkannt wird. Der real benötigte Kontrastunterschied kann weiter gesenkt werden, wenn das Korrelationsverfahren robust gegen Ausreißer ist, sodass bei dem erfindungsgemäßen Leseverfahren sogar ein Kontrast von weniger als 10% ausreichend ist, um die Symbolzuordnungen zuverlässig vorzunehmen. Da das vorgeschlagene Verfahren zudem keine Vorverarbeitung in der Bildverarbeitung erfordert, werden dadurch keine weiteren Helligkeitswertfehler eingestreut, sodass der erforderliche Kontrastunterschied wie oben quantifiziert werden kann.
  • Bisher werden Korrelationsverfahren in der Bildanalyse zur Extraktion von Symbolcodes nach Möglichkeit in der Praxis nicht verwendet, da ein Korrelationsverfahren im Vergleich zu morphologischen Operatoren sehr rechenintensiv ist. Durch die vorliegende Erfindung wird dieser vermeintliche Nachteil aufgrund der Wahl zweier in ihrer Helligkeitsverteilung komplementärer grafischer Symbole beseitigt werden, weil in einer Filterung des zu analysierenden, den Symbolcode darstellenden Bildes mit nur einem einzigen Korrelationsfilter beide Symbole zugleich lokalisiert werden können. Dazu wird das Ergebnis einer Abstandsfunktion zu der Filtervorlage berechnet, die mit der Helligkeitsverteilung eines der erfindungsgemäß komplementären Symbole übereinstimmt. Die Abstandsfunktion gibt also die Entfernung der vorliegenden Grauwertverteilung von der Grauwertverteilung der Korrelationsvorlage an.
  • Wird die Korrelation über einem Symbol ausgeführt, das exakt dem der Korrelationsvorlage entspricht, so ist das Ergebnis der Abstandsfunktion gleich Null, da kein Unterschied besteht. Wird dieselbe Korrelationsvorlage jedoch über das exakt komplementäre Symbol gelegt, so entspricht das Korrelationsergebnis einem maximalen Wert, da der Grauwertunterschied für jedes Bildpixel maximal ist.
  • Bei den im Stand der Technik üblichen Verfahren werden dagegen grafische Symbole definiert, deren Form Merkmale aufweisen, die einem Wort zugeordnet sind. Um eine Wortlänge n zu dekodieren, werden daher üblicherweise 2n Filter auf das zu analysie rende Bild angewandt, die mit jeweils einem der möglichen Symboltypen stark und mit allen anderen der 2n Symboltypen möglichst wenig übereinstimmen, um einem bestimmten Symbol einen eindeutigen Wert zuordnen zu können.
  • Um ein binäres Wort zu dekodieren sind nach dem im Stand der Technik üblichen Vorgehen daher zwei Filterungen nötig. Durch die Erfindung kann somit zum einen die Anzahl der Filterungen um die Hälfte reduziert werden, so dass für die binären Worte nur eine Filterung durchgeführt werden muss. Zum anderen ist bei Anwendung eines erfindungsgemäßen Korrelationsverfahrens eine Bildvorverarbeitung vor dem Anwenden der Filter unnötig, sodass in diesem Falle die Rechenzeit gegenüber dem Stand der Technik weiter reduziert werden kann. Beide Eigenschaften tragen zur Verringerung der Ausführungszeit bei. Trotzdem ist die Zuverlässigkeit des erfindungsgemäßen Verfahrens höher als bei der Anwendung morphologischer Filter, da jedes Pixel betrachtet wird und keine Information verlorengeht, etwa durch Binarisierungsverfahren oder Verfahren zur Separierung benachbarter grafischer Symbole. Beides macht die bevorzugt vorgeschlagene Anwendung eines erfindungsgemäßen Korrelationsverfahrens zur effizienten und zuverlässigen Erkennung von zweidimensionalen maschinenlesbaren Codes in der Prozesskontrolle mit kurzen geforderten Taktzeiten konkurrenzfähig und überlegen.
  • Gemäß einem weiteren Aspekt der Erfindung können bei dem Lesen bzw. der Dekodierung der einzelnen Symbole eines Symbolcodes Konfidenzwerte zur Bestimmung der Erkennungssicherheit eines, vorzugsweise jedes Symbols ermittelt werden.
  • Das vorgeschlagene Verfahren zur Erkennung grafischer Symbole kann in dieser Ausgestaltung unmittelbar angeben, wie sicher es das erkannte Symbol zuordnen kann. Dies ist insbesondere bei redundanter Kodierung von Worten vorteilhaft, weil dann basierend auf der Erkennungssicherheit einzelner Symbole eine Menge von Symbolen von hoher Erkennungssicherheit zur Rekonstruktion des kodierten Wortes bestimmt werden kann. Bei dem erfindungsgemäßen Verfahren können solche Werte zu jedem erkannten Symbol erfragt werden. Diese werden als Konfidenzwert bezeichnet. Sie sind im angewandten Korrelationsverfahren direkt enthalten und zwar so, dass alle Konfidenzwerte aller Symbole voneinander unabhängig bestimmt sind und trotzdem nur aus einer einzigen Filterung abgeleitet werden. Hierbei ist die Filterung an jedem Ort im Bild gleich, sodass eine maximale Vergleichbarkeit der erhaltenen Konfidenzwerte unter den erkannten Symbolen gewährleistet ist. Somit ist durch Anwendung des erfindungsgemäßen Verfahrens neben einer Dekodierung gleichzeitig auch eine Aussage über die Dekodierungsqualität möglich.
  • Durch den einfachen und robusten Aufbau der einzelnen Symbole des Symbolcodes sind in dem Symbolcode erfindungsgemäß keine Symbole zur Synchronisation notwendig. Vielmehr kann der Symbolcode ausschließlich aus den beiden komplementären Symbolen gebildet werden. Es trägt zur Erhöhung der Datendichte und der Zuverlässigkeit der Erkennung bei, dass der Systemcode gemäß der Erfindung vorzugsweise keine besonderen Symbole zur Lokalisierung, Entzerrung oder Synchronisation und auch keine statisch festgelegten Abfolgen von Symbolen oder vordefinierte Bereiche, die Versions- oder Formatdefinitionen dienen, enthält. Zum einen bleibt durch Weglassen von Ankersymbolen oder statischen Mustern mehr Platz für Dateninformationen zur Verfügung und zum anderen wird ein „Single Point of Failure” eliminiert. Kann nämlich das Muster zur Synchronisation, ein Ankersymbol oder die Versionsbeschreibung beispielsweise aufgrund reflektierender Oberflächen oder Verschmutzung nicht fehlerfrei extrahiert werden, so verhindert dies die Dekodierung der Symbolmatrix vollständig.
  • Bisherige Markierungen im Stand der Technik waren oft auf eine rechteckige Symbolmatrix oder eine kreisrunde Form der Anordnung mit einer bestimmten Mindestgröße beschränkt, um neben den Symbolen für die Datenbits auch Synchronisationsobjekte unterzubringen. Dies verhindert ein beliebiges Anordnen auf kleinen Bauteilen, auf Flächen mit Aussparungen oder die Aufteilung des Symbolcodes und dessen Aufbringung auf voneinander getrennte Flächen. Erfindungsgemäß können nach dem statischen Initialisieren einer beliebigen polygonalen Freiform die grafischen Symbole erwandert und in eine passende Wortmatrix transformiert werden. Es kann alternativ eine beliebige Menge von sich in der Form unterscheidenden Aufbringungsflächen angegeben werden, innerhalb derer die grafischen Symbole in gekachelten Datenzellen angeordnet sind. Während der Erwanderung der Symbole wird die wahrscheinlichste, die Symbolmatrix charakterisierende Form ausgewählt und dementsprechend die Wortmatrix erstellt.
  • Das vorgeschlagene Verfahren ist vorzugsweise parameterlos in dem Sinne, dass als Eingabe des Algorithmus ein Helligkeits- bzw. Grauwertbild erwartet wird, welches eine Abbildung des hier definierten Symbolcodes enthält. Dabei können alle benötigten Parameter des Symbolcodes wie Skalierung, Translation, Rotation und Aufbringungsfläche erfindungsgemäß vom Verfahren selbst ermittelt werden. Daher ist keine Anpassung der Parameter bei der Inbetriebnahme einer visuellen Erfassungsstation erforderlich. Dies birgt große Vorteile, da das manuelle Vornehmen solcher Einstellungen aufwendig ist und sich schon bei minimalen Änderungen am Gesamtsystem eine Neukalibrierung nicht vermeiden ließe. Durch die adaptive Ausrichtung des erfindungsgemäßen Verfahrens kann die Kalibrierung automatisch erfolgen, wie an einem Beispiel später noch erläutert wird.
  • Der erfindungsgemäß vorgeschlagene grafische Symbolcode beseitigt durch seine anpassbare Form, der Robustheit der gewählten Symboltypen bzw- -formen und der sowohl zuverlässigen als auch recheneffizienten Extraktionsmethode (Dekodierung) aktuell noch bestehende Einschränkungen in DPM (Direct Part Marking) Verfahren für das Aufbringen von zweidimensionalem Systemcode, insbesondere für Anwendungen bei kleinen Bauteile mit spiegelnden Oberflächen. Bei der Auswahl und Entwicklung der grafischen Symbole und der Extraktionsmethode dieses Symbolcodes sind typische und gegenläufige Anforderungen, die an einen solchen Systemcode in der automatisierten Fertigung gestellt werden, berücksichtigt worden. Es ist das Ziel elektronische und mechanische Bauteile weiterzuentwickeln und zu miniaturisieren. Sollen diese Objekte einen maschinell lesbaren, zweidimensionlen Symbolcode erhalten, müssen derartige Codes verfügbar sein, die auch bei kleiner verfügbarer Fläche anzubringen sind und eine hohe Datendichte mit zusätzlicher Fehlerkorrektur bieten. Das Lesen soll zuverlässig und effizient möglich sein, sodass Taktzeiten in der Produktionslinie weiter erhöht werden können.
  • Mit dieser Erfindung steht nun ein solcher Systemcode sowie ein darauf abgestimmtes Verfahren zum Erzeugen und/oder Lesen des Symbolcodes zur Verfügung, mit denen die Möglichkeiten von DPM (Direct Part Marking) erweitert werden und Techniken, wie vorheriges Aufrauen des Objekthintergrundes oder das Anbringen von Papieretiketten, obsolet werden.
  • Ein besonderer Vorteil der Erfindung liegt in der Qualitätskontrolle durch allgemein abfallende Konfidenzwerte, die unabhängig voneinander sind, weil sie unmittelbar aus der Anwendung eines Filters auf den insbesondere aus komplementären Symbolen aufgebauten Symbolcode folgen.
  • Das vorgeschlagene, bildverarbeitende Verfahren zur Dekodierung der den Symbolcode darstellenden Symbolmatrix in eine Wortmatrix gibt bei jeder Erkennung eines Symbols erfindungsgemäß den zugehörigen Konfidenzwerte aus. Solche Konfidenzwerte können über viele zeitlich aufeinanderfolgende Dekodierungen derselben Prüfstation gemittelt werden, sodass mit der Zeit allgemein abfallende Konfidenzwerte Hinweise auf zunehmende Verschmutzung der Objekte geben. Abfallende Konfidenzwerte können auf einer gesamten Symbolmatrix oder auch nur auf Teilbereichen einer Symbolmatrix festgestellt werden, da die Konfidenzwerte auch ortsaufgelöst entsprechend der Anordnung der Datenzellen in der Symbolmatrix abgelegt werden können. Bei zunehmender Verschmutzung kann die Ursache im Fertigungsprozess gesucht und beseitigt werden, bevor diese so stark zugenommen hat, dass beispielsweise Symbolcodes nicht mehr dekodiert werden können. Abfallende Konfidenzwerte können auch von lokalen Fehlbrennungen des Lasers beim Auftragen des Symbolcodes herrühren, oder von unbemerkten Änderungen in der Zusammensetzung des Oberflächenmaterials oder anderem Verschleiß. Eine Beobachtung der Konfidenzwerte durch Speicherung, Verarbeitung und Abgleich in einer Datenbank kann frühzeitig auf Verschlechterung der Verarbeitungsqualität aufmerksam machen.
  • Ein weiterer Vorteil der Erfindung liegt darin, dass die binäre Kodierung durch zwei Symbole komplementärer Helligkeitsverteilung durch Verwendung farbiger grafischer Symbole einfach auf eine Multi-Wort Kodierung erweitert werden kann, ohne dass das Auswertungsverfahren geändert werden muss. Als zusätzliche Information muss lediglich die Farbe mit erkannt werden.
  • Im Rahmen dieser Anmeldung wird die Kodierung der Wortlänge Eins, d. h. eine binäre Kodierung, durch grafische Symbole ausführlich behandelt. Es ist leicht eine Multi-Wort-Kodierung herzuleiten, welche Worte von einer Länge größer als Eins durch grafische Symbole kodiert. Dies kann mit einer Farbe unterstützenden Drucktechnik erreicht werden. Dabei werden die grafischen Symbole farbig gedruckt, sodass der schwarzen und weißen Helligkeitsverteilung (Grauwertverteilung) jeweils eine Kombination von Farben zugewiesen wird. Es können beliebig viele Farben verwendet werden, wenn diese zuverlässig voneinander unterschieden werden können. Das optische System erfasst den farbigen Symbolcode bspw. als RGB-Farbbild. Das Farbbild kann dann in einen Helligkeitskanal, d. h. ein Grauwertbild, und weitere Farbkanäle transformiert werden. Der Helligkeitskanal wird so verarbeitet wie zuvor bereits für Grauwertbilder beschrieben. Anschließend kann dann aus den extrahierten Symbolzellen die Farbinformation aus den Farbkanälen hinzugefügt werden, und deren Analyseergebnis mit in die Wortmatrix aufgenommen werden, bevor diese ausgegeben wird.
  • Nach den Helligkeitsverteilungen der grafischen Symbolen zur Kodierung einer Wortlänge von Eins kann gezählt werden, welche Pixel die bei ihnen erwartete Farbinformation aufweisen, und zwar getrennt nach dem hellen und dunklen Bereich eines Symbols. Verschmutzte Bereiche weisen nicht die gewünschte Farbinformation auf, sodass Pixel dieser Regionen nicht mitgezählt würden. Aus der erhaltenen Anzahl kann ein Konfidenzwert zur Farbinformation errechnet werden als Verhältnis zur tatsächlich erwarteten maximalen Anzahl Pixel mit einer Farbe.
  • So kann die Wortmatrix mit einer erweiterten Wortlänge und zugehörigen zusätzlichen Konfidenzwerten zur Farbinformation angereichert werden, bevor sie dem Dekodierungsverfahren ausgegeben wird. Wird bei der Farbwahl darauf geachtet, dass aus den erfassten Helligkeiten allein die Zuordnung der auf komplementärer Helligkeit basierenden grafischen Symbole zur Ein-Wort-Kodierung möglich ist, ohne die zusätzlich vorhandene Farbinformation zu nutzen, so kann eine Enkodierung derart erfolgen, dass ein umfangreicher binärer Datensatz in einen Teil, der unabhängig von den zusätzlichen Farbinformationen aus einem Grauwertbild allein dekodiert werden kann, und ein anderen Teil aufgeteilt wird, der nur bei vorhandener Farbinformation dekodiert werden kann und zusätzliche Informationen bereithält, die nicht zwingend notwendig sind.
  • In Anlehnung an die zuvor beschriebene Farbcodierung ist es erfindungsgemäß auch möglich, für das menschliche Sehvermögen unsichtbare Symbolcodes in ein Farbbild beispielsweise zur krypthographischen Signatur einzubetten. Menschen beurteilen einen Farbwert, der sehr nahe bei einem anderen Farbwert liegt, als gleich. Dieser Effekt wird durch sogenannte MacAdam Ellipsen quantifiziert. Der CIE U', V' Farbraum projiziert diese Ellipsen annähernd auf Kreise, die um einen Farbwert herum gelegt werden können. Haben in einem Farbbild lokale Bereiche einen ähnlichen Farbwert, so kann dieser als Zentrum einer MacAdam Ellipse aufgefasst werden. Platziert man nun ein grafisches Symbol des Symbolcodes in diesem Bereich, so bekommt der dort schwarz gezeichnete Bereich einen Farbwert auf dem Rand der MacAdam Ellipse zugewiesen, der weiß gezeichnete Bereich bekommt einen auf der MacAdam Ellipse gegenüberliegenden Farbwert gesetzt. Um eine Ein-Wort-Dekodierung der grafischen Symbole zur Symbolmatrix durchzuführen, sind nur Helligkeitswerte interessant. Da Farbwerte ignoriert werden können, darf jedes Symbol unterschiedliche Farbwerte besitzen, die jeweils an den Hintergrund des Farbbildes, auf dem der Symbolcode aufgebracht wird, angepasst sind. Um Ränder von Regionen im Farbbild nicht zu zerstören, muss an diesen Stellen nicht unbedingt ein grafisches Symbol gesetzt werden. Steht ein hochauflösendes optisches Erfassungssystem mit homogener Lichtverteilung zur Verfügung, kann ein solcher Symbolcode dekodiert werden. Für einen das Farbbild betrachteten Menschen bleibt dieser hingegen unsichtbar.
  • Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der Erfindung ergeben sich auch aus der nachfolgenden Beschreibung von Ausführungsbeispielen und der Zeichnung. Dabei bilden alle beschriebenen und/oder bildlich dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der vorliegenden Erfindung, auch unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbezügen.
  • Es zeigen:
  • 1 ein Ausführungsbeispiel für die Helligkeitsverteilung der grafischen Symbole für ein Null-Wort (Abbildung a) und ein Eins-Wort (Abbildung b), die bevorzugt in einer binären Kodierung verwendet werden können. Die dünn gezeichneten Begrenzungslinien sind nicht Teil der jeweiligen Symbole, sondern dienen der Darstellung deren räumlichen Grenzen.
  • 2 ein Ablaufdiagramm für das Vorgehen zur Auswahl, Anbringung und Erfassung eines optimalen erfindungsgemäßen Symbolcodes unter Nebenbedingungen.
  • 3 ein Ablaufdiagramm für die erfindungsgemäße Einbindung des Symbolcodes zur Automatisierung der Fertigung.
  • 4 ein Ablaufdiagramm für die Einbettung einer Prüf- oder Montagestation mit Erkennung und Verarbeitung eines erfindungsgemäßen Symbolcodes auf einem Objekt.
  • 5 den schematischen Ablauf des Erkennens bei einem erfindungsgemäßen Anwendungsbeispiel, bei dem der Symbolcode auf einer zylindrisch gekrümmten Oberfläche mit spiegelnden Eigenschaften angebracht ist.
  • 6 den schematischen Ablauf des Erkennens bei einem erfindungsgemäßen Anwendungsbeispiel, bei dem mehrere Symbolcodes auf Ventilköpfen eines kleinen Steuerventils mit gewölbter und flacher, spiegelnder und matter Oberfläche sowie von unterschiedlicher Höhe erfindungsgemäß durch eine einzige Erkennungsstation aus einem einzigen erfassten Bild gelesen werden.
  • 7 ein Ablaufdiagramm für ein erfindungsgemäßes Verfahren zum Erzeugen und Zuordnen verschiedener, durch die innere und äußere Form ihrer Aufbringungsfläche unterscheidbarer Symbolcodes zu den erfassten grafischen Symbolen im aktuell auszuwertenden Bild.
  • 8 eine erste Ausführungsform einer den Symbolcode darstellenden Symbolmatrix in rechteckiger Aufbringungsfläche bestehend aus 21 Zeilen und 30 Spalten einzelner Datenzellen mit einem in jeder Datenzelle angeordneten Symbol gemäß 1.
  • 9 eine zweite Ausführungsform einer den Symbolcode darstellenden Symbolmatrix in gerasterter kreisförmiger Aufbringungsfläche.
  • 10 eine dritte Ausführungsform einer den Symbolcode darstellenden Symbolmatrix in gerasterter kreisförmiger Aufbringungsfläche mit zentraler Aussparung.
  • 11 eine vierte Ausführungsform einer den Symbolcode darstellenden Symbolmatrix als Freiformfläche in polygonaler Aufbringungsfläche. Zur Veranschaulichung sind die äußere Form in etwa wiedergebende Umgrenzungslinien der Symbolmatrix zusätzlich eingezeichnet, die jedoch nicht Teil des Symbolcodes sind.
  • 12 eine Darstellung der als Punkt wiedergegebenen Symbolzentren der einzelnen Symbole in den Datenzellen der Symbolmatrix der vierten Ausführungsform gemäß 11. Hierdurch ist die zeilen- und spaltenförmige matrixähnliche Anordnung der Symbole innerhalb der Freiformfläche hervorgehoben, deren Ränder jedoch von Zeile zu Zeile bzw. Spalte zu Spalte variieren können und ggf. sogar unterbrochen sein können.
  • 13 eine fünfte Ausführungsform einer den Symbolcode darstellenden Symbolmatrix bestehend aus zwei voneinander getrennten Freiformflächen mit jeweils eigner polygonaler Aufbringungsfläche. Zur Veranschaulichung sind wieder entsprechende Umgrenzungslinien zusätzlich eingezeichnet, die die äußere Form der Symbolmatrix in etwa wiedergeben, jedoch nicht Teil des Symbolcodes sind.
  • 14 eine Darstellung der als Punkt wiedergegebenen Symbolzentren der einzelnen Symbole in den Datenzellen der Symbolmatrix der fünften Ausführungsform gemäß 13. Hierdurch ist die zeilen- und spaltenförmige matrixähnliche Anordnung der Symbole innerhalb der Freiformfläche hervorgehoben, die sich in dieser Ausführungsform auf beide Freiformflächen erstreckt.
  • 15 eine Darstellung eines Flächen-Histogramms für die Symbolmatrix gemäß 13, deren geometrischer Schwerpunkt mit einem Kreuz gekennzeichnet ist. Das Flächen-Histogramm zeigt an, ob sich ein durch ein Symbolzentrum dargestelltes Symbol in einer Flächen-Histogrammzelle befindet oder nicht. In diesem Fall hat die Flächen-Histogrammzelle den Wert 1, andernfalls den Wert 0.
  • 16 ein Ablaufdiagramm mit einem Überblick der allgemeinen Verfahrensschritte für eine erfindungsgemäße Transformation der grafischen Symbolmatrix in deren korrespondierende Wortmatrix einschließlich Ermittlung von Konfidenzwerten.
  • 17 die grafischen Symbole für das Null-Wort (Abbildung a) und das Eins-Wort (Abbildung b) mit zusätzlich eingezeichneten Skalierungsinformationen zur Veranschaulichung. Dabei wird deutlich, dass ein grafisches Symbol in 3×3 Pixelblöcke etwa gleich großer quadratischer Seitenlängen eingeteilt ist. Das Hauptmerkmal nimmt dabei einen zusammengefassten 2×2 Pixelblock rechts unten in den grafischen Symbolen a und b ein. Der übrige Bereich ergibt sich als rechtwinklig angeordnete linienartige Fläche, die in der Breite eines 1×1 Pixelblocks, um den zwei aneinander stoßende Seiten des äußeren Rands des Hauptmerkmals gezogen ist. In der hier gewählten Darstellung verläuft die linienartige Fläche in beiden Ausführungen gemäß den Abbildung a und Abbildung b von links unten nach rechts oben. Somit ergibt sich in Abbildung a ein Größenverhältnis von 1/3 zu 2/3 zwischen bearbeitetem (logisch schwarz) und unbearbeitetem (logisch weiß) Bereich in jede Richtung entlang der Seitenkanten. Da die Symbole gemäß den Abbildung a und b eine komplementäre Helligkeitsverteilung zueinander aufweisen, ist das vorgenannte Verhältnis zuwischen bearbeitetem und unbearbeitetem Bereich in Abbildung b gerade umgekehrt.
  • 18 eine Ausführungsform einer Zweifach-Vorlage (auch als Zweifach-Symbolvorlagen oder Doppel-Symbolvorlagen bezeichnet) der beiden Symbole des Systemcodes, die zur Extraktion eindeutiger Rotations- und Skalierungsparameter verwendetet werden kann. Die Erfindung ist nicht auf die beispielhafte Zweifach-Vorlage beschränkt. Vorteilhaft ist es jedoch, wenn erfindungsgemäß sowohl Ausführungen des Null-Wort Symbols als auch des Eins-Wort Symbols in der zwei oder Mehrfachvorlage umfasst sind. Mit einer Zwei- oder Mehrfach-Vorlage werden Zweideutigkeiten der 0°, 90°, 180° und 270° Drehungen aufgelöst.
  • 19 das graphische Ergebnis des Antestens verschiedener automatisch generierter Zweifach-Vorlagen zur Ermittlung von Skalierungs- und Rotationsparametern. Bei dem Antesten wurden die jeweils rechts neben der Darstellung mit durch unterschiedlich große Punkte repräsentierten Konfidenzwerten wiedergegebenen Zweifach-Vorlagen auf die Pixel des Bildes der Symbolmatrix in Abbildung a angewendet, d. h. das Bild wurde pixelweise auf Übereinstimmungen des in dem Bild dargestellten Systemcodes mit der Zweifach-Vorlage abgesucht. Dazu wurde die Zweifach-Vorlage relativ über das auszuwertende Bild verschoben und die Deckungsgleichheit von Zweifach-Vorlage und Bild bestimmt. Dieser Vorgang wird auch als Korrelation bezeichnet. Das Ergebnis einer solchen Bestimmung sind Konfidenzwerte Abbildung a der 19 zeigt den zu untersuchenden Bildausschnitt mit einer rotierten Symbolmatrix. In den Abbildung b, c, d und e sind jeweils beispielhaft nach Vorgaben generierte Zweifach-Vorlagen gezeigt, die sich in ihrer Größe und Ausrichtung relativ zu der Symbolmatrix unterscheiden. Die jeweiligen Korrelationsergebnisse sind für alle Pixel links neben den für die Korrelation jeweils verwendeten Zweifach-Vorlagen dargestellt, wobei dickere Punkte eine höhere Konfidenz bedeuten. In der Praxis werden auch außerhalb der Symbolmatrix mögliche Mittelpunkte der Doppel- Symbolvorlage extrahiert, was durch Oberflächenstruktureffekte verursacht werden kann. Weit von den tatsächlichen Parametern entfernte Zweifach-Vorlagen, wie in den Abbildung b und c weisen allgemein geringere Konfidenzwerte bei der Korrelation auf. Die Zweifach-Vorlagen gemäß den Abbildungen d und e führen zu hohen Konfidenzwerten, wobei die in Abbildung e gezeigte, exakt skalierte und ausgerichtete Zweifach-Vorlage die höchsten Konfidenzwerte erzeugt und zwar genau an den Positionen im Bild, an denen ein solches Symbol in der Symbolmatrix gemäß Abbildung a vorliegt.
  • 20 zeigt in Abbildung a und in Abbildung b jeweils eine Vier-Nachbarschaft aus Zellen von Null-Wort Symbolen. Die Darstellung in Abbildung b entspricht derjenigen in Abbildung a nach einer Rotation um 90° im Uhrzeigersinn. Es ist erkennbar, dass Abbildung b ein Muster zeigt, welches nur noch zwei vollständige Null-Wort Symbole in der in 1 dargestellten Ausrichtung zeigt.
  • 21 erläutert graphisch eine teilweise geltende Skalierungsinvarianz. Wird ein Symbol mit einer kleineren Symbolvorlage korreliert, so wird im Bestfall ein X- bzw. Y-achsenbasiertes Verhältnis von etwa 1/2 von bearbeiteten zu unbearbeiteten Symbolbereichen erreicht, was nicht dem originalen Verhältnis von 1/3 bzw. 2/3 entspricht. Jedoch unter der Berücksichtigung, dass Korrelationswerte durch das unkorrekte Verhältnis um einen konstanten Faktor geringer sind als sonst, kann die Korrelation erfindungsgemäß eine eindeutige Zuordnung ermöglichen.
  • 22 zeigt eine quadratische Symbolmatrix nach einer Filterung mit einer Sobel-Filtermaske (Kantendetektor) in Y-Richtung der Bildachsen. Mittels einer Hough-Transformation kann der Steigungswert der Graden extrahiert und somit eine Abschätzung der Rotation der Symbolmatrix gegeben werden.
  • 23 zeigt erläuternd ein erfindungsgemäßes Verfahren zum beschleunigten Antesten der Bildausrichtung der Symbolmatrix mittels einer Hough- Transformation. Hierbei werden Rotationsparameter durch die hauptsächliche Ausrichtung der Liniensegmente der einzelnen grafischen Symbole approximiert. In Abbildung a ist ein Bildausschnitt mit einer rotierten Symbolmatrix dargestellt. Durch Anwendung eines Kantendetektors für Grauwertkanten, wie beispielsweise dem Sobel-Operator in Richtung der X- und Y-Achsenabschnitte, erhält man ein Bild wie in Abbildung b dargestellt. Die extrahierten Liniensegmente können dann mittels einer Hough-Transformation zu parametrisierten Geraden verschmolzen werden, wie in Abbildung c gezeigt. Aufgrund der matrixförmigen Anordnung der grafischen Symbole ergeben sich somit zwei zueinander orthogonale Hauptrichtungen von Geraden. Die parametrisierten Geraden geben die zwei möglichen und die mittels der Zweifach-Vorlage anzutestenden zwei bevorzugten Rotationen vor. Zu jeder Rotation korrespondiert deren Spiegelung, sodass insgesamt vier Freiheitsgerade bestehen beleiben, die mittels der Zweifach-Vorlage angetestet werden. Dies ist in den Abbildung d, e, f und g dargestellt. Eine Initialisierung für die Skalierungsparameter kann erfindungsgemäß aus den parallelen Geradenabständen aus Abbildung c erhalten werden.
  • 24 ein Ablaufdiagramm für die Mittelpunktfindung der Symbole und das darauffolgende Erwandern dieser Mittelpunkte mit Berücksichtigung von durch die Bildverarbeitung verrauschten Mittelpunktdaten.
  • 25 ein Korrelationsbild zu der Symbolmatrix gemäß 11, wobei nur die Korrelationsergebnisse zum Null-Wort hervorgehoben sind. In dieser Zeichnung gibt die Dichte der Punkteverteilung die Korrelationswerte an. Eine hohe Dichte bedeutet einen Korrelationswert von nahe 1.0 und geringe Dichte einen Korrelationswert nahe –1.0. Dies ist darstellungsbedingt, der reale Algorithmus hat eine Grauwertverteilung zur Verfügung. Zur Hervorhebung ist die Aufbringungsfläche zusätzlich eingezeichnet.
  • 26 ein Korrelationsbild zu der Symbolmatrix gemäß 11, wobei nur die Korrelationsergebnisse zum Eins-Wort hervorgehoben sind. In dieser Zeich nung gibt die Dichte der Punkteverteilung die Korrelationswerte an. Eine hohe Dichte bedeutet dabei einen Korrelationswert von nahe 1.0 und geringe Dichte einen Korrelationswert nahe –1.0. Dies ist darstellungsbedingt, der reale Algorithmus hat eine Grauwertverteilung zur Verfügung. Zur Hervorhebung ist die Aufbringungsfläche zusätzlich eingezeichnet.
  • 27 ein Korrelationsbild als Betragsbild zu der Symbolmatrix gemäß 11, wobei die Korrelationen zum Null-Wort und zum Eins-Wort hervorgehoben sind. In dieser Zeichnung gibt die Dichte der Punkteverteilung die Korrelationswerte an. Eine hohe Dichte bedeutet dabei einen Korrelationswert von nahe 1.0 oder –1.0 und eine geringe Dichte einen Korrelationswert nahe 0.0. In letzterem Fall konnte also kein Symbol identifiziert werden. Dies ist darstellungsbedingt, der reale Algorithmus hat eine Grauwertverteilung zur Verfügung. Zur Hervorhebung ist die Aufbringungsfläche zusätzlich eingezeichnet.
  • 28 ein auf 27 beruhendes Dilatationsbild, in dem die Dichte der Liniensegmente die Konfidenz für ein Symbol in diesem lokalen Bereich angibt. Dies ist darstellungsbedingt, der reale Algorithmus hat eine Grauwertverteilung zur Verfügung. Zur Hervorhebung ist die Aufbringungsfläche zusätzlich eingezeichnet.
  • 29 ein verrauschtes Mittelpunktsbild einer quadratischen Symbolmatrix auf einer gekrümmten Oberfläche, wobei die extrahierten Symbolmittelpunkte schwarz eingezeichnet sind. Auch auf unbearbeitetem Objekthintergrund sind Mittelpunkte markiert. Innerhalb der Symbolmatrix liegen nicht alle Mittelpunkte auf einem zu erwartenden orthogonalen bzw. parallelen Gitter. Diese Phänomene werden als Mittelpunktrauschen bezeichnet.
  • 30 ein verrauschtes Mittelpunktsbild einer quadratischen Symbolmatrix auf einer ebener Objektfläche, wobei die extrahierten Symbolmittelpunkte schwarz eingezeichnet sind. Es befinden sich extrahierte Mittelpunkte auch auf der Objektoberfläche neben der Symbolmatrix. An einigen Positionen im Mittelpunktsbild sind keine Mittelpunkte extrahiert worden, obwohl sie sich dort entsprechend der korrespondierenden Symbolmatrix hätten befinden sollen. Auch innerhalb der Symbolmatrix sind aufgrund von Verschmutzungen im erfassten Bild oder durch Ungenauigkeiten bei der Auftragung der grafischen Symbole durch einen Laser Mittelpunkte an Positionen extrahiert worden, an denen keine zu erwarten sind. Die matrixähnliche Gitterstruktur der Mittelpunkte ist im Mittelpunktsbild unter Umständen auch aufgrund von Quantisierungsfehlern, wechselnder lokaler Erkennungsqualität und perspektivischer Verzerrung nicht exakt wiedergegeben.
  • 31 ein Ablaufdiagramm für das spalten- und zeilenweise Erwandern aller Symbole zur Erstellung der logischen Wortmatrix gemäß der vorliegenden Erfindung.
  • 32 eine schematische Darstellung des erfindungsgemäßen Erwanderns der extrahierten Symbolmittelpunkte mittels der Methode des „Region Growing”. In Abbildung a wurde der Symbolmittelpunkt mit dem höchsten Konfidenzwert ausgewählt. Von diesem Startpunkt aus wurde eine Zeile aus Mittelpunkten von links nach rechts, sowie von rechts nach links abgelaufen, wie durch die Pfeile symbolisiert. In Abbildung b wird in die nächstuntere Zeile gesprungen. Diese und alle weiteren darunter liegenden Zeilen werden nach gleichem Schema markiert, wie in Abbildung c im Ergebnis dargestellt. Abbildung d zeigt das vollständig markierte Mittelpunktsbild, nachdem von dem Startpunkt aus auch die oberen Zeilen erwandert worden sind.
  • 33 erläuternde Darstellungen des erfindungsgemäßen Verfahrens zur Findung eines extrahierten Symbolmittelpunktes nach dessen Schätzung. Hier ist ein Symbol der Größe 6×6 Pixel dargestellt. Der Mittelpunkt wurde geschätzt. Befindet sich an diesem Pixel kein Mittelpunkt im Mittelpunktsbild, so wird in einer Umgebung von einem Pixel Abstand zur Schätzung gesucht, welche einen Quantisierungsfehler berücksichtigt. Die durchsuchten Pixel sind in Abbildung a dargestellt. Wird auch hier kein Mittelpunkt gefun den, so wird eine Umgebung in der Größe einer Symbolvorlage abgesucht, wobei auch hier Quantisierungsfehler berücksichtigt werden, wie in Abbildung b gezeigt. In den Abbildung a und b ist jeweils die Umgrenzung des Symbols eingezeichnet, dessen Mittelpunkt gesucht wird.
  • 34 Darstellungen typischer Effekte, die bei nicht trennscharf gezeichneten Kanten der Symbole auftreten und deren Auswirkung auf die in der Abbildung mit a und b bezeichneten grafischen Symbole des Symbolcodes. Das Symbol gemäß Abbildung a zeigt eine Überblendung des von der Aufbringungstechnik unbearbeiteten Hauptmerkmals. Das Symbol gemäß Abbildung b zeigt die Auswaschung des bearbeiteten Hauptmerkmals in die angrenzende winkelförmige unbearbeitete Fläche. Diese Effekte treten typischerweise beim Aufbrennen der Symbole auf eine metallische Oberfläche mittels Laser in einem DPM-Verfahren auf.
  • 35 Beispiele von Verschmutzungen und Beschädigungen durch Kratzer auf der Objektoberfläche. Schwarze Flächen auf weißem unbearbeitetem Objekthintergrund stellen Verschmutzungen dar. Weiße Bereiche auf bearbeiteten Objektflächen stellen Kratzer dar, die hell erscheinende Reflexionen auf spiegelnden Oberflächen verursachen. Derartige Fehlstellen können auch durch ungenaue Auftragungstechnik verursacht sein. Sie können zum einen lokal punktuell oder linienförmig auftreten und zum anderen von globaler Art sein, sodass mehrere benachbarte Symbole beschädigt sind.
  • 36 eine rechteckige Symbolmatrix mit großflächigen Störungen, die sich auf mehrere benachbarte Symbole erstrecken.
  • 37 ein Ablaufdiagramm für die Verwendung der Zweifach-Vorlage zur erfindungsgemäßen Parameterfindung und einer groben Darstellung der erfindungsgemäßen Extraktion der logischen Wortmatrix.
  • 38 ein Ablaufdiagramm für eine erfindungsgemäße, robuste Methode zum Erwandern der Mittelpunkte, wobei lokale Vier-Nachbarschaften miteinander verknüpft werden.
  • 39 eine schematische Darstellung für das Erwandern der extrahierten Mittelpunkte durch die Vier-Nachbarschaft-Methode. Abbildung a zeigt die Mittelpunkte der grafischen Symbole einer rechteckigen Symbolmatrix. An einigen Positionen im Gitter fehlen dort erwartete Mittelpunkte. An anderen Stelen sind durch Mittelpunktsrauschen Mittelpunkte vorhanden, die zu keinem grafischen Symbol korrespondieren. Es sind bereits die Vier-Nachbarschaften einiger Mittelpunkte erwandert worden. Abbildung b zeigt den in Abbildung a begonnenen Prozess des Erwanderns einige Iterationen später. Abbildung c zeigt das Zwischenergebnis, nachdem alle gültigen Vier-Nachbarschaften erwandert wurden. Entstandene Lücken rühren von nicht vollständig erwanderbaren Vier-Nachbarschaften her und werden erst im späteren Verlauf gefüllt. Abbildung d zeigt nur die potentiellen, teils unvollständigen Vier-Nachbarschaften von ungültigen Mittelpunkten. Da angenommen wird, dass aufgrund der schlechteren Konfidenz von ungültigen Mittelpunkten diese Mittelpunkte erst nach dem in Abbildung c darstellten, erreichten Zustand besucht werden, können diese Nachbarschaften direkt verworfen werden, da die zu den ungültigen Mittelpunkten benachbarten Mittelpunkte bereits referenziert worden sind, nämlich im in Abbildung d dargestellten Zustand.
  • 40 einen erfindungsgemäßen Kodierungs- und Dekodierungsalgorithmus, der zur Dekodierung die Konfidenzwerte verwendet, die diese Erfindung zu jedem Wort der logischen Wortmatrix ausgibt, um eine Fehlerkorrektur zu implementieren.
  • In 1 sind die grafischen Symbole bzw. Symboltypen für binäre Null- und Eins-Worte dargestellt. Aus diesen beiden Symbolen wird jeder beliebig formbare Symbolcode erzeugt. In den 2 bis 4 und 7 sind der Prozess der Entscheidungsfindung für einen Symbolcode und die Einbringung in den Produktionsprozess als Ablaufdia gramme dargestellt. 5 und 6 zeigen konkrete Beispiele für die Aufbringung eines Symbolcodes auf ein bestimmtes Bauteil, wobei die Variabilität und Vielseitigkeit in der Anwendung des spezifizierten Symbolcodes deutlich werden.
  • Verschieden geformte Symbolcodes, wie sie in den 8 bis 11 und 13 beispielhaft dargestellt sind, können problemlos in einen Produktionsprozess integriert werden, wobei 15 und das Ablaufdiagramm aus 7 das Erzeugen und Zuordnen von Flächen-Histogrammen zu den verschiedenen Symbolcodes beschreiben. Ein Algorithmus zur Dekodierung der durch Symbole dargestellten binären Worte kann jeweils nur Symbolcodes von einer bestimmten Form behandeln, sodass durch das Flächen-Histogramm des erkannten Symbolcodes der zugehörige Algorithmus zur Dekodierung angesprochen werden kann.
  • 16 gibt den allgemeinen Ablauf des erfindungsgemäßen Verfahrens wieder. Zu Beginn sind die Lage- bzw- Rotationsparameter und die Skalierungsparameter der in einem erhaltenen (eingescannten) Grauwertbild des Symbolcodes, das auch als Symbolmatrix bezeichnet wird, befindlichen grafischen Symbole zu ermitteln (Verfahrensschritt 100). Dies ist detailliert in den 17 bis 23 dargestellt, wobei mehrere alternative Verfahren diskutiert werden. Anschließend wird eine Symbol-Vorlage mit den nun bekannten Parametern mit dem Bild des Symbolcodes, d. h. der Symbolmatrix, korreliert (Verfahrensschritt 101 gemäß 16). In den 25 bis 27 sind beispielhaft die Ergebnisse einer solchen Korrelation schematisch dargestellt, wobei die Art der Darstellung nicht den ausgewerteten Bildern entspricht, sondern zur geeigneten Darstellung in Papierform aufbereitet wurde. Mit dem Korrelationsergebnis können nachfolgend Mittelpunkte der in der Symbolmatrix enthaltenen Symbole extrahiert werden (Verfahrensschritt 102 gemäß 16), was durch lokale Maximumsuche nach Korrelationswerten mithilfe eines Dilatationsverfahrens erfolgt. Dies ist in den 28 bis 30 erläutert. Diese beiden Prozesse sind in dem Ablaufdiagramm gemäß 24 zusammengefasst dargestellt. Die erhaltenen Mittelpunkte werden dann erlaufen bzw. erwandert (Verfahrensschritt 103 gemäß 16), wobei gleichzeitig die Wortmatrix erstellt wird (Verfahrensschritt 104 gemäß 16). Die Wortmatrix entspricht dabei topologisch der Anordnung der grafischen Symbole in der Symbolmatrix. Eine Wortmatrix enthält jedoch nur noch die logischen Worte, die durch korrespondierende Symbole enkodiert sind, sowie als Zusatzinformation einen Konfidenzwert, der die Erkennungssicherheit des jeweiligen ermittelten Symbols beschreibt.
  • Das Erwandern (Verfahrensschritte 127 bis 144) ist in dem Ablaufdiagramm gemäß 24 mit dargestellt, wobei dort ein Regionenwachstumsverfahren („Region Growing”) zugrunde gelegt wird, welches durch 32 und 33 sowie im Ablaufdiagramm gemäß 31 detaillierter ausgeführt wird.
  • Die 34 bis 36 stellen Beschädigungen von Symbolen dar, die zu geringer Evidenz für ein Symbol an einer Position führen können. Diese Schwierigkeiten müssen von einem Verfahren zum Erwandern extrahierter Mittelpunkte berücksichtigt werden.
  • Ein zum „Region Growing”-Verfahren alternatives Verfahren zum Erwandern ist das Regionenzusammenfügungsverfahren („Region Merging”), dargestellt in 39 mit dem Ablaufdiagramm gemäß 38.
  • 37 zeigt abschließend den allgemeinen Ablauf aus 16 noch einmal in detaillierterer Form.
  • 40 beschreibt, wie in einem letzten erfindungsgemäßen Verfahrensschritt die Konfidenzwerte, die durch dieses Verfahren einem Symbol zugewiesen werden, bei der Implementierung eines Dekodierungs-Algorithmus zur Transformierung einer Wortmatrix in einen Datenstrom nutzbringend verwendet werden können.
  • Soll ein maschinenlesbarer binärer Datensatz als aus den Symbolen gemäß 1 gebildeter Symbolcode für ein Objekt eingeführt werden, so werden entsprechend dem Vorgehen nach 2 teilweise gegenläufige Anforderungen möglichst optimal zusammengeführt. Dabei existieren Beschränkungen und Anforderungen an die gewünschte Menge zu speichernder Binärdaten (Verfahrensschritt 10), die geforderte Zuverlässigkeit der Dekodierung (Verfahrensschritt 12) und der daraus resultierenden minimalen oder optimalen Menge an redundanten Binärdaten zur Fehlerkorrektur (Verfahrensschritt 11). Ferner sind Beschränkungen an dem Objekt selber (Verfahrensschritt 13) zu berücksichtigen. Das Objekt kann beispielsweise nur eine begrenzte Größe und Anzahl zusammenhängender Flächen aufweisen (Verfahrensschritt 14), an denen die erwünschten oder benötigten Objekteigenschaften vorherrschen, wie beispielsweise geringe Reflexion, ausreichende Materialstärke, voraussichtlich geringe Wahrscheinlichkeit für Verschmutzung oder Beschädigung, und an denen mittels möglicher Auftragungstechnik grafische Symbole von einer möglichst geringen Größe aufgebracht werden können, um den Symbolcode kompakt zu halten (Verfahrensschritt 15). Die Auswahl solcher Aufbringflächen kann beispielsweise durch Wölbungen oder Beschaffenheit und Materialstärke der Objektoberfläche begrenzt sein. Auch sind Beschränkungen der Montage- oder Prüfstation selbst (Verfahrensschritt 16) zu beachten, die es nur an einer begrenzten Anzahl von Befestigungsstellen ermöglicht, ein optisches System anzubringen und auszurichten (Verfahrensschritt 17). Neben dem Gerät zur Bilderfassung müssen möglicherweise auch weitere Beleuchtungssysteme oder zusätzliche Einheiten in einer bestimmten Konfiguration ausgerichtet sein. Ferner muss der zu erfassende Teil des Objekts einsehbar sein, welcher im erfassten Bild eine durch das optische System bestimmte Auflösung in Pixel erreicht, die eine Mindestgröße der grafischen Symbole des Symbolcodes vorgibt (Verfahrensschritt 18), damit diese durch Bildverarbeitung verarbeitbar sind.
  • In der Praxis werden die ursprünglich formulierten Anforderungen aus den Verfahrensschritten 10 bis 12 möglicherweise teilweise nicht erreicht, da die sich ergebenden Beschränkungen aus den Verfahrensschritten 13 bis 15 und 16 bis 18 zu weitreichend sind und die resultierende Lösung, die in den Verfahrensschritten 19 bis 24 definiert wird, nicht optimal ist. Ein Symbolcode, der auch auf Objektflächen mit komplizierten Eigenschaften wie Reflexion oder auf mehrere zusammenhängende Flächen aufgeteilt angebracht werden kann und unter inhomogener Beleuchtung und wechselnder Aufbringungsqualität sicher dekodiert wird, erweitert das Anwendungsspektrum von Symbolcodes und optimiert die erreichbare Gesamtlösung (Verfahrensschritt 19 bis 24).
  • Durch die erfindungsgemäß für eine Auftragungstechnik der Laser-Brennung besonders optimierte grafische Symbolform und die Verwendung einer grauwertnormalisierten Korrelation zur Symbolextraktion im erfassten Bild, einer frei wählbaren Form der Aufbringungsfläche und dem Verzicht von besonderen Symbolen oder statischen Mustern zur Lageerkennung und Synchronisation können die Auswirkungen von sich erge benden Beschränkungen aus den Verfahrensschritten 13 bis 18 begrenzt werden, um die in den Verfahrenschritten 10 bis 12 im Vorfeld definierten Anforderungen zu erfüllen.
  • Ist gemäß dem Ablaufdiagramm nach 3 nach diesen vorbereitenden Vorüberlegungen eine Entscheidung der Symbolparameter für einen Datensatz getroffen (Verfahrensschritt 30), der maschinenlesbar in einem Symbolcode auf das Objekt aufgebracht werden soll, und ist die erforderliche Redundanz zur Fehlerkorrektur spezifiziert (Verfahrensschritt 31), so kann nach der visuellen Aufnahme des Objekts (Verfahrensschritt 32) die bestmögliche Aufbringungsfläche bestimmt werden (Verfahrensschritt 33). Mit der aus der Form der Aufbringungsfläche resultierenden Kontur und der aus der Größe der grafischen Symbole abgeleiteten Dichte der Symbolmatrix, kann nun ein Verfahren zur Enkodierung parametrisiert werden. Dieser gibt eine Wortmatrix aus, deren Anzahl der Spalten der maximalen Anzahl grafischer Symbole entspricht, die in vertikaler Richtung der äußeren Form auf der Aufbringungsfläche untergebracht werden können, und deren Anzahl Zeilen der maximalen Anzahl grafischer Symbole entspricht, die orthogonal dazu in horizontaler Richtung der äußeren Form auf der Aufbringungsfläche untergebracht werden können. Die Zentren der Symbole der in den Ausführungsbeispielen gemäß 11 und 13 dargestellten Symbolcodes sind in den 12 und 14 wiedergegeben.
  • Die erzeugte Wortmatrix enthält in jeder Zelle einen Wert Null oder Eins, welche aus dem Prozess zur Enkodierung des gewählten Datensatzes mit zusätzlicher redundanter Fehlerkorrektur resultieren (Verfahrensschritt 34) oder anderweitig vorgegeben wurden, oder gar keinen Wert, wenn diese Zelle nicht zur Aufbringungsfläche gehört. Aus der Verteilung der Worte der logischen Wortmatrix wird dann die dazu korrespondierende grafische Symbolmatrix erzeugt, indem ein Bild, bspw. ein Bitmapbild, erzeugt wird, dessen Abmessungen denen eines grafischen Symbols in Pixel multipliziert mit der Anzahl Zeilen bzw. Spalten der Wortmatrix entsprechen, wobei die Anordnung frei ist und die Anzahl der Spalten pro Zeile (bzw. umgekehrt) variieren kann. Hierdurch lassen sich an die Aufbringfläche optimal angepasste Bilder der Symbolmatrizen erzeugen.
  • Zu jedem Wort der Wortmatrix wird ferner ein Zentrumspunkt einer korrespondierenden topologischen Position in dem Bild berechnet, sodass keines der grafischen Symbole ein anderes überlagert. Dann wird in jede der so entstandenen grafischen Symbol- bzw. Datenzellen im Pixelbild entsprechend dem der Datenzelle korrespondierenden Wortwert aus der logischen Wortmatrix das grafische Symbol für ein Eins- bzw. Null-Wort gezeichnet, wie es in den 1a und b dargestellt ist. Das so erzeugte Bild der Symbolmatrix, wie es beispielhaft in den 8, 9, 10, 11 oder 13 dargestellt ist, wird dann in Verfahrensschritt 35 (vgl. 3) an ein Gerät zur Auftragung des Musters auf das Objekt gesendet. Beispielsweise ist dies ein Laser, der an vorgegebener Stelle am Objekt den Symbolcode aufbrennt (Verfahrensschritt 36).
  • Das markierte Objekt wird dann in einen Fertigungsprozess eingeführt bzw. zurückgeführt (Verfahrensschritt 37), wo das Objekt im Laufe der weiteren Fertigungsschritte an dafür vorgesehenen Prüf- oder Montagestationen erfasst (Verfahrensschritt 38) wird, um dort den auf den Objekten aufgebrachten Symbolcode zu dekodieren. Das Erfassen durch ein optisches System der Prüf- oder Montagsstation, beispielsweise ein Scanner oder eine Videokamera, findet statt, sobald das Objekt die Station erreicht hat (Verfahrensschritt 50), wie in 4 detailliert dargestellt.
  • So wird bei Erreichen der Montagestation durch das Objekt ein Trigger gestartet (Verfahrensschritt 51). Möglicherweise werden im Anschluss und ausgelöst durch den Trigger vor der Aufnahme des Objekts Beleuchtungseinrichtungen geschaltet (Verfahrensschritt 52), die eine homogene Lichtverteilung während der Aufnahme herstellen, soweit dies erforderlich ist.
  • Das Erfassen des Objekts durch die Aufnahmeeinrichtung (Verfahrensschritt 53) und die Verarbeitung des Bildmaterials können in voneinander verschiedenen Geräten erfolgen, so dass das erfasste Bild an ein Bildverarbeitungsgerät weitergesendet wird (Verfahrensschritt 54). Zunächst werden mittels in dem Gerät installierten Bildverarbeitung (Verfahrensschritt 55) die Symbolmatrix extrahiert und die Zentren der Symbolzellen im erfassten Pixelbild bestimmt, wie sich aus Verfahrenschritt 39 gemäß 3 ergibt. Danach wird die Symbolmatrix in die zu den Symbolzentren korrespondierende Wortmatrix transformiert (Verfahrensschritt 40), wie später noch ausführlicher erläutert wird.
  • Aus der logischen Wortmatrix rekonstruiert der Dekodierungsalgorithmus (Verfahrensschritt 56, 4) den enkodierten binären Datensatz (Verfahrensschritt 41, 3), evtl. unter Zuhilfenahme einer vorhandenen Fehlerkorrekturinformation. Der binäre Datensatz kann dann von einem Prozessrechner der Prüf- oder Montagestation verarbeitet werden, wie in den Verfahrenschritten 42 von 3 und 57 von 4 dargestellt.
  • Diese Verfahrenschritte haben denselben Inhalt und stimmen überein, obwohl Sie in verschiedenen Verfahrenabläufen dargestellt und mit verschiedenen Bezugszeichen versehen sind. Ursache hierfür ist, dass die verschiedenen Verfahrensabläufe dieselben Operationen teilweise in einen anderen logischen Gesamtzusammenhang stellen, so dass es immer wieder zu Überschneidungen der verschiedenen Ablaufdiagramme kommt.
  • Der Prozessrechner sendet möglicherweise abhängig vom Verarbeitungsergebnis Steuerungssignale (Verfahrensschritt 58, 4) an entfernte Geräte. Die Erfassungsstation wartet dann auf ein neues Objekt (59). Durch die ausgesendeten Steuersignale kann bspw. der weitere Fertigungsprozess gesteuert werden (Verfahrensschritt 43, 3).
  • Während des Fertigungsprozesses kann dasselbe Objekt an verschiedenen weiteren Station erfasst und in derselben Weise kann der Symbolcode ausgewertet werden, wie durch Verfahrenschritt 44 angedeutet werden soll.
  • Da in Abhängigkeit der Auftragungstechnik, der Erfassungstechnik und des Oberflächenmaterials die logisch schwarzen und weißen Flächen der in 17 in den Abbildung a und b dargestellten grafischen Symbole im zur Bildauswertung erfassten, in diesem Beispiel nicht farbigen Pixelbild tatsächliche Grauwerte in zur logischen Definition umgekehrter Helligkeit aufweisen können, muss dies als Parameter des Gesamtsystems berücksichtigt und vorher ggf. parametriert werden.
  • Im Folgenden wird der Prozess der Bildverarbeitung nach der Erfassung des Objekts durch beispielsweise eine Videokamera näher beschrieben.
  • Während die winkelartige Fläche des grafischen Symbols gemäß 1 bzw. 17, jeweils Abbildung a, von einer zweiseitig schmalen und langgezogenen Form ist, ist gegensätzlich die quadratische Fläche (Abbildung b) breit und füllend. Diese letztere Form wird daher nachfolgend auch als Hauptmerkmal bezeichnet.
  • Sind um ein Symbol mit unbearbeitetem Hauptmerkmal andere Symbole so angeordnet, dass dieses von bearbeiteten Bereichen gänzlich umschlossen wird, ist aufgrund der verhältnismäßigen Größe des Hauptmerkmals der Effekt einer Überblendung abgeschwächt, denn das Quadrat ist doppelt so breit und hoch wie die Breite der zur winkelförmigen Fläche gehörigen Linien, die diese quadratische Fläche umgrenzen würden. Wird das Hauptmerkmal bearbeitet und die angrenzende winkelförmige Fläche bleibt unbearbeitet, so ist das Problem der Auswaschung bzw. Überblendung des Winkelbereichs im Vergleich zu vorherigem Beispiel erhöht, da die unbearbeitete Fläche schmal ist.
  • Hier kann das Hauptmerkmal beispielsweise von vornherein erfindungsgemäß mit etwas geringerer Fläche aufgebracht werden, um den erwarteten Effekt zu kompensieren. Jedoch vermindert dies eine zuverlässige Unterscheidung nicht, da sich durch Auswaschung verursachte Abweichungen in den Grauwerten der erfassten Symbole zu ihren optimalen Vorlagen bei einem relativen Vergleich gegenseitig aufheben, wenn zur Erkennung der Symbole das erfindungsgemäße Korrelationsverfahren verwendet wird, bei welchem der euklidische Abstand ein Maß zur Zuordnung ist. Auch aus diesem Grund sind der erfindungsgemäße Symbolcode und das zugehörige Verfahren zum Lesen des Symbolcodes besonders robust und zuverlässig.
  • Nach dieser Vorbetrachtung wird nun der allgemeine Ablauf der Bildverarbeitung im Rahmen des erfindungsgemäßen Leseverfahren ausgehend von 16 erläutert.
  • Zur Extraktion der Symbolmatrix aus einem aufgenommenen bzw. eingescannten Bild der Symbolmatrix müssen die Rotations- und Skalierungsparameter der einzelnen gra fischen Symbole erfasst werden (Verfahrensschritt 100). Je nach Aufnahmesituation und Einbettung der Bilderfassung in den Fertigungsprozess, kann ein Objekt verschieden rotiert und in unterschiedlicher Entfernung zur Kamera positioniert sein, sodass die Bestimmung der Parameter erfindungsgemäß bevorzugt dynamisch erfolgt, d. h. in der jeweiligen Aufnahmesituation.
  • Andererseits existieren Situationen, in denen zu erfassende Objekte nur eine Verschiebung aufweisen, ihren Abstand zum Erfassungssystem aber nicht signifikant ändern, sodass die Skalierungs- und Rotationsparameter fest vorgegeben werden können. Es ist möglich, dass nur Rotationen des Objekts zu erwarten sind, sodass in einem solchen nur die Rotationsparameter geschätzt werden müssen.
  • Beides erfolgt durch Ausprobieren verschiedener wahrscheinlicher Kombinationen von Parametern, wonach jeweils eine Vorlage nach 17 (Symbolvorlage) und 18 (Zweifach-Vorlage) erstellt wird und das Korrelationsergebnis nach Anwendung der verschieden Parameter evaluiert wird. Sind die korrekten Parameter gefunden, so kann das gesamte erfasste Bild mit einer Adaption des grafischen Symbols entsprechend diesen Parametern korreliert werden. Diese Korrelation wird auch als Template-Matching (Verfahrensschritt 101) bezeichnet, weil die Übereinstimmung einer Vorlage mit einem Bild bzw. einem Teilbereich des Bildes untersucht wird. Das Korrelationsergebnis wird dann evaluiert und es werden die Pixelkoordinaten der Symbolmittelpunkte bzw. Symbolzentren in dem Bild extrahiert (Verfahrensschritt 102), die die ursprünglich aufgebrachte Symbolmatrix repräsentieren. Die extrahierten Symbolmittelpunkte werden nun im Pixelbild nacheinander erwandert (Verfahrensschritt 103), sodass ihre logische Nachbarschaft zu allen anderen Symbol- bzw. Datenzellen beibehalten wird.
  • Nur aus den erlaufenen Symbolmittelpunkten wird anschließend die Wortmatrix rekonstruiert (Verfahrensschritt 103), wobei das zu einem Symbolmittelpunkt gehörige Wort aus dem Grad der Übereinstimmung mit einem der beiden grafischen Symbole an dieser Pixelposition abgeleitet wird (Verfahrensschritt 104). Der Grad der Übereinstimmung bei der Korrelation der Symbolvorlage wird als Konfidenzwert bei der Korrelation ermittelt und gibt die Qualität und Zuordnungssicherheit eines Wortes zu dieser Position an. Die ermittelten Worte und die zugehörigen Konfidenzwerte werden als Wortmat rix ausgegeben, wobei die Wortmatrix hier statt Werten Null und Eins eher negative und positive Fließkommawerte Werte enthält, die äquivalent die beiden Worte und den Konfidenzwert zugleich repräsentieren. Diese Wortmatrix wird entweder direkt an das Verfahren zur Dekodierung und Wiederherstellung des binären Datensatzes ausgegeben oder es wird zuvor als weiterer Parameter die Aufbringungsfläche des Symbolcodes bestimmt, die durch seine Form gegeben ist. Das Vorgehen hierzu ist in 7 grundsätzlich erläutert.
  • Nachfolgend wird der anhand von 16 zuvor im Überblick erläuterte Verfahrensablauf noch einmal detaillierter wiedergegeben.
  • Die Ermittlung der Rotations- und Skalierungsparameter (Verfahrensschritt 100) erfolgt durch sogenanntes Antesten. Dies ist in den Verfahrenschritten 182 bis 185 der 37 wiedergegeben.
  • Die Vorgehensweise ist in 19 dargestellt. Für das Template-Matching wird eine Zweifach-Vorlage verwendet, die in 18 dargestellt ist und zwei benachbarte grafische Symbole umfasst. Die Zweifach-Vorlage wird dynamisch im Bitmapspeicher mit typischen Parametern erzeugt (Verfahrensschritt 182). Beispielsweise wird eine Symbolgröße von acht Pixel Seitenlänge und eine Rotation von null Grad angenommen, so kann die Vorlage nach den relativen Größenverhältnissen der bearbeiteten und unbearbeiteten Flächen zueinander, wie sie sich aus 17 ergeben, in einen Bitmapspeicher gezeichnet werden, der für die beispielhafte Zweifach-Vorlage eine Höhe von acht und eine Breite von 16 Pixel hat. Beim Zeichnen der Symbole werden nur jeweils zwei verschiedene Grauwerte benötigt, also etwa der Wert ”255” zum Füllen der weißen unbearbeiteten Flächen und der Wert ”0” für schwarze bearbeitete Flächen.
  • Es wird eine Zweifach-Vorlage statt etwa nur eines einzelnen Symbols verwendet, da so übergeordnete Muster entstehen, wenn einzelne Symbole innerhalb der Symbolmatrix direkt nebeneinander ohne weiteren Zwischenraum zwischen den Zellen angeordnet sind. Solche übergeordneten Muster, beispielsweise innerhalb einer in 20 dargestellten Vier-Nachbarschaft von Symbolen, sind dem Muster eines einzelnen Symbols sehr ähnlich, weisen allerdings um ein Vielfaches von 90° verschiedene Rota tionsparameter zu der tatsächlichen Ausrichtung der Symbolmatrix auf. Eine gute Korrelation der übergeordneten Muster kann unter Benutzung der Zweifach-Vorlage unterbunden werden.
  • Diese Zweifach-Vorlage wird dann in einem normalisierten Korrelationsverfahren auf das zu analysierende Grauwertbild angewandt (Verfahrensschritt 183). Da das beschriebene dynamische Erzeugen und anschließende Korrelieren möglicherweise mehrfach mit verschiedenen Parametern durchgeführt wird (Verfahrensschritt 184), können zur Geschwindigkeitssteigerung anstatt des gesamten Bildes auch nur ein vergleichsweise kleiner Teilbereich oder alternativ mehrere Ausschnitte an verschiedenen Positionen des Bildes zum Korrelieren verwendet werden. Diese Teilbereiche sind dann üblicherweise der Einfachheit halber rechteckig gewählt, wobei deren Seitenlängen ein Vielfaches der Höhe bzw. Breite der aktuellen Zweifach-Vorlage bilden. Ein Antesten hat nur in repräsentativen Bildbereichen Sinn, in denen auch die korrelierte Vorlage zu finden ist. Da aber zu diesem Zeitpunkt der Bildanalyse nicht bekannt ist – es sei denn zusätzliche Informationen sind verfügbar –, an welcher Position im Bild sich der Symbolcode befindet, kann angenommen werden, dass er sich hauptsächlich über den mittleren Bildbereich erstreckt. Sind aufgrund der Ausrichtung des Erfassungsgeräts eher andere Bildbereiche relevant, so können andere oder mehrere solcher Teilbereiche definiert werden.
  • Nachdem die Korrelation auf alle diese Bildbereiche oder ggf. das gesamte Bild angewandt wurde, liegen für jedes Pixel Konfidenzwerte als Korrelationsergebnis vor. Diese Konfidenzwerte werden in Verfahrensschritt 184 bewertet. Der maximale betragsmäßige Konfidenzwert aller korrelierten Bildregionen wird festgestellt und es wird überprüft ob damit ein festgesetzter minimaler Wert überstiegen wird. Wird ein solcher minimaler Konfidenzwert erreicht, so kann davon ausgegangen werden, dass Rotations- und Skalierungsparameter gefunden wurden, die den tatsächlichen Werten genügend nahe sind und die weitere Suche kann abgebrochen werden. Dieser Zustand wurde in 19e erreicht, nicht dagegen bei den in den 19b bis 19d dargestellten Korrelationen mit anders skalierten bzw. rotierten Zweifach-Modellen.
  • Da ein statisch gewählter minimaler Wert weitere Parameter des Erfassungssystems wie Lichtverhältnisse, Sauberkeit des Objekts, Eigenstruktur der Objektoberfläche und ähnliches ignoriert, welche die erreichten maximalen Konfidenzwerte konstant abschwächt, kann ein fixer minimaler Schwellenwert die erfolgreiche Extrahierung der Rotations- und Skalierungsparameter verhindern. Ein Schwellenwert kann daher erfindungsgemäß auch adaptiv gewählt werden, indem für eine konstante Zahl von Rotationen und Skalierungen (Verfahrensschritt 185) eine Zweifach-Vorlage entsprechend 18 erstellt (Verfahrensschritt 182) und korreliert (Verfahrensschritt 183) wird. Anschließend wird ein maximaler Konfidenzwert aller Korrelationsergebnisse gesucht (Verfahrensschritt 184). Die dazu passenden Parameter werden dann als sehr nahe den tatsächlichen Parameter angesehen und im weiteren Verlauf verwendet.
  • Alternativ kann nach einer so erfolgten groben Bestimmung der Parameter in gleicher Weise eine weitere Verbesserung der Parameterschätzung erreicht werden, wenn in einer lokalen Umgebung des Parameterraums nahe der erfolgten Schätzung variiert wird, um genauere Werte für die approximierten Parameter zu erhalten.
  • Vorgegebene Parameter müssen so gewählt werden, dass aus den Korrelationsergebnissen der Zweifach-Vorlage die tatsächlichen Parameter genügend gut geschätzt werden können, um bei der späteren Korrelation mit nur einer Symbolvorlage zum Lesen der Symbolmatrix, die mit den hier gefundenen Parametern erstellt wird, nutzbringende Konfidenzwerte zu erhalten. Insbesondere sollte es mit den gewählten Parametrisierungsvorgaben möglich sein, den in Verfahrensschritt 184 gesetzten Schwellenwert zu überschreiten. Sie sollten also zum einen nicht zu weit von allen tatsächlich möglichen Kombinationen von Parametern entfernt sein, zum anderen aber auch nicht zu umfangreich in ihrer Anzahl, um Rechenzeit zu sparen.
  • Gemäß einer in Praxisstudien erprobten Ausgestaltung können etwa Rotationsparameter im Abstand von 30° versucht werden, also 0°, 30°, 60°, 90°, 120°, 150°, 180°, 210°, 240°, 270°, 300°, 330°, sodass dies bereits bis zu zwölf Ausführungen der Positionen Verfahrensschritte 182 bis 185 bei fixem Skalierungsparameter bedeutet. Der Skalierungsparameter ist jedoch zusätzlich zu variieren. Hier können typische Seitenlängen von 6, 8, 10, 12, 14, 16 Pixel eines Symbols angenommen werden. Insgesamt werden alle Kombinationen der Parameter dann in 12·6 = 72 Durchlaufen erfasst. Dies kann mit modernen Rechnern so schnell durchgeführt werden, dass keine Verzögerungen im Verfahrensablauf zu befürchten sind.
  • Die Anzahl der Versuche kann verringert werden, indem die zum Zentrum eines Symbols annähernd gleichbleibende Anordnung der schwarzen und weißen Flächen berücksichtigt wird. So kann eine Symbolvorlage mit kleinerer Skalierung als der tatsächlich im Grauwertbild vorhandenen, ausreichende Konfidenzwerte bei zusätzlich angenäherter Rotation nach einer Korrelation liefern. Skalierungsfaktoren können also auch unterapproximiert werden (21), weshalb Skalierungen von 6, 10, 14 Pixel Seitenlänge genügen, um zu genügend genauen Abschätzungen insbesondere der Rotationsparameter zu gelangen, die anschließend in ihrer lokalen Umgebung weiter verfeinert werden können. Um den Rechenaufwand zu verringern bietet sich ein solches adaptives Verfahren an.
  • Steht zusätzliches Wissen zur Verfügung können beispielsweise auch Landmarken der Bauteile oder der mit im Bild erfassten Umgebung verwendet werden, um die Rotationsparameter zu initialisieren (Verfahrensschritte 182 und 185). Andere Art von Wissen könnte etwa auch bedeuten, dass bekannt ist, ob nachfolgende Bauteile ähnliche Rotations- und Skalierungsparameter aufweisen werden, sodass die zuletzt gefundenen Parameter als Initialisierung (Verfahrensschritt 182) einer darauffolgenden Erfassung verwendet werden können.
  • Eine weitere Möglichkeit zur Reduzierung der Zahl der anzutestenden Rotationsparameter bietet sich durch Bildvorverarbeitung mittels der Hough-Transformation oder Radon-Transformation an, die vor dem Verfahrensschritt 182 auszuführen ist. Die Symbolmatrix besteht hauptsächlich aus unterbrochenen geraden, parallelen und orthogonalen Liniensegmenten, wie sie in den 22 und 23 dargestellt sind. Dazu kann eine Sobel-Filtermaske verwendet werden, die ein Kantendetektionsfilter ist, der in der Bildverarbeitung häufig angewendet wird und dort mithilfe der Faltung als Sobel-Algorithmus eingesetzt wird. Dieser Filter berechnet die erste Ableitung der Bildpunkt-Helligkeitswerte, wobei gleichzeitig orthogonal zur Ableitungsrichtung geglättet wird.
  • Wird die Sobel-Filtermaske mit anschließender Hough-Transformation zur Erkennung von Geraden auf die wie zuvor beschrieben festgelegten Bildregionen angewendet, kann jeweils die Steigung der Hauptrichtung aller Grauwertkanten innerhalb eines Bereiches erfasst werden. Dies ist in 23 illustriert. Zur Erkennung von geometrischen Objekten erzeugt die Hough-Transformation einen Dualraum, in den für jeden Punkt im Bild, der auf eine Kante liegt, alle möglichen Parameter der zu findenden Figur im Dualraum eingetragen werden. Jeder Punkt im Dualraum entspricht damit einem geometrischen Objekt im Bildraum. Bei einer Grade kann das z. B. die Steigung und der y-Achsenabschnitt sein. Danach wird der Dualraum auf Häufungen seiner Punkteinträge ausgewertet, die dann der gesuchten Figur entsprechen.
  • Werden mehrere Bildregionen voneinander getrennt erfasst, so können resultierende Steigungswerte entweder parallel oder orthogonal zueinander verlaufen, sofern ein XY-Sobel-Filter verwendet wird. Die so erhaltene Steigungsinformation kann nun zur Initialisierung in Verfahrensschritt 182 und Verfahrensschritt 185 verwendet werden. Rotationen müssen jetzt nur noch in 90°-Schritten relativ zur gefundenen Steigung angetestet werden, wie aus 20 ersichtlich. Sind die auszuwertenden Bilddaten nicht zu sehr verrauscht, kann auch der Abstand paralleler Linien der Hough-Transformation zur Initialisierung der Skalierungsparameter verwendet werden. Nachdem nun die Rotations- und Skalierungsparameter der Symbole extrahiert wurden, kann die entsprechende Symbolvorlage erstellt und der gesamte Bildbereich des Symbolcodes korreliert werden.
  • Zunächst wird ein Symbol nach den durch Antesten gewonnenen Rotations- und Skalierungsparametern im Bitmapspeicher gezeichnet (Verfahrensschritt 101 gemäß 16, Verfahrensschritt 122 gemäß 24 und Verfahrensschritt 186 gemäß 37). Alternativ kann auch das Originalbild rotiert werden, sodass die Symbolvorlage mit fixen Rotationsparametern gezeichnet werden kann und nur dessen Skalierung berücksichtigt werden muss. Zur automatischen Erstellung wird ein Symbol des Symbolcodes logisch in ein 3 × 3-Feld quadratischer, gleich großer Zellen aufgeteilt, wobei horizontal wie vertikal 1/3 schwarz und 2/3 der Fläche weiß gezeichnet wird (bzw. in umgekehrter Aufteilung beim Eins-Wort-Symbol). Dies ist in 17 veranschaulicht. Dieses erzeugte Bitmap hat ein Histogramm mit Werten 0 (schwarz) und 255 (weiß). Es wird angenommen, dass dies einem unverrauschten Original der zu findenden Symbole im aufgenommenen Bild entspricht. Dabei sind nicht die exakten Grauwerte der Symbolvorlage zum Korrelieren wichtig, sondern nur die Tatsache, dass zwei homogene Flächen von jeweils verschiedener Helligkeit in der durch das Symbol bestimmten Kontur und Verteilung im zu korrelierenden Bildausschnitt existieren. Es ist daher völlig gleichgültig, ob nun mit einer Null-Wort-Symbolvorlage oder mit einer Eins-Wort-Symbolvorlage korreliert wird. Im folgenden müssen dann jedoch die Vorzeichen der Konfidenzwerte entsprechend vertauscht werden, um die gleiche Wortmatrix zu erhalten.
  • Die Vorlage aus dem Bitmapspeicher wird nun mit dem auszuwertenden Gesamtbild oder einem zuvor festgesetzten Bildausschnitt in einem normalisierten Korrelationsverfahren korreliert (Verfahrensschritt 101 gemäß 16 bzw. Verfahrensschritt 123 gemäß 24). Das Ergebnis der Korrelation ist ein in dem Verfahrensschritt 123 erstelltes, neues Bild mit gleicher Abmessung wie das zu korrelierende Originalbild abzüglich der Breite bzw. Höhe eines Symbols. Die Pixel des Korrelationsbildes enthalten jeweils das Korrelationsergebnis an der korrespondierenden Position des Originalbildes, wie für die beiden komplementären Symbolvorlagen in den 25 and 26 gezeigt. Bei der Korrelation wird die Grauwertverteilung der Symbolvorlage mit seinem Mittelpunkt über jeden Pixel des auszuwertenden Bildes gelegt. Für diesen Pixel wird ein Wert zwischen 1,0 und –1,0 bestimmt, welcher ein Maß dafür ist, ob dieser Pixel ein Mittelpunkt der Symbolvorlage ist.
  • Dazu werden zunächst die Grauwerte des auszuwertenden Bildes, über denen die Symbolvorlage liegt, normalisiert, sodass im Idealfall nur zwei Werte zur Darstellung der Helligkeitsverteilung benötigt werden (wie bei der Erstellung der Vorlage). Dann wird der euklidische Abstand zwischen einem Pixel der Vorlage und dessen direkt Barunterliegenden, korrespondierenden und normalisierten Pixel des auszuwertenden Bildes berechnet. Die Summe aller euklidischen Abstände von Grauwerten im Einzugsbereich der Symbolvorlage bildet dann den Wert des Pixels im Korrelationsbild, der auf einen Bereich von 1,0 bis –1,0 skaliert worden ist. Ein Wert von –1,0 für einen Pixel bedeutet, dass diese Stelle im Originalbild auf gar keinen Fall das Zentrum eines gesuchten Symbols ist. Da es aber genau die zur Symbolvorlage komplementäre Hel ligkeits-Charakteristik aufweist, muss es sich also folglich um das Zentrum eines Eins-Wort-Symbols handeln, wenn mit einem Null-Wort-Symbol korreliert wurde. Hat ein Pixel im Korrelationsbild den Wert 1.0, so handelt es sich ganz sicher um den Mittelpunkt eines Null-Wort-Symbols. Werte zwischen 1.0 und 0.0 sowie –1.0 und 0.0 können als Grad der Ähnlichkeit eines Bildausschnitts zu einem der beiden Symbol-Typen interpretiert werden.
  • Daher werden diese Werte ”Konfidenzwerte” genannt. Beispielsweise bedeutet ein Wert 0.82, dass es sich bei einem Pixel mit 82-prozentiger Wahrscheinlichkeit um den Mittelpunkt eines Null-Wort-Symbols handelt. Ein Pixel mit Wert von –0.54 wird entsprechend mit 54-prozentiger Wahrscheinlichkeit dem Mittelpunkt eines Eins-Wort-Symbols zugeordnet. Aus der gewählten Form der Symbole ergibt sich, dass um den Mittelpunkt eines Symbols sich Werte sehr stark in der Nähe von im Idealfall Werten von 1.0 oder –1.0 befinden, sodass eine Lokalisierung aller Symbol-Mittelpunkte erfolgen kann.
  • Das mittels des zuvor erläuterten Template-Matching erstellte Korrelationsbild (Verfahrensschritt 123 gemäß 24) enthält eine Grauwertverteilung mit Werten von 1.0 bis –1.0, die in den 25 und 26 separiert für die beiden Bereiche 1.0 bis 0.0 und –1.0 bis 0.0 dargestellt sind. Daraus sollen nun die Pixel-Koordinaten der Mittelpunkte aller Symbole der Symbolmatrix extrahiert werden (Verfahrensschritt 102 gemäß 16, Verfahrensschritt 152 gemäß 31 und Verfahrensschritt 187 gemäß 37). Dies bedeutet, dass Maxima innerhalb lokaler Bereiche gefunden werden müssen, die der Umgrenzung einer Symbolvorlage entsprechen.
  • Dazu wird zunächst ein neuer Bildspeicher erzeugt, welcher die betragsmäßigen Werte der Pixel des Korrelationsbildes enthält, sodass der Wertebereich zwischen 1.0 und 0.0 liegt (Verfahrensschritt 124). Ein solches Bild ist in 27 dargestellt und zeigt idealer Weise in jeder Datenzelle des Symbolcodes ein dem Mittelpunkt des Symbols entsprechendes Maximum.
  • Gemäß dieser Erfindung wird ein adaptiver Ansatz zur Extraktion lokaler Maxima verfolgt, der die Probleme einer globalen Schwellenwertbildung behebt. Dazu wird auf das in 27 wiedergegebene Betragsbild der Korrelationswerte (Verfahrensschritt 124) ein Dilatations-Filter angewandt (Verfahrensschritt 125). Anschaulich bewirkt der Dilatations-Filter, dass an jedem Bildpunkt eines ersten Objekts des komplette Bild des zweiten Objekts eingefügt wird.
  • Im konkreten Beispiel arbeitet der morphologische Operator auf einem Grauwertbild. Das Dilatations-Filter hat als Strukturelement ein Rechteck von gleicher Abmessung und gleicher äußerer Kontur wie die zur Korrelation verwendete Symbolvorlage, da angenommen wird, dass das genau die Abmessungen der tatsächlich im erfassten Originalbild befindlichen Symbole sind. Wendet man diesen Dilatations-Filter auf ein Grauwertbild wie das Betragsbild der Korrelationswerte gemäß 27 an, so findet eine Maximalbildung zwischen dem zwischengespeicherten Grauwert des Dilatations-Filters und den jeweiligen Grauwerten der zum Strukturelement korrespondierenden darunterliegenden Pixel des Originalbildes statt. Der Maximale Grauwert zweier solcher Pixel wird dann in das Originalbild an gleicher Stelle geschrieben. Der zwischengespeicherte Grauwert des Strukturelements ist als derjenige Grauwert des Pixels im Originalbild definiert, der sich gerade unter dem Mittelpunkt des Dilatations-Filters befindet, der mit seinem Zentrum über jedes Pixel des Originalbildes gelegt wird.
  • Es wird also eine Kopie des Betragsbildes erzeugt, welche als Dilatationsbild bezeichnet wird (Verfahrensschritt 125). Anschließend wird das Dilatations-Filter mit seinem Mittelpunkt über jeden Pixel dieser Kopie des Betragsbildes gelegt und innerhalb seines Einzugsbereiches die Maximalbildung von Pixelwerten durchgeführt. So erhält man als Ergebnis ein Grauwertbild, dessen Grauwert in 28 als Linien unterschiedlicher Dichte wiedergegeben ist. In jedem Bereich, an dem sich im eingescannten Originalbild (Verfahrensschritt 120) sich ein Symbol befindet, ist nun ein homogenes ausgefülltes Rechteck mit dem Grauwert dargestellt, welcher dem Konfidenzwert des geschätzten Symbolmittelpunkts entspricht, der in seiner durch die Abmessungen der Symbolvorlage bestimmten lokalen Umgebung maximal ist und adaptiv durch die Maximalbildung des Dilatations-Filters extrahiert wurde (Verfahrensschritt 125).
  • Nun können die geschätzten Symbolmittelpunkte lokalisiert werden, indem diejenigen Pixel markiert werden, die im Betragsbild und im Dilatationsbild den gleichen Grauwert aufweisen (Verfahrensschritt 126). Pixel mit dieser Eigenschaft können als lokale Maxima betrachtet werden, die sehr wahrscheinlich tatsächlichen Symbolmittelpunkten zuzuordnen sind. Diese können in ein Mittelpunktsbild, wie es beispielhaft in den 29 oder 30 wiedergegeben ist, mit den gleichen Abmessungen wie das erfasste Originalbild kopiert werden, wobei Mittelpunkte beispielsweise den Wert 0 (schwarz) und alle anderen Pixel den Wert 255 (weiß) zugewiesen bekommen (Verfahrensschritt 126).
  • In der Praxis ist allerdings nicht jeder so extrahierte Pixel ist zwangsweise ein tatsächlicher Symbolmittelpunkt. Ist ein grafisches Symbol eines Symbols derart stark beschädigt, dass dessen tatsächlicher Mittelpunkt im Betragsbild einen geringen Konfidenzwert hat, so ist es möglich, dass Konfidenzwerte innerhalb benachbarter Symbolzellen an Positionen, die nicht deren tatsächlicher Mittelpunkt, sondern weiter davon entfernt sind, lokal einen höheren Konfidenzwert aufweisen als der tatsächlich dieser Zelle zuzuordnende Symbolmittelpunkt. Auch die Umgebung der Symbolmatrix, die Objektoberfläche darstellt und nicht mehr zum tatsächlichen Symbolcode gehört, weist an vielen Stellen lokale Maxima auf, die im Mittelpunktsbild eingetragen werden. Diese Maxima sind durch Strukturen der Objektoberfläche, die nicht zur Symbolmatrix gehören, verursacht und folgen keinem interpretierbaren Muster.
  • Das zuvor beschriebene erfindungsgemäße Verfahren hat den Vorteil, keine Schwellenwerte als Parametrisierung zu verwenden. Es passt sich lokal in einem Bereich an die jedem Pixel des Betragsbildes gegebenen Konfidenzwerte an. So werden durch lokale Reflexion, Verschmutzung, Auftragungsfehler verursachte geringere Erkennungssicherheiten berücksichtigt. Ein Schwellenwert würde bei diesen Ungleichmäßigkeiten versagen und keine Mittelpunkte extrahieren, wenn dieser zu hoch gewählt ist. Das Verfahren muss nicht durch einen konstanten Parameter initialisiert werden, dessen Ermittlung von einem menschlichen Experten mit hohem Kalibrierungsaufwand durchgeführt werden müsste.
  • Nun müssen die extrahierten Symbolmittelpunkte erwandert und Worte von der grafischen Anordnung der Symbolmatrix in die korrespondierende Wortmatrix geschrieben werden. Nachdem die wahrscheinlichen Mittelpunkte extrahiert worden sind (Verfah rensschritt 102 gemäß 16), können diese erwandert (Verfahrensschritt 103) werden.
  • Das Erwandern birgt die Schwierigkeit, dass aus Verfahrensschritt 102 zwar die Positionen von Mittelpunkten bekannt sind, aber zum einen die erhaltenen Koordinaten verrauscht und zum anderen durch perspektivische Verzerrung im Bild die Mittelpunkte von Zeilen und Spalten nicht streng orthogonal zueinander angeordnet sind bzw. sein müssen, d. h. die Zeilen und Spalten nicht parallel zu ihren jeweiligen Koordinatenachsen des zu analysierenden Bildausschnitts ausgerichtet sind. Das Rauschen resultiert daher, dass durch das Verfahren zur Extraktion lokaler Maxima in den Verfahrenschritten 125 und 126 (vg. 24) auch solche Maxima als Mittelpunkte extrahiert worden sind, die durch die Struktur der Objektoberfläche hervorgerufen sind und somit keine Mittelpunkte von grafischen Symbolen darstellen. Diese falschen Mittelpunkte sollen beim Erwandern ignoriert werden, sodass diese später nicht in die Wortmatrix aufgenommen werden.
  • Sind innerhalb der Symbolmatrix Teilflächen durch Verschmutzungen, Kratzer, Reflexionen oder ähnlichem so stark beschädigt, wie in 36 dargestellt, dass die Struktur der Beschädigung größeren Einfluss auf das Korrelationsfilter haben als die zerstörten grafischen Symbole, so sind auch Mittelpunkte innerhalb des zu erwandernden Symbolcodes aus den zuvor beschrieben Gründen verrauscht. Durch Beschädigungen einzelner Symbole kann deren extrahierter Mittelpunkt außerdem weit vom tatsächlichen Symbolmittelpunkt entfernt liegen. Auch ist es so möglich, dass an einzelnen Symbolen oder in flächigen Bereichen keine Mittelpunkte extrahiert worden sind und somit die Evidenz für ein Symbol an dieser Stelle im Mittelpunktsbild gänzlich fehlt.
  • Es ist daher wünschenswert, dass ein Algorithmus zum Erwandern der Mittelpunkte die verschiedenen Arten von Rauschen unterscheiden und entweder einen Mittelpunkt korrigieren oder stattdessen diesen ignorieren und entstandene Lücken wegen fehlender Mittelpunkte füllen kann. Zudem sollte er sich adaptiv der durch Verzerrung verursachten Änderungen der lokalen Steigung der Symbolzeile oder -spalte anpassen, aber zugleich entgegengesetzt durch Mittelpunktsrauschen verursachte Abweichungen von der erwarteten Pixelposition korrigieren.
  • Es werden nachfolgend zwei erfindungsgemäße Verfahren mit solchen Fähigkeiten beschrieben, welche sich in ihrem Laufzeitverhalten unterscheiden. Das zunächst beschriebene, erste Verfahren funktioniert nach dem „tick-Zack”-Prinzip und schätzt ausgehend von einem Startpunkt einen benachbarten Mittelpunkt, dessen benachbarter Mittelpunkt wieder geschätzt und anschließend verfeinert wird, usw.. Das Verfahren kann somit in die Kategorie „Region-Growing” eingeordnet werden, wie es in 32 schematisch erläutert ist. Es ist einfach und schnell, wenn die Mittelpunktsschätzungen gut und wenig verrauscht sind. Besonders bei dichten Symbolcodes mit Seitenlängen der Symbole von weniger als acht Pixel ist dieses Verfahren aufgrund der rechenintensiven Behandlung von Ausreißern jedoch meist ineffizient.
  • Alternativ wird ein zweites Verfahren gemäß der Erfindung beschrieben, das zu jedem Mittelpunkt zunächst eine Vier-Nachbarschaft erwandert. Auch hier werden erwartete Mittelpunktspositionen geschätzt, aber nur lokal verfeinert. Diese Nachbarschaften werden zu jedem Mittelpunkt gesondert erstellt. Anschließend werden benachbarte Vier-Nachbarschaften zusammengefasst und so die gesamte Symbolmatrix rekonstruiert. Dieses Verfahren kann somit in die Kategorie „Region-Merging” eingeordnet werden, wie es in 39 schematisch erläutert ist. Ausreißer werden dadurch behandelt, dass jeder Mittelpunkt nur ein einziges Mal referenziert werden darf und zudem jeder zur Symbolmatrix gehörige Mittelpunkt eine vollständige Vier-Nachbarschaft aufweisen muss. Dadurch werden Ausreißer aussortiert, für die wenigstens eine der geforderten Eigenschaften nicht gilt.
  • Beide Verfahren nehmen eine gitterähnliche Struktur der Mittelpunktsverteilung an, sodass zu einer Symbolzelle innerhalb der Symbolmatrix jeweils ein rechter und linker sowie ein oberer und unterer Nachbar existieren, wie in den 12 und 14 für die nicht am Rand liegenden Datenzellen gezeigt. Die gedachten Verbindungslinien vom rechten zum linken und vom oberen zum unteren Nachbarn werden ideal als orthogonal zueinander angenommen, wobei sie sich im Zentrum der aktuellen Symbolzelle schneiden sollten.
  • Nachdem die wahrscheinlichen Symbolzentren in Verfahrensschritt 152 gemäß 31 in ein Mittelpunktsbild extrahiert wurden, wird mit dem Symbolzentrum mit dem maximalem Konfidenzwert begonnen (Verfahrensschritt 153), da anzunehmen ist, dass dies sicher einen tatsächlichen Symbolmittelpunkt darstellt. Der Konfidenzwert wird dabei aus dem Betragsbild K2 (Verfahrensschritt 124 gemäß 24) an der korrespondierenden Pixelposition (Verfahrensschritt 154 gemäß 31) gelesen. Da aus den Parametern der Symbolvorlage (Verfahrensschritt 100 gemäß 16) die Skalierungsinformationen bekannt sind, kann die Pixel-Koordinate (Verfahrensschritt 154 gemäß 31) dieses Mittelpunkts quantisiert bzw. gemerkt werden. Damit ist es möglich, der Wortmatrix einen logischen Zeilen- und Spaltenindex zuzuweisen. An diese Position wird dann der Wert und dessen Konfidenz geschrieben (Verfahrensschritt 156). Diese beiden Eigenschaften sind in dem Wert im Korrelationsbild K (Verfahrensschritt 123 gemäß 24) an gleicher Pixelposition enthalten. Nun wird ein, beispielsweise der rechte, Nachbar dieses Mittelpunkts im Mittelpunktsbild gesucht (Verfahrensschritt 156 gemäß 31). Dabei wird angenommen, dass in einer lokalen Nachbarschaft annähernd gilt, dass Zeilen- und Spalten parallel zu den Koordinatenachsen des Bildausschnitts verlaufen und dass Zeilen- und Spalten orthogonal zueinander angeordnet sind.
  • Entweder ist dazu der aktuelle Bildausschnitt entsprechend rotiert (Verfahrensschritt 186 gemäß 37), sodass diese Annahme zulässig ist, oder ein zusätzlicher Steigungsparameter wird bei der Berechnung der Mittelpunkte der Symbolnachbarn verwendet, der sich ebenfalls aus den Parametern der Symbolvorlage ableitet (Verfahrensschritt 182). Die Pixelkoordinate des Nachbarn wird durch inkrementieren des aktuellen Symbolmittelpunkts (Verfahrensschritt 154 gemäß 31) geschätzt (Verfahrensschritt 127 gemäß 24).
  • Nach der Schätzung des Mittelpunkts des Symbol-Nachbarn wird der Mittelpunkt in einer lokalen Umgebung dieser Schätzung gesucht (Verfahrensschritt 133). Dies ist schematisch in 33 dargestellt. Zunächst wird getestet, ob sich direkt an den geschätzten Koordinaten ein wahrscheinlicher Mittelpunkt befindet. Wenn nicht, wird die Ein-Pixel-Umgebung der Schätzung durchsucht (33, Abbildung a), welche den möglichen Quantisierungsfehler ausmacht. Wird so ein extrahierter Mittelpunkt im Mit telpunktsbild gefunden, so wird dies gesondert zur späteren Erkennung der Umgrenzung der Symbolmatrix vermerkt. Ist noch kein Mittelpunkt gefunden, so wird in einer weiteren lokalen Umgebung der vermuteten Zelle nach dem Mittelpunkt gesucht (33, Abbildung b). Dieser Bereich beträgt typischerweise 50 Prozent der Symbolvorlage. Wird darin ein Mittelpunkt gefunden, so wird dieser markiert. Werden mehrere Mittelpunkte gefunden, so wird der Mittelpunkt mit maximalem Konfidenzwert markiert.
  • Wurde noch immer kein Mittelpunkt gefunden, so wird dieser an der ursprünglich geschätzten Position erzwungen oder es kann optional durch das im folgenden beschriebenen erfindungsgemäße Verfahren festgestellt werden, ob genügend Evidenz besteht, dass dort der fehlende Mittelpunkt eines Symbols richtigerweise vermutet wird. Dies kann behauptet werden, wenn in der lokalen Umgebung des vermuteten Mittelpunkts eine homogene Grauwertverteilung vorliegt. Ist das nicht der Fall, kann versucht werden durch weiteres Verschieben der geschätzten Position einen solchen homogenen Bereich zu finden. Wenn auch das nicht erreichbar ist, wird endgültig die zuerst geschätzte Position erzwungen.
  • Es kann also ein Rechteck aufgespannt werden mit der geschätzten Koordinate als Mittelpunkt (Verfahrensschritt 130 gemäß 24) und in den Abmessungen, die aus der Symbolvorlage bekannt sind (Verfahrensschritt 129).
  • Dieses Rechteck wird üblicherweise etwas kleiner gewählt als die Abmessungen der Symbolvorlage, beispielsweise 25 Prozent oder mindestens zwei Pixel weniger Ausdehnung, um Rauschen durch etwas zu nahe beieinander liegende Symbolzentren zu berücksichtigen. Es kann nun getestet werden (Verfahrensschritt 131), ob alle vier Eckpunkte dieses Rechtecks im Dilatationsbild D (Verfahrensschritt 125) denselben Konfidenz- oder Helligkeitswert aufweisen. Ist das der Fall, so ist anzunehmen, dass der geschätzte Symbolmittelpunkt etwa im Zentrum des Nachbarsymbols liegt und kann als ausreichend richtig betrachtet werden. Sollte nicht an jeder der vier Ecken derselbe Konfidenzwert anliegen, so kann das gebildete Rechteck weiter nach rechts, oben oder unten verschoben werden, um diese Bedingung nach Möglichkeit zu erreichen (Verfahrensschritt 132). Die Weite der Verschiebungen ist dabei durch die Abmessungen der Symbolvorlage begrenzt, sodass nicht die benachbarte Symbol-Zelle übersprungen werden kann. Durch das Verschieben eines solchen Rechtecks kann die erste Schätzung korrigiert werden, wenn durch perspektivische Verzerrung die obige Annahme, dass Symbol-Zeilen der Symbolmatrix parallel zur Koordinatenachse verlaufen, nicht erfüllt ist.
  • Dieses erfindungsgemäße Verfahren ist robuster als die einfache Pixelsuche nach dem extrahierten Mittelpunkt in einer lokalen Umgebung der Schätzung. Es wird so verhindert, dass ein verrauschter Mittelpunkt als Nachbar gesetzt wird, der möglicherweise in der Nähe einer Grenzlinie zweier Symbolzellen liegt. Eine Markierung eines solchen Nachbarn erhöht die Gefahr beim weiteren Erwandern in eine obere oder untere Zeile der Symbolmatrix hereinzulaufen, sodass dies zu falschen Zuordnungen der logischen Zeilen der Wortmatrix führt. Kann die geforderte Bedingung auch so nicht erreicht werden, lässt sich die vorherige Schätzung nicht verbessern.
  • Die Verfahrensschritte 129 bis 132 sind optional und bei stark verrauschten Mittelpunktsbildern zur robusteren Erwanderung anwendbar.
  • Die Koordinaten des neuen Mittelpunkts werden aktuell gesetzt (Verfahrensschritt 142 gemäß 24, Verfahrensschritt 157 gemäß 31), der Positionszeiger der Wortmatrix inkrementiert und das Wort und der Konfidenzwert werden in die Wortmatrix geschrieben (Verfahrensschritt 143 gemäß 24, Verfahrensschritt 158 gemäß 31).
  • So wird die Zeile (im Beispiel zunächst) nach rechts abgelaufen, solange die Pixelkoordinaten nicht außerhalb des Bildes sind (Verfahrensschritt 159). Sobald die Pixelkoordinaten außerhalb des Bildes liegen, wird der Mittelpunktszeiger auf den Startpunkt dieser Zeile zurückgesetzt (Verfahrensschritt 160). Anschließend wird diese Zeile nun nach demselben Prinzip nach links abgelaufen (Verfahrensschritte 161 bis 164). Am Ende ist die erste Zeile vollständig erwandert und es liegen die Werte zu jeder Symbol- bzw. Datenzelle dieser logischen Zeile in der Wortmatrix vor.
  • Nun muss in eine obere oder untere Zeile gesprungen werden, die dann ebenfalls wie bereits beschrieben eingelesen wird. Um dabei die Gefahr zu minimieren die Synchro nisation zu verlieren, wird von demjenigen Symbolmittelpunkt der aktuellen Zeile mit höchster Konfidenz (Verfahrensschritt 165) durch Inkrementieren seines Positionszeigers die neue logische Zeile betreten. Es ist zu erwarten, dass in der Umgebung eines solchen Symbols, nur geringe Störungen auftreten und keine zerstörten Bereiche ohne oder mit stark verrauschter Mittelpunktsinformation anzutreffen sind. Auf diese Weise werden alle zusammenhängenden Zeilen der Symbolmatrix erwandert, wobei beispielhaft zunächst alle unterhalb (Verfahrensschritt 168) des Symbols mit maximaler Konfidenz liegende Zeilen abgearbeitet werden und anschließend diejenigen, die oberhalb (Verfahrensschritt 167) dieses Symbols angeordnet sind, jeweils bis die aktuelle Pixelposition aus dem Bild fällt.
  • Zur robusten Synchronisation der Zeilen und zur Nachbarschätzung kann eine zweite unabhängige Schätzung des Mittelpunkts erfolgen, indem die Position des Nachbarsymbols nicht nur vom vorhergehenden Symbol der gleichen logischen Zeile aus, sondern zusätzlich von einer bereits vollständig erwanderten logisch über (Verfahrensschritte 143, 142 gemäß 24) oder unter der aktuellen Zeile liegenden Symbolposition. Ideal führen beide Schätzungen zum selben Ergebnis. Wenn nicht, muss eines der Ergebnisse ausgewählt werden (Verfahrensschritt 141).
  • Möglicherweise ist einer der beiden Versuche fehlgeschlagen, das aufgespannte Rechteck (Verfahrensschritt 129 bzw. 136) so zu positionieren (Verfahrensschritte 132 bzw. 139), dass die Forderung aus den Verfahrensschritten 131 bzw. 138 erfüllt ist, wonach alle Eckpunkte innerhalb eines Symbols liegen sollen. Dann wird derjenige Zentrumspixel ausgewählt, der unter der Bedingung (Verfahrensschritte 131 bzw. 138) gefunden worden ist bzw. diese Bedingung erfüllt. Als weiteres Kriterium für die Schätzung eines gültigen Mittelpunktes kann gelten, dass einer der beiden gefundenen Zentrumspixel näher an der erwarteten Steigungsgeraden der Zeile bzw. Spalte liegt. Dazu kann während der Erwanderung beispielsweise zu jedem markierten Zentrumspixel (Verfahrensschritt 142) die Steigung in diesem Punkt relativ zu seinen bereits erlaufenen Nachbarsymbolen gemerkt werden. In Verfahrensschritt 141 kann dann aus einer Anzahl von zwei oder drei vorherigen Steigungswerten ein Mittelwert gebildet werden. Dies kann in Zeilen- und Spaltenrichtung erfolgen. Es wird dann in Verfahrensschritt 142 derjenige Zentrumspixel markiert, der sich am nächsten zu den beiden Steigungsgeraden befindet.
  • In Verfahrensschritt 141 können die Ergebnisse der bisherigen Erwanderung der aktuellen logischen Symbolzeile erfindungsgemäß auch nachträglich verifiziert werden. Denn wenn beispielsweise in Spaltenrichtung (Verfahrensschritte 129 bis 133) ein Zentrumspixel gefunden wird, welches die Forderung aus Verfahrensschritt 131 erfüllt, aber in Zeilenrichtung (Verfahrensschritte 134 bis 140) ein Zentrumspixel gefunden wird, welches so weit von dem aktuell markierten Symbolmittelpunkt entfernt ist, dass es zwei Schrittweiten darstellt, ist möglich, dass aufgrund von Mittelpunktsrauschen zwei Mittelpunkte innerhalb derselben logischen Symbolzelle markiert worden sind. Die letzte Markierung der aktuellen Zeile kann somit wieder rückgängig gemacht und korrigiert werden. Der bereits erfolge Eintrag (Verfahrensschritt 158 bzw. 163 gemäß 31) in der Wortmatrix wird dann ebenfalls entsprechend korrigiert.
  • Nachdem nun der Bildausschnitt vollständig erwandert wurde (Verfahrensschritt 169 gemäß 1), kann die Wortmatrix ausgegeben werden, welche die Informationen über die räumliche Verteilung der Worte und deren jeweilige Konfidenz enthält.
  • Eine so erstellte Wortmatrix enthält möglicherweise Werte an logischen Positionen, an denen tatsächlich keine Symbole in der Symbolmatrix vorhanden sind. Dies kommt daher, dass zur Erhaltung der Synchronisation erfindungsgemäß teilweise Zentrumspixel erzwungen werden. Diese müssen eventuell nachträglich herausgefiltert werden. Dazu kann die Wortmatrix zeilen- und spaltenweise abgelaufen werden, und es wird für jede Zeile bzw. Spalte gezählt wie viele der vorhandenen Worte aus Symbolzellen gelesen wurden, deren Mittelpunkt beim Erwandern erzwungen worden ist. Dies bedeutet, dass der Mittelpunkt in dem Mittelpunktsbild nicht vorhanden war. Liegt die festgestellte Zahl über einem Schwellenwert, beispielsweise 60 Prozent der Gesamtzahl der logischen Symbole in einer Zeile bzw. Spalte, so kann diese Zeile bzw. Spalte vollständig aus der Wortmatrix entfernt oder als nicht gelesen markiert werden, um Fehlinformationen bei der Rekonstruktion zu vermeiden. Eine mit großer Wahrscheinlichkeit weitestgehend falsche Rekonstruktion sollte vermieden werden, da es durch eine er findungsgemäß eingebaute Redundanz häufig möglich ist, die Informationen auch bei dem Fehlen einer rekonstruierten Zeile oder Spalte zu erhalten.
  • In 38 ist ein alternatives Verfahren zum Erwandern wahrscheinlicher Symbolmittelpunkte beschrieben, das insbesondere bei starkem Mittelpunktrauschen angewendet werden kann. Dieses Verfahren erwandert zu jedem Zentrumspixel im Mittelpunktsbild seine Vier-Nachbarschaft, d. h. die Datenzellen rechts und links sowie oben und unten bzw. im Norden, Süden, Westen, Osten, zu der Datenzelle mit dem Zentrumspixel. Anschließend werden diese Vier-Nachbarschaften zu einem Bereich oder zu mehreren zusammenhängenden Bereichen zusammengefügt werden, die dann die Symbolmatrix und deren korrespondierende Wortmatrix angeben.
  • Nachdem das Mittelpunktsbild (Verfahrensschritt 126 gemäß 24) erstellt worden ist, werden die darin extrahierten Mittelpunkte als Symbolzentren erfassen (Verfahrensschritt 202 gemäß 38) und nach absteigender Konfidenz sortiert (Verfahrensschritt 203). Die zu einem Mittelpunkt korrespondierenden Konfidenzwerte werden aus dem Betragsbild K2 (Verfahrensschritt 124 gemäß 24) erhalten. In einem Quick-Sort-Verfahren können dazu beispielweise vom Kopf der Liste an die Listenelemente iteriert werden.
  • Zum Erwandern wird ein Speicher ähnlich einer Matrix in denselben Dimensionen des Mittelpunktsbildes angelegt. Der Speicher enthält als Elemente einer Datenstruktur, die ein Symbol so repräsentiert, dass in ihm die vier Nachbarn sowie die vier Symbole, deren Nachbar der Mittelpunkt selbst ist, als Symbolzeiger abgelegt werden können. Weitere Eigenschaften der Datenstruktur sind die Pixelkoordinaten des Zentrumspixel des Symbols, das zugeordnete Wort und der Konfidenzwert aus dem Korrelationsbild (Verfahrensschritt 123 gemäß 24), ein Wert, der angibt, ob der Mittelpunkt erzwungen oder extrahiert worden ist, die Abweichung des Mittelpunkts bezüglich der ersten Schätzung, Steigungsinformation in Ost-West- sowie Nord-Süd-Richtung der Matrix, die aus den Nachbarschaften abgeleitet wird, ein Wert der angibt, ob dieses Symbol gültig ist, d. h. dass alle Nachbarschaftszeiger belegt sind und dass alle Relationen wie „gehe zum Symbol nach Osten, gehe von dort nach Westen, komme beim Ausgangssymbol an” wahr sind, sowie ein Wert, der anzeigt, dass dieses Symbol bereits besucht worden ist und in die Wortmatrix aufgenommen wurde.
  • Die Instanzen der Datenstrukturen werden dem Mittelpunktsbild entsprechend vorinitialisiert und in den nächsten Schritten aktualisiert. Da die Symbolzellen innerhalb der Symbolmatrix gitterförmig angeordnet sind, hat ein innen liegendes Symbol direkte Nachbarn im Osten, Süden, Westen und Norden. Die Koordinaten der vier Nachbarn werden jeweils geschätzt (Verfahrensschritt 205 gemäß 38). Bei der Schätzung wird die Mittelpunktskoordinate des aktuellen Symbols bzw. der aktuellen Datenzelle entsprechend inkrementiert, wobei angenommen wird, dass in einer solchen lokalen Nachbarschaft die gitterähnliche Struktur der Anordnung der Symbole auch bei perspektivischer Verzerrung gegeben ist. Ist das Mittelpunktsbild registriert oder perspektivisch entzerrt, so erfolgt die Inkrementierung achsenparallel. Alternativ kann der Rotationsparameter aus den Verfahrensschritten 185 bzw. 182 gemäß 37 verwendet werden. Die Schrittweite leitet sich ebenfalls aus den Abmessungen der Symbolvorlage ab.
  • Ist an der geschätzten Position ein Mittelpunkt gefunden worden (Verfahrensschritt 206 gemäß 38), so wird der zugehörige Nachbarsymbolzeiger des aktuellen Symbols auf eben diesen gesetzt (Verfahrensschritt 207). Der Nachbar selbst bekommt das aktuelle Symbol referenziert (Verfahrensschritt 209), aber nur dann, wenn die Referenz nicht bereits belegt ist (Verfahrensschritt 208). Diese Zuweisungen werden nun für alle Nachbarschaftsrichtungen (Verfahrensschritt 210) und alle wahrscheinlichen Mittelpunkte (Verfahrensschritt 211) durchgeführt.
  • Durch die Abfrage, ob der Nachbar bereits markiert ist (Verfahrensschritt 208), können Ambiguitäten innerhalb einer Nachbarschaftsbeziehung entstehen, denn die Referenz in Verfahrensschritt 209 wird nicht zwingend auf das aktuelle Symbol zeigen, obwohl das aktuelle Symbol umgekehrt immer diesen Nachbarn referenziert (Verfahrensschritt 207).
  • In diesem Zusammenhang erfolgte die vorangegangene Sortierung nach absteigender Konfidenz (Verfahrensschritt 203), weil vermutet wird, dass Mittelpunkte von hoher Konfidenz sehr nahe an wirklichen Symbolzentren liegen. Es wird weiter angenommen, dass Koordinaten der Nachbarzellen ausgehend von solchen Mittelpunkten mit hoher Konfidenz zuverlässiger geschätzt werden können, als von Mittelpunkten mit niedriger Konfidenz.
  • Da Ambiguitäten wahrscheinlich durch Symbolzentren mit niedriger Konfidenz verursacht wurden, können diese anschließend herausgefiltert werden (Verfahrensschritt 212). Da davon auszugehen ist, dass von Mittelpunktsrauschen stark betroffene Datenzellen innerhalb einer Symbolmatrix nur niedrige Konfidenzwerte aufweisen, können diese falschen Mittelpunkte zuverlässig identifiziert werden und verursachen keine Fehler bei der Synchronisation der Symbolzellen. Das Mittelpunktsrauschen innerhalb der relevanten Bereiche, in denen sich der Symbolcode befindet, wird somit entfernt. Weiteres Mittelpunktsrauschen außerhalb des Codebereichs kann jedoch nicht gänzlich gefiltert werden.
  • Die Suche nach einem Mittelpunkt in lokaler Umgebung der Schätzung in Verfahrensschritt 206 unterteilt sich in drei Schritte. Zunächst wird genau die geschätzte Position auf einen Mittelpunkt überprüft. Ist dort kein Mittelpunkt vorhanden, so wird die Ein-Pixel-Nachbarschaft der Schätzung abgesucht, sodass Quantisierungsfehler bei der Schätzung abgedeckt werden. Ist auch dort kein Mittelpunkt vorhanden, wird mit der Schätzung als Zentrum innerhalb eines Rechtecks entsprechend der Symbolvorlage (Verfahrensschritt 185 bzw. 182) nach dem Mittelpunkt mit maximaler Konfidenz gesucht, welcher dann ausgewählt wird.
  • Während des Markierens der Symbole ohne Nachbarschaftsambiguitäten in Verfahrensschritt 212 können für gültige Symbole die Steigungsparameter aktualisiert werden. Danach sind nur noch diejenigen Symbole in der Liste aufgeführt, die mit hoher Wahrscheinlichkeit wirklichen Symbolzentren bzw- -mittelpunkten zuzuordnen sind. Die Sortierung wird beibehalten und beginnend mit dem ersten gültigen Symbol wird der erste zusammenhängende Bereich abgelaufen und der dazu korrespondierende Teil der logischen Wortmatrix erstellt (Verfahrensschritt 213). Der resultierende Teilbereich ist hauptsächlich das Ergebnis der Nachbarschaftszuweisungen in Verfahrensschritt 207, sodass zumeist nur noch die Nachbarschaftszeiger verfolgt werden müssen (Verfahrensschritt 219 bzw. 220 gefolgt von Verfahrensschritt 225).
  • Zu Beginn wird die Wortmatrix initialisiert und ein Zeiger auf das aktuelle logische Element gesetzt (Verfahrensschritt 214). Die Position des ersten Elements in der Wortmatrix kann durch Quantisierung der Pixelkoordinate des initialen Mittelpunkts (Verfahrensschritt 213) unter Berücksichtigung der Abmessungen der Symbolvorlage (Verfahrensschritt 185 bzw. 182 gemäß 37) gesetzt werden. Das Wort und der Konfidenzwert werden aus der aktuellen Symbolinstanz an die aktuelle Position der Wortmatrix kopiert (Verfahrensschritt 215 gemäß 38). Die Symbolinstanz wird anschließend als besucht markiert (Verfahrensschritt 216). Dann werden zunächst die Symbolzeiger der östlichen Nachbarn verfolgt (Verfahrensschritt 217), wobei dies eine beliebige Auswahl darstellt. In Verfahrensschritt 220 wird der östliche Nachbar der aktuellen Symbolinstanz adressiert und wird dann selbst als aktuelles Symbol gesetzt (Verfahrensschritt 225). Der Positionszeiger der logischen Wortmatrix wird entsprechend der Laufrichtung um eine Schrittweite inkrementiert (Verfahrensschritt 226). Das Wort und der Konfidenzwert werden von der aktuellen Symbolinstanz an die aktuelle Position der Wortmatrix kopiert (Verfahrensschritt 227). Anschließend wird das aktuelle Symbol als besucht markiert (Verfahrensschritt 228). Hat das aktuelle Symbol weitere östliche Nachbarn oder ist das Ende des Mittelpunktsbildes nicht erreicht, so wird die Iteration in östlicher Richtung fortgesetzt (Verfahrensschritt 229). Ist das Ende des Bildes erreicht, so wird die Richtung umgekehrt und es wird von dem Symbol, bei dem die Iteration dieser logischen Zeile begonnen wurde, in umgekehrter westlicher Richtung gesucht (Verfahrensschritt 229). Ist auch hier das Bildende erreicht, so ist eine logische Zeile vollständig in die Wortmatrix aufgenommen worden. Es wird nun die nächste südlich gelegene Zeile abgelaufen (Verfahrensschritt 230). Dazu wird irgendein Symbol der aktuellen Zeile markiert, welches einen gültigen südlichen Nachbarn hat und diesem Zeiger gefolgt (Verfahrensschritt 231). Ist kein Symbol mit gültigem südlichen Nachbarn gefunden worden, so wird von demjenigen Symbol der aktuellen Zeile mit höchster Konfidenz aus ein Mittelpunkt in südlicher Richtung unter durch die Symbolvorlage vorgegebener Schrittweite festgesetzt. Befindet sich genau dort oder in einer durch Quantisierungsfehler verursachten direkten lokalen Umgebung ein (ungültiger) Mittelpunkt, so wird dieser zu einem gültigen erhoben, andernfalls wird an dieser Position ein Mittelpunkt erzwungen.
  • Korrespondierend zu dieser Position wird in der Speichermatrix der Symbolinstanzen die dort befindliche Instanz initialisiert bzw. aktualisiert. Nach der Festlegung des folgenden Symbols (Verfahrensschritt 231) wird der Positionszeiger der Wortmatrix entsprechend inkrementiert (Verfahrensschritt 232), das Wort und der Konfidenzwert in die Wortmatrix kopiert (Verfahrensschritt 215) sowie das aktuelle Symbol als besucht markiert (Verfahrensschritt 216).
  • Nun erfolgt die Iteration auch dieser Zeile. Weitere südlichere Zeilen werden iteriert, bis sich keine weiteren Zeilen mehr im Bild befinden (Verfahrensschritt 230). Anschließend wird jede nicht bereits iterierte nördlichere Zeile nach dem gleichen Muster wie die südlichen abgelaufen (Verfahrensschritt 233). So ist der erste zusammenhängende Teil der logischen Wortmatrix erwandert worden. In Verfahrensschritt 236 wird geprüft, ob weitere gültige Symbole vorhanden sind, die noch nicht besucht bzw. erwandert worden sind. Diese könnten den Beginn eines weiteren zusammenhängenden Teils der Wortmatrix markieren, falls der Symbolcode in mehrere voneinander unabhängige Flächen aufgeteilt vorliegt. So werden auch weitere Teilbereiche nach gleichem Schema in die Wortmatrix eingetragen, wobei sichergestellt ist, dass keine logischen Positionen der Wortmatrix mehrfach adressiert werden.
  • Sind alle Teilbereiche des Symbolcodes erwandert (Verfahrensschritt 236), so wird die resultierende Wortmatrix mit Konfidenzwerten ausgegeben (Verfahrensschritt 239). Während der Iteration zusammenhängender Flächen können Lücken verbleiben, weshalb nicht jedes Symbol einen gültigen Nachbarn hat, sodass das Erwandern der Teilbereiche unter bloßer Verfolgung der Zeiger auf Nachbarsymbole nicht ausreichend ist. Derartige Lücken können bei flächigen Beschädigungen des Symbolcodes oder bei sehr starkem innerem Mittelpunktsrauschen auftreten. Sie sind dadurch verursacht, dass Nachbarschaftsambiguitäten eingetreten sind oder es sind keine Nachbarn existent. Auch an der Umgrenzung einer Symbolmatrix treten Lücken auf, da hier keine Nachbarn außerhalb des Codebereichs existieren, was verhindert, dass Randsymbole als gültig markiert werden.
  • Tritt eine Lücke auf, so wird die Position des Nachbarmittelpunkts geschätzt (Verfahrensschritt 221). Das Schätzen erfolgt, indem die Nachbarschaftszeiger des aktuellen Symbols so verfolgt werden, dass eine benachbarte Zeile betreten und dann in der neuen Zeile über oder unter dem zu schätzenden Symbol gestoppt wird. Die Position des dortigen Symbolzentrums wird mit der Position des aktuellen Symbolzentrums zur Schätzung verwendet. Zur Bildung eines eng gefassten Suchbereichs kann die Varianz der beiden bekannten Symbolmittelpunkte zu ihrer vorherigen Schätzung verwendet werden. Diese Information ist in jeder Symbolinstanz abgelegt.
  • Wird in dieser lokalen Umgebung ein (ungültiger) Mittelpunkt gefunden (Verfahrensschritt 222), so wird dieser zu einem gültigen erhoben und dessen Symbolinstanz neu initialisiert. Diese Symbolinstanz wird dann aktiv gesetzt (Verfahrensschritt 225). In dem Fall, dass dort kein Mittelpunkt gefunden wurde, wird an der geschätzten Position ein solcher Mittelpunkt erzwungen (Verfahrensschritt 224). Die dortige Symbolinstanz wird initialisiert und als gültig markiert. Die Symbolnachbarn werden soweit möglich aus den bekannten Nachbarschaften der Umgebung abgeleitet und gesetzt oder unmittelbar im Iterationsschritt darauf aktualisiert. Die neue Symbolinstanz wird auch von den Nachbarinstanzen aus referenziert. Die Schätzung der Position kann mit den für jedes gültige Symbol der Nachbarschaft vorhanden Steigungsinformationen verbessert oder verifiziert werden, um größere Lücken sicher zu überbrücken. Die so erhaltene Symbolinstanz wird anschließend als aktives Symbol aktuell gesetzt (Verfahrensschritt 225).
  • Dieses „Region Merging” Verfahren ist von seiner Zuverlässigkeit vergleichbar mit zuvor beschriebenen „Region Growing”, hat jedoch eine geringere Laufzeit, wenn viele Ausreißer vorhanden sind. Da Laufzeit und Zuverlässigkeit zwei hier gegensätzliche Anforderungen sind, können alle Variationen der zuvor beschriebenen Merkmale in den Verfahren kombiniert und implementiert werden.
  • Erfindungsgemäß soll adaptiv entschieden werden, welches der implementierten Verfahren in einer spezifischen Instanz verwendet und wie dieses Verfahren ggf. durch Auswahl bestimmter Parameter angepasst wird. Ziel dieser Entscheidung ist ein Redu zieren der Laufzeit unter der Bedingung, dass die Zuverlässigkeit nicht abnimmt. Zur Entscheidung werden die Konfidenzwerte der wahrscheinlichen Mittelpunkte berücksichtigt. Dazu kann ein Schwellenwert gebildet werden, denn eine allgemein hohe Konfidenz ist ein Anzeichen für wenig Mittelpunktsrauschen. Dazu kann beispielsweise der Median aller Konfidenzwerte berechnet werden. Bei einer Symbolgröße von 16 mal 16 Pixel lässt sich auch geringeres Mittelpunktsrauschen erwarten als bei einer Symbolgröße mit Seitenlängen von 6 mal 6 Pixel, weshalb dann ein aufwendiges Verfahren wie in 38 oder der optionale Teil in 24 nicht angewandt werden muss. Ein weiteres Argument für ein einfacheres Verfarhren ist eine geringe relative Anzahl von wahrscheinlichen Mittelpunkten bezogen auf die Größe des Bildausschnittes. Auch kann eine geringe zu erwartende perspektivische Verzerrung einfachere Verfahren ermöglichen. Unter Berücksichtigung dieser Überlegungen können optionale Teile des Verfahrens gemäß 24 ausgelassen werden oder es kann das Verfahren aus 38 angewandt werden, um eine hohe Zuverlässigkeit zu gewährleisten.
  • Sind beispielsweise auf einem Transportband mehrere Objekte (ähnlich wie 5 dargestellt) mit Symbolcodes mit verschiedener Aufbringungsfläche unterwegs, so soll eine Möglichkeit bestehen, jede Ausprägung des Symbolcodes nach seiner Form zu identifizieren. Nachdem die Wortmatrix mit Konfidenzwerten erstellt worden ist (Verfahrensschritt 170 gemäß 31, Verfahrensschritt 193 gemäß 37, Verfahrensschritt 239 gemäß 38), wird im Verlaufe des weiteren Verfahrens zum Lesen des Symbolcodes eine Zuordnung erfolgen, zu welchem der auf verschiedenartigen Objekten aufgebrachten Symbolcodes die gerade vorliegende Wortmatrix korrespondiert. Die Wortmatrix kann auch in Datenzellen, die nicht einem Symbol zuzuordnen sind, einen Wert enthalten, der aus einem lokalen Maximum im Korrelationsbild oder aus einem erzwungenen Mittelpunkt herrührt, der während des Erwanderns zur Überbrückung von Lücken gesetzt worden ist. Gegebenenfalls ist auch aufgrund der Besetztheit oder Unbesetztheit einer Datenzelle die Aufbringungsfläche des Symbolcodes nicht direkt ersichtlich. Zudem kann der extrahierten Wortmatrix eine nicht bestimmte Verschiebung der logischen Symbolzellen zu ihrer Vorlage – der nach dem Enkodieren erstellten Symbolmatrix – inneliegen.
  • Es ist jedoch erforderlich der gelesenen Wortmatrix eindeutig ihre originale Vorlage zuordnen zu können, denn die auszuführende Dekodierung ist möglicherweise an eine bestimmte Symbolmatrix gebunden, sodass die Zusatzinformation über die vorliegende Form der Wortmatrix zum erfolgreichen Dekodieren eine Voraussetzung ist. Da die grafischen Symbole in jedem Symbolcode ihr Erscheinungsbild unverändert beibehalten und keine speziellen Abfolgen von Symbolen zur Identifizierung einer Version des Symbolcodes eingearbeitet sind, wird zu jedem der von äußerer oder innerer Form verschiedenen Symbolcodes (Verfahrensschritt 61 gemäß 7) bzw. dessen Aufbringungsfläche ein Flächen-Histogramm angelegt, wie es in 15 ausschnittsweise und beispielhaft dargestellt ist. Dazu wird zunächst der geometrische Schwerpunkt der Symbolmatrix, dargestellt durch das Kreuz in 15, bestimmt (Verfahrensschritt 62 gemäß 7). Die Lage des Schwerpunkts wird dabei in logischen Zeilen- und Spalten-Indizes der Symbolmatrix angegeben, wobei Spalten und Zeilen die Anordnung der grafischen Symbole beschreiben.
  • Von dem erhaltenen Schwerpunkt als Zentrum ausgehend wird der gesamte Symbolcode in quadratische gleichgroße Teilflächen unterteilt, die ebenso in 15 einzeichnet sind. Die Rasterung der Symbolmatrix in Teilflächen ist so gewählt, dass mehrere Symbole einer Fläche zugewiesen werden können. Würde die Rasterung genau eins Betragen, so enthielte jeder Block höchstens ein einziges Symbol und wäre damit der Symbolmatrix äquivalent. Aber hier ist eine gröbere Rasterung erwünscht, um die Form des Symbolcodes robust zu charakterisieren.
  • Enthält eine Teilfläche mindestens ein Symbol oder mehrere Symbole, so wird ihr der Wert Eins zugewiesen. Ist kein Symbol in einer Teilfläche enthalten, so wird ihr der Wert Null zugewiesen. Das so entstandene Histogramm wird in einer Datenbank oder einem statischen Speicher abgelegt (Verfahrensschritt 64 gemäß 7). Die Datenbank enthält die Flächen-Histogramme aller auf Objekten angebrachter Symbolcodes (Verfahrensschritt 65) und eine Zuordnung der Flächen-Histogramme zu den jeweiligen Symbolcodes.
  • Wurde eine nicht bekannte Version eines Symbolcodes in einer Erfassungsstation erwandert (Verfahrensschritt 66), soll anschließend dessen Version anhand seiner Auf bringungsfläche bestimmt werden, bevor die Dekodierung der Wortmatrix erfolgt. In Verfahrensschritt 67 wird die Matrix aus Symbolinstanzen (Verfahrensschritt 66) iteriert, um den Schwerpunkt zu berechnen (Verfahrensschritt 68). Dabei werden nur Symbole betrachtet, deren Mittelpunkt zuvor nicht erzwungen worden ist. Zur weiteren Verbesserung der Berechnung können auch Symbole aussortiert werden, deren Mittelpunkt nicht exakt oder nur mit Quantisierungsfehler beim Erwandern geschätzt worden ist. Alternativ dazu kann anhand der Quantisierung des erfassten Bildbereichs durch Einheiten der Abmessungen der Symbolvorlage eine Obergrenze der Anzahl zu erwartender Symbolmittelpunkte im Bild definiert werden, sofern der Bildausschnitt nicht signifikant perspektivisch verzerrt ist.
  • Aus der Liste der ansteigend nach Konfidenz sortierten Symbolmittelpunkte, wird dann genau diese Anzahl erster Symbolmittelpunkte berücksichtigt. Nach der gleichen Weise wie in Verfahrensschritt 63 wird nun in Verfahrensschritt 69 das Flächen-Histogramm erstellt. Weil der zuvor ermittelte der Schwerpunkt Zentrum des Histogramms ist und das Histogramm selbst grob auflösend ist, kann kompensiert werden, dass die Symbolmatrix im erfassten Bild zu ihrem Original verschoben ist und dass der eben berechnete Schwerpunkt durch ein nicht gänzlich entferntes, aber durch die Auswahl bestimmter Symbole stark reduziertes Mittelpunktsrauschen nicht exakt berechnet worden ist.
  • Wurden einzelne Symbole an Begrenzungen des Symbolcodes nicht berücksichtigt, so trägt dies zusätzlich zu möglicherweise gestörten Werten im Histogramm bei. In Verfahrensschritt 70 wird nun dasjenige Flächen-Histogramm in der angelegten Datenbank gesucht, welches dem gerade vorliegenden am nächsten kommt bzw. weitestgehend entspricht. Da alle vorhandenen Symbolcodes dort ihr Flächen-Histogramm abgelegt haben (Verfahrensschritt 60 bis 65), muss das gerade gesuchte dort enthalten sein. Zum Histogramm-Vergleich werden jeweils zwei Histogramme mit ihrem Schwerpunkt übereinandergelegt, und dann werden die Differenz aller Werte enthaltenen Datenzellen eines Histogramms zu dem zuvor ermittelten aktuellen Histogramm (Verfahrensschritt 69) berechnet und deren Absolutbeträge aufsummiert. Dasjenige Histogramm aus der Datenbank mit der niedrigsten Fehlersumme wird als nächstes ausgewählt (Verfahrensschritt 70).
  • Ferner können aus der Datenbank weitere Informationen entnommen werden, die den zugehörigen Symbolcode beschreiben und zur Dekodierung des Symbolcodes notwendig bzw. hilfreich sind (Verfahrensschritt 71). Mit dieser Zusatzinformation wird das Dekodierverfahren parametrisiert (Verfahrensschritt 72) und anschließend ein Versuch zur Dekodierung gemacht (Verfahrensschritt 73). Schlägt dieser Versuch fehl, weil die Histogramm-Zuordnung (70) fehlerhaft war (74), so kann ein weiteres nächstliegendes Histogramm aus der Datenbank gelesen werden. Dies kann dann der Fall sein, wenn Symbolcodes in ihrer Aufbringungsfläche zu ähnlich zueinander sind.
  • Die Bildverarbeitung gibt zum Ende ihres erfindungsgemäßen Dekodierverfahrens eine Wortmatrix aus, die zusätzlich Konfidenzwerte zur Bestimmung der Erkennungsqualität und Erkennungssicherheit enthält. Die Konfidenzwerte sind zu jedem Wort statistisch unabhängig durch einen einzigen Filter erstellt. Ein weiterführendes Verfahren zur Dekodierung dieser Wortmatrix kann die Konfidenzwerte nutzen, um eine effiziente Fehlerkorrektur zu ermöglichen.
  • Ein mögliches Verfahren ist in 40 vorgeschlagen. Zunächst wird die Wortmatrix durch eine Enkodierung aus einem binären Datenstrom (Verfahrensschritt 90) erstellt. Beispielsweise ist die zu erzeugende Wortmatrix in lokal unabhängige Wortblöcke unterteilt, die jeweils eine fixe Wortlänge des binären Datenstroms enkodieren (Verfahrensschritt 91). Zur Fehlerkorrektur können zusätzliche Kopien solcher Wortblöcke in die resultierende Wortmatrix (Verfahrensschritt 94) eingefügt werden (Verfahrensschritt 93).
  • Zur Dekodierung wird eine so enkodierte Wortmatrix mit Konfidenzwerten vom Bildverarbeitungssystem erhalten (Verfahrensschritt 95). Der Algorithmus zur Dekodierung identifiziert die unabhängigen Codeblöcke innerhalb der Wortmatrix. Es werden aufgrund der eingeführten Redundanz zur Dekodierung jedoch nicht alle diese Codeblöcke benötigt. Nun können redundante Codeblöcke absteigend nach der festgestellten Konfidenz sortiert werden (Verfahrensschritt 96), sodass beim Dekodieren der Codeblöcke (Verfahrensschritt 97) zunächst nur solche mit hoher Erkennungssicherheit berücksichtigt werden. Da diese aufgrund ihrer Erkennungsqualität mit größerer Wahr scheinlichkeit fehlerfrei von der Bildverarbeitung extrahiert und in der Wortmatrix vorhanden sind, werden so nur gültige Codeblöcke zur Dekodierung verwendet, was deren Laufzeit reduziert, da nicht unnötigerweise versucht wird, einen fehlerhaften Codeblock zu dekodieren. Die Rekonstruktion des enkodierten binären Datenstroms (Verfahrensschritt 99) erfolgt somit effizient.
  • Aus dem vorbeschrieben, sehr detailliert dargestellten Beispiel des erfindungsgemäßen Symbolcodes und eines zugehörigen Verfahrens zu seinem Lesen ergeben sich wesentliche Vorzüge sowohl des Symbolcodes als auch des Dekodierverfahrens, welche sehr robust handhabbar sind und das Aufbringen von Informationen auf Bauteile in einem Direkt Part Marking Verfahren (DPM) auch im Bereich üblicher Produktionsstraßen ermöglichen. Auch in dem konkreten Anwendungsbeispiel sind eine Vielzahl von vorteilhaften Merkmalen und Funktionen beschrieben, die jede für sich in Zusammenhang mit dem erfindungsgemäßen Symbolcode eingesetzt werden können, auch losgelöst von anderen Merkmalen, in deren Zusammenhang sie beschrieben sind, da sie auch losgelöst von diesen anderen Merkmale einen wesentlichen Beitrag für die Lesbarkeit und Robust des Symbolcodes leisten.
  • Nachfolgend werden noch einige konkrete Anwendungsbeispiele beschrieben.
  • Ein erfindungsgemäßer Symbolcode kann auf einer gekrümmten reflektierenden Oberfläche, mit oder ohne translatorische Transformation, mit und ohne Skalierungsänderung aufgebracht werden. In 5 sind zylindrische Objekte metallischer Oberfläche mit einem Symbolcode versehen. Sie befinden sich auf einem Transportband und werden in der Reihenfolge A, B, C von der Station erfasst. Der von der Erkennungsstation erfasste Bildausschnitt ist durch ein gestricheltes Rechteck bei Position A markiert. Die äußerlich ähnlichen Objekte sind zur Unterscheidung mit einem Symbolcode markiert.
  • Die Station steuert eine Produktionsweiche. Der Symbolcode selbst ist im erfassten Bild durch die zylindrische Form der Oberfläche perspektivisch verzerrt. Aufgrund des Transportbandes tritt keine Änderung der Rotations- und Skalierungsparameter auf, sodass diese fixiert werden können. Jedoch sind möglicherweise nur Teile der Symbolmatrix sichtbar, wie in den Positionen B und C. Da der grafische Symbolcode unab hängig von speziellen Ankersymbolen zur Lageerkennung und Entzerrung ist, kann der Symbolcode erfolgreich extrahiert werden. Aufgrund der redundanten Fehlerkorrektur, die ein Enkodierungs- und Dekodierungsalgorithmus bietet, kann auch der binäre Datensatz wiederhergestellt werden.
  • In 6 ist ein weiteres Anwendungsbeispiel gezeigt. Dort sind mehrere Symbolcodes auf matter oder reflektierender und gekrümmter Oberfläche aufgebracht, mit rotatorischer und translatorischer Transformation sowie unterschiedlicher Skalierung. Der obere Teil der 6 zeigt das Objekt aus Sicht einer Videokamera zur bildgebenden Erfassung. Im unteren Teil der 6 ist eine seitliche Ansicht desselben Objekts dargestellt. Die Station mit der in Draufsicht ausgerichteten Videokamera dient zur Qualitätskontrolle. Wegen örtlichen Beschränkungen der Prüfstation und der Anforderung, dass das zu prüfende zusammengesetzte Bauteil in einer einzigen Aufnahme ausgewertet wird, wurde der Kopf einer Schraubverbindung zur Markierung mit einem Symbolcode ausgewählt. Eine Anbringung auf den Seitenflächen der Schraubverbindungen hätte zur Folge, dass einige dieser Objekte durch davorliegende Teile perspektivisch verdeckt würden, sodass bei seitlicher Ausrichtung der Kamera nicht jeder Symbolcode zugleich erfasst werden kann.
  • Das Aufbringen des Symbolcodes auf dem Kopf der Schraubverbindungen erfordert einen kompakten Symbolcode, um die gewünschte Information auf kleiner Fläche unterbringen zu können. Einige der Schraubverbindungen weisen eine gewölbte Form des Kopfes auf, die perspektivische Verzerrungen des Symbolcodes verursacht. Alle Köpfe sind metallisch, einige glänzend, andere matt. Außerdem sind die Köpfe von verschiedener Materialstärke, sodass beim Aufbrennen durch Laser nicht der bestmögliche Kontrast erreicht werden kann. Die Schraubverbindungen weisen eine unterschiedliche Höhe auf, sodass die Symbolcodes im erfassten Bild unterschiedlich skaliert sind. Aufgrund des Verschraubens weist jeder Symbolcode im Bild unterschiedliche Rotationsparameter auf.
  • Hier wird jeder der Symbolcodes eines Kopfes unabhängig voneinander dekodiert, wozu jeweils ein Bildausschnitt definiert wird, welcher nur einen der Symbolcodes enthält. Die Eigenschaften des in der Erfindung beschriebenen Symbolcodes und dessen Extraktionsverfahren, insbesondere die verwendete normalisierte Korrelation, erlauben es, jeden der Symbolcodes zuverlässig zu dekodieren.
  • Mit der Erfindung werden ein grafischer Symbolcode und Verfahren zu dessen Extraktion in einem Bildverarbeitungsprozess beschrieben. Die beiden grafischen Symbole zur binären Enkodierung selbst weisen eine komplementäre Helligkeit bzw. Helligkeitsverteilung auf und kodieren jeweils ein einzelnes Wort, d. h. einen binären Wert. Ihre innere Kontur ist derart optimiert, dass die Symbole nicht nur sicher und zuverlässig gelesen werden können, sondern in einem DPM-Verfahren durch Aufbrennen mittels eines Lasers auf eine meist metallische oder kunststoffartige Objektoberfläche auf einem Bauteil aufgebracht werden können. Dabei sind spezifische Eigenschaften des Brennvorgangs analysiert worden, um eine robuste grafische Form der Symbole zu erreichen, die auch bei üblichen Brennfehlern eine Erkennung und Unterscheidung ermöglicht. Zudem werden bei dieser Form Auftragungszeiten minimiert, da jedes Symbol in einem Zug ohne Absetzen eines Stifts in vektororientierter Weise gezeichnet werden kann.
  • Mit einer grauwertnormalisierten Korrelation wird gemäß einem weiteren Aspekt der Erfindung eine Extraktionsmethode gewählt, die lokale Veränderungen der Kontrastverhältnisse berücksichtigt, wie sie durch inhomogene Beleuchtung, lokale Verschmutzung, lokale Reflexion des Oberflächenmaterials und/oder durch Beschränkungen der Materialstärke verursacht werden können.
  • Um relative lokale Maxima als Evidenz für ein grafisches Symbol zu erfassen, wird gemäß einem weiteren Aspekt der Erfindung ein Dilatations-Filter auf ein Grauwertbild von Konfidenzwerten angewandt, sodass keine fixe Schwellenwerte gesetzt werden müssen und sich die Feststellung eines Maximum adaptiv an die lokale Grauwertumgebung im Korrelationsbild anpasst.
  • Der vorgeschlagene Symbolcode ist erfindungsgemäß ein Symbolcode ohne spezifische Symbole zur Synchronisation oder Lageerkennung und zur perspektivischen Entzerrung, wodurch dessen Dichte hoch ist und keine Single-Point-of-Failure Situation vorliegt, wenn solche Symbole nicht extrahiert werden können.
  • Nachteile im Laufzeitverhalten der aufwendigeren Korrelation im Vergleich zu morphologischen Operatoren werden erfindungsgemäß dadurch minimiert, dass bei vorzugsweise komplementärer Helligkeit der grafischen Symbole nur eine einzige Filterung notwendig ist, um beide Typen grafischer Symbole zu lokalisieren. Vorverarbeitungsschritte zur Bildaufbereitung entfallen völlig, und dies reduziert die Ausführungszeit zusätzlich.
  • Mit der Einführung von unabhängigen Konfidenzwerten zu jedem extrahierten grafischen Symbol hat dieser Symbolcode eine Eigenschaft, die von einem erfindungsgemäßen Dekodierungsalgorithmus zum effizienten Einsatz redundanter Information zur Fehlerkorrektur genutzt werden kann. Die Konfidenzwerte ermöglichen es erfindungsgemäß adaptiv zu entscheiden, ob bei guter Qualität ein schneller, aber nicht ganz so robuster Algorithmus zur Erwanderung der grafischen Symbole und deren Transformation in eine Wortmatrix angewandt werden kann, oder aufgrund schlechter Qualität ein robuster, aber zeitaufwändiger Algorithmus angewandt wird.
  • Die Aufbringungsfläche eines Symbolcodes sowie deren interne Kodierung sind frei wählbar. Die Dekodierung erfolgt nach der Zuordnung der extrahierten Symbole zu einer der vorbestimmten möglichen Formen des Symbolcodes.
  • 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 5862271 [0012]
  • Zitierte Nicht-Patentliteratur
    • - ISO/IEC 15420 [0004]
    • - ISO/IEC 16390 [0004]
    • - ISO/IEC 16388 [0004]
    • - ISO/IEC 18004 [0005]
    • - DIN V 66401 [0005]

Claims (15)

  1. Zweidimensionaler Symbolcode zur Darstellung binärer Daten, der aus mehreren nebeneinander angeordneten grafischen Symbolen aufgebaut ist, wobei der Symbolcode aus genau zwei verschiedenen Symbolen gleicher Fläche gebildet ist, die sich in ihrer flächigen Helligkeitsverteilung unterscheiden und jeweils einen Wert eines binären Datenworts kodieren, dadurch kennzeichnet, dass die Symbole eine komplementäre Helligkeitsverteilung aufweisen.
  2. Zweidimensionaler Symbolcode nach Anspruch 1, dadurch kennzeichnet, dass jedes Symbol aus genau zwei Bereichen besteht, wobei den beiden Bereich jeweils ein unterschiedlicher Helligkeitswert zugeordnet ist.
  3. Zweidimensionaler Symbolcode nach Anspruch 1 oder 2 dadurch kennzeichnet, dass der Symbolcode mehrere Symbolpaare komplementärer Helligkeitsverteilung aufweist, die sich in ihrer Farbe unterscheiden.
  4. Verfahren zum Lesen eines zweidimensionalen Systemcodes, der aus mehreren nebeneinander angeordneten grafischen Symbolen aufgebaut ist, wobei der Symbolcode aus genau zwei verschiedenen Symbolen gleicher Fläche gebildet ist, die sich in ihrer flächigen Helligkeitsverteilung unterscheiden und jeweils einen Wert eines binären Datenworts kodieren, wobei die beiden Symbole eine komplementäre Helligkeitsverteilung aufweisen, dadurch kennzeichnet, dass auf den Systemcode ein Filter angewendet wird, welcher mit der Helligkeitsverteilung eines der beiden komplementären Symbole übereinstimmt, wobei im Falle einer Übereinstimmung das eine Symbol und im Falle einer Nicht-Übereinstimmung das andere Symbol erkannt wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass als Filter ein Korrelationsfilter verwendet wird, der das Ergebnis einer Abstandsfunktion ermittelt, welche die Entfernung der vorliegenden Helligkeitsverteilung von der Helligkeitsverteilung des Korrelationsfilters angibt.
  6. Verfahren nach Anspruch 5, dadurch kennzeichnet, dass das Korrelationsergebnis nach Anwendung des Korrelationsfilters als Konfidenzwert ermittelt wird.
  7. Verfahren nach Anspruch 6 dadurch kennzeichnet, dass bei dem Abtasten des Systemcodes mit dem Korrelationsfilter ein Konfidenzwert für jede Abtastposition ermittelt und zum Erkennen der Symbole in dem Systemcode verwendet wird.
  8. Verfahren nach Anspruch 7, dadurch kennzeichnet, dass aus den Konfidenzwerten die wahrscheinlichsten Mittelpunkte der Symbole in dem Symbolcode ermittelt werden.
  9. Verfahren nach Anspruch 8, dadurch kennzeichnet, dass ausgehend von einem wahrscheinlichen Mittelpunkt die anderen Mittelpunkte des Symbole erwandert und deren Symbole gelesen werden.
  10. Verfahren nach einem der Ansprüche 4 bis 9 dadurch kennzeichnet, dass die Farbe der Symbole ausgewertet wird.
  11. Verfahren nach Anspruch 10, dadurch kennzeichnet, dass ein Konfidenzwert für eine Farbverteilung der Symbole ermittelt wird.
  12. Verfahren nach einem der Ansprüche 4 bis 11, dadurch kennzeichnet, dass der zeitliche Verlauf der Konfidenzwerte in einem Bereich des Systemcodes ausgewertet wird.
  13. Verfahren nach einem der Ansprüche 4 bis 12, dadurch kennzeichnet, dass der Filter und der Symbolcode durch ein Abbildungsverfahren aufeinander abgebildet werden.
  14. Verwendung eines zweidimensionalen Systemcodes gemäß einem der Ansprüche 1 bis 3, der auf Bauteile eines Produktes in einer automatisierten Produktionslinie aufgebracht ist und Informationen zur Kennzeichnung der Bauteile und/oder zur Steuerung des Produktionsablaufs aufweist, dadurch kennzeichnet, dass der Systemcode durch an der Produktionslinie positionierten Lesegeräten erfasst und durch ein übergeordnetes Steuerungssystem ausgewertet wird.
  15. Vorrichtung zum Lesen eines zweidimensionalen Systemcodes mit einer optischen Aufnahmeeinrichtung und einer Auswerteeinrichtung mit einem Prozessor, der zur Verarbeitung der von der Aufnahmeeinrichtung gelieferten optischen Signale und zur Dekodierung des zweidimensionalen Symbolcodes eingerichtet ist, dadurch kennzeichnet, dass in den Prozessor der Auswerteeinheit ein Verfahren nach einem der Ansprüche 4 bis 13 implementiert ist.
DE200910016598 2009-04-08 2009-04-08 Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes Withdrawn DE102009016598A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200910016598 DE102009016598A1 (de) 2009-04-08 2009-04-08 Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200910016598 DE102009016598A1 (de) 2009-04-08 2009-04-08 Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes

Publications (1)

Publication Number Publication Date
DE102009016598A1 true DE102009016598A1 (de) 2010-10-14

Family

ID=42733174

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910016598 Withdrawn DE102009016598A1 (de) 2009-04-08 2009-04-08 Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes

Country Status (1)

Country Link
DE (1) DE102009016598A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011010722A1 (de) * 2011-02-09 2012-08-09 Testo Ag Messgerät-Set und Verfahren zur Dokumentation einer Messung
DE102012011103A1 (de) 2012-05-23 2013-11-28 ADITUS Gesellschaft für Einlaß-Systeme mbH Verfahren zum Handhaben von Zugangs- oder Nutzungsberechtigungen und Handhabungssystem zur Handhabung von Zugangs- oder Nutzungsberechtigungen
EP3570205A1 (de) * 2018-05-15 2019-11-20 Wooptix S.L. Barcode-erkennungsverfahren
DE102020107207A1 (de) 2020-03-17 2021-09-23 Krones Aktiengesellschaft Etikettensatz, Vorrichtung und Verfahren zur Erkennung von Varianten von Etiketten
DE102022210130A1 (de) 2022-09-26 2024-03-28 Volkswagen Aktiengesellschaft Verfahren und Ausleseeinrichtung zum Auslesen eines Datensatzes aus einem Daten-Matrix-Code
WO2024031094A3 (en) * 2022-08-05 2024-05-16 Stefano Casadei Semiotic and compositional method for robust knowledge representations and reasoning and apparatus therefor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862271A (en) 1996-12-20 1999-01-19 Xerox Corporation Parallel propagating embedded binary sequences for characterizing and parameterizing two dimensional image domain code patterns in N-dimensional address space

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862271A (en) 1996-12-20 1999-01-19 Xerox Corporation Parallel propagating embedded binary sequences for characterizing and parameterizing two dimensional image domain code patterns in N-dimensional address space

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DIN V 66401
ISO/IEC 15420
ISO/IEC 16388
ISO/IEC 16390
ISO/IEC 18004

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011010722A1 (de) * 2011-02-09 2012-08-09 Testo Ag Messgerät-Set und Verfahren zur Dokumentation einer Messung
DE102012011103A1 (de) 2012-05-23 2013-11-28 ADITUS Gesellschaft für Einlaß-Systeme mbH Verfahren zum Handhaben von Zugangs- oder Nutzungsberechtigungen und Handhabungssystem zur Handhabung von Zugangs- oder Nutzungsberechtigungen
DE202012013554U1 (de) 2012-05-23 2017-10-05 Aditus Gmbh Handhabungssystem zur Handhabung von Zugangs- oder Nutzungsberechtigungen
KR20210070235A (ko) * 2018-05-15 2021-06-14 웁틱스, 에스.엘. 바코드 감지 방법
WO2019219512A1 (en) * 2018-05-15 2019-11-21 Wooptix S.L. Barcode detection method
CN112166431A (zh) * 2018-05-15 2021-01-01 伍普提克斯股份有限公司 条形码检测方法
EP3570205A1 (de) * 2018-05-15 2019-11-20 Wooptix S.L. Barcode-erkennungsverfahren
RU2764027C1 (ru) * 2018-05-15 2022-01-12 Вуптикс С.Л. Способ обнаружения штрих-кодов
US11379680B2 (en) 2018-05-15 2022-07-05 Wooptix S.L. Barcode detection method
KR102562904B1 (ko) 2018-05-15 2023-08-02 웁틱스, 에스.엘. 바코드 감지 방법
CN112166431B (zh) * 2018-05-15 2024-08-20 伍普提克斯股份有限公司 条形码检测方法
DE102020107207A1 (de) 2020-03-17 2021-09-23 Krones Aktiengesellschaft Etikettensatz, Vorrichtung und Verfahren zur Erkennung von Varianten von Etiketten
WO2024031094A3 (en) * 2022-08-05 2024-05-16 Stefano Casadei Semiotic and compositional method for robust knowledge representations and reasoning and apparatus therefor
DE102022210130A1 (de) 2022-09-26 2024-03-28 Volkswagen Aktiengesellschaft Verfahren und Ausleseeinrichtung zum Auslesen eines Datensatzes aus einem Daten-Matrix-Code

Similar Documents

Publication Publication Date Title
EP2417561B1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
DE69835358T2 (de) Verfahren zur Korrektur der Verzerrung beim Abtasten eines optischen Codes
DE68925059T2 (de) Verfahren und Gerät zur polygonalen Datendekodierung
DE69129136T2 (de) Binärbildverarbeitung zur Dekodierung selbstaktierender Kodierungen in Markengestalt
DE69130786T2 (de) Verfahren zum Kodieren digitaler Informationen
DE69603614T2 (de) System und verfahren zum lesen von paketinformation
DE102007028866B4 (de) Vorrichtung zum optischen Lesen eines graphischen Symbols, das aus einer Mehrzahl von optisch erkennbaren Informationseinheitsabschnitten aufgebaut ist
EP1260933B1 (de) Verfahren zum Erfassen von zweidimensionalen Codes
DE69810581T2 (de) Merkmalkorrelator für Fingerabdrücke
EP1173749B1 (de) Bildbearbeitung zur vorbereitung einer texturanalyse
DE19814075B4 (de) Verfahren zum Abtasten und Erkennen mehrerer Fotografien und zum Beseitigen von Randfehlern
DE102009016598A1 (de) Zweidimensionaler Symbolcode und Verfahren zum Lesen des Symbolcodes
DE19622199B4 (de) Lesegerät für ein Datensymbol
DE19601708A1 (de) Verfahren und System zum Bestimmen einer Lage auf einer Oberfläche eines Gegenstandes
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE19722439A1 (de) Verfahren und Vorrichtung zur Auffindung und Dekodierung maschinenlesbarer Symbole einschließlich Datenmatrixsymbolen
DE102010014937B4 (de) Verfahren zum Lesen eines Codes auf einem Substrat durch Zusammensetzen von Code-Fragmenten unter Verwendung eines bildgebenden Codelesers
CN109948393A (zh) 一种一维条码的定位方法及装置
CN113177959A (zh) 一种快速运动过程中qr码实时提取算法
CH708994B1 (de) Verfahren und Vorrichtung zum Identifizieren eines zweidimensionalen Punktcodes.
EP1333402B1 (de) Redundanter zweidimensionaler Code und Decodierverfahren
DE102020120887B4 (de) Verfahren zum erfassen einer einhängeposition eines auflagestegs und flachbettwerkzeugmaschine
DE102016100134B4 (de) Verfahren und Vorrichtung zum Untersuchen eines Objekts unter Verwendung von maschinellem Sehen
EP3023916B1 (de) Codieren/decodieren von informationen aus einer graphischen informationseinheit
DE19632058C1 (de) Optoelektronisch erfaßbares Identifizierungs- oder Zielelement sowie Verfahren zu seiner Erfassung

Legal Events

Date Code Title Description
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
R163 Identified publications notified
R163 Identified publications notified

Effective date: 20120502

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee