Matryca aparatu
W wizji komputerowej matryca kamery lub macierz projekcji (kamery) to mapowanie kamery otworkowej z punktów na świecie do punktów 2D na obrazie.
Niech będzie reprezentacją punktu 3D we jednorodnych (wektor 4-wymiarowy) i niech będzie reprezentacją obrazu tego punktu w aparacie otworkowym (wektor trójwymiarowy). Wtedy zachodzi następująca zależność
gdzie jest kamery, a , że lewa i prawa strona są równe, wyjątkiem mnożenia przez niezerowy skalar :
Ponieważ matryca kamery jest zaangażowana w odwzorowywanie elementów dwóch przestrzeni rzutowych , to również można element rzutowy. Oznacza to, że ma tylko 11 stopni swobody, ponieważ każde pomnożenie przez niezerowy skalar daje w wyniku równoważną macierz kamery.
Pochodzenie
Odwzorowanie współrzędnych punktu 3D P na współrzędne obrazu 2D rzutu punktu na płaszczyznę obrazu, zgodnie z modelem kamery otworkowej , jest podane przez
gdzie to współrzędne 3D P względem układu współrzędnych wyśrodkowanego na kamerze to wynikowe współrzędne obrazu, a f to ogniskowa aparatu, dla której zakładamy f > 0. Ponadto zakładamy również, że x 3 > 0 .
Aby wyprowadzić macierz kamery, powyższe wyrażenie jest przepisywane w kategoriach jednorodnych współrzędnych. Zamiast wektora element i zamiast równości rozważamy równość aż do skalowania przez liczbę różną od zera, oznaczoną . Najpierw zapisujemy jednorodne współrzędne obrazu jako wyrażenia w zwykłych współrzędnych 3D.
Wreszcie, również współrzędne 3D są wyrażone w jednorodnej reprezentacji i tak wygląda matryca kamery:
- lub
gdzie jest kamery, która tutaj jest podana
- }
a odpowiednia matryca kamery staje się teraz
Ostatni krok jest konsekwencją tego, że elementem rzutowym.
Wyprowadzona tutaj macierz kamery może wydawać się trywialna w tym sensie, że zawiera bardzo mało niezerowych elementów. Zależy to w dużej mierze od konkretnych układów współrzędnych, które zostały wybrane dla punktów 3D i 2D. W praktyce jednak powszechne są inne formy matryc kamer, co zostanie pokazane poniżej.
Pozycja kamery
Macierz kamery w poprzedniej sekcji ma przestrzeń zerową , którą obejmuje wektor do
Jest to również jednorodna reprezentacja punktu 3D, który ma współrzędne (0,0,0), to znaczy „środek kamery” (znany również jako źrenica wejściowa ; pozycja otworka kamery otworkowej ) znajduje się w punkcie O . Oznacza to, że środek kamery (i tylko ten punkt) nie może być odwzorowany przez kamerę na punkt na płaszczyźnie obrazu (lub równoważnie mapuje się na wszystkie punkty na obrazie, ponieważ każdy promień na obrazie przechodzi przez ten punkt).
Dla każdego innego punktu 3D z wynikiem jest dobrze zdefiniowany i ma postać . Odpowiada to punktowi w nieskończoności na rzutowej płaszczyźnie obrazu (nawet jeśli płaszczyzna obrazu jest uważana za płaszczyznę euklidesową , nie istnieje żaden odpowiadający jej punkt przecięcia).
Znormalizowana matryca kamery i znormalizowane współrzędne obrazu
Wyprowadzoną powyżej macierz kamer można uprościć jeszcze bardziej, jeśli założymy, że f = 1 :
gdzie macierz _ Zauważ, że macierz jest tutaj podzielona konkatenację macierzy trójwymiarowego wektora . kamery jest czasami nazywana kanoniczną .
Do tej pory wszystkie punkty w świecie 3D były reprezentowane w układzie współrzędnych wyśrodkowanym przez kamerę , to znaczy w układzie współrzędnych, którego początek znajduje się w środku kamery (miejsce, w którym znajduje się otworek kamery otworkowej ) . W praktyce jednak punkty 3D mogą być reprezentowane za pomocą współrzędnych względem dowolnego układu współrzędnych (X1', X2', X3'). Zakładając, że osie współrzędnych kamery (X1, X2, X3) i osie (X1', X2', X3') są typu euklidesowego (ortogonalne i izotropowe), istnieje unikalna euklidesowa transformacja 3D (obrót i translacja) między dwa układy współrzędnych. Innymi słowy, kamera niekoniecznie znajduje się w punkcie początkowym, patrząc wzdłuż osi Z.
Dwie operacje obrotu i translacji współrzędnych 3D można przedstawić jako dwie macierze
- i
gdzie macierzą trójwymiarowym _ _ Kiedy pierwsza macierz jest mnożona przez jednorodną reprezentację punktu 3D, wynikiem jest jednorodna reprezentacja obróconego punktu, a druga macierz wykonuje zamiast tego translację. Wykonanie kolejno dwóch operacji, tj. najpierw obrotu, a następnie przesunięcia (z wektorem przesunięcia podanym w już obróconym układzie współrzędnych), daje złożoną macierz obrotu i przesunięcia
Zakładając, że są dokładnie obrotami i translacjami, które odnoszą się do dwóch układów współrzędnych (X1, X2, X3) i (X1 ', X2', R {\ displaystyle \ mathbf { X3') powyżej, oznacza to, że
gdzie jest jednorodną reprezentacją punktu P w układzie współrzędnych (X1', X2', X3
Zakładając również, że macierz kamery jest dana przez , mapowanie ze współrzędnych w układzie (X1, X2, X3) na jednorodne współrzędne obrazu staje się do {\ displaystyle
W związku z tym macierz kamery, która wiąże punkty w układzie współrzędnych (X1',X2',X3') ze współrzędnymi obrazu, jest
konkatenacja trójwymiarowej macierzy rotacji i trójwymiarowego wektora translacji.
Ten typ matrycy kamery jest określany jako znormalizowana macierz kamery , zakłada ogniskową = 1 oraz że współrzędne obrazu są mierzone w układzie współrzędnych, w którym początek układu współrzędnych znajduje się na przecięciu osi X3 i płaszczyzny obrazu i ma te same jednostki jako układ współrzędnych 3D. Wynikowe współrzędne obrazu są określane jako znormalizowane współrzędne obrazu .
Pozycja kamery
Ponownie, przestrzeń zerowa znormalizowanej macierzy kamery, powyżej, jest rozpięta przez 4-wymiarowy
Są to również ponownie współrzędne środka kamery, teraz względem układu (X1',X2',X3'). Można to zobaczyć, stosując najpierw obrót, a następnie translację do trójwymiarowego wektora, jednorodna reprezentacja współrzędnych 3D (0,0 ,0).
Oznacza to, że środek kamery (w swojej jednorodnej reprezentacji) leży w przestrzeni zerowej matrycy kamery, pod warunkiem, że jest reprezentowany jako współrzędne 3D względem tego samego układu współrzędnych, do którego odnosi się matryca kamery.
Znormalizowaną macierz kamery można teraz zapisać jako do
gdzie trójwymiarowe współrzędne kamery względem układu (X1 ', X2', X3 '
Ogólna matryca aparatu
Biorąc pod uwagę odwzorowanie utworzone przez znormalizowaną matrycę kamery, wynikowe znormalizowane współrzędne obrazu można przekształcić za pomocą dowolnej homografii 2D . Obejmuje to translacje i obroty 2D, a także skalowanie (izotropowe i anizotropowe), ale także ogólne transformacje perspektywiczne 2D . Taka transformacja może być reprezentowana jako , która odwzorowuje jednorodne znormalizowane współrzędne obrazu na jednorodne przekształcone współrzędne obrazu :
Wstawienie powyższego wyrażenia dla znormalizowanych współrzędnych obrazu pod względem współrzędnych 3D daje
Daje to najbardziej ogólną postać matrycy kamery
Zobacz też
- Richarda Hartleya i Andrew Zissermana (2003). Geometria wielu widoków w wizji komputerowej . Wydawnictwo Uniwersytetu Cambridge. ISBN 0-521-54051-8 .