Jeder kennt maschinelles Lesen von Supermarktkassen und allgegenwärtigen Links in Form von QR-Codes. Doch auch in praktisch allen Bereichen der industriellen Fertigung gehören automatische Lesesysteme längst zum Standard.
Einsatzgebiete des maschinellen Lesens
Neben Buchstaben und Ziffern werden vor allem Strichcodes (Barcodes) und Matrixcodes gelesen sowie Symbole erkannt. Die folgenden Abbildungen zeigen dafür einige Beispiele.
Abbildung 1:
Links: Beispiel für einen Barcode mit zusätzlichen Ziffern. Oft ist ein Lesen mit teilweise verdeckten, beschädigten, verzerrten und unscharfen Codes erforderlich.
Mitte: Ein QR-Code und zwei weitere Beispiele für Matrix-Codes.
Rechts: Oft müssen Symbole erkannt werden, wobei auch Graustufen und Farbe eine Rolle spielen können.
Meist handelt es sich bei Codes, Zeichen und Symbolen um in der Produktion aufgebrachte Markierungen und Kennzeichnungen, etwa Seriennummern, Haltbarkeitsdaten, Typangaben, Gefahrenhinweise, Herkunftscodes etc.
Neben der Information für den Anwender oder Endverbraucher spielt dabei die Rückverfolgbarkeit (Tracability) von Produkten eine wesentliche Rolle. Dies ist in diversen industriellen Normen geregelt, u. A. ISO26262und EN 50128.
Während Codes eine hohe Redundanz aufweisen, so dass ein Lesen auch dann noch möglich ist, wenn bis zu einem Drittel des Codes verschmutzt ist oder gar fehlt, ist dies bei Schriftzeichen und Ziffern nicht unbedingt der Fall. Möchte man bei der optischen Zeichenerkennung (Optical Character Recognition, OCR) eine hohe Erkennungssicherheit erreichen, so empfiehlt sich die Verwendung von für maschinelles Lesen optimierten Zeichensätzen. Gut geeignet sind dafür OCR-A und B. Siehe Abbildung 2. Mittlerweile werden auch andere Zeichensätze verwendet, oft auch in unterschiedlicher Größe. Dabei sollte jedoch zumindest darauf geachtet werden, dass die Abstände zwischen den einzelnen Zeichen so groß sind, dass diese gut voneinander trennbar sind.
Abbildung 2: Die gut maschinenlesbaren Zeichensätze OCR-A und OCR-B.
Ein wichtiges Kriterium ist, wie die Zeichen auf dem Objekt aufgebracht werden. Am einfachsten ist eine kontrastreiche Darstellung von schwarzen Ziffern auf weißem Grund, beispielsweise durch aufgeklebte Label. Dies hat jedoch den Nachteil, dass Aufkleber sich lösen können. Man geht daher immer mehr zu, die Informationen direkt auf dem Objekt anzubringen (Direct Part Marking, DPM). Handelt es sich um eine Verpackung, können die Codes direkt auf dieser aufgebracht werden. Des geschieht entweder zusammen mit einem ohnehin vorhandenen Aufdruck oder nachträglich mittelseines Tintenstrahldruckers (Ink Jet). Bei Teilen aus Kunststoff oder Metall kommen ebenfalls Ink Jets infrage, besser eigen sich jedoch Lasermarkierer oder Nadelgravierer, da die Kennzeichnungen damit am dauerhaftesten mit dem Objekt verbunden sind. Allerdings ist bei gravierten Zeichen der Kontrast geringer, so dass der Lesevorgang aufwändiger ist. Da die Zeichen durch Tintenstrahldrucker aus einzelnen Punkten zusammengesetzt werden, kann das Lesen durch variierende Punktabstände und -Intensitäten sowie Verzerrungen erschwert werden. Abbildung 3 zeigt dafür ein Beispiel.
Abbildung 3: Beispiel für einen mittels Ink Jet erzeugten Aufdruck.
Codeleser für jede Anwendung
Der Schwierigkeitsgrad und damit auch die Auswahl des geeigneten Lesesystems richtet sich nach der Art des Codes, der Methode des Aufdrucks und den Umgebungsbedingungen. Abbildung vier zeigt dazu eine Auswahl von Geräten. Diese können direkt mit der Maschinensteuerung verbunden, sei es eine SPS oder ein Industrierechner. Als Schnittstellen dienen USB, RS232 oder Ethernet mit ProfiNet-Protokoll.
Am einfachsten sind kontrastreich auf einem ebenen Untergrund aufgebrachte Barcodes in einer kontrollierten Umgebung zu lesen, d. h. bei direkter Draufsicht, in Ruhe und ohne störendes Fremdlicht. Dafür genügt ein einfaches Lesesystem, das schon für einige Hundert Euro zu haben ist.
Für schwierigere Aufgaben, etwa das Lesen von DPMs, evtl. noch unter einem ungünstigen Blickwinkel, hinter einer Folie oder mit wechselnden Lichtbedingungen werden leistungsfähigere und flexiblere Systeme benötigt.
Oft müssen Codes auch an einem Handarbeitsplatz gelesen werden, so dass ein handgehaltener Codeleser erforderlich ist.
Abbildung 4:
Links: Der preisgünstige und baukleine Barcode-Leser DataMan 50.
Mitte: Der leistungsfähige und universell einsetzbare ID-Reader DataMan 470.
Rechts: Handlich und flexibel, der DataMan 850
Für noch komplexere Identifikationsaufgaben, die Mustererkennung, das Lesen beliebiger Schrifttypen und/oder Farbklassifikation erfordern, bieten sich Industrierechner an. Die zu lesenden Symbole und Zeichen können dann vorab anhand von typischen Mustern eingelernt werden.
In manchen Fällen ist auch die Verifikation von Codes nach ISO-Standards erforderlich, d. h. der objektive Nachweis, dass ein Code die spezifizierten Anforderungen erfüllt, insbesondere hinsichtlich der Lesbarkeit. Auch dafür bietet in-situ geeignete Hardware- und Software-Lösungen an.
Wenn es speziell wird
In manchen Situationen reichen Standard-Methoden zum robusten maschinellen Lesen nicht aus. Dies ist beispielsweise der Fall, wenn Codes und Zeichen als dreidimensionale Strukturen vorliegen. Abbildung 5 illustriert dies.
Abbildung 5:
Links: Dreidimensionale Zeichen in Grauguss. Ein Lesen mit Standard-Methoden ist hier nicht sicher möglich.
Rechts: Nach Aufnahme mit einem 3D-Sensor und Umwandlung des 3D-Bildes in eine grauwertcodierte Höhendarstellung ist das Lesen unproblematisch.
Schwierigkeiten bereiten auch Knitterfalten, perspektivische Verzerrungen und Spiegelungen (siehe Abbildung 6). Doch auch dafür und für weitere Problemfälle gibt es Lösungen, wenn man zum maschinellen Lesen noch maschinelles Lernen hinzunimmt.
Abbildung 6:
Links: Verknitterter, verzerrter und unscharfer QR-Code.
Rechts: Durch spiegelnde Reflexe gestörter Barcode.