DE69814105T2 - Verfahren zur automatischen Regulierung der Eigenschaften eines optischen Codelesesystems - Google Patents

Verfahren zur automatischen Regulierung der Eigenschaften eines optischen Codelesesystems Download PDF

Info

Publication number
DE69814105T2
DE69814105T2 DE69814105T DE69814105T DE69814105T2 DE 69814105 T2 DE69814105 T2 DE 69814105T2 DE 69814105 T DE69814105 T DE 69814105T DE 69814105 T DE69814105 T DE 69814105T DE 69814105 T2 DE69814105 T2 DE 69814105T2
Authority
DE
Germany
Prior art keywords
value
feature
image
controlled parameter
parameter
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.)
Expired - Lifetime
Application number
DE69814105T
Other languages
English (en)
Other versions
DE69814105D1 (de
Inventor
Claudio Saporetti
Stefano Amorosi
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.)
Datalogic SpA
Original Assignee
Datalogic SpA
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 Datalogic SpA filed Critical Datalogic SpA
Application granted granted Critical
Publication of DE69814105D1 publication Critical patent/DE69814105D1/de
Publication of DE69814105T2 publication Critical patent/DE69814105T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10851Circuits for pulse shaping, amplifying, eliminating noise signals, checking the function of the sensing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum automatischen Regeln der Charakteristika eines optischen Codelesesystems.
  • Der Ausdruck „optischer Code" wird im folgenden verwendet, um jegliche graphische Darstellung zu bezeichnen, die zum Speichern codierter Daten dient. Ein spezielles Beispiel eines optischen Codes umfaßt lineare oder zweidimensionale Codes, wobei die Daten mit passenden Kombinationen von Elementen mit einer vorbestimmten Form codiert werden, beispielsweise Quadrate, Rechtecke oder Sechsecke, die eine dunkle Farbe (üblicherweise Schwarz) aufweisen, und von hellen Elementen (Leerräume, üblicherweise Weiß) getrennt werden, beispielsweise Strichcodes, Balkencodes (einschließlich PDF417), Maxicode, Datamatrix, QR-Code, Farbencodes, usw. Der Ausdruck „optischer Code" umfaßt ferner in seiner allgemeineren Bedeutung andere graphische Formen mit dem Ziel, Information zu codieren, einschließlich nichtcodierter Schriftzeichen (Buchstaben, Zahlen, usw.) und spezieller Muster (beispielsweise Briefmarken, Logos, Signaturen, etc.). Information kann auch in mehr als zwei Farben, beispielsweise in Grautönen, codiert sein.
  • Die optischen Codes können gelesen werden, indem zweidimensionale Bilder in demjenigen Bereich ermittelt werden, in welchem der Code zu erwarten ist, und der Code innerhalb des Bildes lokalisiert wird. Im allgemeinen ist mit der Lokalisierung des Codes eine Folge von Schritten verknüpft, um anfänglich in dem vorab gespeicherten Bild den oder die Bereiche zu unterscheiden, in denen zumindest ein Code vorliegt; daraufhin folgt das Lokalisieren spezieller Wiedererkennungsmuster, die für jeden Code typisch sind; das Ermitteln von Daten, die den aktuellen Codetyp betreffen; und schließlich das genaue Abgrenzen des Codes. Daraufhin wird das abgegrenzte Bild des Codes verarbeitet, um die Merkmale zu extrahieren, die zum Decodieren notwendig sind, und schließlich wird der Code decodiert, um die benötigten Daten zu extrahieren. Insbesondere kann das Decodieren erfolgreich abschlossen werden, wenn die Daten extrahiert sind und als fehlerfrei erkannt wurden, oder es kann negativ abgeschlossen werden, wenn es dem verarbeitenden System nicht gelingt, jegliche Daten zu extrahieren, oder wenn die Wahrscheinlichkeit unzureichend ist, daß die extrahierten Daten fehlerfrei sind, oder wenn die extrahierten Daten nicht den benötigten Daten entsprechen.
  • Die Wahrscheinlichkeit des erfolgreichen Lesens hängt von einer Vielzahl von Faktoren ab, von denen einige außerhalb des Lesesystems liegen (beispielsweise die Qualität des zu lesenden optischen Codes), während sich andere aus den optoelektrischen/mechanischen Parametern des Lesesystems ergeben. Tatsächlich hat jedes Lesesystem, wie jedes andere physikalische System, veränderliche Merkmale, die von dem individuellen Erzeugnis, von dem Typ der Installation und von der Zeit abhängen. Insbesondere hängen die Merkmale des Lesesystems von individuellen Komponenten ab, die Merkmale aufweisen, welche innerhalb einer spezifischen Toleranz (Streuung) veränderlich sind. Ferner können die Merkmale vieler Komponenten zusammen mit deren externen Bedingungen veränderlich sein (zum Beispiel die Temperatur) und sind der Alterung unterworfen.
  • Zur Beseitigung dieser Probleme sind Verfahren zur Kalibrierung bekannt, die sowohl während der Produktion als auch der Installation verwendet werden; ferner sind Verfahren zum Regeln bekannt, die automatisch oder von einem Bediener gesteuert werden und während des Betriebs des betreffenden Systems angewendet werden.
  • In einem optischen Codelesesystem für Objekte, die sich in ununterbrochener Bewegung befinden, ist es insbesondere schwierig, diese Merkmale einzustellen, weil es nicht möglich ist, die Erfassung auf ein Referenzbild zu richten, und weil die Merkmale der zu erfassenden Bilder sich sehr schnell ändern.
  • Zum besseren Verständnis der bestehenden Probleme wird auf 1 Bezug genommen, die ein typisches optisches Codelesesystem zeigt, das allgemein mit 1 angegeben ist, welches ein Förderband 2 umfaßt, auf dem ein Objekt 3 liegt, das einen optischen Code 4, in diesem Fall einen Barcode, trägt. Dem Förderband 2 ist ein optischer Codie rer 5 zum Messen der Geschwindigkeit des Objekts 3 zugeordnet; zusätzlich sind an einer Seite des Förderbandes 2 ein Anwesenheitssensor 6 und ein Höhensensor 7 vorgesehen. Über dem Förderband 2 ist eine Bilderfassungseinheit angeordnet, die einen empfindlichen Bereich 11 aufweist und ein Beleuchtungselement 12 trägt; wobei die Bilderfassungseinheit 10 ferner mit einer Verarbeitungseinheit 13 verbunden ist, die hier durch einen Personalcomputer dargestellt ist, der wahlweise auch in die Bilderfassungseinheit 10 integriert sein kann.
  • Für den korrekten Betrieb eines Systems des Typs, der in 1 gezeigt ist, ist es wesentlich, daß die Einstellungen vieler Parameter der Bilderfassungseinheit 10, des Beleuchtungselements 12 und der Verarbeitungseinheit 13 korrekt sind. Insbesondere umfassen wesentliche Merkmale eines optischen Codelesesystems die Bildfokussierung und die Helligkeit; weitere wichtige Merkmale sind die sichtbaren Abmessungen des zu lesenden Objektes und feststehende Verformungen des optischen Codes, die durch das Drucken und/oder perspektivische Phänomene verursacht werden. Diese Merkmale können direkt oder durch Messen einiger physikalischer Größen ermittelt werden. Beispielsweise kann die Bildfokussierung ermittelt werden, indem Energie eines analogen oder digitalen Signals gemessen wird, das von der Bilderfassungseinheit 10 zur Verfügung gestellt wird, da unscharfe Bilder bekanntermaßen, geringe Helligkeitsgradienten und daher eine geringe Energie aufweisen.
  • Die Merkmale des Lesesystems und daher auch die entsprechenden Meßwerte hängen von den Werten einer Vielzahl von Parametern des Lesesystems ab; beispielsweise sind unter den Parametern, die geregelt werden können, die Folgenden wichtig: die Position der automatischen Fokussiereinheit; die Empfindlichkeit der Bilderfassungseinheit 10 (d. h. der Vergrößerungsfaktor (gain) der Schaltkreise in der Einheit 10, welche die innerhalb des empfindlichen Bereichs 11 erzeugten elektrischen Signale erfassen und eine anfängliche Verarbeitung durchführen); die Leistung, die von der Beleuchtungseinheit 11 abgestrahlt wird (d. h. die an dem Beleuchtungselement 12 anliegende Versorgungsspannung); die Abtastgeschwindigkeit des zu untersuchenden Objektes (von außerhalb eingestellt, allerdings abhängig von der Bewegungsgeschwindigkeit des Transportbandes 2); und Schwellwerte, die in dem Decodierungsprozeß notwendig sind, um beispielsweise zu entscheiden, ob ein spezielles Spannungsniveau einem „Weiß" oder einem „Schwarz" entspricht. Zusätzlich hängt der optimale Wert einiger dieser Parameter (beispielsweise die Position der automatischen Fokussiereinheit, die abgestrahlte Leistung und die Empfindlichkeit der Videokamera) von der Höhe des Objektes bezüglich der Bilderfassungseinheit 10 ab.
  • In einem Lesesystem, in dem die sequentiell erfaßten Bilder gering voneinander abweichen (beispielsweise bei Videobildaufnahmen), wurde das Problem der Optimierung dieser Parameter bereits auf verschiedenen Wegen gelöst. Beispielsweise haben alle kommerziell erhältlichen Videokameras eine automatische Verstärkungssteuerung, welche es diesen erlaubt, sich an verschiedene Belichtungsbedingungen anzupassen: die Analyse des letzten erfaßten Bildes erlaubt es der Videokamera, ihre Empfindlichkeit für die Erfassung der folgenden Bilder zu adaptieren, von denen angenommen wird, daß diese nicht wesentlich von dem vorliegenden Bild abweichen. In gleicher Weise haben alle modernen kommerziell erhältlichen Videokameras eine automatische Fokussiereinheit, welche die letzten erfaßten Bilder analysiert (beispielsweise anhand der Farbkonvergenz).
  • In der Praxis werden Rückkopplungsmechanismen verwendet, um die bestmögliche Bildqualität schnell zu erhalten.
  • Jedoch wirken die oben genannten Rückkopplungsmechanismen nicht, wenn die Veränderungsgeschwindigkeit der Bildmerkmale im Vergleich zu der Erfassungsgeschwindigkeit schnell wird, das heißt, wenn sich die sequentiell erfaßten Bilder vollständig voneinander unterscheiden. In diesen Fällen ist es notwendig, die Merkmale des nächsten vor der Videokamera erscheinenden Bildes vorauszusagen und alle Erfassungsparameter a priori zu optimieren.
  • Die Verwendung zusätzlicher Sensoren, die beispielsweise Daten vorab bereitstellen, die sich auf den Abstand zwischen dem Objekt und der Videokamera oder dessen durchschnittlichen Helligkeitswert beziehen, kann die Vorhersagemöglichkeiten verbessern; allerdings ist dies oft nicht ausreichend.
  • Beispielsweise kann die Beleuchtungsveränderung, die durch die Lampenalterung hervorgerufen wird, nicht gemessen werden (und daher nicht kompensiert werden), indem einfach der durchschnittliche Helligkeitswert ausgewertet wird, der für die zu erfassen den Objekte gemessen wird: eine übermäßige lange Sequenz dunkler Objekte könnte die Annahme hervorrufen, daß die Beleuchtungseinheit plötzlich gealtert ist.
  • In gleicher Weise könnte die optimale Fokussierungsposition aufgrund von Fluktuationen der elektromechanischen Merkmale, der automatischen Fokussier/Positioniereinheit oder der Abstandssensoren über die Zeit veränderlich sein.
  • Die Druckschrift US-A-5,569,901 offenbart ein Verfahren und eine Vorrichtung zum adaptiven Erzeugen eines Lichtstrahlmusters und anderer Parameter gemäß eines oder mehrerer Rückkopplungssignale. Das System kann in einem Lernmodus, in einem adaptierten Modus und in einem Echtzeit adaptierenden Modus betrieben werden. Während des Lernmodus erzeugt das System eine Vielzahl von Abtastungen eines Symbols, wobei eine Vielzahl von Einstellungen von Betriebsparametern verwendet werden. Bei jeder Abtastung werden lesbaren Daten gesammelt und analysiert, um auszuwerten, ob der Parametersatz akzeptabel ist. Der nicht akzeptable Parametersatz wird verworfen. Ein optimaler Parametersatz wird daraufhin unter den akzeptablen Sätzen ausgewählt und gespeichert, und der Lernmodus wird beendet. In dem adaptieren Modus wird das System gemäß dem Parametersatz betrieben, der im Lernmodus erhalten wurde. Dieser Betriebsmodus wird verlassen, wenn das Decodieren von Symbolen wegen Veränderungen in der Umgebung fehlschlägt. Während des in Echtzeit adaptieren Modus versucht das Abtastsystem kontinuierlich, die Betriebsparameter des Abtastsystems zu justieren, um die Symbollesbarkeit zu maximieren, wobei Fuzzy Logic verwendet wird, und das System tastet sukzessiv ab und versucht einige Male versucht, ein Symbol zu decodieren. Wenn die Erfolgsrate unter einem voreingestellten Schwellwert liegt, wird das Lichtstrahlmuster modifiziert, wohingegen das System anzeigt, daß erfolgreich decodiert wurde, wenn die Erfolgsrate über einem voreingestellten Schwellenwert liegt.
  • Die Druckschrift US 5,396,053 offenbart ein Verfahren zur automatischen Justierung von Parametern eines Strichcodescanners des Lichtstrahltyps, basierend auf einem Steuersignal, das mit der Lesbarkeit des Codes verknüpft ist. In einem Lesemodus werden die Daten ausgegeben, wenn das Signal einer Abtastung einen zulässigen Strichcode decodiert, und falls nicht, wird ein Justiermodus aufgenommen. In dem Justiermodus, der auch während der Herstellung des Scanners verwendet wird, werden die abgetasteten Daten analysiert und die Parameter werden justiert, wenn das Signal der Abtastung ein Code oder ein Teil eines Codes ist; und die Parameter werden zurückgestellt, wenn die neuen Parameter keine besser lesbare Abtastung erzeugt haben, während der Justiermodus verlassen wird, wenn die neuen Parameter eine besser lesbare Abtastung erzeugt haben. Der Scanner kann sich auch selbst justieren, bis er den höchsten Anteil erfolgreicher Abtastungen erreicht. Um die Lesefähigkeit zu verbessern, kann ein iterativer Justierprozeß verwendet werden, indem der Scanner verschiedene Digitalisier-Schwellwerte für den nächsten Abtastvorgang versucht, wenn der Scanner beim Decodieren einer Abtastung fehlschlägt, wobei der neue Schwellwert auf Daten basiert, die von der nicht erfolgreichen Abtastung stammen.
  • Ziel der Erfindung ist es daher, eine automatische Regelung vorzusehen, die die Nachteile der bekannten Lösungen behebt und insbesondere im Fall einer hohen Veränderungsgeschwindigkeit der Merkmale sukzessiver Bilder anwendbar ist. Gemäß der Erfindung wird ein Verfahren zum Betreiben eines optischen Codelesesystems gemäß Anspruch 1 vorgesehen.
  • Die Merkmale werden vorzugsweise mehrere Male ermittelt, um ein gemitteltes statistisches Datum für eine große Anzahl von Ablesungen zu erhalten, und um jegliche wesentlichen Unterschiede zwischen sukzessiven Bildern zu messen; ferner wird das Regeln kontinuierlich durchgeführt, um die Veränderungen der Lesesystemmerkmale zu überwachen, deren Ursachen umgebungsbedingt sein können oder in Veränderungen der internen Komponenten liegen.
  • Die geregelten Merkmale umfassen Bildhelligkeit und die Fokussierqualität, und die gesteuerten Parameter werden ausgewählt aus der Fokussierposition, der Bilderfassungsempfindlichkeit, der Beleuchtungsstärke aus Entscheidungsschwellwerten, die beim Lesen verwendet werden, und aus der Bildabtastgeschwindigkeit.
  • Wenn die Beziehung zwischen jedem gesteuerten Parameter und den entsprechenden Merkmalen nicht bekannt ist, verändert das vorliegende Verfahren die Werte der vorliegenden Parameter um zumindest eine kleine positive Verschiebung und um eine kleine negative Verschiebung bezüglich des vorliegenden Wertes und erfaßt den Wert des entsprechenden Merkmals in beiden Fällen, um auszuwerten, welche der zwei Verschiebung die bessere Bildqualität bietet. Der neue Wert des gesteuerten Parameters wird der Mittenwert für die darauffolgenden Ablesungen. Durch die Wiederholung dieses Prozesses tendiert der Mittenwert des gesteuerten Parameters schnell in die optimale Lage, und jegliche Veränderungen dieser Lage werden über die Zeit überwacht.
  • Weitere Merkmale der Erfindung sind aus der Beschreibung einer bevorzugten Ausführung ersichtlich, die lediglich als nicht beschränkendes Beispiel vorgesehen ist, und in den angefügten Zeichnungen dargestellt ist, wobei die Figuren im einzelnen zeigen:
  • 1 zeigt ein optisches Codelesesystem des bekannten Typs;
  • 2 zeigt ein Flußdiagramm des vorliegenden Verfahrens;
  • 3 zeigt ein detailliertes Flußdiagramm eines Blocks von 2;
  • 4 bis 6 stellen die Funktionen dar, die einige in dem System von 1 zu steuernden Parametern mit den jeweiligen Steuergrößen korrelieren;
  • 7 und 8 zeigen Tabellen, die für das vorliegende Verfahren nützlich sind; und
  • 9 zeigt ein detailliertes Flußdiagramm eines weiteren Blocks von 2.
  • Das vorliegende Verfahren erlaubt zum einen, die Parameter des optischen Codelesesystems anfänglich einzustellen, wobei ein anfänglicher Selbstlernprozeß verwendet wird, wenn das Lesesystem es zuläßt, während einer bestimmten anfänglichen Lernperiode zu warten (während derer nicht angenommen werden kann, daß das Lesesystem korrekt funktioniert), und erlaubt zum anderen, die bestehende Regelung kontinuierlich zu verändern, um die Werte der Parameter an die Veränderungen über die Zeit, die in den Umgebungsbedingungen und in den internen Komponenten auftreten, anzupassen (Selbstjustierung).
  • Insbesondere gibt es in der Ausführung von 2 gemäß dem vorliegenden Verfahren anfänglich einen optionalen Schritt des anfänglichen Setzens von Parametern (Block 20). Dieser Schritt, der manuell durchgeführt wird, wird einmal durchgeführt, nachdem das Lesesystem zusammengebaut wurde (oder nach Wartungsunterbrechungen, während derer Komponenten ersetzt wurden), jedoch kann er, wie bereits bemerkt, ausgelassen werden.
  • Daraufhin wird ein Bild erfaßt, das den zu untersuchenden optischen Code enthält, Block 30. Die Bilderfassung, die für den Leseprozeß wesentlich ist, ist zudem für das Selbstlernen, wenn das Lesesystem den Betrieb aufnimmt, und für die Selbstjustierung während des Standardbetriebs wesentlich. Bilderfassung ist kennzeichnend für alle optische Codelesesysteme und kann gemäß jedem bekannten Verfahren ausgeführt werden, indem Linear- oder Matrixsensoren des CCD- oder CMOS-Typs verwendet werden, und liefert analoge oder digitale elektrische Signale, die mit dem Helligkeitsniveau aller Punkte (Pixel), die das Bild formen, korreliert sind.
  • Daraufhin wird das erfaßte Bild in Block 40 analysiert. Diese Analyse, die im weiteren anhand 3 beschrieben wird, hat das Ziel, das Bild nach vorliegenden optischen Codes) zu durchsuchen; ein Decodieren und Wiedererkennen zu versuchen; und, wenn das Ergebnis positiv ist, einige Bildgrößen, die zum Regeln der gesteuerten Parameter notwendig sind, zu erfassen und geeignet zu speichern.
  • Schließlich wird verifiziert, ob es notwendig ist, den Arbeitspunkt des Lesesystems (der durch einen Satz aktueller Werte der gesteuerten Parameter vorgesehen wird) zu modifizieren, um anfängliches Selbstlernen zu gestatten oder um dynamische Veränderungen des Lesesystems zu überwachen, Block 50. Der Schritt der Verifikation des Arbeitspunktes wird im weiteren anhand der 4-9 beschrieben, wobei auf diesen Schritt die Erfassung eines neuen Bildes folgt, indem zu Block 20 zurückgesprungen wird.
  • Der Schritt des Analysierens des erfaßten Bildes (Block 40 in 2) wird nun anhand von 3 beschrieben. Im Detail durchsucht die Verarbeitungseinheit 13 anfänglich das erfaßte und gespeicherte Bild nach Bereichen, die eventuell einen optischen Code enthalten, Block 70. Dieser Schritt wird in bekannter Weise ausgeführt, beispielsweise durch Suchen nach den Bereichen mit dem größten Kontrast innerhalb des Bildes, da die Codes durch eine Vielzahl von Elementen oder Strukturen mit verschiedenen Farben (beispielsweise weiß und schwarz) ausgebildet sind, deren spezifische Änderungen das eigentliche Ziel haben, Daten zu codieren.
  • Daraufhin überprüft das Lesesystem, ob zumindest ein Codebereich identifiziert wurde, Block 75; falls nicht (keine Ausgabe), wird der Analyseschritt 40 beendet; falls doch (Ausgabe), wird der erste (oder einzige) identifizierte Codebereich ausgewählt, Block 80, und ein Leseversuch wird gestartet, Block 85. Der Leseversuch wird in bekannter Weise entsprechend des zu lesenden Codetyps ausgeführt; im speziellen basiert das Lesen auf der Wiedererkennung von Zeichen in einer ausreichend zuverlässigen Weise, wenn der zu lesende Code Zeichen umfaßt; falls ein Strichcode oder ein zweidimensionaler Code betroffen ist, umfaßt das Lesen das Decodieren des Codes in einer ausreichend genauen Weise. Beispielsweise im Falle eines Strichcodes wird gemäß eines üblicherweise verwendeten Verfahrens überprüft, ob eine Folge von Elementen (Strichen) mit wechselnden Farben vorliegt, es wird überprüft, ob die Anzahl der Elemente mindestens einen vorab festgelegten Wert hat, die Breite jedes Elementes wird gemessen, es wird optional überprüft, ob die Breiten oder zumindest einige dieser vorab bestimmte Bedingungen erfüllen (beispielsweise ob diese zueinander korreliert sind oder eine vorab bestimmte Folge darstellen), die Zahlenfolge, die der detektierten Veränderung von Elementen entspricht, wird ermittelt, und es wird überprüft, ob die erhaltene Zahlenfolge einem zulässigen Code entspricht.
  • Daraufhin wird überprüft, ob das Lesen erfolgreich war, Block 90. Dieser Schritt ist sehr wichtig, da ein positives Ergebnis des Codelesens zeigt, daß der in Betrachtung gezogene Bereich eine ausreichende Qualität für das Erfassen der aktuellen Werte der Meßgrößen aufweist (die gemäß der Erfindung statistische Daten definieren, welche zur Justierung der Parameterwerte verwendet werden). Tatsächlich werden gemäß der Erfindung nur die Bildbereiche verwendet, die ein gutes Lesen des optischen Codes erlauben, um die Parameterwerte zu verändern; andererseits gewährleisten die Bereiche, in denen das Lesen nicht möglich oder nicht ausreichend verläßlich war, nicht, daß die ermittelbaren statistischen Daten korrekt sind, und daher werden diese Bereiche zurückgewiesen. Wenn folglich kein Lesen stattfindet (NEIN Ausgabe von Block 90), wird überprüft, ob andere Codebereiche während des Schritts des Durchsuchens 70 des gleichen Bildes ermittelt wurden, Block 95; falls es keine weiteren Bereiche gibt, also eine NEIN Ausgabe von Block 95, wird der Bildanalyseschritt 40 beendet; anderenfalls (es existieren andere Bereiche innerhalb des gleichen Bildes, in denen das Vorliegen eines optischen Codes möglich ist, Ausgabe von Block 95), wird ein folgender Codebereich ausgewählt, Block 100, und ein Leseversuch wird gestartet, wobei zu Block 85 zurückgesprungen wird.
  • Wenn das Lesen erfolgreich war (JA Ausgabe von Block 90) wird ein Teil des vorab identifizierten Codebereichs ausgewählt, d. h. speziell der Bereich, von dem angenom men wird, daß er die beste Qualität besitzt; insbesondere der mittlere Teil des decodierten optischen Codes wird vorteilhafter Weise ausgewählt, um Kanteneffekte auszuschließen (Block 105 der Fensterextraktion).
  • Daraufhin wird das so ausgewählte Fenster verarbeitet, um statistische Daten zu erhalten, d. h. den Wert der Meßgrößen, Block 110. Insbesondere werden in diesem Schritt die Werte jeder Meßgröße gemessen oder berechnet, einschließlich beispielsweise der maximale Helligkeitswert (d. h. der Weißpegel in einem zweifarbigen Code, der als Graupegel gemessen wurde), der minimale Helligkeitswert (Schwarzpegel), der Durchschnittswert, die durchschnittliche Signalenergie, jegliche Abweichung der Proportionen der Codeelemente von vorbestimmten Werten und jegliche Anzeichen der Deformation der Codeform. Insbesondere auf einer Helligkeitsskala zwischen 0 und 255 mit binären Niveaus bei angemessenen Helligkeitsbedingungen liegt das Weißniveau bei einem binären Wert in der Nähe von 200 und das Schwarzniveau befindet sich in der Nähe von 10. Zusätzlich kann die Signalenergie als Quadrat der Amplitude der Ableitung des Helligkeitssignals berechnet werden.
  • Die so berechneten statistischen Daten werden dann in passenden Tabellen gespeichert, jeweils eine für jede Größe, Block 115. Diese statistischen Daten werden vorteilhafter Weise getrennt voneinander gespeichert, in Abhängigkeit von dem Abstand zwischen dem betrachteten Objekt und der Bilderfassungseinheit 10 (er ergibt sich aus der Höhe des Objekts, dessen Bild ermittelt wurde), weil die optimalen Werte der Parameter von diesem Abstand abhängen; zusätzlich speichern die Tabellen vorzugsweise die Anzahl der Abtastwerte, die bis zu diesem Zeitpunkt erfaßt wurden, den gesamten Summenwert und den Durchschnittswert, der als Gesamtsummenwert geteilt durch die Abtastanzahl berechnet wurde. In der Praxis wird bei jeder neuen Erfassung die Anzahl der Abtastungen für jede gemessene Größe und gemäß dem aktuellen Höhenwert des zu untersuchenden Objektes um Eins erhöht, der Gesamtsummenwert wird aktualisiert, der neue ermittelte Wert wird zu dem vorangegangenen Gesamtwert addiert und der Durchschnittswert wird aktualisiert.
  • Abhängig von der betreffenden Meßgröße, dem zugeordneten Parameter und dem zu optimierenden Merkmal werden zwei unterschiedliche Typen von Tabellen aufgestellt, wie es im weiteren im Detail in bezug auf die 7 und 8 beschrieben wird.
  • Nachdem die statistischen Datentabellen aktualisiert wurden, Block 115, wird überprüft, ob ein weiterer Codebereich in dem gleichen Bild existiert, wie es bereits mit Bezug auf Block 95 beschrieben wurde, und falls nicht, wird der Bildanalyseschritt 40 beendet.
  • Bevor der Schritt 50 zur Überprüfung des Arbeitspunkts im Detail beschrieben wird, wird der Mechanismus zur Justierung der Parameter auf der Basis der erfaßten statistischen Daten erklärt, um die Merkmale des Lesesystems gemäß des vorliegenden Verfahrens zu optimieren. Tatsächlich haben einige Merkmale (beispielsweise die Bildhelligkeit, die anhand der minimalen und maximalen Helligkeitswerte gemessen wird) eine monotone Abhängigkeit (die genau oder zumindest angenähert bekannt ist) von dem (den) entsprechenden gesteuerten Parameter(n) (Verstärkungsfaktor der Bilderfassungseinheit 10 und die Leistung des Beleuchtungselements 12), wie in 4 gezeigt ist, die das Verhältnis zwischen der Helligkeit L und dem Verstärkungsfaktor G darstellt. Es ist in diesem Fall daher einfach, auf Basis des Meßgrößenwertes (minimaler und maximaler Helligkeitswert) die durchzuführende Korrektur des gesteuerten Parameterwertes zu identifizieren, um das Lesen zu optimieren. Wenn beispielsweise nach einer vorbestimmten Anzahl von Erfassungen alle Codebereiche, die für eine spezielle Höhe erfaßt wurden, dunkel sind (maximaler digitalisierter Helligkeitswert ist geringer als ein vorbestimmter Wert, beispielsweise 180), ist es notwendig, den Verstärkungsfaktor und/oder die Beleuchtungsleistung zu erhöhen (beispielsweise die Spannung, die an dem Beleuchtungselement 12 anliegt).
  • Andererseits haben andere Merkmale, beispielsweise die Fokussierungsqualität, die als Energie eines elektrischen Signals gemessen wird, das von der Bilderfassungseinheit 10 vorgesehen wird, eine komplexere Abhängigkeit von den entsprechenden gesteuerten Parametern (Position der automatischen Fokussierungseinheit), wie in 5 dargestellt ist, welche die Funktion zeigt, welche die Durchschnittsenergie E mit der Position P der automatischen Fokussierungseinheit verknüpft. In diesem Fall ist es nicht möglich, direkt ein spezielles Gesetz zu verwenden (auch wenn dieses angenähert ist), das die Meßgröße mit dem zu steuernden Parameter zur Optimierung des Lesens verknüpft. Tatsächlich ergibt sich im Falle einer Funktion des Typs, wie er in 5 gezeigt wird, in der die Kurve ein absolutes Maximum besitzt, das folgende Problem:
    • – der absolute Wert des Maximums A ist von Bild zu Bild unterschiedlich und es ist daher nicht möglich, zu ermitteln, ob das gerade erfaßte Bild das beste ist oder nicht;
    • – es ist nicht möglich, zu ermitteln, ob der Arbeitspunkt links oder rechts von dem Maximum liegt (Punkt B oder C in 5, mit der gleichen Ordinate); daher ist es noch nicht einmal möglich, zu ermitteln, in welche Richtung die Fokussierungsposition verändert werden muß, um das Lesen zu verbessern.
  • Daher wird gemäß des vorliegenden Verfahrens im Falle von Meßgrößen, die nicht in linearem Zusammenhang mit den entsprechenden gesteuerten Parametern stehen, eine spezifische Anzahl von Erfassungen mit leicht veränderten Werten der gesteuerten Parameter mit einer positiven und einer negativen Abweichung durchgeführt, vorzugsweise mit dem gleichen Wert bezüglich der aktuellen Einstellung, um den Kurvenpunkt zu identifizieren, an dem sich das Lesesystem befindet, und daher zu ermitteln, ob eine Korrektur notwendig ist, und wahlweise die Richtung der aktuell durchzuführenden Korrektur zu ermitteln. Wenn sich beispielsweise das System mit Bezug auf 6, die der 5 gleicht, an dem Punkt C befindet, der einer Position P1 und einer Durchschnittsenergie E1 für eine spezielle Anzahl von Erfassungen entspricht, wird der Positionswert anfänglich verändert, beispielsweise um eine Verschiebung von +J, um zu der Position P2 überzugehen, wodurch sich nach einer spezifischen Anzahl von Erfassungen ein Durchschnittsenergiewert E2 ergibt; wird jedoch der anfängliche Wert um einen Versatz –J verändert, so daß die Position P3 erreicht wird, ergibt sich ein Durchschnittsenergiewert E3. Da in diesem Fall die optimalen Lesebedingungen einem maximalen Energieniveau entsprechen, ist ersichtlich, daß die zweite Einstellung (–J) das beste Ergebnis liefert und daher der Mittenwert des gesteuerten Parameters dauerhaft auf P3 festgesetzt wird.
  • Insbesondere muß der absolute Wert des Versatzes J groß genug sein, um die Veränderungen der Bildqualität auszuwerten, jedoch klein genug, so daß das Lesen optischer Codes nicht verhindert wird. Der Versatzwert wird vorzugsweise innerhalb eines Intervalls zwischen einem minimalen Wert und einem maximalen Wert ausgewählt, um eine Auswertung der Veränderung des ermittelten Merkmals zu gestatten und den optischen Code zu lesen, da die Messungen zur Selbstjustierung während des normalen Betriebs des Lesesystems stattfinden und es notwendig ist, die Funktion des Lesesystems auch für Verschiebungen, die von der optimalen Bedingung wegführen, zu gewährleisten, da die Versatzrichtung zur Optimierung des Betriebs nicht bekannt ist.
  • Zusätzlich können die Veränderungen der gesteuerten Parameterwerte gemäß der vorbestimmten Verschiebungen bei jeder Erfassung stattfinden, oder sich nach jeder vorbestimmten Anzahl von Erfassungen wiederholen.
  • Daraufhin wird im Falle einer Meßgröße und eines gesteuerten Parameters, die monoton voneinander abhängen, während des Datenspeicherschritts 115 vorzugsweise eine Tabelle des in 7 gezeigten Typs verwendet, in der zum besseren Verständnis die Spalte der Gesamtsummenwerte nicht gezeigt ist; im Falle eines Meßwertes und eines gesteuerten Parameters, die nicht monoton voneinander abhängig sind, wird hingegen eine Tabelle des Typs verwendet, wie er in 8 gezeigt ist, die für jede Objekthöhe die Anzahl der Abtastungen N(–J) und N(+J) und die berechnete Durchschnittsenergie E(–J) und E(+J) für beide Verschiebungen +J und –J angibt.
  • In Hinblick auf das Obige wird nun der Schritt des Überprüfens und des optionalen Veränderns des Arbeitspunktes (Block 50 in 2) anhand 9 für einen einzigen gesteuerten Parameter beschrieben. Der Schritt 50 wird jedoch nach jedem Bildanalyseschritt 40 für jeden gesteuerten Parameter des Lesesystems wiederholt.
  • Anfänglich, Block 150, wird verifiziert, ob sich das Lesesystem in einem Zustand des anfänglichen Selbstlernens befindet (für die betrachtete Betriebsbedingung wurde mit der aktuellen Entfernung zwischen betrachtetem Objekt und der Bilderfassungseinheit 10 bis jetzt keine anfängliche Einstellung gefunden, die ein Lesen gestattet) oder in einem Feinregel-Zustand. In dem ersten Fall (JA Ausgabe von Block 150), wird überprüft, ob bei der aktuellen Betriebsbedingung zumindest eine fehlerfreie Codelesung durchgeführt wurde, Block 151. Falls nicht (NEIN Ausgabe von Block 151), werden die gesteuerten Parameter auf bisher noch nicht verwendete Werte gesetzt, Block 155. Dieser Schritt, der während des Selbstlernschrittes für jedes erfaßte Bild, das nicht zur Decodierung eines optischen Codes führt, durchgeführt wird, ist dazu eingerichtet, alle möglichen Werte der gesteuerten Parameter gemäß einem vorbestimmten Schema zu durchlaufen, bis eine Einstellung gefunden wurde, die eine Codelesung bei der spezifischen Betriebsbedingung ermöglicht. Dadurch findet das Lesesystem, wenn ein Code erfolgreich gelesen wurde, eine Folge von zulässigen Werten für die gesteuerten Parameter, die daraufhin auf der Basis statistischer Daten verfeinert werden können, wie im weiteren detailliert beschrieben ist.
  • Insbesondere versucht das Lesesystem bei der anfänglichen Einstellung der Fokussierposition bei einer gegebenen Höhe der Objekte, welche einen zu lesenden Code tragen, in sukzessiven Erfassungen alle möglichen Fokussierpositionen einzustellen, wobei mit einer anfänglichen Einstellung begonnen wird (beispielsweise mit der zufälligen Einstellung, mit der die automatische Fokussiereinheit positioniert ist). Wenn beispielsweise die intrinsische Feldtiefe des in der Bilderfassungseinheit 10 integrierten optischen Systems bekannt ist, wird der positive Wert bei jeder Iteration oder nach einer vorbestimmten Anzahl von Iterationen mit einem negativen Ergebnis um einen Betrag erhöht, der der Hälfte der intrinsischen Feldtiefe entspricht. In der Praxis wird ein erstes Lesen eines ersten Objektes oder einer ersten Objektgruppe versucht, die sich entlang der Einheit 10 in einer ersten Höhe (beispielsweise 10 cm) bewegen, wobei ein erster Fokussierpositionswert verwendet wird; falls das Ergebnis des ersten Versuchs negativ ist, wird ein zweiter Leseversuch bezüglich eines zweiten Objektes oder einer zweiten Objektgruppe durchgeführt, die in der gleichen ersten Höhe angeordnet sind, wobei ein zweiter Fokussierpositionswert verwendet wird, usw. Die anderen gesteuerten Parameter werden analog eingestellt und deren ursprüngliche Werte können gleichzeitig mit dem Fokussierpositionswert oder am Ende der gesamten Einstellfolge der Fokussierposition verändert werden, falls die Folge nicht dazu geführt hat, Folgen von Werten zu identifizieren, die das Lesen eines Codes erlaubt.
  • Wenn die aktuellen Einstellungen das Lesen eines Codes erlauben (JA Ausgabe von Block 151), wird der Selbstlernschritt für die angenommene Höhe unterbrochen (Block 152), und ein Feinregelschritt beginnt, der von dem „NEIN Ausgabe"-Signal von Block 150 gesteuert wird. Dadurch kann ein erster Näherungswert für jeden Parameter mit jeder Höhe verknüpft werden, wobei der beschriebene Prozeß für alle möglichen Objekthöhen wiederholt wird, auch wenn keine anfängliche manuelle Einstellung vorliegt.
  • Nach dem Einstellen der Parameterwerte während des Selbstlernschrittes wird der Schritt 50 des Überprüfens des Arbeitspunktes beendet, und ein weiteres Bild wird untersucht, wobei zu Block 30 in 2 übergegangen wird.
  • Wenn andererseits das Durchprüfen der betreffenden Betriebsbedingungen abgeschlossen wurde (NEIN Ausgabe von Block 150), wird verifiziert, ob bei der spezifischen Betriebsbedingung ausreichend statistische Daten für den betroffenen Parameter erfaßt wurden, Block 165. Beispielsweise kann die Anzahl von Erfassungen, die als statistisch ausreichend gelten, 500 bis 1000 umfassen, um die starken Schwankungen des Bildes zu berücksichtigen und um fehlerhafte Veränderungen der Parameter zu vermeiden. Wenn das Ergebnis negativ ist (unzureichende Anzahl von Erfassungen, NEIN Ausgabe von Block 165), wird die Einstellung nicht verändert und der Schritt 50 des Überprüfens des Arbeitspunktes fertiggestellt; wenn das Ergebnis allerdings positiv ist (JA Ausgabe von Block 165), wird überprüft, ob der betreffende Parameter mit einer entsprechenden Meßgröße über eine monotone Funktion zusammenhängt, oder ob der Zusammenhang eine komplexere Funktion darstellt (Block 170).
  • Im ersten Fall (JA Ausgabe von Block 170) wird überprüft, ob sich das statistische Datum (Durchschnittswert), das in der Tabelle von 7 gespeichert ist, für die mit den gesteuerten Parametern zusammenhängende Größe (N) innerhalb eines „optimalen Intervalls" befindet, welches in 4 als Δ dargestellt ist, in dem ein zufriedenstellender Betrieb stattfindet, wobei die aktuellen Betriebsbedingungen berücksichtigt werden, Block 173. Wenn der gespeicherte Durchschnittswert innerhalb des optimalen Intervalls ist, JA Ausgabe von Block 173, wird der Schritt 50 des Überprüfens des Arbeitspunktes ohne eine Veränderung fertiggestellt; anderenfalls, NEIN Ausgabe, wird der entsprechende gesteuerte Parameter modifiziert, Block 175.
  • Gemäß einer bevorzugten einfacheren Ausführung folgt auf die JA Ausgabe von Block 170 direkt Block 175, und der gesteuerte Parameter wird mittels der Kurve von 4 dauerhaft neu eingestellt.
  • Wenn verschiedene Parameter eine einzelne Meßgröße in einer nicht dargestellten Art und Weise beeinflussen (und daher ein entsprechendes Merkmal des Lesesystems, beispielsweise Verstärkungsfaktor und Beleuchtungsleistung, soweit die Helligkeit betroffen ist), ist es nicht möglich, sowohl den Parameter zu berücksichtigen als auch zu versuchen, zuerst den von dessen Veränderungsgrenzen am weitesten entfernt gelegenen Parameter zu verändern. Wenn beispielsweise für die vorab genannten Parameter die Beleuchtungsleistung bereits nahe dem Maximalwert liegt, wohingegen die Verstärkung noch bei einem niedrigen Wert liegt, ist es möglich, anfänglich nur den Verstärkungsfaktor zu erhöhen. Alternativ ist es ebenfalls möglich, spezielle Kriterien anzuwenden, um zu entscheiden, welche Parameter bis zu welchem Ausmaß verändert werden; beispielsweise ist es möglich, abwechselnd zwei Parameter zu verändern oder beide Parameter gleichzeitig mit einem Wert zu verändern, der kleiner ist, als es für die Veränderung eines einzelnen Parameters notwendig wäre.
  • Nachdem der neue Wert des gesteuerten Parameters eingestellt wurde, wird das vorab gespeicherte statistische Datum und die entsprechende Anzahl der Erfassungen (Abtastungen) für die betrachteten Arbeitsbedingungen zurückgesetzt; der neue Wert des gesteuerten Parameters wird dann mit einem Arbeitsintervall verglichen (welches als Standardintervall definiert ist, innerhalb dessen der Parameter veränderlich ist, Block 180); falls der Wert sich innerhalb dieses Intervalls befindet (JA Ausgabe), wird der Schritt des Überprüfens des Arbeitspunktes fertiggestellt, anderenfalls (NEIN Ausgabe) wird ein Alarm gestartet, Block 185, da offensichtlich ist, daß zumindest eine Komponente des Lesesystems beginnt, unbefriedigend zu arbeiten (beispielsweise ist das Beleuchtungselement 12 verschlissen); jedoch fährt das Lesesystem in einem Normalmodus fort, der so gut wie möglich arbeitet, und kehrt zur Erfassung eines neuen Bildes zurück.
  • Wenn der gesteuerte Parameter nicht monoton ist, NEIN Ausgabe von Block 170, wird eine vorbestimmte Abweichung bereitgestellt, wie vorab in bezug auf 6 beschrieben. Im Detail wird anfänglich verifiziert, ob die geplante vorbestimmte Abweichung bereits durchgeführt wurde (ob der Durchschnittswert der Meßgröße für beide Abweichungen +J und –J des gesteuerten Parameters vorliegt, Block 190), anderenfalls wird der Wert des gesteuerten Parameters gemäß der noch nicht in Betracht gezogenen Abweichung aktualisiert, Block 200, und der Schritt des Überprüfens des Arbeitspunktes ist fertiggestellt. Wenn das Ergebnis positiv ist (JA Ausgabe von Block 190), werden die statistischen gespeicherten Daten untersucht, um zu ermitteln, welche der „getesteten" Werte für die betreffenden Parameter die Meßgröße optimieren. Dieser Wert wird daraufhin gewählt und als Mittenwert des gesteuerten Parameters für die darauffolgende Erfassung eingestellt, auf dem die vorbestimmte Abweichung +J und –J angewandt wird, Block 195.
  • Darauffolgend werden die statistischen Daten und die erfaßte Abtastanzahl für die betreffende Betriebsbedingung ähnlich wie in dem Fall der monotonen Parameter zurückgesetzt, und es wird überprüft, ob sich der neue Mittenwert des Parameters innerhalb des geplanten Arbeitsintervalls befindet, indem Schritt 180 durchgeführt wird.
  • Als eine Alternative zu dem beschriebenen Prozeß wird neben dem statistischen Datum für die vorgegebenen Abweichungen auch das statistische Datum für den vorab eingestellten Mittenwert erfaßt, wenn eine vorangegangene Justierung fertiggestellt wurde, und die Entscheidung über die sukzessive Einstellung wird getroffen, indem alle statistischen Daten einbezogen werden (für den Mittenwert und für alle geplanten Abweichungen). Daher wird der vorab eingestellte Mittenwert nicht verändert, wenn sich dieser in einem optimalen vorbestimmten Intervall befindet, ähnlich wie in dem Fall des monotonen Parameters. Darauffolgend werden alle statistischen Daten und entsprechenden Abtastanzahlen für die betreffende Betriebsbedingung zurückgesetzt, und der Schritt 50 des Überprüfens des Arbeitspunktes für diesen Parameter ist fertiggestellt.
  • Die Vorteile des beschriebenen Verfahrens ergeben sich aus der vorangegangenen Beschreibung. Insbesondere bestimmt das vorliegende Verfahren die einzustellenden Erfassungsparameter vorab, indem statistische Qualitätsuntersuchungen für eine große Anzahl von vorangegangenen Bildern, die erfolgreich gelesen wurden, durchgeführt werden; dadurch wird eine Optimierung der sukzessiven Erfassungen ermöglicht, die gemäß der Veränderungen der externen und internen Bedingungen über die Zeit justiert werden. Insbesondere erlaubt die Analyse der Veränderungen, die bezüglich der Parameter zur Überwachung der optimalen Regelung durchgeführt wurden, zudem Ermittlungen, bevor ein Zustand der Komponentenverschlechterung auftritt, und erlaubt die zeitige Erzeugung von Alarmen, um die durch fehlerhafte Komponenten verursachte Fehlfunktionszeit des Lesesystems stark zu reduzieren oder sogar zu verhindern.
  • Die ausschließlich Verwendung von erfolgreich gelesenen Bildern („Erfolgen") garantiert die Verwendung von statistisch signifikanten Daten und eliminiert Daten, die von spezifischen Bedingungen abgeleitet wurden oder die durch zufällige Fehler erzeugt wurden, welche nicht zutreffende oder falsche Veränderungen der gesteuerten Parameter verursachen würden. Zusätzlich erhöht die ausschließliche Verwendung von den wesentlichsten Anteilen des gelesenen Codes die Verläßlichkeit des Verfahrens und deren Konvergenz in Richtung optimaler Werte der Parameter.
  • Das Suchen nach optimalen Parameterwerten durch Einführung kleinerer Veränderungen in die aktuellen Werte erlaubt im Fall von Parametern, die mit den entsprechenden Meßgrößen über komplexe Funktionen in Zusammenhang stehen, einen „Versuch und Irrtum" (trial and error)-Prozeß, um optimale Betriebsbedingungen zu erreichen und beizubehalten, auch wenn diese komplexen Funktionen nicht a priori bekannt sind.
  • Schließlich ist es ersichtlich, daß viele Veränderungen und Varianten dieses hier beschriebenen und dargestellten Verfahrens realisiert werden können, die alle in den Schutzbereich der Erfindung fallen, wie er durch die angefügten Ansprüche definiert ist. Insbesondere wird betont, daß das beschriebene Verfahren die Optimierung nicht nur der Fokussierqualität und der Bildhelligkeit gestattet, sondern auch bei anderen Parametern angewendet werden kann. Beispielsweise kann das vorliegende Verfahren dazu verwendet werden, die Schwellwerte, die zur Decodierung verwendet werden, einzustellen, wenn verifiziert wurde, daß die Abmessungen betreffenden Beziehungen zwischen den Codeelementen sich von den Referenzwerten in einer nicht akzeptabler Weise unterscheiden oder von nicht korrekten Veränderungen betroffen sind. Es kann ferner dazu verwendet werden, den Wert der Abtastgeschwindigkeit der Objekte zu korrigieren, dessen anfängliche Einstellung, die von außen vorgesehen ist, möglicherweise nicht korrekt ist, da diese auf einer angenommenen zunehmenden Geschwindigkeit des Förderbandes 2 basiert, und sich von der aktuellen Geschwindigkeit, die von dem optischen Codierer 5 ermittelt wurde, unterscheidet oder aufgrund von durch die Zeit bedingte Veränderungen des mechanischen Transportsystems nicht länger angemessen ist (wodurch sich eine Erfassung von verzerrten Bildern ergibt).
  • Im allgemeinen kann das Verfahren jedoch angewendet werden, wenn sich die erfaßten Bilder sich sehr stark voneinander unterscheiden, so daß es notwendig ist, eine prädiktive Justierung der Parameter vorzusehen; wenn einzelne grundlegende Parameter Fluktuationen unterworfen sind, die im Vergleich zu der Bilderfassungsrate relativ gering sind; und wenn es nicht möglich oder angemessen ist, die Parameterschwankungen nur durch mathematische Berechnungen oder nur durch die Verwendung von Sensoren zu schätzen.

Claims (26)

  1. Verfahren zum Betreiben eines optischen Codelesesystems mit zumindest einem gesteuerten Parameter, der von der Veränderung von zumindest einem Merkmal eines Bildes in dem optischen Codelesesystem abhängt, wobei das Verfahren umfaßt: a) Erfassen eines Bildes (30) an einem Arbeitspunkt des optischen Codelesesystems; b) Durchführen eines Versuchs, zumindest einen optischen Code in dem Bild zu lesen und zu erkennen; und einen Schritt des automatischen Regelns des Arbeitspunktes, wobei der Schritt des automatischen Regelns den folgenden Schritt umfaßt: c) Überprüfen (90), ob das Lesen und Erkennen erfolgreich durchgeführt wurde, wobei der Schritt des automatischen Regelns durch die folgenden Schritte gekennzeichnet ist: c1) wenn der Schritt c) des Überprüfens (90) zu einem negativen Ergebnis kommt, Beibehalten des aktuellen Wertes des zumindest einen Parameters, d) wenn der Schritt c) des Überprüfens (90) zu einem positiven Ergebnis kommt, Erfassen (105, 110) des Merkmals des Bildes; und e) wenn Schritt c) des Überprüfens (90) zu einem positiven Ergebnis kommt, Durchführen eines Schritts des Feinregelns des Arbeitspunktes (165200), indem zumindest einer der gesteuerten Parameter, welcher von der Veränderung des erfaßten Merkmals abhängt, verändert (170, 175, 195, 200) wird.
  2. Verfahren nach Anspruch 1, dadurch g e k e n n z e i c h n e t, daß die Schritt a)–d) vor der Ausführung des Schritts e) iterativ wiederholt werden, und dadurch für eine Vielzahl von Bildern ein statistisches Datum erfaßt werden, und daß in dem Schritt e) der zumindest eine Parameter (170, 175, 195, 200) auf der Basis des statistischen Datums verändert wird.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, g e k e n n z e i c h n e t durch kontinuierliches Einstellen des zumindest einen gesteuerten Parameters, indem die Schritte a) bis e) iterativ wiederholt werden.
  4. Verfahren nach Anspruch 3, dadurch g e k e n n z e i c h n e t, daß der Parameter um einen Betrag verändert wird, der zwischen einem Minimalwert und einem Maximal-wert liegt, und der Minimalwert so ausgebildet ist, daß dieser eine Bewertung der Veränderungen des erfaßten Merkmals erlaubt, und der Maximalwert so ausgebildet ist, daß der Schritt c) des Überprüfens ein positives Ergebnis hat.
  5. Verfahren nach Anspruch 3 oder Anspruch 4, dadurch g e k e n n z e i c h n e t, daß der Schritt des kontinuierlichen Einstellens bei jedem Lesevorgang durchgeführt wird.
  6. Verfahren nach Anspruch 3 oder 4, dadurch g e k e n n z e i c h n e t, daß der Schritt des kontinuierlichen Einstellens nach jeder vorbestimmten Anzahl von Lesevorgängen durchgeführt wird.
  7. Verfahren nach einem der vorangegangenen Ansprüche, dadurch g e k e n n z e i c h – n e t, daß das Merkmal aus der Bildhelligkeit und der Fokussierungsqualität ausgewählt wird.
  8. Verfahren nach einem der vorangegangenen Ansprüche, dadurch g e k e n n z e i c h – n e t, daß der Schritt des Erfassens von zumindest einem Merkmal den Schritt des Messens eines aktuellen Wertes von zumindest einer Meßgröße umfaßt, welche aus der Maximalhelligkeit, Minimalhelligkeit, Durchschnittshelligkeitswert, Helligkeitssignalenergie, Breitenabweichungen der Codeelemente und Verformungen des optischen Codes ausgewählt wird.
  9. Verfahren nach einem der vorangegangenen Ansprüche, dadurch g e k e n n z e i c h – n e t, daß der zumindest eine gesteuerte Parameter aus der Fokussierungsposition, der Bilderfassungsempfmdlichkeit, der Beleuchtungsleistung, dem entscheidungsbestimmender Schwellwert beim Lesen und der Bildabtastgeschwindigkeit ausgewählt wird.
  10. Verfahren nach einem der vorangegangenen Ansprüche, dadurch g e k e n n z e i c h – n e t, daß der Schritt des Durchführens eines Versuchs des Lesens den Schritt des Lokalisierens (70) eines innerhalb des Bildes liegenden Bereichs, welcher einen optischen Code enthält, umfaßt.
  11. Verfahren nach Anspruch 10, dadurch g e k e n n z e i c h n e t, daß der Schritt des Erfassens (105, 110) zumindest eines Merkmals die folgenden Schritte umfaßt: Ableiten (105) eines Fensters aus dem Bereich des Bildes; Erfassen (110) des Merkmals in dem Fenster.
  12. Verfahren nach Anspruch 11, dadurch g e k e n n z e i c h n e t, daß das Fenster in dem Bereich mittig angeordnet ist.
  13. Verfahren nach einem der vorangegangenen Ansprüche, dadurch g e k e n n z e i c h – n e t, daß der Schritt e) den folgenden Schritt umfaßt: Überprüfen (170), ob der gesteuerte Parameter eine monotone Beziehung zu dem Merkmal hat.
  14. Verfahren nach Anspruch 13, dadurch g e k e n n z e i c h n e t, daß der Schritt e), wenn der gesteuerte Parameter eine nicht-monotone Beziehung hat, die folgenden Schritte umfaßt: Erfassen (195) eines Mittenwerts des gesteuerten Parameters; Setzen (200) eines gesteuerten Parameters auf einen ersten veränderten Wert, der sich aus dem Mittenwert, welcher um einen ersten vorbestimmten Betrag erhöht wurde, ergibt; Erfassen (30) von zumindest einem ersten erfolgreich gelesenen Bild; Erfassen (110) eines ersten Merkmalwerts des Merkmals aus dem zumindest einen ersten Bild; Setzen (200) des gesteuerten Parameters auf einen zweiten veränderten Wert, der sich aus dem Mittenwert, welcher um einen zweiten vorbestimmten Betrag verringert wurde, ergibt; Erfassen (30) zumindest eines zweiten erfolgreich gelesenen Bildes; Erfassen (110) eines zweiten Merkmalwerts des Merkmals aus dem zumindest einen zweiten Bild; Aktualisieren (195) des Mittenwertes des gesteuerten Parameters in einer dem ersten veränderten Wert des gesteuerten Parameters entsprechenden Weise, wenn der erste Merkmalswert des Merkmals besser ist als der zweite Merkmalswert; anderenfalls Aktualisieren des Mittenwertes des gesteuerten Parameters in einer dem zweiten veränderten Wert des gesteuerten Parameters entsprechenden Weise.
  15. Verfahren nach Anspruch 14, dadurch g e k e n n z e i c h n e t, daß der erste und der zweite vorbestimmte Betrag gleich sind.
  16. Verfahren nach Anspruch 14 oder 15, dadurch g e k e n n z e i c h n e t, daß die ersten und zweiten Beträge ausreichend groß sind, eine meßbare Veränderung des Merkmals zu verursachen, und ausreichend klein sind, die Möglichkeit des Lesens eines optischen Codes nicht zu beeinflussen.
  17. Verfahren nach Anspruch 13, dadurch g e k e n n z e i c h n e t, daß Schritt e), wenn der gesteuerte Parameter eine nicht-monotone Beziehung hat, die folgenden Schritte umfaßt: Setzen (200) des gesteuerten Parameters auf einen ersten veränderten Wert, der sich aus dem Wert des zumindest einen gesteuerten Parameter bei dem Arbeitspunkt ergibt, wobei der Wert um einen ersten vorbestimmten Betrag erhöht wird; Erfassen (30) von zumindest einem zweiten erfolgreich gelesenen Bild; Erfassen (110) eines zweiten Merkmalswert des Merkmals aus dem zumindest einen zweiten Bild; Setzen (200) des gesteuerten Parameters auf einen zweiten veränderten Wert, der sich aus dem Wert des zumindest einen gesteuerten Parameters bei dem Arbeitspunkt ergibt, wobei der Wert um einen zweiten vorbestimmten Betrag verringert wird; Erfassen (30) von zumindest einem dritten erfolgreich gelesenen Bild; und Erfassen (110) eines dritten Merkmalswert des Merkmals von dem zumindest einen dritten Bild; und wenn das in Schritt d) erfaßte Merkmal besser als der zweite und der dritte Merkinalswert ist, Zurücksetzen des Wertes des zumindest einen Parameters bei dem Arbeitspunkt; wenn der zweite Merkmalswert des Merkmals besser als das in Schritt d) erfaßte Merkmal und besser als der dritte Merkmalswert ist, Aktualisieren (195) des Minen wertes des gesteuerten Parameters in einer dem ersten veränderten Wert des gesteuerten Parameters entsprechenden Weise; wenn der dritte Merkmalswert des Merkmals besser als das in Schritt d) erfaßte Merkmal ist und besser als der zweite Merkmalswert ist, Aktualisieren (195) des Mittenwertes des gesteuerten Parameters in einer dem zweiten veränderten Wert des kontrollierten Parameters entsprechenden Weise.
  18. Verfahren nach einem der Ansprüche 2–17, dadurch g e k e n n z e i c h n e t, daß der Schritt des Erfassens eines Merkmals den Schritt des Speicherns (115) einer Tabelle umfaßt.
  19. Verfahren nach Anspruch 18, dadurch g e k e n n z e i c h n e t, daß der Schritt des Speicherns (115) bei jedem Schritt des Erfassens des zumindest einen Merkmals den Schritt des Aktualisierens einer erfaßten Abtastanzahl und eines gemittelten Wertes des Merkmals umfaßt.
  20. Verfahren nach Anspruch 18 oder Anspruch 19, dadurch g e k e n n z e i c h n e t, daß bei jedem Schritt des Erfassens von zumindest einem Merkmal der Schritt des Speicherns (115) den Schritt des Aktualisierens eines entsprechenden Feldes der Tabelle für jede Betriebsbedingung umfaßt.
  21. Verfahren nach einem der Ansprüche 18–20, dadurch g e k e n n z e i c h n e t, daß der Schritt e) weiterhin den Schritt des Zurücksetzens der erfaßten Abtastanzahl und des Mittelwertes des Merkmals umfaßt.
  22. Verfahren nach einem der Ansprüche 18–21, dadurch g e k e n n z e i c h n e t, daß es eine Vielzahl von Merkmalen umfaßt und der Schritt des Erfassens eines Merkmals den Schritt des Speicherns einer Tabelle für jedes Merkmal umfaßt.
  23. Verfahren nach einem der vorangegangenen Ansprüche, dadurch g e k e n n z e i c h – n e t, daß ein Selbstlernschritt (150155) vor den Schritten a) bis e) ausgeführt wird, um für den zumindest einen gesteuerten Parameter einen anfänglichen Arbeitspunkt zu setzen.
  24. Verfahren nach Anspruch 23, g e k e n n z e i c h n e t dadurch, daß der Selbstlernschritt die folgenden Schritte umfaßt: f) Erfassen (30) eines Bildes mit einem Testwert für den gesteuerten Parameter; g) Durchführen eines Leseversuchs (85) von zumindest einem optischen Code in dem Bild; h) wenn der Lesevorgang erfolgreich war (151), Erfassen (105, 110) des Merkmals des Bildes, Unterbrechen (152) des Selbstlernschrittes und Durchführen des Schrittes des Feinregelns des Arbeitspunktes (165200), indem zumindest einer der Parameter, welcher von der Veränderung des erfaßten Merkmals abhängt, verändert (170, 175, 195, 200) wird; i) falls das Lesen nicht erfolgreich war (151), Verändern (155) des Testwertes des gesteuerten Parameters auf einen neuen Testwert, der nicht vorher benutzt wurde, und j) iteratives Wiederholen der Schritte f) bis i).
  25. Verfahren nach einem der vorangegangenen Ansprüche, dadurch g e k e n n z e i c h – n e t, daß nach Schritt e) die folgenden Schritte folgen: Überprüfen (180), ob der Wert des gesteuerten Parameters innerhalb eines vordefinierten Arbeitsintervalles liegt; und anderenfalls Erzeugen (185) eines Alarmsignals.
  26. Verfahren zum Betreiben eines optischen Codelesesystems mit zumindest einem gesteuerten Parameter, der von der Veränderung von zumindest einem Merkmal eines Bildes in dem optischen Codelesesystem in einer monotonen Beziehung abhängt, wobei das Verfahren umfaßt: a) Erfassen eines Bildes (30) bei einem Arbeitspunkt des optischen Codelesesystems; b) Durchführen eines Versuchs des Lesens und Erkennens von zumindest einem optischen Code in dem Bild; und einen Schritt des automatischen Regelns des Arbeitspunktes, wobei der Schritt der automatischen Regelns die folgenden Schritte umfaßt: c) Überprüfen (90), ob das Lesen und Erkennen erfolgreich durchgeführt wurde, wobei der Schritt des automatischen Regelns durch die folgenden Schritte gekennzeichnet ist: c1) wenn der Schritt c) des Überprüfens (90) zu einem negativen Ergebnis kommt, Beibehalten des aktuellen Wertes des zumindest einen Parameters, d) wenn der Schritt c) des Überprüfens (90) zu einem positiven Ergebnis kommt, Erfassen (105, 110) des Merkmals des Bildes; und e) wenn der Schritt c) des Überprüfens (90) zu einem positiven Ergebnis kommt, Durchführen eines Schrittes des Feinregelns des Arbeitspunktes (165200), der die folgenden Schritte umfaßt: e1) Überprüfen (173), ob das zumindest eine Merkmal in einem vorbestimmten Intervall enthalten ist; e11) wenn das zumindest eine Merkmal in dem vorbestimmten Intervall enthalten ist, Beibehalten des aktuellen Wertes des zumindest einen gesteuerten Parameters, und e12) wenn das zumindest eine Merkmal nicht in dem vorbestimmten Intervall enthalten ist, Verändern (175) von zumindest einem der gesteuerten Parameter.
DE69814105T 1998-12-22 1998-12-22 Verfahren zur automatischen Regulierung der Eigenschaften eines optischen Codelesesystems Expired - Lifetime DE69814105T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP98830773A EP1014292B1 (de) 1998-12-22 1998-12-22 Verfahren zur automatischen Regulierung der Eigenschaften eines optischen Codelesesystems

Publications (2)

Publication Number Publication Date
DE69814105D1 DE69814105D1 (de) 2003-06-05
DE69814105T2 true DE69814105T2 (de) 2004-04-01

Family

ID=8236923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69814105T Expired - Lifetime DE69814105T2 (de) 1998-12-22 1998-12-22 Verfahren zur automatischen Regulierung der Eigenschaften eines optischen Codelesesystems

Country Status (5)

Country Link
US (1) US6616039B1 (de)
EP (1) EP1014292B1 (de)
JP (1) JP4571258B2 (de)
AT (1) ATE239268T1 (de)
DE (1) DE69814105T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3548783B2 (ja) * 2002-12-10 2004-07-28 オムロン株式会社 光学コード読取方法及び装置
US7604174B2 (en) 2003-10-24 2009-10-20 Cognex Technology And Investment Corporation Method and apparatus for providing omnidirectional lighting in a scanning device
US7823789B2 (en) 2004-12-21 2010-11-02 Cognex Technology And Investment Corporation Low profile illumination for direct part mark readers
US9070031B2 (en) 2003-10-24 2015-06-30 Cognex Technology And Investment Llc Integrated illumination assembly for symbology reader
US7874487B2 (en) 2005-10-24 2011-01-25 Cognex Technology And Investment Corporation Integrated illumination assembly for symbology reader
US9536124B1 (en) 2003-10-24 2017-01-03 Cognex Corporation Integrated illumination assembly for symbology reader
US7823783B2 (en) 2003-10-24 2010-11-02 Cognex Technology And Investment Corporation Light pipe illumination system and method
US7617984B2 (en) 2004-12-16 2009-11-17 Cognex Technology And Investment Corporation Hand held symbology reader illumination diffuser
US9292724B1 (en) 2004-12-16 2016-03-22 Cognex Corporation Hand held symbology reader illumination diffuser with aimer optics
JP4254724B2 (ja) * 2005-02-16 2009-04-15 株式会社デンソーウェーブ バーコード読取り方法及びコンピュータプログラム
US7913921B2 (en) * 2007-04-16 2011-03-29 Microsoft Corporation Optically trackable tag
US8267321B2 (en) * 2008-02-11 2012-09-18 International Business Machines Corporation Enhanced-density barcode
US9104934B2 (en) * 2010-03-31 2015-08-11 Hand Held Products, Inc. Document decoding system and method for improved decoding performance of indicia reading terminal
US10621397B2 (en) * 2010-06-17 2020-04-14 Hand Held Products, Inc. Intelligent indicia reader
JP5892625B2 (ja) * 2014-01-07 2016-03-23 Necプラットフォームズ株式会社 コード読取装置、コード読取方法、及びコード読取プログラム
US10650211B2 (en) * 2018-03-28 2020-05-12 Datalogic IP Tech, S.r.l. Artificial intelligence-based machine readable symbol reader
EP3591567B1 (de) 2018-07-02 2020-09-02 Sick Ag Optoelektronischer sensor und verfahren zur wiederholten optischen erfassung von objekten in unterschiedlichem objektabstand
US10534942B1 (en) * 2018-08-23 2020-01-14 Zebra Technologies Corporation Method and apparatus for calibrating a client computing device for decoding symbols
EP4124991B1 (de) 2021-07-30 2023-11-15 Sick Ag Verfahren zum automatischen einrichten einer codelesevorrichtung und kamerabasierte codelesevorrichtung

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5569901A (en) * 1988-10-21 1996-10-29 Symbol Technologies, Inc. Symbol scanning system and method having adaptive pattern generation
US5478997A (en) * 1988-10-21 1995-12-26 Symbol Technologies, Inc. Symbol scanning system and method having adaptive pattern generation
US5396053A (en) * 1988-10-21 1995-03-07 Symbol Technologies, Inc. Method of adjusting electrical circuit parameters during manufacture of a bar code scanner
US5155343A (en) * 1990-03-28 1992-10-13 Chandler Donald G Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol
FR2675607B1 (fr) * 1991-04-18 1993-08-27 Banque De France Procede pour analyser un document fiduciaire ou de securite presentant un graphisme imprime et deux signes de securite superposes, et dispositif pour la mise en óoeuvre du procede.
US5811828A (en) * 1991-09-17 1998-09-22 Norand Corporation Portable reader system having an adjustable optical focusing means for reading optical information over a substantial range of distances
JP2825141B2 (ja) * 1992-09-26 1998-11-18 富士通株式会社 多段バーコード読取装置
US5612529A (en) * 1994-10-31 1997-03-18 Psc Inc. System for bar code reading and scanning with automatic gain control
JPH09297807A (ja) * 1996-04-30 1997-11-18 Toshiba Corp バーコード読み取り装置およびバーコード読み取り方法
US5969325A (en) * 1996-06-03 1999-10-19 Accu-Sort Systems, Inc. High speed image acquisition system and method of processing and decoding barcode symbol
JP3635829B2 (ja) * 1996-12-10 2005-04-06 松下電器産業株式会社 バーコード読み取り装置
DE69627871T2 (de) * 1996-12-30 2004-01-29 Datalogic Spa Verfahren zum Lesen eines auf einem Objekt aufgebrachten Barkodes
US6219438B1 (en) * 1997-09-02 2001-04-17 Lucent Technologies Inc. Produce indentifier using barcode scanner and wavelet image processing and having compensation for dirt accumulated on viewing window
US5969326A (en) * 1998-01-14 1999-10-19 Intermec Ip Corp. Method and apparatus of autodiscriminating in symbol reader employing prioritized and updated table of symbologies

Also Published As

Publication number Publication date
ATE239268T1 (de) 2003-05-15
EP1014292A1 (de) 2000-06-28
US6616039B1 (en) 2003-09-09
EP1014292B1 (de) 2003-05-02
JP2000231600A (ja) 2000-08-22
JP4571258B2 (ja) 2010-10-27
DE69814105D1 (de) 2003-06-05

Similar Documents

Publication Publication Date Title
DE69814105T2 (de) Verfahren zur automatischen Regulierung der Eigenschaften eines optischen Codelesesystems
DE2831582C2 (de) Verfahren zur Identifizierung einer Person und Vorrichtung zur Durchführung des Verfahrens
DE2417282C3 (de) Vorrichtung zum Lesen von Fingerabdrücken
DE69728482T2 (de) Zweidimensionaler Codeleser
EP1288860A1 (de) Verfahren zur Verarbeitung digitaler fotografischer Bilddaten, welches ein Verfahren zum automatischen Erkennen von rote-Augen-Defekten umfasst
DE69728485T2 (de) Abtaster für Strichkodes mit Fehlern
EP1288858A1 (de) Verfahren zum automatischen Erkennen von rote-Augen-Defekten in fotographischen Bilddaten
DE60308739T2 (de) Automatisches Bildqualitäts-Bewertungsverfahren und Korrekturtechnik
DE2935668C2 (de)
DE69835358T2 (de) Verfahren zur Korrektur der Verzerrung beim Abtasten eines optischen Codes
DE69909997T2 (de) Individualisierter fingerabdruckabtaster
EP1293933A1 (de) Verfahren zum automatischen Erkennen von rote-Augen-Defekten in fotografischen Bilddaten
DE3047490C2 (de)
EP1288859A1 (de) Verfahren zum automatischen Erkennen von rote-Augen-Defekten in fotografischen Bilddaten
DE102015219541A1 (de) Dekodieren von strichcodes
EP2417561A1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
EP1610270A2 (de) Verfahren zur qualitativen Beurteilung eines Materials mit mindestens einem Erkennungsmerkmal
DE3718620C2 (de)
DE102010037746A1 (de) Verfahren zum optischen Antasten einer Kante in oder an einem Oberflächenbereich
DE2256617C3 (de) Einrichtung zur Analyse einer Vorlage
DE10205691A1 (de) Verfahren zum Überprüfen der Funktonssicherheit eines Bildsensors sowie Vorrichtung mit einem Bildsensor
DE10002353B4 (de) Optischer Leser, optisches Leseverfahren und optisches Lesesystem
EP3591567A1 (de) Optoelektronischer sensor und verfahren zur wiederholten optischen erfassung von objekten in unterschiedlichem objektabstand
DE3303841C2 (de) Musterprüfeinrichtung und Verfahren zum Prüfen eines Musters
DE60303003T2 (de) Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition