Bogusław Cyganek
Komputerowe przetwarzanie obrazów trójwymiarowych
Spis treści 1 Wstęp
7
2 Zarys historii badań nad widzeniem stereoskopowym 3 Widzenie trójwymiarowe 3.1 Wzrok ludzki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Formowanie i akwizycja obrazów . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Przekształcenia rzutowe przestrzeni . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Model kamery perspektywicznej . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Przekształcenia rzutowe kamery perspektywicznej o obiektywie punktowym 3.2.4 Dodatkowe parametry rzeczywistych układów akwizycji obrazu . . . . . . . 3.3 Stereoskopowy układ akwizycji obrazów . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Geometria epipolarna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Katadioptryczny układ stereowizyjny . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Kanoniczny układ kamer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Kalibracja kamer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Klasyczne metody kalibrujące . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Kalibracja fotometryczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Samokalibracja kamer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Kalibracja układu stereoskopowego . . . . . . . . . . . . . . . . . . . . . . . 3.5 Rekonstrukcja przestrzeni trójwymiarowej . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Triangulacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Rekonstrukcja z dokładnością do skali . . . . . . . . . . . . . . . . . . . . . 3.5.3 Rekonstrukcja z dokładnością do transformacji rzutowej . . . . . . . . . . . 3.6 Założenia i ograniczenia procesu dopasowywania . . . . . . . . . . . . . . . . . . . 3.7 Badawczy układ stereowizyjny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Pary doświadczalnych obrazów stereoskopowych . . . . . . . . . . . . . . .
10
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
12 12 15 15 16 18 20 21 21 25 27 32 32 34 34 35 35 36 37 38 40 43 44
4 Zagadnienia algorytmiczne w przetwarzaniu stereoskopowym 4.1 Podział metod stereoskopowego przetwarzania obrazów . . . . . . . . . . . . . . . . . . . 4.2 Uwarunkowania aplikacyjne algorytmów stereoskopowych . . . . . . . . . . . . . . . . . 4.3 Struktura algorytmów stereoskopowych . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Algorytmy kroczące po punktach oraz dysparycjach . . . . . . . . . . . . . . . . . . . . 4.5 Miary dopasowywania obrazów binarnych . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Problemy obliczeniowe w algorytmach stereowizyjnych . . . . . . . . . . . . . . . . . . . 4.6.1 Niejednoznaczność dopasowania punktów obrazowych . . . . . . . . . . . . . . . 4.6.2 Nieciągłości głębi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.3 Problem częściowego przysłaniania się obiektów . . . . . . . . . . . . . . . . . . . 4.6.4 Wpływ zniekształceń i szumów w obrazach wejściowych . . . . . . . . . . . . . . 4.6.5 Kierunek przeszukiwania po liniach epipolarnych w kanonicznym układzie kamer 4.6.6 Problem nieciągłości granicy obrazu . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
50 50 53 55 60 62 66 66 66 67 68 68 70
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
5 Detektory cech obrazów w przetwarzaniu stereoskopowym 5.1 Detekcja krawędzi obrazu . . . . . . . . . . . . . . . . . . . . 5.2 Lokalna strukturalność w reprezentacji tensorowej . . . . . . 5.2.1 Lokalnie zorientowane sąsiedztwo w obrazie . . . . . . 5.2.2 Implementacja oraz złożoność obliczeniowa . . . . . . 5.2.3 Wyniki eksperymentalne . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
71 71 76 76 88 88
6 Dopasowywanie cechami 6.1 Metoda Marr-Poggio-Grimson . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Proces pasowania obrazów stereoskopowych . . . . . . . . . . . . . . . 6.1.2 Wyniki eksperymentalne . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Tensorowy algorytm stereowizyjny . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Założenia procesu stereowizyjnego . . . . . . . . . . . . . . . . . . . . 6.2.2 Ogólna struktura algorytmu . . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 Moduł akwizycji obrazów . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.4 Wstępne przetworzenie obrazów . . . . . . . . . . . . . . . . . . . . . 6.2.5 Tensorowy detektor lokalnych struktur . . . . . . . . . . . . . . . . . . 6.2.6 Opracowanie funkcji kosztu dopasowania . . . . . . . . . . . . . . . . . 6.2.7 Wybór wejściowego zakresu dopuszczalnych dysparycji . . . . . . . . . 6.2.8 Agregacja zbiorowego dopasowania . . . . . . . . . . . . . . . . . . . . 6.2.9 Przetwarzanie mapy dysparycji . . . . . . . . . . . . . . . . . . . . . . 6.2.10 Implementacja oraz złożoność obliczeniowa . . . . . . . . . . . . . . . 6.2.11 Wyniki eksperymentalne . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.12 Warianty tensorowego algorytmu stereowizyjnego . . . . . . . . . . . . 6.2.13 Wnioski oraz analiza końcowa tensorowego algorytmu stereowizyjnego
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
95 95 95 98 100 100 100 102 103 104 105 110 112 112 114 114 126 128
7 Dopasowywanie obszarami 7.1 Metody stereoskopowe dopasowujące obszarami . . . . 7.1.1 Wyniki eksperymentalne . . . . . . . . . . . . . 7.2 Metody hybrydowe oraz niestandardowe . . . . . . . . 7.2.1 Metoda Shirai . . . . . . . . . . . . . . . . . . 7.2.2 Stereowizyjne metody neuronowe . . . . . . . . 7.2.3 Metody wykorzystujące transformatę Log-Polar 7.2.4 Metody gradientowe . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
131 131 133 136 136 138 140 141
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . .
. . . . . . .
. . . . . . .
8 Podsumowanie 9 Dodatki 9.1 Rzeczywiste systemy stereowizyjne . . . . . . . . . . . . . . . . 9.2 Systemy mikroprocesorowe w aspekcie stereowizji . . . . . . . . 9.3 Podstawy geometrii rzutowej . . . . . . . . . . . . . . . . . . . 9.3.1 Współrzędne jednorodne . . . . . . . . . . . . . . . . . . 9.3.2 Reprezentacja punktu i prostej na płaszczyźnie rzutowej 9.3.3 Pojęcie punktu i prostej w nieskończoności . . . . . . . 9.3.4 Definicja i podstawowe własności stożkowych . . . . . . 9.3.5 Grupa transformacji rzutowych . . . . . . . . . . . . . . 9.3.6 Niezmienniki rzutowe, dwustosunek . . . . . . . . . . . 9.4 Zarys rachunku tensorowego . . . . . . . . . . . . . . . . . . . . 9.4.1 Prawo transformacji tensorów . . . . . . . . . . . . . . . 9.4.2 Podstawy algebry tensorów . . . . . . . . . . . . . . . .
143
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . oraz zasada dualności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
145 145 148 150 150 152 153 153 156 158 159 160 161
Spis ważniejszych oznaczeń oraz skrótów Ik (x, y)
wartość intensywności elementu k-tego obrazu, w punkcie o współrzędnych lokalnych (x, y) obrazu Ik (x, y) średnia wartość intensywności k-tego obrazu, w pewnym otoczeniu punktu o współrzędnych lokalnych obrazu (x, y) ICk (x, y) wartość miary Census wyznaczonej z k-tego obrazu, w pewnym punkcie o współrzędnych lokalnych (x, y) obrazu i, j indeksy przyjmujące wartości ze zbioru liczb całkowitych dx , d y wartości dysparycji horyzontalnej oraz wertykalnej D(pl , pr ) dysparycja pomiędzy punktami pl oraz pr D zbiór dysparycji U (x, y) zbiór par liczb całkowitych wyznaczających lokalne otoczenie pewnego punktu o współrzędnych lokalnych (x, y) obrazu Oc punkt ogniskowy Xx , Yc , Zc osie wyznaczające układ współrzędnych kamery Π płaszczyzna obrazowa o punkt główny (ox , oy ) współrzędne punktu głównego f długość ogniskowa b długość linii bazowej stereoskopowego układu kamer sx , sy fizyczne rozmiary elementu obrazowego (piksela) P (X, Y, Z) punkt przestrzeni trójwymiarowej o współrzędnych X, Y , Z Pc punkt P w układzie współrzędnych kamery Pw punkt P w zewnętrznym układzie współrzędnych p(x, y, z) punkt o współrzędnych x, y, z w układzie współrzędnych kamery (xu , yu ) współrzędne elementu obrazowego ℘n n wymiarowa przestrzeń rzutowa (Xh , Yh , Zh , 1) współrzędne jednorodne punktu o współrzędnych kartezjanskich (X, Y, Z) M macierz przekształcenia perspektywicznego Mi macierz parametrów wewnętrznych kamery Me macierz parametrów zewnętrznych kamery E macierz zasadnicza F macierz fundamentalna ei punkt epipolarny w i-tym obrazie F tensor dwuogniskowy IJ ij Rh rozdzielczość horyzontalna kamery Rv rozdzielczość wertykalna kamery R rozdzielczość głębi α kąt widzenia kamery Γ(A, B) gradient dysparycji pomiędzy dwoma parami dopasowanych punktów A oraz B CS (A, B) odległość cyklopowa między parami punktów A i B S tensor lokalnie zorientowanego sąsiedztwa N tensor orientacji lokalnego sąsiedztwa q wektor orientacji w lokalnym sąsiedztwie
w LZS SAD SSD ZSAD
wektor lokalnej struktury lokalnie zorientowane sąsiedztwo suma wartości absolutnych różnic (ang. Sum of Absolute Differences) suma kwadratów różnic (ang. Sum of Squared Differences) zrównoważona suma absolutnych wartości różnic (ang. Zero mean Sum of Absolute Differences) ZSSD zrównoważona suma kwadratów różnic (ang. Zero mean Sum of Squared Differences) ZSSD-N znormalizowana zrównoważona suma kwadratów różnic (ang. Normalized Zero mean Sum of Squared Differences) NCC znormalizowana korelacja wzajemna (ang. Normalized Cross Correlation) ZNCC zrównoważona znormalizowana korelacja wzajemna (ang. Zero mean Normalized Cross Correlation) SCP suma iloczynów mieszanych (ang. Sum of Cross Products) SCP-N znormalizowana suma iloczynów mieszanych (ang. Sum of Cross Products Normalized ) RMSE pierwiastek z sumy kwadratów różnic (ang. Root Mean Square Error ) (Rx.Nx) odwołanie do wzoru o numerze kolejnym Nx, w rozdziale o numerze Rx (Rx.Ry. . . Rz) odwołanie do rozdziału o numerze głównym Rx oraz numerach kolejnych podrozdziałów: Ry do Rz
odwołanie do części algorytmu od linii Lxx do linni Lyy włącznie; w przypadku, gdy Lxx równa się Lyy podawana jest tylko jedna z wartości [Nx] odwołanie do pozycji o numerze Nx w bibliografii
Rozdział 1
Wstęp Współczesne metody pomiaru głębi można podzielić na aktywne oraz pasywne — Rysunek 1.1. W pierwszym przypadku mamy zawsze do czynienia z pewnym źródłem promieniowania, które oświetla badaną scenę. Natomiast w drugim wykorzystywane jest oświetlenie dostępne zewnętrznie, np. światło słoneczne. Stosując metody aktywne, najpierw oświetlamy scenę, korzystając z wybranego źródła promieniowania, a następnie badamy, jak zmienia się światło wskutek interakcji z obiektami znajdującymi się w danej przestrzeni. W zależności od zastosowanego rodzaju promieniowania mierzony jest albo czas nadejścia sygnału odbitego, albo zmiana jego fazy. Dotyczy to pomiarów wykorzystujących laser, radar lub sonar [255][146]. Jedną z ciekawszych aktywnych metod pomiaru głębi jest tzw. oświetlenie strukturalne. Polega ono na wysłaniu w kierunku obserwowanych obiektów źródła odpowiednio uformowanego światła, np. w postaci regularnej kraty, a następnie badaniu zniekształconego w ten sposób obrazu [49]. Nieco podobna idea przyświeca pomiarom wykorzystującym tzw. interferometr Moire’a [255], z tym że w tym przypadku promieniowanie od źródła przebiega przez dwie siatki interferometryczne: jedną umieszczoną zaraz za źródłem promieniowania i drugą — tuż przed kamerą. Analiza otrzymanego obrazu umożliwia ocenę głębi obserwowanych obiektów. Niewątpliwą wadą aktywnych systemów pomiarowych jest sama konieczność wykorzystania sztucznego źródła promieniowania, co w większości przypadków jest nie tylko kosztowne, ale również może być niebezpieczne dla ludzi, np. w przypadku promieniowania radarowego. W przeciwieństwie do metod aktywnych, metody pasywne nie wymagają własnego źródła promieniowania — stosując je, wykorzystuje się oświetlenie zewnętrzne [254]. Do najbardziej naturalnych należą, w tym przypadku oczywiście, metody stereoskopowe, wykorzystujące dwa obrazy tej samej sceny do wnioskowania ojej właściwościach trójwymiarowych. Ich naturalność wynika z faktu, że widzeniem stereoskopowym obdarzeni są zarówno ludzie, jak i też zwierzęta (3.1). Analizie metod maszynowego widzenia i przetwarzania stereoskopowego poświęcono większość rozdziałów tej pracy. Uogólnieniem w stosunku do metod stereowizyjnych są metody analizujące trójwymiarową strukturę sceny na podstawie ruchu obserwowanych obiektów w stosunku do kamery. Zmiana położenia obiektu uwidacznia się zmianą położenia jego obrazu, który powstaje na płaszczyźnie kamery. Analiza tych zmian pozwala na wnioskowanie o położeniu obserwowanego obiektu [214] [205][118][116]. Pomiar kształtu obiektu na podstawie obrazu powstałego w wyniku odbicia padającego na jego powierzchnię promieniowania określa ideę metod zwanych strukturalną analizą cienia (ang. shape from shading) [123][36]. Każdy obiekt charakteryzuje się jakimś kształtem oraz sposobem, w jaki od jego powierzchni odbijane jest padające promieniowanie. Właściwości te, po uzupełnieniu o dodatkowe ograniczenia dotyczące geometrii obserwowanej sceny, jak również przyjęty model fotometryczny, pozwalają na znalezienie trójwymiarowego kształtu obserwowanych obiektów. W praktyce jest to problem bardzo trudny z powodu konieczności uwzględnienia przeważnie nieznanych parametrów fotometrycznych obiektów, jak również ze względu na dużą złożoność obliczeniową [123]. Coraz częściej podejmowane są próby połączenia strukturalnej analizy cieni z metodami stereowizyjnymi [180][36][44]. Znajdowanie odległości na podstawie ogniskowania jest techniką od dawna znaną i stosowaną, głównie w fotografii. Dla danego układu optycznego, np. układu z tzw. cienką soczewką, odległości między obiektem, soczewką oraz jego obrazem są związane równaniem soczewki [183][98]. W celu oszacowania odległości od zewnętrznego obiektu dokonuje się akwizycji serii obrazów przy ściśle określonej zmianie ogniskowej układu optycznego. Dla różnych nastaw ogniskowej tego układu — oraz w każdej z kolejnych
8
Rysunek 1.1: Metody pomiaru głębi. akwizycji obrazu — obserwowane punkty będą mniej lub bardziej rozmyte. Wynika to z dolnoprzepustowej charakterystyki układu rozogniskowującego [254][36]. Poprzez pomiar zawartości składowych wysokoczęstotliwościowych w każdym z obrazów możliwe jest określenie tego z nich, dla którego dane punkty są najlepiej zogniskowane. W związku z tym, na podstawie znajomości parametrów układu optycznego można określić odległość od soczewki do obserwowanych punktów [222]. Główna trudność w stosowaniu tego typu metod to liczba potrzebnych akwizycji obrazu oraz związany z tym czas. Nieco podobnie przebiega proces pomiaru odległości od obserwowanych obiektów z wykorzystaniem zjawiska rozogniskowania (ang. depth from defocus) [36]. Umożliwia to fakt, że obraz punktu, dla którego system nie jest zogniskowany, ma kształt rozmytego dysku, którego promień jest ściśle powiązany z parametrami układu optycznego [115][36]. Jeżeli możliwe jest znalezienie parametrów tego „rozmycia”, to także możliwe jest określenie bezwzględnej odległości od obserwowanego punktu. Procedura ta może być następnie powtórzona dla każdego elementu obrazowego, prowadząc do określenia całkowitej głębi obserwowanej sceny. Jednak największą zaletą tej metody, szczególnie w porównaniu z metodą wykorzystującą ogniskowanie, jest możliwość wyznaczenia mapy głębi na podstawie zaledwie dwóch różnych obrazów tej samej sceny. Wadą, natomiast, jest konieczność znajomości dokładnych parametrów układu optycznego. Metoda ta jest stosunkowo nowa i spotyka się z coraz większym zainteresowaniem w środowiskach naukowych. Wśród metod pomiaru głębi obserwowanej sceny metody stereowizyjne zajmują ciągle znaczące miejsce, o czym może świadczyć chociażby ciągle rosnąca ilość publikacji. Składa się na to wiele czynników, z których najważniejsze to: 1. Metoda nie jest inwazyjna. 2. Możliwe jest zastosowanie prostych urządzeń w postaci dwóch kamer lub też jednej kamery w układzie katadioptrycznym (3.3.2). 3. Istnieje duża baza algorytmów.
9 4. Możliwe jest uzyskanie tzw. zwartej mapy głębi1 (4.3). 5. Stosunkowo mały koszt pomiaru. Dla pełnego obrazu wypada w tym miejscu wymienić również główne wady tego typu metod, do których zaliczamy przede wszystkim: 1. Stosunkowo małą dokładność lub też średnią dokładność uzyskaną kosztem znacznej złożoności obliczeniowej i układowej. 2. W przypadku konieczności precyzyjnej rekonstrukcji głębi (3.5) — konieczność żmudnej kalibracji kamer (3.4). 3. Stosunkowo dużą złożoność obliczeniową i pamięciową algorytmów (4.4). Rysunek 1.2 prezentuje najważniejsze dziedziny zastosowań metod stereowizyjnych.
Rysunek 1.2: Główne dziedziny zastosowań metod stereowizyjnych. Grimson, w klasycznym już artykule z 1993 roku [83], dokonuje analizy potencjalnych zastosowań sztucznych metod stereowizyjnych do takich zagadnień jak kartografia, nawigacja czy też rozpoznawanie obiektów [54], jak również do rozwiązywania niektórych problemów przetwarzania obrazów, takich jak selekcja lub też segmentacja [28][229][252]. Dokonuje on również oszacowania dostatecznej dokładności skalibrowania kamer, niezbędnej w przypadku wspomnianych zastosowań. Od tego czasu zbiór potencjalnych obszarów zastosowań metod stereowizyjnych ogromnie się powiększył. Znaczącej modyfikacji uległy również same algorytmy do rozwiązywania tego zadania, jak również znacznie wzrosła moc obliczeniowa dostępnych komputerów. Zastosowanie stereowizji w kartografii, rozpoznawaniu i rekonstrukcji trójwymiarowej, jak również w robotyce, jest dość oczywiste i znane od dawna. Ciekawą aplikacją jest natomiast zastosowanie stereowizji w procesie przetwarzania multimedialnego, w tym do syntezy obrazów [202], nakładania obrazów syntetycznych na rzeczywiste (tzw. z-keying) [178] lub też morfingu (ang. image morphing) [174]. Dalsze informacje na temat uwarunkowań aplikacyjnych zawiera (4.2).
1 Zwanej
też gęstą mapą dysparycji (ang. dense depth-map). Definicja dysparycji podana jest w (3.3.3.1).
Rozdział 2
Zarys historii badań nad widzeniem stereoskopowym Pierwszymi ludźmi, o których wiemy, że badali zjawisko widzenia stereoskopowego byli starożytni Grecy [108]. Najprawdopodobniej pierwsza znana wzmianka o dysparycji i widzeniu stereoskopowym pochodzi od Arystotelesa (380 p.n.e.). Zauważył on mianowicie, że gdy w czasie usilnego wpatrywania się w pewien obiekt spowodujemy chwilową rozbieżność wzroku poprzez naciśnięcie palcem jednej z gałek ocznych, to doznamy zjawiska podwójnego widzenia tego obiektu. Najwcześniejszą znaną książką na temat optyki jest dzieło Euklidesa [58], napisane w Aleksandrii około roku 300 p.n.e. Większość z zamieszczonych tam definicji, postulatów oraz przeszło sześćdziesięciu twierdzeń pozostaje praktycznie ważna również w świetle współczesnej nauki, oprócz stwierdzenia jakoby oko ludzkie emitowało promienie świetlne. To ostatnie, w które wierzono w starożytnej Grecji, wynikało prawdopodobnie ze złej interpretacji zjawiska chwilowego rozbłysku, jakiego doznajemy w gałce ocznej, gdy ta w zupełnie ciemnym otoczeniu zostaje nagle uciśnięta, np. palcem. Dzieło Euklidesa zapoczątkowało badania nad optyką i fizjologią widzenia i przez następne kilkanaście wieków inspirowało wielu badaczy i filozofów. Następcą Euklidesa w pracy nad poznaniem zjawisk optycznych był Ptolemeusz (130 n.e.). Anatomicznymi badaniami organów ludzkich, w tym gałki ocznej, zajmował się Herofilus z Aleksandrii (ok. 300 p.n.e.). Wiele wieków później, około roku 180 n.e., Galen, wykorzystując prace Herofilusa, opublikował swoje dzieło poświęcone wzrokowi ludzkiemu, w tym także anatomii gałki ocznej. Galen jako pierwszy sformułował pojęcie wewnętrznego oka, zwanego też okiem cyklopowym, które „widzi” w miejscu spotkania się dwóch nerwów wzrokowych pochodzących od każdej z gałek ocznych. Galen, znając Euklidesowe dzieło o optyce, wprowadził pojęcie paralaksy oraz opisał, jak każde z oczu dostarcza obrazu różnych stron obserwowanego obiektu, które to obrazy są następnie łączone we jedno wspólne wrażenie wzrokowe. Dzieło Euklidesa, jak również prace Galena, przyczyniły się do znacznego postępu w tej dziedzinie, który dokonał się za sprawą arabskiego uczonego Alhazena, żyjącego około roku tysięcznego na terenach obecnie należących do Egiptu. Alhazen w sposób naukowy badał zjawiska odbicia i załamania światła, kładąc podwaliny nowoczesnej optyki geometrycznej. Z powodu muzułmańskiego zakazu wykonywania sekcji zwłok swoją wiedzę na temat anatomii ludzkiego wzroku Alhazen był zmuszony oprzeć na pracach wspomnianego już Galena z Pergamonu. Przyrównał on gałkę oczną do ciemnej komory, do której światło wpada przez maleńki otwór, tworząc odwrócony obraz na przeciwległej ze ścian. Jest to pierwsze ze znanych wprowadzenie pojęcia tzw. camera obscura, czy też kamery o obiektywie punktowym. Model tego urządzenia, którego wynalezienie przypisuje się zwyczajowo Rogerowi Baconowi lub Leonardowi da Vinci, używany jest do dzisiaj w odniesieniu do pewnego przetwornika wizyjnego1 , jednak nie do gałki ocznej. Po raz pierwszy camera obscura została wykorzystana w malarstwie przez Giovanniego Battistę delia Porta w XVI w. Od tego czasu używana była przez wielu artystów, w tym również przez Antonia Canala, jak również jego siostrzeńca i ucznia Bernarda Bellotta, zwanego podobnie jak jego wuj Canaletto, malarza szczególnie zasłużonego w utrwalaniu pięknych obrazów osiemnastowiecznej Warszawy. Jednak już parę wieków wcześniej Leonardo da Vinci zauważył, że światło, przechodząc przez maleńki otwór znajdujący się w camera obscura, umożliwia obserwację coraz to różnych obiektów z przestrzeni, czyli że w dowolnym punkcie przestrzeni krzyżują się promienie od wszystkich obiektów możliwych do obserwacji. Umożliwiło mu to sformułowanie twierdzenia, że światło rozchodzi się raczej w postaci pewnej fali, a nie 1 Liczne
odwołania do tego modelu poczynione zostały również w tej pracy (3.2.2)(3.3.1).
11 cząsteczek, tak jak wierzono od starożytności. Do niewątpliwych zasług Leonarda da Vinci na polu analizy widzenia stereoskopowego należy zaliczyć przeprowadzoną przez niego w dziele Trattato delia Pittura analizę zjawiska całkowitego, jak również połowicznego przysłaniania obiektów [244]. Wiemy dzisiaj, że te zjawiska odgrywają u człowieka bardzo ważną rolę w procesie percepcji głębi [5](3.1). Mało znany jest fakt, że żyjący w Polsce w drugiej połowie wieku XIII Vitello opublikował w 1270 roku dzieło o optyce zatytułowane „Perspectiva”, które było pierwszą publikacją tego typu w ówczesnej Europie. Prawie z tego samego okresu, bo z ok. roku 1285, pochodzi wzmianka o pierwszych okularach, wynalezionych prawdopodobnie w wytwórniach szkła w Pizie. Bazując na pracach Euklidesa oraz Alhazena, w wieku XVII Kepler oraz Descartez, badając ludzki układ wzrokowy, dokonali dalszych odkryć dotyczących procesu widzenia. Szczególne osiągnięcia poczynili badając rolę siatkówki oraz nerwu wzrokowego, tym samym przyczyniając się do dalszego rozwoju tej gałęzi wiedzy zapoczątkowanej w XI wieku przez wspomnianego już Alhazena. Tym niemniej, problem odwróconego obrazu na siatkówce, jak również dalszego przepływu informacji od siatkówki, pozostał nie rozwiązany przez następne kilkaset lat2 . Mniej więcej w tym samym czasie, to jest na przełomie wieków XVI i XVII, jezuita Francois D’Aguillon dokonał swoistej syntezy wiedzy na temat optyki, wykorzystując prace Euklidesa, Alhazena, Vitella oraz Bacona. W opublikowanym dziele „Opticorum Libri Sex ”, składającym się z sześciu ksiąg, D’Aguillon analizował między innymi zjawisko widzenia za pomocą dwojga oczu. Po zdefiniowaniu pojęcia miejsca zbieżności obserwacji obydwu gałek ocznych, które nazwał horopterem, był on bardzo bliski sformułowania teorii widzenia stereoskopowego, którą posługujemy się dzisiaj. Prawdziwego przełomu dokonał Isaac Newton, publikując na początku wieku XVIII swoje dzieło zatytułowane „Opticks”. Newton jako pierwszy dokonał podziału w sposobie transferu informacji od siatkówki po nerwie wzrokowym. Dokonał on odkrycia, że bodźce pochodzące z części siatkówki zostają bezpośrednio przesłane nerwem wzrokowym do współleżących półkul mózgowych, podczas gdy bodźce pochodzące z pozostałej części krzyżują się i są przesyłane do półkul przeciwnych. Dalsze odkrycia w tej dziedzinie pochodzą dopiero z wieku XIX (Heinrich Miiller, Bernhard von Gudden) i zawdzięczamy je między innymi wynalezieniu mikroskopu w wieku XVII oraz ogólnemu rozwojowi medycyny, w tym anatomii i fizjologii. Dopiero w roku 1818 Vieth wyjaśnił i doprecyzował pojęcie horopteru jako sferycznego3 położenia obiektów wywołujących zbieżny obraz na siatkówkach. Już wcześniej i w nieco innym sensie, bo w odniesieniu do płaszczyzny, wprowadził je D’Aguillon. W tym samym czasie do podobnych wniosków doszedł Johannes M¨ uller, dlatego też pojęcie horopteru określane jest skrótowo jako okrąg Vietha-M¨ ullera. W roku 1838 profesor katedry fizyki eksperymentalnej Akademii Królewskiej w Londynie, Sir Charlse Wheatstone sformułował zasadę widzenia stereoskopowego oraz przedstawił urządzenie zwane odtąd stereoskopem4 . Umożliwiało ono obserwowanie scen trójwymiarowych na podstawie dwóch odseparowanych obrazów. Odkrycie to wkrótce zaowocowało nowymi wnioskami i doświadczeniami, które wykazały między innymi, że zamiana obrazów wejściowych powoduje odwrócenie głębi obserwowanej stereoskopem. Zainspirowany stereoskopem Wheatstone’a, Sir David Brewster skonstruował w 1849 roku własną wersję stereoskopu wykorzystującego pryzmat, natomiast w roku 1856 opublikował pracę na temat stereoskopii. Po tym wydarzeniu, oraz po zakwestionowaniu przez Brewstera pierwszeństwa w wynalezieniu stereoskopu, między Brewsterem a Wheatstone’em doszło do wielu zaciekłych dysput na łamach ówczesnej prasy. Wynalazki Wheatstone’a oraz Brewstera zapoczątkowały burzliwy rozwój technik prezentacji trójwymiarowej, który trwa do dzisiaj, a ostatnio przeżywa nową falę zainteresowania spowodowaną komputerowo generowanymi autostereogramami losowymi (ang. random-dot autostereograms). Te ostatnie zostały zapoczątkowane pracami Beli Julesza, który w roku 1960 wykazał możliwość uzyskania efektu stereoskopowego z obrazów nie zawierających żadnych innych bodźców wzrokowych oprócz odpowiednio uformowanych i losowo rozrzuconych punktów. Stosunkowo niedawne prace neuro fizjologów Bishopa i Pettigrewa wykazały występowanie u naczelnych, już w wejściowej warstwie korowego ośrodka widzenia w mózgu, specjalnych komórek nerwowych reagujących na dysparycję między obrazami powstającymi na siatkówkach każdego z oczu. Oznacza to, że efekt wrażenia głębi formowany jest w torze przetwarzania informacji wzrokowej znacznie wcześniej, niż dotychczas sądzono. 2 Temat
ten pozostaje ciągle otwarty i również współcześnie zagadnienia te są przedmiotem licznych badań. okręgu do sfery, sformułowana przez Vietha, również nie jest prawidłowa, gdyż horopter jest toroidem. 4 Był to stereoskop zwierciadlany. 3 Generalizacja
Rozdział 3
Widzenie trójwymiarowe 3.1
Wzrok ludzki
Uformowany przez setki tysięcy lat ewolucji ludzki układ wzrokowy jest ciągle niedościgłym i nie poznanym wzorcem mechanizmów widzenia stereoskopowego. Proces widzenia zaczyna się w oku, którego budową anatomiczną zajmuje się wiele prac naukowych, np. [244][108]. Najistotniejsza na tym etapie rozważań jest siatkówka oraz tzw. centralny dołek żółtej plamki (łac. fovea). Rysunek 3.1 prezentuje proces widzenia binokularnego: obraz pewnego punktu P powstaje w obydwu obserwujących go oczach, dokładnie w miejscach lokacji wspomnianej żółtej plamki.
Rysunek 3.1: Dysparycja na siatkówce oka wraz z zaznaczonym horopterem (linia przerywana) oraz punktem fiksacji (P). Analizując powstałe na siatkówkach obrazy innych punktów, oznaczmy ich odległość w stosunku do położenia odpowiednich żółtych plamek. Przy tym założeniu, dwa punkty obrazowe na siatkówkach są sobie odpowiadające wtedy, gdy są one oddalone od odpowiadających im żółtych plamek o jednakową odległość. Warunek ten jest więc w sposób oczywisty spełniony dla wspomnianego punktu P. Prowadząc teraz proces odwrotny, tzn. wyznaczając położenie punktów przestrzennych, których obrazy na siatkówkach są sobie odpowiadające, otrzymujemy obszar przestrzeni zwany horopterem. Wszystkie inne punkty przestrzenne, oprócz punktów należących do horopteru, dają na siatkówkach nie odpowiadające sobie punkty obrazowe. Różnicę w ich lokacji nazywamy dysparycją siatkówkową (ang. retinal disparity) [244]. Na podstawie tej definicji można stwierdzić, że punkty horopteru mają zawsze zerową wartość dysparycji siatkówkowej. Dysparycja siatkówkowa jest więc czynnikiem pozwalającym na ocenę odległości od otaczających nas punktów przestrzeni.
13 Sygnały powstające na siatkówkach są przesyłane na wejściowe warstwy korowego ośrodka widzenia. Jednak, jak stwierdzono, część neuronów obszaru mózgowego, zwanego obszarem korowym V1, odpowiada już wyłącznie na bodźce obecne na obydwu siatkówkach [244]. Neurony te, zwane detektorami dysparycji, tworzą więc obszar reagujący na bodźce stereoskopowe. Zależność między tzw. aktywnością neuronową, mierzoną liczbą impulsów na sekundę, a wartością dysparycji dla tych neuronów nazywamy funkcją dostrojenia do dysparycji (ang. disparity tuning function). Funkcja ta posiada wyraźne maksimum (jest „dostrojona”) dla zerowej wartości dysparycji, czyli dla punktów przestrzennych usytuowanych w ścisłym pobliżu horopteru [108]. W celu zrozumienia podstaw funkcjonowania procesów stereowizyjnych u człowieka wykonano wiele badań neurofizjologicznych. Najwcześniej zauważonym i badanym zjawiskiem był wpływ zmian luminancji w obrazie na proces stereodopasowania. W najprostszym przypadku chodzi tu o dopasowanie na podstawie widocznych w obrazie krawędzi. W przypadkach bardziej złożonych dopasowanie odbywa się na podstawie analizy obszarów z widoczną teksturą. W roku 1979 Marr i Poggio wysunęli tezę [160], że dopasowywanie stereoskopowe polega na skorelowaniu obszarów, w których druga pochodna sygnału luminancji przecina zero, co odpowiada tym miejscom w obrazie, które charakteryzują się największą zmianą sygnału luminancji, a nie największą wartością bezwzględną tego sygnału. Są to tzw. zero-przecięcia (ang. zero crossings). Późniejsze badania prowadzone przez Mayhewa oraz Frisby’ego [164] wykazały, że proces dopasowywania stereoskopowego u człowieka nie bazuje wyłącznie na przecięciach zera przez drugą pochodną z sygnału luminancji, lecz raczej na ogólniejszym dopasowaniu odpowiadających sobie składowych częstotliwościowych dwuwymiarowego sygnału luminancji. Dalsze badania, prowadzone m.in. przez Mallota, wskazały na możliwość efektywnego dopasowywania również w przypadku, gdy sygnał luminancji jest bardzo wolno zmienny. Na podstawie tych, oraz wielu innych, badań stwierdzono, że w przypadku ludzkiego układu wzrokowego preferowane są te dopasowania, które w jakiś sposób przyczyniają się do dopasowania ogólniejszego wzorca, jeżeli jest obecny w obrazie. Dotyczy to dopasowań dokonywanych na podstawie zero-przecięć albo wartości maksymalnych sygnału luminancji. Z kolei, dopasowania na podstawie składowych częstotliwościowych dominują w przypadku, gdy są najważniejszymi cechami występującymi w obrazie. Dysparycja może być również znaleziona na podstawie porównania wartości ekstremalnych składowych niskoczęstotliwościowych obrazu, jak również zmiany dystrybucji sygnału luminancji przy braku zero-przecięć oraz różnic w położeniu punktów z maksymalną wartością intensywności.
Rysunek 3.2: Konstrukcja stereogramu losowego: (a) lewy obraz, (b) wyodrębniony obszar w lewym obrazie, (c) przesunięcie wyodrębnionego obszaru, (d) prawy obraz, (e) efekt głębi przy obserwacji stereoskopowej. Jakościowo nowego odkrycia dokonał Julesz w 1960 roku, demonstrując tzw. stereogramy losowe1 , 1 Stereogramy
tego typu były znane już wcześniej, jednak tylko w zastosowaniach artystycznych.
14 które powstają w wyniku generacji obrazu z losowo rozmieszczonymi punktami, a następnie generacji drugiego obrazu stereopary poprzez przesunięcie pewnego obszaru z obrazu pierwszego. Rysunek 3.2 ilustruje w powiększeniu sposób konstruowania stereogramu losowego, natomiast Tabela 3.4 zawiera przykładowy stereogram losowy, wykorzystywany w dalszych testach. Generacja stereogramów losowych może być także oparta na losowo generowanych liniach, a nie punktach, co zademonstrował Ninio [108]. W przypadku stereogramów losowych, żaden obraz obserwowany oddzielnie albo jednym, albo drugim okiem nie przenosi znaczącej informacji wizualnej, zwanej przez Julesza kształtem cyklopowym [108]. Jednak podczas obserwacji stereoskopowej poprzez parę oczu jednocześnie stereogram losowy ujawnia głębię obserwowanej sceny w postaci prostokąta znajdującego się bliżej obserwatora — Rysunek 3.2e. Dalsze badania tego zjawiska wykazały, że efekt stereoskopowy zostaje zachowany nawet przy znacznych zniekształceniach jednego z obrazów stereopary losowej, np. poprzez dodanie dodatkowych punktów, czy też filtrację dolnopasmową. Jednakże zamiana polaryzacji luminancji (tzn. punkty jasne stają się ciemne i odwrotnie) powoduje zanik percepcji głębi. Badania przeprowadzone nad postrzeganiem głębi wyłącznie na podstawie percepcji kolorów, przy zachowaniu jednakowego pobudzenia kanału luminancyjnego ludzkiego systemu wizyjnego potwierdziły, że informacja ta uczestniczy w procesie stereodopasowywania, jednakże w bardzo ograniczonym stopniu [108]. Dalsze badania wykazały, że proces znajdowania odpowiedników w obrazach uzależniony jest jeszcze od dodatkowych ograniczeń. Jedna z teorii mówi o uprzywilejowaniu w dopasowaniu tych punktów, dla których otoczenia występuje zgodność rozmiaru, kształtu, koloru oraz ruchu. Występowanie tego typu procesu wyjaśnia, dlaczego proces dopasowania obrazów, na których nie występują wymienione atrybuty (stereogramy losowe), zajmuje człowiekowi znacznie więcej czasu. Spostrzeżenie to ma duże znaczenie również w przypadku algorytmów komputerowej korelacji stereoskopowej. Wykorzystanie operatora dostarczającego informację o częstotliwości oraz orientacji w lokalnym obszarze obrazu umożliwia wykorzystanie wspomnianego ograniczenia również w procesie dopasowywania maszynowego2 . Innym znanym ograniczeniem jest ograniczenie dopasowania tzw. najbardziej spokrewnionego obrazu. Oznacza to, że w przypadku możliwości wyboru, dopasowany zostanie ten obraz lub obszar, który daje największą ilość znaczących dopasowań lub że obraz ten położony jest najbliżej horopteru. Jest to strategia, która faworyzuje obszary, którymi, najprawdopodobniej, jesteśmy najbardziej zainteresowani, gdyż znajdują się bliżej nas. Innym ograniczeniem, wskazanym przez Julesza, jest ograniczenie maksymalnego gradientu dysparycji horyzontalnej3 , z którego to ograniczenia również korzysta wiele algorytmów maszynowych. Dalsze ograniczenia bazują na doświadczeniach nabytych w wyniku obserwacji otaczającej nas przestrzeni, która przeważnie zawiera stosunkowo mało miejsc wykazujących znaczne zagęszczenie obiektów, gdyż musimy się wśród nich poruszać. Podobnie, większość obserwowanych w naturze obiektów nie jest przeźroczysta. Stąd też wynika ograniczenie narzucone na ciągłość obserwowanych powierzchni oraz konieczność zachowania jednakowej kolejności punktów i ich obrazów. Z drugiej jednak strony, przypuszczalne ograniczenie na jednoznaczność dopasowań, tzn. że jednemu punktowi obrazu lewego może być przyporządkowany co najwyżej jeden punkt obrazu prawego, nie zostało do końca potwierdzone, mimo iż większość eksperymentów wskazuje na słuszność tego twierdzenia. Niezwykle istotne dla procesu widzenia stereoskopowego jest również zjawisko wzajemnego przysłaniania obiektów, które ilustruje Rysunek 3.3. Wpływ zjawiska częściowego przysłaniania obserwowanych obiektów w odniesieniu do odbieranych bodźców wzrokowych badał już Leonardo da Vinci. Niedawne prace Andersona potwierdziły znaczący wpływ tego zjawiska na proces widzenia stereoskopowego [5]. Obszar widoczny tylko dla oka lewego nazywany jest lewym obszarem widzenia pojedynczego i analogicznie: dla oka prawego — prawym obszarem widzenia pojedynczego; na rysunku miejsca te zaznaczono jaśniejszym odcieniem (Rysunek 3.3). Obszar widoczny dla obydwu oczu jest obszarem pełnego widzenia, natomiast przestrzeń za obiektem X jest zupełnie zasłonięta przez ten obiekt i dlatego niewidoczna dla żadnego z oczu. Zjawisko częściowego przysłaniania jest nieodłącznie związane z występowaniem dużej nieciągłości w postrzeganej głębi. Co więcej, nieciągłość ta nie jest horyzontalna. Dlatego też informacja płynąca tą drogą daje silne przesłanie, pozwalające odróżnić nieciągłość głębi od stopniowej zmiany głębi, ograniczonej w tym przypadku dopuszczalnym gradientem dysparycji. Spostrzeżenia te pozwalają wysunąć tezę, że w procesie widzenia stereoskopowego dokonywana jest aktywna dekompozycja pionowych oraz poziomych różnic pomiędzy 2 Operatorem spełniającym ten postulat jest np. tensorowy operator strukturalny, opisany w (5.2) tej pracy; metodę stereowizyjną wykorzystującą ten operator zawiera j (6.2). 3 Właściwe definicje zawiera Tabela 3.3.
15
Rysunek 3.3: Zjawisko wzajemnego przysłaniania obszarów w procesie widzenia. Obszary częściowego przysłonięcia są jaśniejsze. Ciemny obszar pozostaje w pełni przysłonięty obrazami, odpowiednio na dysparycję oraz częściowe przysłonięcia. Obydwa te źródła informacji są komplementarne, tzn. dysparycja dostarcza informacji o głębi na podstawie bodźców jednocześnie dostępnych parze oczu, a częściowe przysłanianie pozwala na dokonanie segmentacji obserwowanej sceny na spójne obiekty oraz ich krawędzie. W kontekście rozważań na temat roli częściowego przysłaniania należy wspomnieć o roli dysparycji pionowych, które, jak wykazali Mayhew oraz Longuet-Higgens, teoretycznie pozwalają na wyodrębnienie informacji o odległości. Jednakże ostatnie badania psychofizyczne wykazały, że zjawiska te nie odgrywają znaczącej roli w procesie stereoskopowym u człowieka. Andersen przeprowadził szereg eksperymentów, które wykazały, że postrzegane różnice wertykalne nie są interpretowane jak dysparycja pionowa, lecz służą do właściwej oceny przysłonięć [5]. Ściśle związane ze zjawiskiem częściowego przysłaniania jest zjawisko kamuflażu, które występuje w przypadku obserwacji małej powierzchni na tle powierzchni bardziej odległej, gdy obie mają nieodróżnialną teksturę. Obie te osobliwości, tzn. częściowe przysłanianie oraz kamuflaż, są związane nie tylko ze sobą, ale również z tzw. zjawiskiem rywalizacji bodźców wzrokowych z obu gałek ocznych. Ludzki system wzrokowy dokonuje wyboru, stosując zasadę dopasowania tych obiektów, które dają najwięcej prawidłowych dopasowań, a dodatkowo są zgodne z nabytym doświadczeniem osobniczym. Należy także wspomnieć, że tak złożony proces widzenia stereoskopowego wspierany jest jeszcze przez wiele innych mechanizmów neurofizjologicznych, takich jak np. ruch gałek ocznych umożliwiający adaptacyjną zmianę zbieżności, również ze względu na otrzymanie właściwej dysparycji, czy też tzw. paralaksa ruchowa, która powstaje w wyniku przemieszczenia się obserwatora w stosunku do otaczających go obiektów. Wspomniane w tym rozdziale niektóre z mechanizmów neurofizjologicznych procesu widzenia stereoskopowego zostały wykorzystane w wielu algorytmach komputerowego przetwarzania obrazów stereoskopowych i ciągle inspirują nowych badaczy tego zjawiska [107]. Dobrym przykładem jest opisany w tej pracy algorytm, opracowany przez Grimsona na podstawie prac Marra i Poggio, zwany algorytmem MPG (6.1).
3.2 3.2.1
Formowanie i akwizycja obrazów Przekształcenia rzutowe przestrzeni
Każdy układ akwizycji obrazów, zarówno ludzki układ wzrokowy jak również maszynowy układ wizyjny wykorzystujący kamery, dokonuje pewnej transformacji rzeczywistej przestrzeni trójwymiarowej do przestrzeni własnej, np. dwuwymiarowej płaszczyzny obrazowej. Poznanie oraz wyznaczenie parametrów tej transformacji jest fundamentalne dla dalszych prób jego modelowania czy też udoskonalania.
16 Wprowadzenie odpowiednio dokładnego modelu uzależnione jest z kolei od stanu wiedzy oraz niezbędnej dokładności. W przypadku większości kamer model określający przekształcenie, którego dokonują one na przestrzeni trójwymiarowej, oparty jest albo na rzucie równoległym, albo perspektywicznym. Transformacja równoległa jest mniej dokładną aproksymacją transformacji dokonywanej przez kamerę, gdyż zakłada równoległe rzutowanie obiektów trójwymiarowych na dwuwymiarową płaszczyznę obrazową. Mimo iż zaletą tego podejścia jest liniowość, to ze względu na swoją małą dokładność nadaje się ono wyłącznie do wykorzystania w przypadkach granicznych (np. obserwowana scena znajduje się bardzo blisko kamery) lub też w metodach przetwarzania obrazów, które nie wymagają zbyt dużej dokładności. Bardziej precyzyjne wyniki osiągnąć można poprzez zastosowanie nieliniowego przekształcenia perspektywicznego 4 . Na podstawie wielu prac badawczych [1][49][51][63][99][255] można stwierdzić, że przekształcenie to, po uzupełnieniu o poprawkę na zniekształcenia soczewek [56][98], jest wystarczająco dokładne do takich zastosowań jak stereowizja czy też estymacja ruchu. Dlatego też przekształcenie perspektywiczne stosowane jest również w tej pracy.
3.2.2
Model kamery perspektywicznej
Model kamery perspektywicznej z uwzględnieniem dwóch układów współrzędnych: układu zewnętrznego (niezależnego od położenia i właściwości kamery) oraz układu współrzędnych związanego z kamerą, przedstawia Rysunek 3.4.
Rysunek 3.4: Metody pomiaru głębi. Punkt Oc , zwany punktem ogniskowym lub centralnym, wraz z osiami Xc , Yc oraz Zc wyznaczają układ współrzędnych kamery. Częścią modelu kamery jest płaszczyzna obrazowa Π. Na płaszczyźnie Π wyodrębniony jest lokalny układ współrzędnych. Element płaszczyzny obrazowej Π, wyznaczony przez współrzędne, które jednocześnie należą do zbioru liczb naturalnych5 , nazywamy pikselem (lub elementem) obrazu. Rysunek 3.4 przedstawia płaszczyznę Π z wyodrębnioną dyskretną siatką pikselową. Punkt Oc rzutowany jest na płaszczyznę Π w kierunku zgodnym z osią Zc , wyznaczając na niej tzw. punkt główny o (ang. principal point), o współrzędnych pikselowych (ox , oy ). Odległość f płaszczyzny obrazowej Π od 0 . punktu ogniskowego, nazywana jest długością ogniskową, natomiast oś optyczną wyznacza prosta OC OC Wartości sx oraz sy wyznaczają fizyczne rozmiary piksela. 4 Zwanego
również przekształceniem projektywnym [72]. takie nazywamy współrzędnymi pikselowymi lub współrzędnymi obrazu cyfrowego.
5 Współrzędne
17 Położenie pewnego punktu P z przestrzeni trójwymiarowej, w układzie kamery, opisuje wektor Pc , natomiast w układzie zewnętrznym — wektor Pw . Punkt p jest rzutem perspektywicznym, z centrum w punkcie Oc , punktu P na płaszczyznę obrazową Π. Punkt P oraz jego obraz p w układzie współrzędnym kamery posiadają następujące współrzędne: P = (X, Y, Z) p = (x, y, z)
(3.1)
Ponieważ oś optyczna jest prostopadła do płaszczyzny obrazowej, więc korzystając z podobieństwa trójkątów ∆Oc po oraz ∆Oc P Oc0 , a także przyjmując z = f , otrzymujemy zależności: Y X , y=f , z=f Z Z Równanie (3.2) stanowi podstawę modelu kamery perspektywicznej z obiektem punktowym. x=f
(3.2)
Uproszczeniem tego modelu jest tzw. model kamery o uproszczonej perspektywie [241][175][170], który otrzymujemy z (3.2) przyjmując, że odległości między punktami obserwowanego obiektu są znacząco mniejsze od średniej odległości Z całego obiektu od centrum rzutowania. W modelu tym przekształcenie rzutowe upraszcza się do złożenia rzutu równoległego ze skalowaniem przez czynnik f /Z, a równanie (3.2) przyjmuje postać: f f (3.3) x= X , y= Y , z=f Z Z Matematycznym uogólnieniem modelu kamery o uproszczonej perspektywie jest tzw. model kamery afinicznej [241][170][175][63], w którym niezmiennikiem są proporcje odległości mierzone wzdłuż kierunków równoległych. Bardziej precyzyjny model kamer, przystosowany do problemów grafiki komputerowej i uwzględniający system rzeczywistych soczewek oraz przysłon, zawiera artykuł Kolba, Mitchella i Hanrahana [127]. Wyczerpujące informacje na temat modelowania układów soczewek zawiera [208]. Model kamery o obiektywie punktowym specyfikujemy przeważnie, podając dwa zestawy parametrów. Są to: 1. Parametry zewnętrzne kamery. 2. Parametry wewnętrzne kamery. W następnych rozdziałach zajmiemy się bliższą analizą obydwu zbiorów parametrów. 3.2.2.l Zewnętrzne parametry kamery perspektywicznej Ponieważ opis obserwowanej sceny ściśle zależy od wyboru układu współrzędnych, niezbędny jest wybór jednego układu odniesienia. W stosunku do tego układu współrzędnych, bazując jedynie na informacji zawartej w płaszczyźnie obrazowej, należy wyznaczyć dokładne położenie kamery. Często w praktyce jako układ odniesienia przyjmuje się układ współrzędnych kamery. Jednak w przypadku więcej niż jednej kamery powraca problem jednoznacznego określenia położenia pozostałych kamer. Przejścia od układu współrzędnych kamery do zewnętrznego układu współrzędnych dokonać można poprzez złożenie translacji T z rotacją R — Rysunek 3.4. Wektor translacji T określa wzajemne przesunięcie środków układów współrzędnych Oc oraz Ow . Rotacja, z kolei, dokonuje przekształcenia odpowiadających sobie osi współrzędnych. Opisuje ją ortogonalna macierz R o wymiarach 3 × 3 [67][241]. Wzajemną zależność współrzędnych punktu P w dwóch układach współrzędnych opisuje równanie: Pc = R(Pw − T)
(3.4)
gdzie: Pc jest położeniem punktu P w układzie współrzędnych kamery, Pw jest położeniem punktu P w zewnętrznym układzie współrzędnych, R jest macierzą określającą obrót, a T jest macierzą określającą translację pomiędzy układami współrzędnych. Przyjmujemy dodaktowo następujące oznaczenia: r11 r12 r13 t1 Tx R = r21 r22 r23 , T = Ow − Oc = t2 = Ty (3.5) r31 r32 r33 t3 Tz Parametry zewnętrzne kamery perspektywicznej definiujemy jako zbiór parametrów geometrycznych, jednoznacznie określających przekształcenie układu współrzędnych kamery w układ współrzędnych zewnętrznych. Parametrami tymi są: wektor translacji T oraz macierz rotacji R.
18 3.2.2.2 Wewnętrzne parametry kamery perspektywicznej Wewnętrzne parametry kamery perspektywicznej można pogrupować w następujący sposób: 1. Właściwości przekształcenia projektywnego, którego dokonuje kamera. W modelu kamery perspektywicznej o obiektywie punktowym jedynym parametrem potrzebnym do określenia przekształcenia projektywnego jest ogniskowa f . 2. Sposób translacji pomiędzy współrzędnymi kamery a współrzędnymi pikselowymi obrazu. Przyjmując, że środkiem siatki obrazowej jest punkt o = (ox , oy ), zwany punktem głównym, oraz że rozmiary pikseli w kierunkach, horyzontalnym i wertykalnym, są stałe i opisane wartościami sx oraz sy , współrzędne obrazu xu oraz yu , ze współrzędnymi lokalnymi kamery x i y, opisują zależności: x = (xu − ox )sx y = (yu − oy )sy
(3.6)
3. Zniekształcenia geometryczne wprowadzane przez układ optyczny kamery. Rzeczywiste układy optyczne nie są wolne od różnego rodzaju niedoskonałości powodujących liczne zniekształcenia w otrzymywanym obrazie. Źródła tych zniekształceń pochodzą głównie z nieliniowości układu optycznego oraz zmienności parametrów optycznych układów w stosunku do długości fali świetlnej [98][208][183]. W pierwszym przypadku mamy do czynienia z aberracją sferyczną, komą, astygmatyzmem, zakrzywieniem pola widzenia oraz zniekształceniami, z których najczęściej spotykane to zniekształcenia poduszkowe oraz beczkowe. W drugim przypadku zniekształcenia są nazywane aberracją chromatyczną [98] [208]. W większości praktycznych przypadków zniekształcenia można stosunkowo prosto modelować jako zniekształcenia radialne, których wartość wzrasta wraz ze wzrostem odległości od punktu centralnego obrazu, zgodnie z zależnością wielomianową o współczynnikach parzystych: xv =
xu 1 + k1 r2 + k2 r4
,
yv =
yu 1 + k1 r2 + k2 r4
,
r2 = xv 2 + yv 2
(3.7)
gdzie: k1 oraz k2 są wewnętrznymi parametrami kamery perspektywicznej określającymi zniekształcenia radialne układu optycznego; xu oraz yu są współrzędnymi idealnymi (nie zniekształconymi) pikseli, natomiast xv oraz yv są ważnymi współrzędnymi pikselowymi po uwzględnieniu zniekształceń. Iteracyjny algorytm znajdowania współrzędnych xv oraz yv podaje Klette [123], natomiast Trucco i Verri [241] szacują, że w przypadku większości rzeczywistych układów optycznych z przetwornikiem CCD, o rozmiarach rzędu 500 × 500 elementów, modelowanie z parametrem k2 równym O nie wprowadza zauważalnych zmian do jakości tego modelu.
3.2.3
Przekształcenia rzutowe kamery perspektywicznej o obiektywie punktowym
Podstawiając (3.4) i (3.6) do (3.2) z pominięciem (3.7), otrzymujemy liniowe równanie opisujące model kamery perspektywicznej o punktowym obiektywie: x = MX
(3.8)
T , X punktem przestrzeni gdzie: x jest punktem obrazu o współrzędnych jednorodnych 6 x1 x2 x3 T trójwymiarowej o współrzędnych jednorodnych X1 X2 X3 X4 . Macierz przekształcenia M można przedstawić jako: M = Mi Me 6 Więcej
informacji na temat współrzędnych jednorodnych oraz geometrii rzutowej zawiera dodatek (9.3).
(3.9)
19 gdzie:
f sx
Mi = 0 0
0 f sy
0
ox 0 1 3×3
,
R1 Me = R2 R3
−R1 T −R2 T −R3 T 3×4
,
ri1
ri2
ri3
1×3
(3.10)
Równanie (3.8) opisuje transformację z przestrzeni rzutowej p na płaszczyznę rzutową ℘2 . Bardzo istotne jest również odnotowanie faktu, że transformacja ta dokonuje przekształcenia każdego punktu leżącego na prostej w dokładnie jeden punkt (obraz) x na płaszczyźnie rzutowej p . Prosta ta jest jednoznacznie określona przez punkt centralny Oc oraz dowolny punkt przestrzeni p. Tak więc transformacja, o której mowa, jest jednoznaczna jedynie w stosunku do przekształcenia prostej w punkt. Dlatego też równanie (3.8) można przedstawić ogólnie w postaci: sx = MX
(3.11)
gdzie dodatkowy w stosunku do (3.8) parametr s jest pewnym skalarnym współczynnikiem skalującym. Bez utraty ogólności, tam gdzie jest to jednoznaczne, przyjmujemy s = 1, a macierz M traktujemy jako zdefiniowaną z dokładnością do pewnego współczynnika skalującego, efektywnie przyjmując z powrotem postać (3.8). Podsumowując, macierz Mi definiuje parametry wewnętrzne kamery perspektywicznej o punktowym obiektywie i określa transformację pomiędzy układem współrzędnych kamery a lokalnym układem współrzędnych obrazu. Macierz Me definiuje parametry zewnętrzne kamery perspektywicznej o punktowym obiektywie i określa transformację pomiędzy układem współrzędnych kamery a zewnętrznym układem współrzędnych. T Niech Pw = Xw Yw Zw oznacza pewien punkt przestrzeni trójwymiarowej, którego współrzędne kartezjańskie wyrażone są w odniesieniu do zewnętrznego układu współrzędnych, T Pc = Xx Yx Zx — punkt, którego współrzędne są współrzędnymi punktu Pm tyle że wyrażone T w odniesieniu do układu współrzędnych kamery, natomiast Pu = Xu Yu — punkt, którego współrzędne są wyrażone w odniesieniu do lokalnego układu płaszczyzny obrazu (tzw. współrzędne pikselowe). Stosując teraz przekształcenie izomorficzne transformujące współrzędne kartezjańskie we współrzędne jed T norodne [170][175][206], dostajemy odpowiednio następujące punkty: Pwh = Xwh Ywh Zwh 1 , T T Pch Xch Ych Zch 1 oraz Puh Xuh Yuh Zuh . Tak więc, oprócz punktu Puh , zachodzi: Xw = Xwh , . . . , Zw = Zwh , Xc = Xch , . . . , Zc = Zch . Stosując teraz przekształcenie rzutowe (3.8), wyrażone we współrzędnych jednorodnych, oraz uwzględniając (3.9), dostajemy następujące zależności: Me Pc = Me Pwh , Pch = P (3.12) O 1 4×4 wh Puh = Mi Pc " Xuh # Xu Zuh Pu = = Yuh Yu Z
(3.13) (3.14)
uh
Wykorzystując równanie (3.8) oraz (3.12) i (3.13), zależność między punktem P z przestrzeni trójwymiarowej a jego obrazem p na płaszczyźnie obrazowej można zapisać, używając współrzędnych jednorodnych w następującej postaci: p = MP (3.15) Podstawiając (3.9) oraz (3.10) do (3.15) otrzymujemy: p1 f R1 (T − P) p2 = f R2 (T − P) p3 −R3 (T − P)
(3.16)
T gdzie: p1 , p2 , p3 są współrzędnymi jednorodnymi punktu p leżącego na płaszczyźnie obrazowej kamery. Współrzędne tego punktu we współrzędnych obrazowych, występujące w (3.6), wyrażają się zależnościami: p2 p1 , yu = (3.17) xu = p3 p3
20
3.2.4
Dodatkowe parametry rzeczywistych układów akwizycji obrazu
Na jakość wyjściowego obrazu w rzeczywistych systemach akwizycji obrazu, oprócz już wcześniej opisanych zniekształceń, dodatkowy wpływ mają takie zjawiska jak: 1. Ograniczona dynamika systemu. Ze względu na ograniczoną dynamikę układów przetwarzających, w celu zwiększenia dopuszczalnego zakresu sygnału wejściowego wprowadza się nieliniowe układy ograniczające (ang. pre-knee circuit) [123], które powodują zakrzywienie charakterystyki toru elektrycznego kamery w zakresie większych sygnałów wejściowych. Przyczynia się to do zwiększenia dopuszczalnego poziomu i zakresu sygnałów wejściowych, jednak kosztem nieliniowego przetwarzania sygnałów. 2. Rozdzielczość elementu CCD i zjawisko aliasingu. Rozdzielczość elementu przetwarzającego wielkości ciągłe na dyskretne, zgodnie z twierdzeniem o próbkowaniu, musi być wystarczająca do przetwarzania sygnału wejściowego. W dalszej części pracy przyjmujemy, że założenia te są spełnione i nie występuje efekt aliasingu [215]. W układach rzeczywistych efekt ten jest dodatkowo zrelaksowany przez filtr dolnoprzepustowy, związany ze zjawiskiem aberracji, która w naturalny sposób ogranicza pasmo sygnału wejściowego [241][36]. 3. Szum. W torze akwizycji obrazu występuje wiele źródeł różnego rodzaju szumów, począwszy od elementu przetwarzającego CCD, w którym istnieje zjawisko przesłuchu (ang. cross-talking) między sąsiednimi fotosensorami, w każdym z wierszy matrycy CCD. Następnie szum powstaje w układach formujących sygnał oraz w przetworniku A/C, w postaci tzw. szumu kwantyzacji, który jest następstwem ograniczonej długości słowa cyfrowego. Najczęściej pojawia się szum typu gaussowskiego oraz tzw. szum typu „pieprz i sól”. Więcej informacji na temat rodzajów szumu w układach akwizycji obrazów cyfrowych, jak również o sposobach ich filtracji, można znaleźć w licznych publikacjach [49][81][88][96][113][115][124][186][241]. 4. Nasycenie sygnałów. Zjawisko to występuje w przypadku, gdy zostaje przekroczony dopuszczalny poziom zakresu dynamiki toru wejściowego układu akwizycji, w tym np. zakresu dynamiki zastosowanego przetwornika A/C. 5. Rozmazywanie (ang. blooming). Zjawisko to spowodowane jest pojawieniem się na pewnym obszarze przetwornika CCD zbyt dużego ładunku, w następstwie czego dochodzi do przedostania się części tego ładunku na sąsiednie komórki przetwornika, powodując w obrazie wyjściowym zniekształcone plamy o maksymalnej intensywności [29]. Sytuacja taka jest najczęściej wynikiem przebicia się przez obiektyw odblasków od obserwowanych obiektów. 6. Sposób oświetlenia sceny. Właściwości fizyczne różnych źródeł promieniowania używanych do oświetlania obserwowanej sceny, jak również modele fotometryczne wraz z własnościami świetlno-optycznymi materiałów, dostępne są w bogatej literaturze [49][89][l13] [115][183]. W dalszej części pracy zakładamy tzw. lambertowski model fotometryczny, w którym przyjęto, że każdy punkt oświetlonej powierzchni odbierany jest jako jednakowo jasny z każdego kierunku jego obserwacji. Model ten jest stosunkowo dobrym przybliżeniem rzeczywistych scen, zawierających matowe i nieprzeźroczyste materiały. W przypadku systemu akwizycji obrazów stereoskopowych, niewłaściwy, lub nawet niejednakowy, sposób oświetlenia obydwu obrazów stereopary prawie zawsze pociąga za sobą olbrzymią ilość fałszywych dopasowań, prowadząc do błędnych wyników całego procesu znajdowania odpowiedników i w konsekwencji uniemożliwiając prawidłowe określenie głębi obserwowanej sceny. Wyżej opisane, niepożądane zjawiska powstające w rzeczywistych układach akwizycji obrazów są szczególnie dotkliwe podczas akwizycji obrazów kolorowych, gdyż mogą występować w różny sposób dla każdej z trzech składowych koloru sygnału wejściowego. W przypadku procesu znajdowania odpowiedników w obrazach stereoskopowych zjawiska te mogą prowadzić do znacznego zwiększenia tzw. fałszywych dopasowań, niemożliwych do dalszego wyeliminowania ze względu na złą jakość obrazu. Dlatego też dobranie właściwych parametrów toru do obserwowanej sceny podczas procesu akwizycji obrazu jest niezwykle istotne dla dalszego procesu stereo-przetwarzania.
21 Wystarczającą dokładność modelu kamery o obiektywie punktowym w odniesieniu do rzeczywistych kamer z przetwornikiem CCD oraz komercyjnie dostępnych kart akwizycji (ang. frame-grabber ) potwierdzają wyniki eksperymentalne, przedstawione w [170][223]. Dla prostych kamer, o rozdzielczości 512×512 pikseli, uzyskano tam dokładność ok. 1/20 piksela między układem rzeczywistym a modelem. W większości rzeczywistych układów kamer model perspektywiczny jest więc wystarczająco dokładny. Wniosek ten jest również wykorzystywany w tej pracy. Różne rodzaje zintegrowanych przetworników CCD do maszynowego przetwarzania obrazów, wraz z omówieniem technologii ich wytwarzania, prezentuje B¨ohm [29]. Przegląd metod akwizycji obrazów oraz przetworników CCD, w odniesieniu do analizy obrazów mikroskopowych, można znaleźć w pracy Baldocka i Grahama [10].
3.3
Stereoskopowy układ akwizycji obrazów
3.3.1
Geometria epipolarna
Rysunek 3.5 przedstawia układ dwóch rzutni perspektywicznych stanowiących model stereowizyjnego układu akwizycji obrazów. W układzie tym, każda płaszczyzna Πi wraz z punktem centralnym rzutowania Oi modeluje tzw. kamerą z obiektywem punktowym 7 . Prosta przechodząca przez punkt Oi i prostopadła do płaszczyzny Πi wyznacza na tej płaszczyźnie punkt, zwany punktem głównym (3.2.2.2). Natomiast odległość od tego punktu do punktu centralnego O, wyznacza ogniskową kamery.
Rysunek 3.5: Geometria epipolarna stereowizyjnego układu akwizycji obrazów. Prosta Ol Or , łącząca centra rzutowania Ol oraz Or , wyznacza tzw. linię bazową. Punkty jej przecięcia z płaszczyznami kamer są punktami epipolarnymi. W szczególnym przypadku, gdy prosta Ol Or jest równoległa do danej rzutni Πi , odpowiadający punkt epipolarny jest tzw. punktem w nieskończoności (9.3.3). Dla pewnego punktu przestrzeni P , płaszczyzna wyznaczona przez ten punkt oraz centra rzutowania Ol , Or stanowi płaszczyznę epipolarną Πe , a jej przecięcie z rzutniami Πl oraz Πr wyznacza odpowiednio 7 Zwana
również kamerą o obiektywie otworkowym (awg. pinhole camera).
22 linie epipolarne ul oraz ur . Jakie jest znaczenie linii epipolarnych w układzie stereowizyjnym, można się przekonać, analizując np. lewy obraz pl punktu P z przestrzeni trójwymiarowej. W tym to przypadku, punkt centralny rzutowania Ol i lewy obraz pl , definiują pewien promień rzutujący Ol pl . Łatwo zauważyć, że punkt pl jest obrazem zarówno punktu P , jak również każdego innego punktu leżącego na promieniu Ol pl . Oznacza to, że punkt P może leżeć w dowolnym miejscu na tym promieniu, a jednoznaczne określenie jego położenia możliwe jest dopiero po znalezieniu drugiego punktu obrazu pr na rzutni Πr . Punkt pr i odpowiadający mu punkt centralny Or definiują drugi promień Or pr . Ponieważ promień ten jest na stałe zaczepiony w punkcie Or , a jednocześnie może on co najwyżej „ślizgać” się po promieniu Ol pl , przecinając go dokładnie w jednym punkcie P , więc punkty jego przecięcia z odpowiadającą mu rzutnią wyznaczają prostą epipolarną. Także rzut promienia Ol pl na przeciwną rzutnię Πr wyznacza na niej prostą epipolarną. Wynika stąd kluczowy dla procesu dopasowywania stereoskopowego wniosek, że punkty obrazowe pi pewnego punktu P z przestrzeni trójwymiarowej mogą znajdować się w płaszczyźnie obrazu wyłącznie na odpowiednich liniach epipolarnych. Wniosek ten, w postaci najważniejszego założenia procesu stereodopasowywania, wraz z założeniami dodatkowymi podsumowuje rozdział (3.6). Jak zostanie to przedstawione dalej, w procesie szukania odpowiedników podczas dopasowywania obrazów stereoskopowych wniosek ten umożliwia redukcję procesu przeszukiwania z dwuwymiarowego do jednowymiarowego. Z każdą z kamer związany jest pewien układ współrzędnych o środku w centralnym punkcie rzutowania, natomiast oś Z tego układu współrzędnych jest współliniowa z osią optyczną kamery. W obydwu T T tych układach wektory Pl = Xl Yl Zl oraz Pr = Xr Yr Zr wyznaczają ten sam punkt P T T oraz pr = xr yr zr wyz przestrzeni trójwymiarowej. Natomiast wektory pl = xl yl zl znaczają na płaszczyznach kamer dwa różne obrazy tego samego punktu P . Dodatkowo zachodzi: zl = fl oraz zr = fr , gdzie f , i fr są ogniskowymi odpowiednio, kamery lewej oraz prawej. Tak jak to już zostało przedstawione w rozdziale (3.2.2), każda kamera posiada tzw. parametry zewnętrzne, określające jej położenie w stosunku do zewnętrznego układu współrzędnych. Z każdą z kamer w układzie stereowizyjnym wiąże się pewien lokalny układ współrzędnych. Podobnie jak w zależności (3.4), istnieje przejście od jednego układu lokalnego kamery do drugiego za pomocą złożenia translacji o wektor T = Or − Ol z obrotem określonym przez macierz ortogonalną R. Dlatego też, dla dwóch wektorów, Pl oraz Pr , określających położenie tego samego punktu P przestrzeni trójwymiarowej, spełniona jest zależność: Pr = R(Pl − T) (3.18) Płaszczyznę epipolarną Πe , w lewym układzie współrzędnych, rozpinają dwa wektory: T oraz Pl . Należy do niej również wektor Pl − T . Oznacza to, że iloczyn mieszany tych współpłaszczyznowych wektorów musi się zerować, czyli: (Pl − T) − (T × Pl ) = 0 (3.19) Iloczyn wektorowy w (3.19) można zapisać macierzowe jako iloczyn pewnej macierzy A z wektorem Pl , co przedstawia poniższa równość: Tx Ty Tz T × Pl = Plx Ply Plz = i(Ty Plz − Tz Ply ) − j(Tx Plz − Tz Plx ) + k(Tx Ply − Ty Plx ) = (3.20) i j k −Tz Ply + Ty Plz 0 −Tz Ty Plx 0 −Tx Ply = APl = Tz Plx − Tx Plz = Tz −Ty Plx + Tx Ply −Ty Tx 0 Plz gdzie i, j, k są wersorami prostokątnego układu współrzędnych, natomiast A jest pewną macierzą skośniesymetryczną (9.13). Podstawiając (3.18) oraz (3.20) do (3.19) otrzymujemy: (R−1 Pr )T APl = 0
(3.21)
Korzystając z własności ortogonalności macierzy R oraz dokonując prostych przekształceń, otrzymujemy: PTr RAPl = 0
(3.22)
PTr EPl = 0
(3.23)
E = RA
(3.24)
gdzie macierz
23 nazywana jest macierzą zasadniczą (ang. essential matrix ), która ze względu na rząd macierzy A również jest macierzą rzędu drugiego. Posługując się teraz zależnością (3.2) w postaci wektorowej, równanie (3.23) można zapisać jako: pTr Epl = 0
(3.25)
gdzie: pr oraz pl są punktami na płaszczyźnie obrazu. Ponieważ odpowiadające sobie punkty leżą wyłącznie na odpowiadających sobie liniach epipolarnych, więc w (3.25) Epl jest równaniem linii epipolarnej ur na prawej płaszczyźnie, która przebiega przez punkt pr , oraz tak jak wszystkie linie epipolarne, przez punkt epipolarny. Równanie prostej epipolarnej ur wyraża następujące równanie: ur = Epl
(3.26)
Współrzędne pikselowe otrzymujemy, korzystając z zależności (3.13) w postaci: Mik pk = pk
(3.27)
gdzie: Mi k to macierz parametrów wewnętrznych Mi dla k-tego obrazu, pk — punkt o współrzędnych w układzie kamery, pk — punkt o współrzędnych jednorodnych pikselowych. Równanie (3.25) można zapisać kolejno w następujących postaciach: −1 T (M−1 ir pr ) EMil pl = 0
(3.28)
−1 pTr M−T ir EMil pl = 0
(3.29)
pTr Fpl = 0
(3.30)
−1 F = M−T ir EMil
(3.31)
Ostatecznie otrzymujemy: gdzie macierz nazywana jest macierzą fundamentalną (ang. fundamental matrix ). Określa ona geometrię epipolarną z wykorzystaniem współrzędnych pikselowych, w odróżnieniu od macierzy zasadniczej w równaniach (3.23) oraz (3.25) , które wykorzystują współrzędne kamery. Dalsze właściwości macierzy E oraz F omawiają Luong oraz Faugeras [154], natomiast sposób reprezentacji scen za pomocą obrazów i macierzy fundamentalnych przedstawiają Laveau oraz Faugeras [141]. Ponieważ punkt pr z prawej płaszczyzny obrazowej może leżeć tylko na linii epipolarnej należącej do tej samej płaszczyzny, więc na podstawie (3.30) można napisać równanie linii epipolarnej w prawej płaszczyźnie obrazowej w postaci: ur = Fpl (3.32) Punkt pr leży na prostej epipolarnej ur , co wyraża poniższe równanie: pr ur = 0
(3.33)
Ponieważ wszystkie linie epipolarne stanowią tzw. pęk linii i przecinają się w jednym punkcie epipolarnym, więc równanie (3.30), dla jednego punktu epipolarnego w lewej płaszczyźnie obrazowej, można zapisać w następująco: pTr Fel = 0 (3.34) gdzie el jest punktem epipolarnym w lewej płaszczyźnie obrazowej o współrzędnych pikselowych. Ponieważ jednak macierz fundamentalna jest macierzą rzędu drugiego, więc równanie (3.34) wymaga spełnienia poniższej zależności: Fel = 0 (3.35) co oznacza, że el jest jądrem przekształcenia opisanego macierzą F . Analogicznie, er jest jądrem przekształcenia opisanego macierzą F T . Stąd też znalezienie punktów epipolarnych sprowadza się do określenia jądra przekształcenia opisanego przez F lub F T . Można tego dokonać na przykład poprzez znalezienie rozkładu macierzy F względem wartości szczególnych, zwanego również rozkładem SVD [l 17][172][195][190]. Po przedstawieniu macierzy F w postaci: F = SVDT (3.36) otrzymujemy el jako kolumnę macierzy D odpowiadającą wartości zerowej w diagonalnej macierzy V , natomiast er jako kolumnę macierzy S odpowiadającą wartości zerowej w V .
24 3.3.1.1 Tensor dwuogniskowy Analizę zależności między wieloma obrazami ułatwia zastosowanie rachunku tensorowego (9.4). Pozwala on na stosunkowo zwięzły zapis zależności między obrazami oraz ułatwia analizę w przypadku zmiany układów współrzędnych związanych z obrazami (3.2.1). Badania metod przetwarzania obrazów z wykorzystaniem rachunku tensorowego [8][27][23][122][195] ciągle się rozwijają, czego świadectwem jest wciąż rosnąca liczba opracowań i publikacji na ten temat [140][92][102][104][105][200][209][210][239][240]. Równanie (3.11) opisuje przekształcenie rzutowe dokonywane przez model kamery o obiektywie punktowym. W przypadku czterech kamer równanie to można zapisać zwięźle w postaci [102]: X M1 x1 0 0 0 −s1 M2 0 x2 0 0 H (3.37) −s2 = 0 , H12×8 = M3 0 0 x3 0 −s3 M4 0 0 0 x4 −s4 gdzie: Mi jest macierzą przekształcenia rzutowego dokonywanego przez i-tą kamerę, X jest pewnym punktem przestrzeni trójwymiarowej, xi jest jego obrazem powstałym na płaszczyźnie i-tej kamery, si jest pewnym współczynnikiem skalującym. H jest macierzą o wymiarach 12 × 8 powstałą z macierzy Mi oraz xi ; jej rząd nie przekracza 8. Rozważając teraz szczególny przypadek dwóch obrazów, np. 1 i 2, oraz biorąc z każdej macierzy kamery jej trzy pierwsze wiersze, można zbudować minory macierzy H (o rozmiarach 6 × 6) postaci: M11 x11 0 M21 x21 0 M31 1 0 det (3.38) 1 1 =0 M22 0 x22 M2 0 x2 M3 0 1 gdzie: Mji jest i-tym wierszem j-tej macierzy kamery, xij i-tą składową i-tego punktu obrazowego. Minory te tworzą tzw. formy dwuliniowe, wyrażone we współrzędnych obydwu obrazów. Z kolei współczynniki, niezależne od współrzędnych obrazowych, występujące w takiej formie dwuliniowej są składnikami tensora dwuogniskowego (ang. bifocal tensor ), zgodnie z poniższą definicją [102]: Definicja 2.1: Niech εijk będzie symbolem permutacji8 oraz niech MIi , oznacza i-ty wiersz macierzy kamery MI dla obrazu I. Wtedy tensor postaci: 0 MIi M i00 I 0 (3.39) IJ Fij = εii0 i00 εjj 0 j 000 det MJj 00 MJj jest tensorem dwuogniskowym. W wyrażeniu (3.39) użyto reguły sumacyjnej Einsteina [122][184][195]. Tensor IJ Fij jest tensorem kowariantnym rzędu drugiego. Oznacza to, że zmiana układów współrzędnych obrazów I oraz J powoduje zgodną zmianę wartości IJ Fij . Dalsze rozszerzenia przedstawionej wyżej metody analizy minorów macierzy (3.37) prowadzą do definicji tensorów trój - oraz cztero- i wielo-ogniskowych [102][233]. 3.3.1.2 Metody znajdowania macierzy E oraz F Macierze E oraz F można wyznaczyć, korzystając odpowiednio z zależności (3.23) oraz (3.30). Ponieważ wykorzystywane są tam współrzędne jednorodne, to otrzymujemy rozwiązanie z dokładnością do pewnego współczynnika skalującego. Do wyznaczenia pozostałych elementów macierzy potrzebna jest więc znajomość co najmniej ośmiu punktów. Z tego względu najprostsza metoda liniowego rozwiązania tego równania zwana jest algorytmem ośmiopunktowym (ang. eight-point algorithm) [91][62][63][59][241]. W przypadku większej liczby punktów równanie to może być rozwiązane za pomocą metody najmniejszych kwadratów [80][117][190][38]. 8 Symbol permutacji ε p ijk oznacza wartość 0, jeżeli dowolna para jego indeksów jest równa, oraz (−1) , gdzie p jest minimalną liczbą przestawień indeksów, prowadzącą do ich porządku naturalnego, tj. 1, 2, 3 . . .
25 Po przekształceniu równania macierzy fundamentalnej (3.30) dostajemy równanie w następującej postaci: 3 X 3 X pri Fij plj = 0 (3.40) i=1 j=1
gdzie: pri oraz plj są współrzędnymi odpowiadających sobie punktów, odpowiednio w obrazie prawym oraz lewym, natomiast Fij oznaczają elementy macierzy fundamentalnej. Równanie powyższe można zapisać w postaci: 9 X
xi fi = 0
(3.41)
i=1
gdzie: xi oznacza współczynnik zależny wyłącznie od współrzędnych punktów na lewej oraz prawej płaszczyźnie obrazowej, fi są współrzędnymi wektora powstałego po liniowym uporządkowaniu elementów macierzy fundamentalnej (wobec wymiaru macierzy F współrzędnych tych jest 9). W celu znalezienia F musimy rozwiązać układ równań postaci (3.41). Do tego celu potrzebna jest, jak już wcześniej wspomniano, znajomość co najmniej ośmiu par odpowiadających sobie punktów. Niestety, mimo swojej prostoty, nie zmodyfikowany algorytm ośmiopunktowy wykazuje zbyt dużą wrażliwość na szum, błędy numeryczne oraz niedokładne odpowiedniki punktów. Modyfikacja zaproponowana przez Hartleya [91], polegająca na normalizacji współrzędnych skorelowanych punktów, prowadzi do znacznej poprawy działania tego algorytmu. Ponieważ macierz F zdefiniowana jest z dokładnością do pewnego współczynnika skalującego, więc na wektor f , będący rozwiązaniem układu równań postaci (3.41), można narzucić ograniczenie, aby jego norma wynosiła 1. W praktyce, zamiast szukać rozwiązania (3.41) dokładnie dla ośmiu punktów, staramy się znaleźć rozwiązanie metodą najmniejszych kwadratów dla większej liczby dopasowanych punktów. Przy poprzednim założeniu dotyczącym normy wektora f , prowadzi to do poszukiwania rozwiązania w postaci: min kXf k2 (3.42) kf k=1
gdzie: macierz X jest macierzą, której każdy wiersz zbudowany jest na podstawie współrzędnych jednej pary dopasowanych punktów, f jest wektorem powstałym po liniowym uporządkowaniu elementów macierzy fundamentalnej F . Zgodnie z definicją, kwadrat normy (3.42) można przedstawić w postaci: kXf k2 = (Xf )T (Xf ) = f T (XT X)f
(3.43)
Stąd też, rozwiązanie (3.42) otrzymujemy po znalezieniu najmniejszej wartości własnej, symetrycznej i dodatnio określonej macierzy X T X o wymiarach 9 × 9. Dodatkowo, w celu zagwarantowania rzędu drugiego znalezionej macierzy F (3.3.1), należy znaleźć, a następnie wyzerować jej najmniejszą wartość własną, na przykład korzystając z rozkładu SVD macierzy F [190][80]. Macierz X, skonstruowana w wyżej wymieniony sposób, jest przeważnie źle uwarunkowana numerycznie, ponieważ jej elementy, będące iloczynami współrzędnych pikselowych odpowiadających sobie punktów, wykazują bardzo dużą rozpiętość wartości. Dla przykładowych obrazów o rozmiarach, np. 736 × 736 pikseli, niektóre elementy będą rzędu 12 = 1, podczas gdy inne mogą osiągnąć wartość nawet 7362 . Prosta normalizacja współrzędnych pikselowych do zakresu [−1, 1] znacznie poprawia stabilność numeryczną macierzy X [91][259][91][170]. Godną polecenia metodą znajdowania odpowiadających sobie punktów w celu rozwiązania (3.42) jest opisany w tej pracy tensorowy algorytm znajdowania odpowiedników stereowizyjnych (6.2). Na koniec warto zauważyć, że istnieją też liczne alternatywne metody wyznaczania macierzy E oraz F , wykorzystujące algorytmy iteracyjne oraz metody nieliniowe [93][60][258][155]. Dla Czytelników szczególnie zainteresowanych tą dziedziną najlepszym źródłem wyczerpujących informacji jest monografia Hartleya i Zissermana [93].
3.3.2
Katadioptryczny układ stereowizyjny
Przy wykorzystaniu elementów uginających i odbijających promieniowanie świetlne9 możliwe jest skonstruowanie zarówno kamer o znacznie szerszym polu widzenia, jak również kompletnego układu stereowizyjnego, wykorzystującego tylko jedną kamerę wraz z elementami katadioptrycznymi i charakteryzującego się bardzo dobrymi właściwościami optycznymi [75][76][78][177][223]. Konfigurację katadioptrycznego układu stereowizyjnego z użyciem płaskich zwierciadeł przedstawia poniższy rysunek. 9 Zwane
również elementami katadioptrycznymi
26
Rysunek 3.6: Akwizycja obrazu stereoskopowego w układzie katadioptrycznym. Punkt P należący do przestrzeni trójwymiarowej rzutowany jest w postaci punktów pl oraz pr na płaszczyznę obrazową kamery o środku w punkcie o poprzez odbicie za pomocą zwierciadeł Zl oraz Zr . Punkty vl oraz vr są środkami rzutowania kamer pozornych, natomiast punkty ml oraz mr są pozornymi obrazami punktu P . Zalety katadioptrycznych układów stereowizyjnych — w porównaniu z klasycznymi rozwiązaniami wykorzystującymi kilka kamer — przedstawia poniższe zestawienie: • Identyczne parametry systemu. W układzie katadioptrycznym, w przypadku zastosowania jednego toru cyfrowego, takie parametry układu jak (3.2.4): charakterystyka transmisyjna oraz zniekształcenia soczewek, parametry przetwornika CCD, synchronizacja akwizycji, automatyczna regulacja wzmocnienia (ARW ) toru, rozmiar elementu obrazowego itp. — pozostają identyczne dla obu obrazów. Stanowi to duże ułatwienie w dalszym procesie stereodopasowywania i jednocześnie umożliwia zastosowanie algorytmów mniej kosztownych obliczeniowo. • Łatwiejsza kalibracja. Dzięki wykorzystaniu wyłącznie jednej kamery i jednego toru cyfrowego do znalezienia pozostaje tylko jeden zestaw parametrów wewnętrznych kamery (3.2.2.2). Jak wykazali Gluckman i Nayer [77], ze względu na ograniczenie zmiany położenia zwierciadeł tylko do ruchu po pewnej płaszczyźnie, znacznej redukcji uległa ilość parametrów zewnętrznych (3.2.2.1) tego układu. • Szersze pole widzenia. Użycie zwierciadeł hiperbolicznych lub parabolicznych umożliwia znaczne poszerzenie pola widzenia katadioptrycznego układu akwizycji obrazów stereoskopowych — w porównaniu do układu klasycznego z dwoma kamerami [177][223]. Nawet zastosowanie obiektywów szerokokątnych, lub też typu rybie-oko (ang. fish-eye), w układzie klasycznym nie daje pożądanych wyników, gdyż otrzymane obrazy nie mogą być analizowane z wykorzystaniem modelu kamery o obiektywie punktowym (3.2.2). • Uproszczenie toru akwizycji danych. Ze względu na użycie fizycznie tylko jednej kamery, znacznemu uproszczeniu ulega również tor akwizycji danych. Zbędne jest także stosowanie układu synchronizacji wyzwalania dwóch lub większej liczby kamer. Z tych też powodów stało się możliwe zastosowanie prostych i komercyjnie dostępnych kamer video [77].
27 • Uproszczenie układu mechanicznego. Często w klasycznym układzie stereoskopowym wszystkie kamery muszą być sprzężone mechanicznie w celu umożliwienia jednoczesnej zmiany ich parametrów, takich jak ogniskowa czy też przysłona. W układzie katadioptrycznym, ze względu na zastosowanie tylko jednej kamery, wspomniane sprzężenie mechaniczne pomiędzy kamerami jest zbędne. Możliwa jest również znaczna redukcja wymiarów, jak i ciężaru, układu katadioptrycznego w stosunku do analogicznego układu klasycznego. • Mniejszy koszt układu. Z wyżej wymienionych powodów redukcji ulega również koszt układu akwizycji, co ma szczególnie duże znaczenie w zastosowaniach przemysłowych. Praktyczną realizację katadioptrycznego układu stereowizyjnego, wykorzystującego płaskie zwierciadła i działającego w czasie rzeczywistym, zrealizowali Gluckman i Nayar [75][78] oraz Thoresz [76]. Zaprezentowany przez nich system dokonuje akwizycji obrazu stereowizyjnego w układzie katadioptrycznym, a następnie dokonuje oszacowania głębi obserwowanej sceny. Dzięki właściwościom katadioptrycznego układu akwizycji, a szczególnie jednorodności obydwu torów wizyjnych, do obliczania głębi możliwe jest wykorzystanie prostej miary SAD (Tabela 4.3), a w konsekwencji znaczne przyspieszenie całego procesu obliczeniowego. Gluckman i Nayar w swoich eksperymentach uzyskali szybkość przetwarzania około 20 ramek na sekundę dla obrazów o rozdzielczości 320 × 240 pikseli, korzystając z systemu komputerowego z procesorem Pentium II 300 MHz, pojedynczej kamery Sony XC-77 z soczewką 12.5 mm firmy Computar oraz posrebrzanych zwierciadeł 5” firmy Melles Griot. Analizę układów katadioptrycznych z wykorzystaniem zwierciadeł hiperbolicznych oraz parabolicznych, wraz z wyprowadzeniem równań geometrii epipolarnej dla tego układu oraz wynikami testów, przedstawili Svoboda, Pajdla oraz Hlavac [223]. Kończąc dyskusję nad układami katadioptrycznymi w kontekście znajdowania głębi scen, należy wspomnieć o ich dużej atrakcyjności w systemach wykorzystujących więcej niż dwa obrazy obserwowanej sceny.
3.3.3
Kanoniczny układ kamer
Poprzez kanoniczny układ kamer10 rozumiemy układ stereoskopowy, w którym osie optyczne obydwu kamer są do siebie równoległe, a linie skanowania płaszczyzn obrazowych kamer są współliniowe — Rysunek 3.7.
Rysunek 3.7: Akwizycja obrazu stereoskopowego w układzie katadioptrycznym. 10 Układ
ten zwany jest również standardowym lub podstawowym układem stereoskopowym.
28 3.3.3.1 Definicja dysparycji Definicję dysparycji stosujemy wyłącznie w odniesieniu do kanonicznego układu stereowizyjnego. W ogólnym przypadku definicja dysparycji jest znacznie utrudniona, gdyż nie można wtedy mówić o poziomym czy pionowym przesunięciu obrazów [63]. Korzystając z właściwości podobieństwa trójkątów: ∆pL oL OL oraz ∆P XOL , jak również ∆pR oR OR oraz ∆P XOR , dostajemy następujące zależności definiujące dysparycję horyzontalną Dx (pl , pr ) pomiędzy parą punktów pl oraz pr : bf (3.44) Dx (pl , pr ) = pr1 − pl1 = xL − xR = Z T T gdzie: punkty pl = pl1 pl2 , pr = pr1 pr2 są obrazami pewnego punktu P , b — odległość między punktami ogniskowymi kamer, f — ogniskowa kamer, Z — odległość punktu P od linii bazowej (głębia sceny). Często definiuje się również dysparycję wertykalną Dy w kierunku prostopadłym do Dx , w postaci: Dy (pl , pr ) = pr2 − pl1
(3.45)
W przypadku występowania zarówno dysparycji horyzontalnej, jak i wertykalnej, ogólnie dysparycję D(pl , pr ) definiujemy jako [123]: q D(pl , pr ) = Dx2 (pl , pr ) + Dy2 (pl , pr ) (3.46) W przypadkach, gdy jest to jednoznaczne, poprzez dysparycję rozumiemy wyłącznie dysparycję horyzontalną Dx w sensie (3.44). 3.3.3.2 Rektyfikacja obrazów stereoskopowych do postaci kanonicznej Rektyfikacja jest to przekształcenie obrazów stereoskopowych w taki sposób, że odpowiadające sobie linie epipolarne w obu obrazach stają się współliniowe oraz równoległe do poziomych linii skanowania obrazów [9][63][70][181][241]. Układ stereoskopowy spełniający wyżej wymienione warunki nazywamy układem kanonicznym. Łącznie z ograniczeniem do poszukiwania dopasowań jedynie wzdłuż linii epipolarnych (3.3.1), proces poszukiwania upraszcza się do przeglądania obrazów w kierunkach zgodnych z kierunkiem ich poziomego skanowania, w ten sposób znacznie upraszczając sam algorytm dopasowujący (4.1)[202][71]. Cechą charakteryzującą kanoniczny układ kamer jest przesunięcie punktów epipolarnych do nieskończoności — linie epipolarne się nie przecinają, a osie optyczne stają się równoległe. Rektyfikacja obrazów stereoskopowych sprowadza się do znalezienia przekształcenia transformującego odpowiednio płaszczyzny Πl0 oraz Πr0 w płaszczyzny Πl1 oraz Πr1 (Rysunek 3.8). Przekształcenie to można opisać jako złożenie następujących przekształceń [241]: 1. Obrót płaszczyzn lewej i prawej kamery w taki sposób, aby punkty epipolarne stały się punktami w nieskończoności, a linie epipolarne równoległe. Obrót ten definiuje pewna macierz Q. 2. Obrót płaszczyzny prawej kamery zgodnie z przekształceniem określonym macierzą R, występującą w równaniu (3.18). Dodatkowo, bez utraty ogólności, zakładamy, że: 1. Ogniskowa f w obu kamerach jest taka sama. 2. Środek układu współrzędnych kamery znajduje się w punkcie przecięcia osi optycznej z płaszczyzną kamery (tzw. punkt główny). Macierz Q znajdujemy poprzez znalezienie trójki wzajemnie ortogonalnych wektorów jednostkowych: q1 , q2 oraz q3 . Wektor q1 jest współliniowy z wektorem translacji T między punktami ogniskowymi kamer (Rysunek 3.5) i wyraża się poniższym wzorem: q1 =
T kTk
(3.47)
29
Rysunek 3.8: Proces rektyfikacji obrazów stereoskopowych. Linie epipolarne po rektyfikacji stają się współliniowe i równoległe do linii skanowania obrazów. Wektor q2 jest ortogonalny do wektora q1 . Ponieważ T −Ty Tx 0 · T x Ty
Tz
T
=0
(3.48)
więc q2 =
−Ty Tx 0 q Ty2 + Tx2
T (3.49)
Trzeci wektor q3 , ortogonalny zarówno do q1 jak i q2 , określa poniższy iloczyn wektorowy: q3 = q1 × q2 Wektory: q1 , q2 oraz q3 określają macierz Q w sposób następujący: T q1 Q = qT2 qT3 3×3
(3.50)
(3.51)
30 W praktyce, w celu uzyskania całkowitych wartości współrzędnych w nowym, tj. kanonicznym układzie kamer, rektyfikację przeprowadza się wstecz, to znaczy, zaczynając od „nowych” współrzędnych układu kanonicznego stosujemy przekształcenie odwrotne Q−1 . W ten sposób wartości intensywności w „nowym” układzie określić można np. za pomocą interpolacji biliniowej wartości wyjściowych, tj. ze „starego” układu. 3.3.3.3 Geometryczne ograniczenie dokładności pomiaru głębi w układzie stereoskopowym. Rysunek 3.9 wyjaśnia zjawisko zmniejszania się dokładności pomiaru głębi sceny wraz ze wzrostem odległości od płaszczyzny kamer stereowizyjnych, które dokonują akwizycji obrazów tej sceny. Ograniczenie to ma charakter geometryczny i zależy wprost od geometrycznych parametrów stereowizyjnego układu akwizycji. Zależność między dokładnością obliczenia głębi na podstawie obserwowanych obrazów stereowizyjnych a rozdzielczością kamer dokonujących akwizycji tych obrazów oraz odległości obserwowanej sceny, można znaleźć analizując Rysunek 3.10).
Rysunek 3.9: Zjawisko ograniczonej dokładności rekonstrukcji głębi wraz ze wzrostem odległości od płaszczyzny kamer. Korzystając z właściwości podobieństwa trójkątów: ∆ABC do ∆ADF oraz ∆AEF do ∆AHG dostajemy następujące zależności: DF BC = AF AC
EF EF = AF AG
Zamieniając oznaczenia na poniższe: AF = b
,
BC = GH = f
,
EF = Z
,
DE = R
otrzymujemy zależności: r = AG − AC
,
r=
fb bf − Z Z +R
Po przekształceniach, Rf b = rZ(Z + R) dostajemy ostatecznie: R=
rZ 2 f b − rZ
(3.52)
31
Rysunek 3.10: Obliczenie zależności dokładności obliczeń głebi od rozdzielczości kamer. Zakładając teraz, że Z jest dużo większe11 od R, otrzymujemy przybliżenie: R≈
rZ 2 fb
(3.53)
Analizując (3.52) oraz (3.53) można wyciągnąć następujące wnioski: 1. Zależność (3.52) obowiązuje pod warunkiem, że f b 6= rZ W miarę, jak Z zbliża się do wartości granicznej Z=
bf r
wartość R zmierza do nieskończoności. W przypadku większości układów akwizycji obrazów, wartości r, b oraz f są stałe. Oznacza to, że istnieje taka odległość Z, dla której nie jest możliwe określenie odległości ze względu na parametry geometryczne układu akwizycji. 2. Dla stosunkowo niewielkich zakresów wartości odległości Z, przybliżona zależność (3.53), przy założeniu, że r, f i b są stałe, pokazuje kwadratową zależność rozdzielczości głębi R od odległości bezwzględnej Z. Oznacza to, że w przypadku potrzeby dokładnego określenia bezwzględnych pozycji przestrzennych obserwowanych obiektów, z określoną dokładnością, parametry układu akwizycji muszą być tak dobrane, aby R, w rozpatrywanym zakresie głębi, było przynajmniej o rząd wielkości mniejsze niż zakładana dokładność. W zależności od dalszego etapu przetwarzania mapy głębi, otrzymanej w wyniku korelacji obrazów stereoskopowych, można dokonać np. interpolacji subpikselowej lub też zmienić układ akwizycji albo jego parametry. W przypadku, gdy potrzebna jest tylko wartość dysparycji, np. przy syntezie obrazów [202], zjawisko to nie jest zbyt ograniczające. 11 Założenie to jest słuszne dla niewielkich wartości Z (Rysunek 3.9). Wartość ogniskowej f , jak również odległości bazowej b między kamerami może ulec zmianie, ale w rozpatrywanych tu systemach akwizycji są one stałe w trakcie tego procesu; są one również stałe dla wcześniej uzyskanych obrazów stereowizyjnych.
32 Tabela 3.1 zawiera wartości rozdzielczości głębi R dla przykładowego układu akwizycji obrazów stereoskopowych. Wartości R wyliczono na podstawie wzoru (3.52) przekształconego do postaci: R=
Z2 Rh b 2 tg α − Z
(3.54)
2
gdzie: Rh , — rozdzielczość horyzontalna kamery, α — horyzontalny kąt widzenia kamery. Tabela 3.1: Przykładowe wartości rozdzielczości głębi R [m] dla wybranego układu akwizycji o stałych parametrach (rozdzielczość Rh = 1024 piksele, kąt widzenia α = 60◦ , b = 5 oraz 30 cm). b [m] 0.05 0.3
0.1 0.000226 0.000038
Z [m] 0.5 1.0 0.0051 0.023 0.00094 0.0038
5 0.635 0.096
10 2.91 0.39
Analizując zawartość powyższej tabeli, można zauważyć, że w przypadku zaledwie 10 metrów, dla odległości między kamerami 5 [cm], rozdzielczość R wynosi już ok. 3 [m]. Dla większej odległości pomiędzy kamerami rozdzielczość ta maleje (do ok. 40 [cm] po rozsunięciu kamer do 30 [cm]).
3.4
Kalibracja kamer
Proces kalibracji kamer polega na znalezieniu parametrów zewnętrznych (3.2.2.1) oraz wewnętrznych (3.2.2.2) kamery lub też podzbioru tych parametrów. Ze względu na duże znaczenie w procesie precyzyjnej rekonstrukcji geometrii obserwowanej sceny, metody kalibracyjne znajdują szerokie odzwierciedlenie w licznych publikacjach, np. [61][63][99][130][131][151][152][153][191][198][237][238][250][251][257][86]. Ponieważ w tej pracy autor nie zakłada precyzyjnej rekonstrukcji, a jedynie rekonstrukcję z dokładnością do przekształcenia rzutowego, proces zupełnej kalibracji nie jest tak istotny. Tym niemniej, wykorzystanie opisywanych w tej pracy metod pasowania obrazów stereoskopowych do procesu odtwarzania bezwzględnych wartości głębi obserwowanej sceny musi być poprzedzone kalibracją kamer. Równocześnie jednak algorytmy stereowizyjne opisane w tej pracy mogą służyć na etapie dopasowywania punktów charakterystycznych wzorca kalibracyjnego, podczas przeprowadzania tzw. klasycznej kalibracji kamer (3.4.1). Sposoby kalibracji kamer w komercyjnych systemach stereowizyjnych opisuje dodatek (9.1), jak również [242][243]. Kompletny opis polskiego projektu badawczego dotyczącego praktycznego sposobu kalibracji kamer można znaleźć w [250][251]. Coraz większym zainteresowaniem cieszą się również metody pozwalające na kalibrację tanich kamer o niezbyt wyrafinowanych parametrach. Jedną z takich metod, wykorzystującą prosty wzorzec, możliwy do otrzymania ze standardowej drukarki laserowej, opracowany został przez Zhanga [257]. Wpływ dokładności pomiarów wzorca kalibracyjnego na dokładność obliczenia parametrów wewnętrznych i zewnętrznych kamer analizowali Lavest, Viala i Dhone [142]. Analizę teoretyczną oraz iteracyjny algorytm precyzyjnej kalibracji kamer z użyciem kontrolnych wzorców kołowych przedstawił Heikkil¨ a [99]. Sposoby kalibracji kamer o długiej ogniskowej (tzw. teleobiektywy) wraz ze sposobami przygotowania wzorca kalibracyjnego podali Li i Lavest [148]. Kalibracja tego typu kamer nastręcza duże trudności głównie ze względu na zmianę parametrów wewnętrznych w czasie, jak również brak możliwości zastosowania prostego modelu kamery o obiektywie punktowym do kamer z tego typu obiektywami. Aspekty kalibracji kamer szerokokątnych analizują Swaminathan oraz Nayar [224].
3.4.1
Klasyczne metody kalibrujące
Do klasycznych metod kalibrujących zaliczamy te metody, które wymagają przygotowania odpowiedniego wzorca kalibracyjnego o znanych rozmiarach w pewnym wybranym układzie współrzędnych zewnętrznych, a następnie znalezienia jego obrazu oraz rozpoznania i zmierzenia we współrzędnych pikselowych charakterystycznych cech występujących na tym wzorcu. Przeważnie wzorzec kalibracyjny składa
33
Rysunek 3.11: Klasyczny wzorzec kalibracyjny. się z regularnej siatki dobrze kontrastujących kwadratów (Rysunek 3.11), łatwych do lokalizacji w otrzymanym obrazie. Istnieje wiele metod określania parametrów zewnętrznych oraz wewnętrznych kamer, mniej lub bardziej bezpośrednio bazujących na wcześniej wprowadzonych zależnościach (3.4) do (3.10). Do najbardziej „ jednorodnych” zaliczyć można często cytowaną metodę, opracowaną przez Tsai [63][123][82][241]. Metoda ta bezpośrednio wykorzystuje zależność (3.8) do znalezienia macierzy M , określającej przekształcenie rzutowe dokonywane przez kamerę. Elementy tak znalezionej macierzy M zawierają kombinacje liniowe zarówno parametrów wewnętrznych jak i zewnętrznych, zgodnie z zależnością (3.9). W nielicznych przypadkach istnieje konieczność dalszego odseparowania tych dwóch zbiorów parametrów, co można stosunkowo prosto przeprowadzić na drodze analitycznej. Korzystając z (3.15) oraz uwzględniając (3.17), otrzymujemy zależność współrzędnych pikselowych obrazu punktu od współrzędnych zewnętrznych tego punktu: p1 m11 X1 + m12 X2 + m13 X3 + m14 = p3 m31 X1 + m32 X2 + m33 X3 + m34 p2 m21 X1 + m22 X2 + m23 X3 + m24 yu = = p3 m31 X1 + m32 X2 + m33 X3 + m34
xu =
(3.55)
Ponieważ macierz M określona jest z dokładnością do pewnego współczynnika skalującego, do wyznaczenia pozostaje jedenaście niezależnych parametrów związanych zależnością (3.55). Biorąc więc co najmniej sześć punktów, których współrzędne znamy, zarówno w zewnętrznym jak i pikselowym układzie współrzędnych, możemy rozwiązać układ równań względem parametrów mij . W praktyce, dokonując kalibracji z wykorzystaniem obrazu wzorcowego (np. prezentowanego przez Rysunek 3.11), otrzymujemy większą liczbę dobrze dopasowanych punktów. Prowadzi to do jednorodnego układu równań: Qm = 0 gdzie macierz Q X11 0 Q= · 0
(3.56)
jest postaci: X12 0 · 0
X13 0 · 0
1 0 0 X11 · · 0 XN 1
0 X12 · XN 2
0 X13 · XN 3
0 −xu1 X11 1 −yu1 X11 · · 1 −yuN X11
−xu1 X12 −yu1 X12 · −yuN X12
T przy oznaczeniu współrzędnych k-tego punktu Pk = Xk1 Xk2 Xk3 , xuk Wektor m powstaje po liniowym uporządkowaniu elementów macierzy M : m=
m11
m12
. . . m33
m34
T
−xu1 −yu1 · −yuN (3.57)
−xu 1X13 −y u 1X13 · −y u N X13 yuk
T
.
(3.58)
34 Rozwiązanie (3.56) można otrzymać, korzystając z rozkładu względem wartości szczególnych SVD [80][117][190].
3.4.2
Kalibracja fotometryczna
Większość metod przetwarzania obrazów zakłada istnienie fotosensora z liniową charakterystyką wartości sygnału w stosunku do natężenia promieniowania padającego na ten fotosensor [123]. Opisane poniżej dwa zjawiska, w większości rzeczywistych układów akwizycji, wymagają odpowiedniej kalibracji. 1. Korekcja gamma. Rzeczywiste kamery, mimo iż często zawierają stosunkowo liniowy przetwornik CCD, nierzadko zawierają tzw. układ korekcji gamma, używany w celu przystosowania sygnału wyjściowego z toru akwizycji do prawidłowego odtworzenia na ekranie. W tego typu kamerach, aby uzyskać niezniekształcony obraz, należy przeprowadzić proces odwrotny, czyli antykorekcję gamma, pod warunkiem znajomości samego współczynnika gamma. 2. Polaryzacja przy braku oświetlenia. Przetwornik CCD generuje elektrony nawet w przypadku braku padających fotonów. Generacja ta ma charakter termiczny. Powoduje to wystąpienie sygnału na wyjściu układu akwizycji obrazu, nawet w przypadku braku oświetlenia. Jest to tzw. poziom czerni. Mimo że w większości przypadków zjawisko to bezpośrednio nie powoduje nieliniowości, to jednak powinno być uwzględnione podczas przetwarzania obrazu. W układach stereowizyjnych, zawierających dwie odrębne kamery, oprócz spełnienia wyżej przedstawionych warunków, wymagany jest dodatkowy rodzaj kalibracji fotometrycznej, polegającej na wyrównaniu średniego poziomu i wzmocnienia torów obydwu kamer. Kalibracja ta ma na celu wyeliminowanie różnic poziomu jasności odpowiadających sobie punktów w otrzymanej stereoparze. Szczególnie w przypadku prostych kamer, brak takiej kalibracji prowadzi najczęściej do gwałtownego wzrostu fałszywych dopasowań lub pominięcia właściwych dopasowań ze względu na różnice w wartościach intensywności porównywanych elementów obrazowych. Zjawisko to jest obserwowalne głównie w przypadku algorytmów dopasowujących wyłącznie na podstawie porównywania bezwzględnych wartości intensywności pikseli (0).
3.4.3
Samokalibracja kamer
W ostatnim czasie coraz więcej uwagi poświęca się problemowi samokalibracji kamer. Metoda ta polega na wyznaczeniu parametrów wewnętrznych kamery (3.2.3) na podstawie dopasowań pomiędzy kilkoma obrazami pewnej sceny, otrzymanymi z tej samej kamery, lecz przy jej różnych położeniach w stosunku do obserwowanej sceny [6][61][65][103][151][152][153][191][237][170][93]. Do niewątpliwych zalet tego podejścia zaliczyć należy brak konieczności przygotowywania i pomiaru specjalnego wzorca kalibracyjnego, którego obraz wykorzystywany jest w podejściu klasycznym do znalezienia parametrów kalibracyjnych. Znajomość obrazów absolutnej stożkowej oraz stożkowej do niej dualnej [206][90][93] umożliwia wyznaczenie macierzy parametrów wewnętrznych kamery, z wykorzystaniem równań Kruppy (9.3.4). Hartley wykazał bezpośrednią zależność równań Kruppy od parametrów macierzy fundamentalnej F [90][170]. Wykazał on również, że znajomość przynajmniej trzech obrazów, która wystarcza do znalezienia trzech macierzy fundamentalnych — każda odpowiadająca jednej parze spośród trzech obrazów — jest wystarczająca do rozwiązania równań Kruppy, a przez to do znalezienia macierzy Mi parametrów wewnętrznych kamery (3.2.3). Przy założeniu, że macierz fundamentalną F można przedstawić w postaci: r 0 0 0 −1 0 0 1 0 F = U 0 s 0 1 0 0 −1 0 0 VT (3.59) 0 0 1 0 0 0 0 0 1 równania Kruppy można zapisać w postaci [90]: −v2T Cv1 v1T Cv1 v2T Cv2 = = r2 uT1 Cu1 rsuT1 Cu2 s2 uT2 Cu2
(3.60)
35 gdzie: r oraz s są elementami diagonalnymi z rozkładu (3.59), ui jest i-tą kolumną macierzy U , vi jest i-tą kolumną macierzy V , natomiast macierz C zależy wyłącznie od macierzy Mi parametrów wewnętrznych kamery, z którą związana jest poniższą zależnością: C = Mi MTi
(3.61)
Jak wykazał Hartley, do wyznaczenia macierzy C niezbędna jest znajomość przynajmniej trzech macierzy fundamentalnych; każda z nich odpowiada jednej parze obrazów. W konsekwencji, po obliczeniu macierzy C na podstawie (3.60), macierz Mi dostajemy z (3.61). Użycie równań Kruppy (3.60) do wyznaczenia macierzy Mi , a tym samym do kalibracji kamer, ma również swoje ograniczenia związane z położeniem tychże kamer. Triggs [237] i ostatnio Sturm [221] wykazali istnienie zdegenerowanych przypadków położenia kamer, dla których zastosowanie równań Kruppy prowadzi do błędnych wyników. Dzieje się tak m.in., gdy środki optyczne kolejnych położeń kamery poruszają się po sferze, natomiast osie optyczne przechodzą przez jej środek [221]. Ostatnie prace Lourakisa i Deriche’a [151] prezentują alternatywny sposób wyznaczenia równań Kruppy prowadzących do określenia macierzy parametrów wewnętrznych kamery. Istnieją również inne nieliniowe metody [237] pozwalające na samokalibrację kamer, a nie posiadające ograniczeń równania (3.60). Często jednak są one bardziej złożone obliczeniowo [93]. Również w przypadku problemu samokalibracji kamer, opisane w tej pracy algorytmy znajdowania odpowiedników stereowizyjnych (Rozdział 6 oraz Rozdział 7) mogą być zastosowane do wyznaczania parametrów trzech macierzy fundamentalnych, co stanowi etap wstępny do obliczenia macierzy Mi z wykorzystaniem równań Kruppy (3.60).
3.4.4
Kalibracja układu stereoskopowego
Problem kalibracji układu stereoskopowego polega na określeniu wartości dwóch macierzy występujących w równaniu (3.18). Jest to macierz obrotu R, opisująca względny obrót pomiędzy układami współrzędnych obydwu kamer, oraz macierz translacji T , opisująca przesunięcie między środkami rzutowymi obydwu kamer. Zakładając, że znane są parametry zewnętrzne obydwu kamer układu stereowizyjnego, dane w postaci czterech macierzy Rl oraz Tl dla kamery lewej, jak również Rr oraz Tr dla kamery prawej, korzystamy z zależności (3.4), określającej zależność współrzędnych pewnego punktu przestrzeni trójwymiarowej z zewnętrznego układu współrzędnych w stosunku do układu współrzędnych kamery i otrzymujemy: Pl = Rl Pw + Tl Pr = Rr Pw + Tr
(3.62)
gdzie: Pw określa współrzędne pewnego punktu w stosunku do zewnętrznego układu współrzędnych, Pl oraz Pr są współrzędnymi tego punktu w układach współrzędnych związanych z kamerami, lewą oraz prawą, Rl , Tl , Rr , Tr są macierzami obrotu i translacji między zewnętrznym układem współrzędnych a układami współrzędnych kamer, odpowiednio lewej oraz prawej. Z drugiej strony, współrzędne Pl oraz Pr związane są w układzie stereowizyjnym zależnością (3.18). Po wyrugowaniu Pw z układu równań (3.62) otrzymujemy: −1 Pr = Rr R−1 l [Pl − (Tl − Rl Rr Tr )]
(3.63)
co, po porównaniu z (3.18), prowadzi do związków: R = Rr RTl T = Tl − RT Tr
(3.64) (3.65)
gdzie: R oraz T są poszukiwanymi macierzami, występującymi w zależności (3.18) dla układu stereoskopowego.
3.5
Rekonstrukcja przestrzeni trójwymiarowej
Szeroko rozpowszechniony jest pogląd, że proces przetwarzania stereoskopowego zawsze powinien kończyć się dokładną rekonstrukcją przestrzeni trójwymiarowej. O ile jest to uzasadnione w nielicznych przypadkach prowadzenia dokładnych pomiarów przestrzennych za pomocą metod stereoskopowych [39], o
36 tyle w bardzo szerokim zakresie zastosowań uzyskanie zadawalająco dokładnej rekonstrukcji trójwymiarowej jest albo niemożliwe, albo niekoniecznie potrzebne [63][83][82][202]. Dokładną analizę rekonstrukcji trójwymiarowej w aspekcie dokładności kalibracji kamer przeprowadził Grimson [83]. Wykazał on, że dokładność rekonstrukcji trójwymiarowej, w oparciu o wartości dysparycji uzyskane w procesie dopasowywania obrazów stereoskopowych, zależy w bardzo niekorzystny i nieliniowy sposób od dokładności pomiarów kalibracyjnych kamer. Szczególnie istotne jest dokładne określenie położenia punktu centralnego (3.2.2, Rysunek 3.4) oraz kąta odchylenia osi kamer. Grimson wykazał również, że w wielu dziedzinach przetwarzania obrazów, takich jak rozpoznawanie obiektów [54], segmentacja czy też separacja obiektów od tła, można bazować na metodach stereowizyjnych bez przeprowadzania żmudnego procesu dokładnej rekonstrukcji przestrzeni trójwymiarowej. Jak argumentuje Grimson, mechanizm taki jest również zbliżony do sposobu przetwarzania informacji w ludzkim układzie wzrokowym i mózgu (3.l)[164][244]. Problem ten analizowali także Hespanha, Dodds, Hager oraz Morse [101]. Bardzo duże znaczenie ma również poszukiwanie tzw. niezmienników (ang. invariants) a szczególnie takich, które nie wymagają dokładnej rekonstrukcji trójwymiarowej [175][49][197]. Znajomość niezmienników jest bardzo przydatna w procesie rozpoznawania wzorców (ang. pattern matching) [54], gdyż są one (niezmienniki) stałe bez względu na skalę, położenie punktu obserwacji sceny, oświetlenie itp. Do najbardziej „naturalnych” niezmienników w przestrzeni rzutowej należy tzw. dwustosunek (ang. cross ratio) (9.3.6) [35][84][206][93]. W zależności od rodzaju i dokładności posiadanej informacji o układzie akwizycji obrazów stereoskopowych możliwe są różne warianty rekonstrukcji trójwymiarowej. Spośród wielu możliwych wyróżnić można trzy przypadki charakterystyczne [2][63][259][241][51][197][239]: Tabela 3.2: Zestawienie możliwości rekonstrukcji trójwymiarowej w zależności od znajomości parametrów wewnętrznych oraz zewnętrznych układu stereoskopowego. Znajomość parametrów układu stereoskopowego Parametry wewnętrzne oraz zewnętrzne układu. Tylko parametry wewnętrzne.
Brak informacji o parametrach wewnętrznych oraz przekształcenia zewnętrznych.
Możliwość rekonstrukcji trójwymiarowej Współrzędne bezwzględne (rekonstrukcja dokładna, triangulacja). Rekonstrukcja z dokładnością do pewnego (przeważnie nieznanego) współczynnika skalującego. Rekonstrukcja z dokładnością do pewnego (przeważnie nieznanego) przekształcenia rzutowego przestrzeni.
Jak już wspomniano, w zależności od dziedziny zastosowań oraz znajomości parametrów układu stereoskopowego, stosuje się różne warianty rekonstrukcji przestrzeni (Tabela 3.2). Z wielu względów najbardziej efektywny jest, niewątpliwie, sposób ostatni, tj. rekonstrukcja z dokładnością do pewnego przekształcenia rzutowego, gdzie nie jest potrzebna dokładna kalibracja kamer, a tym bardziej znajomość parametrów wewnętrznych oraz zewnętrznych układu stereoskopowego. W dalszej części tej pracy będziemy zakładali właśnie taki sposób uzyskiwania informacji o przestrzeni trójwymiarowej. Często będziemy również używać założenia, że akwizycji obrazów dokonujemy w kanonicznym układzie kamer (3.3.3).
3.5.1
Triangulacja
Triangulacja jest procesem znalezienia współrzędnych punktu P przestrzeni trójwymiarowej (Rysunek 3.5) na podstawie znajomości odpowiadających mu punktów pr oraz pl , na płaszczyznach obrazowych kamer, jak również parametrów wewnętrznych oraz zewnętrznych układu stereoskopowego. Jest to stosunkowo najprostszy sposób rekonstrukcji trójwymiarowej, gdyż układ jest w pełni skalibrowany (3.4). W praktyce, ze względu na ograniczoną dokładność wyznaczania położenia punktów pr i pl oraz samego procesu obliczeniowego, obydwa promienie, przechodzące przez centra Ol i Or kamer oraz odpowiednio punkty pr i pl , nie przecinają się w jednym punkcie. Przybliżonym rozwiązaniem jest więc znalezienie współrzędnych punktu znajdującego się jednocześnie w minimalnej odległości od obydwu promieni [2][241][93]. Sytuację tę przedstawia poniższy rysunek.
37
Rysunek 3.12: Triangulacja z aproksymacją punktu przecięcia promieni. Położenie punktu PE , będącego przybliżeniem położenia punktu P , znajdujemy rozwiązując układ równań liniowych postaci (3.65), a następnie znajdując punkt środkowy odcinka równoległego do wektora w i łączącego obydwa promienie przechodzące przez punkty pl oraz pr . Zależność tę opisuje poniższe równanie: apl + bw = T + bRT pr (3.66) gdzie: współczynniki a, b, c ∈ R , api jest równaniem promienia przechodzącego przez punkty Ol (dla a = 0) oraz pl (dla a = 7), T + bRT pr jest równaniem promienia przechodzącego przez punkty O, (dla b = 0) oraz pr (dla b = 1), w odniesieniu do układu współrzędnych kamery lewej. Natomiast wektor w jest wektorem prostopadłym do obydwu promieni i może być określony poniższą zależnością: w = pl × RT pr
(3.67)
Dokładny algorytm triangulacyjny według nakreślonego schematu przedstawili Ahuja [1] oraz Trucco i Verri [241], Rotwell, Csurka i Faugeras przeprowadzili analizę zbieżności promieni z wykorzystaniem wyłącznie przestrzeni rzutowych [197], które bez wprowadzenia dodatkowych założeń nie są przestrzeniami metrycznymi, a przez to bardzo trudno sformułować w nich sposób rozwiązania problemu minimalizacyjnego. Dotyczy to na przykład sformułowanego w tym rozdziale problemu znalezienia minimalnej odległości między dwoma, niekoniecznie przecinającymi się promieniami.
3.5.2
Rekonstrukcja z dokładnością do skali
W tym przypadku zakładamy znajomość parametrów wewnętrznych obydwu kamer, natomiast nieznane pozostają parametry zewnętrzne. Dlatego też rekonstrukcja możliwa jest z dokładnością do pewnego współczynnika skalującego — jest to zgodne z intuicją, bo skoro nie są znane parametry zewnętrzne, nie jest również znana odległość między kamerami. Wyczerpujący algorytm podali Trucco i Verri [241]. Algorytm ten zakłada w pierwszym kroku oszacowanie znormalizowanej postaci macierzy zasadniczej E (3.3.1) w postaci: 1 − Tˆx2 −Tˆx Tˆy −Tˆx Tˆz ˆT E ˆ = −Tˆx Tˆy 1 − Tˆ2 −Tˆy Tˆz E (3.68) y −Tˆx Tˆz −Tˆy Tˆz 1 − Tˆz2 ˆ jest znormalizowaną postacią macierzy zasadniczej12 E (3.4), natomiast Tˆ = T /kT k = gdzie: E jest znormalizowaną postacią wektora translacji T (3.5). Parametry macierzy R wyznaczamy z (3.24) oraz (3.67): Ri = wi + wj × wk
Tˆx
Tˆy
(3.69)
12 Przypomnijmy w tym miejscu, że macierz zasadnicza jest iloczynem ortogonalnej macierzy obrotu R z pewną macierzą skośnie-symetryczną A, utworzoną na podstawie macierzy translacji T .
Tˆz
T
38 gdzie: ˆi × T wi = E
(3.70)
Stąd, oraz na podstawie (3.2), można wyznaczyć parametr Zl określający głębię punktu Pl [241]: Zl = fl
ˆ (fr Rl − xr R3 )T T (fr R1 − xr R3 )T pl
(3.71)
gdzie: Zl jest trzecią współrzędną (reprezentującą głębię) punktu Pl , fl oraz fr są ogniskowymi, odpowiednio kamery lewej oraz prawej, R1 oraz R3 są wierszami, pierwszym oraz trzecim, macierzy R, xr jest pierwszą współrzędną punktu pr , natomiast Tˆ jest znormalizowanym wektorem translacji. Jedną z konsekwencji takiego podejścia jest niejednoznaczność w określeniu znaku współrzędnych wektora Tˆ, wyznaczonych na podstawie (3.67), ponieważ współrzędne te są uwikłane w wyrażeniach stopnia drugiego. Okazuje się jednak, że istnieje tylko jedno (poszukiwane) rozwiązanie dające pozytywne wartości Zl dla wszystkich dopasowanych punktów [241]. Oszacowania nieznanego współczynnika skalującego dokonać można stosunkowo prosto poprzez znalezienie obrazu przedmiotu o znanej długości [152].
3.5.3
Rekonstrukcja z dokładnością do transformacji rzutowej
Przy braku informacji zarówno o parametrach wewnętrznych jak i zewnętrznych układu stereoskopowego ciągle możliwa jest rekonstrukcja trójwymiarowa, jednak tylko z dokładnością do pewnego (nieznanego) przekształcenia rzutowego [51][197][241][196]. Dopiero po znalezieniu tego przekształcenia możliwa jest pełna rekonstrukcja trójwymiarowa, równoważna do przedstawionej w (3.5.1). Wiadomo, że mając dane przynajmniej osiem dopasowanych par punktów, możliwe jest wyznaczenie wartości macierzy fundamentalnej F (3.3.1.1) oraz położenia punktów epipolarnych, będących elementami jądra tej macierzy (3.35). Następnie, korzystając z właściwości przestrzeni rzutowych, można dokonać odwzorowania dowolnych pięciu punktów P1 , . . . , P5 przestrzeni trójwymiarowej, z których żadna ich trójka nie jest współliniowa i żadna ich czwórka nie jest współpłaszczyznowa, na standardową bazę trójwymiarowej przestrzeni rzutowej ℘3 . Na tej podstawie, z dokładnością do odwzorowania wymienionych pięciu punktów, można już wyznaczyć macierze przekształcenia rzutowego, którego dokonują kamery. Z kolei, znajomość tych macierzy umożliwia wyznaczenie za pomocą triangulacji, położenia trójwymiarowego dla dowolnego punktu, na podstawie znajomości jego rzutów w płaszczyznach kamer. Zgodnie ze wspomnianym założeniem, pięć punktów zostaje odwzorowanych na standardową bazę trójwymiarowej przestrzeni rzutowej ℘3 za pomocą pewnego przekształcenia rzutowego V [206][l 70]: 1 0 0 1 0 0 1 1 0 0 (3.72) P1 = 0 , P2 = 0 , P3 = 1 , P 4 = 0 , P 5 = 1 1 0 1 0 0 Korzystając z (3.8) dla obrazu w kamerze lewej otrzymujemy: Ml Pk = ak plk
(3.73)
gdzie: Ml jest szukaną macierzą przekształcenia rzutowego w odniesieniu do współrzędnych kamery lewej, zdefiniowaną z dokładnością do współczynnika multiplikatywnego ak 6= 0, Plk jest jednym z punktów (3.71), natomiast pl k jego obrazem w płaszczyźnie kamery lewej. Dla uproszczenia dalszych rozważań, również punkty obrazowe plk poddajemy pewnej transformacji rzutowej U , która dokonuje ich przekształcenia w standardową bazę dwuwymiarowej przestrzeni ℘2 : 1 0 0 1 pl1 = 0 , pl2 = 1 , pl3 = 0 , pl4 = 1 (3.74) 0 0 1 1 W ten sposób dokonujemy określenia pewnego przekształcenia U , a następnie transformujemy w ten sposób wszystkie punkty z płaszczyzn kamer. Podstawiając P1 , . . . , P4 oraz pl1 , . . . , pl4 do (3.72) dostajemy wyrażenie określające macierz Ml : a1 0 0 a4 Ml = 0 a2 0 a4 (3.75) 0 0 a3 a4
39 Biorąc teraz pewien punkt pl5 , wyrażony we współrzędnych standardowej bazy ℘2 , na podstawie (3.71) oraz po wyeliminowaniu a1 , a2 , a3 z układu równań (3.72), wyrażenie (3.74) można przedstawić w postaci: apl51 − 1 0 0 1 a5 0 apl52 − 1 0 1 , gdzie a = Ml = (3.76) a4 0 0 apl53 − 1 1 Punkt centralny Ol jest środkiem przekształcenia rzutowego określonego przez macierz Ml , a zatem: Ml Ol = 0
(3.77)
Macierz MI jest rzędu trzeciego, dlatego też istnieje nietrywialne rozwiązanie (3.76), które można wyrazić w postaci: T 1 1 1 1 Ol = 1−ap (3.78) 1−apl52 1−apl53 l51 Podobne rozważania dla kamery prawej prowadzą do analogicznej zależności: Ol =
1 1−bpr51
1 1−bpr52
1 1−bpr53
1
T
(3.79)
Do wyznaczenia parametrów a i b, występujących w zależnościach (3.77) oraz (3.78), można wykorzystać fakt, że punkt centralny Or prawej kamery odwzorowany zostaje poprzez przekształcenie opisane macierzą Ml w lewy punkt epipolarny el i analogicznie dla punktu centralnego kamery lewej (Rysunek 3.5), co można zapisać w postaci: Ml Or = sl el
,
Mr Ol = sr er
(3.80)
gdzie: s/ oraz sr są pewnymi niezerowymi parametrami, występującymi ze względu na rzutowy charakter powyższych zależności. Na podstawie (3.77) i (3.78) oraz (3.79) można wyznaczyć wartości parametrów a i b w postaci [241 ]: eTr (pl5 × pr5 ) vrT (pl5 × pr5 ) eT (pl5 × pr5 ) b = lT vl (pl5 × pr5 )
a=
, vr =
pl51 er1
pl52 er2
pl53 er3
, vl =
pr51 el1
pr52 el2
pr53 el3
(3.81)
Reasumując, do znalezienia macierzy Ml (i analogicznie, Mr ) potrzebna jest znajomość współrzędnych rzutowych punktów pl5 oraz pr5 , jak również punktów epipolarnych el oraz er . Pamiętać jednak należy, że wprowadzone zostały dwa przekształcenia: 1. Przekształcenie V , odwzorowujące, już wcześniej transformowane z przestrzeni trójwymiarowej do przestrzeni rzutowej, punkty P1 , . . . , P5 na standardową bazę przestrzeni rzutowej ℘3 . Tylko znajomość współrzędnych tych punktów w przestrzeni trójwymiarowej umożliwia określenie tego przekształcenia i w ten sposób prowadzi do rekonstrukcji dokładnej, tj. do przestrzeni euklidesowej, w której, jak wiadomo, możliwe jest dokonywanie pomiarów bezwzględnych długości odcinków oraz miary kątów. 2. Przekształcenie U (faktycznie dwa przekształcenia Ul oraz Ur , dla kamery lewej oraz prawej, odpowiednio), które dokonuje odwzorowania punktów z przestrzeni rzutowych kamer na standardową bazę przestrzeni rzutowej ℘2 . Przekształcenia te mogą być wyznaczone stosunkowo łatwiej niż V , gdyż do ich wyznaczenia potrzebna jest znajomość tylko punktów lokalnych przestrzeni kamer: odpowiednio lewej i prawej. Korzystając z (3.75) oraz (3.80), po znalezieniu macierzy Ml oraz Mr możemy dokonać rekonstrukcji dowolnego punktu przestrzeni rzutowej ℘3 na podstawie odpowiadającej mu pary dopasowanych punktów z płaszczyzn kamery lewej oraz prawej. Jednakże, dalsza rekonstrukcja do przestrzeni trójwymiarowej możliwa jest jedynie po określeniu przekształcenia V . Równania promieni przechodzących przez punkty Ol i pl oraz Or i pr opisują zależności zdefiniowane w geometrii rzutowej [l06][206][l70]: rl = aOl + bpl rr = cOr + dpr
(3.82)
40 gdzie: współczynniki a, b, c, d ∈ R, rl oraz rr są promieniami, odpowiednio lewym oraz prawym. Chcąc znaleźć warunki, gdy rl = rr , musimy rozwiązać poniższy układ równań ze względu na współczynniki a, b, c, d: Olx plx −Orx −prx a Oly ply −Ory −pry b (3.83) Olz plz −Orz −prz c = 0 1 − −1 0 d Używając metody rozkładu względem wartości szczególnych SVD oraz biorąc kolumnę wektora D odpowiadającą najmniejszej wartości własnej, występującej w macierzy F , otrzymujemy poszukiwane rozwiązanie.
3.6
Założenia i ograniczenia procesu dopasowywania
Poniższa tabela zawiera zestawienie częściej spotykanych założeń i ograniczeń dotyczących samego procesu dopasowywania potencjalnych punktów-kandydatów z dwóch obrazów stereowizyjnych. Mimo iż ograniczenia te są powszechnie znane [26][37][63][123][227][255], to w dostępnej autorowi literaturze brak jest ich jednolitego opisu i oznaczenia. Usystematyzowanie ograniczeń może być bardzo przydatne w praktyce badawczej, ponieważ znacznie ułatwiają one proces dopasowywania stereowizyjnego; szczególnie przydają się w fazie eliminacji niejednoznaczności wyboru, umożliwiając w ten sposób znaczną redukcję tzw. fałszywych dopasowań. Są również używane w pracach eksperymentalnych porównujących działania różnych algorytmów stereowizyjnych.
Tabela 3.3: Założenia i ograniczenia procesu dopasowania obrazów stereoskopowych. 1. Epipolarność odpowiedników (ang. epipolar constraint) - C1 Odpowiadające sobie punkty, będące dwoma obrazami tego samego punktu przestrzeni trójwymiarowej, zawsze leżą wyłącznie na odpowiadających sobie liniach epipolarnych (3.3.1). 2. Jednoznaczność odpowiedników (ang. uniqueness constraint) - C2 Dla pewnego punktu przestrzeni trójwymiarowej jego obraz, należący do płaszczyzny jednej z kamer, ma co najwyżej jeden odpowiednik leżący w płaszczyźnie drugiej kamery. Założenie to jest spełnione pod warunkiem, że obserwowane przez kamery obiekty nie są przeźroczyste. 3. Kompatybilność fototnetryczna (ang. photometric compatibility constraint) - C3 Dwa obszary Ul1 , i Ul2 , należące do obrazu lewego, oraz obszary Ur1 , i Ur2 , należące do obrazu prawego, odpowiadają sobie wtedy i tylko wtedy, gdy: X X ∀i ∃τ Ili (x, y) − Iri (x, y) < τ (3.84) (x,y)∈Il1 (x,y)∈Uri oraz X X X X ∃τ Il1 (x, y) − Il2 (x, y) − Ir1 (x, y) = Ir2 (x, y) (x,y)∈Ul1 (x,y)∈Ul2 (x,y)∈Ur1 (x,y)∈Ur2 gdzie: Iki (x, y) jest wartością intensywności k-tego obrazu w i-tym otoczeniu pikseli, τ jest pewną wartością progową. 4. Podobieństwo geometryczne (ang. geometric similarity constraint) - C4 Podobieństwo geometryczne określa się przeważnie w odniesieniu do podobieństwa kątów oraz odcinków:
41 (a) Pewien segment Sl o orientacji Wl , należący do obrazu lewego, odpowiada segmentowi Sr o orientacji Wr w prawym obrazie, jeżeli |Wl − Wr | jest mniejsze od pewnej wartości progowej. (b) Pewien segment Sl o długości Ll , należący do obrazu lewego, odpowiada segmentowi Sr o długości Lr w prawym obrazie, jeżeli |Ll − Lr | jest mniejsze od pewnej wartości progowej. 5. Zachowanie kolejnosci punktów (ang. geometric constraint) - C5 Założenie to dotyczy kolejności występowania obrazów tych samych punktów i może być sformułowane następująco: punkty leżące na jednej linii epipolarnej są rzutowane na odpowiadającą im linię epipolarną w obrazie drugim, w niezmienionym porządku. Przyjęcie tego założenia w procesie dopasowywania obrazów stereoskopowych oznacza założenie, że wszystkie obiekty widziane przez obie kamery znajdują się, w przybliżeniu, w tej samej odległości od tych kamer lub też obserwowana jest ciągła powierzchnia. Jak wykazał Faugeras [63], wyłączenie z przestrzeni trójwymiarowej pewnej strefy zabronionej (ang. forbidden zone) pozwala na zastosowanie tego ograniczenia w przypadku wszystkich pozostałych punktów. Strefa zabroniona obejmuje stożki wyznaczone przez proste łączące pewien wybrany punkt M z przestrzeni trójwymiarowej oraz jego obrazy ml , mr na dwóch płaszczyznach kamer. Problemem jednak pozostaje wyznaczenie tej strefy, gdyż potrzebna jest do tego znajomość a priori obserwowanej sceny.
Rysunek 3.13: Przykład sceny dla której nie jest spełnione założenie zachowania kolejności punktów. Rysunek 3.13 prezentuje dwa punkty, M oraz N , każdy należący do innego obiektu przestrzeni trójwymiarowej, do których nie można zastosować reguły zachowania kolejności punktów obrazowych. Jak widać, w przypadku kamery lewej punkty występują w kolejności ml , nl natomiast dla kamery prawej jest to nr , mr . Założenie to można wyrazić również w postaci ograniczenia na lokalny gradient dysparycji. Zakładając, że pewnemu punktowi Pl (x, y) odpowiada pewien punkt Pr (x + d(x), y), to po zwiększeniu współrzędnej x o pewne δ dostajemy odpowiedniość Pl (x+δ, y) oraz Pr (x+δ +d(x+δ), y). Przyjęcie założenia o zachowaniu kolejności punktów oznacza, że: (x + δ) + d(x + δ) > x + d(x)
(3.85)
co po podzieleniu przez δ oraz przejściu do granicy δ → 0 daje: ∂d(x) > −1 ∂d
(3.86)
gdzie d(x) jest składową dysparycji zgodną z kierunkiem linii epiolarnych. 6. Zachowanie ciągłości dysparycji (ang. continuity constraint) - C6 T T Niech pl1 = xl1 yl1 oraz pr1 = xr1 yr1 będą parą odpowiadających sobie punktów,
42 T xl2 yl2 znajdujący T = xr2 yr2 z obrazu
leżących odpowiednio w obrazie lewym oraz prawym. Wtedy punkt pl2 = się w pewnym lokalnym otoczeniu punktu pl1 , odpowiada punktowi pr2 prawego, wtedy gdy: ∃τ |D(pl1 , pr1 ) − D(pl2 , pr2 )| < τ
(3.87)
gdzie D(pi , pj ) oznacza wartość dysparycji między punktami pi oraz pj , τ jest pewną wartością progową. Stosowanie tego założeniu w procesie dopasowywania obrazów stereoskopowych powinno być ograniczone do wcześniej wyznaczonych segmentów obrazów, a nie całych obrazów, gdyż ograniczenie to wyłącza obiekty, których obrazy sąsiadują ze sobą, natomiast rzeczywiste odległości obiektów znacznie się różnią (co w obrazach rzeczywistych jest przypadkiem dość częstym, mimo iż statystyczna ilość takich punktów jest niewielka, ponieważ są to przeważnie punkty krawędziowe, łączące obrazy takich obiektów). 7. Zachowanie ciągłości kształtu (ang. figural continuity constraint) - C7 Założenie to jest dokładnie założeniem zachowania ciągłości dysparycji, tyle że wyłącznie dla punktów krawędziowych. Oznacza to przyjęcie założenia, zgodnie z którym znaczna większość obserwowanych krawędzi należy do ciągłych obiektów. 8. Przystawanie cech (ang. feature compatibility constraint) - C8 Pewne dwa punkty w obrazie lewym oraz prawym odpowiadają sobie, jeżeli pewne cechy obrazowe, obserwowane w ich otoczeniu, mają to samo źródło pochodzenia w obserwowanej scenie. Założenie to szczególnie często stosuje się do punktów krawędziowych, tzn. punkt krawędziowy w obrazie lewym może zostać dopasowany tylko do punktu krawędziowego w obrazie prawym. Dodatkowo punkty krawędziowe często uzupełnia się o nformację o typie krawędzi, np. stosując operator LoG do wyznaczania krawędzi w obrazie, a każdy z tak znalezionych punktów można dodatkowo opisać poprzez znak przejścia pochodnej intensywności przez zero (6.1) [124][88][82]. Dopasowywanie punktów z wykorzystaniem tego założenia przedstawia poniższy rysunek:
Rysunek 3.14: Dopasowanie stereoskopowe uzupełnione przystawaniem konturów przechodzących przez dopasowane punkty. W przypadku punktów P i Q rzuty stereoskopowe konturów są prawie identyczne, co oznacza, że punkty te zostaną dobrane w przeciwieństwie do pary P i Q0 , gdzie kontury wyraźnie się różnią. 9. Ograniczenie wartości dysparycji (ang. disparity limit) - C9 Założenie to narzuca globalne ograniczenie na dopuszczalną wartość dysparycji pomiędzy obrazami stereopary, co można zapisać w postaci: ∀i ∃τ |D(pli , pri )| < τ
(3.88)
gdzie: D(pi , pj ) oznacza wartość dysparycji między punktami pi oraz pj , τ jest pewną wartością progową. Ograniczenie to stosowane jest prawie zawsze w praktycznych metodach stereowizyjnych, aczkolwiek odgórne określenie maksymalnej wartości dysparycji często jest dość trudne, jeżeli nie posiadamy dodatkowej informacji o obserwowanej scenie.
43 10. Ograniczenie gradientu dysparycji (ang. disparity gradient limit) - C10 Gradient dysparycji dla dwóch par dopasowanych punktów A i B zdefiniować można jak poniżej [63][82][l23]: D(A) − D(B) Γ(A, B) = (3.89) XS (A, B) gdzie: A oraz B reprezentują pary dopasowanych punktów, powjecjzmy A = (plA , prA ), B = (prB , pl.B ), D(A) jest wartością dysparycji między parą A odpowiadających sobie punktów, natomiast CS (A, B) jest tzw. odległością cyklopową między parami punktów A i B zdefiniowaną zgodnie z poniższą zależnością: → → → − → − p lA + − p rA p lB + − p rB CS (A, B) = , (3.90) 2 2 CS (A, B) jest długością odcinka łączącego środki odcinków między odpowiadającymi sobie punktami plA i prB . Definicję odległości cyklopowej ilustruje poniższy rysunek:
Rysunek 3.15: Ilustracja odległości cykopowej. Na podstawie powyższych definicji można opisać ograniczenia gradientu dysparycji w postaci zależności: ∃τ |Γ(A, B)| < τ (3.91) gdzie: Γ(A, B) jest gradientem dysparycji pomiędzy dwoma parami dopasowanych punktów, τ jest pewną wartością progową (w praktyce leży ona w zakresie od 0.5 do 2. Eksperymenty psychofizyczne wykazały, że ludzki system rozpoznawania głebi w większym stopniu ograniczony jest gradientem dysparycji niż absolutną wartością samej dysparycji [108][164][83][244].
Do najważniejszych założeń należy ograniczenie zakresu poszukiwań wyłącznie do linii epipolarnych (C1 ) (3.3.1). Ogranicza ono przestrzeń poszukiwań, z dwuwymiarowej do jednowymiarowej, a ponadto jest niezmienne w każdej konfiguracji ukłądu stereoskopowego.
3.7
Badawczy układ stereowizyjny
Rysunek 3.16 przedstawia stereoskopowy układ akwizycji obrazów, który był używany do przeprowadzania badań eksperymentalnych nad różnymi algorytmami stereowizyjnymi dla potrzeb tej pracy. Zestaw ten, jak również część algorytmów stereowizyjnych opisanych w tej książce, wykorzystano w rzeczywistej aplikacji podczas prac badawczych związanych z przetwarzaniem obrazu na sygnały dźwiękowe dla osób niewidomych [136]. Eksperymentalny układ akwizycji obrazów stereoskopowych złożony jest z dwóch analogowych kamer video firmy Panasonic, umieszczonych na specjalnym statywie z podziałką umożliwiającą bezpośredni odczyt odległości między nimi. Kamery umocowane są w układzie równoległym, a cały statyw jest dodatkowo wypoziomowany. Analogowe wyjścia kamer podłączone są do wejść układu przetwornika A/C
44
Rysunek 3.16: Stereowizyjny ukłąd akwizycji obrazów użyty podczas eksperymentów. wraz z układami formującymi i kontrolnymi, które znajdują się na karcie komputerowej do akwizycji obrazów (ang. frame grabber ). Stamtąd, obraz w postaci cyfrowej przesyłany jest do komputera obliczeniowego typu IBM PC, z procesorem Pentium III i zegarem 800 MHz, wykonującego właściwy algorytm stereowizyjny. Algorytmy stereowizyjne implementowane były z wykorzystaniem zasad programowania obiektowego w języku C++, w środowisku Microsoft Visual C++ 6.0. Takie podejście umożliwia łatwe przeniesienie oprogramowania na inne platformy mikroprocesorowe (9.2).
Rysunek 3.17: Ukłąd akwizycji obrazów stereoskopowych. Tor skłąda się z dwóch kamer, dwóch kart akwizycji obrazu oraz komputera IBM PC.
3.7.1
Pary doświadczalnych obrazów stereoskopowych
Tabela 3.4 zawiera zestawienie par obrazów stereoskopowych, wykorzystywanych podczas badań nad opracowaniem implementacji różnych algorytmów stereowizyjnych. Wyniki działania każdego z algorytmów, z zastosowaniem zaprezentowanych tu par obrazów, służyły następnie do wykonania badań porównawczych. Problem znalezienia obiektywnego sposobu porównywania różnych algorytmów przetwarzających obrazy jest zagadnieniem ciągle otwartym, często wywołującym burzliwe dyskusje pomiędzy naukowymi gremiami na różnych konferencjach. Tak też jest w przypadku algorytmów kompresujących obrazy [216][193][134], gdzie — oprócz dokładnych miar porównawczych stopnia kompresji — mówi się
45 również o „dobrej” jakości odtworzonego obrazu w porównaniu do takiego samego procesu, tyle że wykorzystującego inny algorytm kompresujący. Podobna, a w wielu aspektach porównawczych — trudniejsza, sytuacja dotyczy porównywania działania różnych algorytmów stereoskopowych z wykorzystaniem różnorodnych par obrazów wejściowych. Najdogodniejsza sytuacja występuje wtedy, gdy możemy dokonać analizy porównawczej pewnej klasy algorytmów z wykorzystaniem tego samego zestawu obrazów stereoskopowych, dla których znana jest tzw. prawdziwa wartość dysparycji 13 (ang. ground-truth disparity). Niestety, w większości praktycznych przypadków porównanie to jest ograniczone do pewnej, stosunkowo niedużej bazy obrazów stereoskopowych. Niektóre z tych obrazów, ze względu na swoją popularność w licznych publikacjach, stały się swoistego rodzaju wzorcami. Ma to tę zaletę, że w przypadku braku działającej implementacji ciągle możliwe jest dokonanie porównania pomiędzy algorytmami na podstawie opublikowanych wyników z wykorzystaniem par wzorcowych. Celem autora — w tym rozdziale — jest więc także podjęcie próby przedstawienia własnej, prostej, i siłą rzeczy ograniczonej, bazy obrazów wzorcowych wykorzystywanych do badania algorytmów stereowizyjnych. Stereoskopowe obrazy doświadczalne podzielono na cztery kategorie: 1. Obrazy syntetyczne: wygenerowane komputerowo stereogramy losowe (ang. random-dot stereograms), równie intensywności (ang. intensity ramp), obrazy otrzymane z programu 3D Studio(R), itp. 2. Obrazy wzorcowe, cytowane w licznych pracach naukowych. 3. Obrazy rzeczywiste, uzyskane z wykorzystaniem stanowiska doświadczalnego. 4. Obrazy, dla których znana jest prawdziwa wartość dysparycji. W celu zaobserwowania efektu stereoskopowego w prezentowanych stereoparach należy umieścić przesłonę (np. w postaci kartki papieru) pomiędzy wydrukowanymi obrazami, a następnie patrzeć na obrazy tak, aby oko lewe dostrzegało jedynie obraz lewy, natomiast prawe — obraz prawy danej stereopary. Jednak nie każdy z obrazów jest jednakowo „łatwy” do zaobserwowania. Zdaniem autora, Czytelnik powinien zacząć oglądanie od obrazu „Fiesta”. Patrzenia „stereoskopowego” należy się również nauczyć, tzn. na początku można mieć z tym pewne problemy. Dłuższe wpatrywanie się w stereoparę u większości osób kończy się powodzeniem, tzn. prowadzi do ujrzenia efektu stereoskopowego. Tylko u mniej niż 2% osób stwierdza się upośledzenie tej zdolności [108].
Nazwa
Kat.
Stereogram losowy
124
Tabela 3.4: Tabela 3.4. Baza doświadczalnych par stereoskopowych (Kategorie: 1 — obrazy syntetyczne, 2 — wzorce porównawcze, 3 — obrazy rzeczywiste, 4 — dostępna prawdziwa mapa głębi).
Obraz lewy
Obraz prawy
13 Uzyskiwana przeważnie albo na podstawie ręcznych pomiarów, a następnie zaznaczenia właściwych obszarów, albo — w przypadku obrazów syntetycznych — wygenerowana za pomocą specjalnego oprogramowania.
Skos 124
Drzewa
2
124
Tsukuba
Równia intensywności 124
Korytarz 124
46
Kostka Rubica 2
PCB 2
Korytarz AGH
3
Renault 2
Pentagon 2
47
Fiesta
3
Telefon
3
Ulica
3
48
Podczas prac doświadczalnych i porównawczych obrazy testowe, których postacie wyjściowe zawiera Tabela 3.4, wykorzystywane były w różnych rozdzielczościach, często także zmodyfikowane np. przez dodatkowy szum lub zniekształcenia innego typu. Rzeczywiste badania poszczególnych algorytmów oparto na większej liczbie obrazów testowych, których — z powodu ograniczonej ilości miejsca — nie zawiera Tabela 3.4. W przypadku par obrazów testowych: „Tsukuba”, „Korytarz ” oraz „Skos” znane są również prawdziwe wartości dysparycji, które ilustruje Rysunek 3.18.
Rysunek 3.18: Prawdziwe wartości dysparycji dla syntetycznych par testowych: a — „Tsukuba”, b — „Korytarz ” oraz c — „Skos”.
49 W przypadku par, dla których nie jest znana prawdziwa wartość dysparycji, opracowano inne metody testowania wynikowej mapy dysparycji (6.2.11.1).
Rozdział 4
Zagadnienia algorytmiczne w przetwarzaniu stereoskopowym 4.1
Podział metod stereoskopowego przetwarzania obrazów
Istnieje wielka różnorodność metod komputerowego przetwarzania informacji dwuwymiarowej, zawartej w różnych obrazach tej samej sceny, na informację trójwymiarową, mówiącą o przestrzennym układzie obserwowanych tam obiektów [63][89][123][202][241][227][109][171]. Statyczne metody stereowizyjne działają na dwóch obrazach obserwowanej sceny, uchwyconych przez system akwizycyjny w tej samej chwili. Tego typu metody są analizowane w tej pracy, a próbę ich podziału przedstawia Rysunek 4.1. Główny podział wyróżnia dwie zasadnicze grupy metod: 1. Metody bezpośrednie1 (ang. direct methods) [110]. 2. Metody bazujące na detekcji cech (ang. feature based methods) [234]. Podział taki, aczkolwiek arbitralny, odzwierciedla długotrwałą dyskusję między różnymi ośrodkami naukowymi na temat większej przydatności jednego lub też drugiego podejścia do przetwarzania obrazów. W przypadku metod bezpośrednich mamy do czynienia z przetwarzaniem informacji zawartej w obrazach, będącą bezpośrednio mierzalną wartością sygnału określoną dla każdej lokacji tego obrazu. Przeważnie jest to sygnał intensywności, czasami poddany wstępnej filtracji w celu eliminacji niektórych zakłóceń lub też poprawy stosunku wartości sygnału do szumu. W przypadku drugiej grupy metod, na samym początku przetwarzania dokonuje się detekcji pewnych cech zawartych w obrazach, takich jak linie, narożniki, itp., aby wykorzystać je w dalszej części do procesu dopasowywania. Dla stereoskopowego przetwarzania obrazów najważniejszą konsekwencją wyboru jednego z tych podejść jest postać wynikowej mapy dysparycji, która przy zastosowaniu metod bazujących na detekcji cech jest tzw. mapą rzadką, gdyż jest określona wyłącznie w miejscach występowania uprzednio znalezionych cech obrazowych. Postać mapy dysparycji ma duże znaczenie dla dalszych etapów przetwarzania wizyjnego. I tak na przykład, metody syntezy obrazów wymagają wyłącznie tzw. zwartej mapy dysparycji, co uniemożliwia wykorzystanie metod stereowizyjnych, bazujących jedynie na detekcji cech. Metody bezpośrednie można podzielić na dalsze kategorie: • Metody dopasowujące obszarami (ang. area-based ) — zwane również metodami blokowymi albo korelacyjnymi ze względu na podstawową operację, którą jest korelowanie wybranych w tym celu obszarów zgodnie z przyjętym kryterium korelacyjnym. Metody te opisuje Rozdział 7. Ze względu na swoją popularność, jak i też sprawność działania, metody te doczekały się wielu udoskonaleń, np. w postaci adaptacyjnego okna dopasowywania [70][150]. • Metody relaksacyjne — oprócz zasadniczego modułu dopasowującego, np. obszarami, zawierają dodatkowy moduł odpowiedzialny za rozwiązanie problemu niejednoznaczności wyboru właściwych dopasowań ze zbioru potencjalnie pasujących par punktów kandydujących. W tym wypadku, działanie metod opiera się na wprowadzeniu pewnej funkcji energetycznej, opisującej „siłę” dopasowania 1 Zwane
czasami — metodami bazującymi na intensywności (ang. intensity based methods) [123].
51
Rysunek 4.1: Podział metod stereowizyjnego przetwarzania obrazów. punktów [259][63][3]. Funkcja ta uwzględnia zazwyczaj dodatkowe założenia odnoszące się do samego procesu stereowizyjnego, takie jak np. jednoznaczność dysparycji, czy też ciągłość dysparycji (Tabela 3.3). Sam proces relaksacji dopasowań jest iteracyjny i przebiega np. zgodnie z poniższym schematem podanym przez Zhanga [259]:
Algorytm 4.1 Iteracyjny proces relakasacji dopasowań do { Oblicz "siłę"’ dopasowania dla każdej pary kandydujących punktów. Uaktualnij dopasowania poprzez minimalizację całkowitej energii. } while ("osiągnięto minimum funkcji energetycznej");
w którym wprowadzona została pewna funkcja energetyczna, odzwierciedlająca sumę „siły” wszystkich znalezionych dopasowań. Postać tej funkcji można znaleźć w [259]. Zhang rozpatruje dodatkowo różne strategie uaktualniania dopasowań poprzez minimalizację całkowitej energii, takie jak
52 zwycięzca-bierze-wszystko (ang. winner-takes-all ), albo przegrany-nie-bierze-nic (ang. looser-takesnothing), które są również często wykorzystywane w obliczeniach neuronowych [228][53][179][161]. Najlepszą według Zhanga okazała się nowa strategia: niektórzy-zwycięzcy-biorą-wszystko (ang. some-winners-take-all ), która gwarantuje zbieżność i jest efektywna obliczeniowo. • Metody bazujące na programowaniu dynamicznym — poprzez wprowadzenie pewnej skalarnej funkcji dysparycji, określającej wartość dysparycji pomiędzy odpowiadającymi sobie punktami obrazowymi, budują profil epipolarny P E obserwowanej sceny trójwymiarowej. Następnie wprowadzona zostaje pewna funkcja rozbieżności dopasowań DS [123], a problem stereowizyjny przekształca się do rozwiązania problemu optymalizacyjnego, polegającego na znalezieniu takiego profilu dysparycji P E, który minimalizuje DS. Dodatkowym założeniem, charakterystycznym dla tego typu metod, jest założenie monotoniczności funkcji PE, co oznacza spełnienie założenia o zachowaniu kolejności punktów (C5, Tabela 3.3). Wykorzystanie metod programowania dynamicznego, polegające na podziale zadania na mniejsze podzadania, a następnie wykorzystanie raz obliczonych wyników pośrednich z tych podzadań do otrzymania wyniku końcowego [41], pozwala na efektywne rozwiązanie przedstawionego problemu optymalizacyjnego, stąd też bierze się wspólna nazwa tej klasy metod. Przykładowe warianty metod stereowizyjnych z wykorzystaniem zasady programowania dynamicznego prezentują np.: Bobie oraz Intille [26], Klette, Schl¨ uns i Koschan [123], jak również Birchfield i Tomasi [22]. Problem częściowego przysłaniania (4.6.3) rozwiązywany jest poprzez przypisanie grupie punktów w jednym z obrazów tylko pojedynczego punktu w drugim obrazie. • Metody gradientowe — wraz z różnymi odmianami, należą do często stosowanych metod przetwarzania obrazów stereoskopowych. Ich cechą wspólną jest obliczenie pola gradientowego, w każdym punkcie obrazu, na podstawie wartości sygnału intensywności. Różnice pomiędzy kolejnymi algorytmami tego rodzaju polegają głównie na sposobie znajdowania gradientów w obrazach binarnych, a przede wszystkim na definicji funkcji kosztu dopasowania, co opisuje (7.2.4). • Metody neuronowe — bazują na zastosowaniu jednej z postaci sieci neuronowych [228][161][53] do rozwiązywania problemu stereoskopowego. Zastosowanie sieci typu Hopfielda do problemu stereoskopowego zaprezentowali Cyganek, Korohoda, Borgosz [45], natomiast z wykorzystaniem miary Census (4.5) oraz sieci Hamminga podał Cyganek [47]. Zastosowanie sieci neuronowych z radialnymi funkcjami bazowymi [97] przedstawili Wei, Brauer i Hirzinger [245][246]. Oryginalną sieć do korelowania obrazów stereoskopowych metodą detekcji spójności zaproponował Henkel [100]. • Metody probabilistyczne — polegają na zbudowaniu pewnego statystycznego modelu dystrybucji dysparycji w pewnym oknie, który to model umożliwia obliczenie stopnia niepewności dopasowania, na podstawie zarówno wartości intensywności obrazu, jak również wariancji dysparycji w tym oknie. W rezultacie, poprzez użycie ciągłej wersji wzoru Bayesa, możliwe jest skonstruowanie kryterium doboru takiego okna, dla którego to dopasowania wykazuje najmniejszy stopień niepewności. Dalsza, iteracyjna część algorytmu wykorzystuje mechanizm adaptacji okna dopasowującego, zaczynając od pewnej wartości początkowej. Szczegóły algorytmu podali Kande i Okutomi w klasycznym już artykule [119]. Zaawansowany algorytm dyfuzyjny, wykorzystujący również model Bayesa do znalezienia wartości dysparycji, podał Lee wraz ze współpracownikami [144]. Metody tego typu charakteryzują się mapą dysparycji o dość dobrej jakości, jednak kosztem znacznej złożoności obliczeniowej, ze względu na iteracyjny charakter algorytmów minimalizacyjnych. • Metody dyfuzyjne — bazują na różnych wariantach dyskretnego równania dyfuzyjnego, zastosowanego do pewnej funkcji energetycznej, określającej stopień dopasowania punktów [185]. Oznacza to, że pochodna funkcji energetycznej ze względu na czas musi być równoważna laplasjanowi tej funkcji, tyle że w dziedzinie przestrzennej. Proces obliczeniowy przebiega dalej w sposób iteracyjny, aż do momentu osiągnięcia minimum energii, dla której wyznaczana jest wartość dysparycji. Jak zwykle w przypadku tego typu metod, wyłaniającym się problemem jest uniknięcie lokalnych minimów. Powstało wiele metod obejścia tego typu pułapki dla algorytmu, przykładem może być metoda symulowanego wyżarzania (ang. simulated annealing) [132][97]. Często algorytm dyfuzyjny działa na pewnym modelu probabilistycznym, zastosowanym do energii dopasowania, w którym to przypadku poszukiwane są wartości dysparycji, dla których osiągamy największą wartość prawdopodobieństwa. Różne warianty metod dyfuzyjnych analizowali Szeliski oraz Scharstein [201][202], jak również Lee, Park, Inoue oraz Lee [144]. Zastosowanie metod dyfuzyjnych możliwe jest przy użyciu tzw. algorytmów kroczących po dysparycjach KPD (4.4).
53 Wśród metod bazujących na detekcji cech wyróżnia się: • Metoda Marr-Poggio-Grimson — która jest metodą wieloetapowego stosowania operatora LoG (ang. Laplacian of Gaussian) w celu detekcji różnego typu krawędzi na kolejnych poziomach przetwarzania (6.1). Algorytm ten był jednym z pierwszych, który bazował na odkrytych metodach detekcji głębi przez ludzki układ wzrokowy (3.1). • Metoda Shirai — również polega na dopasowywaniu wyłącznie punktów krawędziowych, jednak sam proces dopasowywania uwzględnia dodatkowo stopień dopasowania całego obszaru otaczającego dopasowywane punkty (7.2.1). Do oceny stopnia dopasowania obszarów Shirai zaproponował miarę typu CoVar (Tabela 4.3) [123]. • Metoda wykorzystująca tensor strukturalny — metoda ta, opracowana przez autora [48], bazuje na detekcji lokalnych struktur w obrazie za pomocą tzw. tensora strukturalnego (5.2), a następnie dopasowywaniu wyłącznie miejsc charakteryzujących się silną strukturalnością (6.2). Możliwe jest także dokonanie innych podziałów metod stereowizyjnych, ze względu na różnorodne parametry działania lub też zastosowania. Możliwe jest również łączenie kilku metod w celu uzyskania metod hybrydowych (linia przerywana, Rysunek 4.1), których parametry działania najbardziej pasują do specyficznych potrzeb. Zastosowanie technik stereowizyjnych nie jest ograniczone wyłącznie do sygnałów należących do zakresu promieniowania widzialnego. Możliwe jest np. zbudowanie systemów stereowizyjych z kamerami wykorzystującymi podczerwień, itp. [48].
4.2
Uwarunkowania aplikacyjne algorytmów stereoskopowych
Wybrane dziedziny wykorzystujące metody stereoskopowe przedstawia Rysunek 1.2, natomiast porównanie charakteru wejściowego sygnału wizyjnego dla różnych zastosowań stereo wizyjnego przetwarzania obrazów prezentuje Tabela 4.1. Tabela 4.1: Porównanie charaktru wejściowego sygnału wizyjnego dla różnych zastosowań stereowizyjnego przetwarzania obrazów.
Kartografia
Nawigacja
Rozpoznawanie obiektów 3D
Rekonstrukcja obiektów 3D
Synteza obrazów
Specyficzny rodzaj obrazów
Tak
Nie
Nie
Nie
Nie
Tekstura
Tak
Tak
Nie
Nie
Nie
Wejście
Częściowe przysłanianie obiektów
Nie
Tak
Tak
Tak
Tak
Duży poziom szumów lub zakłoceń
Tak
Tak
Tak
Nie
Nie
Porównanie wymagań w stosunku do metod stereowizyjnego przetwarzania obrazów, w aspekcie różnych zastosowań, przedstawia Tabela 4.2. Oczywiście, tak jak w każdej innej dziedzinie komputerowego przetwarzania obrazów, można znaleźć przypadki, które nie do końca odpowiadają danym przedstawionym w powyższych dwóch tabelach. Dzieje się tak, ponieważ nie zawsze da się jednoznacznie odpowiedzieć na pytanie, czy dany parametr jest, czy
54
Tabela 4.2: Porównanie charaktru wejściowego sygnału wizyjnego dla różnych zastosowań stereowizyjnego przetwarzania obrazów.
Kartografia
Nawigacja
Rozpoznawanie obiektów 3D
Rekonstrukcja obiektów 3D
Synteza obrazów
Zwarta mapa dysparycji
Tak
Nie
Nie
Tak
Tak
Dokładność pomiary głębi
Tak
Nie
Tak
Tak
Nie
Pełna kalibracja kamer
Tak
Nie
Nie
Tak
Nie
Praca w trybie czasu rzeczywistego
Tak
Tak
Tak
Nie
Nie
Mały koszt systemu
Nie
Tak
Tak
Nie
Tak
Dobra reakcja na lokalne przysłonięcia
Nie
Nie
Nie
Tak
Nie
Wymagania
też nie jest, kluczowy dla pewnej aplikacji. Można np. wyobrazić sobie syntezę obrazów, która musi przebiegać w trybie czasu rzeczywistego, itd. Tym niemniej, zamieszczone dane próbują odzwierciedlić specyficzne aspekty przetwarzania stereoskopowego w zależności od potencjalnych aplikacji. O specyficznym rodzaju obrazów praktycznie można mówić tylko w przypadku stereoskopowych obrazów kartograficznych [39][173]. Prawie zawsze są to obrazy lotnicze lub satelitarne, które aby mogły być prawidłowo dopasowane, muszą zawierać odpowiedni poziom szczegółowości, czyli teksturę. Ze względu na parametry układu akwizycyjnego (np. bardzo duża odległość od obserwowanych obiektów) otrzymane obrazy stereoskopowe posiadają przeważnie mały zakres dysparycji, praktycznie nie występują przysłonięcia, natomiast może wystąpić szum. Wynikowa mapa dysparycji jest mapą zwartą, a jej otrzymywanie nie musi przebiegać w trybie czasu rzeczywistego. Przykładowy proces analizy kształtu fal morskich z wykorzystaniem przetwarzania stereowizyjnego przedstawił Jahne [116]. Dużą różnorodnością charakteryzują się obrazy stereoskopowe wykorzystywane w nawigacji. Często układ akwizycji zamontowany jest na wysięgniku robota przemysłowego [87][40] i jest narażony na działanie niekorzystnych warunków zewnętrznych [79]. W rym przypadku trudno zapewnić właściwą kalibrację kamer, chociaż pełna kalibracja przeważnie nie jest wymagana (3.4). Zazwyczaj nie wymagana się też zwartej mapy dysparycji, gdyż oszacowanie odległości do charakterystycznych punktów otoczenia umożliwia nawigację, np. wystarcza do uniknięcie kolizji. Natomiast warunkiem koniecznym jest praca w trybie czasu rzeczywistego. Zastosowanie maszynowych metod stereowizyjnych w robotyce jest tematem bardzo wielu prac badawczych [253][259][196][40][55][12][18], jak i wdrożeniowych (9.1). Nawigacyjny moduł stereowizyjny w systemie wspomagającym poruszanie się osób niewidomych oraz niedowidzących analizowali Korohoda, Cyganek oraz Borgosz[136][135][45][46]. Do najbardziej wymagających należy zastosowanie stereowizji do procesu rekonstrukcji trójwymiarowej (3D). Najostrzejsze wymagania dotyczą w tym przypadku dokładności opracowanej mapy głębi, jak również precyzyjnej kalibracji układu akwizycyjnego [83], a także wypracowania sposobów radzenia
55 sobie z częściowym zasłanianiem obiektów (4.6.3), jak również z innymi zniekształceniami obrazów wejściowych. Ponadto, wymaga się, aby wynikowa mapa dysparycji była w postaci zwartej. Mimo iż podjęto wiele prób opracowania uniwersalnego systemu stereowizyjnego [22][63][64][66][120], zdolnego do precyzyjnej rekonstrukcji trójwymiarowej, to cel ten nigdy w pełni nie został osiągnięty. Wydaje się, że w tym przypadku dobrym rozwiązaniem jest dodatkowe zastosowanie innych metod przetwarzania obrazów, takich jak np. badanie kształtów na podstawie sekwencji obrazów. Potwierdzeniem tego stwierdzenia może być ciągle rosnąca liczba rozwiązań hybrydowych, które łączą w sobie zalety wielu metod, użytych do jednego zadania [202][180]. Na podstawie wyników niedawnych badań neurofizjologicznych nad rolą częściowych przysłonięć w procesie stereo wizyjnym u człowieka [5] można przypuszczać, że dalsze badania nad sztucznymi metodami stereoskopowymi powinny w większym stopniu wykorzystywać to zjawisko w procesie detekcji głębi, jednak należy je uzupełnić informacją o dysparycji w pozostałych miejscach [111]. Stereowizja może być również stosowana w procesie rozpoznawania i klasyfikacji obiektów trójwymiarowych [156][54]. W tym przypadku, przeważnie rzadki zbiór dopasowanych cech porównywany jest z modelem obiektów lub też bazą danych obiektów. Ponieważ najczęściej nie znamy skali obiektów, dopasowania dokonuje się z dokładnością do pewnego przekształcenia afinicznego lub rzutowego (9.3.5.3)[206][43][239], co z kolei narzuca wymagania odpowiedniej kalibracji parametrów wewnętrznych kamer (3.2.2.2). Dużą pomocą w tego typu dopasowaniach jest zastosowanie tzw. niezmienników przekształcenia rzutowego (9.3.6)[175]. Stosunkowo mało znany jest problem syntezy obrazów z wykorzystaniem metod stereowizyjnych. Synteza ta polega na generowaniu nowego obrazu, który odpowiada pewnemu, arbitralnie zadanemu punktowi obserwacji. Wyznaczenie obrazu z nowego punktu widzenia możliwe jest na podstawie pewnej liczby obrazów danej sceny, otrzymanych z innych punktów obserwacji [202]. W tym przypadku nie wymaga się kalibracji systemu akwizycji, natomiast algorytm stereowizyjny musi generować zwartą mapę dysparycji i winien dobrze radzić sobie z częściowym przysłanianiem obiektów. Algorytm stereowizyjny przystosowany do rozwiązywania problemu separacji tła od pierwszego planu podali Szeliski oraz Golland [226].
4.3
Struktura algorytmów stereoskopowych
W poprzednim rozdziale zaprezentowany został podział metod stereoskopowego przetwarzania obrazów. Zgodnie z założeniami każdej z tych metod, można zaprojektować algorytm komputerowy, który daną metodę implementuje w konkretnym środowisku obliczeniowym. Mimo olbrzymiej różnorodności podejść do tego zagadnienia, możliwe wydaje się wyróżnienie wspólnych etapów (podprocedur), z których składają się tego typu algorytmy, co ilustruje Rysunek 4.2. Rysunek 4.2 prezentuje próbę przedstawienia ogólnej struktury algorytmów stereoskopowych, wraz z wyodrębnieniem zasadniczych etapów procesu dopasowywania obrazów stereoskopowych, w celu uzyskania informacji o głębi obserwowanej sceny. W dalszej części dyskutujemy charakterystykę i zadania poszczególnych etapów. 1. Wstępne przetworzenie obrazów. Wstępne przetworzenie obrazów stereoskopowych ma na celu ich przygotowanie do dalszych etapów algorytmu otrzymywania mapy dysparycji. Fazę tę można podzielić na następujące etapy: • Poprawa jakości każdego z obrazów stereopary: Obrazy uzyskane bezpośrednio z rzeczywistych układów akwizycji są zaburzone przez szum oraz często zniekształcone. Zjawiska te wiążą się bezpośrednio niedoskonałościami samego układu akwizycji, takimi jak: skończona rozdzielczość przetwornika CCD, szum wprowadzany w części elektronicznej, zniekształcenia geometryczne soczewek kamer, błąd kwantyzacji, itd. Zadaniem tego etapu w algorytmach stereowizyjnych jest jak najskuteczniejsza eliminacja, lub też kompensacja, niepożądanych efektów i artefaktów w obrazach wejściowych. Przeważnie na tym etapie dokonuje się obróbki obrazów za pomocą filtrów cyfrowych [49][74][88J [89][96][113][124][176][232]. • Rektyfikacja obrazów: Rektyfikacja obrazów stereoskopowych, otrzymanych w pewnym układzie akwizycji, jest procesem przetwarzania tych obrazów w celu znalezienia ich odpowiedników, gdyby układ akwizycji był tzw. układem kanonicznym [82][63][201][241][123], czyli takim, w którym odpowiadające
56
Rysunek 4.2: Struktura algorytmów stereoskopowych. sobie linie epipolarne są współliniowe. Ponadto uzyskuje się tę dogodną właściwość, że linie epipolarne są zgodne z kierunkiem skanowania horyzontalnego obrazów (3.3.3.2). Pod względem rektyfikacji obrazów wejściowych algorytmy stereowizyjne można podzielić na dwa typy: – Algorytmy, które zakładają, że para obrazów wejściowych powstaje w układzie kanonicznym (lub też już zrektyfikowana). – Algorytmy, które znają geometrię układu akwizycji i odpowiednio do niej dopasowują swoje działanie. Posiadanie na wejściu algorytmu pary obrazów z układu kanonicznego ma podstawową zaletę, którą jest możliwość bezpośredniego wykorzystania fundamentalnego ograniczenia obszaru dopasowań, wyłącznie wzdłuż linii epipolarnych zgodnych z liniami skanowania obrazów binarnych (3.3.3). Podstawy przekształcenia rektyfikującego obrazy stereoskopowe omawia podrozdział (3.3.3.2). • Wydobycie specyficznych cech w obrazach: Każdy z algorytmów stereowizyjnych w odmienny sposób realizuje etapy wyodrębniania specyficznych cech. W najprostszym przypadku etapy te można pominąć — dzieje się tak na przykład w algorytmach dopasowujących obszarami (Rozdział 7). Jednakże większość dobrze funkcjonujących metod uwzględnia te etapy, ponieważ mają one zasadnicze znaczenie dla całego procesu stereodopasowania (Rozdział 6). • Poprawka na różnicowe zaburzenie poziomu intensywności obrazów: Poprawka ta dotyczy wyrównania poziomów intensywności odpowiadających sobie punktów w obydwu obrazach ste-
57 reopary. Konieczność jej stosowania wynika z faktu nierównomierności wzmocnienia w torach sygnałowych obydwu kamer układu stereowizyjnego (3.2.4) lub dodatkowej nierównomierności związanej z układem optycznym. Procesu wyrównywania można dokonać podczas tzw. kalibracji fotometrycznej (3.4.2). Jednak gdy jest to niemożliwe2 , etap ten należy zrealizować w fazie przygotowania obrazów do procesu dopasowywania. Jedną z metod kompensacji przesunięcia poziomów intensywności zaproponował Cox [42]. Polega ona na wyznaczeniu histogramów wartości intensywności obydwu obrazów, dopasowaniu do nich odcinkami liniowego modelu, a następnie korekcji wartości intensywności w obydwu obrazach, zgodnie z dopasowanym modelem. Tę samą metodę, jednak zintegrowaną z iteracyjnym algorytmem dopasowującym, zaproponowali Wei, Brauer oraz Hirzinger [245]. W tym podejściu model korygujący wyraża się zależnością: AIl (x, y) + B = Ir (x + d(x, y), y)
(4.1)
gdzie: A oraz B są parametrami modelu korekcji nierównomierności fotometrycznej, Il (x, y), Ir (x, y) wartością intensywności odpowiednio obrazu lewego oraz prawego w punkcie o współrzędnych pikselowych (x, y), natomiast d(x, y) jest wartością funkcji dysparycji w punkcie (x, y). 2. Organizacja pętli. We wszystkich algorytmach stereowizyjnych występuje konieczność przetwarzania kolejnych elementów obrazów w celu znalezienia ich potencjalnych odpowiedników, a następnie dokładnego dopasowania tych elementów. Z punktu widzenia algorytmów stereowizyjnych, zarówno sekwencyjnych jak i równoległych, wymaga to zdefiniowania porządku dostępowania do wspomnianych elementów obrazów. W przypadku algorytmów dopasowujących tylko wybrane cechy obrazów i w konsekwencji dające rzadkie mapy dysparycji, porządek analizy tych cech może być dowolny, natomiast ich dopasowywanie przebiega z uwzględnieniem kierunków linii epipolarnych. Organizacja pętli dostępu do kolejnych elementów obrazów jest ważna w przypadku algorytmów dających zwarte mapy dysparycji. Obrazy przetwarzane są w tym przypadku piksel po pikselu i przeważnie dokonywane jest porównywanie obszarów o rozmiarach określonych założeniami samego algorytmu. Istnieją tu zasadniczo dwa rodzaje organizacji pętli (4.4). 3. Znalezienie wartości funkcji kosztu dopasowania dla pojedynczej pary pikseli obrazu lewego i prawego. Określenie właściwej miary stopnia dopasowania dwóch punktów, lub obszarów obejmujących pewne otoczenie punktów, determinuje działanie całego algorytmu stereowizyjnego. Dzieje się tak dlatego, że wyodrębnienie pasujących do siebie cech w obu obrazach, na podstawie których dokonujemy obliczenia ich względnego przesunięcia, jest jedynym kryterium porównawczym i jakość jego oszacowania ma bezpośredni wpływ na jakość otrzymanej mapy głębi. Miarę stopnia dopasowania określa tzw. funkcja kosztu dopasowania. Najbardziej znane miary porównania stopnia dopasowania obrazów binarnych podaje Tabela 4.3. Najprostsza i najbardziej intuicyjna jest funkcja bezpośrednio porównująca wartości intensywności w obrazie [12][11][59][123][202][227]. Niestety, ze względu na ograniczoną precyzję słowa opisującego wartość intensywności pojedynczego piksela, która w większości przypadków waha się od 8 do 24 bitów, jak również dodatkowe niekorzystne zjawiska związane z samym procesem akwizycji obrazu (3.2.4)[113][241] miara ta rzadko jest dokładna. Szczególnie dokuczliwy w tej sytuacji jest szum wprowadzony do obrazu oraz nierównomierność oświetlenia widziana przez obie kamery, jak i też niejednakowa czułość toru akwizycji w obu kamerach. Wszystkie te zjawiska dodają się w różny sposób do samej intensywności rozpatrywanych pikseli lub obszarów obrazu, a tym samym powodują małą wiarygodność takiej miary. Dlatego też wprowadzono liczne udoskonalenia i poprawki do miary porównującej wartości intensywności pikseli. Do najlepszych, udoskonalonych w praktyce funkcji kosztu, bazujących na nieprzetworzonych wartościach intensywności pikseli, należą miary, które od wartości intensywności odejmują jej wartość średnią w danym obszarze [11][12][59], a tym samym kompensują w pewnym stopniu nierównomierności parametrów każdego z torów akwizycji poszczególnych obrazów. Wynikają z tego jednak dwa istotne problemy. Po pierwsze, obliczanie funkcji kosztu nie może być już przeprowadzone niezależnie, dla każdego z pikseli osobno, gdyż 2 Często nie istnieje możliwość manipulacji torem wizyjnym układu stereowizyjnego lub też obrazy stereowizyjne są transmitowane z innego miejsca. Dotyczy to również stereowizyjnych obrazów testowych.
58 wymaga uprzedniego obliczenia wartości średniej w pewnym obszarze. Po drugie, znacznie wzrasta złożoność obliczeniowa samego algorytmu, gdyż w tym przypadku koszt obliczeń zwiększa się co najmniej o ilość operacji potrzebnych dla znalezienia wartości średnich, a następnie odjęcia wartości średniej od każdego piksela. Pewnym udoskonaleniem jest porównywanie intensywności wyłącznie w miejscu ich wyraźnych zmian, np. w obszarach krawędziowych. Takie rozwiązanie przyjęto w metodzie zaproponowanej przez Shirai [123], która w efekcie prowadzi do rzadkiej mapy dysparycji (7.2.1). Stosunkowo niedawno wynalezione i zastosowane do rozwiązywania problemu stereowizyjnego tzw. miary nieparametryczne typu Census oraz Rank [256] w znacznym stopniu rekompensują wyżej wymienione wady miar bazujących bezpośrednio na wartościach intensywności pikseli, jednocześnie przyczyniając się do znacznej redukcji złożoności obliczeniowej [139][14][13]. Dodatkowe zalety tych miar, takie jak prosta reprezentacja binarna oraz całkowitoliczbowe procedury ich porównywania, powodują duże zainteresowanie tego typu funkcjami kosztu, szczególnie w aspekcie realizacji sprzętowej [55][251], jak również obliczeń neuronowych [47][45]. Innymi założeniami cechuje się porównywanie np. znaku wyniku operacji filtru LoG (5.1), które z jednej strony stosunkowo dobrze radzi sobie z zawartym w obrazie szumem, a z drugiej pozwala na dość jednoznaczne zinterpretowanie miejsca przechodzenia i rodzaju krawędzi [82][123][124][89]. Miara ta jest stosowana raczej w przypadku algorytmów porównujących jedynie wybrane cechy i produkujących rzadkie mapy dysparycji [82]. Do najbardziej złożonych należą miary bazujące na obrazach wstępnie przetworzonych, np. przez operator gradientowy (7.2.4) lub też operator tensorowy (5.2). Najważniejszą zaletą wykorzystania tego typu sygnałów do określenia wartości funkcji kosztu jest możliwość jednoczesnego określenia nie tylko • miary podobieństwa pikseli lub obszarów ale również • miary zaufania z jakim wyznaczono miarę podobieństwa. To ostatnie jest kluczowe dla prawidłowej oceny poprawności dopasowania, gdyż pozwala na prawie automatyczną detekcję obszarów, które z pewnych powodów nie mogą być właściwie dopasowane (np. ze względu na wzajemne przysłanianie się obserwowanych obiektów). 4. Znalezienie zbiorowego dopasowania. Znajdowanie zbiorowego dopasowania w pewnym obszarze, zwane również fazą agregacji lub akumulacji wkładu pojedynczego dopasowania, jest następnym etapem w procesie dopasowywania obrazów stereoskopowych. Zadaniem tego etapu jest znalezienie miary dopasowania dla pewnego obszaru większego niż pojedynczy piksel, bazując jednak na wartościach funkcji kosztu dla pojedynczych pikseli z obszaru zainteresowań, opisanych w punkcie 3. Główna różnica między algorytmami polega na rodzaju obszaru, w którym dokonywana jest analiza zbiorowego dopasowania. Są tutaj dwie możliwości: • Obszar dwuwymiarowy x − y przy stałej wartości dysparycji d. • Obszar trójwymiarowy w przestrzeni x − y − d (Rysunek 4.3). Przypadek pierwszy, z powodu stałej wartości dysparycji jest preferowany dla scen zawierających płaszczyzny równoległe do płaszczyzn kamer [63][123][202][241]. Przykładem takiej sceny jest np. stereopara „Pentagon” (Tabela 3.4). Miarę dopasowania w tym dwuwymiarowym — przeważnie prostokątnym — obszarze znajduje się zazwyczaj, dokonując splotu z filtrem gaussowskim [113][176], wieloma oknami zaczepionymi w różnych punktach [26] lub też oknami o zmiennej wielkości [119][150]. W przypadku drugim możliwe jest prawidłowe określenie głębi scen zawierających również płaszczyzny, które niekoniecznie są równoległe do płaszczyzny kamer. Jest to zasadnicza zaleta tego podejścia, które dodatkowo umożliwia łatwiejszą kontrolę parametrów działania algorytmu, jak
59 również bardziej nadaje się do implementacji przetwarzających dane równolegle [192]. Istnieje kilka algorytmów wykorzystujących obszary trójwymiarowe do znalezienia zbiorowego dopasowania, z których najbardziej uniwersalnymi są algorytmy oparte na dyfuzji anizotropowej [202][201]. Z uwagi na bezpośrednie uwzględnienie wartości dysparycji możliwa jest kontrola dopuszczalnego gradientu dysparycji [255][123], dopuszczalnego zakresu dysparycji jak też miejsc, w których dysparycja wykazuje nieciągłość. 5. Wybór najbardziej prawdopodobnej wartości dysparycji spośród znalezionych kandydatów. Bazując na wynikach zbiorowego dopasowania w pewnych i stosunkowo niewielkich podobszarach, następuje proces wyboru właściwego dopasowania, a tym samym określenia wartości dysparycji w danym punkcie. Najprostszym podejściem jest tu zastosowanie tzw. kryterium zwycięzca-bierzewszystko (ang. winner-takes-all )3 . W tym podejściu dysparycję określa najlepsze dopasowanie w sensie przyjętej miary dopasowywania (4.5, Tabela 4.3). Jednakże podejście takie obarczone jest dwoma problemami: • Nie zawsze możliwa jest wyraźna dyskryminacja wartości miary porównawczej i wyłonienie „zwycięzcy” obarczone jest dużym ryzykiem popełnienia błędu, co często prowadzi do powstania tzw. falszywych dopasowań. • Jednoznaczność dopasowania zagwarantowana jest wyłącznie w stosunku do jednego obrazu (prawego lub lewego), zwanego obrazem referencyjnym. Pierwszy z wymienionych problemów rozwiązywany jest na wiele sposobów, z których najpopularniejsze to: wybór właściwej miary porównywania obrazów (4.5)[11][12][13][14], wstępna transformacja obrazów [55][251], wyodrębnienie charakterystycznych cech obrazów [123][255] lub też zastosowanie sztucznych sieci neuronowych [69][45][46][47]. Problem fałszywych dopasowań szczególnie uwydatnia się w przypadku dopasowywania rzeczywistych obrazów, które są silnie zaszumione lub nie posiadają wyraźnej tekstury. Drugi z problemów próbuje się rozwiązać poprzez powtórzenie etapu dopasowania po zmianie okna referencyjnego, tzn, z lewego na prawe lub odwrotnie [70][119][22]. Techniki oparte na tak zwanym programowaniu dynamicznym [41] stanowią inne podejście do tego zagadnienia [26][63][255]. Problem dopasowania sterowizyjnego, w tym przypadku, postawiony jest jako problem znajdowania minimalnej ścieżki po macierzy zawierającej wartości miary wzajemnego dopasowania par punktów (lub obszarów) leżących na odpowiadających sobie liniach epipolarnych. Pewną trudnością w metodach sterowizyjnych, opartych na programowaniu dynamicznym, jest zagwarantowanie monotoniczności dopasowywanych punktów — porządek występowania charakterystycznych punktów w obrazie lewym musi być identyczny z porządkiem odpowiadających punktów w obrazie prawym. 6. Dodatkowe przetworzenie mapy dysparycji. W stosunku do wyznaczonej mapy dysparycji możliwe jest dodatkowe przetwarzanie — przeważnie w celu jej dalszego wygładzenia lub też oszacowania wartości dysparycji z dokładnością podpikselową. Analizę możliwości przetwarzania mapy dysparycji podali Birchfield [21] oraz Birchfield i Tomasi [22]. • Znalezienie dysparycji z dokładnością podpikselową (ang. subpixel ). Obliczenie dysparycji z dokładnością podpikselową polega na oszacowaniu wartości dysparycji z większą rozdzielczością niż rozdzielczość obrazów, na których dokonywany jest proces dopasowania stereowizyjnego. Wymaga to jednak spełnienia pewnych warunków — przede wszystkim pierwotne wartości dysparycji powinny być stosunkowo ciągłe. Szacowanie dysparycji z dokładnością podpikselową dokonuje się najczęściej poprzez dopasowanie pewnej krzywej do pierwotnych punktów dysparycji [119][202]. Przeważnie jest to krzywa rzędu drugiego [166]. • Wygładzenie wartości dysparycji. Wygładzenie dysparycji ma na celu eliminację pewnych odosobnionych wartości, które powodują nieciągłość w mapie dysparycji. Przeważnie wartości takie są wynikiem fałszywego dopasowania, znacznie rzadziej wynikają z geometrii obserwowanej sceny. W praktyce, często zależy nam na eliminacji nieciągłości i eliminacji fałszywych dopasowań, co można uzyskać poprzez 3 Stosowanego
często w obliczeniach z wykorzystaniem sztucznych sieci neuronowych [228].
60 odpowiednią filtrację. Z badań eksperymentalnych autora wynika, że najlepsze rezultaty uzyskuje się poprzez zastosowanie filtru nieliniowego, np. filtru medianowego lub wykorzystującego logikę rozmytą [186][169][113]. W celu detekcji oraz odrzucenia wartości odstających, będących fałszywymi dopasowaniami, można również wykorzystać metodę przedstawioną przez Adama, Rivlina oraz Shimshoniego [1]. Polega ona na rotacji jednego z obrazów w celu detekcji prawidłowych dopasowań na podstawie analizy powstałych w ten sposób segmentów obrazowych. Wszystkie pozostałe dopasowania traktowane są jako fałszywe i w konsekwencji odrzucane. Jak podają autorzy, algorytm ten dokonuje prawidłowej oceny poprawności punktów nawet w przypadku 85% fałszywych dopasowań, co czyni go niezwykle użytecznym na tym etapie przetwarzania wynikowej mapy dysparycji.
4.4
Algorytmy kroczące po punktach oraz dysparycjach
W celu znalezienia właściwych wartości dysparycji, algorytmy stereowizyjne muszą dokonywać analizy informacji zawartej w obrazach bazując na wartościach pikseli w obrazie lewym oraz prawym (często analizowany jest już wynik wstępnego przetworzenia początkowych wartości intensywności). Trzeba jednak wziąć pod uwagę fakt, że różne mogą być podejścia do organizacji pętli zarządzającej sposobem i kolejnością dostępu do pikseli obrazów, jak również do kolejnych wartości potencjalnych dysparycji. Na tej podstawie można dokonać podziału algorytmów stereowizyjnych na: 1. Kroczące po punktach (KPP ) 2. Kroczące po dysparycjach (KPD) Wyjaśnienie różnic między tymi dwoma podejściami można rozpocząć od analizy struktury zagnieżdżenia pętli przechodzenia po punktach obrazu oraz po potencjalnych dysparycjach. W algorytmach KPP pętle zorganizowanie są tak jak to przedstawia Algorytm 4.2.
Algorytm 4.2 Struktura algorytmu kroczącego po punktach (KPP) 1 2 3 4 5 6 7 8 9 10 11 12 13 14
for(int 1 = 0; i < max nr wiersza; i++) { for(int j =0; j < max nr kolumny; j ++) { for(int d = 0; d < max spodziewana dysparycja; d ++) { "znajdź najlepsze dopasowanie zgodnie z przyjętym kryterium w pewnym oknie o wymiarach w1 × w200 } dysparycja(i, j) = "wartość, dla której dopasowanie było najlepsze"; } }
Operacja znalezienia najlepszego dopasowania, zgodnie z przyjętym kryterium, znajdująca się w trzeciej, najbardziej zagnieżdżonej pętli , wymaga przeważnie (w zależności od przyjętego kryterium) zbadania pewnego okna o rozmiarach w1 × w2 (szczególnym przypadkiem jest rozmiar 1 × 1, czyli porównywanie wyłącznie pikseli bez analizy ich sąsiedztwa). Stąd też można oszacować złożoność obliczeniową [41][125] KPP na O(N DW ), gdzie N jest liczbą pikseli i wynosi max nr wiersza · max nr kolumny, D jest liczbą potencjalnych wartości dysparycji w rozważanym obszarze, natomiast W jest ilością pikseli w oknie dopasowywania i wynosi w1 · w2 . W algorytmie typu KPD odwrócona została kolejność zagnieżdżenia pętli w stosunku do emphKPP. Najbardziej zewnętrzną pętlą jest tutaj pętla przebiegająca po możliwych wartościach dysparycji. Sytuację tę ilustruje Algorytm 4.3.
61
Algorytm 4.3 Struktura algorytmu kroczącego po dysparycjach (KPD) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
for(int d = 0; d < max spodziewana dysparycja; d ++) { for(int i = 0; i < max nr wiersza; i++) { for(int j-0; j < max nr kolumny; j++) { wartość pośrednia(i, j, d) = miara (IL (i, j), IP (i, j, d)); } } } "znajdź dysparycje bazując na wartościach pośrednich i kryterium porównawczym";
Taka organizacja pętli oznacza wybranie stałego przesunięcia między obrazami, lewym i prawym, a następnie odwiedzenie każdego położenia piksela w celu określenia pewnej miary podobieństwa. Dla każdej z wybranych wartości przesunięcia zapamiętywane są wyniki miary podobieństwa między pikselami w obrazach. Dla każdej wartości pętli zewnętrznej (tj. dla jednej wartości dysparycji) dostajemy max nr wiersza · max nr kolumny wartości pośrednich do przechowania . W ten sposób budowana jest przestrzeń trójwymiarowa, w której oprócz dwóch wymiarów przestrzennych obrazów, trzecim jest dysparycja (Rysunek 4.3).
Rysunek 4.3: Trójwymiarowa przestrzeń wartości pośrednich w algorytmach KPD. Analizując Algorytm 4.3 można zauważyć, że nie ma w nim przeglądania po oknie w najbardziej zagnieżdżonej pętli — w tym przypadku następuje jedynie zapamiętanie wyniku porównania wartości pojedynczych pikseli. Zasadniczą różnicę wprowadza ostatni z etapów , czyli znalezienia dysparycji na podstawie przestrzeni wyników pośrednich. Wiele algorytmów stereowizyjnych, zakładając opis przestrzeni w postaci aproksymacji małymi płaszczyznami równoległymi do obserwatora, ogranicza się do agregacji dominujących (statystycznie poprawnych) wartości dysparycji dla każdej potencjalnej wartości dysparycji niezależnie. W praktyce oznacza to zastosowanie pewnego mechanizmu uśredniającego w lokalnym sąsiedztwie, np. filtru gaussowskiego lub dwumianowego [113]. Co więcej, w przypadku tego ostatniego, operacja splotu jest separowalna [123], co oznacza zmniejszenie złożoności obliczeniowej z kwadratowej do liniowej [124]. Ponadto jeszcze, zastosowanie filtru o stałym jądrze oznacza wykonywanie stałej liczby operacji dla każdego piksela. Takie podejście oznacza możliwość (analizując Algorytm 4.3)
62 przeniesienia procedur opisanych w do wewnątrz pętli dysparycji, czyli np. do . Jest to operacja stosunkowo mało kosztowna obliczeniowo ze względu na przyjęty stały rozmiar jądra filtru. Ostatecznie, przy zastosowaniu wyżej wymienionych założeń, złożoność obliczeniową algorytmów typu KPD można ograniczyć nawet do O(N D). Zmniejszenie złożoności obliczeniowej w przypadku algorytmów KPD, w stosunku do KPP, odbywa się jednak kosztem zwiększenia złożoności pamięciowej, która w skrajnie niekorzystnym przypadku wynosi O(N D) oraz O(N + D) odpowiednio dla KPD oraz KPP. W zależności od „natury” algorytmu stereowizyjnego, zastosowanie podejścia KPD może dać lepsze rezultaty niż KPP. Dzieje się tak w przypadkach, w których wymagana jest analiza całej przestrzeni dysparycji w celu wykorzystania informacji o wartościach sąsiednich do eliminacji fałszywych dopasowań [120][144][201][202]. Zaletą KPD, z kolei, jest możliwość zrównoleglenia obliczeń [17][247J[192][202]. W przypadku algorytmów, w których etap agregacji dysparycji w sąsiedztwie jest nierozerwalnie związany z etapem wyznaczania funkcji kosztu dla pojedynczych pikseli (Rozdział 7), oraz w algorytmach poszukujących tylko rzadkich map dysparycji, algorytmy typu KPD nie dają większych korzyści niż KPP, a nawet ze względu na większą konsumpcję pamięci nie są zalecane. Podejście KPP okazuje się właściwsze od KPD również wtedy, gdy jednocześnie szukamy wartości dysparycji horyzontalnych oraz wertykalnych (3.3.3.1). Zwiększony, w tym przypadku o następny wymiar, rozmiar przestrzeni dysparycji praktycznie uniemożliwia zbudowanie przestrzeni wartości pośrednich dysparycji (Rysunek 4.3) ze względu na zbyt duże wymagania pamięciowe.
4.5
Miary dopasowywania obrazów binarnych
Tabela 4.3 zawiera zestawienie podstawowych miar M (x, y.dx , dy ) wykorzystywanych przy komputerowym porównywaniu obrazów. Przyjęte zostały następujące oznaczenia: Ik (x, y) jest wartością intensywności elementu, k-tego obrazu, w punkcie o współrzędnych lokalnych (x, y) obrazu, Ik (x, y) jest średnią wartością intensywności dla k-tego obrazu w pewnym otoczeniu punktu o współrzędnych lokalnych obrazu (x, y), ICk (x, y) jest wartością miary Census wyznaczonej z k-tego obrazu, w pewnym punkcie o współrzędnych lokalnych (x, y) obrazu, i oraz j są indeksami przyjmującymi wartości ze zbioru liczb całkowitych, dx , dy są wartościami dysparycji (mogą przyjmować wartości zarówno dodatnie jak i ujemne). U jest zbiorem par liczb całkowitych wyznaczających lokalne otoczenie pewnego punktu o współrzędnych lokalnych (x, y) obrazu. Zakładamy przy tym, że dla dowolnej pary p = (i, j) ∈ U, (x + i, y + j) są prawidłowymi współrzędnymi dla obrazu, który indeksujemy tymi współrzędnymi. ⊗ oznacza operator Hamminga (liczba różnych bitów w porównywanych słowach binarnych). Rozmiar oraz kształt obszaru porównawczego dla każdej z wymienionych miar, określony za pomocą zbioru U , dobierany jest w zależności od specyficznych cech algorytmu wykorzystującego daną miarę porównawczą. W algorytmach stereowizyjnych, głównie ze względów obliczeniowych, jest to najczęściej obszar prostokątny, który jest stosunkowo niewielki w porównaniu do rozmiarów samego obrazu [123][227][241][255]. Dodatkowo, w tak zwanych algorytmach adaptacyjnych zarówno rozmiar jak i kształt wspomnianego obszaru może być zmieniany w odpowiedzi na charakterystykę sygnału zawartego w obrazach, jak również ze względu na inne parametry takie jak np. numer iteracji [255] lub też rozpatrywana skala obrazu [218][96]. Parametry te - dla wybranych algorytmów stereowizyjnych - prezentowane są w dalszych rozdziałach tej pracy. Każda z zaprezentowanych miar do porównywania obrazów binarnych charakteryzuje się różną złożonością obliczeniową, z jednej strony, oraz różną odpornością na niepożądane sygnały w obrazie, z drugiej. Do najczęściej stosowanych należą SAD oraz SSD [123][202][227], z których SAD jest dobrym wyborem w przypadkach występowania w obrazie szumu o rozkładzie wykładniczym, natomiast SSD w przypadku szumu typu gaussowskiego [204]. Swoją popularność miary te zawdzięczają również stosunkowo małej złożoności obliczeniowej. Niestety, już drobne zmiany w obrazach, takie jak szum o innej (często nieznanej) funkcji rozkładu gęstości prawdopodobieństwa, nierównomierność oświetlenia lub wzmocnienia toru kamer, powodują znaczne pogorszenie wyników. Próbę zaradzenia tym ostatnim, niekorzystnym efektom podjęto, wprowadzając miary ZSAD, ZSSD, ZSSD-Y oraz CoVar [59][12][11][150], w których od wartości bieżącej intensywności najpierw odejmuje się wartość średnią intensywności w rozpatrywanym obszarze, tym samym redukując do pewnego stopnia wpływ nierównomierności oświetlenia czy też toru akwizycji obrazów. W przypadku silnie niejednorodnie oświetlonych obrazów, miara CoVar może dawać najlepsze rezultaty, co potwierdziły liczne doświadczenia przeprowadzone z obrazami rzeczywistymi [59].
63
Tabela 4.3: Zestawienie częściej stosowanych miar do porównywania stopnia zgodności monochromatycznych obrazów binarnych. Nazwa
Zależność M (x, y, dx , dy ) = X
|I1 (x + i, y + j) − I2 (x + d + i, y + dy + j)|
SAD (i,j)∈U
ZSAD
X I1 (x + i, y + j) − I1 (x, y) − I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy ) (i,j)∈U
2 I1 (x + i, y + j) − I2 (x + dx + i, y + dy + j)
X SSD (i,j)∈U
ZSSD
X h
i2 I1 (x + i, y + j) − I1 (x, y) − I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy
(i,j)∈U
+ i, y + j) − (I2 (x + dx + i, y + dy + j)]2 P 2 2 (i,j)∈U I1 (x + i, y + j) · (i,j)∈U I2 (x + dX + i, y + dy + j) P
SSD-N
(i,j)∈U [I1 (x
qP
h
P ZSSD-N
I1 (x+i,y+j)−I1 (x,y) − I2 (x+dx +i,y+dy +j)−I2 (x+dx ,y+dy )
(i,j)∈U
qP (i,j)∈U
I1 (x+i,y+j)−I1 (x,y)
X SCP
2 P ·
(i,j)∈U
i2
I2 (x+dx +i,y+dy +j)−I2 (x+dx ,y+dy )
2
I1 (x + i, y + j) · I2 (x + dx + i, y + dy + j)
(i,j)∈U
P
SCP-N
I1 (x + i, y + j) · I2 (x + dx + i, y + dy + j) P 2 2 (i,j)∈U I1 (x + i, y + j) · (i,j)∈U I2 (x + dx + i, y + dy + j) (i,j)∈U
qP
P CoVar
(i,j)∈U
qP (i,j)∈U
I1 (x+i,y+j)−I1 (x,y) · I2 (x+dx +i,y+dy +j)−I2 (x+dx ,y+dy )
I1 (x+i,y+j)−I1 (x,y)
X Census
2 P ·
(i,j)∈U
I2 (x+dx +i,y+dy +j)−I2 (x+dx ,y+dy )
2
IC1 (x + i, y + j) ⊗ IC2 (x + dx + i, y + dy + j)
(i,j)∈U
Niestety, zwiększona odporność na wymienione wcześniej zjawiska pasożytnicze nie rekompensuje znacznie zwiększonej złożoności obliczeniowej, gdyż miary te, dla każdego punktu obliczeniowego, wymagają wcześniejszego wyznaczenia wartości średniej w lokalnym sąsiedztwie tego punktu. Dlatego też, w większości opracowanych algorytmów komercyjnych i badawczych dla celów przemysłowych ciągle wykorzystuje się metody SAD oraz SSD (9.1) [128][242][243]. W większości praktycznych przypadków, miara SSD jest bardziej uzasadniona niż miara SCP. Dzieje się tak dlatego, że SSD uwzględnia również bezwzględną wartość energii w wybranym obszarze U,
64 zdefiniowaną jako suma kwadratów wartości sygnału w tym obszarze, podczas gdy SCP jest silnie polaryzowana przez miejsca o bardzo dużej, lub bardzo małej, wartości intensywności. Własność tę najłatwiej zaobserwować, analizując poniższą zależność: X 2 SSD(I1 , I2 ) = I1 (x + i, y + j) − I2 (x + dx + i, y + dy + j) = (4.2) R (i,j)
X
I12 (x + i, y + j) − 2I1 (x + i, y + j)I2 (x + dx + i, y + dy + j) + I22 (x + dx + i, y + dy + j) =
(i,j)∈U
X
X I12 (x + i, y + j) + I22 (x + dx + i, y + dy + j) − 2 (x + i, y + j)I2 (x + dx + i, y + dy + j) =
(i,j)∈U
X
(i,j)∈U
I12 (x
+ i, y + j) +
I22 (x
+ dx + i, y + dy + j) − 2 · SCP (I1 , I2 )
(i,j)∈U
Pierwszy składnik w powyższym rozwinięciu wyraża wartość energii sygnału w dwóch porównywanych obszarach. Warto też porównać odpowiedź SSD oraz SCP w przypadku dopasowywania dwóch obszarów, z których jeden jest obszarem o zerowym (w praktyce: o bardzo małym) poziomie sygnału. Przy porównywaniu obszarów obrazów z wykorzystaniem miar, które prezentuje Tabela 4.3, porównywane obszary można uważać za najlepiej dopasowane w sensie wybranej miary, gdy wielkość tej miary przyjmuje wartość ekstremalną. Oprócz miar SCP, SCP-N oraz CoVar, jest to wartość minimalna. Przy porównywaniu obszarów z wykorzystaniem miar SSDN, ZSSD-Y, SCP-N oraz CoVar należy pamiętać o specjalnym traktowaniu przypadku, gdy wartości intensywności w rozpatrywanym obszarze są równe zeru, gdyż wtedy wartość mianownika w wyrażeniach określających te miary przyjmuje również wartość zero. Przypadek ten występuje przeważnie dla bardzo małych obszarów dopasowań, jak również dla obrazów niedoświetlonych lub syntetycznych. Na specjalną uwagę zasługują miary Census oraz Rank. Są one pochodnymi metod Census oraz Rank, nieparametrycznego przetwarzania obrazów, wprowadzonych przez Zabiha i Woodfilla [256], które następnie były badane pod kątem przydatności do przetwarzania rzeczywistych obrazów stereoskopowych przez Woodfilla i von Herzena [251], Dunna oraz Corkego [55], Banksa, Bennamouna oraz Corkego [13][14][15]. Wykorzystanie tej miary w przypadku sztucznych sieci neuronowych przedstawili: Cyganek [47], Cyganek, Korohoda, Borgosz [45], jak również Lan oraz Mohr [139], którzy dodatkowo zmodyfikowali miarę Census do postaci probabilistycznej, jednak kosztem zwiększenia złożoności obliczeniowej oraz rezygnacji z bardzo efektywnej miary Hamminga. Sposób znajdowania wartości miary Census dla obrazów binarnych przedstawia Rysunek 4.4.
Rysunek 4.4: Obliczanie miary Census dla wybranego punktu w obrazie binarnym.
65 Definicja 3.1: Dla danego wewnętrznego piksela obrazu o współrzędnych lokalnych (i, j) oraz jego najbliższego n-sąsiedztwa, wartość miary Census IC(i, j) dla tego piksela wyraża się ciągiem bitów: IC(i, j) = bn2 −1 . . . bk . . . b3 b2 b1 b0 2
k ∈ [0, . . . , n −
gdzie,
(4.3)
2 1]/{b n2 c}
Wartość bk wyraża się poniższą zależnością: 1 gdy I i − b n2 c + b nk c, j − b n2 c + k bk = 0 w przeciwnym przypadku
mod n I(i, j)
(4.4)
Gdzie: I(i, j) jest wartością intensywności elementu obrazu w punkcie o współrzędnych lokalnych (i, j) obrazu, bk/nc oznacza dzielenie całkowitoliczbowe k przez n, natomiast k mod n oznacza resztę z dzielenia całkowitoliczbowego k przez n. Numerację bitów w sąsiedztwie wybranego elementu obrazu przedstawia poniższy rysunek.
Rysunek 4.5: Numeracja bitów w lokalnym sąsiedztwie punktu podczas obliczania miary Census. Na podstawie (4.3) widać, że obliczanie miary Census dla obrazów binarnych jest szczególnie efektywne po wybraniu n równego trzy lub pięć. Wtedy miara ta, dla każdego piksela, może być opisana odpowiednio na jednym lub trzech bajtach, gdyż do ciągu bitów (4.3) nie wchodzi wartość elementu centralnego. Oznacza to, że wynikiem działania operatora Census dla n sąsiedztwa jest ciąg n − 1 bitów. Miara Rank jest nieco podobna do miary Census, w sposobie porównywania intensywności elementu centralnego do elementów otaczających oraz w zakresie wyboru wielkości tego otoczenia. Miarę Rank precyzuje następująca definicja: Definicja 3.2: Dla danego wewnętrznego piksela obrazu o współrzędnych lokalnych (i, j) oraz jego najbliższego n-sąsiedztwa, wartość miary Rank IR(i, j) dla tego piksela wyraża się liczbą naturalną, której wartość jest równa ilości elementów z otoczenia elementu centralnego, a wartość intensywności tych elementów nie przekracza wartości intensywności elementu centralnego tego sąsiedztwa. Zwykle, do dalszego porównywania obrazów przetworzonych uprzednio operatorem Rank wykorzystuje się miarę SSD (Tabela 4.3). Nie jest ona jednak już tak dogodna obliczeniowo jak miara Hamminga wykorzystywana do obrazów typu Census. Co więcej, wymaga ona zastosowania bardziej złożonej arytmetyki, co często stanowi przeszkodę w praktycznych zastosowaniach typu real-time (9.1). Obszerniejszą analizę miar porównywania, z uwzględnieniem różnych metryk w przestrzeni cech, zawiera niedawna praca Santiniego i Jaina [199], którzy analizują w niej stosowność ogólnie przyjętych aksjomatów, dotyczących przestrzeni metrycznych w kontekście psychofizjologicznego dopasowywania cech. Wyniki prac tych autorów sugerują konieczność poszukiwania innych miar niż najczęściej stosowana miara euklidesowa, takich jak np. odległość Minkowskiego lub też, opracowana przez Santiniego oraz Jaina, miara podobieństwa oparta na logice rozmytej. Bardzo dobrą dyskusję wykorzystania miar porządkujących (ang. ordinal measures), szczególnie w aspekcie korelowania obrazów stereoskopowych, przedstawili Bhat i Nayar [19][20]. Wykazali oni, że miary porządkujące są w dużo większym stopniu odporne na lokalne zniekształcenia obrazów spowodowane
66 szumem lub niejednorodnością oświetlenia scen. Statystyczne właściwości tych miar sprzyjają odrzucaniu wartości odstających od pozostałych (ang. outliers), które przeważnie są wynikiem wystąpienia niepożądanych zjawisk podczas akwizycji obrazów. Do miar porządkujących należą opisane już wcześniej miary Rank oraz Census. Są nimi również miary Kendalla τ oraz Spearmana ρ, przedstawione przez Bhata i Nayera [19][20], z których pierwsza oblicza liczbę niedopasowanych par między próbkami, natomiast druga odzwierciedla miarę euklidesową pomiędzy permutacjami próbek. Dogłębnej analizy metryk porównawczych w zależności od rodzaju funkcji rozkładu prawdopodobieństwa szumu dokonali Sebe, Lew i Huijsmans [204]. Na podstawie wyników eksperymentalnych doszli oni do wniosku, że dużo większą dokładność porównywania rzeczywistych obrazów można osiągnąć, stosując metryki zakładające szum o rozkładzie Cauchy’ego zamiast miar SSD czy też SAD, tak często używanych w wielu algorytmach przetwarzających obrazy.
4.6 4.6.1
Problemy obliczeniowe w algorytmach stereowizyjnych Niejednoznaczność dopasowania punktów obrazowych
W rozdziale (3.3.1) podane zostało uzasadnienie ograniczenia poszukiwań odpowiadających sobie punktów obrazowych do kierunku zgodnego z położeniem linii epipolarnych. Problem poszukiwania odpowiedników został w ten sposób zredukowany do przestrzeni jednowymiarowej. Tym niemniej nadal nie jest on jednoznaczny, gdyż ciągle do danego punktu z jednego obrazu, potencjalnie może zostać dopasowany każdy z punktów leżących na odpowiadającej linii epipolarnej w drugim obrazie. Sytuacji nie poprawia też fakt, że często nie jest znana nawet sama geometria epipolarna posiadanej pary obrazów stereoskopowych. Ta niejednoznaczność dopasowania punktów obrazowych jest zasadniczą przyczyną trudności związanych z procesem stereodopasowywania. Dlatego też opracowano wiele metod stereowizyjnych, które do dopasowywania punktów wykorzystują charakterystyczne cechy obrazów. Część z nich została opisana w poprzednich rozdziałach tej pracy. Dla większości rzeczywistych przypadków, korzystających z różnych kryteriów porównawczych, problemy z dopasowaniem punktów obrazowych można pogrupować następująco: • Niejednoznaczność dopasowania obszarów o jednakowej intensywności. • Niejednoznaczność dopasowania obszarów o jednakowej teksturze. • Niejednoznaczność dopasowania obszarów zaszumionych lub zniekształconych. Wpływ długości linii bazowej (3.3) na proces korelacji stereoskopowej badali: Mellor, Teller oraz Lozano-P´erez [165]. Wykazali oni, że potencjalne błędy w znajdowaniu stereodopasowań są również funkcją długości linii bazowej, a mianowicie: im jest ona dłuższa tym proces znajdowania głębi może być przeprowadzony dokładniej. Z drugiej jednak strony, krótsza linia bazowa znacznie upraszcza proces korelacji, co umożliwia wyeliminowanie większości niejednoznacznych dopasowań. Opracowany przez ww. autorów algorytm stereowizyjny, wykorzystuje tzw. obraz epipolarny, który powstaje w wyniku analizy wielu setek obrazów tej samej sceny. Prosty algorytm minimalizacyjny umożliwia następnie dokładną rekonstrukcję obserwowanej sceny.
4.6.2
Nieciągłości głębi
Założenie ciągłości głębi C6 zostało zdefiniowane w rozdziale (3.6) - Tabela 3.3. Nieciągłość głębi występuje w miejscach sąsiadowania obiektów będących w pewnym oddaleniu od siebie i dotyczy praktycznie wszystkich obrazów rzeczywistych. Przeważnie sąsiedztwom takim towarzyszy istotna zmiana intensywności w obrazie; najczęściej widoczna jako krawędź. W wielu algorytmach stereowizyjnych zakłada się uproszczenie, że wartość dysparycji pozostaje stała w obrębie pojedynczego przedmiotu [22]. Wymaga to jednak uprzedniej identyfikacji przedmiotów występujących w obserwowanej scenie, co często jest niemożliwe. W większości algorytmów problem nieciągłości głębi wyraża się poprzez rozmycie mapy dysparycji w miejscach krawędzi pomiędzy przedmiotami o różnej głębi w obserwowanej scenie. Dotyczy to praktycznie wszystkich algorytmów dopasowujących obszarami (Rozdział 7). W algorytmach dyfuzyjnych możliwe jest wprowadzenie ograniczenia możliwości dyfuzji w poprzek krawędzi między różnymi obiektami, a przez to zlikwidowanie problemu rozmycia mapy dysparycji [201] [202]. Podobnie, zastosowanie adaptacyjnych okien umożliwia wyeliminowanie tego niepożądanego zjawiska [l19] [150].
67
4.6.3
Problem częściowego przysłaniania się obiektów
Obserwacja pewnych konfiguracji obiektów trójwymiarowych - z dwóch różnych punktów - prowadzi do powstania obrazów tych obiektów tylko na jednej płaszczyźnie obrazowej. Jest to spowodowane częściowym przysłanianiem się obserwowanych obiektów. Sytuację tę ilustruje Rysunek 4.6, na którym obiekt B1 jest częściowo przysłonięty przez obiekt B2 i w różnym stopniu widoczny dla obydwu kamer układu stereoskopowego. Punkt ml , będący lewym obrazem punktu M należącego do obiektu B1 , nie może być dopasowany do żadnego punktu w obrazie prawym. Co więcej, pozorny punkt mr jest zastąpiony obrazem nr punktu N należącego do innego obiektu B2 . Punkt N może być prawidłowo wyznaczony, gdyż możliwe jest znalezienie jego obrazów nl oraz nr .
Rysunek 4.6: Problem wzajemnego przysłaniania obiektów w układzie stereoskopowym W przypadku rzeczywistych scen problem częściowego przysłaniania się obiektów jest praktycznie nieunikniony. Stwarza to konieczność uwzględnienia tego zjawiska i wypracowania metod określenia potencjalnych punktów, które nie posiadają odpowiedników w przeciwnym obrazie, tym samym będąc obrazami punktów trójwymiarowych, które są widoczne tylko przez jedną kamerę. Wraz z rozwojem algorytmów stereowizyjnych wypracowano wiele sposobów radzenia sobie z problemem częściowego przysłaniania się obiektów. Oto niektóre z tych rozwiązań: • Pominięcie problemu. Wiele algorytmów stereowizyjnych w ogóle pomija problem częściowego przysłaniania [11] [12] [13] [242] [243] [227]. Jest to pewnego rodzaju uproszczenie, które często przyjmuje się jako uzasadnione; ze względu na charakter obserwowanych scen albo z powodu wymagań stawianych wyjściowej mapie dysparycji. W wielu przypadkach rzeczywistych wychodzi się z założenia, że obszary, które są częściowo przysłonięte, stanowią tylko małą część całości obrazu, dlatego niedokładności ich dopasowania nie są tak istotne. Założenia takiego nie można jednak usprawiedliwiać w przypadku zastosowania metod stereoskopowych do precyzyjnej nawigacji [203] lub też syntezy obrazów [202]. • Dopasowywanie zwrotne. Dopasowywanie zwrotne polega na zastosowaniu dwóch analogicznych faz dopasowywania, tylko że z odwróceniem ról obydwu obrazów. W pierwszej fazie obrazem referencyjnym jest np. obraz lewy, a dopasowywany jest obraz prawy, po czym następuje zmiana; referencyjnym obrazem jest obraz prawy, a dopasowywanym - lewy. Metoda ta po raz pierwszy zastosowana została przez Fua [70], a następnie posługiwało się nią wielu innych badaczy [22] [150] [261] [202]. Wykorzystano ją również w przypadku algorytmu tensorowego opisanego w tej pracy (6.2.9). Jest ona dosyć złożona obliczeniowo, ale łatwo może być zrównoleglona. • Wpisanie w algorytm lub model. W tym podejściu problem częściowego przysłaniania próbuje się rozwiązać poprzez uwzględnienie
68 tego zjawiska w samym algorytmie. Najczęściej modyfikowana jest funkcja określająca stopień dopasowania dla dwóch punktów. Podejście to zastosowano w wielu algorytmach stereowizyjnych, opartych na tzw. programowaniu dynamicznym [52] [22] [26]. Metoda ta wykorzystuje założenie zachowania kolejności punktów (C5, Tabela 3.3), które niestety nie zawsze może być spełnione. Bardzo dokładną detekcję przysłoniętych obszarów wykazuje algorytm oparty o programowanie dynamiczne, opracowany przez Birchfielda i Tomasiego [22]. Funkcja kosztu dopasowania zmodyfikowana została tutaj o współczynniki korygujące ewentualne przysłanianie. Niestety, algorytm ten wymaga spełnienia wielu założeń upraszczających dotyczących zawartości analizowanej sceny. Przyjęcie dodatkowych założeń w odniesieniu do procesu dopasowywania, np. założenia o jednoznaczności odpowiedników (C2, Tabela 3.3), ułatwia wykrycie przysłoniętych miejsc na podstawie analizy wartości funkcji dopasowującej (np. Tabela 4.3). Podejście takie przyjęli Zitnick i Kanade [260] [261] w algorytmie wykorzystującym dodatkowo iteracyjny proces dyfuzyjny. Jedne z najlepszych wyników w detekcji przysłoniętych części obrazów daje zastosowanie do problemu stereowizyjnego probabilistycznego modelu opartego na regule Bayesa [119] [144] oraz dyskretnego procesu dyfuzyjnego z lokalnym kryterium stopu [201] [202]. Detekcję przysłoniętych części obrazów w algorytmie stereowizyjnym opartym na filtracji Gabora zastosowali Trap, Dr¨ ue oraz Hartmann [236]. Pozostaje ciągle otwarte pytanie, co zrobić z miejscami, które zostały sklasyfikowane jako wzajemnie przysłaniające się. Ponieważ punkty należące do tych miejsc nie mogą zostać dokładnie dopasowane, więc nie jest znana wartość dysparycji dla tych miejsc. Tym niemniej, przyjmując np. założenie o ciągłości dysparycji (C6, Tabela 3.3), wartość dysparycji w tych miejscach może być z powodzeniem interpolowana [202] [22] [48].
4.6.4
Wpływ zniekształceń i szumów w obrazach wejściowych
Zbyt duży poziom szumów lub zniekształceń w wejściowych obrazach stereowizyjnych prowadzić może do znacznej degradacji wyników procesu stereodopasowywania. Dotyczy to wszystkich algorytmów stereowizyjnych, jednakże w różnym stopniu. Wiele funkcji kosztu dopasowania, stosowanych w metodach porównujących obszarami, zostało zmodyfikowanych w celu polepszenia odporności na szum i zniekształcenia. Niektóre, z najczęściej używanych funkcji kosztu tego typu, omówiono w (4.5). Metody stereowizyjne dopasowujące cechami zdegradowane są przez niekorzystne zjawiska w stopniu proporcjonalnym do możliwości prawidłowego wyznaczenia cech, po których dokonują dopasowania. Dotyczy to np. algorytmu MPG (6.1) czy też Shirai (7.2.1). Problem wpływu zniekształceń i szumów na działanie algorytmu tensorowego analizowany jest w rozdziale (5.2.3).
4.6.5
Kierunek przeszukiwania po liniach epipolarnych w kanonicznym układzie kamer
Wiadomo, że w kanonicznym układzie kamer kierunek poszukiwania odpowiedników punktów w jednym z obrazów, w stosunku do wybranego punktu z drugiego obrazu, tak zwanego punktu referencyjnego, ograniczony jest geometrycznie do linii epipolarnych, zgodnych z kierunkiem skanowania obrazów (3.3.3). Podczas implementacji algorytmów przeszukiwania powstaje dodatkowe pytanie, czy istnieje jakaś zależność określająca geometryczne ograniczenia możliwych zmian współrzędnej punktu badanego, wyrażonej we współrzędnych samego obrazu, w stosunku do współrzędnej punktu referencyjnego. Odpowiedź na to pytanie daje poniższy lemat. Lemat 4-1: W kanonicznym układzie stereowizyjnym, dla wybranych punktów, będących obrazami jednego i tego samego punktu przestrzeni, ich współrzędne lokalne w obrazie pozostają w ścisłej relacji. Dowód powyższego lematu oprzeć można na zależnościach geometrycznych, które przedstawia Rysunek 4.7.
69 Układ współrzędnych przedstawia Rysunek 4.7. Przyjmijmy poniższe oznaczenia na współrzędne lokalne w obrazach: u ˆL = p , u ˆP = q − b (4.5) qb ,
qk
(4.6)
Rysunek 4.7: Relacja współrzędnych lokalnych w kanonicznym ukłądzie stereoskopowym. Zgodnie z przyjętymi oznaczeniami chcemy wykazać, że zachodzi relacja R(ˆ uL , u ˆP ), gdzie R jest relacją słabej większości (będzie tak w przyjętym układzie współrzędnych) lub mniejszości. Wartości u ˆL oraz u ˆP są odpowiadającymi sobie współrzędnymi lokalnymi w obrazach, przy założeniach (4.6). Korzystając z właściwości podobieństwa trójkątów: ∆AP X do ∆AEF oraz ∆DP X do ∆DGH, dostajemy następujące zależności: |(b+ k2 )−q| = |(b+ k2 )−X | Z f (4.7) |X− k2 | |p− k2 | = Z
f
Po rozpatrzeniu wszystkich możliwych przypadków znaku wyrażeń w wartościach bezwzględnych w równaniach (4.7) oraz po uwzględnieniu (4.5) dostajemy ostatecznie: u ˆL = u ˆ+P + Ponieważ, zgodnie z założeniem
fb Z
fb Z
(4.8)
0 oraz Z > O, więc na podstawie (4.8) otrzymujemy, że u ˆL u ˆP
(4.9)
70 co kończy dowód.
4.6.6
Problem nieciągłości granicy obrazu
Zagadnienia nieciągłości obrazów w miejscach bezpośrednio sąsiadujących z krawędziami zewnętrznymi tych obrazów, jak również teoretyczne oraz praktyczne sposoby uwzględniania tego zjawiska, przewijają się w wielu pracach naukowych [124] [115]. Tym niemniej, problem pozostaje ciągle otwarty. Część autorów sugeruje przyjęcie stałej wartości w obszarach poza badanym obrazem, np. wartości 0. Inni zalecają ekstrapolację nieznanej części obrazu poprzez symetryczne powielenie warstwy pikseli bezpośrednio sąsiadujących z obszarem nieciągłości [133]. W dalszej części tej pracy przyjęte zostało założenie, że obraz badany powstaje poprzez zawężenie obrazu wejściowego o pewną warstwę buforową pikseli, bezpośrednio sąsiadujących z obszarem nieciągłości. W ten sposób piksele graniczne obrazu badanego nie są jednocześnie granicznymi obszaru nieciągłości obrazu. Pozostaje problem wyboru wielkości warstwy buforującej. W praktyce wybór ten uzależniony jest od specyfiki wybranego algorytmu przetwarzającego. Można przyjąć jako regułę heurystyczną, że w przypadku algorytmów stereowizyjnych dopasowujących obszarami bufor powinien być nie mniejszy niż wielkość okna dopasowującego (Rozdział 7). Oczywistą wadą przyjętego założenia jest zmniejszenie praktycznego obszaru dopasowywania obrazu przy nie zmienionej złożoności pamięciowej. Zaletą jest natomiast wyeliminowanie problemu nieciągłości w obszarach granicznych bez wprowadzania sztucznych wartości sygnału.
Rozdział 5
Detektory cech obrazów w przetwarzaniu stereoskopowym 5.1
Detekcja krawędzi obrazu
Analiza wartości luminancji obrazów monochromatycznych wykazuje, że istnieniu krawędzi w pewnym miejscu obrazu towarzyszy znaczna zmiana poziomów luminancji w tym obszarze obrazu, co ilustruje poniższy rysunek.
Rysunek 5.1: Trójwymiarowy wykres części obrazu zawierającej krawędź - oś pionowa określa wartość luminacji obrazu Załóżmy, że funkcja I(p, q) reprezentuje dyskretne wartości luminancji w punkcie obrazu o współrzędnych dyskretnych p i q. Nie tracąc ogólności rozważań, założyć można, że funkcja luminancji obrazu jest dwuwymiarową funkcją ciągłą I(x, y)1 . Przy takim założeniu definiujemy wektor gradientu: h iT ∂I ∂I ∆I = ∂x (5.1) ∂y Dla każdego punktu obrazu, trójka x, y, I(x, y) definiuje płaszczyznę styczną, której tzw. wektor normalny ma współrzędne [123] [124]: T ∂I ∂I (5.2) n = ∂x ±1 ∂x Analiza modułu wektora gradientu oraz modułu wektora normalnego, w postaci: s 2 2 ∂I ∂I k∆Ik = + ∂x ∂y s 2 2 ∂I ∂I knk = + +1 ∂x ∂y
(5.3)
1 Przemapowanie obrazu dysktretnego na ciągły możliwe jest np. przez interpolację dyskretnych wartości pikseli w wartości ciągle (5.2.1.3.1).
72 pozwala określić lokalną charakterystykę obrazu. I tak, moduł gradientu (moduł wektora normalnego) przyjmuje wartość minimalną dla dbszarów o stałej luminancji, natomiast wartość ta rośnie w przypadku obszarów o znacznej lokalnej zmianie intensywności, tak jak to ma miejsce w przypadku krawędzi. Dlatego też wartości (5.3) wykorzystuje się do detekcji krawędzi w obrazie. W przypadku obrazów binarnych, wartości pochodnych sygnału intensywności znajdujemy, stosując jeden z dyskretnych operatorów różniczkujących (5.2.1.3.1). Detektorem krawędzi, który charakteryzuje się lepszymi właściwościami izotropowymi2 , jest operator Laplace’a zdefiniowany w następujący sposób: ∇2 I =
∂2I ∂2I + ∂x2 ∂y 2
(5.4)
W przypadku istnienia dużego gradientu luminancji obrazu w pewnym lokalnym sąsiedztwie, operatory wykorzystujące pierwszą pochodną, np. operator modułu wektora gradientowego (5.3), wykazują maksimum swojej wartości, podczas gdy operatory z drugą pochodną, tak jak operator Laplace’a (5-4), wykazują dwa ekstrema o przeciwnych znakach, a pomiędzy tymi wartościami przechodzą przez zero. Stąd też operator ten nazywa się również operatorem przecinającym zero. Cecha ta ułatwia komputerową detekcję krawędzi, gdyż nie trzeba sprawdzać lokalnego ekstremum, lecz tylko wystąpienie przecięcia zera. Właściwości operatorów jedno- i dwu- pochodnych do detekcji krawędzi przedstawia Rysunek 5.2.
Rysunek 5.2: Działanie operatorów krawędziowych na przykładzie jednowymiarowej krzywej wizualizującej przebieg krawędzi obrazu — ciągła krawędź w ukłądzie 1D, oraz odpowiednio jej pierwsza i druga pochodna. Druga pochodna w miejscu największego spadku krawędzi przechodzi przez zero. W przypadku obrazów rzeczywistych, negatywną cechą krawędziowego operatora Laplace’a jest zintensyfikowanie poziomu szumu w obrazie wyjściowym. Jest to spowodowane funkcją transmitancji w dziedzinie częstotliwości tego operatora, która jest proporcjonalna do kwadratu częstotliwości. Dlatego zachodzi konieczność poprzedzenia działania operatora Laplace’a operatorem wygładzającym, takim jak np. filtr gaussowski. Połączenie tych dwóch operatorów zwane jest filtrem typu LoG (ang. Laplacian of Gaussian) [189]. Operację połączenia działania tych dwóch operatorów wyraża poniższa zależność: ∇2 (G ∗ I) gdzie: G(x, y, σ) jest dwuwymiarową funkcją gaussowską wyrażającą się wzorem: 2 1 x + y2 G(x, y, σ) = exp − 2πσ 2 2σ 2
(5.5)
(5.6)
W przypadku funkcji ciągłych, (5.5) oraz (5.6) można sprowadzić do postaci: ∇2 (G ∗ I) = ∇2 (G ∗ I) 2 Operator
(5.7)
krawędziowy nazywamy izotropowym, jeżeli jego odpowiedź nie zależy od kierunku detekowanej krawędzi.
73 co oznacza połączenie operacji wstępnego wygładzania obrazu z operacja laplace’a w jeden operator, a następnie zastosowanie tego operatora do wejściowego obrazu I w w celu ekstrakcji krawędzi. Złożenie przekształcenia (5.6) z operatorem laplace’a (5.4) prowadzi do nowego operatora w postaci: 2 x2 + y 2 x + y2 1 2 2− exp − (5.8) ∇ G(x, y, σ) = − 2πσ 4 σ2 2σ 2 Obliczenia prowadzone w wykorzystaniem operatora (5.8) upraszczają się znacznie po stwierdzeniu [124] [89], że operator ten mozna rozseparopwać na równoważną kombinację operatorów jednowymiarowych: g(x, y) = g1 (x)g2 (y) + g2 (x)g1 (y) (5.9) gdzie 1 t2 t2 1 − exp − 2πσ 4 σ2 2σ 2 t2 exp − 2 2σ
g1 (t)
= −
g2 (t)
=
(5.10)
Wykresy funkcji g1 (t) i g2 (t) przedstawia Rysunek 5.2.
Rysunek 5.3: Wykresy funkcji g2 (t) i g1 (t) dla σ = 2.0 (oś pozioma — argument funkcji, oś pionowa wartość funkcji) Przejście z jądrem splotu, wyrażobnym funkcja ciągłą (5.8), do dziedziny dyskretnej wymaga właściwego wyboru parametrów (5.8). Szczególnie ważny jest wybór wielkości dyskretnej maski. Szerokość w centralnej, ujemnej części jądra splotu operatora LoG, otrzymujemy po przyrównaniu (5.8) do zera oraz podwojeniu otrzymanej wartości: √ (5.11) w = 2 2σ Dotychczasowe rozważania dotyczyły przypadku sygnałów ciągłych. Natomiast teraz zajmiemy się analizą przypadku dyskretnego. W celu zastosowania operatora LoG do sygnału dyskretnego, którym jest obraz binarny, wyznaczona być musi maska zdyskretyzowanego filtru LoG. Maskę taką otrzymujemy w wyniku równomiernego próbkowania z odpowiednią częstotliwością funkcji ciągłej LoG w pewnym skończonym przedziale. Analizując Rysunek 5.2, dochodzimy do wniosku, że wystarczającą wartość tego przedziału można ustalić jako 3w × 3w, gdyż poza tym przedziałem wartość funkcji LoG praktycznie osiąga zero. Pozostałą do wyznaczenia wartość częstotliwości próbkowania określimy, zaczynając od analizy spektralnej funkcji LoG. Transformatę Fourier’a funkcji LoG wyznaczamy, obliczając najpierw transformatę funkcji gaussowskiej, a następnie korzystając z twierdzenia o transformacie z pochodnej [168]. Transformata Fouriera funkcji gaussowskiej, z dokładnością do stałej multiplikatywnej, wyraża się wzorem: Z +∞ Z +∞ t2 t2 ˆ G(ω) = exp − 2 exp (−jωt)dt = exp − 2 − jωt dt = (5.12) 2σ 2σ −∞ −∞ Z +∞ Z +∞ 1 2 1 2 2 2 4 2 exp − 2 (t + 2σ jωt dt = exp − 2 (t + σ jω) + σ ω dt = 2σ 2σ −∞ −∞ Z +∞ Z +∞ σ2 ω2 1 σ2 ω2 1 exp − exp − 2 (t + σ 2 jω)2 dt = exp − exp − 2 (t + σ 2 jω)2 dt = 2 2σ 2 2σ −∞ −∞ 2 2 Z +∞ 2 σ ω 1 t + σ jω = x = exp − exp − 2 x2 dx dt = dx 2 2σ −∞
74 Ostatnią całkę w powyższym wyrażeniu obliczamy, korzystając z zależności [31]: √ Z +∞ 2 2 π e−a x dx = , a>0 a −∞
(5.13)
Stąd, oraz po uwzględnieniu stałej multiplikatywnej z (5.6), otrzymujemy szukaną wartość transformaty: 1 σ2 ω2 G(ω) = √ exp − (5.14) 2 2piσ Korzystając z (5.14) oraz właściwości transformaty Fouriera, otrzymujemy transformatę: σ2 ω2 −ω 2 exp − L(ω) = √ 2 2πσ
(5.15)
Wykres funkcji L(ω) dla a = 2 przedstawia poniższy rysunek.
Rysunek 5.4: Wykres funkcji L(ω) (dla σ = 2.0). Jak widać na powyższym wykresie, L(ω) jest filtrem pasmowoprzepustowym, którego parametry otrzymamy po znalezieniu ekstremów funkcji L(ω). W tym celu liczymy L0 (ω): −2ω σ2 ω2 ω 2 (−ωσ 2 ) σ2 ω2 (5.16) L0 (ω) = √ exp − − √ exp − 2 2 2πσ 2πσ Przyrównując powyższą zależność do O, otrzymujemy punkty ekstremalne funkcji L(ω): ω(2 − σ 2 ω 2 ) = 0 ω0 = 0
,
ω1,2 = ±
√
Rozpatrując przebieg funkcji L(ω) (Rysunek 5.3) oraz biorąc pod uwagę pulsację: √ 2 ω1 = σ możemy założyć, że pulsacja graniczna filtru LoG wynosi: √ 3 2 ωg = 3ω1 = σ
(5.17)
2 σ
(5.18)
(5.19)
Stąd też, oraz bazując na twierdzeniu o próbkowaniu, dostajemy wyrażenie na odległość między kolejnymi próbkami w postaci: 1 π πσ ∆x = = = √ (5.20) 2fg ωg 3 2
75 Ponieważ minimalną wartość maski określiliśmy jako 3w × 3w, więc korzystając z (5.11) oraz (5.20), otrzymujemy minimalne wartości dla dyskretnej maski filtru LoG: √ √ 3w 3w 3(2 2σ) 3(2 2σ) 3 3 × ⇔ × ⇔ 12 × 12 (5.21) ∆x ∆x ∆x ∆x π π Przyjmując minimalny rozmiar maski jako najbliższą wartość nieparzystą większą niż w wyrażeniu (5.21), otrzymujemy ostatecznie, że minimalny wymiar maski wynosi 13 × 13. Rysunek 5.4 ilustruje przykładową maskę filtru LoG dla n = 57.
Rysunek 5.5: Znormalizowana maska filtru LoG dla n = 57, σ = 6.717. Rysunek 5.5 przedstawia działanie operatora LoG o masce 27 × 27 na obrazach testowych „Korytarz ” oraz „Drzewa” (Tabela 3.4).
Rysunek 5.6: Obrazy „Koruytarz” oraz „Drzewa” przetworzone operatorem LoG o masce 27 × 27 (σ = 3.18). Linie typu plus-minus są szare, minus-plus czarne Tanaka oraz Kak [230] zaproponowali dodatkowe oznaczanie krawędzi na podstawie informacji zbieranej z lokalnego sąsiedztwa, z centrum umieszczonym w miejscu zero-przejścia operatora LoG. I tak, p oznacza przejście krawędzi od dużych wartości luminancji do małych, natomiast n przejście w ocfwrotnym kierunku, o jeżeli klasyfikacja krawędzi jest niemożliwa (np. gdy obie wartości sąsiedztwa są prawie identyczne). Rysunek 5.5 przedstawia wynik działania operatora LoG z zaznaczonymi rodzajami linii: kolorem szarym — linie typu p, kolorem czarnym — typu n. Efektywnie metoda ta pozwala na dodatkowe związanie orientacji krawędzi, która to informacja jest również używana w późniejszym procesie dopasowywania stereo-obrazów.
76
5.2 5.2.1
Lokalna strukturalność w reprezentacji tensorowej Lokalnie zorientowane sąsiedztwo w obrazie
5.2.1.1 Pojęcie lokalnego sąsiedztwa w obrazach Obserwując rzeczywiste obrazy, z łatwością dostrzegamy zawarte w nich wzory, mimo iż często jedyną zmianą zachodzącą w obrazie jest zmiana lokalnej orientacji kilku lub kilkudziesięciu sąsiadujących ze sobą pikseli. Rola jaką pełni lokalnie zorientowane sąsiedztwo pikseli w procesie rozpoznawania obrazu, została potwierdzona również przez badania fizjologiczne, przeprowadzone w ciągu ostatnich dwudziestu lat na różnych gatunkach ssaków [244][81]. Dyskusję nad wieloma rodzajami lokalnych sąsiedztw pikseli w obrazach binarnych przeprowadzili Marchand-Maillet oraz Sharaiha [158].
Rysunek 5.7: Rozpoznawanie obiektu w obrazie (litera E) na podstawie różnicy: a—intensywności między obiektem a tłem, b — dkali, c— lokalnej orientacji obrazu Obserwując Rysunek 5.6, dostrzegamy zawarty w obrazie obiekt, w postaci wzoru litery „E”, mimo że za każdym razem zmienia się inny parametr obrazu. Najbardziej naturalnym zjawiskiem pozwalającym na rozpoznawanie obiektów w obrazach jest zmiana sygnału intensywności obrazu (Rysunek 5.6a). W szczególności, niezerowy gradient wartości tego sygnału, w pewnym wyznaczonym kierunku, przenosi informacje o krawędziach, jednocześnie będąc szczególnym przypadkiem miary lokalnej orientacji [113]. Analizując następnie Rysunek 5.6b, nie dostrzegamy w nim wyraźnych krawędzi, natomiast zauważamy lokalną zmianę tekstury spowodowaną inną skalą reprezentacji obiektu w stosunku do reprezentacji tła obrazu [218]. Tym niemniej, zmiana samej skali pozwala nam precyzyjnie umiejscowić obiekt w stosunku do tła. Podobnie, obserwując Rysunek 5.6c, dochodzimy do wniosku, że to jedynie zmiana kierunkowości lokalnego sąsiedztwa pikseli pozwala nam dostrzec znajdujący się tam obiekt, którym we wszystkich przypadkach jest takiej samej wielkości litera „E”. Poczyniona w ten sposób obserwacja prowadzi do wniosku, że układ wzrokowy człowieka zaopatrzony jest w pewien rodzaj mechanizmów, pozwalających nam reagować na zmianę lokalnej orientacji kilku lub kilkudziesięciu sąsiadujących ze sobą elementów obrazowych, a następnie, na podstawie tego doświadczenia, formułować wnioski o otaczającej nas przestrzeni. 5.2.1.2 Definicja lokalnie zorientowanego sąsiedztwa Analizując Rysunek 5.7 przedstawiający fragmenty lokalnych struktur pewnych obrazów, dostrzegamy, że przy zastosowaniu różnej skali, w części z nich jesteśmy w stanie wyróżnić dominujący kierunek lokalnych zmian (c, e), w innych — kierunków jest kilka (a, b, d ), ponadto występują również przypadki, gdy określenie takiego kierunku jest niemożliwe (f ). Na podstawie dotychczasowych rozważań można stwierdzić, że idealne lokalnie zorientowane sąsiedztwo (LZS ) występuje wtedy, kiedy zmiany intensywności zachodzą tylko w jednym kierunku. Taki przypadek często określa się jako symetrię liniową, ponieważ wartości intensywności wzdłuż pewnej linii są stałe, podczas gdy w kierunku prostopadłym wykazują przeważnie dużą dynamikę zmian. Sytuację tę ilustruje poniższy rysunek. Rysunek 5.8a prezentuje fragment obrazu o wyraźnym kierunku zmian intensywności w lokalnym sąsiedztwie, natomiast Rysunek 5.8b przedstawia ten sam fragment z zaznaczonym wektorem lokalnego
77
Rysunek 5.8: Fragmenty lokalnych struktur w różnych obrazach (a — fala, b,c — faktura materiału, d — drewno, e — równomierna zmiana jasności oraz f — losowa zmiana jasności
Rysunek 5.9: Fragment obrazu o wyraźnie widocznym: a — kierunku zmian intensywności, b — ten sam fragment z zaznaczonymi wektorami kierunkowym . kierunku q(x) oraz innymi wektorami kierunkowymi a(x), b(x) oraz c(x), w pewnym punkcie lokalnego sąsiedztwa x. Jedynie wektor q(x) jest prostopadły do obszarów (linii) o stałej wartości intensywności i jest zgodny, w tym przypadku, z kierunkiem gradientu intensywności w punkcie x. Prowadząc dalszą analizę, dochodzimy do wniosku, że dobrą aproksymację lokalnej orientacji w pewnym sąsiedztwie otrzymalibyśmy, wprowadzając w pewien sposób uśrednioną wartość wektora gradientu intensywności w pewnym otoczeniu pikseli. Z drugiej jednak strony, uśrednienie gradientu po całym otoczeniu doprowadziłoby do wyzerowania takiego sygnału ze względu na różne znaki wektora gradientu w przeciwnych kierunkach — Rysunek 5.9.
Rysunek 5.10: Pewne otoczenie U punktu x0 wraz z lokalnymi gradientami w kilku wybranych punktach x0 , x1 oraz x3 . W ten sposób dochodzimy do konkluzji, że dobra miara lokalnej orientacji w pewnym otoczeniu powinna być niezmienna ze względu na rotację obrazu o kąt 180◦ . Oznacza to, że np. lokalna orientacja ułożona pod kątem 45◦ jest nieodróżnialną od lokalnej orientacji, której kąt wynosi 225◦ . Jednocześnie lokalna orientacja musi być wielkością okresową, co oznacza, że podczas monotonicznego wzrostu, po przyjęciu wartości 180◦ powinna ona ponownie osiągnąć wartość 0◦ . Połączenie powyższych stwierdzeń prowadzi do wniosku, że w przypadku reprezentacji lokalnej orientacji w postaci wektora, którego kąt może zmieniać się od 0 do 360◦ , właściwy kąt lokalnej struktury będzie reprezentowany przez podwojoną wartość kąta wektora reprezentującego. Ten ważny wniosek będzie wykorzystany w dalszych obliczeniach,
78 zmierzających do znalezienia wektora reprezentującego lokalną strukturę w obrazie. Dodatkowym, naturalnym ograniczeniem narzuconym na taką miarę jest wymóg, aby oprócz kierunku lokalnej orientacji, przenosiła ona dodatkowo informację o jakości jej oszacowania. Jest to kluczowy postulat, który pozwala na rozróżnienie obszarów anizotropowych w obrazie od obszarów z wyraźną lokalną strukturą. Wartość składowej określającej jakość oszacowania będziemy nazywać miarą spójności lub też spójnością. W ten sposób staje się możliwa selektywna interpretacja informacji niesionej przez obraz tylko w tych miejscach, w których występuje wystarczająco silna spójność. Przytoczone wcześniej postulaty, dotyczące miary określającej lokalną orientację w pewnym sąsiedztwie grupuje poniższe zestawienie: 1. Lokalną orientację powinien reprezentować wektor, którego moduł oraz kąt odpowiadają lokalnym zmianom sygnału intensywności w obrazie. 2. Miara lokalnej orientacji powinna być niezmienna ze względu na rotację obrazu o kąt 180◦ . 3. Miara lokalnej orientacji powinna być uzupełniona dodatkową informacją o jakości jej oszacowania. Analizując Rysunek 5.8, zauważamy, że po zorientowaniu jednej ze współrzędnych obrazu zgodnie z kierunkiem zmian lokalnego sąsiedztwa, kierunek ten można opisać za pomocą funkcji jednowymiarowej. W ten sposób, poprzez wyodrębnienie kierunku lokalnej struktury, został zredukowany wymiar przestrzeni reprezentacji obrazu. Dokładniej, redukcję wymiaru, w tym przypadku, możemy osiągnąć poprzez wyznaczenie iloczynu skalarnego wektora lokalnego kierunku q(x) z innymi wektorami kierunkowymi a(x), b(x) oraz c(x) w pewnym punkcie lokalnego sąsiedztwa x. Spostrzeżenia te można sformalizować przez wprowadzenie następujących definicji [81]. Definicja 5.1: Lokalne sąsiedztwo dowolnego wymiaru definiujemy jako tensor3 S → → → S(− x ) = I(− x ·− q)
(5.22)
gdzie: I — tensory, których wymiary zależą od wymiarów sygnału w obrazie i ich wartości są pewnymi funkcjami sygnału intensywności obrazu, x — wektor orientacji przestrzennej, q — stały wektor wyznaczający kierunek maksymalnej zmiany sygnału w obrazie, symbol (·) oznacza iloczyn skalarny. Wymiar tensora S, z definicji (5-22), zależy bezpośrednio od wymiaru sygnału I. I tak, dla obrazów dwuwymiarowych wymiar S wynosi 2, podczas gdy dla obrazów ruchomych wynosi on 3. Możliwe jest również rozpatrywanie sygnałów o wymiarach większych niż 3. Ponadto wielkość określająca orientację powinna spełniać postulaty zawarte w poniższych definicjach [81]. Definicja 5.2: Niezmienność tensora orientacji lokalnego sąsiedztwa N względem tensora sygnału obrazu I określona jest wzorem: δN =0 (5.23) δI 4 gdzie: δN δI — oznacza bezwzględną różniczkę N względem I, która w przypadku prostokątnego układu współrzędnych i metryki euklidesowskiej redukuje się do zwykłej pochodnej. Definicja 5.3: Zachowanie miary kąta tensora orientacji lokalnego sąsiedztwa w stosunku do przestrzeni wyjściowej reprezentacji obrazu przedstawia wzór: ˆ ∝ kδˆ kδ Nk qk
(5.24)
gdzie: N oraz x zostały znormalizowane zgodnie z zależnościami: ˆ = N N kNk
,
q ˆ=
q kqk
3 Coraz częściej do analizy związanej z przetwarzaniem obrazów, w tym również obrazów stereoskopowych, wykorzystywana jest teoria tensorów. Istnieje wiele możliwych podejść prowadzących do definicji tensorów [121] [225] [27] [195], z których najbardziej jednorodnym jest zdefiniowanie tensorów z zastosowaniem teorii rozmaitości [23] [122] [231]. Dobry wstęp do tego tematu, dostępny w języku polskim, napisał Trajdos [235]. Dodatek (9.4) tej pracy przedstawia zarys rachunku tensorowego w kontekście przetwarzania obrazów. 4 Bezwzględna różniczka tensora oznacza, że wynik różniczkowania będzie również tensorem poprzez uwzględnienie postaci zastosowanej metryki.
79 przy czym normę tensora definiuje (9.69); δ(·) oznacza różniczkę bezwzględną tensora, q jest wektorem zorientowanym zgodnie z kierunkiem największych zmian sygnału w pewnym lokalnym sąsiedztwie. Definicja 5.2 określa niezmienność tensora orientacji lokalnego sąsiedztwa od postaci funkcji reprezentującej sygnał obrazu, co oznacza, że możliwe jest, aby różne reprezentacje sygnału obrazu dawały taki sam tensor orientacji lokalnego sąsiedztwa. Sytuację taką ilustruje poniższy rysunek.
Rysunek 5.11: Dwie różne reprezentacje sygnału dające taki sam tensor kierunku lokalnej orientacji. Definicja 5.3 oznacza z kolei, że zmiana kierunku wektora orientacji lokalnego sąsiedztwa pociąga za sobą, proporcjonalną do tej zmiany, zmianę tensora orientacji lokalnego sąsiedztwa. Sytuację tę obrazuje poniższy rysunek.
Rysunek 5.12: Zmiana sygnału obrazu z (a) do (b) wywołuje proporcjonalną zmianę kierunku tensora lokalnej orientacji.
Definicja 5.4: Tensor orientacji lokalnego sąsiedztwa określony jest następującą zależnością [81]: N ≡ CqqT
(5.25)
gdzie: C stała większa od O, q wektor kolumnowy zorientowany zgodnie z kierunkiem największych zmian sygnału w pewnym lokalnym sąsiedztwie. Łatwo wykazać, że (5.25) jest tensorem rzędu drugiego. W tym celu sprawdzamy zachowanie (5.25) przy przejściu z pewnego układu współrzędnych K, do nowego układu współrzędnych K 0 (9.4.1). Bezpośrednio z (5.25) otrzymujemy:
qi0 = αi0 l ql
Nij = Cqi qj , przy czym αi0 l ≡
∂xl ∂xi0
(5.26) (5.27)
W kartezjańskim układzie współrzędnych, αi0 l można interpretować jako cosinus kąta pomiędzy i-tą osią współrzędnych układu K 0 , a l-tą osią układu K. Stąd też (5.26) w układzie K 0 , po uwzględnieniu (5.27), wyraża się zależnością: 0 Nij = Cαi0 l ql αj 0 k qk = αi0 l αj 0 k Cql qk = αi0 l αj 0 k Nlk
(5.28)
80 Z kolei (5.28) jest już klasycznym równaniem transformacji tensorów rzędu drugiego [27] [122] [195], co kończy dowód. W przypadku gdy q jest wektorem lokalnego gradientu, wtedy tensor N, wyrażony zależnością (5.25), jest tensorem kowariantnym drugiego rzędu. Własność tę otrzymujemy z (5.26), wychodząc z układu współrzędnych K 0 : ∂f ∂f ∂f ∂xk ∂f ∂xl ∂f ∂f = = αik0 αjl 0 k l (5.29) ∂x0 i ∂x0 j ∂xk ∂x0 i ∂xl ∂x0 j ∂x ∂x k
∂x gdzie: f jest pewną funkcją ciągłą, natomiast αik0 ≡ ∂x 0 i są kowariantymi współczynnikami transformacyjnymi. Widać, że równanie (5.29) jest zgodne z prawem transformacji dla tensorów kowariantnych (9.4.1), co jednocześnie kończy dowód. Oczywiście, jak dla każdego tensora, możliwe jest również znalezienie odpowiadających (5.26) oraz (5.29) współrzędnych kontrawariantnych.
Twierdzenie 5-1: Tensor N zdefiniowany przez (5.25) spełnia postulaty (5.23) oraz (5.24). Dowód pierwszej zależności wynika wprost z postaci tensora N, danej zależnością (5.25), gdyż w (5.25) q nie zależy do I. W praktyce jednak, po przyjęciu, że q jest np. wektorem gradientu w obrazie, postulat (5.23) jest spełniony tylko częściowo. Aby wykazać warunek zachowania miary kąta dla tensora orientacji lokalnego sąsiedztwa, określonego zależnością (5.25), w stosunku do przestrzeni wyjściowej reprezentacji obrazu, definiujemy pewien tensor H, określony poniższą zależnością: H = lim
→0
N(ˆ q + ˆ r) − N(ˆ q)
(5.30)
gdzie: jest pewną wielkością infinitezymalną, natomiast q ˆ oznacza unormowany, zgodnie z (9.69), wektor orientacji q, występujący w definicji (5.25). Do wektora q został dodany pewien wektor ˆ r, do niego prostopadły, co z kolei implikuje następującą równość: g ˆ ·ˆ r=0
(5.31)
Nowy wektor q ˆ + ˆ r, jest więc obrócony w stosunku do wektora q o pewien kąt. Na podstawie (5.24) oraz (5.30) stwierdzamy, że: ˆ ∝ kHkkδˆ kδ Nk qk
(5.32)
Korzystając z (5.30), obliczamy teraz, występującą w (5.32), normę kHk: C(ˆ q + ˆ r)(ˆ q + ˆ r)T − Cˆ qq ˆT = →0 q ˆq ˆT + q ˆˆ rT + ˆ rq ˆT + 2ˆ rˆ rT − q ˆq ˆT C lim = C(ˆ qˆ rT + ˆ rq ˆT ) →0 H = lim
(5.33)
Wartości własne H znajdujemy, obliczając iloczyny H, dane zależnością (5.33), z wektorami q ˆ +ˆ r oraz q ˆ −ˆ r: H(ˆ q+ˆ r) = C(ˆ qˆ rT + ˆ rq ˆT )(ˆ q+ˆ r) = C(ˆ qˆ rT q ˆ+q ˆˆ rT ˆ r+ˆ rq ˆT q ˆ +ˆ rq ˆT ˆ r) = =C q ˆ(ˆ r·q ˆ) + q ˆ(ˆ r·ˆ r) + ˆ r(ˆ q·q ˆ) + ˆ r(ˆ q·ˆ r) = C(ˆ q+ˆ r)
(5.34)
i analogicznie: H(ˆ q−ˆ r) = −C(ˆ q−ˆ r)
(5.35)
W tym przypadku korzystaliśmy z zależności: q ˆ ·ˆ r=q ˆT ˆ r, wynikającej bezpośrednio z definicji iloczynu skalarnego. Stąd też, dla tensora H, otrzymujemy dwie wartości własne: C oraz −C. Korzystając teraz z równości (9.69), otrzymujemy wyrażenie na normę H, w postaci: √ kHk = 2C (5.36) która nie zależy od q, co po uwzględnieniu (5.32), ostatecznie dowodzi (5.24).
81 Warto zauważyć również, że wprowadzone pojęcia sąsiedztwa i kierunkowości można łatwo rozszerzyć na większą liczbę wymiarów niż dwa, to znaczy np. na obrazy ruchome [81] [94] [95] [113] [116]. Załóżmy teraz, że sygnał luminancji jest sygnałem ciągłym i określonym w każdym punkcie pewnej dziedziny. Reprezentacja ta, w wybranych punktach zbioru przeliczalnego, przybiera dokładnie takie same wartości jak dyskretny sygnał wejściowy. Wybierając teraz pewien piksel obrazu x0 oraz jego otoczenie U , a także przypisując każdemu pikselowi x z tego otoczenia pewien wektor q(x) zawierający informacje o lokalnej strukturze5 , można bez względu na znak wektora q(x) estymować wektor lokalnej orientacji 6 w(x0 ) w punkcie x0 , wprowadzając symetryczny tensor [81] [113] [94] [95] [115]: Z → − → − → → → → T(x0 ) = q (− x )− q T (− x )d− x (5.37) U
gdzie: q(x)q T (x) oznacza iloczyn zewnętrzny wektorów7 , U jest pewnym otoczeniem lokalnym (Rysunek 5.9) punktu x0 , natomiast składowe powyższego tensora wyrażają się zależnością: Z → → → Tij = qi (− x )qj (− x )d− x (5.38) U
Ponieważ w tensorze (5.37) występuje iloczyn zewnętrzny wektorów, który stanowi pewną formę kwadratową, tensor ten jest niezmienny ze względu na rotację wektorów o kąt 180◦ , co jest zgodne z postulatem 2. Rozważmy wszystkie wektory q(x), określone dla wszystkich punktów x ∈ U (x0 ), będące reprezentacją lokalnej struktury w tym sąsiedztwie. Szukany dla tego punktu wektor w(x0 ) będzie wektorem najbardziej „zgodnym” ze wszystkimi wektorami q(x). Jako miarę porównania zgodności wektorów przyjmujemy ich iloczyn skalarny. Wektor w(x0 ) jest więc estymatorem uśrednionej orientacji w pewnym lokalnym sąsiedztwie U (x0 ) punktu x0 , który maksymalizuje poniższe wyrażenie: Z → →0 )2 d− → Q= q T (− x )w(− x x (5.39) U (x0 )
Kwadrat iloczynu skalarnego w wyrażeniu (5.39) zapewnienia, że ułożenie wektorów równoległe będzie uśredniane w taki sam sposób jak ułożenie antyrównoległe, co z kolei gwarantuje spełnienie wspomnianego postulatu 2. Po uwzględnieniu wprowadzonego w (5.37) tensora T można powyższy warunek zapisać jako: → → max(Q) = max(− w T T− w) w
w
(5.40)
Wiadomo z algebry liniowej, że wyrażenie (5.40) osiąga maksimum, gdy wektor w jest wektorem własnym T, odpowiadającym maksymalnej wartości własnej. W ten sposób poszukiwanie wektora orientacji w lokalnym sąsiedztwie sprowadzone zostało do problemu analizy wartości i wektorów własnych tensora T. Ponieważ tensor (5.37) jest symetryczny, więc spełnione są następujące zależności obowiązujące dla macierzy hermitowskich [80] [117]: 1. Wszystkie wartości własne są rzeczywiste i nieujemne. 2. Wektory własne tworzą bazę ortogonalną. Składowe tensora (5.37) można przedstawić w postaci struktury: Txx Txy T= Tyx Tyy
(5.41)
5 Wprowadzając zapis tensorowy, piksele utożsamiamy z pewnymi wektorami, które je reprezentują w danym układzie współrzędnych. W ten sposób operujemy na pewnym polu wektorowym. Jednocześnie, wprowadzenie rachunku tensorowego uwalnia nas od definiowania a priori układu współrzędnych. 6 Wektor oraz macierz są szczególnymi przypadkami ogólniejszego, w-wymiarowego tensora rzędu n, którego specyfikacja wymaga podania mn składowych (9.4). 7 Zakładamy tutaj, że q(x) jest reprezentowany jako wektor kolumnowy.
82 W celu znalezienia wektora w obliczamy wartości własne (5.41) z wielomianu charakterystycznego macierzy, który przyjmuje postać [117] [80]: T −λ Txy = φ(λ) = det [T − λl2 ] = xx Txy Ryy − λ 2 = λ2 − λ(Txx + Tyy ) + (Txx Tyy − Txy )=0
(5.42)
gdzie: λ oznacza wartość własną, l2 jest macierzą jednostkową o wymiarze 2. W przypadku dwuwymiarowym φ(λ) przedstawia równanie kwadratowe, którego rozwiązanie znajdujemy w postaci analitycznej: √ 2 (Txx +Tyy )+ (Txx −Tyy )2 +4Txy λ1 = (5.43) 2 √ 2 2 (Txx +Tyy )− (Txx −Tyy ) +4Txy λ2 = 2 Z zależności (5.43) wynika dodatkowo, że: λ1 + λ2 = Txx + Tyy = T r(T) q 2 λ1 − λ2 = (Txx − Tyy )2 + 4Txy
(5.44) (5.45)
gdzie: T r(T) oznacza tzw. ślad macierzy8 T, który jest niezmiennikiem względem każdego przekształcenia przez podobieństwo. To ostatnie stwierdzenie wynika wprost z (5.44) oraz twierdzenia, które mówi, że macierze podobne A i B, tzn. związane zależnością B = PAP−1 dla pewnej nieosobliwej macierzy P, mają takie same wartości własne [117]. Oznacza to również, że T r(T) jest niezmiennikiem ze względu na obrót. Mając na uwadze wcześniej przytoczone własności macierzy hermitowskich, możemy teraz dokonać analizy dwóch przypadków specjalnych: 1. Równe wartości własne — warunek otrzymujemy bezpośrednio z (5.43) w postaci: λ1 = λ2
⇔
(Txx = Tyy ∧ Txy = 0)
(5.46)
W szczególnym zaś przypadku, gdy obie wartości własne się zerują oznacza to, że: λ1 = λ2 = 0
⇔
Txx = Tyy = 0
(5.47)
2. Różne wartości własne, jedna z nich równa zeru. λ2 = 0
⇔
det(T) = 0 ∧ λ1 = T r(T)
(5.48)
Na podstawie zależności od (5.43) do (5.48) można dokonać klasyfikacji lokalnej struktury. Podział ten zawiera Tabela 5.1, gdzie w kolumnie pierwszej uwzględniony został również rząd T, który zmniejsza się o jeden wraz z każdą wartością własną, która osiąga zero. Przypadek, gdy rząd T jest równy O, co odpowiada jednolitej wartości sygnału intensywności w całym lokalnym sąsiedztwie, można znaleźć wyłącznie poprzez analizę śladu (5.44) macierzy T, bez konieczności wyznaczania jej wartości własnych. Ten wniosek został wykorzystany podczas implementacji algorytmu wyznaczającego orientację w lokalnej strukturze (5.2.1.3). W celu wyznaczenia wektorów własnych T, odpowiadających wartościom własnym (5.43), korzystamy z twierdzenia, które mówi, że prawostronne wektory własne są niezerowymi kolumnami macierzy dołączonej postaci [T − λl]ad [117]. Stąd też otrzymujemy: a1 b1 Tyy − λi −Txy a b = = [T − λi l2 ]ad = (5.49) a2 b2 −Txy Txx − λi gdzie a i b są zależnymi liniowo wektorami własnymi, λi oznacza jedną z dwóch wartości własnych. Po uwzględnieniu (5.43) otrzymujemy: √ 2 (Tyy −Txx )± (Txx −Tyy )2 +4Txy a1 b1 −T 2 √ xy (5.50) = 2 −(Tyy −Txx )± (Txx −Tyy )2 +4Txy a2 b2 −Txy 2 8 Tensor
T możemy również traktować jak macierz.
83
Tabela 5.1: Klasyfikacja typów lokalnych struktur w obrazie w zależności od wartości własnych tensora T. Wartości własne
Rząd T
Typ lokalnej struktury w obrazie
0
λ1 = λ2 = 0
1
λ1 > 0 , λ2 = 0
2
λ1 > 0 , λ2 > 0
2
λ1 = λ2 > 0
Stała wartość intensywności w obrazie (brak zmian). Ślad macierzy T r(T) dany równością (5.44) również wynosi 0. Wartości intensywności w obrazie nie zmieniają się w kierunku odpowiadającym zerowej wartości własnej. Zmieniają się one jednak w kierunku związanym przez drugą wartość własną. Oznacza to idealną kierunkowość lokalnej struktury w obrazie. W przypadku, gdy wektor q występujący w (5.37) jest wektorem gradientu intensywności, wektor własny odpowiadający niezerowej wartości własnej wskazuje kierunek największych zmian sygnału intensywności w obrazie. Obydwie wartości własne różne od zera oznaczają zachodzenie zmian sygnału intensywności we wszystkich kierunkach. Zmiany są dominujące w jednym kierunku, jeżeli jedna z wartości własnych różni się znacznie od drugiej. W tym szczególnym przypadku występowania orientacji w sąsiedztwie pikseli, obydwie wartości własne są równe i różne od zera, co oznacza zachodzenie zmian sygnału intensywności we wszystkich kierunkach w jednakowy sposób. Odpowiada to idealnej strukturze izotropowej w rozważanym lokalnym sąsiedztwie.
Występujący w (5-50) znak + lub - przed symbolem pierwiastka jest wybierany w zależności od wartości własnej, zgodnie z (5-43). Jak już wspomniano wcześniej, ze względu na postulat 2, szukany kąt wektora lokalnej struktury zmienia się tak, jak podwojony kąt wektora własnego odpowiadającego największej wartości własnej, oznaczany dalej przez ξ. Przy tych założeniach, szukamy wektora reprezentującego lokalną strukturę, którego kąt zmienia się jak 2ξ. Aby znaleźć wartość tego kąta, policzymy tangens kąta wektora własnego, a następnie podstawimy go do zależności na tangens kąta podwojonego: tg(2ξ) =
2 tg(ξ) 1 − tg2 (ξ)
,
tg(ξ) 6= 1
(5.51)
Przyjmując teraz definicję funkcji tangens dla dowolnego kąta [145], dla wektora własnego a (5.49) otrzymujemy9 : 2a1 a2 tg(2ξ) = 2 , a1 6= a2 (5.52) a1 − a22 Podstawiając (5.50) do (5.52) otrzymujemy rozwiązanie w postaci: tg(2ξ) =
(5.53) h
i q 2 −4Txy (Tyy − Txx ) ± (Txx − Tyy )2 + 4Txy q = = 2 + (T 2 2 2 (Tyy − Txx )2 ± 2(Tyy − Txx ) (Txx − Tyy )2 + 4Txy yy − Txx ) + 4Txy − 4Txy h i q 2 2 −4Txy (Tyy − Txx ) ± (Txx − Tyy )2 + 4Txy 2Txy h i= q = , Txx 6= Tyy Txx − T yy 2(T − T ) (T − T ) ± (T − T )2 + 4T 2 yy
xx
yy
xx
xx
yy
xy
Można zauważyć, że bez względu na wybraną wartość własną, rozróżnianą znakiem + lub − przed znakiem pierwiastka w (5.50), otrzymujemy tę samą wartość tg(2ξ). Dzieje się tak dlatego, że obydwie wartości własne odpowiadają wektorom wzajemnie ortogonalnym, co przedstawia poniższy rysunek oraz wyjaśnia zależność (5.54). 9 Wybór
wektora b prowadzi do tego samego wyniku, gdyż a oraz b są wektorami zależnymi liniowo.
84
Rysunek 5.13: Ortogonalne wektory własne. η = ξ + 90◦ tg(2η) = tg(2ξ + 180◦ ) = tg(2ξ)
(5.54)
gdzie: ξ, η są kątami wektorów własnych pλ1 oraz pλ2 , odpowiadających wartościom własnym λ1 oraz λ2 . Wartości funkcji tangens, dla podwojonych wartości tych kątów, są sobie równe ze względu na właściwości tej funkcji. Definiując teraz kąt θ = 2 = xi wektora lokalnej struktury w, w odniesieniu do kartezjańskiego układu współrzędnych związanego z obrazem, możemy dokonać następującej interpretacji: tg θ = tg(2ξ) =
2Txy w2 = Txx − Tyy w1
,
Txx 6= Tyy
(5.55)
W ten sposób otrzymujemy współrzędne szukanego wektora w reprezentującego lokalną strukturę w obrazie: w1 Txx − Tyy w= = (5.56) w2 2Txy Alternatywnie, można poszukać przekształcenia dokonującego rotacji układu współrzędnych obrazu tak, aby jego nowe osie były zgodne z kierunkami ortogonalnych wektorów własnych, odpowiadających obydwu wartościom własnym. Podwojony kąt tego obrotu jest szukanym kątem wektora opisującego lokalną strukturę [113] [94]. Uzupełniając wektor orientacji w (5.56) o trzeci składnik w postaci T r(T), jesteśmy w stanie na jego podstawie odróżnić przypadek, gdy λ1 = λ2 = 0, kiedy to występuje wyłącznie stały sygnał intensywności, od przypadku: λ1 = λ2 > 0, który odpowiada iealnie izotropowej strukturze w lokalnym sąsiedztwie (Tabela 5.1). W ten sposób wektor orientacji uzupełniony zostaje o miarę spójności zgodnie z postulatem 3. I tak otrzymujemy ostatecznie: Txx + Tyy T r(T) w0 = = Txx − Tyy (5.57) w 2Txy Do szacowania miary spójności w lokalnym sąsiedztwie można wykorzystać współczynnik spójności c, zdefiniowany następująco [113]: λ1 −λ2 2 = kwk2 , T r(T) 6= 0 2 λ1 +λ2 (5.58) c= T r(T) 0 , T r(T) = 0 W (5.58) wykorzystujemy wspomniany już fakt, że T r(T) jest niezmiennikiem ze względu na obrót (9.4.2.5). Współczynnik c przyjmuje wartości od 0, dla idealnej struktury izotropowej lub struktury ze stałą wartością sygnału intensywności, do 1 dla struktury idealnie kierunkowej (Tabela 5.1). W przypadku gdy T r(T) = 0, mamy do czynienia ze strukturą o stałej wartości sygnału intensywności. W przypadku gdy kwk i T r(T) 6= 0, mamy do czynienia ze strukturą o zmiennej intensywności, ale bez wyraźnego kierunku.
85 5.2.1.3 Znajdowanie tensorowej reprezentacji LZS w obrazach rzeczywistych Przyjmując w (5.37) za wektor q wektor lokalnego gradientu z sygnału intensywności, tensor (5.37) możemy zapisać w postaci: Z Z +∞ −→ − −T → − → −→ → − →T → − →0 ) = → → T(− x ∇I(→ x ) ∇ I(− x )d→ x = h(− x0−− x )∇I(− x ) ∇ I(− x )d→ x (5.59) −∞
U
gdzie: ∇I(x) jest wektorem gradientu sygnału intensywności I w obrazie10 , h(x) jest pewną funkcją okienkową, która modeluje lokalne otoczenie U , o środku w punkcie x0 . W ten sposób składowe tensora T przyjmują postać: Z +∞ → → ∂I(− x ) ∂I(− x) − → → Tij = h(− x0−− x) d→ x (5.60) ∂x ∂x i j −∞ gdzie: ∂I(x) ∂xk oznacza pochodną cząstkową z funkcji sygnału intensywności w kierunku k-tej osi. Analizując postać (5.60) łatwo zauważyć, że dokonywana jest tu operacja splotu liniowego pewnej funkcji okienkowej z iloczynem gradientów funkcji sygnału intensywności. Wracając teraz do wartości dyskretnych intensywności w obrazie, dyskretne składowe tensora orientacji lokalnej struktury możemy aproksymować poprzez złożenie iloczynu dwóch operacji dyskretnego różniczkowania ze splotem z pewną maskąfiltru uśredniającego: Tˆij = F (Ri Rj ) (5.61) gdzie: Tˆij oznacza dyskretną składową tensora orientacji lokalnej struktury, F jest operatorem uśredniającym w pewnym lokalnym otoczeniu pikseli, Rk reprezentuje dyskretny operator różniczkujący w kierunku współrzędnej k-tej. Operacja Ri Rj oznacza mnożenie odpowiadających sobie wartości pikseli. Pozostaje problem wyboru praktycznych operatorów różniczkowania oraz uśredniania, które zastosowane zgodnie z (5.61) pozwolą na wyznaczenie dyskretnych składowych tensora. 5.2.1.3.1 Dyskretny operator różniczkujący Najczęściej stosowaną metodą przejścia z różniczkowania funkcji ciągłej do funkcji dyskretnej jest aproksymacja operacji różniczkowania operacją różnicową: ∂I(X1 , x2 ) I(x1 + ∆x1 , x2 ) − I(x1 − ∆x1 , x2 ) ≈ ∂x1 2∆x1 Równanie powyższe bezpośrednio prowadzi do pary masek symetrycznych filtrów: −1 1 1 −1 0 1 Rx = , Ry = 0 2 2 1
(5.62)
(5.63)
W praktyce dobrymi właściwościami kierunkowymi charakteryzują się filtry dokonujące oprócz różniczkowania, jednoczesnego uśredniania w kierunku prostopadłym do kierunku różniczkowania [49] [113] [115]. Przykładem takiego filtru jest detektor z maską Sobela w postaci: 1 0 −1 1 2 1 1 1 0 0 Rx = 2 0 −2 , Ry = 0 (5.64) 8 8 1 0 −1 −1 −2 −1 Zoptymalizowany pod względem dokładności w odtworzeniu kierunkowości gradientu sygnału, wariant filtru Sobela zaprezentował J¨ ahne [113]: 3 0 −3 3 10 3 1 1 10 0 −10 , Ry = 0 0 0 Rx = (5.65) 32 32 3 0 −3 −3 −10 −3 W celu wyznaczenia właściwych operatorów różniczkowania dla dyskretnych sygnałów wejściowych, którymi są wartości sygnału luminancji w cyfrowych obrazach stereoskopowych, można zastosować podejście bazujące na wcześniejszej interpolacji sygnału dyskretnego w celu otrzymania pewnej funkcji ciągłej, 10 Zdefiniowany
np. zgodnie z (7.13).
86 jej różniczkowanie, a następnie ponowne próbkowanie w tych samych punktach, w których wcześniej była próbkowana funkcja wyjściowa. Podejście takie zaproponował Simoncelli [212][213]: " !# X d d X dA I(n) ≡ I(m)A(x − m) = I(m) (n − m) = (5.66) dx dx m dx m x=n X = I(m)h(n − m) = I(n) ∗ h(n) m
gdzie: I(n) jest ciągiem dyskretnym, A(x) jest pewną ciągłą funkcją interpolującą, h(n) jest ciągiem powstałym ze spróbkowania pochodnej funkcji interpolującej A(x), operator ∗ oznacza dyskretny splot. Tak więc, operacja różniczkowania funkcji dyskretnej, o wartościach wyrażonych dyskretnym ciągiem I(n), może być przedstawiona jako dyskretny splot tego ciągu z ciągiem interpolującym, którego wartości są próbkami dyskretnymi pochodnej pewnej funkcji ciągłej. Przyjęcie w (5.66) kwadratowej funkcji interpolującej prowadzi bezpośrednio do (5.62). Ciąg interpolujący stanowi rodzaj filtru cyfrowego. Problemem okazuje się długość ciągu interpolującego h(n), który w (5.66) występuje jako ciąg nieskończony. Jeżeli zostanie on z powodów praktycznych silnie skrócony, to spowoduje to wystąpienie błędu w interpolacji. W praktyce, do przetwarzania obrazów wykorzystujemy filtry dwu- i więcej wymiarowe. W tym przypadku Simoncelli proponuje podział wspomnianego filtru różniczkującego na dwa separowalne11 filtry jednowymiarowe: symetryczny filtr wstępny (ang. prefilter ) pk oraz antysymetryczny filtr różniczkujący dk . Gradient w kierunku horyzontalnym obliczany jest jako splot z wertykalnym filtrem wstępnym oraz horyzontalnym filtrem różniczkującym. Gradient w kierunku wertykalnym obliczany jest w sposób przeciwny, to znaczy jako splot z horyzontalnym filtrem wstępnym oraz wertykalnym filtrem różniczkującym. Zaproponowane maski sparowanych filtrów wstępnych wraz z różniczkującymi o rozmiarach 3 oraz 5 mają postać: 0.224298 0.551580 0.224298 p3 = (5.67) −0.455271 0 0.455271 d3 = 0.035697 0.248874 0.430855 0.248874 0.035697 p5 = 0.107663 −0.282671 0 0.282671 −0.107663 d5 = Podobne podejście do Simoncellego zaproponował Jahne, tyle że z wykorzystaniem transformaty Bspline [115]. Inne podejście do problemu różniczkowania dyskretnych danych zawierają prace Carlssona [33] [34]. Zastosował on stochastyczny model danych w celu opracowania zestawu filtrów dokonujących różniczkowania danych dyskretnych z odpowiednią dokładnością, a jednocześnie wystarczająco odpornych na szum. 5.2.1.3.2 Dyskretny operator uśredniający Wybór dyskretnego operatora uśredniającego F do obliczania składowych tensora strukturalnego (5.61) uwarunkowany był pewnymi wymaganiami, a mianowicie, filtr ten powinien: 1. być cyfrowy i mieć charakterystykę dolnoprzepustową, 2. nie wprowadzać przesunięcia żadnej składowej okresowej obrazu, 3. zachowywać średnią w filtrowanym oknie obrazu, 4. cechować się jak najbardziej izotropową charakterystyką, co oznacza, jednakową filtrację we wszystkich kierunkach, 5. charakteryzować się małą złożonością obliczeniową, 6. posiadać możliwość późniejszego zastosowania filtru podczas fazy agregacji funkcji kosztu (6.2.8). 11 Możliwość separacji, np. filtru dwuwymiarowego, tak aby filtrację dało się przeprowadzić w postaci złożenia dwóch operacji splotu — jednej w kierunku horyzontalnym, a drugiej w wertykalnym — powoduje znaczne zmniejszenie złożoności obliczeniowej takiej operacji. W przypadku filtru opisanego macierzą 3 × 3, warunkiem koniecznym i wystarczającym separowalności filtru jest, aby jego macierz była rzędu pierwszego [124].
87 Spełnienie wymagania, aby filtr nie powodował przesunięcia fazowego, sprowadza się do zagwarantowania rzeczywistej odpowiedzi impulsowej filtru, co oznacza, że musi on posiadać symetryczną maskę. Dalej, aby zachować średnią w filtrowanym oknie, odpowiedź filtru dla składowej stałej powinna wynosić 1, tzn. składowa stała jest przenoszona bez zmian. W praktyce oznacza to, że suma wszystkich współczynników maski filtrów powinna wynosić 1. Po uwzględnieniu dodatkowych wymagań odnośnie separowalności filtru oraz małej złożoności obliczeniowej, został wybrany filtr typu dwumianowego [124], Jednowymiarowa maska Fi tego filtru powstaje w wyniku k-krotnego splotu maski podstawowej F0 : Fi1 =
1 1 2
1
...
Fik = Fi1 ∗ Fi1 . . . ∗ Fi1 {z } |
(5.68)
k razy
gdzie: i oznacza kierunek filtru. Współczynniki tego filtru, które dla kilku pierwszych wartości rzędu filtru zawiera poniższa tabela, łatwo wyznaczyć na podstawie tzw. trójkąta Pascala12 i nie muszą być one przechowywane w pamięci komputera. Tabela 5.2: Współczynniki jednowymiarowego filtru dwumianowego. Rząd filtru k 0 1 2 3 4
Wspólny mnożnik współczynników filtrów 1 1/2 1/4 1/8 1/16
Współczynniki filtru dwumianowego 1 11 121 1331 14641
Dwumianowy filtr dwuwymiarowy, potrzebny jako operator uśredniający wyniki iloczynu filtrów różniczkujących, otrzymujemy jako splot dwóch masek jednowymiarowych postaci (5.68), z tym że dla kierunku wertykalnego maska musi być transponowana. 5.2.1.4 Tensorowy operator struktury lokalnego sąsiedztwa do korelowania obrazów stereoskopowych Zdefiniowany przez (5.57) wektor reprezentujący lokalną orientację w pewnym sąsiedztwie, po dodatkowym przetworzeniu, posłuży jako główna miara na etapie wyznaczania funkcji kosztu dopasowania w procesie korelowania obrazów stereoskopowych z wykorzystaniem tensora strukturalnego (6.2.6). Główną zaletą tego operatora jest możliwość oszacowania pewnej miary stopnia wiarygodności w postaci współczynnika spójności c (5.58). Tym samym wprowadzona zostaje reguła pozwalająca na wykrycie i przeprowadzenie procesu dopasowywania wyłącznie w obszarach, dla których przenoszona przez wektor w informacja jest wiarygodna. Pozostałe obszary muszą być przetworzone w inny sposób. Proces ten można traktować jako rodzaj wnioskowania rozmytego (ang. fuzzy reasoning), gdyż ze względu na charakter miary spójności możemy bezpośrednio związać stopień wiarygodności dopasowania punktów z tą miarą. Możliwość taka stanowi dodatkową zaletę w procesie dopasowywania poszczególnych par odpowiadających sobie punktów w obu stereo-obrazach, gdyż pozwala na znaczną eliminację fałszywych dopasowań bez konieczności określania wartości progowych, tak jak to ma miejsce w przypadku innych algorytmów stereowizyjnych. W większości przypadków wartości takie muszą być silnie skorelowane z treścią i rozdzielczością dopasowywanych obrazów, tym samym ograniczając możliwości automatycznego stosowania takiego algorytmu bez ingerencji człowieka w jego przebieg. Możliwość uzupełnienia algorytmu miarą stopnia wiarygodności w funkcji kosztu odróżnia jakościowo algorytm tensorowy od algorytmu opartego wyłącznie na dopasowywaniu dyskretnych gradientów intensywności (7.2.4). Do przetwarzania obrazów stereowizyjnych, jako wektor q, występujący w (5.37), przyjęto wektor określający gradient sygnału intensywności w obrazie (7.2.4). Obliczenia tensora dla obrazów dyskretnych przeprowadzane były zgodnie z (5.61), z wykorzystaniem operatorów dyskretnego różniczkowania 12 Współczynniki
filtru dwumianowego można wyznaczyć bezpośrednio również z dwumianu Newtona.
88 (5.2.1.3.1) oraz dwumianowego operatora dyskretnego uśredniania (5.2.1.3.2). Wprowadzony również został równoważny do tensora w0 (5.57) tensor lokalnej orientacji zdefiniowany w następujący sposób: 6 w s = Txx + Tyy (5.69) c gdzie: Txx + Tyy jest sumą składowych dyskretnego tensora lokalnej struktury, obliczonego zgodnie z (5.61), c jest miarą spójności w rozpatrywanym obszarze, po zamianie składowych ciągłych dyskretnymi (5-58), natomiast 6 w oznacza kąt wektora w, zdefiniowany w następujący sposób: ˆ i 2Txy , Tˆxx 6= Tˆyy arc tg Tˆxx −Tˆyy 6 w = π (5.70) , Tˆxx = Tˆyy ∧ Tˆxy 0 2π ˆ ˆ ˆ , Txx = Tyy ∧ Txy < 0 − 2
Po przyjęciu, że wektor q jest wektorem gradientu sygnału intensywności w obrazie, drugą ze składowych (5.69) można interpretować jako uśredniony kwadrat modułu gradientu, gdyż zachodzi: k∇Ik2 = ∇2x I + ∇2y I Z Z Z 2 − 2 → → − → k∇Ik d x = ∇x Id x + ∇2y Id− x = Txx + Tyy = T r(T) U
U
(5.71)
U 0
Tensor s okazał się dogodniejszy niż w (5.57) do zastosowania w funkcji kosztu dopasowania (6.2.6) ze względu na bezpośrednią możliwość interpretacji zawartości strukturalnej w obrazie. W wyniku testów okazało się również, że możliwe są dalsze modyfikacje sposobów wykorzystania tensora lokalnej struktury w postaci (5.69) do przetwarzania obrazów stereoskopowych: • Zakładając, że rozdzielczość lokalnych struktur wyodrębnionych przez tensor jest mniejsza niż rozdzielczość samego obrazu, możliwe jest przechowywanie składowych tensora strukturalnego dla mniejszej liczby punktów niż to ma miejsce w przypadku obrazu wyjściowego. W praktyce oznacza to znaczne oszczędności miejsca, co jest szczególnie istotne w przypadku algorytmów stereowizyjnych typu KPD (4.4). • Wyznaczenie tensora s (5.69) wymaga dodatkowych obliczeń po znalezieniu składowych dyskretnych Tˆij (5.61). Bezpośrednia analiza śladu T pozwala na wstępny podział obszarów, w których występuje stała wartość intensywności w obrazie, a co za tym idzie, muszą być one przetwarzane w odmienny sposób. W tym przypadku ślad ten wynosi zero, co odpowiada również zerowemu rzędowi tej macierzy (Tabela 5.1). W konsekwencji, tensor s wyznaczamy tylko w miejscach, w których ślad T jest niezerowy.
5.2.2
Implementacja oraz złożoność obliczeniowa
Złożoność obliczeniowa, związana z wyznaczaniem wartości tensora dla punktów obrazowych, w bezpośredni sposób przyczynia się do ogólnej złożoności prezentowanego w (6.2.10) algorytmu stereowizyjnego, bazującego na tensorze strukturalnym. Oszacowania złożoności obliczeniowej algorytmu wyznaczania tensora strukturalnego dokonujemy przy założeniu użycia opisanych wcześniej dyskretnych filtrów różniczkujących oraz filtru uśredniającego. W ten sposób na każdy piksel przypada stała liczba operacji, dlatego też złożoność obliczeniowa jest liniowa ze względu na liczbę elementów obrazowych i wynosi: O(N M )
(5.72)
gdzie rozdzielczość obrazu wynosi N × M pikseli.
5.2.3
Wyniki eksperymentalne
Wizualizację lokalnego sąsiedztwa najłatwiej przedstawić w postaci kolorowego obrazu w przestrzeni HSI [113] [115], w której model barw wpisany jest w ostrosłup sześciokątny [67]. Układ współrzędnych jest układem cylindrycznym o osiach: H — odcień barwy, S — nasycenie oraz I — natężenie. Odcień
89 barwy H mierzony jest za pomocą kąta względem osi S. Nasycenie S oraz natężenie I są wartościami z zakresu 0 do 7. Więcej informacji na temat modelu HSI wraz z algorytmami konwersji do i z przestrzeni RGB można znaleźć w [67] [123] [124] [176]. Wartości tensora13 s (5.69) lokalnej struktury są mapowane w wartości H, S oraz I, w następujący sposób: w→H c→S Txx + Tyy → I 6
(5.73)
W ten sposób otrzymujemy łatwą w interpretacji wizualizację postaci tensora strukturalnego dla rzeczywistego obrazu.
Rysunek 5.14: Ostrosłup barw w modelu HSI.
Rysunek 5.15: Obraz testowy „Kwadraty”. Wyniki działania implementacji tensora strukturalnego dla rzeczywistych obrazów prezentują dalsze rysunki w tym rozdziale. Rysunek 5.15 oraz Rysunek 5.16 przedstawiają rzeczywiste wartości tensora strukturalnego, wyrażone w zakresie możliwym dla jednobajtowych obrazów monochromatycznych, czyli od 0 do 255 włącznie. 13 Określanego
dalej jako wektor s.
90 Rysunek 5.19 wizualizuje wektora strukturalnego s w przestrzeni HSI. Różne wartości kolorów krawędzi reprezentują ich nachylenie w obrazie. Łatwo zauważyć, że nachylenie to wyznaczone jest z dokładnością do obrotu o 180◦ , co jest zgodne z przyjętymi założeniami. Niezerowa wartość tensora, występująca na zewnętrznych krawędziach obrazów, wynika z nieciągłości sygnału luminancji w tych miejscach (4.6.6).
Rysunek 5.16: Składowe dyskretne tensora strukturalnego dla obrazu „Kwadraty”: a — Txx , b — Tyy , c — Txy .
Rysunek 5.17: Wartości wektora s dla obrazu „Kwadraty”: a — kąt, b — miara spójności, c — Txx + Tyy . Rysunek 5.17 przedstawia wizualizację możliwych reprezentacji i składowych tensora strukturalnego dla obrazu testowego „Pentagon”’ (Tabela 3.4). Analizując ten rysunek można zaobserwować dużo silniejszą odpowiedź w miejscach, w których sygnał luminancji obrazu był zgodny z kierunkiem działania danej składowej tensora strukturalnego (Rysunek 5.17a, b, c). Natomiast, sygnał na rysunku d jest sumą sygnałów z rysunków a oraz b. Rysunek 5-17e, przedstawia wizualizację sygnału odpowiadającego kątowi wektora lokalnej struktury. Obszary o wyraźnej strukturze charakteryzują się quasi -stałą wartością tego sygnału w obrysie swojej struktury. Jest to operator pozwalający na rozpoznawanie niektórych obiektów. Rysunek 5.17f przedstawia wizualizację miary spójności. Obszary o wyraźnie jaśniejszym kolorze (białe) oznaczają dobrze ukierunkowane struktury w lokalnych częściach obrazu, podczas gdy obszary ciemne są charakterystyczne dla miejsc albo o stałej wartości intensywności, albo też silnie zaszumionych. Dalsze rysunki prezentują reprezentację tensora strukturalnego w modelu HSI dla wybranych obrazów testowych. W przypadku obrazów, które zawiera Tabela 3.4, zamieszczone zostały tylko wyniki bez powtórnej prezentacji oryginału. Bliższej analizy wymaga Rysunek 5.20d. Jest to obraz binarny (dwukolorowy) - kolorem białym zaznaczono obszary, dla których wartość T r(T) była bliska zeru. Jak już wspomniano przy okazji analizy wartości własnych (5.2.1.4), zbadanie wartości śladu macierzy umożliwia łatwą dyskryminację miejsc, w których występuje praktycznie stała wartość intensywności. W przypadku prezentowanego obrazu jest to obszar nieba oraz kawałek jezdni. Cecha ta jest szczególnie pożądana w procesie dopasowywania obrazów stereowizyjnych, gdyż miejsca o stałej wartości intensywności prawie zawsze prowadzą do powstawania wielu fałszywych dopasowań [48]. Analiza rysunków: od 5.21 do 5.24 prowadzi do następujących wniosków: • Działanie operatora tensorowego z filtrami Sobela, zoptymalizowanym filtrem Sobela oraz filtrem
91
Rysunek 5.18: Składowe tensora strukturalnego dla obrazu „Pentagon”: a — Txx , b — Tyy , c — Txy , d — s1 (amplituda), e — s2 (kąt), f — s3 (spójność). Simoncellego o rozmiarze 3 (5.2.1.3.1) praktycznie daje nierozróżnialne wyniki . • Wykorzystanie filtru Simoncellego o rozmiarze 5 powoduje dodatkowo filtrację dolnoprzepustową, co pozostaje w zgodzie z założeniami tego filtru [212] [213]. Zestawienie czasów działania zaimplementowanej przez autora procedury, obliczającej wartość operatora tensorowego dla czterech obrazów testowych, przedstawiają poniższe wykresy słupkowe. Otrzymane wyniki potwierdzają szacowaną w (5.72) złożoność obliczeniową. Ze względu na separowalność masek filtrów typu Simoncellego, czasy obliczeń ulegają w tym przypadku niewielkiemu zmniejszeniu. Dla filtru Simoncellego o 5 współczynnikach czas obliczeń jest prawie identyczny jak w przypadku filtrów Sobela o rozmiarze 3 × 3, co w połączeniu z raportowaną izotropowością filtrów Simoncellego przekonuje, że są one predestynowane do użycia w procesie korelowania obrazów stereoskopowych. Zastosowanie podwójnego operatora dyskretnego różniczkowania podczas wyznaczania tensora strukturalnego nasuwa pytanie o odporność obliczeń na szum zawarty w obrazie. Rysunek 5.25 przedstawia obraz testowy „Fiesta” z wprowadzonym szumem oraz odpowiadającą temu obrazowi postać tensora strukturalnego. Spośród trzech najczęściej spotykanych rodzajów szumu w obrazach, a mianowicie: szumu addytywnego, szumu multiplikatywnego oraz szumu Poissona [81] [219], do testów wybrany został szum addytywny, jako najczęściej spotykany w rzeczywistych obrazach. Testy zostały przeprowadzone z zastosowaniem dyskretnego operatora różniczkowania Simoncellego drugiego rzędu. Wprowadzenie szumu do obrazu powoduje istotne utrudnienie procesu rozpoznawania lokalnych struktur w tym obrazie. Jednakże, nawet przy poziomie szumu rzędu 40% otrzymane wyniki świadczą o odporności operatora tensorowego na szum addytywny w obrazie, pozwalając na rozpoznanie podstawowych struktur w nim zawartych. Właściwość ta umożliwia stosowanie operatora dla obrazów rzeczywistych, które bardzo często zawierają duży poziom szumu. Do testów zastosowany został moduł generatora losowego o rozkładzie normalnym, bazujący na generacji zmiennych losowych o rozkładzie równomiernym. Algorytm ten wykorzystuje schemat ROU (ang. ratio-of-uniforms), umożliwiający generację zmiennych losowych o dowolnym rozkładzie na podstawie zmiennych losowych o rozkładzie równomiernym [248] [190] [30]. Zniekształconą szumem wartość sygnału, dla pewnego elementu obrazowego, otrzymujemy zgodnie z zależnością [124]: u ˆ=u+s·z
(5.74)
gdzie: u ˆ jest sygnałem z szumem, u jest sygnałem oryginalnym, s jest pewną stałą, z zmienną o rozkładzie gaussowskim.
92
Rysunek 5.19: Wykres czasów działania algorytmu obliczającego wartość tensora strukturalnego dla różnych obrazów.
Rysunek 5.20: Reprezentacja tensora strukturalnego dla obrazu „Kwadraty” w przestrzeni HSI: a — operator Sobela, b — operator Simoncellego o rozmiarze 3, c — operator Simoncellego o rozmiarze 5.
Rysunek 5.21: Obraz monochromatyczny a — „Ulica Czysta” wraz z reprezentacja tensorową: b — filtr Sobela, c — zoptymalizowany filtr Sobela, d — miejsca jednorodne, e — filtr Simoncellego o rozmiarze 3, f — filtr Simoncellego o rozmiarze 5.
93
Rysunek 5.22: Reprezentacja tensorowa lewego obrazu stereopary „Telefon”: a — filtr Sobela, b — zoptymalizowany filtr Sobela.
Rysunek 5.23: Reprezentacja tensorowa lewego obrazu stereopary „Telefon”: a — filtr Simoncellego o rozmiarze 3, b — filtr Simoncellego o rozmiarze 5.
Rysunek 5.24: Reprezentacja tensorowa prawego obrazu stereopary „PCB”: a — filtr Simoncellego o rozmiarze 3, b — filtr Simoncellego o rozmiarze 5.
Rysunek 5.25: Reprezentacja tensorowa prawego obrazu stereopary „Ulica”: a — filtr Simoncellego o rozmiarze 3, b — filtr Simoncellego o rozmiarze 5.
94
Rysunek 5.26: Wyniki działania tensora strukturalnego z filtrem Simoncellego o rozmiarze 3 na obrazach z dodanym szumem aktywnym o rozkładzie gaussowskim: a — 11%., b — 20%, c — 40%
Rozdział 6
Dopasowywanie cechami Dopasowywanie cechami należy do grupy pośrednich metod stereoskopowych (4.1). Do najczęściej stosowanych w procesie korelowania cech obrazowych należą krawędzie oraz narożniki [2] [63] [217]. Są one wykorzystywane również w metodach opisanych w tym rozdziale.
6.1
Metoda Marr-Poggio-Grimson
Algorytm pasowania obrazów stereoskopowych Marr-Poggio-Grimson (MPG) [82] należy do klasy algorytmów wykorzystujących charakterystyczne cechy obrazu otrzymane za pomocą tzw. niskopoziomowych technik detekcji cech obrazów (ang. low-level features extraction) [49][63]. Tymi cechami obrazowymi w algorytmie MPG są krawędzie otrzymane za pomocą operatora znajdującego gradient intensywności obrazu, tzw. Laplacian, oraz dolnopasmowej filtracji obrazu filtrem typu gaussowskiego o różnych rozmiarach maski. Proces pasowania obrazów przebiega w kilku tzw. kanałach pasowania, zaczynających się od detekcji cech ściśle dolnopasmowych a postępujących dalej w kierunku detali obrazu. Obrazy do pasowania podawane są do kolejnych kanałów, a informacje znalezione na danym etapie przetwarzania są wykorzystywane do kontroli parametrów przetwarzania w kanale następnym. Proces eliminacji fałszywych dopasowań usprawniono jeszcze bardziej, wprowadzając szereg ograniczeń na możliwe wartości dysparycji.
6.1.1
Proces pasowania obrazów stereoskopowych
Mayhew i Frisby [164] oraz Marr i Poggio [160] [159] wykazali, że ludzki system wizyjny wykorzystuje do percepcji krawędzi mechanizmy biologiczne, zbliżone działaniem do operatorów typu kołowego, takie jak wspomniany LoG. Ta właściwość operatora LoG spowodowała, że został on wybrany w algorytmie pasowania stereo-obrazów, w metodzie zaproponowanej przez Marra, Poggia i Grimsona. Podobnie Grimson wykazał, że ludzki system wizyjny używa danych z pięciu kanałów różnej wielkości filtrów typu LoG. Poniższy rysunek przedstawia opracowany na tej podstawie system dopasowywania obrazów stereoskopowych. System składa się z pięciu kanałów o różnej wielkości filtrów LoG. Przetwarzanie odbywa się sekwencyjnie, zaczynając od kanałów z największą maską (tzw. kanały zgrubne) a kończąc na kanałach o najmniejszych wielkościach masek (tzw. kanały szczegółowe). W oryginalnym algorytmie MPG wielkości masek dla kanałów zgrubnych (zaczynając od kanału nr 1, Rysunek 6.1) wynosiły odpowiednio: 189, 105, 51, 27, 13, dla kanałów najbardziej szczegółowych. Proces dopasowywania w danym kanele przeprowadza się w lewym i prawym obrazie, przetworzonym uprzednio przez filtr LoG o takim samym rozmiarze. Jako podstawowe punkty brane pod uwagę podczas dopasowywania wykorzystuje się punkty zero-przejść w obydwu obrazach (5.1). Przy założeniu kanonicznego układu kamer (3.3.3), proces dopasowywania odbywa się wyłącznie wzdłuż linii epipolarnych, które dodatkowo są zgodne z liniami skanowania obrazów. Ponadto nakłada się ograniczenie na maksymalną dopuszczalną wartość dysparycji między punktami w obrazie. Opisany proces ilustruje poniższy rysunek. Proces dopasowywania w danym kanale dla pewnego wybranego punktu zero-przecięcia filtru LoG przebiega w pewnym z góry ograniczonym zakresie zgodnie z zależnością: dmin = dav − w
¬
d
¬
dav + w = dmax
(6.1)
96
Rysunek 6.1: Schemat metody MPG dopasowywania obrazów stereoskopowych gdzie: d oznacza dysparycję, dav jest jej wartością średnią, która znana jest albo w wyniku wcześniejszego działania kanału z większą maską lub też musi być dobrana do pewnej wartości zadanej, w jest wielkością maski filtru LoG w danym kanale. Algorytm dopasowania dla jednego punktu danego kanału przetwarzania prezentuje Algorytm 6.1.
97
Rysunek 6.2: Proces dopasowywania punktów w algorytmie MPG wzdłuż linii epipolarnych
Algorytm 6.1. Algorytm znajdowania punktów dopasowania w obydwu stereo-parach Specyfikę działania algorytmu MPG można sformułować w następujący sposób: 1. Wyjaśnienia wymaga dobór wielkości okna poszukiwań dopasowań w obrazie prawym. Wartość dav w (6.1) powinna być znana z przebiegu poprzedniego kanału przetwarzania pod warunkiem, że algorytm nie przetwarza właśnie kanału pierwszego, o największej wielkości maski, czyli odfiltrowanego silnie dolnoprzepustowo (kanał zgrubny). Co więcej, wartość dav powinna być wartością średnią z całego obrazu lub też funkcją położenia w obrazie, będąc jednocześnie średnią z pewnego otoczenia lokalnego. Obszar poszukiwań punktu-kandydata dopasowania w obrazie prawym zostaje zawężony do jednowymiarowego przedziału znajdującego się na linii epipolarnej w punkcie xl + dav , w zakresie plus minus długość maski filtru w danym kanale. Długość tego zakresu mogłaby być jeszcze bardziej zmniejszona do zakresu ±w/2, ale tak zawężony zakres poszukiwań mógłby się okazać zbyt restrykcyjny, szczególnie w przypadku większych masek filtru, tzn. większych wartości w. Jest to wynikiem wady filtrów typu LoG, które w przypadkach dużego wahania poziomu luminancji powodują przesunięcie położenia zero-przecięcia dla różnych wartości parametru w.
98 2. Główną wadą wyboru zbyt dużego okna poszukiwań punktów pasujących w obrazie prawym jest możliwość znalezienia wielu kandydatów, z których — przy założeniu braku przezroczystości obserwowanych obiektów1 — tylko jeden jest punktem właściwym i jako taki musi zostać wyłoniony spośród wszystkich punktów pozornie pasujących. Najprostszym sposobem wyeliminowania wielu potencjalnych punktów-kandydatów jest wyciągnięcie wartości średniej dysparycji dla wszystkich tych punktów. W praktyce jednak, reguła ta daje co najwyżej przeciętne wyniki, a często są one obarczone dużym błędem. 3. Wybór średniej wartości dysparycji, w oparciu o wyniki działania wcześniejszego, bardziej „zgrubnego” kanału, do obliczania dysparycji punktów w kanale następnym jest podstawową cechą algorytmu MPG. Proces ten oznaczony jest jako kontrola zbieżności (Rysunek 6.1). Kontrola zbieżności może zostać jeszcze bardziej zaostrzona poprzez wprowadzenie wartości minimalnej liczby punktów w pewnym regionie (zwykle jest to obszar o rozmiarach maski filtru LoG w danym kanale przetwarzania), dla których to punktów zostało znalezione dopasowanie. Jeżeli np. liczba tych punktów spadnie poniżej 70%, to region uważa się za region poza zakresem. Dla każdego takiego regionu niezbędna jest dalsza kalibracja procesu dopasowywania, co zwykle łączy się ze zmianą parametrów dopasowywania w tym obszarze i ponowną próbę znalezienia punktów pasujących. W celu zwiększenia zdolności algorytmu MPG do znajdowania właściwych punktów dopasowań wprowadzono kilka dodatkowych reguł, które przedstawiono poniżej. Reguły te wykorzystują przeważnie dodatkowe informacje o przetwarzanych obrazach. 1. W przypadku istnienia wielu punktów, potencjalnie pasujących w sensie stereoskopowym, tzn. brak jest jednoznacznego dopasowania, zamiast uśredniania wartości dysparycji, wartość tę można wyznaczyć korzystając z zasady ciągłości dysparycji w danym regionie (C6, Tabela 3.3). Założenie to jest słuszne pod warunkiem, że obserwowane sceny składają się z obiektów, które same w sobie są ciągłe — np. obiektem takim nie będą drzwi w obszarze dziurki od klucza, przez którą widać drugi pokój. Korzystając z tej zasady ciągłości dysparycji, w przypadku wielu możliwych wartości dysparycji dla pewnego punktu z obrazu lewego, wybrana zostanie ta, która jest najbliższa wartości już znalezionej dla punktu w obrazie lewym, znajdującego się na linii epipolarnej i poprzedzającego rozważany punkt. 2. Psychofizyczne eksperymenty wykazały zdolność ludzkiego systemu wizyjnego [164] do właściwego dopasowywania obrazów stereoskopowych nawet wtedy, kiedy występuje pewne, aczkolwiek niewielkie, przesunięcie punktów w pionie, tzw. dysparycja pionowa (3.3.3.1). Zjawisko to ma miejsce w przypadku niezbyt dokładnie dobranego zestawu kamer, gdzie przesunięcie linii skanowania nawet o dwa lub trzy piksele jest zjawiskiem dość częstym. W tym też przypadku algorytm MPG uzupełniony być może o poszukiwanie punktów dopasowań nie tylko w jednej linii epipolarnej, ale również na kilku liniach sąsiednich. W przeprowadzonych eksperymentach możliwość ta okazała się bardzo przydatna, gdyż obrazy rzeczywiste, którymi często dysponujemy, wykazują również pionowe przesunięcie (często zdarza się to tylko w pewnej partii obrazu). 3. Wykorzystanie właściwości ciągłości konturów oraz przystawania cech (C7, C8, Tabela 3/3). do właściwego doboru punktów pasujących, szczególnie w przypadku niejednoznaczności wyboru. 4. Ograniczenie dopuszczalnego gradientu dysparycji (C10, Tabela 3.3). Eksperymenty psychofizyczne przeprowadzone przez Burta, Julesza, Meyhewa oraz Frisby’ego [164] wykazały, że ludzki system rozpoznawania głębi w większym stopniu ograniczony jest gradientem dysparycji niż samą jej wartością bezwzględną. Dlatego też można przyjąć ograniczenie na dopuszczalną wartość modułu gradientu dysparycji do pewnej wartości granicznej.
6.1.2
Wyniki eksperymentalne
Poniższe rysunki przedstawiają wyniki działania algorytmu MPG w implementacji autora dla kilku wybranych par obrazów testowych. Jaśniejsze miejsca w obrazach dysparycji oznaczają krawędzie znajdujące się bliżej obserwatora. Jakość obrazu rzadkiej mapy dysparycji jest bezpośrednio uzależniona od jakości mudułu detektora krawędzi, jak również od jakości samych obrazów wejściowych. W przypadku sztucznej stereopary syntetycznej, jakość, 1 Jest
to jedno z założeń opisywanego tu algorytmu MPG.
99
Rysunek 6.3: Wyniki działania algorytmu MPG w kanale o wielkości maski 53: a — lewy oraz b — prawy obraz krawędzi po filtrze LoG, c — mapa dysparycji
Rysunek 6.4: Wyniki działania algorytmu MPG w kanale o wielkości maski 39: a — lewy oraz b — prawy obraz krawędzi po filtrze LoG, c — mapa dysparycji
Rysunek 6.5: Wyniki działania algorytmu MPG w kanale o wielkości maski 25: a — lewy oraz b — prawy obraz krawędzi po filtrze LoG, c — mapa dysparycji zarówno znalezionych krawędzi, jak i wyjściowych map dysparycji, jest stosunkowo dobra mimo lokalnych fluktuacji oświetlenia. Wynika to głównie z braku innych zniekształceń właściwych rzeczywistym systemom akwizycji obrazu, jak również szumu. Nieco odmienne rezultaty otrzymano dla rzeczywistego obrazu „Drzewa” (Tabela 3.4), który posiada wiele detali oraz jest dość silnie zaszumiony. Z powodu trudności w procesie detekcji krawędzi, a szczególnie dużej anizotropowości operatora LoG dla obrazów zaszumionych, mapy dysparycji nie są prawidłowe. Wynika stąd wniosek, że w przypadku tego typu obrazów lepszych rezultatów można spodziewać się po zastosowaniu algorytmów bezpośrednich, dopasowujących obszarami, które zwykle nie bazują na niskopoziomowych cechach obrazów, takich jak krawędzie lub też narożniki. Możliwe jest jednak opracowanie znacznie lepszego detektora lokalnych struktur w obrazie, jakim jest tzw. tensor strukturalny (5.2), a następnie sformułowanie efektywniejszego i dokłądniejszego algorytmu stereowizyjnego (6.2).
100
Rysunek 6.6: Wyniki działania algorytmu MPG w kanale o wielkości maski 55: a — lewy oraz b — prawy obraz krawędzi po filtrze LoG, c — mapa dysparycji
Rysunek 6.7: Wyniki działania algorytmu MPG w kanale o wielkości maski 25: a — lewy oraz b — prawy obraz krawędzi po filtrze LoG, c — mapa dysparycji
6.2
Tensorowy algorytm stereowizyjny
Celem tego rozdziału jest synteza klasy algorytmów wykorzystujących tensorową reprezentację lokalnego sąsiedztwa w obrazach (5.2), zdolnych do rozwiązywania problemu stereowizyjnego na podstawie pary rzeczywistych obrazów.
6.2.1
Założenia procesu stereowizyjnego
Każda metoda stereowizyjna bazuje na pewnych założeniach dotyczących przestrzeni trójwymiarowej, którą przetwarza. Założenia te są niezwykle istotne podczas oceny potencjalnych aplikacji danego algorytmu. Również w przypadku prezentowanej metody tensorowej przyjęto następujące założenia: 1. Obrazy wejściowe są zrektyfikowane (3.3.3.2). 2. Każdy punkt obserwowanej sceny wygląda identycznie w obu obrazach wejściowych. Oznacza to, że wszystkie powierzchnie można uznać za lambertowskie, a obydwa sensory kamer są idealnymi układami próbkującymi. 3. Istnieje co najwyżej niewielka liczba punktów, które są widoczne wyłącznie dla jednej z kamer (4.6.3).
6.2.2
Ogólna struktura algorytmu
Strukturę proponowanego algorytmu stereowizyjnego przedstawia Rysunek 6.8. Wewnętrzną strukturę modułu (IV) algorytmu stereowizyjnego przedstawiają następujące schematy. Autor opracował dwie wersje algorytmu stereowizyjnego: 1. algorytm typu KPD (Rysunek 6.9) - moduły IV-1a do IV-3a,
101
Rysunek 6.8: Struktura tensorowego algorytmu stereowizyjnego 2. algorytm typu KPP (Rysunek 6.10) - moduł IV-1b. Podziału powyższego dokonano ze względu na organizację pętli w modułach: (IV-1a) oraz (IV-1b). Są one odpowiedzialne za iterację po kolejnych pikselach, jak również potencjalnych wartościach dysparycji oraz po strukturach danych użytych podczas przetwarzania. Ogólny opis i omówienie obydwu rozwiązań zawiera (4.4). Mimo iż algorytm typu KPP wydaje się prostszy i pozornie wydajniejszy ze względu na tylko jedną zewnętrzną pętlę przebiegającą po wszystkich pikselach, to w praktyce organizacja typu KPD nie tylko okazuje się być wydajniejsza obliczeniowo (4.4), ale również umożliwia dalszą zmianę jakościową samego algorytmu stereowizyjnego (6.2.13.2). Łatwo jednak zauważyć, analizując Rysunek 6.9 oraz Rysunek 6.10,
102
Rysunek 6.9: Struktura modułu akwizycji informacji stereowizyjnej (wersja KPD algorytmu) że liczba pośrednich struktur danych jest większa w przypadku wersji KPD.
6.2.3
Moduł akwizycji obrazów
Etap ten oznaczony symbolem (I) — zob. Rysunek 6.8 — obejmuje operacje związane z odebraniem sygnału wizyjnego reprezentującego obraz, następnie przetworzeniem tego sygnału do postaci cyfrowej, a w końcu zapisaniem go na pewnym nośniku informacji. W dalszych rozważaniach zakładamy, że układ przetwarzający może być reprezentowany za pomocą modelu kamery o obiektywie punktowym (3.2). Założenie to jest kluczowe dla dalszych etapów algorytmu stereowizyjnego, gdyż umożliwia wykorzystanie wniosków wynikających z teorii geometrii epipolarnej (3.3.1). Obrazy rzeczywiste analizowane w tej pracy uzyskano ze standardowego zestawu stereoskopowego przedstawionego w (3.7). Obrazy syntetyczne wygenerowane zostały za pomocą specjalnych procedur
103
Rysunek 6.10: Struktura modułu akwizycji informacji stereowizyjnej (wersja KPP algorytmu) programowych opracowanych przez autora. Sposób akwizycji pozostałych obrazów często nie jest znany, gdyż ich autorzy nie zamieszczają takiej informacji. Można jedyne przypuszczać, że spełniają założenia kanonicznego układu kamer, do którego z kolei można zastosować model kamery o obiektywie punktowym (3.2).
6.2.4
Wstępne przetworzenie obrazów
Głównym zadaniem modułu wstępnego przetworzenia obrazów (II) jest dokonanie takich zmian w obrazach wejściowych, aby te z kolei w jak największym stopniu zostały przystosowane do dalszych etapów algorytmu stereowizyjnego. Ogólne sposoby wstępnego przetwarzania obrazów dla algorytmów stereowizyjnych przedstawia (4.1). W przypadku algorytmu tensorowego moduł wstępnego przetwarzania sygnałów dokonuje: 1. zmiany formatu reprezentacji obrazu z wejściowego, w którym dany obraz został przechowany na dysku, na postać wewnętrzną; 2. opcjonalnej zmiany rozdzielczości lub wymiarów przetwarzanego obrazu; 3. opcjonalnej zmiany filtracji obrazu wejściowego. Zmiana formatu obrazu wejściowego na postać wewnętrzną jest niezbędna ze względu na potrzebę ujednolicenia sposobu dostępu do wartości sygnału we wszystkich pozostałych modułach przetwarzających (Rysunek 6.11), jak również ze względu na potrzebę zoptymalizowania sposobu przechowywania danych, co z kolei ma wpływ na szybkość działania algorytmu. W obecnej implementacji dopuszczalne są trzy formaty wejściowe (raw data, bitmap, TIFF ) [147], natomiast format wewnętrzny jest zbliżony do tablicy dwuwymiarowej, wraz z odpowiednią klasą metod.
104
Rysunek 6.11: Moduł wstępnej konwersji formatu obrazów wejściowych Podstawową strukturą nośnikową dla tej tablicy jest bufor (w przypadku obrazów o małej lub średniej rozdzielczości2 ) lub też tzw. plik mapowany bezpośrednio na pamięć (ang. memory mapped-file) [194]. Zastosowany tutaj opcjonalny algorytm zmiany rozdzielczości obrazu działa na zasadzie prostej interpolacji. Opcjonalna filtracja obrazu wejściowego możliwa jest przy wykorzystaniu następujących filtrów: 1. dwumianowego filtru dolnoprzepustowego (5.2.1.3.2), 2. nieliniowego filtru medianowego z maską o dowolnej wielkości. Tak jak wspomniano, wybór rodzaju filtru wejściowego jest opcjonalny i zależny od ustawień użytkownika systemu. Początkowe ustawienia działania programu wyłączają jakikolwiek filtr wejściowy. Moduł ten, w swojej obecnej postaci, nie zawiera procedur rektyfikujących wejściową parę stereoskopową, gdyż jednym z założeń jest, że obrazy wejściowe zebrane zostały w układzie kanonicznym lub też wcześniej je zrektyfikowano (6.2.1). Natomiast, charakterystyczną cechą tego etapu jest separacja kanałów; kanał lewy — przetwarza lewy obraz stereopary i analogicznie: kanał prawy — przetwarza obraz prawy. Stwarza to dogodne warunki umożliwiające zrównoleglenie opisanych procedur przetwarzania wstępnego.
6.2.5
Tensorowy detektor lokalnych struktur
Tensorowy detektor lokalnych struktur [moduł (III) - zob. Rysunek 6.8] można uważać za część etapu wstępnego przetwarzania obrazów stereoskopowych, opisanego w poprzednim rozdziale. Jest on etapem kluczowym, gdyż stanowi swoisty przetwornik informacji jednokanałowej na trójkanałową, przenoszący już informację o lokalnej strukturze w zorientowanym sąsiedztwie pikseli. W ten sposób zdobyta informacja o obserwowanej scenie, zapisana w postaci tensorowej, stanowi trzon całego algorytmu. Proces wyznaczania tensora strukturalnego dla zastosowań stereowizyjnych przedstawiono w (5.2.1.4). Do opracowania funkcji kosztu dopasowania wykorzystany zostanie, wprowadzony tam, tensorowy operator s lokalnej struktury w sąsiedztwie. Składa się on z trzech składowych, które dla wygody zostaną przedstawione w równoważnej do (5.69) postaci: angle(n, m) s(n, m) = mag(n, m) (6.2) coh(n, m) gdzie: s(n, m) jest operatorem strukturalnym, określonym dla piksela o współrzędnych obrazowych (n, m), angle(n, m) określa wartość kąta w tym punkcie, zgodnie z (5.70), mag(n, m) jest śladem tensora T (5.71), coh(n, m) jest miarą spójności, określoną przez (5.58). Sygnały T 1, T 2 oraz T 3 (Rysunek 6.8) odpowiadają odpowiednio wartościom angle(Ii ), mag(Ii ) oraz coh(Ii ) dla całego obrazu Ii , gdzie i oznacza numer obrazu (tzn. lewy lub prawy obraz stereopary). 2W
bieżącej implementacji wielkość ta została ograniczona do obrazów nie przekraczających 1024 × 1024 piksele.
105 Opisany w tym rozdziale moduł detektora lokalnych struktur również może zostać stosunkowo łatwo zaimplementowany w postaci algorytmu równoległego — ze względu na separację przetwarzania danych na tym etapie na dwa oddzielne kanały.
6.2.6
Opracowanie funkcji kosztu dopasowania
Funkcja kosztu dopasowania (4.1) bazuje na sygnale otrzymanym z modułu tensorowego detektora lokalnych struktur. Dla prezentowanego algorytmu tensorowego opracowano kilka różnych funkcji dopasowania, w zależności od organizacji tego algorytmu lub też charakteru informacji wyjściowej. Funkcja kosztu dopasowania zawsze dotyczy miary porównania dopasowania pojedynczej pary elementów obrazu. W celu opracowania miary będącej dogodnym kryterium dopasowywania pary potencjalnie odpowiadających sobie punktów najpierw przeanalizowany zostanie wyłącznie sygnał spójności w obrazie: coh(Ij . Wiadomo, że wartości tego sygnału pokrywają ciągły zakres [0, 1], przy czym wartość 0 oznacza brak lokalnej struktury, podczas gdy wartości bliskie 1 występują w przypadku ściśle ukierunkowanej lokalnej struktury w obrazie, dla której jesteśmy w stanie określić dodatkowo jej kąt oraz miarę uśrednionego kwadratu modułu lokalnego gradientu intensywności (5.2.1.2). Wartości pośrednie pozwalają nam na przyjęcie, bądź też odrzucenie, informacji o występowaniu lokalnie zorientowanej struktury w wybranym obszarze. W kategoriach logiki rozmytej, możemy potraktować miarę coh(Ii ) jako funkcję przynależności pewnego piksela do obszarów z wyraźną strukturą. Następnie, tylko dla takich pikseli, które w odpowiedni sposób spełniają to kryterium, przeprowadzony zostanie etap dopasowywania z potencjalnie korespondującymi punktami w drugim obrazie stereopary. Na początku niezbędne jest wyznaczenie maski binarnej, dokonującej podziału zbioru pikseli na dwie klasy równoważności: pikseli strukturalnych3 oraz niestrukturalnych. W tym celu wyznaczmy histogramy miary coh(li ) dla wybranych obrazów testowych (Tabela 3.4).
Rysunek 6.12: Histogramy obrazów sygnału spójności (oś pozioma — wartość luminacji, oś pionowa — częstość wystąpień danej wartości): a — „Fiesta”, b — „Pentagon”, c — „Ulica”, d — „Telefon” Wyznaczone z histogramów wartości median wynosiły odpowiednio: 3 To
znaczy: wykazujących cechy lokalnej strukturalności w sensie tensorowego operatora lokalnej struktury.
106 Obraz: ”Fiesta” ”Pentagon” ”Ulica” ”Telefon” Mediana: 142 179 158 128 Tabela 6.1: Wartości median dla czterech obrazów testowych. Obraz: Mediana:
„Fiesta” 142
„Pentagon” 179
„Ulica” 158
„Telefon” 128
W zależności od treści obrazu otrzymujemy różny rozkład miary spójności tego obrazu, czyli stopień uporządkowania strukturalnego tego obrazu. Celowo przedstawione zostały obrazy testowe należące do kategorii obrazów rzeczywistych, gdyż dla tego typu obrazów chcemy znaleźć ogólne metody ich korelowania. Łatwo sobie wyobrazić obraz syntetyczny, który będzie miał idealną strukturalność lub nie będzie jej miał w ogóle (np. Rysunek 5.15). W takim przypadku histogramy będą silnie skoncentrowane wokół jednej wartości. Analizując Rysunek 6.12 dochodzimy do wniosku, że istotną informację binarną otrzymamy po przetworzeniu obrazów postaci coh(Ii ) operatorem binaryzującym wokół wartości medianowej. W ten sposób dostajemy nowy sygnał postaci: coh bin(I) = B coh(I) (6.3) gdzie: B jest medianowym operatorem binaryzującym. Otrzymane w ten sposób obrazy przedstawiają poniższe rysunki:
Rysunek 6.13: Zbinaryzowane medianowo sygnały spójności dla obrazów testowych: a — „Fiesta”, b — „Pentagon”, c — „Ulica”, d — „Telefon” Ponieważ interesujemy się strukturami w obrazach, których rozdzielczość jest mniejsza niż rozdzielczość samych obrazów, to zbinaryzowane obrazy sygnału spójności poddajemy dalszej filtracji dolnoprzepustowej. Dodatkowym zadaniem na tym etapie przetwarzania jest wyeliminowanie wartości, które
107 są pojedyncze i odbiegają od statystycznej większości pikseli w swoim otoczeniu (ang. outliers). Często sygnały takie powstają jako wynik różnych artefaktów w obrazach wejściowych. Spośród wielu możliwych podejść, dobrym rozwiązaniem jest zastosowanie tutaj nieliniowego filtru medianowego [169] [186]. Do zalet tego typu filtru zaliczyć można między innymi: 1. naturalną dla tego filtru zdolność do usuwania wartości skrajnych, 2. eliminację impulsów, 3. zachowanie stałych obszarów oraz krawędzi, 4. dobrą eliminację szumu.
Rysunek 6.14: Zbinaryzowane sygnał spójności przetworzony filtrem medianowym 3x3: a — „Fiesta”, b — „Pentagon”, c — „Ulica”, d — „Telefon” W tym przypadku, sygnał otrzymany po operatorze coh bin(I) (6.3) jest filtrowany filtrem medianowym M zgodnie z poniższą zależnością: (6.4) coh bin m(I) = M coh bin(I) Wybór ten został potwierdzony doświadczalnie; wyniki przedstawiają poniższe rysunki dla filtrów medianowych działających na obszarach o rozmiarze 3 × 3 oraz 5 × 5. Stosowanie większych obszarów jest oczywiście możliwe, jednak pociąga to za sobą znaczne koszty obliczeniowe, gdyż złożoność obliczeniowa filtru medianowego rośnie wraz z kwadratem rozmiaru jego maski. Przetworzone, zgodnie z (6.3) oraz (6.4), sygnały spójności służą jako maski binarne do dalszego procesu korelowania obrazów stereoskopowych. Rysunek 6.14 oraz Rysunek 6.15 prezentują maski binarne tego typu, obliczone dla czterech obrazów testowych. Dopasowywane będą tylko piksele znajdujące się w obszarach zaznaczonych na biało. Liczne eksperymenty z większą liczbą rzeczywistych obrazów testowych
108
Rysunek 6.15: Zbinaryzowane sygnał spójności przetworzony filtrem medianowym 5x5: a — „Fiesta”, b — „Pentagon”, c — „Ulica”, d — „Telefon” potwierdziły prezentowane koncepcje. Do niewątpliwych zalet tego etapu zaliczyć także należy brak konieczności ustawiania jakichkolwiek parametrów czy też progów działania. Jedynym parametrem, który tylko w niewielkim stopniu zależy od treści obrazu, jest wymiar maski filtru medianowego. Dalsze badania wskazują na możliwość zastosowania zamiast filtru medianowego operatorów morfologicznych [189] [229] [169] lub też rekursywnych filtrów nieliniowych [249] [124] [186], które wykazują mniejszą złożoność obliczeniową niż filtry medianowe. Uwzględniając tensor strukturalny (6.2), można zaproponować następującą funkcję dopasowania dla obrazów monochromatycznych: α |Il (x, y) − Ir (x + dx , y + dy )| + +β |magl (x, y) − magr (x + dx , y + dy )| + +γ |anglel (x, y) − angler (x + dx , y + dy )| + , Ψ(x, y, d) 6= 0 E(x, y, d) = (6.5) +δ |cohl (x, y) − cohr (x + dx , y + dy )| κ , Ψ(x, y, d) = 0 T gdzie: α, β, γ, δ są pewnymi współczynnikami multiplikatywnymi, d = dx dy jest dysparycją, Ii (x, y) jest wartością sygnału intensywności w i-tym obrazie, w punkcie o współrzędnych obrazowych (x, y), magi (x, y), anglei (x, y) oraz cohi (x, y) są odpowiednimi składowymi tensora strukturalnego (6.2) dla obrazu i-tego, κ jest pewną unikatową stałą, natomiast operator binarny Ψ(x, y, d) określa przynależność pikseli do pewnego sąsiedztwa z lokalną strukturą — w tym też przypadku przyjmuje on wartość różną od zera. Natomiast w przypadku przeciwnym, gdy dane piksele do takiej struktury nie należą w
109 sensie miary coh bin m i(x, y) (6.4), przyjmuje on wartość zero. Wartość Ψ(x, y, d) określa zależność: Ψ(x, y, d) = coh bin ml (x, y) ∧ coh bin mr (x + dx , y + dy )
(6.6)
gdzie: coh bin mi (x, y) jest odpowiednio przefiltrowaną zbinaryzowaną miarą spójności (6.4) dla obrazu i-tego, natomiast operator ∧ reprezentuje binarną funkcję AND. Tabela 6.2: Wartości oraz rola parametrów wagowych w wyznaczaniu miary kosztu dopasowania. Parametr
α
β
γ
δ
Przyjmowane wartości oraz ich wpływ na miarę E(x,y,d) Wybór tego parametru określa stopień uwzględnienia różnic wartości samego sygnału intensywności. Wartość 1 oznacza uwzględnianie absolutnej wartości różnicy sygnału intensywności w badanych punktach. Odpowiada to mierze SAD (Tabela 4.3) używanej w algorytmach dopasowujących obszarami (6.2). W praktycznych zastosowaniach zmiana tego parametru między wartościami 0 lub 1 powoduje odłączenie lub przyłączenie modułu SAD, a tym samym zmienia nieco charakter całego algorytmu. Parametr ten kontroluje stopień uwzględnienia różnic w amplitudzie wektora kierunkowego, czyli w uśrednionym kwadracie modułu gradientu w obrazie (5.71). Jak łatwo zaobserwować (np. Rysunek 5.17d), amplituda ta jest ściśle skorelowana z występowaniem krawędzi w obrazie. W ten sposób parametr β kontroluje stopień uwzględnienia w funkcji kosztu stopnia dopasowania punktów w miejscach krawędziowych. W praktyce, parametr ten ustawiany jest przeważnie na 1. Określa wpływ różnic w fazie lokalnej orientacji na funkcję kosztu. Praktycznie jest to najważniejszy parametr ze względu na charakter metody tensorowej, gdyż kąt lokalnej struktury, z dokładnością do π, rozróżnia ją od innych struktur. Zawsze ustawiany na 1 lub na wartość większą w przypadku wyeksponowania miary różnic w fazie między strukturami. Parametr reguluje stopień uwzględnienia różnicy między nie przetworzonymi sygnałami spójności (6-2). Ponieważ jednak ten parametr jest już interpretowany przez operator binarny Ψ(x, y, d) (6.6), więc tutaj jego wartość często ustawiana jest na 0 w celu wyeliminowania dodatkowych obliczeń.
Miarę E(x, y, d) można określić jako sumę ważonych wartości bezwzględnych różnic poszczególnych sygnałów w dwóch punktach. Występujące tutaj wagi: α, β, γ, δ, mają za zadanie wzmacnianie udziału wyniku porównania jakiegoś sygnału lub też eliminację jego wkładu w końcową wartość E(x, y, d). Wpływ parametrów wagowych przedstawia Tabela 6.2. W praktyce wartości parametrów β, γ, δ były ustawiane przeważnie na 1, podczas gdy parametr αa przyjmował wartość 0 dla algorytmów „czysto” tensorowych albo też 1 — dla algorytmów uwzględniających dodatkowo wartość intensywności. Dla większości testowanych obrazów rzeczywistych, dobry kompromis między jakością wynikowej mapy dysparycji a czasem obliczeń otrzymywano po przyjęciu α oraz δ równych zero (Tabela 6.2). Wartość κ jest pewną stałą, którą przyjmuje E(x, y, d) we wszystkich tych miejscach obrazów, dla których nie stwierdzono lokalnej strukturalności pikseli. W ten sposób wyeliminowana została potrzeba obliczania lub też tablicowania wartości funkcji Ψ(x, y, d) dla każdego przebiegu obliczeń. Ponieważ miara E(x, y, d) przyjmuje wartości bliskie zeru dla obszarów podobnych, więc w praktyce κ zostało ustawione na wartość przekraczającą o kilka rzędów wielkości możliwe wartości E(x, y, d). Wybór metryki typu L1 (tzw. metryka taksówkowa) w (6.5), czyli sumy wartości absolutnych podyktowany był następującymi czynnikami: 1. bardzo dobrymi wynikami działania miary SAD w przypadku metod stereoskopowych dopasowujących obszarami (Tabela 7.2), 2. stosunkowo małą złożonością obliczeniową 3. wynikami eksperymentalnymi z innymi metrykami, np. L2 , L∞ , Loct .
110 Badane były również inne postacie funkcji kosztu dopasowania, np. z metryką Loct , będącą ważoną sumą metryk L1 oraz L∞ : Loct = p(qL1 + (1 − q)L∞ ), gdzie p oraz q są pewnymi parametrami. Jest to tzw. metryka oktagonalna, która jest przybliżeniem metryki euklidesowskiej L2 [202]. Jednak w wyniku wielu testów ostatecznie wybrana została postać (6.5) jako realny kompromis między jakością a czasem obliczeń.
6.2.7
Wybór wejściowego zakresu dopuszczalnych dysparycji
W trakcie badania różnych algorytmów stereoskopowych okazało się, że właściwy wybór maksymalnej dysparycji w obrazie jest kluczowy zarówno dla jakości otrzymywanej mapy dysparycji jak i czasu działania algorytmu. Wybór zbyt małej wartości w nieuchronny sposób prowadzi do błędnej mapy dysparycji, podczas gdy wybranie wartości zbyt dużej również powoduje wzmożoną ilość fałszywych dopasowań ze względu na utrudnioną dyskryminację wartości prawidłowej. Co więcej, optymalny wybór wejściowego zakresu dopuszczalnych dysparycji powinien być adaptacyjny w zależności od faktycznej głębi pewnego obiektu., zobrazowanego w danym miejscu stereopary. O ile chodzi o czas obliczeń, to oczywiście im mniejszy zakres dysparycji, tym krótszy czas działania algorytmu. W większości badanych algorytmów wartość zakresu dysparycji była wybierana w sposób arbitralny, zgodnie z szacowaną geometrią stereowizyjnego układu akwizycji oraz spodziewanymi parametrami obserwowanej sceny. Górnym ograniczeniem jest tutaj założenie, że dysparycja może objąć cały zakresobrazu, tzn. w układzie kanonicznym, zgodnie z lematem o kierunku przeszukiwania (4.6.5), a maksymalna dysparycja horyzontalna równa jest horyzontalnemu rozmiarowi obrazu pomniejszoną o bieżącą pozycję horyzontalną punktu, dla którego szukamy dopasowania. Ale tak jak już wspomniano, znacznie lepsze rezultaty otrzymujemy, gdy znamy dokłądniejsze oszacowanie spodziewanego zakresu dysparycji. Problem można by też rozwiązać w sposób iteracyjny, tzn. poprzedzając właściwy procesdopasowania procesem dopasowania wstępnego z wykorzystaniem któregoś z szybszych algorytmów. Jednak koszt takiego rozwiązania jest znaczny i nie zawsze prowadzi do pożądanego rezultatu. Dzieje się tak w przypadku, gdy we wstępnym etapie dokona się niewłąściwego dopasowania, co skazuje nas na niepowodzenia także w następnych etapach. Problem wydaje się być ciągle otwarty, tym bardziej, że niewielu autorów podejmuje ten temat. Na przykład Scharstein [202], sugeruje skumulowanie miary gradientowej (7.2.4) w bardzo dużym oknie — oknie wielkości ćwiartki lub nawet całego obrazu. Sugeruje on rółnież użycie skalowania obrazu (ang. scale-space) [218] [4] do wyznaczania początkowych wartości dysparycji. Na podstawie powyższych dywagacji, rozwiązania tego problemu możemy poszukiwać dokonując operacji na obrazie: 1. zmieniając rozdzielczość obrazu, a następnie dokonując zgrubną ocenę dysparycji w jego obszarach 2. zmieniając skalę obrazu i dokonując analizę zakresów dysparycji, 3. używając innej metody na niezmienionym obrazie. Do metod trzeciej kategorii zaliczyć można analizę statystyczną z wykorzystaniem tzw. wariogramów [219]. Pozwalają one na analizę przestrzennej korelacji struktury pewnej zmiennej losowej. Wybierając pewną zmienną losową f (x), wariogram możemy zdefiniować jako funkcję w postaci: γ(h) =
1 2 E [f (x) − f (x + h)] 2
(6.7)
gdzie: E(X) jest wartością oczekiwaną zmiennej losowej X, f (x) jest pewną funkcją, dla której wyznaczamy wariogram. W przypadku obrazów stereowizyjnych przyjmiemy nieco zmodyfikowaną definicję wariogramu: Nc X Nr X 1 2 γ(h) = [Il (x + h, y) − Ir (x, y)] (6.8) 2Nc Nr x=1 y=1 gdzie: Nc , Nr określają rozmiar wertykalny oraz horyznontalny obrazu binarnego. Badanie wariogramu pozwala na określenie stopnia korelacji pomiędzy kolejnymi wartościami sygnału, dla którego wariogram wyznaczyliśmy. Wariogram może być wyznaczony dla pojedynczego obrazu, tak jak w (6.7), jak również dla dwóch obrazów (6.8), w przypadku których spodziewamy się pewnego stopnia skorelowania, jeżeli są to obrazy należące do jednej stereopary. Istnieje wiele modeli teoretycznych wariogramów oraz metod analizowania ich parametrów, takich jak zachowanie w punkcie zerowym, czy też
111 badanie istnienia asymptoty przebiegu. Na podstawie, np. zachowania wariogramu w punkcie zerowym, można określić stopień regularności zmiennej losowej. W przypadku wykorzystania wariogramów do wstępnej oceny zakresu wartości możliwych dysparycji będziemy interesowali się przeważnie minimami występującymi w przebiegu wariogramu. W związku z tym, jako potencjalną regułę heurystyczną, przyjmijmy stwierdzenie: Jeżeli istnieje wystarczająco duża ilość odpowiadających sobie (w sensie stereoskopowym) punktów, to w przypadku zaistnienia wyraźnego minimum w wariogramie, wyznaczonym zgodnie z (6.8), wartość, dla której to minimum występuje, możemy przyjąć jako wstępny zakres dopuszczalnych wartości dysparycji w analizowanych obrazach. W praktyce, wartość wstępnej dysparycji, wyznaczona zgodnie z powyższą regułą, zawsze była nieco zwiększana w celu zagwarantowania właściwych parametrów dla obiektów położonych bardzo blisko obserwatora. Poniższe rysunki prezentują wariogramy wyznaczone dla kilku par testowych (Tabela 3.4). Oś pionowa reprezentuje wartość wariogramu, zgodnie z zależnością (6.8).
Rysunek 6.16: Wariogramy dla obrazów testowych: a — „Kostka Rubica”, b — „Telefon”, c — „Fiesta”, d — „Ulica”, e — „Drzewa”, f — „Pentagon”
112 Występowanie silnego lokalnego minimum w wariogramie stereoskopowym (Rysunek 6.16) sugeruje występowanie dużej liczby odpowiadających sobie punktów dla przesunięcia odpowiadającego temu minimum. Pamiętać jednak należy, że wartość ta nie zawsze jest wartością maksymalnej spodziewanej dysparycji, gdyż jest ona miarą statystyczną, odpowiadającą pewnej statystycznej większości. Zawsze zatem może się zdarzyć obiekt o niewielkiej liczbie reprezentujących go w obrazie punktów, który będzie występował dla większych wartości dysparycji. Tym niemniej, reguła określania wstępnego zakresu dysparycji na podstawie wariogramu sprawdza się z powodzeniem w praktyce.
6.2.8
Agregacja zbiorowego dopasowania
W przypadku algorytmu typu KPD, agregacja jest fazą wykonywaną po znalezieniu wszystkich wartości funkcji kosztu dopasowania, dla możliwych wartości dysparycji (4.1). Jest ona naturalnym uzupełnieniem fazy obliczania funkcji kosztu dopasowania dla pojedynczych par pikseli, gdyż w przypadku obrazów rzeczywistych, w których występuje szum, przysłonięcia, itp., bazowanie w procesie wyboru najlepszego dopasowania wyłącznie na odizolowanych, pojedynczych dopasowaniach prowadzi do nieprawidłowej mapy głębi. Opieramy się tutaj na założeniu, że sąsiadujące ze sobą punkty, za wyjątkiem jedynie nielicznej ich grupy, posiadają podobną dysparycję. Jest to zgodne z założeniem o zachowaniu ciągłości dysparycji (C6, Tabela 3.3). Dla algorytmów KPD, fazę agregacji zbiorowego dopasowania można przeprowadzić: 1. niezależnie dla każdej płaszczyzny wartości pośrednich (Rysunek 4.3), 2. z jednoczesnym wykorzystaniem informacji we wszystkich płaszczyznach wartości pośrednich. W prezentowanym algorytmie przyjęto rozwiązanie pierwsze. Jest ono znacznie szybsze i dla większości rzeczywistych obrazów stereoskopowych daje pożądane rezultaty. Tym niemniej, najdokładniejsze mapy dysparycji można otrzymać, wykorzystując podejście drugie [201] [202]. W celu agregacji dopasowania dla danego piksela w pewnym jego otoczeniu, przeprowadzamy operację uśredniającą w tym otoczeniu z punktem centralnym, pokrywającym się z położeniem tego piksela. Możliwe jest tutaj zastosowanie odpowiedniego filtru dolnoprzepustowego, który powinien posiadać następujące właściwości: 1. Dobrą izotropowość. 2. Możliwość uwzględnienia największego wkładu w punkcie centralnym, ze stopniowym zmniejszeniem w miarę oddalania się od tego punktu. 3. Separowalność. Wyżej wymienione warunki spełnia filtr typu gaussowskiego lub też jego aproksymacja w postaci filtru dwumianowego, który został już wcześniej wykorzystany do obliczenia tensora strukturalnego (5.2.1.3.2). Operację agregacji w postaci splotu z filtrem dwumianowym przedstawia zależność: E(d) = F E(d) (6.9) gdzie: E(d) jest dwuwymiarowym sygnałem pośrednich wartości funkcji kosztu dopasowania dla pewnej wartości dysparycji d, F jest operatorem dwumianowym (5.68), E(d) jest uśrednioną wartością sygnału E(d). Wartości dysparycji dla danego piksela otrzymujemy, rozwiązując problem minimalizacyjny, polega¯ jący na znalezieniu takiej wartości dysparycji d, dla której E(d) przyjmuje wartość minimalną: D = min E(d) d
(6.10)
gdzie: D jest dwuwymiarową mapą dysparycji.
6.2.9
Przetwarzanie mapy dysparycji
Jest to trójetapowy proces, którego zadaniem jest polepszenie, lub też przystosowanie do dalszego przetwarzania, wynikowej mapy dysparycji. Polepszenie mapy dysparycji polega głównie na eliminacji fałszywych dopasowań (4.6), które są praktycznie nieuniknione w przypadku przetwarzania rzeczywistych par stereoskopowych.
113 W proponowanym tu algorytmie przetwarzanie wynikowej mapy dysparycji odbywa się w kilku opcjonalnych modułach [moduły (V), (VI), (VII) oraz (VIII) Rysunek 6.8]: • Walidacja map dysparycji4 — moduł (V). Zrealizowana zgodnie z opisem w (4.6.3). Problemem okazuje się tutaj wzajemne przesunięcie między tzw. lewą a prawą mapą dysparycji. Ta pierwsza powstaje w wyniku przyjęcia jako obraz referencyjny, lewego obrazu stereopary. Druga postać — w sposób odwrotny. I tak, wartości dysparycji są obliczane w stosunku do wybranych punktów z obrazu referencyjnego, natomiast sama wartość dysparycji jest przypisana właśnie temu punktowi referencyjnemu. W procesie odwrotnym, nawet jeżeli obliczona wartość dysparycji w danym miejscu jest taka sama, to jest ona przypisana punktowi referencyjnemu o innych współrzędnych, gdyż bezwzględne wartości współrzędnych odpowiadających sobie punktów, dla których występuje niezerowa wartość dysparycji, są oczywiście różne. Oznacza to konieczność wykonania następujących transformacji: W praktyce równość dysTabela 6.3: Kolejne etapy procesu walidacji wzajemnej map dysparycji Operacja W układzie referencyjnym, związanym z lewym obrazem, znaleziona została para odpowiadających sobie punktów pL oraz pR Wartość dysparycji d, dla znalezionej pary punktów w lewym układzie referencyjnym, zostaje przypisana punktowi o współrzędnych (x, y), zgodnych z lewym obrazem. Analogicznie zostaje wyznaczona wartość dysparycji d0 w układzie referencyjnym związanym z obrazem prawym. Przy spełnieniu tej zależności, wartości dysparycji uznajemy za zweryfikowane pozytywnie. W przeciwnym wypadku — wartości ., ., dysparycji odrzucamy.
Obraz lewy
Obraz prawy
pL (x, y)
pR (x + d, y)
DL (x, y) = d
DR (x + d, y) = d0 |d| = |d0 | |d| = 6 |d0 |
parycji zastępujemy przeważnie równością z dokładnością do pewnej progowej stałej addytywnej, o którą mogą się różnić moduły porównywanych dysparycji. • Filtracja - moduł (VI). W proponowanym algorytmie zastosowano filtr medianowy [113][169], zastosowany oddzielnie w kierunku poziomym oraz pionowym w celu zachowania prawidłowych narożników [22]. Tego typu filtr nieliniowy, wykorzystywany już wcześniej w etapie wyznaczania funkcji kosztu dopasowania (6.2.6), dosyć dobrze nadaje się do odrzucenia wartości dysparycji znacznie odstających od wartości w swoim sąsiedztwie. Tego typu sytuacja prawie zawsze wiąże się z fałszywym dopasowaniem, gdyż w przeciwnym wypadku dysparycja ta związana musiałaby być z prostopadle wystającym z otoczenia obiektem, o przekroju jednego piksela. Sytuacja taka jest niezgodna z założeniami, gdyż oznaczałoby to, że próbujemy dopasować obiekty o rozdzielczości pojedynczego piksela. • Adaptacja z wyjściową mapą dysparycji, z innego algorytmu stereowizyjnego — moduły (VII) oraz (VIII). Ponieważ wynikowa mapa dysparycji jest mapą rzadką, w przypadku niektórych zastosowań, wymagających zwartej mapy dysparycji (np. synteza obrazów z wykorzystaniem stereowizji [202]), musimy dokonać uzupełnienia dysparycji w brakujących punktach. Można to osiągnąć poprzez arbitralne przypisanie wartości zerowej, odpowiadającej obiektom nieskończenie oddalonym (w praktyce, oddalonym powyżej pewnego dystansu progowego), lub też poprzez podstawienie wartości otrzymanych w wyniku działania innego algorytmu stereowizyjnego, który produkuje zwartą mapę dysparycji. Może to być jeden z algorytmów dopasowujących obszarami, np. wykorzystujący miarę SAD (Rozdział 7), lub też wynikowa mapa dysparycji otrzymana z algorytmu tensorowego dopasowującego obszarami (6.2.12). 4 Zwana również walidacją zwrotną lub walidacją wzajemną (ang. cross-checking). Mapy dysparycji, otrzymane w wyniku procesu walidacji zwrotnej, nazywać będziemy zweryfikowanymi mapami dysparycji.
114 Dodatkowo, przetwarzanie wynikowej mapy dysparycji, może być uzupełnione o następujące etapy: • Interpolacja wyjściowej mapy dysparycji. W celu wypełnienia wartości dysparycji w punktach, w których jej znalezienie było niemożliwe, można dokonać jej interpolacji w oparciu o wartości z punktów sąsiednich. Najprostszą metodą jest proste skopiowanie wartości dysparycji z punktów sąsiadujących. Inny sposób polega na zastosowaniu jednej z metod interpolacyjnych, np. interpolacji Lagrange’a [31] [195], Możliwe jest też zastosowanie metod interpolacji statystycznej, np. kriging, która polega na znalezieniu współczynników pewnego estymatora, który jednocześnie minimalizuje wariancję [219]. Tego typu interpolator posiada właściwości filtru wygładzającego, a więc jego zastosowanie nie musi być poprzedzane, opisaną wcześniej, fazą filtracji nieliniowej. • Obliczanie wartości dysparycji z dokładnością podpikselową. Omówienie możliwych sposobów przeprowadzenia tej operacji zawiera (4.1). Rezultaty przeprowadzenia wielu eksperymentów z korelowaniem różnych obrazów stereoskopowych wskazują, że w przypadku, gdy potrzebna jest dokładność podpikselowa, znacznie lepsze wyniki otrzymuje się po przeprowadzeniu ponownego procesu dopasowywania, tym razem jednak przy zastosowaniu obrazów o większej rozdzielczości. Jest to okupione znacznym nakładem obliczeniowym, jednak prawie zawsze prowadzi do znacznie lepszych wyników. Oczywiście, w przypadku gdy nie dysponujemy obrazami z lepszą rozdzielczością, pozostaje tylko jedna z metod interpolacyjnych. Wyżej opisane moduły przetwarzające powinny być zrealizowane w wymienionej kolejności, aczkolwiek proces otrzymywania dwóch map dysparycji, niezbędny w module walidacyjnym, może odbywać się zupełnie równolegle, skracając w ten sposób czas działania całego algorytmu.
6.2.10
Implementacja oraz złożoność obliczeniowa
Złożoność obliczeniową algorytmu tensorowego możemy oszacować, analizując złożoność poszczególnych etapów obliczeniowych (Rysunek 6.8). Z kolei, złożoność obliczeniowa zastosowanego algorytmu znajdującego tensor strukturalny została oszacowana w (5.2.2) na O(N M ), gdzie N × M są rozmiarami obrazu poddanego tej operacji. Złożoność następnych operacji, związanych z przygotowaniem postaci tensorowej do postaci dogodnej dla procesu dopasowywania stereoskopowego (6.2.6), ze względu na zastosowanie separowalnych filtrów o stałej wielkości masek, pozostaje również na poziomie O(N M ). Zbudowanie właściwej dla algorytmów KPD przestrzeni dysparycji (4.4) powoduje, że złożoność obliczeniowa przybiera wartość O(DN M ), gdzie D jest zakresem maksymalnej dysparycji w obrazie. Ostatni etap obliczeniowy, czyli fazę agregacji, realizuje się w każdej z płaszczyzn dysparycyjnych niezależnie, stosując separowalny filtr dwumianowy. Pozostaje więc jeszcze oszacowanie złożoności obliczeniowej całej metody, która wynosi: O(DN M ) (6.11) gdzie: N × M są rozmiarami obrazu w pikselach, D jest zakresem maksymalnej dysparycji w obrazie. W oszacowaniu (6.11) nie uwzględniono etapów modyfikujących otrzymaną mapę dysparycji, jak np. etap walidacji wzajemnej (6.2.9). Oszacowania złożoności pamięciowej metody możemy dokonać na podstawie schematu (Rysunek 6.9). Dla każdego przebiegu algorytmu niezbędne jest przechowanie pewnej stałej ilości przetworzonych reprezentacji obrazów wejściowych oraz zmiennej ilości płaszczyzn dysprycyjnych, właściwych algorytmom klasy KPD. Dlatego też oszacowanie złożoności pamięciowej wyraża się w następującej postaci: O (D + H)N M (6.12) gdzie N × M są rozmiarami obrazu w pikselach, D jest zakresem maksymalnej dysparycji w obrazie, natomiast H jest pewną stałą ilością wewnętrznych reprezentacji przetwarzanych obrazów stereoskopowych. W praktyce wartość H nie przekracza 10, natomiast wartość D jest zależna od danej pary obrazów.
6.2.11
Wyniki eksperymentalne
Poniższe obrazy przedstawiają etapy otrzymywania mapy dysparycji dla wybranych stereopar testowych, z wykorzystaniem przedstawionego algorytmu tensorowego.
115
Rysunek 6.17: Wartości funkcji kosztu stereopary „Pentagon” dla kolejnych wartości dysparycji
Rysunek 6.18: Wartośći funkcji kosztu stereopary „Pentagon” dla kolejnych wartości dysparycji po filtrze dwumianowym 7x7 Rysunek 6.17 oraz Rysunek 6.18 wizualizują kolejne warstwy przestrzeni dysparycji (Rysunek 4.3) charakterystycznej dla algorytmów typu KPD. Obserwujemy wynik fazy agregacji, jako odpowiednio: wartości funkcji kosztu (6.5) oraz wartości funkcji kosztu po filtrze dwumianowym. Jaśniejsze obszary reprezentują mocniejszy sygnał. Dla kolejnych wartości dysparycji można zaobserwować różny poziom odpowiedzi w miejscach obiektów, które odpowiadaj ą tej wartości dysparycji.
Rysunek 6.19: Wykres wartości sumarycznej funkcji kosztu dopasowania w relacji do dysparycji Sumaryczną wartość funkcji kosztu dopasowania dla stereopary „Pentagon”, w zależności od dysparycji, ilustruje wykres — Rysunek 6.19. Łatwo zauważyć wyraźne minimum dla wartości 2, co oznacza, że statystyczna większość dopasowywanych obiektów posiada właśnie taką wartość dysparycji. Tego typu charakterystyka zbliżona jest do przebiegu obserwowanego w przypadku wariogramów, analizowanych w (6.2.7). Parametry działania algorytmu dla stereopary „Pentagon” przedstawia tabela: Rysunek 6.20 przedstawia: mapę miejsc o wyraźnej strukturze (a), dla których przeprowadzany jest proces dopasowywania, mapę dysparycji (b) oraz tę samą mapę dysparycji po przetworzeniu filtrem
116
Rysunek 6.20: Mapa miejsc o lokalnej strukturze (fragmenty oznaczone kolorem czarnym), b — mapa dysparycji, c — mapa dysparycji przetworzona filtrem medianowym 3x3 Tabela 6.4: Parametry działania stereoskopowego algorytmu tensorowego dla pary „Pentagon”. Rozdzielczość obrazu
Max. zakres dysparycji
Rozmiar filtru miary spójności
Rozmiar filtru fazy agregacji
256 × 256
5
3×3
7×7
Przetwarzanie wynikowej mapy dysparycji mediana 3 × 3
Czas działania[s] 2.354
medianowym w celu odrzucenia fałszywych dopasowań (c). Na podstawie tej ostatniej mapy powstał trójwymiarowy wykres obserwowanej sceny (Rysunek 6.21).
Rysunek 6.21: Wykres przestrzenny obserwowanej sceny sporzadzony na podstawie mapy dysparycji Znaczną poprawę wynikowej mapy dysparycji osiągamy po zastosowaniu metody wzajemnej walidacji (6.2.9). Do tego potrzebne są jednak aż dwie mapy dysparycji, co ilustrują rysunki. Mapę dysparycji w lewym układzie referencyjnym przedstawia Rysunek 6.20b. Proces wzajemnej walidacji umożliwia odrzucenie fałszywych dopasowań, związanych głównie z miejscami niewidocznymi na jednym z obrazów. Wyniki tej operacji ilustruje Rysunek 6.22b. Warto teraz dokonać porównania ostatecznych postaci obydwu map dysparycji, tj. bez procesu walidacji - Rysunek 6.20c, oraz po zastosowaniu walidacji — Rysunek 6.22c. Bez wątpienia, proces walidacji pozwala uzyskać dużo dokładniejszą mapę dysparycji, co jest nie bez znaczenia w przypadku stosowania algorytmu do zastosowań wymagających dużej precyzji.
117
Rysunek 6.22: a — Mapa dysparycji z prawym obrazem referencyjnym, b — mapa dysparycji po procesie wzajemnej walidacji, c — mapa dysparycji po filtrze medianowym 3x3 Para testowa „Pentagon” należy do obrazów wykorzystywanych w kartografii. Pozytywne wyniki, w postaci map dysparycji oraz zrekonstruowanej na ich podstawie struktury trójwymiarowej, obserwowanej sceny (Rysunek 6.21), wskazują na dużą przydatność tensorowego algorytmu stereowizyjnego dla tego typu zastosowań. Kolejne obrazy wynikowych map dysparycji dotyczą pary testowej „Kostka Rubica” (Tabela 3.4) o rozdzielczości 212 × 134.
Rysunek 6.23: Mapy dysparycji dla pary testowej „Kostka Rubica”: a — lewa, b — prawa, c — po walidacji Parametry działania algorytmu dla stereopary „Kostka Rubica” zawiera poniższa tabela. Tabela 6.5: Parametry działania stereoskopowego algorytmu tensorowego dla pary „Kostka Rubica”. Rozdzielczość obrazu
Max. zakres dysparycji
Rozmiar filtru miary spójności
Rozmiar filtru fazy agregacji
212 × 134
12
3×3
7×7
Przetwarzanie wynikowej mapy dysparycji mediana 3 × 3
Czas działania[s] 1.062
Stereopara „Kostka Rubica” jest przykładem obrazu zawierającego głównie skośne powierzchnie. Niestety, obraz wejściowy wykazuje niewielkie odchyłki od zakładanego układu kanonicznego dla akwizycji. W wyniku otrzymujemy większą liczbę zniekształceń w miejscach, które należą do najbardziej oddalonych części kostki. Rysunek 6.24 przedstawia wykres wartości sumarycznej funkcji kosztu dopasowania w relacji do dysparycji. Istotne minima otrzymujemy dla wartości 5 oraz 12, co znajduje również potwierdzenie w otrzymanych mapach dysparycji. Dalsze minima, powyżej wartości 20, są nieznaczące, gdyż ich minimalna wartość wynika ze sposobu liczenia funkcji kosztu dopasowania, która jest liczona dla obrazów przesuniętych. W tym przypadku, to właśnie znaczna wartość tego przesunięcia prowadzi do mniejszych wartości
118
Rysunek 6.24: Wykres wartości sumarycznej funkcji kosztu dopasowania w relacji do dysparycji dla obrazu „Kostka Rubica” sumarycznych, aniżeli w przypadku dysparycji mniejszych niż 12. Wynikowe mapy dysparycji dla popularnej pary testowej „Drzewa” (Tabela 3.4) ilustrują rysunki:
Rysunek 6.25: Stereopara „”Drzewa”: a — miejsca dopasowane, wyznaczone tensorem strukturalnym, b — lewa mapa dysparycji, ccc — prawa mapa dysparycji
Rysunek 6.26: Stereopara „”Drzewa”: a — lewa mapa dysparycji po filtrze medianowym 3x3, b — zweryfikowana mapa dysparycji, c — zweryfiowana mapa dysparycji po filtrze medianowym 3x3 Parametry działania stereowizyjnego algorytmu tensorowego dla stereopary „Drzewa” zawiera tabela: Stereopara „Drzewa” jest prawdopodobnie najczęściej używanym obrazem testowym zamieszczanym
119
Tabela 6.6: Parametry działania stereoskopowego algorytmu tensorowego dla pary „Drzewa”. Rozdzielczość obrazu
Max. zakres dysparycji
Rozmiar filtru miary spójności
Rozmiar filtru fazy agregacji
256 × 233
5
5×5
9×9
Przetwarzanie Czas działawynikowej mapy dyspa- nia[s] rycji brak 2.203.
w literaturze dotyczącej stereowizji, np. [120] [202] [245]. Dlatego też dostępne są liczne mapy dysparycji, utworzone dla tej pary w wyniku działania różnych algorytmów. Na podstawie porównania mapy dysparycji, przedstawionej na Rysunku 6.26c, z analogicznymi mapami prezentowanymi w cytowanej literaturze, można stwierdzić, że zarówno pod względem jakości wizualnej, jak i czasu działania, mapa ta nie ustępuje żadnej z zamieszczonych w tychże publikacjach. Dalej, będą prezentowane w tym rozdziale wyniki, które uzyskano dla rzeczywistych obrazów testowych, zrealizowanych bardzo prostym systemem akwizycyjnym (3.7). Wyniki dla tej grupy obrazów są niezmiernie istotne, gdyż po pierwsze, pozwalają ocenić odporność samego algorytmu na niekorzystne zjawiska uboczne, występujące w tego typu obrazach, a po drugie, weryfikują tezę o możliwości zastosowania algorytmu tensorowego do obrazów rzeczywistych. Pierwsza, z tej grupy, jest stereopara „Fiesta” (Tabela 3.4), przedstawiona poniżej.
Rysunek 6.27: Stereopara „Fiesta”: a — miejsca dopasowane, b — zweryfikowana mapa dysparycji Parametry działania stereowizyjnego algorytmu tensorowego dla stereopary „Fiesta” przedstawia tabela: Tabela 6.7: Parametry działania stereoskopowego algorytmu tensorowego dla pary „Fiesta”. Rozdzielczość obrazu
Max. zakres dysparycji
Rozmiar filtru miary spójności
Rozmiar filtru fazy agregacji
289 × 230
24
3×3
7×7
Przetwarzanie Czas działawynikowej mapy dyspa- nia[s] rycji brak 3.515.
W przypadku obrazów „Fiesta”, otrzymana mapa dysparycji, w wyniku wieloetapowego procesu filtracji oraz weryfikacji dopasowań, nie zawiera zbyt dużej ilości dopasowanych punktów (jest bardzo „rzadka”). Tym niemniej, uwzględniając fakt znacznej degradacji obrazów, jak również poważnych odstępstw od kanonicznego układu akwizycji, rezultaty te można uznać za wystarczające. Wyniki działania innych dostępnych algorytmów stereowizyjnych dla tej pary testowej przejawiały znacznie więcej błędnych
120 dopasowań (np. algorytmy dopasowujące obszarami, Tabela 7.1). A oto mapy dysparycji utworzone dla stereopary „Telefon”:
Rysunek 6.28: Stereopara „Telefon”: a — miejsca dopasowane, b — lewa mapa dysparycji po filtrze medianowym 3x3 Parametry działania stereowizyjnego algorytmu tensorowego dla stereopary „Telefon” są następujące:
Tabela 6.8: Parametry działania stereoskopowego algorytmu tensorowego dla pary „Telefon”. Rozdzielczość obrazu
Max. zakres dysparycji
Rozmiar filtru miary spójności
Rozmiar filtru fazy agregacji
307 × 251
20
3×3
7×7
Przetwarzanie wynikowej mapy dysparycji mediana 3 × 3
Czas działania[s] 3.645.
Stereopara „Telefon” jest przykładem dość trudnego obrazu praktycznie dla każdego procesu korelacji stereoskopowej, gdyż oprócz licznych zakłóceń zawiera dodatkowo obiekty półprzeźroczyste, którymi są szyby widocznych na tych obrazach budek telefonicznych. Jak widać (Rysunek 6.15d), dyskryminator strukturalny, bazujący na tensorze strukturalnym, dokonuje jednoznacznego wycięcia tego typu „niepewnych” miejsc, tym samym zapobiegając, potencjalnie bardzo licznym w tym przypadku, fałszywym dopasowaniom. Ostatnią z rzeczywistych stereopar, dla której testujemy działanie algorytmu tensorowego, jest para testowa „Ulica” (Tabela 3.4). Wyniki działania ilustrują rysunki: Parametry działania stereowizyjnego algorytmu tensorowego dla stereopary „Ulica” podano w tabeli:
Tabela 6.9: Parametry działania stereoskopowego algorytmu tensorowego dla pary „Ulica”. Rozdzielczość obrazu
Max. zakres dysparycji
Rozmiar filtru miary spójności
Rozmiar filtru fazy agregacji
517 × 408
24
3×3
9×9
Przetwarzanie wynikowej mapy dysparycji mediana 3 × 3
Czas działania[s] 12.288
Analizując Rysunek 6.30b widzimy, że właściwą reakcję na obszary o jednorodnej intensywności algorytm zawdzięcza dyskryminacji obrazu ze względu na składową tensora strukturalnego, odpowiadającą
121
Rysunek 6.29: Para testowa „Ulica”: a – lewa mapa dysparycji, b — zweryfikowana mapa dysparycji po filtrze medianowym 3x3 uśrednionemu kwadratowi modułu lokalnego gradientu intensywności (5.2.1.2). W przypadku wyłączenia tego parametru z procesu znajdowania lokalnych struktur w obrazie, wynikowa mapa dysparycji zawiera znaczną liczbę fałszywych dopasowań. Podobnie jak dla pary testowej „Fiesta”, zweryfikowana mapa dysparycji jest stosunkowo rzadka. Istnieje również duża gama obrazów, dla których wyniki działania algorytmu stereowizyjnego, bazującego na tensorze strukturalnym nie są zadowalające. Dotyczy to w oczywisty sposób obrazów, dla których zastosowanie operatora tensorowego jest trudne lub wręcz niemożliwe. Część z tego typu przypadków dyskutowana była przy okazji badania właściwości tego operatora (5.2.3). W odniesieniu do rodzajów obrazów stereoskopowych grupa ta zawiera obrazy silnie zaszumione, jak również obrazy syntetyczne zawierające wiele jednorodnych powierzchni. Szczególnie niekorzystnymi przypadkami są tutaj obrazy typu
122
Rysunek 6.30: a — mapa dopasowywanych miejsc, b — błędna mapa dysparycji po wyłączeniu dyskryminacji amplitudowej „Stereogram losowy” oraz „Równia intensywności ” (Tabela 3.4). 6.2.11.1 Oszacowanie dokładności algorytmu W większości przypadków oszacowanie dokładności wynikowej mapy dysparycji jest bardzo trudne, gdyż wymaga ono znajomości prawdziwych wartości dysparycji, występujących w danej stereoparze. Tylko w przypadku niektórych par testowych znane są tzw. mapy prawdziwej wartości dysparycji. Niestety, pary te są obrazami syntetycznymi, a tym samym nie umożliwiają sprawdzenia działania algorytmu dla obrazów, dla których może on znaleźć realne zastosowanie. Problemem jest tutaj również postać mapy prawdziwej dysparycji, gdyż przeważnie jest ona związana z wybranym obrazem referencyjnym. Nad znalezieniem ogólnych metod testowania oraz porównywania różnych algorytmów stereoskopowych pracuje wielu autorów, np. Ishikawa i Geiger [111] a także Leclerc, Luong oraz Fua [143]. Jednakże, problem ten pozostaje ciągle otwarty. W celu oceny jakościowej algorytmu tensorowego autor opracował metodę opartą na porównaniu działania algorytmu z wynikami dopasowania uzyskanymi przez człowieka dla tej samej pary obrazów testowych. Podobne testy stosowali: Wei, Brauer oraz Hirzinger [245]. Proponowana metoda polega na generacji punktów losowych metodą typu Monte Carlo [30][248]. Położenie tych punktów jest jednocześnie zgodne z obszarami wiarygodności wyznaczonymi w wyniku przetworzenia wartości składowej spójności tensora strukturalnego (6.2.6). Generowane punkty otrzymujemy w wyniku działania generatora liczb pseudolosowych o rozkładzie równomiernym. Następnie, wybrane punkty są dopasowywane przez człowieka. Otrzymane w ten sposób wartości dysparycji są porównywane z wartościami uzyskanymi w wyniku autonomicznego działania algorytmu. Do przeprowadzenia tego typu eksperymentów zaprojektowany został specjalny program, który dokonywał losowej generacji punktów, a następnie prowadził użytkownika po każdym z nich, z jednoczesnym zaznaczeniem właściwej linii epipolarnej. Wygenerowane punkty losowe odpowiadają wyłącznie lokacjom, dla których występuje silny sygnał lokalnej strukturalności, co widzimy również, porównując Rysunek 6.31 a oraz Rysunek 6.15d (jasne miejsca). Punkt, dla którego określamy wartość dysparycji zostaje wyróżniony specjalnym kolorem. Dodatkowo prowadzona jest także odpowiadająca mu linia epipolarna, ułatwiająca znalezienie odpowiednika w drugim obrazie. Liczba punktów losowych może być ustawiana przez eksperymentatora. W praktyce wartość tę określano w zależności od rozdzielczości obrazu, tak aby stanowiła znaczącą statystycznie próbę, a jednocześnie nie przekraczała pewnej umownej wartości, dla której proces ręcznego dopasowywania stałby się zbyt uciążliwy, prowadząc tym samym do potencjalnych błędów. Pewną część wszystkich eksperymentalnych wyników testów, prowadzonych na wybranej grupie obrazów prezentują poniższe wykresy. W opisanym tutaj eksperymencie brały udział trzy osoby, które badały trzy obrazy testowe: „Ulica”, „Tsukuba”, oraz „Telefon” (Tabela 3.4), każdy przy 32 oraz 64 wygenerowanych punktach losowych. Rysunek 6.32 oraz Rysunek 6.33 zawierają wykresy dopasowań przeprowadzonych przez jedną z osób
123 testujących (marker trójkątny), jak również dopasowań uzyskanych w wyniku działania stereowizyjnego algorytmu tensorowego (marker kołowy). Wykres słupkowy odzwierciedla różnicę pomiędzy tymi dopasowaniami. Na wykresach umieszczono także wartość miary RMSE, policzoną dla obydwu typów dopasowań, jak również procentowy udział wartości odstających, za które uznawane były te punkty, w których rozbieżność pomiędzy dopasowaniem dokonanym przez człowieka a dopasowaniem maszynowym przekraczała wartość RMSE. Rysunek 6.34 przedstawia wyniki uzyskane przez osobę testującą nr 3, tym razem przy 32 punktach.
Rysunek 6.31: Obrazy a — telefon oraz b — Pentagon z wygenerowanymi punktami do ręcznego wyznaczania wartości dysparycji Wyniki testów prowadzonych niezależnie przez trzy osoby — na trzech stereoparach i przy 32 punktach testowych — prezentuje Rysunek 6.35. Uzyskana w ten sposób średnia wartości odstających wynosi ok. 19%, natomiast RMSE ok. 8. Numeracja na osi poziomej (Rysunek 6.35) oznacza kolejny obraz testowy zgodnie z poniższym kluczem: Wyniki analogicznych pomiarów, tym razem dla 64 punktów testowych, przedstawia Rysunek 6.36. Wartości liczby punktów odstających oraz RMSE są nieco większe i wynoszą odpowiednio: 22% oraz 7. Numeracja na osi poziomej (Rysunek 6.36) oznacza kolejny obraz testowy zgodnie z poniższym zestawieniem. Uzyskane wyniki mogą stanowić pewien punkt wyjścia przy próbie bardziej precyzyjnej oceny jakości działania algorytmu tensorowego. Niemniej jednak, nie podajemy tutaj wartości absolutnych wynikających z działania tego algorytmu dla każdej pary testowej, i w każdym punkcie, lecz jedynie pewne ich oszacowanie. Jest ono jednak dokładniejsze niż tradycyjne porównywanie wzrokowe, kończące się wnio-
124
Rysunek 6.32: Wyniki testów Monte Carlo dla 64 punktów: a — „Ulica” (max. dysp.20), b — „Tsuluba” (max. dysp.20)
Rysunek 6.33: Wyniki testów Monte Carlo dla 64 punktów (obraz Telefon - max. dysp 30): a — osoba 1, b — osoba 2
Rysunek 6.34: Wyniki testów Monte Carlo dla 64 punktów (osoba 1): a — „Ulica”, b — „Tsuluba” skiem, że dany algorytm radzi sobie w danych warunkach lub też nie. Stwierdzone istnienie około 20% wartości odstających, które można uważać za błędne dopasowania, nie dziwi po uwzględnieniu charakteru testowanych obrazów. Jednak na pewno czynnikiem decydującym o tak dużej wartości błędów było przyjęcie przez osoby testujące cokolwiek arbitralnej wartości maksymalnej dopuszczalnej dysparycji w obrazach. Jest to praktycznie jedyny parametr algorytmu tensorowego, który determinuje działanie całego algorytmu — przyjęcie zbyt dużej wartości dysparycji powoduje znaczny wzrost błędnych dopasowań.
125
Rysunek 6.35: Wyniki testów Monte Carlo dla 32 ponktów (objaśnienia w tekście): a — procentowy udział punktów odstających, b — RMSE Tabela 6.10: Przyjęta numeracja obrazów testowych. Nr 1 2 3 4 5
Para testowa (maksymalny zakres dysparycji), nr testera „Ulica” (20) — Tester 1 „Ulica” (20) — Tester 2 „Ulica” (20) — Tester 3 „Telefon” (30) — Tester 1 „Telefon” (30) — Tester 2
Nr 6 7 8 9
Para testowa (maksymalny zakres dysparycji), nr testera „Telefon”(30) — Tester 3 „Tsukuba”(20) — Tester 1 „Tsukuba”(20) — Tester 2 „Tsukuba”(20) — Tester 3
Rysunek 6.36: Wyniki testów Monte Carlo dla 64 ponktów; oś pozioma — nr obrazu wg tabeli 6.11: a — procentowy udział punktów odstających, b — RMSE Należy jednak stwierdzić, że wrażliwość innych algorytmów na ten parametr jest jeszcze większa (Rozdział 4). Zauważyć również można, że przeprowadzana w tym teście korelacja stereoskopowa bazowała na mapach dysparycji, które nie były poddane procesowi walidacji wzajemnej czy też filtracji wartości odbiegających, co niewątpliwie miało wpływ na stosunkowo dużą zawartość fałszywych dopasowań w wynikach testu. Z drugiej jednak strony, ten sposób przeprowadzenia całości testów, gwarantuje jednakowe traktowanie (nieprzetworzonych) wynikowych map dysparycji bez względu na rodzaj obserwowanej sceny. W przypadku niektórych rozbieżności między wartościami wybranymi przez człowieka, w porównaniu z obliczonymi przez komputer, nierozstrzygnięte pozostaje pytanie, kto popełnił błąd. Założeniem tego typu eksperymentów jest przekonanie, że człowiek, posiadający możliwość znacznie głębszej analizy cech obrazu, może dokonać praktycznie — zawsze właściwego dopasowania. Jego błędy, o ile występują, pochodzą głównie z pewnej niedokładności wskazania swojego wyboru, np. przez niewłaściwe zaznaczenie
126
Tabela 6.11: Przyjęta numeracja obrazów testowych. Nr 1 2 3 4 5
Para testowa (maksymalny zakres dysparycji), nr testera „Ulica” (20) — Tester 1 „Tsukuba” (20) — Tester 1 „Telefon” (30) — Tester 1 „Ulica” (20) — Tester 2 „Ulica” (30) — Tester 3
Nr 6 7 8 9
Para testowa (maksymalny zakres dysparycji), nr testera „Tsukuba”(30) — Tester 2 „Tsukuba”(20) — Tester 3 „Telefon”(30) — Tester 2 „Telefon”(30) — Tester 3
punktu na drugim obrazie stereopary. Wnioskując w ten sposób, możemy stwierdzić, że tylko punkty wyznaczone przez badany algorytm, które w znacznym stopniu odbiegają od dopasowanych przez człowieka, uznajemy za błędne. W praktyce poziom ten określany był na ±2 piksele, jako wyznaczony doświadczalnie próg dokładności ręcznego dopasowywania.
6.2.12
Warianty tensorowego algorytmu stereowizyjnego
W oparciu o tensorowy operator lokalnej struktury w obrazach monochromatycznych opracowany został algorytm stereowizyjny, wytwarzający zwartą mapę dysparycji. Podstawowa różnica w stosunku do algorytmu przedstawionego w poprzednich rozdziałach polega na innej organizacji wewnętrznej pętli przetwarzającej, którą przedstawia Rysunek 6.10. Jest to struktura algorytmu typu KPP (4.4), dopasowującego obszarami (Rozdział 7). W tym rozwiązaniu wartość tensora strukturalnego (6.2) potraktowana została jako pole wektorowe, odpowiadające obrazowi wejściowemu. Funkcja kosztu dla pojedynczej pary dopasowywanych punktów została wybrana jako: 1. suma wartości absolutnych różnic składowych, 2. suma kwadratów różnic składowych. Pozostałe etapy algorytmu przebiegają analogicznie jak w przypadku innych metod dopasowujących obszarami (Rozdział 7). 6.2.12.1 Wyniki eksperymentalne Wyniki eksperymentalne tensorowego algorytmu dopasowującego obszarami przedstawiają rysunki:
Rysunek 6.37: Wyniki działania algorytmu dopasowującego obszarami, wykorzystującego postać tensorową obrazu wraz z metryką taksówkową: a — obszar dopasowania 7x7, b — obszar dopasowania 11x11
127 Czasy działania algorytmu dla pary testowej „Korytarz ” (Rysunek 6.37) to odpowiednio: 13.179 oraz 29.702 sekund5 . W zależności od rozmiarów okna dopasowującego zauważyć można różny stopień rozmycia wynikowej mapy dysparycji. Efekt ten jest charakterystyczny dla wszystkich algorytmów dopasowujących obszarami (Rozdział 7). Jeżeli chodzi o jakość mapy dysparycji, to wyniki działania są w tym przypadku porównywalne z innymi algorytmami dopasowującymi po obszarach, co można zauważyć, porównując Rysunek 6.37 oraz Tabelę 7.1. Niekorzystne są natomiast czasy działania tego algorytmu.
Rysunek 6.38: Stereopara „Fiesta” dopasowywana obszarami, operator tensorowy z metryką taksówkową: a— obszar 5x5, b — 11x11 Czasy działania w przypadku stereopary „Fiesta” wynoszą odpowiednio: 9.975 oraz 42.381 sekund. W odróżnieniu od poprzedniej, ta stereopara jest mocno zniekształcona i zaszumiona, a linie epipolarne tylko w większych partiach obrazów pokrywają się z liniami skanowania. Dlatego w tym przypadku lepsze rezultaty otrzymujemy po zadaniu dodatkowego obszaru poszukiwań również w kierunku dysparycji pionowych, co w przypadku algorytmu tensorowego typu KPD było zupełnie niepraktyczne (Rozdział 4).
Rysunek 6.39: Stereopara „Fiesta” dopasowywana obszarami o rozmiarze 11x11: a— z metryką L2 , b — z metryką L2 oraz dodatkowo porównywanym sygnałem intensywności Rysunek 6.39 również przedstawia wyniki działania dla stereopary „Fiesta”, tym razem jednak z wykorzystaniem metryk typu L2 . Czasy działania algorytmu wynoszą odpowiednio: 60.527 oraz 69.861 sekund. Ocena jakości map dysparycji, jak również czasu działania algorytmu, wykazuje większą przydatność metryki taksówkowej. W przypadku tego typu algorytmów, kosztem znacznego zwiększenia czasu obliczeń, nastąpiła jedynie nieznaczna poprawa wyników w stosunku do klasycznych metod dopasowujących obszarami (Rozdział 5 Tak jak we wszystkich pozostałych eksperymentach, użyty został komputer IBM PC (R) z procesorem Pentium III (R), zegar 800 MHz, 256 MB pamięci RAM.
128 7). Metoda ta przypomina nieco metody stereowizyjne, wykorzystujące obrazy kolorowe — trzykrotnie większa ilości informacji na piksel powoduje jedynie niewielką poprawę jakości wynikowej mapy dysparycji w porównaniu z procesem korelowania wyłącznie obrazów monochromatycznych. W przypadku obrazów zawierających informacje o kolorach poprawa ta wynosi zaledwie od kilku do kilkunastu procent [123] [137] [138]. Stosowanie tej metody może więc być uzasadnione, gdy posiadamy tensorową reprezentację stereopary, a jednocześnie jest nam potrzebna zwarta mapa dysparycji. Może to być zatem algorytm uzupełniający w stosunku do algorytmu wykorzystującego pełną informację płynącą z postaci tensorowej.
6.2.13
Wnioski oraz analiza końcowa tensorowego algorytmu stereowizyjnego
Przedstawiony w tym rozdziale tensorowy algorytm stereowizyjny należy do klasy algorytmów stereoskopowych, bazujących na detekcji cech w obrazie (4.1). Cechy te wyodrębniane są za pomocą operatora tensora strukturalnego, przedstawionego wraz z możliwą postacią implementacyjną w (5.2). Charakterystyczne jest tutaj nie tylko wyodrębnienie lokalnego kierunku (fazy) wektora reprezentującego lokalną strukturę w pewnym sąsiedztwie każdego elementu obrazowego, ale również przypisanie miary spójności tej strukturze, pozwalające na dalsze uszczegółowienie jej rodzaju (5.2.1.2). Trzeci ze składników, będący uśrednionym modułem wektora gradientu sygnału luminancji obrazu (5.71), przenosi niezbędną informację o poziomie sygnału, z którego wnioskujemy o parametrach strukturalnych lokalnego sąsiedztwa. Informacji przenoszonych w ten sposób jest więc znacznie więcej, aniżeli jest wykorzystywane w przypadku innych metod bazujących na takich cechach obrazowych jak krawędzie, czy też narożniki. Dlatego też metoda ta wykazuje, odmienne cechy jakościowe w porównaniu do znanych algorytmów stereowizyjnych, bazujących na detekcji cech. Potwierdzeniem tej tezy są wyniki działania implementacji tego algorytmu na wybranym zbiorze obrazów testowych (6.2.11). Algorytm radzi sobie dobrze ze stosunkowo trudnymi do dopasowania obrazami rzeczywistymi (np. Rysunek 6.27, Rysunek 6.28 oraz Rysunek 6.29), co praktycznie w przypadku wszystkich innych implementacji testowanych metod stereoskopowych prowadziło do znacznie gorszych wyników (Rozdział 6). Istotne znaczenie ma tutaj, właściwa tej metodzie, zdolność do automatycznego wykrywania miejsc o silnej lokalnej strukturalności oraz tych, dla których określenie parametrów takiej strukturalności jest niemożliwe, np. miejsc silnie zaszumionych lub miejsc o jednorodnej wartości sygnału luminancji. Tego typu miejsca są największą przeszkodą praktycznie dla każdego algorytmu stereoskopowego i w zależności od stopnia odporności na nie można dokonać oceny przydatności danego algorytmu do pracy z obrazami rzeczywistymi. Pewną formę takiego mechanizmu wprowadził Scharstein do swojej wersji algorytmu gradientowego [202]. Podobną próbę podjęli również Wei, Brauer oraz Hirzinger w algorytmie z sieciami neuronowymi o radialnych funkcjach bazowych [245], jednak kosztem znacznego zwiększenia złożoności obliczeniowej całego algorytmu. W prezentowanym tu algorytmie z tensorem strukturalnym informację o miejscach z wyraźnie zarysowaną lokalną strukturalnością uzyskuje się równolegle z informacją o parametrach tej struktury i dlatego zdobycie zasadniczej informacji praktycznie nie powoduje zwiększenia czasu obliczeń. Warto również zwrócić w tym miejscu uwagę na fakt, że raz otrzymana postać tensorową obrazów wejściowych może być wykorzystywana w dalszych etapach przetwarzania tych obrazów, niekoniecznie związanych z procesem stereowizyjnym. Może to dotyczyć np. wydobycia informacji o krawędziach lub też o koncentracji różnych obiektów w pewnych częściach obrazu. Przykładową aplikacją, dokonującą tego typu wszechstronnej analizy obrazu jest system komputerowego wspomagania osób niewidomych oraz niedowidzących [136]. Właściwą postać stereowizyjnego algorytmu tensorowego wykorzystuje schemat KPD organizacji obliczeń (4.4). Kosztem większej złożoności pamięciowej możliwe jest tutaj uzyskanie dodatkowych korzyści z szukania końcowych wartości dysparycji — na podstawie całej przestrzeni kosztu dopasowania. Możliwe jest np. wykorzystanie niedawno wprowadzonych do zagadnień stereowizyjnych technik dyfuzyjnych [201][185], które umożliwiają jakościowo lepszą eliminację fałszywych dopasowań [202]. Charakterystyczna dla algorytmów klasy KPD rzadka mapa dysparycji w większości zastosowań jest wystarczająca (4.2), tym bardziej że zyskujemy tutaj na dokładności wartości dysparycji oraz na skróceniu czasu obliczeń. W zastosowaniach, które wymagają pełnej mapy dysparycji (np. synteza obrazów), możemy dokonać interpolacji w celu wyznaczenia brakujących wartości. Można też w tym przypadku wypełnić brakujące miejsca wartościami otrzymanymi w wyniku zastosowania innej metody stereowizyjnej, która daje pełną mapę dysparycji. Opracowana została także inna wersja algorytmu, wykorzystująca tensor strukturalny, a działająca na zasadzie algorytmów dopasowujących obszarami (6.2.12). Wykorzystuje ona z kolei schemat KPP
129 organizacji obliczeń (4.4). W tym przypadku wyniki działania algorytmu są porównywalne z wynikami algorytmu SAD (Rozdział 7), który został oceniony jako najlepszy w swojej klasie dla obrazów rzeczywistych (Tabela 7.2). Niestety, znacznie większy jest sam czas jego działania, co jest zrozumiałe po analizie postaci przetwarzanego sygnału wejściowego. Występujący prawie zawsze problem częściowego przysłaniania obiektów i wynikające z tego powodu fałszywe dopasowania zostały znacznie zredukowane poprzez etapy dalszego przetwarzania wynikowej mapy dysparycji (6.2.9). Zastosowano tu metodę walidacji wzajemnej oraz filtracji nieliniowej, które w znacznym stopniu przyczyniają się do redukcji fałszywych dopasowań. Na zakończenie dodajmy, że do niewątpliwych zalet prezentowanej tu metody zaliczyć należy występowanie właściwie tylko jednego parametru kontrolującego działanie algorytmu, którym jest maksymalny dopuszczalny zakres spodziewanych dysparycji w obrazie. Heurystyczna metoda wstępnego szacowania tego parametru, oparta na analizie wariogramów (6.2.7), pozwoliła na automatyczną generację jego wartości początkowej. Liczne testy z różnorodnymi obrazami stereoskopowymi wykazały, że pozostałe parametry w większości przypadków mogą pozostać stałe, tym samym nie wymagając ingerencji człowieka w proces dopasowywania. Ta bardzo ważna cecha predestynuje prezentowany algorytm do pracy w rzeczywistych systemach nawigacyjnych. 6.2.13.1 Dalsze aplikacje tensorowego algorytmu stereowizyjnego Uzyskane wyniki działania tensorowego algorytmu stereowizyjnego wykazały wystarczająco dużą dokładność modułu dopasowującego te punkty, które charakteryzują się wysokim stopniem strukturalności (tzn. dla których sygnał spójności ma wartość znacznie powyżej pewnego minimum). Otwiera to dalsze możliwości zastosowania algorytmu tensorowego do wszystkich tych zagadnień, które bazują na precyzyjnym dopasowaniu wzajemnie odpowiadających sobie punktów w różnych obrazach. Można tutaj wymienić przykładowo problem znajdowania macierzy fundamentalnej (3.3.1.2), znajdowanie tensora dwu- i trójogniskowego (3.3.1.1), rekonstrukcje mozaikowe (ang. mosaic) [234] oraz samokalibrację kamer (3.4.3). 6.2.13.2 Możliwości rozwoju metody Zaprezentowane właściwości tensorowego algorytmu stereowizyjnego wskazują na możliwości dalszego rozwoju zarówno samej metody, jak i jej implementacji. Wyłaniają się tutaj następujące obszary możliwych udoskonaleń: • Wykorzystanie tzw. przestrzeni skal [218] [113] [185] [68]. Podejście to polega na wieloetapowym przetwarzaniu obrazów, występujących w różnej skali, czyli ukazującym zależne od skali cechy obrazowe. Przetwarzanie takie mogłoby być wieloetapowe, począwszy do skali zgrubnej, a postępujące w miarę potrzeb do skali dokładnej. Każdy z następujących po sobie etapów może korzystać z wyników etapu wcześniejszego, np. w celu określenia zakresu dopuszczalnych dysparycji w pewnym obszarze. Nieco podobne podejście wykorzystane zostało w algorytmie MPG (6.1). • Adaptacyjne okno zastosowane do procesu agregacji. Tego typu mechanizm umożliwia lepszą agregację wartości kosztu dopasowań pojedynczych pikseli w zależności od treści obrazu w danym obszarze. Adaptacyjne okno w procesie korelowania obrazów stereoskopowych było stosowane np. przez Lottiego i Giraudona [150], jak również przez Kanadę oraz Okutomiego [119]. • Zrównoleglenie obliczeń — dotyczy wszystkich etapów obliczeniowych algorytmu, które mogą być wykonywane równolegle. Tego typu architektura algorytmu umożliwia nie tylko przyspieszenie obliczeń, ale również prowadzenie obliczeń na tzw. systemach rozproszonych. Coraz bardziej rozwinięte systemy mikroprocesorowe zachęcają do prowadzenia badań w tym kierunku (9.2). Pewną wadą jest tutaj konieczność indywidualnego podejścia do zmiany każdego etapu algorytmu na równoległy [192][247]. • Metody dyfuzyjne w procesie agregacji zbiorowego wkładu dopasowania [185] [24]. Wykazano [202] [119], że tego typu podejście daje jedno z najlepszych rezultatów, o ile chodzi o jakość wyjściowej mapy dysparycji, gdyż umożliwia ono całościowe spojrzenie na rozkład szczątkowych wartości dopasowań dla kolejnych poziomów dysparycji. Wadą tego rozwiązania jest znaczne zwiększenie złożoności obliczeniowej całości algorytmu, gdyż proces dyfuzji jest procesem iteracyjnym.
130 • Adaptacyjne wyznaczanie maksymalnego dopuszczalnego zakresu dysparycji w obszarach obrazów wejściowych. Możliwość dokładnego wyznaczenia tej wartości dla podobszarów obrazów wejściowych może w znacznym stopniu przyczynić się do poprawy działania algorytmu w tych obszarach, gdyż praktycznie wszystkie algorytmy stereoskopowe są bardzo wrażliwe na wartość tego parametru. Jednym z możliwych rozwiązań byłoby wstępne wyznaczenie wartości dysparycji, a następnie ich weryfikacja w iteracyjnych przebiegach algorytmu. • Zastosowanie sztucznych sieci neuronowych przede wszystkim na etapie zbiorowej agregacji w przestrzeni dysparycyjnej (6.2.8), jak również na etapie modyfikującym wynikową mapę dysparycji. Szczególnie obiecujące wydają się być rozwiązania bazujące na radialnych funkcjach bazowych [97] [179] [245] [246].
Rozdział 7
Dopasowywanie obszarami 7.1
Metody stereoskopowe dopasowujące obszarami
Dopasowywanie obszarami (ang. area-based matching) dokonuje się z wykorzystaniem miar porównawczych, zaprezentowanych w rozdziale (4.5) (Tabela 4-3). Rysunek 7.1 przedstawia ogólny schemat blokowych algorytmów stereowizyjnych dopasowujących obszarami. W praktyce każdy z widocznych bloków przetwarzania danych różni się w pewnym zakresie, zgodnie ze szczegółowymi założeniami w odniesieniu do geometrii i parametrów układu akwizycji, a także w zależności od charakteru obrazów wejściowych oraz założeń obliczeniowych.
Rysunek 7.1: Etapy uogólnionego algorytmu stereowizyjnego dopasowującego obszarami z wykorzystaniem jednej z miar porównujących stopień równości obrazów binarnych (zob. tabela 4.3) — moduły zaciemnione są opcjonalne Większość algorytmów dopasowujących obszarami podlega schematowi algorytmów stereoskopowych opisanemu w (4.1). Zadaniem modułu akwizycji obrazów (I) jest dostarczenie pary stereoskopowej w postaci cyfrowej. W przypadku większości algorytmów tego typu, również w tych zaimplementowanych przez autora, wymagane jest, aby para ta była otrzymana w układzie standardowym lub też zrektyfikowana. W przypadku ogólnym, gdy akwizycja nie odbywała się w kanonicznym układzie kamer, moduł akwizycji uzupełniony być musi etapem znajdującym geometrię epipolarną obserwowanej sceny, a reprezentowanej przez parę obrazów wejściowych [259]. Cechą charakterystyczną dla algorytmów wykorzystujących miary porządkujące, takie jak Census lub Rank (4.5), jest dodatkowy moduł (II) transformujący sygnał intensywności z obrazów wejściowych na inną postać. Najbardziej charakterystyczny w tym przypadku jest jednak sam moduł dopasowywania obszarami (III). Przeważnie, ze względu na ograniczenia pamięciowe oraz łatwość implementacyjną, zorganizowany jest on w postaci kilku zagnieżdżonych pętli programowych, zgodnie ze schematem KPP — algorytmów kroczących po punktach (4.4). Organizację tę prezentuje Algorytm 7.1. Algorytm ten zawiera co najmniej cztery pętle. Pierwsza , najbardziej zewnętrzna, organizuje strukturę pewnego obszaru dopasowującego wokół każdego elementu obrazu; najczęściej jest to obraz lewy. W tym przypadku jest to prostokąt, którego wielkość we współrzędnych pikselowych określa zmienna
132 obszar. Rozmiary tego prostokąta przeważnie pozostają stałe, zmienia się tylko położenie jego punktu środkowego, który — tak jak już wspomniano — przyjmuje współrzędne kolejnych pikseli obrazu referencyjnego. Rozmiary oraz kształt tego obszaru mogą ulegać zmianom w przypadku adaptacyjnego algorytmu stereowizyjnego, w zależności od np. lokalnej tekstury obrazu. Następnie zorganizowane są dwie pętle, przebiegające po potencjalnych wartościach dysparycji. Są to: opcjonalna pętla po dysparycjach pionowych oraz pętla po dysparycjach poziomych. Zakres tej drugiej określają parametry: h form oraz h to (kod inicjujący ominięto). Następne dwie pętle, linie oraz , organizują iteracje we właściwym obszarze porównawczym. Dla każdego piksela w tym obszarze obliczana jest pewna miara dopasowania. W tym przypadku jest to miara SSD (Tabela 4.3). Zmienne sum oraz diff są lokalnymi zmiennymi pomocniczymi. Natomiast zmienna prev sum przechowuje najlepszą wartość dopasowania w poprzednich krokach iteracji (jej inicjalizacja następuje poprzez wywołanie funkcji MaxSum , która zależy od rodzaju przyjętego kryterium porównawczego). W tym rodzaju algorytmów (4.1), etap znajdowania zbiorowego wkładu dopasowania w pewnym otoczeniu dokonuje się równocześnie z etapem znajdowania funkcji dopasowania poszczególnych par pikseli. Zaraz po znalezieniu zbiorowego wkładu dopasowania, następuje etap wyboru najbardziej prawdopodobnego dopasowania w sensie przyjętego kryterium , a tym samym do określenia wartości dysparycji .
Algorytm 7.1 Organizacja modułu dopasowującego obszarami w algorytmach stereowizyjnych typu KPP. 1 2 3 4 5 6 7 9 10 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39
// Zewnętrzna pętla przebiegająca po każdym pikselu // Zakres obszaru dopasowującego określa parametr "obszar", // który definiuje pewien prostokąt o współrzędnych narożników: // [obszar.left, obszar.top] oraz [obszar.right, obszar.bottom]. for(obszar = kPoczątek; obszar != kKoniec; PrzesuńOPiksel(obszar)) { double prev sum = MaxSum(obszar); // inicjowanie zmiennej lokal. 8 // Opcjonalna pęta po dysparycjach pionowych for( i int vert off = v frorn; vert off <= v to; vert off++ ) // Pętla po dysparycjach poziomych w zadanym zakresie // parametrami "h from" oraz "h to" for( int horz off = h from; horz off <= h to; horz off ++ ) { double sum = 0.0; // zeruj licznik 17 // Pierwsza pętla po obszarze dopasowującym // - kierunek poziomy for( int i = obszar.left; i < obszar.right; i ++ ) { // Druga pętla po obszarze dopasowującym // - kierunek pionowy for( int j = obszar.top; j < obszar.bottom; j ++ ) { double diff = obrazLewy->GetPixel(i, j) obrazPrawy->GetPixel(i - horz off, j + vert off); sum += diff * diff; // tutaj obliczamy SSD } } // Sprawdź, czy jest to najlepsze jak dotąd dopasowanie if( sum < prev sum ) { // w tym przypadku, jest to najlepsze dopasowanie prev sum = sum; // zapamiętujemy sumę "odniesienia" dysparycja pozioma = horz off;// zapamiętujemy najlepsze dysparycja pionowa = vert off;// wartości dysparycji
133 }
40 41 42 43
} } }
Po tym etapie obszar zostaje przesunięty o jeden piksel poprzez wywołanie funkcji PrzesuńOPixel , a proces określenia dysparycji dla nowego elementu obrazowego przebiega analogicznie do wyżej opisanego. Na podstawie powyższej analizy można już dokonać oszacowania złożoności obliczeniowej [41] algorytmów stereowizyjnych tego rodzaju, która wynosi: O(N M Dv Dh )
(7.1)
W przypadku wyłączenia przeszukiwania w pionie: O(N M Dh )
(7.2)
gdzie: N oznacza liczbę pikseli w każdym z pojedynczych obrazów stereopary, M oznacza liczbę pikseli w obszarze dopasowania, natomiast Dv oraz Dh , zakres dopuszczalnej dysparycji — odpowiednio w kierunku pionowym oraz poziomym w stosunku do układu pikselowego obrazów. Nawet dla obrazów o małej rozdzielczości 512 × 512 pikseli i polu poszukiwań np. 13 × 13, co daje N = 262 144, M = 169, oraz dla np. Dv = 1, Dh = 16, otrzymujemy ponad 700 milionów operacji podstawowych. Do nastaw początkowych tego typu algorytmów zaliczyć można: 1. Kształt oraz rozmiar obszaru poszukiwań (w praktyce jest to kwadrat). 2. Zakres maksymalnych dysparycji Dv oraz Dh . 3. Krok przesunięcia obszaru poszukiwań (przeważnie jest to krok wielkości 1 piksela, dla tzw. zwartych map dysparycji).
7.1.1
Wyniki eksperymentalne
Poniższa tabela zawiera zestawienie wyników działania algorytmu stereowizyjnego dopasowującego obszarami na wybranych obrazach testowych (Tabela 3.4) — z wykorzystaniem kilku najpopularniejszych miar porównawczych (Tabela 4.3). Wszystkie algorytmy zostały napisane przez autora przy zastosowaniu języka C++ i w środowisku Windows NT(R). Prezentowane dalej testy przeprowadzono na komputerze typu IBM PC T M , procesor Pentium III (R), zegar 800 MHz, 256 MB pamięci RAM. We wszystkich przypadkach obszar poszukiwań był kwadratem o boku 11 pikseli.
SAD
Miara
Tabela 7.1: Tabela 7.1. Wyniki eksperymentalne dopasowywania obszarami dla par obszarów testowych z wykorzystaniem różnych miar porównawczych.
Korytarz
Renault
Drzewo
Fiesta
Rank
Census
CoVar
ZSSD-N
SCP-N
SSD-N
SSD
134
Obrazy — „Korytarz ” oraz „Renault” — mają rozdzielczość 256 × 256 pikseli, natomiast „Drzewa” 256 × 233 oraz „Fiesta” 289 × 230 pikseli. Maksymalny zakres dopuszczalnej dysparycji poziomej został ustalony odpowiednio na 16, 8, 8 oraz 18 pikseli. Czasy działania poszczególnych algorytmów prezentują poniższe wykresy słupkowe. Analizując czasy działania poszczególnych algorytmów dla par testowych „Korytarz ” oraz „Renault” (Rysunek 7.2ab), które różnią się jedynie zakresem dopuszczalnych dysparycji poziomych Dh , zaobser-
135
Rysunek 7.2: Czasy działania ośmiu algorytmów dopasowujących obszarami dla czterech par testowych wować można zgodność z szacowaną złożonością obliczeniową (7.2). We wszystkich opisanych w tym rozdziale eksperymentach z algorytmami dopasowującymi obszarami stały pozostawał kształt i nie zmieniały się rozmiary obszaru dopasowań (11 × 11 pikseli). Natomiast od charakteru sygnału w danym obrazie oraz od wielkości tego obszaru zależy jakość wyjściowej mapy dysparycji. Większym rozmiarom odpowiada mniejsza liczba fałszywych dopasowań, ponieważ porównywana jest większa liczba pikseli. Dużemu „rozmyciu” ulegają jednak kontury obiektów w obrazie, co jest spowodowane w tym przypadku silnymi właściwościami uśredniającymi. Obszary małej wielkości powodują z kolei powstawanie dużej liczby fałszywych dopasowań, szczególnie w przypadku obrazów rzeczywistych. Skrajnym przypadkiem jest zmniejszanie obszaru dopasowań do wielkości jednego piksela, co prezentują poniższe mapy dysparycji: W przypadku pary testowej „PCB ” (Tabela 3.4) najlepsze wyniki otrzymujemy przy obszarze poszukiwań o wielkości 5 × 5 pikseli (Rysunek 7.3b). W przypadku innych obrazów rzeczywistych rozmiary te mogą być odmienne. Na podstawie powyższych wyników można spróbować dokonać oszacowania jakości działania poszczególnych wersji algorytmu dopasowującego obszarami w zależności od przyjętej metryki, czasu działania1 oraz jakości wyjściowej mapy dysparycji. Niezbędne zestawienie prezentuje Tabela 7.2. Oceniając jakość wynikowej mapy dysparycji oraz czas działania (Tabela 7.2) stwierdzić można, że (niespodziewanie) najlepszy okazuje się algorytm wykorzystujący miarę SAD (Tabela 4.3). Na drugim miejscu postawić można SSD-N oraz SCP-N. Dalsze wyniki eksperymentów prowadzonych na rzeczywistych parach stereoskopowych potwierdzają użyteczność miar Census oraz Rank [256] [55] [47]. Dokładną analizę głównych źródeł błędów, z którymi mamy do czynienia w przypadku algorytmów stereowizyjnych dopasowujących obszarami, podali Matthies oraz Xiong [162]. Przeprowadzona przez nich 1 Sposoby
pomiaru czasu działania algorytmów dyskutują Koenig i Moo [126].
136
Rysunek 7.3: Wyniki działania algorytmu SAD dla stereopary „PCB” (193x253) przy różnych rozmiarach obszaru przeszukiwań: a — 1x1, b — 5x5, c — 13x13 Tabela 7.2: Przyjęta numeracja obrazów testowych. Wynik 1 2 3 4 5 6 7 8
Jakość mapy dysparycji2 SAD SSD-N SCP-N Census Rank CoVar ZSSD-N SSD
Czas działania SAD Rank SSD SCP-N SSD-N Census ZSSD-N CoVar
analiza dotyczy algorytmów działających w systemie czasu rzeczywistego podczas badań nad systemem nawigacyjnym [163]. W aspekcie intensywnego rozwoju nowoczesnych metod przetwarzania obrazów zaobserwować można ciągły wzrost popularności metod dopasowujących obszarami z wykorzystaniem stosunkowo prostych metryk, takich jak np. SAD. Zjawisko to szczególnie mocno uwidacznia się w przypadku implementacji przemysłowych tego typu algorytmów (9.1), co tłumaczyć można między innymi małym stopniem komplikacji algorytmu, stosunkowo niewielką liczbą nastaw początkowych, dobrą znajomością tych metod w środowisku inżynierów i naukowców, jak również zupełnie wystarczającą jakością wyjściowej mapy dysparycji dla większości zastosowań.
7.2
Metody hybrydowe oraz niestandardowe
Metody stereoskopowe opisane w tym rozdziale łączą w sobie cechy metod bezpośrednich oraz dopasowujących z wykorzystaniem cech obrazowych (4.1).
7.2.1
Metoda Shirai
Algorytm zaproponowany przez Shirai, jako punkty do pasowania wybiera wyłącznie miejsca leżące na krawędziach [211] [123]. W tym przypadku krawędzie wydobywa się przeważnie za pomocą operatora LoG i tylko w jednym kanale [w przeciwieństwie np. do algorytmu MPG (6.1)]. Nie formułuje się też założeń odnośnie dodatkowych cech punktów krawędziowych, oprócz charakterystycznych dla operatora LoG krawędzi dodatnich i ujemnych (5.1). Detekcję krawędzi przeprowadzić można również wykorzystując inne algorytmy tego typu, np. detektor krawędzi Canny’ego [32] [182] [207]. Proces dopasowywania punktów, tak jak w algorytmie MPG, przebiega tylko dla punktów krawędziowych w pewnym oknie, wzdłuż linii epipolarnej. Dla wybranego punktu w jednym obrazie oraz punktu kandydata do pasowania z obrazu drugiego oblicza się kryterium dopasowania w pewnym otoczeniu tych dwóch punktów. Wielkość (oraz potencjalnie kształt) tego otoczenia jest parametrem zmiennym, adap-
137 tującym się do bieżącej „ jakości” dopasowania zgodnie z przyjętymi wartościami progowymi. Jako miarę dopasowania przyjęto SSD-N (Tabela 4.3). Do procesu dopasowywania dobierany jest początkowy zakres przeszukiwań k, jak również dobierane są trzy wartości progowe: t1 , t2 oraz t3 . Proces dopasowywania przebiega wyłącznie dla punktów krawędziowych, otrzymanych w wybranym oknie referencyjnym, może to być np. lewy obraz stereopary. Po obliczeniu kolejnej miary dopasowania następuje blok decyzyjny, który dokonuje arbitrażu zgodnie z poniższym schematem: 1. Jeżeli dopasowanie jest bardzo „dobre”, tzn. wynik dopasowania mieści się poniżej przyjętego progu t1 , to znalezione zostało prawidłowe dopasowanie; 2. Jeżeli dopasowanie jest bardzo „złe”, tzn. wynik dopasowania leży powyżej przyjętego progu t2 , lub też osiągnięto maksymalny zakres przeszukiwania, to skorelowanie danego punktu jest niemożliwe; 3. W przeciwnym wypadku następuje redukcja obszaru poszukiwań zgodnie z wartością t3 , a następnie dokonywane jest zwiększenie obszaru dopasowań i proces korelowania jest powtarzany. Ten przypadek odpowiada dopasowaniu, które „rokuje nadzieje” i jest szansa, że zostanie właściwie sklasyfikowane po zwiększeniu okna dopasowującego. Szkic implementacji tego algorytmu oraz wyniki działania dla stereopary testowej podają: Klette, Sch¨ ulns oraz Koschan [123]. Do największych problemów, które napotykamy przy używaniu tego algorytmu, należy dobór znacznej liczby parametrów progowych, jak również wybór właściwej metody detekcji krawędzi w obrazie. W prezentowanej implementacji tego algorytmu, jako detektor krawędzi wykorzystano operator LoG. Wyniki działania dla stereopary „Korytarz ” (Tabela 3.4) przedstawiają rysunki: Niestety, dla większości obrazów rzeczywistych wyniki działania tego algorytmu nie są zadowalające głównie z powodu istniejących tam zniekształceń oraz anizotropowości operatora krawędziowego.
Rysunek 7.4: Wyniki działania implementacji algorytmu Shirai dla operatora LoG 9: a — punkty krawędziowe, b — punkty niedopasowane, c — punkty dopasowane
Rysunek 7.5: Wyniki działania implementacji algorytmu Shirai dla operatora LoG 11: a — punkty krawędziowe, b — punkty niedopasowane, c — punkty dopasowane
138
Rysunek 7.6: Wyniki działania implementacji algorytmu Shirai dla operatora LoG 19: a — punkty krawędziowe, b — punkty niedopasowane, c — punkty dopasowane Algorytm ten jest przykładem algorytmu hybrydowego, który łączy w sobie cechy algorytmów bazujących na detekcji cech oraz algorytmów bezpośrednich dopasowujących obszarami (4.1).
7.2.2
Stereowizyjne metody neuronowe
Możliwe jest wykorzystanie sztucznych sieci neuronowych do procesu korelowania obrazów stereoskopowych. Różnym rodzajom sieci neuronowych poświęcone są coraz liczniejsze publikacje, np. [228] [149] [25] [53] [97]. Strukturę sieci neuronowej do detekcji płaszczyzn na podstawie stereogramów losowych przedstawił Becker wraz z Hintonem [16]. Zastosowanie sieci typu Hopfielda [157] do rozwiązywania problemu stereowizyjnego badali Cyganek, Korohoda oraz Borgosz [45][46]. Zastosowanie sieci neuronowych z radialnymi funkcjami bazowymi [97] zaprezentował Wei, a także Brauer oraz Hirzinger [245] [246]. Rozwiązanie wykorzystujące sieci neuronowe z radialnymi funkcjami bazowymi do procesu rozwiązywania problemu stereofotometrycznego3 przedstawił Iwahori wraz ze współpracownikami [112]. Oryginalną sieć do korelowania obrazów stereoskopowych metodą detekcji spójności zaproponował Henkel [100]. Rozwiązanie wykorzystujące sieć typu Hamminga przedstawił Cyganek [47]. W tym ostatnim przypadku obrazy wejściowe są wstępnie przetworzone operatorem Census (Tabela 4.3). Jak wykazały eksperymenty, taka postać sygnału jest bardziej dogodna do podania na warstwę wejściową sieci niż np. bezpośrednie podanie nieprzetworzonego sygnału luminancji. Strukturę użytej sieci Hamminga przedstawia Rysunek 7.7.
Rysunek 7.7: Sieeuronowa typu Hamminga znajdująca wartość dysparycji Pierwsza warstwa sieci przedstawionej na Rysunku 7-7 jest warstwą wejściową, na którą podajemy 3 Jest to proces stereoskopowy, w którym analizie poddawane są obrazy tej samej sceny, otrzymane tą samą kamerą, jednak przy różnych sposobach oświetlenia [112] [123] [241].
139 sygnał binarny, będący przetworzonym przy pomocy operatora Census sygnałem luminancji. Odpowiada on dopasowywanemu obszarowi, dlatego też liczbę neuronów N tej warstwy wyznaczamy z zależności: N =l·r·b
(7.3)
gdzie: l i r oznaczają rozmiar w pikselach regionu dopasowywania, b oznacza liczbę bitów dla wartości miary Census w każdym elemencie obrazu. Podczas eksperymentów wartość b wynosiła 8 bitów dla trójsąsiedztwa oraz 24 bity dla pięciosąsiedztwa. Można łatwo zauważyć (7.3), że tak wyznaczona liczba neuronów jest co najmniej o rząd wielkości większa niż liczba potencjalnych wzorców stereodopasowania, która z kolei równa jest maksymalnej spodziewanej wartości dysparycji w obrazie. Oznacza to dobre uwarunkowanie obliczeń z wykorzystaniem rekurencyjnych sieci neuronowych, gdyż sieć nie ulegnie saturacji z powodu nadmiaru wprowadzonych wzorców wejściowych. Zadaniem drugiej warstwy, tzw. warstwy odległości Hamminga, jest wyznaczenie odległości — w sensie Hamminga — między wektorem podanym na wejście tej warstwy a odpowiednim wektorem wagowym, zapamiętanym w procesie uczenia tej warstwy. Miara Hamminga wyraża się liczbą różniących się, odpowiednich współrzędnych dwóch wektorów. Wartość ta zostaje przetransformowana na wyjściu neuronu hi do wartości z zakresu [O, 1] zgodnie z zależnością: H=
1 1 W(1) x = l 2n 2
(7.4)
gdzie: l jest jednostkową macierzą kolumnową, x jest wektorem sygnałów wejściowych, natomiast wagi W (1) warstwy pierwszej inicjalizuje się wektorami wzorcowymi zgodnie z poniższą zależnością: (1) (1) (1) x1 x2 · · · xn (2) (2) (2) x1 x2 · · · xn (1) W = . (7.5) .. .. .. . .. . . (n) (n) (n) x1 x2 · · · xn (p)
gdzie: xn oznacza n-tą współrzędną, p-tego wektora-wzorca. Wektory te stanowią kolejne regiony dopasowania z drugiego obrazu stereopary. Następna warstwa sieci, tzw. warstwa MAXNET [179], działa według schematu zwycięzca-bierzewszystko (ang. winner-takes-all ). Celem tej warstwy jest wyłonienie neuronu zwycięzcy, czyli takiego, którego wagi są najbliższe do wektora podanego na wejście sieci, w sensie miary Hamminga. Cechą charakterystyczną tej rekurencyjnej warstwy, w przeciwieństwie do np. sieci Hopfielda, jest występowanie połączenia pobudzającego od wyjścia danego neuronu do jego własnego wejścia. Wartości wyjściowe tej warstwy neuronów wyznaczane są zgodnie z zależnością: X (m) dispi (k) = f yi (k − 1) + Wij yj (k − 1) (7.6) j6=i
f (x) =
x , 0 ,
x0 x<0
gdzie: k oznacza krok iteracji oraz początkowa wartość yj (0) = hj . Przed użyciem tej sieci, wagi warstwy MAXNET inicjalizowane są zgodnie z regułą: −
1 (m) + ξ < Wij < 0 , p−1
(m)
Wii
=1
(7.7)
gdzie: ξ oznacza wartość losową — w eksperymentach wartość ta była dobrana o rząd wielkości mniejsza niż pierwszy składnik zależności (7.7). Możliwe jest również wykorzystanie bardziej złożonej metody inicjalizacji, np. w postaci: X 1 (7.8) dispi (k) = f yi (k − 1) − (k − 1) yj (k − 1) , (k) = p−k j6=i
gdzie p stanowi ilość wektorów wzorcowych. W tym też przypadku wartości wag warstwy MAXNET są takie same i wynoszą −(k).
140 Proces iteracyjnego działania sieci przebiega do momentu, w którym wartości wyjściowe neuronów są ustabilizowane i tylko jeden neuron wyjściowy ma wartość różną od zera. Numer neuronu zwycięzcy jest równocześnie wartością dysparycji rozpatrywanych regionów. W pewnych przypadkach może się jednak zdarzyć, że żaden z neuronów nie zostanie wyłoniony jako neuron zwycięski. W takim przypadku wartość dysparycji jest nieokreślona. 7.2.2.1 Wyniki eksperymentalne z użyciem sieci Hamminga Poniższe rysunki obrazują wyniki działania sformułowanej przez autora implementacji metody stereowizyjnej, wykorzystującej sieć neuronową Hamminga, dla dwóch par testowych: „Drzewa”oraz „Korytarz AGH ” (Tabela 3.4).
Rysunek 7.8: Stereopara „Drzewa” przetworzona operatorem Census 3x3 (ab.). Stereopara „Korytarz AGH” przetworzona operatorem Census 5x5 (cd)
Rysunek 7.9: Mapy dysparycji otrzymane za pomocą sieci Hamminga: a — „Drzewa”, okno 21x21, b — „Dzrewa”, okno 11x11, c — „Korytarz AGH”, 11x11, d — 15x15 Na tej podstawie można wysunąć następujące wnioski dotyczące zastosowania sieci neuronow ej typu Hamminga: miara ta wydaje się być właściwa przy rozwiązywaniu problemu odpowiedniości obszarów w stereowizji, pod warunkiem wstępnego przetworzenia obrazów wejściowych operatorem Census. Proces uczenia sieci Hamminga jest bardzo efektywny, gdyż jest to zwykle proces jednoetapowy. Sieć odpowiada, wyłaniając neuron-zwycięzcę, którego numer jest bezpośrednio wartością dysparycji w rozpatrywanym obszarze. Złożoność pamięciowa i czasowa działania sieci jest korzystniejsza niż w przypadku innych badanych sieci neuronowych [45][46], ale jednocześnie gorsza niż np. w przypadku prostych algorytmów dopasowujących obszarami. Natomiast zalety tego typu sieci neuronowej ujawniają się w przypadku przetwarzania obrazów silnie zniekształconych lub zaszumionych [47]. Niewątpliwie, zastosowanie sztucznych sieci neuronowych do procesu stereowizji wymaga dalszych badań i poszukiwań nowych topologii tych sieci.
7.2.3
Metody wykorzystujące transformatę Log-Polar
Metodę stereowizyjną posługującą się transformatą log-polar analizowali Grosso oraz Tistarelli [85]. Metoda ta, inspirowana badaniami biologicznymi oraz fizjologicznymi, a w szczególności nad organizacją neuronów ludzkiego układu wzrokowego, dokonuje obliczeń dysparycji radialnej, której następnie używa się do mapowania wartości głębi względem punktu fiksacji. Badania anatomii oraz fizjologii siatkówki
141 ludzkiego oka wykazały znacznie większą rozdzielczość w otoczeniu punktu centralnego (łac. fovea), która potem zmniejsza się wraz ze wzrostem odległości w kierunku od centrum. Zjawisko to można modelować zarówno z wykorzystaniem transformaty log-polar, jak i sztucznych sieci neuronowych [167].
7.2.4
Metody gradientowe
Stereowizyjne metody gradientowe opierają budowę swojej funkcji dopasowania (4.4) głównie na lokalnych gradientach intensywności. Zakładając kanoniczny układ stereoskopowy (3.3.3), odpowiedniość intensywności punktów możemy zapisać jako równość4 [245]: Il (x, y) = Ir x + D(x, y), y (7.9) gdzie: Il (x, y) oraz Ir (x, y) są wartościami intensywności w punkcie o współrzędnych obrazowych (x, y), odpowiednio w obrazie lewym oraz prawym, a D(x, y) to wartość dysparycji w punkcie (x, y). Obliczając teraz pochodne (7.9) względem zmiennych x oraz y, otrzymujemy: ∂ ∂ ∂ D(x, y) Ir (ˆ x, y) (7.10) Il (x, y) = 1 + ∂x ∂x ∂x ˆ ∂ ∂ ∂ ∂ Il (x, y) = D(x, y) Ir (ˆ x, y) + Ir (ˆ x, y) ∂y ∂y ∂x ˆ ∂y gdzie: x ˆ = x + D(x, y) , natomiast Ir (x, y) można traktować jako prawy obraz zdeformowany pewnym (jeszcze nieznanym) sygnałem dysparycji D(x, y). Układ (7.10) implikuje, że: 1. Moduł oraz orientacja wektora maksymalnego gradientu sygnału intensywności, w odpowiadających sobie punktach, są takie same dla obrazu lewego oraz zdeformowanego obrazu prawego; 2. Zostało narzucone ograniczenie na wartość możliwego gradientu sygnału dysparycji, także w odpowiadających sobie punktach. Łatwo jednak zauważyć, że kryterium dopasowujące, które bazowałoby jedynie na (7.9) oraz (7.10), nie będzie wystarczająco dobre w przypadku obszarów o jednorodnym poziomie intensywności, np. obszarów reprezentujących okna, ściany, czy też lampy dla rzeczywistej pary testowej „Korytarz AGH ” (Tabela 3.4). Wei wraz ze współpracownikami [245] zaproponował podział obszaru obrazów na regiony z pewnymi cechami oraz regiony pozbawione cech, a następnie uzupełnienie funkcji kosztu o pewną formę kwadratową, gwarantującą gładkość w tych obszarach. Ostatecznie, zaproponowana funkcja kosztu wyraża się zależnością: X 2 E= [Il (x, y) − Ir (ˆ x, y)] + (7.11) (x,y)∈P
X
(
(x,y)∈F
c
X
2 2 ) ∂Il (x, y) ∂D(x, y) ∂Ir (ˆ x, y) ∂Il (x, y) ∂D(x, y) ∂Ir (ˆ x, y) ∂Ir (ˆ x, y) − 1+ + − − + ∂x ∂x ∂x ˆ ∂y ∂y ∂x ˆ ∂y 2 2 2 2 ! ∂ D(x, y) ∂ D(x, y) ∂ D(x, y) +2 + ∂x2 ∂x∂y ∂y 2
(x,y)∈E
gdzie: P jest obszarem obrazu, F podobszarem P z widocznymi cechami, F podobszarem P pozbawionym cech, c jest pewną wagą kontrolującą kryterium gładkości. W (7.11) pierwszy składnik odpowiada zwykłemu błędowi intensywności (7.9) w sensie SSD (Tabela 4.3), drugi odzwierciedla zagwarantowanie równości (7.10), natomiast trzeci jest wspomnianym już kryterium gwarancji gładkości w obszarach pozbawionych cech. Podział P na dwie partycje, jedną z cechami oraz drugiej — pozbawionej cech, dokonywany jest poprzez obcięcie modułu gradientu intensywności w obrazie do pewnej, z góry ustalonej, wartości progowej. Jednak taki podział znacznie utrudnia rozwiązanie (7.11). Wei zastosował do tego celu sieci neuronowe z radialnymi funkcjami bazowymi (ang. radial-basis-function) w postaci gaussowskiej [246] [179], otrzymując dla pewnej gamy obrazów testowych zadowalające rezultaty [245]. 4 Zakładamy
tutaj, że obydwa obrazy stereopary są również skalibrowane fotometrycznie (3.4.2).
142 Nieco prostszą metodę dopasowywania obrazów stereoskopowych z wykorzystaniem wektorów gradientów intensywności zaproponował Scharstein [202]. W tym przypadku funkcja kosztu dopasowania przyjmuje postać: E=
1 (|∇Il (x, y)| + |∇Ir (x + D(x, y), y|) − x|∇Il (x, y) − ∇Ir (x + D(x, y), y)| 2
(7.12)
gdzie, oprócz parametrów już przedstawionych w odniesieniu do (7.9), c jest pewnym współczynnikiem dobieranym doświadczalnie (w swoich eksperymentach Scharstein przyjął c równe 1.0), natomiast wektory gradientów sygnału intensywności ∇Ii (x, y), dla i oznaczającego odpowiedni obraz, zostały zdefiniowane klasycznie jako: iT h (x,y) ∂Ii (x,y) (7.13) ∇Ii (x, y) = ∂Ii∂x ∂y Otrzymane przez Scharsteina wyniki zbliżone są do wyników metod dopasowujących obszarami (6.2), np. SAD.
Rozdział 8
Podsumowanie W ciągu ostatnich lat komputerowe przetwarzanie obrazów, a szczególnie obrazów umożliwiających analizę otaczającej przestrzeni, przeżywa prawdziwy rozkwit. Dotyczy to zarówno prac o charakterze czysto teoretycznym, jak również rozwiązań w postaci algorytmów komputerowych, mających już bezpośrednie przełożenie na możliwość komputerowego — czyli bez udziału człowieka — przetwarzania obrazów. Założenie braku czynnego udziału człowieka w tym procesie wydaje się być tutaj kluczowe ze względu na ciągłą, mimo tylu wysiłków i badań, przewagę biologicznego widzenia nad maszynowym. Tak więc to pierwsze, będąc niedościgłym wzorcem, jest jednocześnie jedną z dróg i inspiracją do wielu rozwiązań w dziedzinie widzenia maszynowego. Nasuwa się pytanie, czy jest to droga jedyna? Czy jedyną drogą do osiągnięcia przez wzrok maszynowy poziomu choćby najprymitywniejszych naczelnych jest zrobienie komputerowej kopii tego, co już istnieje w przyrodzie? Trudno odpowiedzieć na tego typu pytania, ale oczywisty wydaje się fakt, że długo jeszcze ani nie poznamy dogłębnie myślowych procesów biologicznych, ani tym bardziej nie będziemy umieli zrobić ich komputerowych kopii. Dobrze znanym przykładem są liczne próby zbudowania systemu zdolnego do prowadzenia pojazdów mechanicznych. Stąd też można wysnuć wniosek, że przez najbliższe lata będziemy obserwować rozwój zarówno prac prowadzących do coraz lepszego poznania pryncypiów widzenia biologicznego, jak również równoległy, i być może bardziej gwałtowny, rozwój metod komputerowych. Jednym z zamierzeń tej monografii było wprowadzenie Czytelnika w dziedzinę maszynowego przetwarzania obrazów trójwymiarowych, stereoskopowych, ale z jednoczesnym zarysowaniem aspektów biologicznych tego zjawiska, czemu poświęcony został rozdział (3.1). Teoretyczny wstęp do widzenia maszynowego stanowi natomiast Rozdział 3 wraz z dodatkami na temat przekształceń rzutowych (9.3) oraz zastosowania rachunku tensorowego do przetwarzania obrazów (9.4). Zasadniczym zamierzeniem autora — w aspekcie algorytmicznym — było opracowanie efektywnej metody korelowania rzeczywistych obrazów stereoskopowych. Autorowi szczególnie zależało, aby opracowana przez niego metoda była właściwa dla szerokiego kręgu potencjalnych odbiorców poprzez umożliwienie szybkiej i jak najbardziej bezbłędnej korelacji obrazów za pomocą standardowego systemu komputerowego lub mikroprocesorowego oraz dzięki zastosowaniu prostego i taniego układu akwizycji obrazów. Te bardzo pragmatyczne założenia wyrosły na gruncie wieloletnich prac badawczych, prowadzonych również z udziałem autora, nad systemami wizyjnymi wspomagającymi osoby niewidome, o których to pracach wielokrotnie była mowa w różnych rozdziałach tej książki. Wspomniane prace badawcze dotyczyły, w większości przypadków nieudanych, prób podjętych przez autora w celu implementacji i zastosowania znanych z literatury algorytmów stereowizyjnych. Na bazie tych doświadczeń powstała idea poszukiwania bardziej wydajnych i przenoszących istotniejszą informację, z punktu widzenia procesu korelacji stereoskopowej, operatorów niskopoziomowego przetwarzania obrazów monochromatycznych, jak również dalszego poszukiwania efektywnej metody stereowizyjnej. Pewnym rozwiązaniem problemu okazała się metoda stereowizyjną, wykorzystująca tensorowy operator lokalnego sąsiedztwa oraz odpowiedni algorytm do procesu korelacji obrazów stereoskopowych (6.2). Dlatego też metodzie tej poświęcone zostało najwięcej miejsca w tej monografii. Ale oczywiście, rozwiązanie to, jak i wiele innych, nie jest ani rozwiązaniem doskonałym ani też ostatecznym. Po analizie działania poszczególnych metod wraz z ich uwarunkowaniami i ograniczeniami, celowe wydaje się zwrócenie uwagi na systemy hybrydowe, łączące zalety wielu metod. Może to być np. połączenie
144 operatorów niskopoziomowej transformacji obrazów z różnymi rodzajami sieci neuronowych. Autor badał zachowanie sieci Hopfielda oraz Hamminga poprzedzonej transformacją Census (1.2.2), ale tylko dla algorytmów typu KPP. Szczególnie dobre wyniki mogłoby dać wprowadzenie przetwarzania neuronowego na etapie agregacji i końcowego wydobywania wartości dysparycji. Szczególną rolę mogą tu odegrać sieci neuronowe z radialnymi funkcjami bazowymi ze względu na naturalne dla nich właściwości lokalizujące. Natomiast na etapie przetwarzania wstępnego pomocne okazać się mogą komórkowe sieci neuronowe. Alternatywą lub uzupełnieniem przetwarzania neuronowego jest przetwarzanie wynikowej przestrzeni dysparycji z wykorzystaniem metod dyfuzji anizotropowej. Szczególnie istotne jest tutaj opracowanie warunków stopu lub też warunków brzegowych, pozwalających na odróżnienie granic obrazów różnych obiektów. Następną dziedziną, którą niewątpliwie warto eksplorować również pod kątem usprawnienia metod komputerowego przetwarzania obrazów trójwymiarowych, jest teoria przestrzeni skal obrazów. Zjawisko obserwacji tej samej sceny w różnych skalach, naturalnie wbudowane w ludzki system wzrokowy, pozwala prowadzić równoległą analizę obrazu, za każdym razem badając różne detale obserwowanej sceny. Zdaniem autora, dalszych badań w kontekście przetwarzania maszynowego wymaga również zjawisko wzajemnego przysłaniania obserwowanych obiektów, gdyż wiadomo, że zjawisko to jest jednym z kluczowych w procesie rozpoznawania położenia obiektów w ludzkim systemie wzrokowym [5] [108]. Na koniec warto wspomnieć o dynamicznie rozwijającej się dziedzinie falek (ang. wavelets), coraz częściej wykorzystywanych w procesie wstępnego przetwarzania, jak również podczas dalszej analizy obrazów. Istnieje kilka metod wykorzystujących właśnie tę dziedzinę sygnałów do rozwiązywania zagadnień widzenia trójwymiarowego [219]. Niemniej jednak wydaje się możliwe połączenie tej dziedziny z innymi, już istniejącymi rozwiązaniami algorytmicznymi w celu budowy systemu hybrydowego o znacznie lepszych parametrach.
Rozdział 9
Dodatki 9.1
Rzeczywiste systemy stereowizyjne
Coraz szybszy rozwój nowoczesnych metod przetwarzania obrazów, jak również potrzeby przemysłu oraz licznych ośrodków badawczych, spowodowały gwałtowny rozwój komercyjnych systemów przetwarzania obrazów stereowizyjnych [242] [243] [187] [128]. Systemy takie oferowane są przeważnie w postaci sprzętu wraz z niezbędnym oprogramowaniem [128] [187] [188]. Najczęściej jest to miniaturowy zestaw skalibrowanych kamer [187] wraz z niezbędnym układem interfejsowym (często w postaci modułu ASIC ). Daleko posunięta miniaturyzacja pozwala na bezpośredni montaż takiego zestawu, np. do głowicy zdalnie sterowanego robota lub też do specjalnych okularów dla osoby niewidomej [136]. Tabela 9.1 zawiera porównanie dwóch komercyjnych systemów stereowizyjnych: Small Vision ModuleT M firmy SRI International oraz TRICLOPST M firmy Point Grey Inc. Tabela 9.1: Porównanie stereowizyjnych systemów komercyjnych: SVM firmy SRI International oraz TRICLOPS firmy Point Grey. Kategoria
Użyty algorytm stereowizyjny
Small Vision Module (SVM) firmy SRI International (Videre Design) Obróbka wstępna obrazów filtrem typu LoG (5.1) Dopasowywanie obrazów obszarami z wykorzystaniem normy SAD (4.5) Dodatkowa mapy głębi
filtracja
otrzy,manej
Obszary bez wyraźnej teksury mogą być zastępowane tłem ze względu na duże prawdopodobieństwo fałśzywych dopasowań. Modyfikacja algorytmu podstawowego
Istnieje możliwość dopasowania obrazów; zarółno lewego względem prawego jak i odwrotnie, w celu wyeliminowania fałśzywych dopasowań z powodu ewentualnego przysłonięcia części widocznych obiektów na jednym z obrazów stereopary
TRICLOPS Stereo Vision System firmy Point Grey Inc. Dopasowywanie obrazów obszarami z wykorzystaniem normy SAD — suma modułów różnic między intensywnościami pikseli (4.5) Dodatkowa mapy głębi
filtracja
otrzymanej
Dostępna jest opcja wstępnej rektyfikacji obrazów stereopary Proces dopasowania poprzedzony być może etapem otrzymywania krawędzi w stereoobrazach Możliwa jest weryfikacja mapy głębi z wykorzystaniem informacji o teksturach — obszary bez wyraźnej tekstury mogą być zastąpione przez tło. Algorytm wykorzystuje cje z trzech kamer.
informa-
146
W pakiecie TRICLOPS znajduje się biblioteka programowa umożliwiająca wykorzystanie procedur przetwarzania obrazów we własnych programach.
Oferowane oprogramowanie
Parametry działania: szybkość, rozdzielczość obrazów
Warstwa sprzętowa
Rodzaj i liczba użytych kamer
Dostarczany jest pakiet oprogramowania o nazwie ”SRI Stereo Engine”. Dostępne platformy to Linux oraz Microsoft Windows 9x/NT
Maksymalna rozdzielczość obrazów wejściowych: 320 × 240 (NTSC) lub 384 × 288 (PAL) Szybkość przetwarzania 6-8 ramek stereoobrazów na sekundę Moduł kamer wraz z systemem z mikroprocesorem sygnałowym (TMS320C60x, zegar 200MHz); całość może być połączona łączem równoległym z komputerem IBM PC. Algorytm stereowizyjny wykonywany jest z wykorzystaniem jedynie procesora sygnałowego. Osprzęt do kamer zawiera m.in. przetworniki A/C oraz pamięć FLASH i RAM Dwie kamery monochromatyczne typu CMOS Image Sensors firmy PixelCam. Elementy przetwarzające 384(H)x388(V) x8(bit). Automatyczna migawka. Możliwość zamontowania dodatkowych soczewek o ogniskowych od 2.1 do 12 mm. Możliwość wyboru jednej z pięciu wartości rozstawu między kamerami(76-152 mm). Kalibracja zgodnie z algorytmem Tsai [255]
Dostępne są m.in. takie funkcje jak: wczytywanie obrazków w formacie pmg [147], kontrola procesu akwizycji obrazół oraz obliczania głębi z różnymi parametrami przetwarzania, łączenie z dokłądnością podpikselową. Istnieje wiele trybów wyświetlania informacji o głebi w obserowanej scenie, takich jak punkty w przestrzeni 3D lub przewidywane powierzchnie. Maksymalna rozdzielczość obrazów wejściowych: 640 × 480
Komputer klasy IBM PC z kartą akwizycji obrazu typu Meteor II/MC firmy Matrox
Trzy skalibrowane kamery kolorwe Rozstaw między kamerami stały - bez możliwości zmian. Właściwości zastosowanych kamer: przetwornik typu CCD, rozdzielczość 768x494, minimalna wartość iluminacji 6Lux, stała odległość bazowa między kamerami (96mm).
147
Istnieje możliwość wymiany soczewek kamer Istnieje możliwość skokowej zmiany odległości między kamerami
Możliwość rozbudowy systemu
Z posiadanych informacji wynika, że w oprogramowaniu można zmieniać co najwyżej poszczególne opcje, takie jak: zastępowanie obszarół o słabej teksurze tłem lub też podwójne dopasowanie obrazu lewego z prawym, a następnie prawego z lewym - w celu wyeliminowania przesłoniętych obiektów
brak informacji
Trwają prace nad systemem wykorzystującym kolorowe czujniki CMOS firmy PixelCam PCS2112 o rozdzoelczości 1280(H)x1032(V) Wykorzystanie informacji z trzech kamer
Stosunkowo duża szybkość przetwarzania
Komplety pakiet zawierający cały tor stereowizyjny wraz z oprogramowaniem Wspiera dwa systemy ne: Windows oraz Linux
operacyj-
Stosunkowo słabej jakości elementy wizyjne (kamery typu sensory CMOS) Wady systemu
obra-
Stosunkowo duża rozdzielczość systemu akwizycji obrazów
Mały koszt Zalety systemu
Możliwość przetwarzania zów kolorowych
Dość dobrej jakości sensory obrazu. Możliwość dodatkowej cji obrazów wejściowych.
rektyfika-
Uniwersalna biblioteka programowa wraz z dokładną dokumentacją. Kod optymalizowany dla procesorół Inte Pentium. Stała odległość bazowa między kamerami Tylko mowa
jedna
platforma
progra-
Mała rozdzielczość obrazów Brak możliwości zmian mu stereowizyjnego
algoryt-
Szybkość przetwarzania dość ograniczona szybkością zastosowanej karty akwizycji obrazu oraz mocą komputera IBM PC.
Bazując na informacjach uzyskanych od producentów przedstawionych systemów komercyjnych, można stwierdzić, że najczęściej wykorzystywanym algorytmem stereowizyjnym jest algorytm dopasowywania obszarami — z miarą SAD (4.5). Rozdzielczości obrazów wejściowych, w tychże systemach, rzadko przekraczają 640 × 480 pikseli przy częstotliwości przetwarzania do ok. 8 par obrazów stereoskopowych na sekundę. Niewątpliwie, zaletą systemów komercyjnych jest ich uniwersalność (szczególnie modelu SRI ) i możliwość bezpośredniego montowania do układów ruchomych, np. do głowicy robota. Przytoczone w tej książce prace badawcze koncentrują się raczej na osiąganiu coraz to większej liczby przetwarzanych w
148 ciągu sekundy ramek obrazów, a nie na dokładności powstającej mapy głębi. Takie podejście predestynuje wyżej wymienione metody stereowizyjne raczej do wstępnej, ogólnej oceny położenia stosunkowo dużych obiektów w otoczeniu systemu niż do dokładnych pomiarów, czy też odtworzenia dokładnego modelu otaczającej przestrzeni.
9.2
Systemy mikroprocesorowe w aspekcie stereowizji
Tabela 9-2 zawiera porównanie możliwości obliczeniowych różnego rodzaju platform mikroprocesorowych do rozwiązywania problemu sterowizyjnego: Tabela 9.2: Porównanie możliwości obliczeniowych różnych platform mikroprocesorowych do rozwiązywania problemu stereowizyjnego. Kategoria Szybkość działania w stosunku do PC Możliwość implementacji różnych algorytmów stereowizyjnych Dostęp do arytmetyki floating-point
Środowisko tworzenia oprogramowania
Możliwość miniaturyzacji
Przeciętne zużycie energii (możliwość zastosowanie w sprzęcie przenośnym)
Łatwość wprowadzania zmian i modyfikacji
Systemy z procesorami sygnałowymi DSP
Systemy wykorzystujące architekturę FPGA
1
10+
30+
Duża
Średnia
Mała
Przeważnie niedostępna Średnia dostę?ność wygodnego środowiska programistycznego, często są dostępne tylko kompilatory C; często wysoki koszt oprogramowania
Przeważnie niedostępna
Duża
Bardzo duża
Średnie
Małe
Średnia
Średnia
Komputery IBM PC
klasy
Szeroko dostępna Wsparcie dla językół wysokiego poziomu typu C++, wygodne środowisko programistyczne Ograniczona do wielkości najmniejszego komputera typu lapto lub tzw. PC zintegrowanego (zwykle wielkości karty kredytowej) Duże - minimum 10W dla tzw. przemysłowych komputerów zintegrowanych zgodnych ze standardem PC Duże możliwości wwprowadzania zmian ze względu na wygodne środowisko programistyczne i silnie zintegrowany sprzęt
Bardzo mała dostępność języka wysokiego poziomu; wysoki koszt oprogramowania wspierającego
149
Dalszy rozwój danej platformy do implementacji algorytmów stereowizyjnych
Opracowanie nowych algorytmów, jak również systemów eksperymentalnych o dużej złożoności obliczeniowej, przeważnie z wykorzystaniem arytmetyki floating point
Przeważnie duży nakład pracy w przypadku konieczności zmian w algorytmie; zależne głównie od środowiska programistycznego Platforma (przeważnie) przydatna do wykonywania algorytmu stereowizyjnego w trybie czasu rzeczywoistego.
Przeważnie bardzo suży nakład pracy w przypadku konieczności zmian w algorytmie; Platforma przydatna do wykonywania algorytmu stereowizyjnego w trybie czasu rzeczywistego
Porównanie powyższe obejmuje możliwości implementacyjne algorytmów stereowizyjnych z wykorzystaniem trzech systemów charakterystycznych w swojej klasie, a mianowicie: komputera klasy IBM PC, systemu z procesorem sygnałowym oraz systemu wykorzystującego reprogramowalną architekturę FPGA. Tabela 9.3 przedstawia porównanie opublikowanych [128] [55] [59] [178] [187] [227] [242] [243] implementacji algorytmów dopasowywania obrazów stereoskopowych metodą dopasowywania obszarami (Rozdział 7). Porównaniem objęto szybkości działania oraz rodzaj zastosowanej platformy sprzętowej.
System(Główny wykonawca, organizacja, rok
Metoda dopasowywania obrazów stereoskopowych
Matthies JPL 1995 Nishihara Teleos 1995 Woodfill Stanford 1995 Faugeras INRIA 1993 SVM+ SRI 1997 CYCLOPS Point Grey 1997 SVM SRI 1997 Kanade CMU 1996
LOG różnica kwadratów LOG(znak) Hamming Miara Census Hamming Metoda korelacyjna ze wstępną normalizacją LOG Suma modułów różnic LOG suma modułów różnic LOG suma modułów różnic LOG suma modułów różnic Metody nieparametryczne Census z miarą Hamminga LOG suma modułów różnic Metody nieparametryczne Census z miarą Hamminga LOG Mietoda wielobazowa wykorzystująca sumę modułów różnic intensywności
Dunn&Corke CSIRO 1997 SVM II SRI 1997 Woodfill Interval research Corporation 1997 Oda, Tanaka Kanade CMU 1999
Procesor
Szybkość działania systemu (ramka/s)
Datacube MV200, Motorola 68040, Sparc
0.5
Pentium 166 MHz
0.5
Sparc 10-51 50MHz
1
PeRLe-1 Matryca FPGA
2.5
2xADSP 218x 50MHz
2.5
Pentium II 233MHz
3.0
Pentium II 233 MHz Custom Hardware Matryca procesorół sygnałowych TMS320C40
12 15
Occam matryca FPGA
20
TMS320C60x 200MHz
30+
PARTS matryca FPGA
30+
Custom Hardware Matryca 8 procesorół sygnałowych TMS320C40
30+
Na podstawie powyższego zestawienia łatwo sprecyzować wniosek, że uzyskanie szybkości odpowiadających częstości klatek video możliwe jest wyłącznie po zastosowaniu matrycy szybkich procesorów sygnałowych lub też specjalizowanej struktury FPGA. Ale architektura ta, z kolei rzeczy, dość znacznie
150 zawęża możliwości implementacyjne wielu algorytmów stereowizyjnych. Można temu jednak zaradzić, pokonując etap badawczy i rozwojowy algorytmu przy pomocy bardziej wszechstronnej programistycznie platformy, np. komputera PC, a następnie przenosząc sprawdzone już rozwiązanie na znacznie szybszą platformę sprzętową.
9.3
Podstawy geometrii rzutowej
Algebraiczna geometria rzutowa stanowi dogodne narzędzie analizy i opisu procesu widzenia maszynowego głównie ze względu na łatwiejszy opis obiektów geometrycznych, takicj jak m.in. punkt, prosta, czy też płaszczyzna pod wpływem grupy przekształceń rzutowych (zwanych również przekształceniami projektownymi). Dlatego też geometrię rzutową stosowaliśmy szeroko do opisu modelu kamery perspektywicznej (3.2.2), jak również stereoskopowego układu kamer (3.3). Dodatek ten stanowi jedynie elementarne wprowadzenie w zagadnienia geometrii rzutowej w aspekcie komputerowego przetwarzania obrazów. Wyczerpującą analizę czytelnik znajdzie w klasycznej (i niedawno wznowionej) pozycji autorstwa Semple’a i Kneebone’a [206], jak rółnież w niedawnej, doskonałęj pracy Hartleya i Zissermana [93] lub też Faugerasa i Luong’a [60]. Krótsze wprowadzenie do tej tematyki można także znaleźć w dodatku do klasycznej już pracy, dotyczącej niezmienników geometrycznych w przetwarzaniu obrazów, autorstwa Mundy’ego i Zissermana [175] oraz w skrypcie Mohra i Triggsa [170]. W rozdziale tym przedstawione zostaną następujące pojęcia z dziedziny geometrii rzutowej: 1. Współrzędne jednorodne (homogeniczne). 2. Reprezentacja punktu i prostej na płaszczyźnie rzutowej oraz zasada dualności. 3. Pojęcie punktu i prostej w nieskończoności 4. Definicja i podstawowe własności stożkowych 5. Grupa transformacji rzutowych 6. Niezmienniki rzutowe, dwustosunek
9.3.1
Współrzędne jednorodne
W euklidesowskim układzie współrzędnych rozważamy przypadek rzutu punktu P = (X, Y, Z) na płaszczyznę znajdującą się w pewnej odległości od początku ukłądu współrzędnych. Niech centrum rzutowanie O będzie umieszczone w początku układu współrzędnych. Przy tych założeniach współrzędne euklidesowskie obrazu p = (x, y)1 punktu mathbf P na wyróżnionej płaszczyźnie rzutowej wyrażają się następującym wzorem2 : x=f
X Z
, y=f
Y Z
(9.1)
W dalszej analizie pomocny będzie dwuwymiarowy Rysunek 9.1, przedstawiający obraz pewnego punktu P w rzucie z centrum w punkcie O, będącym jednocześnie środkiem rozważanego układu współrzędnych. Równanie (9.1) przedstawia przekształcenie z euklidesowskiej przestrzeni R3 do euklidesowskiej przestrzeni R2 , którą, jak widzieliśmy, jest np. płaszczyzna obrazowa kamery. Zauważmy również, że (9.1) jest równaniem nieliniowym ze względu na współrzędną Z punktu P. Równanie to możemy jednak przedstawić w postaci liniowej po dodaniu do obydwu reprezentacji punktów dodatkowej współrzędnej. W ten sposób otrzymujemy następujące wyrażenie: X x e f 0 0 0 x Y ⇔ ye = 0 f 0 0 (9.2) y Z ze 0 0 1 0 1 przy czym zachodzi: x= 1 Trzecia 2 Wzór
x e ze
,
y=
ye ze
,
ze 6= 0
(9.3)
współrzędna jest stała. ten został wyprowadzony również w rozdziale (3.2.2) przy opisie modelu kamery perspektywicznej (Rysunek 3.4).
151
Rysunek 9.1: Obraz punktu P w rzucie z centrum w punkcie O Współrzędne x e, ye, ze , występujące w (9.2) oraz w (9.3), nazywamy współrzędnymi jednorodnymi, co precyzuje poniższa definicja. Definicja 9.1: Afiniczna przestrzeń Rn zostaje izomorficznie przekształcona w przestrzeń rzutową ℘n poprzez następującą injekcję: T
(x1 , x2 , . . . , xn )T 7→ (e x1 , x e2 , . . . , x en , x en+1 )T = (x1 , x2 , . . . , xn , 1)
(9.4)
Z kolei z przestrzeni rzutowej ℘n przechodzimy do afinicznej przestrzeni Rn w wyniku następującego przekształcenia: T
T
(e x1 , x e2 , . . . , x en , x en+1 ) 7→ (x1 , x2 , . . . , xn ) =
x e2 x en x e1 , ,..., x en+1 x en+1 x en+1
T (9.5)
Rysunek 9.2: Przekształcenia przestrzeni Rn oraz ℘n Przy czym w (9.5) zakładamy, że: x en+1 6= 0. Szczególnym przypadkiem jest jednak zbiór punktów z przestrzeni rzutowej, dla których x en+1 = 0. Jest to zbiór punktów w nieskończoności, zwany również zbiorem punktów idealnych P∞ (ang. ideal points). Zauważmy, że przekształcenie przestrzeni afinicznej Rn w przestrzeń rzutową ℘n jest injekcją, ale już nie surjekcją (Rysunek 9.2). Cechą charakterystyczną przestrzeni rzutowej ℘n jest to, że punkt tej przestrzeni opisujemy za pomocą n + 1 współrzędnych (9.4), co może być nieco mylące, szczególnie gdy rodzaj rozpatrywanej przestrzeni nie jest oczywisty w kontekście rozważań. Zauważmy również, że z (9.5) wynika, iż zarówno punkt o współrzędnych jednorodnych (a, b, c)T , jak i punkt s(a, b, c)T = (sa, sb, sc)T , gdzie s 6= 0 jest współczynnikiem skalującym, reprezentują ten sam punkt w przestrzeni euklidesowskiej. Stąd też wynika, że wszystkie punkty równoważne z dokładnością do
152 pewnej niezerowej skali s tworzą klasę równoważności. Dlatego każde przekształcenie rzutowe jest równoważne z dokładnością do pewnej skali. W odniesieniu do rozważanego na początku przekształcenia (9.2) i (9.3) oznacza to, że punkt obrazowy p jest jednocześnie obrazem nie tylko punktu P, lecz równocześnie wszystkich punktów znajdujących się na promieniu wyznaczonym przez punkt x oraz centralny punkt rzutowania O (Rysunek 9.1). Właściwość ta będzie wykorzystana do wyznaczenia równania prostej w przestrzeni rzutowej przechodzącej przez dane dwa punkty tej przestrzeni.
9.3.2
Reprezentacja punktu i prostej na płaszczyźnie rzutowej oraz zasada dualności
W przestrzeni euklidesowskiej punkt x o współrzędnych (x, y)T znajduje się na prostej l, reprezentowanej przez trzy wartości a, b, c, tak że l = (a, b, c)T , wtedy gdy zachodzi: ax + by + c = 0
(9.6)
Po przejściu z x do współrzędnych jednorodnych, zgodnie z definicją (9.4), zależność (9.6) można zapisać jako iloczyn skalarny w następujący sposób: (x, y, 1)(a, b, c)T = x · l = xT l = 0
(9.7)
gdzie symbol · reprezentuje iloczyn skalarny wektorów3 . Zauważmy, że (9.7) można zapisać również jako xT l = lT x = 0
(9.8)
co wynika bezpośrednio z definicji iloczynu skalarnego wektorów. Oznacza to, że dzięki zastosowaniu współrzędnych jednorodnych otrzymaliśmy symetrię we wzorach opisujących zależności punktów i prostych na płaszczyźnie rzutowej, np. w (9.8), możliwa jest jednoczesna zamiana ról punktów i prostych, a sama zależność pozostaje prawdziwa. Jest to tzw. zasada dualności. Punkt przecięcia dwóch prostych l1 = (a1 , b1 , c1 )T oraz l2 = (a2 , b2 , c2 )T , znajdujemy w postaci iloczynu wektorowego l1 oraz l2 : x = l1 × l2 (9.9) gdyż na podstawie właściwości iloczynu wektorowego zachodzą poniższe zależności: x · l1 = x · l2 = (l1 × l2 ) · l1 = (l1 × l2 ) · l1 = 0
(9.10)
co po uwzględnieniu (9.7) dowodzi, że punkt x leży zarówno na prostej l1 , jak i na prostej l2 , czyli jest ich punktem wspólnym. Ciekawą właściwością przestrzeni rzutowej jest to, że proste równoległe również przecinają się w jednym punkcie. Korzystając teraz z zasady dualności, otrzymujemy dualną do (9.9) zależność na równanie prostej przechodzącej przez dwa punkty x1 , oraz x2 2, w postaci: l = x1 × x2
(9.11)
Często wygodnie jest przedstawić iloczyn wektorowy jako iloczyn pewnej macierzy skośnie-symetrycznej oraz jednego z wektorów. Dla przypadku dwóch wektorów a = (a1 , a2 , a3 )T oraz b = (b1 , b2 , b3 )T , ich iloczyn wektorowy można przedstawić w postaci: T a × b = [a]× b = aT [b]× (9.12) gdzie macierz
0 [a]× = a3 −a2
−a3 0 a1
a2 −a1 0
(9.13)
3 W przypadkach, gdy nie prowadzi to do niejednoznaczności, zarówno symbol iloczynu skalarnego, jak również specjalne oznaczenia rozróżniające współrzędne jednorodne, będą dalej pomijane.
153 jest szukaną macierzą skośnie-symetryczną. Warto zauważyć także, że mając dane dwa różne punkty x1 oraz x2 przestrzeni rzutowej, zbiór punktów Q leżących na prostej łączącej x1 , oraz x2 , wyraża się zależnością: Q = αx1 + βx2 (9 − 14)
(9.14)
gdzie α oraz β są pewnymi skalarami. Zależność (9.14) łatwo zweryfikować, uwzględniając (9.11), zachodzi bowiem: Q · l = Q · (x1 × x2 ) = αx1 · (x1 × x2 ) + βx2 · (x × x2 ) = 0 (9.15) Innymi słowy, warunek aby punkt xi , leżał na prostej łączącej x1 oraz x2 , sprowadza się do zapewnienia, że ich iloczyn mieszany się zeruje.
9.3.3
Pojęcie punktu i prostej w nieskończoności
Zarówno w (9.3), jak i w (9.5) przyjęliśmy założenie, że ostatnia współrzędna jednorodna punktu jest różna od zera. Jeżeli teraz dokonamy rozszerzenia punktów przestrzeni o punkty typu (x1 , x2 , . . . , 0)T , dla których ostatnia współrzędna jest równa zeru, to otrzymamy tzw. punkty w nieskończoności, zwane również punktami idealnymi. Jest to również zgodne z intuicją, gdyż tego typu punkty w przełożeniu na przestrzeń euklidesowską oddalają się w granicy do nieskończoności. Zgodnie z (9.8) wszystkie punkty idealne w przestrzeni ℘2 leżą na prostej o równaniu ll = (0, 0, 1)T = l∞ , gdyż (x1 , x2 , 0)(0, 0, 1)T = 0, dla każdej wartości x1 oraz x2 . W szczególności, na podstawie powyższego oraz (9.9), otrzymujemy ważny wniosek, że w przypadku przestrzeni rzutowych również proste równoległe przecinają się, a punkt ich przecięcia jest punktem w nieskończoności. Rysunek 9.3 przedstawia sposób wyznaczania punktu idealnego dla obrazu, w którym znane jest a priori położenie krawędzi, które są w rzeczywistości równoległe. Przecięcie tych prostych na obrazie wyznacza punkt idealny. Rysunek 9.4 ilustruje z kolei sposób wyznaczania linii horyzontalnej lH , będącej zbiorem punktów idealnych.
9.3.4
Definicja i podstawowe własności stożkowych
9.3.4.1 Stożkowe w ℘2 Stożkowa na płaszczyźnie jest krzywą opisaną równaniem drugiego stopnia. W przestrzeni euklidesowskiej równanie to reprezentuje zależność: ax2 + bxy + cy 2 + dx + ey + f = 0
(9.16)
gdzie a, b, c, d, e, f są pewnymi skalarami z R. Po przejściu zgodnie z (9.5) na współrzędne jednorodne otrzymujemy odpowiednio: ax21 + bx1 x2 + cx22 + dx1 x3 + ex2 x3 + f x2e = 0
(9.17)
Powyższe równanie można wyrazić zwięźle w postaci macierzowej: xT Cx = 0
(9.18)
gdzie symetryczną macierz C definiujemy jako:
a
C=
b 2 d 2
b 2
c e 2
d 2 e 2
(9.19)
f
Można wykazać, że pięć różnych punktów wyznacza jednoznacznie (z dokładnością do skali) stożkową na płaszczyźnie [93]. Równanie prostej l stycznej w punkcie x do stożkowej opisanej macierzą C wyraża się następującą zależnością: l = Cx (9.20)
154
Rysunek 9.3: Wyznaczanie punktu idealnego jako przecięcia prostych w rzeczywistości równoległych, na przykładzie obrazu „Korytarz AGH”.
Rysunek 9.4: Wyznaczanie linii horyzontalnej lH na przykładzie obrazu „Fiesta”. Dowód tej zależności można znaleźć w [93]. 9.3.4.1.1 Stożkowa dualna Równanie (9.18) wyraża zależność położenia punktów znajdujących się na stożkowej opisanej macierzą C, dlatego też stożkową opisaną w ten sposób nazywamy stożkową punktową (ang. point conic). Uwzględniając jednak zasadę dualności, można stożkową opisać wyłącznie za pomocą prostych stycznych do stożkowej (Rysunek 9.5), w ten sposób uzyskując tzw. stożkową liniową (ang. line conic) lub też stożkową dualną4 , którą oznaczamy C∗ . Aby wyprowadzić zależność dla stożkowych dualnych, załóżmy że C jest odwracalna. Korzystając teraz z (9.20), otrzymujemy: x = C−1 l (9.21) 4 Stożkowe
dualne zwane są również obwiedniami stożkowych.
155
Rysunek 9.5: Stożkowa dualna utworzona z prostych do niej stycznych. Podstawiając powyższe do (9.18), otrzymujemy: C−1 l
T
C C−1 l = 0
(9.22)
Ponieważ macierz mathbf C jest symetryczna, więc C−T = C−1 . Dlatego też (9.22) można zapisać jako: lT C−1 = 0
(9.23)
co stanowi szukaną zależność dla stożkowej liniowej. Dodatkowo otrzymaliśmy zależność na macierz stożkowej dualnej w postaci: C∗ = C−1
(9.24)
9.3.4.1.2 Punkty kołowe oraz stożkowa do nich dualna Po przyjęciu a = c oraz b = 0 w (9.17) równanie stożkowej na płaszczyźnie redukuje się do równania okręgu (we współrzędnych jednorodnych): ax21 + ax22 + dx1 x3 + ex2 x3 + f x23 = 0
(9.25)
Znajdźmy punkty przecięcia okręgu (9.25) z prostą w nieskończoności l∞ dla której x3 = 0 (9.3.3). Po przekształceniu, (9.25) redukuje się do następującego równania: x21 + x22 = 0 którego rozwiązaniem są tzw. punkty kołowe I, J o współrzędnych: 1 1 I = i , J = −i 0 0
(9.26)
(9.27)
Algebraicznie, punkty kołowe stanowią ortogonalne kierunki z przestrzeni euklidesowskiej, z tym że wyrażone poprzez liczby zespolone sprzężone postaci: (1, 0, 0)T ± i(0, 1, 0)T [93]. Dzięki tej właściwości znajomość położenia punktów kołowych umożliwia określenie parametrów metrycznych przestrzeni, takich jak ortogonalność, czy też kąty między prostymi. 9.3.4.2 Stożkowe w ℘3 Znajomość położenia punktów na płaszczyźnie w nieskończoności π∞ , pozwala już na określenie pewnych właściwości metrycznych w obserwowanej scenie — obiekty geometryczne są do siebie równoległe wtedy, gdy punkty ich przecięcia należą do π∞ . Znajomość położenia tzw. stożkowej bezwzględnej 5 (ang. absulute conic) oraz stożkowej do niej dualnej pozwala już na określenie miary kątów w obserwowanej przestrzeni. 5 Zwaną
również stożkową absolutną.
156 9.3.4.2.1 Stożkowa bezwzględna Definicja 9.2: Stożkową bezwzględną Ω∞ nazywamy stożkową na płaszczyźnie w nieskończoności π∞ i taką że: 2 x1 + x22 + x23 = 0 (9.28) x4 = 0 gdzie xi są współrzędnymi punktów przestrzeni ℘3 i należących do Ω∞ . Mając definicję stożkowej bezwzględnej, można wykazać [93], że Ω∞ jest niezmiennikiem ze względu na podobieństwo, jak również to, że wszystkie okręgi przecinają ją w dwóch punktach, natomiast powierzchnie sferyczne przecinają π∞ w Ω∞ . Najważniejsze jednak jest to, że znajomość położenia Ω∞ w przestrzeni ℘3 umożliwia określenie zależności metrycznych przestrzeni, takich jak wielkość kątów między prostymi, czy też odległości między nimi. Mając dane dwie proste, określone za pomocą wektorów kierunkowych k1 oraz k2 , kąt α między nimi w przestrzeni euklidesowskiej można wyznaczyć korzystając z definicji iloczynu skalarnego w postaci: k1T k2 cos α = p (k1T k1 )(k2T k2 )
(9.29)
Natomiast w dowolnej przestrzeni rzutowej zachodzi [93]: k1T Ω∞ k2 cos α = p T (k1 Ω∞ k1 )(k2T Ω∞ k2 )
(9.30)
gdzie k1 oraz k2 są punktami przecięcia prostych z płaszczyzną π∞ , zawierającą Ω∞ . W przestrzeni euklidesowskiej (9.30) redukuje się do (9.29), gdyż wtedy Ω∞ = I. Z zależności (9.30) wynika bezpośrednio, że dwie proste o kierunkach określonych przez odpowiednio k1 oraz k2 , są ortogonalne jeżeli: k1T Ω∞ k2 = 0 (9.31) 9.3.4.2.2 Stożkowa bezwzględna dualna Stożkową absolutną opisuje podwójne równanie (9.28). Łatwiejszą postać do obliczeń reprezentuje stożkowa do niej dualna Ω∗∞ , którą można interpretować jako zbiór płaszczyzn stycznych do stożkowej bezwzględnej Ω∞ . Stożkową Ω∗∞ definiujemy jako macierz jednorodną 4 × 4, rzędu trzeciego, która w przestrzeni metrycznej przyjmuje postać: 1 1 Ω∗∞ = (9.32) 1 0 Korzystając z pojęcia stożkowej absolutnej dualnej, można wykazać, że kąt α zawarty między dwiema płaszczyznami π1 oraz π2 dany jest poniższą zależnością [93]: π1T Ω∗∞ π2
cos α = p
(π1T Ω∗∞ π1 )(π2T Ω∗∞ π2 )
9.3.5
(9.33)
Grupa transformacji rzutowych
9.3.5.1 Baza rzutowa Bazą przestrzeni rzutowej ℘n nazywamy dowolny zbiór n + 2 punktów tej przestrzeni, z których żadne ich n+1 nie leży na hiperpłaszczyźnie, co jest równoważne ze stwierdzeniem, że utworzona z tych punktów macierz o wymiarach (n + 1) × (n + 1) nie jest osobliwa [170], Łatwo sprawdzić, że poniższy zbiór punktów
157 Pi P1 =
1 0 0 .. . 0
, P2 =
(n+1)×1
0 0 1 .. 0 1 . 1 0 , Pn+1 = 1 , P = , . . . , Pn = n+2 .. .. . . . . . 0 1 1 0 0 1 0 .. .
(9.34)
tworzy bazę rzutową dla przestrzeni ℘n , zwaną kanoniczną bazą rzutową. Składa się ona z n punktów idealnych, zgodnych z n osiami współrzędnych, jak również z punktu środkowego układu współrzędnych Pn+1 oraz punktu jednostkowego Pn+1 . Szczególnym przypadkiem baz dla przestrzeni ℘2 oraz ℘3 są kanoniczne bazy użyte podczas analizy rekonstrukcji przestrzeni trójwymiarowej z dokładnością do przekształcenia rzutowego (3.5.3). 9.3.5.2 Hiperpłaszczyzny Naturalnym rozszerzeniem pojęcia punktu oraz prostej jest hiperpłaszczyzna, której równanie w przestrzeni euklidesowskiej przedstawia się następująco6 : a1 x1 + · · · + an xn + an+1 = 0 ,
x ∈ Rn
(9.35)
Po przejściu, zgodnie z (9.4), do przestrzeni współrzędnych jednorodnych, (9.35) przyjmuje postać7 : a1 x1 + · · · + an xn + an+1 xn+1 = a · x = 0 ,
x ∈ ℘n
(9.36)
Również teraz zasada dualności może być rozszerzona na przypadek wielowymiarowy. W szczególności, na podstawie (9.36) możemy wyznaczyć równanie płaszczyzny w przestrzeni ℘3 , które wyraża się następującą zależnością: xT π = π T x = 0
(9.37)
gdzie π = (π1 , π2 , π3 , π4 )T reprezentuje płaszczyznę w ℘3 , natomiast x jest punktem należącym do tej płaszczyzny. Płaszczyzna zdefiniowana czwórką (0, 0, 0, 1)T nazywana jest płaszczyzną w nieskończoności i oznaczana jako π∞ . Korzystając z pojęcia płaszczyzny w nieskończoności, można sformułować dwa wnioski: • Płaszczyzna π∞ ma tę właściwość, że dwie płaszczyzny są do siebie równoległe, wtedy i tylko wtedy, gdy prosta stanowiąca ich przecięcie leży na π∞ • Podobnie, prosta jest równoległa do innej prostej lub też płaszczyzny, wtedy i tylko wtedy, gdy punkt ich przecięcia należy do π∞ 9.3.5.3 Grupa transformacj i rzutowych Definicja 9.3: W przypadku przestrzeni rzutowej ℘n przekształcenie rzutowe definiujemy jako nieosobliwą macierz H( n + 1) × (n + 1) o elementach należących do R, zdefiniowaną z dokładnością do pewnej stałej multiplikatywnej, zwanej współczynnikiem skalującym. x0 = Hx ,
x, x0 ∈ ℘n
(9.38)
gdzie macierz H jest macierzą przekształcenia rzutowego, nazywaną również macierzą jednorodną, gdyż podobnie jak w przypadku punktów jednorodnych (9-4), istotny jest jedynie stosunek elementów tej macierzy. Dodatkowo można wykazać, że przekształcenia rzutowe (9.38) stanowią grupę, gdyż przekształcenie odwrotne, jak i złożenie przekształceń rzutowych, również są przekształceniami rzutowymi. 6 Wprowadzona 7 Wprowadzona
wcześniej zależność (9.6) jest szczególnym przypadkiem (9-35). zależność (9.7) jest szczególnym przypadkiem (9.36)
158 W szczególności, dla przestrzeni rzutowej ℘2 przekształcenie rzutowe dokonuje transformacji punktu xi w punkt x0i , zgodnie z zależnością (9-38). Korzystając teraz z (9.38) oraz (9.7), otrzymujemy od razu, że proste transformują się zgodnie z zależnością: I0 = H−T l
(9.39)
gdzie l oraz l0 są prostymi w przestrzeni ℘2 . Ze względu na różnicę pomiędzy (9.38) oraz (9.39) w przypadku punktów i prostych mówimy, że punkty transformują się kontrawariantnie, podczas gdy proste — kowariantnie.
9.3.6
Niezmienniki rzutowe, dwustosunek
Rozpoznanie zależności pomiędzy punktami oraz prostymi, które pozostają stałe bez względu na zastosowane do nich przekształcenie rzutowe, nazywamy niezmiennikami rzutowymi. Ich znajomość okazuje się niezwykle przydatna w procesie rozpoznawania obiektów [54], ponieważ pozwala je identyfikować jedynie na podstawie ich obrazów. Więcej informacji o samych niezmiennikach, w tym niezmiennikach rzutowych, oraz ich roli w procesie rozpoznawania obiektów, można znaleźć w klasycznej już monografii pod redakcją Mundy’ego i Zissermana [175]. Rysunek 9.6 ilustruje rzut o centrum w punkcie o czterech współpłaszczyznowych punktów X1 , X2 , X3 oraz X4 , na prostą l. Stosunek odległości ich punktów obrazowych x1 , x2 , x3 , x4 jest niezmienny ze względu na położenie prostej (obrazowej) l. Jest to tzw. dwustosunek, który definiujemy w sposób następujący:
Rysunek 9.6: Cztery zbieżne proste definiują na płaszczyźnie dwustosunek, któ?y jest niezmiennikiem grupy przekształceń rzutowych.
Definicja 9.4: Mając dane cztery punkty współliniowe x1 , x2 , x3 , x4 , dwustosunkiem d(x1 , x2 , x3 , x4 ) nazywamy wyrażenie postaci: |x1 x2 ||x3 x4 d(x1 , x2 , x3 , x4 ) = (9.40) |x1 x3 ||x2 x4 | gdzie |xp xq | jest odległością pomiędzy punktami xp , xq : xp1 |xp xq | = det xp2
xq1 xq2
(9.41)
159 Tak jak już wspomniano, d(x1 x2 , x3 , x4 ) jest niezmiennikiem względem przekształcenia rzutowego prostej, tzn. jeżeli x0i = H2×2 xi , gdzie H2×2 jest macierzą przekształcenia rzutowego prostej, to zachodzi: d(x01 , x02 , x03 , x04 ) = d(x1 , x2 , x3 , x4 ). Równanie (9.40) pozostaje niezmiennikiem, nawet gdy jeden z punktów jest punktem idealnym.
9.4
Zarys rachunku tensorowego
Rachunek tensorowy wykorzystywany jest coraz częściej również w przetwarzaniu obrazów. Powodem jest bardziej zwięzły zapis wzajemnych zależności między obiektami fizycznymi w aspekcie zmian układów współrzędnych. Ogólna teoria tensorów jest stosunkowo obszerną dziedziną, która swoje główne zastosowanie znalazła w fizyce relatywistycznej. Celem tego rozdziału jest jedynie przybliżenie podstawowych idei oraz właściwości tensorów w kontekście przetwarzania obrazów. Czytelnik zainteresowany bardziej dogłębnym poznaniem rachunku tensorowego powinien sięgnąć w pierwszej kolejności po monografię Borisenki i Tarapova [27]. Bardziej dogłębną prezentację rachunku tensorowego w oparciu o rozmaitości różniczkowe można znaleźć w klasycznym już tekście Bishopa i Goldberga [23]. Pewną pomocą może tu służyć również podręcznik autorstwa Kaya [122]. Dostępne są też nieliczne pozycje w języku polskim, np. [121] [235]. Rachunek tensorowy zastosowany w przetwarzaniu obrazów jest tematem stosunkowo nowym w literaturze. Dobrym wstępem do tego zagadnienia mogą być prace Triggsa [239][240], jak również monografia Hartleya i Zissermana [93]. Cechą charakterystyczną zapisu wyrażeń w rachunku tensorowym jest używanie przy zmiennych indeksowanych zarówno indeksów dolnych, jak i górnych (które w tym wypadku nie oznaczają potęg). Jest to zapis konieczny do rozróżniania typu występującego tensora. Inna konwencja dotyczy zapisu operacji sumowania wyrażeń z mieszanymi indeksami. Stosuje się tutaj tzw. konwencję sumacyjną Einsteina, która wprowadza umowę, że ten sam indeks przy zmiennych występujących w wyrażeniu oznacza sumowanie po Pn tym indeksie, przy czym sam znak sumy jest zwykle pomijany. Dla przykładu, zamiast pisać i=1 ai xi , piszemy po prostu ai xi . Oczywiście, umowa taka zakłada uprzednią znajomość granic sumowania. Rozważmy teraz reprezentację pewnego wektora8 x = (x1 , x2 , . . . , xn ) przestrzeni rzutowej ℘9 , względem bazy tej przestrzeni b)i i = 1, . . . , n: n X xi bi (9.42) x= i=1
lub zgodnie z notacją Einsteina: x = xi b
(9.43)
Załóżmy teraz, że wektory bazowe ulegają zmianie zgodnie z pewną odwracalną macierzą A i zbadajmy, jakiej zmianie ulegną w tym przypadku składowe wektora x. Zgodnie z powyższym nowe wektory bazowe można przedstawić jako: b0j = Aij bi (9.44) gdzie Aij reprezentuje element (i, j) macierzy A transformującej wektory bazowe, co można zapisać również w postaci: b0 = Ab (9.45) Ponieważ zgodnie z założeniem A jest odwracalna, więc bazę „pierwotną” można zapisać jako: b = A−1 b0
(9.46)
Stąd też oraz na podstawie (9.43) otrzymujemy reprezentację wektora x w „nowej” bazie: x0 = A−1 x
(9.47)
Otrzymujemy w ten sposób ważny wniosek, że o ile wektory bazowe transformują się zgodnie z macierzą A (9.45), to współrzędne samego wektora x transformują się zgodnie z macierzą odwrotną do A (9.47). 8W 9W
przestrzeni rzutowej, wektor taki może reprezentować np. punkt lub prostą. tym przypadku jest to przestrzeń rzutowa n − 1 wymiarowa.
160 Przyjmijmy, że rozważany dotąd wektor x reprezentuje punkt należący do pewnej prostej l. Podstawiając (9.47) do (9.8) xT (AT l) = 0 (9.48) otrzymujemy zależność określającą prostą l przy „nowej” bazie, postaci: l0 = AT l)
(9.49)
W tym przypadku, wraz ze zmianą wektorów bazowych zgodnie z (9.45), następuje taka sama (tzn. zgodna10 z macierzą A) transformacja współrzędnych l. Na podstawie powyższych rozważań możemy sformułować następujące wyrażenia na współrzędne x oraz l, po zmianie wektorów bazowych, opisanej macierzą A : i x0 = (a−1 )ij xj (9.50) oraz l0i = Aji lj
(9.51)
Zauważamy, że współrzędne tensora transformują się albo zgodnie z A, albo zgodnie z athbf A−1 , gdzie — przypomnijmy — A jest pewną odwracalną macierzą przekształcającą bazę rozważanej przestrzeni. Jest to cecha charakterystyczna tensorów. W pierwszym przypadku mówimy o tensorze kowariantnym, a odpowiednie indeksy zapisujemy jako tzw. indeksy dolne, natomiast w drugim — o tensorze kontrawariantnym, przy czym odpowiednie indeksy zapisujemy jako indeksy górne. Często spotykane są również tensory mieszane. Ilość indeksów tensora nazywana jest walencją tensora. Przykładem tensora o walencji (1, 1) jest tensor, który otrzymujemy dla pewnej macierzy H, działającej na przestrzeni rzutowej, po jednoczesnej zmianie baz zarówno w przestrzeni wyjściowej, jak i wynikowej, odpowiednio zgodnie z pewnymi macierzami A oraz B. Stąd też mathbf H 0 przyjmuje postać: H0 = B−1 HA (9.52) Współrzędne tensora mathbf H 0 możemy teraz zapisać w postaci: i
H 0 j = (B−1 )ip Aqj Hqp
(9.53)
Sposób transformacji pewnej wielkości wraz ze zmianą bazy przestrzeni określa, czy ta wielkość jest w ogóle tensorem, a jeżeli tak, to o jakiej walencji. Skalar, wektor oraz macierz są szczególnymi przypadkami ogólniejszego w-wymiarowego tensora rzędu n, którego określenie wymaga podania mn składowych. W przypadku trójwymiarowym, tzn. m = 3, skalary możemy traktować jako tensory rzędu zerowego, dla których potrzeba 30 składowych, natomiast wektory — jako tensory rzędu pierwszego, dla których występuje 31 składowych [27].
9.4.1
Prawo transformacji tensorów
Jedną z najważniejszych właściwości tensorów jest sposób zmiany składowych tensora o pewnej walencji wraz ze zmianą układu współrzędnych. Zależność tę podaje prawo transformacji tensorów. W rozdziale tym rozważamy tensory rzędu pierwszego oraz drugiego, jednak podane tu zależności dla tych ostatnich mogą być łatwo rozszerzone na większą ilość wymiarów. Przy zmianie bazy układu współrzędnych z układu U na układ U 0 , składowe kowariantne tensora pierwszego rzędu11 T transformują się zgodnie z zależnością T 0 i = αik0 Tk natomiast składowe kontrawariantne
i
(9.54)
0
T 0 = αk i T k αik0 ,
0 αki
(9.55) 0
gdzie oraz są odpowiednio współczynnikami bezpośredniej (tzn. z U do U ) oraz odwrotnej transformacji układów współrzędnych. W szczególnym przypadku układów liniowych są to więc elementy wprowadzonej już w (9.44) macierzy A oraz macierzy do niej odwrotnej. W przypadku, gdy U oraz U0 10 Transpozycja 11 Jest
macierzy A w tym przypadku jest nieistotna. to wektor.
161 są prostokątnymi układami współrzędnych, αik0 można interpretować jako kosinus kąta pomiędzy i-tą osią współrzędnych układu U 0 a k-tą osią układu U . Z kolei, same współrzędne kowariantne oraz kontrawariantne dla wektorów związane są znanymi zależnościami: Ti = gik T k T i = g ik Tk
(9.56) (9.57)
gdzie gik = bi · bk
,
g ik = bi · bk
(9.58)
W przypadku tensorów dwuwymiarowych — oprócz składowych kowariantnych oraz kontrawariantnych, mogą występować również składowe mieszane. W tym przypadku prawo transformacji składowych zapisujemy w postaci: T 0 i k = αil0 αkm0 Tlm 0 k0 lm T = αli αm T 0 k l k0 m Ti = αi0 αm Tl
0 ik
(9.59) (9.60) (9.61)
Dla przykładu zauważmy, że zgodnie z (9.58) zachodzi: gt0ik = b0i · b0k = αkm0 b0m · αkm0 b0m = αil0 αkm0 bl · b0m = αil0 αkm0 glm
(9.62)
co jest zgodne z prawem (9.59), a to z kolei oznacza, że gi k jest tensorem drugiego rzędu. Jest to tzw. tensor metryczny, który można interpretować jako wielkość określającą podstawowe właściwości geometryczne pewnej przestrzeni z wprowadzonym układem współrzędnych: w1 , w2 oraz w3 . Wyrażenie na kwadrat infinitezymalnej długości łuku w tej przestrzeni wyraża się zależnością: (ds)2 = gik dwi dwk
(9.63)
Zależności (9.56), (9.57) oraz (9.59), (9.60) i (9.61) służą więc do określenia, czy dana wielkość jest tensorem.
9.4.2
Podstawy algebry tensorów
9.4.2.1 Dodawanie tensorów Sumą tensorów drugiego rzędu A oraz B, o składowych odpowiednio: Aij oraz Bij , jest tensor C drugiego rzędu o składowych danych poniższą zależnością: Cijkl = Aij + Bkl
(9.64)
Warunkiem wykonalności operacji sumowania jest, aby dodawane tensory miały tę samą strukturę, czyli taką samą liczbę współczynników kontra- i kowariantnych. 9.4.2.2 Mnożenie tensorów Iloczynem tensorów drugiego rzędu A oraz B, o składowych odpowiednio: Aij oraz Bij , jest tensor C czwartego rzędu o składowych danych poniższą zależnością: Cijkl = Aij Bkl
(9.65)
Jest to tzw. iloczyn zewnętrzny tensorów (ang. outer produci ). Łatwo sprawdzić, że iloczyn ten nie jest przemienny. W przeciwieństwie jednak do dodawania tensorów (9.64), mnożeniu, zgodnie z (9.65), możemy poddać tensory o dowolnej strukturze i walencji. Mnożenie tensorów wyższego rzędu i o różnej strukturze definiuje się analogicznie do (9.65). Wynik takiego mnożenia jest tensorem o rzędzie będącym sumą rzędów tensorów składowych, z jednoczesnym uwzględnieniem ich struktury.
162 9.4.2.3 Kontrakcja oraz iloczyn skalarny tensorów Kontrakcją tensora N rzędu n 2 nazywamy operację sumowania po dwóch jego indeksach. W wyniku kontrakcji otrzymujemy tensor rzędu n − 2. Na przykład, jeżeli n − 3, to można zapisać trzy sposoby kontrakcji tego tensora, mianowicie: Niij , Niji oraz Nijj gdzie np. Niij = N11j + N22j + N33j dla j=1,2,3. Operację mnożenia tensorów, połączoną następnie z kontrakcją wyniku tego mnożenia względem indeksów przynależnych różnym składowym, nazywamy iloczynem skalarnym tensorów (ang. inner produci ). W szczególności, iloczyn skalarny dla tensorów drugiego rzędu M, N definiujemy w następujący sposób: X Nkl Mkl (9.66) N·M= kl
gdzie: Nkl oraz Mkl są składowymi tensorów, odpowiednio N oraz M. 9.4.2.4 Redukcja tensora do osi głównych Rozważmy przypadek mnożenia skalarnego tensora T drugiego rzędu z tensorem N rzędu pierwszego (wektorem), w wyniku czego otrzymujemy tensor M rzędu pierwszego, o składowych postaci: Tij Nj = Mj
(9.67)
Wynikowy tensor M jest ogólnie różny od mathbf N , zarówno o ile chodzi o moduł, jak i kierunek (M, N są wektorami). Ważnym przypadkiem jest jednak określenie takich tensorów N, które w wyniku operacji (9.67) nie podlegają rotacji, a co najwyżej zmienia się ich moduł. Szukamy więc rozwiązania równania postaci: Tij Nj = λNj (9.68) gdzie λ, jest pewnym skalarem, zwanym wartością własną. Wektory tego typu nazywamy wektorami własnymi, natomiast wyznaczone przez nie kierunki nazywamy kierunkami głównymi lub charakterystycznymi dla tensora T. 9.4.2.5 Niezmienniki tensorowe Wyrażenia utworzone ze składowych tensora, które nie ulegają zmianie przy przejściu z układu współrzędnych U do układu U 0 , nazywamy niezmiennikami tensorowymi. Niezmiennikiem jest np. tzw. =emphnorma Frobeniusa dla tensora N rzędu drugiego, którą wyznaczamy na podstawie iloczynu skalarnego, wyrażającego się sumą kwadratów składowych tego tensora, zgodnie z poniższą zależnością: X X 2 kNk = N · N = Nkl = λ2i (9.69) kl
gdzie Nkl reprezentuje składowe tensora N.
i
Bibliografia
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
[12]
[13]
[14]
[15] [16] [17] [18] [19]
Adam A., Rivlin E., Shimshoni I.: ROR: Rejection of Outliers by Rotations. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 23, No. l, pp. 78-84, January 2001. Ahuja N.: Motion and Structure from Image Sequences. Springer-Verlag 1993. Alibhai S., Zucker S.W.: Contour-Based Correspondence for Stereo. 6’h European Conference on Computer Vision ECCV 2000, Dublin, June/July 2000. Alvarez L., Deriche R., Sanchez J., Weickert J.: Dense Disparity Map Estimation Respecting Image Discontinuities: A PDE and Scale-Space Based Approach. INRIA Technical Report No 3874, 2000. Andersen B.L.: The role of partial occlusion in stereopsis. Nature, Vol. 367, pp. 365-368, 1994. Armstrong M.N.: Self-Calibration from Image Sequences. Department of Engineering Science, University of Oxford, 1996. Ostrom K., Heyden A., Kahl F., Berthilsson R., Sparr G.: A Computer Vision Toolbox. Department of Mathematics. Lund University, Sweden, 1998. Avidan S., Shashua A.: Tensorial Transfer: Representation of N¿3 Views of 3D Scenes. Hebrew University of Jerusalem, Institute of Computer Science, 1996. Ayache N., Hansen C.: Rectification of Images for Binocular and Trinocular Stereovision. INRIA Technical Report No 860, 1988. Baldock R., Graham J.: Image Processing and Analysis. A Practical Approach. Oxford University Press, 2000. Banks J., Porter R., Bennamoun M., Corke P.: A Generic Implementation Framework for Stereo Matching Algorithms, Technical Report, CSIRO Manufacturing Science and Technology, Australia, 1997. Banks J., Bennamoun M., Corke P.: Fast and Robust Stereo Matching Algorithms for Mining Automation, Technical Report, CSIRO Manufacturing Science and Technology, Australia, 1997. Banks J., Bennamoun M., Corke P.: Non-Parametric Techniques for Fast and Robust Stereo Matching, Technical Report, CSIRO Manufacturing Science and Technology, Australia, 1997. Banks J., Bennamoun M., Kubik K., Corke P.: Evaluation of New and Existing Confidence Measure for Stereo Matching, Technical Report, CSIRO Manufacturing Science and Technology, Australia, 1998. Banks J., Bennamoun M., Kubik K., Corke P.: A Constraint to Improve the Reliability of Stereo Matching Using the Rank Transform, Technical Report, CSIRO Manufacturing Science and Technology, Australia, 1999. Becker S., Hinton G.E.: Self-Organizing Neural Network thal Discovers Surfaces in Random-Dot Stereograms. Nature Vol. 355, January 1992. Ben-Ari M.: Podstawy programowania współbieżnego. WNT, Warszawa, 1989. Bertozzi M., Broggi A., Fascioli A.: Stereo lnverse Perspective Mapping: Theory and Applications. University di Parma, Italy, 1998. Bhat D.N., Nayar S.K.: Ordinal Measures for Image Correspondence. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 20, No. 4, April 1998.
164
[20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34]
[35] [36] [37] [38] [39] [40] [41] [42] [43] [44]
[45]
Bhat D.N., Nayar S.K.: Ordinal Measures for Image Correspondence. Columbia University, Department of Computer Science, Technical Report CUCS-009-96, March 1997. Birchfield S.: Depth and Motion Discontinuities. PhD Dissertation, Computer Science Department, Stanford University, 1999. Birchfield S., Tomasi C.: Depth Discontinuities by Pixel-to-Pixel Stereo. Computer Science Department Technica Report CS-TR-96-1573, Stanford Uniyersity, 1996. Bishop R.L., Goldberg S.I.: Tensor Analysis on Manifolds. Dover Publications, Inc. 1980. Black M., Sapiro G., Marimont D.H., Heeger D.: Robust Anisotropic Diffusion. IEEE Transactions on Image Processing, Vol. 7, No. 3, pp. 421- 432, March 1998. Blum A.: Neural Networks in C++. An Object-Oriented Framework for Building Connectionist Systems. Wiley 1992. Bobick A.F., Intille S.S.: Large Occlusion Stereo. Technical Report, The Media Laboratory, MIT, 1995. Borisenko A.L, Tarapov I.E.:Vector and Tensor Analysis with Applications. Dover Publications, Inc. 1979. Bovik A.: Handbook of Image Processing. Academic Press, 2000. B¨ ohm M.: Imagers using amorphous silicon thin film on application specific integrated circuit technology. Journal of Non-Crystalline Solids, 266-269, pp. 1145-1151,2000. Brandt S.: Analiza danych. Wydawnictwo Naukowe PWN, Warszawa, 1998. Bronsztejn I.N., Siemiendiajew K.A.: Matematyka. Poradnik encyklopedyczny. Wydawnictwo Naukowe PWN, Warszawa, 2000. Canny J.: A Computational Approach to Edge Detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 8, No. 6, November 1986. Carlsson B., Ahlen A., Sternad M.: Optimal Differentiation Based on Stochastic Signal Models. Department of Technology, Uppsala University, Sweden, 1989. Carlsson B., Sternad M., Ahlen A.: Digital Differentiation of Noisy Data Measured through a Dynamie System. Department of Technology, Uppsala University, Sweden, 1990. Carlsson S.: The Double Algebra: An Effective Tool for Computing Invariants in Computer Vision. Computational Vision and Active Perception Laboratory, NADA-KTH, Stockholm, Sweden, 1994. Chaudhuri S., Rajagopalan A.N.: Depth From Defocus: A Real Aperture Imaging Approach. Springer Verlag, 1999. Chen T-Y, Bovik A.C., Cormack L.: Stereoscopic Ranging by Matching Image Modulations. IEEE Transaction s on Image Processing, Vol. 8, No. 6, June 1999. Chesi G., Garulli A., Vicino A., Cipolla R.: On the Estimation of the Fundamental Matrix: A Convex Approach to Constrained Least-Squares. 6lh European Conference on Computer Vision ECCV 2000, Dublin, June/July 2000. Ciołkosz A., Misztalski J., Olędzki J.R.: Interpretacja zdjęć lotniczych. Wydawnictwo Naukowe PWN, Warszawa, 1999. Corke P., Roberts J., Winstanley G.: 3D Perception for Mining Robotics. Technical Report, CSIRO Manufacturing Science and Technology, Australia, 1997. Cormen T.H., Leiserson C.E., Rivest R.: Wprowadzenie do algorytmów. WNT, Warszawa, 1997. Cox I.J.: A Maximum Likelihood N-Camera Stereo Algorithm. IEEE International Conference on Pattern Recognition, pp. 437-443, 1994. Coxeter H.S.M.: Projective Geometry. Springer-Verlag, Second Edition, 1998. Cryer J.E., Tsai P-S, Shah M.: Combining Shape from Shading and Stereo Using Human Vision Model. Department of Computer Science. Technical Report CS-TR-92-25, University of Central Florida, 1992. Cyganek B., Korohoda P., Borgosz J.: Matching Stereo-Images with Cellular Neural Networks, Fourth Conference ”Neural Networks and Their Applications”, Zakopane, Poland, May 18th-22nd, 1999.
165
[46]
[47]
[48] [49] [50] [51] [52]
[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65]
[66] [67] [68] [69] [70]
Cyganek B., Korohoda P.: Improved Neural Network for Fast Extraction of Information from Stero-lmages, Fourth Conference ”Neural Networks and Their Applications”, Zakopane, Poland, May 18th-22nd, 1999. Cyganek B.: Neural Networks Application to The Correlation-Based Stereo-Images Matching, Engineering Applications of Neural Networks, Proceedings of the 5th International Conference EANN ’99, Warsaw, Poland. Cyganek B.: Korelowanie obrazów stereoskopowych z wykorzystaniem tensorowej reprezentacji lokalnego sąsiedztwa. Rozprawa doktorska. Akademia Górniczo-Hutnicza, Kraków, 2001. Davies E.R.: Machine Vision. Theory, Algorithms, Practicalities. 2nd Edition, Academic Press 1997. Deriche R.: Using Canny’s Criteria to Derive a Recursively Implemented Optimal Edge Detector. International Journal of Computer Vision, 167-187, 1987. Devernay F., Faugeras O.: From Projective to Euclidean Reconstruction. INRIA Technical Report No 2725, 1995. Dhond U.R., Aggarwal J.K.: Stereo Matching in the Presence of Narrow Occluding Objects Using Dynamie Disparity Search. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 17, No. 7, July 1995. Duch W., Korbicz J., Rutkowski L., Tadeusiewicz R.: Sieci neuronowe. Biocybernetyka i Inżynieria Biomedyczna 2000. Tom 6. Akademicka Oficyna Wydawnicza EXIT, Warszawa, 2000. Duda R.O., Hart P.E., Stork D.G.: Paltem Classification. Wiley 2001. Dunn P., Corke P.: Real-time Stereopsis using FPGAs. CSIRO Division of Manufacturing Technology, Australia, 1997. Edmund Industrial Optics(TM). 2001 Optics and Optical Instruments Catalog. Ellis M.A., Stroustrup B.: The Annotated C++ Reference Manual. ANSI Base Document. Addison-Weseley 1990. Euclid: The Thirteen Books of the Elements (Books I-XIII). Vol.l-Vol.3. Translated by Sir Thomas L.Heath. Dover Publications, Inc. 1956. Faugeras O., Hotz B., Mathieu H., Vieville T., Zhang Z., Fua P., Theron E., Moll L., Berry G., Vuillemin J., Bertin P., Proy C.: Real-Time correlation- based stereo: algorithm, implementations and applications, INRIA Technical Report No. 2013, August 1993. Faugeras O.D., Luong Q.-T.: The Geometry of Multiple Images. MIT Press, 2001. Faugeras O.D., Luong Q.-T., Maybank S.J.: Camera Self-Calibration: Theory and Experiment. INRIA Technical Report, 1992. Faugeras O.D., Luc R: What can two images tell us about a third one?. INRIA Technical Report No 2018, 1993. Faugeras O.: Three-dimensional computer vision. A geometrie viewpoint, MIT 1993. Faugeras O., Keriven R.: Complete Dense Stereovision Using Level Set Methods. ECCV 98, 5lh European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Faugeras O., Quan L., Strum P.: Self-Calibration of a ID Projective Camera and Its Application to the Self-Calibration of a 2D Projective Camera. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, October 2000. Flynn P.J., Jain A.K.: Three-Dimensional Object Recognition. Handbook of Pattern Recognition and Image Processing: Computer Vision. Edited by T.Y. Young. Volume 2, Academic Press, 1994 Foley J.D., van Dam A., Feiner S.K., Hughes J.F., Phillips R.L.: Introduction to Computer Graphics. Addison-Wesley 1994. Folsom T.C., Pinter R.B.: Primitive Features by Steering, Quadrature, and Scale. IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 20, No. ll,November 1998. Frisby J.P.: Stereo Correspondence and Neural Networks, pp. 937-941 in Handbook on Neural Networks MIT 1998. Fua P.: A Parallel Stereo Algorithm that Produces Dense Depth Maps and Preserves Image Features. INRIA Technical Report No 1369, 1991.
166
[71] [72] [73] [74] [75] [76] [77] [78]
[79]
[80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94]
[95] [96]
Fusiello A., Trucco E., Verri A.: Rectification with unconstrained stereo geometry. Dipartimento di Matematica e Informatica, Universita di Udine, Italia 1998. Gaj M.: Geometryczna teoria odwzorowań optycznych. Oficyna Wydawnicza Politechniki Wrocławskiej, Wrocław 1999. Gamma E., Helm R., Johnson R., Vlissides J.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Weseley 1995. Glassner A.S.: Principles of Digital Image Synthesis. Vol l & 2. Morgan Kaufmann Publishers, Inc. 1995. Gluckmann J., Nayar S.K.: A Real-Time Catadioptric Stereo System Using Planar Mirrors. Columbia University, Department of Computer Science, 1997. Gluckmann J., Nayar S.K., Thoresz K.J.: Real-Time Omnidirectional and Panoramie Stereo. Columbia University, Department of Computer Science, 1999. Gluckmann J., Nayar S.K.: Planar Catadioptric Stereo: Geometry and Calibration. Columbia University, Department of Computer Science, 1999. Gluckmann J., Nayar S.K.:Rectified Catadioptric Stereo Sensors. Columbia University, Department of Computer Science, 2000. Golombek M.P., Cook R.A., Economou T., Folkner W.M., Haldemann A.F.C., Kallemeyn P.H., Knudsen J.M., Manning R.M., Moore H.J., Parker T.J., Rieder R., Schofield J.T., Smith P.H., Vaughan R.M.: Overview of the Mars Pathfinder Mission and Assessment of Landing Site Predictions. Science, Vol. 278, pp. 1743-1748, December 1997. Golub G.H., Van Loan C.F.: Matrix Computations. The Johns Hopkins University Press, 3rd edition 1996. Granlund G.H., Knutsson H.: Signal Processing for Computer Vision. Kluwer Academic Publishers 1996. Grewe L.L., Kak A.C.: Stereo Vision. Handbook of Pattern Recognition and Image Processing: Computer Vision. Edited by T.Y. Young. Volume 2, Academic Press 1994. Grimson W.E.L.: Why Stereo Vision is Not Always About 3D Reconstruction. MIT, Artificial Intelligence Laboratory, Memo No. 1435, July 1993. Grochowski B.: Elementy geometrii rzutowej. Rozdział XIII w Poradniku inżyniera Matematyka, WNT, Warszawa, 1971. Grosso E., Tistarelli M.: Log-polar Stereo for Anthropomorphic Robots. 6lh European Conference on Computer Vision ECCV 2000, Dublin, June/July 2000. Gruen A., Huang T.S.: Calibration and Orientation of Cameras in Computer Vision. Springer Series in Information Sciences. Springer 2001. Hall E.L.: Fundamental Principles of Robot Vision. Handbook of Pattern Recognition and Image Processing: Computer Vision. Edited by T. Y. Young. Volume 2, Academic Press, 1994. Haralick R.M., Shapiro L.G.: Computer and Robot Vision, Vol.l. Addison Wesley 1992. Haralick R.M., Shapiro L.G.: Computer and Robot Vision, Vol.2. Addison Wesley 1993. Hartley R.I.: Kruppa’s Equations Derived from the Fundamental Matrix. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, No. 2, February 1997. Hartley R.I.: In Defense of the Eight-Point Algorithm. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, No. 6, June 1997. Hartley R.I.: Computation of the Quadrifocal Tensor. ECCV 98, 5’h European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Hartley R.I., Zisserman A.: Multiple View Geometry in Computer Vision. Cambridge University Press, 2000. Haußecker H., J¨ ahne B.: A Tensor Approach for Local Structure Analysis in MultiDimensional Images. Interdisciplinary Center for Scientific Computing, University of Heidelberg, 1998. Haußecker H., J¨ ahne B.: A Tensor Approach for Precise Computation of Dense Displacement Vector Fields. Interdisciplinary Center for Scientific Computing, University of Heidelberg, 1998. Haykin S.: Adaptiye Filter Theory. Prentice-Hall, 3rd Edition, 1996.
167
[97] [98] [99] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118]
[119]
[120] [121]
Haykin S.: Neural Networks. A Comprehensive Foundation. 2nd Edition, Prentice-Hall, 1999. Hecht E.: Optics. 3rd Edition. Addison Wesley, 1998. Heikkil¨ a J.: Geometrie Camera Calibration Using Circular Control Points. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, October2000. Henkel R.D.: Fast Stereovision by Coherence Detection. Technical Report, Institute of Theoretical Neurophysics, University of Bremen, Germany, [email protected], 1998. Hespanha J.P., Dodds Z., Hager G.D., Morse A.S.: What Tasks Can Be Performed with an Uncalibrated Stereo Vision System? Center for Computational Vision and Control, Computer Science Department, Yale University, 1998. Heyden A.: A Common Framework for Multiple View Tensors. ECCV’ 98, 5th European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Heyden A.: Hand-Eye Calibration from Image Derivatives. Department of Mathematics. Lund University, Sweden, 1999. Heyden A.: Geometry and Algebra of Multiple Projective Transformations. Ph.D. Thesis. Department of Mathematics, Lund Institute of Technology, Sweden, 1995. Heyden A., Astrom K.: Algebraic Varieties in Multiple View Geometry. Department of Mathematics, Lund Institute of Technology, Sweden, 1996. Hodge W.V.D., Pedoe D.: Methods of Algebraic Geometry. Volume 1. Cambridge University Press, 1947. Hotca S., Popa C., Luncan D., Lungeneau D., Holban S.: A computer application for human depth perception models: Computation of stereo disparities. Proceedings of the 4th International Conference: computers in Medicine, pp. 151-156, May 1997. Howard I.P., Rogers B.J.R.: Binocular Vision and Stereopsis. Oxford University Press, 1995. Huttenlocher D.: Computer Vision in The Computer Science and Engineering Handbook edited by A. Tucker, CRC Press, 1997. Irani M., Anandan P.: About Direct Methods. International Workshop on Vision Algorithms. Corfu, Greece, September 1999. Ishikawa H., Geiger D.: Occlusions, Discontinuities, and Epipolar Lines in Stereo. ECCV 98, 5lh European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Iwahori Y., Woodham R.J., Ozaki M., Tanaka H., Ishii N.: Neural Network Based Photometric Stereo with a Nearby Rotational Moving Light Source. IEICE Trans. Inf. & Syst, Vol. E80-D, No. 9, September 1997. Jahne B.: Digital Image Processing. 4th edition, Springer-Verlag, 1997. Jahne B.: Performance Characteristics of Low-Level Motion Estimation in Spatiotemporal Images. Research Group Image Processing, Interdisciplinary Center for Scientific Computing, University of Heidelberg, 1998. Jahne B.: Practical Handbook on Image Processing for Scientific Applications, CRC Press 1997. Jahne B.: Spatio-Temporal Image Processing, Springer-Verlag, 1993. Kaczorek T.: Wektory i macierze w automatyce i elektrotechnice. WNT, Warszawa, 1998. Kambhamettu C., Goldgof D.B., Terzopoulos D., Huang T.S.: Nonrigid Motion Analysis. Handbook of Pattern Recognition and Image Processing: Computer Vision. Edited by T.Y. Young. Volume 2, Academic Press, 1994 Kanade T., Okutomi M.: A Stereo Matching Algorithm with an Adaptive Window: Theory and Experiment. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 16, No. 9, September 1994. Kanade T., Zitnick C.L.: A Cooperative Algorithm for Stereo Matching and Occlusion Detection. The Robotics Institute. Carnegie Mellon University Tech. Report CMU-RJTR-99-35. Pittsburgh, Pennsylvania, October 1999. Karaśkiewicz E.: Zarys teorii wektorów i tensorów. PWN, Warszawa, 1976.
168
[122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137]
[138] [139] [140] [141] [142]
[143]
[144] [145]
Kay D.C.: Theory and Problems of Tensor Calculus. Schaum’s Outlines Series. McGrawHill 1988. Klette R., Schliins K., Koschan A.: Computer Vision. Three-Dimensional Data from Images. Springer-Verlag 1998. Klette R., Zamperoni P.: Handbook of Image Processing Operators. John Wiley&Sonsl996. Knuth D.: The Art of Computer Programming. Volume 1. Fundamenta! Algorithms. Addison Wesley, 3rd edition, 1998. Koenig A., Moo B.: Performance: Myths, Measurements, and Morals. Part 6. The Journal of Object-Oriented Programming, Vol. 13, No. 2, May 2000. Kolb C., Mitchell D., Hanrahan P.: A Realistic Camera Model for Computer Graphics. Technical Report, Computer Science Department, Princeton University, 1995. Konolige K.: Smali Vision Systems: Hardware and Implementation. Artificial Intelligence Center, SRI International 1999. Konolige K.: Stereo Geometry. Artificial Intelligence Center, SRJ International 1999. Kopparapu S.K., Corke P.: The Effect of Measurement Noise of Camera Calibration Matrix, CSIRO Manufacturing Science and Technology, Australia, 1998. Kopparapu S.K., Corke P.: The Effect of Measurement Noise of Intrinsic Camera Calibration Parameters, CSIRO Manufacturing Science and Technology, Australia, 1999. Korbicz J., Obuchowicz A., Uciński D.: Artificial Neural Networks. Basic Concepts and Applications (in Polish). Akademicka Oficyna Wydawnicza PLJ, Warszawa 1994. Korohoda P.: Aproksymacyjne metody kompresji obrazów. Praca doktorska. Akademia Górniczo-Hutnicza, Kraków, 1994. Korohoda P., Cyganek B.: An Adaptive Method with Tri-linear Interpolation and Scalar Cjuantization for Video Sequence Compression, Krajowa Konferencja Teorii, Obwodów i Układów Elektronicznych, Krynica, 1996. Korohoda P., Cyganek B.: Neural Networks for Object Location from Stereo Images, The 3rd Conference on Neural Networks and Their Applications, Kule, Poland, 1997. Korohoda P.: Badanie możliwości akustycznej reprezentacji wybranych elementów opisu przestrzeni 3D, Grant badawczy KBN 8 T11E 009 10, 1999. Koshan A.: Improving Robot Vision by Color Information. Proc. 7lh International Conference on Artificial Intelligencc and Information-Control Systems of Robots. Smolenice, Slovakia, 10-14 September, 1997. Koshan A., Rodehorst V., Spiller K.: Color Stereo Vision Using Hierarchical Block Matching and Active Color Illumination. Proc. 13lh Int. Conf. on Pattern Recognition ICPR ’96, Vienna, Austria, August 25-29, 1996, Vol. I, pp. 835-839. Lan Z-D., Mohr R.: Robust Matching by Partial Correlation. INRIA Technical Report RR-2643. 1995. Lasenby J., Lesenby A.: Estimating Tensors for Matching over Multiple Views. Cambridge University Engineering Department, United Kingdom, 1996. Laveau S., Faugeras O.: 3-D Scene Representation as a Collection of Images and Fundamenta! Matrices. INRIA Technical Report No 2205, 1994. Lavest J-M., Viala M., Dhome M.: Do We Really Need an Accurate Calibration Pattern to Achieve a Reliable Camera Calibration? ECCV’ 98, 5lh European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Leclerc Y.G., Luong Q.-T., Fua P.: Self-Consistency: A Novel Approach to Characterizing thc Accuracy and Reliability of Point Correspondence Algorithms. Artificial Intelligence Center, SRI International, 1999. Lee S.H., Park J-I., Inoue S., Lee C.W.: Disparity Estimation Based on Bayesian Maximum A Posteriori (MAP) Algorithm. IFICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences. Vol.E82-A, No. 7, July 1999. Leitner R.: Trygonometria płaska i sferyczna. Poradnik inżyniera - Matematyka. Wydawnictwa Naukowo-Techniczne, Warszawa, 1971.
169
[146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162]
[163]
[164] [165] [166] [167] [168] [169] [170] [171]
Lerner E.J.: Laser microscopy opens a new dimension. Laser Focus World, Vol. 36, No. 12, pp. 141-144, December 2000. Levine J.: Programming for graphic files in C and C++. Wiley, 1994. Li M., Lavest J.M.: Some aspects of zoom lens calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 18, No. 11, November 1996. Looney C.G.: Pattern Recognition Using Neural Networks. Theory and Algorithms for Engineers and Scientists. Oxford University Press 1997. Lotti J-L., Giraudon G.: Adaptive Window Algorithm for Aerial Image Stereo. INRIA Technical ReportNo 2121, 1993. Lourakis MI.A., Deriche R.: Camera Self-Calibration Using the Kruppa Equations and the SVD of the Fundamenta! Matrix: The Case of Varying Intrinsic Parameters. INRIA Technical Report No 3911, 2000. Luong Q.-T., Faugeras O.D.: Self-calibration of a stereo rig from unknown camera motions and point correspondences. INRIA Technical Report No 2014, 1993. Luong Q.-T., Faugeras O.D.: Camera Calibration, Scene Motion and Structure Recovery from Point Correspondences and Fundamenta! Matrices. INRIA, 1995. Luong Q.-T., Faugeras O.D.: The Fundamenta! matrix: theory, algorithms, and stability analysis. INRIA, 1995. Luong Q.-T., Deriche R., Faugeras O.D., Papadopoulo T.: On Determining the Fundamenta! Matrix: Analysis of Different Methods And Experimental Results. INRIA Technical ReportNo. 1894, April 1993. Malina W.: Podstawy automatycznej klasyfikacji obrazów. Wydawnictwo Politechniki Gdańskiej, Gdańsk, 1998. Mańdziuk J.: Sieci neuronowe typu Hopfielda. Teoria i przykłady zastosowań. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2000. Marchand-Maillet S., Sharaiha Y.M.: Binary Digital Image Processing. A Discrete Approach. Academic Press, 2000. Marr D., Poggio T.: Cooperative Computation of Stereo Disparity. Massachusetts Institute of Technology. Artifical Intelligence Laboratory. A.I. Memo364. June 1976. Marr D., Poggio T.: A Theory of Human Stereo Vision. Massachusetts Institute of Technology. Artifical Intelligence Laboratory. A.I. Memo No. 451,November 1977. Masters T.: Sieci neuronowe w praktyce. WNT, Warszawa, 1996. Matthies L., Xiong Y.: Error Analysis of a Real-Time Stereo System. Technical Report. Jet Propulsion Laboratory, Pasadena, 1997. Matthies L., Litwin T., Owens K., Rankin A., Murphy K., Coombs D., Gilsinn J. Hong T., Legowik S., Nashman M., Yoshimi B.: Performance Evaluation of UGV Obstacle Detection with CCD/FLIR Stereo Vision and LAD AR 1. Jet Propulsion Laboratory, Pasadena, and National Institute of Standards and Technology, Gaithersburg, 1998. Mayhew J., Frisby J.: Psychophysical and Computational Studies towards a Theory of Human Stereopsis. Artificial Intelligence (17) pp. 349-385, 1981. Mellor J.P., Teller S., Lozano-Perez T.: Dense Depth Maps from Epipolar Images. MIT, Artificial Intelligence Laboratory, Memo No. 1593, November 1996. Migdal J.: Depth Perception Using a Trinocluar Camera Setup and Sub-Pixel Image Correlation Algorithm. Mitsubishi Electric Research Laboratories, Technical Report TR200020, May, 2000. Mikrut Z., Czwartkowski B.: Log-Hough Space as Input for a Neural Network. Fourth Conference ”Neural Networks and Their Applications”, Zakopane, 1999. Mitra S.K.: Digital Signal Processing. McGraw-Hill, 2000. Mitra S.K., Sicuranza G.L.: Nonlinear Image Processing. Academic Press, 2000. Mohr R., Triggs B.: Projective Geometry for Image Analysis. A tutorial given at ISPRS, Vienna, July 1996. Mokrzycki W.: Construction a 3D Depth Map from Binocular Stereo. Computer Vision and Graphics, Zakopane 1994.
170
[172] [173]
[174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199]
Moon T.K., Stirling W.C.: Mathematical Methods and Algorithms for Signal Processing. Prentice-Hall 2000. Moons T., Frore D., Vandekerckhove J., Gool L.V.: Automatic Modeling and 3D Reconstruction of Urban House Roofs from High Resolution Aerial Imagery. ECCV 98, 5lh European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Moritsu T., Kato M.: Disparity Mapping Technique and Fast Rendering Technique for Image Morphing. IEICE Transactions on Information and Systems, Vol.E83-D, No. 2, pp. 275-282, February 2000. Mundy J.L., Zisserman A.: Geometrie Invariance in Computer Vision. MIT Press 1992. Myler H. R., Weeks A.: The Pocket Handbook of Image Processing Algorithms in C. Prentice-Hall 1993. Nene S.A., Nayar S.K.: Stereo Using Mirrors. Columbia University, Department of Computer Science, 1998. Oda K., Tanaka M., Yoshida A., Kano H., Kanade T.: A Video-Ratc Stereo Machine and its Application to Virtual Reality. The Robotics Institute, Carnegie Mellon University, 1999. Osowski S.: Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 1996. Pankanti S., Jain A.K.: Integrating Vision Modules: Stereo, Shading, Grouping, and Line Labeling. IEEE Transactions on Pattern Analysis, Vol. 17, No. 8, September 1995. Papadimitriou D.V., Dennis T.J.: Epipolar Line Estimation and Rectification for Stereo Image Pairs. IEEE Transactions on Image Processing, Vol. 5, No. 4, April 1996. Parker: Practical Image Algorithms. Wiley 1999. Pedrotti L.S., Pedrotti F.L.: Optics and Vision. Prentice-Hall, 1998. Penrose R., Rindler W.: Spinors and space-time. Volume 1. Two-spinor calculus and relative fields. Cambridge University Press, 1984. Perona P., Malik J.: Scale-Space and Edge Detection Using Anisotropic Diffusion. IEEE Transactions On Pattern Analysis and Machine Intelligence. Vol. 12., No. 7, pp. 629-639. July 1990. Pitas L, Venetsanopoulos A.N.: Nonlinear Digital Filters. Principles and Applications. Kluwer Academic Publishers 1990. Point Grey: TRICLOPS Stereo Vision System. Version 2.1. User’s guide and command reference. Point Grey Research, Inc., www.ptgrey.com, 2000. Point Grey: triclopsDemo Application 2.0. User’s Manual. Point Grey Research, Inc., www.ptgrey.com, 2000. Pratt W.K.: Digital Image Processing. Third Edition. Wiley, 2001. Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P.: Numerical Recipes in C. The Art of Scientific Computing. Second Edition. Cambridge University Press, 1999. Quan L., Triggs B.: A Unification of Autocalibration Methods. Asian Conference on Computer Vision, ACCV, 2000. Ragsdale S.: Parallel Programming. Intel & McGraw-Hill 1991. Rak R.: Wybrane metody kompresji sygnałów multimedialnych. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa 1998. Richter J.: Advanced Windows. The Developer’s Guide to the Win32(R) API for Windows NT(TM). Microsoft Press, 1999. Riley K.F., Hobson M.P., Bence S.J.: Mathematical Methods for Physics and Engineering. Cambridge University Press, 2000. Robert L., Zeller C., Faugeras O.: Application of non-metric vision to some visually guided robotics tasks. INRIA Technical Report No 2584, June 1995. Rothwell C., Csurka G., Faugeras O.: A Comparision of Projective Reconstruction Methods for Pairs of Views. INRIA Technical Report 2538, April 1995. Roy S., Meunier J., Cox I.J.: Cylindrical Rectification to Minimize Epipolar Distortion. IEEE Proc. of Int. Conference on Computer Vision and Pattern Recognition, Puerto Rico, pp. 393-399, 1997. Santini S., Jain R.: Similarity Measures. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol 21, No 9, September 1999.
171
[200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226]
Schaffalitzky F., Zisserman A., Hartley R.I., Torr P.H.S.: A Six Point Solution for Structure and Motion. Department of Engineering Science, University of Oxford, 2000. Scharstein D., Szeliski R.: Stereo Matching with Non-Linear Diffusion. The IEEE Computer Society Conference on Computer Vision and Pattern Recognition CVPR ’96, San Francisco, June 1996, pp. 343-350. Scharstein D.: View Synthesis Using Stereo Vision. Lecture Notes in Computer Science 1582, Springer-Verlag 1999. Schreer O.: Stereo Vision-Based Navigation in Unknown Indoor Environment. ECCV 98, 5lh European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Sebe N., Lew M.S., Huijsmans D.: Toward Improved Ranking Metrics. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, October 2000. Seetharaman G.S.: Image Sequence Analysis for Three-Dimensional Perception of Dyanmic Scenes. Handbook of Pattern Recognition and Image Processing: Computer Vision. Edited by T.Y. Young. Volume 2, Academic Press, 1994 Semple J.G., Kneebone G.T.: Algebraic Projective Geometry. Oxford Classic Texts in the Physical Sciences. Oxford University Press, 3rd edition 1998. Seul M., O’Gorman L., Sammon M.J.: Practical Algorithms for Image Analysis. Description, Examples, and Code. Cambridge University Press, 2000. Shannon R.R.: The Art and Science of Optical Design. Cambridge University Press, 1997. Shashua A.: Algebraic Functions For Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 17, No. 8, August 1995. Shashua A., Werman M.: Fundamenta! Tensor: On the Geometry of Three Perspective Views. Hebrew University of Jerusalem, Institute of Computer Science, 1995. Shirai Y.: Three-dimensional Computer Vision, Springer, 1987. Simoncelli E.P.: Distributed Representation and Analysis of Visual Motion. PhD Thesis, MIT, 1993. Simoncelli E.P.: Design of Multi-Dimensional Derivative Filters. IEEE International Conference on Image Processing. November 1994. Sinha S.S., Jain R.: Range Image Analysis. Handbook of Pattern Recognition and Image Processing: Computer Vision. Edited by T.Y. Young. Volume 2, Academic Press, 1994. Skarbek W.: Metody reprezentacji obrazów cyfrowych. Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1993. Skarbek W. (Red.): Multimedia. Algorytmy i standardy kompresji. Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1998. Smith S.M., Brady J.M.: SUSAN - A New Approach to Low Level Image Processing. Technical Report TR95SMSlc, Oxford University, 1995. Sporring J., Nielsen M., Florack L., Johansen P.: Gaussian Scale-Space Theory. Kluwer Academic Publishers 1997. Starek J.-L., Murtagh F., Bijaoui A.: Image Processing and Data Analysis. The Multiscale Approach. Cambridge University Press, 2000. Stroustrup B.: C++ Programming Language. 3rd edition, Addison-Weseley 1998. Sturm P.: A Case Against Kruppa’s Equations for Camera Self-Calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, October2000. Subbarao M., Choi T.: Accurate recovery of three-dimensional shape from image focus. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 17, No. 3, pp. 266-274, March 1995. Svoboda T., Pajdla T., Hlavac V.: Epipolar Geometry for Panoramie Cameras. ECCV’ 98, 5th European Conference on Computer Vision, Proceedings, Vol. l, June 1998. Swaminathan R., Nayar S.K.: Nonmetric Calibration of Wide-Angle Lenses and Polycameras. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 10, October 2000 Synge J.L., Schild A.: Tensor Calculus. Dover Publications, Inc. 1978. Szeliski R., Golland P.: Stereo Matching with Transparency and Matting. Proceedings of the Sixth International Conference on Computer Vision ICCV ’98, January 4-7, 1998.
172
[227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245]
[246] [247] [248] [249] [250] [251] 252[] [253] [254]
Szeliski R., Zabih R.: An Experimental Comparison of Stereo Algorithms. Microsoft Technical Report, www.research.microsoft.com/ szeliski, 2000. Tadeusiewicz R.: Sieci neuronowe. Akademicka Oficyna Wydawnicza, Warszawa, 1993. Tadeusiewicz R., Korohoda P.: Komputerowa analiza i przetwarzanie obrazów, Wydawnictwo Fundacji Postępu Telekomunikacji, Kraków, 1997. Tanaka S., Kak A.C.: A rule-based approach to binocular stereopsis, w Jain R.C., Jain A.K.: Analysis and Interpretation of Range Images. Springer- Verlag, 1990. Thirring W.: Fizyka matematyczna. Klasyczne układy dynamiczne. Tom 1. PWN, Warszawa, 1985. Tomasi C., Manduchi R.: Bilateral Filtering for Gray and Color Images. Proceedings of the 1998 IEEE International Conference on Computer Vision, Bombay, India. Torr S.H.P, Zisserman A.: Robust Parametrization and Computation of the Trifocal Tensor. Department of Engineering Science, University of Oxford, Hilary Term, 1998. Torr P.H.S., Zisserman A.: Feature Based Methods for Structure and Motion Estimation. International Workshop on Vision Algorithms. Corfu, Greece, September 1999. Trajdos T.: Rachunek tensorowy. Rozdział XVI w Poradniku inżyniera - Matematyka, WNT, Warszawa, 1971. Trapp R., Driie S., Hartmann G.: Stereo Matching with Implicit Detection of Occlussions. University of Paderborn, Department of Electircal Engineering. Triggs B.: Autocalibration and the Absolute Quadric, CVPR, 1997. Triggs B.: Camera Pose and Calibration from 4 or 5 Known 3D Points. ICCV, 1999. Triggs B.: The Geometry of Projective Reconstruction I: Matching Constraints and the Joint Image. International Journal of Computer Vision, July, 1995. Triggs B.: Piane + Parallax, Tensors and Factorization. INRIA Technical Report, 2000. Trucco E., Verri A.: Introductory Techniques for 3-D Computer Vision. Prentice-Hall 1998. Videre Design: STH-V1 Stereo Head User’s Manual. Videre Design Corp, www.videredesign.com, 1998. Videre Design: STH-MD1 Megapixel Digital Stereo Head User’s Manual Videre Design Corp, www.videredesign.com, 1999. Wandell B.A.: Foundations of Vision. Sinauer Associates Publishers Inc. 1995. Wei G-Q., Brauer W., Hirzinger G.: Intensity- and Gradient-Based Stereo Matching Using Hierarchical Gaussian Basis Functions. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 20, No. 11, November 1998. Wei G-Q., Hirzinger G.: Parametric Shape-from-Shading by Radial Basis Functions. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 19, No. 4, pp. 353-365, April 1997. Weiss Z., Gruźlewski T.: Programowanie współbieżne i rozproszone. WNT, Warszawa, 1993. Wieczorkowski R., Zieliński R.: Komputerowe generatory liczb losowych. Wydawnictwa Naukowo-Techniczne, Warszawa, 1997. Windyga P.S.: Fast Impulsive Noise Removal. IEEE Transactions on Image Processing, Vol. 10, No. l,pp. 173-179, January 2001. Wojciechowski K., Polański A., Borek A.: Kalibrowanie Systemu Stereowidzenia. Podstawowa procedura kalibracyjna stereoskopowego systemu widzenia maszynowego. Nr 776. Polska Akademia Nauk, 1995. Wojciechowski K., Polański A., Borek A.: Kalibrowanie Systemu Stereowidzenia. Algorytmy określania położenia i orientacji brył. Nr 763. Polska Akademia Nauk, 1994. Wojnar L., Majorek M.: Komputerowa analiza obrazu. FOTOB1T-DES1GN, Kraków 1994. Woodfill J., Von Herzen B.: Real-Time Stereo Vision on the PARTS Reconfigurable Computer. IEEE Symposium on FPGAs for Gustom Computing Machines, April 1997. Yokoya N., Shakunaga T., Kanbara M.: Passive Range Sensing Techniques: Depth from Images. IEICE Transactions on Information and Systems, Vol. E82-D, No. 3, pp. 523-533, March 1999.
173
[255] [256] [257] [258] [259]
[260]
[261]
Young T.Y.: Handbook of Pattern Recognition and Image Processing: Computer Vision. Vol. 2. Academic Press 1994. Zabih R., Woodfill J.: Non-parametric Local Transforms for Computing Visual Correspondence. Computer Science Department, Cornell University, Ithaca, 1998. Zhang Z.: A Flexible New Technique for Camera Calibration. Technical Report MSR-TR98-71. Microsoft Research, Microsoft Corporation, www.microsoft.com, 1999. Zhang Z.: Determining the Epipolar Geometry and its Uncertainty: A Review. INRIA Technical Report No. 2927, My 1996. Zhang Z., Deriche R., Faugeras O., Luong T.Q.: A Roubst Technique for Matching Two Uncalibrated Images Through the Recovery of the Unknown Epipolar Geometry, INRIA Technical Report No. 2273, May 1994. Zitnick C.L., Kanade T.: A Volumetric Iterative Approach to Stereo Matching and Occlusion Detection. Carnegie Mellon University, The Robotics Institute, Technical Report CMU-RI-TR-98-30, December 1998. Zitnick C.L., Kanade T.: A Cooperative Algorithm for Stereo Matching and Occlusion Detection. Carnegie Mellon University, The Robotics Institute, Technical Report CMURI-TR-99-35, October 1999.