Matriz de cámara - Camera matrix

En visión por computadora, una matriz de cámara o matriz de proyección (cámara) es una matriz que describe el mapeo de una cámara estenopeica desde puntos 3D en el mundo a puntos 2D en una imagen.

Sea una representación de un punto 3D en coordenadas homogéneas (un vector de 4 dimensiones), y sea ​​una representación de la imagen de este punto en la cámara estenopeica (un vector de 3 dimensiones). Entonces se cumple la siguiente relación

donde está la matriz de la cámara y el signo implica que los lados izquierdo y derecho son iguales hasta una multiplicación escalar distinta de cero.

Dado que la matriz de la cámara está involucrada en el mapeo entre elementos de dos espacios proyectivos , también puede considerarse como un elemento proyectivo. Esto significa que tiene solo 11 grados de libertad, ya que cualquier multiplicación por un escalar distinto de cero da como resultado una matriz de cámara equivalente.

Derivación

El mapeo de las coordenadas de un punto 3D P a las coordenadas de la imagen 2D de la proyección del punto en el plano de la imagen, según el modelo de la cámara estenopeica , viene dada por

donde son las coordenadas 3D de P relativas a un sistema de coordenadas centrado en la cámara, son las coordenadas de la imagen resultante yf es la distancia focal de la cámara para la cual asumimos f > 0. Además, también asumimos que x 3 > 0 .

Para derivar la matriz de la cámara, la expresión anterior se reescribe en términos de coordenadas homogéneas. En lugar del vector 2D , consideramos el elemento proyectivo (un vector 3D) y en lugar de la igualdad, consideramos la igualdad hasta la escala mediante un número distinto de cero, denotado . Primero, escribimos las coordenadas de la imagen homogénea como expresiones en las coordenadas 3D habituales.

Finalmente, también las coordenadas 3D se expresan en una representación homogénea y así es como aparece la matriz de la cámara:

  o  

¿Dónde está la matriz de la cámara, que aquí viene dada por

,

y la matriz de la cámara correspondiente ahora se convierte en

El último paso es consecuencia de ser en sí mismo un elemento proyectivo.

La matriz de la cámara derivada aquí puede parecer trivial en el sentido de que contiene muy pocos elementos distintos de cero. Esto depende en gran medida de los sistemas de coordenadas particulares que se hayan elegido para los puntos 3D y 2D. En la práctica, sin embargo, son comunes otras formas de matrices de cámara, como se mostrará a continuación.

Posición de la cámara

La matriz de la cámara derivada en la sección anterior tiene un espacio nulo que está atravesado por el vector

Esta es también la representación homogénea del punto 3D que tiene coordenadas (0,0,0), es decir, el "centro de la cámara" (también conocido como la pupila de entrada ; la posición de la pinhole de una cámara estenopeica ) está en O . Esto significa que la cámara no puede asignar el centro de la cámara (y solo este punto) a un punto en el plano de la imagen (o, de manera equivalente, se asigna a todos los puntos de la imagen ya que cada rayo de la imagen pasa por este punto).

Para cualquier otro punto 3D con , el resultado está bien definido y tiene la forma . Esto corresponde a un punto en el infinito en el plano de la imagen proyectiva (aunque, si el plano de la imagen se toma como un plano euclidiano , no existe un punto de intersección correspondiente).

Matriz de cámara normalizada y coordenadas de imagen normalizadas

La matriz de la cámara derivada anteriormente se puede simplificar aún más si asumimos que f = 1 :

donde aquí denota una matriz de identidad. Tenga en cuenta que la matriz aquí se divide en una concatenación de una matriz y un vector tridimensional. La matriz de la cámara a veces se denomina forma canónica .

