TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja multimedian laboratorio T Tietokonegrafiikan seminaari Kevät 2003

Samankaltaiset tiedostot
Luento 3: 3D katselu. Sisältö

Yksinkertaistaminen normaalitekstuureiksi

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

Luento 6: Piilopinnat ja Näkyvyys

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

MATEMATIIKKA 5 VIIKKOTUNTIA. PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

Osoita, että kaikki paraabelit ovat yhdenmuotoisia etsimällä skaalauskuvaus, joka vie paraabelin y = ax 2 paraabelille y = bx 2. VASTAUS: , b = 2 2

Taso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora

Luento 2 Stereokuvan laskeminen Maa Fotogrammetrian perusteet 1

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

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

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

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

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

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

VÄRISPEKTRIKUVIEN TEHOKAS SIIRTO TIETOVERKOISSA

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Derivaatta: funktion approksimaatio lineaarikuvauksella.

4. Esittäminen ja visualisointi (renderöinti)

Visualisoinnin perusteet

Riemannin pintojen visualisoinnista

T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

VAASAN YLIOPISTO TEKNILLINEN TIEDEKUNTA SÄHKÖTEKNIIKKA. Lauri Karppi j SATE.2010 Dynaaminen kenttäteoria DIPOLIRYHMÄANTENNI.

= 2 L L. f (x)dx. coshx dx = 1 L. sinhx nπ. sin. sin L + 2 L. a n. L 2 + n 2 cos. tehdään approksimoinnissa virhe, jota voidaan arvioida integraalin

Laskennallinen data-analyysi II

Paretoratkaisujen visualisointi. Optimointiopin seminaari / Kevät 2000 Esitelmä 11 Petteri Kekäläinen 45305L

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

. 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

Luento 10: Työ, energia ja teho. Johdanto Työ ja kineettinen energia Teho

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

Kompleksiluvut signaalin taajuusjakauman arvioinnissa

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 Kannat ja kannanvaihto

Paretoratkaisujen visualisointi

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

13. Taylorin polynomi; funktioiden approksimoinnista. Muodosta viidennen asteen Taylorin polynomi kehityskeskuksena origo funktiolle

Johdatus tekoälyn taustalla olevaan matematiikkaan

Suorien ja tasojen geometriaa Suorien ja tasojen yhtälöt

Demo 1: Simplex-menetelmä

Tilanhallintatekniikat

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

12. Hessen matriisi. Ääriarvoteoriaa

b 1. b m ) + ( 2b Ax) + (b b)

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi

Ominaisvektoreiden lineaarinen riippumattomuus

Ortogonaalisen kannan etsiminen

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

Tehtävä 1. Oletetaan että uv on neliö ja (u, v) = 1. Osoita, että kumpikin luvuista u ja v on. p 2j i. p j i

Videon tallentaminen Virtual Mapista

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Matematiikan tukikurssi

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 7: Pintaintegraali ja vuointegraali

Luento 6: Geometrinen mallinnus

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II

Numeeriset menetelmät

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 5: Kaarenpituus ja skalaarikentän viivaintegraali

12. Derivointioperaattoreista geometrisissa avaruuksissa

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

Sisätuloavaruudet. 4. lokakuuta 2006

Ortogonaaliset matriisit, määritelmä 1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Viikon aiheet. Funktion lineaarinen approksimointi

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luento 6: 3-D koordinaatit

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

Insinöörimatematiikka D, laskuharjoituksien esimerkkiratkaisut

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

JAKSO 2 KANTA JA KOORDINAATIT

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:

Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

Oppimistavoitematriisi

Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

SISÄLTÖ Venymän käsite Liukuman käsite Venymä ja liukuma lujuusopin sovelluksissa

a) Sievennä lauseke 1+x , kun x 0jax 1. b) Aseta luvut 2, 5 suuruusjärjestykseen ja perustele vastauksesi. 3 3 ja

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 1: Moniulotteiset integraalit

Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti

Luento 4 Georeferointi

y=-3x+2 y=2x-3 y=3x+2 x = = 6

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

MATEMATIIKAN KOE PITKÄ OPPIMÄÄRÄ

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö.

Teoreettisia perusteita II

Pintamallinnus 1: Pursotettuja pintoja

Ympyrä 1/6 Sisältö ESITIEDOT: käyrä, kulma, piste, suora

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

Kuvan pakkaus JPEG (Joint Photographic Experts Group)

A-osio. Tehdään ilman laskinta ja taulukkokirjaa! Valitse tehtävistä A1-A3 kaksi ja vastaa niihin. Maksimissaan tunti aikaa suorittaa A-osiota.

