Geometrické indexování a dotazování multimediálních dat Tomáš Skopal, Michal Krátký, Václav Snášel Katedra informatiky, VŠB-Technická Univerzita Ostrava 17. listopadu 15, 708 33 Ostrava-Poruba {michal.kratky, tomas.skopal, vaclav.snasel}@vsb.cz Abstrakt. Indexování a dotazování multimediálních dat patří v současnosti ke žhavým tématům v oblasti dokumentografických informačních systémů. V tomto příspěvku chceme představit dvě metody indexování multimediálních dokumentů, jež vycházejí z geometrické reprezentace dokumentů. První metoda uvažuje dokumenty jako body ve vícerozměrném vektorovém prostoru, zatímco druhá metoda pracuje s dokumenty jako s objekty metrického prostoru. Díky geometrické reprezentaci můžeme u obou přístupů využít stávající matematický aparát a metody realizovat pomocí nových datových struktur UB-stromu, v případě vektorových prostorů a M-stromu, v případě metrických prostorů. Klíčová slova: geometrické indexování, UB-strom, M-strom 1 Úvod Dokumentografické informační systémy (DIS) umožňují organizovat velkou kolekci dokumentů tak, aby bylo možno v ní efektivně vyhledávat (blíže viz [1]). Význam pojmu dokument specializuje jednotlivé typy DIS pro specifické třídy dat. Většina současných systémů DIS pracuje s textovými dokumenty a to buď ve formě čistého nebo strukturovaného textu. Celá velká skupina DIS se zabývá fulltextovým indexováním internetu, respektive indexováním HTML stránek na internetu. Na scénu DIS však pozvolna přicházejí nové typy dokumentů a to multimediální dokumenty. Multimediální dokument můžeme obecně chápat jako blok dat s nějakou vnitřní strukturou a sémantikou. Vedle klasických textových dokumentů to mohou být rovněž obrázky, zvuky, animace, signály, statistická data a v neposlední řadě také XML dokumenty. Potřeba indexovat velké kolekce multimediálních dokumentů je nasnadě. Rentgenové snímky, sekvence DNA, spektrální snímky, družicové záběry a nespočet dalších dat to všechno jsou kolekce multimediálních dokumentů. 2 Extrakce vlastností Indexování dokumentů v DIS probíhá podle určitých vlastností dokumentu. Vždy se jedná o nějaké zjednodušení původní reprezentace dokumentu tak, aby indexovaní a následné dotazování kolekce dokumentů bylo rozumně realizovatelné. Nalezení takového zjednodušení pro daný typ dokumentu se nazývá extrakce vlastností. U rastrového obrázku velikosti 800 600 si můžeme představit jednoduchou skupinu vlastností {velikost}, kde všechny obrázky o stejné 1
velikosti z tohoto pohledu splývají. Opačným extrémem je extrakce barev všech bodů rastru jako 480000 vlastností. Uvedené příklady jsou pro praxi nevhodné. Použitelnou extrakcí vlastností obrázku je histogram jeho barev, což je posloupnost hodnot, ve které každá hodnota reprezentuje počet pixelů stejné barvy v obrázku. Příklad vidíme na obrázku 1, kde je zobrazen multimediální dokument obrázek a jeho histogram o 256 hodnotách. Obr.1: Multimediální dokument obrázek a jeho histogram Posloupnost hodnost extrahovaných vlastností (např. histogram) může být chápána jako vektor vlastností dokumentu. 3 Vektorové prostory V předchozí kapitole jsme zavedli dokumenty jako vektory jejich reprezentativních vlastností. Zde se přímo nabízí považovat dokumenty jako body ve vícerozměrném vektorovém prostoru. Vektorový prostor Ω = D 1 D 2... D n má dimenzi n. Objekt (resp. dokument) O = [a 1, a 2,..., a n ] patřící do vektorového prostoru je jednoznačně určen svými souřadnicemi a i D i, 1 i n, kterých je právě n. Každá jednotlivá dimenze má svoji doménu D i množinu hodnot (resp. vlastností), kterých může příslušná vektorová souřadnice nabývat. Příklad: Obrázek 1 (resp. jeho histogram) je bod v 256-tirozměrném vektorovém prostoru. Doména každé dimenze je interval <0, 480000>. Jiným příkladem může být trojrozměrný prostor klíčových slov kočka, myš, pes, kde každé slovo postupně představuje jeden rozměr s doménou {ne,ano}. Dokument Kočka honí myš bude v tomto prostoru bod na souřadnicích [ano,ano,ne]. Věta: Pro konečný vektorový prostor (takový, že domény jsou konečné množiny) existuje bijektivní zobrazení φ : Ω C, kde C N (N přirozená čísla). Jinými slovy prostor Ω lze úplně vyplnit křivkou. Číslo p C je potom parametr křivky (nebo také adresa na křivce). Důsledkem je fakt, že vektorový prostor můžeme lineárně uspořádat. Poznámka: Vektorový prostor vykazuje globálně-topologické charakteristiky tím, že objekty jsou vztaženy k souřadnicovému systému. 2
4 Metrické prostory Metrický prostor je definován metrikou. Metrika je funkce měřící vzdálenost 1 mezi dvěma objekty. Metrický prostor obecně nemá definovanou dimenzi a tudíž v něm nemusíme nutně pracovat s vektorovým počtem. V tomto příspěvku však budeme pracovat s jednotnou reprezentací objektů vektorového i metrického prostoru tj. s vektory extrahovaných vlastností. Objekt v i patřící do metrického prostoru musí splňovat vůči ostatním objektům v metrickém prostoru následující axiomy metriky d: d(v x,v x ) = 0 d(v x,v y ) > 0 (v x v y ) d(v x,v y ) = d(v y,v x ) d(v x,v z ) + d(v z,v y ) d(v x,v y ) Příklad: Asi nejznámější je Minskowského metrika pro metrické vektorové prostory Lp(vx, vy) = n j=1 vx[j] vy[j] p 1 p kdep 1!UnexpectedEndofFormula Volbou p= 2 získáme Euklidovu (L 2 ) metriku měření vzdáleností v běžném životě. Poznámka: Metrický prostor vykazuje lokálně-topologické charakteristiky tím, že objekty jsou vztaženy vzájemně jeden ke druhému. 5 Univerzální B-stromy (UB-stromy) Univerzální B-strom je jedna z přístupových metod pro indexování vícerozměrných dat ve vektorových prostorech. Tuto metodu navrhl Rudolf Bayer (autor B- stromu) a zveřejnil ji v roce 1997 v článku [2]. Myšlenka UB-stromu je založena na kombinaci tzv. Z-uspořádání s B-stromy. Síla B-stromů spočívá v lineárním uspořádání klíčů které B-strom indexuje. Má-li tedy být UB-strom postaven na klasickém B-stromu, je nutné, aby na indexovaných objektech bylo zavedeno vhodné lineární uspořádání. Jak ovšem uspořádat body v n-rozměrném prostoru? Odpověď najdeme ve větě z kapitoly 3. Konkrétně pro UB-stromy pak definujeme tzv. Z-křivku, která je generuje Z-uspořádání, resp. konstrukci Z- adresy. 5.1 Z-adresa Pro objekt (bod) O Ω a binární reprezentaci hodnoty každého jeho atributu a i = a i,s 1 a i,s 2... a i,0 definujeme bijektivní funkci Z(O) takto: 1 pojem vzdálenost je zde relativní a můžeme ho chápat v nepřímé úměře s pojmem podobnost 3
s 1 Z(O) = n j=0 i=1 ai, j2jn + i 1!UnexpectedEndofFormula Tato funkce spočítá k danému bodu O v prostoru jeho Z-adresu. Uspořádání bodů (Z-uspořádání) v prostoru je potom vztaženo vůči velikosti Z-adresy pro každý bod. Pro výpočet Z-adresy existuje tzv. algoritmus bitového prokládání s lineární časovou složitostí. Pro každý prvek prostoru Ω můžeme spočítat různou Z-adresu. Na obrázku 2a vidíme Z-adresy pro všechny prvky 2-rozměrného prostoru 8 8 a odpovídající Z-křivku. Z-adresa nám tedy zobrazuje n-rozměrný prostor do rozměru jediného a definuje uspořádání na množině všech bodů prostoru Ω. 5.2 Z-regiony Z-region [α:β] je definovaný jako prostor pokrytý intervalem <α,β> na Z-křivce (α,β jsou hraniční Z-adresy). Celý prostor lze potom rozdělit do Z-regionů (příklad na obrázku 2a), které jsou uspořádány (protože se nepřekrývají) podle hodnot α a β. Každý z těchto Z-regionů obsahuje ty objekty, které budou uloženy v jedné listové stránce B+-stromu. Vnitřní (nelistové) stránky UB-stromu obsahují super-z-regiony, které hierarchicky pokrývají menší vnořené Z-regiony. Tak je zajištěn minimální počet přístupů na disk při získávání bodů, které v prostoru leží blízko u sebe. Na obrázku 2b vidíme strukturu UB-stromu indexující prostor z obrázku 2a. Obr. 2: a) prostor rozdělený na Z-regiony b) UB-strom indexující daný prostor 5.3 Dotazy V UB-stromu můžeme pokládat dva typy dotazů. Bodový a rozsahový. Bodový dotaz je specifikován určitým jedním bodem v prostoru a vrací odpověď zda se tento bod v UB-stromu nachází či nikoliv. Zajímavejší je rozsahový dotaz, který je specifikován n-rozměrným kvádrem a vrací jako odpověď všechny ty body, které leží v UB-stromu uvnitř tohoto kvádru. 4
Poznámka: Prostor můžeme vyplnit mnoha různými křivkami, které na něm definují uspořádání. Avšak volba Z-křivky pro UB-strom byla provedena právě s ohledem na lepší efektivitu rozsahových dotazů. 6 M-stromy Datová struktura M-strom, představená v [4], využívá pro indexování objektů vlastností metrických prostorů. Vnitřní strukturou je to opět perzistentní stránkovaný strom, jako je např. i UB-strom. Rozdíl spočívá v obsahu uzlů a listů stromu. Samotné objekty (ground objects) jsou uloženy v listech stromu, nelistové uzly obsahují tzv. směrovací objekty (routing objects). Záznam směrovacího objektu O r v uzlu obsahuje: samotný objekt O r odkaz ptr(t (O r )) na svůj podstrom T (O r ) tzv. covering tree (pokrývající strom) hodnotu r(o r ) tzv. covering radius (pokrývací poloměr) hodnotu d(o r,p(o r )) vzdálenost od rodičovského směrovacího objektu P (O r ) Záznam ground objektu vypadá podobně, ovšem místo odkazu na pokrývající strom a poloměru obsahuje oid(o j ) identifikátor celého objektu (dokumentu) uloženého mimo M-strom v datovém souboru. Princip hierarchie M-stromu spočívá stejně jako u UB-stromu v rozdělení prostoru do metrických regionů (ty nemusejí být nutně disjunktní jako je tomu u UB-stromu). K tomu slouží směrovací objekty a to tak, že všechny ground objekty, které obsahuje pokrývající strom T (O r ) směrovacího objektu O r jsou ve vzdálenosti maximálně r(o r ) od O r. Na obrázku 3 je schématicky znázorněna struktura stromu a vztahy mezi směrovacími objekty (regiony). Obr. 3: a) metrické dělení prostoru b) odpovídající struktura M-stromu Při operacích na M-stromu počítáme se dvěma faktory složitosti. Prvním je klasický počet přístupů na diskové stránky (resp. počet prohledávaných regionů), druhým specifickou novinkou M-stromů je počet výpočtů vzdáleností mezi objekty, což může být výpočetně náročná operace. Snahou je oba tyto faktory minimalizovat. 5
Fascinující vlastností M-stromů je fakt, že jimi lze indexovat prakticky cokoliv na čem může být zadefinována metrika (resp. vzdálenost). Tato obecnost je na druhé straně vykoupena dost složitým managementem štěpení a slučování regionů při základních operacích tak, aby zůstala zachována vysoká efektivita. 6.1 Dotazy V metrických stromech se setkáváme se dvěma typy rozsahových dotazů. Dotazy na vzdálenost vyhledají ty objekty, které leží do určité vzdálenosti od dotazovaného objektu. Dotazy na k-nejbližších sousedů zase vyhledají k dotazovanému objektu k jeho nejbližších objektů. V obou případech vidíme snahu o zavedení částečného uspořádání na objektech v metrickém prostoru vzhledem k dotazovanému objektu. Toto částečné uspořádání nám ilustruje onu lokální topologii metrického prostoru. 7 Závěr Představené struktury indexují multimediální dokumenty jako objekty vektorových, resp. metrických prostorů. Z hlediska dotazování je UB-strom vhodný pro přesné rozsahové dotazy, pomocí M-stromu můžeme dotazovat podobné dokumenty. UB-stromy (a vektorové metody obecně) jsou ideální pro indexování vektorových prostorů do dimenze přibližně 20. U vyšších dimenzí se začne projevovat tzv. prokletí dimenzionality (curse of dimensionality, viz [3]), typické pro vektorový model (např. R-stromy, UB-stromy, atd...), které přináší značně neefektivní rozsahové dotazy. M-stromy jsou vhodné zejména pro dotazování na podobnost. Nezanedbatelnou pozitivní vlastností je nezávislost na dimenzi a tudíž i eliminace prokletí dimenzionality typické pro vektorový model. Definice speciálních metrik umožňují různě interpretovat pojem vzdálenosti (resp. podobnosti) a indexovat data podle jejich povahy. Literatura 1. Pokorný, J., Snášel, V., Húsek D.: Dokumentografické informační systémy. Skripta Karolinum, Praha, 1998 2. Bayer, R.: The Universal B-Tree for multidimensional indexing: General Concepts. In: Proc. Of World-Wide Computing and its Applicazions 97 (WWCA 97 ). Tsukuba, Japan, 1997. 3. Böhm, Ch., Berchtold S., Keim, D.A.: Searching in High-dimensional Spaces Index Structures for Improving the Preformance of Multimedia Databases. ACM 2002 4. Ciaccia, P., Pattela, M., Zezula, P.: M-tree: An Efficient Access Method for Similarity Search in Metric. In: Proc. 23rd Athens Intern. Conf. on VLDB (1997) 6
Annotation: Geometric indexing and querying of multimedia data Indexing and querying multimedia documents si nowadays one of the hot topics within the area of Information Retrieval systems. The aim of this paper is to introduce two geometric methods of indexing and querying multimedia data. The first method exploits the vector representation of the indexed data while the second method treats the data as objects within a metric space. Thanks to the geometric representation we can reuse the existing mathematical apparatus and realize presented methods using recent data structures UB-tree in the case of vector model and M-tree in the case of metric spaces. Acknowledgements This work was supported by the Grant Agency of the Czech Republic through grant No. 201/00/1031 7