Articulo de referencia

Matriz esencial

En visión por computadora , la matriz esencial es una 3 × 3 {\displaystyle 3\times 3} matriz , mi {\displaystyle \mathbf {E} } que relaciona puntos correspondientes en imágenes ...

En visión por computadora , la matriz esencial es una3×3{\displaystyle 3\times 3}matriz ,mi{\displaystyle \mathbf {E} }que relaciona puntos correspondientes en imágenes estéreo suponiendo que las cámaras satisfacen el modelo de cámara estenopeica .

Función

Más específicamente, siy{\displaystyle \mathbf {y} }yy{\displaystyle \mathbf {y} '}son coordenadas de imagen normalizadas homogéneas en la imagen 1 y 2, respectivamente, entonces

(y)miy=0{\displaystyle (\mathbf {y} ')^{\top }\,\mathbf {E} \,\mathbf {y} =0}

siy{\displaystyle \mathbf {y} }yy{\displaystyle \mathbf {y} '}corresponder al mismo punto 3D en la escena (no es un " si y solo si " debido a que los puntos que se encuentran en la misma línea epipolar en la primera imagen se mapearán a la misma línea epipolar en la segunda imagen).

La relación anterior que define la matriz esencial fue publicada en 1981 por H. Christopher Longuet-Higgins , introduciendo el concepto a la comunidad de visión por computadora. El libro de Richard Hartley y Andrew Zisserman informa que una matriz análoga apareció en fotogrametría mucho antes. El artículo de Longuet-Higgins incluye un algoritmo para estimarmi{\displaystyle \mathbf {E} }a partir de un conjunto de coordenadas de imagen normalizadas correspondientes, así como un algoritmo para determinar la posición y orientación relativas de las dos cámaras dado quemi{\displaystyle \mathbf {E} }es conocido. Finalmente, muestra cómo se pueden determinar las coordenadas 3D de los puntos de la imagen con la ayuda de la matriz esencial.

Usar

La matriz esencial puede considerarse como un precursor de la matriz fundamental ,F{\displaystyle \mathbf {F} }. Ambas matrices pueden utilizarse para establecer restricciones entre puntos de imagen coincidentes, pero la matriz esencial solo puede utilizarse en relación con cámaras calibradas, ya que los parámetros internos de la cámara (matricesK{\displaystyle \mathbf {K} }yK{\displaystyle \mathbf {K} '}) debe conocerse para lograr la normalización. Sin embargo, si las cámaras están calibradas, la matriz esencial puede ser útil para determinar tanto la posición relativa como la orientación entre las cámaras y la posición 3D de los puntos de imagen correspondientes. La matriz esencial está relacionada con la matriz fundamental con

mi=(K)FK.{\displaystyle \mathbf {E} =({\mathbf {K} '})^{\top }\;\mathbf {F} \;\mathbf {K} .}

Derivación y definición

Esta derivación sigue el trabajo de Longuet-Higgins.

Dos cámaras normalizadas proyectan el mundo 3D sobre sus respectivos planos de imagen. Sean las coordenadas 3D de un punto P.(incógnita1,incógnita2,incógnita3){\displaystyle (x_{1},x_{2},x_{3})}y(incógnita1,incógnita2,incógnita3){\displaystyle (x'_{1},x'_{2},x'_{3})}en relación con el sistema de coordenadas de cada cámara. Dado que las cámaras están normalizadas, las coordenadas de imagen correspondientes son

(y1y2)=1incógnita3(incógnita1incógnita2){\displaystyle {\begin{pmatrix}y_{1}\\y_{2}\end{pmatrix}}={\frac {1}{x_{3}}}{\begin{pmatrix}x_{1}\\x_{2}\end{pmatrix}}} y (y1y2)=1incógnita3(incógnita1incógnita2){\displaystyle {\begin{pmatrix}y'_{1}\\y'_{2}\end{pmatrix}}={\frac {1}{x'_{3}}}{\begin{pmatrix}x'_{1}\\x'_{2}\end{pmatrix}}}

Una representación homogénea de las dos coordenadas de la imagen viene dada entonces por

(y1y21)=1incógnita3(incógnita1incógnita2incógnita3){\displaystyle {\begin{pmatrix}y_{1}\\y_{2}\\1\end{pmatrix}}={\frac {1}{x_{3}}}{\begin{pmatrix}x_{1}\\x_{2}\\x_{3}\end{pmatrix}}} y (y1y21)=1incógnita3(incógnita1incógnita2incógnita3){\displaystyle {\begin{pmatrix}y'_{1}\\y'_{2}\\1\end{pmatrix}}={\frac {1}{x'_{3}}}{\begin{pmatrix}x'_{1}\\x'_{2}\\x'_{3}\end{pmatrix}}}

que también se puede escribir de forma más compacta como

y=1incógnita3incógnita~{\displaystyle \mathbf {y} ={\frac {1}{x_{3}}}\,{\tilde {\mathbf {x} }}} y y=1incógnita3incógnita~{\displaystyle \mathbf {y} '={\frac {1}{x'_{3}}}\,{\tilde {\mathbf {x} }}'}

dóndey{\displaystyle \mathbf {y} }yy{\displaystyle \mathbf {y} '}son representaciones homogéneas de las coordenadas de la imagen 2D yincógnita~{\displaystyle {\tilde {\mathbf {x} }}}yincógnita~{\displaystyle {\tilde {\mathbf {x} }}'}Son coordenadas 3D correctas, pero en dos sistemas de coordenadas diferentes.

Otra consecuencia de las cámaras normalizadas es que sus respectivos sistemas de coordenadas están relacionados mediante una traslación y una rotación. Esto implica que los dos conjuntos de coordenadas 3D están relacionados como

incógnita~=R(incógnita~t){\displaystyle {\tilde {\mathbf {x} }}'=\mathbf {R} \,({\tilde {\mathbf {x} }}-\mathbf {t} )}

dóndeR{\displaystyle \mathbf {R} }es un3×3{\displaystyle 3\times 3}matriz de rotación yt{\displaystyle \mathbf {t} }es un vector de traslación tridimensional.

La matriz esencial se define entonces como:

dónde[t]×{\displaystyle [\mathbf {t} ]_{\times }}es la representación matricial del producto cruzado cont{\displaystyle \mathbf {t} }. Nota: Aquí, la transformación[RT|t]{\displaystyle [\mathbf {R} ^{T}|\mathbf {t} ]}transformará los puntos de la segunda vista a la primera vista.

Para la definición demi{\displaystyle \mathbf {E} }Solo nos interesan las orientaciones de las coordenadas de imagen normalizadas [ 1 ] (Véase también: Producto triple ). Como tal, no necesitamos el componente de traslación al sustituir las coordenadas de imagen en la ecuación esencial. Para ver que esta definición demi{\displaystyle \mathbf {E} }describe una restricción en las coordenadas de imagen correspondientes multiplicarmi{\displaystyle \mathbf {E} }desde la izquierda y la derecha con las coordenadas 3D del punto P en los dos sistemas de coordenadas diferentes:

incógnita~Tmiincógnita~=(1)incógnita~TRTR[t]×incógnita~=(2)incógnita~T[t]×incógnita~=(3)0{\displaystyle {\tilde {\mathbf {x} }}'^{T}\,\mathbf {E} \,{\tilde {\mathbf {x} }}\,{\stackrel {(1)}{=}}\,{\tilde {\mathbf {x} }}^{T}\,\mathbf {R} ^{T}\,\mathbf {R} \,[\mathbf {t} ]_{\times }\,{\tilde {\mathbf {x} }}\,{\stackrel {(2)}{=}}\,{\tilde {\mathbf {x} }}^{T}\,[\mathbf {t} ]_{\times }\,{\tilde {\mathbf {x} }}\,{\stackrel {(3)}{=}}\,0}

  1. Inserte las relaciones anteriores entreincógnita~{\displaystyle {\tilde {\mathbf {x} }}'}yincógnita~{\displaystyle {\tilde {\mathbf {x} }}}y la definición demi{\displaystyle \mathbf {E} }en términos deR{\displaystyle \mathbf {R} }yt{\displaystyle \mathbf {t} }.
  2. RTR=I{\displaystyle \mathbf {R} ^{T}\,\mathbf {R} =\mathbf {I} }desdeR{\displaystyle \mathbf {R} }es una matriz de rotación.
  3. Propiedades de la representación matricial del producto vectorial .

Finalmente, se puede asumir que ambosincógnita3{\displaystyle x_{3}}yincógnita3{\displaystyle x'_{3}}son > 0, de lo contrario no son visibles en ambas cámaras. Esto da

0=(incógnita~)Tmiincógnita~=1incógnita3(incógnita~)Tmi1incógnita3incógnita~=(y)Tmiy{\displaystyle 0=({\tilde {\mathbf {x} }}')^{T}\,\mathbf {E} \,{\tilde {\mathbf {x} }}={\frac {1}{x'_{3}}}({\tilde {\mathbf {x} }}')^{T}\,\mathbf {E} \,{\frac {1}{x_{3}}}{\tilde {\mathbf {x} }}=(\mathbf {y} ')^{T}\,\mathbf {E} \,\mathbf {y} }

que es la restricción que la matriz esencial define entre los puntos de imagen correspondientes.

Propiedades

No todo arbitrario3×3{\displaystyle 3\times 3}La matriz puede ser una matriz esencial para algunas cámaras estéreo. Para ver esto, observe que se define como el producto matricial de una matriz de rotación y una matriz antisimétrica , ambas3×3{\displaystyle 3\times 3}La matriz antisimétrica debe tener dos valores singulares iguales y uno cero. La multiplicación de la matriz de rotación no modifica los valores singulares, lo que significa que la matriz esencial también tiene dos valores singulares iguales y uno cero. Las propiedades descritas aquí se conocen a veces como restricciones internas de la matriz esencial.

Si la matriz esencialmi{\displaystyle \mathbf {E} }se multiplica por un escalar distinto de cero, el resultado es de nuevo una matriz esencial que define exactamente la misma restricción quemi{\displaystyle \mathbf {E} }Sí. Esto significa quemi{\displaystyle \mathbf {E} }puede verse como un elemento de un espacio proyectivo , es decir, dos matrices de este tipo se consideran equivalentes si una es una multiplicación escalar no nula de la otra. Esta es una posición relevante, por ejemplo, simi{\displaystyle \mathbf {E} }se estima a partir de datos de imagen. Sin embargo, también es posible adoptar la postura de quemi{\displaystyle \mathbf {E} }se define como

mi=[t~]×R{\displaystyle \mathbf {E} =[\mathbf {\widetilde {t}} ]_{\times }\,\mathbf {R} }

dóndet~=Rt{\displaystyle \mathbf {\widetilde {t}} =-\mathbf {R} \mathbf {t} }, y luegomi{\displaystyle \mathbf {E} }Tiene una "escalabilidad" bien definida. Depende de la aplicación qué posición es la más relevante.

Las restricciones también pueden expresarse como

detmi=0{\displaystyle \det \mathbf {E} =0}

y

2mimiTmitr(mimiT)mi=0.{\displaystyle 2\mathbf {E} \mathbf {E} ^{T}\mathbf {E} -\operatorname {tr} (\mathbf {E} \mathbf {E} ^{T})\mathbf {E} =0.}

En este caso, la última ecuación es una restricción matricial, que puede interpretarse como nueve restricciones, una por cada elemento de la matriz. Estas restricciones se utilizan a menudo para determinar la matriz esencial a partir de cinco pares de puntos correspondientes.

La matriz esencial tiene cinco o seis grados de libertad, dependiendo de si se considera o no un elemento proyectivo. La matriz de rotaciónR{\displaystyle \mathbf {R} }y el vector de traslaciónt{\displaystyle \mathbf {t} }Cada una tiene tres grados de libertad, lo que da un total de seis. Sin embargo, si se considera la matriz esencial como un elemento proyectivo, se debe restar un grado de libertad relacionado con la multiplicación escalar, lo que deja un total de cinco grados de libertad.

Estimación

Dado un conjunto de puntos de imagen correspondientes, es posible estimar una matriz esencial que satisfaga la restricción epipolar definitoria para todos los puntos del conjunto. Sin embargo, si los puntos de imagen presentan ruido, lo cual es común en cualquier situación práctica, no es posible encontrar una matriz esencial que satisfaga todas las restricciones de forma exacta.

Dependiendo de cómo se mida el error relacionado con cada restricción, es posible determinar o estimar una matriz esencial que satisfaga de forma óptima las restricciones para un conjunto dado de puntos de imagen correspondientes. El enfoque más directo consiste en plantear un problema de mínimos cuadrados totales , comúnmente conocido como el algoritmo de ocho puntos .

Extracción de rotación y traslación

Dado que se ha determinado la matriz esencial para un par de cámaras estéreo —por ejemplo, utilizando el método de estimación anterior—, esta información puede utilizarse también para determinar la rotación.R{\displaystyle \mathbf {R} }y traducciónt{\displaystyle \mathbf {t} }(hasta un factor de escala) entre los dos sistemas de coordenadas de la cámara. En estas derivacionesmi{\displaystyle \mathbf {E} }se considera un elemento proyectivo en lugar de tener una escala bien determinada.

Encontrar una solución

El siguiente método para determinarR{\displaystyle \mathbf {R} }yt{\displaystyle \mathbf {t} }se basa en realizar una SVD demi{\displaystyle \mathbf {E} }, véase el libro de Hartley y Zisserman. [ 2 ] También es posible determinarR{\displaystyle \mathbf {R} }yt{\displaystyle \mathbf {t} }sin una descomposición en valores singulares (SVD), por ejemplo, siguiendo el artículo de Longuet-Higgins.

Una SVD demi{\displaystyle \mathbf {E} }da

mi=UΣVT{\displaystyle \mathbf {E} =\mathbf {U} \,\mathbf {\Sigma } \,\mathbf {V} ^{T}}

dóndeU{\displaystyle \mathbf {U} }yV{\displaystyle \mathbf {V} }son ortogonales3×3{\displaystyle 3\times 3}matrices yΣ{\displaystyle \mathbf {\Sigma } }es un3×3{\displaystyle 3\times 3}matriz diagonal con

Σ=(s000s0000){\displaystyle \mathbf {\Sigma } ={\begin{pmatrix}s&0&0\\0&s&0\\0&0&0\end{pmatrix}}}

Las entradas diagonales deΣ{\displaystyle \mathbf {\Sigma } }son los valores singulares demi{\displaystyle \mathbf {E} }que, según las restricciones internas de la matriz esencial, debe constar de dos valores idénticos y uno cero. Definir

W=(010100001){\displaystyle \mathbf {W} ={\begin{pmatrix}0&-1&0\\1&0&0\\0&0&1\end{pmatrix}}} con W1=WT=(010100001){\displaystyle \mathbf {W} ^{-1}=\mathbf {W} ^{T}={\begin{pmatrix}0&1&0\\-1&0&0\\0&0&1\end{pmatrix}}}

y haga el siguiente ansatz

[t]×=UWΣUT{\displaystyle [\mathbf {t} ]_{\times }=\mathbf {U} \,\mathbf {W} \,\mathbf {\Sigma } \,\mathbf {U} ^{T}}
R=UW1VT{\displaystyle \mathbf {R} =\mathbf {U} \,\mathbf {W} ^{-1}\,\mathbf {V} ^{T}}

DesdeΣ{\displaystyle \mathbf {\Sigma } }puede que no cumpla completamente con las restricciones cuando se trata de datos del mundo real (por ejemplo, imágenes de cámara), la alternativa

[t]×=UZUT{\displaystyle [\mathbf {t} ]_{\times }=\mathbf {U} \,\mathbf {Z} \,\mathbf {U} ^{T}} con Z=(010100000){\displaystyle \mathbf {Z} ={\begin{pmatrix}0&1&0\\-1&0&0\\0&0&0\end{pmatrix}}}

puede ayudar.

Prueba

Primero, estas expresiones paraR{\displaystyle \mathbf {R} }y[t]×{\displaystyle [\mathbf {t} ]_{\times }}satisfacen la ecuación definitoria para la matriz esencial

[t]×R=UWΣUTUW1VT=UΣVT=mi{\displaystyle [\mathbf {t} ]_{\times }\,\mathbf {R} =\mathbf {U} \,\mathbf {W} \,\mathbf {\Sigma } \,\mathbf {U} ^{T}\mathbf {U} \,\mathbf {W} ^{-1}\,\mathbf {V} ^{T}\,=\mathbf {U} \,\mathbf {\Sigma } \,\mathbf {V} ^{T}=\mathbf {E} }

Segundo, debe demostrarse que esto[t]×{\displaystyle [\mathbf {t} ]_{\times }}es una representación matricial del producto vectorial para algúnt{\displaystyle \mathbf {t} }. Desde

WΣ=(0s0s00000){\displaystyle \mathbf {W} \,\mathbf {\Sigma } ={\begin{pmatrix}0&-s&0\\s&0&0\\0&0&0\end{pmatrix}}}

es el caso queWΣ{\displaystyle \mathbf {W} \,\mathbf {\Sigma } }es antisimétrica, es decir,(WΣ)T=WΣ{\displaystyle (\mathbf {W} \,\mathbf {\Sigma } )^{T}=-\mathbf {W} \,\mathbf {\Sigma } }Este también es el caso de nuestro[t]×{\displaystyle [\mathbf {t} ]_{\times }}, desde

([t]×)T=U(WΣ)TUT=UWΣUT=[t]×{\displaystyle ([\mathbf {t} ]_{\times })^{T}=\mathbf {U} \,(\mathbf {W} \,\mathbf {\Sigma } )^{T}\,\mathbf {U} ^{T}=-\mathbf {U} \,\mathbf {W} \,\mathbf {\Sigma } \,\mathbf {U} ^{T}=-[\mathbf {t} ]_{\times }}

De acuerdo con las propiedades generales de la representación matricial del producto vectorial, se deduce que:[t]×{\displaystyle [\mathbf {t} ]_{\times }}debe ser el operador de producto cruzado de exactamente un vectort{\displaystyle \mathbf {t} }.

En tercer lugar, también debe demostrarse que la expresión anterior paraR{\displaystyle \mathbf {R} }es una matriz de rotación. Es el producto de tres matrices que son todas ortogonales, lo que significa queR{\displaystyle \mathbf {R} }, también, es ortogonal odet(R)=±1{\displaystyle \det(\mathbf {R} )=\pm 1}Para ser una matriz de rotación adecuada, también debe satisfacerdet(R)=1{\displaystyle \det(\mathbf {R} )=1}. Puesto que, en este caso,mi{\displaystyle \mathbf {E} }se considera un elemento proyectivo esto se puede lograr invirtiendo el signo demi{\displaystyle \mathbf {E} }si es necesario.

Encontrar todas las soluciones

Hasta ahora una posible solución paraR{\displaystyle \mathbf {R} }yt{\displaystyle \mathbf {t} }se ha establecido dadomi{\displaystyle \mathbf {E} }Sin embargo, no es la única solución posible y puede que ni siquiera sea una solución válida desde un punto de vista práctico. Para empezar, dado que la escala demi{\displaystyle \mathbf {E} }no está definido, la escala det{\displaystyle \mathbf {t} }también es indefinido. Debe estar en el espacio nulo demi{\displaystyle \mathbf {E} }desde

mit=R[t]×t=0{\displaystyle \mathbf {E} \,\mathbf {t} =\mathbf {R} \,[\mathbf {t} ]_{\times }\,\mathbf {t} =\mathbf {0} }

Sin embargo, para el análisis posterior de las soluciones, la escala exacta det{\displaystyle \mathbf {t} }No es tan importante como su "signo", es decir, en qué dirección apunta.t^{\displaystyle {\hat {\mathbf {t} }}}ser vector normalizado en el espacio nulo demi{\displaystyle \mathbf {E} }Entonces, sucede que ambost^{\displaystyle {\hat {\mathbf {t} }}}yt^{\displaystyle -{\hat {\mathbf {t} }}}son vectores de traslación válidos relativosmi{\displaystyle \mathbf {E} }También es posible cambiarW{\displaystyle \mathbf {W} }enW1{\displaystyle \mathbf {W} ^{-1}}en las derivaciones deR{\displaystyle \mathbf {R} }yt{\displaystyle \mathbf {t} }arriba. Para el vector de traslación, esto solo provoca un cambio de signo, lo cual ya se ha descrito como una posibilidad. Para la rotación, en cambio, esto producirá una transformación diferente, al menos en el caso general.

En resumen, dadomi{\displaystyle \mathbf {E} }Hay dos direcciones opuestas que son posibles parat{\displaystyle \mathbf {t} }y dos rotaciones diferentes que son compatibles con esta matriz esencial. En total, esto da cuatro clases de soluciones para la rotación y la traslación entre los dos sistemas de coordenadas de la cámara. Además de eso, también hay una escala desconocida.s>0{\displaystyle s>0}para la dirección de traducción elegida.

Resulta que, en la práctica, solo una de las cuatro clases de soluciones puede implementarse. Dado un par de coordenadas de imagen correspondientes, tres de las soluciones siempre generarán un punto 3D que se encuentra detrás de al menos una de las dos cámaras y, por lo tanto, no es visible. Solo una de las cuatro clases generará consistentemente puntos 3D que se encuentran delante de ambas cámaras. Esta debe ser, por lo tanto, la solución correcta. Sin embargo, presenta una escala positiva indeterminada relacionada con el componente de traslación.

La determinación anterior deR{\displaystyle \mathbf {R} }yt{\displaystyle \mathbf {t} }asume quemi{\displaystyle \mathbf {E} }satisfacer las restricciones internas de la matriz esencial . Si este no es el caso, lo cual, por ejemplo, suele ser el caso simi{\displaystyle \mathbf {E} }Se ha estimado a partir de datos de imágenes reales (y ruidosas), por lo que debe asumirse que satisface aproximadamente las restricciones internas. El vectort^{\displaystyle {\hat {\mathbf {t} }}}se elige entonces como vector singular derecho demi{\displaystyle \mathbf {E} }correspondiente al valor singular más pequeño.

Puntos 3D a partir de puntos de imagen correspondientes

Existen muchos métodos para calcular(incógnita1,incógnita2,incógnita3){\displaystyle (x_{1},x_{2},x_{3})}dadas las coordenadas de imagen normalizadas correspondientes(y1,y2){\displaystyle (y_{1},y_{2})}y(y1,y2){\displaystyle (y'_{1},y'_{2})}, si se conoce la matriz esencial y se han determinado las transformaciones de rotación y traslación correspondientes.

Véase también

Cajas de herramientas

  • Estimación matricial esencial en MATLAB (Manolis Lourakis).
  • Una investigación de la matriz esencial por RI Hartley

Referencias

  1. Visión por computadora fotogramétrica: estadística, geometría, orientación y reconstrucción (1.ª  ed.).
  2. Hartley, Richard; Andrew Zisserman (2004). Geometría de múltiples vistas en visión por computadora (2.ª ed.). Cambridge, Reino Unido. ISBN  978-0-511-18711-7OCLC 171123855 {{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  • David Nistér (junio de 2004). "Una solución eficiente al problema de la pose relativa de cinco puntos". IEEE Transactions on Pattern Analysis and Machine Intelligence . 26 (6): 756– 777. doi : 10.1109/TPAMI.2004.17 . PMID 18579936. S2CID 886598 .  
  • H. Stewénius, C. Engels y D. Nistér (junio de 2006). «Desarrollos recientes en orientación relativa directa». ISPRS Journal of Photogrammetry and Remote Sensing . 60 (4): 284– 294. Bibcode : 2006JPRS...60..284S . CiteSeerX 10.1.1.61.9329 . doi : 10.1016/j.isprsjprs.2006.03.005 . 
  • H. Christopher Longuet-Higgins (septiembre de 1981). "Un algoritmo informático para reconstruir una escena a partir de dos proyecciones". Nature . 293 (5828): 133– 135. Bibcode : 1981Natur.293..133L . doi : 10.1038/293133a0 . S2CID 4327732 . 
  • Richard Hartley y Andrew Zisserman (2003). Geometría de múltiples vistas en visión por computadora . Cambridge University Press. ISBN 978-0-521-54051-3.
  • Yi Ma; Stefano Soatto ; Jana Košecká ; S. Shankar Sastry (2004). Una invitación a la visión 3D . Springer. ISBN 978-0-387-00893-6.
  • Gang Xu y Zhengyou Zhang (1996). Geometría epipolar en estéreo, movimiento y reconocimiento de objetos . Kluwer Academic Publishers. ISBN 978-0-7923-4199-4.
  • Förstner, Wolfgang y Wrobel, Bernhard P. (2016). Visión por computadora fotogramétrica: estadística, geometría, orientación y reconstrucción (1.ª  ed.). Springer Publishing Company, Incorporated. ISBN 978-3319115498.{{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )