© DrHitch/Shutterstock.com
Neuronale Netze

3 Handschriftenerkennung mit neuronalen Netzen


Nachdem wir uns in den ersten beiden Kapiteln mit den Grundlagen und der Theorie hinter neuronalen Netzen vertraut gemacht haben, versuchen wir uns zum Abschluss an einem konkreten Projekt. Anhand einer Windows-Phone-Anwendung wagen wir uns in die Domäne der optischen Zeichenerkennung vor und verwenden neuronale Netze, um eine einfache Handschrifterkennung zu implementieren.

Handschriftenerkennung oder optische Zeichenerkennung (abgekürzt OCR von „Optical Character Recognition“) ist eine Thematik, die oft im gleichen Atemzug mit neuronalen Netzen genannt wird. Aus diesem Grund wagen auch wir uns an diese – alles andere als triviale –Thematik heran und entwickeln eine Anwendung, die zumindest die Ziffern von 0 bis 9 erkennen soll. Eine Windows-Phone-App bietet sich hierfür geradezu an, da der Touchscreen eines Smartphones ein ideales Eingabemedium für Handschriftenerkennung darstellt.

Bei dieser App mit dem Titel „Simple OCR“ handelt es sich um eine Windows-Phone-Runtime-Anwendung, und als Applikationsframework dient das Newport-Framework [1], das in der Windows-Developer-Ausgabe 4.2015 vorgestellt wurde. Der vollständige Quellcode der Applikation befindet sich außerdem im GitHub Repository SimpleOcr [2].

Von außen betrachtet …

Abbildung 3.1 zeigt den grundsätzlichen Aufbau der Anwendung. Das zentrale Element ist dabei das 10-x-10-Raster, das die Eingabefläche für die Handschriftenerkennung repräsentiert. Per Touchinteraktion (oder klassisch per Maus im Emulator) lassen sich die Ziffern, die später vom neuronalen Netz erkannt werden sollen, eingeben (Abb. 3.2).

ziegler_neuro3_1.png

Abbildung 3.1: Die Windows-Phone-App „Simple OCR“

ziegler_neuro3_2.png

Abbildung 3.2: Eingabe von Ziffern auf dem Raster

Die beiden Radio-Buttons im oberen Teil der Anwendung mit den Bezeichnern Training und Live spiegeln die beiden Modi der Anwendung wider.

  • Im Modus Training kann aus der Combobox, die sich zwischen den Radio-Buttons und dem Raster befindet, eine Zahl zwischen 0 und 9 ausgewählt werden. Diese Zahl sollte nur per Handschrift auf das Raster gezeichnet werden. Ist man mit dem Resultat zufrieden, kann mit der OK-Schaltfläche der Datensatz aus Eingabemuster und ausgewählter Zahl übernommen werden. Die Schaltfläche Reset löscht das Raster vollständig, und die Eingabe der Ziffer kann wiederholt werden.
  • Der Modus Live versucht mithilfe der zuvor angelegten Trainingsdatensätze eine Eingabe auf dem Raster als Ziffer zu erkennen. Dieser Vorgang wird ebenfalls mit der OK-Schaltfläche gestartet, und die erkannte...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang