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..

Hasonló előadás


Az előadások a következő témára: "Dobókocka projekt Képfeldolgozás II.."— Előadás másolata:

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

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

3 Feladatkiírás 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, végül a két felső lapon látható pontokat összeadni

4 Kezdeti problémák 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
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 későbbi feladatok miatt

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

7 A program felépítése Szürkeárnyalatossá alakítás
Otsu algoritmus végrehajtása Mediánszűrés Objektumszám vizsgálat (>2?) Ha szükséges, eróziót hajtunk végre Egy újabb objektumszám vizsgálat (==2?) 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: I a beolvasott kép J = rgb2gray(I);

10 Otsu-algoritmus 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 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 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:
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.

13 Az objektumszám vizsgálata
Megnézzük, hogy az objektumok száma nagyobb-e mint 2 (bwlabel()) 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)

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

15 Második eset A két kocka felszíne összefolyik
Inverzképzés (pöttyszámolás miatt) Pöttyök koordinátájának tárolása (medián x,y) Ezeken K-means eljárás végrehajtása kMeansResult = kmeans(comps,2,'Distance','cityblock'); 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 A felhasználói felület
Fejléc A betöltött kép Tallózás Tallózás után Futtatás Az egyes eredményképek Végül az összeg

19 Működés közben

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

21 Lehetséges esetek 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
A mediánszűrés szépen letisztítja az Otsu-algoritmus eredményét 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
De vannak esetek, amikor az sem szükséges

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

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… volt nincs

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. 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 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 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 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.."

Hasonló előadás


Google Hirdetések