¡Súper detallado! Derivación de la matriz de homografía a la aplicación de la proyección de vista envolvente para la conducción autónoma

Autor | Zeal Editor | Computer Vision Life

Haga clic en la tarjeta a continuación para prestar atención a la cuenta pública " Automatic Driving Heart "

Productos secos ADAS Jumbo, puedes conseguirlo

Haga clic para ingresar → El corazón del piloto automático [Algoritmo de pila completa] Grupo de intercambio técnico

Contenido del texto

El objetivo principal de este artículo es presentar los principios de visión por computadora detrás de la proyección de vista envolvente en la conducción autónoma, que es el llamado mapa de vista de pájaro/vista de pájaro/BEV. La base teórica detrás de la proyección de vista envolvente es la Matriz de Homografía. Con el fin de establecer desde la intuición hasta la forma general, este artículo se expande a partir de los siguientes capítulos

En la primera sección, primero se especifican el sistema de coordenadas de la cámara y el sistema de coordenadas de la imagen, y se introduce el sistema de coordenadas del vehículo de uso común. Al mismo tiempo, se hace una breve introducción a las coordenadas homogéneas que se utilizan a menudo en la proyección de la cámara y, de paso, se revisa la ecuación de la proyección de la cámara.

La segunda sección introduce primero la matriz de homografía. Para un plano en un espacio y dos cámaras con poses diferentes, el vínculo entre la imagen del plano por parte de las dos cámaras es una matriz homográfica. Pero, ¿cómo derivar la forma específica de la matriz homográfica a partir de la relación entre cámaras? Esta sección deduce la expresión de la matriz homográfica desde dos ángulos de forma de especialización y forma de generalización.

La proyección envolvente es la transformación de los resultados de imágenes del suelo en múltiples direcciones a los resultados de imágenes de una cámara virtual ubicada sobre el vehículo y paralela al suelo. La tercera sección deduce en detalle el proceso de proyección en esta aplicación y la relación entre las matrices homográficas participantes de la cámara interna y externa.

La Sección 4 presenta cómo resolver la matriz de homografía mediante la coincidencia de pares de puntos sin conocer los parámetros internos y externos de la cámara.

Conocimientos básicos y definiciones relacionadas


Sistema de coordenadas de cámara y sistema de coordenadas de imagen

En la tarea general de la visión por computadora, estipulamos que el sistema de coordenadas de la cámara es la dirección positiva del eje óptico (que pasa por el origen de la cámara) hacia adelante, la derecha es y la parte inferior es para escalar los puntos en el espacio al plano normalizado, y el plano normalizado La definición del sistema de coordenadas también es similar al sistema de coordenadas de la cámara. Pero en la imagen, generalmente hacemos que la esquina superior izquierda de la imagen sea el origen de coordenadas, el eje horizontal es la dirección positiva hacia la derecha y el eje vertical es la dirección positiva, también llamado sistema de coordenadas de píxeles .

Como se muestra abajo

b534d5a07b31c27712f32594339d7fdd.png

sistema de coordenadas del vehículo

Generalmente estipulamos que el centro del eje horizontal de la rueda trasera del automóvil está en el suelo como el origen del sistema de coordenadas, la dirección positiva apunta hacia la parte delantera del automóvil y la dirección positiva del eje apunta hacia el izquierda del coche

f0940725705ffd166144bfae869df51d.png

Coordenada homogénea

Cuando rotamos y trasladamos un punto en un espacio tridimensional a otro punto, podemos usar la siguiente fórmula

donde es la matriz de rotación y es el vector de traslación

La fórmula anterior también se puede escribir en forma de coordenadas de puntos y luego usar la matriz de transformación para transformar las coordenadas de los puntos

Llamada matriz de transformación; esta forma también se llama Coordenada Homogénea

Nota : las coordenadas homogéneas en realidad tienen una definición estricta, la forma específica puede referirse a Wiki:Coordenada homogénea

De la misma manera, al hacer la transformación inversa de las coordenadas de los píxeles, se suele agregar un 1 después de las coordenadas de los píxeles para convertirlas en coordenadas homogéneas.

ecuación de proyección

Un punto en el espacio se proyecta a un punto en la imagen, registramos directamente este proceso como

Esto contiene una transformación de coordenadas homogéneas (,), pero no habrá ambigüedad en la comprensión

Matriz de homografía


En visión por computadora, los resultados de imágenes de dos cámaras para el mismo plano en el espacio se pueden mapear mediante una matriz de homografía (la diferencia es un coeficiente constante)

La otra son las coordenadas homogéneas de píxeles de la imagen 1 y las coordenadas homogéneas de píxeles del mismo punto en la imagen 2, entonces la oración anterior puede ser equivalente a la siguiente relación:

Los coeficientes en la fórmula (2-1) se utilizan para normalizar las coordenadas transformadas (escalar el valor de la tercera dimensión a 1)

Al mismo tiempo, cabe señalar que aunque la matriz homográfica tiene 9 elementos, pero solo 8 grados de libertad, se puede dividir por

A continuación estableceremos la relación entre la matriz de homografía y los parámetros internos y externos de la cámara a partir de una explicación visual y una derivación generalizada.

derivación de forma especial

Suponemos que hay un avión en el espacio, y dos cámaras toman imágenes de este avión en dos poses diferentes. Al mismo tiempo, hacemos que el eje Z del sistema de coordenadas mundiales () sea perpendicular al plano, y hacemos que el plano se ubique justo en el plano XY del sistema de coordenadas mundiales, de modo que la coordenada z$ del punto en este plano es igual a 0. Puede usar la siguiente figura para ayudar a entender

c28447202dfdac705612134c591cdd46.png

Al mismo tiempo, recordamos que la matriz de transformación del sistema de coordenadas mundo a la cámara es , y la matriz de transformación a la cámara es ; como referencia interna de las dos cámaras.

Ahora proyectamos un punto en el plano para obtener los puntos de píxel correspondientes en las imágenes captadas por las dos cámaras. El proceso de proyección tiene la forma

La fórmula anterior representa las columnas 0, 1 y 3 de las primeras 3 filas de la matriz de transformación. Por conveniencia notacional, denotaremos

De la misma manera, podemos obtener la ecuación de proyección similar de la imagen 2, la cual organizamos de la siguiente manera (Fórmula 2-2)

Tenga en cuenta que en la fórmula anterior, y el número de filas y columnas de la multiplicación de matrices en la fórmula anterior es correspondiente

Reorganizamos la fórmula anterior (2-2) y la escribimos en función de (Fórmula 2-3)

Sustituyendo (2-3) en la ecuación de la cámara 2 en (2-2)

Es solo para escalar el valor proyectado para que el valor del tercer elemento sea 1, por lo que los dos se pueden escribir como uno, y finalmente podemos obtener la siguiente fórmula (2-4)

Se puede ver que la forma de la fórmula (2-4) es la misma que la fórmula (2-1), y al mismo tiempo vincula la matriz de homografía con los parámetros internos y externos de la cámara.

La forma general de la relación entre la matriz de homografía y los parámetros internos y externos de la cámara.

En la sección anterior, establecimos una conexión formulaica y una comprensión intuitiva de la relación entre la matriz de homografía y los parámetros internos y externos de la cámara. De la derivación en la sección anterior, se puede ver que para un plano rápido en el espacio, existe una matriz (8 grados de libertad) que vincula los resultados de las imágenes de las dos cámaras en este plano.

En la subsección anterior, asumimos que el sistema mundial de coordenadas está alineado con el plano de la imagen. Continuamos derivando expresiones más generales en esta sección. El contenido de esta sección se refiere principalmente a Wiki: Homografía (visión por computadora)

