perjantai 3. huhtikuuta 2009

Välikokeet tarkastettu

Välikokeetkin on nyt tarkastettu, mutta julkaisen ne vasta maanantaina. Tämä siksi, että pitää kirjoittaa Exceliin VB-skripti, joka kopioi harjoitusbonukset harjoituspistetietokannasta välikokeiden tulostiedostoon.

Ennakkotietona kerrottakoon, että kaikkiaan 70 osallistui toiseen välikokeeseen, ja noin joka kolmas (n. 25 hlöä) saa viitosen. Kaiken kaikkiaan välikokeilla suorittaneiden arvosanat olivat siis selvästi parempia kuin tentillä suorittaneiden.

tiistai 31. maaliskuuta 2009

Tentit tarkastettu

Tentit on nyt tarkastettu ja tulokset verkossa. Välikokeesta valmiina on tehtävät 1,2 ja 5.

Tenttitehtävistä 2 ja 4 olivat varsin helppoja, ja 1 ja 3 tavanomaisia. Itse asiassa 2:ssa oli jopa samoja tehtäviä kuin ensimmäisessä välikokeessa, mikä saattoi vetää väkeä tekemään tenttiä välikokeen asemesta.

Viitostehtävän a-kohta osoittautui melko vaikeaksi, vaikka oikeitakin vastauksia tuli. Melko moni oli osannut laskea impulssivastetta h1(n) = delta(n-1) vastaavan taajuusvasteen, eli
H1(iw) = exp(-iw), jolla H2(iw) kerrotaan. Harvempi oli hoksannut, että H2 oli ideaalinen alipäästösuodin, jonka impulssivaste on liitteen taulukossa.

tiistai 24. maaliskuuta 2009

2. välikokeen tehtävät 1 ja 5 tarkastettu

Välikoe tarkastetaan ennen tenttiä. Tehtävät 1 ja 5 on nyt tarkastettu ja niiden keskimääräiset pistemäärät ovat 4,5 ja 4,1 pistettä. Tehtävän 5 b-kohdassa riitti kirjata ylös oikea kaava ja kuinka annetut arvot siihen sijoitetaan. Lopullista tulosta ei laskinongelman vuoksi vaadittu.

perjantai 20. maaliskuuta 2009

Laskimet tentissä 19.3

Tentin järjestelyissä 19.3 oli väärinkäsitys tenttijärjestelyissä, eikä ohjelmoitavia laskimia sallittu lainkaan. Tarkoitus oli, että ohjelmoitavia laskimiakin saa olla kunhan muisti on tyhjä.

Tehtäviä tutkiessani arvioin että välikokeen 5b oli ainoa, jossa laskin oli välttämätön. Laskinongelma otetaan tehtävää tarkastaessa huomioon.

Yritän saada tiedekunnan hankkimaan esim. 500 identtistä peruslaskinta (joita ainoastaan saa käyttää), jotta tällaista ei enää pääsisi tapahtumaan.

keskiviikko 11. maaliskuuta 2009

Vierailuluennot

Tänään oli kaksi "vierailuluentoa". Ensimmäisellä tunnilla kerroin itse automaattisesta rekisterikilpien tunnistuksesta videokuvasta. Tätä tekee Tamperelainen yritys Visy Oy, jossa olin töissä 2003-2005 (ja edelleenkin sivutoimiluvalla). Rekisterikilpien tunnistus toimii kulunvalvonnan tunnisteena, jolloin kulkulupa suljetulle alueelle voidaan myöntää tietylle kilvelle. Erityisen hyödyllinen tämä on esimerkiksi satamissa, joissa vieraat käyvät usein vain kerran. Tällöin normaalit menetelmät, kuten autojen RFID-lukijat (esim. tämä valmistaja) ovat liian vaivalloisia hallinnoida. Sen sijaan rekisterikilpi toimii kuin sormenjälki: se on aina mukana.

Tarinan yhteydessä puhuin myös yleisemmin konenäöstä ja sen historiasta. Ensimmäinen optisen tekstintunnistuksen patentti on vuodelta 1929, ja nykyisin trendi on siirtää toiminnallisuutta laitteistoista entistä enemmän ohjelmiston suuntaan.

Osin sama sanoma oli myös toisella vierailijalla (Risto Rönkkä, NRC). Hän puhui tulostettavasta elektroniikasta ja ohjelmistojen merkityksestä sen tuotannossa. Esitys pohjautui kehitystyöhön, jota TTY:n elektroniikan laitoksella on tehty jo vuosien ajan. Erityisesti keskityttiin projektiin, jossa tavoitteena on korvata perinteinen piirilevy tulostamalla kytkennät johtavalla musteella. Etuna tässä lähestymistavassa on mm. se, että kokonaisuus saadaan pienempään kokoon ja tuotannosta tulee joustavampaa. Lisäksi prosessi on lisäävä (ja siten ympäristöystävällisempi), eli materiaalia ei missään vaiheessa poisteta, kuten perinteisessä tuotannossa.

Oma laitoksemme on tullut mukaan vajaat 2 vuotta sitten, kun havaittiin että muotitettujen komponenttien sijaintia ei saada täysin hallintaan. Ajatuksena onkin siis tuoda vuori Muhammedin luokse, eli sovittaa kaikki muu sen mukaan kuinka komponentit sattuvat lopulta asettumaan. Käytännössä jokaisesta modulista otetaan kuva ennen tulostusta, kuvasta tunnistetaan kytkentäpisteet automaattisesti, ja korjataan tulostuskuva modulin mukaiseksi.

