You are on page 1of 48

Temats 4

Konvolūcijas aprēķins ar
Furjē transformācijas palīdzību,
periodisku defektu novākšana,
nogludināšana, asināšana
Pasniedzēji: Kārlis Freivalds
Paulis Ķikusts

1
Furjē transformācija 1D
gadījumā
• Iepriekš uzmanība bija vērsta uz intensitātes
izmaiņām lokālos, savstarpēji maz saistītos
attēla apgabalos.
• Tagad pievērsīsimies izmaiņām no globāla
viedokļa, skatot visu attēlu vienlaicīgi.
• Šim nolūkam ir izstrādāts klasisks aparāts –
Furjē analīze.
• Galvenā ideja ir aprakstīt intensitātes
izmaiņas, izsakot tās kā dažādu periodu
sinusoīdu kompozīcijas.
2
• Sāksim ar pamatjēdzieniem 1D gadījumā.
• Vispirms darbosimies ar visā plaknē
definētām funkcijām, pēc tam ar to
diskrētajiem analogiem.
• Tiešā Furjē transformācija


 f ( x )e
 2iux
F (u )  dx


ar simbolisku pierakstu
F  ( f ).

3
• Apgrieztā Furjē transformācija


 F (u )e
2iux
f ( x)  du


ar simbolisku pierakstu
f  1 ( F ).

• Un ir spēkā vienādība
f  1 (( f )).

4
• Vēl svarīga operācija ar funkcijām ir to
konvolūcija, kuru jau pazīstam no
iepriekšējā temata:

f * g ( x)   f (u ) g ( x  u )du.


• Teorēma par konvolūciju:


( f * g )  ( f )  ( g ).

• Pēdējā sakarība dod iespēju konvolūciju


aprēķināt ar Furjē transformācijas palīdzību:
1
f * g   (( f )  ( g )).
5
• Kā nelielu vingrinājumu varam aprēķināt
Furjē transformāciju sekojošai taisnstūra
impulsa formas funkcijai
 1 1
1, ja   x 
 ( x)   2 2.
0, pret. gad.

• Tiešā transformācija
1
2
sin u
( )(u )   cos( 2ux)dx  .
1 u

2
6
• Apgrieztā transformācija:
1
2
sin x
 ( )( x)   cos(2ux)du 
1
.
1 x

2

• Abos gadījumos rezultāts ir viena un tā pati


funkcija, kas ir ļoti svarīga signālu analīzē
un kuru apzīmē ar
sinc(x).

7
• Diskrētajā gadījumā funkcija f ir uzdota pie
n veselām argumenta vērtībām:
f(0), f(1), ... f(n – 1).
• Diskrētā Furjē transformācija (DFT)
uk
1 n 1  2 i
F (u )   f (k )e n , u  0, 1, ... (n  1).
n k 0
• Apgrieztā DFT
n 1 uk
2i
f (k )   F (u )e n
, k  0, 1, ... (n  1).
u 0

8
• DFT uzsvērti vienkāršo un regulāro formu
var labi redzēt, to pierakstot matricas veidā
 F (0)  1 1 1 ... 1   f (0) 
   2
  
 F (1)   1   ...  n 1   f (1) 
 F ( 2)   1   1  2 4 ...  2( n 1)  f (2) ,
  n    
 ...   ... ... ... ... ...   ... 
 F (n  1)   1  n 1  2( n 1) ...  ( n 1)( n 1)   f (n  1) 
  
kur kvadrātiskā matrica sastādīta no
vieninieka n-tās pakāpes primitīvās saknes
pakāpēm 
2i
uk n uk
  (e ) .
