• No results found

PŘEDZPRACOVÁNÍ v prostoru obrazů

N/A
N/A
Protected

Academic year: 2022

Share "PŘEDZPRACOVÁNÍ v prostoru obrazů"

Copied!
43
0
0

Loading.... (view fulltext now)

Full text

(1)

1/43

PŘEDZPRACOVÁNÍ v prostoru obrazů

Václav Hlaváč

Fakulta elektrotechnická ČVUT v Praze

katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz

http://cmp.felk.cvut.cz/∼hlavac

(2)

2/43

PŘEDZPRACOVÁNÍ OBRAZU, ÚVOD

Vstupem je obraz, výstupem je obraz.

Obraz se neinterpretuje.

CÍL

 Potlačit zkreslení (např. korekce geometrického zkreslení díky zakřivenosti Země u družicového snímku).

 Odstranění šumu.

 Zvýšení kontrastu (jen pro prohlížení obrazu člověkem).

 Zdůraznění charakteristik obrazu pro další zpracování, např.

nalézání hran.

(3)

3/43

TŘÍDĚNÍ METOD

PŘEDZPRACOVÁNÍ OBRAZU

podle velikosti okolí zpracovávaného pixelu

Operace Zpracovávané okolí

Transformace jasové stupnice Stejná pro všechny pixely Jasové korekce Jen okamžitý pixel

Geometrické transformace Teoreticky pixel,

prakticky malé okolí Lokální filtrace Malé okolí

Obnovení (restaurace) obrazu Celý obraz

(4)

4/43

TRANSFORMACE JASOVÉ STUPNICE

f(i) = g(i), i = 0, . . . , maximální jas.

255

0 255 g

f

Negativ

Zvýraznìní kontrastu Prahování

Logaritmická citlivost senzorů (≈ gama korekce).

HW realizace v zobrazovací kartě (např. ve VGA módu).

(5)

5/43

EKVALIZACE HISTOGRAMU Cílem je:

 zvýšit kontrast úplným využitím jasové stupnice (pro pozorovatele – clověka),

 jasově obraz normalizovat (např. pro automatické srovnávání).

0 50 100 150 200 250

0 500 1000 1500 2000 2500 3000 3500

0 50 100 150 200 250

0 500 1000 1500 2000 2500 3000 3500

histogram původního obrazu histogram po ekvalizaci

(6)

6/43

ZVÝŠENÍ KONTRASTU PO EKVALIZACI HISTOGRAMU

původní obraz zvýšení kontrastu

(7)

7/43

ODVOZENÍ EKVALIZACE HISTOGRAMU

Vstup: histogram H(p) vstupního obrazu s jasovou stupnicí p = hp0, pki.

Cíl: najít monotónní transformaci jasové stupnice q = T (p), aby výsledný histogram G(q) byl rovnoměrný pro celý výstupní

interval jasů q = hq0, qki.

k

X

i=0

G(qi) =

k

X

i=0

H(pi) .

Ekvalizovaný histogram ≈ rovnoměrnému rozdělení f = N2

qk − q0 .

(8)

8/43

ODVOZENÍ EKVALIZACE HISTOGRAMU (2)

Ideálně rovnoměrný histogram získáme pouze pro spojitý případ.

Z q q0

G(s) ds =

Z p p0

H(s) ds .

N2

Z q q0

1

qk − q0 ds =

Z p p0

H(s) ds . N2(q − q0)

qk − q0 =

Z p p0

H(s) ds .

q = T (p) = qk − q0 N2

Z p p0

H(s) ds + q0 . Diskrétní případ kumulativní histogram

q = T (p) = qk − q0 N2

p

X

i=p0

H(i) + q0 .

(9)

9/43

PSEUDOBARVA

Beze změny Spectrum

System (Windows) Black body

(10)

10/43

JASOVÉ KOREKCE

Nový jas f(i, j) závisí na poloze i, j vstupního obrazu g(i, j). Často multiplikativní model poruchy: f(i, j) = e(i, j) g(i, j). 2 postupy:

1. Opravné koeficienty získány snímáním etalonové plochy známého jasu c, např. při kompenzaci nerovnoměrného osvětlení (vypnout AGC!). Po sejmutí získáme

fc(i, j) = e(i, j) c ⇒ e(i, j) = fc(i, j) c

