SAPINTIA ERDÉLYI MAGYAR TUDOMÁNYEGYETEM M SZAKI ÉS HUMÁNTUDOMÁNYOK KAR MATEMATIKA - INFORMATIKA TANSZÉK TDK Dolgozat Hibrid képleírás TÉMAVEZETŽ: Egyed-Zsigmond El d SZERZŽ: Madaras Hunór 2014 Április
Tartalomjegyzék 1. Bevezet 3 2. Feldolgozás és sz rés röviden 4 3. Képek feldolgozása 5 3.1. Diszkriminánsok hozzárendelése a módszerekhez............... 5 3.1.1. El készít módszer:.......................... 5 3.1.2. Tanulás:................................ 5 3.1.3. Optimalizálás:.............................. 6 3.1.4. A tanulás eredménye:......................... 7 3.1.5. Egy kulcsszó valószín séggel írja le a képet?............. 8 3.2. Különböz kép összehasonlítási módszerek.................. 11 3.2.1. Hisztogram JFeature könyvtár alapján: (m1-m6).......... 11 3.2.2. Arc felismrés Openimaj könyvtár segítségével: m7.......... 11 3.2.3. Érdekes pontok keresése: m8...................... 11 3.3. Hisztogram normalizálás:............................ 11 3.3.1. Egy hisztogram normalizálása:..................... 12 3.3.2. Két azonos típusú hisztogram normalizálása és a különbség számítása :................................... 12 3.4. Vizuális magyarázat, a projekt összefoglalása képekben........... 12 3.4.1. Összefoglalás, teljes felülnézet:..................... 12 3.4.2. Szabály kifejtése:............................ 13 3.4.3. Szabály kifejtésének magyarázata:................... 14 3.4.4. Kulcsszó kiértékelés:.......................... 15 3.4.5. Kulcsszó kiértékelés magyarázat:................... 16 4. Összefoglaló 17 2
1. fejezet Bevezet Napjainkban a képfeldolgozás nagyon elterjedt tudomány és kutatási terület is egyben. A képfeldolgozás általában pixel alapján történik, ezek segítségével nyerünk ki információkat a képekb l. A legegyszer bb pixel alapú információ kinyerés az a hisztogram számítás, vagyis meghatározni, hogy minden színárnyalat hányszor fordul el a képen. Különböz hisztogramok léteznek, mint például szín(rgb, R, G, B), luminance(fényesség), szürke hisztogram. Más pixel alapú feldolgozási szempont lehet az érdekes pontok, textúra elemzés, él detektálás. A képalkotó készülékekben már megtalálható valamilyen képfeldolgozási algoritmust, ilyenek például az arc felismerés, mosoly észlelés, vörös szempár elrejtése, fekete fehér kép készítése. Ugyanakkor háttérben is végbemennek, bizonyos képfeldolgozási m veletek, hiszen a képek nomítása, tisztítása már szoftver szintjén is történik. Lehet ségünk van bizonyos szavakat, leírásokat adni a képekhez, ilyen például mikor a képen latható archoz írhatjuk az illet nevét. Bizonyos közösségi oldalakon (Facebook [3]) is megtalálhatjuk ezeket a funkciókat, de vannak képmegosztó oldalak (kép bankok, Flickr [1], Getty Images [2]) is ahol a felhasználóknak lehet ségük van a feltöltött képekhez kulcsszavakat adni, ez által a képek olyan leírásokkal fognak rendelkeznek, mely minden embernek érthet lesz, hisz szavakkal leíródnak. Ezeket gyelembe véve lehet ségünk van két szempontból jellemezni, feldolgozni a képeket. A pixel alapú képfeldolgozással, amikor a képpontokkal dolgozunk és a kulcsszavak alapján, amikor a hozzájuk rendelt leírás alapján hasonlítjuk, sz rjük ket. Az elkövetkezend kben a képfeldolgozási algoritmusok, a kulcsszavak és a képek közti kapcsolatot keresem, melynek végén elmondhatom egy kulcsszó, hogy egy képet milyen valószín séggel ír le. 3
2. fejezet Feldolgozás és sz rés röviden Amint már említettem a képlírást két szempontból közelítem meg. Az els, a képekhez rendelt kulcsszavak, a második, a pixel alapú képleírás. A képeket és a kulcsszavakat különböz publikus adatbázisokból lehet elérni, például a Flickr [1] vagy Getty Images [2], ezáltal már kapunk olyan képeket, melyek le vannak írva szavakkal, az az tulajdonságok vannak rendelve a képekhez. A második megközelítés a pixel alapú képleírás. Tudjuk, hogy a képtartalom karakterizálható numerikus leírás vektorok segítségével. Ezek a vektorok különféle algoritmusok eredményei, ilyen például a hisztogramok (szürke,luminance,rgb,stb.), Sift leírás(érdekes pontok), textúra leírás vagy a kontúr. A projekt célja a leírásvektorok és a kulcsszavak közötti összefüggések felismerése, például melyek azok a képleírás típusok amelyek legjobban eldöntik, hogy az illet kép kint vagy bent volt készítve, van-e arc a képen, vannak-e állatok rajta? F cél, hogy egy új, még kulcsszavakkal le nem írt, képhez megtaláljuk a legtalálóbb kulcsszavakat egy adott kulcsszóhalmazból. Ennek a megvalósításához be kell tanítsuk a programunkat, különféle hátárértékeket kell rendeljünk a kulcsszavakhoz, annak függvényében, hogy egy képleíró módszer mennyire diszkrimináns az illet kulcsszóra nézve(rendelkezünk egy 200000 képet és azok háromnyelv leírását tartalmazó adatbázissal. Ezt az adatbázist a Getty Images [2] képbank weboldaláról töltöttük le). Célunk eléréséhez sz réseket kell végezni a képeken, például kulcsszavak alapján, majd a kulcsszavakhoz tartozó képeken képleíró algoritmusokkal összehasonlítást végzünk, hogy határértékeket tudjunk meghatározni. Összefoglalóban, a kutatás célja, hogy egy képr l eldöntsük, hogy egy adott halmazból származó kulcsszó milyen valószín séggel írja le és ehhez szükségünk van nem kizárólag egy képleíró algoritmusra, hanem akár ezek kombinációjára. 4
3. fejezet Képek feldolgozása 3.1. Diszkriminánsok hozzárendelése a módszerekhez 3.1.1. El készít módszer: Legyen T K a tanuló képek halmaza, úgy hogy T K = { kep i,ksz i }, ahol kep i egy kép és Ksz i a kep i -hez tartozó kulcsszavak halmaza és MK a képleíró módszerek halmaza, T K = N és MK = M. A már meglév N darab képb l felépítünk minden módszerre egy T j = N x N mátrixot, ahol T j (a, b) = m j (a,b) (két kép közötti távolság az m j képleíró módszerrel és a, b T K ), j 1... M. 3.1.2. Tanulás: Minden ksz kulcsszóra felépítünk két halmazt: L ksz = { kep q melyeket a ksz kulcsszó leír }, q = 1... L ksz NL ksz = { kep w melyeket a ksz kulcsszó nem ír le}, w = 1... NL ksz NL ksz = N L ksz A ksz kulcsszóra minden módszer alapján felépítünk egy T kszj = L ksz x NL ksz mátrixot, amelyet feltöltünk a már meglév távolságokkal a T j -b l. A T k sz j sora megfelel egy ksz által leírt képnek és a az oszlopa a ksz által nem leírt képnek az az T k sz j (a,b)=t j (a,b), ahol a L ksz és b NL ksz. Ezt követ en minden T k sz j -re számolunk egy átlagot ami legyen AtlagT avolsag_ksz mj. Ez az érték lesz az m j módszert leíró diszkrimináns. 5
6 FEJEZET 3. KÉPEK FELDOLGOZÁSA 3.1. ábra. Mennyi a különbség a két kép között? 3.1.3. Optimalizálás: Veszünk egy o számot (o <= L ksz ), kiválasztunk minden kulcsszóra az o l legjellemz bb képet illetve az o nl legkevésbé jellemz képet. Ezekb l felépítünk egy t ksz mátrixot amib l kiszámolunk egy újabb atlag_tavolsag_ksz mj Ehhez kell építsünk egy kulcsszó alapú képtávolság számoló függvényt: f tksz (k 1, k 2 ) = kk nk k 1 k 2, ahol kk a k 1, k 2 képek közös kulcsszavainak a száma és nk a k 1, k 2 képek különböz kulcsszavainak a száma. Felépítünk egy Tksz sz mátrixot ami a képek közötti szó alapú távolságokat tartalmazza. Tksz sz egy L ksz x NL ksz méret mátrix. Az elemei pedig Tksz sz (a, b) = f tksz(a, b). Kiválasztjuk a Tksz sz mátrix o darab legnagyobb értéket. Ezek sora és oszlopa megadja a t ksz elemeit. Legyen például a 3.1 ábrán látható két kép és a kiválasztott kulcsszavunk a "híd". Ebben az esetben a k 1 kép kulcsszavai: kint, palló, Andalúzia, híd, spanyolország, rock, színes kép, rock formáció, nappal, az út, utazási célpont, Granada - Spanyolország, buja, kapcsolat, fénykép, nincsenek emberek, nyugalom és a k 2 kép kulcsszavai: ül, középs feln tt, oktatás, m termi kép, gyermek, lánya, a turizmus, középs feln tt n, város, hideg, este, tanácsadás, zöld, aratás, táj, tó, f városok, színes kép, virágmintás, 30-34
3.1. DISZKRIMINÁNSOK HOZZÁRENDELÉSE A MÓDSZEREKHEZ 7 3.2. ábra. Mennyire jellem a "híd" kulcsszó erre a képre? éves, ragasztás, teljes hosszúságú, fénykép, olvasás, az egyik szül, az oktatás, az anya, egyedülálló anya. A bal oldali a k 1 -es és a jobb oldali a k 2 -es kép. Ezek után elmondhatjuk, hogy a kk = 2-vel és a nk = 26-at, a k 1 = 17-el és a k 2 = 28-al, ebb l következik, hogy a f tksz (k 1, k 2 ) = 2 26 17 28 = 2.18. 3.1.4. A tanulás eredménye: Minden ksz kulcsszóra van egy AtlagT avolsag ksz = { m j, AtlagT avolsag_ksz mj } halmaz. Vagyis minden kulcsszónak megvan az minden képleíró módszer által a diszkrimináns értéke. A képleíró módszerek a 3.2 fejezetben láthatóak. Legyen a kulcsszavunk a már használt "híd" kulcsszó. A program a tanulásokor a híd kulcsszóra a tanuló képek alapján a következ értékeket adja módszerenként: Szürke RGB Fény Piros Zöld Kék 12.7 8.5 4.97 15.4 11.57 11.2 3.1. táblázat. Átlagtávolság vektor
8 FEJEZET 3. KÉPEK FELDOLGOZÁSA 3.3. ábra. A híd kulcsszóra jellemz átlag hisztogram A 3.1 táblázatban látható, hogy a három legdiszkriminánsabb módszer a szürke, a piros és a zöld hisztogram számítás. Mindhárom módszerre kiszámoljuk a jellemz és a nem jellemz hisztogramot, a 10 jellemz és nem jellemz kép alapján, ezen hisztogramok segítségével lehet ségünk lesz valószín séget számolni a következ fejezetben. A szürke hisztogram jellemz átlag hisztogram a 3.3 ábrán látható valamint a nem jellemz hisztogram a 3.4 ábárn látható. A 3.5 ábrán található hisztogram ábrázolás, a híd kulcsszóra jellemz képnek a a leírása, mely a 3.2 ábrán látható. Elmondhatjuk, hogy a 3.5 és 3.3 ábrák hasonlóak egymásra nézve, míg a 3.4 és a 3.5 nem találunk hasonlóságot, ebb l megállapíthatjuk, hogy a tanulás sikeres, vagyis a kulcsszó jellemz a 3.5 képre. 3.1.5. Egy kulcsszó valószín séggel írja le a képet? Az elkövetkezend alfejezetben csak olyan képleíró módszereket használunk, amik hisztogram formájú eredményeket adnak. Megvannak az értékek, az az a AtlagT avolsag_ksz mj, ezeket normalizáljuk ( minden elemet osztunk a MAX-MIN értékel), ezek után a három legnagyobb érték lesz a diszkrimináns értékhalmaz az illet kulcsszóra. L ksz és NL ksz képekb l a m j értékeket számolunk. Az L ksz és az új kép m j értékeit egy átlagoló algoritmussal egyetlen egy értékké alakítjuk, majd ugyan ezt megcsináljuk a NL ksz és az új képel.
3.1. DISZKRIMINÁNSOK HOZZÁRENDELÉSE A MÓDSZEREKHEZ 9 3.4. ábra. A híd kulcsszóra nem jellemz átlag hisztogram 3.5. ábra. A híd kulcsszóra jellemz kép hisztogramja, a 3.2 kép alapján
10 FEJEZET 3. KÉPEK FELDOLGOZÁSA 3.6. ábra. A híd kulcsszóra jellemz kép D(L, NL) : leírt és nem leírt képek átlag hisztogramai közötti távolság (AVG alapú) D(U, NL): új kép és nem leírt képek átlag hisztogramai közötti távolság (AVG alapú) D(U, L) : új kép és leírt képek átlag hisztogramai közötti távolság (AVG alapú) Valószín ség = D(U,L) D(U,NL)+D(U,L) Tehát ha szeretnénk tudni, hogy a "híd" kulcsszó milyen valószín séggel írja le a 3.6 képet. Szükségünk van ennek a képnek azon képleíró módszer általi hisztogramaira, melyek diszkriminánsak "híd" kulcsszóra és a módszerek jellemz és nem jellemz vektoraira. A "híd" kulcsszó esetében a diszkrimináns módszerek a szürke, zöld és piros hisztogram számítási módszerek. A kulcsszó módszereire jellemz és nem jellemz leírásvektorok el vannak mentve a kulcsszóval és a módszerekkel közösen. A új kép érkezésekor, annyi a dolgunk hogy kiszámoljuk a kulcsszóhoz tartozó módszerenkénti vektorokat és felépítsük a valószín ségeket a fentebb látható képlet alapján. Minden módszerre kapunk egy valószín séget, ezeket összeadjuk és elosztjuk a diszkrimináns módszerek számával, ez lesz a végs valószín ség mely alapján eldöntjük, hogy a képet leírja a kulcsszó vagy sem. Visszatérve a példánkhoz a valószín ségek módszerenként szürke: 0.63, zöld: 0.58, piros: 0.59 és akkor annak az esélye, hogy a kulcszó jellemz a képre 0.60.
3.2. KÜLÖNBÖZŽ KÉP ÖSSZEHASONLÍTÁSI MÓDSZEREK 11 3.2. Különböz kép összehasonlítási módszerek Az elkövetkezend kben egy egy kód bet t, (m i ) i N,i>0, rendelek minden függvényhez, ami az illet függvény azonosítója lesz. Ugyanakkor minden függvényr l egy kis leírás olvasható, hogy hogyan is m ködik. 3.2.1. Hisztogram JFeature könyvtár alapján: (m1-m6) gethistorgramforjfeature(int type, ColorProcessor img) : ezen függvény segítségével megkaphatjuk egy kép szürke, kék, zöld, piros, RGB (zöld - piros- kék egyben), HSB ( színárnyalat - telítettség - világosság ) hisztogramát, azaz egy double ( 256 méret ) típusú tömböt. A függvény használja a de.lmu.i.dbs.jfeaturelib könyvtárt [4] ebben találhatóak a hisztogram számoló algoritmusok és egy másikat ImageJ [5] amely a kép betöltéséhez szükséges. A paraméter listába el ször a hisztogram típusát kell megadni ( Gray=0, HSB (hue saturation brightness) = 1, Blue = 2, Green.= 3, Red= 4, RGB= 5 ) és második paraméterként egy kép ColorProcessor -át. 3.2.2. Arc felismrés Openimaj könyvtár segítségével: m7 getnumberoffaceisopenimaj(string path) : ez a függvény visszatéríti, hogy a paraméterben megadott forrásnál található képen hány arc van. Ez a függvény egy org.openimaj.image () [5] könyvtárat használja amelyben már be van építve egy arc felismer algoritmus és ennek segítségével megállapítható, hogy a képen hol találhatóak az arcok és, hogy hány van bel lük. 3.2.3. Érdekes pontok keresése: m8 get2imagecommuninterestpoint(string path1, String path2) : ez a függvény visszatéríti a paraméter listában megadott forrásokon található két kép közös úgynevezett érdekes pontjait. Az érdekes pontokat és ezek közül a közöseket egy könyvtár segítségével határozom meg, ez a könyvtár a Surf Imagej [8]. 3.3. Hisztogram normalizálás: Ahhoz, hogy a hisztogramokkal könnyedén tudjunk dolgozni, szükségünk van azok normalizálására, azaz határok közé szorítani az értékeket, hogy ne legyen adatok szórása nagy.
12 FEJEZET 3. KÉPEK FELDOLGOZÁSA 3.3.1. Egy hisztogram normalizálása: getnormalizatedhistogram(double[] histogram) : ennek a függvénynek paraméter listájába megadunk egy double tömböt és normalizálja az értékeket [-1,1] közé és ezt a normalizált tömböt téríti vissza, a normalizálási módszert SERGIOS THEODORIDIS - PATTERN RECOGNITION [7] könyvében lév adat normalizálás alapján végeztem. 3.3.2. Két azonos típusú hisztogram normalizálása és a különbség számítása : normalizationoftwosametypeofhistogram(int histtype, String path1, String path2): a paraméter listában megadott két kép forrásból betölti a képet, majd a megadott hisztogram típus alapján hisztogramokat számít, normalizálja és a kett nek különbségét visszatéríti. A paraméterben megadott hisztogram értékek a következ k lehetnek a histtype-nak : Gray=0, HSB (hue saturation brightness) = 1, Blue = 2, Green.= 3, Red= 4, RGB= 5. 3.4. Vizuális magyarázat, a projekt összefoglalása képekben 3.4.1. Összefoglalás, teljes felülnézet: Amint azt a 3.7 ábrán is láthatjuk, a program kap egy képet és egy kulcsszót, amelyet kiértékel valamilyen szabály alapján. A szabály egy összetettebb folyamat melyet következ fejezetben tárgyalok. Az eredmény egy szám amely megmondja, hogy a megadott kulcsszó milyen valószín séggel jellemz a megadott képre. 3.7. ábra. A program futása
3.4. VIZUÁLIS MAGYARÁZAT, A PROJEKT ÖSSZEFOGLALÁSA KÉPEKBEN 13 3.4.2. Szabály kifejtése:
14 FEJEZET 3. KÉPEK FELDOLGOZÁSA 3.4.3. Szabály kifejtésének magyarázata: 1 "Szabály és tanulás": egy összetett folyamat melynek során eld l, hogy mely képleíró módszerek a legjellemz bbek, az adatbázisban található kulcsszavakra. Ezt, két módszer alapján is vizsgáltam, a második a kedvez bb eset, ugyanis gyorsabb és hatékonyabb, ezért a gyakorlatban is ezt használtam. 1.1 "Sz rés: egyszer Ksz alapú": az Egyes Módszer alapján ebben a fázisban szétválasztom a képhalmazt, úgy, hogy a "Kp. melyek leírják" halmazba kerülnek azok a képek melyek le vannak írva az illet kulcsszóval és "Kp. melyek NEM írják le" halmazba kerülnek azok a képek, melyek nincsenek leírva a kiválasztott kulcsszóval. 1.2 "Képleíró módszerek": miután a képek fel lettek osztva két halmazra, a rendelkezésre álló képleíró módszer mindegyikére felépítek egy távolság mátrixot, ezeket átlagolom és megkapjuk távolságokat módszereként. Rengeteg adatfeldolgozást igényel és nagyon lassú lesz emiatt. 2.1 A 1.1 pontban említett sz rés történik. 2.2 "Kulcsszó távolság": a felosztott két halmazt további sz résnek vetem alá, ahol felépítek egy mátrixot kulcsszó távolság alapján. A mátrix egy oszlopa azok a képek melyeket leír a kulcsszó és sora, azok a képek melyeket nem ír le a kulcsszó. A távolság számítás egyszer folyamat, veszünk két képet és a köztük lév távolság érték úgy állapítható meg, hogy a közös kulcsszavak számából kivonjuk a nem közös kulcsszavak számát, majd ezt osztjuk a két kép kulcsszó számának különbségének abszolút értékével. 2.3 "Sz rés": újabb sz rést alkalmazunk, úgy hogy a felépített kulcsszó alapú távolság mátrixunkból kivesszük a bemenetr l érkezett Q darab legnagyobb értéket és így kapunk Q darab kulcsszóval leírt képet és ugyanennyi kulcsszóval le nem írt képet. 2.4 "Képleíró módszerek": a 2xQ darab képre minden képleíró módszer alapján kiszámolom az átlag értékeket. Ez a m velet, úgy történik, hogy minden egyes képleíró módszerre felépítek egy QxQ méret mátrixot, a mátrix elemei a Q darab leírt és Q darab nem leírt képek közötti távolság az illet módszer alapján. Miután a mátrixokat kiszámoltam átlagolom ket, így kapok egy vektort amelyben szerepel az illet képleíró módszer és a hozzárendelt átlag távolság. 2.5 "Normalizálás, Diszkrimináns...": ez a végs sz rés mely végén kiderül, hogy egy kulcsszóra melyek a legdiszkriminánsabb módszerek. A 2.4-es ponton kiszámolt vektort normalizáljuk és kiválasszuk a bemenetr l megadott OL darab legnagyobb
3.4. VIZUÁLIS MAGYARÁZAT, A PROJEKT ÖSSZEFOGLALÁSA KÉPEKBEN 15 értéket. Ezek alapján már tudjuk, hogy mely képleíró módszerek a legdiszkriminánsabbak a kulcsszóra nézve. Ezek után minden diszkrimináns módszer alapján, a Q darab leírt képnek kiszámoljuk a képleíró módszer alapján meghatározott leírásvektorát, majd átlagoljuk ket, ezt elvégezzük a Q darab kulcsszóval nem leírt képekre és így kapunk minden diszkrimináns módszer alapján egy jellemz és egy nem jellemz vektort. 3.4.4. Kulcsszó kiértékelés:
16 FEJEZET 3. KÉPEK FELDOLGOZÁSA 3.4.5. Kulcsszó kiértékelés magyarázat: 1 "Vektor számítás": a szabály kifejtés végén megkaptuk az adatbázisunkat kulcsszavakkal és a hozzájuk tartozó diszkrimináns képleíró módszerekkel, melyek tartalmaznak egy jellemz és egy nem jellemz vektort. Ennek segítségével, új kép és az adatbázisban megtalálható kulcsszó érkezésével ebben a részben az illet kulcsszóhoz tartozó minden diszkrimináns módszerre kiszámoljuk az új képhez tartozó leírás vektort. Ennek eredménye képen minden képleíró módszerhez fog tartozni egy az új képet leíró vektor és ugyanakkor a jellemz és nem jellemz leírásvektorok. 2 "Valószín ség számítás": a módszerek és a hozzájuk tartozó vektorok segítségével valószín séget számolunk, úgy hogy módszerenként különbséget számolunk a jellemz vektor és az új kép vektora közt, majd a nem jellemz vektor és az új kép vektora közt. Ezeket a vektorokat átlagoljuk, az els legyen dista(jel, uj) és a második legyen dista(nemjel, uj). Az átlagértékekb l felépítjük a valószín séget minden dista(jel,uj) módszer alapján, azaz: p =. A végs értéket úgy kapjuk dista(nemjel,uj)+dista(jel,uj) meg, hogy a módszerek alapján kapott valószín ségeket elosszuk az OL-el.
4. fejezet Összefoglaló A kutatásban 6000 képet használtam, melyb l 10 jellemz és 10 nem jellemz képet választottam ki, 57 kulcsszóra, a kulcsszavak: folyó, torony, napsütés, szépség a természetben, hideg, tengerpart, felh, india, f, fa, város, köd, árnyék, emberek, ház, séta, fénykép, kocsi, tó, erd, f város, egyesült királyság, színes kép, vadon, tiszta égbolt, felh karcoló, éjszaka, városkép, kupola, házban, hold, híd, katedrális, szürkület, égbolt, út növény, ág, hegy, napfelkelte, rock, tavacska, táj, sétány, nappal, nyugalom, megvilágított, napnyugta, épület küls, történelem, olaszország, svédország, homok, hajnal, folyópart, hal, boltív. Ezek szerint a tanuló halmazom 10-10 képet tartalmaz és 57 kulcsszót, a tanulás befejeztével leteszteltem a programot a tanult képekre és 70%-os egyezést kaptam, hozzá kell tenni, hogy ez a 70% csak hisztogram alapú képleírásokból származik. Jöv beli célok közé tartozik, hogy a képleíró módszereket b vítsem ezáltal megn a találatok százaléka, hisz a hisztogram egy elég általános képleíró típus, ugyanakkor növelni akarom a képek számát is melyekb l sz rhetek. A kulcsszavak számának növelésével, gondolok itt úgynevezett "jó" kulcsszavakra, melyek konkrét dolgokat írnak le és nem csak körülírások, a program képes lesz több leírást adni a képekr l. 17
Irodalomjegyzék [1] https://www.ickr.com [2] http://www.gettyimages.com [3] https://www.facebook.com/ [4] https://code.google.com/p/jfeaturelib [5] http://rsb.info.nih.gov/ij [6] http://www.openimaj.org [7] SERGIOS THEODORIDIS - PATTERN RECOGNITION [Elsevier 2003], Section: 5.2.2 Data Normalization [8] http://labun.com/imagej-surf/ 18