Luku 4 - Kuvien taajuusanalyysi

Samankaltaiset tiedostot
Kompleksiluvut signaalin taajuusjakauman arvioinnissa

Numeeriset menetelmät

1 Kompleksiluvut. Kompleksiluvut 10. syyskuuta 2005 sivu 1 / 7

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Kompleksianalyysi, viikko 6

Matematiikan tukikurssi

Spektri- ja signaalianalysaattorit

y z = (x, y) Kuva 1: Euklidinen taso R 2

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin

1 Kompleksiluvut 1. y z = (x, y) Kuva 1: Euklidinen taso R 2

1 Kannat ja kannanvaihto

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

SIGNAALITEORIAN KERTAUSTA 1

1. Piirrä kompleksitasoon seuraavat matemaattiset objektit/alueet.

Kompleksiluvut., 15. kesäkuuta /57

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1

1. Viikko. K. Tuominen MApu II 1/17 17

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Matematiikan tukikurssi

Suorista ja tasoista LaMa 1 syksyllä 2009

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Matematiikan tukikurssi

Matriisilaskenta Luento 10: Polaarimuoto ja kompleksilukujen geometriaa

SMG-2100: SÄHKÖTEKNIIKKA. Kompleksilukujen hyödyntäminen vaihtosähköpiirien

SIGNAALITEORIAN KERTAUSTA OSA 1

SIGNAALITEORIAN KERTAUSTA OSA 2

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

IIR-suodattimissa ongelmat korostuvat, koska takaisinkytkennästä seuraa virheiden kertautuminen ja joissakin tapauksissa myös vahvistuminen.

Digitaalinen signaalinkäsittely Kuvankäsittely

1 Vastaa seuraaviin. b) Taajuusvasteen

Ortogonaaliprojektio äärellisulotteiselle aliavaruudelle

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

a) z 1 + z 2, b) z 1 z 2, c) z 1 z 2, d) z 1 z 2 = 4+10i 4 = 10i 5 = 2i. 4 ( 1)

12.5. Vertailua. Silmäillään laskostumisen estoa tietokonegrafiikan kannalta. Kuva luonnehtii vaihtoehtoja.

5. Z-muunnos ja lineaariset diskreetit systeemit. z n = z

MS-C1340 Lineaarialgebra ja

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Fourier-analyysi, I/19-20, Mallivastaukset, Laskuharjoitus 7

Signaalit ja järjestelmät aika- ja taajuusalueissa

Kertausta: avaruuden R n vektoreiden pistetulo

SGN-1200 Signaalinkäsittelyn menetelmät Välikoe

F {f(t)} ˆf(ω) = 1. F { f (n)} = (iω) n F {f}. (11) BM20A INTEGRAALIMUUNNOKSET Harjoitus 10, viikko 46/2015. Fourier-integraali:

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Tehtävä 1. Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja.

(0 desimaalia, 2 merkitsevää numeroa).

Numeeriset menetelmät TIEA381. Luento 14. Kirsi Valjus. Jyväskylän yliopisto. Luento 14 () Numeeriset menetelmät / 55

Kompleksiluvut 1/6 Sisältö ESITIEDOT: reaaliluvut

Tällaisessa tapauksessa on usein luontevaa samaistaa (u,v)-taso (x,y)-tason kanssa, jolloin tason parametriesitys on *** VEKTORIANALYYSI.

Vektorialgebra 1/5 Sisältö ESITIEDOT: vektori

1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut

(a) Kyllä. Jokainen lähtöjoukon alkio kuvautuu täsmälleen yhteen maalijoukon alkioon.

Tietoliikennesignaalit & spektri

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47

Diskreetti Fourier-muunnos ja sen hyödyntäminen signaalien spektrien muodostamisessa. Pentti Romppainen

Lukujonot Z-muunnos Z-muunnoksen ominaisuuksia Z-käänteismuunnos Differenssiyhtälöt. Z-muunnos. 5. joulukuuta Z-muunnos

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

