Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Algoritmusok képi információ feldolgozására Keresés, osztályozás Algoritmusok grafikus processzorokon Benczúr András MTA SZTAKI Adatbányászat és Webkeresés.

Hasonló előadás


Az előadások a következő témára: "Algoritmusok képi információ feldolgozására Keresés, osztályozás Algoritmusok grafikus processzorokon Benczúr András MTA SZTAKI Adatbányászat és Webkeresés."— Előadás másolata:

1 Algoritmusok képi információ feldolgozására Keresés, osztályozás Algoritmusok grafikus processzorokon Benczúr András MTA SZTAKI Adatbányászat és Webkeresés Kutatócsoport

2 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Szerintem az adatbányászat … Gépi tanuláson, statisztikán alapul Nagy számítási igényű Olyan, amit MATLAB-ben nem tudunk megoldani Okos algoritmusokat igényel Hasznosítja a számítási erőforrások növelését

3 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Köszönet (slide források) Petrás István, Daróczy Bálint Li Fei-Fei (kézről kézre jár) Csurka Gabriella, Xerox XRCE Bodzsár Erik

4 Képi információ keresés, osztályozás Képi szavak modellje Szegmensek, fontos területek, képi leírók Gauss keverékek és Fisher vektorok Kép és szöveg kombinációja

5 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Osztályozás, szegmentálás, keresés Slide: G. Csurka ‘q = castle park’ building grass tree

6 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Object Bag of ‘words’ szózsák Egy jól működő modell: szózsák Slide: Li Fei-Fei

7 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Of all the sensory impressions proceeding to the brain, the visual experiences are the dominant ones. Our perception of the world around us is based essentially on the messages that reach the brain from our eyes. For a long time it was thought that the retinal image was transmitted point by point to visual centers in the brain; the cerebral cortex was a movie screen, so to speak, upon which the image in the eye was projected. Through the discoveries of Hubel and Wiesel we now know that behind the origin of the visual perception in the brain there is a considerably more complicated course of events. By following the visual impulses along their path to the various cell layers of the optical cortex, Hubel and Wiesel have been able to demonstrate that the message about the image falling on the retina undergoes a step- wise analysis in a system of nerve cells stored in columns. In this system each cell has its specific function and is responsible for a specific detail in the pattern of the retinal image. sensory, brain, visual, perception, retinal, cerebral cortex, eye, cell, optical nerve, image Hubel, Wiesel China is forecasting a trade surplus of $90bn (£51bn) to $100bn this year, a threefold increase on 2004's $32bn. The Commerce Ministry said the surplus would be created by a predicted 30% jump in exports to $750bn, compared with a 18% rise in imports to $660bn. The figures are likely to further annoy the US, which has long argued that China's exports are unfairly helped by a deliberately undervalued yuan. Beijing agrees the surplus is too high, but says the yuan is only one factor. Bank of China governor Zhou Xiaochuan said the country also needed to do more to boost domestic demand so more goods stayed within the country. China increased the value of the yuan against the dollar by 2.1% in July and permitted it to trade within a narrow band, but the US wants the yuan to be allowed to trade freely. However, Beijing has made it clear that it will take its time and tread carefully before allowing the yuan to rise further in value. China, trade, surplus, commerce, exports, imports, US, yuan, bank, domestic, foreign, increase, trade, value Dokumentumok ‘szózsák’ modellje Slide: Li Fei-Fei

8 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Slide: Li Fei-Fei

9 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Képek „szó-elemekre” bontása Gráf alapú szegmentálás Súlyozott, irányítatlan gráf a pixeleken Agglomeratív klaszterezés – majdnem feszítőfa, de az egyes régiók közötti élsúly (eltérés) folyamatosan változik Sobel gradiens a fontos élek kiválasztására

10 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Lokális módszerek SIFT Fontos élek, sarkok Rács felbontás … Orientation histograms

11 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Átlag RGB HSV Átlag RGB HSV RGB, HSV Hisztogram Zig-Zag Fourier Kontraszt Képi leírók 128 SIFT leíró Szegmensek, területek Lokális módszerek

12 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Bag of words

13 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium „Képi szavak”: eljárás vázlata 1.Az alacsony szintű képi jellemzők modellje 2.A részeket leíró vektorok klaszterezése: k-means, GMM (Gaussian Mixture Model) 3.Egy képet jellemez a klaszterenkénti szám („szavak száma”) → gradiens reprezentáció (Fisher vektor) 4.Osztályozás képenként Kép-osztályozási versenyek: Pascal VOC, ImageCLEF K-means klaszterrel GMM 100+ elemű keverékkel

