Handwritten Music Symbol Recognition - Convolutional Neural Network
This project was developed for the Machine Learning class at University of Central Arkansas.
In this project, the first step in the handwritten music symbol recognition was addressed: recognize 32 isolated different musical symbols with a good grade of accuracy (at least more than 90%). In order to do that, it was necessary to get a dataset, preprocess the data, and produce a machine learning model. The dataset used was HOMUS and the method to generate the machine learning model was a Convolutional Neural Network (CNN) that includes 5 layers of convolution+ReLU (using convolutional filter 64, 128, 256, 128 and 64) and Max Pooling and the Fully Connected Layer using 1024 units/neurons in one layer and 32 units/neurons in the second layer (one for each music symbol).
The CNN model was trained with the 80% of the dataset and evaluated with the 20%. Once the model was produced, it was evaluated with self generated images (150×150 pixels), giving promising results that might be used in future research.
The entire project was developed using Python and the following libraries: numpy, cv2, random, tqdm, tflearn and matplotlib.