JAKSO 2 KANTA JA KOORDINAATIT

Mat / Mat Matematiikan peruskurssi C3-I / KP3-I Harjoitus 5 / vko 42, loppuviikko, syksy 2008

Matematiikan tukikurssi

Johdatus matematiikkaan

Kapeakaistainen signaali

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

SGN-1200 Signaalinkäsittelyn menetelmät, Tentti

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Matematiikan tukikurssi

Numeeriset menetelmät TIEA381. Luento 13. Kirsi Valjus. Jyväskylän yliopisto. Luento 13 () Numeeriset menetelmät / 42

A = a b B = c d. d e f. g h i determinantti on det(c) = a(ei fh) b(di fg) + c(dh eg). Matriisin determinanttia voi merkitä myös pystyviivojen avulla:

Osa VI. Fourier analyysi. A.Rasila, J.v.Pfaler () Mat Matematiikan peruskurssi KP3-i 12. lokakuuta / 246

Tehtävänanto oli ratkaista seuraavat määrätyt integraalit: b) 0 e x + 1

Lineaarinen yhtälöryhmä

Täydellisyysaksiooman kertaus

1.1 Vektorit. MS-A0004/A0006 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n.

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

1 Ominaisarvot ja ominaisvektorit

1 Määritelmä ja perusominaisuuksia. 2 Laskutoimitukset kompleksiluvuilla. 3 Reaaliluvut ja kompleksiluvut. 4 Kompleksilukujen algebraa

Valintakoe

Matematiikan tukikurssi

Kompleksiluvut Kompleksitaso

Numeeriset menetelmät

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi

PERUSASIOITA ALGEBRASTA

Talousmatematiikan perusteet: Luento 9

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44

Lineaarikuvauksen R n R m matriisi

A B = (1, q, q 2 ) (2, 0, 2) = 2 2q q 2 = 0 q 2 = 1 q = ±1 A(±1) = (1, ±1, 1) A(1) A( 1) = (1, 1, 1) (1, 1, 1) = A( 1) A(1) A( 1) = 1

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

IV. TASAINEN SUPPENEMINEN. f(x) = lim. jokaista ε > 0 ja x A kohti n ε,x N s.e. n n

Talousmatematiikan perusteet: Luento 8. Vektoreista ja matriiseista Vektorien peruslaskutoimitukset Lineaarinen riippumattomuus Vektorien sisätulo

, c) x = 0 tai x = 2. = x 3. 9 = 2 3, = eli kun x = 5 tai x = 1. Näistä

Johdatus reaalifunktioihin P, 5op

Tämän luvun tarkoituksena on antaa perustaidot kompleksiluvuilla laskemiseen sekä niiden geometriseen tulkintaan. { (a, b) a, b œ R }

Transkriptio:

Luku 4 - Kuvien taajuusanalyysi Matti Eskelinen 8.2.2018 Kuvien taajuusanalyysi Tässä luvussa tutustumme taajuustasoon ja opimme analysoimaan kuvia ja muitakin signaaleja Fourier-muunnoksen avulla. Aiheina Fourier-muunnos, DFT/FFT, lyhyesti Gaborin suotimet. Käytännöllisiä asioita tällä kerralla: kokeillaan DFT:tä erilaisiin oikeisiin ja keinotekoisiin kuviin, mietitään taajuustason sisältämää informaatiota, kokeillaan Gaborin suotimia kuviin. Näytteistetyn signaalin integroituva malli Fourier-analyysiä varten meidän on pystyttävä esittämään kuva integroituvana funktiona. Intuitiivisesti ajateltuna kuvan integraalin tulisi olla kuvan kaikkien pikselien summa, mutta jos integroimme pisteittäin määriteltyä funktiota, jollainen näytteistetty kuva on, integraaliksi tulee 0. Edellisestä luvusta muistamme Diracin δ:n, jonka integraali yli koko reaaliakselin on 1. Koska δ saa arvon 0 kaikkialla muualla paitsi origossa, on funktion f ja δ:n tulon integraali sama kuin f0). δx)fx)dx = f0). Summaamalla yhteen siirrettyjä versioita δ:sta siten, että jokaisessa reaaliakselin kokonaislukupisteessä on oma δ, saadaan funktionkaltainen matemaattinen konstruktio, jonka integraali yli reaaliakselin on funktion f arvojen summa. Näin saamme siis määriteltyä näytteistetyn signaalin integroituvana funktiona, joka on summa joukosta siirrettyjä δ-olioita. 1

Fourier-muunnos Aiemmin esitettiin tulkinta, jonka mukaan kuvat ovat vektoreita eli painotettuja summia kantavektoreista, jotka puolestaan vastaavat yksittäisiä pikseleitä. Lineaarialgebrasta on tuttua ajatus siitä, että vektoriavaruuksissa voidaan suorittaa kannanvaihtoja, eli esittää samat vektorit joidenkin toisten kantavektoreiden avulla. Tällaiset kannanvaihdot voidaan myös kääntää ja palauttaa vektorit alkuperäisten kantavektorien mukaiseen muotoon. Kannanvaihdon tavoitteena on yleensä saada jotakin etua muuntamalla vektorit sellaiseen muotoon, jolla on joitakin hyödyllisiä ominaisuuksia tutkittavan ongelman kannalta. Aiemmalla luennolla havainnollistettiin, kuinka signaaleita voidaan koostaa summaamalla yhteen taajuuskomponentteja, jotka ovat eri taajuisia siniaaltoja. Muuttamalla siniaaltojen amplitudia ja vaihetta saadaan taajuuskomponentit vahvistamaan ja kumoamaan toisiaan sopivasti. Mutta voiko tällä tavalla saada aikaan minkä tahansa signaalin? Käy ilmi, että vastaus on kyllä, ja että Fouriermuunnos on työkalu, jolla minkä tahansa signaalin saa purettua erillisiksi taajuuskomponenteikseen. Fourier-muunnos voidaan ymmärtää kannanvaihtona, jossa uudet kantavektorit ovat taajuuskomponentteja. Kuvien tapauksessa nämä ovat eri suuntiin eteneviä ja eri taajuisia sinitasoaaltoja, eli tasossa eteneviä siniaaltoja, jotka saavat vakioarvoja tietyn suuntaisilla suorilla. Kannanvaihdon tavoitteena on, että nämä siniaaltokomponentit kuvaisivat kuvassa tapahtuvia tietyn suuntaisia ja taajuisia muutoksia. Seuraavassa kuvassa on muutamia esimerkkejä eri taajuisista sinitasoaalloista. Voi tuntua kummalliselta ajatella siniaaltoja kantavektoreina, mutta on muistettava, että tutkimme vektorimuodossa olevia kuvia. Kantavektorit ovat hyvin korkeaulotteisia, ja ne ovat tulkittavissa kuviksi jos vektorien arvot järjestetään sopivalla tavalla riveiksi ja tulkitaan vektorin alkioiden arvot pikselien kirkkauksiksi. Normaalissa kuvakannassa kantavektorit ovat sellaisia, joissa vain yksi arvo poikkeaa nollasta. Sisätulo tällaisen kantavektorin kanssa tuottaa siis hyvin paikallista informaatiota kuvasta. Fourier-kannassa kantavektorien arvoista suurin osa poikkeaa nollasta, ja kuvana esitettäessä ne näyttävät sinitasoaalloilta. Sisätulo Fourier-kantavektorien kanssa siis tuottaa informaatiota kuvan globaaleista säännöllisistä vaihteluista. Tutkitaan aluksi Fourier-muunnosta jo aiemmin tutkimillemme yksiulotteisille keinotekoisille signaaleille. Yksiulotteisen integroituvan signaalin gx) Fouriermuunnos määritellään näin: F gx))u) = gx)e i2πux dx. Eksponenttilauseke näyttää pelottavalta, mutta se on vain Eulerin kaava, joka esittää trigonometristen funktioiden ja kompleksisen eksponenttifunktion yhtey- 2

Kuva 1: Fourier-kantavektoreita 3

den. Eulerin kaava kertoo, että e ix = cosx+isinx ja e ix = cos x)+isin x) = cosx isinx, joten yllä oleva eksponenttilauseke voidaan kirjoittaa auki näin: e i2πux = cos2πux) isin2πux). Huomataan, että tuloksena on kompleksilukuja. Fourier-muunnos tuottaa siis x:n suhteen määritellystä reaaliarvoisesta funktiosta u:n suhteen määritellyn kompleksiarvoisen funktion, jonka reaali- ja imaginaariosa ovat kumpikin siniaaltoja. Tarkennetaan vielä, että myös alkuperäinen funktio g on itse asiassa kompleksiarvoinen funktio, jonka imaginaariosa vain on kaikkialla 0. Kaava e ix voidaan tulkita siten, että se piirtää yksikköympyröitä reaaliakselin ympäri kun x liikkuu pitkin reaaliakselia. Tällöin reaalitasoon projisoituna tulos näyttää siniaallolta. Tästä saadaan myös selitys sille, minkä takia Fouriermuunnoksen tulos koostuu kompleksiluvuista: jotta Fourier-muunnos pystyisi esittämään kaikki mahdolliset syötteet taajuustasossa, sen täytyy voida esittää siniaallon taajuuden lisäksi sen amplitudi eli siniaallon korkeus tai voimakkuus sekä vaihe eli intuitiivisesti ajateltuna mistä kohdasta siniaallon värähtely alkaa. Aallon korkeus ja vaihe esitetään kompleksitasossa polaarikoordinaatteina. Korkeus on etäisyys origosta, eli intuitiivisesti reaaliakselin ympärille piirtyvän ympyrän säde, ja vaihe on kulma joka osoittaa alkukohdan josta ympyrää aletaan piirtää lähdettäessä liikkeelle origosta. Taajuus on ymmärrettävä nopeutena jolla ympyrää piirretään suhteessa x:n muutosnopeuteen. Jos syötesignaali on parillisesti symmetrinen taajuuden suhteen eli kaikki taajuuskomponentit ovat nollia origossa), Fourier-muunnoksen tulos on täysin reaalinen. Diskreetti Fourier-muunnos Esitetään seuraavaksi, kuinka Fourier-muunnos lasketaan diskreetille signaalille. Kyseinen operaatio on diskreetti Fourier-muunnos engl. Discrete Fourier Transform) joka lyhennetään usein DFT. Tutkitaan aluksi N-periodista diskreettiä signaalia, joka esitetään N-ulotteisena vektorina xn), n [0, N 1]. Periodisuusehto tarkoittaa sitä, että kyseessä tulisi olla ääretön signaali, jossa sama N:n alkion jono toistuu loputtomasti. Äärellisellä signaalilla tämä saadaan aikaan, kun signaali vaimennetaan molemmissa päissä nollaan. Jos näin ei tehdä, tulokseen voi tulla virhettä. Tämä johtuu siitä, että Fourier-muunnos tulkitsee signaalin periodiseksi ja olettaa, että arvon xn 1) jälkee tulee uudestaan x0). Jos tässä kohtaa on hyppäys, se vaikuttaa koko signaalin taajuusanalyysiin. Signaalin xn) diskreetti Fourier-muunnos voidaan laskea kaavalla F x n)) u) = N 1 n=0 un i2π x n) e N, u Z. Käyttämällä Eulerin kaavaa tämä muuttuu muotoon 4

