20
Pflichtenheft wxOCR Pflichtenheft wxOCR Matthias Jauernig Matthias Jauernig Michael Lahl Michael Lahl Verteidigung Verteidigung

Pflichtenheft wxOCR

  • Upload
    mimis

  • View
    20

  • Download
    0

Embed Size (px)

DESCRIPTION

Verteidigung. Pflichtenheft wxOCR. Matthias Jauernig Michael Lahl. Bild. Text. Im heutigen Seminar verteidigen wir unser Pflichtenheft – hoffentlich erfolgreich…. 1. Zielbestimmung. Überblick. Texterkennung mithilfe eines Künstlichen Neuronalen Netzes Erkennung von „gedrucktem“ Text - PowerPoint PPT Presentation

Citation preview

Page 1: Pflichtenheft wxOCR

Pflichtenheft wxOCRPflichtenheft wxOCR

Matthias JauernigMatthias Jauernig

Michael LahlMichael Lahl

VerteidigungVerteidigung

Page 2: Pflichtenheft wxOCR

1. Zielbestimmung1. Zielbestimmung

Texterkennung mithilfe eines Künstlichen Texterkennung mithilfe eines Künstlichen Neuronalen NetzesNeuronalen Netzes

Erkennung von „gedrucktem“ TextErkennung von „gedrucktem“ Text text-enthaltendes Bild wird verarbeitet text-enthaltendes Bild wird verarbeitet

und vom Programm in Text umgewandeltund vom Programm in Text umgewandelt

Beispiel: Beispiel: Bild Text

Im heutigen Seminar verteidigen wir unser Pflichtenheft – hoffentlich erfolgreich…

ÜberblickÜberblick

Page 3: Pflichtenheft wxOCR

1. Zielbestimmung1. Zielbestimmung

Normales Feed-Forward-Netz, welches mit Normales Feed-Forward-Netz, welches mit Backpropagation auf die aufzunehmenden Backpropagation auf die aufzunehmenden Zeichensätze angelernt wird.Zeichensätze angelernt wird.

Bekommt als Input ein Zeichen in Form Bekommt als Input ein Zeichen in Form eines float-Vektors, liefert als Output einen eines float-Vektors, liefert als Output einen Erkennungsvektor für die jeweiligen Erkennungsvektor für die jeweiligen Buchstaben.Buchstaben.

Neuronales NetzNeuronales Netz

Page 4: Pflichtenheft wxOCR

1. Zielbestimmung1. Zielbestimmung

Veranschaulichung:Veranschaulichung:

Neuronales NetzNeuronales Netz

Muster als float-Vektormit skalierten Graustufen-Werten

… …

ABCDEFGH

Neuronales Netz

0,94

0,08

0,04

0,05

Erkennungsgradder einzelnen Buchstaben

Page 5: Pflichtenheft wxOCR

1. Zielbestimmung1. Zielbestimmung

2 Teilprogramme:2 Teilprogramme:1.1. wxOCRnetTrainer: Entwickler-Tool zum Anlernen des wxOCRnetTrainer: Entwickler-Tool zum Anlernen des

Neuronalen NetzesNeuronalen Netzes2.2. wxOCR (main): Benutzerprogramm zur Durchführung wxOCR (main): Benutzerprogramm zur Durchführung

der Texterkennungder Texterkennung

Effektivität der Erkennung zu großem Teil auch Effektivität der Erkennung zu großem Teil auch von Anlernbarkeit von Zeichensätzen abhängig von Anlernbarkeit von Zeichensätzen abhängig Fokus auf Entwicklung des netTrainersFokus auf Entwicklung des netTrainers

Hauptprogramm (wxOCR main) muss Hauptprogramm (wxOCR main) muss hauptsächlich über gute Algorithmen zur hauptsächlich über gute Algorithmen zur Bildverarbeitung verfügenBildverarbeitung verfügen

Aufteilung in TeilprogrammeAufteilung in Teilprogramme

Page 6: Pflichtenheft wxOCR

Veranschaulichung:Veranschaulichung:

Zeichensatz Neuronales Netz Bild Textdatei

load

save

load load

save

wxOCR net Trainer wxOCR (main)

1. Zielbestimmung1. ZielbestimmungAufteilung in TeilprogrammeAufteilung in Teilprogramme

Folie 14 Siehe auch Produktdaten:

Page 7: Pflichtenheft wxOCR

Kerning: „Unterschneiden“Kerning: „Unterschneiden“

1. Zielbestimmung1. ZielbestimmungProbleme bei der ErkennungProbleme bei der Erkennung

Pixel des nächsten Buchstaben reichen in den vorigen hinein,

daher ist z.B. Abtrennen von Buchstaben durch Finden einer leeren Spalte nicht möglich

Ligaturen:Ligaturen:

2 oder mehr Buchstaben verschmelzen miteinander, sodass sie nicht mehr durch einen Abstand voneinander getrennt werden

Page 8: Pflichtenheft wxOCR

Implementation der beiden TeilprogrammeImplementation der beiden Teilprogramme Erkennung gedruckten Textes aus einem Erkennung gedruckten Textes aus einem

vom Benutzer gewählten Bildvom Benutzer gewählten Bild Erkannter Text kann nachträglich Erkannter Text kann nachträglich

bearbeitet und gespeichert werdenbearbeitet und gespeichert werden Zuverlässige Erkennung von Arial 14pt…Zuverlässige Erkennung von Arial 14pt… Plattformunabhängige Implementierung Plattformunabhängige Implementierung

als Open Sourceals Open Source

1. Zielbestimmung1. ZielbestimmungMusskriterienMusskriterien

Page 9: Pflichtenheft wxOCR

Erkennung unterschiedlicher Schriften und Erkennung unterschiedlicher Schriften und SchriftgrößenSchriftgrößen

Bedingte Behandlung von KerningBedingte Behandlung von Kerning Erkennung von Text aus „schiefen“ Erkennung von Text aus „schiefen“

TextzeilenTextzeilen Behandlung von Nicht-Textelementen Behandlung von Nicht-Textelementen

(Bilder, Grafikelemente, …)(Bilder, Grafikelemente, …)

1. Zielbestimmung1. ZielbestimmungWunschkriterienWunschkriterien

Page 10: Pflichtenheft wxOCR

Keine Erkennung von Handschrift sowie Keine Erkennung von Handschrift sowie stark von Arial abweichenden Schriftenstark von Arial abweichenden Schriften

Keine Schrift mit LigaturenKeine Schrift mit Ligaturen Keine Schaffung eines sehr ausgereiften Keine Schaffung eines sehr ausgereiften

Systems zur SchrifterkennungSystems zur Schrifterkennung

1. Zielbestimmung1. ZielbestimmungAbgrenzungskriterienAbgrenzungskriterien

Page 11: Pflichtenheft wxOCR

1.1. Für Endbenutzer von z.B. Scannersoftware zur Für Endbenutzer von z.B. Scannersoftware zur Erkennung von Text aus einem gescannten BildErkennung von Text aus einem gescannten Bild

2.2. Für Software-EntwicklerFür Software-Entwickleroder Informatik-Studenten, oder Informatik-Studenten, die Teile des Quelltextesdie Teile des Quelltextesverwenden bzw. daraus verwenden bzw. daraus lernen wollenlernen wollen

2. Produkteinsatz2. Produkteinsatz

Page 12: Pflichtenheft wxOCR

3. Produktübersicht3. ProduktübersichtUse-Case-DiagrammUse-Case-Diagramm

Nur 2 Use Cases, der Großteil der Arbeit Nur 2 Use Cases, der Großteil der Arbeit findet „unter der Haube“ stattfindet „unter der Haube“ statt

Page 13: Pflichtenheft wxOCR

4. Produktfunktionen4. ProduktfunktionenGeschäftsprozesseGeschäftsprozesse

1.1. Netz trainieren:Netz trainieren:

Entwickler-Geschäftsprozess, bei dem das Entwickler-Geschäftsprozess, bei dem das Neuronale Netz auf Zeichensätze Neuronale Netz auf Zeichensätze antrainiert wirdantrainiert wird

2.2. Text erkennen:Text erkennen:

Benutzer-Geschäftsprozess, bei dem Text Benutzer-Geschäftsprozess, bei dem Text aus einem Bild erkannt wird unter aus einem Bild erkannt wird unter Verwendung des antrainierten Neuronalen Verwendung des antrainierten Neuronalen NetzesNetzes

Page 14: Pflichtenheft wxOCR

Neuronales Netz Neuronales Netz 1 Datei 1 Datei Zeichensätze Zeichensätze mehrere Dateien mehrere Dateien

5. Produktdaten5. ProduktdatenDauerhaft zu speichernDauerhaft zu speichern

Folie 6 Siehe auch:

Page 15: Pflichtenheft wxOCR

HauptbestandteileHauptbestandteile::

1.1. Bilddaten und Bilddaten und Matrizen erkannter Matrizen erkannter MusterMuster

2.2. Daten des Daten des Neuronalen NetzesNeuronalen Netzes

5. Produktdaten5. ProduktdatenZur Laufzeit anfallendZur Laufzeit anfallend

Page 16: Pflichtenheft wxOCR

Anwender vom zeitintensiven Prozess des Anwender vom zeitintensiven Prozess des Netz-Anlernens befreien durch Aufteilung Netz-Anlernens befreien durch Aufteilung in die 2 Teilprogrammein die 2 Teilprogramme

Texterkennung sollte bei A4-Seite nicht Texterkennung sollte bei A4-Seite nicht länger als 10s dauern (im Vorfeld nur länger als 10s dauern (im Vorfeld nur bedingt abschätzbar)bedingt abschätzbar)

6. Produktleistungen6. Produktleistungen

Page 17: Pflichtenheft wxOCR

Haupt-Augenmerk zum einen auf der Haupt-Augenmerk zum einen auf der Benutzbarkeit, so dass es auch von einem Benutzbarkeit, so dass es auch von einem Laien benutzt werden kannLaien benutzt werden kann

Zum anderen Schwerpunkt auf Zum anderen Schwerpunkt auf Änderbarkeit und Übertragbarkeit, vor Änderbarkeit und Übertragbarkeit, vor allem in Hinblick auf allem in Hinblick auf Plattformunabhängigkeit und Open SourcePlattformunabhängigkeit und Open Source

7. Qualitätsanforderungen7. Qualitätsanforderungen

Page 18: Pflichtenheft wxOCR

8. Benutzungsoberfläche8. Benutzungsoberfläche Benutzungsoberfläche mit MausbedienungBenutzungsoberfläche mit Mausbedienung

wxOCR net TrainerPrototyp unter Linux mit KDE 3.3

wxOCR (main)Prototyp unter Windows

Page 19: Pflichtenheft wxOCR

C++ Open-Source-Bibliothek zur Erstellung C++ Open-Source-Bibliothek zur Erstellung plattfomunabhängiger GUIsplattfomunabhängiger GUIs

Genauer: „Wrapper“, der Funktionsaufrufe Genauer: „Wrapper“, der Funktionsaufrufe je nach OS in verschiedene System Calls je nach OS in verschiedene System Calls umwandeltumwandelt

Mächtiges Werkzeug zur Mächtiges Werkzeug zur plattformunabhängigen Programmierungplattformunabhängigen Programmierung

Webseite: http://wxwidgets.orgWebseite: http://wxwidgets.org

9. Nichtfunktionale Anforderungen9. Nichtfunktionale AnforderungenGrafikbibliothekGrafikbibliothek

Page 20: Pflichtenheft wxOCR

Noch Fragen?Noch Fragen?

? ?? ? ? ? ???

? ?