Loading…
Thumbnail Image

Detektion und Erkennung von Text in Videos mit niedriger Qualität

Cobet, Andreas

Text wird oft in Bildern oder Videos zusätzlich übertragen. Der begleitende Text dient dem Betrachter zur schnellen Information über den sachlichen Inhalt des aktuellen Bildes oder Videos. Kann dieser Text automatisch aus dem Video in die Liste der Stichwörter aufgenommen werden, ist eine genauere bzw. umfangreichere Suche in einer Videodatenbank möglich. Durch eine Reihe von Verfahren kann Text aus solchen Videos extrahiert werden. Im Allgemeinen wird der Text dabei in den Bildern detektiert und dann durch eine Schriftzeichenerkennung interpretiert. Eine entscheidende Eigenschaft für die Erkennung von Text in Bildern ist die hohe Dichte der Konturen gegenüber anderen Objekten. Durch die Konturenerkennung nach Canny können diese Konturen gefunden und in ein Konturbild gespeichert werden. Von den einzelnen separierten Schriftzeichen werden dann Merkmale extrahiert, die mit Hilfe eines Klassifikationsverfahrens interpretiert werden können. Je nach Art und Qualität der Videos steigt oder sinkt die Genauigkeit der Ergebnisse. Durch eine Nachbearbeitung kann die Erkennungsrate erhöht werden. Ein Beispiel hierfür ist der Abgleich mit einem Wörterbuch. Alternativ dazu wird in dieser Arbeit ein Verfahren vorgestellt, das die Ergebnisse der Erkennung desselben Textes, der in vielen aufeinanderfolgenden Bildern in dem Video entsteht, über die Zeit mittelt und damit insgesamt Fehler reduziert. Aus der Analyse der Fehler nach der Texterkennung zeigt sich, dass Schriftzeichen an jeder beliebigen Position im gesuchten Wort nicht nur falsch sein können, sondern auch ein Schriftzeichen als viele oder mehrere Schriftzeichen als eins erkannt werden. Daher sind das Erstellen einer Tabelle und das statistische Auszählen der häufigsten Schriftzeichen für jede Position nicht möglich. Mit Hilfe der Levenshtein-Distanz kann der Abstand von zwei Wörtern errechnet werden, d. h. wie viele Schritte minimal benötigt werden, um ein Wort in das andere zu überführen. Für die Berechnung wird ebenfalls eine Matrix erzeugt, aus der mittels der Operatoren „Hinzufügen“, „Entfernen“ oder „Austauschen“ die Umformung des einen Wortes in das andere ausgelesen werden kann. So wird ersichtlich, an welcher Position Fehler gegenüber dem anderen Wort entstanden sind. Diese Berechnung kann dann für jedes Ergebnis der Texterkennung wiederholt und in eine Datenstruktur integriert werden. Aus der Datenstruktur wird nach jedem weiteren integrierten Wort ein repräsentatives und deterministisches Ergebnis ausgelesen. Durch Messung mittels synthetisch generierter Daten wird in dieser Arbeit gezeigt, dass mit jedem in die Datenstruktur integrierten Wort die gesamte Erkennungsrate verbessert werden kann. Durch Experimente mit realen Videos wird ebenfalls nachgewiesen, dass auch hier eine Verbesserung zu erwarten ist.
Videos very often include text. This additional text is embedded to provide the viewer faster accessible information about the content of the video. Could it be possible to read all words automatically from the video, and store them into a data base of key words, then a more precise and wider search on a video data base would be possible. By using a set of existing algorithms this text would be extracted from the videos. In general, the text is detected in the first step. In the second step the letters are interpreted by an optical character recognition. A crucial feature of text in images is the edge density compared to other objects. Using an edge detection algorithm introduced by Canny it is possible to find these edges and extract them into a new image. Features from images of single separated letters are extracted, and then interpreted using a classification method. The recognition rate of this procedure is strongly dependent on the quality and type of the video. It is possible to increase this recognition rate by post processing, for example by using a word library. Alternatively a new method is introduced in this theses, which is using the same text area in a set of successive video frames, filter them, and thus reduce the recognition error. After the analysis of the recognition errors it is obvious that any recognized letter at any position within a word can be wrong. Furthermore it is also possible that a letter was completely missed or was recognized as multiple letters. That is why it is not possible to use the simple approach to generate a table of all recognized words and then count and select the most frequent letter at each position. By using the Levenshtein-Distance the distance of two words can be calculated, or in other words, how many steps are required to convert the first word to the second one. This conversion can be achieved by using the three operations “Add”, “Remove”, or “Exchange”. The algorithm for this calculation also generates a matrix, which can be used to identify the required type of operation and position in the word for each conversion step. Due to this information it is obvious which position has different recognition results. This calculation can be performed for each pair of recognized words in the video and then the results can be stored into a data base. After each integrated word it is possible to generate a representative and deterministic word out of this database. Measurements using synthetic generated words demonstrated the improvement of the recognition rate after each integrated word inside the database. The approach is also proven by experiments with real video material.