Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilFrantišek Sedlák
1
1 Audio retrieval Referát Vyhledávání v multimediálních databázích MFF UK 2005/06 Jan Kodym
2
2 Obsah referátu Oblasti v audio retrieval Práce s řečí Extrakce vlastností Metody určování podobnosti vzorků Automatická klasifikace vzorků
3
3 Oblasti v Audio Retrieval Databáze „obecně jakýchkoliv“ vzorků Databáze „obecně jakýchkoliv“ vzorků Používání univerzálních metod Používání univerzálních metod (případně klasifikace vzorků a dotazů – bude dále) (případně klasifikace vzorků a dotazů – bude dále) Databáze určitých typů vzorků Databáze určitých typů vzorků Pouze řeč Pouze řeč Pouze hudba Pouze hudba … Možno použít metody vhodné pro danou třídu Možno použít metody vhodné pro danou třídu
4
4 Práce s řečí identifikace řečníka identifikace řečníka Databáze vzorků růrných řečníků, ve které hledám „člověka mluvícího v dotazu“ Databáze vzorků růrných řečníků, ve které hledám „člověka mluvícího v dotazu“ Nezajímá mě obsah řeči, pouze charakteristické vlastnosti hlasu Nezajímá mě obsah řeči, pouze charakteristické vlastnosti hlasu Např. extrakce a porovnávání základního hlasivkového tónu Např. extrakce a porovnávání základního hlasivkového tónu identifikace obsahu řeči identifikace obsahu řeči Přiřazení vstupu (dotazu) nějakému slovu ze slovníku známých slov Přiřazení vstupu (dotazu) nějakému slovu ze slovníku známých slov Bez ohledu na osobu řečníka Bez ohledu na osobu řečníka Rozpoznávání slabik Rozpoznávání slabik Jádro slabiky – znělá samohláska. Snadno se rozpozná (energetická špička) Problém určit hranici slabiky Velký počet slabik (v mluvené češtině kolem 10000) Záleží i na jazyce
5
5 Audio Retrieval - schéma systém SOUNDSPOTTER
6
6 Extrakce vlastností Spektrální analýza zvukového signálu Vzorkovaný signál je rozsekán na části určité délky (frames) a vlnová funkce v každé části je charakterizována číselným vektorem Vzorkovaný signál je rozsekán na části určité délky (frames) a vlnová funkce v každé části je charakterizována číselným vektorem Vzorek se tak převede na posloupnost vektorů, které charakterizují signál v průběhu času (časová řada) Vzorek se tak převede na posloupnost vektorů, které charakterizují signál v průběhu času (časová řada) MFCC – Mel Frequency Cepstral Coefficients MFCC – Mel Frequency Cepstral Coefficients Kepstrální analýza
7
7 MFCC Různé varianty, tato ze systému Soundspotter Délka rámců 20 ms V každém rámci se spočítá diskrétní Fourierova transformace Spektrum se převede do logaritmické stupnice (nebo se převede na mocniny X 0.23 – Stevensovo pravidlo) Lépe vystihuje hlasitost signálu Může se ještě spočítat diskrétní cosinova transformace Pro každý rámec se vezme jako vektor vlastností prvních 13 koeficientů Dostáváme se do 13-rozměrného prostoru Dostáváme se do 13-rozměrného prostoru Vlastnost vzorku (sestávajícího z více rámců) je tedy dána posloupností (TRAJEKTORIÍ) „13D vektorů“ Vlastnost vzorku (sestávajícího z více rámců) je tedy dána posloupností (TRAJEKTORIÍ) „13D vektorů“
8
8 MFCC [a 1,a 2, … a 13 ] rámec transformace
9
9 Trajectory matching Porovnávání „trajektorií“ - posloupností vektorů (dotaz a vzorky) stejné délky Buď přímo ve 13-dimenzionálním prostoru nebo po namapování do prostoru nižší dimenze (bude dále) Buď přímo ve 13-dimenzionálním prostoru nebo po namapování do prostoru nižší dimenze (bude dále) Metrika: Např. průměrná hodnota Euklidovských vzdáleností sobě odpovídajících vektorů Např. průměrná hodnota Euklidovských vzdáleností sobě odpovídajících vektorů
10
10 Dynamic Time Warping „Borcení časové osy“ Vyvinuto pro rozpoznávání řeči Stejný řečník i obsah, různé tempo Stejný řečník i obsah, různé tempo Porovnávání sekvencí různé délky Pomocí techniky dynamického programování lze v čase I*J I …. Délka posloupnosti dotazu I …. Délka posloupnosti dotazu J …. Délka posloupnosti vzorku J …. Délka posloupnosti vzorku
11
11 Dynamic Time Warping Dotaz = (r 1, r 2, …,r I ) Vzorek = (a 1, a 2, …,a J ) D(i,j) – Matice vzdáleností (kumulovaná) nejkratší vzdálenost mezi prvními i prvky Dotazu a podposloupností Vzorku končící na j-té pozici
12
12 Dynamic Time Warping d(i,j) = vzdálenost mezi r i a a j D(1,j) := d(1,j) D(i,j) := min ( D(i-2,i-1)+w 1 *d(i,j), ■ // přeskočím prvek v dotazu D(i-1,i-2)+w 2 *d(i,j), ■ // --||-- ve vzorku D(i-1,i-2)+w 2 *d(i,j), ■ // --||-- ve vzorku D(i-1,i-1)+w 3 *d(i,j) ) ■ // nepřeskočím nic D(i-1,i-1)+w 3 *d(i,j) ) ■ // nepřeskočím nic Na základě experimentů: w1 = 2 w2 = 2 w3 = 1 2 2 1
13
13 Dynamic Time Warping Pro každé (i,j) si držím ukazatel, „odkud jsem přišel“ V posledním řádku matice (D(I,j) j) mám nejkratší kumulovanou vzdálenost mezi Dotazem a podposloupností vzorku končící na pozici j Jdu zpět po ukazatelích Jdu zpět po ukazatelích
14
14 Mapování vektorů do SOM SOM = samoorganizující (Kohonenovy) mapy Neuronová síť, Kohonenova vrstva – typicky dvourozměrná mříž Neuronová síť, Kohonenova vrstva – typicky dvourozměrná mříž Každý neuron – váhový vektor Každý neuron – váhový vektor w = [w 1, w 2, …, w n ] n … dimenze vstupního signálu (u nás =13) w = [w 1, w 2, …, w n ] n … dimenze vstupního signálu (u nás =13) Množina trénovacích dat – všechny vektory vlastností ze všech vzorků Množina trénovacích dat – všechny vektory vlastností ze všech vzorků Rozměry SOM – počet neuronů přibližně druhá odmocnina z počtu trénovacích vektorů Rozměry SOM – počet neuronů přibližně druhá odmocnina z počtu trénovacích vektorů
15
15 Mapování vektorů do SOM – redukce dimenze Po natrénování se dosáhne toho, že vektory blízké v původním prostoru (13D) se namapují do neuronů blízkých v SOM (2D). Obraz původního vektoru je neuron v natrénované SOM s maximální odezvou Obraz původního vektoru je neuron v natrénované SOM s maximální odezvou V ideálním případě se vytvoří shluky (clustery) blízkých vektorů (z původního prostoru), které se namapují do jednoho neuronu v SOM (shlukování). V ideálním případě se vytvoří shluky (clustery) blízkých vektorů (z původního prostoru), které se namapují do jednoho neuronu v SOM (shlukování).
16
16 Namapování poslopností vektorů vlastností (dotazu i vzorků) Různé metody měření podobnosti mezi obrazy vektorů v SOM Trajectory matching Trajectory matching Clustering & String matching Clustering & String matching Clustering & Histogram matching Clustering & Histogram matching Mapování vektorů do SOM – měření podobnosti
17
17 SOM - Trajectory matching Porovnávání trajektorií (posloupností) namapovaných vektorů dají se použít stejné algoritmy jako v původním prostoru dají se použít stejné algoritmy jako v původním prostoru Akorát že nyní jsme ve 2D !!! Akorát že nyní jsme ve 2D !!!
18
18 SOM - Trajectory matching U1U2U3U4U5U6U7U8U9U1U2U3U4U5U6U7U8U9 V1V2V3V4V5V6V7V8V9V1V2V3V4V5V6V7V8V9
19
19 SOM - Clustering Shluk (cluster) – množina vektorů z původního prostoru, které se namapují do jednoho neuronu v SOM Jako kritérium podobnosti dvou vektorů se bere pouze to, jestli se namapují/nenamapují do stejného neuronu Na rozdíl od Trajectory matching se nebere v úvahu vzdálenost v SOM mezi neurony – obrazy, pokud se každý z těch dvou vektorů namapuje do jiného neuronu Na rozdíl od Trajectory matching se nebere v úvahu vzdálenost v SOM mezi neurony – obrazy, pokud se každý z těch dvou vektorů namapuje do jiného neuronu
20
20 SOM - Clustering Každému neuronu v SOM je přiřazen znak z (konečné) abecedy. Každé posloupnosti vektorů vlastností tak přiřadíme slovo nad touto abecedou, které získáme namapováním této posloupnosti do SOM. Přístupy: Porovnáváme slova (tj. bereme v potaz pořadí znaků ve slovech) String matching Nehledíme na pořadí znaků, zajímají nás jen četnosti výskytů jednotlivých znaků ve slovech (=> vytvoříme si histogramy těchto četností) Histogram matching
21
21 SOM – String matching Každému neuronu přiřadíme znak – např. jeho souřadnice v SOM Vzdálenost mezi dotazem a vzorkem je rovna minimální editační vzdálenosti jejich řetězců Minimální počet operací INSERT, DELETE a SUBSTITUCE v jednom řetězci (např. dotazu), abychom ho přeměnili na druhý (vzorek)
22
22 SOM – String matching Minimální editační vzdálenost – příklad Vzorek = (ABCD) Vzorek = (ABCD) Dotaz = (ABD) Dotaz = (ABD) Matice D(i,j) – kumulativní vzdálenost mezi prvními i znaky dotazu a podřetězce vzorku končícím na jeho j–tém znaku Spočtení hodnot v matici – dynamické programování (podobné jako DTW) – složitost n*m Spočtení hodnot v matici – dynamické programování (podobné jako DTW) – složitost n*m
23
23 SOM – String matching Inicializace D(0,j) = 0 D(i,0) = i D(i,j) vzorek vzorekABCD dotaz dotaz A B D
24
24 Inicializace D(0,j) = 0 D(i,0) = i D(i,j) = min { D(i-1,j-1)+d(i,j), D(i-1,j)+1, D(i,j-1)+1 } d(i,j) = 0 : u(i) = u(j) = 1 : u(i) ≠ u(j) SOM – String matching D(i,j) vzorek vzorekABCD dotaz dotaz 0 0 0 0 0 A 1 B 2 D 3
25
25 SOM – String matching Inicializace D(0,j) = 0 D(i,0) = i D(i,j) = min { D(i-1,j-1)+d(i,j), D(i-1,j)+1, D(i,j-1)+1 } d(i,j) = 0 : u(i) = u(j) = 1 : u(i) ≠ u(j) D(i,j) vzorek vzorekABCD dotaz dotaz 0 0 0 0 0 A 1 \ 0 B 2 D 3
26
26 SOM – String matching Nyní máme: Dotaz = (AB) Vzorek = (A) D(i,j) = min { D(i-1,j-1)+d(i,j), D(i-1,j)+1, D(i,j-1)+1 } Šipka NAHORU Smazání posledního znaku dotazu (DELETE) D(i,j) vzorek vzorekABCD dotaz dotaz 0 0 0 0 0 A 1 \ 0 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 B 2 ↑ 1↑ 1↑ 1↑ 1 D 3
27
27 SOM – String matching Nyní máme: Dotaz = (AB) Vzorek = (ABC) D(i,j) = min { D(i-1,j-1)+d(i,j), D(i-1,j)+1, D(i,j-1)+1 } Šipka DOLEVA Připojení posledního znaku z vzorku k dotazu (INSERT) D(i,j) vzorek vzorekABCD dotaz dotaz 0 0 0 0 0 A 1 \ 0 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 B 2 ↑ 1↑ 1↑ 1↑ 1 \ 0\ 0\ 0\ 0 ←1←1←1←1 D 3
28
28 SOM – String matching Nyní máme: Dotaz = (ABD) Vzorek = (ABC) D(i,j) = min { D(i-1,j-1)+d(i,j), D(i-1,j)+1, D(i,j-1)+1 } d(i,j) = 1 (C≠D) Šipka ŠIKMO NAHORU Záměna posledního znaku v dotazu za poslední znak ve vzorku (SUBSTITUCE) D(i,j) vzorek vzorekABCD dotaz dotaz 0 0 0 0 0 A 1 \ 0 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 B 2 ↑ 1↑ 1↑ 1↑ 1 \ 0\ 0\ 0\ 0 ←1←1←1←1 \ 2\ 2\ 2\ 2 D 3 ↑ 2↑ 2↑ 2↑ 2 ↑ 1↑ 1↑ 1↑ 1 \ 1
29
29 SOM – String matching Nyní máme: Dotaz = (ABD) Vzorek = (ABCD) D(i,j) = min { D(i-1,j-1)+d(i,j), D(i-1,j)+1, D(i,j-1)+1 } d(i,j) = 0 Šipka ŠIKMO NAHORU Nic se neděje (ŽÁDNÁ OPERACE) D(i,j) vzorek vzorekABCD dotaz dotaz 0 0 0 0 0 A 1 \ 0 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 B 2 ↑ 1↑ 1↑ 1↑ 1 \ 0\ 0\ 0\ 0 ←1←1←1←1 \ 2\ 2\ 2\ 2 D 3 ↑ 2↑ 2↑ 2↑ 2 ↑ 1↑ 1↑ 1↑ 1 \ 1\ 1\ 1\ 1 \ 1
30
30 SOM – String matching Minimální editační vzdálenost (ABCD) a (ABD) = 1 D(i,j) vzorek vzorekABCD dotaz dotaz 0 0 0 0 0 A 1 \ 0 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 \ 1\ 1\ 1\ 1 B 2 ↑ 1↑ 1↑ 1↑ 1 ←1←1←1←1 \ 2\ 2\ 2\ 2 D 3 ↑ 2↑ 2↑ 2↑ 2 ↑ 1↑ 1↑ 1↑ 1 \ 1\ 1\ 1\ 1 \ 1
31
31 SOM – Hisogram matching Nezajímá nás pořadí znaků v řetězcích ale četnosti jejich výskytů Porovnávají se histogramy těchto četností pro všechny vzorky stejné délky Např. Euklidovská míra
32
32 Automatická klasifikace vzorků Databáze mohou obsahovat různé třídy vzorků řeč řečMužŽena hudba hudbaZpívanáInstrumentální … Vhodné předzpracování – klasifikace vzorků i dotazů do těchto tříd Výrazné snížení počtu porovnání Možnost poté použít porovnávací algoritmus vhodný pro danou třídu
33
33 Automatická klasifikace vzorků metoda MMI-klasifikátor metoda MMI-klasifikátor Maximise Mutual Information Maximise Mutual Information Stačí malá množina trénovacích vzorů (obsahující vzorky ze všech tříd) Stačí malá množina trénovacích vzorů (obsahující vzorky ze všech tříd) Ruční anotace trénovacích vzorů – zařazení do tříd Ruční anotace trénovacích vzorů – zařazení do tříd Vhodné rozdělení prostoru vlastností na (disjunktní) regiony Vhodné rozdělení prostoru vlastností na (disjunktní) regiony každý region obsahuje převážně prvky jedné třídy každý region obsahuje převážně prvky jedné třídy
34
34 MMI – rozdělení prostoru rozhodovací strom – konstruován pomocí „Greedy - algoritmu“ rozhodovací strom – konstruován pomocí „Greedy - algoritmu“ Rekurzívní dělení prostoru (oblastí) na podoblasti „dokud to má cenu“ Rekurzívní dělení prostoru (oblastí) na podoblasti „dokud to má cenu“ dělí se podle nadroviny, která je kolmá na nejvhodnější dimenzi d dělí se podle nadroviny, která je kolmá na nejvhodnější dimenzi d dělící nadrovina prochází nejvhodnějším bodem (prahem) x d (v dimenzi d) dělící nadrovina prochází nejvhodnějším bodem (prahem) x d (v dimenzi d)
35
35 MMI – rozdělení prostoru
36
36 MMI – výběr dimenze a prahu pro dělení oblasti zkouší se všechny možné dimenze a prahy, hledá se maximum vzájemné informace (MMI) – I(X;C) zkouší se všechny možné dimenze a prahy, hledá se maximum vzájemné informace (MMI) – I(X;C) X … data X … data C … asociované třídy C … asociované třídy H.... Entropie Pr(c i ).... Pravděpodobnost výskytu třídy i v této oblasti Pr(a i ).... Pravděpodobnost se kterou jsou (v této oblasti) prvky třídy i větší než dělící práh x i
37
37 MMI – kritéria ukončení dělení Na základě I(X,C) se nedá rozhodnout, kdy už nemá cenu oblast dál dělit na podoblasti I(X,C) není klesající I(X,C) není klesající V extrémním případě by dělení vedlo až k „rozdrobení“ prostoru na malé oblasti, kde každá by obsahovala jen malé množství (např. jen jeden) prvků pouze jedné třídy V extrémním případě by dělení vedlo až k „rozdrobení“ prostoru na malé oblasti, kde každá by obsahovala jen malé množství (např. jen jeden) prvků pouze jedné třídy v každé oblasti j se nejprve spočítá N j … počet vektorů dat ve oblasti j N … počet vektorů dat v celém prostoru a pokud se dostane pod určitou (předem nastavenou) mez, dělení oblasti se už dále neprovádí
38
38 Princip MMI - klasifikátoru 1.Jednorázově (na začátku) anotace trénovacích dat (zařazení do tříd) a konstrukce MMI stromu anotace trénovacích dat (zařazení do tříd) a konstrukce MMI stromu pro každou třídu (na základě trénovacích dat) vytvořím šablonu – histogram relativních četností vektorů dané třídy v listech MMI stromu 2.Vytvoření histogramu relativních četností vektorů dotazu v listech MMI stromu 3.Nalezení šablony, která je nejvíce podobná histogramu dotazu Různé metriky pro určení podobnosti histogramů
39
39 Princip MMI - klasifikátoru
40
40 MMI – mertiky pro určení podobnosti histogramů p, q – histogramy délky N p, q – histogramy délky N p(i) … i-tá složka histogramu p p(i) … i-tá složka histogramu p p, q jsou normalizované p, q jsou normalizované D(p,q) …. Vzdálenost histogramů p a q D(p,q) …. Vzdálenost histogramů p a q
41
41 Euklidovská vzdálenost Euklidovská vzdálenost klasická L2 metrika v N-dimenzionálním prostoru klasická L2 metrika v N-dimenzionálním prostoru Symetrická relativní entropie Není vhodné pro „řídké histogramy“ z malého množství dat kde MMI – mertiky pro určení podobnosti histogramů - 1 Obecně: (p||q) ≠ (q||p)
42
42 MMI – mertiky pro určení podobnosti histogramů - 2 Korelační vzdálenost Korelační vzdálenost vhodná i pro „řídké histogramy“ z malého množství dat – nulové složky histogramů nemají na metriku vliv vhodná i pro „řídké histogramy“ z malého množství dat – nulové složky histogramů nemají na metriku vliv
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.