2. Proložení pozadí analytickou plochou a její odečtení od původního obrazu.

(11)

11/43

GEOMETRICKÉ TRANSFORMACE

 Použití pro

• zvětšování, posouvání, pootáčení, zkosení 2D obrazů (tj. podle předem známé transformace).

• odstraňování geometrických zkreslení (geometrická transformace se často hledá z obrazů).

 Stejné techniky se používají v teoretické mechanice, robotice, počítačové grafice.

 Reprezentace pomocí homogenních souřadnic =⇒ lineární transformace vyjádřená maticemi.

(12)

12/43

GEOMETRICKÉ TRANSFORMACE VE 2D

Rozepíšeme vektorovou transformaci T do dvou složek x0 = Tx(x, y) , y0 = Ty(x, y) .

(13)

13/43

NUTNÉ 2 KROKY TRANSFORMACE KVŮLI DISKRÉTNÍMU RASTRU

Transformace souřadnic bodů počítá se nová poloha každého

bodu ve spojitých souřadnicích (reálná čísla), protože výsledek může být mimo rastr.

Problémy:

 Část obrazu leží mimo obraz.

 Transformace díky nutné aproximaci nejsou invertovatelné.

Aproximace jasové funkce hledá celočíselnou hodnotu jasu

v celočíselné pozici, která nejlépe odpovídá nově vypočítané neceločíselné poloze x0, y0.

(14)

14/43

TRANSFORMACE SOUŘADNIC BODŮ

Obvykle se x0 = Tx(x, y), y0 = Ty(x, y) aproximuje polynomem m-tého stupně.

x0 =

m

X

r=0

m−r

X

k=0

ark xr yk , y0 =

m

X

r=0

m−r

X

k=0

brk xr yk .

Vztah je lineární vzhledem ke koeficientům ark, brk ⇒ odhad metodou nejmenších čtverců.

Potřebné dvojice sobě odpovídajících (vlícovacích) bodů x, y a x0, y0.

(15)

15/43

BILINEÁRNÍ, AFINNÍ TRANSFORMACE SOUŘADNIC

Když se geometrická transformace v závislosti na pozici v obraze příliš náhle nemění, postačují aproximační polynomy nízkého

stupně m = 2 nebo m = 3. Bilineární transformace

x0 = a0 + a1x + a2y + a3xy , y0 = b0 + b1x + b2y + b3xy .

Ještě speciálnější je afinní transformace která zahrnuje v praxi potřebnou rotaci, translaci a zkosení.

x0 = a0 + a1x + a2y , y0 = b0 + b1x + b2y .

(16)

16/43

HOMOGENNÍ SOUŘADNICE

⇒ ZÁPIS MATICEMI

 Homogenní souřadnice jsou obvyklé v teoretické mechanice, projektivní geometrii, počítačové grafice a robotice.

 Základní myšlenkou je reprezentovat bod ve vektorovém prostoru o jednu dimenzi větším.

 Bod [x, y]T se v homogenních souřadnicích vyjádří ve 3D vektorovém prostoru jako [λx, λy, λ]T, kde λ 6= 0.

 Pro jednoduchost se obvykle používá jedno z nekonečně mnoha vyjádření [x, y, 1]T.

(17)

17/43

AFINNÍ TRANSFORMACE MATICOVĚ

Affinní zobrazení se po zavedení homogenních souřadnic vyjádří

 x0 y0

1

=

a1 a2 a0 b1 b2 b0

0 0 1

 x y

1

 .

 Souvislost s jazykem PostScript.

 Složitější geometrické transformace (zkreslení) se aproximují tak, že se obraz rozdělí na menší obdélníkové podobrazy.

Pro každý z podobrazů se použije jednodušší geometrická transformace (např. afinní) odhadnutá z vlícovacích bodů.

(18)

18/43

APROXIMACE JASOVÉ FUNKCE

 Transformované souřadnice x0, y0 leží mimo rastr. Máme jen informaci o vstupním obraze f(x, y) v celočíselných

vzorcích.

 Také geometricky transformovaný obraz se má

reprezentovat maticí. Proto i zde máme předepsanou pravoúhlou vzorkovací mřížku.

 Příklad: topografická představa.

 Principiálně správnou odpověď poskytuje teorie aproximace.

Ze vzorků odhadneme spojitou funkci.

 Obvykle se aproximuje polynomem.

(19)

19/43

DUÁLNÍ VYJÁDŘENÍ APROXIMACE

Aproximuje se jas ve vstupním obraze, který odpovídá jasu hledaného bodu x0, y0 ve výstupní mřížce.

Souřadnice bodů (x, y) ve vstupním obraze lze vypočítat invertováním vztahu (x0, y0) = T (x, y), tj.

(x, y) = T−1 (x0, y0) .

(20)

20/43

APROXIMACE JAKO 2D KONVOLUCE

Místo původně spojité obrazové funkce f(x, y) známe její vzorkovanou verzi gs(l x, k y).

Výsledkem aproximace (interpolace) je jas fn(x, y), kde index n rozlišuje jednotlivé interpolační metody. Jas lze vyjádřit jako

dvojrozměrnou konvoluci fn(x, y) =

X

l=−∞

X

k=−∞

gs(l x, k y) hn(x − l x, y − k y) .

Funkce hn je interpolační jádro.

Obvykle se používá interpolační jádro pokrývající jen malé okolí zpracovávaného bodu, aby se ušetřily výpočty. Vně tohoto okolí je hodnota jádra hn nulová.

(21)

21/43

APROXIMACE – NEJBLIŽŠÍ SOUSED

Přiřadí bodu (x, y) hodnotu jasu nejbližšího bodu gs v diskrétní mřížce.

h1(x, y) = gs(round (x), round (y)) .

h

0 0.5

-0.5 x

1

(22)

22/43

LINEÁRNÍ INTERPOLACE

Využije 4 body v okolí (x, y) a předpokládá a lineárně je

zkombinuje. Vliv každého ze čtyř bodů v lineární kombinaci je úměrný jeho blízkosti ke zpracovávanému bodu.

f2(x, y) = (1 − a)(1 − b) gs(l, k) + a(1 − b) gs(l + 1, k)

+b(1 − a) gs(l, k + 1) + ab gs(l + 1, k + 1) , kde l = round (x) , a = x − l ,

k = round (y) , b = y − k .

h2

-1 0 1 x

(23)

23/43

BIKUBICKÁ INTERPOLACE

Lokálně interpolován obrazovou funkci bikubickým polynomem z 16 bodů v okolí. 1D interpolační jádro (pro přehledné

zobrazení)

h3 =





12|x|2 + |x|3 pro 0 ≤ |x| < 1 ,

48|x| + 5|x|2 − |x|3 pro 1 ≤ |x| < 2 ,

0 jinde.

-0.1 0.2 0.4 0.6 0.8

2.0 -2.0

(24)

24/43

LOKÁLNÍ OPERACE PŘEDZPRACOVÁNÍ

Obvykle se nevyužívají specifické znalosti o obraze a charakteru poruch.

Dělení z hlediska použití:

1. Vyhlazování.

2. Hledání hran (gradientní operátory, ostření).

Dělení podle vlastností rovnic:

1. Lineární.

2. Nelineární.

(25)

25/43

STATISTICKÝ PRINCIP FILTRACE ŠUMU

Nechť je každý pixel obrazu zatížen náhodným aditivním šumem:

 statistický nezávislým,

 s nulovou střední hodnotou µ,

 směrodatnou odchylkou σ.

Mějme i realizací, i = 1, . . . n. Odhad správné hodnoty je g1 + . . . + gn

n +

ν1 + . . . + νn

n .

Výsledkem je náhodná veličina s µ0 = 0 a σ0 = σ/√ n.

(26)

26/43

VYHLAZOVÁNÍ Z VÍCE OBRAZŮ BEZ ROZMAZÁNÍ

Předpoklady: n obrazů téže neměnné scény, u nichž lze předpokládat náhodné poruchy nezávislé na signálu.

Správné hodnota jasu: f(i, j) se odhaduje pro každý pixel

obrazu z náhodné populace tvořené pixely v téže pozici ve všech vstupních obrazech gk(i, j) např. obyčejným

průměrováním,

f(i, j) = 1 n

n

X

k=1

gk(i, j) .

Příklad: Potlačení tepelného šumu kamery u přesných měření.

Typicky se správná hodnota odhaduje asi z 50 obrazů.

(27)

27/43

