33DZO – 2. Cvičení: Segmentace
Úkolem segmentace je rozdělit obraz na části odpovídající rozdílným
oblastem nebo objektům ve skutečném světě.
Z mnoha existujících metod segmentace vybíráme dvě, které zároveň
ukazují obecněji použitelné algoritmy:
-
Detekce hranice dynamickým programováním
řeší úlohu segmentace nepřímo nalezením hranice mezi dvěma oblastmi.
Je použitelná pouze na omezenou třídu úloh, ale je jednoduchá, rychlá
a zaručuje nalezení globálního optima (pro danou formulaci problému).
-
Mean-shift segmentace shlukuje body
obrazu na základě podobnosti jejich vzhledu a blízkosti jejich pozice.
Chování metody je řízeno pouze dvěma parametry s jasným "fyzikálním"
významem.
Úkoly
- Na satelitním snímku Kolínska
vyznačte tok řeky Labe pomocí dynamického programování. [1.25b]
- Uveďte cenu nalezené cesty.
- Jaká je asymptotická složitost vašeho algoritmu
(v závislosti na počtu pixelů obrazu)?
- Rozdělte fotografii přehrady Fláje
mean-shift segmentací na břeh, vodu, oblohu a vegetaci. [2.75b]
- Odvoďte vzorec gradientu pro Epačenikův kernel, potřebný pro implementaci.
- Zobrazte výsledek na obraze o čtvrtinových rozměrech:
imresize(im,0.25).
- Pod výsledkem uveďte zvolenou velikost kernelu a zdůvodněte svoji volbu.
- Není-li volba jednoznačná, ukažte výsledek pro různé kernely
a vysvětlete výhody/nevýhody.
Poznámka: nepožadujeme perfektní segmentaci, např.
tento výsledek uznáme bez námitek.
Doplněno: v textu k mean-shiftu je detailněji popsané, jak zvolit konstanty
ve vzorci gradientu.
in English
Za stránku zodpovědný: Petr Doubek.