33PVR ZIMA 2007 - DU-02 - Trackovanie roviny vo video sekvencii


Figura 1. vstupná sekvencia fotografii v ľavo, proces trackovania roviny v strede, oblasť vyznačená vo všetkých obrázkoch video sekvencie 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. 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 prenesená na korešpondujúcu oblasť v každom obrázku z tejto video sekvencie. Ďalej, sekvencia homografií, kde t-tá homografia popisuje transformaciu označenej planarnej oblasti mezi (t-1)-ním a t-tým obrazem. Korešpondencie Harrisových bodov (rohov) v tejto oblasti cez celu sekvenciu.

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


Ako na to ?

Hlavnou časťou tejto úlohy je prenesenie rovinnej časti označenej v prvom snimku do celej video sekvencie. Využijeme na to znalosť, že oblasť je planárna a tiež, že planárnou homografiou (3x3 matica) vieme prenášat body ležiace na rovine medzi dvomi obrazmi. Preto, ak poznáme homografiu, tak vieme preniesť aj označenú oblasť z jedneho obrázku na druhý a potom tranzitivitou aj na všetky ostatné obrazky.
Otázkou zostáva ako najsť túto homografiu. Vieme, že pomocou 4 bodových korešpondencii vieme spočítať homografiu (viď. DU-01) a tiež vieme, že ak poznáme homografiu, tak vieme prenášať body ležiace na rovine





Figura 2. Platí vzťah a x' = Hx.


Preto je naším celom vlastne nájst korešpondujúce body ležiace na rovine v oblasti označenej užívateľom. Tieto potom využiť na výpočet homografie a potom použiť homografiu na prenesenie vyznačenej oblasti z prvého obrázku do ostatných.

Podrobnosti řešení

Zpracujte vždy dvojici obrazů t-1 a t, pro t=2...40. Označme obrazy v čase t-1 a t jako I1 a I2. Presnejšie povedané, zaujímajú nás hlavne oblasť ležiaca v označenej oblasti. Prepokladajme, že vieme preniesť do t-1 obrázku oblasť vyznačenú v prvom snímku video sekvencie. Stačí nám potom pozerat len na obrazok ležiací pod vyznačenou (resp. prenesenou) oblasťou. Nech I1 je len táto časť obrázku resp. obĺžnikový výrez v obrazku. I2 môžeme odhadnúť ako výrez rovnakej velkosti a polohy ako má I1 rozšírený tak, aby tam ležala časť scény korešpondujúca ku vyzačenému regionu. Keďže pracujeme s video sekvenciou, tak môžeme predpokladať, že posun medzi susednými snímkami nieje veľký. Potom nám stači oblasť I2 nastaviť ako oblasť I1 a rozšíriť ju do všetkých strán o konštantnú hodnotu.

V těchto dvou obrazech máme najít množinu korespondujících dvojic bodů (každý z jednoho obrázku), tj. těch, které odpovídají stejnému bodu ve scéně. Tyto korespondující body najdeme na základě toho, že musí splňovat dvě podmínky:

Obrázky je možno před zpracováním převést na černobílé.

