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 .
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
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
Homography Estimation autorstwa Elana Dubrofsky'ego (§2.1 szkicuje „Podstawowy algorytm DLT”)