PROBLÉM: POTŘEBUJEME FILTROVAT ŠUM Z JEDINÉHO OBRAZU

 Nezbývá než spolehnout se na nadbytečnost údajů v obraze.

 Sousední pixely mají převážně stejnou nebo podobnou hodnotu jasu.

 Hodnotu jasu můžeme opravit na základě analýzy bodů v okolí. Použije se typický reprezentant z okolí nebo

kombinace několika hodnot.

 Problém rozmazávání na jasových přechodech.

(28)

28/43

OBECNÁ LOKÁLNÍ FILTRACE

 Správná hodnota (nová hodnota) se odhaduje z malého okolí.

 Přístup je založen na představě, že se celý obraz systematicky (např. po řádcích) prochází. Kolem

reprezentativního bodu je zkoumáno malé okolí O, často malý obdélník (též okno).

 Výsledek analýzy je zapsán do výstupního obrazu jako hodnota reprezentativního pixelu.

 Vlastnosti filtru mohou být v každém pixelu obrazu jiné.

(29)

29/43

OPERÁTORY NEZÁVISLÉ NA POSUNU též prostorově invariantní filtry

 Speciální případ lokální filtrace.

 Vlastnosti filtru jsou ve všech polohách stejné.

 Shoduje se s představou frekvenční filtrace (např.

Fourierova transformace), kdy působení filtru je prostorově omezené. Např. filtrace Gaussiánem s malým rozptylem.

(30)

30/43

LOKÁLNÍ LINEÁRNÍ PŘEDZPRACOVÁNÍ

 Nová hodnota je vypočítána jako lineární kombinace hodnot obrazové funkce v okolí.

 Připomínka: Linearita, tj. 2 vlastnosti: aditivita a homogenita.

 U skutečných obrazů je předpoklad linearity narušen

• Hodnotu pixelu nelze vynásobit libovolným skalárem nebo výsledek součtu nemůže být jakýkoliv. Problém saturace díky omezenému rozsahu hodnot obrazové funkce, typicky h0, 255i.

• Problémy na okraji obrazu. Maska přesahuje.

(31)

31/43

DISKRÉTNÍ 2D KONVOLUCE

Příspěvek jednotlivých pixelů v okolí O je vážen v lineární kombinaci koeficienty h podle

g(x, y) = X

(m,n)

X

∈O

h(x − m, y − n) f(m, n) .

Konvoluční jádro h, též konvoluční maska.

Často se používá obdélníkové okolí O s lichým počtem řádků a sloupců, a tak může reprezentativní bod ležet uprostřed

konvoluční masky.

(32)

32/43

OBYČEJNÉ PRŮMĚROVÁNÍ

Průměrování v okolí 3 × 3

h = 1 9

1 1 1 1 1 1 1 1 1

 .

Dvě varianty zvýraznění pixelů blíže středu masky

h = 1

10

1 1 1 1 2 1 1 1 1

 , h = 1

16

1 2 1 2 4 2 1 2 1

 .

(33)

33/43

OBYČEJNÉ PRŮMĚROVÁNÍ, PŘÍKLAD 1

Originál 256 × 256 Přidán umělý šum Průměrování 3 × 3

(34)

34/43

OBYČEJNÉ PRŮMĚROVÁNÍ, PŘÍKLAD 2

Originál 256 × 256 Přidán umělý šum Průměrování 7 × 7

(35)

35/43

SEPARABILNÍ FILTRY

Příklad: binomický 2D filtr rozměru 5 × 5 (prvek je součtem dvou předchozích čísel v Pacsalově trojúhelníku)

1 4 6 4 1

4 16 24 16 4 6 24 36 24 6 4 16 24 16 4

1 4 6 4 1

=

h1

 h2 

=

1 4 6 4 1

 1 4 6 4 1  .

(36)

36/43

SEPARABILITA ⇒ ÚSPORA VÝPOČTŮ Rozměr konvoluční masky je 2N + 1.

g(x, y) =

N

X

m=−N

N

X

n=−N

h(x − m, y − n) f(m, n)

=

N

X

m=−N

N

X

n=−N

h(m, n) f(x + m, y + n)

=

N

X

m=−N

h1(m)

N

X

n=−N

h2(n) f(x + m, y + n)

(37)

37/43

SEPARABILITA ⇒ ÚSPORA VÝPOČTŮ 2

 Pro náš 5 × 5 filtr potřebuje přímý výpočet 25 násobení a 24 sčítání pro každý pixel.

 Při použití separabilního filtru stačí 10 součinů a 8 součtů.

 Ještě výraznější by byla úspora v případě konvoluční filtrace 3D obrázku (např. z tomografu). Pro konvoluční jádro

rozměru 9 × 9 × 9 by na každý voxel bylo potřeba 729 součinů a 728 součtů

 Pro separovatelný filtr stačí 27 součinů a 24 součtů na voxel.

(38)

38/43

OVĚŘENÍ SEPARABILITY A ROZKLAD Každý filtr s hodností 1 je separovatelný.

Rozklad pomocí singulárního rozkladu (SVD).

[u,s,v] = svd(A);

s = diag(s);

tol = length(A) * max(s) * eps;

rank = sum(s > tol);

if (rank == 1)

hcol = u(:,1) * sqrt(s(1));

hrow = conj(v(:,1)) * sqrt(s(1));

y = conv2(hcol, hrow, x, shape);

else

%Nonseparable stencil end

(39)

39/43

NELINEÁRNÍ VYHLAZOVÁNÍ

Cíl: omezit rozmazávání hran při vyhlazování.

1. princip: najít část okolí, ve kterém se jas kvalitativně nemění.

2. princip – robustní statistika: střední hodnota je špatným odhadem, pokud existují vychýlené hodnoty.

(40)

40/43

METODA ROTUJÍCÍ MASKY

V okolí 5 × 5 vyhledává homogenní část rotující maska 3 × 3. Celkem 9 poloh, 1 uprostřed + 8 na obrázku.

1 2 . . . 7 8

Z masek se vybere ta, kde má jas nejmenší rozptyl.

(41)

41/43

FILTRACE MEDIÁNEM

 Medián = výběrový kvantil.

 Nechť je x náhodnou veličinou. Medián M je hodnota, pro kterou je pravděpodobnost jevu x < M rovna jedné

polovině.

 Výpočet mediánu je pro diskrétní obrazovou funkci jednoduchý. Stačí uspořádat vzestupně hodnoty jasu v lokálním okolí a medián určit jako prvek, který je uprostřed této posloupnosti.

 Aby se snadno určil prostřední prvek, používají se

posloupnosti s lichým počtem prvků, typicky okolí 3 × 3,

5 × 5, atd.

 Výpočet ještě urychlí skutečnost, že k nalezení mediánu stačí částečné uspořádání posloupnosti.

(42)

42/43

MEDIÁN, PŘÍKLAD

100 98 102 99 105 101 95 100 255 Aritmetický průměr = 117,2

Medián: 95 98 99 100 100 101 102 105 255

Robustní, protože snese až 50% vychýlených hodnot.

(43)

43/43

MEDIÁN, PŘÍKLAD HRADČANY

Originál 256 × 256 Přidán umělý šum Medián 3 × 3

 Filtraci mediánem lze použít iterativně.

 Hlavní nevýhodou filtrace mediánem v obdélníkovém okolí je to, že porušuje tenké čáry a ostré rohy v obraze.

References

Related documents

Houghova transformace je metoda sloužící k hledání definovaných objektů v obrázku. Protože vyžaduje, aby hledaný objekt byl parametricky popsán, klasická

Tato náročnost je určena především souladem mezi princi- pem metody a charakteru struktury, což je dobře vidět na časech postupu ZRIR IKEM, kdy při segmentaci viscerálního

Dále budeme studovat vznik obrazu díky odrazu záření od povrchů neprůhledných objektů ve spektru viditelného světla (z radiometrického

Fuzzy zpracování obrazu má tři hlavní fáze: kódování obrazových dat (fuzzifikace obrazu), modifikace hodnot příslušnosti do fuzzy mnoţiny (systém fuzzy rozpoznávání

Bižuterní kámen (dále jen BK) je nasnímán ze strany, za použití zadního osvětlovače. Prvním krokem, který je potřeba udělat s pořízeným digitálním obrazem, je

Bižuterní kámen (dále jen BK) je nasnímán ze strany, za použití zadního osvětlovače. Prvním krokem, který je potřeba udělat s pořízeným digitálním obrazem, je

Při obhajobách bakalářského projektu (na který tato práce navazuje) byla doporučena jako možné vylepšení taková úprava navrženého obvodu, aby v případě přivedení

Program OneDrive slouží jako datové uložiště, sdílené složky, vytvoření účtu (je to jako