F x n)) u) = N 1 n=0 x n) cos 2π un )) i x n) sin 2π N un ))). N Tuloksena on siis kompleksilukuja, jotka vastaavat tietyn taajuisen siniaallon amplitudia ja vaihetta. Näitä lukuja kutsutaan Fourier-kertoimiksi engl. Fourier coefficients). Koska Fourier-muunnos on periodinen, normaalisti on riittävää käyttää u:n arvoja väliltä [0, N 1]. Lisäksi reaalisilla syötteillä Fourier-muunnos on symmetrinen, joten periaatteessa vain puolet kertoimista tarvitaan loput saadaan peilaamalla alkuosa), ja lisäksi kertoimet 0 ja N/2 ovat aina reaalilukuja ja vastaavat koko signaalin keskiarvoa. Käänteinen Fourier-muunnos, jolla saadaan takaisin alkuperäiset arvot xn), on x n) = 1 N N 1 u=0 un i2π F x n)) u) e N, n Z. Käytetään jälleen Eulerin kaavaa ja muistetaan, että lopputulos on reaaliluku, joten imaginaariosa voidaan olettaa nollaksi. xn) = N 1 u=0 Re F x n)) u)) cos 2π un )) Im F x n)) u)) sin 2π N un ))). N Tehtävä 4.1 Seuraavassa koodiesimerkissä esitetään aiemmilta luennoilta tutun yksiulotteisen, korruptoidun signaalin palauttaminen Fourier-kertoimista. Kurssisivulla pääsee kokeilemaan erilaisia signaaleita ja eri tapoja valita Fourier-kertoimet. Oheisessa kuvassa on esitetty yhdeksästä vahvimmasta kertoimesta palautettu signaali, ja nähdään että se on lähellä oikeaa. On huomattava, että signaalin arvoväli skaalataan eri tavalla Fourier-muunnoksen yhteydessä, joten Fourierkertoimet eivät täysin vastaa signaalin generoimisessa käytettyjä amplitudi- ja vaihearvoja. Kokeile erilaisilla signaaleilla, kohinan tasoilla ja käänteismuunnoksessa käytettyjen komponenttien määrillä. Kuvaile Fourier-muunnoksien eroja ja käänteismuunnoksen tuloksia. Kaksiulotteinen Fourier-muunnos Kaksiulotteisen integroituvan signaalin gx, y) Fourier-muunnos määritellään samaan tapaan kuin yksiulotteisen: 5

Kuva 2: Fourier-kertoimista palautettu signaali 6

F g x, y)) u, v) = g x, y) e i2πux+vy) dxdy. Fourier-muunnos tuottaa siis x:n ja y:n suhteen määritellystä reaaliarvoisesta funktiosta u:n ja v:n suhteen määritellyn kompleksiarvoisen funktion, jonka reaali- ja imaginaariosa ovat kumpikin sinitasoaaltoja. Eksponenttilauseke saadaan kirjoitettua jälleen auki e i2πux+vy) = cos 2π ux + vy)) i sin 2π ux + vy)) ja tämän lausekkeen reaali- ja imaginaariosia tutkimalla havaitaan, että ne tuottavat molemmat vakioarvoja, kun ux + vy) on vakio. Näin tapahtuu siis pitkin reaali- ja kompleksitason suoria, joiden suunnalle θ pätee tan theta) = v u. Tuloksena on siis kohtisuoraan tätä suoraa vastaan eteneviä siniaaltoja, joiden taajuus eli värähtelynopeus on u 2 + v 2. Reaali- ja kompleksitason sinitasoaallot ovat muuten samanlaisia, mutta ne ovat vastakkaisessa vaiheessa. Yllä kuvattuja sinitasoaaltoja kutsutaan spatiaalisiksi taajuuskomponenteiksi ja Fourier-muunnokseen sisältyvä integraali tulee ymmärtää sisätulona näiden taajuuskomponenttien mukaisten vektorien kanssa. Sisätulo mittaa kuinka paljon tiettyä vektoria sisältyy toiseen vektoriin, joten voidaan ymmärtää integraali operaationa, joka mittaa kuinka paljon kutakin taajuuskomponenttia sisältyy kuvaan. Kaksiulotteinen diskreetti Fourier-muunnos Moniulotteisen signaalin Fourier-muunnos voidaan laskea muuntamalla dimensio kerrallaan käyttäen yksiulotteista muunnosta. Kuvan tapauksessa siis voidaan muuntaa ensin sarake kerrallaan ja sitten tämän operaation tulos rivi kerrallaan, tai toisinpäin. Olkoon nyt Ix, y) kuva, jonka leveys on W ja korkeys H, jolloin x [0, W 1] ja y [0, H 1]. Kuvan diskreetti Fourier-muunnos on F I x, y)) u, v) = = W 1 x=0 W 1 x=0 ux i2π e W H 1 y=0 H 1 y=0 ) vy i2π e H I x, y) ux I x, y) e i2π W + vy H ). Tuloksena on siis ikään kuin kompleksiarvoinen kuva, joka on saman kokoinen kuin alkuperäinen kuva. Jokaista tuloskuvan pikseliä kohti lasketaan summa kaikista alkuperäisen kuvan pikseleistä kerrottuna sinitasoaaltoja kuvaavalla eksponenttilausekkeella. Onkin helppo nähdä, että Fourier-muunnos on hyvin 7

