Bezpośrednia transformacja liniowa

Bezpośrednia transformacja liniowa ( DLT ) to algorytm, który rozwiązuje zbiór zmiennych ze zbioru relacji podobieństwa:

dla

gdzie i są znanymi wektorami, równość do nieznane mnożenie przez skalar, a jest , która zawiera niewiadome do rozwiązania.

Ten typ relacji pojawia się często w geometrii rzutowej . Praktyczne przykłady obejmują relacje między punktami 3D w scenie a ich projekcją na płaszczyznę obrazu kamery otworkowej oraz homografie .

Wstęp

Zwykły układ równań liniowych

dla

można rozwiązać, na przykład, przepisując je jako równanie macierzowe gdzie macierze i zawierają wektory i w ich odpowiednich kolumny. Biorąc pod uwagę, że istnieje unikalne rozwiązanie, jest ono podane przez

Rozwiązania można również opisywać w przypadku, gdy równania są przekreślone lub niedookreślone.

To, co odróżnia problem bezpośredniej transformacji liniowej od powyższego przypadku standardowego, to fakt, że lewa i prawa strona równania definiującego mogą różnić się o nieznany współczynnik multiplikatywny, który jest zależny od k . W konsekwencji jak w przypadku standardowym. Zamiast tego relacje podobieństwa są przepisywane jako właściwe liniowe równania jednorodne, które następnie można rozwiązać standardową metodą. Połączenie przepisywania równań podobieństwa jako jednorodnych równań liniowych i rozwiązywania ich standardowymi metodami jest określane jako algorytm bezpośredniej transformacji liniowej lub algorytm DLT . DLT przypisuje się Ivanowi Sutherlandowi.

Przykład

Załóżmy, że . Niech i być dwoma znanymi wektorami i chcemy znaleźć macierz , że

gdzie jest nieznanym współczynnikiem skalarnym związanym z równaniem k .

Aby pozbyć się nieznanych skalarów i otrzymać równania jednorodne, zdefiniuj macierz antysymetryczną

i pomnóż obie strony równania przez od lewej

Ponieważ _ równania, które nie zawierają już nieznanych skalarów, są w zasięgu ręki

Aby rozwiązać zestawu równań, rozważ elementy wektorów y i macierz :

} i

i powyższe jednorodne równanie staje się

dla

Można to również zapisać w postaci macierzowej:

dla

gdzie oba są 6-wymiarowymi wektorami zdefiniowanymi jako i

i

Jak dotąd mamy 1 równanie i 6 niewiadomych. Układ równań jednorodnych można zapisać w postaci macierzowej

gdzie jest znane w Nieznane można określić na przykład za pomocą wartości osobliwej na ; prawym wektorem liczby pojedynczej wartości osobliwej równej zeru. Po określeniu elementy macierzy z wektora . Zauważ, że skalowanie lub nie jest ważne (poza tym, że musi być niezerowe), ponieważ równania definiujące już pozwalają

W praktyce wektory mogą zawierać szum że ​​równania podobieństwa są poprawne tylko W konsekwencji może nie istnieć wektor który rozwiązuje równanie jednorodne Dokładnie. W takich przypadkach całkowite rozwiązanie najmniejszych kwadratów , wybierając prawy odpowiadający najmniejszej wartości osobliwej

Bardziej ogólne przypadki

Powyższy przykład ma i , ale ogólną strategię przepisywania relacji podobieństwa na jednorodne równania liniowe można uogólnić na dowolne wymiary zarówno dla i

x i poprzednie wyrażenia nadal mogą prowadzić do równania

dla

gdzie teraz Każde k zapewnia jedno równanie w elementach i razem te równania można zapisać dla znanej macierzy B i nieznanej 2q wektor wymiarowy Ten wektor można znaleźć w podobny sposób jak poprzednio.

W najbardziej ogólnym przypadku i . Główna różnica w porównaniu z poprzednio polega na antysymetryczna . Kiedy przestrzeń takich macierzy nie jest już

Oznacza to, że każda wartość k dostarcza M równań jednorodnych tego typu

dla i dla

gdzie jest -wymiarową podstawą przestrzeni antysymetrycznych macierzy {

Przykład p = 3

W przypadku, gdy p = 3 można wybrać następujące trzy macierze:

, ,

W tym konkretnym przypadku jednorodne równania liniowe można zapisać jako

dla

gdzie jest macierzową reprezentacją iloczynu wektorowego . Zauważ, że to ostatnie równanie ma wartość wektorową; lewa strona to element zerowy w .

Każda wartość k zapewnia trzy jednorodne równania liniowe w nieznanych elementach . . Ponieważ jednak rangę = 2, co najwyżej dwa Dlatego w praktyce często używa się tylko dwóch z trzech macierzy , na przykład dla m zależność między równaniami zależy od , wybrać np. m = 2,3. W , jeśli liczba równań nie jest problemem, może być lepiej użyć wszystkich trzech równań podczas konstruowania

Liniowa zależność między wynikowymi jednorodnymi równaniami liniowymi jest ogólnym problemem w przypadku p > 2 i należy się nią zająć albo poprzez zmniejszenie zbioru antysymetrycznych macierzy. lub pozwalając, niż jest to konieczne do określenia

  •   Richarda Hartleya i Andrew Zissermana (2003). Geometria wielu widoków w wizji komputerowej . Wydawnictwo Uniwersytetu Cambridge. ISBN 978-0-521-54051-3 .

Linki zewnętrzne