Post on 03-Jan-2016
description
RAZPOZNAVANJE RAZPOZNAVANJE NOTNEGA ZAPISANOTNEGA ZAPISA
Z RAČUNALNIŠKIM VIDOMZ RAČUNALNIŠKIM VIDOMDiplomska naloga
Avtor: Matej HROVAT
Mentor: prof. dr. Aleš LEONARDIS
Cilj razpoznavanja not ali OMR Cilj razpoznavanja not ali OMR ((Optical Music RecognitionOptical Music Recognition))
Eine_kleine_Nachtmusik.mid
Analiza TISKANIH KLAVIRSKIH NOTAnaliza TISKANIH KLAVIRSKIH NOT
Segmentacija slike poteka v treh programskih modulih:
Sedem
korakov
analize:
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
Analiza TISKANIH KLAVIRSKIH NOTAnaliza TISKANIH KLAVIRSKIH NOT
Segmentacija slike poteka v treh programskih modulih:
Sedem
korakov
analize:
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
Analiza TISKANIH KLAVIRSKIH NOTAnaliza TISKANIH KLAVIRSKIH NOT
Segmentacija slike poteka v treh programskih modulih:
Sedem
korakov
analize:
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
Korak / 7:Korak / 7:11
Iskanje premic črtovja s Houghovo transformacijoIskanje premic črtovja s Houghovo transformacijo
r = x cos() + y sin() za vsak [00, 3600]
IZLOČANJE VRSTICIZLOČANJE VRSTIC
Iskanje premic črtovja s Houghovo transformacijoIskanje premic črtovja s Houghovo transformacijo
Korak / 7:Korak / 7:11 IZLOČANJE VRSTICIZLOČANJE VRSTIC
Lokalni maksimumi Houghovega transforma klavirske skladbe:
a) Enak kot (rotacija strani) =0
b) Nastopajo v gručah po 5
Izločanje najdene vrsticeIzločanje najdene vrstice
Korak / 7:Korak / 7:11 IZLOČANJE VRSTICIZLOČANJE VRSTIC
≤ 900 > 900
Korak / 7:Korak / 7:22 IZLOČANJE ČRTOVJAIZLOČANJE ČRTOVJA
IZ VRSTICEIZ VRSTICE Iskanje črt s horizontalno projekcijoIskanje črt s horizontalno projekcijo
Mera za Mera za velikost velikost objektovobjektov
Korak / 7:Korak / 7:22 IZLOČANJE ČRTOVJAIZLOČANJE ČRTOVJA
IZ VRSTICEIZ VRSTICE Označevanje črte s kvadratnim oknomOznačevanje črte s kvadratnim oknom
Slika v oknu, ki pomeni delček črte
Korak / 7:Korak / 7:22 IZLOČANJE ČRTOVJAIZLOČANJE ČRTOVJA
IZ VRSTICEIZ VRSTICE Označevanje črte - interpolacija med dvema oknomaOznačevanje črte - interpolacija med dvema oknoma
Korak / 7:Korak / 7:22 IZLOČANJE ČRTOVJAIZLOČANJE ČRTOVJA
IZ VRSTICEIZ VRSTICE Označevanje črte - interpolacija med dvema oknomaOznačevanje črte - interpolacija med dvema oknoma
Korak / 7:Korak / 7:33 ISKANJE POVEZANIH ISKANJE POVEZANIH ČRNIH OBMOČIJČRNIH OBMOČIJ
Območja poiščemo s polnilnim algoritmom 4-FloodFillObmočja poiščemo s polnilnim algoritmom 4-FloodFill
Korak / 7:Korak / 7:44 ISKANJE PRIMITIVOV ISKANJE PRIMITIVOV
Primitivi - elementarni objektiPrimitivi - elementarni objekti
• Neposredno ujemanje
• Ujemanje vzorcev• Procesiranje kombiniranih
Možnosti iskanja:
Korak / 7:Korak / 7:44 ISKANJE PRIMITIVOV ISKANJE PRIMITIVOV
Način iskanja 1/3: Neposredno prepoznavanjeNačin iskanja 1/3: Neposredno prepoznavanje
Primitivi, prepoznavni po globalnih značilkah
Korak / 7:Korak / 7:44 ISKANJE PRIMITIVOV ISKANJE PRIMITIVOV
Način iskanja 2/3: Ujemanje vzorcevNač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:Korak / 7:44 ISKANJE PRIMITIVOV ISKANJE PRIMITIVOV
Način iskanja 2/3: Ujemanje vzorcevNačin iskanja 2/3: Ujemanje vzorcev
2
1
)),(),(( ii
M
iii yxTyxZD
1,02
HWL
DDNORM
Razlika vektorjev:
Korak / 7:Korak / 7:44 ISKANJE PRIMITIVOV ISKANJE PRIMITIVOV
Način iskanja 2/3: Ujemanje vzorcevNačin iskanja 2/3: Ujemanje vzorcev
• Ujemanje potrjeno, ko je DNORM < Treshold
• Primer na sliki: DNORM = 0,061
Korak / 7:Korak / 7:44 ISKANJE PRIMITIVOV ISKANJE PRIMITIVOV
Način iskanja 3/3: Procesiranje kombiniranih simbolovNačin iskanja 3/3: Procesiranje kombiniranih simbolov
• Odstranimo vertikalne linearne segmente
• Preostale objekte pošljemo v ponovno obdelavo
Korak / 7:Korak / 7:55 SESTAVLJANJE SESTAVLJANJE FRAGMENTIRANIH SIMBOLOV FRAGMENTIRANIH SIMBOLOV
Fragmentacija - razpad nekega simbola zaradi odstranitve drugega
Rešitev - iskanje simbola v izvirni sliki
Korak / 7:Korak / 7:66 SESTAVLJANJE PRIMITIVOV SESTAVLJANJE PRIMITIVOV in SEMANTIKA in SEMANTIKA
a) Primitivi, ki se ne dotikajo drugih
b) Sestavljanje primitivov not
Korak / 7:Korak / 7:77 PREVAJANJE V PREVAJANJE V RAČUNALNIŠKI FORMAT RAČUNALNIŠKI FORMAT
• MIDI ali NIFF datoteka
• OCR aplikacija - kodiranje informacij o izvajanju skladbe
R E Z U L T A T IR E Z U L T A T ITestni primer 1: J. S. Bach, Das Wohltemperierte Klavier I:Praeludium II, vrstica 1
R E Z U L T A T IR E Z U L T A T ITestni primer 2: Scott Joplin, The Entertainer, vrstica 1
R E Z U L T A T IR E Z U L T A T ITestni primer 3: W. A. Mozart, Eine kleine Nachtmusik -Romanze: Andante, vrstica 7
R E Z U L T A T IR E Z U L T A T ITestni primer 4: J. S. Bach, Das Wohltemperierte Klavier I:Fuga VII, vrstica 5
PRIHODNJI RAZVOJPRIHODNJI RAZVOJ
Cilj:Cilj: učinkovit komercialen OMR program učinkovit komercialen OMR program
• Š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