2 votos

Encontrar la matriz de rotación y traslación

He leído un artículo sobre un algoritmo propuesto para calibrar una cámara para los parámetros intrínsecos y extrínsecos.

El primer paso del algoritmo consiste en estimar la rotación y la traslación de la cámara con respecto a la cuadrícula de prueba, lo que puede expresarse de la siguiente manera

enter image description here

El autor propone entonces que después de resolver un conjunto sobredeterminado de ecuaciones lineales, se obtiene un conjunto de 5 relaciones a partir de las cuales se puede obtener completamente la matriz de rotación y traslación.

enter image description here

enter image description here

A menos que me esté perdiendo algo, no puedo entender cómo. Un poco de ayuda \pointers ¿Por favor?

P.D.

Sé que me dirigen a otro artículo, pero ahora mismo estoy fuera de mi presupuesto para comprarlo, y supongo que la solución a mi pregunta es relativamente sencilla.

EDITAR: Deduzco de lo que escribió el autor que sugiere que las 6 incógnitas de las 5 relaciones se pueden resolver porque 4 de las 6 son elementos de la misma matriz de rotación, que dependen todos de los mismos 3 ángulos de rotación - lo que significa que puedes sustituir los 4 elementos de rotación desconocidos por 3 ángulos desconocidos, lo que te da 5 incógnitas para 5 ecuaciones.

La típica búsqueda en Google nos trajo lo siguiente Creo que para ser un modelo estándar de la matriz de rotación que depende de 3 ángulos de rotación (¿puede alguien verificar esto?):

enter image description here

¿Es esta la dirección correcta? ¿Hay alguna forma de obtener los 3 ángulos de rotación a partir de este modelo y las ecuaciones de (8)?

1voto

Andrei Puntos 111

En la ecuación anterior (8), el autor elige obviamente $Z_W=0$ . Entonces $$x(r_{21}X_W+r_{22}Y_W+t_y)=y(r_{11}X_W+r_{12}Y_W+t_x)\\ xt_y=yr_{11}X_W+yr_{12}Y_W+yt_x-xr_{21}X_W-xr_{22}Y_W\\ x=yX_Wr_{11}/t_y+yY_Wr_{12}/t_y+yt_x/t_y-xX_Wr_{21}/t_y-xY_Wr_{22}/t_y \ (*)$$

Esta última ecuación se cumple (aproximadamente) para cualquier $(x,y,X_W,Y_W)$ puntos de control. Suponiendo que todo sea perfecto, se obtiene un $5\times5$ matriz tomando cualquier $5$ puntos de control, y esa matriz es invertible si los puntos son independientes. Se multiplica (8) a la izquierda por la inversa, y se obtiene el vector de $r_{11}/t_y, ...$

En realidad sus medidas no son perfectas, así que hace muchas (más de 5). La ecuación (*) se convierte en $x_i=y_iX_{Wi}r_{11}/t_y+y_iY_{Wi}r_{12}/t_y+y_it_x/t_y-x_iX_{Wi}r_{21}/t_y-x_iY_{Wi}r_{22}/t_y$ , donde $i$ toma valores de $1$ a $n$ . Lo que se quiere en este problema es elegir los valores de $r_{11}/t_y, ...$ que hacen que toda esta ecuación casi sea cierto. El enfoque de mínimos cuadrados significa que se minimiza $$S=\sum_i(y_iX_{Wi}r_{11}/t_y+y_iY_{Wi}r_{12}/t_y+y_it_x/t_y-x_iX_{Wi}r_{21}/t_y-x_iY_{Wi}r_{22}/t_y-x_i)^2$$
Para ello, tienes cinco ecuaciones como $$\frac{\partial S}{\partial (r_{11}/t_y)}=0$$ y similares, para todas sus variables. La ecuación anterior se convierte en $$\sum_i(2 y_iX_{Wi})(y_iX_{Wi}r_{11}/t_y+y_iY_{Wi}r_{12}/t_y+y_it_x/t_y-x_iX_{Wi}r_{21}/t_y-x_iY_{Wi}r_{22}/t_y-x_i)=0$$ o $$r_{11}/t_y\sum_i y_i^2X_{Wi}^2+r_{12}/t_y\sum_iy_i^2X_{Wi}Y_{Wi}+t_x/t_y\sum_i y_i^2X_{Wi}-r_{21}/t_y\sum_i x_iy_iX_{Wi}^2-r_{22}/t_y\sum_i x_iy_iX_{Wi}Y_{Wi}-\sum_i x_i y_iX_{Wi}=0$$ Al escribir todas las ecuaciones, se obtiene un sistema lineal simple de cinco ecuaciones con cinco incógnitas.

0 votos

Creo que no me has entendido: Entiendo (hasta cierto punto:) cómo se obtuvo el vector de 5 ratios en el sentido de mínimos cuadrados medios. Lo que no entiendo es cómo obtener las matrices completas de rotación y traslación a partir de las 5 relaciones.

0 votos

Puedes buscar "Matriz de rotación a ángulos de Euler'. Dos advertencias: 1, hay muchas convenciones para tu rotación (XYZ es lo que pegaste, pero puedes tener cualquier combinación de X,Y, y Z, siempre y cuando la misma letra no aparezca junto a sí misma - XYX está bien, pero XXY no). 2, los ángulos dados por una matriz de rotación no son únicos. Puedes obtener la misma matriz de rotación rotando 180 grados extra a lo largo de un eje, seguido de uno o dos 90 grados a lo largo de ejes diferentes.

0 votos

He buscado descomposiciones de matrices de rotación, pero no he tenido mucha suerte... todas las descomposiciones que he encontrado suponen una matriz de rotación competa, y yo todavía estoy en una fase de intentar recomponer la mía. Además, por lo que tengo entendido, la matriz de rotación que he pegado es la matriz común para describir la rotación de la cámara a lo largo de 3 ejes distintos, pero no estoy seguro, y agradecería confirmación.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X