SKETCH4MATCH, INTERAKTÍV TARALOM ALAPÚ KERESŐRENDSZER
|
|
- Krisztina Vörös
- 9 évvel ezelőtt
- Látták:
Átírás
1 Ó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.
2 Tartalomjegyzék 1 Absztrakt Bevezetés Keresés képeket tartalmazó adatbázisokban Célkitűzés Alkalmazási lehetőségek Lehetséges problémák Irodalomkutatás A multimédiás tartalmak leírása, indexelése, csoportosítása Hasonló rendszerek, felhasznált módszerek PhotoSketch SketchToCollage Fuzzy-logika alapú visszakeresés Saját rendszerünk A rendszer globális felépítése Az előfeldolgozó alrendszer Problémák Megoldások A jellemző vektor előállító alrendszer A leírókkal kapcsolatos elvárások EHD Élhisztogram leíró HOG Gradiens irány hisztogram SIFT Jellemző pont detektor Az alrendszer specifikációja A visszakereső alrendszer Távolság alapú visszakeresés Osztályozás alapú visszakeresés Az adatbázis-kezelő alrendszer A megjelenítő alrendszer felhasználói felület Találatok szín szerinti csoportosított megjelenítése Tesztek és eredmények A tesztelő rendszer A tesztelési szempontok, felhasznált mérőszámok Minta adatbázisok The Object Databank FlickR EHD leírók vizsgálata The Object Databank FlickR
3 5.4.3 Konklúzió HOG vizsgálata The Object Databank FlickR Konklúzió Összehasonlítás irodalmi adatokkal Többszintű visszakeresés SIFT leíró segítségével Találatok szín alapú osztályozása Az eredmények értékelése, felhasználhatósága Fejlesztési lehetőségek Összegzés Irodalomjegyzék
4 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
5 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
6 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
7 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
8 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
9 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
10 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
11 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
12 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
13 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 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
14 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
15 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
16 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 I x az x irányú, I y pedig az y irányú parciális deriváltja az I képnek). 16
17 [ ] 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
18 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 * ]x[ ] 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 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
19 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
20 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 N q részhalmazából. Egy külső felhasználó nevezzük szakértőnek megvizsgálja az N darab képet, hogy az egyes N q -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 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 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
21 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
22 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 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
23 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 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
24 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
25 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
26 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
27 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 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
28 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] 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
29 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 a 0 (i,j), a 1 (i,j), a 2 (i,j) és a 3 (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: f v (k), f h (k), f d-45 (k), f d-135 (k) és f nd (k), ahol k=0,1,2,3 (a szuperpixelen belüli pozíciót adja meg). Az él nagyságát jelöljük m v (i,j), m h (i,j), m d-45 (i,j), m d-135 (i,j) és m nd (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
30 ( ) ( ) ( ) 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{ m v (i,j), m h (i,j), m d-45 (i,j), m d-135 (i,j), m nd (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 ( =150) [2], [47]. 30
31 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
32 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 [ 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 tartományban 20 fokonként vannak előjel nélkül. Egy másik megoldás lehet, ha a teljes 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
33 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 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
34 ( ) ( ( ) ( )) ( ) ( ) ( ) 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
35 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 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
36 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 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
37 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 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
38 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 között fog mozogni 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
39 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
40 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 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
41 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
42 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 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
43 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 FlickR ábra Mintaképek a saját adatbázisunkból. Ezek alapján kerestünk a tesztelés során. 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
44 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 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
45 Hatékonyság Hatékonyság Pozsegovics Péter, Szántó Balázs ÓE-NIK-IAR, 2010 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ó 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. 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. grafikon A hatékonyság alakulása a küszöbszint változásának függvényében. 45
46 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
47 Rögzített 5-ös küszöb, változó blokkszám Precízió Visszahívás Precízió Visszahívás Precízió Visszahívás Diadalív 55% 47% 50% 53% 60% 53% Kör 30% 25% 35% 31% 60% 41% Piramis 45% 41% 50% 47% 65% 56% Templom 15% 31% 35% 31% 50% 41% Görög stílusú épület 50% 38% 60% 50% 80% 63% Átlagos hatékonyság 39% 36% 46% 43% 63% 51% 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 Precízió Visszahívás Precízió Visszahívás Precízió Visszahívás Diadalív 45% 44% 60% 53% 60% 44% Kör 35% 31% 50% 31% 20% 19% Piramis 50% 44% 55% 47% 70% 44% Templom 25% 31% 35% 31% 35% 34% Görög stílusú épület 50% 53% 65% 44% 70% 56% Átlagos hatékonyság 41% 41% 53% 41% 51% 39% 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, 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
48 Hatékonyság 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 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]. 70% 60% 50% 40% 30% 20% 10% 0% A teljesítmény alakulása változó blokkméret mellett Visszahívás Precízió 3. grafikon A hatékonyság alakulása a blokkok számának függvényében. 48
49 Hatékonyság Pozsegovics Péter, Szántó Balázs ÓE-NIK-IAR, % 60% 50% A teljesítmény alakulása változó vödörszám mellett 40% 30% 20% Visszahívás Precízió 10% 0% FlickR grafikon A hatékonyság alakulása a vödörszám változásának függvényében. 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 Precízió Visszahívás Precízió Visszahívás Precízió Visszahívás Diadalív 30% 31% 35% 38% 65% 44% Kör 65% 50% 80% 66% 80% 63% Piramis 65% 56% 75% 66% 85% 69% Templom 40% 41% 45% 41% 55% 50% Görög stílusú épület 40% 25% 30% 31% 60% 56% Átlagos hatékonyság 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,
50 Rögzített 10-es ablakméret Precízió Visszahívás Precízió Visszahívás Precízió Visszahívás Diadalív 50% 41% 65% 44% 45% 34% Kör 65% 53% 80% 63% 90% 69% Piramis 80% 66% 85% 69% 65% 47% Templom 45% 41% 55% 50% 50% 50% Görög stílusú épület 50% 44% 60% 56% 70% 56% Átlagos hatékonyság 58% 49% 69% 56% 64% 51% 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, 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
51 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 Átlagos Precízió HOG (gradiens térképpel) HOG (gradiens térkép nélkül) SIFT EHD (saját) HOG (saját) 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
52 Kiértékelés a Flick160 adatbázisra HOG leíró segítségével (ablak=10, vödrök száma=9) Távolságtípus Manhattan Euklideszi Csebisev Releváns találatok száma a körök alapján Átlagos releváns találatok száma Átlagos precízió ,25% ,58% ,50% ,63% ,67% Átlagosan 20 63,13% Releváns találatok száma a templom alapján ,38% ,25% ,96% ,21% ,04% Átlagosan 9 29,17% Releváns találatok száma a piramisok alapján ,04% ,04% ,13% ,21% ,21% Átlagosan 17 53,13% Releváns találatok száma a görög stílusú épületek alapján ,29% ,67% ,46% ,46% ,42% Átlagosan 13 41,46% Releváns találatok száma a diadalív alapján ,50% ,08% ,29% ,29% ,42% Átlagosan 11 32,92% Átlagok közepe 14 43,96% 6. táblázat A HOG-hoz kapcsolódó részeredményeink. 52
53 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 Releváns találatok száma a körök alapján Átlagos releváns találatok száma Átlagos precízió ,50% ,94% ,38% ,38% ,94% Átlagosan 11 35,63% Releváns találatok száma a templom alapján ,94% ,50% ,94% ,63% ,50% Átlagosan 12 37,50% Releváns találatok száma a piramisok alapján ,63% ,00% ,56% ,81% ,13% Átlagosan 16 50,63% Releváns találatok száma a görög stílusú épületek alapján ,25% ,25% ,13% ,63% ,13% Átlagosan 15 46,88% Releváns találatok száma a diadalív alapján ,06% ,06% ,75% ,75% ,31% Átlagosan 14 42,19% Átlagok közepe 14 42,56% 7. táblázat Az EHD-hoz kapcsolódó részeredményeink. 53
54 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
55 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 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
56 54. ábra A második szinten növekszik a pontosság. A sorrend: balról jobbra, fentről lefelé. Precízió az első kereséssel (EHD leíró segítségével) Precízió a második kereséssel (SIFT leíró segítségével) Farm 21% 86% Kosár 28% 86% Görög stílusú épület 60% 100% Diadalív 45% 90% Templom 40% 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
57 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
Multimédiás adatbázisok
Multimédiás adatbázisok Multimédiás adatbázis kezelő Olyan adatbázis kezelő, mely támogatja multimédiás adatok (dokumentum, kép, hang, videó) tárolását, módosítását és visszakeresését Minimális elvárás
Grafikonok automatikus elemzése
Grafikonok automatikus elemzése MIT BSc önálló laboratórium konzulens: Orosz György 2016.05.18. A feladat elsődleges célkitűzései o eszközök adatlapján található grafikonok feldolgozása, digitalizálása
Gépi tanulás a gyakorlatban. Bevezetés
Gépi tanulás a gyakorlatban Bevezetés Motiváció Nagyon gyakran találkozunk gépi tanuló alkalmazásokkal Spam detekció Karakter felismerés Fotó címkézés Szociális háló elemzés Piaci szegmentáció analízis
Önálló labor beszámoló Képek szegmentálása textúra analízis segítségével. MAJF21 Eisenberger András május 22. Konzulens: Dr.
Önálló labor beszámoló Képek szegmentálása textúra analízis segítségével 2011. május 22. Konzulens: Dr. Pataki Béla Tartalomjegyzék 1. Bevezetés 2 2. Források 2 3. Kiértékelő szoftver 3 4. A képek feldolgozása
Panorámakép készítése
Panorámakép készítése Képregisztráció, 2009. Hantos Norbert Blaskovics Viktor Összefoglalás Panoráma (image stitching, planar mosaicing): átfedő képek összeillesztése Lépések: Előfeldolgozás (pl. intenzitáskorrekciók)
Példák jellemzőkre: - minden pixelérték egy jellemző pl. neurális hálózat esetében csak kis képekre, nem invariáns sem a megvilágításra, sem a geom.
Lépések 1. tanító és teszt halmaz összeállítása / megszerzése 2. jellemzők kinyerése 3. tanító eljárás választása Sok vagy kevés adat áll-e rendelkezésünkre? Mennyi tanítási idő/memória áll rendelkezésre?
Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék
Számítógépes képelemzés 7. előadás Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Momentumok Momentum-alapú jellemzők Tömegközéppont Irányultáság 1 2 tan 2 1 2,0 1,1 0, 2 Befoglaló
Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján. Típusok: felügyelt és felügyelet nélküli tanuló eljárások
Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján Típusok: felügyelt és felügyelet nélküli tanuló eljárások Különbség: előbbinél szükséges egy olyan tanulóhalmaz, ahol ismert a minták
Adaptív dinamikus szegmentálás idősorok indexeléséhez
Adaptív dinamikus szegmentálás idősorok indexeléséhez IPM-08irAREAE kurzus cikkfeldolgozás Balassi Márton 1 Englert Péter 1 Tömösy Péter 1 1 Eötvös Loránd Tudományegyetem Informatikai Kar 2013. november
Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban
Intelligens Rendszerek Elmélete : dr. Kutor László Versengéses és önszervező tanulás neurális hálózatokban http://mobil.nik.bmf.hu/tantargyak/ire.html Login név: ire jelszó: IRE07 IRE 9/1 Processzor Versengéses
Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.
Pontműveletek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. február 20. Sergyán (OE NIK) Pontműveletek 2012. február 20. 1 / 40 Felhasznált irodalom
Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése
Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése 1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Természetes nyelv feldolgozás 2 Tudásalapú információ-kereső rendszerek
Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.
Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017. Vizuális feldolgozórendszerek feladatai Mesterséges intelligencia és idegtudomány Mesterséges intelligencia és idegtudomány Párhuzamos problémák
Adatbázis rendszerek 6.. 6. 1.1. Definíciók:
Adatbázis Rendszerek Budapesti Műszaki és Gazdaságtudományi Egyetem Fotogrammetria és Térinformatika 6.1. Egyed relációs modell lényegi jellemzői 6.2. Egyed relációs ábrázolás 6.3. Az egyedtípus 6.4. A
Sergyán Szabolcs szeptember 21.
Éldetektálás Sergyán Szabolcs Budapesti Műszaki Főiskola Neumann János Informatikai Kar 2009. szeptember 21. Sergyán Sz. (BMF NIK) Éldetektálás 2009. szeptember 21. 1 / 28 Mit nevezünk élnek? Intuitív
8. Pontmegfeleltetések
8. Pontmegfeleltetések Kató Zoltán Képfeldolgozás és Számítógépes Grafika tanszék SZTE (http://www.inf.u-szeged.hu/~kato/teaching/) 2 Példa: panoráma kép készítés 1. Jellemzőpontok detektálása mindkét
Az objektum leírására szolgálnak. Mire jók? Sokszor maga a jellemző az érdekes: Tömörítés. Objektumok csoportosítására
Az objektum leírására szolgálnak Mire jók? Sokszor maga a jellemző az érdekes: pl.: átlagosan mekkora egy szitakötő szárnyfesztávolsága? Tömörítés pl.: ha körszerű objektumokat tartalmaz a kép, elegendő
Láthatósági kérdések
Láthatósági kérdések Láthatósági algoritmusok Adott térbeli objektum és adott nézőpont esetén el kell döntenünk, hogy mi látható az adott alakzatból a nézőpontból, vagy irányából nézve. Az algoritmusok
Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék
Keresés képi jellemzők alapján Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék Lusta gépi tanulási algoritmusok Osztályozás: k=1: piros k=5: kék k-legközelebbi szomszéd (k=1,3,5,7)
INTERAKTÍV TARTALOM ALAPÚ IRODALOMKUTATÁS KERESÉS, SKICC ALAPJÁN KÉSZÍTETTE: POZSEGOVICS PÉTER SZÁNTÓ BALÁZS ÓBUDAI EGYETEM
INTERAKTÍV TARTALOM ALAPÚ KERESÉS, SKICC ALAPJÁN IRODALOMKUTATÁS KÉSZÍTETTE: POZSEGOVICS PÉTER SZÁNTÓ BALÁZS ÓBUDAI EGYETEM NEUMANN JÁNOS INFORMATIKAI KAR INFORMATIKAI AUTOMATIZÁLT RENDSZEREK 2010 1 Tartalomjegyzék
Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz
Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz Szekér Szabolcs 1, Dr. Fogarassyné dr. Vathy Ágnes 2 1 Pannon Egyetem Rendszer- és Számítástudományi Tanszék, szekersz@gmail.com
SSADM Dokumentáció Adatbázis Alapú Rendszerek
SSADM Dokumentáció Adatbázis Alapú Rendszerek Videó-megosztó oldal Szeged, 2012. 1. Csapattagok Sipos Norbert (SINRABT.SZE) Szűcs Dávid (SZDQACT.SZE) Várkonyi Zoltán (VAZSACT.SZE) 1.1. A projekt bemutatása
TERC V.I.P. hardverkulcs regisztráció
TERC V.I.P. hardverkulcs regisztráció 2014. második félévétől kezdődően a TERC V.I.P. költségvetés-készítő program hardverkulcsát regisztrálniuk kell a felhasználóknak azon a számítógépen, melyeken futtatni
A KLT (Kanade Lucas Tomasi) Feature Tracker Működése (jellegzetes pontok választása és követése)
A KL (Kanade Lucas omasi) Feature racker Működése (jellegzetes pontok választása és követése) Készítette: Hajder Levente 008.11.18. 1. Feladat A rendelkezésre álló videó egy adott képkockájából minél több
Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.
Regresszió Csorba János Nagyméretű adathalmazok kezelése 2010. március 31. A feladat X magyarázó attribútumok halmaza Y magyarázandó attribútumok) Kérdés: f : X -> Y a kapcsolat pár tanítópontban ismert
Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)
Szimuláció RICHARD M. KARP és AVI WIGDERSON A Fast Parallel Algorithm for the Maximal Independent Set Problem című cikke alapján (Készítette: Domoszlai László) 1. Bevezetés A következőkben megadott algoritmus
R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský
R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský Recenzió: Németh Boldizsár Térbeli indexelés Az adatszerkezetek alapvetően fontos feladata, hogy
Kiskunmajsa és környéke turisztikai térinformatikai alkalmazás
Kiskunmajsa és környéke turisztikai térinformatikai alkalmazás Tartalomjegyzék 1. A RENDSZER RÖVID LEÍRÁSA...3 1.1. Elvárt funkciók:...3 1.2. Specifikáció...3 1.3. Funkciók ismertetése...3 2. RÉSZLETES
Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata
Kutatási beszámoló a Pro Progressio Alapítvány számára Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Mérnök informatika szak Orvosi készülékekben használható modern
STATISZTIKA. A maradék független a kezelés és blokk hatástól. Maradékok leíró statisztikája. 4. A modell érvényességének ellenőrzése
4. A modell érvényességének ellenőrzése STATISZTIKA 4. Előadás Variancia-analízis Lineáris modellek 1. Függetlenség 2. Normális eloszlás 3. Azonos varianciák A maradék független a kezelés és blokk hatástól
Tömörítés, csomagolás, kicsomagolás. Letöltve: lenartpeter.uw.hu
Tömörítés, csomagolás, kicsomagolás Letöltve: lenartpeter.uw.hu Tömörítők Tömörítők kialakulásának főbb okai: - kis tárkapacitás - hálózaton továbbítandó adatok mérete nagy Tömörítés: olyan folyamat, mely
22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
Informatika tagozat osztályozóvizsga követelményei
Tartalom 9. évfolyam... 1 10. évfolyam... 4 11. évfolyam... 6 12. évfolyam... 8 9. évfolyam Az informatikai eszközök használata Az egészséges munkakörnyezet megteremtése Neumann elvű számítógép felépítése
Területi elemzések. Budapest, 2015. április
TeIR Területi elemzések Felhasználói útmutató Budapest, 2015. április Tartalomjegyzék 1. BEVEZETŐ... 3 2. AZ ELEMZÉSBEN SZEREPLŐ MUTATÓ KIVÁLASZTÁSA... 4 3. AZ ELEMZÉSI FELTÉTELEK DEFINIÁLÁSA... 5 3.1.
6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján
Közelítő és szimbolikus számítások 6. gyakorlat Sajátérték, Gersgorin körök Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján . Mátrixok sajátértékei
SZTE Eötvös Loránd Kollégium. 2. Móra György: Információkinyerés természetes nyelvű szövegekből
2010/2011 tavaszi félév SZTE Eötvös Loránd Kollégium 1. Dombi József: Fuzzy elmélet és alkalmazásai 2011. március 3. 19:00 2. Móra György: Információkinyerés természetes nyelvű szövegekből 2011. március
1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba
Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai
Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet
Klaszteranalízis Hasonló dolgok csoportosítását jelenti, gyakorlatilag az osztályozás szinonimájaként értelmezhetjük. A klaszteranalízis célja A klaszteranalízis alapvető célja, hogy a megfigyelési egységeket
Választó lekérdezés létrehozása
Választó lekérdezés létrehozása A választó lekérdezés egy vagy több rekordforrásból származó adatokat jelenít meg. A választó lekérdezések a táblák, illetve az adatbázis tartalmát nem változtatják meg,
A digitális analóg és az analóg digitális átalakító áramkör
A digitális analóg és az analóg digitális átalakító áramkör I. rész Bevezetésként tisztázzuk a címben szereplő két fogalmat. A számítástechnikai kislexikon a következőképpen fogalmaz: digitális jel: olyan
Konjugált gradiens módszer
Közelítő és szimbolikus számítások 12. gyakorlat Konjugált gradiens módszer Készítette: Gelle Kitti Csendes Tibor Vinkó Tamás Faragó István Horváth Róbert jegyzetei alapján 1 LINEÁRIS EGYENLETRENDSZEREK
4. Lecke. Körök és szabályos sokszögek rajzolása. 4.Lecke / 1.
4.Lecke / 1. 4. Lecke Körök és szabályos sokszögek rajzolása Az előző fejezetekkel ellentétben most nem újabb programozási utasításokról vagy elvekről fogunk tanulni. Ebben a fejezetben a sokszögekről,
Google AdWords és AdSense A Google hirdetési rendszere
Google AdWords és AdSense A Google hirdetési rendszere By: Béres Roland Will Gábor Miről lesz szó? Szintrehozás pár szó a reklámokról Internetes reklámozás kezdetei A nyerő üzleti modell made by Google
az MTA SZTAKI elearning osztályának adaptív tartalom megoldása Fazekas László Dr. Simonics István Wagner Balázs
elibrary ALMS az MTA SZTAKI elearning osztályának adaptív tartalom megoldása Fazekas László Dr. Simonics István Wagner Balázs Miért van szüks kség elearningre Élethosszig tartó tanulás A dolgozó ember
Beszámoló a 13. ECDL (European Conference on Digital Libraries) konferenciáról
Beszámoló a 13. ECDL (European Conference on Digital Libraries) konferenciáról Időpont: 2009. szeptember 28-30. Helyszín: Korfu Készítette: Naszádos Edit (Informatikai Osztály) Résztvevők Több mint 200
Programozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
7. Régió alapú szegmentálás
Digitális képek szegmentálása 7. Régió alapú szegmentálás Kató Zoltán http://www.cab.u-szeged.hu/~kato/segmentation/ Szegmentálási kritériumok Particionáljuk a képet az alábbi kritériumokat kielégítő régiókba
Lakóház tervezés ADT 3.3-al. Segédlet
Lakóház tervezés ADT 3.3-al Segédlet A lakóház tervezési gyakorlathoz főleg a Tervezés és a Dokumentáció menüket fogjuk használni az AutoDesk Architectural Desktop programból. A program centiméterben dolgozik!!!
Koós Dorián 9.B INFORMATIKA
9.B INFORMATIKA Számítástechnika rövid története. Az elektronikus számítógép kifejlesztése. A Neumann-elv. Információ és adat. A jel. A jelek fajtái (analóg- és digitális jel). Jelhalmazok adatmennyisége.
Adatelemzés az R-ben. 2014. április 25.
Adatelemzés az R-ben 2014. április 25. Kísérleti adatok elemzése Kísérlet célja: valamilyen álĺıtás vagy megfigyelés empirikus és szisztematikus tesztelése. Pl. a nők többet beszélnek, mint a férfiak,
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
Struktúra nélküli adatszerkezetek
Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A
Rendszámfelismerő rendszerek
Problémamegoldó szeminárium Témavezető: Pataki Péter ARH Zrt. ELTE-TTK 2013 Tartalomjegyzék 1 Bevezetés 2 Út a megoldás felé 3 Felmerült problémák 4 Alkalmazott matematika 5 További lehetőségek Motiváció
HELYES módosítható, olvashatóság. Válasz Felhasználói élmény, stílusos, egyéni megjelenés HIBAS
Jelölje be azt a sort, amelyben kizárólag a weboldalakkal szemben támasztott alapkövetelmények szerepelnek. Értékes információtartalom, olvashatóság, vonzó és igényes megjelenés. Olvashatóság, felhasználói
Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók
Matematikai alapok és valószínőségszámítás Középértékek és szóródási mutatók Középértékek A leíró statisztikák talán leggyakrabban használt csoportját a középértékek jelentik. Legkönnyebben mint az adathalmaz
I. BESZÁLLÍTÓI TELJESÍTMÉNYEK ÉRTÉKELÉSE
I. BESZÁLLÍTÓI TELJESÍTMÉNYEK ÉRTÉKELÉSE Komplex termékek gyártására jellemző, hogy egy-egy termékbe akár több ezer alkatrész is beépül. Ilyenkor az alkatrészek általában sok különböző beszállítótól érkeznek,
Programozási környezetek
KOVÁSZNAI GERGELY ÉS BIRÓ CSABA EKF TTK Információtechnológia Tanszék Programozási környezetek Alkalmazható természettudományok oktatása a tudásalapú társadalomban TÁMOP-4.1.2.A/1-11/1-2011-0038 WPF Bevezetés
Szövegbányászati rendszer fejlesztése a Magyar Elektronikus Könyvtár számára
Szövegbányászati rendszer fejlesztése a Magyar Elektronikus Könyvtár számára Vázsonyi Miklós VÁZSONYI Informatikai és Tanácsadó Kft. BME Információ- és Tudásmenedzsment Tanszék 1/23 Tartalom A MEK jelenlegi
Informatika-érettségi_emelt 11.-12. évfolyam Informatika
11. évfolyam A tanév célja a középszintű érettségire való felkészítés, az emelt szintű érettségire való felkészülésnek a megalapozása. A középszintű érettségi elősegíti az eligazodást és a munkába állást
Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés
Gépi tanulás a gyakorlatban Kiértékelés és Klaszterezés Hogyan alkalmazzuk sikeresen a gépi tanuló módszereket? Hogyan válasszuk az algoritmusokat? Hogyan hangoljuk a paramétereiket? Precízebben: Tegyük
A mérés problémája a pedagógiában. Dr. Nyéki Lajos 2015
A mérés problémája a pedagógiában Dr. Nyéki Lajos 2015 A mérés fogalma Mérésen olyan tevékenységet értünk, amelynek eredményeként a vizsgált jelenség számszerűen jellemezhetővé, más hasonló jelenségekkel
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 4 IV. MINTA, ALAPsTATIsZTIKÁK 1. MATEMATIKAI statisztika A matematikai statisztika alapfeladatát nagy általánosságban a következőképpen
BitTorrent felhasználók értékeléseinek következtetése a viselkedésük alapján. Hegedűs István
BitTorrent felhasználók értékeléseinek következtetése a viselkedésük alapján Hegedűs István Ajánló rendszerek Napjainkban egyre népszerűbb az ajánló rendszerek alkalmazása A cégeket is hasznos információval
Képfeldolgozás Szegmentálás Osztályozás Képfelismerés Térbeli rekonstrukció
Mesterséges látás Miről lesz szó? objektumok Bevezetés objektumok A mesterséges látás jelenlegi, technikai eszközökön alapuló világunkban gyakorlatilag azonos a számítógépes képfeldolgozással. Számítógépes
1/50. Teljes indukció 1. Back Close
1/50 Teljes indukció 1 A teljes indukció talán a legfontosabb bizonyítási módszer a számítástudományban. Teljes indukció elve. Legyen P (n) egy állítás. Tegyük fel, hogy (1) P (0) igaz, (2) minden n N
A távérzékelt felvételek tematikus kiértékelésének lépései
A távérzékelt felvételek tematikus kiértékelésének lépései Csornai Gábor László István Földmérési és Távérzékelési Intézet Mezőgazdasági és Vidékfejlesztési Igazgatóság Az előadás 2011-es átdolgozott változata
1 Mit értünk cookie, böngésző helyi tárolás ("cookie és hasonló technológia") alatt?
Cookie-szabályzat Hatályos: 2018. május 25. Utoljára frissítve: 2018. március 23. A GfK Hungária askgfk.hu Online Access Panel teljesítése céljából a jelen Cookie-szabályzat alapján cookie-kat és hasonló
Számítógépes döntéstámogatás. Döntések fuzzy környezetben Közelítő következtetések
BLSZM-09 p. 1/17 Számítógépes döntéstámogatás Döntések fuzzy környezetben Közelítő következtetések Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu
A visegrádi országok vállalati információs rendszerek használati szokásainak elemzése és értékelése
A visegrádi országok vállalati információs rendszerek használati szokásainak elemzése és értékelése KRIDLOVÁ Anita Miskolci Egyetem, Miskolc anitacska84@freemail.hu A vállalkozások számára ahhoz, hogy
Adatkeresés az interneten. Cicer Norbert 12/K.
Adatkeresés az interneten Cicer Norbert 12/K. Internetes keresőoldalak Az internet gyakorlatilag végtelen adatmennyiséget tartalmaz A dokumentumokat és egyéb adatokat szolgáltató szerverek száma több millió,
Képfeldolgozás jól párhuzamosítható
Képfeldolgozás jól párhuzamosítható B. Wilkinson, M. Allen: Parallel Programming, Pearson Education Prentice Hall, 2nd ed., 2005. könyv 12. fejezete alapján Vázlat A képfeldolgozás olyan alkalmazási terület,
Microsoft Excel 2010. Gyakoriság
Microsoft Excel 2010 Gyakoriság Osztályközös gyakorisági tábla Nagy számú mérési adatokat csoportokba (osztályokba) rendezése -> könnyebb áttekintés Osztályokban szereplő adatok száma: osztályokhoz tartozó
Táblázatok kezelése. 1. ábra Táblázat kezelése menüből
Táblázat beszúrása, létrehozása A táblázatok készítésének igénye már a korai szövegszerkesztőkben felmerült, de ezekben nem sok lehetőség állt rendelkezésre. A mai szövegszerkesztőket már kiegészítették
Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008
Képfeldolgozás 1. el adás. A képfeldolgozás m veletei Mechatronikai mérnök szak BME, 2008 1 / 61 Alapfogalmak transzformációk Deníció Deníció Geometriai korrekciókra akkor van szükség, ha a képr l valódi
Ionogram releváns területeinek meghatározása és elemzésének automatikus megvalósítása
Ionogram releváns területeinek meghatározása és elemzésének automatikus megvalósítása Előadó: Pieler Gergely, MSc hallgató, Nyugat-magyarországi Egyetem Konzulens: Bencsik Gergely, PhD hallgató, Nyugat-magyarországi
A médiatechnológia alapjai
A médiatechnológia alapjai Úgy döntöttem, hogy a Szirányi oktatta előadások számonkérhetőnek tűnő lényegét kiemelem, az alapján, amit a ZH-ról mondott: rövid kérdések. A rész és az egész: összefüggések
HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév
1. feladat (nehézsége:*****). Készíts C programot, mely a felhasználó által megadott függvényt integrálja (numerikusan). Gondosan tervezd meg az adatstruktúrát! Tervezz egy megfelelő bemeneti nyelvet.
Boros Andrea és Ignéczi Lilla Neumann-ház, Budapest. Networkshop 2004 konferencia Győr, április 4 7.
Boros Andrea és Ignéczi Lilla Neumann-ház, Budapest Networkshop 2004 konferencia Győr, április 4 7. www.webkat.hu A WebKat.hu 2004 februárjában: 213 459 rekord 44 087 saját anyag Cél: a magyar kulturális
Nagyméretű adathalmazok kezelése (BMEVISZM144) Reinhardt Gábor április 5.
Asszociációs szabályok Budapesti Műszaki- és Gazdaságtudományi Egyetem 2012. április 5. Tartalom 1 2 3 4 5 6 7 ismétlés A feladat Gyakran együtt vásárolt termékek meghatározása Tanultunk rá hatékony algoritmusokat
Éldetektálás, szegmentálás (folytatás) Orvosi képdiagnosztika 11_2 ea
Éldetektálás, szegmentálás (folytatás) Orvosi képdiagnosztika 11_2 ea Geometrikus deformálható modellek Görbe evolúció Level set módszer A görbe evolúció parametrizálástól független mindössze geometriai
Miért olyan fontos a minıségi pont?
A fiókban látható konkrét minıségi pont értékek egy olyan általános számítás eredményei, ami a kulcsszó tökéletes egyezése esetére érvényesek. Miért olyan fontos a minıségi pont? A minıségi pont három
Java programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
Az informatika kulcsfogalmai
Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?
Adatszerkezetek 1. előadás
Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk
INFORMATIKA - VIZSGAKÖVETELMÉNYEK. - négy osztályos képzés. nyelvi és matematika speciális osztályok
INFORMATIKA - VIZSGAKÖVETELMÉNYEK - négy osztályos képzés nyelvi és matematika speciális osztályok A vizsgák lebonyolítása A tanuló előre elkészített feladatkombinációkból húz véletlenszerűen. OSZTÁLYOZÓ
Web-programozó Web-programozó
Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,
Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. Például (bemenet/pelda.
Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. BEDTACI.ELTE Programozás 3ice@3ice.hu 11. csoport Feladat Madarak életének kutatásával foglalkozó szakemberek különböző településen különböző madárfaj
SZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ
ÓBUDAI EGYETEM Neumann János Informatikai kar Alba Regia Egyetemi Központ SZAKDOLGOZAT OE-NIK Hallgató neve: Berencsi Gergő Zsolt 2010. Törzskönyvi száma: T 000123/FI38878/S-N Tartalomjegyzék Tartalmi
A KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA INFORMATIKA TÉMAKÖREI: 1. Információs társadalom
A KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA INFORMATIKA TÉMAKÖREI: 1. Információs társadalom 1.1. A kommunikáció 1.1.1. A kommunikáció általános modellje 1.1.2. Információs és kommunikációs technológiák és rendszerek
PIAC_ Nemzetközi Határozatkereső rendszer fejlesztése. Szakmai fórum február 29.
PIAC_13-1-2013-0117 Nemzetközi Határozatkereső rendszer fejlesztése Szakmai fórum 2016. február 29. A LEXPERT Nemzetközi Határozatkereső projekt célja Egy olyan új alkalmazás létrehozása, amely - naprakészen
Összeállította Horváth László egyetemi tanár
Óbudai Egyetem Neumann János Informatikai Kar Intelligens Mérnöki Rendszerek Intézet Intelligens Mérnöki Rendszerek Szakirány a Mérnök informatikus alapszakon Összeállította Horváth László Budapest, 2011
Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t
Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,
BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv?
BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv? Készítették: Névery Tibor és Széll Ildikó PPKE I. évf. kiadói szerkesztő hallgatók, közösen 1 BEVEZETŐ Az elektronikus könyv valamilyen
Máté: Számítógépes grafika alapjai
Történeti áttekintés Interaktív grafikai rendszerek A számítógépes grafika osztályozása Valós és képzeletbeli objektumok (pl. tárgyak képei, függvények) szintézise számítógépes modelljeikből (pl. pontok,
Fejlett kereső és lekérdező eszközök egy elektronikus szakfolyóirathoz (IBVS)
Networkshop, 2008 Márc. 17 19., Dunaújváros Holl Erdődi: Fejlett kereső... 1 Fejlett kereső és lekérdező eszközök egy elektronikus szakfolyóirathoz (IBVS) Holl András Erdődi Péter MTA Konkoly Thege Miklós
Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter
Információ megjelenítés Számítógépes ábrázolás Dr. Iványi Péter Raszterizáció OpenGL Mely pixelek vannak a primitíven belül fragment generálása minden ilyen pixelre Attribútumok (pl., szín) hozzárendelése
Statisztikai eljárások a mintafelismerésben és a gépi tanulásban
Statisztikai eljárások a mintafelismerésben és a gépi tanulásban Varga Domonkos (I.évf. PhD hallgató) 2014 május A prezentáció felépítése 1) Alapfogalmak 2) A gépi tanulás, mintafelismerés alkalmazási
1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD)
1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD) 1 1.1. AZ INTEGRÁLT ÁRAMKÖRÖK GYÁRTÁSTECHNOLÓGIÁI A digitális berendezések tervezésekor számos technológia szerint gyártott áramkörök közül
Objektumorientált paradigma és a programfejlesztés
Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált