Distributed Algorithms. Image and Video Processing

Ähnliche Dokumente

Kompakte Graphmodelle handgezeichneter Bilder

Kompakte Graphmodelle handgezeichneter Bilder. Einbeziehung in Autentizierung und Bilderkennung

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Morphologie auf Binärbildern

Anmerkungen zur Übergangsprüfung

Übungshandbuch Organic Shape Modellierung

Morphologische Bildoperationen

FTV 1. Semester. Spalte A Spalte B Spalte C Spalte D. Zeile 1 Zelle A1 Zelle B1 Zelle C1 Zelle D1. Zeile 3 Zelle A3 Zelle B3 Zelle C3 Zelle D3

Kurze Bedienungsanleitung für den Kompozer

Aufbau von Hichert-Graphik Schritt für Schritt

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Kapitel 9. Kombination von Vektor- und Rasterdaten. Rasterdaten. 3. Transformationen des Formats. 4. Kombinierte Auswertungen

Bland-Altman-Plot in Excel 2010 erstellen

Algorithmen und Datenstrukturen 2

Binärbildverarbeitung

Algorithmen und Datenstrukturen 2

Guten Morgen und Willkommen zur Saalübung!

WS 2009/10. Diskrete Strukturen

SS 2005 FAU Erlangen Eine Wegeplanungs-Strategie. Jeremy Constantin, Michael Horn, Björn Gmeiner

Algorithmen II Vorlesung am

Wissensbasierte Systeme

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

Highway Hierarchies. Kristian Dannowski, Matthias Hoeschel

Tabellenkalkulationsprogramm EXCEL

Inventor. C:\Dokumente und Einstellungen\Administrator\Desktop\COMENIUS_Juni2005\Inventor01_D.doc Seite 1

Graphen: Datenstrukturen und Algorithmen

Wie findet das Navi den Weg?

Integration geometrischer und fotogrammetrischer Information zum Wiederfinden von Bildern

Neuronale Netze (I) Biologisches Neuronales Netz

Einführung in Creo Parametric 2.0

6.2 Scan-Konvertierung (Scan Conversion)

Computergraphik I. Scan Conversion: Lines & Co. Einordnung in die Pipeline. G. Zachmann Clausthal University, Germany zach@tu-clausthal.

16. All Pairs Shortest Path (ASPS)

Excel-Kurs: Handout Schülervertretung [Name der Schule]

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

1 Darstellen von Daten

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

Kapitel 3: Problemformulierungen in der KI. oder das Problem ist die halbe Lösung

4 Greedy-Algorithmen (gierige Algorithmen)

16. Schriftart formatieren

Microsoft Word Mit Tabellen arbeiten. Microsoft Word Tabellen

Parallele und funktionale Programmierung Wintersemester 2013/ Übung Abgabe bis , 16:00 Uhr

Wirtschaftsinformationen per Internet Anleitung

Schriftbild. STRG + UMSCHALT + * Nichdruckbare Zeichen anzeigen

Im Original veränderbare Word-Dateien

Das Briefträgerproblem

Collagen erstellen Fotobuch/Poster HeiM: Auf Basis des gleichlautenden Threads im FF-Forum, wo Manfred Ritter die Gestaltung einer Fotobuchseite

Route Ein Programm besteht aus mehreren Routen (Teilstrecken). Jede Route hat eigene Einstellungen für

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Seminararbeit für das SE Reine Mathematik- Graphentheorie

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Excel. Aufbau der Excel-Arbeitsoberfläche. Bezeichnung der Elemente. Arbeitsblatt mit Zeilen Spalten

INFORMATIKA NÉMET NYELVEN INFORMATIK

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Produktion +++ Archivierung +++ Management +++ Vermarktung +++ Verteilung +++ Suche +++ Beschaffung

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Datenanalysen in Excel - Diagramme

HTML Programmierung. Aufgaben

Neuheiten PROfirst KALKULATION Version 8. SQL ist sehr schnell. Neuheiten PROfirst KALKULATION Version 8 1/7

Anleitung zur Pflege der Homepage über den Raiffeisen-Homepage-Manager

Word 2010 Grafiken exakt positionieren

Einführung in Origin

Dossier: Rechnungen und Lieferscheine in Word

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester Vorlesung

Word. Tabellen und Rahmen. Martina MÜLLER. Monika WEGERER. Zusammengestellt von. Überarbeitet von

Objekte ausrichten in CorelDRAW 12 Von Steve Bain

