Skip to content

sc-2020-siit/MusicSheetsRecognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MusicSheetsRecognition

Projekat iz predmeta Soft kompjuting

  • Članovi tima: Danijel Radulović, Dragan Ćulibrk

  • Asistent: Dragan Vidaković

  • Problem:
    Čitanje muzičkih zapisa, prepoznavanje muzičkih simbola, generisanje njihove tekstualne predstave i melodije na osnovu toga.

Skup podataka

Za trening i validacioni skup korišćen The Printed Images of Music Staves (PrIMuS) skup podataka https://grfia.dlsi.ua.es/primus/

Metodologija

Korišćen End-to-end Optical Music Recognition algoritam, koji radi na principu prepoznavanja muzičkih simbola jedne linije notnog zapisa. Detaljnije u radu https://www.researchgate.net/publication/324460067_End-to-End_Neural_Optical_Music_Recognition_of_Monophonic_Scores i na Github repozitorijumu https://github.com/OMR-Research/tf-end-to-end)

Treniranu arhitekturu mreže čine:

  • 4 konvolutivna bloka, koji se sastoje od konvolutivnog sloja (početni broj filtera 32, u svakom narednom bloku se duplira, veličina kernela 3x3), batch normalizacije, leaky relu aktivacione funkcije i pooling sloja (pool_size 2x2)

  • 2 bidirekciona LSTM sloja sa 256 jedinica i dropout sa koeficijentom 0.5

  • potpuno povezani sloj i Softmax

  • Connectionist Temporal Classification (https://en.wikipedia.org/wiki/Connectionist_temporal_classification) loss, koji se koristi za treniranje rekurentnih neuronskih mreža, za rešavanje sequence-to-sequence problema gde postoji vremenska zavisnost između svakog dela ulazne sekvence.

Pre puštanja testne slike u neuronsku mrežu, izdvajaju se pojedinačne linije notnog zapisa uz pomoć computer vision tehnika.

Potrebne biblioteke i alati

Da bi se rešenje pokrenulo, potrebno je instalirati sledeće:

  • Python3
  • Keras and Tensorflow
  • Numpy
  • OpenCV
  • Music21

Rešenje je moguće pokrenuti:

  • Kao veb aplikaciju - potrebno je instalirati i Flask
  • Iz komandne linije - python ctc_predict.py -image ../data/Example/000051652-1_2_1.png -model ../semantic_model/semantic_model.meta -vocabulary ../data/vocabulary_semantic.txt

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published