Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR IDENTIFYING A PRODUCT, AND CAMERA SYSTEM
Document Type and Number:
WIPO Patent Application WO/2021/001117
Kind Code:
A1
Abstract:
A method for identifying a product (250) which has a code (210, 310) on an outer surface, said method comprising the following steps: capturing (110) at least one camera image (200, 300) of the outer surface (220) of the product (250) by means of a camera, said captured camera image (200, 300) comprising the code (210, 310); identifying (130) the code (210, 310) in the camera image (200, 300) on the basis of the captured camera image (200, 300) using a first trained machine identification method; determining (140) a position of the code (210, 310) in the camera image (200, 300) on the basis of the captured camera image (200, 300) and the identified code (210, 310); adjusting (180) at least one sub-region (201, 301) of the captured camera image (200, 300), which sub-region comprises the code (210, 310), on the basis of the determined position of the code (210, 310) and the captured camera image (200, 300) using a second trained machine identification method; and decoding (190) the determined code (210, 310) at least on the basis of the adjusted sub-region (201, 301) of the camera image (200, 300).

Inventors:
BAEUMLER ULRICH (DE)
SEIFFERT THOMAS (DE)
Application Number:
PCT/EP2020/065811
Publication Date:
January 07, 2021
Filing Date:
June 08, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06K9/32; G06K7/14
Other References:
DANIEL KOLD HANSEN ET AL: "Real-Time Barcode Detection and Classification using Deep Learning :", PROCEEDINGS OF THE 9TH INTERNATIONAL JOINT CONFERENCE ON COMPUTATIONAL INTELLIGENCE, 2017, pages 1 - 7, XP055721367, ISBN: 978-989-7582-74-5, DOI: 10.5220/0006508203210327
CHOU TZU-HAN ET AL: "QR code detection using convolutional neural networks", 2015 INTERNATIONAL CONFERENCE ON ADVANCED ROBOTICS AND INTELLIGENT SYSTEMS (ARIS), IEEE, 29 May 2015 (2015-05-29), pages 1 - 5, XP033176779, DOI: 10.1109/ARIS.2015.7158354
Download PDF:
Claims:
Ansprüche

1. Verfahren zur Identifikation eines Erzeugnisses (250), welches auf einer äußeren

Oberfläche einen Code (210, 310) aufweist, umfassend die folgenden Schritte

• Erfassung (110) wenigstens eines Kamerabildes (200, 300) von der äußeren Oberfläche (220) des Erzeugnisses (250) mittels einer Kamera, wobei das erfasste Kamerabild (200, 300) den Code (210, 310) umfasst,

• Erkennung (130) des Codes (210, 310) im Kamerabild (200, 300) in Abhängigkeit des erfassten Kamerabildes (200, 300) durch ein erstes angelerntes maschinelles Erkennungsverfahren,

• Ermittlung (140) einer Position des Codes (210, 310) im Kamerabild (200, 300) in Abhängigkeit des erfassten Kamerabildes (200, 300) und des erkannten Codes (210, 310),

• Anpassung (180) zumindest eines Teilbereichs (201, 301) des erfassten

Kamerabilds (200, 300), welcher den Code (210, 310) umfasst, in Abhängigkeit der ermittelten Position des Codes (210, 310) und des erfassten Kamerabildes (200, 300) durch ein zweites angelerntes maschinelles Erkennungsverfahren, und

• Dekodierung (190) des ermittelten Codes (210, 310) zumindest in Abhängigkeit des angepassten Teilbereichs (201, 301) des Kamerabilds (200, 300).

2. Verfahren nach Anspruch 1, wobei folgende Schritte durchgeführt werden

• Bestimmung (120) einer Art des Erzeugnisses (250) durch ein drittes angelerntes maschinelles Erkennungsverfahren, und

• Erkennung (130) des Codes (210, 310) im Kamerabild (200, 300) zusätzlich in Abhängigkeit der bestimmten Art des Erzeugnisses (250).

3. Verfahren nach einem der vorhergehenden Ansprüche, wobei nach der Ermittlung (140) der Position des Codes (210, 310) im Kamerabild (200, 300) folgender Schritt durchgeführt wird

