Mitä on konvoluutio? Tutustu kuvankäsittelyyn

Samankaltaiset tiedostot
Digitaalinen signaalinkäsittely Kuvankäsittely

Laskuharjoitus 9, tehtävä 6

Ohjelmoinnin perusteet Y Python

Scratch ohjeita. Perusteet

Differentiaali- ja integraalilaskenta 1. Tietokoneharjoitus: ratkaisut

ELEC-C7230 Tietoliikenteen siirtomenetelmät

Tilastolliset ohjelmistot A. Pinja Pikkuhookana

Säätötekniikan ja signaalinkäsittelyn työkurssi

Matematiikan tukikurssi

Datatähti 2019 loppu

GeoGebra-harjoituksia malu-opettajille

Aki Taanila YHDEN SELITTÄJÄN REGRESSIO

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Tukipyyntö-toiminnon ohje

Zeon PDF Driver Trial

Ohjeita LINDOn ja LINGOn käyttöön

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

Opiskelun ja työelämän tietotekniikka (DTEK1043)

Valokuvien matematiikkaa

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Matlab-tietokoneharjoitus

Matematiikan tukikurssi

Harjoitus 4 -- Ratkaisut

Matematiikan tukikurssi

MS-A0107 Differentiaali- ja integraalilaskenta 1 (CHEM)

Picasa 3 -kuvankäsittelyopas, osa 1, valokuvien muokkaus tutuksi

Matematiikan kotitehtävä 2, MAA 10 Todennäköisyys ja tilastot

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

6.6. Tasoitus ja terävöinti

Ohjelmoinnin perusteet Y Python

Oulun kaupunki Liikuntapalvelut. Timmi -tilanvarauksen pikaopas internetasiakkaille

TL5503 DSK, laboraatiot (1.5 op) Kuvasignaalit. Jyrki Laitinen

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

OHJELMOITAVA LASKIN SHARP EL-9400 PEREHTYMINEN ERIKOISNÄPPÄIMIIN

Taulukkolaskenta (30 pistettä)

SMART Board harjoituksia 17 - Notebook 10 Tiedostomuotoihin tallentaminen Yritä tehdä tehtävät sivulta 1 ilman että katsot vastauksia.

KUVAMUOKKAUS HARJOITUS

Jakotaso 1. Teoriatausta. Työvaiheet. CAD työkalut harjoituksessa parting_1_1.catpart. CAE DS Muotinsuunnitteluharjoitukset

TTS kannattavuuslaskentaohjelma

MICROSOFT EXCEL 2010

Verkko-opas Usein kysytyt kysymykset V1.2

Yleistä vektoreista GeoGebralla

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Mat Systeemien Identifiointi. 4. harjoitus

Ohjelmoinnin peruskurssi Y1

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Algoritmit 2. Luento 1 Ti Timo Männikkö

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa


Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

PRINCIPLES OF PROGRAMMING LANGUAGES - DEBUGGER

Tehtävään on varattu aikaa 8:30 10:00. Seuraavaan tehtävään saat siirtyä aiemminkin. Välipalatarjoilu työpisteisiin 10:00

LUKKARIKONE KÄYTTÖOHJE

FUNKTION KUVAAJAN PIIRTÄMINEN

Sivu 1 / Viikin kirjasto / Roni Rauramo

Työvälineistä komentoihin

Juha Haataja

Ohjelmoinnin perusteet Y Python

12. Differentiaaliyhtälöt

Matematiikan tukikurssi, kurssikerta 3

Oppimistavoitematriisi

Nutri-Flow ravintotulkki ALOITUSOPAS

KYMP Webmail -palvelu

Purentafysiologinen status

Ohjelmistoradio tehtävät 4. P1: Ekvalisointi ja demodulaatio. OFDM-symbolien generoiminen

Matematiikan kotitehtävä 2, MAA 10 Todennäköisyys ja tilastot

Alipäästösuotimen muuntaminen muiksi perussuotimiksi

Säätötekniikan ja signaalinkäsittelyn työkurssi

S Laskennallinen Neurotiede

Numeerinen integrointi

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

Oppimistavoitematriisi

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

Muistitikun liittäminen tietokoneeseen

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

Ohjelmoinnin perusteet Y Python

Tekijä Pitkä matematiikka

OHJE ATERIAPÄIVÄKIRJAN MUOKKAUKSEEN

LoCCaM. LoCCaM Cam laitteiston ohjaaminen. Dimag Ky dimag.fi

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Ohje: Tiedostot turvaan ja puhdas Ubuntu alle

