Trójogniskowy tensor
W wizji komputerowej trójogniskowy tensor (również tritensor ) to tablica liczb 3×3×3 (tj. tensor ) , która obejmuje wszystkie rzutowe relacje geometryczne między trzema widokami. Wiąże współrzędne odpowiednich punktów lub linii w trzech widokach, będąc niezależnymi od struktury sceny i zależnymi tylko od względnego ruchu (tj. pozycji ) pomiędzy trzema widokami i ich wewnętrznych parametrów kalibracji. Stąd tensor trójogniskowy można uznać za uogólnienie macierzy podstawowej w trzech widokach. Należy zauważyć, że pomimo tego, że tensor składa się z 27 elementów, tylko 18 z nich jest faktycznie niezależnych.
Istnieje również tak zwany skalibrowany tensor trójogniskowy , który wiąże współrzędne punktów i linii w trzech widokach z uwzględnieniem ich wewnętrznych parametrów i koduje względną pozycję kamer w skali globalnej, w sumie 11 niezależnych elementów lub stopni swobody. Zmniejszone stopnie swobody pozwalają na dopasowanie mniejszej liczby korespondencji do modelu, kosztem zwiększonej nieliniowości.
Wycinki korelacji
Tensor można również postrzegać jako zbiór trzech macierzy 3 x 3 rangi 2 znany jako jego przekroje korelacji . Zakładając, że macierze projekcji trzech widoków to , i odpowiedniego tensora można wyrazić w postaci domkniętej jako Displaystyle to odpowiednio i- te kolumny macierzy kamer. W praktyce jednak tensor jest szacowany na podstawie dopasowań punktowych i liniowych w trzech widokach.
Ograniczenia trójliniowe
Jedną z najważniejszych właściwości tensora trójogniskowego jest to, że daje on początek liniowym zależnościom między liniami i punktami na trzech obrazach. Dokładniej, dla trojaczków odpowiednich punktów mathbf obowiązują następujące ograniczenia trójliniowe :
gdzie - macierz .
Przenosić
Biorąc pod uwagę trójogniskowy tensor trzech widoków i parę dopasowanych punktów w dwóch widokach, możliwe jest określenie położenia punktu w trzecim widoku bez żadnych dodatkowych informacji. Jest to znane jako przeniesienie punktu i podobny wynik dotyczy linii i stożków. W przypadku krzywych ogólnych przeniesienie można zrealizować za pomocą lokalnego modelu krzywej różniczkowej oscylujących okręgów (tj. krzywizny), które następnie można przenieść jako stożki. Zbadano przeniesienie modeli trzeciego rzędu odzwierciedlających skręcanie przestrzeni przy użyciu skalibrowanych tensorów trójogniskowych, ale pozostaje to otwartym problemem w przypadku nieskalibrowanych tensorów trójogniskowych.
Oszacowanie
Nieskalibrowany
Klasyczny przypadek to 6-punktowe odpowiedniki dające 3 rozwiązania.
Przypadek szacowania tensora trójogniskowego na podstawie 9 odpowiedników liniowych został rozwiązany dopiero niedawno.
Skalibrowany
Oszacowanie skalibrowanego tensora trójogniskowego zostało uznane za niezwykle trudne i wymaga 4-punktowej zgodności.
Niedawno rozwiązano przypadek stosowania tylko trzypunktowych odpowiedników, w których punktom przypisuje się kierunki styczne lub linie padające; gdy tylko dwa punkty mają linie incydentu, jest to minimalny problem stopnia 312 (więc może być co najwyżej 312 rozwiązań) i jest istotny w przypadku krzywych ogólnych (których punkty mają styczne) lub punktów charakterystycznych z przypisanymi kierunkami (takich jak kierunki SIFT). Ta sama technika rozwiązała mieszany przypadek zgodności trzech punktów i zgodności jednej linii, która również okazała się minimalna przy stopniu 216.
Dalsza lektura
- Hartley, Richard I. (1997). „Linie i punkty w trzech widokach i trójogniskowy tensor”. Międzynarodowy Dziennik Wizji Komputerowej . 22 (2): 125–140. doi : 10.1023/A:1007936012022 . S2CID 8979544 .
- Torr, PHS; Zisserman, A. (1997). „Solidna parametryzacja i obliczenia tensora trójogniskowego”. Przetwarzanie obrazów i wizji . 15 (8): 591–607. CiteSeerX 10.1.1.41.3172 . doi : 10.1016/S0262-8856(97)00010-3 .
Linki zewnętrzne
- Wizualizacja geometrii trójogniskowej (oryginalnie autorstwa Sylvaina Bougnoux z INRIA Robotvis, wymaga Javy )
Algorytmy
- Implementacja w Matlabie estymacji nieskalibrowanego tensora trójogniskowego i porównania z podstawowymi macierzami parami
- Implementacja C++ skalibrowanej estymacji tensora trójogniskowego przy użyciu zoptymalizowanego kodu Homotopy Continuation. Obecnie obejmuje przypadki trzech odpowiednich punktów z liniami w tych punktach (jak w pozycjach i orientacjach obiektów lub punktach krzywej ze stycznymi), a także dla trzech odpowiednich punktów i jednej korespondencji liniowej.