5

Chciałbym sprawdzić, czy moje rozumienie macierzy podstawowej jest poprawne i czy możliwe jest obliczenie F bez użycia odpowiednich par punktów.Oblicz macierz podstawową bez korespondencji punktowej?

Podstawowym matryca jest obliczana jako F = inv(transpose(Mr))*R*S*inv(Ml) gdzie p i ml w prawo i w lewo wewnętrzne matryce aparatu R jest macierzą obrotową, która prowadzi w prawo układu współrzędnych do lewa, a S oznacza macierz antysymetryczna

S = 0 -T[3] T[2] where T is the translation vector of the right coordinate system 
    T[3]  0 -T[1] from the left. 
    -T[2] T[1]  0 

Rozumiem, że podstawową macierz można obliczyć za pomocą 8-punktowego algorytmu, ale nie mam żadnej korespondencji punktowej. Jednak obie moje kamery są skalibrowane, więc mam wszystkie parametry wewnętrzne i zewnętrzne. Z definicji macierzy podstawowej powyżej można obliczyć F za pomocą tych samych parametrów, prawda?

(Problem doświadczam jest, że podstawowym matryca wydaje się źle, gdy obliczony od jego definicji. W tej chwili, chciałbym tylko wiedzieć, czy moje rozumienie powyżej jest poprawna.)

+2

Jeśli skalibrowałeś swoje kamery i masz parametry zewnętrzne i wewnętrzne, to tak, nie potrzebujesz korespondencji punktowej. Korespondencje punktowe są używane, gdy ** nie wiesz ** parametrów kamery (a.k.a. nieskalibrowanej) i chcesz określić Podstawową Matrix właśnie z korespondencji punktowej. Jak kalibrujecie kamery? Czy istnieje kod, który możesz nam pokazać? – rayryeng

+0

@Booley Hi Mam pytanie dotyczące macierzy skośnej, o której wspomniano powyżej w formule macierzy F. Jeśli moje dwie kamery mają następujące zewnętrzne parametry: {1,0,0,15 | 0,1,0,0 | 0, 0, 1, 0} i {1,0,0,25 | 0,1,0,0 | 0, 0, 1, 0} pochylenie między nimi byłoby:? {0, 0, 0 | 0, 0, -10 | 0, 10, 0} próbując obliczyć matrycę podstawową, aby spróbować znaleźć odpowiedni punkt x 'dla x używając F jak podano powyżej. –

Odpowiedz

0

Jeśli masz obrót i tłumaczenie każdej z kamer w odniesieniu do wspólnego układu współrzędnych, następnie można obliczyć obrót i przesunięcie między kamerami, a następnie użyć formuły, którą przytoczyłeś, aby obliczyć podstawową macierz.

Lepszym sposobem na zrobienie byłoby skalibrowanie obu kamer razem jako pojedynczego systemu stereo. Najnowsza wersja (2014a) Computer Vision System Toolbox pozwala to zrobić. Zobacz this example.

+0

Witam Mam pytanie. Jeśli moje dwie kamery mają następujące zewnętrzne parametry: {1,0,0,15 | 0,1,0,0 | 0, 0, 1, 0} i {1,0,0,25 | 0,1,0,0 | 0, 0, 1, 0} pochylenie między nimi byłoby:? {0, 0, 0 | 0, 0, -10 | 0, 10, 0} próbując obliczyć matrycę podstawową, aby spróbować znaleźć odpowiedni punkt x 'dla x używając F jak podano powyżej –

0

Wolałbym robić to jak równania w rozdziale 9 "Wielokrotnego widoku geometrii". Zweryfikowałem je w Matlab. To prawda.

Jeśli można uzyskać zarówno wewnętrznych jak i zewnętrznych macierzy obu kamer, można obliczyć macierz F jak:

F = [e '] _ x * P' * p^+

(patrz do pp244 w "Wielokrotnej geometrii widoku" w celu uzyskania szczegółowych definicji)

Powiązane problemy