11. Selected Image Analysis Techniques

Zaveďte vhodnou míru, která bude vyhodnocovat míru podobnosti dvou obrázků stejné velikosti bez vzájemného posunu, a to na základě jejich intenzit. Míru formálně nadefinujte a nastavte tak, aby pro naprosto shodné obrázky vracela hodnotu "1", naopak pro zcela odlišné obrázky hodnotu "0".

Předpokládejme BÚNO, že intenzita spadá do intervalu , pak pro obrázky A a B:

Vysvětlete rozdíl mezi operacemi "konvoluce" a "korelace". Uveďte příklad 2D matice, se kterou operace korelace i konvoluce nad libovolným 2D diskrétním obrázkem vrátí totožný výsledek.

Konvoluce

Lineární operátor na dvou maticích. (conv2 v matlabu)

, (f = obraz, h = konvoluční jádro)

Korelace (Cross-correlation)

Míra podobnosti mezi signály. (xcorr2 v matlabu)

Pokud je matice shodná po převrácení podél osy x i y ("středově souměrná"), pak se výsledek neliší. Jinými slovy filtr (resp. jeho kernel) musí být symetrický.

A symmetric kernel is one that is unchanged when the two variables are permuted; it is a kernel function K such that K(t, u) = K(u, t).[1]

Nicméně je nutné pamatovat, že kernely se neindexují jako klasické matice, ale mají (0, 0) uprostřed. Nestačí tedy matici transponovat.

Vysvětlete princip segmentace obrazu s pomocí metody grafových řezů. Jak se nad 2D diskrétním obrázkem s rozměry 5x5 pixelů sestrojí počáteční graf (z kolika vrcholů je složen a jak jsou jednotlivé vrcholy pospojovány hranami)?

Grafové řezy jsou přístup k segmentaci, jenž se snaží najít minimum rovnice

pomocí grafů. Další metodou jsou Deformable Models, jenž jsou popsány buď parametricky, a nebo implicitně.

Takže grafové řezy jsou vlastně taková redukce z problému segmentace na problém nejkratší cesty:

  • pixely → uzly

  • 4/8-sousedé → hrany

  • váhy hran jsou pravděpodobnosti, že dva sousední pixely jsou součástí jednoho objektu

  • nízká váha hrany → mezi pixely nejspíš prochází hrana objektu

  • váhové funkce bývají založeny na inverzi gradientu, např. G-aussian |\Delta I| nebo MaxIntensity - |\Delta I|

Tenhle převod je dále rozšířen o přidání source a sink uzlu. Vysledkem pak není nejkratší cesta, ale dvě plochy, pozadí a popředí. Váhy mezi obrazem a novými uzly jsou dány pravděpodobností, že pixel je součástí pozadí/popředí.

Nakreslete hrubé schéma konvoluční neuronové sítě a popište stručně, k čemu slouží jednotlivé komponenty, resp. jaké operace jsou v nich vykonávány.

cnn

Neuronky mají, podobně jako cibule, zlobři a .psd soubory, vrstvy. Pro učení neuronek se používá backpropagation alogoritmus s cross-entropy loss, whatever that is.

Fully connected layer
  • každý neuron ve skryté vrstvě je napojen na každý neuron ve vstupní vrstvě

  • žádná prostorová informace, velké množství parametrů

  • klasická aktivační operace modelovaná podle reálného neuronu

  • používá se k zploštění konvoluční vrstvy a ke klasifikaci

Convolution layer
  • každý neuron ve skryté vrstvě je napojen pouze na oblast neuronů ve vstupní vrstvě

  • každá podvrstva reprezentuje jeden filtr, jedno konvoluční jádro, které se aplikuje na vstupní obraz

  • pamět je potřeba jednak na váhy jádra a bias pro každý filtr, druhak na vlastní výpočet z aktuálního obrazu

  • stride je délka kroku — posunu jádra

Max pooling layer
  • Downsampling pomocí maxima z regionu

  • nelineární operace (filtry lineární jsou, proto nás to zajímá)

ReLU (Rectified Linear Unit) layer
  • nuluje záporné hodnoty

  • nelinární operace (filtry lineární jsou, proto nás to zajímá

SoftMax layer
  • pro počítání predikce pravděpobnosti, že obrázek náleží do některé z mutually exlusive kategorií