Graph cut - tekstuurisynteesitekniikka
|
|
- Tero Halttunen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja multimedian laboratorio T Tietokonegrafiikan seminaari Kevät 2004 Graph cut - tekstuurisynteesitekniikka Laura Kainonen 52627U
2 Graph cut - tekstuurisynteesitekniikka Laura Kainonen TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio lkainone@cc.hut.fi Tiivistelmä Tekstuurisynteesin tarkoituksena on luoda mallitekstuurista uusia, yleensä suurempia tekstuureita. Tässä paperissa käsitellään yleisesti tekstuurisynteesitekniikoita sekä erityisesti graph cut tekniikkaa. Tämän tekniikan ideana on kopioida mallitekstuurista alueita ja liittää niitä yhteen niin, että näkyviä saumoja ei synny. Näin voidaan muodostaa halutun kokoisia, suhteellisen luonnollisen näköisiä tekstuureita. Tekniikan etuna aikaisempiin verrattuna on se, että vanhoja saumoja pystytään parantamaan niin, että tulos näyttää luonnollisemmalta. Graph cut tekniikkaa voidaan suoraviivaisesti soveltaa sekä kuva- että videotekstuurisynteesiin. Tekniikkaa voidaan lisäksi käyttää muun muassa interaktiiviseen kuvasynteesiin, jossa useammista lähdekuvista muodostetaan elementtejä yhdistelemällä uusi kuva. 1 JOHDANTO Tekstuurien avulla tietokonegrafiikkaan voidaan lisätä realistisuutta. Tekstuurikuva voi esittää esimerkiksi pintakuviota, jolla voidaan realistisuuden lisäämiseksi päällystää erilaisia polygoneilla mallinnettuja objekteja. Tekstuuri määritellään yleensä äärellisenä mallina, joka voidaan mallintaa stokastisen prosessin avulla (Kwatra et al. 2003). Tekstuurisynteesi eli keinotekoinen tekstuurien luominen on tärkeä ja aktiivinen tietokonegrafiikan tutkimusalue. Tekstuurisynteesillä ja analyysillä on tärkeä rooli esimerkiksi psykologiassa ja tietokonenäön kehittämisessä (Efros & Freeman, 2001). Tekstuurisynteesillä pystytään luomaan monimutkaisiakin graafisia näkymiä yksinkertaisten pienten kuvanäytteiden perusteella. Tekstuurisynteesissä pyritään luomaan annetusta tekstuurinäytteestä uusi ja yleensä suurempi tekstuurikuva, jonka ominaisuudet ovat riittävän samanlaiset alkuperäisen kuvan kanssa. Tällöin ihminen havaitsee alkuperäisen ja syntetisoidun tekstuurin samanlaisiksi. Bela Juleszin tekstuurien erottelua käsittelevä tutkimus antoi pohjan tekstuurisynteesin kehitykselle (Efros & Freeman, 2001). Hänen mukaansa ihmiset havaitsevat kaksi tekstuuria samanlaisiksi, jos näiden kuvien tietyt tilastolliset ominaisuudet täsmäävät. Tämä havainnollinen samanlaisuus voidaan ymmärtää MRF:n (Markov Random Field) avulla (Kwatra et al. 2003). MRF - mallissa tekstuuri esitetään solmuruudukon avulla. Jokainen solmu viittaa pikseliin tai pikselien ympäristöön lähdetekstuurissa. Lähdetekstuurissa vierekkäiset samankaltaiset pikselit päätyvät 1
3 vierekkäisiksi pikseleiksi myös uudessa generoidussa tekstuurikuvassa ja näin hahmottaminen säilyy samanlaisena. Tekstuurisynteesiä varten on kehitetty useita erilaisia tekniikoita. Algoritmien ajoaika on kuitenkin osoittautunut ongelmaksi ja monissa tapauksissa syntetisoitujen tekstuurien laatu ei tyydytä. Tekstuurit eivät näytä luonnollisilta, jos niissä on näkyviä saumoja tai tekstuurin osat toistuvat samanlaisina. Tekstuureita on myös erityyppisiä, esimerkiksi epäsäännöllisiä ja säännöllisiä tekstuureita. Useat tekstuurisynteesitekniikat sopivat vain tietyn tyyppisten tekstuurien syntetisointiin ja yleisemmän, erityyppisten tekstuurien syntetisointiin sopivan algoritmin kehittäminen onkin osoittautunut vaikeaksi. Tässä paperissa käsitellään yleisesti tekstuurisynteesiä ja erilaisia synteesitekniikoita. Erityisesti tarkastellaan Kwatra et al. (2003) kehittämää graph cut tekniikkaa ja tekniikan käyttöä tekstuurisynteesissä. Tässä suhteellisen uudessa tekniikassa ideana on, että pienestä mallitekstuurista luodaan suurempi tekstuuri, jolla on samanlaiset stokastiset ominaisuudet kuin alkuperäisellä tekstuurilla. Tässä tekniikassa uusi tekstuuri syntetisoidaan kopioimalla alkuperäisestä tekstuurista osia ja liittämällä niitä yhteen niin, että näkyviä saumoja ei synny ja tulos näyttää tällöin luonnolliselta. Tärkeä ero graph cut tekniikan ja aikaisempien tekniikoiden välillä on siinä, että graph cut tekniikassa olemassa olevat saumat pystytään ottamaan huomioon ja niitä pystytään parantamaan. Näin iteroimalla saadaan luonnollisempi tulos. Yleisesti ottaen tekstuurisynteesialgoritmit, jotka luovat uusia tekstuureja kopioimalla alueita mallitekstuurista, ovat kaksivaiheisia. Jokaisen uuden alueen kopioinnin kohdalla algoritmin täytyy suorittaa kaksi päätöstä. Ensin täytyy valita mihin kohtaan uutta tekstuuria alkuperäinen tekstuuri asetetaan. Tässä paperissa tätä kohtaa uudessa tekstuurissa kutsutaan siirroskohdaksi. Toiseksi täytyy valita mitkä osat alkuperäisestä lähdetekstuurista siirretään uuteen kuvaan. Tätä valitun alueen rajaa kutsutaan tässä alueen saumaksi. Tekstuurisynteesimenetelmät soveltuvat usein vain tietyn tyyppisten tekstuurien syntetisointiin. Graph cut tekniikka on hyödyllinen sillä se sopii sekä säännöllisten että epäsäännöllisten ja myös luonnollisten kuvien syntetisointiin. Suuri osa aikaisemmasta tekstuurisynteesitutkimuksesta keskittyy kaksiulotteisiin tekstuurikuviin, mutta ongelma on samantyyppinen myös kolmiulotteisessa tapauksessa. Graph cut tekniikkaa voidaankin hyödyntää myös videotekstuurien synteesiin, jossa täytyy ottaa huomioon myös ajalliset muutokset. Tässä paperissa käsitellään tarkemmin graph cut tekniikan käyttöä kaksiulotteisessa tekstuurisynteesissä. Lyhyesti käsitellään myös tekniikan käyttöä interaktiiviseen kuvasynteesiin, jossa uusi kuva muodostetaan liittämällä yhteen elementtejä useista eri lähdekuvista. Lisäksi annetaan muutamia esimerkkejä videotekstuurisynteesistä sekä esitellään lyhyesti graph cut tekniikan laajennuksia ja sovelluksia. 2 TAUSTAA Tekstuurisynteesitekniikat voidaan karkeasti jakaa kolmeen luokkaan (Kwatra et al. 2003). Ensimmäiseen luokkaan kuuluvat tekstuurisynteesimenetelmät käyttävät erilaisten tekstuurien kuvaamiseen parametrista mallia, jossa parametrien määrä on vakio. Esimerkkinä tästä luokasta on Portillan ja Simoncellin (2000) parametrinen 2
4 synteesimalli, joka perustuu aaltokertoimien tilastolliseen laskentaan. Kwatra et al. (2003) mukaan tämä on mahdollisesti paras parametrinen malli tähän mennessä kehitetyistä. Parametriset mallit ovat mukautuvampia tekstuurien tunnistukseen (Saisan et al. 2001) ja yleistettävämpiä kuin muut mallit. Nämä mallit eivät kuitenkaan sovi monien tekstuurien syntetisointiin, mutta ne käyttäytyvät hyvin tekstuurianalyysissä ja voivat auttaa havaintoprosessin tutkimisessa. Toinen tekstuurisynteesimallien luokka käyttää parametrien sijaan malliesimerkkien kokoelmaa tekstuurien mallintamiseen. Näille tekniikoille yhteistä on se, että ne luovat tekstuureja yksi pikseli kerrallaan. Esimerkkinä tästä luokasta on De Bonetin kehittämä malli (1997), joka perustuu moniresoluutioiseen näytteistykseen. Näytteistysmenetelmä perustuu oletukseen, että tekstuurikuvissa on alueita, jotka erottuvat paremmin tietyillä resoluutioilla (De Bonet 1997). De Bonetin mukaan tämä tekniikka pystyy aikaisempia tekniikoita paremmin mallintamaan alkuperäisen tekstuurin ominaisuuksia. Kolmas luokka on viimeaikoina eniten tutkittu (Kwatra et al. 2003). Tähän luokkaan kuuluvat tekniikat luovat uusia tekstuureita kopioimalla kokonaisia alueita mallitekstuurista. Kwatra et al. (2003) mukaan näillä tekniikoilla saadaan parhaimmat tulokset tekstuurisynteesissä suurimmalle joukolle erilaisia tekstuureita. Tähän kolmanteen luokkaan kuuluu muun muassa seuraavassa kappaleessa esitetty graph cut tekniikka. 3 GRAPH CUT - TEKNIIKKA Graph cut tekniikassa uusi tekstuuri syntetisoidaan kopioimalla esimerkkikuvasta epäsäännöllisen muotoisia alueita, jotka sitten liitetään saumattomasti yhteen (Kwatra et al. 2003). Näin saadaan uusia, halutun kokoisia, mallikuvan kaltaisia tekstuureita. Kopiointiprosessi suoritetaan kahdessa vaiheessa. Ensimmäisessä vaiheessa valitaan mallikuvasta mahdollinen neliönmuotoinen alue ja siirroskohta, johon tämä kuva uudessa tekstuurissa siirretään. Valintaa varten uutta aluetta verrataan pikseleihin, jotka ovat jo tuloksena saatavassa kuvassa. Mahdollisten siirrosalueiden valinnassa käytettäviä algoritmeja on kolme ja ne kuvataan tarkemmin kappaleessa 3.2. Toisessa vaiheessa tästä neliönmuotoisesta alueesta määritetään epäsäännöllisen muotoinen alue, joka voidaan liittää tuloskuvaan mahdollisimman optimaalisesti niin, että näkyviä saumoja ei synny ja ainoastaan tämän alueen pikselit kopioidaan uuteen kuvaan. (Kwatra et al. 2003) Tämä kopioitava alue määritetään graph cut algoritmilla, joka esitellään ensin kappaleessa 3.1. Menetelmää on havainnollistettu kuvassa 1. 3
5 Kuva 1: Tekstuurisynteesimenetelmä. Syötekuvasta valitaan ensin siirrosalue, jonka jälkeen lasketaan sauma. Ainoastaan tämä alue kopioidaan tuloskuvaan. (Kwatra et al. 2003) 3.1 Alueiden kopiointi Graph cut tekniikka pohjautuu image quilting tekniikkaan (Efros & Freeman 2001) ja sen kuvaaminen helpottaa graph cut tekniikan ymmärtämistä. Image quilting tekniikassa uusi kuva luodaan liittämällä yhteen pieniä alueita mallikuvasta. Ensimmäinen alue kopioidaan sattumanvaraisesti ja seuraavat alueet asetetaan niin, että ne ovat osittain päällekkäin aikaisemmin liitettyjen lohkojen kanssa. Tämä päällekkäin menevä alue on usein leveydeltään 4 tai 8 pikseliä. Efros ja Freeman valitsevat päällekkäin menevältä osalta polun niiden pikselien kautta, joilla uuden lisättävän ja vanhan aikaisemmin lisätyn alueen värit ovat samanlaiset. (Kwatra et al. 2003) Graph cut tekniikassa valittu polku kulkee pikseliparien välillä. Yksinkertaisin tapa on määrittää väriero pikseliparien välillä. Lisättävän ja vanhan alueen päällekkäin menevän osan kaikista pikseleistä luodaan graafi, jossa yksi solmu vastaa yhtä pikseliä. Jokainen pikseli yhdistetään kaarella kaikkiin vierekkäisiin pikseleihin. Graafi on havainnollistettu kuvassa 2. Päällekkäin menevältä alueelta määritetään pikselien väriarvot sekä uudelta että vanhalta alueelta. Näiden värierojen perusteella lasketaan kustannusfunktio, jonka perusteella valitaan leikkauspolku. Kustannus määritetään laskemalla pikselipaikan vanhan ja uuden alueen värien erotus ja lisäämällä tähän naapurisolmun vanhan ja uuden alueen värien erotus. Tämä kustannus kertoo näiden pikselien välisen kaaren painon. Poluksi valitaan se polku, jossa kustannusfunktio saa pienimmän arvon, eli leikkauspolku kulkee niiden kaarien kautta, joiden paino on pienin. Yksinkertaisuuden vuoksi kuvassa 2 alue on esitetty 3 x 3 pikselin avulla. Kuvaan on lisätty kaksi ylimääräistä solmua, A ja B, jotka kuvaavat vanhaa ja uutta siirrosaluetta, tässä järjestyksessä. Kuvassa 2 on määritelty, että pikselit 1, 2 ja 3 otetaan vanhalta alueelta ja pikselit 7, 8 ja 9 uudelta alueelta. Määrittääksemme kummalta alueelta pikselit 4, 5 ja 6 otetaan, täytyy selvittää pienimmän kustannuksen polku, joka erottaa solmut A ja B toisistaan. Tätä klassista graafiongelmaa kutsutaan muun muassa min-cut ongelmaksi ja sen ratkaisevat algoritmit ovat helppoja implementoida (Kwatra et al. 2003). Kuvassa 2 punainen viiva esittää pienimmän kustannuksen polkua, joten pikseli 4 kopioidaan alueelta B ja pikselit 5 ja 6 vanhalta alueelta A. Tämä edellä esitetty tapaus on melko yksinkertainen, sillä siinä uusi alue lisätään kohtaan, johon ei 4
6 vielä ole lisätty alueita. Tällöin ei tarvitse ottaa huomioon tuloskuvassa jo valmiina olevia saumoja. Seuraavissa kappaleissa esitetäänkin ratkaisuja monimutkaisempiin tilanteisiin. Tilanne tulee monimutkaisemmaksi jos syntetisoidussa kuvassa on jo useita alueita liitettynä. Seuraava siirrosalue voidaan haluta asettaa kohtaan, jossa on jo alueita. Tällöin täytyy lisäksi määrittää peittääkö mikään uuden alueen pikseleistä vanhoja saumoja. Vanha sauma ja sen kustannus täytyy tällöin muistaa. Image quilting tekniikassa käytetään dynaamista ohjelmointia, jossa vanhojen ratkaisujen muistaminen ei ole Kwatra et al. (2003) mukaan mahdollista. Vanhojen saumojen muistaminen mahdollistaa sen, että olemassa olevia saumoja pystytään parantamaan. Tässä tapauksessa graafi on muuten samankaltainen kuin kuvassa 2, mutta solmu A vastaa nyt kaikkia vanhoja alueita. Lisäksi vanhat saumat merkitään graafiin lisäämällä saumasolmut niiden pikselien väliin, joiden välistä vanha sauma kulkee. Jokainen saumasolmu liitetään uudella kaarella solmuun B, joka vastaa siis uutta aluetta. Tämän kaaren kustannus on aikaisemmin lasketun sauman kustannus. Jos tämä saumasolmun ja solmun B välinen kaari leikataan, tämä tarkoittaa, että vanha sauma jää tuloskuvaan. Jos tätä kaarta ei leikata, niin silloin uuden alueen pikselit kopioidaan vanhan sauman päälle. Tuloskuvassa saattaa tällöin olla sekä vanhaa että uutta saumaa. Edellä esitetyissä tapauksissa oletettiin, että uudet alueet olivat päällekkäisiä vanhojen pikselien kanssa ainoastaan alueiden rajalla. Usein tässä synteesissä kuitenkin uusi alue saatetaan yrittää asettaa alueelle, joka on jo kokonaan peitetty. Tämän tarkoituksena on peittää mahdollisia näkyviä saumoja. Kuvassa 3 on esitetty synteesin vaiheita tällaisessa tapauksessa. Kuvassa vasemmalla on lähdekuva, keskellä on ensimmäinen syntetisoitu kuva alustuksen jälkeen ja oikealla lopullinen tulos viiden iterointikierroksen jälkeen. Jokaisella iterointiaskeleella näkyviä saumoja on pyritty peittämään uuden siirrosalueen avulla. Kuva 2: Vasemmalla esitetään vanhan (A) ja uuden (B) alueen päällekkäin menevä osa. Oikealla esitetään sauman, eli pienimmän kustannuksen polun etsiminen. Leikkaus kulkee niiden kaarien kautta, joiden kustannukset ovat pienimmät. Pienimmän kustannuksen polku on merkitty kuvaan punaisella. (Kwatra et al. 2003) 5
7 Kuva 3: Vasemmalla on alkuperäinen kuva. Keskellä on syntetisoitu tekstuuri heti alustamisen jälkeen ja oikealla tuloskuva viiden iterointivaiheen jälkeen. (Kwatra et al. 2003). Alustamisen jälkeen virheet näkyvät kuvassa selkeästi. Kun kuvaa on iteroitu viisi kertaa, eli uusia alueita on lisätty vanhojen saumojen päälle, tulos on jo huomattavasti parempi, vaikka muutama virhe erottuu vielä selkeästi. 3.2 Algoritmit alueen valintaan Mahdollisen siirrosalueen valintaan voidaan käyttää erilaisia algoritmeja. Algoritmin valinta riippuu syntetisoitavasta tekstuurista. Kwatra et al. (2003) esittelevät kolme erilaista algoritmia, joista valitaan sopiva. Nämä algoritmit ovat random placement-, entire patch matching- ja sub-patch matching - algoritmi. Kaikissa algoritmeissa valitaan ainoastaan alueita, joita ei ole aikaisemmin valittu. Kahdessa jälkimmäisessä sovittamisalgoritmissa sen hetkisestä tekstuurista etsitään alue, joka tarvitsee parantamista. Olemassa olevien saumojen kustannuksia käytetään tämän alueen virheen laskemiseen. Tämän jälkeen valitaan alue, jossa virhe on suurin. Tämän virhealueen määrittämisen jälkeen algoritmi pakotetaan valitsemaan ainoastaan sellaisia paikkoja, jotka peittävät virhealueen kokonaan. Jos syntetisoidussa tekstuurissa on vielä tyhjää aluetta, siirroskohta valitaan niin, että lisättävä tekstuurialue peittää sekä tyhjää aluetta että virhealueita. Samoja algoritmeja käytetään sekä kuva- että videotekstuurien synteesissä. Tässä tulee huomata, että siirrosalueen asettaminen on ainoastaan translaatio lähdekuvalle, ennen kuin se lisätään tuloskuvaan. Random placement metodissa koko alkuperäinen kuva siirretään sattumanvaraiseen paikkaan. Graph cut algoritmi laskee sen jälkeen tästä alueesta sauman, jonka pikselit kopioidaan uuteen kuvaan. Tämän jälkeen prosessia toistetaan kunnes kuva on valmis. Tämä on nopein synteesitapa ja sillä saadaan hyviä tuloksia epäsäännöllisten tekstuurien syntetisoinnissa. (Kwatra et al. 2003) Entire patch matching algoritmissa lähdetekstuurista etsitään alue, joka sopii mahdollisimman hyvin sen hetkiseen tilanteeseen tulostekstuurissa. Tämän jälkeen lasketaan potentiaalisille alueille vertailuluku normalisoimalla SSD-kustannus (sum-ofsquared-differences). Siirroskohta valitaan sopivista vaihtoehdoista todennäköisyysfunktion perusteella. Tämä tekniikka antaa parhaimman tuloksen säännöllisille tekstuureille, sillä niiden jaksollisuus saadaan hyvin tallennettua tällä kustannusfunktiolla. (Kwatra et al. 2003) 6
8 Sub-patch matching tekniikka on tekniikoista kaikkein yleisin. Se on myös paras menetelmä stokastisille eli satunnaisille tekstuureille sekä videosekvensseille, joissa on tekstuurien liikettä, esimerkiksi aaltoja ja savua. Tässä tekniikassa valitaan tuloskuvasta ensin pieni ongelmakohta, joka on usein paljon pienempi kuin mallikuva. Tämän jälkeen lähdekuvasta etsitään alue, joka täsmää hyvin tämän tuloskuvan osa-alueen kanssa. Ainoastaan translaatiot, jotka sallivat lähdekuvan ja tuloskuvan täydellisen päällekkäisyyden hyväksytään. Alue valitaan myös tässä stokastisesti käyttäen samanlaista todennäköisyysfunktiota kuin edellisessä algoritmissa. (Kwatra et al. 2003) 4 KUVASYNTEESI Tässä kappaleessa esitellään tekstuurisynteesin tuloksia sekä tekniikan lisämuunnoksia. Kappaleessa 4.2. käsitellään lisäksi tekniikan soveltamista interaktiiviseen kuvasynteesiin, jossa useiden lähdekuvien elementtejä yhdistelemällä luodaan uusi kuva. Graph cut tekniikalla voidaan syntetisoida hyvinkin erilaisia tekstuureja. Sitä voidaan käyttää sekä säännöllisten että epäsäännöllisten tekstuurien synteesiin ja myös luonnollisten kuvien syntetisointiin. Kuvissa 4, 5, 6 ja 7 (Kwatra et al. 2003) esitetään tekstuurisynteesin tuloksia sekä hieman graph cut tekniikan vertailua image quilting tekniikkaan, jonka kehittivät Efros ja Freeman (2001). Kuvassa 5 verrataan graph cut tekniikan ja image quilting tekniikan tuloksia samasta syötetekstuurista. Kuvassa 5 on alueenvalitsemisalgoritmina käytetty entire patch matching algoritmia. Tämä algoritmi sopii parhaiten näppäimistötekstuurin syntetisointiin, sillä näppäimistön säännöllisyys saadaan sillä hyvin säilytettyä. Kuvissa 4, 6 ja 7 on käytetty sub-patch matching algoritmia, sillä oliivi-, lammaslauma- ja liljatekstuurit ovat melko satunnaisia. Kuvien laskenta on suhteellisen nopeaa pääosin FFT:n perustuvan laskennan vuoksi. Kwatra et al. (2003) esittivät kaksiulotteiseen tekstuurisynteesitekniikkaan myös laajennuksia ja sovelluksia, joita käsitellään kappaleessa 4.1. Kuva 4: Vasemmalla on lammaslaumaa esittävä syötekuva ja oikealla graph cut tekniikkaa käyttäen saatu tulos. (Kwatra et al. 2003). Algoritmit eivät tietenkään tunnista mitä kuva esittää, joten tuloskuvaan voi tulla esimerkiksi kaksipäisiä lampaita. Tulos näyttää kuitenkin luonnolliselta ja virheitä voi löytää ainoastaan, jos kuvaa tutkii tarkemmin. 7
9 Kuva 5: Vasemmalla syötekuva, keskellä tulos käyttäen image quilting tekniikkaa ja oikealla tulos graph cut tekniikalla. (Kwatra et al. 2003). Graph cut tekniikan tulos näyttää selvästi luonnollisemmalta. Entire patch matching algoritmilla näppäimistön säännöllisyys on pystytty säilyttämään. 4.1 Lisämuunnoksia Graph cut tekniikkaa on laajennettu myös lisämuunnoksilla (Kwatra et al. 2003). Kwatra et al. (2003) keskittyi graph cut tekniikassa pääosin mahdollisuuteen siirtää syötealuetta tulosalueen suhteen. Tekniikkaa on kuitenkin yleistetty käsittämään muunkinlaiset muunnokset, esimerkiksi rotaation, peilauksen ja skaalauksen. Kuvassa 6 on syntetisoinnissa käytetty myös rotaatiota ja peilausta. Useampien muunnosten käyttäminen tuottaa tuloksena saatavasta tekstuurista joustavamman ja monipuolisemman. (Kwatra et al. 2003) Skaalaus mahdollistaa erikokoisten tekstuurielementtien yhdistämisen. Skaalauksella voidaan siis saada aikaan esimerkiksi syvyysvaikutelma. Kuvassa 7 liljatekstuurin synteesiin on käytetty yhden skaalan lisäksi useampia skaaloja. Kuva 6: Vasemmalta järjestyksessä; syötekuva, image quilting tekniikalla saatu tulos, graph cut tekniikan tulos sekä tuloskuva kun on lisäksi käytetty rotaatiota ja peilausta. (Kwatra et al. 2003) Image quilting tulos on Efroksen ja Freemanin (2001) mukaan. Rotaatio ja peilaus näyttävät tuovan kuvaan lisää luonnollisuutta. Image quilting tekniikkaan verrattuna ero on selkeä. 8
10 Kuva 7: LILIES Brad Powell. Vasemmalla syötekuva, keskellä käytetty yhtä skaalaa ja oikealla yhdistelty useampaa eri skaalaa. (Kwatra et al. 2003) Useamman skaalan käyttäminen tuo kuvaan syvyysvaikutelmaa. 4.2 Interaktiivinen kuvasynteesi Toinen graph cut tekniikan sovellus on interaktiivinen kuvien yhdistäminen, joka perustuu Mortensenin ja Barretin (1995) sekä Brooksin ja Dodgsonin (2002) tekniikoihin (Kwatra et al. 2003). Tässä sovelluksessa tuloksena saadaan kuva, johon on yhdistetty elementtejä useista eri lähdekuvista. Käyttäjä valitsee ensin lähdekuvista haluamansa alueet interaktiivisesti ja tämän jälkeen graph cut algoritmi etsii parhaan sauman kuvien välillä. Kuvassa 8 on esitetty joen ja veneen yhdistäminen. Viimeisessä kuvassa on myös saumat näkyvissä. Kuva 8: RAFT ja RIVER Tim Seaver. Ylhäällä syötekuvat, eli vene ja joki. Alhaalla vasemmalla tulos ja alhaalla oikealla tulokseen on lisäksi merkitty saumat. (Kwatra et al.) ( 9
11 5 VIDEOSYNTEESI Yksi graph cut tekniikan vahvuuksista on se, että se on helposti laajennettavissa myös videotekstuurisynteesiin. Videotekstuurisynteesissä voidaan esimerkiksi lyhyestä videosta syntetisoida pidempi toistamalla sitä ikuisesti niin, että tulos näyttää kuitenkin suhteellisen luonnolliselta. Videotekstuurisynteesissä tarvitaan samat vaiheet kuin kuvasynteesissäkin, eli alueen sijoitus ja saumojen etsiminen. Videoiden tapauksessa sauma tarkoittaa kaksiulotteista pintaa. (Kwatra et al. 2003). Samoin kuin kaksiulotteisilla tekstuureilla alueen sijoitustekniikka valitaan videon tyypin perusteella. Seuraavissa kappaleissa esitellään lyhyesti videotekstuurisynteesiä graph cut tekniikalla (Kwatra et al. 2003). Videotekstuureita voidaan muokata etsimällä sujuvia siirtymiä videon yhdestä osasta toiseen. Näitä siirtymiä voidaan sitten käyttää syötevideon toistamiseen. Tämä toimii ainoastaan, jos videosta voidaan löytää pari samalta näyttäviä kehyksiä. Kuitenkin monet luonnolliset ilmiöt ovat liian epäsäännöllisiä toistuakseen. Kwatra et al. (2003) esittämä saumojen optimointi on kehittynyt vaihtoehto tämän ongelman ratkaisuun. Jos videosekvenssi on hyvin lyhyt, videon toistamisen jälkeen jaksollisuus on selvästi havaittavissa. Tässä tapauksessa video voidaan syntetisoida lisäämällä sarja lähdemateriaalin tekstuurialueita, jotka ovat sattumanvaraisesti ajallisesti korvaavia. Tällä menetelmällä saadaan yleisesti ottaen hyviä tuloksia, mutta tietyillä tekstuureilla tulos ei ole tyydyttävä. (Kwatra et al. 2003) Ainoastaan ajallisten siirtymien huomioiminen ei tuota tyydyttäviä tuloksia videoissa, joissa on staattisuutta ajan ja paikan suhteen, esimerkiksi savua kuvaava video. Tämä johtuu siitä, että tämän tyyppisissä videoissa liikkeellä on jokin dominoiva suunta. Tällöin ajallisten siirtymien lisäksi tarvitaan myös siirtymiä paikan suhteen. Spatiotemporaalisille tekstuureille kolmiulotteisessa tapauksessa käytetäänkin sub-patch matching algoritmia, sillä se soveltuu hyvin satunnaisten videotekstuurien syntetisointiin (Kwatra et al. 2003). Kun siirtymät paikan suhteen otetaan huomioon tulokset paranevat huomattavasti (Kwatra et al. 2003). 6 LAAJENNUKSIA Tässä kappaleessa mainitaan lyhyesti muutamia parannuksia ja laajennuksia kuva- ja videotekstuurisynteesiin. Nämä laajennukset muun muassa nopeuttavat alueiden sovituksessa käytettäviä algoritmeja sekä parantavat kuvien laatua. (Kwatra et al. 2003) Joissain tapauksissa tietyssä kohdassa tekstuuria on mahdotonta löytää hyvää saumaa ja graph cut tekniikka saattaa tällöin luoda näkyviäkin artefakteja. Tällaiset artefaktit on mahdollista peittää lomittamalla (feathering) pikseliarvoja saumojen lähellä. Laskentaa voidaan myös nopeuttaa käyttämällä FFT:tä (Fast Fourier Transforms). (Kwatra et al. 2003) Kappaleessa 3.2. viitattiin SSD:hen perustuviin algoritmeihin, jotka voivat olla hyvinkin raskaita laskennallisesti. Tätä laskemista voidaan huomattavasti nopeuttaa FFT:n avulla. Esimerkiksi tietylle videosekvenssille uuden alueen valintaan vaadittava aika voidaan lyhentää 10 minuutista 5 sekuntiin FFT:hen perustuvalla laskennalla (Kwatra et al. 2003). 10
12 7 YHTEENVETO Tekstuurisynteesitekniikat voidaan karkeasti jakaa kolmeen luokkaan. Viimeaikoina eniten tutkittu luokka luo uusia tekstuureita kopioimalla syötetekstuurista kokonaisia alueita ja liimaamalla niitä yhteen. Tämäntyyppiset tekstuurisynteesimenetelmät luovat parhaan tuloksen laajalle joukolle erilaisia tekstuureja. Paperissa esiteltiin tähän luokkaan kuuluvaa graph cut tekniikkaa sekä sen sovelluksia. Erityisesti käsiteltiin algoritmeja siirrosalueen valintaan sekä alueiden kopiointia. Paperissa esiteltiin myös kuva- ja videotekstuurisynteesin tuloksia sekä laajennuksia perustekniikkaan. Graph cut tekniikkaa voidaan lisäksi hyödyntää muun muassa interaktiivisessa kuvasynteesissä, jossa muodostetaan yksi uusi kuva yhdistelemällä useiden syötekuvien tekstuurielementtejä. Efros ja Freeman (2001) olivat ensimmäiset, jotka käsittelivät saumojen etsimistä käyttäen dynaamista ohjelmointia (Kwatra et al. 2003). Dynaaminen ohjelmointi ei kuitenkaan mahdollista vanhojen saumojen muistamista, joten tällä tekniikalla ei voida parantaa jo olemassa olevia saumoja. Kwatra et al. (2003) tulosten mukaan graph cut tekniikan hyötynä on erityisesti se, että vanhojen saumojen kustannukset pystytään ottamaan huomioon. Vanhojen kustannusten huomioiminen mahdollistaa olemassa olevien saumojen parantamisen lisäämällä uusia alueita niiden päälle. Hyöty nähdään selvästi kuvasta 3, jossa ensimmäiset saumat eivät vielä ole kovinkaan näkymättömiä. Suurin osa aikaisemmasta tekstuurisynteesitutkimuksesta on keskittynyt kaksiulotteisten tekstuurien syntetisointiin. Yksi graph cut tekniikan vahvuuksista on myös se, että sitä voidaan helposti laajentaa käsittämään myös videotekstuurisynteesi. Graph cut tekniikka näyttää antavan melko hyviä tuloksia erilaisten tekstuurien syntetisoinnissa. Esimerkiksi kuvasta 5 nähdään, että graph cut tekniikan antama tulos näyttää realistisemmalta kuin image quilting tekniikan tulos. Kuvassa 4 taas on syntetisoitu lammaslaumaa esittävästä tekstuurista suurempi kuva. Algoritmissa ongelmana on edelleen se, että algoritmi ei tunnista mitä kuva esittää. Jos lammaslaumaa tutkii tarkkaan, voi huomata virheitä, esimerkiksi lampaalta saattaa puuttua pää tai päitä voi olla useampikin. Tätä ei kuitenkaan suoralta kädeltä huomaa ja kuva näyttää suhteellisen aidolta. Kuvassa 6 on esitetty tulos myös rotaatiota ja peilausta käyttämällä. Tämä tekniikka parantaa mielestäni tulosta melko paljon ja syntetisoidusta kuvasta tulee luonnollisempi. Tässä kuvassa ero graph cut tekniikan ja image quilting tekniikan välillä on myös melko selkeä. Kuvassa 3 taas on esitetty alkuperäisen kuvan lisäksi tulos ensimmäisen askeleen jälkeen. Tulosta on tämän jälkeen iteroitu asettamalla uusia alueita olemassa olevien saumojen päälle ja viimeisenä on tuloskuva viiden iterointiaskeleen jälkeen. Keskimmäinen kuva ei näytä kovinkaan luonnolliselta. Viiden askeleen jälkeen tulos on huomattavasti parantunut, mutta virheitä on kuitenkin edelleen havaittavissa. Useat tekstuurisynteesitekniikat käsittelevät lähdekuvaa sellaisenaan, ilman mitään muutoksia (Ashikhmin 2001). Ne eivät ota huomioon esimerkiksi valaistusta eivätkä pintojen geometrista rakennetta. Yksi tulevaisuuden haasteista voisi olla sellaisten algoritmien kehittäminen, joilla voisi luoda valaistuksesta ja katselusuunnasta riippuvia tekstuureita. 11
13 VIITTEET Ashikhmin, M Synthesizing natural textures ACM Symposium on interactive D Graphics (March), ISBN De Bonet, J. S., Multiresolution sampling procedure for analysis and synthesis of texture images. Proceedings of SIGGRAPH 97 (August 1997), Efros, A. A., Freeman, W. T Image quilting for texture synthesis and transfer. Proceedings of SIGGRAPH 97 (August), ISBN Graphcut textures: Image and video synthesis using graph cuts. (online) [Viitattu ] Saatavissa: Kwatra, V., Schödl, A., Essa, I., Turk, G., Bobick, A Graphcut textures: Image and video synthesis using graph cuts, ACM Trans. Graph., Volume 22, Issue 3, July Saisan, P., Doretto, G., Wu, Y., Soatto, S Dynamic texture recognition. In proceeding of IEEE Conference on Computer Vision and Pattern Recognition (CVPR), II:
TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja multimedian laboratorio T Tietokonegrafiikan seminaari Kevät 2004
TEKNILLINEN KORKEAKOULU 7.4.2004 Tietoliikenneohjelmistojen ja multimedian laboratorio T-111.500 Tietokonegrafiikan seminaari Kevät 2004 Graphcut Textures Laura Kainonen 52627U Graphcut Textures Laura
Ville Nenonen 49533A
Teknillinen Korkeakoulu 26.4.2004 Tietoliikenneohjelmistojen ja multimedian laboratorio T-111.500 Tietokonegrafiikan seminaari Kevät 2004: Kuvapohjaiset menetelmät Ville Nenonen 49533A Graph Cut -tekstuurisynteesimenetelmä
Teknillinen Korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio T Tietokonegrafiikan seminaari. Ville Nenonen 49533A
Teknillinen Korkeakoulu 31.3.2004 Tietoliikenneohjelmistojen ja multimedian laboratorio T-111.500 Tietokonegrafiikan seminaari Kevät 2004 Ville Nenonen 49533A Graph Cut tekstuurisynteesimenetelmä Ville
Kuva-analogiat. Juha Uotila 50468E
TEKNILLINEN KORKEAKOULU 26.4.2004 Tietoliikenneohjelmistojen ja multimedian laboratorio T-111.500 Tietokonegrafiikan seminaari Kevät 2004: Kuvapohjaiset menetelmät Kuva-analogiat Juha Uotila 50468E Kuva-analogiat
Luku 8. Aluekyselyt. 8.1 Summataulukko
Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa
Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti
Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan
A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005
Graafin 3-värittyvyyden tutkinta T-79.165 Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Mikko Malinen, 36474R 29. maaliskuuta, 2005 Tiivistelmä Artikkelissa käydään läpi teoriaa, jonka avulla
10. Painotetut graafit
10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden
Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle
Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle 2 Sisällys 1 Palvelunhallinta... 3 1.1 Käyttäjäryhmän luominen... 3 2 Tehtävienhallinta- perustiedot... 4 2.1 Yhtiön perustiedot... 4 2.2 Tehtävä-/
Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.
Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011 J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla
Datatähti 2019 loppu
Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio
Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria
Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:
Tekstuurien syntetisointi pinnoille
Teknillinen Korkeakoulu 27. huhtikuuta 2004 Tietoliikenneohjelmistojen ja multimedian laboratorio Tik-111.500 Tietokonegrafiikan seminaari Kevät 2004 Kuvapohjaiset menetelmät Tekstuurien syntetisointi
Kenguru 2015 Mini-Ecolier (2. ja 3. luokka) RATKAISUT
sivu 1 / 10 3 pistettä 1. Kuinka monta pilkkua kuvan leppäkertuilla on yhteensä? (A) 17 (B) 18 (C) 19 (D) 20 (E) 21 Ratkaisu: Pilkkuja on 1 + 1 + 1 + 2 + 2 + 1 + 3 + 2 + 3 + 3 = 19. 2. Miltä kuvan pyöreä
1. STEREOKUVAPARIN OTTAMINEN ANAGLYFIKUVIA VARTEN. Hyvien stereokuvien ottaminen edellyttää kahden perusasian ymmärtämistä.
3-D ANAGLYFIKUVIEN TUOTTAMINEN Fotogrammetrian ja kaukokartoituksen laboratorio Teknillinen korkeakoulu Petri Rönnholm Perustyövaiheet: A. Ota stereokuvapari B. Poista vasemmasta kuvasta vihreä ja sininen
10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys
10.2. Säteenjäljitys ja radiositeettialgoritmi Säteenjäljitys Säteenjäljityksessä (T. Whitted 1980) valonsäteiden kulkema reitti etsitään käänteisessä järjestyksessä katsojan silmästä takaisin kuvaan valolähteeseen
Harjoitus Bones ja Skin
LIITE 3 1(6) Harjoitus Bones ja Skin Harjoituksessa käsiteltävät asiat: Yksinkertaisen jalan luominen sylinteristä Luurangon luominen ja sen tekeminen toimivaksi raajaksi Luurangon yhdistäminen jalka-objektiin
Kansionäkymä listasta suuriin kuvakkeisiin
Sirpa Leinonen Kansionäkymä listasta suuriin kuvakkeisiin Riippuen koneen Windows versiosta hieman eroja miten näkymä valitaan 1. Tiedosto 2. Näytä välilehdellä valinta kansio näkymlle Suurimmat tai suuret
1 Yleistä Kooste-objektista... 3. 1.1 Käyttöönotto... 3. 2 Kooste-objektin luominen... 4. 3 Sisällön lisääminen Kooste objektiin... 4. 3.1 Sivut...
Kooste 2 Optima Kooste-ohje Sisällysluettelo 1 Yleistä Kooste-objektista... 3 1.1 Käyttöönotto... 3 2 Kooste-objektin luominen... 4 3 Sisällön lisääminen Kooste objektiin... 4 3.1 Sivut... 5 3.2 Sisältölohkot...
Kombinatorinen optimointi
Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein
Tietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
S09 04 Kohteiden tunnistaminen 3D datasta
AS 0.3200 Automaatio ja systeemitekniikan projektityöt S09 04 Kohteiden tunnistaminen 3D datasta Loppuraportti 22.5.2009 Akseli Korhonen 1. Projektin esittely Projektin tavoitteena oli algoritmin kehittäminen
Mat Lineaarinen ohjelmointi
Mat-2.34 Lineaarinen ohjelmointi..27 Luento 5 Simplexin implementaatioita (kirja 3.2-3.5) Lineaarinen ohjelmointi - Syksy 27 / Luentorunko (/2) Simplexin implementaatiot Naiivi Revised Full tableau Syklisyys
TIEA341 Funktio-ohjelmointi 1, kevät 2008
TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x
Algoritmit 1. Luento 8 Ke Timo Männikkö
Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin
Algoritmit 1. Luento 7 Ti Timo Männikkö
Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017
1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return
2020 Fusion. What s New in Version 6? What s New in Version 6? 1 of Fusion
2020 Fusion What s New in Version 6? What s New in Version 6? 1 of 17 2020 Fusion Uusi 2020 Fusion 6 nopeuttaa ja helpottaa työskentelyäsi: Täysin uudistettu renderöinti Useiden tuotteiden muokkaus samalla
Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )
Königsbergin sillat 1700-luvun Königsbergin (nykyisen Kaliningradin) läpi virtasi joki, jonka ylitti seitsemän siltaa. Sanotaan, että kaupungin asukkaat yrittivät löytää reittiä, joka lähtisi heidän kotoaan,
Luento 3: 3D katselu. Sisältö
Tietokonegrafiikan perusteet T-.43 3 op Luento 3: 3D katselu Lauri Savioja Janne Kontkanen /27 3D katselu / Sisältö Kertaus: koordinaattimuunnokset ja homogeeniset koordinaatit Näkymänmuodostus Kameran
Algoritmit 2. Luento 13 Ti Timo Männikkö
Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019
Canva CV NÄIN PÄÄSET ALKUUN CANVA CV:N TEOSSA: Canva on graafisen suunnittelun
Canva CV Canva on graafisen suunnittelun ohjelma, jota voi käyttää niin selaimella kuin mobiiliapplikaatiollakin. Canvassa on paljon maksuttomia pohjia CV:n visualisointiin! Canvan perusominaisuuksia voit
Tentin asetukset. Tentin lisääminen. Tentin asetukset
Tentin asetukset Moodlen tentti-aktiviteetin perusasetukset käydään läpi tällä sivulla. Jos etsit ohjetta kysymysten luomiseen, katso erillinen ohjesivu kysymyspanki sta. Tentti soveltuu "perinteisen tenttimisen"
Algoritmit 2. Luento 11 Ti Timo Männikkö
Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento
Taulukkolaskennan perusteet Taulukkolaskentaohjelmat
Taulukkolaskennan perusteet Taulukkolaskentaohjelmat MS Excel ja LO Calc H6: Lomakkeen solujen visuaalisten ja sisältöominaisuuksien käsittely ja soluviittausten perusteet Taulukkolaskennan perusteita
Taulukkolaskennan perusteet Taulukkolaskentaohjelmat
Taulukkolaskennan perusteet Taulukkolaskentaohjelmat MS Excel ja LO Calc H6: Lomakkeen solujen visuaalisten ja sisältöominaisuuksien käsittely ja soluviittausten perusteet Taulukkolaskennan perusteita
T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )
T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen
Johdatus graafiteoriaan
Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 126 Luku 3 Puut 3.1 Puu 3.2 Virittävä puu 3.3 Virittävän puun konstruointi 3.4 Minimaalinen virittävä puu
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016
Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
Kenguru 2011 Cadet (8. ja 9. luokka)
sivu 1 / 7 NIMI LUOKKA/RYHMÄ Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Jätä ruutu tyhjäksi, jos et halua
Johdatus verkkoteoriaan 4. luento
Johdatus verkkoteoriaan 4. luento 28.11.17 Viikolla 46 läpikäydyt käsitteet Viikolla 47 läpikäydyt käsitteet Verkko eli graafi, tasoverkko, solmut, välit, alueet, suunnatut verkot, isomorfiset verkot,
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 7 1 Useamman muuttujan funktion raja-arvo Palautetaan aluksi mieliin yhden muuttujan funktion g(x) raja-arvo g(x). x a Tämä raja-arvo kertoo, mitä arvoa funktio g(x)
Mitä on konvoluutio? Tutustu kuvankäsittelyyn
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
Muotin perusrakenne Ruisku tai painevalukappaleen rakenteen perusasiat: päästö, kulmapyöristys, jakopinta ja vastapäästö.
Jakopinta perusteet JuhoTaipale, Tuula Höök Tampereen teknillinen yliopisto Teoriatausta Muotin perusrakenne Ruisku tai painevalukappaleen rakenteen perusasiat: päästö, kulmapyöristys, jakopinta ja vastapäästö.
verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari
Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on
Pintamallintaminen ja maastomallinnus
1 / 25 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto Pintamallintaminen ja maastomallinnus Muistilista uuden ohjelman opetteluun 2 / 25 1. Aloita käyttöliittymään tutustumisesta: Mitä hiiren näppäintä
Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen
Hävittäjälentokoneen reitin suunnittelussa käytettävän dynaamisen ja monitavoitteisen verkko-optimointitehtävän ratkaiseminen A*-algoritmilla (valmiin työn esittely) Joonas Haapala 8.6.2015 Ohjaaja: DI
Kolmannen ja neljännen asteen yhtälöistä
Solmu /019 7 Kolmannen neljännen asteen yhtälöistä Esa V. Vesalainen Matematik och statistik, Åbo Akademi Tämän pienen artikkelin tarkoituksena on satuilla hieman algebrallisista yhtälöistä. Erityisesti
DIMLITE Daylight. Sähkönumero 2604221. Käyttöohje
DIMLITE Daylight Sähkönumero 2604221 Käyttöohje T1 / T2 sisääntulot Yksittäispainikeohjaus Nopea painallus Tx painikkeesta sytyttää valaistuksen sytytyshetkellä valitsevaan päivänvalotilanteeseen tai viimeisimmäksi
V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen
V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen Luento omatoimisen luennan tueksi algoritmiikan tutkimusseminaarissa 23.9.2002. 1 Sisältö Esitellään ongelmat Steiner-puu Kauppamatkustajan
Videon tallentaminen Virtual Mapista
Videon tallentaminen Virtual Mapista Kamera-ajon tekeminen Karkean kamera ajon teko onnistuu nopeammin Katseluohjelmassa (Navigointi > Näkymät > Tallenna polku). Liikeradan ja nopeuden tarkka hallinta
Kaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely)
Kaksintaistelun approksimatiivinen mallintaminen (valmiin työn esittely) Juho Roponen 10.06.2013 Ohjaaja: Esa Lappi Valvoja: Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla verkkosivuilla.
Mat Lineaarinen ohjelmointi
Mat-.34 Lineaarinen ohjelmointi 9..7 Luento Kokonaislukuoptimoinnin algoritmeja (kirja.-.) Lineaarinen ohjelmointi - Syksy 7 / Luentorunko Gomoryn leikkaava taso Branch & Bound Branch & Cut Muita menetelmiä
.. X JOHDATUS TEKOÄLYYN TEEMU ROOS
1 3 1 3 4 3 2 3 4 3 2 3 1 2 3 4 122 31 4 3 1 4 3 1 122 31........ X.... X X 2 3 1 4 1 4 3 2 3 2 4 1 4 JOHDATUS TEKOÄLYYN TEEMU ROOS 2. ETSINTÄ JA PELIT LEVEYSSUUNTAINEN HAKU 1 9 3 2 5 4 6 7 11 16 8 12
Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö
Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö 21.01.2013 Ohjaaja: Kai Virtanen Valvoja: Raimo P. Hämäläinen Työn
Malleja ja menetelmiä geometriseen tietokonenäköön
Malleja ja menetelmiä geometriseen tietokonenäköön Juho Kannala 7.5.2010 Johdanto Tietokonenäkö on ala, joka kehittää menetelmiä automaattiseen kuvien sisällön tulkintaan Tietokonenäkö on ajankohtainen
Tekstuurintunnistuksen lyhyt oppimäärä. Ts. pari tapaa erottaa tiiliseinä pensaasta.
Tekstuurintunnistuksen lyhyt oppimäärä Ts. pari tapaa erottaa tiiliseinä pensaasta. Mitä on tekstuuri? Vaikea määritellä, mutta: Pintakuvio Ornamentti tuntu kuviointi Miksi tämän pitäisi kiinnostaa? (Maantienmerkkausrobotti)
T : Max-flow / min-cut -ongelmat
T-61.152: -ongelmat 4.3.2008 Sisältö 1 Määritelmät Esimerkki 2 Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys 3 Perusajatus Pseudokoodi Tarkastelu 4 T-61.152: -ongelmat Virtausverkko
Kortinhaltijat joilla on maksukeskeytys Maksuryhmään liitettyjen kortinhaltijoiden lukumäärä, joiden maksut ovat tilapäisesti keskeytetty.
1(6) MAKSURYHMÄN HALLINTA Maksuryhmäkohtaiselle sivulle pääset klikkaamalla yksittäisen maksuryhmän nimeä verkkopalvelun etusivulla tai valitsemalla ryhmän Maksuryhmät - osion listalta. Sivun tiedot ja
Yleinen paikallinen vakautuva synkronointialgoritmi
Yleinen paikallinen vakautuva synkronointialgoritmi Panu Luosto 23. marraskuuta 2007 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4 Lähdeartikkeli Boulinier, C., Petit, F. ja Villain, V., When graph
PARITUS KAKSIJAKOISESSA
PARITUS KAKSIJAKOISESSA GRAAFISSA Informaatiotekniikan t iik seminaari i Pekka Rossi 4.3.2008 SISÄLTÖ Johdanto Kaksijakoinen graafi Sovituksen peruskäsitteet Sovitusongelma Lisäyspolku Bipartite matching-algoritmi
58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia
58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli
Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto
Condess ratamestariohjelman käyttö Aloitus ja alkumäärittelyt Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Kun kysytään kilpailun nimeä, syötä kuvaava nimi. Samaa nimeä käytetään oletuksena
Doodle helppoa aikatauluttamista
Doodle helppoa aikatauluttamista Kuinka käytän Doodlea? -vaiheittainen opas käyttöön ja aikataulukyselyn luomiseen http://www.doodle.com/ Doodle on ohjelma joka auttaa sinua aikatauluttamaan kokouksia
Sivunumerot ja osanvaihdot
Sivunumerot ja osanvaihdot WORD 2010 Sivu 1 / 11 Sivunumerot ja osanvaihdot HUOM ohje on tehty toimimaan WORD 2010 -tekstinkäsittelyohjelmalla. Ohje saattaa toimia tai olla toimimatta myös uudemmille tai
Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:
Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] = = T [i + 1] 4 return True 5
Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä
Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko
2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys
.. Kohteiden konstruktiivinen avaruusgeometrinen esitys Avaruusgeometrinen esitys on käyttäjäriippuvainen ja vaati erikoismenetelmiä tai lopuksi konversion monikulmiomalliksi. Se on korkean tason esitys
Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka monivalinta aihio > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)
Oppimisaihion arviointi / Arvioinnin tulos 9 Aineiston arvioinnin tulos arviointialueittain Suomen virtuaaliammattikorkeakoulu Teknillinen mekaniikka monivalinta aihio > 80 % 80 60 % 60 50 % < 50 % Arviointialue
HB-Harkko-kirjasto asennetaan oletusarvoisesti ArchiCADin kirjastohakemiston alle (C:\Program Files\Graphisoft\ArchiCAD 13\Kirjasto 13).
HB-HARKKO KÄYTTÖOHJE Lyhyesti Kirjasto sisältää kevytsora- ja eristeharkko-objektin lisäksi laajennuksen, jonka avulla suunnittelija voi tehdä kokonaisen rakennuksen mallin harkoista automaattisesti detaljisuunnittelua
Loppukilpailu perjantaina OSA 1 Ratkaisuaika 30 min Pistemäärä 20. Peruskoulun matematiikkakilpailu
Peruskoulun matematiikkakilpailu Loppukilpailu perjantaina 31.1.2014 OSA 1 Ratkaisuaika 30 min Pistemäärä 20 Tässä osassa ei käytetä laskinta. Kaikkiin tehtäviin laskuja, kuvia tai muita perusteluja näkyviin.
Teknillinen korkeakoulu 6.4.2004 Tietoliikenneohjelmistojen ja multimedian laboratorio T-111.500 Tietokonegrafiikan seminaari.
Teknillinen korkeakoulu 6.4.2004 Tietoliikenneohjelmistojen ja multimedian laboratorio T-111.500 Tietokonegrafiikan seminaari Wang-laatoitus Ville Leino 45323K Ville Leino TKK, Tietoliikenne ohjelmistojen
Kenguru 2019 Student lukio
sivu 0 / 7 NIMI LUOKKA Pisteet: Kenguruloikan pituus: Koodi (ope täyttää): Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Oikeasta vastauksesta
Määrittelydokumentti
Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta
Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,
Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.
Musiikkipäiväkirjani: Maalataan, kirjoitetaan ja luetaan musiikkia (PWR1) Valitaan värejä, kuvia tai symboleja erilaisille äänille.
Musiikkipäiväkirjani: Maalataan, kirjoitetaan ja luetaan musiikkia (PWR1) Valitaan värejä, kuvia tai symboleja erilaisille äänille. Musiikkipäiväkirjani: Maalataan, kirjoitetaan ja luetaan (PWR1) Valitaan
Algoritmit 1. Luento 10 Ke Timo Männikkö
Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot
58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu
Osoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Verkon värittämistä hajautetuilla algoritmeilla
Verkon värittämistä hajautetuilla algoritmeilla 5 12 30 19 72 34 Jukka Suomela 15 77 18 4 9. tammikuuta 2012 19 2 68 Verkko 2 Verkko solmu 3 Verkko solmu kaari 4 Hajautettu järjestelmä solmu (tietokone)
Projektiportfolion valinta
Projektiportfolion valinta Mat-2.4142 Optimointiopin seminaari kevät 2011 Portfolion valinta Käytettävissä on rajallinen määrä resursseja, joten ne on allokoitava mahdollisimman hyvin eri projekteille
Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
Algoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26
Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden
ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Opiskelun ja työelämän tietotekniikka (DTEK1043)
Opiskelun ja työelämän tietotekniikka (DTEK1043) pääaine- ja sivuaineopiskelijat Taulukkolaskennan perusteet Yleistä Tämä harjoitus käsittelee taulukkolaskentaohjelman perustoimintoja. Harjoituksissa opetellaan
I. Ristiintaulukointi Excelillä / Microsoft Office 2010
Savonia-ammattikorkeakoulu Liiketalous Kuopio Tutkimusmenetelmät Likitalo & Mäkelä I. Ristiintaulukointi Excelillä / Microsoft Office 2010 Tässä ohjeessa on mainittu ensi Excelin valinnan/komennon englanninkielinen
DIMLITE Single. Sähkönumero Käyttöohje
DIMLITE Single Sähkönumero 2604220 Käyttöohje T1 sisääntulo T1 sisääntulo Yksittäispainikeohjaus Nopea painallus T1 painikkeesta sytyttää valaistuksen viimeisimmäksi aseteltuun tilannearvoon. Toinen lyhyt
Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun
Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään
Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?
7.7. Tasograafit Graafi voidaan piirtää mielivaltaisen monella tavalla. Graafin ominaisuudet voivat näkyä selkeästi jossain piirtämistavoissa, mutta ei toisessa. Eräs tärkeä graafiryhmä, pintagraafit,
Harjoitus 3 (31.3.2015)
Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman
Algoritmit 1. Luento 9 Ti Timo Männikkö
Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward
Muuta pohjan väri [ ffffff ] valkoinen Näytä suuri risti
1. Qcad. Aloitusohjeita. Asenna ohjelma pakettien hallinasta. Tämä vapaa ohjelma on 2D. 3D ohjelma on maksullinen. Qcad piirustusohjelma avautuu kuvakkeesta. Oletuksena, musta pohja. On kuitenkin luontevaa
Johdatus graafiteoriaan
Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 62 Luku 2 Yhtenäisyys 2.1 Polku 2.2 Lyhin painotettu polku 2.3 Yhtenäinen graafi 2.4 Komponentti 2.5 Aste
Luento 6: Geometrinen mallinnus
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Geometrinen mallinnus Lauri Savioja, Janne Kontkanen 11/2007 Geometrinen mallinnus / 1 Sisältö Mitä on geometrinen mallinnus tietokonegrafiikassa
Luento 6: Piilopinnat ja Näkyvyys
Tietokonegrafiikan perusteet T-111.4300 3 op Luento 6: Piilopinnat ja Näkyvyys Janne Kontkanen Geometrinen mallinnus / 1 Johdanto Piilopintojen poisto-ongelma Syntyy kuvattaessa 3-ulotteista maailmaa 2-ulotteisella