WO2010081664A1 - Verfahren und tragbares gerät zum erkennen von barcodes - Google Patents

Verfahren und tragbares gerät zum erkennen von barcodes Download PDF

Info

Publication number
WO2010081664A1
WO2010081664A1 PCT/EP2010/000081 EP2010000081W WO2010081664A1 WO 2010081664 A1 WO2010081664 A1 WO 2010081664A1 EP 2010000081 W EP2010000081 W EP 2010000081W WO 2010081664 A1 WO2010081664 A1 WO 2010081664A1
Authority
WO
WIPO (PCT)
Prior art keywords
pattern
patterns
symbol
output
sequence
Prior art date
Application number
PCT/EP2010/000081
Other languages
English (en)
French (fr)
Inventor
Robert Adelmann
Original Assignee
Eth Zurich
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 Eth Zurich filed Critical Eth Zurich
Priority to ES10700373.3T priority Critical patent/ES2562254T3/es
Priority to US13/144,354 priority patent/US8596540B2/en
Priority to PL10700373T priority patent/PL2377072T3/pl
Priority to DK10700373.3T priority patent/DK2377072T3/en
Priority to EP10700373.3A priority patent/EP2377072B1/de
Publication of WO2010081664A1 publication Critical patent/WO2010081664A1/de

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/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • 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/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code

Definitions

  • the invention relates to the field of optical detection of bar codes. More particularly, it relates to a method and portable apparatus for optically detecting a linear bar code pattern and determining a symbol sequence encoded by the bar code pattern according to the preamble of the respective independent claims.
  • Preprocessing the raw image to produce a sequence of output patterns Preprocessing the raw image to produce a sequence of output patterns; Comparing the output patterns with stored reference patterns, the reference patterns each corresponding to blurred images of sharp nominal patterns, and each reference pattern having at least one symbol associated therewith; Determining, for each of the output patterns, in each case the reference pattern which has the greatest similarity with the output pattern;
  • a single output pattern is assumed.
  • This single output pattern represents a complete barcode, without dividing into individual symbols.
  • the traversing sections explained below are also applicable to such an output pattern which maps a sequence of a plurality of symbols corresponding to a whole bar code.
  • each reference pattern corresponds to a preferably off-line and pre-calculated blurred image of a nominal pattern.
  • a nominal pattern corresponds to a code pattern or code pattern having at least one adjacent code pattern.
  • EAN European Article Number
  • GTIN Global Trade Item Number
  • the blur of the camera is modeled and simulated the blurred image.
  • the blur is modeled by a "point spreading function" (PSF), which is an at least approximate impulse response of the camera, for example, which can be easily determined experimentally by taking a black spot on a white background.
  • PSF point spreading function
  • the PSF depends on various parameters, especially the distance between the imaged surface and the optics.
  • the PSF is determined for a plurality of subject distances, and for each code, a plurality of reference patterns corresponding to different subject distances are calculated and stored.
  • a plurality of stored reference patterns each for different imaging parameters, in particular for different distances.
  • those reference patterns are used which correspond to an estimate of the actual imaging parameters, e.g. correspond to the distance.
  • the estimation of the actual object distance is preferably also only based on the raw image or the output pattern.
  • the steepness (gradient) of the signals corresponding to the black-and-white transitions in the bar code gives a measure of defocus and thus also a measure of the object distance.
  • the steepest edge can be searched in the output patterns, and the slope can be searched through a previously determined and stored mapping function can be mapped to the distance or directly to an index of a set of corresponding reference patterns.
  • adjacent code patterns influence each other.
  • a separate reference pattern is therefore generated for different combinations of two or more adjacent code patterns. For example, ten separate reference patterns corresponding to the symbol pairs "03", “13",... To “93” are generated and stored for the digit or the symbol "3" (in a specific coding). If, in addition to the preceding one, the following symbol is also taken into account, then 100 separate reference patterns "030", “130”, “230”,... “031”, “131", “231”,... “839”, “939”, ... generated.
  • the nominal patterns are each composed of a code pattern corresponding to a first symbol (reference symbol) and at least one adjacent code pattern corresponding to a second symbol or a second and a third symbol (neighboring symbols).
  • the reference patterns generated from the nominal patterns are each associated with a pair or a triple of symbols.
  • the whole reference pattern corresponding to the two or three symbols can be stored, or only the part of interest of the reference pattern corresponding to the symbol of interest (symbol "3" in the above example) can be stored. Part of the information about the adjacent symbol or symbols passes through the blurred image in the edge regions of this interesting part of the reference pattern.
  • the reference patterns are preferably pre-calculated offline outside a mobile device and then, together with the associated symbols, transmitted to a mobile device and used there for pattern comparison.
  • Information about the symbol sequences permissible in a specific context is likewise preferably transmitted, be it as a list of symbol sequences or as a specification of a range of values. For example, in a sales transaction it is known which product codes are to be expected, so that only these are transmitted. This can accelerate detection and improve reliability even further.
  • the reference patterns are each assigned to a reference symbol and at least one neighboring symbol.
  • comparing a sequence of output patterns (corresponding to a symbol sequence) with the reference patterns then preferably not only a correct assignment of an output pattern to a reference pattern and thus a Referenzsyrnbol gef ⁇ ideri gef ⁇ ideri, but also that the neighboring symbol with the reference symbol to the corresponding adjacent output pattern matches.
  • the neighbor symbol is known, the search for the reference symbol can be restricted and thus accelerated.
  • the assigned reference patterns require the associated symbol pairs or symbol triplets to be consistent with those of adjacent reference patterns.
  • Various optimization methods are applicable to this problem.
  • the sequence of output patterns in the recognition is processed sequentially.
  • the reference patterns of corresponding symbol combinations are used.
  • the step of preprocessing comprises at least the step of: generating an overall output pattern corresponding to a brightness progression along the bar code pattern, ie in the direction perpendicular to the direction of the individual bars of the bar code, and splitting the overall output pattern into the sequence of output patterns.
  • the overall output pattern can be generated by generating the brightness profile along the barcode pattern by selecting an image line of the - optionally rotated - raw image or by averaging over several image lines of the raw image.
  • the preprocessing of the brightness profile along the barcode pattern is produced by performing a Hough transformation on the raw image or a section of the raw image, whereby a frequency distribution in an imaging plane spanned by angle and distance (Hough space) arises.
  • the brightness profile is extracted according to the sequence of values on the line in the image plane which leads through the maxima in the image plane and corresponds to a constant angle in the raw image.
  • the inventive method is preferably used in sales premises. This allows a customer to read bar codes on products and / or sales racks with their suitably prepared mobile device, typically a mobile phone with camera. Based on this identification of products, a variety of information services can be realized. These may be general or customized to the user, and may be provided by the sales organization or even by third parties. Information about the product can include price and quantity, for example, allergy information, price comparisons with similar offers, information from fair trade, certification and consumer organizations, etc.
  • the product is detected as being selected by the user. Immediately or at a checkout point of sale, the selected products are transmitted to the store, for example via a local wireless connection such as Bluetooth or WLAN, and based thereon the payment is made.
  • the basis for the described application is the symbol sequences to be recognized and corresponding reference patterns transmitted wirelessly to the mobile device at a point of sale, optionally also further information about the individual products.
  • the recognition can be limited to the actually existing product codes, which only include a small number of the basically possible maximum number of, for example, EAN codes.
  • the maximum number is for example 1000 to 100000 codes.
  • the method variant in which the barcode is recognized as a whole, single output pattern, without subdividing into a plurality of output patterns advantageously applicable: It must only the reference pattern to all actually present product codes, possibly also multiple times for different imaging parameters, generated and transmitted to the mobile device.
  • the comparison is made by comparing the first derivatives of the two patterns, in particular by forming and summing the difference of the values of the first derivatives. The sum thus calculated is a measure of the similarity of the two patterns.
  • the sign of the derivative in the region of the edges of the patterns is additionally compared. Different signs reduce that measure of the similarity of the patterns.
  • the differences between the absolute values of the patterns can also be summed up.
  • the patterns can also be compared several times, each time being shifted by different values.
  • the portable device has a camera and a data processing unit, wherein the data processing unit is programmed to execute the described method.
  • the data processing unit preferably has memory means with computer program code means stored therein, which describe a computer program, the execution of the computer program by the data processing unit leading to the execution of the method.
  • the computer program for optically acquiring a linear bar code pattern and for determining a symbol sequence encoded by the bar code pattern is loadable into an internal memory of a digital data processing unit and has computer program code means which, when executed in a digital data processing unit, execute the same to execute the bar code pattern bring the inventive method.
  • a corresponding computer program product comprises a data carrier, or a computer-readable medium, on which the computer program code means are stored.
  • Figure 1 shows the relationship between the processed information
  • FIG. 2 shows a blurred image of a barcode
  • FIG. 3 shows a brightness profile along a barcode
  • FIG. 4 shows exemplary output patterns and thus identified reference patterns
  • FIG. 5 is a flowchart of the method
  • Figure 6 is a mobile device.
  • the reference numerals used in the drawings and their meaning are listed in the list of reference numerals. Basically, the same parts are provided with the same reference numerals in the figures.
  • a coding system of a known type A symbol, the EAN code of a digit, depending on the context, different codes or code patterns may be assigned.
  • a digit may be encoded by a particular bit string (such as 0111011 corresponding to the black and white sequence in the bar code), or by the same bit string but backward (1101-110), or by the complementary bit string (1000100), or backward and complementary (ÜOl ⁇ l).
  • the last two variants are known in the EAN code as R code and G code.
  • FIG. 1 shows the relationship between the information processed according to the invention for barcode recognition.
  • the goal is to extract from a fuzzy raw image 6 (see also FIG. 2) of a barcode 12, created by a camera 13, the original symbol sequence 1 underlying the barcode.
  • a total output pattern 8 (see also FIG. 3) is generated from the raw image 6.
  • the brightness profile can be determined along a single line perpendicular to the bars of the barcode in the raw image 6, or by averaging over several such lines.
  • the Hough transform can be used for this purpose.
  • the total output pattern 8 is subdivided according to FIG. 3 into individual output patterns 9.
  • a priori knowledge about the structure of the coding is preferably used, for example that it is an EAN-8 or EAN-13 (UPC-12) barcode, that the codes are the same width for all symbols and four alternating black and white bars exist and that there are known start and end patterns.
  • FIG. 1 shows by way of example between two vertical lines a total output pattern 8 as a detail of approximately 400 pixels from a brightness course with a length of approximately 650 pixels.
  • aligned output patterns 9 are shown with a total width of about 400 pixels (the two patterns are from different images).
  • the horizontal axis represents the number of pixels, the vertical the brightness.
  • FIG. 2 shows a blurred image of a barcode with automatically recognized end boundary lines (vertical lines) and a horizontal line along which the brightness profile is determined.
  • the output patterns 9 are preferably compared in a mobile device 15 in a pattern comparison 10 with reference patterns 5 in order to reconstruct a recognized symbol sequence 11, which is to be identical to the original symbol sequence 1.
  • a pattern comparison 10 with reference patterns 5 in order to reconstruct a recognized symbol sequence 11, which is to be identical to the original symbol sequence 1.
  • Each of the symbols in the present example numbers from 0 to 9 (top line of FIG. 1), is assigned at least one code pattern.
  • three code patterns 4 per symbol as is known from the EAN code. These are called L, G and R codes.
  • L, G and R codes the three code patterns 4 for the numbers 2 and 7 are shown in FIG. 1 in the second line, the remaining code patterns 4 are indicated by dots.
  • L codes and G codes there can only be L codes and G codes, a total of twenty code patterns, in a second Group of digits exclusively R codes, ie only ten code patterns.
  • the reference patterns 5 are calculated by a simulation of the fuzzy optical image 3.
  • a (in particular reduced to one dimension) PSF of Figure 3 is preferably used and folded with the nominal patterns 2.
  • the reference patterns 5 can be reduced to a section corresponding to a symbol of interest.
  • the neighboring symbols as shown in FIG. 1 are included for the simulation of blurring, the left and right thirds may be blurred after
  • FIG. 3 are cut so that the reference pattern contains only the middle third.
  • the reference pattern 5 thus represents only one in this case
  • Combinations of code patterns 4 and the assignment of the code patterns 4 to the symbols are also the nominal patterns 2 each of a triple of symbols assigned. (If, in a simplified embodiment of the invention, adjacent code patterns were not taken into account, then each nominal pattern 2 would be assigned exactly one symbol).
  • the calculation of the reference pattern 5 preferably takes place offline in advance, with simulation of different object distances and possibly for different camera types.
  • the resulting possibly several thousand reference pattern 5 are stored in the form of an image file.
  • each reference pattern 5 is represented, for example, by an image section having 30 pixels (pixels).
  • all reference patterns 5 for an EAN-13 code can thus be stored at a short object distance. Since an image can have three color channels and possibly also one alpha channel, and the reference patterns 5 are only monochrome, several sets of reference patterns can be transmitted in the form of a single image. This has the advantage that existing methods for (lossless) compression and for transferring images to mobile devices with cameras can be used.
  • the search for the next optimally matching symbol is restricted and thereby accelerated.
  • the search can also be restricted by information about the permissible symbol sequences in the current context.
  • a symbol has been identified as the digit "7" coded in the L-code
  • the subsequent output pattern 9 exclusively or at least first the sentence of 400 reference patterns 5 is used (ie, compared to the output pattern 9) belonging to the digit "7" encoded in the L code.
  • the search is started with those reference patterns 5 whose associated mean symbol is the same as the expected subsequent symbol from the pattern comparison 10 of the first output pattern 9.
  • FIG. 4 shows exemplary output patterns 9 and thus identified reference patterns.
  • the continuous signal curves respectively show the output pattern 9 extracted from the camera image.
  • the dashed curves each show the reference pattern which was assigned to the output pattern 9.
  • the dotted curves which in almost all cases match the reference patterns, reproduce the correct reference patterns for comparison purposes.
  • the title to a group of patterns indicates with "digit pos:" the position of the symbol in the sequence, and the previously recognized symbol of the sequence with "before d:” and the coding (also called “parity") of the previously recognized symbol with "p:”, represented by the values 1 and 2 for the L or G coding.
  • the numbers in the legend in each group of patterns and each symbol of the sequence indicate respectively: • in the first line: the correct or ideal number and coding of the symbol (in the first example: 7 and 1), then the correct digit and coding of the next symbol (in the first example: 4 and 2).
  • these values are only available in a test environment in which the code sequence to be identified is known.
  • the second of the parenthesized numerals indicates where the reference pattern 5 sorted according to the output pattern 9 is the correct reference pattern 5 (in the first example, fourth, in the third, fifth, and sixth examples, first, what thus a perfect recognition means, in the fourth example, however, at thirteenth place).
  • the second line the digit and coding of the symbol recognized according to the present method (in the first example: 7 and 1), then the expected digit and coding of the next symbol (in the first example: 1 and 1, which in this case eiiici fallow estimate).
  • the comparison of the second and third lines shows that the recognition of the symbols is correct for all positions in the sequence and is partly incorrect in the estimated values for the next symbol.
  • FIG. 5 shows a flowchart of the method.
  • a first step 21 "grab" the taking of the raw image 6 by means of the
  • a fifth step 25 "disturbs" the output, transmission or storage of the symbols which correspond to the specific reference patterns 5.
  • the third and fourth steps 23, 24 may be iteratively repeated when the output patterns 9 are processed one after another. For cases in which the first to fifth steps are repeatedly executed until a predetermined termination criterion is met, the result of a passage is stored in the fifth step, and then a further step 26 "ok?" to check the termination criterion. If the abort criterion is met (y), the result is output, stored or transmitted in an output step 27 "outp", and then the method is ended. Otherwise, the steps are repeated with a new shot of the raw image 6.
  • FIG. 6 schematically shows a mobile device 15 with a camera 13 and a data processing unit 14.
  • the data processing unit 14 is programmed to perform recognition on the one hand on the stored reference frame 5 and on one or blank of raw pictures 6.

Landscapes

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

Abstract

Ein Verfahren zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, geht von einem unscharfen Rohbild aus und weist die folgenden Schritte auf: ° Aufnehmen eines Rohbildes (6) des Barcodemusters; ° Vorverarbeiten (7) des Rohbildes (6) zur Erzeugung einer Folge von Ausgangsmustern (9); ° Vergleichen (10) der Ausgangsmuster (9) mit gespeicherten Referenzmustern (5), wobei die Referenzmuster (5) jeweils unscharfen Abbildungen von scharfen Nominalmustern (2) entsprechen, und jedem Referenzmuster mindestens ein Symbol zugeordnet ist; ° Bestimmen, für jedes der Ausgangsmuster (9), jeweils dasjenige Referenzmuster (5), welches die grösste Ähnlichkeit mit dem Ausgangsmuster (9) aufweist; ° Ausgeben, Übermittlen oder Speichern der Symbole, welche den bestimmten Referenzmustern (5) entsprechen und entsprechend der Folge der Ausgangsmuster (9), als Symbolfolge.

Description

VERFAHREN UND TRAGBARES GERAT ZUM ERKENNEN VON BARCODES
Die Erfindung bezieht sich auf das Gebiet der optischen Erkennung von Barcodes. Sie bezieht sich insbesondere auf ein Verfahren und ein tragbares Gerät zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, gemäss dem Oberbegriff der entsprechenden unabhängigen Patentansprüche.
STAND DER TECHNIK
Verfahren und Geräte zum optischen Erfassen eines linearen Barcodemusters, insbesondere solche, bei denen die tragbaren Geräte Mobiltelefone mit Kameras sind, sind bekannt: Dabei wird in der Regel davon ausgegangen, dass die mit der Kamera aufgenommenen Bilder ausreichend scharf sind, beispielsweise weil die Kamera eine Autofokusfunktion aufweist. Bei günstigeren Kameras mit Fixfocus- Objektiven versagen solche Verfahren jedoch, da die Kameras bei einem Gegenstandsabstand, der für ein ausreichend aufgelöstes Bild eines Barcodes oder Strichcodes erforderlich ist, kein scharfes Bild liefert.
Es bestehen auch Ansätze zur Verarbeitung unscharfer Bilder zur Erkennung von Barcodes. Diese sind beispielsweise aus den folgenden Publikationen bekannt:
BESTÄUGUNGSKOPSE • J. Kim and H. Lee, "Joint nonuniform illumination estimation and deblurring for bar code Signals," Opt. Express 15, 14817-14837 (2007)
• Ta-Hsin Li, Ke-Shin Lii, „Deblurring Two-Tone Images by A Joint Estimation Approach Using Higher-Order Statistics", Proceedings of the 1997 IEEE Signal Processing Workshop on Higher-Order Statis-tics (SPW-HOS '97), Page: 108,
Year ofPublication: 1997, ISBN:0-8186-8005-9
• S. Esedoglu, "Blind deconvolution of bar code signals" Inverse Probl. 20, 121- 135 (2004).
Die beschriebenen Verfahren sind jedoch rechenintensiv, so dass beispielsweise Minuten zur Analyse eines Bildes erforderlich sind. Zudem ist die Erkennung bei Bildern in der Qualität, wie sie von einer defokussierten Mobiltelefonkamera geliefert werden, nicht zuverlässig oder überhaupt nicht möglich.
DARSTELLUNG DER ERFINDUNG
Es ist deshalb Aufgabe der Erfindung, ein Verfahren und ein tragbares Gerät zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, zu schaffen, welche die oben genannten Nachteile behebt.
Diese Aufgabe lösen ein Verfahren und ein tragbares Gerät gemäss den entsprechenden unabhängigen Patentansprüchen.
Das Verfahren zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, geht von einem unscharfen Rohbild aus und weist die folgenden Schritte auf:
• Aufnehmen eines Rohbildes des Barcodemusters;
• Vorverarbeiten des Rohbildes zur Erzeugung einer Folge von Ausgangsmustern; • Vergleich der Ausgangsmuster mit gespeicherten Referenzmustern, wobei die Referenzmuster jeweils unscharfen Abbildungen von scharfen Nominalmustern entsprechen, und jedem Referenzmuster mindestens ein Symbol zugeordnet ist; • Bestimmen, für jedes der Ausgangsmuster, jeweils dasjenige Referenzmuster, welches die grösste Ähnlichkeit mit dem Ausgangsmuster aufweist;
• Ausgeben, Übermitteln oder Speichern der Symbole, welche den bestimmten Referenzmustern entsprechen, entsprechend der Folge der Ausgangsmuster, als Symbolfolge.
Alternativ wird anstelle einer Folge von Ausgangsmustern von einem einzigen Ausgangsmuster ausgegangen. Dieses einzige Ausgangsmuster repräsentiert einen vollständigen Barcode, ohne Unterteilung in einzelne Symbole. Die nachfolgend erklärten Verfahrcnabschnitlc sind auch auf ein solches Ausgangsmuster, welches eine Folge von mehreren Symbolen entsprechend einem ganzen Barcode abbildet, anwendbar.
Es wird also von einem Bild einer nicht automatisch fokussierenden (oder falsch fokussierten) Kamera ausgegangen, bei dem der zu erkennende Barcode ausserhalb eines Distanzbereiches scharfer Abbildung liegt. Das Bild wird - nach einer Vorverarbeitung - mit Referenzmustern verglichen. Jedes Referenzmuster entspricht einer vorzugsweise offline und im Voraus berechneten unscharfen Abbildung eines Nominalmusters. Ein Nominalmuster wiederum entspricht einem Codemuster oder einem Codemuster mit mindestens einem benachbarten Codemuster. Indem ein Nominalmuster benachbarte Codemuster enthält, lässt sich der Einfluss des benachbarten Codemusters, wie er bei einer unscharfen Abbildung entsteht, berücksichtigen. Ein Codemuster wiederum ist einem Symbol des Codes zugeordnet. Dabei können auch mehrere Codemuster demselben Code zugeordnet sein. Im allgemein bekannten EAN-Code (European Article Number) oder verwandten Codes wie GTIN (Global Trade Item Number) Codes repräsentiert der Code eine Folge von Ziffern. Die Ziffern entsprechen den oben genannten Symbolen, und jeder Ziffer sind, je nach Kontext, eines oder mehrere Codemuster aus zwei schwarzen Balken und zwei weissen Zwischenräumen zugeordnet.
Zur Erzeugung der Referenzmuster zu den Nominalmustern wird die Unscharfe der Kamera modelliert und die unscharfe Abbildung simuliert. Beispielsweise wird die Unscharfe durch eine „point spreading function" (PSF), also einem zumindest angenäherten Impulsantwort der Kamera modelliert. Diese kann beispielsweise auf einfache Weise experimentell durch Aufnehmen eines schwarzen Punktes auf weissem Hintergrund bestimmt werden.
Die PSF hängt von verschiedenen Parametern ab, insbesondere vom Gegenstandsabstand zwischen der abgebildeten Fläche und der Optik. Vorzugsweise wird daher die PSF für mehrere Gegenstandsabstände bestimmt, und werden für jeden Code mehrere Referenzmuster entsprechend verschiedenen Gegenstands- abständen berechnet und gespeichert. Es liegen vorzugsweise also für jedes der Nominalmuster mehrere gespeicherte Referenzmuster jeweils für unterschiedliche Abbildungsparameter, insbesondere für unterschiedliche Distanzen vor. Beim Vergleichen der Ausgangsmuster mit gespeicherten Referenzmustern werden diejenigen Referenzmuster verwendet, die einer Schätzung der tatsächlichen Abbildungsparameter, z.B. der Distanz entsprechen.
Die Abschätzung des tatsächlichen Gegenstandsabstands geschieht vorzugsweise auch lediglich anhand des Rohbildes oder der Ausgangsmuster. Beispielsweise gibt die Steilheit (der Gradient) der Signale, welche den Schwarz/Weiss-Übergängen im Barcode entsprechen, ein Mass der Defokussierung und damit auch ein Mass für den Gegenstandsabstand. Beispielsweise kann die steilste Flanke in den Ausgangs- mustern gesucht werden, und die Steilheit über eine im Voraus ermittelte und gespeicherte Zuordnungsfunktion auf die Distanz oder direkt auf einen Index eines Satzes von korrespondierenden Referenzmustern abgebildet werden.
Alternativ können auch andere Verfahren zur Distanzabschätzung verwendet werden, welche von den erfassten Bildern ausgehen, wie sie beispielsweise für Autofokus- Kameras bekannt sind.
Durch die Unscharfe der Abbildung beeinflussen sich nebeneinander liegende Codemuster gegenseitig. Vorzugsweise wird daher für unterschiedliche Kombinationen von zwei oder mehr nebeneinander liegenden Codemustern jeweils ein eigenes Referenzmuster erzeugt. Beispielsweise werden also für die Ziffer respektive das Symbol "3" (in einer bestimmten Codierung) zehn separate Referenzmuster entsprechend den Symbolpaaren "03", "13", ... bis "93" erzeugt und abgespeichert. Wird neben dem vorangehenden auch noch das nachfolgende Symbol berücksichtigt, so werden 100 separate Referenzmuster "030", "130", "230", ... "031", "131", "231", ... "739", "839", "939", ... erzeugt. In anderen Worten sind die Nominalmuster jeweils aus einem Codemuster entsprechend einem ersten Symbol (Referenzsysmbol) und mindestens einem benachbarten Codemuster entsprechend einem zweiten Symbol oder einem zweiten und einem dritten Symbol zusammengesetzt (Nachbarsymbole). Somit sind auch die aus den Nominalmustern erzeugten Referenzmuster jeweils einem Paar oder einem Tripel von Symbolen zugeordnet.
Es kann das ganze Referenzmuster, entsprechend den zwei oder drei Symbolen, abgespeichert werden, oder es kann nur der interessierende Teil des Referenzmuster, welcher dem interessierenden Symbol entspricht (im obigen Beispiel dem Symbol "3"), gespeichert werden. Ein Teil der Information über das oder die angrenzenden Symbole gelangt durch die unscharfe Abbildung in die Randbereiche dieses interessierenden Teiles des Referenzmuster. Die Referenzmuster werden vorzugsweise offline ausserhalb eines Mobilgerätes vorausberechnet und dann, zusammen mit den zugeordneten Symbolen, an ein Mobilgerät übertragen und dort zum Mustervergleich verwendet. Vorzugsweise wird ebenfalls Information über die in einem bestimmten Zusammenhang zulässigen Symbolfolgen übermittelt, sei es als Liste von Symbolfolgen oder als Spezifikation eines Wertebereiches. Beispielsweise ist in einem Verkaufsgeschäft bekannt, welche Produktecodes zu erwarten sind, so dass nur diese übermittelt werden. Damit kann die Erkennung beschleunigt und die Zuverlässigkeit weiter verbessert werden.
Es sind also die Referenzmuster jeweils einem Referenzymbol und mindestens einem Nachbarsymbol zugeordnet. Beim Vergleich einer Folge von Ausgangsmustern (entsprechend einer Symbolfolge) mit den Referenzmustern ist dann vorzugsweise nicht nur eine korrekte Zuordnung eines Ausgangsmusters zu einem Referenzmuster und damit auch einem Referenzsyrnbol gefύideri, sondern auch, dass das Nachbarsymbol mit dem Referenzsymbol zum entsprechenden benachbarten Ausgangsmuster übereinstimmt. Umgekehrt kann, wenn das Nachbarsymbol bekannt ist, die Suche nach dem Referenzsymbol eingeschränkt und dadurch beschleunigt werden. Allgemein gesprochen liegt damit ein mehrdimensionales Optimierungsproblem vor, bei dem bei den erkannten Referenzmustern die zugeordneten Symbolpaare oder Symboltripel mit jenen von benachbarten Referenzmustern konsistent sein müssen. Auf dieses Problem sind verschiedene Optimierungsverfahren anwendbar.
In einer bevorzugten Ausführungsform der Erfindung wird die Folge von Ausgangsmustern bei der Erkennung sequentiell abgearbeitet. Dabei werden vorzugsweise die Referenzmuster entsprechender Symbolkombinationen verwendet.
Ist beispielsweise als letztes das Symbol "4" erkannt worden, so wird zur Erkennung des nächsten Symbols von den Referenzmustern zu den Symbolpaaren "40", "41",
"42", ... bis "49" oder den Symboltripeln "400", "401", "402", ... bis "499" ausgegangen, d.h. diese Referenzmuster werden zuerst oder ausschliesslich mit dem aktuellen Ausgangsmuster verglichen. Dadurch wird der Suchraum eingeschränkt und die Geschwindigkeit und die Qualität der Erkennung beschleunigt.
Der Schritt des Vorverarbeitens weist mindestens den Schritt auf: Erzeugen eines Gesamt-Ausgangsmusters entsprechend einem Helligkeitsverlauf entlang des Barcodemusters, also in die Richtung senkrecht zur Richtung der einzelnen Balken des Barcodes, und Aufteilen des Gesamt-Ausgangsmusters in die Folge von Ausgangsmustern.
Beispielsweise kann das Gesamt- Ausgangsmuster erzeugt werden durch Erzeugen des Helligkeitsverlaufs entlang des Barcodemusters durch Auswahl einer Bildzeile des - optional gedrehten - Rohbildes oder durch Mittelung über mehrere Bildzeilen des Rohbildes.
In einer anderen bevorzugten Ausführungsform der Erfindung wird in der Vorverarbeitung der Helligkeitsverlaufs entlang des Barcodemusters erzeugt durch Durchführen einer Hough-Transformation auf das Rohbild oder einen Ausschnitt des Rohbildes, wodurch eine Häufigkeitsverteilung in einer Abbildungsebene aufgespannt durch Winkel und Abstand (Hough-Raum) entsteht. Der Helligkeitsverlauf wird extrahiert entsprechend der Folge von Werten auf derjenigen Geraden in der Abbildungsebene, welche durch die Maxima in der Abbildungsebene führt und einem konstanten Winkel im Rohbild entspricht. Durch diese Verwendung der Hough-Transformation wird der Helligkeitsverlauf einerseits unabhängig von der Orientierung des Barcodes ermittelt, und andererseits automatisch eine Mittelung von parallelen Helligkeitsverläufen über die ganze Höhe der Balken des Barcodes durchgeführt.
In einer bevorzugten Ausführungsform der Erfindung werden die Schritte vom
Aufnehmen des Rohbildes bis zum Bestimmen der erkannten Symbolfolge mehrmals wiederholt, bis eine vorgegebene Anzahl von Ergebnissen miteinander übereinstimmt. Dies geschieht vorzugsweise mit der Bildaufnahmefrequenz oder Videofrequenz der Kamera, zum Beispiel mit 15 oder 30 Bildern/Sekunde.
Das erfindungsgemässe Verfahren findet vorzugsweise Anwendung in Verkaufs- räumlichkeiten. Damit kann ein Kunde mit seinem entsprechend vorbereiteten Mobilgerät, typischerweise einem Mobiltelefon mit Kamera, Strichcodes an Produkten und/oder Verkaufsgestellen lesen. Anhand dieser Identifikation von Produkten lässt sich eine Vielfalt von Informationsdienstleistungen realisieren. Diese können allgemeiner Natur oder individuell auf den Benutzer angepasst sein, und können von der Verkaufsorganisation oder auch von Dritten bereitgestellt werden. Information zum Produkt können nebst Preis und Menge beispielsweise Allergikerinformationen, Preisvergleiche mit ähnlichen Angeboten, Informationen von Fair-Trade-, Zertifizierungs- und Konsumentenorganisationen etc. sein. In einer anderen bevorzugten Anwendung der Erfindung wird das Produkt als vom Benutzer ausgewählt erfasst. Unmittelbar oder an einer Checkout-Kasse werden die ausgewählten Produkte dem Verkaufsgeschäft übermittelt, beispielsweise über eine lokale drahtlose Verbindung wie Bluetooth oder WLAN, und darauf basierend wird die Bezahlung getätigt.
Also Grundlage für die beschriebene Anwendung werden in einer bevorzugten Ausführungsform der Erfindung die zu erkennenden Symbolfolgen und entsprechende Referenzmuster bei einer Verkaufsstelle drahtlos an das Mobilgerät übermittelt, optional auch weitere Informationen zu den einzelnen Produkten. Damit kann die Erkennung auf die tatsächlich vorliegenden Produktcodes, die ja nur eine kleine Anzahl der grundsätzlich möglichen Maximalanzahl von beispielsweise EAN- Codes umfassen, eingeschränkt werden. Die Maximalanzahl beträgt beispielsweise 1000 bis 100000 Codes. In einem solchen Fall ist die Verfahrensvariante, in welcher der Barcode als Ganzes, einziges Ausgangsmuster, ohne Unterteilung in mehrere Ausgangsmuster erkannt wird, vorteilhaft anwendbar: Es müssen nur die Referenzmuster zu allen tatsächlich vorliegenden Produktcodes, gegebenenfalls auch mehrfach für unterschiedliche Abbildungsparameter, erzeugt und an das Mobilgerät übermittelt werden.
Zum Vergleichen der Ausgangsmuster und Referenzmuster kann grundsätzlich auf bekannte Verfahren zurückgegriffen werden. In einer anderen, bevorzugten Ausführungsform der Erfindung geschieht der Vergleich, indem die ersten Ableitungen der beiden Muster miteinander verglichen werden, insbesondere, indem die Differenz der Werte der ersten Ableitungen gebildet und aufsummiert wird. Die so berechnete Summe ist ein Mass für die Ähnlichkeit der beiden Muster. In einer bevorzugten Variante dieses Verfahrens wird zusätzlich das Vorzeichen der Ableitung im Bereich der Ränder der Muster verglichen. Unterschiedliche Vorzeichen reduzieren dass Mass für die Ähnlichkeit der Muster. Zusätzlich können auch die Unterschiede der Absolutwerte der Muster aufsummiert werden. Bei allen Varianten können zudem die Muster mehrmals miteinander verglichen werden, und dabei jedesmal um unterschiedliche Werte gegeneinander verschoben werden.
In einer weiteren bevorzugten Variante der Erfindung wird in einem ersten Durchlauf versucht, wie eben beschrieben einen Barcode als Ganzes aus einem einzigen Ausgangsmuster zu erkennen. Nur wenn dies nicht mit einer vorgegebenen Konfidenz gelingt - weil beispielsweise der vorliegende Barcode nicht Teil der Menge erwarteter Barcodes ist - wird das Gesamt-Ausgangsmuster in die Ausgangsmuster unterteilt und wird die Erkennung einzelner Symbole durchgeführt.
Das tragbare Gerät weist eine Kamera und eine Datenverarbeitungseinheit auf, wobei die Datenverarbeitungseinheit zur Ausführung des beschriebenen Verfahrens programmiert ist. Dazu weist sie vorzugsweise Speichermittel mit darin gespeicherten Computerprogrammcodemitteln auf, welche ein Computerprogramm beschreiben, wobei die Ausführung des Computerprogramms durch die Datenverarbeitungseinheit zur Durchführung des Verfahrens führt. Das Computerprogramm zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, ist in einen internen Speicher einer digitalen Datenverarbeitungseinheit ladbar und weist Computerprogrammcodemittel auf, welche, wenn sie in einer digitalen Datenverarbeitungseinheit ausgeführt werden, diese zur Ausführung des erfindungsgemässen Verfahrens bringen. In einer bevorzugten Ausführungsform der Erfindung weist ein entsprechendes Computerprogrammprodukt einen Datenträger, respektive ein computerlesbares Medium auf, auf welchem die Computerprogrammcodemittel gespeichert sind.
Weitere bevorzugte Ausführungsformen gehen aus den abhängigen Patentansprüchen hervor. Dabei sind Merkmale der Verfahrensansprüche sinngemäss mit den Vorrichtungsansprüchen kombinierbar und umgekehrt.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Im folgenden wird der Erfindungsgegenstand anhand von bevorzugten Ausführungsbeispielen, welche in den beiliegenden Zeichnungen dargestellt sind, näher erläutert. Es zeigen:
Figur 1 den Zusammenhang zwischen den verarbeiteten Informationen;
Figur 2 eine unscharfe Abbildung eines Barcodes;
Figur 3 einen Helligkeitsverlauf entlang eines Barcodes; Figur 4 beispielhafte Ausgangsmuster und damit identifizierte Referenzmuster;
Figur 5 ein Flussdiagramm des Verfahrens; und
Figur 6 ein Mobilgerät. Die in den Zeichnungen verwendeten Bezugszeichen und deren Bedeutung sind in der Bezugszeichenliste zusammengefasst aufgelistet. Grundsätzlich sind in den Figuren gleiche Teile mit gleichen Bezugszeichen versehen.
WEGE ZUR AUSFUHRUNG DER ERFINDUNG
Es wird von einem Codierungssystem an sich bekannter Art ausgegangen: Einem Symbol, beim EAN-Code einer Ziffer, können je nach Zusammenhang verschiedene Codes oder Codemuster zugeordnet sein. Beispielsweise kann eine Ziffer durch eine bestimmte Bitfolge (wie 0111011, entsprechend der Schwarz/Weiss-Folge im Barcode) codiert sein, oder durch dieselbe Bitfolge, aber rückwärts (1101 110), oder durch die komplementäre Bitfolge (1000100), oder rückwärts und komplementär (ÜOlÖÖϋl). Die letzten beiden Varianten sind im EAN-Code als R-Code und G-Code bekannt.
Figur 1 zeigt den Zusammenhang zwischen den gemäss der Erfindung zur Barcodeerkennung verarbeiteten Informationen. Ziel ist, aus einem unscharfen Rohbild 6 (siehe auch Figur 2) eines Barcodes 12, erstellt durch eine Kamera 13, die dem Barcode zugrunde liegende ursprüngliche Symbolfolge 1 zu extrahieren. Durch eine Vorverarbeitung 7 wird aus dem Rohbild 6 ein Gesamt-Ausgangsmuster 8 (siehe auch Figur 3) erzeugt. Dieses entspricht im Wesentlichen einem Helligkeitsverlauf entlang des Barcodes. Der Helligkeitsverlauf kann entlang einer einzelnen Linie senkrecht zu den Balken des Barcodes im Rohbild 6 bestimmt werden, oder durch Mittelung über mehrere solcher Linien. Bei Verdrehungen und Verzerrungen des Rohbildes 6 können diese in an sich bekannter Weise kompensiert werden, bevor das Gesamt-Ausgangsmuster 8 extrahiert wird. Beispielsweise kann dazu die Hough-Transformation verwendet werden. Das Gesamt-Ausgangsmuster 8 wird gemäss der Figur 3 in einzelne Ausgangsmuster 9 unterteilt. Dazu wird vorzugsweise a-priori-Wissen über die Struktur der Codierung verwendet, beispielsweise, dass es sich um einen EAN-8 oder EAN- 13 (UPC- 12) Barcode handelt, dass die Codes für alle Symbole gleich breit sind und aus vier abwechselnd schwarzen und weissen Balken bestehen, und dass bekannte Start- und End-Muster vorliegen.
In der Figur 1 ist beispielhaft zwischen zwei senkrechten Linien ein Gesamt- Ausgangsmuster 8 als Ausschnitt von rund 400 Pixeln aus einem Helligkeitsverlauf mit einer Länge von ca. 650 Pixeln gezeigt. Darüber sind aneinandergereihte Ausgangsmuster 9 mit einer Gesamtbreite von ca. 400 Pixeln gezeigt (Die beiden Muster stammen von verschiedenen Aufnahmen). Die horizontale Achse gibt jeweils die Anzahl Pixel wieder, die vertikale die Helligkeit. In der Figur 3 sind noch einmal und vergrösscrt die aneinandergereihten Ausgangsmuster 9 mit den dazwischenliegenden Grenzen (senkrechte Striche) gezeigt. In der Figur 2 ist eine unscharfe Aufnahme eines Barcodes gezeigt, mit automatisch erkannten Endbegrenzungslinien (senkrechte Striche) und einer horizontalen Linie, entlang welcher der Helligkeitsverlauf bestimmt wird.
Die Ausgangsmuster 9 werden vorzugsweise in einem Mobilgerät 15 in einem Mustervergleich 10 mit Referenzmustern 5 verglichen, um ein erkannte Symbolfolge 11 zu rekonstruieren, welche mit der ursprünglichen Symbolfolge 1 identisch sein soll. Im Folgenden wird zunächst das Erzeugen der Referenzmuster 5 und anschliessend der Mustervergleich 10 beschrieben, wieder mit Bezug auf Figur 1:
Jedem der Symbole, im vorliegenden Beispiel Ziffern von 0 bis 9 (oberste Zeile von Figur 1), ist mindestens ein Codemuster zugeordnet. Hier sind es beispielhaft drei Codemuster 4 je Symbol, wie dies vom EAN-Code her bekannt ist. Diese werden L-, G- und R-Code genannt. Beispielhaft sind in der Figur 1 in der zweiten Zeile die drei Codemuster 4 für die Ziffern 2 und 7 eingezeichnet, die übrigen Codemuster 4 sind durch Punkte angedeutet. In einer ersten Zifferngruppe des 13-stelligen EAN- Codes (es gibt zwei Zifferngruppen, eine links eines Trenn-Musters in der Mitte und eine rechts davon) können nur L-Codes und G-Codes vorliegen, also insgesamt zwanzig Codemuster, in einer zweiten Zifferngruppe ausschliesslich R-Codes, also nur zehn Codemuster. Die erste und die letzte Ziffer eine Zifferngruppe schliesst an einen Start- oder einen Stop-Code an. Für jede Ziffer werden, entsprechend den möglichen Nachbarn, alle Kombinationen unter Variation der beiden Nachbarn gebildet. Für jede Ziffer in der ersten Zifferngruppe sind dies also 20*20=400 (also unter der Annahme, dass einer der Nachbarn der Ziffer bekannt ist) Kombinationen, für jede Ziffer am Rand der ersten Zifferngruppe zwanzig Kombinationen, für jede Ziffer in der zweiten Zifferngruppe 10*10=100 Kombinationen, und für jede Ziffer am Rand der zweiten Zifferngruppezehn Kombinationen.
Jede dieser Kombinationen von Cυuemustern 4 ergibt ein Nominalmuster 2. Die Vielzahl von Nominalmustern 2 ist in der dritten Zeile der Figur 1 durch zwei
Kombinationen beispielhaft repräsentiert. Aus den Nominalmustern 2 werden durch eine Simulation der unscharfen optischen Abbildung 3 die Referenzmuster 5 berechnet. Dazu wird vorzugsweise eine (insbesondere auf eine Dimension reduzierte) PSF der Abbildung 3 verwendet und mit den Nominalmustern 2 gefaltet. Die Referenzmuster 5 können auf einen Abschnitt entsprechend einem interessierenden Symbol reduziert werden. Wenn also beispielsweise die benachbarten Symbole, wie in der Figur 1 gezeigt, für die Simulation der Unscharfe mit einbezogen werden, können die linken und rechten Drittel nach der unscharfen
Abbildung 3 abgeschnitten werden, so dass das Referenzmuster nur noch das mittlere Drittel enthält. Das Referenzmuster 5 repräsentiert in diesem Fall also nur ein
Symbol, jedoch mit dem Einfluss der benachbarten Symbole.
Über die Zuordnung der Referenzmuster 5 und der Nominalmuster 2 zu den
Kombinationen von Codemustern 4 und die Zuordnung von den Codemustern 4 zu den Symbolen sind auch die Nominalmuster 2 jeweils einem Tripel von Symbolen zugeordnet. (Falls, in einer vereinfachten Ausführungsform der Erfindung, angrenzende Codemuster nicht berücksichtigt würden, wäre jedem Nominalmuster 2 genau ein Symbol zugeordnet).
Die Berechnung der Referenzmuster 5 geschieht vorzugsweise offline im voraus, unter Simulation verschiedener Gegenstandsabstände und gegebenenfalls für verschiedene Kameratypen.
In einer bevorzugten Ausführungsform der Erfindung sind die so entstehenden ggf mehrere tausend Referenzmuster 5 in Form einer Bilddatei abgelegt. Dabei wird jedes Referenzmuster 5 beispielsweise durch einen Bildausschnitt mit 30 Bildpunkten (Pixel) repräsentiert. In einem Bild von beispielsweise ca. 1056 mal 421 Pixeln lassen sich somit sämtliche Referenzmuster 5 für einen EAN- 13 -Code bei einem bcbünimlen Gegenstandsabstand abspeichern. Da ein Bild drei Farbkanäle und evtl. noch einen Alphakanal aufweisen kann, und die Referenzmuster 5 nur monochrom sind, können mehrere Sätze von Referenzmustern in Form eines einzigen Bildes übertragen werden. Dies hat den Vorteil, dass bestehende Verfahren zur (verlustfreien) Kompression und zur Übertragung von Bildern an Mobilgeräte mit Kameras verwendet werden können.
Beim Mustervergleich 10, vorzugsweise im Mobilgerät 15, wird nun beispielsweise ausgehend von einem Rand des Barcodes 12 sequentiell vorgegangen und unter Verwendung von Information über den Aufbau eines Barcodes sowie Information über bereits erkannte Symbole die Suche nach dem nächsten optimal passenden Symbol eingeschränkt und dadurch beschleunigt. Dabei ist es grundsätzlich auch möglich, bei Inkonsistenz eines Symbols mit einem erwarteten Symbol die Zuordnung des zuletzt erkannten Symbols zu revidieren. Optional kann die Suche auch durch Information über die im aktuellen Kontext zulässigen Symbolfolgen eingeschränkt werden. Wenn also beispielsweise in einem ersten Ziffernblock eines EAN-13-Codes zu einem ersten Ausgangsmuster 9 ein Symbol als die Ziffer "7", codiert im L-Code, identifiziert wurde, so wird für das nachfolgende Ausgangsmuster 9 ausschliesslich oder zumindest zuerst der Satz von 400 Referenzmustern 5 verwendet (d.h. mit dem Ausgangsmuster 9 verglichen) der zur Ziffer "7", codiert im L-Code, gehört. In einer bevorzugten Variante der Erfindung wird zudem die Suche mit denjenigen Referenzmustern 5 begonnen, deren zugeordnetes mittleres Symbol dem erwarteten nachfolgenden Symbol aus dem Mustervergleich 10 des ersten Ausgangsmusters 9 gleich ist.
Für den bekannten EAN- 13 Code wird bei der Erkennung der einzelnen Symbole also auch erkannt, ob die Symbole jeweils im L- oder im G-Code codiert sind, und entsprechend der Folge von diesen Codierungsarten wird in bekannter Weise die ersteStelle respektive ein weiteres Symbol der Symboϊfoϊge 1 decodiert.
Figur 4 zeigt beispielhafte Ausgangsmuster 9 und damit identifizierte Referenzmuster. Die durchgezogenen Signalverläufe zeigen jeweils das aus dem Kamerabild extrahierte Ausgangsmuster 9. Die strichlierten Verläufe zeigen jeweils das Referenzmuster, welches dem Ausgangsmuster 9 zugeordnet wurde. Die punktierten Verläufe, welche in fast allen Fällen mit den Referenzmustern übereinstimmen, geben zu Vergleichszwecken die korrekten Referenzmuster wieder. Es sind sechs Gruppen aus einer längeren Serie von Mustern wiedergegeben. Jede Gruppe von Mustern ist rund 30 Pixel lang und ist einer Stelle der Symbolsequenz zugeordnet. Der Titel zu einer Gruppe von Mustern gibt mit "digit pos:" die Position des Symbols in der Sequenz wieder, und das vorher erkannte Symbol der Sequenz mit "before d:" und die Codierung (auch "Parität" genannt) des vorher erkannten Symbols mit "p:", dargestellt durch die Werte 1 und 2 für die L oder G-Codierung. Die Ziffern in der Legende in jeder Gruppe von Mustern respektive jedem Symbol der Folge geben jeweils an: • in der ersten Zeile: die korrekte oder ideale Ziffer und Codierung des Symbols (im ersten Beispiel: 7 und 1), dann die korrekte Ziffer und Codierung des nächsten Symbols (im ersten Beispiel: 4 und 2). Diese Werte liegen natürlich nur in einer Testumgebung vor, in welcher die zu identifizierende Codesequenz bekannt ist. Ferner gibt die zweite der in Klammern stehenden Ziffern an, an welcher Stelle der nach Ähnlichkeit mit dem Ausgangsmuster 9 sortierten Referenzmuster 5 sich das korrekte Referenzmuster 5 befindet (im ersten Beispiel an vierter Stelle; in dritten, fünften und sechsten Beispiel an erster Stelle, was also eine perfekte Erkennung bedeutet; im vierten Beispiel hingegen an dreizehnter Stelle).
• in der zweiten Zeile: die Ziffer und Codierung des gemäss dem vorliegenden Verfahren erkannten Symbols (im ersten Beispiel: 7 und 1), dann die erwartete Ziffer und Codierung des nächsten Symbols (im ersten Beispiel: 1 und 1, was in diesem Fall eiiici falbchen Schätzung entspricht). Der Vergleich der zweiten und dritten Zeile zeigt, dass die Erkennung der Symbole für alle Positionen in der Sequenz korrekt ist und nur in den geschätzten Werten für das nächste Symbol zum Teil nicht korrekt ist.
Figur 5 zeigt ein Flussdiagramm des Verfahrens. Darin bezeichnet • ein erster Schritt 21 "grab" das Aufnehmen des Rohbildes 6 mittels der
Kamera 13;
• ein zweiter Schritt 22 "preproc" das Vorverarbeiten 7 des Rohbildes 6 zur Erzeugung der Folge von Ausgangsmustern 9;
• ein dritter Schritt 23 "comp" das Vergleichen 10 der Ausgangsmuster 9 mit gespeicherten Referenzmustern 5
• ein vierter Schritt 24 "assoc" das Bestimmen, für jedes der Ausgangsmuster 9, des optimal zugeordneten Referenzmuster 5;
• ein fünfter Schritt 25 "stör" das Ausgeben, Übermittlen oder Speichern der Symbole, welche den bestimmten Referenzmustern 5 entsprechen. Der dritte und der vierte Schritt 23, 24 können, wenn die Ausgangsmuster 9 nacheinander verarbeitet werden, iterativ wiederholt werden. Für Fälle, in denen die ersten bis fünften Schritte wiederholt ausgeführt werden, bis ein vorgegebenes Abbruchkriterium erfüllt ist, wird im fünften Schritt jeweils das Resultat eines Durchgangs gespeichert, und anschliessend ein weiterer Schritt 26 "ok?" zur Kontrolle des Abbruchkriteriums durchgeführt. Ist das Abbruchkriterium erfüllt (y), wird in einem Ausgabeschritt 27 "outp" das Resultat ausgegeben, gespeichert oder übermittelt, und anschliessend das Verfahren beendet. Andernfalls (n) werden die Schritte mit einer neuen Aufnahme des Rohbildes 6 wiederholt.
Figur 6 zeigt schematisch ein Mobilgerät 15 mit einer Kamera 13 und einer Datenverarbeitungseinheit 14. Die Datenverarbeitungseinheit 14 ist dazu programmiert, die Erkennung ausgehend von einerseits den gespeicherten R.efererizmustem 5 und äiideicibeiLb einem oder einer böige von Rohbildern 6 durchzuführen.
BEZUGSZEICHENLISTE
1 Symbolfolge
2 Nominalmuster 3 unscharfe Abbildung
4 Codemuster
5 Referenzmuster
6 Rohbild
7 Vorverarbeitung 8 Gesamt- Ausgangsmuster
9 Ausgangsmuster
10 Mustervergleich
11 erkannte Symbolfolge
12 Barcode 13 Kamera
14 Datenverarbeirungseinheit
15 Mobilgerät

Claims

PATENT ANSPRÜCHE
1. Verfahren zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, dadurch gekennzeichnet, dass das Verfahren von einem unscharfen Rohbild ausgeht und die folgenden Schritte aufweist:
• Aufnehmen eines Rohbildes (6) des Barcodemusters;
• Vorverarbeiten (7) des Rohbildes (6) zur Erzeugung eines einzigen Ausgangsmusters (8) oder einer Folge von Ausgangsmustern (9);
• Vergleichen (10) der Ausgangsmuster (9) oder des einzigen Ausgangsmusters (8) mit gespeicherten Referenzmustern (5), wobei die
Referenzmuster (5) jeweils unscharfen Abbildungen von scharfen Nominalmustern (2) entsprechen, und jedem Referenzmuster mindestens ein Symbol zugeordnet ist;
• Bestimmen, für das einzige Ausgangsmuster (8) oder für jedes der Folge von Ausgangsmustern (9), jeweils desjenigen Referenzmusters (5), welches die grösste Ähnlichkeit mit dem Ausgangsmuster (9) aufweist;
• Ausgeben, Übermittlen oder Speichern der Symbole, welche den bestimmten Referenzmustern (5) entsprechen, entsprechend dem einzigen Ausgangsmuster (8) oder der Folge der Ausgangsmuster (9), als Symbolfolge.
2. Verfahren gemäss Anspruch 1, dadurch gekennzeichnet, dass der Schritt des Vorverarbeitens (7) mindestens den Schritt aufweist:
• Erzeugen eines Gesamt- Ausgangsmusters (8) entsprechend einem Helligkeitsverlauf entlang des Barcodemusters, und Aufteilen des
Gesamt- Ausgangsmusters (8) in die Folge von Ausgangsmustern (9).
3. Verfahren gemäss Anspruch 2, dadurch gekennzeichnet, dass der Schritt des Vorverarbeitens (7) mindestens den Schritt aufweist: • Erzeugen des Helligkeitsverlaufs entlang des Barcodemusters durch Auswahl einer Bildzeile des Rohbildes (6) oder durch Mittelung über mehrere Bildzeilen des Rohbildes (6).
4. Verfahren gemäss Anspruch 2, dadurch gekennzeichnet, dass der Schritt des Vorverarbeitens (7) mindestens den Schritt aufweist:
• Erzeugen des Helligkeitsverlaufs entlang des Barcodemusters durch Durchführen einer Hough-Transformation auf das Rohbild (6) oder einen Ausschnitt des Rohbildes (6), wodurch eine Häufigkeitsverteilung in einer Abbildungsebene aufgespannt durch Winkel und Abstand entsteht,
Extraktion des Helligkeitsverlaufs entsprechend der Folge von Werten auf derjenigen Geraden in der Abbildungsebene, welche durch die Maxima in der Abbildungsebene führt und einem konstanten Winkel cϊitspπciϊi.
5. Verfahren gemäss einem der bisherigen Ansprüche, wobei für jedes der Nominalmuster (2) mehrere gespeicherte Referenzmuster (5) jeweils für unterschiedliche Abbildungsparameter vorliegen; und beim Vergleichen (10) der Ausgangsmuster (9) mit gespeicherten Referenzmustern (5) ein Satz mit denjenigen Referenzmustern (5) verwendet wird, welcher einer Schätzung dieser
Abbildungsparameter entspricht.
6. Verfahren gemäss Anspruch 5, wobei die unterschiedlichen Abbildungsparameter unterschiedlichen Gegenstandsabständen entsprechen.
7. Verfahren gemäss Anspruch 6, wobei eine Abschätzung des Gegenstandsabstands oder eine Auswahl des verwendeten Satzes von Referenzmustern (5) anhand eines Masses für die Unscharfe des Rohbildes (6) geschieht.
8. Verfahren gemäss Anspruch 7, wobei das Mass für die Unscharfe des Rohbildes (6) ein Maximum des Helligkeitsgradienten bei Schwarz- Weiss-Übergängen im Rohbild (6) oder in den Ausgangsmustern (9) ist.
9. Verfahren gemäss einem der bisherigen Ansprüche, wobei die Referenzmuster (5) jeweils einem Referenzymbol' und mindestens einem Nachbarsymbol zugeordnet sind, und wobei beim Vergleich einer Folge von Ausgangsmustern (9) mit den Referenzmustern (5), nicht nur eine korrekte Zuordnung eines Ausgangsmusters (9) zu einem Referenzmuster (5) und damit auch einem Referenzsymbol gefordert ist, sondern auch mindestens ein Nachbarsymbol mit dem Referenzsymbol zu einem benachbarten Ausgangsmuster (9) übereinstimmen muss.
10. Veifälϊicii gemäss Anspruch 8, wobei beim Vergleich einer Folge von Ausgangsmustern (9), nachdem ein erstes Ausgangsmuster (9) einem
Referenzsymbol zugeordnet wurde, bei einem benachbarten Ausgangsmuster (9) die Menge der zur Auswahl stehenden Referenzmuster (5) auf diejenigen Referenzmuster (5) eingeschränkt wird, deren zugeordnetes Nachbarsymbol gleich dem Referenzsymbol zum ersten Ausgangsmuster (9) ist.
11. Verfahren gemäss einem der bisherigen Ansprüche, wobei die Schritte vom Aufnehmen des Rohbildes (6) bis zum Bestimmen der erkannten Symbolfolge (11) mehrmals wiederholt wird, bis eine vorgegebene Anzahl von Ergebnissen miteinander übereinstimmt.
12. Verfahren gemäss einem der bisherigen Ansprüche, aufweisend den Schritt, dass zu erkennende Symbolfolgen und entsprechende Referenzmuster bei einer Verkaufsstelle drahtlos an ein tragbares Gerät (15) übermittelt werden, und das tragbare Gerät (15) das Verfahren gemäss einem der bisherigen Schritte ausführt.
13. Tragbares Gerät (15) zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, aufweisend eine Kamera und eine Datenverarbeitungseinheit (14), dadurch gekennzeichnet, dass die Datenverarbeitungseinheit (14) zur Ausführung des
Verfahrens gemäss mindestens einem der bisherigen Ansprüche programmiert ist.
14. Computerprogramm zum optischen Erfassen eines linearen Barcodemusters und zum Bestimmen einer Symbolfolge, welche durch das Barcodemuster codiert ist, wobei das Computerprogramm auf einer Datenverarbeitungseinheit 14 ladbar und ausführbar ist, und welches bei der Ausführung das Verfahren nach einem oder mehreren der Ansprüche 1 bis 12 ausführt.
PCT/EP2010/000081 2009-01-15 2010-01-11 Verfahren und tragbares gerät zum erkennen von barcodes WO2010081664A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
ES10700373.3T ES2562254T3 (es) 2009-01-15 2010-01-11 Procedimiento y aparato portátil para el reconocimiento de códigos de barras
US13/144,354 US8596540B2 (en) 2009-01-15 2010-01-11 Method and portable apparatus for recognizing barcodes
PL10700373T PL2377072T3 (pl) 2009-01-15 2010-01-11 Sposób oraz urządzenie przenośne do rozpoznawania kodów paskowych
DK10700373.3T DK2377072T3 (en) 2009-01-15 2010-01-11 Method and portable device for recognizing barcodes
EP10700373.3A EP2377072B1 (de) 2009-01-15 2010-01-11 Verfahren und tragbares gerät zum erkennen von barcodes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP09000470A EP2209078A1 (de) 2009-01-15 2009-01-15 Verfahren und tragbares Gerät zum Erkennen von Barcodes
EP09000470.6 2009-01-15

