ITnetwork summer 2020 Python týden
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
80 % bodů zdarma na online výuku díky naší Letní akci!

Lekce 3 - Analýza pohybu - Motion tracking v Blenderu 2

V předchozí lekci, Analýza pohybu - Motion tracking v Blenderu, jsme se seznámili s nastavením tracků. Dnes na ni plynule navážeme a v tomto tématu budeme pokračovat.

Překrytí tracku

Pokud nám hledaný rys na krátkou dobu něco překryje (například procházející osoba), máme dvě možnosti:

  • A) na daný úsek se vykašlat. Přeskočit na snímek, kde je rys znovu celý a posunout track na rys (tady pozor, abyste nevybrali jiný track) - stisknout G, posunout myší nebo šipkami a potvrdit Enter - nebo po vynoření rysu nastavit nový track a nakonec vybrat oba tracky (pomocí Shift) a spojit je - v levém menu v záložce TRACK, roletce TRACK a u MERGE kliknout na JOIN TRACKS.

Níže jsou zobrazeny oba způsoby. Obě animace začínají po tom, co je trackované okno do doby, než bylo překryto bližším předmětem. Pak bylo překliknuto na nejbližší snímek s oknem nepřekrytým a v tu chvíli začínají animace.

.

  • B) druhou variantu volíme, pokud je pro nás track důležitý a řešíme ho pomocí OFFSET TRACKINGu.

Offset tracking je metoda, kdy vybereme namísto překrytého hledaného rysu rys na stejné rovině, nedaleko původního. Na posledním trackovaném snímku stiskneme dvakrát za sebou G. Potom přesuneme track na nový rys a necháme trackovat.

Následně přejdeme na snímek, kde je vidět i náš původní rys a offset vypneme a dotrackujeme s původním rysem: Záložka TRACK, roletka MARKER, a OFFSET nastavit na 0 pro osy X a Y.

Rys na jedné rovině

Říkali jsme si, že rys, podle kterého bude program hledat, by měl být v jedné rovině. Je to z toho důvodu, že pokud se kamera posune v prostoru a rys v jedné rovině není, změní se i jeho tvar. Na animaci níže je track tvořen hned 3 rovinami:

Na náhledu tracku vpravo je velmi dobře vidět, jak se střed tracku posouvá.

Druhy Motion Model

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Dříve jsem slíbil, že si popíšeme i ostatní způsoby vyhledávání tracků - Motion model.

Tak tedy:

  • Loc - (location - pozice) - program bude vyhledávat pouze rys odpovídající zadanému rysu (keyframu)
  • LocRot - (location rotation) - najde hledaný rys i v případě, že se otočí
  • LocScale - (location scale) - najde hledaný rys i pokud změní velikost - ať už vlivem zoomu, nebo změny vzdálenosti kamery od rysu
  • LocRotScale - jak jste správně uhodli, program bude hledat zadaný rys i jeho pootočené a zvětšené/zmenšené varianty
  • Affine / Perspective - jak jsem již zmínil v dřívější kapitole, tyto modely dokážou vyhledat žádaný rys stejně jako RotRotScale, a ještě k tomu najdou rys, pokud se zkosí vlivem změny úhlu pohledu. Tyto dva druhy uvádím dohromady, jelikož je mezi nimi tak malý rozdíl, že jsem dosud nezjistil, zda se nějak vůbec liší :)

Ještě jednou připomínám, že byť se vyhledává celý rys, následný výpočet pohybu kamery vychází pouze z polohy středu tracku a pouze tato data se také ukládají. Nejde tedy stabilizovat rotaci videa na základě jednoho tracku, nýbrž minimálně dvou. To samé platí o zvětšování.

Před natáčením

Pro kvalitní trackování je rozhodující kvalita videa. Pokud natáčíte na telefon, platí, že při stejném nastavení dostaneme kvalitnější (detailnější, bez šumu) nahrávku. Pokud natáčíme dobře osvětlenou scénu, kamera totiž nemusí nedostatek světla kompenzovat zvýšením ISO (citlivost snímače), které vede k zrnitému obrazu.

Pokud si můžete parametry nastavit (vlastníte kvalitnější telefon nebo natáčíte na vhodnější zařízení), je dobré myslet na tyto věci:

1) Clona (Apeture, čti apečr)

  • mezi objektivem a snímačem je uzávěr světla, když fotíme, otevře se do určité míry
  • čím víc se otevře, tím víc světla se dostane dovnitř, ale zároveň se sníží hloubka ostrosti
  • vysoká hloubka ostrosti = máme zaostřené popředí i pozadí - to je to, co potřebujeme, abychom měli tracky v různé vzdálenosti od kamery
  • nízká hloubka ostrosti = máme zaostřeno pouze na malý úsek a zbytek před i za je rozostřen - to se vám hodí například při focení portrétů pro oddělení člověka od pozadí, ale ne při trackování
  • clona se udává jako poměr nakolik je clona z celého průsvitu objektivu otevřena
  • clona se uvádí ve formě zlomku a jelikož čitatel (číslo nahoře) je vždy jedna, uvádí se jen jmenovatel (číslo dole). Např.: clona 2 je vlastně 1/2 - tedy jedna polovina; clona 20 je jedna dvacetina, tj. čím vyšší číslo, tím méně je clona otevřená, tj. máme méně světla, ale víc scény je nerozmazané

2) Délka expozice (nebo také rychlost uzávěrky, Shutter speed [čti šatr spíd])

  • udává, na jak dlouho se clona otevře
  • čím déle je otevřena, tím světlejší snímky máme (to se nám může hodit, zvlášť pokud nastavíme clonu co nejvýš a tím omezíme přísun světla)
  • čím déle je otevřená, tím více jsou pohyblivé objekty rozmazané (to rozhodně nechceme, jelikož rozmazané rysy se špatně trackují. Navíc se může rozmazat celý obraz, pokud rychle pohneme kamerou)
  • délka je u videa omezena počtem snímků za vteřinu: pokud natáčíme video s rychlostí 100 snímků za vteřinu, nemůže být délka expozice jednoho snímku delší než jedna setina

