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

Dobókocka projekt Képfeldolgozás II.. A csapat Bátori Csaba Bátori Csaba Borbola Péter Borbola Péter Kovács Norbert Kovács Norbert.

Hasonló előadás


Az előadások a következő témára: "Dobókocka projekt Képfeldolgozás II.. A csapat Bátori Csaba Bátori Csaba Borbola Péter Borbola Péter Kovács Norbert Kovács Norbert."— Előadás másolata:

1 Dobókocka projekt Képfeldolgozás II.

2 A csapat Bátori Csaba Bátori Csaba Borbola Péter Borbola Péter Kovács Norbert Kovács Norbert

3 Feladatkiírás A feladat szerint két dobókockával kell dobni, majd A feladat szerint két dobókockával kell dobni, majd készíteni egy olyan képet, amin mindkét dobókocka 3 lapja látszik, készíteni egy olyan képet, amin mindkét dobókocka 3 lapja látszik, végül a két felső lapon látható pontokat összeadni végül a két felső lapon látható pontokat összeadni

4 Kezdeti problémák Legelső probléma maga a kocka Legelső probléma maga a kocka  Kezdetben úgy véltük, hogy a kerekített csúcsú kocka nem megfelelő /kiderült, hogy más a gond/  üzletekben csak ilyen kapható ¯  saját dobókocka készítése

5 Kezdeti problémák Következő nehézség a szegmentálás Következő nehézség a szegmentálás  Ezt megfelelő világítással küszöböltük ki  A kockák felső lapja kellőképpen megvilágítva jó eredményt hozott  Fontos a képalkotás megfelelő szöge Mind a látható felszínek Mind a látható felszínek Mind a későbbi feladatok miatt Mind a későbbi feladatok miatt

6 Kezdeti problémák Ami menetközben került felszínre: Ami menetközben került felszínre: Az órán bemutatott K-means klaszterezés Az órán bemutatott K-means klaszterezés „cityblock”-ot használunk, de néha jobb a „sqEuclidean” „cityblock”-ot használunk, de néha jobb a „sqEuclidean” Mindössze a tapasztalat döntött Mindössze a tapasztalat döntött

7 A program felépítése 1. Szürkeárnyalatossá alakítás 2. Otsu algoritmus végrehajtása 3. Mediánszűrés 4. Objektumszám vizsgálat (>2?) 5. Ha szükséges, eróziót hajtunk végre 6. Egy újabb objektumszám vizsgálat (==2?) 7. Ha az objektumok száma kettő, akkor megvizsgáljuk, hogy a második komponens kocka felszíne-e 7. a, Felszínek kiválasztása, majd a pöttyök megszámolása 7. b, Egyébként klaszterezés, végül az egyes klasszterekbe tartozó pöttyök összeadása

8 Az egyes lépések részletezése

9 Szürkeárnyalatossá alakítás Egy beépített Matlab függvényt használtunk: Egy beépített Matlab függvényt használtunk: I a beolvasott kép I a beolvasott kép J = rgb2gray(I);

10 Otsu-algoritmus A bemeneti J kép szürkeárnyalatos A bemeneti J kép szürkeárnyalatos A normalizált hisztogram minden x szürkeértékhez megadja az előfordulási gyakoriságát(valószínűségét): px A normalizált hisztogram minden x szürkeértékhez megadja az előfordulási gyakoriságát(valószínűségét): px Az algoritmus lényege: keressük meg azt a T küszöbszámot, amely maximalizálja az objektumháttér közötti varianciát. Az algoritmus lényege: keressük meg azt a T küszöbszámot, amely maximalizálja az objektumháttér közötti varianciát.

11 Otsu-algoritmus A globális küszöbérték meghatározása: level = graythresh(J); A globális küszöbérték meghatározása: level = graythresh(J); A küszöbérték alapján a bináris kép előállítása: BW = im2bw(J,level); A küszöbérték alapján a bináris kép előállítása: BW = im2bw(J,level);

12 A mediánszűrés Ez szintén beépített Matlab függvény: Ez szintén beépített Matlab függvény: BWMED = medfilt2(BW,[25 20]); BWMED = medfilt2(BW,[25 20]); Ahol szűrő mérete 25x20 maszk, mert ekkora méret már kellően zaj mentesíti a képet. Ahol szűrő mérete 25x20 maszk, mert ekkora méret már kellően zaj mentesíti a képet.

13 Az objektumszám vizsgálata Megnézzük, hogy az objektumok száma nagyobb-e mint 2 (bwlabel()) Megnézzük, hogy az objektumok száma nagyobb-e mint 2 (bwlabel()) Ha igen, akkor eróziót hajtunk végre: Ha igen, akkor eróziót hajtunk végre: st = strel('disk',6); //6-os méretű ‘disk’ szerkesztőelem BWR = imerode(BWMED,st); Ha pontosan kettő, akkor megnézzük, hogy a második kockafelszín-e (pöttyök keresése az objektumon) Ha pontosan kettő, akkor megnézzük, hogy a második kockafelszín-e (pöttyök keresése az objektumon)

14 Első eset Amikor mindkét objektum kockafelszín Amikor mindkét objektum kockafelszín A felszínek különválasztása: [r,c] = find(bwlabel(BWR)==1); [r,c] = find(bwlabel(BWR)==1); CUBE1 = bwselect(BWR,c,r) CUBE1 = bwselect(BWR,c,r) Inverzképzés (pöttyszámolás miatt): CUBE1INV = ~CUBE1; CUBE1INV = ~CUBE1;Pöttyszámolás: [labeled,numObjects] = bwlabel(CUBE1INV); [labeled,numObjects] = bwlabel(CUBE1INV); cube1Sum = numObjects-1; (-1 a háttér miatt) cube1Sum = numObjects-1; (-1 a háttér miatt)

15 Második eset A két kocka felszíne összefolyik A két kocka felszíne összefolyik 1. Inverzképzés (pöttyszámolás miatt) 2. Pöttyök koordinátájának tárolása (medián x,y) 3. Ezeken K-means eljárás végrehajtása kMeansResult = kmeans(comps,2,'Distance','cityblock'); 4. Klasszterek alapján az eredeti képen színezünk is

16 Ennyit az elméleti háttérről Magának a programnak a bemutatása

17 A felhasználói felület

18 Fejléc Tallózás Tallózás után Futtatás Az egyes eredményképek Végül az összeg A betöltött kép

19 Működés közben

20 Az összesített képek Szürkeárnyalatos Otsu MediánszűrésKét dobókocka felszínInverzek

21 Lehetséges esetek A kockák egymáshoz való viszonya különböző lehet A kockák egymáshoz való viszonya különböző lehet  Különálló felszínek  Összeérő felszínek

22 Első eset Különálló felszínek esetén erózió legtöbbször nem szükséges Különálló felszínek esetén erózió legtöbbször nem szükséges A mediánszűrés szépen letisztítja az Otsu- algoritmus eredményét A mediánszűrés szépen letisztítja az Otsu- algoritmus eredményét Erre példát korábban láthattunk Erre példát korábban láthattunk

23 Második eset Amikor a kockák felszíne összeér szükség lehet erózióra Amikor a kockák felszíne összeér szükség lehet erózióra De vannak esetek, amikor az sem szükséges De vannak esetek, amikor az sem szükséges

24 Összeér, de nem kell erózió Zaj, az Otsu után Mediánszűrés letisztította

25 Összeér és kell erózió Zaj, amiből maradt a mediánszűrés után is

26 Összeér, kell erózió, nincs zaj Összeérő felszínek, de itt az erózió leszedte a zajt

27 Volt…., Nincs… voltnincs

28 Ahogy semmi, ez sem tökéletes Nem megfelelő elhelyezkedés (szög) Kis pöttyöt a mediánszűrés leszedi

29 Ahogy semmi, ez sem tökéletes Van, amikor a „zaj is pötty”

30 Ahogy semmi, ez sem tökéletes Ha nem megfelelő a megvilágítás, nyílván az Otsu-algoritmus sem működik megfelelően, ahogy azt korábban megemlítettük. Ha nem megfelelő a megvilágítás, nyílván az Otsu-algoritmus sem működik megfelelően, ahogy azt korábban megemlítettük. Valamint a K-means esetében a távolságszámítás néha nem megfelelő, vagyis a ‘cityblock’, ilyenkor a 'sqEuclidean ' jól működne. Gyakorlatban a ‘cityblock’ több jó eredményt produkál. Valamint a K-means esetében a távolságszámítás néha nem megfelelő, vagyis a ‘cityblock’, ilyenkor a 'sqEuclidean ' jól működne. Gyakorlatban a ‘cityblock’ több jó eredményt produkál.

31 Összefoglalás Kiindulási ötletként a felülről való megvilágítást találtuk ki, a szegmentálás megkönnyítésre Kiindulási ötletként a felülről való megvilágítást találtuk ki, a szegmentálás megkönnyítésre Ehhez Otsu algoritmus megtalálása hozta meg a sikert Ehhez Otsu algoritmus megtalálása hozta meg a sikert Ezek után már csak a dobókockák elhelyezkedése (összeér, nem ér össze) okozta a nehézséget Ezek után már csak a dobókockák elhelyezkedése (összeér, nem ér össze) okozta a nehézséget Mediánszűrés, erózió, objektum címkézés, kiválasztás, klaszterezés Mediánszűrés, erózió, objektum címkézés, kiválasztás, klaszterezés Továbbá készítettünk egy grafikus felhasználó felületet, megkönnyítve ezzel a program kezelését Továbbá készítettünk egy grafikus felhasználó felületet, megkönnyítve ezzel a program kezelését Vannak esetek, amikor egy gyári dobókockára is működik Vannak esetek, amikor egy gyári dobókockára is működik

32 A gyári kocka esetében

33 Részletek A zaj itt is szépen eltűnt A klaszterezés is jól működik

34 Köszönöm a figyelmet!


Letölteni ppt "Dobókocka projekt Képfeldolgozás II.. A csapat Bátori Csaba Bátori Csaba Borbola Péter Borbola Péter Kovács Norbert Kovács Norbert."

Hasonló előadás


Google Hirdetések