noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...filtrarea...

36
Noţiuni de bază în prelucrarea numeric ă a imaginilor şi semnalelor video Convoluția 1D semnale continue Convoluția 2D semnale continue Convolu ția semnalelor continue () () () ( )( )d ( )( )d gx fx hx fx h f hx = = = (, ) (, ) (, ) ( , )( , )d d ( , )( , )d d − − − − = = = = gxy f xy hxy f x y h f hx y

Upload: others

Post on 28-Dec-2019

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Convoluția 1D semnale continue

• Convoluția 2D semnale continue

Convoluția semnalelor continue

( ) ( ) ( ) ( ) ( )d ( ) ( )dg x f x h x f x h f h x

− −

= = − = −

( , ) ( , ) ( , ) ( , ) ( , )d d

( , ) ( , )d d

− −

− −

= = − − =

= − −

g x y f x y h x y f x y h

f h x y

Page 2: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Convoluția semnalelor 1D continue

Page 3: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Convoluția semnalelor 2D continue

Page 4: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Definiția convoluției discrete 1D:

• Media ponderată în vecinătatea lui f(n) cu ponderile egale cu coeficienții filtrului

• h(n) = răspunsul la impuls al sistemului (filtrului)

• Lungimi:– Lungimea semnalului original: N

– Lungimea filtrului: K

– Lungimea semnalului g: N+K-1

Convoluția semnalelor 1D discrete

( ) ( ) ( ) ( ) ( ) ( ) ( )m m

g n f n h n f n m h m f m h n m

=− =−

= = − = −

Page 5: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Convoluția a două semnale discrete 1D

( ) ( ) ( ) ( ) ( )m

g n f n h n f m h n m

=−

= = −

Page 6: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• fiecare pixel g(m,n) = media ponderată a pixelilor învecinaţi din imaginea originală– pixelul

– ponderat cu

• dimensiune înainte și după convoluție– f de dimensiune M x N

– filtru de dimensiune K x L

– g de dimensiune (M+K-1) x (N+L-1)

Convoluția semnalelor 2D discrete

( , ) ( , ) ( , ) ( , ) ( , )

( , ) ( , )

=− =−

=− =−

= = =

=

k l

k l

g m n f m n h m n f m - k n - l h k l

f k l h m - k n - l

( , )f m - k n - l

( , )h k l

Page 7: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Convoluția semnalelor 2D discrete

Page 8: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Aaa

• aaa

Convoluția semnalelor 2D discrete

mediere mediere ponderată

Page 9: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Exemplu:

Convoluția semnalelor 2D discrete

Imagine filtrată cu filtrul de mediere 1

Imagine filtrată cu filtrul de mediere 2

Imagine originală

Page 10: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Semnificația lui h(m,n)?

• h(m,n) arată cum un punct (impuls) din imaginea originală este împrăștiat în imaginea de ieșire

Convoluția semnalelor 2D discrete

f(m,n)

h(m,n)

H rotit cu 180o Rezultat convoluţie

Page 11: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Zero padding

Tratarea marginilor

Margini exterioare

Margini interioare

Pixelii imaginii de intrare

Pixeli extinşi

Page 12: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• În oglindă

Tratarea marginilor

Page 13: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Tratare simplificată

Tratarea marginilor

Margini exterioare: nefolosite

Margini interioare: nemodificate

Page 14: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Matlab:

• G=conv2(F,h,shape)

– shape = ‘full’ (implicit): G include marginile externe și interne calculate folosind zero padding

– shape = ‘same’: G are dimensiunea lui F și este calculată folosind zero padding

– shape = ‘valid’: G este imaginea convolută fără marginile interne, calculată fără a folosi pixelii din afara imaginii originale (tratare simplificată)

Convoluția semnalelor 2D discrete

Page 15: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtrarea spațială liniară = convoluție dintre imagine și funcția pondere a filtrului

• Convoluția = corelația cu h(m,n) rotit cu 180o

• Corelația:

Filtrarea spațială liniară

( , ) ( , ) ( , ) ( , ) ( , )

( , ) ( , )

=− =−

=− =−

= = + + =

= + +

k l

k l

g m n f m n h m n f m k n l h k l

f k l h m k n l

Page 16: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Corelație:1. Centrează masca filtrului pe un pixel

2. Calculează suma produselor

3. Repetă de la 1

• Convoluția:1. Rotește masca filtrului cu 180 grade

2. Calculează corelația

Corelație vs. Convoluție

( , ) ( , ) ( , ) ( , )=− =−

= + + K L

k K l L

f m n h m n f m k n l h k l

( , ) ( , ) ( , ) ( , )=− =−

= − − K L

k K l L

f m n h m n f m k n l h k l

Page 17: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Exemplu: Corelație vs. Convoluție

f(m,n)h(m,n)

Zero padding

origine

Poziția inițială pentru hRezultat complet corelaţie

Rezultat trunchiat

Corelaţie

Page 18: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Exemplu: Corelație vs. Convoluție

f(m,n)h(m,n)

Zero padding

origine

H rotit cu 180o

Rezultat complet convoluţie

Rezultat trunchiat

Convoluţie

Page 19: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Exemplu: Corelație vs. Convoluție

Rezultat trunchiat corelaţie

Rezultat trunchiat convoluţie

Page 20: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• G = conv2(F,h)

• G = filter2(h,F,shape)– filtrează F cu un filtru 2D FIR ai cărui coeficienţi sunt daţi în

matricea h.

– G calculată folosind corelaţia: filter2(h,F)=conv2(F,rot90(h,2))

– default: size(G) = size(F)

• G = imfilter(F,h,option);– filtrează matricea N-D F cu filtrul N-D h.

– G calculată folosind corelaţia (default) sau convoluţia

– default: size(G) = size(F)

– class(G) = class(F)

– are mai multe opţiuni

Filtrarea spațială liniară: Matlab

Page 21: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• G = imfilter(F,h);

Filtrarea spațială liniară: Matlab

Opţiune Descriere

Opţiuni tratare margini

Default zero padding

'symmetric' Valorile imaginii de intrare din afara marginilor obţinute prin reflectarea în oglindă faţă de margine

'replicate' Valorile imaginii de intrare din afara marginilor obţinute prin duplicarea celei mai apropiate margini interioare

'circular' Valorile imaginii de intrare din afara marginilor obţinute presupunând că intrarea este periodică

Dimensiune ieşire

'same' size(G)=size(F)

'full' Ieşire netrunchiată

Opţiuni convoluţie sau corelaţie

'corr' corelaţie (default)

'conv' convoluţie

Page 22: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de mediere

– sunt FTJ

– elimină zgomotul

– crează un efect de blurare

Filtrarea spațială liniară

Mediere spațială Mediere ponderată

Page 23: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de mediere

– Filtre de lungime:

• 3x3

• 5x5

• 9x9

• 15x15

• 35x35

Filtrarea spațială liniară

Page 24: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de gradient (detecție a contururilor)

Filtrarea spațială liniară

Page 25: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de gradient (detecție a contururilor)

– Laplacian:

Filtrarea spațială liniară

Page 26: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de gradient (detecție a contururilor)

Filtrarea spațială liniară

Original Laplacian

Page 27: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de sharpening (accentuare a contururilor)– Amplifică frecvențele înalte

– Imagine + FTS(imagine)

Filtrarea spațială liniară

Semnal original

Derivata de ordin 2

Semnal original + Derivata de ordin 2

Page 28: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de sharpening (accentuarea contururilor)

– Imaginea cu contururi accentuate

– Funcția pondere a filtrului de accentuare a contururilor:

ℎ𝑠ℎ𝑎𝑟𝑝 𝑥, 𝑦 =δ 𝑥, 𝑦 + c hFTS 𝑥, 𝑦

Filtrarea spațială liniară

Page 29: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de sharpening (accentuarea contururilor)

– Diferite variante de ℎ𝑠ℎ𝑎𝑟𝑝 :

Filtrarea spațială liniară

+ =1

4

+1

4

1

4

1

4= 8

0

Page 30: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de sharpening (accentuarea contururilor)

– Imaginea cu contururi accentuate

Filtrarea spațială liniară

Original Laplacian Original + Laplacian

Page 31: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de sharpening (accentuarea contururilor)

– Altă variantă - unsharp masking:

• filtrare trece jos (blurare)

• scăderea imaginii blurate din original

• însumare ponderată la imaginea originală

Filtrarea spațială liniară

Page 32: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de sharpening (accentuarea contururilor)

– Unsharp masking

Filtrarea spațială liniară

original

blurat

mască unsharp

Accentuare contururi

Page 33: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Filtre de sharpening (accentuarea contururilor)

– Unsharp masking

Filtrarea spațială liniară

original original - bluratcontururi

accentuateblurat

Page 34: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Ieșirea nu este o dependență liniară de intrare

• Exemplu: filtrul median

– Familia filtrelor de ordonare

– Ieșirea depinde de sortarea valorilor de intrare

– Alte exemple: min, max

– Eliminarea zgomotului de tip sare și piper (salt&pepper)

– Zgomot salt&pepper: valori extreme (0 sau 255) pe poziții aleatore din imagine

Filtrarea spațială neliniară

Page 35: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

• Pași:

– Ordonare valori din fereastră

– Ieșirea filtrului = valoarea centrală din vector

• Exemplu: fereastră de dimensiune 3x320 23 24

18 200 24

27 28 32

– Filtru de mediere

(50+52+53+48+100+55+57+58+61)/9 = 44

– Filtru median: [18, 20, 23, 24, 24, 27, 28, 32, 200 ]• Matlab: medfilt2

Filtrarea mediană

Page 36: Noţiuni de bază în prelucrarea numerică a semnalelor video ... corelatie, filtrare...Filtrarea spațială liniară: Matlab Opţiune Descriere Opţiuni trataremargini Default zero

Noţiuni de bază în prelucrarea numerică a imaginilor şi semnalelor video

Filtrarea mediană

Filtru median

Imaginea originală

Imagine cu zgomot salt&pepper

Filtru de mediere