kallis operaatio, ja juuri tämän vuoksi nopean Fourier-muunnoksen mahdollistavaa algoritmia engl. Fast Fourier Transform, FFT) pidetään merkittävänä keksintönä. Käänteismuunnos kuvalle on vastaavasti kuin aiemmin I x, y) = 1 N M W 1 u=0 H 1 v=0 ux F I x, y)) u, v) e +i2π W + vy H ). Muistetaan vielä tapa, jolla eksponenttilauseke avataan, ja saamme seuraavat kaavat: ux e i2π W + vy H ) ux = cos 2π ux e +i2π W + vy H ) = cos 2π W + vy )) H ux W + vy H i sin )) + i sin ux 2π W + vy )) H )) 2π. ux W + vy H Näiden perusteella voimme vaikkapa toteuttaa käsin kuvien naiivin Fouriermuunnoksen ja käänteismuunnoksen, ja yrittää hieman ymmärtää sen toimintaa. On syytä huomata, että näin toteutettuna operaatio on erittäin hidas vähänkin suuremmille kuville, joten pitäydytään pienikokoisissa esimerkeissä. Tehtävä 4.2 Seuraavassa koodiesimerkissä esitetään yksinkertaisen kuvan taajuustason amplitudi ja vaihe. Kurssisivulla pääsee kokeilemaan eri kuvia. On huomattava, että tässä DFT toteutetaan naiivisti, joten suurilla kuvilla operaatio on hyvin hidas. Tutki erilaisten pikkukuvien Fourier-muunnoksen polaariesitystä. Pohdi ja kuvaile eri kuvien eroja. Tehtävä 4.3 Seuraavassa koodiesimerkissä havainnollistetaan pienen kuvan Fourier-kantaa esittämällä painotetut kantavektorit samassa järjestyksessä kuin kertoimet esitettiin yllä. Kantavektorit ovat siis pieniä kuvia. Kurssisivulla pääsee kokeilemaan eri kuvia. Näistä voi havainnoida, minkä suuntaisia ja taajuisia komponentteja kussakin pikkukuvassa on. Samalla voidaan tehdä johtopäätös, että yksinkertainenkin kuva syntyy summana hyvin suuresta määrästä erilaisia taajuuskomponentteja, jotka vahvistavat ja kumoavat toisiaan. Yksittäisistä taajuuskomponenteista ei siis ole kovinkaan paljon apua kuvan analysoimisessa. Tutki erilaisten pikkukuvien Fourier-kantaa. Osaatko selittää, mistä erot kuvien välillä johtuvat? Seuraavassa puolestaan havainnollistetaan sitä, että Fourier-kanta tuottaa melko harvan esityksen. Kuvan taajuuskomponentit on lajiteltu amplitudin mukaiseen järjestykseen, ja käänteismuunnos on tehty käyttäen vain osaa komponenteista, 8