3) ISO - citlivost čipu

  • udává, jak moc je čip citlivý na světlo. Čím vyšší ISO, tím větší citlivost
  • výsledkem zvýšení ISO je projasnění obrazu bez nutnosti otevírat více clonu (což by rozmazalo pozadí), nebo prodlužovat expozici (což by vedlo k rozmazání obrazu)
  • nevýhodou vysokého ISO je však vysoká zrnitost obrazu

Při natáčení

V průběhu natáčení je dobré si hlídat, aby se s kamerou moc netřáslo a tím se nám obraz nerozmazal. Pokud máme v plánu vkládat 3D efekt, je potřeba mít v nahrávce pohyb kamery prostorem, ne jen její otáčení, tak aby program měl k dispozici pohyb rysů vůči sobě. Pokud víme, že se kamera v záběru příliš pohybovat nebude, je možné nahrát část s pohybem kamery, s kterou bude program pracovat při analýze, která se ale následně vystřihne.

Analýza pohybu

Do teď jsme vlastně jen připravovali trackováním data pro samotnou analýzu. Na levé straně v záložce SOLVE (vyřešit), roletka SOLVE máme tlačítko SOLVE CAMERA MOTION (vypočítej pohyb kamery). Dřív než ho ale necháme něco vypočítat, upravíme si nastavení.

Možnosti nastavení

  • pokud jsme natáčeli ze stativu s volnou hlavou, zaškrtneme možnost TRIPOD (více viz níže).
  • KEYFRAME - KEYFRAME A a B udávají rozmezí snímků, na kterých proběhne hlavní výpočet pohybu kamery a rozmíštění tracků v prostoru a na ostatní snímky se výsledek jen použije (případně doladí)
    • pokud se zaškrtne políčko KEYFRAME, vybere program tento úsek sám
    • po stisknutí SOLVE CAMERA MOTION je dobré ho vypnout, aby zůstaly nastavené snímky, které program vybral a nemusel je hledat znovu
  • REFINE (vylepšit) - toto je velký pomocník. Obraz se objektivem trochu pokřiví a to vnáší do výpočtu chyby. Pokud některé údaje videa známe (například ohniskovou vzdálenost), můžeme je sami zadat. Napravo v záložce TRACK v roletce CAMERA je možné nastavit šířku senzoru a optický střed videa, v roletce Lens zase ohniskovou vzdálenost a zakřivení čočky (K1, K2, K3). Většinou tyto údaje ale neznáme a tak necháme program vyzkoušet různá nastavení a následně vybrat, které parametry nejlépe odpovídají našemu záznamu.
    • z možností REFINE si tedy necháme upravit vše (možnost Focal length, Optical center, K1, K2)

Nyní můžeme stisknout tlačítko SOLVE CAMERA MOTION. Výpočet chvilku trvá a pak se nám ukáže vpravo nahoře MCE Solve Error: a nějaké číslo. To udává chybu výpočtu. Počítá se v pixelech a udává, o kolik pixelů se liší poloha námi vyhledaných tracků od jejich očekávané polohy. Ideálně se snažíme dostat pod 0.5 pixelu.

Dole na grafu přibude modrá linka znázorňující průměrnou chybu všech tracků u daného snímku. Podle toho se můžeme orientovat, zda není na určitém místě třeba tracky poupravit a znovu nechat pohyb kamery vypočítat, pokud nejsme s výsledkem spokojeni.

Další možností je upravit sílu vlivu jednotlivých tracků při výpočtu. Automaticky se se všemi počítá nastejno. Pokud ale třeba trackujeme vzdálený objekt, může být rozmazaný a tudíž ne úplně přesný, zároveň z něho ale získáváme důležitá data o hloubce prostoru a tak ho nemůžeme smazat. V pravém horním rohu MCE otevřeme menu Clip Display a níže vybereme možnost INFO. To nám ukáže u jednotlivých tracků jejich průměrnou chybu a tak můžeme vybrat horší tracky (tj. ty s vyšším číslem).

V menu, záložka TRACK, roletka TRACK je údaj WEIGHT (váha). Ten udává míru ovlivnění výpočtu. Pohybuje se od 0 (žádný vliv) do 1 (plný vliv). U horších tracků v závislosti na jejich průměrné chybě můžeme upravovat třeba až na 0.5.

Tripod - stativ

Pokud jsme natáčeli video s kamerou na stativu, nedochází ke změně pozice předmětů vůči sobě. Kvůli tomu nemůžeme z videa vyčíst rozložení předmětů do hloubky a tak zrekonstruovat pohyb kamery. Zároveň to ale ani nemáme zapotřebí: vložený předmět do videa nebude měnit svoje natočení, pouze pozici. Díky tomu je i proces jednodušší - pokud vkládáme nepohyblivý předmět, stačí vyrendrovat pouze jeden obrázek a pak ho přichytit na jeden track (případně na dva pro změnu rotace a velikosti).

Pokud budeme vkládat pohyblivý efekt (například explozi), necháme program zjistit pohyb kamery, jen po trackování před výpočtem pohybu kamery (Solve) zaškrtneme variantu TRIPOD.

To je pro dnešní lekci vše. Pokračovat budeme zase příště.


 

Předchozí článek
Analýza pohybu - Motion tracking v Blenderu
Všechny články v sekci
Vizuální efekty v Blenderu
Článek pro vás napsal Václav Janda
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Aktivity (2)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!