• Reinigung (150) des Erzeugnisses (250) im Bereich des Codes (210, 310) durch Druckluft und/oder eine Flüssigkeit in Abhängigkeit der ermittelten Position des Codes (210, 310), wobei die Reinigung (150) insbesondere zusätzlich in Abhängigkeit einer ermittelten Lesbarkeit des Codes (210, 310) erfolgt. 4. Verfahren nach einem der vorhergehenden Ansprüche, wobei nach der Ermittlung (140) der Position des Codes (210, 310) im Kamerabild (200, 300) folgender Schritt durchgeführt wird

• Anpassung (160) einer Beleuchtung des Erzeugnisses (250) im Bereich des Codes (210, 310) in Abhängigkeit einer Lesbarkeit des Codes (210, 310), wobei die Anpassung (160) der Beleuchtung insbesondere zusätzlich in Abhängigkeit der erkannten Position des Codes (210, 310) erfolgt.

5. Verfahren nach einem der Ansprüche 3 oder 4, wobei nach der Reinigung (150) des Erzeugnisses (250) und/oder nach der Anpassung (160) der Beleuchtung des

Erzeugnisses (250) die bisherigen Verfahrensschritte wiederholt werden.

6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Dekodierung (190) des ermittelten Codes (210, 310) durch ein viertes angelerntes maschinelles

Erkennungsverfahren erfolgt.

7. Kamerasystem zur Identifikation eines Erzeugnisses, umfassend

• wenigstens eine Kamera, und

• eine Recheneinheit, wobei die Recheneinheit dazu eingerichtet ist, ein Verfahren nach einem der Ansprüche 1 bis 6 durchzuführen.

8. Kamerasystem nach Anspruch 7, wobei das Kamerasystem folgende Komponente aufweist

• wenigstens eine Düse, wobei die Düse dazu eingerichtet ist, einen Bereich des Erzeugnisses (250) mit einem Code (210, 310) mittels Druckluft und/oder einer Flüssigkeit zu reinigen.

9. Kamerasystem nach einem der Ansprüche 7 oder 8, wobei das Kamerasystem

folgende Komponente aufweist

• wenigstens eine Beleuchtungsvorrichtung, wobei die Beleuchtungsvorrichtung dazu eingerichtet ist, zumindest einen Bereich des Erzeugnisses (250) mit einem Code (210, 310) zu beleuchten.

Description:
Beschreibung

Verfahren zur Identifikation eines Erzeugnisses und Kamerasystem

Die vorliegende Erfindung betrifft ein Verfahren zur Identifikation eines Erzeugnisses, insbesondere innerhalb eines Fertigungsprozesses, und ein Kamerasystem mit einer Recheneinheit, welche dazu eingerichtet ist, dieses Verfahren durchzuführen.

Stand der Technik

Codes zur Identifizierung eines Erzeugnisses sind bekannt, beispielsweise ein Data Matrix- Code oder ein Strichcode beziehungsweise Barcode. Häufig enthalten die Codes eine Vielzahl an schwarzen Bereichen und weißen Bereichen, wobei die Anordnung der Bereiche wenigstens eine binäre Information kodiert. Schwarze und/oder weiße Bereiche eines Codes können statt mit einer Farbe alternativ beispielsweise mittels einer Lasergravur oder durch Prägung des Erzeugnisses hergestellt werden, so dass auf einer Erzeugnisoberfläche Ausnehmungen resultieren, welche eine Farbe schwarz oder weiß repräsentieren. Darüber hinaus ist eine

Grundstruktur eines Codes ein vorgegebener Teil eines Aufbaus des Codes. Im Falle eines quadratischen DataMatrix-Codes ist die Grundstruktur beispielsweise das Finder Pattern. Das Finder Pattern des DataMatrix-Code umfasst zwei schwarze jeweils durchgehende Begrenzungslinien und zwei jeweils unterbrochene beziehungsweise gepunktete Begrenzungslinien, wobei die durchgehenden und unterbrochenen Begrenzungslinien jeweils in einer L-Form angeordnet sind und gemeinsam einen äußeren Rahmen des DataMatrix-Codes bilden. Ein Datenbereich des DataMatrix- Codes im Inneren des Rahmens enthält die binäre Information in kodierter Form. Barcodelesegeräte und Verfahren zur Identifizierung eines Erzeugnisses in Abhängigkeit eines in einem Kamerabild erfassten Codes sind grundsätzlich bekannt. Ungünstige Lichtverhältnisse, wie beispielsweise Licht- Reflektionen am Erzeugnis oder ein Ausfall einer Lichtquelle oder eine Abschattung einer Lichtquelle, und/oder eine gegenüber einer Kamera ungünstige Position des Codes am Erzeugnis und/oder eine Verschmutzung des Erzeugnisses können eine Dekodierung eines Codes eines Erzeugnisses in Abhängigkeit eines Kamerabildes erschweren. Schwer zu

