Verteidigung Pflichtenheft wx OCR Matthias Jauernig Michael Lahl

  • Slides: 20
Download presentation
Verteidigung Pflichtenheft wx. OCR Matthias Jauernig Michael Lahl

Verteidigung Pflichtenheft wx. OCR Matthias Jauernig Michael Lahl

1. Zielbestimmung Überblick n n Texterkennung mithilfe eines Künstlichen Neuronalen Netzes Erkennung von „gedrucktem“

1. Zielbestimmung Überblick n n Texterkennung mithilfe eines Künstlichen Neuronalen Netzes Erkennung von „gedrucktem“ Text text-enthaltendes Bild wird verarbeitet und vom Programm in Text umgewandelt Beispiel: Bild Text Im heutigen Seminar verteidigen wir unser Pflichtenheft – hoffentlich erfolgreich…

1. Zielbestimmung Neuronales Netz n n Normales Feed-Forward-Netz, welches mit Backpropagation auf die aufzunehmenden

1. Zielbestimmung Neuronales Netz n n Normales Feed-Forward-Netz, welches mit Backpropagation auf die aufzunehmenden Zeichensätze angelernt wird. Bekommt als Input ein Zeichen in Form eines float-Vektors, liefert als Output einen Erkennungsvektor für die jeweiligen Buchstaben.

1. Zielbestimmung Neuronales Netz n Veranschaulichung: 0, 94 8 … … 0, 0 4

1. Zielbestimmung Neuronales Netz n Veranschaulichung: 0, 94 8 … … 0, 0 4 0, 0 … 0, 05 A B C D E F G H Muster als float-Vektor mit skalierten Graustufen-Werten Neuronales Netz Erkennungsgrad der einzelnen Buchstaben

1. Zielbestimmung Aufteilung in Teilprogramme n 2 Teilprogramme: 1. wx. OCRnet. Trainer: Entwickler-Tool zum

1. Zielbestimmung Aufteilung in Teilprogramme n 2 Teilprogramme: 1. wx. OCRnet. Trainer: Entwickler-Tool zum Anlernen des Neuronalen Netzes 2. wx. OCR (main): Benutzerprogramm zur Durchführung der Texterkennung n n Effektivität der Erkennung zu großem Teil auch von Anlernbarkeit von Zeichensätzen abhängig a Fokus auf Entwicklung des net. Trainers Hauptprogramm (wx. OCR main) muss hauptsächlich über gute Algorithmen zur Bildverarbeitung verfügen

1. Zielbestimmung Aufteilung in Teilprogramme Veranschaulichung: d a lo wx. OCR net Trainer Bild

1. Zielbestimmung Aufteilung in Teilprogramme Veranschaulichung: d a lo wx. OCR net Trainer Bild Textdatei load ve Neuronales Netz ve Zeichensatz Folie 14 sa a Siehe auch Produktdaten: sa n wx. OCR (main)

1. Zielbestimmung Probleme bei der Erkennung n Kerning: „Unterschneiden“ Pixel des nächsten Buchstaben reichen

1. Zielbestimmung Probleme bei der Erkennung n Kerning: „Unterschneiden“ 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 n Ligaturen: 2 oder mehr Buchstaben verschmelzen miteinander, sodass sie nicht mehr durch einen Abstand voneinander getrennt werden

1. Zielbestimmung Musskriterien n n Implementation der beiden Teilprogramme Erkennung gedruckten Textes aus einem

1. Zielbestimmung Musskriterien n n Implementation der beiden Teilprogramme Erkennung gedruckten Textes aus einem vom Benutzer gewählten Bild Erkannter Text kann nachträglich bearbeitet und gespeichert werden Zuverlässige Erkennung von Arial 14 pt… Plattformunabhängige Implementierung als Open Source

1. Zielbestimmung Wunschkriterien n n Erkennung unterschiedlicher Schriften und Schriftgrößen Bedingte Behandlung von Kerning

1. Zielbestimmung Wunschkriterien n n Erkennung unterschiedlicher Schriften und Schriftgrößen Bedingte Behandlung von Kerning Erkennung von Text aus „schiefen“ Textzeilen Behandlung von Nicht-Textelementen (Bilder, Grafikelemente, …)

1. Zielbestimmung Abgrenzungskriterien n Keine Erkennung von Handschrift sowie stark von Arial abweichenden Schriften

1. Zielbestimmung Abgrenzungskriterien n Keine Erkennung von Handschrift sowie stark von Arial abweichenden Schriften Keine Schrift mit Ligaturen Keine Schaffung eines sehr ausgereiften Systems zur Schrifterkennung

2. Produkteinsatz 1. Für Endbenutzer von z. B. Scannersoftware zur Erkennung von Text aus

2. Produkteinsatz 1. Für Endbenutzer von z. B. Scannersoftware zur Erkennung von Text aus einem gescannten Bild 2. Für Software-Entwickler oder Informatik-Studenten, die Teile des Quelltextes verwenden bzw. daraus lernen wollen

3. Produktübersicht Use-Case-Diagramm n Nur 2 Use Cases, der Großteil der Arbeit findet „unter

3. Produktübersicht Use-Case-Diagramm n Nur 2 Use Cases, der Großteil der Arbeit findet „unter der Haube“ statt

4. Produktfunktionen Geschäftsprozesse 1. Netz trainieren: Entwickler-Geschäftsprozess, bei dem das Neuronale Netz auf Zeichensätze

4. Produktfunktionen Geschäftsprozesse 1. Netz trainieren: Entwickler-Geschäftsprozess, bei dem das Neuronale Netz auf Zeichensätze antrainiert wird 2. Text erkennen: Benutzer-Geschäftsprozess, bei dem Text aus einem Bild erkannt wird unter Verwendung des antrainierten Neuronalen Netzes

5. Produktdaten Dauerhaft zu speichern n Neuronales Netz a 1 Datei n Zeichensätze a

5. Produktdaten Dauerhaft zu speichern n Neuronales Netz a 1 Datei n Zeichensätze a mehrere Dateien a Siehe auch: Folie 6

5. Produktdaten Zur Laufzeit anfallend n Hauptbestandteile: 1. Bilddaten und Matrizen erkannter Muster 2.

5. Produktdaten Zur Laufzeit anfallend n Hauptbestandteile: 1. Bilddaten und Matrizen erkannter Muster 2. Daten des Neuronalen Netzes

6. Produktleistungen n n Anwender vom zeitintensiven Prozess des Netz-Anlernens befreien durch Aufteilung in

6. Produktleistungen n n Anwender vom zeitintensiven Prozess des Netz-Anlernens befreien durch Aufteilung in die 2 Teilprogramme Texterkennung sollte bei A 4 -Seite nicht länger als 10 s dauern (im Vorfeld nur bedingt abschätzbar)

7. Qualitätsanforderungen n n Haupt-Augenmerk zum einen auf der Benutzbarkeit, so dass es auch

7. Qualitätsanforderungen n n Haupt-Augenmerk zum einen auf der Benutzbarkeit, so dass es auch von einem Laien benutzt werden kann Zum anderen Schwerpunkt auf Änderbarkeit und Übertragbarkeit, vor allem in Hinblick auf Plattformunabhängigkeit und Open Source

8. Benutzungsoberfläche n Benutzungsoberfläche mit Mausbedienung wx. OCR net Trainer Prototyp unter Linux mit

8. Benutzungsoberfläche n Benutzungsoberfläche mit Mausbedienung wx. OCR net Trainer Prototyp unter Linux mit KDE 3. 3 wx. OCR (main) Prototyp unter Windows

9. Nichtfunktionale Anforderungen Grafikbibliothek n n C++ Open-Source-Bibliothek zur Erstellung plattfomunabhängiger GUIs Genauer: „Wrapper“,

9. Nichtfunktionale Anforderungen Grafikbibliothek n n C++ Open-Source-Bibliothek zur Erstellung plattfomunabhängiger GUIs Genauer: „Wrapper“, der Funktionsaufrufe je nach OS in verschiedene System Calls umwandelt Mächtiges Werkzeug zur plattformunabhängigen Programmierung Webseite: http: //wxwidgets. org

Noch Fragen? ? ? ? ? ? ?

Noch Fragen? ? ? ? ? ? ?