Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
5. Geometriai transzformációk Kató Zoltán Képfeldolgozás és Számítógépes Grafika tanszék SZTE (http://www.inf.u-szeged.hu/~kato/teaching/)
2
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Kép transzformációk típusai • Kép értékkészletének (radiometriai információ) átalakítása:
J (i, j ) f ( I , (i, j ))
• Kép értelmezési tartományának geometriai transzformációja (warping):
J (i, j ) I (ti (i, j ), t j (i, j )) • Mind az értékkészlet mind pedig az értelmezési tartomány átalakítása:
J (i, j ) f ( I , (ti (i, j ), t j (i, j )))
3
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Egyszerű geometriai transzformációk
• Nagyítás / kicsinyítés
Izotróp Anizotróp
• Forgatás
4
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Forgatás • RxC kép forgatása 0° < 90° szöggel a középpont körül Új képméret:
round D cosθ θ
R out round D sinθ θA C out
A
R out0 C out0
Új középpont:
R
out0
1 2
, C out0
R out 1, 12 C out 1.
5
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Forgatás • RxC kép forgatása 0° < 90° szöggel a középpont körül
Forgatási mátrix
cosθ sinθ θ sinθ cosθ R in 0 C in 0
Output koordináták előállítása
rin R in0 R out0 r c θ cin C in0 R out0
6
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Geometriai transzformációk • Adott koordináta transzformáció x’ = t(x) és I(x) kép esetén hogyan állítjuk elő a J(x’) = I(t(x)) képet? • J(x’) generálása tipikusan az inverz transzformáció alapján történik J minden pixele garantáltan kitöltésre kerül • Mi történik, ha x’ őse (x=t-1(x’)) I–ben nem egész pixelkoordinátára mutat?
t(x) x
I(x)
x’
J(x’)
Szeliski
7
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Újra mintavételezés • Emlékeztető: egy I(i,j) digitális kép az eredeti folytonos f(x,y) kép mintavételezésével és kvantálásával áll elő:
I egy folytonos függvény diszkrét pontszerű mintáiból áll elő. Ha rekonstruálni tudnánk az eredeti f függvényt, akkor tetszőleg új felbontást elő tudnánk állítani
I (i, j ) quantize( f ( xd , yd )) I(i)
1
2
3
4
5
• Ha ismerjük egy f függvény értékeit diszkrét pontokban, akkor f közbülső értékeit interpolációval állíthatjuk elő
i
8
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Geometriai transzformáció végrehajtása Input kép
Transzformáló függvény
Interpolációs függvény
Output kép
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
9
Egyszerű példa: Kép negyedére kicsinyítése
10
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Egyszerű példa: Kép negyedére kicsinyítése
Minden 4. sor minden 4. pixelét vegyük ki és másoljuk a kicsinyített képbe.
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
11
Egyszerű példa: Kép negyedére kicsinyítése
Mi történt?
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
12
A MINTAVÉTELEZÉS KORLÁTAI
13
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Méret és frekvencia közötti összefüggés • Ha ΔxΔy egy objektum kiterjedése a képtérben és ΔuΔv a Fourier térben, akkor közöttük az alábbi összefüggés áll fent:
1 x y u v 16 2
space
frequency
FT
• Egy kis méretű képelem nagy kiterjedésű lesz a Fourier térben és fordítva.
space
frequency
FT
14
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Képméret csökkentés - alulmintavételezés • Egy R×C méretű I kép n-ed részre kicsinyítése egy R/n × C/n méretű J kép. • Egy J kép diszkrét Fourier transzformáltja a J-vel megegyező méretű. • A képtér és FT jellemzők mérete fordítottan arányos J-nek n R/n × n C/n = R × C méretűnek kellene lennie.
• A fentiek egyszerre csak úgy teljesülhetnek, ha DFT(J) átfed önmagával.
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
15
Kép és DFT tóruszon értelmezett
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
16
Felére kicsinyített kép
17
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Ideális DFT - felezés • A felére kicsinyített kép ideális DFT-je a középső (alacsony frekvenciájú) régió lenne
18
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Valós DFT - felezés • A valóságban az eredeti kép DFT-je 4 részre osztódik, amelyek az eredeti gyűrűn folytonosan helyezkednek el
19
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Valós DFT - felezés • A kicsinyített képen a 4 rész átlapolódik
Alacsony frekvencia
Magas oszlop frekv.
Oszlopok és sorok
Alacsony sor frekv.
Magas frekvencia Alacsony oszlop frekv. Magas sor frekv. Oszlopok és sorok
20
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Valós DFT - felezés • A 4 rész megfelel 1-1 tórusznak, amelyek átfednek
21
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Spektrális átfedés • At eredeti és felezett kép közötti spektrális átfedés
átfedő frekvencia tér-beli jellemzők
eredeti
felezett, × 2 zoom
22
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Egy kép mintavételezése • Egy kép mintavételezése a samp() mintavételező függvénnyel való szorzással történik
A mintavételező függvény nem más, mint egy négyzetrács mentén elhelyezett impulzusfüggvények összessége
samp N I r, c I r, c
r jN c kN
j k
23
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Impulzus függvény • A Dirac δ–függvény
ha ( x, y ) (0,0) ( x, y ) , 0 különben
A Dirac függvény szeparálható:
A mérésben használt változata (impulzus függvény):
1 ha x k (x k) 0 különben
( x, y) dxdy 1
( x, y) ( x) ( y) 1
0
k
x
24
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
A mintavételező függvény FT-ja • Maga is egy mintavételező függvény, de az impulzusok 1/N távolságra lesznek egymástól • A képtérben vett szorzás (mintavételezés) a Fourier térben konvolúció lesz!
25
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Konvolúció az impulzusfüggvénnyel • Az eredmény az eredeti függvény eltolása lesz az impulzusfüggvény pozíciójába
26
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Egy mintavételezett kép FT-ja • A kép FT-ja ismétlődik 1/N intervallumonként
Ha a Fourier tartomány rádiusza ≥1/(2N), akkor átfedés lesz spektrum átfedés, Moiré hatás
u j v k F I u , v
j k
N
N
27
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Nyquist frekvencia
T.f.h. az f(x) függvény sávhatárolt, vagyis a Fourier transzformáltja F(X) nem tartalmaz w-nél nagyobb frekvenciákat, azaz:
F(X)=0, ha |X|>w . A w-t ekkor Nyquist-frekvenciának nevezzük, ha
F(-w) ≠ 0 vagy F(w) ≠ 0 .
28
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Sávhatárolt függvény • Mintavételezés előtt biztosítani kell, hogy a kép nem tartalmaz 1/2N-nél nagyobb frekvenciákat:
Szorzás az alábbi dobozfüggvénnyel:
FT
1 1 H u, v 0 ahol u vagy v 2N 2N
Ez ekvivalens a képtérben egy 2N nagyságú szűrővel Tehát ha felezni akarjuk a képet, akkor N=2 és így egy legalább 4x4 méretű simításra van szükség (pl. 5x5 méretű konvolúciós maszkkal simítjuk).
29
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
A sinc és a doboz függvény kapcsolata
sinc(x)
П1/2(x) Fourier
x
u
F [1/ 2 ( x)](k ) e
2ikx
1/ 2 ( x) dx sinc( k )
30
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
A sinc függvény
1 , ha x 0 x sinc( x) sin x cos k , ha x 0 k 1 2 x
31
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
A sinc és a doboz függvény kapcsolata
Fourier
2D doboz függvény
2D sinc függvény
32
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Whittaker-Shannon interpolációs formulája
Ha az f(x) függvény sávhatárolt (a Fourier transzformáltja nem tartalmaz w-nél nagyobb frekvenciákat), akkor:
f ( x)
n
1 sin( (2wx n)) f (n ) 2w (2wx n)
diszkrét pontok
33
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Whittaker-Shannon mintavételezési tétele
A 2D folytonos, w-nél nagyobb frekvenciákat nem tartalmazó (sávhatárolt) képfüggvény akkor és csakis akkor állítható vissza a mintavételezettjéből, ha a Δx és a Δy mintavételezési léptékekre teljesül:
1 1 x , y . 2w 2w
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
34
INTERPOLÁCIÓS TECHNIKÁK
35
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Geometriai transzformáció végrehajtása Input kép
Transzformáló függvény
Interpolációs függvény
Output kép
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
36
Interpolációs technikák
37
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Legközelebbi szomszéd (NN) • A legközelebbi szomszéd (Nearest Neighbor – NN) interpoláció nem más, mint a subpixeles koordináták kerekítése:
J(r,c) = I(ri ,ci ) ahol (ri ,ci ) = round(rf ,cf )
(ri ,ci ) (rf ,cf )
38
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Bilineáris • A bilineáris interpoláció nem más, mint a subpixeles (rf ,cf ) koordinátához legközelebb eső 4 szomszédos pixelérték súlyozott átlaga: r, c r, c 1
J r, c I r , c 1 r 1 c I r 1, c r 1 c I r , c 1 1 r c I r 1, c 1 r c.
Ahol
r rf ; c c f
és
r rf r ; c c f c
c
r
1 r r 1, c
1 c r,f c,c f r r 1, c 1
39
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Bicubic • A bicubic interpoláció a subpixeles (rf ,cf ) koordinátához legközelebb eső 4 szomszédos pixelértéket illetve azok parciális deriváltjait is használja Ezért 4x4 szomszédság szükséges r, c rf , c f
c Ir i, c j , r cr
Ir i, c j , Ir i, c j j 0 1
1
i 0
40
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Bicubic • N(r´,c´ ) az (r´,c´ ) 8-pixeles szomszédsága r
Ir , c r , c diff. átlaga
Ir 1, c Ir , c Ir , c Ir 1, c 12 Ir 1, c Ir 1, c
1 2
r c r c
Nr, c
Nr, c 1
Nr 1, c
Nr 1, c 1
Ir , c
Ir, c
Ir, c
41
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Bicubic • A parciális deriváltak az alábbi harmadfokú polinomok szorzatának összegében kombinálódnak
J r , c
2
2
I r m , c n Pr m Pn c
m 1 n 1
ahol
Px
1 6
Q x 2
3
4Q x 1
6Q x 4Q x 1 3
és
3
3
r, c rf , c f r, c rf r , c f c x for x 0 Q x 0 for x 0
nearest neighbor bilinear
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
42
Példa: Kicsinyítés 3/7 arányban
bicubic
eredeti
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
43
Példa: Kicsinyítés 3/7 arányban - eredeti
eredeti
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
44
Példa: Kicsinyítés 3/7 arányban - NN
nearest neighbor
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
45
Példa: Kicsinyítés 3/7 arányban - bilinear
bilinear
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
46
Példa: Kicsinyítés 3/7 arányban - bicubic
bicubic
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
47
Példa: Kicsinyítés 3/7 arányban - eredeti
eredeti
48
Kató Zoltán: Digitális Képfeldolgozás (Tehetséggondozó program)
Felhasznált anyagok • Palágyi Kálmán: Digitális Képfeldolgozás /pub/Digitalis_kepfeldolgozas
• Trevor Darrell: C280, Computer Vision http://www.cs.cmu.edu/afs/cs/academic/class/15385s06/lectures/ppts/
• Richard Alan Peters: EECE/CS 253 Image Processing http://www.archive.org/details/Lectures_on_Image_Processing
• További források az egyes diákon megjelölve