En el campo de la visión artificial , dos imágenes cualesquiera de la misma superficie plana en el espacio están relacionadas por una homografía (asumiendo un modelo de cámara estenopeica ). Esto tiene muchas aplicaciones prácticas, como la rectificación de imágenes , el registro de imágenes o el movimiento de la cámara (rotación y traslación) entre dos imágenes. Una vez que se ha realizado la resección de la cámara a partir de una matriz de homografía estimada, esta información se puede utilizar para la navegación o para insertar modelos de objetos 3D en una imagen o un vídeo, de modo que se representen con la perspectiva correcta y parezcan haber sido parte de la escena original (véase Realidad aumentada ).
Ecuación de plano a plano 3D
Tenemos dos cámaras a y b , que miran puntos de un plano. Pasando de la proyección de en b a la proyección de en a :
donde y son las coordenadas z de P en cada cuadro de la cámara y donde la matriz de homografía está dada por
.
es la matriz de rotación por la cual b se rota con respecto a a ; t es el vector de traslación de a a b ; n y d son el vector normal del plano y la distancia desde el origen al plano respectivamente. K a y K b son las matrices de parámetros intrínsecos de las cámaras.
La figura muestra la cámara b mirando al avión a una distancia d . Nota: De la figura anterior, suponiendo que el modelo del avión es , la proyección del vector a lo largo de , es igual a . Por lo tanto . Y tenemos donde .
Esta fórmula solo es válida si la cámara b no tiene rotación ni traslación. En el caso general donde y son las rotaciones y traslaciones respectivas de la cámara a y b , y la matriz de homografía se convierte en
donde d es la distancia de la cámara b al plano.
Homografía afín
Cuando la región de la imagen en la que se calcula la homografía es pequeña o la imagen se ha adquirido con una gran distancia focal, una homografía afín es un modelo más apropiado de desplazamientos de imagen. Una homografía afín es un tipo especial de homografía general cuya última fila está fijada a
O. Chum y T. Pajdla y P. Sturm (2005). "El error geométrico de las homografías" (PDF) . Visión artificial y comprensión de imágenes . 97 (1): 86–102. doi :10.1016/j.cviu.2004.03.004.
OpenCV es una biblioteca de software de visión por computadora completa ( abierta y gratuita ) que tiene muchas rutinas relacionadas con la estimación de homografía (cvFindHomography) y la reproyección (cvPerspectiveTransform).
Enlaces externos
Serge Belongie y David Kriegman (2007) Explicación de la estimación de homografía del Departamento de Ciencias de la Computación e Ingeniería, Universidad de California, San Diego .
A. Criminisi, I. Reid y A. Zisserman (1997) "Un dispositivo de medición de planos", §3 Cálculo de la homografía de plano a plano, del Grupo de Geometría Visual, Departamento de Ciencias de la Ingeniería, Universidad de Oxford .
Tutorial de GIMP: cómo usar la herramienta Perspectiva, de Billy Kerr en YouTube . Muestra cómo hacer una transformación de perspectiva con GIMP .
Allan Jepson (2010) Homografías planas del Departamento de Ciencias de la Computación de la Universidad de Toronto . Incluye homografía 2D a partir de cuatro pares de puntos correspondientes, mosaicos en procesamiento de imágenes, eliminación de distorsión de perspectiva en visión artificial, renderizado de texturas en gráficos de computadora y cálculo de sombras planas.
Etienne Vincent y Robert Laganiere (2000) Detecting Planar Homography in an Image Pair Archivado el 4 de marzo de 2016 en Wayback Machine de la Facultad de Tecnología de la Información e Ingeniería de la Universidad de Ottawa . Describe un algoritmo para detectar planos en imágenes, utiliza el método de consenso de muestras aleatorias ( RANSAC ), describe la heurística y la iteración.