Direkt linjär transformation ( DLT ) är en algoritm som löser en uppsättning variabler från en uppsättning likhetsrelationer:
för
där och är kända vektorer, betecknar likhet upp till en okänd skalär multiplikation, och är en matris (eller linjär transformation) som innehåller de okända som ska lösas.
Denna typ av relation förekommer ofta i projektiv geometri . Praktiska exempel inkluderar relationen mellan 3D-punkter i en scen och deras projicering på bildplanet av en pinhole-kamera och homografier .
kan t.ex. lösas genom att skriva om det som en matrisekvation där matriser och innehåller vektorerna och i sina respektive kolumner. Med tanke på att det finns en unik lösning, ges den av
Lösningar kan också beskrivas i det fall att ekvationerna är över- eller underbestämda.
Det som skiljer det direkt linjära transformationsproblemet från ovanstående standardfall är det faktum att vänster och höger sida av den definierande ekvationen kan skilja sig åt med en okänd multiplikativ faktor som är beroende av k . Som en konsekvens inte beräknas som i standardfallet. Istället skrivs likhetsrelationerna om till egentliga linjära homogena ekvationer som sedan kan lösas med en standardmetod. Kombinationen av att skriva om likhetsekvationerna som homogena linjära ekvationer och lösa dem med standardmetoder kallas en direkt linjär transformationsalgoritm eller DLT-algoritm . DLT tillskrivs Ivan Sutherland.
Exempel
Antag att . Låt och vara två kända vektorer, och vi vill hitta matrisen så att
där är den okända skalära faktorn relaterad till ekvation k .
För att bli av med de okända skalärerna och få homogena ekvationer, definiera den antisymmetriska matrisen
och multiplicera båda sidor av ekvationen med från vänster
Eftersom homogena ekvationer, som inte längre innehåller de okända skalärerna, är till hands
För att lösa från denna uppsättning ekvationer, betrakta elementen i vektorerna och och matris :
, och
och ovanstående homogena ekvation blir
för
Detta kan också skrivas i matrisformen:
för
där och båda är 6-dimensionella vektorer definierade som
och
Hittills har vi 1 ekvation och 6 okända. En uppsättning homogena ekvationer kan skrivas i matrisform
där är en matris som håller de kända vektorerna i sina rader. Den okända kan till exempel bestämmas genom en singularvärdesuppdelning av ; är en höger singularvektor av som motsvarar ett singularvärde som är lika med noll. När har bestämts kan elementen i matris omarrangeras från vektor . Lägg märke till att skalningen av eller inte är viktig (förutom att den måste vara icke-noll) eftersom de definierande ekvationerna redan tillåter okänd skalning.
I praktiken kan vektorerna och innehålla brus vilket betyder att likhetsekvationerna endast är ungefär giltiga. Som en konsekvens kanske det inte finns en vektor som löser den homogena ekvationen exakt. I dessa fall kan en total minsta kvadraters lösning användas genom att välja som en höger singular vektor som motsvarar det minsta singularvärdet av
Mer allmänna fall
Exemplet ovan har och , men den allmänna strategin för att skriva om likhetsrelationerna till homogena linjära ekvationer kan generaliseras till godtyckliga dimensioner för både och
Om och de tidigare uttrycken kan fortfarande leda till en ekvation
för
där nu är Varje k ger en ekvation i de okända elementen i och tillsammans kan dessa ekvationer skrivas för den kända matrisen och okänd 2q -dimensionell vektor Denna vektor kan hittas på liknande sätt som tidigare.
I det mest allmänna fallet och . Huvudskillnaden jämfört med tidigare är att matrisen nu är och antisymmetrisk. När är utrymmet för sådana matriser inte längre endimensionellt, det är av dimension
Detta betyder att varje värde på k ger M homogena ekvationer av typen
för och för
där är en M -dimensionell bas för rymden av antisymmetriska matriser.
Exempel p = 3
I fallet att p = 3 kan följande tre matriser väljas
, ,
I detta speciella fall kan de homogena linjära ekvationerna skrivas som
Varje värde på k ger tre homogena linjära ekvationer i de okända elementen i . Men eftersom har rang = 2, är högst två ekvationer linjärt oberoende. I praktiken är det därför vanligt att endast använda två av de tre matriserna till exempel för m =1, 2. Det linjära beroendet mellan ekvationerna är dock är beroende av , vilket betyder att det i olyckliga fall hade varit bättre att välja till exempel m =2,3. Som en konsekvens, om antalet ekvationer inte är ett problem, kan det vara bättre att använda alla tre ekvationerna när matrisen konstrueras.
Det linjära beroendet mellan de resulterande homogena linjära ekvationerna är ett allmänt problem för fallet p > 2 och måste hanteras antingen genom att reducera mängden antisymmetriska matriser eller genom att tillåta att bli större än nödvändigt för att bestämma
Richard Hartley och Andrew Zisserman (2003). Multiple View Geometri i datorseende . Cambridge University Press. ISBN 978-0-521-54051-3 .