Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

21. Januar 2008 Mobile Media Processing: Text Localization and Recognition Seminar Bildverstehen und Mustererkennung Jan-Christoph Küster, Philipp Schirmacher,

Ähnliche Präsentationen


Präsentation zum Thema: "21. Januar 2008 Mobile Media Processing: Text Localization and Recognition Seminar Bildverstehen und Mustererkennung Jan-Christoph Küster, Philipp Schirmacher,"—  Präsentation transkript:

1 21. Januar 2008 Mobile Media Processing: Text Localization and Recognition Seminar Bildverstehen und Mustererkennung Jan-Christoph Küster, Philipp Schirmacher, Ansgar Schulte

2 Seite 2 Agenda 1.Motivation 2.Konzept 3.Realisierung 4.Fazit

3 Seite 3 Motivation U-Bahnplan der Stadt Seoul (koreanisch / Hangul) Übersetzen der Stationsnamen ins Englische mit selbstentwickelter Symbian C++ Anwendung auf Nokia N95

4 Seite 4 Agenda 1.Motivation 2.Konzept 3.Realisierung 4.Fazit

5 Seite 5 Konzept Vorverarbeitung Textlokalisierung Grauwertbild Kantendetektion Kantendichte Skew-Korrektur Otsu Matching Template-Matching Pattern.png Connected Components Morphologische Operationen Region 1Region n Stationsname auf Englisch als ASCII Bounding Boxes … Quellbild gewünschte Regionen Bereinigung

6 Seite 6 Konzept Vorverarbeitung Textlokalisierung Grauwertbild Kantendetektion Kantendichte Skew-Korrektur Otsu Matching Template-Matching Pattern.png Connected Components Morphologische Operationen Region 1Region n Stationsname auf Englisch als ASCII Bounding Boxes … Quellbild gewünschte Regionen Bereinigung

7 Seite 7 Textlokalisierung Ziel: Regionen finden, die Text enthalten Annahmen: dunkler Text auf hellem Hintergrund einheitlicher Schrifttyp (Maschinenschrift) gleichmäßige Beleuchtung

8 Seite 8 Grauwertbild Umwandlung in Grauwertbild

9 Seite 9 Kantendetektion Binärbild (Kante ja/nein) Kantenstärke mit Sobel-Operator Schwellwert: 2 * mittlere Kantenstärke Keine Gaußglättung

10 Seite 10 Kantendichte in jedem Punkt berechnen Ist in der Umgebung von Text hoch 8x8-Filtermaske Schwellwert: 10 Kantendichte 1 1 … 1 … … 1 1 … 1 8 8

11 Seite 11 Closing-Operation Opening-Operation Morphologische Operationen Lücken im Text schließen Strukturelement 2x2 Trennung von Stationsname und -nummer Strukturelement 3x3

12 Seite 12 Zusammenhangskomponenten berechnen Connected Component

13 Seite 13 Bounding Boxes Boundingbox für jede Komponente Selektion von Boxen –Breite/Höhe Verhältnis –Größe der Box (mindestens 13x13 )

14 Seite 14 Konzept Vorverarbeitung Textlokalisierung Grauwertbild Kantendetektion Kantendichte Skew-Korrektur Otsu Matching Template-Matching Pattern.png Connected Components Morphologische Operationen Region 1Region n Stationsname auf Englisch als ASCII Bounding Boxes … Quellbild gewünschte Regionen Bereinigung

15 Seite 15 Vorverarbeitung Ziel: Vorbereiten einer Region für das Matching

16 Seite 16 Otsu Trennung von Text und Hintergrund –Automatische Schwellwertbestimmung –Annahme: 2 Klassen von Pixeln (Text und Hintergrund) –Annahme: Bimodale Verteilung Schwellwert Hintergrund Text

17 Seite 17 Otsu Nicht robust und präzise genug

18 Seite 18 Otsu Besser: mathematischer Ansatz –Minimiere Varianz innerhalb der Klassen (variance within classes) –Maximiere Varianz zwischen den Klassen (variance between classes) –Kein Widerspruch der Zielbedingungen [0, S][S+1, 255]

19 Seite 19 Otsu Schwellwert mit 0,7 multiplizieren Region0,90,80,70,60,5

20 Seite 20 Skew-Korrektur Region nicht immer horizontal ausgerichtet –Bedingt durch Kameraführung –Annahme: Drehung im Bereich [-10,10] Grad Skew-Winkel finden durch Ausprobieren –in 1º Schritten durchgehen –Kriterium: maximale Anzahl Hintergrundspalten (nur weisse Pixel) Skew-Winkel: 10º

21 Seite 21 Konzept Vorverarbeitung Textlokalisierung Grauwertbild Kantendetektion Kantendichte Skew-Korrektur Otsu Matching Template-Matching Pattern.png Connected Components Morphologische Operationen Region 1Region n Stationsname auf Englisch als ASCII Bounding Boxes … Quellbild gewünschte Regionen Bereinigung

22 Seite 22 Template-Matching Ziel: Vergleich vorverarbeiteter Region mit Mustern –Kriterium: kleinste quadratische Abweichung Pattern.png speichert alle Muster –linksbündig –oben und unten bündig abschließend –rechter Rand mit weiß aufgefüllt Index Pattern 101 px 13 px

23 Seite 23 Template-Matching Probleme beim Template-Matching –Region schließt am Rand nicht immer bündig mit Text ab –Region und Muster sind unterschiedlich groß –Alle quadratischen Differenzen gleich zu gewichten?

24 Seite 24 Entfernung von weißen Zeilen am oberen und unteren Rand –Berechnung des Weißanteils in jeder Zeile –Löschen der Zeilen > 85% weiß Template-Matching