9
• DTF ir spēkā arī konvolūcijas teorēma:
( f * g )  ( f )  ( g ).
• Šoreiz konvolūciju definē izteiksme
1 n 1
f * g (k )   f (u )  g (k  u ),
n u 0
kur funkcijas f un g ir periodiski turpinātas
ārpus indeksēšanas apgabala 0, 1, ... (n – 1).
• Tādējādi filtrēšanu ar patvaļīga izmēra svaru
masku var sevišķi efektīvi realizēt,
izmantojot efektīvo DTF realizāciju – FFT.
10
DFT aprēķināšana un īpašības
1D gadījumā
• Interesanti, ka praktiskiem nolūkiem
augstāk definētā DFT izteiksme nav gluži
ērta, un to nedaudz modificē.
• Sauksim šo modificējumu par centrēto DFT
uk
1 n 1  2i
centrētā F(u) = 
k
(  1) f ( k )e n
,
n k 0
u = 0, 1, ... (n – 1).
11
• Atceroties slaveno vienādību ei  1
un vienkārši manipulējot ar summēšanas
indeksiem, iegūstam sakarību
n
centrētā F(u) = F(u – ) , u = 0, 1, ... (n – 1).
2
• Protams, lai sakarība būtu korekta, F(u) ir
periodiski jāturpina arī ārpus indeksēšanas
apgabala 0, 1, ... (n – 1), un jāprasa, lai n
būtu pāru skaitlis.
• Šīs sakarības vienkāršība ļauj mums turpmāk
speciāli neakcentēt vārdu “centrētā”.

12
• Izmantojot Eilera vienādību, DFT izteiksmi
var pārrakstīt detalizētāk:
1 n 1 uk uk
F (u )   (1) f (k )(cos(2 )  i sin(2 )).
k

n k 0 n n
• To var aprēķināt ar elementāru algoritmu.
• Apgrieztās DFT algoritms ir nedaudz
sarežģītāks, jo F(u) vērtības var būt
kompleksi skaitļi.

13
• Arī tagad kā pirmo piemēru aplūkosim
diskrētu impulsa formas funkciju
h, ja d  k  d  w
 (k )   , k  0, 1, ... (n  1),
0, pret. gad.
ņemot n = 100, h = 200, w = 10, un
a) d = 0 b) d = 30

14
• Ilustrācijās kreisajā pusē attēlota funkcija
f (k )   (k ) – augšā oriģināls, bet apakšā
1 (( f )).
• Kas ir labajā pusē?
• Attēlot F tiešā kompleksa skaitļa formā nav
nedz ērti, nedz patiesībā vajadzīgs.
• Kas ir būtiskā informācija, ko sniedz F(u)?

15
• Izrādās, ka būtiska ir kompleksā skaitļa
F(u) trigonometriskā forma:
modulis
| F (u ) | Fre2 (u )  Fim2 (u )
arguments
(F(u)) = atan2(Fre(u), Fim(u)).

• |F(u)| sauc par Furjē transformācijas



spektru, bet (F(u)) par transformācijas
fāzes leņķiem (dažkārt arī par fāzu spektru).
16
• Tādējādi zīmējumu labajā pusē mums ir
attēlots DFT spektrs (melnā krāsā) un fāzes
leņķi (sarkanā krāsā uz leju).
• Transformācijas spektrs ir robustāks
funkcijas f raksturotājs.
• Var pierādīt, ka tas nav atkarīgs no
funkcijas nobīdēm.
• To var labi redzēt iepriekšējā zīmējumā, vai
palielinātu sekojošā zīmējumā.

17
• Nav grūti arī parādīt, ka mūsu piemēra
funkcijas  (k ) spektrs tuvināti ir kaut kāds
funkcijas sinc(u) absolūtās vērtības
mērogojums.
• Pavisam viegli ir redzēt, ka jebkurai
funkcijai f(k) tās spektra centrālā vērtība ir
vienāda ar funkcijas vidējo vērtību.
18
• Interesants ir
harmoniskas
periodiskas
funkcijas spektrs

• Bez centrālās vērtības, atšķirība no 0 ir tikai


divās vietās, kas atbilst f frekvencei.
• Ja arī šīs divas vietas aizstāj ar 0, tad pie
apgrieztās DFT svārstības pazūd
• To arī novērojam zīmējumā.
19
DFT lietojuma piemēri 1D
gadījumā
• Par f(k)
ņemsim reāla
rastra attēla
rindas pikseļu
vērtības
transformētas
melnbaltajās
intensitātēs.
20
• Nogludināšana frekvenču apgabalā.
• F(u) vērtības visiem u, kas tālāki no centra
par izvēlētu attālumu, aizstājam ar 0 un
veicam apgriezto DFT.

• Zīmējumā
redzams
rezultāts pie
attāluma 8.