Kuva 3: Fourier-kanta 9

alkaen vahvimmasta ja lisäten komponenttien määrää yhdellä joka askelella. Huomaamme siis, että muutama tärkein taajuuskomponentti palauttaa kappaleen perusmuodon, ja sen jälkeen tulevat komponentit tuottavat vain pieniä korjauksia. Kuva 4: Taajuuskomponenttien vaikutus Seuraavassa esitetään vielä taajuuskomponentit siinä järjestyksessä kuin niitä yllä olevassa kuvassa käytetään. Fast Fourier Transform Kuten yllä todettiin, jokaista Fourier-kerrointa varten on laskettava summa kaikista kuvan pikseleistä kerrottuna sopivalla siniaaltofunktiolla. Naiivin algoritmin aikavaativuus on siis ON 2 ) kun kuvan pikselien määrä on N. Nopea FFT-algoritmi suoriutuu operaatiosta ajassa ON log N) jakamalla ongelmaa 10

Kuva 5: Taajuuskomponenttien järjestys 11

pienempiin osiin. Se tuottaa täsmälleen saman tuloksen, mutta koska laskutoimitusten määrä on pienempi, pyöristysvirheiden kertautuminen saattaa tehdä naiivista toteutuksesta jopa epätarkemman. Seuraavassa esitetään valokuvan Fourier-muunnos käyttäen FFT-algoritmia. Seuraavassa havainnollistetaan, että kuvien Fourier-muunnoksen oleellinen informaatio sisältyy Fourier-kertoimien vaiheeseen: kahden eri kuvan vaihekomponentit vaihdetaan keskenään, ja lopputuloksena oleva kuva muistuttaa enemmän sitä kuvaa, jonka vaihekomponentti yhdistelmässä on. Tämä johtuu siitä, että luonnollisia näkymiä esittävissä valokuvissa on aina melko samankaltainen jakauma eri taajuuksia. Eroja on lähinnä siinä, mitä suuntia on edustettuna enemmän. Kuvan oleelliset piirteet syntyvätkin siitä, millä tavoin taajuuskomponentteja siirrellään eli mikä on kunkin komponentin vaihe. Konvoluutioteoreema Ymmärrämme nyt, mitä Fourier-muunnos tekee, ja kuinka se lasketaan. Meillä on myös tehokas työkalu sen laskemiseksi kuvista ja muista signaaleista. Mutta mitä käytännön hyötyä siitä on? Taajuustason intuitiivinen hahmottaminen auttaa ymmärtämään kuvasignaaleja, mutta koska Fourier-muunnos tuottaa globaalia tietoa koko kuvasta, sitä on hankalaa käyttää varsinaisessa kuvan analysoinnissa. Fourier-muunnoksella on kuitenkin joitakin hyödyllisiä ominaisuuksia, joista tärkein lienee konvoluutioteoreemana tunnettu lause: F f g) = F f) F g) Konvoluutio muuttuu siis taajuustasossa kertolaskuksi. Tämä on erittäin hyödyllistä, jos ajatellaan kuvien suodattamista hyvin suurilla maskeilla. Konvoluutiohan vaatii maskin koon verran kerto- ja yhteenlaskuoperaatioita jokaista pikseliä kohti. Jos maski on riittävän suuri, operaatio hoituu nopeammin laskemalla sekä kuvan että maskin Fourier-muunnos, kertomalla ne keskenään ja tekemällä lopputulokselle käänteismuunnos. Muistamme myös konvoluution ja ristikorrelaation yhteyden edelliseltä luennolta. Käy ilmi, että ristikorrelaatiolle pätee F f g) = F f) F g), missä F f) tarkoittaa Fourier-muunnoksen kompleksikonjugaattia. Paikallinen taajuusinformaatio Olemme todenneet jo useaan otteeseen, että Fourier-muunnoksen globaali luonne tuottaa hankaluuksia. Jos halutaan paikallisempaa tietoa signaalin sisältämistä 12

