280 likes | 436 Vues
RAZPOZNAVANJE NOTNEGA ZAPISA Z RAČUNALNIŠKIM VIDOM. Diplomska naloga. Avtor: Matej HROVAT. Mentor: prof. dr. Aleš LEONARDIS. Cilj razpoznavanja not ali OMR ( Optical Music Recognition ). Eine_kleine_Nachtmusik.mid. Analiza TISKANIH KLAVIRSKIH NOT.
E N D
RAZPOZNAVANJE NOTNEGA ZAPISA Z RAČUNALNIŠKIM VIDOM Diplomska naloga Avtor: Matej HROVAT Mentor: prof. dr. Aleš LEONARDIS
Cilj razpoznavanja not ali OMR (Optical Music Recognition) Eine_kleine_Nachtmusik.mid
Analiza TISKANIH KLAVIRSKIH NOT Segmentacija slike poteka v treh programskih modulih: 1. Izločanje vrstic 2. Izločanje črtovja 3. Iskanje povezanih črnih področij 4. Iskanje notnih primitivov 5. Sestavljanje fragmentiranih objektov 6. Sestavljanje objektov iz primitivov 7. Prevajanje podatkov v računalniški format Sedem korakov analize:
Analiza TISKANIH KLAVIRSKIH NOT Segmentacija slike poteka v treh programskih modulih: 1. Izločanje vrstic 2. Izločanje črtovja 3. Iskanje povezanih črnih področij 4. Iskanje notnih primitivov 5. Sestavljanje fragmentiranih objektov 6. Sestavljanje objektov iz primitivov 7. Prevajanje podatkov v računalniški format Sedem korakov analize:
Analiza TISKANIH KLAVIRSKIH NOT Segmentacija slike poteka v treh programskih modulih: 1. Izločanje vrstic 2. Izločanje črtovja 3. Iskanje povezanih črnih področij 4. Iskanje notnih primitivov 5. Sestavljanje fragmentiranih objektov 6. Sestavljanje objektov iz primitivov 7. Prevajanje podatkov v računalniški format Sedem korakov analize:
Korak / 7: 1 IZLOČANJE VRSTIC Iskanje premic črtovja s Houghovo transformacijo r = x cos() + y sin() za vsak [00, 3600]
Korak / 7: 1 IZLOČANJE VRSTIC Iskanje premic črtovja s Houghovo transformacijo Lokalni maksimumi Houghovega transforma klavirske skladbe: a) Enak kot (rotacija strani) =0 b) Nastopajo v gručah po 5
Korak / 7: 1 IZLOČANJE VRSTIC Izločanje najdene vrstice ≤ 900 > 900
Korak / 7: 2 IZLOČANJE ČRTOVJA IZ VRSTICE Mera za velikost objektov Iskanje črt s horizontalno projekcijo
Korak / 7: 2 IZLOČANJE ČRTOVJA IZ VRSTICE Označevanje črte s kvadratnim oknom Slika v oknu, ki pomeni delček črte
Korak / 7: 2 IZLOČANJE ČRTOVJA IZ VRSTICE Označevanje črte - interpolacija med dvema oknoma
Korak / 7: 2 IZLOČANJE ČRTOVJA IZ VRSTICE Označevanje črte - interpolacija med dvema oknoma
Korak / 7: 3 ISKANJE POVEZANIH ČRNIH OBMOČIJ Območja poiščemo s polnilnim algoritmom 4-FloodFill
Korak / 7: 4 ISKANJE PRIMITIVOV Primitivi - elementarni objekti Možnosti iskanja: • Neposredno ujemanje • Ujemanje vzorcev • Procesiranje kombiniranih
Korak / 7: 4 ISKANJE PRIMITIVOV Način iskanja 1/3: Neposredno prepoznavanje Primitivi, prepoznavni po globalnih značilkah
Korak / 7: 4 ISKANJE PRIMITIVOV Način iskanja 2/3: Ujemanje vzorcev • Znak razdelimo na m x n regij • Sivinske nivoje pretvorimo v vektor značilk • Vzorci so shranjeni v podatkovni bazi
Korak / 7: 4 ISKANJE PRIMITIVOV Način iskanja 2/3: Ujemanje vzorcev Razlika vektorjev:
Korak / 7: 4 ISKANJE PRIMITIVOV Način iskanja 2/3: Ujemanje vzorcev • Ujemanje potrjeno, ko je DNORM < Treshold • Primer na sliki: DNORM = 0,061
Korak / 7: 4 ISKANJE PRIMITIVOV Način iskanja 3/3: Procesiranje kombiniranih simbolov • Odstranimo vertikalne linearne segmente • Preostale objekte pošljemo v ponovno obdelavo
Korak / 7: 5 SESTAVLJANJE FRAGMENTIRANIH SIMBOLOV Fragmentacija - razpad nekega simbola zaradi odstranitve drugega Rešitev - iskanje simbola v izvirni sliki
Korak / 7: 6 SESTAVLJANJE PRIMITIVOV in SEMANTIKA a) Primitivi, ki se ne dotikajo drugih b) Sestavljanje primitivov not
Korak / 7: 7 PREVAJANJE V RAČUNALNIŠKI FORMAT • MIDI ali NIFF datoteka • OCR aplikacija - kodiranje informacij o izvajanju skladbe
R E Z U L T A T I Testni primer 1: J. S. Bach, Das Wohltemperierte Klavier I: Praeludium II, vrstica 1
R E Z U L T A T I Testni primer 2: Scott Joplin, The Entertainer, vrstica 1
R E Z U L T A T I Testni primer 3: W. A. Mozart, Eine kleine Nachtmusik - Romanze: Andante, vrstica 7
R E Z U L T A T I Testni primer 4: J. S. Bach, Das Wohltemperierte Klavier I: Fuga VII, vrstica 5
PRIHODNJI RAZVOJ • Število in tip črtovij v vrsticah • Dotikajoči in prekrivajoči se simboli • Optimizacija baze podatkov • Izboljšano semantično preverjanje • Prevajanje v računalniški format Cilj: učinkovit komercialen OMR program