Corrección del desplazamiento del centro óptico basada en la suposición de plano en una cámara ojo de pez

Este artículo trata principalmente sobreHugin software de código abierto<libpano< a Principio análisis y resumen de funciones como plane_transfer_to_camera() y plane_transfer_from_camera() en i=4>/math.c>.

       En el artículo "Corrección panorámica de una imagen de ojo de pez", hemos introducido en detalle cómo asignar una imagen de ojo de pez al correspondiente 360- Imagen panorámica de grados, el modelo básico se muestra en la Figura 1. Coordenadas tridimensionales O X Y Z {OXYZ} OXYZ La indicación es dónde estamos Espacio físico instantáneo, dentro Y Y El eje Y apunta en la dirección hacia la que estamos mirando, Z Z Z 轴cielo orientado, X X El eje X apunta a nuestro lado derecho. Y toma el origen de coordenadas O O O La superficie esférica con el centro de la esfera se puede considerar como la lente ojo de pez utilizada para la fotografía, O O El punto O es el centro óptico de la lente. Expandir la esfera a un plano es la imagen panorámica que necesitamos. El siguiente plano bidimensional O ′ X f Y f O'X_fY_f ohXfYf es el plano de imagen de la cámara. Al disparar, comience desde P P El rayo que parte del punto P sigue la recta O P OP OP alcanzar la luz O O O punto, y se produce la refracción. Las características de refracción están determinadas por el modelo de diseño y el proceso de fabricación de la lente. Generalmente se utiliza el modelo lineal, es decir, el ángulo de refracción. es linealmente proporcional al ángulo incidente. Finalmente, el rayo de luz refractado sigue la línea recta O P 1 OP_1 OP1 llega al plano de la imagen, porque la imagen en el plano de la imagen está invertida 180 grados en este momento. Por conveniencia, generalmente usamos el punto P 1 P_1 PAG1 Punto simétrico respecto al origen P 2 P_2 PAG2 P 2 P_2 PAG2 constituye la imagen de ojo de pez que obtuvimos. La tarea principal de corregir la imagen de ojo de pez es corregir el P P esférico.P Las coordenadas del punto se calculan como las coordenadas correspondientes en la imagen de ojo de pez P 2 P_2 PAG2, obteniendo así el punto P P por interpolaciónEl valor de píxel de P.

Figura 1 Diagrama esquemático de la proyección de ojo de pez.

       Como se puede ver en la Figura 1, el mapeo desde la superficie esférica al plano de imagen tiene ciertas limitaciones, es decir, en realidad no podemos hacer una lente con una superficie esférica completa, por lo que no podemos obtener una imagen completa. 360 grados en una sola toma.Perspectiva. Sin embargo, no es difícil hacer una lente ojo de pez con un ángulo de visión superior a 180 grados. Si usamos una lente de este tipo, déjela orientada Y Y Tome una imagen en la dirección positiva del eje Y y luego muévala Z Z Z Rotación 180 grados, llegada por la mañana Y Y Y Tomamos otra imagen en la dirección negativa del eje, en teoría podemos obtener una imagen con un ángulo de visión de 360 ​​grados que cubre toda la superficie esférica. Esto es lo que hace la unión de imágenes de ojo de pez con múltiples ojos. Pero este método también tiene un defecto fatal, es decir, no podemos capturar imágenes panorámicas de escenas deportivas, porque las imágenes desde diferentes perspectivas en este método provienen de diferentes momentos. En este momento, podemos pensar fácilmente en utilizar dos cámaras ojo de pez con los mismos parámetros, enfrentadas Y Y Y está instalado en las direcciones positiva y negativa del eje. Después de la sincronización, parece que el contenido de la vista de 360 ​​​​grados se puede obtener al mismo tiempo. Pero el problema vuelve a surgir, porque los centros ópticos de las dos lentes ojo de pez no están en el mismo punto físico del espacio. Lo llamamos desplazamiento del centro óptico. Es decir, en realidad hay dos esferas en diferentes posiciones en la Figura 1. En algún lugar de la espacio Cuando dos puntos alcanzan las dos esferas a lo largo de la línea recta que pasa por el centro de la esfera, sus coordenadas de longitud y latitud relativas a los centros de las dos esferas son diferentes. Por lo tanto, no podemos copiar directamente el contenido de una esfera a otra, de lo contrario se producirá un espacio en la interfaz de las imágenes, lo que se conoce como paralaje, un problema que se manifiesta especialmente en las tomas de primeros planos. A menudo es difícil resolver perfectamente el problema del paralaje, y en la mayoría de los casos incluso imposible, porque el mapeo de un espacio físico tridimensional a un plano de imagen bidimensional es en sí mismo un proceso de pérdida de información. Por tanto, sólo podemos solucionar algunos problemas específicos. Por ejemplo, supongamos que lo que estamos fotografiando es todo sobre una superficie plana.

