ERK'2021, Portorož, 390-393 390 Optiˇ cna razpoznava notnih znakov s CRNN Matic Isovski, Luka ˇ Sajn Univerza v Ljubljani Fakulteta za raˇ cunalniˇ stvo in informatiko E-poˇ sta: mi6568@student.uni-lj.si, luka.sajn@fri.uni-lj.si Abstract Optical music recognition (OMR) is a field of research that investigates how to computationally read music no- tation. We study the use of Convolutional Recurrant Neu- ral Network as an implementation of an end-to-end fea- ture extractor and symbol sequence classifier. This ap- proach is faster than the traditional and is not sensitive to image variability. We describe and demonstrate the use of PrIMuS dataset and supervised learning complex- ity. We also try to optimize model parameters with the Connectionist Temporal Classification loss function and back-propagation algorithms. At the end, we compare our minimalistic model to a popular app with integrated OMR technology. 1 Uvod Kljub temu, da je tehnologija OMR (angl. Optical Music Recognition) v zadnjih 50. letih veliko napredovala, gre ˇ se vedno za zelo odprto problematiko. Problem je zelo kompleksen saj obstaja mnogo razliˇ cic glasbenih nota- cij, ki bi jih moral celosten sistem prepoznati in se zato ponavadi gradijo modeli, ki so prilagojeni le na en spek- ter celotnega problema. Podpirajo npr. samo en tip za- pisa (digitalen, sken, roˇ cna pisava), eno razliˇ cico pisave, doloˇ ceno zvrst, itd. Razvila sta se dva pristopa reˇ sevanja tega problema: ”deli in vladaj” [7] ter holistiˇ cni [8]. Prvi razbije nalogo na veˇ c manjˇ sih in preprostejˇ sih nalog, ka- terih reˇ sitve sestavijo konˇ cno. Najbolj osnovne naloge so razpoznava ter odstranitev notnega ˇ crtovja, doloˇ citev intonacije in taktovskega naˇ cina, klasifikacija notnih zna- kov ter lokalizacija notnih znakov. Klasifikacija simbolov je doseˇ zena z algoritmi za primerjavo predlog. Osnov- nejˇ si pristop uporablja primerjavo predlog s povrˇ sinskim pristopom, ki deluje neposredno na vrednostih slik in je moˇ cno obˇ cutljiv na spremenljivost predlog (afine trans- formacije), prav tako pa je potrebno predprocesiranje slik. Drugi pristop pa namesto neposredne primerjave upora- blja ekstrakcijo in primerjavo znaˇ cilk slike. Implementi- ran je s konvolucijsko globoko mreˇ zo in je v primerjavi s prvim pristopom raˇ cunsko znatno bolj optimalen ter ni obˇ cutljiv na spremenljivost predlog. 2 Pregled podroˇ cja En izmed bolj poznanih odprtokodnih programov za opti- ˇ cno razpoznavo notnih znakov je Audiveris [1]. Poleg razpoznave notnih znakov omogoˇ ca tudi izvoz datoteke v MusicXML format za nadaljnjo uporabo v drugih progra- mih. Razpoznava poteka v veˇ c fazah, v vsaki je program osredotoˇ cen na doloˇ cen sklop (notni znaki, ˇ crtovje, be- sedilo, akordi, znaki za dinamiko itd.). Za vsakega od sklopov ima deskriptni razred, ki hrani seznam znaˇ cilk, ˇ stevilo razredov, uteˇ zi ter ostale parametre, ki se upora- bljajo pri konfiguraciji nevronske mreˇ ze. Za vsak sklop se torej zgradi nov model (s shranjenimi ˇ ze nauˇ cenimi pa- rametri), na koncu pa se vse klasifikacije zdruˇ zi in prikaˇ ze, za kar poskrbi razred za upodabljanje (angl. render). 3 Zbirka notnih zapisov Pri uˇ cenju modela smo uporabili zbirko notnih slik Ca- meraPrIMuS, ki je razˇ sirjena razliˇ cica zbirke PrIMuS [2] (angl. Printed Images of Music Staves), ki je nastala v sklopu raziskave na podroˇ cju digitalnega zvoka ter sli- kovne obdelave. V ˇ clanku [6] so predlagali in opisali uporabo CRNN (angl. Convolutional Recurrent Neural Network) modela za namene OMR. Model se je na ome- njenih zbirkah uˇ cil s pomoˇ cjo povezovalno ˇ casovne kla- sifikacije (angl. Connectionist Temporal Classification, v nadaljevanju CTC), z algoritmom za vzvratno razˇ sirjanje (angl. backpropagation) [9] pa popravljal lastne parame- tre. Zbirka vsebuje 87678 direktorijev, vsakega z dvema vhodnima vzorcema (navadna ter izkrivljena razliˇ cica) ter 5 razliˇ cnimi izhodnimi datotekami. Normalna vhodna slika je shranjena v PNG obliki, izkrivljena pa v JPG, vse- bujeta pa izrezek vrstice z notnim ˇ crtovjem, natanˇ cneje glasbenih incipitom. Incipit [5] je zaporedje not, obiˇ cajno prvih, uporabljenih kakor identifikacijska oznaka nekega glasbenega dela ali melodije. Vsebuje glasbeni kljuˇ c, pre- dznake za doloˇ citev tonalitete, taktovski naˇ cin ter od dva do pet taktov. Zaradi ˇ zelje po izgradnji modela, ki bi dobro klasificiral note na slikah zajetih s pametnim te- lefonom, smo uporabili popaˇ cene razliˇ cice vzorcev, saj vsebujejo podoben ˇ sum ter izkrivljenost. Primer obeh razliˇ cic lahko vidimo na sliki (1). Pri ocenjevanju modela si lahko pomagamo s petimi razliˇ cnimi oblikami izhodnih datotek. Prva oblika je glas- 391 beno simboliˇ cna predstavitev izseka zakodiranega v MEI [3] (angl. Music Encoding Initiative). Naslednja oblika je PAE [4] (angl. Plaine & Easie Code), odprtokodni mednarodni knjiˇ zniˇ cni standard, ki prav tako omogoˇ ca vnaˇ sanje glasbenih incipitov. Direktorij vsebuje tudi dve poenostavljeni obliki glasbenega kodiranja: semantiˇ cno ter agnostiˇ cno. Semantiˇ cno kodiranje vsebuje razredna imena vseh glasbenih znakov ter pripadajoˇ ce notne vre- dnosti tistim, ki jih je mogoˇ ce doloˇ citi. Agnostiˇ cno kodi- ranje je podobno, le brez notnih vrednosti. Slika 1: Primer navadne vhodne slike (zgoraj) ter popaˇ cene vhodne slike iz zbirke (spodaj). 4 Celostna globoka nevronska mreˇ za Zgradili smo celosten (angl. end-to-end) sistem, ki bo sam poskrbel za vse procesiranje potrebno za razpoznavo znakov. Imamo torej niz vhodnih slik, ki vsebujejo notno ˇ crtovje ter niz ustreznih zaporedij znakov. V namene is- kanja znaˇ cilk slike, po katerih bo sistem razpoznal znake, smo sestavili konvolucijsko nevronsko mreˇ zo (angl. Con- volutional Neural Network, krajˇ se CNN). CNN se ve- liko uporablja za prepoznavanje slik in videa, sisteme pri- poroˇ cil, klasifikacijo slik, segmentacijo slik, medicinsko analizo slik, obdelavo naravnega jezika, ipd. Samo CNN pa ni kos nalogi, saj so note sekvenca znakov, pri ˇ cemer je za napovedovanje naslednjega znaka kljuˇ cna informa- cija, kaj se nahaja pred njim. V te namene bomo upora- bili rekurzivno nevronsko mreˇ zo (angl. Recurrent Neural Netwrk, krajˇ se RNN), saj zaradi svoje cikliˇ cne povezave omogoˇ ca delo s sekvencami. Iz CNN in RNN smo sestavili konvolucijsko pona- vljajoˇ co se nevronsko mreˇ zo (CRNN). To smo naredili tako, da smo izhod CNN povezali z vhodom v RNN. Pri- dobljene znaˇ cilke torej poˇ sljemo v RNN, ki pa je odgo- vorna za klasifikacijo znakov. Zahvaljujoˇ c zbirki z glas- benimi incipti ter labelami lahko izvedemo nadzorovano uˇ cenje kar nad zdruˇ zenim modelom in ne nad vsakim blo- kom posebej. Pri tem igrajo glavno vlogo nizi s pravilnim zaporedjem notnih znakov v inciptih. Vhod, ki pride v RNN sloj si lahko predstavljamo kakor sliko, ki se nato razbije na stolpce, vsak stolpec pa vsebuje znak. RNN mora torej imeti izhod v velikosti za eno veˇ cje od ˇ stevila razredov (v primeru kadar stolpec ne bo vseboval znaka). Ker nas segmentacija in lokalizacija razpoznanih znakov zaenkrat ne zanimata, lahko s pomoˇ cjo CTC metode izva- jamo lokalno optimizacijo parametrov nevronske mreˇ ze za nazaj in tako bistveno pripomoremo k izboljˇ sanju mo- dela v fazi uˇ cenja. 4.1 Arhitektura Arhitekturo modela lahko razberemo iz tabele 1. Vsi vhodni vzorci so v sivinski obliki razliˇ cnih ˇ sirin in viˇ sin ker je pa najmanjˇ sa viˇ sina vzorcev 128 slikovnih toˇ ck, smo toliko nastavili tudi velikost vhoda CNN. Vhodni del modela je zgrajen iz konvolucijskega bloka, ki vse- buje 3 konvolucijske sloje z inkrementalnimi velikostmi. Prvi zaznava 32 znaˇ cilk, drugi 64, tretji pa 128. Vsak sloj ˇ crpa znaˇ cilke v velikosti 3 3 in je povezan ˇ se v en sloj maksimalnega zdruˇ zevanja (angl. max-pooling) s fil- tri v velikosti 2 2, ki pomagajo pri optimizaciji mreˇ ze z niˇ zanjem vzorˇ cenja. V vseh konvolucijskih slojih se za aktivacijsko funkcijo uporablja ReLU (angl. Rectified Li- near Unit), prav tako se pa vsakemu nizu vhodov (angl. batch) normalizira tako vrednost kot tudi dimenzije. Za- dnji sloj konvolucijskega bloka se nato poveˇ ze z vhodom ponavljajoˇ cega se bloka, ki je zgrajen iz treh slojev. Prva dva sta sestavljena iz 256 BLST (angl. bidirectional long short-term memory) enot, ki iz filtrov poskuˇ sajo razpo- znati niz notnih znakov. Tretji sloj je polno povezani (angl. fully-connected) sloj, ki ima 1782 nevronov (1781 razredov + 1 za ”prazen” stolpec). Nad zadnjim slojem se izvede normalizirano eksponentno funkcijo (softmax), tako da imamo kot izhod verjetnosti pripadanja razredu. Vhodna slika (128 W 1) CNN blok Conv2D (32;3 3), MaxPooling2D (2 2) Conv2D (64;3 3), MaxPooling2D (2 2) Conv2D (128;3 3), MaxPooling2D (2 2) RNN blok BLSTM (256) BLSTM (256) Dense (1782), softmax Tabela 1: Zgradba CRNN modela. 5 Uˇ cenje modela Zbirko smo razdelili na uˇ cno (85%) in testno (15%). Uˇ ce- nje smo izvajali v iteracijah in v vsaki uporabili niz vho- dov (angl. batch). Na vsakih 1000 iteracij smo izvedli ˇ se validacijo ter optimizacijo parametrov s pomoˇ cjo CTC funkcije. 5.1 Ocena Primerjali smo uspeˇ snost uˇ cenja z vhodnim nizom veli- kosti 4 slik, ter vhodnim nizom velikosti 16 slik (slika 2). Pri obeh vidimo na zaˇ cetku velik padec v napaki, pri veˇ cjem nizu padec traja do nekje 6. iteracije, kjer pride do majhnega popravka in nato spet padanje, ki se pa po 12. iteraciji umiri. Pri uˇ cenju z manjˇ sim nizom se popra- vek zgodi ˇ ze takoj v 3. iteraciji potem pa strmo pada in se poˇ casi po 20. iteraciji umiri. Jasno lahko vidimo, da velikost niza vpliva na uspeˇ snost treniranja. Pri uˇ cenju z manjˇ sim nizom pridemo do najboljˇ se ocene z 8% na- pako, pri drugem pa do 1%, upoˇ stevati je pa potrebno, 392 da je to povpreˇ cna napaka na simbol. V najslabˇ sem pri- meru je torej napaka enaka err = n err s , kjer je n ˇ stevilo znakov v inciptu. Kljub temu, da z veˇ cjim vho- dnim nizom doseˇ zemo boljˇ se rezultate, pa ˇ se vedno ni pametno kar veˇ cati ˇ stevila slik. S prevelikim nizom na- mreˇ c lahko pride do prekomernega prileganja, ˇ cesar pa noˇ cemo, saj je uporaba modela miˇ sljena na razliˇ cnih no- tnih zapisih (ki imajo sicer skupne lastnosti, ki bi jih CNN razpoznal). Pri uˇ cenju z nizom velikosti 16 slik smo do- Slika 2: Graf povpreˇ cne napake za vsak simbol glede na itera- cije. segli povpreˇ cno simbolno napako (dalje PSBN) 1,1% oz. povpreˇ cno sekvenˇ cno napako (dalje PSKN) 19,7%. Pri manjˇ sem nizu pa smo dosegli dosti veˇ cjo napako - 7,7% PSBN ter 69,2% PSKN (tabela 2). niz = 16 niz = 4 PSBN (%) 1,1 7,6 PSKN (%) 19,7 69,2 Tabela 2: Povpreˇ cna sekvenˇ cna ter simbolna napaka. 5.2 Analiza napake V tabeli 3 lahko vidimo ˇ stiri najpogostejˇ se razrede z napa- ˇ cno klasifikacijo ter njen deleˇ z glede na povpreˇ cno na- pako predstavljeno v tabeli 2. Najpogosteje se napaˇ cno razred deleˇ z (%) barline 40,2 clef-C2 10,5 rest-quarter 1,9 gracenote-G4 eighth. 1,3 Tabela 3: Povpreˇ cna napaka glede na razred. klasificira taktovska ˇ crta (v veˇ cini primerov jo zazna, kjer je ni), sledi ji glasbeni kljuˇ c (mezzo-soprano), nato pa ˇ se ˇ cetrtinska pavza in okrasna osminka viˇ sine G4. 6 Testiranje modela Model smo testirali na slikah brez ˇ suma, ter na slikah za- jetih s pametnim telefonom. Pri obeh sklopih smo upo- rabili 20 slik. Pri slikah brez ˇ suma smo dosegli 100 % uspeˇ snost. Slabˇ se rezultate pa smo dosegli pri slikah zaje- tih s pametnim telefonom. PSBN je znaˇ sala 44% (tabela 4). Najpogosteje je bila napaˇ cno klasificirana taktovska ˇ crta (dodana), velikokrat je pa bil dodan tudi taktovski naˇ cin. Pri napakah samih notnih znakov pa smo opazili, da se v 89% primerov zgodi napaˇ cna klasifikacija viˇ sine tona, v 7% primerov napaˇ cna klasifikacija dolˇ zine tona, v 4% primerov pa napaˇ cna klasifikacija obojega. Opazili smo tudi, da se najveˇ c napak zgodi na primerih, ki ne vse- bujejo moˇ cnih skupnih znaˇ cilk zbirke oz. kadar vsebuje znake, ki so v zbirki prisotni redko ali sploh ne. Vsak incipit se zaˇ cne z glasbenim kljuˇ cem, ki mu sledijo pred- znaki, taktovski naˇ cin ter nato note. V primerih, kadar slika ni vsebovala taktovskega naˇ cina, je namesto prve note klasificiralo enega od taktovskih naˇ cinov. Rezultati testiranja programa Audiveris na zbirki slik PrIMuS so prav tako bili predstavljeni v ˇ clanku [6] in si- cer dosegel je 44.2 % PSBN. Direktne primerjave sicer ne moremo opraviti, saj je naˇ s model bil uˇ cen in oce- njen na zbirki Corpus. Lahko pa predvidevamo, da se na omenjeni zbirki ne bi izkazal bistveno bolje, temveˇ c kveˇ cjemu slabˇ se. Testirali pa smo ga na istih 40 slikah ka- kor naˇ s model. Na slikah brez ˇ suma se je izkazal enako kakor naˇ s model. Na slikah zajetih s pametnim telefo- nom je dosegel nekoliko boljˇ se rezultate kakor naˇ s model (40,2% povpreˇ cne napake na simbol). Ker smo uporabili le 20 slik je malce nesmiselno primerjati toˇ cnost siste- mov, lahko pa primerjamo njuno hitrost. Vidimo lahko, da je naˇ s model veliko hitreje izvajal razpoznavo kakor Audiveris. Z veˇ canjem ˇ stevila testnih primerov bi zago- tovo vplivali na oceno toˇ cnosti modelov, ne bi pa bistveno vplivali na primerjavo hitrosti. Lahko torej reˇ cemo, da je uporaba celostne nevronske mreˇ ze bolj optimalen pristop, kakor uporaba veˇ c modelov za vsak sklop, kakor to poˇ cne Audiveris. Uporaba pristopa, ki smo ga izbrali mi, bi bila npr. smiselna pri mobilni aplikaciji. naˇ s model Audiveris Simbolna napaka (%) 44 40,2 ˇ Cas izvajanja (s) 1,7 14 Tabela 4: Povpreˇ cna simbolna napaka in povpreˇ cen ˇ cas izvaja- nja. Literatura [1] Audiveris, Dosegljivo: https://github.com/Audiveris/audi- veris. [Dostopano: 12.7.2012] [2] PrIMuS dataset, Dosegljivo: https://grfia.dlsi.ua.es/pri- mus/. [Dostopano: 9.7.2012] [3] MEI, Dosegljivo: https://music-encoding.org. [Dostopano: 9.7.2012] [4] PAE, Dosegljivo: https://en.wikipedia.org/wiki/Plaine %- 26 Easie Code [Dostopano: 10.7.2012] [5] Incipit, Dosegljivo: https://en.wikipedia.org/wiki/Incipit [Dostopano: 15.7.2012] [6] Jorge Calvo-Zaragoza and David Rizo. End-to-end neu- ral optical musicrecognition of monophonic scores.Applied Sciences, 8(4), 2018 393 [7] K. R. Varadarajan, ”A divide-and-conquer algorithm for min-cost perfect matching in the plane,”Proceedings 39th Annual Symposium on Foundations of Computer Sci- ence (Cat. No.98CB36280), 1998, pp. 320-329, doi: 10.1109/SFCS.1998.743466. [8] Emanuele Carlini, Patrizio Dazzi, and Matteo Mordacchini. A ho-listic approach for high-level programming of next- generation data-intensive applications targeting distributed heterogeneous computingenvironment.Procedia Computer Science, 97:131–134, 2016. 2nd Inter-national Conference on Cloud Forward: From Distributed to CompleteCompu- ting. [9] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep feedforwardnetworks. InDeep Learning, chapter 6.5, pages 200–220. MIT Press, 2016.