taajuuksista, voidaan tietysti tutkia vain osaa signaalista kerrallaan. Tämä on yleistä erityisesti äänisignaalien tapauksessa: voidaan tehdä Fourier-muunnosta lyhyille aikapätkille kerrallaan. Tästä operaatiosta käytetään nimeä short-time Fourier transform STFT), toisinaan myös short-term Fourier transform jos kyse ei ole ajan suhteen tapahtuvista muutoksista. Tyypillinen tapa toteuttaa tällainen paikallinen Fourier-muunnos on kertoa signaalia ikkunointifunktiolla, joka on nollaa suurempi vain rajoitetulla osalla reaaliakselia. Gaussin funktio on yleisesti käytetty, vaikka se periaatteessa onkin nollaa suurempi koko reaaliakselilla. Ikkunointi pakottaa signaalin nollaksi muualla paitsi tutkittavan alueen ympäristössä, jolloin tämän tulon Fourier-muunnos tuottaa paikallista tietoa taajuustasosta. Ongelmaksi muodostuu resoluutio: jos ikkuna on kovin pieni, se tuottaa paikallisempaa tietoa, mutta tutkittava taajuuskaista jää kapeaksi - kovin hitaita signaalin muutoksia ei mahdu ikkunaan. Vastaavasti suurempi ikkuna tuottaa paikan tai ajan suhteen globaalimpaa tietoa. Tästä käytetään termiä epätarkkuusperiaate engl. uncertainty principle). Paikallisen Fourier-muunnoksen sukulaisoperaatio on Gaborin suotimilla konvolvoiminen. Nämä suotimet koostuvat siniaallosta, jota kerrotaan Gaussin funktiolla, jolloin siniaallon muodostama taajuuskomponentti vaimenee nollaan pienen ikkunan ulkopuolella. Näillä suotimilla on reaali- ja kompleksiosa, joten niillä konvolvointi vastaa eräänlaista paikallista Fourier-muunnosta. On viitteitä siitä, että ihmisen aivokuoressa on neuroneita, jotka laskevat hyvin paljon Gaborsuotimia muistuttavia esitysmuotoja verkkokalvon tuottamasta informaatiosta. Vaikuttaakin siltä, että tällainen tieto on olennaista näkymien analysoinnin kannalta, ja palaamme tähän myöhemmillä luennoilla. Kuva 6: Gabor-maskit 13

Spatial envelope Vielä eräs tapa hyödyntää hieman paikallisempaa taajuustietoa on tehdä kuvan Fourier-muunnos muutamassa osassa, esimerkiksi jakamalla kuva 4x4 osaan ja muuntamalla kukin osa erikseen. Tällä tavalla saadaan tietoa siitä, millä tavalla esimerkiksi kuvan ala- ja yläosa eroavat taajuuskomponenteiltaan, mikä voi olla avuksi pääteltäessä millainen näkymä voisi olla kyseessä. Näitä eroja kuvan sisällä ja kuvien välillä tutkitaan tilastollisesti. Tätä tekniikkaa on kutsuttu kirjallisuudessa nimellä spatial envelope. Tehtäviä 1) Kokeile Fourier-muunnosta erilaisilla signaaleilla, kohinan tasoilla ja käänteismuunnoksessa käytettyjen komponenttien määrillä. Kuvaile Fouriermuunnoksien eroja ja käänteismuunnoksen tuloksia. 2) Tutki erilaisten pikkukuvien Fourier-muunnoksen polaariesitystä. Pohdi ja kuvaile eri kuvien eroja. 3) Tutki erilaisten pikkukuvien Fourier-muunnosta sekä polaarimuodossa että Fourier-kannan muodossa. Osaatko selittää, mistä erot kuvien välillä johtuvat? 14