identifizierende Codes können innerhalb eines hochautomatisierten

Fertigungsprozesses mit kurzen Taktzeiten dazu führen, dass ein Erzeugnis nicht ausreichend schnell erkannt beziehungsweise identifiziert werden kann. Nicht korrekt oder langsam dekodierte Codes können in einem Fertigungsprozess eine Taktzeit erhöhen, wodurch der Nachteil resultiert, dass Fertigungskosten pro Erzeugnis steigen. Ferner können qualitativ gute, aber nicht korrekt identifizierte Erzeugnisse dazu führen, dass diese als Ausschuss deklariert werden, wodurch die Fertigungskosten steigen.

Die Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zur Identifikation eines Erzeugnisses zu verbessern, insbesondere für einen hochautomatisierten

Fertigungsprozess.

Offenbarung der Erfindung

Die vorstehende Aufgabe wird mit einem Verfahren gemäß des unabhängigen

Anspruchs 1 sowie mit einem Kamerasystem gemäß des unabhängigen

Anspruchs 7 gelöst.

Die vorliegende Erfindung betrifft ein Verfahren zur Identifikation eines Erzeugnisses, welches auf einer äußeren Oberfläche einen Code zur Identifizierung des

Erzeugnisses aufweist. Beispielsweise kodiert der Code eine Seriennummer des Erzeugnisses zur Nachverfolgung des Erzeugnisses. Das Erzeugnis kann

beispielsweise eine metallische und zumindest zum Teil polierte Welle für eine Pumpe mit einem Zahnrad sein, wobei ein DataMatrix-Code auf einer äußeren polierten Mantelfläche der Welle angeordnet ist, so dass der Code auf einer gekrümmten und stark spiegelnden Fläche angeordnet ist. Das Verfahren beginnt mit einer Erfassung wenigstens eines Kamerabildes von der äußeren Oberfläche des Erzeugnisses mittels einer Kamera, wobei das Kamerabild den Code umfasst. Anschließend wird ein Code im Kamerabild in Abhängigkeit des erfassten Kamerabildes durch ein erstes angelerntes maschinelles Erkennungsverfahren erkannt. Vorteilhafterweise ist das erste maschinelle Erkennungsverfahren ein erstes neuronales Netz, welches darauf trainiert ist, eine allgemeine Erscheinungsform des Codes zur erkennen und optional zusätzlich die Position des Codes zu ermitteln. Vorteilhafterweise wird durch die Erkennung des Codes im Kamerabild die Position des Codes ermittelt. Alternativ erfolgt in einem weiteren Schritt eine Ermittlung einer Position des Codes im

Kamerabild in Abhängigkeit des erfassten Kamerabildes und des erkannten Codes. Mit anderen Worten wird der Code im Kamerabild lokalisiert. Anschließend erfolgt eine Bildverbesserung eines Bereichs des Kamerabilds, welcher den Code abbildet, beziehungsweise eine Anpassung zumindest eines Teilbereichs des erfassten

Kamerabilds, welcher den Code umfasst, in Abhängigkeit der ermittelten Position des Codes und des erfassten Kamerabildes durch ein zweites angelerntes maschinelles Erkennungsverfahren. Das zweite angelernte maschinelle Erkennungsverfahren ist vorteilhafterweise ein zweites neuronales Netz. Die Anpassung des Teilbereichs des erfassten Kamerabilds, welcher den Code umfasst, basiert insbesondere auf einer vorgegebenen Grundstruktur des Codes. Vorzugsweise ist das zweite angelernte maschinelle Erkennungsverfahren dazu eingerichtet, zu erkennen, wie schwarz und weiß repräsentiert beziehungsweise dargestellt beziehungsweise definiert sind. Ferner kann das zweite angelernte maschinelle Erkennungsverfahren dazu eingerichtet sein, schwer lesbare Teilbereiche des Codes in Abhängigkeit von Trainingsdaten und/oder bereits erfassten Codes abzuschätzen. Es kann zum Beispiel vorgesehen sein, dass die Farbe schwarz durch ein Loch beziehungsweise eine Mulde beziehungsweise eine Ausnehmung auf einer Oberfläche des Erzeugnisses repräsentiert beziehungsweise definiert wird. Die schwarz und/oder weiß repräsentierenden Ausnehmungen können beispielsweise durch eine Lasergravur und/oder einen Prägeprozess gefertigt sein. Die Anpassung des Teilbereichs des erfassten Kamerabilds erfolgt insbesondere in Abhängigkeit dieser erkannten schwarz / weiß - Repräsentation. Zusätzlich kann möglicherweise ein Teilbereich des Codes, beispielsweise wegen starken