Planen mit mathematischen Modellen 00844: Computergestützte Optimierung. Autor: Dr. Heinz Peter Reidmacher

Zusammenfassung Digitale Bildverarbeitung By Fabian Flohrmann

Exploration und Klassifikation von BigData

Kurzanleitung Zeichnungsmodul ACD Chemsketch 11.0 Freeware

Arbeiten mit Excel. 1. Allgemeine Hinweise

Bildverarbeitung Herbstsemester. Binärbildanalyse

Numerisches Programmieren

Excel Allgemeine Infos

Lineare Programmierung

Algorithmen und Datenstrukturen Bereichsbäume

Bildverarbeitung Herbstsemester Kanten und Ecken

Excel 2013 Grundlagen. Inhalt

Hinweise zum Übungsblatt Formatierung von Text:

Tutorial Excel Übung 5&6 Tom s Skater -1- Die Aufgabenstellung ist der folgenden URL zu entnehmen: Übung5&6.

Wasserfall-Ansätze zur Bildsegmentierung

0 Im folgenden sei die Wortlänge gleich 8 (d. h.: es wird mit Bytes gearbeitet).

Dijkstra, Kalmann und der Heiratssatz. Anwendung von Algorithmen am Beispiel der innovativen Mobilitätslösung car2go

Kapitel 6: Graphalgorithmen Gliederung

Informatik Aufgaben. 1. Erstelle ein Programm zur Berechnung der Summe der Zahlen von 1 bis n, z.b. n = 100.

Grundlagen der Theoretischen Informatik, SoSe 2008

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

Die Benutzeroberfläche von PDF Editor besteht aus den folgenden Bereichen:

A) Durchsuchen von Datenbanken im Internet durch Endnote

Befehlsliste für EXCEL

<Trainingsinhalt> Webdesign mit HTML & CSS

Produktentwicklung damit sollten Sie rechnen

Inhaltsverzeichnis. B. Hinweise zur Tabellenkalkulation mit Excel F. Aufgabenteil... 22

Word Tastaturbefehle 1/5

Transkript:

Chapter 6 Optical Character Recognition Distributed Algorithms for Übersicht Motivation Texterkennung in Bildern und Videos 1. Erkennung von Textregionen/Textzeilen 2. Segmentierung einzelner Buchstaben 3. Auswahl der Buchstabenpixel 4. Erkennung einzelner Buchstaben (OCR) Pattern matching Zoning Shape contexts Konturprofile Skelette Skalenraumabbildungen Zusammenfassung 2 1

Motivation Wichtige semantische Informationen werden in Videos durch Texte übermittelt: Namen der Schauspieler in Spielfilmen In Nachrichtensendungen werden die neben dem Sprecher gezeigten Bilder durch einen Text beschrieben. Ort oder Zeit in einem Spielfilm Fragen bei Quizshows Namen/Beruf der Teilnehmer einer Diskussionsrunde Titel eines Films 3 Erkennung von Textregionen (I) Ablauf 1. Suche Blöcke mit starken Kanten 2. Fasse benachbarte Blöcke zu Textregionen zusammen 3. Verwende horizontale Projektionsprofile zur Erkennung einzelner Textzeilen Suche Blöcke mit starken Kanten (Summe Kantenstärke pro Block > T) 4 2

Erkennung von Textregionen (II) Zusammenfassung von Blöcken 5 Erkennung von Textregionen (III) Horizontale Projektionsprofile Erkannte Textzeilen Summierte Kantenstärke aller Pixel einer Zeile 6 3

Segmentierung von Buchstaben (I) Erster Ansatz Analysiere vertikale Projektionsprofile um Trenner zwischen Buchstaben zu erkennen. Vertikales Projektionsprofil (a) Nicht erkannter Trenner (b) geteilter Buchstabe Problem: geteilte oder verbundene Buchstaben 7 Segmentierung von Buchstaben (II) Neuer Ansatz Analysiere kürzeste Pfade und nutze diese als Trenner zwischen den Buchstaben. Suche für jede Spalte von der obersten Zeile einen kürzesten Pfad bis zur untersten Zeile. Die Kosten für den Pfad sollen minimal sein. Die Kosten sind als Summe der absoluten Differenzen zwischen benachbarten Pfadpixeln definiert. 8 4

