Algoritmo de ocho puntos


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El algoritmo de ocho puntos es un algoritmo utilizado en visión artificial para estimar la matriz esencial o la matriz fundamental relacionada con un par de cámaras estéreo a partir de un conjunto de puntos de imagen correspondientes. Fue introducido por Christopher Longuet-Higgins en 1981 para el caso de la matriz esencial. En teoría, este algoritmo se puede utilizar también para la matriz fundamental, pero en la práctica el algoritmo normalizado de ocho puntos , descrito por Richard Hartley en 1997, es más adecuado para este caso.

El nombre del algoritmo deriva del hecho de que estima la matriz esencial o la matriz fundamental a partir de un conjunto de ocho (o más) puntos de imagen correspondientes. Sin embargo, se pueden utilizar variaciones del algoritmo para menos de ocho puntos.

Restricción de coplanaridad

Ejemplo de geometría epipolar. Dos cámaras, con sus respectivos centros de puntos de proyección O L y O R , observan un punto P . La proyección de P sobre cada uno de los planos de imagen se denota p L y p R . Los puntos E L y E R son los epipolos.

Se puede expresar la geometría epipolar de dos cámaras y un punto en el espacio con una ecuación algebraica. Observe que, no importa donde el punto está en el espacio, los vectores , y pertenecen al mismo plano. Llame a las coordenadas del punto en el marco de referencia del ojo izquierdo y llame a las coordenadas de en el marco de referencia del ojo derecho y llame a la rotación y traslación entre los dos marcos de referencia. St es la relación entre las coordenadas de en los dos marcos de referencia. La siguiente ecuación siempre es válida porque el vector generado desde es ortogonal a ambos y  :

Porque obtenemos

.

Reemplazando con , obtenemos

Observe que se puede pensar en una matriz; Longuet-Higgins usó el símbolo para denotarlo. El producto a menudo se denomina matriz esencial y se denota con .

Los vectores son paralelos a los vectores y, por lo tanto, la restricción de coplanaridad se cumple si sustituimos estos vectores. Si llamamos a las coordenadas de las proyecciones de en los planos de imagen izquierdo y derecho, entonces la restricción de coplanaridad se puede escribir como

Algoritmo basico

El algoritmo básico de ocho puntos se describe aquí para el caso de estimar la matriz esencial . Consta de tres pasos. Primero, formula una ecuación lineal homogénea , donde la solución está directamente relacionada con la ecuación y luego la resuelve, teniendo en cuenta que puede no tener una solución exacta. Finalmente, se gestionan las restricciones internas de la matriz resultante. El primer paso se describe en el artículo de Longuet-Higgins, el segundo y tercer paso son enfoques estándar en la teoría de la estimación.

La restricción definida por la matriz esencial es

para los puntos de imagen correspondientes representados en coordenadas de imagen normalizadas . El problema que resuelve el algoritmo es determinar un conjunto de puntos de imagen coincidentes. En la práctica, las coordenadas de la imagen de los puntos de la imagen se ven afectadas por el ruido y la solución también puede estar sobredeterminada, lo que significa que puede que no sea posible encontrar cuál satisface la restricción anterior exactamente para todos los puntos. Este problema se aborda en el segundo paso del algoritmo.

Paso 1: formular una ecuación lineal homogénea

Con

  y     y  

la restricción también se puede reescribir como

o

dónde

  y  

es decir, representa la matriz esencial en forma de un vector de 9 dimensiones y este vector debe ser ortogonal al vector que puede verse como una representación vectorial de la matriz .

Cada par de puntos de imagen correspondientes produce un vector . Dado un conjunto de puntos 3D, esto corresponde a un conjunto de vectores y todos deben satisfacer

para el vector . Dados suficientes (al menos ocho) vectores linealmente independientes , es posible determinar de una manera sencilla. Recopile todos los vectores como columnas de una matriz y debe darse el caso de que

Esto significa que es la solución a una ecuación lineal homogénea .

Paso 2: resolver la ecuación

Un enfoque estándar para resolver esta ecuación implica que es un vector singular izquierdo de correspondiente a un valor singular que es igual a cero. Siempre que al menos ocho vectores linealmente independientes se utilizan para construir se deduce que este vector singular es único (sin tener en cuenta la multiplicación escalar) y, en consecuencia, y luego se puede determinar.

En el caso de que se utilicen más de ocho puntos correspondientes para construir es posible que no tenga ningún valor singular igual a cero. Este caso ocurre en la práctica cuando las coordenadas de la imagen se ven afectadas por varios tipos de ruido. Un enfoque común para tratar esta situación es describirla como un problema de mínimos cuadrados totales ; encontrar cuál minimiza

cuando . La solución es elegir como vector singular izquierdo correspondiente al valor singular más pequeño de . Un reordenamiento de esto nuevamente en una matriz da el resultado de este paso, aquí referido como .

Paso 3: hacer cumplir la restricción interna

Otra consecuencia de tratar con coordenadas de imagen ruidosas es que la matriz resultante puede no satisfacer la restricción interna de la matriz esencial, es decir, dos de sus valores singulares son iguales y distintos de cero y el otro es cero. Dependiendo de la aplicación, las desviaciones mayores o menores de la restricción interna pueden ser un problema o no. Si es crítico que la matriz estimada satisfaga las restricciones internas, esto se puede lograr encontrando la matriz de rango 2 que minimiza

donde es la matriz resultante del Paso 2 y se usa la norma de la matriz de Frobenius . La solución al problema se da calculando primero una descomposición de valor singular de :

donde son matrices ortogonales y es una matriz diagonal que contiene los valores singulares de . En el caso ideal, uno de los elementos diagonales de debería ser cero, o al menos pequeño en comparación con los otros dos que deberían ser iguales. En cualquier caso, establezca

donde están los valores singulares más grandes y segundos más grandes en respectivamente. Finalmente, está dado por

La matriz es la estimación resultante de la matriz esencial proporcionada por el algoritmo.

Algoritmo normalizado

En principio, el algoritmo básico de ocho puntos también se puede utilizar para estimar la matriz fundamental . La restricción definitoria para es

donde están las representaciones homogéneas de las coordenadas de imagen correspondientes (no necesariamente normalizadas). Esto significa que es posible formar una matriz de manera similar a la matriz esencial y resolver la ecuación

para lo cual es una versión remodelada de . Siguiendo el procedimiento descrito anteriormente, es posible determinar a partir de un conjunto de ocho puntos coincidentes. En la práctica, sin embargo, la matriz fundamental resultante puede no ser útil para determinar las limitaciones epipolares.

Dificultad

El problema es que el resultado suele estar mal condicionado . En teoría, debería tener un valor singular igual a cero y el resto son distintos de cero. En la práctica, sin embargo, algunos de los valores singulares distintos de cero pueden volverse pequeños en relación con los más grandes. Si se utilizan más de ocho puntos correspondientes para construir , donde las coordenadas son sólo aproximadamente correctas, es posible que no haya un valor singular bien definido que pueda identificarse como aproximadamente cero. En consecuencia, la solución del sistema lineal homogéneo de ecuaciones puede no ser lo suficientemente precisa para ser útil.

Porque

Hartley abordó este problema de estimación en su artículo de 1997. Su análisis del problema muestra que el problema se debe a la mala distribución de las coordenadas de la imagen homogénea en su espacio . Una representación homogénea típica de la coordenada de imagen 2D es

donde ambos se encuentran en el rango de 0 a 1000-2000 para una cámara digital moderna. Esto significa que las dos primeras coordenadas varían en un rango mucho mayor que la tercera coordenada. Además, si los puntos de imagen que se utilizan para construir se encuentran en una región relativamente pequeña de la imagen, por ejemplo en , nuevamente el vector apunta en más o menos la misma dirección para todos los puntos. Como consecuencia, tendrá un valor singular grande y los restantes serán pequeños.

Solución

Como solución a este problema, Hartley propuso que el sistema de coordenadas de cada una de las dos imágenes debería transformarse, de forma independiente, en un nuevo sistema de coordenadas de acuerdo con el siguiente principio.

  • El origen del nuevo sistema de coordenadas debe estar centrado (tener su origen) en el centroide (centro de gravedad) de los puntos de la imagen. Esto se logra mediante una traducción del origen original al nuevo.
  • Después de la traslación, las coordenadas se escalan uniformemente para que la media de las distancias desde el origen hasta los puntos sea igual .

Este principio da como resultado, normalmente, una transformación de coordenadas distinta para cada una de las dos imágenes. Como resultado, las nuevas coordenadas de imagen homogéneas vienen dadas por

¿Dónde están las transformaciones (traducción y escala) de las coordenadas de imagen normalizadas antiguas a las nuevas . Esta normalización solo depende de los puntos de imagen que se utilizan en una sola imagen y, en general, es distinta de las coordenadas de imagen normalizadas producidas por una cámara normalizada.

La restricción epipolar basada en la matriz fundamental ahora se puede reescribir como

donde . Esto significa que es posible utilizar las coordenadas de la imagen homogénea normalizada para estimar la matriz fundamental transformada utilizando el algoritmo básico de ocho puntos descrito anteriormente.

El propósito de las transformaciones de normalización es que la matriz , construida a partir de las coordenadas de la imagen normalizada, en general, tenga un número de condición mejor que el que tiene. Esto significa que la solución está mejor definida como una solución de la ecuación homogénea que con respecto a . Una vez que se ha determinado y remodelado en este último, se puede desnormalizar para dar de acuerdo con

En general, esta estimación de la matriz fundamental es mejor que la que se habría obtenido estimando a partir de las coordenadas no normalizadas.

Usando menos de ocho puntos

Cada par de puntos contribuye con una ecuación restrictiva sobre el elemento en . Dado que tiene cinco grados de libertad, debería ser suficiente con sólo cinco pares de puntos para determinar . Aunque es posible desde un punto de vista teórico, la implementación práctica de esto no es sencilla y se basa en la resolución de varias ecuaciones no lineales.

Kaveh Fathian y col. propuso algoritmos para cinco, seis y siete puntos que eluden el cálculo de la matriz esencial calculando directamente el cuaternión de rotación. [1] [2]

Ver también

Referencias

  1. ^ Fathian, Kaveh (2018). "QuEst: un enfoque basado en cuaterniones para la estimación del movimiento de la cámara desde puntos de características mínimos" . IEEE Robotics and Automation Letters . arXiv : 1704.02672 . doi : 10.1109 / LRA.2018.2792142 .
  2. ^ Fathian, Kaveh (2018). "Estimación de pose relativa de cámara para servo visual utilizando cuaterniones" . Robótica y sistemas autónomos . doi : 10.1016 / j.robot.2018.05.014 .

Otras lecturas

  • Richard I. Hartley (junio de 1997). "En defensa del algoritmo de ocho puntos". Transacciones IEEE sobre reconocimiento de patrones e inteligencia de máquinas . 19 (6): 580–593. doi : 10.1109 / 34.601246 .
  • Richard Hartley y Andrew Zisserman (2003). Geometría de vista múltiple en visión artificial . Prensa de la Universidad de Cambridge. ISBN 978-0-521-54051-3.
  • H. Christopher Longuet-Higgins (septiembre de 1981). "Un algoritmo informático para reconstruir una escena a partir de dos proyecciones". Naturaleza . 293 (5828): 133-135. doi : 10.1038 / 293133a0 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Eight-point_algorithm&oldid=1056510252 "