33PVR ZIMA 2007 - DU-02 - Trackovanie roviny vo video sekvencii |
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.
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:
Detekované rohy by měly vypadat přibližně takto. V Harrisově detektoru jsme použili parameter sigma=1.
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í.
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é".
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.
Dejme tomu, že naše sekvence má pouze tři obrázky. Nech» roh o souřadnicích [120.1,86.5] v prvním obrázku koresponduje s rohem o souřadnicích [150.6,74.2] ve druhém obrázku, který zase koresponduje s rohem o souřadnicích [170.3,56.7] ve třetím obrázku. Tedy do prvního obrázku vykreslíme lomenou čáru s vrcholy [120.1,86.5], [150.6,74.2], [170.3,56.7].
Takovou lomenou čáru (track) nakreslíte z každého rohu v prvním obrázku, pro který byla nalezena korespondence. Někdy může mít track méně vrcholů než je obrázků v sekvenci, protože korespondence nepřežila celou sekvenci. Vykreslete pouze 10 vybraných (dobrých) tracků, rozumně rozprostřených po celé ploše obrázku. Pokud najdete méně než 10 tracků, které přežily celou sekvenci, nevadí.