Segmentierung von Buchstaben (III) Kürzester-Pfade-Algorithmus Der Kürzeste-Pfade-Algorithmus von Dijkstra wird verwendet, um den Pfad mit den geringsten Kosten zu finden. Ziel: Berechnung eines kürzesten Pfades zwischen einem Startknoten (Pixel in oberster Zeile) und einem beliebigen Knoten in einem kantengewichteten Graphen (beliebiges Pixel in unterster Textzeile). Initialisiere: Setze Entfernung für alle Knoten auf unendlich. Betrachte Knoten u mit geringstem Abstand zum Startknoten Falls Knoten u in unterster Zeile liegt: kürzester Pfad gefunden. Sonst: Betrachte alle erreichbaren Pixel, d.h. die drei benachbarten (in der Zeile darunter liegenden) Pixel. Prüfe, ob der Weg zu jedem Pixel über das aktuelle Pixel günstiger ist als der bisher bekannte Weg zu diesem Pixel. Setze neuen Pfad, falls dieser günstiger ist. 9 Optimierung des Kürzesten-Pfade Pfade- Algorithmus Problem Der Aufwand zur Berechnung des kürzesten Pfads für jedes Pixel ist sehr aufwändig. Optimierung 1. Initialisiere mögliche Startpixel. 2. Markiere linkes und rechtes Pixel. 3. Berechne Pfad für markierte Pixel. 4. Entferne Startpixel zwischen zwei Pfaden, falls diese zusammen laufen. 5. Wähle nächstes Startpixel. 6. Wiederhole mit 3. 10 5

Auswahl der Buchstabenpixel (I) Identifiziere Buchstabenpixel mit Hilfe eines modifizierten Region-Merging-Algorithmus Berechne das Histogramm einer Textregion und identifiziere ifi i ein bis zwei dominante Farben. Annahme: Eine dieser Farben ist die Textfarbe. Identifiziere Regionen mit einem Region-Growing-Algorithmus. Jede Region kann einen der drei Zustände annehmen: Text, Hintergrund, undefiniert. Alle Regionen sind zunächst undefiniert. Setze alle Regionen mit Textfarbe zu Textregionen. Undefinierte Regionen am oberen oder unteren Rand der Textzeile werden als Hintergrund definiert. 11 Auswahl der Buchstabenpixel (II) 6. Berechne Distanz D i,j zwischen einer undefinierten Region i und einer bekannten Region j (Text oder Hintergrund) anhand der Farben C i und dem Schwerpunkt einer Region G i : 7. Wähle minimale i Distanz D i,j und ddefiniere i Region als Text oder Hintergrund. 8. Wiederhole mit Schritt 6 bis alle undefinierten Regionen bekannt sind. 12 6

Erkennung einzelner Buchstaben (I) Erkennung einzelner Buchstaben (OCR) Pattern matching Zoning Shape contexts Konturprofile Skelette Skalenraumabbildungen 13 Erkennung einzelner Buchstaben (II) Pattern matching Berechne eec ede die Differenz ee zwischen wsc zwei Binärbildern: 18 % der Pixel unterscheiden sich 14 7

Erkennung einzelner Buchstaben (III) Zoning Definiere ein Gitter mit N x M Zellen. Zähle die Anzahl der Textpixel in jedes Zelle. Vergleiche zwei Vektoren, die durch die Anzahl der Textpixel jeder Zelle definiert sind. 3 33 0 0 0 39 30 0 0 33 32 0 2 34 32 4 Vektor: (3,33,0,0,0,39,30,0,0,33,32,0,2,34,32,4) 15 Erkennung einzelner Buchstaben (IV) Shape contexts Der Shape-Context-Algorithmus ist ein spezieller Zoning-Algorithmus. Ein rundes Raster wird zur Definition der Zellen verwendet. Ein Konturpixel definiert den Mittelpunkt des Rasters. Die Anzahl der Konturpixel (nicht der Textpixel) in jeder Zelle definieren den Merkmalsvektor. Als Referenzbuchstaben werden Merkmalsvektoren für jedes einzelne Konturpixel eines Buchstabens gespeichert. 16 8

Erkennung einzelner Buchstaben (V) Konturprofile (contour profiles) Horizontales Profil: Analysiere obere und untere Konturpixel. Vertikales Profil : Analysiere linke und rechte Konturpixel. Aggregiere diese Profile in einen Vektor. Oberes Konturprofil Unteres Konturprofil 17 Position Position Erkennung einzelner Buchstaben (VI) Skelette Idee: Ermittle die Struktur einer Region Vorgehen: Trage die Region iterativ ab Im Jahr 1967 wurde das Verfahren der Medial-Axis-Transformation vorgestellt: R: Region, B: Rand Für alle p R: Suche nächsten Nachbarn (z.b. mittels City-Block- Distanz) in B. Falls (Anzahl Nachbarn > 1): Pixel ist mediale Achse (Skelett) von R 18 9

Erkennung einzelner Buchstaben (VII) Beispiel für Skelette bei Verwendung der City-Block-Distanz 19 Erkennung einzelner Buchstaben (VIII) Probleme bei der Erzeugung von Skeletten Minimale Änderungen der Kontur ergeben sehr unterschiedliche Skelette. Der Rechenaufwand ist sehr hoch, da für jedes Pixel die Distanz zu jedem anderen Pixel berechnet werden muss. Optimierung: Trage Regionen ab (entferne Randpixel), so dass: Endpunkte des Skeletts möglichst wenig abgetragen werden, eine Region nicht in zwei Regionen unterteilt wird, alle Regionen des Objektes gleichmäßig stark abgetragen werden (eine Region soll nicht übertrieben stark abgetragen werden). 20 10

Erkennung einzelner Buchstaben (IX) Bedingungen Endpunkte des Skeletts sollen möglichst wenig abgetragen werden, eine Region soll nicht in zwei Regionen unterteilt werden, alle Regionen des Objektes sollen gleichmäßig stark abgetragen werden (eine Region soll nicht übertrieben stark abgetragen werden). 21 Erkennung einzelner Buchstaben (X) Thinning-Algorithmus zur Erzeugung von Skeletten Gegeben: Binärbild (Hintergrund=0, Objekt=1) p 9 p 2 p 3 p 8 p 1 p 4 8-Pixel-Nachbarschaft aktuelles Pixel: p 1 p 7 p 6 p 5 1. Betrachte jedes Randpixel und markiere Pixel falls alle Bedingungen erfüllt sind: 3 < N(p 1 ) < 6 S(p 1 ) =1 N(p 1 ): Anzahl der Objektpixel p 2 p 9 in der Umgebung von p p 2 * p 4 * p 6 = 0 1 p 4 * p 6 * p 8 = 0 S(p 1 ): Anzahl der Übergänge von 2. Lösche markierte Pixel Hintergrundpixeln nach Objektpixeln beim Ablaufen von p 2,p 3 p 9,,p 2 22 11

Erkennung einzelner Buchstaben (XI) Thinning-Algorithmus zur Erzeugung von Skeletten 3. Betrachte jedes Randpixel und markiere Pixel falls alle Bedingungen erfüllt sind: 3 < N(p 1 ) < 6 S(p 1 ) =1 p 2 * p 4 * p 8 = 0 p 2 * p 6 * p 8 = 0 4. Lösche markierte Pixel p 9 p 2 p 3 p 8 p 1 p 4 p 7 p 6 p 5 5. Gehe zu 1. falls mindestens ein Pixel gelöscht wurde. 23 Erkennung einzelner Buchstaben (XII) Thinning-Algorithmus zur Erzeugung von Skeletten Iteration 1 Buchstabe Randpixel 1. Bedingungen Randpixel 2. Bedingungen Iteration 2 Buchstabe Randpixel 1. Bedingungen Randpixel 2. Bedingungen 24 12

Erkennung einzelner Buchstaben (XIII) Texterkennung mit Skalenraumabbildungen Stark konvex gekrümmte Regionen werden zu konkaven Regionen. Ablauf: Identifiziere Schwerpunkt Lege Kreis um Buchstaben Si Spiegele Konturpixel ldes Buchstabens an der Kreislinie 25 Erkennung einzelner Buchstaben (XV) Texterkennung mit Skalenraumabbildungen Berechne normale Skalenraumabbildung Berechne Skalenraumabbildung für gespiegelte Kontur 26 13

Experimentelle Ergebnisse (I) Datenbank Buchstaben von vier Schriftarten wurden verwendet. Die Skalenraumabbildungen durften maximal ~20 Grad gedreht werden, um kursive Zeichen zu erkennen. Herausforderungen Texterkennung bei Segmentierungsfehlern: 27 Experimentelle Ergebnisse (II) Segmentierungsfehler Unterteilte Buchstaben Verbundene Buchstaben Segmentierungsfehler Projektionsprofile 9.9 % 7.5 % 17.4 % Kürzeste-Pfade 3.8 % 5.4 % 9.2 % Texterkennungsverfahren Pattern Matching Zoning Konturprofile Skalenraumabbildungen Kommerzielle OCR-Software (Scanner) Erkennungsergebnisse 69 % 64 % 71 % 76 % 75 % 28 14

Experimentelle Ergebnisse (III) 29 Questions? 30 15