Deep Learning ersetzt das Notenlesen

10 September 2018
| |
Lesezeit: 4 Minutes

Deep Learning: lineare Algebra auf Steroide

Computer sind inzwischen zu erstaunlichen Leistungen fähig. Sei es die Steuerung eines selbstfahrenden Autos, das Vereinbaren von Terminen beim Friseur oder das computergestützte Zählen der verkauften Schnitzel beim Oktoberfest. Deep Learning ist die Technologie, die viele dieser Neuerungen ermöglicht. Damit können sehr komplexe Muster effizient gefunden werden. Hinter dieser Technologie verbirgt sich in Wahrheit nur lineare Algebra – allerdings auf Steroiden. In meiner Dissertation widme ich mich der Frage, ob der Computer mit Deep Learning auch das Notenlesen erlernen kann, um mir beispielsweise folgendes Stück vorspielen lassen zu können:

Der Anfang des Donauwalzers von Johann Strauss

Im Gegensatz zu früheren Forschungsansätzen, versuche ich dabei den Computer jeden Schritt selbstständig erlernen zu lassen. Während ich mich in meinen ersten Experimenten darauf beschränkte dem Computer nur das Klassifizieren von einzelnen, isolierten Symbolen beizubringen, ist die interessantere Frage natürlich, ob der Computer in dem ganzen Notenblatt die einzelnen Symbole auch selbstständig finden kann. Man spricht hierbei von Objekterkennung (Object Detection), wo innerhalb eines Bildes alle Vorkommnisse der gesuchten Objekte gefunden und korrekt benannt werden sollen.

Eine annotierte Seite Musiknoten. Die unterschiedlichen Farben entsprechen den unterschiedlichen Kategorien (z.B. Notenkopf, Notenhals, Vorzeichen oder Taktstrich).

Der klassische Ansatz wäre zuerst die Notenzeilen als strukturelles Element im Bild zu finden, diese eventuell zu entfernen und anschließend durch geeignete Algorithmen die Symbole zu segmentieren und dann zu kategorisieren. Im Gegensatz dazu verwende ich einen Deep Learning basierten Ansatz, wo ein großes neuronales Netzwerk diese Aufgaben übernimmt, welches von der Arbeitsweise des Gehirnes inspiriert ist. Alles was man dazu benötigt ist eine große Menge an Daten und einen starken PC. Ausserdem natürlich noch etwas Wissen über die verschiedenen Verfahren zur Objekterkennung wie Faster R-CNN, YOLO oder RetinaNet, damit man versteht, was die Vor- und Nachteile der einzelnen Verfahren sind. Um das ganze technisch umzusetzen, gibt es bereits verschiedene Implementierungen dieser Algorithmen, unter anderem in Tensorflow’s Object Detection API. Startet man nun das Training, sieht das so aus:

individualImage3-animated

Zeitrafferaufnahme während dem Training des Netzwerkes zur Erkennung von Symbolen.

Der Algorithmus scannt das Bild und verfeinert die Erkennung

Während am Anfang nur ein paar einfache Symbole erkannt werden, lernt das Netzwerk rasch, wie man alle möglichen Symbole erkennt. Auch wenn das Ergebnis noch nicht perfekt ist und manche Symbole übersehen werden, ist es doch erstaunlich, was das neuronale Netzwerk durch Deep Learning selbstständig gelernt hat. Die technischen Details sind in diesem wissenschaftlichen Artikel beschrieben. Kurz zusammengefasst, scannt der Algorithmus anhand eines vordefinierten Rasters und versucht dabei im ersten Schritt nur zu erkennen, ob sich an der bestimmten Stelle überhaupt ein Objekt befindet oder nicht („Ich denke da ist ein Objekt an der Position X, Y“). Anschließend werden die positiv erkannten Vorschläge klassifiziert und die erkannten Positionen verfeinert („Ich denke das ist ein Violinschlüssel in der linken oberen Ecke an der Position X, Y“).

Was an dieser Stelle angemerkt sein soll: Es handelt sich in meinem Fall um handgeschriebene Noten! Ich nutze unter anderem den CVC-MUSCIMA Datensatz, der 1000 Seiten umfasst, die im MUSCIMA++ Datensatz händisch annotiert wurden. Weitere Datensätze habe ich in dieser Liste gesammelt.

Und wie sieht das ganze jetzt schlussendlich aus? Sehr vielversprechend:

Die erkannten Symbole in einem Blatt handschriftlicher Noten. Die Farbe steht für die unterschiedlichen Kategorien und die Prozentangabe beschreibt, wie sicher sich das Netzwerk mit der Erkennung ist.

Natürlich ist das Ergebnis noch nicht perfekt. Z.B. wurden manche kleinere Symbole übersehen und hier und da schleicht sich auch ein anderer Fehler ein. Aber insgesamt ist das Ergebnis so vielversprechend, dass Deep Learning auch auf anderen Datensätzen mit großem Erfolg evaluiert wurde:

Objekterkennung in altertümlichen, handgeschriebenen Noten.

Die Ergebnisse in dem entsprechenden wissenschaftliche Artikel lassen darauf hoffen, dass der Computer vielleicht eines Tages das Notenlesen so gut können wird, wie wir Menschen, damit er mir diese Lieder vorspielen kann. Bis dahin, muss ich wohl noch selbst singen.

Übrigens, bei Zühlke veranstalten wir immer wieder Roundtables, zu denen wir Kunden, Experten und interessierte Vertreter aus Industrie und Wirtschaft einladen, um sich im kleinen Kreis über aktuelle Trendthemen auszutauschen. Der nächste (kostenlose) Roundtable findet in Österreich statt. Einladungen verschicken wir über unseren Newsletter. Die Möglichkeit eine Einladung zu erhalten gibt es hier.

Kommentare (0)

×

Updates

Schreiben Sie sich jetzt ein für unsere zwei-wöchentlichen Updates per E-Mail.

This field is required
This field is required
This field is required

Mich interessiert

Select at least one category
You were signed up successfully.