Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
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!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.