WO2011128089A1 - Verfahren zur konkretisierung eines substrates - Google Patents

Verfahren zur konkretisierung eines substrates Download PDF

Info

Publication number
WO2011128089A1
WO2011128089A1 PCT/EP2011/001864 EP2011001864W WO2011128089A1 WO 2011128089 A1 WO2011128089 A1 WO 2011128089A1 EP 2011001864 W EP2011001864 W EP 2011001864W WO 2011128089 A1 WO2011128089 A1 WO 2011128089A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
image
fragment
substrate
codes
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.)
Ceased
Application number
PCT/EP2011/001864
Other languages
English (en)
French (fr)
Inventor
Joachim GÄSSLER
Christian Konz
Harald Richter
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.)
Intelligente Optische Sensoren und Systeme GmbH IOSS
Original Assignee
Intelligente Optische Sensoren und Systeme GmbH IOSS
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 Intelligente Optische Sensoren und Systeme GmbH IOSS filed Critical Intelligente Optische Sensoren und Systeme GmbH IOSS
Priority to US13/641,079 priority Critical patent/US8881985B2/en
Priority to EP11723241.3A priority patent/EP2558976B1/de
Publication of WO2011128089A1 publication Critical patent/WO2011128089A1/de
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Definitions

  • the invention relates to a low-cost method for concretizing a substrate according to the preamble of claim 1.
  • German patent application DE19504912A1 discloses a method for scanning and assembling damaged barcodes.
  • EP1455298A1 discloses a method for
  • European application EP582911A2 discloses a method for locating codes on a substrate by scanning a CCD image.
  • the object of the invention is to provide a safe and low-cost method for concretizing the substrate in order to enable safe reading of the code content even with damaged codes.
  • the invention relates to a method for detecting and decoding a code on a substrate by assembling code fragments using an imaging code reader.
  • a substrate all materials used in a manufacturing, manufacturing or other monitoring process of a product should be considered here.
  • the substrate should be solar cells, wafers or solar modules.
  • the codes may be an array of characters, especially numbers and letters, applied to a substrate by suitable printing techniques or physical or chemical coating techniques, or by needle embossing, drilling, engraving, laser engraving, etching, or the like, material-removing or material-transforming Process of the substrate are generated.
  • Examples of encodings are one- or two-dimensional codes (eg barcode, DataMatrix code or QR codes). These can be applied to a carrier, for example on a glued label or label or directly on the product. If the codings are applied directly to the product, component or general substrate, such codes are also referred to as "direct part marking codes" or DPM codes. In a two-dimensional DPM code are in a code containing Surface grid-shaped rectangular or punctiform recesses or similar structures applied to the substrate.
  • a code reading device suitable for the code To read a code on a substrate, i. To capture and decode, a code reading device suitable for the code must be provided.
  • the code reading device may be aligned with the area of the substrate containing the code and the detected code may be decoded by a suitable decoding or decoding algorithm, called "decoder" for short.
  • decoder a suitable decoding or decoding algorithm
  • the code-carrying substrate is illuminated with a suitable illumination device and a digital image is generated by means of an optical image of the substrate on a semiconductor image recorder, which is evaluated in an image processing computer for the purpose of decoding.
  • the surface structure or the production-related changes of the substrate for example surface-altering processes, such as coatings, sandblasting, painting or corrosion, can have a negative effect on the readability of the coding previously applied to the substrate
  • optical code readers are manifold and are specified when specifying an optical code reader for a specific reading task. Some of its requirements are given here by way of example: ⁇ reading codes in different rotational positions relative to the reading device, as is required, for example, in the case of a hand-held reading device, • reading codes with different scaling ;: for example, in a hand-held reader by different distances between the reader and the substrate,
  • Reading codes whose position on the substrate can vary from one substrate to another.
  • a specific code of the same code content repeatedly applied to the substrate, the position of the applied code within a given range of the substrate varies selectively or randomly, because it is predictable in that, for example, in screen printing of contacting electrodes, a previously written code is completely or partially covered. Multiple application of the code at different positions within a predetermined area increases the likelihood that a complete code will be recognized.
  • a substrate is specified. Specification here means a separation, identification or recognition.
  • the concretization is increasingly necessary in the context of manufacturing, manufacturing and monitoring processes, since in addition to legal requirements and the consumer perception requires a quick and easy traceability of the product to the producer.
  • the specification also serves the quality control, as well as the after-sales care of Customers. Due to the concretization it is still possible to identify a substrate after years. Identification is also an alternative way of concretization. Identification enables warranty rights and obligations to be tracked without any problems. In addition, the identification also allows the adjustment and optimization of manufacturing processes
  • the inventive method speaks of an assignment or an adjustment of the codes.
  • this can also mean that code fragments and / or fragment assemblies and / or fragment clusters are to be combined, matched or "stitched" together, which means nothing else than As a colloquial technical term for the assignment or the adjustment also the so-called "matching" has prevailed. From the inventive idea of the assignment or matching should also be included in the matching.
  • one and the same code is displaced several times or rotated relative to one another on the substrate.
  • the multiple applied code has the same data content, but may be different in its geometric properties (scaling, distortion).
  • this means that the codes are applied at different points on the substrate in such a way that, as far as possible, an at least code fragment or fragment or fragment set of codes results in a result-readable code.
  • the advantage here is the possibility of highly flexible handling of the individual procedures of the method.
  • codes can also be read which, viewed individually, can not be decoded due to their degree of destruction.
  • the code should be understood as an arrangement of code elements or code modules.
  • the code elements or code modules include depending on the type of code Points, circular areas, rectangles or squares, which in their entirety represent a one- or two-dimensional code due to their relative position and orientation to each other. Examples of such codes are barcode, data matrix code ECC200 or the QR code. Code elements or code modules are the smallest information units of a specific code. Their arrangement is based on a basic grid.
  • each code element or code module is evaluated by means of an image processing method, such as black or white, set or not set, 1 or 0. With degraded or corrupted codes, image processing may not result in a unique, binary result. In this case, it is intended to assign a probability to a code element or code module. If, for example, the gray value of a code element or code module lies exactly between black and white, then the value is considered uncertain and can be evaluated with a probability of "set" of 0.5.
  • a code fragment is understood to mean an arrangement of several recognized code elements or code modules which, as a contiguous association, represent an undamaged part of a code.
  • the code fragment comprises an identified image or code area in which the assignment of code elements or code modules is possible by means of a neighborly relationship in an association of code elements or code modules.
  • a fragment association is understood to mean an arrangement of code fragments identified as belonging to the same code. Affiliation of a code fragment to one and the same code is ensured by the location relationship of the code fragments or by other relationships of the code fragments with one another, such as recording time, substrate speed during recording or by the labeling rule.
  • a fragmentation bandage may comprise a single code fragment if no further code fragments of a single code are found within the evaluated images.
  • a fragment family is understood to be an arrangement of at least two fragment associations aligned with the basic grid of the code.
  • a set of fragments is based on known image processing and data comparison methods, such as correlation, pattern matching, or pattern matching, or incorporating characteristic code features, such as barcode start / stop characters, finder patterns, alternating patterns, or other features characteristic of the code formed from the set of fragment clusters.
  • characteristic code features such as barcode start / stop characters, finder patterns, alternating patterns, or other features characteristic of the code formed from the set of fragment clusters.
  • a priori information for example specifications as used when writing the code, is used in a supportive manner.
  • a first digital image and preferably a plurality of further digital images with different illumination or acquisition parameters are generated from a predetermined evaluation area on the substrate with the aid of the imaging code reading device.
  • the first digital image is processed in an image processing computer.
  • image areas of the selected image containing code fragments of the searched code are identified. Code fragments of other code types in the digital image are suppressed and the corresponding image areas are excluded from further image processing, for example parts of one-dimensional barcodes, barcode fragments, two-dimensional matrix codes or characters or other structures that are not part of the desired coding.
  • step (3) The code fragments from step (2) together with their position information, ie their original reference values (eg angular position, coordinates, Recording time, etc.) in the original, digital image, cached in a memory.
  • position information ie their original reference values (eg angular position, coordinates, Recording time, etc.) in the original, digital image, cached in a memory.
  • step (6) The fragment dressings from step (5) are fed to a decoder. Since error-redundant codes (e.g., DataMatrix ECC200) tolerate a certain degree of damage, partially corrupted codes can be decoded in this process step. If the code is recognized, the procedure is finished.
  • error-redundant codes e.g., DataMatrix ECC200
  • partially corrupted codes can be decoded in this process step. If the code is recognized, the procedure is finished.
  • the spatially dissimilar fragment groups are first normalized to a uniform grid.
  • the fragment associations are buffered as image data or as symbolic data, binary data or as probabilities of the recognized code elements or code modules in a memory of the image processing computer.
  • the code may be a one- or two-dimensional code and the substrate may be a solar cell made of crystalline or amorphous silicon printed circuit traces.
  • the code can represent a readable label in the form of an OCR font.
  • the substrate in the evaluation before the application of the code has an irregular or faulty structure and the applied code elements caused thereby may partially have damage.
  • the evaluation of the substrate in production steps that follow the application of the code to the substrate partially covered or damaged. It is further provided in the context of an embodiment of the invention that the code can be written by laser ablation or local remelting by means of a laser beam to the substrate.
  • the code can be applied to a substrate that changes in its structure by aging processes and this structure can overlay or partially cover the code.
  • this structure can overlay or partially cover the code.
  • FIG. 1a shows a digital image of two codes 1, 2 with identical content, partially covered by foreign structures.
  • the foreign structures are shown schematically by hatched areas.
  • the codes 1, 2 are scaled differently and can not be decoded individually due to their degree of destruction.
  • Fig. 1b four code fragments 3, 4, 5, 6 of the two codes 1, 2 are shown in Fig. 1a, which are each separated by a closed line from each other.
  • the relative positions and the basic grid of the code fragments 3, 4, 5, 6 of one of the codes 1, 2 have been preserved in the separation of the codes 1, 2.
  • FIG. 2a the four code fragments 3, 4, 5, 6 of Fig. 1b are combined to form two fragment assemblies 7, 8.
  • the summary was based on existing location information.
  • the two fragment groups are each identified by a closed line.
  • Fig. 2b the two fragment assemblies of Fig. 2a are shown after being normalized to a uniform pitch.
  • the information about the individual code elements or code modules can be stored as image data or as symbolic data, for example binary data in a memory for further processing.
  • FIG. 2c shows a fragmentary set 9 of an arrangement of code elements or code modules which have been brought together from the basic grid-oriented, standardized code fragments from FIG. 2b.
  • FIG. 3 a shows the code elements or code modules of the two fragment assemblies 7, 8 from FIG. 2 b as symbol data.
  • Each code element or code module is assigned a numerical value.
  • a value of 0 or 1 is entered in the table associated with the basic grid of the code.
  • the code elements or code modules that are not detected safely are marked in the tables of Fig. 3a with "X"; Similarly, a probability of 0.5 could be entered in the table.
  • FIG. 3b which represents the fragmentary group 9 from FIG. 2c, was obtained by cell-by-cell addition of the cell values of the first fragment grouping 7 and of the second fragmentation group 8, the results of the addition being transformed according to the procedure defined in Table 1.
  • Cell value cell value 2 sum cell value
  • Fragmentation 1 Fragmentation 1 (7) Fragmentation 2 (8) Fragmentary
  • the codes 1, 2 applied to the substrate and to be decoded may be one-dimensional or two-dimensional codes and the substrate may comprise organic, metallically conductive, inorganic or organic semiconducting or insulating material and have defects which occur before or after the application of the code 1, 2 occur on the substrate or be present in the material of the substrate.
  • An inventive embodiment of a method for reading a code on a substrate wherein the code within an evaluation on the substrate by at least two code fragments is represented and the code fragments each comprise at least two arranged at different positions within the evaluation and arranged on a basic grid code elements , are associated with damaged codes and wherein at least one digital image is generated by the evaluation area with an imaging code reading device and the at least one digital image is evaluated in an image processing computer with a plurality of memories and fed to a decoder for decoding the one code, the first with the code reading device has generated digital image of the evaluation area read into a first memory of the image processing computer. Subsequently, those image areas of the digital image are identified in the image processing computer, which include code fragments of the type of code sought.
  • Code fragments of other code types in the digital image are suppressed and the corresponding image areas are excluded from further image processing. Thereafter, the code fragments are cached together with their location information in the original digital image in a second memory of the image processing computer. Furthermore, in a first checking step, the position information of the code fragments is compared and an assignment of code fragments to identical codes is made.
  • the fragment assemblies are then fed to a decoder. If the code is recognized, the procedure is finished.
  • the spatially dissimilar fragment groups are first normalized to a uniform grid dimension and the normalized fragment groups are buffered as image data, symbolic data, binary data or as recognition probabilities of the code elements in a third memory of the image processing computer.
  • the fragment clusters are then combined into fragment clusters on the basis of known image processing and data comparison methods. Subsequently, the fragmentary groups are fed to the decoder. If the code is recognized, the procedure is finished.
  • the method is repeated with the method steps described above, using a digital image with different illumination or acquisition parameters than the previously processed digital images.
  • the fragment sets of the first digital image are combined with those of the further digital images by assembling the fragment sets on identical, overlapping code regions, whereupon the composite fragment sets are fed to the decoder. If the code is recognized, the procedure is finished.
  • the determined code elements are assigned probabilities which are obtained from the combinations of fragment shares from the previous method step, specifically such that code elements which were evaluated in different fragment sets with the same result are assigned a recognition probability of 1 and code Elements which have been evaluated in different fragment sets with different results or in which the detection probabilities of the code elements were each clearly smaller than 1.0 are varied for the further decoding attempts and the contents of all the code elements determined to be uncertain are identified until the recognition of the Codes permuted and fed to the decoder. If the code is recognized, the procedure is finished.
  • An embodiment of the code according to the invention is a two-dimensional code.
  • the substrate may be a crystalline silicon solar cell with printed conductors printed on it.
  • the substrate may again be a crystalline silicon solar cell with printed conductors printed on it.
  • An inventive code has a readable label in the form of an OCR font, wherein the substrate may be a solar cell made of crystalline silicon printed with printed conductors.
  • the substrate may have an irregular or faulty structure in the evaluation area before the code is applied, and the applied code elements may be partially damaged as a result.
  • evaluation regions of the substrate in production steps which follow the application of the code to the substrate are also to be partially covered or damaged are nevertheless to be concretized.
  • the code is a code generated by means of a laser beam, wherein the substrate may be a crystalline silicon solar cell with printed conductors printed on it.
  • the substrate may also be a thin-film solar cell.
  • the method according to the invention should also make it possible to read a code that can be applied to a substrate that changes in its structure as a result of aging processes and that structure overlays or partially covers the code.
  • the substrate may also be an organic semiconductor material.
  • a program according to the invention should be designed such that when it is running on a computer or loaded in a computer, it causes the computer to perform a method according to the kind described above.
  • a computer program product should be designed such that a program, as described in the previous section, is stored and playable.

Landscapes

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

Abstract

Bei einem Verfahren zur Konkretisierung eines Substrats mit zumindest zweifach aufgebrachtem Code (1, 2) durch eine Code-Lesevorrichtung, sollen die Codes (1, 2) einander zugeordnet oder abgeglichen werden, geeignet zur Wiederherstellung eines intakten Codes (1, 2) aus mindestens zwei für sich nicht intakten Codes (1, 2).

Description

Verfahren zur Konkretisierung eines Substrates
Die Erfindung betrifft ein aufwandsarmes Verfahren zum Konkretisieren eines Substrates nach dem Oberbegriff des Anspruchs 1.
Stand der Technik
Aus dem Stand der Technik sind verschiedene Verfahren zu Konkretisierung eines Substrates bekannt. Dort wird auf ein Substrat ein Code aufgebracht. Dieser Code wird durch eine Code-Lesevorrichtung gelesen. Allerdings weisen die aus dem Stand der Technik bekannten Verfahren den Nachteil auf, dass sie bei einem nicht mehr lesbaren Code ins Leere laufen. Die Konkretisierung eines Substrates kann nicht mehr erfolgen und der damit zusammenhängende Überwachungs- oder Produktionslauf ist entweder unvollständig oder muss gar gestoppt werden.
Aus der Patentliteratur sind Verfahren zum Lesen von Codes bei unterschiedlichen Leseaufgaben bekannt
BESTÄTIGUNGSKOPIE Aus der deutschen Offenlegungsschrift DE10123406A1 ist ein Verfahren zur Ermittlung unsicherer Bildbereiche in einem Bild mit einem einzigen Matrixcode bekannt.
Aus der deutschen Offenlegungsschrift DE19504912A1 ist ein Verfahren zum Scannen und Zusammensetzen von beschädigten Barcodes bekannt.
Aus dem Dokument DE69132985T2 ist ein Scanner zum Lesen eines Barcodes auf einem Gegenstand bekannt. Durch Mehrfachabtastung von Codefragmenten desselben Codes wird der Codeinhalt rekonstruiert.
Aus dem Dokument DE69629514T2, Abs. [0062, 0063] ist ein Verfahren zum Lesen eines Datamatrix-Codes (DMC) für fehlerhafte oder teilweise verdeckte DMC bekannt.
Aus der PCT-Anmeldung WO07099138A1 ist ein Verfahren zum Positionieren und Herstellen von Codes auf Solarzellen bekannt.
Aus der PCT-Anmeldung WO08118419A1 ist ein Codeleser bekannt, der nur eine Teilfläche des Codes erfaßt; der Code wird aus Teilcodes rekonstruiert. Aus der PCT-Anmeldung WO04023209A1 ist ein Verfahren zur Rekonstruktion von Barcodes bekannt, die bei einer gegebenen Abbildungsgeometrie bei der Bildaufnahme nicht vollständig abgebildet werden. Nacheinander aufgenommene Bilder von Teilen des Codes werden zu einem Code zusammengesetzt. Aus der deutschen Offenlegungsschrift DE10137093A1 ist ein Verfahren zur Lokalisierung und/oder Identifizierung eines Codes in einer Bildumgebung unter Verwendung eines neuronalen Netzwerkes bekannt.
Aus der deutschen Offenlegungsschrift DE102004017504A1 ist ein Verfahren zur Rekonstruktion eines Barcodes bekannt, bei dem mehrere Bilder eines einzelnen Codes aufgenommen werden, die jeweils Teile des Barcodes enthalten. Aus dem Dokument DE60038636T2 ist ein Codeleser mit einer Anzeigevorrichtung bekannt, die das Ende einer erfolgreichen Decodierung oder eines erfolglosen Decodierversuchs signalisiert.
Aus der europäischen Patentanmeldung EP1455298A1 ist ein Verfahren zum
Scannen und Decodieren beschädigter Barcodes bekannt.
Aus der europäischen Anmeldung EP582911A2 ist ein Verfahren zum Lokalisierung von Codes auf einem Substrat mittels Scannen eines CCD-Bildes bekannt.
Aus der Anmeldung US20020148899A1 ist ein Verfahren zum Zusammensetzen eines Codes aus Codefragmenten bekannt. Aus der PCT-Anmeldung WO96009597A1 ist ein Verfahren zum Erkennen und zur Rekonstruktion von beschädigten Barcodes in einer Bildumgebung bekannt.
Die bekannten Verfahren zum Lesen und Decodieren von beschädigten Codes unter Verwendung eines bildgebenden Code-Lesegerätes oder von Codes, die durch ihre Ausdehnung mit einem gegebenen bildgebenden Code-Lesegerät nicht vollständig abgebildet werden können, gehen davon aus, daß bei der Rekonstruktion des Codeinhaltes ein oder mehrere Bilder ein und desselben einzelnen Codes zugrunde gelegt werden. Derartige Verfahren führen dann zu einem erfolgreichen Lesen eines beschädigten Codes, wenn die Art und der Grad der Beschädigung des Codes nur so groß sind, daß eine Rekonstruktion mittels geeigneter Algorithmen noch möglich ist.
AUFGABE DER ERFINDUNG
Die Aufgabe der Erfindung ist es, ein sicheres und aufwandsarmes Verfahren zur Konkretisierung des Substrats zur Verfügung zu stellen, um auch bei beschädigten Codes ein sicheres Auslesen des Code-Inhalts zu ermöglichen. LÖSUNG DER AUFGABE
Zur Lösung der Aufgabe führt der kennzeichnende Teil des Anspruchs 1 , wobei bei der Beschreibung Begriffe mit nachfolgend beschriebener Bedeutung verwendet werden:
Die Erfindung betrifft ein Verfahren zum Erfassen und Decodieren eines Codes auf einem Substrat durch Zusammensetzen von Codefragmenten unter Verwendung eines bildgebenden Codelesers. Als Substrat sollen hier alle in einem Fertigungs-, Herstellungs- oder anderen Überwachungsvorgang eines Produktes verwendeten Materialien in Frage kommen. Insbesondere soll es sich bei dem Substrat um Solarzellen, Wafer oder Solarmodule handeln.
Bei industriellen Fertigungsverfahren ist es häufig erwünscht, wenn nicht gesetzlich vorgeschrieben, ein Produkt während und auch nach dem Fertigungsprozess eindeutig identifizieren zu können. Dies ermöglicht es, die einzelnen, an einem Produkt vorgenommenen Fertigungsschritte zu dokumentieren, um bei dem fertigen Produkt im Nachhinein die einzelnen Fertigungsschritte nachvollziehen zu können. Zu diesem Zweck werden beispielsweise an dem Produkt Codierungen angebracht, die während und nach Abschluß des Fertigungsprozesses mit einem automatischen Code-Lesegerät lesbar sind. Bei den Codierungen kann es sich um eine Anordnung von Zeichen, insbesondere auch Ziffern und Buchstaben handeln, die auf einem Substrat mittels geeigneter Drucktechniken oder physikalischer oder chemischer Beschichtungsverfahren aufgebracht oder durch Nadelprägen, Bohren, Gravieren, LASER-Gravieren, Ätzen oder dergleichen materialabtragende oder materialumformende Verfahren des Substrates erzeugt werden. Beispiele für Codierungen sind ein- oder zweidimensionale Codes (z.B. Barcode, DataMatrix-Code oder QR-Codes). Diese können auf einem Träger, beispielsweise auf einem aufgeklebten Etikett oder Label oder direkt auf dem Produkt aufgebracht sein. Werden die Codierungen direkt auf dem Produkt, Bauteil oder allgemein Substrat aufgebracht, so bezeichnet man derartige Codes auch als "Direct Part Marking Codes" oder DPM- Codes. Bei einem zweidimensionalen DPM-Code sind in einer den Code enthaltenden Fläche rasterförmig rechteckige oder punktförmige Ausnehmungen oder dergleichen Strukturen auf dem Substrat aufgebracht.
Um einen Code auf einem Substrat lesen, d.h. erfassen und decodieren zu können, muß eine für den Code geeignete Code-Lesevorrichtung bereitgestellt werden. Die Code-Lesevorrichtung kann auf den Bereich des Substrates ausgerichtet sein, welchen den Code enthält und der erfaßte Code kann durch einen geeigneten Decodierprozeß oder Decodieralgorithmus, kurz "Decoder" genannt, decodiert werden. Wird der Code mit einem bildgebenden optischen Codeleser gelesen, so wird das Code-tragende Substrat mit einer geeigneten Beleuchtungsvorrichtung beleuchtet und mittels einer optischen Abbildung des Substrats auf einen Halbleiter-Bildaufnehmer ein digitales Bild erzeugt, das in einem Bildverarbeitungsrechner zum Zweck der Decodierung ausgewertet wird.
Ist abzusehen, daß sich die Oberflächenstruktur oder die produktionsbedingten Veränderungen des Substrats, beispielsweise oberflächenverändernde Prozesse, wie Beschichtungen, Sandstrahlen, Lackieren oder Korrosion, negativ auf die Lesbarkeit der zuvor auf das Substrat aufgebrachten Codierung auswirken können, kann vorgesehen sein, mehrere Codes gleichen Codeinhalts an verschiedenen Stellen des Substrats, vorzugsweise innerhalb eines vorbestimmten Bereiches aufzubringen, um die Lesbarkeit, d.h. die Wahrscheinlichkeit für das sichere Lesen und Erkennen des Codes zu erhöhen. Dabei geht man von der Annahme aus, daß einer der an mehreren Stellen angebrachten Codes gleichen Dateninhalts lesbar ist.
Die Anforderungen an industriell einsetzbare optische Codeleser sind vielfältig und werden bei der Spezifizierung eines optischen Codelesers für eine bestimmte Leseaufgabe festgelegt. Einige Anforderungen seinen hier beispielhaft genannt: · Lesen von Codes in verschiedenen Drehlagen bezüglich des Lesegerätes, wie dies beispielsweise bei einem handgehaltenen Lesegerät erforderlich ist, • Lesen von Codes mit unterschiedlicher Skalierungen;: beispielsweise bei einem handgehaltenen Lesegerät durch unterschiedliche Abstände zwischen Lesegerät und Substrat,
• Lesen geometrisch verzerrter Codes, beispielsweise bei schräger Betrachtung oder bei Betrachtung von zylindrischen oder sphärischen Oberflächen,
• Lesen von beschädigten Codes, beispielsweise im Datenbereich der Codes oder im Bereich der sog. Finderpatterns der Codes,
• Zusammensetzen eines Codes aus erkannten Codefragmenten,
• Lesen eines Codes auf einem Substrat, der im Abbildungsbereich des Codelesers einen Störcode, beispielsweise einen nicht mehr gültigen Code aus einem früheren
Fertigungsschritt enthält,
• Lesen von Codes, deren Position auf dem Substrat von einem zu einem anderen Substrat variieren kann. Bei der Bearbeitung von kristallinen Silizium-Wafern zur Herstellung von photovoltaischen Solarzellen wird beispielsweise am Anfang der Prozesskette ein spezifischer Code gleichen Codeinhaltes mehrfach auf das Substrat aufgebracht, wobei die Position des aufgebrachten Codes innerhalb eines vorgegebenen Bereiches des Substrats gezielt oder zufällig variiert, weil vorhersehbar ist, daß beispielsweise beim Siebdrucken von Kontaktierungselektroden ein zuvor geschriebener Code ganz oder teilweise abgedeckt wird. Durch ein mehrfaches Aufbringen des Codes an unterschiedlichen Positionen innerhalb einer vorbestimmten Fläche wird die Wahrscheinlichkeit erhöht, daß ein vollständiger Code erkannt wird. In einem erfindungsgemässen Verfahren wird ein Substrat konkretisiert. Konkretisierung bedeutet hierbei eine Vereinzelung, Kenntlichmachung oder Wiedererkennung. Die Konkretisierung ist im Rahmen von Herstellungs-, Fertigungs- und Überwachungsprozessen immer öfter notwendig, da neben gesetzlichen Vorschriften auch das Verbraucherempfinden eine schnelle und einfache RückVerfolgbarkeit des Produkts bis zum Produzenten erfordert. In diesem Zusammenhang dient die Konkretisierung auch der Qualitätsüberwachung, sowie der After-Sales-Betreuung von Kunden. Durch die Konkretisierung ist es auch nach Jahren noch möglich, ein Substrat zu identifizieren. Die Identifizierung ist ebenfalls eine alternative Möglichkeit der Konkretisierung. Die Identifizierung ermöglicht, dass Gewährleistungsrechte und - pflichten unproblematisch nachverfolgt werden können. Daneben ermöglicht die Identifizierung weiterhin die Einstellung und Optimierung von Fertigungsprozessen
Das erfindungsgemässe Verfahren spricht von einer Zuordnung oder einem Abgleich der Codes. Die Zuordnung oder der Abgleich der Codes stellt sich in verschiedenerlei Hinsicht dar. Im Einzelnen kann dies auch bedeuten, dass Codefragmente und/oder Fragmentverbände und/oder Fragmentscharen miteinander zu kombinieren, abzugleichen oder einem„Stitching" zuzuführen sind, was nichts anderes bedeutet, als das Codefragmente oder Fragmentverbände oder Fragmentscharen zusammengenäht werden. Als umgangssprachliches Fachwort für die Zuordnung oder den Abgleich hat sich auch das sogenannte „Matching" durchgesetzt. Vom erfindungsgemässen Gedanken der Zuordnung oder des Abgleichs soll auch das Matching mit umfasst sein.
Ausserdem wird bei einem erfindungsgemässen Verfahren ein und derselbe Code mehrmals versetzt oder gedreht zueinander auf dem Substrat angebracht. Der mehrfach aufgebrachte Code hat den gleichen Dateninhalt, kann aber in seinen geometrischen Eigenschaften (Skalierung, Verzerrung) unterschiedlich sein. Dies bedeutet letztendlich nichts anderes, als dass die Codes an verschiedenen Stellen des Substrats derart angebracht werden, als dass nach Möglichkeit bei einem Abgleich von zumindest Codefragmenten oder Fragmentverbänden oder Fragmentscharen der Codes ein im Ergebnis lesbarer Code entsteht. Vorteilhaft ist hierbei die Möglichkeit einer hochflexiblen Handhabung der einzelnen Vorgehensweisen des Verfahrens.
Bei dem erfindungsgemäßen Verfahren können auch Codes gelesen werden, die einzeln betrachtet, auf Grund ihres Zerstörungsgrades, nicht decodierbar sind. Als Code soll eine Anordnung von Code-Elementen oder Code-Modulen verstanden werden. Die Code-Elemente oder Code-Module umfassen je nach Art des Codes aus Punkte, Kreisflächen, Rechtecken oder Quadrate, welche in der Gesamtheit durch ihre relative Position und Orientierung zueinander einem ein- oder zweidimensionalen Code darstellen. Beispiele für derartige Codes sind Barcode, Data-Matrix-Code ECC200 oder der QR-Code. Code-Elemente oder Code-Module sind die kleinsten Informationseinheiten eines spezifischen Codes. Ihrer Anordnung liegt ein Basisraster zugrunde. Beim Barcode ist dies beispielsweise die kleinste Balken oder Lückenbreite, beim Data-Matrix-Code ist dies die Größe der Modulfläche, bei einer Punktmatrix- Schrift, beispielsweise einem 5x9-Raster, ist dies die Größe eines Einzelpunktes beziehungsweise die Kantenlänge eines dem Punkt umschriebenen Quadrates. Jedes Code-Element oder Code-Modul wird mittels eines Bildbearbeitungsverfahrens bewertet, beispielsweise als schwarz oder weiß, gesetzt oder nicht gesetzt, 1 oder 0. Bei beeinträchtigten oder beschädigten Codes kann es vorkommen, daß die Bildverarbeitung zu keinem eindeutigen, binären Ergebnis führt. In diesem Fall ist vorgesehen, einem Code-Element oder Code-Modul eine Wahrscheinlichkeit zuzuordnen. Liegt beispielsweise der Grauwert eines Code-Elements oder Code- Moduls genau zwischen schwarz und weiß, so gilt der Wert als unsicher und kann mit einer Wahrscheinlichkeit für "gesetzt" von 0,5 bewertet werden.
Unter einem Codefragment soll eine Anordnung von mehreren erkannten Code- Elementen oder Code-Modulen verstanden werden, die als zusammenhängender Verband einen nicht-beschädigten Teil eines Codes darstellen. Das Codefragment umfasst einen identifizierten Bild- oder Codebereich, bei welchem die Zuordnung von Code-Elementen oder Code-Modulen mittels einer nachbarlichen Beziehung in einem Verband von Code-Elementen oder Code-Modulen möglich ist.
Unter einem Fragmentverband soll eine Anordnung von Codefragmenten verstanden werden, die als zu ein und demselben Code gehörig identifiziert wurden. Die Zugehörigkeit eines Codefragments zu ein und demselben Code ist durch die Ortsbeziehung der Codefragmente oder durch andere Beziehungen der Codefragmente untereinander, wie beispielsweise Aufnahmezeitpunkt, Substratgeschwindigkeit bei der Aufnahme oder durch die Beschriftungsvorschrift sichergestellt. Ein Fragmentverband kann ein einzelnes Codefragment umfassen, wenn innerhalb der ausgewerteten Bilder keine weiteren Codefragmente eines einzelnen Codes ermittelt werden.
Unter einer Fragmentschar wird eine an dem Basisraster des Codes ausgerichtete Anordnung von wenigstens zwei Fragmentverbänden verstanden. Eine Fragmentschar wird auf der Basis von bekannten Bildverarbeitungs- und Datenvergleichsverfahren, wie beispielsweise Korrelation, Mustervergleich oder Pattern-Matching, oder unter Einbeziehung charakteristischer Codemerkmale, wie beispielsweise Start- /Stoppzeichen bei Barcodes, Finderpattern, Alternating Pattern, oder andere für den Code charakteristische Merkmale aus der Menge der Fragmentverbände gebildet. Dabei wird a-priori Information, beispielsweise Vorgaben, wie sie beim Schreiben des Codes zur Anwendung kamen, unterstützend verwendet.
Das erfindungsgemäße Verfahren zeichnet sich durch folgende Verfahrensschritte aus:
(1) Von einem vorgegebenen Auswertebereich auf dem Substrat werden mit Hilfe der bildgebenden Code-Leseeinrichtung ein erstes digitales Bild und vorzugsweise mehrere weitere digitale Bilder mit unterschiedlichen Beleuchtungs- oder Aufnahmeparametern erzeugt. Zunächst wird das erste digitale Bild in einem Bildverarbeitungsrechner bearbeitet.
(2) Im Bildverarbeitungsrechner werden Bildbereiche des ausgewählten Bildes identifiziert, die Codefragmente des gesuchten Codes enthalten. Codefragmente anderer Codearten im digitalen Bild werden unterdrückt und die entsprechenden Bildbereiche von der weiteren Bildbearbeitung ausgeklammert, beispielsweise Teile von eindimensionalen Barcodes, Barcodefragmente, zweidimensionalen Matrixcodes oder Schriftzeichen oder andere Strukturen, die nicht Teil der gesuchten Codierung sind.
(3) Die Codefragmente aus Schritt (2) werden zusammen mit ihren Lageinformationen, d.h. Ihren ursprünglichen Bezugsgrößen (z.B. Winkellage, Koordinaten, Aufnahmezeitpunkt, etc.) im ursprünglichen, digitalen Bild, in einem Speicher zwischengespeichert.
(4) In einem ersten Prüfungsschritt werden die Lageinformationen der Codefragmente verglichen und eine Zuordnung von Codefragmenten zu identischen Codes vorgenommen.
(5) Alle Codefragmente aus Verfahrensschritt (4), die ein und demselben Code zugeordnet wurden, werden zu einem Fragmentverband verknüpft. Die Gesamtheit der Codefragmente ist in der Regel mehreren Fragmentverbänden zuzuordnen, wobei ein Fragmentverband auch ein einziges Codefragment umfassen kann.
(6) Die Fragmentverbände aus Verfahrensschritt (5) werden einem Decoder zugeführt. Da fehlerredundante Codes (z.B. DataMatrix ECC200) einen bestimmten Zerstörungsgrad tolerieren, können teilweise gestörte Codes in diesem Prozeßschritt decodiert werden. Wird der Code erkannt, ist das Verfahren beendet.
(7) Ist der Code nicht decodierbar, werden die ortsverschiedenen Fragmentverbände zunächst auf ein einheitliches Rastermaß normiert. Die Fragmentverbände werden als Bilddaten oder als symbolische Daten, Binärdaten oder als Wahrscheinlichkeiten der erkannten Code-Elemente oder Code-Module in einem Speicher des Bildverarbeitungsrechners zwischengespeichert.
(8) Die Fragmentverbände, welche einzeln auf Grund Ihres nicht rekonstruierbaren Zerstörungsgrades, nicht auswertbar sind, werden nun kombiniert und zwar auf der
Basis von bekannten Bildverarbeitungs- und Datenvergleichsverfahren, wie beispielsweise Korrelation, Mustervergleich oder Pattern-Matching, oder unter Einbeziehung charakteristischer Codemerkmale, wie beispielsweise Start- /Stoppzeichen bei Barcodes, Finderpattern, Alternating Pattern, oder andere für den Code charakteristische Merkmale. Dabei wird a-priori Information, beispielsweise Vorgaben, wie sie beim Schreiben des Codes zur Anwendung kamen, unterstützend verwendet. Ergebnis dieses Verfahrensschrittes ist wenigstens eine Fragmentschar, die wenigstens zwei Fragmentverbände umfasst.
(9) Die Fragmentscharen aus Verfahrensschritt (8) werden dem Decoder zugeführt. Wird der Code erkannt, ist das Verfahren beendet.
(10) Wird der Code nicht erkannt, wird das Verfahren mit den Verfahrensschritten (2) bis (9) wiederholt, wobei ein digitales Bild mit unterschiedlichen Beleuchtungs- oder Aufnahmeparametern verwendet wird.
(11) Die Fragmentscharen des ersten digitalen Bildes werden mit denen der weiteren aufgenommenen Bildern kombiniert, indem durch geeignete Verfahren, wie sie unter Verfahrensschritt (8) beschrieben wurden, gemeinsame, überlappende Codebereiche bestimmt werden. Wird der Code erkannt, ist das Verfahren beendet.
(12) Wurde der Code nicht erkannt, so werden den ermittelten Code-Elementen oder Code-Modulen Wahrscheinlichkeiten zugeordnet, die aus den Kombinationen aus Verfahrensschritt (11) gewonnen werden und zwar derart, daß Code-Elemente oder Code-Module, welche in unterschiedlichen Codefragmenten mit dem gleichen Ergebnis bewertet wurden mit einer Erkennungswahrscheinlichkeit 1 belegt werden. Code- Elemente oder Code-Module, welche in unterschiedlichen Codefragmenten mit unterschiedlichen Ergebnissen bewertet wurden oder bei denen die Erkennungswahrscheinlichkeit der Code-Elemente oder Code-Module deutlich kleiner als 1 ,0 ist, was bedeutet, daß das jeweilige Code-Element nicht sicher gelesen werden konnte, beispielsweise deshalb, weil beispielsweise der Grauwert des Code-Elementes auf einer Skala von 0 (weiß) bis 1 ,0 (schwarz) im Bereich zwischen 0,3 und 0,7 lag, werden für die weitere Decodierungsversuch variiert, d.h. die Inhalte aller unsicher bestimmten Code-Elemente oder Code-Module werden bis zur Erkennung des Codes permutiert und dem Decoder zugeführt. Wird der Code erkannt, ist das Verfahren beendet. (13) Wird der Code nicht erkannt, so wird ein Fehlersignal von der Code- Leseeinrichtung zur weiteren Verarbeitung in der Produktionssteuerung zur Verfügung gestellt.
Insbesondere ist im Rahmen eines Ausführungsbeispiels der Erfindung vorgesehen, daß der Code ein ein- oder zweidimensionaler Code und das Substrat eine Solarzelle aus kristallinem oder amorphem Silizium mit aufgedruckten Leiterbahnen sein kann.
Weiter ist im Rahmen eines Ausführungsbeispiels der Erfindung vorgesehen, daß der Code eine lesbare Beschriftung in Form einer OCR-Schrift darstellen kann.
Weiter ist im Rahmen eines Ausführungsbeispiels der Erfindung vorgesehen, daß das Substrat im Auswertebereich vor dem Aufbringen des Codes eine unregelmäßige oder fehlerbehaftete Struktur aufweist und die aufgebrachten Code-Elemente dadurch hervorgerufen teilweise eine Beschädigung aufweisen können.
Weiter ist im Rahmen eines Ausführungsbeispiels der Erfindung vorgesehen, daß der Auswertebereich des Substrats in Produktionsschritten, die dem Aufbringen des Codes auf das Substrat folgen, teilweise abgedeckt oder beschädigt werden kann. Weiter ist im Rahmen eines Ausführungsbeispiels der Erfindung vorgesehen, daß der Code durch Laserablation oder lokale Umschmelzung mittels eines Laserstrahls auf das Substrat aufgeschrieben werden kann.
Weiter ist im Rahmen eines Ausführungsbeispiels der Erfindung vorgesehen, daß der Code auf einem Substrat aufgebracht sein kann, das sich durch Alterungsprozesse in seiner Struktur verändert und diese Struktur den Code überlagern oder teilweise abdecken kann. Insbesondere ist vorgesehen, den Code auf organischen Oberflächen, wie Schalen von Obst aufzubringen, die bereits vor dem Aufschreiben des Codes im Auswertebereich Fehler aufweisen. Es ist ferner vorgesehen, das erfindungsgemäße Verfahren auf Codes anzuwenden, die auf ein Substrat geschrieben wurden, das sich durch Gebrauch verändert, beispielsweise die Oberfläche eines Katalysators. FIGURENBESCHREIBUNG
Die Erfindung wird anhand der Abbildungen näher erläutert. In Fig. 1a ist ein digitales Bild zweier, teilweise durch Fremdstrukturen abgedeckter Codes 1 , 2 mit identischem Inhalt zu sehen. Die Fremdstrukturen sind schematisch durch schraffierte Flächen dargestellt. Die Codes 1 , 2 sind unterschiedlich skaliert und jeweils einzeln betrachtet auf Grund Ihres Zerstörungsgrades nicht decodierbar. In Fig. 1b sind vier Codefragmente 3, 4, 5, 6 der beiden Codes 1 , 2 aus Fig. 1a dargestellt, die jeweils durch eine geschlossene Linie voneinander separiert sind. Die relativen Positionen und das Basisraster der Codefragmente 3, 4, 5, 6 eines der Codes 1 , 2 sind bei der Separation der Codes 1 , 2 erhalten geblieben.
In Fig. 2a sind die vier Codefragmente 3, 4, 5, 6 aus Fig. 1b zu zwei Fragmentverbänden 7, 8 zusammengefaßt. Die Zusammenfassung erfolgte auf Grund vorhandener Lageinformationen. Die zwei Fragmentverbände sind jeweils durch eine geschlossene Linie kenntlich gemacht. In Fig. 2b sind die zwei Fragmentverbände aus Fig. 2a dargestellt, nachdem sie auf ein einheitliches Rastermaß normiert wurden. Die Informationen über die einzelnen Code-Elemente oder Code-Module können als Bilddaten oder als symbolische Daten, beispielsweise Binärdaten in einem Speicher zur Weiterverarbeitung abgelegt sein. In Fig. 2c ist eine Fragmentschar 9 aus einer Anordnung von Code-Elementen oder Code-Modulen dargestellt, die aus den am Basisraster orientierten, normierten Codefragmenten aus Fig. 2b zusammengeführt wurden.
In Fig. 3a sind die Code-Elemente oder Code-Module der beiden Fragmentverbände 7, 8 aus Fig. 2b als Symboldaten dargestellt. Jedem Code-Element oder Code-Modul ist dabei ein Zahlenwert zugeordnet. Für einen sicher erkanntes Code-Element oder Code- Modul wird ein Wert von 0 oder 1 in die dem Basisraster des Codes zugeordneten Tabelle eingetragen. Die Code-Elemente oder Code-Module, die nicht sicher erkannt wurden, sind in den Tabellen der Fig. 3a mit "X" gekennzeichnet; ebenso könnte in die Tabelle eine Wahrscheinlichkeit von 0,5 eingetragen werden.
Die Tabelle der Fig. 3b, die die Fragmentschar 9 aus Fig. 2c repräsentiert, wurde durch zellenweise Addition der Zellenwerte des ersten Fragmentverbandes 7 und des zweiten Fragmentverbandes 8 gewonnen, wobei die Ergebnisse der Addition nach der in Tabelle 1 festgelegten Vorschrift transformiert wurden.
Tabelle 1 :
Figure imgf000015_0001
In einer alternativen Zusammenführung der Codefragmente 3, 4, 5, 6 zu einer Codeschar, bei dem den nicht sicher erkannten Code-Elementen oder Code-Modulen der Codefragmente 3, 4, 5, 6 ein zwischen 0 und 1 liegender Wert von X=0,5 zugeordnet ist, ist die Transformationsvorschrift für die Erzeugung der Tabelle der symbolischen Code-Elemente oder Code-Module der Fragmentschar 9 in Tabelle 2 dargestellt.
Tabelle 2:
Zellenwert Zellenwert 2 Summe Zellenwert
Fragmentverband 1 (7) Fragmentverband 2 (8) Fragmentschar
0 0 0 0
Figure imgf000016_0001
Die auf das Substrat aufgebrachten und zu decodierenden Codes 1 , 2 können ein- oder zweidimensionale Codes sein und das Substrat kann organisches, metallisch leitendes, anorganisch oder organisch halbleitendes oder isolierendes Material aufweisen und Fehler aufweisen, die vor oder nach dem Aufbringen des Codes 1 , 2 auf das Substrat auftreten oder im Material des Substrates vorliegen.
Ein erfindungsgemässes Ausführungsbeispiel eines Verfahrens zum Lesen eines Codes auf einem Substrat, wobei der Code innerhalb eines Auswertebereiches auf dem Substrat durch wenigstens zwei Codefragmente repräsentiert wird und die Codefragmente jeweils wenigstens zwei an unterschiedlichen Positionen innerhalb des Auswertebereiches angeordneten und an einem Basisraster angeordneten Code- Elementen umfassenden, beschädigten Codes zugeordnet sind und wobei von dem Auswertebereich mit einer bildgebenden Code-Lesevorrichtung wenigstens ein digitales Bild erzeugt wird und das wenigstens eine digitale Bild in einem Bildverarbeitungsrechner mit mehreren Speichern ausgewertet und einem Decoder zum Decodieren des einen Codes zugeführt wird, wird das erste mit der Code- Lesevorrichtung erzeugte digitale Bild des Auswertebereichs in einen ersten Speicher des Bildverarbeitungsrechners eingelesen. Anschliessend werden im Bildverarbeitungsrechner diejenigen Bildbereiche des digitalen Bildes identifiziert, welche Codefragmente von der Art des gesuchten Codes umfassen. Codefragmente anderer Codearten im digitalen Bild werden unterdrückt und die entsprechenden Bildbereiche von der weiteren Bildbearbeitung ausgeklammert. Danach werden die Codefragmente zusammen mit ihren Lageinformationen im ursprünglichen digitalen Bild in einem zweiten Speicher des Bildverarbeitungsrechners zwischengespeichert. Weiter werden dann in einem ersten Prüfungsschritt die Lageinformationen der Codefragmente verglichen und eine Zuordnung von Codefragmenten zu identischen Codes vorgenommen.
Danach werden alle Codefragmente die ein und demselben Code zugeordnet wurden, zu wenigstens einem Fragmentverband verknüpft, wobei der Fragmentverband wenigstens ein Codefragment aufweist.
Anschliessend werden dann die Fragmentverbände einem Decoder zugeführt. Wird der Code erkannt, ist das Verfahren beendet.
Ansonsten werden die ortsverschiedenen Fragmentverbände zunächst auf ein einheitliches Rastermaß normiert und die normierten Fragmentverbände werden als Bilddaten, symbolische Daten, Binärdaten oder als Erkennungswahrscheinlichkeiten der Code-Elemente in einem dritten Speicher des Bildverarbeitungsrechners zwischengespeichert.
Dann werden die Fragmentverbände auf der Basis von bekannten Bildverarbeitungsund Datenvergleichsverfahren zu Fragmentscharen kombiniert. Anschliessend werden die Fragmentscharen dem Decoder zugeführt. Wird der Code erkannt, ist das Verfahren beendet.
Ansonsten wird das Verfahren mit den oben beschriebenen Verfahrensschritten wiederholt, wobei ein digitales Bild mit gegenüber den vorherig bearbeiteten digitalen Bildern unterschiedlichen Beleuchtungs- oder Aufnahmeparametern verwendet wird. Die Fragmentscharen des ersten digitalen Bildes werden mit denen der weiteren digitalen Bildern kombiniert, indem die Fragmentscharen an identischen, überlappenden Codebereichen zusammengesetzt werden, worauf die zusammengesetzten Fragmentscharen dem Decoder zugeführt werden. Wird der Code erkannt, ist das Verfahren beendet.
Ansonsten werden den ermittelten Code-Elementen Wahrscheinlichkeiten zugeordnet, die aus den Kombinationen von Fragmentscharen aus dem vorigen Verfahrensschritt gewonnen werden und zwar derart, daß Code-Elemente, welche in unterschiedlichen Fragmentscharen mit dem gleichen Ergebnis bewertet wurden mit einer Erkennungswahrscheinlichkeit 1 belegt werden und Code-Elemente, welche in unterschiedlichen Fragmentscharen mit unterschiedlichen Ergebnissen bewertet wurden oder bei denen die Erkennungswahrscheinlichkeiten der Code-Elemente jeweils deutlich kleiner als 1 ,0 waren, werden für die weitere Decodierungsversuche variiert und die Inhalte aller als unsicher bestimmten Code-Elemente werden bis zur Erkennung des Codes permutiert und dem Decoder zugeführt. Wird der Code erkannt, ist das Verfahren beendet.
Ansonsten wird ein Fehlersignal von der Code-Lesevorrichtung zur weiteren Verwendung zur Verfügung gestellt.
Bei einem erfindunsgsgemässen Ausführungsbeispiel des Codes handelt es sich um einen zweidimensionalen Code. Das Substrat kann in einem Ausführungsbeispiel eine Solarzelle aus kristallinem Silizium mit aufgedruckten Leiterbahnen sein.
Bei einem anderen Ausführungsbeispiel des Codes handelt es sich um einen eindimensionalen Code. Das Substrat kann erneut eine Solarzelle aus kristallinem Silizium mit aufgedruckten Leiterbahnen sein. Ein erfind ungsgemässer Code weist eine lesbare Beschriftung in Form einer OCR- Schrift auf, wobei das Substrat eine Solarzelle aus kristallinem Silizium mit aufgedruckten Leiterbahnen sein kann. In einem erfindungsgemässen Verfahren kann das Substrat im Auswertebereich vor dem Aufbringen des Codes eine unregelmäßige oder fehlerbehaftete Struktur aufweisen und die aufgebrachten Code-Elemente dadurch hervorgerufen teilweise eine Beschädigung aufweisen. Mit dem erfindunsgemässen Verfahren sollen auch Auswertebereiche des Substrats in Produktionsschritten, die dem Aufbringen des Codes auf das Substrat folgen, teilweise abgedeckt oder beschädigt werden, trotzdem konkretisiert werden.
In einem anderen Ausführungsbeispiel ist der Code ein mittels eines Laserstrahls erzeugter Code, wobei das Substrat eine Solarzelle aus kristallinem Silizium mit aufgedruckten Leiterbahnen sein kann.
Das Substrat kann auch eine Dünnschicht-Solarzelle sein. Mit dem erfindungsgemässen Verfahren soll auch ein Code, der auf einem Substrat aufgebracht sein kann, das sich durch Alterungsprozesse in seiner Struktur verändert und diese Struktur den Code überlagert oder teilweise abdeckt, lesbar sein.
Das Substrat kann auch ein organisches Halbleitermaterial sein.
Ein erfindungsgemässes Programm soll derart gestaltet sein, dass wenn es auf einem Computer läuft oder in einem Computer geladen ist, den Computer veranlaßt, ein Verfahren gemäß der oben beschriebenen Art durchzuführen. Ausserdem soll ein Computerprogrammprodukt derart gestaltet sein, dass ein Programm, wie im vorigen Abschnitt beschrieben, gespeichert und abspielbar ist.

