En la visión por computadora , el tensor trifocal (también tritensor ) es una matriz de números de 3 × 3 × 3 (es decir, un tensor ) que incorpora todas las relaciones geométricas proyectivas entre tres vistas. Relaciona las coordenadas de los puntos o líneas correspondientes en tres vistas, siendo independiente de la estructura de la escena y dependiendo sólo del movimiento relativo (es decir, pose ) entre las tres vistas y sus parámetros de calibración intrínsecos. Por tanto, el tensor trifocal puede considerarse como la generalización de la matriz fundamental en tres vistas. Se observa que a pesar de que el tensor está compuesto por 27 elementos, solo 18 de ellos son realmente independientes.
También existe un tensor trifocal calibrado , que relaciona las coordenadas de puntos y líneas en tres vistas dados sus parámetros intrínsecos y codifica la pose relativa de las cámaras a escala global, totalizando 11 elementos independientes o grados de libertad. Los grados de libertad reducidos permiten que se ajusten menos correspondencias al modelo, a costa de una mayor no linealidad. [1]
Rebanadas de correlación
El tensor también puede verse como una colección de tres matrices 3 x 3 de rango dos conocido como sus rebanadas de correlación . Suponiendo que las matrices de proyección de tres vistas son, y , los cortes de correlación del tensor correspondiente se pueden expresar en forma cerrada como , dónde son respectivamente las i- ésimas columnas de las matrices de la cámara. En la práctica, sin embargo, el tensor se estima a partir de coincidencias de puntos y líneas en las tres vistas.
Restricciones trilineales
Una de las propiedades más importantes del tensor trifocal es que da lugar a relaciones lineales entre líneas y puntos en tres imágenes. Más específicamente, para tripletes de puntos correspondientes. y cualquier línea correspondiente a través de ellos, se mantienen las siguientes restricciones trilineales :
dónde denota la matriz de productos cruzados simétrica asimétrica .
Transferir
Dado el tensor trifocal de tres vistas y un par de puntos emparejados en dos vistas, es posible determinar la ubicación del punto en la tercera vista sin más información. Esto se conoce como transferencia de puntos y un resultado similar se aplica a las líneas y las cónicas. Para curvas generales, la transferencia se puede realizar a través de un modelo de curva diferencial local de círculos osculantes (es decir, curvatura), que luego se pueden transferir como cónicas. [2] Se ha estudiado la transferencia de modelos de tercer orden que reflejan la torsión espacial utilizando tensores trifocales calibrados, [3] pero sigue siendo un problema abierto para los tensores trifocales no calibrados.
Estimacion
Sin calibrar
El caso clásico son correspondencias de 6 puntos [4] [5] que dan 3 soluciones.
El caso de la estimación del tensor trifocal a partir de correspondencias de 9 líneas sólo se ha resuelto recientemente. [6]
Calibrado
La estimación del tensor trifocal calibrado se ha citado como notoriamente difícil y requiere correspondencias de 4 puntos. [7]
Recientemente se ha resuelto el caso de utilizar solo correspondencias de tres puntos, donde los puntos se atribuyen con direcciones tangentes o líneas incidentes; con solo dos de los puntos que tienen líneas incidentes, este es un problema mínimo de grado 312 (por lo que puede haber como máximo 312 soluciones) y es relevante para el caso de curvas generales (cuyos puntos tienen tangentes), o puntos característicos con direcciones atribuidas (como las direcciones SIFT). [8] La misma técnica resolvió el caso mixto de correspondencias de tres puntos y correspondencia de una línea, que también se ha demostrado que es mínima con el grado 216.
Referencias
- ^ Martyushev, EV (2017). "Sobre algunas propiedades de los tensores trifocales calibrados". Revista de Visión y Imágenes Matemáticas . 58 (2): 321–332. arXiv : 1601.01467 . doi : 10.1007 / s10851-017-0712-x .
- ^ Schmid, Cordelia (2000). "La geometría y la coincidencia de líneas y curvas en múltiples vistas" (PDF) . Revista Internacional de Visión por Computador . 40 (3): 199–233. doi : 10.1023 / A: 1008135310502 .
- ^ Fabbri, Ricardo; Kimia, Benjamin (2016). "Geometría diferencial de curvas multivista". Revista Internacional de Visión por Computador . 120 (3): 324–346. arXiv : 1604.08256 . Código bibliográfico : 2016arXiv160408256F . doi : 10.1007 / s11263-016-0912-7 .
- ^ Richard Hartley y Andrew Zisserman (2003). "Capítulo en línea: Tensor trifocal" (PDF) . Geometría de vista múltiple en visión artificial . Prensa de la Universidad de Cambridge. ISBN 978-0-521-54051-3.
- ^ Heyden, A. (1995). "Reconstrucción a partir de secuencias de imágenes mediante profundidades relativas". Actas de la Conferencia Internacional IEEE sobre Visión por Computador . págs. 1058–1063. doi : 10.1109 / ICCV.1995.466817 . ISBN 0-8186-7042-8.
- ^ Larsson, Viktor; Astrom, Kalle; Oskarsson, Magnus (2017). "Solucionadores eficientes para problemas mínimos por reducción basada en Syzygy" . 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) . págs. 2383–2392. doi : 10.1109 / CVPR.2017.256 . ISBN 978-1-5386-0457-1.
- ^ Nister, David; Schaffalitzky, Frederik (2006). "Cuatro puntos en dos o tres vistas calibradas: teoría y práctica". Revista Internacional de Visión por Computador . 67 (2): 211-231. doi : 10.1007 / s11263-005-4265-x .
- ^ Fabbri, Ricardo; Duff, Timothy; Fan, Hongyi; Regan, Margaret; de Pinho, David; Tsigaridas, Elias; Wampler, Charles; Hauenstein, Jonathan; Kimia, Benjamín; Leykin, Anton; Pajdla, Tomas (23 de marzo de 2019). "Pose relativa trifocal de líneas en puntos y su solución eficiente". arXiv : 1903.09755 [ cs.CV ].
Otras lecturas
- Hartley, Richard I. (1997). "Líneas y puntos en tres vistas y el tensor trifocal". Revista Internacional de Visión por Computador . 22 (2): 125–140. doi : 10.1023 / A: 1007936012022 .
- Torr, PHS; Zisserman, A. (1997). "Parametrización robusta y cálculo del tensor trifocal". Computación de imagen y visión . 15 (8): 591–607. CiteSeerX 10.1.1.41.3172 . doi : 10.1016 / S0262-8856 (97) 00010-3 .
enlaces externos
- Visualización de geometría trifocal (originalmente por Sylvain Bougnoux de INRIA Robotvis, requiere Java )
Algoritmos
- Implementación de Matlab de la estimación del tensor trifocal no calibrado y comparación con matrices fundamentales por pares
- Implementación en C ++ de la estimación del tensor trifocal calibrado utilizando código de continuación de homotopía optimizado. Actualmente incluye casos de tres puntos correspondientes con líneas en estos puntos (como en posiciones y orientaciones de características, o puntos de curva con tangentes), y también para tres puntos correspondientes y una correspondencia de línea.