Tehtäväsarja I Kerrataan lineaarikuvauksiin liittyviä todistuksia ja lineaarikuvauksen muodostamista. Sarjaan liittyvät Stack-tehtävät: 1 ja 2.

Lisätehtäviä. Rationaalifunktio. x 2. a b ab. 6u x x x. kx x

MS-A0004/A0006 Matriisilaskenta

Insinöörimatematiikka D

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Lineaarikuvauksen R n R m matriisi

Transkriptio:

TEKNILLINEN KORKEAKOULU 4.4.2003 Tietoliikenneohjelmistojen ja multimedian laboratorio T-.500 Tietokonegrafiikan seminaari Kevät 2003 Light Field Mapping Mitro Kuha 453T

Light Field Mapping Mitro Kuha TKK, Tietoliikenneohjelmistojen ja Multimedian Laboratorio mkuha@cc.hut.fi Tiivistelmä Light Field Mapping (LFM) valokenttien kartoitus on Intelin työryhmän kehittämä menetelmä, jolla kolmiulotteisen kappaleen valaisuominaisuuksia tallentavia pinnan valokenttiä (surface light fields) voidaan esittää, pakata ja renderöidä reaaliaikaisesti. Pinnan valokentät talletetaan 4D tekstuureihin, jotka sisältävät pintaelementin valaisutiedot ja heijastusominaisuudet eri suuntiin. Tässä paperissa esitellään valokenttien kartoituksen pääperiaatteet, kaksi vaihtoehtoista algoritmia valokenttädatan käsittelyyn, valokenttädatan pakkaaminen ja renderöinti. Lisäksi esitellään esimerkkilaitteisto ja LFM:n sovelluksia sekä sen käytöstä saatuja tuloksia. JOHDANTO Valokenttien kartoitus LFM (Light Field Mapping) on uusi Intelin työryhmän kehittämä fotorealististen kolmiulotteisten näkymien mallinnusmenetelmä. Kappaleen tai ympäristön ulkonäkö voidaan esittää eri suunnista katsottuna pinnan valokentän SLF (Surface Light Field) avulla. (Richmond, 200) Valokenttien kartoitus on menetelmä, jolla pinnan valokenttiä voidaan tehokkaasti esittää ja käyttää niitä kolmiulotteisten kappaleiden valaisuominaisuuksien mallintamiseen. Kuten muutkin kuviin perustuvat pinnan valokentän mallintamismenetelmät, LFM tuottaa näytteisiin (kuvat) perustuvan esityksen pinnan valokentästä Valokentän data ositetaan pieniä mallinnettavan pinnan kappaleita (pinnan primitiivejä) vastaavaksi ja approksimoidaan jokaiselle pintaprimitiiville erikseen. Saatu data voidaan lopulta reaaliaikaisesti renderöidä mielivaltaisesta katsomissuunnasta. (Chen et al., 2002) Menetelmää voidaan käyttää fotorealistista kolmiulotteista reaaliaikaista mallinnusta tarvitsevissa sovelluksissa, kuten peleissä ja erilaisissa virtuaaliympäristöissä. Valokenttien kartoitus ei tue dynaamisasti valaistujen ympäristöjen mallinnusta. (Chen et al., 2002)

2 PINNAN VALOKENTTÄ SURFACE LIGHT FIELD Kolmiulotteisen valaistun kappaleen pinnan heijastukset ja pinnan ulkonäkö eri suunnista katsottuna voidaan esittää pinnan valokentän - SLF:n (Surface Light Field) - avulla. SLF on yhtälö, joka liittää värin jokaiseen pinnasta lähtevään säteeseen (Wood et al., 2000). SLF voidaan esittää seuraavana neliparametrisena yhtälönä: K f ( r, s, θ, φ) g ( r, s) ( θ, φ). () k = k h k jossa parametrit r ja s määrittävät tarkasteltavan pinnan pisteen, ja θ ja Φ katsomissuunnan. Sama piste voi näyttää eri suunnista katsottuna erilaiselta pinnan heijastusominaisuuksista ja valaisuolosuhteista riippuen. Pinnan jokaisen pisteen esittäminen kaikkiin suuntiin johtaisi äärettömään rakenteeseen, joten käytännön ratkaisussa tyydytään riittävään määrään näytteitä, joiden avulla pinnan valokenttä approksimoidaan (Chen et al., 2002; Richmond, 200). Kuva havainnollistaa pintaelementin eri katsomissuunnista riippuvaa ulkonäköä. Kuva. Mallinnetun kappaleen pintaelementin heijastukset eri suuntiin. (Grzeszczuk, 2002) Yhtälön () oikean puolen funktiot g k (r,s) ja h k (θ,φ) koodaavat valokenttädatan, joka on talletettu tekstuurikartan muodossa. Funktioita g k (r,s) kutsutaan pintakartoiksi (surface maps) ja funktioita h k (θ,φ) näkymäkartoiksi (view maps). (Chen et al., 2002) Aikaisemmat pinnan valokarttoihin perustuvat menetelmät ovat perustuneet heijastusominaisuuksiltaan homegeenisten kappaleiden mallintamiseen; LFM:llä pystytään mallintamaan myös heijastusominaisuuksiltaan vaihtelevia pintoja ja geometrialtaan mielivaltaisia kappaleita. (Chen et al., 2002) 2

3 DATAN TALLENTAMINEN JA PINNAN JAKAMINEN OSIIN SLF:n muodostaminen edellyttää kappaleen muodon ja sen pinnan heijastusten kuvaamista ja tallentamista. Kappale voidaan skannata kolmiulotteisella skannauksella, jolloin kappaleesta saadaan kolmioista koostuva polygonimalli. Pinnan ulkonäkö saadaan talletettua kuvaamalla kappaletta eri suunnista, ja liittämällä saatuihin kuviin informaatio myös kuvaussuunnasta. (Chen et al., 2002; Richmond, 200) Kappaletta ei luonnollisestikaan voida kuvata kaikista suunnista, vaan kuvaussuuntien väliin jäävien suuntien valaisuarvot approksimoidaan käyttämällä approksimoitavaa suuntaa lähellä olevia kuvaussuuntia. Valokuvaamalla saatu data käsitellään siten, että jokaiseen pintaelementtiin liittyvä valaisuinformaatio kerätään yhteen. (Chen et al., 2002) 3. Pinnan valokentän jakaminen osiin (SLF partitioning) Mallinnetun kappaleen geometria esitetään kolmioista koostuvalla rautalankamallilla. Valokentän jakaminen pintaa mallintavien kolmioiden mukaan aiheuttaisi valokenttäapproksimaation epäjatkuvuutta kolmioiden rajakohtiin. Jatkuvan valokentän saamiseksi pinnan valokenttä jaetaan suhteessa vertekseihin (kolmion kärkiin). Verteksiin liittyvät kolmiot muodostavat verteksin ympärille kolmiorenkaan; näiden verteksiin liittyvien kolmioiden valokentistä lasketaan verteksikohtainen valokenttä. Verteksikohtaista osaa valokentästä sanotaan verteksin valokentäksi (vertex light field) ja se voidaan ilmaista verteksille v j painotettuna pinnan valokentän funktiona f v j v j ( r, s, θ, φ) = Λ ( r, s) f ( r, s, θ, φ), (2) jossa Λ vj on verteksin v j ympärillä olevien kolmioiden painotuskerroin. Jokaisen verteksin valokenttä lasketaan siis kyseiseen verteksiin liittyvien kolmioiden valokentistä. Verteksiä ympäröivistä kolmioista laskettujen verteksin valokenttien avulla lasketaan renderöintivaiheessa kolmion valokenttä. Kuva 2 havainnollistaa kolmion valokentän approksimointia kolmion verteksien viereisten kolmioiden valokenttien summana: kolmion i verteksien v, v 2 ja v 3 valokenttä lasketaan kutakin verteksiä ympäröivien kolmioiden avulla. Verteksikohtaista osuutta kolmion valokentästä merkitään hattufunktiolla Λ vj ja kolmion kaikkien verteksien yhteisvaikutus vastaa kolmion alkuperäistä valokenttää, eli kolmion verteksien painokertoimien summasta tulee yksi. (Chen et al., 2002; Richmond, 200) Koska valokenttä lasketaan kolmion verteksien suhteen, eikä jokaisen kolmion pinnalle erikseen, kolmiosta toiseen siirtymästä tulee jatkuva. Mikäli valokenttää approksimoitaisiin yksittäisten kolmioiden pinnan mukaan, valokenttäapproksimaatioon tulisi kolmioiden reunojen kohdalle epäjatkuvuuskohtia. (Chen et al., 2002) 3

