Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia Intézet
TUDOMÁNYOS DIÁKKÖRI DOLGOZAT
SKETCH4MATCH, INTERAKTÍV TARALOM ALAPÚ KERESŐRENDSZER
Szerzők:
Pozsegovics Péter mérnök informatikus szak, IV. évf. Szántó Balázs mérnök informatikus szak, III. évf.
Konzulensek:
Dr. Vámossy Zoltán egyetemi docens Sergyán Szabolcs ügyvivő szakértő
Budapest, 2010.
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Tartalomjegyzék 1
Absztrakt......................................................................................................................... 4
2
Bevezetés ........................................................................................................................ 5 2.1 Keresés képeket tartalmazó adatbázisokban ....................................................................... 5 2.2 Célkitűzés............................................................................................................................... 8 2.3 Alkalmazási lehetőségek ....................................................................................................... 9 2.4 Lehetséges problémák......................................................................................................... 11
3
Irodalomkutatás ............................................................................................................ 13 3.1 A multimédiás tartalmak leírása, indexelése, csoportosítása ............................................. 13 3.2 Hasonló rendszerek, felhasznált módszerek ....................................................................... 15 3.2.1 PhotoSketch................................................................................................................ 16 3.2.2 SketchToCollage ......................................................................................................... 18 3.2.3 Fuzzy-logika alapú visszakeresés ................................................................................ 20
4
Saját rendszerünk .......................................................................................................... 20 4.1 A rendszer globális felépítése .............................................................................................. 21 4.2 Az előfeldolgozó alrendszer................................................................................................. 22 4.2.1 Problémák................................................................................................................... 22 4.2.2 Megoldások ................................................................................................................ 23 4.3 A jellemző vektor előállító alrendszer ................................................................................. 27 4.3.1 A leírókkal kapcsolatos elvárások ............................................................................... 27 4.3.2 EHD – Élhisztogram leíró ............................................................................................ 28 4.3.3 HOG – Gradiens irány hisztogram .............................................................................. 32 4.3.4 SIFT – Jellemző pont detektor .................................................................................... 33 4.3.5 Az alrendszer specifikációja ........................................................................................ 35 4.4 A visszakereső alrendszer .................................................................................................... 36 4.4.1 Távolság alapú visszakeresés...................................................................................... 36 4.4.2 Osztályozás alapú visszakeresés ................................................................................. 37 4.5 Az adatbázis-kezelő alrendszer ........................................................................................... 37 4.6 A megjelenítő alrendszer – felhasználói felület................................................................... 38 4.6.1 Találatok szín szerinti csoportosított megjelenítése .................................................. 38
5
Tesztek és eredmények.................................................................................................. 39 5.1 A tesztelő rendszer .............................................................................................................. 39 5.2 A tesztelési szempontok, felhasznált mérőszámok ............................................................. 41 5.3 Minta adatbázisok............................................................................................................... 42 5.3.1 The Object Databank .................................................................................................. 42 5.3.2 FlickR160..................................................................................................................... 43 5.4 EHD leírók vizsgálata ........................................................................................................... 44 5.4.1 The Object Databank .................................................................................................. 44 5.4.2 FlickR160..................................................................................................................... 46 2
Pozsegovics Péter, Szántó Balázs
5.4.3
ÓE-NIK-IAR, 2010
Konklúzió .................................................................................................................... 47
5.5 HOG vizsgálata .................................................................................................................... 47 5.5.1 The Object Databank .................................................................................................. 48 5.5.2 FlickR160..................................................................................................................... 49 5.5.3 Konklúzió .................................................................................................................... 50 5.6 Összehasonlítás irodalmi adatokkal.................................................................................... 50 5.7 Többszintű visszakeresés SIFT leíró segítségével................................................................. 54 5.8 Találatok szín alapú osztályozása ....................................................................................... 57 5.9 Az eredmények értékelése, felhasználhatósága ................................................................. 58 5.10
Fejlesztési lehetőségek .................................................................................................... 58
6
Összegzés ...................................................................................................................... 59
7
Irodalomjegyzék ............................................................................................................ 61
3
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
1 Absztrakt A tartalom alapú keresés nagyon gyorsan, sőt hirtelen jelent meg a tudományos világban. Ezt a fejlődést lehetővé teszi az internet mindennapi elérhetősége, az egyre olcsóbb háttértárolók és legfőképp a felhasználók igénye az ilyen jellegű rendszerek iránt. A téma egy részterülete a skicc alapú tartalom visszakeresés, mely alapját egy szabadkezű rajz adja. Jelen dolgozat célja egy skicc alapú visszakereső rendszer felépítése és tesztelése, valamint a téma aktuális módszereinek elemzése, összehasonlítása. Saját rendszerünk olyan transzformációs lépést biztosít, mellyel, a kézzel rajzolt és a színes kép jellemző vektorát összehasonlíthatóvá teszi. Az algoritmusok hatékonyságát többszintű visszakeresési szisztémával növeli. A felhasználó számára szín alapján csoportosítja a megjelenő eredményeket, ezzel fokozva keresés élményét és megteremtve az interaktív jelleget. Kulcsszavak: content based image retrieval (CBIR), sketch based image retrieval (SBIR), shape matching, image indexing, edge histogram descriptor (EHD), histogram of oriented gradients (HOG), scale invariant feature transfrom (SIFT), distance transform (DT)
4
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
2 Bevezetés 2.1 Keresés képeket tartalmazó adatbázisokban Az információs technológia elterjedése előtt is óriási mennyiségű adatot kellett az emberiségnek kezelni, feldolgozni és tárolni mind szöveges, mind képi alapú információk terén. A számítógépek megjelenésével és gyors fejlődésével párhuzamosan egyre nagyobb adatmennyiséget kellett kezelni. Az adattárolók növekedése és az internet forradalma pedig egyenesen megváltoztatta a világunkat. Szembetűnő változás a multimédiás tartalmak mennyiségének növekedése, melyet elősegített a képmegosztó és közösségi portálok megjelenése is. Fontos nézőpont, hogy milyen hatékonysággal tudunk az információs halmazban keresni. Szövegek esetén rugalmasan kereshettünk kulcsszavak alapján, azonban ha a képekre kerül a sor, fel kell adni a dinamikus keresést. Két kérdés is felmerülhet: ki biztosítja a kulcsszavakat, illetve mindig jól le lehet-e írni egy képet kizárólag kulcsszavakkal? Nézzünk meg egy rövid példát a kulcsszavas keresés hátrányaira. Spanyolországban található meg a Sagrada Família bazilika, mely Barcelona egyik leghíresebb építészeti remekműve. Jellegzetes építmény mind alakja, mind története miatt. Általában az emberek négy dolgot jegyeznek meg erről: a híres építész Gaudí tervezte, Spanyolországban van, azt, hogy még mindig építik, illetve a jellegzetes alakját. Azonban tételezzük fel, hogy a keresést végző illető csekély háttérismerettel rendelkezik az épülettel kapcsolatban, viszont az alakját jól megjegyezte korábbról. Az 1. ábrán, a 2. ábrán és a 3. ábrán láthatunk pár próbálkozást a Google képkeresőjének használatával. Sok esetben, ha hatékonyan szeretnénk keresni, akkor bizonyos adatokat fel kell idézni. Az ember általában könnyebben fel tud eleveníteni vizuális információkat, mint például a lexikális tudást. Ha az előző példában lerajzolnánk templom tornyainak alakját, akkor a keresési időt minimálisra lehetne csökkenteni, ehhez azonban megfelelő keresőrendszer kellene.
1. ábra – Az első keresési próbálkozás. Három releváns találat látható (keresési eredmény első oldala).
5
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
2. ábra – Itt még nincs releváns találat (keresési eredmény első oldala).
3. ábra – Számos releváns találat. Még az építőről is megjelenik egy kép. Viszont itt rendelkezünk szöveges háttér információval.
Mivel az ember vizuális típus, ezért felvetődik, hogy keressünk képeket képek alapján. Ilyenkor olyan tulajdonságok alapján keresünk, mint színek, él-irányultságok, jellemző pontok, stb.; ezek veszik át a kulcsszavak szerepét. Jelenleg sajnos nincsenek széles körben elérhető kereső rendszerek, melyek egy példakép adott nem szöveges tulajdonságai alapján keresnek képeket. Miért lehet ez? Az egyik ok lehet talán, hogy a szöveg egy közvetlen, ember általi absztrakció. Könnyebb egyedi, de mégis jól azonosítható tulajdonságokkal felruházni egy szöveget. A képeknél
6
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
pont a hatalmas információ tartalom és ennek a kezelése okozza a problémát. A feldolgozandó tér óriási. A tartalom alapú kereső rendszerekkel kapcsolatos kutatások száma az utóbbi évtizedben jelentősen nőtt, ahogy a 4. ábra is mutatja. Számos innovatív publikáció, megvalósított rendszer látott napvilágot [11], [16], azonban az áttörés még várat magára. Azonban az általános alapelvek meglétével, ma már a kutatás a mélyebb problématerületek felé evez, mely a gépi látás, az információ visszakeresés és az adatbázis-kezelés elméletből születtek. Ezen terület talán legfőbb mozgató ereje az internet lehet. Az elérhető képek száma drámai növekedést mutat, amely megköveteli a hatékony indexelő és kereső eljárások használatát a digitális archívumoknál. Mindemellett a háttértárolók mérete és az adatok feldolgozási sebessége egyre nő, miközben az informatikai rendszerek ára egyre csökken. Ez a két fő mozgató erő viheti előre ezt a még gyerekcipőben járó kutatási területet.
4. ábra – A diagram az 1995 és 2004 között a Google tudós oldalán indexelt publikációk számának változását mutatja be. A publikációk száma normalizált. A kékkel jelölt függvény fejezi ki a képi visszakeresés címszóval indexelt publikációkat, pirossal jelölt függvény pedig a jellemző vektor címszóval megjelölt publikációkat [8].
Mivel a képi tartalom sokféle lehet, így érdemes a tartalom alapú kereső rendszereket különböző szempontok szerint kategorizálni. Ez segíthet a probléma hatékonyabb meghatározásában, mely egyre specifikusabb és eredményesebb megoldáshoz vezet el. A szakirodalom [35] a felhasználók tevékenysége alapján a tartalom alapú keresési rendszereket három jól azonosítható csoportba sorolja be: asszociatív keresés, célzott keresés, kategóriák szerinti keresés („search by association”, „aims the search”, „category search”). Az asszociatív keresési stílusú rendszereknél főleg óriási méretű, különböző osztályokra bontható képek halmazáról beszélhetünk. A keresés kezdetén általában még nincs kifejezett célunk a kereséssel kapcsolatban, csak elindulunk egy irányba, így a keresés általában iteratívvá válik, tehát több lépés szükséges ahhoz, hogy eljussunk egy végállapotba. Meg kell említeni, hogy e csoporthoz sorolható rendszerek nagymértékben interaktívak, ahol például a keresés alapja lehet egy skicc. A találatokat és magát a rendszert felhasználói visszacsatolással manipulálják, amelyben a találatok jóságát véleményezi a felhasználó.
7
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
A célzott keresés esetén pontos kép alakul ki a felhasználóban, hogy mi után kutat. Esetleg rendelkezik egy képpel, és az ezen lévő objektumokat keresi más képeken. Ezt példa szerinti keresésnek is nevezik [8]. Ilyen rendszerek bélyegek, művészeti tárgyak, gyári komponensek, katalógusok indexeléséhez illenek legjobban. A kategóriák szerinti kereséskor rendelkezünk egy képpel, mely adott képek egy osztályát reprezentálja. A kategóriák ilyenkor származtathatóak az adatbázisban tárolt képek címkéivel, mely meghatároz egyfajta besorolást, egy klasztert. Az ilyen rendszereket gyakran használják márkatermékek keresésére, nyilvántartására. Jellemző itt is az interaktivitás. Főleg objektumdetektáló és statisztikai minta-felismerő metódusok képezik a visszakeresést biztosító módszerek alapját [35]. A következőkben a különböző képtartományokról lesz szó. Képtartományként definiálhatjuk azt a környezetet, amely az adott feladattal kapcsolatban érdekel egy kép esetében. Két fő területet különböztethetünk meg. Az egyik a szűk tartomány („narrow domain”), a másik a széles tartomány („broad domain”) [35]. Egy a szűk képtartományba elhelyezhető kép nem változatos. A felvétel körülményei általában megegyeznek az egész képtartományra vetítve. Jellemző a fehér megvilágítás és a frontális nézet. Ilyen képeknél a jellemzők leírása általában jól definiált. Jó példaként említhető egy olyan adatbázis, ahol embereket fényképeztek szemből, tiszta hátérrel és egyenletes megvilágítással. A széles tartomány pont ellenkezője a szűk tartománynak, itt a kép megvilágítása, tartalma sokszínű, a képen elhelyezkedő objektumok változatosak. Az elérhető legszélesebb környezetként és tartományként az internetet említhetjük meg. Gondosan meg kell vizsgálni, hogy milyen kritériumok alapján választjuk ki a képekből a jellemzőket, hogyan tervezzük meg magát a rendszer egészét, mert biztosítani kell a robosztusságot a változatosság mellett. Például széles tartomány esetében a tényleges jellemzők és annak leírása között elég nagy a különbség, jó példa erre a kép színének elemzése egyenetlen megvilágításnál. Éldetektálás esetén is meg kell vizsgálnunk, hogy egy él valódi-e, vagy csak egy erősebb árnyék miatt döntött úgy a feldolgozó algoritmus. Láthatjuk, hogy a származtatott információ és a tényleges tartalom között kialakulhat egy szakadék. Vizuális keresés esetén fontos ennek a szakadéknak a méretét csillapítani, minimálisra redukálni. Egy lehetséges módszer, hogy ha a jellemzők kinyerését több lépésre bontjuk. Először az egyszerű tulajdonságokat vizsgáljuk meg, mint például a kép színe, majd egyre összetettebb szempontok irányában keresünk és nyerünk ki információkat.
2.2 Célkitűzés A skicc alapú visszakereséssel kapcsolatos kutatások számának növekedése ellenére sem alakultak ki máig széles körben elterjedt rendszerek, melyek a felhasználó által készített vonalrajz alapján keresnének. Célunk egy olyan tartalom alapú asszociatív keresőmotorra épülő rendszer kifejlesztése, amely bárki számára elérhető adatbázisokból keres vissza szabadkézi rajz alapján. A felhasználónak tehát egy rajzfelület áll a rendelkezésére, amelyre lerajzolhatja mindazokat az alakzatokat, momentumokat, amelyeket elvár, hogy nagyjából az adott helyen és méretben előforduljon a keresett képen. Fontos megemlíteni, az elsődleges célunk, hogy a keresés egyszerű képekre működjön. Egyszerű alatt itt viszonylag homogén, illetve könnyen kiszűrhető hátteret és azon jól elhatárolható objektumot, esetleg momentumot értünk, melyet jól reprezentál az alakja, így könnyű lerajzolni az átlag felhasználó számára is. Rendszerünkkel a megvilágításból és a kép méretéből adódó eltérések okozta problémákra is megoldást kívánunk nyújtani. Későbbi céljaink közt szerepel a több objektumot tartalmazó képekre való alkalmazás is.
8
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
2.3 Alkalmazási lehetőségek Rajz alapján kereső rendszereket az élet számos terén fel lehet használni, sőt már léteznek erre törekvések is. Számos helyzetben a gondolatainkat csak rajzok segítségével tudjuk igazán felidézni. A következőkben megvizsgálunk néhány lehetséges felhasználási területet, működő ám nem széles körben publikus alkalmazást. A CBIR rendszerek nagy jelentőséggel bírnak a bűnüldözés terén. Ilyen eszközökkel támogatható fantomképek, tetoválások és graffitik hatékonyabb azonosítása. Számos bűntény esetén csak szemtanúk tudnak információkat szolgáltatni az elkövetőről. Sok esetben adnak személyleírást a tettes arcáról és külsejéről, melyek alapján a megfelelő módszerek segítségével előállítják az elkövető fantomképét és profilját (lásd 5. ábra). Az elkészült képet megpróbálják összehasonlítani a hatóságok képi adatbázisai alapján elkészített fantomképes adatbázisával [25]. Ezen felül használnak graffitik [21] és tetoválások [20] azonosítására is képkereső rendszereket (lényegében a graffiti és a tetoválás is egy színes vagy fekete-fehér skicc), így könnyebben be tudják azonosítani az elkövetőket.
5. ábra – Fantomképek azonosítása mindig is fontos feladat volt. Az itt látható ábra egy tesztadatbázisból pár elem [25].
Egy szentpétervári múzeum (The Hermitage Museum) kiállított képeit tartalmazó digitális adatbázist is megtámogatták képi tartalom alapú keresőmotorral, mégpedig az IBM által kifejlesztett QBIC (Query by Image Content, tehát lekérdezés a képi tartalom alapján) segítségével [1]. Ez a rendszer kétféle keresést tesz lehetővé. Kiválaszthatunk színeket palettáról, illetve egyszerű alakzatot helyezhetünk el egy vásznon (lásd 6. és 7. ábra) [45]. A keresési metódusukat így jellemzik röviden: „Olyan vizuális eszközök segítségével keresni, mint amikor egy művész is dolgozik”.
9
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
6. ábra – QBIC rendszer kezelőfelülete, amikor színelrendezés és alak szerint kereshetünk [45].
7. ábra – Egy lehetséges keresés eredménye a QBIC segítségével [45].
Végül pedig egy híres kép és videó megosztó portált mutatunk be, a FlickR-t [48]. Az általuk biztosított webes környezetben meg lehet osztani saját fényképeinket, videóinkat különböző emberek, csoportok számára. A képeket címkékkel láthatjuk el, ezek alapján kereshetünk. A FlickR fiók egyszerűen elérhető mobiltelefonról, és könnyen össze lehet kötni közösségi portálok fiókjaival. A megosztó portál minőségét a több mint 3 milliárd feltöltött kép fémjelzi. Felmerült bennünk a kérdés, hogy miért csak kulcsszavak alapján lehet keresni. A belső FlickR fórumokon számos témát találtunk, melyben több felhasználó is leírja, hogy igényelnének képi tartalom alapú
10
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
keresést is. Több indokot is felsorakoztatnak, például gyorsabban lehetne keresni az új módszerek segítségével, de vannak olyanok is, akik ebben a szórakozás egy fajtáját látják. Többek pedig nemtetszésüket fejezik ki, hogy az önhatalmú felcímkézés által a keresés sok irreleváns találatot ad, és ezért kellene új módszereket bevezetni. Egy megoldásként el is hangzott a skicc alapú keresés, melyre az oldal üzemeltetői is reflektáltak. Szerintük egy ilyen átállás hatalmas költségekkel járna.
2.4 Lehetséges problémák A valós jelenetek számítógépen való ábrázolásához először digitális formára kell hoznunk azokat. Így nyerhetünk ki belőlük a későbbiek folyamán számunkra fontos adatokat, például szín, textúra vagy él-irány jellemzőket. Azonban, ha megvizsgáljuk a digitalizálás folyamatát, láthatjuk, hogy ez egy olyan leképzés, ahol sok múlik a pontosságon. Tehát mérvadó az, hogy milyen részletességgel alakítjuk lényegében egy számhalmazzá az adott képet, mert ettől a pontosságtól függ a kép későbbi információtartalma. Jogos lehet az észrevétel, hogy ezzel a lépéssel információtól esünk el, azonban ez elkerülhetetlen, és így alakul ki az úgynevezett szemantikai rés („semantic gap”) [35]. Ezzel eljutottunk a tartalom alapú kereső rendszerek fő kihívásához: következtetni a kép tartalmára pusztán mérésekből és számokból. Mivel fekete-fehér rajzok, vagyis élképek alapján végezzük a keresést, és eredményként színes képeket szeretnénk kapni, így legfontosabb feladatunk a rajzolt és a színes kép közötti információs szakadék áthidalása, melynek segítésére saját transzformációs folyamatot fejlesztettünk ki. Ezután lehetőséget biztosítunk, hogy a rendszer felhasználási folyamata iterálható legyen azáltal, hogy az aktuális eredmények alapján újra tudjunk keresni, így növelve a precíziót. További fejtörést okozhat az a tény is, hogy a különféle módszerek és a felhasználó nem feltétlen ugyanúgy ítéli meg az egyes részletek fontosságát a visszakeresés szempontjából, ez pedig nagymértékben befolyásolhatja az eredmény relatív pontosságát. Tehát előfordulhat, hogy irreleváns információkat (itt éleket) felnagyít a felhasználó azzal, hogy olyat is lerajzol, amit nem volna muszáj, viszont le is hagyhat fontos részeket, amelyek azonban a kívánt találatok előállításához fontosak lennének. Ezzel kapcsolatosan felvetődik a következő probléma: mennyire reprodukálható egy kép lerajzolva. Könnyű belátni a 8. ábra alapján is, hogy az ember nemigen tudja eldönteni, hogy hol álljon neki ezeket a képeket fehér háttéren fekete vonalakkal lerajzolni. Amint azt a céloknál leírtuk, nem a 8. ábra látható képekhez hasonlóak megtalálása a fő elvárásunk, azonban még az említett megkötésekkel is könnyűszerrel találhatunk olyan képeket, amelyekre nem mindig magától értetődő, hogy milyen rajz alapján történő keresésre kaphatjuk meg találatként. A 9. ábrán látható képek megfelelnek az álalunk támasztott kritériumoknak, azonban még így sem olyan triviális feladat a skiccrajzolás.
8. ábra – Egy kép ábrázolása vonalrajz segítségével közel sem egyértelmű feladat [29].
11
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
9. ábra – Hasonló komplexitású képeket szeretnénk visszakeresni [19].
Nem hagyhatjuk figyelmen kívül a sebességet sem. Olyan módszereket kell alkalmaznunk, amelyek viszonylag gyorsan értékelhető eredményt tudnak szolgáltatni. Ezen felül a visszakeresés eredményét szín alapján csoportosítjuk a kedvezőbb átláthatóság érdekében. Összefoglalva látható, hogy a feladat komplex, azonban a módszerek tárháza is igen széles. A következő részben kitekintünk a hasonló rendszerekre. Megnézzük, hogy milyen módszerekkel milyen eredményeket értek el, majd ezt követően a saját programunknál felhasznált algoritmusokat mutatjuk be, összehasonlítjuk más rendszerekben használtakkal, végül értékeljük eredményeinket.
12
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
3 Irodalomkutatás A fejezet keretein belül multimédiás tartalmak indexelésével kapcsolatos ismereteket mutatunk be, és megvizsgálunk mind skicc alapú, mind színes képekkel működő kereséssel kapcsolatban álló rendszereket. Az ezekhez kötődő cikkekből, implementációkból számos jól működő módszert, algoritmust ismerhettünk meg, melyek saját megközelítésünk alapjául szolgáltak.
3.1 A multimédiás tartalmak leírása, indexelése, csoportosítása A következőkben a jellemző vektorokról, leírókról lesz szó. Jellemző vektornak nevezhetjük azokat a leíró adathalmazokat, melyek úgy jönnek létre, hogy egy képből bizonyos vizuális tulajdonságok, aspektusok alapján információt gyűjtenek össze és azt számszerűen reprezentálják [8]. Ezeket a jellemző vektorokat szokás még leírónak is nevezni. Magukat a jellemzőket két osztályra bonthatjuk. Léteznek globális jellemzők, melyek magáról a kép egészéről adnak információt, és léteznek lokális jellemzők, melyek a képpontok kisebb halmazáról szolgálnak információval. A globális reprezentáció esetén a teljes kép karakterisztikájáról szeretnénk adatot gyűjteni. Például a színelrendezés-leíró segítségével a képeken előforduló domináns színek felhasználásával csoportosíthatjuk képi adatbázisunkat [2]. A globális jellemzők legnagyobb előnye, hogy egyszerűbbek, így kevesebb számítási teljesítményt igényelnek. Viszont általános helyzetekben nem robosztusak, így csak megfelelő körülmények között lehet hatékonyan felhasználni azokat. A lokális leírók előállítása esetében a képet felosztják kisebb, általában nem-átfedő blokkokra, és az egyes blokkokból kinyert tulajdonságok alapján generálnak egy-egy leírót. Megkülönböztethetünk színből, objektumból, alakból, textúrából, elrendezésből adódó jellemzőket és jellemzőpont leírókat is [8]. Vizsgálhatunk egy képet azáltal, hogy megnézzük, milyen domináns színek alkotják, illetve ezek hogyan helyezkednek el. Esetleg bizonyos objektumokat szeretnénk megtalálni több képen is az objektum jellemzőpontjai alapján [39]. Ha textúra alapján keresünk vissza, akkor nem csak az alakokat vesszük figyelembe, hanem azok által közrezárt területeken lévő pixeleket is [47]. Itt csak pár egyszerű leírási szempont hangzott el. Azt, hogy melyik jellemzőket használjuk és milyen kombinációban, mindig az aktuális feladattól függ. A tartalom alapú keresésen belül minden feladat egy új nézőpontot igényel. Ezért szoktak gyakran különféle leírókat együttesen alkalmazni, melyeket különböző súllyal vesznek figyelembe a visszakeresés során. Ez a megközelítési mód jelentősen megnöveli a megoldás komplexitását. A 10. ábrán láthatjuk a jellemzővektor előállítási folyamatot. A szövegekkel ellentétben a hang- és mozgókép-tartalmakat még nem lehet automatikusan katalógusba rendezni. Az multimédia-tartalmakra sokáig nem létezett általános leíró formátum. Ezt az űrt az 1996-ban létrehozott MPEG-7 szabvány [47] hivatott betölteni („Moving Picture Experts Group”). Az MPEG-et kifejezetten multimédiás tartalmak leírására fejlesztették ki. Az ISO/IEC 15938 szabvány teljes neve: Multimédia Tartalom Leíró Interfész. A szabvány 10 részből áll, külön részekben vannak definiálva például a rendszereszközök, a leírás definíciós nyelv, a vizuális, az audió és a multimédia leírások és leírási sémák. A 11. ábrán látható, ahogy a leírók leírási sémákba rendeződnek, mindezek szintaxisát és szemantikáját a definíciós nyelv adja meg, amely a bővítés lehetőségeit is tartalmazza. A konkrét példányosítás során címkézett (XML) leírások készülnek, amelyek a szállítás és tárolás számára bináris reprezentációba alakíthatóak. Az MPEG-7 által definiált leírókat nem osztálykönyvtár formájában adják meg, hanem mint egy interfész leírást, amit nekünk kell megvalósítani. Lényegében egy ajánlást, szabványt kapunk.
13
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
10. ábra – A képi tartalom kinyerésének sémája [8].
11. ábra – MPEG-7 fő elemei és kapcsolatuk [36].
Az osztályozás, mint téma igen összetett, mivel meglehetősen nehéz behatárolni, hogy két kép az élei alapján például mikor hasonló. Teljesen egyértelmű választ csak nagyon ritkán lehet alkotni.
14
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Hogyan fogunk mégis elfogadható eredményekre jutni? Elsőre jön az ötlet, hogy illesszük egymásra az ismertetőjeleket reprezentáló adatsorokat, azonban ez korántsem ilyen egyértelmű. A számítógépnek precíz definíciókra van szüksége. A probléma abban gyökerezik, hogy képtelenség az előforduló összes tulajdonság kombinációt előállítani, majd betanítani egyedi szabályokat az egyes esetekre. Kénytelenek leszünk feltételezésekkel élni a keresési térre vonatkozóan, mert ha nem tesszük, akkor nem lesznek szabályaink az addig nem látott mintákra. További problémákat vet fel a képekre ülő zaj, amely hamis információkkal vezetheti félre a rendszert. Az ilyen esetek bizonyítják a kép előfeldolgozásának fontosságát. Egységes megoldást nem fogunk találni, a szabályokat az adott feladat jellege határozza meg. Egy tartalom alapú kereső rendszernek meglehetősen kiterjedt osztályozó mechanizmussal kell rendelkeznie, hogy képes legyen hatékonyabban ellátni a célját. Visszacsatolással fenntarthatjuk a tanulási folyamatot.
3.2 Hasonló rendszerek, felhasznált módszerek A skicc alapú képi visszakeresés (Sketch Based Image Retrieval) a ’90-es évek közepén jelentkezett az IBM által fejlesztett QBIC és a VisualSeek rendszerek formájában [1]. Ezeknél a kezdeti programoknál a felhasználó egy színes képet rajzolt (2-4 szín elrendezése; innen ered az angol „blob” elnevezés is). Az egyes képeket cellákra („grid”) osztották, és ezekre határoztak meg szín és textúra jellemzőket. Későbbiekben a cellák alkalmazását több alakleírási algoritmusnál is felhasználták, mint például az ARP módszer, illetve az általunk is használt EHD esetén. A kép felbontása helyett, akár az egyes objektumpixelekhez is rendelhetünk felosztást (lásd 12. ábra). A módszerek nagy hátránya, hogy csak limitált esetekben nyújtanak invarianciát forgatással, skálázással és eltolással szemben. Az utóbbi időben nagyobb hangsúlyt fektettek bonyolultabb leírási módok kifejlesztésére [17]. Egy minta adatbázisra előállítanak jellemző vektorokat (szavakat), amikből felépítenek egy szótárat (Bag of Words). Az összehasonlításnál használt tényleges leírókat az egyes képeken megjelenő szavak gyakorisága befolyásolja. A másik főbb kutatási irány a fuzzy-logika és a neurális hálózatok beépítése a tartalom alapú keresőrendszerekbe. A cél egy olyan következtető rendszer létrehozása, mely az egyes régiókra kiszámított jellemzőket megfelelően súlyozza. Ezt pedig hatékonyabb, automatikus paraméter meghatározó egységgel támogatták meg. A fejezet további részében ismertetjük a terveinkhez közel álló rendszerek leírási és tervezési módszereit. Vizsgálunk egyszerű távolságon és bonyolultabb, tanuláson alapuló visszakeresési technikával felruházott megoldásokat.
12. ábra – Több különböző felbontási sémát is lehet alkalmazni [17].
15
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
3.2.1 PhotoSketch Mathias Eitz, Kristian Hildebrand, Tamy Boubekeur és Marc Alexa készítette a rendszert 2009-ben [11], [12]. Közösségi videó megosztó oldalon bemutató jelleggel feltöltött videókat találhatunk a rendszerükről, mely a portál felhasználóinak körében nagy népszerűségre tett szert [13]. A 13. ábra a rendszer működését a felhasználó szemszögéből mutatja be. A felhasználói felületen találhatunk egy rajzterületet. Itt készíthetjük el azt a rajzot, ami alapján indul a visszakeresési folyamat. Mint a rendszer neve is sugallja, egyszerű skicceket készíthetünk. Ha elindítjuk, rövid idő alatt a képernyő jobb oldalán megjelennek a legjobb találatok a színhisztogramjaik alapján csoportosítva. Ha kiválasztunk egy képet, az megjelenik a rajzlapon és akár arra a képre is rárajzolhatunk, így pontosíthatjuk a keresést. A másik lehetőség pedig, hogy az eredményképek közül egyet elhelyezünk a rajzfelületen, majd keresünk egy új képet. Ilyenkor a két képet összeilleszthetjük úgy, hogy a második képről kijelölünk egy területet, és azt a program próbálja beleilleszteni az általunk választott helyre az első képen. Az előzőleg prezentált két funkció hatására a rendszer nagymértékben interaktívvá válik.
13. ábra – A rendszer alapvető működése [11].
Technikai oldalról közelítve a nagyjából 1,5 millió képet tartalmazó adatbázissal rendelkező rendszer négy fontos modulból áll – a grafikus megjelenítéssel most nem foglalkozunk. Ezek a jellemzőleíró, a találatosztályozó, a képek kompozíciójának előállításáért felelő és az architekturális kérdéseket kezelő almodul. A cél az volt, hogy olyan leírót készítsenek, amely mind színes képekre, mind pedig skiccekre ugyanolyan jól működik. Először a színes képről el kell távolítani a színátmenetekből, képtömörítésből adódó fals és gyenge intenzitású éleket. Küszöbnek a maximális gradiens nagyságának öt százalékát definiálták. Több változatát is elkészítették az MPEG-7 élhisztogram leírónak (EHD), végül úgynevezett tenzor leírónál maradtak (lásd 14. ábra) [12]. Cellákra felosztott kép esetében minden cellában meg kell találni egy olyan vektort, amely leginkább párhuzamos a kép ugyanazon cellájában található gradiensekkel. Ez a vektor fogja az adott cella struktúráját reprezentálni. Segítségül a struktúra tenzort használják fel. A struktúra tenzor a parciális deriváltak mátrixreprezentációja (lásd 1. kifejezés, ahol Ix az x irányú, Iy pedig az y irányú parciális deriváltja az I képnek). 16
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
[
]
1. kifejezés – Parciális deriváltak mátrixreprezentációja.
A leírás szerint meg kell találni az egyes cellák esetében a legnagyobb és legkisebb sajátvektorokat. Ezek fogják reprezentálni az egyes cellákat. A jellemzők közötti hasonlóságot, a megfelelő cellák Euklideszi távolságának összege reprezentálja.
14. ábra – A tenzor leíró ábrázolása ellipszis reprezentáció segítségével [12].
15. ábra – Az eredmények klaszterezett megjelenítése [11].
Mielőtt megjelenítették volna a visszakeresés eredményeit a felhasználó számára, előtte a találatokat osztályozták a színhisztogramjuk alapján (lásd 15. ábra). A klaszterezésre a K-közép
17
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
algoritmust (K-means) használták fel [22]. Ennek hatására sokkal átláthatóbb megjelenítést biztosít a rendszer a felhasználó számára. A 1,5 milliós adatbázissal működtetett rendszerbe csak olyan képek kerültek be, melyek 4:3 képaránnyal rendelkeztek és elérték a 640x480-as felbontást. A képeket JPEG formátumban tárolták, a mentés előtt azonban átskálázták a képeket a *640-1024]x[480-768] intervallumra. Ennek következtében egy átlagos fájl 250 kB tárterületet foglalt el. A szervert két darab 4-magos 2.8 GHz-es processzor működtette, melyhez 32 GB memória társult. A vizuális leírókat a szerver induláskor betöltik a memóriába (1 kép átlagosan 9 kB memóriát foglal el). Az elemek keresésére egyszerű lineáris keresést használnak. Az adatbázis leíróit előre kiszámították. Ezen a szerverkonfiguráción 1 másodperc alatt 70 képet dolgoztak fel. Ez a rendszer rengeteg inspirációt adott számunkra. Itt főleg a program logikája látványos és tanulmányozandó, mint a háttérben meghúzódó módszerek összessége. A mi rendszerünkbe más vizuális tartalom leírót implementáltunk, azonban átvettük a találatok klaszterezésének ötletét, mivel így lényegében megvalósítunk egy színhisztogram alapú visszakeresést is, olyan módon, hogy a feladat komplexitása nem növekszik. Meg kell említeni, hogy a rendszer egyik nagy hátránya, hogy memóriába tölti be szimplán a leírókat és csak lineárisan keres. Nem használnak feladatspecifikus adatszerkezetet, melyekkel a keresést lényegesen fel lehetne gyorsítani, így javítva az erőforrás kihasználás hatékonyságán. Egy másik negatívum, hogy nem hivatkoznak a teszteknél pontosan arra, hogy milyen paraméterrel és melyik adatbázissal tesztelnek, így saját rendszerünkkel nem tudjuk pontosan összehasonlítani.
3.2.2 SketchToCollage Egy festőművész, amikor elkapja az ihlet, azt leggyakrabban két jellegzetes módon próbálja leírni. Az egyik gyakori megoldás egy gyors skicc-szerű rajz készítése („Croquis”), aminek segítségével könnyen fel tudják idézni az adott jelenetet. Számos esetben pedig egy színekből álló kompozíciót rajzolnak („Pochade”), mely segítségével az ötlet hangulatát és a jelenet térbeliségét örökítik meg [32]. Mivel a képen található erős élek nagy számban korrelálnak a felhasználó által rajzolt skiccel, így látszólag könnyű kapcsolatot teremteni a színes és rajzolt kép között, mivel csak határvonalakat kell detektálni. Az előzőleg leírt ötlettel találkozhatunk a következő publikációkban is [16]. A keresőrendszer egyszerre használja a szín és alak információkat. A Sketch-to-Collage rendszer, ahogy a neve is sugallja, kép kollázsokat állít elő, olyan módon hogy több képből lehetőséget ad objektumok kivágására és azok beillesztésére egy másik alapképre. A szükséges alapképeket egy visszakeresési folyamat szolgáltatja, melynek alapja egy, a felhasználó által rajzolt színes kép. A következőben megvizsgáljuk a felhasználó szemszögéből a rendszer működését (lásd 16. ábra).
18
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
16. ábra – Láthatjuk a rendszer alapvető funkcionalitását [16].
A rajzolás folyamata során annyi visszakeresés történik, ahányszor felemelik a rajzoló ecsetet. Ez a funkció egyfajta interaktivitást biztosít, és egyben tükrözi is a visszakereső rendszer gyorsaságát. A találati listából ki lehet választani képeket, a rajta levő objektumokat pedig szabadon beilleszthetjük az alapképre. Így fog előállni a folyamat végére a fotókollázs. A rendszer 3 fő modulból áll, a szegmentáló modulból, a visszakereső modulból és kompozíciókészítő modulból. A következőkben ezt fogjuk megvizsgálni. A képeket első lépésben a K-közép klaszterező algoritmus (K-means) segítségével szegmentálják [22]. Az osztályozó módszer használata esetén tisztában kell lenni, hány klaszterbe szeretnénk osztani az adott adathalmazt, jelen esetben a pixelek intenzitását a L*a*b* színtérben [23] reprezentáló vektort. A felhasználói felületen 14 szín található meg, amelyet az adatbázis adatai alapján határoztak meg, mint szignifikáns színek. A szegmentálásnál használt osztályok száma az aktuális képtől és e 14 alapszíntől függ. A döntést minden esetben egy előre betanított neurális hálózat végzi el. A módszer segítségével meghatározhatjuk, hogy mely színek szerepelnek a képen az alapszínek közül. A klaszterezéssel járó hibát pedig egy 3x3 méretű ablak alkalmazásával eltüntethetjük úgy, hogy az ablakon belül a középső intenzitás helyére a környezetében lévő leggyakoribb értéket helyettesítjük be. Minden egyes szegmensre meghatározásra kerül egy jellemző leíró, mely tartalmazza az objektum súlypontját, a teljes kép területét és a kép azon részét ábrázoló doboz területét, amely magában foglalja az adott objektumot. Ezek mellett szerepelnek a fent említett alapszínek megjelenési értékei az objektumon, illetve az objektumhatárokat reprezentáló élek nagysága és iránya is megjelenik. A rendszer két jellemzővektort Euklideszi távolság segítségével hasonlít össze. Minél kisebb lesz a kapott érték, annál hasonlóbb a két objektum. A bemutatott rendszer remek példa arra, hogyan lehet különféle jellemzőket összekombinálni és hatékonyan alkalmazni. A színtulajdonságok felhasználása pedig egy kiváló ötlet.
19
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
3.2.3 Fuzzy-logika alapú visszakeresés A tartalom alapú keresésben az egyik legígéretesebb próbálkozásoknak a tanuláson, illetve szabálybázison alapuló rendszerek fejlesztése tűnik, mivel ez az irányvonal próbálja modellezni az emberi érzékelést. Ha ránéz az ember egy képre, akkor nyilvánvalóan lesznek a felhasználó számára fontosabb területek. Előfordulhat, hogy a textúrák képviselnek domináns megjelenést, esetleg a színátmenetek, vagy a kontúrok futása. A rendszer célja, hogy a képeken meglévő különböző régiókat és ezeket leíró jellemző vektor adott elemeit megfelelően súlyozza, ezáltal növelve a visszakeresés hatékonyságát. A következőkben felvázoljuk az IRFUM elnevezésű rendszer felépítését, működési logikáját [26]. A fuzzy logikával az emberi következtető rendszert leképezik egyszerű „ha-akkor” szabályokra. Egy külső szakértő segítségével a bemenő-kimenő adatok alapján megfigyeléseket teszünk, például kiértékeljük, hogy melyik inputhoz melyik output tűnik a legjobb megoldásnak. A szabályokat egy tanító algoritmus állítja elő a fenti következtetések alapján. Mielőtt rátérünk a tanítás felépítésére, vizsgáljuk meg a globális rendszer életciklusát. Először előállítjuk a képekre előre definiált szabályok szerint elkészíthető leírókat. Az eredmény vektor a fuzzy következtető rendszer bemenete lesz, mely kimenetén egy a leíróval megegyező hosszúságú súlyvektor jelenik meg, így határozzuk meg melyik érték mennyire releváns egy jellemzőben. A rendszer tervezői megtehették volna, hogy minden jellemzőhöz csak egy súlyt rendelnek (egy konkrét értéket), de azt tapasztalták, hogy egy leíró hosszúságú súlyvektor hozzárendelése esetén a rendszer precízebb lesz. A tanítási folyamat során kiválasztanak az adatbázisból véletlenszerűen N darab képet az adatbázis egy Nq részhalmazából. Egy külső felhasználó – nevezzük szakértőnek – megvizsgálja az N darab képet, hogy az egyes Nq-béli képekhez mennyire hasonlít. Ezt egy számmal jellemzi, így minden véletlenül választott képhez legenerál egy S mátrixot, amely tartalmazza, hogy az adatbázis kiválasztott részhalmazában lévő képek mennyire hasonlítanak az adott képhez. Ezek után egy F függvény segítségével előállítja a képhez tartozó súlyvektort. Amint az N elemhez előállították a súlymátrixokat, Fuzzy C-Means [15] segítségével klaszterezik a súlymátrixokat, így megállapítják a szabályok számát. A tanítás során egy 59600 elemből álló adatbázisból választottak ki véletlenszerűen 2000 képet, mint tanító adatbázis. A 2000 képet egyszerű osztályozás segítségével 20 osztályra bontották. Heurisztikusan kiválasztottak tehát osztályonként 10-10 képet. Állításuk szerint, klaszterenkénti 10 mintakép elegendő a hatékony tanításhoz. A rendszerüket összehasonlították több hasonló rendszerrel, többek között egyszerű Euklideszi távolságot figyelővel, illetve klaszterezésen alapuló módszereken használóval is. Teszteredményeik szerint a fuzzy logika beiktatásával nőtt a visszakeresés pontossága. A saját rendszerünk szempontjából mindenképpen érdekes ez a megközelítés. Mind a vektorok súlyozását tekintve, mind a vektortér lecsökkentését figyelembe véve. Azonban több probléma is felmerül, például a tanító adatbázis elkészítése, melyre ők is csak heurisztikus módszereket tudtak felhasználni.
4 Saját rendszerünk A fejezeten belül ismertetjük a rendszerünk globális felépítését. Megvizsgáljuk, hogy milyen építőelemekből alkotják és hogyan kapcsolódnak, kommunikálnak egymással. Részletesen bemutatjuk az alrendszerek funkcionalitását és az ezeket megvalósító algoritmusokat. Mielőtt rátérnénk a rendszer globális felépítésére, bemutatjuk a tervezési szempontjainkat, amelyet egy tartalom alapú kereső rendszer elkészítése esetén mindenképpen figyelembe kell venni [7].
20
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
A rohamosan növekvő és elterjedő publikus képi adatbázisok miatt megoldást kell találni a hatalmas elemszámú adathalmazok hatékony indexelésére és visszakeresésére. A visszakeresés minősége mellett fontos szerepet kap a sebesség kérdése is. A képek diverzitásából, mint fájlméret, fájlformátum, felbontás, valamint a zajokból fakadó problémákkal szemben robosztusnak kell lennie a rendszernek. Fontos az interaktív kezelőfelület, illetve fel kell frissíteni a hagyományos adatkezelési és megjelenítési módszereket. Végül biztosítani kell egy felületet és mérőszámokat a tesztelés számára, így mérve a rendszer hatékonyságát. Elvárásunk volt, hogy az egyes alapelemek egyszerűek és moduláris felépítésűek legyenek, illetve, hogy a kommunikáció a modulok között pontosan meghatározott interfészek segítségével történjen. Tehát a kisebb változtatás ne tegye szükségessé a rendszer egészének nagymértékű változtatását.
4.1 A rendszer globális felépítése A rendszer építőelemei közé tartozik az előfeldolgozó alrendszer, mely a képek diverzitásából fakadó problémákat küszöböli ki. A jellemző-vektort előállító alrendszer segítségével, adatsorokkal reprezentáljuk a képünket adott tulajdonság alapján. Az adatbázis-kezelő alrendszer segítségével egy csatoló felületet biztosítunk az adatbázis és a program között. A visszakereső alrendszer fogja a jellemző vektorok és a példakép alapján szolgáltatni a válaszlistát a felhasználó számára a megjelenítő alrendszer segítségével. A rendszer globális felépítését a 17. ábra mutatja. A tartalom alapú keresést, mint folyamatot két fő fázisra oszthatjuk. Az egyik az adatbázist építő fázis, melyben az előre feldolgozott képekről fogjuk tárolni az adatokat jellemző-vektorok formájában – ez a program „off-line” része. Az elnevezésből lehet következtetni, hogy itt kerül sor a számításigényes feladatokat végrehajtására. Ezeket a feladatokat még a program tényleges felhasználása előtt el kell végezni. A másik ilyen fázis a visszakeresési folyamat, amely a program „on-line” egységének számít.
17. ábra – A rendszert építő elemek és kapcsolataik.
21
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Vizsgáljuk meg a rendszer adatfolyam-modelljét a felhasználó nézőpontjából, amelyet a 18. ábrán láthatunk szemléletesen. A felhasználó először rajzol egy skiccet vagy betölt egy képet. Ha elkészült a rajz vagy betöltődött a megfelelő reprezentáns rajz, akkor elindul a rendszerünk. Az első lépésben a kép egy előfeldolgozó lépésen esik át (az adatbázisban szereplő képeket már offline módban feldolgoztuk). Ezek után előáll a jellemző vektor, ami alapján történik a keresés az adatbázisban. Az eredmény a találati halmaz, amely rendszerezett formában jelenik meg a felhasználói felületen. Az eredményképek alapján újra kereshetünk egy másik, az előzőtől jellegében eltérő leíró segítségével. Ez jelent egy felhasználási ciklust.
18. ábra – A rendszer adtafolyam-modellje a felhasználó szemszögéből.
4.2 Az előfeldolgozó alrendszer 4.2.1 Problémák A rendszert viszonylag egyszerű képeket tartalmazó adatbázisokra terveztük, de még az ilyen esetekben is nagy különbségek fordulhatnak elő. Az egyes képek lehetnek zajosabbak, különbözhetnek a megvilágítás mértékében és irányában is. Ilyen körülmények között a jellemző vektorokat nem lehet hatékonyan összehasonlítani, így kifejlesztettünk egy olyan módszert a képek előfeldolgozáshoz, mely lehetővé teszi azok összehasonlítását egy CBIR rendszerben. A 19. ábra jól szemlélteti a problémát.
19. ábra – Megvilágítás és nézőpontbeli különbséggel szemben robosztussá kell tenni a visszakeresést [35 ].
22
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
A skiccet és képet azonos formára kell hoznunk, így az előfeldolgozás az egyik legfontosabb lépés a rendszerben. Ha nem kapjuk meg a fő éleket, vagy számos fals határélt detektálunk, akkor az adatbázis-leírók és a skicc leírója között bővül a szakadék. Számos megközelítést megvizsgáltunk, számos adatbázissal teszteltünk, a következőkben erről fogunk írni.
4.2.2 Megoldások Amint azt korábban említettük, számos kísérletet tettünk annak érdekében, hogy a képeket olyan formátumra hozzuk, amely könnyedén összevethető egy kézzel készített vonalrajzzal. Tapasztalataink azt mutatták, hogy a legtöbb – számunkra – káros hatást a megvilágítási adottságok, illetve a textúrák generálta káros élszakaszok okozzák, ezért ezen jelenségek befolyását törekszünk lecsökkenteni a lehető legjobban. Az itt vázolt lépéseket az adatbázisban szereplő minden képre végrehajtjuk. A skiccek előfeldolgozásához a lépések egy része szükségtelen, erre magyarázat közben majd kitérünk. Módszerünk lépéseit a 20. ábrán látható blokk diagram szemlélteti. Annak érdekében, hogy a későbbiekben elkészülő leírók az egyes képek ugyanakkora területéről adjanak információt, áttérünk egy egységes képméretre. A 21. ábra szemlélteti a kezdőállapotot.
20. ábra – Az előfeldolgozás lépései.
21. ábra – Példa a FlickR160 adatbázisból.
A fényviszonyok javítására a képek hisztogramját kiegyenlítjük, ezzel némiképp javítva a kép színösszetételén (lásd 22. ábra). Ez a lépés a megvilágítási körülményeken hivatott javítani, de a
23
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
kép ezen adottságán utólag változtatni csak kismértékben lehet. Tapasztalataink azt mutatták, hogy a későbbi éldetektálást ezzel fel lehet valamelyest javítani. Következő lépésként a textúrákat szűrjük ki azáltal, hogy redukáljuk a képen előforduló színek mennyiségét (lásd 23. ábra). A textúrák tulajdonságai közé tartozik, hogy ismétlődő, kevés színből álló pixelekből állnak, így ezzel a mozzanattal könnyedén átalakíthatjuk e felületeket homogén, egyszínű felületekké. Közelítő módszerként az uniform és a minimum variancia szerinti kvantálást alkalmaztuk [42]. A technika hatékonysága abban rejlik, hogy eltűnnek a hirtelen pixelintenzitás váltakozások, így a későbbi éldetektálás nem fog számunkra irreleváns élszakaszokat generálni.
22. ábra – Hisztogram kiegyenlítés
23. ábra – Redukáljuk a színeket.
A textúrák és megvilágítási adottságok okozta nehézségek kezelése után következik az éldetektálás (lásd 24. ábra). Az egyik legfontosabb lépése ez az előfeldolgozó módszerünknek, mert ekkor válik az adatbázisbeli kép hasonlóvá egy kézzel készített rajzhoz. Rendszerünkben a Canny-féle éldetektáló módszert alkalmazzuk, mivel tapasztalataink szerint ez volt a leghatékonyabb a feladat elvégzésére, továbbá jól paraméterezhető. Megadható alsó és felső 24
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
határ az élek jóságának küszöbölésére, valamint egy σ paraméter. Ez utóbbival be lehet állítani az éldetektálás előtti Gauss-féle szűrőmaszkkal végzett simítás paraméterét, mely a Canny módszer részét képezi. Az eredmény egy bináris kép lesz, ahol fehér színűek a megtalált élszakaszok fekete háttéren. A simítás és színredukció helyett használhattunk volna másik módszert is, mégpedig a Paintbrush transzformációt [24]. A két módszer kimenete között van hasonlóság. A saját ötletünk mellett maradtunk. A megmaradt rövid élszakaszokat morfológiai nyitással szűrjük ki [22]. Mivel bináris képpel dolgozunk, ezt könnyedén megtehetjük. A számunkra szükséges objektumhatároló élszakaszok általában a leghosszabbak az egész képet tekintve, így a rövideket bátran ki lehet szűrni (lásd 25. ábra). Utolsó lépésként a szűrt élképre elvégzünk egy távolság transzformációt. Ekkor a kép minden pixeléhez hozzárendeljük azt a számot, amely a hozzá legközelebb eső, nem-nulla értékű – tehát határél – pixel távolságát mutatja meg az aktuális pixelhez képest. Mivel távolságokról van szó, így a matematikából megismert többféle távolság függvény alapján is elvégezhető a transzformáció, ahogy az a 26. ábrán látható. A végeredményt a 27. ábra szemlélteti. („2-D Distance Transform”, „Distance Map”, „Distance Field”) [14].
24. ábra – Canny-féle éldetektálás.
25
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
25. ábra – Morfológiai nyitás.
26. ábra – MATLAB által nyújtott távolság definíciók vizuális szemléltetése [40], ezeket használtuk fel a rendszerünk megvalósításakor.
26
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
27. ábra – Végeredmény, távolság transzformált kép.
4.3 A jellemző vektor előállító alrendszer Elérkeztünk a rendszerünk egyik alappillérét képező részegységéhez, mely a képek tartalmát reprezentáló jellemző vektorok elkészítéséért felelős. Ahhoz azonban, hogy a visszakeresés hatékony legyen, elengedhetetlen az előfeldolgozás minőségi végrehajtása, amit az előfeldolgozó alrendszer nevű fejezetben ki is fejtettünk. Alapvetően háromféle jellemző vektor előállító módszerrel dolgozunk, mégpedig az élhisztogram leíróval („EHD – Edge Histogram Descriptor”), gradiens irány hisztogrammal („HOG – Histogram of Oriented Gradients”) és az invariáns jellemző pont detektorral („SIFT – Scale Invariant Feature Transform„). Mielőtt megismerkednénk közelebbről a módszerekkel, először fogalmazzuk meg a leírókkal kapcsolatos elvárásainkat.
4.3.1 A leírókkal kapcsolatos elvárások Rendszerünk működése során egyszerű képeket tartalmazó adatbázisokat fog felhasználni. Azonban még ilyen esetekben is előfordulnak problémák, amiket kezelnünk kell. Ha nem is ad tökéletes hibakezelést a leíró módszer, elvárjuk, hogy robosztus legyen mind a kép elforgatására, skálázására (vagyis átméretezésére), eltolására – bizonyos mértékig. Feladatunk tehát ezt a biztosságot megteremteni, illetve a legvégsőkig növelni. A leírás robosztusságát úgy is lehet növelni, hogy több leírót használunk fel. A körülmények alapján el lehet dönteni, hogy melyik leíró, milyen hatékonysággal, előnyökkel és hátrányokkal működhet adott környezetben. Lehet, hogy egy jellemző két színes kép között remekül kapcsolatot tud teremteni, azonban egy színes kép és egy skicc között nem, de ez fordítva is igaz lehet. Ezért definiáltunk különböző szinteket a visszakeresésben. Esetünkben az első szint, amikor skiccek alapján keresünk vissza az EHD vagy HOG leírók segítségével. A második szinten már az eredmények alapján keresünk vissza a SIFT leíróval. Ilyenkor már a színes, részletekben gazdag eredményképek alapján keresünk egy olyan módszerrel, ami ugyan színes kép és skicc között nem tudott összehasonlítási alapot szolgáltatni, de két színes kép esetén már hatékony megoldást jelentett. A módszer előnyeit kihasználva egy interaktív visszakeresési folyamatot valósíthatunk meg (lásd 28. ábra). Hasonló analógiát figyelhetünk meg az osztályozás terén is, amikor nagy adathalmazokat osztanak fel több 27
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
klaszterbe. Alkalmaznak olyan módszereket is, ahol több, úgynevezett gyenge osztályozó algoritmusból összeépítenek egy hatékonyabb mechanizmust. Ezt nevezik boosting technikának [34], ilyen klaszterező algoritmus az AdaBoost is [49].
28. ábra – Példa a többszintű keresésre. A középső oszlopban látszik az első visszakeresés néhány eredménye az egyik élirány-leíró módszer alapján. A második szinten már a kékkel bekeretezett kép alapján keresünk egy az előző esetben használt leírótól eltérő, jellemzőpont alapú módszerrel [4].
4.3.2 EHD – Élhisztogram leíró Az MPEG leírói között, a textúra-leíróknál megtaláljuk az élhisztogram leírót („Edge Histogram Descriptor”), mely a képen található lokális élek irányultsága alapján épít hisztogramot. A hisztogram a leginkább felhasznált struktúra, amit globális jellemzők ábrázolására használnak, innen jön az ötlet, hogy az élek irányultságát is ebben a szerkezetben ábrázolják (például a normalizált hisztogram lehetővé teszi méretben különböző képek összehasonlítását is) [47]. Vizsgáljuk meg a módszer egyes lépéseit. Első lépésben osszuk fel a képet 16 alképre (4x4-es felbontás). A hisztogramok generálása érdekében az alképen található éleket öt osztályba soroljuk az irányultságuk szerint: függőleges („vertical”), vízszintes („horizontal”), 45°-os átlós („45° diagonal”), 135°-os átlós („135° diagonal”) és konkrét iránnyal nem rendelkező élek csoportjába (lásd 29. ábra). A képünk tehát tizenhat alképből áll, az ott található pixelek pedig 5 állapotot vehetnek fel, így 5×16=80 hisztogram vödörre lesz szükségünk [47].
28
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
29. ábra – Az élosztályokat reprezentáló ábrák. Függőleges, vízszintes, 45°-os átlós, 135°-os átlós és a konkrét iránnyal nem rendelkező esetekben (balról jobbra, fentről lefele) [2].
Az élek osztályozásának céljából tovább finomítjuk a kép felosztását. Az egyes alképeket, úgynevezett nem-átfedő, azonos méretű és kettővel osztható szélességű és magasságú, négyzet alakú képblokkokra osztjuk fel. A blokkok méretét a kép felbontásának függvényében választjuk ki. Mivel kettővel osztható részeket kapunk így egypár pixel elveszhet. A tapasztalati érték 1100 darab képblokk körül ingadozik [2], ezen érték mellett a leghatékonyabb az élinformációk előállítása. Minden képblokkot élkategóriákba soroljuk, a fent már említett csoportosítási szempont szerint. Az osztályozás elvégzésére egy egyszerű módszer az, hogy az egyes képblokkokat 2x2–es méretű szuperpixelként tekintjük. Az egyes szuperpixel értékek a képblokk adott sarkában lévő pixelek átlagaként állnak elő (lásd 30. ábra). Erre végezzünk el egy lineáris szűrést, hogy kiszámítsuk a megfelelő élerősségeket. Mielőtt rátérünk az élek kategorizálásának menetére, bevezetünk jelöléseket. Az a0(i,j), a1(i,j), a2(i,j) és a3(i,j) jelentse az i. sorban és j. blokkban lévő 2x2-es szuperpixel intenzitásértékét. Ezek mellett jelöljük a szűrő együtthatóértékeit az egyes irányok esetén és az egyes pozíció esetén: fv(k), fh(k), fd-45(k), fd-135(k) és fnd(k), ahol k=0,1,2,3 (a szuperpixelen belüli pozíciót adja meg). Az él nagyságát jelöljük mv(i,j), mh(i,j), md-45(i,j), md-135(i,j) és mnd(i,j) segítségével, ahol az i és j jelentése megegyezik a fent leírtakkal. A 2. kifejezésen, a 3. kifejezésen, a 4. kifejezésen, az 5. kifejezésen és a 6. kifejezésen láthatjuk az m értékek kiszámításának módját az adott irányban [47].
30. ábra – A képblokk szuperpixeles felbontása.
(
)
|∑
(
)
( )|
2. kifejezés – Vízszintes irányú blokkot reprezentáló érték kiszámításának módja.
29
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
(
)
|∑
(
)
( )|
3. kifejezés – Függőleges irányú blokkot reprezentáló érték kiszámításának módja.
(
)
|∑
(
)
( )|
4. kifejezés – 45°-os átlós blokkot reprezentáló érték kiszámításának módja.
(
)
|∑
(
)
( )|
5. kifejezés – 135°-os átlós blokkot reprezentáló érték kiszámításának módja.
(
)
|∑
(
)
( )|
6. kifejezés – Irány nélküli blokkot reprezentáló érték kiszámításának módja.
Ha m=maximum{ mv(i,j), mh(i,j), md-45(i,j), md-135(i,j), mnd(i,j) } nagyobb egy küszöbnél, akkor az adott blokk tartalmaz élt, ellenkező esetben tekintsük úgy, hogy nem tartalmaz. A 31. ábrán láthatóak a szűrőmaszkok. Az irány nélküli esethez tartozó maszk csupán heurisztikus gondolat eredménye [47]. A 80 vödrös lokális élhisztogram alapján nem érdemes dönteni, mivel az csak főként globális tulajdonságokat vesz figyelembe. Fontos, hogy a meglévő hisztogramot ki kell bővíteni bizonyos lokális felbontások által kinyert információkkal. Szükségünk van kifejezőbb formulákra. Egy heurisztikus megoldás az, ha a 32. ábrán látható felosztásokra előállított vödröket és a globális kép összevont értékeit is belevesszük az eredeti hisztogramba, így kapunk egy 150 értékből álló leírót (80×5+13×5+5=150) [2], [47].
30
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
31. ábra – A különböző szűrőmaszkok a különböző élirányokra érzékenyek, így segítenek hozzá az osztályozáshoz [2].
32. ábra – A lokális tulajdonságok kiemelésére szolgáló további felosztások [47].
Természetesen, még mielőtt távolságot számolunk az egyes hisztogram vödröket normalizálni és kvantálni kell [2]. Normalizálás céljából az élek előfordulásának számát a vödrökben elosztjuk az alképen található képblokkok számával. Meg kell jegyezni, hogy a homogén területeket is számításba vesszük a normalizálás esetén, viszont a hisztogramban nem jelennek meg, lényegében ez azt jelenti, hogy az élhisztogramot azok a területek is befolyásolják, amelyek nem is tartalmaznak éleket. Ebben az esetben egy indirekt függésről beszélhetünk. A rendszerünk egyik alternatívaként az implementált EHD algoritmus alapján írja le a képeket.
31
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
4.3.3 HOG – Gradiens irány hisztogram A HOG („Histogram of Oriented Gradient”) egy leíró, mely – mint azt később látni fogjuk – az EHD módszer továbbfejlesztésének is tekinthető [5]. Régiókra bontjuk a képet, majd ezekhez olyan irányhisztogramokat rendelünk, melynek vödrei az oda tartozó gradiensek nagyságaival vannak súlyozva. Vizsgáljuk meg közelebbről is a részletes mechanizmust, melyet a 33. ábra szemléltet.
33. ábra – A HOG jellemző előállításának szintjei [6].
Az első lépésben végre kell hajtani egy gamma vagy színnormalizálást. A saját tapasztalatok és a szakirodalomban megjelenő tesztek során kiderült [5], hogy ez csak kis mértékben befolyásolja pozitív irányban a teljesítményt, azonban minden lehetőséget meg kell ragadni. A második lépésként éleket kell detektálnunk. Több publikáció szerint is a leghatékonyabb az egydimenziós [-1 0 1+ szűrőmaszk σ=0 paraméterezéssel [5], [38]. A harmadik lépésben felosztjuk a képet – az EHD-nál használt módszertől eltérően – átfedő blokkokra, azokat pedig cellákra. A cellákhoz egy hisztogramot kell rendelni, melyet úgy állítunk elő, hogy a pixelekhez kiszámítjuk a gradiens értékeket és az adott irányú vödröket nem egyesével növeljük, hanem a gradiens nagyságával súlyozottan. A vödrök a 0°–180° tartományban 20 fokonként vannak előjel nélkül. Egy másik megoldás lehet, ha a teljes 0°–360° tartományt használjuk fel, ekkor azonban az előjeleket figyelembe kell venni. Az említett cellák lehetnek négyszögletesek, illetve kör alakúak (lásd 34. ábra). A negyedik lépésben normalizálást kell végrehajtani. A gradiens nagyságok igen széles skálán mozoghatnak, melyben szerepet játszik a megvilágítás, illetve az előtér és háttér kontrasztja. Ahhoz, hogy azonos léptékkel kezelhessük a nagyban különböző nagyságrendű értékeket, elengedhetetlen a normalizálás. A jó teljesítmény elérésének ez egy kulcs momentuma. A legjobb eredményeket az L2 norma használata által érhetjük el [38]. Ezt követően elő kell állítani a jellemző vektort az úgynevezett detektorablakra nézve, amelyben feltételezzük, hogy előfordul a keresett objektum. Ez egy, a kép méreténél általában kisebb, a kép egy részét lefedő képrészlet. A végső vektor mérete függ a paraméterezéstől. Megadhatjuk a cella méretét, ami tulajdonképpen az egy cellába eső pixelek száma. A blokkok tulajdonságait is lehet befolyásolni, úgymint méret, átfedés mértéke, normalizálás módja. Végül a hisztogram jellemzőit is beállíthatjuk, pl. vödrök száma, előjeles értékek használata, súlyozás módja. A különféle paraméterek értékei függnek a konkrét megoldandó feladat jellegétől.
32
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
34. ábra – A HOG esetében használt blokktípusok [6].
A HOG módszert általában egy adott alakú objektumok detektálására szokás használni valamilyen lineáris osztályozóval – általában SVM [30] – kiegészítve. A mi általános céljainknak azonban így is tökéletesen megfelel, mivel főleg csak egy objektum szerepel a képen, így esetünkben a detektorablak mérete megegyezik a vizsgált kép méretével.
4.3.4 SIFT – Jellemző pont detektor A következőben vizsgáljunk meg egy másik jellemző leírót. Választásunk a David Lowe által kifejlesztett módszerre, a SIFT-re esett [10]. Ez a leíró algoritmus a számítógépes látás jól definiált metódusa, mely eltolás-, elfordulás-, skála- és megvilágítás változására is invariáns. A transzformáció folyamatábráját a 35. ábra illusztrálja.
35. ábra – A SIFT transzformáció folyamatábrája [39].
Az első lépéshez Gauss-féle konvolúciós szűrőt kell használni a simításhoz. Ezt a simítást el kell végezni egymás után többször, majd ezt követően a kép méretét a felére kell csökkenteni. A csökkentett méretű képpel ugyanígy járunk el és így folytatódik tovább az eljárás. Ezzel tulajdonképpen egy kép-piramist hozunk létre, amely majd a feldolgozás gyorsítását szolgálja. A következő lépésként minden szomszédos konvolúciós szintnek képezzük a különbségét, amelyből egy másik, különbség skála szintjei jönnek létre. Ehhez a D(x,y,σ) függvényt (továbbiakban D) használjuk, amely a következőképpen leírható a 7. kifejezés alapján:
33
Pozsegovics Péter, Szántó Balázs
(
)
ÓE-NIK-IAR, 2010
( (
)
(
))
(
)
(
)
(
)
7. kifejezés – A szomszédos konvolúciós szintek kiszámítása.
ahol * a konvolúciós operátor, G(x,y,σ) a Gauss-féle konvolúciós maszk, I(x,y) a bemenő kép, L egy szintje a skála-térnek, k egy pozitív egész konstans és a σ pedig a skálaszintet jelöli. σ a Gaussfüggvény szórását befolyásolja, melynek növelésével jobban el lehet simítani a képeket. Leegyszerűsítve, a D olyan különbség-szinteket képez, amelyben egyik szint éppen k-szor feljebb található a skála-térben, mint a kivonandó másik. Ezzel a lépéssel biztosítjuk, hogy hatékonyan találhassunk „biztos” pontokat és megtartsuk a módszer „erejét” adó invarianciát. A következő lépésben szélsőértékeket kell keresni a D által létrehozott Gauss-különbség térben. A kulcspontok a lokális maximum-, illetve minimumértékek lesznek, amelyek az aktuális pixel saját szintjén elhelyezkedő nyolcas környezetével illetve a szomszédos szinteken lévő 18 másik szomszédjával való összehasonlításból számítandóak ki. Ez így összesen huszonhat összehasonlítás. (Ha ez a pont a többivel való összehasonlítások után minimális vagy maximális, akkor szélsőérték.) Az így kapott pontokon további műveleteket kell végezni. Mivel többször is elmostuk a képeket és a méretüket is csökkentettük, ezért interpoláció segítségével a környező adatok alapján vissza kell keresnünk a kijelölt pontok eredeti helyét az eredeti képen. Ha ez megvan, akkor a hatékonyság növelése érdekében csökkenteni kell a kulcspontok számát, ugyanis ezek közül még nem mind hordoz fontosnak mondható információt. Ez azért szükséges, hogy csak a stabil pontok maradjanak meg a további számításokhoz. Az alacsony kontrasztú pontokat és a gyenge élpontokat el kell távolítani egy küszöböléssel. Ezt megtehetjük könnyedén, ha kiszámítjuk az adott pont Laplace operátorral számított értékét. Ha a kontraszt érték egy megadott küszöb alatt van, akkor kivesszük a pontot a kulcspont listából. A stabilitáshoz azonban nem elegendő a kis kontrasztú pontok kiszűrése. A Gauss-különbség függvény jól használható információkkal szolgál az élekről, azonban ha egy él elég gyenge, akkor érzékeny lesz a zajra. A feldolgozás következő lépéseként a pontokhoz irányokat – akár többet is – kell rendelni, amelyeket a lokális gradiens jellemzők alapján határozunk meg. A gradiens nagyságát (m) és irányát ( ) a 8. kifejezés és a 9. kifejezés adja meg, amelyet minden simított képre alkalmazunk:
(
)
√( (
)
(
( (
))
)
(
))
8. kifejezés – Gradiens nagyságok kiszámítása mindegyik simított képre.
(
)
( (
) )
( (
) )
9. kifejezés – Gradiens irány kiszámítása mindegyik simított képre.
Ezt elvégezzük az adott kulcspont adott sugarú, – általában 4 vagy 8 – környezetére is, majd ezeket az értékeket egy olyan σ paraméterű Gauss-maszk szerint súlyozzuk, amely rendszerint másfélszerese a kulcspont léptékének (lásd 36. ábra). Ezt követően készítünk egy szöghisztogramot 36 vödörrel. Az így létrejött régiókat összegezzük 4×4-es felbontású részekre úgy, hogy közben csökkentjük a vödrök számát nyolcra. Nagyon fontos, hogy az egyes kulcspontokhoz tartozó hisztogramok a pont előzőleg kiszámolt orientációjához vannak igazítva (lásd 37. ábra).
34
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
36. ábra – A szöghisztogram készítés [39].
37. ábra – Irányított szöghisztogram [10].
A domináns irányok a hisztogram kiemelkedő értékei lesznek. Alapvetően a legnagyobb ilyen csúcsot tekintjük fő iránynak, de ha előfordul még olyan érték, amely a maximális érték 80%-án belül van, akkor létre kell hozni vele egy új kulcspontot ugyanazon a helyen. Általánosságban a pontok 15%-a rendelkezik többirányú hozzárendeléssel, ezzel csak növelik az ilyen kulcspontok stabilitását. A leíró végül úgy jön létre, hogy minden kulcsponthoz és környezetéhez tartozik 4×4 db hisztogram egyenként 8 értékkel. Ez összesen egy 128 elemű vektort eredményez. Ha a megvilágításból fakadó változásokat szeretnénk kiküszöbölni, akkor normalizálnunk kell a vektort, így elérhetünk bizonyos fokú invarianciát e változásokkal szemben.
4.3.5 Az alrendszer specifikációja A jellemzővektorokat előállító alrendszer bemenete az előfeldolgozáson átesett kép. Kimenete a leírótól függ. Abban az esetben ha HOG vagy EHD leírót számolunk, normalizált hisztogramot kapunk, mely az EHD használata esetén 150 vödör, HOG-nál pedig cellák száma szorozva a szöghisztogram vödörszámával. A SIFT leíró esetében a képen található minden egyes jellemző ponthoz 128 hosszúságú, szintén normalizált szöghisztogram készül. Ha az adatbázishoz állítjuk elő a leírókat, akkor az alrendszer az adatbáziskezelővel fog kapcsolatba lépni a továbbiakban. Ha pedig a visszakeresendő kép leíróját számoljuk, akkor a visszakereső rendszerrel fog közreműködni. Egy kereső rendszer mit sem ér a visszakeresést végző metódusok nélkül. A következőkben a távolságalapú és osztályozásalapú visszakeresést vizsgáljuk meg.
35
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
4.4 A visszakereső alrendszer Amint a leíró vektorok készen állnak, elindulhat a keresés. A fejezetben bemutatjuk a tartalom alapú visszakeresési folyamat modellezésének két domináns megközelítését, valamint ismertetjük az általunk használt módszereket.
4.4.1 Távolság alapú visszakeresés Rengeteg módszer adódik a folyamat végrehajtására, azonban a probléma alapvetően a vektorok közti távolság értelmezésére és kiszámítására vezethető vissza. Rendszerünkben az alábbi metrikák vannak implementálva (lásd 10. kifejezés 11. kifejezés).
(
)
(∑|
| )
10. kifejezés – A Minkowski távolság definíciója. ⁄
(
)
(∑|
| )
11. kifejezés – Csebisev távolság definíciója.
A legáltalánosabb formát a Minkowski távolság [9] képlete adja meg, melyben ha p paraméternek 1 vagy 2 értéket adunk, akkor rendre megkapjuk a Manhattan, illetve az Euklideszi távolság definícióját. Ezeken felül még a Csebisev távolságot is felhasználtuk. A rendszer bemenete a visszakeresendő kép és az adatbázisban lévő képek jellemző vektora. A visszakeresés során meghatározza, hogy melyik jellemző vektorhoz van a legközelebb a skicc leírója az adott metrika szerint. Az eredményt sorba rendezve továbbadja a megjelenítő alrendszernek, ezen felül kapcsolatban áll az adatbázis-kezelővel is. Ez a leírás igaz az EHD és a HOG alapú visszakeresésre is. Legyen „E” a visszakeresendő kép 150 vödrös EHD vagy HOG hisztogramja és K=A(k) az adatbázis k. képére kiszámított leírója. Ha E(i)=0, akkor D(E(i),K(i))=0 minden esetben, ahol D két szám közötti távolságot ad meg egy adott távolságértelmezés alapján. Azokat a helyeket ne vegyük bele a távolságba, amelyik vödörben a skicc leírója zéró, így nem torzítjuk az eredményt annyira, mint alaphelyzetben. A megoldást implementáltuk, de hasonló eredmények körül ingadoztunk, mint az alapesetben. Arra a következtetésre jutottunk, hogy a leíró robosztussága miatt ezzel a lépéssel nem tudunk javítani a visszakeresés minőségén. A SIFT leíró használatára kifejlesztettünk egy egyedi visszakeresési módszert, amit a következőkben ismertetünk. Az általunk használt visszakeresési módszer a kép jellemzőpontjaihoz tartozó leíró vektorok közti egyszerű Euklideszi távolságok kiszámításán alapszik. Minden jellemző pontot reprezentáló vektort össze kell hasonlítani mindennel. Ebből előállítunk egy, a pontok közti hasonlóság jóságát reprezentáló vektort. Két pont találatként való értelmezése attól függ, hogy a két leíró vektor távolsága szorozva az egyezőségi paraméterrel kisebb marad-e, mint a két leíró közül az egyik
36
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
távolsága az összes többi leíróhoz képest. Erre a küszöbértékkel szabályozott vektor pontjaira kiszámítjuk az átlagos távolságot, majd vesszük az átlag alatti értékeket és egy újabb átlagolást végzünk. A két kép közti hasonlóság mértékét ez a mérőszám fogja reprezentálni. Ez a módszer igen hatékonynak bizonyult, ami az adaptív küszöbszámításnak köszönhető, amelyre a teszteket bemutató fejezetben majd részletesen kitérünk.
4.4.2 Osztályozás alapú visszakeresés Osztályozás alapú visszakeresésen azt értjük, hogy a jellemző vektorokat klaszterekbe szervezzük a vektortérben való elhelyezkedésük alapján. Minden egyes csoportot meghatároz egy elem, melyet súlypontnak hívnak. A visszakeresés során a legközelebbi súlyponthoz tartozó osztályban elhelyezkedő képek lesznek az eredmények. A módszer előnyei közé tartozik, hogy a klaszterező algoritmusok segítségével az elemek implicit közös tulajdonságait, kapcsolatait is feltérképezhetjük. Az ilyen jellegű algoritmusok erőforrás-igényesek, azonban a visszakeresési folyamatnál kevesebb összehasonlítást kell végeznünk. Új kép bekerülését az adatbázisba kezelni kell.
4.5 Az adatbázis-kezelő alrendszer Mind a képeket, mind a róluk készült leírókat eltároljuk. Illetve biztosítjuk a későbbi feldolgozásához szükséges mechanizmusokat. Erre szolgál az adatbázis-kezelő alrendszer, mely három fő részből áll, a tároló, a lekérdező és az adatmanipulációs modulból [37]. A tároló modul segítségével töltünk fel képeket az adatbázisba, a hozzá tartozó információkat és a jellemző vektorokat is lementjük. A képpel kapcsolatban rögzítjük a fájl nevét, méretét, formátumát. Összegyűjtjük az elkészítés körülményeihez kapcsolódó információkat is, mint a készítő neve, a készítés időpontja, a kép címe, a felvevő egység márkája és típusa. Ezek mellett szükségünk lehet még a színmélységre, a vertikális és horizontális felbontására, esetleg a kép származási helyére (URL cím), ezért ezek tárolásáról is gondoskodunk. A nagyméretű képeket tárolási célokból méretarányosan csökkentjük. Elérhetővé teszünk meta-információkat kinyerő metódusokat is. Az adatokat egy globális helyen tároljuk. Ha képeket feltölthetünk, akkor törölhetünk is. A rendszerbe beépítettünk egy logikai és egy fizikai törlési lehetőséget. A logikai esetnél a törlendő kép csak átkerül egy másik adattáblába. Fizikai törlés esetén kikerül az adatbázisból és egyben a merevlemezről is. Nagyszámú törlés után már a merevlemez töredezettségét is lekezeljük, ezzel is hozzájárulva az optimalizált megoldáshoz. A lekérdező modul segítségével kapjuk meg a visszakeresés eredményét. A visszakereső alrendszer kapcsolatba lép az adatbázissal, ami szolgáltatja a leírókat. Optimalizálás céljából ezt már induláskor betöltjük egy változóba. Ha megvan a visszakeresés eredménye, akkor az adatbázis felé fordulunk, ahol a leírókhoz tartozó elsődleges kulcs segítségével lekérjük az eredményképeket. Ezen felül különböző szempontok alapján készíthetünk statisztikákat SQL lekérdezés formájában az adatbázisunkkal kapcsolatban. Az adatmanipulációs modul segítségével a képekhez tartozó háttér-információkat (például exif) módosíthatjuk, kiegészíthetjük és létrehozhatjuk. Ennek segítségével kaput nyitunk a hagyományos kulcsszavas keresés felé is, illetve az automatizált címkézéshez is.
37
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
4.6 A megjelenítő alrendszer – felhasználói felület Egy program megítélése gyakran a felhasználói felület egyszerűsége és kreatív funkciói alapján történik a célfeladat végrehajtásának hatékonysága helyett. Ezért fontos az ergonomikus megjelenítés. Most vizsgáljuk meg részletesebben az elvárt funkcionalitásokat. Mivel rajzok képezik a visszakeresésünk alapját, így biztosítunk egy rajzfelületet, ahol ezeket elő lehet állítani. A kereséshez szükség lesz egy adatbázisra is, amelyet szintén be kell állítani a keresés előtt. A keresési eredmények rendszerezett megjelenítése nagy eredményhalmaz esetén nagyban megkönnyíti az eligazodást, így ezt is biztosítjuk, melyet a következőben bemutatunk. A rendszerünkben található módszerek nem működhetnének paraméterek nélkül, ezért lehetőséget kell biztosítani ezek beállítására is. Úgy véltük fontos kérdés, hogy hány találatot jelenítsünk meg a felhasználói felületen. Ez a szám függ a monitor felbontásától is, de mivel széleskörűen terjednek a magas felbontású monitorok, így ez az érték 20 – 30 között fog mozogni.
4.6.1 Találatok szín szerinti csoportosított megjelenítése Rendszerünkben a lehetséges találatokat osztályozzuk és az osztályoknak megfelelően megjelenítjük [11]. Ezáltal a megoldáshalmaz átláthatóbb és rendezettebb lesz. Alapesetben a találatokat relevancia alapján jelenítjük meg, azonban előfordulnak fals pozitív találatok, melyek rontják a visszakeresés képét. Ha a találatokat valamilyen szempont szerint újra osztályozzuk, ekkor az egy találati osztályra eső fals pozitív találatok száma csökken. Így a felhasználói megítélés is jobb lenne a rendszer felé. Úgy véltük, hogy számunkra a szín alapján való klaszterezés a legmegfelelőbb, mivel egy kép kapcsán a szín áll legközelebb az emberi érzékeléshez, így választásunk a K-közép algoritmuson alapuló osztályozási módszerre esett, amely erre a célra tökéletesen megfelel. A K-közép klaszterezés (lásd 38. ábra) egy iteratív algoritmus, egyes szakirodalmak Lloyd algoritmusnak nevezik [22]. A működést röviden a következő pár mondatban foglaljuk össze.
38. ábra – A K-közép algoritmus végeredményének szemléltetése (2 dimenziós esetben). Azonos színű pontok egy osztályba tartoznak. Az osztályokat a feketével jelzett körök reprezentálják [41].
Az első lépésben véletlenszerűen kiválasztjuk a klaszterek központi elhelyezkedését. Minden adatpontot elhelyezünk a megfelelő klaszterbe, az egyes klaszter-középpontoktól való minimális távolság alapján. Ezek után a középpontok elhelyezkedését úgy módosítjuk, hogy pont az egyes klaszterekhez tartozó vektorok súlypontja legyen. Az előző két lépést addig iteráljuk, amíg a
38
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
súlypontok elmozdulnak. A módszer problémája, hogy lassú, továbbá előre meg kell adni az osztályok számát. Átültetve a mi esetünkre, a pontok az egyes képek szín információit fogják reprezentálni. Ezeket úgy állítjuk elő, hogy vesszük a képen előforduló pixelek színeinek átlagát és ezzel jellemezzük az adott képet. Ezeket a háromdimenziós RGB értékeket klaszterezzük a K-közép algoritmus segítségével. Kezdőpontokként megadunk előre definiált szín értékeket, így érve el, hogy az adott színvilágú képek a kívánt „színű” klaszterbe essenek. Ezeket elő tudjuk állítani az egy színre kvantált képek színátlagából. Első ötletünk a színcsatornák hisztogramjainak előállítása volt. Történtek kísérletek RGB színtérben, az emberi érzékelést alapul vevő (R-G,2B-R,R+G+B) színtérben [31], illetve HSV színtérben [3], azonban az átlagoló módszerrel jobb eredményeket értünk el, mint a hisztogram alapú módszerekkel. A tesztek keretén belül ismertetjük a tapasztalatainkat.
5 Tesztek és eredmények 5.1 A tesztelő rendszer A kutatott módszereket legtöbb esetben a MATLAB környezetben írt programunkkal teszteltük [43]. Munkánk során a képfeldolgozó kiegészítőt használtuk fel (Image Processing Toolbox) [44]. A továbbiakban a demó rendszerünket mutatjuk be röviden. A tesztelő rendszerünket elsősorban a korábban bemutatott leíróink kipróbálására hoztuk létre, mely három fő részből áll. A tanító modulból, amely magában foglalja az előfeldolgozást is. Az itt elérhető funkciók felelősek a jellemzővektorok előállításáért és tárolásáért. A számunkra megfelelő leírókat a merevlemezre menthetjük. Az algoritmus teljes egészében saját fejlesztés. A visszakereső modul bonyolítja le a keresést és az eredmények relevancia szerinti rendezését. A megvalósított EHD leírókészítőt több irodalmi leírás alapján készítettük el [2], [47] és optimalizáltuk úgy, hogy ahol a rajzot leíró EHD hisztogramvödör 0 értékű, azt nem vesszük figyelembe az összehasonlításnál. A HOG módszert a [27] cikk alapján implementáltuk továbbfejlesztve oly módon, hogy dinamikusan paraméterezhető legyen. A SIFT esetében a VLFeat nevű osztálykönyvtár kész implementációjából [46] indultunk ki és saját visszakereső algoritmusunkkal megtámogatva építettük be a rendszerünkbe. Legvégül a felhasználói-felület modullal az eredményeket sorba rendezve vizuálisan és szövegesen megjelenítjük. A rendszer különféle funkcióit tetszőlegesen lehet paraméterezni. Az eredményeket szemléltető mérőszámokat a programba épített mechanizmus számítja ki. A 39. ábra látható a kezelőfelület, amely alkalmas a leírók készítésére, adatok betöltésére és a visszakeresés végrehajtására is. Ezen a ponton jegyeznénk meg, hogy bár a dolgozatunk célja a rajzok alapján való keresés, a MATLAB környezettel járó korlátok miatt ezt a funkciót egy külső programmal helyettesítettük. A 40. ábra az eredményeket megjelenítő ablak látható, melynek segítségével könnyebben áttekinthetővé válnak a keresési eredmények, mint a főablak listájából. A programot a következő konfiguráción teszteltük: AMD Athlon X2 64 bit Dual Core 5600+, 2.90 GHz processzoron, Geil 4 GB DDR2 memóriával felszerelt, Microsoft Windows 7 operációs rendszerre telepített MATLAB R2009a verzió. A leírók készítése során az erőforrás mindig teljes kihasználtságon volt. Az EHD és HOG leírók esetében a számítási időt az alképen definiált képblokkok száma határozta meg, minél nagyobbra vesszük, annál többet kell számolnia (lásd 41. ábra). A mérések alapján megállapítható, hogy a HOG leírók számítása gyorsabban történik (lásd 42. ábra). A HOG leíró esetén a sebességet a képblokkok száma mellett az irányultságok száma is 39
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
befolyásolja (hány klaszterbe soroljuk be az éleket) (lásd 42. ábra). A SIFT elkészítési sebességét is mértük (egy leíró kiszámítása 0.176553 másodperc) és azt kaptuk, hogy a gyorsulás mértéke közel tízszeres is lehet, az EHD/HOG ablakméretétől függően. A SIFT implementációban nincsen a sebességet befolyásoló paraméter.
39. ábra – A felhasználói felület MATLAB környezetben.
40. ábra – Az első kilenc találatot külön ablakban is meg lehet tekinteni.
40
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
41. ábra – Az EHD és HOG előállítási ideje, különböző blokkszámok esetén.
42. ábra – Minél több vödröt hozunk létre az irányhisztogramban, annál nagyobb lesz az előállítási idő.
5.2 A tesztelési szempontok, felhasznált mérőszámok Szeretnénk a rendszerünket alkotó módszerek hatékonyságáról pontos képet alkotni, illetve az egyes felhasznált módszereket összehasonlítani. Ezért szükségünk van mérőszámok definiálására, így meg tudjuk határozni, hogy melyik módszer milyen körülmények között működik hatékonyan. Legyen N darab képet tartalmazó teszt adatbázisunk, melyből Q darab releváns találatnak számít egy keresés során. Z jelöli az elvárt releváns találatok számát, P pedig az eredmény lista hosszát. 41
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Ha ezeket az adatokat ismerjük, akkor kiszámíthatjuk a következő mérőszámokat (lásd 12. kifejezés és 13. kifejezés) [9].
( ) ( ) 12. kifejezés – A precízióval kifejezhető a rendszer relatív hatékonysága.
( ) ( ) 13. kifejezés – A visszahívással kifejezhető a rendszer abszolút pontossága.
Az elvárt és releváns találatok száma függ a teszt adatbázistól is, az összes találatot pedig mi határozzuk meg. Ez utóbbi szám lényegében azt jelenti, hogy egy keresés során hány találatot vizsgál meg a felhasználó átlagosan. Ezekre a későbbiekben még vissza fogunk térni. Célunk számszerűsíteni, hogy a többszintű keresés milyen hatással van az eredményességre.
5.3 Minta adatbázisok A tesztelés során több mintaadatbázissal is kipróbáltuk rendszerünk működését, hogy minél szélesebb körű leírást kapjunk az általunk implementált módszerek hatékonyságáról. A következőben röviden ismertetjük ezeket az adatbázisokat.
5.3.1 The Object Databank Az objektum adatbázis 209 valósághű objektumot tartalmaz [4]. Minden objektumot 14 irányból vettek fel 450x450-es felbontáson, melyeket 24 bites TIF formátumban tároltak el. Többnyire számítástechnikai és pszichológia tanulmányokhoz szokták felhasználni. Pár példa a 43. ábrán látható. Az adatbázis segítségével ki tudjuk próbálni, hogy ideális környezetben milyen hatékonyan működik a visszakeresés. Többek között meg tudjuk állapítani, milyen mértékben invariánsak felhasznált módszereink a forgatásra és eltolásra, illetve a nézőpont változásaira.
43. ábra – Pár példa az Object Databank nevű adatbázisból [4].
42
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Mivel egy objektumról 14 kép készült, így az elvárt találatok száma is legyen Z=14. Az adatbank 209 objektumot tartalmaz, melyek közt sok a hasonló formájú objektum (pohár, bögre, csésze), így akár az elvárt találatok száma lehetne több, mint 14. Egy találatot relevánsnak tekintünk, ha alakjában hasonló. Elkészítettük saját kézzel rajzolt 44 képből álló adatbázisunkat, melynek során próbáltuk az eredeti képeken szereplő alakzatokat visszaadni (lásd 44. ábra). Ezekből 10-féle alakzatot használtunk fel a tesztelések során.
44. ábra – Mintaképek a saját adatbázisunkból. Ezek alapján kerestünk a tesztelés során.
5.3.2 FlickR160 Ezt az adatbázist a szótár alapú kereső rendszernél használták fel a rendszer mérésére [18]. A FlickR elnevezésű képmegosztó webhelyről [48] válogattak ki 160 általános témájú képet. A képeket öt osztályba lehet besorolni a rajtuk ábrázolt objektumok alakja szerint. Az adatbázis erősen redundáns, amely kiváló lehetőség ad az ilyen jellegű CBIR rendszerek tesztelésére. A szerzők az adatbázis mellé csatolták azokat a példákat is, amely alapján visszakeresést végezték. Mivel dokumentálták teszteredményeiket és a visszakeresendő skiccek is rendelkezésünkre állnak, így a két rendszert össze tudjuk hasonlítani egymással. Sajnos azt nem adták meg, hogy hány eredmény kép alapján számoltak precíziót. A 45. ábrán jól megfigyelhetőek az alakjuk szerint jól elkülönülő objektumtípusok.
45. ábra – Kitűnően látható az öt osztály már kevés mintakép alapján is [19].
Az adatbázis készítője a képeket öt csoportra bontotta, csoportonként 32 db elemmel. Itt az elvárt találatok számának tehát 32-t választunk. A tesztelés során – hasonlóan az előző esethez – elkészítettük saját adatbázisunkat is (lásd 46. ábra). Öt kategóriát definiáltunk, skicceinkkel próbáltuk rekonstruálni a színes képeket. Természetesen a FlickR160 és a saját skicc adatbázisunk 43
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
egyes klaszterei egymásnak megfeleltethetőek. Relevánsnak tekintünk egy keresési találatot, ha a színes kép, a vonalrajznak alak szerinti megfelelője, tehát azonos osztályban helyezkednek el a fenti megfeleltetés szerint.
46. ábra – Mintaképek a saját adatbázisunkból. Ezek alapján keresünk a tesztelés során.
5.4 EHD leírók vizsgálata A fejezeten belül ismertetjük az EHD alapú visszakereséssel kapcsolatos teszteket a különböző paraméterek mellett. A leírók készítésekor befolyásolhatjuk a képblokkok számát, vagyis egy alképen belül minél nagyobb ez a szám, annál részletesebb leírást kapunk. Ennek viszont ára van, mert így veszítünk a módszer robosztusságából azáltal, hogy a rajzolt ábra és a visszakeresendő képek közötti különbségek nőnek. Beállíthatunk egy küszöböt, mely meghatározza, hogy az adott élt besoroljuk-e egy irányultsági osztályba, vagy elvetjük. A szakirodalom több helyen is ajánl paraméter értékeket [2], [47]. Az összes képblokk számára egy alképen 1100 darabot javasolnak. Tehát ez a mi implementációnk szerint 33-as ablakméretet jelent (33×33~=1100). Küszöbértéknek 11-et javasolnak. Sajnos ezekkel az adatokkal nem tudtunk tesztelni, mert a leíró adatszerkezet csak a nulla értéket tartalmazta. Ez a jelenség implementációs különbségből adódhat. A saját paraméter értékeinket a továbbiakban ismertetjük.
5.4.1 The Object Databank Ezen adatbázis esetén a benne előforduló alakzatok sokfélesége miatt és a könnyebb átláthatóság érdekében az eredményeinket grafikonok segítségével mutatjuk be. Elsőként azt vizsgáltuk meg, hogy miként hat a teljesítmény alakulására, ha küszöbértéket megtartjuk egy adott értéken, de a blokkméretet változtatjuk. Esetünkben a küszöb fix értékének a 2-est adtuk, mert nagy blokkszám esetén – 20 felett már – értékelhetetlen, csupa nullából álló leíróink lettek. Ugyanezen okból kifolyólag nem folytattuk a tesztelést 25 feletti blokkszámra. Megfigyeléseink szerint az 1. grafikon csúcspontja körül, tehát 25-ös blokkméret és 2-es küszöbparaméterek mellett érhető el a maximális teljesítmény. A kapott eredményeink 80 mérés összesített adatai alapján születtek.
44
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Hatékonyság
A teljesítmény alakulása változó blokkméret mellet 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
Visszahívás Precízió
5
10
20
25
1. grafikon – A hatékonyság alakulása a blokkméret változásának függvényében.
A további tesztelés során a küszöbszint változtatásával és a blokkméret rögzítésével próbáltuk ki az EHD leíró hatékonyságát. Blokkméretnek a fix 10-es értéket adtuk, majd 2-től kezdődően növeltük a küszöbértéket. Ezt a 2. grafikon szemlélteti.
Hatékonyság
A teljesítmény alakulása változó küszöbszint mellett 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
Visszahívás Precízió
2
5
7
9
2. grafikon – A hatékonyság alakulása a küszöbszint változásának függvényében.
45
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
5.4.2 FlickR160 A FlickR160 adatbázis képeit az előfeldolgozási folyamat során 8 színűre redukáltuk, majd a Canny-élkeresést a következő paraméterezéssel hajtottuk végre: alsó határ=60, felső határ=100, σ=6. A morfológiai nyitásparaméterének 280-at adtunk meg. Több beállítást is kipróbáltunk, de így tudtuk leghatékonyabban eltüntetni a káros zajokat a képről jelentősebb információvesztés nélkül (lásd 47. ábra). A következőkben a FlickR160 adatbázis méréseit mutatjuk be a 48. ábrán látható képeket keresve. Az elvégzett 80 mérés összesített adatait az 1. és 2. táblázat mutatja be.
47. ábra –Példa az előfeldolgozásra – kisebb zajok megmaradhatnak [19].
48. ábra – A tesztképek, amelyekre a mérést végeztük. Balról jobbra, fentről lefelé: diadalív, kör, piramis, templom és görög stílusú épület. A képek saját kezűleg készültek egy külső rajzprogram segítségével.
46
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Rögzített 5-ös küszöb, változó blokkszám 5 Diadalív Kör Piramis Templom Görög stílusú épület
15
Precízió Visszahívás 55% 47% 30% 25% 45% 41% 15% 31% 50% 38%
Átlagos hatékonyság
39%
30
Precízió 50% 35% 50% 35% 60%
Visszahívás 53% 31% 47% 31% 50%
Precízió 60% 60% 65% 50% 80%
Visszahívás 53% 41% 56% 41% 63%
46%
43%
63%
51%
36%
1. táblázat – EHD alapú mérési eredmény, amikor a küszöb állandó 5 értékű. A képblokk értékek: 5, 15, 30.
Rögzített 25-ös blokkszám, változó küszöb értékek 2 Diadalív Kör Piramis Templom Görög stílusú épület
5
Precízió Visszahívás 45% 44% 35% 31% 50% 44% 25% 31% 50% 53%
Átlagos hatékonyság
41%
7
Precízió 60% 50% 55% 35% 65%
Visszahívás 53% 31% 47% 31% 44%
Precízió 60% 20% 70% 35% 70%
Visszahívás 44% 19% 44% 34% 56%
53%
41%
51%
39%
41%
2. táblázat – EHD alapú mérési eredmény, amikor az képblokk állandó 25 értékű. A küszöb értékek: 2, 5, 7.
5.4.3 Konklúzió Megfigyelhetjük, hogy a módszer a blokkszám növelésével egyre pontosabb találatokat szolgáltatott számunkra (lásd 1. táblázat). Ilyenkor viszont nő a feldolgozási idő. Ha a felhasználó részletesebb rajzot készít, akkor a paraméterek állítása esetén nagyobb változások figyelhetőek meg. A küszöb változtatása esetében nem fogalmazható meg egyértelmű eredmény (lásd 2. táblázat). Nyilvánvalóan ez a kép előfeldolgozottságának minőségétől is függ. Előfordulhat, hogy egyes fontos élek csak gyenge élként jelennek meg, így azokat véletlenül kiszűrhetjük. Az EHD módszernél az a gyakorlati tapasztalat, hogy ha egy rajz nem pontosan ott helyezkedik el, ahol az objektum, akkor ezt egyes esetekben rosszul kezeli. A legjobb eredményt 30-as méretű képblokkal és 5-ös értékű küszöbbel értük el.
5.5 HOG vizsgálata A továbbiakban ismertetjük a HOG alapú visszakereséssel kapcsolatos teszteket a különböző paraméterek mellett. A leírók készítésekor befolyásolhatjuk az ablakméretet. Minél nagyobb ez a szám, annál részletesebb leírást kapunk, viszont így veszítünk a módszer robosztusságából, csakúgy, mint az EHD esetében. Beállíthatjuk a vödör számot is, mely meghatározza, hogy az éleket hány csoportba kívánjuk besorolni. Kiindulásként a szakirodalomban számos helyen használt paraméterezést vizsgáltuk meg [18], majd ettől mindkét irányban eltérve végeztünk 47
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
méréseket. Ablak méretnek 3-at, vödörszámnak pedig 9-et ajánlanak [18], [38], így ezeket választottuk kiindulási pontnak.
5.5.1 The Object Databank Az előfeldolgozás paraméterei és a keresett skiccek megegyeznek az EHD tesztnél alkalmazott értékekkel és rajzokkal, az elvégzett mérések száma 80 volt. Először itt is a változó blokkszám hatásait teszteltük le rögzített vödörszám mellett, melynek értékét 9-re választottuk az irodalomban található javaslatok [18], illetve saját későbbi tapasztalataink szerint. Az eredményeket a 3. grafikonról lehet leolvasni. Jól látható, hogy a 4, 5, illetve a 6-os blokkméret mellett értük el a legjobb teljesítményt. A stagnálás valószínűleg a keresési eredmények pozitív, illetve negatív irányú kilengéseinek egyensúlyában keresendő, azonban 6-os blokkparaméter felett jelentős teljesítményromlás figyelhető meg. Ahogy az EHD leírónál, úgy itt is leteszteltük a másik fő paraméter változásával járó teljesítmény-változásokat is. Ennél a tesztnél a blokkszámot fix 5-re választottuk meg, és a vödörszám változtatásával kísérleteztünk. A kapott eredményeket a 4. grafikon foglalja össze. Itt igazolódik be az irodalomban is javasolt 9-es érték jósága [18].
A teljesítmény alakulása változó blokkméret mellett 70%
Hatékonyság
60% 50% 40%
Visszahívás
30%
Precízió
20% 10% 0% 2
4
5
6
7
9
3. grafikon – A hatékonyság alakulása a blokkok számának függvényében.
48
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
A teljesítmény alakulása változó vödörszám mellett 70%
Hatékonyság
60% 50% 40%
Visszahívás
30%
Precízió
20% 10% 0% 5
9
12
15
4. grafikon – A hatékonyság alakulása a vödörszám változásának függvényében.
5.5.2 FlickR160 A legértékesebb teszteredményeink a következő teszt során születtek, hiszen egy mások által is használt adatbázisra [19] próbáltuk ki a részben hasonló saját módszereinket. Az előfeldolgozás paraméterei és a keresett skiccek megegyeznek az EHD tesztnél alkalmazott értékekkel és rajzokkal. Ennek eredményeit a 3. táblázat és a 4. táblázat mutatja be. A kapott eredményeink 105 mérés összesített adatait tükrözik.
Rögzített 9-es vödörszám 3 Diadalív Kör Piramis Templom Görög stílusú épület Átlagos hatékonyság
6
10
Precízió Visszahívás Precízió Visszahívás Precízió Visszahívás 30% 31% 35% 38% 65% 44% 65% 50% 80% 66% 80% 63% 65% 56% 75% 66% 85% 69% 40% 41% 45% 41% 55% 50% 40% 25% 30% 31% 60% 56% 48%
41%
53%
48%
69%
56%
3. táblázat - HOG alapú mérési eredmény, amikor a vödörszám állandó 9 értékű. Az ablak értékek: 3, 6, 10.
49
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Rögzített 10-es ablakméret 5 Diadalív Kör Piramis Templom Görög stílusú épület Átlagos hatékonyság
9
Precízió Visszahívás 50% 41% 65% 53% 80% 66% 45% 41% 50% 44% 58%
15
Precízió 65% 80% 85% 55% 60%
Visszahívás 44% 63% 69% 50% 56%
Precízió 45% 90% 65% 50% 70%
Visszahívás 34% 69% 47% 50% 56%
69%
56%
64%
51%
49%
4. táblázat – HOG alapú mérési eredmény, amikor a küszöb állandó 5 értékű. Az ablak értékek: 5, 15, 30.
5.5.3 Konklúzió A fenti táblázatok adataiból kiderül, hogy rögzített vödörszám mellett az ablakok részletesebb felosztásával növelhető a pontosság (lásd 3. táblázat). A leghatékonyabb kereséseket a 10-es paraméterezésű ablakméret esetén értük el. Fix ablakfelosztással és változó vödörszámmal történő kísérletek során pedig ugyanarra a következtetésre jutottunk, amire az irodalom is szól [18], [38] (lásd 4. táblázat). Ennek értelmében a módszer a 9-es vödörszám érték mellet működik a leghatékonyabban. Általában elmondhatjuk, hogy az Object Databankban szereplő képek esetén a EHD alapú visszakereséssel jobb eredményeket értünk el, mint az HOG alapúval. A FlickR160 adatbázis esetén más a helyzet. Az előfeldolgozás komoly nehézségekbe ütközik a képek sokfélesége következtében. A képeket hasonlóan dolgoztuk fel, mint az EHD teszteknél (Canny-alsó határ=60, -felső határ=100, - σ=6, 8 színt használtunk, minimális élhossz=280). Az átfedő blokkok következtében egy-egy élszakasz az átlagolás következtében nem csak a saját blokkjára, hanem a szomszédjaira is hatással van. Tapasztalataink azt mutatják, hogy a HOG módszer sokkal jobban kezeli a sok kis élből, illetve a görbe élekből álló rajzokat. Ebből következően a FlickR160 képein szereplő nagyobb élmennyiség kedvez a HOG eljárásnak és indokolttá teszi annak használatát. A jelenség oka az átfedő blokkok közti átlagolásból ered. Olykor a rajz és a keresett objektum elhelyezkedése különbözik valamilyen irányban, azonban a kismértékű eltéréseket jól lehet kezelni ezzel a technikával. Ez nem mondható el az EHD esetében. A tesztek egyértelműen azt mutatják, hogy a HOG jobb módszernek bizonyult a FlickR160 esetében.
5.6 Összehasonlítás irodalmi adatokkal Fontos szempont egy rendszer elkészítése után, hogy a konkurens megoldásokkal összevessük, ezért egy 2010-ben publikált kereső rendszerrel végezzük el az összehasonlítást [18]. A szerző a problémát hasonló irányból közelíti meg, mint ahogy mi tettük. Mi távolság transzformációs lépéssel egészítjük ki a leírást, ő pedig gradiens térképpel kiegészített HOG leírót használ, ahol legjobb paraméterezésnek ablak=3 és vödörszám=9-et ad meg. Ezek mellett kísérleti célokból kipróbálta HOG leírást gradiens térkép készítése nélkül és a SIFT módszert. A tesztelést a FlickR160 adatbázis segítségével végezte el, ahol saját 25 elemű rajzadatbázisa alapján keresett (lásd 49. ábra). Minden egyes képre kiszámolja a precíziót (P=32). Az egyes eredményeket átlagolja (lásd 5. táblázat). A saját méréseket a 6. táblázat és a 7. táblázat mutatja be. Minden képet három metrika segítségével kerestünk a HOG esetében, kettővel az EHD esetében, ezek relevanciáját átlagoltuk. 50
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
49. ábra – A szerzők e képek alapján keresnek a teszt során a FlickR160 adatbázisban.
Több módszer kiértékelés skicc alapú kereső rendszerek esetében Módszer
HOG (gradiens térképpel)
HOG (gradiens térkép nélkül)
SIFT
EHD (saját)
HOG (saját)
Átlagos Precízió
54%
42%
41%
43%
44%
5. táblázat – Skicc alapú rendszereknél felhasznált irodalmi és saját módszerek teljesítménye ugyan olyan tesztkörülmények mellett. Saját megoldásunk hatékonynak bizonyult más megoldásokhoz mérten [18].
51
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Kiértékelés a Flick160 adatbázisra HOG leíró segítségével (ablak=10, vödrök száma=9) Átlagos releváns találatok száma
Átlagos precízió
18 21 20 21 21
56,25% 64,58% 62,50% 65,63% 66,67%
20
63,13%
11 10 8 10 8
34,38% 31,25% 23,96% 30,21% 26,04%
9
29,17%
16 16 17 18 18
51,04% 51,04% 53,13% 55,21% 55,21%
17
53,13%
18 13 12 12 11
57,29% 41,67% 36,46% 36,46% 35,42%
13
41,46%
12 9 10 10 11
37,50% 27,08% 32,29% 32,29% 35,42%
Átlagosan
11
32,92%
Átlagok közepe
14
43,96%
Távolságtípus
Manhattan Euklideszi Csebisev
Releváns találatok száma a körök alapján
17 21 18 23 20
18 20 22 20 20
19 21 20 20 24
Átlagosan
Releváns találatok száma a templom alapján
12 12 10 9 6
9 11 7 10 10
12 7 6 10 9
Átlagosan
Releváns találatok száma a piramisok alapján
18 15 16 19 19
15 18 19 15 16
16 16 16 19 18
Átlagosan
Releváns találatok száma a görög stílusú épületek alapján
17 14 10 10 10
18 14 11 12 12
20 12 14 13 12
Átlagosan
Releváns találatok száma a diadalív alapján
10 9 10 10 13
13 10 11 11 10
13 7 10 10 11
6. táblázat – A HOG-hoz kapcsolódó részeredményeink.
52
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Kiértékelés a Flick160 adatbázisra EHD leíró segítségével (ablak=30, küszöb=5) Távolságtípus
Manhattan
Euklideszi
Átlagos releváns találatok száma
Átlagos precízió
Releváns találatok száma a körök alapján
12 12 11 12 12
12 11 11 10 11
12 12 11 11 12
37,50% 35,94% 34,38% 34,38% 35,94%
11
35,63%
12 12 12 13 12
35,94% 37,50% 35,94% 40,63% 37,50%
12
37,50%
13 16 17 19 17
40,63% 50,00% 51,56% 57,81% 53,13%
16
50,63%
18 18 17 13 9
56,25% 56,25% 53,13% 40,63% 28,13%
15
46,88%
13 13 14 14 15
39,06% 39,06% 43,75% 43,75% 45,31%
Átlagosan
14
42,19%
Átlagok közepe
14
42,56%
Átlagosan
Releváns találatok száma a templom alapján
12 12 13 13 13
11 12 10 13 11
Átlagosan
Releváns találatok száma a piramisok alapján
14 16 17 18 16
12 16 16 19 18
Átlagosan
Releváns találatok száma a görög stílusú épületek alapján
19 18 18 12 10
17 18 16 14 8
Átlagosan
Releváns találatok száma a diadalív alapján
13 12 14 14 14
12 13 14 14 15
7. táblázat – Az EHD-hoz kapcsolódó részeredményeink.
53
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
5.7 Többszintű visszakeresés SIFT leíró segítségével Ahogy azt a leírókkal kapcsolatos elvárások című fejezetben ismertettük, többszintű visszakeresési lehetőséget teremtettünk meg azáltal, hogy egy kiválasztott eredménykép SIFT leírója alapján újra el lehet végezni egy pontosító keresést, így a felhasználói élményt és a pontosságot jelentősen meg tudtuk növelni. A keresés akkor hatékony és hasznos, ha olyan adatbázissal használjuk a programot, amelyik bizonyos objektumok előfordulására nézve nagyobb mértékben redundáns – estünkben ez mindegyik adatbázisra teljesül. A SIFT implementáció három paraméter beállítását teszi lehetővé, ebből kettő a leíró vektorok elkészítését szabályozza, egy pedig a visszakeresést. A csúcsküszöb segítségével ki lehet szűrni a Gauss-különbség térben az abszolút értékben túl kicsi lokális szélsőértékeket. Ezzel elérhetjük, hogy csak az igazán stabil és ez által reprezentatív pontok maradjanak meg további feldolgozásra (lásd 50. ábra). Az élküszöb paraméter segítségével a szélsőértékekhez tartozó görbületeknek adhatunk meg egy felső határt Gauss-különbség térben. Az érték növelésével egyre több élt vehetünk bele a szelekcióba a későbbi feldolgozáshoz (lásd 51. ábra). A harmadik paraméter a visszakeresés minőségét befolyásolja, egy küszöböt határoz meg a találatok jóságára.
50. ábra – Ahogy növeljük a csúcsküszöb értéket, egyre több halvány pont esik ki. Az értékek fentről lefelé: 0, 10, 20, 30 [46].
51. ábra – Az él-küszöbértékek sorra: 3.5, 5, 7.5, 10 [46].
54
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
A következőkben vizsgáljuk meg, mennyivel javít a többszintű visszakeresési algoritmus a rendszer hatékonyságán. A SIFT leírók paraméterei a következőek: csúcsküszöb=0,04, élküszöb=70, találatok jósága=0,2. Az egyes értékek heurisztikus próbálgatások eredményei. Bármely más irányba jelentősen elmozdulva rosszabb leírást és összehasonlítást kapunk. A tesztek során pozitív tapasztalatokkal gazdagodtunk. Ha egy olyan adatbázissal rendelkezünk, amelyben sok objektum több képen is előfordul, mint például az általunk használt tesztadatbázisok esetében, akkor viszonylag gyenge visszakeresési eredményt pár kattintással fel lehet javítani (a folyamatot jól szemlélteti az 52. ábra, az 53. ábra és az 54. ábra). Megvizsgáltuk az Object Databank és FlickR160 segítségével a funkciónkat. A mérési eredményeket az 8. táblázat és a 9. táblázat prezentálja. Látszik, hogy módszerünk hatékonyan tudja javítani a visszakeresés sikerességét, ehhez persze megfelelő adatbázis kell. Ha nem is sokkal, de a módszer jobban működik valós környezetben készült képek esetén. A választás azért a SIFT-re esett, mert forgatásra, eltolásra, a nézőpont változásaira és skálázásra invariáns bizonyos mértékig. Előállítási ideje gyors, egy 450 hosszú és 450 széles képet 0.176553 másodperc alatt dolgoz fel a tesztkonfigurációnkon.
52. ábra – A kiindulási skicc, melyet a felhasználó rajzolt.
53. ábra – Az EHD alapú visszakeresés által szolgáltatott eredmény. A kékkel kijelölt objektum alapján fogunk újra keresni az adatbázisban a SIFT leíró segítségével. A sorrend: balról jobbra, fentről lefelé.
55
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
54. ábra – A második szinten növekszik a pontosság. A sorrend: balról jobbra, fentről lefelé.
Farm Kosár Görög stílusú épület Diadalív Templom
Precízió az első kereséssel (EHD leíró segítségével) 21% 28% 60% 45% 40%
Precízió a második kereséssel (SIFT leíró segítségével) 86% 86% 100% 90% 95%
Átlagos hatékonyság
39%
91%
8. táblázat – Mérési eredmények a többszintű, több ciklusú keresésnél.
56
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
Skicc
A találati lista egyik eleme (ez alapján keresünk vissza SIFT alapján)
9. táblázat – Skicc, találati lista egy kiválasztott eleme, mely alapján tovább keresünk. Lentről felfelé: farm, kosár, görög stílusú épület, diadalív és templom.
5.8 Találatok szín alapú osztályozása A felhasználó dolgát könnyítendő felhasználtunk még egy eljárást, arra az esetre, ha az adatbázisban előfordulna több nagyon hasonló alakú objektumot tartalmazó kép, amelyek csak a színvilágukban különböznek. Erre szintén egy saját eljárást fejlesztettünk ki, mely szintén a színek redukálásán alapszik. Addig csökkentjük a képen előforduló színek számát, amíg el nem érjük az egész képre vonatkozó átlagot, amely reprezentálja később a képet. Ezután – hasonlóan másik rendszerekhez [11] – a K-közép klaszterező eljárás segítségével végeztük a csoportosítást [22]. Az 55. ábra mutat egy lehetséges csoportosítást. 57
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
55. ábra – Az eredmények szín alapú csoportosítása a WANG adatbázis képeire [33].
5.9 Az eredmények értékelése, felhasználhatósága A fejezet eddigi részében képi tartalmat leíró algoritmusok hatékonyságát vizsgáltuk, azáltal, hogy mértük a velük történő visszakeresés jóságát. A megfigyelések során kiderült, hogy a 3 leíró közül az EHD teljesített a leggyengébben. Ennek két oka van. A robosztusság csekély mértéke a zajok és zavarok ellen, melynek oka az invariancia hiánya a forgatás, eltolás és nézőpontváltozást tekintve. Láthattuk, hogy részben ezekre a problémákra ad megoldást a HOG leíró. A további problémák kiküszöbölésére a leírást adaptívabbá kell átalakítani. Az EHD módszer a kevés éleket tartalmazó, görbe élekkel ritkábban rendelkező skiccekre működik hatékonyan. A HOG-nál ez inkább fordítva igaz. Bonyolultabb rajzoknál számos esetben jobb eredmények születtek. A SIFT leíró objektum szintén redundáns adatbázisokon működik kiváló minőséggel, invarianciát biztosító tulajdonságai miatt a tartalomalapú keresés számos részterületén felhasználható. Négy fő konklúziót vontunk le a tesztelés során. A képek előfeldolgozásának minősége nagyban befolyásolja a visszakeresést. A SIFT invariáns tulajdonsága miatt tudott kiemelkedő eredményt elérni, ezzel téve sikeressé a többszintű keresést. A különféle metrikák használatával helyenként javítható a hatékonyság.
5.10 Fejlesztési lehetőségek Az első és talán legfontosabb fejlesztési lehetőségnek az előfeldolgozás során használt algoritmusok automatizált paraméter-meghatározását tekintjük. A tesztek során számos esetben kiderült, hogy bizonyos zajokból fakadó problémák megnehezítik a visszakeresést. Léteznek már ilyen módszerek, például MATLAB környezetben is lehet a Canny paramétereit automatikusan kérni, azonban működése nem felelt meg elvárásainknak. Vizsgálni kívánjuk a jövőben a különféle textúra szűrők hatékonyságát, illetve a szegmentáló eljárások használata is felmerült már. A célunk végső soron egy tesztadatok segítségével történő, tanulási képességgel felruházott rendszer kifejlesztése, melynél a paramétereket a felhasználói visszacsatolásnak megfelelően lehet módosítani interaktív módon [28].
58
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
A tesztelés során kiderült, hogy a felhasznált HOG módszerrel számos esetben jobb eredményeket lehet elérni. A két leíró hasonló felépítésű, azonban a HOG esetében több mechanizmust (blokkok normalizálása, átfedő ablak módszere) is felvonultat a robosztusság növelése érdekében. Célunk az EHD és HOG alapján egy saját leírót készíteni, amely ötvözi a két módszer előnyeit. Szeretnénk egy olyan algoritmust elkészíteni, mely a bemenő kép által súlyozza az egyes hisztogramvödrök értékeit, így nyomatékosítva a lényegi részek hangsúlyosabb leírását. A keresési tér növelésével – a képi információ tartalom mellett szöveges jellegű tartalmak – növelhetnénk a felhasználói élményt. Szöveges tartalmak lehetnek egyszerű kulcsszavak, azonban specifikus jelentéssel is rendelkezhetnének, mint a kép elkészítésének földrajzi adatai („geotagging”). A keresési szempontok ügyes kiválasztásával a CBIR rendszereket széleskörűvé lehet tenni a hatékonyság növelésével.
6 Összegzés Elkészítettünk egy olyan tartalom alapú képvisszakereső rendszert, mely az előfeldolgozott képeket indexeli HOG, illetve EHD módszerek felhasználásával és vizsgálhatóvá teszi az különböző módszerek hatékonyságát. A rendszert kiegészítettük egy olyan végső fázissal, melynek során a találatok közül valamelyiket kiválasztva, SIFT algoritmus használatával tovább pontosítja a visszakeresési listát. Két fő szempontot vettünk figyelembe. A visszakeresési folyamat legyen a hagyományostól eltérő és nagymértékben interaktív. A módszernek robosztussága elengedhetetlen bizonyos mértékű zajokig, ami még egyszerű képek esetében is előfordulhat. Implementáltuk és felhasználtunk több jellemző-vektor elkészítési algoritmust. A kezdeti próbálkozásaink során szembetűnt a probléma, hogy a rajzolt képet a színessel, sőt ennek élreprezentációjával módosítás nélkül nem lehet összehasonlítani. Megoldásként közbeiktattunk egy távolságtranszformációs lépést, amely nélkül nem működne a rendszerünk. Az egyszerű simítás-élkeresés alapú előfeldolgozó módszert továbbfejlesztettük, mely hasonló fontossággal bírt, mint az előző lépés. Az eredmények szín szerinti csoportosítása pedig kiegészíti az alak alapú keresést, pótolja a színek vizsgálatának hiányát. Mérési adatainkat összevetettük egy 2010-ben megjelent publikációban közzétett méréssel. A teszteknél összevetettük az EHD és az általunk dinamikusan paraméterezhető továbbfejlesztett HOG implementáció hatékonyságát, előállítási idejét több adatbázisra nézve. Tapasztalataink szerint a HOG felülmúlta az EHD alapú visszakeresést (lásd 10. táblázat). A helyzet azonban nem ilyen egyszerű. Az élhisztogram leíróval főként információban szegényebb skiccekre (kevés vonalból áll) lehet hatékonyabban keresni, míg a másik esetben a részletesebbekre kapunk jobb eredményeket. Ez a HOG átfedő ablakos megoldása miatt van. SIFT alapú többszintű keresési megoldással, az eredményképek alapján finomítottunk a találati listán. A visszakeresési válasz szín alapú kategorizálásával pedig nagyobb döntési lehetőséget adtunk a felhasználó számára, olyan módon, hogy nem egy statikus listával szembesül, hanem több csoport közül választhat.
59
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
HOG és EHD rövid összehasonlítása Módszer
HOG EHD
Átlagos Precízió
51% 45%
Legjobb eredmény
69% 63%
Legrosszabb eredmény 16% 39% 10. táblázat – Rövid összehasonlítás a HOG és EHD között.
Az eredmények azt mutatják, hogy módszerünk használata általános jellegű és egyszerű objektumokat tartalmazó ábrákra sikeresnek bizonyult és nem maradt le már publikált rendszerek eredményeitől. Az elvégzett tesztelések során kiderült, hogy általános beállítások nem léteznek. Automatizálás nélkül csak heurisztikus gondolatokkal próbálkozhatunk. Elmondhatjuk, hogy a CBIR rendszerek belefutottak a hatékony, automatikus szegmentáló algoritmusok hiányába, mint ahogy az a mi esetünkben is történt. Nem tudták a képet az adott szempont szerinti információtartalom alapján felbontani, mivel nem léteztek és nem is léteznek általánosan működő konkrét megoldások. Fontos tudni azt is, hogy a tartalom alapú visszakereső rendszerek miatt újra nagy hangsúly helyeződött a szín alapú képfeldolgozásra. Ez bizonyára kapcsolatban áll az emberi érzékeléssel. Felmerülhet a kérdés, hogy miért van szükség skicc alapú keresőrendszerekre. A válasz egyszerű. A hagyományos adatkezelési módszerek számos téren már nem tudnak megküzdeni az adatok sokaságával, új eljárásokra van szükség. A téma korszerű és igen fontos. Valamit felvázolunk és képeket keresünk, amelyeken valami hasonló van. Ez a gyakorlati problémamegoldások mind gyakoribb igénye. Mivel az ember alapvetően vizuális típus, erre a szempontra is hangsúlyt kell fektetni. Több különböző terület felől is igény mutatkozik képi tartalom alapú keresőrendszerekre, beleértve a rajz alapú keresést is. Megemlíthetjük a bűnüldözést (fantomképek, graffitik, tetoválások azonosítása), ahol a hatóságok munkáját támogathatnák a hatékonyság növelése érdekében. Akár még a múzeumok digitális adatbázisait is fel lehet ruházni interaktív keresőrendszerekkel. Képmegosztó portálokon pedig már fórumokat nyitnak, ahol már sokan várják a saját rendszerünkben használt hasonló technológiák megjelenését. A felhasználási terület és a technológia adott, a kutatási törekvések felerősödtek. E.H. Gombrich szerint csak idő kérdése, hogy a képek mikor cserélik le a kulcsszavakat. Az informatikai kutatások sokasága is az emberi érzékelést próbálja modellezni különféle módon - ez az új irányvonal. Megfelelő adatkezelés mellett hatékonyabban lehetne kiaknázni a felhasználható információban rejlő elképzelhetetlen lehetőségeket.
60
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
8 Irodalomjegyzék [1]
Ashley J., Flickner M., Hafner J. L., Lee D. and Niblack W.. "The query by image content (QBIC) system" Proceedings of the 1995 ACM SIGMOD international conference on Management of data, Vol. 24, No. 2, p. 475, 1995.
[2]
Balasubramani R. and Kannan V. "Efficient use of MPEG-7 Color Layout and Edge Histogram Descriptors in CBIR Systems" Global Journal of Computer Science and Technology, Vol. 9, No. 4, pp. 157-163, 2009.
[3]
Cardani D. "Adventures in HSV Space” pp. 1-10. [Online], visl.technion.ac.il/labs/anat/hsvspace.pdf , utolsó látogatás: 2010.11.10.
[4]
Carnegie Mellon University, University of Pittsburgh. Center for the Neural Basis of Cognition. [Online]. http://stims.cnbc.cmu.edu/Image%20Databases/TarrLab/Objects/ , utolsó látogatás: 2010.11.10.
[5]
Dalal N. and Triggs B. "Histograms of Oriented Gradients for Human Detection” In Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), Vol. 1, pp. 886-893, 2005.
[6]
Dalal N., Triggs B. and Schmid C. "Histogram of Oriented Gradients (HOG) for Object Detection” 2009. [Online]. http://vision.stanford.edu/teaching/cs223b_winter0910/lecture/HoG.pdf , utolsó látogatás: 2010.11.10
[7]
Datta R., Joshi D., Li J. and Wang J. Z. "Content-Based Image Retrieval - Approaches and Trends of the New Age" MIR '05 Proceedings of the 7th ACM SIGMM International Workshop on Multimedia Information Retrieval, pp. 1-10, 2005.
[8]
Datta R., Joshi D., Li J. and Wang J. Z. "Image Retrieval: Ideas, Influences, and Trends of the New Age" ACM Computing Surveys, Vol. 40, No. 2, Art. 5, pp. 1-60, 2008.
[9]
Deselaers T., Keysers D. and Ney H. "Features for Image Retrieval: An Experimental Comparison” Journal Information Retrieval, Vol. 11, Issue 2, pp. 77-107, Nov. 2007.
[10]
Drap P., Casenove M., Edmundson K. and Hanke K. "Automatic point measurement by SIFT – Scale Invariant Features Transform” Virtual ExploratioN of Underwater Sites – Sixth Framework Programme, Technical Report, pp. 38-63, 2006.
[11]
Eitz M., Hildebrand K., Boubekeur T. and Alexa M. "PhotoSketch: A Sketch Based Image Query and Compositing System" SIGGRAPH 2009 Talks, Art. 60, p. 1, 2009.
61
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
[12]
Eitz M., Hildebrand K., Boubekeur T. and Alexa M. "A descriptor for large scale image retrieval based on sketched feature lines" in EUROGRAPHICS Symposium on Sketch-Based Interfaces and Modeling, pp. 29-36, 2009.
[13]
Eitz M., Hildebrand K., Boubekeur T. and Alexa M. (2009) PhotoSketch: A sketch based image query and compositing system . [Online]. http://www.youtube.com/watch?v=luNiuKw063w , utolsó látogatás: 2010.11.10.
[14]
Fabbri R., Costa L. D. F., Torelli J. C. and, Bruno O. M. "2D Euclidean Distance Transform Algorithms: A Comparative Survey" ACM Computing Surveys, Vol. 40, No. 1, Art. 2, pp. 1-44, Feb. 2008.
[15]
Gath I. and Geva A. B. "Unsupervised Optimal Fuzzy Clustering" IEEE Transactions on Pattern Analysis and Machine Intelligence,Vol. 11, Issue 7, pp. 773-781, Nov. 1989.
[16]
Gavilan D., Nakajima M. and Saito S. "Sketch-To-Collage: Query-By-Sketch Based Image Synthesis" ACM SIGGRAPH 2007 Poster, Art. 35, 2007.
[17]
Hashimoto, T., Rövid, A., Ohashi, G., Ogura, Y., Nakahara, H. and Várkonyi-Kóczy, A.R. "Edge detection based image retrieval method by sketches" Proc of the International Symposium on Flexible Automation, pp. 1-4, Osaka, 2006.
[18]
Hu R., Barnard M. and Collomosse J. "Gradient Field Descriptor For Sketch Based Retrieval and Localization” International Conference on Image Processing, pp. 10251028, 2010.
[19]
Hu R., Barnard M. and Collomosse J. (2010) FlickR160. [Online]. http://personal.ee.surrey.ac.uk/Personal/R.Hu/images.zip , utolsó látogatás: 2010.11.10
[20]
Jain A. K., Lee J. E., Jin R. and Gregg N. "Content Based Image Retrieval: An Application to Tattoo Images" IEEE International Conference on Image Processing, pp. 2745-2748, Nov. 2009.
[21]
Jain A. K., Lee J. E., Jin R. and Gregg N. "Graffiti-ID: Matching and Retrieval of Graffiti Images" ACM MM, MiFor`09, pp. 1-6, 2009.
[22]
Kaehler A. and Bradski G. "Learning OpenCV". O’Reilly Media, 2008.
[23]
Kató Z. (2008) Digitális képek szegmentálása. [Online]. http://www.inf.uszeged.hu/~kato/teaching/segmentation/04_color.pdf , utolsó látogatás: 2010.11.10.
[24]
Kató Z., Xiaowen J., Szirányi Z., Tóth Z. and Czúni L. "Content-Based Image Retrieval Using Stochastic Paintbrush Transformation" ICIP'2002, Section: Multimedia Retrieval and Applications, IEEE, Rochester, Vol. 1, pp. 944-947, 2002.
62
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
[25]
Klare B. and Jain A. K. "Sketch to Photo Matching: A Feature-based Approach" Proc. SPIE, Biometric Technology for Human Identification VII, Vol. 7667, pp. 766702-766702, 2010.
[26]
Lakdashti A. and Ajoroloo H. "IRFUM: Image Retrieval via Fuzzy Modeling" Computing and Informatics, Vol. 22, pp. 1001-1029, 2003.
[27]
Ludwig O., Delgado D., Goncalves V. and Nunes U. "Trainable Classifier-Fusion Schemes: An Application To Pedestrian Detection" 12th International IEEE Conference On Intelligent Transportation Systems, Vol. 1, pp. 432-437, 2009.
[28]
MacArthur S. D., Brodley C. E., Kak A. C. and Broderick L. S. "Interactive ContentBased Image Retrieval Using Relevance Feedback" Computer Vision and Image Understanding, Vol. 88, pp. 55-75, 2002.
[29]
Microsoft Coorporation. (2005) Microsoft Research Cambridge Object Recognition Image Database. [Online]. http://research.microsoft.com/en-us/downloads/b94de34260dc-45d0-830b-9f6eff91b301/default.aspx , utolsó látogatás: 2010.11.10
[30]
Ormándi R. (2009, Feb.) Support Vector Machines. [Online]. http://www.inf.uszeged.hu/~ormandi/teaching/mi2/10-SVM.pdf , utolsó látogatás: 2010.11.10.
[31]
Plataniotis K. N. and Venetsanopoulos A. N. "Color Image Processing and Applications", Springer, 2000.
[32]
Rajendran K. and Chang R. "Image Retrieval with Sketches and Compositions" IEEE International Conference on Multimedia and Expo, Vol. 2, pp. 717-720, 2000.
[33]
Ruye W. (2009) Digital Convolution -- E186 Handout . [Online]. http://fourier.eng.hmc.edu/e161/lectures/convolution/index.html , utolsó látogatás: 2010.11.10.
[34]
Schapire R. E. and Singer Y. "Improved Boosting Algorithms Using Confidence-rated Predictions" Machine Learning, Vol. 37, Issue 3, pp. 297-336, 1999.
[35]
Smeulders A. W. M., Worring M., Santini S., Gupta A. and Jain R. "Content-Based Image Retrieval at the End of the Early Years" IEEE Transactions on Pattern Analysys and Machine Intelligence, Vol. 22, No. 12, pp. 1349-1380, 2000.
[36]
Sonera MediaLab. "MPEG-7 White Paper" TeliSonera Finland, MediaLab, 2003.
[37]
Stanchev P. L. "General Image Database Model” VISUAL '99 Proceedings of the Third International Conference on Visual Information and Information Systems, pp. 29-36. 1999.
63
Pozsegovics Péter, Szántó Balázs
ÓE-NIK-IAR, 2010
[38]
Suard F., Rakotomamonjy A., Bensrhair A. and Broggi A.. "Pedestrian Detection using Infrared images and Histograms of Oriented Gradients” Intelligent Vehicles Symposium, pp. 206-212, 2006.
[39]
Tao Y., Xia Y,, Xu T. and Chi X. "Research Progress of the Scale Invariant Feature Transform (SIFT) Descriptors" Journal of Convergence Information Technology, Vol. 5, No. 1, pp. 116-121, 2010.
[40]
The MathWorks Inc. (2010) R2010b Documentation - Image Processing Toolbox. [Online]. http://www.mathworks.com/help/toolbox/images/ref/bwdist.html , utolsó látogatás: 2010.11.10.
[41]
The MathWorks Inc. (2010) R2010b Documentation - Statistics Toolbox - K-means. [Online]. http://www.mathworks.com/help/toolbox/stats/kmeans.html , utolsó látogatás: 2010.11.10.
[42]
The MathWorks Inc. (2010) R2010b Documentation-MATLAB-Convert RGB image to indexed image. [Online]. http://www.mathworks.com/help/techdoc/ref/rgb2ind.html , utolsó látogatás: 2010.11.10
[43]
The MathWorks Inc. http://www.mathworks.com/products/matlab/. [Online]. http://www.mathworks.com/products/matlab/ , utolsó látogatás: 2010.11.10.
[44]
The MathWorks Inc. Image Processing Toolbox . [Online]. http://www.mathworks.com/products/image/ , utolsó látogatás: 2010.11.10.
[45]
The State Hermitage Museum (2006) Digital Library. [Online]. http://www.hermitagemuseum.org/fcgibin/db2www/qbicSearch.mac/qbic?selLang=English , utolsó látogatás: 2010.11.10.
[46]
Vedaldi A. and Fulkerso B. (2005, Oct.) VLFEAT. [Online]. http://www.vlfeat.org/ , utolsó látogatás: 2010.11.10.
[47]
Won C. S., Park D. K. and Park S. J. "Efficient Use of MPEG-7 Edge Histogram Descriptor" ETRI Journal, Vol. 24, No. 1, pp. 23-30, 2002.
[48]
Yahoo! Inc. FlickR - Photo Sharing. [Online]. http://www.flickr.com/ , utolsó látogatás: 2010.11.10.
[49]
Zisserman A. Andrew Zisserman's Home Page - Lecture Courses. [Online]. http://www.robots.ox.ac.uk/~az/lectures/cv/adaboost_matas.pdf , utolsó látogatás: 2010.11.10
64