Mobile Media Processing: Text Localization and Recognition

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Vorteile der Online-Produkte
Streuung Bezeichnung Streuung=Dispersion=Variabilität Fragestellung:
Telefonnummer.
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Workshop zur Medienarbeit der katholischen Kirche Aspekte des Religionsmonitors Berlin, 02. April 2008.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
-17 Konjunkturerwartung Europa September 2013 Indikator > +20 Indikator 0 a +20 Indikator 0 a -20 Indikator < -20 Europäische Union gesamt: +6 Indikator.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
Schieferdeckarten Dach.ppt
Kennlinie Lichtregelung in JavaNNS Version 1.1
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
20:00.
Zusatzfolien zu B-Bäumen
Eine Einführung in die CD-ROM
Dokumentation der Umfrage
Schulung Bebauungplanung mit
für Weihnachten oder als Tischdekoration für das ganze Jahr
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
Analyse von Ablaufdiagrammen
Birdwatch Start Mit deinem Feldstecher entdeckst du auf einer Exkursion viele Vogelarten. Kennst du sie alle? Vogelquiz Birdwatch.
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
Das IT - Informationssystem
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
LOD Levels of Detail Oliver Gassner Christian Troger.
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Pigmentierte Läsionen der Haut
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Zusammengestellt von OE3DSB
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Vortrag von Rechtsanwältin Verena Nedden, Fachanwältin für Steuerrecht zur Veranstaltung Wege zum bedingungslosen Grundeinkommen der Piratenpartei Rhein-Hessen.
1 Mathematical Programming Nichtlineare Programmierung.
Technische Frage Technische Frage Bitte löse die folgende Gleichung:
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Bildergalerie PRESEASON CAMP Juni 2014 Romanshorn Get ready for the Season!
AGOF facts & figures: Branchenpotenziale im Internet Q2 2014: Parfum & Kosmetik Basis: internet facts / mobile facts 2014-I.
Es war einmal ein Haus
Folie Einzelauswertung der Gemeindedaten
J-Team: Gymnasium Ulricianum Aurich und MTV Aurich Ein Projekt im Rahmen von UlricianumBewegt.de Euro haben wir schon…  8000 mal habt ihr bereits.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Technische Kommunikation
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
 Präsentation transkript:

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

Agenda Motivation Konzept Realisierung Fazit 2

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

Agenda Motivation Konzept Realisierung Fazit 4

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

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

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

Grauwertbild Umwandlung in Grauwertbild

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

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

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

Connected Component Zusammenhangskomponenten berechnen

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

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

Vorverarbeitung Ziel: Vorbereiten einer Region für das Matching

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

Otsu Nicht robust und präzise genug

Besser: mathematischer Ansatz 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]

Otsu Schwellwert mit 0,7 multiplizieren Region 0,9 0,8 0,7 0,6 0,5

Region nicht immer horizontal ausgerichtet 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º

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

Ziel: Vergleich vorverarbeiteter Region mit Mustern 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 1 2 3 . 69 70 71 13 px 101 px

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?

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

Skalierung der Region auf Größe 13 x 101 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

Quadratische Differenzen an jeder Position berechnen 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 g1 gn-1

Berücksichtigung von weißen Spalten an den Seiten Templatematching Berücksichtigung von weißen Spalten an den Seiten Verschiebung nach links und rechts Kleinste Abweichung zählt 1 Muster 9 101 ... Verschiebung nach links Verschiebung nach rechts

Agenda Motivation Konzept Realisierung Fazit MATLAB Prototyp Symbian C++ Fazit 28

Effektivität des Konzepts prüfen 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

MATLAB Prototyp

MATLAB Prototyp 100 … 547 03211 16 548 03211 28 553 03211 32 810 03211 14 P555 710 Testdaten Stationsnummer Testbild Regionsnummer

MATLAB Prototyp Region nach Vorverarbeitung Matching Ergebnis Region

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

MATLAB Prototyp

Agenda Motivation Konzept Realisierung Fazit MATLAB Prototyp Symbian C++ Fazit 35

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

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

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

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

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

Realisierung mit Symbian C++ CFbsBitmap unterstützt verschiedene DisplayModes Grauwertbild: EGray256 RGB-Bild: 16,7 Mio. Farben EColor16M EColor16MU 0 7 R G B 0 8 16 23 R G B 0 8 16 24 31

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

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

Vorstellung des Themas Das Konzept Realisierung Fazit Agenda Vorstellung des Themas Das Konzept Realisierung Fazit 44

Operation auf Videostream mit Symbian C++ möglich 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)

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

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