(P.
Rönnholm / H.
Haggrén, 23.9.2003)
Luento 5: Kiertomatriisi
AIHEITA
Kiertomatriisit fotogrammetriassa
- Kiertomatriisilla
kierretään kohteen esitys
koordinaatistosta
toiseen.
- Kierto on
yleensä kaksi- tai kolmiulotteinen.
- Kierto on
yleensä jäykkä (karteesinen kierto), eli
se
tehdään
ortogonaalisesti, jolloin kohteen muoto ja koko säilyvät
ennallaan.
- Kiertomatriisit
kohteen ja kuvan välillä R*
sekä
kuvan ja kohteen välillä R ovat toisilleen
käänteisiä,
eli R* = R-1(=
RT).
- Fotogrammetriassa
käytettyihin karteesisiin
koordinaatistomuunnoksiin
sisältyy myös yleisesti origon siirto ja mittakaavan muutos.
- Kiertomatriisia
käytetään fotogrammetriassa
koordinaatistojen
kiertämiseen eri yhteyksissä, joita ovat mm. seuraavat:
- Koordinaatistomuunnos
maastosta kuvalle,
tehtävänä
kuvakoordinaattien
laskeminen.
- Koordinaatistomuunnos
kuvalta maastoon,
tehtävänä
kohdekoordinaattien
laskeminen.
- Stereomallin
absoluuttiseen orientoimiseen,
tehtävänä
mallikoordinaatiston
nivellointi eli mallikoordinaatiston kiertäminen vaakatasoon.

Kolmiulotteinen yhdenmuotoisuusmuunnos kamerakoordinaateista
kohdekordinaatistoon kirjoitettuna eri tavoilla.
Ortogonaliteettiehdot
- Kohde voidaan
muuntaa yhdestä 3-D koordinaatistosta toiseen
siirtämällä
ja kiertämällä. Muunnoksessa siirtoja on kolme: X-, Y-
ja
Z-siirto, samoin kiertoja: X-, Y- ja Z-kierto. Kiertäminen
esitetään
3 x 3 kiertomatriisilla. Nämä 9 alkiota ovat suuntakosineita,
joilla 'vanhat' X-, Y- ja Z-komponenttivektorit projisoidaan kukin
uuden
vektorin X-, Y- ja Z-komponenteiksi.
- Ortogonaaliehdot
voidaan lausua yhtälöinä
suuntakosinien
välillä ja niillä huolehditaan siitä, että
kohteen
muoto ei muutu, kun sitä kierretään. Ortogonaaliehdot
ovat:
- Yksittäisen
komponenttivektorin pituus ei saa muuttua
projisioinnin
aikana.
- Komponenttivektoreiden
tulee olla projisioinnin jälkeenkin
kohtisuorassa
toisiaan vastaan.
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
- Kiertomatriisien
alkioissa kulmat luetaan koordinaattiakselien
välisinä
kulmina, esimerkiksi kulma "Xx" on kulma kohdekoodinaatiston X-akselin
ja kamerakoordinaatiston x-akselin välillä. Suuntakosini "cos
Xx" projisioi kohdekoordinaatiston X-komponentin kamerakoordinaatiston
x-akselille. Kamerakoordinaatti x muodostuu, kun tähän
projisioidaan
lisäksi kohdekoordinaatiston Y- ja Z-koordinaatit.
- Suuntakulmia on
tässä yleisessä esitystavassa
yhtä
monta kuin kiertomatriisin alkioita eli yhdeksän. Jos
koordinaatistot
ovat suorakulmaisia kuten yleisesti esitetään,
kiertomatriisin
alkioiden välillä on kuusi kohtisuoruus- eli
ortogonaliteettiehtoa.
Tällainen kiertomatriisi voidaan esittää kolmen kulman
avulla,
esimerkiksi omega, fii ja kappa, tai alfa, nyy ja kappa.


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