Verfahren zur Bildanalyse, insbesondere für ein Mobilfunkqerät Method for image analysis, in particular for a mobile radio device
Die Erfindung betrifft ein Verfahren zur Bildanalyse, insbesondere für ein Mobilfunkgerät mit eingebauter Digitalkamera zur automatischen optischen Zeichenerkennung (OCR), nach dem Oberbegriff des Patentanspruchs 1 oder 2.The invention relates to a method for image analysis, in particular for a mobile device with built-in digital camera for automatic optical character recognition (OCR), according to the preamble of patent claim 1 or 2.
Es gibt eine Vielzahl von OCR-Systemen für PCs. Typischerweise wird ein Flachbett- Scanner zum Einlesen von Texten verwendet. Für den mobilen Einsatz gibt esThere are a variety of OCR systems for PCs. Typically, a flatbed scanner is used to read in texts. There are for mobile use
Handscanner, die den eingescannten Text auf einem Display anzeigen, abspeichern oder auf einen Computer übertragen. Probleme gibt es immer dann, wenn die Vorlage schief eingescannt ist, oder nur Buchstaben der Fragmente zu erkennen sind (zum Beispiel beschriftete Flagge im Wind). Außerdem versagen solche Techniken, wenn kein direktes Einscannen möglich ist (z.B. Hinweisschilder am Straßenrand). Nach heutigem Stand der Technik könnte ein solches Bild mit einer hohen Auflösung aufgenommen werden, welches nachträglich gescannt werden kann. Jedoch findet in der Kamera selbst keine direkte OCR statt, da diese mit herkömmlichen Verfahren zu rechenintensiv ist.Handheld scanners that display, save or transfer scanned text to a computer screen. There are always problems when the original is scanned askew, or only letters of the fragments can be recognized (for example, flag inscribed in the wind). In addition, such techniques fail when direct scanning is not possible (e.g., roadside signage). According to the current state of the art, such an image could be recorded with a high resolution, which can be subsequently scanned. However, there is no direct OCR in the camera itself, as it is too computationally intensive with conventional methods.
Sollen längere Texte erkannt werden, ist es häufig notwendig, mehrere Bilder aufzunehmen und dann zusammenzufügen (360° Fotos zusammensetzen). Um eine ausreichende Qualität zu bekommen, muss der Vorgang in der Regel noch manuell nachgearbeitet werden.If longer texts are to be recognized, it is often necessary to take several pictures and then put them together (put 360 ° photos together). In order to get a sufficient quality, the process usually has to be reworked manually.
Wesentliche Verfahren zur OCR arbeiten mit einem reinen Bitmuster-Vergleich „Pattern-Matching" oder wie bei der Handschrifterkennung mit der Beschreibung der Buchstaben durch Linien und Kreuzungspunkte. Pattern-Matching kann besonders dann gut eingesetzt werden, wenn es sich um normierte Buchstaben handelt (z.B. Kfz-Kennzeichen). Bei der Erkennung von Kennzeichen sind die zu erkennenden Zeichen auf eine kleine Anzahl beschränkt, die zudem normiert sind.Essential procedures for OCR work with a pure bit pattern comparison "Pattern Matching" or, as in the case of handwriting recognition, with the description of the letters by lines and crossing points Pattern matching can be used particularly well in the case of standardized letters (eg In the case of license plate recognition, the characters to be recognized are limited to a small number, which are also standardized.
Weiterhin sind verschiedene Anwendungen im Bereich der Augment-Reality bekannt. Als Beispiel dafür bietet die Überlagerung einer Fotoaufnahme (Satelliten Foto) mit einer Straßenkarte, die die einzelnen Straßennamen anzeigt (www.clicktel.de).
Stand der Technik ist ein Verfahren der priorisierenden Pixelgruppen gemäß der DE 10113880 B4 oder der hierzu äquivalenten EP 1371229 B1 , welche die Merkmale nach dem Oberbegriff des Patentanspruchs 2 offenbaren.Furthermore, various applications in the field of augmented reality are known. An example of this is the overlaying of a photograph (satellite photo) with a road map showing the individual street names (www.clicktel.de). The prior art is a method of prioritizing pixel groups according to DE 10113880 B4 or equivalent EP 1371229 B1, which discloses the features according to the preamble of claim 2.
Die DE 10025017 A1 offenbart ein Mobiltelefon, welches insbesondere für eine einfachere Anwendung und Nutzung von Zusatzdiensten und -funktionen, wie z. B. Kurznachrichtendienst, Bezahltransaktionen, Identitäts- oder Sicherheitsüberprüfungen etc. geeignet ist. Das Mobiltelefon besitzt eine integrierte Einrichtung zum Lesen von Zeichen, Symbolen Codes und/oder (Identitäts- Merkmalen, welche ein Scanner, ein Barcodeleser oder ein Fingerabdruckleser in Form eines CCD-Sensors ist. Damit ist eine komfortable und schnelle Eingabe und Erfassung von Text, Symbolen oder sicherheitsrelevanten Merkmalen möglich.DE 10025017 A1 discloses a mobile phone, which in particular for a simpler application and use of additional services and functions such. As short message service, payment transactions, identity or security checks, etc. is suitable. The mobile phone has an integrated device for reading characters, symbols codes and / or identity features, which is a scanner, a bar code reader or a fingerprint reader in the form of a CCD sensor, thus providing a comfortable and fast input and capture of text, Symbols or safety-relevant characteristics possible.
Die DE 202005018376 U1 offenbart ein Mobiltelefon mit Tastatur, Bildschirm, Datenverarbeitungssystem und einem hinter einer Öffnung oder einem Fenster des Gehäuses angeordneten optischen Abtastsystem, insbesondere Handscanner, sowie einem integrierten Übersetzungsprogramm. Über das optische Abtastsystem wird es möglich, in einer anderen Sprache vorhandene Zeichen und/oder Wörter einzuscannen. Mit der Auswahl der Sprache erfolgt die Übersetzung des Wortes oder der Wörter. Dadurch ist der Nutzer des Mobiltelefons in der Lage, ihm fremde Wörter und Texte zu lesen. Das können vorteilhafte Weise Speisekarten, Warnhinweise, Bedienvorschriften und Landkarten sowie Schilder sein. Darüber hinaus kann in der Nutzer auch selbst über die Tastatur des Mobiltelefons Wörter eingeben oder aus einer im Speicher des Datenverarbeitungssystems enthaltenen Enzyklopädie auswählen. Durch die Zusammenschaltung des Datenverarbeitungssystems mit dem Bildschirm und der Tastatur werden durch die Wahl der Sprache diese Wörter übersetzt und auf dem Bildschirm dargestellt.DE 202005018376 U1 discloses a mobile telephone with keyboard, screen, data processing system and an optical scanning system arranged behind an opening or a window of the housing, in particular a hand-held scanner, and an integrated translation program. The optical scanning system makes it possible to scan characters and / or words available in another language. Selecting the language translates the word or words. As a result, the user of the mobile phone is able to read him strange words and texts. This can be beneficial menus, warnings, operating instructions and maps and signs. In addition, users can also enter words themselves from the keyboard of the mobile phone or select from an encyclopedia contained in the memory of the data processing system. By interconnecting the data processing system with the screen and keyboard, the choice of language translates these words and displays them on the screen.
Die DE 10163688 A1 offenbart ein Verfahren und ein System zur Verfolgung von Gütern, die mit einer optisch lesbaren, alphanumerischen Kennzeichnung versehen sind, sowie ein Erfassungsgerät hierfür. Die Kennzeichnung wird als Bild vom Erfassungsgerät erfasst und in Bilddaten umgewandelt. Diese
werden vom Erfassungsgerät per Funk an einen Empfänger gesendet, der mit einem Computersystem verbunden ist, welcher die Bilddaten weiter auswertet. Alternativ werden die Bilddaten vor der Versendung an den Empfänger noch im Erfassungsgerät ausgewertet. Wie genau die Auswertung der Bilddaten erfolgt, ist nicht näher offenbart.DE 10163688 A1 discloses a method and a system for tracking goods which are provided with an optically readable, alphanumeric identification, as well as a detection device therefor. The marking is captured as an image by the recording device and converted into image data. These are sent by the detection device by radio to a receiver which is connected to a computer system, which further evaluates the image data. Alternatively, the image data are evaluated before being sent to the receiver in the detection device. How exactly the evaluation of the image data is done, is not disclosed in detail.
Die DE 10 2005 033 001 A1 offenbart bereits ein Verfahren zur Bildverarbeitung in mobilen Endgeräten z.B. Mobiltelefonen mit einer Kamera, welche digitale Bildinformationen aufnimmt und zum Teil dieser Bildinformationen mithilfe von Mustererkennungsverfahren, zum Beispiel Texterkennungsverfahren (OCR) analysiert werden. Wie genau diese Texterkennungsverfahren (OCR) arbeiten, ist jedoch in dieser Druckschrift nicht beschrieben.DE 10 2005 033 001 A1 already discloses a method for image processing in mobile terminals, e.g. Mobile phones with a camera, which receives digital image information and part of this image information using pattern recognition methods, such as text recognition methods (OCR) are analyzed. How exactly these text recognition methods (OCR) work, however, is not described in this document.
Aufgabe der vorliegenden Erfindung ist es daher, ein gattungsgemäßes Verfahren zur Bildverarbeitung in mobilen Endgeräten mit digitaler Kamera bereitzustellen, welches wesentlichen exakter und schneller arbeitet.Object of the present invention is therefore to provide a generic method for image processing in mobile devices with digital camera, which works much more accurate and faster.
Die Erfindung wird durch die Merkmale des unabhängigen Patentanspruches 1 oder 2 gekennzeichnet.The invention is characterized by the features of independent claim 1 or 2.
Vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Patentansprüche.Advantageous developments are the subject of the dependent claims.
Vorteil der Erfindung ist eine robustere OCR-Erfassung mit optionaler Übersetzung in realtime (Echtzeit), die auch mit vergleichsweise wenig Rechenleistung auskommt. Die Robustheit bezieht sich insbesondere darauf, dass die Erkennung auch unter schlechten Bedingungen (insbesondere Lichtverhältnisse, überlagernde Störungen) besser als herkömmliche Systeme funktioniert.Advantage of the invention is a more robust OCR detection with optional translation in real time (real-time), which also manages with relatively little computing power. The robustness refers in particular to the fact that detection works better than conventional systems even under poor conditions (especially light conditions, overlapping interference).
Dies wird zum Einen dadurch erreicht, dass zunächst eine lernfähige pixelgruppenoptimierte Vorverarbeitung stattfindet, die das Bild nach Strichen durchsucht. Wesentlichstes Unterscheidungsmerkmal zu den bisher bekannten Verfahren ist, dass nun kein weiterer direkter Patternvergleich stattfindet, sondern versucht wird, die Striche möglichst optimal nachzuzeichnen. Aus der Bewegungsabfolge wird dann auf das entsprechende Zeichen geschlossen. Da diese Bewegungsabfolge sich gut skalieren und mit relativ wenig Aufwand beschreiben
lässt, ist diese Technik gerade für den mobilen Einsatz geeignet. Die Bewegungsabfolge bekannter Zeichen ist in einem Suchwort hinterlegt, so dass aus der Bewegung direkt auf den Buchstaben geschlossen werden kann. Zusätzlich kann noch ein Wörterbuch/Lexikon eingesetzt werden. Werden Wörter anhand des Wörterbuches/Lexikons erkannt, können die erkannten Buchstaben für eine noch optimiertere Schrifterkennung herangezogen werden.On the one hand, this is achieved by first performing an adaptive pixel group-optimized preprocessing, which searches the image for lines. The most important distinguishing feature of the previously known methods is that now no further direct pattern comparison takes place, but an attempt is made to trace the lines as optimally as possible. From the sequence of movements is then closed on the corresponding character. Because this sequence of movements scale well and describe with relatively little effort This technology is currently suitable for mobile use. The sequence of movements of known characters is stored in a search word, so that the movement can be concluded directly on the letter. In addition, a dictionary / lexicon can be used. If words are recognized by the dictionary / lexicon, the recognized letters can be used for even more optimized character recognition.
Anwendungsszenarien sind Kamerahandys für Touristen im Ausland, um insbesondere Verkehrsschilder, Menükarten, allgemeine Hinweisschilder zu lesen. Dabei kann der Inhalt gleich in eine 2. Sprache übersetzt werden. Dem Nutzer wird die Übersetzung auf dem Display angezeigt, oder über eine „Text to Speech- Applikation" (Sprachausgabe von Text)vorgelesen.Application scenarios are camera mobile phones for tourists abroad, in particular to read traffic signs, menu cards, general information signs. The content can be translated into a second language. The translation is shown to the user on the display, or read out via a "text to speech application".
Die Robustheit der Erkennung basiert zunächst auf einer Normierung der Strichbreiten, bzw. Buchstabengrößen. Anschließend werden die Buchstaben nachgezeichnet, wobei dann im Rahmen der Nachzeichnung die eigentlichen Buchstaben erkannt werden. Die Robustheit der Erkennungsmethode ergibt sich aus der Kombination von verschiedenen Lösungsschritten. Durch die Normierung der Strichbreiten haben Schatteneffekte und schlechte Lichtverhältnisse kaum einen Einfluss auf die Erkennungsrate. Durch die Größen-Normierungen können dieThe robustness of the recognition is based initially on a normalization of the line widths or letter sizes. Subsequently, the letters are traced, in which case the actual letters are recognized during the tracing. The robustness of the detection method results from the combination of different solution steps. Due to the normalization of the bar widths, shadow effects and poor lighting conditions have hardly any influence on the detection rate. Due to the size norms, the
Effekte auf z.B. entfernten Schildern ausgeglichen werden. Durch das Nachzeichnen gelangt man durch einfache, wenig aufwändige, aber doch erweiterbare Lösungsbäume zum richtigen Buchstaben bzw. Ziffer. Um die Ergebnisse noch robuster zu machen, kann zusätzlich noch ein Wörterbuch eingesetzt werden. Durch Rückmeldungen von erkannten Wörtern können Lösungsbäume und Strichbreiten der Vorlage entsprechend optimiert werden.Effects on e.g. be compensated by distant signs. By tracing one gets through simple, inexpensive, yet extensible solution trees to the correct letter or number. In order to make the results even more robust, a dictionary can additionally be used. Through feedback of recognized words solution trees and line widths of the template can be optimized accordingly.
Zur Lösung des Problems werden folgende Schritte durchlaufen.To solve the problem, the following steps will be taken.
Zunächst wird mit einem Bildaufnahmeelement (zum Beispiel CCD Kamera) das Bild in elektrische Signale umgewandelt. Diese Signale werden dann entsprechend dem Verfahren nach dem Patent DE 101 13 880 B4 in einem priorisierten Array abgelegt. Optional kann zusätzlich ein Positionsfaktor in die Priorisierung mit einfließen. Der Positionsfaktor ist umso größer, je näher die Pixelgruppe an dem Startpixel liegt. Das
Startpixel befindet sich bei den westlichen Sprachen (englisch, deutsch, französisch) zunächst in der linken oberen Ecke des Arrays.First of all, the image is converted into electrical signals with an image recording element (for example a CCD camera). These signals are then stored according to the method of the patent DE 101 13 880 B4 in a prioritized array. Optionally, a position factor can also be included in the prioritization. The position factor is the greater, the closer the pixel group is to the starting pixel. The Startpixel is located in the western languages (English, German, French) first in the upper left corner of the array.
Im Unterschied zu dem Patent DE 101 13 880 B4, das mit einer vorher festgelegten Form der Pixelgruppe arbeitet, können die Pixelgruppen hier auch während des Erkennungsvorgangs variieren. Ein Beispiel für eine Pixelgruppe ist eine einzeilige horizontale Anordnung von Pixeln, deren Länge abhängig von einem doppelten Wechsel der Helligkeit ist. Bei zu erkennenden dunklen Buchstaben auf einem hellen Hintergrund wäre dann der Abstand zwischen dem ersten Hell-dunkel-Übergang und dem darauf folgenden Dunkel-hell-Übergang eine Größe für eine angenommene Strichbreite ist. Pixelgruppen gleicher angenommenen Strichbreiten werden jeweils in einer separaten Liste zusammengetragen. Um die Robustheit des Verfahrens gegenüber Pixelfehlern zu erhöhen kann zusätzlich mit einem Tiefpassfilter gearbeitet werden. Bei diesem Filter wird jeweils die Summe aus n benachbarten Pixeln genommen um entsprechende Hell-dunkel, bzw. Dunkel-hell Übergänge zu finden. Durch die Summenbildung werden evtl. Pixelfehler, bzw. Fehler durch starkes Rauschen stark vermindert.In contrast to the patent DE 101 13 880 B4, which works with a predetermined form of the pixel group, the pixel groups here can also vary during the recognition process. An example of a pixel group is a one-line horizontal array of pixels whose length is dependent on a double change in brightness. For dark letters to be recognized on a light background, the distance between the first light-dark transition and the subsequent dark-light transition would then be a size for an assumed stroke width. Pixel groups of the same assumed bar widths are each compiled in a separate list. In order to increase the robustness of the method with respect to pixel errors, it is additionally possible to work with a low-pass filter. In this filter, the sum of n adjacent pixels is taken in each case to find corresponding light-dark, or dark-light transitions. Due to the summation, any pixel errors or errors due to strong noise are greatly reduced.
Zur Erkennung des Buchstabens werden ähnliche Pixelgruppen in jeweils einer separaten Liste zusammengetragen. Jede so gewonnene Liste wird dabei so sortiert, dass die Pixelgruppen, die eine niedrigere Y-Position aufweisen, absteigend sortiert sind. Liegen mehrere ähnliche Pixelgruppen auf gleichen Y-Positionen, so werden für diese neue Listen erzeugt. Aus diesen Listen wird nun versucht, entsprechende Vektoren abzuleiten. Dabei werden aus den jeweiligen Listen die Pixelgruppen mit dem niedrigsten und dem höchsten Y-Wert herausgesucht. Zwischen diesen Pixelgruppenpositionen wird nun eine Linie berechnet. Anschließend werden die Abweichungen der anderen Pixelgruppen zu dieser Linie bestimmt. Liegen alle Abweichungen unterhalb eines bestimmten Schwellwertes, so ist für diese Liste ein Beschreibungsvektor gefunden worden. Liegen die Abweichungen oberhalb eines Schwellwertes, wird die Liste geteilt, und es wird versucht, für jede Teilliste entsprechende Vektoren zu generieren. Dabei ist es sinnvoll, die Liste dort zu teilen, wo die größten Abweichungen zur berechneten Linie vorlagen. Auf diese Weise erhält man eine Anzahl von Vektoren. Sich berührende Vektoren werden in einer weiteren Vektorliste zusammengefasst, und den Y-Werten entsprechend sortiert.
Diese Vektorliste beschreibt dann entsprechende Buchstaben. Die Vektorliste wird anschließend normiert (z.B. auf die maximale Y-Differenz). Eine solche normierte Vektorliste kann dann einen Lösungsbaum durchlaufen, in dem die verschiedenen Buchstaben hinterlegt sind. Mit diesem Ansatz wird man zuerst nur einen Teil der Buchstaben erkennen. Jedoch bekommt man auf diese Weise erste Informationen über die zu erkennende Schrift. Bei großen Schriftzeichen wird man jeweils doppelte Buchstaben erhalten. Dies liegt daran, dass entsprechend der Linienbreite der Buchstaben einmal der Hell-dunkel-, als auch in der Dunkel-hell-Übergang als jeweils einzelner Buchstabe interpretiert wird. Dabei ist davon auszugehen, dass der Abstand dieser Doppelbuchstaben einigermaßen konstant ist. Dieser Umstand kann jedoch nunmehr dazu benutzt werden, die Form der benutzten Pixelgruppen entsprechend der Linienbreite zu optimieren. So sollte die Breite der verwendeten Pixelgruppe so gewählt werden, dass sie das Dreifache der Linienbreite ist. Die optimale Höhe der Pixelgruppe ist abhängig von der Schrifthöhe. Mit den so optimierten Pixelgruppen wird nun das Bild weiter abgetastet. Durch die Vergrößerung der Pixelgruppen entstehen aufgrund der weniger benötigten internen Listen eine schnellere Verarbeitung, die zudem genauere Resultate liefert. Eine weitere Form der Optimierung ist es, die Ergebnisbäume zu optimieren. Da sich der Schrifttyp innerhalb eines Textes in der Regel nicht ändert, gibt es für jeden Text mit dieser Schriftart optimierte Ergebnisbäume. Geht man von 26 Buchstaben aus, ergeben sich aus Groß- und Kleinschreibung 52 verschiedene Buchstaben. Geht man von einem binären Baum von 128 Zeichen aus, reichen 7 Verzweigungen (2 hoch 7), um die Buchstaben zu bestimmen.To recognize the letter similar pixel groups are each compiled in a separate list. Each list thus obtained is sorted in such a way that the pixel groups which have a lower Y position are sorted in descending order. If several similar pixel groups are at the same Y positions, new lists are created for them. From these lists, an attempt is now made to derive corresponding vectors. In the process, the pixel groups with the lowest and highest Y values are selected from the respective lists. Between these pixel group positions a line is calculated. Then the deviations of the other pixel groups to this line are determined. If all deviations are below a certain threshold, then a description vector has been found for this list. If the deviations are above a threshold, the list is split and an attempt is made to generate corresponding vectors for each sub-list. It makes sense to divide the list where the largest deviations from the calculated line occurred. In this way one obtains a number of vectors. Touching vectors are summarized in another vector list and sorted according to the Y values. This vector list then describes corresponding letters. The vector list is then normalized (eg to the maximum Y difference). Such a normalized vector list can then go through a solution tree in which the different letters are stored. With this approach you will first recognize only a part of the letters. However, you get in this way first information about the font to be recognized. For large characters you will get double letters. This is because according to the line width of the letters once the light-dark, as well as in the dark-light transition is interpreted as a single letter. It can be assumed that the distance between these double letters is reasonably constant. However, this fact can now be used to optimize the shape of the pixel groups used according to the line width. So the width of the pixel group used should be chosen to be three times the line width. The optimal height of the pixel group depends on the font height. With the thus optimized pixel groups, the image is now scanned further. Enlarging the pixel groups results in faster processing due to the less required internal lists, which also provides more accurate results. Another form of optimization is to optimize the result trees. Since the font usually does not change within a text, there are optimized result trees for each text with this font. Assuming 26 letters, the letters are case-insensitive. Assuming a binary tree of 128 characters, 7 branches (2 to 7) are enough to determine the letters.
Für Maschinenschrift könnte man den gesamten Vorgang der Texterkennung noch weiter optimieren, indem man schon erkannte Buchstaben, oder sogar Silben als Pixelgruppenmaster abspeichert. Parallel dazu oben beschriebenen Verfahren könnten nun mit dem Pixelgruppenmaster z.B. Vokale einfach erkannt werden, da sie einen extrem hohen Pixelgruppenwert erzielen würden.For typescript you could optimize the entire process of text recognition even further by storing already recognized letters, or even syllables as a pixel group master. Methods described in parallel above could now be used with the pixel group master, e.g. Vowels are easily recognized because they would achieve an extremely high pixel group value.
Als zusätzliche Option könnten Erkennungsfehler mit Wörterbüchern zum Teil erkannt und korrigiert werden. Die Ausgabe der erkannten Zeichen kann sowohl über ein Display, als auch über einen „Speech-to-Text-Programm" (Textausgabe von Sprache) realisiert werden.
Das beschriebene Verfahren beschreibt ein optimiertes Verfahren welches aus pixelbasierten Bildern Vektoren bildet, wobei jedes einzelne Pixel (bei einzeiliger Pixelgruppe) nur einmal durchlaufen zu werden braucht. Bei bisher bekannten OCR Verfahren wird meist zur Erhöhung der Erkennungsrate vorher eine Kantenoptimierung durchgeführt, und erst anschließend mit dem Erkennungsverfahren begonnen. In dem oben beschriebenen Verfahren, geschieht dies in nur einem Schritt, so das es sowohl weniger Rechenintensiv als auch robuster ist.
As an additional option, recognition errors with dictionaries could be partially detected and corrected. The output of the recognized characters can be realized both via a display and via a "speech-to-text program". The method described describes an optimized method which forms vectors from pixel-based images, wherein each individual pixel (with a one-line pixel group) only needs to be traversed once. In previously known OCR methods, an edge optimization is usually carried out to increase the recognition rate beforehand, and only then is the recognition process started. In the method described above, this is done in one step, so it is both less computationally intensive and more robust.