Claims

PATENTANSPRÜCHE
1. Verfahren zur Konkretisierung eines Substrats mit zumindest zweifach aufgebrachtem Code (1 , 2) durch eine Code-Lesevorrichtung, dadurch gekennzeichnet, dass die Codes (1 , 2) einander zugeordnet oder abgeglichen werden, geeignet zur Wiederherstellung eines intakten Codes (1 , 2) aus mindestens zwei für sich nicht intakten Codes (1 , 2).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die Codes (1 , 2) versetzt oder gedreht oder skaliert zueinander dem Substrat zugeordnet werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Code- Lesevorrichtung ein Bild eines Auswertebereichs erzeugt. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Bild oder Teile des Bilds in Form von Codefragmenten (3,
4, 5, 6) und/oder Fragmentverbänden (7,8) und/oder Fragmentscharen (9) einem Decoder zugeführt wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Daten als Bilddaten und/oder symbolische Daten dem Decoder zugeführt werden.
6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass der Decoder Teile des Bilds mit anderen Teilen des Bilds abgleicht, geeignet Informationen, welche sich auf dem einen Teil des Bilds als Codefragmente (3, 4, 5, 6) oder Fragmentverbände (7, 8) darstellen durch Informationen auf dem anderen Teil des Bild zu ersetzen, welche sich ebenfalls als Codefragemente (3, 4, 5, 6) oder Fragmentverbände (7,8) darstellen, um einen einzigen lesbaren Code zu erhalten.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass Fragmentscharen (9), entstanden aus Codefragmenten (3, 4, 5, 6) und/oder Fragmentverbänden (7,8), dem
Decoder zugeführt werden.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass zumindest ein weiteres Bild des Auswertebereichs mit unterschiedlichen Beleuchtungs- oder Aufnahmeparametern verwendet wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das Bild des Auswertebereichs mit dem weiteren Bild des Auswertebereichs abgeglichen wird, geeignet Informationen, welche sich auf dem Bild des Auswertebereichs als Codefragmente (3, 4, 5, 6) und/oder Fragmentverbände (7, 8) und/oder Fragmentscharen (9) darstellen durch Informationen auf dem weiteren Bild zu verknüpfen, welche sich ebenfalls als Codefragemente (3, 4, 5, 6) und/oder Fragmentverbände (7,8) und/oder Fragmentscharen darstellen, um einen einzigen lesbaren Code zu erhalten.
10. Verfahren nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, dass die Codefragemente oder die Fragmentverbände (7, 8) oder die Fragmentscharen (9) des einen Bilds die Codefragemente (3, 4, 5, 6) oder die Fragmentverbände (7, 8) oder die Fragmentscharen (9) des anderen Bildes zugeordnet oder abgeglichen werden, indem die Codefragemente (3, 4, 5, 6) oder die Fragmentverbände (7, 8) oder die Fragmentscharen (9) an identischen, überlappenden Codebereichen zusammengesetzt werden, worauf die zusammengesetzten Informationen dem Decoder zugeführt werden.
10. Vorrichtung zur Durchführung des Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass eine Code-Lesevorrichtung und ein Decoder umfasst.
11. Computerprogrammprodukt zur Anwendung des Verfahrens nach den Ansprüchen 1 bis 9 auf einer Vorrichtung nach Anspruch 10.
PCT/EP2011/001864 2010-04-14 2011-04-13 Verfahren zur konkretisierung eines substrates Ceased WO2011128089A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/641,079 US8881985B2 (en) 2010-04-14 2011-04-13 Method for the concretizing of a substrate
EP11723241.3A EP2558976B1 (de) 2010-04-14 2011-04-13 Verfahren zur konkretisierung eines substrates

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102010014937.3 2010-04-14
DE201010014937 DE102010014937B4 (de) 2010-04-14 2010-04-14 Verfahren zum Lesen eines Codes auf einem Substrat durch Zusammensetzen von Code-Fragmenten unter Verwendung eines bildgebenden Codelesers

Publications (1)

Publication Number Publication Date
WO2011128089A1 true WO2011128089A1 (de) 2011-10-20

Family

ID=44168545

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/001864 Ceased WO2011128089A1 (de) 2010-04-14 2011-04-13 Verfahren zur konkretisierung eines substrates

Country Status (4)

Country Link
US (1) US8881985B2 (de)
EP (1) EP2558976B1 (de)
DE (1) DE102010014937B4 (de)
WO (1) WO2011128089A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881985B2 (en) 2010-04-14 2014-11-11 Ioss Intelligente Optische Sensoren & Systeme Gmbh Method for the concretizing of a substrate
CN116700637A (zh) * 2023-05-17 2023-09-05 国能龙源催化剂江苏有限公司 催化剂产品二维码打印方法、装置和电子设备

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104932B2 (en) 2013-03-15 2015-08-11 Cognex Corporation Systems and methods for pattern stitching and decoding using multiple captured images
US9600703B2 (en) 2013-03-15 2017-03-21 Cognex Corporation Systems and methods for sorting image acquisition settings for pattern stitching and decoding using multiple captured images
EP3467700B1 (de) 2014-11-18 2022-05-04 Cognex Corporation Systeme und verfahren zur decodierung von zweidimensionalen matrixsymbolen
CN105138943B (zh) * 2015-09-02 2017-10-24 福建联迪商用设备有限公司 Qr码位置探测图形破损时的解码方法及系统
CN109447208A (zh) * 2018-08-31 2019-03-08 北京目瞳科技有限公司 一种3d码及3d码的识别方法
CN109558927A (zh) * 2018-12-26 2019-04-02 上海钦轩网络科技有限公司 一种艺术二维码生成方法和装置
EP3995987B1 (de) * 2020-11-04 2025-08-20 Leuze electronic GmbH + Co. KG Sensoranordnung
US11354526B1 (en) * 2021-03-08 2022-06-07 General Motors Llc System and method for locating and decoding unreadable data matrices
CN116314130B (zh) * 2021-12-09 2026-04-17 浙江晶科能源有限公司 太阳能电池及识别方法
CN116314431A (zh) * 2021-12-09 2023-06-23 浙江晶科能源有限公司 太阳能电池的制作方法及太阳能电池

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0582911A2 (de) 1992-08-10 1994-02-16 United Parcel Service Of America, Inc. Verfahren und Vorrichtung zur Erfassung und zur Dekodierung von Strichkoden
WO1996009597A1 (en) 1994-09-22 1996-03-28 United Parcel Service Of America, Inc. Method and apparatus for detecting and adaptively decoding bar code symbols in continuous images
DE19504912A1 (de) 1995-02-15 1996-08-22 Leuze Electronic Gmbh & Co Verfahren und Vorrichtung zum Erkennen von Barcode-Symbolen
EP1207490A2 (de) * 2000-11-20 2002-05-22 Hewlett Packard Company, a Delaware Corporation Doppelstrichkode-Lesesystem für ein Datenspeichersystem
US20020148899A1 (en) 1998-09-14 2002-10-17 Jonathan R. Brandt Correlation and stitching techniques in a bar code scanning system
DE69132985T2 (de) 1990-09-21 2002-10-17 Accu-Sort Systems, Inc. Leseeinrichtung, die fragmente eines kodes zu einem kompletten kode zusammenfügt
DE10123406A1 (de) 2001-05-15 2002-11-21 Sick Ag Verfahren zum Erfassen von zweidimensionalen Codes
DE10137093A1 (de) 2001-07-30 2003-02-13 Sick Ag Verfahren zum Erkennen eines Codes und Codeleser
DE69629514T2 (de) 1995-04-06 2004-02-26 Rolls-Royce Plc Verfahren zum Lesen eines Punkt-Matrix-Kodes auf einem Gegenstand
WO2004023209A1 (en) 2002-09-04 2004-03-18 Brooks Automation, Inc. Device and process for reading out identification information on reticles
EP1455298A1 (de) 2003-03-06 2004-09-08 SICK Auto Ident, Inc. Verfahren und Vorrichtung zum verbesserten Lesen von Barcodes
DE102004017504A1 (de) 2004-04-08 2005-10-27 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
WO2007099138A1 (de) 2006-02-28 2007-09-07 Q-Cells Ag Solarzellenmarkierverfahren und solarzelle
WO2008118419A1 (en) 2007-03-23 2008-10-02 Ltt, Ltd Method and apparatus for reading a printed indicia with a limited field of view sensor
US20090121027A1 (en) * 2007-11-13 2009-05-14 Cognex Corporation System and method for reading patterns using multiple image frames
DE60038636T2 (de) 2000-02-23 2009-06-04 Datalogic S.P.A., Lippo Di Calderara Di Reno Vorrichtung und Verfahren zum Lesen und Decodieren optischer Codes mit Ergebnisanzeige

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457308A (en) * 1993-09-14 1995-10-10 Symbol Technologies, Inc. Bar code scan stitching
US5553084A (en) * 1995-01-06 1996-09-03 Intermec Corporation Error correction enhancement for code one and other machine-readable symbologies
US6039252A (en) * 1995-12-14 2000-03-21 Intermec Corporation Bar code reading system for reconstructing irregularly damaged bar codes
US6572025B1 (en) * 2000-05-10 2003-06-03 Japan Gain The Summit Co., Ltd. Information code product, manufacturing device and method for manufacturing the same, information code reading device, authentication system, authentication terminal, authentication server, and authentication method
US7422153B2 (en) * 2005-11-30 2008-09-09 Symbol Technologies, Inc. Decoding with data from multiple scans
DE102010014937B4 (de) 2010-04-14 2013-10-17 Ioss Intelligente Optische Sensoren & Systeme Gmbh Verfahren zum Lesen eines Codes auf einem Substrat durch Zusammensetzen von Code-Fragmenten unter Verwendung eines bildgebenden Codelesers

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69132985T2 (de) 1990-09-21 2002-10-17 Accu-Sort Systems, Inc. Leseeinrichtung, die fragmente eines kodes zu einem kompletten kode zusammenfügt
EP0582911A2 (de) 1992-08-10 1994-02-16 United Parcel Service Of America, Inc. Verfahren und Vorrichtung zur Erfassung und zur Dekodierung von Strichkoden
WO1996009597A1 (en) 1994-09-22 1996-03-28 United Parcel Service Of America, Inc. Method and apparatus for detecting and adaptively decoding bar code symbols in continuous images
DE19504912A1 (de) 1995-02-15 1996-08-22 Leuze Electronic Gmbh & Co Verfahren und Vorrichtung zum Erkennen von Barcode-Symbolen
DE69629514T2 (de) 1995-04-06 2004-02-26 Rolls-Royce Plc Verfahren zum Lesen eines Punkt-Matrix-Kodes auf einem Gegenstand
US20020148899A1 (en) 1998-09-14 2002-10-17 Jonathan R. Brandt Correlation and stitching techniques in a bar code scanning system
DE60038636T2 (de) 2000-02-23 2009-06-04 Datalogic S.P.A., Lippo Di Calderara Di Reno Vorrichtung und Verfahren zum Lesen und Decodieren optischer Codes mit Ergebnisanzeige
EP1207490A2 (de) * 2000-11-20 2002-05-22 Hewlett Packard Company, a Delaware Corporation Doppelstrichkode-Lesesystem für ein Datenspeichersystem
DE10123406A1 (de) 2001-05-15 2002-11-21 Sick Ag Verfahren zum Erfassen von zweidimensionalen Codes
DE10137093A1 (de) 2001-07-30 2003-02-13 Sick Ag Verfahren zum Erkennen eines Codes und Codeleser
WO2004023209A1 (en) 2002-09-04 2004-03-18 Brooks Automation, Inc. Device and process for reading out identification information on reticles
EP1455298A1 (de) 2003-03-06 2004-09-08 SICK Auto Ident, Inc. Verfahren und Vorrichtung zum verbesserten Lesen von Barcodes
DE102004017504A1 (de) 2004-04-08 2005-10-27 Sick Ag Verfahren und Vorrichtung zum Lesen eines Strichcodes
WO2007099138A1 (de) 2006-02-28 2007-09-07 Q-Cells Ag Solarzellenmarkierverfahren und solarzelle
WO2008118419A1 (en) 2007-03-23 2008-10-02 Ltt, Ltd Method and apparatus for reading a printed indicia with a limited field of view sensor
US20090121027A1 (en) * 2007-11-13 2009-05-14 Cognex Corporation System and method for reading patterns using multiple image frames

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881985B2 (en) 2010-04-14 2014-11-11 Ioss Intelligente Optische Sensoren & Systeme Gmbh Method for the concretizing of a substrate
CN116700637A (zh) * 2023-05-17 2023-09-05 国能龙源催化剂江苏有限公司 催化剂产品二维码打印方法、装置和电子设备
CN116700637B (zh) * 2023-05-17 2024-04-19 国能龙源催化剂江苏有限公司 催化剂产品二维码打印方法、装置和电子设备

