Geometria obrazu Wykład 14 Przestrzeń rzutowa. Rzutowanie perspektywiczne. Macierz projekcji. Geometria wielobiegunowa (epipolarna).
Definicja. Pierścień przemienny z jedynką (K,+,,1,0), w którym każdy element różny od zera jest odwracalny nazywamy ciałem. Niech K będzie ciałem a R relacją taką, że dwa punkty a, b Kn- (0, ... ,0) są w relacji aRb gdy istnieje K takie, że (a1, ... ,an) = (b1, ... ,bn). Iloraz Kn- (0, ... ,0)/R nazywamy przestrzenią rzutową. Na przykładzie przestrzeni dwuwymiarowej poznajmy niektóre własności przestrzeni rzutowej.
Jednorodna reprezentacja prostych i punktów. Oznaczmy prostą ax+by+c = 0 jako (a,b,c)T. Zauważmy, że dla każego k 0 (ka)x+(kb)y+kc = 0, czyli (a,b,c)T jest w relacji z k(a,b,c)T. Zatem zbiór klas abstrakcji tej relacji na wektorach z R3-(0,0,0) tworzy przestrzeń rzutową P2. Oznaczmy punkt (x,y) jako (x,y,1)T. Lemat. Punkt p leży na prostej l wtedy i tylko wtedy, gdy pTl = lTp = 0. Przecięciem dwóch prostych l i l’ jest punkt p = l l’. Przez punkty p i p’ przechodzi prosta l = p p’.
Wniosek. Proste równoległe l = (a,b,c)T i l’ = (a,b,c’)T przecinają się w punkcie (b,-a,0)T. Przez punkty w nieskończoności (punkty idealne) (p1,p2,0) i (r1,r2,0) przechodzi prosta (0,0,c)T. Zasada dualności. Każdemu twierdzeniu dotyczącemu dwuwymiarowej przestrzeni rzutowej odpowiada twierdzenie dualne, w którym zamieniono role prostych i punktów.
„Znikający punkt”. Każdy zbiór współpłaszczyznowych prostych równoległych przecina się w innym („znikającym”) punkcie. Zbiory współpłaszczyznowych prostych równoległych przecinają się punktach współliniowych (nazywamy je horyzontem dla danej płaszczyzny). Horyzont jest linią przecięcia ekranu z płaszczyzną równoległą do danej, przechodzącą przez punkt położenia obserwatora. Różne płaszczyzny wyznaczają różne horyzonty.
Rysowanie obiektów z perspektywą. Przykład. Rysowanie obiektów z perspektywą. [„Projective geometry in computer vision”]
Rzutowanie perspektywiczne. Rozpatrzmy kamerę typu pinhole. Niech ekran będzie położony prostopadle do osi z w odległości f od środka układu współrzędnych. Wtedy (x,y,f) = (X,Y,Z), gdzie = Z/f . Z dokładnością do współczynnika skalującego można to zapisać z pomocą współrzędnych jednorodnych. [R.Hartley, A.Zisserman, „Multiple View Geometry”]
Założenie o wykorzystaniu kamery typu pinhole jest mało realistyczne, gdyż przy zbyt dużym otworze do ekranu dociera zbyt dużo promieni powodując rozmycie obrazu. Natomiast przy zbyt małym otworze jakość obrazu pogarsza zjawisko dyfrakcji. Poza tym obraz jest ciemny z uwagi na mała liczbę promieni docierających do ekranu. [„Projective geometry in computer vision”]
Kalibracja kamery. Zazwyczaj przyjmuje się, że obraz, jaki chcemy otrzymać jest równoważny temu, który pojawia się na ekranie podczas rzutowania. Jednak w przypadku, gdy np. ogniskowa nie jest znormalizowana lub występują odchylenia w trakcie rzutowania (robienia zdjęcia), należy uwzględnić to w postaci macierzy kalibracji. [M.Pollefeys, „Visual 3D Modelling from Images”]
px i py oznaczają wysokość i szerokość piksela na obrazie, c = (cx, cy, 1)T odpowiada położeniu osi rzutu na ekranie, f jest ogniskową, odchyleniem obrazu od pionu, xR i yR współrzędnymi rzutu na ekranie, a x i y współrzędnymi obrazu. Poprzednie równanie możemy zapisać w następującej postaci (gdzie zazwyczaj s, cx, cy są zerami) [M.Pollefeys, „Visual 3D Modelling from Images”]
Bardziej szczegółowo. Celem kalibracji jest wyznaczenie parametrów określających zależności między układem związanym ze sceną (podstawowym) a układem związanym z kamerą, na które mają wpływ transformacja perspektywy oraz parametry związane z kamerą i układem optycznym. Parametry kamery mające wpływ na proces kalibracji: zewnętrzne (extrinsic) – związane z przesunięciem i rotacją układu kamery względem układu związanego z obserwowana sceną, wewnętrzne (intrinsic) – określające właściwości techniczne (optyczne, elektryczne itp.) kamery, w tym różne rodzaje zniekształceń obrazu.
Zniekształcenia obrazu: radialne – powodują przesunięcie współrzędnych na obrazie w sposób promienisty i można je aproksymować stosując równanie gdzie k1, k2, … są pewnymi współczynnikami zniekształceń radialnych, a r oznacza odległość punktu (x0,y0) od środka układu współrzędnych, styczne - prostopadłe do radialnych są skutkiem tego, że środki krzywizn soczewek obiektywu nie zawsze są idealnie współliniowe oraz można je redukować z pomocą równania gdzie p1 i p2 są pewnymi współczynnikami zniekształceń stycznych, liniowe – powstają, gdy osie układu związanego z kamerą nie są idealnie prostopadłe do siebie i można je opisać z pomocą pojedynczego współczynnika krzywizny c.
Przykład. [http://etacar.put.poznan.pl/marcin.kielczewski/POiSW9.pdf]
Po uwzględnieniu wszystkich zniekształceń otrzymujemy nastepujące parametry wewnętrzne modelu kamery: wektor długości ogniskowej fc, wektor cc określający współrzędne położenia środka układu współrzędnych, współczynnik krzywizny c zniekształceń liniowych, wektor przekształceń kc=[k1, k2, k3, p1, p2]T zawierający współczynniki zniekształceń radialnych i stycznych.
Dystorsja. Wada optyczna polegająca na różnym powiększeniu obrazu w zależności od jego odległości od osi optycznej instrumentu (zmieniająca się ogniskowa obiektywu lub okularu w zależności od odległości od osi optycznej), co powoduje powstawanie wyraźnych zniekształceń obrazu na brzegu pola widzenia. Rozróżniamy dystorsję beczkową i poduszkową. Układy ze skorygowaną dystorsją nazywamy układami ortoskopowymi. [www.optyczne.pl]
Każda metoda kalibracji wymaga znajomości serii punktów w przestrzeni oraz współrzędnych ich rzutów na płaszczyznę obrazu. Ze względu na sposób określania punktów można wyróżnić trzy podstawowe metody: stosującą trójwymiarowy obiekt referencyjny, którego kształt i wymiary są znane z dużą precyzja, lub płaski wzorzec ze znaną zmianą położenia podczas wyznaczania punktów do kalibracji, używającą wzorzec płaski umieszczony w różnych położeniach względem kamery (nie jest konieczna znajomość pozycji wzorca a jedynie rozmieszczenie punktów na wzorcu), samokalibrację, w której nie używa się żadnego obiektu, a wykonuje się ją na podstawie odpowiadających sobie punktów z obrazów rejestrowanych podczas ruchu kamery obserwującej statyczną scenę.
Przykład. Wzorzec kalibrujący kamerę. [cyberfoto.pl]
Ruch kamery. Zmianę położenia kamery kontrolujemy z pomocą następującej macierzy (gdzie R oznacza macierz obrotu, a t = [tx, ty, tz]T jest wektorem przesunięcia) (ruch sceny opisany jest macierzą ).
Macierz projekcji. Uwzględniając wcześniejsze spostrzeżenia otrzymujemy macierz projekcji kamery o następującej postaci [M.Pollefeys, „Visual 3D Modelling from Images”]
Geometria epipolarna. Gdy scena jest obserwowana z więcej niż jednego punktu można zauważyć wiele zależności między obrazami tych samych punktów. Umożliwia to odtworzenie sceny na podstawie jej rzutów. Zakładamy, że znana jest pozycja obserwatorów i płaszczyzn rzutowania.
Nawet gdy nie jest znane dokładne położenie punktu M odpowiadającego na obrazie punktowi m, musi on należeć do prostej l wyznaczanej przez m i pozycję obserwatora C. Zatem obraz punktu M względem drugiego obserwatora C’ należy do prostej l’ będącej rzutem l. [M.Pollefeys, „Visual 3D Modelling from Images”]
Przykład. [R.Hartley, A.Zisserman, „Multiple View Geometry”]
Prosta łącząca pozycje obserwatorów C i C’ definiuje pęk zawierających ją płaszczyzn. Każda prosta należąca do którejś z tych płaszczyzn występuje w obu obrazach. Nazywa się to epipolarną odpowiedniością. Rzut każdej takiej prostej zawiera punkty e lub e’ będące przecięciem prostej łączącej C i C’ z odpowiednimi płaszczyznami rzutowymi. Punkty e i e’ nazywamy epipolami. [M.Pollefeys, „Visual 3D Modelling from Images”]
Z pomocą geometrii epipolarnej możemy starać się odtworzyć kształt sceny na podstawie posiadanych obrazów. Ale osiągnięcie zadowalającego efektu wymaga sporego wysiłku. [M.Pollefeys, „Visual 3D Modelling from Images”]
Dziękuję za uwagę.