Lichtreflektionen beziehungsweise Spiegelungen, nicht differenzierbar erfasst werden. Dieser Teilbereich wird bevorzugt basierend auf Trainingsdaten und/oder bereits erfassten Codes abgeschätzt beziehungsweise ermittelt. Mit anderen Worten wird bei der Anpassung des Teilbereichs des erfassten Kamerabilds ein schwarz / weiß - Codebild beziehungsweise ein synthetisches Codebild durch das zweite angelernte maschinelle Erken nungsverfahren in Abhängigkeit des erfassten Kamerabildes und der erkannten Position des Codes ermittelt beziehungsweise erzeugt beziehungsweise generiert. Danach erfolgt eine Dekodierung des ermittelten Codes in Abhängigkeit des angepassten Kamerabilds beziehungsweise in Abhängigkeit des erzeugten schwarz / weiß- Codebildes. Der Schritt der Dekodierung erfolgt insbesondere durch bekannte Dekodierungsverfahren. Die Bildaufbereitung des erfassten Kamerabildes durch die Anpassung des Teilbereichs des erfassten Kamerabilds beziehungsweise die

Erzeugung des synthetischen Codebildes resultiert vorteilhafterweise in einer schnelleren und zuverlässigeren Dekodierung des Codes. Das Verfahren erlaubt ferner vorteilhafterweise eine zuverlässige Dekodierung unter schwierigen Lichtverhältnissen und/oder bei relativ starker Verschmutzung des Erzeugnisses. Dadurch können Erzeugnisse schnell und zuverlässig identifiziert werden, so dass beispielsweise in hochautomatisierten Fertigungsprozessen die Fertigungskosten gesenkt werden können.

In einer Weiterführung erfolgt nach der Erfassung des Kamerabildes zunächst eine Bestimmung einer Art des Erzeugnisses durch ein drittes angelerntes maschinelles Erkennungsverfahren. Anschließend wird die Erkennung der Position des Codes im Kamerabild zusätzlich in Abhängigkeit der bestimmten Art des Erzeugnisses durchgeführt. Dadurch resultiert der Vorteil, dass die Position des Codes schneller erkannt werden kann. Außerdem kann das Verfahren in dieser Weiterführung für eine Vielzahl an Erzeugnissen flexibel eingesetzt werden.

In einer Ausgestaltung erfolgt nach der Ermittlung der Position des Codes im

Kamerabild eine Reinigung des Erzeugnisses im Bereich des angeordneten Codes durch Druckluft und/oder eine Flüssigkeit in Abhängigkeit der ermittelten Position des Codes. Die Flüssigkeit kann ein Reinigungsmittel und/oder ein Kontrastmittel und/oder ein Farbstoff sein, wobei die Flüssigkeit beispielsweise dazu eingerichtet ist, eine Verschmutzung zu beseitigen und/oder bei Bedeckung des Codes Lichtreflektionen am Code zu minimieren. Die Reinigung wird bevorzugt mittels einer Düse an einem schwenkbaren Rotorarm durchgeführt. Die Reinigung wird insbesondere zusätzlich in Abhängigkeit einer Lesbarkeit des Codes durchgeführt. Die Lesbarkeit des Codes wird optional in Abhängigkeit einer nach der Ermittlung der Position des Codes