Figura 2 Diagrama esquemático de la corrección del desplazamiento del centro óptico.

       La Figura 2 muestra el proceso de corrección del desplazamiento del centro óptico de la lente ojo de pez basándose en la suposición del plano, haciendo referencia principalmente al software de código abierto Hugin El método utilizado y un resumen aproximado de sus principios mediante la lectura del código. Para facilitar la comprensión, esto se simplifica a un caso bidimensional y el principio también es aplicable al espacio tridimensional. Su punto O O O es la posición del centro óptico de la cámara principal, que es el origen del sistema de coordenadas físicas en la Figura 1. Punto P 1 P_1 PAG1 es la posición del centro óptico de la lente de la cámara secundaria, O P 1 OP_1 OP1 es el desplazamiento del centro óptico de las dos lentes. Tenga en cuenta el punto O O O 和点 P 1 P_1 PAG1La dirección del sistema de coordenadas establecido en O O O Es muy original.

       Supongamos que hay un punto de control (es decir, el punto utilizado para la optimización de parámetros) en la imagen de ojo de pez de la cámara secundaria, y sus coordenadas esféricas obtenidas después del mapeo inverso del modelo de proyección de ojo de pez son< a i= 1> P 2 P_2 PAG2, entonces el punto de proyección en perspectiva real correspondiente al punto de control debe ser P 3 P_3 PAG3 P 1 P_1 PAG1 Suma P 3 P_3 PAG3, pero no se puede conocer la distancia correspondiente. En este momento necesitamos algunas suposiciones, como asumir que en el punto P 0 P_0 PAG0Hay un plano en , como una pared, con la línea recta O P 0 OP_0 OP0Vertical, interior P 0 P_0 PAG0 Desde el punto O O O son las coordenadas de latitud y longitud conocidas en la esfera del centro de la esfera. Tenga en cuenta que no necesitamos saber la distancia real del avión. Cuando no hay ningún objeto bloqueando frente al plano, que es el primer plano, podemos saber P 3 P_3 PAG3 en realidad proviene de la línea recta P 1 P 3 P_1P_3 PAG1PAG3La intersección de y el plano P 5 P_5 PAG5, donde la recta P 1 P 3 P_1P_3 PAG1PAG3 O P 0 OP_0 OP0El ángulo entre no puede ser mayor o igual a 90 grados. De esta forma se puede obtener el punto P 5 P_5PAG5 Línea recta O P 5 OP_5 OP5 O O O El punto de intersección de la esfera con el centro de la esfera P P Las coordenadas de latitud y longitud de P.

       Basándonos en la similitud de los triángulos, tenemos

P 1 A = P 1 P 3 → T ⋅ P 1 P 4 → P 1 P 4 = O P 2 → T ⋅ O P 0 → O P 0 , (1) {P_1}A = \frac{ {O{P_0}}}, \etiqueta{1} {\overrightarrow {O{P_2}} }^T} \cdot \overrightarrow {O{P_0}} }}{ { {P_1}{P_4}}} = \frac{ {P_1}{P_4}} }}{ {P_1}{P_3}} }^T} \cdot \overrightarrow { {\overrightarrow { PAG1A=PAG1PAG4PAG1PAG3 tPAG1PAG4 =OP0OP2 tOP0 ,(1)

P 1 B = P 1 P 0 → T ⋅ P 1 P 4 → P 1 P 4 = ( O P 0 → − O P 1 → ) T ⋅ O P 0 → O P 0 , (2) {P_1}B =\frac{ {O{P_0}}}, \etiqueta{2} {\left( {\overrightarrow {O{P_0}} - \overrightarrow {O{P_1}} } \right)}^T} \cdot \overrightarrow {O{P_0}} } {} { {P_1}{P_4}}} = \frac{ {P_1}{P_4}} }}{ {P_1}{P_0}} }^T} \cdot \overrightarrow { {\overrightarrow { PAG1B=PAG1PAG4PAG1PAG0 tPAG1PAG4 =OP0(OP0 OP1 )tOP0 ,(2)

P 1 P 3 P 1 P 5 = P 1 A P 1 B ⇒ P 1 P 5 → = P 1 B P 1 A ⋅ P 1 P 3 → . (3) \frac{ {P_1}{P_3}} . \etiqueta{3} {P_1}A}} \cdot \overrightarrow { {P_1}B}}{ {P_1}{P_5}} = \frac{ {P_1}B}} \Rightarrow \overrightarrow { { {P_1}A}}{ { {P_1}{P_5}}} = \frac{ { {P_1}{P_3}}}{ PAG1PAG5PAG1PAG3=PAG1BPAG1APAG1PAG5 =PAG1APAG1BPAG1PAG3 .(3)

Entonces,

O P 5 → = O P 1 → + P 1 P 5 → = O P 1 → + P 1 B P 1 A ⋅ O P 2 → = O P 1 → + ( O P 0 → − O P 1 → ) T ⋅ O P 0 → O P 2 → T ⋅ O P 0 → ⋅ O P 2 → . (4) \overrightarrow {O{P_5}} = \overrightarrow {O{P_1}} + \overrightarrow { {P_1}{P_5}} = \overrightarrow {O{P_1}} + \frac{ { {P_1}B}}{ { {P_1}A}} \cdot \overrightarrow {O{P_2}} = \overrightarrow {O{P_1}} + \frac{ {\overrightarrow {O{P_2}} }^T} \cdot \overrightarrow {O{P_0}} }} \cdot \overrightarrow {O{P_2}} .\tag{4} { {\left( {\overrightarrow {O{P_0}} - \overrightarrow {O{P_1}} } \right)}^T} \cdot \overrightarrow {O{P_0}} } {} { OP5 =OP1 +PAG1PAG5 =OP1 +PAG1APAG1BOP2 =OP1 +OP2 tOP0 (OP0 OP1 )tOP0 OP2 .(4)

Del mismo modo, si sabemos P P P Desde O O O El punto son las coordenadas de longitud y latitud en la esfera con el centro de la esfera, luego el punto P 5 P_5 PAG5¿Dónde estás? P 1 P_1PAG1 El punto de proyección en perspectiva sobre la esfera cuyo punto es el centro de la esfera P 3 P_3 PAG3 向对于Punto P 1 P_1 PAG1las coordenadas son

O P 5 O P = O P 0 O P → T O P 0 → / O P 0 ⇒ O P → 5 = O P 0 2 O P → T O P 0 → O P → , (5) \frac{ {O{P_5}}}{ {OP}} = \frac{ {O{P_0}}}{ { { {\overrightarrow {OP} }^T}\overrightarrow {O{P_0}} /O{P_0}}} \Rightarrow {\overrightarrow {OP} _5} = \frac{ {OP_0^2}}{ {\overrightarrow {OP} }^T}\overrightarrow {O{P_0}} }}\overrightarrow {OP} ,\tag{5} { OPOP5=OP tOP0 /OP0OP0OP 5=OP tOP0 OP02OP ,(5)

P 1 P 5 → = O P 5 → − O P 1 → ⇒ O P 2 → = P 1 P 3 → = P 1 P 5 → / ∥ P 1 P 5 → ∥ . (6) \overrightarrow { {P_1}{P_5}} = \overrightarrow {O{P_5}} - \overrightarrow {O{P_1}} \Rightarrow \overrightarrow {O{P_2}} = \overrightarrow { {P_1}{P_3}} = \overrightarrow { {P_1}{P_5}} /\left\| {\overrightarrow { {P_1}{P_5}} } \right\|.\tag{6} PAG1PAG5 =OP5 OP1 OP2 =PAG1PAG3 =PAG1PAG5 /PAG1PAG5 .(6)

       La premisa de la hipótesis del plano es que todos los puntos provienen del mismo plano, por lo que no necesitamos saber la distancia real al plano (pero sí la orientación concreta), sin embargo, esto no siempre es cierto. Por el contrario, en muchas aplicaciones de escena es imposible tener un plano que pueda cubrir la mayor parte del campo de visión. Por lo tanto, este método es más adecuado para la unión multicámara de imágenes planas de gran superficie, como graffitis en paredes. Por supuesto, esto también es muy adecuado para estimar la distancia del centro óptico de las cámaras de ojo de pez de múltiples ojos, porque los puntos de control aparecen en los campos de visión superpuestos de cada lente, y esta parte del campo de visión es relativamente pequeña. Utilice un tablero de ajedrez para proporcionar una superficie lo suficientemente grande. Sin embargo, incluso si hemos obtenido una estimación relativamente precisa de la distancia al centro óptico, en la corrección de imágenes de ojo de pez real, si no podemos proporcionar el plano requerido, todavía es difícil evitar el paralaje debido a la complejidad de las fuentes de puntos espaciales.

Supongo que te gusta

Origin blog.csdn.net/qq_33552519/article/details/121039023
Recomendado
Clasificación