Verfahren zur Bildanalyse, insbesondere für ein Mobilfunkqerät
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.
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 es
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.
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.
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.
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.
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.
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.
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.
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.
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.
Die Erfindung wird durch die Merkmale des unabhängigen Patentanspruches 1 oder 2 gekennzeichnet.
Vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Patentansprüche.
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.
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.
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.
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 die
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.
Zur Lösung des Problems werden folgende Schritte durchlaufen.
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.
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.
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.
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.
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.