Kuva 2. Kolmion valokentän laskeminen verteksien viereisten kolmioiden valokenttien summana. Verteksien valokenttien yhteisvaikutus kolmion alueella summautuu alkuperäisen valokentän arvoksi (kerroin =). (Chen et al., 2002) Jokaisen verteksin valokenttä esitetään kyseisen verteksin paikallisessa koordinaattijärjestelmässä siten, että kulmat θ ja Φ määrittelevät katselusuunnan vektorin. θ merkitsee kiertokulmaa (azimuth) ja Φ korkeuskulmaa verteksin paikallisen koordinaatiston suhteen. Verteksin koordinaatiston z-akseli on yhdensuuntainen verteksin kohdalla pinnan normaaliakselin kanssa. (Chen et al., 2002) 3.2 Verteksin valokentän approksimointi Verteksikeskeinen valokentän osiin jakaminen mahdollistaa jokaisen verteksin valokentän itsenäisen approksimoinnin. Samalla säilytetään koko mallin valokentän jatkuvuus. Jokaisen eri verteksin valokentän approksimaatio voidaan esittää seuraavalla yhtälöllä f v j K v j v j ( r, s, θ, φ) g ( r, s) h ( θ, φ). (3) k = k k Yhtälön (3) muuttujat vastaavat aikaisemmin selitettyjä. Verteksin valokenttä approksimoidaan siis jokaisen verteksiin liittyvän kolmion valokenttien arvoista. Verteksien valokentistä lasketaan edelleen renderöintivaiheessa kolmioiden valokenttien uudet arvot. (Chen et al., 2002) Verteksien valokenttien approksimointiin on kaksi eri menetelmää: PCA (principal component analysis) ja NMF (non-negative matrix factorization). Molemmat menetelmät approksimoivat valokentän datan pienen kuvajoukon lineaarikombinaationa, mutta tarjoavat eri ominaisuuksia. (Chen et al., 2002) Chen et al., (2002) mukaan PCA:aan perustuva kuva antaa globaalin approksimaation kuvalle ja kuva pystytään muodostamaan jatkuvana osasta dataa; approksimaatiotermien lisääminen parantaa mallin laatua, mutta mallia voidaan käyttää jo ensimmäisen kertaluvun approksimaatiotermeillä. PCA soveltuu siis etenkin vaihteleviin 4

olosuhteisiin ja tietoverkkojen kautta ladattavaksi; nopeammalla yhteydellä voidaan ladata suurempi määrä dataa ja saadaan parempi lopputulos, ja pienemmällä datamäärällä saadaan kuitenkin aikaan jatkuva approksimaatio. PCA sallii approksimaatiokertoimien olevan erimerkkisiä. Tämä tekee renderöinnistä vaikeampaa ja edellyttää erityistä grafiikkapiiriä, jotta mallia voidaan renderöidä. NFM:aan perustuva ratkaisu edellyttää kaikkien saatujen kuvien käyttämistä, jotta syötetystä datasta saadaan jatkuva approksimaatio. NFM käyttää vain positiivisia kertoimia, joten siihen liittyvät laskut ovat nopeampia laskea kun PCA:ssa. NFM:n laskeminen voidaankin suorittaa tavallisella grafiikkaraudalla.(chen et al., 2002) 3.3 Valokenttien approksimointi matriisikertolaskulla Valokenttien approksimointi perustuu matriisien kertolaskuun. Ensin diskretisoidaan verteksin valokenttäfunktio 4-ulotteiseen ruudukkoon (grid), jossa indeksi p=,,m viittaa [r p,s p ]:n diskreetteihin arvoihin kuvaten pinnan paikan verteksin v j kolmiorenkaassa, ja indeksi q=,,n viittaa katselukulmien [θ q,φ q ] diskreetteihin arvoihin. Diskretisoitu verteksin valokenttä voidaan esittää matriisilla F v j f = v f j v j v j [ r, s, θ, φ ] L f [ r, s, θ, φ ] v j [ r, s, θ, φ ] L f [ M M M O r M, s M M N, θ N N, φ N, ] (4) jossa M on kolmiorenkaan pintanäytteiden kokonaismäärä ja N on jokaista näytettä vastaavien kuvaussuuntien lukumäärä. Matriisia F vj kutsutaan verteksin valokentän matriisiksi (vertex light field matrix). Jokainen matriisin sarake esittää verteksirenkaan ulkonäköä eri kuvaussuunnista nähtynä. Diskreetistä valokenttädatasta tehdään jatkuvaa kohdassa 6.2 esitellyllä datan uudelleen näytteistyksellä. (Chen et al., 2002) Sekä PCA, että NMF rakentavat approksimaatiojaon seuraavaan muotoon: ~ v j K T F = u v (5) k = k k jossa u k on diskreetin pintakartan (surface map) g vj k[r p,s p ] ja v k diskreetin näkymäkartan (view map) h vj k [θ q,φ q ] vektoriesitys. Menetelmien ero syntyy vektoreiden u k ja v k kertoimien muodostamista rajoituksista. PCA rajoittaa u k :t ortonormaaleiksi, ja v k :t ortogonaalisiksi toisiinsa nähden. NMF taas hyväksyy vain positiivisia matriisikertoimia u k ja v k. Neliparametrinen verteksin valokenttäfunktio f vi approksimoidaan siis kahden funktion tulona, nämä kaksi funktiota ovat pintakartan ja näkymäkartan vektoriesitykset. (Chen et al., 2002) 5