durchgeführten weiteren Dekodierung des Codes ermittelt. Kann der Code durch diese weitere Dekodierung dekodiert werden, so kann wird Verfahren abgebrochen. Durch die Reinigung des Erzeugnisses im Bereich des Codes steigt die Dekodierbarkeit des Codes für schwer oder nicht lesbare Codes zuverlässiger und schneller. In einer anderen Ausgestaltung erfolgt nach der Ermittlung der Position des Codes eine Anpassung einer Beleuchtung des Erzeugnisses im Bereich des Codes in Abhängigkeit einer Lesbarkeit des Codes. Die Lesbarkeit des Codes wird optional in Abhängigkeit einer nach der Ermittlung der Position des Codes durchgeführten weiteren Dekodierung des Codes ermittelt. Kann der Code durch diese weitere Dekodierung dekodiert werden, so wird das Verfahren abgebrochen. Die Anpassung der Beleuchtung wird insbesondere zusätzlich in Abhängigkeit der erkannten Position des Codes durchgeführt. Die Anpassung der Beleuchtung wird bevorzugt mittels einer Beleuchtungsvorrichtung durchgeführt, welche insbesondere an einem schwenkbaren Roboterarm angeordnet ist. Vorteilhafterweise umfasst die Beleuchtungseinrichtung mehrere Lichtquellen, welche in unterschiedliche Richtungen ausgerichtet sind. Es kann vorteilhafterweise vorgesehen sein, dass die Anpassung der Beleuchtung durch Auswahl eines Lichtwellenlängenbereichs mittels unterschiedlicher Lichtquellen erfolgt, insbesondere einer UV-Lampe, einer IR-Lampe und/oder einer Lichtquelle mit einem optischen Filter. Durch die Anpassung der Beleuchtung kann das Kontrastverhältnis im Kamerabild für den Bereich des Codes verbessert werden, so dass die Dekodierung des Codes zuverlässiger und schneller wird.

In einer weiteren Ausgestaltung werden nach der Reinigung des Erzeugnisses und/oder nach der Anpassung der Beleuchtung des Erzeugnisses die bisherigen Verfahrensschritte wiederholt. Durch diese Ausgestaltung resultiert der Vorteil, dass das Kamerabild unter verbesserten Bedingungen zum Dekodieren des Codes neu erfasst wird.

In einer besonders bevorzugten Ausgestaltung erfolgt die Dekodierung des ermittelten Codes durch ein viertes angelerntes maschinelles Erkennungsverfahren. Durch diese Ausgestaltung wird Rechenzeit zur Dekodierung komplexerer Codes eingespart, da das vierte angelernte maschinelles Erkennungsverfahren alle kodierten Informationen zu den Codes durch Training bereits kennt, so dass der Code beziehungsweise die Information, insbesondere unmittelbar, erkannt wird. Es kann vorgesehen sein, dass in dieser besonders bevorzugten Ausgestaltung die Dekodierung zusätzlich in

Abhängigkeit bereits durchgeführter Dekodierungen und/oder von speziellen

Trainingsdaten zu dem aktuellen Code erfolgt. Dadurch resultiert zusätzlich der Vorteil, dass Codes nicht vollständig lesbar sein müssen, da fehlende Teile durch das vierte angelernte maschinelles Erkennungsverfahren abgeschätzt werden. Die Erfindung betrifft auch ein Kamerasystem zur Identifikation eines Erzeugnisses. Das Kamerasystem umfasst wenigstens eine Kamera und eine Recheneinheit, wobei die Recheneinheit dazu eingerichtet ist, ein erfindungsgemäßes Verfahren zur Identifikation eines Erzeugnisses durchzuführen. Das Kamerasystem weist demnach die oben offenbarten Vorteile eines erfindungsgemäßen Verfahrens auf.

In einer Ausführung weist das Kamerasystem wenigstens eine Düse auf, wobei die Düse dazu eingerichtet ist, einen Bereich des Erzeugnisses mit einem Code mittels Druckluft und/oder einer Flüssigkeit zu reinigen. Die Düse kann optional

vorteilhafterweise an einem Roboterarm angeordnet und schwenkbar sein. Diese Ausführung erlaubt eine schnelle Reinigung des Bereichs der äußeren Oberfläche des Erzeugnisses, welcher den Code umfasst.

In einer anderen Ausführung weist das Kamerasystem wenigstens eine

