33PVR ZIMA 2007 - DU-03 - Stabilizácia obrazku a automaticke tapetovanie vo video sekvencii


Figura 1. vstupná sekvencia fotografii v ľavo, proces trackovania roviny v strede, prenesený obrázok a stabilizované video v pravo

video ukážka


Vstup: Video sekvencia, na ktorej je v zábere planárny objekt s bohatou texturou, snímanou z roznych miest. Jeden žubobolný vami zvolený obrázok Užívateľ označí štvor-uholnikovú planárnu oblasť v prvej snimke z tejto video sekvencie.

Výstup: Oblasť, ktorá bola označená v prvej snímke, bude nahradená zvoleným obrázokom v celej video sekvencii. Video sekvencia bude stabilizovaná, t.j. upravená tak, aby sa potlačilo trasenie kamery vzniknuté počas snímania sekvencie.

Termíny: Obe paralelky do 02.01.2007 23:59.

Pozor zmena: Treba odovzdat zdrojove subory (MATLAB) spolu s reportom (PDF), a nie ako doteraz vlozene do textu.


Ako na to ?

Pomocou homografii získanych pri riešení druhej úlohy transformujte zvolený obrázok na príslušné miesto v obraze. Za riešenie viditežnosti a prekrytia dosadzovaného obrázku (vid. Figura 2) môžete získať 100% bodov naviac.
Figura 2. Viditežnosť a prekrytie dosadzovaného obrázku.
Ďalšou časťou téjto úlohy je stabilizácia obrazu. Rozumieme pod tým potlačenie efektu skákajúceho obrazu, ktorý vznikol pri snimaní počas chvôdze. Trasenie potlačíme tak, že obraz transformujeme (posunieme a natočíme) tak, aby sa moc neodlišoval od susedných obrazkov vo video sekvencii.

Podrobnosti řešení

Na potlačenie trasenia kamery použijeme opäť znalosť homografie, ktorá prenáša body na vyznačenej rovine medzi susednými obrázkami vo video sekvencii. Ak chceme stabilizovať obraz, tak chceme docieliť, aby vektory pohybu bodov na tejto rovine boli približne rovnake. Toto samozrejme nieje možné vždy docieliť, preto sa budeme snažiť docieliť, aby sa i-ty obrazok neodlišoval od priemeru povedzme k susedných obrazkov. Našim cielom je posunúť a orotovať obrazok, tak aby sa potlačilo poskočenie kamery (potrebujeme "vypočítať" o kožko pospočila kamera). Ak chcem komponzovať posun, tak nám stači posunúť obrazok tak, aby sa nami zvolený bod na rovine v jednom obrazku dostal do polohy korešpondujúceho bodu v druhom obrázku. Opakovaním tejto procedúry N-krat sa nám ale môže stať, že síce bude kamera stabilna v jednom bode, ale postupne sa dostaneme na kraj obrázku. Preto je vhodne posúvať obrazok smerom ku priemernej polohe k po sebe idúcich obrázkov, pričom tento priemer vážime systemom, čim je frame ďalej vo video sekvencii, tym ma menšiu váhu. Takto stabilizujeme obrazok na posun. Pre stabilizovanie na rotáciu potrebujeme kompenzovať aj uhol natočenia obrázky, oproti požadovanému dákemu priemeru obrázku. Na to použijeme další bod. Tieto dva body spojíme priamkou a budeme merať uhol oproti priamke vzniknutej spojenim korešpondujúcich priemernych bodov (vid. Figura 3). Potom transformujeme obtazok o tento uhol. Pozor na +/- znamienko pri počítani uhla!

Figura 3. Stabilizácia posunu a natočenia kamery.




Vo výslednej správe popíšte, aký mala vplyv na stabilizáciu obrazu zmena počtu susedov použitých pri počítaní priemernýh bodov.

Za iné funčne riešenie stabilizácie obrazu budu tiež udelované bonusové body.