Articulo de referencia

Transformación lineal directa

La transformación lineal directa ( DLT ) es un algoritmo que resuelve un conjunto de variables a partir de un conjunto de relaciones de similitud: incógnita a ∝ A y a {\displays...

La transformación lineal directa ( DLT ) es un algoritmo que resuelve un conjunto de variables a partir de un conjunto de relaciones de similitud:

incógnita a A y a {\displaystyle \mathbf {x} _{k}\propto \mathbf {A} \,\mathbf {y} _{k}}   para a = 1 , , norte {\displaystyle \,k=1,\ldots ,N}

donde y son vectores conocidos, denota igualdad hasta una multiplicación escalar desconocida, y es una matriz (o transformación lineal) que contiene las incógnitas a resolver. incógnita a {\displaystyle \mathbf {x}_{k}} y a {\displaystyle \mathbf {y} _ {k}} {\estilo de visualización \,\propto } A {\displaystyle \mathbf {A}}

Este tipo de relación aparece con frecuencia en la geometría proyectiva . Algunos ejemplos prácticos son la relación entre los puntos 3D de una escena y su proyección sobre el plano de la imagen de una cámara estenopeica [1] y las homografías .

Introducción

Un sistema ordinario de ecuaciones lineales

incógnita a = A y a {\displaystyle \mathbf {x} _{k}=\mathbf {A} \,\mathbf {y} _{k}}   para a = 1 , , norte {\displaystyle \,k=1,\ldots ,N}

se puede resolver, por ejemplo, reescribiéndola como una ecuación matricial donde las matrices y contienen a los vectores y en sus respectivas columnas. Dado que existe una única solución, ésta viene dada por incógnita = A Y {\displaystyle \mathbf {X} =\mathbf {A} \,\mathbf {Y} } incógnita {\displaystyle \mathbf {X}} Y {\displaystyle \mathbf {Y}} incógnita a {\displaystyle \mathbf {x}_{k}} y a {\displaystyle \mathbf {y} _ {k}}

A = incógnita Y yo ( Y Y yo ) 1 . {\displaystyle \mathbf {A} =\mathbf {X} \,\mathbf {Y} ^{T}\,(\mathbf {Y} \,\mathbf {Y} ^{T})^{-1} .}

También se pueden describir soluciones en el caso de que las ecuaciones estén sobre o subdeterminadas.

Lo que hace que el problema de transformación lineal directa sea distinto del caso estándar anterior es el hecho de que los lados izquierdo y derecho de la ecuación definitoria pueden diferir en un factor multiplicativo desconocido que depende de k . Como consecuencia, no se puede calcular como en el caso estándar. En cambio, las relaciones de similitud se reescriben como ecuaciones homogéneas lineales adecuadas que luego se pueden resolver mediante un método estándar. La combinación de reescribir las ecuaciones de similitud como ecuaciones lineales homogéneas y resolverlas mediante métodos estándar se conoce como algoritmo de transformación lineal directa o algoritmo DLT . DLT se atribuye a Ivan Sutherland. [2] A {\displaystyle \mathbf {A}}

Ejemplo

Supongamos que . Sean y dos vectores conocidos, y queremos encontrar la matriz tal que a { 1 , . . . , norte } {\displaystyle k\en \{1,...,N\}} incógnita a = ( incógnita 1 a , incógnita 2 a ) R 2 {\displaystyle \mathbf {x} _{k}=(x_{1k},x_{2k})\in \mathbb {R} ^{2}} y a = ( y 1 a , y 2 a , y 3 a ) R 3 {\displaystyle \mathbf {y} _{k}=(y_{1k},y_{2k},y_{3k})\in \mathbb {R} ^{3}} 2 × 3 {\displaystyle 2\times 3} A {\displaystyle \mathbf {A}}

alfa a incógnita a = A y a {\displaystyle \alpha _ {k}\,\mathbf {x} _ {k}=\mathbf {A} \,\mathbf {y} _ {k}}

¿Dónde está el factor escalar desconocido relacionado con la ecuación k ? alfa a 0 {\displaystyle \alpha _{k}\neq 0}

Para deshacerse de los escalares desconocidos y obtener ecuaciones homogéneas, defina la matriz antisimétrica

yo = ( 0 1 1 0 ) {\displaystyle \mathbf {H} ={\begin{pmatrix}0&-1\\1&0\end{pmatrix}}}

y multiplica ambos lados de la ecuación con desde la izquierda incógnita a yo yo {\displaystyle \mathbf {x} _{k}^{T}\,\mathbf {H} }

( incógnita a yo yo ) alfa a incógnita a = ( incógnita a yo yo ) A y a alfa a incógnita a yo yo incógnita a = incógnita a yo yo A y a {\displaystyle {\begin{alineado}(\mathbf {x} _{k}^{T}\,\mathbf {H} )\,\alpha _{k}\,\mathbf {x} _{k} &=(\mathbf {x} _{k}^{T}\,\mathbf {H} )\,\mathbf {A} \,\mathbf {y} _{k}\\\alpha _{k}\,\mathbf {x} _{k}^{T}\,\mathbf {H} \,\mathbf {x} _{k}&=\mathbf { x} _{k}^{T}\,\mathbf {H} \,\mathbf {A} \,\mathbf {y} _{k}\end{alineado}}}

Dado que las siguientes ecuaciones homogéneas, que ya no contienen los escalares desconocidos, están a la mano incógnita a yo yo incógnita a = 0 , {\displaystyle \mathbf {x} _{k}^{T}\,\mathbf {H} \,\mathbf {x} _{k}=0,}

x k T H A y k = 0 {\displaystyle \mathbf {x} _{k}^{T}\,\mathbf {H} \,\mathbf {A} \,\mathbf {y} _{k}=0}

Para resolver este conjunto de ecuaciones, considere los elementos de los vectores y la matriz : A {\displaystyle \mathbf {A} } x k {\displaystyle \mathbf {x} _{k}} y k {\displaystyle \mathbf {y} _{k}} A {\displaystyle \mathbf {A} }

x k = ( x 1 k x 2 k ) {\displaystyle \mathbf {x} _{k}={\begin{pmatrix}x_{1k}\\x_{2k}\end{pmatrix}}} ,   , y   y k = ( y 1 k y 2 k y 3 k ) {\displaystyle \mathbf {y} _{k}={\begin{pmatrix}y_{1k}\\y_{2k}\\y_{3k}\end{pmatrix}}} A = ( a 11 a 12 a 13 a 21 a 22 a 23 ) {\displaystyle \mathbf {A} ={\begin{pmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\end{pmatrix}}}

y la ecuación homogénea anterior se convierte en

0 = a 11 x 2 k y 1 k a 21 x 1 k y 1 k + a 12 x 2 k y 2 k a 22 x 1 k y 2 k + a 13 x 2 k y 3 k a 23 x 1 k y 3 k {\displaystyle 0=a_{11}\,x_{2k}\,y_{1k}-a_{21}\,x_{1k}\,y_{1k}+a_{12}\,x_{2k}\,y_{2k}-a_{22}\,x_{1k}\,y_{2k}+a_{13}\,x_{2k}\,y_{3k}-a_{23}\,x_{1k}\,y_{3k}}   para k = 1 , , N . {\displaystyle \,k=1,\ldots ,N.}

Esto también se puede escribir en forma matricial:

0 = b k T a {\displaystyle 0=\mathbf {b} _{k}^{T}\,\mathbf {a} }   para k = 1 , , N {\displaystyle \,k=1,\ldots ,N}

donde y ambos son vectores de 6 dimensiones definidos como b k {\displaystyle \mathbf {b} _{k}} a {\displaystyle \mathbf {a} }

b k = ( x 2 k y 1 k x 1 k y 1 k x 2 k y 2 k x 1 k y 2 k x 2 k y 3 k x 1 k y 3 k ) {\displaystyle \mathbf {b} _{k}={\begin{pmatrix}x_{2k}\,y_{1k}\\-x_{1k}\,y_{1k}\\x_{2k}\,y_{2k}\\-x_{1k}\,y_{2k}\\x_{2k}\,y_{3k}\\-x_{1k}\,y_{3k}\end{pmatrix}}}   y   a = ( a 11 a 21 a 12 a 22 a 13 a 23 ) . {\displaystyle \mathbf {a} ={\begin{pmatrix}a_{11}\\a_{21}\\a_{12}\\a_{22}\\a_{13}\\a_{23}\end{pmatrix}}.}

Hasta ahora, tenemos 1 ecuación y 6 incógnitas. Un conjunto de ecuaciones homogéneas se puede escribir en forma matricial.

0 = B a {\displaystyle \mathbf {0} =\mathbf {B} \,\mathbf {a} }

donde es una matriz que contiene los vectores conocidos en sus filas. La incógnita se puede determinar, por ejemplo, mediante una descomposición en valores singulares de ; es un vector singular derecho de correspondiente a un valor singular que es igual a cero. Una vez que se ha determinado, los elementos de la matriz se pueden reorganizar a partir del vector . Observe que la escala de o no es importante (excepto que debe ser distinta de cero) ya que las ecuaciones definitorias ya permiten la escala de incógnitas. B {\displaystyle \mathbf {B} } N × 6 {\displaystyle N\times 6} b k {\displaystyle \mathbf {b} _{k}} a {\displaystyle \mathbf {a} } B {\displaystyle \mathbf {B} } a {\displaystyle \mathbf {a} } B {\displaystyle \mathbf {B} } a {\displaystyle \mathbf {a} } A {\displaystyle \mathbf {A} } a {\displaystyle \mathbf {a} } a {\displaystyle \mathbf {a} } A {\displaystyle \mathbf {A} }

En la práctica, los vectores y pueden contener ruido, lo que significa que las ecuaciones de similitud son solo aproximadamente válidas. En consecuencia, puede que no haya un vector que resuelva la ecuación homogénea de manera exacta. En estos casos, se puede utilizar una solución de mínimos cuadrados totales eligiendo como vector singular correcto el valor singular más pequeño de x k {\displaystyle \mathbf {x} _{k}} y k {\displaystyle \mathbf {y} _{k}} a {\displaystyle \mathbf {a} } 0 = B a {\displaystyle \mathbf {0} =\mathbf {B} \,\mathbf {a} } a {\displaystyle \mathbf {a} } B . {\displaystyle \mathbf {B} .}

Casos más generales

El ejemplo anterior tiene y , pero la estrategia general para reescribir las relaciones de similitud en ecuaciones lineales homogéneas se puede generalizar a dimensiones arbitrarias para ambos y x k R 2 {\displaystyle \mathbf {x} _{k}\in \mathbb {R} ^{2}} y k R 3 {\displaystyle \mathbf {y} _{k}\in \mathbb {R} ^{3}} x k {\displaystyle \mathbf {x} _{k}} y k . {\displaystyle \mathbf {y} _{k}.}

Si y las expresiones anteriores aún pueden conducir a una ecuación x k R 2 {\displaystyle \mathbf {x} _{k}\in \mathbb {R} ^{2}} y k R q {\displaystyle \mathbf {y} _{k}\in \mathbb {R} ^{q}}

0 = x k T H A y k {\displaystyle 0=\mathbf {x} _{k}^{T}\,\mathbf {H} \,\mathbf {A} \,\mathbf {y} _{k}}   para   k = 1 , , N {\displaystyle \,k=1,\ldots ,N}

donde ahora es Cada k proporciona una ecuación en los elementos desconocidos de y juntas estas ecuaciones se pueden escribir para la matriz conocida y el vector 2q -dimensional desconocido . Este vector se puede encontrar de manera similar a antes. A {\displaystyle \mathbf {A} } 2 × q . {\displaystyle 2\times q.} 2 q {\displaystyle 2q} A {\displaystyle \mathbf {A} } B a = 0 {\displaystyle \mathbf {B} \,\mathbf {a} =\mathbf {0} } N × 2 q {\displaystyle N\times 2\,q} B {\displaystyle \mathbf {B} } a . {\displaystyle \mathbf {a} .}

En el caso más general y . La principal diferencia con respecto a antes es que la matriz ahora es y antisimétrica. Cuando el espacio de dichas matrices ya no es unidimensional, es de dimensión x k R p {\displaystyle \mathbf {x} _{k}\in \mathbb {R} ^{p}} y k R q {\displaystyle \mathbf {y} _{k}\in \mathbb {R} ^{q}} H {\displaystyle \mathbf {H} } p × p {\displaystyle p\times p} p > 2 {\displaystyle p>2}

M = p ( p 1 ) 2 . {\displaystyle M={\frac {p\,(p-1)}{2}}.}

Esto significa que cada valor de k proporciona M ecuaciones homogéneas del tipo

0 = x k T H m A y k {\displaystyle 0=\mathbf {x} _{k}^{T}\,\mathbf {H} _{m}\,\mathbf {A} \,\mathbf {y} _{k}}   por     y para m = 1 , , M {\displaystyle \,m=1,\ldots ,M} k = 1 , , N {\displaystyle \,k=1,\ldots ,N}

donde es una base M -dimensional del espacio de matrices antisimétricas. H m {\displaystyle \mathbf {H} _{m}} p × p {\displaystyle p\times p}

Ejemplopag= 3

En el caso de que p = 3 se pueden elegir las tres matrices siguientes H m {\displaystyle \mathbf {H} _{m}}

H 1 = ( 0 0 0 0 0 1 0 1 0 ) {\displaystyle \mathbf {H} _{1}={\begin{pmatrix}0&0&0\\0&0&-1\\0&1&0\end{pmatrix}}} ,   ,   H 2 = ( 0 0 1 0 0 0 1 0 0 ) {\displaystyle \mathbf {H} _{2}={\begin{pmatrix}0&0&1\\0&0&0\\-1&0&0\end{pmatrix}}} H 3 = ( 0 1 0 1 0 0 0 0 0 ) . {\displaystyle \mathbf {H} _{3}={\begin{pmatrix}0&-1&0\\1&0&0\\0&0&0\end{pmatrix}}.}

En este caso particular, las ecuaciones lineales homogéneas se pueden escribir como

0 = [ x k ] × A y k {\displaystyle \mathbf {0} =[\mathbf {x} _{k}]_{\times }\,\mathbf {A} \,\mathbf {y} _{k}}   para   k = 1 , , N {\displaystyle \,k=1,\ldots ,N}

donde es la representación matricial del producto vectorial . Observe que esta última ecuación tiene un valor vectorial; el lado izquierdo es el elemento cero en . [ x k ] × {\displaystyle [\mathbf {x} _{k}]_{\times }} R 3 {\displaystyle \mathbb {R} ^{3}}

Cada valor de k proporciona tres ecuaciones lineales homogéneas en los elementos desconocidos de . Sin embargo, dado que tiene rango = 2, como máximo dos ecuaciones son linealmente independientes. En la práctica, por lo tanto, es común usar solo dos de las tres matrices , por ejemplo, para m = 1, 2. Sin embargo, la dependencia lineal entre las ecuaciones depende de , lo que significa que en casos desafortunados habría sido mejor elegir, por ejemplo, m = 2, 3. Como consecuencia, si el número de ecuaciones no es una preocupación, puede ser mejor usar las tres ecuaciones cuando se construye la matriz. A {\displaystyle \mathbf {A} } [ x k ] × {\displaystyle [\mathbf {x} _{k}]_{\times }} H m {\displaystyle \mathbf {H} _{m}} x k {\displaystyle \mathbf {x} _{k}} B {\displaystyle \mathbf {B} }

La dependencia lineal entre las ecuaciones lineales homogéneas resultantes es una preocupación general para el caso p > 2 y debe abordarse ya sea reduciendo el conjunto de matrices antisimétricas o permitiendo que se vuelvan más grandes de lo necesario para determinar H m {\displaystyle \mathbf {H} _{m}} B {\displaystyle \mathbf {B} } a . {\displaystyle \mathbf {a} .}

Referencias

  1. ^ Abdel-Aziz, YI; Karara, HM (1 de febrero de 2015). "Transformación lineal directa de las coordenadas del comparador en coordenadas del espacio del objeto en fotogrametría de corto alcance". Ingeniería fotogramétrica y teledetección . 81 (2). Sociedad Americana de Fotogrametría y Teledetección: 103–107. doi : 10.14358/pers.81.2.103 . ISSN  0099-1112.
  2. ^ Sutherland, Ivan E. (abril de 1974), "Entrada de datos tridimensionales mediante tableta", Actas del IEEE , 62 (4): 453–461, doi :10.1109/PROC.1974.9449
  • Richard Hartley y Andrew Zisserman (2003). Geometría de vista múltiple en visión artificial . Cambridge University Press. ISBN 978-0-521-54051-3.
  • Estimación de homografía por Elan Dubrofsky (§2.1 describe el "algoritmo DLT básico")
  • Un solucionador DLT basado en MATLAB de Hsiang-Jen (Johnny) Chien
Retrieved from "https://en.wikipedia.org/w/index.php?title=Direct_linear_transformation&oldid=1252343532"