Beleuchtungsvorrichtung auf, wobei die Beleuchtungsvorrichtung dazu eingerichtet ist, zumindest einen Bereich des Erzeugnisses mit einem Code zu beleuchten. Die Beleuchtungsvorrichtung kann optional vorteilhafterweise an einem Roboterarm angeordnet und schwenkbar sein. Diese andere Ausführung erlaubt eine schnelle Beleuchtung des Bereichs der äußeren Oberfläche des Erzeugnisses, welcher den Code umfasst, so dass der Code vorteilhafterweise besser beziehungsweise zuverlässiger und schneller dekodiert werden kann.

Weitere Vorteile ergeben sich aus der nachfolgenden Beschreibung von

Ausführungsbeispielen mit Bezug zu den Figuren.

Figur 1: Verfahren zur Identifikation eines Erzeugnisses

Figur 2: Kamerabild von Welle mit Data Matrix- Code an gekrümmter Oberfläche

Figur 3a: Kamerabild von Erzeugnis mit schwer lesbarem DataMatrix-Code

Figur 3b: Teilbereich des Kamerabildes mit schwer lesbarem DataMatrix-Code

Figur 3c: synthetisches Codebild bzw. angepasster Teilbereich des Kamerabildes Ausführungsbeispiele

In Figur 1 ist ein Verfahren zur Identifikation eines Erzeugnisses offenbart. Das Verfahren umfasst eine Erfassung 110 wenigstens eines Kamerabildes von einer äußeren Oberfläche des Erzeugnisses mittels einer Kamera. Das erfasste Kamerabild umfasst den Code, wobei der Code insbesondere schwer lesbar ist, beispielsweise ist der Code verschmutzt und/oder der Code ist zumindest zum Teil abgeschattet oder überbelichtet und/oder Lichtreflektionen stören die Lesbarkeit des Codes mittels des Kamerabilds. Es kann vorgesehen sein, dass während der Erfassung 110 des Kamerabildes die Kamera und/oder das Erzeugnis bewegt werden. Es kann ferner vorgesehen sein, während der Erfassung 110 des Kamerabildes eine Reinigung des Erzeugnisses mittels Druckluft und/oder einer Flüssigkeit erfolgt. Im optionalen Schritt 120 wird eine Art des Erzeugnisses durch ein drittes angelerntes maschinelles Erkennungsverfahren bestimmt. Im Schritt 130 wird der Code im Kamerabild in Abhängigkeit des erfassten Kamerabildes durch ein erstes angelerntes maschinelles Erkennungsverfahren, insbesondere ein erstes neuronales Netz, erkannt. Das erste angelernte maschinelle Erkennungsverfahren beziehungsweise das erste neuronale Netz ist insbesondere darauf trainiert, eine allgemeine Erscheinungsform des Codes als Objekt im Bild zu erkennen. Optional erfolgt die Erkennung 130 zusätzlich in Abhängigkeit der bestimmten Art des Erzeugnisses. Dadurch wird die Erkennung des Codes für unterschiedliche Erzeugnisse und/oder für unterschiedliche Ausrichtungen des Erzeugnisses vor der Kamera zuverlässiger. Im Schritt 140 wird eine Position des Codes im Kamerabild in Abhängigkeit des erfassten Kamerabildes und des erkannten Codes ermittelt. In einem optionalen Schritt 150 wird eine Lesbarkeit des Codes in Abhängigkeit eines Dekodierungsverfahrens ermittelt. Falls der Code im optionalen Schritt 150 dekodiert wird, kann das Verfahren abgebrochen werden. In einem optionalen Schritt 160 wird eine Reinigung des Erzeugnisses im Bereich des Codes durch Druckluft und/oder eine Flüssigkeit in Abhängigkeit der ermittelten Position des Codes durchgeführt. Optional erfolgt die Reinigung 160 zusätzlich in Abhängigkeit einer ermittelten Lesbarkeit des Codes. Ferner kann eine optionale Anpassung 170 einer Beleuchtung des Erzeugnisses im Bereich des Codes in Abhängigkeit der ermittelten Lesbarkeit des Codes durchgeführt werden. Die Anpassung 170 der Beleuchtung erfolgt insbesondere zusätzlich in Abhängigkeit der erkannten Position des Codes. Nach der optionalen Reinigung 160 des Erzeugnisses und/oder nach der optionalen Anpassung 170 der Beleuchtung des Erzeugnisses kann es

vorteilhafterweise vorgesehen sein, die bisherigen Verfahrensschritte zu wiederholen. Im Schritt 180 wird zumindest ein Teilbereich des erfassten Kamerabilds, welcher den Code umfasst, in Abhängigkeit der ermittelten Position des Codes und des erfassten Kamerabildes durch ein zweites angelerntes maschinelles Erkennungsverfahren angepasst. Mit anderen Worten wird im Schritt 180 ein synthetisches Codebild in Abhängigkeit der ermittelten Position des Codes und des erfassten Kamerabildes durch ein zweites angelerntes maschinelles Erkennungsverfahren erzeugt. Die

Anpassung 180 des Teilbereichs des erfassten Kamerabilds, welcher den Code umfasst, erfolgt optional zusätzlich in Abhängigkeit einer im Code enthaltenen

Fehlerkorrekturfunktion. Es kann optional ferner vorgesehen sein, dass die Anpassung 180 des Teilbereichs des erfassten Kamerabilds zusätzlich in Abhängigkeit einer Abbildungsfunktion beziehungsweise durch eine Bildtransformation mittels einer vorgegebenen Look-up Tabelle entzerrt wird, wobei die Entzerrung des Kamerabildes insbesondere in Abhängigkeit einer Ausrichtung des Erzeugnisses im Kamerabild erfolgt. Durch die Erzeugung des synthetischen Codebilds mittels des zweiten angelernten maschinelles Erkennungsverfahren werden insbesondere schlecht beziehungsweise schwer lesbare Bereiche des Codes ermittelt, so dass das erzeugte Codebild dekodiert werden kann. Durch die Anpassung des Teilbereichs des erfassten Kamerabildes mittels einer Abbildungsfunktion resultiert der Vorteil, dass

beispielsweise ein auf gekrümmten Oberflächen aufgebrachter Code besser lesbar beziehungsweise dekodierbar ist. Anschließend erfolgt eine Dekodierung 190 des ermittelten Codes in Abhängigkeit des angepassten Kamerabilds beziehungsweise des synthetischen Codebildes. Die Dekodierung 190 des ermittelten Codes kann durch ein viertes angelerntes maschinelles Erkennungsverfahren erfolgen, welches

insbesondere alle möglichen Codes kennt. Dadurch erfolgt die Dekodierung 190 sehr schnell.

In Figur 2 ist ein Kamerabild 200 von einer Welle 250 dargestellt, welche einen

Data Matrix- Code 210 an einer gekrümmten äußeren Oberfläche 220 aufweist. Der Teilbereich 201 des Kamerabilds 200 mit dem DataMatrix-Code 210 weist starke Lichtreflektionen auf, weshalb der DataMatrix-Code 210 in diesem Ausführungsbeispiel schwer lesbar ist. Mit anderen Worten kann der DataMatrix-Code 210 in diesem Ausführungsbeispiel mit üblichen Dekodierungsverfahren und ohne den Schritt 180, in welchem der Teilbereich 201 des Kamerabildes 200 angepasst wird, nicht korrekt oder zuverlässig dekodiert werden, da beispielsweise schwarz- und weiß- Farbwerte varrieren und durch die gekrümmte Oberfläche zusätzlich eine Verzerrung des

Data Matrix- Codes 210 vorliegt. In Figur 3a ist ein Kamerabild 300 von einem Erzeugnis mit schwer lesbarem

Data Matrix- Code 310 dargestellt. Durch den Schritt 130 und den anschlieenden Schritt 140 wird der DataMatrix-Code 310 im Kamerabild lokalisiert beziehungsweise die Position des Codes 310 im Kamerabild 300 ermittelt. In Figur 3b ist aus Figur 3a ein Teilbereich 301 des Kamerabildes 300 mit dem schwer lesbarem DataMatrix-Code 310 dargestellt. Der Teilbereich 301 des Kamerabildes 300 ist mit anderen Worten ein Ausschnitt des Kamerabildes 300. In Figur 3c ist im Vergleich zu Figur 3b ein durch den Schritt 180 angepasster Teilbereich 301 beziehungsweise ein erzeugtes synthetisches Codebild 320 im Teilbereich 301 dargestellt. Dieses synthetisch erzeugte Codebild 320 ist leicht beziehungsweise schnell und zuverlässig im Schritt 190 dekodierbar.