Valokenttien jakaminen verteksien suhteen varmistaa sen, että jokainen kolmio jakaa näkymäkarttansa viereisten kolmioiden kanssa. Tällöin, vaikka jokaisen verteksin valokenttä jaetaan osiin muista riippumatta, saadaan kolmiosta toiseen siirryttäessä jatkuva approksimaatio riippumatta approksimaatiotermien K lukumäärästä. Approksimaatiotermien lisääminen parantaa lopputuloksen laatua, mutta laadukas lopputulos saadaan jo muutamalla termillä. (Chen et al., 2002) Olkoon g vj [r p,s p ] ja h vj [θ q,φ q ] verteksin valokarttaa f vj [r p,s p, θ q,φ q, ] vastaavat pintakartta ~ ja näkymäkartta. Olkoon f [r i p,s p, θ q,φ q, ] kolmion i approksimaatiotermiä vastaava valokenttädata. Yhtälö f ~ i 3 v j v j [ rp, s p, θ q, φ q ] = g [ rp, s p ] h [ θ i q, φ q j = ] (6) on voimassa, kun indeksi j käy läpi kaikki kolmion i verteksit ja g i vj [r p,s p ] kuvaa kolmiota vastaavaa pintakartan osaa. Yhtälö (6) on voimassa kaikille approksimaatiotermeille. (Chen et al., 2002) 4 VALOKENTTÄKARTTOJEN PAKKAUS Valokenttäkartoissa on paljon toisteisuutta, joten niitä voidaan pakata tehokkaasti. Valokenttiä pakkaamalla voidaan saavuttaa useita kertalukuja oleva tilansäästö alkuperäiseen datamäärään nähden. Valokenttädätaa voidaan tiivistää usealla eri menetelmällä ja useassa eri vaiheessa. Valokuvaamalla saata raakadataa ositettaessa saavutetaan luokkaa 00: oleva pakkaussuhde, lisäksi voidaan käyttää hardware-tekstuurinpakkausmenetelmiä, kuten S3TC:ää. Kuva 3 esittelee valokenttädatan pakkaamisen eri vaiheet. Kuva 3. Valokenttien pakkaaminen. Suluissa olevat numerot ilmaisevat kyseisessä pakkausvaiheessa saavutetun pakkaussuhteen. (Chen et al., 2002) 6

