1 / 34

Dobókocka projekt

Dobókocka projekt. Képfeldolgozás II. A csapat. Bátori Csaba Borbola Péter Kovács Norbert. 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.

lea
Download Presentation

Dobókocka projekt

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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ásakMeansResult = 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!

More Related