DE202011050912U1 - Creation of a pre-segmented image into interesting and uninteresting areas - Google Patents
Creation of a pre-segmented image into interesting and uninteresting areas Download PDFInfo
- Publication number
- DE202011050912U1 DE202011050912U1 DE202011050912U DE202011050912U DE202011050912U1 DE 202011050912 U1 DE202011050912 U1 DE 202011050912U1 DE 202011050912 U DE202011050912 U DE 202011050912U DE 202011050912 U DE202011050912 U DE 202011050912U DE 202011050912 U1 DE202011050912 U1 DE 202011050912U1
- Authority
- DE
- Germany
- Prior art keywords
- image
- camera system
- subarea
- pixel
- uninteresting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
- G06V10/993—Evaluation of the quality of the acquired pattern
Abstract
Kamerasystem (10) zur Erzeugung eines in interessante und uninteressante Bereiche (106a–b) vorsegmentierten Bildes, mit einem Bildsensor (18) zur Aufnahme eines in Pixel aufgelösten Rohbildes und mit einer Auswertungseinheit (20), die dafür ausgebildet ist, das Rohbild in Teilbereiche (106a–b) zu unterteilen, für jeden Teilbereich (106a–b) einen Kontrastwert zu berechnen und anhand des Kontrastwertes zu entscheiden, ob der jeweilige Teilbereich (106a–b) ein interessanter Bereich (106a) oder ein uninteressanter Bereich (106b) ist, dadurch gekennzeichnet, dass die Auswertungseinheit (20) eine auf einem FPGA implementierte Vorverarbeitungseinheit (22), die jeweils auf die Pixel eines Teilbereichs (106a–b) zugreift und daraus summarische Werte (a, b) für den jeweiligen Teilbereich (106a–b) erzeugt, und eine Strukturerkennungseinheit (24) aufweist, die den Kontrastwert des Teilbereichs (106a–b) aus dessen summarischen Werten (a, b) berechnet, ohne auf Pixel des Teilbereichs (106a–b) zuzugreifen. Camera system (10) for producing an image segmented into interesting and uninteresting regions (106a-b), comprising an image sensor (18) for capturing a raw image resolved in pixels and having an evaluation unit (20) designed to divide the raw image into subregions (106a-b), to calculate a contrast value for each subarea (106a-b) and to decide from the contrast value whether the respective subarea (106a-b) is an interesting region (106a) or an uninteresting region (106b) , characterized in that the evaluation unit (20) has a preprocessing unit (22) implemented on an FPGA, which accesses the pixels of a subarea (106a-b) and obtain therefrom summary values (a, b) for the respective subarea (106a-b ), and having a texture recognition unit (24) that calculates the contrast value of the sub-region (106a-b) from its summary values (a, b), excluding pixels of the sub-region s (106a-b).
Description
Die Erfindung betrifft ein Kamerasystem zur Erzeugung eines vorsegmentierten Bildes sowie ein Verfahren zum Vorsegmentieren eines in Pixel aufgelösten Rohbildes in interessante und uninteressante Bereiche nach dem Oberbegriff von Anspruch 1. The invention relates to a camera system for generating a pre-segmented image and to a method for pre-segmenting a raw image resolved in pixels into interesting and uninteresting regions according to the preamble of claim 1.
Kamerasysteme liefern, besonders wenn sie hochauflösend sind, große Bilddatenmengen. Zu deren Verarbeitung sind hohe Rechen- und Speicherkapazitäten erforderlich. Oft sind aber nur Teilausschnitte der Bilder relevant und durch Beschränkung auf solche Teilausschnitte wird die Bildverarbeitung erheblich vereinfacht. Camera systems, especially when they are high resolution, provide large amounts of image data. Their processing requires high computing and storage capacities. Often, however, only partial sections of the pictures are relevant, and limiting them to such partial sections considerably simplifies the image processing.
Ein Anwendungsfeld für Kameras ist die Codelesung. Hier lösen mit der Weiterentwicklung der digitalen Kameratechnologie kamerabasierte Systeme zunehmend die noch weit verbreiteten Barcodescanner ab, welche einen Barcode mit einem Lesestrahl quer zum Code abtasten. Codeleser werden zum Beispiel an Supermarktkassen, zur automatischen Paketidentifikation, zur Sortierung von Postsendungen oder bei der Gepäckabfertigung in Flughäfen und in anderen Logistikanwendungen eingesetzt. A field of application for cameras is code reading. Here, with the advancement of digital camera technology, camera-based systems are increasingly replacing the still widespread bar code scanners, which scan a bar code with a reading beam across the code. Code readers are used, for example, in supermarket cash registers, for automatic parcel identification, for mail sorting or for baggage handling in airports and other logistics applications.
Ein kamerabasierter Codeleser nimmt, statt Codebereiche abzuscannen, mit Hilfe eines pixelaufgelösten Bildsensors Bilder der Objekte mit den darauf befindlichen Codes auf. Anschließend extrahiert eine Bildauswertungssoftware aus diesen Bildern die Codeinformation. Kamerabasierte Codeleser kommen problemlos auch mit anderen Codearten als eindimensionalen Strichcodes zurecht, die wie ein Matrixcode auch zweidimensional aufgebaut sind und mehr Informationen zur Verfügung stellen. A camera-based code reader takes, instead of scanning code areas, with the aid of a pixel-resolved image sensor images of the objects with the codes located thereon. Subsequently, an image analysis software extracts the code information from these images. Camera-based code readers can easily cope with code types other than one-dimensional barcodes, which, like a matrix code, are also two-dimensional and provide more information.
Im etwas weiteren Sinne stellt auch eine Beschriftung einen Code dar. Um die Beschriftungen automatisiert lesen zu können, werden Texterkennungsprogramme (OCR, optical character reading) eingesetzt. In den oben genannten Logistikanwendungen werden solche Beschriftungen anstelle oder ergänzend zu klassischen Strich- oder 2D-Codes verwendet. In a slightly broader sense, a label also represents a code. In order to be able to read the labels automatically, text recognition programs (OCR, optical character reading) are used. In the logistics applications mentioned above, such labels are used instead of or in addition to classic bar or 2D codes.
In einer wichtigen Anwendungsgruppe werden die Code tragenden Objekte an dem Codeleser vorbei gefördert. Eine Zeilenkamera liest die Objektbilder mit den Codeinformationen sukzessive und zeilenweise mit der Relativbewegung ein. Damit die Objekte in beliebiger Orientierung auf dem Förderer angeordnet werden können, sind oft mehrere Codeleser vorgesehen, um Objekte von mehreren oder allen Seiten aufzunehmen. In an important application group, the code-carrying objects are conveyed past the code reader. A line scan camera reads the object images with the code information successively and line by line with the relative movement. So that the objects can be arranged in any orientation on the conveyor, often several code readers are provided to accommodate objects from several or all sides.
Wenn eine Kamera im Bereich der Codelesung oder Texterkennung eingesetzt wird, bilden diejenigen Bildbereiche, in denen sich Codes oder Texte befinden können, die interessanten Bereiche, während sonstige Bildbereiche nicht weiter ausgewertet werden müssen. Wenn also die Code- und Textbereiche frühzeitig in der Verarbeitungskette identifiziert werden, kann der Bildverarbeitungsaufwand erheblich reduziert werden, und die Hardwareanforderungen sinken. If a camera is used in the field of code reading or text recognition, those image areas in which codes or texts can be located form the interesting areas, while other image areas do not need to be further evaluated. Thus, identifying the code and text areas early in the processing chain can significantly reduce image processing overhead and reduce hardware requirements.
Aus diesem Grund werden die von der Kamera eingelesenen Bilder vor der eigentlichen Bildverarbeitung einer Vorsegmentierung in interessante Bildbereiche (ROI, region of interest) und uninteressante Bildbereiche unterzogen. Im Falle der Codelesung zeichnen sich die interessanten Bildbereiche durch deutlich sichtbare, also kontrastreiche Strukturen aus, da diese als potentielle Codekandidaten anzusehen sind. Der Grad an Strukturgehalt eines Bildbereichs ist aber auch in anderen Bildverarbeitungsszenarien relevant. Denn strukturlose, somit weitgehend homogene Bildbereiche enthalten weniger auswertbare Bildinformation und sind daher für die meisten Anwendungen der Bildverarbeitung weniger interessant. For this reason, the images read in by the camera are pre-segmented into interesting image areas (ROI, region of interest) and uninteresting image areas before the actual image processing. In the case of code reading, the interesting image areas are characterized by clearly visible, ie high-contrast structures, since these are to be regarded as potential code candidates. However, the degree of structural content of an image area is also relevant in other image processing scenarios. For structureless, thus largely homogeneous image areas contain less evaluable image information and are therefore less interesting for most applications of image processing.
Die Vorsegmentierung oder Bildzerlegung erfolgt herkömmlich durch Algorithmen, die auf einem handelsüblichen Prozessor (CPU) ablaufen. Dadurch entsteht zwar eine hohe Flexibilität für die Implementierung unterschiedlicher Bildverarbeitungen. Wenn aber ein schnelles oder gar echtzeitfähiges System gefordert wird, wie etwa bei der Codelesung an einem Förderband, sind die Laufzeiten auf einem Prozessor oftmals zu lang. Denn zur korrekten Vorsegmentierung muss der Prozessor auf jeden Pixel des zu zerlegenden Bildes zugreifen und dessen Pixel- oder Grauwert auslesen. Ein Pixelzugriff durch den Prozessor ist aber relativ langsam, und deshalb führen diese zahllosen Pixelzugriffe zu einer inakzeptablen Laufzeit oder zu sehr hohen Anforderungen an die Rechenkapazität des Prozessors. The pre-segmentation or image decomposition is conventionally carried out by algorithms that run on a standard processor (CPU). This creates a high level of flexibility for the implementation of different image processing. However, when a fast or even real-time capable system is required, such as code reading on a conveyor, the run times on a processor are often too long. For the correct Vorsegmentierung the processor must access each pixel of the image to be decomposed and read its pixel or gray value. However, pixel access by the processor is relatively slow, and therefore, these countless pixel accesses result in unacceptable runtime or very high processing capacity requirements of the processor.
Aus der
Es ist daher Aufgabe der Erfindung, eine verbesserte Vorsegmentierung eines Bildes in interessante und uninteressante Bereiche zu ermöglichen. It is therefore an object of the invention to enable an improved pre-segmentation of an image in interesting and uninteresting areas.
Diese Aufgabe wird durch ein Kamerasystem zur Erzeugung eines in interessante und uninteressante Bereiche vorsegmentierten Bildes gemäß Anspruch 1 gelöst. Dabei geht die Erfindung von dem Grundgedanken aus, das Bild zunächst ohne Rücksicht auf die Bildinhalte in Teilbereiche zu zerteilen, beispielsweise in Teilbereiche, deren Größe durch Parameter festgelegt ist. Für jeden Teilbereich wird der Kontrast geprüft. Die aufwändige Berechnung der Kontrastwerte wird in zwei Stufen unterteilt. Die zahlreichen Zugriffe auf die einzelnen Pixel der Teilbereiche werden in ein FPGA vorgelagert, welches die Pixelinformationen in summarischen Werten zusammenfasst. Dazu genügen sehr schnelle, einfache Operationen, beispielweise alleine Additionen. Die eigentliche Berechnung des Kontrastwerts erfolgt dann nachgelagert auf Basis der summarischen Werte außerhalb des FPGAs. Dabei sind keinerlei Pixelzugriffe mehr erforderlich. Dafür stehen mächtigere Rechenoperationen zur Verfügung, wie Division oder Wurzelziehen, wobei einige wenige solche Operationen auf die summarischen Werte angewandt ausreichen, um den Kontrastwert zu berechnen. This object is achieved by a camera system for generating a pre-segmented into interesting and uninteresting areas image according to claim 1. The invention is based on the basic idea of first dividing the image into subregions, for example into subareas whose size is determined by parameters, without regard to the image contents. The contrast is checked for each subarea. The complex calculation of the contrast values is divided into two stages. The numerous accesses to the individual pixels of the subareas are preceded by an FPGA, which summarizes the pixel information in summary values. These are very fast, simple operations, for example alone additions. The actual calculation of the contrast value then takes place downstream on the basis of the summary values outside the FPGA. No pixel accesses are required anymore. More powerful arithmetic operations are available for this, such as division or root extraction, with a few such operations applied to the summary values sufficient to compute the contrast value.
In der Regel interessiert man sich für die kontraststarken Bildbereiche, so dass also Teilbereiche mit hohem Kontrastwert als interessante Bereiche und die übrigen Teilbereiche als uninteressante Bereiche eingestuft werden. Dabei ist Kontrast in einem weiten Sinne zu verstehen als ein Maß für die Struktur in diesem Teilbereich. Als kontrastschwach ist daher ein gleichförmiger, also strukturloser Teilbereich zu verstehen. Die konkrete Grenze, die kontraststarke und gleichförmige Teilbereiche trennt, hängt von den Anwendungsbedingungen ab. As a rule, one is interested in the high-contrast image areas, so that subregions with a high contrast value are classified as interesting areas and the remaining subareas as uninteresting areas. Here, contrast is to be understood in a broad sense as a measure of the structure in this subarea. Low-contrast, therefore, is to be understood as meaning a uniform, thus structureless, subarea. The concrete boundary separating high-contrast and uniform sections depends on the conditions of use.
Der Bildsensor liefert im Falle von Codelesung vorzugsweise ein Grauwertbild, so dass also die Pixelzugriffe jeweils eine Zahl liefern, die für einen Helligkeits- oder Grauwert steht. In the case of code reading, the image sensor preferably delivers a gray value image, so that the pixel accesses each provide a number that stands for a brightness or gray value.
Die Erfindung hat den Vorteil, dass die Vorsegmentierung deutlich beschleunigt und vereinfacht wird. Damit kann ein zweidimensionales Eingabebild schnell zerlegt und an nachfolgende Bildverarbeitungsschritte übergeben werden. Durch ausgewogene Arbeitsaufteilung zwischen der Vorverarbeitungseinheit und der Strukturerkennungseinheit werden die Stärken und Schwächen der unterschiedlichen Architekturen vorteilhaft ausgenutzt. Das FPGA eignet sich für schnelle Pixelzugriffe und rasche Ausführung einer großen Zahl von einfachen Operationen, bietet aber dafür keine mächtigeren Rechenoperationen. Umgekehrt kann die Strukturerkennungseinheit durch flexible Programmierung praktisch jede Operation ausführen, benötigt aber für stark repetitive Operationen, wie Pixelzugriffe oder Additionen, vergleichsweise mehr Rechenzeit. Durch das Zusammenspiel beider Elemente, bei denen die summarischen Werte als Schnittstelle dienen, können beliebige große Roh- oder Eingangsbilder sehr schnell vorsegmentiert werden. Gegenüber dem herkömmlichen, rein CPU-basierten Verfahren wird besonders bei hoch aufgelösten Eingangsbildern ein erheblicher Laufzeitgewinn erzielt. The invention has the advantage that the pre-segmentation is significantly accelerated and simplified. This allows a two-dimensional input image to be quickly decomposed and transferred to subsequent image processing steps. A balanced division of labor between the preprocessing unit and the structure recognition unit advantageously exploits the strengths and weaknesses of the different architectures. The FPGA is well-suited for fast pixel access and fast execution of a large number of simple operations, but does not offer more powerful arithmetic operations. Conversely, the structure recognition unit can perform virtually any operation through flexible programming, but requires relatively more computation time for highly repetitive operations such as pixel accesses or additions. Through the interplay of both elements, where the summary values serve as an interface, any large raw or input images can be pre-segmented very quickly. Compared to the conventional, purely CPU-based method, a significant runtime gain is achieved, especially with high-resolution input images.
Die Strukturerkennungseinheit ist bevorzugt auf einem Mikroprozessor implementiert. Dabei kann unter Mikroprozessor jede Art von digitalem Baustein verstanden werden, der sich für die flexible Implementierung komplexer Algorithmen und Rechenoperationen eignet. Prinzipiell ist der Mikroprozessor auch in der Lage, die summarischen Werte zu berechnen. Wegen des im Vergleich zu einem FPGA langsamen Pixelzugriffs müsste dann aber bei gleicher Laufzeit und Rechenkapazität der Teilbereich unterabgetastet werden, also nur ein Teil der Pixel des Teilbereichs für die Bestimmung des Kontrastswerts herangezogen werden. Das führt zu einer ungenaueren Vorsegmentierung. The structure recognition unit is preferably implemented on a microprocessor. In this case, microprocessor can be understood as any type of digital component which is suitable for the flexible implementation of complex algorithms and arithmetic operations. In principle, the microprocessor is also able to calculate the summary values. Because of the slow pixel access compared to a FPGA, however, the subarea would then have to be sub-sampled for the same transit time and computing capacity, ie only part of the pixels of the subarea would be used to determine the contrast value. This leads to an inaccurate pre-segmentation.
Die summarischen Werte umfassen bevorzugt eine Teilbereichssumme, in der alle Pixelwerte eines Teilbereichs aufaddiert sind, und eine Teilbereichsquadratsumme, in der alle quadrierten Pixelwerte des Teilbereichs aufaddiert sind. Die Berechnung dieser Werte erfordert ausschließlich Additionen und eine Multiplikation beim Quadrieren. Damit kann das FPGA diese Werte sehr effizient berechnen, während sie zugleich sehr charakteristisch für den Kontrast in dem Teilbereich sind. The summary values preferably comprise a partial area sum in which all pixel values of a partial area are added up, and a partial area square sum in which all the squared pixel values of the partial area are added up. The calculation of these values requires only additions and a multiplication when squaring. This allows the FPGA to compute these values very efficiently, while at the same time being very characteristic of the contrast in the subrange.
Die Vorverarbeitungseinheit ist bevorzugt dafür ausgebildet, ein Integralbild des Rohbildes zu berechnen, das in jedem Pixel die kumulierten Pixelwerte eines von dem Pixel und einer Ecke des Rohbildes aufgespannten Rechtecks hält. Aus einem derartigen Integralbild können später Teilbereichssummen beliebiger rechteckiger Ausschnitte anhand von wenigen Additionen und Subtraktionen allein aus den Eckwerten der Ausschnitte bestimmt werden. Ein Integralbild dient außerdem als Grundlage für die weitere Bildverarbeitung mit einer Reihe von Filtern. The preprocessing unit is preferably configured to calculate an integral image of the raw image that holds in each pixel the cumulative pixel values of a rectangle spanned by the pixel and a corner of the raw image. From such an integral image can later subrange of arbitrary rectangular sections based on a few additions and subtractions alone from the benchmarks of Cuttings are determined. An integral image also serves as the basis for further image processing with a series of filters.
Die Vorverarbeitungseinheit ist bevorzugt dafür ausgebildet, die summarischen Werte in Echtzeit zu berechnen und ein Bild auszugeben, dem die summarischen Werte für die Teilbereiche hinzugefügt sind. Die Echtzeitauswertung wird durch die Aufgabenverteilung zwischen Vorverarbeitungseinheit und Strukturerkennungseinheit ermöglicht. Im Falle der einleitend beschriebenen Ausführungsform als Zeilenkamera an einem Förderband bedeutet Echtzeitauswertung („on-the-fly“) speziell, dass die eingelesenen Bildzeilen ausgewertet und die summarischen Werte der zugehörigen Teilbereiche aktualisiert werden, noch während weitere Bildzeilen eingelesen werden. Unmittelbar nachdem dann der Bildsensor ein Bild oder einen Bildausschnitt fertig erfasst hat, sind die in Echtzeit ausgeführten Bildverarbeitungsschritte bereits abgeschlossen. Neben der Bestimmung der summarischen Parameter können auch weitere Echtzeitverarbeitungsschritte vorgenommen werden, beispielsweise eine Echtzeitbinarisierung oder eine Bildkompression, speziell eine JPEG-Kompression, oder allgemein eine Filterung. Bei der Weitergabe der Bilddaten an nachgeordnete Einheiten, speziell an die Strukturerkennungseinheit, werden dann die summarischen Werte an die Bilddaten angehängt, beispielsweise als zusätzliche Bildzeilen. The pre-processing unit is preferably designed to calculate the summary values in real time and to output an image to which the summary values for the subregions have been added. The real-time evaluation is made possible by the distribution of tasks between preprocessing unit and structure recognition unit. In the case of the embodiment described in the introduction as a line camera on a conveyor, real-time evaluation ("on-the-fly") specifically means that the read-in picture lines are evaluated and the summary values of the associated sections are updated, while additional picture lines are read. Immediately after the image sensor has finished capturing an image or image, the real-time image processing steps have already been completed. In addition to the determination of the summary parameters, further real-time processing steps can be undertaken, for example real-time binarization or image compression, especially JPEG compression, or generally filtering. When transferring the image data to subordinate units, in particular to the structure recognition unit, the summary values are then appended to the image data, for example as additional image lines.
Die Strukturerkennungseinheit ist bevorzugt dafür ausgebildet, den Kontrastwert basierend auf der Varianz oder der Standardabweichung der Pixelwerte eines Teilbereichs zu berechnen. Im einfachsten Fall wird die Varianz oder Standardabweichung unmittelbar mit dem Kontrastwert gleichgesetzt. Der Kontrastwert kann aber auch daraus abgeleitet sein, beispielsweise als Vielfaches oder als Bruchteil. Weiterhin ist denkbar, dass die Varianz oder Standardabweichung nur eines von mehreren Kriterien für die Entscheidung ist, ob ein Teilbereich als interessant oder uninteressant eingestuft wird. The structure recognition unit is preferably designed to calculate the contrast value based on the variance or the standard deviation of the pixel values of a subarea. In the simplest case, the variance or standard deviation is equated directly with the contrast value. The contrast value can also be derived therefrom, for example as a multiple or as a fraction. It is also conceivable that the variance or standard deviation is only one of several criteria for deciding whether a subarea is classified as interesting or uninteresting.
Die Strukturerkennungseinheit berechnet bevorzugt die Varianz als Differenz der Teilbereichsquadratsumme geteilt durch die Pixelanzahl eines Teilbereichs minus die quadrierte Teilbereichssumme geteilt durch die quadrierte Pixelanzahl des Teilbereiches und/oder die Standardabweichung als Wurzel der derart berechneten Varianz. Damit werden Standardabweichung oder Varianz mit einer minimalen Anzahl von Rechenoperationen aus den summarischen Werten berechnet, so dass hierfür nur wenig Rechenkapazität der Strukturerkennungseinheit erforderlich ist. The structure recognition unit preferably calculates the variance as the difference of the partial area squares sum divided by the pixel number of a partial area minus the squared partial area sum divided by the squared pixel number of the partial area and / or the standard deviation as the root of the thus calculated variance. Thus, standard deviation or variance with a minimum number of arithmetic operations is calculated from the summary values, so that only little computing capacity of the structure recognition unit is required for this.
Die Strukturerkennungseinheit vergleicht bevorzugt den Kontrastwert eines Teilbereichs mit einer Mindestkontrastschwelle, um zu entscheiden, ob der Teilbereich ein interessanter Bereich oder ein uninteressanter Bereich ist. Die Mindestkontrastschwelle ist insbesondere so gewählt, dass bei deren Überschreiten Text- oder Codebereiche in dem Teilbereich vermutet werden. Vorzugsweise wird die Mindestkontrastschwelle absichtlich zu niedrig angesetzt, beispielsweise auf dem halben Kontrastwert dessen, bei dem Text- oder Codebereiche vermutet werden. Auf diese Weise werden letztlich zu viele Teilbereiche als interessant eingestuft, und damit entsteht Mehraufwand. Dieser Fehler kann aber eher toleriert werden als Fehler der anderen Art, nämlich Fehl- oder Nichtlesungen aufgrund fälschlich als uninteressant eingestufter Teilbereiche. The structure recognition unit preferably compares the contrast value of a partial area with a minimum contrast threshold in order to decide whether the partial area is an interesting area or an uninteresting area. The minimum contrast threshold is chosen in particular such that, if exceeded, text or code areas in the subarea are presumed. Preferably, the minimum contrast threshold is deliberately set too low, for example at half the contrast value of the one assumed to be text or code ranges. In this way, ultimately too many sub-areas are classified as interesting, and thus additional work is required. However, this error can be tolerated rather than errors of a different kind, namely incorrect or non-readings due to incorrectly classified as uninteresting parts.
Die Strukturerkennungseinheit ist bevorzugt dafür ausgebildet, in einem Labelbild mit einem als Flag genutzten Pixel je Teilbereich das Flag je nach Entscheidung anhand des Kontrastwerts auf einen Wert für einen interessanten Bereich oder einen Wert für einen uninteressanten Bereich zu setzen. Damit ist das Resultat der Vorsegmentierung einerseits das eigentliche Bild und andererseits das Labelbild, aus dem für jeden Teilbereich direkt ausgelesen werden kann, ob dieser Teilbereich interessant ist und somit bei der nachgelagerten Bildverarbeitung noch berücksichtigt werden soll. The structure recognition unit is preferably designed to set the flag in a label image with a pixel used as a flag per subarea depending on the decision based on the contrast value to a value for an area of interest or a value for an uninteresting area. Thus, the result of the pre-segmentation is on the one hand the actual image and on the other hand the label image, from which it can be directly read out for each subarea whether this subarea is interesting and thus should be taken into account in the downstream image processing.
Die Teilbereiche sind bevorzugt rechteckige Teilbereiche, insbesondere untereinander gleich große rechteckige Teilbereiche. Solche Teilbereiche werden auch als Kacheln bezeichnet. Die Dimensionen der Teilbereiche sind vorzugsweise parametrierbar, liegen aber für die jeweilige Vorsegmentierung fest. Somit kennt auch das FPGA die Grenzen der Teilbereiche und kann die summarischen Werte in Echtzeit bestimmen. Kacheln sind sowohl für die Vorsegmentierung als auch für die nachgelagerte Bildauswertung geeignete Bildausschnitte. The subregions are preferably rectangular subregions, in particular rectangular subareas of equal size. Such subregions are also referred to as tiles. The dimensions of the subareas are preferably parameterizable, but are fixed for the respective pre-segmentation. Thus, the FPGA knows the limits of the subareas and can determine the summary values in real time. Tiles are suitable for the pre-segmentation as well as for the downstream image analysis suitable image sections.
In vorteilhafter Weiterbildung weist ein kamerabasierter Codeleser eines der zuvor beschriebenen Kamerasysteme sowie eine Decodiereinheit auf, die dafür ausgebildet ist, in den interessanten Bereichen nach Codes zu suchen, uninteressante Bereiche zu ignorieren und aufgefundene Codes zu decodieren. Somit wird die Vorsegmentierung vorteilhaft für eine effiziente und hochwertige Codelesung ausgenutzt. Dabei kann der Codeleser und insbesondere dessen Decodiereinheit zum Lesen von 1D-Codes, also Strichcodes, von 2D-Codes gemäß beliebiger Norm sowie von Textbereichen (OCR) ausgebildet sein. In an advantageous development, a camera-based code reader has one of the camera systems described above and a decoding unit which is designed to search for codes in the areas of interest, to ignore areas of interest and to decode detected codes. Thus, the pre-segmentation is advantageously exploited for efficient and high quality code reading. In this case, the code reader and in particular its decoding unit for reading 1D codes, ie bar codes, of 2D codes according to any standard as well as text areas (OCR) may be formed.
Die Erfindung wird nachstehend auch hinsichtlich weiterer Merkmale und Vorteile beispielhaft anhand von Ausführungsformen und unter Bezug auf die beigefügte Zeichnung näher erläutert. Die Abbildungen der Zeichnung zeigen in: The invention will be explained in more detail below with regard to further features and advantages by way of example with reference to embodiments and with reference to the accompanying drawings. The illustrations of the drawing show in:
Die Auswertungseinheit
Die Vorverarbeitungseinheit
Das vorsegmentierte Beispielbild der
Der Vorsegmentierung nachgelagerte Bildverarbeitungsschritte, beispielsweise die Decodierung in der Decodierungseinheit
Bei der Vorsegmentierung wird die Strukturerkennungseinheit
Zunächst wird das Eingangsbild in einzelne, vorzugsweise quadratische Kacheln einer parametrierbaren Größe unterteilt. Als Kriterium zur Unterscheidung zwischen interessanten Bildbereichen und uninteressanten Bildbereichen wird die Standardabweichung der Pixelwerte, insbesondere der Grauwerte der Kachel herangezogen. Eine geringe Standardabweichung in einer Region impliziert eine homogene, uniforme und damit strukturschwache Region, die deshalb gerade für Codelesung in der weiteren Bildverarbeitungskette nicht interessiert. Eine hohe Standardabweichung dagegen weist auf eine Struktur hin, die mit deutlich erhöhter Wahrscheinlichkeit einem Code entspricht. Deshalb wird die Standardabweichung jeweils mit einem Parameter verglichen, der eine hinreichende Struktur innerhalb der Kachel sicherstellt und als Mindestkontrastschwelle bezeichnet wird. First, the input image is divided into individual, preferably square tiles of a parameterizable size. As a criterion for distinguishing between interesting image areas and uninteresting image areas, the standard deviation of the pixel values, in particular the gray values of the tile is used. A small standard deviation in a region implies a homogeneous, uniform and therefore structurally weak region, which is therefore not interested in code reading in the further image processing chain. On the other hand, a high standard deviation indicates a structure that is much more likely to correspond to a code. Therefore, the standard deviation is compared with a parameter that ensures a sufficient structure within the tile and is called the minimum contrast threshold.
Der Vorverarbeitungseinheit
Die Berechnung der Standardabweichung wird für diese Art der Berechnung geeignet umformuliert. Dazu seien n die Anzahl der Pixel oder Bildpunkte in einer Kachel, xi die einzelnen Grauwerte der Pixel, m deren Mittelwert und σ deren Standardabweichung. Die Anzahl n der Pixel einer Kachel ist vorzugsweise parametrierbar, aber für die konkrete Berechnung sowohl in der Vorverarbeitungseinheit
Es gilt dann: It then applies:
Man definiert nun eine Teilbereichsquadratsumme a als die Summe der Quadrate aller Pixelwerte einer Kachel und eine Teilbereichssumme b als die Summe aller Pixelwerte in einer Kachel, d. h. One now defines a partial area square sum a as the sum of the squares of all pixel values of a tile and a partial area sum b as the sum of all pixel values in a tile, ie
Mit den beiden summarischen Parametern a, b vereinfacht sich die Berechnung des Mittelwerts auf m = b/n. Setzt man das wiederum in die oben angegebene Rechnungsvorschrift für die Standardabweichung ein, so ergibt sich nach Umformung With the two summary parameters a, b, the calculation of the mean value is simplified to m = b / n. If this is put into the above-mentioned calculation rule for the standard deviation, this results after transformation
Die beiden summarischen Werte a, b können in dem FPGA der Vorverarbeitungseinheit
Die summarischen Werte a, b können überdies auch in Echtzeit, d. h. „on-the-fly“ während des Einlesens eines Eingangsbildes berechnet werden, da keinerlei Abhängigkeiten zwischen den eingelesenen Pixelwerten zu beachten sind, sondern letztlich nur Zwischensummen aktualisiert werden müssen. Die Vorverarbeitungseinheit
Die Strukturerkennungseinheit
Für die Zuweisung der Kacheln
In nachfolgenden Verarbeitungsschritten, insbesondere in der Decodiereinheit
Die
Im Falle der geringeren Mindestkontrastschwelle gemäß
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 6738496 B1 [0010] US Pat. No. 6,838,496 B1 [0010]
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE202011050912U DE202011050912U1 (en) | 2011-08-05 | 2011-08-05 | Creation of a pre-segmented image into interesting and uninteresting areas |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE202011050912U DE202011050912U1 (en) | 2011-08-05 | 2011-08-05 | Creation of a pre-segmented image into interesting and uninteresting areas |
Publications (1)
Publication Number | Publication Date |
---|---|
DE202011050912U1 true DE202011050912U1 (en) | 2012-11-07 |
Family
ID=47321586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE202011050912U Expired - Lifetime DE202011050912U1 (en) | 2011-08-05 | 2011-08-05 | Creation of a pre-segmented image into interesting and uninteresting areas |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE202011050912U1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105674916A (en) * | 2016-04-22 | 2016-06-15 | 四川大学 | Hardware intelligent structured light three-dimensional scanning system and method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738496B1 (en) | 1999-11-01 | 2004-05-18 | Lockheed Martin Corporation | Real time binarization of gray images |
-
2011
- 2011-08-05 DE DE202011050912U patent/DE202011050912U1/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738496B1 (en) | 1999-11-01 | 2004-05-18 | Lockheed Martin Corporation | Real time binarization of gray images |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105674916A (en) * | 2016-04-22 | 2016-06-15 | 四川大学 | Hardware intelligent structured light three-dimensional scanning system and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2555160B1 (en) | Generation of an image segmented into interesting and uninteresting areas | |
DE102012110376B4 (en) | Method and apparatus for ordering code candidates in an image for decoding attempts | |
EP3454298B1 (en) | Camera device and method for recording a flow of objects | |
EP1645839B1 (en) | Apparatus and Method for Observing Moving Objects | |
DE60308025T2 (en) | IDENTIFICATION MARKING OF POSTS BY IMAGE SIGNATURE AND RELATED POST MACHINING MACHINE | |
EP2693364B1 (en) | Camera system and method for recording a flow of objects | |
EP3327611B1 (en) | Detection device and method for detecting an object using a plurality of optoelectronic sensors | |
DE69629930T2 (en) | Method for setting an optical code attached to an object | |
EP1585052B1 (en) | Method and apparatus for reading a bar code | |
EP3916633A1 (en) | Camera and method for processing image data | |
DE102016120775A1 (en) | System and method for detecting lines in an image with a vision system | |
DE102006017337A1 (en) | Method for optically detecting moving objects and apparatus | |
DE102007048679A1 (en) | Apparatus and method for capturing images of objects moved on a conveyor | |
DE102020124613A1 (en) | IMPROVED SELECTION OF AN OBJECT OF INTEREST IN NEURAL NETWORK SYSTEMS AT POINT OF SALE | |
EP3789906B1 (en) | Determine the module size of an optical code | |
DE212022000040U1 (en) | Logistics management system based on a two-dimensional code | |
WO2008034599A2 (en) | Method and device for image processing | |
EP2677492A1 (en) | Code reader and method for online verification of a code | |
EP3009984A1 (en) | Detection system for optical codes | |
DE102019119138B4 (en) | Determination of distribution and/or sorting information for the automated distribution and/or sorting of a shipment | |
WO2015143471A1 (en) | Method for the optical detection of symbols | |
DE112020004895T5 (en) | SYSTEM AND METHOD FOR SITUATION ADAPTIVE IMPROVEMENT OF BAR CODE READING IMAGE CAPTURE | |
DE202011050912U1 (en) | Creation of a pre-segmented image into interesting and uninteresting areas | |
EP3534291A1 (en) | Optoelectronic code reader and method for reading codes | |
DE102016124123A1 (en) | A method for generating a cluster of image areas for capturing a target object in an image, computer program product, camera system and motor vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R082 | Change of representative |
Representative=s name: , |
|
R207 | Utility model specification |
Effective date: 20121227 |
|
R150 | Utility model maintained after payment of first maintenance fee after three years | ||
R150 | Utility model maintained after payment of first maintenance fee after three years |
Effective date: 20140828 |
|
R151 | Utility model maintained after payment of second maintenance fee after six years | ||
R158 | Lapse of ip right after 8 years |