Derivaatta graafisesti, h- ja keskeisdifferenssimuodot GeoGebralla Valokuva-albumi

1. Mene elogger.net sivulle ja valitse yläreunasta Kirjaudu sisään

Taulukkolaskenta. Microsoft Excel 2007 SYVENTÄVÄ MATERIAALI. Kieliversio: suomi Materiaaliversio 1.0 päivitetty

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

OKLV120 Demo 7. Marika Peltonen

ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.

Suomenkielinen versio. Johdanto. Laitteiston asennus. LC2002 Sweex Virtajohdon Ethernet-sovitin 200 Mbps

Matlab-perusteet. Jukka Jauhiainen. OAMK / Tekniikan yksikkö. Hyvinvointiteknologian koulutusohjelma

OpenOffice.org Impress 3.1.0

Tero Mononen / Kumppanuuskampus

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Uuden Peda.netin käyttöönotto

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

Nuorten liikunnallisen aktiivisuuden lisääminen projekti. Johanna Korkala FirstStep. FA20 Aktiivisuusmittari

Aloita uusi kartoitus -painikkeesta käynnistyy uuden kartoituksen tekeminen

Octave-opas. Mikä on Octave ja miksi? Asennus

Transkriptio:

Mitä on konvoluutio? Tutustu kuvankäsittelyyn Tieteenpäivät 2015, Työohje Sami Varjo

Johdanto Digitaalinen signaalienkäsittely on tullut osaksi arkipäiväämme niin, ettemme yleensä edes huomaa sen olemassa oloa. Puhummepa sitten puhelimella tai otamme kuvia, niin käsittelemme laitteillamme ympäristöstämme kerättyjä signaaleja. Syitä signaalien käsittelyyn ovat esimerkiksi taustahäiriöiden poistaminen, eli signaalin laadun parantaminen, datan valmistelu tiedonsiirtoa varten tai datan vastaanottaminen ja sisällön purkaminen. Sovellukset vaihtelevat siis aina telekommunikaatiosta ja kuvankäsittelystä puheentunnistukseen, robottinäköön ja koneoppimiseen. Suodattaminen on yksi signaalin käsittelyn perusoperaatioista. Suodattamalla signaalista voidaan poistaa häiriöitä, kuten kohinaa, arvioida puuttuvia signaalin termejä (interpoloida), tai vaikkapa etsiä tiettyjä muotoja. Konvoluutio on yksi paljon käytetty suodattimien toteutustapa. Matemaattisesti konvoluutio on kahden funktion f ja g välinen operaatio *, joka tuottaa uuden funktion (f*g). Diskreeteille yksiulotteisille funktioille konvoluutio määritellään summasarjana: (1) Eli (f*g) saa pisteessä (n) arvokseen summan kaikista tuloista funktion pisteiden f(k) ja g(n-k) välillä. Funktion g pituus on n, eli tulo muodostetaan syötteen suhteen peilatulla funktiolla g. Funktio g periaatteessa liu utetaan koko syötteen f yli tuloksen laskemiseksi jokaisessa pisteessä n. Harjoitusohjelma havainnollistaa tätä. Yleensä konvoluution kohdetta kutsutaan syötteeksi tai näytesignaaliksi ja tunnettua signaalia suodattimeksi tai kerneliksi. Esimerkiksi otettua kuvaa tai nauhoitettua ääntä kutsutaan syötteeksi f ja kohinaa poistavaa funktiota g suodattimeksi. Tämän harjoituksen tarkoituksena on saada ymmärtämys siitä mitä konvoluutio käytännössä tarkoittaa ja kuinka se voidaan laskea kuvasta. Alla kaavaa (1) vastaava esitys kuvalla havainnollistettuna: Kuva 1: Konvoluutio yhdelle pisteelle 3x3 ympäristössä, sekä koko kuvalle suoritettuna. 2

1. Matlab ohjelma ja konvoluutio demo Harjoitus suoritetaan Matlab-ympäristössä (omana ohjelmanaan), joka on tieteellisen laskennan tarpeisiin kehitetty ohjelmointi ja testausympäristö. Työ aloitetaan kirjoittamalla Matlab komentoikkunaan ( Command Window ) käskyt: >> cd konvoluutio_demo (siirrytään kansioon jossa konvoluutiodemo.m tiedosto sijaitsee) >> konvoluutiodemo (käynnistetään ohjelma), tai käynnistämällä erillisohjelma (KonvoluutioDemo.exe). Käyttöliittymä on esitetty kuvassa 2. Syötekuva voidaan valita annetusta valikosta (1.), tai avata oma haluttu kuva painonapista (2.). Vastaavasti erilaisia suodattimia on luotu valmiiksi harjoituksen avuksi (3.). Suodatin näytetään sekä kuvana (4.), että suodattimen sisältäminä kertoimina g(n) (5.). Tuloskuva näyttää valitun suodattimen tuottamaa tulosta (6.). Suodattimen arvoja voi muuttaa suoraan taulukkoon, sekä suodattimen kokoa liukupalkkien avulla (7.). Tuloskuvan alapuolella olevasta valitsimesta kuvan skaalaus voidaan vaihtaa eksponentiaaliseksi sekä asettaa eksponentin arvo liukusäätimellä (8.). Skaalauksen toimintaa tarkennetaan myöhemmin. Askel-painikkeella (9.) syötekuva voidaan ajaa suodattimen läpi pieni pala kerrallaan, jolloin syötteen alla näytetään syötteen sisältöä (10.) (värikuville vain punaisen värikanavan sisältö) sekä kaavan (1) mukaisen laskennan tuottama yhtälö sekä sen tulos (11.). Suoritettavien askelten lukumäärää voi muuttaa (12.). Askeleen syöte paikka korostuu kullakin askeleella syötekuvaan sinisenä laatikkona ja laskettavan tulospikselin paikka keltaisella (13.). Kuva 2: Harjoitusohjelman käyttöliittymä. 3

2. Tutustuminen ohjelmaan Kokeile vaihtaa syötekuvaa sekä suodatinta. Mitä eri suodattimet tekevät kuville? Exponentiaalinen skaalaus painottaa tuloskuvan arvoja tehden suodattimien vasteet helpommin ymmärrettäviksi. Kokeile toimintoa esimerkiksi reunasuodattimien kanssa. 3. Suodattimen toiminta: Ykkönen -suodatin sisältää ainoastaan yhden kertoimen yksi -. a) Mitä suodatin tekee? Valitse jokin pieni kuva (esim dots.png tai ruutu.png) ja yritä ajaa suodatinta askel kerrallaan kuvan läpi. b) Mitä tapahtuu jos kertoimen etumerkki muutetaan (etumerkin voi vaihtaa taulukkoon kohdasta 5.)? Kokeile! c) Muuttele suodattimen arvoja vapaasti. Yritä ymmärtää kuinka keltaisen tulospikselin arvo muodostuu kullekin syötteelle. 4. Reunojen löytäminen kuvasta Ohjelmassa on valmiina vaaka- ja pystyreunasuodatin. Kokeile niitä erilaisilla syötekuvilla. a) Mitä havaitset niiden toiminnasta? b) Löytyvätkö kaikki reunat? Tässä voi käyttää eksponentiaalista skaalausta korostamaan tulosvastetta. c) Mikäli kaikki reunat eivät löydy pystytkö selittämään miksi? Voisiko suodattimia muuttaa jotenkin että toiset reunat löytyvät? d) Voiko kaikki reunat löytää yhdellä suodattimella? e) Osaatko suunnitella suodattimen joka löytäisi vinot viivat (kokeile 2x2 tai 3x3 suodattimella ja vino.png syötekuvalla)? 4

5. Kohinan poisto Tutki syöte kuvaa kids.tif. Huomaat pieniä yksittäisiä pisteitä, kohinaa, siellä täällä kuvassa. Kokeile sumennussuodattimia ja tarkastele mitä kohinalle tapahtuu. Onko toimenpiteellä jotakin haittavaikutuksia? 6. Kolikoiden löytäminen kuvasta Ohjelmalla on mahdollista valita suodatin myös kuvasta. Valitse coins.png syötekuvaksi ja valitse suodatin syötekuvasta (painike- Valitse syötekuvasta ) piirtämällä neliö jonkin kolikon päälle. Muuta eksponentiaalinen skaalausarvo melko isoksi (esim 6-10). a) Mitä voit sanoa tuloksesta? b) Vertaa tuolosta valmiisiin suodattimiin tuottaako näistä jokin vastaavaa tulosta? c) Voisiko tällaisesta suodattimesta olla jossakin hyötyä...? 7. Yhteenveto Kerro omin sanoin mitä suodattaminen ja konvoluutio tarkoittavat. 5