14 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Gaussian Mixture Model (GMM) Feltevés: a D-dimenziós adatpontok K normál eloszlásból (N 1,...,N k ) származnak, a következőképpen: 1.Véletlen k választása a eloszlás szerint 2.Véletlen leíró vektor N k eloszlás szerint Az (N 1,...,N k ) eloszlásokat klasztereknek tekinthetjük

15 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Képi „szótár” (GMM és k-means)

16 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Visual Vocabulary with a GMM Slide: G Csurka

17 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium GMM: expectation maximization

18 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium A Fisher Vektor Adott kép leíró-halmaza Gradiens, amerre mozdítva legjobban leírná a modell a képet: Kovariancia-jellegű mennyiség: Fisher információs mátrix: Normálás: Fisher vektor: Magas dimenziós (2 x D x N) ritka vetítés, kernelként használható: egy lineáris klasszifikátor kvadratikus felületrészeknek felel meg az eredeti térben

19 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium A folyamat összefoglalása

20 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Példa: ImageCLEF osztályozási feladat

21 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Példa: ImageCLEF osztályozási feladat

22 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Példa ImageCLEF keresési feladat

23 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Szöveg és kép Mennyire hasonló egy kép egy szöveghez? Amennyire a leghasonlóbb képek szöveges leírásához! → Pszeudo-relevancia visszacsatolás (feedback)

24 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Pszeudo-relevancia feedback (PRF) A w szó t w előfordulása T w eloszlású w paraméterrel Log-logisztikus vagy valamilyen Power Law eloszlás A w a w-t tartalmazó dokumentumok száma A q query és d dokumentum egyezése, ahol x w a query szó súlya: meglepetés, tipikustól való eltérés PRF során az R legjobb találatból újrasúlyozzuk x w -t ezzel arányosan:

25 Párhuzamos architektúrák Miért many-core? CUDA programozás Kép-osztályozás algoritmusai

26 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Számítási kapacitás története Moore törvénye (exponenciális növekedés) megtört, egymagos rendszerek fejlődése megállt Párhuzamos programozás elkerülhetetlen – Korábban: szuperszámítógépek

27 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Számítási kapacitás története Moore törvénye (exponenciális növekedés) megtört, egymagos rendszerek fejlődése megállt Párhuzamos programozás elkerülhetetlen – Korábban: szuperszámítógépek – Google map-reduce: korlátos lehetőségek, pl gráf algoritmusok nehezek

28 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Számítási kapacitás története Moore törvénye (exponenciális növekedés) megtört, egymagos rendszerek fejlődése megállt Párhuzamos programozás elkerülhetetlen – Szuperszámítógépek, Map-reduce, … – Ma már mindenhol multi-core A jövő: szuperszámítógép mindenkinek – Manycore: Cell, GPU – Könnyen elérhető, olcsó: PS3, NVIDIA, ATI, …

29 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium NVIDIA CUDA GPGPU platform Nyilvánvalóan párhuzamos feladatok: Mátrixműveletek legközelebbi szomszéd keresés Fourier transzformáció SIMD architektúra – ~100 thread processors – ~10K active threads – Zero-overhead thread scheduling Hatékony – ha beférünk a memóriájába

30 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Kép-osztályozási feladat Minden lépést meg tudunk oldani GPGPU-n!

31 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium GPU memória típusai 1-2 Global a GPU hagyományos értelemben vett memóriája ide/innen tud adatot másolni a host GB-os nagyságrend viszonylag lassú adatátvitel, lassú elérés a GPU-ról, nincs cache Shared egy block thread-jeinek a közös memóriája itt kommunikálnak egymással a thread-ek, valamint itt érdemes tárolni a sokszor elért adatot 16KB (/block) nagyon gyors elérés

32 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium GPU memória típusai 3-4 Constant kicsi, gyors, cache-elt elérésű memória csak a host tudja módosítani Regiszterek minden block rendelkezésére áll néhány regiszter, amelyeket a thread-ek között oszt szét általában csak ciklus- és temp változókat tárol

33 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Memória elérési trükkök, szabályok a globális memória elérésének sok szabálya van, amelyek betartása felgyorsítja azt (ld. ábra) globális memóriaterületeket texture-nek lehet kinevezni, cache-elt elérés, viszont nem írható non-pageable host memória: gyorsabb másolás Két-két példa coalesced és non-coalesced elérésre:

34 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium A CUDA programok nyelve Lényegében C kód, néhány kiegészítéssel szintaktikai kiegészítések új függvény qualifierek gpu-s függvények hívása Új host függvények pl. gpu memória foglalás, másolás, stb. GPU-specifikus függvények, változók threadIdx, blockIdx, stb. thread-ek szinkronizálása gyors matematikai függvények (exp, sin, stb.)

35 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium CUDA kód futtatása GPU memóriája közvetlenül nem elérhető, ezért egy CUDA programrészlet általában így néz ki: 1.GPU memória allokálás 2.Adat másolása a host-ról az allokált memóriába 3.GPU függvény hívása, amely feldolgozza az adatot 4.Eredmény másolása a host-ra 5.GPU memória felszabadítás

36 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Legegyszerűbb CUDA program példa __global__ void vecmult(float *v, float m) { int i = threadIdx.x; v[i] = v[i] * m; } int main() { int N=100; float *v_h;... //v_h allokálás, inicializálás float *v_d; cudaMalloc((void**)&v_d, N*sizeof(float)); cudaMemcpy(v_d, v_h, N*sizeof(float), cudaMemcpyHostToDevice); vecmult >>(v_d, m); //kernel hívás: 1 block, N thread cudaMemcpy(v_h, v_d, N*sizeof(float), cudaMemcpyDeviceToHost); cudaFree(v_d); return 0; } A GPU-n futó ún. kernel függvény Csak hostról hívható (nincs pl. rekurzió) Nem elérhetők a host függvények, memória, …

37 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium CUDPP könyvtár: scan, sort Pointer ugrás: P [x] = P [P [x]] Scan prefix összeg: prfsum [i] = ∑ i j=0 v [i] a scan a prefix összeg általánosítása: ∑ helyett tetszőleges asszociatív művelet – pl. szegmentált scan Scan, sort, pointer ugrás: Pl. a legtöbb párhuzamos gráfalgoritmus fő lépései

38 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium CUDA képszegmentálás

39 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Alap: feszítőfák Harish et al. Fast Minimum Spanning Tree for Large Graphs on the GPU iteratív minimális feszítőfa algoritmus kezdetben minden pont egy fa, minden iterációban szomszédos fákat egyesít alkalmazható (kezdetleges) kép szegmentálásra scan és sort műveletekből épül fel

40 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Képszegmentálás lépései Egy iteráció lépései: 1.segmented min scan az (élsúly; végpont) párokra → minden pont legközelebbi, legkisebb címkéjű szomszédja → S választási gráf 1.S-ben 2 hosszú körök lehetnek, ezeket eltávolítjuk 2.S-ben pointer ugrással mindenki a reprezántánsára mutat 3.reprezentáns szerint rendezünk, bejelöljük a határokat 4.segmented scan → új komponens címkék 5.(kezdőpont; végpont; élsúly) hármasok rendezésével megkapjuk az új gráf éleit De nem a min súlyt kell választanunk, számos feltétel Szegmentálás 3-4 sec képenként

41 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium GMM: CUDA trükkök GPU memória korlátos (kb max 4GB): párhuzamos másolás és végrehajtás p nk értékeket nem tároljuk Aritmetika max 64 bit (tetszőleges pontosság nehezen párhuzamosítható): exponenciális vödrözés trükk

42 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Futási idő CPU-val összehasonlítva (azonos C++ kód): tanító adat: véletlen minta, adatpont (324 dim) futási idő: GPU: 67 perc CPU: 77 óra (Xeon 1.6Ghz) CPU: 20 óra hierarchikus GMM (Xeon 1.6Ghz)

43 Benczúr Képkeresés, osztályozás BME Matematikai Modellalkotás Szeminárium Összefoglalás és problémák Objektumok „Bag of Visual Words” reprezentációja Nem használja a képi elemek relatív helyzetét Erősen függ a tanító korpusztól (profi fotó, festmény, grafika, …) GMM nem igazi „szavakat” ad, pl. nem is függ a tanító címkéktől Szöveges keresés esetén Keresőszavak képi objektumra „fordítása” Sokféle objektum nagyszámú tanító mintáját igényli Algoritmikus hatékonysági problémák, nagy számítási igény További feladatok a GPU-k számára?

44 Köszönöm a figyelmet! Benczúr András MTA SZTAKI Adatbányászat és Webkeresés Kutatócsoport


Letölteni ppt "Algoritmusok képi információ feldolgozására Keresés, osztályozás Algoritmusok grafikus processzorokon Benczúr András MTA SZTAKI Adatbányászat és Webkeresés."

Hasonló előadás


Google Hirdetések