25 Seite 25 Template-Matching Skalierung der Region auf Größe 13 x 101 –Proportionale Skalierung auf die Höhe 13 –rechten Rand mit weißen Pixeln auf Breite 101 auffüllen

26 Seite 26 Template-Matching Quadratische Differenzen an jeder Position berechnen –Für jede Position Gewichtung finden –An jeder Position: über alle Muster Varianz berechnen –Normierung auf [0,1] Template1 Template n Template n-1 g1g1 g n-1

27 Seite 27 Templatematching Berücksichtigung von weißen Spalten an den Seiten –Verschiebung nach links und rechts –Kleinste Abweichung zählt

28 Seite 28 Agenda 1.Motivation 2.Konzept 3.Realisierung MATLAB Prototyp Symbian C++ 4.Fazit

29 Seite 29 MATLAB Prototyp Effektivität des Konzepts prüfen 710 Testfälle um Güte im Vorfeld zu testen Bilder unter realen Bedingungen entstanden –Nokia N95 –10cm Abstand vom Plan (A3) –Nahaufnahmemodus

30 Seite 30 MATLAB Prototyp

31 Seite 31 MATLAB Prototyp 100 … … … … … P Testdaten StationsnummerTestbildRegionsnummer

32 Seite 32 MATLAB Prototyp Region Region nach Vorverarbeitung Matching Ergebnis

33 Seite 33 MATLAB Prototyp Konfusionsmatrix Trefferquote bei 710 Testfällen bei 85,22% Erkannte Station (Index aus Pattern.png) Input Station (Index aus Pattern.png)

34 Seite 34 MATLAB Prototyp

35 Seite 35 Agenda 1.Motivation 2.Konzept 3.Realisierung MATLAB Prototyp Symbian C++ 4.Fazit

36 Seite 36 Realisierung mit Symbian C++ Zugriff auf die Kamera –Einzelne Bilder des Videostreams Kameranutzung unter Symbian: Klasse CCamera –Kamera reservieren –Kamerasucher starten –Callback-Methoden, bspw. wenn Sucherbild abrufbereit –Autofokus verwenden

37 Seite 37 Realisierung mit Symbian C++ Demoapplikation CameraApp –Quellcode offen –Grundlage für Kamera-Applikationen Model-View-Controller Architektur (MVC) cameraappview cameraappcontroller textengine cameraappdocument cameracaptureengine cameraappappui cameraappapp cameraappcontainer Model Controller View

38 Seite 38 Realisierung mit Symbian C++ cameraappbasecontainer cameraappcontroller aFrame + Bounding Boxes + Text textengine iNewFrame aFrame iBackupFrame Kamera Display x198 Ecken der Bounding Boxes Pattern.png Index Berechnung Stationsnamen-Array (englisch) 88x66

39 Seite 39 Realisierung mit Symbian C++ Bildverarbeitung: NokiaCV Library Ziel: einheitliche Basis für entsprechende Anwendungen –Geometrische Transformationen –Kanten- und Eckendetektion –Bildstatistiken –Motion Estimation Problem: Performance ist sehr schlecht

40 Seite 40 Bitmaps im Speicher: Realisierung mit Symbian C++ Zeile 0 Start Zeile 1Zeile 2Zeile 3Zeile 4Zeile… Zeilenlänge Start + 4 * Zeilenlänge Pixel 0Pixel 1Pixel 2Pixel 3Pixel 4Pixel… Start + 4 * Zeilenlänge abhängig vom DisplayMode

41 Seite 41 Realisierung mit Symbian C++ CFbsBitmap unterstützt verschiedene DisplayModes Grauwertbild: –EGray256 RGB-Bild: 16,7 Mio. Farben –EColor16M EColor16MU R G B R G B

42 Seite 42 Realisierung mit Symbian C++ Vorverarbeitung Textlokalisierung Grauwertbild Kantendetektion Kantendichte Skew-Korrektur Otsu Matching Template-Matching Pattern.png Connected Components Morphologische Operationen Region 1Region n Stationsname auf Englisch als ASCII Bounding Boxes … Quellbild gewünschte Regionen Bereinigung

43 Seite 43 Realisierung mit Symbian C++ Von 71 Stationsnamen werden 66 erkannt (92,96%) –Sicher erkannt: 42 –Mit Mühe erkannt: 24 –Region nicht richtig gefunden: 4 –Region gefunden aber falsch erkannt: 1

44 Seite 44 Agenda 1.Vorstellung des Themas 2.Das Konzept 3.Realisierung 4.Fazit

45 Seite 45 Fazit Operation auf Videostream mit Symbian C++ möglich Verfahren der Bilderkennung performant realisierbar Bibliothek NokiaCV unbrauchbar –schlecht dokumentiert –nicht performant –Quellcode nicht frei Realisierung und Testen in MATLAB empfehlenswert On-Device-Debugging notwendig (Carbide.c++ DEV)

46 Seite 46 Ausblick Eigenes Framework zur Bildverarbeitung und - erkennung erstellen Debugging Erweiterung für komplexe Datentypen (Matrizen) Erweiterung des Texterkennungssystems –Erkennung einzelner Zeichen/Silben

47 Seite 47 Diskussion Vielen Dank für Ihre Aufmerksamkeit Noch Fragen???


Herunterladen ppt "21. Januar 2008 Mobile Media Processing: Text Localization and Recognition Seminar Bildverstehen und Mustererkennung Jan-Christoph Küster, Philipp Schirmacher,"

Ähnliche Präsentationen


Google-Anzeigen