Also Published As

Publication number Publication date
EP2558976B1 (de) 2016-04-06
US20130134222A1 (en) 2013-05-30
DE102010014937B4 (de) 2013-10-17
DE102010014937A1 (de) 2011-10-20
EP2558976A1 (de) 2013-02-20
US8881985B2 (en) 2014-11-11

Similar Documents

Publication Publication Date Title
EP2558976B1 (de) Verfahren zur konkretisierung eines substrates
DE69603614T2 (de) System und verfahren zum lesen von paketinformation
DE69504069T2 (de) Verfahren und gerät zu dekodierung von zweidimensionalen zeichen im raumbereich
DE68925059T2 (de) Verfahren und Gerät zur polygonalen Datendekodierung
DE69131394T2 (de) Maschinenlesbares Zeichen mit Mehrfachauflösung
DE2417282C3 (de) Vorrichtung zum Lesen von Fingerabdrücken
EP1260933A2 (de) Verfahren zum Erfassen von zweidimensionalen Codes
DE102017001915B4 (de) Verfahren zum kennzeichenlosen Identifizieren mindestens eines Bauteils sowie zum Rückverfolgen von Bauteilen in einem Produktionsprozess
EP4320603A1 (de) Vorrichtung und verfahren für eine prüfung einer kennzeichnung eines produkts
CH708993B1 (de) Verfahren und Vorrichtung zum Identifizieren eines zweidimensionalen Punktcodes.
DE102011086469B4 (de) Prüfverfahren
DE102023115096B4 (de) Verfahren zur Prüfung von Tiefdruckzylindern und Tiefdruckplatten
CH708994B1 (de) Verfahren und Vorrichtung zum Identifizieren eines zweidimensionalen Punktcodes.
EP1288843B1 (de) Verfahren zur Erkennung eines Codes
EP1333402B1 (de) Redundanter zweidimensionaler Code und Decodierverfahren
DE112022005421T5 (de) Verfahren zur identifizierung einer zeichenorientierung und zur dekodierung von zeichen für maschinelle bildverarbeitungssysteme
CH710713B1 (de) Authentifizierungsverfahren unter Verwendung von Oberflächenpapiertextur.
EP2677492A1 (de) Codeleser und Verfahren zur Online-Verifikation eines Codes
EP4607404B1 (de) Lesen eines optischen codes
DE19507059B9 (de) Verfahren zur omnidirektionalen Erfassung von OCR-Klarschrift auf Etiketten oder ähnlichen Datenträgern durch zufallsgesteuerte Suche und Dekodierung mit einem neuronalen Netzwerk
DE102021131172A1 (de) System und Verfahren zum Lokalisieren und Decodieren unlesbarer Datenmatrizen
DE102016114745A1 (de) Systeme und Verfahren zur Sortierung von Bildaufnahmeeinstellungen zum Muster-Stitching und Decodieren mittels mehrerer aufgenommener Bilder
EP0731416B1 (de) Vorrichtung zur berührungslosen Erkennung
EP4557161B1 (de) Lesen von optischen codes
DE102019217980A1 (de) Verfahren und vorrichtung zum dekodieren von unter-aufgelösten symbolen

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11723241

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011723241

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13641079

Country of ref document: US