Tik-111.5450 Tietokoneanimaatio 7.luento: motion capture & editing 7.11.05 - Tassu Animaatio 2005 - luento 7 1
Sisältö I. Liikkeen tallennus (motion capture) Perusajatus: havaintopisteistä tulkitaan hahmon liike Sovelluksia: elokuva, pelit Sensoritekniikkaa: magneettianturit, optiset laitteet, kamera Kameran kalibrointi: optiikan korjaus, perspektiivi 3D-koordinaattien rekonstruktio monesta kuvasta Kinemaattisten parametrien laskenta II. Liikkeen muokkaus (motion editing) Liikedatan segmentointi Taajuussuodatus Ajan ja liikkeen venytys (warping) Liikkeen sovittaminen uuteen hahmoon tai tilanteeseen III. Muita kameraan perustuvia tekniikoita Ääriviivakuvan tunnistus Monikamerakuvaus, Matrix-efekti Pistejoukkomallinnus 7.11.05 - Tassu Animaatio 2005 - luento 7 2
I. Motion capture Perusajatus: kopioidaan elävä liike animaatioon Historiaa: rotoskopia, päälle piirtäminen Nyt: hahmon liike tulkitaan laskennallisesti havaintopisteistä Sovelluksia: elokuvat, pelit, ergonomian tutkimus 7.11.05 - Tassu Animaatio 2005 - luento 7 3
Sensoritekniikkaa Magneettianturit Mekaaniset anturit (exoskeleton) Optiset laitteet kamerat markkerit LEDejä heijastimia IR-valo 7.11.05 - Tassu Animaatio 2005 - luento 7 4
MoCap videokuvasta Alustus Ympäristön referenssipisteiden tunnistus Kameran kalibrointi Markkereiden kiinnitys näyttelijään Datan keruu ja korjailu Hahmon markkeripisteiden tunnistus Pisteiden korrelointi eri kameroissa/frameissa 3D-pisteiden rekonstruktio Datapisteiden sovitus hahmon rajoite-ehtoihin Kinemaattisten parametrien laskenta Soveltaminen Kinemaattisen datan sovittaminen uuteen hahmoon Liikkeen editointi eri ilmaisuja varten 7.11.05 - Tassu Animaatio 2005 - luento 7 5
Kameran optiikan kalibrointi Optiikan korjaus epälineaarisuuksien havaitsemista kuvan vanutusta (image warping) Mielivaltainen korjaus määriteltävissä paloittain lineaarisena tekstuurimuunnoksena testikuvan avainpisteiden avulla haetaan viivojen risteyskohtien koordinaatit tekstuurikoordinaatistossa (= alkuperäinen kuva) kuvataan nämä pisteet säännölliselle hilalle tuloskuvassa Tyypillinen linssivirhe: radiaalinen epälineaarisuus aiheuttaa tynnyriefektin (ks. kuva yllä) korjattavissa polaarikoordinaatistossa (r,φ) sovitetulla polynomikaavalla, esim. r = 1+c 1 r 2 +c 2 r 4 +c 3 r 6 ja φ = φ (ei yleensä tarvitse korjausta) Huom. välttämättä koko kuvatekstuuria ei tarvitse muuntaa tunnistetaan markkerit vääristyneessä kuvassa ja korjataan niiden paikat 7.11.05 - Tassu Animaatio 2005 - luento 7 6
Kameran sijainnin laskenta Sijainti ja asento lasketaan perspektiivissä havaituista (tunnetuista) ympäristömarkkereista joka markkerille i yhtälö (u,v) i = P R T (x,y,z) i missä P=projektio, R=rotaatio, T=translaatio yhtälöryhmästä ratkaistaan kameran sijainti T ja asento R (tai koko matriisi M=PRT) tilastollisesti esim. pseudoinverssiä käyttäen U 4 n = M 4 4 X 4 n M 4 4 U 4 n X + n 4 uv xyz Muotoiltu markkeri antaa enemmän informaatiota Tarpeen myös videokuvan ja virtuaaliympäristön yhdistämisessä (Augmented Reality) näyttelijät sinitaustaa vasten, upotus virtuaalilavasteisiin animoitujen hahmojen sijoittaminen videokuvaan 7.11.05 - Tassu Animaatio 2005 - luento 7 7
3D-koordinaattien rekonstruktio Ideaalisesti: kahdesta kuvasta tunnistettu sama markkeri lähetetään säde kamerasta markkerin kuvapisteen suuntaan 3D-piste = eri kameroiden säteiden leikkaus Käytännössä: tietyn markkerin tunnistus kuvasta epävarmaa (useita vaihtoehtoja) säteet eivät tarkasti osu yhteen siis: haetaan useista kamerapareista vastinpisteet, lasketaan jokaisesta säteiden lyhintä etäisyyttä vastaavat pisteet, ja nämä klusteroidaan yhdeksi 7.11.05 - Tassu Animaatio 2005 - luento 7 8
Kuvapisteiden korrelointi Periaate kameran A kuvasta tunnistetusta pisteestä lähetetään säde säde projisoidaan kameran B kuvatasolle ns. epipolaariviivaksi etsitään tunnistettuja pisteitä epipolaarilinjalta tarkistetaan ratkaisun yksikäsitteisyys kolmannen kameran kuvasta Käytännössä pyritään ottamaan kaikkien kameroiden havainnot tasapuolisesti huomioon iteratiivinen rekonstruktio virheellisiä korrelaatioita ei voida täysin välttää cam A cam B? 7.11.05 - Tassu Animaatio 2005 - luento 7 9
Muita rekonstruktio-ongelmia Markkerit sekottuvat toisiinsa Usein markkeri joutuu näkymättömiin Vääriä tunnistuksia (esim. häiriöitä valaistuksessa) Rekonstruktiolaskennan epätarkkuus kohinaa liikesignaalissa Ratkaisukeinona kinematiikkaa ja dynamiikkaa koskevien rajoitusten käyttö kiinteässä kappaleessa etäisyyssuhteet vakioita kinemaattiset sidokset rajaavat vapausasteita kohteen nopeus/kiihtyvyys tiedetään rajallisiksi liikkeen jatkuvuus ennustava tilastollinen suodatus, esim. Kalman filter http://www.innovatia.com/software/papers/kalman.htm 7.11.05 - Tassu Animaatio 2005 - luento 7 10
Kinemaattisten parametrien laskenta Usein markkerit eivät sellaisinaan riitä sijainti vaatteissa, ei nivelissä epätarkkuudet mittauksessa animoitava hahmo eri kokoinen Sovittaminen anatomiseen malliin approksimoidaan nivelen paikka useammasta markkerista otetaan mallin tunnetut rajoitteet avuksi esim. jäsenten pituudet, nivelten ääriasennot Käänteiskinematiikkaa sovitetaan kiinnekohdat, esim. jalat maahan Anatominen malli auttaa myös näkyvistä kadonneiden markkereiden löytämisessä 7.11.05 - Tassu Animaatio 2005 - luento 7 11
Lopuksi Tuloksena joukko markkereiden ja/tai kinemaattisten parametrien arvoja aikasarjana Ei-reaaliaikaisessa animaatiotuotannossa usein jälkikäsittelyvaihe, jossa saatua dataa korjaillaan käsityönä Reaaliaika-animaatiossa sovellus voi auttaa liikkeentunnistusohjelmaa ratkaisemaan moniselitteisiä tilanteita 7.11.05 - Tassu Animaatio 2005 - luento 7 12
II. Motion editing Käsitellään liikedataa signaalina Ei pelkästään kaapatun liikkeen käsittelyä; lähteenä voi olla myös mallinnettu/animoitu liike (esim. Endorphin) Muistuttaa äänen editointia Kukin liikeparametri omalla kanavallaan 7.11.05 - Tassu Animaatio 2005 - luento 7 13
Menetelmiä suodatus eri taajuuskaistoilla (vrt. audio equalizing) liikesaumojen sulauttaminen (vrt. cross-fading) synkronointi ajallisiin tapahtumiin (warping) interpolointi taajuusavaruudessa tiettyjen liikkeen osien korostaminen liikekäyrien käsittely splineinä (keyframing) rajoitusehtojen täyttäminen (IK, space-time constraints) 7.11.05 - Tassu Animaatio 2005 - luento 7 14
Taajuussuodatus Käsitellään liikesignaalia taajuuskaistoittain (vrt. equalizer) Alipäästö (matalat taajuudet) tekee liikkeestä laiskan Ylipäästö (korkeat) tekee hermostuneen vaikutelman Keskikaistalla saadaan liioiteltuja rauhallisia liikkeitä Vastaa multiresoluutiomallintamista [Bruderlin95] 7.11.05 - Tassu Animaatio 2005 - luento 7 15
Blending Kahden tai useamman liikedatan summaus painokertoimet ja taajuussuodatus kullekin erikseen Interpolaatio (cross-fading) painokertoimia muutetaan, summa pysyy (=1.0) Eri painokertoimet ja suodatus eri osille kehoa voidaan kombinoida eri liikkeistä kokonaisuuksia esim. vasen+oikea käsi 7.11.05 - Tassu Animaatio 2005 - luento 7 16
Synkronointi Yhdistettävien liikesarjojen oltava samassa vaiheessa eri tallennuskerroilla liikkeen tempo voi olla erilainen (esim. laahustava ja reipas kävely) epälineaarinen paikallinen venytys ja tiivistys ajassa (=warp) sovittaa signaalit samaan tahtiin Periodisille liikkeille (esim. kävely) toimii Fourier-muunnos [Unuma95] skaalataan perustaajuus samaksi (=rescaling) interpoloidaan signaaleja taajuustasossa skaalataan takaisin ja muunnetaan aika-avaruuteen 7.11.05 - Tassu Animaatio 2005 - luento 7 17
Muita menetelmiä Dataan voidaan lisätä uusia piirteitä muotoilu epälineaarisella funktiolla (=waveshaping) displacement (bump) mapping esim. lisätään vapinaa käsiin Korostetaan yksittäisiä liikkeitä esim. näkyvä käden heilautus normaalin kävelyn aikana 7.11.05 - Tassu Animaatio 2005 - luento 7 18
Retargeting Liikkeen sovittaminen uuteen hahmoon tai tilanteeseen ks. Gleicherin artikkeli, Siggraph 98 Figure 1: Differently sized characters pick up an object. Their positions are determined by the position of the object. The left shows the original actress. The center shows a figure 60% as large. The right shows a figure with extremely short legs and arms and an extremely long body. The yellow cones represent footplant positions. www.cs.wisc.edu/~gleicher/ -> -> Videos 7.11.05 - Tassu Animaatio 2005 - luento 7 19
III. Special techniques Hahmon löytäminen videokuvasta ääriviivat, tekstuurit, kasvomarkkerit luurangon sovittaminen kuvaan Monikamerakuvaus elävästä hahmosta saadaan monta perspektiiviä yhtä aikaa katselu virtuaalikameralla Point set modeling 3D skannerit renderointi 7.11.05 - Tassu Animaatio 2005 - luento 7 20
Ääriviivakuvan tunnistus Kuvankäsittely poistetaan tausta (usein bluescreen) tunnistetaan ääriviivat Sovittaminen malliin = hahmontunnistusta ääriviivan piirteiden tunnistus, esim. sormet muodon (pikseleiden) jakauman momentit tekstuurin liikeen tunnistus (optical flow) 7.11.05 - Tassu Animaatio 2005 - luento 7 21
Sovelluksia M.Krueger: Videoplace Vivid group: Mandala P.Hämäläinen et al: Kukakumma muumaassa www.cs.uta.fi/kukakumma ja Kick-ass kung-fu www.kickasskungfu.net 7.11.05 - Tassu Animaatio 2005 - luento 7 22
Monikamerakuvaus Matrix -efekti: näyttelijä pysähtyy, mutta kamera jatkaa liikettään Digital Air Movia digital camera array on location 7.11.05 - Tassu Animaatio 2005 - luento 7 23
Pistejoukkomallinnus (point cloud modeling) Geometrisen kohteen esittäminen joukkona pinnalta mitattuja 3D-pisteitä saadaan laser-skannerilla tai usealla kameralla esimerkkejä: www.cyberware.com, ja Digital Michelangelo (Stanford) Käytetään usein mocap:in yhteydessä 3D-mallin lähtökohtana Kolmioinnilla muunnettavissa polygonipinnaksi Voidaan myös renderoida sellaisenaan joka pisteen paikalle väripiste joukolle pisteitä yhteinen tekstuuriläiskä (splat rendering) 7.11.05 - Tassu Animaatio 2005 - luento 7 24
7.11.05 - Tassu Animaatio 2005 - luento 7 25
References Menache: Understanding Motion Capture for Computer Animation and Video Games. Morgan Kaufmann 1999 Artikkeleita Bruderlin, Williams: Motion signal processing. Siggraph 95 http://portal.acm.org/citation.cfm?id=218421 Unuma et al: Fourier principles for emotion-based human figure animation. Siggraph 1995 http://portal.acm.org/citation.cfm?id=218419 Witkin, Popovic: Motion warping. Siggraph 95 http://portal.acm.org/citation.cfm?id=218422 Michael Gleicher: Retargeting motion to new characters. Siggraph 98 State et al: Superior augmented reality registration by integrating landmark tracking and magnetic tracking. Siggraph 96 Lisää informaatiota, linkkejä http://www.c3d.org/ http://www.metamotion.com/ ja monia muita firmoja. 7.11.05 - Tassu Animaatio 2005 - luento 7 26
Videot (myöhemmin) Sovelluksia filmeissä Star Wars: Episode #1 (virtuaalinäyttelijä JarJar) Matrix (ajanpysähtymisefekti) Simpsons (parodia mocapista) Tekniikkaa Moxy, Acclaim (Siggraph Video Review #101) Siggraph 97 näyttely (omaa materiaalia) Siggraph 95 proceedings CD-ROM (examples) Gleicher (Siggraph 98 video) AR tracking (Siggraph 96 video, #25) 7.11.05 - Tassu Animaatio 2005 - luento 7 27