Kohdassa 2.2 kuvattu matriisin kertoimilla suoritettu approksimointi voidaan ajatella valokentästä paikallisesti toistuvaa dataa poistavana pakkausmenetelmänä. Menetelmän pakkauskerroin (compression ratio) riippuu pintaprimitiivien koosta. Tiivis verkko vaatii enemmän näkymäkarttoja, toisaalta harvalla verkolla mallinnettaessa tarvitaan enemmän approksimointitermejä, jotta päästäisiin samaan laatuun kuin tiiviimmällä verkolla. (Chen et al., 2002; Grzeszczuk 2002) Kuvina esitetyt pintakartat ja näkymäkartat sisältävät paljon toisteisuutta, joten niiden pakkaamiseen voidaan hyvin käyttää olemassa olevia kuvanpakkausmenetelmiä. Jokaisen kolmion pintakartta i ja näkymäkartta h vj [θ q,φ q ] esitetään vektoreilla. Käytetty pakkausalgoritmi ryhmittelee vektorit niiden kokoon perustuen. Pakkausmenetelmä on tehokas ja valokarttojen kokoa pystytään pienentämään jopa neljä kertalukua alkuperäiseen kokoonsa nähden. 5 LFM:N REAALIAIKAINEN RENDERÖINTI LFM:n renderöintialgoritmi perustuu yhtälön (6) kuvaamaan verteksikeskeiseen jaotteluun: jokaisen mallin sisältämän kolmion valokenttä voidaan esittää itsenäisesti sen kolmen verteksin verteksien valokenttien summana. Tällöin voidaan muodostaa tehokas renderöintialgoritmi, joka toistaa samat toimenpiteet kolmiulotteisen mallin jokaiselle kolmiolle yksi kerrallaan. (Chen et al., 200; Richmond 200) 5. Renderöintialgoritmi Kuvassa 4 käytetään kuutta valokentän karttaa kolmion i valokentän approksimointitermin laskemiseksi. Kuvassa keskimäisessä sarakkeessa on pintakartat g vj i [r p,s p ]. Pikselit, jotka on peitetty varjostetulla kolmiolla vastaavat niitä pisteitä kolmion i sisällä, joissa valokenttäfunktio näytteistettiin. Näiden pisteiden tekstuurikoordinaatteja kuvataan koordinaattipisteillä (s,t). Kuvan 4 oikeassa sarakkeessa on näkymäkartat h vj [θ q,φ q ]. Jokaisen kuvan ympyrän sisällä olevat pisteet vastaavat ortografista projektiota puolipallolta katselusuunnan mukaisesti verteksin v j paikallisen xyz koordinaattijärjestelmän xy-tasolle ja skaalattuna välille (0,) (katso kuva ). Tekstuurin koordinaatit ilmaistaan (x,y) pisteinä, jolloin seuraavan yhtälön mukaiset tekstuurin koordinaattien laskeminen on mahdollista: x = ( d x +) / 2, y = ( d y +) / 2 (7) Yhtälössä d on normalisoitu paikallinen katsomissuunnan vektori ja vektorit x ja y vastaavat paikallisia koordinaattiakseleita. 7

Kuva 4. Yhden kolmion verteksien valokenttäapproksimaatiot. Pintakartat ovat samat jokaiselle vertekslle ja näkymäkartat erilaiset. (Chen et al., 2002) Valokenttien approksimaatioiden renderöinti suoritetaan tekstuurimappauksella. Kameran sijainnista riippuen renderöintialgoritmi käyttää aina eri 2D-osajoukkoa 4Dvalokenttäfunktiosta. Tämä tapahtuu laskemalla uudet näkymäkarttakoordinatit (x i,y i ) aina kun kamera liikkuu. (Chen et al., 2002) 5.2 Hardware-toteutus LFM:n renderöinti voidaan toteuttaa reaaliaikaisesti sitä varten toteutetulla multiteksturointia ja laajennettua väriskaalaa hyödyntämään pystyvällä grafiikkakortilla. Yksi renderöintialgoritmin perustoiminnoista on pintakartan ja näkymäkartan kertominen keskenään pikseli pikseliltä. Multiteksturointiin pystyvä rauta mahdollistaa useiden tekstuurifragmenttien modulaation laskemisen yhdellä renderöintikierroksella. NMF:ään pohjautuvassa LFM-sovelluksessa tarvitaan enintään kolme renderöintikierrosta jokaisen valokentän approksimaatiotermin laskemiseksi. Ilman multiteksturointitukea renderöintialgoritmi voidaan toteuttaa käyttämällä yhteenlaskubufferia. (Chen et al., 2002) Negatiivisia arvoja sisältäviä valokenttiä tekevälle PCA approksimaatiolle renderöinti voidaan toteuttaa grafiikkaraudalla, joka sallii värialueen (color range) olevan välillä [min, max] perinteisen [0,] alueen sijasta; esimerkiksi välillä [-,]. PCA-perustainen matriisien kertominen edellyttää, että valokenttämatriisista vähennetään keskinäkymä (mean view) ennen alueisiin jakoa. Tämä muuttaa renderöintiä hieman; kolmion tekstuurikartta lasketaan ensin käyttäen sen keskinäkymää, johon lisätään sitten modifioitu valokenttämatriisi. Yksi keskinäkymän erottamisesta ja sen renderöinnistä erikseen syntyvä hyöty on se, että useissa tapauksissa tämä näkymä edustaa pinnan materiaalin diffuusikomponenttia, joka näin voidaan erottaa muusta katsomissuunnasta riippuvasta valokenttädatan komponentista. (Chen et al., 2002) 8

