A KL (Kanade Lucas omasi) Feature racker Működése (jellegzetes pontok választása és követése) Készítette: Hajder Levente 008.11.18. 1. Feladat A rendelkezésre álló videó egy adott képkockájából minél több olyan pontot detektálni, melyeket a következő képkockákon is nyomon lehet követni.. Jellegzetes pontok követése Adott két szomszédos kép, mindkettő szürke intenzitású pixelekkel leírva. Egy tetszőleges a pozícióban (a kétdimenziós vektor) a megfelelő intenzitásértékeket a két képen I(a) és J(b) jelöli. Ha kiválasztottunk egy kis W területdarabkát, melyet az a vektor jelöl ki az első képen, és annak keressük a megfelelőjét a második képen b vektor környékén, akkor a következő hibafüggvény kiszámításával kapjuk meg azt a d kétdimenziós eltolásvektort, amellyel távolabb került a területdarab: {J ad I b} Mindezt felírhatjuk a [ es cikkben megfogalmazott módon, ahol picit másképp közelíti meg a szerző az elmozdulást (de ezzel pontosít a numerikus eredményen) : {J a d I b d } ehát itt x nem az egyik képen a referenciapont, hanem a referenciapont két előfordulása között van félúton. Ennek gyakorlati haszna van, mert ha a két képet kétdimenziós intenzitás függvényként képzeljük el, és ezt a függvényt aylor sorral közelítjük, akkor pontosabb eredményt kapunk. A keresendő pontunk két előfordulását a következő módon közelíthetjük: J a d J a d u I b d I b d u J a u d v J a I b d v I b v {J ai Ha bevezetjük a ga,b=[ b} [ {J ai jelölést, továbbá d= du v, akkor a fentebb d definiált hibafüggvény így írható át:
{J a I b 1 g a,bd } A hibafüggvénynek kell minimumát venni d eltolás szerint: d = w {J a I b 1 g a,bd }g a,b =0 Ebből az összefüggésből d re nézve lineáris egyenletrendszert kapunk: w {J a I b}ga,b= 1 [ w {g a,b}ga,b d Ez pedig valóban a Z d=e lineáris egyenletrendszer, amennyiben: 3. Jellegzetes pontok kiválasztása Z = w {g a,b g a,b} és e= w {I a J b}ga,b Noha a 3 mas pontban bemutatott módszer jellegzetes pontok követésére alkalmas, valójában nem arra használják. A követésre összehasonlításon alapuló 'brute force' módszerek alkalmazhatók, ennél sokkal nehezebb kérdés, hogy mely pontokat próbáljuk meg követni. A omasi Kanade Lucas szerzőpáros ötlete a következő: a követésre az előző pontban kidolgozott lineáris egyenletrendszert hívjuk segítségül. Adott egy egyenletrendszer, amelyből a kívánt távolság kiolvasható. Azokat a pontokat használjuk, ahol az elmozdulás (d) minél jobban (vagyis: pontosabban) számítható. Egy lineáris egyenletrendszer akkor számítható pontosan, ha az együtthatómátrix jól kondícionált. Ez esetünkben azt jelenti, hogy Z re igaz, hogy a Z Z 1 minél kisebb. Amennyiben mátrixnormának a legnagyobb szinguláris értéket vesszük (és Z esetén a szinguláris értékek a sajátértékek négyzetei), ez azt jelenti, hogy lennie, ha 1 és jelöli a két sajátértéket (csökkenő értékek szerint). 1 hányadosnak minél nagyobbnak kell Ha Z mátrixot kifejtjük, méghozzá úgy, hogy csak egyetlen képünk van (azaz I=J), akkor a következő alakot kapjuk: =[ w Z I x w I x I y w I x I y w I y feltéve, hogy I u jelöli a kép u szerinti paricális deriváltját, I u pedig a v szerintit. Azaz a második deriváltakat tartalmazza a mátrix.
A jellegzetes pontok kiválasztására hasznos, ha a Z minél nagyobb értékekkel rendelkezik, hiszen így numerikusan stabilabb az eredmény. Ezért Z legnagyobb sajátértékére is ki szokták kötni, hogy nagy legyen, nem csak a két sajátérték arányának kell kicsinek lennie. Összevonva a két feltételt, a KL algoritmus azt adja meg a pontkiválasztás kritériumának, hogy Z mátrix sajátértékei közül a kisebbik legyen egy előre megadott küszöbértéknél nagyobb. A teljes algoritmus: 1. Gradiens számítása a minta minden egyes pixelén. Minden egyes mintára : 3. Z számitása 4. Lekisebb sajátérték meghatározása 5. Ha az elõre megadott küszöbnél nagyobb ez a sajátérték, megtartjuk a mintát. 6. A kisebbik sajátérték szerint csökkenõ sorrendbe rakjuk a mintákat. 7. Legnagyobbat kiválasztjuk (jó mintának minõsítjük) 8. dobjuk a jó minta körüli mintákat a sorból. 9. Goto 7, amíg van minta 4. Kiterjesztés színes képek esetére Ha a képet R, G, B színösszetevőként képzeljük el, és az intenzitásfüggvények R(x,y), G(x,y), B(x,y), akkor a levezetést végigcsinálva Z értéke így módosul: Z =[ Ennek a mátrixnak kell a sajátértékeit vizsgálni. R x G x R x R y G x G y B y R x R y G x G y B y R y G y B y 5. A követés kiterjesztése egyéb transzformációkra A feladatot pontosabban meg tudjuk oldani, ha egyéb transzformációt is megengedünk. együk fel, hogy a mintánk pozícióját (középpontja) a p=u.v pontban van. Elforgatás és eltolás segítségével így kapjuk meg a pontot: p= [ u v = [ cos p 1 u sin p 1 p sin p 1 u cos p 1 p 3 Az eltoláshoz szükségünk van még u és v meghatározására. Segítségül hívjuk a parciális deriváltakat: u = u= p p i i v = v= p p i i Ezt vektoros formában is elkészíthetjük: v =[ p i
Ha több paraméter van (legyen P a paraméterek száma), a hatásokat össze kell adni: u u p1... p 1 p p P p P... p 1 p p Röviden mindezt így szokás írni: v = p v =[ p P [ Ezek után a feladatunkat átírhatjuk: w J p J p p I p A megoldást p szerint keressük, ezért deriválni kell p szerint, és az eredményt nullával egyenlõvé kell tenni : A megoldás pedig: w [ w J p Bevezetve az alábbi jelöléseket: J p J p p I p J p W =0 J p p= w J p I p J p I p =[ Z w J p W az egyenlet megoldás p=z 1 alakra egyszerûsödik. W J p A teljes algoritmus (az órán kiosztott lapnak megfelelõ lépésekkel): 1. Vágjunk ki a minta feltételezett helyét a képbõl.. Hibaképet számoljunk ki (I J) 3. Gradienst számoljunk végig a minta helyére 4. W parciális deriváltjait számítsuk ki az összes pixelre 5. J p p számítása. 6. Z számítása 7. számítása 8. p kiszámítása 9. p= p p 10. Go to 1. Leállás: p, ahol egy előre megadott küszöb. 11. 6. Nevezetes transzformációk és parciális deriváltjaik Az eõzõ sémába tetszõleges transzformációt lehet illeszteni. Itt összefoglaljuk a lehetséges transzformációkat és a paraméterek szerinti parciális deriváltakat: 6.1. Eltolás
6. Forgatás + eltoláshoz 6.3. Skálázás + forgatás + eltolás [ u [ u v = [ p 1 p p = [ 1 0 0 1 [ u v = cos p 1 0sin p 1 p sin p 1 cos p 1 p 3 p [ = sin p u cos p v 1 0 1 0 1 0 cos p 1 sin p 1 0 1 v = [ p 4 cos p 1 p 4 sin p 1 p sin p 1 p 4 cos p 1 p 3 p [ = p sin p u p cos p v 4 1 0 4 1 0 1 0 cos p 1 sin p 1 cos p 1 sin p 1 0 1 sin p 1 cos p 1 v 6.4 Affin transzformáció 0 [ u v = [ p u 1 0 p v 0 p 3 p 4 p 5 p 6 6.5 Homográfia p [ = 1 0 0 0 0 0 0 1 [ u v =[ p1u0 p v0 p3 p 8 1 p 4 p 5 p 6 p 8 1 p = 1 p 8 1 [ 1 0 0 0 0 0 0 1 p 1 p p 3 p 8 1 p 4 p 5 p 6 p 8 1 p 1 p p 3 p 8 1 p 4 p 5 p 6 p 8 1 4. Hivatkozások [1 Jianbo Shi, Carlo omasi: Good Features to rack, CVPR 1994. pp 593 600 [ Stan Birchfield: Derivation of Kanade Lucas omasi racking Equation (forrás: http://robotics.stanford.edu/~birch/klt/derivation.ps ) [3...0 years on...