LIIKKEENKAAPPAUS VIDEOKUVILTA
Päivi Vinni
Teknillinen korkeakoulu - paivi.vinni@hut.fi
AVAINSANAT: Motion Capture, liikkeenkaappaus, tietokoneanimaatio, vartalomalli, videokuva, rajoiteyhtälöt.
TIIVISTELMÄ:
Liikkeenkaappaamisella (Motion Capture) tallennetaan ihmisliikettä digitaaliseen muotoon käytettäväksi useilla sovellusalueilla, joista tunnetuin on viihdeteollisuus. Menetelmiä on useita. Tallennus voi perustua magneettikentän havainnointiin, vartaloon kiinnitettyjen signaalien kuvaamiseen tai videokuvan analysointiin. Videomenetelmä ei rajoita kohteen liikettä eikä vaadi monimutkaista laitteistoa, joten sitä pidetään halpana ja helppona keinona liikkeen tallentamiseen.
1. JOHDANTO
Liikkeenkaappaamisella (Motion Capture) tarkoitetaan menetelmää, jolla elävän olennon, yleensä ihmisen, liike voidaan tallentaa digitaalisesti analysoitavaan ja toistettavaan muotoon. [Gleicher, M. 1999]. Tunnetuin sovellusala lienee ihmisen liikkeen tallentaminen tietokoneanimaation pohjaksi viihdeteollisuudessa eli tietokonepeleissä ja elokuvissa, mutta liikkeenkaappausta hyödynnetään myös urheilusuoritusten analysoinnissa, lääketieteellisissä, ergonomisissa ja antropometrisissä tutkimuksissa, eleisiin perustuvissa käyttöliittymissä sekä valvontajärjestelmissä.
Liikkeenkaappaaminen on hankala tehtävä. Ihminen on monimutkainen kolmiulotteinen kappale, joka muuttaa muotoaan liikkuessaan, joten vartalon osien joutuminen katveeseen ja osien välisen kontrastin puute hankaloittavat tarkkojen havaintojen tekemistä. Toisaalta liike olisi pyrittävä tallentamaan pienimpiäkin yksityiskohtia myöten, mikä asettaa tarkkuudelle suuret vaatimukset.
Liikkeenkaappaus jaetaan yleensä kahteen alalajiin, kasvojen liikkeiden ja vartalon liikkeiden kaappaamiseen, koska ne ovat luonteeltaan hyvin erilaisia tehtäviä ja niitä käsitellään hyvin eri tavoin. Kasvojen liikkeenkaappaus perustuu lähinnä kasvolihasten muodonmuutoksiin kun taas vartalon liikkeen kaappaamista varten lihasten muodonmuutoksia ei ole välttämätöntä ottaa huomioon paitsi hyvin tarkkaan tallennukseen pyrittäessä. [Fua, P., Herda, L., Plänkers, R. ja Boulic R. 2000] Vartaloa mallinnetaan yleensä jonkinlaisella nivelikkäällä mallilla "tikku-ukolla" tai luurankomallilla, jonka ympärille muodostetaan pehmeitä kudoksia kuvaava kolmiulotteinen vartalomalli.
Kohdassa 2 luodaan yleissilmäys erityyppisiin menetelmiin, jolla liikettä voidaan tallentaa, kohdassa 3 paneudutaan videopohjaisen liikkeenkaappauksen ominaisuuksiin ja kohdassa 4 tutustutaan muutamiin videopohjaisiin menetelmiin.
2. LIIKEENKAAPPAUSMENETELMIÄ
Sovellukset vaativat, että liikkeenkaappausmenetelmä estimoi kohteen 3D-muotoa niin tarkasti, että vaihtelevat ja hienovaraisetkin liikkeet tallentuvat eikä menetelmä saa määrätä, millaista liikettä voidaan kaapata. Yleensähän tavoitteena on mallintaa juuri kyseisen henkilön yksilöllinen tapa liikkua. Menetelmä ei saa myöskään haitata tai häiritä kohteen liikkumista ja sen tulisi olla helppo käyttää ja hinnaltaan edullinen. [Bregler, M., 2001]
Magneettimenetelmässä näyttelijä liikkuu magneettikentässä. Häneen kiinnitetään sensoreita, jotka kykenevät havaitsemaan sijaintinsa ja asentonsa kentän suhteen. Näiden tietojen avulla luodaan kolmiulotteinen malli vartalon sijainnista ja asennosta kentässä kullakin hetkellä. Aiemmin ongelmana olivat sensorien häiriöherkkyys ja se, että niistä roikkuvat johdot häiritsivät näyttelijää. Nykyään sensorit ovat langattomia ja järjestelmät vakaampia.
Optisessa menetelmässä näyttelijään kiinnitetään näkyvöitettyjä signaaleja tai hän käyttää erikoispukua, ja häntä kuvataan yhtäaikaisesti useilla kameroilla. Näyttelijän liike lasketaan seuraamalla signaalien sijaintia kuvilla. Ongelma on, että signaalit jäävät helposti katveeseen eivätkä näy kaikkiin suuntiin, joten kameroita voidaan tarvita paljonkin, jopa 24 kappaletta. Vaikka useimmat laskentajärjestelmät perustuvat liikkeen jatkuvuuteen, järjestelmällä voi olla vaikeuksia erottaa signaaleja toisistaan ratkaistessaan, mitkä kuvilla näkyvät signaalit vastaavat toisiaan.
Tämä menetelmä on viihdeteollisuuden suosiossa, koska se on tällä hetkellä käyttökelpoisin ja toimivin järjestelmä. Sitä käyttävät mm. Industrial Light and Magic (mm. Star Wars-elokuvat, Muumio-elokuvat ja Pearl Harbour) [ILMCP, 2002] ja Giant Studios (mm. Taru Sormusten Herrasta) [Giant Studios, 2002]
Videokuvaan perustuva menetelmä käyttää materiaalina yhdellä tai useammilla kameroilla kuvattua videokuvaa. Mitään erikoispukuja tai vartaloon kiinnitettäviä välineitä ei tarvita. Koska syötteenä käytetään tavallista videokuvaa, toivotaan menetelmää voitavan soveltaa myös alunperin muuta tarkoitusta varten tuotettuun kuvamateriaaliin ja sitä kautta hankalien liikkeiden tai jopa jo kuolleiden kohteiden liikkeen kaappaamiseen.
Tämä kirjoitus keskittyy vartalon liikkeen kaappaamiseen videomenetelmällä.
3. LIIKKEEN KAAPPAAMINEN VIDEOKUVALTA
Videomenetelmän etu on, että menetelmä ei vaadi erikoispukua tai sensoreiden tai signaalien kiinnittämistä vartaloon tai rajatulla alueella pysymistä, joten näyttelijä voi liikkua vapaasti ja liikkeen lisäksi saadaan tallennetuksi myös vartalon muodot. Koska periaatteessa kuvaamiseen tarvitaan vain tavallinen videokamera, menetelmä ei vaadi kalliita ja hankalia laitteita, joten sitä pidetään helppona ja halpana ratkaisuna.
Videomenetelmällä voisi olla mahdollista tallentaa myös hankalasti tavoitettavien tai jo kuolleiden henkilöiden liikettä käyttämällä muuhun tarkoitukseen kuvatulta materiaalia, esim. elokuva- tai uutiskuvaa. Menetelmää on mm. onnistuneesti sovellettu Eadweard Muybridgen vuonna 1884 ottamiin kuvasarjoihin. [Bregler, C. ja Malik, J., 1997]
Edullisuuden lisäksi videokuva tuo mukanaan myös hankaluuksia. Kameroiden synkronoiminen on vaikeaa mutta vain yhden kameran käyttäminen aiheuttaa hankaluuksia peittymisten käsittelyssä. Videon ajallinen ja spatiaalinen erotuskyky ovat rajalliset ja kameran tarkkoja parametrejä voi olla vaikea hankkia. Ilman näkyvöittämistä vartalon osien rajakohtien erottaminen kuvilta on hyvin vaikeaa.
Monet menetelmät käyttävät apuna luurankomallia ("Tikku-ukko"), joka muodostuu puurakenteen mukaisesti yhdistetyistä segmenteistä ja niiden välisistä kulmista (=nivelet), joista sanotaan vapausasteiksi. Hierarkisen esitystavan ansiosta kulma voidaan ilmaista suhteessa edelliseen niveleen. Koko mallin asento saadaan kertomalla raajan koordinaatit muunnosmatriisilla, joka voidaan rekursiivisesti johtaa rakenteessa ylempänä olevista muunnosmatriiseista. Useampaan suuntaan taipuvien nivelten kuten esim. olkapään kulmilla on kullakin oma muunnosmatriisi.
Luurankomallin heikkouksia on se, ettei ihmisen nivelten tarkkoja paikkoja pystytä määrittämään lihan sisältä, ja se, ettei kuvilta ole aina helppo erottaa eri vartalon osien välisiä rajoja, esim. missä lantio loppuu ja reisi alkaa. Myös yleistäminen on ongelma joissain sovelluksissa, koska hyväkään luurankomalli ei pysty toistamaan liikkeen kaikkia pieniä vivahteita.
Luurankomallin ympärillä on pehmeitä kudoksia simuloiva vartalomalli, joka voi olla joko polynomipinta tai kolmiulotteisista kappaleista (esim. ellipsoideista tai sylintereistä) koottu tilavuusmalli. Vartalomallin tarkkuus on verrannollinen parametrien määrään. Suuri määrä parametrejä taas hidastaa ja vaikeuttaa sovitusprosessia.
Useimpien menetelmien perusideana, että käyttäjä osoittaa aloituskuvilta tiettyjä pisteitä, joiden vastinpisteitä automaatti sitten jäljittää seuraavilta kuvilta. Näihin pisteisiin yritetään sovittaa ihmisen malli ratkaisemalla millaisiin asentoihin mallin kulmat on väännettävä, jotta se parhaiten sopisi pistejoukkoon. Yleensä edellisen kuvan asentoa käytetään seuraavan kuvan asennon ennakoimiseen, jotta etsintäavaruutta voitaisiin jotenkin pienentää.
4. VIDEOKUVAAN PERUSTUVIA KAAPPAUSMENETELMIÄ
4.1 Ääriviivamenetelmät
Nämä menetelmät käyttävät sekä mallin luomiseen että liikkeen kaappaamiseen kuvilta irrotettuja hahmojen ääriviivoja. Luurankomallin ympärille kootaan vartalomalli sopivan muotoisista kappaleista. Kuvaamiseen käytetään useita toisiinsa nähden suorakulmaisesti sijoitettuja kameroita.
Algoritmi muodostuu neljästä osasta: seuraavan asennon ennakointi, synteesi, kuvan analysointi ja asennon määrittäminen. Eli edellisen asennon perusteella yritetään arvata, mihin suuntaan hahmo liikkuu, lasketaan mallin odotettavissa oleva asento ja verrataan sitä kuvahavaintoihin. Havainnon ja oletuksen välisen eron avulla lasketaan lopuksi uusi asento.
Kuvilta irrotetaan kohteen ääriviiva, ja algoritmi etsii vastaavuuksia ääriviivan pisteiden ja vartalomallin pisteiden välillä. Näiden vastaavuuksien avulla yritetään määrittää mallin siirto- ja kiertoparametrit. Seuraavan asennon ennakoimiseen Kakadiaris ja Metaxas käyttävät Kalman-suodatinta.
[Kakadiaris, I. ja Metaxas, D. 1996] [Gavrila, D. M. ja Davis, L. S., 1996]
4.2. Animaatiomallin sovittaminen videokuvaan
Tässä menetelmässä käytetty malli on koottu luurankomallista, jonka päälle on koottu ellipsoideja simuloimaan lihaksia ja päällimmäisenä on ihoa esittävä polynomipinta, jotta mallista saadaan mahdollisimman luonnollisen näköinen.
Näyttelijää kuvataan kahdella tai kolmella synkronoidulla kameralla. Kuvamittaus (jonka suorittamiseen on useita eri menetelmiä) tuottaa kolmiulotteisen pistepilven, lisäksi voidaan irrottaa näyttelijän ääriviiva muutamilta avainkuvilta tai automaattisesti koko kuvajaksolta. Tämän jälkeen animaatiomallia aletaan sovittaa pistepilveen. Aluksi käyttäjä osoittaa muutamien tärkeimpien pisteiden (olkanivelet, kyynärpäät, kämmenet, lonkat, polvet ja jalkaterät) likimääräisen sijainnin kuvaparilla, jolloin kolmiointi tuottaa näiden pisteiden 3D-koordinaatit. Näin luurankomallille saadaan likimääräinen asento ja mittakaava. Näitä tietoja lähtöaineistona käyttäen algoritmi yrittää tasoittaa mallin nivelten kulmat pistepilveen kuva kerrallaan pienimmän neliösumman menetelmällä. Se! uraavaa asentoa ennakoidaan olettamalla, että liike jatkuu samansuuntaisena samalla nopeudella. Algoritmi on semi-automaattinen, eli harhautuessaan se turvautuu käyttäjään. Lopuksi malli optimoidaan koko jakson yli yrittäen sovittaa mallin muoto vastaamaan ihmishahmon muotoa mahdollisimman hyvin.
[D'Apuzzo, N., Plänkers, R., Fua, P., Gruen, A. ja Thalmann, D. 1999]
[Fua, P., Herda, L., Plänkers, R. ja Boulic, R., 2000]
4.3. Alueen irrottamiseen perustuva menetelmä
Breglerin ja Malikin menetelmä käyttää vain yhtä kameraa, koska he katsoivat useampien kameroiden keskinäisen synkronoinnin aiheuttavan hankaluuksia. Menetelmä on kuitenkin sovellettavissa useamman kameran systeemille.
Kuten muissakin menetelmissä, käyttäjän on aluksi osoitettava nivelten paikat ensimmäiseltä kuvalta. Algoritmi etsii kuvilta intensiteettivaihteluihin perustuen vastinalueita ja yrittää sovittaa niiden avulla kuviin vartalomallia. Apuna käytetään myös rajoitteita, esim. vartalon vastakkaisilla puolilla olevien jäsenten pituuksien täytyy pysyä symmetrisinä. Menetelmä selviää myös raajojen peittymisten käsittelystä.
Tätä menetelmää sovellettiin Eadweard Muybridgen vuonna 1884 ottamiin kuvasarjoihin. Muybridge kuvasi malliensa kävelyä kolmella kamerasarjalla samanaikaisesti eri suunnista. Kuvanottoväli oli likimain kaksi kertaa suurempi kuin nykyisillä videokameroilla, mikä vaikeutti liikkeenkaappausta, mutta yli sata vuotta sitten eläneiden ihmisten liike saatiin silti kaapatuksi.
[Bregler, C. ja Malik, J., 1997]
4.4 Rajoiteyhtälömenetelmä
Rajoiteyhtälöihin perustuva ratkaisu olettaa, että huonoa dataa saadaan joka tapauksessa. Datan käsittelyssä käytetään hyväksi liikkeen rajoituksia kuvaavaa etukäteistietoa, josta saadaan rajoiteyhtälöitä.
Hahmorajoitteet (Character constrains) tarjoavat ihmisruumiin rajoituksiin perustuvaa tietoa, esimerkiksi ettei nivelten välimatka voi muuttua, etteivät raajat voi leikata toisiaan ja että nivelet voivat taipua vain tietyn kulman verran.
Havaintorajoitteet (Observation constrains) määräävät, että määritetyn asennon tulee olla yhtenevä havaintojen kanssa.
Maailmarajoitteet (World constrains) asettavat geometrisia rajoituksia yleisen ympäristötiedon nojalla, esimerkiksi henkilön jalat eivät voi mennä lattian läpi. Nämä ovat kuitenkin hankalia, koska järjestelmä perustuu yleensä kamerakoordinaatistoon, jossa esim. lattian sijaintia ei välttämättä tunneta.
Asentorajoitteet (Pose constrains) määräävät henkilön konfiguraation tietyllä hetkellä, esimerkiksi käyttäjän ensimmäiseltä kuvalta osoittama alkuasento.
Dynaamiset rajoitteet (Dynamic constrains) rajoittavat kuvien välisiä eroja. Jatkuvuus ei yleensä ole hyvä rajoite, koska ihmisen liikkeet ovat usein äkkinäisiä ja vaihtelevia, ja juuri pienet, nopeat ja poikkeavat liikkeet ovat yleensä kiinnostavimpia.
Rajoitteita ei voi yleensä määritellä tarkasti, joten niille annetaan mieluummin vaihteluväli. Menetelmän kehittäjät ovat myös sitä mieltä, että ennalta määrättyjen mallien (esim. Bayesin päättelymalli tai todennäköisyysmallit) olettaminen on pahasta, koska niillä on taipumus vääristää ratkaisua omaan suuntaansa, mikä ei välttämättä vastaa todellisuutta. Varsinkin mallit, jotka hakevat todennäköisintä vaihtoehtoa, ovat hankalia, koska yleensä kiinnostavat liikkeet ovat mallin kannalta epätodennäköisiä. Myöskään Gaussin kohinateoriaa ei käytetä, koska kuvanoton epälineaarisuus tuottaa jakaumia, jotka ovat selvästi ei-Gaussisia.
Rajoiteyhtälöratkaisu voidaan etsiä joko yhdelle kuvalle kerrallaan tai kaikille kuville yhtäaikaa. Ratkaisua varten tarvitaan käyttäjän määrittelemä alkuasento yhdeltä tai useammalta kuvalta. Etukäteistietoa käyttämällä pyritään ennustamaan, mikä seuraava asento voisi olla. Se projisioidaan sallittujen asentojen joukkoon laskemalla alkuperäistä arvausta lähinnä oleva asento, joka toteuttaa rajoiteyhtälöt. Käyttäjä ohjaa prosessia tarvittaessa antamalla vihjeitä oikeasta suunnasta.
[Gleicher, M. ja Ferrier, N., 2001]
5. JOHTOPÄÄTÖKSET
Huolimatta monista eduista videopohjainen liikkeenkaappaus on haastava mutta vielä kehitysasteella oleva menetelmä. Tavoitteena on pystyä mallintamaan ihmisen liike ja vartalon muodot nopeasti, helposti ja realistisesti. Menetelmät ovat kuitenkin matemaattisesti erittäin vaativia, peittymiset, ihmisruumiin monimutkaisuus ja kontrastien puute sekä tietokonenäön heikkoudet haittaavat havaitsemista. Tietokone ei esimerkiksi välttämättä ymmärrä vaatteiden poimuja eikä hahmontunnistus saa otetta paljaasta, lähes tekstuurittomasta ihosta. Datan heikkolaatuisuus vaikeuttaa tehtävää samalla kun algoritmien vaatimukset täyttävää dataa on vaikea tuottaa ja sovellukset vaativat sekä liikkeen hienovaraisuuksien että vartalon muotojen tarkkaa huomioonottamista.
Näistä syistä vakiintuneempi ja helpompi optinen menetelmä näyttää ainakin viihdeteollisuudessa ajaneen vielä kehitysasteella olevan videomenetelmän ohi.
LÄHTEET
Bregler, C. ja Malik, J., 1997: Video Motion Capture. www.berkeley.edu/~bregler/digmuy.html on lähes sama kuin Bregler, C., Malik, J. 1998: Tracking People with Twists and Exponential Maps. Teoksessa: IEEE Proceedings of Computer Vision and Pattern Recognition Conference.
D'Apuzzo, N., Plänkers, R., Fua, P., Gruen, A. ja Thalmann, D. 1999: Modeling Human Bodies from Video Sequences. Teoksessa El-Hakim, S. F. ja Gruen, A. (toim.) Videometrics VI, Proc. of SPIE, vol. 3461, San Jose, USA, s. 36-47
www.photogrammetry.ethz.ch/research/publications.html
Fua, P., Herda, L., Plänkers, R. ja Boulic R. 2000: Human Shape and Motion Recovery Using Animation Models. Teoksessa International Archives of Photogrammetry and Remote Sensing Vol XXXIII Part B5.
Gavrila, D. M. ja Davis, L. S., 1996: 3D model-based tracking of humans in action: a multi-view approach. Teoksessa IEEE Proceedings of Computer Vision and Pattern Recognition Conference.
Giant Studios:
www.giantstudios.com/index_flash.html
Gleicher, M.1999: Animation From Observation: Motion Capture and Motion Editing. Ilmestynyt Computer Graphics 33(4) November 1999 Special Issue on Applications of Computer Vision to Computer Graphics
Gleicher M. ja Ferrier, J., 2001: Evaluating Video-Based Motion Capture. SIGGRAPH '01 Course notes.
Kakadiaris, I. ja Metaxas, D. 1996: Model-Based Estimation of 3D Human Motion with Occlusion Based on Active Multi-Viewpoint Selection. Teoksessa: IEEE Proceedings of Computer Vision and Pattern Recognition Conference.
Industrial Light and Magic:
www.ilmcp.com/resources/mocap.html
Siggraph:
www.siggraph.org/s2001/conference/courses/crs51.html