Poklapanje pokreta

Из Википедије, слободне енциклопедије
Иди на навигацију Иди на претрагу

Poklapanje pokreta kamere (eng. Match moving) je filmska tehnika koja omogućava ubacivanje računarske grafike u igrani film sa pravilnom pozicijom, veličinom, orijentacijom, i kretanjem u odnosu na fotografisane objekte u snimku. Termin se koristi da opiše nekoliko različitih metoda dobijanja informacija pokreta kamere iz pokretnog filma. Ova tehnika se još naziva praćenje pokreta (eng. motion tracking). Poklapanje pokreta kamere je takođe povezan sa rotoskopijom i fotogrametrijom.

Poklapanje pokreta kamere se često pomeša sa snimanjem pokreta (eng. motion capture), koji beleži pokrete objekata, na primer ljudskih glumaca, a ne kamere. Obično, snimanje pokreta zahteva specijalne kamere, senzore, i kontrolisano okruženje (iako nedavna dostignuća kao što je Kinect kamera nastoje da promene te zahteve). Poklapanje pokreta kamere se takođe razlikuje od kontrole pokretne slike (eng. motion control photography), koja koristi mehaničke hardvere da izvrši više identičnih pokreta kamere. Poklapanje pokreta kamere, je tipično softverski zasnovana tehnologija koja se primenjuje kada se snimak snimi u nekontrolisanom okruženju sa običnom kamerom.

Poklapanje pokreta kamere je prvi put uvršten u vizuelne efekte od strane Toma Brigham i J.P. Lewis u 1985 godini koji je implementiran preko FTF tracker -a u NYIT grafičkoj laboratoriji, za komercijalnu televiziju koja je emitovala novčić koji se kreće u obliku luka kao izlazeće sunce.[1]

Ova tehnika se primarno koristi za praćenje pokreta kamere kroz snimak, tako da se identičan pokret stvarne kamere može reprodukovati pomoću virtuelne kamere u nekom programu za 3D animaciju. Kada se novi animirani elementi kompozituju nazad u igrani film, oni će se pojaviti savršeno usklađeni, sa pokretom originalne kamere i neće postojati razlike.

Pošto je tehnika uglavnom zasnovana na softveru, ona je postala sve dostupnija i sada je priznati program za vizuelne efekte koji se koristi čak i u televizijskim emisijama koje idu uživo u vidu ubacivanja efekata kao što je virtuelna donja žuta linija u američkom fudbalu.

Principi[уреди]

Proces praćenja pokreta kamere kroz snimak može se podeliti u dva koraka.

Praćenje[уреди]

Prvi korak je identifikacija i praćenje određenih tačaka na slici, preko kojih se algoritam za praćenje može pozicionirati i pratiti određenu tačku kroz više frejmova (SynthEyes te tačke naziva prikaz na ekranu radara eng."blips"). Tačke se odabiraju iz razloga zato što su svetlije ili tamnije mrlje, ivice ili uglovi, a odabir tačaka zavisi od algoritma programa za praćenje. Svaka izabrana tačka predstavlja određenu tačku na površini pravog objekta. Kada se praćenje tačaka završi, one postaju serija dvo-dimenzionalnih koordinata koje predstavljaju poziciju tačaka kroz seriju frejmova. To se naziva praćenje (eng. track). Kada se praćenje izvrši, može se koristiti za dvo-dimenzionalno 2D praćenje kretanja, ili se može iskoristiti za izračunavanje kretanja u tro-dimenzionalnom 3D prostoru.

Kalibracija[уреди]

Drugi korak obuhvata proces izračunavanja kretanja kamere u 3D prostoru. Ovaj proces pokušava da izvede kretanje kamere rešavajući obrnutu-projekciju 2D putanja kako bi dobili poziciju kamere. Ovaj proces se naziva kalibracija.

