Articulo de referencia

Ajuste de paquetes

Matriz dispersa obtenida al resolver un problema de ajuste de haces de tamaño moderado. Este es el patrón de dispersión en forma de punta de flecha de una matriz de ecuación nor...

Matriz dispersa obtenida al resolver un problema de ajuste de haces de tamaño moderado. Este es el patrón de dispersión en forma de punta de flecha de una matriz de ecuación normal de 992 × 992 (es decir, la matriz hessiana aproximada). Las regiones negras corresponden a bloques distintos de cero.

En fotogrametría y visión estéreo computarizada , el ajuste de haces consiste en el refinamiento simultáneo de las coordenadas 3D que describen la geometría de la escena, los parámetros del movimiento relativo y las características ópticas de la(s) cámara(s) empleada(s) para adquirir las imágenes, a partir de un conjunto de imágenes que representan varios puntos 3D desde diferentes perspectivas . Su nombre hace referencia a los haces geométricos de rayos de luz que se originan en cada característica 3D y convergen en el centro óptico de cada cámara , los cuales se ajustan de forma óptima según un criterio de optimización que involucra las proyecciones de imagen correspondientes de todos los puntos.

Usos

El ajuste de haces se utiliza casi siempre como último paso de los algoritmos de reconstrucción 3D basados ​​en características . Constituye un problema de optimización sobre la estructura 3D y los parámetros de visualización (es decir, la pose de la cámara y posiblemente la calibración intrínseca y la distorsión radial), para obtener una reconstrucción que sea óptima bajo ciertas suposiciones con respecto al ruido relacionado con las características de la imagen observada [ 1 ] : Si el error de la imagen es gaussiano de media cero , entonces el ajuste de haces es el estimador de máxima verosimilitud . [ 2 ] : 2 El ajuste de haces se concibió originalmente en el campo de la fotogrametría durante la década de 1950 y ha sido utilizado cada vez más por investigadores de visión por computadora durante los últimos años. [ 2 ] : 2

Enfoque general

El ajuste de haces se reduce a minimizar el error de reproyección entre las ubicaciones de las imágenes de los puntos observados y predichos, que se expresa como la suma de los cuadrados de un gran número de funciones no lineales de valor real. Por lo tanto, la minimización se logra mediante algoritmos de mínimos cuadrados no lineales . De estos, Levenberg-Marquardt ha demostrado ser uno de los más exitosos debido a su facilidad de implementación y al uso de una estrategia de amortiguación efectiva que le permite converger rápidamente desde un amplio rango de estimaciones iniciales. Al linealizar iterativamente la función a minimizar en la vecindad de la estimación actual, el algoritmo de Levenberg-Marquardt implica la solución de sistemas lineales denominados ecuaciones normales . Al resolver los problemas de minimización que surgen en el marco del ajuste de haces, las ecuaciones normales tienen una estructura de bloques dispersos debido a la falta de interacción entre los parámetros para diferentes puntos 3D y cámaras. Esto puede aprovecharse para obtener enormes beneficios computacionales empleando una variante dispersa del algoritmo de Levenberg-Marquardt que aprovecha explícitamente el patrón de ceros de las ecuaciones normales, evitando almacenar y operar con elementos cero. [ 2 ] : 3

Definición matemática

El ajuste de haces consiste en refinar conjuntamente un conjunto de estimaciones iniciales de parámetros de cámara y estructura para encontrar el conjunto de parámetros que predigan con mayor precisión las ubicaciones de los puntos observados en el conjunto de imágenes disponibles. Más formalmente, [ 3 ] suponen quenorte{\displaystyle n}Los puntos 3D se ven enmetro{\displaystyle m}vistas y dejarincógnitaij{\displaystyle \mathbf {x} _ {ij}}ser la proyección de lai{\displaystyle i}el punto en la imagenj{\displaystyle j}. Dejarvij{\displaystyle \displaystyle v_ {ij}}denotan las variables binarias que son iguales a 1 si puntoi{\displaystyle i}es visible en la imagenj{\displaystyle j}y 0 en caso contrario. Supongamos también que cada cámaraj{\displaystyle j}está parametrizado por un vectoraj{\displaystyle \mathbf {a} _ {j}}y cada punto 3Di{\displaystyle i}por un vectorbi{\displaystyle \mathbf {b} _{i}}. El ajuste de haces minimiza el error de reproyección total con respecto a todos los parámetros de punto y cámara 3D, específicamente

minaj,bii=1nortej=1metrovijd(Q(aj,bi),incógnitaij)2,{\displaystyle \min _{\mathbf {a} _{j},\,\mathbf {b} _{i}}\displaystyle \sum _{i=1}^{n}\;\displaystyle \sum _{j=1}^{m}\;v_{ij}\,d(\mathbf {Q} (\mathbf {a} _{j},\,\mathbf {b} _{i}),\;\mathbf {x} _{ij})^{2},}

dóndeQ(aj,bi){\displaystyle \mathbf {Q} (\mathbf {a} _ {j},\,\mathbf {b} _ {i})}es la proyección prevista del puntoi{\displaystyle i}en la imagenj{\displaystyle j}yd(incógnita,y){\displaystyle d(\mathbf {x} ,\,\mathbf {y} )}denota la distancia euclidiana entre los puntos de la imagen representados por vectoresincógnita{\displaystyle \mathbf {x} }yy{\displaystyle \mathbf {y} }Debido a que el mínimo se calcula sobre muchos puntos y muchas imágenes, el ajuste de haces es, por definición, tolerante a la falta de proyecciones de imagen, y si la métrica de distancia se elige razonablemente (por ejemplo, la distancia euclidiana), el ajuste de haces también minimizará un criterio físicamente significativo.

Véase también

Referencias

  1. B. Triggs; P. McLauchlan; R. Hartley; A. Fitzgibbon (1999). "Bundle Adjustment — A Modern Synthesis" (PDF) . ICCV '99: Actas del Taller Internacional sobre Algoritmos de Visión . Springer-Verlag. págs. 298–372 . doi : 10.1007/3-540-44480-7_21 . ISBN  3-540-67973-1.
  2. 1 2 3 M.IA Lourakis y AA Argyros (2009). "SBA: Un paquete de software para ajuste de haces dispersos genéricos" (PDF) . ACM Transactions on Mathematical Software . 36 (1): 1– 30. doi : 10.1145/1486525.1486527 . S2CID 474253 . 
  3. RI Hartley y A. Zisserman (2004). Geometría de múltiples vistas en visión por computadora (2.ª ed.). Cambridge University Press. ISBN  978-0-521-54051-3.

Lecturas adicionales

  • A. Zisserman. Ajuste de paquetes . CV Online.

Software

  • Apero/MicMac, un software fotogramétrico gratuito de código abierto. Licencia Cecill-B.
  • sba : Un paquete genérico de ajuste de haces dispersos en C/C++ basado en el algoritmo de Levenberg-Marquardt ( C , MATLAB ). GPL.
  • cvsba Archivado el 24/10/2013 en Wayback Machine : Un envoltorio de OpenCV para la biblioteca sba ( C++ ). GPL.
  • ssba : Paquete de ajuste de haces dispersos simple basado en el algoritmo de Levenberg-Marquardt (C++). LGPL.
  • OpenCV : Biblioteca de visión artificial en el módulo de composición de imágenes . Licencia BSD.
  • mcba : Ajuste de paquetes multinúcleo (CPU/GPU). GPL3.
  • libdogleg : Solucionador de mínimos cuadrados no lineales dispersos de propósito general, basado en el método dogleg de Powell. LGPL.
  • ceres-solver : Un minimizador de mínimos cuadrados no lineales. Licencia BSD.
  • g2o : Optimización general de grafos (C++): marco de trabajo con solucionadores para funciones de error no lineales basadas en grafos dispersos. LGPL.
  • DGAP : El programa DGAP implementa el método fotogramétrico de ajuste de haces inventado por Helmut Schmid y Duane Brown. Licencia GPL.
  • Bundler : Un sistema de reconstrucción 3D a partir de imágenes (SfM) para colecciones de imágenes no ordenadas (por ejemplo, imágenes de Internet) creado por Noah Snavely. Licencia GPL.
  • COLMAP : Un sistema de procesamiento de imágenes a partir de movimiento (SfM) y estéreo multivista (MVS) de propósito general con interfaz gráfica y de línea de comandos. Licencia BSD.
  • Theia : Una biblioteca de visión artificial diseñada para proporcionar algoritmos eficientes y fiables para la reconstrucción 3D a partir de imágenes (Structure from Motion, SfM). Nueva licencia BSD.
  • Ames Stereo Pipeline incluye una herramienta para el ajuste de paquetes (licencia Apache II).
  • El software 3Dsurvey incluye una herramienta de ajuste de paquetes.