6 ESIMERKKILAITTEISTO JA KOETULOKSIA Light Field Mapping -tekniikan toteuttaminen käytännössä vaatii seuraavia toimenpiteitä: mallinnettavavasta kappaleesta täytyy tehdä digitaalinen rautalankamalli, kappaleen heijastamat valaisuarvot täytyy tallentaa, saatu data täytyy näytteistää, ja valokenttäkartat täytyy järjestää tekniikan vaatimalla tavalla. Seuraavassa esitellään eräs LFM-toteutus. 6. 3D kuvausjärjestely Mallinnettavasta kappaleesta otetaan N kappaletta (200 < N < 400) valokuvaa digitaalikameralla. Kuvattava kappale on asetettu erityiselle alustalle, jonka merkkipisteiden mukaan pystytään automaattisesti määrittämään kuvaussuunta ja etäisyys. Kuvaamisen tuloksena saadaan N tunnetuista kuvaussuunnista otettuja valokuvia. Kuvassa 5 on esimerkki kuvausjärjestelystä sekä kuvista yhdistelemällä saadut mallit. (a) (b) (c) (d) Kuva 5. Esimerkki kuvausjärjestelystä. (a) kappaletta kuvataan erityisellä alustalla. (b) skannausta varten valaistu kohde. (c) valmis 3D-kolmioverkko. (d) kolmioverkko projisoituna valokuvan päälle. (Chen et al., 2002) Kappaleen geometria lasketaan erityisissä valaisuolosuhteissa kuvattujen kuvien perusteella. Skannauksen tuloksena saadaan joukko kappaleen pintaa kuvaavia pisteitä, joiden välille muodostetaan kolmioverkko. Koska samaa järjestelmää käytetään sekä kappaleen heijastusominaisuuksien, että geometrian tallentamiseen, kuvainformaatio ja geometria voidaan sovittaa helposti toisiinsa.(chen et al., 2002) 6.2 Datan uudelleennäytteistys Tehokkuuden kannalta on oleellista, että vain kustakin suunnasta näkyvien kolmioiden valaisuominaisuudet mallinnetaan. Kolmio lasketaan näkyväksi tietystä suunnasta vain jos se on kokonaan näkyvissä; osittain peittyneitä kolmioita ei lasketa. Näkyvät kolmiot vastaavat joukkoa erikokoisia tekstuuripaloja (texture patch), jotka on kuvattu eri suunnista. Approksimointialgoritmit edellyttävät, että data on matriisien muodossa. Jokainen tekstuuripala täytyy siis normalisoida saman muotoiseksi ja kokoiseksi toisten kanssa. Näkymäkartta muodostetaan kuvan 6 mukaisesti rajallisesta määrästä näytteitä; 9

näytteiden perusteella approksimoidaan näytepisteiden välisten alueiden valaisuarvot ja näkymäkartta täydennetään aukottomaksi.(chen et al., 2002) Kuva 6. Näkymien uudellennäytteistys. Vasemmalla alkuperäiset näkymät, keskellä projisoidut näkymät ja oikealla alkuperäisestä näkymästä saatu tasainen näkymäkartta. (Chen et al., 2002) 6.3 Valokenttäkarttojen ryhmittely Renderöintitehokkuuden parantamiseksi yksittäisiä valokenttäkarttoja ryhmitellään yhteen. Ryhmittely tapahtuu valokarttojen koon perusteella siten, että valokartoille on ennalta määritelty sallitut koot ja samankokoiset valokartat kerätään yhteen. Kuvassa 7 on koon mukaan ryhmiteltyjä pintakarttoja ja näkymäkarttoja.(chen et al., 2002) Kuva 7. Ryhmiteltyjä pintakarttoja ja näkymäkarttoja. (Chen et al., 2002) 6.4 Koetuloksia LFM-menetelmän kehittänyt Intelin työryhmä on myös tutkinut tekniikan toimivuutta käytännössä. Ryhmä tutki menetelmää kuvaamalla useita erilaisia kohteita kohdassa 6. esitetyllä laitteistolla ja käsittelemällä saadut valokuvat esitellyn näytteistysmenetelmän mukaisesti. Tulosten perusteella tiheämmällä verkolla, eli pienemmillä kolmioilla mallinnettu kappale tarkoittaa parempaa approksimaatiolaatua, mutta pakkaamisen hyötysuhde on huonompi. Pienistä kolmioista koostuva malli on lisäksi hitaampi renderöidä. (Chen et al., 2002) Pinnan valokartan approksimaation laatua mitattiin laskemalla RMS-virhe (root mean squared error) näytteistetyn valokenttämatriisin ja approksimaatiosta tuotetun matriisin välillä. Tulosten mukaan LFM-tekniikka tuottaa laadukkaan approksimaation alkuperäisestä kappaleesta. Kahta eri algoritmia verratessa PCA tuottaa NFM:aa paremman lopputuloksen RMS-virheellä mitattuna. Kuvan laadussa kahta menetelmää verrattaessa tosin ei ole silminnähtävää eroa. (Chen et al., 2002) 0

