Professional Documents
Culture Documents
Temats 04
Temats 04
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
2iux
F (u ) dx
ar simbolisku pierakstu
F ( f ).
3
• Apgrieztā Furjē transformācija
F (u )e
2iux
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.
• Tiešā transformācija
1
2
sin u
( )(u ) cos( 2ux)dx .
1 u
2
6
• Apgrieztā transformācija:
1
2
sin x
( )( x) cos(2ux)du
1
.
1 x
2
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
2i
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
2i
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 2i
centrētā F(u) =
k
( 1) f ( k )e n
,
n k 0
u = 0, 1, ... (n – 1).
11
• Atceroties slaveno vienādību ei 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)).
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
• 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 2i ( ux vy ) dxdy.
F (u, v)e
2i ( ux vy )
f ( x, y ) dudv.
23
• Konvolūcija:
f * g ( x, y ) f (u, v)g ( x u, y v)dudv.
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 2i ( )
F (u , v)
nm k 0 l 0
f ( k , l ) e n m
,
26
• Apgrieztā DFT:
n 1 m 1 uk vl
2i ( )
f (k , l ) F (u, v)e n m
,
u 0 v 0
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).
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).
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