Dado que, en general, todos conocemos los parámetros externos de la cámara (es decir, la relación de transformación del sistema de coordenadas del mundo al sistema de coordenadas de la cámara), por lo que en esta sección no asumimos que el sistema de coordenadas del plano está alineado con el sistema de coordenadas universales, asumimos que el plano está en la cámara El vector normal de abajo es , la distancia del plano a la cámara es , y para la dirección del vector normal, hacemos las siguientes provisiones: Para un punto en el plano, satisfacer, donde está la proyección del punto al vector normal

a184afa2444c3c0526d79f561147e183.png

Suponiendo que los parámetros extrínsecos de la cámara son, los parámetros extrínsecos de la cámara son, a partir de la naturaleza de la matriz de transformación, podemos obtener la fórmula (2-5)

Entonces, la matriz de transformación de la cámara 1 a la cámara 2 es la fórmula (2-6)

Según la relación de proyección de la cámara, tenemos la fórmula (2-7)

Fórmula (2-8)

También son las coordenadas del punto en los dos sistemas de coordenadas de la cámara, y estos dos puntos se pueden relacionar con la siguiente fórmula de transformación (2-9)

Combinando (2-7) a (2-9), podemos derivar la fórmula (2-10)

Para el plano, hemos tomado las siguientes disposiciones: en el sistema de coordenadas de la cámara, para el punto en el plano, satisfaga, donde es la proyección desde el punto al vector normal. Es decir, fórmula (2-11)

Poner (2-11) en la fórmula (2-10) puede obtener la fórmula (2-12)

Sustituyendo (2-12) en la fórmula (2-10), podemos obtener la fórmula (2-13)

Por lo tanto, podemos obtener la fórmula de expresión de la matriz homográfica (2-14)

Si desarrollamos la forma de y, es decir, la fórmula (2-6), entonces podemos obtener la fórmula (2-15)


En este documento Optimización de pose de cámara en línea para el sistema de vista envolvente, la derivación de la fórmula en el capítulo sobre la proyección del plano de tierra de la vista envolvente es muy detallada, y es muy bueno para aprender como teoría básica.

Proyección de vista envolvente/BEV

concepto basico

Del artículo anterior, podemos concluir que para un plano en el espacio, las imágenes captadas por cámaras de diferentes poses pueden transformarse en diferentes imágenes a través de la matriz homográfica. Para los vehículos autónomos, múltiples cámaras (generalmente 4 o más) alrededor del vehículo capturarán simultáneamente el suelo. Al mismo tiempo, podemos suponer que hay una cámara virtual directamente encima del vehículo y disparando. De esta forma, la cámara alrededor del coche se puede proyectar a la cámara virtual según la matriz de homografía correspondiente al plano de tierra para obtener la llamada vista de pájaro/bird's-eye view, que es BEV (Bird Eye View )

Ilustración


15f15bf51b35ec78d1c12f881a5aa8c3.pngLa imagen de arriba es el sistema de coordenadas del suelo, que es un poco diferente del sistema de coordenadas del vehículo explicado en la primera sección, principalmente por la conveniencia de derivar fórmulas más adelante. En la práctica, solo es necesario calcular simplemente la matriz de transformación del sistema de coordenadas del suelo y el sistema de coordenadas del vehículo en la figura de acuerdo con los parámetros de la carrocería del vehículo.

La figura anterior es el sistema de coordenadas de la imagen, con la esquina superior izquierda como origen de coordenadas y los valores de coordenadas horizontales y verticales del píxel. Es el rango de proyección de la imagen de proyección del plano de tierra que queremos obtener, y la unidad es el metro. A su vez, dejamos que sea el tamaño del cuadrado real correspondiente a cada píxel de la imagen, y la unidad también está en metros


Proyección del punto del plano de tierra a la cámara

Suponiendo que hay 4 cámaras alrededor del automóvil, la relación de pose entre las 4 cámaras y el sistema de coordenadas terrestres es

Para un punto en un sistema de coordenadas terrestres, las coordenadas de píxeles de la imagen proyectadas en la cámara a través de la ecuación de proyección tienen la siguiente relación:

Luego, las coordenadas de píxeles correspondientes en la cámara son la fórmula (3-1)

Es el parámetro interno de la cámara, y es el factor de zoom.Asegúrese de que el valor de la última tercera dimensión es 1, es decir, tiene la siguiente forma: . Además, tenga en cuenta que (3-1) contiene una transformación de coordenadas homogéneas.

Ahora suponga que la coordenada del eje del punto es 0, es decir, el punto está en el suelo, entonces la expansión anterior se convertirá en

Podemos reescribir la fórmula (3-1) como fórmula (3-3)

en

Representa las primeras tres filas de la matriz de transformación, columnas 0, 1 y 3

La fórmula (3-3) es en realidad la fórmula (2-2) derivada en la segunda sección

Proyección de cámara virtual a nivel del suelo

Según la figura anterior, supongamos que queremos proyectar el área del suelo centrada en el origen del sistema de coordenadas del suelo. Al mismo tiempo, esperamos que la resolución de píxeles después de la proyección sea un cuadrado de tierra con un píxel correspondiente al eje horizontal y el eje largo a la longitud. (PD: De hecho, la definición de la distancia focal de la cámara es el tamaño real correspondiente a cada píxel, y la unidad de la distancia focal es) . Para la proyección del plano del suelo, podemos suponer que hay una cámara virtual ubicada a 1 metro sobre el suelo, tal que ,,. Podemos escribir la fórmula (3-4) de la siguiente forma

La fórmula anterior se puede escribir en forma de matriz, la registramos como matriz en la fórmula anterior (la referencia interna de la cámara virtual) fórmula (3-5)

La fórmula simultánea (3-3) y la fórmula (3-5) se pueden escribir como la siguiente fórmula fórmula (3-6)

Entre ellos, el coeficiente es solo para normalizar la última dimensión de , no se requiere una forma específica.

Estimación directa de la matriz de homografía para proyección lookaround


Además de derivar la matriz de proyección de la cámara alrededor del automóvil al plano del suelo directamente de los parámetros internos y externos de la cámara según la derivación de la Sección 3, también es posible estimar directamente la matriz de homografía seleccionando puntos manualmente. Esto es básicamente similar a la tarea de corrección de perspectiva (Corrección de perspectiva). La llamada corrección de perspectiva significa que para diferentes resultados de imágenes (dos imágenes) del mismo plano, seleccionamos los puntos correspondientes en las dos imágenes para construir el conjunto de puntos correspondiente, de acuerdo con la definición de la matriz de homografía.

Podemos resolver la matriz de homografía a partir del conjunto de puntos correspondiente. Dado que en la segunda sección sabemos que el grado de libertad real de la matriz homográfica es 8, y un par de puntos correspondiente puede construir dos ecuaciones de restricción (), necesitamos un total de al menos 4 pares de puntos para resolver la matriz homográfica. .

gráfico de muestra

O para ilustrar con el boceto anterior.

8ed98adb889517623bc1f081bd7fc3e0.png

En la figura de arriba, dos cámaras captan la imagen del mismo plano y obtienen dos imágenes. Hay una correspondencia uno a uno entre los cuatro puntos en las dos imágenes, recuerda estos pares de puntos como, entonces podemos establecer la ecuación

Es decir, fórmula (4-1)

Resolución de homografía

La fórmula (4-1) se puede resolver por el método de mínimos cuadrados, o el método de mínimos cuadrados + RANSAC y otros algoritmos, y el objetivo de optimización es:

Esta parte de la solución puede usar la función de OpenCV OpenCV:findHomography

Resolviendo la matriz de homografía de proyección de mirada alrededor

En la proyección de vista envolvente, necesitamos algunos objetos de calibración adicionales para resolver la matriz de homografía. El principio principal es que escribimos las coordenadas en el suelo y las coordenadas en la imagen simultáneamente en forma de fórmula (4-1), y luego llamamos a la interfaz para calcular la matriz homográfica. Las coordenadas en la imagen se pueden seleccionar manualmente o mediante algunos programas de detección de esquinas.

30634773ff3f6c6402b0078cccdaa93b.png

La imagen de arriba se cita de: https://www.guyuehome.com/39649

Los cuatro puntos 0, 1, 2 y 3 en la imagen de arriba son puntos seleccionados en la imagen, por lo que se conoce el valor del píxel. Al mismo tiempo, podemos obtener los valores de píxeles equivalentes de estos cuatro puntos en el BEV calibrando las propiedades geométricas de la tela y la resolución de la imagen de proyección que establecemos de antemano, por lo que podemos resolver la ecuación (4- 1) para obtener la matriz de homografía

Otras aplicaciones de las matrices homográficas


La matriz de homografía también se puede usar para resolver la pose de la placa de calibración del plano, la costura panorámica y otras aplicaciones.Este tutorial de OpenCV está escrito con gran detalle, por lo que no entraré en detalles aquí.

Referencias


  1. Wiki:Homography_(computer_vision)

  2. OpenCV:findHomography

  3. Gu Yueju: Introducción al método de costura de vista envolvente AVM

  4. OpenCV:Conceptos básicos de la homografía explicados con código

(1) ¡El video curso está aquí!

El corazón de la conducción autónoma reúne fusión de visión de radar de ondas milimétricas, mapas de alta precisión, percepción BEV, calibración multisensor, despliegue de sensores, percepción cooperativa de conducción autónoma, segmentación semántica, simulación de conducción autónoma, percepción L4, planificación de decisiones, predicción de trayectoria , etc. Videos de aprendizaje en cada dirección, bienvenido a tomarlo usted mismo (escanee el código para ingresar al aprendizaje)

1a00ea7fd5b12aed9266da058b56d3f9.png

(Escanea el código para conocer el último video)

Sitio web oficial del vídeo: www.zdjszx.com

(2) La primera comunidad de aprendizaje de conducción autónoma en China

Una comunidad de comunicación de casi 1,000 personas y más de 20 rutas de aprendizaje de pila de tecnología de conducción autónoma, desea obtener más información sobre la percepción de conducción autónoma (clasificación, detección, segmentación, puntos clave, líneas de carril, detección de objetos 3D, Ocupación, fusión de sensores múltiples, seguimiento de objetos, estimación de flujo óptico, predicción de trayectoria), posicionamiento y mapeo de conducción automática (SLAM, mapa de alta precisión), planificación y control de conducción automática, soluciones técnicas de campo, implementación de implementación de modelos de IA, tendencias de la industria, publicaciones de trabajo, bienvenido a escanear el Código QR a continuación, Únase al planeta del conocimiento del corazón de la conducción autónoma, este es un lugar con productos secos reales, intercambie varios problemas para comenzar, estudiar, trabajar y cambiar de trabajo con los grandes en el campo, comparta papeles + códigos + videos diarios , esperamos el intercambio!

eece99f64cc4b229a4afff7bed9228ad.jpeg

(3) [ Corazón de la conducción automatizada ] Grupo de intercambio de tecnología de pila completa

El corazón de la conducción autónoma es la primera comunidad de desarrolladores para la conducción autónoma, que se centra en la detección de objetos, la segmentación semántica, la segmentación panorámica, la segmentación de instancias, la detección de puntos clave, las líneas de carril, el seguimiento de objetos, la detección de objetos en 3D, la percepción de BEV, la fusión de sensores múltiples, SLAM, estimación de flujo de luz, estimación de profundidad, predicción de trayectoria, mapa de alta precisión, NeRF, control de planificación, implementación de modelos, prueba de simulación de conducción automática, administrador de productos, configuración de hardware, búsqueda de trabajo y comunicación de IA, etc.;

1a23bd42cd61d953e5c82869c554684b.jpeg

Agregue la invitación de Autobot Assistant Wechat para unirse al grupo

Observaciones: escuela/empresa + dirección + apodo

Supongo que te gusta

Origin blog.csdn.net/CV_Autobot/article/details/131255859
Recomendado
Clasificación