NFM :ään perustuvien ratkaisujen renderöinti on noin 50% nopeampaa kuin yhtä monta approksimaatiotermiä sisältävien PCA:han perustuvien. Renderöintinopeus riippuu jonkin verran valokenttäkarttojen koosta, mutta valokenttäkarttojen koon kasvattaminen kaksinkertaiseksi hidastaa renderöintiä vain 20%. (Chen et al., 2002) 6.5 Sovelluksia Valokenttien kartoitusta voidaan käyttää peleissä ja muissa sovelluksissa, joissa tarvitaan kolmiulotteista reaaliaikaista mallintamista. Menetelmä sopii oikeiden kappaleiden kuvaamiseen, mutta sillä voidaan mallintaa myös täysin keinotekoisia ympäristöjä, esimerkiksi virtuaalisia huoneita tai taloja. Menetelmää voidaan käyttää myös tietokoneanimaatioiden tekemiseen. (Chen et al., 2002; Grzeszczuk 200; Richmond, 200) LFM:n eräs puute on se, ettei sillä voi mallintaa muuttuvia valaisuolosuhteita; esimerkiksi liikkuvia valoja. Menetelmän kehittäneen työryhmän tavoitteena on laajentaa LFM:ää siten, että tulevaisuudessa sen avulla voitaisiin mallintaa myös muuttuvia valaisuolosuhteita. Lisäksi tavoitteena on laajentaa LFM-tekniikka käsittelemään myös mallin osittain näkyvien kolmioiden näkyvien osien valaisuinformaatio. (Chen et al., 2002) LFM on osa MPEG4 standardia ja sen voidaan olettaa yleistyvän tulevaisuudessa osana erilaisia 3D-mallinnusympäristöjä. (Chen et al., 2002) 7 YHTEENVETO Light Field Mapping valokenttien kartoitus on menetelmä, jolla voidaan fotorealistisesti mallintaa kolmiulotteisia esineitä ja ympäristöjä. Mallinnettava kappale kuvataan useista eri suunnista, jolloin saadaan talteen kappaleen pinnan valaisuominaisuudet eri suunnista katsottuna. Kuvaamalla saatu valokenttädata ositetaan verteksikohtaisesti tekstuurielementeiksi, joita kutsutaan valokenttäkartoiksi. Valokenttäkartat koostuvat pintakartoista ja näkymäkartoista. Valokenttäkarttoja voidaan tehokkaasti pakata ja niiden sisältämä data voidaan renderöidä reaaliaikaisesti. Valokenttäkarttojen renderöinti tapahtuu kertomalla tekstuurimuodossa olevia kolmion verteksin pintakarttoja ja näkymäkarttoja keskenään pikseli pikseliltä. Näin saadaan renderöityä kullekin mallin kolmiolle ja edelleen koko mallinnettavalle kappaleelle tai ympäristölle alkuperäistä vastaava valaisuinformaatio. Valokenttien kartoitus tukee vain staattisia valaisuympäristöjä, eli se esittää mallin siinä valaistuksessa, jossa malli kuvattiin. Dynaaminen valaisumalli olisi mahdollista saada aikaan yhdistämällä valokenttien kartoitus johonkin toiseen mallinnusmenetelmään.

LÄHDEVIITTEET Chen W-C., Bouguet J-Y., Chu M. H., Grzeszczuk R. (2002). Light field mapping: efficient representation and hardware rendering of surface light fields. Proceedings of the 29th annual conference on Computer graphics and interactive techniques. San Antonio. Texas. USA. pp 447-456. Grzeszczuk R. (200). Light Field Mapping - New Appearance For 3D Scanning? CADspaghetti verkkolehti, artikkeli. Saatavissa: http://www.businessadvantage.co.uk/spaghetti/lightfield.htm Grzeszczuk R. (2002). Presentation on Light Field Mapping. SIGGRAPH 2002 Course Notes for Course Image-based Modeling. Richmond R. (200). Light Field Mapping - An in-depth analysis. Romulus2 wwwsivusto, artikkeli. Saatavissa: http://www.romulus2.com/articles/guides/lfm/lfm.htm Wood D. N., Azuma D. I., Aldinger K, Curless B. (2000). Surface Light Fields for 3D Photography. Proceedings of the 27th annual conference on Computer graphics and interactive techniques. pp.287-296. 2