Da dodatno objasnimo: Kada je tačka na površini tro-dimenzionalnog objekta zabeležena, njena pozicija u 2D frejmu može biti izračunata pomoću funkcije 3D projekcije. Može se smatrati da je kamera apstrakcija koja sadrži sve parametre potrebne za model kamere u realnom ili virtuelnom svetu. Dakle, kamera je vektor koji sadrži poziciju kamere, njenu orijentaciju, žižnu daljinu, i ostale moguće parametre koji definišu kako kamera fokusira svetlost na filmskom planu. Nije bitno kako je taj vektor konstruisan, sve dok postoji odgovarajuća proekcija funkcije P.

Projekcija funkcije P uzima ulazni vektor kamere (označen sa kamera) i drugi vektor pozicije 3D tačke u prostoru (označen sa xyz) i vraća 2D tačku koja je projektovana na plan ispred kamere (označen sa XY). To možemo izraziti ovako:

XY = P(kamera, xyz)
Ilustracija projekcije tačaka. Tokom renderovanja 3d strukture, crvene tačke predstavljaju tačke koje su izabrane od strane procesa praćenja. Kamera u okviru frejmova i i j projektuje pogled na ravan u zavisnosti od parametara kamere. U ovom slučaju praćenje tačke u 2D prostoru odgovaraju stvarnim tačkama u 3d prostoru. Iako je ova ilustracija računarski generisana, poklapanje pokreta kamere se vrši na stvarnim objektima.


Projekcija funkcije transformiše 3D tačku i uklanja komponentu dubine. Bez poznavanja dubine komponente obrnuta-projekcija funkcije može samo da vrati skup mogućih 3d tačaka koje čine liniju koja proizilazi od čvorišne tačke nodal point objektiva kamere i prolazi kroz projektovanu 2D tačku. Možemo izraziti obrnutu-projekciju kao:

xyz ∈ P'(kamera, XY)

ili

{xyz :P(kamera, xyz) = XY}

Recimo da smo u situaciji da se karakteristike koje pratimo nalaze na površini krutog predmeta kao što je zgrada. Pošto znamo da će prava tačka xyz ostati na istom mestu u realnom prostoru od jednog frejma sa slike do drugog možemo ostaviti tačku konstantnu čak i kada ne znamo gde je. Prema tome:

xyzi = xyzj

gde se indeksi i i j odnose na proizvoljne frejmove u snimku koji analiziramo. Pošto je ovo uvek tačno onda znamo da je:

P'(kamerai, XYi) ∩ P'(kameraj, XYj) ≠ {}

Zato što je vrednost XYi utvrđena za sve frejmove da bi se pratili preko programa za praćenje, to možemo rešiti funkcijom obrnute-projekcije između bilo koja dva frejma sve dok je P'(kamerai, XYi) ∩ P'(kameraj, XYj) mali skup. Skup mogućih vektora kamere koji rešavaju jednačinu i i j (denoted Cij).

Cij = {(kamerai,kameraj):P'(kamerai, XYi) ∩ P'(kameraj, XYj) ≠ {})

Drugim rečima, zamislite crnu tačku koja pluta u beloj praznini i kameru. Sa bilo koje pozicije u prostoru gde postavimo kameru postoji niz odgovarajućih parametara (orijentacija, žižna daljina, itd.) koji će oslikavati tu crnu tačku na potpuno isti način. Pošto C ima beskonačan broj članova, jedna tačka nikad nije dovoljna da se utvrdi stvarni položaj kamere.

Ako počnemo dodavati tačke za praćenje, možemo suziti moguće položaje kamere. Na primer, ako imamo skup tačaka {xyzi,0,...,xyzi,n} i {xyzj,0,...,xyzj,n} gde se i i j odnose na frejmove, a n je indeks jedne od mnogih tačaka za praćenje koje pratimo. Možemo izvesti niz parova vektora kamere {Ci,j,0,...,Ci,j,n}.

U tom slučaju više tačaka koje pratimo omogućava nam da suzimo moguće parametare kamere. Skup mogućih parametara kamere koji se uklapaju, F, je presek svih skupova:

F = Ci,j,0 ∩ ... ∩ Ci,j,n

U suštini, izračunavanje je proces sužavanja mogućih rešenja kretanja kamere, sve dok ne dobjemo jedan koji odgovara kompoziciji koju smo želeli da stvorimo.

Projekcija Oblaka-tački[уреди]

Kada je pozicija kamere određena za svaki frejm onda je moguće proceniti poziciju svakog oblika u realnom prostoru obrnutom-projekcijom. Dobijeni skup tačaka se često naziva oblak tački eng.point cloud zbog svoje pojave kao maglina. Pošto point cloud često otkriva neke od oblika 3d scene, oni se mogu koristiti kao referenca za postavljanje sintetičkih objekata ili kao rekonstrukcijski program, za stvaranje 3d verzije aktuelne scene.

Oblast tla - određivanje[уреди]

Kamera i point cloud moraju biti orijentisani u nekoj vrsti prostora. Zbog toga, kada se kalibracija izvrši, neophodno je definisati oblast tla. Normalno, ovo je jedinica oblasti koja određuje obim, orijentaciju u prostoru i početak projektovanog prostora. Neki programi ovo rade automatski, mada u većini slučajeva to definiše korisnik. Pošto prebacivanje oblasti tla radi jednostavnu transformaciju svih tačaka, aktuelna pozicija oblasti je zaista pitanje pogodnosti.

Rekonstrukcija[уреди]

Rekonstrukcija je interaktivni proces ponovnog stvaranja fotografisanog objekta koristeći podatke praćenja. Ova tehnika je povezana sa fotogrametrijom. Konkretno u ovom slučaju korišćenje softvera za poklapanje pokreta kamere je da bi rekonstruisali scenu sa proizvoljnog snimka.

Program za rekonstrukciju može napraviti tro-dimenzionalne objekte koji imitiraju stvarne predmete sa snimljene scene. Koristeći podatke iz point-cloud i procene korisnika, program može napraviti virtuelne objekte a zatim izvesti teksture iz snimka koji se može projektovati na virtuelni objekat kao površinska tekstura.

2D ili 3D[уреди]

Poklapanje pokreta kamere ima dva oblika. Neki programi, kao što su Shake, Adobe After Effects, i Discreet Combustion, uključuju dvo-dimenzijalnu mogućnost praćenja pokreta. Dvo-dimenzionalni prati tačke samo u dvo-dimenzionalnom prostoru, bez ikakvog interesa za pokret kamere ili distorziju. Može se koristiti za dodavanje zamućenja (eng. motion blur) efekta ili za efekat stabilizacije snimka. Ova tehnika je dovoljna da se naprave realistični efekti kada originalni snimak ne uključuje velike promene u perspektivi kamere. Na primer, bilbordi u pozadini nekog snimka, mogu se zameniti korišćenjem dvo-dimenzionalnog praćenja.

Tro-dimenzionalni alati za poklapanje pokreta kamere omogućavaju da izvršimo izvoz vrednosti tro-dimenzionalnih informacija iz dvo-dimenzionalnog snimka. Ovi alati omogućavaju da se izveze kretanje kamere i ostala relativna kretanja iz proizvoljnog snimka. Te informacije praćenja kamere mogu se preneti na grafičke računarkse softvere i koristiti za animaciju virtuelne kamere i simuliranih objekata. Programi koji su pogodni za trodimenzionalno poklapanje kretanja kamere su:

Automatsko ili interaktivno praćenje[уреди]

Postoje dve metode preko kojih možemo dobiti informacije kretanja kamere sa snimka. Interaktivno praćenje se oslanja na korisnika da prati karakteristike kretanja kroz scenu. Automatsko praćenje se oslanja na računarske algoritme za identifikaciju i praćenje kretanja kroz snimak. Praćenje pokreta tački se koristi za izračunavanje “rešenja”. Ovo rešenje se sastoji od svih informacija kamere kao što su pokret, žižna daljina i izobličenja sočiva.

