-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
1,527 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
= 1. Introduction, Images and Their Properties | ||
|
||
[.question] | ||
Jaký je rozdíl mezi pixelem a voxelem? | ||
|
||
Pixel:: | ||
Picture element | ||
|
||
Voxel:: | ||
Volume element | ||
|
||
[.question] | ||
Nadefinujte digitální barevný obraz. | ||
|
||
Funkce | ||
|
||
[.question] | ||
Vysvětlete rozdíl mezi izotropním a anizotropním obrazem. | ||
|
||
Izotropní obraz:: | ||
Má stejnou vzorkovací frekvenci ve všech dimenzích. | ||
|
||
Anizotropní obraz:: | ||
Není izotropní. | ||
|
||
[.question] | ||
Odvoďte vztah, kolik úrovní intenzit má N-bitový šedotónový obraz. | ||
|
||
stem:[2^N], protože tolik hodnot narveme do N-bitového čísla bez znaménka. | ||
|
||
[.question] | ||
Vyjmenujte 3 základní druhy šumu, které jsou přítomny v obraze pořízeném běžnou kamerou. | ||
|
||
Aditivní šum:: | ||
Převážně Gaussián. Způsoben amplifikací v elektronice. | ||
|
||
Impulsní šum:: | ||
Náhodné očernění nebo obělení pixelu. Sůl a pepř. | ||
|
||
Poissonůn šum:: | ||
Fotony nebo co. | ||
|
||
[.question] | ||
Jaký je rozsah vlnových délek, které vnímá lidské oko? | ||
|
||
[380, 740] nm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
= 2. Convolution and Linear Filters | ||
|
||
[.question] | ||
Vysvětlete, co je to konvoluční jádro. | ||
|
||
Matice, která se postupně posouvá přes obraz a jejíž hodnoty jsou použity jako váhy přiv váženém součtu příslušných hodnot. | ||
|
||
[.question] | ||
Odvoďte, jakou časovou složitost má konvoluce obrazu I o velikosti K x L s obecným konvolučním jádrem velikosti M x N. | ||
|
||
stem:[O(KLMN)] | ||
|
||
[.question] | ||
Uveďte příklad 2D vyhlazovacího filtru, který zachovává průměrnou intenzitu obrazu. | ||
|
||
Gaussián. | ||
|
||
[.question] | ||
Co to znamená, že filtr je LSI? Nepřekládejte, ale vysvětlete význam. | ||
|
||
LSI := Linear shift invariant | ||
|
||
stem:[O(T_(a,b) (f(x, y)))) = T_(a, b) (O(f(x, y)))] | ||
|
||
[.question] | ||
Formálně zapište vlastnost distributivity diskrétní konvoluce vzhledem ke sčítání. Tuto vlastnost dokažte. | ||
|
||
[.question] | ||
Formálně nadefinujte 2D lineární filtr. Uveďte konkrétní příklad takového filtru a formálně dokažte, že vyhovuje Vaší | ||
definici. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
= 3. 1D Fourier Transform | ||
|
||
[.question] | ||
Mějme funkci stem:[f(x) = 0.4 * sin(2\pi(x-1))]. Určete její amplitudu, frekvenci a fázový posun. | ||
|
||
* Amplituda: 0.4, protože sinus | ||
* Frekvence: 1 Hz, protože sinus má frekvenci stem:[2\pi], ale tady už stem:[2\pi] je | ||
* Prostorová / časová frekvence: 1 Hz / stem:[m^-1] za předpokladu, že výsledek je v metrech | ||
* Úhlová frekvence: stem:[2\pi] | ||
* Posun: 1 | ||
|
||
[.question] | ||
Mějme komplexní číslo z = 1 - i. Určete jeho amplitudu a fázi. | ||
|
||
* Amplituda: stem:[sqrt(1^2 + (-1)^2) = sqrt(2)] | ||
* Fáze: stem:[\text{atan2}(y, x) = \text{atan2}(-1, 1) = -0.785] | ||
|
||
[.question] | ||
Formálně nadefinujte 1D diskrétní Fourierovu transformaci a rozhodněte, zda se jedná o lineární operátor. Své tvrzení | ||
podložte formálním důkazem. | ||
|
||
Lineární operátor stem:[f]:: | ||
[stem] | ||
==== | ||
f(I * J) = f(I) * f(J ) | ||
==== | ||
|
||
[.question] | ||
Jaká operace ve frekvenční doméně odpovídá konvoluci v obrazové doméně? | ||
|
||
Násobení. | ||
|
||
[.question] | ||
Co je obrazem Gaussiánu (umístěného do počátku souřadné soustavy) ve frekvenční doméně? | ||
|
||
Gaussian ale tak nějak menší nebo co. | ||
|
||
[source, matlab] | ||
---- | ||
G = fspecial('gaussian', 21, 5); | ||
surf(G) | ||
surf(abs(double(ft(G)))) | ||
---- | ||
|
||
image::pv131/gaussiansd.jpg[] | ||
image::pv131/gaussianfd.jpg[] | ||
|
||
[.question] | ||
Kolik bázových funkcí je zapotřebí pro realizaci FT nad 1D diskrétním signálem délky N? Jak dlouhý bude výstupní | ||
signál ve frekvenční doméně? | ||
|
||
1D DFT:: | ||
[stem] | ||
==== | ||
Phi(omega_x) = sum_(x=0)^(N-1) f(x) * e^(-i(2pi)/N * omega_x * x) | ||
==== | ||
|
||
Výstupní signál bude dlouhý stem:[N]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
= 4. 2D/3D Fourier Transform + Filtering in Frequency Domain | ||
|
||
[.question] | ||
Odvoďte časovou složitost 2D DFT pro obraz velikosti M x N. | ||
|
||
2D DFT je 1D DFT aplikovaná dvakrát. Pokud složitost vnitřní DFT je stem:[O(N^2)] pak složitost vnější DFT bude | ||
stem:[O(M^2*N^2)]. | ||
|
||
[.question] | ||
Vysvětlete, proč se při zobrazení amplitud ve Fourierově doméně používá logaritmická škála. | ||
|
||
Protože je to pak líp vidět. | ||
+ | ||
Největší amplituda zkrátka bývá tak velká, že při lineárním zobrazení nejsou ostatní amplitudy vidět. Jenže ty ostatní | ||
amplitudy nás zajímají taky, tak to celé dáme sežrat logaritmu, čímž se největší peak zmenší. | ||
|
||
[.question] | ||
Dokažte, že 2D diskrétní Fourierova transformace je separabilní. | ||
|
||
[.question] | ||
Znázorněte 1D frekvenční doménu digitálního signálu délky N. Popište osy a následně nakreslete 1D nízkofrekvenční box | ||
filtr, který odstraní K nejvyšších frekvencí. | ||
|
||
Nakresli krabici s hranou stem:[2 * (N - K)] "položenou" na počátku. | ||
|
||
[.question] | ||
Znázorněte 2D frekvenční doménu digitálního obrazu velikosti N x N. Popište osy a následně nakreslete 2D | ||
nízkofrekvenční kruhový filtr, který odstraní frekvence vyšší než stem:[w_(threshold) = N/4]. | ||
|
||
Nakresli válec s poloměrem podstavy N/4 "položený" na počátku. | ||
|
||
[.question] | ||
Znázorněte 2D frekvenční doménu digitálního obrazu velikosti 8 x 8. Určete, který Fourierův koeficient je komplexně | ||
sdružený s Fourierovým koeficientem na pozici stem:[(w_x, w_y) = (5, 7)]. | ||
|
||
Ten středově souměrný podle počátku, stem:[(-5, -7)]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
= 5. Correspondence between Spatial and Frequency Filtering, Sampling Theorem | ||
|
||
[.question] | ||
Zobrazte v Matlabu, jak vypadá Sobelův filtr převedený do frekvenční domény. Vysvětlete, které frekvence jsou | ||
potlačovány a které naopak zvýrazňovány. | ||
|
||
Zelená čerchovaná čára. Potlačeny jsou velmi nízké a velmi vysoké frekvence. | ||
|
||
image::pv131/ftsobel.png[] | ||
|
||
[source, matlab] | ||
---- | ||
plot(abs(fft(padarray([1 0 -1]', 20)))) | ||
---- | ||
|
||
[.question] | ||
Vysvětlete původ vertikální čáry v levém dolním obrázku na slidu č. 3. | ||
|
||
image::pv131/stripesd.jpg[] | ||
image::pv131/stripefd.jpg[] | ||
|
||
Kvůli prvnímu a poslednímu řádku vzniká periodicita. | ||
|
||
[.question] | ||
Formálně nadefinujte 2D ideální nízkofrekvenční filtr s obdélníkovým profilem. Odvoďte i jemu odpovídající filtr v | ||
prostorové doméně. | ||
|
||
Obdélník ve frekvenční doméně nad nízkými frekvencemi, které nás zajímají. V prostorové doméně vypadá jako | ||
stem:[k * (\text{sinc}(ax)) / (ax)]. | ||
|
||
[.question] | ||
Mějte libovolný 2D digitální obraz, který následně poškodíme gaussovským aditivním šumem. Vysvětlete, v čem se liší | ||
frekvenční spektrum původního a zašuměného obrazu. | ||
|
||
Šum bude i ve frekvenční doméně. | ||
|
||
[.question] | ||
Mějme 2D digitální šedotónový obraz velikosti 256x512 pixelů. Rozhodněte, zda je obraz frekvenčně omezený. Pokud ano, | ||
určete nejvyšší frekvenci v něm obsaženou (v každé ose zvlášť) a uveďte min. vzorkovací frekvenci | ||
(dle Nyquistova teorému), která navzorkuje obraz tak, aby byl plně rekonstruovatelný. Pokud ne, zdůvodněte proč. | ||
|
||
* Maximální frekvence podle osy x: 256 | ||
* Maximální frekvence podly osy y: 512 | ||
|
||
Nyquistův teorém:: | ||
Band-limited signal should be sampled at a rate of at least twice its highest-frequency component (i.e. the sampling | ||
frequency should be equal at least to the Nyquist rate). If the band-limited signal is sampled at the Nyquist rate, | ||
it is possible to reconstruct it exactly. | ||
|
||
Podle Nyquistova teorému chceme vzorkovací frekvenci 512 pro osu x a 1024 pro osu y. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
= 6. Multi-scale analysis, Pyramids, Wavelets | ||
|
||
[.question] | ||
Vysvětlete princip konstrukce Laplaceovy pyramidy o 4 úrovních. | ||
|
||
Pyramida:: | ||
Série postupně downsamplovaných verzí původního obrázku. | ||
|
||
Gaussovská pyramida:: | ||
Na obrázky je při downsamplování aplikován Gaussián. Je low-pass filtering (LPF) pyramidou. | ||
|
||
Laplaceova pyramida:: | ||
Pyramida map hran. Typicky vzniká aplikací Laplacián na Gaussovskou pyramidu, tedy operace při downsaplovaní je ve | ||
finále Laplacian of Gaussian (LoG). Je high-pass filtering (HPF) pyramidou. | ||
|
||
Reprezentace obrázku pomocí pyramidy:: | ||
HPF pyramida a LPF pyramida se vzájemně doplňují. LPF pyramida se však lépe komprimuje, čehož se využívá při uchovávání | ||
obrázků. LPF úroveň k se dá zkombinovat s HPF úrovní k+1 a vznikne (skoro) LPF úroveň k+1. | ||
|
||
Konstrukce truncated HPF pyramidy o 4 úrovních:: | ||
Originál je na úrovni j, považujme ho za stem:[LPF_j]. Nechť stem:[LPF_{j-1} = \text{downsample}(\text{blur}(LPF_j))] | ||
a stem:[HPF_{j} = LPF_j - \text{blur}(\text{upsample}(LPF_{j-1}))]. | ||
+ | ||
Pyramida o 4 úrovních by se skládala z stem:[HPF_j, HPF_{j-1}, HPF_{j-2}, LPF_{j-3}]. | ||
|
||
[.question] | ||
Mějme jednorozměrný diskrétní signál I délky 64. Pro výpočet 1D-DWT bylo použito stem:[j_0=4]. Určete, jaký dlouhý je | ||
výsledný signál, tj. kolik je dohromady aproximačních a waveletových koeficientů. | ||
|
||
[stem] | ||
++++ | ||
J = 6 \\ | ||
\#D_5 = 32 \\ | ||
\#D_4 = 16 \\ | ||
\#A_4 = 16 | ||
++++ | ||
|
||
[.question] | ||
Je dán dvourozměrný diskrétní obraz I o velikosti 256x256 pixelů a na něm provedená 2D-DWT s Haarovou bázovou funkcí | ||
až do úrovně stem:[j_0=6]. Určete, kolik bude ve výsledném transformovaném obraze aproximačních koeficientů. | ||
|
||
[stem] | ||
++++ | ||
\#A_6 = 64 \times 64 | ||
++++ | ||
|
||
[.question] | ||
Je dán dvourozměrný diskrétní obraz I o velikosti 512x512 pixelůa na něm provedená 2D-DWT s Haarovou bázovou funkcí | ||
až do úrovně, kdy je ve výsledném obraze přítomen jen 1 aproximační koeficient. Určete, kolik bylo třeba provést | ||
rozkladů na nízkofrekvenčních a vysokofrekvenční složky. | ||
|
||
Jelikož nejnižší úroveň je stem:[j_0 = 0] a stem:[J = 9], je třeba 9 rozkladů. | ||
|
||
[.question] | ||
Vynulování aproximačních koeficientů odpovídá eliminaci nejnižších frekvencí v původním obraze. Vytvořte matlabovskou | ||
funkci, která tímto způsobem realizuje ve čtvercovém obraze detekci hran. | ||
|
||
[source, matlab] | ||
---- | ||
function [O] = detectEdges(I) | ||
[C,S] = wavedec2(double(I), 8, 'haar'); | ||
C(1:256) = 0; | ||
O = dip_image(waverec2(C, S, 'haar')); | ||
end | ||
---- | ||
|
||
Pozn.: Nezdá se mi, že tohle je to, co chtějí. Navíc to funguje jen pro rozlišení 256x256. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
= 7. Nonlinear Filtering | ||
|
||
[.question] | ||
Mějme 2D diskrétní obrázek stem:[I] a dva 2D nelineární filtry stem:[A] a stem:[B]. Rozhodněte, zda platí | ||
stem:[A(B(I))=B(A(I))]. | ||
|
||
Ne. Představte si za I šachovnici, za A max filtr a za B min filtr. (Viz slide č. 46.) | ||
|
||
[.question] | ||
Mějme 2D diskrétní obrázek stem:[I], 2D nelineární filtr stem:[A] a 2D lineární filtr stem:[B[]. Rozhodněte, zda | ||
platí stem:[A(B(I))=B(A(I))]. | ||
|
||
Ne. Představte si zašumelý obrázek, za A median a za B gaussian. (Viz slide č. 47.) | ||
|
||
[.question] | ||
Vysvětlete princip efektivní implementace 1D mediánového filtru pomocí klouzajícího okna. | ||
|
||
Viz cvičení 7. | ||
|
||
Máme okno s velikostí N, které na začátku seřadíme. Pro každý pixel na pozici I nahradíme jeho intenzitu v okně | ||
intenzitou pixelu I + N a do výstupního obrazu zapíšeme medián okna. | ||
|
||
[.question] | ||
Zapište difúzní filtraci obrazu formou parciální diferenciální rovnice s počáteční podmínkou a vysvětlete jednotlivé | ||
členy v této rovnici. | ||
|
||
Difúzní filtrování:: | ||
Založeno na myšlence difúze z fyziky. | ||
+ | ||
[stem] | ||
++++ | ||
\partial_t u = \text{div}(g * \nabla u) = g * \text{div} (\nabla u) | ||
++++ | ||
+ | ||
Pokud g je konstanta, pak se jedná o lineární difúzi. | ||
+ | ||
[stem] | ||
++++ | ||
\partial_t u = g * \Delta u | ||
++++ | ||
+ | ||
[stem] | ||
++++ | ||
\frac{\partial u (x, y, t)}{\partial t} = u(x, y, t) \otimes L | ||
++++ | ||
|
||
[.question] | ||
Mějme obraz poškozený impulzním šumem. Rozhodněte, který z dvojice filtrů medián a gaussián je vhodný k potlačení | ||
tohoto šumu. Své tvrzení zdůvodněte. | ||
|
||
Medián je supr na sůl a pepř, protože osamocenou změnu intenzity dopočítá z okolí, zatímco Gaussian ji rozmaže. |
Oops, something went wrong.