Maa-57.301 Fotogrammetrian yleiskurssi

Luento-ohjelma 1 2 3 4 5 6 7 8 9 10 11 12 13

(P. Rönnholm / H. Haggrén, 23.9.2003)

Luento 5: Kiertomatriisi

AIHEITA

Kiertomatriisit fotogrammetriassa



Kolmiulotteinen yhdenmuotoisuusmuunnos kamerakoordinaateista kohdekordinaatistoon kirjoitettuna eri tavoilla.

Ortogonaliteettiehdot

Näillä kolmella ehdolla varmistutaan siitä, että kiertomatriisin (kohteesta kuvalle) rivivektorit kuvaavat yksikkövektoreita (normality constraints). Vastaavat ehdot ovat voimassa myös sarakkeille (vastaa kiertomatriisin rivejä kuvalta kohteeseen). Jokaisen rivin ja sarakkeen elementtien neliöiden summa on siis yksi. 

Näillä kolmella ehdolla varmistutaan siitä, että kiertomatriisin (kuvalta kohteeseen) rivivektorit säilyvät muunnoksen aikana kohtisuorassa toisiinsa nähden (othogonality constraints). Vastaavat ehdot ovat voimassa myös sarakkeille (vastaa kiertomatriisin rivejä kohteesta kuvalle).

Koska ortogonaliteettiehdot ovat voimassa kiertomatriisille, sen käänteismatriisi on sama kuin transpoosi (paljon helpompi laskea) R-1= RT.

Kiertomatriisit suuntakosinein

Kiertomatriisit suuntakosinein kohteelta kuvalle (RT) ja kuvalta kohteelle(R).

Vektorin s projisiointi karteesisen 2-D koordinaatiston koordinaattiakseleille.

Kuvavektorin s projisiointi XY koordinaatistoon tai xy-koordinaatistoon.

Kuvavektorin s projisiointi xy-koordinaatistoon koordinaatiston XY kautta.


 
Kiertokulmat ja kiertomatriisi 2-D koordinaatiston muunnoksessa.
 

2D kiertomatriisi rakennettuna suuntakosinien ja kiertokulman avulla. Fotogrammetrian kuvausyhtälöissä kierrot kuvataan positiivisina kiertoina, kun muunnos tehdään kohteesta kuvalle. Tätä kiertomatriisia merkitään RT. Muunnoksissa kuvilta kohteelle kiertomatriisit merkitään R.

Kiertomatriisi R* kohteesta kuvalle mukana kiertyvien akseleiden ympäri

Kiertomatriisi R kuvalta kohteeseen mukana kiertyvien akseleiden ympäri



3D kiertomatriisin rakentaminen 2D kiertomatriiseista


Osakiertomatriisit omega, fii ja kappa kohteesta kuvalle. Kaikki kierrot ovat myötäpäivään ja koordinaatisto on oikeakätinen. Huomaa: jos kierrot (tai joku kierto) päätettäisiin tehdä vastapäivään tai käytössä olisi vasenkätinen koordinaatisto, tulos olisi toinen. Erilaisista kiertomatriisin määrityksistä johtuvat suurimmat väärinkäsitykset muunnoksissa. Esimerkiksi konenäössä suositaan usein vasenkätistä koordinaatistoa.

Kuvakoordinaatiston kierto XY-koordinaatistosta xy-koordinaatistoon suuntakosinenin ilmaistuna.

Kuvakoordinaatiston kierto xy-koordinaatistosta XY-koordinaatistoon suuntakosinenin ilmaistuna.

Osakiertomatriisit omega, fii ja kappa kohteesta kuvalle. Kolmas ulottuvuus on otettu mukaan jo tässä vaiheessa, jotta yhdistäminen onnistuisi oikein.

3-D kiertomatriisin muodostaminen peräkkäisistä 2-D kierroista X-, Y- ja Z-akselien ympäri. Tässä tapauksessa kierrot on tehty järjestyksessä: omega, fii, kappa. Huomaa, että osamatriisien kertomisjärjestys on käänteinen!

Kiertomatriisin määrittäminen kuvaussuunnan perusteella

Kohde ja kohdekoordinaatisto.

