EP1312034A1 - Verfahren zur automatischen erkennung einer gerichteten struktur - Google Patents
Verfahren zur automatischen erkennung einer gerichteten strukturInfo
- Publication number
- EP1312034A1 EP1312034A1 EP01962610A EP01962610A EP1312034A1 EP 1312034 A1 EP1312034 A1 EP 1312034A1 EP 01962610 A EP01962610 A EP 01962610A EP 01962610 A EP01962610 A EP 01962610A EP 1312034 A1 EP1312034 A1 EP 1312034A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- feature
- image
- value
- block
- digital image
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods 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/10821—Methods 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/1093—Methods 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 sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
- G06T7/41—Analysis of texture based on statistical description of texture
- G06T7/44—Analysis of texture based on statistical description of texture using image operators, e.g. filters, edge density metrics or local histograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Definitions
- the invention relates to a method for automatically recognizing a location and an orientation of a directional structure in a digital image, in particular for determining the location and the orientation of a bar code contained in the digital image.
- a second image is calculated from an image using an operator (e.g. a Laplacian-of-Gaussian operator, or LoG operator for short), the pixel values of which are not the brightness but the local contrast Show the location of each pixel.
- this second image is then examined to determine whether it contains pixels that have high values along essentially straight and essentially parallel lines.
- a disadvantage of such methods is the high computing effort, which requires complex computing units or long periods of value.
- the use of an operator can be too complex for many applications. This applies even more to the subsequent evaluation of the second image.
- Other methods determine the two-dimensional autocorrelation function (AKF) or the two-dimensional Fourier spectrum within local image areas. The values of the AKF or the Fourier spectrum are then processed further in order to obtain this information about the structuring of the associated areas.
- the computational effort for these methods is also very high.
- the addressed structures in pictures can also be barcodes.
- These barcodes are special optical codes that consist, for example, of parallel bars of different thicknesses, which are separated from one another by gaps of different thicknesses. The sequence of the thicknesses of the bars and spaces represents the information stored in the barcode.
- Barcodes can be printed on goods packaging and labels, or used for direct marking of various products. A key feature is the machine readability of barcodes. This means that it is possible with special equipment (barcode reader) to recover the information stored in a barcode.
- a time signal is formed by scanning the template with a laser beam, which is evaluated by a subsequent computing unit.
- This is called a 1D Method.
- the barcode can only be read if the laser beam cuts the barcode across the bars and spaces. If the relative position of the barcode and reader is not fixed from the start, but the code should nevertheless be read (regardless of position), it is necessary to scan the document several times along different directions (omnidirectional reading). According to the device, this is usually achieved with moving mirrors, which guide the laser beam in such a way that the original is scanned at different locations and along different directions.
- the disadvantage here is the need to use moving parts, which, among other things, results in restrictions in terms of minimum size and service life.
- the scene is recorded by a camera equipped with an electronic sensor and the image projected onto the sensor is digitized.
- the digital image is then transmitted to a decoding unit for evaluation (2D method).
- 2D methods are that you can do without moving parts with this barcode reader.
- the decoding unit has a digital image that contains an image of the bar code.
- the decoding unit can optionally access the individual pixels of the image, which significantly expands the class of possible decoding methods.
- the entire repertoire of the methods of digital image processing in the sense of preprocessing the image This makes it possible to compensate for errors or malfunctions in the code that may arise during the printing process, for example, within certain limits.
- Localizing methods are particularly advantageous when the position and / or the orientation of the bar code within the field of view of the camera cannot be reliably predicted and the bar code is also to be read (omnidirectional reading).
- the ability for omnidirectional reading is achieved by evaluating the image along a large number of virtual scan lines.
- An ID signal is thus formed from the image by reading out the gray values of the image at different locations along different directions.
- the ID signal thus formed is then evaluated using fundamentally similar methods to a time signal generated by a laser scanner.
- the gray values of the image are evaluated along a large number of lines and, on the one hand, the computing effort is multiplied and, on the other hand, the risk of incorrect readings is increased.
- additional markings are made in the direct vicinity of the bar code. In a first step, these markings are recognized by an appropriately modified reading device. Since the markings are at a predetermined distance from the barcode, the barcode is also localized when the markings are localized. This method has the disadvantage that it requires printed markings. Since these markings are not part of a generally binding standard, they are not used consistently.
- the additional markings also require an additional printed area. Especially when marking goods (EAN / UPC), the printable area is valuable as an advertising medium, which is why the use of additional markings has so far not been successful.
- barcodes are made up of parallel lines, they represent directed structures in the sense of digital image processing and it is in principle possible to use the methods for localizing directed structures (texture analysis) originating from digital image processing also for localizing barcodes.
- these methods require the use of special operators (eg LoG operator), the determination of two-dimensional correlation functions or the determination of the two-dimensional Fourier spectrum, ie the application computationally complex algorithms and therefore cannot be used economically for the localization of barcodes.
- the above object is achieved in that in a method for automatically recognizing a location and an orientation of a directional structure in a digital image, in particular for determining the location and the orientation of a bar code contained in the digital image, the digital image is preferably in contiguous Blocks is divided and at least one texture feature is determined for each block, which is a measure of the structuring of the blocks along predetermined preferred directions, and parameters are determined from the texture features that indicate the location and orientation of a directional structure in the digital image ,
- the image is an image of a real scene recorded by a camera-based code reader, which contains, among other things, a barcode.
- a matrix of image elements pixels
- each pixel being assigned a location (usually in the form of a row index and the column index) and a value characterizing the brightness at the location of the pixel (value of the pixel). It is also possible, however, to automatically analyze images produced in another way and in electronic form using the method presented.
- a further advantage that the method according to the invention brings with it is that no additional markings with respect to the barcode-containing area are required, which were required for the barcode in conventional methods for localization and orientation determination. This means that no additional space is required for the markings, which means that this space is available as a possible advertising space. This is particularly interesting, for example, if the packaging of a product is relatively mine.
- Another advantage of the method is that only a single line has to be evaluated after the localization. In addition, focusing on those areas of the image that are likely to contain barcodes reduces the risk of misreading.
- the digital image is divided into areas, the so-called blocks.
- the blocks are preferably arranged contiguously.
- the blocks it is advantageous if the blocks have a rectangular shape, preferably a square shape.
- An embodiment variant of the method provides that for each of these blocks, a predetermined number of first direction-sensitive features, the so-called “features of the first order", are preferably calculated. These "features of the first order” are also referred to below as “first texture features”.
- a feature function is an assignment rule that uniquely assigns a number to a block. All feature functions are designed in such a way that values are assigned to a block the gray value differences of the block are greater along a predetermined preferred direction, ie a set of feature functions is defined, each of the feature functions from this set being able to be assigned a preferred direction along which an image block is evaluated.
- the feature functions are preferably designed such that the associated preferred directions cover all of the directions as evenly as possible.
- the feature function is selected in such a way that two arbitrarily selected different feature functions each have different preferred directions.
- a "first-order feature" is determined by applying a feature function to a block. A value is thus obtained for each block and for each feature function.
- the ratio of the number of pixels per block to the number of feature functions is significantly greater than 1, because then the number of features per image is significantly less than the number of pixels of the image, which significantly increases the complexity of the subsequent calculation reduced.
- the feature function can also be thought of as a “measuring device” that measures the “activity” of an image or an image section along the preferred direction.
- the texture feature then corresponds to the "deflection" of the direction-sensitive measuring device "feature function". If a block contains a directed structure, a text feature, which runs essentially parallel to the structure, have a relatively low value. A feature that is substantially perpendicular to the structure, on the other hand, will have a relatively high value. A directed structure within a block is therefore detected in two different ways.
- a directional structure manifests itself through high values of a feature function, the preferred direction of which is essentially perpendicular to the structure.
- a directional structure is expressed by low values of a feature function, the preferred direction of which runs essentially parallel to the structure.
- a new "second texture feature” can be determined from two “first-order features” whose feature functions are characterized by preferred directions that are essentially perpendicular to each other.
- a “second texture feature” determined in this way by offsetting two “features of the first order” is also referred to below as the "feature of the second order”.
- a “second-order feature” therefore assumes a high value if, for example, the block has a high activity along the preferred direction and at the same time a low activity perpendicular to the preferred direction. In this way, among other things, it is achieved that neither structurally poor regions nor undirected structured regions increase a high value of a "second-order feature" and thus lead to a misinterpretation (supposed recognition of a non-existent directed structure).
- a “second-order feature” is understood here to mean a feature whose value represents a measure of the probability of the presence of a directional structure perpendicular to a preferred direction, regardless of whether it is by offsetting two "first-order features" or in a single one Step was calculated.
- the "second texture features" belonging to the same direction are entered, for example, in so-called feature maps, and preferably at the point where the associated block of the input image is located.
- the feature map is, for example, a reduced image, the pixels of which preferably no longer indicate the brightness of the original image, but rather the probability of the presence of a directional structure in a specific direction.
- a separate feature value is preferably not assigned to each pixel of the original image, but rather the different feature values belong to the blocks and the feature map is thus, for example, correspondingly smaller than the original image.
- the evaluation is preferably based only on the previously determined features, but not on the gray values of the image. This allows a significantly lower computing effort to be achieved than, for example, an image generated with a LoG operator. This is due on the one hand to the data reduction (the number of features is less than the number of pixels in the input image), but on the other hand it is also due to the fact that the feature functions are designed in such a way that they allow conclusions to be drawn about the local orientation of the individual image areas.
- parameters are available, among other things, that provide information about the location and the orientation or an angular position of a directional structure in FIG specify a digital image. Furthermore, the parameters can be used to determine a probability for the existence of a directed structure.
- One embodiment provides that those "features of the second order" in each feature card, whose feature values are below a suitably selected threshold, for example, are initially set to zero, and only those features whose value is really positive are used for further evaluation, for example the threshold essentially has an influence on the detection sensitivity.
- a low threshold if, for example, one also wants to detect directional structures with low contrast.
- a high threshold if, for example, the structure to be recognized has a high contrast (e.g. with a perfectly printed barcode), but at the same time high-contrast textured disturbances are expected in the area of the directional structure sought.
- a feature card is preferably first selected from all feature cards, which with a high probability indicates the existence of a directed structure in the image. It is also advantageous to select those feature cards whose values have the greatest mean, for example. The "best" feature card selected in this way is further investigated to confirm or reject the existence of a directed structure.
- the location of a directional structure present in the image can be estimated by determining a location parameter (eg mean value, weighted mean value, median) of the feature map.
- the angular position of the directional structure already roughly results from the preferred direction assigned to the selected feature card.
- a more precise estimate of the orientation of the structure is preferably determined by using a regression method from the feature map.
- a block-wise evaluation of gray value differences of pixel pairs along the chosen preferred direction is advantageous for the determination of the first-order feature map, because this method can be implemented with significantly less computational effort compared to the formation of the two-dimensional autocorrelation function or that of the two-dimensional Fourier spectrum, for example.
- the figure is a schematic representation of the detection method using an exemplary embodiment.
- an image recording unit is connected to a computing unit.
- the image acquisition unit delivers a digitized image of the size 640 x 480 pixels with typically 256 gray levels to the computing unit.
- the image is then first divided into 20 x 15 non-overlapping blocks of 32 x 32 pixels. Furthermore, four "first-order features" are determined for each of these blocks.
- the calculation rule describes each "first-order feature” by means of a feature function.
- Each feature function uniquely assigns a number to each image block and is defined by two parameters, namely by
- the components of the clique vector are integers (positive or negative), and the increment DSAMPLE is a natural number.
- Condition 2 states that the pixel pairs are distinguished by the fact that, on the one hand, the connecting line between the pixels of the pair runs along the preferred direction given by the clique vector and, on the other hand, the distance between two points of a pair of points is constant.
- Condition 3 allows to select only a part of the point pairs possible within a block according to condition 2 and thus enables a reduction in the computational effort to determine the respective texture feature.
- the next step is to determine the "first-order characteristic". For each pair of pixels that meets the above conditions, the absolute amount of the difference or the square of the difference between the Gray values of the two points determined. The values thus obtained are then summed up.
- DSAMPLE is set to 4, which results in a saving of computing time of approximately 16 compared to a DSAMPLE value of 1.
- the "features of the first order" are entered in so-called feature cards.
- T_n (x, y), where n takes the values 1 to 4, x the values 1 to 20 and y the values 1 to 15.
- T_2 (3,4) the
- feature T_2 (3,4) indicates the activity of the block at position (3,4) along a vertical direction.
- the “second order feature cards” are determined from the “first order feature cards”.
- a "first-order feature card” T_i is offset against another "first-order feature card” TJ.
- the calculation is carried out using a TJ feature card whose clique vector C j is perpendicular to the clique vector C j the " First order feature card ".
- c : and c 2 or c 3 and c 4 are perpendicular to each other.
- the type of calculation is determined by two parameters FACTOR and THRESHOLD and is carried out in blocks as described below.
- FACTOR and THRESHOLD are determined as follows:
- M_l (x, y) T_l (x, y) - FACTOR * T_2 (x, y),
- M_2 (x, y) T_2 (x, y) - FAKTOR * T_l (x, y)
- M_3 (x, y) T_3 (x, y) - FAKTOR * T_4 (x, y)
- the next step is to determine the threshold that depends on the application.
- the threshold value is essentially influenced by the selected block size and the gray value resolution of the original image. In this step, all entries in all feature cards are set to zero if they are smaller than this threshold.
- Typical values for the factor are in the range 1.5 ... 2.5.
- the feature cards are then sorted. This is done in such a way that the number of non-zero entries is counted for each feature card and the feature cards are sorted according to this number in descending order. The first of the feature cards in the list thus receives the most non-zero entries and is therefore considered the first candidate.
- the center of gravity of the feature cards to be considered (the first moment in the x and y directions) is then determined.
- the feature card under consideration contains a non-zero value at round (x s , y s ), the feature card is continued as the current map.
- the center of gravity of the next feature card becomes the List determined. It is then checked whether this card contains a non-zero value at the point of the center of gravity.
- the center of the barcode (based on the size of the original image) is determined from the center of gravity (x s , y s ) of the current feature map by scaling with the block size.
- a regression line running through the center of gravity (x s , y s ) is determined for the feature map by linear regression.
- This line of compensation runs essentially perpendicularly through the directed structure. If the directional structure is now a barcode that is to be decoded, this straight line can be used as a virtual scan line, since it cuts the barcode completely with a high probability of being whale.
- Image is characterized by the data reduction contained in the original image data, so that a significantly lower computing effort has to be carried out in order to localize a directed structure. It is advantageous here that the digital image is divided into adjacent blocks and these blocks are described by feature functions so that not every individual pixel in the input image is included in the calculation, but only the number of texture features.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
Um den Ort un die Orientierung einer gerichteten Struktur in einem digitalen Bild automatisch erkennen zu können, schlägt die Erfindung ein Verfahren vor, bei dem das digitale Bild in vorzugsweise zusammenhängende Blöcke unterteilt wird und für jeden Block mindestens ein Texturmerkmal bestimmt wird, welches ein Mass für die Strukturierung der Blöcke entlang vorgegebener Vorzugsrichtungen darstellt und aus den Texturmerkmalen Parameter ermittelt werden, die den Ort und die Orientierung einer gerichteten Struktur in dem digitalen Bild angeben.
Description
Verfahren zur automatischen Erkennung einer gerichteten Struktur
Die Erfindung betrifft ein Verfahren zur automatischen Erkennung eines Ortes und einer Orientierung einer gerichteten Struktur in einem digitalen Bild, insbesondere zur Bestimmung des Ortes und der Orientierung eines in dem digitalen Bild enthaltenen Barcodes.
Es sind verschiedene Verfahren zur Erkennung und Lokalisierung gerichteter Strukturen in Bildern bekannt. Beispielsweise gibt es Verfahren, bei denen aus einem Bild durch Anwendung eines Operators (z. B. eines Laplacian-of-Gaussian-Operators, kurz LoG-Operator) ein zweites Bild berechnet wird, dessen Pixelwerte nicht die Helligkeit, sondern den lokalen Kontrast am Ort der jeweiligen Pixel darstellen. In einem zweiten Schritt wird dann dieses zweite Bild daraufhin untersucht, ob es entlang im wesentlichen gerader und im wesentlichen paralleler Linien Pixel enthält, die hohe Werte aufweisen.
Ein Nachteil solcher Methoden besteht in dem hohen Rechenaufwand, der aufwendige Recheneinheiten oder lange Aus Wertezeiten erfordert. Schon die Verwendung eines Operators kann für viele Anwendungen zu aufwendig sein. Nochmehr gilt dies für die sich anschließende Auswertung des zweiten Bildes.
Andere Verfahren bestimmen innerhalb lokaler Bildbereiche die zweidi- mensionale Autokorrelationsfunktion (AKF) oder das zweidimensionale Fourier Spektrum. Die Werte der AKF oder des Fourier Spektrums werden daraufhin weiterverarbeitet, um diese Informationen über die Strukturie- rung der zugehörigen Bereiche zu erhalten. Auch bei diesen Methoden ist der Rechenaufwand sehr hoch.
Die angesprochenen gerichteten Strukturen in Bildern können auch Barcodes sein. Diese Barcodes sind spezielle optische Codes, die beispielsweise aus parallelen Strichen (Bars) unterschiedlicher Dicke bestehen, die durch Lücken (Spaces) unterschiedlicher Dicken voneinander getrennt sind. Die Abfolge der Dicken der Bars und Spaces stellen die im Barcode gespeicherte Information dar. Barcodes können auf Warenverpackungen und Etiketten aufgedruckt werden, oder zur direkten Markierung verschiedenster Produkte verwendet werden. Ein wesentliches Merkmal ist dabei die Maschinenlesbar keit von Barcodes. Das heißt, dass es mit einer speziellen Apparatur (Barcodeleser) möglich ist, die in einem Barcode gespeicherte Information zurückzugewinnen.
Zur Lesung von Barcodes bestehen zur Zeit zwei grundsätzlich verschiedene Verfahrensklassen.
Bei der einen Klasse wird durch Abtasten der Vorlage mit einem Laserstrahl ein Zeitsignal gebildet, das von einer nachfolgenden Recheneinheit ausgewertet wird. Hierbei spricht man von einem sogenannten 1D-
Verfahren. Bei Lesegeräten, die nach dem 1 D-Verfahren arbeiten, kann eine Lesung des Barcodes nur dann erfolgen, wenn der Laserstrahl den Barcode quer zu den Bars und Spaces schneidet. Wenn die relative Lage von Barcode und Lesegerät nicht von vornherein festliegt, eine Lesung des Codes aber dennoch ermöglicht werden soll (lageunabhängig), ist es erforderlich, die Vorlage entlang verschiedener Richtungen mehrfach abzutasten (omnidirektionale Lesung). Vorrichtungsgemäß wird dies üblicherweise mit bewegten Spiegeln erreicht, die den Laserstrahl so lenken, dass die Vorlage an verschiedenen Orten und entlang verschiedener Rich- hingen abgetastet wird. Nachteilig ist hierbei die Notwendigkeit bewegte Teile einzusetzen, wodurch sich unter anderem Einschränkungen bei der minimalen Baugröße und der Standzeit ergeben.
Bei der anderen Klasse wird die Szene von einer mit einem elektronischen Sensor ausgestatteten Kamera aufgenommen und das auf den Sensor pro- jizierte Bild digitalisiert. Das digitale Bild wird dann zur Auswertung an eine Dekodiereinheit übertragen (2D-Verfahren). Ein Vorteil von 2D- Verfahren besteht darin, dass man bei diesem Barcodeleser auf bewegte Teile verzichten kann. Ein weiterer Vorteil besteht darin, das in der Dekodiereinheit ein digitales Bild vorliegt, welches ein Abbild des Barcodes enthält.
Die Dekodiereinheit kann dabei wahlfrei auf die einzelnen Pixel des Bildes zugreifen, wodurch die Klasse möglicher Dekodiermethoden wesentlich erweitert wird. Insbesondere kann das gesamte Repertoire der Me-
thoden der digitalen Bildverarbeitung im Sinne einer Vorverarbeitung des Bildes verwendet werden. Es lassen sich dadurch Fehler oder Störungen des Codes, die beispielsweise beim Druckprozess entstehen können, in gewissen Grenzen ausgleichen.
Bei den 2D-Verfahren zur Codedekodierung kann man unterscheiden, ob eine Bestimmung des Ortes und der Orientierung des Barcodes im Bild vorgenommen wird (lokalisierende Verfahren) oder nicht.
Lokalisierende Verfahren sind insbesondere dann vorteilhaft, wenn die Lage und/oder die Orientierung des Barcodes innerhalb des Sichtfeldes der Kamera nicht sicher vorausgesagt werden kann und der Barcode zudem gelesen werden soll (omnidirektionale Lesung).
Bei nicht lokalisierenden Verfahren erzielt man die Fähigkeit zur omnidi- rektionalen Lesung durch Auswertung des Bildes entlang einer Vielzahl von virtuellen Scanlinien. Es wird also aus dem Bild ein lD-Signal gebil- det, indem die Grauwerte des Bildes an verschiedenen Orten entlang verschiedener Richtungen ausgelesen werden. Das so gebildete lD-Signal wird daraufhin mit grundsätzlich ähnlichen Verfahren ausgewertet, wie ein von einem Laserscanner generiertes Zeitsignal. Unvorteilhaft ist dabei, dass die Grauwerte des Bildes entlang einer Vielzahl von Linien aus- gewertet werden und sich somit einerseits der Rechenaufwand vervielfacht und andererseits die Gefahr von Fehllesungen erhöht wird.
Bei einem bekannten Verfahren, das diese Nachteile durch eine Orts- und Lagebestimmung des Barcodes vermeidet, werden in der direkten Umgebung des Barcodes zusätzliche Markierungen angebracht. Diese Markierungen werden in einem ersten Schritt von einem entsprechend modifi- zierten Lesegerät erkannt. Da sich die Markierungen in einem vorbestimmten Abstand zum Barcode befinden, ist mit der Lokalisierung der Markierungen auch der Barcode lokalisiert. Bei diesem Verfahren ist es nachteilig, dass es bedruckte Markierungen erfordert. Da diese Markierungen nicht Bestandteil eines allgemein verbindlichen Standards sind, werden diese nicht durchgängig verwendet.
Außerdem benötigen die zusätzlichen Markierungen auch eine zusätzliche bedruckte Fläche. Gerade bei der Markierung von Waren (EAN/UPC) ist die bedruckbare Fläche als Werbemedium kostbar, weshalb sich die Verwendung zusätzlicher Markierungen bisher nicht durchsetzen konnte.
Da Barcodes aus parallelen Strichen aufgebaut sind, stellen sie im Sinne der digitalen Bildverarbeitung gerichtete Strukturen dar und es ist prinzipiell möglich, die aus der digitalen Bildverarbeitung stammenden Verfahren zur Lokalisierung gerichteter Strukturen (Texturanalyse) auch zur Lokalisierung von Barcodes einzusetzen. Diese Verfahren erfordern je- doch die Anwendung von speziellen Operatoren (z. B. LoG-Operator), die Bestimmung zweidimensionaler Korrelationsfunktionen oder die Bestimmung des zweidimensionalen Fourierspektrums, also die Anwendung
rechenaufwendiger Algorithmen und sind deshalb zur Lokalisation von Barcodes nicht wirtschaftlich einsetzbar.
Es ist somit Aufgabe vorliegender Erfindung, ein Verfahren bereitzustellen, welches sich zur automatischen Erkennung eines Ortes und einer O- rientierung einer gerichteten Struktur in einem digitalen Bild, insbesondere zur Erkennung eines in einem digitalen Bild enthaltenen Barcodes, sowie zur zumindest näherungsweise Bestimmung des Ortes und der Orientierung dieses Barcodes wirtschaftlich einsetzten lässt.
Erfindungsgemäß ist die obige Aufgabe dadurch gelöst, dass in einem Verfahren zur automatischen Erkennung eines Ortes und einer Orientierung einer gerichteten Struktur in einem digitalen Bild, insbesondere zur Bestimmung des Ortes und der Orientierung eines in dem digitalen Bild enthaltenen Barcodes, das digitale Bild in vorzugsweise zusammenhängende Blöcke unterteilt wird und für jeden Block mindestens ein Textur- merkmal bestimmt wird, welches ein Maß für die Strukturierung der Blöcke entlang vorgegebener Vorzugsrichtungen darstellt, und aus den Texturmerkmalen Parameter ermittelt werden, die den Ort und die Orientierung einer gerichteten Struktur in dem digitalen Bild angeben.
Vorteilhafterweise ist das Bild dabei ein von einem kamerabasierten Co- delesegerät aufgenommenes Abbild einer realen Szene, die unter anderem einen Barcode enthält. Unter einem elektronisch vorliegenden oder digitalen Bild wird hierbei ein aus einer Matrix von Bildelementen (Pixeln) zu-
sammengesetztes Objekt verstanden, wobei jedem Pixel ein Ort (üblicherweise in Form eines Zeilenindex und des Spaltenindex) sowie ein die Helligkeit am Ort des Pixels kennzeichnender Wert (Wert des Pixels) zugeordnet ist. Es können aber auch auf andere Weise erzeugte, in elektro- nischer Form vorliegender Bilder mit dem vorgestellten Verfahren automatisch analysiert werden.
Besonders vorteilhaft bei dem erfindungsgemäßen Verfahren ist es, dass sich der Rechenaufwand gegenüber bekannten Verfahren zur Lokalisierung gerichteter Strukturen, um ein vielfaches reduziert. Die Anwendung dieses Verfahrens zur Lokalisierung von Barcodes wird durch diesen verringerten Rechenaufwand wirtschaftlich sehr interessant.
Einen weiteren Vorteil, den das erfindungsgemäße Verfahren mit sich bringt, ist, dass keine zusätzlichen Markierungen hinsichtlich der Barcode aufweisenden Fläche erforderlich sind, welche bei herkömmlichen Ver- fahren zur Lokalisierung und Orientierungsbestimmung für den Barcode benötigt wurden. Somit wird auch keine zusätzliche Fläche für die Markierungen benötigt, wodurch diese Fläche als eventuelle Werbefläche zur Verfügung steht. Dies ist beispielsweise besonders interessant, wenn die Verpackung einer Ware relativ Mein ist.
Vorteilhaft bei dem Verfahren ist ebenfalls, dass nach der Lokalisierung nur noch eine einzige Linie ausgewertet werden muss.
Außerdem verringert die Konzentration auf diejenigen Bildbereiche, die mit hoher Wahrscheinlichkeit Barcodes enthalten, die Gefahr von Fehllesungen.
Zur vorteilhaften Lokalisierung einer gerichteten Struktur wird das digita- le Bild in Bereiche eingeteilt, die sogenannten Blöcke. Hierbei sind die Blöcke vorzugsweise zusammenhängend angeordnet. Um das Verfahren weiter zu vereinfachen ist es vorteilhaft, wenn die Blöcke eine rechteckige Form, vorzugsweise eine quadratische Form, aufweisen.
Eine Ausfuhrungsvariante des Verfahrens sieht vor, dass für jeden dieser Blöcke, wird vorzugsweise eine vorgegebene Anzahl von ersten richtungsempfindlichen Merkmalen, den sogenannten „Merkmalen erster Ordnung" berechnet. Diese „Merkmale erster Ordnung" werden im folgenden auch als „erste Texturmerkmale" bezeichnet.
Die Berechnungsvorschrift für diese „Merkmale erster Ordnung" wird dabei durch sogenannte Merkmalsfunktionen beschrieben. Eine Merkmalsfunktion ist eine ZuOrdnungsvorschrift, die einem Block in eindeutiger Weise eine Zahl zuordnet. Alle Merkmalsfunktionen sind dabei so gestaltet, dass einem Block um so höhere Werte zugeordnet werden, je größer die Grauwertunterschiede des Blocks entlang einer vorbestimmten Vorzugsrichtung sind. Es wird also ein Satz von Merkmalsfunktionen festgelegt, wobei jeder der Merkmalsfunktionen aus diesem Satz eine Vorzugsrichtung zugeordnet werden kann, entlang der ein Bildblock aus-
gewertet wird. Dabei sind die Merkmalsfunktionen vorzugsweise so gestaltet, dass die zugehörigen Vorzugsrichtungen die Gesamtheit aller Richtungen möglichst gleichmäßig abdecken.
Insbesondere werden die Merkmalsfunktion so gewählt, dass je zwei be- liebig ausgewählte verschiedene Merkmalsfunktionen auch verschiedene Vorzugsrichtungen besitzen. Dabei wird ein „Merkmal erster Ordnung" durch Anwendung einer Merkmalsfunktion auf einem Block bestimmt. Man erhält also für jeden Block und für jede Merkmalsfunktion einen Wert.
Es ist vorteilhaft, wenn das Verhältnis der Anzahl Pixel pro Block zu der Anzahl der Merkmalfunktionen deutlich größer als 1 ist, weil dann die Anzahl der Merkmale pro Bild deutlich geringer ist als die Anzahl der Pixel des Bildes, wodurch sich die Komplexität der nachfolgenden Berechnung wesentlich verringert.
Um nun zusätzlich Einsparungen an Rechenzeit und Speicherzugriffzeit zu gewinnen, ist es vorteilhaft, jeweils nur einen Teil der Pixel eines Blocks auszuwerten.
Man kann sich dabei die Merkmalsfunktion auch als eine „Messeinrichtung" vorstellen, die die „Aktivität" eines Bildes oder eines Bildausschnit- tes entlang der Vorzugsrichtung misst. Das Texturmerkmal entspricht dann dem „Ausschlag" des richtungssensitiven Messgerätes „Merkmalsfunktion". Beinhaltet ein Block eine gerichtete Struktur, so wird ein Tex-
turmerkmal, das im wesentlichen parallel zu der Struktur verläuft, einen relativ geringen Wert aufweisen. Ein Merkmal, das im wesentlichen senkrecht zu der Struktur verläuft, wird hingegen einen relativ hohen Wert aufweisen. Eine gerichtete Struktur innerhalb eines Blockes wird also auf zwei verschiedene Weisen detektiert.
Zum einen äußert sich eine gerichtete Struktur durch hohe Werte einer Merkmalsfunktion, deren Vorzugsrichtung im wesentlichen senkrecht zur Struktur steht. Zum anderen äußert sich eine gerichtete Struktur durch niedrige Werte einer Merkmalsfunktion, deren Vorzugsrichtung im we- sentlichen parallel zur Struktur verläuft.
Dadurch ergeben sich bereits wenigstens zwei Möglichkeiten, eine gerichtete Struktur in einem Block zu erkennen. Einerseits kann man besonders niedrige Werte eines Texturmerkmals als Hinweis auf das Vorliegen einer gerichteten Struktur entlang der zum Texturmerkmal gehörigen Vorzugs- richtung verwenden, andererseits kann man besonders hohe Werte eines Texturmerkmals als Hinweis auf das Vorliegen einer gerichteten Struktur senkrecht zur Vorzugsrichtung verwenden.
Um den Einfluss ungerichteter Strukturen zu eliminieren, kann bei dem erfindungsgemäßen Verfahren aus je zwei „Merkmalen erster Ordnung", deren Merkmalsfunktionen sich durch im wesentlichen zueinander senkrecht stehende Vorzugsrichtungen auszeichnen, ein neues „zweites Texturmerkmal" bestimmt werden. Die Verknüpfung je zweier „Merkmale
erster Ordnung" wird dann vorzugsweise so gestaltet, dass das resultierende „zweite Texturmerkmal " hohe Werte annimmt, wenn der Wert des einen „Merkmals erster Ordnung" hoch und gleichzeitig der Wert des anderen „Merkmals erster Ordnung" niedrig ist. Ein solchermaßen durch Verrechnung zweier „Merkmale erster Ordnung" bestimmtes „zweites Texturmerkmal" wird im folgenden auch „Merkmal zweiter Ordnung" genannt.
Ein „Merkmal zweiter Ordnung" nimmt also einen hohen Wert an, wenn beispielsweise der Block entlang der Vorzugsrichtung eine hohe Aktivität und gleichzeitig senkrecht zur Vorzugsrichtung eine niedrige Aktivität aufweist. Man erreicht auf diese Weise unter anderem, dass weder strukturarme Bereiche noch ungerichtete strukturierte Bereiche zu einem hohen Wert eines „Merkmals zweiter Ordnung" und damit zu einer Fehlinterpretation (vermeintliche Erkennung einer nicht vorhandenen gerichteten Struktur) führen können.
Unter einem „Merkmal zweiter Ordnung" versteht man hierbei ein Merkmal, dessen Wert ein Maß für die Wahrscheinlichkeit des Vorlie- gens einer gerichteten Struktur senkrecht zu einer Vorzugsrichtung darstellt, unabhängig davon, ob es durch Verrechnung zweier „Merkmale erster Ordnung" oder in einem einzigen Schritt berechnet wurde.
Die jeweils zur gleichen Richtung gehörigen „zweiten Texturmerkmale" werden beispielsweise in sogenannten Merkmalskarten eingetragen, und
zwar vorzugsweise jeweils an der Stelle, an der sich der zugehörige Block des Eingangsbildes befindet. Die Merkmalskarte ist hierbei beispielsweise ein verkleinertes Bild, deren Pixel vorzugsweise nicht mehr die Helligkeit des Ursprungsbildes, sondern die Wahrscheinlichkeit für das Vorliegen einer gerichteten Struktur einer bestimmten Richtung angeben.
Vorteilhaft ist es dabei, dass vorzugsweise nicht jedem Pixel des Originalbildes ein eigener Merkmals wert zugeordnet ist, sondern die verschiedenen Merkmalswerte zu den Blöcken gehören und somit die Merkmalskarte beispielsweise entsprechend kleiner ist, als das Originalbild.
Vorteilhaft ist es weiter, dass sich die Auswertung vorzugsweise nur auf die vorher bestimmten Merkmale, nicht aber auf die Grauwerte des Bildes stützt. Damit lässt sich ein deutlich geringerer Rechenaufwand erreichen, als beispielsweise ein mit einem LoG-Operator erzeugtes Bild. Dies liegt einerseits an der Datenreduktion (die Anzahl der Merkmale ist geringer als die Anzahl der Pixel im Eingangsbild), andererseits liegt dies aber auch daran, dass die Merkmalsfunktionen so konstruiert sind, dass sie Rückschlüsse auf die lokale Orientierung der einzelnen Bildbereiche zulassen.
Durch diese Vorteile lassen sich Auswertungsergebnisse effizienter und damit wirtschaftlicher erreichen. Als Ergebnis dieses Verfahrens stehen unter anderem Parameter zur Verfügung, die eine Aussage über den Ort und die Orientierung bzw. eine Winkellage einer gerichteten Struktur in
einem digitalen Bild angeben. Weiterhin kann durch die Parameter eine Wahrscheinlichkeit für die Existenz einer gerichteten Struktur ermittelt werden.
Eine Ausführungsform sieht vor, zunächst diejenigen „Merkmale zweiter Ordnung" in vorzugsweise jeder Merkmalskarte zu Null zu setzen, deren Merkmalswerte beispielsweise unterhalb einer geeignet gewählten Schwelle liegen, und zur weiteren Auswertung beispielsweise nur noch diejenigen Merkmale heranzuziehen, deren Wert echt positiv ist. Die Höhe der Schwelle hat im wesentlichen Einfluss auf die Detektionsempfind- lichkeit.
Bei diesem Verfahren ist es vorteilhaft, eine niedrige Schwelle zu wählen, wenn man beispielsweise auch gerichtete Strukturen mit geringem Kontrast detektieren möchte. Umgekehrt ist es vorteilhaft, eine hohe Schwelle zu wählen, wenn die zu erkennende Struktur beispielsweise einen hohen Kontrast hat (z. B. bei einem einwandfrei aufgedruckten Barcode), man aber gleichzeitig mit kontraststarken texturierten Störungen in der Umgebung der gesuchten gerichteten Struktur rechnet.
Dabei wird vorzugsweise zunächst von allen Merkmalskarten eine Merkmalskarte ausgewählt, die mit hoher Wahrscheinlichkeit die Existenz ei- ner gerichteten Struktur im Bild anzeigt. Es ist auch vorteilhaft, diejenigen Merkmalskarten auszuwählen, deren Werte beispielsweise den größten Mittelwert aufweisen. Die so ausgewählte „beste" Merkmalskarte
wird weiter untersucht, um die Existenz einer gerichteten Struktur zu bestätigen oder zu verwerfen. Der Ort einer im Bild vorhandenen gerichteten Struktur kann durch die Bestimmung eines Lageparameters (z. B. Mittelwert, gewichteter Mittelwert, Mediän) der Merkmalskarte geschätzt wer- den. Die Winkellage der gerichteten Struktur ergibt sich grob bereits aus der der ausgewählten Merkmalskarte zugeordneten Vorzugsrichtung. Eine genauere Schätzung der Orientierung der Struktur wird durch vorzugsweise die Anwendung eines Regressionsverfahrens aus der Merkmalskarte ermittelt.
Vorteilhaft für die Bestimmung der Merkmalskarte erster Ordnung ist unter anderem eine blockweise Auswertung von Grauwertdifferenzen von Bildpunktpaaren entlang der gewählten Vorzugsrichtung, weil diese Methode beispielsweise gegenüber der Bildung der zweidimensionalen Autokorrelationsfunktion oder der des zweidimensionalen Fourierspektrums mit deutlich geringerem Rechenaufwand implementierbar ist.
Um den Rechen- sowie den Zeitaufwand weiter zu minimieren, ist es vorteilhaft, bei der Auswertung der Texturmerkmale zunächst diejenigen Vorzugsrichtungen auszuwählen, deren zugehörige Texturmerkmale sich am besten mit der Existenz der gerichteten Struktur im Bild erklären las- sen. Durch dieses Verfahren lässt sich der Datenaufwand weiterhin reduzieren.
Weitere Vorteile, Ziele und Eigenschaften vorliegender Erfindung werden anhand nachfolgender Erläuterungen anliegender Zeichnung dargestellt, in welcher beispielhaft das Erkennungsverfahren dargestellt ist.
Es zeigt,
die Figur eine schematische Darstellung des Erkennungsverfahrens anhand eines Ausführungsbeispieles.
In dem Ausführungsbeispiel, welches in der Figur dargestellt ist, ist eine Bildaufnahmeeinheit mit einer Recheneinheit verbunden. Die Bildaufnah- meeinheit liefert dabei ein digitalisiertes Bild der Größe 640 x 480 Bild- punkte mit typischerweise 256 Graustufen an die Recheneinheit.
Das Bild wird danach zuerst in 20 x 15 nicht überlappende Blöcke der Größe 32 x 32 Bildpunkte eingeteilt. Weiter werden für jeden dieser Blöcke vier „Merkmale erster Ordnung" bestimmt. Dabei wird die Berechnungsvorschrift jeden „Merkmal erster Ordnung" durch jeweils eine Merkmalsfunktion beschrieben.
Jede Merkmalsfunktion weist dabei jedem Bildblock in eindeutiger Weise eine Zahl zu, und ist jeweils durch zwei Parameter festgelegt, und zwar durch
1. einen sogenannten Cliquenvektor (Delta_x, Delta_y)
2. ein Inkrement DSAMPLE.
Die Komponenten des Cliquenvektors sind dabei ganzzahlig (positiv oder negativ), und das Inkrement DSAMPLE ist eine natürliche Zahl.
Zur Bestimmung eines Merkmals erster Ordnung werden alle Bildpunktpaare ( (x25y2) ) gebildet, die die folgenden Bedingungen gleich- zeitig erfüllen:
1. sie liegen vollständig innerhalb des betrachteten Blocks,
2. es gilt Xj - x2 = Delta_x und yx - y2 = Delta_y,
3. xx und y-, sind durch DSAMPLE teilbar.
Dabei besagt die Bedingung 2, dass sich die Bildpunktpaare dadurch aus- zeichnen, dass zum einen die Verbindungslinie zwischen den Bildpunkten des Paares entlang der durch den Cliquenvektor gegebenen Vorzugsrichtung läuft und dass zum anderen der Abstand von je zwei Punkten eines Punktpaares konstant ist.
Bedingung 3 erlaubt es, nur einen Teil der nach Bedingung 2 innerhalb eines Blocks möglichen Punktpaare auszuwählen und ermöglicht damit eine Reduktion des Rechenaufwandes zur Bestimmung des jeweiligen Texturmerkmals.
Als nächster Schritt wird das „Merkmal erster Ordnung" bestimmt. Dabei wird für jedes Bildpunktpaar, das die obigen Bedingungen erfüllt, der Ab- solutbetrag der Differenz oder das Quadrat der Differenz zwischen den
Grauwerten der beiden Punkte ermittelt. Anschließend werden die so erhaltenen Werte summiert.
Beim Implementierungsbeispiel werden vier Cliquenvektoren verwendet, nämlich
c, = (3,0) (dies ist die waagerechte Vorzugsrichtung), c2= (0,3) (dies ist die senkrechte Vorzugsrichtung), c3= (2,2) (dies ist die diagonale Vorzugsrichtung), c4= (-2,2) (dies ist die antidiagonale Vorzugsrichtung).
Dabei wird DSAMPLE zu 4 gesetzt, wodurch sich eine Einsparung an Rechenzeit von ungefähr 16 gegenüber einem DSAMPLE-Wert von 1 ergibt.
In einem nächsten Schritt werden die „Merkmale erster Ordnung" in sogenannte Merkmalskarten eingetragen.
Bei dem Implementierungsbeispiel werden die so erhaltenen „Merkmale erster Ordnung" also in vier (Anzahl Cliquenvektoren) Merkmalskarten eingetragen, die jeweils die Größe 20 x 15 (Anzahl Blöcke = Anzahl Merkmale pro Cliquenvektor) besitzen.
Im folgenden werden die „Merkmalskarten erster Ordnung" mit T_n(x,y) bezeichnet, wobei n die Werte 1 bis 4, x die Werte 1 bis 20 und y die Werte 1 bis 15 annehmen. So bezeichnet beispielsweise T_2(3,4) das
„Merkmal erster Ordnung", für den dritten Block von links in der vierten
Zeile für den Cliquenvektor c2. Das Merkmal T_2(3,4) gibt in diesem Beispiel die Aktivität des Blocks an der Position (3,4) entlang einer senkrechten Richtung an.
In einem weiteren Schritt werden aus den „Merkmalskarten erster Ord- nung" die „Merkmalskarten der zweiten Ordnung" bestimmt.
Zur Bestimmung einer „Merkmalskarte zweiter Ordnung" M_i wird jeweils eine „Merkmalskarte erster Ordnung" T_i mit einer weiteren „Merkmalskarte erster Ordnung" TJ verrechnet. Die Verrechnung wird dabei mit einer Merkmalskarte TJ vorgenommen, deren Cliquenvektor Cj senkrecht zum Cliquenvektor Cj der „Merkmalskarte erster Ordnung" steht.
Im Beispiel stehen jeweils c: und c2 bzw. c3 und c4 senkrecht aufeinander. Die Art der Verrechnung wird durch zwei Parameter FAKTOR und SCHWELLE festgelegt und erfolgt blockweise wie nachstehend beschrie- ben. Zuerst werden die „Merkmalskarten zweiter Ordnung" folgendermaßen bestimmt:
M_l (x,y) = T_l (x,y) - FAKTOR * T_2 (x,y),
M_2 (x,y) = T_2 (x,y) - FAKTOR * T_l (x,y), M_3 (x,y) = T_3 (x,y) - FAKTOR * T_4 (x,y),
M_4 (x,y) = T_4 (x,y) - FAKTOR * T_3 (x,y).
In einem nächsten Schritt wird der Schwellenwert festgelegt, der von der jeweiligen Anwendung abhängt. Dabei ist der Schwellenwert im wesentlichen von der gewählten Blockgröße und der Grauwertauflösung des Originalbildes beeinflusst. In diesem Schritt werden alle Einträge in allen Merkmalskarten zu Null gesetzt, falls sie kleiner als eben dieser Schwellenwert sind.
Typische Werte für den Faktor liegen dabei im Bereich 1,5 ...2,5. Danach werden die Merkmalskarten sortiert. Dies geschieht derart, dass für jede Merkmalskarte die Anzahl der von Null verschiedenen Einträge ge- zählt wird und die Merkmalskarten nach dieser Anzahl in absteigender Reihenfolge sortiert werden. Somit erhält die erste der Merkmalskarten in der Liste die meisten von Null verschiedenen Einträge und wird daher als erster Kandidat berücksichtigt.
Danach wird der Schwerpunkt der zu betrachtenden Merkmalskarten (das erste Moment in x- und y-Richtung) bestimmt. Der Schwerpunkt (xs, ys) besitzt dabei reellwertige Koordinaten im Bereich xs = 1 ...20, ys = 1 ...15 und wird auf ganzzahlige Werte round (xs, ys) gerundet.
Wenn die betrachtete Merkmalskarte an der Stelle round (xs, ys) einem von Null verschiedenen Wert enthält, wird mit dieser Merkmalskarte als aktueller Karte fortgefahren.
Wenn die betrachtete Merkmalskarte anstelle round (xs, ys) hingegen eine Null enthält, wird der Schwerpunkt der nächsten Merkmalskarte von der
Liste ermittelt. Es wird dann überprüft, ob diese Karte an der Stelle des Schwerpunktes einen von Null verschiedenen Wert enthält.
Auf diese Weise werden alle Kandidaten der Liste abgearbeitet, bis entweder eine Karte gefunden wurde, die an der Stelle des Schwerpunktes einen von Null verschiedenen Wert enthält oder bis die Liste ohne Erfolg abgearbeitet wurde.
Im letzteren Fall wird das Verfahren beendet, da keine gerichtete Struktur gefunden wurde.
Ansonsten wird aus dem Schwerpunkt (xs, ys) der aktuellen Merkmalskar- te durch Skalierung mit der Blockgröße der Mittelpunkt des Barcodes (bezogen auf die Größe des Originalbildes) ermittelt. Für die Merkmalskarte wird durch lineare Regression eine durch den Schwerpunkt (xs, ys) laufende Ausgleichsgerade bestimmt.
Diese Ausgleichsgerade verläuft im wesentlichen senkrecht durch die ge- richtete Struktur. Wenn die gerichtete Struktur nun ein Barcode ist, der decodiert werden soll, kann diese Gerade als virtuelle Scanlinie verwendet werden, da sie mit hoher Walirscheinlichkeit den Barcode vollständig schneidet.
Das hier beschriebene Verfahren zur automatischen Erkennung eines Or- tes und einer Orientierung einer gerichteten Struktur in einem digitalen
Bild zeichnet sich durch die Datenreduktion der im Ursprungsbild enthal-
tenen Daten aus, sodass ein wesentlich geringerer Rechenaufwand betrieben werden muss, um eine gerichtete Struktur lokalisieren zu können. Dabei ist es vorteilhaft, dass das digitale Bild in aneinanderliegenden Blöcken aufgeteilt wird und diese Blöcke durch Merkmalsfunktionen be- schrieben werden, sodass nicht jedes einzelne Pixel im Eingangsbild in die Berechnung eingeht, sondern nur die Anzahl der Texturmerkmale.
Weiterhin ist vorteilhaft, dass die Möglichkeit von Fehllesungen dadurch verringert wird, dass das Verfahren es beispielsweise ermöglicht, sich auf diejenigen Bildbereiche zu konzentrieren, die mit hoher Wahrscheinlich- keit einen Barcode enthalten.
Claims
1. Verfahren zur automatischen Erkennung eines Ortes und einer Orientierung einer gerichteten Struktur in einem digitalen Bild, insbesondere zur Bestimmung des Ortes und der Orientierung eines in dem digitalen Bild enthaltenen Barcodes, dadurch gekennzeichnet, dass das digitale Bild in vorzugsweise zusammenhängende Blöcke unterteilt wird, und für jeden Block mindestens ein Texturmerkmal bestimmt wird, welches ein Maß für die Strukturierung der Blöcke entlang vorgegebener Vorzugsrichtungen darstellt, und aus den Texturmerkmalen Parameter ermittelt werden, die den Ort und die
Orientierung einer gerichteten Struktur in dem digitalen Bild angeben.
2. Erkennungs verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Blöcke eine rechteckige, vorzugsweise quadratische Form aufweisen.
3. Erkennungsverfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass für jeden Bildblock mehrere „erste Texturmerkmale" bestimmt werden, die einen um so höheren Wert annehmen, je größer die Summe der absoluten Beträge der Grauwert- differenz von Bildpunktpaaren ausfällt, wobei die Bildpunktpaare für jedes „erste Texturmerkmal " aus Bildpunkten gebildet werden, die innerhalb des betrachteten Blocks liegen, deren Verbindungsli- nie entlang der dem betrachtetem „ersten Texturmerkmal" zugeordneten Vorzugsrichtung liegen, und deren Abstand einem festgelegten Wert oder einen Wert aus einer festgelegten Menge von Werten entspricht.
4. Erkennungsverfahren nach Anspruch 3, dadurch gekennzeichnet, dass nur ein Anteil der Bildpunkte innerhalb des betrachteten Blocks, deren Verbindungslinie entlang der zugeordneten Vorzugsrichtung liegen und deren Bildpunktabstand einem festgelegten Wert oder einem Wert aus einer festgelegten Menge von Werten entsprechen, ausgewertet werden.
5. Erkennungs verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass zur Bestimmung des Wertes eines „zweiten Texturmerkmals" eines Blocks die Werte von zwei „ersten Texturmerkmalen" des gleichen Blocks herangezogen werden, die ein Maß für die Strukturierung des Blockes entlang zweier im wesentlichen senkrecht zueinander stehenden Vorzugsrichtungen angeben.
6. Erkennungs verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die berechneten „ersten Texturmerkmale" ausgewertet werden.
7. Erkennungsverfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass bei der Auswertung der Texturmerkmale zunächst diejenige Vorzugsrichtung ausgewählt wird, deren zugehöri- ge Texturmerkmale sich am besten mit der Existenz einer gerichteten Struktur im Bild erkennen lässt und bei dem daraufhin nur diejenigen Texturmerkmale, die zu der ausgewählten Vorzugsrichtung gehören, zur Bestimmung der Parameter, die die Wahrscheinlich- keit für die Existenz einer gerichteten Struktur und/oder den Ort einer gerichteten Struktur und/oder die Lage einer gerichteten Struktur im Digitalbild angeben, herangezogen werden.
8. Erkennungs verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass das Bild in überlappende Bereiche eingeteilt wird.
9. Erkennungsverfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass zur Einstellung der Detektionsempfindlichkeit ein Schwellenwert bei der Auswertung der Texturmerkmale festgelegt wird.
10. Erkennungsverfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die Parameter eine Wahrscheinlichkeit für die Existenz einer gerichteten Struktur in dem digitalen Bild angeben.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10040614 | 2000-08-16 | ||
DE10040614A DE10040614A1 (de) | 2000-08-16 | 2000-08-16 | Verfahren zur automatischen Erkennung einer gerichteten Struktur |
PCT/DE2001/002993 WO2002015118A1 (de) | 2000-08-16 | 2001-08-13 | Verfahren zur automatischen erkennung einer gerichteten struktur |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1312034A1 true EP1312034A1 (de) | 2003-05-21 |
Family
ID=7653010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01962610A Withdrawn EP1312034A1 (de) | 2000-08-16 | 2001-08-13 | Verfahren zur automatischen erkennung einer gerichteten struktur |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1312034A1 (de) |
AU (1) | AU2001283792A1 (de) |
DE (2) | DE10040614A1 (de) |
WO (1) | WO2002015118A1 (de) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005001753A1 (en) | 2003-06-21 | 2005-01-06 | Aprilis, Inc. | Acquisition of high resolution boimetric images |
US7728959B2 (en) | 2003-06-21 | 2010-06-01 | Aprilis, Inc. | Acquisition of high resolution biometric images |
DE10351861A1 (de) * | 2003-11-06 | 2005-06-09 | Deere & Company, Moline | Verfahren und Lenksystem zum selbsttätigen Lenken einer landwirtschaftlichen Maschine |
US7734729B2 (en) | 2003-12-31 | 2010-06-08 | Amazon Technologies, Inc. | System and method for obtaining information relating to an item of commerce using a portable imaging device |
US8631089B1 (en) | 2010-12-14 | 2014-01-14 | Brilliance Publishing, Inc. | Previewing audio data associated with an item |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5329105A (en) * | 1992-08-10 | 1994-07-12 | United Parcel Service Of America, Inc. | Method and apparatus for determining the width of elements of bar code symbols |
JPH0687270B2 (ja) * | 1992-09-16 | 1994-11-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 線分の方向検出装置及びその方法 |
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 |
US6327395B1 (en) * | 1996-12-20 | 2001-12-04 | Xerox Parc | Glyph address carpet methods and apparatus for providing location information in a multidimensional address space |
US5974200A (en) * | 1997-03-20 | 1999-10-26 | Matsushita Electric Industrial Company, Ltd. | Method of locating a machine readable two dimensional barcode within an image |
DE69705725T2 (de) * | 1997-11-17 | 2002-05-23 | Datalogic S.P.A., Lippo Di Calderara Di Reno | Verfahren zur Lokalisierung von Farbbereichen oder von Bereichen mit grossen Helligkeitsänderungen in einem Bild |
DE69801161T2 (de) * | 1998-10-23 | 2002-03-07 | Datalogic S.P.A., Lippo Di Calderara Di Reno | Verfahren zur Detektion von Coden in zweidimensionalen Bildern |
US6082619A (en) * | 1998-12-16 | 2000-07-04 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
-
2000
- 2000-08-16 DE DE10040614A patent/DE10040614A1/de not_active Withdrawn
-
2001
- 2001-08-13 EP EP01962610A patent/EP1312034A1/de not_active Withdrawn
- 2001-08-13 WO PCT/DE2001/002993 patent/WO2002015118A1/de not_active Application Discontinuation
- 2001-08-13 AU AU2001283792A patent/AU2001283792A1/en not_active Abandoned
- 2001-08-13 DE DE10193420T patent/DE10193420D2/de not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
See references of WO0215118A1 * |
Also Published As
Publication number | Publication date |
---|---|
DE10193420D2 (de) | 2003-07-03 |
DE10040614A1 (de) | 2002-02-28 |
AU2001283792A1 (en) | 2002-02-25 |
WO2002015118A1 (de) | 2002-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0993651B1 (de) | Messmarke und verfahren zur erkennung von messmarken sowie verfahren zur objektvermessung | |
DE69215463T2 (de) | System zur Dokumentenausrichtung in der automatisierten Verarbeitung von grossen Poststücke und dergleichen | |
DE69515481T2 (de) | Verfahren und Vorrichtung zur Dekodierung eines zweidimensionalen Symboles im Raumbereich | |
DE69230631T2 (de) | Verfahren zum Vergleichen von Wortgestalten | |
DE69624614T2 (de) | Verfahren zur Stereoübereinstimmungs- und Ungleichheitsmessung | |
DE69230633T2 (de) | Verfahren zur Ermittlung von Wortformen zum folgenden Vergleich | |
DE69022784T2 (de) | Verfahren und Systeme zur Unterschriftprüfung mit Optimierung statischer Parameter. | |
DE69600461T2 (de) | System und Verfahren zur Bewertung der Abbildung eines Formulars | |
DE69129520T2 (de) | Verbessertes Segmentierungsverfahren für das maschinelle Lesen von handgeschriebener Information | |
DE69329380T2 (de) | Verfahren zum Segmentieren von Bildern und Klassifizieren von Bildelementen zur Dokumentverarbeitung | |
DE146351T1 (de) | Vorlageverarbeitungseinrichtung und -verfahren. | |
DE3923449A1 (de) | Verfahren zum bestimmen von kanten in bildern | |
DE69029594T2 (de) | Ermittlung von Linienabschnitten und von vorbestimmten Mustern in einem optisch abgetasteten Dokument | |
DE69728469T2 (de) | Gerät und Verfahren zur Ermittlung der Zeichenlinie mittels vereinfachter Projektionsinformation; Zeichenerkennungsgerät und Verfahren | |
DE3239938C2 (de) | ||
DE69427735T2 (de) | Zeichenerkennungsgerät | |
DE60024535T2 (de) | Verfahren zur Zeichentrennung | |
DE69813416T2 (de) | Vorrichtungen zur Linienrichtungsbestimmung, Bildschrägeerfassung und Bildschrägekorrektur. | |
DE69205811T2 (de) | Verfahren zur Bildanalyse. | |
EP1312034A1 (de) | Verfahren zur automatischen erkennung einer gerichteten struktur | |
DE102005017541A1 (de) | Verfahren zur Erkennung von kreisförmigen Objekten | |
DE60303003T2 (de) | Verfahren und System zur Verifikation von Übergängen zwischen kontrastierenden Elementen | |
DE10302634B4 (de) | Verfahren und Vorrichtung zur Identifikation und Kompensation einer perspektivischen Verzerrung | |
DE19507059B4 (de) | Verfahren zur omnidirektionalen Erfassung von OCR-Klarschrift auf Etiketten oder ähnlichen Datenträgern durch zufallsgesteuerte Suche und Dekodierung mit einem neuronalen Netzwerk | |
DE4325552C2 (de) | Verfahren zum Auffinden von alphanumerischen Zeichen in einem Bild |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20030313 |
|
AK | Designated contracting states |
Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: COGNEX LTD. |
|
17Q | First examination report despatched |
Effective date: 20070816 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20080227 |