Prednost automatskog praćenja je ta što računar može brže napraviti više tačaka za praćenje nego čovek. Veliki broj tačaka može biti analiziran statistikom da bi se utvrdili najpouzdaniji podaci.

Nedostatak automatskog praćenja je da u zavisnosti od algoritma, računar može biti lako zbunjen jer prati objekte kroz scenu. Metoda automatskog praćenja je posebno neefikasna kod snimaka koji uključuju brze pokrete kamerom, koji se mogu videti kada se kamerom upravlja ručno i u snimcima koji sadrže ponavljanje elemenata kao što su male pločice ili bilo koja vrsta snimka na kome jedna oblast nije veoma izraženija od druge. Ova metoda praćenja takođe otežava praćenje kada snimak sadrži veću količinu zamućenosti - (eng. motion blur) efekta, praveći malo detalja, pa je teže da ih istakne.

Prednost interaktivnog praćenja je ta što korisnik može pratiti posebne tačke kroz celu scenu i neće biti zbunjen kada tačke koje prati ne budu ispravne. Korisnik može odrediti gde se nalaze tačke koje nisu ispravne zbog zamućenja (eng. motion blur) efekta; Kod automatskog praćenja je teško da se precizno odrede tačke za praćenje kada imamo snimak sa velikom količinom zamućenosti. Nedostatak interaktivnog praćenja je taj da će korisnik neminovno uočiti manje greške koje prate objekat kroz scenu, što može dovesti do “proklizavanja”.

Profesionalni nivo praćenja pokreta se obično postiže korišćenjem kombinacije interaktivnih i automatskih tehnika. Umetnik može ukloniti tačke koje su očigledne anomalije i koristiti praćenje materije (eng. “tracking matters”) da blokira zbunjujuće informacije iz procesa automatskog praćenja. Ovo se takođe koristi za prekrivanje područja snimka koji sadrži pokretne elemente kao što su glumac ili plafonski ventilator koji se okreće.

Praćenje materije[уреди]

Njegova svrha je da spreči algoritam za praćenje, da koristi nepouzdane, nevažne ili nepovezane tačke za praćenje. Na primer, u sceni u kojoj glumac hoda ispred pozadine umetnik koji je zadužen za praćenje, koristiće samo pozadinu kako bi dobio informacije o pokretu kamere kroz scenu, znajući da će kretanje glumca ometati proračune softvera za praćenje. U tom slučaju, umetnik će konstruisati oblast za praćenje materije (eng. "tracking matte") koja će pratiti glumca kroz scenu, blokirajući te informacije da ulaze u algoritam za praćenje.

Dorada[уреди]

Poslednji korak u tehnici za poklapanje pokreta kamere, često podrazumeva ručnu doradu. To podrazumeva ručno menjanje kretanja kamere ili davanje nagoveštaja mehanizmu za kalibraciju. Ova interaktivna kalibracija se naziva "dorađivaje"

Većina aplikacija za poklapanje pokreta kamere bazirani su na sličnim algoritmima za praćenje i kalibraciju. Često, dobijeni početni rezultati su slični. Međutim, svaki program ima različite mogućnosti dorade.

Realno vreme[уреди]

Praćenje kamere u realnom vremenu se sve više koristi u filmskoj produkciji, koji dozvoljava elementima koji će biti dodati u post-produkciji da budu vidljivi uživo na samom snimanju. Više nema potrebe za izvođenjem na zelenim/plavim ekranima, gde nema povratne informacije o krajnjem rezultatu. Eye-line reference, pozicija glumca, i CGI interakcija može da se uradi uživo na snimanju dajući poverenje da je snimak ispravan i da može ići dalje na finalnu obradu.

Da bi se to postiglo, sve komponente počev od hardvera do softvera potrebno je kombinovati. Softveri sakupljaju svih 6 stepena slobode kretanja kamere kao što su metapodaci: zum, fokus, iris, itd.

Vidi još[уреди]

Reference[уреди]

Literatura[уреди]

Spoljašnje veze[уреди]