Pro nalezení korespondence a homografie mezi obrazy I1 a I2 použijte následující postup:

  1. Detekujte v obrazech I1 a I2 rohy. Detektor rohů (také známý jako Harrisův detektor) implementujte podle přednášek. Označme N1 počet bodů detekovaných v obraze I1. Označme N2 počet bodů detekovaných v obraze I2.

    Detekované rohy by měly vypadat přibližně takto. V Harrisově detektoru jsme použili parameter sigma=1.

  2. Kolem každého Harrisova bodu uvažujte okénko 7x7 pixelů (ve středu okénka je Harrisův bod). Spočítejte lineární korelační koeficient r(n1,n2) mezi okénky kolem bodů n1 a n2 pro n1=1...N1 a n2=1...N2. Argumenty lineárního korelačního koeficientu budou dva vektory o délce 49 obsahující jasy obou okének, srovnané např. po sloupcích.

    Lineární korelační koeficient (také nazývný normalized cross-correlation, zkratka NCC) je invariantní vůči lineárním transformacím jasu a jeho hodnota leží v intervalu <-1,+1> (viz teoretický návod), proto se často používá jako míra podobnosti okének.

    Matice r má tedy rozměr N1xN2. Její prvek r(n1,n2) udává, jak moc je okolí bodu n1 v obraze I1 podobné okolí bodu n2 v obraze I2. Pokud je hodnota r(n1,n2) blízká jedné, je to evidence, že body korespondují.

    Přesněji řečeno, nemusíte počítat všech N1*N2 korelačních koeficientů. Protože sousední obrázky sekvence jsou od sebe málo vzdálené, bod v obraze I1 nemůže být od svého korespondujícího bodu v obrázku I2 příliš daleko. Tudíž pokud body n1 a n2 jsou od sebe příliš daleko, koeficient r(n1,n2) můžeme položit roven -1 (nebo stačí i 0) bez jeho počítání.

  3. Najděte v matici r dvojice bodů (n1,n2), které splňují podmínku symetrie: Tyto dvojice mají velkou pravděpodobnost, že korespondují. Budeme je nazývat kandidáty na korespondenci.

  4. Pomocí metody RANSAC (Random Sampling Concensus, viz přednáška) vyberte z množiny kandidátů na korespondenci ty dvojice bodů, které jsou s dostatečnou přesností svázány homografií. Tj. hledáme množinu A dvojic bodů a zároveň homografii H tak, že pro každé (n1,n2) v A platí s nějakou přesností, že a x2(n2) = Hx1(n1). Zde jsme x1(n1) označili homogenní souřadnice Harrisova bodu v prvním obraze s indexem n1, podobně pro x2(n2).

    Uvědomte si, že výstupem RANSACu nejsou jen homografie. Neméně důležité je, že RANSAC rozdělí množinu kandidátů na "správné" a "špatné".

  5. Homografii H ještě můžete zpřesnit, tak že je přepočítáte ze všech bodů, které byly inliers (v pásmu tolerance) nejlepšího vzorku RANSACu.

    Pri počítani homografie H je potrebné normalizovať korešpondujúce body aby sa zamedzilo stratam presnosti pri numerických výpočtoch (SVD). Nech X1, X2 sú sady súradnic korešponujúcich bodov. Spočítajte transformacnú maticu C1 (resp. C2), ktorá transformuje množiny bodov X1 (resp. X2), do X1'(i) = C1 * X1(i) (resp. X2'(i) - C2 * X2(i)), pričom platí, že stredna hodnota (mean) X1' (resp. X2') je 0 a rozptyl (std) je odmocnina z 2. Vypočitajte potom homografiu H' takú, že platí a X1'(i) = H X2'(i). H potom vypočítajte z H' vhodným aplikovaním transformacných matic C1 a C2.

Až budete umět najít korspondence ve dvojici obrázků, zpracujete celou sekvenci takto:

Upozornění

Tato úloha je složitější než DU-01. Není to tak moc programování, ale je nutno tomu rozumět. Kdo si nechá úlohu na poslední chvíli, nemá šanci to stihnout (čímž nesplní podmínky pro absolvování předmětu). Proto doporučujeme průběžnou kontrolu implementovaných výsledků v následujících třech cvičeních takto:
Vo výslednej správe popíšte, aký vplyv mala zmena parametrov Harrisoveho detektoru (sigma, počet význačnych bodov, sila odozvy), zmena korelačného okna, počet cyklov v RANSAC algoritme, vplyv normalizácie súradníc pri výpočte H, na presnosť výsledku.

Kdo bude rychlejší (např. už na 6. cvičení ukáže kandidáty na korespondenci), tím lépe pro něj.