Hidrológiai Közlöny 2008 (88. évfolyam)
5. szám - Gálai Antal: A web-kamerás folyami jégmegfigyelés alapjai
^lÁ^A^^^^^eMcamerá^fol^í^^ 15 [gradx rBx] f c = -^—(x kb k ki k + ^ i kb k ]ij + x^ik) (#*) (20) A megmaradt tagok közt egy tagnál i-j=k, a többi közt vagy csak i = k vagy csak j - k áll fenn. [grad x'Bx ] ( 2b k.i<x k+ ^ b k jx s+ ^ x.fe.t = ^ bik X> = Bx + B' x OV*) («í**) O) (0 (21) gradx. TBx = (B f B r) x Esetünkben AÁ a mátrixszorzás fogalmából következően eleve szimmetrikus, tehát gradx TA T Ax = 2A r Ax (23) vagyis eredeti célunk a h' h minimalizálása érdekében a zérus gradienshez tartozó x keresése: Tb = 0 x = (A 7 A)1^ " 5radh rh = 2A rAx - 2A r t vagyis inhomogén esetben esetén zárt megoldást kaptunk. Homogén esetben pedig egy Bx=0 egyenletnek akkor van triviálistól különböző megoldása, ha a B szinguláris, s mert ekkor ekvivalens transzformációkkal első sora zérussá tehető, ekkor viszont a karakterisztikus egyenletének is van zérus gyöke, vagyis van zérus sajátértéke, s ekkor a hozzá tartozó sajátvektor megoldás. Ha B-t - például zaj hatásával perturbáljuk a legjobb megoldás továbbra is a legkisebb sajátértékhez tartozó sajátvektor lesz. A kamera kalibrációhoz visszatérve látjuk, hogy a folyópart pontjainak mind mért, mind képről olvasott koordinátáiból pontonként előállított, a perspektivikus leképezés 9 ismeretlenét tartalmazó két-két egyenlet alkotja a 2n*9 méretű L mátrixot, melyből képzett L rL mátrix legkisebb sajátértékéhez tartozó sajátvektor elemeiből képzett H mátrix lesz a mért adatokra legkisebb hibával illeszkedő leképezés. Miután a homogén leképezés mátrixát, H-t meghatároztuk, felhasználhatjuk célunk elérésére. Nevezetesen a perspektivikus torzitástól mentes koordinátákat állíthatunk elő, továbbá a képpontokból induló egyenesekből számítani tudRÍR. = (24) juk ismert vízállás esetén a víztükörrel való döféspontjaikat. Másrészről azonban rá kell jönnünk — különösen a hétköznapi, bolti kamerák esetén szembetűnő módon, de a legelterjedtebb professzionális kamerák esetén is —, hogy nem elhanyagolható sem a tangenciális, sem a radiális torzítás. A lencse precizitásának és a fényérzékelő lapka elhelyezésének egymásra szuperponálódó hibáinak kiküszöbölésére először szét kell választanunk a kamera belső (intrinsic) paramétereit és a külső (extrinsic) jellemzőket, vagyis az azokat magába foglaló H homogén leképezés mátrixát faktorizációval felbontjuk egy a lencse geometriai jellemzőitől függő A és egy az elhelyezését leíró [Rt] elforgatás-elmozgatást tartalmazó szorzó tényezőre. H = [hi ha hí] - A A [n r 2 t] Mivel az R rotációs mátrix az elemi, tengelyek körüli rotációk mátrixának szorzata, könnyű belátni, hogy azok transzponálja egyben az inverzük is : R rR I következésképp R eredő rotációs mátrix r 1 ; r 2 és r 3 oszlopai is ortonormáltak, mivel maga R is az. (26) COStp sirup 0' cos*p —sin*p 0 conty+sinltp 0 0' "1 0 0" —sintp COS<p 0 X sintp costp 0 = 0 -os 2ip+sin 2ifi 0 = 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 R 7R = (R'[R 7RJ)(R,.R 1 /R,) = (R^R^R'RJRJR,) = I R ortonormált volta szolgál A mátrix H-ból történő leválasztásának kiindulópontjául: hi = AAri ri = AA1lii I12 = AAr2 r 2 = AA _ 1li2 ( (27) (28) r[r 2 = 0 hJ"(A _ 1) TA _ 1h 2 = 0 B = (A-') rAT T r x ri = r 2 r 2 hfBh 2 = 0 hfBli! = hjBh, h[ ÍA ') rA = h^(A ^A lh 2 r^ r>iii = n*> r>u 2 (29) A inverzének egyfajta „négyzete" a konstrukciója folytán szimmetrikus B mátrix, melynek egyelőre ismeretlen elemeit egy vektorban elrendezve: b = [S„ B12 B22 Bi3 Btk ß.«] skalárszorzat együtthatóit a B mátrixból képzett b vektor elemei szerint átrendezve, az átrendezett együtthatókat v vektornak nevezve kapjuk: h, Bh ; = v l ;b ahol % = [^i^ji + hah. ,b = 0 •jí v nu = v 2 2u A fenti egyenletek homogenitásából következően b megoldás csak egy szorzótényezővel kapható meg - mely kiesik az elforgatást követő perspektivikus normalizálás során a kamera tengely irányú z koordinátával való osztással. A v elemei a modellsík és a kép közti homogén leképezéstől függnek, az azt leíró H mátrix elemeiből képeztük őket. A modellsík több helyről és/vagy irányból való felvételével nagyobb pontosságot érhetünk el. A b vektor hat ismeretlen elemével képzett, s az m felvétel adataiból képenként felírt Vb=0 egyenletrendszer V együttható mátrixa 2m*6 méretű. (Vn - V22) h-ahft hahji + hiihj 3 hah^ + h. nh r Á h^hj^Y x b = 0 (31) A már jól ismert megoldás \ TV legkisebb sajátértékéhez tartozó sajátvektora. Miután a szimmetrikus B elemeiből összeállított b vektort meghatároztuk, az A inverzét pl. a B diadikus felbontásából származó szimmetrikus faktorizációval is előállíthatjuk. Ezt követően egy invertálással kapjuk a kamera optikai jellemzőit leíró A mátrixot. Szimbólum-feldolgozó szoftverekkel A mátrix zárt formájú megoldását is megkapjuk. A homogén leképezés H mátrixát a kamera belső paramétereit tartalmazó A mátrix inverzével szorozva kapjuk meg a forgatási és eltolási mátrix elemeit: