Maa-57.301 Fotogrammetrian yleiskurssi

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

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

Luento 4: 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.


Seuraavassa taulukossa esitettyjen merkintöjen selvennys. Kuva ei täysin vastaa taulukon lukuarvoja, mutta periaate on sama. Vektoreiden yksikkövektoreita on merkitty taulukoissa pienellä u-kirjaimella.

 Sekä kamera- että kohdekoordinaatisto määrittyvät kolmessa yhteisessä pisteessä T, O1 ja O2. Selvitetään ensin pisteiden O1 ja T välinen vektori. Tarkastellaan tämän vektorin vaakaprojektiota kohdekoordinaatiston XY-tasossa. Jakamalla vektori pituudellaan saadaan sen yksikkövektori (pituus siis on yksi). Kuvausjärjestelyn mukaan kuvasivu asetettiin horisontin suuntaiseksi. Tällä perusteella voidaan todeta, että tähtäysvektorin tasoprojektio on suorassa kulmassa kameran x-akselin suhteen. Näin on saatu selville x-akselin suunta yksikkövektorina. Kertomalla x-akselin suuntainen yksikkövektori kannan pituudella saadaan selville suhteellinen vektori  pisteiden O1 ja O2 välille (suunta ja pituus oikeat). Lopuksi toisen kuvan projektiopiste O2 muutetaan kohdekoordinaatistoon lisäämällä O1OO1:een. Tähtäyspisteen T etaisyys kamerakoordinaatistossa (x,y,z) projektiokeskusksesta O1 saadaan laskemalla vektorin O1T pituus. Etäisyys on negatiivinen, koska kameran z-akseli kasvaa kuvaussuunnasta poispäin.

Kohde- ja kamerakoordinaatistojen välinen yhteys voidaan kuvata lausumalla vektorien O1O2, TO1xO1O2, 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. Vektori TO1xO1O2 on siis kohtisuorassa vektorien O1O2 ja TO1 virittämän xz-tason suhteen.

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