Molemmat esitykset herättivät (melkein) spontaaneja kysymyksiä, mistä olin erittäin mielissäni. Loppukaneettina totesin lyhyesti, että jos lähdette opiskelemaan signaalinkäsittelyä, älkää unohtako opetella ohjelmoimaan. Signaalinkäsittely on ohjelmointia jossa saa käyttää matematiikkaa.

Kurssille järjestetään jatkokurssi SGN-1250 ensi kesänä juhannuksen jälkeen sekä ensi syksynä.

keskiviikko 4. maaliskuuta 2009

Kuvankäsittelyä ja pakkausta

Tunnin aluksi korostettiin viimeistä kertaa konvoluution ja Fourier-muunnoksen yhteyttä. Jos siis

y(n,m) = h(n,m) * x(n,m),

niin

Y(n,m) = H(n,m) X(n,m),

mistä vääristymätön kuva x on mahdollista ratkaista jakolaskulla jos h tiedetään. Lyhyen kertauksen jälkeen perehdyttiin kuvien piste-ehostukseen. Tähän alueeseen kuuluvat menetelmät käsittelevät kuvaa piste kerrallaan ajamalla kunkin harmaasävyarvon tietyn funktion läpi. Funktio määräytyy tilanteen mukaan, ja gamma-korjauksen tapauksessa se on muotoa

y = x^gamma

(sopivilla skaalauksilla varustettuna, jolloin väli [0,255] kuvautuu väliksi [0,255]). Histogrammin ekvalisoinnin tapauksessa funktio lasketaan kuvasta niin, että histogrammin massa jakautuu suunnilleen tasaisesti. Tämä saadaan aikaiseksi kaavalla 6.1.

Toisella tunnilla tutustuttiin kompression teoriaan, erityisesti kuvien tapauksessa. Kompressio lienee se signaalinkäsittelyn ala, joka on lähinnä jokapäiväistä elämää. Anekdoottina esitin aluksi muisikuvan, jonka mukaan ensimmäiset 1990-luvun alun jpeg-purkuohjelmat prosessoivat tyypillistä neljännesmegapikselin kuvaa useamman minuutin ennen kuin se oli GIF-formaatissa, jonka silloiset kuvankatseluohjelmat osasivat näyttää. Ilman laskentatehon eksponentiaalista kasvua digitaalinen media olisi kaukana siitä mitä se nyt on.

Häviöttömistä menetelmistä käytiin tarkemmin läpi Huffman-koodaus, joka perustuu koodipuun generointiin symbolien todennäköisyyksien mukaan. Harvinaisemmille symboleille annetaan pidempi koodisana, mikä mahdollistaa lyhyemmän koodisanan antamisen yleisemmille symboleille. Huffmanin pakkaustehokkuutta voidaan verrata entropiaan, joka antaa alaraja mille tahansa häviöttömälle pakkausmenetelmälle. Todettiin Huffmanin pääsevän melko lähelle alarajaa. Entropiarajaa voidaan pudottaa erilaisilla tempuilla, kuten tallentamalla ns. erotuskuva.

keskiviikko 25. helmikuuta 2009

Kappaleet 5 ja 6

Tämänpäiväisellä luennolla käsiteltiin suodinsuunnittelu loppuun sekä alkuosa kuvankäsittelystä.

Ensimmäisellä tunnilla kerrattiin ikkunoinnin tarvetta: ideaalisen suotimen pituus on ääretön, eikä sitä voi käytännössä toteuttaa. Näin ollen impulssivaste on katkaistava, mistä seuraa vääristymä amplitudivasteeseen. Tätä ei voi kompensoida esim. kertoimia lisäämällä, vaan on käytettävä ikkunaa joka pehmentää katkaisun vaikutusta. Ikkunoita on lueteltu esim. sivun 84 taulukossa, ja mitä paremmat vaimennusominaisuudet niillä on, sitä leveämpi siirtymakaistasta tulee. Onneksi tätä voidaan kuitenkin kompensoida kertoimia lisäämällä.

Tunnin lopuksi käytiin taululla esimerkki ikkunamenetelmän käytöstä vuoden 2007 maaliskuun tenttitehtävässä 4.

Toisella tunnilla käsiteltiin kuvankäsittelykappaletta 6. Alkuosa koostuu enimmäkseen yksiulotteisten lineaaristen järjestelmien yleistyksestä kahteen ulottuvuuteen. Fourier-muunnoksen yhteydessä todettiin, että kaksiulotteinen tapaus voidaan toteuttaa kahden yksiulotteisen FFT:n avulla, mikä mahdollistaa nopean laskennan.

Lopuksi tarkasteltiin dekonvoluutiota, eli konvoluution käänteistä operaatiota. Monisteen esimerkin lisäksi esimerkkinä mainittiin Hubble-avaruusteleskoopin varhainen ongelma, joka aiheutti kuvaan jonkin verran epätarkkuutta. Ennen kuin kiertoradalle päästiin korjaamaan linssi kuntoon, täytyi linssin virhe mallintaa konvoluution avulla. Varhaisia kuvia myös korjattiin dekonvoloimalla virheelliset kuvat. Linssi kuitenkin lopulta vaihdettiin, koska dekonvoluutio ei voi tuottaa yhtä täydellistä tulosta kuin fyysinen korjaus. Tämä johtuu siitä, että PSF ei koskaan ole täysin oikea, vaan siinä on numeerista epätarkkuutta. Lisäksi informaatiota saattaa kadota konvoluution yhteydessä, jos taajuustason funktiossa H(n,m) on nollia kertoimina.