Hasta ahora, todos los puntos del mundo 3D se han representado en un sistema de coordenadas centrado en la cámara , es decir, un sistema de coordenadas que tiene su origen en el centro de la cámara (la ubicación del orificio de una cámara estenopeica ). Sin embargo, en la práctica, los puntos 3D pueden representarse en términos de coordenadas relativas a un sistema de coordenadas arbitrario (X1 ', X2', X3 '). Suponiendo que los ejes de coordenadas de la cámara (X1, X2, X3) y los ejes (X1 ', X2', X3 ') son de tipo euclidiano (ortogonal e isotrópico), existe una transformación 3D euclidiana única (rotación y traslación) entre los dos sistemas de coordenadas. En otras palabras, la cámara no está necesariamente en el origen mirando a lo largo del eje z .

Las dos operaciones de rotación y traslación de coordenadas 3D se pueden representar como las dos matrices

y

donde es una matriz de rotación y es un vector de traslación tridimensional. Cuando la primera matriz se multiplica en la representación homogénea de un punto 3D, el resultado es la representación homogénea del punto girado y la segunda matriz realiza en su lugar una traslación. Al realizar las dos operaciones en secuencia, es decir, primero la rotación y luego la traslación (con el vector de traslación dado en el sistema de coordenadas ya girado), se obtiene una matriz combinada de rotación y traslación.

Suponiendo que y son precisamente la rotación y las traslaciones las que relacionan los dos sistemas de coordenadas (X1, X2, X3) y (X1 ', X2', X3 ') anteriores, esto implica que

donde es la representación homogénea del punto P en el sistema de coordenadas (X1 ', X2', X3 ').

Suponiendo también que la matriz de la cámara está dada por , el mapeo de las coordenadas en el sistema (X1, X2, X3) a las coordenadas de la imagen homogénea se convierte en

En consecuencia, la matriz de la cámara que relaciona los puntos en el sistema de coordenadas (X1 ', X2', X3 ') con las coordenadas de la imagen es

una concatenación de una matriz de rotación 3D y un vector de traslación tridimensional.

Este tipo de matriz de cámara se denomina matriz de cámara normalizada , asume una distancia focal = 1 y que las coordenadas de la imagen se miden en un sistema de coordenadas donde el origen se encuentra en la intersección entre el eje X3 y el plano de la imagen y tiene las mismas unidades. como el sistema de coordenadas 3D. Las coordenadas de la imagen resultante se denominan coordenadas de imagen normalizadas .

La posición de la cámara

Nuevamente, el espacio nulo de la matriz de la cámara normalizada, descrita anteriormente, se amplía con el vector de 4 dimensiones

Estas son también, nuevamente, las coordenadas del centro de la cámara, ahora relativas al sistema (X1 ', X2', X3 '). Esto se puede ver aplicando primero la rotación y luego la traslación al vector tridimensional y el resultado es la representación homogénea de coordenadas 3D (0,0,0).

Esto implica que el centro de la cámara (en su representación homogénea) se encuentra en el espacio nulo de la matriz de la cámara, siempre que esté representado en términos de coordenadas 3D relativas al mismo sistema de coordenadas al que se refiere la matriz de la cámara.

La matriz de cámara normalizada ahora se puede escribir como

donde son las coordenadas 3D de la cámara relativas al sistema (X1 ', X2', X3 ').

Matriz de cámara general

Dado el mapeo producido por una matriz de cámara normalizada, las coordenadas de la imagen normalizada resultante se pueden transformar mediante una homografía 2D arbitraria . Esto incluye traslaciones y rotaciones 2D, así como escalado (isotrópico y anisotrópico), pero también transformaciones generales de perspectiva 2D . Dicha transformación se puede representar como una matriz que asigna las coordenadas de la imagen normalizada homogénea a las coordenadas de la imagen transformada homogénea :

Al insertar la expresión anterior para las coordenadas de la imagen normalizada en términos de las coordenadas 3D, se obtiene

Esto produce la forma más general de matriz de cámara.

Ver también

Referencias

  • Richard Hartley y Andrew Zisserman (2003). Geometría de vista múltiple en visión artificial . Prensa de la Universidad de Cambridge. ISBN   0-521-54051-8 .