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
Pflichtenheft wxOCRPflichtenheft wxOCR
Matthias JauernigMatthias Jauernig
Michael LahlMichael Lahl
VerteidigungVerteidigung
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
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
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
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
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:
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
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
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
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
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
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
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
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:
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
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
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
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
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
Noch Fragen?Noch Fragen?
? ?? ? ? ? ???
? ?