Text Recognition System Development Project
210 likes | 328 Views
Defend the project requirements document in today's seminar, aiming to achieve successful project implementation by utilizing Artificial Neural Networks for text recognition from images.
Text Recognition System Development Project
E N D
Presentation Transcript
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 • text-enthaltendes Bild wird verarbeitet und vom Programm in Text umgewandelt • Beispiel:
1. Zielbestimmung Neuronales Netz • 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 • Veranschaulichung: ABCDEFGH 0,94 0,08 … … 0,04 0,05 … Neuronales Netz Muster als float-Vektor mit skalierten Graustufen-Werten Erkennungsgrad der einzelnen Buchstaben
1. Zielbestimmung Aufteilung in Teilprogramme • 2 Teilprogramme: • wxOCRnetTrainer: Entwickler-Tool zum Anlernen des Neuronalen Netzes • wxOCR (main): Benutzerprogramm zur Durchführung der Texterkennung • Effektivität der Erkennung zu großem Teil auch von Anlernbarkeit von Zeichensätzen abhängig a Fokus auf Entwicklung des netTrainers • Hauptprogramm (wxOCR main) muss hauptsächlich über gute Algorithmen zur Bildverarbeitung verfügen
1. Zielbestimmung Aufteilung in Teilprogramme • Veranschaulichung: a Siehe auch Produktdaten: Folie 14 Zeichensatz Neuronales Netz Bild Textdatei load load load save save wxOCR net Trainer wxOCR (main)
1. Zielbestimmung Probleme bei der Erkennung • 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 • Ligaturen: 2 oder mehr Buchstaben verschmelzen miteinander, sodass sie nicht mehr durch einen Abstand voneinander getrennt werden
1. Zielbestimmung Musskriterien • 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 14pt… • Plattformunabhängige Implementierung als Open Source
1. Zielbestimmung Wunschkriterien • 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 • Keine Erkennung von Handschrift sowie stark von Arial abweichenden Schriften • Keine Schrift mit Ligaturen • Keine Schaffung eines sehr ausgereiften Systems zur Schrifterkennung
2. Produkteinsatz • Für Endbenutzer von z.B. Scannersoftware zur Erkennung von Text aus einem gescannten Bild • Für Software-Entwickler oder Informatik-Studenten, die Teile des Quelltextes verwenden bzw. daraus lernen wollen
3. Produktübersicht Use-Case-Diagramm • Nur 2 Use Cases, der Großteil der Arbeit findet „unter der Haube“ statt
4. Produktfunktionen Geschäftsprozesse • Netz trainieren: Entwickler-Geschäftsprozess, bei dem das Neuronale Netz auf Zeichensätze antrainiert wird • Text erkennen: Benutzer-Geschäftsprozess, bei dem Text aus einem Bild erkannt wird unter Verwendung des antrainierten Neuronalen Netzes
5. Produktdaten Dauerhaft zu speichern • Neuronales Netz a 1 Datei • Zeichensätze a mehrere Dateien a Siehe auch: Folie 6
5. Produktdaten Zur Laufzeit anfallend • Hauptbestandteile: • Bilddaten und Matrizen erkannter Muster • Daten des Neuronalen Netzes
6. Produktleistungen • Anwender vom zeitintensiven Prozess des Netz-Anlernens befreien durch Aufteilung in die 2 Teilprogramme • Texterkennung sollte bei A4-Seite nicht länger als 10s dauern (im Vorfeld nur bedingt abschätzbar)
7. Qualitätsanforderungen • 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 • Benutzungsoberfläche mit Mausbedienung wxOCR net Trainer Prototyp unter Linux mit KDE 3.3 wxOCR (main) Prototyp unter Windows
9. Nichtfunktionale Anforderungen Grafikbibliothek • 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? ? ? ? ? ? ? ? ? ? ? ?