Digitalisieren von Kinderhandschrift zur automatisierten Korrektur von Rechtschreibtests
Web Applikation
Cloud
JavaScript
Programmiersprache
React
Frontend Library
Bootstrap
Styling Library
JavaScript
Programmiersprache
NodeJS + ExpressJS
Backend Library
GitLab
Repository
Yarn
Package Manager
ESLint
Code Style
Docker
Deployment
MongoDB
Datenbank
TensorflowJS
Grundlage VGG Klassifizierungsmodell
Python, PyTorch
Preprocessing Pipeline, YOLOv5
Lehrer an Primarschulen führen häufig Rechtschreibtests durch und müssen diese von Hand korrigieren. Dieser aufwändige und monotone Arbeitsprozess soll mithilfe modernster Technologien unterstützt und teilweise automatisiert werden können.
Es stehen durchgeführte Tests als Beispiele zur Verfügung, eine grosse Menge an aktuell noch analoger Tests sind in Planung digitalisiert zu werden. Dies wird voraussichtlich während dem Projekt passieren können.
Die edu-RD GmbH betreibt noch andere Projekte an der FHNW, deshalb besteht möglicherweise die Option einer Kollaboration zu einem späteren Zeitpunkt.
Es soll ein Prototyp eines Webportals gebaut werden, das Lehrpersonen in der Durchführung von Rechtschreibtests unterstützt.
Dabei soll die Lehrperson einen durchgführten Test einscannen und hochladen können um eine automatische Auswertung davon zu erhalten
Diese beinhaltet den vermuteten Bildausschnitt, die Digitalisirung des gefundenen Wortes sowie eine Überprüfung, ob dies dem erwarteten Wort entspricht
Sollte die Lehrperson mit der Evaluation nicht einverstanden sein, kann sie manuell überschrieben werden
Bild des Korrektur-Screens
Um diesen Anforderungen technisch umzusetzen, sind mehrere Komponenten geplant worden
YOLO5x-Modell nach 600 Epochen, YOLO5m nach 600 und 1200 Epochen
Für die Objekterkennung wird auf YOLOv5 gesetzt. Die Grafik "YOLO5x Modell nach 600 Epochen" zeigt auf, dass die Precision und der Recall bei ca. 95 % liegen. Der Wert Precision gibt Aufschluss darüber, wie viele falsche Voraussagen (false positive) das Modell macht, während der Recall aussagt, wie viele der möglichen Objekte nicht gefunden werden. Dies basieret auf den Trainings und Validierungsdaten.
Für dieses Problem wurde ein Docker YOLOv5 Image durch ein Node / Express Applikation erweitert, damit der Container über eine API ansprechbar ist.
Accuracy und Loss des Klassifizierungsmodells nach 25 Epochen
Die Klassifizierungsgenauigkeit liegt bei ca. 91 %. Diese Genauigkeit ist vergleichbar mit den besten Modellen zur Klassifizierung des EMNIST Datensatzes.Die Konfusionsmatrix zeigt auf, dass vor allem Zeichen wie 'n' und 'h' sowie einige Gross- und Kleinschreibungen verwecheslt werden.
Architektur der Webapplikation
Die Webapplikation wurde in React umgesetzt. Sie wird statisch über das Express Backend exponiert. Die ganze Applikation befindet sich in einem Docker Container.
Das Team bestand aus 2 berufsbegleitenden Studenten BSc Informatik
Das Projekt wurde im engen Dialog durch wöchentliche Meetings mit dem Auftraggeber vorangetrieben.
Peter Schmucki
cand. BSc Informatik
Linus Vettiger
cand. BSc Informatik
Prof. Dr. Martin Melchior
Stv. Leiter Institut für Data Science FHNW, Dozent