21
• Periodisku defektu novākšana.
• Mūsu reālā attēla rindas fragmentam ir
piesummētas periodiskas svārstības.
• Labi
redzamas
spektra
vērtības, kas
izceļas abās
pusēs no
centra.
• Tās anulējam,
un iegūstam izlabotu attēla rindu.
22
2D attēlu DFT
• Kā iepriekš, vispirms aplūkosim visā plaknē
definētas funkcijas un transformācijas, pēc
tam to diskrētos analogus.
• Tiešā Furjē transformācija:
 
F (u , v)  
  
f ( x, y )e  2i ( ux  vy ) dxdy.

• Apgrieztā Furjē transformācija:




  F (u, v)e
2i ( ux  vy )
f ( x, y )  dudv.
  
23
• Konvolūcija:

f * g ( x, y )    f (u, v)g ( x  u, y  v)dudv.
  

• Teorēma par konvolūciju:


( f * g )  ( f )  ( g ).

24
• Šoreiz vingrinājums, aprēķinot Furjē
transformāciju 2D taisnstūra impulsa
formas funkcijai
 1 1 1 1
1, ja   x  un   y 
 ( x, y )   2 2 2 2
0, pret. gad.

dod rezultātu
( )(u , v) = sinc(u)  sinc(v).

25
• Diskrētajā gadījumā funkcija f ir uzdota pie
n  m veselām argumenta vērtībām
k = 0, 1, ... (n – 1), l = 0, 1, ... (m – 1).
• DFT:
uk vl
1 n 1 m 1  2i (  )
F (u , v)  
nm k 0 l 0
f ( k , l ) e n m
,

u = 0, 1, ... (n – 1), v = 0, 1, ... (m – 1).

26
• Apgrieztā DFT:
n 1 m 1 uk vl
2i (  )
f (k , l )   F (u, v)e n m
,
u 0 v 0

k = 0, 1, ... (n – 1), l = 0, 1, ... (m – 1).


• Centrētā DFT:
uk vl
1 n 1 m 1  2 i (  )
F (u, v)  
nm k 0 l 0
k l
(1) f (k , l )e n m
,

u = 0, 1, ... (n – 1), v = 0, 1, ... (m – 1).


27
• Kā pirmos piemērus aplūkosim impulsveida
attēlus – n, m = 100.
• Sekojošajos zīmējumos:
augšpusē ir attēls un tā intensitātes funkcijas
2D grafiks,
apakšpusē tas pats DTF spektram (spektra
vērtības ir 100 reizes palielinātas).
• Arī šoreiz redzams, ka DFT spektrs nav
atkarīgs no attēla nobīdēm.

28
• Atšķirībā no 1D gadījuma, impulsveida
funkcijai var būt lielāka dažādība.
• Redzams arī piemērs ar impulsa riņķveida
pamatu.
29
• Reāla attēla fragmenta melnbalto intensitāšu
DFT spektrs.
• Fragmenta izmērs – n, m = 100.

30
• Atšķirībā no iepriekšējiem attēliem, šoreiz
spektra vērtības nav palielinātas, un
redzams, ka tās ļoti strauji samazinās
attālinoties no centra.
• Samazināšanas ir tik strauja, ka lai redzētu
mazās vērtības, jāpielieto būtiski lielāks
reizinātājs, piemēram, 500. Tas ir redzams
nākošajā zīmējumā pa kreisi.
• Varam lietot arī logaritmisko līmeņu
transformāciju. Labajā pusē redzams
rezultāts pie
500 ln(1 + x).
31
32
Nogludināšana un asināšana
2D gadījumā
• Nogludināšana 2D gadījumā ir jau skatītās
1D nogludināšanas frekvenču apgabalā
elementārs vispārinājums.
• Tāpat F(u, v) vērtības visiem punktiem
(u, v), kas tālāki no centra par izvēlētu
attālumu aizstājam ar 0 un tad veicam
apgriezto DFT.
• Nākošajā zīmējumā redzams rezultāts, kad
šis attālums ir 5.
33
34
• Asināšanas nolūkos idejiski rīkojamies
pilnīgi pretēji nogludināšanai.
• F(u, v) vērtības visiem punktiem (u, v), kas
tālāki no centra par izvēlētu attālumu
aizstājam nevis ar 0, bet gan palielinām
izvēlētā veidā, un tad veicam apgriezto
DFT.
• Nākošajā zīmējumā redzams rezultāts, kad
šis attālums ir 5 un palielināšana tiek veikta
vienkārši reizinot ar 2.

