1 Uvod Stereoskopija je veda, ki se ukvarja s slikami, ki nam vzbudijo občutek tridimenzionalnega prostora. Stereoskopske slike so vedno posnete v parih, posamezni sliki v paru pa prikazujeta isti motiv, zajet iz različnih položajev oziroma iz različnih zornih kotov. Obstoji več metod zajema stereoskopskih posnetkov. Prvotno so v ta namen uporabljali stereoskopske kamere, danes pa so najbolj razširjeni stereoskopski sistemi. V prvem primeru gre za posebno kamero z dvema lečama, v drugem primeru pa za kombinacijo dveh kamer, ki ju združimo na vodilu. Podaki o stereoskopskem sistemu in informacije, ki jih dobimo na podlagi analize stereoskopskih slik, omogočajo izračun razdalje med stereoskopskim Prejet 3. junij, 2009 Odobren 28. november, 2009 44 Mrovlje sistemom in poljubnim objektom v zajetem motivu (prostoru). Napake optičnega sistema kamer se prek geometrijskega popačenja slik odražajo na izračunani razdalji. Vpliv distorzije na razdalje, izračunane s pomočjo takšnih stereoskopskih slik, je predmet analize tega članka. 2 Napake optičnega sistema Napake optičnega sistema, ki nastajajo na zajetih slikah, v odločilni meri vplivajo na kakovost in geometrijo slik, prek tega pa tudi na izračunane razdalje. Med najpomembnejše napake optičnega sistema prištevamo sferično in kromatično aberacijo ter distorzije. Kromatična aberacija je napaka leč, zaradi katere so predmeti na slikah obrobljeni z mavričnimi barvami. Napaka je posledica disperzije, nastane pa zaradi različnega loma svetlobe posameznih valovnih dolžin. Sferična aberacija povzroči zmanjševanje ostrine slike proti robovom, medtem ko je v sredini slika ostra. Vzrok zanjo je različno lomljene svetlobnih žarkov na neidealni površini leče. Žarki, ki vpadajo na lečo blizu sredine, se lomijo v točko, ki na goriščnici leži dlje od točke, v katero se lomijo žarki, ki vpadajo na lečo na robovih. Goriščnica ni strogo definirana točka. Omenjeni napaki bolj kot na geometrijo slike vplivata na njeno kakovost [6]. Radialna distorzija ali ukrivljenost slikovnega polja je ena najbolj dominantnih napak optičnega sistema in močno popači geometrijo zajetega motiva. Ločimo dve obliki radialne distorzije, in sicer »blazino« (angl. pincushion) ter »sodček« (angl. barrel). Pojav blazine upogne ravne linije proti središču slike, pojav sodčka pa proti robovom slike. Medtem ko je pojav blazine značilen za telefotoobjektive, se pojav sodček pojavlja pri širokokotnih objektivih [8]. Slika 1 prikazuje obe obliki radialne distorzije. Tangencialna distorzija je posledica nenatančnega centriranja lečja objektiva glede na slikovni senzor. 3 Kalibracija in model distorzije Napako distorzije v slikah lahko odpravimo matematično. V ta namen moramo poznati koeficiente distorzije, ki jih izračunamo s postopkom kalibracije kamere. V literaturi najdemo več metod kalibracije, večini pa je skupno kalibracijsko polje – mreža točk z znanimi koordinatami. Na podlagi znanih dejanskih koordinat točk kalibracijskega polja in na zajetih slikah izmerjenih koordinat točk istega polja izračunamo koeficiente radialne in tangecialne distorzije. Postopek kalibracije smo izvedli ločeno za obe kameri stereoskopskega sistema (kameri tipa Canon PowerShot A640). Pri tem smo se poslužili prosto dostopnega orodja za kalibracijo kamer »Camera Calibration Toolbox for Matlab« [7]; S posamezno kamero smo zajeli 20 slik kalibracijskega polja (tabla z vzorcem šahovnice) v različnih orientacijah. Znotraj kalibracijskega polja smo na zajetih slikah poiskali kalibracijske točke (presečišča belih in črnih polj). Dejanske koordinate točk kalibracijskega polja smo definirali z velikostjo in številom polj šahovnice. Za opis distorzije smo uporabili v orodju privzeti Brownov »Plumb Bob« model distorzije: , )4(2)2)(3( )2)(4()3(2 ))5()2()1(1( 22 22 642       ++ ++ + +      +++=      xykyrk xrkxyk y x rkrkrk y x cc cc ccc d d (1) kjer so kc parametri distorzije, [xd yd] koordinate »popačene« točke, [x y] koordinate »nepopačene« točke in r2=x2+y2. Prvi del enačbe predstavlja radialno komponento, drugi del pa tangencialno komponento distorzije. Kc(1), kc(2) in kc(5) so parametri radialne distorzije, kc(3) in kc(4) pa parametra tangencialne distorzije. Na podlagi modela (1) vpliv distorzije na slikovne točke lahko prikažemo grafično (sliki 3 in 4). Križec na grafikonih je matematično središče slike, krogec pa središče radialne distorzije. Puščice prikazujejo premik slikovnih točk zaradi distorzije. Velikost distorzijske napake je v sredinskem delu slike na območju do 10 slikovnih točk, proti robovom slike pa naraste do 90 slikovnih točk. Iz grafikonov je razvidno, da je geometrijsko popačenje slik pri našem Slika 2: Slike kalibracijske table Figure 2. Calibration board taken in six different orientations. Slika 1: Shematični prikaz »sodčka« (sredina) in »blazine« (desno) Figure 1. Barrel distortion (middle) and pincushion distortion (right). Vpliv distorzije na razdalje, izračunane s pomočjo stereoskopskih slik 45 modelu kamere veliko. Vpliv geometrijskega popačenja na izračunano razdaljo je analizirano v nadaljevanju. 4 Vpliv distorzije na izračunane razdalje Razdalje izračunavamo s pomočjo aplikacije »STEDIMAT« (»STEreo DIstance MeAsuring Tool«). Aplikacija je bila zgrajena v programskem paketu Matlab in prevedena s pomočjo orodja Matlab Compiler. Uporabniški vmesnik aplikacije Stedimat je prikazan na sliki 6. Razdalja med kamero in poljubnim objektom v prostoru se izračunava na podlagi razlike med lokacijama istega objekta na levi in desni stereoskopski sliki ter dodatnih informacij o stereoskopskem sistemu (fizična razdalja med kamerama, horizontalni zorni kot kamer itd.) [5]. Trenutna verzija aplikacije omogoča »offline« obdelavo na terenu zajetih slik. Na izbrani levi sliki določimo objekt, katerega oddaljenost želimo izračunati. Lokalizacija na levi sliki izranega objekta se na desni sliki izvede avtomatsko, poteka pa v dveh stopnjah. Primarno iskanje se izvede v horizontalni smeri. Rešitev slednjega je izhodišče za sekundarno iskanje, ki v manjšem obsegu poteka v dveh smereh: v horizontalni in vertikalni. Na podlagi razlik položaja izbranega objekta na levi in desni sliki, izračunamo končno razdaljo do objekta: , )( 2 tan2 0 0 DL xx Bx D −      = ϕ (2) kjer B pomeni razdaljo med kamerama, φ0 horizontalni zorni kot kamere, x0 širino zajetih slik (v slikovnih točkah), xL-xD pa razliko lokacij izbranega objekta med levo in desno sliko (slika 5). V nadaljevanju smo na podlagi izbranega »Plumb Bob« modela distorzije in parametrov distorzije v aplikacijo Stedimat vgradili funcijo odpravljanja napake distorzije. Slednjo je treba za posamezno razdaljo uporabiti samo v dveh točkah, in sicer v točki izbranega objekta leve slike in v točki najdenega objekta desne slike. Napaka distorzije se tako samodejno upošteva pri izračunu razdalje. Uspešnost delovanja funkcije za odpravljanje distorzije smo preizkusili na množici tesnih slik. Slika 5: Shema stereoskopskega sistema Figure 5. Scheme of stereoscopic system Slika 3: Grafični prikaz distorzije leve kamere Figure 3. Vizualizing distortion of the left camera. Slika 6: Uporabniški vmesnik aplikacije Stedimat Figure 6. Stedimat (user interface). Slika 4: Grafični prikaz distorzije desne kamere Figure 4. Vizualizing distortion of the right camera. 46 Mrovlje 4.1 Testne slike in rezultati Za zajem testnih slik smo uporabili stereoskopski sistem dveh kamer Canon PowerShot A640. Slike smo zajeli pri največji resoluciji desetih milijonov slikovnih točk (3648x2736) in najmanjši goriščni razdalji (35 mm). Velikost stereoskopke baze je bila konstantna (56 cm). Na posameznem stereoskopskem paru slik smo zajeli 7 testnih tablic, razporejenih na enaki referenčni oddaljenosti (Dref) od stereoskopskega sistema. Tablice smo razporedili tako, da so se znotraj celotnega horizontalega zornega polja stereoskopskega sistema nahajale čim bolj enakomerno. Shema razporeditve testnih tablic je prikazana na sliki 7. Postavitev tablic smo zajeli pri štirih različnih oddaljenostih, in sicer 30, 40, 50 in 60 metrov od stereoskopkega sistema. Pri tem je treba opozoriti, da smo tablice namestili ročno in s tem že takoj vnesli določena odstopanja od referenčne razdalje (ΔDref=0.4 m). Razdaljo do posamezne tablice smo izračunali dvakrat. V prvem primeru smo za izračun uporabili originalne, geometrijsko popačene stereoskopske slike. V drugem primeru smo pri izračunu razdalje dodatno aktivirali vgrajeno funkcijo odpravljanja napake distorzije. Zaradi centralne lege tablice 4 smo slednjo izbrali za referenčni objekt, ki se nahaja na referenčni razdalji (Dref). Izračunane razdalje za posamezne testne objekte (tablice) so predstavljene v tabelah 1-4. Na slikah 9-12 so rezultati predstavljeni tudi grafično. Črtkane krivulje na grafikonih predstavljajo izračunane razdalje brez upoštevanja napake distorzije, polne krivulje pa izračunane razdalje z odpravljeno napako distorzije. Ker lokalizacija izbranega objekta leve slike na desni sliki poteka po korakih ene slikovne točke, za posamezni izračun podajamo tudi napako razdalje zaradi lokalizacije objekta (za ± eno slikovno točko): ,tan 2 ϕ∆=∆ B D D (3) kjer je Δφ horizontalni zorni kot, ki pripada eni slikovni točki (slika 8). Tabela 1: Izračunane razdalje za testne objekte na oddaljenosti 30 metrov Table 1: Calculated distances for 30-meter distant test objects Testni objekt Prisotna distorzija D1±∆D1 [m] Odpravljena distorzija D2±∆D2 [m] 1 28,71±0,38 29,55±0,40 2 28,71±0,38 29,00±0,39 3 29,13±0,39 29,34±0,40 4 30,00±0,42 30,00±0,42 5 30,93±0,44 29,86±0,41 6 31,91±0,47 29,66±0,41 7 33,51±0,52 28,42±0,37 Slika 7: Shema razporeditve testnih tablic na oddaljenosti Dref od stereoskopskega sistema Figure 7. Schematic arrangements of test objects Slika 8: Napaka razdalje zaradi napačne lokalizacije objekta Figure 8. Distance error caused by the positioning error Slika 9: Izračunane razdalje za testne objekte na oddaljenosti 30 metrov Figure 9: Calculated distances for 30-meter distant test objects Vpliv distorzije na razdalje, izračunane s pomočjo stereoskopskih slik 47 Tabela 2: Izračunane razdalje za testne objekte na oddaljenosti 40 metrov Table 2: Calculated distances for 40-meter distant test objects Testni objekt Prisotna distorzija D1±∆D1 [m] Odpravljena distorzija D2±∆D2 [m] 1 38,46±0,68 40,22±0,75 2 38,47±0,68 39,29±0,71 3 38,47±1,68 39,01+0,70 4 40,00±0,74 40,00±0,74 5 42,55±0,84 40,75±0,77 6 43,47±0,87 39,31±0,71 7 46,49±1,00 36,79±0,62 Tabela 3: Izračunane razdalje za testne objekte na oddaljenosti 50 metrov Table 3: Calculated distances for 50-meter distant test objects Testni objekt Prisotna distorzija D1±∆D1 [m] Odpravljena distorzija D2±∆D2 [m] 1 46,52±1,00 49,06±1,11 2 46,52±1,00 47,79±1,05 3 47,62±1,05 48,52±1,07 4 50,00±1,15 50,00±1,15 5 54,04±1,35 51,42±1,22 6 57,12±1,51 50,53±1,18 7 64,47±1,92 48,83±1,10 5 Sklepne ugotovitve Napaka distorzije na uporabljenih kamerah tipa Canon PowerShot A640 je velika. V srednjem delu slik napaka zavzame vrednosti do 10 slikovnih točk, proti levemu in desnemu robu naraste na več kot 50 slikovnih točk, v kotih slike pa zavzame celo vrednosti do 90 slikovnih točk. Geometrijsko popačenje stereoskopskih slik na izračunano razdaljo vpliva manj, če je objekt v srednjem delu slike, kot če je slednji v robnih delih slike. Vpliv distorzije na izračunane razdalje je razviden iz grafikonov na slikah 9–12. Zaradi neenakomerne razporeditve testnih objektov je napaka izračunane razdalje asimetrična. Testni objekti desne polovice slike (tablici 6 in 7) so bili umeščeni bliže desnemu robu kot testni objekti leve polovice slike (tablici 1 in 2) levemu robu. Absolutna napaka razdalj za tablici 6 in 7 je tako 4–8 slikovnih točk, za tablici 1 in 2 pa le 2–4 slikovne točke. Tabela 4: Izračunane razdalje za testne objekte na oddaljenosti 60 metrov Table 4: Calculated distances for 60-meter distant test objects Testni objekt Prisotna distorzija D1±∆D1 [m] Odpravljena distorzija D2±∆D2 [m] 1 56,61±1,48 60,32±1,68 2 56,61±1,48 59,04±1,61 3 56,61±1,48 58,14±1,56 4 60,00±1,66 60,00±1,66 5 63,82±1,88 60,28±1,68 6 70,56±2,30 60,70±1,70 7 78,89±2,87 57,99±1,55 Slika 11: Izračunane razdalje za testne objekte na oddaljenosti 50 metrov Figure 11: Calculated distances for 50-meter distant test objects Slika 10: Izračunane razdalje za testne objekte na oddaljenosti 40 metrov Figure 10: Calculated distances for 40-meter distant test objects 48 Mrovlje Tabela 5: Absolutne vrednosti napak razdalj v slikovnih točkah (prisotna distorzija) Table 5: Absolute distance error in pixels (distorted image) Testni objekt Dref=30m Dref=40m Dref=50m Dref=60m 1 3,4 2,3 3,5 2,3 2 3,4 2,2 3,5 2,3 3 2,2 2,2 2,3 2,3 4 0 (referenčna točka/reference point) 5 2,1 3,1 3,0 2,0 6 4,1 4,0 4,7 4,6 7 6,8 6,5 7,5 6,6 Tabela 6: Absolutne vrednosti napak razdalj v slikovnih točkah (prisotna distorzija) Table 6: Absolute distance error in pixels (undistorted image) Testni objekt Dref=30m Dref=40m Dref=50m Dref=60m 1 1,1 0,3 0,8 0,2 2 2,6 1,0 2,1 0,6 3 1,7 1,4 1,4 1,2 4 0 (referenčna točka/reference point) 5 0,4 1,0 1,2 0,2 6 0,8 1,0 0,5 0,4 7 4,2 5,2 1,1 1,3 Z uporabo funkcije odpravljanja distorzije se napaka izračunane razdaje izrazito zmanjša. Slednja se za večino testnih objektov tako nahaja znotraj tolerančnega območja 1–2 slikovnih točk. Pri tem nismo upoštevali napake, ki jo vnesemo z ročnim umeščanjem testnih objektov (ΔDref). Brownov »Plumb Bob« model distorzije se izkaže za učinkovitega. Kljub upoštevanju napake distorzije pri skrajno desnem testnem objektu opazimo večje odstopanje od referenčne razdalje (5 slikovnih točk). Razlog za to bi bil lahko nedosleden model distorzije, ki je sicer natančen v večjem delu slike, ne pa tudi na robnih območjih. Poudariti je treba, da so bile kalibracijske točke, ki so bile uporabljene za izračun parametrov distorzije, večinoma umeščene v srednjem delu slike in le v manjšem obsegu tudi na robnih območjih (zaradi kvadratne oblike kalibracijske table je bilo slednjo teže zajeti prek celotnega zornega polja obeh kamer). Kalibracijska tabla pravokotne oblike bi verjetno bolje služila svojemu namenu. 6 Literatura [1] D. Schulte: Welt der stereoskopie. http://www.stereoskopie.com. Pridobljeno dne 30.4.2008. [2] H. Walcher (1994): Position sensing: Angle and distance measurement for engineers, 2nd Ed. Oxford: Butterworth-Heinemann Ltd. [3] J. Carnicelli: Stereo vision: measuring object distance using pixel offset. http://www.alexandria.nu/ai/blog/entry.asp?E=32. Pridobljeno dne 29.11.2007. [4] J. Mrovlje, D. Vrančić (2008): Distance measuring based on stereoscopic pictures. V: Proceedings of the 9th International PhD Workshop on Systems and Control: young generation viewpoint. Izola, Slovenia: October 2008. [5] J. Perš, S. Kovačič (2002): Nonparametric, Model-Based Radial Lens Distortion Correction Using Tilted Camera Assumption. V: Proceedings of the Computer Vision Winter Workshop, 2002. Bad Aussee, Austria. pp.286- 295. [6] T. Luhmann, H. Hastedt, W. Tecklenburg, (2006): Modelling of chromatic aberration for high-precision photogrammetry. V: ISPRS Symposium Commission V. Dresden: September 2006. [7] J.-Y. Bouguet: Camera Calibration Toolbox for Matlab. http://www.vision.caltech.edu/bouguetj/calib_doc. Pridobljeno dne 22.4.2009. [8] M. Vidmar (2008): ABC sodobne stereofotografije z maloslikovnimi kamerami. Ljubljana: Cetera. [9] Woods A.: Image distortions and stereoscopic video systems. http://www.3d.curtin.edu.au Pridobljeno dne 21.12.2007. Jernej Mrovlje je diplomiral leta 2008 na Fakulteti za elektrotehniko v Ljubljani. Od leta 2008 je zaposlen na Odseku za sisteme in vodenje na Insitutu »Jožef Stefan« v Ljubljani. Slika 12: Izračunane razdalje za testne objekte na oddaljenosti 60 metrov Figure 12: Calculated distances for 60-meter distant test objects