Kameran orientointi määritellään tässä kuvanottopaikan O1 ja kuvaussuuntaan sijaitetun tähtäyspisteen T mukaan. Kamerakoordinaatisto xyz sijoitetaan kuvanottopaikkaan ja projektiokeskus O1 on origona. Kuvataso toimii koordinaatiston xy-tasona ja kuvasivu asetetaan horisontin suuntaan. Tällöin x-akseli suuntautuu kuvaussuuntaan nähden oikealle pisteeseen  O2 ja y-akseli ylös. Koska koordinaatisto on oikeakätinen,  z-akseli osoittaa kuvaussuunnasta kohteesta kameraan eli katsojaan päin. Oheisessa piirroksessa kameramallina on stereokamera O1O2, kameravakio c ja kuvakanta B. Kuvausgeometria vastaa stereokuvauksen normaalitapausta. 

 Sekä kamera- että kohdekoordinaatisto määrittyvät kolmessa yhteisessä pisteessä T, O1 and O2.

Kohde- ja kamerakoordinaatistojen välinen yhteys voidaan kuvata lausumalla vektorien O1O2, TO1 x O1O2, ja TO1 suuntaiset yksikkövektorit kummassakin koordinaatistossa. Tällöin kohteen yksikkövektorit ijk vastaavat koordinaatistojen välistä kiertomatriisia Robject-to-camera ja kameran yksikkövektorit sen kantavektoreita ijk.

 

Laskuesimerkkejä


Likimääräisen kiertomatriisin esittäminen kohteelta kuvalle. Huomaa, että koordinaatistot ovat vasenkätisiä, millä ei tässä tarkastelussa ole merkitystä. Koordinaatistokuvasta nähdään, että X- ja x-koordinaattiakselit kasvavat samaan suuntaan. Tällöin uudet x-koordinaatit saavat arvot suoraan vanhoista X-koordinaateista eli kiertomatriisin vasen yläalkio saa arvon 1. Uudet y-koordinaatit saavat arvoikseen vanhojen Z-koordinaattien vastaluvut eli oikea keskirivin alkioista saa arvon -1. Uusiksi z-koordinaateiksi tulevat vanhat Y-koordinaatit sellaisenaan eli keskimmäinen alarivin alkioista saa arvon 1. Loput alkiot ovat nollia.

Sama kiertomatriisi laskettuna tarkoista kulmasuureista. Kiertomatriisi R* vastaa yllä esitettyä likimääräistä kiertomatriisia kohteelta kuvalle.

 Kiertokulmien arvot voidaan laskea kiertomatriisin alkioista. Kulmien likiarvoja on vaikea päätellä kuvasta, mutta ne saadaan yllä esitetyn likiarvoisen kiertomatriisin kautta.

Joissain tapauksissa kuvan ulkoisen orientoinnin kulmat esitetään kuvakierron (kappa) sekä suurimman kallistuksen suunnan (alpha) ja suuruuden (nyy) avulla. Myös nämä voidaan laskea kiertomatriisin alkioista.


Siirrot kohdekoordinaatistossa kamerakoordinaatiston akselien suunnassa


Liikkumiseen virtuaalisessa kolmiulotteisessa maailmassa on tarvitaan työkaluja.  Tilanne vastaa täysin  kameran paikan (katselupisteen) siirtoa. Liikkuminen on helpointa, jos vaihtoehtoina ovat siirrot: vasemmalle, oikealle, ylös, alas, eteen ja taakse. Jos katsomissuunta on jonkin kohdekoordinaatiston akselin suuntainen, tilanne on helppo (muutetaan suoraan kohdekoordinaatteja). Katsottaessa vapaasti valittuun suuntaan tilanne on toinen.  Jos nämä liikkeet ajatellaan kamerakoordinaatistossa, kyseessä ovat kamerakoordinaatiston akselien suunnat. Tehtävänä on siis selvittää kamerakoordinaatiston akselien suunnat kohdekoordinaatistossa. Ratkaisu sisältyy suoraan kolmilotteiseen kiertomatriisiin.



Kiertomatriisista otettu sarake on yksikkövektori eli sen pituus on yksi. Näin parametri n määrittää, kuinka monta kohdekoordinaatiston yksikön siirtoa halutaan tehdä (kamerakoordinaatiston jonkun akselin suunnassa). Esimerkiksi, jos yksikkönä on metri ja haluttaisiin edetä yhden cm siirroilla, n:n arvo olisi 0.01.

Maa-57.301 Fotogrammetrian yleiskurssi
1 2 3 4 5 6 7 8 9 10 11 12 13