Publications (1)

Publication Number Publication Date
WO2010081664A1 true WO2010081664A1 (de) 2010-07-22

Family

ID=40445561

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2010/000081 WO2010081664A1 (de) 2009-01-15 2010-01-11 Verfahren und tragbares gerät zum erkennen von barcodes

Country Status (8)

Country Link
US (1) US8596540B2 (de)
EP (2) EP2209078A1 (de)
DK (1) DK2377072T3 (de)
ES (1) ES2562254T3 (de)
HU (1) HUE026753T2 (de)
PL (1) PL2377072T3 (de)
PT (1) PT2377072E (de)
WO (1) WO2010081664A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010054374A1 (de) * 2010-12-13 2012-06-14 National Rejectors, Inc. Gmbh Verfahren und System zum Auslesen von Informationen aus einem Verkaufsautomaten

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2415015B1 (de) * 2009-03-30 2015-08-12 Telefonaktiebolaget LM Ericsson (publ) Strichcode-verarbeitung
US8792748B2 (en) * 2010-10-12 2014-07-29 International Business Machines Corporation Deconvolution of digital images
CN106295735B (zh) * 2016-07-22 2022-10-21 纷美(北京)贸易有限公司 通过推算获取码信息的方法及装置
CN106485255B (zh) * 2016-09-29 2019-12-24 元启工业技术(青岛)有限公司 一种dm码定位及识别的方法与系统
US20190018995A1 (en) * 2017-07-12 2019-01-17 Symbol Technologies, Llc System and method for decoding dynamic barcode quantities
US10846561B1 (en) 2020-04-01 2020-11-24 Scandit Ag Recognition and selection of discrete patterns within a scene or image
CN108520193A (zh) * 2018-03-27 2018-09-11 康体佳智能科技(深圳)有限公司 基于神经网络的二维码识别系统及识别方法
US11514665B2 (en) 2020-04-01 2022-11-29 Scandit Ag Mapping optical-code images to an overview image
US11087105B1 (en) 2020-05-15 2021-08-10 Scandit Ag Performance improvements for recognition of optical patterns in images
US11295163B1 (en) 2020-04-01 2022-04-05 Scandit Ag Recognition of optical patterns in images acquired by a robotic device
US11216628B2 (en) 2020-04-01 2022-01-04 Scandit Ag High-speed scanning of optical patterns using a digital camera
US11290643B1 (en) 2020-06-26 2022-03-29 Scandit Ag Efficient digital camera image acquisition and analysis
US11922271B1 (en) 2020-05-15 2024-03-05 Scandit Ag Virtual screen standby mode for mobile device camera
US11244147B2 (en) 2020-05-15 2022-02-08 Scandit Ag Optical data exchange while preserving social distancing
US11403477B1 (en) 2020-05-15 2022-08-02 Scandit Ag Image exposure performance improvements for recognition of optical patterns
US11417001B1 (en) 2020-07-27 2022-08-16 Scandit Ag Detecting discrete optical patterns using depth estimation
DE102020215826A1 (de) 2020-12-14 2022-06-15 Volkswagen Aktiengesellschaft Verfahren und System zum Identifizieren von Bauteilen anhand von an den Bauteilen angebrachten Codes
US11495036B1 (en) 2021-01-29 2022-11-08 Scandit Ag Segmenting images for optical character recognition
US11880738B1 (en) 2021-08-17 2024-01-23 Scandit Ag Visual odometry for optical pattern scanning in a real scene
US11557136B1 (en) 2022-02-23 2023-01-17 Scandit Ag Identity document verification based on barcode structure
US11562551B1 (en) 2022-04-14 2023-01-24 Scandit Ag Image analysis for decoding angled optical patterns

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5401949A (en) * 1991-06-12 1995-03-28 American Neurologix, Inc. Fuzzy logic barcode reader
US5682030A (en) * 1993-02-02 1997-10-28 Label Vision Systems Inc Method and apparatus for decoding bar code data from a video signal and application thereof
US20070119943A1 (en) * 2005-11-28 2007-05-31 Dariusz Madej System and method for bar code decoding

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5308966A (en) * 1986-08-08 1994-05-03 Norand Corporation Hand-held instant bar code reader having automatic focus control for operation over a range of distances
GB9325439D0 (en) * 1993-12-13 1994-02-16 Ncr Int Inc Barcode reading method and apparatus
US6328213B1 (en) * 1998-06-12 2001-12-11 Symbol Technologies, Inc. Method of processing an analog electrical signal containing information representative of reflected light from coded indicia, wherein the electrical signal contains edge transitions
US6082619A (en) * 1998-12-16 2000-07-04 Matsushita Electric Industrial Co., Ltd. Method for locating and reading a two-dimensional barcode
AU2003223406A1 (en) * 2002-07-08 2004-01-23 Veritec, Inc. Method for reading a symbol having encoded information
US7121469B2 (en) * 2002-11-26 2006-10-17 International Business Machines Corporation System and method for selective processing of digital images
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US7416125B2 (en) * 2005-03-24 2008-08-26 Hand Held Products, Inc. Synthesis decoding and methods of use thereof
US7450740B2 (en) * 2005-09-28 2008-11-11 Facedouble, Inc. Image classification and information retrieval over wireless digital networks and the internet
US7526130B2 (en) * 2005-10-18 2009-04-28 Optoelectronics Co., Ltd. Signal processing in barcode reading with a wavelet transformation
US8948513B2 (en) * 2009-01-27 2015-02-03 Apple Inc. Blurring based content recognizer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5401949A (en) * 1991-06-12 1995-03-28 American Neurologix, Inc. Fuzzy logic barcode reader
US5682030A (en) * 1993-02-02 1997-10-28 Label Vision Systems Inc Method and apparatus for decoding bar code data from a video signal and application thereof
US20070119943A1 (en) * 2005-11-28 2007-05-31 Dariusz Madej System and method for bar code decoding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
J. KIM; H. LEE: "Joint nonuniform illumination estimation and deblurring for bar code signals", OPT. EXPRESS, vol. 15, 2007, pages 14817 - 14837, XP002494851, DOI: doi:10.1364/OE.15.014817
S. ESEDOGLU: "Blind deconvolution of bar code signals", INVERSE PROBL., vol. 20, 2004, pages 121 - 135, XP020030623, DOI: doi:10.1088/0266-5611/20/1/007
TA-HSIN LI; KE-SHIN LII: "Deblurring Two-Tone Images by A Joint Estimation Approach Using Higher-Order Statistics", SPW-HOS '97, 1997, pages 108, XP010239826, DOI: doi:10.1109/HOST.1997.613497

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010054374A1 (de) * 2010-12-13 2012-06-14 National Rejectors, Inc. Gmbh Verfahren und System zum Auslesen von Informationen aus einem Verkaufsautomaten

Also Published As

Publication number Publication date
US8596540B2 (en) 2013-12-03
ES2562254T3 (es) 2016-03-03
PL2377072T3 (pl) 2016-05-31
DK2377072T3 (en) 2016-02-15
US20110297748A1 (en) 2011-12-08
PT2377072E (pt) 2016-03-28
HUE026753T2 (hu) 2016-07-28
EP2377072B1 (de) 2015-12-02
EP2377072A1 (de) 2011-10-19
EP2209078A1 (de) 2010-07-21

Similar Documents

Publication Publication Date Title
EP2377072B1 (de) Verfahren und tragbares gerät zum erkennen von barcodes
DE102009059264B9 (de) Verfahren zum schnellen Lokalisieren eines entschlüsselbaren Musters
DE102012110376B4 (de) Verfahren und Vorrichtung zum Ordnen von Codekandidaten in einem Bild für Dekodierversuche
DE102009036474B4 (de) Bilddaten-Kompressionsverfahren, Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und computerlesbares Aufzeichnungsmedium
DE69734855T2 (de) Vorrichtung und Verfahren zur Extraktion eines Objektes in einem Bild
DE60307583T2 (de) Auswertung der Schärfe eines Bildes der Iris eines Auges
DE69226846T2 (de) Verfahren zur Bestimmung von Wortgrenzen im Text
DE102009036467A1 (de) Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitsprogamm und computerlesbares Aufzeichnungsmedium
DE3633743A1 (de) Zeichenerkennungssystem
DE112011102647T5 (de) Verfahren zur Herstellung von super-auflösenden Bildern und nicht-linearer Filter zu dessen Implementierung
DE102012016160A1 (de) Bilderfassung für eine spätere Nachfokussierung oder Fokusmanipulation
DE102004046237A1 (de) Verfahren und System für die gemischte rigide Registrierung von medizinischen 2D/3D-Bildern
DE69729368T2 (de) Bildprozessor, Gerät und Verfahren zur Bildverarbeitung
EP2639738A1 (de) Verfahren und Lesegerät zur Erfassung einer Mehrzahl nacheinander auf eine Anzeigevorrichtung dargestellter zweidimensionaler Codes
EP3123393B1 (de) Verfahren zur optischen erkennung von zeichen
DE102008034979A1 (de) Verfahren und Einrichtung zur Erzeugung von fehlerreduzierten hochauflösenden und kontrastverbesserten Bildern
CN108959998A (zh) 二维码识别方法、装置及系统
DE102008013789A1 (de) Vorrichtung, Verfahren und Programm zum Eliminieren von Zeichenstörungen
DE69628654T2 (de) Messsystem zur bestimmung der globalen modulationsübertragungsfunktion
DE69503807T2 (de) Strichcode-decodierung
Mahmood et al. Automatic threshold selection for morphological attribute profiles
DE112019003746T5 (de) Bildverarbeitungsvorrichtung, bildverarbeitungsverfahren und programm
DE69118962T2 (de) System zur Bildverarbeitung
KR20220004454A (ko) 파노라마 영상에 의한 다양한 개체의 스마트 팜 생육 관리 시스템 및 방법
DE69315990T2 (de) Mustererkennung durch Erzeugung und Benutzung zonenweiser Merkmale und Anti-Merkmale

Legal Events

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

Ref document number: 10700373

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010700373

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13144354

Country of ref document: US