35
36
Nogludināšana un asināšana
saistībā ar
2D telpiskajiem filtriem
• Uzsverot atšķirību no augstāk aplūkotajām
attēlu apstrādes procedūrām, kuras vispārīgi
sauc par frekvenču apgabala filtriem,
iepriekšējā tematā aplūkotos konvolūciju
tipa filtrus sauc arī par telpiskā apgabala
filtriem.

37
• Jau minēts, ka konvolūciju var realizēt ar
Furjē tiešās un apgrieztās transformāciju
palīdzību, pie tam efektīvi, ja lieto FFT.
• Varam mēģināt rīkoties arī pretēji:
atrast konvolūcijas filtra svaru masku, kas
atbilstu mūsu nogludināšanai un asināšanai
frekvenču apgabalā.

38
• Nogludināšanas gadījumā F(u, v) vērtības
visiem punktiem (u, v), kas tālāki no centra
par izvēlētu attālumu, tika aizstātas ar 0.
• Tas atbilst F(u, v) reizināšanai ar impulsa
tipa funkciju
1, ja dist (u,v)  d
 (u , v)   .
0, pret. gad.

39
• Savukārt asināšanu panācām, reizinot
F(u, v) ar funkciju
2   (u , v).

• Vispārīgā gadījumā mūsu filtrs darbojas


sekojoši
1 (( f )  h),
kur h(u, v) ir filtra reizinātjfunkcija.

40
• Sakarība
f * g   1 (( f )  ( g ))
ļauj viegli secināt, ka meklētā konvolūcijas
svaru maska g(x, y) ir
1
 (h).

• Sekojošo zīmējumu kreisajā pusē ir 50 reižu


palielināta reizinātājfunkcija, bet pa labi
attēlotās apgrieztās DFT rezultējošās
funkcijas ir 3 reizes palielinātas.
41
Nogludināšanas
maska

Asināšanas
maska

42
• Salīdzinot ar abiem paņēmieniem iegūtās
funkcijas, mēs varētu rast konkrētas idejas
praktisku filtru struktūras izstrādāšanai.
• Svarīgi atzīmēt, ka šis salīdzinājums atklāj
arī būtisku frekvenču apgabala filtrēšanas
trūkumu, kāda nav filtrēšanai telpiskajā
apgabalā.
• Aplūkosim vienkāršu gaišu joslu uz
tumšāka fona un pielietosim šim attēlam
mūsu nogludināšanas un asināšanas filtrus.
• Rezultāts redzams sekojošajos zīmējumos.
43
Nogludināšana Asināšana
44
• Redzam, ka mūsu kosinusi un sinusi izsauc
nopietnas fona svārstības, kuras
sarežģītākos attēlos gan savstarpēji vairāk
vai mazāk izlīdzinās.
• Šādu fona svārstību principā nav telpiskā
apgabala filtriem, kuru būtība ir attēla
lokālo vērtību summēšana.
• Pārliecināsimies par to, pielietojot aplūkoto
frekvenču apgabala filtrēšanas tehniku,
tomēr ar reizinātājfunkcijām, kas atbilst
telpiskā apgabala svaru maskām.
45
• Nogludināšanu veiksim ar apļveida svaru
masku, kur funkcija dist rēķina (u, v)
attālumu līdz punktam (0, 0):

1
 , ja dist (u,v)  5
Wnogl (u , v)   81 .
0, pret. gad.

46
• Savukārt asināšanu (precīzāk, kontūru
pastiprināšanu), ar svaru masku

 35
 99 , ja dist (u,v )  1

 1 , ja 1  dist (u,v)  5
Wasin (u , v)   .
 99

0, pret. gad.

47
• Attiecīgās filtru reizinātājfunkcijas ir
(Wnogl ) un (Wasin ).
• Zīmējumos šo funkciju reālās daļas ir
1000000 reižu palielinātas:

Nogludināšana Asināšana
48

You might also like