Sheet Music Search
Total Page:16
File Type:pdf, Size:1020Kb
Masaryk University Faculty of Informatics Sheet Music Search Bachelor’s Thesis Jan-Sebastian Fabík Brno, Spring 2018 MASARYKOVA UNIVERZITA Fakulta informatiky ZADÁNÍ BAKALÁŘSKÉ PRÁCE Student: Jan-Sebastian Fabík Program: Informatika Obor: Počítačové systémy a zpracování dat Garant oboru: prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (PSZD) Vedoucí práce: doc. RNDr. Aleš Horák, Ph.D. Katedra: Katedra strojového učení a zpracování dat Název práce: Vyhledávání notových zápisů Název práce anglicky: Sheet Music Search Zadání: Na internetu jsou volně dostupné notové zápisy nejrůznějších typů, není však dostupný vhodný způsob jejich vyhledávání. Cílem práce je návrh a implementace metavyhledávače, který bude schopný z výsledků hledání standardních vyhledávačů filtrovat a rozpoznávat právě notové zápisy ve formě obrázků a PDF dokumentů. Navržený systém musí na základě strojového učení rozpoznat, zda se jedná o notový zápis a pomocí OCR nástroje zjistit textové údaje skladby (název, autor, ...). Výsledná práce se bude skládat jednak z textové části popisující stávající techniky a projekty zaměřené na rozpoznávání (metadat) notových zápisů a jejich vyhledávání, dále analýzu, návrh řešení a vlastní popis a vyhodnocení implementace, a jednak funkční implementovaný systém. Literatura: Chamberlain, A., & Crabtree, A. (2016). Searching for music: understanding the discovery, acquisition, processing and organization of music in a domestic setting for design. Personal and Ubiquitous Computing, 20(4), 559-571. The International Society for Music Information Retrieval, www.ismir.net Zadání bylo schváleno prostřednictvím IS MU. Prohlášení autora školního díla Jméno, příjmení a UČO studenta: Beru na vědomí, že Masarykova univerzita může na základě zákona (§ 35 odst. 3 a 4 autorského zákona č. 121/2000 Sb.) užít mou kvalifikační práci nebo jiné mé školní dílo, které jsem jako autor vytvořil ke splnění svých studijních povinností vůči této vysoké škole, a to k výuce nebo k její vlastní vnitřní potřebě nikoli za účelem přímého nebo nepřímého obchodního nebo jiného hospodářského prospěchu. Vlastní vnitřní potřebou Masarykovy univerzity se rozumí užití díla nejen v původní podobě, ale též ve zpracované nebo jinak změněné podobě zahrnující též takové užití mého díla touto vysokou školou, které spočívá v zadání mého školního díla k dalšímu zpracování jinému studentovi této vysoké školy (členovi téže akademické obce) za účelem vytvoření další kvalifikační práce nebo jiného školního díla, které bude odvozené od mého díla při uvedení mého autorství, názvu mého díla a pramene; a to vše v souladu s rozvojem vzdělanosti na Masarykově univerzitě a zájmem této veřejné vysoké školy navazovat na výsledky mé práce a mé školní dílo dále rozpracovávat v téže akademické obci. Okolnosti hodné zvláštního zřetele z mé strany, například zájem o vlastní další rozpracování své kvalifikační práce na Masarykově univerzitě nebo jinde, jsem povinen sdělit této vysoké škole prostřednictvím studijního oddělení nejpozději při odevzdání kvalifikační práce. V Brně dne_________________ _________________ podpis studenta 1 Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Jan-Sebastian Fabík Advisor: doc. RNDr. Aleš Horák, Ph.D. i Acknowledgements I would like to thank my advisor, doc. RNDr. Aleš Horák, Ph.D., for his helpful guidance. iii Abstract Various sheet music is freely available online, but there is no suitable search tool for it. The aim of this thesis is to design and implement a metasearch engine which filters and recognizes sheet music from the search results of standard image search engines. The designed system uses convolutional neural networks and deep residual networks to recognize whether the given result is sheet music and determines the text information of the tracks using OCR (the track title and artist name). iv Keywords classification, convolutional neural networks, deep residual networks, OCR, sheet music identification, web application, search engine v Contents 1 Introduction 1 1.1 Motivation ..........................1 1.2 A brief description of the system ...............1 1.2.1 Image classifiers . .1 1.2.2 Metadata extractor . .1 1.2.3 Term search . .2 1.2.4 Web application . .2 1.3 Structure of the thesis .....................2 2 State of the art 5 2.1 Sheet music metasearch engines ...............5 2.2 Catalogs and music databases .................5 2.3 Optical music recognition (OMR) ..............6 2.4 Sheet music identification ...................7 2.5 Optical character recognition (OCR) .............7 2.6 Feedforward neural networks .................7 2.6.1 Architecture . .8 2.6.2 Activation functions . .8 2.6.3 Cost function . 10 2.6.4 Stochastic gradient descent algorithm (SGD) . 10 2.6.5 Back-propagation algorithm . 11 2.6.6 Regularization . 11 2.7 Convolutional neural networks ................ 13 2.7.1 Convolution operation . 13 2.7.2 Architecture . 14 2.7.3 Convolution stage . 15 2.7.4 Detector stage . 15 2.7.5 Pooling stage . 15 2.8 Deep residual networks .................... 15 3 Image Classifiers 19 3.1 Dataset ............................ 19 3.1.1 Downloading dataset . 19 3.1.2 Manual classification of images . 19 3.1.3 Dataset storage . 21 vii 3.1.4 Preprocessing . 22 3.2 Neural network architectures ................. 24 3.2.1 Convolutional neural networks . 24 3.2.2 Deep residual networks . 27 3.3 Implementation ........................ 27 3.3.1 Format of the HTTP API . 28 3.3.2 Command line interface . 29 3.4 Test results .......................... 30 3.4.1 Sheet music classification . 31 3.4.2 Watermark detection . 33 3.4.3 Title detection . 34 4 Metadata extraction 35 4.1 Database of track titles and artists .............. 35 4.1.1 Normalization . 36 4.2 Implementation ........................ 36 4.2.1 Text entries recognition . 36 4.2.2 Text entries processing . 37 4.2.3 Weight calculation . 37 4.3 Search with an error tolerance ................ 37 4.3.1 Levenshtein distance . 38 4.3.2 Prefix trees . 39 4.3.3 Searching for strings in a prefix tree by the Lev- enshtein distance from a given string . 40 4.3.4 Implementation . 41 4.4 Test results .......................... 42 4.4.1 Text recognition . 42 4.4.2 Metadata recognition . 44 5 Conclusion 47 5.1 Image classification ...................... 47 5.2 Metadata extraction ...................... 47 5.3 Web application ........................ 48 A System Implementation 49 A.1 System components ...................... 49 A.2 Web application ........................ 49 A.2.1 Controllers . 50 viii A.2.2 Command line interface . 50 A.3 Deployment .......................... 51 A.4 Installation instructions ................... 52 Bibliography 55 ix List of Tables 3.1 Category sizes 20 3.2 Categories included in the classes 23 3.3 Parameters of the ConvNets with topology A 26 3.4 Parameters of the ConvNets with topology B 26 3.5 Modified dropout rates of the ConvNets 27 3.6 Accuracy of the models evaluated on the test set 30 3.7 Accuracy of the ConvNets with modified dropout rates 31 4.1 Metadata recognition statistics 42 xi List of Figures 2.1 The rectified linear function 9 2.2 The logistic sigmoid function 9 2.3 An example of 2-D convolution, Based on: Figure 9.1 from Deep Learning by Ian Goodfellow et al. [28] 14 2.4 Structure of a convolutional neural network, Source: Mathworks.com [29] 14 2.5 Training error (left) and test error (right) on CIFAR-10 dataset with 20-layer and 56-layer networks, Source: Deep Residual Learning for Image Recognition, Figure 1 [30] 16 2.6 Residual learning: building block, Source: Deep Residual Learning for Image Recognition, Figure 2 [30] 16 3.1 Manual classification application UI 20 3.2 Examples of images by categories (cropped) 21 3.3 Resize modes 23 3.4 Sample handwritten sheet music 24 3.5 ConvNet topologies 25 3.6 Error and loss of convnetA2 and convnetA3 on the sheet music dataset 32 3.7 Sample images incorrectly marked as sheet music 32 3.8 Sample images incorrectly marked as watermarked 33 3.9 Sample images with incorrectly detected title 34 4.1 The structure of the database tables for the Discogs.com dataset 35 4.2 Sample prefix tree 39 4.3 Examples of images not recognized by the OCR tool 43 4.4 Examples of images with incorrectly recognized metadata 45 A.1 Search form and results page 50 A.2 Deployment diagram 51 xiii 1 Introduction 1.1 Motivation The primary aim of this thesis is to design and implement a metasearch engine for sheet music freely available on the Internet. As of April 2018, there is no specialized search engine for freely available sheet music. People who want to find sheet music online typically use standard search engines and append the phrase “sheet music” to the query. The search results sometimes include images that are not sheet music or contain a different track than the user expected. A metasearch engine designed directly for sheet music search would help them find the most relevant results faster. 1.2 A brief description of the system The system designed and implemented in this thesis provides image classifiers, a metadata extractor, an application for term search param- eterized by Levenshtein distance, and a web application with a search form. 1.2.1 Image classifiers The classifiers classify images by three criteria: whether they contain sheet music, whether they are watermarked, and whether they contain a heading with a track title. They are implemented using neural net- works. I experimented with convolutional neural networks and deep residual networks. For the training, I downloaded a dataset of 13,000 images from an image search engine and manually assigned them to the corresponding classes. After training, I evaluated the models by the accuracy rate on the test set. 1.2.2 Metadata extractor The metadata extractor uses an OCR tool to extract text from the input image.