algoritmy pre rekon atrukciu 3-d obrazudiplom.utc.sk/wan/1288.pdf · fyzika, geografia a v mnohých...
TRANSCRIPT
1
1. Úvod
Spracovanie a rekonštrukcia 3-D obrazu hrá dôležitú úlohu vo vývoji modernej
trojrozmernej televízie. Technológia 3-D televízie nie je nová. Prvé pokusy o 3-DTV sa
objavili už v 20. rokoch minulého storočia. Vo vývoji 3-DTV existuje viacero prístupov,
ktoré sa zaoberajú rekonštrukciou 3-D obrazu. Patrí sem stereoskopia, teda pohodlné
sledovanie 3-D obrázkov, lepšia autostereoskopia, sledovanie 3-D filmov bez špeciálnych
okuliarov a holografia, ktorá prinesie divákom dokonalý vizuálny zážitok. Stereoskopická
metóda patrí medzi najstaršie a najjednoduchšie metódy. . Je založená na tom, že sa na
svet pozeráme dvomi očami. Technológia stereoskopie stavia na tom, že každému oku sa
premieta mierne pozmenený obraz, čím vzniká ilúzia hĺbky v priestore. Bohužiaľ,
sledovanie takéhoto obrazu je dosť únavné, čo sa snažíme napraviť. Holografia je
založená na princípe skutočnej duplikácie svetla, ktoré nám prináša kompletnú
informáciu o priestore. Holografická 3-DTV je oveľa zložitejšia, no dokáže divákovi
sprostredkovať dosiaľ nevídaný zážitok zo sledovania trojrozmerných filmov. V praxi sa
s ňou stretneme asi o 10 rokov.
Spracovanie 3D obrazu má veľké uplatnenie aj v oblasti medicíny napr. pri detekcií
a identifikácií nádorov v mozgu. Uplatňuje sa aj oblastiach ako je astronómia, biológia,
fyzika, geografia a v mnohých ďalších.
1.1. Úloha a cieľ diplomovej práce
Cieľom tejto diplomovej práce je predstaviť metódy a aplikácie na spracovanie
obrazovej informácie a následnej výroby 3-D modelu, pričom kladie dôraz na získavanie
a vytváranie 3-D informácie
S problémom 3-D zobrazovania sa bežný užívateľ výpočtovej techniky stretáva
veľmi málo, s trojrozmerným snímaním a spracovaním obrazu ešte menej. Táto
diplomová práca je zameraná na získanie prehľadu o problematike 3-D rekonštrukcie a
popis jednotlivých metód na získanie 3-D obrazu.
Uvediem niekoľko metód na získanie 3-D modelu (obrazu), ktoré sa v dnešnej dobe
používajú. U niektorých metód sa vyžaduje pomerne veľká znalosť matematiky pre
2
získanie dát, ktoré sú potrebné pre rekonštrukciu 3-D obrazu. Preto niektoré metódy som
popísal heslovito na pochopenie princípu, pričom uvediem odkazy, kde sú tieto metódy
rozpracované podrobnejšie. Dôkladnejšie sa budem zaoberať metódou stereo
rekonštrukcie, ku ktorej je vytvorení program.
3
2. 3-D rekonštrukcia obrazu
2.1. Základné metódy 3-D rekonštrukcie
Na 3-D rekonštrukciu sa v dnešnej dobe používa veľké množstvo metód, ktoré
pracujú s rôznymi postupmi a princípmi pri rekonštrukcií obrazu. Základný rozdiel medzi
týmito metódami je v postupe 3-D snímania scény. Tieto metódy môžeme rozdeliť do
dvoch skupín. Prvú skupinu tvoria metódy, ktoré využívajú na snímanie bežné odrazené
svetlo ( pasívne metódy – Fyziologické metódy ), a v druhej skupine sa nachádzajú
metódy, ktoré vyžadujú osvetlenie predmetu vlastným zdrojom svetla so špecifickými
vlastnosťami ( aktívne metódy – Lúčové metódy ).
2.1.1. Lúčové metódy
Lúčové metódy patria medzi metódy s aktívnym snímaním scény. Znamená to, že
informáciu o tvare objektu získavame z intenzity obrazu. Kamery zisťujú vzdialenosti
každého body v scéne pod určitým uhlom pohľadu a získané informácie zapisujú do
dvojrozmernej funkcie, ktorá nám vytvorí hĺbkovú mapu scény. Medzi najpoužívanejšiu
metódu z tejto skupiny je metóda založená na štruktúrovanom svetle ( svetelné metódy ).
Štruktúrované svetlo : Zariadenie, ktoré pracuje so štruktúrovaným svetlom sa
používa v systémoch, v ktorých poznáme osvetlenie so známym geometrickým vzorom
svetla. V jednoduchom bodovom systéme je svetlo projekčného zariadenia vzdialené od
Základné metódy 3D rekonštrukcie
Lúčové metódy Fyziologické metódy
- rádiové metódy - svetelné metódy - akustické metódy
- z dvoch stereo obrázkov - z viacerých obrázkov - zo stupňa tieňovanie - z pohybu kamery v scéne - z pohybu objektov v scéne
4
kamery základnou vzdialenosťou b, ako je to znázornené na obrázku 2.1. Súradnice
objektu ( )zyx ,, získame pomocou súradníc obrazu ( )yx ′′, a uhla θ pomocou rovnice:
[ ] [ ]fyxxf
bzyx ′′
′−=
θcos.
Obr.2.1 Geometrické rozloženie laserového projektoru a kamery
Akustické metódy sa používajú v námorníctve na vytvorenie 3-D podmorského
povrchu. Využívajú sa pri tom lodné sonary. Rádiové metódy sa dnes využívajú hlavne
v modernej medicíne. Využíva sa pri tom magnetická rezonancia ( MRI ). Magnetická
rezonancia je moderná diagnostická metóda. Používa magnetické impulzy k vytvoreniu
vrstvových rezov ľubovoľnej ľudskej časti tela. Oproti röntgenovému vyšetreniu
nezaťažuje pacienta žiadnym ionizujúcim žiarením, takže nemá vplyv na ľudské zdravie.
5
2.1.2. Fyziologické metódy
Fyziologické metódy patria do skupiny pasívnych metód, pretože pracujú už s
vytvorenými snímkami scény. Nevyžadujú žiadne špeciálne osvetlenie rekonštruovanej
scény. Do tejto skupiny patrí steroskopia, ktorá na vytvorenie 3-D obrazu používa dve
alebo viaceré snímky rekonštruovanej scény. Metóda založená na stupni tieňovania
využíva zmeny obrazovej intenzity ( tiene ) pre opätovné získanie povrchového tvaru.
Táto metóda predpokladá hladký povrch v obraze, preto sa nepoužíva. Metódy založené
na pohybe kamery, alebo pohybu objektov v scéne, využívajú zmeny polohy bodov
v obraze.
2.2. Postup pri 3-D rekonštrukcií
Existuje niekoľko metód, ktoré hľadajú skratky k cieľu automatického obrazového
základného prevodu. Všetky majú jedinečné výhody, ale aj neodvratné obmedzenia. Dve
popredné obmedzenia v obrazovom základnom modelu a prevode je výber význačných
čŕt a kalibrácia kamery. Vývoj rýchlych a výkonných metód, často znamená aproximačné
riešenia medzi týmito obmedzeniami. Náš cieľ je vyšetrenie hlavných metód, ktoré
nevyžadujú zásah užívateľa a mimoriadny hardvér. Tieto metódy sa musia zaoberať
dvoma problémami.
3-D rekonštrukcia, popísaná v tejto práci, je automatická a užívateľ s prístupom ku
kamere je schopný zostrojiť 3-D model bez znalostí 3-D geometrie a kamerového
hardvéru. Sú to hlavné výhody pri získavaní kompletného 3-D modelu. Napríklad,
počítačové hry často používajú veľké 3-D modely. Objekt môže byť najskôr
vyfotografovaný, zrekonštruovaný a potom jemne doladení pre určitý zámer.
6
Hlavný 3-D rekonštrukčný algoritmus pozostáva z nasledujúcich krokov:
Celková 3-D rekonštrukcia
1. Popis obrazu
a, popis význačných čŕt v obraze
b, porovnávanie význačných rysov
2. Kalibrácia kamery
a, východisková rekonštrukcia
- predbežné navrhnutie fundamentálnej matice F
b, zdokonalenie rekonštrukcie
- vytvorenie zlepšenej navrhovanej matice
c, vlastné kalibrovanie ( self-calibration )
3. Určenie fundamentálnej matice F na jej cieľovú presnosť
4. Vytvorenie 3-D modelu
a, rozšírenie súboru 3-D bodov
b, prispôsobenie povrchu
c, doplňovanie štruktúry
Cieľom 3-D rekonštrukcie je pomocou niekoľkých obrazov zo scény, vytvoriť 3-D
model, s ktorým môžeme ďalej pracovať. To môžeme vykonať, ak poznáme vzťahy
medzi obrazmi a kalibráciou kamier.
Obrazový pár pozostávajúci z dvoch obrazov, je taký, ktorý má najmenej niekoľko
pixelov ( pokiaľ možno všetky ), ktoré medzi sebou súvisia ( korešpondujú ). Ak
poznáme kalibračnú maticu kamery K , znamená to, že všetky informácie o pozícii a
rotácií obrazu okolo osi kamery sú známe a vnútorné parametre ( napr. ohnisková
vzdialenosť ) sú tiež známe.
Jeden spôsob riešenia problému 3-D rekonštrukcie, je v nastavovaní kalibrovaných
kamier. To znamená, že musíme použiť špeciálny hardvér pre generovanie postupností,
7
ktoré nám nastavia kameru, čo má za následok vysokú cenu na rozvoj modelovania.
Mnohých nových aplikáciách sa požadujú lacné systémy na spracovanie 3-D obrazu. Na
splnenie týchto požiadaviek, musíme pracovať s tým, že obrazy budú získané z
ľubovoľnej kamery, ktorá má neznámu kalibráciu. Vzťahy medzi obrazmi a kalibráciou
kamier musí byť vybratý z obrazovej sekvencie.
Na vytvorenie 3-D obrazu, potrebuje získať vzťahy medzi obrazmi a kalibračné
vlastnosti všetkých kamier. Musíme preto poznať vlastnosti použitých kamier a vzťahy
medzi obrazmi. Preto sa snažíme získať algoritmus, ktorý popisuje súvislosti medzi
obrazmi. Ak sú obrazy podobné, je možná kalibrácia kamier. Na druhej strane, získanie
vzťahov medzi obrazmi sa hľadá ľahšie ak poznáme kalibračné vlastnosti kamier. Z toho
dôvodu, nasledujúcich krokoch je popísaní algoritmus, ktorý hľadá spoločné body
v použitých obrazoch. Táto časť popisu je nazývaná hustá súhlasnosť ( korešpondencia,
zhodnosť ). Zhodnosť bodov hovorí, že každý pixel v prvom obraze má zhodný
prisluchajuci pixel v druhom obraze. Algoritmus 3-D rekonštrukcie môžeme rozdeliť do
nasledovných kategórií.
1. Vzťahy ( relácie ) medzi obrazmi
2. Kalibrovanie kamier
3. Zhodnosť bodov
4. Vytvorenie 3-D obrazu
2.2.1. Vzťahy ( relácie ) medzi obrazmi
Postup pri hľadaní vzťahov môžeme rozdeliť do nasledujúcich krokov:
1. Hľadanie zaujímavých bodov ( rysov, čŕt )
2. Párovanie bodov
3. Výpočet základnej ( fundamentálnej ) matice medzi obrazovými pármi
Účelom tejto časti algoritmu je zistiť súvislosť medzi obrazmi. Táto relácia sa
nazýva epipolárna konfigurácia. Základná matica má veľkosť 33× , kde je zakódovaná
8
konfigurácia epipolár medzi dvoma obrazmi. Na odhad tejto matice, je potrebné poznať
sedem zhodných párov. Najskôr vyberáme význačné rysy v oboch obrazoch. Vybraté
body, sú body so spoľahlivými vlastnosťami, a z toho dôvodu sa používajú pre prvé
kroky v algoritme. Tieto body nájdeme použitím znakového bodového extraktora, ako je
Harris a Stephens rohový detektor [1].
Po získaní význačných bodov, je ďalším krokom tieto body porovnávať. Problém
porovnávania je v náročnosti hľadania tej istej črty v rozdielnych pohľadoch na tú istú
scénu. Preto existuje niekoľko algoritmov pre zjednodušenie tohto problému. Je dôležité,
aby zhody boli presné a neobsahovali žiadne chyby. V praxi sa vyskytujú chybné
prispôsobenia ( okolo 10-20% ), preto je potrebné vybrať najlepších 7 zhodovaní na
výpočet základnej ( fundamentálnej ) matice. Na výber najlepších zhodných bodov sa
používa napr. RANSAC metóda ( náhodný výber zhody ) [2].
Pomocou tohto algoritmu môžeme spracovávať obraz a vypočítať základnú maticu
medzi obrazovými pármi. Ak dostaneme základnú maticu, môžeme vypočítať kalibračné
vlastnosti kamier. Vďaka zhodnosti bodov s kalibrovanými kamerami môžeme vytvoriť
projekčný model. Projekčný model je prvý krok na získanie úplných kalibračných
vlastností kamier.
2.2.2. Kalibrovanie kamier
Kalibrovanie kamier môžeme nastavovať rôznymi spôsobmi. Najviac metód
používa projekčný model ako vstup do kalibračnej fáze.
Projekčný 3-D model je použitý ako vzor v projekčnom priestore. Metrický
priestor, ktorý sa používa v reálnom živote, má vlastnosť, že vzdialenosti a uhly sa
nemenia ( sú konštantné ). Ale toto nie je prípad projekčného priestoru. Riadky, ktoré sú v
paralelné metrickom priestore, nie sú paralelné v projekčnom priestore. Projekčný model
môže byť vypočítaní pomocou vhodných bodov a nekalibrovanej kamery. Tento model sa
používa pre počítačové videnie a roboty, ale tento model nie je vhodný pre zrakovú
predstavivosť človeka.
Pri samo - kalibrovaní ( self – calibration ) je projekčný model zaujímavý tým, že je
možné ho zmeniť na metrický model. Samo - kalibrácia sa zaoberá hľadaním úprav
9
zmien, ktoré umožnia v metrickom priestore použiť aj iné modely ako je metrický model.
Hľadanie týchto zmien je najťažší problém v 3-D rekonštrukcií.
Samo kalibrovanie je proces určovania vnútorných kamerových parametrov,
použitím nekalibrovanej obrazovej sekvencie. Je možné tu počítať s metrickou
rekonštrukciou. Samo kalibrovanie skúša vypočítať kalibrovanie z obrazov samostatne,
bez akýchkoľvek iných predchádzajúcich informácií.
2.2.3. Zhodnosť bodov
Predpokladáme, že dostaneme obrazovú sekvenciu, ktorá je zachytená kamerou
a posúva sa pozdĺž horizontu. Sekvencia je očíslovaná tak, že obraz 1 je prvý zľava a
obraz N je prvý sprava. V sekvencií potom platí, že bod v obraze i je vždy vľavo od
príslušného bodu v obraze j ak i<j .
Kamera sa posúva vždy pozdĺž osi X, a poloha zhodných bodov v sekvencií
obrazov môže byť nájdená ich vyhľadávaním pozdĺž vodorovných riadkov v týchto
obrazoch. Tento princíp zjednodušuje porovnávací postup. Predpokladáme, že poloha
zhodných bodov ( ďalej len zhoda ) je nájdená v obraze i a v obraze k. Potom, ak i<j<k ,
zhoda v obraze j bude ležať medzi jej polohou v obraze i a v obraze k. Takto, bude ležať
zhoda vpravo v obraze i a vľavo od jej polohy v obraze k. Tiež musí platiť ,že všetky
pixely medzi dvoma bodovými zhodami v obraze i musia ležať medzi rovnakými
bodovými zhodami v obraze j .
2.2.4. Vytvorenie 3-D obrazu
V tomto stupni, máme už kamery nastavené a zhodné body sme už našli. Použitím
zhodnosti bodov spolu s kamerami je možné odhadnúť hĺbku bodov. Takýto 3-D model
pozostáva z tisícky bodov, ktoré sme získali predchádzajúcim spôsobom. Tieto body
môžeme zmapovať do modelu. Vhodnú parametrickú plochu získame prostredníctvom
bodov, čo sa dá dosiahnuť modelom zloženého z plôch namiesto bodov. Ak sú všetky
tieto plochy vzorkované váhovým trojrohovým vzorom, môžme získať realistický 3-D
model.
10
3. Matematické základy
3.1. Rozdelenie 3-D geometrie
3-D geometria je tvorena rôznymi vrstvami, ktoré sú maju svoje vlastnosti. Každá
vrstva má súbor konštánt a súbor zmien, ktoré zachovávajú nemennosť ( konštantnosť )
vrstvy. Vrstva s najväčším súborom zmien ( s najmenším súborom konštánt ) je projekčná
vrstva ( obsahuje 15 stupňov voľnosti ). Affinna vrstva je podmnožina projekčnej vrstvy,
metrická vrstva je podmnožinou affinej vrstvy a euklidovská vrstva je podmnožina
metrickej vrstvy. Aktualizácia 3-D vzoru ( modelu ) z jednej vrstvy do inej vrstvy
znamená, že sú identifikované zmeny modelu a súbor zmien ( obr.3.1. ).
Obr.3.1. Rozloženie 3D geometrie na vrstvy
Afinna vrstva ( aj projekčná vrstva ) je používaná pre aplikácie s
počítačovým videním robotov, ale nie je vhodná pre ľudské videnie. Ľudské vlastnosti
oka sa uplatňujú metrickej vrstve. To znamená, že vyniká v odhade uhla a v striedaní
rovnobežiek, ale nemôže vnímať absolútnu dĺžku. Jediný rozdiel medzi euklidovskou
vrstvou a metrickou vrstvou je v tom, že v metrickej vrstve mierka nie je konštantná.
Preto je metrická vrstva dobrá pre ľudské videnie[3].
11
3.1.1. Projektívna geometria
V tejto kapitole stručne vysvetlím teoretický základ tejto témy. Projektívna
geometria poskytuje potrebnú matematickú konštrukciu. Spolu s vedomosťami
o kamerách môžeme dosiahnuť 3-D rekonštrukcia obrazu, použitím jednoduchých
obrázkov z kamier [4].
Homogénne súradnice
Bod v projekčnom ( n – rozmernom ) priestore Pn, je reprezentovaný (n+1)
vektorom so súradnicami [ ]Tnxxx 11,... += . Aspoň jedna súradnica z tohto vektora musí
mať nulovú hodnotu. Potom dva body v (n+1) vektoroch x a y považujeme za zhodné, ak
platí, že yx ⋅= λ , kde λ je nenulová konštanta. Ak sú dva body zhodné, vyjadríme to
zápisom yx ~ . Pretože nastavenie mierky v projekčnej geometrií nie je dôležité, vektory
popísané vyššie nazývame homogénne súradnice bodov.
Ak pre homogénne body platí rovnica 01 =+nx , potom sa body nachádzajú
v nekonečne. Tieto body sú popísané v Affinej geometrií.
Projekčná rovina
Projektívny priestor 2P sa nazýva ako projekčná rovina. Bod v rovine 2P je
definovaný ako vektor [ ]Txxxx 321 ,,= , kde platí, že ( ) ( )3231 /,/, xxxxvu = je
usporiadanie bodov v euklidovskom priestore. Priamka v tejto rovine je definovaná
smerovým vektorom [ ]Tllll 321 ,,= . Potom môžeme napísať vektorovú rovnicu:
∑=
=⋅3
0
0i
ii xl . (3.1)
Potom pre bod, ktorý leží na tejto priamke musí platiť:
0=xl T . (3.2)
Je to rovnica priamky, kde bod x je reprezentovaný súborom pretínajúcich sa
priamok. Túto rovnicu môžeme tiež nazvať rovnicou bodu, kde krivka l je
12
reprezentovaná súborom bodov. Týmto vyjadrením sa dokazuje, že v rovine 2P nie je
rozdiel medzi bodmi a krivkami. Nazýva sa to princíp duality.
Priamka, na ktorej ležia dva body x a y, sa dá popísať rovnicou:
yxl ×= , (3.3)
ktorú môžeme tiež vyjadriť nasledovným spôsobom:
[ ] yxl x ⋅= . (3.4)
Kde pod [ ]xx rozumieme maticu tvaru:
[ ]
−−
−=
0
0
0
12
13
23
xx
xx
xx
x x . (3.5)
Je to antisymetrická matica vektora x spojená s vektorovým súčinom. Priesečník
dvoch priamok l1, l2 je definovaný vektorovým súčinom : 21 llx ×= .
Všetky priamky prechádzajúce cez zvolený bod vytvoria ružicu priamok. Ak sú dve
priamky 1l a 2l základňami v tomto nákrese, potom všetky ostatné priamky môžeme
dostať nasledovným spôsobom (obr.3.2):
2211 lll λλ += . (3.6)
Kde 1λ a 2λ sú skaláry (konšt.).
Krížový pomer
Ak štyri body x1, x2, x3, x4 sú kolineárne ( ležia na tej istej priamke ), môžeme
napísať rovnicu:
zyx ii λ+= . (3.7)
Ak máme dva body y a z, a žiadny bod xi sa nezhoduje s bodom z, potom môžeme
napísať krížový pomer nasledovným spôsobom :
13
42
32
41
314321 ,;,
λλλλ
λλλλ
−−
÷−−
=xxxx . (3.8)
krížový pomer je invariantný ( nemenný ) ku všetkým kolineárnym priamkam z
projekčného priestoru. Podobný krížový pomer môžeme odvodiť pre štyri priamky
4321 ,,, llll z 2P pretínajúce sa v spoločnom bode. Ich krížový pomer 4321 ,;, llll je
definovaný ako krížový pomer priesečníkov 4321 ,;, xxxx s priamkou l , ktorá prechádza
cez body 4321 ,;, xxxx . Postup je zobrazený na obrázku 3.2.
Obr.3.2 Krížový pomer štyroch priamok: 43214321 ,;,,;, xxxxllll = .
Kolineácia
Ružica priamok je súbor priamok v rovine 2P prechádzajúcich cez pevne
stanovený bod. Kolineácia v 2P je definovaná invertovatelnou maticou 33× , ktorá
obsahuje mierku škálovania. Kolineácia transformuje body, priamky a ružice priamok do
bodov, priamok a ružíc priamok, pričom sa zachová krížový pomer. V rovine2P ,
kolineáciu nazývame “homografia“, ktorá je reprezentovaná maticou H. Bod x je potom
transformovaný nasledovným spôsobom :
Hxx ~′ . (3.9)
14
Transformácia priamky l je najdená pomocou transformácie bodov x na tejto
priamke. Potom nájdeme priamky definované pomocou týchto bodov:
01 ===′′ − xlHxHlxl TTT . (3.10)
Kde pomocou ( ) ( ) 11 −−− == TTT HHH dostaneme:
lHl T−′ ~ . (3.11)
Projekčný priestor
Priestoru 3P hovoríme projekčný priestor. Bod v priestore 3P je definovaný 4-mi
prvkami vektora [ ]Txxxxx 4321 ,,,= . Duálna podstata bodu v 3P je daná rovinou, ktorá je
tiež definovaná 4 vektormi [ ]T4321 ,,, πππππ = . Potom dostaneme rovnicu pre priestor
3P :
∑=
=4
1
0i
ii xπ . (3.12)
Ak bod x je umiestnený v rovine π , potom platí nasledujúca rovnica:
0=xTπ . (3.13)
Štruktúra ružice rovín je podobná ako štruktúra ružice priamok v rovine 2P . V
ružici rovín sa všetky roviny pretínajú v určitej priamke.
Krížový pomer
Krížový pomer v 3P je definovaný štyrmi rovinami 4321 ,,, ππππ z priestoru 3P ,
ktoré sa pretínajú na priamke l . To znamená, že krížový pomer 4321 ,;, ππππ je
definovaný ako krížový pomer 4321 ,;, llll štyroch priamok, ktoré sa pretínajú s rovinou
π , cez ktorú neprechádza priamka l .
15
.
Obr. 3.3 Krížový pomer štyroch rovín: 43214321 ,;,,;, llll=ππππ .
Kolineácia v 3-D priestore
Kolineácia v priestore 3P je definované prevrátenou maticou T o veľkosti 44× ,
ktorá je definovaná podľa určitej mierky. Podobne ako v rovine2P , je transformácia
bodov x a rovín π v priestore 3P nasledujúca:
Txx ~′ , (3.14)
ππ TT −′ ~ . (3.13)
Teraz, keď už máme popisanú konštrukciu pre projekčnú geometriu, môžeme
definovať 3-D euklidovský priestor nachádzajúci sa v projekčnom priestore 3P .
Obrazová rovina kamery sa tiez nachádza v projekčnom priestore 2P . Preto sa da použiť
mapovanie 3-D priestoru do obrazovej roviny ( )23 PP → , pomocou matice o veľkosti
43× ( vlastnosť kolineácie ).
16
3.1.2. Affina geometria
Táto vrstva sa nachádza medzi projekčnou a metrickou geometriou a líši sa od
projekčnej vrstvy tým, že obsahuje viac štruktúr, ale má ich počet zmien je menší ako u
metrickej a euklidovskej vrstvy
Affine rovina
V projekčnej rovine priamka v nekonečne 1l ma rovnicu 03 =x , resp. definovaná
vektorom [ ] .1,0,0 Tl =∞
Za affinu rovinu môžeme považovať rovinu, ktorá sa nachádza v projekčnej rovine
a platí, že 22 PA → : [ ] [ ]TT XXXXX 1,,, 2121 →= . Je to jednoduchá zhodnosť affinej a
projekčnej roviny na priamke v nekonečne, kde platí rovnica 03 =x . Pre projekčný
bod [ ]Txxxx 321 ,,= , ktorý sa nenachádza na priamke v nekonečne, môžeme affine
parametre vypočítať ako .,3
22
3
11 x
xX
x
xX ==
Bod x je transformovaný v affinej rovine nasledovným spôsobom:
bBXX +=′ . (3.16)
Kde B je matica o veľkosti 22× a b je vektor 12× .
V projekčnom priestore 2P je možné definovať kolineáciu, ktorá udržuje
invariantnosť priamky ∞l . Táto kolineácia je daná maticou s veľkosťou 33× [5]:
=
102T
bBH . (3.17)
Affinny priestor
Ako aj v predchádzajúcej časti, aj tu je rovina v nekonečne a má rovnicu 04 =x . Za
affinny priestor môžeme považovať priestor, ktorý sa nachádza v projekčnom priestore ak
platí, že: [ ] [ ]TT XXXXXXXPA 1,,,,,: 32132133 →=→ . Ak existuje zhodnosť medzi
17
affinnym a projekčným priestorom, potom má rovina, ktorá sa nachádza v nekonečne
rovnicu 04 =x . Preto pre každý projekčný bod [ ]Txxxxx 4321 ,,,= , ktorý neleží v tejto
rovine, môžeme affine parametre vypočítať takto:4
33
4
22
4
11 ,,
x
xX
x
xX
x
xX === .
Affinnu transformáciu v priestore môžeme napísať presne ako v rovnici (3.16), kde
B je matica o veľkosti 33× a b je vektor 13× . Pre kolineáciu v (3.14) sa použitím
homogénnych súradníc môžeme affina transformácia pomocou prepíse do tvaru:
=
103TA
bBT . (3.18)
Na prechod z projekčného zobrazenia do affineho zobrazenia môžeme využiť
nevlastnú rovinu s jej kanonickou pozíciou [ ]T1000=∞π [8]. Použitím tejto
transformácie a rovnice (3.15) dostaneme:
∞−≈
πTT
1
0
0
0
alebo ∞≈
π
1
0
0
0
TT . (3.19)
Invariantná affinna vrstva má jednoznačné body, priamky a roviny v nekonečne.
Tento tvar má dôležitý význam pri kamerovej kalibrácií a pri úplnej 3-D rekonštrukcií.
3.1.3. Metrická geometria
Táto vrstva obsahuje skupinu spoločných čŕt. Transformácie v tejto skupine sú
euklidovské, ako je napríklad rotácia a prekladanie ( posun ). Metrická vrstva berie do
úvahy kompletnú rekonštrukciu pre neznámu mierku.
Metrická rovina
Affine transformácie môžu byť prispôsobené pre určenie priamky v nekonečne, ale
aj pre určenie dvoch bodov na priamke ( absolútne body, kruhové body). Kruhové body
18
sú dva komplexne združené body ležiace na priamke v nekonečne. Majú parametre
[ ] [ ]TT iJiI 01,01 −== , kde 1−=i .
Použitím rovnice (3.16) a následným dosadením I a J dostaneme:
.01
011
,01
011
22221
11211
22221
11211
bibb
bibb
i
bibb
bibb
i
+−+−
=−
++++=
Zjednodušením týchto rovníc dostaneme jednoduchší tvar v podobe rovníc:
( ) ( )( ) ( ) .0
0
21122211
21122211
=+−−−=+−−
bbibb
bbibb
Potom platí, že 021122211 =+=− bbbb , kde po ďalšej transformácií získame:
bXcX +
−=′
αααα
cossin
sincos . (3.20)
Platí, že 0>c a πα 20 <≤ . Táto transformácia nám hovorí, že ak prvý affiny bod
X krúži okolo začiatku pod uhlom α , tak pod koeficientom b rozumieme kalibráciu
kamery.
Kruhové body môžeme použiť na určovanie uhlov medzi dvoma priamkami. Tento
uhol je vypočítaný pomocou Laguerreho predpisu.
( )mm jilli
,;,log2
121=α . (3.21)
Uhol α medzi dvoma priamkami l1 a l2 môžeme definovať vzhľadom na ich
spoločný priesečník m a pomocou dvoch priamok im a jm spojených v priesečníku m k
absolútnym bodom I a J. Zobrazenie Laguerreho predpisu je zobrazené na obrázku 3.4.
Priamky l1 a l2 sú navzájom kolmé ak platí, že krížový pomer mm jill ,;, 21 sa
rovná -1, pretože 1sincos −=+= πππ je j .
19
Obr.3.4 Ilustrácia Laguerreho predpisu v rovine 2P .
Metrický priestor
Absolútny kužeľ
Absolútny kužeľ je kužeľ v nekonečnej rovine, u ktorého nedochádza ku zmenám
v 3-D priestore. To znamená, že obraz absolútneho kužeľa je nezávislý na pozícií a
orientácií kamery. Ak kameru posunieme z miesta C1 na pozíciu C2 a za predpokladu, že
poznáme vnútorné parametre kamery, obraz kužeľa bude ten istý v oboch obrazových
rovinách. Absolútny kužeľ je znázornení na obrázku 3.5.
Obraz absolútneho kužeľa má súvislosť s kamerovou kalibračnou maticou:
1−−∞ = KK Tω . (3.22)
Kalibračnú maticu vyberáme s pomocou Cholesky-ho rozloženia [8]. Takže ak poznáme
∞ω potom poznáme aj kalibračnú maticu K . Pod maticou ∞ω rozumieme maticu
absolútneho kužeľa, ktorá je popísaná v rovnici 4.11.
20
Obr.3.5 Zobrazenie absolútneho kužeľa
V metrickom priestore sa affinne zmeny menia u nemenného ( absolútneho )
kužeľa. Absolutný kužeľ Ω je získaný z kvadratickej rovnice:
∑=
==4
14
2 0i
i xx . (3.21)
Čo môžeme vysvetľovať ako kružnicu s polomerom rádiusom 1−=i (
imaginárna kružnica v rovine v nekonečne ).
Všetky body nachádzajúce sa v Ω majú komplexné usporiadanie, čo znamená, že
ak bod x je bod v Ω , potom komplexne združený bod x sa tiež nachádza v Ω .
Laguerre-ho predpis pre 3P je nasledovný: uhol α medzi rovinami 1π a 2π
môžeme určiť pomocou prieniku priamky l a dvoch rovín il a jl , ktoré tiež prechádzajú
cez priamku l a dotýkajú sa absolútneho kužeľa Ω .
( )ll jii
,;,log2
121 ππα = . (3.22)
21
Obr.3.6 Ilustrácia Laguerreho predpisu v rovine 3P .
Affinnu transformáciu, ktorá dodržiava Ω konštantné môžeme napísať ako:
bXCcX +⋅⋅=′ . (3.23)
Kde c>0 a platí, že 33×=⋅ ICC T . Affinna matica pre homogénne súradnice bude:
⋅10
~3TM
bCcT . (3.24)
V metrickej vrstve je absolútny kužeľ Ω konštantný. Existujú ešte dve konštantné
premenné, ktoré neboli spomenuté a to vzdialenosť a uhol.
Pre prechod z affinej do metrickej vrstvy musíme poznať vlastnosti kamery tj.
kalibračnú maticu kamery.
3.1.4. Euklidovská geometria
Euklidovská geometria je rovnaká ako metrická, rozdiel je len v tom, že relatívne
dĺžky sa prevedú na absolútne dĺžky. To znamená, že euklidovská transformačná matica
je podobná ako MT , len s tým rozdielom, že nemá činiteľ veľkosti c.
22
10~
3TE
bCT . (3.25)
3.2. Epipolárna geometria
Epipolárna geometria je prirodzenou projektívnou geometriou medzi dvomi
pohľadmi na scénu ( z anglického „two view geometry“ ). Pohľadom na scénu sa tu
myslí projekcia objektov scény do roviny. V praxi ide väčšinou o snímky z fotoaparátu
alebo kamery. Druh a vlastnosti projekcie sú závislé na konštrukcii a nastavení kamery.
Epipolárna geometria je nezávislá na štruktúre scény. Odvodzuje sa iba od vnútorných
parametrov kamery a vzájomnej polohy kamier.
Epipolárna geometria nám popisuje vzťahy medzi dvoma kamerovými systémami.
Príklad je znázornení na obrázku, kde sú dve kamery reprezentované 1C a 2C .
Obr.3.5 Epipolárna geometria.
Rovina vytvorená pomocou troch bodov >< 21MCC sa nazýva epipolárna rovina.
Priamky 1ml a 2ml sa nazývajú epipolárne priamky a sú vytvorené spojením epipolárnych
bodov ( e1, e2 ) s obrazovými bodmi ( m1, m2 ).
23
Bod m2 musí ležať na epipolárnej priamke 1mI bodu m1. Nazýva sa to epipolárny
tlak ( ohraničenie ) . Epipolárna priamka 1ml prechádza cez epipolárnu rovinu s druhou
obrazovou rovinou 2I . To znamená, že obrazový bod m1 odpovedá 3-D bodu na priamke
<C1M> . Všetky epipolárne priamky bodov v prvom obraze prechádzajú cez epipole e2 a
formujú sa takto do ružica rovín obsahujúcich základnú priamku <C1C2> .
Predchádzajúci popis je symetrický, ale len do určitej miery, ak platí, že bod m1
leží na epipolárnej priamke2ml bodu m2.
Ak vyjadríme epipolárny tlak algebralicky, dostaneme nasledujúcu rovnicu pre
prispôsobenie bodov m1 a m2:
0~~12 =mFmT . (3.26)
Kde F je fundamentálna matica s veľkosťou 33× . Podobným postupom si môžeme
odvodiť rovnicu na výpočet epipolárnych priamok:
11~mFlm = . (3.27)
Kde bod m2 odpovedá bodu m1 na priamke 1ml [8].
Postavenie obrazov môže byť tiež obrátené a teda musí platiť:
0~~21 =mFm TT . (3.28)
Tu sa ukazuje, že sa základná matica pri prehodení bodov zmení.
Ak platí rovnica 0~~12 =mFmT , a ak sa zhodujú súradnice prvej kamery so
súradnicovým systémom, potom platí:
[ ]MIKms~
0~333111 ×= , (3.29)
[ ]MtRKms~~
222 = . (3.30)
Kde K1 a K2 sú kamerové kalibračné matice, a R je rotácia druhej kamery a t je
posunutie medzi zodpovedajucimi bodmi v prvej a druhej kamere. Fundamentálnu maticu
24
F môžeme potom vyjadriť nasledovne:
[ ] 112−−= RKtKF x
T . (3.31)
Kde [ ]xt je anti - symetrická matica popísaná rovnicou:
[ ]
−−
−=
0
0
0
12
13
23
xx
xx
xx
x x . (3.32)
Fundamentálna matica je definovaná ako skalárny súčin a má sedem stupňov
voľnosti ( 7 nezávislých parametrov z 9 základných parametrov z F).
Ak poznáme vnútorné parametre kamery, potom fundamentálnu maticu nazývame
esenciálnou maticou.
Iné vlastnosti fundamentálnej matice sú odvodené z rovníc (3.26) a (3.27) , kde
pomocou úprav dostaneme:
0~~21 == eFeF T . (3.33)
Pod 1~eF si predstavujeme epipolárnu priamku prechádzajúcu cez epipolu e1.
Na obrázku 3.6 je znázorneny príklad pre epipolárnu geometriu. Ku každému bodu
x v prvom obraze existuje korešpondujúca priamka l’ v druhom obraze. Nazýva sa
epipolárna priamka. Pre ľubovoľnú dvojicu x, x’ existuje fundamentálna matica F. Jej
hodnosť je 2. F nie je závislá na scéne alebo voľbe korešpondujúcich bodov. Závisí iba na
vzájomnej pozícii kamier snímajúcich prvý a druhý obraz a na ich kalibrácii.
25
Obr.3.6 Body a s nimi korešpondujúce epipolárne priamky.
26
4. Kalibrovanie kamier
Kalibrácia kamery je základ pri 3-D rekonštrukcií. Obyčajne vnútorné parametre
každej kamery sú známe, alebo kalibračný objekt v scéne ja použitý pre kalibráciu
kamery. V mnohých situáciách však nie je známy zdroj obrázkov, čo znamená, že
nepoznáme vnútorné parametre kamery. Preto vnútorné parametre kamier musíme najsť z
obrázkov sami.
4.1. Pinhole kamera
Pinhole Kamera je najjednoduchší a ideálny model na modelovanie kamerových
funkcií. Obsahuje malý otvor, cez ktorý vstupuje svetlo pred tvarovaním obráteného
obrazu na filmovom povrchu diery. Pre zjednodušenie, obyčajne modelujeme pinhole
kameru položením obrazovej roviny medzi ohnisko kamery a objektu ( obrazu ) tak, aby
obraz nebol obrátený. To nám umožní zobraziť tri rozmery iba pomocou dvoch rozmerov,
čo sa nazýva perspektívne navrhovanie (obr.4.1). Perspektívna geometria tvorí základ pre
pochopenie analýz obrazu.
Obr. 4.1 Perspektívny návrh modelu pinhole kamery.
27
4.2. Kamerový model
Kameru obyčajne popisujeme podľa vlastností pinhole kamery. Pomocou
projektívnej geometrie popísanej v časti 3.1.1, môžeme popísať kamerový model
kolineáciou, ktorá mapuje projektívny priestor do kamerovej sietnicovej roviny 23 PP → .
Ak máme dané súradnice 3-D bodov [ ]TZYXM ,,= v euklidovskom súradnicovom
systéme a sietnicový obraz s usporiadaním [ ]Tvum ,= , potom môžeme napísať rovnicu:
MPms~~ = . (4.1)
Kde s je požadovaná mierka, [ ]Tvum 1,,~ = a [ ]TZYXM 1,,,~ = sú homogénne
súradnice vektorov m a M . P je matica o veľkosti 43× reprezentujúca kolineáciu
23 PP → . P je perspektívna navrhovaná matica.
Na obrázku 4.1 je ukázaný tento proces. Na obrázku je znázornený prípad, kde
navrhovaný stred kamery je umiestnení v začiatku súradnicového systému a sietnicová
rovina je vo vzdialenosti 1== fZ . Potom môžeme napísať, že Z
fXu = ,
Z
fYv = a
[ ]333 0×= IP . (4.2)
Optické priamky prechádzajú cez stred projekcie ( kamery ) C a sú ortogonálne k
sietnicovej rovine. Bod c sa nazýva hlavný bod, cez ktorý prechádzajú priesečníky
optických osí so sietnicovou rovinou. Ohnisková vzdialenosť kamery f je tiež znázornená
na obrázku, a je to vzdialenosť medzi stredom projekcie a sietnicovou rovinou.
Ak máme k dispozícií základnú projekčnú maticu P, je možné určiť súradnice
optického stredu a súradnice kamery.
28
Obr.4.2 Kamerový model.
4.3. Kamerová kalibračná matica
Kamerová kalibračná matica, označujeme K , obsahuje kamerové parametre použité
v zobrazovacom procese. Túto maticu používame na prevádzanie sietnicovej roviny do
obrazovej roviny a naopak.
( )
=
100
0
tan
0
0
vp
f
up
f
p
f
Kv
vu
α
. (4.3)
Ohniskovú vzdialenosť f považujeme za mierku. V normálnej kamere je ohnisková
vzdialenosť väčšia ako 1. Je tiež možné, že ohnisková vzdialenosť sa zmení v priebehu
zobrazovacieho procesu. Preto musíme obnovovať kamerovú kalibračnú maticu pre
každý nový obraz.
Hodnoty up a vp reprezentujú šírku a vrchol pixelu v obraze, a c je hlavný bod a α
je šikmý uhol. Vysvetlenie je na obrázku 4.3.
29
Obr.4.3 Znázornenie pixelu ( obrazový prvok ).
Potom je môžeme zjednodušiť vyššie uvedenú maticu (4.3) na tvar:
=100
0 0
0
vf
usf
K v
u
. (4.4)
Kde uf a vf sú ohniskové vzdialenosti ( v
vu
u p
ff
p
ff == , ) zmerané na šírke a
vrchole pixelu ( obr.4.3 ), s reprezentuje šikmý pixel a je vyjadrené pomerom vu ff : ,
ktorý charakterizuje pomer strán v kamere.
4.4. Pohyb kamery
Pohyb v 3-D scénach je reprezentovaný rotačnou maticou R a vektorom posunu t.
Z obrázku 3.5 určíme pohyb kamery zo súradnice C1 do súradnice C2, čo môžeme potom
popísať nasledovnou maticou:
13
2
~10
~C
tRC T
= . (4.5)
Kde R je rotačná matica o veľkosti 33× a t je posuv v X ,Y a Z súradniciach.
Pohyb bodov v scéne je ekvivalentný ( protismerný ) k inverznému pohybu kamery:
30
13
2
~
10
~M
tRRM
T
TT
−= . (4.6)
Pomocou predchádzajúcich rovníc môžeme dostaneme:
[ ]MtRKms~~ = . (4.7)
Čo môžeme zjednodušiť na tvar :
MPms~~ ⋅= , (4.8)
kde [ ]tRKP = .
4.5. Klasické kalibračné metódy
Klasické kalibračné metódy využívajú kalibračný vzor so známymi rozmermi
kamery. Vzor predstavuje plochú dosku s pravidelným výrazným vzorom ( obrázok 4.4 ) ,
alebo môžme použiť scénu, ktorá obsahuje niekoľko kontrolných bodov so známym
súradnicami. Nevýhoda týchto metód je v tom, že nemôžeme kalibrovať kameru počas
spracovania obrazu. Akékoľvek zmenou parametrov kamery sa zmení aj spracovanie
obrazu, a úprava obrazu nie je možná bez prerušenie celého procesu. Tieto zmeny môžu
byť spôsobené zmenou ohniskovej vzdialenosti, alebo vďaka mechanickým a tepelným
vplyvom na kameru.
Obr.4.4 Kalibračný vzor a jeho súradnicová sústava.
31
Ako vidíme na obrázku 4.4 , dve ploché roviny medzi sebou zvierajú uhol 90˚.
Tieto dve roviny definujú súradnicovú sústavu, ktorá je znázornené na obrázku.
Súradnice rohov bielych štvorcov v rovinách poznáme, vďaka čomu môžeme vytvoriť
súradnicovú sústavu. Potom sa daju ľahšie nájsť tieto rohy v obraze, a zhodu medzi 3-D
bodmi a 2-D obrazovými bodmi vytvárajúcimi projekčnú mapu z 23 PP → , ktorú je
označená ako matica P.
MPms~~ ⋅=
Na výpočet tejto matice, môžeme použiť rozklad pomocou QR analyzy. Tento
postup je popísaný v pomocnej literatúre[9].
4.6. Odhad perspektívnej navrhovanej matice
Aby sme minimalizovali chyby obrazu, je navrhovaná perspektívna matica
odhadnuta pre n 3D bodov iM , ktoré zodpovedajú mi obrazových bodov. Pri určení
vzdialenosti medzi aktuálnymi bodmi a navrhovanými bodmi v obrazovej rovine
vznikajú chyby. Použitím rovnice MPms~~ = , kde [ ]Tvum 1,,~ = a [ ]TZYXM 1,,,
~ = ,
môžeme získať tri rovnice:
34333231
24232221
34333231
14131211
PZPYPXP
PZPYPXPv
PZPYPXP
PZPYPXPu
++++++
=
++++++
= (4.9)
Funkciu, ktorá je potrebná na minimalizovanie chýb definujeme ako druhú
mocninu geometrickej vzdialenosti medzi aktuálnym bodom a navrhovaným obrazovým
bodom:
32
Táto funkcia je nelineárna a na jej minimalizáciu sa používa Levenberg - Marquardt
minimalizačný algoritmus[11]. Medzi iteráciami ( opakovanie ), je matica P kalibrovaná
a to tak, že za parameter 34P dosadzujeme 1, alebo 1=P .
Nájdením počiatočného odhadu, budú rovnice (4.9) upravené tak, že namiesto
minimalizácie geometrickej vzdialenostigE , budeme hľadať algebrickú vzdialenosť aE :
Táto funkcia je lineárna s neznámymi parametrami P a môžeme ju prepísať do
tvaru:
2.min pZ
P, (4.10)
kde 12 =p . Vektor p je stĺpcový vektor v navrhovanej matici P, a matica Z je
definovaná ako:
Riešenie rovnice (4.10) je potom vlastný vektor zo Z, ktorý odpovedá na najmenšie
charakteristické hodnoty, a môžeme ho nájsť cez singulárnu hodnotu rozkladu.
33
4.7. Jednoduchá metóda kalibrácie kamery
Najjednoduchší spôsob kalibrácie kamery pracuje s troma rovinami v obraze,
ktoré sú na seba kolmé. Aby sme boli schopný vybrať čo najviac čŕt z týchto rovín, musí
byť kalibračný vzor umiestnení v každej rovine, takže sú tiež na seba kolmé (obr.4.5).
Obr.4.5 Obrázok znázorňuje tri pravouhlé roviny.
Potom vyberáme všetky rovnobežky v troch ortogonálnych smeroch z obrazu.
Použijeme pri tom priamkový algoritmus od Burns[12]. Priamky vybraté použitím tohto
algoritmu sú zobrazené na obrázku (obr.4.6).
Obr.4.6 Prvý obrázok znázorňuje priamky v troch ortogonálnych smeroch. Druhý
obrázok zobrazuje vytvorený hlavný bod ( žltý bod ).
34
Pre všetky priamky v každom ortogonálnom smere vypočítame ich stretávajúci bod.
Stretávajúci bod vzniká na priesečníku dvoch alebo viacerých obrazových rovnobežiek.
Pre dve priamky l1 a l2, nájdeme priesečník pomocou vektorového súčinu 21 llx ×= .
Riešenie je problematické ak pracujeme s väčším počtom priamok. Na čo najpresnejší
odhad stretávajúceho sa bodu sa používa Liebowitz algoritmus[11].
Potom predpokladáme, že kamera má jednotkový pomer strán a nulové
zošikmenie. Hlavný bod kamery sa bude potom nachádza v strede vytvoreného
trojuholníka zo strácajúcich sa bodov (obr.4.6).
Hlavný bod vypočítame nasledovným spôsobom. Zadefinujeme si maticu ∞ω z
absolútneho kužeľa ( časť 3.1.3.2 ):
=∞
654
532
421
ωωωωωωωωω
ω . (4.11)
Použijeme tri stretávajúce sa body [ ]Tuuuu 321 ,,= , [ ]Tvvvv 321 ,,= ,
[ ]Twwww 321 ,,= pomocou ktorých nám vyplynú tri obmedzenia:
0
0
0
=
=
=
∞
∞
∞
wv
wu
vu
T
T
T
ωωω
. (4.12)
To znamená, že dvojice strácajúcich sa bodov sa budú združovať v ortogonálnom
smere vzhľadom na ∞ω .
Rozpísaním prvej rovnice dostaneme:
Z tejto rovnice môžeme vybrať vektor ω :
( )Tv 654321 ,,,,, ωωωωωωω = , (4.13)
a vektor koeficientov:
35
( )Tvu vuvuvuvuvuvuvuvuvuk 332332133122122111, ,,,,, +++= . (4.14)
Potom lineárne obmedzenie môžeme napísať v tvare:
0, =⋅ ∞ωTvuk . (4.15)
Takto pre každý pár ortogonálneho strácajúceho sa bodu, môžeme získať ďalšie
parametre pre výpočet kalibračnej matice. Predpokladáme, že kamera má jednotkový
pomer strán, nulovú šikmosť a platí, že 02 =ω a 031 =− ωω . Tieto dve obmedzenia
nájdeme pri rozpínaní ∞ω , kvôli rozmerom kalibračnej matice K . To znamená, že tri
strácajúce sa body v nekonečne a dva predchádzajúce parametre, nám dávajú spolu päť
obmedzení na výpočet ∞ω . Pomocou ∞ω môžeme vypočítať kalibračnú maticu K .
Rovnicu 4.15 rozpíšeme na matica koeficientov A , a doplníme túto maticu dvomi
obmedzeniami ( jednotkový pomer strán, nulové zošikmenie ). Tým získame maticu:
Potom vω vypočítame ako nulový vektor z
0=vAω . (4.16)
Ak máme indexy z vω , je potom jednoduché vypočítať maticu K pomocou
Cholesky-ho rozloženia.
Ako je znázornené na obr.4.6 , výpočet hlavného bodu kamery nie je presný, keďže
sa hlavný bod nenachádza v strede obrazu. Môže to byť spôsobené dvoma dôvodmi:
36
rovnobežky nie sú veľmi presne odhadnuté, alebo kalibračné zákonitosti v scéne sa
nedajú bezchybne usporiadať ortogonálnym postupom.
V skutočnosti nemusia byť roviny na seba kolmé, čo znamená, že predchádzajúci
postup sa nedá použiť (obr. 4.7).
Obr. 4.7 Zobrazenie troch rovín, ktoré nie sú na seba kolmé.
Za účelom získania piatych alebo viacerých obmedzení z tohto obrázku (obr.4.7),
musí byť každá rovina affinne opravená. Postup je nasledovný: pre každú rovinu v obraze
vypočítame dve obmedzenia a spolu vytvoria nulová priamku [ ]Tllll 321=∞ .
Normalizovaním ∞l ( dosadíme za l3=1 ) a použitím matice P, je možné opraviť
každú rovinu v obraze, ako je ukázané na obrázku (obr.4.8) pre jednu rovinu. Umožní
nám to vypočítať dĺžkové pomery na paralelných riadkoch v obraze.
Definovanie matice P:
=
321
010
001
lll
P . (4.17)
Teraz je dôležité vypočítať affinne upravenie obrazu, čiže hodnoty α a β , ktoré
určujú dva kruhové ( obežné ) body. Existujú tri metódy na určenie hodnôt α a β , ktoré
pracujú :
- so známym uhol,
37
- s rovnakými uhlami,
- so známymi dĺžkovými pomermi.
Tieto dve kalibračné metódy sú vhodné pri algoritmoch, pri ktorých nepoznáme
pôvod obrázku. Prekresľovaním každej roviny v obraze nám spôsobuje množstvo
problémov, ako je napríklad: nulová priamka leží mimo začiatku a to spôsobí, že body sa
budú približovať k nulovej priamke v nekonečne. Na odstránenie tohto problému, musíme
obraz preložiť ešte pred opravou. Pri procese opravy sa vytvárajú často veľké obrazy, s
ktorými je problematické pracovať. Celý kalibračný proces je tiež náročné z
automatizovať, pretože užívateľ si sám vyberá rovnobežky ( paralelné priamky ), alebo
rysy v každej rovine na získanie potrebných obmedzení.
Obr. 4.8 Zadná stena ( rovina ) je affine upravená.
38
5. Odhad fundamentálnej matice
Uvádza sa, že základy teórie odhadu fundamentálnej matice z dvoch pohľadov
položil v roku 1855 francúzsky matematik Chasles, ktorý sformuloval problém získania
epipolárnej geometrie pomocou korešpondencie siedmych bodov [12]. O osem rokov
neskôr problém vyriešil nemecký matematik Otto Hesse a v roku 1981 Longuet – Higgins
uviedol originálny osem bodový algoritmus pre výpočet esenciálnej matice. Od vtedy bol
problém určenia fundamentálnej matice intenzívne študovaný. Ukázalo sa, že lineárny
osem - bodový algoritmus nájdenia fundamentálnej matice, je veľmi citlivý na šum. V
roku 1993 bol popísaný nelineárny minimalizačný prístup na určenie Esenciálnej matice a
v roku 1992 postup s minimalizáciou vzdialenosti na výpočet fundamentálnej matice.
Boli nasledované mnohými ďalšími metódami a spôsobmi voľby váhovacej funkcie. Za
povšimnutie stojí, že lineárne váhové funkcie sú nelineárnym veľmi podobné, ale v praxi
sú geometrické (nelineárne) minimalizačné prístupy spoľahlivejšie aj keď výpočtovo
náročnejšie.
Celý proces 3-D rekonštrukcie spolieha na čo najpresnejší odhad fundamentálnej
matice, ktorý sa robí pomocou detekcie zhodných bodov. Dve základné metódy na
vypočítanie fundamentálnej matice sú lineárna a nelineárna metóda.
5.1. Lineárna metóda najmenších štvorcov
Máme dva rohové body [ ]Tiii vum 111 ,= z prvého obrazu a [ ]Tiii vum 222 ,= z druhého
obrazu, ktoré sú zhodné. Potom môžeme napísať epipolárnu rovnicu:
.0~~12 =i
Ti mFm (5.1)
Túto rovnicu môžeme napísať v tvare lineárnej homogénnej rovnice o 9 neznámych
z matice F:
0=fuTi , (5.2)
kde
[ ]Tiiiiiiiiiiiii vuvvvvuuuvuuu 1,,,,,,,, 112212122121=
39
[ ]TFFFFFFFFFf 333231232221131211 ,,,,,,,,= .
A ijF je prvok v matici F v riadku i a v stĺpci j . Pri n - rohových bodoch zhodovania,
platí rovnica:
0=fU n , (5.3)
kde [ ]Tnn uuU ,...,1= .
Ak poznáme 8 alebo viacej rohových bodov, ktoré sa zhodujú, môžeme použiť
metódu minimálnych štvorcov na výpočet fundamentálnej matice:
( )∑i
iTi
FmFm
2
12~~min , (5.4)
čo môžeme prepísať do tvaru:
2min fU n
f. (5.5)
Existuje viacero metód na riešenie f. Nazývame ich ako 8- bodové algoritmy,
pretože na vypočítanie f potrebujú poznať 8 alebo viacej bodov. Jedna z týchto metód
položí jeden z indexom v matici F za 1 a potom rieši rovnicu použitím lineárnej metódy
najmenších štvorcov. 8-bodový normalizovaný algoritmus je rýchla, ľahko
implementovateľná metóda. Väčšinou poskytuje pomerne presné výsledky. Je ideálna ako
prvý krok pre iteračné metódy.
Ďalšia metóda je založená na tom, že normujeme f ( )1=f , a lineárny systém
vypočítame pomocou jednoduchých analýz, ktoré sú popísané v literatúre [13]. Riešením
bude potom jednotkový vektor matice nTn UU s najmenším charakteristickým číslom,
ktoré nájdeme cez singulárnu hodnotu rozpadu.
Problém týchto metód je v tom, že sú veľmi citlivé na šum, dokonca aj keď
poznáme veľký počet zhodovaní.
40
Ak je vyžadovaná väčšia presnosť, doporučuje sa metóda minimalizácie algebrickej
chyby. Podobné výsledky poskytuje aj metóda minimalizácie vzdialenosti najlepšie s
využitím Sampsonovej chyby. Je vhodná ako alternatívny algoritmus.
5.2. Minimalizovanie vzdialeností bodov k ich epipolárnym
priamkam
Ak poznáme 7 parametrov fundamentálnej matice F, môžme maticu F napísať v
tvare:
( ) ( )
+++−−−−−−−−
2112112222
11
11
ydycxxbyaxdybxcyax
dycxdc
byaxba
. (5.6)
Parametre ( )11, yx a ( )22 , yx sú súradnice dvoch epipolov e1 a e2. Štyri
parametre(a, b ,c ,d) definujú vzťahy medzi orientáciou dvoch epipolárnych priamok.
Matica je potom normalizovaná štyrmi parametrami (a, b, c, d) a ich najväčšou
absolútnou hodnotou.
Fundamentálna matica je potom použitá na počiatočný odhad a na odhad dvoch
epipolov.
Zadefinujeme si:
TUDVM = ,
kde pod maticou M si predstavujeme singulárnu hodnotu rozpadu. Matica D môže
mať tvar:
=
3
2
1
00
00
00
d
d
d
D
,
v ktorej musí platiť 0321 ≥≥≥ ddd , kde id nám predstavuje i-tú singulárnu
hodnotu. Matice U a V sú ortogonálne ( pravouhlé ). Potom môžeme napísať, že
41
TVDUF ˆ= , (5.7)
kde matica D má tvar:
=000
00
00ˆ
2
1
d
sd
D .
Epipoly potom vypočítame pomocou vzťahov 0~1 =eF a 0~
2 =eF T , kde platí
[ ]Teeee 1312111 ,,~ = , [ ]Teeee 2322212 ,,~ = . Potom platí:
3
1
i
ii e
ex =
3
2
i
ii e
ey = pre i = 1, 2.
Štyri parametre (a, b, c, d) sa nachádzajú priamo vo vnútri fundamentálnej matice
F. Takto pomocou 7 počiatočných parametrov , ktoré sú (x1,y1,x2,y2) a 3 z (a, b, c, d)
môžeme vytvoriť koncový návrh fundamentálnej matice vypočítaním minimalizovaním
súčtu vzdialeností centrálnych rohových bodov a ich epipolárnych priamok.
Nasledovnú nelineárnu rovnicu z minimalizujeme :
( )∑ iiF
mFmd 122 ~,~min , (5.8)
kde
( )( ) ( )2
212
11
12
12 ~~
~~~,~
mFmF
mFmmFmd
T
ii
+= .
Táto rovnica nám predstavuje euklidovskú vzdialenosť bodu m2 od jeho epipolárnej
priamky 1~mF . ( )1
~mF je i-ty premenný vektor 1~mF .
Na dosiahnutie symetrického výpočtu rovnicu (5.8) prepíšeme do tvaru:
( ) ( )( )∑ +i
iT
iiiF
mFmdmFmd 212
122 ~,~~,~min .
Túto rovnicu môžeme prepísať použitím skutočnosti, že 2112~~~~ mFmmFm TTT = na
42
konečný tvar:
( ) ( ) ( ) ( )( )∑ ⋅
++
+ii
Ti
iiiiF
mFmmFmFmFmF
2
122
222
122
212
11
~~~~
1~~
1min . (5.9)
.
43
6. Záver
Cieľom diplomovej práce bolo popísať a následne overiť algoritmus, ktorý sa
používa pri celkovej rekonštrukcií 3-D obrazu.
Na začiatku som sa venoval popisom nových metód, ktoré sa uplatňujú pri 3-D
rekonštrukcií obrazu. Treba povedať, že v dnešnej dobe sa tieto metódy stále vylepšujú,
preto tento popis je len ilustračný, na pochopenie princípu jednotlivých metód. V ďalšej
podkapitole sa venujem popisu postupu pri rekonštrukcií 3-D obrazu.
Na pochopenie celkovej 3-D rekonštrukcie obrazu je potrebné mať základné
znalosti z 3-D geometrie, ktoré som popísal časti 3.1. V ďalších kapitolách je popísaní
postup, pomocou ktorého získame základné parametre, ktoré sú potrebné pre algoritmus
rekonštrukcie obrazu.
V jazyku Matlab som vytvoril demonštračné programy na základe algoritmov, ktoré
sú popísané v použitej literatúre alebo na internete[14]. V prvom programe je ukážka
detekcie rohov pomocou rohového detektora Harris a Stephens. Tento detektor patrí
medzi najpoužívanejší algoritmus na detekciu rohov v obraze. Je popísaní v prílohe č.1.
V druhom programe je ukážka hľadania význačných rysov a následné porovnanie týchto
rysov medzi dvoma stereo obrázkami ( príloha č.2 ). Na výslednom obrázku sú
znázornené korelácie medzi zhodnými bodmi. Pomocou týchto korelácií môžeme
vypočítať hĺbkovú mapu obrázku. Hĺbková mapa je dôležitá na konečné vytvorenie 3-D
modelu.
V treťom programe som overil správnosť výpočtu fundamentálnej matice F.
V programe ( príloha č.3 ) sa nachádza generátor náhodných bodov, ktoré sa nachádzajú
v imaginárnych obrázkoch. Fundamentálnu maticu som tu vyjadril pomocou esenciálnej
matice a kalibračnej matice kamery. Výsledkom programu je potvrdenie teórie
0~~12 =mFmT .
44
Zoznam použitej literatúry
[1] C. Harris and M. Stephens, „A Combined Corner and Edge Detector” in
Proc. 4th Alvey Vision Conference, p. 147-152, 1988.
[2] P. Torr. „Motion Segmentation and Outlier Detection“. PhD thesis, Department of
Engineering Science, University of Oxford, 1995.
[3] Christian Edberg. Anders Ericsson. „3D reconstruction from uncalibrated images“
December 17, 2000
[4] O.Faugeras. „Three-Dimensional Computer Vision: A Geometric Viewpoint“.
1993
[5] Q.-T. Luong and O. Faugeras.“The Fundamental matrix: theory, algorithms, and
abilityanalysis“. The International Journal of Computer Vision, 1(17):43–76,
1996.
[6] M. Pollefeys. „Self-Calibration and Metric 3D Reconstruction from Uncalibrated
Image Sequences“. PhD thesis, ESAT-PSI, K.U. Leuven, 1999.
[7] G.H. Golup and C.F. van Loan. „Matrix Computations“. John Hopkins University
Press, 2nd edition, 1996.
[8] M.N. Armstrong. „Self-Calibration from Image Sequences“ PhD thesis,
Department of Engineering Science, University of Oxford, 1996.
[9] Arne Henrichsen. „3D Reconstruction and Camera Calibration from 2D Images“
University of Cape Town, 2000
[10] J.R. Beveridge, C. Graves, and C. Lesher. Some Lessons Learned from Coding the
Burns Line Extraction Algorithm in the DARPA Image Understanding
Environment. Technical Report CS-96-125, Computer Science Department,
Colorado State University, October 1996.
[11] D. Liebowitz and A. Zisserman. Metric Rectification for Perspective Images of
Planes. In Proceedings of the Conference on Computer Vision and Pattern
Recognition, pages 482–488, 1998.
45
[12] Fagueras, O., Luong, Q.-T. (2001). The geometry of multiple images.
Massachusetts Institute of Technology, The MIT Press Cambridge, London,
England, ISBN 0-262-06220-8.
[13] Z. Zhang. Determining the Epipolar Geometry and its Uncertainty: A Review. The
International Journal of Computer Vision, 161–195, March 1998. Also Research
Report No.2927, INRIA Sophia-Antipolis.
[14] P. H. S. Torr. A Structure and Motion Toolkit in Matlab, June 2002. Technical
Report.
http://research.microsoft.com/~philtorr/